Vous ne pouvez pas sélectionner plus de 25 sujets Les noms de sujets doivent commencer par une lettre ou un nombre, peuvent contenir des tirets ('-') et peuvent comporter jusqu'à 35 caractères.

7589 lignes
5.0MB

  1. <!DOCTYPE html>
  2. <html>
  3. <meta charset="utf-8">
  4. <head>
  5. <style>
  6. #canvas
  7. {
  8. background-color: black;
  9. /*
  10. Emscripten canvas must have NO BORDER / PADDING for correct mouse position
  11. */
  12. border: 0 none;
  13. width: 100%;
  14. height: 100%;
  15. }
  16. #output
  17. {
  18. border: 0 none;
  19. width: 100%;
  20. height: 100%;
  21. }
  22. #render
  23. {
  24. border: 0 none;
  25. }
  26. body, html
  27. {
  28. height: 100%;
  29. margin: 0;
  30. }
  31. .hhalf
  32. {
  33. width: 100%;
  34. height: 50%;
  35. position: fixed;
  36. }
  37. .vhalf
  38. {
  39. width: 50%;
  40. height: 100%;
  41. position: fixed;
  42. }
  43. .top
  44. {
  45. top: 0;
  46. }
  47. .bottom
  48. {
  49. bottom: 0;
  50. }
  51. .left
  52. {
  53. left: 0;
  54. }
  55. .right
  56. {
  57. right: 0;
  58. }
  59. .full
  60. {
  61. width: 100%;
  62. height: 100%;
  63. position: fixed;
  64. }
  65. #header
  66. {
  67. background-color: #333366;
  68. width: 100%;
  69. height: 1em;
  70. padding: 0.5em;
  71. }
  72. #header a
  73. {
  74. color: white;
  75. text-decoration: none;
  76. padding-right: 2em;
  77. /*
  78. padding: 1.5em 1em 1.5em 1em;
  79. */
  80. }
  81. #editor
  82. {
  83. width: 100%;
  84. height: calc(100% - 2.5em);
  85. }
  86. </style>
  87. </head>
  88. <body>
  89. <!-- Reusable -->
  90. <script type="text/javascript">
  91. // Topic: Create GUID / UUID in JavaScript?
  92. // Source: https://stackoverflow.com/a/2117523
  93. function generateUUID()
  94. {
  95. return 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(
  96. /[xy]/g,
  97. function(c)
  98. {
  99. var r = Math.random() * 16 | 0, v = c == 'x' ? r : (r & 0x3 | 0x8);
  100. return v.toString(16);
  101. }
  102. );
  103. }
  104. // ReporterSubscription class.
  105. function ReporterSubscription(id, callback, reporter)
  106. {
  107. this.id = id;
  108. this.callback = callback;
  109. this.reporter = reporter;
  110. }
  111. // Reporter class.
  112. function Reporter(name)
  113. {
  114. this.name =
  115. (typeof name !== "undefined") ?
  116. name :
  117. "";
  118. this.subscriptions = [];
  119. }
  120. Reporter.prototype.report = function()
  121. {
  122. for (var id in this.subscriptions)
  123. {
  124. var subscription = this.subscriptions[id];
  125. subscription.callback();
  126. }
  127. }
  128. Reporter.prototype.subscribe = function(callback)
  129. {
  130. var id = generateUUID();
  131. var subscription = new ReporterSubscription(id, callback, this);
  132. this.subscriptions.push(subscription);
  133. return subscription;
  134. }
  135. // Topic: JavaScript equivalent to printf/String.Format
  136. // SRC: https://stackoverflow.com/a/4673436
  137. function formatString()
  138. {
  139. // Topic: How to shift “arguments”?
  140. // SRC: https://stackoverflow.com/questions/4775895/how-to-shift-arguments
  141. var args = Array.prototype.slice.call(arguments);
  142. var str = args.shift();
  143. return str.replace(/{(\d+)}/g, function(match, number) {
  144. return typeof args[number] != 'undefined'
  145. ? args[number]
  146. : match
  147. ;
  148. });
  149. };
  150. // Clear browser cache.
  151. var output = document.getElementById('output');
  152. if (output)
  153. {
  154. output.value = '';
  155. }
  156. function LOG(message)
  157. {
  158. console.log(message);
  159. var log = document.getElementById("output");
  160. if (log)
  161. {
  162. log.value += message + "\n";
  163. }
  164. }
  165. </script>
  166. <!-- Tool -->
  167. <script type="text/javascript">
  168. function Tool()
  169. {
  170. var self = this;
  171. this.fileName = "murom_1.0.0.html";
  172. this.run = new Reporter();
  173. this.preview = new Reporter();
  174. this.logTranslations = {};
  175. }
  176. Tool.prototype.setupUI = function()
  177. {
  178. var self = this;
  179. this.LOG("Tool.setupUI");
  180. this.parameters = { };
  181. this.parseArguments();
  182. for (var key in this.parameters)
  183. {
  184. const value = this.parameters[key];
  185. this.LOG("Parameter key: '" + key + "' value: '" + value + "'");
  186. }
  187. this.setupMode();
  188. if (this.mode == "preview")
  189. {
  190. this.setupPreviewUI();
  191. }
  192. if (this.mode == "debug")
  193. {
  194. this.setupDebugUI();
  195. }
  196. if (this.mode == "editor")
  197. {
  198. this.setupEditorUI();
  199. }
  200. }
  201. Tool.prototype.setupDeps = function()
  202. {
  203. var self = this;
  204. this.LOG("Tool.setupDeps");
  205. if (this.mode == "editor")
  206. {
  207. var self = this;
  208. this.setupEditorMode();
  209. this.run.subscribe(function(){
  210. self.runEditorScript();
  211. });
  212. this.preview.subscribe(function(){
  213. self.previewEditorScript();
  214. });
  215. }
  216. }
  217. Tool.prototype.setupGotov = function()
  218. {
  219. var self = this;
  220. this.LOG("Tool.setupGotov");
  221. if (this.mode == "debug")
  222. {
  223. this.setupDebugMode();
  224. }
  225. if (this.mode == "preview")
  226. {
  227. this.setupPreviewMode();
  228. }
  229. }
  230. Tool.prototype.LOG = function()
  231. {
  232. var args = Array.prototype.slice.call(arguments);
  233. var translationKey = args.shift();
  234. var message = "";
  235. if (translationKey in this.logTranslations)
  236. {
  237. args.unshift(this.logTranslations[translationKey]);
  238. // Topic: Converting an array to a function arguments list
  239. // SRC: https://stackoverflow.com/a/1316389
  240. message = formatString.apply(null, args);
  241. }
  242. else
  243. {
  244. message = translationKey + " " + args.join(" ");
  245. }
  246. LOG(message);
  247. }
  248. Tool.prototype.executeScript = function()
  249. {
  250. const zb64 = this.parameters["zipbase64"];
  251. if (zb64)
  252. {
  253. const script = zipBase64Decode(zb64);
  254. eval(script);
  255. }
  256. }
  257. Tool.prototype.parseArguments = function()
  258. {
  259. const query = window.location.search.substring(1);
  260. if (!query.length)
  261. {
  262. return;
  263. }
  264. const args = query.split("&");
  265. for (var id = 0; id < args.length; ++id)
  266. {
  267. const arg = args[id];
  268. const signIndex = arg.indexOf("=");
  269. const rawKey = arg.slice(0, signIndex);
  270. const rawValue = arg.slice(signIndex + 1);
  271. const key = decodeURIComponent(rawKey);
  272. const value = decodeURIComponent(rawValue);
  273. this.parameters[key] = value;
  274. }
  275. }
  276. Tool.prototype.setupMode = function()
  277. {
  278. const mode = this.parameters["mode"];
  279. if (mode)
  280. {
  281. if (mode == "debug")
  282. {
  283. this.mode = "debug";
  284. return;
  285. }
  286. else if (mode == "preview")
  287. {
  288. this.mode = "preview";
  289. return;
  290. }
  291. }
  292. this.mode = "editor";
  293. }
  294. Tool.prototype.setupDebugMode = function()
  295. {
  296. this.LOG("Setup debug mode");
  297. this.executeScript();
  298. }
  299. Tool.prototype.setupDebugUI = function()
  300. {
  301. document.body.innerHTML =
  302. '<div id="canvasContainer" class="hhalf top">' +
  303. '<canvas id="canvas" oncontextmenu="event.preventDefault()"></canvas>' +
  304. '</div>' +
  305. '<div id="outputContainer" class="hhalf bottom">' +
  306. '<textarea id="output" rows="8"></textarea>' +
  307. '</div>'
  308. ;
  309. }
  310. Tool.prototype.setupPreviewMode = function()
  311. {
  312. this.LOG("Setup preview mode");
  313. this.executeScript();
  314. }
  315. Tool.prototype.setupPreviewUI = function()
  316. {
  317. document.body.innerHTML =
  318. '<div id="canvasContainer" class="full">' +
  319. '<canvas id="canvas" oncontextmenu="event.preventDefault()"></canvas>' +
  320. '</div>'
  321. ;
  322. }
  323. Tool.prototype.setupEditorMode = function()
  324. {
  325. this.LOG("Setup editor mode");
  326. // Initialize ACE editor.
  327. this.editor = window.ace.edit("editor");
  328. // Set JavaScript language.
  329. this.editor.session.setMode("ace/mode/javascript");
  330. // Display script.
  331. const zb64 = this.parameters["zipbase64"];
  332. if (zb64)
  333. {
  334. const script = zipBase64Decode(zb64);
  335. this.editor.session.setValue(script);
  336. }
  337. this.loadIFrame(zb64);
  338. }
  339. Tool.prototype.setupEditorUI = function()
  340. {
  341. document.body.innerHTML =
  342. '<div class="vhalf left">' +
  343. '<div id="header">' +
  344. '<a id="run" href="javascript:window.muromTool.run.report()"><strong>МУРОМ</strong></a>' +
  345. '<a id="run" href="javascript:window.muromTool.preview.report()">Просмотр</a>' +
  346. '</div>' +
  347. '<div id="editor"></div>' +
  348. '</div>' +
  349. '<div class="vhalf right">' +
  350. '<iframe id="render" class="vhalf">' +
  351. '<p>ERROR Your web browser does not support iframes</p>' +
  352. '</iframe>' +
  353. '</div>'
  354. ;
  355. }
  356. Tool.prototype.runEditorScript = function()
  357. {
  358. this.LOG("runEditorScript");
  359. const script = this.editor.session.getValue();
  360. const zb64 = zipBase64Encode(script);
  361. // Update 'zipbase64' argument value each time script is 'run'.
  362. var path = window.location.pathname + "?zipbase64=" + zb64;
  363. history.pushState(null, "", path);
  364. this.loadIFrame(zb64);
  365. }
  366. Tool.prototype.previewEditorScript = function()
  367. {
  368. const script = this.editor.session.getValue();
  369. const zb64 = zipBase64Encode(script);
  370. const url = this.fileName + "?mode=preview&zipbase64=" + zb64;
  371. window.open(url, '_blank');
  372. }
  373. Tool.prototype.loadIFrame = function(zipBase64Script)
  374. {
  375. this.LOG("loadIFrame");
  376. var render = document.getElementById("render");
  377. var url = this.fileName + "?mode=debug";
  378. // Pass script to iframe if it's present.
  379. if (zipBase64Script)
  380. {
  381. url += "&zipbase64=" + zipBase64Script;
  382. }
  383. render.src = url;
  384. }
  385. window.muromTool = new Tool();
  386. window.muromTool.setupUI();
  387. </script>
  388. <!-- External -->
  389. <script type="text/javascript">
  390. if (window.muromTool.mode == "editor")
  391. {
  392. (function(){function o(n){var i=e;n&&(e[n]||(e[n]={}),i=e[n]);if(!i.define||!i.define.packaged)t.original=i.define,i.define=t,i.define.packaged=!0;if(!i.require||!i.require.packaged)r.original=i.require,i.require=r,i.require.packaged=!0}var ACE_NAMESPACE = "ace",e=function(){return this}();!e&&typeof window!="undefined"&&(e=window);if(!ACE_NAMESPACE&&typeof requirejs!="undefined")return;var t=function(e,n,r){if(typeof e!="string"){t.original?t.original.apply(this,arguments):(console.error("dropping module because define wasn't a string."),console.trace());return}arguments.length==2&&(r=n),t.modules[e]||(t.payloads[e]=r,t.modules[e]=null)};t.modules={},t.payloads={};var n=function(e,t,n){if(typeof t=="string"){var i=s(e,t);if(i!=undefined)return n&&n(),i}else if(Object.prototype.toString.call(t)==="[object Array]"){var o=[];for(var u=0,a=t.length;u<a;++u){var f=s(e,t[u]);if(f==undefined&&r.original)return;o.push(f)}return n&&n.apply(null,o)||!0}},r=function(e,t){var i=n("",e,t);return i==undefined&&r.original?r.original.apply(this,arguments):i},i=function(e,t){if(t.indexOf("!")!==-1){var n=t.split("!");return i(e,n[0])+"!"+i(e,n[1])}if(t.charAt(0)=="."){var r=e.split("/").slice(0,-1).join("/");t=r+"/"+t;while(t.indexOf(".")!==-1&&s!=t){var s=t;t=t.replace(/\/\.\//,"/").replace(/[^\/]+\/\.\.\//,"")}}return t},s=function(e,r){r=i(e,r);var s=t.modules[r];if(!s){s=t.payloads[r];if(typeof s=="function"){var o={},u={id:r,uri:"",exports:o,packaged:!0},a=function(e,t){return n(r,e,t)},f=s(a,o,u);o=f||u.exports,t.modules[r]=o,delete t.payloads[r]}s=t.modules[r]=o||s}return s};o(ACE_NAMESPACE)})(),ace.define("ace/lib/regexp",["require","exports","module"],function(e,t,n){"use strict";function o(e){return(e.global?"g":"")+(e.ignoreCase?"i":"")+(e.multiline?"m":"")+(e.extended?"x":"")+(e.sticky?"y":"")}function u(e,t,n){if(Array.prototype.indexOf)return e.indexOf(t,n);for(var r=n||0;r<e.length;r++)if(e[r]===t)return r;return-1}var r={exec:RegExp.prototype.exec,test:RegExp.prototype.test,match:String.prototype.match,replace:String.prototype.replace,split:String.prototype.split},i=r.exec.call(/()??/,"")[1]===undefined,s=function(){var e=/^/g;return r.test.call(e,""),!e.lastIndex}();if(s&&i)return;RegExp.prototype.exec=function(e){var t=r.exec.apply(this,arguments),n,a;if(typeof e=="string"&&t){!i&&t.length>1&&u(t,"")>-1&&(a=RegExp(this.source,r.replace.call(o(this),"g","")),r.replace.call(e.slice(t.index),a,function(){for(var e=1;e<arguments.length-2;e++)arguments[e]===undefined&&(t[e]=undefined)}));if(this._xregexp&&this._xregexp.captureNames)for(var f=1;f<t.length;f++)n=this._xregexp.captureNames[f-1],n&&(t[n]=t[f]);!s&&this.global&&!t[0].length&&this.lastIndex>t.index&&this.lastIndex--}return t},s||(RegExp.prototype.test=function(e){var t=r.exec.call(this,e);return t&&this.global&&!t[0].length&&this.lastIndex>t.index&&this.lastIndex--,!!t})}),ace.define("ace/lib/es5-shim",["require","exports","module"],function(e,t,n){function r(){}function w(e){try{return Object.defineProperty(e,"sentinel",{}),"sentinel"in e}catch(t){}}function H(e){return e=+e,e!==e?e=0:e!==0&&e!==1/0&&e!==-1/0&&(e=(e>0||-1)*Math.floor(Math.abs(e))),e}function B(e){var t=typeof e;return e===null||t==="undefined"||t==="boolean"||t==="number"||t==="string"}function j(e){var t,n,r;if(B(e))return e;n=e.valueOf;if(typeof n=="function"){t=n.call(e);if(B(t))return t}r=e.toString;if(typeof r=="function"){t=r.call(e);if(B(t))return t}throw new TypeError}Function.prototype.bind||(Function.prototype.bind=function(t){var n=this;if(typeof n!="function")throw new TypeError("Function.prototype.bind called on incompatible "+n);var i=u.call(arguments,1),s=function(){if(this instanceof s){var e=n.apply(this,i.concat(u.call(arguments)));return Object(e)===e?e:this}return n.apply(t,i.concat(u.call(arguments)))};return n.prototype&&(r.prototype=n.prototype,s.prototype=new r,r.prototype=null),s});var i=Function.prototype.call,s=Array.prototype,o=Object.prototype,u=s.slice,a=i.bind(o.toString),f=i.bind(o.hasOwnProperty),l,c,h,p,d;if(d=f(o,"__defineGetter__"))l=i.bind(o.__defineGetter__),c=i.bind(o.__defineSetter__),h=i.bind(o.__lookupGetter__),p=i.bind(o.__lookupSetter__);if([1,2].splice(0).length!=2)if(!function(){function e(e){var t=new Array(e+2);return t[0]=t[1]=0,t}var t=[],n;t.splice.apply(t,e(20)),t.splice.apply(t,e(26)),n=t.length,t.splice(5,0,"XXX"),n+1==t.length;if(n+1==t.length)return!0}())Array.prototype.splice=function(e,t){var n=this.length;e>0?e>n&&(e=n):e==void 0?e=0:e<0&&(e=Math.max(n+e,0)),e+t<n||(t=n-e);var r=this.slice(e,e+t),i=u.call(arguments,2),s=i.length;if(e===n)s&&this.push.apply(this,i);else{var o=Math.min(t,n-e),a=e+o,f=a+s-o,l=n-a,c=n-o;if(f<a)for(var h=0;h<l;++h)this[f+h]=this[a+h];else if(f>a)for(h=l;h--;)this[f+h]=this[a+h];if(s&&e===c)this.length=c,this.push.apply(this,i);else{this.length=c+s;for(h=0;h<s;++h)this[e+h]=i[h]}}return r};else{var v=Array.prototype.splice;Array.prototype.splice=function(e,t){return arguments.length?v.apply(this,[e===void 0?0:e,t===void 0?this.length-e:t].concat(u.call(arguments,2))):[]}}Array.isArray||(Array.isArray=function(t){return a(t)=="[object Array]"});var m=Object("a"),g=m[0]!="a"||!(0 in m);Array.prototype.forEach||(Array.prototype.forEach=function(t){var n=F(this),r=g&&a(this)=="[object String]"?this.split(""):n,i=arguments[1],s=-1,o=r.length>>>0;if(a(t)!="[object Function]")throw new TypeError;while(++s<o)s in r&&t.call(i,r[s],s,n)}),Array.prototype.map||(Array.prototype.map=function(t){var n=F(this),r=g&&a(this)=="[object String]"?this.split(""):n,i=r.length>>>0,s=Array(i),o=arguments[1];if(a(t)!="[object Function]")throw new TypeError(t+" is not a function");for(var u=0;u<i;u++)u in r&&(s[u]=t.call(o,r[u],u,n));return s}),Array.prototype.filter||(Array.prototype.filter=function(t){var n=F(this),r=g&&a(this)=="[object String]"?this.split(""):n,i=r.length>>>0,s=[],o,u=arguments[1];if(a(t)!="[object Function]")throw new TypeError(t+" is not a function");for(var f=0;f<i;f++)f in r&&(o=r[f],t.call(u,o,f,n)&&s.push(o));return s}),Array.prototype.every||(Array.prototype.every=function(t){var n=F(this),r=g&&a(this)=="[object String]"?this.split(""):n,i=r.length>>>0,s=arguments[1];if(a(t)!="[object Function]")throw new TypeError(t+" is not a function");for(var o=0;o<i;o++)if(o in r&&!t.call(s,r[o],o,n))return!1;return!0}),Array.prototype.some||(Array.prototype.some=function(t){var n=F(this),r=g&&a(this)=="[object String]"?this.split(""):n,i=r.length>>>0,s=arguments[1];if(a(t)!="[object Function]")throw new TypeError(t+" is not a function");for(var o=0;o<i;o++)if(o in r&&t.call(s,r[o],o,n))return!0;return!1}),Array.prototype.reduce||(Array.prototype.reduce=function(t){var n=F(this),r=g&&a(this)=="[object String]"?this.split(""):n,i=r.length>>>0;if(a(t)!="[object Function]")throw new TypeError(t+" is not a function");if(!i&&arguments.length==1)throw new TypeError("reduce of empty array with no initial value");var s=0,o;if(arguments.length>=2)o=arguments[1];else do{if(s in r){o=r[s++];break}if(++s>=i)throw new TypeError("reduce of empty array with no initial value")}while(!0);for(;s<i;s++)s in r&&(o=t.call(void 0,o,r[s],s,n));return o}),Array.prototype.reduceRight||(Array.prototype.reduceRight=function(t){var n=F(this),r=g&&a(this)=="[object String]"?this.split(""):n,i=r.length>>>0;if(a(t)!="[object Function]")throw new TypeError(t+" is not a function");if(!i&&arguments.length==1)throw new TypeError("reduceRight of empty array with no initial value");var s,o=i-1;if(arguments.length>=2)s=arguments[1];else do{if(o in r){s=r[o--];break}if(--o<0)throw new TypeError("reduceRight of empty array with no initial value")}while(!0);do o in this&&(s=t.call(void 0,s,r[o],o,n));while(o--);return s});if(!Array.prototype.indexOf||[0,1].indexOf(1,2)!=-1)Array.prototype.indexOf=function(t){var n=g&&a(this)=="[object String]"?this.split(""):F(this),r=n.length>>>0;if(!r)return-1;var i=0;arguments.length>1&&(i=H(arguments[1])),i=i>=0?i:Math.max(0,r+i);for(;i<r;i++)if(i in n&&n[i]===t)return i;return-1};if(!Array.prototype.lastIndexOf||[0,1].lastIndexOf(0,-3)!=-1)Array.prototype.lastIndexOf=function(t){var n=g&&a(this)=="[object String]"?this.split(""):F(this),r=n.length>>>0;if(!r)return-1;var i=r-1;arguments.length>1&&(i=Math.min(i,H(arguments[1]))),i=i>=0?i:r-Math.abs(i);for(;i>=0;i--)if(i in n&&t===n[i])return i;return-1};Object.getPrototypeOf||(Object.getPrototypeOf=function(t){return t.__proto__||(t.constructor?t.constructor.prototype:o)});if(!Object.getOwnPropertyDescriptor){var y="Object.getOwnPropertyDescriptor called on a non-object: ";Object.getOwnPropertyDescriptor=function(t,n){if(typeof t!="object"&&typeof t!="function"||t===null)throw new TypeError(y+t);if(!f(t,n))return;var r,i,s;r={enumerable:!0,configurable:!0};if(d){var u=t.__proto__;t.__proto__=o;var i=h(t,n),s=p(t,n);t.__proto__=u;if(i||s)return i&&(r.get=i),s&&(r.set=s),r}return r.value=t[n],r}}Object.getOwnPropertyNames||(Object.getOwnPropertyNames=function(t){return Object.keys(t)});if(!Object.create){var b;Object.prototype.__proto__===null?b=function(){return{__proto__:null}}:b=function(){var e={};for(var t in e)e[t]=null;return e.constructor=e.hasOwnProperty=e.propertyIsEnumerable=e.isPrototypeOf=e.toLocaleString=e.toString=e.valueOf=e.__proto__=null,e},Object.create=function(t,n){var r;if(t===null)r=b();else{if(typeof t!="object")throw new TypeError("typeof prototype["+typeof t+"] != 'object'");var i=function(){};i.prototype=t,r=new i,r.__proto__=t}return n!==void 0&&Object.defineProperties(r,n),r}}if(Object.defineProperty){var E=w({}),S=typeof document=="undefined"||w(document.createElement("div"));if(!E||!S)var x=Object.defineProperty}if(!Object.defineProperty||x){var T="Property description must be an object: ",N="Object.defineProperty called on non-object: ",C="getters & setters can not be defined on this javascript engine";Object.defineProperty=function(t,n,r){if(typeof t!="object"&&typeof t!="function"||t===null)throw new TypeError(N+t);if(typeof r!="object"&&typeof r!="function"||r===null)throw new TypeError(T+r);if(x)try{return x.call(Object,t,n,r)}catch(i){}if(f(r,"value"))if(d&&(h(t,n)||p(t,n))){var s=t.__proto__;t.__proto__=o,delete t[n],t[n]=r.value,t.__proto__=s}else t[n]=r.value;else{if(!d)throw new TypeError(C);f(r,"get")&&l(t,n,r.get),f(r,"set")&&c(t,n,r.set)}return t}}Object.defineProperties||(Object.defineProperties=function(t,n){for(var r in n)f(n,r)&&Object.defineProperty(t,r,n[r]);return t}),Object.seal||(Object.seal=function(t){return t}),Object.freeze||(Object.freeze=function(t){return t});try{Object.freeze(function(){})}catch(k){Object.freeze=function(t){return function(n){return typeof n=="function"?n:t(n)}}(Object.freeze)}Object.preventExtensions||(Object.preventExtensions=function(t){return t}),Object.isSealed||(Object.isSealed=function(t){return!1}),Object.isFrozen||(Object.isFrozen=function(t){return!1}),Object.isExtensible||(Object.isExtensible=function(t){if(Object(t)===t)throw new TypeError;var n="";while(f(t,n))n+="?";t[n]=!0;var r=f(t,n);return delete t[n],r});if(!Object.keys){var L=!0,A=["toString","toLocaleString","valueOf","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","constructor"],O=A.length;for(var M in{toString:null})L=!1;Object.keys=function I(e){if(typeof e!="object"&&typeof e!="function"||e===null)throw new TypeError("Object.keys called on a non-object");var I=[];for(var t in e)f(e,t)&&I.push(t);if(L)for(var n=0,r=O;n<r;n++){var i=A[n];f(e,i)&&I.push(i)}return I}}Date.now||(Date.now=function(){return(new Date).getTime()});var _=" \n\x0b\f\r \u00a0\u1680\u180e\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200a\u202f\u205f\u3000\u2028\u2029\ufeff";if(!String.prototype.trim||_.trim()){_="["+_+"]";var D=new RegExp("^"+_+_+"*"),P=new RegExp(_+_+"*$");String.prototype.trim=function(){return String(this).replace(D,"").replace(P,"")}}var F=function(e){if(e==null)throw new TypeError("can't convert "+e+" to object");return Object(e)}}),ace.define("ace/lib/fixoldbrowsers",["require","exports","module","ace/lib/regexp","ace/lib/es5-shim"],function(e,t,n){"use strict";e("./regexp"),e("./es5-shim"),typeof Element!="undefined"&&!Element.prototype.remove&&Object.defineProperty(Element.prototype,"remove",{enumerable:!1,writable:!0,configurable:!0,value:function(){this.parentNode&&this.parentNode.removeChild(this)}})}),ace.define("ace/lib/useragent",["require","exports","module"],function(e,t,n){"use strict";t.OS={LINUX:"LINUX",MAC:"MAC",WINDOWS:"WINDOWS"},t.getOS=function(){return t.isMac?t.OS.MAC:t.isLinux?t.OS.LINUX:t.OS.WINDOWS};var r=typeof navigator=="object"?navigator:{},i=(/mac|win|linux/i.exec(r.platform)||["other"])[0].toLowerCase(),s=r.userAgent||"",o=r.appName||"";t.isWin=i=="win",t.isMac=i=="mac",t.isLinux=i=="linux",t.isIE=o=="Microsoft Internet Explorer"||o.indexOf("MSAppHost")>=0?parseFloat((s.match(/(?:MSIE |Trident\/[0-9]+[\.0-9]+;.*rv:)([0-9]+[\.0-9]+)/)||[])[1]):parseFloat((s.match(/(?:Trident\/[0-9]+[\.0-9]+;.*rv:)([0-9]+[\.0-9]+)/)||[])[1]),t.isOldIE=t.isIE&&t.isIE<9,t.isGecko=t.isMozilla=s.match(/ Gecko\/\d+/),t.isOpera=typeof opera=="object"&&Object.prototype.toString.call(window.opera)=="[object Opera]",t.isWebKit=parseFloat(s.split("WebKit/")[1])||undefined,t.isChrome=parseFloat(s.split(" Chrome/")[1])||undefined,t.isEdge=parseFloat(s.split(" Edge/")[1])||undefined,t.isAIR=s.indexOf("AdobeAIR")>=0,t.isIPad=s.indexOf("iPad")>=0,t.isAndroid=s.indexOf("Android")>=0,t.isChromeOS=s.indexOf(" CrOS ")>=0,t.isIOS=/iPad|iPhone|iPod/.test(s)&&!window.MSStream,t.isIOS&&(t.isMac=!0),t.isMobile=t.isIPad||t.isAndroid}),ace.define("ace/lib/dom",["require","exports","module","ace/lib/useragent"],function(e,t,n){"use strict";var r=e("./useragent"),i="http://www.w3.org/1999/xhtml";t.buildDom=function o(e,t,n){if(typeof e=="string"&&e){var r=document.createTextNode(e);return t&&t.appendChild(r),r}if(!Array.isArray(e))return e;if(typeof e[0]!="string"||!e[0]){var i=[];for(var s=0;s<e.length;s++){var u=o(e[s],t,n);u&&i.push(u)}return i}var a=document.createElement(e[0]),f=e[1],l=1;f&&typeof f=="object"&&!Array.isArray(f)&&(l=2);for(var s=l;s<e.length;s++)o(e[s],a,n);return l==2&&Object.keys(f).forEach(function(e){var t=f[e];e==="class"?a.className=Array.isArray(t)?t.join(" "):t:typeof t=="function"||e=="value"?a[e]=t:e==="ref"?n&&(n[t]=a):t!=null&&a.setAttribute(e,t)}),t&&t.appendChild(a),a},t.getDocumentHead=function(e){return e||(e=document),e.head||e.getElementsByTagName("head")[0]||e.documentElement},t.createElement=function(e,t){return document.createElementNS?document.createElementNS(t||i,e):document.createElement(e)},t.removeChildren=function(e){e.innerHTML=""},t.createTextNode=function(e,t){var n=t?t.ownerDocument:document;return n.createTextNode(e)},t.createFragment=function(e){var t=e?e.ownerDocument:document;return t.createDocumentFragment()},t.hasCssClass=function(e,t){var n=(e.className+"").split(/\s+/g);return n.indexOf(t)!==-1},t.addCssClass=function(e,n){t.hasCssClass(e,n)||(e.className+=" "+n)},t.removeCssClass=function(e,t){var n=e.className.split(/\s+/g);for(;;){var r=n.indexOf(t);if(r==-1)break;n.splice(r,1)}e.className=n.join(" ")},t.toggleCssClass=function(e,t){var n=e.className.split(/\s+/g),r=!0;for(;;){var i=n.indexOf(t);if(i==-1)break;r=!1,n.splice(i,1)}return r&&n.push(t),e.className=n.join(" "),r},t.setCssClass=function(e,n,r){r?t.addCssClass(e,n):t.removeCssClass(e,n)},t.hasCssString=function(e,t){var n=0,r;t=t||document;if(r=t.querySelectorAll("style"))while(n<r.length)if(r[n++].id===e)return!0},t.importCssString=function(n,r,i){var s=i;if(!i||!i.getRootNode)s=document;else{s=i.getRootNode();if(!s||s==i)s=document}var o=s.ownerDocument||s;if(r&&t.hasCssString(r,s))return null;r&&(n+="\n/*# sourceURL=ace/css/"+r+" */");var u=t.createElement("style");u.appendChild(o.createTextNode(n)),r&&(u.id=r),s==o&&(s=t.getDocumentHead(o)),s.insertBefore(u,s.firstChild)},t.importCssStylsheet=function(e,n){t.buildDom(["link",{rel:"stylesheet",href:e}],t.getDocumentHead(n))},t.scrollbarWidth=function(e){var n=t.createElement("ace_inner");n.style.width="100%",n.style.minWidth="0px",n.style.height="200px",n.style.display="block";var r=t.createElement("ace_outer"),i=r.style;i.position="absolute",i.left="-10000px",i.overflow="hidden",i.width="200px",i.minWidth="0px",i.height="150px",i.display="block",r.appendChild(n);var s=e.documentElement;s.appendChild(r);var o=n.offsetWidth;i.overflow="scroll";var u=n.offsetWidth;return o==u&&(u=r.clientWidth),s.removeChild(r),o-u},typeof document=="undefined"&&(t.importCssString=function(){}),t.computedStyle=function(e,t){return window.getComputedStyle(e,"")||{}},t.setStyle=function(e,t,n){e[t]!==n&&(e[t]=n)},t.HAS_CSS_ANIMATION=!1,t.HAS_CSS_TRANSFORMS=!1,t.HI_DPI=r.isWin?typeof window!="undefined"&&window.devicePixelRatio>=1.5:!0;if(typeof document!="undefined"){var s=document.createElement("div");t.HI_DPI&&s.style.transform!==undefined&&(t.HAS_CSS_TRANSFORMS=!0),!r.isEdge&&typeof s.style.animationName!="undefined"&&(t.HAS_CSS_ANIMATION=!0),s=null}t.HAS_CSS_TRANSFORMS?t.translate=function(e,t,n){e.style.transform="translate("+Math.round(t)+"px, "+Math.round(n)+"px)"}:t.translate=function(e,t,n){e.style.top=Math.round(n)+"px",e.style.left=Math.round(t)+"px"}}),ace.define("ace/lib/oop",["require","exports","module"],function(e,t,n){"use strict";t.inherits=function(e,t){e.super_=t,e.prototype=Object.create(t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}})},t.mixin=function(e,t){for(var n in t)e[n]=t[n];return e},t.implement=function(e,n){t.mixin(e,n)}}),ace.define("ace/lib/keys",["require","exports","module","ace/lib/oop"],function(e,t,n){"use strict";var r=e("./oop"),i=function(){var e={MODIFIER_KEYS:{16:"Shift",17:"Ctrl",18:"Alt",224:"Meta"},KEY_MODS:{ctrl:1,alt:2,option:2,shift:4,"super":8,meta:8,command:8,cmd:8},FUNCTION_KEYS:{8:"Backspace",9:"Tab",13:"Return",19:"Pause",27:"Esc",32:"Space",33:"PageUp",34:"PageDown",35:"End",36:"Home",37:"Left",38:"Up",39:"Right",40:"Down",44:"Print",45:"Insert",46:"Delete",96:"Numpad0",97:"Numpad1",98:"Numpad2",99:"Numpad3",100:"Numpad4",101:"Numpad5",102:"Numpad6",103:"Numpad7",104:"Numpad8",105:"Numpad9","-13":"NumpadEnter",112:"F1",113:"F2",114:"F3",115:"F4",116:"F5",117:"F6",118:"F7",119:"F8",120:"F9",121:"F10",122:"F11",123:"F12",144:"Numlock",145:"Scrolllock"},PRINTABLE_KEYS:{32:" ",48:"0",49:"1",50:"2",51:"3",52:"4",53:"5",54:"6",55:"7",56:"8",57:"9",59:";",61:"=",65:"a",66:"b",67:"c",68:"d",69:"e",70:"f",71:"g",72:"h",73:"i",74:"j",75:"k",76:"l",77:"m",78:"n",79:"o",80:"p",81:"q",82:"r",83:"s",84:"t",85:"u",86:"v",87:"w",88:"x",89:"y",90:"z",107:"+",109:"-",110:".",186:";",187:"=",188:",",189:"-",190:".",191:"/",192:"`",219:"[",220:"\\",221:"]",222:"'",111:"/",106:"*"}},t,n;for(n in e.FUNCTION_KEYS)t=e.FUNCTION_KEYS[n].toLowerCase(),e[t]=parseInt(n,10);for(n in e.PRINTABLE_KEYS)t=e.PRINTABLE_KEYS[n].toLowerCase(),e[t]=parseInt(n,10);return r.mixin(e,e.MODIFIER_KEYS),r.mixin(e,e.PRINTABLE_KEYS),r.mixin(e,e.FUNCTION_KEYS),e.enter=e["return"],e.escape=e.esc,e.del=e["delete"],e[173]="-",function(){var t=["cmd","ctrl","alt","shift"];for(var n=Math.pow(2,t.length);n--;)e.KEY_MODS[n]=t.filter(function(t){return n&e.KEY_MODS[t]}).join("-")+"-"}(),e.KEY_MODS[0]="",e.KEY_MODS[-1]="input-",e}();r.mixin(t,i),t.keyCodeToString=function(e){var t=i[e];return typeof t!="string"&&(t=String.fromCharCode(e)),t.toLowerCase()}}),ace.define("ace/lib/event",["require","exports","module","ace/lib/keys","ace/lib/useragent"],function(e,t,n){"use strict";function a(e,t,n){var a=u(t);if(!i.isMac&&s){t.getModifierState&&(t.getModifierState("OS")||t.getModifierState("Win"))&&(a|=8);if(s.altGr){if((3&a)==3)return;s.altGr=0}if(n===18||n===17){var f="location"in t?t.location:t.keyLocation;if(n===17&&f===1)s[n]==1&&(o=t.timeStamp);else if(n===18&&a===3&&f===2){var l=t.timeStamp-o;l<50&&(s.altGr=!0)}}}n in r.MODIFIER_KEYS&&(n=-1),a&8&&n>=91&&n<=93&&(n=-1);if(!a&&n===13){var f="location"in t?t.location:t.keyLocation;if(f===3){e(t,a,-n);if(t.defaultPrevented)return}}if(i.isChromeOS&&a&8){e(t,a,n);if(t.defaultPrevented)return;a&=-9}return!!a||n in r.FUNCTION_KEYS||n in r.PRINTABLE_KEYS?e(t,a,n):!1}function f(){s=Object.create(null)}var r=e("./keys"),i=e("./useragent"),s=null,o=0;t.addListener=function(e,t,n){if(e.addEventListener)return e.addEventListener(t,n,!1);if(e.attachEvent){var r=function(){n.call(e,window.event)};n._wrapper=r,e.attachEvent("on"+t,r)}},t.removeListener=function(e,t,n){if(e.removeEventListener)return e.removeEventListener(t,n,!1);e.detachEvent&&e.detachEvent("on"+t,n._wrapper||n)},t.stopEvent=function(e){return t.stopPropagation(e),t.preventDefault(e),!1},t.stopPropagation=function(e){e.stopPropagation?e.stopPropagation():e.cancelBubble=!0},t.preventDefault=function(e){e.preventDefault?e.preventDefault():e.returnValue=!1},t.getButton=function(e){return e.type=="dblclick"?0:e.type=="contextmenu"||i.isMac&&e.ctrlKey&&!e.altKey&&!e.shiftKey?2:e.preventDefault?e.button:{1:0,2:2,4:1}[e.button]},t.capture=function(e,n,r){function i(e){n&&n(e),r&&r(e),t.removeListener(document,"mousemove",n,!0),t.removeListener(document,"mouseup",i,!0),t.removeListener(document,"dragstart",i,!0)}return t.addListener(document,"mousemove",n,!0),t.addListener(document,"mouseup",i,!0),t.addListener(document,"dragstart",i,!0),i},t.addMouseWheelListener=function(e,n){"onmousewheel"in e?t.addListener(e,"mousewheel",function(e){var t=8;e.wheelDeltaX!==undefined?(e.wheelX=-e.wheelDeltaX/t,e.wheelY=-e.wheelDeltaY/t):(e.wheelX=0,e.wheelY=-e.wheelDelta/t),n(e)}):"onwheel"in e?t.addListener(e,"wheel",function(e){var t=.35;switch(e.deltaMode){case e.DOM_DELTA_PIXEL:e.wheelX=e.deltaX*t||0,e.wheelY=e.deltaY*t||0;break;case e.DOM_DELTA_LINE:case e.DOM_DELTA_PAGE:e.wheelX=(e.deltaX||0)*5,e.wheelY=(e.deltaY||0)*5}n(e)}):t.addListener(e,"DOMMouseScroll",function(e){e.axis&&e.axis==e.HORIZONTAL_AXIS?(e.wheelX=(e.detail||0)*5,e.wheelY=0):(e.wheelX=0,e.wheelY=(e.detail||0)*5),n(e)})},t.addMultiMouseDownListener=function(e,n,r,s){function c(e){t.getButton(e)!==0?o=0:e.detail>1?(o++,o>4&&(o=1)):o=1;if(i.isIE){var c=Math.abs(e.clientX-u)>5||Math.abs(e.clientY-a)>5;if(!f||c)o=1;f&&clearTimeout(f),f=setTimeout(function(){f=null},n[o-1]||600),o==1&&(u=e.clientX,a=e.clientY)}e._clicks=o,r[s]("mousedown",e);if(o>4)o=0;else if(o>1)return r[s](l[o],e)}function h(e){o=2,f&&clearTimeout(f),f=setTimeout(function(){f=null},n[o-1]||600),r[s]("mousedown",e),r[s](l[o],e)}var o=0,u,a,f,l={2:"dblclick",3:"tripleclick",4:"quadclick"};Array.isArray(e)||(e=[e]),e.forEach(function(e){t.addListener(e,"mousedown",c),i.isOldIE&&t.addListener(e,"dblclick",h)})};var u=!i.isMac||!i.isOpera||"KeyboardEvent"in window?function(e){return 0|(e.ctrlKey?1:0)|(e.altKey?2:0)|(e.shiftKey?4:0)|(e.metaKey?8:0)}:function(e){return 0|(e.metaKey?1:0)|(e.altKey?2:0)|(e.shiftKey?4:0)|(e.ctrlKey?8:0)};t.getModifierString=function(e){return r.KEY_MODS[u(e)]},t.addCommandKeyListener=function(e,n){var r=t.addListener;if(i.isOldGecko||i.isOpera&&!("KeyboardEvent"in window)){var o=null;r(e,"keydown",function(e){o=e.keyCode}),r(e,"keypress",function(e){return a(n,e,o)})}else{var u=null;r(e,"keydown",function(e){s[e.keyCode]=(s[e.keyCode]||0)+1;var t=a(n,e,e.keyCode);return u=e.defaultPrevented,t}),r(e,"keypress",function(e){u&&(e.ctrlKey||e.altKey||e.shiftKey||e.metaKey)&&(t.stopEvent(e),u=null)}),r(e,"keyup",function(e){s[e.keyCode]=null}),s||(f(),r(window,"focus",f))}};if(typeof window=="object"&&window.postMessage&&!i.isOldIE){var l=1;t.nextTick=function(e,n){n=n||window;var r="zero-timeout-message-"+l++,i=function(s){s.data==r&&(t.stopPropagation(s),t.removeListener(n,"message",i),e())};t.addListener(n,"message",i),n.postMessage(r,"*")}}t.$idleBlocked=!1,t.onIdle=function(e,n){return setTimeout(function r(){t.$idleBlocked?setTimeout(r,100):e()},n)},t.$idleBlockId=null,t.blockIdle=function(e){t.$idleBlockId&&clearTimeout(t.$idleBlockId),t.$idleBlocked=!0,t.$idleBlockId=setTimeout(function(){t.$idleBlocked=!1},e||100)},t.nextFrame=typeof window=="object"&&(window.requestAnimationFrame||window.mozRequestAnimationFrame||window.webkitRequestAnimationFrame||window.msRequestAnimationFrame||window.oRequestAnimationFrame),t.nextFrame?t.nextFrame=t.nextFrame.bind(window):t.nextFrame=function(e){setTimeout(e,17)}}),ace.define("ace/range",["require","exports","module"],function(e,t,n){"use strict";var r=function(e,t){return e.row-t.row||e.column-t.column},i=function(e,t,n,r){this.start={row:e,column:t},this.end={row:n,column:r}};(function(){this.isEqual=function(e){return this.start.row===e.start.row&&this.end.row===e.end.row&&this.start.column===e.start.column&&this.end.column===e.end.column},this.toString=function(){return"Range: ["+this.start.row+"/"+this.start.column+"] -> ["+this.end.row+"/"+this.end.column+"]"},this.contains=function(e,t){return this.compare(e,t)==0},this.compareRange=function(e){var t,n=e.end,r=e.start;return t=this.compare(n.row,n.column),t==1?(t=this.compare(r.row,r.column),t==1?2:t==0?1:0):t==-1?-2:(t=this.compare(r.row,r.column),t==-1?-1:t==1?42:0)},this.comparePoint=function(e){return this.compare(e.row,e.column)},this.containsRange=function(e){return this.comparePoint(e.start)==0&&this.comparePoint(e.end)==0},this.intersects=function(e){var t=this.compareRange(e);return t==-1||t==0||t==1},this.isEnd=function(e,t){return this.end.row==e&&this.end.column==t},this.isStart=function(e,t){return this.start.row==e&&this.start.column==t},this.setStart=function(e,t){typeof e=="object"?(this.start.column=e.column,this.start.row=e.row):(this.start.row=e,this.start.column=t)},this.setEnd=function(e,t){typeof e=="object"?(this.end.column=e.column,this.end.row=e.row):(this.end.row=e,this.end.column=t)},this.inside=function(e,t){return this.compare(e,t)==0?this.isEnd(e,t)||this.isStart(e,t)?!1:!0:!1},this.insideStart=function(e,t){return this.compare(e,t)==0?this.isEnd(e,t)?!1:!0:!1},this.insideEnd=function(e,t){return this.compare(e,t)==0?this.isStart(e,t)?!1:!0:!1},this.compare=function(e,t){return!this.isMultiLine()&&e===this.start.row?t<this.start.column?-1:t>this.end.column?1:0:e<this.start.row?-1:e>this.end.row?1:this.start.row===e?t>=this.start.column?0:-1:this.end.row===e?t<=this.end.column?0:1:0},this.compareStart=function(e,t){return this.start.row==e&&this.start.column==t?-1:this.compare(e,t)},this.compareEnd=function(e,t){return this.end.row==e&&this.end.column==t?1:this.compare(e,t)},this.compareInside=function(e,t){return this.end.row==e&&this.end.column==t?1:this.start.row==e&&this.start.column==t?-1:this.compare(e,t)},this.clipRows=function(e,t){if(this.end.row>t)var n={row:t+1,column:0};else if(this.end.row<e)var n={row:e,column:0};if(this.start.row>t)var r={row:t+1,column:0};else if(this.start.row<e)var r={row:e,column:0};return i.fromPoints(r||this.start,n||this.end)},this.extend=function(e,t){var n=this.compare(e,t);if(n==0)return this;if(n==-1)var r={row:e,column:t};else var s={row:e,column:t};return i.fromPoints(r||this.start,s||this.end)},this.isEmpty=function(){return this.start.row===this.end.row&&this.start.column===this.end.column},this.isMultiLine=function(){return this.start.row!==this.end.row},this.clone=function(){return i.fromPoints(this.start,this.end)},this.collapseRows=function(){return this.end.column==0?new i(this.start.row,0,Math.max(this.start.row,this.end.row-1),0):new i(this.start.row,0,this.end.row,0)},this.toScreenRange=function(e){var t=e.documentToScreenPosition(this.start),n=e.documentToScreenPosition(this.end);return new i(t.row,t.column,n.row,n.column)},this.moveBy=function(e,t){this.start.row+=e,this.start.column+=t,this.end.row+=e,this.end.column+=t}}).call(i.prototype),i.fromPoints=function(e,t){return new i(e.row,e.column,t.row,t.column)},i.comparePoints=r,i.comparePoints=function(e,t){return e.row-t.row||e.column-t.column},t.Range=i}),ace.define("ace/lib/lang",["require","exports","module"],function(e,t,n){"use strict";t.last=function(e){return e[e.length-1]},t.stringReverse=function(e){return e.split("").reverse().join("")},t.stringRepeat=function(e,t){var n="";while(t>0){t&1&&(n+=e);if(t>>=1)e+=e}return n};var r=/^\s\s*/,i=/\s\s*$/;t.stringTrimLeft=function(e){return e.replace(r,"")},t.stringTrimRight=function(e){return e.replace(i,"")},t.copyObject=function(e){var t={};for(var n in e)t[n]=e[n];return t},t.copyArray=function(e){var t=[];for(var n=0,r=e.length;n<r;n++)e[n]&&typeof e[n]=="object"?t[n]=this.copyObject(e[n]):t[n]=e[n];return t},t.deepCopy=function s(e){if(typeof e!="object"||!e)return e;var t;if(Array.isArray(e)){t=[];for(var n=0;n<e.length;n++)t[n]=s(e[n]);return t}if(Object.prototype.toString.call(e)!=="[object Object]")return e;t={};for(var n in e)t[n]=s(e[n]);return t},t.arrayToMap=function(e){var t={};for(var n=0;n<e.length;n++)t[e[n]]=1;return t},t.createMap=function(e){var t=Object.create(null);for(var n in e)t[n]=e[n];return t},t.arrayRemove=function(e,t){for(var n=0;n<=e.length;n++)t===e[n]&&e.splice(n,1)},t.escapeRegExp=function(e){return e.replace(/([.*+?^${}()|[\]\/\\])/g,"\\$1")},t.escapeHTML=function(e){return(""+e).replace(/&/g,"&#38;").replace(/"/g,"&#34;").replace(/'/g,"&#39;").replace(/</g,"&#60;")},t.getMatchOffsets=function(e,t){var n=[];return e.replace(t,function(e){n.push({offset:arguments[arguments.length-2],length:e.length})}),n},t.deferredCall=function(e){var t=null,n=function(){t=null,e()},r=function(e){return r.cancel(),t=setTimeout(n,e||0),r};return r.schedule=r,r.call=function(){return this.cancel(),e(),r},r.cancel=function(){return clearTimeout(t),t=null,r},r.isPending=function(){return t},r},t.delayedCall=function(e,t){var n=null,r=function(){n=null,e()},i=function(e){n==null&&(n=setTimeout(r,e||t))};return i.delay=function(e){n&&clearTimeout(n),n=setTimeout(r,e||t)},i.schedule=i,i.call=function(){this.cancel(),e()},i.cancel=function(){n&&clearTimeout(n),n=null},i.isPending=function(){return n},i}}),ace.define("ace/keyboard/textinput",["require","exports","module","ace/lib/event","ace/lib/useragent","ace/lib/dom","ace/lib/lang","ace/lib/keys"],function(e,t,n){"use strict";var r=e("../lib/event"),i=e("../lib/useragent"),s=e("../lib/dom"),o=e("../lib/lang"),u=i.isChrome<18,a=i.isIE,f=i.isChrome>63,l=400,c=e("../lib/keys"),h=c.KEY_MODS,p=i.isIOS,d=p?/\s/:/\n/,v=function(e,t){function W(){x=!0,n.blur(),n.focus(),x=!1}function V(e){e.keyCode==27&&n.value.length<n.selectionStart&&(g||(T=n.value),N=C=-1,A()),X()}function J(){clearTimeout($),$=setTimeout(function(){b&&(n.style.cssText=b,b=""),t.renderer.$isMousePressed=!1,t.renderer.$keepTextAreaAtCursor&&t.renderer.$moveTextAreaToCursor()},0)}function Q(e,t,n){var r=null,i=!1;n.addEventListener("keydown",function(e){r&&clearTimeout(r),i=!0},!0),n.addEventListener("keyup",function(e){r=setTimeout(function(){i=!1},100)},!0);var s=function(e){if(document.activeElement!==n)return;if(i||g||t.$mouseHandler.isMousePressed)return;if(v)return;var r=n.selectionStart,s=n.selectionEnd,o=null,u=0;console.log(r,s);if(r==0)o=c.up;else if(r==1)o=c.home;else if(s>C&&T[s]=="\n")o=c.end;else if(r<N&&T[r-1]==" ")o=c.left,u=h.option;else if(r<N||r==N&&C!=N&&r==s)o=c.left;else if(s>C&&T.slice(0,s).split("\n").length>2)o=c.down;else if(s>C&&T[s-1]==" ")o=c.right,u=h.option;else if(s>C||s==C&&C!=N&&r==s)o=c.right;r!==s&&(u|=h.shift),o&&(t.onCommandKey(null,u,o),N=r,C=s,A(""))};document.addEventListener("selectionchange",s),t.on("destroy",function(){document.removeEventListener("selectionchange",s)})}var n=s.createElement("textarea");n.className="ace_text-input",n.setAttribute("wrap","off"),n.setAttribute("autocorrect","off"),n.setAttribute("autocapitalize","off"),n.setAttribute("spellcheck",!1),n.style.opacity="0",e.insertBefore(n,e.firstChild);var v=!1,m=!1,g=!1,y=!1,b="",w=!0,E=!1;i.isMobile||(n.style.fontSize="1px");var S=!1,x=!1,T="",N=0,C=0;try{var k=document.activeElement===n}catch(L){}r.addListener(n,"blur",function(e){if(x)return;t.onBlur(e),k=!1}),r.addListener(n,"focus",function(e){if(x)return;k=!0;if(i.isEdge)try{if(!document.hasFocus())return}catch(e){}t.onFocus(e),i.isEdge?setTimeout(A):A()}),this.$focusScroll=!1,this.focus=function(){if(b||f||this.$focusScroll=="browser")return n.focus({preventScroll:!0});var e=n.style.top;n.style.position="fixed",n.style.top="0px";try{var t=n.getBoundingClientRect().top!=0}catch(r){return}var i=[];if(t){var s=n.parentElement;while(s&&s.nodeType==1)i.push(s),s.setAttribute("ace_nocontext",!0),!s.parentElement&&s.getRootNode?s=s.getRootNode().host:s=s.parentElement}n.focus({preventScroll:!0}),t&&i.forEach(function(e){e.removeAttribute("ace_nocontext")}),setTimeout(function(){n.style.position="",n.style.top=="0px"&&(n.style.top=e)},0)},this.blur=function(){n.blur()},this.isFocused=function(){return k},t.on("beforeEndOperation",function(){if(t.curOp&&t.curOp.command.name=="insertstring")return;g&&(T=n.value="",z()),A()});var A=p?function(e){if(!k||v&&!e||y)return;e||(e="");var r="\n ab"+e+"cde fg\n";r!=n.value&&(n.value=T=r);var i=4,s=4+(e.length||(t.selection.isEmpty()?0:1));(N!=i||C!=s)&&n.setSelectionRange(i,s),N=i,C=s}:function(){if(g||y)return;if(!k&&!D)return;g=!0;var e=t.selection,r=e.getRange(),i=e.cursor.row,s=r.start.column,o=r.end.column,u=t.session.getLine(i);if(r.start.row!=i){var a=t.session.getLine(i-1);s=r.start.row<i-1?0:s,o+=a.length+1,u=a+"\n"+u}else if(r.end.row!=i){var f=t.session.getLine(i+1);o=r.end.row>i+1?f.length:o,o+=u.length+1,u=u+"\n"+f}u.length>l&&(s<l&&o<l?u=u.slice(0,l):(u="\n",s=0,o=1));var c=u+"\n\n";c!=T&&(n.value=T=c,N=C=c.length),D&&(N=n.selectionStart,C=n.selectionEnd);if(C!=o||N!=s||n.selectionEnd!=C)try{n.setSelectionRange(s,o),N=s,C=o}catch(h){}g=!1};k&&t.onFocus();var O=function(e){return e.selectionStart===0&&e.selectionEnd>=T.length&&e.value===T&&T&&e.selectionEnd!==C},M=function(e){if(g)return;v?v=!1:O(n)&&(t.selectAll(),A())},_=null;this.setInputHandler=function(e){_=e},this.getInputHandler=function(){return _};var D=!1,P=function(e,r){D&&(D=!1);if(m)return A(),e&&t.onPaste(e),m=!1,"";var i=n.selectionStart,s=n.selectionEnd,o=N,u=T.length-C,a=e,f=e.length-i,l=e.length-s,c=0;while(o>0&&T[c]==e[c])c++,o--;a=a.slice(c),c=1;while(u>0&&T.length-c>N-1&&T[T.length-c]==e[e.length-c])c++,u--;return f-=c-1,l-=c-1,a=a.slice(0,a.length-c+1),!r&&f==a.length&&!o&&!u&&!l?"":(y=!0,a&&!o&&!u&&!f&&!l||S?t.onTextInput(a):t.onTextInput(a,{extendLeft:o,extendRight:u,restoreStart:f,restoreEnd:l}),y=!1,T=e,N=i,C=s,a)},H=function(e){if(g)return U();var t=n.value,r=P(t,!0);(t.length>l+100||d.test(r))&&A()},B=function(e,t,n){var r=e.clipboardData||window.clipboardData;if(!r||u)return;var i=a||n?"Text":"text/plain";try{return t?r.setData(i,t)!==!1:r.getData(i)}catch(e){if(!n)return B(e,t,!0)}},j=function(e,i){var s=t.getCopyText();if(!s)return r.preventDefault(e);B(e,s)?(p&&(A(s),v=s,setTimeout(function(){v=!1},10)),i?t.onCut():t.onCopy(),r.preventDefault(e)):(v=!0,n.value=s,n.select(),setTimeout(function(){v=!1,A(),i?t.onCut():t.onCopy()}))},F=function(e){j(e,!0)},I=function(e){j(e,!1)},q=function(e){var s=B(e);typeof s=="string"?(s&&t.onPaste(s,e),i.isIE&&setTimeout(A),r.preventDefault(e)):(n.value="",m=!0)};r.addCommandKeyListener(n,t.onCommandKey.bind(t)),r.addListener(n,"select",M),r.addListener(n,"input",H),r.addListener(n,"cut",F),r.addListener(n,"copy",I),r.addListener(n,"paste",q),(!("oncut"in n)||!("oncopy"in n)||!("onpaste"in n))&&r.addListener(e,"keydown",function(e){if(i.isMac&&!e.metaKey||!e.ctrlKey)return;switch(e.keyCode){case 67:I(e);break;case 86:q(e);break;case 88:F(e)}});var R=function(e){if(g||!t.onCompositionStart||t.$readOnly)return;g={};if(S)return;setTimeout(U,0),t.on("mousedown",W);var r=t.getSelectionRange();r.end.row=r.start.row,r.end.column=r.start.column,g.markerRange=r,g.selectionStart=N,t.onCompositionStart(g),g.useTextareaForIME?(n.value="",T="",N=0,C=0):(n.msGetInputContext&&(g.context=n.msGetInputContext()),n.getInputContext&&(g.context=n.getInputContext()))},U=function(){if(!g||!t.onCompositionUpdate||t.$readOnly)return;if(S)return W();if(g.useTextareaForIME)t.onCompositionUpdate(n.value);else{var e=n.value;P(e),g.markerRange&&(g.context&&(g.markerRange.start.column=g.selectionStart=g.context.compositionStartOffset),g.markerRange.end.column=g.markerRange.start.column+C-g.selectionStart)}},z=function(e){if(!t.onCompositionEnd||t.$readOnly)return;g=!1,t.onCompositionEnd(),t.off("mousedown",W),e&&H()},X=o.delayedCall(U,50).schedule.bind(null,null);r.addListener(n,"compositionstart",R),r.addListener(n,"compositionupdate",U),r.addListener(n,"keyup",V),r.addListener(n,"keydown",X),r.addListener(n,"compositionend",z),this.getElement=function(){return n},this.setCommandMode=function(e){S=e,n.readOnly=!1},this.setReadOnly=function(e){S||(n.readOnly=e)},this.setCopyWithEmptySelection=function(e){E=e},this.onContextMenu=function(e){D=!0,A(),t._emit("nativecontextmenu",{target:t,domEvent:e}),this.moveToMouse(e,!0)},this.moveToMouse=function(e,o){b||(b=n.style.cssText),n.style.cssText=(o?"z-index:100000;":"")+(i.isIE?"opacity:0.1;":"")+"text-indent: -"+(N+C)*t.renderer.characterWidth*.5+"px;";var u=t.container.getBoundingClientRect(),a=s.computedStyle(t.container),f=u.top+(parseInt(a.borderTopWidth)||0),l=u.left+(parseInt(u.borderLeftWidth)||0),c=u.bottom-f-n.clientHeight-2,h=function(e){s.translate(n,e.clientX-l-2,Math.min(e.clientY-f-2,c))};h(e);if(e.type!="mousedown")return;t.renderer.$isMousePressed=!0,clearTimeout($),i.isWin&&r.capture(t.container,h,J)},this.onContextMenuClose=J;var $,K=function(e){t.textInput.onContextMenu(e),J()};r.addListener(n,"mouseup",K),r.addListener(n,"mousedown",function(e){e.preventDefault(),J()}),r.addListener(t.renderer.scroller,"contextmenu",K),r.addListener(n,"contextmenu",K),p&&Q(e,t,n)};t.TextInput=v}),ace.define("ace/mouse/default_handlers",["require","exports","module","ace/lib/useragent"],function(e,t,n){"use strict";function o(e){e.$clickSelection=null;var t=e.editor;t.setDefaultHandler("mousedown",this.onMouseDown.bind(e)),t.setDefaultHandler("dblclick",this.onDoubleClick.bind(e)),t.setDefaultHandler("tripleclick",this.onTripleClick.bind(e)),t.setDefaultHandler("quadclick",this.onQuadClick.bind(e)),t.setDefaultHandler("mousewheel",this.onMouseWheel.bind(e));var n=["select","startSelect","selectEnd","selectAllEnd","selectByWordsEnd","selectByLinesEnd","dragWait","dragWaitEnd","focusWait"];n.forEach(function(t){e[t]=this[t]},this),e.selectByLines=this.extendSelectionBy.bind(e,"getLineRange"),e.selectByWords=this.extendSelectionBy.bind(e,"getWordRange")}function u(e,t,n,r){return Math.sqrt(Math.pow(n-e,2)+Math.pow(r-t,2))}function a(e,t){if(e.start.row==e.end.row)var n=2*t.column-e.start.column-e.end.column;else if(e.start.row==e.end.row-1&&!e.start.column&&!e.end.column)var n=t.column-4;else var n=2*t.row-e.start.row-e.end.row;return n<0?{cursor:e.start,anchor:e.end}:{cursor:e.end,anchor:e.start}}var r=e("../lib/useragent"),i=0,s=550;(function(){this.onMouseDown=function(e){var t=e.inSelection(),n=e.getDocumentPosition();this.mousedownEvent=e;var i=this.editor,s=e.getButton();if(s!==0){var o=i.getSelectionRange(),u=o.isEmpty();(u||s==1)&&i.selection.moveToPosition(n),s==2&&(i.textInput.onContextMenu(e.domEvent),r.isMozilla||e.preventDefault());return}this.mousedownEvent.time=Date.now();if(t&&!i.isFocused()){i.focus();if(this.$focusTimeout&&!this.$clickSelection&&!i.inMultiSelectMode){this.setState("focusWait"),this.captureMouse(e);return}}return this.captureMouse(e),this.startSelect(n,e.domEvent._clicks>1),e.preventDefault()},this.startSelect=function(e,t){e=e||this.editor.renderer.screenToTextCoordinates(this.x,this.y);var n=this.editor;if(!this.mousedownEvent)return;this.mousedownEvent.getShiftKey()?n.selection.selectToPosition(e):t||n.selection.moveToPosition(e),t||this.select(),n.renderer.scroller.setCapture&&n.renderer.scroller.setCapture(),n.setStyle("ace_selecting"),this.setState("select")},this.select=function(){var e,t=this.editor,n=t.renderer.screenToTextCoordinates(this.x,this.y);if(this.$clickSelection){var r=this.$clickSelection.comparePoint(n);if(r==-1)e=this.$clickSelection.end;else if(r==1)e=this.$clickSelection.start;else{var i=a(this.$clickSelection,n);n=i.cursor,e=i.anchor}t.selection.setSelectionAnchor(e.row,e.column)}t.selection.selectToPosition(n),t.renderer.scrollCursorIntoView()},this.extendSelectionBy=function(e){var t,n=this.editor,r=n.renderer.screenToTextCoordinates(this.x,this.y),i=n.selection[e](r.row,r.column);if(this.$clickSelection){var s=this.$clickSelection.comparePoint(i.start),o=this.$clickSelection.comparePoint(i.end);if(s==-1&&o<=0){t=this.$clickSelection.end;if(i.end.row!=r.row||i.end.column!=r.column)r=i.start}else if(o==1&&s>=0){t=this.$clickSelection.start;if(i.start.row!=r.row||i.start.column!=r.column)r=i.end}else if(s==-1&&o==1)r=i.end,t=i.start;else{var u=a(this.$clickSelection,r);r=u.cursor,t=u.anchor}n.selection.setSelectionAnchor(t.row,t.column)}n.selection.selectToPosition(r),n.renderer.scrollCursorIntoView()},this.selectEnd=this.selectAllEnd=this.selectByWordsEnd=this.selectByLinesEnd=function(){this.$clickSelection=null,this.editor.unsetStyle("ace_selecting"),this.editor.renderer.scroller.releaseCapture&&this.editor.renderer.scroller.releaseCapture()},this.focusWait=function(){var e=u(this.mousedownEvent.x,this.mousedownEvent.y,this.x,this.y),t=Date.now();(e>i||t-this.mousedownEvent.time>this.$focusTimeout)&&this.startSelect(this.mousedownEvent.getDocumentPosition())},this.onDoubleClick=function(e){var t=e.getDocumentPosition(),n=this.editor,r=n.session,i=r.getBracketRange(t);i?(i.isEmpty()&&(i.start.column--,i.end.column++),this.setState("select")):(i=n.selection.getWordRange(t.row,t.column),this.setState("selectByWords")),this.$clickSelection=i,this.select()},this.onTripleClick=function(e){var t=e.getDocumentPosition(),n=this.editor;this.setState("selectByLines");var r=n.getSelectionRange();r.isMultiLine()&&r.contains(t.row,t.column)?(this.$clickSelection=n.selection.getLineRange(r.start.row),this.$clickSelection.end=n.selection.getLineRange(r.end.row).end):this.$clickSelection=n.selection.getLineRange(t.row),this.select()},this.onQuadClick=function(e){var t=this.editor;t.selectAll(),this.$clickSelection=t.getSelectionRange(),this.setState("selectAll")},this.onMouseWheel=function(e){if(e.getAccelKey())return;e.getShiftKey()&&e.wheelY&&!e.wheelX&&(e.wheelX=e.wheelY,e.wheelY=0);var t=this.editor;this.$lastScroll||(this.$lastScroll={t:0,vx:0,vy:0,allowed:0});var n=this.$lastScroll,r=e.domEvent.timeStamp,i=r-n.t,o=i?e.wheelX/i:n.vx,u=i?e.wheelY/i:n.vy;i<s&&(o=(o+n.vx)/2,u=(u+n.vy)/2);var a=Math.abs(o/u),f=!1;a>=1&&t.renderer.isScrollableBy(e.wheelX*e.speed,0)&&(f=!0),a<=1&&t.renderer.isScrollableBy(0,e.wheelY*e.speed)&&(f=!0);if(f)n.allowed=r;else if(r-n.allowed<s){var l=Math.abs(o)<=1.5*Math.abs(n.vx)&&Math.abs(u)<=1.5*Math.abs(n.vy);l?(f=!0,n.allowed=r):n.allowed=0}n.t=r,n.vx=o,n.vy=u;if(f)return t.renderer.scrollBy(e.wheelX*e.speed,e.wheelY*e.speed),e.stop()}}).call(o.prototype),t.DefaultHandlers=o}),ace.define("ace/tooltip",["require","exports","module","ace/lib/oop","ace/lib/dom"],function(e,t,n){"use strict";function s(e){this.isOpen=!1,this.$element=null,this.$parentNode=e}var r=e("./lib/oop"),i=e("./lib/dom");(function(){this.$init=function(){return this.$element=i.createElement("div"),this.$element.className="ace_tooltip",this.$element.style.display="none",this.$parentNode.appendChild(this.$element),this.$element},this.getElement=function(){return this.$element||this.$init()},this.setText=function(e){this.getElement().textContent=e},this.setHtml=function(e){this.getElement().innerHTML=e},this.setPosition=function(e,t){this.getElement().style.left=e+"px",this.getElement().style.top=t+"px"},this.setClassName=function(e){i.addCssClass(this.getElement(),e)},this.show=function(e,t,n){e!=null&&this.setText(e),t!=null&&n!=null&&this.setPosition(t,n),this.isOpen||(this.getElement().style.display="block",this.isOpen=!0)},this.hide=function(){this.isOpen&&(this.getElement().style.display="none",this.isOpen=!1)},this.getHeight=function(){return this.getElement().offsetHeight},this.getWidth=function(){return this.getElement().offsetWidth},this.destroy=function(){this.isOpen=!1,this.$element&&this.$element.parentNode&&this.$element.parentNode.removeChild(this.$element)}}).call(s.prototype),t.Tooltip=s}),ace.define("ace/mouse/default_gutter_handler",["require","exports","module","ace/lib/dom","ace/lib/oop","ace/lib/event","ace/tooltip"],function(e,t,n){"use strict";function u(e){function l(){var r=u.getDocumentPosition().row,s=n.$annotations[r];if(!s)return c();var o=t.session.getLength();if(r==o){var a=t.renderer.pixelToScreenCoordinates(0,u.y).row,l=u.$pos;if(a>t.session.documentToScreenRow(l.row,l.column))return c()}if(f==s)return;f=s.text.join("<br/>"),i.setHtml(f),i.show(),t._signal("showGutterTooltip",i),t.on("mousewheel",c);if(e.$tooltipFollowsMouse)h(u);else{var p=u.domEvent.target,d=p.getBoundingClientRect(),v=i.getElement().style;v.left=d.right+"px",v.top=d.bottom+"px"}}function c(){o&&(o=clearTimeout(o)),f&&(i.hide(),f=null,t._signal("hideGutterTooltip",i),t.removeEventListener("mousewheel",c))}function h(e){i.setPosition(e.x,e.y)}var t=e.editor,n=t.renderer.$gutterLayer,i=new a(t.container);e.editor.setDefaultHandler("guttermousedown",function(r){if(!t.isFocused()||r.getButton()!=0)return;var i=n.getRegion(r);if(i=="foldWidgets")return;var s=r.getDocumentPosition().row,o=t.session.selection;if(r.getShiftKey())o.selectTo(s,0);else{if(r.domEvent.detail==2)return t.selectAll(),r.preventDefault();e.$clickSelection=t.selection.getLineRange(s)}return e.setState("selectByLines"),e.captureMouse(r),r.preventDefault()});var o,u,f;e.editor.setDefaultHandler("guttermousemove",function(t){var n=t.domEvent.target||t.domEvent.srcElement;if(r.hasCssClass(n,"ace_fold-widget"))return c();f&&e.$tooltipFollowsMouse&&h(t),u=t;if(o)return;o=setTimeout(function(){o=null,u&&!e.isMousePressed?l():c()},50)}),s.addListener(t.renderer.$gutter,"mouseout",function(e){u=null;if(!f||o)return;o=setTimeout(function(){o=null,c()},50)}),t.on("changeSession",c)}function a(e){o.call(this,e)}var r=e("../lib/dom"),i=e("../lib/oop"),s=e("../lib/event"),o=e("../tooltip").Tooltip;i.inherits(a,o),function(){this.setPosition=function(e,t){var n=window.innerWidth||document.documentElement.clientWidth,r=window.innerHeight||document.documentElement.clientHeight,i=this.getWidth(),s=this.getHeight();e+=15,t+=15,e+i>n&&(e-=e+i-n),t+s>r&&(t-=20+s),o.prototype.setPosition.call(this,e,t)}}.call(a.prototype),t.GutterHandler=u}),ace.define("ace/mouse/mouse_event",["require","exports","module","ace/lib/event","ace/lib/useragent"],function(e,t,n){"use strict";var r=e("../lib/event"),i=e("../lib/useragent"),s=t.MouseEvent=function(e,t){this.domEvent=e,this.editor=t,this.x=this.clientX=e.clientX,this.y=this.clientY=e.clientY,this.$pos=null,this.$inSelection=null,this.propagationStopped=!1,this.defaultPrevented=!1};(function(){this.stopPropagation=function(){r.stopPropagation(this.domEvent),this.propagationStopped=!0},this.preventDefault=function(){r.preventDefault(this.domEvent),this.defaultPrevented=!0},this.stop=function(){this.stopPropagation(),this.preventDefault()},this.getDocumentPosition=function(){return this.$pos?this.$pos:(this.$pos=this.editor.renderer.screenToTextCoordinates(this.clientX,this.clientY),this.$pos)},this.inSelection=function(){if(this.$inSelection!==null)return this.$inSelection;var e=this.editor,t=e.getSelectionRange();if(t.isEmpty())this.$inSelection=!1;else{var n=this.getDocumentPosition();this.$inSelection=t.contains(n.row,n.column)}return this.$inSelection},this.getButton=function(){return r.getButton(this.domEvent)},this.getShiftKey=function(){return this.domEvent.shiftKey},this.getAccelKey=i.isMac?function(){return this.domEvent.metaKey}:function(){return this.domEvent.ctrlKey}}).call(s.prototype)}),ace.define("ace/mouse/dragdrop_handler",["require","exports","module","ace/lib/dom","ace/lib/event","ace/lib/useragent"],function(e,t,n){"use strict";function f(e){function T(e,n){var r=Date.now(),i=!n||e.row!=n.row,s=!n||e.column!=n.column;if(!S||i||s)t.moveCursorToPosition(e),S=r,x={x:p,y:d};else{var o=l(x.x,x.y,p,d);o>a?S=null:r-S>=u&&(t.renderer.scrollCursorIntoView(),S=null)}}function N(e,n){var r=Date.now(),i=t.renderer.layerConfig.lineHeight,s=t.renderer.layerConfig.characterWidth,u=t.renderer.scroller.getBoundingClientRect(),a={x:{left:p-u.left,right:u.right-p},y:{top:d-u.top,bottom:u.bottom-d}},f=Math.min(a.x.left,a.x.right),l=Math.min(a.y.top,a.y.bottom),c={row:e.row,column:e.column};f/s<=2&&(c.column+=a.x.left<a.x.right?-3:2),l/i<=1&&(c.row+=a.y.top<a.y.bottom?-1:1);var h=e.row!=c.row,v=e.column!=c.column,m=!n||e.row!=n.row;h||v&&!m?E?r-E>=o&&t.renderer.scrollCursorIntoView(c):E=r:E=null}function C(){var e=g;g=t.renderer.screenToTextCoordinates(p,d),T(g,e),N(g,e)}function k(){m=t.selection.toOrientedRange(),h=t.session.addMarker(m,"ace_selection",t.getSelectionStyle()),t.clearSelection(),t.isFocused()&&t.renderer.$cursorLayer.setBlinking(!1),clearInterval(v),C(),v=setInterval(C,20),y=0,i.addListener(document,"mousemove",O)}function L(){clearInterval(v),t.session.removeMarker(h),h=null,t.selection.fromOrientedRange(m),t.isFocused()&&!w&&t.$resetCursorStyle(),m=null,g=null,y=0,E=null,S=null,i.removeListener(document,"mousemove",O)}function O(){A==null&&(A=setTimeout(function(){A!=null&&h&&L()},20))}function M(e){var t=e.types;return!t||Array.prototype.some.call(t,function(e){return e=="text/plain"||e=="Text"})}function _(e){var t=["copy","copymove","all","uninitialized"],n=["move","copymove","linkmove","all","uninitialized"],r=s.isMac?e.altKey:e.ctrlKey,i="uninitialized";try{i=e.dataTransfer.effectAllowed.toLowerCase()}catch(e){}var o="none";return r&&t.indexOf(i)>=0?o="copy":n.indexOf(i)>=0?o="move":t.indexOf(i)>=0&&(o="copy"),o}var t=e.editor,n=r.createElement("img");n.src="data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==",s.isOpera&&(n.style.cssText="width:1px;height:1px;position:fixed;top:0;left:0;z-index:2147483647;opacity:0;");var f=["dragWait","dragWaitEnd","startDrag","dragReadyEnd","onMouseDrag"];f.forEach(function(t){e[t]=this[t]},this),t.addEventListener("mousedown",this.onMouseDown.bind(e));var c=t.container,h,p,d,v,m,g,y=0,b,w,E,S,x;this.onDragStart=function(e){if(this.cancelDrag||!c.draggable){var r=this;return setTimeout(function(){r.startSelect(),r.captureMouse(e)},0),e.preventDefault()}m=t.getSelectionRange();var i=e.dataTransfer;i.effectAllowed=t.getReadOnly()?"copy":"copyMove",s.isOpera&&(t.container.appendChild(n),n.scrollTop=0),i.setDragImage&&i.setDragImage(n,0,0),s.isOpera&&t.container.removeChild(n),i.clearData(),i.setData("Text",t.session.getTextRange()),w=!0,this.setState("drag")},this.onDragEnd=function(e){c.draggable=!1,w=!1,this.setState(null);if(!t.getReadOnly()){var n=e.dataTransfer.dropEffect;!b&&n=="move"&&t.session.remove(t.getSelectionRange()),t.$resetCursorStyle()}this.editor.unsetStyle("ace_dragging"),this.editor.renderer.setCursorStyle("")},this.onDragEnter=function(e){if(t.getReadOnly()||!M(e.dataTransfer))return;return p=e.clientX,d=e.clientY,h||k(),y++,e.dataTransfer.dropEffect=b=_(e),i.preventDefault(e)},this.onDragOver=function(e){if(t.getReadOnly()||!M(e.dataTransfer))return;return p=e.clientX,d=e.clientY,h||(k(),y++),A!==null&&(A=null),e.dataTransfer.dropEffect=b=_(e),i.preventDefault(e)},this.onDragLeave=function(e){y--;if(y<=0&&h)return L(),b=null,i.preventDefault(e)},this.onDrop=function(e){if(!g)return;var n=e.dataTransfer;if(w)switch(b){case"move":m.contains(g.row,g.column)?m={start:g,end:g}:m=t.moveText(m,g);break;case"copy":m=t.moveText(m,g,!0)}else{var r=n.getData("Text");m={start:g,end:t.session.insert(g,r)},t.focus(),b=null}return L(),i.preventDefault(e)},i.addListener(c,"dragstart",this.onDragStart.bind(e)),i.addListener(c,"dragend",this.onDragEnd.bind(e)),i.addListener(c,"dragenter",this.onDragEnter.bind(e)),i.addListener(c,"dragover",this.onDragOver.bind(e)),i.addListener(c,"dragleave",this.onDragLeave.bind(e)),i.addListener(c,"drop",this.onDrop.bind(e));var A=null}function l(e,t,n,r){return Math.sqrt(Math.pow(n-e,2)+Math.pow(r-t,2))}var r=e("../lib/dom"),i=e("../lib/event"),s=e("../lib/useragent"),o=200,u=200,a=5;(function(){this.dragWait=function(){var e=Date.now()-this.mousedownEvent.time;e>this.editor.getDragDelay()&&this.startDrag()},this.dragWaitEnd=function(){var e=this.editor.container;e.draggable=!1,this.startSelect(this.mousedownEvent.getDocumentPosition()),this.selectEnd()},this.dragReadyEnd=function(e){this.editor.$resetCursorStyle(),this.editor.unsetStyle("ace_dragging"),this.editor.renderer.setCursorStyle(""),this.dragWaitEnd()},this.startDrag=function(){this.cancelDrag=!1;var e=this.editor,t=e.container;t.draggable=!0,e.renderer.$cursorLayer.setBlinking(!1),e.setStyle("ace_dragging");var n=s.isWin?"default":"move";e.renderer.setCursorStyle(n),this.setState("dragReady")},this.onMouseDrag=function(e){var t=this.editor.container;if(s.isIE&&this.state=="dragReady"){var n=l(this.mousedownEvent.x,this.mousedownEvent.y,this.x,this.y);n>3&&t.dragDrop()}if(this.state==="dragWait"){var n=l(this.mousedownEvent.x,this.mousedownEvent.y,this.x,this.y);n>0&&(t.draggable=!1,this.startSelect(this.mousedownEvent.getDocumentPosition()))}},this.onMouseDown=function(e){if(!this.$dragEnabled)return;this.mousedownEvent=e;var t=this.editor,n=e.inSelection(),r=e.getButton(),i=e.domEvent.detail||1;if(i===1&&r===0&&n){if(e.editor.inMultiSelectMode&&(e.getAccelKey()||e.getShiftKey()))return;this.mousedownEvent.time=Date.now();var o=e.domEvent.target||e.domEvent.srcElement;"unselectable"in o&&(o.unselectable="on");if(t.getDragDelay()){if(s.isWebKit){this.cancelDrag=!0;var u=t.container;u.draggable=!0}this.setState("dragWait")}else this.startDrag();this.captureMouse(e,this.onMouseDrag.bind(this)),e.defaultPrevented=!0}}}).call(f.prototype),t.DragdropHandler=f}),ace.define("ace/mouse/touch_handler",["require","exports","module","ace/mouse/mouse_event"],function(e,t,n){"use strict";var r=e("./mouse_event").MouseEvent;t.addTouchListeners=function(e,t){function m(){a=null,clearTimeout(a),t.selection.isEmpty()&&t.selection.moveToPosition(c),n="wait"}function g(){a=null,clearTimeout(a),t.selection.moveToPosition(c);var e=h>=2?t.selection.getLineRange(c.row):t.session.getBracketRange(c);e&&!e.isEmpty()?t.selection.setRange(e):t.selection.selectWord(),n="wait"}function y(){l+=60,f=setInterval(function(){l--<=0&&(clearInterval(f),f=null),Math.abs(p)<.01&&(p=0),Math.abs(d)<.01&&(d=0),l<20&&(p=.9*p),l<20&&(d=.9*d),t.renderer.scrollBy(10*p,10*d)},10)}var n="scroll",i,s,o,u,a,f,l=0,c,h=0,p=0,d=0,v;e.addEventListener("contextmenu",function(e){if(!v)return;var n=t.textInput.getElement();n.focus()}),e.addEventListener("touchstart",function(e){var f=e.touches;if(a||f.length>1){clearTimeout(a),a=null,n="zoom";return}v=t.$mouseHandler.isMousePressed=!0;var y=f[0];i=y.clientX,s=y.clientY,p=d=0,e.clientX=y.clientX,e.clientY=y.clientY;var b=e.timeStamp;u=b;var w=new r(e,t);c=w.getDocumentPosition();if(b-o<500&&f.length==1&&!l)h++,e.preventDefault(),e.button=0,g();else{h=0,a=setTimeout(m,450);var E=t.selection.cursor,S=t.selection.isEmpty()?E:t.selection.anchor,x=t.renderer.$cursorLayer.getPixelPosition(E,!0),T=t.renderer.$cursorLayer.getPixelPosition(S,!0),N=t.renderer.scroller.getBoundingClientRect(),C=t.renderer.layerConfig.lineHeight,k=t.renderer.layerConfig.lineHeight,L=function(e,t){return e/=k,t=t/C-.75,e*e+t*t},A=L(e.clientX-N.left-x.left,e.clientY-N.top-x.top),O=L(e.clientX-N.left-T.left,e.clientY-N.top-T.top);A<3.5&&O<3.5&&(n=A>O?"cursor":"anchor"),O<3.5?n="anchor":A<3.5?n="cursor":n="scroll"}o=b}),e.addEventListener("touchend",function(e){v=t.$mouseHandler.isMousePressed=!1,f&&clearInterval(f),n=="zoom"?(n="",l=0):a?(t.selection.moveToPosition(c),l=0):n=="scroll"&&(y(),e.preventDefault()),clearTimeout(a),a=null}),e.addEventListener("touchmove",function(e){a&&(clearTimeout(a),a=null);var o=e.touches;if(o.length>1||n=="zoom")return;var f=o[0],l=i-f.clientX,c=s-f.clientY;if(n=="wait"){if(!(l*l+c*c>4))return e.preventDefault();n="cursor"}i=f.clientX,s=f.clientY,e.clientX=f.clientX,e.clientY=f.clientY;var h=e.timeStamp,v=h-u;u=h;if(n=="scroll"){var m=new r(e,t);m.speed=1,m.wheelX=l,m.wheelY=c,10*Math.abs(l)<Math.abs(c)&&(l=0),10*Math.abs(c)<Math.abs(l)&&(c=0),v!=0&&(p=l/v,d=c/v),t._emit("mousewheel",m),m.propagationStopped||(p=d=0)}else{var g=new r(e,t),y=g.getDocumentPosition();n=="cursor"?t.selection.moveCursorToPosition(y):n=="anchor"&&t.selection.setSelectionAnchor(y.row,y.column),t.renderer.scrollCursorIntoView(y),e.preventDefault()}})}}),ace.define("ace/lib/net",["require","exports","module","ace/lib/dom"],function(e,t,n){"use strict";var r=e("./dom");t.get=function(e,t){var n=new XMLHttpRequest;n.open("GET",e,!0),n.onreadystatechange=function(){n.readyState===4&&t(n.responseText)},n.send(null)},t.loadScript=function(e,t){var n=r.getDocumentHead(),i=document.createElement("script");i.src=e,n.appendChild(i),i.onload=i.onreadystatechange=function(e,n){if(n||!i.readyState||i.readyState=="loaded"||i.readyState=="complete")i=i.onload=i.onreadystatechange=null,n||t()}},t.qualifyURL=function(e){var t=document.createElement("a");return t.href=e,t.href}}),ace.define("ace/lib/event_emitter",["require","exports","module"],function(e,t,n){"use strict";var r={},i=function(){this.propagationStopped=!0},s=function(){this.defaultPrevented=!0};r._emit=r._dispatchEvent=function(e,t){this._eventRegistry||(this._eventRegistry={}),this._defaultHandlers||(this._defaultHandlers={});var n=this._eventRegistry[e]||[],r=this._defaultHandlers[e];if(!n.length&&!r)return;if(typeof t!="object"||!t)t={};t.type||(t.type=e),t.stopPropagation||(t.stopPropagation=i),t.preventDefault||(t.preventDefault=s),n=n.slice();for(var o=0;o<n.length;o++){n[o](t,this);if(t.propagationStopped)break}if(r&&!t.defaultPrevented)return r(t,this)},r._signal=function(e,t){var n=(this._eventRegistry||{})[e];if(!n)return;n=n.slice();for(var r=0;r<n.length;r++)n[r](t,this)},r.once=function(e,t){var n=this;this.addEventListener(e,function r(){n.removeEventListener(e,r),t.apply(null,arguments)});if(!t)return new Promise(function(e){t=e})},r.setDefaultHandler=function(e,t){var n=this._defaultHandlers;n||(n=this._defaultHandlers={_disabled_:{}});if(n[e]){var r=n[e],i=n._disabled_[e];i||(n._disabled_[e]=i=[]),i.push(r);var s=i.indexOf(t);s!=-1&&i.splice(s,1)}n[e]=t},r.removeDefaultHandler=function(e,t){var n=this._defaultHandlers;if(!n)return;var r=n._disabled_[e];if(n[e]==t)r&&this.setDefaultHandler(e,r.pop());else if(r){var i=r.indexOf(t);i!=-1&&r.splice(i,1)}},r.on=r.addEventListener=function(e,t,n){this._eventRegistry=this._eventRegistry||{};var r=this._eventRegistry[e];return r||(r=this._eventRegistry[e]=[]),r.indexOf(t)==-1&&r[n?"unshift":"push"](t),t},r.off=r.removeListener=r.removeEventListener=function(e,t){this._eventRegistry=this._eventRegistry||{};var n=this._eventRegistry[e];if(!n)return;var r=n.indexOf(t);r!==-1&&n.splice(r,1)},r.removeAllListeners=function(e){this._eventRegistry&&(this._eventRegistry[e]=[])},t.EventEmitter=r}),ace.define("ace/lib/app_config",["require","exports","module","ace/lib/oop","ace/lib/event_emitter"],function(e,t,n){"no use strict";function o(e){typeof console!="undefined"&&console.warn&&console.warn.apply(console,arguments)}function u(e,t){var n=new Error(e);n.data=t,typeof console=="object"&&console.error&&console.error(n),setTimeout(function(){throw n})}var r=e("./oop"),i=e("./event_emitter").EventEmitter,s={setOptions:function(e){Object.keys(e).forEach(function(t){this.setOption(t,e[t])},this)},getOptions:function(e){var t={};if(!e){var n=this.$options;e=Object.keys(n).filter(function(e){return!n[e].hidden})}else Array.isArray(e)||(t=e,e=Object.keys(t));return e.forEach(function(e){t[e]=this.getOption(e)},this),t},setOption:function(e,t){if(this["$"+e]===t)return;var n=this.$options[e];if(!n)return o('misspelled option "'+e+'"');if(n.forwardTo)return this[n.forwardTo]&&this[n.forwardTo].setOption(e,t);n.handlesSet||(this["$"+e]=t),n&&n.set&&n.set.call(this,t)},getOption:function(e){var t=this.$options[e];return t?t.forwardTo?this[t.forwardTo]&&this[t.forwardTo].getOption(e):t&&t.get?t.get.call(this):this["$"+e]:o('misspelled option "'+e+'"')}},a=function(){this.$defaultOptions={}};(function(){r.implement(this,i),this.defineOptions=function(e,t,n){return e.$options||(this.$defaultOptions[t]=e.$options={}),Object.keys(n).forEach(function(t){var r=n[t];typeof r=="string"&&(r={forwardTo:r}),r.name||(r.name=t),e.$options[r.name]=r,"initialValue"in r&&(e["$"+r.name]=r.initialValue)}),r.implement(e,s),this},this.resetOptions=function(e){Object.keys(e.$options).forEach(function(t){var n=e.$options[t];"value"in n&&e.setOption(t,n.value)})},this.setDefaultValue=function(e,t,n){if(!e){for(e in this.$defaultOptions)if(this.$defaultOptions[e][t])break;if(!this.$defaultOptions[e][t])return!1}var r=this.$defaultOptions[e]||(this.$defaultOptions[e]={});r[t]&&(r.forwardTo?this.setDefaultValue(r.forwardTo,t,n):r[t].value=n)},this.setDefaultValues=function(e,t){Object.keys(t).forEach(function(n){this.setDefaultValue(e,n,t[n])},this)},this.warn=o,this.reportError=u}).call(a.prototype),t.AppConfig=a}),ace.define("ace/config",["require","exports","module","ace/lib/lang","ace/lib/oop","ace/lib/net","ace/lib/app_config"],function(e,t,n){"no use strict";function l(r){if(!u||!u.document)return;a.packaged=r||e.packaged||n.packaged||u.define&&define.packaged;var i={},s="",o=document.currentScript||document._currentScript,f=o&&o.ownerDocument||document,l=f.getElementsByTagName("script");for(var h=0;h<l.length;h++){var p=l[h],d=p.src||p.getAttribute("src");if(!d)continue;var v=p.attributes;for(var m=0,g=v.length;m<g;m++){var y=v[m];y.name.indexOf("data-ace-")===0&&(i[c(y.name.replace(/^data-ace-/,""))]=y.value)}var b=d.match(/^(.*)\/ace(\-\w+)?\.js(\?|$)/);b&&(s=b[1])}s&&(i.base=i.base||s,i.packaged=!0),i.basePath=i.base,i.workerPath=i.workerPath||i.base,i.modePath=i.modePath||i.base,i.themePath=i.themePath||i.base,delete i.base;for(var w in i)typeof i[w]!="undefined"&&t.set(w,i[w])}function c(e){return e.replace(/-(.)/g,function(e,t){return t.toUpperCase()})}var r=e("./lib/lang"),i=e("./lib/oop"),s=e("./lib/net"),o=e("./lib/app_config").AppConfig;n.exports=t=new o;var u=function(){return this||typeof window!="undefined"&&window}(),a={packaged:!1,workerPath:null,modePath:null,themePath:null,basePath:"",suffix:".js",$moduleUrls:{},loadWorkerFromBlob:!0,sharedPopups:!1};t.get=function(e){if(!a.hasOwnProperty(e))throw new Error("Unknown config key: "+e);return a[e]},t.set=function(e,t){if(a.hasOwnProperty(e))a[e]=t;else if(this.setDefaultValue("",e,t)==0)throw new Error("Unknown config key: "+e)},t.all=function(){return r.copyObject(a)},t.$modes={},t.moduleUrl=function(e,t){if(a.$moduleUrls[e])return a.$moduleUrls[e];var n=e.split("/");t=t||n[n.length-2]||"";var r=t=="snippets"?"/":"-",i=n[n.length-1];if(t=="worker"&&r=="-"){var s=new RegExp("^"+t+"[\\-_]|[\\-_]"+t+"$","g");i=i.replace(s,"")}(!i||i==t)&&n.length>1&&(i=n[n.length-2]);var o=a[t+"Path"];return o==null?o=a.basePath:r=="/"&&(t=r=""),o&&o.slice(-1)!="/"&&(o+="/"),o+t+r+i+this.get("suffix")},t.setModuleUrl=function(e,t){return a.$moduleUrls[e]=t},t.$loading={},t.loadModule=function(n,r){var i,o;Array.isArray(n)&&(o=n[0],n=n[1]);try{i=e(n)}catch(u){}if(i&&!t.$loading[n])return r&&r(i);t.$loading[n]||(t.$loading[n]=[]),t.$loading[n].push(r);if(t.$loading[n].length>1)return;var a=function(){e([n],function(e){t._emit("load.module",{name:n,module:e});var r=t.$loading[n];t.$loading[n]=null,r.forEach(function(t){t&&t(e)})})};if(!t.get("packaged"))return a();s.loadScript(t.moduleUrl(n,o),a),f()};var f=function(){!a.basePath&&!a.workerPath&&!a.modePath&&!a.themePath&&!Object.keys(a.$moduleUrls).length&&(console.error("Unable to infer path to ace from script src,","use ace.config.set('basePath', 'path') to enable dynamic loading of modes and themes","or with webpack use ace/webpack-resolver"),f=function(){})};t.init=l,t.version="1.4.5"}),ace.define("ace/mouse/mouse_handler",["require","exports","module","ace/lib/event","ace/lib/useragent","ace/mouse/default_handlers","ace/mouse/default_gutter_handler","ace/mouse/mouse_event","ace/mouse/dragdrop_handler","ace/mouse/touch_handler","ace/config"],function(e,t,n){"use strict";var r=e("../lib/event"),i=e("../lib/useragent"),s=e("./default_handlers").DefaultHandlers,o=e("./default_gutter_handler").GutterHandler,u=e("./mouse_event").MouseEvent,a=e("./dragdrop_handler").DragdropHandler,f=e("./touch_handler").addTouchListeners,l=e("../config"),c=function(e){var t=this;this.editor=e,new s(this),new o(this),new a(this);var n=function(t){var n=!document.hasFocus||!document.hasFocus()||!e.isFocused()&&document.activeElement==(e.textInput&&e.textInput.getElement());n&&window.focus(),e.focus()},u=e.renderer.getMouseEventTarget();r.addListener(u,"click",this.onMouseEvent.bind(this,"click")),r.addListener(u,"mousemove",this.onMouseMove.bind(this,"mousemove")),r.addMultiMouseDownListener([u,e.renderer.scrollBarV&&e.renderer.scrollBarV.inner,e.renderer.scrollBarH&&e.renderer.scrollBarH.inner,e.textInput&&e.textInput.getElement()].filter(Boolean),[400,300,250],this,"onMouseEvent"),r.addMouseWheelListener(e.container,this.onMouseWheel.bind(this,"mousewheel")),f(e.container,e);var l=e.renderer.$gutter;r.addListener(l,"mousedown",this.onMouseEvent.bind(this,"guttermousedown")),r.addListener(l,"click",this.onMouseEvent.bind(this,"gutterclick")),r.addListener(l,"dblclick",this.onMouseEvent.bind(this,"gutterdblclick")),r.addListener(l,"mousemove",this.onMouseEvent.bind(this,"guttermousemove")),r.addListener(u,"mousedown",n),r.addListener(l,"mousedown",n),i.isIE&&e.renderer.scrollBarV&&(r.addListener(e.renderer.scrollBarV.element,"mousedown",n),r.addListener(e.renderer.scrollBarH.element,"mousedown",n)),e.on("mousemove",function(n){if(t.state||t.$dragDelay||!t.$dragEnabled)return;var r=e.renderer.screenToTextCoordinates(n.x,n.y),i=e.session.selection.getRange(),s=e.renderer;!i.isEmpty()&&i.insideStart(r.row,r.column)?s.setCursorStyle("default"):s.setCursorStyle("")})};(function(){this.onMouseEvent=function(e,t){this.editor._emit(e,new u(t,this.editor))},this.onMouseMove=function(e,t){var n=this.editor._eventRegistry&&this.editor._eventRegistry.mousemove;if(!n||!n.length)return;this.editor._emit(e,new u(t,this.editor))},this.onMouseWheel=function(e,t){var n=new u(t,this.editor);n.speed=this.$scrollSpeed*2,n.wheelX=t.wheelX,n.wheelY=t.wheelY,this.editor._emit(e,n)},this.setState=function(e){this.state=e},this.captureMouse=function(e,t){this.x=e.x,this.y=e.y,this.isMousePressed=!0;var n=this.editor,s=this.editor.renderer;s.$isMousePressed=!0;var o=this,a=function(e){if(!e)return;if(i.isWebKit&&!e.which&&o.releaseMouse)return o.releaseMouse();o.x=e.clientX,o.y=e.clientY,t&&t(e),o.mouseEvent=new u(e,o.editor),o.$mouseMoved=!0},f=function(e){n.off("beforeEndOperation",c),clearInterval(h),l(),o[o.state+"End"]&&o[o.state+"End"](e),o.state="",o.isMousePressed=s.$isMousePressed=!1,s.$keepTextAreaAtCursor&&s.$moveTextAreaToCursor(),o.$onCaptureMouseMove=o.releaseMouse=null,e&&o.onMouseEvent("mouseup",e),n.endOperation()},l=function(){o[o.state]&&o[o.state](),o.$mouseMoved=!1};if(i.isOldIE&&e.domEvent.type=="dblclick")return setTimeout(function(){f(e)});var c=function(e){if(!o.releaseMouse)return;n.curOp.command.name&&n.curOp.selectionChanged&&(o[o.state+"End"]&&o[o.state+"End"](),o.state="",o.releaseMouse())};n.on("beforeEndOperation",c),n.startOperation({command:{name:"mouse"}}),o.$onCaptureMouseMove=a,o.releaseMouse=r.capture(this.editor.container,a,f);var h=setInterval(l,20)},this.releaseMouse=null,this.cancelContextMenu=function(){var e=function(t){if(t&&t.domEvent&&t.domEvent.type!="contextmenu")return;this.editor.off("nativecontextmenu",e),t&&t.domEvent&&r.stopEvent(t.domEvent)}.bind(this);setTimeout(e,10),this.editor.on("nativecontextmenu",e)}}).call(c.prototype),l.defineOptions(c.prototype,"mouseHandler",{scrollSpeed:{initialValue:2},dragDelay:{initialValue:i.isMac?150:0},dragEnabled:{initialValue:!0},focusTimeout:{initialValue:0},tooltipFollowsMouse:{initialValue:!0}}),t.MouseHandler=c}),ace.define("ace/mouse/fold_handler",["require","exports","module","ace/lib/dom"],function(e,t,n){"use strict";function i(e){e.on("click",function(t){var n=t.getDocumentPosition(),i=e.session,s=i.getFoldAt(n.row,n.column,1);s&&(t.getAccelKey()?i.removeFold(s):i.expandFold(s),t.stop());var o=t.domEvent&&t.domEvent.target;o&&r.hasCssClass(o,"ace_inline_button")&&r.hasCssClass(o,"ace_toggle_wrap")&&(i.setOption("wrap",!i.getUseWrapMode()),e.renderer.scrollCursorIntoView())}),e.on("gutterclick",function(t){var n=e.renderer.$gutterLayer.getRegion(t);if(n=="foldWidgets"){var r=t.getDocumentPosition().row,i=e.session;i.foldWidgets&&i.foldWidgets[r]&&e.session.onFoldWidgetClick(r,t),e.isFocused()||e.focus(),t.stop()}}),e.on("gutterdblclick",function(t){var n=e.renderer.$gutterLayer.getRegion(t);if(n=="foldWidgets"){var r=t.getDocumentPosition().row,i=e.session,s=i.getParentFoldRangeData(r,!0),o=s.range||s.firstRange;if(o){r=o.start.row;var u=i.getFoldAt(r,i.getLine(r).length,1);u?i.removeFold(u):(i.addFold("...",o),e.renderer.scrollCursorIntoView({row:o.start.row,column:0}))}t.stop()}})}var r=e("../lib/dom");t.FoldHandler=i}),ace.define("ace/keyboard/keybinding",["require","exports","module","ace/lib/keys","ace/lib/event"],function(e,t,n){"use strict";var r=e("../lib/keys"),i=e("../lib/event"),s=function(e){this.$editor=e,this.$data={editor:e},this.$handlers=[],this.setDefaultHandler(e.commands)};(function(){this.setDefaultHandler=function(e){this.removeKeyboardHandler(this.$defaultHandler),this.$defaultHandler=e,this.addKeyboardHandler(e,0)},this.setKeyboardHandler=function(e){var t=this.$handlers;if(t[t.length-1]==e)return;while(t[t.length-1]&&t[t.length-1]!=this.$defaultHandler)this.removeKeyboardHandler(t[t.length-1]);this.addKeyboardHandler(e,1)},this.addKeyboardHandler=function(e,t){if(!e)return;typeof e=="function"&&!e.handleKeyboard&&(e.handleKeyboard=e);var n=this.$handlers.indexOf(e);n!=-1&&this.$handlers.splice(n,1),t==undefined?this.$handlers.push(e):this.$handlers.splice(t,0,e),n==-1&&e.attach&&e.attach(this.$editor)},this.removeKeyboardHandler=function(e){var t=this.$handlers.indexOf(e);return t==-1?!1:(this.$handlers.splice(t,1),e.detach&&e.detach(this.$editor),!0)},this.getKeyboardHandler=function(){return this.$handlers[this.$handlers.length-1]},this.getStatusText=function(){var e=this.$data,t=e.editor;return this.$handlers.map(function(n){return n.getStatusText&&n.getStatusText(t,e)||""}).filter(Boolean).join(" ")},this.$callKeyboardHandlers=function(e,t,n,r){var s,o=!1,u=this.$editor.commands;for(var a=this.$handlers.length;a--;){s=this.$handlers[a].handleKeyboard(this.$data,e,t,n,r);if(!s||!s.command)continue;s.command=="null"?o=!0:o=u.exec(s.command,this.$editor,s.args,r),o&&r&&e!=-1&&s.passEvent!=1&&s.command.passEvent!=1&&i.stopEvent(r);if(o)break}return!o&&e==-1&&(s={command:"insertstring"},o=u.exec("insertstring",this.$editor,t)),o&&this.$editor._signal&&this.$editor._signal("keyboardActivity",s),o},this.onCommandKey=function(e,t,n){var i=r.keyCodeToString(n);this.$callKeyboardHandlers(t,i,n,e)},this.onTextInput=function(e){this.$callKeyboardHandlers(-1,e)}}).call(s.prototype),t.KeyBinding=s}),ace.define("ace/lib/bidiutil",["require","exports","module"],function(e,t,n){"use strict";function F(e,t,n,r){var i=s?d:p,c=null,h=null,v=null,m=0,g=null,y=null,b=-1,w=null,E=null,T=[];if(!r)for(w=0,r=[];w<n;w++)r[w]=R(e[w]);o=s,u=!1,a=!1,f=!1,l=!1;for(E=0;E<n;E++){c=m,T[E]=h=q(e,r,T,E),m=i[c][h],g=m&240,m&=15,t[E]=v=i[m][5];if(g>0)if(g==16){for(w=b;w<E;w++)t[w]=1;b=-1}else b=-1;y=i[m][6];if(y)b==-1&&(b=E);else if(b>-1){for(w=b;w<E;w++)t[w]=v;b=-1}r[E]==S&&(t[E]=0),o|=v}if(l)for(w=0;w<n;w++)if(r[w]==x){t[w]=s;for(var C=w-1;C>=0;C--){if(r[C]!=N)break;t[C]=s}}}function I(e,t,n){if(o<e)return;if(e==1&&s==m&&!f){n.reverse();return}var r=n.length,i=0,u,a,l,c;while(i<r){if(t[i]>=e){u=i+1;while(u<r&&t[u]>=e)u++;for(a=i,l=u-1;a<l;a++,l--)c=n[a],n[a]=n[l],n[l]=c;i=u}i++}}function q(e,t,n,r){var i=t[r],o,c,h,p;switch(i){case g:case y:u=!1;case E:case w:return i;case b:return u?w:b;case T:return u=!0,a=!0,y;case N:return E;case C:if(r<1||r+1>=t.length||(o=n[r-1])!=b&&o!=w||(c=t[r+1])!=b&&c!=w)return E;return u&&(c=w),c==o?c:E;case k:o=r>0?n[r-1]:S;if(o==b&&r+1<t.length&&t[r+1]==b)return b;return E;case L:if(r>0&&n[r-1]==b)return b;if(u)return E;p=r+1,h=t.length;while(p<h&&t[p]==L)p++;if(p<h&&t[p]==b)return b;return E;case A:h=t.length,p=r+1;while(p<h&&t[p]==A)p++;if(p<h){var d=e[r],v=d>=1425&&d<=2303||d==64286;o=t[p];if(v&&(o==y||o==T))return y}if(r<1||(o=t[r-1])==S)return E;return n[r-1];case S:return u=!1,f=!0,s;case x:return l=!0,E;case O:case M:case D:case P:case _:u=!1;case H:return E}}function R(e){var t=e.charCodeAt(0),n=t>>8;return n==0?t>191?g:B[t]:n==5?/[\u0591-\u05f4]/.test(e)?y:g:n==6?/[\u0610-\u061a\u064b-\u065f\u06d6-\u06e4\u06e7-\u06ed]/.test(e)?A:/[\u0660-\u0669\u066b-\u066c]/.test(e)?w:t==1642?L:/[\u06f0-\u06f9]/.test(e)?b:T:n==32&&t<=8287?j[t&255]:n==254?t>=65136?T:E:E}function U(e){return e>="\u064b"&&e<="\u0655"}var r=["\u0621","\u0641"],i=["\u063a","\u064a"],s=0,o=0,u=!1,a=!1,f=!1,l=!1,c=!1,h=!1,p=[[0,3,0,1,0,0,0],[0,3,0,1,2,2,0],[0,3,0,17,2,0,1],[0,3,5,5,4,1,0],[0,3,21,21,4,0,1],[0,3,5,5,4,2,0]],d=[[2,0,1,1,0,1,0],[2,0,1,1,0,2,0],[2,0,2,1,3,2,0],[2,0,2,33,3,1,1]],v=0,m=1,g=0,y=1,b=2,w=3,E=4,S=5,x=6,T=7,N=8,C=9,k=10,L=11,A=12,O=13,M=14,_=15,D=16,P=17,H=18,B=[H,H,H,H,H,H,H,H,H,x,S,x,N,S,H,H,H,H,H,H,H,H,H,H,H,H,H,H,S,S,S,x,N,E,E,L,L,L,E,E,E,E,E,k,C,k,C,C,b,b,b,b,b,b,b,b,b,b,C,E,E,E,E,E,E,g,g,g,g,g,g,g,g,g,g,g,g,g,g,g,g,g,g,g,g,g,g,g,g,g,g,E,E,E,E,E,E,g,g,g,g,g,g,g,g,g,g,g,g,g,g,g,g,g,g,g,g,g,g,g,g,g,g,E,E,E,E,H,H,H,H,H,H,S,H,H,H,H,H,H,H,H,H,H,H,H,H,H,H,H,H,H,H,H,H,H,H,H,H,H,C,E,L,L,L,L,E,E,E,E,g,E,E,H,E,E,L,L,b,b,E,g,E,E,E,b,g,E,E,E,E,E],j=[N,N,N,N,N,N,N,N,N,N,N,H,H,H,g,y,E,E,E,E,E,E,E,E,E,E,E,E,E,E,E,E,E,E,E,E,E,E,E,E,N,S,O,M,_,D,P,C,L,L,L,L,L,E,E,E,E,E,E,E,E,E,E,E,E,E,E,E,C,E,E,E,E,E,E,E,E,E,E,E,E,E,E,E,E,E,E,E,E,E,E,E,E,E,E,N];t.L=g,t.R=y,t.EN=b,t.ON_R=3,t.AN=4,t.R_H=5,t.B=6,t.RLE=7,t.DOT="\u00b7",t.doBidiReorder=function(e,n,r){if(e.length<2)return{};var i=e.split(""),o=new Array(i.length),u=new Array(i.length),a=[];s=r?m:v,F(i,a,i.length,n);for(var f=0;f<o.length;o[f]=f,f++);I(2,a,o),I(1,a,o);for(var f=0;f<o.length-1;f++)n[f]===w?a[f]=t.AN:a[f]===y&&(n[f]>T&&n[f]<O||n[f]===E||n[f]===H)?a[f]=t.ON_R:f>0&&i[f-1]==="\u0644"&&/\u0622|\u0623|\u0625|\u0627/.test(i[f])&&(a[f-1]=a[f]=t.R_H,f++);i[i.length-1]===t.DOT&&(a[i.length-1]=t.B),i[0]==="\u202b"&&(a[0]=t.RLE);for(var f=0;f<o.length;f++)u[f]=a[o[f]];return{logicalFromVisual:o,bidiLevels:u}},t.hasBidiCharacters=function(e,t){var n=!1;for(var r=0;r<e.length;r++)t[r]=R(e.charAt(r)),!n&&(t[r]==y||t[r]==T||t[r]==w)&&(n=!0);return n},t.getVisualFromLogicalIdx=function(e,t){for(var n=0;n<t.logicalFromVisual.length;n++)if(t.logicalFromVisual[n]==e)return n;return 0}}),ace.define("ace/bidihandler",["require","exports","module","ace/lib/bidiutil","ace/lib/lang"],function(e,t,n){"use strict";var r=e("./lib/bidiutil"),i=e("./lib/lang"),s=/[\u0590-\u05f4\u0600-\u06ff\u0700-\u08ac\u202B]/,o=function(e){this.session=e,this.bidiMap={},this.currentRow=null,this.bidiUtil=r,this.charWidths=[],this.EOL="\u00ac",this.showInvisibles=!0,this.isRtlDir=!1,this.$isRtl=!1,this.line="",this.wrapIndent=0,this.EOF="\u00b6",this.RLE="\u202b",this.contentWidth=0,this.fontMetrics=null,this.rtlLineOffset=0,this.wrapOffset=0,this.isMoveLeftOperation=!1,this.seenBidi=s.test(e.getValue())};(function(){this.isBidiRow=function(e,t,n){return this.seenBidi?(e!==this.currentRow&&(this.currentRow=e,this.updateRowLine(t,n),this.updateBidiMap()),this.bidiMap.bidiLevels):!1},this.onChange=function(e){this.seenBidi?this.currentRow=null:e.action=="insert"&&s.test(e.lines.join("\n"))&&(this.seenBidi=!0,this.currentRow=null)},this.getDocumentRow=function(){var e=0,t=this.session.$screenRowCache;if(t.length){var n=this.session.$getRowCacheIndex(t,this.currentRow);n>=0&&(e=this.session.$docRowCache[n])}return e},this.getSplitIndex=function(){var e=0,t=this.session.$screenRowCache;if(t.length){var n,r=this.session.$getRowCacheIndex(t,this.currentRow);while(this.currentRow-e>0){n=this.session.$getRowCacheIndex(t,this.currentRow-e-1);if(n!==r)break;r=n,e++}}else e=this.currentRow;return e},this.updateRowLine=function(e,t){e===undefined&&(e=this.getDocumentRow());var n=e===this.session.getLength()-1,s=n?this.EOF:this.EOL;this.wrapIndent=0,this.line=this.session.getLine(e),this.isRtlDir=this.$isRtl||this.line.charAt(0)===this.RLE;if(this.session.$useWrapMode){var o=this.session.$wrapData[e];o&&(t===undefined&&(t=this.getSplitIndex()),t>0&&o.length?(this.wrapIndent=o.indent,this.wrapOffset=this.wrapIndent*this.charWidths[r.L],this.line=t<o.length?this.line.substring(o[t-1],o[t]):this.line.substring(o[o.length-1])):this.line=this.line.substring(0,o[t])),t==o.length&&(this.line+=this.showInvisibles?s:r.DOT)}else this.line+=this.showInvisibles?s:r.DOT;var u=this.session,a=0,f;this.line=this.line.replace(/\t|[\u1100-\u2029, \u202F-\uFFE6]/g,function(e,t){return e===" "||u.isFullWidth(e.charCodeAt(0))?(f=e===" "?u.getScreenTabSize(t+a):2,a+=f-1,i.stringRepeat(r.DOT,f)):e}),this.isRtlDir&&(this.fontMetrics.$main.textContent=this.line.charAt(this.line.length-1)==r.DOT?this.line.substr(0,this.line.length-1):this.line,this.rtlLineOffset=this.contentWidth-this.fontMetrics.$main.getBoundingClientRect().width)},this.updateBidiMap=function(){var e=[];r.hasBidiCharacters(this.line,e)||this.isRtlDir?this.bidiMap=r.doBidiReorder(this.line,e,this.isRtlDir):this.bidiMap={}},this.markAsDirty=function(){this.currentRow=null},this.updateCharacterWidths=function(e){if(this.characterWidth===e.$characterSize.width)return;this.fontMetrics=e;var t=this.characterWidth=e.$characterSize.width,n=e.$measureCharWidth("\u05d4");this.charWidths[r.L]=this.charWidths[r.EN]=this.charWidths[r.ON_R]=t,this.charWidths[r.R]=this.charWidths[r.AN]=n,this.charWidths[r.R_H]=n*.45,this.charWidths[r.B]=this.charWidths[r.RLE]=0,this.currentRow=null},this.setShowInvisibles=function(e){this.showInvisibles=e,this.currentRow=null},this.setEolChar=function(e){this.EOL=e},this.setContentWidth=function(e){this.contentWidth=e},this.isRtlLine=function(e){return this.$isRtl?!0:e!=undefined?this.session.getLine(e).charAt(0)==this.RLE:this.isRtlDir},this.setRtlDirection=function(e,t){var n=e.getCursorPosition();for(var r=e.selection.getSelectionAnchor().row;r<=n.row;r++)!t&&e.session.getLine(r).charAt(0)===e.session.$bidiHandler.RLE?e.session.doc.removeInLine(r,0,1):t&&e.session.getLine(r).charAt(0)!==e.session.$bidiHandler.RLE&&e.session.doc.insert({column:0,row:r},e.session.$bidiHandler.RLE)},this.getPosLeft=function(e){e-=this.wrapIndent;var t=this.line.charAt(0)===this.RLE?1:0,n=e>t?this.session.getOverwrite()?e:e-1:t,i=r.getVisualFromLogicalIdx(n,this.bidiMap),s=this.bidiMap.bidiLevels,o=0;!this.session.getOverwrite()&&e<=t&&s[i]%2!==0&&i++;for(var u=0;u<i;u++)o+=this.charWidths[s[u]];return!this.session.getOverwrite()&&e>t&&s[i]%2===0&&(o+=this.charWidths[s[i]]),this.wrapIndent&&(o+=this.isRtlDir?-1*this.wrapOffset:this.wrapOffset),this.isRtlDir&&(o+=this.rtlLineOffset),o},this.getSelections=function(e,t){var n=this.bidiMap,r=n.bidiLevels,i,s=[],o=0,u=Math.min(e,t)-this.wrapIndent,a=Math.max(e,t)-this.wrapIndent,f=!1,l=!1,c=0;this.wrapIndent&&(o+=this.isRtlDir?-1*this.wrapOffset:this.wrapOffset);for(var h,p=0;p<r.length;p++)h=n.logicalFromVisual[p],i=r[p],f=h>=u&&h<a,f&&!l?c=o:!f&&l&&s.push({left:c,width:o-c}),o+=this.charWidths[i],l=f;f&&p===r.length&&s.push({left:c,width:o-c});if(this.isRtlDir)for(var d=0;d<s.length;d++)s[d].left+=this.rtlLineOffset;return s},this.offsetToCol=function(e){this.isRtlDir&&(e-=this.rtlLineOffset);var t=0,e=Math.max(e,0),n=0,r=0,i=this.bidiMap.bidiLevels,s=this.charWidths[i[r]];this.wrapIndent&&(e-=this.isRtlDir?-1*this.wrapOffset:this.wrapOffset);while(e>n+s/2){n+=s;if(r===i.length-1){s=0;break}s=this.charWidths[i[++r]]}return r>0&&i[r-1]%2!==0&&i[r]%2===0?(e<n&&r--,t=this.bidiMap.logicalFromVisual[r]):r>0&&i[r-1]%2===0&&i[r]%2!==0?t=1+(e>n?this.bidiMap.logicalFromVisual[r]:this.bidiMap.logicalFromVisual[r-1]):this.isRtlDir&&r===i.length-1&&s===0&&i[r-1]%2===0||!this.isRtlDir&&r===0&&i[r]%2!==0?t=1+this.bidiMap.logicalFromVisual[r]:(r>0&&i[r-1]%2!==0&&s!==0&&r--,t=this.bidiMap.logicalFromVisual[r]),t===0&&this.isRtlDir&&t++,t+this.wrapIndent}}).call(o.prototype),t.BidiHandler=o}),ace.define("ace/selection",["require","exports","module","ace/lib/oop","ace/lib/lang","ace/lib/event_emitter","ace/range"],function(e,t,n){"use strict";var r=e("./lib/oop"),i=e("./lib/lang"),s=e("./lib/event_emitter").EventEmitter,o=e("./range").Range,u=function(e){this.session=e,this.doc=e.getDocument(),this.clearSelection(),this.cursor=this.lead=this.doc.createAnchor(0,0),this.anchor=this.doc.createAnchor(0,0),this.$silent=!1;var t=this;this.cursor.on("change",function(e){t.$cursorChanged=!0,t.$silent||t._emit("changeCursor"),!t.$isEmpty&&!t.$silent&&t._emit("changeSelection"),!t.$keepDesiredColumnOnChange&&e.old.column!=e.value.column&&(t.$desiredColumn=null)}),this.anchor.on("change",function(){t.$anchorChanged=!0,!t.$isEmpty&&!t.$silent&&t._emit("changeSelection")})};(function(){r.implement(this,s),this.isEmpty=function(){return this.$isEmpty||this.anchor.row==this.lead.row&&this.anchor.column==this.lead.column},this.isMultiLine=function(){return!this.$isEmpty&&this.anchor.row!=this.cursor.row},this.getCursor=function(){return this.lead.getPosition()},this.setSelectionAnchor=function(e,t){this.$isEmpty=!1,this.anchor.setPosition(e,t)},this.getAnchor=this.getSelectionAnchor=function(){return this.$isEmpty?this.getSelectionLead():this.anchor.getPosition()},this.getSelectionLead=function(){return this.lead.getPosition()},this.isBackwards=function(){var e=this.anchor,t=this.lead;return e.row>t.row||e.row==t.row&&e.column>t.column},this.getRange=function(){var e=this.anchor,t=this.lead;return this.$isEmpty?o.fromPoints(t,t):this.isBackwards()?o.fromPoints(t,e):o.fromPoints(e,t)},this.clearSelection=function(){this.$isEmpty||(this.$isEmpty=!0,this._emit("changeSelection"))},this.selectAll=function(){this.$setSelection(0,0,Number.MAX_VALUE,Number.MAX_VALUE)},this.setRange=this.setSelectionRange=function(e,t){var n=t?e.end:e.start,r=t?e.start:e.end;this.$setSelection(n.row,n.column,r.row,r.column)},this.$setSelection=function(e,t,n,r){var i=this.$isEmpty,s=this.inMultiSelectMode;this.$silent=!0,this.$cursorChanged=this.$anchorChanged=!1,this.anchor.setPosition(e,t),this.cursor.setPosition(n,r),this.$isEmpty=!o.comparePoints(this.anchor,this.cursor),this.$silent=!1,this.$cursorChanged&&this._emit("changeCursor"),(this.$cursorChanged||this.$anchorChanged||i!=this.$isEmpty||s)&&this._emit("changeSelection")},this.$moveSelection=function(e){var t=this.lead;this.$isEmpty&&this.setSelectionAnchor(t.row,t.column),e.call(this)},this.selectTo=function(e,t){this.$moveSelection(function(){this.moveCursorTo(e,t)})},this.selectToPosition=function(e){this.$moveSelection(function(){this.moveCursorToPosition(e)})},this.moveTo=function(e,t){this.clearSelection(),this.moveCursorTo(e,t)},this.moveToPosition=function(e){this.clearSelection(),this.moveCursorToPosition(e)},this.selectUp=function(){this.$moveSelection(this.moveCursorUp)},this.selectDown=function(){this.$moveSelection(this.moveCursorDown)},this.selectRight=function(){this.$moveSelection(this.moveCursorRight)},this.selectLeft=function(){this.$moveSelection(this.moveCursorLeft)},this.selectLineStart=function(){this.$moveSelection(this.moveCursorLineStart)},this.selectLineEnd=function(){this.$moveSelection(this.moveCursorLineEnd)},this.selectFileEnd=function(){this.$moveSelection(this.moveCursorFileEnd)},this.selectFileStart=function(){this.$moveSelection(this.moveCursorFileStart)},this.selectWordRight=function(){this.$moveSelection(this.moveCursorWordRight)},this.selectWordLeft=function(){this.$moveSelection(this.moveCursorWordLeft)},this.getWordRange=function(e,t){if(typeof t=="undefined"){var n=e||this.lead;e=n.row,t=n.column}return this.session.getWordRange(e,t)},this.selectWord=function(){this.setSelectionRange(this.getWordRange())},this.selectAWord=function(){var e=this.getCursor(),t=this.session.getAWordRange(e.row,e.column);this.setSelectionRange(t)},this.getLineRange=function(e,t){var n=typeof e=="number"?e:this.lead.row,r,i=this.session.getFoldLine(n);return i?(n=i.start.row,r=i.end.row):r=n,t===!0?new o(n,0,r,this.session.getLine(r).length):new o(n,0,r+1,0)},this.selectLine=function(){this.setSelectionRange(this.getLineRange())},this.moveCursorUp=function(){this.moveCursorBy(-1,0)},this.moveCursorDown=function(){this.moveCursorBy(1,0)},this.wouldMoveIntoSoftTab=function(e,t,n){var r=e.column,i=e.column+t;return n<0&&(r=e.column-t,i=e.column),this.session.isTabStop(e)&&this.doc.getLine(e.row).slice(r,i).split(" ").length-1==t},this.moveCursorLeft=function(){var e=this.lead.getPosition(),t;if(t=this.session.getFoldAt(e.row,e.column,-1))this.moveCursorTo(t.start.row,t.start.column);else if(e.column===0)e.row>0&&this.moveCursorTo(e.row-1,this.doc.getLine(e.row-1).length);else{var n=this.session.getTabSize();this.wouldMoveIntoSoftTab(e,n,-1)&&!this.session.getNavigateWithinSoftTabs()?this.moveCursorBy(0,-n):this.moveCursorBy(0,-1)}},this.moveCursorRight=function(){var e=this.lead.getPosition(),t;if(t=this.session.getFoldAt(e.row,e.column,1))this.moveCursorTo(t.end.row,t.end.column);else if(this.lead.column==this.doc.getLine(this.lead.row).length)this.lead.row<this.doc.getLength()-1&&this.moveCursorTo(this.lead.row+1,0);else{var n=this.session.getTabSize(),e=this.lead;this.wouldMoveIntoSoftTab(e,n,1)&&!this.session.getNavigateWithinSoftTabs()?this.moveCursorBy(0,n):this.moveCursorBy(0,1)}},this.moveCursorLineStart=function(){var e=this.lead.row,t=this.lead.column,n=this.session.documentToScreenRow(e,t),r=this.session.screenToDocumentPosition(n,0),i=this.session.getDisplayLine(e,null,r.row,r.column),s=i.match(/^\s*/);s[0].length!=t&&!this.session.$useEmacsStyleLineStart&&(r.column+=s[0].length),this.moveCursorToPosition(r)},this.moveCursorLineEnd=function(){var e=this.lead,t=this.session.getDocumentLastRowColumnPosition(e.row,e.column);if(this.lead.column==t.column){var n=this.session.getLine(t.row);if(t.column==n.length){var r=n.search(/\s+$/);r>0&&(t.column=r)}}this.moveCursorTo(t.row,t.column)},this.moveCursorFileEnd=function(){var e=this.doc.getLength()-1,t=this.doc.getLine(e).length;this.moveCursorTo(e,t)},this.moveCursorFileStart=function(){this.moveCursorTo(0,0)},this.moveCursorLongWordRight=function(){var e=this.lead.row,t=this.lead.column,n=this.doc.getLine(e),r=n.substring(t);this.session.nonTokenRe.lastIndex=0,this.session.tokenRe.lastIndex=0;var i=this.session.getFoldAt(e,t,1);if(i){this.moveCursorTo(i.end.row,i.end.column);return}this.session.nonTokenRe.exec(r)&&(t+=this.session.nonTokenRe.lastIndex,this.session.nonTokenRe.lastIndex=0,r=n.substring(t));if(t>=n.length){this.moveCursorTo(e,n.length),this.moveCursorRight(),e<this.doc.getLength()-1&&this.moveCursorWordRight();return}this.session.tokenRe.exec(r)&&(t+=this.session.tokenRe.lastIndex,this.session.tokenRe.lastIndex=0),this.moveCursorTo(e,t)},this.moveCursorLongWordLeft=function(){var e=this.lead.row,t=this.lead.column,n;if(n=this.session.getFoldAt(e,t,-1)){this.moveCursorTo(n.start.row,n.start.column);return}var r=this.session.getFoldStringAt(e,t,-1);r==null&&(r=this.doc.getLine(e).substring(0,t));var s=i.stringReverse(r);this.session.nonTokenRe.lastIndex=0,this.session.tokenRe.lastIndex=0,this.session.nonTokenRe.exec(s)&&(t-=this.session.nonTokenRe.lastIndex,s=s.slice(this.session.nonTokenRe.lastIndex),this.session.nonTokenRe.lastIndex=0);if(t<=0){this.moveCursorTo(e,0),this.moveCursorLeft(),e>0&&this.moveCursorWordLeft();return}this.session.tokenRe.exec(s)&&(t-=this.session.tokenRe.lastIndex,this.session.tokenRe.lastIndex=0),this.moveCursorTo(e,t)},this.$shortWordEndIndex=function(e){var t=0,n,r=/\s/,i=this.session.tokenRe;i.lastIndex=0;if(this.session.tokenRe.exec(e))t=this.session.tokenRe.lastIndex;else{while((n=e[t])&&r.test(n))t++;if(t<1){i.lastIndex=0;while((n=e[t])&&!i.test(n)){i.lastIndex=0,t++;if(r.test(n)){if(t>2){t--;break}while((n=e[t])&&r.test(n))t++;if(t>2)break}}}}return i.lastIndex=0,t},this.moveCursorShortWordRight=function(){var e=this.lead.row,t=this.lead.column,n=this.doc.getLine(e),r=n.substring(t),i=this.session.getFoldAt(e,t,1);if(i)return this.moveCursorTo(i.end.row,i.end.column);if(t==n.length){var s=this.doc.getLength();do e++,r=this.doc.getLine(e);while(e<s&&/^\s*$/.test(r));/^\s+/.test(r)||(r=""),t=0}var o=this.$shortWordEndIndex(r);this.moveCursorTo(e,t+o)},this.moveCursorShortWordLeft=function(){var e=this.lead.row,t=this.lead.column,n;if(n=this.session.getFoldAt(e,t,-1))return this.moveCursorTo(n.start.row,n.start.column);var r=this.session.getLine(e).substring(0,t);if(t===0){do e--,r=this.doc.getLine(e);while(e>0&&/^\s*$/.test(r));t=r.length,/\s+$/.test(r)||(r="")}var s=i.stringReverse(r),o=this.$shortWordEndIndex(s);return this.moveCursorTo(e,t-o)},this.moveCursorWordRight=function(){this.session.$selectLongWords?this.moveCursorLongWordRight():this.moveCursorShortWordRight()},this.moveCursorWordLeft=function(){this.session.$selectLongWords?this.moveCursorLongWordLeft():this.moveCursorShortWordLeft()},this.moveCursorBy=function(e,t){var n=this.session.documentToScreenPosition(this.lead.row,this.lead.column),r;t===0&&(e!==0&&(this.session.$bidiHandler.isBidiRow(n.row,this.lead.row)?(r=this.session.$bidiHandler.getPosLeft(n.column),n.column=Math.round(r/this.session.$bidiHandler.charWidths[0])):r=n.column*this.session.$bidiHandler.charWidths[0]),this.$desiredColumn?n.column=this.$desiredColumn:this.$desiredColumn=n.column);var i=this.session.screenToDocumentPosition(n.row+e,n.column,r);e!==0&&t===0&&i.row===this.lead.row&&i.column===this.lead.column&&this.session.lineWidgets&&this.session.lineWidgets[i.row]&&(i.row>0||e>0)&&i.row++,this.moveCursorTo(i.row,i.column+t,t===0)},this.moveCursorToPosition=function(e){this.moveCursorTo(e.row,e.column)},this.moveCursorTo=function(e,t,n){var r=this.session.getFoldAt(e,t,1);r&&(e=r.start.row,t=r.start.column),this.$keepDesiredColumnOnChange=!0;var i=this.session.getLine(e);/[\uDC00-\uDFFF]/.test(i.charAt(t))&&i.charAt(t-1)&&(this.lead.row==e&&this.lead.column==t+1?t-=1:t+=1),this.lead.setPosition(e,t),this.$keepDesiredColumnOnChange=!1,n||(this.$desiredColumn=null)},this.moveCursorToScreen=function(e,t,n){var r=this.session.screenToDocumentPosition(e,t);this.moveCursorTo(r.row,r.column,n)},this.detach=function(){this.lead.detach(),this.anchor.detach(),this.session=this.doc=null},this.fromOrientedRange=function(e){this.setSelectionRange(e,e.cursor==e.start),this.$desiredColumn=e.desiredColumn||this.$desiredColumn},this.toOrientedRange=function(e){var t=this.getRange();return e?(e.start.column=t.start.column,e.start.row=t.start.row,e.end.column=t.end.column,e.end.row=t.end.row):e=t,e.cursor=this.isBackwards()?e.start:e.end,e.desiredColumn=this.$desiredColumn,e},this.getRangeOfMovements=function(e){var t=this.getCursor();try{e(this);var n=this.getCursor();return o.fromPoints(t,n)}catch(r){return o.fromPoints(t,t)}finally{this.moveCursorToPosition(t)}},this.toJSON=function(){if(this.rangeCount)var e=this.ranges.map(function(e){var t=e.clone();return t.isBackwards=e.cursor==e.start,t});else{var e=this.getRange();e.isBackwards=this.isBackwards()}return e},this.fromJSON=function(e){if(e.start==undefined){if(this.rangeList&&e.length>1){this.toSingleRange(e[0]);for(var t=e.length;t--;){var n=o.fromPoints(e[t].start,e[t].end);e[t].isBackwards&&(n.cursor=n.start),this.addRange(n,!0)}return}e=e[0]}this.rangeList&&this.toSingleRange(e),this.setSelectionRange(e,e.isBackwards)},this.isEqual=function(e){if((e.length||this.rangeCount)&&e.length!=this.rangeCount)return!1;if(!e.length||!this.ranges)return this.getRange().isEqual(e);for(var t=this.ranges.length;t--;)if(!this.ranges[t].isEqual(e[t]))return!1;return!0}}).call(u.prototype),t.Selection=u}),ace.define("ace/tokenizer",["require","exports","module","ace/config"],function(e,t,n){"use strict";var r=e("./config"),i=2e3,s=function(e){this.states=e,this.regExps={},this.matchMappings={};for(var t in this.states){var n=this.states[t],r=[],i=0,s=this.matchMappings[t]={defaultToken:"text"},o="g",u=[];for(var a=0;a<n.length;a++){var f=n[a];f.defaultToken&&(s.defaultToken=f.defaultToken),f.caseInsensitive&&(o="gi");if(f.regex==null)continue;f.regex instanceof RegExp&&(f.regex=f.regex.toString().slice(1,-1));var l=f.regex,c=(new RegExp("(?:("+l+")|(.))")).exec("a").length-2;Array.isArray(f.token)?f.token.length==1||c==1?f.token=f.token[0]:c-1!=f.token.length?(this.reportError("number of classes and regexp groups doesn't match",{rule:f,groupCount:c-1}),f.token=f.token[0]):(f.tokenArray=f.token,f.token=null,f.onMatch=this.$arrayTokens):typeof f.token=="function"&&!f.onMatch&&(c>1?f.onMatch=this.$applyToken:f.onMatch=f.token),c>1&&(/\\\d/.test(f.regex)?l=f.regex.replace(/\\([0-9]+)/g,function(e,t){return"\\"+(parseInt(t,10)+i+1)}):(c=1,l=this.removeCapturingGroups(f.regex)),!f.splitRegex&&typeof f.token!="string"&&u.push(f)),s[i]=a,i+=c,r.push(l),f.onMatch||(f.onMatch=null)}r.length||(s[0]=0,r.push("$")),u.forEach(function(e){e.splitRegex=this.createSplitterRegexp(e.regex,o)},this),this.regExps[t]=new RegExp("("+r.join(")|(")+")|($)",o)}};(function(){this.$setMaxTokenCount=function(e){i=e|0},this.$applyToken=function(e){var t=this.splitRegex.exec(e).slice(1),n=this.token.apply(this,t);if(typeof n=="string")return[{type:n,value:e}];var r=[];for(var i=0,s=n.length;i<s;i++)t[i]&&(r[r.length]={type:n[i],value:t[i]});return r},this.$arrayTokens=function(e){if(!e)return[];var t=this.splitRegex.exec(e);if(!t)return"text";var n=[],r=this.tokenArray;for(var i=0,s=r.length;i<s;i++)t[i+1]&&(n[n.length]={type:r[i],value:t[i+1]});return n},this.removeCapturingGroups=function(e){var t=e.replace(/\\.|\[(?:\\.|[^\\\]])*|\(\?[:=!]|(\()/g,function(e,t){return t?"(?:":e});return t},this.createSplitterRegexp=function(e,t){if(e.indexOf("(?=")!=-1){var n=0,r=!1,i={};e.replace(/(\\.)|(\((?:\?[=!])?)|(\))|([\[\]])/g,function(e,t,s,o,u,a){return r?r=u!="]":u?r=!0:o?(n==i.stack&&(i.end=a+1,i.stack=-1),n--):s&&(n++,s.length!=1&&(i.stack=n,i.start=a)),e}),i.end!=null&&/^\)*$/.test(e.substr(i.end))&&(e=e.substring(0,i.start)+e.substr(i.end))}return e.charAt(0)!="^"&&(e="^"+e),e.charAt(e.length-1)!="$"&&(e+="$"),new RegExp(e,(t||"").replace("g",""))},this.getLineTokens=function(e,t){if(t&&typeof t!="string"){var n=t.slice(0);t=n[0],t==="#tmp"&&(n.shift(),t=n.shift())}else var n=[];var r=t||"start",s=this.states[r];s||(r="start",s=this.states[r]);var o=this.matchMappings[r],u=this.regExps[r];u.lastIndex=0;var a,f=[],l=0,c=0,h={type:null,value:""};while(a=u.exec(e)){var p=o.defaultToken,d=null,v=a[0],m=u.lastIndex;if(m-v.length>l){var g=e.substring(l,m-v.length);h.type==p?h.value+=g:(h.type&&f.push(h),h={type:p,value:g})}for(var y=0;y<a.length-2;y++){if(a[y+1]===undefined)continue;d=s[o[y]],d.onMatch?p=d.onMatch(v,r,n,e):p=d.token,d.next&&(typeof d.next=="string"?r=d.next:r=d.next(r,n),s=this.states[r],s||(this.reportError("state doesn't exist",r),r="start",s=this.states[r]),o=this.matchMappings[r],l=m,u=this.regExps[r],u.lastIndex=m),d.consumeLineEnd&&(l=m);break}if(v)if(typeof p=="string")!!d&&d.merge===!1||h.type!==p?(h.type&&f.push(h),h={type:p,value:v}):h.value+=v;else if(p){h.type&&f.push(h),h={type:null,value:""};for(var y=0;y<p.length;y++)f.push(p[y])}if(l==e.length)break;l=m;if(c++>i){c>2*e.length&&this.reportError("infinite loop with in ace tokenizer",{startState:t,line:e});while(l<e.length)h.type&&f.push(h),h={value:e.substring(l,l+=500),type:"overflow"};r="start",n=[];break}}return h.type&&f.push(h),n.length>1&&n[0]!==r&&n.unshift("#tmp",r),{tokens:f,state:n.length?n:r}},this.reportError=r.reportError}).call(s.prototype),t.Tokenizer=s}),ace.define("ace/mode/text_highlight_rules",["require","exports","module","ace/lib/lang"],function(e,t,n){"use strict";var r=e("../lib/lang"),i=function(){this.$rules={start:[{token:"empty_line",regex:"^$"},{defaultToken:"text"}]}};(function(){this.addRules=function(e,t){if(!t){for(var n in e)this.$rules[n]=e[n];return}for(var n in e){var r=e[n];for(var i=0;i<r.length;i++){var s=r[i];if(s.next||s.onMatch)typeof s.next=="string"&&s.next.indexOf(t)!==0&&(s.next=t+s.next),s.nextState&&s.nextState.indexOf(t)!==0&&(s.nextState=t+s.nextState)}this.$rules[t+n]=r}},this.getRules=function(){return this.$rules},this.embedRules=function(e,t,n,i,s){var o=typeof e=="function"?(new e).getRules():e;if(i)for(var u=0;u<i.length;u++)i[u]=t+i[u];else{i=[];for(var a in o)i.push(t+a)}this.addRules(o,t);if(n){var f=Array.prototype[s?"push":"unshift"];for(var u=0;u<i.length;u++)f.apply(this.$rules[i[u]],r.deepCopy(n))}this.$embeds||(this.$embeds=[]),this.$embeds.push(t)},this.getEmbeds=function(){return this.$embeds};var e=function(e,t){return(e!="start"||t.length)&&t.unshift(this.nextState,e),this.nextState},t=function(e,t){return t.shift(),t.shift()||"start"};this.normalizeRules=function(){function i(s){var o=r[s];o.processed=!0;for(var u=0;u<o.length;u++){var a=o[u],f=null;Array.isArray(a)&&(f=a,a={}),!a.regex&&a.start&&(a.regex=a.start,a.next||(a.next=[]),a.next.push({defaultToken:a.token},{token:a.token+".end",regex:a.end||a.start,next:"pop"}),a.token=a.token+".start",a.push=!0);var l=a.next||a.push;if(l&&Array.isArray(l)){var c=a.stateName;c||(c=a.token,typeof c!="string"&&(c=c[0]||""),r[c]&&(c+=n++)),r[c]=l,a.next=c,i(c)}else l=="pop"&&(a.next=t);a.push&&(a.nextState=a.next||a.push,a.next=e,delete a.push);if(a.rules)for(var h in a.rules)r[h]?r[h].push&&r[h].push.apply(r[h],a.rules[h]):r[h]=a.rules[h];var p=typeof a=="string"?a:a.include;p&&(Array.isArray(p)?f=p.map(function(e){return r[e]}):f=r[p]);if(f){var d=[u,1].concat(f);a.noEscape&&(d=d.filter(function(e){return!e.next})),o.splice.apply(o,d),u--}a.keywordMap&&(a.token=this.createKeywordMapper(a.keywordMap,a.defaultToken||"text",a.caseInsensitive),delete a.defaultToken)}}var n=0,r=this.$rules;Object.keys(r).forEach(i,this)},this.createKeywordMapper=function(e,t,n,r){var i=Object.create(null);return Object.keys(e).forEach(function(t){var s=e[t];n&&(s=s.toLowerCase());var o=s.split(r||"|");for(var u=o.length;u--;)i[o[u]]=t}),Object.getPrototypeOf(i)&&(i.__proto__=null),this.$keywordList=Object.keys(i),e=null,n?function(e){return i[e.toLowerCase()]||t}:function(e){return i[e]||t}},this.getKeywords=function(){return this.$keywords}}).call(i.prototype),t.TextHighlightRules=i}),ace.define("ace/mode/behaviour",["require","exports","module"],function(e,t,n){"use strict";var r=function(){this.$behaviours={}};(function(){this.add=function(e,t,n){switch(undefined){case this.$behaviours:this.$behaviours={};case this.$behaviours[e]:this.$behaviours[e]={}}this.$behaviours[e][t]=n},this.addBehaviours=function(e){for(var t in e)for(var n in e[t])this.add(t,n,e[t][n])},this.remove=function(e){this.$behaviours&&this.$behaviours[e]&&delete this.$behaviours[e]},this.inherit=function(e,t){if(typeof e=="function")var n=(new e).getBehaviours(t);else var n=e.getBehaviours(t);this.addBehaviours(n)},this.getBehaviours=function(e){if(!e)return this.$behaviours;var t={};for(var n=0;n<e.length;n++)this.$behaviours[e[n]]&&(t[e[n]]=this.$behaviours[e[n]]);return t}}).call(r.prototype),t.Behaviour=r}),ace.define("ace/token_iterator",["require","exports","module","ace/range"],function(e,t,n){"use strict";var r=e("./range").Range,i=function(e,t,n){this.$session=e,this.$row=t,this.$rowTokens=e.getTokens(t);var r=e.getTokenAt(t,n);this.$tokenIndex=r?r.index:-1};(function(){this.stepBackward=function(){this.$tokenIndex-=1;while(this.$tokenIndex<0){this.$row-=1;if(this.$row<0)return this.$row=0,null;this.$rowTokens=this.$session.getTokens(this.$row),this.$tokenIndex=this.$rowTokens.length-1}return this.$rowTokens[this.$tokenIndex]},this.stepForward=function(){this.$tokenIndex+=1;var e;while(this.$tokenIndex>=this.$rowTokens.length){this.$row+=1,e||(e=this.$session.getLength());if(this.$row>=e)return this.$row=e-1,null;this.$rowTokens=this.$session.getTokens(this.$row),this.$tokenIndex=0}return this.$rowTokens[this.$tokenIndex]},this.getCurrentToken=function(){return this.$rowTokens[this.$tokenIndex]},this.getCurrentTokenRow=function(){return this.$row},this.getCurrentTokenColumn=function(){var e=this.$rowTokens,t=this.$tokenIndex,n=e[t].start;if(n!==undefined)return n;n=0;while(t>0)t-=1,n+=e[t].value.length;return n},this.getCurrentTokenPosition=function(){return{row:this.$row,column:this.getCurrentTokenColumn()}},this.getCurrentTokenRange=function(){var e=this.$rowTokens[this.$tokenIndex],t=this.getCurrentTokenColumn();return new r(this.$row,t,this.$row,t+e.value.length)}}).call(i.prototype),t.TokenIterator=i}),ace.define("ace/mode/behaviour/cstyle",["require","exports","module","ace/lib/oop","ace/mode/behaviour","ace/token_iterator","ace/lib/lang"],function(e,t,n){"use strict";var r=e("../../lib/oop"),i=e("../behaviour").Behaviour,s=e("../../token_iterator").TokenIterator,o=e("../../lib/lang"),u=["text","paren.rparen","punctuation.operator"],a=["text","paren.rparen","punctuation.operator","comment"],f,l={},c={'"':'"',"'":"'"},h=function(e){var t=-1;e.multiSelect&&(t=e.selection.index,l.rangeCount!=e.multiSelect.rangeCount&&(l={rangeCount:e.multiSelect.rangeCount}));if(l[t])return f=l[t];f=l[t]={autoInsertedBrackets:0,autoInsertedRow:-1,autoInsertedLineEnd:"",maybeInsertedBrackets:0,maybeInsertedRow:-1,maybeInsertedLineStart:"",maybeInsertedLineEnd:""}},p=function(e,t,n,r){var i=e.end.row-e.start.row;return{text:n+t+r,selection:[0,e.start.column+1,i,e.end.column+(i?0:1)]}},d=function(e){this.add("braces","insertion",function(t,n,r,i,s){var u=r.getCursorPosition(),a=i.doc.getLine(u.row);if(s=="{"){h(r);var l=r.getSelectionRange(),c=i.doc.getTextRange(l);if(c!==""&&c!=="{"&&r.getWrapBehavioursEnabled())return p(l,c,"{","}");if(d.isSaneInsertion(r,i))return/[\]\}\)]/.test(a[u.column])||r.inMultiSelectMode||e&&e.braces?(d.recordAutoInsert(r,i,"}"),{text:"{}",selection:[1,1]}):(d.recordMaybeInsert(r,i,"{"),{text:"{",selection:[1,1]})}else if(s=="}"){h(r);var v=a.substring(u.column,u.column+1);if(v=="}"){var m=i.$findOpeningBracket("}",{column:u.column+1,row:u.row});if(m!==null&&d.isAutoInsertedClosing(u,a,s))return d.popAutoInsertedClosing(),{text:"",selection:[1,1]}}}else{if(s=="\n"||s=="\r\n"){h(r);var g="";d.isMaybeInsertedClosing(u,a)&&(g=o.stringRepeat("}",f.maybeInsertedBrackets),d.clearMaybeInsertedClosing());var v=a.substring(u.column,u.column+1);if(v==="}"){var y=i.findMatchingBracket({row:u.row,column:u.column+1},"}");if(!y)return null;var b=this.$getIndent(i.getLine(y.row))}else{if(!g){d.clearMaybeInsertedClosing();return}var b=this.$getIndent(a)}var w=b+i.getTabString();return{text:"\n"+w+"\n"+b+g,selection:[1,w.length,1,w.length]}}d.clearMaybeInsertedClosing()}}),this.add("braces","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&s=="{"){h(n);var o=r.doc.getLine(i.start.row),u=o.substring(i.end.column,i.end.column+1);if(u=="}")return i.end.column++,i;f.maybeInsertedBrackets--}}),this.add("parens","insertion",function(e,t,n,r,i){if(i=="("){h(n);var s=n.getSelectionRange(),o=r.doc.getTextRange(s);if(o!==""&&n.getWrapBehavioursEnabled())return p(s,o,"(",")");if(d.isSaneInsertion(n,r))return d.recordAutoInsert(n,r,")"),{text:"()",selection:[1,1]}}else if(i==")"){h(n);var u=n.getCursorPosition(),a=r.doc.getLine(u.row),f=a.substring(u.column,u.column+1);if(f==")"){var l=r.$findOpeningBracket(")",{column:u.column+1,row:u.row});if(l!==null&&d.isAutoInsertedClosing(u,a,i))return d.popAutoInsertedClosing(),{text:"",selection:[1,1]}}}}),this.add("parens","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&s=="("){h(n);var o=r.doc.getLine(i.start.row),u=o.substring(i.start.column+1,i.start.column+2);if(u==")")return i.end.column++,i}}),this.add("brackets","insertion",function(e,t,n,r,i){if(i=="["){h(n);var s=n.getSelectionRange(),o=r.doc.getTextRange(s);if(o!==""&&n.getWrapBehavioursEnabled())return p(s,o,"[","]");if(d.isSaneInsertion(n,r))return d.recordAutoInsert(n,r,"]"),{text:"[]",selection:[1,1]}}else if(i=="]"){h(n);var u=n.getCursorPosition(),a=r.doc.getLine(u.row),f=a.substring(u.column,u.column+1);if(f=="]"){var l=r.$findOpeningBracket("]",{column:u.column+1,row:u.row});if(l!==null&&d.isAutoInsertedClosing(u,a,i))return d.popAutoInsertedClosing(),{text:"",selection:[1,1]}}}}),this.add("brackets","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&s=="["){h(n);var o=r.doc.getLine(i.start.row),u=o.substring(i.start.column+1,i.start.column+2);if(u=="]")return i.end.column++,i}}),this.add("string_dquotes","insertion",function(e,t,n,r,i){var s=r.$mode.$quotes||c;if(i.length==1&&s[i]){if(this.lineCommentStart&&this.lineCommentStart.indexOf(i)!=-1)return;h(n);var o=i,u=n.getSelectionRange(),a=r.doc.getTextRange(u);if(a!==""&&(a.length!=1||!s[a])&&n.getWrapBehavioursEnabled())return p(u,a,o,o);if(!a){var f=n.getCursorPosition(),l=r.doc.getLine(f.row),d=l.substring(f.column-1,f.column),v=l.substring(f.column,f.column+1),m=r.getTokenAt(f.row,f.column),g=r.getTokenAt(f.row,f.column+1);if(d=="\\"&&m&&/escape/.test(m.type))return null;var y=m&&/string|escape/.test(m.type),b=!g||/string|escape/.test(g.type),w;if(v==o)w=y!==b,w&&/string\.end/.test(g.type)&&(w=!1);else{if(y&&!b)return null;if(y&&b)return null;var E=r.$mode.tokenRe;E.lastIndex=0;var S=E.test(d);E.lastIndex=0;var x=E.test(d);if(S||x)return null;if(v&&!/[\s;,.})\]\\]/.test(v))return null;var T=l[f.column-2];if(!(d!=o||T!=o&&!E.test(T)))return null;w=!0}return{text:w?o+o:"",selection:[1,1]}}}}),this.add("string_dquotes","deletion",function(e,t,n,r,i){var s=r.$mode.$quotes||c,o=r.doc.getTextRange(i);if(!i.isMultiLine()&&s.hasOwnProperty(o)){h(n);var u=r.doc.getLine(i.start.row),a=u.substring(i.start.column+1,i.start.column+2);if(a==o)return i.end.column++,i}})};d.isSaneInsertion=function(e,t){var n=e.getCursorPosition(),r=new s(t,n.row,n.column);if(!this.$matchTokenType(r.getCurrentToken()||"text",u)){var i=new s(t,n.row,n.column+1);if(!this.$matchTokenType(i.getCurrentToken()||"text",u))return!1}return r.stepForward(),r.getCurrentTokenRow()!==n.row||this.$matchTokenType(r.getCurrentToken()||"text",a)},d.$matchTokenType=function(e,t){return t.indexOf(e.type||e)>-1},d.recordAutoInsert=function(e,t,n){var r=e.getCursorPosition(),i=t.doc.getLine(r.row);this.isAutoInsertedClosing(r,i,f.autoInsertedLineEnd[0])||(f.autoInsertedBrackets=0),f.autoInsertedRow=r.row,f.autoInsertedLineEnd=n+i.substr(r.column),f.autoInsertedBrackets++},d.recordMaybeInsert=function(e,t,n){var r=e.getCursorPosition(),i=t.doc.getLine(r.row);this.isMaybeInsertedClosing(r,i)||(f.maybeInsertedBrackets=0),f.maybeInsertedRow=r.row,f.maybeInsertedLineStart=i.substr(0,r.column)+n,f.maybeInsertedLineEnd=i.substr(r.column),f.maybeInsertedBrackets++},d.isAutoInsertedClosing=function(e,t,n){return f.autoInsertedBrackets>0&&e.row===f.autoInsertedRow&&n===f.autoInsertedLineEnd[0]&&t.substr(e.column)===f.autoInsertedLineEnd},d.isMaybeInsertedClosing=function(e,t){return f.maybeInsertedBrackets>0&&e.row===f.maybeInsertedRow&&t.substr(e.column)===f.maybeInsertedLineEnd&&t.substr(0,e.column)==f.maybeInsertedLineStart},d.popAutoInsertedClosing=function(){f.autoInsertedLineEnd=f.autoInsertedLineEnd.substr(1),f.autoInsertedBrackets--},d.clearMaybeInsertedClosing=function(){f&&(f.maybeInsertedBrackets=0,f.maybeInsertedRow=-1)},r.inherits(d,i),t.CstyleBehaviour=d}),ace.define("ace/unicode",["require","exports","module"],function(e,t,n){"use strict";var r=[48,9,8,25,5,0,2,25,48,0,11,0,5,0,6,22,2,30,2,457,5,11,15,4,8,0,2,0,18,116,2,1,3,3,9,0,2,2,2,0,2,19,2,82,2,138,2,4,3,155,12,37,3,0,8,38,10,44,2,0,2,1,2,1,2,0,9,26,6,2,30,10,7,61,2,9,5,101,2,7,3,9,2,18,3,0,17,58,3,100,15,53,5,0,6,45,211,57,3,18,2,5,3,11,3,9,2,1,7,6,2,2,2,7,3,1,3,21,2,6,2,0,4,3,3,8,3,1,3,3,9,0,5,1,2,4,3,11,16,2,2,5,5,1,3,21,2,6,2,1,2,1,2,1,3,0,2,4,5,1,3,2,4,0,8,3,2,0,8,15,12,2,2,8,2,2,2,21,2,6,2,1,2,4,3,9,2,2,2,2,3,0,16,3,3,9,18,2,2,7,3,1,3,21,2,6,2,1,2,4,3,8,3,1,3,2,9,1,5,1,2,4,3,9,2,0,17,1,2,5,4,2,2,3,4,1,2,0,2,1,4,1,4,2,4,11,5,4,4,2,2,3,3,0,7,0,15,9,18,2,2,7,2,2,2,22,2,9,2,4,4,7,2,2,2,3,8,1,2,1,7,3,3,9,19,1,2,7,2,2,2,22,2,9,2,4,3,8,2,2,2,3,8,1,8,0,2,3,3,9,19,1,2,7,2,2,2,22,2,15,4,7,2,2,2,3,10,0,9,3,3,9,11,5,3,1,2,17,4,23,2,8,2,0,3,6,4,0,5,5,2,0,2,7,19,1,14,57,6,14,2,9,40,1,2,0,3,1,2,0,3,0,7,3,2,6,2,2,2,0,2,0,3,1,2,12,2,2,3,4,2,0,2,5,3,9,3,1,35,0,24,1,7,9,12,0,2,0,2,0,5,9,2,35,5,19,2,5,5,7,2,35,10,0,58,73,7,77,3,37,11,42,2,0,4,328,2,3,3,6,2,0,2,3,3,40,2,3,3,32,2,3,3,6,2,0,2,3,3,14,2,56,2,3,3,66,5,0,33,15,17,84,13,619,3,16,2,25,6,74,22,12,2,6,12,20,12,19,13,12,2,2,2,1,13,51,3,29,4,0,5,1,3,9,34,2,3,9,7,87,9,42,6,69,11,28,4,11,5,11,11,39,3,4,12,43,5,25,7,10,38,27,5,62,2,28,3,10,7,9,14,0,89,75,5,9,18,8,13,42,4,11,71,55,9,9,4,48,83,2,2,30,14,230,23,280,3,5,3,37,3,5,3,7,2,0,2,0,2,0,2,30,3,52,2,6,2,0,4,2,2,6,4,3,3,5,5,12,6,2,2,6,67,1,20,0,29,0,14,0,17,4,60,12,5,0,4,11,18,0,5,0,3,9,2,0,4,4,7,0,2,0,2,0,2,3,2,10,3,3,6,4,5,0,53,1,2684,46,2,46,2,132,7,6,15,37,11,53,10,0,17,22,10,6,2,6,2,6,2,6,2,6,2,6,2,6,2,6,2,31,48,0,470,1,36,5,2,4,6,1,5,85,3,1,3,2,2,89,2,3,6,40,4,93,18,23,57,15,513,6581,75,20939,53,1164,68,45,3,268,4,27,21,31,3,13,13,1,2,24,9,69,11,1,38,8,3,102,3,1,111,44,25,51,13,68,12,9,7,23,4,0,5,45,3,35,13,28,4,64,15,10,39,54,10,13,3,9,7,22,4,1,5,66,25,2,227,42,2,1,3,9,7,11171,13,22,5,48,8453,301,3,61,3,105,39,6,13,4,6,11,2,12,2,4,2,0,2,1,2,1,2,107,34,362,19,63,3,53,41,11,5,15,17,6,13,1,25,2,33,4,2,134,20,9,8,25,5,0,2,25,12,88,4,5,3,5,3,5,3,2],i=0,s=[];for(var o=0;o<r.length;o+=2)s.push(i+=r[o]),r[o+1]&&s.push(45,i+=r[o+1]);t.wordChars=String.fromCharCode.apply(null,s)}),ace.define("ace/mode/text",["require","exports","module","ace/config","ace/tokenizer","ace/mode/text_highlight_rules","ace/mode/behaviour/cstyle","ace/unicode","ace/lib/lang","ace/token_iterator","ace/range"],function(e,t,n){"use strict";var r=e("../config"),i=e("../tokenizer").Tokenizer,s=e("./text_highlight_rules").TextHighlightRules,o=e("./behaviour/cstyle").CstyleBehaviour,u=e("../unicode"),a=e("../lib/lang"),f=e("../token_iterator").TokenIterator,l=e("../range").Range,c=function(){this.HighlightRules=s};(function(){this.$defaultBehaviour=new o,this.tokenRe=new RegExp("^["+u.wordChars+"\\$_]+","g"),this.nonTokenRe=new RegExp("^(?:[^"+u.wordChars+"\\$_]|\\s])+","g"),this.getTokenizer=function(){return this.$tokenizer||(this.$highlightRules=this.$highlightRules||new this.HighlightRules(this.$highlightRuleConfig),this.$tokenizer=new i(this.$highlightRules.getRules())),this.$tokenizer},this.lineCommentStart="",this.blockComment="",this.toggleCommentLines=function(e,t,n,r){function w(e){for(var t=n;t<=r;t++)e(i.getLine(t),t)}var i=t.doc,s=!0,o=!0,u=Infinity,f=t.getTabSize(),l=!1;if(!this.lineCommentStart){if(!this.blockComment)return!1;var c=this.blockComment.start,h=this.blockComment.end,p=new RegExp("^(\\s*)(?:"+a.escapeRegExp(c)+")"),d=new RegExp("(?:"+a.escapeRegExp(h)+")\\s*$"),v=function(e,t){if(g(e,t))return;if(!s||/\S/.test(e))i.insertInLine({row:t,column:e.length},h),i.insertInLine({row:t,column:u},c)},m=function(e,t){var n;(n=e.match(d))&&i.removeInLine(t,e.length-n[0].length,e.length),(n=e.match(p))&&i.removeInLine(t,n[1].length,n[0].length)},g=function(e,n){if(p.test(e))return!0;var r=t.getTokens(n);for(var i=0;i<r.length;i++)if(r[i].type==="comment")return!0}}else{if(Array.isArray(this.lineCommentStart))var p=this.lineCommentStart.map(a.escapeRegExp).join("|"),c=this.lineCommentStart[0];else var p=a.escapeRegExp(this.lineCommentStart),c=this.lineCommentStart;p=new RegExp("^(\\s*)(?:"+p+") ?"),l=t.getUseSoftTabs();var m=function(e,t){var n=e.match(p);if(!n)return;var r=n[1].length,s=n[0].length;!b(e,r,s)&&n[0][s-1]==" "&&s--,i.removeInLine(t,r,s)},y=c+" ",v=function(e,t){if(!s||/\S/.test(e))b(e,u,u)?i.insertInLine({row:t,column:u},y):i.insertInLine({row:t,column:u},c)},g=function(e,t){return p.test(e)},b=function(e,t,n){var r=0;while(t--&&e.charAt(t)==" ")r++;if(r%f!=0)return!1;var r=0;while(e.charAt(n++)==" ")r++;return f>2?r%f!=f-1:r%f==0}}var E=Infinity;w(function(e,t){var n=e.search(/\S/);n!==-1?(n<u&&(u=n),o&&!g(e,t)&&(o=!1)):E>e.length&&(E=e.length)}),u==Infinity&&(u=E,s=!1,o=!1),l&&u%f!=0&&(u=Math.floor(u/f)*f),w(o?m:v)},this.toggleBlockComment=function(e,t,n,r){var i=this.blockComment;if(!i)return;!i.start&&i[0]&&(i=i[0]);var s=new f(t,r.row,r.column),o=s.getCurrentToken(),u=t.selection,a=t.selection.toOrientedRange(),c,h;if(o&&/comment/.test(o.type)){var p,d;while(o&&/comment/.test(o.type)){var v=o.value.indexOf(i.start);if(v!=-1){var m=s.getCurrentTokenRow(),g=s.getCurrentTokenColumn()+v;p=new l(m,g,m,g+i.start.length);break}o=s.stepBackward()}var s=new f(t,r.row,r.column),o=s.getCurrentToken();while(o&&/comment/.test(o.type)){var v=o.value.indexOf(i.end);if(v!=-1){var m=s.getCurrentTokenRow(),g=s.getCurrentTokenColumn()+v;d=new l(m,g,m,g+i.end.length);break}o=s.stepForward()}d&&t.remove(d),p&&(t.remove(p),c=p.start.row,h=-i.start.length)}else h=i.start.length,c=n.start.row,t.insert(n.end,i.end),t.insert(n.start,i.start);a.start.row==c&&(a.start.column+=h),a.end.row==c&&(a.end.column+=h),t.selection.fromOrientedRange(a)},this.getNextLineIndent=function(e,t,n){return this.$getIndent(t)},this.checkOutdent=function(e,t,n){return!1},this.autoOutdent=function(e,t,n){},this.$getIndent=function(e){return e.match(/^\s*/)[0]},this.createWorker=function(e){return null},this.createModeDelegates=function(e){this.$embeds=[],this.$modes={};for(var t in e)if(e[t]){var n=e[t],i=n.prototype.$id,s=r.$modes[i];s||(r.$modes[i]=s=new n),r.$modes[t]||(r.$modes[t]=s),this.$embeds.push(t),this.$modes[t]=s}var o=["toggleBlockComment","toggleCommentLines","getNextLineIndent","checkOutdent","autoOutdent","transformAction","getCompletions"];for(var t=0;t<o.length;t++)(function(e){var n=o[t],r=e[n];e[o[t]]=function(){return this.$delegator(n,arguments,r)}})(this)},this.$delegator=function(e,t,n){var r=t[0]||"start";if(typeof r!="string"){if(Array.isArray(r[2])){var i=r[2][r[2].length-1],s=this.$modes[i];if(s)return s[e].apply(s,[r[1]].concat([].slice.call(t,1)))}r=r[0]||"start"}for(var o=0;o<this.$embeds.length;o++){if(!this.$modes[this.$embeds[o]])continue;var u=r.split(this.$embeds[o]);if(!u[0]&&u[1]){t[0]=u[1];var s=this.$modes[this.$embeds[o]];return s[e].apply(s,t)}}var a=n.apply(this,t);return n?a:undefined},this.transformAction=function(e,t,n,r,i){if(this.$behaviour){var s=this.$behaviour.getBehaviours();for(var o in s)if(s[o][t]){var u=s[o][t].apply(this,arguments);if(u)return u}}},this.getKeywords=function(e){if(!this.completionKeywords){var t=this.$tokenizer.rules,n=[];for(var r in t){var i=t[r];for(var s=0,o=i.length;s<o;s++)if(typeof i[s].token=="string")/keyword|support|storage/.test(i[s].token)&&n.push(i[s].regex);else if(typeof i[s].token=="object")for(var u=0,a=i[s].token.length;u<a;u++)if(/keyword|support|storage/.test(i[s].token[u])){var r=i[s].regex.match(/\(.+?\)/g)[u];n.push(r.substr(1,r.length-2))}}this.completionKeywords=n}return e?n.concat(this.$keywordList||[]):this.$keywordList},this.$createKeywordList=function(){return this.$highlightRules||this.getTokenizer(),this.$keywordList=this.$highlightRules.$keywordList||[]},this.getCompletions=function(e,t,n,r){var i=this.$keywordList||this.$createKeywordList();return i.map(function(e){return{name:e,value:e,score:0,meta:"keyword"}})},this.$id="ace/mode/text"}).call(c.prototype),t.Mode=c}),ace.define("ace/apply_delta",["require","exports","module"],function(e,t,n){"use strict";function r(e,t){throw console.log("Invalid Delta:",e),"Invalid Delta: "+t}function i(e,t){return t.row>=0&&t.row<e.length&&t.column>=0&&t.column<=e[t.row].length}function s(e,t){t.action!="insert"&&t.action!="remove"&&r(t,"delta.action must be 'insert' or 'remove'"),t.lines instanceof Array||r(t,"delta.lines must be an Array"),(!t.start||!t.end)&&r(t,"delta.start/end must be an present");var n=t.start;i(e,t.start)||r(t,"delta.start must be contained in document");var s=t.end;t.action=="remove"&&!i(e,s)&&r(t,"delta.end must contained in document for 'remove' actions");var o=s.row-n.row,u=s.column-(o==0?n.column:0);(o!=t.lines.length-1||t.lines[o].length!=u)&&r(t,"delta.range must match delta lines")}t.applyDelta=function(e,t,n){var r=t.start.row,i=t.start.column,s=e[r]||"";switch(t.action){case"insert":var o=t.lines;if(o.length===1)e[r]=s.substring(0,i)+t.lines[0]+s.substring(i);else{var u=[r,1].concat(t.lines);e.splice.apply(e,u),e[r]=s.substring(0,i)+e[r],e[r+t.lines.length-1]+=s.substring(i)}break;case"remove":var a=t.end.column,f=t.end.row;r===f?e[r]=s.substring(0,i)+s.substring(a):e.splice(r,f-r+1,s.substring(0,i)+e[f].substring(a))}}}),ace.define("ace/anchor",["require","exports","module","ace/lib/oop","ace/lib/event_emitter"],function(e,t,n){"use strict";var r=e("./lib/oop"),i=e("./lib/event_emitter").EventEmitter,s=t.Anchor=function(e,t,n){this.$onChange=this.onChange.bind(this),this.attach(e),typeof n=="undefined"?this.setPosition(t.row,t.column):this.setPosition(t,n)};(function(){function e(e,t,n){var r=n?e.column<=t.column:e.column<t.column;return e.row<t.row||e.row==t.row&&r}function t(t,n,r){var i=t.action=="insert",s=(i?1:-1)*(t.end.row-t.start.row),o=(i?1:-1)*(t.end.column-t.start.column),u=t.start,a=i?u:t.end;return e(n,u,r)?{row:n.row,column:n.column}:e(a,n,!r)?{row:n.row+s,column:n.column+(n.row==a.row?o:0)}:{row:u.row,column:u.column}}r.implement(this,i),this.getPosition=function(){return this.$clipPositionToDocument(this.row,this.column)},this.getDocument=function(){return this.document},this.$insertRight=!1,this.onChange=function(e){if(e.start.row==e.end.row&&e.start.row!=this.row)return;if(e.start.row>this.row)return;var n=t(e,{row:this.row,column:this.column},this.$insertRight);this.setPosition(n.row,n.column,!0)},this.setPosition=function(e,t,n){var r;n?r={row:e,column:t}:r=this.$clipPositionToDocument(e,t);if(this.row==r.row&&this.column==r.column)return;var i={row:this.row,column:this.column};this.row=r.row,this.column=r.column,this._signal("change",{old:i,value:r})},this.detach=function(){this.document.removeEventListener("change",this.$onChange)},this.attach=function(e){this.document=e||this.document,this.document.on("change",this.$onChange)},this.$clipPositionToDocument=function(e,t){var n={};return e>=this.document.getLength()?(n.row=Math.max(0,this.document.getLength()-1),n.column=this.document.getLine(n.row).length):e<0?(n.row=0,n.column=0):(n.row=e,n.column=Math.min(this.document.getLine(n.row).length,Math.max(0,t))),t<0&&(n.column=0),n}}).call(s.prototype)}),ace.define("ace/document",["require","exports","module","ace/lib/oop","ace/apply_delta","ace/lib/event_emitter","ace/range","ace/anchor"],function(e,t,n){"use strict";var r=e("./lib/oop"),i=e("./apply_delta").applyDelta,s=e("./lib/event_emitter").EventEmitter,o=e("./range").Range,u=e("./anchor").Anchor,a=function(e){this.$lines=[""],e.length===0?this.$lines=[""]:Array.isArray(e)?this.insertMergedLines({row:0,column:0},e):this.insert({row:0,column:0},e)};(function(){r.implement(this,s),this.setValue=function(e){var t=this.getLength()-1;this.remove(new o(0,0,t,this.getLine(t).length)),this.insert({row:0,column:0},e)},this.getValue=function(){return this.getAllLines().join(this.getNewLineCharacter())},this.createAnchor=function(e,t){return new u(this,e,t)},"aaa".split(/a/).length===0?this.$split=function(e){return e.replace(/\r\n|\r/g,"\n").split("\n")}:this.$split=function(e){return e.split(/\r\n|\r|\n/)},this.$detectNewLine=function(e){var t=e.match(/^.*?(\r\n|\r|\n)/m);this.$autoNewLine=t?t[1]:"\n",this._signal("changeNewLineMode")},this.getNewLineCharacter=function(){switch(this.$newLineMode){case"windows":return"\r\n";case"unix":return"\n";default:return this.$autoNewLine||"\n"}},this.$autoNewLine="",this.$newLineMode="auto",this.setNewLineMode=function(e){if(this.$newLineMode===e)return;this.$newLineMode=e,this._signal("changeNewLineMode")},this.getNewLineMode=function(){return this.$newLineMode},this.isNewLine=function(e){return e=="\r\n"||e=="\r"||e=="\n"},this.getLine=function(e){return this.$lines[e]||""},this.getLines=function(e,t){return this.$lines.slice(e,t+1)},this.getAllLines=function(){return this.getLines(0,this.getLength())},this.getLength=function(){return this.$lines.length},this.getTextRange=function(e){return this.getLinesForRange(e).join(this.getNewLineCharacter())},this.getLinesForRange=function(e){var t;if(e.start.row===e.end.row)t=[this.getLine(e.start.row).substring(e.start.column,e.end.column)];else{t=this.getLines(e.start.row,e.end.row),t[0]=(t[0]||"").substring(e.start.column);var n=t.length-1;e.end.row-e.start.row==n&&(t[n]=t[n].substring(0,e.end.column))}return t},this.insertLines=function(e,t){return console.warn("Use of document.insertLines is deprecated. Use the insertFullLines method instead."),this.insertFullLines(e,t)},this.removeLines=function(e,t){return console.warn("Use of document.removeLines is deprecated. Use the removeFullLines method instead."),this.removeFullLines(e,t)},this.insertNewLine=function(e){return console.warn("Use of document.insertNewLine is deprecated. Use insertMergedLines(position, ['', '']) instead."),this.insertMergedLines(e,["",""])},this.insert=function(e,t){return this.getLength()<=1&&this.$detectNewLine(t),this.insertMergedLines(e,this.$split(t))},this.insertInLine=function(e,t){var n=this.clippedPos(e.row,e.column),r=this.pos(e.row,e.column+t.length);return this.applyDelta({start:n,end:r,action:"insert",lines:[t]},!0),this.clonePos(r)},this.clippedPos=function(e,t){var n=this.getLength();e===undefined?e=n:e<0?e=0:e>=n&&(e=n-1,t=undefined);var r=this.getLine(e);return t==undefined&&(t=r.length),t=Math.min(Math.max(t,0),r.length),{row:e,column:t}},this.clonePos=function(e){return{row:e.row,column:e.column}},this.pos=function(e,t){return{row:e,column:t}},this.$clipPosition=function(e){var t=this.getLength();return e.row>=t?(e.row=Math.max(0,t-1),e.column=this.getLine(t-1).length):(e.row=Math.max(0,e.row),e.column=Math.min(Math.max(e.column,0),this.getLine(e.row).length)),e},this.insertFullLines=function(e,t){e=Math.min(Math.max(e,0),this.getLength());var n=0;e<this.getLength()?(t=t.concat([""]),n=0):(t=[""].concat(t),e--,n=this.$lines[e].length),this.insertMergedLines({row:e,column:n},t)},this.insertMergedLines=function(e,t){var n=this.clippedPos(e.row,e.column),r={row:n.row+t.length-1,column:(t.length==1?n.column:0)+t[t.length-1].length};return this.applyDelta({start:n,end:r,action:"insert",lines:t}),this.clonePos(r)},this.remove=function(e){var t=this.clippedPos(e.start.row,e.start.column),n=this.clippedPos(e.end.row,e.end.column);return this.applyDelta({start:t,end:n,action:"remove",lines:this.getLinesForRange({start:t,end:n})}),this.clonePos(t)},this.removeInLine=function(e,t,n){var r=this.clippedPos(e,t),i=this.clippedPos(e,n);return this.applyDelta({start:r,end:i,action:"remove",lines:this.getLinesForRange({start:r,end:i})},!0),this.clonePos(r)},this.removeFullLines=function(e,t){e=Math.min(Math.max(0,e),this.getLength()-1),t=Math.min(Math.max(0,t),this.getLength()-1);var n=t==this.getLength()-1&&e>0,r=t<this.getLength()-1,i=n?e-1:e,s=n?this.getLine(i).length:0,u=r?t+1:t,a=r?0:this.getLine(u).length,f=new o(i,s,u,a),l=this.$lines.slice(e,t+1);return this.applyDelta({start:f.start,end:f.end,action:"remove",lines:this.getLinesForRange(f)}),l},this.removeNewLine=function(e){e<this.getLength()-1&&e>=0&&this.applyDelta({start:this.pos(e,this.getLine(e).length),end:this.pos(e+1,0),action:"remove",lines:["",""]})},this.replace=function(e,t){e instanceof o||(e=o.fromPoints(e.start,e.end));if(t.length===0&&e.isEmpty())return e.start;if(t==this.getTextRange(e))return e.end;this.remove(e);var n;return t?n=this.insert(e.start,t):n=e.start,n},this.applyDeltas=function(e){for(var t=0;t<e.length;t++)this.applyDelta(e[t])},this.revertDeltas=function(e){for(var t=e.length-1;t>=0;t--)this.revertDelta(e[t])},this.applyDelta=function(e,t){var n=e.action=="insert";if(n?e.lines.length<=1&&!e.lines[0]:!o.comparePoints(e.start,e.end))return;n&&e.lines.length>2e4?this.$splitAndapplyLargeDelta(e,2e4):(i(this.$lines,e,t),this._signal("change",e))},this.$splitAndapplyLargeDelta=function(e,t){var n=e.lines,r=n.length-t+1,i=e.start.row,s=e.start.column;for(var o=0,u=0;o<r;o=u){u+=t-1;var a=n.slice(o,u);a.push(""),this.applyDelta({start:this.pos(i+o,s),end:this.pos(i+u,s=0),action:e.action,lines:a},!0)}e.lines=n.slice(o),e.start.row=i+o,e.start.column=s,this.applyDelta(e,!0)},this.revertDelta=function(e){this.applyDelta({start:this.clonePos(e.start),end:this.clonePos(e.end),action:e.action=="insert"?"remove":"insert",lines:e.lines.slice()})},this.indexToPosition=function(e,t){var n=this.$lines||this.getAllLines(),r=this.getNewLineCharacter().length;for(var i=t||0,s=n.length;i<s;i++){e-=n[i].length+r;if(e<0)return{row:i,column:e+n[i].length+r}}return{row:s-1,column:e+n[s-1].length+r}},this.positionToIndex=function(e,t){var n=this.$lines||this.getAllLines(),r=this.getNewLineCharacter().length,i=0,s=Math.min(e.row,n.length);for(var o=t||0;o<s;++o)i+=n[o].length+r;return i+e.column}}).call(a.prototype),t.Document=a}),ace.define("ace/background_tokenizer",["require","exports","module","ace/lib/oop","ace/lib/event_emitter"],function(e,t,n){"use strict";var r=e("./lib/oop"),i=e("./lib/event_emitter").EventEmitter,s=function(e,t){this.running=!1,this.lines=[],this.states=[],this.currentLine=0,this.tokenizer=e;var n=this;this.$worker=function(){if(!n.running)return;var e=new Date,t=n.currentLine,r=-1,i=n.doc,s=t;while(n.lines[t])t++;var o=i.getLength(),u=0;n.running=!1;while(t<o){n.$tokenizeRow(t),r=t;do t++;while(n.lines[t]);u++;if(u%5===0&&new Date-e>20){n.running=setTimeout(n.$worker,20);break}}n.currentLine=t,r==-1&&(r=t),s<=r&&n.fireUpdateEvent(s,r)}};(function(){r.implement(this,i),this.setTokenizer=function(e){this.tokenizer=e,this.lines=[],this.states=[],this.start(0)},this.setDocument=function(e){this.doc=e,this.lines=[],this.states=[],this.stop()},this.fireUpdateEvent=function(e,t){var n={first:e,last:t};this._signal("update",{data:n})},this.start=function(e){this.currentLine=Math.min(e||0,this.currentLine,this.doc.getLength()),this.lines.splice(this.currentLine,this.lines.length),this.states.splice(this.currentLine,this.states.length),this.stop(),this.running=setTimeout(this.$worker,700)},this.scheduleStart=function(){this.running||(this.running=setTimeout(this.$worker,700))},this.$updateOnChange=function(e){var t=e.start.row,n=e.end.row-t;if(n===0)this.lines[t]=null;else if(e.action=="remove")this.lines.splice(t,n+1,null),this.states.splice(t,n+1,null);else{var r=Array(n+1);r.unshift(t,1),this.lines.splice.apply(this.lines,r),this.states.splice.apply(this.states,r)}this.currentLine=Math.min(t,this.currentLine,this.doc.getLength()),this.stop()},this.stop=function(){this.running&&clearTimeout(this.running),this.running=!1},this.getTokens=function(e){return this.lines[e]||this.$tokenizeRow(e)},this.getState=function(e){return this.currentLine==e&&this.$tokenizeRow(e),this.states[e]||"start"},this.$tokenizeRow=function(e){var t=this.doc.getLine(e),n=this.states[e-1],r=this.tokenizer.getLineTokens(t,n,e);return this.states[e]+""!=r.state+""?(this.states[e]=r.state,this.lines[e+1]=null,this.currentLine>e+1&&(this.currentLine=e+1)):this.currentLine==e&&(this.currentLine=e+1),this.lines[e]=r.tokens}}).call(s.prototype),t.BackgroundTokenizer=s}),ace.define("ace/search_highlight",["require","exports","module","ace/lib/lang","ace/lib/oop","ace/range"],function(e,t,n){"use strict";var r=e("./lib/lang"),i=e("./lib/oop"),s=e("./range").Range,o=function(e,t,n){this.setRegexp(e),this.clazz=t,this.type=n||"text"};(function(){this.MAX_RANGES=500,this.setRegexp=function(e){if(this.regExp+""==e+"")return;this.regExp=e,this.cache=[]},this.update=function(e,t,n,i){if(!this.regExp)return;var o=i.firstRow,u=i.lastRow;for(var a=o;a<=u;a++){var f=this.cache[a];f==null&&(f=r.getMatchOffsets(n.getLine(a),this.regExp),f.length>this.MAX_RANGES&&(f=f.slice(0,this.MAX_RANGES)),f=f.map(function(e){return new s(a,e.offset,a,e.offset+e.length)}),this.cache[a]=f.length?f:"");for(var l=f.length;l--;)t.drawSingleLineMarker(e,f[l].toScreenRange(n),this.clazz,i)}}}).call(o.prototype),t.SearchHighlight=o}),ace.define("ace/edit_session/fold_line",["require","exports","module","ace/range"],function(e,t,n){"use strict";function i(e,t){this.foldData=e,Array.isArray(t)?this.folds=t:t=this.folds=[t];var n=t[t.length-1];this.range=new r(t[0].start.row,t[0].start.column,n.end.row,n.end.column),this.start=this.range.start,this.end=this.range.end,this.folds.forEach(function(e){e.setFoldLine(this)},this)}var r=e("../range").Range;(function(){this.shiftRow=function(e){this.start.row+=e,this.end.row+=e,this.folds.forEach(function(t){t.start.row+=e,t.end.row+=e})},this.addFold=function(e){if(e.sameRow){if(e.start.row<this.startRow||e.endRow>this.endRow)throw new Error("Can't add a fold to this FoldLine as it has no connection");this.folds.push(e),this.folds.sort(function(e,t){return-e.range.compareEnd(t.start.row,t.start.column)}),this.range.compareEnd(e.start.row,e.start.column)>0?(this.end.row=e.end.row,this.end.column=e.end.column):this.range.compareStart(e.end.row,e.end.column)<0&&(this.start.row=e.start.row,this.start.column=e.start.column)}else if(e.start.row==this.end.row)this.folds.push(e),this.end.row=e.end.row,this.end.column=e.end.column;else{if(e.end.row!=this.start.row)throw new Error("Trying to add fold to FoldRow that doesn't have a matching row");this.folds.unshift(e),this.start.row=e.start.row,this.start.column=e.start.column}e.foldLine=this},this.containsRow=function(e){return e>=this.start.row&&e<=this.end.row},this.walk=function(e,t,n){var r=0,i=this.folds,s,o,u,a=!0;t==null&&(t=this.end.row,n=this.end.column);for(var f=0;f<i.length;f++){s=i[f],o=s.range.compareStart(t,n);if(o==-1){e(null,t,n,r,a);return}u=e(null,s.start.row,s.start.column,r,a),u=!u&&e(s.placeholder,s.start.row,s.start.column,r);if(u||o===0)return;a=!s.sameRow,r=s.end.column}e(null,t,n,r,a)},this.getNextFoldTo=function(e,t){var n,r;for(var i=0;i<this.folds.length;i++){n=this.folds[i],r=n.range.compareEnd(e,t);if(r==-1)return{fold:n,kind:"after"};if(r===0)return{fold:n,kind:"inside"}}return null},this.addRemoveChars=function(e,t,n){var r=this.getNextFoldTo(e,t),i,s;if(r){i=r.fold;if(r.kind=="inside"&&i.start.column!=t&&i.start.row!=e)window.console&&window.console.log(e,t,i);else if(i.start.row==e){s=this.folds;var o=s.indexOf(i);o===0&&(this.start.column+=n);for(o;o<s.length;o++){i=s[o],i.start.column+=n;if(!i.sameRow)return;i.end.column+=n}this.end.column+=n}}},this.split=function(e,t){var n=this.getNextFoldTo(e,t);if(!n||n.kind=="inside")return null;var r=n.fold,s=this.folds,o=this.foldData,u=s.indexOf(r),a=s[u-1];this.end.row=a.end.row,this.end.column=a.end.column,s=s.splice(u,s.length-u);var f=new i(o,s);return o.splice(o.indexOf(this)+1,0,f),f},this.merge=function(e){var t=e.folds;for(var n=0;n<t.length;n++)this.addFold(t[n]);var r=this.foldData;r.splice(r.indexOf(e),1)},this.toString=function(){var e=[this.range.toString()+": ["];return this.folds.forEach(function(t){e.push(" "+t.toString())}),e.push("]"),e.join("\n")},this.idxToPosition=function(e){var t=0;for(var n=0;n<this.folds.length;n++){var r=this.folds[n];e-=r.start.column-t;if(e<0)return{row:r.start.row,column:r.start.column+e};e-=r.placeholder.length;if(e<0)return r.start;t=r.end.column}return{row:this.end.row,column:this.end.column+e}}}).call(i.prototype),t.FoldLine=i}),ace.define("ace/range_list",["require","exports","module","ace/range"],function(e,t,n){"use strict";var r=e("./range").Range,i=r.comparePoints,s=function(){this.ranges=[]};(function(){this.comparePoints=i,this.pointIndex=function(e,t,n){var r=this.ranges;for(var s=n||0;s<r.length;s++){var o=r[s],u=i(e,o.end);if(u>0)continue;var a=i(e,o.start);return u===0?t&&a!==0?-s-2:s:a>0||a===0&&!t?s:-s-1}return-s-1},this.add=function(e){var t=!e.isEmpty(),n=this.pointIndex(e.start,t);n<0&&(n=-n-1);var r=this.pointIndex(e.end,t,n);return r<0?r=-r-1:r++,this.ranges.splice(n,r-n,e)},this.addList=function(e){var t=[];for(var n=e.length;n--;)t.push.apply(t,this.add(e[n]));return t},this.substractPoint=function(e){var t=this.pointIndex(e);if(t>=0)return this.ranges.splice(t,1)},this.merge=function(){var e=[],t=this.ranges;t=t.sort(function(e,t){return i(e.start,t.start)});var n=t[0],r;for(var s=1;s<t.length;s++){r=n,n=t[s];var o=i(r.end,n.start);if(o<0)continue;if(o==0&&!r.isEmpty()&&!n.isEmpty())continue;i(r.end,n.end)<0&&(r.end.row=n.end.row,r.end.column=n.end.column),t.splice(s,1),e.push(n),n=r,s--}return this.ranges=t,e},this.contains=function(e,t){return this.pointIndex({row:e,column:t})>=0},this.containsPoint=function(e){return this.pointIndex(e)>=0},this.rangeAtPoint=function(e){var t=this.pointIndex(e);if(t>=0)return this.ranges[t]},this.clipRows=function(e,t){var n=this.ranges;if(n[0].start.row>t||n[n.length-1].start.row<e)return[];var r=this.pointIndex({row:e,column:0});r<0&&(r=-r-1);var i=this.pointIndex({row:t,column:0},r);i<0&&(i=-i-1);var s=[];for(var o=r;o<i;o++)s.push(n[o]);return s},this.removeAll=function(){return this.ranges.splice(0,this.ranges.length)},this.attach=function(e){this.session&&this.detach(),this.session=e,this.onChange=this.$onChange.bind(this),this.session.on("change",this.onChange)},this.detach=function(){if(!this.session)return;this.session.removeListener("change",this.onChange),this.session=null},this.$onChange=function(e){var t=e.start,n=e.end,r=t.row,i=n.row,s=this.ranges;for(var o=0,u=s.length;o<u;o++){var a=s[o];if(a.end.row>=r)break}if(e.action=="insert"){var f=i-r,l=-t.column+n.column;for(;o<u;o++){var a=s[o];if(a.start.row>r)break;a.start.row==r&&a.start.column>=t.column&&(a.start.column!=t.column||!this.$insertRight)&&(a.start.column+=l,a.start.row+=f);if(a.end.row==r&&a.end.column>=t.column){if(a.end.column==t.column&&this.$insertRight)continue;a.end.column==t.column&&l>0&&o<u-1&&a.end.column>a.start.column&&a.end.column==s[o+1].start.column&&(a.end.column-=l),a.end.column+=l,a.end.row+=f}}}else{var f=r-i,l=t.column-n.column;for(;o<u;o++){var a=s[o];if(a.start.row>i)break;if(a.end.row<i&&(r<a.end.row||r==a.end.row&&t.column<a.end.column))a.end.row=r,a.end.column=t.column;else if(a.end.row==i)if(a.end.column<=n.column){if(f||a.end.column>t.column)a.end.column=t.column,a.end.row=t.row}else a.end.column+=l,a.end.row+=f;else a.end.row>i&&(a.end.row+=f);if(a.start.row<i&&(r<a.start.row||r==a.start.row&&t.column<a.start.column))a.start.row=r,a.start.column=t.column;else if(a.start.row==i)if(a.start.column<=n.column){if(f||a.start.column>t.column)a.start.column=t.column,a.start.row=t.row}else a.start.column+=l,a.start.row+=f;else a.start.row>i&&(a.start.row+=f)}}if(f!=0&&o<u)for(;o<u;o++){var a=s[o];a.start.row+=f,a.end.row+=f}}}).call(s.prototype),t.RangeList=s}),ace.define("ace/edit_session/fold",["require","exports","module","ace/range_list","ace/lib/oop"],function(e,t,n){"use strict";function o(e,t){e.row-=t.row,e.row==0&&(e.column-=t.column)}function u(e,t){o(e.start,t),o(e.end,t)}function a(e,t){e.row==0&&(e.column+=t.column),e.row+=t.row}function f(e,t){a(e.start,t),a(e.end,t)}var r=e("../range_list").RangeList,i=e("../lib/oop"),s=t.Fold=function(e,t){this.foldLine=null,this.placeholder=t,this.range=e,this.start=e.start,this.end=e.end,this.sameRow=e.start.row==e.end.row,this.subFolds=this.ranges=[]};i.inherits(s,r),function(){this.toString=function(){return'"'+this.placeholder+'" '+this.range.toString()},this.setFoldLine=function(e){this.foldLine=e,this.subFolds.forEach(function(t){t.setFoldLine(e)})},this.clone=function(){var e=this.range.clone(),t=new s(e,this.placeholder);return this.subFolds.forEach(function(e){t.subFolds.push(e.clone())}),t.collapseChildren=this.collapseChildren,t},this.addSubFold=function(e){if(this.range.isEqual(e))return;u(e,this.start);var t=e.start.row,n=e.start.column;for(var r=0,i=-1;r<this.subFolds.length;r++){i=this.subFolds[r].range.compare(t,n);if(i!=1)break}var s=this.subFolds[r],o=0;if(i==0){if(s.range.containsRange(e))return s.addSubFold(e);o=1}var t=e.range.end.row,n=e.range.end.column;for(var a=r,i=-1;a<this.subFolds.length;a++){i=this.subFolds[a].range.compare(t,n);if(i!=1)break}i==0&&a++;var f=this.subFolds.splice(r,a-r,e),l=i==0?f.length-1:f.length;for(var c=o;c<l;c++)e.addSubFold(f[c]);return e.setFoldLine(this.foldLine),e},this.restoreRange=function(e){return f(e,this.start)}}.call(s.prototype)}),ace.define("ace/edit_session/folding",["require","exports","module","ace/range","ace/edit_session/fold_line","ace/edit_session/fold","ace/token_iterator"],function(e,t,n){"use strict";function u(){this.getFoldAt=function(e,t,n){var r=this.getFoldLine(e);if(!r)return null;var i=r.folds;for(var s=0;s<i.length;s++){var o=i[s].range;if(o.contains(e,t)){if(n==1&&o.isEnd(e,t)&&!o.isEmpty())continue;if(n==-1&&o.isStart(e,t)&&!o.isEmpty())continue;return i[s]}}},this.getFoldsInRange=function(e){var t=e.start,n=e.end,r=this.$foldData,i=[];t.column+=1,n.column-=1;for(var s=0;s<r.length;s++){var o=r[s].range.compareRange(e);if(o==2)continue;if(o==-2)break;var u=r[s].folds;for(var a=0;a<u.length;a++){var f=u[a];o=f.range.compareRange(e);if(o==-2)break;if(o==2)continue;if(o==42)break;i.push(f)}}return t.column-=1,n.column+=1,i},this.getFoldsInRangeList=function(e){if(Array.isArray(e)){var t=[];e.forEach(function(e){t=t.concat(this.getFoldsInRange(e))},this)}else var t=this.getFoldsInRange(e);return t},this.getAllFolds=function(){var e=[],t=this.$foldData;for(var n=0;n<t.length;n++)for(var r=0;r<t[n].folds.length;r++)e.push(t[n].folds[r]);return e},this.getFoldStringAt=function(e,t,n,r){r=r||this.getFoldLine(e);if(!r)return null;var i={end:{column:0}},s,o;for(var u=0;u<r.folds.length;u++){o=r.folds[u];var a=o.range.compareEnd(e,t);if(a==-1){s=this.getLine(o.start.row).substring(i.end.column,o.start.column);break}if(a===0)return null;i=o}return s||(s=this.getLine(o.start.row).substring(i.end.column)),n==-1?s.substring(0,t-i.end.column):n==1?s.substring(t-i.end.column):s},this.getFoldLine=function(e,t){var n=this.$foldData,r=0;t&&(r=n.indexOf(t)),r==-1&&(r=0);for(r;r<n.length;r++){var i=n[r];if(i.start.row<=e&&i.end.row>=e)return i;if(i.end.row>e)return null}return null},this.getNextFoldLine=function(e,t){var n=this.$foldData,r=0;t&&(r=n.indexOf(t)),r==-1&&(r=0);for(r;r<n.length;r++){var i=n[r];if(i.end.row>=e)return i}return null},this.getFoldedRowCount=function(e,t){var n=this.$foldData,r=t-e+1;for(var i=0;i<n.length;i++){var s=n[i],o=s.end.row,u=s.start.row;if(o>=t){u<t&&(u>=e?r-=t-u:r=0);break}o>=e&&(u>=e?r-=o-u:r-=o-e+1)}return r},this.$addFoldLine=function(e){return this.$foldData.push(e),this.$foldData.sort(function(e,t){return e.start.row-t.start.row}),e},this.addFold=function(e,t){var n=this.$foldData,r=!1,o;e instanceof s?o=e:(o=new s(t,e),o.collapseChildren=t.collapseChildren),this.$clipRangeToDocument(o.range);var u=o.start.row,a=o.start.column,f=o.end.row,l=o.end.column,c=this.getFoldAt(u,a,1),h=this.getFoldAt(f,l,-1);if(c&&h==c)return c.addSubFold(o);c&&!c.range.isStart(u,a)&&this.removeFold(c),h&&!h.range.isEnd(f,l)&&this.removeFold(h);var p=this.getFoldsInRange(o.range);p.length>0&&(this.removeFolds(p),p.forEach(function(e){o.addSubFold(e)}));for(var d=0;d<n.length;d++){var v=n[d];if(f==v.start.row){v.addFold(o),r=!0;break}if(u==v.end.row){v.addFold(o),r=!0;if(!o.sameRow){var m=n[d+1];if(m&&m.start.row==f){v.merge(m);break}}break}if(f<=v.start.row)break}return r||(v=this.$addFoldLine(new i(this.$foldData,o))),this.$useWrapMode?this.$updateWrapData(v.start.row,v.start.row):this.$updateRowLengthCache(v.start.row,v.start.row),this.$modified=!0,this._signal("changeFold",{data:o,action:"add"}),o},this.addFolds=function(e){e.forEach(function(e){this.addFold(e)},this)},this.removeFold=function(e){var t=e.foldLine,n=t.start.row,r=t.end.row,i=this.$foldData,s=t.folds;if(s.length==1)i.splice(i.indexOf(t),1);else if(t.range.isEnd(e.end.row,e.end.column))s.pop(),t.end.row=s[s.length-1].end.row,t.end.column=s[s.length-1].end.column;else if(t.range.isStart(e.start.row,e.start.column))s.shift(),t.start.row=s[0].start.row,t.start.column=s[0].start.column;else if(e.sameRow)s.splice(s.indexOf(e),1);else{var o=t.split(e.start.row,e.start.column);s=o.folds,s.shift(),o.start.row=s[0].start.row,o.start.column=s[0].start.column}this.$updating||(this.$useWrapMode?this.$updateWrapData(n,r):this.$updateRowLengthCache(n,r)),this.$modified=!0,this._signal("changeFold",{data:e,action:"remove"})},this.removeFolds=function(e){var t=[];for(var n=0;n<e.length;n++)t.push(e[n]);t.forEach(function(e){this.removeFold(e)},this),this.$modified=!0},this.expandFold=function(e){this.removeFold(e),e.subFolds.forEach(function(t){e.restoreRange(t),this.addFold(t)},this),e.collapseChildren>0&&this.foldAll(e.start.row+1,e.end.row,e.collapseChildren-1),e.subFolds=[]},this.expandFolds=function(e){e.forEach(function(e){this.expandFold(e)},this)},this.unfold=function(e,t){var n,i;e==null?(n=new r(0,0,this.getLength(),0),t=!0):typeof e=="number"?n=new r(e,0,e,this.getLine(e).length):"row"in e?n=r.fromPoints(e,e):n=e,i=this.getFoldsInRangeList(n);if(t)this.removeFolds(i);else{var s=i;while(s.length)this.expandFolds(s),s=this.getFoldsInRangeList(n)}if(i.length)return i},this.isRowFolded=function(e,t){return!!this.getFoldLine(e,t)},this.getRowFoldEnd=function(e,t){var n=this.getFoldLine(e,t);return n?n.end.row:e},this.getRowFoldStart=function(e,t){var n=this.getFoldLine(e,t);return n?n.start.row:e},this.getFoldDisplayLine=function(e,t,n,r,i){r==null&&(r=e.start.row),i==null&&(i=0),t==null&&(t=e.end.row),n==null&&(n=this.getLine(t).length);var s=this.doc,o="";return e.walk(function(e,t,n,u){if(t<r)return;if(t==r){if(n<i)return;u=Math.max(i,u)}e!=null?o+=e:o+=s.getLine(t).substring(u,n)},t,n),o},this.getDisplayLine=function(e,t,n,r){var i=this.getFoldLine(e);if(!i){var s;return s=this.doc.getLine(e),s.substring(r||0,t||s.length)}return this.getFoldDisplayLine(i,e,t,n,r)},this.$cloneFoldData=function(){var e=[];return e=this.$foldData.map(function(t){var n=t.folds.map(function(e){return e.clone()});return new i(e,n)}),e},this.toggleFold=function(e){var t=this.selection,n=t.getRange(),r,i;if(n.isEmpty()){var s=n.start;r=this.getFoldAt(s.row,s.column);if(r){this.expandFold(r);return}(i=this.findMatchingBracket(s))?n.comparePoint(i)==1?n.end=i:(n.start=i,n.start.column++,n.end.column--):(i=this.findMatchingBracket({row:s.row,column:s.column+1}))?(n.comparePoint(i)==1?n.end=i:n.start=i,n.start.column++):n=this.getCommentFoldRange(s.row,s.column)||n}else{var o=this.getFoldsInRange(n);if(e&&o.length){this.expandFolds(o);return}o.length==1&&(r=o[0])}r||(r=this.getFoldAt(n.start.row,n.start.column));if(r&&r.range.toString()==n.toString()){this.expandFold(r);return}var u="...";if(!n.isMultiLine()){u=this.getTextRange(n);if(u.length<4)return;u=u.trim().substring(0,2)+".."}this.addFold(u,n)},this.getCommentFoldRange=function(e,t,n){var i=new o(this,e,t),s=i.getCurrentToken(),u=s.type;if(s&&/^comment|string/.test(u)){u=u.match(/comment|string/)[0],u=="comment"&&(u+="|doc-start");var a=new RegExp(u),f=new r;if(n!=1){do s=i.stepBackward();while(s&&a.test(s.type));i.stepForward()}f.start.row=i.getCurrentTokenRow(),f.start.column=i.getCurrentTokenColumn()+2,i=new o(this,e,t);if(n!=-1){var l=-1;do{s=i.stepForward();if(l==-1){var c=this.getState(i.$row);a.test(c)||(l=i.$row)}else if(i.$row>l)break}while(s&&a.test(s.type));s=i.stepBackward()}else s=i.getCurrentToken();return f.end.row=i.getCurrentTokenRow(),f.end.column=i.getCurrentTokenColumn()+s.value.length-2,f}},this.foldAll=function(e,t,n){n==undefined&&(n=1e5);var r=this.foldWidgets;if(!r)return;t=t||this.getLength(),e=e||0;for(var i=e;i<t;i++){r[i]==null&&(r[i]=this.getFoldWidget(i));if(r[i]!="start")continue;var s=this.getFoldWidgetRange(i);if(s&&s.isMultiLine()&&s.end.row<=t&&s.start.row>=e){i=s.end.row;try{var o=this.addFold("...",s);o&&(o.collapseChildren=n)}catch(u){}}}},this.$foldStyles={manual:1,markbegin:1,markbeginend:1},this.$foldStyle="markbegin",this.setFoldStyle=function(e){if(!this.$foldStyles[e])throw new Error("invalid fold style: "+e+"["+Object.keys(this.$foldStyles).join(", ")+"]");if(this.$foldStyle==e)return;this.$foldStyle=e,e=="manual"&&this.unfold();var t=this.$foldMode;this.$setFolding(null),this.$setFolding(t)},this.$setFolding=function(e){if(this.$foldMode==e)return;this.$foldMode=e,this.off("change",this.$updateFoldWidgets),this.off("tokenizerUpdate",this.$tokenizerUpdateFoldWidgets),this._signal("changeAnnotation");if(!e||this.$foldStyle=="manual"){this.foldWidgets=null;return}this.foldWidgets=[],this.getFoldWidget=e.getFoldWidget.bind(e,this,this.$foldStyle),this.getFoldWidgetRange=e.getFoldWidgetRange.bind(e,this,this.$foldStyle),this.$updateFoldWidgets=this.updateFoldWidgets.bind(this),this.$tokenizerUpdateFoldWidgets=this.tokenizerUpdateFoldWidgets.bind(this),this.on("change",this.$updateFoldWidgets),this.on("tokenizerUpdate",this.$tokenizerUpdateFoldWidgets)},this.getParentFoldRangeData=function(e,t){var n=this.foldWidgets;if(!n||t&&n[e])return{};var r=e-1,i;while(r>=0){var s=n[r];s==null&&(s=n[r]=this.getFoldWidget(r));if(s=="start"){var o=this.getFoldWidgetRange(r);i||(i=o);if(o&&o.end.row>=e)break}r--}return{range:r!==-1&&o,firstRange:i}},this.onFoldWidgetClick=function(e,t){t=t.domEvent;var n={children:t.shiftKey,all:t.ctrlKey||t.metaKey,siblings:t.altKey},r=this.$toggleFoldWidget(e,n);if(!r){var i=t.target||t.srcElement;i&&/ace_fold-widget/.test(i.className)&&(i.className+=" ace_invalid")}},this.$toggleFoldWidget=function(e,t){if(!this.getFoldWidget)return;var n=this.getFoldWidget(e),r=this.getLine(e),i=n==="end"?-1:1,s=this.getFoldAt(e,i===-1?0:r.length,i);if(s)return t.children||t.all?this.removeFold(s):this.expandFold(s),s;var o=this.getFoldWidgetRange(e,!0);if(o&&!o.isMultiLine()){s=this.getFoldAt(o.start.row,o.start.column,1);if(s&&o.isEqual(s.range))return this.removeFold(s),s}if(t.siblings){var u=this.getParentFoldRangeData(e);if(u.range)var a=u.range.start.row+1,f=u.range.end.row;this.foldAll(a,f,t.all?1e4:0)}else t.children?(f=o?o.end.row:this.getLength(),this.foldAll(e+1,f,t.all?1e4:0)):o&&(t.all&&(o.collapseChildren=1e4),this.addFold("...",o));return o},this.toggleFoldWidget=function(e){var t=this.selection.getCursor().row;t=this.getRowFoldStart(t);var n=this.$toggleFoldWidget(t,{});if(n)return;var r=this.getParentFoldRangeData(t,!0);n=r.range||r.firstRange;if(n){t=n.start.row;var i=this.getFoldAt(t,this.getLine(t).length,1);i?this.removeFold(i):this.addFold("...",n)}},this.updateFoldWidgets=function(e){var t=e.start.row,n=e.end.row-t;if(n===0)this.foldWidgets[t]=null;else if(e.action=="remove")this.foldWidgets.splice(t,n+1,null);else{var r=Array(n+1);r.unshift(t,1),this.foldWidgets.splice.apply(this.foldWidgets,r)}},this.tokenizerUpdateFoldWidgets=function(e){var t=e.data;t.first!=t.last&&this.foldWidgets.length>t.first&&this.foldWidgets.splice(t.first,this.foldWidgets.length)}}var r=e("../range").Range,i=e("./fold_line").FoldLine,s=e("./fold").Fold,o=e("../token_iterator").TokenIterator;t.Folding=u}),ace.define("ace/edit_session/bracket_match",["require","exports","module","ace/token_iterator","ace/range"],function(e,t,n){"use strict";function s(){this.findMatchingBracket=function(e,t){if(e.column==0)return null;var n=t||this.getLine(e.row).charAt(e.column-1);if(n=="")return null;var r=n.match(/([\(\[\{])|([\)\]\}])/);return r?r[1]?this.$findClosingBracket(r[1],e):this.$findOpeningBracket(r[2],e):null},this.getBracketRange=function(e){var t=this.getLine(e.row),n=!0,r,s=t.charAt(e.column-1),o=s&&s.match(/([\(\[\{])|([\)\]\}])/);o||(s=t.charAt(e.column),e={row:e.row,column:e.column+1},o=s&&s.match(/([\(\[\{])|([\)\]\}])/),n=!1);if(!o)return null;if(o[1]){var u=this.$findClosingBracket(o[1],e);if(!u)return null;r=i.fromPoints(e,u),n||(r.end.column++,r.start.column--),r.cursor=r.end}else{var u=this.$findOpeningBracket(o[2],e);if(!u)return null;r=i.fromPoints(u,e),n||(r.start.column++,r.end.column--),r.cursor=r.start}return r},this.$brackets={")":"(","(":")","]":"[","[":"]","{":"}","}":"{","<":">",">":"<"},this.$findOpeningBracket=function(e,t,n){var i=this.$brackets[e],s=1,o=new r(this,t.row,t.column),u=o.getCurrentToken();u||(u=o.stepForward());if(!u)return;n||(n=new RegExp("(\\.?"+u.type.replace(".","\\.").replace("rparen",".paren").replace(/\b(?:end)\b/,"(?:start|begin|end)")+")+"));var a=t.column-o.getCurrentTokenColumn()-2,f=u.value;for(;;){while(a>=0){var l=f.charAt(a);if(l==i){s-=1;if(s==0)return{row:o.getCurrentTokenRow(),column:a+o.getCurrentTokenColumn()}}else l==e&&(s+=1);a-=1}do u=o.stepBackward();while(u&&!n.test(u.type));if(u==null)break;f=u.value,a=f.length-1}return null},this.$findClosingBracket=function(e,t,n){var i=this.$brackets[e],s=1,o=new r(this,t.row,t.column),u=o.getCurrentToken();u||(u=o.stepForward());if(!u)return;n||(n=new RegExp("(\\.?"+u.type.replace(".","\\.").replace("lparen",".paren").replace(/\b(?:start|begin)\b/,"(?:start|begin|end)")+")+"));var a=t.column-o.getCurrentTokenColumn();for(;;){var f=u.value,l=f.length;while(a<l){var c=f.charAt(a);if(c==i){s-=1;if(s==0)return{row:o.getCurrentTokenRow(),column:a+o.getCurrentTokenColumn()}}else c==e&&(s+=1);a+=1}do u=o.stepForward();while(u&&!n.test(u.type));if(u==null)break;a=0}return null}}var r=e("../token_iterator").TokenIterator,i=e("../range").Range;t.BracketMatch=s}),ace.define("ace/edit_session",["require","exports","module","ace/lib/oop","ace/lib/lang","ace/bidihandler","ace/config","ace/lib/event_emitter","ace/selection","ace/mode/text","ace/range","ace/document","ace/background_tokenizer","ace/search_highlight","ace/edit_session/folding","ace/edit_session/bracket_match"],function(e,t,n){"use strict";var r=e("./lib/oop"),i=e("./lib/lang"),s=e("./bidihandler").BidiHandler,o=e("./config"),u=e("./lib/event_emitter").EventEmitter,a=e("./selection").Selection,f=e("./mode/text").Mode,l=e("./range").Range,c=e("./document").Document,h=e("./background_tokenizer").BackgroundTokenizer,p=e("./search_highlight").SearchHighlight,d=function(e,t){this.$breakpoints=[],this.$decorations=[],this.$frontMarkers={},this.$backMarkers={},this.$markerId=1,this.$undoSelect=!0,this.$foldData=[],this.id="session"+ ++d.$uid,this.$foldData.toString=function(){return this.join("\n")},this.on("changeFold",this.onChangeFold.bind(this)),this.$onChange=this.onChange.bind(this);if(typeof e!="object"||!e.getLine)e=new c(e);this.setDocument(e),this.selection=new a(this),this.$bidiHandler=new s(this),o.resetOptions(this),this.setMode(t),o._signal("session",this)};d.$uid=0,function(){function m(e){return e<4352?!1:e>=4352&&e<=4447||e>=4515&&e<=4519||e>=4602&&e<=4607||e>=9001&&e<=9002||e>=11904&&e<=11929||e>=11931&&e<=12019||e>=12032&&e<=12245||e>=12272&&e<=12283||e>=12288&&e<=12350||e>=12353&&e<=12438||e>=12441&&e<=12543||e>=12549&&e<=12589||e>=12593&&e<=12686||e>=12688&&e<=12730||e>=12736&&e<=12771||e>=12784&&e<=12830||e>=12832&&e<=12871||e>=12880&&e<=13054||e>=13056&&e<=19903||e>=19968&&e<=42124||e>=42128&&e<=42182||e>=43360&&e<=43388||e>=44032&&e<=55203||e>=55216&&e<=55238||e>=55243&&e<=55291||e>=63744&&e<=64255||e>=65040&&e<=65049||e>=65072&&e<=65106||e>=65108&&e<=65126||e>=65128&&e<=65131||e>=65281&&e<=65376||e>=65504&&e<=65510}r.implement(this,u),this.setDocument=function(e){this.doc&&this.doc.removeListener("change",this.$onChange),this.doc=e,e.on("change",this.$onChange),this.bgTokenizer&&this.bgTokenizer.setDocument(this.getDocument()),this.resetCaches()},this.getDocument=function(){return this.doc},this.$resetRowCache=function(e){if(!e){this.$docRowCache=[],this.$screenRowCache=[];return}var t=this.$docRowCache.length,n=this.$getRowCacheIndex(this.$docRowCache,e)+1;t>n&&(this.$docRowCache.splice(n,t),this.$screenRowCache.splice(n,t))},this.$getRowCacheIndex=function(e,t){var n=0,r=e.length-1;while(n<=r){var i=n+r>>1,s=e[i];if(t>s)n=i+1;else{if(!(t<s))return i;r=i-1}}return n-1},this.resetCaches=function(){this.$modified=!0,this.$wrapData=[],this.$rowLengthCache=[],this.$resetRowCache(0),this.bgTokenizer&&this.bgTokenizer.start(0)},this.onChangeFold=function(e){var t=e.data;this.$resetRowCache(t.start.row)},this.onChange=function(e){this.$modified=!0,this.$bidiHandler.onChange(e),this.$resetRowCache(e.start.row);var t=this.$updateInternalDataOnChange(e);!this.$fromUndo&&this.$undoManager&&(t&&t.length&&(this.$undoManager.add({action:"removeFolds",folds:t},this.mergeUndoDeltas),this.mergeUndoDeltas=!0),this.$undoManager.add(e,this.mergeUndoDeltas),this.mergeUndoDeltas=!0,this.$informUndoManager.schedule()),this.bgTokenizer&&this.bgTokenizer.$updateOnChange(e),this._signal("change",e)},this.setValue=function(e){this.doc.setValue(e),this.selection.moveTo(0,0),this.$resetRowCache(0),this.setUndoManager(this.$undoManager),this.getUndoManager().reset()},this.getValue=this.toString=function(){return this.doc.getValue()},this.getSelection=function(){return this.selection},this.getState=function(e){return this.bgTokenizer.getState(e)},this.getTokens=function(e){return this.bgTokenizer.getTokens(e)},this.getTokenAt=function(e,t){var n=this.bgTokenizer.getTokens(e),r,i=0;if(t==null){var s=n.length-1;i=this.getLine(e).length}else for(var s=0;s<n.length;s++){i+=n[s].value.length;if(i>=t)break}return r=n[s],r?(r.index=s,r.start=i-r.value.length,r):null},this.setUndoManager=function(e){this.$undoManager=e,this.$informUndoManager&&this.$informUndoManager.cancel();if(e){var t=this;e.addSession(this),this.$syncInformUndoManager=function(){t.$informUndoManager.cancel(),t.mergeUndoDeltas=!1},this.$informUndoManager=i.delayedCall(this.$syncInformUndoManager)}else this.$syncInformUndoManager=function(){}},this.markUndoGroup=function(){this.$syncInformUndoManager&&this.$syncInformUndoManager()},this.$defaultUndoManager={undo:function(){},redo:function(){},reset:function(){},add:function(){},addSelection:function(){},startNewGroup:function(){},addSession:function(){}},this.getUndoManager=function(){return this.$undoManager||this.$defaultUndoManager},this.getTabString=function(){return this.getUseSoftTabs()?i.stringRepeat(" ",this.getTabSize()):" "},this.setUseSoftTabs=function(e){this.setOption("useSoftTabs",e)},this.getUseSoftTabs=function(){return this.$useSoftTabs&&!this.$mode.$indentWithTabs},this.setTabSize=function(e){this.setOption("tabSize",e)},this.getTabSize=function(){return this.$tabSize},this.isTabStop=function(e){return this.$useSoftTabs&&e.column%this.$tabSize===0},this.setNavigateWithinSoftTabs=function(e){this.setOption("navigateWithinSoftTabs",e)},this.getNavigateWithinSoftTabs=function(){return this.$navigateWithinSoftTabs},this.$overwrite=!1,this.setOverwrite=function(e){this.setOption("overwrite",e)},this.getOverwrite=function(){return this.$overwrite},this.toggleOverwrite=function(){this.setOverwrite(!this.$overwrite)},this.addGutterDecoration=function(e,t){this.$decorations[e]||(this.$decorations[e]=""),this.$decorations[e]+=" "+t,this._signal("changeBreakpoint",{})},this.removeGutterDecoration=function(e,t){this.$decorations[e]=(this.$decorations[e]||"").replace(" "+t,""),this._signal("changeBreakpoint",{})},this.getBreakpoints=function(){return this.$breakpoints},this.setBreakpoints=function(e){this.$breakpoints=[];for(var t=0;t<e.length;t++)this.$breakpoints[e[t]]="ace_breakpoint";this._signal("changeBreakpoint",{})},this.clearBreakpoints=function(){this.$breakpoints=[],this._signal("changeBreakpoint",{})},this.setBreakpoint=function(e,t){t===undefined&&(t="ace_breakpoint"),t?this.$breakpoints[e]=t:delete this.$breakpoints[e],this._signal("changeBreakpoint",{})},this.clearBreakpoint=function(e){delete this.$breakpoints[e],this._signal("changeBreakpoint",{})},this.addMarker=function(e,t,n,r){var i=this.$markerId++,s={range:e,type:n||"line",renderer:typeof n=="function"?n:null,clazz:t,inFront:!!r,id:i};return r?(this.$frontMarkers[i]=s,this._signal("changeFrontMarker")):(this.$backMarkers[i]=s,this._signal("changeBackMarker")),i},this.addDynamicMarker=function(e,t){if(!e.update)return;var n=this.$markerId++;return e.id=n,e.inFront=!!t,t?(this.$frontMarkers[n]=e,this._signal("changeFrontMarker")):(this.$backMarkers[n]=e,this._signal("changeBackMarker")),e},this.removeMarker=function(e){var t=this.$frontMarkers[e]||this.$backMarkers[e];if(!t)return;var n=t.inFront?this.$frontMarkers:this.$backMarkers;delete n[e],this._signal(t.inFront?"changeFrontMarker":"changeBackMarker")},this.getMarkers=function(e){return e?this.$frontMarkers:this.$backMarkers},this.highlight=function(e){if(!this.$searchHighlight){var t=new p(null,"ace_selected-word","text");this.$searchHighlight=this.addDynamicMarker(t)}this.$searchHighlight.setRegexp(e)},this.highlightLines=function(e,t,n,r){typeof t!="number"&&(n=t,t=e),n||(n="ace_step");var i=new l(e,0,t,Infinity);return i.id=this.addMarker(i,n,"fullLine",r),i},this.setAnnotations=function(e){this.$annotations=e,this._signal("changeAnnotation",{})},this.getAnnotations=function(){return this.$annotations||[]},this.clearAnnotations=function(){this.setAnnotations([])},this.$detectNewLine=function(e){var t=e.match(/^.*?(\r?\n)/m);t?this.$autoNewLine=t[1]:this.$autoNewLine="\n"},this.getWordRange=function(e,t){var n=this.getLine(e),r=!1;t>0&&(r=!!n.charAt(t-1).match(this.tokenRe)),r||(r=!!n.charAt(t).match(this.tokenRe));if(r)var i=this.tokenRe;else if(/^\s+$/.test(n.slice(t-1,t+1)))var i=/\s/;else var i=this.nonTokenRe;var s=t;if(s>0){do s--;while(s>=0&&n.charAt(s).match(i));s++}var o=t;while(o<n.length&&n.charAt(o).match(i))o++;return new l(e,s,e,o)},this.getAWordRange=function(e,t){var n=this.getWordRange(e,t),r=this.getLine(n.end.row);while(r.charAt(n.end.column).match(/[ \t]/))n.end.column+=1;return n},this.setNewLineMode=function(e){this.doc.setNewLineMode(e)},this.getNewLineMode=function(){return this.doc.getNewLineMode()},this.setUseWorker=function(e){this.setOption("useWorker",e)},this.getUseWorker=function(){return this.$useWorker},this.onReloadTokenizer=function(e){var t=e.data;this.bgTokenizer.start(t.first),this._signal("tokenizerUpdate",e)},this.$modes=o.$modes,this.$mode=null,this.$modeId=null,this.setMode=function(e,t){if(e&&typeof e=="object"){if(e.getTokenizer)return this.$onChangeMode(e);var n=e,r=n.path}else r=e||"ace/mode/text";this.$modes["ace/mode/text"]||(this.$modes["ace/mode/text"]=new f);if(this.$modes[r]&&!n){this.$onChangeMode(this.$modes[r]),t&&t();return}this.$modeId=r,o.loadModule(["mode",r],function(e){if(this.$modeId!==r)return t&&t();this.$modes[r]&&!n?this.$onChangeMode(this.$modes[r]):e&&e.Mode&&(e=new e.Mode(n),n||(this.$modes[r]=e,e.$id=r),this.$onChangeMode(e)),t&&t()}.bind(this)),this.$mode||this.$onChangeMode(this.$modes["ace/mode/text"],!0)},this.$onChangeMode=function(e,t){t||(this.$modeId=e.$id);if(this.$mode===e)return;this.$mode=e,this.$stopWorker(),this.$useWorker&&this.$startWorker();var n=e.getTokenizer();if(n.addEventListener!==undefined){var r=this.onReloadTokenizer.bind(this);n.addEventListener("update",r)}if(!this.bgTokenizer){this.bgTokenizer=new h(n);var i=this;this.bgTokenizer.addEventListener("update",function(e){i._signal("tokenizerUpdate",e)})}else this.bgTokenizer.setTokenizer(n);this.bgTokenizer.setDocument(this.getDocument()),this.tokenRe=e.tokenRe,this.nonTokenRe=e.nonTokenRe,t||(e.attachToSession&&e.attachToSession(this),this.$options.wrapMethod.set.call(this,this.$wrapMethod),this.$setFolding(e.foldingRules),this.bgTokenizer.start(0),this._emit("changeMode"))},this.$stopWorker=function(){this.$worker&&(this.$worker.terminate(),this.$worker=null)},this.$startWorker=function(){try{this.$worker=this.$mode.createWorker(this)}catch(e){o.warn("Could not load worker",e),this.$worker=null}},this.getMode=function(){return this.$mode},this.$scrollTop=0,this.setScrollTop=function(e){if(this.$scrollTop===e||isNaN(e))return;this.$scrollTop=e,this._signal("changeScrollTop",e)},this.getScrollTop=function(){return this.$scrollTop},this.$scrollLeft=0,this.setScrollLeft=function(e){if(this.$scrollLeft===e||isNaN(e))return;this.$scrollLeft=e,this._signal("changeScrollLeft",e)},this.getScrollLeft=function(){return this.$scrollLeft},this.getScreenWidth=function(){return this.$computeWidth(),this.lineWidgets?Math.max(this.getLineWidgetMaxWidth(),this.screenWidth):this.screenWidth},this.getLineWidgetMaxWidth=function(){if(this.lineWidgetsWidth!=null)return this.lineWidgetsWidth;var e=0;return this.lineWidgets.forEach(function(t){t&&t.screenWidth>e&&(e=t.screenWidth)}),this.lineWidgetWidth=e},this.$computeWidth=function(e){if(this.$modified||e){this.$modified=!1;if(this.$useWrapMode)return this.screenWidth=this.$wrapLimit;var t=this.doc.getAllLines(),n=this.$rowLengthCache,r=0,i=0,s=this.$foldData[i],o=s?s.start.row:Infinity,u=t.length;for(var a=0;a<u;a++){if(a>o){a=s.end.row+1;if(a>=u)break;s=this.$foldData[i++],o=s?s.start.row:Infinity}n[a]==null&&(n[a]=this.$getStringScreenWidth(t[a])[0]),n[a]>r&&(r=n[a])}this.screenWidth=r}},this.getLine=function(e){return this.doc.getLine(e)},this.getLines=function(e,t){return this.doc.getLines(e,t)},this.getLength=function(){return this.doc.getLength()},this.getTextRange=function(e){return this.doc.getTextRange(e||this.selection.getRange())},this.insert=function(e,t){return this.doc.insert(e,t)},this.remove=function(e){return this.doc.remove(e)},this.removeFullLines=function(e,t){return this.doc.removeFullLines(e,t)},this.undoChanges=function(e,t){if(!e.length)return;this.$fromUndo=!0;for(var n=e.length-1;n!=-1;n--){var r=e[n];r.action=="insert"||r.action=="remove"?this.doc.revertDelta(r):r.folds&&this.addFolds(r.folds)}!t&&this.$undoSelect&&(e.selectionBefore?this.selection.fromJSON(e.selectionBefore):this.selection.setRange(this.$getUndoSelection(e,!0))),this.$fromUndo=!1},this.redoChanges=function(e,t){if(!e.length)return;this.$fromUndo=!0;for(var n=0;n<e.length;n++){var r=e[n];(r.action=="insert"||r.action=="remove")&&this.doc.applyDelta(r)}!t&&this.$undoSelect&&(e.selectionAfter?this.selection.fromJSON(e.selectionAfter):this.selection.setRange(this.$getUndoSelection(e,!1))),this.$fromUndo=!1},this.setUndoSelect=function(e){this.$undoSelect=e},this.$getUndoSelection=function(e,t){function n(e){return t?e.action!=="insert":e.action==="insert"}var r,i,s;for(var o=0;o<e.length;o++){var u=e[o];if(!u.start)continue;if(!r){n(u)?(r=l.fromPoints(u.start,u.end),s=!0):(r=l.fromPoints(u.start,u.start),s=!1);continue}n(u)?(i=u.start,r.compare(i.row,i.column)==-1&&r.setStart(i),i=u.end,r.compare(i.row,i.column)==1&&r.setEnd(i),s=!0):(i=u.start,r.compare(i.row,i.column)==-1&&(r=l.fromPoints(u.start,u.start)),s=!1)}return r},this.replace=function(e,t){return this.doc.replace(e,t)},this.moveText=function(e,t,n){var r=this.getTextRange(e),i=this.getFoldsInRange(e),s=l.fromPoints(t,t);if(!n){this.remove(e);var o=e.start.row-e.end.row,u=o?-e.end.column:e.start.column-e.end.column;u&&(s.start.row==e.end.row&&s.start.column>e.end.column&&(s.start.column+=u),s.end.row==e.end.row&&s.end.column>e.end.column&&(s.end.column+=u)),o&&s.start.row>=e.end.row&&(s.start.row+=o,s.end.row+=o)}s.end=this.insert(s.start,r);if(i.length){var a=e.start,f=s.start,o=f.row-a.row,u=f.column-a.column;this.addFolds(i.map(function(e){return e=e.clone(),e.start.row==a.row&&(e.start.column+=u),e.end.row==a.row&&(e.end.column+=u),e.start.row+=o,e.end.row+=o,e}))}return s},this.indentRows=function(e,t,n){n=n.replace(/\t/g,this.getTabString());for(var r=e;r<=t;r++)this.doc.insertInLine({row:r,column:0},n)},this.outdentRows=function(e){var t=e.collapseRows(),n=new l(0,0,0,0),r=this.getTabSize();for(var i=t.start.row;i<=t.end.row;++i){var s=this.getLine(i);n.start.row=i,n.end.row=i;for(var o=0;o<r;++o)if(s.charAt(o)!=" ")break;o<r&&s.charAt(o)==" "?(n.start.column=o,n.end.column=o+1):(n.start.column=0,n.end.column=o),this.remove(n)}},this.$moveLines=function(e,t,n){e=this.getRowFoldStart(e),t=this.getRowFoldEnd(t);if(n<0){var r=this.getRowFoldStart(e+n);if(r<0)return 0;var i=r-e}else if(n>0){var r=this.getRowFoldEnd(t+n);if(r>this.doc.getLength()-1)return 0;var i=r-t}else{e=this.$clipRowToDocument(e),t=this.$clipRowToDocument(t);var i=t-e+1}var s=new l(e,0,t,Number.MAX_VALUE),o=this.getFoldsInRange(s).map(function(e){return e=e.clone(),e.start.row+=i,e.end.row+=i,e}),u=n==0?this.doc.getLines(e,t):this.doc.removeFullLines(e,t);return this.doc.insertFullLines(e+i,u),o.length&&this.addFolds(o),i},this.moveLinesUp=function(e,t){return this.$moveLines(e,t,-1)},this.moveLinesDown=function(e,t){return this.$moveLines(e,t,1)},this.duplicateLines=function(e,t){return this.$moveLines(e,t,0)},this.$clipRowToDocument=function(e){return Math.max(0,Math.min(e,this.doc.getLength()-1))},this.$clipColumnToRow=function(e,t){return t<0?0:Math.min(this.doc.getLine(e).length,t)},this.$clipPositionToDocument=function(e,t){t=Math.max(0,t);if(e<0)e=0,t=0;else{var n=this.doc.getLength();e>=n?(e=n-1,t=this.doc.getLine(n-1).length):t=Math.min(this.doc.getLine(e).length,t)}return{row:e,column:t}},this.$clipRangeToDocument=function(e){e.start.row<0?(e.start.row=0,e.start.column=0):e.start.column=this.$clipColumnToRow(e.start.row,e.start.column);var t=this.doc.getLength()-1;return e.end.row>t?(e.end.row=t,e.end.column=this.doc.getLine(t).length):e.end.column=this.$clipColumnToRow(e.end.row,e.end.column),e},this.$wrapLimit=80,this.$useWrapMode=!1,this.$wrapLimitRange={min:null,max:null},this.setUseWrapMode=function(e){if(e!=this.$useWrapMode){this.$useWrapMode=e,this.$modified=!0,this.$resetRowCache(0);if(e){var t=this.getLength();this.$wrapData=Array(t),this.$updateWrapData(0,t-1)}this._signal("changeWrapMode")}},this.getUseWrapMode=function(){return this.$useWrapMode},this.setWrapLimitRange=function(e,t){if(this.$wrapLimitRange.min!==e||this.$wrapLimitRange.max!==t)this.$wrapLimitRange={min:e,max:t},this.$modified=!0,this.$bidiHandler.markAsDirty(),this.$useWrapMode&&this._signal("changeWrapMode")},this.adjustWrapLimit=function(e,t){var n=this.$wrapLimitRange;n.max<0&&(n={min:t,max:t});var r=this.$constrainWrapLimit(e,n.min,n.max);return r!=this.$wrapLimit&&r>1?(this.$wrapLimit=r,this.$modified=!0,this.$useWrapMode&&(this.$updateWrapData(0,this.getLength()-1),this.$resetRowCache(0),this._signal("changeWrapLimit")),!0):!1},this.$constrainWrapLimit=function(e,t,n){return t&&(e=Math.max(t,e)),n&&(e=Math.min(n,e)),e},this.getWrapLimit=function(){return this.$wrapLimit},this.setWrapLimit=function(e){this.setWrapLimitRange(e,e)},this.getWrapLimitRange=function(){return{min:this.$wrapLimitRange.min,max:this.$wrapLimitRange.max}},this.$updateInternalDataOnChange=function(e){var t=this.$useWrapMode,n=e.action,r=e.start,i=e.end,s=r.row,o=i.row,u=o-s,a=null;this.$updating=!0;if(u!=0)if(n==="remove"){this[t?"$wrapData":"$rowLengthCache"].splice(s,u);var f=this.$foldData;a=this.getFoldsInRange(e),this.removeFolds(a);var l=this.getFoldLine(i.row),c=0;if(l){l.addRemoveChars(i.row,i.column,r.column-i.column),l.shiftRow(-u);var h=this.getFoldLine(s);h&&h!==l&&(h.merge(l),l=h),c=f.indexOf(l)+1}for(c;c<f.length;c++){var l=f[c];l.start.row>=i.row&&l.shiftRow(-u)}o=s}else{var p=Array(u);p.unshift(s,0);var d=t?this.$wrapData:this.$rowLengthCache;d.splice.apply(d,p);var f=this.$foldData,l=this.getFoldLine(s),c=0;if(l){var v=l.range.compareInside(r.row,r.column);v==0?(l=l.split(r.row,r.column),l&&(l.shiftRow(u),l.addRemoveChars(o,0,i.column-r.column))):v==-1&&(l.addRemoveChars(s,0,i.column-r.column),l.shiftRow(u)),c=f.indexOf(l)+1}for(c;c<f.length;c++){var l=f[c];l.start.row>=s&&l.shiftRow(u)}}else{u=Math.abs(e.start.column-e.end.column),n==="remove"&&(a=this.getFoldsInRange(e),this.removeFolds(a),u=-u);var l=this.getFoldLine(s);l&&l.addRemoveChars(s,r.column,u)}return t&&this.$wrapData.length!=this.doc.getLength()&&console.error("doc.getLength() and $wrapData.length have to be the same!"),this.$updating=!1,t?this.$updateWrapData(s,o):this.$updateRowLengthCache(s,o),a},this.$updateRowLengthCache=function(e,t,n){this.$rowLengthCache[e]=null,this.$rowLengthCache[t]=null},this.$updateWrapData=function(e,t){var r=this.doc.getAllLines(),i=this.getTabSize(),o=this.$wrapData,u=this.$wrapLimit,a,f,l=e;t=Math.min(t,r.length-1);while(l<=t)f=this.getFoldLine(l,f),f?(a=[],f.walk(function(e,t,i,o){var u;if(e!=null){u=this.$getDisplayTokens(e,a.length),u[0]=n;for(var f=1;f<u.length;f++)u[f]=s}else u=this.$getDisplayTokens(r[t].substring(o,i),a.length);a=a.concat(u)}.bind(this),f.end.row,r[f.end.row].length+1),o[f.start.row]=this.$computeWrapSplits(a,u,i),l=f.end.row+1):(a=this.$getDisplayTokens(r[l]),o[l]=this.$computeWrapSplits(a,u,i),l++)};var e=1,t=2,n=3,s=4,a=9,c=10,d=11,v=12;this.$computeWrapSplits=function(e,r,i){function g(){var t=0;if(m===0)return t;if(p)for(var n=0;n<e.length;n++){var r=e[n];if(r==c)t+=1;else{if(r!=d){if(r==v)continue;break}t+=i}}return h&&p!==!1&&(t+=i),Math.min(t,m)}function y(t){var n=t-f;for(var r=f;r<t;r++){var i=e[r];if(i===12||i===2)n-=1}o.length||(b=g(),o.indent=b),l+=n,o.push(l),f=t}if(e.length==0)return[];var o=[],u=e.length,f=0,l=0,h=this.$wrapAsCode,p=this.$indentedSoftWrap,m=r<=Math.max(2*i,8)||p===!1?0:Math.floor(r/2),b=0;while(u-f>r-b){var w=f+r-b;if(e[w-1]>=c&&e[w]>=c){y(w);continue}if(e[w]==n||e[w]==s){for(w;w!=f-1;w--)if(e[w]==n)break;if(w>f){y(w);continue}w=f+r;for(w;w<e.length;w++)if(e[w]!=s)break;if(w==e.length)break;y(w);continue}var E=Math.max(w-(r-(r>>2)),f-1);while(w>E&&e[w]<n)w--;if(h){while(w>E&&e[w]<n)w--;while(w>E&&e[w]==a)w--}else while(w>E&&e[w]<c)w--;if(w>E){y(++w);continue}w=f+r,e[w]==t&&w--,y(w-b)}return o},this.$getDisplayTokens=function(n,r){var i=[],s;r=r||0;for(var o=0;o<n.length;o++){var u=n.charCodeAt(o);if(u==9){s=this.getScreenTabSize(i.length+r),i.push(d);for(var f=1;f<s;f++)i.push(v)}else u==32?i.push(c):u>39&&u<48||u>57&&u<64?i.push(a):u>=4352&&m(u)?i.push(e,t):i.push(e)}return i},this.$getStringScreenWidth=function(e,t,n){if(t==0)return[0,0];t==null&&(t=Infinity),n=n||0;var r,i;for(i=0;i<e.length;i++){r=e.charCodeAt(i),r==9?n+=this.getScreenTabSize(n):r>=4352&&m(r)?n+=2:n+=1;if(n>t)break}return[n,i]},this.lineWidgets=null,this.getRowLength=function(e){if(this.lineWidgets)var t=this.lineWidgets[e]&&this.lineWidgets[e].rowCount||0;else t=0;return!this.$useWrapMode||!this.$wrapData[e]?1+t:this.$wrapData[e].length+1+t},this.getRowLineCount=function(e){return!this.$useWrapMode||!this.$wrapData[e]?1:this.$wrapData[e].length+1},this.getRowWrapIndent=function(e){if(this.$useWrapMode){var t=this.screenToDocumentPosition(e,Number.MAX_VALUE),n=this.$wrapData[t.row];return n.length&&n[0]<t.column?n.indent:0}return 0},this.getScreenLastRowColumn=function(e){var t=this.screenToDocumentPosition(e,Number.MAX_VALUE);return this.documentToScreenColumn(t.row,t.column)},this.getDocumentLastRowColumn=function(e,t){var n=this.documentToScreenRow(e,t);return this.getScreenLastRowColumn(n)},this.getDocumentLastRowColumnPosition=function(e,t){var n=this.documentToScreenRow(e,t);return this.screenToDocumentPosition(n,Number.MAX_VALUE/10)},this.getRowSplitData=function(e){return this.$useWrapMode?this.$wrapData[e]:undefined},this.getScreenTabSize=function(e){return this.$tabSize-(e%this.$tabSize|0)},this.screenToDocumentRow=function(e,t){return this.screenToDocumentPosition(e,t).row},this.screenToDocumentColumn=function(e,t){return this.screenToDocumentPosition(e,t).column},this.screenToDocumentPosition=function(e,t,n){if(e<0)return{row:0,column:0};var r,i=0,s=0,o,u=0,a=0,f=this.$screenRowCache,l=this.$getRowCacheIndex(f,e),c=f.length;if(c&&l>=0)var u=f[l],i=this.$docRowCache[l],h=e>f[c-1];else var h=!c;var p=this.getLength()-1,d=this.getNextFoldLine(i),v=d?d.start.row:Infinity;while(u<=e){a=this.getRowLength(i);if(u+a>e||i>=p)break;u+=a,i++,i>v&&(i=d.end.row+1,d=this.getNextFoldLine(i,d),v=d?d.start.row:Infinity),h&&(this.$docRowCache.push(i),this.$screenRowCache.push(u))}if(d&&d.start.row<=i)r=this.getFoldDisplayLine(d),i=d.start.row;else{if(u+a<=e||i>p)return{row:p,column:this.getLine(p).length};r=this.getLine(i),d=null}var m=0,g=Math.floor(e-u);if(this.$useWrapMode){var y=this.$wrapData[i];y&&(o=y[g],g>0&&y.length&&(m=y.indent,s=y[g-1]||y[y.length-1],r=r.substring(s)))}return n!==undefined&&this.$bidiHandler.isBidiRow(u+g,i,g)&&(t=this.$bidiHandler.offsetToCol(n)),s+=this.$getStringScreenWidth(r,t-m)[1],this.$useWrapMode&&s>=o&&(s=o-1),d?d.idxToPosition(s):{row:i,column:s}},this.documentToScreenPosition=function(e,t){if(typeof t=="undefined")var n=this.$clipPositionToDocument(e.row,e.column);else n=this.$clipPositionToDocument(e,t);e=n.row,t=n.column;var r=0,i=null,s=null;s=this.getFoldAt(e,t,1),s&&(e=s.start.row,t=s.start.column);var o,u=0,a=this.$docRowCache,f=this.$getRowCacheIndex(a,e),l=a.length;if(l&&f>=0)var u=a[f],r=this.$screenRowCache[f],c=e>a[l-1];else var c=!l;var h=this.getNextFoldLine(u),p=h?h.start.row:Infinity;while(u<e){if(u>=p){o=h.end.row+1;if(o>e)break;h=this.getNextFoldLine(o,h),p=h?h.start.row:Infinity}else o=u+1;r+=this.getRowLength(u),u=o,c&&(this.$docRowCache.push(u),this.$screenRowCache.push(r))}var d="";h&&u>=p?(d=this.getFoldDisplayLine(h,e,t),i=h.start.row):(d=this.getLine(e).substring(0,t),i=e);var v=0;if(this.$useWrapMode){var m=this.$wrapData[i];if(m){var g=0;while(d.length>=m[g])r++,g++;d=d.substring(m[g-1]||0,d.length),v=g>0?m.indent:0}}return{row:r,column:v+this.$getStringScreenWidth(d)[0]}},this.documentToScreenColumn=function(e,t){return this.documentToScreenPosition(e,t).column},this.documentToScreenRow=function(e,t){return this.documentToScreenPosition(e,t).row},this.getScreenLength=function(){var e=0,t=null;if(!this.$useWrapMode){e=this.getLength();var n=this.$foldData;for(var r=0;r<n.length;r++)t=n[r],e-=t.end.row-t.start.row}else{var i=this.$wrapData.length,s=0,r=0,t=this.$foldData[r++],o=t?t.start.row:Infinity;while(s<i){var u=this.$wrapData[s];e+=u?u.length+1:1,s++,s>o&&(s=t.end.row+1,t=this.$foldData[r++],o=t?t.start.row:Infinity)}}return this.lineWidgets&&(e+=this.$getWidgetScreenLength()),e},this.$setFontMetrics=function(e){if(!this.$enableVarChar)return;this.$getStringScreenWidth=function(t,n,r){if(n===0)return[0,0];n||(n=Infinity),r=r||0;var i,s;for(s=0;s<t.length;s++){i=t.charAt(s),i===" "?r+=this.getScreenTabSize(r):r+=e.getCharacterWidth(i);if(r>n)break}return[r,s]}},this.destroy=function(){this.bgTokenizer&&(this.bgTokenizer.setDocument(null),this.bgTokenizer=null),this.$stopWorker()},this.isFullWidth=m}.call(d.prototype),e("./edit_session/folding").Folding.call(d.prototype),e("./edit_session/bracket_match").BracketMatch.call(d.prototype),o.defineOptions(d.prototype,"session",{wrap:{set:function(e){!e||e=="off"?e=!1:e=="free"?e=!0:e=="printMargin"?e=-1:typeof e=="string"&&(e=parseInt(e,10)||!1);if(this.$wrap==e)return;this.$wrap=e;if(!e)this.setUseWrapMode(!1);else{var t=typeof e=="number"?e:null;this.setWrapLimitRange(t,t),this.setUseWrapMode(!0)}},get:function(){return this.getUseWrapMode()?this.$wrap==-1?"printMargin":this.getWrapLimitRange().min?this.$wrap:"free":"off"},handlesSet:!0},wrapMethod:{set:function(e){e=e=="auto"?this.$mode.type!="text":e!="text",e!=this.$wrapAsCode&&(this.$wrapAsCode=e,this.$useWrapMode&&(this.$useWrapMode=!1,this.setUseWrapMode(!0)))},initialValue:"auto"},indentedSoftWrap:{set:function(){this.$useWrapMode&&(this.$useWrapMode=!1,this.setUseWrapMode(!0))},initialValue:!0},firstLineNumber:{set:function(){this._signal("changeBreakpoint")},initialValue:1},useWorker:{set:function(e){this.$useWorker=e,this.$stopWorker(),e&&this.$startWorker()},initialValue:!0},useSoftTabs:{initialValue:!0},tabSize:{set:function(e){e=parseInt(e),e>0&&this.$tabSize!==e&&(this.$modified=!0,this.$rowLengthCache=[],this.$tabSize=e,this._signal("changeTabSize"))},initialValue:4,handlesSet:!0},navigateWithinSoftTabs:{initialValue:!1},foldStyle:{set:function(e){this.setFoldStyle(e)},handlesSet:!0},overwrite:{set:function(e){this._signal("changeOverwrite")},initialValue:!1},newLineMode:{set:function(e){this.doc.setNewLineMode(e)},get:function(){return this.doc.getNewLineMode()},handlesSet:!0},mode:{set:function(e){this.setMode(e)},get:function(){return this.$modeId},handlesSet:!0}}),t.EditSession=d}),ace.define("ace/search",["require","exports","module","ace/lib/lang","ace/lib/oop","ace/range"],function(e,t,n){"use strict";function u(e,t){function n(e){return/\w/.test(e)||t.regExp?"\\b":""}return n(e[0])+e+n(e[e.length-1])}var r=e("./lib/lang"),i=e("./lib/oop"),s=e("./range").Range,o=function(){this.$options={}};(function(){this.set=function(e){return i.mixin(this.$options,e),this},this.getOptions=function(){return r.copyObject(this.$options)},this.setOptions=function(e){this.$options=e},this.find=function(e){var t=this.$options,n=this.$matchIterator(e,t);if(!n)return!1;var r=null;return n.forEach(function(e,n,i,o){return r=new s(e,n,i,o),n==o&&t.start&&t.start.start&&t.skipCurrent!=0&&r.isEqual(t.start)?(r=null,!1):!0}),r},this.findAll=function(e){var t=this.$options;if(!t.needle)return[];this.$assembleRegExp(t);var n=t.range,i=n?e.getLines(n.start.row,n.end.row):e.doc.getAllLines(),o=[],u=t.re;if(t.$isMultiLine){var a=u.length,f=i.length-a,l;e:for(var c=u.offset||0;c<=f;c++){for(var h=0;h<a;h++)if(i[c+h].search(u[h])==-1)continue e;var p=i[c],d=i[c+a-1],v=p.length-p.match(u[0])[0].length,m=d.match(u[a-1])[0].length;if(l&&l.end.row===c&&l.end.column>v)continue;o.push(l=new s(c,v,c+a-1,m)),a>2&&(c=c+a-2)}}else for(var g=0;g<i.length;g++){var y=r.getMatchOffsets(i[g],u);for(var h=0;h<y.length;h++){var b=y[h];o.push(new s(g,b.offset,g,b.offset+b.length))}}if(n){var w=n.start.column,E=n.start.column,g=0,h=o.length-1;while(g<h&&o[g].start.column<w&&o[g].start.row==n.start.row)g++;while(g<h&&o[h].end.column>E&&o[h].end.row==n.end.row)h--;o=o.slice(g,h+1);for(g=0,h=o.length;g<h;g++)o[g].start.row+=n.start.row,o[g].end.row+=n.start.row}return o},this.replace=function(e,t){var n=this.$options,r=this.$assembleRegExp(n);if(n.$isMultiLine)return t;if(!r)return;var i=r.exec(e);if(!i||i[0].length!=e.length)return null;t=e.replace(r,t);if(n.preserveCase){t=t.split("");for(var s=Math.min(e.length,e.length);s--;){var o=e[s];o&&o.toLowerCase()!=o?t[s]=t[s].toUpperCase():t[s]=t[s].toLowerCase()}t=t.join("")}return t},this.$assembleRegExp=function(e,t){if(e.needle instanceof RegExp)return e.re=e.needle;var n=e.needle;if(!e.needle)return e.re=!1;e.regExp||(n=r.escapeRegExp(n)),e.wholeWord&&(n=u(n,e));var i=e.caseSensitive?"gm":"gmi";e.$isMultiLine=!t&&/[\n\r]/.test(n);if(e.$isMultiLine)return e.re=this.$assembleMultilineRegExp(n,i);try{var s=new RegExp(n,i)}catch(o){s=!1}return e.re=s},this.$assembleMultilineRegExp=function(e,t){var n=e.replace(/\r\n|\r|\n/g,"$\n^").split("\n"),r=[];for(var i=0;i<n.length;i++)try{r.push(new RegExp(n[i],t))}catch(s){return!1}return r},this.$matchIterator=function(e,t){var n=this.$assembleRegExp(t);if(!n)return!1;var r=t.backwards==1,i=t.skipCurrent!=0,s=t.range,o=t.start;o||(o=s?s[r?"end":"start"]:e.selection.getRange()),o.start&&(o=o[i!=r?"end":"start"]);var u=s?s.start.row:0,a=s?s.end.row:e.getLength()-1;if(r)var f=function(e){var n=o.row;if(c(n,o.column,e))return;for(n--;n>=u;n--)if(c(n,Number.MAX_VALUE,e))return;if(t.wrap==0)return;for(n=a,u=o.row;n>=u;n--)if(c(n,Number.MAX_VALUE,e))return};else var f=function(e){var n=o.row;if(c(n,o.column,e))return;for(n+=1;n<=a;n++)if(c(n,0,e))return;if(t.wrap==0)return;for(n=u,a=o.row;n<=a;n++)if(c(n,0,e))return};if(t.$isMultiLine)var l=n.length,c=function(t,i,s){var o=r?t-l+1:t;if(o<0)return;var u=e.getLine(o),a=u.search(n[0]);if(!r&&a<i||a===-1)return;for(var f=1;f<l;f++){u=e.getLine(o+f);if(u.search(n[f])==-1)return}var c=u.match(n[l-1])[0].length;if(r&&c>i)return;if(s(o,a,o+l-1,c))return!0};else if(r)var c=function(t,r,i){var s=e.getLine(t),o=[],u,a=0;n.lastIndex=0;while(u=n.exec(s)){var f=u[0].length;a=u.index;if(!f){if(a>=s.length)break;n.lastIndex=a+=1}if(u.index+f>r)break;o.push(u.index,f)}for(var l=o.length-1;l>=0;l-=2){var c=o[l-1],f=o[l];if(i(t,c,t,c+f))return!0}};else var c=function(t,r,i){var s=e.getLine(t),o,u;n.lastIndex=r;while(u=n.exec(s)){var a=u[0].length;o=u.index;if(i(t,o,t,o+a))return!0;if(!a){n.lastIndex=o+=1;if(o>=s.length)return!1}}};return{forEach:f}}}).call(o.prototype),t.Search=o}),ace.define("ace/keyboard/hash_handler",["require","exports","module","ace/lib/keys","ace/lib/useragent"],function(e,t,n){"use strict";function o(e,t){this.platform=t||(i.isMac?"mac":"win"),this.commands={},this.commandKeyBinding={},this.addCommands(e),this.$singleCommand=!0}function u(e,t){o.call(this,e,t),this.$singleCommand=!1}var r=e("../lib/keys"),i=e("../lib/useragent"),s=r.KEY_MODS;u.prototype=o.prototype,function(){function e(e){return typeof e=="object"&&e.bindKey&&e.bindKey.position||(e.isDefault?-100:0)}this.addCommand=function(e){this.commands[e.name]&&this.removeCommand(e),this.commands[e.name]=e,e.bindKey&&this._buildKeyHash(e)},this.removeCommand=function(e,t){var n=e&&(typeof e=="string"?e:e.name);e=this.commands[n],t||delete this.commands[n];var r=this.commandKeyBinding;for(var i in r){var s=r[i];if(s==e)delete r[i];else if(Array.isArray(s)){var o=s.indexOf(e);o!=-1&&(s.splice(o,1),s.length==1&&(r[i]=s[0]))}}},this.bindKey=function(e,t,n){typeof e=="object"&&e&&(n==undefined&&(n=e.position),e=e[this.platform]);if(!e)return;if(typeof t=="function")return this.addCommand({exec:t,bindKey:e,name:t.name||e});e.split("|").forEach(function(e){var r="";if(e.indexOf(" ")!=-1){var i=e.split(/\s+/);e=i.pop(),i.forEach(function(e){var t=this.parseKeys(e),n=s[t.hashId]+t.key;r+=(r?" ":"")+n,this._addCommandToBinding(r,"chainKeys")},this),r+=" "}var o=this.parseKeys(e),u=s[o.hashId]+o.key;this._addCommandToBinding(r+u,t,n)},this)},this._addCommandToBinding=function(t,n,r){var i=this.commandKeyBinding,s;if(!n)delete i[t];else if(!i[t]||this.$singleCommand)i[t]=n;else{Array.isArray(i[t])?(s=i[t].indexOf(n))!=-1&&i[t].splice(s,1):i[t]=[i[t]],typeof r!="number"&&(r=e(n));var o=i[t];for(s=0;s<o.length;s++){var u=o[s],a=e(u);if(a>r)break}o.splice(s,0,n)}},this.addCommands=function(e){e&&Object.keys(e).forEach(function(t){var n=e[t];if(!n)return;if(typeof n=="string")return this.bindKey(n,t);typeof n=="function"&&(n={exec:n});if(typeof n!="object")return;n.name||(n.name=t),this.addCommand(n)},this)},this.removeCommands=function(e){Object.keys(e).forEach(function(t){this.removeCommand(e[t])},this)},this.bindKeys=function(e){Object.keys(e).forEach(function(t){this.bindKey(t,e[t])},this)},this._buildKeyHash=function(e){this.bindKey(e.bindKey,e)},this.parseKeys=function(e){var t=e.toLowerCase().split(/[\-\+]([\-\+])?/).filter(function(e){return e}),n=t.pop(),i=r[n];if(r.FUNCTION_KEYS[i])n=r.FUNCTION_KEYS[i].toLowerCase();else{if(!t.length)return{key:n,hashId:-1};if(t.length==1&&t[0]=="shift")return{key:n.toUpperCase(),hashId:-1}}var s=0;for(var o=t.length;o--;){var u=r.KEY_MODS[t[o]];if(u==null)return typeof console!="undefined"&&console.error("invalid modifier "+t[o]+" in "+e),!1;s|=u}return{key:n,hashId:s}},this.findKeyCommand=function(t,n){var r=s[t]+n;return this.commandKeyBinding[r]},this.handleKeyboard=function(e,t,n,r){if(r<0)return;var i=s[t]+n,o=this.commandKeyBinding[i];e.$keyChain&&(e.$keyChain+=" "+i,o=this.commandKeyBinding[e.$keyChain]||o);if(o)if(o=="chainKeys"||o[o.length-1]=="chainKeys")return e.$keyChain=e.$keyChain||i,{command:"null"};if(e.$keyChain)if(!!t&&t!=4||n.length!=1){if(t==-1||r>0)e.$keyChain=""}else e.$keyChain=e.$keyChain.slice(0,-i.length-1);return{command:o}},this.getStatusText=function(e,t){return t.$keyChain||""}}.call(o.prototype),t.HashHandler=o,t.MultiHashHandler=u}),ace.define("ace/commands/command_manager",["require","exports","module","ace/lib/oop","ace/keyboard/hash_handler","ace/lib/event_emitter"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("../keyboard/hash_handler").MultiHashHandler,s=e("../lib/event_emitter").EventEmitter,o=function(e,t){i.call(this,t,e),this.byName=this.commands,this.setDefaultHandler("exec",function(e){return e.command.exec(e.editor,e.args||{})})};r.inherits(o,i),function(){r.implement(this,s),this.exec=function(e,t,n){if(Array.isArray(e)){for(var r=e.length;r--;)if(this.exec(e[r],t,n))return!0;return!1}typeof e=="string"&&(e=this.commands[e]);if(!e)return!1;if(t&&t.$readOnly&&!e.readOnly)return!1;if(this.$checkCommandState!=0&&e.isAvailable&&!e.isAvailable(t))return!1;var i={editor:t,command:e,args:n};return i.returnValue=this._emit("exec",i),this._signal("afterExec",i),i.returnValue===!1?!1:!0},this.toggleRecording=function(e){if(this.$inReplay)return;return e&&e._emit("changeStatus"),this.recording?(this.macro.pop(),this.removeEventListener("exec",this.$addCommandToMacro),this.macro.length||(this.macro=this.oldMacro),this.recording=!1):(this.$addCommandToMacro||(this.$addCommandToMacro=function(e){this.macro.push([e.command,e.args])}.bind(this)),this.oldMacro=this.macro,this.macro=[],this.on("exec",this.$addCommandToMacro),this.recording=!0)},this.replay=function(e){if(this.$inReplay||!this.macro)return;if(this.recording)return this.toggleRecording(e);try{this.$inReplay=!0,this.macro.forEach(function(t){typeof t=="string"?this.exec(t,e):this.exec(t[0],e,t[1])},this)}finally{this.$inReplay=!1}},this.trimMacro=function(e){return e.map(function(e){return typeof e[0]!="string"&&(e[0]=e[0].name),e[1]||(e=e[0]),e})}}.call(o.prototype),t.CommandManager=o}),ace.define("ace/commands/default_commands",["require","exports","module","ace/lib/lang","ace/config","ace/range"],function(e,t,n){"use strict";function o(e,t){return{win:e,mac:t}}var r=e("../lib/lang"),i=e("../config"),s=e("../range").Range;t.commands=[{name:"showSettingsMenu",bindKey:o("Ctrl-,","Command-,"),exec:function(e){i.loadModule("ace/ext/settings_menu",function(t){t.init(e),e.showSettingsMenu()})},readOnly:!0},{name:"goToNextError",bindKey:o("Alt-E","F4"),exec:function(e){i.loadModule("./ext/error_marker",function(t){t.showErrorMarker(e,1)})},scrollIntoView:"animate",readOnly:!0},{name:"goToPreviousError",bindKey:o("Alt-Shift-E","Shift-F4"),exec:function(e){i.loadModule("./ext/error_marker",function(t){t.showErrorMarker(e,-1)})},scrollIntoView:"animate",readOnly:!0},{name:"selectall",description:"Select all",bindKey:o("Ctrl-A","Command-A"),exec:function(e){e.selectAll()},readOnly:!0},{name:"centerselection",description:"Center selection",bindKey:o(null,"Ctrl-L"),exec:function(e){e.centerSelection()},readOnly:!0},{name:"gotoline",description:"Go to line...",bindKey:o("Ctrl-L","Command-L"),exec:function(e,t){typeof t=="number"&&!isNaN(t)&&e.gotoLine(t),e.prompt({$type:"gotoLine"})},readOnly:!0},{name:"fold",bindKey:o("Alt-L|Ctrl-F1","Command-Alt-L|Command-F1"),exec:function(e){e.session.toggleFold(!1)},multiSelectAction:"forEach",scrollIntoView:"center",readOnly:!0},{name:"unfold",bindKey:o("Alt-Shift-L|Ctrl-Shift-F1","Command-Alt-Shift-L|Command-Shift-F1"),exec:function(e){e.session.toggleFold(!0)},multiSelectAction:"forEach",scrollIntoView:"center",readOnly:!0},{name:"toggleFoldWidget",bindKey:o("F2","F2"),exec:function(e){e.session.toggleFoldWidget()},multiSelectAction:"forEach",scrollIntoView:"center",readOnly:!0},{name:"toggleParentFoldWidget",bindKey:o("Alt-F2","Alt-F2"),exec:function(e){e.session.toggleFoldWidget(!0)},multiSelectAction:"forEach",scrollIntoView:"center",readOnly:!0},{name:"foldall",description:"Fold all",bindKey:o(null,"Ctrl-Command-Option-0"),exec:function(e){e.session.foldAll()},scrollIntoView:"center",readOnly:!0},{name:"foldOther",description:"Fold other",bindKey:o("Alt-0","Command-Option-0"),exec:function(e){e.session.foldAll(),e.session.unfold(e.selection.getAllRanges())},scrollIntoView:"center",readOnly:!0},{name:"unfoldall",description:"Unfold all",bindKey:o("Alt-Shift-0","Command-Option-Shift-0"),exec:function(e){e.session.unfold()},scrollIntoView:"center",readOnly:!0},{name:"findnext",description:"Find next",bindKey:o("Ctrl-K","Command-G"),exec:function(e){e.findNext()},multiSelectAction:"forEach",scrollIntoView:"center",readOnly:!0},{name:"findprevious",description:"Find previous",bindKey:o("Ctrl-Shift-K","Command-Shift-G"),exec:function(e){e.findPrevious()},multiSelectAction:"forEach",scrollIntoView:"center",readOnly:!0},{name:"selectOrFindNext",description:"Select or find next",bindKey:o("Alt-K","Ctrl-G"),exec:function(e){e.selection.isEmpty()?e.selection.selectWord():e.findNext()},readOnly:!0},{name:"selectOrFindPrevious",description:"Select or find previous",bindKey:o("Alt-Shift-K","Ctrl-Shift-G"),exec:function(e){e.selection.isEmpty()?e.selection.selectWord():e.findPrevious()},readOnly:!0},{name:"find",description:"Find",bindKey:o("Ctrl-F","Command-F"),exec:function(e){i.loadModule("ace/ext/searchbox",function(t){t.Search(e)})},readOnly:!0},{name:"overwrite",description:"Overwrite",bindKey:"Insert",exec:function(e){e.toggleOverwrite()},readOnly:!0},{name:"selecttostart",description:"Select to start",bindKey:o("Ctrl-Shift-Home","Command-Shift-Home|Command-Shift-Up"),exec:function(e){e.getSelection().selectFileStart()},multiSelectAction:"forEach",readOnly:!0,scrollIntoView:"animate",aceCommandGroup:"fileJump"},{name:"gotostart",description:"Go to start",bindKey:o("Ctrl-Home","Command-Home|Command-Up"),exec:function(e){e.navigateFileStart()},multiSelectAction:"forEach",readOnly:!0,scrollIntoView:"animate",aceCommandGroup:"fileJump"},{name:"selectup",description:"Select up",bindKey:o("Shift-Up","Shift-Up|Ctrl-Shift-P"),exec:function(e){e.getSelection().selectUp()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"golineup",description:"Go line up",bindKey:o("Up","Up|Ctrl-P"),exec:function(e,t){e.navigateUp(t.times)},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"selecttoend",description:"Select to end",bindKey:o("Ctrl-Shift-End","Command-Shift-End|Command-Shift-Down"),exec:function(e){e.getSelection().selectFileEnd()},multiSelectAction:"forEach",readOnly:!0,scrollIntoView:"animate",aceCommandGroup:"fileJump"},{name:"gotoend",description:"Go to end",bindKey:o("Ctrl-End","Command-End|Command-Down"),exec:function(e){e.navigateFileEnd()},multiSelectAction:"forEach",readOnly:!0,scrollIntoView:"animate",aceCommandGroup:"fileJump"},{name:"selectdown",description:"Select down",bindKey:o("Shift-Down","Shift-Down|Ctrl-Shift-N"),exec:function(e){e.getSelection().selectDown()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"golinedown",description:"Go line down",bindKey:o("Down","Down|Ctrl-N"),exec:function(e,t){e.navigateDown(t.times)},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"selectwordleft",description:"Select word left",bindKey:o("Ctrl-Shift-Left","Option-Shift-Left"),exec:function(e){e.getSelection().selectWordLeft()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"gotowordleft",description:"Go to word left",bindKey:o("Ctrl-Left","Option-Left"),exec:function(e){e.navigateWordLeft()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"selecttolinestart",description:"Select to line start",bindKey:o("Alt-Shift-Left","Command-Shift-Left|Ctrl-Shift-A"),exec:function(e){e.getSelection().selectLineStart()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"gotolinestart",description:"Go to line start",bindKey:o("Alt-Left|Home","Command-Left|Home|Ctrl-A"),exec:function(e){e.navigateLineStart()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"selectleft",description:"Select left",bindKey:o("Shift-Left","Shift-Left|Ctrl-Shift-B"),exec:function(e){e.getSelection().selectLeft()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"gotoleft",description:"Go to left",bindKey:o("Left","Left|Ctrl-B"),exec:function(e,t){e.navigateLeft(t.times)},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"selectwordright",description:"Select word right",bindKey:o("Ctrl-Shift-Right","Option-Shift-Right"),exec:function(e){e.getSelection().selectWordRight()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"gotowordright",description:"Go to word right",bindKey:o("Ctrl-Right","Option-Right"),exec:function(e){e.navigateWordRight()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"selecttolineend",description:"Select to line end",bindKey:o("Alt-Shift-Right","Command-Shift-Right|Shift-End|Ctrl-Shift-E"),exec:function(e){e.getSelection().selectLineEnd()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"gotolineend",description:"Go to line end",bindKey:o("Alt-Right|End","Command-Right|End|Ctrl-E"),exec:function(e){e.navigateLineEnd()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"selectright",description:"Select right",bindKey:o("Shift-Right","Shift-Right"),exec:function(e){e.getSelection().selectRight()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"gotoright",description:"Go to right",bindKey:o("Right","Right|Ctrl-F"),exec:function(e,t){e.navigateRight(t.times)},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"selectpagedown",description:"Select page down",bindKey:"Shift-PageDown",exec:function(e){e.selectPageDown()},readOnly:!0},{name:"pagedown",description:"Page down",bindKey:o(null,"Option-PageDown"),exec:function(e){e.scrollPageDown()},readOnly:!0},{name:"gotopagedown",description:"Go to page down",bindKey:o("PageDown","PageDown|Ctrl-V"),exec:function(e){e.gotoPageDown()},readOnly:!0},{name:"selectpageup",description:"Select page up",bindKey:"Shift-PageUp",exec:function(e){e.selectPageUp()},readOnly:!0},{name:"pageup",description:"Page up",bindKey:o(null,"Option-PageUp"),exec:function(e){e.scrollPageUp()},readOnly:!0},{name:"gotopageup",description:"Go to page up",bindKey:"PageUp",exec:function(e){e.gotoPageUp()},readOnly:!0},{name:"scrollup",description:"Scroll up",bindKey:o("Ctrl-Up",null),exec:function(e){e.renderer.scrollBy(0,-2*e.renderer.layerConfig.lineHeight)},readOnly:!0},{name:"scrolldown",description:"Scroll down",bindKey:o("Ctrl-Down",null),exec:function(e){e.renderer.scrollBy(0,2*e.renderer.layerConfig.lineHeight)},readOnly:!0},{name:"selectlinestart",description:"Select line start",bindKey:"Shift-Home",exec:function(e){e.getSelection().selectLineStart()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"selectlineend",description:"Select line end",bindKey:"Shift-End",exec:function(e){e.getSelection().selectLineEnd()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"togglerecording",description:"Toggle recording",bindKey:o("Ctrl-Alt-E","Command-Option-E"),exec:function(e){e.commands.toggleRecording(e)},readOnly:!0},{name:"replaymacro",description:"Replay macro",bindKey:o("Ctrl-Shift-E","Command-Shift-E"),exec:function(e){e.commands.replay(e)},readOnly:!0},{name:"jumptomatching",description:"Jump to matching",bindKey:o("Ctrl-P","Ctrl-P"),exec:function(e){e.jumpToMatching()},multiSelectAction:"forEach",scrollIntoView:"animate",readOnly:!0},{name:"selecttomatching",description:"Select to matching",bindKey:o("Ctrl-Shift-P","Ctrl-Shift-P"),exec:function(e){e.jumpToMatching(!0)},multiSelectAction:"forEach",scrollIntoView:"animate",readOnly:!0},{name:"expandToMatching",description:"Expand to matching",bindKey:o("Ctrl-Shift-M","Ctrl-Shift-M"),exec:function(e){e.jumpToMatching(!0,!0)},multiSelectAction:"forEach",scrollIntoView:"animate",readOnly:!0},{name:"passKeysToBrowser",description:"Pass keys to browser",bindKey:o(null,null),exec:function(){},passEvent:!0,readOnly:!0},{name:"copy",description:"Copy",exec:function(e){},readOnly:!0},{name:"cut",description:"Cut",exec:function(e){var t=e.$copyWithEmptySelection&&e.selection.isEmpty(),n=t?e.selection.getLineRange():e.selection.getRange();e._emit("cut",n),n.isEmpty()||e.session.remove(n),e.clearSelection()},scrollIntoView:"cursor",multiSelectAction:"forEach"},{name:"paste",description:"Paste",exec:function(e,t){e.$handlePaste(t)},scrollIntoView:"cursor"},{name:"removeline",description:"Remove line",bindKey:o("Ctrl-D","Command-D"),exec:function(e){e.removeLines()},scrollIntoView:"cursor",multiSelectAction:"forEachLine"},{name:"duplicateSelection",description:"Duplicate selection",bindKey:o("Ctrl-Shift-D","Command-Shift-D"),exec:function(e){e.duplicateSelection()},scrollIntoView:"cursor",multiSelectAction:"forEach"},{name:"sortlines",description:"Sort lines",bindKey:o("Ctrl-Alt-S","Command-Alt-S"),exec:function(e){e.sortLines()},scrollIntoView:"selection",multiSelectAction:"forEachLine"},{name:"togglecomment",description:"Toggle comment",bindKey:o("Ctrl-/","Command-/"),exec:function(e){e.toggleCommentLines()},multiSelectAction:"forEachLine",scrollIntoView:"selectionPart"},{name:"toggleBlockComment",description:"Toggle block comment",bindKey:o("Ctrl-Shift-/","Command-Shift-/"),exec:function(e){e.toggleBlockComment()},multiSelectAction:"forEach",scrollIntoView:"selectionPart"},{name:"modifyNumberUp",description:"Modify number up",bindKey:o("Ctrl-Shift-Up","Alt-Shift-Up"),exec:function(e){e.modifyNumber(1)},scrollIntoView:"cursor",multiSelectAction:"forEach"},{name:"modifyNumberDown",description:"Modify number down",bindKey:o("Ctrl-Shift-Down","Alt-Shift-Down"),exec:function(e){e.modifyNumber(-1)},scrollIntoView:"cursor",multiSelectAction:"forEach"},{name:"replace",description:"Replace",bindKey:o("Ctrl-H","Command-Option-F"),exec:function(e){i.loadModule("ace/ext/searchbox",function(t){t.Search(e,!0)})}},{name:"undo",description:"Undo",bindKey:o("Ctrl-Z","Command-Z"),exec:function(e){e.undo()}},{name:"redo",description:"Redo",bindKey:o("Ctrl-Shift-Z|Ctrl-Y","Command-Shift-Z|Command-Y"),exec:function(e){e.redo()}},{name:"copylinesup",description:"Copy lines up",bindKey:o("Alt-Shift-Up","Command-Option-Up"),exec:function(e){e.copyLinesUp()},scrollIntoView:"cursor"},{name:"movelinesup",description:"Move lines up",bindKey:o("Alt-Up","Option-Up"),exec:function(e){e.moveLinesUp()},scrollIntoView:"cursor"},{name:"copylinesdown",description:"Copy lines down",bindKey:o("Alt-Shift-Down","Command-Option-Down"),exec:function(e){e.copyLinesDown()},scrollIntoView:"cursor"},{name:"movelinesdown",description:"Move lines down",bindKey:o("Alt-Down","Option-Down"),exec:function(e){e.moveLinesDown()},scrollIntoView:"cursor"},{name:"del",description:"Delete",bindKey:o("Delete","Delete|Ctrl-D|Shift-Delete"),exec:function(e){e.remove("right")},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"backspace",description:"Backspace",bindKey:o("Shift-Backspace|Backspace","Ctrl-Backspace|Shift-Backspace|Backspace|Ctrl-H"),exec:function(e){e.remove("left")},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"cut_or_delete",description:"Cut or delete",bindKey:o("Shift-Delete",null),exec:function(e){if(!e.selection.isEmpty())return!1;e.remove("left")},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"removetolinestart",description:"Remove to line start",bindKey:o("Alt-Backspace","Command-Backspace"),exec:function(e){e.removeToLineStart()},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"removetolineend",description:"Remove to line end",bindKey:o("Alt-Delete","Ctrl-K|Command-Delete"),exec:function(e){e.removeToLineEnd()},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"removetolinestarthard",description:"Remove to line start hard",bindKey:o("Ctrl-Shift-Backspace",null),exec:function(e){var t=e.selection.getRange();t.start.column=0,e.session.remove(t)},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"removetolineendhard",description:"Remove to line end hard",bindKey:o("Ctrl-Shift-Delete",null),exec:function(e){var t=e.selection.getRange();t.end.column=Number.MAX_VALUE,e.session.remove(t)},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"removewordleft",description:"Remove word left",bindKey:o("Ctrl-Backspace","Alt-Backspace|Ctrl-Alt-Backspace"),exec:function(e){e.removeWordLeft()},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"removewordright",description:"Remove word right",bindKey:o("Ctrl-Delete","Alt-Delete"),exec:function(e){e.removeWordRight()},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"outdent",description:"Outdent",bindKey:o("Shift-Tab","Shift-Tab"),exec:function(e){e.blockOutdent()},multiSelectAction:"forEach",scrollIntoView:"selectionPart"},{name:"indent",description:"Indent",bindKey:o("Tab","Tab"),exec:function(e){e.indent()},multiSelectAction:"forEach",scrollIntoView:"selectionPart"},{name:"blockoutdent",description:"Block outdent",bindKey:o("Ctrl-[","Ctrl-["),exec:function(e){e.blockOutdent()},multiSelectAction:"forEachLine",scrollIntoView:"selectionPart"},{name:"blockindent",description:"Block indent",bindKey:o("Ctrl-]","Ctrl-]"),exec:function(e){e.blockIndent()},multiSelectAction:"forEachLine",scrollIntoView:"selectionPart"},{name:"insertstring",description:"Insert string",exec:function(e,t){e.insert(t)},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"inserttext",description:"Insert text",exec:function(e,t){e.insert(r.stringRepeat(t.text||"",t.times||1))},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"splitline",description:"Split line",bindKey:o(null,"Ctrl-O"),exec:function(e){e.splitLine()},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"transposeletters",description:"Transpose letters",bindKey:o("Alt-Shift-X","Ctrl-T"),exec:function(e){e.transposeLetters()},multiSelectAction:function(e){e.transposeSelections(1)},scrollIntoView:"cursor"},{name:"touppercase",description:"To uppercase",bindKey:o("Ctrl-U","Ctrl-U"),exec:function(e){e.toUpperCase()},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"tolowercase",description:"To lowercase",bindKey:o("Ctrl-Shift-U","Ctrl-Shift-U"),exec:function(e){e.toLowerCase()},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"expandtoline",description:"Expand to line",bindKey:o("Ctrl-Shift-L","Command-Shift-L"),exec:function(e){var t=e.selection.getRange();t.start.column=t.end.column=0,t.end.row++,e.selection.setRange(t,!1)},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"joinlines",description:"Join lines",bindKey:o(null,null),exec:function(e){var t=e.selection.isBackwards(),n=t?e.selection.getSelectionLead():e.selection.getSelectionAnchor(),i=t?e.selection.getSelectionAnchor():e.selection.getSelectionLead(),o=e.session.doc.getLine(n.row).length,u=e.session.doc.getTextRange(e.selection.getRange()),a=u.replace(/\n\s*/," ").length,f=e.session.doc.getLine(n.row);for(var l=n.row+1;l<=i.row+1;l++){var c=r.stringTrimLeft(r.stringTrimRight(e.session.doc.getLine(l)));c.length!==0&&(c=" "+c),f+=c}i.row+1<e.session.doc.getLength()-1&&(f+=e.session.doc.getNewLineCharacter()),e.clearSelection(),e.session.doc.replace(new s(n.row,0,i.row+2,0),f),a>0?(e.selection.moveCursorTo(n.row,n.column),e.selection.selectTo(n.row,n.column+a)):(o=e.session.doc.getLine(n.row).length>o?o+1:o,e.selection.moveCursorTo(n.row,o))},multiSelectAction:"forEach",readOnly:!0},{name:"invertSelection",description:"Invert selection",bindKey:o(null,null),exec:function(e){var t=e.session.doc.getLength()-1,n=e.session.doc.getLine(t).length,r=e.selection.rangeList.ranges,i=[];r.length<1&&(r=[e.selection.getRange()]);for(var o=0;o<r.length;o++)o==r.length-1&&(r[o].end.row!==t||r[o].end.column!==n)&&i.push(new s(r[o].end.row,r[o].end.column,t,n)),o===0?(r[o].start.row!==0||r[o].start.column!==0)&&i.push(new s(0,0,r[o].start.row,r[o].start.column)):i.push(new s(r[o-1].end.row,r[o-1].end.column,r[o].start.row,r[o].start.column));e.exitMultiSelectMode(),e.clearSelection();for(var o=0;o<i.length;o++)e.selection.addRange(i[o],!1)},readOnly:!0,scrollIntoView:"none"},{name:"openCommandPallete",description:"Open command pallete",bindKey:o("F1","F1"),exec:function(e){e.prompt({$type:"commands"})},readOnly:!0},{name:"modeSelect",description:"Change language mode...",bindKey:o(null,null),exec:function(e){e.prompt({$type:"modes"})},readOnly:!0}]}),ace.define("ace/clipboard",["require","exports","module"],function(e,t,n){"use strict";n.exports={lineMode:!1}}),ace.define("ace/editor",["require","exports","module","ace/lib/fixoldbrowsers","ace/lib/oop","ace/lib/dom","ace/lib/lang","ace/lib/useragent","ace/keyboard/textinput","ace/mouse/mouse_handler","ace/mouse/fold_handler","ace/keyboard/keybinding","ace/edit_session","ace/search","ace/range","ace/lib/event_emitter","ace/commands/command_manager","ace/commands/default_commands","ace/config","ace/token_iterator","ace/clipboard"],function(e,t,n){"use strict";e("./lib/fixoldbrowsers");var r=e("./lib/oop"),i=e("./lib/dom"),s=e("./lib/lang"),o=e("./lib/useragent"),u=e("./keyboard/textinput").TextInput,a=e("./mouse/mouse_handler").MouseHandler,f=e("./mouse/fold_handler").FoldHandler,l=e("./keyboard/keybinding").KeyBinding,c=e("./edit_session").EditSession,h=e("./search").Search,p=e("./range").Range,d=e("./lib/event_emitter").EventEmitter,v=e("./commands/command_manager").CommandManager,m=e("./commands/default_commands").commands,g=e("./config"),y=e("./token_iterator").TokenIterator,b=e("./clipboard"),w=function(e,t,n){var r=e.getContainerElement();this.container=r,this.renderer=e,this.id="editor"+ ++w.$uid,this.commands=new v(o.isMac?"mac":"win",m),typeof document=="object"&&(this.textInput=new u(e.getTextAreaContainer(),this),this.renderer.textarea=this.textInput.getElement(),this.$mouseHandler=new a(this),new f(this)),this.keyBinding=new l(this),this.$search=(new h).set({wrap:!0}),this.$historyTracker=this.$historyTracker.bind(this),this.commands.on("exec",this.$historyTracker),this.$initOperationListeners(),this._$emitInputEvent=s.delayedCall(function(){this._signal("input",{}),this.session&&this.session.bgTokenizer&&this.session.bgTokenizer.scheduleStart()}.bind(this)),this.on("change",function(e,t){t._$emitInputEvent.schedule(31)}),this.setSession(t||n&&n.session||new c("")),g.resetOptions(this),n&&this.setOptions(n),g._signal("editor",this)};w.$uid=0,function(){r.implement(this,d),this.$initOperationListeners=function(){this.commands.on("exec",this.startOperation.bind(this),!0),this.commands.on("afterExec",this.endOperation.bind(this),!0),this.$opResetTimer=s.delayedCall(this.endOperation.bind(this,!0)),this.on("change",function(){this.curOp||(this.startOperation(),this.curOp.selectionBefore=this.$lastSel),this.curOp.docChanged=!0}.bind(this),!0),this.on("changeSelection",function(){this.curOp||(this.startOperation(),this.curOp.selectionBefore=this.$lastSel),this.curOp.selectionChanged=!0}.bind(this),!0)},this.curOp=null,this.prevOp={},this.startOperation=function(e){if(this.curOp){if(!e||this.curOp.command)return;this.prevOp=this.curOp}e||(this.previousCommand=null,e={}),this.$opResetTimer.schedule(),this.curOp=this.session.curOp={command:e.command||{},args:e.args,scrollTop:this.renderer.scrollTop},this.curOp.selectionBefore=this.selection.toJSON()},this.endOperation=function(e){if(this.curOp){if(e&&e.returnValue===!1)return this.curOp=null;if(e==1&&this.curOp.command&&this.curOp.command.name=="mouse")return;this._signal("beforeEndOperation");if(!this.curOp)return;var t=this.curOp.command,n=t&&t.scrollIntoView;if(n){switch(n){case"center-animate":n="animate";case"center":this.renderer.scrollCursorIntoView(null,.5);break;case"animate":case"cursor":this.renderer.scrollCursorIntoView();break;case"selectionPart":var r=this.selection.getRange(),i=this.renderer.layerConfig;(r.start.row>=i.lastRow||r.end.row<=i.firstRow)&&this.renderer.scrollSelectionIntoView(this.selection.anchor,this.selection.lead);break;default:}n=="animate"&&this.renderer.animateScrolling(this.curOp.scrollTop)}var s=this.selection.toJSON();this.curOp.selectionAfter=s,this.$lastSel=this.selection.toJSON(),this.session.getUndoManager().addSelection(s),this.prevOp=this.curOp,this.curOp=null}},this.$mergeableCommands=["backspace","del","insertstring"],this.$historyTracker=function(e){if(!this.$mergeUndoDeltas)return;var t=this.prevOp,n=this.$mergeableCommands,r=t.command&&e.command.name==t.command.name;if(e.command.name=="insertstring"){var i=e.args;this.mergeNextCommand===undefined&&(this.mergeNextCommand=!0),r=r&&this.mergeNextCommand&&(!/\s/.test(i)||/\s/.test(t.args)),this.mergeNextCommand=!0}else r=r&&n.indexOf(e.command.name)!==-1;this.$mergeUndoDeltas!="always"&&Date.now()-this.sequenceStartTime>2e3&&(r=!1),r?this.session.mergeUndoDeltas=!0:n.indexOf(e.command.name)!==-1&&(this.sequenceStartTime=Date.now())},this.setKeyboardHandler=function(e,t){if(e&&typeof e=="string"&&e!="ace"){this.$keybindingId=e;var n=this;g.loadModule(["keybinding",e],function(r){n.$keybindingId==e&&n.keyBinding.setKeyboardHandler(r&&r.handler),t&&t()})}else this.$keybindingId=null,this.keyBinding.setKeyboardHandler(e),t&&t()},this.getKeyboardHandler=function(){return this.keyBinding.getKeyboardHandler()},this.setSession=function(e){if(this.session==e)return;this.curOp&&this.endOperation(),this.curOp={};var t=this.session;if(t){this.session.off("change",this.$onDocumentChange),this.session.off("changeMode",this.$onChangeMode),this.session.off("tokenizerUpdate",this.$onTokenizerUpdate),this.session.off("changeTabSize",this.$onChangeTabSize),this.session.off("changeWrapLimit",this.$onChangeWrapLimit),this.session.off("changeWrapMode",this.$onChangeWrapMode),this.session.off("changeFold",this.$onChangeFold),this.session.off("changeFrontMarker",this.$onChangeFrontMarker),this.session.off("changeBackMarker",this.$onChangeBackMarker),this.session.off("changeBreakpoint",this.$onChangeBreakpoint),this.session.off("changeAnnotation",this.$onChangeAnnotation),this.session.off("changeOverwrite",this.$onCursorChange),this.session.off("changeScrollTop",this.$onScrollTopChange),this.session.off("changeScrollLeft",this.$onScrollLeftChange);var n=this.session.getSelection();n.off("changeCursor",this.$onCursorChange),n.off("changeSelection",this.$onSelectionChange)}this.session=e,e?(this.$onDocumentChange=this.onDocumentChange.bind(this),e.on("change",this.$onDocumentChange),this.renderer.setSession(e),this.$onChangeMode=this.onChangeMode.bind(this),e.on("changeMode",this.$onChangeMode),this.$onTokenizerUpdate=this.onTokenizerUpdate.bind(this),e.on("tokenizerUpdate",this.$onTokenizerUpdate),this.$onChangeTabSize=this.renderer.onChangeTabSize.bind(this.renderer),e.on("changeTabSize",this.$onChangeTabSize),this.$onChangeWrapLimit=this.onChangeWrapLimit.bind(this),e.on("changeWrapLimit",this.$onChangeWrapLimit),this.$onChangeWrapMode=this.onChangeWrapMode.bind(this),e.on("changeWrapMode",this.$onChangeWrapMode),this.$onChangeFold=this.onChangeFold.bind(this),e.on("changeFold",this.$onChangeFold),this.$onChangeFrontMarker=this.onChangeFrontMarker.bind(this),this.session.on("changeFrontMarker",this.$onChangeFrontMarker),this.$onChangeBackMarker=this.onChangeBackMarker.bind(this),this.session.on("changeBackMarker",this.$onChangeBackMarker),this.$onChangeBreakpoint=this.onChangeBreakpoint.bind(this),this.session.on("changeBreakpoint",this.$onChangeBreakpoint),this.$onChangeAnnotation=this.onChangeAnnotation.bind(this),this.session.on("changeAnnotation",this.$onChangeAnnotation),this.$onCursorChange=this.onCursorChange.bind(this),this.session.on("changeOverwrite",this.$onCursorChange),this.$onScrollTopChange=this.onScrollTopChange.bind(this),this.session.on("changeScrollTop",this.$onScrollTopChange),this.$onScrollLeftChange=this.onScrollLeftChange.bind(this),this.session.on("changeScrollLeft",this.$onScrollLeftChange),this.selection=e.getSelection(),this.selection.on("changeCursor",this.$onCursorChange),this.$onSelectionChange=this.onSelectionChange.bind(this),this.selection.on("changeSelection",this.$onSelectionChange),this.onChangeMode(),this.onCursorChange(),this.onScrollTopChange(),this.onScrollLeftChange(),this.onSelectionChange(),this.onChangeFrontMarker(),this.onChangeBackMarker(),this.onChangeBreakpoint(),this.onChangeAnnotation(),this.session.getUseWrapMode()&&this.renderer.adjustWrapLimit(),this.renderer.updateFull()):(this.selection=null,this.renderer.setSession(e)),this._signal("changeSession",{session:e,oldSession:t}),this.curOp=null,t&&t._signal("changeEditor",{oldEditor:this}),e&&e._signal("changeEditor",{editor:this}),e&&e.bgTokenizer&&e.bgTokenizer.scheduleStart()},this.getSession=function(){return this.session},this.setValue=function(e,t){return this.session.doc.setValue(e),t?t==1?this.navigateFileEnd():t==-1&&this.navigateFileStart():this.selectAll(),e},this.getValue=function(){return this.session.getValue()},this.getSelection=function(){return this.selection},this.resize=function(e){this.renderer.onResize(e)},this.setTheme=function(e,t){this.renderer.setTheme(e,t)},this.getTheme=function(){return this.renderer.getTheme()},this.setStyle=function(e){this.renderer.setStyle(e)},this.unsetStyle=function(e){this.renderer.unsetStyle(e)},this.getFontSize=function(){return this.getOption("fontSize")||i.computedStyle(this.container).fontSize},this.setFontSize=function(e){this.setOption("fontSize",e)},this.$highlightBrackets=function(){this.session.$bracketHighlight&&(this.session.removeMarker(this.session.$bracketHighlight),this.session.$bracketHighlight=null);if(this.$highlightPending)return;var e=this;this.$highlightPending=!0,setTimeout(function(){e.$highlightPending=!1;var t=e.session;if(!t||!t.bgTokenizer)return;var n=t.findMatchingBracket(e.getCursorPosition());if(n)var r=new p(n.row,n.column,n.row,n.column+1);else if(t.$mode.getMatching)var r=t.$mode.getMatching(e.session);r&&(t.$bracketHighlight=t.addMarker(r,"ace_bracket","text"))},50)},this.$highlightTags=function(){if(this.$highlightTagPending)return;var e=this;this.$highlightTagPending=!0,setTimeout(function(){e.$highlightTagPending=!1;var t=e.session;if(!t||!t.bgTokenizer)return;var n=e.getCursorPosition(),r=new y(e.session,n.row,n.column),i=r.getCurrentToken();if(!i||!/\b(?:tag-open|tag-name)/.test(i.type)){t.removeMarker(t.$tagHighlight),t.$tagHighlight=null;return}if(i.type.indexOf("tag-open")!=-1){i=r.stepForward();if(!i)return}var s=i.value,o=0,u=r.stepBackward();if(u.value=="<"){do u=i,i=r.stepForward(),i&&i.value===s&&i.type.indexOf("tag-name")!==-1&&(u.value==="<"?o++:u.value==="</"&&o--);while(i&&o>=0)}else{do i=u,u=r.stepBackward(),i&&i.value===s&&i.type.indexOf("tag-name")!==-1&&(u.value==="<"?o++:u.value==="</"&&o--);while(u&&o<=0);r.stepForward()}if(!i){t.removeMarker(t.$tagHighlight),t.$tagHighlight=null;return}var a=r.getCurrentTokenRow(),f=r.getCurrentTokenColumn(),l=new p(a,f,a,f+i.value.length),c=t.$backMarkers[t.$tagHighlight];t.$tagHighlight&&c!=undefined&&l.compareRange(c.range)!==0&&(t.removeMarker(t.$tagHighlight),t.$tagHighlight=null),t.$tagHighlight||(t.$tagHighlight=t.addMarker(l,"ace_bracket","text"))},50)},this.focus=function(){var e=this;setTimeout(function(){e.isFocused()||e.textInput.focus()}),this.textInput.focus()},this.isFocused=function(){return this.textInput.isFocused()},this.blur=function(){this.textInput.blur()},this.onFocus=function(e){if(this.$isFocused)return;this.$isFocused=!0,this.renderer.showCursor(),this.renderer.visualizeFocus(),this._emit("focus",e)},this.onBlur=function(e){if(!this.$isFocused)return;this.$isFocused=!1,this.renderer.hideCursor(),this.renderer.visualizeBlur(),this._emit("blur",e)},this.$cursorChange=function(){this.renderer.updateCursor()},this.onDocumentChange=function(e){var t=this.session.$useWrapMode,n=e.start.row==e.end.row?e.end.row:Infinity;this.renderer.updateLines(e.start.row,n,t),this._signal("change",e),this.$cursorChange(),this.$updateHighlightActiveLine()},this.onTokenizerUpdate=function(e){var t=e.data;this.renderer.updateLines(t.first,t.last)},this.onScrollTopChange=function(){this.renderer.scrollToY(this.session.getScrollTop())},this.onScrollLeftChange=function(){this.renderer.scrollToX(this.session.getScrollLeft())},this.onCursorChange=function(){this.$cursorChange(),this.$highlightBrackets(),this.$highlightTags(),this.$updateHighlightActiveLine(),this._signal("changeSelection")},this.$updateHighlightActiveLine=function(){var e=this.getSession(),t;if(this.$highlightActiveLine){if(this.$selectionStyle!="line"||!this.selection.isMultiLine())t=this.getCursorPosition();this.renderer.theme&&this.renderer.theme.$selectionColorConflict&&!this.selection.isEmpty()&&(t=!1),this.renderer.$maxLines&&this.session.getLength()===1&&!(this.renderer.$minLines>1)&&(t=!1)}if(e.$highlightLineMarker&&!t)e.removeMarker(e.$highlightLineMarker.id),e.$highlightLineMarker=null;else if(!e.$highlightLineMarker&&t){var n=new p(t.row,t.column,t.row,Infinity);n.id=e.addMarker(n,"ace_active-line","screenLine"),e.$highlightLineMarker=n}else t&&(e.$highlightLineMarker.start.row=t.row,e.$highlightLineMarker.end.row=t.row,e.$highlightLineMarker.start.column=t.column,e._signal("changeBackMarker"))},this.onSelectionChange=function(e){var t=this.session;t.$selectionMarker&&t.removeMarker(t.$selectionMarker),t.$selectionMarker=null;if(!this.selection.isEmpty()){var n=this.selection.getRange(),r=this.getSelectionStyle();t.$selectionMarker=t.addMarker(n,"ace_selection",r)}else this.$updateHighlightActiveLine();var i=this.$highlightSelectedWord&&this.$getSelectionHighLightRegexp();this.session.highlight(i),this._signal("changeSelection")},this.$getSelectionHighLightRegexp=function(){var e=this.session,t=this.getSelectionRange();if(t.isEmpty()||t.isMultiLine())return;var n=t.start.column,r=t.end.column,i=e.getLine(t.start.row),s=i.substring(n,r);if(s.length>5e3||!/[\w\d]/.test(s))return;var o=this.$search.$assembleRegExp({wholeWord:!0,caseSensitive:!0,needle:s}),u=i.substring(n-1,r+1);if(!o.test(u))return;return o},this.onChangeFrontMarker=function(){this.renderer.updateFrontMarkers()},this.onChangeBackMarker=function(){this.renderer.updateBackMarkers()},this.onChangeBreakpoint=function(){this.renderer.updateBreakpoints()},this.onChangeAnnotation=function(){this.renderer.setAnnotations(this.session.getAnnotations())},this.onChangeMode=function(e){this.renderer.updateText(),this._emit("changeMode",e)},this.onChangeWrapLimit=function(){this.renderer.updateFull()},this.onChangeWrapMode=function(){this.renderer.onResize(!0)},this.onChangeFold=function(){this.$updateHighlightActiveLine(),this.renderer.updateFull()},this.getSelectedText=function(){return this.session.getTextRange(this.getSelectionRange())},this.getCopyText=function(){var e=this.getSelectedText(),t=this.session.doc.getNewLineCharacter(),n=!1;if(!e&&this.$copyWithEmptySelection){n=!0;var r=this.selection.getAllRanges();for(var i=0;i<r.length;i++){var s=r[i];if(i&&r[i-1].start.row==s.start.row)continue;e+=this.session.getLine(s.start.row)+t}}var o={text:e};return this._signal("copy",o),b.lineMode=n?o.text:"",o.text},this.onCopy=function(){this.commands.exec("copy",this)},this.onCut=function(){this.commands.exec("cut",this)},this.onPaste=function(e,t){var n={text:e,event:t};this.commands.exec("paste",this,n)},this.$handlePaste=function(e){typeof e=="string"&&(e={text:e}),this._signal("paste",e);var t=e.text,n=t==b.lineMode,r=this.session;if(!this.inMultiSelectMode||this.inVirtualSelectionMode)n?r.insert({row:this.selection.lead.row,column:0},t):this.insert(t);else if(n)this.selection.rangeList.ranges.forEach(function(e){r.insert({row:e.start.row,column:0},t)});else{var i=t.split(/\r\n|\r|\n/),s=this.selection.rangeList.ranges;if(i.length>s.length||i.length<2||!i[1])return this.commands.exec("insertstring",this,t);for(var o=s.length;o--;){var u=s[o];u.isEmpty()||r.remove(u),r.insert(u.start,i[o])}}},this.execCommand=function(e,t){return this.commands.exec(e,this,t)},this.insert=function(e,t){var n=this.session,r=n.getMode(),i=this.getCursorPosition();if(this.getBehavioursEnabled()&&!t){var s=r.transformAction(n.getState(i.row),"insertion",this,n,e);s&&(e!==s.text&&(this.inVirtualSelectionMode||(this.session.mergeUndoDeltas=!1,this.mergeNextCommand=!1)),e=s.text)}e==" "&&(e=this.session.getTabString());if(!this.selection.isEmpty()){var o=this.getSelectionRange();i=this.session.remove(o),this.clearSelection()}else if(this.session.getOverwrite()&&e.indexOf("\n")==-1){var o=new p.fromPoints(i,i);o.end.column+=e.length,this.session.remove(o)}if(e=="\n"||e=="\r\n"){var u=n.getLine(i.row);if(i.column>u.search(/\S|$/)){var a=u.substr(i.column).search(/\S|$/);n.doc.removeInLine(i.row,i.column,i.column+a)}}this.clearSelection();var f=i.column,l=n.getState(i.row),u=n.getLine(i.row),c=r.checkOutdent(l,u,e),h=n.insert(i,e);s&&s.selection&&(s.selection.length==2?this.selection.setSelectionRange(new p(i.row,f+s.selection[0],i.row,f+s.selection[1])):this.selection.setSelectionRange(new p(i.row+s.selection[0],s.selection[1],i.row+s.selection[2],s.selection[3])));if(n.getDocument().isNewLine(e)){var d=r.getNextLineIndent(l,u.slice(0,i.column),n.getTabString());n.insert({row:i.row+1,column:0},d)}c&&r.autoOutdent(l,n,i.row)},this.onTextInput=function(e,t){if(!t)return this.keyBinding.onTextInput(e);this.startOperation({command:{name:"insertstring"}});var n=this.applyComposition.bind(this,e,t);this.selection.rangeCount?this.forEachSelection(n):n(),this.endOperation()},this.applyComposition=function(e,t){if(t.extendLeft||t.extendRight){var n=this.selection.getRange();n.start.column-=t.extendLeft,n.end.column+=t.extendRight,this.selection.setRange(n),!e&&!n.isEmpty()&&this.remove()}(e||!this.selection.isEmpty())&&this.insert(e,!0);if(t.restoreStart||t.restoreEnd){var n=this.selection.getRange();n.start.column-=t.restoreStart,n.end.column-=t.restoreEnd,this.selection.setRange(n)}},this.onCommandKey=function(e,t,n){this.keyBinding.onCommandKey(e,t,n)},this.setOverwrite=function(e){this.session.setOverwrite(e)},this.getOverwrite=function(){return this.session.getOverwrite()},this.toggleOverwrite=function(){this.session.toggleOverwrite()},this.setScrollSpeed=function(e){this.setOption("scrollSpeed",e)},this.getScrollSpeed=function(){return this.getOption("scrollSpeed")},this.setDragDelay=function(e){this.setOption("dragDelay",e)},this.getDragDelay=function(){return this.getOption("dragDelay")},this.setSelectionStyle=function(e){this.setOption("selectionStyle",e)},this.getSelectionStyle=function(){return this.getOption("selectionStyle")},this.setHighlightActiveLine=function(e){this.setOption("highlightActiveLine",e)},this.getHighlightActiveLine=function(){return this.getOption("highlightActiveLine")},this.setHighlightGutterLine=function(e){this.setOption("highlightGutterLine",e)},this.getHighlightGutterLine=function(){return this.getOption("highlightGutterLine")},this.setHighlightSelectedWord=function(e){this.setOption("highlightSelectedWord",e)},this.getHighlightSelectedWord=function(){return this.$highlightSelectedWord},this.setAnimatedScroll=function(e){this.renderer.setAnimatedScroll(e)},this.getAnimatedScroll=function(){return this.renderer.getAnimatedScroll()},this.setShowInvisibles=function(e){this.renderer.setShowInvisibles(e)},this.getShowInvisibles=function(){return this.renderer.getShowInvisibles()},this.setDisplayIndentGuides=function(e){this.renderer.setDisplayIndentGuides(e)},this.getDisplayIndentGuides=function(){return this.renderer.getDisplayIndentGuides()},this.setShowPrintMargin=function(e){this.renderer.setShowPrintMargin(e)},this.getShowPrintMargin=function(){return this.renderer.getShowPrintMargin()},this.setPrintMarginColumn=function(e){this.renderer.setPrintMarginColumn(e)},this.getPrintMarginColumn=function(){return this.renderer.getPrintMarginColumn()},this.setReadOnly=function(e){this.setOption("readOnly",e)},this.getReadOnly=function(){return this.getOption("readOnly")},this.setBehavioursEnabled=function(e){this.setOption("behavioursEnabled",e)},this.getBehavioursEnabled=function(){return this.getOption("behavioursEnabled")},this.setWrapBehavioursEnabled=function(e){this.setOption("wrapBehavioursEnabled",e)},this.getWrapBehavioursEnabled=function(){return this.getOption("wrapBehavioursEnabled")},this.setShowFoldWidgets=function(e){this.setOption("showFoldWidgets",e)},this.getShowFoldWidgets=function(){return this.getOption("showFoldWidgets")},this.setFadeFoldWidgets=function(e){this.setOption("fadeFoldWidgets",e)},this.getFadeFoldWidgets=function(){return this.getOption("fadeFoldWidgets")},this.remove=function(e){this.selection.isEmpty()&&(e=="left"?this.selection.selectLeft():this.selection.selectRight());var t=this.getSelectionRange();if(this.getBehavioursEnabled()){var n=this.session,r=n.getState(t.start.row),i=n.getMode().transformAction(r,"deletion",this,n,t);if(t.end.column===0){var s=n.getTextRange(t);if(s[s.length-1]=="\n"){var o=n.getLine(t.end.row);/^\s+$/.test(o)&&(t.end.column=o.length)}}i&&(t=i)}this.session.remove(t),this.clearSelection()},this.removeWordRight=function(){this.selection.isEmpty()&&this.selection.selectWordRight(),this.session.remove(this.getSelectionRange()),this.clearSelection()},this.removeWordLeft=function(){this.selection.isEmpty()&&this.selection.selectWordLeft(),this.session.remove(this.getSelectionRange()),this.clearSelection()},this.removeToLineStart=function(){this.selection.isEmpty()&&this.selection.selectLineStart(),this.selection.isEmpty()&&this.selection.selectLeft(),this.session.remove(this.getSelectionRange()),this.clearSelection()},this.removeToLineEnd=function(){this.selection.isEmpty()&&this.selection.selectLineEnd();var e=this.getSelectionRange();e.start.column==e.end.column&&e.start.row==e.end.row&&(e.end.column=0,e.end.row++),this.session.remove(e),this.clearSelection()},this.splitLine=function(){this.selection.isEmpty()||(this.session.remove(this.getSelectionRange()),this.clearSelection());var e=this.getCursorPosition();this.insert("\n"),this.moveCursorToPosition(e)},this.transposeLetters=function(){if(!this.selection.isEmpty())return;var e=this.getCursorPosition(),t=e.column;if(t===0)return;var n=this.session.getLine(e.row),r,i;t<n.length?(r=n.charAt(t)+n.charAt(t-1),i=new p(e.row,t-1,e.row,t+1)):(r=n.charAt(t-1)+n.charAt(t-2),i=new p(e.row,t-2,e.row,t)),this.session.replace(i,r),this.session.selection.moveToPosition(i.end)},this.toLowerCase=function(){var e=this.getSelectionRange();this.selection.isEmpty()&&this.selection.selectWord();var t=this.getSelectionRange(),n=this.session.getTextRange(t);this.session.replace(t,n.toLowerCase()),this.selection.setSelectionRange(e)},this.toUpperCase=function(){var e=this.getSelectionRange();this.selection.isEmpty()&&this.selection.selectWord();var t=this.getSelectionRange(),n=this.session.getTextRange(t);this.session.replace(t,n.toUpperCase()),this.selection.setSelectionRange(e)},this.indent=function(){var e=this.session,t=this.getSelectionRange();if(t.start.row<t.end.row){var n=this.$getSelectedRows();e.indentRows(n.first,n.last," ");return}if(t.start.column<t.end.column){var r=e.getTextRange(t);if(!/^\s+$/.test(r)){var n=this.$getSelectedRows();e.indentRows(n.first,n.last," ");return}}var i=e.getLine(t.start.row),o=t.start,u=e.getTabSize(),a=e.documentToScreenColumn(o.row,o.column);if(this.session.getUseSoftTabs())var f=u-a%u,l=s.stringRepeat(" ",f);else{var f=a%u;while(i[t.start.column-1]==" "&&f)t.start.column--,f--;this.selection.setSelectionRange(t),l=" "}return this.insert(l)},this.blockIndent=function(){var e=this.$getSelectedRows();this.session.indentRows(e.first,e.last," ")},this.blockOutdent=function(){var e=this.session.getSelection();this.session.outdentRows(e.getRange())},this.sortLines=function(){var e=this.$getSelectedRows(),t=this.session,n=[];for(var r=e.first;r<=e.last;r++)n.push(t.getLine(r));n.sort(function(e,t){return e.toLowerCase()<t.toLowerCase()?-1:e.toLowerCase()>t.toLowerCase()?1:0});var i=new p(0,0,0,0);for(var r=e.first;r<=e.last;r++){var s=t.getLine(r);i.start.row=r,i.end.row=r,i.end.column=s.length,t.replace(i,n[r-e.first])}},this.toggleCommentLines=function(){var e=this.session.getState(this.getCursorPosition().row),t=this.$getSelectedRows();this.session.getMode().toggleCommentLines(e,this.session,t.first,t.last)},this.toggleBlockComment=function(){var e=this.getCursorPosition(),t=this.session.getState(e.row),n=this.getSelectionRange();this.session.getMode().toggleBlockComment(t,this.session,n,e)},this.getNumberAt=function(e,t){var n=/[\-]?[0-9]+(?:\.[0-9]+)?/g;n.lastIndex=0;var r=this.session.getLine(e);while(n.lastIndex<t){var i=n.exec(r);if(i.index<=t&&i.index+i[0].length>=t){var s={value:i[0],start:i.index,end:i.index+i[0].length};return s}}return null},this.modifyNumber=function(e){var t=this.selection.getCursor().row,n=this.selection.getCursor().column,r=new p(t,n-1,t,n),i=this.session.getTextRange(r);if(!isNaN(parseFloat(i))&&isFinite(i)){var s=this.getNumberAt(t,n);if(s){var o=s.value.indexOf(".")>=0?s.start+s.value.indexOf(".")+1:s.end,u=s.start+s.value.length-o,a=parseFloat(s.value);a*=Math.pow(10,u),o!==s.end&&n<o?e*=Math.pow(10,s.end-n-1):e*=Math.pow(10,s.end-n),a+=e,a/=Math.pow(10,u);var f=a.toFixed(u),l=new p(t,s.start,t,s.end);this.session.replace(l,f),this.moveCursorTo(t,Math.max(s.start+1,n+f.length-s.value.length))}}else this.toggleWord()},this.$toggleWordPairs=[["first","last"],["true","false"],["yes","no"],["width","height"],["top","bottom"],["right","left"],["on","off"],["x","y"],["get","set"],["max","min"],["horizontal","vertical"],["show","hide"],["add","remove"],["up","down"],["before","after"],["even","odd"],["inside","outside"],["next","previous"],["increase","decrease"],["attach","detach"],["&&","||"],["==","!="]],this.toggleWord=function(){var e=this.selection.getCursor().row,t=this.selection.getCursor().column;this.selection.selectWord();var n=this.getSelectedText(),r=this.selection.getWordRange().start.column,i=n.replace(/([a-z]+|[A-Z]+)(?=[A-Z_]|$)/g,"$1 ").split(/\s/),o=t-r-1;o<0&&(o=0);var u=0,a=0,f=this;n.match(/[A-Za-z0-9_]+/)&&i.forEach(function(t,i){a=u+t.length,o>=u&&o<=a&&(n=t,f.selection.clearSelection(),f.moveCursorTo(e,u+r),f.selection.selectTo(e,a+r)),u=a});var l=this.$toggleWordPairs,c;for(var h=0;h<l.length;h++){var p=l[h];for(var d=0;d<=1;d++){var v=+!d,m=n.match(new RegExp("^\\s?_?("+s.escapeRegExp(p[d])+")\\s?$","i"));if(m){var g=n.match(new RegExp("([_]|^|\\s)("+s.escapeRegExp(m[1])+")($|\\s)","g"));g&&(c=n.replace(new RegExp(s.escapeRegExp(p[d]),"i"),function(e){var t=p[v];return e.toUpperCase()==e?t=t.toUpperCase():e.charAt(0).toUpperCase()==e.charAt(0)&&(t=t.substr(0,0)+p[v].charAt(0).toUpperCase()+t.substr(1)),t}),this.insert(c),c="")}}}},this.removeLines=function(){var e=this.$getSelectedRows();this.session.removeFullLines(e.first,e.last),this.clearSelection()},this.duplicateSelection=function(){var e=this.selection,t=this.session,n=e.getRange(),r=e.isBackwards();if(n.isEmpty()){var i=n.start.row;t.duplicateLines(i,i)}else{var s=r?n.start:n.end,o=t.insert(s,t.getTextRange(n),!1);n.start=s,n.end=o,e.setSelectionRange(n,r)}},this.moveLinesDown=function(){this.$moveLines(1,!1)},this.moveLinesUp=function(){this.$moveLines(-1,!1)},this.moveText=function(e,t,n){return this.session.moveText(e,t,n)},this.copyLinesUp=function(){this.$moveLines(-1,!0)},this.copyLinesDown=function(){this.$moveLines(1,!0)},this.$moveLines=function(e,t){var n,r,i=this.selection;if(!i.inMultiSelectMode||this.inVirtualSelectionMode){var s=i.toOrientedRange();n=this.$getSelectedRows(s),r=this.session.$moveLines(n.first,n.last,t?0:e),t&&e==-1&&(r=0),s.moveBy(r,0),i.fromOrientedRange(s)}else{var o=i.rangeList.ranges;i.rangeList.detach(this.session),this.inVirtualSelectionMode=!0;var u=0,a=0,f=o.length;for(var l=0;l<f;l++){var c=l;o[l].moveBy(u,0),n=this.$getSelectedRows(o[l]);var h=n.first,p=n.last;while(++l<f){a&&o[l].moveBy(a,0);var d=this.$getSelectedRows(o[l]);if(t&&d.first!=p)break;if(!t&&d.first>p+1)break;p=d.last}l--,u=this.session.$moveLines(h,p,t?0:e),t&&e==-1&&(c=l+1);while(c<=l)o[c].moveBy(u,0),c++;t||(u=0),a+=u}i.fromOrientedRange(i.ranges[0]),i.rangeList.attach(this.session),this.inVirtualSelectionMode=!1}},this.$getSelectedRows=function(e){return e=(e||this.getSelectionRange()).collapseRows(),{first:this.session.getRowFoldStart(e.start.row),last:this.session.getRowFoldEnd(e.end.row)}},this.onCompositionStart=function(e){this.renderer.showComposition(e)},this.onCompositionUpdate=function(e){this.renderer.setCompositionText(e)},this.onCompositionEnd=function(){this.renderer.hideComposition()},this.getFirstVisibleRow=function(){return this.renderer.getFirstVisibleRow()},this.getLastVisibleRow=function(){return this.renderer.getLastVisibleRow()},this.isRowVisible=function(e){return e>=this.getFirstVisibleRow()&&e<=this.getLastVisibleRow()},this.isRowFullyVisible=function(e){return e>=this.renderer.getFirstFullyVisibleRow()&&e<=this.renderer.getLastFullyVisibleRow()},this.$getVisibleRowCount=function(){return this.renderer.getScrollBottomRow()-this.renderer.getScrollTopRow()+1},this.$moveByPage=function(e,t){var n=this.renderer,r=this.renderer.layerConfig,i=e*Math.floor(r.height/r.lineHeight);t===!0?this.selection.$moveSelection(function(){this.moveCursorBy(i,0)}):t===!1&&(this.selection.moveCursorBy(i,0),this.selection.clearSelection());var s=n.scrollTop;n.scrollBy(0,i*r.lineHeight),t!=null&&n.scrollCursorIntoView(null,.5),n.animateScrolling(s)},this.selectPageDown=function(){this.$moveByPage(1,!0)},this.selectPageUp=function(){this.$moveByPage(-1,!0)},this.gotoPageDown=function(){this.$moveByPage(1,!1)},this.gotoPageUp=function(){this.$moveByPage(-1,!1)},this.scrollPageDown=function(){this.$moveByPage(1)},this.scrollPageUp=function(){this.$moveByPage(-1)},this.scrollToRow=function(e){this.renderer.scrollToRow(e)},this.scrollToLine=function(e,t,n,r){this.renderer.scrollToLine(e,t,n,r)},this.centerSelection=function(){var e=this.getSelectionRange(),t={row:Math.floor(e.start.row+(e.end.row-e.start.row)/2),column:Math.floor(e.start.column+(e.end.column-e.start.column)/2)};this.renderer.alignCursor(t,.5)},this.getCursorPosition=function(){return this.selection.getCursor()},this.getCursorPositionScreen=function(){return this.session.documentToScreenPosition(this.getCursorPosition())},this.getSelectionRange=function(){return this.selection.getRange()},this.selectAll=function(){this.selection.selectAll()},this.clearSelection=function(){this.selection.clearSelection()},this.moveCursorTo=function(e,t){this.selection.moveCursorTo(e,t)},this.moveCursorToPosition=function(e){this.selection.moveCursorToPosition(e)},this.jumpToMatching=function(e,t){var n=this.getCursorPosition(),r=new y(this.session,n.row,n.column),i=r.getCurrentToken(),s=i||r.stepForward();if(!s)return;var o,u=!1,a={},f=n.column-s.start,l,c={")":"(","(":"(","]":"[","[":"[","{":"{","}":"{"};do{if(s.value.match(/[{}()\[\]]/g))for(;f<s.value.length&&!u;f++){if(!c[s.value[f]])continue;l=c[s.value[f]]+"."+s.type.replace("rparen","lparen"),isNaN(a[l])&&(a[l]=0);switch(s.value[f]){case"(":case"[":case"{":a[l]++;break;case")":case"]":case"}":a[l]--,a[l]===-1&&(o="bracket",u=!0)}}else s.type.indexOf("tag-name")!==-1&&(isNaN(a[s.value])&&(a[s.value]=0),i.value==="<"?a[s.value]++:i.value==="</"&&a[s.value]--,a[s.value]===-1&&(o="tag",u=!0));u||(i=s,s=r.stepForward(),f=0)}while(s&&!u);if(!o)return;var h,d;if(o==="bracket"){h=this.session.getBracketRange(n);if(!h){h=new p(r.getCurrentTokenRow(),r.getCurrentTokenColumn()+f-1,r.getCurrentTokenRow(),r.getCurrentTokenColumn()+f-1),d=h.start;if(t||d.row===n.row&&Math.abs(d.column-n.column)<2)h=this.session.getBracketRange(d)}}else if(o==="tag"){if(!s||s.type.indexOf("tag-name")===-1)return;var v=s.value;h=new p(r.getCurrentTokenRow(),r.getCurrentTokenColumn()-2,r.getCurrentTokenRow(),r.getCurrentTokenColumn()-2);if(h.compare(n.row,n.column)===0){u=!1;do s=i,i=r.stepBackward(),i&&(i.type.indexOf("tag-close")!==-1&&h.setEnd(r.getCurrentTokenRow(),r.getCurrentTokenColumn()+1),s.value===v&&s.type.indexOf("tag-name")!==-1&&(i.value==="<"?a[v]++:i.value==="</"&&a[v]--,a[v]===0&&(u=!0)));while(i&&!u)}s&&s.type.indexOf("tag-name")&&(d=h.start,d.row==n.row&&Math.abs(d.column-n.column)<2&&(d=h.end))}d=h&&h.cursor||d,d&&(e?h&&t?this.selection.setRange(h):h&&h.isEqual(this.getSelectionRange())?this.clearSelection():this.selection.selectTo(d.row,d.column):this.selection.moveTo(d.row,d.column))},this.gotoLine=function(e,t,n){this.selection.clearSelection(),this.session.unfold({row:e-1,column:t||0}),this.exitMultiSelectMode&&this.exitMultiSelectMode(),this.moveCursorTo(e-1,t||0),this.isRowFullyVisible(e-1)||this.scrollToLine(e-1,!0,n)},this.navigateTo=function(e,t){this.selection.moveTo(e,t)},this.navigateUp=function(e){if(this.selection.isMultiLine()&&!this.selection.isBackwards()){var t=this.selection.anchor.getPosition();return this.moveCursorToPosition(t)}this.selection.clearSelection(),this.selection.moveCursorBy(-e||-1,0)},this.navigateDown=function(e){if(this.selection.isMultiLine()&&this.selection.isBackwards()){var t=this.selection.anchor.getPosition();return this.moveCursorToPosition(t)}this.selection.clearSelection(),this.selection.moveCursorBy(e||1,0)},this.navigateLeft=function(e){if(!this.selection.isEmpty()){var t=this.getSelectionRange().start;this.moveCursorToPosition(t)}else{e=e||1;while(e--)this.selection.moveCursorLeft()}this.clearSelection()},this.navigateRight=function(e){if(!this.selection.isEmpty()){var t=this.getSelectionRange().end;this.moveCursorToPosition(t)}else{e=e||1;while(e--)this.selection.moveCursorRight()}this.clearSelection()},this.navigateLineStart=function(){this.selection.moveCursorLineStart(),this.clearSelection()},this.navigateLineEnd=function(){this.selection.moveCursorLineEnd(),this.clearSelection()},this.navigateFileEnd=function(){this.selection.moveCursorFileEnd(),this.clearSelection()},this.navigateFileStart=function(){this.selection.moveCursorFileStart(),this.clearSelection()},this.navigateWordRight=function(){this.selection.moveCursorWordRight(),this.clearSelection()},this.navigateWordLeft=function(){this.selection.moveCursorWordLeft(),this.clearSelection()},this.replace=function(e,t){t&&this.$search.set(t);var n=this.$search.find(this.session),r=0;return n?(this.$tryReplace(n,e)&&(r=1),this.selection.setSelectionRange(n),this.renderer.scrollSelectionIntoView(n.start,n.end),r):r},this.replaceAll=function(e,t){t&&this.$search.set(t);var n=this.$search.findAll(this.session),r=0;if(!n.length)return r;var i=this.getSelectionRange();this.selection.moveTo(0,0);for(var s=n.length-1;s>=0;--s)this.$tryReplace(n[s],e)&&r++;return this.selection.setSelectionRange(i),r},this.$tryReplace=function(e,t){var n=this.session.getTextRange(e);return t=this.$search.replace(n,t),t!==null?(e.end=this.session.replace(e,t),e):null},this.getLastSearchOptions=function(){return this.$search.getOptions()},this.find=function(e,t,n){t||(t={}),typeof e=="string"||e instanceof RegExp?t.needle=e:typeof e=="object"&&r.mixin(t,e);var i=this.selection.getRange();t.needle==null&&(e=this.session.getTextRange(i)||this.$search.$options.needle,e||(i=this.session.getWordRange(i.start.row,i.start.column),e=this.session.getTextRange(i)),this.$search.set({needle:e})),this.$search.set(t),t.start||this.$search.set({start:i});var s=this.$search.find(this.session);if(t.preventScroll)return s;if(s)return this.revealRange(s,n),s;t.backwards?i.start=i.end:i.end=i.start,this.selection.setRange(i)},this.findNext=function(e,t){this.find({skipCurrent:!0,backwards:!1},e,t)},this.findPrevious=function(e,t){this.find(e,{skipCurrent:!0,backwards:!0},t)},this.revealRange=function(e,t){this.session.unfold(e),this.selection.setSelectionRange(e);var n=this.renderer.scrollTop;this.renderer.scrollSelectionIntoView(e.start,e.end,.5),t!==!1&&this.renderer.animateScrolling(n)},this.undo=function(){this.session.getUndoManager().undo(this.session),this.renderer.scrollCursorIntoView(null,.5)},this.redo=function(){this.session.getUndoManager().redo(this.session),this.renderer.scrollCursorIntoView(null,.5)},this.destroy=function(){this.renderer.destroy(),this._signal("destroy",this),this.session&&this.session.destroy()},this.setAutoScrollEditorIntoView=function(e){if(!e)return;var t,n=this,r=!1;this.$scrollAnchor||(this.$scrollAnchor=document.createElement("div"));var i=this.$scrollAnchor;i.style.cssText="position:absolute",this.container.insertBefore(i,this.container.firstChild);var s=this.on("changeSelection",function(){r=!0}),o=this.renderer.on("beforeRender",function(){r&&(t=n.renderer.container.getBoundingClientRect())}),u=this.renderer.on("afterRender",function(){if(r&&t&&(n.isFocused()||n.searchBox&&n.searchBox.isFocused())){var e=n.renderer,s=e.$cursorLayer.$pixelPos,o=e.layerConfig,u=s.top-o.offset;s.top>=0&&u+t.top<0?r=!0:s.top<o.height&&s.top+t.top+o.lineHeight>window.innerHeight?r=!1:r=null,r!=null&&(i.style.top=u+"px",i.style.left=s.left+"px",i.style.height=o.lineHeight+"px",i.scrollIntoView(r)),r=t=null}});this.setAutoScrollEditorIntoView=function(e){if(e)return;delete this.setAutoScrollEditorIntoView,this.off("changeSelection",s),this.renderer.off("afterRender",u),this.renderer.off("beforeRender",o)}},this.$resetCursorStyle=function(){var e=this.$cursorStyle||"ace",t=this.renderer.$cursorLayer;if(!t)return;t.setSmoothBlinking(/smooth/.test(e)),t.isBlinking=!this.$readOnly&&e!="wide",i.setCssClass(t.element,"ace_slim-cursors",/slim/.test(e))},this.prompt=function(e,t,n){var r=this;g.loadModule("./ext/prompt",function(i){i.prompt(r,e,t,n)})}}.call(w.prototype),g.defineOptions(w.prototype,"editor",{selectionStyle:{set:function(e){this.onSelectionChange(),this._signal("changeSelectionStyle",{data:e})},initialValue:"line"},highlightActiveLine:{set:function(){this.$updateHighlightActiveLine()},initialValue:!0},highlightSelectedWord:{set:function(e){this.$onSelectionChange()},initialValue:!0},readOnly:{set:function(e){this.textInput.setReadOnly(e),this.$resetCursorStyle()},initialValue:!1},copyWithEmptySelection:{set:function(e){this.textInput.setCopyWithEmptySelection(e)},initialValue:!1},cursorStyle:{set:function(e){this.$resetCursorStyle()},values:["ace","slim","smooth","wide"],initialValue:"ace"},mergeUndoDeltas:{values:[!1,!0,"always"],initialValue:!0},behavioursEnabled:{initialValue:!0},wrapBehavioursEnabled:{initialValue:!0},autoScrollEditorIntoView:{set:function(e){this.setAutoScrollEditorIntoView(e)}},keyboardHandler:{set:function(e){this.setKeyboardHandler(e)},get:function(){return this.$keybindingId},handlesSet:!0},value:{set:function(e){this.session.setValue(e)},get:function(){return this.getValue()},handlesSet:!0,hidden:!0},session:{set:function(e){this.setSession(e)},get:function(){return this.session},handlesSet:!0,hidden:!0},showLineNumbers:{set:function(e){this.renderer.$gutterLayer.setShowLineNumbers(e),this.renderer.$loop.schedule(this.renderer.CHANGE_GUTTER),e&&this.$relativeLineNumbers?E.attach(this):E.detach(this)},initialValue:!0},relativeLineNumbers:{set:function(e){this.$showLineNumbers&&e?E.attach(this):E.detach(this)}},hScrollBarAlwaysVisible:"renderer",vScrollBarAlwaysVisible:"renderer",highlightGutterLine:"renderer",animatedScroll:"renderer",showInvisibles:"renderer",showPrintMargin:"renderer",printMarginColumn:"renderer",printMargin:"renderer",fadeFoldWidgets:"renderer",showFoldWidgets:"renderer",displayIndentGuides:"renderer",showGutter:"renderer",fontSize:"renderer",fontFamily:"renderer",maxLines:"renderer",minLines:"renderer",scrollPastEnd:"renderer",fixedWidthGutter:"renderer",theme:"renderer",hasCssTransforms:"renderer",maxPixelHeight:"renderer",useTextareaForIME:"renderer",scrollSpeed:"$mouseHandler",dragDelay:"$mouseHandler",dragEnabled:"$mouseHandler",focusTimeout:"$mouseHandler",tooltipFollowsMouse:"$mouseHandler",firstLineNumber:"session",overwrite:"session",newLineMode:"session",useWorker:"session",useSoftTabs:"session",navigateWithinSoftTabs:"session",tabSize:"session",wrap:"session",indentedSoftWrap:"session",foldStyle:"session",mode:"session"});var E={getText:function(e,t){return(Math.abs(e.selection.lead.row-t)||t+1+(t<9?"\u00b7":""))+""},getWidth:function(e,t,n){return Math.max(t.toString().length,(n.lastRow+1).toString().length,2)*n.characterWidth},update:function(e,t){t.renderer.$loop.schedule(t.renderer.CHANGE_GUTTER)},attach:function(e){e.renderer.$gutterLayer.$renderer=this,e.on("changeSelection",this.update),this.update(null,e)},detach:function(e){e.renderer.$gutterLayer.$renderer==this&&(e.renderer.$gutterLayer.$renderer=null),e.off("changeSelection",this.update),this.update(null,e)}};t.Editor=w}),ace.define("ace/undomanager",["require","exports","module","ace/range"],function(e,t,n){"use strict";function i(e,t){for(var n=t;n--;){var r=e[n];if(r&&!r[0].ignore){while(n<t-1){var i=d(e[n],e[n+1]);e[n]=i[0],e[n+1]=i[1],n++}return!0}}}function a(e){var t=e.action=="insert",n=e.start,r=e.end,i=(r.row-n.row)*(t?1:-1),s=(r.column-n.column)*(t?1:-1);t&&(r=n);for(var o in this.marks){var a=this.marks[o],f=u(a,n);if(f<0)continue;if(f===0&&t){if(a.bias!=1){a.bias==-1;continue}f=1}var l=t?f:u(a,r);if(l>0){a.row+=i,a.column+=a.row==r.row?s:0;continue}!t&&l<=0&&(a.row=n.row,a.column=n.column,l===0&&(a.bias=1))}}function f(e){return{row:e.row,column:e.column}}function l(e){return{start:f(e.start),end:f(e.end),action:e.action,lines:e.lines.slice()}}function c(e){e=e||this;if(Array.isArray(e))return e.map(c).join("\n");var t="";e.action?(t=e.action=="insert"?"+":"-",t+="["+e.lines+"]"):e.value&&(Array.isArray(e.value)?t=e.value.map(h).join("\n"):t=h(e.value)),e.start&&(t+=h(e));if(e.id||e.rev)t+=" ("+(e.id||e.rev)+")";return t}function h(e){return e.start.row+":"+e.start.column+"=>"+e.end.row+":"+e.end.column}function p(e,t){var n=e.action=="insert",r=t.action=="insert";if(n&&r)if(o(t.start,e.end)>=0)m(t,e,-1);else{if(!(o(t.start,e.start)<=0))return null;m(e,t,1)}else if(n&&!r)if(o(t.start,e.end)>=0)m(t,e,-1);else{if(!(o(t.end,e.start)<=0))return null;m(e,t,-1)}else if(!n&&r)if(o(t.start,e.start)>=0)m(t,e,1);else{if(!(o(t.start,e.start)<=0))return null;m(e,t,1)}else if(!n&&!r)if(o(t.start,e.start)>=0)m(t,e,1);else{if(!(o(t.end,e.start)<=0))return null;m(e,t,-1)}return[t,e]}function d(e,t){for(var n=e.length;n--;)for(var r=0;r<t.length;r++)if(!p(e[n],t[r])){while(n<e.length){while(r--)p(t[r],e[n]);r=t.length,n++}return[e,t]}return e.selectionBefore=t.selectionBefore=e.selectionAfter=t.selectionAfter=null,[t,e]}function v(e,t){var n=e.action=="insert",r=t.action=="insert";if(n&&r)o(e.start,t.start)<0?m(t,e,1):m(e,t,1);else if(n&&!r)o(e.start,t.end)>=0?m(e,t,-1):o(e.start,t.start)<=0?m(t,e,1):(m(e,s.fromPoints(t.start,e.start),-1),m(t,e,1));else if(!n&&r)o(t.start,e.end)>=0?m(t,e,-1):o(t.start,e.start)<=0?m(e,t,1):(m(t,s.fromPoints(e.start,t.start),-1),m(e,t,1));else if(!n&&!r)if(o(t.start,e.end)>=0)m(t,e,-1);else{if(!(o(t.end,e.start)<=0)){var i,u;return o(e.start,t.start)<0&&(i=e,e=y(e,t.start)),o(e.end,t.end)>0&&(u=y(e,t.end)),g(t.end,e.start,e.end,-1),u&&!i&&(e.lines=u.lines,e.start=u.start,e.end=u.end,u=e),[t,i,u].filter(Boolean)}m(e,t,-1)}return[t,e]}function m(e,t,n){g(e.start,t.start,t.end,n),g(e.end,t.start,t.end,n)}function g(e,t,n,r){e.row==(r==1?t:n).row&&(e.column+=r*(n.column-t.column)),e.row+=r*(n.row-t.row)}function y(e,t){var n=e.lines,r=e.end;e.end=f(t);var i=e.end.row-e.start.row,s=n.splice(i,n.length),o=i?t.column:t.column-e.start.column;n.push(s[0].substring(0,o)),s[0]=s[0].substr(o);var u={start:f(t),end:r,lines:s,action:e.action};return u}function b(e,t){t=l(t);for(var n=e.length;n--;){var r=e[n];for(var i=0;i<r.length;i++){var s=r[i],o=v(s,t);t=o[0],o.length!=2&&(o[2]?(r.splice(i+1,1,o[1],o[2]),i++):o[1]||(r.splice(i,1),i--))}r.length||e.splice(n,1)}return e}function w(e,t){for(var n=0;n<t.length;n++){var r=t[n];for(var i=0;i<r.length;i++)b(e,r[i])}}var r=function(){this.$maxRev=0,this.$fromUndo=!1,this.reset()};(function(){this.addSession=function(e){this.$session=e},this.add=function(e,t,n){if(this.$fromUndo)return;if(e==this.$lastDelta)return;if(t===!1||!this.lastDeltas)this.lastDeltas=[],this.$undoStack.push(this.lastDeltas),e.id=this.$rev=++this.$maxRev;if(e.action=="remove"||e.action=="insert")this.$lastDelta=e;this.lastDeltas.push(e)},this.addSelection=function(e,t){this.selections.push({value:e,rev:t||this.$rev})},this.startNewGroup=function(){return this.lastDeltas=null,this.$rev},this.markIgnored=function(e,t){t==null&&(t=this.$rev+1);var n=this.$undoStack;for(var r=n.length;r--;){var i=n[r][0];if(i.id<=e)break;i.id<t&&(i.ignore=!0)}this.lastDeltas=null},this.getSelection=function(e,t){var n=this.selections;for(var r=n.length;r--;){var i=n[r];if(i.rev<e)return t&&(i=n[r+1]),i}},this.getRevision=function(){return this.$rev},this.getDeltas=function(e,t){t==null&&(t=this.$rev+1);var n=this.$undoStack,r=null,i=0;for(var s=n.length;s--;){var o=n[s][0];o.id<t&&!r&&(r=s+1);if(o.id<=e){i=s+1;break}}return n.slice(i,r)},this.getChangedRanges=function(e,t){t==null&&(t=this.$rev+1)},this.getChangedLines=function(e,t){t==null&&(t=this.$rev+1)},this.undo=function(e,t){this.lastDeltas=null;var n=this.$undoStack;if(!i(n,n.length))return;e||(e=this.$session),this.$redoStackBaseRev!==this.$rev&&this.$redoStack.length&&(this.$redoStack=[]),this.$fromUndo=!0;var r=n.pop(),s=null;return r&&r.length&&(s=e.undoChanges(r,t),this.$redoStack.push(r),this.$syncRev()),this.$fromUndo=!1,s},this.redo=function(e,t){this.lastDeltas=null,e||(e=this.$session),this.$fromUndo=!0;if(this.$redoStackBaseRev!=this.$rev){var n=this.getDeltas(this.$redoStackBaseRev,this.$rev+1);w(this.$redoStack,n),this.$redoStackBaseRev=this.$rev,this.$redoStack.forEach(function(e){e[0].id=++this.$maxRev},this)}var r=this.$redoStack.pop(),i=null;return r&&(i=e.redoChanges(r,t),this.$undoStack.push(r),this.$syncRev()),this.$fromUndo=!1,i},this.$syncRev=function(){var e=this.$undoStack,t=e[e.length-1],n=t&&t[0].id||0;this.$redoStackBaseRev=n,this.$rev=n},this.reset=function(){this.lastDeltas=null,this.$lastDelta=null,this.$undoStack=[],this.$redoStack=[],this.$rev=0,this.mark=0,this.$redoStackBaseRev=this.$rev,this.selections=[]},this.canUndo=function(){return this.$undoStack.length>0},this.canRedo=function(){return this.$redoStack.length>0},this.bookmark=function(e){e==undefined&&(e=this.$rev),this.mark=e},this.isAtBookmark=function(){return this.$rev===this.mark},this.toJSON=function(){},this.fromJSON=function(){},this.hasUndo=this.canUndo,this.hasRedo=this.canRedo,this.isClean=this.isAtBookmark,this.markClean=this.bookmark,this.$prettyPrint=function(e){return e?c(e):c(this.$undoStack)+"\n---\n"+c(this.$redoStack)}}).call(r.prototype);var s=e("./range").Range,o=s.comparePoints,u=s.comparePoints;t.UndoManager=r}),ace.define("ace/layer/lines",["require","exports","module","ace/lib/dom"],function(e,t,n){"use strict";var r=e("../lib/dom"),i=function(e,t){this.element=e,this.canvasHeight=t||5e5,this.element.style.height=this.canvasHeight*2+"px",this.cells=[],this.cellCache=[],this.$offsetCoefficient=0};(function(){this.moveContainer=function(e){r.translate(this.element,0,-(e.firstRowScreen*e.lineHeight%this.canvasHeight)-e.offset*this.$offsetCoefficient)},this.pageChanged=function(e,t){return Math.floor(e.firstRowScreen*e.lineHeight/this.canvasHeight)!==Math.floor(t.firstRowScreen*t.lineHeight/this.canvasHeight)},this.computeLineTop=function(e,t,n){var r=t.firstRowScreen*t.lineHeight,i=Math.floor(r/this.canvasHeight),s=n.documentToScreenRow(e,0)*t.lineHeight;return s-i*this.canvasHeight},this.computeLineHeight=function(e,t,n){return t.lineHeight*n.getRowLength(e)},this.getLength=function(){return this.cells.length},this.get=function(e){return this.cells[e]},this.shift=function(){this.$cacheCell(this.cells.shift())},this.pop=function(){this.$cacheCell(this.cells.pop())},this.push=function(e){if(Array.isArray(e)){this.cells.push.apply(this.cells,e);var t=r.createFragment(this.element);for(var n=0;n<e.length;n++)t.appendChild(e[n].element);this.element.appendChild(t)}else this.cells.push(e),this.element.appendChild(e.element)},this.unshift=function(e){if(Array.isArray(e)){this.cells.unshift.apply(this.cells,e);var t=r.createFragment(this.element);for(var n=0;n<e.length;n++)t.appendChild(e[n].element);this.element.firstChild?this.element.insertBefore(t,this.element.firstChild):this.element.appendChild(t)}else this.cells.unshift(e),this.element.insertAdjacentElement("afterbegin",e.element)},this.last=function(){return this.cells.length?this.cells[this.cells.length-1]:null},this.$cacheCell=function(e){if(!e)return;e.element.remove(),this.cellCache.push(e)},this.createCell=function(e,t,n,i){var s=this.cellCache.pop();if(!s){var o=r.createElement("div");i&&i(o),this.element.appendChild(o),s={element:o,text:"",row:e}}return s.row=e,s}}).call(i.prototype),t.Lines=i}),ace.define("ace/layer/gutter",["require","exports","module","ace/lib/dom","ace/lib/oop","ace/lib/lang","ace/lib/event_emitter","ace/layer/lines"],function(e,t,n){"use strict";function f(e){var t=document.createTextNode("");e.appendChild(t);var n=r.createElement("span");return e.appendChild(n),e}var r=e("../lib/dom"),i=e("../lib/oop"),s=e("../lib/lang"),o=e("../lib/event_emitter").EventEmitter,u=e("./lines").Lines,a=function(e){this.element=r.createElement("div"),this.element.className="ace_layer ace_gutter-layer",e.appendChild(this.element),this.setShowFoldWidgets(this.$showFoldWidgets),this.gutterWidth=0,this.$annotations=[],this.$updateAnnotations=this.$updateAnnotations.bind(this),this.$lines=new u(this.element),this.$lines.$offsetCoefficient=1};(function(){i.implement(this,o),this.setSession=function(e){this.session&&this.session.removeEventListener("change",this.$updateAnnotations),this.session=e,e&&e.on("change",this.$updateAnnotations)},this.addGutterDecoration=function(e,t){window.console&&console.warn&&console.warn("deprecated use session.addGutterDecoration"),this.session.addGutterDecoration(e,t)},this.removeGutterDecoration=function(e,t){window.console&&console.warn&&console.warn("deprecated use session.removeGutterDecoration"),this.session.removeGutterDecoration(e,t)},this.setAnnotations=function(e){this.$annotations=[];for(var t=0;t<e.length;t++){var n=e[t],r=n.row,i=this.$annotations[r];i||(i=this.$annotations[r]={text:[]});var o=n.text;o=o?s.escapeHTML(o):n.html||"",i.text.indexOf(o)===-1&&i.text.push(o);var u=n.type;u=="error"?i.className=" ace_error":u=="warning"&&i.className!=" ace_error"?i.className=" ace_warning":u=="info"&&!i.className&&(i.className=" ace_info")}},this.$updateAnnotations=function(e){if(!this.$annotations.length)return;var t=e.start.row,n=e.end.row-t;if(n!==0)if(e.action=="remove")this.$annotations.splice(t,n+1,null);else{var r=new Array(n+1);r.unshift(t,1),this.$annotations.splice.apply(this.$annotations,r)}},this.update=function(e){this.config=e;var t=this.session,n=e.firstRow,r=Math.min(e.lastRow+e.gutterOffset,t.getLength()-1);this.oldLastRow=r,this.config=e,this.$lines.moveContainer(e),this.$updateCursorRow();var i=t.getNextFoldLine(n),s=i?i.start.row:Infinity,o=null,u=-1,a=n;for(;;){a>s&&(a=i.end.row+1,i=t.getNextFoldLine(a,i),s=i?i.start.row:Infinity);if(a>r){while(this.$lines.getLength()>u+1)this.$lines.pop();break}o=this.$lines.get(++u),o?o.row=a:(o=this.$lines.createCell(a,e,this.session,f),this.$lines.push(o)),this.$renderCell(o,e,i,a),a++}this._signal("afterRender"),this.$updateGutterWidth(e)},this.$updateGutterWidth=function(e){var t=this.session,n=t.gutterRenderer||this.$renderer,r=t.$firstLineNumber,i=this.$lines.last()?this.$lines.last().text:"";if(this.$fixedWidth||t.$useWrapMode)i=t.getLength()+r-1;var s=n?n.getWidth(t,i,e):i.toString().length*e.characterWidth,o=this.$padding||this.$computePadding();s+=o.left+o.right,s!==this.gutterWidth&&!isNaN(s)&&(this.gutterWidth=s,this.element.parentNode.style.width=this.element.style.width=Math.ceil(this.gutterWidth)+"px",this._signal("changeGutterWidth",s))},this.$updateCursorRow=function(){if(!this.$highlightGutterLine)return;var e=this.session.selection.getCursor();if(this.$cursorRow===e.row)return;this.$cursorRow=e.row},this.updateLineHighlight=function(){if(!this.$highlightGutterLine)return;var e=this.session.selection.cursor.row;this.$cursorRow=e;if(this.$cursorCell&&this.$cursorCell.row==e)return;this.$cursorCell&&(this.$cursorCell.element.className=this.$cursorCell.element.className.replace("ace_gutter-active-line ",""));var t=this.$lines.cells;this.$cursorCell=null;for(var n=0;n<t.length;n++){var r=t[n];if(r.row>=this.$cursorRow){if(r.row>this.$cursorRow){var i=this.session.getFoldLine(this.$cursorRow);if(!(n>0&&i&&i.start.row==t[n-1].row))break;r=t[n-1]}r.element.className="ace_gutter-active-line "+r.element.className,this.$cursorCell=r;break}}},this.scrollLines=function(e){var t=this.config;this.config=e,this.$updateCursorRow();if(this.$lines.pageChanged(t,e))return this.update(e);this.$lines.moveContainer(e);var n=Math.min(e.lastRow+e.gutterOffset,this.session.getLength()-1),r=this.oldLastRow;this.oldLastRow=n;if(!t||r<e.firstRow)return this.update(e);if(n<t.firstRow)return this.update(e);if(t.firstRow<e.firstRow)for(var i=this.session.getFoldedRowCount(t.firstRow,e.firstRow-1);i>0;i--)this.$lines.shift();if(r>n)for(var i=this.session.getFoldedRowCount(n+1,r);i>0;i--)this.$lines.pop();e.firstRow<t.firstRow&&this.$lines.unshift(this.$renderLines(e,e.firstRow,t.firstRow-1)),n>r&&this.$lines.push(this.$renderLines(e,r+1,n)),this.updateLineHighlight(),this._signal("afterRender"),this.$updateGutterWidth(e)},this.$renderLines=function(e,t,n){var r=[],i=t,s=this.session.getNextFoldLine(i),o=s?s.start.row:Infinity;for(;;){i>o&&(i=s.end.row+1,s=this.session.getNextFoldLine(i,s),o=s?s.start.row:Infinity);if(i>n)break;var u=this.$lines.createCell(i,e,this.session,f);this.$renderCell(u,e,s,i),r.push(u),i++}return r},this.$renderCell=function(e,t,n,i){var s=e.element,o=this.session,u=s.childNodes[0],a=s.childNodes[1],f=o.$firstLineNumber,l=o.$breakpoints,c=o.$decorations,h=o.gutterRenderer||this.$renderer,p=this.$showFoldWidgets&&o.foldWidgets,d=n?n.start.row:Number.MAX_VALUE,v="ace_gutter-cell ";this.$highlightGutterLine&&(i==this.$cursorRow||n&&i<this.$cursorRow&&i>=d&&this.$cursorRow<=n.end.row)&&(v+="ace_gutter-active-line ",this.$cursorCell!=e&&(this.$cursorCell&&(this.$cursorCell.element.className=this.$cursorCell.element.className.replace("ace_gutter-active-line ","")),this.$cursorCell=e)),l[i]&&(v+=l[i]),c[i]&&(v+=c[i]),this.$annotations[i]&&(v+=this.$annotations[i].className),s.className!=v&&(s.className=v);if(p){var m=p[i];m==null&&(m=p[i]=o.getFoldWidget(i))}if(m){var v="ace_fold-widget ace_"+m;m=="start"&&i==d&&i<n.end.row?v+=" ace_closed":v+=" ace_open",a.className!=v&&(a.className=v);var g=t.lineHeight+"px";r.setStyle(a.style,"height",g),r.setStyle(a.style,"display","inline-block")}else a&&r.setStyle(a.style,"display","none");var y=(h?h.getText(o,i):i+f).toString();return y!==u.data&&(u.data=y),r.setStyle(e.element.style,"height",this.$lines.computeLineHeight(i,t,o)+"px"),r.setStyle(e.element.style,"top",this.$lines.computeLineTop(i,t,o)+"px"),e.text=y,e},this.$fixedWidth=!1,this.$highlightGutterLine=!0,this.$renderer="",this.setHighlightGutterLine=function(e){this.$highlightGutterLine=e},this.$showLineNumbers=!0,this.$renderer="",this.setShowLineNumbers=function(e){this.$renderer=!e&&{getWidth:function(){return 0},getText:function(){return""}}},this.getShowLineNumbers=function(){return this.$showLineNumbers},this.$showFoldWidgets=!0,this.setShowFoldWidgets=function(e){e?r.addCssClass(this.element,"ace_folding-enabled"):r.removeCssClass(this.element,"ace_folding-enabled"),this.$showFoldWidgets=e,this.$padding=null},this.getShowFoldWidgets=function(){return this.$showFoldWidgets},this.$computePadding=function(){if(!this.element.firstChild)return{left:0,right:0};var e=r.computedStyle(this.element.firstChild);return this.$padding={},this.$padding.left=(parseInt(e.borderLeftWidth)||0)+(parseInt(e.paddingLeft)||0)+1,this.$padding.right=(parseInt(e.borderRightWidth)||0)+(parseInt(e.paddingRight)||0),this.$padding},this.getRegion=function(e){var t=this.$padding||this.$computePadding(),n=this.element.getBoundingClientRect();if(e.x<t.left+n.left)return"markers";if(this.$showFoldWidgets&&e.x>n.right-t.right)return"foldWidgets"}}).call(a.prototype),t.Gutter=a}),ace.define("ace/layer/marker",["require","exports","module","ace/range","ace/lib/dom"],function(e,t,n){"use strict";var r=e("../range").Range,i=e("../lib/dom"),s=function(e){this.element=i.createElement("div"),this.element.className="ace_layer ace_marker-layer",e.appendChild(this.element)};(function(){function e(e,t,n,r){return(e?1:0)|(t?2:0)|(n?4:0)|(r?8:0)}this.$padding=0,this.setPadding=function(e){this.$padding=e},this.setSession=function(e){this.session=e},this.setMarkers=function(e){this.markers=e},this.elt=function(e,t){var n=this.i!=-1&&this.element.childNodes[this.i];n?this.i++:(n=document.createElement("div"),this.element.appendChild(n),this.i=-1),n.style.cssText=t,n.className=e},this.update=function(e){if(!e)return;this.config=e,this.i=0;var t;for(var n in this.markers){var r=this.markers[n];if(!r.range){r.update(t,this,this.session,e);continue}var i=r.range.clipRows(e.firstRow,e.lastRow);if(i.isEmpty())continue;i=i.toScreenRange(this.session);if(r.renderer){var s=this.$getTop(i.start.row,e),o=this.$padding+i.start.column*e.characterWidth;r.renderer(t,i,o,s,e)}else r.type=="fullLine"?this.drawFullLineMarker(t,i,r.clazz,e):r.type=="screenLine"?this.drawScreenLineMarker(t,i,r.clazz,e):i.isMultiLine()?r.type=="text"?this.drawTextMarker(t,i,r.clazz,e):this.drawMultiLineMarker(t,i,r.clazz,e):this.drawSingleLineMarker(t,i,r.clazz+" ace_start"+" ace_br15",e)}if(this.i!=-1)while(this.i<this.element.childElementCount)this.element.removeChild(this.element.lastChild)},this.$getTop=function(e,t){return(e-t.firstRowScreen)*t.lineHeight},this.drawTextMarker=function(t,n,i,s,o){var u=this.session,a=n.start.row,f=n.end.row,l=a,c=0,h=0,p=u.getScreenLastRowColumn(l),d=new r(l,n.start.column,l,h);for(;l<=f;l++)d.start.row=d.end.row=l,d.start.column=l==a?n.start.column:u.getRowWrapIndent(l),d.end.column=p,c=h,h=p,p=l+1<f?u.getScreenLastRowColumn(l+1):l==f?0:n.end.column,this.drawSingleLineMarker(t,d,i+(l==a?" ace_start":"")+" ace_br"+e(l==a||l==a+1&&n.start.column,c<h,h>p,l==f),s,l==f?0:1,o)},this.drawMultiLineMarker=function(e,t,n,r,i){var s=this.$padding,o=r.lineHeight,u=this.$getTop(t.start.row,r),a=s+t.start.column*r.characterWidth;i=i||"";if(this.session.$bidiHandler.isBidiRow(t.start.row)){var f=t.clone();f.end.row=f.start.row,f.end.column=this.session.getLine(f.start.row).length,this.drawBidiSingleLineMarker(e,f,n+" ace_br1 ace_start",r,null,i)}else this.elt(n+" ace_br1 ace_start","height:"+o+"px;"+"right:0;"+"top:"+u+"px;left:"+a+"px;"+(i||""));if(this.session.$bidiHandler.isBidiRow(t.end.row)){var f=t.clone();f.start.row=f.end.row,f.start.column=0,this.drawBidiSingleLineMarker(e,f,n+" ace_br12",r,null,i)}else{u=this.$getTop(t.end.row,r);var l=t.end.column*r.characterWidth;this.elt(n+" ace_br12","height:"+o+"px;"+"width:"+l+"px;"+"top:"+u+"px;"+"left:"+s+"px;"+(i||""))}o=(t.end.row-t.start.row-1)*r.lineHeight;if(o<=0)return;u=this.$getTop(t.start.row+1,r);var c=(t.start.column?1:0)|(t.end.column?0:8);this.elt(n+(c?" ace_br"+c:""),"height:"+o+"px;"+"right:0;"+"top:"+u+"px;"+"left:"+s+"px;"+(i||""))},this.drawSingleLineMarker=function(e,t,n,r,i,s){if(this.session.$bidiHandler.isBidiRow(t.start.row))return this.drawBidiSingleLineMarker(e,t,n,r,i,s);var o=r.lineHeight,u=(t.end.column+(i||0)-t.start.column)*r.characterWidth,a=this.$getTop(t.start.row,r),f=this.$padding+t.start.column*r.characterWidth;this.elt(n,"height:"+o+"px;"+"width:"+u+"px;"+"top:"+a+"px;"+"left:"+f+"px;"+(s||""))},this.drawBidiSingleLineMarker=function(e,t,n,r,i,s){var o=r.lineHeight,u=this.$getTop(t.start.row,r),a=this.$padding,f=this.session.$bidiHandler.getSelections(t.start.column,t.end.column);f.forEach(function(e){this.elt(n,"height:"+o+"px;"+"width:"+e.width+(i||0)+"px;"+"top:"+u+"px;"+"left:"+(a+e.left)+"px;"+(s||""))},this)},this.drawFullLineMarker=function(e,t,n,r,i){var s=this.$getTop(t.start.row,r),o=r.lineHeight;t.start.row!=t.end.row&&(o+=this.$getTop(t.end.row,r)-s),this.elt(n,"height:"+o+"px;"+"top:"+s+"px;"+"left:0;right:0;"+(i||""))},this.drawScreenLineMarker=function(e,t,n,r,i){var s=this.$getTop(t.start.row,r),o=r.lineHeight;this.elt(n,"height:"+o+"px;"+"top:"+s+"px;"+"left:0;right:0;"+(i||""))}}).call(s.prototype),t.Marker=s}),ace.define("ace/layer/text",["require","exports","module","ace/lib/oop","ace/lib/dom","ace/lib/lang","ace/layer/lines","ace/lib/event_emitter"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("../lib/dom"),s=e("../lib/lang"),o=e("./lines").Lines,u=e("../lib/event_emitter").EventEmitter,a=function(e){this.dom=i,this.element=this.dom.createElement("div"),this.element.className="ace_layer ace_text-layer",e.appendChild(this.element),this.$updateEolChar=this.$updateEolChar.bind(this),this.$lines=new o(this.element)};(function(){r.implement(this,u),this.EOF_CHAR="\u00b6",this.EOL_CHAR_LF="\u00ac",this.EOL_CHAR_CRLF="\u00a4",this.EOL_CHAR=this.EOL_CHAR_LF,this.TAB_CHAR="\u2014",this.SPACE_CHAR="\u00b7",this.$padding=0,this.MAX_LINE_LENGTH=1e4,this.$updateEolChar=function(){var e=this.session.doc,t=e.getNewLineCharacter()=="\n"&&e.getNewLineMode()!="windows",n=t?this.EOL_CHAR_LF:this.EOL_CHAR_CRLF;if(this.EOL_CHAR!=n)return this.EOL_CHAR=n,!0},this.setPadding=function(e){this.$padding=e,this.element.style.margin="0 "+e+"px"},this.getLineHeight=function(){return this.$fontMetrics.$characterSize.height||0},this.getCharacterWidth=function(){return this.$fontMetrics.$characterSize.width||0},this.$setFontMetrics=function(e){this.$fontMetrics=e,this.$fontMetrics.on("changeCharacterSize",function(e){this._signal("changeCharacterSize",e)}.bind(this)),this.$pollSizeChanges()},this.checkForSizeChanges=function(){this.$fontMetrics.checkForSizeChanges()},this.$pollSizeChanges=function(){return this.$pollSizeChangesTimer=this.$fontMetrics.$pollSizeChanges()},this.setSession=function(e){this.session=e,e&&this.$computeTabString()},this.showInvisibles=!1,this.setShowInvisibles=function(e){return this.showInvisibles==e?!1:(this.showInvisibles=e,this.$computeTabString(),!0)},this.displayIndentGuides=!0,this.setDisplayIndentGuides=function(e){return this.displayIndentGuides==e?!1:(this.displayIndentGuides=e,this.$computeTabString(),!0)},this.$tabStrings=[],this.onChangeTabSize=this.$computeTabString=function(){var e=this.session.getTabSize();this.tabSize=e;var t=this.$tabStrings=[0];for(var n=1;n<e+1;n++)if(this.showInvisibles){var r=this.dom.createElement("span");r.className="ace_invisible ace_invisible_tab",r.textContent=s.stringRepeat(this.TAB_CHAR,n),t.push(r)}else t.push(this.dom.createTextNode(s.stringRepeat(" ",n),this.element));if(this.displayIndentGuides){this.$indentGuideRe=/\s\S| \t|\t |\s$/;var i="ace_indent-guide",o="",u="";if(this.showInvisibles){i+=" ace_invisible",o=" ace_invisible_space",u=" ace_invisible_tab";var a=s.stringRepeat(this.SPACE_CHAR,this.tabSize),f=s.stringRepeat(this.TAB_CHAR,this.tabSize)}else var a=s.stringRepeat(" ",this.tabSize),f=a;var r=this.dom.createElement("span");r.className=i+o,r.textContent=a,this.$tabStrings[" "]=r;var r=this.dom.createElement("span");r.className=i+u,r.textContent=f,this.$tabStrings[" "]=r}},this.updateLines=function(e,t,n){if(this.config.lastRow!=e.lastRow||this.config.firstRow!=e.firstRow)return this.update(e);this.config=e;var r=Math.max(t,e.firstRow),i=Math.min(n,e.lastRow),s=this.element.childNodes,o=0;for(var u=e.firstRow;u<r;u++){var a=this.session.getFoldLine(u);if(a){if(a.containsRow(r)){r=a.start.row;break}u=a.end.row}o++}var f=!1,u=r,a=this.session.getNextFoldLine(u),l=a?a.start.row:Infinity;for(;;){u>l&&(u=a.end.row+1,a=this.session.getNextFoldLine(u,a),l=a?a.start.row:Infinity);if(u>i)break;var c=s[o++];if(c){this.dom.removeChildren(c),this.$renderLine(c,u,u==l?a:!1);var h=e.lineHeight*this.session.getRowLength(u)+"px";c.style.height!=h&&(f=!0,c.style.height=h)}u++}if(f)while(o<this.$lines.cells.length){var p=this.$lines.cells[o++];p.element.style.top=this.$lines.computeLineTop(p.row,e,this.session)+"px"}},this.scrollLines=function(e){var t=this.config;this.config=e;if(this.$lines.pageChanged(t,e))return this.update(e);this.$lines.moveContainer(e);var n=e.lastRow,r=t?t.lastRow:-1;if(!t||r<e.firstRow)return this.update(e);if(n<t.firstRow)return this.update(e);if(!t||t.lastRow<e.firstRow)return this.update(e);if(e.lastRow<t.firstRow)return this.update(e);if(t.firstRow<e.firstRow)for(var i=this.session.getFoldedRowCount(t.firstRow,e.firstRow-1);i>0;i--)this.$lines.shift();if(t.lastRow>e.lastRow)for(var i=this.session.getFoldedRowCount(e.lastRow+1,t.lastRow);i>0;i--)this.$lines.pop();e.firstRow<t.firstRow&&this.$lines.unshift(this.$renderLinesFragment(e,e.firstRow,t.firstRow-1)),e.lastRow>t.lastRow&&this.$lines.push(this.$renderLinesFragment(e,t.lastRow+1,e.lastRow))},this.$renderLinesFragment=function(e,t,n){var r=[],s=t,o=this.session.getNextFoldLine(s),u=o?o.start.row:Infinity;for(;;){s>u&&(s=o.end.row+1,o=this.session.getNextFoldLine(s,o),u=o?o.start.row:Infinity);if(s>n)break;var a=this.$lines.createCell(s,e,this.session),f=a.element;this.dom.removeChildren(f),i.setStyle(f.style,"height",this.$lines.computeLineHeight(s,e,this.session)+"px"),i.setStyle(f.style,"top",this.$lines.computeLineTop(s,e,this.session)+"px"),this.$renderLine(f,s,s==u?o:!1),this.$useLineGroups()?f.className="ace_line_group":f.className="ace_line",r.push(a),s++}return r},this.update=function(e){this.$lines.moveContainer(e),this.config=e;var t=e.firstRow,n=e.lastRow,r=this.$lines;while(r.getLength())r.pop();r.push(this.$renderLinesFragment(e,t,n))},this.$textToken={text:!0,rparen:!0,lparen:!0},this.$renderToken=function(e,t,n,r){var i=this,o=/(\t)|( +)|([\x00-\x1f\x80-\xa0\xad\u1680\u180E\u2000-\u200f\u2028\u2029\u202F\u205F\uFEFF\uFFF9-\uFFFC]+)|(\u3000)|([\u1100-\u115F\u11A3-\u11A7\u11FA-\u11FF\u2329-\u232A\u2E80-\u2E99\u2E9B-\u2EF3\u2F00-\u2FD5\u2FF0-\u2FFB\u3001-\u303E\u3041-\u3096\u3099-\u30FF\u3105-\u312D\u3131-\u318E\u3190-\u31BA\u31C0-\u31E3\u31F0-\u321E\u3220-\u3247\u3250-\u32FE\u3300-\u4DBF\u4E00-\uA48C\uA490-\uA4C6\uA960-\uA97C\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFAFF\uFE10-\uFE19\uFE30-\uFE52\uFE54-\uFE66\uFE68-\uFE6B\uFF01-\uFF60\uFFE0-\uFFE6]|[\uD800-\uDBFF][\uDC00-\uDFFF])/g,u=this.dom.createFragment(this.element),a,f=0;while(a=o.exec(r)){var l=a[1],c=a[2],h=a[3],p=a[4],d=a[5];if(!i.showInvisibles&&c)continue;var v=f!=a.index?r.slice(f,a.index):"";f=a.index+a[0].length,v&&u.appendChild(this.dom.createTextNode(v,this.element));if(l){var m=i.session.getScreenTabSize(t+a.index);u.appendChild(i.$tabStrings[m].cloneNode(!0)),t+=m-1}else if(c)if(i.showInvisibles){var g=this.dom.createElement("span");g.className="ace_invisible ace_invisible_space",g.textContent=s.stringRepeat(i.SPACE_CHAR,c.length),u.appendChild(g)}else u.appendChild(this.com.createTextNode(c,this.element));else if(h){var g=this.dom.createElement("span");g.className="ace_invisible ace_invisible_space ace_invalid",g.textContent=s.stringRepeat(i.SPACE_CHAR,h.length),u.appendChild(g)}else if(p){var y=i.showInvisibles?i.SPACE_CHAR:"";t+=1;var g=this.dom.createElement("span");g.style.width=i.config.characterWidth*2+"px",g.className=i.showInvisibles?"ace_cjk ace_invisible ace_invisible_space":"ace_cjk",g.textContent=i.showInvisibles?i.SPACE_CHAR:"",u.appendChild(g)}else if(d){t+=1;var g=this.dom.createElement("span");g.style.width=i.config.characterWidth*2+"px",g.className="ace_cjk",g.textContent=d,u.appendChild(g)}}u.appendChild(this.dom.createTextNode(f?r.slice(f):r,this.element));if(!this.$textToken[n.type]){var b="ace_"+n.type.replace(/\./g," ace_"),g=this.dom.createElement("span");n.type=="fold"&&(g.style.width=n.value.length*this.config.characterWidth+"px"),g.className=b,g.appendChild(u),e.appendChild(g)}else e.appendChild(u);return t+r.length},this.renderIndentGuide=function(e,t,n){var r=t.search(this.$indentGuideRe);if(r<=0||r>=n)return t;if(t[0]==" "){r-=r%this.tabSize;var i=r/this.tabSize;for(var s=0;s<i;s++)e.appendChild(this.$tabStrings[" "].cloneNode(!0));return t.substr(r)}if(t[0]==" "){for(var s=0;s<r;s++)e.appendChild(this.$tabStrings[" "].cloneNode(!0));return t.substr(r)}return t},this.$createLineElement=function(e){var t=this.dom.createElement("div");return t.className="ace_line",t.style.height=this.config.lineHeight+"px",t},this.$renderWrappedLine=function(e,t,n){var r=0,i=0,o=n[0],u=0,a=this.$createLineElement();e.appendChild(a);for(var f=0;f<t.length;f++){var l=t[f],c=l.value;if(f==0&&this.displayIndentGuides){r=c.length,c=this.renderIndentGuide(a,c,o);if(!c)continue;r-=c.length}if(r+c.length<o)u=this.$renderToken(a,u,l,c),r+=c.length;else{while(r+c.length>=o)u=this.$renderToken(a,u,l,c.substring(0,o-r)),c=c.substring(o-r),r=o,a=this.$createLineElement(),e.appendChild(a),a.appendChild(this.dom.createTextNode(s.stringRepeat("\u00a0",n.indent),this.element)),i++,u=0,o=n[i]||Number.MAX_VALUE;c.length!=0&&(r+=c.length,u=this.$renderToken(a,u,l,c))}}n[n.length-1]>this.MAX_LINE_LENGTH&&this.$renderOverflowMessage(a,u,null,"",!0)},this.$renderSimpleLine=function(e,t){var n=0,r=t[0],i=r.value;this.displayIndentGuides&&(i=this.renderIndentGuide(e,i)),i&&(n=this.$renderToken(e,n,r,i));for(var s=1;s<t.length;s++){r=t[s],i=r.value;if(n+i.length>this.MAX_LINE_LENGTH)return this.$renderOverflowMessage(e,n,r,i);n=this.$renderToken(e,n,r,i)}},this.$renderOverflowMessage=function(e,t,n,r,i){n&&this.$renderToken(e,t,n,r.slice(0,this.MAX_LINE_LENGTH-t));var s=this.dom.createElement("span");s.className="ace_inline_button ace_keyword ace_toggle_wrap",s.textContent=i?"<hide>":"<click to see more...>",e.appendChild(s)},this.$renderLine=function(e,t,n){!n&&n!=0&&(n=this.session.getFoldLine(t));if(n)var r=this.$getFoldLineTokens(t,n);else var r=this.session.getTokens(t);var i=e;if(r.length){var s=this.session.getRowSplitData(t);if(s&&s.length){this.$renderWrappedLine(e,r,s);var i=e.lastChild}else{var i=e;this.$useLineGroups()&&(i=this.$createLineElement(),e.appendChild(i)),this.$renderSimpleLine(i,r)}}else this.$useLineGroups()&&(i=this.$createLineElement(),e.appendChild(i));if(this.showInvisibles&&i){n&&(t=n.end.row);var o=this.dom.createElement("span");o.className="ace_invisible ace_invisible_eol",o.textContent=t==this.session.getLength()-1?this.EOF_CHAR:this.EOL_CHAR,i.appendChild(o)}},this.$getFoldLineTokens=function(e,t){function i(e,t,n){var i=0,s=0;while(s+e[i].value.length<t){s+=e[i].value.length,i++;if(i==e.length)return}if(s!=t){var o=e[i].value.substring(t-s);o.length>n-t&&(o=o.substring(0,n-t)),r.push({type:e[i].type,value:o}),s=t+o.length,i+=1}while(s<n&&i<e.length){var o=e[i].value;o.length+s>n?r.push({type:e[i].type,value:o.substring(0,n-s)}):r.push(e[i]),s+=o.length,i+=1}}var n=this.session,r=[],s=n.getTokens(e);return t.walk(function(e,t,o,u,a){e!=null?r.push({type:"fold",value:e}):(a&&(s=n.getTokens(t)),s.length&&i(s,u,o))},t.end.row,this.session.getLine(t.end.row).length),r},this.$useLineGroups=function(){return this.session.getUseWrapMode()},this.destroy=function(){}}).call(a.prototype),t.Text=a}),ace.define("ace/layer/cursor",["require","exports","module","ace/lib/dom"],function(e,t,n){"use strict";var r=e("../lib/dom"),i=function(e){this.element=r.createElement("div"),this.element.className="ace_layer ace_cursor-layer",e.appendChild(this.element),this.isVisible=!1,this.isBlinking=!0,this.blinkInterval=1e3,this.smoothBlinking=!1,this.cursors=[],this.cursor=this.addCursor(),r.addCssClass(this.element,"ace_hidden-cursors"),this.$updateCursors=this.$updateOpacity.bind(this)};(function(){this.$updateOpacity=function(e){var t=this.cursors;for(var n=t.length;n--;)r.setStyle(t[n].style,"opacity",e?"":"0")},this.$startCssAnimation=function(){var e=this.cursors;for(var t=e.length;t--;)e[t].style.animationDuration=this.blinkInterval+"ms";setTimeout(function(){r.addCssClass(this.element,"ace_animate-blinking")}.bind(this))},this.$stopCssAnimation=function(){r.removeCssClass(this.element,"ace_animate-blinking")},this.$padding=0,this.setPadding=function(e){this.$padding=e},this.setSession=function(e){this.session=e},this.setBlinking=function(e){e!=this.isBlinking&&(this.isBlinking=e,this.restartTimer())},this.setBlinkInterval=function(e){e!=this.blinkInterval&&(this.blinkInterval=e,this.restartTimer())},this.setSmoothBlinking=function(e){e!=this.smoothBlinking&&(this.smoothBlinking=e,r.setCssClass(this.element,"ace_smooth-blinking",e),this.$updateCursors(!0),this.restartTimer())},this.addCursor=function(){var e=r.createElement("div");return e.className="ace_cursor",this.element.appendChild(e),this.cursors.push(e),e},this.removeCursor=function(){if(this.cursors.length>1){var e=this.cursors.pop();return e.parentNode.removeChild(e),e}},this.hideCursor=function(){this.isVisible=!1,r.addCssClass(this.element,"ace_hidden-cursors"),this.restartTimer()},this.showCursor=function(){this.isVisible=!0,r.removeCssClass(this.element,"ace_hidden-cursors"),this.restartTimer()},this.restartTimer=function(){var e=this.$updateCursors;clearInterval(this.intervalId),clearTimeout(this.timeoutId),this.$stopCssAnimation(),this.smoothBlinking&&r.removeCssClass(this.element,"ace_smooth-blinking"),e(!0);if(!this.isBlinking||!this.blinkInterval||!this.isVisible){this.$stopCssAnimation();return}this.smoothBlinking&&setTimeout(function(){r.addCssClass(this.element,"ace_smooth-blinking")}.bind(this));if(r.HAS_CSS_ANIMATION)this.$startCssAnimation();else{var t=function(){this.timeoutId=setTimeout(function(){e(!1)},.6*this.blinkInterval)}.bind(this);this.intervalId=setInterval(function(){e(!0),t()},this.blinkInterval),t()}},this.getPixelPosition=function(e,t){if(!this.config||!this.session)return{left:0,top:0};e||(e=this.session.selection.getCursor());var n=this.session.documentToScreenPosition(e),r=this.$padding+(this.session.$bidiHandler.isBidiRow(n.row,e.row)?this.session.$bidiHandler.getPosLeft(n.column):n.column*this.config.characterWidth),i=(n.row-(t?this.config.firstRowScreen:0))*this.config.lineHeight;return{left:r,top:i}},this.isCursorInView=function(e,t){return e.top>=0&&e.top<t.maxHeight},this.update=function(e){this.config=e;var t=this.session.$selectionMarkers,n=0,i=0;if(t===undefined||t.length===0)t=[{cursor:null}];for(var n=0,s=t.length;n<s;n++){var o=this.getPixelPosition(t[n].cursor,!0);if((o.top>e.height+e.offset||o.top<0)&&n>1)continue;var u=this.cursors[i++]||this.addCursor(),a=u.style;this.drawCursor?this.drawCursor(u,o,e,t[n],this.session):this.isCursorInView(o,e)?(r.setStyle(a,"display","block"),r.translate(u,o.left,o.top),r.setStyle(a,"width",Math.round(e.characterWidth)+"px"),r.setStyle(a,"height",e.lineHeight+"px")):r.setStyle(a,"display","none")}while(this.cursors.length>i)this.removeCursor();var f=this.session.getOverwrite();this.$setOverwrite(f),this.$pixelPos=o,this.restartTimer()},this.drawCursor=null,this.$setOverwrite=function(e){e!=this.overwrite&&(this.overwrite=e,e?r.addCssClass(this.element,"ace_overwrite-cursors"):r.removeCssClass(this.element,"ace_overwrite-cursors"))},this.destroy=function(){clearInterval(this.intervalId),clearTimeout(this.timeoutId)}}).call(i.prototype),t.Cursor=i}),ace.define("ace/scrollbar",["require","exports","module","ace/lib/oop","ace/lib/dom","ace/lib/event","ace/lib/event_emitter"],function(e,t,n){"use strict";var r=e("./lib/oop"),i=e("./lib/dom"),s=e("./lib/event"),o=e("./lib/event_emitter").EventEmitter,u=32768,a=function(e){this.element=i.createElement("div"),this.element.className="ace_scrollbar ace_scrollbar"+this.classSuffix,this.inner=i.createElement("div"),this.inner.className="ace_scrollbar-inner",this.inner.textContent="\u00a0",this.element.appendChild(this.inner),e.appendChild(this.element),this.setVisible(!1),this.skipEvent=!1,s.addListener(this.element,"scroll",this.onScroll.bind(this)),s.addListener(this.element,"mousedown",s.preventDefault)};(function(){r.implement(this,o),this.setVisible=function(e){this.element.style.display=e?"":"none",this.isVisible=e,this.coeff=1}}).call(a.prototype);var f=function(e,t){a.call(this,e),this.scrollTop=0,this.scrollHeight=0,t.$scrollbarWidth=this.width=i.scrollbarWidth(e.ownerDocument),this.inner.style.width=this.element.style.width=(this.width||15)+5+"px",this.$minWidth=0};r.inherits(f,a),function(){this.classSuffix="-v",this.onScroll=function(){if(!this.skipEvent){this.scrollTop=this.element.scrollTop;if(this.coeff!=1){var e=this.element.clientHeight/this.scrollHeight;this.scrollTop=this.scrollTop*(1-e)/(this.coeff-e)}this._emit("scroll",{data:this.scrollTop})}this.skipEvent=!1},this.getWidth=function(){return Math.max(this.isVisible?this.width:0,this.$minWidth||0)},this.setHeight=function(e){this.element.style.height=e+"px"},this.setInnerHeight=this.setScrollHeight=function(e){this.scrollHeight=e,e>u?(this.coeff=u/e,e=u):this.coeff!=1&&(this.coeff=1),this.inner.style.height=e+"px"},this.setScrollTop=function(e){this.scrollTop!=e&&(this.skipEvent=!0,this.scrollTop=e,this.element.scrollTop=e*this.coeff)}}.call(f.prototype);var l=function(e,t){a.call(this,e),this.scrollLeft=0,this.height=t.$scrollbarWidth,this.inner.style.height=this.element.style.height=(this.height||15)+5+"px"};r.inherits(l,a),function(){this.classSuffix="-h",this.onScroll=function(){this.skipEvent||(this.scrollLeft=this.element.scrollLeft,this._emit("scroll",{data:this.scrollLeft})),this.skipEvent=!1},this.getHeight=function(){return this.isVisible?this.height:0},this.setWidth=function(e){this.element.style.width=e+"px"},this.setInnerWidth=function(e){this.inner.style.width=e+"px"},this.setScrollWidth=function(e){this.inner.style.width=e+"px"},this.setScrollLeft=function(e){this.scrollLeft!=e&&(this.skipEvent=!0,this.scrollLeft=this.element.scrollLeft=e)}}.call(l.prototype),t.ScrollBar=f,t.ScrollBarV=f,t.ScrollBarH=l,t.VScrollBar=f,t.HScrollBar=l}),ace.define("ace/renderloop",["require","exports","module","ace/lib/event"],function(e,t,n){"use strict";var r=e("./lib/event"),i=function(e,t){this.onRender=e,this.pending=!1,this.changes=0,this.$recursionLimit=2,this.window=t||window;var n=this;this._flush=function(e){n.pending=!1;var t=n.changes;t&&(r.blockIdle(100),n.changes=0,n.onRender(t));if(n.changes){if(n.$recursionLimit--<0)return;n.schedule()}else n.$recursionLimit=2}};(function(){this.schedule=function(e){this.changes=this.changes|e,this.changes&&!this.pending&&(r.nextFrame(this._flush),this.pending=!0)},this.clear=function(e){var t=this.changes;return this.changes=0,t}}).call(i.prototype),t.RenderLoop=i}),ace.define("ace/layer/font_metrics",["require","exports","module","ace/lib/oop","ace/lib/dom","ace/lib/lang","ace/lib/event","ace/lib/useragent","ace/lib/event_emitter"],function(e,t,n){var r=e("../lib/oop"),i=e("../lib/dom"),s=e("../lib/lang"),o=e("../lib/event"),u=e("../lib/useragent"),a=e("../lib/event_emitter").EventEmitter,f=256,l=typeof ResizeObserver=="function",c=200,h=t.FontMetrics=function(e){this.el=i.createElement("div"),this.$setMeasureNodeStyles(this.el.style,!0),this.$main=i.createElement("div"),this.$setMeasureNodeStyles(this.$main.style),this.$measureNode=i.createElement("div"),this.$setMeasureNodeStyles(this.$measureNode.style),this.el.appendChild(this.$main),this.el.appendChild(this.$measureNode),e.appendChild(this.el),this.$measureNode.innerHTML=s.stringRepeat("X",f),this.$characterSize={width:0,height:0},l?this.$addObserver():this.checkForSizeChanges()};(function(){r.implement(this,a),this.$characterSize={width:0,height:0},this.$setMeasureNodeStyles=function(e,t){e.width=e.height="auto",e.left=e.top="0px",e.visibility="hidden",e.position="absolute",e.whiteSpace="pre",u.isIE<8?e["font-family"]="inherit":e.font="inherit",e.overflow=t?"hidden":"visible"},this.checkForSizeChanges=function(e){e===undefined&&(e=this.$measureSizes());if(e&&(this.$characterSize.width!==e.width||this.$characterSize.height!==e.height)){this.$measureNode.style.fontWeight="bold";var t=this.$measureSizes();this.$measureNode.style.fontWeight="",this.$characterSize=e,this.charSizes=Object.create(null),this.allowBoldFonts=t&&t.width===e.width&&t.height===e.height,this._emit("changeCharacterSize",{data:e})}},this.$addObserver=function(){var e=this;this.$observer=new window.ResizeObserver(function(t){var n=t[0].contentRect;e.checkForSizeChanges({height:n.height,width:n.width/f})}),this.$observer.observe(this.$measureNode)},this.$pollSizeChanges=function(){if(this.$pollSizeChangesTimer||this.$observer)return this.$pollSizeChangesTimer;var e=this;return this.$pollSizeChangesTimer=o.onIdle(function t(){e.checkForSizeChanges(),o.onIdle(t,500)},500)},this.setPolling=function(e){e?this.$pollSizeChanges():this.$pollSizeChangesTimer&&(clearInterval(this.$pollSizeChangesTimer),this.$pollSizeChangesTimer=0)},this.$measureSizes=function(e){var t={height:(e||this.$measureNode).clientHeight,width:(e||this.$measureNode).clientWidth/f};return t.width===0||t.height===0?null:t},this.$measureCharWidth=function(e){this.$main.innerHTML=s.stringRepeat(e,f);var t=this.$main.getBoundingClientRect();return t.width/f},this.getCharacterWidth=function(e){var t=this.charSizes[e];return t===undefined&&(t=this.charSizes[e]=this.$measureCharWidth(e)/this.$characterSize.width),t},this.destroy=function(){clearInterval(this.$pollSizeChangesTimer),this.$observer&&this.$observer.disconnect(),this.el&&this.el.parentNode&&this.el.parentNode.removeChild(this.el)},this.$getZoom=function e(t){return t?(window.getComputedStyle(t).zoom||1)*e(t.parentElement):1},this.$initTransformMeasureNodes=function(){var e=function(e,t){return["div",{style:"position: absolute;top:"+e+"px;left:"+t+"px;"}]};this.els=i.buildDom([e(0,0),e(c,0),e(0,c),e(c,c)],this.el)},this.transformCoordinates=function(e,t){function r(e,t,n){var r=e[1]*t[0]-e[0]*t[1];return[(-t[1]*n[0]+t[0]*n[1])/r,(+e[1]*n[0]-e[0]*n[1])/r]}function i(e,t){return[e[0]-t[0],e[1]-t[1]]}function s(e,t){return[e[0]+t[0],e[1]+t[1]]}function o(e,t){return[e*t[0],e*t[1]]}function u(e){var t=e.getBoundingClientRect();return[t.left,t.top]}if(e){var n=this.$getZoom(this.el);e=o(1/n,e)}this.els||this.$initTransformMeasureNodes();var a=u(this.els[0]),f=u(this.els[1]),l=u(this.els[2]),h=u(this.els[3]),p=r(i(h,f),i(h,l),i(s(f,l),s(h,a))),d=o(1+p[0],i(f,a)),v=o(1+p[1],i(l,a));if(t){var m=t,g=p[0]*m[0]/c+p[1]*m[1]/c+1,y=s(o(m[0],d),o(m[1],v));return s(o(1/g/c,y),a)}var b=i(e,a),w=r(i(d,o(p[0],b)),i(v,o(p[1],b)),b);return o(c,w)}}).call(h.prototype)}),ace.define("ace/virtual_renderer",["require","exports","module","ace/lib/oop","ace/lib/dom","ace/config","ace/layer/gutter","ace/layer/marker","ace/layer/text","ace/layer/cursor","ace/scrollbar","ace/scrollbar","ace/renderloop","ace/layer/font_metrics","ace/lib/event_emitter","ace/lib/useragent"],function(e,t,n){"use strict";var r=e("./lib/oop"),i=e("./lib/dom"),s=e("./config"),o=e("./layer/gutter").Gutter,u=e("./layer/marker").Marker,a=e("./layer/text").Text,f=e("./layer/cursor").Cursor,l=e("./scrollbar").HScrollBar,c=e("./scrollbar").VScrollBar,h=e("./renderloop").RenderLoop,p=e("./layer/font_metrics").FontMetrics,d=e("./lib/event_emitter").EventEmitter,v='.ace_br1 {border-top-left-radius : 3px;}.ace_br2 {border-top-right-radius : 3px;}.ace_br3 {border-top-left-radius : 3px; border-top-right-radius: 3px;}.ace_br4 {border-bottom-right-radius: 3px;}.ace_br5 {border-top-left-radius : 3px; border-bottom-right-radius: 3px;}.ace_br6 {border-top-right-radius : 3px; border-bottom-right-radius: 3px;}.ace_br7 {border-top-left-radius : 3px; border-top-right-radius: 3px; border-bottom-right-radius: 3px;}.ace_br8 {border-bottom-left-radius : 3px;}.ace_br9 {border-top-left-radius : 3px; border-bottom-left-radius: 3px;}.ace_br10{border-top-right-radius : 3px; border-bottom-left-radius: 3px;}.ace_br11{border-top-left-radius : 3px; border-top-right-radius: 3px; border-bottom-left-radius: 3px;}.ace_br12{border-bottom-right-radius: 3px; border-bottom-left-radius: 3px;}.ace_br13{border-top-left-radius : 3px; border-bottom-right-radius: 3px; border-bottom-left-radius: 3px;}.ace_br14{border-top-right-radius : 3px; border-bottom-right-radius: 3px; border-bottom-left-radius: 3px;}.ace_br15{border-top-left-radius : 3px; border-top-right-radius: 3px; border-bottom-right-radius: 3px; border-bottom-left-radius: 3px;}.ace_editor {position: relative;overflow: hidden;font: 12px/normal \'Monaco\', \'Menlo\', \'Ubuntu Mono\', \'Consolas\', \'source-code-pro\', monospace;direction: ltr;text-align: left;-webkit-tap-highlight-color: rgba(0, 0, 0, 0);}.ace_scroller {position: absolute;overflow: hidden;top: 0;bottom: 0;background-color: inherit;-ms-user-select: none;-moz-user-select: none;-webkit-user-select: none;user-select: none;cursor: text;}.ace_content {position: absolute;box-sizing: border-box;min-width: 100%;contain: style size layout;}.ace_dragging .ace_scroller:before{position: absolute;top: 0;left: 0;right: 0;bottom: 0;content: \'\';background: rgba(250, 250, 250, 0.01);z-index: 1000;}.ace_dragging.ace_dark .ace_scroller:before{background: rgba(0, 0, 0, 0.01);}.ace_selecting, .ace_selecting * {cursor: text !important;}.ace_gutter {position: absolute;overflow : hidden;width: auto;top: 0;bottom: 0;left: 0;cursor: default;z-index: 4;-ms-user-select: none;-moz-user-select: none;-webkit-user-select: none;user-select: none;contain: style size layout;}.ace_gutter-active-line {position: absolute;left: 0;right: 0;}.ace_scroller.ace_scroll-left {box-shadow: 17px 0 16px -16px rgba(0, 0, 0, 0.4) inset;}.ace_gutter-cell {position: absolute;top: 0;left: 0;right: 0;padding-left: 19px;padding-right: 6px;background-repeat: no-repeat;}.ace_gutter-cell.ace_error {background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAMAAAAoLQ9TAAABOFBMVEX/////////QRswFAb/Ui4wFAYwFAYwFAaWGAfDRymzOSH/PxswFAb/SiUwFAYwFAbUPRvjQiDllog5HhHdRybsTi3/Tyv9Tir+Syj/UC3////XurebMBIwFAb/RSHbPx/gUzfdwL3kzMivKBAwFAbbvbnhPx66NhowFAYwFAaZJg8wFAaxKBDZurf/RB6mMxb/SCMwFAYwFAbxQB3+RB4wFAb/Qhy4Oh+4QifbNRcwFAYwFAYwFAb/QRzdNhgwFAYwFAbav7v/Uy7oaE68MBK5LxLewr/r2NXewLswFAaxJw4wFAbkPRy2PyYwFAaxKhLm1tMwFAazPiQwFAaUGAb/QBrfOx3bvrv/VC/maE4wFAbRPBq6MRO8Qynew8Dp2tjfwb0wFAbx6eju5+by6uns4uH9/f36+vr/GkHjAAAAYnRSTlMAGt+64rnWu/bo8eAA4InH3+DwoN7j4eLi4xP99Nfg4+b+/u9B/eDs1MD1mO7+4PHg2MXa347g7vDizMLN4eG+Pv7i5evs/v79yu7S3/DV7/498Yv24eH+4ufQ3Ozu/v7+y13sRqwAAADLSURBVHjaZc/XDsFgGIBhtDrshlitmk2IrbHFqL2pvXf/+78DPokj7+Fz9qpU/9UXJIlhmPaTaQ6QPaz0mm+5gwkgovcV6GZzd5JtCQwgsxoHOvJO15kleRLAnMgHFIESUEPmawB9ngmelTtipwwfASilxOLyiV5UVUyVAfbG0cCPHig+GBkzAENHS0AstVF6bacZIOzgLmxsHbt2OecNgJC83JERmePUYq8ARGkJx6XtFsdddBQgZE2nPR6CICZhawjA4Fb/chv+399kfR+MMMDGOQAAAABJRU5ErkJggg==");background-repeat: no-repeat;background-position: 2px center;}.ace_gutter-cell.ace_warning {background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAMAAAAoLQ9TAAAAmVBMVEX///8AAAD///8AAAAAAABPSzb/5sAAAAB/blH/73z/ulkAAAAAAAD85pkAAAAAAAACAgP/vGz/rkDerGbGrV7/pkQICAf////e0IsAAAD/oED/qTvhrnUAAAD/yHD/njcAAADuv2r/nz//oTj/p064oGf/zHAAAAA9Nir/tFIAAAD/tlTiuWf/tkIAAACynXEAAAAAAAAtIRW7zBpBAAAAM3RSTlMAABR1m7RXO8Ln31Z36zT+neXe5OzooRDfn+TZ4p3h2hTf4t3k3ucyrN1K5+Xaks52Sfs9CXgrAAAAjklEQVR42o3PbQ+CIBQFYEwboPhSYgoYunIqqLn6/z8uYdH8Vmdnu9vz4WwXgN/xTPRD2+sgOcZjsge/whXZgUaYYvT8QnuJaUrjrHUQreGczuEafQCO/SJTufTbroWsPgsllVhq3wJEk2jUSzX3CUEDJC84707djRc5MTAQxoLgupWRwW6UB5fS++NV8AbOZgnsC7BpEAAAAABJRU5ErkJggg==");background-position: 2px center;}.ace_gutter-cell.ace_info {background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAAAAAA6mKC9AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAAJ0Uk5TAAB2k804AAAAPklEQVQY02NgIB68QuO3tiLznjAwpKTgNyDbMegwisCHZUETUZV0ZqOquBpXj2rtnpSJT1AEnnRmL2OgGgAAIKkRQap2htgAAAAASUVORK5CYII=");background-position: 2px center;}.ace_dark .ace_gutter-cell.ace_info {background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQBAMAAADt3eJSAAAAJFBMVEUAAAChoaGAgIAqKiq+vr6tra1ZWVmUlJSbm5s8PDxubm56enrdgzg3AAAAAXRSTlMAQObYZgAAAClJREFUeNpjYMAPdsMYHegyJZFQBlsUlMFVCWUYKkAZMxZAGdxlDMQBAG+TBP4B6RyJAAAAAElFTkSuQmCC");}.ace_scrollbar {contain: strict;position: absolute;right: 0;bottom: 0;z-index: 6;}.ace_scrollbar-inner {position: absolute;cursor: text;left: 0;top: 0;}.ace_scrollbar-v{overflow-x: hidden;overflow-y: scroll;top: 0;}.ace_scrollbar-h {overflow-x: scroll;overflow-y: hidden;left: 0;}.ace_print-margin {position: absolute;height: 100%;}.ace_text-input {position: absolute;z-index: 0;width: 0.5em;height: 1em;opacity: 0;background: transparent;-moz-appearance: none;appearance: none;border: none;resize: none;outline: none;overflow: hidden;font: inherit;padding: 0 1px;margin: 0 -1px;contain: strict;-ms-user-select: text;-moz-user-select: text;-webkit-user-select: text;user-select: text;white-space: pre!important;}.ace_text-input.ace_composition {background: transparent;color: inherit;z-index: 1000;opacity: 1;}.ace_composition_placeholder { color: transparent }.ace_composition_marker { border-bottom: 1px solid;position: absolute;border-radius: 0;margin-top: 1px;}[ace_nocontext=true] {transform: none!important;filter: none!important;perspective: none!important;clip-path: none!important;mask : none!important;contain: none!important;perspective: none!important;mix-blend-mode: initial!important;z-index: auto;}.ace_layer {z-index: 1;position: absolute;overflow: hidden;word-wrap: normal;white-space: pre;height: 100%;width: 100%;box-sizing: border-box;pointer-events: none;}.ace_gutter-layer {position: relative;width: auto;text-align: right;pointer-events: auto;height: 1000000px;contain: style size layout;}.ace_text-layer {font: inherit !important;position: absolute;height: 1000000px;width: 1000000px;contain: style size layout;}.ace_text-layer > .ace_line, .ace_text-layer > .ace_line_group {contain: style size layout;position: absolute;top: 0;left: 0;right: 0;}.ace_hidpi .ace_text-layer,.ace_hidpi .ace_gutter-layer,.ace_hidpi .ace_content,.ace_hidpi .ace_gutter {contain: strict;will-change: transform;}.ace_hidpi .ace_text-layer > .ace_line, .ace_hidpi .ace_text-layer > .ace_line_group {contain: strict;}.ace_cjk {display: inline-block;text-align: center;}.ace_cursor-layer {z-index: 4;}.ace_cursor {z-index: 4;position: absolute;box-sizing: border-box;border-left: 2px solid;transform: translatez(0);}.ace_multiselect .ace_cursor {border-left-width: 1px;}.ace_slim-cursors .ace_cursor {border-left-width: 1px;}.ace_overwrite-cursors .ace_cursor {border-left-width: 0;border-bottom: 1px solid;}.ace_hidden-cursors .ace_cursor {opacity: 0.2;}.ace_smooth-blinking .ace_cursor {transition: opacity 0.18s;}.ace_animate-blinking .ace_cursor {animation-duration: 1000ms;animation-timing-function: step-end;animation-name: blink-ace-animate;animation-iteration-count: infinite;}.ace_animate-blinking.ace_smooth-blinking .ace_cursor {animation-duration: 1000ms;animation-timing-function: ease-in-out;animation-name: blink-ace-animate-smooth;}@keyframes blink-ace-animate {from, to { opacity: 1; }60% { opacity: 0; }}@keyframes blink-ace-animate-smooth {from, to { opacity: 1; }45% { opacity: 1; }60% { opacity: 0; }85% { opacity: 0; }}.ace_marker-layer .ace_step, .ace_marker-layer .ace_stack {position: absolute;z-index: 3;}.ace_marker-layer .ace_selection {position: absolute;z-index: 5;}.ace_marker-layer .ace_bracket {position: absolute;z-index: 6;}.ace_marker-layer .ace_active-line {position: absolute;z-index: 2;}.ace_marker-layer .ace_selected-word {position: absolute;z-index: 4;box-sizing: border-box;}.ace_line .ace_fold {box-sizing: border-box;display: inline-block;height: 11px;margin-top: -2px;vertical-align: middle;background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABEAAAAJCAYAAADU6McMAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAJpJREFUeNpi/P//PwOlgAXGYGRklAVSokD8GmjwY1wasKljQpYACtpCFeADcHVQfQyMQAwzwAZI3wJKvCLkfKBaMSClBlR7BOQikCFGQEErIH0VqkabiGCAqwUadAzZJRxQr/0gwiXIal8zQQPnNVTgJ1TdawL0T5gBIP1MUJNhBv2HKoQHHjqNrA4WO4zY0glyNKLT2KIfIMAAQsdgGiXvgnYAAAAASUVORK5CYII="),url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAA3CAYAAADNNiA5AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAACJJREFUeNpi+P//fxgTAwPDBxDxD078RSX+YeEyDFMCIMAAI3INmXiwf2YAAAAASUVORK5CYII=");background-repeat: no-repeat, repeat-x;background-position: center center, top left;color: transparent;border: 1px solid black;border-radius: 2px;cursor: pointer;pointer-events: auto;}.ace_dark .ace_fold {}.ace_fold:hover{background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABEAAAAJCAYAAADU6McMAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAJpJREFUeNpi/P//PwOlgAXGYGRklAVSokD8GmjwY1wasKljQpYACtpCFeADcHVQfQyMQAwzwAZI3wJKvCLkfKBaMSClBlR7BOQikCFGQEErIH0VqkabiGCAqwUadAzZJRxQr/0gwiXIal8zQQPnNVTgJ1TdawL0T5gBIP1MUJNhBv2HKoQHHjqNrA4WO4zY0glyNKLT2KIfIMAAQsdgGiXvgnYAAAAASUVORK5CYII="),url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAA3CAYAAADNNiA5AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAACBJREFUeNpi+P//fz4TAwPDZxDxD5X4i5fLMEwJgAADAEPVDbjNw87ZAAAAAElFTkSuQmCC");}.ace_tooltip {background-color: #FFF;background-image: linear-gradient(to bottom, transparent, rgba(0, 0, 0, 0.1));border: 1px solid gray;border-radius: 1px;box-shadow: 0 1px 2px rgba(0, 0, 0, 0.3);color: black;max-width: 100%;padding: 3px 4px;position: fixed;z-index: 999999;box-sizing: border-box;cursor: default;white-space: pre;word-wrap: break-word;line-height: normal;font-style: normal;font-weight: normal;letter-spacing: normal;pointer-events: none;}.ace_folding-enabled > .ace_gutter-cell {padding-right: 13px;}.ace_fold-widget {box-sizing: border-box;margin: 0 -12px 0 1px;display: none;width: 11px;vertical-align: top;background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAAFCAYAAACNbyblAAAANElEQVR42mWKsQ0AMAzC8ixLlrzQjzmBiEjp0A6WwBCSPgKAXoLkqSot7nN3yMwR7pZ32NzpKkVoDBUxKAAAAABJRU5ErkJggg==");background-repeat: no-repeat;background-position: center;border-radius: 3px;border: 1px solid transparent;cursor: pointer;}.ace_folding-enabled .ace_fold-widget {display: inline-block; }.ace_fold-widget.ace_end {background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAAFCAYAAACNbyblAAAANElEQVR42m3HwQkAMAhD0YzsRchFKI7sAikeWkrxwScEB0nh5e7KTPWimZki4tYfVbX+MNl4pyZXejUO1QAAAABJRU5ErkJggg==");}.ace_fold-widget.ace_closed {background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAMAAAAGCAYAAAAG5SQMAAAAOUlEQVR42jXKwQkAMAgDwKwqKD4EwQ26sSOkVWjgIIHAzPiCgaqiqnJHZnKICBERHN194O5b9vbLuAVRL+l0YWnZAAAAAElFTkSuQmCCXA==");}.ace_fold-widget:hover {border: 1px solid rgba(0, 0, 0, 0.3);background-color: rgba(255, 255, 255, 0.2);box-shadow: 0 1px 1px rgba(255, 255, 255, 0.7);}.ace_fold-widget:active {border: 1px solid rgba(0, 0, 0, 0.4);background-color: rgba(0, 0, 0, 0.05);box-shadow: 0 1px 1px rgba(255, 255, 255, 0.8);}.ace_dark .ace_fold-widget {background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAAFCAYAAACNbyblAAAAHklEQVQIW2P4//8/AzoGEQ7oGCaLLAhWiSwB146BAQCSTPYocqT0AAAAAElFTkSuQmCC");}.ace_dark .ace_fold-widget.ace_end {background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAAFCAYAAACNbyblAAAAH0lEQVQIW2P4//8/AxQ7wNjIAjDMgC4AxjCVKBirIAAF0kz2rlhxpAAAAABJRU5ErkJggg==");}.ace_dark .ace_fold-widget.ace_closed {background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAMAAAAFCAYAAACAcVaiAAAAHElEQVQIW2P4//+/AxAzgDADlOOAznHAKgPWAwARji8UIDTfQQAAAABJRU5ErkJggg==");}.ace_dark .ace_fold-widget:hover {box-shadow: 0 1px 1px rgba(255, 255, 255, 0.2);background-color: rgba(255, 255, 255, 0.1);}.ace_dark .ace_fold-widget:active {box-shadow: 0 1px 1px rgba(255, 255, 255, 0.2);}.ace_inline_button {border: 1px solid lightgray;display: inline-block;margin: -1px 8px;padding: 0 5px;pointer-events: auto;cursor: pointer;}.ace_inline_button:hover {border-color: gray;background: rgba(200,200,200,0.2);display: inline-block;pointer-events: auto;}.ace_fold-widget.ace_invalid {background-color: #FFB4B4;border-color: #DE5555;}.ace_fade-fold-widgets .ace_fold-widget {transition: opacity 0.4s ease 0.05s;opacity: 0;}.ace_fade-fold-widgets:hover .ace_fold-widget {transition: opacity 0.05s ease 0.05s;opacity:1;}.ace_underline {text-decoration: underline;}.ace_bold {font-weight: bold;}.ace_nobold .ace_bold {font-weight: normal;}.ace_italic {font-style: italic;}.ace_error-marker {background-color: rgba(255, 0, 0,0.2);position: absolute;z-index: 9;}.ace_highlight-marker {background-color: rgba(255, 255, 0,0.2);position: absolute;z-index: 8;}',m=e("./lib/useragent"),g=m.isIE;i.importCssString(v,"ace_editor.css");var y=function(e,t){var n=this;this.container=e||i.createElement("div"),i.addCssClass(this.container,"ace_editor"),i.HI_DPI&&i.addCssClass(this.container,"ace_hidpi"),this.setTheme(t),this.$gutter=i.createElement("div"),this.$gutter.className="ace_gutter",this.container.appendChild(this.$gutter),this.$gutter.setAttribute("aria-hidden",!0),this.scroller=i.createElement("div"),this.scroller.className="ace_scroller",this.container.appendChild(this.scroller),this.content=i.createElement("div"),this.content.className="ace_content",this.scroller.appendChild(this.content),this.$gutterLayer=new o(this.$gutter),this.$gutterLayer.on("changeGutterWidth",this.onGutterResize.bind(this)),this.$markerBack=new u(this.content);var r=this.$textLayer=new a(this.content);this.canvas=r.element,this.$markerFront=new u(this.content),this.$cursorLayer=new f(this.content),this.$horizScroll=!1,this.$vScroll=!1,this.scrollBar=this.scrollBarV=new c(this.container,this),this.scrollBarH=new l(this.container,this),this.scrollBarV.addEventListener("scroll",function(e){n.$scrollAnimation||n.session.setScrollTop(e.data-n.scrollMargin.top)}),this.scrollBarH.addEventListener("scroll",function(e){n.$scrollAnimation||n.session.setScrollLeft(e.data-n.scrollMargin.left)}),this.scrollTop=0,this.scrollLeft=0,this.cursorPos={row:0,column:0},this.$fontMetrics=new p(this.container),this.$textLayer.$setFontMetrics(this.$fontMetrics),this.$textLayer.addEventListener("changeCharacterSize",function(e){n.updateCharacterSize(),n.onResize(!0,n.gutterWidth,n.$size.width,n.$size.height),n._signal("changeCharacterSize",e)}),this.$size={width:0,height:0,scrollerHeight:0,scrollerWidth:0,$dirty:!0},this.layerConfig={width:1,padding:0,firstRow:0,firstRowScreen:0,lastRow:0,lineHeight:0,characterWidth:0,minHeight:1,maxHeight:1,offset:0,height:1,gutterOffset:1},this.scrollMargin={left:0,right:0,top:0,bottom:0,v:0,h:0},this.margin={left:0,right:0,top:0,bottom:0,v:0,h:0},this.$keepTextAreaAtCursor=!m.isIOS,this.$loop=new h(this.$renderChanges.bind(this),this.container.ownerDocument.defaultView),this.$loop.schedule(this.CHANGE_FULL),this.updateCharacterSize(),this.setPadding(4),s.resetOptions(this),s._signal("renderer",this)};(function(){this.CHANGE_CURSOR=1,this.CHANGE_MARKER=2,this.CHANGE_GUTTER=4,this.CHANGE_SCROLL=8,this.CHANGE_LINES=16,this.CHANGE_TEXT=32,this.CHANGE_SIZE=64,this.CHANGE_MARKER_BACK=128,this.CHANGE_MARKER_FRONT=256,this.CHANGE_FULL=512,this.CHANGE_H_SCROLL=1024,r.implement(this,d),this.updateCharacterSize=function(){this.$textLayer.allowBoldFonts!=this.$allowBoldFonts&&(this.$allowBoldFonts=this.$textLayer.allowBoldFonts,this.setStyle("ace_nobold",!this.$allowBoldFonts)),this.layerConfig.characterWidth=this.characterWidth=this.$textLayer.getCharacterWidth(),this.layerConfig.lineHeight=this.lineHeight=this.$textLayer.getLineHeight(),this.$updatePrintMargin()},this.setSession=function(e){this.session&&this.session.doc.off("changeNewLineMode",this.onChangeNewLineMode),this.session=e,e&&this.scrollMargin.top&&e.getScrollTop()<=0&&e.setScrollTop(-this.scrollMargin.top),this.$cursorLayer.setSession(e),this.$markerBack.setSession(e),this.$markerFront.setSession(e),this.$gutterLayer.setSession(e),this.$textLayer.setSession(e);if(!e)return;this.$loop.schedule(this.CHANGE_FULL),this.session.$setFontMetrics(this.$fontMetrics),this.scrollBarH.scrollLeft=this.scrollBarV.scrollTop=null,this.onChangeNewLineMode=this.onChangeNewLineMode.bind(this),this.onChangeNewLineMode(),this.session.doc.on("changeNewLineMode",this.onChangeNewLineMode)},this.updateLines=function(e,t,n){t===undefined&&(t=Infinity),this.$changedLines?(this.$changedLines.firstRow>e&&(this.$changedLines.firstRow=e),this.$changedLines.lastRow<t&&(this.$changedLines.lastRow=t)):this.$changedLines={firstRow:e,lastRow:t};if(this.$changedLines.lastRow<this.layerConfig.firstRow){if(!n)return;this.$changedLines.lastRow=this.layerConfig.lastRow}if(this.$changedLines.firstRow>this.layerConfig.lastRow)return;this.$loop.schedule(this.CHANGE_LINES)},this.onChangeNewLineMode=function(){this.$loop.schedule(this.CHANGE_TEXT),this.$textLayer.$updateEolChar(),this.session.$bidiHandler.setEolChar(this.$textLayer.EOL_CHAR)},this.onChangeTabSize=function(){this.$loop.schedule(this.CHANGE_TEXT|this.CHANGE_MARKER),this.$textLayer.onChangeTabSize()},this.updateText=function(){this.$loop.schedule(this.CHANGE_TEXT)},this.updateFull=function(e){e?this.$renderChanges(this.CHANGE_FULL,!0):this.$loop.schedule(this.CHANGE_FULL)},this.updateFontSize=function(){this.$textLayer.checkForSizeChanges()},this.$changes=0,this.$updateSizeAsync=function(){this.$loop.pending?this.$size.$dirty=!0:this.onResize()},this.onResize=function(e,t,n,r){if(this.resizing>2)return;this.resizing>0?this.resizing++:this.resizing=e?1:0;var i=this.container;r||(r=i.clientHeight||i.scrollHeight),n||(n=i.clientWidth||i.scrollWidth);var s=this.$updateCachedSize(e,t,n,r);if(!this.$size.scrollerHeight||!n&&!r)return this.resizing=0;e&&(this.$gutterLayer.$padding=null),e?this.$renderChanges(s|this.$changes,!0):this.$loop.schedule(s|this.$changes),this.resizing&&(this.resizing=0),this.scrollBarV.scrollLeft=this.scrollBarV.scrollTop=null},this.$updateCachedSize=function(e,t,n,r){r-=this.$extraHeight||0;var s=0,o=this.$size,u={width:o.width,height:o.height,scrollerHeight:o.scrollerHeight,scrollerWidth:o.scrollerWidth};r&&(e||o.height!=r)&&(o.height=r,s|=this.CHANGE_SIZE,o.scrollerHeight=o.height,this.$horizScroll&&(o.scrollerHeight-=this.scrollBarH.getHeight()),this.scrollBarV.element.style.bottom=this.scrollBarH.getHeight()+"px",s|=this.CHANGE_SCROLL);if(n&&(e||o.width!=n)){s|=this.CHANGE_SIZE,o.width=n,t==null&&(t=this.$showGutter?this.$gutter.offsetWidth:0),this.gutterWidth=t,i.setStyle(this.scrollBarH.element.style,"left",t+"px"),i.setStyle(this.scroller.style,"left",t+this.margin.left+"px"),o.scrollerWidth=Math.max(0,n-t-this.scrollBarV.getWidth()-this.margin.h),i.setStyle(this.$gutter.style,"left",this.margin.left+"px");var a=this.scrollBarV.getWidth()+"px";i.setStyle(this.scrollBarH.element.style,"right",a),i.setStyle(this.scroller.style,"right",a),i.setStyle(this.scroller.style,"bottom",this.scrollBarH.getHeight());if(this.session&&this.session.getUseWrapMode()&&this.adjustWrapLimit()||e)s|=this.CHANGE_FULL}return o.$dirty=!n||!r,s&&this._signal("resize",u),s},this.onGutterResize=function(e){var t=this.$showGutter?e:0;t!=this.gutterWidth&&(this.$changes|=this.$updateCachedSize(!0,t,this.$size.width,this.$size.height)),this.session.getUseWrapMode()&&this.adjustWrapLimit()?this.$loop.schedule(this.CHANGE_FULL):this.$size.$dirty?this.$loop.schedule(this.CHANGE_FULL):this.$computeLayerConfig()},this.adjustWrapLimit=function(){var e=this.$size.scrollerWidth-this.$padding*2,t=Math.floor(e/this.characterWidth);return this.session.adjustWrapLimit(t,this.$showPrintMargin&&this.$printMarginColumn)},this.setAnimatedScroll=function(e){this.setOption("animatedScroll",e)},this.getAnimatedScroll=function(){return this.$animatedScroll},this.setShowInvisibles=function(e){this.setOption("showInvisibles",e),this.session.$bidiHandler.setShowInvisibles(e)},this.getShowInvisibles=function(){return this.getOption("showInvisibles")},this.getDisplayIndentGuides=function(){return this.getOption("displayIndentGuides")},this.setDisplayIndentGuides=function(e){this.setOption("displayIndentGuides",e)},this.setShowPrintMargin=function(e){this.setOption("showPrintMargin",e)},this.getShowPrintMargin=function(){return this.getOption("showPrintMargin")},this.setPrintMarginColumn=function(e){this.setOption("printMarginColumn",e)},this.getPrintMarginColumn=function(){return this.getOption("printMarginColumn")},this.getShowGutter=function(){return this.getOption("showGutter")},this.setShowGutter=function(e){return this.setOption("showGutter",e)},this.getFadeFoldWidgets=function(){return this.getOption("fadeFoldWidgets")},this.setFadeFoldWidgets=function(e){this.setOption("fadeFoldWidgets",e)},this.setHighlightGutterLine=function(e){this.setOption("highlightGutterLine",e)},this.getHighlightGutterLine=function(){return this.getOption("highlightGutterLine")},this.$updatePrintMargin=function(){if(!this.$showPrintMargin&&!this.$printMarginEl)return;if(!this.$printMarginEl){var e=i.createElement("div");e.className="ace_layer ace_print-margin-layer",this.$printMarginEl=i.createElement("div"),this.$printMarginEl.className="ace_print-margin",e.appendChild(this.$printMarginEl),this.content.insertBefore(e,this.content.firstChild)}var t=this.$printMarginEl.style;t.left=Math.round(this.characterWidth*this.$printMarginColumn+this.$padding)+"px",t.visibility=this.$showPrintMargin?"visible":"hidden",this.session&&this.session.$wrap==-1&&this.adjustWrapLimit()},this.getContainerElement=function(){return this.container},this.getMouseEventTarget=function(){return this.scroller},this.getTextAreaContainer=function(){return this.container},this.$moveTextAreaToCursor=function(){if(this.$isMousePressed)return;var e=this.textarea.style,t=this.$composition;if(!this.$keepTextAreaAtCursor&&!t){i.translate(this.textarea,-100,0);return}var n=this.$cursorLayer.$pixelPos;if(!n)return;t&&t.markerRange&&(n=this.$cursorLayer.getPixelPosition(t.markerRange.start,!0));var r=this.layerConfig,s=n.top,o=n.left;s-=r.offset;var u=t&&t.useTextareaForIME?this.lineHeight:g?0:1;if(s<0||s>r.height-u){i.translate(this.textarea,0,0);return}var a=1;if(!t)s+=this.lineHeight;else if(t.useTextareaForIME){var f=this.textarea.value;a=this.characterWidth*this.session.$getStringScreenWidth(f)[0],u+=2}else s+=this.lineHeight+2;o-=this.scrollLeft,o>this.$size.scrollerWidth-a&&(o=this.$size.scrollerWidth-a),o+=this.gutterWidth+this.margin.left,i.setStyle(e,"height",u+"px"),i.setStyle(e,"width",a+"px"),i.translate(this.textarea,Math.min(o,this.$size.scrollerWidth-a),Math.min(s,this.$size.height-u))},this.getFirstVisibleRow=function(){return this.layerConfig.firstRow},this.getFirstFullyVisibleRow=function(){return this.layerConfig.firstRow+(this.layerConfig.offset===0?0:1)},this.getLastFullyVisibleRow=function(){var e=this.layerConfig,t=e.lastRow,n=this.session.documentToScreenRow(t,0)*e.lineHeight;return n-this.session.getScrollTop()>e.height-e.lineHeight?t-1:t},this.getLastVisibleRow=function(){return this.layerConfig.lastRow},this.$padding=null,this.setPadding=function(e){this.$padding=e,this.$textLayer.setPadding(e),this.$cursorLayer.setPadding(e),this.$markerFront.setPadding(e),this.$markerBack.setPadding(e),this.$loop.schedule(this.CHANGE_FULL),this.$updatePrintMargin()},this.setScrollMargin=function(e,t,n,r){var i=this.scrollMargin;i.top=e|0,i.bottom=t|0,i.right=r|0,i.left=n|0,i.v=i.top+i.bottom,i.h=i.left+i.right,i.top&&this.scrollTop<=0&&this.session&&this.session.setScrollTop(-i.top),this.updateFull()},this.setMargin=function(e,t,n,r){var i=this.margin;i.top=e|0,i.bottom=t|0,i.right=r|0,i.left=n|0,i.v=i.top+i.bottom,i.h=i.left+i.right,this.$updateCachedSize(!0,this.gutterWidth,this.$size.width,this.$size.height),this.updateFull()},this.getHScrollBarAlwaysVisible=function(){return this.$hScrollBarAlwaysVisible},this.setHScrollBarAlwaysVisible=function(e){this.setOption("hScrollBarAlwaysVisible",e)},this.getVScrollBarAlwaysVisible=function(){return this.$vScrollBarAlwaysVisible},this.setVScrollBarAlwaysVisible=function(e){this.setOption("vScrollBarAlwaysVisible",e)},this.$updateScrollBarV=function(){var e=this.layerConfig.maxHeight,t=this.$size.scrollerHeight;!this.$maxLines&&this.$scrollPastEnd&&(e-=(t-this.lineHeight)*this.$scrollPastEnd,this.scrollTop>e-t&&(e=this.scrollTop+t,this.scrollBarV.scrollTop=null)),this.scrollBarV.setScrollHeight(e+this.scrollMargin.v),this.scrollBarV.setScrollTop(this.scrollTop+this.scrollMargin.top)},this.$updateScrollBarH=function(){this.scrollBarH.setScrollWidth(this.layerConfig.width+2*this.$padding+this.scrollMargin.h),this.scrollBarH.setScrollLeft(this.scrollLeft+this.scrollMargin.left)},this.$frozen=!1,this.freeze=function(){this.$frozen=!0},this.unfreeze=function(){this.$frozen=!1},this.$renderChanges=function(e,t){this.$changes&&(e|=this.$changes,this.$changes=0);if(!this.session||!this.container.offsetWidth||this.$frozen||!e&&!t){this.$changes|=e;return}if(this.$size.$dirty)return this.$changes|=e,this.onResize(!0);this.lineHeight||this.$textLayer.checkForSizeChanges(),this._signal("beforeRender"),this.session&&this.session.$bidiHandler&&this.session.$bidiHandler.updateCharacterWidths(this.$fontMetrics);var n=this.layerConfig;if(e&this.CHANGE_FULL||e&this.CHANGE_SIZE||e&this.CHANGE_TEXT||e&this.CHANGE_LINES||e&this.CHANGE_SCROLL||e&this.CHANGE_H_SCROLL){e|=this.$computeLayerConfig()|this.$loop.clear();if(n.firstRow!=this.layerConfig.firstRow&&n.firstRowScreen==this.layerConfig.firstRowScreen){var r=this.scrollTop+(n.firstRow-this.layerConfig.firstRow)*this.lineHeight;r>0&&(this.scrollTop=r,e|=this.CHANGE_SCROLL,e|=this.$computeLayerConfig()|this.$loop.clear())}n=this.layerConfig,this.$updateScrollBarV(),e&this.CHANGE_H_SCROLL&&this.$updateScrollBarH(),i.translate(this.content,-this.scrollLeft,-n.offset);var s=n.width+2*this.$padding+"px",o=n.minHeight+"px";i.setStyle(this.content.style,"width",s),i.setStyle(this.content.style,"height",o)}e&this.CHANGE_H_SCROLL&&(i.translate(this.content,-this.scrollLeft,-n.offset),this.scroller.className=this.scrollLeft<=0?"ace_scroller":"ace_scroller ace_scroll-left");if(e&this.CHANGE_FULL){this.$textLayer.update(n),this.$showGutter&&this.$gutterLayer.update(n),this.$markerBack.update(n),this.$markerFront.update(n),this.$cursorLayer.update(n),this.$moveTextAreaToCursor(),this._signal("afterRender");return}if(e&this.CHANGE_SCROLL){e&this.CHANGE_TEXT||e&this.CHANGE_LINES?this.$textLayer.update(n):this.$textLayer.scrollLines(n),this.$showGutter&&(e&this.CHANGE_GUTTER||e&this.CHANGE_LINES?this.$gutterLayer.update(n):this.$gutterLayer.scrollLines(n)),this.$markerBack.update(n),this.$markerFront.update(n),this.$cursorLayer.update(n),this.$moveTextAreaToCursor(),this._signal("afterRender");return}e&this.CHANGE_TEXT?(this.$textLayer.update(n),this.$showGutter&&this.$gutterLayer.update(n)):e&this.CHANGE_LINES?(this.$updateLines()||e&this.CHANGE_GUTTER&&this.$showGutter)&&this.$gutterLayer.update(n):e&this.CHANGE_TEXT||e&this.CHANGE_GUTTER?this.$showGutter&&this.$gutterLayer.update(n):e&this.CHANGE_CURSOR&&this.$highlightGutterLine&&this.$gutterLayer.updateLineHighlight(n),e&this.CHANGE_CURSOR&&(this.$cursorLayer.update(n),this.$moveTextAreaToCursor()),e&(this.CHANGE_MARKER|this.CHANGE_MARKER_FRONT)&&this.$markerFront.update(n),e&(this.CHANGE_MARKER|this.CHANGE_MARKER_BACK)&&this.$markerBack.update(n),this._signal("afterRender")},this.$autosize=function(){var e=this.session.getScreenLength()*this.lineHeight,t=this.$maxLines*this.lineHeight,n=Math.min(t,Math.max((this.$minLines||1)*this.lineHeight,e))+this.scrollMargin.v+(this.$extraHeight||0);this.$horizScroll&&(n+=this.scrollBarH.getHeight()),this.$maxPixelHeight&&n>this.$maxPixelHeight&&(n=this.$maxPixelHeight);var r=n<=2*this.lineHeight,i=!r&&e>t;if(n!=this.desiredHeight||this.$size.height!=this.desiredHeight||i!=this.$vScroll){i!=this.$vScroll&&(this.$vScroll=i,this.scrollBarV.setVisible(i));var s=this.container.clientWidth;this.container.style.height=n+"px",this.$updateCachedSize(!0,this.$gutterWidth,s,n),this.desiredHeight=n,this._signal("autosize")}},this.$computeLayerConfig=function(){var e=this.session,t=this.$size,n=t.height<=2*this.lineHeight,r=this.session.getScreenLength(),i=r*this.lineHeight,s=this.$getLongestLine(),o=!n&&(this.$hScrollBarAlwaysVisible||t.scrollerWidth-s-2*this.$padding<0),u=this.$horizScroll!==o;u&&(this.$horizScroll=o,this.scrollBarH.setVisible(o));var a=this.$vScroll;this.$maxLines&&this.lineHeight>1&&this.$autosize();var f=t.scrollerHeight+this.lineHeight,l=!this.$maxLines&&this.$scrollPastEnd?(t.scrollerHeight-this.lineHeight)*this.$scrollPastEnd:0;i+=l;var c=this.scrollMargin;this.session.setScrollTop(Math.max(-c.top,Math.min(this.scrollTop,i-t.scrollerHeight+c.bottom))),this.session.setScrollLeft(Math.max(-c.left,Math.min(this.scrollLeft,s+2*this.$padding-t.scrollerWidth+c.right)));var h=!n&&(this.$vScrollBarAlwaysVisible||t.scrollerHeight-i+l<0||this.scrollTop>c.top),p=a!==h;p&&(this.$vScroll=h,this.scrollBarV.setVisible(h));var d=this.scrollTop%this.lineHeight,v=Math.ceil(f/this.lineHeight)-1,m=Math.max(0,Math.round((this.scrollTop-d)/this.lineHeight)),g=m+v,y,b,w=this.lineHeight;m=e.screenToDocumentRow(m,0);var E=e.getFoldLine(m);E&&(m=E.start.row),y=e.documentToScreenRow(m,0),b=e.getRowLength(m)*w,g=Math.min(e.screenToDocumentRow(g,0),e.getLength()-1),f=t.scrollerHeight+e.getRowLength(g)*w+b,d=this.scrollTop-y*w;var S=0;if(this.layerConfig.width!=s||u)S=this.CHANGE_H_SCROLL;if(u||p)S|=this.$updateCachedSize(!0,this.gutterWidth,t.width,t.height),this._signal("scrollbarVisibilityChanged"),p&&(s=this.$getLongestLine());return this.layerConfig={width:s,padding:this.$padding,firstRow:m,firstRowScreen:y,lastRow:g,lineHeight:w,characterWidth:this.characterWidth,minHeight:f,maxHeight:i,offset:d,gutterOffset:w?Math.max(0,Math.ceil((d+t.height-t.scrollerHeight)/w)):0,height:this.$size.scrollerHeight},this.session.$bidiHandler&&this.session.$bidiHandler.setContentWidth(s-this.$padding),S},this.$updateLines=function(){if(!this.$changedLines)return;var e=this.$changedLines.firstRow,t=this.$changedLines.lastRow;this.$changedLines=null;var n=this.layerConfig;if(e>n.lastRow+1)return;if(t<n.firstRow)return;if(t===Infinity){this.$showGutter&&this.$gutterLayer.update(n),this.$textLayer.update(n);return}return this.$textLayer.updateLines(n,e,t),!0},this.$getLongestLine=function(){var e=this.session.getScreenWidth();return this.showInvisibles&&!this.session.$useWrapMode&&(e+=1),this.$textLayer&&e>this.$textLayer.MAX_LINE_LENGTH&&(e=this.$textLayer.MAX_LINE_LENGTH+30),Math.max(this.$size.scrollerWidth-2*this.$padding,Math.round(e*this.characterWidth))},this.updateFrontMarkers=function(){this.$markerFront.setMarkers(this.session.getMarkers(!0)),this.$loop.schedule(this.CHANGE_MARKER_FRONT)},this.updateBackMarkers=function(){this.$markerBack.setMarkers(this.session.getMarkers()),this.$loop.schedule(this.CHANGE_MARKER_BACK)},this.addGutterDecoration=function(e,t){this.$gutterLayer.addGutterDecoration(e,t)},this.removeGutterDecoration=function(e,t){this.$gutterLayer.removeGutterDecoration(e,t)},this.updateBreakpoints=function(e){this.$loop.schedule(this.CHANGE_GUTTER)},this.setAnnotations=function(e){this.$gutterLayer.setAnnotations(e),this.$loop.schedule(this.CHANGE_GUTTER)},this.updateCursor=function(){this.$loop.schedule(this.CHANGE_CURSOR)},this.hideCursor=function(){this.$cursorLayer.hideCursor()},this.showCursor=function(){this.$cursorLayer.showCursor()},this.scrollSelectionIntoView=function(e,t,n){this.scrollCursorIntoView(e,n),this.scrollCursorIntoView(t,n)},this.scrollCursorIntoView=function(e,t,n){if(this.$size.scrollerHeight===0)return;var r=this.$cursorLayer.getPixelPosition(e),i=r.left,s=r.top,o=n&&n.top||0,u=n&&n.bottom||0,a=this.$scrollAnimation?this.session.getScrollTop():this.scrollTop;a+o>s?(t&&a+o>s+this.lineHeight&&(s-=t*this.$size.scrollerHeight),s===0&&(s=-this.scrollMargin.top),this.session.setScrollTop(s)):a+this.$size.scrollerHeight-u<s+this.lineHeight&&(t&&a+this.$size.scrollerHeight-u<s-this.lineHeight&&(s+=t*this.$size.scrollerHeight),this.session.setScrollTop(s+this.lineHeight+u-this.$size.scrollerHeight));var f=this.scrollLeft;f>i?(i<this.$padding+2*this.layerConfig.characterWidth&&(i=-this.scrollMargin.left),this.session.setScrollLeft(i)):f+this.$size.scrollerWidth<i+this.characterWidth?this.session.setScrollLeft(Math.round(i+this.characterWidth-this.$size.scrollerWidth)):f<=this.$padding&&i-f<this.characterWidth&&this.session.setScrollLeft(0)},this.getScrollTop=function(){return this.session.getScrollTop()},this.getScrollLeft=function(){return this.session.getScrollLeft()},this.getScrollTopRow=function(){return this.scrollTop/this.lineHeight},this.getScrollBottomRow=function(){return Math.max(0,Math.floor((this.scrollTop+this.$size.scrollerHeight)/this.lineHeight)-1)},this.scrollToRow=function(e){this.session.setScrollTop(e*this.lineHeight)},this.alignCursor=function(e,t){typeof e=="number"&&(e={row:e,column:0});var n=this.$cursorLayer.getPixelPosition(e),r=this.$size.scrollerHeight-this.lineHeight,i=n.top-r*(t||0);return this.session.setScrollTop(i),i},this.STEPS=8,this.$calcSteps=function(e,t){var n=0,r=this.STEPS,i=[],s=function(e,t,n){return n*(Math.pow(e-1,3)+1)+t};for(n=0;n<r;++n)i.push(s(n/this.STEPS,e,t-e));return i},this.scrollToLine=function(e,t,n,r){var i=this.$cursorLayer.getPixelPosition({row:e,column:0}),s=i.top;t&&(s-=this.$size.scrollerHeight/2);var o=this.scrollTop;this.session.setScrollTop(s),n!==!1&&this.animateScrolling(o,r)},this.animateScrolling=function(e,t){var n=this.scrollTop;if(!this.$animatedScroll)return;var r=this;if(e==n)return;if(this.$scrollAnimation){var i=this.$scrollAnimation.steps;if(i.length){e=i[0];if(e==n)return}}var s=r.$calcSteps(e,n);this.$scrollAnimation={from:e,to:n,steps:s},clearInterval(this.$timer),r.session.setScrollTop(s.shift()),r.session.$scrollTop=n,this.$timer=setInterval(function(){s.length?(r.session.setScrollTop(s.shift()),r.session.$scrollTop=n):n!=null?(r.session.$scrollTop=-1,r.session.setScrollTop(n),n=null):(r.$timer=clearInterval(r.$timer),r.$scrollAnimation=null,t&&t())},10)},this.scrollToY=function(e){this.scrollTop!==e&&(this.$loop.schedule(this.CHANGE_SCROLL),this.scrollTop=e)},this.scrollToX=function(e){this.scrollLeft!==e&&(this.scrollLeft=e),this.$loop.schedule(this.CHANGE_H_SCROLL)},this.scrollTo=function(e,t){this.session.setScrollTop(t),this.session.setScrollLeft(t)},this.scrollBy=function(e,t){t&&this.session.setScrollTop(this.session.getScrollTop()+t),e&&this.session.setScrollLeft(this.session.getScrollLeft()+e)},this.isScrollableBy=function(e,t){if(t<0&&this.session.getScrollTop()>=1-this.scrollMargin.top)return!0;if(t>0&&this.session.getScrollTop()+this.$size.scrollerHeight-this.layerConfig.maxHeight<-1+this.scrollMargin.bottom)return!0;if(e<0&&this.session.getScrollLeft()>=1-this.scrollMargin.left)return!0;if(e>0&&this.session.getScrollLeft()+this.$size.scrollerWidth-this.layerConfig.width<-1+this.scrollMargin.right)return!0},this.pixelToScreenCoordinates=function(e,t){var n;if(this.$hasCssTransforms){n={top:0,left:0};var r=this.$fontMetrics.transformCoordinates([e,t]);e=r[1]-this.gutterWidth-this.margin.left,t=r[0]}else n=this.scroller.getBoundingClientRect();var i=e+this.scrollLeft-n.left-this.$padding,s=i/this.characterWidth,o=Math.floor((t+this.scrollTop-n.top)/this.lineHeight),u=this.$blockCursor?Math.floor(s):Math.round(s);return{row:o,column:u,side:s-u>0?1:-1,offsetX:i}},this.screenToTextCoordinates=function(e,t){var n;if(this.$hasCssTransforms){n={top:0,left:0};var r=this.$fontMetrics.transformCoordinates([e,t]);e=r[1]-this.gutterWidth-this.margin.left,t=r[0]}else n=this.scroller.getBoundingClientRect();var i=e+this.scrollLeft-n.left-this.$padding,s=i/this.characterWidth,o=this.$blockCursor?Math.floor(s):Math.round(s),u=Math.floor((t+this.scrollTop-n.top)/this.lineHeight);return this.session.screenToDocumentPosition(u,Math.max(o,0),i)},this.textToScreenCoordinates=function(e,t){var n=this.scroller.getBoundingClientRect(),r=this.session.documentToScreenPosition(e,t),i=this.$padding+(this.session.$bidiHandler.isBidiRow(r.row,e)?this.session.$bidiHandler.getPosLeft(r.column):Math.round(r.column*this.characterWidth)),s=r.row*this.lineHeight;return{pageX:n.left+i-this.scrollLeft,pageY:n.top+s-this.scrollTop}},this.visualizeFocus=function(){i.addCssClass(this.container,"ace_focus")},this.visualizeBlur=function(){i.removeCssClass(this.container,"ace_focus")},this.showComposition=function(e){this.$composition=e,e.cssText||(e.cssText=this.textarea.style.cssText),e.useTextareaForIME=this.$useTextareaForIME,this.$useTextareaForIME?(i.addCssClass(this.textarea,"ace_composition"),this.textarea.style.cssText="",this.$moveTextAreaToCursor(),this.$cursorLayer.element.style.display="none"):e.markerId=this.session.addMarker(e.markerRange,"ace_composition_marker","text")},this.setCompositionText=function(e){var t=this.session.selection.cursor;this.addToken(e,"composition_placeholder",t.row,t.column),this.$moveTextAreaToCursor()},this.hideComposition=function(){if(!this.$composition)return;this.$composition.markerId&&this.session.removeMarker(this.$composition.markerId),i.removeCssClass(this.textarea,"ace_composition"),this.textarea.style.cssText=this.$composition.cssText,this.$composition=null,this.$cursorLayer.element.style.display=""},this.addToken=function(e,t,n,r){var i=this.session;i.bgTokenizer.lines[n]=null;var s={type:t,value:e},o=i.getTokens(n);if(r==null)o.push(s);else{var u=0;for(var a=0;a<o.length;a++){var f=o[a];u+=f.value.length;if(r<=u){var l=f.value.length-(u-r),c=f.value.slice(0,l),h=f.value.slice(l);o.splice(a,1,{type:f.type,value:c},s,{type:f.type,value:h});break}}}this.updateLines(n,n)},this.setTheme=function(e,t){function o(r){if(n.$themeId!=e)return t&&t();if(!r||!r.cssClass)throw new Error("couldn't load module "+e+" or it didn't call define");r.$id&&(n.$themeId=r.$id),i.importCssString(r.cssText,r.cssClass,n.container),n.theme&&i.removeCssClass(n.container,n.theme.cssClass);var s="padding"in r?r.padding:"padding"in(n.theme||{})?4:n.$padding;n.$padding&&s!=n.$padding&&n.setPadding(s),n.$theme=r.cssClass,n.theme=r,i.addCssClass(n.container,r.cssClass),i.setCssClass(n.container,"ace_dark",r.isDark),n.$size&&(n.$size.width=0,n.$updateSizeAsync()),n._dispatchEvent("themeLoaded",{theme:r}),t&&t()}var n=this;this.$themeId=e,n._dispatchEvent("themeChange",{theme:e});if(!e||typeof e=="string"){var r=e||this.$options.theme.initialValue;s.loadModule(["theme",r],o)}else o(e)},this.getTheme=function(){return this.$themeId},this.setStyle=function(e,t){i.setCssClass(this.container,e,t!==!1)},this.unsetStyle=function(e){i.removeCssClass(this.container,e)},this.setCursorStyle=function(e){i.setStyle(this.scroller.style,"cursor",e)},this.setMouseCursor=function(e){i.setStyle(this.scroller.style,"cursor",e)},this.attachToShadowRoot=function(){i.importCssString(v,"ace_editor.css",this.container)},this.destroy=function(){this.$fontMetrics.destroy(),this.$cursorLayer.destroy()}}).call(y.prototype),s.defineOptions(y.prototype,"renderer",{animatedScroll:{initialValue:!1},showInvisibles:{set:function(e){this.$textLayer.setShowInvisibles(e)&&this.$loop.schedule(this.CHANGE_TEXT)},initialValue:!1},showPrintMargin:{set:function(){this.$updatePrintMargin()},initialValue:!0},printMarginColumn:{set:function(){this.$updatePrintMargin()},initialValue:80},printMargin:{set:function(e){typeof e=="number"&&(this.$printMarginColumn=e),this.$showPrintMargin=!!e,this.$updatePrintMargin()},get:function(){return this.$showPrintMargin&&this.$printMarginColumn}},showGutter:{set:function(e){this.$gutter.style.display=e?"block":"none",this.$loop.schedule(this.CHANGE_FULL),this.onGutterResize()},initialValue:!0},fadeFoldWidgets:{set:function(e){i.setCssClass(this.$gutter,"ace_fade-fold-widgets",e)},initialValue:!1},showFoldWidgets:{set:function(e){this.$gutterLayer.setShowFoldWidgets(e),this.$loop.schedule(this.CHANGE_GUTTER)},initialValue:!0},displayIndentGuides:{set:function(e){this.$textLayer.setDisplayIndentGuides(e)&&this.$loop.schedule(this.CHANGE_TEXT)},initialValue:!0},highlightGutterLine:{set:function(e){this.$gutterLayer.setHighlightGutterLine(e),this.$loop.schedule(this.CHANGE_GUTTER)},initialValue:!0},hScrollBarAlwaysVisible:{set:function(e){(!this.$hScrollBarAlwaysVisible||!this.$horizScroll)&&this.$loop.schedule(this.CHANGE_SCROLL)},initialValue:!1},vScrollBarAlwaysVisible:{set:function(e){(!this.$vScrollBarAlwaysVisible||!this.$vScroll)&&this.$loop.schedule(this.CHANGE_SCROLL)},initialValue:!1},fontSize:{set:function(e){typeof e=="number"&&(e+="px"),this.container.style.fontSize=e,this.updateFontSize()},initialValue:12},fontFamily:{set:function(e){this.container.style.fontFamily=e,this.updateFontSize()}},maxLines:{set:function(e){this.updateFull()}},minLines:{set:function(e){this.$minLines<562949953421311||(this.$minLines=0),this.updateFull()}},maxPixelHeight:{set:function(e){this.updateFull()},initialValue:0},scrollPastEnd:{set:function(e){e=+e||0;if(this.$scrollPastEnd==e)return;this.$scrollPastEnd=e,this.$loop.schedule(this.CHANGE_SCROLL)},initialValue:0,handlesSet:!0},fixedWidthGutter:{set:function(e){this.$gutterLayer.$fixedWidth=!!e,this.$loop.schedule(this.CHANGE_GUTTER)}},theme:{set:function(e){this.setTheme(e)},get:function(){return this.$themeId||this.theme},initialValue:"./theme/textmate",handlesSet:!0},hasCssTransforms:{},useTextareaForIME:{initialValue:!m.isMobile&&!m.isIE}}),t.VirtualRenderer=y}),ace.define("ace/worker/worker_client",["require","exports","module","ace/lib/oop","ace/lib/net","ace/lib/event_emitter","ace/config"],function(e,t,n){"use strict";function u(e){var t="importScripts('"+i.qualifyURL(e)+"');";try{return new Blob([t],{type:"application/javascript"})}catch(n){var r=window.BlobBuilder||window.WebKitBlobBuilder||window.MozBlobBuilder,s=new r;return s.append(t),s.getBlob("application/javascript")}}function a(e){if(typeof Worker=="undefined")return{postMessage:function(){},terminate:function(){}};if(o.get("loadWorkerFromBlob")){var t=u(e),n=window.URL||window.webkitURL,r=n.createObjectURL(t);return new Worker(r)}return new Worker(e)}var r=e("../lib/oop"),i=e("../lib/net"),s=e("../lib/event_emitter").EventEmitter,o=e("../config"),f=function(e){e.postMessage||(e=this.$createWorkerFromOldConfig.apply(this,arguments)),this.$worker=e,this.$sendDeltaQueue=this.$sendDeltaQueue.bind(this),this.changeListener=this.changeListener.bind(this),this.onMessage=this.onMessage.bind(this),this.callbackId=1,this.callbacks={},this.$worker.onmessage=this.onMessage};(function(){r.implement(this,s),this.$createWorkerFromOldConfig=function(t,n,r,i,s){e.nameToUrl&&!e.toUrl&&(e.toUrl=e.nameToUrl);if(o.get("packaged")||!e.toUrl)i=i||o.moduleUrl(n,"worker");else{var u=this.$normalizePath;i=i||u(e.toUrl("ace/worker/worker.js",null,"_"));var f={};t.forEach(function(t){f[t]=u(e.toUrl(t,null,"_").replace(/(\.js)?(\?.*)?$/,""))})}return this.$worker=a(i),s&&this.send("importScripts",s),this.$worker.postMessage({init:!0,tlns:f,module:n,classname:r}),this.$worker},this.onMessage=function(e){var t=e.data;switch(t.type){case"event":this._signal(t.name,{data:t.data});break;case"call":var n=this.callbacks[t.id];n&&(n(t.data),delete this.callbacks[t.id]);break;case"error":this.reportError(t.data);break;case"log":window.console&&console.log&&console.log.apply(console,t.data)}},this.reportError=function(e){window.console&&console.error&&console.error(e)},this.$normalizePath=function(e){return i.qualifyURL(e)},this.terminate=function(){this._signal("terminate",{}),this.deltaQueue=null,this.$worker.terminate(),this.$worker=null,this.$doc&&this.$doc.off("change",this.changeListener),this.$doc=null},this.send=function(e,t){this.$worker.postMessage({command:e,args:t})},this.call=function(e,t,n){if(n){var r=this.callbackId++;this.callbacks[r]=n,t.push(r)}this.send(e,t)},this.emit=function(e,t){try{t.data&&t.data.err&&(t.data.err={message:t.data.err.message,stack:t.data.err.stack,code:t.data.err.code}),this.$worker.postMessage({event:e,data:{data:t.data}})}catch(n){console.error(n.stack)}},this.attachToDocument=function(e){this.$doc&&this.terminate(),this.$doc=e,this.call("setValue",[e.getValue()]),e.on("change",this.changeListener)},this.changeListener=function(e){this.deltaQueue||(this.deltaQueue=[],setTimeout(this.$sendDeltaQueue,0)),e.action=="insert"?this.deltaQueue.push(e.start,e.lines):this.deltaQueue.push(e.start,e.end)},this.$sendDeltaQueue=function(){var e=this.deltaQueue;if(!e)return;this.deltaQueue=null,e.length>50&&e.length>this.$doc.getLength()>>1?this.call("setValue",[this.$doc.getValue()]):this.emit("change",{data:e})}}).call(f.prototype);var l=function(e,t,n){var r=null,i=!1,u=Object.create(s),a=[],l=new f({messageBuffer:a,terminate:function(){},postMessage:function(e){a.push(e);if(!r)return;i?setTimeout(c):c()}});l.setEmitSync=function(e){i=e};var c=function(){var e=a.shift();e.command?r[e.command].apply(r,e.args):e.event&&u._signal(e.event,e.data)};return u.postMessage=function(e){l.onMessage({data:e})},u.callback=function(e,t){this.postMessage({type:"call",id:t,data:e})},u.emit=function(e,t){this.postMessage({type:"event",name:e,data:t})},o.loadModule(["worker",t],function(e){r=new e[n](u);while(a.length)c()}),l};t.UIWorkerClient=l,t.WorkerClient=f,t.createWorker=a}),ace.define("ace/placeholder",["require","exports","module","ace/range","ace/lib/event_emitter","ace/lib/oop"],function(e,t,n){"use strict";var r=e("./range").Range,i=e("./lib/event_emitter").EventEmitter,s=e("./lib/oop"),o=function(e,t,n,r,i,s){var o=this;this.length=t,this.session=e,this.doc=e.getDocument(),this.mainClass=i,this.othersClass=s,this.$onUpdate=this.onUpdate.bind(this),this.doc.on("change",this.$onUpdate),this.$others=r,this.$onCursorChange=function(){setTimeout(function(){o.onCursorChange()})},this.$pos=n;var u=e.getUndoManager().$undoStack||e.getUndoManager().$undostack||{length:-1};this.$undoStackDepth=u.length,this.setup(),e.selection.on("changeCursor",this.$onCursorChange)};(function(){s.implement(this,i),this.setup=function(){var e=this,t=this.doc,n=this.session;this.selectionBefore=n.selection.toJSON(),n.selection.inMultiSelectMode&&n.selection.toSingleRange(),this.pos=t.createAnchor(this.$pos.row,this.$pos.column);var i=this.pos;i.$insertRight=!0,i.detach(),i.markerId=n.addMarker(new r(i.row,i.column,i.row,i.column+this.length),this.mainClass,null,!1),this.others=[],this.$others.forEach(function(n){var r=t.createAnchor(n.row,n.column);r.$insertRight=!0,r.detach(),e.others.push(r)}),n.setUndoSelect(!1)},this.showOtherMarkers=function(){if(this.othersActive)return;var e=this.session,t=this;this.othersActive=!0,this.others.forEach(function(n){n.markerId=e.addMarker(new r(n.row,n.column,n.row,n.column+t.length),t.othersClass,null,!1)})},this.hideOtherMarkers=function(){if(!this.othersActive)return;this.othersActive=!1;for(var e=0;e<this.others.length;e++)this.session.removeMarker(this.others[e].markerId)},this.onUpdate=function(e){if(this.$updating)return this.updateAnchors(e);var t=e;if(t.start.row!==t.end.row)return;if(t.start.row!==this.pos.row)return;this.$updating=!0;var n=e.action==="insert"?t.end.column-t.start.column:t.start.column-t.end.column,i=t.start.column>=this.pos.column&&t.start.column<=this.pos.column+this.length+1,s=t.start.column-this.pos.column;this.updateAnchors(e),i&&(this.length+=n);if(i&&!this.session.$fromUndo)if(e.action==="insert")for(var o=this.others.length-1;o>=0;o--){var u=this.others[o],a={row:u.row,column:u.column+s};this.doc.insertMergedLines(a,e.lines)}else if(e.action==="remove")for(var o=this.others.length-1;o>=0;o--){var u=this.others[o],a={row:u.row,column:u.column+s};this.doc.remove(new r(a.row,a.column,a.row,a.column-n))}this.$updating=!1,this.updateMarkers()},this.updateAnchors=function(e){this.pos.onChange(e);for(var t=this.others.length;t--;)this.others[t].onChange(e);this.updateMarkers()},this.updateMarkers=function(){if(this.$updating)return;var e=this,t=this.session,n=function(n,i){t.removeMarker(n.markerId),n.markerId=t.addMarker(new r(n.row,n.column,n.row,n.column+e.length),i,null,!1)};n(this.pos,this.mainClass);for(var i=this.others.length;i--;)n(this.others[i],this.othersClass)},this.onCursorChange=function(e){if(this.$updating||!this.session)return;var t=this.session.selection.getCursor();t.row===this.pos.row&&t.column>=this.pos.column&&t.column<=this.pos.column+this.length?(this.showOtherMarkers(),this._emit("cursorEnter",e)):(this.hideOtherMarkers(),this._emit("cursorLeave",e))},this.detach=function(){this.session.removeMarker(this.pos&&this.pos.markerId),this.hideOtherMarkers(),this.doc.removeEventListener("change",this.$onUpdate),this.session.selection.removeEventListener("changeCursor",this.$onCursorChange),this.session.setUndoSelect(!0),this.session=null},this.cancel=function(){if(this.$undoStackDepth===-1)return;var e=this.session.getUndoManager(),t=(e.$undoStack||e.$undostack).length-this.$undoStackDepth;for(var n=0;n<t;n++)e.undo(this.session,!0);this.selectionBefore&&this.session.selection.fromJSON(this.selectionBefore)}}).call(o.prototype),t.PlaceHolder=o}),ace.define("ace/mouse/multi_select_handler",["require","exports","module","ace/lib/event","ace/lib/useragent"],function(e,t,n){function s(e,t){return e.row==t.row&&e.column==t.column}function o(e){var t=e.domEvent,n=t.altKey,o=t.shiftKey,u=t.ctrlKey,a=e.getAccelKey(),f=e.getButton();u&&i.isMac&&(f=t.button);if(e.editor.inMultiSelectMode&&f==2){e.editor.textInput.onContextMenu(e.domEvent);return}if(!u&&!n&&!a){f===0&&e.editor.inMultiSelectMode&&e.editor.exitMultiSelectMode();return}if(f!==0)return;var l=e.editor,c=l.selection,h=l.inMultiSelectMode,p=e.getDocumentPosition(),d=c.getCursor(),v=e.inSelection()||c.isEmpty()&&s(p,d),m=e.x,g=e.y,y=function(e){m=e.clientX,g=e.clientY},b=l.session,w=l.renderer.pixelToScreenCoordinates(m,g),E=w,S;if(l.$mouseHandler.$enableJumpToDef)u&&n||a&&n?S=o?"block":"add":n&&l.$blockSelectEnabled&&(S="block");else if(a&&!n){S="add";if(!h&&o)return}else n&&l.$blockSelectEnabled&&(S="block");S&&i.isMac&&t.ctrlKey&&l.$mouseHandler.cancelContextMenu();if(S=="add"){if(!h&&v)return;if(!h){var x=c.toOrientedRange();l.addSelectionMarker(x)}var T=c.rangeList.rangeAtPoint(p);l.inVirtualSelectionMode=!0,o&&(T=null,x=c.ranges[0]||x,l.removeSelectionMarker(x)),l.once("mouseup",function(){var e=c.toOrientedRange();T&&e.isEmpty()&&s(T.cursor,e.cursor)?c.substractPoint(e.cursor):(o?c.substractPoint(x.cursor):x&&(l.removeSelectionMarker(x),c.addRange(x)),c.addRange(e)),l.inVirtualSelectionMode=!1})}else if(S=="block"){e.stop(),l.inVirtualSelectionMode=!0;var N,C=[],k=function(){var e=l.renderer.pixelToScreenCoordinates(m,g),t=b.screenToDocumentPosition(e.row,e.column,e.offsetX);if(s(E,e)&&s(t,c.lead))return;E=e,l.selection.moveToPosition(t),l.renderer.scrollCursorIntoView(),l.removeSelectionMarkers(C),C=c.rectangularRangeBlock(E,w),l.$mouseHandler.$clickSelection&&C.length==1&&C[0].isEmpty()&&(C[0]=l.$mouseHandler.$clickSelection.clone()),C.forEach(l.addSelectionMarker,l),l.updateSelectionMarkers()};h&&!a?c.toSingleRange():!h&&a&&(N=c.toOrientedRange(),l.addSelectionMarker(N)),o?w=b.documentToScreenPosition(c.lead):c.moveToPosition(p),E={row:-1,column:-1};var L=function(e){k(),clearInterval(O),l.removeSelectionMarkers(C),C.length||(C=[c.toOrientedRange()]),N&&(l.removeSelectionMarker(N),c.toSingleRange(N));for(var t=0;t<C.length;t++)c.addRange(C[t]);l.inVirtualSelectionMode=!1,l.$mouseHandler.$clickSelection=null},A=k;r.capture(l.container,y,L);var O=setInterval(function(){A()},20);return e.preventDefault()}}var r=e("../lib/event"),i=e("../lib/useragent");t.onMouseDown=o}),ace.define("ace/commands/multi_select_commands",["require","exports","module","ace/keyboard/hash_handler"],function(e,t,n){t.defaultCommands=[{name:"addCursorAbove",description:"Add cursor above",exec:function(e){e.selectMoreLines(-1)},bindKey:{win:"Ctrl-Alt-Up",mac:"Ctrl-Alt-Up"},scrollIntoView:"cursor",readOnly:!0},{name:"addCursorBelow",description:"Add cursor below",exec:function(e){e.selectMoreLines(1)},bindKey:{win:"Ctrl-Alt-Down",mac:"Ctrl-Alt-Down"},scrollIntoView:"cursor",readOnly:!0},{name:"addCursorAboveSkipCurrent",description:"Add cursor above (skip current)",exec:function(e){e.selectMoreLines(-1,!0)},bindKey:{win:"Ctrl-Alt-Shift-Up",mac:"Ctrl-Alt-Shift-Up"},scrollIntoView:"cursor",readOnly:!0},{name:"addCursorBelowSkipCurrent",description:"Add cursor below (skip current)",exec:function(e){e.selectMoreLines(1,!0)},bindKey:{win:"Ctrl-Alt-Shift-Down",mac:"Ctrl-Alt-Shift-Down"},scrollIntoView:"cursor",readOnly:!0},{name:"selectMoreBefore",description:"Select more before",exec:function(e){e.selectMore(-1)},bindKey:{win:"Ctrl-Alt-Left",mac:"Ctrl-Alt-Left"},scrollIntoView:"cursor",readOnly:!0},{name:"selectMoreAfter",description:"Select more after",exec:function(e){e.selectMore(1)},bindKey:{win:"Ctrl-Alt-Right",mac:"Ctrl-Alt-Right"},scrollIntoView:"cursor",readOnly:!0},{name:"selectNextBefore",description:"Select next before",exec:function(e){e.selectMore(-1,!0)},bindKey:{win:"Ctrl-Alt-Shift-Left",mac:"Ctrl-Alt-Shift-Left"},scrollIntoView:"cursor",readOnly:!0},{name:"selectNextAfter",description:"Select next after",exec:function(e){e.selectMore(1,!0)},bindKey:{win:"Ctrl-Alt-Shift-Right",mac:"Ctrl-Alt-Shift-Right"},scrollIntoView:"cursor",readOnly:!0},{name:"splitIntoLines",description:"Split into lines",exec:function(e){e.multiSelect.splitIntoLines()},bindKey:{win:"Ctrl-Alt-L",mac:"Ctrl-Alt-L"},readOnly:!0},{name:"alignCursors",description:"Align cursors",exec:function(e){e.alignCursors()},bindKey:{win:"Ctrl-Alt-A",mac:"Ctrl-Alt-A"},scrollIntoView:"cursor"},{name:"findAll",description:"Find all",exec:function(e){e.findAll()},bindKey:{win:"Ctrl-Alt-K",mac:"Ctrl-Alt-G"},scrollIntoView:"cursor",readOnly:!0}],t.multiSelectCommands=[{name:"singleSelection",description:"Single selection",bindKey:"esc",exec:function(e){e.exitMultiSelectMode()},scrollIntoView:"cursor",readOnly:!0,isAvailable:function(e){return e&&e.inMultiSelectMode}}];var r=e("../keyboard/hash_handler").HashHandler;t.keyboardHandler=new r(t.multiSelectCommands)}),ace.define("ace/multi_select",["require","exports","module","ace/range_list","ace/range","ace/selection","ace/mouse/multi_select_handler","ace/lib/event","ace/lib/lang","ace/commands/multi_select_commands","ace/search","ace/edit_session","ace/editor","ace/config"],function(e,t,n){function h(e,t,n){return c.$options.wrap=!0,c.$options.needle=t,c.$options.backwards=n==-1,c.find(e)}function v(e,t){return e.row==t.row&&e.column==t.column}function m(e){if(e.$multiselectOnSessionChange)return;e.$onAddRange=e.$onAddRange.bind(e),e.$onRemoveRange=e.$onRemoveRange.bind(e),e.$onMultiSelect=e.$onMultiSelect.bind(e),e.$onSingleSelect=e.$onSingleSelect.bind(e),e.$multiselectOnSessionChange=t.onSessionChange.bind(e),e.$checkMultiselectChange=e.$checkMultiselectChange.bind(e),e.$multiselectOnSessionChange(e),e.on("changeSession",e.$multiselectOnSessionChange),e.on("mousedown",o),e.commands.addCommands(f.defaultCommands),g(e)}function g(e){function r(t){n&&(e.renderer.setMouseCursor(""),n=!1)}var t=e.textInput.getElement(),n=!1;u.addListener(t,"keydown",function(t){var i=t.keyCode==18&&!(t.ctrlKey||t.shiftKey||t.metaKey);e.$blockSelectEnabled&&i?n||(e.renderer.setMouseCursor("crosshair"),n=!0):n&&r()}),u.addListener(t,"keyup",r),u.addListener(t,"blur",r)}var r=e("./range_list").RangeList,i=e("./range").Range,s=e("./selection").Selection,o=e("./mouse/multi_select_handler").onMouseDown,u=e("./lib/event"),a=e("./lib/lang"),f=e("./commands/multi_select_commands");t.commands=f.defaultCommands.concat(f.multiSelectCommands);var l=e("./search").Search,c=new l,p=e("./edit_session").EditSession;(function(){this.getSelectionMarkers=function(){return this.$selectionMarkers}}).call(p.prototype),function(){this.ranges=null,this.rangeList=null,this.addRange=function(e,t){if(!e)return;if(!this.inMultiSelectMode&&this.rangeCount===0){var n=this.toOrientedRange();this.rangeList.add(n),this.rangeList.add(e);if(this.rangeList.ranges.length!=2)return this.rangeList.removeAll(),t||this.fromOrientedRange(e);this.rangeList.removeAll(),this.rangeList.add(n),this.$onAddRange(n)}e.cursor||(e.cursor=e.end);var r=this.rangeList.add(e);return this.$onAddRange(e),r.length&&this.$onRemoveRange(r),this.rangeCount>1&&!this.inMultiSelectMode&&(this._signal("multiSelect"),this.inMultiSelectMode=!0,this.session.$undoSelect=!1,this.rangeList.attach(this.session)),t||this.fromOrientedRange(e)},this.toSingleRange=function(e){e=e||this.ranges[0];var t=this.rangeList.removeAll();t.length&&this.$onRemoveRange(t),e&&this.fromOrientedRange(e)},this.substractPoint=function(e){var t=this.rangeList.substractPoint(e);if(t)return this.$onRemoveRange(t),t[0]},this.mergeOverlappingRanges=function(){var e=this.rangeList.merge();e.length&&this.$onRemoveRange(e)},this.$onAddRange=function(e){this.rangeCount=this.rangeList.ranges.length,this.ranges.unshift(e),this._signal("addRange",{range:e})},this.$onRemoveRange=function(e){this.rangeCount=this.rangeList.ranges.length;if(this.rangeCount==1&&this.inMultiSelectMode){var t=this.rangeList.ranges.pop();e.push(t),this.rangeCount=0}for(var n=e.length;n--;){var r=this.ranges.indexOf(e[n]);this.ranges.splice(r,1)}this._signal("removeRange",{ranges:e}),this.rangeCount===0&&this.inMultiSelectMode&&(this.inMultiSelectMode=!1,this._signal("singleSelect"),this.session.$undoSelect=!0,this.rangeList.detach(this.session)),t=t||this.ranges[0],t&&!t.isEqual(this.getRange())&&this.fromOrientedRange(t)},this.$initRangeList=function(){if(this.rangeList)return;this.rangeList=new r,this.ranges=[],this.rangeCount=0},this.getAllRanges=function(){return this.rangeCount?this.rangeList.ranges.concat():[this.getRange()]},this.splitIntoLines=function(){if(this.rangeCount>1){var e=this.rangeList.ranges,t=e[e.length-1],n=i.fromPoints(e[0].start,t.end);this.toSingleRange(),this.setSelectionRange(n,t.cursor==t.start)}else{var n=this.getRange(),r=this.isBackwards(),s=n.start.row,o=n.end.row;if(s==o){if(r)var u=n.end,a=n.start;else var u=n.start,a=n.end;this.addRange(i.fromPoints(a,a)),this.addRange(i.fromPoints(u,u));return}var f=[],l=this.getLineRange(s,!0);l.start.column=n.start.column,f.push(l);for(var c=s+1;c<o;c++)f.push(this.getLineRange(c,!0));l=this.getLineRange(o,!0),l.end.column=n.end.column,f.push(l),f.forEach(this.addRange,this)}},this.toggleBlockSelection=function(){if(this.rangeCount>1){var e=this.rangeList.ranges,t=e[e.length-1],n=i.fromPoints(e[0].start,t.end);this.toSingleRange(),this.setSelectionRange(n,t.cursor==t.start)}else{var r=this.session.documentToScreenPosition(this.cursor),s=this.session.documentToScreenPosition(this.anchor),o=this.rectangularRangeBlock(r,s);o.forEach(this.addRange,this)}},this.rectangularRangeBlock=function(e,t,n){var r=[],s=e.column<t.column;if(s)var o=e.column,u=t.column,a=e.offsetX,f=t.offsetX;else var o=t.column,u=e.column,a=t.offsetX,f=e.offsetX;var l=e.row<t.row;if(l)var c=e.row,h=t.row;else var c=t.row,h=e.row;o<0&&(o=0),c<0&&(c=0),c==h&&(n=!0);var p;for(var d=c;d<=h;d++){var m=i.fromPoints(this.session.screenToDocumentPosition(d,o,a),this.session.screenToDocumentPosition(d,u,f));if(m.isEmpty()){if(p&&v(m.end,p))break;p=m.end}m.cursor=s?m.start:m.end,r.push(m)}l&&r.reverse();if(!n){var g=r.length-1;while(r[g].isEmpty()&&g>0)g--;if(g>0){var y=0;while(r[y].isEmpty())y++}for(var b=g;b>=y;b--)r[b].isEmpty()&&r.splice(b,1)}return r}}.call(s.prototype);var d=e("./editor").Editor;(function(){this.updateSelectionMarkers=function(){this.renderer.updateCursor(),this.renderer.updateBackMarkers()},this.addSelectionMarker=function(e){e.cursor||(e.cursor=e.end);var t=this.getSelectionStyle();return e.marker=this.session.addMarker(e,"ace_selection",t),this.session.$selectionMarkers.push(e),this.session.selectionMarkerCount=this.session.$selectionMarkers.length,e},this.removeSelectionMarker=function(e){if(!e.marker)return;this.session.removeMarker(e.marker);var t=this.session.$selectionMarkers.indexOf(e);t!=-1&&this.session.$selectionMarkers.splice(t,1),this.session.selectionMarkerCount=this.session.$selectionMarkers.length},this.removeSelectionMarkers=function(e){var t=this.session.$selectionMarkers;for(var n=e.length;n--;){var r=e[n];if(!r.marker)continue;this.session.removeMarker(r.marker);var i=t.indexOf(r);i!=-1&&t.splice(i,1)}this.session.selectionMarkerCount=t.length},this.$onAddRange=function(e){this.addSelectionMarker(e.range),this.renderer.updateCursor(),this.renderer.updateBackMarkers()},this.$onRemoveRange=function(e){this.removeSelectionMarkers(e.ranges),this.renderer.updateCursor(),this.renderer.updateBackMarkers()},this.$onMultiSelect=function(e){if(this.inMultiSelectMode)return;this.inMultiSelectMode=!0,this.setStyle("ace_multiselect"),this.keyBinding.addKeyboardHandler(f.keyboardHandler),this.commands.setDefaultHandler("exec",this.$onMultiSelectExec),this.renderer.updateCursor(),this.renderer.updateBackMarkers()},this.$onSingleSelect=function(e){if(this.session.multiSelect.inVirtualMode)return;this.inMultiSelectMode=!1,this.unsetStyle("ace_multiselect"),this.keyBinding.removeKeyboardHandler(f.keyboardHandler),this.commands.removeDefaultHandler("exec",this.$onMultiSelectExec),this.renderer.updateCursor(),this.renderer.updateBackMarkers(),this._emit("changeSelection")},this.$onMultiSelectExec=function(e){var t=e.command,n=e.editor;if(!n.multiSelect)return;if(!t.multiSelectAction){var r=t.exec(n,e.args||{});n.multiSelect.addRange(n.multiSelect.toOrientedRange()),n.multiSelect.mergeOverlappingRanges()}else t.multiSelectAction=="forEach"?r=n.forEachSelection(t,e.args):t.multiSelectAction=="forEachLine"?r=n.forEachSelection(t,e.args,!0):t.multiSelectAction=="single"?(n.exitMultiSelectMode(),r=t.exec(n,e.args||{})):r=t.multiSelectAction(n,e.args||{});return r},this.forEachSelection=function(e,t,n){if(this.inVirtualSelectionMode)return;var r=n&&n.keepOrder,i=n==1||n&&n.$byLines,o=this.session,u=this.selection,a=u.rangeList,f=(r?u:a).ranges,l;if(!f.length)return e.exec?e.exec(this,t||{}):e(this,t||{});var c=u._eventRegistry;u._eventRegistry={};var h=new s(o);this.inVirtualSelectionMode=!0;for(var p=f.length;p--;){if(i)while(p>0&&f[p].start.row==f[p-1].end.row)p--;h.fromOrientedRange(f[p]),h.index=p,this.selection=o.selection=h;var d=e.exec?e.exec(this,t||{}):e(this,t||{});!l&&d!==undefined&&(l=d),h.toOrientedRange(f[p])}h.detach(),this.selection=o.selection=u,this.inVirtualSelectionMode=!1,u._eventRegistry=c,u.mergeOverlappingRanges(),u.ranges[0]&&u.fromOrientedRange(u.ranges[0]);var v=this.renderer.$scrollAnimation;return this.onCursorChange(),this.onSelectionChange(),v&&v.from==v.to&&this.renderer.animateScrolling(v.from),l},this.exitMultiSelectMode=function(){if(!this.inMultiSelectMode||this.inVirtualSelectionMode)return;this.multiSelect.toSingleRange()},this.getSelectedText=function(){var e="";if(this.inMultiSelectMode&&!this.inVirtualSelectionMode){var t=this.multiSelect.rangeList.ranges,n=[];for(var r=0;r<t.length;r++)n.push(this.session.getTextRange(t[r]));var i=this.session.getDocument().getNewLineCharacter();e=n.join(i),e.length==(n.length-1)*i.length&&(e="")}else this.selection.isEmpty()||(e=this.session.getTextRange(this.getSelectionRange()));return e},this.$checkMultiselectChange=function(e,t){if(this.inMultiSelectMode&&!this.inVirtualSelectionMode){var n=this.multiSelect.ranges[0];if(this.multiSelect.isEmpty()&&t==this.multiSelect.anchor)return;var r=t==this.multiSelect.anchor?n.cursor==n.start?n.end:n.start:n.cursor;r.row!=t.row||this.session.$clipPositionToDocument(r.row,r.column).column!=t.column?this.multiSelect.toSingleRange(this.multiSelect.toOrientedRange()):this.multiSelect.mergeOverlappingRanges()}},this.findAll=function(e,t,n){t=t||{},t.needle=e||t.needle;if(t.needle==undefined){var r=this.selection.isEmpty()?this.selection.getWordRange():this.selection.getRange();t.needle=this.session.getTextRange(r)}this.$search.set(t);var i=this.$search.findAll(this.session);if(!i.length)return 0;var s=this.multiSelect;n||s.toSingleRange(i[0]);for(var o=i.length;o--;)s.addRange(i[o],!0);return r&&s.rangeList.rangeAtPoint(r.start)&&s.addRange(r,!0),i.length},this.selectMoreLines=function(e,t){var n=this.selection.toOrientedRange(),r=n.cursor==n.end,s=this.session.documentToScreenPosition(n.cursor);this.selection.$desiredColumn&&(s.column=this.selection.$desiredColumn);var o=this.session.screenToDocumentPosition(s.row+e,s.column);if(!n.isEmpty())var u=this.session.documentToScreenPosition(r?n.end:n.start),a=this.session.screenToDocumentPosition(u.row+e,u.column);else var a=o;if(r){var f=i.fromPoints(o,a);f.cursor=f.start}else{var f=i.fromPoints(a,o);f.cursor=f.end}f.desiredColumn=s.column;if(!this.selection.inMultiSelectMode)this.selection.addRange(n);else if(t)var l=n.cursor;this.selection.addRange(f),l&&this.selection.substractPoint(l)},this.transposeSelections=function(e){var t=this.session,n=t.multiSelect,r=n.ranges;for(var i=r.length;i--;){var s=r[i];if(s.isEmpty()){var o=t.getWordRange(s.start.row,s.start.column);s.start.row=o.start.row,s.start.column=o.start.column,s.end.row=o.end.row,s.end.column=o.end.column}}n.mergeOverlappingRanges();var u=[];for(var i=r.length;i--;){var s=r[i];u.unshift(t.getTextRange(s))}e<0?u.unshift(u.pop()):u.push(u.shift());for(var i=r.length;i--;){var s=r[i],o=s.clone();t.replace(s,u[i]),s.start.row=o.start.row,s.start.column=o.start.column}n.fromOrientedRange(n.ranges[0])},this.selectMore=function(e,t,n){var r=this.session,i=r.multiSelect,s=i.toOrientedRange();if(s.isEmpty()){s=r.getWordRange(s.start.row,s.start.column),s.cursor=e==-1?s.start:s.end,this.multiSelect.addRange(s);if(n)return}var o=r.getTextRange(s),u=h(r,o,e);u&&(u.cursor=e==-1?u.start:u.end,this.session.unfold(u),this.multiSelect.addRange(u),this.renderer.scrollCursorIntoView(null,.5)),t&&this.multiSelect.substractPoint(s.cursor)},this.alignCursors=function(){var e=this.session,t=e.multiSelect,n=t.ranges,r=-1,s=n.filter(function(e){if(e.cursor.row==r)return!0;r=e.cursor.row});if(!n.length||s.length==n.length-1){var o=this.selection.getRange(),u=o.start.row,f=o.end.row,l=u==f;if(l){var c=this.session.getLength(),h;do h=this.session.getLine(f);while(/[=:]/.test(h)&&++f<c);do h=this.session.getLine(u);while(/[=:]/.test(h)&&--u>0);u<0&&(u=0),f>=c&&(f=c-1)}var p=this.session.removeFullLines(u,f);p=this.$reAlignText(p,l),this.session.insert({row:u,column:0},p.join("\n")+"\n"),l||(o.start.column=0,o.end.column=p[p.length-1].length),this.selection.setRange(o)}else{s.forEach(function(e){t.substractPoint(e.cursor)});var d=0,v=Infinity,m=n.map(function(t){var n=t.cursor,r=e.getLine(n.row),i=r.substr(n.column).search(/\S/g);return i==-1&&(i=0),n.column>d&&(d=n.column),i<v&&(v=i),i});n.forEach(function(t,n){var r=t.cursor,s=d-r.column,o=m[n]-v;s>o?e.insert(r,a.stringRepeat(" ",s-o)):e.remove(new i(r.row,r.column,r.row,r.column-s+o)),t.start.column=t.end.column=d,t.start.row=t.end.row=r.row,t.cursor=t.end}),t.fromOrientedRange(n[0]),this.renderer.updateCursor(),this.renderer.updateBackMarkers()}},this.$reAlignText=function(e,t){function u(e){return a.stringRepeat(" ",e)}function f(e){return e[2]?u(i)+e[2]+u(s-e[2].length+o)+e[4].replace(/^([=:])\s+/,"$1 "):e[0]}function l(e){return e[2]?u(i+s-e[2].length)+e[2]+u(o)+e[4].replace(/^([=:])\s+/,"$1 "):e[0]}function c(e){return e[2]?u(i)+e[2]+u(o)+e[4].replace(/^([=:])\s+/,"$1 "):e[0]}var n=!0,r=!0,i,s,o;return e.map(function(e){var t=e.match(/(\s*)(.*?)(\s*)([=:].*)/);return t?i==null?(i=t[1].length,s=t[2].length,o=t[3].length,t):(i+s+o!=t[1].length+t[2].length+t[3].length&&(r=!1),i!=t[1].length&&(n=!1),i>t[1].length&&(i=t[1].length),s<t[2].length&&(s=t[2].length),o>t[3].length&&(o=t[3].length),t):[e]}).map(t?f:n?r?l:f:c)}}).call(d.prototype),t.onSessionChange=function(e){var t=e.session;t&&!t.multiSelect&&(t.$selectionMarkers=[],t.selection.$initRangeList(),t.multiSelect=t.selection),this.multiSelect=t&&t.multiSelect;var n=e.oldSession;n&&(n.multiSelect.off("addRange",this.$onAddRange),n.multiSelect.off("removeRange",this.$onRemoveRange),n.multiSelect.off("multiSelect",this.$onMultiSelect),n.multiSelect.off("singleSelect",this.$onSingleSelect),n.multiSelect.lead.off("change",this.$checkMultiselectChange),n.multiSelect.anchor.off("change",this.$checkMultiselectChange)),t&&(t.multiSelect.on("addRange",this.$onAddRange),t.multiSelect.on("removeRange",this.$onRemoveRange),t.multiSelect.on("multiSelect",this.$onMultiSelect),t.multiSelect.on("singleSelect",this.$onSingleSelect),t.multiSelect.lead.on("change",this.$checkMultiselectChange),t.multiSelect.anchor.on("change",this.$checkMultiselectChange)),t&&this.inMultiSelectMode!=t.selection.inMultiSelectMode&&(t.selection.inMultiSelectMode?this.$onMultiSelect():this.$onSingleSelect())},t.MultiSelect=m,e("./config").defineOptions(d.prototype,"editor",{enableMultiselect:{set:function(e){m(this),e?(this.on("changeSession",this.$multiselectOnSessionChange),this.on("mousedown",o)):(this.off("changeSession",this.$multiselectOnSessionChange),this.off("mousedown",o))},value:!0},enableBlockSelect:{set:function(e){this.$blockSelectEnabled=e},value:!0}})}),ace.define("ace/mode/folding/fold_mode",["require","exports","module","ace/range"],function(e,t,n){"use strict";var r=e("../../range").Range,i=t.FoldMode=function(){};(function(){this.foldingStartMarker=null,this.foldingStopMarker=null,this.getFoldWidget=function(e,t,n){var r=e.getLine(n);return this.foldingStartMarker.test(r)?"start":t=="markbeginend"&&this.foldingStopMarker&&this.foldingStopMarker.test(r)?"end":""},this.getFoldWidgetRange=function(e,t,n){return null},this.indentationBlock=function(e,t,n){var i=/\S/,s=e.getLine(t),o=s.search(i);if(o==-1)return;var u=n||s.length,a=e.getLength(),f=t,l=t;while(++t<a){var c=e.getLine(t).search(i);if(c==-1)continue;if(c<=o)break;l=t}if(l>f){var h=e.getLine(l).length;return new r(f,u,l,h)}},this.openingBracketBlock=function(e,t,n,i,s){var o={row:n,column:i+1},u=e.$findClosingBracket(t,o,s);if(!u)return;var a=e.foldWidgets[u.row];return a==null&&(a=e.getFoldWidget(u.row)),a=="start"&&u.row>o.row&&(u.row--,u.column=e.getLine(u.row).length),r.fromPoints(o,u)},this.closingBracketBlock=function(e,t,n,i,s){var o={row:n,column:i},u=e.$findOpeningBracket(t,o);if(!u)return;return u.column++,o.column--,r.fromPoints(u,o)}}).call(i.prototype)}),ace.define("ace/theme/textmate",["require","exports","module","ace/lib/dom"],function(e,t,n){"use strict";t.isDark=!1,t.cssClass="ace-tm",t.cssText='.ace-tm .ace_gutter {background: #f0f0f0;color: #333;}.ace-tm .ace_print-margin {width: 1px;background: #e8e8e8;}.ace-tm .ace_fold {background-color: #6B72E6;}.ace-tm {background-color: #FFFFFF;color: black;}.ace-tm .ace_cursor {color: black;}.ace-tm .ace_invisible {color: rgb(191, 191, 191);}.ace-tm .ace_storage,.ace-tm .ace_keyword {color: blue;}.ace-tm .ace_constant {color: rgb(197, 6, 11);}.ace-tm .ace_constant.ace_buildin {color: rgb(88, 72, 246);}.ace-tm .ace_constant.ace_language {color: rgb(88, 92, 246);}.ace-tm .ace_constant.ace_library {color: rgb(6, 150, 14);}.ace-tm .ace_invalid {background-color: rgba(255, 0, 0, 0.1);color: red;}.ace-tm .ace_support.ace_function {color: rgb(60, 76, 114);}.ace-tm .ace_support.ace_constant {color: rgb(6, 150, 14);}.ace-tm .ace_support.ace_type,.ace-tm .ace_support.ace_class {color: rgb(109, 121, 222);}.ace-tm .ace_keyword.ace_operator {color: rgb(104, 118, 135);}.ace-tm .ace_string {color: rgb(3, 106, 7);}.ace-tm .ace_comment {color: rgb(76, 136, 107);}.ace-tm .ace_comment.ace_doc {color: rgb(0, 102, 255);}.ace-tm .ace_comment.ace_doc.ace_tag {color: rgb(128, 159, 191);}.ace-tm .ace_constant.ace_numeric {color: rgb(0, 0, 205);}.ace-tm .ace_variable {color: rgb(49, 132, 149);}.ace-tm .ace_xml-pe {color: rgb(104, 104, 91);}.ace-tm .ace_entity.ace_name.ace_function {color: #0000A2;}.ace-tm .ace_heading {color: rgb(12, 7, 255);}.ace-tm .ace_list {color:rgb(185, 6, 144);}.ace-tm .ace_meta.ace_tag {color:rgb(0, 22, 142);}.ace-tm .ace_string.ace_regex {color: rgb(255, 0, 0)}.ace-tm .ace_marker-layer .ace_selection {background: rgb(181, 213, 255);}.ace-tm.ace_multiselect .ace_selection.ace_start {box-shadow: 0 0 3px 0px white;}.ace-tm .ace_marker-layer .ace_step {background: rgb(252, 255, 0);}.ace-tm .ace_marker-layer .ace_stack {background: rgb(164, 229, 101);}.ace-tm .ace_marker-layer .ace_bracket {margin: -1px 0 0 -1px;border: 1px solid rgb(192, 192, 192);}.ace-tm .ace_marker-layer .ace_active-line {background: rgba(0, 0, 0, 0.07);}.ace-tm .ace_gutter-active-line {background-color : #dcdcdc;}.ace-tm .ace_marker-layer .ace_selected-word {background: rgb(250, 250, 255);border: 1px solid rgb(200, 200, 250);}.ace-tm .ace_indent-guide {background: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAACCAYAAACZgbYnAAAAE0lEQVQImWP4////f4bLly//BwAmVgd1/w11/gAAAABJRU5ErkJggg==") right repeat-y;}',t.$id="ace/theme/textmate";var r=e("../lib/dom");r.importCssString(t.cssText,t.cssClass)}),ace.define("ace/line_widgets",["require","exports","module","ace/lib/oop","ace/lib/dom","ace/range"],function(e,t,n){"use strict";function o(e){this.session=e,this.session.widgetManager=this,this.session.getRowLength=this.getRowLength,this.session.$getWidgetScreenLength=this.$getWidgetScreenLength,this.updateOnChange=this.updateOnChange.bind(this),this.renderWidgets=this.renderWidgets.bind(this),this.measureWidgets=this.measureWidgets.bind(this),this.session._changedWidgets=[],this.$onChangeEditor=this.$onChangeEditor.bind(this),this.session.on("change",this.updateOnChange),this.session.on("changeFold",this.updateOnFold),this.session.on("changeEditor",this.$onChangeEditor)}var r=e("./lib/oop"),i=e("./lib/dom"),s=e("./range").Range;(function(){this.getRowLength=function(e){var t;return this.lineWidgets?t=this.lineWidgets[e]&&this.lineWidgets[e].rowCount||0:t=0,!this.$useWrapMode||!this.$wrapData[e]?1+t:this.$wrapData[e].length+1+t},this.$getWidgetScreenLength=function(){var e=0;return this.lineWidgets.forEach(function(t){t&&t.rowCount&&!t.hidden&&(e+=t.rowCount)}),e},this.$onChangeEditor=function(e){this.attach(e.editor)},this.attach=function(e){e&&e.widgetManager&&e.widgetManager!=this&&e.widgetManager.detach();if(this.editor==e)return;this.detach(),this.editor=e,e&&(e.widgetManager=this,e.renderer.on("beforeRender",this.measureWidgets),e.renderer.on("afterRender",this.renderWidgets))},this.detach=function(e){var t=this.editor;if(!t)return;this.editor=null,t.widgetManager=null,t.renderer.off("beforeRender",this.measureWidgets),t.renderer.off("afterRender",this.renderWidgets);var n=this.session.lineWidgets;n&&n.forEach(function(e){e&&e.el&&e.el.parentNode&&(e._inDocument=!1,e.el.parentNode.removeChild(e.el))})},this.updateOnFold=function(e,t){var n=t.lineWidgets;if(!n||!e.action)return;var r=e.data,i=r.start.row,s=r.end.row,o=e.action=="add";for(var u=i+1;u<s;u++)n[u]&&(n[u].hidden=o);n[s]&&(o?n[i]?n[s].hidden=o:n[i]=n[s]:(n[i]==n[s]&&(n[i]=undefined),n[s].hidden=o))},this.updateOnChange=function(e){var t=this.session.lineWidgets;if(!t)return;var n=e.start.row,r=e.end.row-n;if(r!==0)if(e.action=="remove"){var i=t.splice(n+1,r);i.forEach(function(e){e&&this.removeLineWidget(e)},this),this.$updateRows()}else{var s=new Array(r);s.unshift(n,0),t.splice.apply(t,s),this.$updateRows()}},this.$updateRows=function(){var e=this.session.lineWidgets;if(!e)return;var t=!0;e.forEach(function(e,n){if(e){t=!1,e.row=n;while(e.$oldWidget)e.$oldWidget.row=n,e=e.$oldWidget}}),t&&(this.session.lineWidgets=null)},this.addLineWidget=function(e){this.session.lineWidgets||(this.session.lineWidgets=new Array(this.session.getLength()));var t=this.session.lineWidgets[e.row];t&&(e.$oldWidget=t,t.el&&t.el.parentNode&&(t.el.parentNode.removeChild(t.el),t._inDocument=!1)),this.session.lineWidgets[e.row]=e,e.session=this.session;var n=this.editor.renderer;e.html&&!e.el&&(e.el=i.createElement("div"),e.el.innerHTML=e.html),e.el&&(i.addCssClass(e.el,"ace_lineWidgetContainer"),e.el.style.position="absolute",e.el.style.zIndex=5,n.container.appendChild(e.el),e._inDocument=!0),e.coverGutter||(e.el.style.zIndex=3),e.pixelHeight==null&&(e.pixelHeight=e.el.offsetHeight),e.rowCount==null&&(e.rowCount=e.pixelHeight/n.layerConfig.lineHeight);var r=this.session.getFoldAt(e.row,0);e.$fold=r;if(r){var s=this.session.lineWidgets;e.row==r.end.row&&!s[r.start.row]?s[r.start.row]=e:e.hidden=!0}return this.session._emit("changeFold",{data:{start:{row:e.row}}}),this.$updateRows(),this.renderWidgets(null,n),this.onWidgetChanged(e),e},this.removeLineWidget=function(e){e._inDocument=!1,e.session=null,e.el&&e.el.parentNode&&e.el.parentNode.removeChild(e.el);if(e.editor&&e.editor.destroy)try{e.editor.destroy()}catch(t){}if(this.session.lineWidgets){var n=this.session.lineWidgets[e.row];if(n==e)this.session.lineWidgets[e.row]=e.$oldWidget,e.$oldWidget&&this.onWidgetChanged(e.$oldWidget);else while(n){if(n.$oldWidget==e){n.$oldWidget=e.$oldWidget;break}n=n.$oldWidget}}this.session._emit("changeFold",{data:{start:{row:e.row}}}),this.$updateRows()},this.getWidgetsAtRow=function(e){var t=this.session.lineWidgets,n=t&&t[e],r=[];while(n)r.push(n),n=n.$oldWidget;return r},this.onWidgetChanged=function(e){this.session._changedWidgets.push(e),this.editor&&this.editor.renderer.updateFull()},this.measureWidgets=function(e,t){var n=this.session._changedWidgets,r=t.layerConfig;if(!n||!n.length)return;var i=Infinity;for(var s=0;s<n.length;s++){var o=n[s];if(!o||!o.el)continue;if(o.session!=this.session)continue;if(!o._inDocument){if(this.session.lineWidgets[o.row]!=o)continue;o._inDocument=!0,t.container.appendChild(o.el)}o.h=o.el.offsetHeight,o.fixedWidth||(o.w=o.el.offsetWidth,o.screenWidth=Math.ceil(o.w/r.characterWidth));var u=o.h/r.lineHeight;o.coverLine&&(u-=this.session.getRowLineCount(o.row),u<0&&(u=0)),o.rowCount!=u&&(o.rowCount=u,o.row<i&&(i=o.row))}i!=Infinity&&(this.session._emit("changeFold",{data:{start:{row:i}}}),this.session.lineWidgetWidth=null),this.session._changedWidgets=[]},this.renderWidgets=function(e,t){var n=t.layerConfig,r=this.session.lineWidgets;if(!r)return;var i=Math.min(this.firstRow,n.firstRow),s=Math.max(this.lastRow,n.lastRow,r.length);while(i>0&&!r[i])i--;this.firstRow=n.firstRow,this.lastRow=n.lastRow,t.$cursorLayer.config=n;for(var o=i;o<=s;o++){var u=r[o];if(!u||!u.el)continue;if(u.hidden){u.el.style.top=-100-(u.pixelHeight||0)+"px";continue}u._inDocument||(u._inDocument=!0,t.container.appendChild(u.el));var a=t.$cursorLayer.getPixelPosition({row:o,column:0},!0).top;u.coverLine||(a+=n.lineHeight*this.session.getRowLineCount(u.row)),u.el.style.top=a-n.offset+"px";var f=u.coverGutter?0:t.gutterWidth;u.fixedWidth||(f-=t.scrollLeft),u.el.style.left=f+"px",u.fullWidth&&u.screenWidth&&(u.el.style.minWidth=n.width+2*n.padding+"px"),u.fixedWidth?u.el.style.right=t.scrollBar.getWidth()+"px":u.el.style.right=""}}}).call(o.prototype),t.LineWidgets=o}),ace.define("ace/ext/error_marker",["require","exports","module","ace/line_widgets","ace/lib/dom","ace/range"],function(e,t,n){"use strict";function o(e,t,n){var r=0,i=e.length-1;while(r<=i){var s=r+i>>1,o=n(t,e[s]);if(o>0)r=s+1;else{if(!(o<0))return s;i=s-1}}return-(r+1)}function u(e,t,n){var r=e.getAnnotations().sort(s.comparePoints);if(!r.length)return;var i=o(r,{row:t,column:-1},s.comparePoints);i<0&&(i=-i-1),i>=r.length?i=n>0?0:r.length-1:i===0&&n<0&&(i=r.length-1);var u=r[i];if(!u||!n)return;if(u.row===t){do u=r[i+=n];while(u&&u.row===t);if(!u)return r.slice()}var a=[];t=u.row;do a[n<0?"unshift":"push"](u),u=r[i+=n];while(u&&u.row==t);return a.length&&a}var r=e("../line_widgets").LineWidgets,i=e("../lib/dom"),s=e("../range").Range;t.showErrorMarker=function(e,t){var n=e.session;n.widgetManager||(n.widgetManager=new r(n),n.widgetManager.attach(e));var s=e.getCursorPosition(),o=s.row,a=n.widgetManager.getWidgetsAtRow(o).filter(function(e){return e.type=="errorMarker"})[0];a?a.destroy():o-=t;var f=u(n,o,t),l;if(f){var c=f[0];s.column=(c.pos&&typeof c.column!="number"?c.pos.sc:c.column)||0,s.row=c.row,l=e.renderer.$gutterLayer.$annotations[s.row]}else{if(a)return;l={text:["Looks good!"],className:"ace_ok"}}e.session.unfold(s.row),e.selection.moveToPosition(s);var h={row:s.row,fixedWidth:!0,coverGutter:!0,el:i.createElement("div"),type:"errorMarker"},p=h.el.appendChild(i.createElement("div")),d=h.el.appendChild(i.createElement("div"));d.className="error_widget_arrow "+l.className;var v=e.renderer.$cursorLayer.getPixelPosition(s).left;d.style.left=v+e.renderer.gutterWidth-5+"px",h.el.className="error_widget_wrapper",p.className="error_widget "+l.className,p.innerHTML=l.text.join("<br>"),p.appendChild(i.createElement("div"));var m=function(e,t,n){if(t===0&&(n==="esc"||n==="return"))return h.destroy(),{command:"null"}};h.destroy=function(){if(e.$mouseHandler.isMousePressed)return;e.keyBinding.removeKeyboardHandler(m),n.widgetManager.removeLineWidget(h),e.off("changeSelection",h.destroy),e.off("changeSession",h.destroy),e.off("mouseup",h.destroy),e.off("change",h.destroy)},e.keyBinding.addKeyboardHandler(m),e.on("changeSelection",h.destroy),e.on("changeSession",h.destroy),e.on("mouseup",h.destroy),e.on("change",h.destroy),e.session.widgetManager.addLineWidget(h),h.el.onmousedown=e.focus.bind(e),e.renderer.scrollCursorIntoView(null,.5,{bottom:h.el.offsetHeight})},i.importCssString(" .error_widget_wrapper { background: inherit; color: inherit; border:none } .error_widget { border-top: solid 2px; border-bottom: solid 2px; margin: 5px 0; padding: 10px 40px; white-space: pre-wrap; } .error_widget.ace_error, .error_widget_arrow.ace_error{ border-color: #ff5a5a } .error_widget.ace_warning, .error_widget_arrow.ace_warning{ border-color: #F1D817 } .error_widget.ace_info, .error_widget_arrow.ace_info{ border-color: #5a5a5a } .error_widget.ace_ok, .error_widget_arrow.ace_ok{ border-color: #5aaa5a } .error_widget_arrow { position: absolute; border: solid 5px; border-top-color: transparent!important; border-right-color: transparent!important; border-left-color: transparent!important; top: -5px; }","")}),ace.define("ace/ace",["require","exports","module","ace/lib/fixoldbrowsers","ace/lib/dom","ace/lib/event","ace/range","ace/editor","ace/edit_session","ace/undomanager","ace/virtual_renderer","ace/worker/worker_client","ace/keyboard/hash_handler","ace/placeholder","ace/multi_select","ace/mode/folding/fold_mode","ace/theme/textmate","ace/ext/error_marker","ace/config"],function(e,t,n){"use strict";e("./lib/fixoldbrowsers");var r=e("./lib/dom"),i=e("./lib/event"),s=e("./range").Range,o=e("./editor").Editor,u=e("./edit_session").EditSession,a=e("./undomanager").UndoManager,f=e("./virtual_renderer").VirtualRenderer;e("./worker/worker_client"),e("./keyboard/hash_handler"),e("./placeholder"),e("./multi_select"),e("./mode/folding/fold_mode"),e("./theme/textmate"),e("./ext/error_marker"),t.config=e("./config"),t.require=e,typeof define=="function"&&(t.define=define),t.edit=function(e,n){if(typeof e=="string"){var s=e;e=document.getElementById(s);if(!e)throw new Error("ace.edit can't find div #"+s)}if(e&&e.env&&e.env.editor instanceof o)return e.env.editor;var u="";if(e&&/input|textarea/i.test(e.tagName)){var a=e;u=a.value,e=r.createElement("pre"),a.parentNode.replaceChild(e,a)}else e&&(u=e.textContent,e.innerHTML="");var l=t.createEditSession(u),c=new o(new f(e),l,n),h={document:l,editor:c,onResize:c.resize.bind(c,null)};return a&&(h.textarea=a),i.addListener(window,"resize",h.onResize),c.on("destroy",function(){i.removeListener(window,"resize",h.onResize),h.editor.container.env=null}),c.container.env=c.env=h,c},t.createEditSession=function(e,t){var n=new u(e,t);return n.setUndoManager(new a),n},t.Range=s,t.Editor=o,t.EditSession=u,t.UndoManager=a,t.VirtualRenderer=f,t.version=t.config.version}); (function() {
  393. ace.require(["ace/ace"], function(a) {
  394. if (a) {
  395. a.config.init(true);
  396. a.define = ace.define;
  397. }
  398. if (!window.ace)
  399. window.ace = a;
  400. for (var key in a) if (a.hasOwnProperty(key))
  401. window.ace[key] = a[key];
  402. window.ace["default"] = window.ace;
  403. if (typeof module == "object" && typeof exports == "object" && module) {
  404. module.exports = window.ace;
  405. }
  406. });
  407. })();
  408. ace.define("ace/mode/doc_comment_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/text_highlight_rules"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("./text_highlight_rules").TextHighlightRules,s=function(){this.$rules={start:[{token:"comment.doc.tag",regex:"@[\\w\\d_]+"},s.getTagRule(),{defaultToken:"comment.doc",caseInsensitive:!0}]}};r.inherits(s,i),s.getTagRule=function(e){return{token:"comment.doc.tag.storage.type",regex:"\\b(?:TODO|FIXME|XXX|HACK)\\b"}},s.getStartRule=function(e){return{token:"comment.doc",regex:"\\/\\*(?=\\*)",next:e}},s.getEndRule=function(e){return{token:"comment.doc",regex:"\\*\\/",next:e}},t.DocCommentHighlightRules=s}),ace.define("ace/mode/javascript_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/doc_comment_highlight_rules","ace/mode/text_highlight_rules"],function(e,t,n){"use strict";function a(){var e=o.replace("\\d","\\d\\-"),t={onMatch:function(e,t,n){var r=e.charAt(1)=="/"?2:1;if(r==1)t!=this.nextState?n.unshift(this.next,this.nextState,0):n.unshift(this.next),n[2]++;else if(r==2&&t==this.nextState){n[1]--;if(!n[1]||n[1]<0)n.shift(),n.shift()}return[{type:"meta.tag.punctuation."+(r==1?"":"end-")+"tag-open.xml",value:e.slice(0,r)},{type:"meta.tag.tag-name.xml",value:e.substr(r)}]},regex:"</?"+e+"",next:"jsxAttributes",nextState:"jsx"};this.$rules.start.unshift(t);var n={regex:"{",token:"paren.quasi.start",push:"start"};this.$rules.jsx=[n,t,{include:"reference"},{defaultToken:"string"}],this.$rules.jsxAttributes=[{token:"meta.tag.punctuation.tag-close.xml",regex:"/?>",onMatch:function(e,t,n){return t==n[0]&&n.shift(),e.length==2&&(n[0]==this.nextState&&n[1]--,(!n[1]||n[1]<0)&&n.splice(0,2)),this.next=n[0]||"start",[{type:this.token,value:e}]},nextState:"jsx"},n,f("jsxAttributes"),{token:"entity.other.attribute-name.xml",regex:e},{token:"keyword.operator.attribute-equals.xml",regex:"="},{token:"text.tag-whitespace.xml",regex:"\\s+"},{token:"string.attribute-value.xml",regex:"'",stateName:"jsx_attr_q",push:[{token:"string.attribute-value.xml",regex:"'",next:"pop"},{include:"reference"},{defaultToken:"string.attribute-value.xml"}]},{token:"string.attribute-value.xml",regex:'"',stateName:"jsx_attr_qq",push:[{token:"string.attribute-value.xml",regex:'"',next:"pop"},{include:"reference"},{defaultToken:"string.attribute-value.xml"}]},t],this.$rules.reference=[{token:"constant.language.escape.reference.xml",regex:"(?:&#[0-9]+;)|(?:&#x[0-9a-fA-F]+;)|(?:&[a-zA-Z0-9_:\\.-]+;)"}]}function f(e){return[{token:"comment",regex:/\/\*/,next:[i.getTagRule(),{token:"comment",regex:"\\*\\/",next:e||"pop"},{defaultToken:"comment",caseInsensitive:!0}]},{token:"comment",regex:"\\/\\/",next:[i.getTagRule(),{token:"comment",regex:"$|^",next:e||"pop"},{defaultToken:"comment",caseInsensitive:!0}]}]}var r=e("../lib/oop"),i=e("./doc_comment_highlight_rules").DocCommentHighlightRules,s=e("./text_highlight_rules").TextHighlightRules,o="[a-zA-Z\\$_\u00a1-\uffff][a-zA-Z\\d\\$_\u00a1-\uffff]*",u=function(e){var t=this.createKeywordMapper({"variable.language":"Array|Boolean|Date|Function|Iterator|Number|Object|RegExp|String|Proxy|Namespace|QName|XML|XMLList|ArrayBuffer|Float32Array|Float64Array|Int16Array|Int32Array|Int8Array|Uint16Array|Uint32Array|Uint8Array|Uint8ClampedArray|Error|EvalError|InternalError|RangeError|ReferenceError|StopIteration|SyntaxError|TypeError|URIError|decodeURI|decodeURIComponent|encodeURI|encodeURIComponent|eval|isFinite|isNaN|parseFloat|parseInt|JSON|Math|this|arguments|prototype|window|document",keyword:"const|yield|import|get|set|async|await|break|case|catch|continue|default|delete|do|else|finally|for|function|if|in|of|instanceof|new|return|switch|throw|try|typeof|let|var|while|with|debugger|__parent__|__count__|escape|unescape|with|__proto__|class|enum|extends|super|export|implements|private|public|interface|package|protected|static","storage.type":"const|let|var|function","constant.language":"null|Infinity|NaN|undefined","support.function":"alert","constant.language.boolean":"true|false"},"identifier"),n="case|do|else|finally|in|instanceof|return|throw|try|typeof|yield|void",r="\\\\(?:x[0-9a-fA-F]{2}|u[0-9a-fA-F]{4}|u{[0-9a-fA-F]{1,6}}|[0-2][0-7]{0,2}|3[0-7][0-7]?|[4-7][0-7]?|.)";this.$rules={no_regex:[i.getStartRule("doc-start"),f("no_regex"),{token:"string",regex:"'(?=.)",next:"qstring"},{token:"string",regex:'"(?=.)',next:"qqstring"},{token:"constant.numeric",regex:/0(?:[xX][0-9a-fA-F]+|[oO][0-7]+|[bB][01]+)\b/},{token:"constant.numeric",regex:/(?:\d\d*(?:\.\d*)?|\.\d+)(?:[eE][+-]?\d+\b)?/},{token:["storage.type","punctuation.operator","support.function","punctuation.operator","entity.name.function","text","keyword.operator"],regex:"("+o+")(\\.)(prototype)(\\.)("+o+")(\\s*)(=)",next:"function_arguments"},{token:["storage.type","punctuation.operator","entity.name.function","text","keyword.operator","text","storage.type","text","paren.lparen"],regex:"("+o+")(\\.)("+o+")(\\s*)(=)(\\s*)(function)(\\s*)(\\()",next:"function_arguments"},{token:["entity.name.function","text","keyword.operator","text","storage.type","text","paren.lparen"],regex:"("+o+")(\\s*)(=)(\\s*)(function)(\\s*)(\\()",next:"function_arguments"},{token:["storage.type","punctuation.operator","entity.name.function","text","keyword.operator","text","storage.type","text","entity.name.function","text","paren.lparen"],regex:"("+o+")(\\.)("+o+")(\\s*)(=)(\\s*)(function)(\\s+)(\\w+)(\\s*)(\\()",next:"function_arguments"},{token:["storage.type","text","entity.name.function","text","paren.lparen"],regex:"(function)(\\s+)("+o+")(\\s*)(\\()",next:"function_arguments"},{token:["entity.name.function","text","punctuation.operator","text","storage.type","text","paren.lparen"],regex:"("+o+")(\\s*)(:)(\\s*)(function)(\\s*)(\\()",next:"function_arguments"},{token:["text","text","storage.type","text","paren.lparen"],regex:"(:)(\\s*)(function)(\\s*)(\\()",next:"function_arguments"},{token:"keyword",regex:"from(?=\\s*('|\"))"},{token:"keyword",regex:"(?:"+n+")\\b",next:"start"},{token:["support.constant"],regex:/that\b/},{token:["storage.type","punctuation.operator","support.function.firebug"],regex:/(console)(\.)(warn|info|log|error|time|trace|timeEnd|assert)\b/},{token:t,regex:o},{token:"punctuation.operator",regex:/[.](?![.])/,next:"property"},{token:"storage.type",regex:/=>/,next:"start"},{token:"keyword.operator",regex:/--|\+\+|\.{3}|===|==|=|!=|!==|<+=?|>+=?|!|&&|\|\||\?:|[!$%&*+\-~\/^]=?/,next:"start"},{token:"punctuation.operator",regex:/[?:,;.]/,next:"start"},{token:"paren.lparen",regex:/[\[({]/,next:"start"},{token:"paren.rparen",regex:/[\])}]/},{token:"comment",regex:/^#!.*$/}],property:[{token:"text",regex:"\\s+"},{token:["storage.type","punctuation.operator","entity.name.function","text","keyword.operator","text","storage.type","text","entity.name.function","text","paren.lparen"],regex:"("+o+")(\\.)("+o+")(\\s*)(=)(\\s*)(function)(?:(\\s+)(\\w+))?(\\s*)(\\()",next:"function_arguments"},{token:"punctuation.operator",regex:/[.](?![.])/},{token:"support.function",regex:/(s(?:h(?:ift|ow(?:Mod(?:elessDialog|alDialog)|Help))|croll(?:X|By(?:Pages|Lines)?|Y|To)?|t(?:op|rike)|i(?:n|zeToContent|debar|gnText)|ort|u(?:p|b(?:str(?:ing)?)?)|pli(?:ce|t)|e(?:nd|t(?:Re(?:sizable|questHeader)|M(?:i(?:nutes|lliseconds)|onth)|Seconds|Ho(?:tKeys|urs)|Year|Cursor|Time(?:out)?|Interval|ZOptions|Date|UTC(?:M(?:i(?:nutes|lliseconds)|onth)|Seconds|Hours|Date|FullYear)|FullYear|Active)|arch)|qrt|lice|avePreferences|mall)|h(?:ome|andleEvent)|navigate|c(?:har(?:CodeAt|At)|o(?:s|n(?:cat|textual|firm)|mpile)|eil|lear(?:Timeout|Interval)?|a(?:ptureEvents|ll)|reate(?:StyleSheet|Popup|EventObject))|t(?:o(?:GMTString|S(?:tring|ource)|U(?:TCString|pperCase)|Lo(?:caleString|werCase))|est|a(?:n|int(?:Enabled)?))|i(?:s(?:NaN|Finite)|ndexOf|talics)|d(?:isableExternalCapture|ump|etachEvent)|u(?:n(?:shift|taint|escape|watch)|pdateCommands)|j(?:oin|avaEnabled)|p(?:o(?:p|w)|ush|lugins.refresh|a(?:ddings|rse(?:Int|Float)?)|r(?:int|ompt|eference))|e(?:scape|nableExternalCapture|val|lementFromPoint|x(?:p|ec(?:Script|Command)?))|valueOf|UTC|queryCommand(?:State|Indeterm|Enabled|Value)|f(?:i(?:nd|le(?:ModifiedDate|Size|CreatedDate|UpdatedDate)|xed)|o(?:nt(?:size|color)|rward)|loor|romCharCode)|watch|l(?:ink|o(?:ad|g)|astIndexOf)|a(?:sin|nchor|cos|t(?:tachEvent|ob|an(?:2)?)|pply|lert|b(?:s|ort))|r(?:ou(?:nd|teEvents)|e(?:size(?:By|To)|calc|turnValue|place|verse|l(?:oad|ease(?:Capture|Events)))|andom)|g(?:o|et(?:ResponseHeader|M(?:i(?:nutes|lliseconds)|onth)|Se(?:conds|lection)|Hours|Year|Time(?:zoneOffset)?|Da(?:y|te)|UTC(?:M(?:i(?:nutes|lliseconds)|onth)|Seconds|Hours|Da(?:y|te)|FullYear)|FullYear|A(?:ttention|llResponseHeaders)))|m(?:in|ove(?:B(?:y|elow)|To(?:Absolute)?|Above)|ergeAttributes|a(?:tch|rgins|x))|b(?:toa|ig|o(?:ld|rderWidths)|link|ack))\b(?=\()/},{token:"support.function.dom",regex:/(s(?:ub(?:stringData|mit)|plitText|e(?:t(?:NamedItem|Attribute(?:Node)?)|lect))|has(?:ChildNodes|Feature)|namedItem|c(?:l(?:ick|o(?:se|neNode))|reate(?:C(?:omment|DATASection|aption)|T(?:Head|extNode|Foot)|DocumentFragment|ProcessingInstruction|E(?:ntityReference|lement)|Attribute))|tabIndex|i(?:nsert(?:Row|Before|Cell|Data)|tem)|open|delete(?:Row|C(?:ell|aption)|T(?:Head|Foot)|Data)|focus|write(?:ln)?|a(?:dd|ppend(?:Child|Data))|re(?:set|place(?:Child|Data)|move(?:NamedItem|Child|Attribute(?:Node)?)?)|get(?:NamedItem|Element(?:sBy(?:Name|TagName|ClassName)|ById)|Attribute(?:Node)?)|blur)\b(?=\()/},{token:"support.constant",regex:/(s(?:ystemLanguage|cr(?:ipts|ollbars|een(?:X|Y|Top|Left))|t(?:yle(?:Sheets)?|atus(?:Text|bar)?)|ibling(?:Below|Above)|ource|uffixes|e(?:curity(?:Policy)?|l(?:ection|f)))|h(?:istory|ost(?:name)?|as(?:h|Focus))|y|X(?:MLDocument|SLDocument)|n(?:ext|ame(?:space(?:s|URI)|Prop))|M(?:IN_VALUE|AX_VALUE)|c(?:haracterSet|o(?:n(?:structor|trollers)|okieEnabled|lorDepth|mp(?:onents|lete))|urrent|puClass|l(?:i(?:p(?:boardData)?|entInformation)|osed|asses)|alle(?:e|r)|rypto)|t(?:o(?:olbar|p)|ext(?:Transform|Indent|Decoration|Align)|ags)|SQRT(?:1_2|2)|i(?:n(?:ner(?:Height|Width)|put)|ds|gnoreCase)|zIndex|o(?:scpu|n(?:readystatechange|Line)|uter(?:Height|Width)|p(?:sProfile|ener)|ffscreenBuffering)|NEGATIVE_INFINITY|d(?:i(?:splay|alog(?:Height|Top|Width|Left|Arguments)|rectories)|e(?:scription|fault(?:Status|Ch(?:ecked|arset)|View)))|u(?:ser(?:Profile|Language|Agent)|n(?:iqueID|defined)|pdateInterval)|_content|p(?:ixelDepth|ort|ersonalbar|kcs11|l(?:ugins|atform)|a(?:thname|dding(?:Right|Bottom|Top|Left)|rent(?:Window|Layer)?|ge(?:X(?:Offset)?|Y(?:Offset)?))|r(?:o(?:to(?:col|type)|duct(?:Sub)?|mpter)|e(?:vious|fix)))|e(?:n(?:coding|abledPlugin)|x(?:ternal|pando)|mbeds)|v(?:isibility|endor(?:Sub)?|Linkcolor)|URLUnencoded|P(?:I|OSITIVE_INFINITY)|f(?:ilename|o(?:nt(?:Size|Family|Weight)|rmName)|rame(?:s|Element)|gColor)|E|whiteSpace|l(?:i(?:stStyleType|n(?:eHeight|kColor))|o(?:ca(?:tion(?:bar)?|lName)|wsrc)|e(?:ngth|ft(?:Context)?)|a(?:st(?:M(?:odified|atch)|Index|Paren)|yer(?:s|X)|nguage))|a(?:pp(?:MinorVersion|Name|Co(?:deName|re)|Version)|vail(?:Height|Top|Width|Left)|ll|r(?:ity|guments)|Linkcolor|bove)|r(?:ight(?:Context)?|e(?:sponse(?:XML|Text)|adyState))|global|x|m(?:imeTypes|ultiline|enubar|argin(?:Right|Bottom|Top|Left))|L(?:N(?:10|2)|OG(?:10E|2E))|b(?:o(?:ttom|rder(?:Width|RightWidth|BottomWidth|Style|Color|TopWidth|LeftWidth))|ufferDepth|elow|ackground(?:Color|Image)))\b/},{token:"identifier",regex:o},{regex:"",token:"empty",next:"no_regex"}],start:[i.getStartRule("doc-start"),f("start"),{token:"string.regexp",regex:"\\/",next:"regex"},{token:"text",regex:"\\s+|^$",next:"start"},{token:"empty",regex:"",next:"no_regex"}],regex:[{token:"regexp.keyword.operator",regex:"\\\\(?:u[\\da-fA-F]{4}|x[\\da-fA-F]{2}|.)"},{token:"string.regexp",regex:"/[sxngimy]*",next:"no_regex"},{token:"invalid",regex:/\{\d+\b,?\d*\}[+*]|[+*$^?][+*]|[$^][?]|\?{3,}/},{token:"constant.language.escape",regex:/\(\?[:=!]|\)|\{\d+\b,?\d*\}|[+*]\?|[()$^+*?.]/},{token:"constant.language.delimiter",regex:/\|/},{token:"constant.language.escape",regex:/\[\^?/,next:"regex_character_class"},{token:"empty",regex:"$",next:"no_regex"},{defaultToken:"string.regexp"}],regex_character_class:[{token:"regexp.charclass.keyword.operator",regex:"\\\\(?:u[\\da-fA-F]{4}|x[\\da-fA-F]{2}|.)"},{token:"constant.language.escape",regex:"]",next:"regex"},{token:"constant.language.escape",regex:"-"},{token:"empty",regex:"$",next:"no_regex"},{defaultToken:"string.regexp.charachterclass"}],function_arguments:[{token:"variable.parameter",regex:o},{token:"punctuation.operator",regex:"[, ]+"},{token:"punctuation.operator",regex:"$"},{token:"empty",regex:"",next:"no_regex"}],qqstring:[{token:"constant.language.escape",regex:r},{token:"string",regex:"\\\\$",consumeLineEnd:!0},{token:"string",regex:'"|$',next:"no_regex"},{defaultToken:"string"}],qstring:[{token:"constant.language.escape",regex:r},{token:"string",regex:"\\\\$",consumeLineEnd:!0},{token:"string",regex:"'|$",next:"no_regex"},{defaultToken:"string"}]};if(!e||!e.noES6)this.$rules.no_regex.unshift({regex:"[{}]",onMatch:function(e,t,n){this.next=e=="{"?this.nextState:"";if(e=="{"&&n.length)n.unshift("start",t);else if(e=="}"&&n.length){n.shift(),this.next=n.shift();if(this.next.indexOf("string")!=-1||this.next.indexOf("jsx")!=-1)return"paren.quasi.end"}return e=="{"?"paren.lparen":"paren.rparen"},nextState:"start"},{token:"string.quasi.start",regex:/`/,push:[{token:"constant.language.escape",regex:r},{token:"paren.quasi.start",regex:/\${/,push:"start"},{token:"string.quasi.end",regex:/`/,next:"pop"},{defaultToken:"string.quasi"}]}),(!e||e.jsx!=0)&&a.call(this);this.embedRules(i,"doc-",[i.getEndRule("no_regex")]),this.normalizeRules()};r.inherits(u,s),t.JavaScriptHighlightRules=u}),ace.define("ace/mode/matching_brace_outdent",["require","exports","module","ace/range"],function(e,t,n){"use strict";var r=e("../range").Range,i=function(){};(function(){this.checkOutdent=function(e,t){return/^\s+$/.test(e)?/^\s*\}/.test(t):!1},this.autoOutdent=function(e,t){var n=e.getLine(t),i=n.match(/^(\s*\})/);if(!i)return 0;var s=i[1].length,o=e.findMatchingBracket({row:t,column:s});if(!o||o.row==t)return 0;var u=this.$getIndent(e.getLine(o.row));e.replace(new r(t,0,t,s-1),u)},this.$getIndent=function(e){return e.match(/^\s*/)[0]}}).call(i.prototype),t.MatchingBraceOutdent=i}),ace.define("ace/mode/folding/cstyle",["require","exports","module","ace/lib/oop","ace/range","ace/mode/folding/fold_mode"],function(e,t,n){"use strict";var r=e("../../lib/oop"),i=e("../../range").Range,s=e("./fold_mode").FoldMode,o=t.FoldMode=function(e){e&&(this.foldingStartMarker=new RegExp(this.foldingStartMarker.source.replace(/\|[^|]*?$/,"|"+e.start)),this.foldingStopMarker=new RegExp(this.foldingStopMarker.source.replace(/\|[^|]*?$/,"|"+e.end)))};r.inherits(o,s),function(){this.foldingStartMarker=/([\{\[\(])[^\}\]\)]*$|^\s*(\/\*)/,this.foldingStopMarker=/^[^\[\{\(]*([\}\]\)])|^[\s\*]*(\*\/)/,this.singleLineBlockCommentRe=/^\s*(\/\*).*\*\/\s*$/,this.tripleStarBlockCommentRe=/^\s*(\/\*\*\*).*\*\/\s*$/,this.startRegionRe=/^\s*(\/\*|\/\/)#?region\b/,this._getFoldWidgetBase=this.getFoldWidget,this.getFoldWidget=function(e,t,n){var r=e.getLine(n);if(this.singleLineBlockCommentRe.test(r)&&!this.startRegionRe.test(r)&&!this.tripleStarBlockCommentRe.test(r))return"";var i=this._getFoldWidgetBase(e,t,n);return!i&&this.startRegionRe.test(r)?"start":i},this.getFoldWidgetRange=function(e,t,n,r){var i=e.getLine(n);if(this.startRegionRe.test(i))return this.getCommentRegionBlock(e,i,n);var s=i.match(this.foldingStartMarker);if(s){var o=s.index;if(s[1])return this.openingBracketBlock(e,s[1],n,o);var u=e.getCommentFoldRange(n,o+s[0].length,1);return u&&!u.isMultiLine()&&(r?u=this.getSectionRange(e,n):t!="all"&&(u=null)),u}if(t==="markbegin")return;var s=i.match(this.foldingStopMarker);if(s){var o=s.index+s[0].length;return s[1]?this.closingBracketBlock(e,s[1],n,o):e.getCommentFoldRange(n,o,-1)}},this.getSectionRange=function(e,t){var n=e.getLine(t),r=n.search(/\S/),s=t,o=n.length;t+=1;var u=t,a=e.getLength();while(++t<a){n=e.getLine(t);var f=n.search(/\S/);if(f===-1)continue;if(r>f)break;var l=this.getFoldWidgetRange(e,"all",t);if(l){if(l.start.row<=s)break;if(l.isMultiLine())t=l.end.row;else if(r==f)break}u=t}return new i(s,o,u,e.getLine(u).length)},this.getCommentRegionBlock=function(e,t,n){var r=t.search(/\s*$/),s=e.getLength(),o=n,u=/^\s*(?:\/\*|\/\/|--)#?(end)?region\b/,a=1;while(++n<s){t=e.getLine(n);var f=u.exec(t);if(!f)continue;f[1]?a--:a++;if(!a)break}var l=n;if(l>o)return new i(o,r,l,t.length)}}.call(o.prototype)}),ace.define("ace/mode/javascript",["require","exports","module","ace/lib/oop","ace/mode/text","ace/mode/javascript_highlight_rules","ace/mode/matching_brace_outdent","ace/worker/worker_client","ace/mode/behaviour/cstyle","ace/mode/folding/cstyle"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("./text").Mode,s=e("./javascript_highlight_rules").JavaScriptHighlightRules,o=e("./matching_brace_outdent").MatchingBraceOutdent,u=e("../worker/worker_client").WorkerClient,a=e("./behaviour/cstyle").CstyleBehaviour,f=e("./folding/cstyle").FoldMode,l=function(){this.HighlightRules=s,this.$outdent=new o,this.$behaviour=new a,this.foldingRules=new f};r.inherits(l,i),function(){this.lineCommentStart="//",this.blockComment={start:"/*",end:"*/"},this.$quotes={'"':'"',"'":"'","`":"`"},this.getNextLineIndent=function(e,t,n){var r=this.$getIndent(t),i=this.getTokenizer().getLineTokens(t,e),s=i.tokens,o=i.state;if(s.length&&s[s.length-1].type=="comment")return r;if(e=="start"||e=="no_regex"){var u=t.match(/^.*(?:\bcase\b.*:|[\{\(\[])\s*$/);u&&(r+=n)}else if(e=="doc-start"){if(o=="start"||o=="no_regex")return"";var u=t.match(/^\s*(\/?)\*/);u&&(u[1]&&(r+=" "),r+="* ")}return r},this.checkOutdent=function(e,t,n){return this.$outdent.checkOutdent(t,n)},this.autoOutdent=function(e,t,n){this.$outdent.autoOutdent(t,n)},this.createWorker=function(e){var t=new u(["ace"],"ace/mode/javascript_worker","JavaScriptWorker");return t.attachToDocument(e.getDocument()),t.on("annotate",function(t){e.setAnnotations(t.data)}),t.on("terminate",function(){e.clearAnnotations()}),t},this.$id="ace/mode/javascript"}.call(l.prototype),t.Mode=l}); (function() {
  409. ace.require(["ace/mode/javascript"], function(m) {
  410. if (typeof module == "object" && typeof exports == "object" && module) {
  411. module.exports = m;
  412. }
  413. });
  414. })();
  415. }
  416. // SRC: https://github.com/beatgammit/base64-js
  417. (function(r){if(typeof exports==="object"&&typeof module!=="undefined"){module.exports=r()}else if(typeof define==="function"&&define.amd){define([],r)}else{var e;if(typeof window!=="undefined"){e=window}else if(typeof global!=="undefined"){e=global}else if(typeof self!=="undefined"){e=self}else{e=this}e.base64js=r()}})(function(){var r,e,n;return function(){function r(e,n,t){function o(f,i){if(!n[f]){if(!e[f]){var u="function"==typeof require&&require;if(!i&&u)return u(f,!0);if(a)return a(f,!0);var v=new Error("Cannot find module '"+f+"'");throw v.code="MODULE_NOT_FOUND",v}var d=n[f]={exports:{}};e[f][0].call(d.exports,function(r){var n=e[f][1][r];return o(n||r)},d,d.exports,r,e,n,t)}return n[f].exports}for(var a="function"==typeof require&&require,f=0;f<t.length;f++)o(t[f]);return o}return r}()({"/":[function(r,e,n){"use strict";n.byteLength=d;n.toByteArray=h;n.fromByteArray=p;var t=[];var o=[];var a=typeof Uint8Array!=="undefined"?Uint8Array:Array;var f="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";for(var i=0,u=f.length;i<u;++i){t[i]=f[i];o[f.charCodeAt(i)]=i}o["-".charCodeAt(0)]=62;o["_".charCodeAt(0)]=63;function v(r){var e=r.length;if(e%4>0){throw new Error("Invalid string. Length must be a multiple of 4")}var n=r.indexOf("=");if(n===-1)n=e;var t=n===e?0:4-n%4;return[n,t]}function d(r){var e=v(r);var n=e[0];var t=e[1];return(n+t)*3/4-t}function c(r,e,n){return(e+n)*3/4-n}function h(r){var e;var n=v(r);var t=n[0];var f=n[1];var i=new a(c(r,t,f));var u=0;var d=f>0?t-4:t;for(var h=0;h<d;h+=4){e=o[r.charCodeAt(h)]<<18|o[r.charCodeAt(h+1)]<<12|o[r.charCodeAt(h+2)]<<6|o[r.charCodeAt(h+3)];i[u++]=e>>16&255;i[u++]=e>>8&255;i[u++]=e&255}if(f===2){e=o[r.charCodeAt(h)]<<2|o[r.charCodeAt(h+1)]>>4;i[u++]=e&255}if(f===1){e=o[r.charCodeAt(h)]<<10|o[r.charCodeAt(h+1)]<<4|o[r.charCodeAt(h+2)]>>2;i[u++]=e>>8&255;i[u++]=e&255}return i}function s(r){return t[r>>18&63]+t[r>>12&63]+t[r>>6&63]+t[r&63]}function l(r,e,n){var t;var o=[];for(var a=e;a<n;a+=3){t=(r[a]<<16&16711680)+(r[a+1]<<8&65280)+(r[a+2]&255);o.push(s(t))}return o.join("")}function p(r){var e;var n=r.length;var o=n%3;var a=[];var f=16383;for(var i=0,u=n-o;i<u;i+=f){a.push(l(r,i,i+f>u?u:i+f))}if(o===1){e=r[n-1];a.push(t[e>>2]+t[e<<4&63]+"==")}else if(o===2){e=(r[n-2]<<8)+r[n-1];a.push(t[e>>10]+t[e>>4&63]+t[e<<2&63]+"=")}return a.join("")}},{}]},{},[])("/")});
  418. // SRC: https://github.com/solderjs/TextEncoderLite
  419. function TextEncoderLite() {
  420. }
  421. function TextDecoderLite() {
  422. }
  423. (function () {
  424. 'use strict';
  425. // Taken from https://github.com/feross/buffer/blob/master/index.js
  426. // Thanks Feross et al! :-)
  427. function utf8ToBytes (string, units) {
  428. units = units || Infinity
  429. var codePoint
  430. var length = string.length
  431. var leadSurrogate = null
  432. var bytes = []
  433. var i = 0
  434. for (; i < length; i++) {
  435. codePoint = string.charCodeAt(i)
  436. // is surrogate component
  437. if (codePoint > 0xD7FF && codePoint < 0xE000) {
  438. // last char was a lead
  439. if (leadSurrogate) {
  440. // 2 leads in a row
  441. if (codePoint < 0xDC00) {
  442. if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)
  443. leadSurrogate = codePoint
  444. continue
  445. } else {
  446. // valid surrogate pair
  447. codePoint = leadSurrogate - 0xD800 << 10 | codePoint - 0xDC00 | 0x10000
  448. leadSurrogate = null
  449. }
  450. } else {
  451. // no lead yet
  452. if (codePoint > 0xDBFF) {
  453. // unexpected trail
  454. if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)
  455. continue
  456. } else if (i + 1 === length) {
  457. // unpaired lead
  458. if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)
  459. continue
  460. } else {
  461. // valid lead
  462. leadSurrogate = codePoint
  463. continue
  464. }
  465. }
  466. } else if (leadSurrogate) {
  467. // valid bmp char, but last char was a lead
  468. if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)
  469. leadSurrogate = null
  470. }
  471. // encode utf8
  472. if (codePoint < 0x80) {
  473. if ((units -= 1) < 0) break
  474. bytes.push(codePoint)
  475. } else if (codePoint < 0x800) {
  476. if ((units -= 2) < 0) break
  477. bytes.push(
  478. codePoint >> 0x6 | 0xC0,
  479. codePoint & 0x3F | 0x80
  480. )
  481. } else if (codePoint < 0x10000) {
  482. if ((units -= 3) < 0) break
  483. bytes.push(
  484. codePoint >> 0xC | 0xE0,
  485. codePoint >> 0x6 & 0x3F | 0x80,
  486. codePoint & 0x3F | 0x80
  487. )
  488. } else if (codePoint < 0x200000) {
  489. if ((units -= 4) < 0) break
  490. bytes.push(
  491. codePoint >> 0x12 | 0xF0,
  492. codePoint >> 0xC & 0x3F | 0x80,
  493. codePoint >> 0x6 & 0x3F | 0x80,
  494. codePoint & 0x3F | 0x80
  495. )
  496. } else {
  497. throw new Error('Invalid code point')
  498. }
  499. }
  500. return bytes
  501. }
  502. function utf8Slice (buf, start, end) {
  503. var res = ''
  504. var tmp = ''
  505. end = Math.min(buf.length, end || Infinity)
  506. start = start || 0;
  507. for (var i = start; i < end; i++) {
  508. if (buf[i] <= 0x7F) {
  509. res += decodeUtf8Char(tmp) + String.fromCharCode(buf[i])
  510. tmp = ''
  511. } else {
  512. tmp += '%' + buf[i].toString(16)
  513. }
  514. }
  515. return res + decodeUtf8Char(tmp)
  516. }
  517. function decodeUtf8Char (str) {
  518. try {
  519. return decodeURIComponent(str)
  520. } catch (err) {
  521. return String.fromCharCode(0xFFFD) // UTF 8 invalid char
  522. }
  523. }
  524. TextEncoderLite.prototype.encode = function (str) {
  525. var result;
  526. if ('undefined' === typeof Uint8Array) {
  527. result = utf8ToBytes(str);
  528. } else {
  529. result = new Uint8Array(utf8ToBytes(str));
  530. }
  531. return result;
  532. };
  533. TextDecoderLite.prototype.decode = function (bytes) {
  534. return utf8Slice(bytes, 0, bytes.length);
  535. }
  536. }());
  537. if(typeof module === "object" && module) {
  538. module.exports.TextDecoderLite = TextDecoderLite;
  539. module.exports.TextEncoderLite = TextEncoderLite;
  540. }
  541. // SRC: https://github.com/nodeca/pako
  542. /* pako 1.0.10 nodeca/pako */(function(f){if(typeof exports==="object"&&typeof module!=="undefined"){module.exports=f()}else if(typeof define==="function"&&define.amd){define([],f)}else{var g;if(typeof window!=="undefined"){g=window}else if(typeof global!=="undefined"){g=global}else if(typeof self!=="undefined"){g=self}else{g=this}g.pako = f()}})(function(){var define,module,exports;return (function(){function r(e,n,t){function o(i,f){if(!n[i]){if(!e[i]){var c="function"==typeof require&&require;if(!f&&c)return c(i,!0);if(u)return u(i,!0);var a=new Error("Cannot find module '"+i+"'");throw a.code="MODULE_NOT_FOUND",a}var p=n[i]={exports:{}};e[i][0].call(p.exports,function(r){var n=e[i][1][r];return o(n||r)},p,p.exports,r,e,n,t)}return n[i].exports}for(var u="function"==typeof require&&require,i=0;i<t.length;i++)o(t[i]);return o}return r})()({1:[function(require,module,exports){
  543. 'use strict';
  544. var zlib_deflate = require('./zlib/deflate');
  545. var utils = require('./utils/common');
  546. var strings = require('./utils/strings');
  547. var msg = require('./zlib/messages');
  548. var ZStream = require('./zlib/zstream');
  549. var toString = Object.prototype.toString;
  550. /* Public constants ==========================================================*/
  551. /* ===========================================================================*/
  552. var Z_NO_FLUSH = 0;
  553. var Z_FINISH = 4;
  554. var Z_OK = 0;
  555. var Z_STREAM_END = 1;
  556. var Z_SYNC_FLUSH = 2;
  557. var Z_DEFAULT_COMPRESSION = -1;
  558. var Z_DEFAULT_STRATEGY = 0;
  559. var Z_DEFLATED = 8;
  560. /* ===========================================================================*/
  561. /**
  562. * class Deflate
  563. *
  564. * Generic JS-style wrapper for zlib calls. If you don't need
  565. * streaming behaviour - use more simple functions: [[deflate]],
  566. * [[deflateRaw]] and [[gzip]].
  567. **/
  568. /* internal
  569. * Deflate.chunks -> Array
  570. *
  571. * Chunks of output data, if [[Deflate#onData]] not overridden.
  572. **/
  573. /**
  574. * Deflate.result -> Uint8Array|Array
  575. *
  576. * Compressed result, generated by default [[Deflate#onData]]
  577. * and [[Deflate#onEnd]] handlers. Filled after you push last chunk
  578. * (call [[Deflate#push]] with `Z_FINISH` / `true` param) or if you
  579. * push a chunk with explicit flush (call [[Deflate#push]] with
  580. * `Z_SYNC_FLUSH` param).
  581. **/
  582. /**
  583. * Deflate.err -> Number
  584. *
  585. * Error code after deflate finished. 0 (Z_OK) on success.
  586. * You will not need it in real life, because deflate errors
  587. * are possible only on wrong options or bad `onData` / `onEnd`
  588. * custom handlers.
  589. **/
  590. /**
  591. * Deflate.msg -> String
  592. *
  593. * Error message, if [[Deflate.err]] != 0
  594. **/
  595. /**
  596. * new Deflate(options)
  597. * - options (Object): zlib deflate options.
  598. *
  599. * Creates new deflator instance with specified params. Throws exception
  600. * on bad params. Supported options:
  601. *
  602. * - `level`
  603. * - `windowBits`
  604. * - `memLevel`
  605. * - `strategy`
  606. * - `dictionary`
  607. *
  608. * [http://zlib.net/manual.html#Advanced](http://zlib.net/manual.html#Advanced)
  609. * for more information on these.
  610. *
  611. * Additional options, for internal needs:
  612. *
  613. * - `chunkSize` - size of generated data chunks (16K by default)
  614. * - `raw` (Boolean) - do raw deflate
  615. * - `gzip` (Boolean) - create gzip wrapper
  616. * - `to` (String) - if equal to 'string', then result will be "binary string"
  617. * (each char code [0..255])
  618. * - `header` (Object) - custom header for gzip
  619. * - `text` (Boolean) - true if compressed data believed to be text
  620. * - `time` (Number) - modification time, unix timestamp
  621. * - `os` (Number) - operation system code
  622. * - `extra` (Array) - array of bytes with extra data (max 65536)
  623. * - `name` (String) - file name (binary string)
  624. * - `comment` (String) - comment (binary string)
  625. * - `hcrc` (Boolean) - true if header crc should be added
  626. *
  627. * ##### Example:
  628. *
  629. * ```javascript
  630. * var pako = require('pako')
  631. * , chunk1 = Uint8Array([1,2,3,4,5,6,7,8,9])
  632. * , chunk2 = Uint8Array([10,11,12,13,14,15,16,17,18,19]);
  633. *
  634. * var deflate = new pako.Deflate({ level: 3});
  635. *
  636. * deflate.push(chunk1, false);
  637. * deflate.push(chunk2, true); // true -> last chunk
  638. *
  639. * if (deflate.err) { throw new Error(deflate.err); }
  640. *
  641. * console.log(deflate.result);
  642. * ```
  643. **/
  644. function Deflate(options) {
  645. if (!(this instanceof Deflate)) return new Deflate(options);
  646. this.options = utils.assign({
  647. level: Z_DEFAULT_COMPRESSION,
  648. method: Z_DEFLATED,
  649. chunkSize: 16384,
  650. windowBits: 15,
  651. memLevel: 8,
  652. strategy: Z_DEFAULT_STRATEGY,
  653. to: ''
  654. }, options || {});
  655. var opt = this.options;
  656. if (opt.raw && (opt.windowBits > 0)) {
  657. opt.windowBits = -opt.windowBits;
  658. }
  659. else if (opt.gzip && (opt.windowBits > 0) && (opt.windowBits < 16)) {
  660. opt.windowBits += 16;
  661. }
  662. this.err = 0; // error code, if happens (0 = Z_OK)
  663. this.msg = ''; // error message
  664. this.ended = false; // used to avoid multiple onEnd() calls
  665. this.chunks = []; // chunks of compressed data
  666. this.strm = new ZStream();
  667. this.strm.avail_out = 0;
  668. var status = zlib_deflate.deflateInit2(
  669. this.strm,
  670. opt.level,
  671. opt.method,
  672. opt.windowBits,
  673. opt.memLevel,
  674. opt.strategy
  675. );
  676. if (status !== Z_OK) {
  677. throw new Error(msg[status]);
  678. }
  679. if (opt.header) {
  680. zlib_deflate.deflateSetHeader(this.strm, opt.header);
  681. }
  682. if (opt.dictionary) {
  683. var dict;
  684. // Convert data if needed
  685. if (typeof opt.dictionary === 'string') {
  686. // If we need to compress text, change encoding to utf8.
  687. dict = strings.string2buf(opt.dictionary);
  688. } else if (toString.call(opt.dictionary) === '[object ArrayBuffer]') {
  689. dict = new Uint8Array(opt.dictionary);
  690. } else {
  691. dict = opt.dictionary;
  692. }
  693. status = zlib_deflate.deflateSetDictionary(this.strm, dict);
  694. if (status !== Z_OK) {
  695. throw new Error(msg[status]);
  696. }
  697. this._dict_set = true;
  698. }
  699. }
  700. /**
  701. * Deflate#push(data[, mode]) -> Boolean
  702. * - data (Uint8Array|Array|ArrayBuffer|String): input data. Strings will be
  703. * converted to utf8 byte sequence.
  704. * - mode (Number|Boolean): 0..6 for corresponding Z_NO_FLUSH..Z_TREE modes.
  705. * See constants. Skipped or `false` means Z_NO_FLUSH, `true` means Z_FINISH.
  706. *
  707. * Sends input data to deflate pipe, generating [[Deflate#onData]] calls with
  708. * new compressed chunks. Returns `true` on success. The last data block must have
  709. * mode Z_FINISH (or `true`). That will flush internal pending buffers and call
  710. * [[Deflate#onEnd]]. For interim explicit flushes (without ending the stream) you
  711. * can use mode Z_SYNC_FLUSH, keeping the compression context.
  712. *
  713. * On fail call [[Deflate#onEnd]] with error code and return false.
  714. *
  715. * We strongly recommend to use `Uint8Array` on input for best speed (output
  716. * array format is detected automatically). Also, don't skip last param and always
  717. * use the same type in your code (boolean or number). That will improve JS speed.
  718. *
  719. * For regular `Array`-s make sure all elements are [0..255].
  720. *
  721. * ##### Example
  722. *
  723. * ```javascript
  724. * push(chunk, false); // push one of data chunks
  725. * ...
  726. * push(chunk, true); // push last chunk
  727. * ```
  728. **/
  729. Deflate.prototype.push = function (data, mode) {
  730. var strm = this.strm;
  731. var chunkSize = this.options.chunkSize;
  732. var status, _mode;
  733. if (this.ended) { return false; }
  734. _mode = (mode === ~~mode) ? mode : ((mode === true) ? Z_FINISH : Z_NO_FLUSH);
  735. // Convert data if needed
  736. if (typeof data === 'string') {
  737. // If we need to compress text, change encoding to utf8.
  738. strm.input = strings.string2buf(data);
  739. } else if (toString.call(data) === '[object ArrayBuffer]') {
  740. strm.input = new Uint8Array(data);
  741. } else {
  742. strm.input = data;
  743. }
  744. strm.next_in = 0;
  745. strm.avail_in = strm.input.length;
  746. do {
  747. if (strm.avail_out === 0) {
  748. strm.output = new utils.Buf8(chunkSize);
  749. strm.next_out = 0;
  750. strm.avail_out = chunkSize;
  751. }
  752. status = zlib_deflate.deflate(strm, _mode); /* no bad return value */
  753. if (status !== Z_STREAM_END && status !== Z_OK) {
  754. this.onEnd(status);
  755. this.ended = true;
  756. return false;
  757. }
  758. if (strm.avail_out === 0 || (strm.avail_in === 0 && (_mode === Z_FINISH || _mode === Z_SYNC_FLUSH))) {
  759. if (this.options.to === 'string') {
  760. this.onData(strings.buf2binstring(utils.shrinkBuf(strm.output, strm.next_out)));
  761. } else {
  762. this.onData(utils.shrinkBuf(strm.output, strm.next_out));
  763. }
  764. }
  765. } while ((strm.avail_in > 0 || strm.avail_out === 0) && status !== Z_STREAM_END);
  766. // Finalize on the last chunk.
  767. if (_mode === Z_FINISH) {
  768. status = zlib_deflate.deflateEnd(this.strm);
  769. this.onEnd(status);
  770. this.ended = true;
  771. return status === Z_OK;
  772. }
  773. // callback interim results if Z_SYNC_FLUSH.
  774. if (_mode === Z_SYNC_FLUSH) {
  775. this.onEnd(Z_OK);
  776. strm.avail_out = 0;
  777. return true;
  778. }
  779. return true;
  780. };
  781. /**
  782. * Deflate#onData(chunk) -> Void
  783. * - chunk (Uint8Array|Array|String): output data. Type of array depends
  784. * on js engine support. When string output requested, each chunk
  785. * will be string.
  786. *
  787. * By default, stores data blocks in `chunks[]` property and glue
  788. * those in `onEnd`. Override this handler, if you need another behaviour.
  789. **/
  790. Deflate.prototype.onData = function (chunk) {
  791. this.chunks.push(chunk);
  792. };
  793. /**
  794. * Deflate#onEnd(status) -> Void
  795. * - status (Number): deflate status. 0 (Z_OK) on success,
  796. * other if not.
  797. *
  798. * Called once after you tell deflate that the input stream is
  799. * complete (Z_FINISH) or should be flushed (Z_SYNC_FLUSH)
  800. * or if an error happened. By default - join collected chunks,
  801. * free memory and fill `results` / `err` properties.
  802. **/
  803. Deflate.prototype.onEnd = function (status) {
  804. // On success - join
  805. if (status === Z_OK) {
  806. if (this.options.to === 'string') {
  807. this.result = this.chunks.join('');
  808. } else {
  809. this.result = utils.flattenChunks(this.chunks);
  810. }
  811. }
  812. this.chunks = [];
  813. this.err = status;
  814. this.msg = this.strm.msg;
  815. };
  816. /**
  817. * deflate(data[, options]) -> Uint8Array|Array|String
  818. * - data (Uint8Array|Array|String): input data to compress.
  819. * - options (Object): zlib deflate options.
  820. *
  821. * Compress `data` with deflate algorithm and `options`.
  822. *
  823. * Supported options are:
  824. *
  825. * - level
  826. * - windowBits
  827. * - memLevel
  828. * - strategy
  829. * - dictionary
  830. *
  831. * [http://zlib.net/manual.html#Advanced](http://zlib.net/manual.html#Advanced)
  832. * for more information on these.
  833. *
  834. * Sugar (options):
  835. *
  836. * - `raw` (Boolean) - say that we work with raw stream, if you don't wish to specify
  837. * negative windowBits implicitly.
  838. * - `to` (String) - if equal to 'string', then result will be "binary string"
  839. * (each char code [0..255])
  840. *
  841. * ##### Example:
  842. *
  843. * ```javascript
  844. * var pako = require('pako')
  845. * , data = Uint8Array([1,2,3,4,5,6,7,8,9]);
  846. *
  847. * console.log(pako.deflate(data));
  848. * ```
  849. **/
  850. function deflate(input, options) {
  851. var deflator = new Deflate(options);
  852. deflator.push(input, true);
  853. // That will never happens, if you don't cheat with options :)
  854. if (deflator.err) { throw deflator.msg || msg[deflator.err]; }
  855. return deflator.result;
  856. }
  857. /**
  858. * deflateRaw(data[, options]) -> Uint8Array|Array|String
  859. * - data (Uint8Array|Array|String): input data to compress.
  860. * - options (Object): zlib deflate options.
  861. *
  862. * The same as [[deflate]], but creates raw data, without wrapper
  863. * (header and adler32 crc).
  864. **/
  865. function deflateRaw(input, options) {
  866. options = options || {};
  867. options.raw = true;
  868. return deflate(input, options);
  869. }
  870. /**
  871. * gzip(data[, options]) -> Uint8Array|Array|String
  872. * - data (Uint8Array|Array|String): input data to compress.
  873. * - options (Object): zlib deflate options.
  874. *
  875. * The same as [[deflate]], but create gzip wrapper instead of
  876. * deflate one.
  877. **/
  878. function gzip(input, options) {
  879. options = options || {};
  880. options.gzip = true;
  881. return deflate(input, options);
  882. }
  883. exports.Deflate = Deflate;
  884. exports.deflate = deflate;
  885. exports.deflateRaw = deflateRaw;
  886. exports.gzip = gzip;
  887. },{"./utils/common":3,"./utils/strings":4,"./zlib/deflate":8,"./zlib/messages":13,"./zlib/zstream":15}],2:[function(require,module,exports){
  888. 'use strict';
  889. var zlib_inflate = require('./zlib/inflate');
  890. var utils = require('./utils/common');
  891. var strings = require('./utils/strings');
  892. var c = require('./zlib/constants');
  893. var msg = require('./zlib/messages');
  894. var ZStream = require('./zlib/zstream');
  895. var GZheader = require('./zlib/gzheader');
  896. var toString = Object.prototype.toString;
  897. /**
  898. * class Inflate
  899. *
  900. * Generic JS-style wrapper for zlib calls. If you don't need
  901. * streaming behaviour - use more simple functions: [[inflate]]
  902. * and [[inflateRaw]].
  903. **/
  904. /* internal
  905. * inflate.chunks -> Array
  906. *
  907. * Chunks of output data, if [[Inflate#onData]] not overridden.
  908. **/
  909. /**
  910. * Inflate.result -> Uint8Array|Array|String
  911. *
  912. * Uncompressed result, generated by default [[Inflate#onData]]
  913. * and [[Inflate#onEnd]] handlers. Filled after you push last chunk
  914. * (call [[Inflate#push]] with `Z_FINISH` / `true` param) or if you
  915. * push a chunk with explicit flush (call [[Inflate#push]] with
  916. * `Z_SYNC_FLUSH` param).
  917. **/
  918. /**
  919. * Inflate.err -> Number
  920. *
  921. * Error code after inflate finished. 0 (Z_OK) on success.
  922. * Should be checked if broken data possible.
  923. **/
  924. /**
  925. * Inflate.msg -> String
  926. *
  927. * Error message, if [[Inflate.err]] != 0
  928. **/
  929. /**
  930. * new Inflate(options)
  931. * - options (Object): zlib inflate options.
  932. *
  933. * Creates new inflator instance with specified params. Throws exception
  934. * on bad params. Supported options:
  935. *
  936. * - `windowBits`
  937. * - `dictionary`
  938. *
  939. * [http://zlib.net/manual.html#Advanced](http://zlib.net/manual.html#Advanced)
  940. * for more information on these.
  941. *
  942. * Additional options, for internal needs:
  943. *
  944. * - `chunkSize` - size of generated data chunks (16K by default)
  945. * - `raw` (Boolean) - do raw inflate
  946. * - `to` (String) - if equal to 'string', then result will be converted
  947. * from utf8 to utf16 (javascript) string. When string output requested,
  948. * chunk length can differ from `chunkSize`, depending on content.
  949. *
  950. * By default, when no options set, autodetect deflate/gzip data format via
  951. * wrapper header.
  952. *
  953. * ##### Example:
  954. *
  955. * ```javascript
  956. * var pako = require('pako')
  957. * , chunk1 = Uint8Array([1,2,3,4,5,6,7,8,9])
  958. * , chunk2 = Uint8Array([10,11,12,13,14,15,16,17,18,19]);
  959. *
  960. * var inflate = new pako.Inflate({ level: 3});
  961. *
  962. * inflate.push(chunk1, false);
  963. * inflate.push(chunk2, true); // true -> last chunk
  964. *
  965. * if (inflate.err) { throw new Error(inflate.err); }
  966. *
  967. * console.log(inflate.result);
  968. * ```
  969. **/
  970. function Inflate(options) {
  971. if (!(this instanceof Inflate)) return new Inflate(options);
  972. this.options = utils.assign({
  973. chunkSize: 16384,
  974. windowBits: 0,
  975. to: ''
  976. }, options || {});
  977. var opt = this.options;
  978. // Force window size for `raw` data, if not set directly,
  979. // because we have no header for autodetect.
  980. if (opt.raw && (opt.windowBits >= 0) && (opt.windowBits < 16)) {
  981. opt.windowBits = -opt.windowBits;
  982. if (opt.windowBits === 0) { opt.windowBits = -15; }
  983. }
  984. // If `windowBits` not defined (and mode not raw) - set autodetect flag for gzip/deflate
  985. if ((opt.windowBits >= 0) && (opt.windowBits < 16) &&
  986. !(options && options.windowBits)) {
  987. opt.windowBits += 32;
  988. }
  989. // Gzip header has no info about windows size, we can do autodetect only
  990. // for deflate. So, if window size not set, force it to max when gzip possible
  991. if ((opt.windowBits > 15) && (opt.windowBits < 48)) {
  992. // bit 3 (16) -> gzipped data
  993. // bit 4 (32) -> autodetect gzip/deflate
  994. if ((opt.windowBits & 15) === 0) {
  995. opt.windowBits |= 15;
  996. }
  997. }
  998. this.err = 0; // error code, if happens (0 = Z_OK)
  999. this.msg = ''; // error message
  1000. this.ended = false; // used to avoid multiple onEnd() calls
  1001. this.chunks = []; // chunks of compressed data
  1002. this.strm = new ZStream();
  1003. this.strm.avail_out = 0;
  1004. var status = zlib_inflate.inflateInit2(
  1005. this.strm,
  1006. opt.windowBits
  1007. );
  1008. if (status !== c.Z_OK) {
  1009. throw new Error(msg[status]);
  1010. }
  1011. this.header = new GZheader();
  1012. zlib_inflate.inflateGetHeader(this.strm, this.header);
  1013. // Setup dictionary
  1014. if (opt.dictionary) {
  1015. // Convert data if needed
  1016. if (typeof opt.dictionary === 'string') {
  1017. opt.dictionary = strings.string2buf(opt.dictionary);
  1018. } else if (toString.call(opt.dictionary) === '[object ArrayBuffer]') {
  1019. opt.dictionary = new Uint8Array(opt.dictionary);
  1020. }
  1021. if (opt.raw) { //In raw mode we need to set the dictionary early
  1022. status = zlib_inflate.inflateSetDictionary(this.strm, opt.dictionary);
  1023. if (status !== c.Z_OK) {
  1024. throw new Error(msg[status]);
  1025. }
  1026. }
  1027. }
  1028. }
  1029. /**
  1030. * Inflate#push(data[, mode]) -> Boolean
  1031. * - data (Uint8Array|Array|ArrayBuffer|String): input data
  1032. * - mode (Number|Boolean): 0..6 for corresponding Z_NO_FLUSH..Z_TREE modes.
  1033. * See constants. Skipped or `false` means Z_NO_FLUSH, `true` means Z_FINISH.
  1034. *
  1035. * Sends input data to inflate pipe, generating [[Inflate#onData]] calls with
  1036. * new output chunks. Returns `true` on success. The last data block must have
  1037. * mode Z_FINISH (or `true`). That will flush internal pending buffers and call
  1038. * [[Inflate#onEnd]]. For interim explicit flushes (without ending the stream) you
  1039. * can use mode Z_SYNC_FLUSH, keeping the decompression context.
  1040. *
  1041. * On fail call [[Inflate#onEnd]] with error code and return false.
  1042. *
  1043. * We strongly recommend to use `Uint8Array` on input for best speed (output
  1044. * format is detected automatically). Also, don't skip last param and always
  1045. * use the same type in your code (boolean or number). That will improve JS speed.
  1046. *
  1047. * For regular `Array`-s make sure all elements are [0..255].
  1048. *
  1049. * ##### Example
  1050. *
  1051. * ```javascript
  1052. * push(chunk, false); // push one of data chunks
  1053. * ...
  1054. * push(chunk, true); // push last chunk
  1055. * ```
  1056. **/
  1057. Inflate.prototype.push = function (data, mode) {
  1058. var strm = this.strm;
  1059. var chunkSize = this.options.chunkSize;
  1060. var dictionary = this.options.dictionary;
  1061. var status, _mode;
  1062. var next_out_utf8, tail, utf8str;
  1063. // Flag to properly process Z_BUF_ERROR on testing inflate call
  1064. // when we check that all output data was flushed.
  1065. var allowBufError = false;
  1066. if (this.ended) { return false; }
  1067. _mode = (mode === ~~mode) ? mode : ((mode === true) ? c.Z_FINISH : c.Z_NO_FLUSH);
  1068. // Convert data if needed
  1069. if (typeof data === 'string') {
  1070. // Only binary strings can be decompressed on practice
  1071. strm.input = strings.binstring2buf(data);
  1072. } else if (toString.call(data) === '[object ArrayBuffer]') {
  1073. strm.input = new Uint8Array(data);
  1074. } else {
  1075. strm.input = data;
  1076. }
  1077. strm.next_in = 0;
  1078. strm.avail_in = strm.input.length;
  1079. do {
  1080. if (strm.avail_out === 0) {
  1081. strm.output = new utils.Buf8(chunkSize);
  1082. strm.next_out = 0;
  1083. strm.avail_out = chunkSize;
  1084. }
  1085. status = zlib_inflate.inflate(strm, c.Z_NO_FLUSH); /* no bad return value */
  1086. if (status === c.Z_NEED_DICT && dictionary) {
  1087. status = zlib_inflate.inflateSetDictionary(this.strm, dictionary);
  1088. }
  1089. if (status === c.Z_BUF_ERROR && allowBufError === true) {
  1090. status = c.Z_OK;
  1091. allowBufError = false;
  1092. }
  1093. if (status !== c.Z_STREAM_END && status !== c.Z_OK) {
  1094. this.onEnd(status);
  1095. this.ended = true;
  1096. return false;
  1097. }
  1098. if (strm.next_out) {
  1099. if (strm.avail_out === 0 || status === c.Z_STREAM_END || (strm.avail_in === 0 && (_mode === c.Z_FINISH || _mode === c.Z_SYNC_FLUSH))) {
  1100. if (this.options.to === 'string') {
  1101. next_out_utf8 = strings.utf8border(strm.output, strm.next_out);
  1102. tail = strm.next_out - next_out_utf8;
  1103. utf8str = strings.buf2string(strm.output, next_out_utf8);
  1104. // move tail
  1105. strm.next_out = tail;
  1106. strm.avail_out = chunkSize - tail;
  1107. if (tail) { utils.arraySet(strm.output, strm.output, next_out_utf8, tail, 0); }
  1108. this.onData(utf8str);
  1109. } else {
  1110. this.onData(utils.shrinkBuf(strm.output, strm.next_out));
  1111. }
  1112. }
  1113. }
  1114. // When no more input data, we should check that internal inflate buffers
  1115. // are flushed. The only way to do it when avail_out = 0 - run one more
  1116. // inflate pass. But if output data not exists, inflate return Z_BUF_ERROR.
  1117. // Here we set flag to process this error properly.
  1118. //
  1119. // NOTE. Deflate does not return error in this case and does not needs such
  1120. // logic.
  1121. if (strm.avail_in === 0 && strm.avail_out === 0) {
  1122. allowBufError = true;
  1123. }
  1124. } while ((strm.avail_in > 0 || strm.avail_out === 0) && status !== c.Z_STREAM_END);
  1125. if (status === c.Z_STREAM_END) {
  1126. _mode = c.Z_FINISH;
  1127. }
  1128. // Finalize on the last chunk.
  1129. if (_mode === c.Z_FINISH) {
  1130. status = zlib_inflate.inflateEnd(this.strm);
  1131. this.onEnd(status);
  1132. this.ended = true;
  1133. return status === c.Z_OK;
  1134. }
  1135. // callback interim results if Z_SYNC_FLUSH.
  1136. if (_mode === c.Z_SYNC_FLUSH) {
  1137. this.onEnd(c.Z_OK);
  1138. strm.avail_out = 0;
  1139. return true;
  1140. }
  1141. return true;
  1142. };
  1143. /**
  1144. * Inflate#onData(chunk) -> Void
  1145. * - chunk (Uint8Array|Array|String): output data. Type of array depends
  1146. * on js engine support. When string output requested, each chunk
  1147. * will be string.
  1148. *
  1149. * By default, stores data blocks in `chunks[]` property and glue
  1150. * those in `onEnd`. Override this handler, if you need another behaviour.
  1151. **/
  1152. Inflate.prototype.onData = function (chunk) {
  1153. this.chunks.push(chunk);
  1154. };
  1155. /**
  1156. * Inflate#onEnd(status) -> Void
  1157. * - status (Number): inflate status. 0 (Z_OK) on success,
  1158. * other if not.
  1159. *
  1160. * Called either after you tell inflate that the input stream is
  1161. * complete (Z_FINISH) or should be flushed (Z_SYNC_FLUSH)
  1162. * or if an error happened. By default - join collected chunks,
  1163. * free memory and fill `results` / `err` properties.
  1164. **/
  1165. Inflate.prototype.onEnd = function (status) {
  1166. // On success - join
  1167. if (status === c.Z_OK) {
  1168. if (this.options.to === 'string') {
  1169. // Glue & convert here, until we teach pako to send
  1170. // utf8 aligned strings to onData
  1171. this.result = this.chunks.join('');
  1172. } else {
  1173. this.result = utils.flattenChunks(this.chunks);
  1174. }
  1175. }
  1176. this.chunks = [];
  1177. this.err = status;
  1178. this.msg = this.strm.msg;
  1179. };
  1180. /**
  1181. * inflate(data[, options]) -> Uint8Array|Array|String
  1182. * - data (Uint8Array|Array|String): input data to decompress.
  1183. * - options (Object): zlib inflate options.
  1184. *
  1185. * Decompress `data` with inflate/ungzip and `options`. Autodetect
  1186. * format via wrapper header by default. That's why we don't provide
  1187. * separate `ungzip` method.
  1188. *
  1189. * Supported options are:
  1190. *
  1191. * - windowBits
  1192. *
  1193. * [http://zlib.net/manual.html#Advanced](http://zlib.net/manual.html#Advanced)
  1194. * for more information.
  1195. *
  1196. * Sugar (options):
  1197. *
  1198. * - `raw` (Boolean) - say that we work with raw stream, if you don't wish to specify
  1199. * negative windowBits implicitly.
  1200. * - `to` (String) - if equal to 'string', then result will be converted
  1201. * from utf8 to utf16 (javascript) string. When string output requested,
  1202. * chunk length can differ from `chunkSize`, depending on content.
  1203. *
  1204. *
  1205. * ##### Example:
  1206. *
  1207. * ```javascript
  1208. * var pako = require('pako')
  1209. * , input = pako.deflate([1,2,3,4,5,6,7,8,9])
  1210. * , output;
  1211. *
  1212. * try {
  1213. * output = pako.inflate(input);
  1214. * } catch (err)
  1215. * console.log(err);
  1216. * }
  1217. * ```
  1218. **/
  1219. function inflate(input, options) {
  1220. var inflator = new Inflate(options);
  1221. inflator.push(input, true);
  1222. // That will never happens, if you don't cheat with options :)
  1223. if (inflator.err) { throw inflator.msg || msg[inflator.err]; }
  1224. return inflator.result;
  1225. }
  1226. /**
  1227. * inflateRaw(data[, options]) -> Uint8Array|Array|String
  1228. * - data (Uint8Array|Array|String): input data to decompress.
  1229. * - options (Object): zlib inflate options.
  1230. *
  1231. * The same as [[inflate]], but creates raw data, without wrapper
  1232. * (header and adler32 crc).
  1233. **/
  1234. function inflateRaw(input, options) {
  1235. options = options || {};
  1236. options.raw = true;
  1237. return inflate(input, options);
  1238. }
  1239. /**
  1240. * ungzip(data[, options]) -> Uint8Array|Array|String
  1241. * - data (Uint8Array|Array|String): input data to decompress.
  1242. * - options (Object): zlib inflate options.
  1243. *
  1244. * Just shortcut to [[inflate]], because it autodetects format
  1245. * by header.content. Done for convenience.
  1246. **/
  1247. exports.Inflate = Inflate;
  1248. exports.inflate = inflate;
  1249. exports.inflateRaw = inflateRaw;
  1250. exports.ungzip = inflate;
  1251. },{"./utils/common":3,"./utils/strings":4,"./zlib/constants":6,"./zlib/gzheader":9,"./zlib/inflate":11,"./zlib/messages":13,"./zlib/zstream":15}],3:[function(require,module,exports){
  1252. 'use strict';
  1253. var TYPED_OK = (typeof Uint8Array !== 'undefined') &&
  1254. (typeof Uint16Array !== 'undefined') &&
  1255. (typeof Int32Array !== 'undefined');
  1256. function _has(obj, key) {
  1257. return Object.prototype.hasOwnProperty.call(obj, key);
  1258. }
  1259. exports.assign = function (obj /*from1, from2, from3, ...*/) {
  1260. var sources = Array.prototype.slice.call(arguments, 1);
  1261. while (sources.length) {
  1262. var source = sources.shift();
  1263. if (!source) { continue; }
  1264. if (typeof source !== 'object') {
  1265. throw new TypeError(source + 'must be non-object');
  1266. }
  1267. for (var p in source) {
  1268. if (_has(source, p)) {
  1269. obj[p] = source[p];
  1270. }
  1271. }
  1272. }
  1273. return obj;
  1274. };
  1275. // reduce buffer size, avoiding mem copy
  1276. exports.shrinkBuf = function (buf, size) {
  1277. if (buf.length === size) { return buf; }
  1278. if (buf.subarray) { return buf.subarray(0, size); }
  1279. buf.length = size;
  1280. return buf;
  1281. };
  1282. var fnTyped = {
  1283. arraySet: function (dest, src, src_offs, len, dest_offs) {
  1284. if (src.subarray && dest.subarray) {
  1285. dest.set(src.subarray(src_offs, src_offs + len), dest_offs);
  1286. return;
  1287. }
  1288. // Fallback to ordinary array
  1289. for (var i = 0; i < len; i++) {
  1290. dest[dest_offs + i] = src[src_offs + i];
  1291. }
  1292. },
  1293. // Join array of chunks to single array.
  1294. flattenChunks: function (chunks) {
  1295. var i, l, len, pos, chunk, result;
  1296. // calculate data length
  1297. len = 0;
  1298. for (i = 0, l = chunks.length; i < l; i++) {
  1299. len += chunks[i].length;
  1300. }
  1301. // join chunks
  1302. result = new Uint8Array(len);
  1303. pos = 0;
  1304. for (i = 0, l = chunks.length; i < l; i++) {
  1305. chunk = chunks[i];
  1306. result.set(chunk, pos);
  1307. pos += chunk.length;
  1308. }
  1309. return result;
  1310. }
  1311. };
  1312. var fnUntyped = {
  1313. arraySet: function (dest, src, src_offs, len, dest_offs) {
  1314. for (var i = 0; i < len; i++) {
  1315. dest[dest_offs + i] = src[src_offs + i];
  1316. }
  1317. },
  1318. // Join array of chunks to single array.
  1319. flattenChunks: function (chunks) {
  1320. return [].concat.apply([], chunks);
  1321. }
  1322. };
  1323. // Enable/Disable typed arrays use, for testing
  1324. //
  1325. exports.setTyped = function (on) {
  1326. if (on) {
  1327. exports.Buf8 = Uint8Array;
  1328. exports.Buf16 = Uint16Array;
  1329. exports.Buf32 = Int32Array;
  1330. exports.assign(exports, fnTyped);
  1331. } else {
  1332. exports.Buf8 = Array;
  1333. exports.Buf16 = Array;
  1334. exports.Buf32 = Array;
  1335. exports.assign(exports, fnUntyped);
  1336. }
  1337. };
  1338. exports.setTyped(TYPED_OK);
  1339. },{}],4:[function(require,module,exports){
  1340. // String encode/decode helpers
  1341. 'use strict';
  1342. var utils = require('./common');
  1343. // Quick check if we can use fast array to bin string conversion
  1344. //
  1345. // - apply(Array) can fail on Android 2.2
  1346. // - apply(Uint8Array) can fail on iOS 5.1 Safari
  1347. //
  1348. var STR_APPLY_OK = true;
  1349. var STR_APPLY_UIA_OK = true;
  1350. try { String.fromCharCode.apply(null, [ 0 ]); } catch (__) { STR_APPLY_OK = false; }
  1351. try { String.fromCharCode.apply(null, new Uint8Array(1)); } catch (__) { STR_APPLY_UIA_OK = false; }
  1352. // Table with utf8 lengths (calculated by first byte of sequence)
  1353. // Note, that 5 & 6-byte values and some 4-byte values can not be represented in JS,
  1354. // because max possible codepoint is 0x10ffff
  1355. var _utf8len = new utils.Buf8(256);
  1356. for (var q = 0; q < 256; q++) {
  1357. _utf8len[q] = (q >= 252 ? 6 : q >= 248 ? 5 : q >= 240 ? 4 : q >= 224 ? 3 : q >= 192 ? 2 : 1);
  1358. }
  1359. _utf8len[254] = _utf8len[254] = 1; // Invalid sequence start
  1360. // convert string to array (typed, when possible)
  1361. exports.string2buf = function (str) {
  1362. var buf, c, c2, m_pos, i, str_len = str.length, buf_len = 0;
  1363. // count binary size
  1364. for (m_pos = 0; m_pos < str_len; m_pos++) {
  1365. c = str.charCodeAt(m_pos);
  1366. if ((c & 0xfc00) === 0xd800 && (m_pos + 1 < str_len)) {
  1367. c2 = str.charCodeAt(m_pos + 1);
  1368. if ((c2 & 0xfc00) === 0xdc00) {
  1369. c = 0x10000 + ((c - 0xd800) << 10) + (c2 - 0xdc00);
  1370. m_pos++;
  1371. }
  1372. }
  1373. buf_len += c < 0x80 ? 1 : c < 0x800 ? 2 : c < 0x10000 ? 3 : 4;
  1374. }
  1375. // allocate buffer
  1376. buf = new utils.Buf8(buf_len);
  1377. // convert
  1378. for (i = 0, m_pos = 0; i < buf_len; m_pos++) {
  1379. c = str.charCodeAt(m_pos);
  1380. if ((c & 0xfc00) === 0xd800 && (m_pos + 1 < str_len)) {
  1381. c2 = str.charCodeAt(m_pos + 1);
  1382. if ((c2 & 0xfc00) === 0xdc00) {
  1383. c = 0x10000 + ((c - 0xd800) << 10) + (c2 - 0xdc00);
  1384. m_pos++;
  1385. }
  1386. }
  1387. if (c < 0x80) {
  1388. /* one byte */
  1389. buf[i++] = c;
  1390. } else if (c < 0x800) {
  1391. /* two bytes */
  1392. buf[i++] = 0xC0 | (c >>> 6);
  1393. buf[i++] = 0x80 | (c & 0x3f);
  1394. } else if (c < 0x10000) {
  1395. /* three bytes */
  1396. buf[i++] = 0xE0 | (c >>> 12);
  1397. buf[i++] = 0x80 | (c >>> 6 & 0x3f);
  1398. buf[i++] = 0x80 | (c & 0x3f);
  1399. } else {
  1400. /* four bytes */
  1401. buf[i++] = 0xf0 | (c >>> 18);
  1402. buf[i++] = 0x80 | (c >>> 12 & 0x3f);
  1403. buf[i++] = 0x80 | (c >>> 6 & 0x3f);
  1404. buf[i++] = 0x80 | (c & 0x3f);
  1405. }
  1406. }
  1407. return buf;
  1408. };
  1409. // Helper (used in 2 places)
  1410. function buf2binstring(buf, len) {
  1411. // On Chrome, the arguments in a function call that are allowed is `65534`.
  1412. // If the length of the buffer is smaller than that, we can use this optimization,
  1413. // otherwise we will take a slower path.
  1414. if (len < 65534) {
  1415. if ((buf.subarray && STR_APPLY_UIA_OK) || (!buf.subarray && STR_APPLY_OK)) {
  1416. return String.fromCharCode.apply(null, utils.shrinkBuf(buf, len));
  1417. }
  1418. }
  1419. var result = '';
  1420. for (var i = 0; i < len; i++) {
  1421. result += String.fromCharCode(buf[i]);
  1422. }
  1423. return result;
  1424. }
  1425. // Convert byte array to binary string
  1426. exports.buf2binstring = function (buf) {
  1427. return buf2binstring(buf, buf.length);
  1428. };
  1429. // Convert binary string (typed, when possible)
  1430. exports.binstring2buf = function (str) {
  1431. var buf = new utils.Buf8(str.length);
  1432. for (var i = 0, len = buf.length; i < len; i++) {
  1433. buf[i] = str.charCodeAt(i);
  1434. }
  1435. return buf;
  1436. };
  1437. // convert array to string
  1438. exports.buf2string = function (buf, max) {
  1439. var i, out, c, c_len;
  1440. var len = max || buf.length;
  1441. // Reserve max possible length (2 words per char)
  1442. // NB: by unknown reasons, Array is significantly faster for
  1443. // String.fromCharCode.apply than Uint16Array.
  1444. var utf16buf = new Array(len * 2);
  1445. for (out = 0, i = 0; i < len;) {
  1446. c = buf[i++];
  1447. // quick process ascii
  1448. if (c < 0x80) { utf16buf[out++] = c; continue; }
  1449. c_len = _utf8len[c];
  1450. // skip 5 & 6 byte codes
  1451. if (c_len > 4) { utf16buf[out++] = 0xfffd; i += c_len - 1; continue; }
  1452. // apply mask on first byte
  1453. c &= c_len === 2 ? 0x1f : c_len === 3 ? 0x0f : 0x07;
  1454. // join the rest
  1455. while (c_len > 1 && i < len) {
  1456. c = (c << 6) | (buf[i++] & 0x3f);
  1457. c_len--;
  1458. }
  1459. // terminated by end of string?
  1460. if (c_len > 1) { utf16buf[out++] = 0xfffd; continue; }
  1461. if (c < 0x10000) {
  1462. utf16buf[out++] = c;
  1463. } else {
  1464. c -= 0x10000;
  1465. utf16buf[out++] = 0xd800 | ((c >> 10) & 0x3ff);
  1466. utf16buf[out++] = 0xdc00 | (c & 0x3ff);
  1467. }
  1468. }
  1469. return buf2binstring(utf16buf, out);
  1470. };
  1471. // Calculate max possible position in utf8 buffer,
  1472. // that will not break sequence. If that's not possible
  1473. // - (very small limits) return max size as is.
  1474. //
  1475. // buf[] - utf8 bytes array
  1476. // max - length limit (mandatory);
  1477. exports.utf8border = function (buf, max) {
  1478. var pos;
  1479. max = max || buf.length;
  1480. if (max > buf.length) { max = buf.length; }
  1481. // go back from last position, until start of sequence found
  1482. pos = max - 1;
  1483. while (pos >= 0 && (buf[pos] & 0xC0) === 0x80) { pos--; }
  1484. // Very small and broken sequence,
  1485. // return max, because we should return something anyway.
  1486. if (pos < 0) { return max; }
  1487. // If we came to start of buffer - that means buffer is too small,
  1488. // return max too.
  1489. if (pos === 0) { return max; }
  1490. return (pos + _utf8len[buf[pos]] > max) ? pos : max;
  1491. };
  1492. },{"./common":3}],5:[function(require,module,exports){
  1493. 'use strict';
  1494. // Note: adler32 takes 12% for level 0 and 2% for level 6.
  1495. // It isn't worth it to make additional optimizations as in original.
  1496. // Small size is preferable.
  1497. // (C) 1995-2013 Jean-loup Gailly and Mark Adler
  1498. // (C) 2014-2017 Vitaly Puzrin and Andrey Tupitsin
  1499. //
  1500. // This software is provided 'as-is', without any express or implied
  1501. // warranty. In no event will the authors be held liable for any damages
  1502. // arising from the use of this software.
  1503. //
  1504. // Permission is granted to anyone to use this software for any purpose,
  1505. // including commercial applications, and to alter it and redistribute it
  1506. // freely, subject to the following restrictions:
  1507. //
  1508. // 1. The origin of this software must not be misrepresented; you must not
  1509. // claim that you wrote the original software. If you use this software
  1510. // in a product, an acknowledgment in the product documentation would be
  1511. // appreciated but is not required.
  1512. // 2. Altered source versions must be plainly marked as such, and must not be
  1513. // misrepresented as being the original software.
  1514. // 3. This notice may not be removed or altered from any source distribution.
  1515. function adler32(adler, buf, len, pos) {
  1516. var s1 = (adler & 0xffff) |0,
  1517. s2 = ((adler >>> 16) & 0xffff) |0,
  1518. n = 0;
  1519. while (len !== 0) {
  1520. // Set limit ~ twice less than 5552, to keep
  1521. // s2 in 31-bits, because we force signed ints.
  1522. // in other case %= will fail.
  1523. n = len > 2000 ? 2000 : len;
  1524. len -= n;
  1525. do {
  1526. s1 = (s1 + buf[pos++]) |0;
  1527. s2 = (s2 + s1) |0;
  1528. } while (--n);
  1529. s1 %= 65521;
  1530. s2 %= 65521;
  1531. }
  1532. return (s1 | (s2 << 16)) |0;
  1533. }
  1534. module.exports = adler32;
  1535. },{}],6:[function(require,module,exports){
  1536. 'use strict';
  1537. // (C) 1995-2013 Jean-loup Gailly and Mark Adler
  1538. // (C) 2014-2017 Vitaly Puzrin and Andrey Tupitsin
  1539. //
  1540. // This software is provided 'as-is', without any express or implied
  1541. // warranty. In no event will the authors be held liable for any damages
  1542. // arising from the use of this software.
  1543. //
  1544. // Permission is granted to anyone to use this software for any purpose,
  1545. // including commercial applications, and to alter it and redistribute it
  1546. // freely, subject to the following restrictions:
  1547. //
  1548. // 1. The origin of this software must not be misrepresented; you must not
  1549. // claim that you wrote the original software. If you use this software
  1550. // in a product, an acknowledgment in the product documentation would be
  1551. // appreciated but is not required.
  1552. // 2. Altered source versions must be plainly marked as such, and must not be
  1553. // misrepresented as being the original software.
  1554. // 3. This notice may not be removed or altered from any source distribution.
  1555. module.exports = {
  1556. /* Allowed flush values; see deflate() and inflate() below for details */
  1557. Z_NO_FLUSH: 0,
  1558. Z_PARTIAL_FLUSH: 1,
  1559. Z_SYNC_FLUSH: 2,
  1560. Z_FULL_FLUSH: 3,
  1561. Z_FINISH: 4,
  1562. Z_BLOCK: 5,
  1563. Z_TREES: 6,
  1564. /* Return codes for the compression/decompression functions. Negative values
  1565. * are errors, positive values are used for special but normal events.
  1566. */
  1567. Z_OK: 0,
  1568. Z_STREAM_END: 1,
  1569. Z_NEED_DICT: 2,
  1570. Z_ERRNO: -1,
  1571. Z_STREAM_ERROR: -2,
  1572. Z_DATA_ERROR: -3,
  1573. //Z_MEM_ERROR: -4,
  1574. Z_BUF_ERROR: -5,
  1575. //Z_VERSION_ERROR: -6,
  1576. /* compression levels */
  1577. Z_NO_COMPRESSION: 0,
  1578. Z_BEST_SPEED: 1,
  1579. Z_BEST_COMPRESSION: 9,
  1580. Z_DEFAULT_COMPRESSION: -1,
  1581. Z_FILTERED: 1,
  1582. Z_HUFFMAN_ONLY: 2,
  1583. Z_RLE: 3,
  1584. Z_FIXED: 4,
  1585. Z_DEFAULT_STRATEGY: 0,
  1586. /* Possible values of the data_type field (though see inflate()) */
  1587. Z_BINARY: 0,
  1588. Z_TEXT: 1,
  1589. //Z_ASCII: 1, // = Z_TEXT (deprecated)
  1590. Z_UNKNOWN: 2,
  1591. /* The deflate compression method */
  1592. Z_DEFLATED: 8
  1593. //Z_NULL: null // Use -1 or null inline, depending on var type
  1594. };
  1595. },{}],7:[function(require,module,exports){
  1596. 'use strict';
  1597. // Note: we can't get significant speed boost here.
  1598. // So write code to minimize size - no pregenerated tables
  1599. // and array tools dependencies.
  1600. // (C) 1995-2013 Jean-loup Gailly and Mark Adler
  1601. // (C) 2014-2017 Vitaly Puzrin and Andrey Tupitsin
  1602. //
  1603. // This software is provided 'as-is', without any express or implied
  1604. // warranty. In no event will the authors be held liable for any damages
  1605. // arising from the use of this software.
  1606. //
  1607. // Permission is granted to anyone to use this software for any purpose,
  1608. // including commercial applications, and to alter it and redistribute it
  1609. // freely, subject to the following restrictions:
  1610. //
  1611. // 1. The origin of this software must not be misrepresented; you must not
  1612. // claim that you wrote the original software. If you use this software
  1613. // in a product, an acknowledgment in the product documentation would be
  1614. // appreciated but is not required.
  1615. // 2. Altered source versions must be plainly marked as such, and must not be
  1616. // misrepresented as being the original software.
  1617. // 3. This notice may not be removed or altered from any source distribution.
  1618. // Use ordinary array, since untyped makes no boost here
  1619. function makeTable() {
  1620. var c, table = [];
  1621. for (var n = 0; n < 256; n++) {
  1622. c = n;
  1623. for (var k = 0; k < 8; k++) {
  1624. c = ((c & 1) ? (0xEDB88320 ^ (c >>> 1)) : (c >>> 1));
  1625. }
  1626. table[n] = c;
  1627. }
  1628. return table;
  1629. }
  1630. // Create table on load. Just 255 signed longs. Not a problem.
  1631. var crcTable = makeTable();
  1632. function crc32(crc, buf, len, pos) {
  1633. var t = crcTable,
  1634. end = pos + len;
  1635. crc ^= -1;
  1636. for (var i = pos; i < end; i++) {
  1637. crc = (crc >>> 8) ^ t[(crc ^ buf[i]) & 0xFF];
  1638. }
  1639. return (crc ^ (-1)); // >>> 0;
  1640. }
  1641. module.exports = crc32;
  1642. },{}],8:[function(require,module,exports){
  1643. 'use strict';
  1644. // (C) 1995-2013 Jean-loup Gailly and Mark Adler
  1645. // (C) 2014-2017 Vitaly Puzrin and Andrey Tupitsin
  1646. //
  1647. // This software is provided 'as-is', without any express or implied
  1648. // warranty. In no event will the authors be held liable for any damages
  1649. // arising from the use of this software.
  1650. //
  1651. // Permission is granted to anyone to use this software for any purpose,
  1652. // including commercial applications, and to alter it and redistribute it
  1653. // freely, subject to the following restrictions:
  1654. //
  1655. // 1. The origin of this software must not be misrepresented; you must not
  1656. // claim that you wrote the original software. If you use this software
  1657. // in a product, an acknowledgment in the product documentation would be
  1658. // appreciated but is not required.
  1659. // 2. Altered source versions must be plainly marked as such, and must not be
  1660. // misrepresented as being the original software.
  1661. // 3. This notice may not be removed or altered from any source distribution.
  1662. var utils = require('../utils/common');
  1663. var trees = require('./trees');
  1664. var adler32 = require('./adler32');
  1665. var crc32 = require('./crc32');
  1666. var msg = require('./messages');
  1667. /* Public constants ==========================================================*/
  1668. /* ===========================================================================*/
  1669. /* Allowed flush values; see deflate() and inflate() below for details */
  1670. var Z_NO_FLUSH = 0;
  1671. var Z_PARTIAL_FLUSH = 1;
  1672. //var Z_SYNC_FLUSH = 2;
  1673. var Z_FULL_FLUSH = 3;
  1674. var Z_FINISH = 4;
  1675. var Z_BLOCK = 5;
  1676. //var Z_TREES = 6;
  1677. /* Return codes for the compression/decompression functions. Negative values
  1678. * are errors, positive values are used for special but normal events.
  1679. */
  1680. var Z_OK = 0;
  1681. var Z_STREAM_END = 1;
  1682. //var Z_NEED_DICT = 2;
  1683. //var Z_ERRNO = -1;
  1684. var Z_STREAM_ERROR = -2;
  1685. var Z_DATA_ERROR = -3;
  1686. //var Z_MEM_ERROR = -4;
  1687. var Z_BUF_ERROR = -5;
  1688. //var Z_VERSION_ERROR = -6;
  1689. /* compression levels */
  1690. //var Z_NO_COMPRESSION = 0;
  1691. //var Z_BEST_SPEED = 1;
  1692. //var Z_BEST_COMPRESSION = 9;
  1693. var Z_DEFAULT_COMPRESSION = -1;
  1694. var Z_FILTERED = 1;
  1695. var Z_HUFFMAN_ONLY = 2;
  1696. var Z_RLE = 3;
  1697. var Z_FIXED = 4;
  1698. var Z_DEFAULT_STRATEGY = 0;
  1699. /* Possible values of the data_type field (though see inflate()) */
  1700. //var Z_BINARY = 0;
  1701. //var Z_TEXT = 1;
  1702. //var Z_ASCII = 1; // = Z_TEXT
  1703. var Z_UNKNOWN = 2;
  1704. /* The deflate compression method */
  1705. var Z_DEFLATED = 8;
  1706. /*============================================================================*/
  1707. var MAX_MEM_LEVEL = 9;
  1708. /* Maximum value for memLevel in deflateInit2 */
  1709. var MAX_WBITS = 15;
  1710. /* 32K LZ77 window */
  1711. var DEF_MEM_LEVEL = 8;
  1712. var LENGTH_CODES = 29;
  1713. /* number of length codes, not counting the special END_BLOCK code */
  1714. var LITERALS = 256;
  1715. /* number of literal bytes 0..255 */
  1716. var L_CODES = LITERALS + 1 + LENGTH_CODES;
  1717. /* number of Literal or Length codes, including the END_BLOCK code */
  1718. var D_CODES = 30;
  1719. /* number of distance codes */
  1720. var BL_CODES = 19;
  1721. /* number of codes used to transfer the bit lengths */
  1722. var HEAP_SIZE = 2 * L_CODES + 1;
  1723. /* maximum heap size */
  1724. var MAX_BITS = 15;
  1725. /* All codes must not exceed MAX_BITS bits */
  1726. var MIN_MATCH = 3;
  1727. var MAX_MATCH = 258;
  1728. var MIN_LOOKAHEAD = (MAX_MATCH + MIN_MATCH + 1);
  1729. var PRESET_DICT = 0x20;
  1730. var INIT_STATE = 42;
  1731. var EXTRA_STATE = 69;
  1732. var NAME_STATE = 73;
  1733. var COMMENT_STATE = 91;
  1734. var HCRC_STATE = 103;
  1735. var BUSY_STATE = 113;
  1736. var FINISH_STATE = 666;
  1737. var BS_NEED_MORE = 1; /* block not completed, need more input or more output */
  1738. var BS_BLOCK_DONE = 2; /* block flush performed */
  1739. var BS_FINISH_STARTED = 3; /* finish started, need only more output at next deflate */
  1740. var BS_FINISH_DONE = 4; /* finish done, accept no more input or output */
  1741. var OS_CODE = 0x03; // Unix :) . Don't detect, use this default.
  1742. function err(strm, errorCode) {
  1743. strm.msg = msg[errorCode];
  1744. return errorCode;
  1745. }
  1746. function rank(f) {
  1747. return ((f) << 1) - ((f) > 4 ? 9 : 0);
  1748. }
  1749. function zero(buf) { var len = buf.length; while (--len >= 0) { buf[len] = 0; } }
  1750. /* =========================================================================
  1751. * Flush as much pending output as possible. All deflate() output goes
  1752. * through this function so some applications may wish to modify it
  1753. * to avoid allocating a large strm->output buffer and copying into it.
  1754. * (See also read_buf()).
  1755. */
  1756. function flush_pending(strm) {
  1757. var s = strm.state;
  1758. //_tr_flush_bits(s);
  1759. var len = s.pending;
  1760. if (len > strm.avail_out) {
  1761. len = strm.avail_out;
  1762. }
  1763. if (len === 0) { return; }
  1764. utils.arraySet(strm.output, s.pending_buf, s.pending_out, len, strm.next_out);
  1765. strm.next_out += len;
  1766. s.pending_out += len;
  1767. strm.total_out += len;
  1768. strm.avail_out -= len;
  1769. s.pending -= len;
  1770. if (s.pending === 0) {
  1771. s.pending_out = 0;
  1772. }
  1773. }
  1774. function flush_block_only(s, last) {
  1775. trees._tr_flush_block(s, (s.block_start >= 0 ? s.block_start : -1), s.strstart - s.block_start, last);
  1776. s.block_start = s.strstart;
  1777. flush_pending(s.strm);
  1778. }
  1779. function put_byte(s, b) {
  1780. s.pending_buf[s.pending++] = b;
  1781. }
  1782. /* =========================================================================
  1783. * Put a short in the pending buffer. The 16-bit value is put in MSB order.
  1784. * IN assertion: the stream state is correct and there is enough room in
  1785. * pending_buf.
  1786. */
  1787. function putShortMSB(s, b) {
  1788. // put_byte(s, (Byte)(b >> 8));
  1789. // put_byte(s, (Byte)(b & 0xff));
  1790. s.pending_buf[s.pending++] = (b >>> 8) & 0xff;
  1791. s.pending_buf[s.pending++] = b & 0xff;
  1792. }
  1793. /* ===========================================================================
  1794. * Read a new buffer from the current input stream, update the adler32
  1795. * and total number of bytes read. All deflate() input goes through
  1796. * this function so some applications may wish to modify it to avoid
  1797. * allocating a large strm->input buffer and copying from it.
  1798. * (See also flush_pending()).
  1799. */
  1800. function read_buf(strm, buf, start, size) {
  1801. var len = strm.avail_in;
  1802. if (len > size) { len = size; }
  1803. if (len === 0) { return 0; }
  1804. strm.avail_in -= len;
  1805. // zmemcpy(buf, strm->next_in, len);
  1806. utils.arraySet(buf, strm.input, strm.next_in, len, start);
  1807. if (strm.state.wrap === 1) {
  1808. strm.adler = adler32(strm.adler, buf, len, start);
  1809. }
  1810. else if (strm.state.wrap === 2) {
  1811. strm.adler = crc32(strm.adler, buf, len, start);
  1812. }
  1813. strm.next_in += len;
  1814. strm.total_in += len;
  1815. return len;
  1816. }
  1817. /* ===========================================================================
  1818. * Set match_start to the longest match starting at the given string and
  1819. * return its length. Matches shorter or equal to prev_length are discarded,
  1820. * in which case the result is equal to prev_length and match_start is
  1821. * garbage.
  1822. * IN assertions: cur_match is the head of the hash chain for the current
  1823. * string (strstart) and its distance is <= MAX_DIST, and prev_length >= 1
  1824. * OUT assertion: the match length is not greater than s->lookahead.
  1825. */
  1826. function longest_match(s, cur_match) {
  1827. var chain_length = s.max_chain_length; /* max hash chain length */
  1828. var scan = s.strstart; /* current string */
  1829. var match; /* matched string */
  1830. var len; /* length of current match */
  1831. var best_len = s.prev_length; /* best match length so far */
  1832. var nice_match = s.nice_match; /* stop if match long enough */
  1833. var limit = (s.strstart > (s.w_size - MIN_LOOKAHEAD)) ?
  1834. s.strstart - (s.w_size - MIN_LOOKAHEAD) : 0/*NIL*/;
  1835. var _win = s.window; // shortcut
  1836. var wmask = s.w_mask;
  1837. var prev = s.prev;
  1838. /* Stop when cur_match becomes <= limit. To simplify the code,
  1839. * we prevent matches with the string of window index 0.
  1840. */
  1841. var strend = s.strstart + MAX_MATCH;
  1842. var scan_end1 = _win[scan + best_len - 1];
  1843. var scan_end = _win[scan + best_len];
  1844. /* The code is optimized for HASH_BITS >= 8 and MAX_MATCH-2 multiple of 16.
  1845. * It is easy to get rid of this optimization if necessary.
  1846. */
  1847. // Assert(s->hash_bits >= 8 && MAX_MATCH == 258, "Code too clever");
  1848. /* Do not waste too much time if we already have a good match: */
  1849. if (s.prev_length >= s.good_match) {
  1850. chain_length >>= 2;
  1851. }
  1852. /* Do not look for matches beyond the end of the input. This is necessary
  1853. * to make deflate deterministic.
  1854. */
  1855. if (nice_match > s.lookahead) { nice_match = s.lookahead; }
  1856. // Assert((ulg)s->strstart <= s->window_size-MIN_LOOKAHEAD, "need lookahead");
  1857. do {
  1858. // Assert(cur_match < s->strstart, "no future");
  1859. match = cur_match;
  1860. /* Skip to next match if the match length cannot increase
  1861. * or if the match length is less than 2. Note that the checks below
  1862. * for insufficient lookahead only occur occasionally for performance
  1863. * reasons. Therefore uninitialized memory will be accessed, and
  1864. * conditional jumps will be made that depend on those values.
  1865. * However the length of the match is limited to the lookahead, so
  1866. * the output of deflate is not affected by the uninitialized values.
  1867. */
  1868. if (_win[match + best_len] !== scan_end ||
  1869. _win[match + best_len - 1] !== scan_end1 ||
  1870. _win[match] !== _win[scan] ||
  1871. _win[++match] !== _win[scan + 1]) {
  1872. continue;
  1873. }
  1874. /* The check at best_len-1 can be removed because it will be made
  1875. * again later. (This heuristic is not always a win.)
  1876. * It is not necessary to compare scan[2] and match[2] since they
  1877. * are always equal when the other bytes match, given that
  1878. * the hash keys are equal and that HASH_BITS >= 8.
  1879. */
  1880. scan += 2;
  1881. match++;
  1882. // Assert(*scan == *match, "match[2]?");
  1883. /* We check for insufficient lookahead only every 8th comparison;
  1884. * the 256th check will be made at strstart+258.
  1885. */
  1886. do {
  1887. /*jshint noempty:false*/
  1888. } while (_win[++scan] === _win[++match] && _win[++scan] === _win[++match] &&
  1889. _win[++scan] === _win[++match] && _win[++scan] === _win[++match] &&
  1890. _win[++scan] === _win[++match] && _win[++scan] === _win[++match] &&
  1891. _win[++scan] === _win[++match] && _win[++scan] === _win[++match] &&
  1892. scan < strend);
  1893. // Assert(scan <= s->window+(unsigned)(s->window_size-1), "wild scan");
  1894. len = MAX_MATCH - (strend - scan);
  1895. scan = strend - MAX_MATCH;
  1896. if (len > best_len) {
  1897. s.match_start = cur_match;
  1898. best_len = len;
  1899. if (len >= nice_match) {
  1900. break;
  1901. }
  1902. scan_end1 = _win[scan + best_len - 1];
  1903. scan_end = _win[scan + best_len];
  1904. }
  1905. } while ((cur_match = prev[cur_match & wmask]) > limit && --chain_length !== 0);
  1906. if (best_len <= s.lookahead) {
  1907. return best_len;
  1908. }
  1909. return s.lookahead;
  1910. }
  1911. /* ===========================================================================
  1912. * Fill the window when the lookahead becomes insufficient.
  1913. * Updates strstart and lookahead.
  1914. *
  1915. * IN assertion: lookahead < MIN_LOOKAHEAD
  1916. * OUT assertions: strstart <= window_size-MIN_LOOKAHEAD
  1917. * At least one byte has been read, or avail_in == 0; reads are
  1918. * performed for at least two bytes (required for the zip translate_eol
  1919. * option -- not supported here).
  1920. */
  1921. function fill_window(s) {
  1922. var _w_size = s.w_size;
  1923. var p, n, m, more, str;
  1924. //Assert(s->lookahead < MIN_LOOKAHEAD, "already enough lookahead");
  1925. do {
  1926. more = s.window_size - s.lookahead - s.strstart;
  1927. // JS ints have 32 bit, block below not needed
  1928. /* Deal with !@#$% 64K limit: */
  1929. //if (sizeof(int) <= 2) {
  1930. // if (more == 0 && s->strstart == 0 && s->lookahead == 0) {
  1931. // more = wsize;
  1932. //
  1933. // } else if (more == (unsigned)(-1)) {
  1934. // /* Very unlikely, but possible on 16 bit machine if
  1935. // * strstart == 0 && lookahead == 1 (input done a byte at time)
  1936. // */
  1937. // more--;
  1938. // }
  1939. //}
  1940. /* If the window is almost full and there is insufficient lookahead,
  1941. * move the upper half to the lower one to make room in the upper half.
  1942. */
  1943. if (s.strstart >= _w_size + (_w_size - MIN_LOOKAHEAD)) {
  1944. utils.arraySet(s.window, s.window, _w_size, _w_size, 0);
  1945. s.match_start -= _w_size;
  1946. s.strstart -= _w_size;
  1947. /* we now have strstart >= MAX_DIST */
  1948. s.block_start -= _w_size;
  1949. /* Slide the hash table (could be avoided with 32 bit values
  1950. at the expense of memory usage). We slide even when level == 0
  1951. to keep the hash table consistent if we switch back to level > 0
  1952. later. (Using level 0 permanently is not an optimal usage of
  1953. zlib, so we don't care about this pathological case.)
  1954. */
  1955. n = s.hash_size;
  1956. p = n;
  1957. do {
  1958. m = s.head[--p];
  1959. s.head[p] = (m >= _w_size ? m - _w_size : 0);
  1960. } while (--n);
  1961. n = _w_size;
  1962. p = n;
  1963. do {
  1964. m = s.prev[--p];
  1965. s.prev[p] = (m >= _w_size ? m - _w_size : 0);
  1966. /* If n is not on any hash chain, prev[n] is garbage but
  1967. * its value will never be used.
  1968. */
  1969. } while (--n);
  1970. more += _w_size;
  1971. }
  1972. if (s.strm.avail_in === 0) {
  1973. break;
  1974. }
  1975. /* If there was no sliding:
  1976. * strstart <= WSIZE+MAX_DIST-1 && lookahead <= MIN_LOOKAHEAD - 1 &&
  1977. * more == window_size - lookahead - strstart
  1978. * => more >= window_size - (MIN_LOOKAHEAD-1 + WSIZE + MAX_DIST-1)
  1979. * => more >= window_size - 2*WSIZE + 2
  1980. * In the BIG_MEM or MMAP case (not yet supported),
  1981. * window_size == input_size + MIN_LOOKAHEAD &&
  1982. * strstart + s->lookahead <= input_size => more >= MIN_LOOKAHEAD.
  1983. * Otherwise, window_size == 2*WSIZE so more >= 2.
  1984. * If there was sliding, more >= WSIZE. So in all cases, more >= 2.
  1985. */
  1986. //Assert(more >= 2, "more < 2");
  1987. n = read_buf(s.strm, s.window, s.strstart + s.lookahead, more);
  1988. s.lookahead += n;
  1989. /* Initialize the hash value now that we have some input: */
  1990. if (s.lookahead + s.insert >= MIN_MATCH) {
  1991. str = s.strstart - s.insert;
  1992. s.ins_h = s.window[str];
  1993. /* UPDATE_HASH(s, s->ins_h, s->window[str + 1]); */
  1994. s.ins_h = ((s.ins_h << s.hash_shift) ^ s.window[str + 1]) & s.hash_mask;
  1995. //#if MIN_MATCH != 3
  1996. // Call update_hash() MIN_MATCH-3 more times
  1997. //#endif
  1998. while (s.insert) {
  1999. /* UPDATE_HASH(s, s->ins_h, s->window[str + MIN_MATCH-1]); */
  2000. s.ins_h = ((s.ins_h << s.hash_shift) ^ s.window[str + MIN_MATCH - 1]) & s.hash_mask;
  2001. s.prev[str & s.w_mask] = s.head[s.ins_h];
  2002. s.head[s.ins_h] = str;
  2003. str++;
  2004. s.insert--;
  2005. if (s.lookahead + s.insert < MIN_MATCH) {
  2006. break;
  2007. }
  2008. }
  2009. }
  2010. /* If the whole input has less than MIN_MATCH bytes, ins_h is garbage,
  2011. * but this is not important since only literal bytes will be emitted.
  2012. */
  2013. } while (s.lookahead < MIN_LOOKAHEAD && s.strm.avail_in !== 0);
  2014. /* If the WIN_INIT bytes after the end of the current data have never been
  2015. * written, then zero those bytes in order to avoid memory check reports of
  2016. * the use of uninitialized (or uninitialised as Julian writes) bytes by
  2017. * the longest match routines. Update the high water mark for the next
  2018. * time through here. WIN_INIT is set to MAX_MATCH since the longest match
  2019. * routines allow scanning to strstart + MAX_MATCH, ignoring lookahead.
  2020. */
  2021. // if (s.high_water < s.window_size) {
  2022. // var curr = s.strstart + s.lookahead;
  2023. // var init = 0;
  2024. //
  2025. // if (s.high_water < curr) {
  2026. // /* Previous high water mark below current data -- zero WIN_INIT
  2027. // * bytes or up to end of window, whichever is less.
  2028. // */
  2029. // init = s.window_size - curr;
  2030. // if (init > WIN_INIT)
  2031. // init = WIN_INIT;
  2032. // zmemzero(s->window + curr, (unsigned)init);
  2033. // s->high_water = curr + init;
  2034. // }
  2035. // else if (s->high_water < (ulg)curr + WIN_INIT) {
  2036. // /* High water mark at or above current data, but below current data
  2037. // * plus WIN_INIT -- zero out to current data plus WIN_INIT, or up
  2038. // * to end of window, whichever is less.
  2039. // */
  2040. // init = (ulg)curr + WIN_INIT - s->high_water;
  2041. // if (init > s->window_size - s->high_water)
  2042. // init = s->window_size - s->high_water;
  2043. // zmemzero(s->window + s->high_water, (unsigned)init);
  2044. // s->high_water += init;
  2045. // }
  2046. // }
  2047. //
  2048. // Assert((ulg)s->strstart <= s->window_size - MIN_LOOKAHEAD,
  2049. // "not enough room for search");
  2050. }
  2051. /* ===========================================================================
  2052. * Copy without compression as much as possible from the input stream, return
  2053. * the current block state.
  2054. * This function does not insert new strings in the dictionary since
  2055. * uncompressible data is probably not useful. This function is used
  2056. * only for the level=0 compression option.
  2057. * NOTE: this function should be optimized to avoid extra copying from
  2058. * window to pending_buf.
  2059. */
  2060. function deflate_stored(s, flush) {
  2061. /* Stored blocks are limited to 0xffff bytes, pending_buf is limited
  2062. * to pending_buf_size, and each stored block has a 5 byte header:
  2063. */
  2064. var max_block_size = 0xffff;
  2065. if (max_block_size > s.pending_buf_size - 5) {
  2066. max_block_size = s.pending_buf_size - 5;
  2067. }
  2068. /* Copy as much as possible from input to output: */
  2069. for (;;) {
  2070. /* Fill the window as much as possible: */
  2071. if (s.lookahead <= 1) {
  2072. //Assert(s->strstart < s->w_size+MAX_DIST(s) ||
  2073. // s->block_start >= (long)s->w_size, "slide too late");
  2074. // if (!(s.strstart < s.w_size + (s.w_size - MIN_LOOKAHEAD) ||
  2075. // s.block_start >= s.w_size)) {
  2076. // throw new Error("slide too late");
  2077. // }
  2078. fill_window(s);
  2079. if (s.lookahead === 0 && flush === Z_NO_FLUSH) {
  2080. return BS_NEED_MORE;
  2081. }
  2082. if (s.lookahead === 0) {
  2083. break;
  2084. }
  2085. /* flush the current block */
  2086. }
  2087. //Assert(s->block_start >= 0L, "block gone");
  2088. // if (s.block_start < 0) throw new Error("block gone");
  2089. s.strstart += s.lookahead;
  2090. s.lookahead = 0;
  2091. /* Emit a stored block if pending_buf will be full: */
  2092. var max_start = s.block_start + max_block_size;
  2093. if (s.strstart === 0 || s.strstart >= max_start) {
  2094. /* strstart == 0 is possible when wraparound on 16-bit machine */
  2095. s.lookahead = s.strstart - max_start;
  2096. s.strstart = max_start;
  2097. /*** FLUSH_BLOCK(s, 0); ***/
  2098. flush_block_only(s, false);
  2099. if (s.strm.avail_out === 0) {
  2100. return BS_NEED_MORE;
  2101. }
  2102. /***/
  2103. }
  2104. /* Flush if we may have to slide, otherwise block_start may become
  2105. * negative and the data will be gone:
  2106. */
  2107. if (s.strstart - s.block_start >= (s.w_size - MIN_LOOKAHEAD)) {
  2108. /*** FLUSH_BLOCK(s, 0); ***/
  2109. flush_block_only(s, false);
  2110. if (s.strm.avail_out === 0) {
  2111. return BS_NEED_MORE;
  2112. }
  2113. /***/
  2114. }
  2115. }
  2116. s.insert = 0;
  2117. if (flush === Z_FINISH) {
  2118. /*** FLUSH_BLOCK(s, 1); ***/
  2119. flush_block_only(s, true);
  2120. if (s.strm.avail_out === 0) {
  2121. return BS_FINISH_STARTED;
  2122. }
  2123. /***/
  2124. return BS_FINISH_DONE;
  2125. }
  2126. if (s.strstart > s.block_start) {
  2127. /*** FLUSH_BLOCK(s, 0); ***/
  2128. flush_block_only(s, false);
  2129. if (s.strm.avail_out === 0) {
  2130. return BS_NEED_MORE;
  2131. }
  2132. /***/
  2133. }
  2134. return BS_NEED_MORE;
  2135. }
  2136. /* ===========================================================================
  2137. * Compress as much as possible from the input stream, return the current
  2138. * block state.
  2139. * This function does not perform lazy evaluation of matches and inserts
  2140. * new strings in the dictionary only for unmatched strings or for short
  2141. * matches. It is used only for the fast compression options.
  2142. */
  2143. function deflate_fast(s, flush) {
  2144. var hash_head; /* head of the hash chain */
  2145. var bflush; /* set if current block must be flushed */
  2146. for (;;) {
  2147. /* Make sure that we always have enough lookahead, except
  2148. * at the end of the input file. We need MAX_MATCH bytes
  2149. * for the next match, plus MIN_MATCH bytes to insert the
  2150. * string following the next match.
  2151. */
  2152. if (s.lookahead < MIN_LOOKAHEAD) {
  2153. fill_window(s);
  2154. if (s.lookahead < MIN_LOOKAHEAD && flush === Z_NO_FLUSH) {
  2155. return BS_NEED_MORE;
  2156. }
  2157. if (s.lookahead === 0) {
  2158. break; /* flush the current block */
  2159. }
  2160. }
  2161. /* Insert the string window[strstart .. strstart+2] in the
  2162. * dictionary, and set hash_head to the head of the hash chain:
  2163. */
  2164. hash_head = 0/*NIL*/;
  2165. if (s.lookahead >= MIN_MATCH) {
  2166. /*** INSERT_STRING(s, s.strstart, hash_head); ***/
  2167. s.ins_h = ((s.ins_h << s.hash_shift) ^ s.window[s.strstart + MIN_MATCH - 1]) & s.hash_mask;
  2168. hash_head = s.prev[s.strstart & s.w_mask] = s.head[s.ins_h];
  2169. s.head[s.ins_h] = s.strstart;
  2170. /***/
  2171. }
  2172. /* Find the longest match, discarding those <= prev_length.
  2173. * At this point we have always match_length < MIN_MATCH
  2174. */
  2175. if (hash_head !== 0/*NIL*/ && ((s.strstart - hash_head) <= (s.w_size - MIN_LOOKAHEAD))) {
  2176. /* To simplify the code, we prevent matches with the string
  2177. * of window index 0 (in particular we have to avoid a match
  2178. * of the string with itself at the start of the input file).
  2179. */
  2180. s.match_length = longest_match(s, hash_head);
  2181. /* longest_match() sets match_start */
  2182. }
  2183. if (s.match_length >= MIN_MATCH) {
  2184. // check_match(s, s.strstart, s.match_start, s.match_length); // for debug only
  2185. /*** _tr_tally_dist(s, s.strstart - s.match_start,
  2186. s.match_length - MIN_MATCH, bflush); ***/
  2187. bflush = trees._tr_tally(s, s.strstart - s.match_start, s.match_length - MIN_MATCH);
  2188. s.lookahead -= s.match_length;
  2189. /* Insert new strings in the hash table only if the match length
  2190. * is not too large. This saves time but degrades compression.
  2191. */
  2192. if (s.match_length <= s.max_lazy_match/*max_insert_length*/ && s.lookahead >= MIN_MATCH) {
  2193. s.match_length--; /* string at strstart already in table */
  2194. do {
  2195. s.strstart++;
  2196. /*** INSERT_STRING(s, s.strstart, hash_head); ***/
  2197. s.ins_h = ((s.ins_h << s.hash_shift) ^ s.window[s.strstart + MIN_MATCH - 1]) & s.hash_mask;
  2198. hash_head = s.prev[s.strstart & s.w_mask] = s.head[s.ins_h];
  2199. s.head[s.ins_h] = s.strstart;
  2200. /***/
  2201. /* strstart never exceeds WSIZE-MAX_MATCH, so there are
  2202. * always MIN_MATCH bytes ahead.
  2203. */
  2204. } while (--s.match_length !== 0);
  2205. s.strstart++;
  2206. } else
  2207. {
  2208. s.strstart += s.match_length;
  2209. s.match_length = 0;
  2210. s.ins_h = s.window[s.strstart];
  2211. /* UPDATE_HASH(s, s.ins_h, s.window[s.strstart+1]); */
  2212. s.ins_h = ((s.ins_h << s.hash_shift) ^ s.window[s.strstart + 1]) & s.hash_mask;
  2213. //#if MIN_MATCH != 3
  2214. // Call UPDATE_HASH() MIN_MATCH-3 more times
  2215. //#endif
  2216. /* If lookahead < MIN_MATCH, ins_h is garbage, but it does not
  2217. * matter since it will be recomputed at next deflate call.
  2218. */
  2219. }
  2220. } else {
  2221. /* No match, output a literal byte */
  2222. //Tracevv((stderr,"%c", s.window[s.strstart]));
  2223. /*** _tr_tally_lit(s, s.window[s.strstart], bflush); ***/
  2224. bflush = trees._tr_tally(s, 0, s.window[s.strstart]);
  2225. s.lookahead--;
  2226. s.strstart++;
  2227. }
  2228. if (bflush) {
  2229. /*** FLUSH_BLOCK(s, 0); ***/
  2230. flush_block_only(s, false);
  2231. if (s.strm.avail_out === 0) {
  2232. return BS_NEED_MORE;
  2233. }
  2234. /***/
  2235. }
  2236. }
  2237. s.insert = ((s.strstart < (MIN_MATCH - 1)) ? s.strstart : MIN_MATCH - 1);
  2238. if (flush === Z_FINISH) {
  2239. /*** FLUSH_BLOCK(s, 1); ***/
  2240. flush_block_only(s, true);
  2241. if (s.strm.avail_out === 0) {
  2242. return BS_FINISH_STARTED;
  2243. }
  2244. /***/
  2245. return BS_FINISH_DONE;
  2246. }
  2247. if (s.last_lit) {
  2248. /*** FLUSH_BLOCK(s, 0); ***/
  2249. flush_block_only(s, false);
  2250. if (s.strm.avail_out === 0) {
  2251. return BS_NEED_MORE;
  2252. }
  2253. /***/
  2254. }
  2255. return BS_BLOCK_DONE;
  2256. }
  2257. /* ===========================================================================
  2258. * Same as above, but achieves better compression. We use a lazy
  2259. * evaluation for matches: a match is finally adopted only if there is
  2260. * no better match at the next window position.
  2261. */
  2262. function deflate_slow(s, flush) {
  2263. var hash_head; /* head of hash chain */
  2264. var bflush; /* set if current block must be flushed */
  2265. var max_insert;
  2266. /* Process the input block. */
  2267. for (;;) {
  2268. /* Make sure that we always have enough lookahead, except
  2269. * at the end of the input file. We need MAX_MATCH bytes
  2270. * for the next match, plus MIN_MATCH bytes to insert the
  2271. * string following the next match.
  2272. */
  2273. if (s.lookahead < MIN_LOOKAHEAD) {
  2274. fill_window(s);
  2275. if (s.lookahead < MIN_LOOKAHEAD && flush === Z_NO_FLUSH) {
  2276. return BS_NEED_MORE;
  2277. }
  2278. if (s.lookahead === 0) { break; } /* flush the current block */
  2279. }
  2280. /* Insert the string window[strstart .. strstart+2] in the
  2281. * dictionary, and set hash_head to the head of the hash chain:
  2282. */
  2283. hash_head = 0/*NIL*/;
  2284. if (s.lookahead >= MIN_MATCH) {
  2285. /*** INSERT_STRING(s, s.strstart, hash_head); ***/
  2286. s.ins_h = ((s.ins_h << s.hash_shift) ^ s.window[s.strstart + MIN_MATCH - 1]) & s.hash_mask;
  2287. hash_head = s.prev[s.strstart & s.w_mask] = s.head[s.ins_h];
  2288. s.head[s.ins_h] = s.strstart;
  2289. /***/
  2290. }
  2291. /* Find the longest match, discarding those <= prev_length.
  2292. */
  2293. s.prev_length = s.match_length;
  2294. s.prev_match = s.match_start;
  2295. s.match_length = MIN_MATCH - 1;
  2296. if (hash_head !== 0/*NIL*/ && s.prev_length < s.max_lazy_match &&
  2297. s.strstart - hash_head <= (s.w_size - MIN_LOOKAHEAD)/*MAX_DIST(s)*/) {
  2298. /* To simplify the code, we prevent matches with the string
  2299. * of window index 0 (in particular we have to avoid a match
  2300. * of the string with itself at the start of the input file).
  2301. */
  2302. s.match_length = longest_match(s, hash_head);
  2303. /* longest_match() sets match_start */
  2304. if (s.match_length <= 5 &&
  2305. (s.strategy === Z_FILTERED || (s.match_length === MIN_MATCH && s.strstart - s.match_start > 4096/*TOO_FAR*/))) {
  2306. /* If prev_match is also MIN_MATCH, match_start is garbage
  2307. * but we will ignore the current match anyway.
  2308. */
  2309. s.match_length = MIN_MATCH - 1;
  2310. }
  2311. }
  2312. /* If there was a match at the previous step and the current
  2313. * match is not better, output the previous match:
  2314. */
  2315. if (s.prev_length >= MIN_MATCH && s.match_length <= s.prev_length) {
  2316. max_insert = s.strstart + s.lookahead - MIN_MATCH;
  2317. /* Do not insert strings in hash table beyond this. */
  2318. //check_match(s, s.strstart-1, s.prev_match, s.prev_length);
  2319. /***_tr_tally_dist(s, s.strstart - 1 - s.prev_match,
  2320. s.prev_length - MIN_MATCH, bflush);***/
  2321. bflush = trees._tr_tally(s, s.strstart - 1 - s.prev_match, s.prev_length - MIN_MATCH);
  2322. /* Insert in hash table all strings up to the end of the match.
  2323. * strstart-1 and strstart are already inserted. If there is not
  2324. * enough lookahead, the last two strings are not inserted in
  2325. * the hash table.
  2326. */
  2327. s.lookahead -= s.prev_length - 1;
  2328. s.prev_length -= 2;
  2329. do {
  2330. if (++s.strstart <= max_insert) {
  2331. /*** INSERT_STRING(s, s.strstart, hash_head); ***/
  2332. s.ins_h = ((s.ins_h << s.hash_shift) ^ s.window[s.strstart + MIN_MATCH - 1]) & s.hash_mask;
  2333. hash_head = s.prev[s.strstart & s.w_mask] = s.head[s.ins_h];
  2334. s.head[s.ins_h] = s.strstart;
  2335. /***/
  2336. }
  2337. } while (--s.prev_length !== 0);
  2338. s.match_available = 0;
  2339. s.match_length = MIN_MATCH - 1;
  2340. s.strstart++;
  2341. if (bflush) {
  2342. /*** FLUSH_BLOCK(s, 0); ***/
  2343. flush_block_only(s, false);
  2344. if (s.strm.avail_out === 0) {
  2345. return BS_NEED_MORE;
  2346. }
  2347. /***/
  2348. }
  2349. } else if (s.match_available) {
  2350. /* If there was no match at the previous position, output a
  2351. * single literal. If there was a match but the current match
  2352. * is longer, truncate the previous match to a single literal.
  2353. */
  2354. //Tracevv((stderr,"%c", s->window[s->strstart-1]));
  2355. /*** _tr_tally_lit(s, s.window[s.strstart-1], bflush); ***/
  2356. bflush = trees._tr_tally(s, 0, s.window[s.strstart - 1]);
  2357. if (bflush) {
  2358. /*** FLUSH_BLOCK_ONLY(s, 0) ***/
  2359. flush_block_only(s, false);
  2360. /***/
  2361. }
  2362. s.strstart++;
  2363. s.lookahead--;
  2364. if (s.strm.avail_out === 0) {
  2365. return BS_NEED_MORE;
  2366. }
  2367. } else {
  2368. /* There is no previous match to compare with, wait for
  2369. * the next step to decide.
  2370. */
  2371. s.match_available = 1;
  2372. s.strstart++;
  2373. s.lookahead--;
  2374. }
  2375. }
  2376. //Assert (flush != Z_NO_FLUSH, "no flush?");
  2377. if (s.match_available) {
  2378. //Tracevv((stderr,"%c", s->window[s->strstart-1]));
  2379. /*** _tr_tally_lit(s, s.window[s.strstart-1], bflush); ***/
  2380. bflush = trees._tr_tally(s, 0, s.window[s.strstart - 1]);
  2381. s.match_available = 0;
  2382. }
  2383. s.insert = s.strstart < MIN_MATCH - 1 ? s.strstart : MIN_MATCH - 1;
  2384. if (flush === Z_FINISH) {
  2385. /*** FLUSH_BLOCK(s, 1); ***/
  2386. flush_block_only(s, true);
  2387. if (s.strm.avail_out === 0) {
  2388. return BS_FINISH_STARTED;
  2389. }
  2390. /***/
  2391. return BS_FINISH_DONE;
  2392. }
  2393. if (s.last_lit) {
  2394. /*** FLUSH_BLOCK(s, 0); ***/
  2395. flush_block_only(s, false);
  2396. if (s.strm.avail_out === 0) {
  2397. return BS_NEED_MORE;
  2398. }
  2399. /***/
  2400. }
  2401. return BS_BLOCK_DONE;
  2402. }
  2403. /* ===========================================================================
  2404. * For Z_RLE, simply look for runs of bytes, generate matches only of distance
  2405. * one. Do not maintain a hash table. (It will be regenerated if this run of
  2406. * deflate switches away from Z_RLE.)
  2407. */
  2408. function deflate_rle(s, flush) {
  2409. var bflush; /* set if current block must be flushed */
  2410. var prev; /* byte at distance one to match */
  2411. var scan, strend; /* scan goes up to strend for length of run */
  2412. var _win = s.window;
  2413. for (;;) {
  2414. /* Make sure that we always have enough lookahead, except
  2415. * at the end of the input file. We need MAX_MATCH bytes
  2416. * for the longest run, plus one for the unrolled loop.
  2417. */
  2418. if (s.lookahead <= MAX_MATCH) {
  2419. fill_window(s);
  2420. if (s.lookahead <= MAX_MATCH && flush === Z_NO_FLUSH) {
  2421. return BS_NEED_MORE;
  2422. }
  2423. if (s.lookahead === 0) { break; } /* flush the current block */
  2424. }
  2425. /* See how many times the previous byte repeats */
  2426. s.match_length = 0;
  2427. if (s.lookahead >= MIN_MATCH && s.strstart > 0) {
  2428. scan = s.strstart - 1;
  2429. prev = _win[scan];
  2430. if (prev === _win[++scan] && prev === _win[++scan] && prev === _win[++scan]) {
  2431. strend = s.strstart + MAX_MATCH;
  2432. do {
  2433. /*jshint noempty:false*/
  2434. } while (prev === _win[++scan] && prev === _win[++scan] &&
  2435. prev === _win[++scan] && prev === _win[++scan] &&
  2436. prev === _win[++scan] && prev === _win[++scan] &&
  2437. prev === _win[++scan] && prev === _win[++scan] &&
  2438. scan < strend);
  2439. s.match_length = MAX_MATCH - (strend - scan);
  2440. if (s.match_length > s.lookahead) {
  2441. s.match_length = s.lookahead;
  2442. }
  2443. }
  2444. //Assert(scan <= s->window+(uInt)(s->window_size-1), "wild scan");
  2445. }
  2446. /* Emit match if have run of MIN_MATCH or longer, else emit literal */
  2447. if (s.match_length >= MIN_MATCH) {
  2448. //check_match(s, s.strstart, s.strstart - 1, s.match_length);
  2449. /*** _tr_tally_dist(s, 1, s.match_length - MIN_MATCH, bflush); ***/
  2450. bflush = trees._tr_tally(s, 1, s.match_length - MIN_MATCH);
  2451. s.lookahead -= s.match_length;
  2452. s.strstart += s.match_length;
  2453. s.match_length = 0;
  2454. } else {
  2455. /* No match, output a literal byte */
  2456. //Tracevv((stderr,"%c", s->window[s->strstart]));
  2457. /*** _tr_tally_lit(s, s.window[s.strstart], bflush); ***/
  2458. bflush = trees._tr_tally(s, 0, s.window[s.strstart]);
  2459. s.lookahead--;
  2460. s.strstart++;
  2461. }
  2462. if (bflush) {
  2463. /*** FLUSH_BLOCK(s, 0); ***/
  2464. flush_block_only(s, false);
  2465. if (s.strm.avail_out === 0) {
  2466. return BS_NEED_MORE;
  2467. }
  2468. /***/
  2469. }
  2470. }
  2471. s.insert = 0;
  2472. if (flush === Z_FINISH) {
  2473. /*** FLUSH_BLOCK(s, 1); ***/
  2474. flush_block_only(s, true);
  2475. if (s.strm.avail_out === 0) {
  2476. return BS_FINISH_STARTED;
  2477. }
  2478. /***/
  2479. return BS_FINISH_DONE;
  2480. }
  2481. if (s.last_lit) {
  2482. /*** FLUSH_BLOCK(s, 0); ***/
  2483. flush_block_only(s, false);
  2484. if (s.strm.avail_out === 0) {
  2485. return BS_NEED_MORE;
  2486. }
  2487. /***/
  2488. }
  2489. return BS_BLOCK_DONE;
  2490. }
  2491. /* ===========================================================================
  2492. * For Z_HUFFMAN_ONLY, do not look for matches. Do not maintain a hash table.
  2493. * (It will be regenerated if this run of deflate switches away from Huffman.)
  2494. */
  2495. function deflate_huff(s, flush) {
  2496. var bflush; /* set if current block must be flushed */
  2497. for (;;) {
  2498. /* Make sure that we have a literal to write. */
  2499. if (s.lookahead === 0) {
  2500. fill_window(s);
  2501. if (s.lookahead === 0) {
  2502. if (flush === Z_NO_FLUSH) {
  2503. return BS_NEED_MORE;
  2504. }
  2505. break; /* flush the current block */
  2506. }
  2507. }
  2508. /* Output a literal byte */
  2509. s.match_length = 0;
  2510. //Tracevv((stderr,"%c", s->window[s->strstart]));
  2511. /*** _tr_tally_lit(s, s.window[s.strstart], bflush); ***/
  2512. bflush = trees._tr_tally(s, 0, s.window[s.strstart]);
  2513. s.lookahead--;
  2514. s.strstart++;
  2515. if (bflush) {
  2516. /*** FLUSH_BLOCK(s, 0); ***/
  2517. flush_block_only(s, false);
  2518. if (s.strm.avail_out === 0) {
  2519. return BS_NEED_MORE;
  2520. }
  2521. /***/
  2522. }
  2523. }
  2524. s.insert = 0;
  2525. if (flush === Z_FINISH) {
  2526. /*** FLUSH_BLOCK(s, 1); ***/
  2527. flush_block_only(s, true);
  2528. if (s.strm.avail_out === 0) {
  2529. return BS_FINISH_STARTED;
  2530. }
  2531. /***/
  2532. return BS_FINISH_DONE;
  2533. }
  2534. if (s.last_lit) {
  2535. /*** FLUSH_BLOCK(s, 0); ***/
  2536. flush_block_only(s, false);
  2537. if (s.strm.avail_out === 0) {
  2538. return BS_NEED_MORE;
  2539. }
  2540. /***/
  2541. }
  2542. return BS_BLOCK_DONE;
  2543. }
  2544. /* Values for max_lazy_match, good_match and max_chain_length, depending on
  2545. * the desired pack level (0..9). The values given below have been tuned to
  2546. * exclude worst case performance for pathological files. Better values may be
  2547. * found for specific files.
  2548. */
  2549. function Config(good_length, max_lazy, nice_length, max_chain, func) {
  2550. this.good_length = good_length;
  2551. this.max_lazy = max_lazy;
  2552. this.nice_length = nice_length;
  2553. this.max_chain = max_chain;
  2554. this.func = func;
  2555. }
  2556. var configuration_table;
  2557. configuration_table = [
  2558. /* good lazy nice chain */
  2559. new Config(0, 0, 0, 0, deflate_stored), /* 0 store only */
  2560. new Config(4, 4, 8, 4, deflate_fast), /* 1 max speed, no lazy matches */
  2561. new Config(4, 5, 16, 8, deflate_fast), /* 2 */
  2562. new Config(4, 6, 32, 32, deflate_fast), /* 3 */
  2563. new Config(4, 4, 16, 16, deflate_slow), /* 4 lazy matches */
  2564. new Config(8, 16, 32, 32, deflate_slow), /* 5 */
  2565. new Config(8, 16, 128, 128, deflate_slow), /* 6 */
  2566. new Config(8, 32, 128, 256, deflate_slow), /* 7 */
  2567. new Config(32, 128, 258, 1024, deflate_slow), /* 8 */
  2568. new Config(32, 258, 258, 4096, deflate_slow) /* 9 max compression */
  2569. ];
  2570. /* ===========================================================================
  2571. * Initialize the "longest match" routines for a new zlib stream
  2572. */
  2573. function lm_init(s) {
  2574. s.window_size = 2 * s.w_size;
  2575. /*** CLEAR_HASH(s); ***/
  2576. zero(s.head); // Fill with NIL (= 0);
  2577. /* Set the default configuration parameters:
  2578. */
  2579. s.max_lazy_match = configuration_table[s.level].max_lazy;
  2580. s.good_match = configuration_table[s.level].good_length;
  2581. s.nice_match = configuration_table[s.level].nice_length;
  2582. s.max_chain_length = configuration_table[s.level].max_chain;
  2583. s.strstart = 0;
  2584. s.block_start = 0;
  2585. s.lookahead = 0;
  2586. s.insert = 0;
  2587. s.match_length = s.prev_length = MIN_MATCH - 1;
  2588. s.match_available = 0;
  2589. s.ins_h = 0;
  2590. }
  2591. function DeflateState() {
  2592. this.strm = null; /* pointer back to this zlib stream */
  2593. this.status = 0; /* as the name implies */
  2594. this.pending_buf = null; /* output still pending */
  2595. this.pending_buf_size = 0; /* size of pending_buf */
  2596. this.pending_out = 0; /* next pending byte to output to the stream */
  2597. this.pending = 0; /* nb of bytes in the pending buffer */
  2598. this.wrap = 0; /* bit 0 true for zlib, bit 1 true for gzip */
  2599. this.gzhead = null; /* gzip header information to write */
  2600. this.gzindex = 0; /* where in extra, name, or comment */
  2601. this.method = Z_DEFLATED; /* can only be DEFLATED */
  2602. this.last_flush = -1; /* value of flush param for previous deflate call */
  2603. this.w_size = 0; /* LZ77 window size (32K by default) */
  2604. this.w_bits = 0; /* log2(w_size) (8..16) */
  2605. this.w_mask = 0; /* w_size - 1 */
  2606. this.window = null;
  2607. /* Sliding window. Input bytes are read into the second half of the window,
  2608. * and move to the first half later to keep a dictionary of at least wSize
  2609. * bytes. With this organization, matches are limited to a distance of
  2610. * wSize-MAX_MATCH bytes, but this ensures that IO is always
  2611. * performed with a length multiple of the block size.
  2612. */
  2613. this.window_size = 0;
  2614. /* Actual size of window: 2*wSize, except when the user input buffer
  2615. * is directly used as sliding window.
  2616. */
  2617. this.prev = null;
  2618. /* Link to older string with same hash index. To limit the size of this
  2619. * array to 64K, this link is maintained only for the last 32K strings.
  2620. * An index in this array is thus a window index modulo 32K.
  2621. */
  2622. this.head = null; /* Heads of the hash chains or NIL. */
  2623. this.ins_h = 0; /* hash index of string to be inserted */
  2624. this.hash_size = 0; /* number of elements in hash table */
  2625. this.hash_bits = 0; /* log2(hash_size) */
  2626. this.hash_mask = 0; /* hash_size-1 */
  2627. this.hash_shift = 0;
  2628. /* Number of bits by which ins_h must be shifted at each input
  2629. * step. It must be such that after MIN_MATCH steps, the oldest
  2630. * byte no longer takes part in the hash key, that is:
  2631. * hash_shift * MIN_MATCH >= hash_bits
  2632. */
  2633. this.block_start = 0;
  2634. /* Window position at the beginning of the current output block. Gets
  2635. * negative when the window is moved backwards.
  2636. */
  2637. this.match_length = 0; /* length of best match */
  2638. this.prev_match = 0; /* previous match */
  2639. this.match_available = 0; /* set if previous match exists */
  2640. this.strstart = 0; /* start of string to insert */
  2641. this.match_start = 0; /* start of matching string */
  2642. this.lookahead = 0; /* number of valid bytes ahead in window */
  2643. this.prev_length = 0;
  2644. /* Length of the best match at previous step. Matches not greater than this
  2645. * are discarded. This is used in the lazy match evaluation.
  2646. */
  2647. this.max_chain_length = 0;
  2648. /* To speed up deflation, hash chains are never searched beyond this
  2649. * length. A higher limit improves compression ratio but degrades the
  2650. * speed.
  2651. */
  2652. this.max_lazy_match = 0;
  2653. /* Attempt to find a better match only when the current match is strictly
  2654. * smaller than this value. This mechanism is used only for compression
  2655. * levels >= 4.
  2656. */
  2657. // That's alias to max_lazy_match, don't use directly
  2658. //this.max_insert_length = 0;
  2659. /* Insert new strings in the hash table only if the match length is not
  2660. * greater than this length. This saves time but degrades compression.
  2661. * max_insert_length is used only for compression levels <= 3.
  2662. */
  2663. this.level = 0; /* compression level (1..9) */
  2664. this.strategy = 0; /* favor or force Huffman coding*/
  2665. this.good_match = 0;
  2666. /* Use a faster search when the previous match is longer than this */
  2667. this.nice_match = 0; /* Stop searching when current match exceeds this */
  2668. /* used by trees.c: */
  2669. /* Didn't use ct_data typedef below to suppress compiler warning */
  2670. // struct ct_data_s dyn_ltree[HEAP_SIZE]; /* literal and length tree */
  2671. // struct ct_data_s dyn_dtree[2*D_CODES+1]; /* distance tree */
  2672. // struct ct_data_s bl_tree[2*BL_CODES+1]; /* Huffman tree for bit lengths */
  2673. // Use flat array of DOUBLE size, with interleaved fata,
  2674. // because JS does not support effective
  2675. this.dyn_ltree = new utils.Buf16(HEAP_SIZE * 2);
  2676. this.dyn_dtree = new utils.Buf16((2 * D_CODES + 1) * 2);
  2677. this.bl_tree = new utils.Buf16((2 * BL_CODES + 1) * 2);
  2678. zero(this.dyn_ltree);
  2679. zero(this.dyn_dtree);
  2680. zero(this.bl_tree);
  2681. this.l_desc = null; /* desc. for literal tree */
  2682. this.d_desc = null; /* desc. for distance tree */
  2683. this.bl_desc = null; /* desc. for bit length tree */
  2684. //ush bl_count[MAX_BITS+1];
  2685. this.bl_count = new utils.Buf16(MAX_BITS + 1);
  2686. /* number of codes at each bit length for an optimal tree */
  2687. //int heap[2*L_CODES+1]; /* heap used to build the Huffman trees */
  2688. this.heap = new utils.Buf16(2 * L_CODES + 1); /* heap used to build the Huffman trees */
  2689. zero(this.heap);
  2690. this.heap_len = 0; /* number of elements in the heap */
  2691. this.heap_max = 0; /* element of largest frequency */
  2692. /* The sons of heap[n] are heap[2*n] and heap[2*n+1]. heap[0] is not used.
  2693. * The same heap array is used to build all trees.
  2694. */
  2695. this.depth = new utils.Buf16(2 * L_CODES + 1); //uch depth[2*L_CODES+1];
  2696. zero(this.depth);
  2697. /* Depth of each subtree used as tie breaker for trees of equal frequency
  2698. */
  2699. this.l_buf = 0; /* buffer index for literals or lengths */
  2700. this.lit_bufsize = 0;
  2701. /* Size of match buffer for literals/lengths. There are 4 reasons for
  2702. * limiting lit_bufsize to 64K:
  2703. * - frequencies can be kept in 16 bit counters
  2704. * - if compression is not successful for the first block, all input
  2705. * data is still in the window so we can still emit a stored block even
  2706. * when input comes from standard input. (This can also be done for
  2707. * all blocks if lit_bufsize is not greater than 32K.)
  2708. * - if compression is not successful for a file smaller than 64K, we can
  2709. * even emit a stored file instead of a stored block (saving 5 bytes).
  2710. * This is applicable only for zip (not gzip or zlib).
  2711. * - creating new Huffman trees less frequently may not provide fast
  2712. * adaptation to changes in the input data statistics. (Take for
  2713. * example a binary file with poorly compressible code followed by
  2714. * a highly compressible string table.) Smaller buffer sizes give
  2715. * fast adaptation but have of course the overhead of transmitting
  2716. * trees more frequently.
  2717. * - I can't count above 4
  2718. */
  2719. this.last_lit = 0; /* running index in l_buf */
  2720. this.d_buf = 0;
  2721. /* Buffer index for distances. To simplify the code, d_buf and l_buf have
  2722. * the same number of elements. To use different lengths, an extra flag
  2723. * array would be necessary.
  2724. */
  2725. this.opt_len = 0; /* bit length of current block with optimal trees */
  2726. this.static_len = 0; /* bit length of current block with static trees */
  2727. this.matches = 0; /* number of string matches in current block */
  2728. this.insert = 0; /* bytes at end of window left to insert */
  2729. this.bi_buf = 0;
  2730. /* Output buffer. bits are inserted starting at the bottom (least
  2731. * significant bits).
  2732. */
  2733. this.bi_valid = 0;
  2734. /* Number of valid bits in bi_buf. All bits above the last valid bit
  2735. * are always zero.
  2736. */
  2737. // Used for window memory init. We safely ignore it for JS. That makes
  2738. // sense only for pointers and memory check tools.
  2739. //this.high_water = 0;
  2740. /* High water mark offset in window for initialized bytes -- bytes above
  2741. * this are set to zero in order to avoid memory check warnings when
  2742. * longest match routines access bytes past the input. This is then
  2743. * updated to the new high water mark.
  2744. */
  2745. }
  2746. function deflateResetKeep(strm) {
  2747. var s;
  2748. if (!strm || !strm.state) {
  2749. return err(strm, Z_STREAM_ERROR);
  2750. }
  2751. strm.total_in = strm.total_out = 0;
  2752. strm.data_type = Z_UNKNOWN;
  2753. s = strm.state;
  2754. s.pending = 0;
  2755. s.pending_out = 0;
  2756. if (s.wrap < 0) {
  2757. s.wrap = -s.wrap;
  2758. /* was made negative by deflate(..., Z_FINISH); */
  2759. }
  2760. s.status = (s.wrap ? INIT_STATE : BUSY_STATE);
  2761. strm.adler = (s.wrap === 2) ?
  2762. 0 // crc32(0, Z_NULL, 0)
  2763. :
  2764. 1; // adler32(0, Z_NULL, 0)
  2765. s.last_flush = Z_NO_FLUSH;
  2766. trees._tr_init(s);
  2767. return Z_OK;
  2768. }
  2769. function deflateReset(strm) {
  2770. var ret = deflateResetKeep(strm);
  2771. if (ret === Z_OK) {
  2772. lm_init(strm.state);
  2773. }
  2774. return ret;
  2775. }
  2776. function deflateSetHeader(strm, head) {
  2777. if (!strm || !strm.state) { return Z_STREAM_ERROR; }
  2778. if (strm.state.wrap !== 2) { return Z_STREAM_ERROR; }
  2779. strm.state.gzhead = head;
  2780. return Z_OK;
  2781. }
  2782. function deflateInit2(strm, level, method, windowBits, memLevel, strategy) {
  2783. if (!strm) { // === Z_NULL
  2784. return Z_STREAM_ERROR;
  2785. }
  2786. var wrap = 1;
  2787. if (level === Z_DEFAULT_COMPRESSION) {
  2788. level = 6;
  2789. }
  2790. if (windowBits < 0) { /* suppress zlib wrapper */
  2791. wrap = 0;
  2792. windowBits = -windowBits;
  2793. }
  2794. else if (windowBits > 15) {
  2795. wrap = 2; /* write gzip wrapper instead */
  2796. windowBits -= 16;
  2797. }
  2798. if (memLevel < 1 || memLevel > MAX_MEM_LEVEL || method !== Z_DEFLATED ||
  2799. windowBits < 8 || windowBits > 15 || level < 0 || level > 9 ||
  2800. strategy < 0 || strategy > Z_FIXED) {
  2801. return err(strm, Z_STREAM_ERROR);
  2802. }
  2803. if (windowBits === 8) {
  2804. windowBits = 9;
  2805. }
  2806. /* until 256-byte window bug fixed */
  2807. var s = new DeflateState();
  2808. strm.state = s;
  2809. s.strm = strm;
  2810. s.wrap = wrap;
  2811. s.gzhead = null;
  2812. s.w_bits = windowBits;
  2813. s.w_size = 1 << s.w_bits;
  2814. s.w_mask = s.w_size - 1;
  2815. s.hash_bits = memLevel + 7;
  2816. s.hash_size = 1 << s.hash_bits;
  2817. s.hash_mask = s.hash_size - 1;
  2818. s.hash_shift = ~~((s.hash_bits + MIN_MATCH - 1) / MIN_MATCH);
  2819. s.window = new utils.Buf8(s.w_size * 2);
  2820. s.head = new utils.Buf16(s.hash_size);
  2821. s.prev = new utils.Buf16(s.w_size);
  2822. // Don't need mem init magic for JS.
  2823. //s.high_water = 0; /* nothing written to s->window yet */
  2824. s.lit_bufsize = 1 << (memLevel + 6); /* 16K elements by default */
  2825. s.pending_buf_size = s.lit_bufsize * 4;
  2826. //overlay = (ushf *) ZALLOC(strm, s->lit_bufsize, sizeof(ush)+2);
  2827. //s->pending_buf = (uchf *) overlay;
  2828. s.pending_buf = new utils.Buf8(s.pending_buf_size);
  2829. // It is offset from `s.pending_buf` (size is `s.lit_bufsize * 2`)
  2830. //s->d_buf = overlay + s->lit_bufsize/sizeof(ush);
  2831. s.d_buf = 1 * s.lit_bufsize;
  2832. //s->l_buf = s->pending_buf + (1+sizeof(ush))*s->lit_bufsize;
  2833. s.l_buf = (1 + 2) * s.lit_bufsize;
  2834. s.level = level;
  2835. s.strategy = strategy;
  2836. s.method = method;
  2837. return deflateReset(strm);
  2838. }
  2839. function deflateInit(strm, level) {
  2840. return deflateInit2(strm, level, Z_DEFLATED, MAX_WBITS, DEF_MEM_LEVEL, Z_DEFAULT_STRATEGY);
  2841. }
  2842. function deflate(strm, flush) {
  2843. var old_flush, s;
  2844. var beg, val; // for gzip header write only
  2845. if (!strm || !strm.state ||
  2846. flush > Z_BLOCK || flush < 0) {
  2847. return strm ? err(strm, Z_STREAM_ERROR) : Z_STREAM_ERROR;
  2848. }
  2849. s = strm.state;
  2850. if (!strm.output ||
  2851. (!strm.input && strm.avail_in !== 0) ||
  2852. (s.status === FINISH_STATE && flush !== Z_FINISH)) {
  2853. return err(strm, (strm.avail_out === 0) ? Z_BUF_ERROR : Z_STREAM_ERROR);
  2854. }
  2855. s.strm = strm; /* just in case */
  2856. old_flush = s.last_flush;
  2857. s.last_flush = flush;
  2858. /* Write the header */
  2859. if (s.status === INIT_STATE) {
  2860. if (s.wrap === 2) { // GZIP header
  2861. strm.adler = 0; //crc32(0L, Z_NULL, 0);
  2862. put_byte(s, 31);
  2863. put_byte(s, 139);
  2864. put_byte(s, 8);
  2865. if (!s.gzhead) { // s->gzhead == Z_NULL
  2866. put_byte(s, 0);
  2867. put_byte(s, 0);
  2868. put_byte(s, 0);
  2869. put_byte(s, 0);
  2870. put_byte(s, 0);
  2871. put_byte(s, s.level === 9 ? 2 :
  2872. (s.strategy >= Z_HUFFMAN_ONLY || s.level < 2 ?
  2873. 4 : 0));
  2874. put_byte(s, OS_CODE);
  2875. s.status = BUSY_STATE;
  2876. }
  2877. else {
  2878. put_byte(s, (s.gzhead.text ? 1 : 0) +
  2879. (s.gzhead.hcrc ? 2 : 0) +
  2880. (!s.gzhead.extra ? 0 : 4) +
  2881. (!s.gzhead.name ? 0 : 8) +
  2882. (!s.gzhead.comment ? 0 : 16)
  2883. );
  2884. put_byte(s, s.gzhead.time & 0xff);
  2885. put_byte(s, (s.gzhead.time >> 8) & 0xff);
  2886. put_byte(s, (s.gzhead.time >> 16) & 0xff);
  2887. put_byte(s, (s.gzhead.time >> 24) & 0xff);
  2888. put_byte(s, s.level === 9 ? 2 :
  2889. (s.strategy >= Z_HUFFMAN_ONLY || s.level < 2 ?
  2890. 4 : 0));
  2891. put_byte(s, s.gzhead.os & 0xff);
  2892. if (s.gzhead.extra && s.gzhead.extra.length) {
  2893. put_byte(s, s.gzhead.extra.length & 0xff);
  2894. put_byte(s, (s.gzhead.extra.length >> 8) & 0xff);
  2895. }
  2896. if (s.gzhead.hcrc) {
  2897. strm.adler = crc32(strm.adler, s.pending_buf, s.pending, 0);
  2898. }
  2899. s.gzindex = 0;
  2900. s.status = EXTRA_STATE;
  2901. }
  2902. }
  2903. else // DEFLATE header
  2904. {
  2905. var header = (Z_DEFLATED + ((s.w_bits - 8) << 4)) << 8;
  2906. var level_flags = -1;
  2907. if (s.strategy >= Z_HUFFMAN_ONLY || s.level < 2) {
  2908. level_flags = 0;
  2909. } else if (s.level < 6) {
  2910. level_flags = 1;
  2911. } else if (s.level === 6) {
  2912. level_flags = 2;
  2913. } else {
  2914. level_flags = 3;
  2915. }
  2916. header |= (level_flags << 6);
  2917. if (s.strstart !== 0) { header |= PRESET_DICT; }
  2918. header += 31 - (header % 31);
  2919. s.status = BUSY_STATE;
  2920. putShortMSB(s, header);
  2921. /* Save the adler32 of the preset dictionary: */
  2922. if (s.strstart !== 0) {
  2923. putShortMSB(s, strm.adler >>> 16);
  2924. putShortMSB(s, strm.adler & 0xffff);
  2925. }
  2926. strm.adler = 1; // adler32(0L, Z_NULL, 0);
  2927. }
  2928. }
  2929. //#ifdef GZIP
  2930. if (s.status === EXTRA_STATE) {
  2931. if (s.gzhead.extra/* != Z_NULL*/) {
  2932. beg = s.pending; /* start of bytes to update crc */
  2933. while (s.gzindex < (s.gzhead.extra.length & 0xffff)) {
  2934. if (s.pending === s.pending_buf_size) {
  2935. if (s.gzhead.hcrc && s.pending > beg) {
  2936. strm.adler = crc32(strm.adler, s.pending_buf, s.pending - beg, beg);
  2937. }
  2938. flush_pending(strm);
  2939. beg = s.pending;
  2940. if (s.pending === s.pending_buf_size) {
  2941. break;
  2942. }
  2943. }
  2944. put_byte(s, s.gzhead.extra[s.gzindex] & 0xff);
  2945. s.gzindex++;
  2946. }
  2947. if (s.gzhead.hcrc && s.pending > beg) {
  2948. strm.adler = crc32(strm.adler, s.pending_buf, s.pending - beg, beg);
  2949. }
  2950. if (s.gzindex === s.gzhead.extra.length) {
  2951. s.gzindex = 0;
  2952. s.status = NAME_STATE;
  2953. }
  2954. }
  2955. else {
  2956. s.status = NAME_STATE;
  2957. }
  2958. }
  2959. if (s.status === NAME_STATE) {
  2960. if (s.gzhead.name/* != Z_NULL*/) {
  2961. beg = s.pending; /* start of bytes to update crc */
  2962. //int val;
  2963. do {
  2964. if (s.pending === s.pending_buf_size) {
  2965. if (s.gzhead.hcrc && s.pending > beg) {
  2966. strm.adler = crc32(strm.adler, s.pending_buf, s.pending - beg, beg);
  2967. }
  2968. flush_pending(strm);
  2969. beg = s.pending;
  2970. if (s.pending === s.pending_buf_size) {
  2971. val = 1;
  2972. break;
  2973. }
  2974. }
  2975. // JS specific: little magic to add zero terminator to end of string
  2976. if (s.gzindex < s.gzhead.name.length) {
  2977. val = s.gzhead.name.charCodeAt(s.gzindex++) & 0xff;
  2978. } else {
  2979. val = 0;
  2980. }
  2981. put_byte(s, val);
  2982. } while (val !== 0);
  2983. if (s.gzhead.hcrc && s.pending > beg) {
  2984. strm.adler = crc32(strm.adler, s.pending_buf, s.pending - beg, beg);
  2985. }
  2986. if (val === 0) {
  2987. s.gzindex = 0;
  2988. s.status = COMMENT_STATE;
  2989. }
  2990. }
  2991. else {
  2992. s.status = COMMENT_STATE;
  2993. }
  2994. }
  2995. if (s.status === COMMENT_STATE) {
  2996. if (s.gzhead.comment/* != Z_NULL*/) {
  2997. beg = s.pending; /* start of bytes to update crc */
  2998. //int val;
  2999. do {
  3000. if (s.pending === s.pending_buf_size) {
  3001. if (s.gzhead.hcrc && s.pending > beg) {
  3002. strm.adler = crc32(strm.adler, s.pending_buf, s.pending - beg, beg);
  3003. }
  3004. flush_pending(strm);
  3005. beg = s.pending;
  3006. if (s.pending === s.pending_buf_size) {
  3007. val = 1;
  3008. break;
  3009. }
  3010. }
  3011. // JS specific: little magic to add zero terminator to end of string
  3012. if (s.gzindex < s.gzhead.comment.length) {
  3013. val = s.gzhead.comment.charCodeAt(s.gzindex++) & 0xff;
  3014. } else {
  3015. val = 0;
  3016. }
  3017. put_byte(s, val);
  3018. } while (val !== 0);
  3019. if (s.gzhead.hcrc && s.pending > beg) {
  3020. strm.adler = crc32(strm.adler, s.pending_buf, s.pending - beg, beg);
  3021. }
  3022. if (val === 0) {
  3023. s.status = HCRC_STATE;
  3024. }
  3025. }
  3026. else {
  3027. s.status = HCRC_STATE;
  3028. }
  3029. }
  3030. if (s.status === HCRC_STATE) {
  3031. if (s.gzhead.hcrc) {
  3032. if (s.pending + 2 > s.pending_buf_size) {
  3033. flush_pending(strm);
  3034. }
  3035. if (s.pending + 2 <= s.pending_buf_size) {
  3036. put_byte(s, strm.adler & 0xff);
  3037. put_byte(s, (strm.adler >> 8) & 0xff);
  3038. strm.adler = 0; //crc32(0L, Z_NULL, 0);
  3039. s.status = BUSY_STATE;
  3040. }
  3041. }
  3042. else {
  3043. s.status = BUSY_STATE;
  3044. }
  3045. }
  3046. //#endif
  3047. /* Flush as much pending output as possible */
  3048. if (s.pending !== 0) {
  3049. flush_pending(strm);
  3050. if (strm.avail_out === 0) {
  3051. /* Since avail_out is 0, deflate will be called again with
  3052. * more output space, but possibly with both pending and
  3053. * avail_in equal to zero. There won't be anything to do,
  3054. * but this is not an error situation so make sure we
  3055. * return OK instead of BUF_ERROR at next call of deflate:
  3056. */
  3057. s.last_flush = -1;
  3058. return Z_OK;
  3059. }
  3060. /* Make sure there is something to do and avoid duplicate consecutive
  3061. * flushes. For repeated and useless calls with Z_FINISH, we keep
  3062. * returning Z_STREAM_END instead of Z_BUF_ERROR.
  3063. */
  3064. } else if (strm.avail_in === 0 && rank(flush) <= rank(old_flush) &&
  3065. flush !== Z_FINISH) {
  3066. return err(strm, Z_BUF_ERROR);
  3067. }
  3068. /* User must not provide more input after the first FINISH: */
  3069. if (s.status === FINISH_STATE && strm.avail_in !== 0) {
  3070. return err(strm, Z_BUF_ERROR);
  3071. }
  3072. /* Start a new block or continue the current one.
  3073. */
  3074. if (strm.avail_in !== 0 || s.lookahead !== 0 ||
  3075. (flush !== Z_NO_FLUSH && s.status !== FINISH_STATE)) {
  3076. var bstate = (s.strategy === Z_HUFFMAN_ONLY) ? deflate_huff(s, flush) :
  3077. (s.strategy === Z_RLE ? deflate_rle(s, flush) :
  3078. configuration_table[s.level].func(s, flush));
  3079. if (bstate === BS_FINISH_STARTED || bstate === BS_FINISH_DONE) {
  3080. s.status = FINISH_STATE;
  3081. }
  3082. if (bstate === BS_NEED_MORE || bstate === BS_FINISH_STARTED) {
  3083. if (strm.avail_out === 0) {
  3084. s.last_flush = -1;
  3085. /* avoid BUF_ERROR next call, see above */
  3086. }
  3087. return Z_OK;
  3088. /* If flush != Z_NO_FLUSH && avail_out == 0, the next call
  3089. * of deflate should use the same flush parameter to make sure
  3090. * that the flush is complete. So we don't have to output an
  3091. * empty block here, this will be done at next call. This also
  3092. * ensures that for a very small output buffer, we emit at most
  3093. * one empty block.
  3094. */
  3095. }
  3096. if (bstate === BS_BLOCK_DONE) {
  3097. if (flush === Z_PARTIAL_FLUSH) {
  3098. trees._tr_align(s);
  3099. }
  3100. else if (flush !== Z_BLOCK) { /* FULL_FLUSH or SYNC_FLUSH */
  3101. trees._tr_stored_block(s, 0, 0, false);
  3102. /* For a full flush, this empty block will be recognized
  3103. * as a special marker by inflate_sync().
  3104. */
  3105. if (flush === Z_FULL_FLUSH) {
  3106. /*** CLEAR_HASH(s); ***/ /* forget history */
  3107. zero(s.head); // Fill with NIL (= 0);
  3108. if (s.lookahead === 0) {
  3109. s.strstart = 0;
  3110. s.block_start = 0;
  3111. s.insert = 0;
  3112. }
  3113. }
  3114. }
  3115. flush_pending(strm);
  3116. if (strm.avail_out === 0) {
  3117. s.last_flush = -1; /* avoid BUF_ERROR at next call, see above */
  3118. return Z_OK;
  3119. }
  3120. }
  3121. }
  3122. //Assert(strm->avail_out > 0, "bug2");
  3123. //if (strm.avail_out <= 0) { throw new Error("bug2");}
  3124. if (flush !== Z_FINISH) { return Z_OK; }
  3125. if (s.wrap <= 0) { return Z_STREAM_END; }
  3126. /* Write the trailer */
  3127. if (s.wrap === 2) {
  3128. put_byte(s, strm.adler & 0xff);
  3129. put_byte(s, (strm.adler >> 8) & 0xff);
  3130. put_byte(s, (strm.adler >> 16) & 0xff);
  3131. put_byte(s, (strm.adler >> 24) & 0xff);
  3132. put_byte(s, strm.total_in & 0xff);
  3133. put_byte(s, (strm.total_in >> 8) & 0xff);
  3134. put_byte(s, (strm.total_in >> 16) & 0xff);
  3135. put_byte(s, (strm.total_in >> 24) & 0xff);
  3136. }
  3137. else
  3138. {
  3139. putShortMSB(s, strm.adler >>> 16);
  3140. putShortMSB(s, strm.adler & 0xffff);
  3141. }
  3142. flush_pending(strm);
  3143. /* If avail_out is zero, the application will call deflate again
  3144. * to flush the rest.
  3145. */
  3146. if (s.wrap > 0) { s.wrap = -s.wrap; }
  3147. /* write the trailer only once! */
  3148. return s.pending !== 0 ? Z_OK : Z_STREAM_END;
  3149. }
  3150. function deflateEnd(strm) {
  3151. var status;
  3152. if (!strm/*== Z_NULL*/ || !strm.state/*== Z_NULL*/) {
  3153. return Z_STREAM_ERROR;
  3154. }
  3155. status = strm.state.status;
  3156. if (status !== INIT_STATE &&
  3157. status !== EXTRA_STATE &&
  3158. status !== NAME_STATE &&
  3159. status !== COMMENT_STATE &&
  3160. status !== HCRC_STATE &&
  3161. status !== BUSY_STATE &&
  3162. status !== FINISH_STATE
  3163. ) {
  3164. return err(strm, Z_STREAM_ERROR);
  3165. }
  3166. strm.state = null;
  3167. return status === BUSY_STATE ? err(strm, Z_DATA_ERROR) : Z_OK;
  3168. }
  3169. /* =========================================================================
  3170. * Initializes the compression dictionary from the given byte
  3171. * sequence without producing any compressed output.
  3172. */
  3173. function deflateSetDictionary(strm, dictionary) {
  3174. var dictLength = dictionary.length;
  3175. var s;
  3176. var str, n;
  3177. var wrap;
  3178. var avail;
  3179. var next;
  3180. var input;
  3181. var tmpDict;
  3182. if (!strm/*== Z_NULL*/ || !strm.state/*== Z_NULL*/) {
  3183. return Z_STREAM_ERROR;
  3184. }
  3185. s = strm.state;
  3186. wrap = s.wrap;
  3187. if (wrap === 2 || (wrap === 1 && s.status !== INIT_STATE) || s.lookahead) {
  3188. return Z_STREAM_ERROR;
  3189. }
  3190. /* when using zlib wrappers, compute Adler-32 for provided dictionary */
  3191. if (wrap === 1) {
  3192. /* adler32(strm->adler, dictionary, dictLength); */
  3193. strm.adler = adler32(strm.adler, dictionary, dictLength, 0);
  3194. }
  3195. s.wrap = 0; /* avoid computing Adler-32 in read_buf */
  3196. /* if dictionary would fill window, just replace the history */
  3197. if (dictLength >= s.w_size) {
  3198. if (wrap === 0) { /* already empty otherwise */
  3199. /*** CLEAR_HASH(s); ***/
  3200. zero(s.head); // Fill with NIL (= 0);
  3201. s.strstart = 0;
  3202. s.block_start = 0;
  3203. s.insert = 0;
  3204. }
  3205. /* use the tail */
  3206. // dictionary = dictionary.slice(dictLength - s.w_size);
  3207. tmpDict = new utils.Buf8(s.w_size);
  3208. utils.arraySet(tmpDict, dictionary, dictLength - s.w_size, s.w_size, 0);
  3209. dictionary = tmpDict;
  3210. dictLength = s.w_size;
  3211. }
  3212. /* insert dictionary into window and hash */
  3213. avail = strm.avail_in;
  3214. next = strm.next_in;
  3215. input = strm.input;
  3216. strm.avail_in = dictLength;
  3217. strm.next_in = 0;
  3218. strm.input = dictionary;
  3219. fill_window(s);
  3220. while (s.lookahead >= MIN_MATCH) {
  3221. str = s.strstart;
  3222. n = s.lookahead - (MIN_MATCH - 1);
  3223. do {
  3224. /* UPDATE_HASH(s, s->ins_h, s->window[str + MIN_MATCH-1]); */
  3225. s.ins_h = ((s.ins_h << s.hash_shift) ^ s.window[str + MIN_MATCH - 1]) & s.hash_mask;
  3226. s.prev[str & s.w_mask] = s.head[s.ins_h];
  3227. s.head[s.ins_h] = str;
  3228. str++;
  3229. } while (--n);
  3230. s.strstart = str;
  3231. s.lookahead = MIN_MATCH - 1;
  3232. fill_window(s);
  3233. }
  3234. s.strstart += s.lookahead;
  3235. s.block_start = s.strstart;
  3236. s.insert = s.lookahead;
  3237. s.lookahead = 0;
  3238. s.match_length = s.prev_length = MIN_MATCH - 1;
  3239. s.match_available = 0;
  3240. strm.next_in = next;
  3241. strm.input = input;
  3242. strm.avail_in = avail;
  3243. s.wrap = wrap;
  3244. return Z_OK;
  3245. }
  3246. exports.deflateInit = deflateInit;
  3247. exports.deflateInit2 = deflateInit2;
  3248. exports.deflateReset = deflateReset;
  3249. exports.deflateResetKeep = deflateResetKeep;
  3250. exports.deflateSetHeader = deflateSetHeader;
  3251. exports.deflate = deflate;
  3252. exports.deflateEnd = deflateEnd;
  3253. exports.deflateSetDictionary = deflateSetDictionary;
  3254. exports.deflateInfo = 'pako deflate (from Nodeca project)';
  3255. /* Not implemented
  3256. exports.deflateBound = deflateBound;
  3257. exports.deflateCopy = deflateCopy;
  3258. exports.deflateParams = deflateParams;
  3259. exports.deflatePending = deflatePending;
  3260. exports.deflatePrime = deflatePrime;
  3261. exports.deflateTune = deflateTune;
  3262. */
  3263. },{"../utils/common":3,"./adler32":5,"./crc32":7,"./messages":13,"./trees":14}],9:[function(require,module,exports){
  3264. 'use strict';
  3265. // (C) 1995-2013 Jean-loup Gailly and Mark Adler
  3266. // (C) 2014-2017 Vitaly Puzrin and Andrey Tupitsin
  3267. //
  3268. // This software is provided 'as-is', without any express or implied
  3269. // warranty. In no event will the authors be held liable for any damages
  3270. // arising from the use of this software.
  3271. //
  3272. // Permission is granted to anyone to use this software for any purpose,
  3273. // including commercial applications, and to alter it and redistribute it
  3274. // freely, subject to the following restrictions:
  3275. //
  3276. // 1. The origin of this software must not be misrepresented; you must not
  3277. // claim that you wrote the original software. If you use this software
  3278. // in a product, an acknowledgment in the product documentation would be
  3279. // appreciated but is not required.
  3280. // 2. Altered source versions must be plainly marked as such, and must not be
  3281. // misrepresented as being the original software.
  3282. // 3. This notice may not be removed or altered from any source distribution.
  3283. function GZheader() {
  3284. /* true if compressed data believed to be text */
  3285. this.text = 0;
  3286. /* modification time */
  3287. this.time = 0;
  3288. /* extra flags (not used when writing a gzip file) */
  3289. this.xflags = 0;
  3290. /* operating system */
  3291. this.os = 0;
  3292. /* pointer to extra field or Z_NULL if none */
  3293. this.extra = null;
  3294. /* extra field length (valid if extra != Z_NULL) */
  3295. this.extra_len = 0; // Actually, we don't need it in JS,
  3296. // but leave for few code modifications
  3297. //
  3298. // Setup limits is not necessary because in js we should not preallocate memory
  3299. // for inflate use constant limit in 65536 bytes
  3300. //
  3301. /* space at extra (only when reading header) */
  3302. // this.extra_max = 0;
  3303. /* pointer to zero-terminated file name or Z_NULL */
  3304. this.name = '';
  3305. /* space at name (only when reading header) */
  3306. // this.name_max = 0;
  3307. /* pointer to zero-terminated comment or Z_NULL */
  3308. this.comment = '';
  3309. /* space at comment (only when reading header) */
  3310. // this.comm_max = 0;
  3311. /* true if there was or will be a header crc */
  3312. this.hcrc = 0;
  3313. /* true when done reading gzip header (not used when writing a gzip file) */
  3314. this.done = false;
  3315. }
  3316. module.exports = GZheader;
  3317. },{}],10:[function(require,module,exports){
  3318. 'use strict';
  3319. // (C) 1995-2013 Jean-loup Gailly and Mark Adler
  3320. // (C) 2014-2017 Vitaly Puzrin and Andrey Tupitsin
  3321. //
  3322. // This software is provided 'as-is', without any express or implied
  3323. // warranty. In no event will the authors be held liable for any damages
  3324. // arising from the use of this software.
  3325. //
  3326. // Permission is granted to anyone to use this software for any purpose,
  3327. // including commercial applications, and to alter it and redistribute it
  3328. // freely, subject to the following restrictions:
  3329. //
  3330. // 1. The origin of this software must not be misrepresented; you must not
  3331. // claim that you wrote the original software. If you use this software
  3332. // in a product, an acknowledgment in the product documentation would be
  3333. // appreciated but is not required.
  3334. // 2. Altered source versions must be plainly marked as such, and must not be
  3335. // misrepresented as being the original software.
  3336. // 3. This notice may not be removed or altered from any source distribution.
  3337. // See state defs from inflate.js
  3338. var BAD = 30; /* got a data error -- remain here until reset */
  3339. var TYPE = 12; /* i: waiting for type bits, including last-flag bit */
  3340. /*
  3341. Decode literal, length, and distance codes and write out the resulting
  3342. literal and match bytes until either not enough input or output is
  3343. available, an end-of-block is encountered, or a data error is encountered.
  3344. When large enough input and output buffers are supplied to inflate(), for
  3345. example, a 16K input buffer and a 64K output buffer, more than 95% of the
  3346. inflate execution time is spent in this routine.
  3347. Entry assumptions:
  3348. state.mode === LEN
  3349. strm.avail_in >= 6
  3350. strm.avail_out >= 258
  3351. start >= strm.avail_out
  3352. state.bits < 8
  3353. On return, state.mode is one of:
  3354. LEN -- ran out of enough output space or enough available input
  3355. TYPE -- reached end of block code, inflate() to interpret next block
  3356. BAD -- error in block data
  3357. Notes:
  3358. - The maximum input bits used by a length/distance pair is 15 bits for the
  3359. length code, 5 bits for the length extra, 15 bits for the distance code,
  3360. and 13 bits for the distance extra. This totals 48 bits, or six bytes.
  3361. Therefore if strm.avail_in >= 6, then there is enough input to avoid
  3362. checking for available input while decoding.
  3363. - The maximum bytes that a single length/distance pair can output is 258
  3364. bytes, which is the maximum length that can be coded. inflate_fast()
  3365. requires strm.avail_out >= 258 for each loop to avoid checking for
  3366. output space.
  3367. */
  3368. module.exports = function inflate_fast(strm, start) {
  3369. var state;
  3370. var _in; /* local strm.input */
  3371. var last; /* have enough input while in < last */
  3372. var _out; /* local strm.output */
  3373. var beg; /* inflate()'s initial strm.output */
  3374. var end; /* while out < end, enough space available */
  3375. //#ifdef INFLATE_STRICT
  3376. var dmax; /* maximum distance from zlib header */
  3377. //#endif
  3378. var wsize; /* window size or zero if not using window */
  3379. var whave; /* valid bytes in the window */
  3380. var wnext; /* window write index */
  3381. // Use `s_window` instead `window`, avoid conflict with instrumentation tools
  3382. var s_window; /* allocated sliding window, if wsize != 0 */
  3383. var hold; /* local strm.hold */
  3384. var bits; /* local strm.bits */
  3385. var lcode; /* local strm.lencode */
  3386. var dcode; /* local strm.distcode */
  3387. var lmask; /* mask for first level of length codes */
  3388. var dmask; /* mask for first level of distance codes */
  3389. var here; /* retrieved table entry */
  3390. var op; /* code bits, operation, extra bits, or */
  3391. /* window position, window bytes to copy */
  3392. var len; /* match length, unused bytes */
  3393. var dist; /* match distance */
  3394. var from; /* where to copy match from */
  3395. var from_source;
  3396. var input, output; // JS specific, because we have no pointers
  3397. /* copy state to local variables */
  3398. state = strm.state;
  3399. //here = state.here;
  3400. _in = strm.next_in;
  3401. input = strm.input;
  3402. last = _in + (strm.avail_in - 5);
  3403. _out = strm.next_out;
  3404. output = strm.output;
  3405. beg = _out - (start - strm.avail_out);
  3406. end = _out + (strm.avail_out - 257);
  3407. //#ifdef INFLATE_STRICT
  3408. dmax = state.dmax;
  3409. //#endif
  3410. wsize = state.wsize;
  3411. whave = state.whave;
  3412. wnext = state.wnext;
  3413. s_window = state.window;
  3414. hold = state.hold;
  3415. bits = state.bits;
  3416. lcode = state.lencode;
  3417. dcode = state.distcode;
  3418. lmask = (1 << state.lenbits) - 1;
  3419. dmask = (1 << state.distbits) - 1;
  3420. /* decode literals and length/distances until end-of-block or not enough
  3421. input data or output space */
  3422. top:
  3423. do {
  3424. if (bits < 15) {
  3425. hold += input[_in++] << bits;
  3426. bits += 8;
  3427. hold += input[_in++] << bits;
  3428. bits += 8;
  3429. }
  3430. here = lcode[hold & lmask];
  3431. dolen:
  3432. for (;;) { // Goto emulation
  3433. op = here >>> 24/*here.bits*/;
  3434. hold >>>= op;
  3435. bits -= op;
  3436. op = (here >>> 16) & 0xff/*here.op*/;
  3437. if (op === 0) { /* literal */
  3438. //Tracevv((stderr, here.val >= 0x20 && here.val < 0x7f ?
  3439. // "inflate: literal '%c'\n" :
  3440. // "inflate: literal 0x%02x\n", here.val));
  3441. output[_out++] = here & 0xffff/*here.val*/;
  3442. }
  3443. else if (op & 16) { /* length base */
  3444. len = here & 0xffff/*here.val*/;
  3445. op &= 15; /* number of extra bits */
  3446. if (op) {
  3447. if (bits < op) {
  3448. hold += input[_in++] << bits;
  3449. bits += 8;
  3450. }
  3451. len += hold & ((1 << op) - 1);
  3452. hold >>>= op;
  3453. bits -= op;
  3454. }
  3455. //Tracevv((stderr, "inflate: length %u\n", len));
  3456. if (bits < 15) {
  3457. hold += input[_in++] << bits;
  3458. bits += 8;
  3459. hold += input[_in++] << bits;
  3460. bits += 8;
  3461. }
  3462. here = dcode[hold & dmask];
  3463. dodist:
  3464. for (;;) { // goto emulation
  3465. op = here >>> 24/*here.bits*/;
  3466. hold >>>= op;
  3467. bits -= op;
  3468. op = (here >>> 16) & 0xff/*here.op*/;
  3469. if (op & 16) { /* distance base */
  3470. dist = here & 0xffff/*here.val*/;
  3471. op &= 15; /* number of extra bits */
  3472. if (bits < op) {
  3473. hold += input[_in++] << bits;
  3474. bits += 8;
  3475. if (bits < op) {
  3476. hold += input[_in++] << bits;
  3477. bits += 8;
  3478. }
  3479. }
  3480. dist += hold & ((1 << op) - 1);
  3481. //#ifdef INFLATE_STRICT
  3482. if (dist > dmax) {
  3483. strm.msg = 'invalid distance too far back';
  3484. state.mode = BAD;
  3485. break top;
  3486. }
  3487. //#endif
  3488. hold >>>= op;
  3489. bits -= op;
  3490. //Tracevv((stderr, "inflate: distance %u\n", dist));
  3491. op = _out - beg; /* max distance in output */
  3492. if (dist > op) { /* see if copy from window */
  3493. op = dist - op; /* distance back in window */
  3494. if (op > whave) {
  3495. if (state.sane) {
  3496. strm.msg = 'invalid distance too far back';
  3497. state.mode = BAD;
  3498. break top;
  3499. }
  3500. // (!) This block is disabled in zlib defaults,
  3501. // don't enable it for binary compatibility
  3502. //#ifdef INFLATE_ALLOW_INVALID_DISTANCE_TOOFAR_ARRR
  3503. // if (len <= op - whave) {
  3504. // do {
  3505. // output[_out++] = 0;
  3506. // } while (--len);
  3507. // continue top;
  3508. // }
  3509. // len -= op - whave;
  3510. // do {
  3511. // output[_out++] = 0;
  3512. // } while (--op > whave);
  3513. // if (op === 0) {
  3514. // from = _out - dist;
  3515. // do {
  3516. // output[_out++] = output[from++];
  3517. // } while (--len);
  3518. // continue top;
  3519. // }
  3520. //#endif
  3521. }
  3522. from = 0; // window index
  3523. from_source = s_window;
  3524. if (wnext === 0) { /* very common case */
  3525. from += wsize - op;
  3526. if (op < len) { /* some from window */
  3527. len -= op;
  3528. do {
  3529. output[_out++] = s_window[from++];
  3530. } while (--op);
  3531. from = _out - dist; /* rest from output */
  3532. from_source = output;
  3533. }
  3534. }
  3535. else if (wnext < op) { /* wrap around window */
  3536. from += wsize + wnext - op;
  3537. op -= wnext;
  3538. if (op < len) { /* some from end of window */
  3539. len -= op;
  3540. do {
  3541. output[_out++] = s_window[from++];
  3542. } while (--op);
  3543. from = 0;
  3544. if (wnext < len) { /* some from start of window */
  3545. op = wnext;
  3546. len -= op;
  3547. do {
  3548. output[_out++] = s_window[from++];
  3549. } while (--op);
  3550. from = _out - dist; /* rest from output */
  3551. from_source = output;
  3552. }
  3553. }
  3554. }
  3555. else { /* contiguous in window */
  3556. from += wnext - op;
  3557. if (op < len) { /* some from window */
  3558. len -= op;
  3559. do {
  3560. output[_out++] = s_window[from++];
  3561. } while (--op);
  3562. from = _out - dist; /* rest from output */
  3563. from_source = output;
  3564. }
  3565. }
  3566. while (len > 2) {
  3567. output[_out++] = from_source[from++];
  3568. output[_out++] = from_source[from++];
  3569. output[_out++] = from_source[from++];
  3570. len -= 3;
  3571. }
  3572. if (len) {
  3573. output[_out++] = from_source[from++];
  3574. if (len > 1) {
  3575. output[_out++] = from_source[from++];
  3576. }
  3577. }
  3578. }
  3579. else {
  3580. from = _out - dist; /* copy direct from output */
  3581. do { /* minimum length is three */
  3582. output[_out++] = output[from++];
  3583. output[_out++] = output[from++];
  3584. output[_out++] = output[from++];
  3585. len -= 3;
  3586. } while (len > 2);
  3587. if (len) {
  3588. output[_out++] = output[from++];
  3589. if (len > 1) {
  3590. output[_out++] = output[from++];
  3591. }
  3592. }
  3593. }
  3594. }
  3595. else if ((op & 64) === 0) { /* 2nd level distance code */
  3596. here = dcode[(here & 0xffff)/*here.val*/ + (hold & ((1 << op) - 1))];
  3597. continue dodist;
  3598. }
  3599. else {
  3600. strm.msg = 'invalid distance code';
  3601. state.mode = BAD;
  3602. break top;
  3603. }
  3604. break; // need to emulate goto via "continue"
  3605. }
  3606. }
  3607. else if ((op & 64) === 0) { /* 2nd level length code */
  3608. here = lcode[(here & 0xffff)/*here.val*/ + (hold & ((1 << op) - 1))];
  3609. continue dolen;
  3610. }
  3611. else if (op & 32) { /* end-of-block */
  3612. //Tracevv((stderr, "inflate: end of block\n"));
  3613. state.mode = TYPE;
  3614. break top;
  3615. }
  3616. else {
  3617. strm.msg = 'invalid literal/length code';
  3618. state.mode = BAD;
  3619. break top;
  3620. }
  3621. break; // need to emulate goto via "continue"
  3622. }
  3623. } while (_in < last && _out < end);
  3624. /* return unused bytes (on entry, bits < 8, so in won't go too far back) */
  3625. len = bits >> 3;
  3626. _in -= len;
  3627. bits -= len << 3;
  3628. hold &= (1 << bits) - 1;
  3629. /* update state and return */
  3630. strm.next_in = _in;
  3631. strm.next_out = _out;
  3632. strm.avail_in = (_in < last ? 5 + (last - _in) : 5 - (_in - last));
  3633. strm.avail_out = (_out < end ? 257 + (end - _out) : 257 - (_out - end));
  3634. state.hold = hold;
  3635. state.bits = bits;
  3636. return;
  3637. };
  3638. },{}],11:[function(require,module,exports){
  3639. 'use strict';
  3640. // (C) 1995-2013 Jean-loup Gailly and Mark Adler
  3641. // (C) 2014-2017 Vitaly Puzrin and Andrey Tupitsin
  3642. //
  3643. // This software is provided 'as-is', without any express or implied
  3644. // warranty. In no event will the authors be held liable for any damages
  3645. // arising from the use of this software.
  3646. //
  3647. // Permission is granted to anyone to use this software for any purpose,
  3648. // including commercial applications, and to alter it and redistribute it
  3649. // freely, subject to the following restrictions:
  3650. //
  3651. // 1. The origin of this software must not be misrepresented; you must not
  3652. // claim that you wrote the original software. If you use this software
  3653. // in a product, an acknowledgment in the product documentation would be
  3654. // appreciated but is not required.
  3655. // 2. Altered source versions must be plainly marked as such, and must not be
  3656. // misrepresented as being the original software.
  3657. // 3. This notice may not be removed or altered from any source distribution.
  3658. var utils = require('../utils/common');
  3659. var adler32 = require('./adler32');
  3660. var crc32 = require('./crc32');
  3661. var inflate_fast = require('./inffast');
  3662. var inflate_table = require('./inftrees');
  3663. var CODES = 0;
  3664. var LENS = 1;
  3665. var DISTS = 2;
  3666. /* Public constants ==========================================================*/
  3667. /* ===========================================================================*/
  3668. /* Allowed flush values; see deflate() and inflate() below for details */
  3669. //var Z_NO_FLUSH = 0;
  3670. //var Z_PARTIAL_FLUSH = 1;
  3671. //var Z_SYNC_FLUSH = 2;
  3672. //var Z_FULL_FLUSH = 3;
  3673. var Z_FINISH = 4;
  3674. var Z_BLOCK = 5;
  3675. var Z_TREES = 6;
  3676. /* Return codes for the compression/decompression functions. Negative values
  3677. * are errors, positive values are used for special but normal events.
  3678. */
  3679. var Z_OK = 0;
  3680. var Z_STREAM_END = 1;
  3681. var Z_NEED_DICT = 2;
  3682. //var Z_ERRNO = -1;
  3683. var Z_STREAM_ERROR = -2;
  3684. var Z_DATA_ERROR = -3;
  3685. var Z_MEM_ERROR = -4;
  3686. var Z_BUF_ERROR = -5;
  3687. //var Z_VERSION_ERROR = -6;
  3688. /* The deflate compression method */
  3689. var Z_DEFLATED = 8;
  3690. /* STATES ====================================================================*/
  3691. /* ===========================================================================*/
  3692. var HEAD = 1; /* i: waiting for magic header */
  3693. var FLAGS = 2; /* i: waiting for method and flags (gzip) */
  3694. var TIME = 3; /* i: waiting for modification time (gzip) */
  3695. var OS = 4; /* i: waiting for extra flags and operating system (gzip) */
  3696. var EXLEN = 5; /* i: waiting for extra length (gzip) */
  3697. var EXTRA = 6; /* i: waiting for extra bytes (gzip) */
  3698. var NAME = 7; /* i: waiting for end of file name (gzip) */
  3699. var COMMENT = 8; /* i: waiting for end of comment (gzip) */
  3700. var HCRC = 9; /* i: waiting for header crc (gzip) */
  3701. var DICTID = 10; /* i: waiting for dictionary check value */
  3702. var DICT = 11; /* waiting for inflateSetDictionary() call */
  3703. var TYPE = 12; /* i: waiting for type bits, including last-flag bit */
  3704. var TYPEDO = 13; /* i: same, but skip check to exit inflate on new block */
  3705. var STORED = 14; /* i: waiting for stored size (length and complement) */
  3706. var COPY_ = 15; /* i/o: same as COPY below, but only first time in */
  3707. var COPY = 16; /* i/o: waiting for input or output to copy stored block */
  3708. var TABLE = 17; /* i: waiting for dynamic block table lengths */
  3709. var LENLENS = 18; /* i: waiting for code length code lengths */
  3710. var CODELENS = 19; /* i: waiting for length/lit and distance code lengths */
  3711. var LEN_ = 20; /* i: same as LEN below, but only first time in */
  3712. var LEN = 21; /* i: waiting for length/lit/eob code */
  3713. var LENEXT = 22; /* i: waiting for length extra bits */
  3714. var DIST = 23; /* i: waiting for distance code */
  3715. var DISTEXT = 24; /* i: waiting for distance extra bits */
  3716. var MATCH = 25; /* o: waiting for output space to copy string */
  3717. var LIT = 26; /* o: waiting for output space to write literal */
  3718. var CHECK = 27; /* i: waiting for 32-bit check value */
  3719. var LENGTH = 28; /* i: waiting for 32-bit length (gzip) */
  3720. var DONE = 29; /* finished check, done -- remain here until reset */
  3721. var BAD = 30; /* got a data error -- remain here until reset */
  3722. var MEM = 31; /* got an inflate() memory error -- remain here until reset */
  3723. var SYNC = 32; /* looking for synchronization bytes to restart inflate() */
  3724. /* ===========================================================================*/
  3725. var ENOUGH_LENS = 852;
  3726. var ENOUGH_DISTS = 592;
  3727. //var ENOUGH = (ENOUGH_LENS+ENOUGH_DISTS);
  3728. var MAX_WBITS = 15;
  3729. /* 32K LZ77 window */
  3730. var DEF_WBITS = MAX_WBITS;
  3731. function zswap32(q) {
  3732. return (((q >>> 24) & 0xff) +
  3733. ((q >>> 8) & 0xff00) +
  3734. ((q & 0xff00) << 8) +
  3735. ((q & 0xff) << 24));
  3736. }
  3737. function InflateState() {
  3738. this.mode = 0; /* current inflate mode */
  3739. this.last = false; /* true if processing last block */
  3740. this.wrap = 0; /* bit 0 true for zlib, bit 1 true for gzip */
  3741. this.havedict = false; /* true if dictionary provided */
  3742. this.flags = 0; /* gzip header method and flags (0 if zlib) */
  3743. this.dmax = 0; /* zlib header max distance (INFLATE_STRICT) */
  3744. this.check = 0; /* protected copy of check value */
  3745. this.total = 0; /* protected copy of output count */
  3746. // TODO: may be {}
  3747. this.head = null; /* where to save gzip header information */
  3748. /* sliding window */
  3749. this.wbits = 0; /* log base 2 of requested window size */
  3750. this.wsize = 0; /* window size or zero if not using window */
  3751. this.whave = 0; /* valid bytes in the window */
  3752. this.wnext = 0; /* window write index */
  3753. this.window = null; /* allocated sliding window, if needed */
  3754. /* bit accumulator */
  3755. this.hold = 0; /* input bit accumulator */
  3756. this.bits = 0; /* number of bits in "in" */
  3757. /* for string and stored block copying */
  3758. this.length = 0; /* literal or length of data to copy */
  3759. this.offset = 0; /* distance back to copy string from */
  3760. /* for table and code decoding */
  3761. this.extra = 0; /* extra bits needed */
  3762. /* fixed and dynamic code tables */
  3763. this.lencode = null; /* starting table for length/literal codes */
  3764. this.distcode = null; /* starting table for distance codes */
  3765. this.lenbits = 0; /* index bits for lencode */
  3766. this.distbits = 0; /* index bits for distcode */
  3767. /* dynamic table building */
  3768. this.ncode = 0; /* number of code length code lengths */
  3769. this.nlen = 0; /* number of length code lengths */
  3770. this.ndist = 0; /* number of distance code lengths */
  3771. this.have = 0; /* number of code lengths in lens[] */
  3772. this.next = null; /* next available space in codes[] */
  3773. this.lens = new utils.Buf16(320); /* temporary storage for code lengths */
  3774. this.work = new utils.Buf16(288); /* work area for code table building */
  3775. /*
  3776. because we don't have pointers in js, we use lencode and distcode directly
  3777. as buffers so we don't need codes
  3778. */
  3779. //this.codes = new utils.Buf32(ENOUGH); /* space for code tables */
  3780. this.lendyn = null; /* dynamic table for length/literal codes (JS specific) */
  3781. this.distdyn = null; /* dynamic table for distance codes (JS specific) */
  3782. this.sane = 0; /* if false, allow invalid distance too far */
  3783. this.back = 0; /* bits back of last unprocessed length/lit */
  3784. this.was = 0; /* initial length of match */
  3785. }
  3786. function inflateResetKeep(strm) {
  3787. var state;
  3788. if (!strm || !strm.state) { return Z_STREAM_ERROR; }
  3789. state = strm.state;
  3790. strm.total_in = strm.total_out = state.total = 0;
  3791. strm.msg = ''; /*Z_NULL*/
  3792. if (state.wrap) { /* to support ill-conceived Java test suite */
  3793. strm.adler = state.wrap & 1;
  3794. }
  3795. state.mode = HEAD;
  3796. state.last = 0;
  3797. state.havedict = 0;
  3798. state.dmax = 32768;
  3799. state.head = null/*Z_NULL*/;
  3800. state.hold = 0;
  3801. state.bits = 0;
  3802. //state.lencode = state.distcode = state.next = state.codes;
  3803. state.lencode = state.lendyn = new utils.Buf32(ENOUGH_LENS);
  3804. state.distcode = state.distdyn = new utils.Buf32(ENOUGH_DISTS);
  3805. state.sane = 1;
  3806. state.back = -1;
  3807. //Tracev((stderr, "inflate: reset\n"));
  3808. return Z_OK;
  3809. }
  3810. function inflateReset(strm) {
  3811. var state;
  3812. if (!strm || !strm.state) { return Z_STREAM_ERROR; }
  3813. state = strm.state;
  3814. state.wsize = 0;
  3815. state.whave = 0;
  3816. state.wnext = 0;
  3817. return inflateResetKeep(strm);
  3818. }
  3819. function inflateReset2(strm, windowBits) {
  3820. var wrap;
  3821. var state;
  3822. /* get the state */
  3823. if (!strm || !strm.state) { return Z_STREAM_ERROR; }
  3824. state = strm.state;
  3825. /* extract wrap request from windowBits parameter */
  3826. if (windowBits < 0) {
  3827. wrap = 0;
  3828. windowBits = -windowBits;
  3829. }
  3830. else {
  3831. wrap = (windowBits >> 4) + 1;
  3832. if (windowBits < 48) {
  3833. windowBits &= 15;
  3834. }
  3835. }
  3836. /* set number of window bits, free window if different */
  3837. if (windowBits && (windowBits < 8 || windowBits > 15)) {
  3838. return Z_STREAM_ERROR;
  3839. }
  3840. if (state.window !== null && state.wbits !== windowBits) {
  3841. state.window = null;
  3842. }
  3843. /* update state and reset the rest of it */
  3844. state.wrap = wrap;
  3845. state.wbits = windowBits;
  3846. return inflateReset(strm);
  3847. }
  3848. function inflateInit2(strm, windowBits) {
  3849. var ret;
  3850. var state;
  3851. if (!strm) { return Z_STREAM_ERROR; }
  3852. //strm.msg = Z_NULL; /* in case we return an error */
  3853. state = new InflateState();
  3854. //if (state === Z_NULL) return Z_MEM_ERROR;
  3855. //Tracev((stderr, "inflate: allocated\n"));
  3856. strm.state = state;
  3857. state.window = null/*Z_NULL*/;
  3858. ret = inflateReset2(strm, windowBits);
  3859. if (ret !== Z_OK) {
  3860. strm.state = null/*Z_NULL*/;
  3861. }
  3862. return ret;
  3863. }
  3864. function inflateInit(strm) {
  3865. return inflateInit2(strm, DEF_WBITS);
  3866. }
  3867. /*
  3868. Return state with length and distance decoding tables and index sizes set to
  3869. fixed code decoding. Normally this returns fixed tables from inffixed.h.
  3870. If BUILDFIXED is defined, then instead this routine builds the tables the
  3871. first time it's called, and returns those tables the first time and
  3872. thereafter. This reduces the size of the code by about 2K bytes, in
  3873. exchange for a little execution time. However, BUILDFIXED should not be
  3874. used for threaded applications, since the rewriting of the tables and virgin
  3875. may not be thread-safe.
  3876. */
  3877. var virgin = true;
  3878. var lenfix, distfix; // We have no pointers in JS, so keep tables separate
  3879. function fixedtables(state) {
  3880. /* build fixed huffman tables if first call (may not be thread safe) */
  3881. if (virgin) {
  3882. var sym;
  3883. lenfix = new utils.Buf32(512);
  3884. distfix = new utils.Buf32(32);
  3885. /* literal/length table */
  3886. sym = 0;
  3887. while (sym < 144) { state.lens[sym++] = 8; }
  3888. while (sym < 256) { state.lens[sym++] = 9; }
  3889. while (sym < 280) { state.lens[sym++] = 7; }
  3890. while (sym < 288) { state.lens[sym++] = 8; }
  3891. inflate_table(LENS, state.lens, 0, 288, lenfix, 0, state.work, { bits: 9 });
  3892. /* distance table */
  3893. sym = 0;
  3894. while (sym < 32) { state.lens[sym++] = 5; }
  3895. inflate_table(DISTS, state.lens, 0, 32, distfix, 0, state.work, { bits: 5 });
  3896. /* do this just once */
  3897. virgin = false;
  3898. }
  3899. state.lencode = lenfix;
  3900. state.lenbits = 9;
  3901. state.distcode = distfix;
  3902. state.distbits = 5;
  3903. }
  3904. /*
  3905. Update the window with the last wsize (normally 32K) bytes written before
  3906. returning. If window does not exist yet, create it. This is only called
  3907. when a window is already in use, or when output has been written during this
  3908. inflate call, but the end of the deflate stream has not been reached yet.
  3909. It is also called to create a window for dictionary data when a dictionary
  3910. is loaded.
  3911. Providing output buffers larger than 32K to inflate() should provide a speed
  3912. advantage, since only the last 32K of output is copied to the sliding window
  3913. upon return from inflate(), and since all distances after the first 32K of
  3914. output will fall in the output data, making match copies simpler and faster.
  3915. The advantage may be dependent on the size of the processor's data caches.
  3916. */
  3917. function updatewindow(strm, src, end, copy) {
  3918. var dist;
  3919. var state = strm.state;
  3920. /* if it hasn't been done already, allocate space for the window */
  3921. if (state.window === null) {
  3922. state.wsize = 1 << state.wbits;
  3923. state.wnext = 0;
  3924. state.whave = 0;
  3925. state.window = new utils.Buf8(state.wsize);
  3926. }
  3927. /* copy state->wsize or less output bytes into the circular window */
  3928. if (copy >= state.wsize) {
  3929. utils.arraySet(state.window, src, end - state.wsize, state.wsize, 0);
  3930. state.wnext = 0;
  3931. state.whave = state.wsize;
  3932. }
  3933. else {
  3934. dist = state.wsize - state.wnext;
  3935. if (dist > copy) {
  3936. dist = copy;
  3937. }
  3938. //zmemcpy(state->window + state->wnext, end - copy, dist);
  3939. utils.arraySet(state.window, src, end - copy, dist, state.wnext);
  3940. copy -= dist;
  3941. if (copy) {
  3942. //zmemcpy(state->window, end - copy, copy);
  3943. utils.arraySet(state.window, src, end - copy, copy, 0);
  3944. state.wnext = copy;
  3945. state.whave = state.wsize;
  3946. }
  3947. else {
  3948. state.wnext += dist;
  3949. if (state.wnext === state.wsize) { state.wnext = 0; }
  3950. if (state.whave < state.wsize) { state.whave += dist; }
  3951. }
  3952. }
  3953. return 0;
  3954. }
  3955. function inflate(strm, flush) {
  3956. var state;
  3957. var input, output; // input/output buffers
  3958. var next; /* next input INDEX */
  3959. var put; /* next output INDEX */
  3960. var have, left; /* available input and output */
  3961. var hold; /* bit buffer */
  3962. var bits; /* bits in bit buffer */
  3963. var _in, _out; /* save starting available input and output */
  3964. var copy; /* number of stored or match bytes to copy */
  3965. var from; /* where to copy match bytes from */
  3966. var from_source;
  3967. var here = 0; /* current decoding table entry */
  3968. var here_bits, here_op, here_val; // paked "here" denormalized (JS specific)
  3969. //var last; /* parent table entry */
  3970. var last_bits, last_op, last_val; // paked "last" denormalized (JS specific)
  3971. var len; /* length to copy for repeats, bits to drop */
  3972. var ret; /* return code */
  3973. var hbuf = new utils.Buf8(4); /* buffer for gzip header crc calculation */
  3974. var opts;
  3975. var n; // temporary var for NEED_BITS
  3976. var order = /* permutation of code lengths */
  3977. [ 16, 17, 18, 0, 8, 7, 9, 6, 10, 5, 11, 4, 12, 3, 13, 2, 14, 1, 15 ];
  3978. if (!strm || !strm.state || !strm.output ||
  3979. (!strm.input && strm.avail_in !== 0)) {
  3980. return Z_STREAM_ERROR;
  3981. }
  3982. state = strm.state;
  3983. if (state.mode === TYPE) { state.mode = TYPEDO; } /* skip check */
  3984. //--- LOAD() ---
  3985. put = strm.next_out;
  3986. output = strm.output;
  3987. left = strm.avail_out;
  3988. next = strm.next_in;
  3989. input = strm.input;
  3990. have = strm.avail_in;
  3991. hold = state.hold;
  3992. bits = state.bits;
  3993. //---
  3994. _in = have;
  3995. _out = left;
  3996. ret = Z_OK;
  3997. inf_leave: // goto emulation
  3998. for (;;) {
  3999. switch (state.mode) {
  4000. case HEAD:
  4001. if (state.wrap === 0) {
  4002. state.mode = TYPEDO;
  4003. break;
  4004. }
  4005. //=== NEEDBITS(16);
  4006. while (bits < 16) {
  4007. if (have === 0) { break inf_leave; }
  4008. have--;
  4009. hold += input[next++] << bits;
  4010. bits += 8;
  4011. }
  4012. //===//
  4013. if ((state.wrap & 2) && hold === 0x8b1f) { /* gzip header */
  4014. state.check = 0/*crc32(0L, Z_NULL, 0)*/;
  4015. //=== CRC2(state.check, hold);
  4016. hbuf[0] = hold & 0xff;
  4017. hbuf[1] = (hold >>> 8) & 0xff;
  4018. state.check = crc32(state.check, hbuf, 2, 0);
  4019. //===//
  4020. //=== INITBITS();
  4021. hold = 0;
  4022. bits = 0;
  4023. //===//
  4024. state.mode = FLAGS;
  4025. break;
  4026. }
  4027. state.flags = 0; /* expect zlib header */
  4028. if (state.head) {
  4029. state.head.done = false;
  4030. }
  4031. if (!(state.wrap & 1) || /* check if zlib header allowed */
  4032. (((hold & 0xff)/*BITS(8)*/ << 8) + (hold >> 8)) % 31) {
  4033. strm.msg = 'incorrect header check';
  4034. state.mode = BAD;
  4035. break;
  4036. }
  4037. if ((hold & 0x0f)/*BITS(4)*/ !== Z_DEFLATED) {
  4038. strm.msg = 'unknown compression method';
  4039. state.mode = BAD;
  4040. break;
  4041. }
  4042. //--- DROPBITS(4) ---//
  4043. hold >>>= 4;
  4044. bits -= 4;
  4045. //---//
  4046. len = (hold & 0x0f)/*BITS(4)*/ + 8;
  4047. if (state.wbits === 0) {
  4048. state.wbits = len;
  4049. }
  4050. else if (len > state.wbits) {
  4051. strm.msg = 'invalid window size';
  4052. state.mode = BAD;
  4053. break;
  4054. }
  4055. state.dmax = 1 << len;
  4056. //Tracev((stderr, "inflate: zlib header ok\n"));
  4057. strm.adler = state.check = 1/*adler32(0L, Z_NULL, 0)*/;
  4058. state.mode = hold & 0x200 ? DICTID : TYPE;
  4059. //=== INITBITS();
  4060. hold = 0;
  4061. bits = 0;
  4062. //===//
  4063. break;
  4064. case FLAGS:
  4065. //=== NEEDBITS(16); */
  4066. while (bits < 16) {
  4067. if (have === 0) { break inf_leave; }
  4068. have--;
  4069. hold += input[next++] << bits;
  4070. bits += 8;
  4071. }
  4072. //===//
  4073. state.flags = hold;
  4074. if ((state.flags & 0xff) !== Z_DEFLATED) {
  4075. strm.msg = 'unknown compression method';
  4076. state.mode = BAD;
  4077. break;
  4078. }
  4079. if (state.flags & 0xe000) {
  4080. strm.msg = 'unknown header flags set';
  4081. state.mode = BAD;
  4082. break;
  4083. }
  4084. if (state.head) {
  4085. state.head.text = ((hold >> 8) & 1);
  4086. }
  4087. if (state.flags & 0x0200) {
  4088. //=== CRC2(state.check, hold);
  4089. hbuf[0] = hold & 0xff;
  4090. hbuf[1] = (hold >>> 8) & 0xff;
  4091. state.check = crc32(state.check, hbuf, 2, 0);
  4092. //===//
  4093. }
  4094. //=== INITBITS();
  4095. hold = 0;
  4096. bits = 0;
  4097. //===//
  4098. state.mode = TIME;
  4099. /* falls through */
  4100. case TIME:
  4101. //=== NEEDBITS(32); */
  4102. while (bits < 32) {
  4103. if (have === 0) { break inf_leave; }
  4104. have--;
  4105. hold += input[next++] << bits;
  4106. bits += 8;
  4107. }
  4108. //===//
  4109. if (state.head) {
  4110. state.head.time = hold;
  4111. }
  4112. if (state.flags & 0x0200) {
  4113. //=== CRC4(state.check, hold)
  4114. hbuf[0] = hold & 0xff;
  4115. hbuf[1] = (hold >>> 8) & 0xff;
  4116. hbuf[2] = (hold >>> 16) & 0xff;
  4117. hbuf[3] = (hold >>> 24) & 0xff;
  4118. state.check = crc32(state.check, hbuf, 4, 0);
  4119. //===
  4120. }
  4121. //=== INITBITS();
  4122. hold = 0;
  4123. bits = 0;
  4124. //===//
  4125. state.mode = OS;
  4126. /* falls through */
  4127. case OS:
  4128. //=== NEEDBITS(16); */
  4129. while (bits < 16) {
  4130. if (have === 0) { break inf_leave; }
  4131. have--;
  4132. hold += input[next++] << bits;
  4133. bits += 8;
  4134. }
  4135. //===//
  4136. if (state.head) {
  4137. state.head.xflags = (hold & 0xff);
  4138. state.head.os = (hold >> 8);
  4139. }
  4140. if (state.flags & 0x0200) {
  4141. //=== CRC2(state.check, hold);
  4142. hbuf[0] = hold & 0xff;
  4143. hbuf[1] = (hold >>> 8) & 0xff;
  4144. state.check = crc32(state.check, hbuf, 2, 0);
  4145. //===//
  4146. }
  4147. //=== INITBITS();
  4148. hold = 0;
  4149. bits = 0;
  4150. //===//
  4151. state.mode = EXLEN;
  4152. /* falls through */
  4153. case EXLEN:
  4154. if (state.flags & 0x0400) {
  4155. //=== NEEDBITS(16); */
  4156. while (bits < 16) {
  4157. if (have === 0) { break inf_leave; }
  4158. have--;
  4159. hold += input[next++] << bits;
  4160. bits += 8;
  4161. }
  4162. //===//
  4163. state.length = hold;
  4164. if (state.head) {
  4165. state.head.extra_len = hold;
  4166. }
  4167. if (state.flags & 0x0200) {
  4168. //=== CRC2(state.check, hold);
  4169. hbuf[0] = hold & 0xff;
  4170. hbuf[1] = (hold >>> 8) & 0xff;
  4171. state.check = crc32(state.check, hbuf, 2, 0);
  4172. //===//
  4173. }
  4174. //=== INITBITS();
  4175. hold = 0;
  4176. bits = 0;
  4177. //===//
  4178. }
  4179. else if (state.head) {
  4180. state.head.extra = null/*Z_NULL*/;
  4181. }
  4182. state.mode = EXTRA;
  4183. /* falls through */
  4184. case EXTRA:
  4185. if (state.flags & 0x0400) {
  4186. copy = state.length;
  4187. if (copy > have) { copy = have; }
  4188. if (copy) {
  4189. if (state.head) {
  4190. len = state.head.extra_len - state.length;
  4191. if (!state.head.extra) {
  4192. // Use untyped array for more convenient processing later
  4193. state.head.extra = new Array(state.head.extra_len);
  4194. }
  4195. utils.arraySet(
  4196. state.head.extra,
  4197. input,
  4198. next,
  4199. // extra field is limited to 65536 bytes
  4200. // - no need for additional size check
  4201. copy,
  4202. /*len + copy > state.head.extra_max - len ? state.head.extra_max : copy,*/
  4203. len
  4204. );
  4205. //zmemcpy(state.head.extra + len, next,
  4206. // len + copy > state.head.extra_max ?
  4207. // state.head.extra_max - len : copy);
  4208. }
  4209. if (state.flags & 0x0200) {
  4210. state.check = crc32(state.check, input, copy, next);
  4211. }
  4212. have -= copy;
  4213. next += copy;
  4214. state.length -= copy;
  4215. }
  4216. if (state.length) { break inf_leave; }
  4217. }
  4218. state.length = 0;
  4219. state.mode = NAME;
  4220. /* falls through */
  4221. case NAME:
  4222. if (state.flags & 0x0800) {
  4223. if (have === 0) { break inf_leave; }
  4224. copy = 0;
  4225. do {
  4226. // TODO: 2 or 1 bytes?
  4227. len = input[next + copy++];
  4228. /* use constant limit because in js we should not preallocate memory */
  4229. if (state.head && len &&
  4230. (state.length < 65536 /*state.head.name_max*/)) {
  4231. state.head.name += String.fromCharCode(len);
  4232. }
  4233. } while (len && copy < have);
  4234. if (state.flags & 0x0200) {
  4235. state.check = crc32(state.check, input, copy, next);
  4236. }
  4237. have -= copy;
  4238. next += copy;
  4239. if (len) { break inf_leave; }
  4240. }
  4241. else if (state.head) {
  4242. state.head.name = null;
  4243. }
  4244. state.length = 0;
  4245. state.mode = COMMENT;
  4246. /* falls through */
  4247. case COMMENT:
  4248. if (state.flags & 0x1000) {
  4249. if (have === 0) { break inf_leave; }
  4250. copy = 0;
  4251. do {
  4252. len = input[next + copy++];
  4253. /* use constant limit because in js we should not preallocate memory */
  4254. if (state.head && len &&
  4255. (state.length < 65536 /*state.head.comm_max*/)) {
  4256. state.head.comment += String.fromCharCode(len);
  4257. }
  4258. } while (len && copy < have);
  4259. if (state.flags & 0x0200) {
  4260. state.check = crc32(state.check, input, copy, next);
  4261. }
  4262. have -= copy;
  4263. next += copy;
  4264. if (len) { break inf_leave; }
  4265. }
  4266. else if (state.head) {
  4267. state.head.comment = null;
  4268. }
  4269. state.mode = HCRC;
  4270. /* falls through */
  4271. case HCRC:
  4272. if (state.flags & 0x0200) {
  4273. //=== NEEDBITS(16); */
  4274. while (bits < 16) {
  4275. if (have === 0) { break inf_leave; }
  4276. have--;
  4277. hold += input[next++] << bits;
  4278. bits += 8;
  4279. }
  4280. //===//
  4281. if (hold !== (state.check & 0xffff)) {
  4282. strm.msg = 'header crc mismatch';
  4283. state.mode = BAD;
  4284. break;
  4285. }
  4286. //=== INITBITS();
  4287. hold = 0;
  4288. bits = 0;
  4289. //===//
  4290. }
  4291. if (state.head) {
  4292. state.head.hcrc = ((state.flags >> 9) & 1);
  4293. state.head.done = true;
  4294. }
  4295. strm.adler = state.check = 0;
  4296. state.mode = TYPE;
  4297. break;
  4298. case DICTID:
  4299. //=== NEEDBITS(32); */
  4300. while (bits < 32) {
  4301. if (have === 0) { break inf_leave; }
  4302. have--;
  4303. hold += input[next++] << bits;
  4304. bits += 8;
  4305. }
  4306. //===//
  4307. strm.adler = state.check = zswap32(hold);
  4308. //=== INITBITS();
  4309. hold = 0;
  4310. bits = 0;
  4311. //===//
  4312. state.mode = DICT;
  4313. /* falls through */
  4314. case DICT:
  4315. if (state.havedict === 0) {
  4316. //--- RESTORE() ---
  4317. strm.next_out = put;
  4318. strm.avail_out = left;
  4319. strm.next_in = next;
  4320. strm.avail_in = have;
  4321. state.hold = hold;
  4322. state.bits = bits;
  4323. //---
  4324. return Z_NEED_DICT;
  4325. }
  4326. strm.adler = state.check = 1/*adler32(0L, Z_NULL, 0)*/;
  4327. state.mode = TYPE;
  4328. /* falls through */
  4329. case TYPE:
  4330. if (flush === Z_BLOCK || flush === Z_TREES) { break inf_leave; }
  4331. /* falls through */
  4332. case TYPEDO:
  4333. if (state.last) {
  4334. //--- BYTEBITS() ---//
  4335. hold >>>= bits & 7;
  4336. bits -= bits & 7;
  4337. //---//
  4338. state.mode = CHECK;
  4339. break;
  4340. }
  4341. //=== NEEDBITS(3); */
  4342. while (bits < 3) {
  4343. if (have === 0) { break inf_leave; }
  4344. have--;
  4345. hold += input[next++] << bits;
  4346. bits += 8;
  4347. }
  4348. //===//
  4349. state.last = (hold & 0x01)/*BITS(1)*/;
  4350. //--- DROPBITS(1) ---//
  4351. hold >>>= 1;
  4352. bits -= 1;
  4353. //---//
  4354. switch ((hold & 0x03)/*BITS(2)*/) {
  4355. case 0: /* stored block */
  4356. //Tracev((stderr, "inflate: stored block%s\n",
  4357. // state.last ? " (last)" : ""));
  4358. state.mode = STORED;
  4359. break;
  4360. case 1: /* fixed block */
  4361. fixedtables(state);
  4362. //Tracev((stderr, "inflate: fixed codes block%s\n",
  4363. // state.last ? " (last)" : ""));
  4364. state.mode = LEN_; /* decode codes */
  4365. if (flush === Z_TREES) {
  4366. //--- DROPBITS(2) ---//
  4367. hold >>>= 2;
  4368. bits -= 2;
  4369. //---//
  4370. break inf_leave;
  4371. }
  4372. break;
  4373. case 2: /* dynamic block */
  4374. //Tracev((stderr, "inflate: dynamic codes block%s\n",
  4375. // state.last ? " (last)" : ""));
  4376. state.mode = TABLE;
  4377. break;
  4378. case 3:
  4379. strm.msg = 'invalid block type';
  4380. state.mode = BAD;
  4381. }
  4382. //--- DROPBITS(2) ---//
  4383. hold >>>= 2;
  4384. bits -= 2;
  4385. //---//
  4386. break;
  4387. case STORED:
  4388. //--- BYTEBITS() ---// /* go to byte boundary */
  4389. hold >>>= bits & 7;
  4390. bits -= bits & 7;
  4391. //---//
  4392. //=== NEEDBITS(32); */
  4393. while (bits < 32) {
  4394. if (have === 0) { break inf_leave; }
  4395. have--;
  4396. hold += input[next++] << bits;
  4397. bits += 8;
  4398. }
  4399. //===//
  4400. if ((hold & 0xffff) !== ((hold >>> 16) ^ 0xffff)) {
  4401. strm.msg = 'invalid stored block lengths';
  4402. state.mode = BAD;
  4403. break;
  4404. }
  4405. state.length = hold & 0xffff;
  4406. //Tracev((stderr, "inflate: stored length %u\n",
  4407. // state.length));
  4408. //=== INITBITS();
  4409. hold = 0;
  4410. bits = 0;
  4411. //===//
  4412. state.mode = COPY_;
  4413. if (flush === Z_TREES) { break inf_leave; }
  4414. /* falls through */
  4415. case COPY_:
  4416. state.mode = COPY;
  4417. /* falls through */
  4418. case COPY:
  4419. copy = state.length;
  4420. if (copy) {
  4421. if (copy > have) { copy = have; }
  4422. if (copy > left) { copy = left; }
  4423. if (copy === 0) { break inf_leave; }
  4424. //--- zmemcpy(put, next, copy); ---
  4425. utils.arraySet(output, input, next, copy, put);
  4426. //---//
  4427. have -= copy;
  4428. next += copy;
  4429. left -= copy;
  4430. put += copy;
  4431. state.length -= copy;
  4432. break;
  4433. }
  4434. //Tracev((stderr, "inflate: stored end\n"));
  4435. state.mode = TYPE;
  4436. break;
  4437. case TABLE:
  4438. //=== NEEDBITS(14); */
  4439. while (bits < 14) {
  4440. if (have === 0) { break inf_leave; }
  4441. have--;
  4442. hold += input[next++] << bits;
  4443. bits += 8;
  4444. }
  4445. //===//
  4446. state.nlen = (hold & 0x1f)/*BITS(5)*/ + 257;
  4447. //--- DROPBITS(5) ---//
  4448. hold >>>= 5;
  4449. bits -= 5;
  4450. //---//
  4451. state.ndist = (hold & 0x1f)/*BITS(5)*/ + 1;
  4452. //--- DROPBITS(5) ---//
  4453. hold >>>= 5;
  4454. bits -= 5;
  4455. //---//
  4456. state.ncode = (hold & 0x0f)/*BITS(4)*/ + 4;
  4457. //--- DROPBITS(4) ---//
  4458. hold >>>= 4;
  4459. bits -= 4;
  4460. //---//
  4461. //#ifndef PKZIP_BUG_WORKAROUND
  4462. if (state.nlen > 286 || state.ndist > 30) {
  4463. strm.msg = 'too many length or distance symbols';
  4464. state.mode = BAD;
  4465. break;
  4466. }
  4467. //#endif
  4468. //Tracev((stderr, "inflate: table sizes ok\n"));
  4469. state.have = 0;
  4470. state.mode = LENLENS;
  4471. /* falls through */
  4472. case LENLENS:
  4473. while (state.have < state.ncode) {
  4474. //=== NEEDBITS(3);
  4475. while (bits < 3) {
  4476. if (have === 0) { break inf_leave; }
  4477. have--;
  4478. hold += input[next++] << bits;
  4479. bits += 8;
  4480. }
  4481. //===//
  4482. state.lens[order[state.have++]] = (hold & 0x07);//BITS(3);
  4483. //--- DROPBITS(3) ---//
  4484. hold >>>= 3;
  4485. bits -= 3;
  4486. //---//
  4487. }
  4488. while (state.have < 19) {
  4489. state.lens[order[state.have++]] = 0;
  4490. }
  4491. // We have separate tables & no pointers. 2 commented lines below not needed.
  4492. //state.next = state.codes;
  4493. //state.lencode = state.next;
  4494. // Switch to use dynamic table
  4495. state.lencode = state.lendyn;
  4496. state.lenbits = 7;
  4497. opts = { bits: state.lenbits };
  4498. ret = inflate_table(CODES, state.lens, 0, 19, state.lencode, 0, state.work, opts);
  4499. state.lenbits = opts.bits;
  4500. if (ret) {
  4501. strm.msg = 'invalid code lengths set';
  4502. state.mode = BAD;
  4503. break;
  4504. }
  4505. //Tracev((stderr, "inflate: code lengths ok\n"));
  4506. state.have = 0;
  4507. state.mode = CODELENS;
  4508. /* falls through */
  4509. case CODELENS:
  4510. while (state.have < state.nlen + state.ndist) {
  4511. for (;;) {
  4512. here = state.lencode[hold & ((1 << state.lenbits) - 1)];/*BITS(state.lenbits)*/
  4513. here_bits = here >>> 24;
  4514. here_op = (here >>> 16) & 0xff;
  4515. here_val = here & 0xffff;
  4516. if ((here_bits) <= bits) { break; }
  4517. //--- PULLBYTE() ---//
  4518. if (have === 0) { break inf_leave; }
  4519. have--;
  4520. hold += input[next++] << bits;
  4521. bits += 8;
  4522. //---//
  4523. }
  4524. if (here_val < 16) {
  4525. //--- DROPBITS(here.bits) ---//
  4526. hold >>>= here_bits;
  4527. bits -= here_bits;
  4528. //---//
  4529. state.lens[state.have++] = here_val;
  4530. }
  4531. else {
  4532. if (here_val === 16) {
  4533. //=== NEEDBITS(here.bits + 2);
  4534. n = here_bits + 2;
  4535. while (bits < n) {
  4536. if (have === 0) { break inf_leave; }
  4537. have--;
  4538. hold += input[next++] << bits;
  4539. bits += 8;
  4540. }
  4541. //===//
  4542. //--- DROPBITS(here.bits) ---//
  4543. hold >>>= here_bits;
  4544. bits -= here_bits;
  4545. //---//
  4546. if (state.have === 0) {
  4547. strm.msg = 'invalid bit length repeat';
  4548. state.mode = BAD;
  4549. break;
  4550. }
  4551. len = state.lens[state.have - 1];
  4552. copy = 3 + (hold & 0x03);//BITS(2);
  4553. //--- DROPBITS(2) ---//
  4554. hold >>>= 2;
  4555. bits -= 2;
  4556. //---//
  4557. }
  4558. else if (here_val === 17) {
  4559. //=== NEEDBITS(here.bits + 3);
  4560. n = here_bits + 3;
  4561. while (bits < n) {
  4562. if (have === 0) { break inf_leave; }
  4563. have--;
  4564. hold += input[next++] << bits;
  4565. bits += 8;
  4566. }
  4567. //===//
  4568. //--- DROPBITS(here.bits) ---//
  4569. hold >>>= here_bits;
  4570. bits -= here_bits;
  4571. //---//
  4572. len = 0;
  4573. copy = 3 + (hold & 0x07);//BITS(3);
  4574. //--- DROPBITS(3) ---//
  4575. hold >>>= 3;
  4576. bits -= 3;
  4577. //---//
  4578. }
  4579. else {
  4580. //=== NEEDBITS(here.bits + 7);
  4581. n = here_bits + 7;
  4582. while (bits < n) {
  4583. if (have === 0) { break inf_leave; }
  4584. have--;
  4585. hold += input[next++] << bits;
  4586. bits += 8;
  4587. }
  4588. //===//
  4589. //--- DROPBITS(here.bits) ---//
  4590. hold >>>= here_bits;
  4591. bits -= here_bits;
  4592. //---//
  4593. len = 0;
  4594. copy = 11 + (hold & 0x7f);//BITS(7);
  4595. //--- DROPBITS(7) ---//
  4596. hold >>>= 7;
  4597. bits -= 7;
  4598. //---//
  4599. }
  4600. if (state.have + copy > state.nlen + state.ndist) {
  4601. strm.msg = 'invalid bit length repeat';
  4602. state.mode = BAD;
  4603. break;
  4604. }
  4605. while (copy--) {
  4606. state.lens[state.have++] = len;
  4607. }
  4608. }
  4609. }
  4610. /* handle error breaks in while */
  4611. if (state.mode === BAD) { break; }
  4612. /* check for end-of-block code (better have one) */
  4613. if (state.lens[256] === 0) {
  4614. strm.msg = 'invalid code -- missing end-of-block';
  4615. state.mode = BAD;
  4616. break;
  4617. }
  4618. /* build code tables -- note: do not change the lenbits or distbits
  4619. values here (9 and 6) without reading the comments in inftrees.h
  4620. concerning the ENOUGH constants, which depend on those values */
  4621. state.lenbits = 9;
  4622. opts = { bits: state.lenbits };
  4623. ret = inflate_table(LENS, state.lens, 0, state.nlen, state.lencode, 0, state.work, opts);
  4624. // We have separate tables & no pointers. 2 commented lines below not needed.
  4625. // state.next_index = opts.table_index;
  4626. state.lenbits = opts.bits;
  4627. // state.lencode = state.next;
  4628. if (ret) {
  4629. strm.msg = 'invalid literal/lengths set';
  4630. state.mode = BAD;
  4631. break;
  4632. }
  4633. state.distbits = 6;
  4634. //state.distcode.copy(state.codes);
  4635. // Switch to use dynamic table
  4636. state.distcode = state.distdyn;
  4637. opts = { bits: state.distbits };
  4638. ret = inflate_table(DISTS, state.lens, state.nlen, state.ndist, state.distcode, 0, state.work, opts);
  4639. // We have separate tables & no pointers. 2 commented lines below not needed.
  4640. // state.next_index = opts.table_index;
  4641. state.distbits = opts.bits;
  4642. // state.distcode = state.next;
  4643. if (ret) {
  4644. strm.msg = 'invalid distances set';
  4645. state.mode = BAD;
  4646. break;
  4647. }
  4648. //Tracev((stderr, 'inflate: codes ok\n'));
  4649. state.mode = LEN_;
  4650. if (flush === Z_TREES) { break inf_leave; }
  4651. /* falls through */
  4652. case LEN_:
  4653. state.mode = LEN;
  4654. /* falls through */
  4655. case LEN:
  4656. if (have >= 6 && left >= 258) {
  4657. //--- RESTORE() ---
  4658. strm.next_out = put;
  4659. strm.avail_out = left;
  4660. strm.next_in = next;
  4661. strm.avail_in = have;
  4662. state.hold = hold;
  4663. state.bits = bits;
  4664. //---
  4665. inflate_fast(strm, _out);
  4666. //--- LOAD() ---
  4667. put = strm.next_out;
  4668. output = strm.output;
  4669. left = strm.avail_out;
  4670. next = strm.next_in;
  4671. input = strm.input;
  4672. have = strm.avail_in;
  4673. hold = state.hold;
  4674. bits = state.bits;
  4675. //---
  4676. if (state.mode === TYPE) {
  4677. state.back = -1;
  4678. }
  4679. break;
  4680. }
  4681. state.back = 0;
  4682. for (;;) {
  4683. here = state.lencode[hold & ((1 << state.lenbits) - 1)]; /*BITS(state.lenbits)*/
  4684. here_bits = here >>> 24;
  4685. here_op = (here >>> 16) & 0xff;
  4686. here_val = here & 0xffff;
  4687. if (here_bits <= bits) { break; }
  4688. //--- PULLBYTE() ---//
  4689. if (have === 0) { break inf_leave; }
  4690. have--;
  4691. hold += input[next++] << bits;
  4692. bits += 8;
  4693. //---//
  4694. }
  4695. if (here_op && (here_op & 0xf0) === 0) {
  4696. last_bits = here_bits;
  4697. last_op = here_op;
  4698. last_val = here_val;
  4699. for (;;) {
  4700. here = state.lencode[last_val +
  4701. ((hold & ((1 << (last_bits + last_op)) - 1))/*BITS(last.bits + last.op)*/ >> last_bits)];
  4702. here_bits = here >>> 24;
  4703. here_op = (here >>> 16) & 0xff;
  4704. here_val = here & 0xffff;
  4705. if ((last_bits + here_bits) <= bits) { break; }
  4706. //--- PULLBYTE() ---//
  4707. if (have === 0) { break inf_leave; }
  4708. have--;
  4709. hold += input[next++] << bits;
  4710. bits += 8;
  4711. //---//
  4712. }
  4713. //--- DROPBITS(last.bits) ---//
  4714. hold >>>= last_bits;
  4715. bits -= last_bits;
  4716. //---//
  4717. state.back += last_bits;
  4718. }
  4719. //--- DROPBITS(here.bits) ---//
  4720. hold >>>= here_bits;
  4721. bits -= here_bits;
  4722. //---//
  4723. state.back += here_bits;
  4724. state.length = here_val;
  4725. if (here_op === 0) {
  4726. //Tracevv((stderr, here.val >= 0x20 && here.val < 0x7f ?
  4727. // "inflate: literal '%c'\n" :
  4728. // "inflate: literal 0x%02x\n", here.val));
  4729. state.mode = LIT;
  4730. break;
  4731. }
  4732. if (here_op & 32) {
  4733. //Tracevv((stderr, "inflate: end of block\n"));
  4734. state.back = -1;
  4735. state.mode = TYPE;
  4736. break;
  4737. }
  4738. if (here_op & 64) {
  4739. strm.msg = 'invalid literal/length code';
  4740. state.mode = BAD;
  4741. break;
  4742. }
  4743. state.extra = here_op & 15;
  4744. state.mode = LENEXT;
  4745. /* falls through */
  4746. case LENEXT:
  4747. if (state.extra) {
  4748. //=== NEEDBITS(state.extra);
  4749. n = state.extra;
  4750. while (bits < n) {
  4751. if (have === 0) { break inf_leave; }
  4752. have--;
  4753. hold += input[next++] << bits;
  4754. bits += 8;
  4755. }
  4756. //===//
  4757. state.length += hold & ((1 << state.extra) - 1)/*BITS(state.extra)*/;
  4758. //--- DROPBITS(state.extra) ---//
  4759. hold >>>= state.extra;
  4760. bits -= state.extra;
  4761. //---//
  4762. state.back += state.extra;
  4763. }
  4764. //Tracevv((stderr, "inflate: length %u\n", state.length));
  4765. state.was = state.length;
  4766. state.mode = DIST;
  4767. /* falls through */
  4768. case DIST:
  4769. for (;;) {
  4770. here = state.distcode[hold & ((1 << state.distbits) - 1)];/*BITS(state.distbits)*/
  4771. here_bits = here >>> 24;
  4772. here_op = (here >>> 16) & 0xff;
  4773. here_val = here & 0xffff;
  4774. if ((here_bits) <= bits) { break; }
  4775. //--- PULLBYTE() ---//
  4776. if (have === 0) { break inf_leave; }
  4777. have--;
  4778. hold += input[next++] << bits;
  4779. bits += 8;
  4780. //---//
  4781. }
  4782. if ((here_op & 0xf0) === 0) {
  4783. last_bits = here_bits;
  4784. last_op = here_op;
  4785. last_val = here_val;
  4786. for (;;) {
  4787. here = state.distcode[last_val +
  4788. ((hold & ((1 << (last_bits + last_op)) - 1))/*BITS(last.bits + last.op)*/ >> last_bits)];
  4789. here_bits = here >>> 24;
  4790. here_op = (here >>> 16) & 0xff;
  4791. here_val = here & 0xffff;
  4792. if ((last_bits + here_bits) <= bits) { break; }
  4793. //--- PULLBYTE() ---//
  4794. if (have === 0) { break inf_leave; }
  4795. have--;
  4796. hold += input[next++] << bits;
  4797. bits += 8;
  4798. //---//
  4799. }
  4800. //--- DROPBITS(last.bits) ---//
  4801. hold >>>= last_bits;
  4802. bits -= last_bits;
  4803. //---//
  4804. state.back += last_bits;
  4805. }
  4806. //--- DROPBITS(here.bits) ---//
  4807. hold >>>= here_bits;
  4808. bits -= here_bits;
  4809. //---//
  4810. state.back += here_bits;
  4811. if (here_op & 64) {
  4812. strm.msg = 'invalid distance code';
  4813. state.mode = BAD;
  4814. break;
  4815. }
  4816. state.offset = here_val;
  4817. state.extra = (here_op) & 15;
  4818. state.mode = DISTEXT;
  4819. /* falls through */
  4820. case DISTEXT:
  4821. if (state.extra) {
  4822. //=== NEEDBITS(state.extra);
  4823. n = state.extra;
  4824. while (bits < n) {
  4825. if (have === 0) { break inf_leave; }
  4826. have--;
  4827. hold += input[next++] << bits;
  4828. bits += 8;
  4829. }
  4830. //===//
  4831. state.offset += hold & ((1 << state.extra) - 1)/*BITS(state.extra)*/;
  4832. //--- DROPBITS(state.extra) ---//
  4833. hold >>>= state.extra;
  4834. bits -= state.extra;
  4835. //---//
  4836. state.back += state.extra;
  4837. }
  4838. //#ifdef INFLATE_STRICT
  4839. if (state.offset > state.dmax) {
  4840. strm.msg = 'invalid distance too far back';
  4841. state.mode = BAD;
  4842. break;
  4843. }
  4844. //#endif
  4845. //Tracevv((stderr, "inflate: distance %u\n", state.offset));
  4846. state.mode = MATCH;
  4847. /* falls through */
  4848. case MATCH:
  4849. if (left === 0) { break inf_leave; }
  4850. copy = _out - left;
  4851. if (state.offset > copy) { /* copy from window */
  4852. copy = state.offset - copy;
  4853. if (copy > state.whave) {
  4854. if (state.sane) {
  4855. strm.msg = 'invalid distance too far back';
  4856. state.mode = BAD;
  4857. break;
  4858. }
  4859. // (!) This block is disabled in zlib defaults,
  4860. // don't enable it for binary compatibility
  4861. //#ifdef INFLATE_ALLOW_INVALID_DISTANCE_TOOFAR_ARRR
  4862. // Trace((stderr, "inflate.c too far\n"));
  4863. // copy -= state.whave;
  4864. // if (copy > state.length) { copy = state.length; }
  4865. // if (copy > left) { copy = left; }
  4866. // left -= copy;
  4867. // state.length -= copy;
  4868. // do {
  4869. // output[put++] = 0;
  4870. // } while (--copy);
  4871. // if (state.length === 0) { state.mode = LEN; }
  4872. // break;
  4873. //#endif
  4874. }
  4875. if (copy > state.wnext) {
  4876. copy -= state.wnext;
  4877. from = state.wsize - copy;
  4878. }
  4879. else {
  4880. from = state.wnext - copy;
  4881. }
  4882. if (copy > state.length) { copy = state.length; }
  4883. from_source = state.window;
  4884. }
  4885. else { /* copy from output */
  4886. from_source = output;
  4887. from = put - state.offset;
  4888. copy = state.length;
  4889. }
  4890. if (copy > left) { copy = left; }
  4891. left -= copy;
  4892. state.length -= copy;
  4893. do {
  4894. output[put++] = from_source[from++];
  4895. } while (--copy);
  4896. if (state.length === 0) { state.mode = LEN; }
  4897. break;
  4898. case LIT:
  4899. if (left === 0) { break inf_leave; }
  4900. output[put++] = state.length;
  4901. left--;
  4902. state.mode = LEN;
  4903. break;
  4904. case CHECK:
  4905. if (state.wrap) {
  4906. //=== NEEDBITS(32);
  4907. while (bits < 32) {
  4908. if (have === 0) { break inf_leave; }
  4909. have--;
  4910. // Use '|' instead of '+' to make sure that result is signed
  4911. hold |= input[next++] << bits;
  4912. bits += 8;
  4913. }
  4914. //===//
  4915. _out -= left;
  4916. strm.total_out += _out;
  4917. state.total += _out;
  4918. if (_out) {
  4919. strm.adler = state.check =
  4920. /*UPDATE(state.check, put - _out, _out);*/
  4921. (state.flags ? crc32(state.check, output, _out, put - _out) : adler32(state.check, output, _out, put - _out));
  4922. }
  4923. _out = left;
  4924. // NB: crc32 stored as signed 32-bit int, zswap32 returns signed too
  4925. if ((state.flags ? hold : zswap32(hold)) !== state.check) {
  4926. strm.msg = 'incorrect data check';
  4927. state.mode = BAD;
  4928. break;
  4929. }
  4930. //=== INITBITS();
  4931. hold = 0;
  4932. bits = 0;
  4933. //===//
  4934. //Tracev((stderr, "inflate: check matches trailer\n"));
  4935. }
  4936. state.mode = LENGTH;
  4937. /* falls through */
  4938. case LENGTH:
  4939. if (state.wrap && state.flags) {
  4940. //=== NEEDBITS(32);
  4941. while (bits < 32) {
  4942. if (have === 0) { break inf_leave; }
  4943. have--;
  4944. hold += input[next++] << bits;
  4945. bits += 8;
  4946. }
  4947. //===//
  4948. if (hold !== (state.total & 0xffffffff)) {
  4949. strm.msg = 'incorrect length check';
  4950. state.mode = BAD;
  4951. break;
  4952. }
  4953. //=== INITBITS();
  4954. hold = 0;
  4955. bits = 0;
  4956. //===//
  4957. //Tracev((stderr, "inflate: length matches trailer\n"));
  4958. }
  4959. state.mode = DONE;
  4960. /* falls through */
  4961. case DONE:
  4962. ret = Z_STREAM_END;
  4963. break inf_leave;
  4964. case BAD:
  4965. ret = Z_DATA_ERROR;
  4966. break inf_leave;
  4967. case MEM:
  4968. return Z_MEM_ERROR;
  4969. case SYNC:
  4970. /* falls through */
  4971. default:
  4972. return Z_STREAM_ERROR;
  4973. }
  4974. }
  4975. // inf_leave <- here is real place for "goto inf_leave", emulated via "break inf_leave"
  4976. /*
  4977. Return from inflate(), updating the total counts and the check value.
  4978. If there was no progress during the inflate() call, return a buffer
  4979. error. Call updatewindow() to create and/or update the window state.
  4980. Note: a memory error from inflate() is non-recoverable.
  4981. */
  4982. //--- RESTORE() ---
  4983. strm.next_out = put;
  4984. strm.avail_out = left;
  4985. strm.next_in = next;
  4986. strm.avail_in = have;
  4987. state.hold = hold;
  4988. state.bits = bits;
  4989. //---
  4990. if (state.wsize || (_out !== strm.avail_out && state.mode < BAD &&
  4991. (state.mode < CHECK || flush !== Z_FINISH))) {
  4992. if (updatewindow(strm, strm.output, strm.next_out, _out - strm.avail_out)) {
  4993. state.mode = MEM;
  4994. return Z_MEM_ERROR;
  4995. }
  4996. }
  4997. _in -= strm.avail_in;
  4998. _out -= strm.avail_out;
  4999. strm.total_in += _in;
  5000. strm.total_out += _out;
  5001. state.total += _out;
  5002. if (state.wrap && _out) {
  5003. strm.adler = state.check = /*UPDATE(state.check, strm.next_out - _out, _out);*/
  5004. (state.flags ? crc32(state.check, output, _out, strm.next_out - _out) : adler32(state.check, output, _out, strm.next_out - _out));
  5005. }
  5006. strm.data_type = state.bits + (state.last ? 64 : 0) +
  5007. (state.mode === TYPE ? 128 : 0) +
  5008. (state.mode === LEN_ || state.mode === COPY_ ? 256 : 0);
  5009. if (((_in === 0 && _out === 0) || flush === Z_FINISH) && ret === Z_OK) {
  5010. ret = Z_BUF_ERROR;
  5011. }
  5012. return ret;
  5013. }
  5014. function inflateEnd(strm) {
  5015. if (!strm || !strm.state /*|| strm->zfree == (free_func)0*/) {
  5016. return Z_STREAM_ERROR;
  5017. }
  5018. var state = strm.state;
  5019. if (state.window) {
  5020. state.window = null;
  5021. }
  5022. strm.state = null;
  5023. return Z_OK;
  5024. }
  5025. function inflateGetHeader(strm, head) {
  5026. var state;
  5027. /* check state */
  5028. if (!strm || !strm.state) { return Z_STREAM_ERROR; }
  5029. state = strm.state;
  5030. if ((state.wrap & 2) === 0) { return Z_STREAM_ERROR; }
  5031. /* save header structure */
  5032. state.head = head;
  5033. head.done = false;
  5034. return Z_OK;
  5035. }
  5036. function inflateSetDictionary(strm, dictionary) {
  5037. var dictLength = dictionary.length;
  5038. var state;
  5039. var dictid;
  5040. var ret;
  5041. /* check state */
  5042. if (!strm /* == Z_NULL */ || !strm.state /* == Z_NULL */) { return Z_STREAM_ERROR; }
  5043. state = strm.state;
  5044. if (state.wrap !== 0 && state.mode !== DICT) {
  5045. return Z_STREAM_ERROR;
  5046. }
  5047. /* check for correct dictionary identifier */
  5048. if (state.mode === DICT) {
  5049. dictid = 1; /* adler32(0, null, 0)*/
  5050. /* dictid = adler32(dictid, dictionary, dictLength); */
  5051. dictid = adler32(dictid, dictionary, dictLength, 0);
  5052. if (dictid !== state.check) {
  5053. return Z_DATA_ERROR;
  5054. }
  5055. }
  5056. /* copy dictionary to window using updatewindow(), which will amend the
  5057. existing dictionary if appropriate */
  5058. ret = updatewindow(strm, dictionary, dictLength, dictLength);
  5059. if (ret) {
  5060. state.mode = MEM;
  5061. return Z_MEM_ERROR;
  5062. }
  5063. state.havedict = 1;
  5064. // Tracev((stderr, "inflate: dictionary set\n"));
  5065. return Z_OK;
  5066. }
  5067. exports.inflateReset = inflateReset;
  5068. exports.inflateReset2 = inflateReset2;
  5069. exports.inflateResetKeep = inflateResetKeep;
  5070. exports.inflateInit = inflateInit;
  5071. exports.inflateInit2 = inflateInit2;
  5072. exports.inflate = inflate;
  5073. exports.inflateEnd = inflateEnd;
  5074. exports.inflateGetHeader = inflateGetHeader;
  5075. exports.inflateSetDictionary = inflateSetDictionary;
  5076. exports.inflateInfo = 'pako inflate (from Nodeca project)';
  5077. /* Not implemented
  5078. exports.inflateCopy = inflateCopy;
  5079. exports.inflateGetDictionary = inflateGetDictionary;
  5080. exports.inflateMark = inflateMark;
  5081. exports.inflatePrime = inflatePrime;
  5082. exports.inflateSync = inflateSync;
  5083. exports.inflateSyncPoint = inflateSyncPoint;
  5084. exports.inflateUndermine = inflateUndermine;
  5085. */
  5086. },{"../utils/common":3,"./adler32":5,"./crc32":7,"./inffast":10,"./inftrees":12}],12:[function(require,module,exports){
  5087. 'use strict';
  5088. // (C) 1995-2013 Jean-loup Gailly and Mark Adler
  5089. // (C) 2014-2017 Vitaly Puzrin and Andrey Tupitsin
  5090. //
  5091. // This software is provided 'as-is', without any express or implied
  5092. // warranty. In no event will the authors be held liable for any damages
  5093. // arising from the use of this software.
  5094. //
  5095. // Permission is granted to anyone to use this software for any purpose,
  5096. // including commercial applications, and to alter it and redistribute it
  5097. // freely, subject to the following restrictions:
  5098. //
  5099. // 1. The origin of this software must not be misrepresented; you must not
  5100. // claim that you wrote the original software. If you use this software
  5101. // in a product, an acknowledgment in the product documentation would be
  5102. // appreciated but is not required.
  5103. // 2. Altered source versions must be plainly marked as such, and must not be
  5104. // misrepresented as being the original software.
  5105. // 3. This notice may not be removed or altered from any source distribution.
  5106. var utils = require('../utils/common');
  5107. var MAXBITS = 15;
  5108. var ENOUGH_LENS = 852;
  5109. var ENOUGH_DISTS = 592;
  5110. //var ENOUGH = (ENOUGH_LENS+ENOUGH_DISTS);
  5111. var CODES = 0;
  5112. var LENS = 1;
  5113. var DISTS = 2;
  5114. var lbase = [ /* Length codes 257..285 base */
  5115. 3, 4, 5, 6, 7, 8, 9, 10, 11, 13, 15, 17, 19, 23, 27, 31,
  5116. 35, 43, 51, 59, 67, 83, 99, 115, 131, 163, 195, 227, 258, 0, 0
  5117. ];
  5118. var lext = [ /* Length codes 257..285 extra */
  5119. 16, 16, 16, 16, 16, 16, 16, 16, 17, 17, 17, 17, 18, 18, 18, 18,
  5120. 19, 19, 19, 19, 20, 20, 20, 20, 21, 21, 21, 21, 16, 72, 78
  5121. ];
  5122. var dbase = [ /* Distance codes 0..29 base */
  5123. 1, 2, 3, 4, 5, 7, 9, 13, 17, 25, 33, 49, 65, 97, 129, 193,
  5124. 257, 385, 513, 769, 1025, 1537, 2049, 3073, 4097, 6145,
  5125. 8193, 12289, 16385, 24577, 0, 0
  5126. ];
  5127. var dext = [ /* Distance codes 0..29 extra */
  5128. 16, 16, 16, 16, 17, 17, 18, 18, 19, 19, 20, 20, 21, 21, 22, 22,
  5129. 23, 23, 24, 24, 25, 25, 26, 26, 27, 27,
  5130. 28, 28, 29, 29, 64, 64
  5131. ];
  5132. module.exports = function inflate_table(type, lens, lens_index, codes, table, table_index, work, opts)
  5133. {
  5134. var bits = opts.bits;
  5135. //here = opts.here; /* table entry for duplication */
  5136. var len = 0; /* a code's length in bits */
  5137. var sym = 0; /* index of code symbols */
  5138. var min = 0, max = 0; /* minimum and maximum code lengths */
  5139. var root = 0; /* number of index bits for root table */
  5140. var curr = 0; /* number of index bits for current table */
  5141. var drop = 0; /* code bits to drop for sub-table */
  5142. var left = 0; /* number of prefix codes available */
  5143. var used = 0; /* code entries in table used */
  5144. var huff = 0; /* Huffman code */
  5145. var incr; /* for incrementing code, index */
  5146. var fill; /* index for replicating entries */
  5147. var low; /* low bits for current root entry */
  5148. var mask; /* mask for low root bits */
  5149. var next; /* next available space in table */
  5150. var base = null; /* base value table to use */
  5151. var base_index = 0;
  5152. // var shoextra; /* extra bits table to use */
  5153. var end; /* use base and extra for symbol > end */
  5154. var count = new utils.Buf16(MAXBITS + 1); //[MAXBITS+1]; /* number of codes of each length */
  5155. var offs = new utils.Buf16(MAXBITS + 1); //[MAXBITS+1]; /* offsets in table for each length */
  5156. var extra = null;
  5157. var extra_index = 0;
  5158. var here_bits, here_op, here_val;
  5159. /*
  5160. Process a set of code lengths to create a canonical Huffman code. The
  5161. code lengths are lens[0..codes-1]. Each length corresponds to the
  5162. symbols 0..codes-1. The Huffman code is generated by first sorting the
  5163. symbols by length from short to long, and retaining the symbol order
  5164. for codes with equal lengths. Then the code starts with all zero bits
  5165. for the first code of the shortest length, and the codes are integer
  5166. increments for the same length, and zeros are appended as the length
  5167. increases. For the deflate format, these bits are stored backwards
  5168. from their more natural integer increment ordering, and so when the
  5169. decoding tables are built in the large loop below, the integer codes
  5170. are incremented backwards.
  5171. This routine assumes, but does not check, that all of the entries in
  5172. lens[] are in the range 0..MAXBITS. The caller must assure this.
  5173. 1..MAXBITS is interpreted as that code length. zero means that that
  5174. symbol does not occur in this code.
  5175. The codes are sorted by computing a count of codes for each length,
  5176. creating from that a table of starting indices for each length in the
  5177. sorted table, and then entering the symbols in order in the sorted
  5178. table. The sorted table is work[], with that space being provided by
  5179. the caller.
  5180. The length counts are used for other purposes as well, i.e. finding
  5181. the minimum and maximum length codes, determining if there are any
  5182. codes at all, checking for a valid set of lengths, and looking ahead
  5183. at length counts to determine sub-table sizes when building the
  5184. decoding tables.
  5185. */
  5186. /* accumulate lengths for codes (assumes lens[] all in 0..MAXBITS) */
  5187. for (len = 0; len <= MAXBITS; len++) {
  5188. count[len] = 0;
  5189. }
  5190. for (sym = 0; sym < codes; sym++) {
  5191. count[lens[lens_index + sym]]++;
  5192. }
  5193. /* bound code lengths, force root to be within code lengths */
  5194. root = bits;
  5195. for (max = MAXBITS; max >= 1; max--) {
  5196. if (count[max] !== 0) { break; }
  5197. }
  5198. if (root > max) {
  5199. root = max;
  5200. }
  5201. if (max === 0) { /* no symbols to code at all */
  5202. //table.op[opts.table_index] = 64; //here.op = (var char)64; /* invalid code marker */
  5203. //table.bits[opts.table_index] = 1; //here.bits = (var char)1;
  5204. //table.val[opts.table_index++] = 0; //here.val = (var short)0;
  5205. table[table_index++] = (1 << 24) | (64 << 16) | 0;
  5206. //table.op[opts.table_index] = 64;
  5207. //table.bits[opts.table_index] = 1;
  5208. //table.val[opts.table_index++] = 0;
  5209. table[table_index++] = (1 << 24) | (64 << 16) | 0;
  5210. opts.bits = 1;
  5211. return 0; /* no symbols, but wait for decoding to report error */
  5212. }
  5213. for (min = 1; min < max; min++) {
  5214. if (count[min] !== 0) { break; }
  5215. }
  5216. if (root < min) {
  5217. root = min;
  5218. }
  5219. /* check for an over-subscribed or incomplete set of lengths */
  5220. left = 1;
  5221. for (len = 1; len <= MAXBITS; len++) {
  5222. left <<= 1;
  5223. left -= count[len];
  5224. if (left < 0) {
  5225. return -1;
  5226. } /* over-subscribed */
  5227. }
  5228. if (left > 0 && (type === CODES || max !== 1)) {
  5229. return -1; /* incomplete set */
  5230. }
  5231. /* generate offsets into symbol table for each length for sorting */
  5232. offs[1] = 0;
  5233. for (len = 1; len < MAXBITS; len++) {
  5234. offs[len + 1] = offs[len] + count[len];
  5235. }
  5236. /* sort symbols by length, by symbol order within each length */
  5237. for (sym = 0; sym < codes; sym++) {
  5238. if (lens[lens_index + sym] !== 0) {
  5239. work[offs[lens[lens_index + sym]]++] = sym;
  5240. }
  5241. }
  5242. /*
  5243. Create and fill in decoding tables. In this loop, the table being
  5244. filled is at next and has curr index bits. The code being used is huff
  5245. with length len. That code is converted to an index by dropping drop
  5246. bits off of the bottom. For codes where len is less than drop + curr,
  5247. those top drop + curr - len bits are incremented through all values to
  5248. fill the table with replicated entries.
  5249. root is the number of index bits for the root table. When len exceeds
  5250. root, sub-tables are created pointed to by the root entry with an index
  5251. of the low root bits of huff. This is saved in low to check for when a
  5252. new sub-table should be started. drop is zero when the root table is
  5253. being filled, and drop is root when sub-tables are being filled.
  5254. When a new sub-table is needed, it is necessary to look ahead in the
  5255. code lengths to determine what size sub-table is needed. The length
  5256. counts are used for this, and so count[] is decremented as codes are
  5257. entered in the tables.
  5258. used keeps track of how many table entries have been allocated from the
  5259. provided *table space. It is checked for LENS and DIST tables against
  5260. the constants ENOUGH_LENS and ENOUGH_DISTS to guard against changes in
  5261. the initial root table size constants. See the comments in inftrees.h
  5262. for more information.
  5263. sym increments through all symbols, and the loop terminates when
  5264. all codes of length max, i.e. all codes, have been processed. This
  5265. routine permits incomplete codes, so another loop after this one fills
  5266. in the rest of the decoding tables with invalid code markers.
  5267. */
  5268. /* set up for code type */
  5269. // poor man optimization - use if-else instead of switch,
  5270. // to avoid deopts in old v8
  5271. if (type === CODES) {
  5272. base = extra = work; /* dummy value--not used */
  5273. end = 19;
  5274. } else if (type === LENS) {
  5275. base = lbase;
  5276. base_index -= 257;
  5277. extra = lext;
  5278. extra_index -= 257;
  5279. end = 256;
  5280. } else { /* DISTS */
  5281. base = dbase;
  5282. extra = dext;
  5283. end = -1;
  5284. }
  5285. /* initialize opts for loop */
  5286. huff = 0; /* starting code */
  5287. sym = 0; /* starting code symbol */
  5288. len = min; /* starting code length */
  5289. next = table_index; /* current table to fill in */
  5290. curr = root; /* current table index bits */
  5291. drop = 0; /* current bits to drop from code for index */
  5292. low = -1; /* trigger new sub-table when len > root */
  5293. used = 1 << root; /* use root table entries */
  5294. mask = used - 1; /* mask for comparing low */
  5295. /* check available table space */
  5296. if ((type === LENS && used > ENOUGH_LENS) ||
  5297. (type === DISTS && used > ENOUGH_DISTS)) {
  5298. return 1;
  5299. }
  5300. /* process all codes and make table entries */
  5301. for (;;) {
  5302. /* create table entry */
  5303. here_bits = len - drop;
  5304. if (work[sym] < end) {
  5305. here_op = 0;
  5306. here_val = work[sym];
  5307. }
  5308. else if (work[sym] > end) {
  5309. here_op = extra[extra_index + work[sym]];
  5310. here_val = base[base_index + work[sym]];
  5311. }
  5312. else {
  5313. here_op = 32 + 64; /* end of block */
  5314. here_val = 0;
  5315. }
  5316. /* replicate for those indices with low len bits equal to huff */
  5317. incr = 1 << (len - drop);
  5318. fill = 1 << curr;
  5319. min = fill; /* save offset to next table */
  5320. do {
  5321. fill -= incr;
  5322. table[next + (huff >> drop) + fill] = (here_bits << 24) | (here_op << 16) | here_val |0;
  5323. } while (fill !== 0);
  5324. /* backwards increment the len-bit code huff */
  5325. incr = 1 << (len - 1);
  5326. while (huff & incr) {
  5327. incr >>= 1;
  5328. }
  5329. if (incr !== 0) {
  5330. huff &= incr - 1;
  5331. huff += incr;
  5332. } else {
  5333. huff = 0;
  5334. }
  5335. /* go to next symbol, update count, len */
  5336. sym++;
  5337. if (--count[len] === 0) {
  5338. if (len === max) { break; }
  5339. len = lens[lens_index + work[sym]];
  5340. }
  5341. /* create new sub-table if needed */
  5342. if (len > root && (huff & mask) !== low) {
  5343. /* if first time, transition to sub-tables */
  5344. if (drop === 0) {
  5345. drop = root;
  5346. }
  5347. /* increment past last table */
  5348. next += min; /* here min is 1 << curr */
  5349. /* determine length of next table */
  5350. curr = len - drop;
  5351. left = 1 << curr;
  5352. while (curr + drop < max) {
  5353. left -= count[curr + drop];
  5354. if (left <= 0) { break; }
  5355. curr++;
  5356. left <<= 1;
  5357. }
  5358. /* check for enough space */
  5359. used += 1 << curr;
  5360. if ((type === LENS && used > ENOUGH_LENS) ||
  5361. (type === DISTS && used > ENOUGH_DISTS)) {
  5362. return 1;
  5363. }
  5364. /* point entry in root table to sub-table */
  5365. low = huff & mask;
  5366. /*table.op[low] = curr;
  5367. table.bits[low] = root;
  5368. table.val[low] = next - opts.table_index;*/
  5369. table[low] = (root << 24) | (curr << 16) | (next - table_index) |0;
  5370. }
  5371. }
  5372. /* fill in remaining table entry if code is incomplete (guaranteed to have
  5373. at most one remaining entry, since if the code is incomplete, the
  5374. maximum code length that was allowed to get this far is one bit) */
  5375. if (huff !== 0) {
  5376. //table.op[next + huff] = 64; /* invalid code marker */
  5377. //table.bits[next + huff] = len - drop;
  5378. //table.val[next + huff] = 0;
  5379. table[next + huff] = ((len - drop) << 24) | (64 << 16) |0;
  5380. }
  5381. /* set return parameters */
  5382. //opts.table_index += used;
  5383. opts.bits = root;
  5384. return 0;
  5385. };
  5386. },{"../utils/common":3}],13:[function(require,module,exports){
  5387. 'use strict';
  5388. // (C) 1995-2013 Jean-loup Gailly and Mark Adler
  5389. // (C) 2014-2017 Vitaly Puzrin and Andrey Tupitsin
  5390. //
  5391. // This software is provided 'as-is', without any express or implied
  5392. // warranty. In no event will the authors be held liable for any damages
  5393. // arising from the use of this software.
  5394. //
  5395. // Permission is granted to anyone to use this software for any purpose,
  5396. // including commercial applications, and to alter it and redistribute it
  5397. // freely, subject to the following restrictions:
  5398. //
  5399. // 1. The origin of this software must not be misrepresented; you must not
  5400. // claim that you wrote the original software. If you use this software
  5401. // in a product, an acknowledgment in the product documentation would be
  5402. // appreciated but is not required.
  5403. // 2. Altered source versions must be plainly marked as such, and must not be
  5404. // misrepresented as being the original software.
  5405. // 3. This notice may not be removed or altered from any source distribution.
  5406. module.exports = {
  5407. 2: 'need dictionary', /* Z_NEED_DICT 2 */
  5408. 1: 'stream end', /* Z_STREAM_END 1 */
  5409. 0: '', /* Z_OK 0 */
  5410. '-1': 'file error', /* Z_ERRNO (-1) */
  5411. '-2': 'stream error', /* Z_STREAM_ERROR (-2) */
  5412. '-3': 'data error', /* Z_DATA_ERROR (-3) */
  5413. '-4': 'insufficient memory', /* Z_MEM_ERROR (-4) */
  5414. '-5': 'buffer error', /* Z_BUF_ERROR (-5) */
  5415. '-6': 'incompatible version' /* Z_VERSION_ERROR (-6) */
  5416. };
  5417. },{}],14:[function(require,module,exports){
  5418. 'use strict';
  5419. // (C) 1995-2013 Jean-loup Gailly and Mark Adler
  5420. // (C) 2014-2017 Vitaly Puzrin and Andrey Tupitsin
  5421. //
  5422. // This software is provided 'as-is', without any express or implied
  5423. // warranty. In no event will the authors be held liable for any damages
  5424. // arising from the use of this software.
  5425. //
  5426. // Permission is granted to anyone to use this software for any purpose,
  5427. // including commercial applications, and to alter it and redistribute it
  5428. // freely, subject to the following restrictions:
  5429. //
  5430. // 1. The origin of this software must not be misrepresented; you must not
  5431. // claim that you wrote the original software. If you use this software
  5432. // in a product, an acknowledgment in the product documentation would be
  5433. // appreciated but is not required.
  5434. // 2. Altered source versions must be plainly marked as such, and must not be
  5435. // misrepresented as being the original software.
  5436. // 3. This notice may not be removed or altered from any source distribution.
  5437. /* eslint-disable space-unary-ops */
  5438. var utils = require('../utils/common');
  5439. /* Public constants ==========================================================*/
  5440. /* ===========================================================================*/
  5441. //var Z_FILTERED = 1;
  5442. //var Z_HUFFMAN_ONLY = 2;
  5443. //var Z_RLE = 3;
  5444. var Z_FIXED = 4;
  5445. //var Z_DEFAULT_STRATEGY = 0;
  5446. /* Possible values of the data_type field (though see inflate()) */
  5447. var Z_BINARY = 0;
  5448. var Z_TEXT = 1;
  5449. //var Z_ASCII = 1; // = Z_TEXT
  5450. var Z_UNKNOWN = 2;
  5451. /*============================================================================*/
  5452. function zero(buf) { var len = buf.length; while (--len >= 0) { buf[len] = 0; } }
  5453. // From zutil.h
  5454. var STORED_BLOCK = 0;
  5455. var STATIC_TREES = 1;
  5456. var DYN_TREES = 2;
  5457. /* The three kinds of block type */
  5458. var MIN_MATCH = 3;
  5459. var MAX_MATCH = 258;
  5460. /* The minimum and maximum match lengths */
  5461. // From deflate.h
  5462. /* ===========================================================================
  5463. * Internal compression state.
  5464. */
  5465. var LENGTH_CODES = 29;
  5466. /* number of length codes, not counting the special END_BLOCK code */
  5467. var LITERALS = 256;
  5468. /* number of literal bytes 0..255 */
  5469. var L_CODES = LITERALS + 1 + LENGTH_CODES;
  5470. /* number of Literal or Length codes, including the END_BLOCK code */
  5471. var D_CODES = 30;
  5472. /* number of distance codes */
  5473. var BL_CODES = 19;
  5474. /* number of codes used to transfer the bit lengths */
  5475. var HEAP_SIZE = 2 * L_CODES + 1;
  5476. /* maximum heap size */
  5477. var MAX_BITS = 15;
  5478. /* All codes must not exceed MAX_BITS bits */
  5479. var Buf_size = 16;
  5480. /* size of bit buffer in bi_buf */
  5481. /* ===========================================================================
  5482. * Constants
  5483. */
  5484. var MAX_BL_BITS = 7;
  5485. /* Bit length codes must not exceed MAX_BL_BITS bits */
  5486. var END_BLOCK = 256;
  5487. /* end of block literal code */
  5488. var REP_3_6 = 16;
  5489. /* repeat previous bit length 3-6 times (2 bits of repeat count) */
  5490. var REPZ_3_10 = 17;
  5491. /* repeat a zero length 3-10 times (3 bits of repeat count) */
  5492. var REPZ_11_138 = 18;
  5493. /* repeat a zero length 11-138 times (7 bits of repeat count) */
  5494. /* eslint-disable comma-spacing,array-bracket-spacing */
  5495. var extra_lbits = /* extra bits for each length code */
  5496. [0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0];
  5497. var extra_dbits = /* extra bits for each distance code */
  5498. [0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13];
  5499. var extra_blbits = /* extra bits for each bit length code */
  5500. [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,3,7];
  5501. var bl_order =
  5502. [16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15];
  5503. /* eslint-enable comma-spacing,array-bracket-spacing */
  5504. /* The lengths of the bit length codes are sent in order of decreasing
  5505. * probability, to avoid transmitting the lengths for unused bit length codes.
  5506. */
  5507. /* ===========================================================================
  5508. * Local data. These are initialized only once.
  5509. */
  5510. // We pre-fill arrays with 0 to avoid uninitialized gaps
  5511. var DIST_CODE_LEN = 512; /* see definition of array dist_code below */
  5512. // !!!! Use flat array instead of structure, Freq = i*2, Len = i*2+1
  5513. var static_ltree = new Array((L_CODES + 2) * 2);
  5514. zero(static_ltree);
  5515. /* The static literal tree. Since the bit lengths are imposed, there is no
  5516. * need for the L_CODES extra codes used during heap construction. However
  5517. * The codes 286 and 287 are needed to build a canonical tree (see _tr_init
  5518. * below).
  5519. */
  5520. var static_dtree = new Array(D_CODES * 2);
  5521. zero(static_dtree);
  5522. /* The static distance tree. (Actually a trivial tree since all codes use
  5523. * 5 bits.)
  5524. */
  5525. var _dist_code = new Array(DIST_CODE_LEN);
  5526. zero(_dist_code);
  5527. /* Distance codes. The first 256 values correspond to the distances
  5528. * 3 .. 258, the last 256 values correspond to the top 8 bits of
  5529. * the 15 bit distances.
  5530. */
  5531. var _length_code = new Array(MAX_MATCH - MIN_MATCH + 1);
  5532. zero(_length_code);
  5533. /* length code for each normalized match length (0 == MIN_MATCH) */
  5534. var base_length = new Array(LENGTH_CODES);
  5535. zero(base_length);
  5536. /* First normalized length for each code (0 = MIN_MATCH) */
  5537. var base_dist = new Array(D_CODES);
  5538. zero(base_dist);
  5539. /* First normalized distance for each code (0 = distance of 1) */
  5540. function StaticTreeDesc(static_tree, extra_bits, extra_base, elems, max_length) {
  5541. this.static_tree = static_tree; /* static tree or NULL */
  5542. this.extra_bits = extra_bits; /* extra bits for each code or NULL */
  5543. this.extra_base = extra_base; /* base index for extra_bits */
  5544. this.elems = elems; /* max number of elements in the tree */
  5545. this.max_length = max_length; /* max bit length for the codes */
  5546. // show if `static_tree` has data or dummy - needed for monomorphic objects
  5547. this.has_stree = static_tree && static_tree.length;
  5548. }
  5549. var static_l_desc;
  5550. var static_d_desc;
  5551. var static_bl_desc;
  5552. function TreeDesc(dyn_tree, stat_desc) {
  5553. this.dyn_tree = dyn_tree; /* the dynamic tree */
  5554. this.max_code = 0; /* largest code with non zero frequency */
  5555. this.stat_desc = stat_desc; /* the corresponding static tree */
  5556. }
  5557. function d_code(dist) {
  5558. return dist < 256 ? _dist_code[dist] : _dist_code[256 + (dist >>> 7)];
  5559. }
  5560. /* ===========================================================================
  5561. * Output a short LSB first on the stream.
  5562. * IN assertion: there is enough room in pendingBuf.
  5563. */
  5564. function put_short(s, w) {
  5565. // put_byte(s, (uch)((w) & 0xff));
  5566. // put_byte(s, (uch)((ush)(w) >> 8));
  5567. s.pending_buf[s.pending++] = (w) & 0xff;
  5568. s.pending_buf[s.pending++] = (w >>> 8) & 0xff;
  5569. }
  5570. /* ===========================================================================
  5571. * Send a value on a given number of bits.
  5572. * IN assertion: length <= 16 and value fits in length bits.
  5573. */
  5574. function send_bits(s, value, length) {
  5575. if (s.bi_valid > (Buf_size - length)) {
  5576. s.bi_buf |= (value << s.bi_valid) & 0xffff;
  5577. put_short(s, s.bi_buf);
  5578. s.bi_buf = value >> (Buf_size - s.bi_valid);
  5579. s.bi_valid += length - Buf_size;
  5580. } else {
  5581. s.bi_buf |= (value << s.bi_valid) & 0xffff;
  5582. s.bi_valid += length;
  5583. }
  5584. }
  5585. function send_code(s, c, tree) {
  5586. send_bits(s, tree[c * 2]/*.Code*/, tree[c * 2 + 1]/*.Len*/);
  5587. }
  5588. /* ===========================================================================
  5589. * Reverse the first len bits of a code, using straightforward code (a faster
  5590. * method would use a table)
  5591. * IN assertion: 1 <= len <= 15
  5592. */
  5593. function bi_reverse(code, len) {
  5594. var res = 0;
  5595. do {
  5596. res |= code & 1;
  5597. code >>>= 1;
  5598. res <<= 1;
  5599. } while (--len > 0);
  5600. return res >>> 1;
  5601. }
  5602. /* ===========================================================================
  5603. * Flush the bit buffer, keeping at most 7 bits in it.
  5604. */
  5605. function bi_flush(s) {
  5606. if (s.bi_valid === 16) {
  5607. put_short(s, s.bi_buf);
  5608. s.bi_buf = 0;
  5609. s.bi_valid = 0;
  5610. } else if (s.bi_valid >= 8) {
  5611. s.pending_buf[s.pending++] = s.bi_buf & 0xff;
  5612. s.bi_buf >>= 8;
  5613. s.bi_valid -= 8;
  5614. }
  5615. }
  5616. /* ===========================================================================
  5617. * Compute the optimal bit lengths for a tree and update the total bit length
  5618. * for the current block.
  5619. * IN assertion: the fields freq and dad are set, heap[heap_max] and
  5620. * above are the tree nodes sorted by increasing frequency.
  5621. * OUT assertions: the field len is set to the optimal bit length, the
  5622. * array bl_count contains the frequencies for each bit length.
  5623. * The length opt_len is updated; static_len is also updated if stree is
  5624. * not null.
  5625. */
  5626. function gen_bitlen(s, desc)
  5627. // deflate_state *s;
  5628. // tree_desc *desc; /* the tree descriptor */
  5629. {
  5630. var tree = desc.dyn_tree;
  5631. var max_code = desc.max_code;
  5632. var stree = desc.stat_desc.static_tree;
  5633. var has_stree = desc.stat_desc.has_stree;
  5634. var extra = desc.stat_desc.extra_bits;
  5635. var base = desc.stat_desc.extra_base;
  5636. var max_length = desc.stat_desc.max_length;
  5637. var h; /* heap index */
  5638. var n, m; /* iterate over the tree elements */
  5639. var bits; /* bit length */
  5640. var xbits; /* extra bits */
  5641. var f; /* frequency */
  5642. var overflow = 0; /* number of elements with bit length too large */
  5643. for (bits = 0; bits <= MAX_BITS; bits++) {
  5644. s.bl_count[bits] = 0;
  5645. }
  5646. /* In a first pass, compute the optimal bit lengths (which may
  5647. * overflow in the case of the bit length tree).
  5648. */
  5649. tree[s.heap[s.heap_max] * 2 + 1]/*.Len*/ = 0; /* root of the heap */
  5650. for (h = s.heap_max + 1; h < HEAP_SIZE; h++) {
  5651. n = s.heap[h];
  5652. bits = tree[tree[n * 2 + 1]/*.Dad*/ * 2 + 1]/*.Len*/ + 1;
  5653. if (bits > max_length) {
  5654. bits = max_length;
  5655. overflow++;
  5656. }
  5657. tree[n * 2 + 1]/*.Len*/ = bits;
  5658. /* We overwrite tree[n].Dad which is no longer needed */
  5659. if (n > max_code) { continue; } /* not a leaf node */
  5660. s.bl_count[bits]++;
  5661. xbits = 0;
  5662. if (n >= base) {
  5663. xbits = extra[n - base];
  5664. }
  5665. f = tree[n * 2]/*.Freq*/;
  5666. s.opt_len += f * (bits + xbits);
  5667. if (has_stree) {
  5668. s.static_len += f * (stree[n * 2 + 1]/*.Len*/ + xbits);
  5669. }
  5670. }
  5671. if (overflow === 0) { return; }
  5672. // Trace((stderr,"\nbit length overflow\n"));
  5673. /* This happens for example on obj2 and pic of the Calgary corpus */
  5674. /* Find the first bit length which could increase: */
  5675. do {
  5676. bits = max_length - 1;
  5677. while (s.bl_count[bits] === 0) { bits--; }
  5678. s.bl_count[bits]--; /* move one leaf down the tree */
  5679. s.bl_count[bits + 1] += 2; /* move one overflow item as its brother */
  5680. s.bl_count[max_length]--;
  5681. /* The brother of the overflow item also moves one step up,
  5682. * but this does not affect bl_count[max_length]
  5683. */
  5684. overflow -= 2;
  5685. } while (overflow > 0);
  5686. /* Now recompute all bit lengths, scanning in increasing frequency.
  5687. * h is still equal to HEAP_SIZE. (It is simpler to reconstruct all
  5688. * lengths instead of fixing only the wrong ones. This idea is taken
  5689. * from 'ar' written by Haruhiko Okumura.)
  5690. */
  5691. for (bits = max_length; bits !== 0; bits--) {
  5692. n = s.bl_count[bits];
  5693. while (n !== 0) {
  5694. m = s.heap[--h];
  5695. if (m > max_code) { continue; }
  5696. if (tree[m * 2 + 1]/*.Len*/ !== bits) {
  5697. // Trace((stderr,"code %d bits %d->%d\n", m, tree[m].Len, bits));
  5698. s.opt_len += (bits - tree[m * 2 + 1]/*.Len*/) * tree[m * 2]/*.Freq*/;
  5699. tree[m * 2 + 1]/*.Len*/ = bits;
  5700. }
  5701. n--;
  5702. }
  5703. }
  5704. }
  5705. /* ===========================================================================
  5706. * Generate the codes for a given tree and bit counts (which need not be
  5707. * optimal).
  5708. * IN assertion: the array bl_count contains the bit length statistics for
  5709. * the given tree and the field len is set for all tree elements.
  5710. * OUT assertion: the field code is set for all tree elements of non
  5711. * zero code length.
  5712. */
  5713. function gen_codes(tree, max_code, bl_count)
  5714. // ct_data *tree; /* the tree to decorate */
  5715. // int max_code; /* largest code with non zero frequency */
  5716. // ushf *bl_count; /* number of codes at each bit length */
  5717. {
  5718. var next_code = new Array(MAX_BITS + 1); /* next code value for each bit length */
  5719. var code = 0; /* running code value */
  5720. var bits; /* bit index */
  5721. var n; /* code index */
  5722. /* The distribution counts are first used to generate the code values
  5723. * without bit reversal.
  5724. */
  5725. for (bits = 1; bits <= MAX_BITS; bits++) {
  5726. next_code[bits] = code = (code + bl_count[bits - 1]) << 1;
  5727. }
  5728. /* Check that the bit counts in bl_count are consistent. The last code
  5729. * must be all ones.
  5730. */
  5731. //Assert (code + bl_count[MAX_BITS]-1 == (1<<MAX_BITS)-1,
  5732. // "inconsistent bit counts");
  5733. //Tracev((stderr,"\ngen_codes: max_code %d ", max_code));
  5734. for (n = 0; n <= max_code; n++) {
  5735. var len = tree[n * 2 + 1]/*.Len*/;
  5736. if (len === 0) { continue; }
  5737. /* Now reverse the bits */
  5738. tree[n * 2]/*.Code*/ = bi_reverse(next_code[len]++, len);
  5739. //Tracecv(tree != static_ltree, (stderr,"\nn %3d %c l %2d c %4x (%x) ",
  5740. // n, (isgraph(n) ? n : ' '), len, tree[n].Code, next_code[len]-1));
  5741. }
  5742. }
  5743. /* ===========================================================================
  5744. * Initialize the various 'constant' tables.
  5745. */
  5746. function tr_static_init() {
  5747. var n; /* iterates over tree elements */
  5748. var bits; /* bit counter */
  5749. var length; /* length value */
  5750. var code; /* code value */
  5751. var dist; /* distance index */
  5752. var bl_count = new Array(MAX_BITS + 1);
  5753. /* number of codes at each bit length for an optimal tree */
  5754. // do check in _tr_init()
  5755. //if (static_init_done) return;
  5756. /* For some embedded targets, global variables are not initialized: */
  5757. /*#ifdef NO_INIT_GLOBAL_POINTERS
  5758. static_l_desc.static_tree = static_ltree;
  5759. static_l_desc.extra_bits = extra_lbits;
  5760. static_d_desc.static_tree = static_dtree;
  5761. static_d_desc.extra_bits = extra_dbits;
  5762. static_bl_desc.extra_bits = extra_blbits;
  5763. #endif*/
  5764. /* Initialize the mapping length (0..255) -> length code (0..28) */
  5765. length = 0;
  5766. for (code = 0; code < LENGTH_CODES - 1; code++) {
  5767. base_length[code] = length;
  5768. for (n = 0; n < (1 << extra_lbits[code]); n++) {
  5769. _length_code[length++] = code;
  5770. }
  5771. }
  5772. //Assert (length == 256, "tr_static_init: length != 256");
  5773. /* Note that the length 255 (match length 258) can be represented
  5774. * in two different ways: code 284 + 5 bits or code 285, so we
  5775. * overwrite length_code[255] to use the best encoding:
  5776. */
  5777. _length_code[length - 1] = code;
  5778. /* Initialize the mapping dist (0..32K) -> dist code (0..29) */
  5779. dist = 0;
  5780. for (code = 0; code < 16; code++) {
  5781. base_dist[code] = dist;
  5782. for (n = 0; n < (1 << extra_dbits[code]); n++) {
  5783. _dist_code[dist++] = code;
  5784. }
  5785. }
  5786. //Assert (dist == 256, "tr_static_init: dist != 256");
  5787. dist >>= 7; /* from now on, all distances are divided by 128 */
  5788. for (; code < D_CODES; code++) {
  5789. base_dist[code] = dist << 7;
  5790. for (n = 0; n < (1 << (extra_dbits[code] - 7)); n++) {
  5791. _dist_code[256 + dist++] = code;
  5792. }
  5793. }
  5794. //Assert (dist == 256, "tr_static_init: 256+dist != 512");
  5795. /* Construct the codes of the static literal tree */
  5796. for (bits = 0; bits <= MAX_BITS; bits++) {
  5797. bl_count[bits] = 0;
  5798. }
  5799. n = 0;
  5800. while (n <= 143) {
  5801. static_ltree[n * 2 + 1]/*.Len*/ = 8;
  5802. n++;
  5803. bl_count[8]++;
  5804. }
  5805. while (n <= 255) {
  5806. static_ltree[n * 2 + 1]/*.Len*/ = 9;
  5807. n++;
  5808. bl_count[9]++;
  5809. }
  5810. while (n <= 279) {
  5811. static_ltree[n * 2 + 1]/*.Len*/ = 7;
  5812. n++;
  5813. bl_count[7]++;
  5814. }
  5815. while (n <= 287) {
  5816. static_ltree[n * 2 + 1]/*.Len*/ = 8;
  5817. n++;
  5818. bl_count[8]++;
  5819. }
  5820. /* Codes 286 and 287 do not exist, but we must include them in the
  5821. * tree construction to get a canonical Huffman tree (longest code
  5822. * all ones)
  5823. */
  5824. gen_codes(static_ltree, L_CODES + 1, bl_count);
  5825. /* The static distance tree is trivial: */
  5826. for (n = 0; n < D_CODES; n++) {
  5827. static_dtree[n * 2 + 1]/*.Len*/ = 5;
  5828. static_dtree[n * 2]/*.Code*/ = bi_reverse(n, 5);
  5829. }
  5830. // Now data ready and we can init static trees
  5831. static_l_desc = new StaticTreeDesc(static_ltree, extra_lbits, LITERALS + 1, L_CODES, MAX_BITS);
  5832. static_d_desc = new StaticTreeDesc(static_dtree, extra_dbits, 0, D_CODES, MAX_BITS);
  5833. static_bl_desc = new StaticTreeDesc(new Array(0), extra_blbits, 0, BL_CODES, MAX_BL_BITS);
  5834. //static_init_done = true;
  5835. }
  5836. /* ===========================================================================
  5837. * Initialize a new block.
  5838. */
  5839. function init_block(s) {
  5840. var n; /* iterates over tree elements */
  5841. /* Initialize the trees. */
  5842. for (n = 0; n < L_CODES; n++) { s.dyn_ltree[n * 2]/*.Freq*/ = 0; }
  5843. for (n = 0; n < D_CODES; n++) { s.dyn_dtree[n * 2]/*.Freq*/ = 0; }
  5844. for (n = 0; n < BL_CODES; n++) { s.bl_tree[n * 2]/*.Freq*/ = 0; }
  5845. s.dyn_ltree[END_BLOCK * 2]/*.Freq*/ = 1;
  5846. s.opt_len = s.static_len = 0;
  5847. s.last_lit = s.matches = 0;
  5848. }
  5849. /* ===========================================================================
  5850. * Flush the bit buffer and align the output on a byte boundary
  5851. */
  5852. function bi_windup(s)
  5853. {
  5854. if (s.bi_valid > 8) {
  5855. put_short(s, s.bi_buf);
  5856. } else if (s.bi_valid > 0) {
  5857. //put_byte(s, (Byte)s->bi_buf);
  5858. s.pending_buf[s.pending++] = s.bi_buf;
  5859. }
  5860. s.bi_buf = 0;
  5861. s.bi_valid = 0;
  5862. }
  5863. /* ===========================================================================
  5864. * Copy a stored block, storing first the length and its
  5865. * one's complement if requested.
  5866. */
  5867. function copy_block(s, buf, len, header)
  5868. //DeflateState *s;
  5869. //charf *buf; /* the input data */
  5870. //unsigned len; /* its length */
  5871. //int header; /* true if block header must be written */
  5872. {
  5873. bi_windup(s); /* align on byte boundary */
  5874. if (header) {
  5875. put_short(s, len);
  5876. put_short(s, ~len);
  5877. }
  5878. // while (len--) {
  5879. // put_byte(s, *buf++);
  5880. // }
  5881. utils.arraySet(s.pending_buf, s.window, buf, len, s.pending);
  5882. s.pending += len;
  5883. }
  5884. /* ===========================================================================
  5885. * Compares to subtrees, using the tree depth as tie breaker when
  5886. * the subtrees have equal frequency. This minimizes the worst case length.
  5887. */
  5888. function smaller(tree, n, m, depth) {
  5889. var _n2 = n * 2;
  5890. var _m2 = m * 2;
  5891. return (tree[_n2]/*.Freq*/ < tree[_m2]/*.Freq*/ ||
  5892. (tree[_n2]/*.Freq*/ === tree[_m2]/*.Freq*/ && depth[n] <= depth[m]));
  5893. }
  5894. /* ===========================================================================
  5895. * Restore the heap property by moving down the tree starting at node k,
  5896. * exchanging a node with the smallest of its two sons if necessary, stopping
  5897. * when the heap property is re-established (each father smaller than its
  5898. * two sons).
  5899. */
  5900. function pqdownheap(s, tree, k)
  5901. // deflate_state *s;
  5902. // ct_data *tree; /* the tree to restore */
  5903. // int k; /* node to move down */
  5904. {
  5905. var v = s.heap[k];
  5906. var j = k << 1; /* left son of k */
  5907. while (j <= s.heap_len) {
  5908. /* Set j to the smallest of the two sons: */
  5909. if (j < s.heap_len &&
  5910. smaller(tree, s.heap[j + 1], s.heap[j], s.depth)) {
  5911. j++;
  5912. }
  5913. /* Exit if v is smaller than both sons */
  5914. if (smaller(tree, v, s.heap[j], s.depth)) { break; }
  5915. /* Exchange v with the smallest son */
  5916. s.heap[k] = s.heap[j];
  5917. k = j;
  5918. /* And continue down the tree, setting j to the left son of k */
  5919. j <<= 1;
  5920. }
  5921. s.heap[k] = v;
  5922. }
  5923. // inlined manually
  5924. // var SMALLEST = 1;
  5925. /* ===========================================================================
  5926. * Send the block data compressed using the given Huffman trees
  5927. */
  5928. function compress_block(s, ltree, dtree)
  5929. // deflate_state *s;
  5930. // const ct_data *ltree; /* literal tree */
  5931. // const ct_data *dtree; /* distance tree */
  5932. {
  5933. var dist; /* distance of matched string */
  5934. var lc; /* match length or unmatched char (if dist == 0) */
  5935. var lx = 0; /* running index in l_buf */
  5936. var code; /* the code to send */
  5937. var extra; /* number of extra bits to send */
  5938. if (s.last_lit !== 0) {
  5939. do {
  5940. dist = (s.pending_buf[s.d_buf + lx * 2] << 8) | (s.pending_buf[s.d_buf + lx * 2 + 1]);
  5941. lc = s.pending_buf[s.l_buf + lx];
  5942. lx++;
  5943. if (dist === 0) {
  5944. send_code(s, lc, ltree); /* send a literal byte */
  5945. //Tracecv(isgraph(lc), (stderr," '%c' ", lc));
  5946. } else {
  5947. /* Here, lc is the match length - MIN_MATCH */
  5948. code = _length_code[lc];
  5949. send_code(s, code + LITERALS + 1, ltree); /* send the length code */
  5950. extra = extra_lbits[code];
  5951. if (extra !== 0) {
  5952. lc -= base_length[code];
  5953. send_bits(s, lc, extra); /* send the extra length bits */
  5954. }
  5955. dist--; /* dist is now the match distance - 1 */
  5956. code = d_code(dist);
  5957. //Assert (code < D_CODES, "bad d_code");
  5958. send_code(s, code, dtree); /* send the distance code */
  5959. extra = extra_dbits[code];
  5960. if (extra !== 0) {
  5961. dist -= base_dist[code];
  5962. send_bits(s, dist, extra); /* send the extra distance bits */
  5963. }
  5964. } /* literal or match pair ? */
  5965. /* Check that the overlay between pending_buf and d_buf+l_buf is ok: */
  5966. //Assert((uInt)(s->pending) < s->lit_bufsize + 2*lx,
  5967. // "pendingBuf overflow");
  5968. } while (lx < s.last_lit);
  5969. }
  5970. send_code(s, END_BLOCK, ltree);
  5971. }
  5972. /* ===========================================================================
  5973. * Construct one Huffman tree and assigns the code bit strings and lengths.
  5974. * Update the total bit length for the current block.
  5975. * IN assertion: the field freq is set for all tree elements.
  5976. * OUT assertions: the fields len and code are set to the optimal bit length
  5977. * and corresponding code. The length opt_len is updated; static_len is
  5978. * also updated if stree is not null. The field max_code is set.
  5979. */
  5980. function build_tree(s, desc)
  5981. // deflate_state *s;
  5982. // tree_desc *desc; /* the tree descriptor */
  5983. {
  5984. var tree = desc.dyn_tree;
  5985. var stree = desc.stat_desc.static_tree;
  5986. var has_stree = desc.stat_desc.has_stree;
  5987. var elems = desc.stat_desc.elems;
  5988. var n, m; /* iterate over heap elements */
  5989. var max_code = -1; /* largest code with non zero frequency */
  5990. var node; /* new node being created */
  5991. /* Construct the initial heap, with least frequent element in
  5992. * heap[SMALLEST]. The sons of heap[n] are heap[2*n] and heap[2*n+1].
  5993. * heap[0] is not used.
  5994. */
  5995. s.heap_len = 0;
  5996. s.heap_max = HEAP_SIZE;
  5997. for (n = 0; n < elems; n++) {
  5998. if (tree[n * 2]/*.Freq*/ !== 0) {
  5999. s.heap[++s.heap_len] = max_code = n;
  6000. s.depth[n] = 0;
  6001. } else {
  6002. tree[n * 2 + 1]/*.Len*/ = 0;
  6003. }
  6004. }
  6005. /* The pkzip format requires that at least one distance code exists,
  6006. * and that at least one bit should be sent even if there is only one
  6007. * possible code. So to avoid special checks later on we force at least
  6008. * two codes of non zero frequency.
  6009. */
  6010. while (s.heap_len < 2) {
  6011. node = s.heap[++s.heap_len] = (max_code < 2 ? ++max_code : 0);
  6012. tree[node * 2]/*.Freq*/ = 1;
  6013. s.depth[node] = 0;
  6014. s.opt_len--;
  6015. if (has_stree) {
  6016. s.static_len -= stree[node * 2 + 1]/*.Len*/;
  6017. }
  6018. /* node is 0 or 1 so it does not have extra bits */
  6019. }
  6020. desc.max_code = max_code;
  6021. /* The elements heap[heap_len/2+1 .. heap_len] are leaves of the tree,
  6022. * establish sub-heaps of increasing lengths:
  6023. */
  6024. for (n = (s.heap_len >> 1/*int /2*/); n >= 1; n--) { pqdownheap(s, tree, n); }
  6025. /* Construct the Huffman tree by repeatedly combining the least two
  6026. * frequent nodes.
  6027. */
  6028. node = elems; /* next internal node of the tree */
  6029. do {
  6030. //pqremove(s, tree, n); /* n = node of least frequency */
  6031. /*** pqremove ***/
  6032. n = s.heap[1/*SMALLEST*/];
  6033. s.heap[1/*SMALLEST*/] = s.heap[s.heap_len--];
  6034. pqdownheap(s, tree, 1/*SMALLEST*/);
  6035. /***/
  6036. m = s.heap[1/*SMALLEST*/]; /* m = node of next least frequency */
  6037. s.heap[--s.heap_max] = n; /* keep the nodes sorted by frequency */
  6038. s.heap[--s.heap_max] = m;
  6039. /* Create a new node father of n and m */
  6040. tree[node * 2]/*.Freq*/ = tree[n * 2]/*.Freq*/ + tree[m * 2]/*.Freq*/;
  6041. s.depth[node] = (s.depth[n] >= s.depth[m] ? s.depth[n] : s.depth[m]) + 1;
  6042. tree[n * 2 + 1]/*.Dad*/ = tree[m * 2 + 1]/*.Dad*/ = node;
  6043. /* and insert the new node in the heap */
  6044. s.heap[1/*SMALLEST*/] = node++;
  6045. pqdownheap(s, tree, 1/*SMALLEST*/);
  6046. } while (s.heap_len >= 2);
  6047. s.heap[--s.heap_max] = s.heap[1/*SMALLEST*/];
  6048. /* At this point, the fields freq and dad are set. We can now
  6049. * generate the bit lengths.
  6050. */
  6051. gen_bitlen(s, desc);
  6052. /* The field len is now set, we can generate the bit codes */
  6053. gen_codes(tree, max_code, s.bl_count);
  6054. }
  6055. /* ===========================================================================
  6056. * Scan a literal or distance tree to determine the frequencies of the codes
  6057. * in the bit length tree.
  6058. */
  6059. function scan_tree(s, tree, max_code)
  6060. // deflate_state *s;
  6061. // ct_data *tree; /* the tree to be scanned */
  6062. // int max_code; /* and its largest code of non zero frequency */
  6063. {
  6064. var n; /* iterates over all tree elements */
  6065. var prevlen = -1; /* last emitted length */
  6066. var curlen; /* length of current code */
  6067. var nextlen = tree[0 * 2 + 1]/*.Len*/; /* length of next code */
  6068. var count = 0; /* repeat count of the current code */
  6069. var max_count = 7; /* max repeat count */
  6070. var min_count = 4; /* min repeat count */
  6071. if (nextlen === 0) {
  6072. max_count = 138;
  6073. min_count = 3;
  6074. }
  6075. tree[(max_code + 1) * 2 + 1]/*.Len*/ = 0xffff; /* guard */
  6076. for (n = 0; n <= max_code; n++) {
  6077. curlen = nextlen;
  6078. nextlen = tree[(n + 1) * 2 + 1]/*.Len*/;
  6079. if (++count < max_count && curlen === nextlen) {
  6080. continue;
  6081. } else if (count < min_count) {
  6082. s.bl_tree[curlen * 2]/*.Freq*/ += count;
  6083. } else if (curlen !== 0) {
  6084. if (curlen !== prevlen) { s.bl_tree[curlen * 2]/*.Freq*/++; }
  6085. s.bl_tree[REP_3_6 * 2]/*.Freq*/++;
  6086. } else if (count <= 10) {
  6087. s.bl_tree[REPZ_3_10 * 2]/*.Freq*/++;
  6088. } else {
  6089. s.bl_tree[REPZ_11_138 * 2]/*.Freq*/++;
  6090. }
  6091. count = 0;
  6092. prevlen = curlen;
  6093. if (nextlen === 0) {
  6094. max_count = 138;
  6095. min_count = 3;
  6096. } else if (curlen === nextlen) {
  6097. max_count = 6;
  6098. min_count = 3;
  6099. } else {
  6100. max_count = 7;
  6101. min_count = 4;
  6102. }
  6103. }
  6104. }
  6105. /* ===========================================================================
  6106. * Send a literal or distance tree in compressed form, using the codes in
  6107. * bl_tree.
  6108. */
  6109. function send_tree(s, tree, max_code)
  6110. // deflate_state *s;
  6111. // ct_data *tree; /* the tree to be scanned */
  6112. // int max_code; /* and its largest code of non zero frequency */
  6113. {
  6114. var n; /* iterates over all tree elements */
  6115. var prevlen = -1; /* last emitted length */
  6116. var curlen; /* length of current code */
  6117. var nextlen = tree[0 * 2 + 1]/*.Len*/; /* length of next code */
  6118. var count = 0; /* repeat count of the current code */
  6119. var max_count = 7; /* max repeat count */
  6120. var min_count = 4; /* min repeat count */
  6121. /* tree[max_code+1].Len = -1; */ /* guard already set */
  6122. if (nextlen === 0) {
  6123. max_count = 138;
  6124. min_count = 3;
  6125. }
  6126. for (n = 0; n <= max_code; n++) {
  6127. curlen = nextlen;
  6128. nextlen = tree[(n + 1) * 2 + 1]/*.Len*/;
  6129. if (++count < max_count && curlen === nextlen) {
  6130. continue;
  6131. } else if (count < min_count) {
  6132. do { send_code(s, curlen, s.bl_tree); } while (--count !== 0);
  6133. } else if (curlen !== 0) {
  6134. if (curlen !== prevlen) {
  6135. send_code(s, curlen, s.bl_tree);
  6136. count--;
  6137. }
  6138. //Assert(count >= 3 && count <= 6, " 3_6?");
  6139. send_code(s, REP_3_6, s.bl_tree);
  6140. send_bits(s, count - 3, 2);
  6141. } else if (count <= 10) {
  6142. send_code(s, REPZ_3_10, s.bl_tree);
  6143. send_bits(s, count - 3, 3);
  6144. } else {
  6145. send_code(s, REPZ_11_138, s.bl_tree);
  6146. send_bits(s, count - 11, 7);
  6147. }
  6148. count = 0;
  6149. prevlen = curlen;
  6150. if (nextlen === 0) {
  6151. max_count = 138;
  6152. min_count = 3;
  6153. } else if (curlen === nextlen) {
  6154. max_count = 6;
  6155. min_count = 3;
  6156. } else {
  6157. max_count = 7;
  6158. min_count = 4;
  6159. }
  6160. }
  6161. }
  6162. /* ===========================================================================
  6163. * Construct the Huffman tree for the bit lengths and return the index in
  6164. * bl_order of the last bit length code to send.
  6165. */
  6166. function build_bl_tree(s) {
  6167. var max_blindex; /* index of last bit length code of non zero freq */
  6168. /* Determine the bit length frequencies for literal and distance trees */
  6169. scan_tree(s, s.dyn_ltree, s.l_desc.max_code);
  6170. scan_tree(s, s.dyn_dtree, s.d_desc.max_code);
  6171. /* Build the bit length tree: */
  6172. build_tree(s, s.bl_desc);
  6173. /* opt_len now includes the length of the tree representations, except
  6174. * the lengths of the bit lengths codes and the 5+5+4 bits for the counts.
  6175. */
  6176. /* Determine the number of bit length codes to send. The pkzip format
  6177. * requires that at least 4 bit length codes be sent. (appnote.txt says
  6178. * 3 but the actual value used is 4.)
  6179. */
  6180. for (max_blindex = BL_CODES - 1; max_blindex >= 3; max_blindex--) {
  6181. if (s.bl_tree[bl_order[max_blindex] * 2 + 1]/*.Len*/ !== 0) {
  6182. break;
  6183. }
  6184. }
  6185. /* Update opt_len to include the bit length tree and counts */
  6186. s.opt_len += 3 * (max_blindex + 1) + 5 + 5 + 4;
  6187. //Tracev((stderr, "\ndyn trees: dyn %ld, stat %ld",
  6188. // s->opt_len, s->static_len));
  6189. return max_blindex;
  6190. }
  6191. /* ===========================================================================
  6192. * Send the header for a block using dynamic Huffman trees: the counts, the
  6193. * lengths of the bit length codes, the literal tree and the distance tree.
  6194. * IN assertion: lcodes >= 257, dcodes >= 1, blcodes >= 4.
  6195. */
  6196. function send_all_trees(s, lcodes, dcodes, blcodes)
  6197. // deflate_state *s;
  6198. // int lcodes, dcodes, blcodes; /* number of codes for each tree */
  6199. {
  6200. var rank; /* index in bl_order */
  6201. //Assert (lcodes >= 257 && dcodes >= 1 && blcodes >= 4, "not enough codes");
  6202. //Assert (lcodes <= L_CODES && dcodes <= D_CODES && blcodes <= BL_CODES,
  6203. // "too many codes");
  6204. //Tracev((stderr, "\nbl counts: "));
  6205. send_bits(s, lcodes - 257, 5); /* not +255 as stated in appnote.txt */
  6206. send_bits(s, dcodes - 1, 5);
  6207. send_bits(s, blcodes - 4, 4); /* not -3 as stated in appnote.txt */
  6208. for (rank = 0; rank < blcodes; rank++) {
  6209. //Tracev((stderr, "\nbl code %2d ", bl_order[rank]));
  6210. send_bits(s, s.bl_tree[bl_order[rank] * 2 + 1]/*.Len*/, 3);
  6211. }
  6212. //Tracev((stderr, "\nbl tree: sent %ld", s->bits_sent));
  6213. send_tree(s, s.dyn_ltree, lcodes - 1); /* literal tree */
  6214. //Tracev((stderr, "\nlit tree: sent %ld", s->bits_sent));
  6215. send_tree(s, s.dyn_dtree, dcodes - 1); /* distance tree */
  6216. //Tracev((stderr, "\ndist tree: sent %ld", s->bits_sent));
  6217. }
  6218. /* ===========================================================================
  6219. * Check if the data type is TEXT or BINARY, using the following algorithm:
  6220. * - TEXT if the two conditions below are satisfied:
  6221. * a) There are no non-portable control characters belonging to the
  6222. * "black list" (0..6, 14..25, 28..31).
  6223. * b) There is at least one printable character belonging to the
  6224. * "white list" (9 {TAB}, 10 {LF}, 13 {CR}, 32..255).
  6225. * - BINARY otherwise.
  6226. * - The following partially-portable control characters form a
  6227. * "gray list" that is ignored in this detection algorithm:
  6228. * (7 {BEL}, 8 {BS}, 11 {VT}, 12 {FF}, 26 {SUB}, 27 {ESC}).
  6229. * IN assertion: the fields Freq of dyn_ltree are set.
  6230. */
  6231. function detect_data_type(s) {
  6232. /* black_mask is the bit mask of black-listed bytes
  6233. * set bits 0..6, 14..25, and 28..31
  6234. * 0xf3ffc07f = binary 11110011111111111100000001111111
  6235. */
  6236. var black_mask = 0xf3ffc07f;
  6237. var n;
  6238. /* Check for non-textual ("black-listed") bytes. */
  6239. for (n = 0; n <= 31; n++, black_mask >>>= 1) {
  6240. if ((black_mask & 1) && (s.dyn_ltree[n * 2]/*.Freq*/ !== 0)) {
  6241. return Z_BINARY;
  6242. }
  6243. }
  6244. /* Check for textual ("white-listed") bytes. */
  6245. if (s.dyn_ltree[9 * 2]/*.Freq*/ !== 0 || s.dyn_ltree[10 * 2]/*.Freq*/ !== 0 ||
  6246. s.dyn_ltree[13 * 2]/*.Freq*/ !== 0) {
  6247. return Z_TEXT;
  6248. }
  6249. for (n = 32; n < LITERALS; n++) {
  6250. if (s.dyn_ltree[n * 2]/*.Freq*/ !== 0) {
  6251. return Z_TEXT;
  6252. }
  6253. }
  6254. /* There are no "black-listed" or "white-listed" bytes:
  6255. * this stream either is empty or has tolerated ("gray-listed") bytes only.
  6256. */
  6257. return Z_BINARY;
  6258. }
  6259. var static_init_done = false;
  6260. /* ===========================================================================
  6261. * Initialize the tree data structures for a new zlib stream.
  6262. */
  6263. function _tr_init(s)
  6264. {
  6265. if (!static_init_done) {
  6266. tr_static_init();
  6267. static_init_done = true;
  6268. }
  6269. s.l_desc = new TreeDesc(s.dyn_ltree, static_l_desc);
  6270. s.d_desc = new TreeDesc(s.dyn_dtree, static_d_desc);
  6271. s.bl_desc = new TreeDesc(s.bl_tree, static_bl_desc);
  6272. s.bi_buf = 0;
  6273. s.bi_valid = 0;
  6274. /* Initialize the first block of the first file: */
  6275. init_block(s);
  6276. }
  6277. /* ===========================================================================
  6278. * Send a stored block
  6279. */
  6280. function _tr_stored_block(s, buf, stored_len, last)
  6281. //DeflateState *s;
  6282. //charf *buf; /* input block */
  6283. //ulg stored_len; /* length of input block */
  6284. //int last; /* one if this is the last block for a file */
  6285. {
  6286. send_bits(s, (STORED_BLOCK << 1) + (last ? 1 : 0), 3); /* send block type */
  6287. copy_block(s, buf, stored_len, true); /* with header */
  6288. }
  6289. /* ===========================================================================
  6290. * Send one empty static block to give enough lookahead for inflate.
  6291. * This takes 10 bits, of which 7 may remain in the bit buffer.
  6292. */
  6293. function _tr_align(s) {
  6294. send_bits(s, STATIC_TREES << 1, 3);
  6295. send_code(s, END_BLOCK, static_ltree);
  6296. bi_flush(s);
  6297. }
  6298. /* ===========================================================================
  6299. * Determine the best encoding for the current block: dynamic trees, static
  6300. * trees or store, and output the encoded block to the zip file.
  6301. */
  6302. function _tr_flush_block(s, buf, stored_len, last)
  6303. //DeflateState *s;
  6304. //charf *buf; /* input block, or NULL if too old */
  6305. //ulg stored_len; /* length of input block */
  6306. //int last; /* one if this is the last block for a file */
  6307. {
  6308. var opt_lenb, static_lenb; /* opt_len and static_len in bytes */
  6309. var max_blindex = 0; /* index of last bit length code of non zero freq */
  6310. /* Build the Huffman trees unless a stored block is forced */
  6311. if (s.level > 0) {
  6312. /* Check if the file is binary or text */
  6313. if (s.strm.data_type === Z_UNKNOWN) {
  6314. s.strm.data_type = detect_data_type(s);
  6315. }
  6316. /* Construct the literal and distance trees */
  6317. build_tree(s, s.l_desc);
  6318. // Tracev((stderr, "\nlit data: dyn %ld, stat %ld", s->opt_len,
  6319. // s->static_len));
  6320. build_tree(s, s.d_desc);
  6321. // Tracev((stderr, "\ndist data: dyn %ld, stat %ld", s->opt_len,
  6322. // s->static_len));
  6323. /* At this point, opt_len and static_len are the total bit lengths of
  6324. * the compressed block data, excluding the tree representations.
  6325. */
  6326. /* Build the bit length tree for the above two trees, and get the index
  6327. * in bl_order of the last bit length code to send.
  6328. */
  6329. max_blindex = build_bl_tree(s);
  6330. /* Determine the best encoding. Compute the block lengths in bytes. */
  6331. opt_lenb = (s.opt_len + 3 + 7) >>> 3;
  6332. static_lenb = (s.static_len + 3 + 7) >>> 3;
  6333. // Tracev((stderr, "\nopt %lu(%lu) stat %lu(%lu) stored %lu lit %u ",
  6334. // opt_lenb, s->opt_len, static_lenb, s->static_len, stored_len,
  6335. // s->last_lit));
  6336. if (static_lenb <= opt_lenb) { opt_lenb = static_lenb; }
  6337. } else {
  6338. // Assert(buf != (char*)0, "lost buf");
  6339. opt_lenb = static_lenb = stored_len + 5; /* force a stored block */
  6340. }
  6341. if ((stored_len + 4 <= opt_lenb) && (buf !== -1)) {
  6342. /* 4: two words for the lengths */
  6343. /* The test buf != NULL is only necessary if LIT_BUFSIZE > WSIZE.
  6344. * Otherwise we can't have processed more than WSIZE input bytes since
  6345. * the last block flush, because compression would have been
  6346. * successful. If LIT_BUFSIZE <= WSIZE, it is never too late to
  6347. * transform a block into a stored block.
  6348. */
  6349. _tr_stored_block(s, buf, stored_len, last);
  6350. } else if (s.strategy === Z_FIXED || static_lenb === opt_lenb) {
  6351. send_bits(s, (STATIC_TREES << 1) + (last ? 1 : 0), 3);
  6352. compress_block(s, static_ltree, static_dtree);
  6353. } else {
  6354. send_bits(s, (DYN_TREES << 1) + (last ? 1 : 0), 3);
  6355. send_all_trees(s, s.l_desc.max_code + 1, s.d_desc.max_code + 1, max_blindex + 1);
  6356. compress_block(s, s.dyn_ltree, s.dyn_dtree);
  6357. }
  6358. // Assert (s->compressed_len == s->bits_sent, "bad compressed size");
  6359. /* The above check is made mod 2^32, for files larger than 512 MB
  6360. * and uLong implemented on 32 bits.
  6361. */
  6362. init_block(s);
  6363. if (last) {
  6364. bi_windup(s);
  6365. }
  6366. // Tracev((stderr,"\ncomprlen %lu(%lu) ", s->compressed_len>>3,
  6367. // s->compressed_len-7*last));
  6368. }
  6369. /* ===========================================================================
  6370. * Save the match info and tally the frequency counts. Return true if
  6371. * the current block must be flushed.
  6372. */
  6373. function _tr_tally(s, dist, lc)
  6374. // deflate_state *s;
  6375. // unsigned dist; /* distance of matched string */
  6376. // unsigned lc; /* match length-MIN_MATCH or unmatched char (if dist==0) */
  6377. {
  6378. //var out_length, in_length, dcode;
  6379. s.pending_buf[s.d_buf + s.last_lit * 2] = (dist >>> 8) & 0xff;
  6380. s.pending_buf[s.d_buf + s.last_lit * 2 + 1] = dist & 0xff;
  6381. s.pending_buf[s.l_buf + s.last_lit] = lc & 0xff;
  6382. s.last_lit++;
  6383. if (dist === 0) {
  6384. /* lc is the unmatched char */
  6385. s.dyn_ltree[lc * 2]/*.Freq*/++;
  6386. } else {
  6387. s.matches++;
  6388. /* Here, lc is the match length - MIN_MATCH */
  6389. dist--; /* dist = match distance - 1 */
  6390. //Assert((ush)dist < (ush)MAX_DIST(s) &&
  6391. // (ush)lc <= (ush)(MAX_MATCH-MIN_MATCH) &&
  6392. // (ush)d_code(dist) < (ush)D_CODES, "_tr_tally: bad match");
  6393. s.dyn_ltree[(_length_code[lc] + LITERALS + 1) * 2]/*.Freq*/++;
  6394. s.dyn_dtree[d_code(dist) * 2]/*.Freq*/++;
  6395. }
  6396. // (!) This block is disabled in zlib defaults,
  6397. // don't enable it for binary compatibility
  6398. //#ifdef TRUNCATE_BLOCK
  6399. // /* Try to guess if it is profitable to stop the current block here */
  6400. // if ((s.last_lit & 0x1fff) === 0 && s.level > 2) {
  6401. // /* Compute an upper bound for the compressed length */
  6402. // out_length = s.last_lit*8;
  6403. // in_length = s.strstart - s.block_start;
  6404. //
  6405. // for (dcode = 0; dcode < D_CODES; dcode++) {
  6406. // out_length += s.dyn_dtree[dcode*2]/*.Freq*/ * (5 + extra_dbits[dcode]);
  6407. // }
  6408. // out_length >>>= 3;
  6409. // //Tracev((stderr,"\nlast_lit %u, in %ld, out ~%ld(%ld%%) ",
  6410. // // s->last_lit, in_length, out_length,
  6411. // // 100L - out_length*100L/in_length));
  6412. // if (s.matches < (s.last_lit>>1)/*int /2*/ && out_length < (in_length>>1)/*int /2*/) {
  6413. // return true;
  6414. // }
  6415. // }
  6416. //#endif
  6417. return (s.last_lit === s.lit_bufsize - 1);
  6418. /* We avoid equality with lit_bufsize because of wraparound at 64K
  6419. * on 16 bit machines and because stored blocks are restricted to
  6420. * 64K-1 bytes.
  6421. */
  6422. }
  6423. exports._tr_init = _tr_init;
  6424. exports._tr_stored_block = _tr_stored_block;
  6425. exports._tr_flush_block = _tr_flush_block;
  6426. exports._tr_tally = _tr_tally;
  6427. exports._tr_align = _tr_align;
  6428. },{"../utils/common":3}],15:[function(require,module,exports){
  6429. 'use strict';
  6430. // (C) 1995-2013 Jean-loup Gailly and Mark Adler
  6431. // (C) 2014-2017 Vitaly Puzrin and Andrey Tupitsin
  6432. //
  6433. // This software is provided 'as-is', without any express or implied
  6434. // warranty. In no event will the authors be held liable for any damages
  6435. // arising from the use of this software.
  6436. //
  6437. // Permission is granted to anyone to use this software for any purpose,
  6438. // including commercial applications, and to alter it and redistribute it
  6439. // freely, subject to the following restrictions:
  6440. //
  6441. // 1. The origin of this software must not be misrepresented; you must not
  6442. // claim that you wrote the original software. If you use this software
  6443. // in a product, an acknowledgment in the product documentation would be
  6444. // appreciated but is not required.
  6445. // 2. Altered source versions must be plainly marked as such, and must not be
  6446. // misrepresented as being the original software.
  6447. // 3. This notice may not be removed or altered from any source distribution.
  6448. function ZStream() {
  6449. /* next input byte */
  6450. this.input = null; // JS specific, because we have no pointers
  6451. this.next_in = 0;
  6452. /* number of bytes available at input */
  6453. this.avail_in = 0;
  6454. /* total number of input bytes read so far */
  6455. this.total_in = 0;
  6456. /* next output byte should be put there */
  6457. this.output = null; // JS specific, because we have no pointers
  6458. this.next_out = 0;
  6459. /* remaining free space at output */
  6460. this.avail_out = 0;
  6461. /* total number of bytes output so far */
  6462. this.total_out = 0;
  6463. /* last error message, NULL if no error */
  6464. this.msg = ''/*Z_NULL*/;
  6465. /* not visible by applications */
  6466. this.state = null;
  6467. /* best guess about the data type: binary or text */
  6468. this.data_type = 2/*Z_UNKNOWN*/;
  6469. /* adler32 value of the uncompressed data */
  6470. this.adler = 0;
  6471. }
  6472. module.exports = ZStream;
  6473. },{}],"/":[function(require,module,exports){
  6474. // Top level file is just a mixin of submodules & constants
  6475. 'use strict';
  6476. var assign = require('./lib/utils/common').assign;
  6477. var deflate = require('./lib/deflate');
  6478. var inflate = require('./lib/inflate');
  6479. var constants = require('./lib/zlib/constants');
  6480. var pako = {};
  6481. assign(pako, deflate, inflate, constants);
  6482. module.exports = pako;
  6483. },{"./lib/deflate":1,"./lib/inflate":2,"./lib/utils/common":3,"./lib/zlib/constants":6}]},{},[])("/")
  6484. });
  6485. // SRC: https://developer.mozilla.org/ru/docs/Web/API/WindowBase64/Base64_encoding_and_decoding
  6486. function base64Encode(str)
  6487. {
  6488. var bytes = new (TextEncoder || TextEncoderLite)("utf-8").encode(str);
  6489. return base64js.fromByteArray(bytes);
  6490. }
  6491. function base64Decode(str)
  6492. {
  6493. var bytes = base64js.toByteArray(str);
  6494. return new (TextDecoder || TextDecoderLite)("utf-8").decode(bytes);
  6495. }
  6496. function zipBase64Encode(input)
  6497. {
  6498. var bytes = new (TextEncoder || TextEncoderLite)("utf-8").encode(input);
  6499. var zipValue = window.pako.deflate(bytes, {to: 'string'});
  6500. return base64Encode(zipValue);
  6501. }
  6502. function zipBase64Decode(input)
  6503. {
  6504. var zipValue = base64Decode(input);
  6505. var bytes = window.pako.inflate(zipValue)
  6506. return new (TextDecoder || TextDecoderLite)("utf-8").decode(bytes);
  6507. }
  6508. </script>
  6509. <!-- Emscripten -->
  6510. <script type="text/javascript">
  6511. if (window.muromTool.mode != "editor")
  6512. {
  6513. var Module = {
  6514. preRun: [],
  6515. postRun: [],
  6516. print: (function() {
  6517. var element = document.getElementById('output');
  6518. return function(text) {
  6519. if (element)
  6520. {
  6521. element.value += text + "\n";
  6522. // Scroll to the bottom.
  6523. element.scrollTop = element.scrollHeight;
  6524. }
  6525. };
  6526. })(),
  6527. printErr: function(text) {
  6528. console.error(text);
  6529. },
  6530. canvas: (function() {
  6531. var canvas = document.getElementById('canvas');
  6532. // As a default initial behavior, pop up an alert when webgl context is lost. To make your
  6533. // application robust, you may want to override this behavior before shipping!
  6534. // See http://www.khronos.org/registry/webgl/specs/latest/1.0/#5.15.2
  6535. canvas.addEventListener(
  6536. "webglcontextlost",
  6537. function(e) {
  6538. alert('WebGL context has been lost. Please, reload the page.');
  6539. e.preventDefault();
  6540. },
  6541. false
  6542. );
  6543. return canvas;
  6544. })(),
  6545. setStatus: function(text) {
  6546. Module.print("STATUS: '" + text + "'");
  6547. },
  6548. totalDependencies: 0,
  6549. monitorRunDependencies: function(left) {
  6550. this.totalDependencies = Math.max(this.totalDependencies, left);
  6551. Module.setStatus(left ? 'Preparing... (' + (this.totalDependencies-left) + '/' + this.totalDependencies + ')' : 'All downloads complete.');
  6552. }
  6553. };
  6554. Module.setStatus('Downloading...');
  6555. window.onerror = function(event) {
  6556. Module.setStatus('Exception thrown, see JavaScript console');
  6557. };
  6558. }
  6559. </script>
  6560. <!-- Motor -->
  6561. <script type="text/javascript">
  6562. if (window.muromTool.mode != "editor")
  6563. {
  6564. var Module=typeof Module!=="undefined"?Module:{};var moduleOverrides={};var key;for(key in Module){if(Module.hasOwnProperty(key)){moduleOverrides[key]=Module[key]}}Module["arguments"]=[];Module["thisProgram"]="./this.program";Module["quit"]=(function(status,toThrow){throw toThrow});Module["preRun"]=[];Module["postRun"]=[];var ENVIRONMENT_IS_WEB=false;var ENVIRONMENT_IS_WORKER=false;var ENVIRONMENT_IS_NODE=false;var ENVIRONMENT_IS_SHELL=false;ENVIRONMENT_IS_WEB=typeof window==="object";ENVIRONMENT_IS_WORKER=typeof importScripts==="function";ENVIRONMENT_IS_NODE=typeof process==="object"&&typeof require==="function"&&!ENVIRONMENT_IS_WEB&&!ENVIRONMENT_IS_WORKER;ENVIRONMENT_IS_SHELL=!ENVIRONMENT_IS_WEB&&!ENVIRONMENT_IS_NODE&&!ENVIRONMENT_IS_WORKER;var scriptDirectory="";function locateFile(path){if(Module["locateFile"]){return Module["locateFile"](path,scriptDirectory)}else{return scriptDirectory+path}}if(ENVIRONMENT_IS_NODE){scriptDirectory=__dirname+"/";var nodeFS;var nodePath;Module["read"]=function shell_read(filename,binary){var ret;ret=tryParseAsDataURI(filename);if(!ret){if(!nodeFS)nodeFS=require("fs");if(!nodePath)nodePath=require("path");filename=nodePath["normalize"](filename);ret=nodeFS["readFileSync"](filename)}return binary?ret:ret.toString()};Module["readBinary"]=function readBinary(filename){var ret=Module["read"](filename,true);if(!ret.buffer){ret=new Uint8Array(ret)}assert(ret.buffer);return ret};if(process["argv"].length>1){Module["thisProgram"]=process["argv"][1].replace(/\\/g,"/")}Module["arguments"]=process["argv"].slice(2);if(typeof module!=="undefined"){module["exports"]=Module}process["on"]("uncaughtException",(function(ex){if(!(ex instanceof ExitStatus)){throw ex}}));process["on"]("unhandledRejection",(function(reason,p){process["exit"](1)}));Module["quit"]=(function(status){process["exit"](status)});Module["inspect"]=(function(){return"[Emscripten Module object]"})}else if(ENVIRONMENT_IS_SHELL){if(typeof read!="undefined"){Module["read"]=function shell_read(f){var data=tryParseAsDataURI(f);if(data){return intArrayToString(data)}return read(f)}}Module["readBinary"]=function readBinary(f){var data;data=tryParseAsDataURI(f);if(data){return data}if(typeof readbuffer==="function"){return new Uint8Array(readbuffer(f))}data=read(f,"binary");assert(typeof data==="object");return data};if(typeof scriptArgs!="undefined"){Module["arguments"]=scriptArgs}else if(typeof arguments!="undefined"){Module["arguments"]=arguments}if(typeof quit==="function"){Module["quit"]=(function(status){quit(status)})}}else if(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER){if(ENVIRONMENT_IS_WEB){var currentScript=document.currentScript;if(currentScript.src.indexOf("blob:")!==0){scriptDirectory=currentScript.src.split("/").slice(0,-1).join("/")+"/"}}else if(ENVIRONMENT_IS_WORKER){scriptDirectory=self.location.href.split("/").slice(0,-1).join("/")+"/"}Module["read"]=function shell_read(url){try{var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.send(null);return xhr.responseText}catch(err){var data=tryParseAsDataURI(url);if(data){return intArrayToString(data)}throw err}};if(ENVIRONMENT_IS_WORKER){Module["readBinary"]=function readBinary(url){try{var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.responseType="arraybuffer";xhr.send(null);return new Uint8Array(xhr.response)}catch(err){var data=tryParseAsDataURI(url);if(data){return data}throw err}}}Module["readAsync"]=function readAsync(url,onload,onerror){var xhr=new XMLHttpRequest;xhr.open("GET",url,true);xhr.responseType="arraybuffer";xhr.onload=function xhr_onload(){if(xhr.status==200||xhr.status==0&&xhr.response){onload(xhr.response);return}var data=tryParseAsDataURI(url);if(data){onload(data.buffer);return}onerror()};xhr.onerror=onerror;xhr.send(null)};Module["setWindowTitle"]=(function(title){document.title=title})}else{}var out=Module["print"]||(typeof console!=="undefined"?console.log.bind(console):typeof print!=="undefined"?print:null);var err=Module["printErr"]||(typeof printErr!=="undefined"?printErr:typeof console!=="undefined"&&console.warn.bind(console)||out);for(key in moduleOverrides){if(moduleOverrides.hasOwnProperty(key)){Module[key]=moduleOverrides[key]}}moduleOverrides=undefined;var STACK_ALIGN=16;function staticAlloc(size){var ret=STATICTOP;STATICTOP=STATICTOP+size+15&-16;return ret}function dynamicAlloc(size){var ret=HEAP32[DYNAMICTOP_PTR>>2];var end=ret+size+15&-16;HEAP32[DYNAMICTOP_PTR>>2]=end;if(end>=TOTAL_MEMORY){var success=enlargeMemory();if(!success){HEAP32[DYNAMICTOP_PTR>>2]=ret;return 0}}return ret}function alignMemory(size,factor){if(!factor)factor=STACK_ALIGN;var ret=size=Math.ceil(size/factor)*factor;return ret}function getNativeTypeSize(type){switch(type){case"i1":case"i8":return 1;case"i16":return 2;case"i32":return 4;case"i64":return 8;case"float":return 4;case"double":return 8;default:{if(type[type.length-1]==="*"){return 4}else if(type[0]==="i"){var bits=parseInt(type.substr(1));assert(bits%8===0);return bits/8}else{return 0}}}}function warnOnce(text){if(!warnOnce.shown)warnOnce.shown={};if(!warnOnce.shown[text]){warnOnce.shown[text]=1;err(text)}}var jsCallStartIndex=1;var functionPointers=new Array(0);function addFunction(func,sig){var base=0;for(var i=base;i<base+0;i++){if(!functionPointers[i]){functionPointers[i]=func;return jsCallStartIndex+i}}throw"Finished up all reserved function pointers. Use a higher value for RESERVED_FUNCTION_POINTERS."}var funcWrappers={};function dynCall(sig,ptr,args){if(args&&args.length){return Module["dynCall_"+sig].apply(null,[ptr].concat(args))}else{return Module["dynCall_"+sig].call(null,ptr)}}var Runtime={dynCall:dynCall};var GLOBAL_BASE=8;var ABORT=0;var EXITSTATUS=0;function assert(condition,text){if(!condition){abort("Assertion failed: "+text)}}function getCFunc(ident){var func=Module["_"+ident];assert(func,"Cannot call unknown function "+ident+", make sure it is exported");return func}var JSfuncs={"stackSave":(function(){stackSave()}),"stackRestore":(function(){stackRestore()}),"arrayToC":(function(arr){var ret=stackAlloc(arr.length);writeArrayToMemory(arr,ret);return ret}),"stringToC":(function(str){var ret=0;if(str!==null&&str!==undefined&&str!==0){var len=(str.length<<2)+1;ret=stackAlloc(len);stringToUTF8(str,ret,len)}return ret})};var toC={"string":JSfuncs["stringToC"],"array":JSfuncs["arrayToC"]};function ccall(ident,returnType,argTypes,args,opts){function convertReturnValue(ret){if(returnType==="string")return Pointer_stringify(ret);if(returnType==="boolean")return Boolean(ret);return ret}var func=getCFunc(ident);var cArgs=[];var stack=0;if(args){for(var i=0;i<args.length;i++){var converter=toC[argTypes[i]];if(converter){if(stack===0)stack=stackSave();cArgs[i]=converter(args[i])}else{cArgs[i]=args[i]}}}var ret=func.apply(null,cArgs);ret=convertReturnValue(ret);if(stack!==0)stackRestore(stack);return ret}function setValue(ptr,value,type,noSafe){type=type||"i8";if(type.charAt(type.length-1)==="*")type="i32";switch(type){case"i1":HEAP8[ptr>>0]=value;break;case"i8":HEAP8[ptr>>0]=value;break;case"i16":HEAP16[ptr>>1]=value;break;case"i32":HEAP32[ptr>>2]=value;break;case"i64":tempI64=[value>>>0,(tempDouble=value,+Math_abs(tempDouble)>=+1?tempDouble>+0?(Math_min(+Math_floor(tempDouble/+4294967296),+4294967295)|0)>>>0:~~+Math_ceil((tempDouble- +(~~tempDouble>>>0))/+4294967296)>>>0:0)],HEAP32[ptr>>2]=tempI64[0],HEAP32[ptr+4>>2]=tempI64[1];break;case"float":HEAPF32[ptr>>2]=value;break;case"double":HEAPF64[ptr>>3]=value;break;default:abort("invalid type for setValue: "+type)}}var ALLOC_NORMAL=0;var ALLOC_STATIC=2;var ALLOC_NONE=4;function allocate(slab,types,allocator,ptr){var zeroinit,size;if(typeof slab==="number"){zeroinit=true;size=slab}else{zeroinit=false;size=slab.length}var singleType=typeof types==="string"?types:null;var ret;if(allocator==ALLOC_NONE){ret=ptr}else{ret=[typeof _malloc==="function"?_malloc:staticAlloc,stackAlloc,staticAlloc,dynamicAlloc][allocator===undefined?ALLOC_STATIC:allocator](Math.max(size,singleType?1:types.length))}if(zeroinit){var stop;ptr=ret;assert((ret&3)==0);stop=ret+(size&~3);for(;ptr<stop;ptr+=4){HEAP32[ptr>>2]=0}stop=ret+size;while(ptr<stop){HEAP8[ptr++>>0]=0}return ret}if(singleType==="i8"){if(slab.subarray||slab.slice){HEAPU8.set(slab,ret)}else{HEAPU8.set(new Uint8Array(slab),ret)}return ret}var i=0,type,typeSize,previousType;while(i<size){var curr=slab[i];type=singleType||types[i];if(type===0){i++;continue}if(type=="i64")type="i32";setValue(ret+i,curr,type);if(previousType!==type){typeSize=getNativeTypeSize(type);previousType=type}i+=typeSize}return ret}function getMemory(size){if(!staticSealed)return staticAlloc(size);if(!runtimeInitialized)return dynamicAlloc(size);return _malloc(size)}function Pointer_stringify(ptr,length){if(length===0||!ptr)return"";var hasUtf=0;var t;var i=0;while(1){t=HEAPU8[ptr+i>>0];hasUtf|=t;if(t==0&&!length)break;i++;if(length&&i==length)break}if(!length)length=i;var ret="";if(hasUtf<128){var MAX_CHUNK=1024;var curr;while(length>0){curr=String.fromCharCode.apply(String,HEAPU8.subarray(ptr,ptr+Math.min(length,MAX_CHUNK)));ret=ret?ret+curr:curr;ptr+=MAX_CHUNK;length-=MAX_CHUNK}return ret}return UTF8ToString(ptr)}var UTF8Decoder=typeof TextDecoder!=="undefined"?new TextDecoder("utf8"):undefined;function UTF8ArrayToString(u8Array,idx){var endPtr=idx;while(u8Array[endPtr])++endPtr;if(endPtr-idx>16&&u8Array.subarray&&UTF8Decoder){return UTF8Decoder.decode(u8Array.subarray(idx,endPtr))}else{var u0,u1,u2,u3,u4,u5;var str="";while(1){u0=u8Array[idx++];if(!u0)return str;if(!(u0&128)){str+=String.fromCharCode(u0);continue}u1=u8Array[idx++]&63;if((u0&224)==192){str+=String.fromCharCode((u0&31)<<6|u1);continue}u2=u8Array[idx++]&63;if((u0&240)==224){u0=(u0&15)<<12|u1<<6|u2}else{u3=u8Array[idx++]&63;if((u0&248)==240){u0=(u0&7)<<18|u1<<12|u2<<6|u3}else{u4=u8Array[idx++]&63;if((u0&252)==248){u0=(u0&3)<<24|u1<<18|u2<<12|u3<<6|u4}else{u5=u8Array[idx++]&63;u0=(u0&1)<<30|u1<<24|u2<<18|u3<<12|u4<<6|u5}}}if(u0<65536){str+=String.fromCharCode(u0)}else{var ch=u0-65536;str+=String.fromCharCode(55296|ch>>10,56320|ch&1023)}}}}function UTF8ToString(ptr){return UTF8ArrayToString(HEAPU8,ptr)}function stringToUTF8Array(str,outU8Array,outIdx,maxBytesToWrite){if(!(maxBytesToWrite>0))return 0;var startIdx=outIdx;var endIdx=outIdx+maxBytesToWrite-1;for(var i=0;i<str.length;++i){var u=str.charCodeAt(i);if(u>=55296&&u<=57343)u=65536+((u&1023)<<10)|str.charCodeAt(++i)&1023;if(u<=127){if(outIdx>=endIdx)break;outU8Array[outIdx++]=u}else if(u<=2047){if(outIdx+1>=endIdx)break;outU8Array[outIdx++]=192|u>>6;outU8Array[outIdx++]=128|u&63}else if(u<=65535){if(outIdx+2>=endIdx)break;outU8Array[outIdx++]=224|u>>12;outU8Array[outIdx++]=128|u>>6&63;outU8Array[outIdx++]=128|u&63}else if(u<=2097151){if(outIdx+3>=endIdx)break;outU8Array[outIdx++]=240|u>>18;outU8Array[outIdx++]=128|u>>12&63;outU8Array[outIdx++]=128|u>>6&63;outU8Array[outIdx++]=128|u&63}else if(u<=67108863){if(outIdx+4>=endIdx)break;outU8Array[outIdx++]=248|u>>24;outU8Array[outIdx++]=128|u>>18&63;outU8Array[outIdx++]=128|u>>12&63;outU8Array[outIdx++]=128|u>>6&63;outU8Array[outIdx++]=128|u&63}else{if(outIdx+5>=endIdx)break;outU8Array[outIdx++]=252|u>>30;outU8Array[outIdx++]=128|u>>24&63;outU8Array[outIdx++]=128|u>>18&63;outU8Array[outIdx++]=128|u>>12&63;outU8Array[outIdx++]=128|u>>6&63;outU8Array[outIdx++]=128|u&63}}outU8Array[outIdx]=0;return outIdx-startIdx}function stringToUTF8(str,outPtr,maxBytesToWrite){return stringToUTF8Array(str,HEAPU8,outPtr,maxBytesToWrite)}function lengthBytesUTF8(str){var len=0;for(var i=0;i<str.length;++i){var u=str.charCodeAt(i);if(u>=55296&&u<=57343)u=65536+((u&1023)<<10)|str.charCodeAt(++i)&1023;if(u<=127){++len}else if(u<=2047){len+=2}else if(u<=65535){len+=3}else if(u<=2097151){len+=4}else if(u<=67108863){len+=5}else{len+=6}}return len}var UTF16Decoder=typeof TextDecoder!=="undefined"?new TextDecoder("utf-16le"):undefined;function allocateUTF8(str){var size=lengthBytesUTF8(str)+1;var ret=_malloc(size);if(ret)stringToUTF8Array(str,HEAP8,ret,size);return ret}function allocateUTF8OnStack(str){var size=lengthBytesUTF8(str)+1;var ret=stackAlloc(size);stringToUTF8Array(str,HEAP8,ret,size);return ret}function demangle(func){return func}function demangleAll(text){var regex=/__Z[\w\d_]+/g;return text.replace(regex,(function(x){var y=demangle(x);return x===y?x:x+" ["+y+"]"}))}function jsStackTrace(){var err=new Error;if(!err.stack){try{throw new Error(0)}catch(e){err=e}if(!err.stack){return"(no stack trace available)"}}return err.stack.toString()}function stackTrace(){var js=jsStackTrace();if(Module["extraStackTrace"])js+="\n"+Module["extraStackTrace"]();return demangleAll(js)}var buffer,HEAP8,HEAPU8,HEAP16,HEAPU16,HEAP32,HEAPU32,HEAPF32,HEAPF64;function updateGlobalBufferViews(){Module["HEAP8"]=HEAP8=new Int8Array(buffer);Module["HEAP16"]=HEAP16=new Int16Array(buffer);Module["HEAP32"]=HEAP32=new Int32Array(buffer);Module["HEAPU8"]=HEAPU8=new Uint8Array(buffer);Module["HEAPU16"]=HEAPU16=new Uint16Array(buffer);Module["HEAPU32"]=HEAPU32=new Uint32Array(buffer);Module["HEAPF32"]=HEAPF32=new Float32Array(buffer);Module["HEAPF64"]=HEAPF64=new Float64Array(buffer)}var STATIC_BASE,STATICTOP,staticSealed;var STACK_BASE,STACKTOP,STACK_MAX;var DYNAMIC_BASE,DYNAMICTOP_PTR;STATIC_BASE=STATICTOP=STACK_BASE=STACKTOP=STACK_MAX=DYNAMIC_BASE=DYNAMICTOP_PTR=0;staticSealed=false;function abortOnCannotGrowMemory(){abort("Cannot enlarge memory arrays. Either (1) compile with -s TOTAL_MEMORY=X with X higher than the current value "+TOTAL_MEMORY+", (2) compile with -s ALLOW_MEMORY_GROWTH=1 which allows increasing the size at runtime but prevents some optimizations, (3) set Module.TOTAL_MEMORY to a higher value before the program runs, or (4) if you want malloc to return NULL (0) instead of this abort, compile with -s ABORTING_MALLOC=0 ")}function enlargeMemory(){abortOnCannotGrowMemory()}var TOTAL_STACK=Module["TOTAL_STACK"]||5242880;var TOTAL_MEMORY=Module["TOTAL_MEMORY"]||16777216;if(TOTAL_MEMORY<TOTAL_STACK)err("TOTAL_MEMORY should be larger than TOTAL_STACK, was "+TOTAL_MEMORY+"! (TOTAL_STACK="+TOTAL_STACK+")");if(Module["buffer"]){buffer=Module["buffer"]}else{{buffer=new ArrayBuffer(TOTAL_MEMORY)}Module["buffer"]=buffer}updateGlobalBufferViews();function getTotalMemory(){return TOTAL_MEMORY}function callRuntimeCallbacks(callbacks){while(callbacks.length>0){var callback=callbacks.shift();if(typeof callback=="function"){callback();continue}var func=callback.func;if(typeof func==="number"){if(callback.arg===undefined){Module["dynCall_v"](func)}else{Module["dynCall_vi"](func,callback.arg)}}else{func(callback.arg===undefined?null:callback.arg)}}}var __ATPRERUN__=[];var __ATINIT__=[];var __ATMAIN__=[];var __ATEXIT__=[];var __ATPOSTRUN__=[];var runtimeInitialized=false;var runtimeExited=false;function preRun(){if(Module["preRun"]){if(typeof Module["preRun"]=="function")Module["preRun"]=[Module["preRun"]];while(Module["preRun"].length){addOnPreRun(Module["preRun"].shift())}}callRuntimeCallbacks(__ATPRERUN__)}function ensureInitRuntime(){if(runtimeInitialized)return;runtimeInitialized=true;callRuntimeCallbacks(__ATINIT__)}function preMain(){callRuntimeCallbacks(__ATMAIN__)}function exitRuntime(){callRuntimeCallbacks(__ATEXIT__);runtimeExited=true}function postRun(){if(Module["postRun"]){if(typeof Module["postRun"]=="function")Module["postRun"]=[Module["postRun"]];while(Module["postRun"].length){addOnPostRun(Module["postRun"].shift())}}callRuntimeCallbacks(__ATPOSTRUN__)}function addOnPreRun(cb){__ATPRERUN__.unshift(cb)}function addOnPostRun(cb){__ATPOSTRUN__.unshift(cb)}function writeArrayToMemory(array,buffer){HEAP8.set(array,buffer)}function writeAsciiToMemory(str,buffer,dontAddNull){for(var i=0;i<str.length;++i){HEAP8[buffer++>>0]=str.charCodeAt(i)}if(!dontAddNull)HEAP8[buffer>>0]=0}var Math_abs=Math.abs;var Math_ceil=Math.ceil;var Math_floor=Math.floor;var Math_min=Math.min;var runDependencies=0;var runDependencyWatcher=null;var dependenciesFulfilled=null;function getUniqueRunDependency(id){return id}function addRunDependency(id){runDependencies++;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}}function removeRunDependency(id){runDependencies--;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}if(runDependencies==0){if(runDependencyWatcher!==null){clearInterval(runDependencyWatcher);runDependencyWatcher=null}if(dependenciesFulfilled){var callback=dependenciesFulfilled;dependenciesFulfilled=null;callback()}}}Module["preloadedImages"]={};Module["preloadedAudios"]={};var memoryInitializer=null;var dataURIPrefix="data:application/octet-stream;base64,";function isDataURI(filename){return String.prototype.startsWith?filename.startsWith(dataURIPrefix):filename.indexOf(dataURIPrefix)===0}var ASM_CONSTS=[(function(){return screen.width}),(function(){return screen.height}),(function($0){if(typeof Module["setWindowTitle"]!=="undefined"){Module["setWindowTitle"](Module["Pointer_stringify"]($0))}return 0}),(function($0,$1,$2){var w=$0;var h=$1;var pixels=$2;if(!Module["SDL2"])Module["SDL2"]={};var SDL2=Module["SDL2"];if(SDL2.ctxCanvas!==Module["canvas"]){SDL2.ctx=Module["createContext"](Module["canvas"],false,true);SDL2.ctxCanvas=Module["canvas"]}if(SDL2.w!==w||SDL2.h!==h||SDL2.imageCtx!==SDL2.ctx){SDL2.image=SDL2.ctx.createImageData(w,h);SDL2.w=w;SDL2.h=h;SDL2.imageCtx=SDL2.ctx}var data=SDL2.image.data;var src=pixels>>2;var dst=0;var num;if(typeof CanvasPixelArray!=="undefined"&&data instanceof CanvasPixelArray){num=data.length;while(dst<num){var val=HEAP32[src];data[dst]=val&255;data[dst+1]=val>>8&255;data[dst+2]=val>>16&255;data[dst+3]=255;src++;dst+=4}}else{if(SDL2.data32Data!==data){SDL2.data32=new Int32Array(data.buffer);SDL2.data8=new Uint8Array(data.buffer)}var data32=SDL2.data32;num=data32.length;data32.set(HEAP32.subarray(src,src+num));var data8=SDL2.data8;var i=3;var j=i+4*num;if(num%8==0){while(i<j){data8[i]=255;i=i+4|0;data8[i]=255;i=i+4|0;data8[i]=255;i=i+4|0;data8[i]=255;i=i+4|0;data8[i]=255;i=i+4|0;data8[i]=255;i=i+4|0;data8[i]=255;i=i+4|0;data8[i]=255;i=i+4|0}}else{while(i<j){data8[i]=255;i=i+4|0}}}SDL2.ctx.putImageData(SDL2.image,0,0);return 0}),(function($0,$1,$2){var w=$0;var h=$1;var pixels=$2;var canvas=document.createElement("canvas");canvas.width=w;canvas.height=h;var ctx=canvas.getContext("2d");var image=ctx.createImageData(w,h);var data=image.data;var src=pixels>>2;var dst=0;var num;if(typeof CanvasPixelArray!=="undefined"&&data instanceof CanvasPixelArray){num=data.length;while(dst<num){var val=HEAP32[src];data[dst]=val&255;data[dst+1]=val>>8&255;data[dst+2]=val>>16&255;data[dst+3]=val>>24&255;src++;dst+=4}}else{var data32=new Int32Array(data.buffer);num=data32.length;data32.set(HEAP32.subarray(src,src+num))}ctx.putImageData(image,0,0);var url="url("+canvas.toDataURL()+"), auto";var urlBuf=_malloc(url.length+1);stringToUTF8(url,urlBuf,url.length+1);return urlBuf}),(function($0){if(Module["canvas"]){Module["canvas"].style["cursor"]=Module["Pointer_stringify"]($0)}return 0}),(function(){if(Module["canvas"]){Module["canvas"].style["cursor"]="none"}}),(function(){if(typeof AudioContext!=="undefined"){return 1}else if(typeof webkitAudioContext!=="undefined"){return 1}return 0}),(function(){if(typeof navigator.mediaDevices!=="undefined"&&typeof navigator.mediaDevices.getUserMedia!=="undefined"){return 1}else if(typeof navigator.webkitGetUserMedia!=="undefined"){return 1}return 0}),(function($0){if(typeof SDL2==="undefined"){SDL2={}}if(!$0){SDL2.audio={}}else{SDL2.capture={}}if(!SDL2.audioContext){if(typeof AudioContext!=="undefined"){SDL2.audioContext=new AudioContext}else if(typeof webkitAudioContext!=="undefined"){SDL2.audioContext=new webkitAudioContext}}return SDL2.audioContext===undefined?-1:0}),(function(){return SDL2.audioContext.sampleRate}),(function($0,$1,$2,$3){var have_microphone=(function(stream){if(SDL2.capture.silenceTimer!==undefined){clearTimeout(SDL2.capture.silenceTimer);SDL2.capture.silenceTimer=undefined}SDL2.capture.mediaStreamNode=SDL2.audioContext.createMediaStreamSource(stream);SDL2.capture.scriptProcessorNode=SDL2.audioContext.createScriptProcessor($1,$0,1);SDL2.capture.scriptProcessorNode.onaudioprocess=(function(audioProcessingEvent){if(SDL2===undefined||SDL2.capture===undefined){return}audioProcessingEvent.outputBuffer.getChannelData(0).fill(0);SDL2.capture.currentCaptureBuffer=audioProcessingEvent.inputBuffer;Runtime.dynCall("vi",$2,[$3])});SDL2.capture.mediaStreamNode.connect(SDL2.capture.scriptProcessorNode);SDL2.capture.scriptProcessorNode.connect(SDL2.audioContext.destination);SDL2.capture.stream=stream});var no_microphone=(function(error){});SDL2.capture.silenceBuffer=SDL2.audioContext.createBuffer($0,$1,SDL2.audioContext.sampleRate);SDL2.capture.silenceBuffer.getChannelData(0).fill(0);var silence_callback=(function(){SDL2.capture.currentCaptureBuffer=SDL2.capture.silenceBuffer;Runtime.dynCall("vi",$2,[$3])});SDL2.capture.silenceTimer=setTimeout(silence_callback,$1/SDL2.audioContext.sampleRate*1e3);if(navigator.mediaDevices!==undefined&&navigator.mediaDevices.getUserMedia!==undefined){navigator.mediaDevices.getUserMedia({audio:true,video:false}).then(have_microphone).catch(no_microphone)}else if(navigator.webkitGetUserMedia!==undefined){navigator.webkitGetUserMedia({audio:true,video:false},have_microphone,no_microphone)}}),(function($0,$1,$2,$3){SDL2.audio.scriptProcessorNode=SDL2.audioContext["createScriptProcessor"]($1,0,$0);SDL2.audio.scriptProcessorNode["onaudioprocess"]=(function(e){if(SDL2===undefined||SDL2.audio===undefined){return}SDL2.audio.currentOutputBuffer=e["outputBuffer"];Runtime.dynCall("vi",$2,[$3])});SDL2.audio.scriptProcessorNode["connect"](SDL2.audioContext["destination"])}),(function($0){if($0){if(SDL2.capture.silenceTimer!==undefined){clearTimeout(SDL2.capture.silenceTimer)}if(SDL2.capture.stream!==undefined){var tracks=SDL2.capture.stream.getAudioTracks();for(var i=0;i<tracks.length;i++){SDL2.capture.stream.removeTrack(tracks[i])}SDL2.capture.stream=undefined}if(SDL2.capture.scriptProcessorNode!==undefined){SDL2.capture.scriptProcessorNode.onaudioprocess=(function(audioProcessingEvent){});SDL2.capture.scriptProcessorNode.disconnect();SDL2.capture.scriptProcessorNode=undefined}if(SDL2.capture.mediaStreamNode!==undefined){SDL2.capture.mediaStreamNode.disconnect();SDL2.capture.mediaStreamNode=undefined}if(SDL2.capture.silenceBuffer!==undefined){SDL2.capture.silenceBuffer=undefined}SDL2.capture=undefined}else{if(SDL2.audio.scriptProcessorNode!=undefined){SDL2.audio.scriptProcessorNode.disconnect();SDL2.audio.scriptProcessorNode=undefined}SDL2.audio=undefined}if(SDL2.audioContext!==undefined&&SDL2.audio===undefined&&SDL2.capture===undefined){SDL2.audioContext.close();SDL2.audioContext=undefined}}),(function($0,$1){var numChannels=SDL2.capture.currentCaptureBuffer.numberOfChannels;if(numChannels==1){var channelData=SDL2.capture.currentCaptureBuffer.getChannelData(0);if(channelData.length!=$1){throw"Web Audio capture buffer length mismatch! Destination size: "+channelData.length+" samples vs expected "+$1+" samples!"}for(var j=0;j<$1;++j){setValue($0+j*4,channelData[j],"float")}}else{for(var c=0;c<numChannels;++c){var channelData=SDL2.capture.currentCaptureBuffer.getChannelData(c);if(channelData.length!=$1){throw"Web Audio capture buffer length mismatch! Destination size: "+channelData.length+" samples vs expected "+$1+" samples!"}for(var j=0;j<$1;++j){setValue($0+(j*numChannels+c)*4,channelData[j],"float")}}}}),(function($0,$1){var numChannels=SDL2.audio.currentOutputBuffer["numberOfChannels"];for(var c=0;c<numChannels;++c){var channelData=SDL2.audio.currentOutputBuffer["getChannelData"](c);if(channelData.length!=$1){throw"Web Audio output buffer length mismatch! Destination size: "+channelData.length+" samples vs expected "+$1+" samples!"}for(var j=0;j<$1;++j){channelData[j]=HEAPF32[$0+(j*numChannels+c<<2)>>2]}}})];function _emscripten_asm_const_i(code){return ASM_CONSTS[code]()}function _emscripten_asm_const_iiiii(code,a0,a1,a2,a3){return ASM_CONSTS[code](a0,a1,a2,a3)}function _emscripten_asm_const_ii(code,a0){return ASM_CONSTS[code](a0)}function _emscripten_asm_const_iii(code,a0,a1){return ASM_CONSTS[code](a0,a1)}function _emscripten_asm_const_iiii(code,a0,a1,a2){return ASM_CONSTS[code](a0,a1,a2)}STATIC_BASE=GLOBAL_BASE;STATICTOP=STATIC_BASE+231040;__ATINIT__.push({func:(function(){__GLOBAL__I_000101()})},{func:(function(){__GLOBAL__sub_I_motor_cpp()})},{func:(function(){__GLOBAL__sub_I_OpenSceneGraph_01_cpp()})},{func:(function(){__GLOBAL__sub_I_OpenSceneGraph_02_cpp()})},{func:(function(){__GLOBAL__sub_I_OpenSceneGraph_03_cpp()})},{func:(function(){__GLOBAL__sub_I_OpenSceneGraph_04_cpp()})},{func:(function(){__GLOBAL__sub_I_bind_cpp()})},{func:(function(){___emscripten_environ_constructor()})},{func:(function(){__GLOBAL__sub_I_iostream_cpp()})});memoryInitializer="data:application/octet-stream;base64,AAAAAAAAAADwAQEAeKYAAEgCAQAopgAAAAIBAGCmAABIAgEAKKYAANHRAgAsGgIAZRoCAJ4aAgDWGgIADhsCACgbAgAAAAAAAAAAAH4ZAgAABQAAhxkCAAEFAACZGQIAAgUAAKcZAgADBQAAuRkCAAQFAADIGQIABQUAANgZAgAxgAAA5hkCAAYFAAD2GQIAJIoBAIcZAgAligEAmRkCACaKAQDYGQIAJ4oBABQaAgAoigEApxkCAP////8AAAAAAAAAAAAAAAAaJAIAuq8CAM+vAgDmrwIAxK8CANqvAgDvrwIA+a8CAASwAgAQsAIAG7ACACawAgBVsAIAYLACAGuwAgDcsAIA57ACAPKwAgAxsAIAPbACAEmwAgB2sAIAgrACAI6wAgD9sAIACbECABWxAgAgJAIAKiQCADQkAgC7sAIAxrACANGwAgA+JAIASiQCAFckAgBhJAIAbSQCAAAAAAAAAAAARERERJmZmZlEREREmZmZmURERESZmZmZRERERJmZmZlEREREmZmZmURERESZmZmZRERERJmZmZlEREREmZmZmURERESZmZmZRERERJmZmZlEREREmZmZmURERESZmZmZRERERJmZmZlEREREmZmZmURERESZmZmZRERERJmZmZkMAAAABAAAAAAAAACYqwAAagEAAJ8AAACgAAAAawEAAGwBAABtAQAAbgEAABsAAAAjAAAATwEAAFABAAD8/////P///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD8/////P///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPz////8/////P////z////8////CAAAAPz///+YqwAAbwEAAKEAAACiAAAAcAEAAHEBAAASAAAAEwAAABQAAAAVAAAAaAAAAGkAAAByAQAAcwEAABoAAAAbAAAAHAAAAB0AAABZAAAAWgAAACAAAAAhAAAAWwAAAFwAAAAcAAAAUQEAAFIBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA+P////j////4////+P///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD0////9P////T////0////9P////T///8AAAAA9P///5irAAACAAAAUwEAAFQBAAB0AQAAowAAAKQAAAB1AQAAdgEAACcAAAAoAAAAKQAAACoAAAArAAAALAAAAC0AAAAuAAAALwAAADAAAAAxAAAAMgAAADMAAAA0AAAANQAAADYAAAA3AAAAOAAAADkAAAA6AAAAOwAAADwAAAA9AAAAPgAAAD8AAABAAAAAAwAAAAkAAAAEAAAAQQAAAEIAAAAFAAAABgAAADKCAACUjQAAARQAADGCAACUjQAAABQAADSCAACUjQAAAxQAADOCAACUjQAAAhQAADaCAACUjQAABRQAADWCAACUjQAABBQAADiCAAAoggAAARQAADeCAAAoggAAABQAADqCAAAoggAAAxQAADmCAAAoggAAAhQAADyCAAAoggAABRQAADuCAAAoggAABBQAAH2NAACYjQAAARQAAI+NAACYjQAAABQAAHeNAACYjQAAAxQAAImNAACYjQAAAhQAAHGNAACYjQAABRQAAIONAACYjQAABBQAAHyNAACZjQAAARQAAI6NAACZjQAAABQAAHaNAACZjQAAAxQAAIiNAACZjQAAAhQAAIKNAACZjQAABBQAAHCNAACZjQAABRQAACmCAAADGQAAARQAAC2CAAADGQAACxQAAC6CAAADGQAABhQAAC2CAAADGQAABhQAACuCAAAnggAAARQAAC+CAAAnggAACxQAAC+CAAAnggAABhQAADCCAAAnggAABhQAABAqAAAHGQAAMoAAABAqAAAHGQAAYoMAAE+AAAAHGQAAM4AAAE+AAAAHGQAAZYMAAFCAAAAHGQAANIAAAFCAAAAHGQAAZoMAAFGAAAAHGQAAARQAAGKNAAAHGQAAARQAAGKNAAAHGQAAY4MAAGKNAAAHGQAAZIMAAFKAAAAHGQAAaIMAAFKAAAAHGQAANoAAAFOAAAAHGQAAAxQAABuIAAAHGQAACxQAABWIAAAHGQAABhQAABuIAAAHGQAABhQAAFiAAAAIGQAAARQAAFmAAAAIGQAANoAAAFmAAAAIGQAAaIMAAFqAAAAIGQAAAxQAAFaAAAAIGQAAARQAAFaAAAAIGQAAM4AAAFaAAAAIGQAAZYMAAFeAAAAIGQAAARQAAFeAAAAIGQAANIAAAFeAAAAIGQAAZoMAAFeAAAAIGQAANoAAAFeAAAAIGQAAaIMAAEGMAAAHGQAAARQAAEOMAAAIGQAAARQAAJSPAAADGQAAABQAAJiPAAADGQAAAhQAAJWPAAAnggAAABQAAJmPAAAnggAAAhQAAJaPAAAHGQAAABQAAJqPAAAHGQAAAhQAAJePAAAIGQAAABQAAAAAAAAVhQAAFoUAABeFAAAYhQAAGYUAABqFAAAAAAAAAAAAACNpZmRlZiBHTF9FUwogICAgcHJlY2lzaW9uIGhpZ2hwIGZsb2F0OwogICAgcHJlY2lzaW9uIGhpZ2hwIGludDsKI2VuZGlmCgojcHJhZ21hIGltcG9ydF9tb2RlcyAoIEdMX0xJR0hUSU5HLCBHTF9MSUdIVDApCiNwcmFnbWEgaW1wb3J0X3RleHR1cmVfbW9kZXMgKCBHTF9URVhUVVJFX0dFTl9TLCBHTF9URVhUVVJFX0dFTl9ULCBHTF9URVhUVVJFX0dFTl9SLCBHTF9URVhUVVJFX0dFTl9RKQojcHJhZ21hIGltcG9ydF9kZWZpbmVzICggR0xfTUFYX1RFWFRVUkVfVU5JVFMgKQojcHJhZ21hIGltcG9ydF9kZWZpbmVzICggVEVYVFVSRV9WRVJUX0RFQ0xBUkUwLCBURVhUVVJFX1ZFUlRfQk9EWTAsIFRFWFRVUkVfR0VOX0ZVTkNUSU9OMCApCiNwcmFnbWEgaW1wb3J0X2RlZmluZXMgKCBURVhUVVJFX1ZFUlRfREVDTEFSRTEsIFRFWFRVUkVfVkVSVF9CT0RZMSwgVEVYVFVSRV9HRU5fRlVOQ1RJT04xICkKI3ByYWdtYSBpbXBvcnRfZGVmaW5lcyAoIFRFWFRVUkVfVkVSVF9ERUNMQVJFMiwgVEVYVFVSRV9WRVJUX0JPRFkyLCBURVhUVVJFX0dFTl9GVU5DVElPTjIgKQojcHJhZ21hIGltcG9ydF9kZWZpbmVzICggVEVYVFVSRV9WRVJUX0RFQ0xBUkUzLCBURVhUVVJFX1ZFUlRfQk9EWTMsIFRFWFRVUkVfR0VOX0ZVTkNUSU9OMyApCgojaWYgR0xfTUFYX1RFWFRVUkVfVU5JVFM+MAoKdW5pZm9ybSBib29sIEdMX0FDVElWRV9URVhUVVJFW0dMX01BWF9URVhUVVJFX1VOSVRTXTsKCnVuaWZvcm0gdmVjNCBvc2dfT2JqZWN0UGxhbmVSW0dMX01BWF9URVhUVVJFX1VOSVRTXTsKdW5pZm9ybSB2ZWM0IG9zZ19PYmplY3RQbGFuZVNbR0xfTUFYX1RFWFRVUkVfVU5JVFNdOwp1bmlmb3JtIHZlYzQgb3NnX09iamVjdFBsYW5lVFtHTF9NQVhfVEVYVFVSRV9VTklUU107CnVuaWZvcm0gdmVjNCBvc2dfT2JqZWN0UGxhbmVRW0dMX01BWF9URVhUVVJFX1VOSVRTXTsKCnVuaWZvcm0gdmVjNCBvc2dfRXllUGxhbmVSW0dMX01BWF9URVhUVVJFX1VOSVRTXTsKdW5pZm9ybSB2ZWM0IG9zZ19FeWVQbGFuZVNbR0xfTUFYX1RFWFRVUkVfVU5JVFNdOwp1bmlmb3JtIHZlYzQgb3NnX0V5ZVBsYW5lVFtHTF9NQVhfVEVYVFVSRV9VTklUU107CnVuaWZvcm0gdmVjNCBvc2dfRXllUGxhbmVRW0dMX01BWF9URVhUVVJFX1VOSVRTXTsKCgp2ZWM0IHRleGdlbl9FWUVfTElORUFSKHZlYzQgdGV4Y29vcmQsIGludCB1bml0LCBib29sIHMsIGJvb2wgdCwgYm9vbCByLCBib29sIHEpCnsKICAgIHZlYzQgdmVydGV4X2V5ZSA9IGdsX01vZGVsVmlld01hdHJpeCAqIGdsX1ZlcnRleDsKICAgIGlmIChzKSB0ZXhjb29yZC5zID0gZG90KHZlcnRleF9leWUgLCBnbF9FeWVQbGFuZVNbdW5pdF0pOwogICAgaWYgKHQpIHRleGNvb3JkLnQgPSBkb3QodmVydGV4X2V5ZSAsIGdsX0V5ZVBsYW5lVFt1bml0XSk7CiAgICBpZiAocikgdGV4Y29vcmQuciA9IGRvdCh2ZXJ0ZXhfZXllICwgZ2xfRXllUGxhbmVSW3VuaXRdKTsKICAgIGlmIChxKSB0ZXhjb29yZC5xID0gZG90KHZlcnRleF9leWUgLCBnbF9FeWVQbGFuZVFbdW5pdF0pOwogICAgcmV0dXJuIHRleGNvb3JkOwp9Cgp2ZWM0IHRleGdlbl9PQkpFQ1RfTElORUFSKHZlYzQgdGV4Y29vcmQsIGludCB1bml0LCBib29sIHMsIGJvb2wgdCwgYm9vbCByLCBib29sIHEpCnsKICAgIHZlYzQgdmVydGV4X2V5ZSA9IGdsX01vZGVsVmlld01hdHJpeCAqIGdsX1ZlcnRleDsKICAgIGlmIChzKSB0ZXhjb29yZC5zID0gZG90KGdsX1ZlcnRleCAsIGdsX09iamVjdFBsYW5lU1t1bml0XSk7CiAgICBpZiAodCkgdGV4Y29vcmQudCA9IGRvdChnbF9WZXJ0ZXggLCBnbF9PYmplY3RQbGFuZVRbdW5pdF0pOwogICAgaWYgKHIpIHRleGNvb3JkLnIgPSBkb3QoZ2xfVmVydGV4ICwgZ2xfT2JqZWN0UGxhbmVSW3VuaXRdKTsKICAgIGlmIChxKSB0ZXhjb29yZC5xID0gZG90KGdsX1ZlcnRleCAsIGdsX09iamVjdFBsYW5lUVt1bml0XSk7CiAgICByZXR1cm4gdGV4Y29vcmQ7Cn0KCnZlYzQgdGV4Z2VuX1NQSEVSRV9NQVAodmVjNCB0ZXhjb29yZCwgaW50IHVuaXQsIGJvb2wgcywgYm9vbCB0LCBib29sIHIsIGJvb2wgcSkKewogICAgdmVjNCB2ZXJ0ZXhfZXllID0gZ2xfTW9kZWxWaWV3TWF0cml4ICogZ2xfVmVydGV4OwogICAgdmVjMyBub3JtYWxpemVkX3ZlcnRleF9leWUgPSBub3JtYWxpemUodmVydGV4X2V5ZS54eXopOwogICAgdmVjMyBub3JtYWxfZXllID0gZ2xfTm9ybWFsTWF0cml4ICogZ2xfTm9ybWFsOwogICAgdmVjMyByZWZsZWN0aW9uX3ZlY3RvciA9IHJlZmxlY3Qobm9ybWFsaXplZF92ZXJ0ZXhfZXllLCBub3JtYWxfZXllKTsKICAgIHJlZmxlY3Rpb25fdmVjdG9yLnogPSByZWZsZWN0aW9uX3ZlY3Rvci56ICsgMS4wOwogICAgZmxvYXQgc3BoZXJlbWFwX20gPSAxLjAgLyAoMi4wICogbGVuZ3RoKHJlZmxlY3Rpb25fdmVjdG9yKSk7CiAgICBpZiAocykgdGV4Y29vcmQucyA9IHJlZmxlY3Rpb25fdmVjdG9yLnggKiBzcGhlcmVtYXBfbSArIDAuNTsKICAgIGlmICh0KSB0ZXhjb29yZC50ID0gcmVmbGVjdGlvbl92ZWN0b3IueSAqIHNwaGVyZW1hcF9tICsgMC41OwogICAgcmV0dXJuIHRleGNvb3JkOwp9Cgp2ZWM0IHRleGdlbl9SRUZMRUNUSU9OX01BUCh2ZWM0IHRleGNvb3JkLCBpbnQgdW5pdCwgYm9vbCBzLCBib29sIHQsIGJvb2wgciwgYm9vbCBxKQp7CiAgICB2ZWM0IHZlcnRleF9leWUgPSBnbF9Nb2RlbFZpZXdNYXRyaXggKiBnbF9WZXJ0ZXg7CiAgICB2ZWMzIG5vcm1hbGl6ZWRfdmVydGV4X2V5ZSA9IG5vcm1hbGl6ZSh2ZXJ0ZXhfZXllLnh5eik7CiAgICB2ZWMzIG5vcm1hbF9leWUgPSBnbF9Ob3JtYWxNYXRyaXggKiBnbF9Ob3JtYWw7CiAgICBmbG9hdCBtID0gMi4wICogZG90KG5vcm1hbGl6ZWRfdmVydGV4X2V5ZSwgbm9ybWFsX2V5ZSk7CiAgICBpZiAocykgdGV4Y29vcmQucyA9IG5vcm1hbGl6ZWRfdmVydGV4X2V5ZS54IC0gbm9ybWFsX2V5ZS54ICogbTsKICAgIGlmICh0KSB0ZXhjb29yZC50ID0gbm9ybWFsaXplZF92ZXJ0ZXhfZXllLnkgLSBub3JtYWxfZXllLnkgKiBtOwogICAgaWYgKHIpIHRleGNvb3JkLnIgPSBub3JtYWxpemVkX3ZlcnRleF9leWUueiAtIG5vcm1hbF9leWUueiAqIG07CiAgICByZXR1cm4gdGV4Y29vcmQ7Cn0KCnZlYzQgdGV4Z2VuX05PUk1BTF9NQVAodmVjNCB0ZXhjb29yZCwgaW50IHVuaXQsIGJvb2wgcywgYm9vbCB0LCBib29sIHIsIGJvb2wgcSkKewogICAgdmVjMyBub3JtYWxfZXllID0gbm9ybWFsaXplKGdsX05vcm1hbE1hdHJpeCAqIGdsX05vcm1hbCk7CiAgICBpZiAocykgdGV4Y29vcmQucyA9IG5vcm1hbF9leWUuczsKICAgIGlmICh0KSB0ZXhjb29yZC5zID0gbm9ybWFsX2V5ZS50OwogICAgaWYgKHIpIHRleGNvb3JkLnMgPSBub3JtYWxfZXllLnI7CiAgICByZXR1cm4gdGV4Y29vcmQ7Cn0KCiNpZmRlZiBURVhUVVJFX1ZFUlRfREVDTEFSRTAKICAgIFRFWFRVUkVfVkVSVF9ERUNMQVJFMAojZW5kaWYKCiNpZmRlZiBURVhUVVJFX1ZFUlRfREVDTEFSRTEKICAgIFRFWFRVUkVfVkVSVF9ERUNMQVJFMQojZW5kaWYKCiNpZmRlZiBURVhUVVJFX1ZFUlRfREVDTEFSRTIKICAgIFRFWFRVUkVfVkVSVF9ERUNMQVJFMgojZW5kaWYKCiNpZmRlZiBURVhUVVJFX1ZFUlRfREVDTEFSRTMKICAgIFRFWFRVUkVfVkVSVF9ERUNMQVJFMwojZW5kaWYKCiNlbmRpZgoKdmFyeWluZyB2ZWM0IHZlcnRleF9jb2xvcjsKCnZvaWQgbWFpbigpCnsKICAgIHZlcnRleF9jb2xvciA9IGdsX0NvbG9yOwoKI2lmIEdMX0xJR0hUSU5HCiAgICAvLyBmb3IgZWFjaCBhY3RpdmUgbGlnaHQgc291cmNlIHdlIG5lZWQgdG8gZG8gbGlnaHRpbmcKICAgICNpZiBHTF9MSUdIVDAKICAgICAgICAvLyB2ZXJ0ZXhfY29sb3IgPSB2ZXJ0ZXhfY29sb3IqMC4yNTsKICAgICNlbmRpZgojZW5kaWYKCi8vIGZvciBlYWNoIGFjdGl2ZSB0ZXh0dXJlIHVuaXQgd2UgbmVlZCB0byBkbyB0aGUgZm9sbG93aW5nLi4uLgojaWYgR0xfTUFYX1RFWFRVUkVfVU5JVFM+MAoKICAgICNpZmRlZiBURVhUVVJFX1ZFUlRfQk9EWTAKICAgICAgICBURVhUVVJFX1ZFUlRfQk9EWTAKCiAgICAgICAgI2lmIGRlZmluZWQoVEVYVFVSRV9HRU5fRlVOQ1RJT04wKSAmJiAoR0xfVEVYVFVSRV9HRU5fUzAgfHwgR0xfVEVYVFVSRV9HRU5fVDAgfHwgR0xfVEVYVFVSRV9HRU5fUjAgfHwgR0xfVEVYVFVSRV9HRU5fUTApCiAgICAgICAgICAgIFRleENvb3JkMCA9IFRFWFRVUkVfR0VOX0ZVTkNUSU9OMChUZXhDb29yZDAsIDAsIEdMX1RFWFRVUkVfR0VOX1MwLCBHTF9URVhUVVJFX0dFTl9UMCwgR0xfVEVYVFVSRV9HRU5fUjAsIEdMX1RFWFRVUkVfR0VOX1EwKTsKICAgICAgICAjZW5kaWYKCiAgICAjZW5kaWYKCiAgICAjaWZkZWYgVEVYVFVSRV9WRVJUX0JPRFkxCiAgICAgICAgVEVYVFVSRV9WRVJUX0JPRFkxCgogICAgICAgICNpZiBkZWZpbmVkKFRFWFRVUkVfR0VOX0JPRFkxKSAmJiAoVEVYVFVSRV9HRU5fUzEgfHwgVEVYVFVSRV9HRU5fVDEgfHwgVEVYVFVSRV9HRU5fUjEgfHwgVEVYVFVSRV9HRU5fUTEpCiAgICAgICAgICAgIFRleENvb3JkMSA9IFRFWFRVUkVfR0VOX0ZVTkNUSU9OMShUZXhDb29yZDEsIDEsIEdMX1RFWFRVUkVfR0VOX1MxLCBHTF9URVhUVVJFX0dFTl9UMSwgR0xfVEVYVFVSRV9HRU5fUjEsIEdMX1RFWFRVUkVfR0VOX1ExKTsKICAgICAgICAjZW5kaWYKICAgICNlbmRpZgoKICAgICNpZmRlZiBURVhUVVJFX1ZFUlRfQk9EWTIKICAgICAgICBURVhUVVJFX1ZFUlRfQk9EWTIKCiAgICAgICAgI2lmIGRlZmluZWQoVEVYVFVSRV9HRU5fQk9EWTIpICYmIChURVhUVVJFX0dFTl9TMiB8fCBURVhUVVJFX0dFTl9UMiB8fCBURVhUVVJFX0dFTl9SMiB8fCBURVhUVVJFX0dFTl9RMikKICAgICAgICAgICAgVGV4Q29vcmQyID0gVEVYVFVSRV9HRU5fRlVOQ1RJT04yKFRleENvb3JkMiwgMiwgR0xfVEVYVFVSRV9HRU5fUzIsIEdMX1RFWFRVUkVfR0VOX1QyLCBHTF9URVhUVVJFX0dFTl9SMiwgR0xfVEVYVFVSRV9HRU5fUTIpOwogICAgICAgICNlbmRpZgogICAgI2VuZGlmCgogICAgI2lmZGVmIFRFWFRVUkVfVkVSVF9CT0RZMwogICAgICAgIFRFWFRVUkVfVkVSVF9CT0RZMwoKICAgICAgICAjaWYgZGVmaW5lZChURVhUVVJFX0dFTl9CT0RZMykgJiYgKFRFWFRVUkVfR0VOX1MzIHx8IFRFWFRVUkVfR0VOX1QzIHx8IFRFWFRVUkVfR0VOX1IzIHx8IFRFWFRVUkVfR0VOX1EzKQogICAgICAgICAgICBUZXhDb29yZDMgPSBURVhUVVJFX0dFTl9GVU5DVElPTjMoVGV4Q29vcmQzLCAzLCBHTF9URVhUVVJFX0dFTl9TMywgR0xfVEVYVFVSRV9HRU5fVDMsIEdMX1RFWFRVUkVfR0VOX1IzLCBHTF9URVhUVVJFX0dFTl9RMyk7CiAgICAgICAgI2VuZGlmCiAgICAjZW5kaWYKCiNlbmRpZgoKICAgIGdsX1Bvc2l0aW9uID0gZ2xfTW9kZWxWaWV3UHJvamVjdGlvbk1hdHJpeCAqIGdsX1ZlcnRleDsKCn0KAAAAAAAjaWZkZWYgR0xfRVMKICAgIHByZWNpc2lvbiBoaWdocCBmbG9hdDsKI2VuZGlmCgojcHJhZ21hIGltcG9ydF9tb2RlcyAoIEdMX0xJR0hUSU5HICkKI3ByYWdtYSBpbXBvcnRfZGVmaW5lcyAoIEdMX01BWF9URVhUVVJFX1VOSVRTLCBHTF9BTFBIQSApCgojcHJhZ21hIGltcG9ydF9kZWZpbmVzICggVEVYVFVSRV9GUkFHX0RFQ0xBUkUwLCBURVhUVVJFX0ZVTkNUSU9OMCwgVEVYVFVSRV9FTlZfRlVOQ1RJT04wICkKI3ByYWdtYSBpbXBvcnRfZGVmaW5lcyAoIFRFWFRVUkVfRlJBR19ERUNMQVJFMSwgVEVYVFVSRV9GVU5DVElPTjEsIFRFWFRVUkVfRU5WX0ZVTkNUSU9OMSApCiNwcmFnbWEgaW1wb3J0X2RlZmluZXMgKCBURVhUVVJFX0ZSQUdfREVDTEFSRTIsIFRFWFRVUkVfRlVOQ1RJT04yLCBURVhUVVJFX0VOVl9GVU5DVElPTjIgKQojcHJhZ21hIGltcG9ydF9kZWZpbmVzICggVEVYVFVSRV9GUkFHX0RFQ0xBUkUzLCBURVhUVVJFX0ZVTkNUSU9OMywgVEVYVFVSRV9FTlZfRlVOQ1RJT04zICkKCiNpZiBHTF9NQVhfVEVYVFVSRV9VTklUUz4wCgp1bmlmb3JtIGludCBvc2dfVGV4dHVyZUZvcm1hdFtHTF9NQVhfVEVYVFVSRV9VTklUU107CnVuaWZvcm0gdmVjNCBvc2dfVGV4dHVyZUVudkNvbG9yW0dMX01BWF9URVhUVVJFX1VOSVRTXTsKCnZlYzQgdGV4ZW52X01PRFVMQVRFKHZlYzQgY29sb3IsIHZlYzQgdGV4dHVyZV9jb2xvciwgaW50IHVuaXQpIHsgcmV0dXJuIChvc2dfVGV4dHVyZUZvcm1hdFt1bml0XT09R0xfQUxQSEEpID8gdmVjNChjb2xvci5yLCBjb2xvci5nLCBjb2xvci5iLCBjb2xvci5hKnRleHR1cmVfY29sb3IuYSkgOiAgY29sb3IqdGV4dHVyZV9jb2xvcjsgfQp2ZWM0IHRleGVudl9SRVBMQUNFKHZlYzQgY29sb3IsIHZlYzQgdGV4dHVyZV9jb2xvciwgaW50IHVuaXQpIHsgcmV0dXJuIChvc2dfVGV4dHVyZUZvcm1hdFt1bml0XT09R0xfQUxQSEEpID8gdmVjNChjb2xvci5yLCBjb2xvci5nLCBjb2xvci5iLCB0ZXh0dXJlX2NvbG9yLmEpIDogdGV4dHVyZV9jb2xvcjsgfQp2ZWM0IHRleGVudl9ERUNBTCh2ZWM0IGNvbG9yLCB2ZWM0IHRleHR1cmVfY29sb3IsIGludCB1bml0KSB7IGNvbG9yLnJnYiA9IGNvbG9yLnJnYiAqICgxLjAtdGV4dHVyZV9jb2xvci5hKSArIHRleHR1cmVfY29sb3IucmdiKnRleHR1cmVfY29sb3IuYTsgcmV0dXJuIGNvbG9yOyB9CnZlYzQgdGV4ZW52X0FERCh2ZWM0IGNvbG9yLCB2ZWM0IHRleHR1cmVfY29sb3IsIGludCB1bml0KSB7IGNvbG9yLnJnYiA9IGNvbG9yLnJnYiArIHRleHR1cmVfY29sb3IucmdiOyBjb2xvci5hID0gY29sb3IuYSp0ZXh0dXJlX2NvbG9yLmE7IHJldHVybiBjb2xvcjsgfQp2ZWM0IHRleGVudl9CTEVORCh2ZWM0IGNvbG9yLCB2ZWM0IHRleHR1cmVfY29sb3IsIGludCB1bml0KSB7IGNvbG9yLnJnYiA9IGNvbG9yLnJnYiAqICh2ZWMzKDEuMCwxLjAsMS4wKS10ZXh0dXJlX2NvbG9yLnJnYikgKyB0ZXh0dXJlX2NvbG9yLnJnYiAqIG9zZ19UZXh0dXJlRW52Q29sb3JbdW5pdF0ucmdiOyByZXR1cm4gY29sb3I7IH0KCiNpZmRlZiBURVhUVVJFX0ZSQUdfREVDTEFSRTAKICAgIFRFWFRVUkVfRlJBR19ERUNMQVJFMAojZW5kaWYKCiNpZmRlZiBURVhUVVJFX0ZSQUdfREVDTEFSRTEKICAgIFRFWFRVUkVfRlJBR19ERUNMQVJFMQojZW5kaWYKCiNpZmRlZiBURVhUVVJFX0ZSQUdfREVDTEFSRTIKICAgIFRFWFRVUkVfRlJBR19ERUNMQVJFMgojZW5kaWYKCiNpZmRlZiBURVhUVVJFX0ZSQUdfREVDTEFSRTMKICAgIFRFWFRVUkVfRlJBR19ERUNMQVJFMwojZW5kaWYKCiNlbmRpZgoKCnZhcnlpbmcgdmVjNCB2ZXJ0ZXhfY29sb3I7Cgp2b2lkIG1haW4oKQp7CiAgICB2ZWM0IGZyYWdfY29sb3IgPSB2ZXJ0ZXhfY29sb3I7CgojaWYgR0xfTUFYX1RFWFRVUkVfVU5JVFM+MAogICAgI2lmZGVmIFRFWFRVUkVfRlVOQ1RJT04wCiAgICAgICAgI2lmZGVmIFRFWFRVUkVfRU5WX0ZVTkNUSU9OMAogICAgICAgICAgICBmcmFnX2NvbG9yID0gVEVYVFVSRV9FTlZfRlVOQ1RJT04wKGZyYWdfY29sb3IsIFRFWFRVUkVfRlVOQ1RJT04wKCksIDApOwogICAgICAgICNlbHNlCiAgICAgICAgICAgIGZyYWdfY29sb3IgPSBURVhUVVJFX0ZVTkNUSU9OMCgpOwogICAgICAgICNlbmRpZgogICAgI2VuZGlmCgogICAgI2lmZGVmIFRFWFRVUkVfRlVOQ1RJT04xCiAgICAgICAgI2lmZGVmIFRFWFRVUkVfRU5WX0ZVTkNUSU9OMQogICAgICAgICAgICBmcmFnX2NvbG9yID0gVEVYVFVSRV9FTlZfRlVOQ1RJT04xKGZyYWdfY29sb3IsIFRFWFRVUkVfRlVOQ1RJT04xKCksIDEpOwogICAgICAgICNlbHNlCiAgICAgICAgICAgIGZyYWdfY29sb3IgPSBURVhUVVJFX0ZVTkNUSU9OMSgpOwogICAgICAgICNlbmRpZgogICAgI2VuZGlmCgogICAgI2lmZGVmIFRFWFRVUkVfRlVOQ1RJT04yCiAgICAgICAgI2lmZGVmIFRFWFRVUkVfRU5WX0ZVTkNUSU9OMgogICAgICAgICAgICBmcmFnX2NvbG9yID0gVEVYVFVSRV9FTlZfRlVOQ1RJT04yKGZyYWdfY29sb3IsIFRFWFRVUkVfRlVOQ1RJT04yKCksIDIpOwogICAgICAgICNlbHNlCiAgICAgICAgICAgIGZyYWdfY29sb3IgPSBURVhUVVJFX0ZVTkNUSU9OMigpOwogICAgICAgICNlbmRpZgogICAgI2VuZGlmCgogICAgI2lmZGVmIFRFWFRVUkVfRlVOQ1RJT04zCiAgICAgICAgI2lmZGVmIFRFWFRVUkVfRU5WX0ZVTkNUSU9OMwogICAgICAgICAgICBmcmFnX2NvbG9yID0gVEVYVFVSRV9FTlZfRlVOQ1RJT04zKGZyYWdfY29sb3IsIFRFWFRVUkVfRlVOQ1RJT04zKCksIDMpOwogICAgICAgICNlbHNlCiAgICAgICAgICAgIGZyYWdfY29sb3IgPSBURVhUVVJFX0ZVTkNUSU9OMygpOwogICAgICAgICNlbmRpZgogICAgI2VuZGlmCgojZW5kaWYKCiAgICBnbF9GcmFnQ29sb3IgPSBmcmFnX2NvbG9yOwp9CgoKAAAAAAAAAAAAAAAAOAAAAAAAAAAgqQAAlQAAAJYAAADgAAAAQwAAAEQAAADhAAAA4gAAAM8AAADQAAAA0QAAANIAAADTAAAA1AAAANUAAADWAAAA1wAAANgAAADZAAAA2gAAAJcAAAAsAAAALQAAAAQAAAAFAAAABgAAAC4AAAAvAAAARwAAADEAAAAyAAAAMwAAADQAAABIAAAANgAAADcAAAA4AAAAOQAAAEkAAAA7AAAAPAAAAD0AAAA+AAAAPwAAAEoAAABBAAAASwAAAEMAAABEAAAATAAAAEYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMj////I////AAAAAAAAAADI////yP///8j////I////yP///8j///8AAAAAyP///yCpAAACAAAAmAAAAJkAAADjAAAARQAAAEYAAADkAAAA5QAAACcAAAAoAAAA3gAAAN8AAAArAAAALAAAAC0AAAAuAAAALwAAADAAAAAxAAAAMgAAADMAAAA0AAAANQAAADYAAACNAAAAjgAAAI8AAACQAAAAOwAAADwAAAA9AAAAPgAAAD8AAABAAAAAAwAAAAkAAAAEAAAAQQAAAEIAAAAFAAAABgAAAEAAAAAAAAAAMMsAAFMCAABUAgAA4AAAAEMAAABEAAAA4QAAAOIAAADPAAAA0AAAANEAAADSAAAA0wAAANQAAADVAAAA1gAAANcAAADYAAAA2QAAANoAAACXAAAALAAAAC0AAAAEAAAABQAAAAYAAAAuAAAALwAAAEcAAAAxAAAAMgAAADMAAAA0AAAASAAAADYAAAA3AAAAOAAAADkAAABJAAAAOwAAADwAAAA9AAAAPgAAAD8AAABKAAAAQQAAAEsAAABDAAAARAAAAEwAAABGAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADA////wP///wAAAAAAAAAAwP///8D////A////wP///8D////A////AAAAAMD///8wywAAAgAAAFUCAABWAgAA4wAAAEUAAABGAAAA5AAAAOUAAAAnAAAAKAAAAN4AAADfAAAAKwAAACwAAAAtAAAALgAAAC8AAAAwAAAAMQAAADIAAAAzAAAANAAAADUAAAA2AAAAjQAAAI4AAACPAAAAkAAAADsAAAA8AAAAPQAAAD4AAAA/AAAAQAAAAAMAAAAJAAAABAAAAEEAAABCAAAABQAAAAYAAAAAAQAA+AAAAAAAAABYvQAAOgIAAAYBAAAHAQAAOwIAADwCAAAEAAAABQAAAAEAAAABAAAAbAIAAG0CAAAGAAAABwAAAAgAAAAJAAAAAgAAAAYAAACLAQAAAgAAACkAAACMAQAAjQEAAI4BAACPAQAAkAEAAJEBAAAsAgAAAQAAAJIBAAAtAgAALgIAAAYAAAApAAAAkwEAAGYAAABkAgAAZwAAAAEAAABoAAAAaQAAACoAAABqAAAAKwAAAJQBAACVAQAAAgAAACoAAAArAAAALAAAAC0AAAAuAAAALwAAADAAAAAxAAAAMgAAADMAAAAvAgAAAQAAAAIAAAADAAAAAQAAADQAAAAEAAAAMAIAAGsAAAA1AAAANgAAAGUCAACWAQAAlwEAAAMAAACYAQAABAAAAGwAAAABAAAABQAAAAEAAAAEAAAABwAAAPwAAAD0AAAA/P///1i9AAA9AgAACAEAAAkBAAA+AgAAPwIAAA0AAAAOAAAAAwAAAAMAAABuAgAAbwIAAAj///8I////CP///wj///8AAAAAAAAAAAj///8I////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACP///wj///8AAAAAAAAAAAAAAAAAAAAACP///wj///8I////CP///wj///8IAAAACP///1i9AABAAgAACgEAAAsBAABBAgAAQgIAABIAAAATAAAAFAAAABUAAAAWAAAAFwAAABgAAAAZAAAAGgAAABsAAAAcAAAAHQAAAB4AAAAfAAAAIAAAACEAAAAiAAAAIwAAAAQAAABwAgAAcQIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD4////+P////j////4////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///8A////AP///wD///8A////AP///wAAAAAA////WL0AAAIAAAByAgAAcwIAAEMCAAAMAQAADQEAAEQCAABFAgAAJwAAACgAAAApAAAAKgAAACsAAAAsAAAALQAAAC4AAAAvAAAAMAAAADEAAAAyAAAAMwAAADQAAAA1AAAANgAAADcAAAA4AAAAOQAAADoAAAA7AAAAPAAAAD0AAAA+AAAAPwAAAEAAAAADAAAACQAAAAQAAABBAAAAQgAAAAUAAAAGAAAAAAAAAEqzAgBaswIAXrMCAHGzAgB1swIAhbMCAImzAgBMCwMAm7MCALKzAgC1swIAyLMCAMuzAgDfswIA47MCAGOkAgD8swIAD7QCABK0AgAptAIALLQCAEW0AgBItAIAWLQCAFy0AgButAIAcrQCAIW0AgCJtAIAhbQCAJ20AgBjpAIAurQCAGOkAgDKtAIA3bQCAOG0AgDrtAIA77QCAAC1AgAEtQIADrUCABK1AgAgtQIAJLUCADC1AgAztQIAPbUCAEG1AgBLtQIAT7UCAPmkAgBatQIAarUCAG61AgB7tQIAbrUCAH+1AgCGtQIAkbUCAJW1AgD5pAIAobUCAKu1AgCvtQIAAaUCALq1AgDFtQIAybUCAFqzAgDXtQIA5bUCAOm1AgDltQIA+7UCABK2AgAVtgIAKrYCAC22AgBAtgIARbYCAFS2AgBYtgIAYrYCAGa2AgAAtQIAebYCAFqzAgCFtgIAkrYCAJa2AgChtgIApbYCALG2AgC1tgIAwrYCAMa2AgDStgIA1rYCAOO2AgDntgIA8bYCAPW2AgA3pQIADbcCADOlAgAltwIAO6UCAD63AgA7pQIAV7cCAD+lAgBvtwIAgbcCAIW3AgDDpAIAkbcCAAGlAgCetwIA67QCALK3AgBitgIAwrcCAGK2AgDOtwIA8bYCAN63AgDqtwIA7rcCAOq3AgACuAIAEbgCABW4AgBrpQIAILgCAN20AgAuuAIAhbQCADm4AgBFuAIASbgCAFq4AgBfuAIAcbgCAHe4AgBjpAIAh7gCAJe4AgCbuAIApbgCAKm4AgC5uAIAvbgCAMa4AgDJuAIA07gCANe4AgDguAIA47gCAO64AgDyuAIApbgCAAC5AgAQuQIAE7kCAB25AgAhuQIALLkCADC5AgBHuQIASrkCACy5AgBZuQIAZrkCAGq5AgB+uQIAgrkCAJa5AgCauQIAs7kCALe5AgDGuAIAwrkCAM25AgDQuQIA07gCANy5AgDguAIA57kCAPe5AgD7uQIAD7oCABS6AgAhugIAJboCADS6AgA4ugIAR7oCAEu6AgBhugIAZboCAKW4AgB1ugIAgboCAIW6AgCRugIAlboCAKe6AgCtugIAvroCAMK6AgDOugIA0roCANy6AgDgugIA77oCAPO6AgABuwIABbsCAIW0AgAUuwIAIrsCAHyGAwAAAAAAVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVX/////AAAAAP////8AAAAA/////wAAAAD/////AAAAAP////8AAAAA/////wAAAAD/////AAAAAP////8AAAAA/////wAAAAD/////AAAAAP////8AAAAA/////wAAAAD/////AAAAAP////8AAAAA/////wAAAAD/////AAAAAFVVVVWqqqqqVVVVVaqqqqpVVVVVqqqqqlVVVVWqqqqqVVVVVaqqqqpVVVVVqqqqqlVVVVWqqqqqVVVVVaqqqqpVVVVVqqqqqlVVVVWqqqqqVVVVVaqqqqpVVVVVqqqqqlVVVVWqqqqqVVVVVaqqqqpVVVVVqqqqqlVVVVWqqqqqBBgWFgQYFhYAAgAAAAAAAEIDAAAEGBYWBBgWFnAAAAAAAAAAQwMAAAQYFhYEGBYWcAIAAAAAAABEAwAABBgWFgQYFhYDAAAAAAAAAEUDAAAEGBYWBBgWFgMCAAAAAAAARgMAAAQYFhYEGBYWcwAAAAAAAABHAwAABBgWFgQYFhZzAgAAAAAAAEgDAAAEGBYWBBhWFgACAAAAAAAASQMAAAQYFhYEGFYWcAAAAAAAAABKAwAABBgWFgQYVhZwAgAAAAAAAEsDAAAEGBYWBBhWFgMAAAAAAAAATAMAAAQYFhYEGFYWAwIAAAAAAABNAwAABBgWFgQYVhZzAAAAAAAAAE4DAAAEGBYWBBhWFnMCAAAAAAAATwMAAAQYFhYEIDYWAAIAAAAAAABQAwAABBgWFgQgNhZwAAAAAAAAAFEDAAAEGBYWBCA2FnACAAAAAAAAUgMAAAQYFhYEIDYWAwAAAAAAAABTAwAABBgWFgQgNhYDAgAAAAAAAFQDAAAEGBYWBCA2FnMAAAAAAAAAVQMAAAQYFhYEIDYWcwIAAAAAAABWAwAABBhWFgQYFhYAAgAAAAAAAFcDAAAEGFYWBBgWFnAAAAAAAAAAWAMAAAQYVhYEGBYWcAIAAAAAAABZAwAABBhWFgQYFhYDAAAAAAAAAFoDAAAEGFYWBBgWFgMCAAAAAAAAWwMAAAQYVhYEGBYWcwAAAAAAAABcAwAABBhWFgQYFhZzAgAAAAAAAF0DAAAEGFYWBBhWFgACAAAAAAAAXgMAAAQYVhYEGFYWcAAAAAAAAABfAwAABBhWFgQYVhZwAgAAAAAAAGADAAAEGFYWBBhWFgMAAAAAAAAAYQMAAAQYVhYEGFYWAwIAAAAAAABiAwAABBhWFgQYVhZzAAAAAAAAAGMDAAAEGFYWBBhWFnMCAAAAAAAAZAMAAAQYVhYEIDYWAAIAAAAAAABlAwAABBhWFgQgNhZwAAAAAAAAAGYDAAAEGFYWBCA2FnACAAAAAAAAZwMAAAQYVhYEIDYWAwAAAAAAAABoAwAABBhWFgQgNhYDAgAAAAAAAGkDAAAEGFYWBCA2FnMAAAAAAAAAagMAAAQYVhYEIDYWcwIAAAAAAABrAwAABCA2FgQYFhYAAgAAAAAAAGwDAAAEIDYWBBgWFnAAAAAAAAAAbQMAAAQgNhYEGBYWcAIAAAAAAABuAwAABCA2FgQYFhYDAAAAAAAAAG8DAAAEIDYWBBgWFgMCAAAAAAAAcAMAAAQgNhYEGBYWcwAAAAAAAABxAwAABCA2FgQYFhZzAgAAAAAAAHIDAAAEIDYWBBhWFgACAAAAAAAAcwMAAAQgNhYEGFYWcAAAAAAAAAB0AwAABCA2FgQYVhZwAgAAAAAAAHUDAAAEIDYWBBhWFgMAAAAAAAAAdgMAAAQgNhYEGFYWAwIAAAAAAAB3AwAABCA2FgQYVhZzAAAAAAAAAHgDAAAEIDYWBBhWFnMCAAAAAAAAeQMAAAQgNhYEIDYWAAIAAAAAAAB6AwAABCA2FgQgNhZwAAAAAAAAAHsDAAAEIDYWBCA2FnACAAAAAAAAfAMAAAQgNhYEIDYWAwAAAAAAAAB9AwAABCA2FgQgNhYDAgAAAAAAAH4DAAAEIDYWBCA2FnMAAAAAAAAAfwMAAAQgNhYEIDYWcwIAAAAAAACAAwAABCBGFgQYFhYAAgAAAAAAAIEDAAAEIEYWBBgWFnAAAAAAAAAAggMAAAQgRhYEGBYWcAIAAAAAAACDAwAABCBGFgQYFhYDAAAAAAAAAIQDAAAEIEYWBBgWFgMCAAAAAAAAhQMAAAQgRhYEGBYWcwAAAAAAAACGAwAABCBGFgQYFhZzAgAAAAAAAIcDAAAEIEYWBBhWFgACAAAAAAAAiAMAAAQgRhYEGFYWcAAAAAAAAACJAwAABCBGFgQYVhZwAgAAAAAAAIoDAAAEIEYWBBhWFgMAAAAAAAAAiwMAAAQgRhYEGFYWAwIAAAAAAACMAwAABCBGFgQYVhZzAAAAAAAAAI0DAAAEIEYWBBhWFnMCAAAAAAAAjgMAAAQgRhYEIDYWAAIAAAAAAACPAwAABCBGFgQgNhZwAAAAAAAAAJADAAAEIEYWBCA2FnACAAAAAAAAkQMAAAQgRhYEIDYWAwAAAAAAAACSAwAABCBGFgQgNhYDAgAAAAAAAJMDAAAEIEYWBCA2FnMAAAAAAAAAlAMAAAQgRhYEIDYWcwIAAAAAAACVAwAABCB2FgQYFhYAAgAAAAAAAJYDAAAEIHYWBBgWFnAAAAAAAAAAlwMAAAQgdhYEGBYWcAIAAAAAAACYAwAABCB2FgQYFhYDAAAAAAAAAJkDAAAEIHYWBBgWFgMCAAAAAAAAmgMAAAQgdhYEGBYWcwAAAAAAAACbAwAABCB2FgQYFhZzAgAAAAAAAJwDAAAEIHYWBBhWFgACAAAAAAAAnQMAAAQgdhYEGFYWcAAAAAAAAACeAwAABCB2FgQYVhZwAgAAAAAAAJ8DAAAEIHYWBBhWFgMAAAAAAAAAoAMAAAQgdhYEGFYWAwIAAAAAAAChAwAABCB2FgQYVhZzAAAAAAAAAKIDAAAEIHYWBBhWFnMCAAAAAAAAowMAAAQgdhYEIDYWAAIAAAAAAACkAwAABCB2FgQgNhZwAAAAAAAAAKUDAAAEIHYWBCA2FnACAAAAAAAApgMAAAQgdhYEIDYWAwAAAAAAAACnAwAABCB2FgQgNhYDAgAAAAAAAKgDAAAEIHYWBCA2FnMAAAAAAAAAqQMAAAQgdhYEIDYWcwIAAAAAAACqAwAABCCGFgQYFhYAAgAAAAAAAKsDAAAEIIYWBBgWFnAAAAAAAAAArAMAAAQghhYEGBYWcAIAAAAAAACtAwAABCCGFgQYFhYDAAAAAAAAAK4DAAAEIIYWBBgWFgMCAAAAAAAArwMAAAQghhYEGBYWcwAAAAAAAACwAwAABCCGFgQYFhZzAgAAAAAAALEDAAAEIIYWBBhWFgACAAAAAAAAsgMAAAQghhYEGFYWcAAAAAAAAACzAwAABCCGFgQYVhZwAgAAAAAAALQDAAAEIIYWBBhWFgMAAAAAAAAAtQMAAAQghhYEGFYWAwIAAAAAAAC2AwAABCCGFgQYVhZzAAAAAAAAALcDAAAEIIYWBBhWFnMCAAAAAAAAuAMAAAQghhYEIDYWAAIAAAAAAAC5AwAABCCGFgQgNhZwAAAAAAAAALoDAAAEIIYWBCA2FnACAAAAAAAAuwMAAAQghhYEIDYWAwAAAAAAAAC8AwAABCCGFgQgNhYDAgAAAAAAAL0DAAAEIIYWBCA2FnMAAAAAAAAAvgMAAAQghhYEIDYWcwIAAAAAAAC/AwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAID8AACBAAACgQAAA4EAAAABBAABA8wIASPMCAEzzAgBO8wIAAAAAAAAAAAAAAAAAAAECAwQFBgcICQoLDA0ODxAREhMUFRYXGBkaGxwdHh8gISIjJCUmJygpKissLS4vMDEyMzQ1Njc4OTo7PD0+P0BBQkNERUZHSElKS0xNTk9QUVJTVFVWV1hZWltcXV5fYGFiY2RlZmdoaWprbG1ub3BxcnN0dXZ3eHl6e3x9fn+AgYKDhIWGh4iJiouMjY6PkJGSk5SVlpeYmZqbnJ2en6ChoqOkpaanqKmqq6ytrq+wsbKztLW2t7i5uru8vb6/wMHCw8TFxsfIycrLzM3Oz9DR0tPU1dbX2Nna29zd3t/g4eLj5OXm5+jp6uvs7e7v8PHy8/T19vf4+fr7/P3+/wACBAYICgwOEBIUFhgaHB4gIiQmKCosLjAyNDY4Ojw+QEJERkhKTE5QUlRWWFpcXmBiZGZoamxucHJ0dnh6fH6AgoSGiIqMjpCSlJaYmpyeoKKkpqiqrK6wsrS2uLq8vsDCxMbIyszO0NLU1tja3N7g4uTm6Ors7vDy9Pb4+vz/AAQIDBAUGBwgJCgsMDQ4PEBESExQVVldYWVpbXF1eX2BhYmNkZWZnaGlqq6ytrq+wsbKztLW2t7i5uru8vb6/wAIEBggKTE5QUpSWmJqc3uDi5ScpKy0vcXN1d7m7vb/ABEiM0RVZneImaq7zN3u/yBBAABQQQAAIEIAAFBCAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMADAAAAAAAAAAAAAAAAAAAA+AAA4AcAAB8AAAAEAAAAAAD/AAD/AAD/AAAAAAAAAMEDAAAHAAAAAPgAAOAHAAAfAAAABAAAAP8AAAAA/wAAAAD/AAAAAADCAwAABwAAAAD4AADgBwAAHwAAAAQAAAAAAAD/AAD/AAD/AAAAAAAAwwMAAAcAAAAA+AAA4AcAAB8AAAAEAAAAAP8AAAAA/wAAAAD/AAAAAMQDAAAHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAAwAAAAAAAAAAAAAAAAAAAAD/AAD/AAD/AAAAAgAAAAD4AADgBwAAHwAAAAAAAADFAwAAAQAAAAAA/wAA/wAA/wAAAAIAAAAAfAAA4AMAAB8AAAAAAAAAxgMAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMADAAAAAAAAAAAAAAAAAAAAAAAA/wAAAAAAAAj/ACAAAAAAEP8AQAAAAAAY/wBhAAAAACD/AIEAAAAAKf8AoQAAAAAx/wDCAAAAADn/AOIAAAAAQf8IAAAAAABK/wggAAAAAFL/CEAAAAAAWv8IYQAAAABi/wiBAAAAAGr/CKEAAAAAc/8IwgAAAAB7/wjiAAAAAIP/EAAAAAAAi/8QIAAAAACU/xBAAAAAAJz/EGEAAAAApP8QgQAAAACs/xChAAAAALT/EMIAAAAAvf8Q4gAAAADF/xgAAAAAAM3/GCAAAAAA1f8YQAAAAADe/xhhAAAAAOb/GIEAAAAA7v8YoQAAAAD2/xjCAAAAAP//GOIAAAAEAP8gAAAAAAQI/yAgAAAABBD/IEAAAAAEGP8gYQAAAAQg/yCBAAAABCn/IKEAAAAEMf8gwgAAAAQ5/yDiAAAABEH/KQAAAAAESv8pIAAAAARS/ylAAAAABFr/KWEAAAAEYv8pgQAAAARq/ymhAAAABHP/KcIAAAAEe/8p4gAAAASD/zEAAAAABIv/MSAAAAAElP8xQAAAAASc/zFhAAAABKT/MYEAAAAErP8xoQAAAAS0/zHCAAAABL3/MeIAAAAExf85AAAAAATN/zkgAAAABNX/OUAAAAAE3v85YQAAAATm/zmBAAAABO7/OaEAAAAE9v85wgAAAAT//zniAAAACAD/QQAAAAAICP9BIAAAAAgQ/0FAAAAACBj/QWEAAAAIIP9BgQAAAAgp/0GhAAAACDH/QcIAAAAIOf9B4gAAAAhB/0oAAAAACEr/SiAAAAAIUv9KQAAAAAha/0phAAAACGL/SoEAAAAIav9KoQAAAAhz/0rCAAAACHv/SuIAAAAIg/9SAAAAAAiL/1IgAAAACJT/UkAAAAAInP9SYQAAAAik/1KBAAAACKz/UqEAAAAItP9SwgAAAAi9/1LiAAAACMX/WgAAAAAIzf9aIAAAAAjV/1pAAAAACN7/WmEAAAAI5v9agQAAAAju/1qhAAAACPb/WsIAAAAI//9a4gAAAAwA/2IAAAAADAj/YiAAAAAMEP9iQAAAAAwY/2JhAAAADCD/YoEAAAAMKf9ioQAAAAwx/2LCAAAADDn/YuIAAAAMQf9qAAAAAAxK/2ogAAAADFL/akAAAAAMWv9qYQAAAAxi/2qBAAAADGr/aqEAAAAMc/9qwgAAAAx7/2riAAAADIP/cwAAAAAMi/9zIAAAAAyU/3NAAAAADJz/c2EAAAAMpP9zgQAAAAys/3OhAAAADLT/c8IAAAAMvf9z4gAAAAzF/3sAAAAADM3/eyAAAAAM1f97QAAAAAze/3thAAAADOb/e4EAAAAM7v97oQAAAAz2/3vCAAAADP//e+IAAAAQAP+DAAAAABAI/4MgAAAAEBD/g0AAAAAQGP+DYQAAABAg/4OBAAAAECn/g6EAAAAQMf+DwgAAABA5/4PiAAAAEEH/iwAAAAAQSv+LIAAAABBS/4tAAAAAEFr/i2EAAAAQYv+LgQAAABBq/4uhAAAAEHP/i8IAAAAQe/+L4gAAABCD/5QAAAAAEIv/lCAAAAAQlP+UQAAAABCc/5RhAAAAEKT/lIEAAAAQrP+UoQAAABC0/5TCAAAAEL3/lOIAAAAQxf+cAAAAABDN/5wgAAAAENX/nEAAAAAQ3v+cYQAAABDm/5yBAAAAEO7/nKEAAAAQ9v+cwgAAABD//5ziAAAAFAD/pAAAAAAUCP+kIAAAABQQ/6RAAAAAFBj/pGEAAAAUIP+kgQAAABQp/6ShAAAAFDH/pMIAAAAUOf+k4gAAABRB/6wAAAAAFEr/rCAAAAAUUv+sQAAAABRa/6xhAAAAFGL/rIEAAAAUav+soQAAABRz/6zCAAAAFHv/rOIAAAAUg/+0AAAAABSL/7QgAAAAFJT/tEAAAAAUnP+0YQAAABSk/7SBAAAAFKz/tKEAAAAUtP+0wgAAABS9/7TiAAAAFMX/vQAAAAAUzf+9IAAAABTV/71AAAAAFN7/vWEAAAAU5v+9gQAAABTu/72hAAAAFPb/vcIAAAAU//+94gAAABgA/8UAAAAAGAj/xSAAAAAYEP/FQAAAABgY/8VhAAAAGCD/xYEAAAAYKf/FoQAAABgx/8XCAAAAGDn/xeIAAAAYQf/NAAAAABhK/80gAAAAGFL/zUAAAAAYWv/NYQAAABhi/82BAAAAGGr/zaEAAAAYc//NwgAAABh7/83iAAAAGIP/1QAAAAAYi//VIAAAABiU/9VAAAAAGJz/1WEAAAAYpP/VgQAAABis/9WhAAAAGLT/1cIAAAAYvf/V4gAAABjF/94AAAAAGM3/3iAAAAAY1f/eQAAAABje/95hAAAAGOb/3oEAAAAY7v/eoQAAABj2/97CAAAAGP//3uIAAAAcAP/mAAAAABwI/+YgAAAAHBD/5kAAAAAcGP/mYQAAABwg/+aBAAAAHCn/5qEAAAAcMf/mwgAAABw5/+biAAAAHEH/7gAAAAAcSv/uIAAAABxS/+5AAAAAHFr/7mEAAAAcYv/ugQAAABxq/+6hAAAAHHP/7sIAAAAce//u4gAAAByD//YAAAAAHIv/9iAAAAAclP/2QAAAAByc//ZhAAAAHKT/9oEAAAAcrP/2oQAAABy0//bCAAAAHL3/9uIAAAAcxf//AAAAABzN//8gAAAAHNX//0AAAAAc3v//YQAAABzm//+BAAAAHO7//6EAAAAc9v//wgAAABz////iAP8AAAAAAAAA/wgAAAAAIAD/EAAAAABAAP8YAAAAAGEA/yAAAAAAgQD/KQAAAAChAP8xAAAAAMIA/zkAAAAA4gD/QQAAAAAACP9KAAAAACAI/1IAAAAAQAj/WgAAAABhCP9iAAAAAIEI/2oAAAAAoQj/cwAAAADCCP97AAAAAOII/4MAAAAAABD/iwAAAAAgEP+UAAAAAEAQ/5wAAAAAYRD/pAAAAACBEP+sAAAAAKEQ/7QAAAAAwhD/vQAAAADiEP/FAAAAAAAY/80AAAAAIBj/1QAAAABAGP/eAAAAAGEY/+YAAAAAgRj/7gAAAAChGP/2AAAAAMIY//8AAAAA4hj/AAQAAAAAIP8IBAAAACAg/xAEAAAAQCD/GAQAAABhIP8gBAAAAIEg/ykEAAAAoSD/MQQAAADCIP85BAAAAOIg/0EEAAAAACn/SgQAAAAgKf9SBAAAAEAp/1oEAAAAYSn/YgQAAACBKf9qBAAAAKEp/3MEAAAAwin/ewQAAADiKf+DBAAAAAAx/4sEAAAAIDH/lAQAAABAMf+cBAAAAGEx/6QEAAAAgTH/rAQAAAChMf+0BAAAAMIx/70EAAAA4jH/xQQAAAAAOf/NBAAAACA5/9UEAAAAQDn/3gQAAABhOf/mBAAAAIE5/+4EAAAAoTn/9gQAAADCOf//BAAAAOI5/wAIAAAAAEH/CAgAAAAgQf8QCAAAAEBB/xgIAAAAYUH/IAgAAACBQf8pCAAAAKFB/zEIAAAAwkH/OQgAAADiQf9BCAAAAABK/0oIAAAAIEr/UggAAABASv9aCAAAAGFK/2IIAAAAgUr/aggAAAChSv9zCAAAAMJK/3sIAAAA4kr/gwgAAAAAUv+LCAAAACBS/5QIAAAAQFL/nAgAAABhUv+kCAAAAIFS/6wIAAAAoVL/tAgAAADCUv+9CAAAAOJS/8UIAAAAAFr/zQgAAAAgWv/VCAAAAEBa/94IAAAAYVr/5ggAAACBWv/uCAAAAKFa//YIAAAAwlr//wgAAADiWv8ADAAAAABi/wgMAAAAIGL/EAwAAABAYv8YDAAAAGFi/yAMAAAAgWL/KQwAAAChYv8xDAAAAMJi/zkMAAAA4mL/QQwAAAAAav9KDAAAACBq/1IMAAAAQGr/WgwAAABhav9iDAAAAIFq/2oMAAAAoWr/cwwAAADCav97DAAAAOJq/4MMAAAAAHP/iwwAAAAgc/+UDAAAAEBz/5wMAAAAYXP/pAwAAACBc/+sDAAAAKFz/7QMAAAAwnP/vQwAAADic//FDAAAAAB7/80MAAAAIHv/1QwAAABAe//eDAAAAGF7/+YMAAAAgXv/7gwAAAChe//2DAAAAMJ7//8MAAAA4nv/ABAAAAAAg/8IEAAAACCD/xAQAAAAQIP/GBAAAABhg/8gEAAAAIGD/ykQAAAAoYP/MRAAAADCg/85EAAAAOKD/0EQAAAAAIv/ShAAAAAgi/9SEAAAAECL/1oQAAAAYYv/YhAAAACBi/9qEAAAAKGL/3MQAAAAwov/exAAAADii/+DEAAAAACU/4sQAAAAIJT/lBAAAABAlP+cEAAAAGGU/6QQAAAAgZT/rBAAAAChlP+0EAAAAMKU/70QAAAA4pT/xRAAAAAAnP/NEAAAACCc/9UQAAAAQJz/3hAAAABhnP/mEAAAAIGc/+4QAAAAoZz/9hAAAADCnP//EAAAAOKc/wAUAAAAAKT/CBQAAAAgpP8QFAAAAECk/xgUAAAAYaT/IBQAAACBpP8pFAAAAKGk/zEUAAAAwqT/ORQAAADipP9BFAAAAACs/0oUAAAAIKz/UhQAAABArP9aFAAAAGGs/2IUAAAAgaz/ahQAAAChrP9zFAAAAMKs/3sUAAAA4qz/gxQAAAAAtP+LFAAAACC0/5QUAAAAQLT/nBQAAABhtP+kFAAAAIG0/6wUAAAAobT/tBQAAADCtP+9FAAAAOK0/8UUAAAAAL3/zRQAAAAgvf/VFAAAAEC9/94UAAAAYb3/5hQAAACBvf/uFAAAAKG9//YUAAAAwr3//xQAAADivf8AGAAAAADF/wgYAAAAIMX/EBgAAABAxf8YGAAAAGHF/yAYAAAAgcX/KRgAAAChxf8xGAAAAMLF/zkYAAAA4sX/QRgAAAAAzf9KGAAAACDN/1IYAAAAQM3/WhgAAABhzf9iGAAAAIHN/2oYAAAAoc3/cxgAAADCzf97GAAAAOLN/4MYAAAAANX/ixgAAAAg1f+UGAAAAEDV/5wYAAAAYdX/pBgAAACB1f+sGAAAAKHV/7QYAAAAwtX/vRgAAADi1f/FGAAAAADe/80YAAAAIN7/1RgAAABA3v/eGAAAAGHe/+YYAAAAgd7/7hgAAACh3v/2GAAAAMLe//8YAAAA4t7/ABwAAAAA5v8IHAAAACDm/xAcAAAAQOb/GBwAAABh5v8gHAAAAIHm/ykcAAAAoeb/MRwAAADC5v85HAAAAOLm/0EcAAAAAO7/ShwAAAAg7v9SHAAAAEDu/1ocAAAAYe7/YhwAAACB7v9qHAAAAKHu/3McAAAAwu7/exwAAADi7v+DHAAAAAD2/4scAAAAIPb/lBwAAABA9v+cHAAAAGH2/6QcAAAAgfb/rBwAAACh9v+0HAAAAML2/70cAAAA4vb/xRwAAAAA///NHAAAACD//9UcAAAAQP//3hwAAABh///mHAAAAIH//+4cAAAAof//9hwAAADC////HAAAAOL/AAAA/wAAAAAAAAj/ACAAAAAAEP8AQAAAAAAY/wBhAAAAACD/AIEAAAAAKf8AoQAAAAAx/wDCAAAAADn/AOIAAAAAQf8IAAAAAABK/wggAAAAAFL/CEAAAAAAWv8IYQAAAABi/wiBAAAAAGr/CKEAAAAAc/8IwgAAAAB7/wjiAAAAAIP/EAAAAAAAi/8QIAAAAACU/xBAAAAAAJz/EGEAAAAApP8QgQAAAACs/xChAAAAALT/EMIAAAAAvf8Q4gAAAADF/xgAAAAAAM3/GCAAAAAA1f8YQAAAAADe/xhhAAAAAOb/GIEAAAAA7v8YoQAAAAD2/xjCAAAAAP//GOIAAAAEAP8gAAAAAAQI/yAgAAAABBD/IEAAAAAEGP8gYQAAAAQg/yCBAAAABCn/IKEAAAAEMf8gwgAAAAQ5/yDiAAAABEH/KQAAAAAESv8pIAAAAARS/ylAAAAABFr/KWEAAAAEYv8pgQAAAARq/ymhAAAABHP/KcIAAAAEe/8p4gAAAASD/zEAAAAABIv/MSAAAAAElP8xQAAAAASc/zFhAAAABKT/MYEAAAAErP8xoQAAAAS0/zHCAAAABL3/MeIAAAAExf85AAAAAATN/zkgAAAABNX/OUAAAAAE3v85YQAAAATm/zmBAAAABO7/OaEAAAAE9v85wgAAAAT//zniAAAACAD/QQAAAAAICP9BIAAAAAgQ/0FAAAAACBj/QWEAAAAIIP9BgQAAAAgp/0GhAAAACDH/QcIAAAAIOf9B4gAAAAhB/0oAAAAACEr/SiAAAAAIUv9KQAAAAAha/0phAAAACGL/SoEAAAAIav9KoQAAAAhz/0rCAAAACHv/SuIAAAAIg/9SAAAAAAiL/1IgAAAACJT/UkAAAAAInP9SYQAAAAik/1KBAAAACKz/UqEAAAAItP9SwgAAAAi9/1LiAAAACMX/WgAAAAAIzf9aIAAAAAjV/1pAAAAACN7/WmEAAAAI5v9agQAAAAju/1qhAAAACPb/WsIAAAAI//9a4gAAAAwA/2IAAAAADAj/YiAAAAAMEP9iQAAAAAwY/2JhAAAADCD/YoEAAAAMKf9ioQAAAAwx/2LCAAAADDn/YuIAAAAMQf9qAAAAAAxK/2ogAAAADFL/akAAAAAMWv9qYQAAAAxi/2qBAAAADGr/aqEAAAAMc/9qwgAAAAx7/2riAAAADIP/cwAAAAAMi/9zIAAAAAyU/3NAAAAADJz/c2EAAAAMpP9zgQAAAAys/3OhAAAADLT/c8IAAAAMvf9z4gAAAAzF/3sAAAAADM3/eyAAAAAM1f97QAAAAAze/3thAAAADOb/e4EAAAAM7v97oQAAAAz2/3vCAAAADP//e+IAAAAQAP+DAAAAABAI/4MgAAAAEBD/g0AAAAAQGP+DYQAAABAg/4OBAAAAECn/g6EAAAAQMf+DwgAAABA5/4PiAAAAEEH/iwAAAAAQSv+LIAAAABBS/4tAAAAAEFr/i2EAAAAQYv+LgQAAABBq/4uhAAAAEHP/i8IAAAAQe/+L4gAAABCD/5QAAAAAEIv/lCAAAAAQlP+UQAAAABCc/5RhAAAAEKT/lIEAAAAQrP+UoQAAABC0/5TCAAAAEL3/lOIAAAAQxf+cAAAAABDN/5wgAAAAENX/nEAAAAAQ3v+cYQAAABDm/5yBAAAAEO7/nKEAAAAQ9v+cwgAAABD//5ziAAAAFAD/pAAAAAAUCP+kIAAAABQQ/6RAAAAAFBj/pGEAAAAUIP+kgQAAABQp/6ShAAAAFDH/pMIAAAAUOf+k4gAAABRB/6wAAAAAFEr/rCAAAAAUUv+sQAAAABRa/6xhAAAAFGL/rIEAAAAUav+soQAAABRz/6zCAAAAFHv/rOIAAAAUg/+0AAAAABSL/7QgAAAAFJT/tEAAAAAUnP+0YQAAABSk/7SBAAAAFKz/tKEAAAAUtP+0wgAAABS9/7TiAAAAFMX/vQAAAAAUzf+9IAAAABTV/71AAAAAFN7/vWEAAAAU5v+9gQAAABTu/72hAAAAFPb/vcIAAAAU//+94gAAABgA/8UAAAAAGAj/xSAAAAAYEP/FQAAAABgY/8VhAAAAGCD/xYEAAAAYKf/FoQAAABgx/8XCAAAAGDn/xeIAAAAYQf/NAAAAABhK/80gAAAAGFL/zUAAAAAYWv/NYQAAABhi/82BAAAAGGr/zaEAAAAYc//NwgAAABh7/83iAAAAGIP/1QAAAAAYi//VIAAAABiU/9VAAAAAGJz/1WEAAAAYpP/VgQAAABis/9WhAAAAGLT/1cIAAAAYvf/V4gAAABjF/94AAAAAGM3/3iAAAAAY1f/eQAAAABje/95hAAAAGOb/3oEAAAAY7v/eoQAAABj2/97CAAAAGP//3uIAAAAcAP/mAAAAABwI/+YgAAAAHBD/5kAAAAAcGP/mYQAAABwg/+aBAAAAHCn/5qEAAAAcMf/mwgAAABw5/+biAAAAHEH/7gAAAAAcSv/uIAAAABxS/+5AAAAAHFr/7mEAAAAcYv/ugQAAABxq/+6hAAAAHHP/7sIAAAAce//u4gAAAByD//YAAAAAHIv/9iAAAAAclP/2QAAAAByc//ZhAAAAHKT/9oEAAAAcrP/2oQAAABy0//bCAAAAHL3/9uIAAAAcxf//AAAAABzN//8gAAAAHNX//0AAAAAc3v//YQAAABzm//+BAAAAHO7//6EAAAAc9v//wgAAABz////iAAAAAAAAAAAA/wgAAAAAIAD/EAAAAABAAP8YAAAAAGEA/yAAAAAAgQD/KQAAAAChAP8xAAAAAMIA/zkAAAAA4gD/QQAAAAAACP9KAAAAACAI/1IAAAAAQAj/WgAAAABhCP9iAAAAAIEI/2oAAAAAoQj/cwAAAADCCP97AAAAAOII/4MAAAAAABD/iwAAAAAgEP+UAAAAAEAQ/5wAAAAAYRD/pAAAAACBEP+sAAAAAKEQ/7QAAAAAwhD/vQAAAADiEP/FAAAAAAAY/80AAAAAIBj/1QAAAABAGP/eAAAAAGEY/+YAAAAAgRj/7gAAAAChGP/2AAAAAMIY//8AAAAA4hj/AAQAAAAAIP8IBAAAACAg/xAEAAAAQCD/GAQAAABhIP8gBAAAAIEg/ykEAAAAoSD/MQQAAADCIP85BAAAAOIg/0EEAAAAACn/SgQAAAAgKf9SBAAAAEAp/1oEAAAAYSn/YgQAAACBKf9qBAAAAKEp/3MEAAAAwin/ewQAAADiKf+DBAAAAAAx/4sEAAAAIDH/lAQAAABAMf+cBAAAAGEx/6QEAAAAgTH/rAQAAAChMf+0BAAAAMIx/70EAAAA4jH/xQQAAAAAOf/NBAAAACA5/9UEAAAAQDn/3gQAAABhOf/mBAAAAIE5/+4EAAAAoTn/9gQAAADCOf//BAAAAOI5/wAIAAAAAEH/CAgAAAAgQf8QCAAAAEBB/xgIAAAAYUH/IAgAAACBQf8pCAAAAKFB/zEIAAAAwkH/OQgAAADiQf9BCAAAAABK/0oIAAAAIEr/UggAAABASv9aCAAAAGFK/2IIAAAAgUr/aggAAAChSv9zCAAAAMJK/3sIAAAA4kr/gwgAAAAAUv+LCAAAACBS/5QIAAAAQFL/nAgAAABhUv+kCAAAAIFS/6wIAAAAoVL/tAgAAADCUv+9CAAAAOJS/8UIAAAAAFr/zQgAAAAgWv/VCAAAAEBa/94IAAAAYVr/5ggAAACBWv/uCAAAAKFa//YIAAAAwlr//wgAAADiWv8ADAAAAABi/wgMAAAAIGL/EAwAAABAYv8YDAAAAGFi/yAMAAAAgWL/KQwAAAChYv8xDAAAAMJi/zkMAAAA4mL/QQwAAAAAav9KDAAAACBq/1IMAAAAQGr/WgwAAABhav9iDAAAAIFq/2oMAAAAoWr/cwwAAADCav97DAAAAOJq/4MMAAAAAHP/iwwAAAAgc/+UDAAAAEBz/5wMAAAAYXP/pAwAAACBc/+sDAAAAKFz/7QMAAAAwnP/vQwAAADic//FDAAAAAB7/80MAAAAIHv/1QwAAABAe//eDAAAAGF7/+YMAAAAgXv/7gwAAAChe//2DAAAAMJ7//8MAAAA4nv/ABAAAAAAg/8IEAAAACCD/xAQAAAAQIP/GBAAAABhg/8gEAAAAIGD/ykQAAAAoYP/MRAAAADCg/85EAAAAOKD/0EQAAAAAIv/ShAAAAAgi/9SEAAAAECL/1oQAAAAYYv/YhAAAACBi/9qEAAAAKGL/3MQAAAAwov/exAAAADii/+DEAAAAACU/4sQAAAAIJT/lBAAAABAlP+cEAAAAGGU/6QQAAAAgZT/rBAAAAChlP+0EAAAAMKU/70QAAAA4pT/xRAAAAAAnP/NEAAAACCc/9UQAAAAQJz/3hAAAABhnP/mEAAAAIGc/+4QAAAAoZz/9hAAAADCnP//EAAAAOKc/wAUAAAAAKT/CBQAAAAgpP8QFAAAAECk/xgUAAAAYaT/IBQAAACBpP8pFAAAAKGk/zEUAAAAwqT/ORQAAADipP9BFAAAAACs/0oUAAAAIKz/UhQAAABArP9aFAAAAGGs/2IUAAAAgaz/ahQAAAChrP9zFAAAAMKs/3sUAAAA4qz/gxQAAAAAtP+LFAAAACC0/5QUAAAAQLT/nBQAAABhtP+kFAAAAIG0/6wUAAAAobT/tBQAAADCtP+9FAAAAOK0/8UUAAAAAL3/zRQAAAAgvf/VFAAAAEC9/94UAAAAYb3/5hQAAACBvf/uFAAAAKG9//YUAAAAwr3//xQAAADivf8AGAAAAADF/wgYAAAAIMX/EBgAAABAxf8YGAAAAGHF/yAYAAAAgcX/KRgAAAChxf8xGAAAAMLF/zkYAAAA4sX/QRgAAAAAzf9KGAAAACDN/1IYAAAAQM3/WhgAAABhzf9iGAAAAIHN/2oYAAAAoc3/cxgAAADCzf97GAAAAOLN/4MYAAAAANX/ixgAAAAg1f+UGAAAAEDV/5wYAAAAYdX/pBgAAACB1f+sGAAAAKHV/7QYAAAAwtX/vRgAAADi1f/FGAAAAADe/80YAAAAIN7/1RgAAABA3v/eGAAAAGHe/+YYAAAAgd7/7hgAAACh3v/2GAAAAMLe//8YAAAA4t7/ABwAAAAA5v8IHAAAACDm/xAcAAAAQOb/GBwAAABh5v8gHAAAAIHm/ykcAAAAoeb/MRwAAADC5v85HAAAAOLm/0EcAAAAAO7/ShwAAAAg7v9SHAAAAEDu/1ocAAAAYe7/YhwAAACB7v9qHAAAAKHu/3McAAAAwu7/exwAAADi7v+DHAAAAAD2/4scAAAAIPb/lBwAAABA9v+cHAAAAGH2/6QcAAAAgfb/rBwAAACh9v+0HAAAAML2/70cAAAA4vb/xRwAAAAA///NHAAAACD//9UcAAAAQP//3hwAAABh///mHAAAAIH//+4cAAAAof//9hwAAADC////HAAAAOL//wAAAADHAwAAyAMAAMkDAADKAwAAAAAAAAAAAAAAAAAAAAAAAMsDAADMAwAAzQMAAM4DAAAAAAAAAAAAAAAAAAAAAAAAzwMAANADAADRAwAA0gMAAAAAAAAAAAAAAAAAAAAAAADTAwAA1AMAANUDAADWAwAAAAAAAAAAAAAAAAAA0AIAANECAADSAgAA0wIAACAgICAgcHJlY2lzaW9uIG1lZGl1bXAgZmxvYXQ7ICAgICB1bmlmb3JtIHNhbXBsZXIyRCB1X3RleHR1cmU7ICAgICB1bmlmb3JtIHZlYzQgdV9tb2R1bGF0aW9uOyAgICAgdmFyeWluZyB2ZWMyIHZfdGV4Q29vcmQ7ICAgICAgICAgdm9pZCBtYWluKCkgICAgIHsgICAgICAgICB2ZWM0IGFiZ3IgPSB0ZXh0dXJlMkQodV90ZXh0dXJlLCB2X3RleENvb3JkKTsgICAgICAgICBnbF9GcmFnQ29sb3IgPSBhYmdyOyAgICAgICAgIGdsX0ZyYWdDb2xvci5hID0gMS4wOyAgICAgICAgIGdsX0ZyYWdDb2xvciAqPSB1X21vZHVsYXRpb247ICAgICB9IAAAAAAAAAAAAAAAAAAAICAgICBwcmVjaXNpb24gbWVkaXVtcCBmbG9hdDsgICAgIHVuaWZvcm0gc2FtcGxlcjJEIHVfdGV4dHVyZTsgICAgIHVuaWZvcm0gdmVjNCB1X21vZHVsYXRpb247ICAgICB2YXJ5aW5nIHZlYzIgdl90ZXhDb29yZDsgICAgICAgICB2b2lkIG1haW4oKSAgICAgeyAgICAgICAgIHZlYzQgYWJnciA9IHRleHR1cmUyRCh1X3RleHR1cmUsIHZfdGV4Q29vcmQpOyAgICAgICAgIGdsX0ZyYWdDb2xvciA9IGFiZ3I7ICAgICAgICAgZ2xfRnJhZ0NvbG9yLnIgPSBhYmdyLmI7ICAgICAgICAgZ2xfRnJhZ0NvbG9yLmIgPSBhYmdyLnI7ICAgICAgICAgZ2xfRnJhZ0NvbG9yLmEgPSAxLjA7ICAgICAgICAgZ2xfRnJhZ0NvbG9yICo9IHVfbW9kdWxhdGlvbjsgICAgIH0gAAAAAAAAAAAAAAAAICAgICBwcmVjaXNpb24gbWVkaXVtcCBmbG9hdDsgICAgIHVuaWZvcm0gc2FtcGxlcjJEIHVfdGV4dHVyZTsgICAgIHVuaWZvcm0gdmVjNCB1X21vZHVsYXRpb247ICAgICB2YXJ5aW5nIHZlYzIgdl90ZXhDb29yZDsgICAgICAgICB2b2lkIG1haW4oKSAgICAgeyAgICAgICAgIHZlYzQgYWJnciA9IHRleHR1cmUyRCh1X3RleHR1cmUsIHZfdGV4Q29vcmQpOyAgICAgICAgIGdsX0ZyYWdDb2xvciA9IGFiZ3I7ICAgICAgICAgZ2xfRnJhZ0NvbG9yLnIgPSBhYmdyLmI7ICAgICAgICAgZ2xfRnJhZ0NvbG9yLmIgPSBhYmdyLnI7ICAgICAgICAgZ2xfRnJhZ0NvbG9yICo9IHVfbW9kdWxhdGlvbjsgICAgIH0gAAAAAAAAAAAAACAgICAgcHJlY2lzaW9uIG1lZGl1bXAgZmxvYXQ7ICAgICB1bmlmb3JtIHNhbXBsZXIyRCB1X3RleHR1cmU7ICAgICB1bmlmb3JtIHZlYzQgdV9tb2R1bGF0aW9uOyAgICAgdmFyeWluZyB2ZWMyIHZfdGV4Q29vcmQ7ICAgICAgICAgdm9pZCBtYWluKCkgICAgIHsgICAgICAgICBnbF9GcmFnQ29sb3IgPSB0ZXh0dXJlMkQodV90ZXh0dXJlLCB2X3RleENvb3JkKTsgICAgICAgICBnbF9GcmFnQ29sb3IgKj0gdV9tb2R1bGF0aW9uOyAgICAgfSAAAAAAAAAgICAgIHByZWNpc2lvbiBtZWRpdW1wIGZsb2F0OyAgICAgdW5pZm9ybSB2ZWM0IHVfY29sb3I7ICAgICAgICAgdm9pZCBtYWluKCkgICAgIHsgICAgICAgICBnbF9GcmFnQ29sb3IgPSB1X2NvbG9yOyAgICAgfSAAAAAAAAAAACAgICAgdW5pZm9ybSBtYXQ0IHVfcHJvamVjdGlvbjsgICAgIGF0dHJpYnV0ZSB2ZWMyIGFfcG9zaXRpb247ICAgICBhdHRyaWJ1dGUgdmVjMiBhX3RleENvb3JkOyAgICAgYXR0cmlidXRlIGZsb2F0IGFfYW5nbGU7ICAgICBhdHRyaWJ1dGUgdmVjMiBhX2NlbnRlcjsgICAgIHZhcnlpbmcgdmVjMiB2X3RleENvb3JkOyAgICAgICAgIHZvaWQgbWFpbigpICAgICB7ICAgICAgICAgZmxvYXQgYW5nbGUgPSByYWRpYW5zKGFfYW5nbGUpOyAgICAgICAgIGZsb2F0IGMgPSBjb3MoYW5nbGUpOyAgICAgICAgIGZsb2F0IHMgPSBzaW4oYW5nbGUpOyAgICAgICAgIG1hdDIgcm90YXRpb25NYXRyaXggPSBtYXQyKGMsIC1zLCBzLCBjKTsgICAgICAgICB2ZWMyIHBvc2l0aW9uID0gcm90YXRpb25NYXRyaXggKiAoYV9wb3NpdGlvbiAtIGFfY2VudGVyKSArIGFfY2VudGVyOyAgICAgICAgIHZfdGV4Q29vcmQgPSBhX3RleENvb3JkOyAgICAgICAgIGdsX1Bvc2l0aW9uID0gdV9wcm9qZWN0aW9uICogdmVjNChwb3NpdGlvbiwgMC4wLCAxLjApOyAgICAgICAgZ2xfUG9pbnRTaXplID0gMS4wOyAgICAgfSAAAAAAAAAAAAAAAAAAACAgICAgcHJlY2lzaW9uIG1lZGl1bXAgZmxvYXQ7ICAgICB1bmlmb3JtIHNhbXBsZXIyRCB1X3RleHR1cmU7ICAgICB1bmlmb3JtIHNhbXBsZXIyRCB1X3RleHR1cmVfdTsgICAgIHVuaWZvcm0gc2FtcGxlcjJEIHVfdGV4dHVyZV92OyAgICAgdW5pZm9ybSB2ZWM0IHVfbW9kdWxhdGlvbjsgICAgIHZhcnlpbmcgdmVjMiB2X3RleENvb3JkOyAgICAgICAgIHZvaWQgbWFpbigpICAgICB7ICAgICAgICAgbWVkaXVtcCB2ZWMzIHl1djsgICAgICAgICBsb3dwIHZlYzMgcmdiOyAgICAgICAgIHl1di54ID0gdGV4dHVyZTJEKHVfdGV4dHVyZSwgICB2X3RleENvb3JkKS5yOyAgICAgICAgIHl1di55ID0gdGV4dHVyZTJEKHVfdGV4dHVyZV91LCB2X3RleENvb3JkKS5yIC0gMC41OyAgICAgICAgIHl1di56ID0gdGV4dHVyZTJEKHVfdGV4dHVyZV92LCB2X3RleENvb3JkKS5yIC0gMC41OyAgICAgICAgIHJnYiA9IG1hdDMoIDEsICAgICAgICAxLCAgICAgICAxLCAgICAgICAgICAgICAgICAgICAgIDAsICAgICAgIC0wLjM5NDY1LCAyLjAzMjExLCAgICAgICAgICAgICAgICAgICAgIDEuMTM5ODMsIC0wLjU4MDYwLCAwKSAqIHl1djsgICAgICAgICBnbF9GcmFnQ29sb3IgPSB2ZWM0KHJnYiwgMSk7ICAgICAgICAgZ2xfRnJhZ0NvbG9yICo9IHVfbW9kdWxhdGlvbjsgICAgIH0gAAAAAAAAAAAAACAgICAgcHJlY2lzaW9uIG1lZGl1bXAgZmxvYXQ7ICAgICB1bmlmb3JtIHNhbXBsZXIyRCB1X3RleHR1cmU7ICAgICB1bmlmb3JtIHNhbXBsZXIyRCB1X3RleHR1cmVfdTsgICAgIHVuaWZvcm0gdmVjNCB1X21vZHVsYXRpb247ICAgICB2YXJ5aW5nIHZlYzIgdl90ZXhDb29yZDsgICAgICAgICB2b2lkIG1haW4oKSAgICAgeyAgICAgICAgIG1lZGl1bXAgdmVjMyB5dXY7ICAgICAgICAgbG93cCB2ZWMzIHJnYjsgICAgICAgICB5dXYueCA9IHRleHR1cmUyRCh1X3RleHR1cmUsICAgdl90ZXhDb29yZCkucjsgICAgICAgICB5dXYueXogPSB0ZXh0dXJlMkQodV90ZXh0dXJlX3UsIHZfdGV4Q29vcmQpLnJhIC0gMC41OyAgICAgICAgIHJnYiA9IG1hdDMoIDEsICAgICAgICAxLCAgICAgICAxLCAgICAgICAgICAgICAgICAgICAgIDAsICAgICAgIC0wLjM5NDY1LCAyLjAzMjExLCAgICAgICAgICAgICAgICAgICAgIDEuMTM5ODMsIC0wLjU4MDYwLCAwKSAqIHl1djsgICAgICAgICBnbF9GcmFnQ29sb3IgPSB2ZWM0KHJnYiwgMSk7ICAgICAgICAgZ2xfRnJhZ0NvbG9yICo9IHVfbW9kdWxhdGlvbjsgICAgIH0gAAAAAAAAACAgICAgcHJlY2lzaW9uIG1lZGl1bXAgZmxvYXQ7ICAgICB1bmlmb3JtIHNhbXBsZXIyRCB1X3RleHR1cmU7ICAgICB1bmlmb3JtIHNhbXBsZXIyRCB1X3RleHR1cmVfdTsgICAgIHVuaWZvcm0gdmVjNCB1X21vZHVsYXRpb247ICAgICB2YXJ5aW5nIHZlYzIgdl90ZXhDb29yZDsgICAgICAgICB2b2lkIG1haW4oKSAgICAgeyAgICAgICAgIG1lZGl1bXAgdmVjMyB5dXY7ICAgICAgICAgbG93cCB2ZWMzIHJnYjsgICAgICAgICB5dXYueCA9IHRleHR1cmUyRCh1X3RleHR1cmUsICAgdl90ZXhDb29yZCkucjsgICAgICAgICB5dXYueXogPSB0ZXh0dXJlMkQodV90ZXh0dXJlX3UsIHZfdGV4Q29vcmQpLmFyIC0gMC41OyAgICAgICAgIHJnYiA9IG1hdDMoIDEsICAgICAgICAxLCAgICAgICAxLCAgICAgICAgICAgICAgICAgICAgIDAsICAgICAgIC0wLjM5NDY1LCAyLjAzMjExLCAgICAgICAgICAgICAgICAgICAgIDEuMTM5ODMsIC0wLjU4MDYwLCAwKSAqIHl1djsgICAgICAgICBnbF9GcmFnQ29sb3IgPSB2ZWM0KHJnYiwgMSk7ICAgICAgICAgZ2xfRnJhZ0NvbG9yICo9IHVfbW9kdWxhdGlvbjsgICAgIH0gAAAAAAAAAAAAAAB9+QIAhfkCAIv5AgCQ+QIAlfkCAJv5AgAAAAAAAAAAAAAAAAAAAAAAmwAAAAAAAAAAAAAAdQAAAAAAAAAqAAAAKwAAAAAAAAAAAAAAAAAAACgAAAAAAAAAAAAAAOEAAADgAAAA4gAAAEgAAAA5AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKQAAAAAAAAAAAAAAAAAAAAAAAAAsAAAASwAAAE4AAABNAAAASgAAAFAAAABSAAAATwAAAFEAAAAAAAAAAAAAAAAAAAAAAAAASQAAAEwAAAAAAAAAJwAAAB4AAAAfAAAAIAAAACEAAAAiAAAAIwAAACQAAAAlAAAAJgAAAAAAAAAzAAAAAAAAAC4AAAAAAAAAAAAAAAAAAAAEAAAABQAAAAYAAAAHAAAACAAAAAkAAAAKAAAACwAAAAwAAAANAAAADgAAAA8AAAAQAAAAEQAAABIAAAATAAAAFAAAABUAAAAWAAAAFwAAABgAAAAZAAAAGgAAABsAAAAcAAAAHQAAAOMAAAAAAAAAZQAAAAAAAAAAAAAAYgAAAFkAAABaAAAAWwAAAFwAAABdAAAAXgAAAF8AAABgAAAAYQAAAFUAAABXAAAAAAAAAFYAAABjAAAAVAAAADoAAAA7AAAAPAAAAD0AAAA+AAAAPwAAAEAAAABBAAAAQgAAAEMAAABEAAAARQAAAGgAAABpAAAAagAAAGsAAABsAAAAbQAAAG4AAABvAAAAcAAAAHEAAAByAAAAcwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUwAAAEcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAtAAAAgQAAAIAAAAACAQAAAwEAAAAAAAAFAQAAAAAAAAYBAACBAAAAgAAAAAAAAAAAAAAAMwAAAC4AAAA2AAAALQAAADcAAAA4AAAANQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAALwAAADEAAAAwAAAANAAAAAAAAAAwMTIzNDU2Nzg5QUJDREVGR0hJSktMTU5PUFFSU1RVVldYWVoAAAAAAAAAAAAAAAAIAAiAEIAQkBAAEBAggCCQIIEgkQiACAAQgBCQEAAQECCAIJAggSCREIAQkBAAEBAggCCQIIEgkQgACIAQkBCAEBAQACCQIIAgkSCBCAAIgBAAEBAQgBCQIIAgkCCBIJEIAAiAEBAQABCQEIAgkCCAIJEggQgACIAggCCQIIEgkRCAEJAQABAQCAAIgCCQIIAgkSCBEJAQgBAQEAAIAAiAIIEgkSCAIJAQgBCQEAAQEAgACIAgkSCBIJAggBCQEIAQEBAACAAIgAAAAAAAAAAAlKABAKSgAQB0oAEAAAAAAAAAAAAAAAAAAAAAAAAAAABhAAAAYgAAAGMAAABkAAAAZQAAAGYAAABnAAAAaAAAAGkAAABqAAAAawAAAGwAAABtAAAAbgAAAG8AAABwAAAAcQAAAHIAAABzAAAAdAAAAHUAAAB2AAAAdwAAAHgAAAB5AAAAegAAADEAAAAyAAAAMwAAADQAAAA1AAAANgAAADcAAAA4AAAAOQAAADAAAAANAAAAGwAAAAgAAAAJAAAAIAAAAC0AAAA9AAAAWwAAAF0AAABcAAAAIwAAADsAAAAnAAAAYAAAACwAAAAuAAAALwAAADkAAEA6AABAOwAAQDwAAEA9AABAPgAAQD8AAEBAAABAQQAAQEIAAEBDAABARAAAQEUAAEBGAABARwAAQEgAAEBJAABASgAAQEsAAEB/AAAATQAAQE4AAEBPAABAUAAAQFEAAEBSAABAUwAAQFQAAEBVAABAVgAAQFcAAEBYAABAWQAAQFoAAEBbAABAXAAAQF0AAEBeAABAXwAAQGAAAEBhAABAYgAAQGMAAEAAAAAAZQAAQGYAAEBnAABAaAAAQGkAAEBqAABAawAAQGwAAEBtAABAbgAAQG8AAEBwAABAcQAAQHIAAEBzAABAdAAAQHUAAEB2AABAdwAAQHgAAEB5AABAegAAQHsAAEB8AABAfQAAQH4AAEB/AABAgAAAQIEAAEAAAAAAAAAAAAAAAACFAABAhgAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJkAAECaAABAmwAAQJwAAECdAABAngAAQJ8AAECgAABAoQAAQKIAAECjAABApAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAsAAAQLEAAECyAABAswAAQLQAAEC1AABAtgAAQLcAAEC4AABAuQAAQLoAAEC7AABAvAAAQL0AAEC+AABAvwAAQMAAAEDBAABAwgAAQMMAAEDEAABAxQAAQMYAAEDHAABAyAAAQMkAAEDKAABAywAAQMwAAEDNAABAzgAAQM8AAEDQAABA0QAAQNIAAEDTAABA1AAAQNUAAEDWAABA1wAAQNgAAEDZAABA2gAAQNsAAEDcAABA3QAAQAAAAAAAAAAA4AAAQOEAAEDiAABA4wAAQOQAAEDlAABA5gAAQOcAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEAQAIBAEADAQBABAEAQAUBAEAGAQBABwEAQAgBAEAJAQBACgEAQAsBAEAMAQBADQEAQA4BAEAPAQBAEAEAQBEBAEASAQBAEwEAQBQBAEAVAQBAFgEAQBcBAEAYAQBAGQEAQBoBAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA3hIElQAAAAD///////////////8AAAAAAAAAAAAAAAACAADAAwAAwAQAAMAFAADABgAAwAcAAMAIAADACQAAwAoAAMALAADADAAAwA0AAMAOAADADwAAwBAAAMARAADAEgAAwBMAAMAUAADAFQAAwBYAAMAXAADAGAAAwBkAAMAaAADAGwAAwBwAAMAdAADAHgAAwB8AAMAAAACzAQAAwwIAAMMDAADDBAAAwwUAAMMGAADDBwAAwwgAAMMJAADDCgAAwwsAAMMMAADDDQAA0w4AAMMPAADDAAAMuwEADMMCAAzDAwAMwwQADNMAAAAAVCEiGQ0BAgMRSxwMEAQLHRIeJ2hub3BxYiAFBg8TFBUaCBYHKCQXGAkKDhsfJSODgn0mKis8PT4/Q0dKTVhZWltcXV5fYGFjZGVmZ2lqa2xyc3R5ent8AAAAAAAAAAAASWxsZWdhbCBieXRlIHNlcXVlbmNlAERvbWFpbiBlcnJvcgBSZXN1bHQgbm90IHJlcHJlc2VudGFibGUATm90IGEgdHR5AFBlcm1pc3Npb24gZGVuaWVkAE9wZXJhdGlvbiBub3QgcGVybWl0dGVkAE5vIHN1Y2ggZmlsZSBvciBkaXJlY3RvcnkATm8gc3VjaCBwcm9jZXNzAEZpbGUgZXhpc3RzAFZhbHVlIHRvbyBsYXJnZSBmb3IgZGF0YSB0eXBlAE5vIHNwYWNlIGxlZnQgb24gZGV2aWNlAE91dCBvZiBtZW1vcnkAUmVzb3VyY2UgYnVzeQBJbnRlcnJ1cHRlZCBzeXN0ZW0gY2FsbABSZXNvdXJjZSB0ZW1wb3JhcmlseSB1bmF2YWlsYWJsZQBJbnZhbGlkIHNlZWsAQ3Jvc3MtZGV2aWNlIGxpbmsAUmVhZC1vbmx5IGZpbGUgc3lzdGVtAERpcmVjdG9yeSBub3QgZW1wdHkAQ29ubmVjdGlvbiByZXNldCBieSBwZWVyAE9wZXJhdGlvbiB0aW1lZCBvdXQAQ29ubmVjdGlvbiByZWZ1c2VkAEhvc3QgaXMgZG93bgBIb3N0IGlzIHVucmVhY2hhYmxlAEFkZHJlc3MgaW4gdXNlAEJyb2tlbiBwaXBlAEkvTyBlcnJvcgBObyBzdWNoIGRldmljZSBvciBhZGRyZXNzAEJsb2NrIGRldmljZSByZXF1aXJlZABObyBzdWNoIGRldmljZQBOb3QgYSBkaXJlY3RvcnkASXMgYSBkaXJlY3RvcnkAVGV4dCBmaWxlIGJ1c3kARXhlYyBmb3JtYXQgZXJyb3IASW52YWxpZCBhcmd1bWVudABBcmd1bWVudCBsaXN0IHRvbyBsb25nAFN5bWJvbGljIGxpbmsgbG9vcABGaWxlbmFtZSB0b28gbG9uZwBUb28gbWFueSBvcGVuIGZpbGVzIGluIHN5c3RlbQBObyBmaWxlIGRlc2NyaXB0b3JzIGF2YWlsYWJsZQBCYWQgZmlsZSBkZXNjcmlwdG9yAE5vIGNoaWxkIHByb2Nlc3MAQmFkIGFkZHJlc3MARmlsZSB0b28gbGFyZ2UAVG9vIG1hbnkgbGlua3MATm8gbG9ja3MgYXZhaWxhYmxlAFJlc291cmNlIGRlYWRsb2NrIHdvdWxkIG9jY3VyAFN0YXRlIG5vdCByZWNvdmVyYWJsZQBQcmV2aW91cyBvd25lciBkaWVkAE9wZXJhdGlvbiBjYW5jZWxlZABGdW5jdGlvbiBub3QgaW1wbGVtZW50ZWQATm8gbWVzc2FnZSBvZiBkZXNpcmVkIHR5cGUASWRlbnRpZmllciByZW1vdmVkAERldmljZSBub3QgYSBzdHJlYW0ATm8gZGF0YSBhdmFpbGFibGUARGV2aWNlIHRpbWVvdXQAT3V0IG9mIHN0cmVhbXMgcmVzb3VyY2VzAExpbmsgaGFzIGJlZW4gc2V2ZXJlZABQcm90b2NvbCBlcnJvcgBCYWQgbWVzc2FnZQBGaWxlIGRlc2NyaXB0b3IgaW4gYmFkIHN0YXRlAE5vdCBhIHNvY2tldABEZXN0aW5hdGlvbiBhZGRyZXNzIHJlcXVpcmVkAE1lc3NhZ2UgdG9vIGxhcmdlAFByb3RvY29sIHdyb25nIHR5cGUgZm9yIHNvY2tldABQcm90b2NvbCBub3QgYXZhaWxhYmxlAFByb3RvY29sIG5vdCBzdXBwb3J0ZWQAU29ja2V0IHR5cGUgbm90IHN1cHBvcnRlZABOb3Qgc3VwcG9ydGVkAFByb3RvY29sIGZhbWlseSBub3Qgc3VwcG9ydGVkAEFkZHJlc3MgZmFtaWx5IG5vdCBzdXBwb3J0ZWQgYnkgcHJvdG9jb2wAQWRkcmVzcyBub3QgYXZhaWxhYmxlAE5ldHdvcmsgaXMgZG93bgBOZXR3b3JrIHVucmVhY2hhYmxlAENvbm5lY3Rpb24gcmVzZXQgYnkgbmV0d29yawBDb25uZWN0aW9uIGFib3J0ZWQATm8gYnVmZmVyIHNwYWNlIGF2YWlsYWJsZQBTb2NrZXQgaXMgY29ubmVjdGVkAFNvY2tldCBub3QgY29ubmVjdGVkAENhbm5vdCBzZW5kIGFmdGVyIHNvY2tldCBzaHV0ZG93bgBPcGVyYXRpb24gYWxyZWFkeSBpbiBwcm9ncmVzcwBPcGVyYXRpb24gaW4gcHJvZ3Jlc3MAU3RhbGUgZmlsZSBoYW5kbGUAUmVtb3RlIEkvTyBlcnJvcgBRdW90YSBleGNlZWRlZABObyBtZWRpdW0gZm91bmQAV3JvbmcgbWVkaXVtIHR5cGUATm8gZXJyb3IgaW5mb3JtYXRpb24AAAAAAAD/////////////////////////////////////////////////////////////////AAECAwQFBgcICf////////8KCwwNDg8QERITFBUWFxgZGhscHR4fICEiI////////woLDA0ODxAREhMUFRYXGBkaGxwdHh8gISIj/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAACAAAAAwAAAAQAAAAFAAAABgAAAAcAAAAIAAAACQAAAAoAAAALAAAADAAAAA0AAAAOAAAADwAAABAAAAARAAAAEgAAABMAAAAUAAAAFQAAABYAAAAXAAAAGAAAABkAAAAaAAAAGwAAABwAAAAdAAAAHgAAAB8AAAAgAAAAIQAAACIAAAAjAAAAJAAAACUAAAAmAAAAJwAAACgAAAApAAAAKgAAACsAAAAsAAAALQAAAC4AAAAvAAAAMAAAADEAAAAyAAAAMwAAADQAAAA1AAAANgAAADcAAAA4AAAAOQAAADoAAAA7AAAAPAAAAD0AAAA+AAAAPwAAAEAAAABBAAAAQgAAAEMAAABEAAAARQAAAEYAAABHAAAASAAAAEkAAABKAAAASwAAAEwAAABNAAAATgAAAE8AAABQAAAAUQAAAFIAAABTAAAAVAAAAFUAAABWAAAAVwAAAFgAAABZAAAAWgAAAFsAAABcAAAAXQAAAF4AAABfAAAAYAAAAEEAAABCAAAAQwAAAEQAAABFAAAARgAAAEcAAABIAAAASQAAAEoAAABLAAAATAAAAE0AAABOAAAATwAAAFAAAABRAAAAUgAAAFMAAABUAAAAVQAAAFYAAABXAAAAWAAAAFkAAABaAAAAewAAAHwAAAB9AAAAfgAAAH8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAACAAAAAwAAAAQAAAAFAAAABgAAAAcAAAAIAAAACQAAAAoAAAALAAAADAAAAA0AAAAOAAAADwAAABAAAAARAAAAEgAAABMAAAAUAAAAFQAAABYAAAAXAAAAGAAAABkAAAAaAAAAGwAAABwAAAAdAAAAHgAAAB8AAAAgAAAAIQAAACIAAAAjAAAAJAAAACUAAAAmAAAAJwAAACgAAAApAAAAKgAAACsAAAAsAAAALQAAAC4AAAAvAAAAMAAAADEAAAAyAAAAMwAAADQAAAA1AAAANgAAADcAAAA4AAAAOQAAADoAAAA7AAAAPAAAAD0AAAA+AAAAPwAAAEAAAABhAAAAYgAAAGMAAABkAAAAZQAAAGYAAABnAAAAaAAAAGkAAABqAAAAawAAAGwAAABtAAAAbgAAAG8AAABwAAAAcQAAAHIAAABzAAAAdAAAAHUAAAB2AAAAdwAAAHgAAAB5AAAAegAAAFsAAABcAAAAXQAAAF4AAABfAAAAYAAAAGEAAABiAAAAYwAAAGQAAABlAAAAZgAAAGcAAABoAAAAaQAAAGoAAABrAAAAbAAAAG0AAABuAAAAbwAAAHAAAABxAAAAcgAAAHMAAAB0AAAAdQAAAHYAAAB3AAAAeAAAAHkAAAB6AAAAewAAAHwAAAB9AAAAfgAAAH8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAIAAgACAAIAAgACAAIAAgADIAIgAiACIAIgAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAWAEwATABMAEwATABMAEwATABMAEwATABMAEwATABMAI2AjYCNgI2AjYCNgI2AjYCNgI2ATABMAEwATABMAEwATACNUI1QjVCNUI1QjVCMUIxQjFCMUIxQjFCMUIxQjFCMUIxQjFCMUIxQjFCMUIxQjFCMUIxQTABMAEwATABMAEwAjWCNYI1gjWCNYI1gjGCMYIxgjGCMYIxgjGCMYIxgjGCMYIxgjGCMYIxgjGCMYIxgjGCMYEwATABMAEwAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABEACgAREREAAAAABQAAAAAAAAkAAAAACwAAAAAAAAAAEQAPChEREQMKBwABEwkLCwAACQYLAAALAAYRAAAAERERAAAAAAAAAAAAAAAAAAAAAAsAAAAAAAAAABEACgoREREACgAAAgAJCwAAAAkACwAACwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMAAAAAAAAAAAAAAAMAAAAAAwAAAAACQwAAAAAAAwAAAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAAAAAAAAAAAAAADQAAAAQNAAAAAAkOAAAAAAAOAAAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAA8AAAAADwAAAAAJEAAAAAAAEAAAEAAAEgAAABISEgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAASAAAAEhISAAAAAAAACQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACwAAAAAAAAAAAAAACgAAAAAKAAAAAAkLAAAAAAALAAALAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwAAAAAAAAAAAAAAAwAAAAADAAAAAAJDAAAAAAADAAADAAAMDEyMzQ1Njc4OUFCQ0RFRgoAAABkAAAA6AMAABAnAACghgEAQEIPAICWmAAA4fUFTENfQ1RZUEUAAAAATENfTlVNRVJJQwAATENfVElNRQAAAAAATENfQ09MTEFURQAATENfTU9ORVRBUlkATENfTUVTU0FHRVMAAAAAAAAAAAAEAAAAAAAAADD8AABMAAAATQAAAPz////8////MPwAAE4AAABPAAAAAAAAAAAAAAAwMTIzNDU2Nzg5YWJjZGVmQUJDREVGeFgrLXBQaUluTgAAAAAAAAAAAAAAAAAAAAAlAAAAbQAAAC8AAAAlAAAAZAAAAC8AAAAlAAAAeQAAACUAAABZAAAALQAAACUAAABtAAAALQAAACUAAABkAAAAJQAAAEkAAAA6AAAAJQAAAE0AAAA6AAAAJQAAAFMAAAAgAAAAJQAAAHAAAAAAAAAAJQAAAEgAAAA6AAAAJQAAAE0AAAAAAAAAAAAAAAAAAAAlAAAASAAAADoAAAAlAAAATQAAADoAAAAlAAAAUwAAACUAAABIAAAAOgAAACUAAABNAAAAOgAAACUAAABTAAAAaAAAAGAAAAAAAAAAKL0AAAEAAAABAAAAAgAAAAIAAAADAAAABAAAAAUAAAABAAAAAQAAAAoAAAALAAAABgAAAAcAAAAIAAAACQAAAAIAAAABAAAAAQAAAAIAAAACAAAAZAAAAFwAAAD8////KL0AAAoAAAADAAAABAAAAAsAAAAMAAAADQAAAA4AAAADAAAAAwAAAAwAAAANAAAAoP///6D///+g////oP///wAAAAAAAAAAoP///6D///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACg////oP///wAAAAAAAAAAAAAAAAAAAACg////oP///6D///+g////oP///wgAAACg////KL0AAA8AAAAFAAAABgAAABAAAAARAAAAEgAAABMAAAAUAAAAFQAAABYAAAAXAAAAGAAAABkAAAAaAAAAGwAAABwAAAAdAAAAHgAAAB8AAAAgAAAAIQAAACIAAAAjAAAABAAAAA4AAAAPAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPj////4////+P////j///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAmP///5j///+Y////mP///5j///+Y////AAAAAJj///8ovQAAAgAAABAAAAARAAAAJAAAAAcAAAAIAAAAJQAAACYAAAAnAAAAKAAAACkAAAAqAAAAKwAAACwAAAAtAAAALgAAAC8AAAAwAAAAMQAAADIAAAAzAAAANAAAADUAAAA2AAAANwAAADgAAAA5AAAAOgAAADsAAAA8AAAAPQAAAD4AAAA/AAAAQAAAAAMAAAAJAAAABAAAAEEAAABCAAAABQAAAAYAAABoAAAAYAAAAAAAAAA4vQAAQwAAAAkAAAAKAAAARAAAAEUAAAAEAAAABQAAAAEAAAABAAAAEgAAABMAAAAGAAAABwAAAAgAAAAJAAAAAgAAAAIAAAABAAAAZAAAAFwAAAD8////OL0AAEYAAAALAAAADAAAAEcAAABIAAAADQAAAA4AAAADAAAAAwAAABQAAAAVAAAAoP///6D///+g////oP///wAAAAAAAAAAoP///6D///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACg////oP///wAAAAAAAAAAAAAAAAAAAACg////oP///6D///+g////oP///wgAAACg////OL0AAEkAAAANAAAADgAAAEoAAABLAAAAEgAAABMAAAAUAAAAFQAAABYAAAAXAAAAGAAAABkAAAAaAAAAGwAAABwAAAAdAAAAHgAAAB8AAAAgAAAAIQAAACIAAAAjAAAABAAAABYAAAAXAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPj////4////+P////j///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAmP///5j///+Y////mP///5j///+Y////AAAAAJj///84vQAAAgAAABgAAAAZAAAATAAAAA8AAAAQAAAATQAAAE4AAAAnAAAAKAAAACkAAAAqAAAAKwAAACwAAAAtAAAALgAAAC8AAAAwAAAAMQAAADIAAAAzAAAANAAAADUAAAA2AAAANwAAADgAAAA5AAAAOgAAADsAAAA8AAAAPQAAAD4AAAA/AAAAQAAAAAMAAAAJAAAABAAAAEEAAABCAAAABQAAAAYAAABoAAAAYAAAAAAAAADQtAAATwAAABEAAAASAAAAUAAAAFEAAABSAAAAUwAAAAUAAAAEAAAAGgAAABsAAACg////oP///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKD///+g////AAAAAAAAAAAAAAAAAAAAAKD///+g////oP///6D///+g////CAAAAKD////QtAAAVAAAABMAAAAUAAAAVQAAAFYAAAASAAAAEwAAABQAAAAVAAAAVwAAAFgAAAAYAAAAGQAAABoAAAAbAAAAHAAAAB0AAABZAAAAWgAAACAAAAAhAAAAWwAAAFwAAAAGAAAAHAAAAB0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA+P////j////4////+P///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACY////mP///5j///+Y////mP///5j///8AAAAAmP///9C0AAACAAAAHgAAAB8AAABdAAAAFQAAABYAAABeAAAAXwAAACcAAAAoAAAAKQAAACoAAAArAAAALAAAAC0AAAAuAAAALwAAADAAAAAxAAAAMgAAADMAAAA0AAAANQAAADYAAAA3AAAAOAAAADkAAAA6AAAAOwAAADwAAAA9AAAAPgAAAD8AAABAAAAAAwAAAAkAAAAEAAAAQQAAAEIAAAAFAAAABgAAAGQAAABcAAAAAAAAAAC1AABgAAAAFwAAABgAAABhAAAAYgAAAGMAAABkAAAABwAAAAUAAAAgAAAAIQAAAKT///+k////AAAAAAAAAAAAAAAAAAAAAKT///+k////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAApP///6T///+k////pP///6T///8IAAAApP///wC1AABlAAAAGQAAABoAAABmAAAAZwAAABIAAAATAAAAFAAAABUAAABoAAAAaQAAABgAAAAZAAAAGgAAABsAAAAcAAAAHQAAAGoAAABrAAAAIAAAACEAAABbAAAAXAAAAAgAAAAiAAAAIwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD4////+P////j////4////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJz///+c////nP///5z///+c////nP///wAAAACc////ALUAAAIAAAAkAAAAJQAAAGwAAAAbAAAAHAAAAG0AAABuAAAAJwAAACgAAAApAAAAKgAAACsAAAAsAAAALQAAAC4AAAAvAAAAMAAAADEAAAAyAAAAMwAAADQAAAA1AAAANgAAADcAAAA4AAAAOQAAADoAAAA7AAAAPAAAAD0AAAA+AAAAPwAAAEAAAAADAAAACQAAAAQAAABBAAAAQgAAAAUAAAAGAAAAuLEBACO0AQAAAAAAAQAAADCnAAAD9P//HLEBADO0AQAovQAAAAAAAPSwAQB6tQEAHLEBAJ+0AQBgpQAAAAAAAPSwAQD4tQEAHLEBAKu2AQBgpQAAAAAAAPSwAQCKtwEA9LABAPO4AQAcsQEAPrgBAJilAAAAAAAA9LABABW5AQAcsQEAqLkBAGClAAAAAAAA9LABALe6AQAcsQEAa7sBAJilAAAAAAAA9LABACG8AQAcsQEAtbwBAGClAAAAAAAA9LABAJG9AQAcsQEARb4BAJilAAAAAAAA9LABAPu+AQD0sAEAlr8BAPSwAQDovwEAuLEBAKm/AQAAAAAAAQAAACCmAAAAAAAA9LABAOTAAQC4sQEAhsABAAAAAAABAAAAQKYAAAAAAAC4sQEAMMABAAAAAAABAAAASKYAAAAAAACcsQEACcEBAAAAAABgpgAAnLEBAGDBAQABAAAAYKYAAByxAQDawQEAMPwAAAAAAAAIAAAAAAAAADD8AABMAAAATQAAAPj////4////MPwAAE4AAABPAAAAHLEBAO3BAQAw/AAAAAAAAByxAQCfwgEAEKcAAAAAAAAcsQEAa8IBAACnAAAAAAAAHLEBAInCAQDItwAAAAAAAByxAQC6wgEA8PsAAAAAAAAcsQEA/MIBAPD7AAAAAAAAHLEBABXDAQDItwAAAAAAAByxAQAywwEAMKcAAAAAAAAcsQEAScMBAMi3AAAAAAAAHLEBAOTDAQBApwAAAAAAAByxAQD1wwEAgKcAAAAAAAAcsQEADMQBAMi3AAAAAAAAHLEBACPEAQDItwAAAAAAAByxAQA6xgEAsKcAAAAAAAAcsQEAHMYBAMi3AAAAAAAAHLEBAIXGAQAwpwAAAAAAAByxAQDuxgEAMKcAAAAAAAAcsQEAyc4BAMCnAAAAAAAAPAAAAAAAAAAA/AAAdAAAAHUAAADE////xP///wD8AAB2AAAAdwAAAByxAQBdzQEAAPwAAAAAAAAcsQEAsc4BAMi3AAAAAAAAHLEBAOTOAQDQpwAAAAAAAByxAQAFzwEAwKcAAAAAAAAcsQEAXc8BAMCnAAAAAAAAHLEBAIwEAgDItwAAAAAAAByxAQDaBQIAsKcAAAAAAAC4sQEAzQcCAAAAAAACAAAAyLkAAAIAAACoqAAAApAAAPSwAQDuBQIAHLEBACUGAgAwpwAAAAAAAByxAQADBgIA0KgAAAAAAAAcsQEAGAYCALCoAAAAAAAAHLEBAMsGAgA4qAAAAAAAAByxAQDlBwIAQKcAAAAAAAC4sQEA8ggCAAAAAAACAAAAIKkAAAIAAADoqwAAAjgAALixAQAOCAIAAAAAAAEAAAAwpwAAA/T//4wBAAAAAAAAIKkAAJUAAACWAAAA4AAAAEMAAABEAAAA4QAAAOIAAADPAAAA0AAAANEAAADSAAAA0wAAANQAAADVAAAA1gAAANcAAADYAAAA2QAAANoAAACXAAAALAAAAC0AAAAEAAAABQAAAAYAAAAuAAAALwAAAEcAAAAxAAAAMgAAADMAAAA0AAAASAAAADYAAAA3AAAAOAAAADkAAABJAAAAOwAAADwAAAA9AAAAPgAAAD8AAABKAAAAQQAAAEsAAABDAAAARAAAAEwAAABGAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB0/v//dP7//wAAAAAAAAAAdP7//3T+//90/v//dP7//3T+//90/v//AAAAAHT+//8gqQAAAgAAAJgAAACZAAAA4wAAAEUAAABGAAAA5AAAAOUAAAAnAAAAKAAAAN4AAADfAAAAKwAAACwAAAAtAAAALgAAAC8AAAAwAAAAMQAAADIAAAAzAAAANAAAADUAAAA2AAAAjQAAAI4AAACPAAAAkAAAADsAAAA8AAAAPQAAAD4AAAA/AAAAQAAAAAMAAAAJAAAABAAAAEEAAABCAAAABQAAAAYAAAC4sQEArAgCAAAAAAACAAAAMKcAAAIAAADgqwAAAiAAAPSwAQCeCAIAuLEBADUIAgAAAAAAAQAAADilAAAD9P//uLEBAE0IAgAAAAAAAQAAADilAAAD9P//HLEBAGwIAgDQpwAAAAAAAByxAQCBCAIA0KcAAAAAAAAcsQEAjggCALCoAAAAAAAA9LABAL8IAgAcsQEAzggCAKioAAAAAAAAHLEBAN8IAgDItwAAAAAAAByxAQAnCQIAIKkAAAAAAABcAAAAAAAAACCpAACVAAAAlgAAAOAAAABDAAAARAAAAOEAAADiAAAAzwAAANAAAADRAAAA0gAAANMAAADUAAAA1QAAANYAAADXAAAA2AAAANkAAADaAAAAlwAAACwAAAAtAAAABAAAAAUAAAAGAAAALgAAAC8AAABHAAAAMQAAADIAAAAzAAAANAAAAEgAAAA2AAAANwAAADgAAAA5AAAASQAAADsAAAA8AAAAPQAAAD4AAAA/AAAASgAAAEEAAABLAAAAQwAAAEQAAABMAAAARgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAApP///6T///8AAAAAAAAAAKT///+k////pP///6T///+k////pP///wAAAACk////IKkAAAIAAACYAAAAmQAAAOMAAABFAAAARgAAAOQAAADlAAAAJwAAACgAAADeAAAA3wAAACsAAAAsAAAALQAAAC4AAAAvAAAAMAAAADEAAAAyAAAAMwAAADQAAAA1AAAANgAAAI0AAACOAAAAjwAAAJAAAAA7AAAAPAAAAD0AAAA+AAAAPwAAAEAAAAADAAAACQAAAAQAAABBAAAAQgAAAAUAAAAGAAAAHLEBAKQJAgBIrgAAAAAAAPSwAQCzCQIAHLEBAJ0KAgCwpwAAAAAAAByxAQAsCwIAcK4AAAAAAAAcsQEAFAsCALCnAAAAAAAAHLEBAEoLAgBwrgAAAAAAAByxAQCQCwIAMKcAAAAAAAAcsQEAdw0CAECnAAAAAAAAHLEBAJENAgDItwAAAAAAAByxAQCwDQIA0KgAAAAAAAAcsQEAwxMCANCrAAAAAAAAHLEBAAsQAgDwrgAAAAAAAPSwAQA1EAIAHLEBAJYQAgAIrwAAAAAAAPSwAQC7EAIAHLEBAMURAgAgrwAAAAAAAByxAQDxEQIAyLcAAAAAAAAcsQEA0xMCAMi3AAAAAAAAHLEBAE8VAgAwpwAAAAAAAByxAQBnFQIAYK8AAAAAAAAcsQEAhxUCAMi3AAAAAAAAHLEBAK0VAgDItwAAAAAAAByxAQCMFgIAkK8AAAAAAAC4sQEAdBYCAAAAAAACAAAAyLcAAAIAAAAYywAAAgwAALixAQC0FgIAAAAAAAIAAAAgsAAAAgAAADCwAAACFAAALAAAAAAAAAAIsAAA6gAAAAEAAADrAAAA7AAAANT///8AAAAA1P///wiwAAAPAAAA7QAAAO4AAAC4sQEAoxYCAAAAAAABAAAAyLcAAAP0//8csQEA6RYCAAiwAAAAAAAA9LABANMWAgAsAAAAAAAAACCwAADqAAAA0AAAAO8AAADwAAAAAQAAANT///8AAAAA1P///yCwAAAPAAAA8QAAAPIAAAAAAAAAuLEBAAMXAgAAAAAAAgAAAJiwAAACDAAAoLAAAAIAAAD0sAEAVxcCAByxAQAhFwIAyLcAAAAAAAAcsQEArSACAMCwAAAAAAAAHLEBAJkgAgDAqwAAAAAAAByxAQDKIgIAILgAAAAAAAC4sQEAYyICAAAAAAACAAAAOKgAAAIAAAAwsQAAAkgAALixAQDmIQIAAAAAAAIAAAAgsQAAAgAAACixAAACBAAA9LABAEUiAgD0sAEAKSICAPSwAQCjIgIAHLEBAOYiAgAgqQAAAAAAAEgAAAAAAAAAIKkAAJUAAACWAAAA4AAAAEMAAABEAAAA4QAAAOIAAADPAAAA0AAAANEAAADSAAAA0wAAANQAAADVAAAA1gAAANcAAADYAAAA2QAAANoAAACXAAAALAAAAC0AAAAEAAAABQAAAAYAAAAuAAAALwAAAEcAAAAxAAAAMgAAADMAAAA0AAAASAAAADYAAAA3AAAAOAAAADkAAABJAAAAOwAAADwAAAA9AAAAPgAAAD8AAABKAAAAQQAAAEsAAABDAAAARAAAAEwAAABGAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAC4////uP///wAAAAAAAAAAuP///7j///+4////uP///7j///+4////AAAAALj///8gqQAAAgAAAJgAAACZAAAA4wAAAEUAAABGAAAA5AAAAOUAAAAnAAAAKAAAAN4AAADfAAAAKwAAACwAAAAtAAAALgAAAC8AAAAwAAAAMQAAADIAAAAzAAAANAAAADUAAAA2AAAAjQAAAI4AAACPAAAAkAAAADsAAAA8AAAAPQAAAD4AAAA/AAAAQAAAAAMAAAAJAAAABAAAAEEAAABCAAAABQAAAAYAAAAcsQEAMSMCAECnAAAAAAAAHLEBAD4jAgDQqAAAAAAAAPSwAQBJIwIAHLEBAFkjAgDItwAAAAAAAByxAQCxIwIAQKcAAAAAAAC4sQEAeCQCAAAAAAACAAAAOKgAAAIAAADQswAAAkgAAPSwAQDFIwIAuLEBACAlAgAAAAAAAgAAAPizAAACAAAACLQAAAJAAAAcsQEAUiUCALCrAAAAAAAA9LABADslAgAcsQEAdCUCAMi3AAAAAAAAHLEBAIslAgB4swAAAAAAAByxAQDiJQIAQKcAAAAAAAC4sQEAECYCAAAAAAACAAAA+LMAAAIAAABgtAAAAkAAAPSwAQD5JQIA9LABAComAgAcsQEAlygCAECnAAAAAAAAHLEBAE4oAgDItwAAAAAAAByxAQB7JgIAMKcAAAAAAAAcsQEAOygCAHCuAAAAAAAAHLEBAHAoAgCApwAAAAAAAByxAQCmKAIA0KgAAAAAAAC4sQEAtygCAAAAAAABAAAAOKUAAAP0//+4sQEA4ygCAAAAAAABAAAAOKUAAAP0//+4sQEAAikCAAAAAAABAAAAOKUAAAP0//+4sQEAICkCAAAAAAABAAAAOKUAAAP0//8csQEAPSkCACCwAAAAAAAAuLEBAFopAgAAAAAAAgAAAAiwAAACAAAAIMsAAAIUAAAkAAAAAAAAAAiwAADqAAAAAQAAAOsAAADsAAAA3P///wAAAADc////CLAAAA8AAADtAAAA7gAAALixAQBzKQIAAAAAAAIAAADItwAAA/T//zCwAAACBAAAHLEBAIMpAgAgsAAAAAAAABQAAAAAAAAACLAAAOoAAAABAAAA6wAAAOwAAADs////AAAAAOz///8IsAAADwAAAO0AAADuAAAAFAAAAAAAAAAgsAAA6gAAANAAAADvAAAA8AAAAAEAAADs////AAAAAOz///8gsAAADwAAAPEAAADyAAAAAAAAAByxAQCZKQIAsKsAAAAAAAD0sAEArCkCAByxAQDDKQIAmKsAAAAAAAAcsQEAsjoCAJC4AAAAAAAAHLEBANI6AgDItwAAAAAAAByxAQAJPgIAMPwAAAAAAAC4sQEAdEECAAAAAAACAAAAyLcAAAIAAAC4tgAAAgwAAPSwAQCTQQIAHLEBAL1BAgDQqAAAAAAAALixAQAeQwIAAAAAAAIAAAA4qAAAAgAAAPC2AAACSAAA9LABAF5DAgBAAAAAAAAAAAD8AAB0AAAAdQAAAMD////A////APwAAHYAAAB3AAAAQAAAAAAAAABg/AAAcAEAAHEBAAA4AAAA+P///2D8AAByAQAAcwEAAMD////A////YPwAAHQBAAB1AQAAAAAAADgAAAAAAAAAMPwAAEwAAABNAAAAyP///8j///8w/AAATgAAAE8AAAAcsQEAfkMCAGD8AAAAAAAAHLEBAAJEAgDItwAAAAAAAByxAQAgRAIAyLcAAAAAAAAcsQEAcEQCAMi3AAAAAAAA9LABANJFAgAcsQEA2koCAMi3AAAAAAAAHLEBAMhKAgBwrgAAAAAAAByxAQAJSwIAyLcAAAAAAAAcsQEALUsCADCnAAAAAAAAHLEBAHhOAgAwpwAAAAAAAByxAQCPTgIAMKcAAAAAAAAcsQEA6U4CACC4AAAAAAAAuLEBAJxOAgAAAAAAAgAAADioAAACAAAAYLgAAAJIAAD0sAEA0k4CAByxAQCTVgIAyLcAAAAAAAAcsQEAaFICADCnAAAAAAAA9LABAAdSAgD0sAEAMFICAByxAQCMUgIAeLgAAAAAAAAcsQEAPFUCALi4AAAAAAAAHLEBAFhVAgDItwAAAAAAAByxAQB6VgIAyLcAAAAAAAAcsQEAt1YCADCnAAAAAAAAHLEBAM9WAgBApwAAAAAAAByxAQDeVgIAQKcAAAAAAAAcsQEALlcCAECnAAAAAAAAHLEBADxXAgDItwAAAAAAAByxAQAKWgIAsKcAAAAAAAAcsQEAL1oCAPi4AAAAAAAAHLEBAGdaAgA4uQAAAAAAAByxAQD1XQIAOLkAAAAAAAAcsQEAgl0CAICnAAAAAAAAHLEBAAZeAgA4uQAAAAAAAByxAQAdXgIAOLkAAAAAAAAcsQEAOl4CADi5AAAAAAAAHLEBAEteAgA4uQAAAAAAAByxAQBQXwIAOLkAAAAAAAAcsQEAc18CANCoAAAAAAAAHLEBAOBgAgB4uAAAAAAAALixAQCfXwIAAAAAAAIAAADgqAAAAgAAAGi0AAACSAAAuLEBANpfAgAAAAAAAgAAAOCoAAACAAAAULYAAAJIAAC4sQEAFWACAAAAAAACAAAAOKgAAAIAAABIugAAAkgAAPSwAQBLYAIAHLEBAO9gAgAwpwAAAAAAAByxAQAiYQIAULoAAAAAAAC4sQEAB3ECAAAAAAABAAAAMKcAAAP0///0sAEAQ2ECAByxAQA+bwIAoLoAAAAAAAD0sAEAWG8CAByxAQAccQIAQKcAAAAAAAAcsQEALHECAMi3AAAAAAAAHLEBAFRxAgAgqQAAAAAAAFAAAAAAAAAAIKkAAJUAAACWAAAA4AAAAEMAAABEAAAA4QAAAOIAAADPAAAA0AAAANEAAADSAAAA0wAAANQAAADVAAAA1gAAANcAAADYAAAA2QAAANoAAACXAAAALAAAAC0AAAAEAAAABQAAAAYAAAAuAAAALwAAAEcAAAAxAAAAMgAAADMAAAA0AAAASAAAADYAAAA3AAAAOAAAADkAAABJAAAAOwAAADwAAAA9AAAAPgAAAD8AAABKAAAAQQAAAEsAAABDAAAARAAAAEwAAABGAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACw////sP///wAAAAAAAAAAsP///7D///+w////sP///7D///+w////AAAAALD///8gqQAAAgAAAJgAAACZAAAA4wAAAEUAAABGAAAA5AAAAOUAAAAnAAAAKAAAAN4AAADfAAAAKwAAACwAAAAtAAAALgAAAC8AAAAwAAAAMQAAADIAAAAzAAAANAAAADUAAAA2AAAAjQAAAI4AAACPAAAAkAAAADsAAAA8AAAAPQAAAD4AAAA/AAAAQAAAAAMAAAAJAAAABAAAAEEAAABCAAAABQAAAAYAAAAcsQEAn3ECABi9AAAAAAAAHLEBAHtxAgAwpwAAAAAAAByxAQC5cQIAMKcAAAAAAAAcsQEAyHECADi9AAAAAAAAuLEBAOJxAgADAAAAAgAAANC0AAACAAAAALUAAAIEAAAcsQEARngCAIi9AAAAAAAAHLEBABhyAgDItwAAAAAAAByxAQBfcgIAKL0AAAAAAAAcsQEAvHICAHi9AAAAAAAAHLEBAI9yAgDItwAAAAAAAByxAQBrcwIAmL0AAAAAAACgAAAAAAAAACCpAACVAAAAlgAAAOAAAABDAAAARAAAAOEAAADiAAAAzwAAANAAAADRAAAA0gAAANMAAADUAAAA1QAAANYAAADXAAAA2AAAANkAAADaAAAAlwAAACwAAAAtAAAABAAAAAUAAAAGAAAALgAAAC8AAABHAAAAMQAAADIAAAAzAAAANAAAAEgAAAA2AAAANwAAADgAAAA5AAAASQAAADsAAAA8AAAAPQAAAD4AAAA/AAAASgAAAEEAAABLAAAAQwAAAEQAAABMAAAARgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAYP///2D///8AAAAAAAAAAGD///9g////YP///2D///9g////YP///wAAAABg////IKkAAAIAAACYAAAAmQAAAOMAAABFAAAARgAAAOQAAADlAAAAJwAAACgAAADeAAAA3wAAACsAAAAsAAAALQAAAC4AAAAvAAAAMAAAADEAAAAyAAAAMwAAADQAAAA1AAAANgAAAI0AAACOAAAAjwAAAJAAAAA7AAAAPAAAAD0AAAA+AAAAPwAAAEAAAAADAAAACQAAAAQAAABBAAAAQgAAAAUAAAAGAAAAHLEBALZzAgAgqQAAAAAAAByxAQBFdAIAyLcAAAAAAAAcsQEAInQCAOi/AAAAAAAAuLEBALR1AgAAAAAAAgAAAEiuAAACAAAAKMAAAAIEAAD0sAEAFXYCALixAQBWdgIAAAAAAAIAAABIrgAAAgAAAFDAAAACCAAA9LABALd2AgC4sQEABocCAAAAAAACAAAAIKkAAAIAAADoqwAAAjgAAPgBAAAAAAAAIKkAAJUAAACWAAAA4AAAAEMAAABEAAAA4QAAAOIAAADPAAAA0AAAANEAAADSAAAA0wAAANQAAADVAAAA1gAAANcAAADYAAAA2QAAANoAAACXAAAALAAAAC0AAAAEAAAABQAAAAYAAAAuAAAALwAAAEcAAAAxAAAAMgAAADMAAAA0AAAASAAAADYAAAA3AAAAOAAAADkAAABJAAAAOwAAADwAAAA9AAAAPgAAAD8AAABKAAAAQQAAAEsAAABDAAAARAAAAEwAAABGAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAI/v//CP7//wAAAAAAAAAACP7//wj+//8I/v//CP7//wj+//8I/v//AAAAAAj+//8gqQAAAgAAAJgAAACZAAAA4wAAAEUAAABGAAAA5AAAAOUAAAAnAAAAKAAAAN4AAADfAAAAKwAAACwAAAAtAAAALgAAAC8AAAAwAAAAMQAAADIAAAAzAAAANAAAADUAAAA2AAAAjQAAAI4AAACPAAAAkAAAADsAAAA8AAAAPQAAAD4AAAA/AAAAQAAAAAMAAAAJAAAABAAAAEEAAABCAAAABQAAAAYAAAC4sQEAuXgCAAAAAAACAAAASK4AAAIAAAC4wgAAAggAAPSwAQAIeQIAuLEBADV5AgAAAAAAAgAAAEiuAAACAAAA4MIAAAIIAAD0sAEAgXkCAByxAQDDeQIAMKcAAAAAAAAcsQEAq3kCAOjCAAAAAAAAuLEBAId7AgAAAAAAAwAAADDDAAAAAAAAyLcAAAIAAAA4wwAAAgwAAPSwAQA0fAIA9LABAKB7AgAcsQEAknwCAMi3AAAAAAAAuLEBAMGEAgAAAAAAAgAAADCnAAACAAAAiLMAAAIgAAAcsQEA330CADCnAAAAAAAAPAAAAAAAAAAIsAAA6gAAAAEAAADrAAAA7AAAAMT///8AAAAAxP///wiwAAAPAAAA7QAAAO4AAAAcsQEAvoACAAiwAAAAAAAAHLEBACOGAgDItwAAAAAAAByxAQBviQIAIKkAAAAAAACAAAAAAAAAACCpAACVAAAAlgAAAOAAAABDAAAARAAAAOEAAADiAAAAzwAAANAAAADRAAAA0gAAANMAAADUAAAA1QAAANYAAADXAAAA2AAAANkAAADaAAAAlwAAACwAAAAtAAAABAAAAAUAAAAGAAAALgAAAC8AAABHAAAAMQAAADIAAAAzAAAANAAAAEgAAAA2AAAANwAAADgAAAA5AAAASQAAADsAAAA8AAAAPQAAAD4AAAA/AAAASgAAAEEAAABLAAAAQwAAAEQAAABMAAAARgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgP///4D///8AAAAAAAAAAID///+A////gP///4D///+A////gP///wAAAACA////IKkAAAIAAACYAAAAmQAAAOMAAABFAAAARgAAAOQAAADlAAAAJwAAACgAAADeAAAA3wAAACsAAAAsAAAALQAAAC4AAAAvAAAAMAAAADEAAAAyAAAAMwAAADQAAAA1AAAANgAAAI0AAACOAAAAjwAAAJAAAAA7AAAAPAAAAD0AAAA+AAAAPwAAAEAAAAADAAAACQAAAAQAAABBAAAAQgAAAAUAAAAGAAAAHLEBAIyJAgAgqQAAAAAAAIQAAAAAAAAAIKkAAJUAAACWAAAA4AAAAEMAAABEAAAA4QAAAOIAAADPAAAA0AAAANEAAADSAAAA0wAAANQAAADVAAAA1gAAANcAAADYAAAA2QAAANoAAACXAAAALAAAAC0AAAAEAAAABQAAAAYAAAAuAAAALwAAAEcAAAAxAAAAMgAAADMAAAA0AAAASAAAADYAAAA3AAAAOAAAADkAAABJAAAAOwAAADwAAAA9AAAAPgAAAD8AAABKAAAAQQAAAEsAAABDAAAARAAAAEwAAABGAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB8////fP///wAAAAAAAAAAfP///3z///98////fP///3z///98////AAAAAHz///8gqQAAAgAAAJgAAACZAAAA4wAAAEUAAABGAAAA5AAAAOUAAAAnAAAAKAAAAN4AAADfAAAAKwAAACwAAAAtAAAALgAAAC8AAAAwAAAAMQAAADIAAAAzAAAANAAAADUAAAA2AAAAjQAAAI4AAACPAAAAkAAAADsAAAA8AAAAPQAAAD4AAAA/AAAAQAAAAAMAAAAJAAAABAAAAEEAAABCAAAABQAAAAYAAAAcsQEAp4kCAEjIAAAAAAAAHLEBAOKJAgDItwAAAAAAAByxAQAUigIASMgAAAAAAAAcsQEATooCAEjIAAAAAAAAHLEBAIiKAgDovwAAAAAAALixAQA4kAIAAAAAAAIAAAAwpwAAAgAAAKioAAACIAAAHLEBAAuNAgDItwAAAAAAAByxAQDqjgIAoLoAAAAAAAAcsQEAz48CACCpAAAAAAAAHLEBAE2QAgBIrgAAAAAAAByxAQBPkQIAIKkAAAAAAAB4AQAAAAAAACCpAACVAAAAlgAAAOAAAABDAAAARAAAAOEAAADiAAAAzwAAANAAAADRAAAA0gAAANMAAADUAAAA1QAAANYAAADXAAAA2AAAANkAAADaAAAAlwAAACwAAAAtAAAABAAAAAUAAAAGAAAALgAAAC8AAABHAAAAMQAAADIAAAAzAAAANAAAAEgAAAA2AAAANwAAADgAAAA5AAAASQAAADsAAAA8AAAAPQAAAD4AAAA/AAAASgAAAEEAAABLAAAAQwAAAEQAAABMAAAARgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAiP7//4j+//8AAAAAAAAAAIj+//+I/v//iP7//4j+//+I/v//iP7//wAAAACI/v//IKkAAAIAAACYAAAAmQAAAOMAAABFAAAARgAAAOQAAADlAAAAJwAAACgAAADeAAAA3wAAACsAAAAsAAAALQAAAC4AAAAvAAAAMAAAADEAAAAyAAAAMwAAADQAAAA1AAAANgAAAI0AAACOAAAAjwAAAJAAAAA7AAAAPAAAAD0AAAA+AAAAPwAAAEAAAAADAAAACQAAAAQAAABBAAAAQgAAAAUAAAAGAAAA9LABAJSRAgD0sAEAq5ECAPSwAQAGkgIAHLEBACCSAgAgqQAAAAAAAByxAQBGkgIAMMsAAAAAAAAcsQEA2ZgCAMi3AAAAAAAAHLEBAFSZAgAgqQAAAAAAAByxAQCjmgIAsKcAAAAAAAAcsQEA6ZoCAFi9AAAAAAAAAAEAAPgAAAAAAAAAiL0AAAEAAAABAAAAAgAAAAIAAABGAgAABAAAAAUAAAABAAAAAQAAAHQCAAB1AgAABgAAAAcAAAAIAAAACQAAAAIAAAAGAAAAiwEAAAIAAAApAAAAjAEAAAEAAAABAAAAAQAAAAEAAACRAQAARwIAAAIAAACSAQAALQIAAC4CAAAGAAAAKQAAAJMBAABmAAAAZAIAAGcAAAABAAAAaAAAAAEAAAABAAAAAQAAAAEAAACUAQAAlQEAAAIAAAAqAAAAKwAAACwAAAAtAAAALgAAAC8AAAAwAAAAMQAAADcAAAAzAAAALwIAAAQAAAAFAAAABgAAAAIAAAA0AAAABgAAADACAABrAAAANQAAADgAAAB2AgAA/AAAAPQAAAD8////iL0AAAoAAAADAAAABAAAAAsAAABIAgAADQAAAA4AAAADAAAAAwAAAHcCAAB4AgAACP///wj///8I////CP///wAAAAAAAAAACP///wj///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAI////CP///wAAAAAAAAAAAAAAAAAAAAAI////CP///wj///8I////CP///wgAAAAI////iL0AAA8AAAAFAAAABgAAABAAAABJAgAAEgAAABMAAAAUAAAAFQAAABYAAAAXAAAAGAAAABkAAAAaAAAAGwAAABwAAAAdAAAAHgAAAB8AAAAgAAAAIQAAACIAAAAjAAAABAAAAHkCAAB6AgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPj////4////+P////j///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///wD///8A////AP///wD///8A////AAAAAAD///+IvQAAAgAAAHsCAAB8AgAAJAAAAAcAAAAIAAAAJQAAAEoCAAAnAAAAKAAAACkAAAAqAAAAKwAAACwAAAAtAAAALgAAAC8AAAAwAAAAMQAAADIAAAAzAAAANAAAADUAAAA2AAAANwAAADgAAAA5AAAAOgAAADsAAAA8AAAAPQAAAD4AAAA/AAAAQAAAAAMAAAAJAAAABAAAAEEAAABCAAAABQAAAAYAAAAAAQAA+AAAAAAAAAB4vQAAAQAAAAEAAAACAAAAAgAAAEsCAAAEAAAABQAAAAEAAAABAAAAfQIAAH4CAAAGAAAABwAAAAgAAAAJAAAAAgAAAAYAAAABAAAAAgAAADkAAACMAQAAAQAAAAEAAAABAAAAAQAAAJEBAABHAgAAAgAAAJkBAABMAgAATQIAAAYAAAApAAAAkwEAAGYAAAB/AgAAbQAAAAUAAABuAAAA/AAAAPQAAAD8////eL0AAAoAAAADAAAABAAAAAsAAABOAgAADQAAAA4AAAADAAAAAwAAAIACAACBAgAACP///wj///8I////CP///wAAAAAAAAAACP///wj///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAI////CP///wAAAAAAAAAAAAAAAAAAAAAI////CP///wj///8I////CP///wgAAAAI////eL0AAA8AAAAFAAAABgAAABAAAABPAgAAEgAAABMAAAAUAAAAFQAAABYAAAAXAAAAGAAAABkAAAAaAAAAGwAAABwAAAAdAAAAHgAAAB8AAAAgAAAAIQAAACIAAAAjAAAABAAAAIICAACDAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPj////4////+P////j///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///wD///8A////AP///wD///8A////AAAAAAD///94vQAAAgAAAIQCAACFAgAAJAAAAAcAAAAIAAAAJQAAAFACAAAnAAAAKAAAACkAAAAqAAAAKwAAACwAAAAtAAAALgAAAC8AAAAwAAAAMQAAADIAAAAzAAAANAAAADUAAAA2AAAANwAAADgAAAA5AAAAOgAAADsAAAA8AAAAPQAAAD4AAAA/AAAAQAAAAAMAAAAJAAAABAAAAEEAAABCAAAABQAAAAYAAAAAAAAAAAEAAPgAAAAAAAAAKL0AAAEAAAABAAAAAgAAAAIAAAADAAAABAAAAAUAAAABAAAAAQAAAAoAAAALAAAABgAAAAcAAAAIAAAACQAAAAIAAAABAAAAAQAAAAIAAAACAAAA/AAAAPQAAAD8////KL0AAAoAAAADAAAABAAAAAsAAAAMAAAADQAAAA4AAAADAAAAAwAAAAwAAAANAAAACP///wj///8I////CP///wAAAAAAAAAACP///wj///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAI////CP///wAAAAAAAAAAAAAAAAAAAAAI////CP///wj///8I////CP///wgAAAAI////KL0AAA8AAAAFAAAABgAAABAAAAARAAAAEgAAABMAAAAUAAAAFQAAABYAAAAXAAAAGAAAABkAAAAaAAAAGwAAABwAAAAdAAAAHgAAAB8AAAAgAAAAIQAAACIAAAAjAAAABAAAAA4AAAAPAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPj////4////+P////j///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///wD///8A////AP///wD///8A////AAAAAAD///8ovQAAAgAAABAAAAARAAAAJAAAAAcAAAAIAAAAJQAAACYAAAAnAAAAKAAAACkAAAAqAAAAKwAAACwAAAAtAAAALgAAAC8AAAAwAAAAMQAAADIAAAAzAAAANAAAADUAAAA2AAAANwAAADgAAAA5AAAAOgAAADsAAAA8AAAAPQAAAD4AAAA/AAAAQAAAAAMAAAAJAAAABAAAAEEAAABCAAAABQAAAAYAAAAAAQAA+AAAAAAAAAA4vQAAQwAAAAkAAAAKAAAARAAAAEUAAAAEAAAABQAAAAEAAAABAAAAEgAAABMAAAAGAAAABwAAAAgAAAAJAAAAAgAAAAIAAAABAAAA/AAAAPQAAAD8////OL0AAEYAAAALAAAADAAAAEcAAABIAAAADQAAAA4AAAADAAAAAwAAABQAAAAVAAAACP///wj///8I////CP///wAAAAAAAAAACP///wj///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAI////CP///wAAAAAAAAAAAAAAAAAAAAAI////CP///wj///8I////CP///wgAAAAI////OL0AAEkAAAANAAAADgAAAEoAAABLAAAAEgAAABMAAAAUAAAAFQAAABYAAAAXAAAAGAAAABkAAAAaAAAAGwAAABwAAAAdAAAAHgAAAB8AAAAgAAAAIQAAACIAAAAjAAAABAAAABYAAAAXAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPj////4////+P////j///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///wD///8A////AP///wD///8A////AAAAAAD///84vQAAAgAAABgAAAAZAAAATAAAAA8AAAAQAAAATQAAAE4AAAAnAAAAKAAAACkAAAAqAAAAKwAAACwAAAAtAAAALgAAAC8AAAAwAAAAMQAAADIAAAAzAAAANAAAADUAAAA2AAAANwAAADgAAAA5AAAAOgAAADsAAAA8AAAAPQAAAD4AAAA/AAAAQAAAAAMAAAAJAAAABAAAAEEAAABCAAAABQAAAAYAAAAAAQAA+AAAAAAAAADQtAAATwAAABEAAAASAAAAUAAAAFEAAABSAAAAUwAAAAUAAAAEAAAAGgAAABsAAAAI////CP///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAj///8I////AAAAAAAAAAAAAAAAAAAAAAj///8I////CP///wj///8I////CAAAAAj////QtAAAVAAAABMAAAAUAAAAVQAAAFYAAAASAAAAEwAAABQAAAAVAAAAVwAAAFgAAAAYAAAAGQAAABoAAAAbAAAAHAAAAB0AAABZAAAAWgAAACAAAAAhAAAAWwAAAFwAAAAGAAAAHAAAAB0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA+P////j////4////+P///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA////AP///wD///8A////AP///wD///8AAAAAAP///9C0AAACAAAAHgAAAB8AAABdAAAAFQAAABYAAABeAAAAXwAAACcAAAAoAAAAKQAAACoAAAArAAAALAAAAC0AAAAuAAAALwAAADAAAAAxAAAAMgAAADMAAAA0AAAANQAAADYAAAA3AAAAOAAAADkAAAA6AAAAOwAAADwAAAA9AAAAPgAAAD8AAABAAAAAAwAAAAkAAAAEAAAAQQAAAEIAAAAFAAAABgAAAPwAAAD0AAAAAAAAAAC1AABgAAAAFwAAABgAAABhAAAAYgAAAGMAAABkAAAABwAAAAUAAAAgAAAAIQAAAAz///8M////AAAAAAAAAAAAAAAAAAAAAAz///8M////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADP///wz///8M////DP///wz///8IAAAADP///wC1AABlAAAAGQAAABoAAABmAAAAZwAAABIAAAATAAAAFAAAABUAAABoAAAAaQAAABgAAAAZAAAAGgAAABsAAAAcAAAAHQAAAGoAAABrAAAAIAAAACEAAABbAAAAXAAAAAgAAAAiAAAAIwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD4////+P////j////4////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAT///8E////BP///wT///8E////BP///wAAAAAE////ALUAAAIAAAAkAAAAJQAAAGwAAAAbAAAAHAAAAG0AAABuAAAAJwAAACgAAAApAAAAKgAAACsAAAAsAAAALQAAAC4AAAAvAAAAMAAAADEAAAAyAAAAMwAAADQAAAA1AAAANgAAADcAAAA4AAAAOQAAADoAAAA7AAAAPAAAAD0AAAA+AAAAPwAAAEAAAAADAAAACQAAAAQAAABBAAAAQgAAAAUAAAAGAAAAHLEBAEWbAgAwpwAAAAAAAByxAQCImwIAyLcAAAAAAAD0sAEAPZwCAPSwAQBqnAIA9LABANCcAgAcsQEAGJ0CAKDcAAAAAAAAHLEBAAGdAgAwpwAAAAAAAByxAQCanQIAyLcAAAAAAAAcsQEAwJ0CALDcAAAAAAAAuLEBAA3AAgAAAAAAAgAAAMi3AAACAAAAGMsAAAIMAACUAAAAAAAAAAjGAAAeAgAAHwIAAOAAAABDAAAARAAAAOEAAADiAAAAzwAAANAAAADRAAAA0gAAANMAAADUAAAA1QAAANYAAADXAAAA2AAAANkAAADaAAAAlwAAACwAAAAtAAAABAAAAAUAAAAGAAAAZAEAAC8AAABlAQAAMQAAADIAAAAzAAAANAAAAEgAAAA2AAAANwAAADgAAAA5AAAASQAAADsAAAA8AAAAPQAAAD4AAAA/AAAASgAAAEEAAABLAAAAQwAAAEQAAABMAAAARgAAAGYBAABnAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABs////bP///wAAAAAAAAAAbP///2z///9s////bP///2z///9s////AAAAAGz///8IxgAAAgAAACACAAAhAgAA4wAAAEUAAABGAAAA5AAAAOUAAAAnAAAAKAAAAN4AAADfAAAAKwAAACwAAAAtAAAALgAAAC8AAAAwAAAAMQAAADIAAAAzAAAANAAAADUAAAA2AAAAjQAAAI4AAACPAAAAkAAAADsAAAA8AAAAPQAAAD4AAAA/AAAAQAAAAAMAAAAJAAAABAAAAEEAAABCAAAABQAAAAYAAACUAAAAAAAAACCpAACVAAAAlgAAAOAAAABDAAAARAAAAOEAAADiAAAAzwAAANAAAADRAAAA0gAAANMAAADUAAAA1QAAANYAAADXAAAA2AAAANkAAADaAAAAlwAAACwAAAAtAAAABAAAAAUAAAAGAAAALgAAAC8AAABHAAAAMQAAADIAAAAzAAAANAAAAEgAAAA2AAAANwAAADgAAAA5AAAASQAAADsAAAA8AAAAPQAAAD4AAAA/AAAASgAAAEEAAABLAAAAQwAAAEQAAABMAAAARgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAbP///2z///8AAAAAAAAAAGz///9s////bP///2z///9s////bP///wAAAABs////IKkAAAIAAACYAAAAmQAAAOMAAABFAAAARgAAAOQAAADlAAAAJwAAACgAAADeAAAA3wAAACsAAAAsAAAALQAAAC4AAAAvAAAAMAAAADEAAAAyAAAAMwAAADQAAAA1AAAANgAAAI0AAACOAAAAjwAAAJAAAAA7AAAAPAAAAD0AAAA+AAAAPwAAAEAAAAADAAAACQAAAAQAAABBAAAAQgAAAAUAAAAGAAAAHLEBANCeAgAIxgAAAAAAAByxAQAJnwIAWOEAAAAAAAC4sQEASJ8CAAAAAAABAAAAyLcAAAP0//8csQEAOKECADCnAAAAAAAAHLEBAJyiAgDItwAAAAAAAByxAQBaowIAoOEAAAAAAAAcsQEAgKMCAMi3AAAAAAAAHLEBAJ+jAgCg4QAAAAAAAByxAQDCowIAyLcAAAAAAAAcsQEAeaUCAMi3AAAAAAAAHLEBACuzAgDItwAAAAAAAByxAQAZvwIAyLcAAAAAAAAcsQEAdbwCAKDhAAAAAAAAHLEBAIK9AgCg4QAAAAAAAByxAQDrvQIAoOEAAAAAAAAcsQEAfL4CAKDhAAAAAAAAHLEBACy/AgDItwAAAAAAAByxAQBsxAIAoOQAAAAAAAAcsQEAQMECACCpAAAAAAAAQAAAAAAAAAAgqQAAlQAAAJYAAADgAAAAQwAAAEQAAADhAAAA4gAAAM8AAADQAAAA0QAAANIAAADTAAAA1AAAANUAAADWAAAA1wAAANgAAADZAAAA2gAAAJcAAAAsAAAALQAAAAQAAAAFAAAABgAAAC4AAAAvAAAARwAAADEAAAAyAAAAMwAAADQAAABIAAAANgAAADcAAAA4AAAAOQAAAEkAAAA7AAAAPAAAAD0AAAA+AAAAPwAAAEoAAABBAAAASwAAAEMAAABEAAAATAAAAEYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMD////A////AAAAAAAAAADA////wP///8D////A////wP///8D///8AAAAAwP///yCpAAACAAAAmAAAAJkAAADjAAAARQAAAEYAAADkAAAA5QAAACcAAAAoAAAA3gAAAN8AAAArAAAALAAAAC0AAAAuAAAALwAAADAAAAAxAAAAMgAAADMAAAA0AAAANQAAADYAAACNAAAAjgAAAI8AAACQAAAAOwAAADwAAAA9AAAAPgAAAD8AAABAAAAAAwAAAAkAAAAEAAAAQQAAAEIAAAAFAAAABgAAAByxAQBDxAIAyLcAAAAAAAAcsQEAhMQCAMi3AAAAAAAAuLEBADLFAgAAAAAAAgAAAMi3AAACAAAAGMsAAAIMAAAcsQEA9cUCAPDkAAAAAAAAHLEBANLFAgDItwAAAAAAAByxAQAKxgIAyLcAAAAAAAAcsQEAJ8wCACDlAAAAAAAAHLEBAPfLAgAgqQAAAAAAAByxAQA+zAIAyLcAAAAAAAAcsQEAZMwCAEDlAAAAAAAAHLEBAIPMAgDItwAAAAAAAByxAQBR2QIAYOUAAAAAAAC4sQEAXM0CAAAAAAABAAAAMKcAAAP0//+4sQEAdc0CAAAAAAACAAAAQK8AAAIAAACY5QAAAoQAAPSwAQCSzQIAHLEBAH3QAgAgsAAAAAAAALixAQA60QIAAAAAAAIAAABwugAAAgAAAJjlAAACJAAAHLEBAHPRAgDItwAAAAAAAByxAQB+0gIAaL0AAAAAAAAcsQEAMtkCAAjzAAAAAAAAHLEBAAbZAgAI8wAAAAAAAByxAQDF2AIACPMAAAAAAAAcsQEAQNgCADCnAAAAAAAAHLEBAMLWAgBA5gAAAAAAALixAQDp1gIAAAAAAAEAAADItwAAA/T//3QAAABsAAAAAAAAACi9AAABAAAAAQAAAAIAAAACAAAAAwAAAAQAAAAFAAAAAQAAAAEAAAAKAAAACwAAAAYAAAAHAAAACAAAAAkAAAACAAAAAQAAAAEAAAACAAAAAgAAAHAAAABoAAAA/P///yi9AAAKAAAAAwAAAAQAAAALAAAADAAAAA0AAAAOAAAAAwAAAAMAAAAMAAAADQAAAJT///+U////lP///5T///8AAAAAAAAAAJT///+U////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlP///5T///8AAAAAAAAAAAAAAAAAAAAAlP///5T///+U////lP///5T///8IAAAAlP///yi9AAAPAAAABQAAAAYAAAAQAAAAEQAAABIAAAATAAAAFAAAABUAAAAWAAAAFwAAABgAAAAZAAAAGgAAABsAAAAcAAAAHQAAAB4AAAAfAAAAIAAAACEAAAAiAAAAIwAAAAQAAAAOAAAADwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD4////+P////j////4////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIz///+M////jP///4z///+M////jP///wAAAACM////KL0AAAIAAAAQAAAAEQAAACQAAAAHAAAACAAAACUAAAAmAAAAJwAAACgAAAApAAAAKgAAACsAAAAsAAAALQAAAC4AAAAvAAAAMAAAADEAAAAyAAAAMwAAADQAAAA1AAAANgAAADcAAAA4AAAAOQAAADoAAAA7AAAAPAAAAD0AAAA+AAAAPwAAAEAAAAADAAAACQAAAAQAAABBAAAAQgAAAAUAAAAGAAAAdAAAAGwAAAAAAAAAOL0AAEMAAAAJAAAACgAAAEQAAABFAAAABAAAAAUAAAABAAAAAQAAABIAAAATAAAABgAAAAcAAAAIAAAACQAAAAIAAAACAAAAAQAAAHAAAABoAAAA/P///zi9AABGAAAACwAAAAwAAABHAAAASAAAAA0AAAAOAAAAAwAAAAMAAAAUAAAAFQAAAJT///+U////lP///5T///8AAAAAAAAAAJT///+U////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlP///5T///8AAAAAAAAAAAAAAAAAAAAAlP///5T///+U////lP///5T///8IAAAAlP///zi9AABJAAAADQAAAA4AAABKAAAASwAAABIAAAATAAAAFAAAABUAAAAWAAAAFwAAABgAAAAZAAAAGgAAABsAAAAcAAAAHQAAAB4AAAAfAAAAIAAAACEAAAAiAAAAIwAAAAQAAAAWAAAAFwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD4////+P////j////4////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIz///+M////jP///4z///+M////jP///wAAAACM////OL0AAAIAAAAYAAAAGQAAAEwAAAAPAAAAEAAAAE0AAABOAAAAJwAAACgAAAApAAAAKgAAACsAAAAsAAAALQAAAC4AAAAvAAAAMAAAADEAAAAyAAAAMwAAADQAAAA1AAAANgAAADcAAAA4AAAAOQAAADoAAAA7AAAAPAAAAD0AAAA+AAAAPwAAAEAAAAADAAAACQAAAAQAAABBAAAAQgAAAAUAAAAGAAAAdAAAAGwAAAAAAAAA0LQAAE8AAAARAAAAEgAAAFAAAABRAAAAUgAAAFMAAAAFAAAABAAAABoAAAAbAAAAlP///5T///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACU////lP///wAAAAAAAAAAAAAAAAAAAACU////lP///5T///+U////lP///wgAAACU////0LQAAFQAAAATAAAAFAAAAFUAAABWAAAAEgAAABMAAAAUAAAAFQAAAFcAAABYAAAAGAAAABkAAAAaAAAAGwAAABwAAAAdAAAAWQAAAFoAAAAgAAAAIQAAAFsAAABcAAAABgAAABwAAAAdAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPj////4////+P////j///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAjP///4z///+M////jP///4z///+M////AAAAAIz////QtAAAAgAAAB4AAAAfAAAAXQAAABUAAAAWAAAAXgAAAF8AAAAnAAAAKAAAACkAAAAqAAAAKwAAACwAAAAtAAAALgAAAC8AAAAwAAAAMQAAADIAAAAzAAAANAAAADUAAAA2AAAANwAAADgAAAA5AAAAOgAAADsAAAA8AAAAPQAAAD4AAAA/AAAAQAAAAAMAAAAJAAAABAAAAEEAAABCAAAABQAAAAYAAABwAAAAaAAAAAAAAAAAtQAAYAAAABcAAAAYAAAAYQAAAGIAAABjAAAAZAAAAAcAAAAFAAAAIAAAACEAAACY////mP///wAAAAAAAAAAAAAAAAAAAACY////mP///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJj///+Y////mP///5j///+Y////CAAAAJj///8AtQAAZQAAABkAAAAaAAAAZgAAAGcAAAASAAAAEwAAABQAAAAVAAAAaAAAAGkAAAAYAAAAGQAAABoAAAAbAAAAHAAAAB0AAABqAAAAawAAACAAAAAhAAAAWwAAAFwAAAAIAAAAIgAAACMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA+P////j////4////+P///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACQ////kP///5D///+Q////kP///5D///8AAAAAkP///wC1AAACAAAAJAAAACUAAABsAAAAGwAAABwAAABtAAAAbgAAACcAAAAoAAAAKQAAACoAAAArAAAALAAAAC0AAAAuAAAALwAAADAAAAAxAAAAMgAAADMAAAA0AAAANQAAADYAAAA3AAAAOAAAADkAAAA6AAAAOwAAADwAAAA9AAAAPgAAAD8AAABAAAAAAwAAAAkAAAAEAAAAQQAAAEIAAAAFAAAABgAAAByxAQCE1wIAKL0AAAAAAAAcsQEA4NcCABi1AAAAAAAAHLEBAA7YAgDotAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAAAAADilAABvAAAAHQAAAB4AAABwAAAAcQAAABIAAAATAAAAFAAAABUAAABoAAAAaQAAABgAAAAZAAAAGgAAABsAAAAcAAAAHQAAAFkAAABaAAAAIAAAACEAAABbAAAAXAAAAAkAAAAmAAAAJwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD4////+P////j////4////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPj////4////+P////j////4////+P///wAAAAD4////OKUAAAIAAAAoAAAAKQAAAHIAAAAfAAAAIAAAAHMAAAB0AAAAJwAAACgAAAApAAAAKgAAACsAAAAsAAAALQAAAC4AAAAvAAAAMAAAADEAAAAyAAAAMwAAADQAAAA1AAAANgAAADcAAAA4AAAAOQAAADoAAAA7AAAAPAAAAD0AAAA+AAAAPwAAAEAAAAADAAAACQAAAAQAAABBAAAAQgAAAAUAAAAGAAAAAAAAAByxAQAQ1wIA+PIAAAAAAAAcsQEAmNgCADCnAAAAAAAAHLEBAODYAgAwpwAAAAAAAByxAQBv2QIAyLcAAAAAAAAcsQEAytkCABjzAAAAAAAAgAAAAAAAAAAgsAAA6gAAANAAAADvAAAA8AAAAAEAAACA////AAAAAID///8gsAAADwAAAPEAAADyAAAAAAAAAIAAAAAAAAAACLAAAOoAAAABAAAA6wAAAOwAAACA////AAAAAID///8IsAAADwAAAO0AAADuAAAAHLEBAEjdAgAY8wAAAAAAAByxAQBB3gIAyLcAAAAAAAAcsQEAtOACACCpAAAAAAAARAAAAAAAAAAgqQAAlQAAAJYAAADgAAAAQwAAAEQAAADhAAAA4gAAAM8AAADQAAAA0QAAANIAAADTAAAA1AAAANUAAADWAAAA1wAAANgAAADZAAAA2gAAAJcAAAAsAAAALQAAAAQAAAAFAAAABgAAAC4AAAAvAAAARwAAADEAAAAyAAAAMwAAADQAAABIAAAANgAAADcAAAA4AAAAOQAAAEkAAAA7AAAAPAAAAD0AAAA+AAAAPwAAAEoAAABBAAAASwAAAEMAAABEAAAATAAAAEYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAALz///+8////AAAAAAAAAAC8////vP///7z///+8////vP///7z///8AAAAAvP///yCpAAACAAAAmAAAAJkAAADjAAAARQAAAEYAAADkAAAA5QAAACcAAAAoAAAA3gAAAN8AAAArAAAALAAAAC0AAAAuAAAALwAAADAAAAAxAAAAMgAAADMAAAA0AAAANQAAADYAAACNAAAAjgAAAI8AAACQAAAAOwAAADwAAAA9AAAAPgAAAD8AAABAAAAAAwAAAAkAAAAEAAAAQQAAAEIAAAAFAAAABgAAALixAQBt5wIAAwAAAAIAAABg5QAAAgAAALDlAAACaAAA7AAAAAAAAABg5QAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAGQMAALYBAAC3AQAAsAIAABoDAAAbAwAAHAMAAL8CAAABAAAAAQAAAAYAAAABAAAAAQAAAAEAAAAfAwAAAQAAAAEAAAB/AAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAArAwAALAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFP///wAAAAAU////YOUAAAIAAAAtAwAALgMAAAEAAAABAAAALwAAAAEAAAABAAAAJwAAACgAAAApAAAAKgAAACsAAAAsAAAALQAAAC4AAAAvAAAAMAAAADEAAAAyAAAAMwAAADQAAAA1AAAANgAAAI0AAACOAAAAjwAAAJAAAAA7AAAAPAAAAD0AAAA+AAAAPwAAAEAAAAADAAAACQAAAAQAAABBAAAAQgAAAAUAAAAGAAAAhAAAAAAAAACw5QAAnwIAAD8BAABAAQAAoAIAAKECAACvAQAADAMAAA0DAABBAQAAogIAAHwAAACwAQAACQAAAAQAAAAOAwAAsQEAAAcAAACjAgAApAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHz///98////fP///3z///98////fP///wAAAAB8////sOUAAAIAAAASAwAAEwMAAKYCAABCAQAAQwEAAKcCAACoAgAAJwAAACgAAAApAAAAKgAAACsAAAAsAAAALQAAAC4AAAAvAAAAMAAAADEAAAAyAAAAMwAAADQAAAA1AAAANgAAAI0AAACOAAAAjwAAAJAAAAA7AAAAPAAAAD0AAAA+AAAAPwAAAEAAAAADAAAACQAAAAQAAABBAAAAQgAAAAUAAAAGAAAAAAAAAIQAAAAAAAAAcLoAAOABAADhAAAA4gAAAOEBAADiAQAALgEAAMsBAADMAQAA4wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHz///98////fP///3z///98////fP///wAAAAB8////cLoAAAIAAADNAQAAzgEAAOMBAADkAAAA5QAAAOQBAADlAQAAJwAAACgAAAApAAAAKgAAACsAAAAsAAAALQAAAC4AAAAvAAAAMAAAADEAAAAyAAAAMwAAADQAAAA1AAAANgAAAI0AAACOAAAAjwAAAJAAAAA7AAAAPAAAAD0AAAA+AAAAPwAAAEAAAAADAAAACQAAAAQAAABBAAAAQgAAAAUAAAAGAAAAAAAAAByxAQDV5QIAeOUAAAAAAAC4sQEAc/ACAAAAAAABAAAAIKYAAAAAAAC4sQEANPACAAAAAAABAAAAIKYAAAAAAAD0sAEAFfACAPSwAQD27wIA9LABANfvAgD0sAEAuO8CAPSwAQCZ7wIA9LABAHrvAgD0sAEAW+8CAPSwAQA87wIA9LABAB3vAgD0sAEA/u4CAPSwAQDf7gIA9LABAMDuAgAcsQEAokADANj7AAAAAAAA9LABAJBAAwAcsQEAzEADANj7AAAAAAAA9LABAPZAAwD0sAEAJ0EDALixAQBYQQMAAAAAAAEAAADI+wAAA/T//7ixAQCHQQMAAAAAAAEAAADg+wAAA/T//7ixAQC2QQMAAAAAAAEAAADI+wAAA/T//7ixAQDlQQMAAAAAAAEAAADg+wAAA/T//7ixAQAUQgMAAwAAAAIAAAAA/AAAAgAAADD8AAACCAAADAAAAAAAAAAA/AAAdAAAAHUAAAD0////9P///wD8AAB2AAAAdwAAAByxAQBEQgMA+PsAAAAAAAAcsQEAXUIDAPD7AAAAAAAAHLEBAJxCAwD4+wAAAAAAAByxAQC0QgMA8PsAAAAAAAAcsQEAzEIDAPj8AAAAAAAAHLEBAOBCAwBIAQEAAAAAAByxAQD2QgMA+PwAAAAAAAC4sQEAD0MDAAAAAAACAAAA+PwAAAIAAAA4/QAAAAAAALixAQBTQwMAAAAAAAEAAABQ/QAAAAAAAPSwAQBpQwMAuLEBAIJDAwAAAAAAAgAAAPj8AAACAAAAeP0AAAAAAAC4sQEAxkMDAAAAAAABAAAAUP0AAAAAAAC4sQEA70MDAAAAAAACAAAA+PwAAAIAAACw/QAAAAAAALixAQAzRAMAAAAAAAEAAADI/QAAAAAAAPSwAQBJRAMAuLEBAGJEAwAAAAAAAgAAAPj8AAACAAAA8P0AAAAAAAC4sQEApkQDAAAAAAABAAAAyP0AAAAAAAC4sQEA/EUDAAAAAAADAAAA+PwAAAIAAAAw/gAAAgAAADj+AAAACAAA9LABAGNGAwD0sAEAQUYDALixAQB2RgMAAAAAAAMAAAD4/AAAAgAAADD+AAACAAAAaP4AAAAIAAD0sAEAu0YDALixAQDdRgMAAAAAAAIAAAD4/AAAAgAAAJD+AAAACAAA9LABACJHAwC4sQEAN0cDAAAAAAACAAAA+PwAAAIAAACQ/gAAAAgAALixAQB8RwMAAAAAAAIAAAD4/AAAAgAAANj+AAACAAAA9LABAJhHAwC4sQEArUcDAAAAAAACAAAA+PwAAAIAAADY/gAAAgAAALixAQDJRwMAAAAAAAIAAAD4/AAAAgAAANj+AAACAAAAuLEBAOVHAwAAAAAAAgAAAPj8AAACAAAA2P4AAAIAAAC4sQEAEEgDAAAAAAACAAAA+PwAAAIAAABg/wAAAAAAAPSwAQBWSAMAuLEBAHpIAwAAAAAAAgAAAPj8AAACAAAAiP8AAAAAAAD0sAEAwEgDALixAQDfSAMAAAAAAAIAAAD4/AAAAgAAALD/AAAAAAAA9LABACVJAwC4sQEAPkkDAAAAAAACAAAA+PwAAAIAAADY/wAAAAAAAPSwAQCESQMAuLEBAJ1JAwAAAAAAAgAAAPj8AAACAAAAAAABAAIAAAD0sAEAskkDALixAQBJSgMAAAAAAAIAAAD4/AAAAgAAAAAAAQACAAAAHLEBAMpJAwA4AAEAAAAAALixAQDtSQMAAAAAAAIAAAD4/AAAAgAAAFgAAQACAAAA9LABABBKAwAcsQEAJ0oDADgAAQAAAAAAuLEBAF5KAwAAAAAAAgAAAPj8AAACAAAAWAABAAIAAAC4sQEAgEoDAAAAAAACAAAA+PwAAAIAAABYAAEAAgAAALixAQCiSgMAAAAAAAIAAAD4/AAAAgAAAFgAAQACAAAAHLEBAMVKAwD4/AAAAAAAALixAQDbSgMAAAAAAAIAAAD4/AAAAgAAAAABAQACAAAA9LABAO1KAwC4sQEAAksDAAAAAAACAAAA+PwAAAIAAAAAAQEAAgAAAByxAQAfSwMA+PwAAAAAAAAcsQEANEsDAPj8AAAAAAAA9LABAElLAwD0sAEA80sDAByxAQBTTAMAaAEBAAAAAAAcsQEAAEwDAHgBAQAAAAAA9LABACFMAwAcsQEALkwDAFgBAQAAAAAAHLEBADVNAwBQAQEAAAAAAByxAQBFTQMAkAEBAAAAAAAcsQEAZk0DAFABAQAAAAAAHLEBAJlNAwBoAQEAAAAAAByxAQB1TQMAwAEBAAAAAAAcsQEAu00DAGgBAQAAAAAAgLEBAONNAwCAsQEA5U0DAICxAQCgKQMAgLEBAOhNAwCAsQEADzADAICxAQCeKQMAgLEBAOpNAwCAsQEA7E0DAICxAQDuTQMAgLEBAPBNAwCAsQEA7UMDAICxAQDyTQMAgLEBAPRNAwCAsQEA9k0DAByxAQD4TQMAWAEBAAAAAABoAAAAYAAAAAAAAABQpQAAAQAAAAEAAAACAAAAAgAAAAMAAAAEAAAABQAAAAEAAAABAAAAAQAAAAIAAAAGAAAABwAAAAgAAAAJAAAAAgAAAAEAAAABAAAAAQAAAAIAAABkAAAAXAAAAPz///9QpQAACgAAAAMAAAAEAAAACwAAAAwAAAANAAAADgAAAAMAAAADAAAAAwAAAAQAAACg////oP///6D///+g////AAAAAAAAAACg////oP///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKD///+g////AAAAAAAAAAAAAAAAAAAAAKD///+g////oP///6D///+g////CAAAAKD///9QpQAADwAAAAUAAAAGAAAAEAAAABEAAAASAAAAEwAAABQAAAAVAAAAFgAAABcAAAAYAAAAGQAAABoAAAAbAAAAHAAAAB0AAAAeAAAAHwAAACAAAAAhAAAAIgAAACMAAAAEAAAABQAAAAYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA+P////j////4////+P///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACY////mP///5j///+Y////mP///5j///8AAAAAmP///1ClAAACAAAABwAAAAgAAAAkAAAABwAAAAgAAAAlAAAAJgAAACcAAAAoAAAAKQAAACoAAAArAAAALAAAAC0AAAAuAAAALwAAADAAAAAxAAAAMgAAADMAAAA0AAAANQAAADYAAAA3AAAAOAAAADkAAAA6AAAAOwAAADwAAAA9AAAAPgAAAD8AAABAAAAAAwAAAAkAAAAEAAAAQQAAAEIAAAAFAAAABgAAAIACAQAQmwAA0J0AAIigAAAkoQAANKIAAOiiAACEowAAlKQAAMSeAADUnwAAKJ4AAAycAAAcnQAAcJsAAHwDAQCMBAEA4AIBADDxAABA8gAACAAAAAAAAAA4pQAAbwAAAB0AAAAeAAAAcAAAAHEAAAASAAAAEwAAABQAAAAVAAAAaAAAAGkAAAAYAAAAGQAAABoAAAAbAAAAHAAAAB0AAABZAAAAWgAAACAAAAAhAAAAWwAAAFwAAAAJAAAAJgAAACcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA+P////j////4////+P///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD4////+P////j////4////+P////j///8AAAAA+P///zilAAACAAAAKAAAACkAAAByAAAAHwAAACAAAABzAAAAdAAAACcAAAAoAAAAKQAAACoAAAArAAAALAAAAC0AAAAuAAAALwAAADAAAAAxAAAAMgAAADMAAAA0AAAANQAAADYAAAA3AAAAOAAAADkAAAA6AAAAOwAAADwAAAA9AAAAPgAAAD8AAABAAAAAAwAAAAkAAAAEAAAAQQAAAEIAAAAFAAAABgAAAAAAAABopQAAKgAAACsAAAB1AAAABwAAACwAAAAtAAAAAQAAACEAAAB2AAAAAAAAAIClAAAqAAAALgAAAHcAAAAIAAAALwAAADAAAAACAAAAIgAAAHgAAAAAAAAAoKUAADEAAAAyAAAAeQAAAAkAAAAzAAAANAAAADUAAAAjAAAAegAAAAAAAAC4pQAAKgAAADYAAAB7AAAACgAAADcAAAA4AAAAAwAAACQAAAB8AAAAAAAAANClAAAxAAAAOQAAAH0AAAALAAAAOgAAADsAAAA8AAAAJQAAAH4AAAAAAAAA6KUAACoAAAA9AAAAfwAAAAwAAAA+AAAAPwAAAAQAAAAmAAAAgAAAAAAAAAAApgAAMQAAAEAAAACBAAAADQAAAEEAAABCAAAAQwAAACcAAACCAAAAGKYAACimAADwAQEAKKYAAHimAADwAQEAeKYAACimAABIAgEAiKYAABimAABgpgAASAIBAGCmAAAopgAAYKYAABimAADwAQEACAAAAAAAAADQpgAARAAAAEUAAAD4////+P///9CmAABGAAAARwAAAMgIAQC0pgAAyKYAANwIAQAIAAAAAAAAAJimAABIAAAASQAAAPj////4////mKYAAEoAAABLAAAAAAkBALSmAADIpgAAFAkBAAAAAAAgpwAAUAAAAFEAAAAOAAAACgAAAAEAAAAFAAAAgwAAAIQAAAALAAAAhQAAAIYAAAAoAAAADAAAACkAAAAAAAAA8KYAAA8AAABSAAAAUwAAAAYAAAAAAAAA4KYAAFQAAABVAAAADgAAAAoAAAACAAAABgAAAIcAAACEAAAACwAAAIgAAACGAAAAKgAAAA0AAAArAAAAAAAAABCnAABWAAAAVwAAAA4AAAAKAAAAAgAAAAYAAACDAAAAhAAAAAsAAACIAAAAhgAAACoAAAANAAAAKwAAAAAAAABApwAAAgAAAFgAAABZAAAAAQAAAAEAAAAsAAAAiQAAAIoAAAAnAAAAKAAAACkAAAAqAAAAKwAAACwAAACLAAAAjAAAAC8AAAAwAAAAMQAAADIAAAAzAAAANAAAADUAAAA2AAAAjQAAAI4AAACPAAAAkAAAADsAAAA8AAAAPQAAAD4AAAA/AAAAQAAAAAMAAAAJAAAABAAAAEEAAABCAAAAEAAAABEAAACRAAAAkgAAAAEAAACTAAAAlAAAAAEAAAAtAAAALgAAABIAAAATAAAAAAAAADCnAAACAAAAWgAAAFsAAAABAAAAAQAAAC8AAAABAAAAAQAAACcAAAAoAAAAKQAAACoAAAArAAAALAAAAC0AAAAuAAAALwAAADAAAAAxAAAAMgAAADMAAAA0AAAANQAAADYAAACNAAAAjgAAAI8AAACQAAAAOwAAADwAAAA9AAAAPgAAAD8AAABAAAAAAwAAAAkAAAAEAAAAQQAAAEIAAAAFAAAABgAAAAAAAABQpwAADwAAAFwAAABdAAAAAAAAAGCnAAACAAAAXgAAAF8AAACVAAAAMAAAADEAAACWAAAAlwAAACcAAAAoAAAAKQAAACoAAAArAAAALAAAAIsAAACMAAAALwAAADAAAAAxAAAAMgAAADMAAAA0AAAANQAAADYAAACNAAAAjgAAAI8AAACQAAAAOwAAADwAAAA9AAAAPgAAAD8AAABAAAAAAwAAAAkAAAAEAAAAQQAAAEIAAAAQAAAAEQAAAJEAAACSAAAAmAAAAJMAAACUAAAAMgAAADMAAAAuAAAAFAAAABMAAAAAAAAAcKcAAA8AAABgAAAAYQAAAAAAAACQpwAADwAAAGIAAABjAAAAAAAAAKCnAAAPAAAAZAAAAGUAAAAVAAAAZgAAABYAAAAXAAAAAQAAAGcAAABoAAAAaQAAAAAAAACwpwAADwAAAGoAAABrAAAAGAAAAGwAAAAZAAAAGgAAAAEAAAABAAAAAQAAAAEAAAAAAAAAwKcAAAIAAABtAAAAbgAAAAEAAAABAAAANAAAAJkAAACaAAAAJwAAACgAAAApAAAAKgAAACsAAAAsAAAALQAAAC4AAAAvAAAAMAAAADEAAAAyAAAAMwAAADQAAAA1AAAANgAAAI0AAACOAAAAjwAAAJAAAAA7AAAAPAAAAD0AAAA+AAAAPwAAAEAAAAADAAAACQAAAAQAAABBAAAAQgAAABsAAAAcAAAAAAAAANCnAAACAAAAbwAAAHAAAAABAAAAAQAAADUAAACbAAAAnAAAACcAAAAoAAAAKQAAACoAAAArAAAALAAAAC0AAAAuAAAALwAAADAAAAAxAAAAMgAAADMAAAA0AAAANQAAADYAAACNAAAAjgAAAI8AAACQAAAAOwAAADwAAAA9AAAAPgAAAJ0AAACeAAAAAwAAAAkAAAAEAAAAQQAAAEIAAAAdAAAAHgAAAAEAAAABAAAAnwAAAKAAAAChAAAAogAAAAAAAADgpwAAAgAAAG0AAABxAAAAowAAADYAAAA3AAAApAAAAKUAAAAnAAAAKAAAACkAAAAqAAAAKwAAACwAAAAtAAAALgAAAC8AAAAwAAAAMQAAADIAAAAzAAAANAAAADUAAAA2AAAAjQAAAI4AAACPAAAAkAAAADsAAAA8AAAAPQAAAD4AAAA/AAAAQAAAAAMAAAAJAAAABAAAAEEAAABCAAAAGwAAABwAAAAAAAAAKKgAAA8AAAByAAAAcwAAAAcAAAABAAAACAAAAAIAAAAGzQEAMc0BADwAAAAAAAAAGKgAAHgAAAB5AAAAxP///8T///8YqAAAegAAAHsAAABQDwEA/KcAABCoAABkDwEAAAAAAEioAAACAAAAbQAAAHwAAACmAAAAOAAAADkAAACnAAAAqAAAACcAAAAoAAAAKQAAACoAAAArAAAALAAAAC0AAAAuAAAALwAAADAAAAAxAAAAMgAAADMAAAA0AAAANQAAADYAAACNAAAAjgAAAI8AAACQAAAAOwAAADwAAAA9AAAAPgAAAD8AAABAAAAAAwAAAAkAAAAEAAAAQQAAAEIAAAAbAAAAHAAAAAAAAABYqAAAAgAAAG0AAAB9AAAAqQAAADoAAAA7AAAAqgAAAKsAAAAnAAAAKAAAACkAAAAqAAAAKwAAACwAAAAtAAAALgAAAC8AAAAwAAAAMQAAADIAAAAzAAAANAAAADUAAAA2AAAAjQAAAI4AAACPAAAAkAAAADsAAAA8AAAAPQAAAD4AAAA/AAAAQAAAAAMAAAAJAAAABAAAAEEAAABCAAAAGwAAABwAAAAAAAAAaKgAAA8AAABSAAAAfgAAAAAAAAB4qAAADwAAAH8AAACAAAAAHwAAAIEAAAAgAAAAIQAAAAIAAACCAAAAgwAAAIQAAAAAAAAAiKgAACIAAACFAAAAhgAAAKwAAAA8AAAAPQAAAK0AAACuAAAArwAAALAAAAApAAAAKgAAACsAAAAsAAAALQAAAC4AAAAvAAAAMAAAADEAAAAyAAAAsQAAALIAAACzAAAAtAAAAI0AAACOAAAAjwAAAJAAAAA7AAAAPAAAAD0AAAA+AAAAPwAAAEAAAAADAAAACQAAAAQAAABBAAAAQgAAACMAAAAkAAAAtQAAALYAAAC3AAAAuAAAALkAAAC6AAAAuwAAALwAAAC9AAAAvgAAAL8AAADAAAAAJQAAACYAAAAnAAAAKAAAAD4AAAAOAAAAPwAAAA8AAAAQAAAAwQAAABEAAAAJAAAAKQAAAMIAAADDAAAAxAAAAMUAAADGAAAAxwAAABIAAAATAAAACgAAAHD///+IqAAAhwAAAIgAAACJAAAAKgAAAAsAAAAAAAAAqKgAAIoAAACLAAAAiQAAACoAAAAMAAAAAAAAAPCoAAACAAAAjAAAAI0AAADIAAAAQAAAAEEAAADJAAAAygAAACcAAAAoAAAAKQAAACoAAAArAAAALAAAAIsAAACMAAAALwAAADAAAAAxAAAAMgAAADMAAAA0AAAANQAAADYAAACNAAAAjgAAAI8AAACQAAAAOwAAADwAAAA9AAAAPgAAAD8AAABAAAAAAwAAAAkAAAAEAAAAQQAAAEIAAAAQAAAAEQAAAJEAAACSAAAAywAAAJMAAACUAAAAQgAAAC0AAAAuAAAAKwAAABMAAACMAQAAAAAAAACpAACOAAAAjwAAAMwAAABDAAAARAAAAM0AAADOAAAAzwAAANAAAADRAAAA0gAAANMAAADUAAAA1QAAANYAAADXAAAA2AAAANkAAADaAAAAkAAAACwAAAAtAAAAAQAAAAIAAAADAAAALgAAAC8AAAAwAAAAMQAAADIAAAAzAAAANAAAADUAAAA2AAAANwAAADgAAAA5AAAAOgAAADsAAAA8AAAAPQAAAD4AAAA/AAAAQAAAAEEAAABCAAAAQwAAAEQAAABFAAAARgAAAMj///8AqQAAkQAAAJIAAACJAAAAKgAAAAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHT+//90/v//AAAAAAAAAAB0/v//dP7//3T+//90/v//dP7//3T+//8AAAAAdP7//wCpAAACAAAAkwAAAJQAAADbAAAARQAAAEYAAADcAAAA3QAAACcAAAAoAAAA3gAAAN8AAAArAAAALAAAAC0AAAAuAAAALwAAADAAAAAxAAAAMgAAADMAAAA0AAAANQAAADYAAACNAAAAjgAAAI8AAACQAAAAOwAAADwAAAA9AAAAPgAAAD8AAABAAAAAAwAAAAkAAAAEAAAAQQAAAEIAAAAFAAAABgAAABwoAACMKQAAaBMBAESpAAC0qgAA9BQBAAAAAADoqwAAmgAAAJsAAACJAAAAKgAAAAwAAAAAAAAAWKsAAAIAAACcAAAAnQAAAOYAAABHAAAASAAAAOcAAADoAAAAJwAAACgAAAApAAAAKgAAACsAAAAsAAAALQAAAC4AAAAvAAAAMAAAADEAAAAyAAAAMwAAADQAAAA1AAAANgAAAI0AAACOAAAAjwAAAJAAAAA7AAAAPAAAAD0AAAA+AAAAPwAAAEAAAAADAAAACQAAAAQAAABBAAAAQgAAAAUAAAAGAAAAAAAAAHirAACeAAAAnwAAAEkAAABKAAAASwAAAEwAAABNAAAATgAAAE8AAABQAAAAUQAAAFIAAABTAAAAVAAAAFUAAABWAAAAVwAAAFgAAAAAAAAA+KsAAA8AAACgAAAAoQAAAFwAAAAAAAAACKwAAKIAAACjAAAA4AAAAEMAAABEAAAA6QAAAOoAAADPAAAA0AAAANEAAADSAAAA0wAAANQAAADVAAAA1gAAANcAAADYAAAA2QAAANoAAACkAAAALAAAAC0AAAAEAAAABQAAAAYAAABNAAAALwAAAEcAAAAxAAAAMgAAADMAAAA0AAAASAAAADYAAAA3AAAAOAAAADkAAABOAAAAOwAAADwAAAA9AAAAPgAAAD8AAABKAAAAQQAAAEsAAABDAAAARAAAAEwAAABGAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACk////pP///wAAAAAAAAAApP///6T///+k////pP///6T///+k////AAAAAKT///8IrAAAAgAAAKUAAACmAAAA4wAAAEUAAABGAAAA6wAAAOwAAAAnAAAAKAAAAN4AAADfAAAAKwAAACwAAAAtAAAALgAAAC8AAAAwAAAAMQAAADIAAAAzAAAANAAAADUAAAA2AAAAjQAAAI4AAACPAAAAkAAAADsAAAA8AAAAPQAAAD4AAAA/AAAAQAAAAAMAAAAJAAAABAAAAEEAAABCAAAABQAAAAYAAADoFgEAJKwAAJStAABYGAEAAAAAANCrAABPAAAApwAAAKgAAADtAAAAWQAAAFoAAADuAAAA7wAAAK8AAACwAAAAKQAAACoAAAArAAAALAAAAC0AAAAuAAAALwAAADAAAAAxAAAAMgAAADMAAAA0AAAA8AAAAPEAAACNAAAAjgAAAI8AAACQAAAAOwAAADwAAAA9AAAAPgAAAD8AAABAAAAAAwAAAKkAAAAEAAAAQQAAAEIAAABQAAAAUQAAALUAAAC2AAAA8gAAAPMAAAD0AAAA9QAAALsAAAC8AAAAvQAAAL4AAAC/AAAAwAAAAFIAAAAmAAAAUwAAAFQAAABVAAAAVgAAAFcAAACqAAAA9gAAAFgAAABbAAAAWQAAAFoAAABcAAAAWwAAAF0AAABcAAAAXgAAAF0AAABfAAAAXgAAAAAAAAA4rgAAqwAAAKwAAAANAAAADgAAAA8AAAAQAAAAEQAAABIAAAAHAAAACAAAAAkAAAAKAAAAXwAAAGAAAABhAAAAYgAAAGMAAABkAAAAZQAAAAEAAAABAAAAAQAAAAIAAAACAAAAAgAAAK0AAAAAAAAAUK4AAA8AAACuAAAArwAAABgAAABsAAAAGQAAABoAAAADAAAAsAAAALEAAACyAAAAAAAAALCoAABmAAAAswAAALQAAAD3AAAAYAAAAGEAAAD4AAAA+QAAAK8AAACwAAAAKQAAACoAAAArAAAALAAAAC0AAAAuAAAALwAAADAAAAAxAAAAMgAAADMAAAA0AAAAswAAALQAAACNAAAAjgAAAI8AAACQAAAAOwAAADwAAAA9AAAAPgAAAD8AAABAAAAAAwAAAAkAAAAEAAAAQQAAAEIAAABnAAAAaAAAALUAAAC2AAAA8gAAAPMAAAD0AAAA9QAAALsAAAC8AAAAvQAAAL4AAAC/AAAAwAAAAGkAAAAmAAAAUwAAAGoAAAAAAAAAYK4AAA8AAAC1AAAAtgAAABgAAABsAAAAGQAAABoAAAAEAAAAtwAAALgAAAC5AAAAawAAAPoAAABsAAAAAAAAAHCuAAAPAAAAtQAAALoAAAAYAAAAbAAAABkAAAAaAAAABAAAALcAAAC4AAAAuQAAAGsAAAD6AAAAAQAAAAAAAACArgAADwAAALUAAAC7AAAAGAAAAGwAAAAZAAAAGgAAAAQAAAC3AAAAuAAAALkAAABrAAAA+gAAAG0AAAAAAAAAkK4AAAIAAAC8AAAAvQAAAPsAAABiAAAAYwAAAPwAAAD9AAAAJwAAACgAAAApAAAAKgAAACsAAAAsAAAALQAAAC4AAAAvAAAAMAAAADEAAAAyAAAAMwAAADQAAAA1AAAANgAAAI0AAACOAAAAjwAAAJAAAAA7AAAAPAAAAD0AAAA+AAAAPwAAAEAAAAADAAAACQAAAAQAAABBAAAAQgAAAG4AAABvAAAAAAAAAKCuAAACAAAAvgAAAL8AAAD+AAAAZAAAAGUAAAD/AAAAAAEAACcAAAAoAAAAKQAAACoAAAArAAAALAAAAIsAAACMAAAALwAAADAAAAAxAAAAMgAAADMAAAA0AAAANQAAADYAAACNAAAAjgAAAI8AAACQAAAAOwAAADwAAAA9AAAAPgAAAD8AAABAAAAAAwAAAAkAAAAEAAAAQQAAAEIAAABwAAAAcQAAAJEAAACSAAAAAQEAAJMAAACUAAAAZgAAAC0AAAAuAAAAcgAAABMAAAAAAAAAsK4AAA8AAADAAAAAwQAAAAAAAADArgAAIgAAAMIAAADDAAAAAgEAAGcAAABoAAAAAwEAAAQBAACvAAAAsAAAACkAAAAqAAAAKwAAACwAAAAtAAAALgAAAC8AAAAwAAAAMQAAADIAAAAzAAAANAAAALMAAAC0AAAAjQAAAI4AAACPAAAAkAAAADsAAAA8AAAAPQAAAD4AAAA/AAAAQAAAAAMAAAAJAAAABAAAAEEAAABCAAAAcwAAAHQAAAC1AAAAtgAAALcAAAC4AAAA9AAAAPUAAAC7AAAAvAAAAAUBAAAGAQAAvwAAAMAAAAB1AAAAJgAAACcAAAB2AAAAPgAAAA4AAAA/AAAADwAAABAAAADBAAAAEQAAAAkAAAApAAAAaQAAAGoAAAAUAAAAFQAAABYAAAAAAAAA0KgAACIAAADEAAAAxQAAAAcBAABrAAAAbAAAAAgBAAAJAQAArwAAALAAAAApAAAAKgAAACsAAAAsAAAALQAAAC4AAAAvAAAAMAAAADEAAAAyAAAAMwAAADQAAACzAAAAtAAAAI0AAACOAAAAjwAAAJAAAAA7AAAAPAAAAD0AAAA+AAAAPwAAAEAAAAADAAAACQAAAAQAAABBAAAAQgAAAHMAAAB0AAAAtQAAALYAAAC3AAAAuAAAAPQAAAD1AAAAuwAAALwAAAC9AAAAvgAAAL8AAADAAAAAdwAAACYAAAAnAAAAeAAAAD4AAAAOAAAAPwAAAA8AAAAQAAAAwQAAABEAAAAJAAAAKQAAAAAAAADQrgAATwAAAMYAAADHAAAACgEAAG0AAABuAAAACwEAAAwBAACvAAAAsAAAACkAAAAqAAAAKwAAACwAAAAtAAAALgAAAC8AAAAwAAAAMQAAADIAAAAzAAAANAAAAPAAAADxAAAAjQAAAI4AAACPAAAAkAAAADsAAAA8AAAAPQAAAD4AAAA/AAAAQAAAAAMAAACpAAAABAAAAEEAAABCAAAAeQAAAHoAAAANAQAADgEAAPIAAADzAAAA9AAAAPUAAAC7AAAAvAAAAL0AAAC+AAAAvwAAAMAAAAB7AAAAJgAAAFMAAABUAAAAVQAAAFYAAAB8AAAAyAAAAA8BAAB9AAAAbwAAAFkAAAB+AAAAcAAAAH8AAABxAAAAgAAAAHIAAACBAAAAcwAAAIIAAAAAAAAA4K4AAMkAAADKAAAAgwAAAIQAAACFAAAAhgAAAIcAAACIAAAAiQAAAIoAAACLAAAAjAAAAI0AAACOAAAAjwAAAJAAAACRAAAAkgAAAJMAAACUAAAAlQAAAJYAAACXAAAAmAAAAJkAAACaAAAAmwAAAJwAAACdAAAAngAAAJ8AAACgAAAAoQAAAKIAAACjAAAApAAAAKUAAACmAAAApwAAAAAAAAD4rgAAywAAAMwAAACoAAAAqQAAAKoAAACrAAAArAAAAK0AAACuAAAArwAAALAAAACxAAAAsgAAALMAAAC0AAAAtQAAALYAAAC3AAAAuAAAALkAAAC6AAAAuwAAALwAAAC9AAAAvgAAAL8AAADAAAAAwQAAAMIAAADDAAAAxAAAAMUAAADGAAAAxwAAAMgAAADJAAAAygAAAMsAAADMAAAAAAAAABCvAAAPAAAAUgAAAM0AAADNAAAAzgAAAAAAAACApwAADwAAAM4AAADPAAAAAAAAADCvAAAPAAAA0AAAANEAAAAAAAAAQK8AAAIAAADSAAAA0wAAABABAAB0AAAAdQAAABEBAAASAQAAJwAAACgAAAApAAAAKgAAACsAAAAsAAAALQAAAC4AAAAvAAAAMAAAADEAAAAyAAAAMwAAADQAAAA1AAAANgAAAI0AAACOAAAAjwAAAJAAAAA7AAAAPAAAAD0AAAA+AAAAPwAAAEAAAAADAAAACQAAAAQAAABBAAAAQgAAAAUAAAAGAAAA1AAAAAEAAADVAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAAAAAFCvAAAPAAAAUgAAANYAAADPAAAAAAAAAHCvAAAPAAAA1wAAANgAAAAAAAAAgK8AAA8AAADZAAAA2gAAANsAAAATAQAA9P///4CvAADcAAAA3QAAABQBAADeAAAA3wAAAAAAAACQrwAADwAAANkAAADgAAAA4QAAABMBAAD0////kK8AAOIAAADjAAAAFAEAAOQAAADfAAAALAAAAAAAAACwrwAA5QAAANAAAADmAAAA5wAAANEAAADU////AAAAANT///+wrwAADwAAAOgAAADpAAAAAAAAAHiwAAAPAAAA8wAAAPQAAADSAAAAAAAAAMCrAAACAAAA9QAAAPYAAAAVAQAAdgAAAHcAAAAWAQAAFwEAACcAAAAoAAAAKQAAACoAAAArAAAALAAAAC0AAAAuAAAALwAAADAAAAAxAAAAMgAAADMAAAA0AAAANQAAADYAAACNAAAAjgAAAI8AAACQAAAAOwAAADwAAAA9AAAAPgAAABgBAAAZAQAAAwAAAAkAAAAEAAAAQQAAAEIAAAAdAAAAHgAAABoBAAAbAQAAnwAAAKAAAAChAAAAogAAAHgAAAABAAAAAQAAAAEAAAACAAAAAwAAAAQAAAAcAQAAHQEAANMAAAB5AAAAAwAAABcAAADUAAAAAAAAANCwAAACAAAA9wAAAPgAAAAeAQAAegAAAHsAAAAfAQAAIAEAACcAAAAoAAAAKQAAACoAAAArAAAALAAAAC0AAAAuAAAALwAAADAAAAAxAAAAMgAAADMAAAA0AAAANQAAADYAAACNAAAAjgAAAI8AAACQAAAAOwAAADwAAAA9AAAAPgAAAD8AAABAAAAAAwAAAAkAAAAEAAAAQQAAAEIAAAAFAAAABgAAANUAAADWAAAAGAAAAAAAAAAAsQAA+QAAAPoAAAATAAAAFAAAABUAAAAWAAAAFwAAABgAAAALAAAADAAAAA0AAAAOAAAASAAAAAAAAAA4sQAA+wAAAPwAAADgAAAAQwAAAEQAAAAhAQAAIgEAAM8AAADQAAAA0QAAANIAAADTAAAA1AAAANUAAADWAAAA1wAAANgAAADZAAAA2gAAAJcAAAAsAAAALQAAAAQAAAAFAAAABgAAAC4AAADXAAAARwAAADEAAAAyAAAAMwAAADQAAABIAAAANgAAADcAAAA4AAAAOQAAAEkAAAA7AAAAPAAAAD0AAAA+AAAAPwAAAEoAAABBAAAASwAAAEMAAABEAAAATAAAAEYAAAAjAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAC4////uP///wAAAAAAAAAAuP///7j///+4////uP///7j///+4////AAAAALj///84sQAAAgAAAP0AAAD+AAAA4wAAAEUAAABGAAAAJAEAACUBAAAnAAAAKAAAAN4AAADfAAAAKwAAACwAAAAtAAAALgAAAC8AAAAwAAAAMQAAADIAAAAzAAAANAAAADUAAAA2AAAAjQAAAI4AAACPAAAAkAAAADsAAAA8AAAAPQAAAD4AAAA/AAAAQAAAAAMAAAAJAAAABAAAAEEAAABCAAAABQAAAAYAAADUJgEAVLEAAMSyAABIKAEAAAAAAGizAAACAAAA/wAAAAABAAAmAQAAfAAAAH0AAAAnAQAAKAEAACcAAAAoAAAAKQAAACoAAAArAAAALAAAAIsAAACMAAAALwAAADAAAAAxAAAAMgAAADMAAAA0AAAANQAAADYAAACNAAAAjgAAAI8AAACQAAAAOwAAADwAAAA9AAAAPgAAAD8AAABAAAAAAwAAAAkAAAAEAAAAQQAAAEIAAAAQAAAAEQAAAJEAAACSAAAAKQEAACoBAACUAAAAfgAAAH8AAAAuAAAA2AAAABMAAAAAAAAAiLMAAAEBAAACAQAA2QAAAAAAAACQswAADwAAAAMBAAAEAQAAAAAAAPizAAACAAAAbwAAAAUBAAABAAAAAQAAAIAAAAArAQAALAEAACcAAAAoAAAAKQAAACoAAAArAAAALAAAAC0AAAAuAAAALwAAADAAAAAxAAAAMgAAADMAAAA0AAAANQAAADYAAACNAAAAjgAAAI8AAACQAAAAOwAAADwAAAA9AAAAPgAAAJ0AAACeAAAAAwAAAAkAAAAEAAAAQQAAAEIAAAAdAAAAHgAAAC0BAAAuAQAAnwAAAKAAAAAvAQAAMAEAADEBAAAyAQAAMwEAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAADQBAAAGAQAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAAAAAAi0AAAHAQAACAEAAAAAAADYswAAAgAAAAkBAAAKAQAANQEAAIEAAACCAAAANgEAADcBAAAnAAAAKAAAACkAAAAqAAAAKwAAACwAAAAtAAAALgAAAC8AAAAwAAAAMQAAADIAAAAzAAAANAAAADUAAAA2AAAAjQAAAI4AAACPAAAAkAAAADsAAAA8AAAAPQAAAD4AAACdAAAAngAAAAMAAAAJAAAABAAAAEEAAABCAAAAHQAAAB4AAAA4AQAAOQEAAJ8AAACgAAAALwEAADABAAA6AQAAMgEAADMBAAAZAAAA2gAAANsAAACDAAAAOwEAANwAAAA0AQAABgEAADwBAADdAAAA3gAAABoAAACEAAAA3wAAAMD////YswAACwEAAAwBAAAAAAAAsLMAAAIAAAANAQAADgEAAD0BAACFAAAAhgAAAD4BAAA/AQAAJwAAACgAAAApAAAAKgAAACsAAAAsAAAALQAAAC4AAAAvAAAAMAAAADEAAAAyAAAAMwAAADQAAAA1AAAANgAAAI0AAACOAAAAjwAAAJAAAAA7AAAAPAAAAD0AAAA+AAAAnQAAAJ4AAAADAAAACQAAAAQAAABBAAAAQgAAAB0AAAAeAAAAQAEAAEEBAABCAQAAQwEAAKEAAACiAAAA4AAAAOEAAAAbAAAAHAAAABkAAABEAQAAhwAAAEUBAADiAAAA4wAAAA8BAAC4////sLMAABABAAARAQAAAAAAAKCzAAACAAAAEgEAABMBAABGAQAAiAAAAIkAAABHAQAASAEAACcAAAAoAAAAKQAAACoAAAArAAAALAAAAIsAAACMAAAALwAAADAAAAAxAAAAMgAAADMAAAA0AAAANQAAADYAAACNAAAAjgAAAI8AAACQAAAAOwAAADwAAAA9AAAAPgAAAD8AAABAAAAAAwAAAAkAAAAEAAAAQQAAAEIAAAAQAAAAEQAAAJEAAACSAAAASQEAAJMAAACUAAAAigAAAC0AAAAuAAAA5AAAABMAAAAAAAAA0LMAABQBAAAVAQAAAAAAADioAAACAAAAbwAAABYBAAABAAAAAQAAAIYAAAA+AQAAPwEAACcAAAAoAAAAKQAAACoAAAArAAAALAAAAC0AAAAuAAAALwAAADAAAAAxAAAAMgAAADMAAAA0AAAANQAAADYAAACNAAAAjgAAAI8AAACQAAAAOwAAADwAAAA9AAAAPgAAAJ0AAACeAAAAAwAAAAkAAAAEAAAAQQAAAEIAAAAdAAAAHgAAAAEAAAABAAAAQgEAAEMBAAChAAAAogAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAAXAQAAAAAAAOCwAAACAAAAGAEAABkBAABKAQAAiwAAAIYAAAA+AQAAPwEAACcAAAAoAAAAKQAAACoAAAArAAAALAAAAC0AAAAuAAAALwAAADAAAAAxAAAAMgAAADMAAAA0AAAANQAAADYAAACNAAAAjgAAAI8AAACQAAAAOwAAADwAAAA9AAAAPgAAAJ0AAACeAAAAAwAAAAkAAAAEAAAAQQAAAEIAAAAdAAAAHgAAAEsBAABMAQAAQgEAAEMBAAChAAAAogAAAOUAAADmAAAAHQAAAB4AAAAaAAAATQEAAIwAAABOAQAA5wAAAOgAAAAaAQAAuP///+CwAAAbAQAAHAEAAAAAAAAwsQAAHQEAAB4BAAAAAAAAELQAAA8AAAAfAQAAIAEAAAAAAAAwtAAAAgAAACEBAAAiAQAATwEAAI0AAACOAAAAUAEAAFEBAAAnAAAAKAAAACkAAAAqAAAAKwAAACwAAACLAAAAjAAAAC8AAAAwAAAAMQAAADIAAAAzAAAANAAAADUAAAA2AAAAjQAAAI4AAACPAAAAkAAAADsAAAA8AAAAPQAAAD4AAAA/AAAAQAAAAAMAAAAJAAAABAAAAEEAAABCAAAAEAAAABEAAACRAAAAkgAAAFIBAACTAAAAlAAAAI8AAACQAAAALgAAAOkAAAATAAAAAAAAAEC0AAACAAAAIwEAACQBAABTAQAAkQAAAJIAAABUAQAAVQEAACcAAAAoAAAAKQAAACoAAAArAAAALAAAAC0AAAAuAAAALwAAADAAAAAxAAAAMgAAADMAAAA0AAAANQAAADYAAACNAAAAjgAAAI8AAACQAAAAOwAAADwAAAA9AAAAPgAAAJ0AAACeAAAAAwAAAAkAAAAEAAAAQQAAAEIAAAAdAAAAHgAAAFYBAABXAQAAnwAAAKAAAAAvAQAAMAEAAFgBAAAyAQAAMwEAAB8AAADqAAAA6wAAAJMAAABZAQAA7AAAADQBAAAGAQAAWgEAAO0AAADuAAAAIAAAAJQAAADvAAAAwP///0C0AAAlAQAAJgEAAAAAAABgtAAAJwEAACgBAAAAAAAAaLQAACkBAAAqAQAAAAAAAHC0AADwAAAAKwEAACwBAABbAQAAlQAAAJYAAABcAQAAXQEAACcAAAAoAAAAKQAAACoAAAArAAAALAAAAIsAAACMAAAALwAAADAAAAAxAAAAMgAAADMAAAA0AAAANQAAADYAAACNAAAAjgAAAI8AAACQAAAAOwAAADwAAAA9AAAAPgAAAD8AAABAAAAAAwAAAAkAAAAEAAAAQQAAAEIAAADxAAAA8gAAAJEAAACSAAAAXgEAAJMAAACUAAAAlwAAAC0AAAAuAAAA8wAAAPQAAAAAAAAAsLQAAA8AAAAtAQAALgEAAAAAAACAtAAADwAAAC8BAAAwAQAA9QAAAF8BAACYAAAAmQAAADEBAAAAAAAAkLQAAAIAAAAyAQAAMwEAAGABAACaAAAAmwAAAGEBAABiAQAAJwAAACgAAAApAAAAKgAAACsAAAAsAAAALQAAAC4AAAAvAAAAMAAAADEAAAAyAAAAMwAAADQAAAA1AAAANgAAAI0AAACOAAAAjwAAAJAAAAA7AAAAPAAAAD0AAAA+AAAAPwAAAEAAAAADAAAACQAAAAQAAABBAAAAQgAAAAUAAAAGAAAAAAAAAKC0AAAPAAAAtQAAADQBAAAYAAAAbAAAABkAAAAaAAAABAAAALcAAAC4AAAAuQAAAGsAAAD6AAAA9gAAAAwAAAAEAAAAAAAAANC0AABPAAAAEQAAABIAAABQAAAAUQAAAFIAAABTAAAABQAAAAQAAAAaAAAAGwAAAPz////8////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/P////z///8AAAAAAAAAAAAAAAAAAAAA/P////z////8/////P////z///8IAAAA/P///9C0AABUAAAAEwAAABQAAABVAAAAVgAAABIAAAATAAAAFAAAABUAAABXAAAAWAAAABgAAAAZAAAAGgAAABsAAAAcAAAAHQAAAFkAAABaAAAAIAAAACEAAABbAAAAXAAAAAYAAAAcAAAAHQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD4////+P////j////4////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPT////0////9P////T////0////9P///wAAAAD0////0LQAAAIAAAAeAAAAHwAAAF0AAAAVAAAAFgAAAF4AAABfAAAAJwAAACgAAAApAAAAKgAAACsAAAAsAAAALQAAAC4AAAAvAAAAMAAAADEAAAAyAAAAMwAAADQAAAA1AAAANgAAADcAAAA4AAAAOQAAADoAAAA7AAAAPAAAAD0AAAA+AAAAPwAAAEAAAAADAAAACQAAAAQAAABBAAAAQgAAAAUAAAAGAAAADAAAAAQAAAAAAAAAALUAAGAAAAAXAAAAGAAAAGEAAABiAAAAYwAAAGQAAAAHAAAABQAAACAAAAAhAAAA/P////z///8AAAAAAAAAAAAAAAAAAAAA/P////z///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD8/////P////z////8/////P///wgAAAD8////ALUAAGUAAAAZAAAAGgAAAGYAAABnAAAAEgAAABMAAAAUAAAAFQAAAGgAAABpAAAAGAAAABkAAAAaAAAAGwAAABwAAAAdAAAAagAAAGsAAAAgAAAAIQAAAFsAAABcAAAACAAAACIAAAAjAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPj////4////+P////j///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA9P////T////0////9P////T////0////AAAAAPT///8AtQAAAgAAACQAAAAlAAAAbAAAABsAAAAcAAAAbQAAAG4AAAAnAAAAKAAAACkAAAAqAAAAKwAAACwAAAAtAAAALgAAAC8AAAAwAAAAMQAAADIAAAAzAAAANAAAADUAAAA2AAAANwAAADgAAAA5AAAAOgAAADsAAAA8AAAAPQAAAD4AAAA/AAAAQAAAAAMAAAAJAAAABAAAAEEAAABCAAAABQAAAAYAAAAUAAAAAAAAADC1AADqAAAA0AAAADUBAAA2AQAA9wAAAOz///8AAAAA7P///zC1AAAPAAAANwEAADgBAAAkAAAAAAAAAEC1AAA5AQAA+AAAADoBAAA7AQAA7P///0C1AAA8AQAAPQEAAD4BAAD5AAAAPwEAAGMBAADc////AAAAANz///9AtQAADwAAAEABAABBAQAAMDkBAGy1AACMtQAAcDkBABQAAAAAAAAAuLUAAOoAAADQAAAAQgEAAEMBAAD6AAAA7P///wAAAADs////uLUAAA8AAABEAQAARQEAAJg5AQAMtgAA1LUAAPS1AAAwtgAAvDkBAAAAAABAtgAAAgAAAG8AAABGAQAAZAEAAJwAAACdAAAAZQEAAGYBAAAnAAAAKAAAACkAAAAqAAAAKwAAACwAAAAtAAAALgAAAC8AAAAwAAAAMQAAADIAAAAzAAAANAAAADUAAAA2AAAAjQAAAI4AAACPAAAAkAAAADsAAAA8AAAAPQAAAD4AAACdAAAAngAAAAMAAAAJAAAABAAAAEEAAABCAAAAHQAAAB4AAAAtAQAALgEAAJ8AAACgAAAALwEAADABAAAxAQAAZwEAAGgBAAAhAAAA+wAAAPwAAACeAAAAaQEAAP0AAAA0AQAABgEAAAAAAABQtgAARwEAAEgBAAAMAAAABAAAAAAAAABYtgAAagEAAJ8AAACgAAAAawEAAGwBAABtAQAAbgEAABsAAAAiAAAASQEAAEoBAAD8/////P///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD8/////P///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPz////8/////P////z////8////CAAAAPz///9YtgAAbwEAAKEAAACiAAAAcAEAAHEBAAASAAAAEwAAABQAAAAVAAAAaAAAAGkAAAByAQAAcwEAABoAAAAbAAAAHAAAAB0AAABZAAAAWgAAACAAAAAhAAAAWwAAAFwAAAAcAAAASwEAAEwBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA+P////j////4////+P///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD0////9P////T////0////9P////T///8AAAAA9P///1i2AAACAAAATQEAAE4BAAB0AQAAowAAAKQAAAB1AQAAdgEAACcAAAAoAAAAKQAAACoAAAArAAAALAAAAC0AAAAuAAAALwAAADAAAAAxAAAAMgAAADMAAAA0AAAANQAAADYAAAA3AAAAOAAAADkAAAA6AAAAOwAAADwAAAA9AAAAPgAAAD8AAABAAAAAAwAAAAkAAAAEAAAAQQAAAEIAAAAFAAAABgAAAPA6AQAAAgAAnAIAAKwDAACMOwEAnDwBADDxAABA8gAAAAAAAGi2AABVAQAAVgEAAHcBAAB4AQAAeQEAAAAAAAB4tgAADwAAAFcBAABYAQAAOAAAAAAAAACItgAAWQEAAFoBAADI////yP///4i2AABbAQAAXAEAAJw9AQBstwAAgLcAALA9AQAcAAAAAAAAAJi1AABdAQAAXgEAAOT///8AAAAA5P///5i1AAAPAAAAXwEAAGABAAAAAAAAmLYAAA8AAABhAQAAYgEAAAAAAADwtgAAYwEAAGQBAAAAAAAA0LYAAAIAAABlAQAAZgEAAHoBAAClAAAAhgAAAD4BAAA/AQAAJwAAACgAAAApAAAAKgAAACsAAAAsAAAALQAAAC4AAAAvAAAAMAAAADEAAAAyAAAAMwAAADQAAAA1AAAANgAAAI0AAACOAAAAjwAAAJAAAAA7AAAAPAAAAD0AAAA+AAAAnQAAAJ4AAAADAAAACQAAAAQAAABBAAAAQgAAAB0AAAAeAAAAewEAAHwBAABCAQAAQwEAAKEAAACiAAAA/gAAAP8AAAAkAAAAJQAAAB0AAAB9AQAApgAAAH4BAAAAAQAAAQEAAGcBAAC4////0LYAAGgBAABpAQAAQAAAAAAAAACItwAAagEAAGsBAAA4AAAA+P///4i3AABsAQAAbQEAAMD////A////iLcAAG4BAABvAQAAKD8BACy3AAAEtwAAGLcAAGy3AACAtwAAVLcAAEC3AABQPwEAPD8BAAAAAACYtwAADwAAAFIAAAB2AQAAAAAAAKi3AAAPAAAAUgAAAHcBAAAAAAAAuLcAAA8AAABSAAAAeAEAAAAAAADItwAADwAAAFIAAAB5AQAAAAAAAPC3AAAPAAAAegEAAHsBAAAAAAAA0LcAAA8AAAB8AQAAfQEAAAAAAADgtwAADwAAALUAAAB+AQAAGAAAAGwAAAAZAAAAGgAAAAQAAAC3AAAAuAAAALkAAABrAAAA+gAAAAIBAAAAAAAAALgAAAIAAAB/AQAAgAEAAH8BAACnAAAAqAAAAIABAACBAQAAJwAAACgAAAApAAAAKgAAACsAAAAsAAAALQAAAC4AAAAvAAAAMAAAADEAAAAyAAAAMwAAADQAAAA1AAAANgAAAI0AAACOAAAAjwAAAJAAAAA7AAAAPAAAAD0AAAA+AAAAPwAAAEAAAAADAAAACQAAAAQAAABBAAAAQgAAAAMBAAAEAQAAAAAAABC4AAACAAAAgQEAAIIBAACCAQAAqQAAAKoAAACDAQAAhAEAACcAAAAoAAAAKQAAACoAAAArAAAALAAAAC0AAAAuAAAALwAAADAAAAAxAAAAMgAAADMAAAA0AAAANQAAADYAAACNAAAAjgAAAI8AAACQAAAAOwAAADwAAAA9AAAAPgAAAD8AAABAAAAAAwAAAAkAAAAEAAAAQQAAAEIAAAAFAAAABQEAAKsAAACsAAAAJgAAAAAAAABguAAAgwEAAIQBAAAAAAAAQLgAAAIAAACFAQAAhgEAAIUBAACtAAAAhgAAAD4BAAA/AQAAJwAAACgAAAApAAAAKgAAACsAAAAsAAAALQAAAC4AAAAvAAAAMAAAADEAAAAyAAAAMwAAADQAAAA1AAAANgAAAI0AAACOAAAAjwAAAJAAAAA7AAAAPAAAAD0AAAA+AAAAnQAAAJ4AAAADAAAACQAAAAQAAABBAAAAQgAAAB0AAAAeAAAAhgEAAIcBAABCAQAAQwEAAKEAAACiAAAABgEAAAcBAAAnAAAAKAAAAB4AAACIAQAArgAAAIkBAAAIAQAACQEAAIcBAAC4////QLgAAIgBAACJAQAAAAAAAGi4AAAPAAAAigEAAIsBAACMAQAAjQEAAI4BAAAAAAAAmLgAAAIAAACPAQAAkAEAAIoBAACvAAAAsAAAAIsBAACMAQAAJwAAACgAAAApAAAAKgAAACsAAAAsAAAALQAAAC4AAAAvAAAAjQEAAI4BAAAyAAAAMwAAADQAAAA1AAAANgAAAI0AAACOAAAAjwAAAJAAAAA7AAAAPAAAAD0AAAA+AAAAPwAAAEAAAAAKAQAACQAAAAQAAABBAAAAQgAAAAUAAAAGAAAAsQAAALIAAAApAAAAAAAAAHi4AAACAAAAkQEAAJIBAACPAQAAswAAALQAAACQAQAAkQEAACcAAAAoAAAAKQAAACoAAAArAAAALAAAAC0AAAAuAAAALwAAAI0BAACOAQAAMgAAADMAAAA0AAAANQAAADYAAACNAAAAjgAAAI8AAACQAAAAOwAAADwAAAA9AAAAPgAAAD8AAABAAAAACgEAAAkAAAAEAAAAQQAAAEIAAAAFAAAABgAAALEAAACyAAAAKgAAAAAAAACQuAAAVQEAAJMBAAB3AQAAeAEAAHkBAAAAAAAAiLgAAJQBAACVAQAAAAAAAMi4AAAPAAAAlgEAAJcBAAAAAAAAqLgAAA8AAABSAAAAmAEAAJIBAACTAQAAKwAAAA8AAAACAAAALAAAABAAAAADAAAACwEAAAAAAADYuAAADAEAAJkBAACaAQAAlAEAALUAAAC2AAAAlQEAAJYBAAAnAAAAKAAAACkAAAAqAAAAlwEAAJgBAAAtAAAALgAAAC8AAAAwAAAAMQAAADIAAAAzAAAANAAAADUAAAA2AAAAjQAAAI4AAACPAAAAkAAAADsAAAA8AAAAPQAAAD4AAAA/AAAAQAAAAAMAAACbAQAABAAAAEEAAABCAAAADQEAAA4BAAAAAAAA6LgAAAIAAACcAQAAnQEAAJkBAAC3AAAAuAAAAJoBAACbAQAAJwAAACgAAAApAAAAKgAAACsAAAAsAAAAiwAAAIwAAAAvAAAAMAAAADEAAAAyAAAAMwAAADQAAAA1AAAANgAAAI0AAACOAAAAjwAAAJAAAAA7AAAAPAAAAD0AAAA+AAAAPwAAAEAAAAADAAAACQAAAAQAAABBAAAAQgAAABAAAAARAAAAkQAAAJIAAACcAQAAkwAAAJQAAAC5AAAAugAAAC4AAAAPAQAAEwAAAAAAAAAIuQAAAgAAAJ4BAACfAQAAnQEAALsAAAC8AAAAngEAAJ8BAAAnAAAAKAAAACkAAAAqAAAAKwAAACwAAACLAAAAjAAAAC8AAAAwAAAAMQAAADIAAAAzAAAANAAAADUAAAA2AAAAjQAAAI4AAACPAAAAkAAAADsAAAA8AAAAPQAAAD4AAAA/AAAAQAAAAAMAAAAJAAAABAAAAEEAAABCAAAAEAAAABEAAACRAAAAkgAAAKABAACTAAAAoQEAAL0AAAAtAAAALgAAABABAAATAAAAAAAAABi5AAAPAAAAoAEAAKEBAAAAAAAAKLkAAA8AAACiAQAAowEAABEBAACkAQAAEgEAABMBAAAFAAAApQEAAKYBAACnAQAAAAAAADi5AAACAAAAqAEAAKkBAAABAAAAAQAAAL4AAACiAQAAowEAACcAAAAoAAAAKQAAACoAAAArAAAALAAAAIsAAACMAAAALwAAADAAAAAxAAAAMgAAADMAAAA0AAAANQAAADYAAACNAAAAjgAAAI8AAACQAAAAOwAAADwAAAA9AAAAPgAAAD8AAABAAAAAAwAAAAkAAAAEAAAAQQAAAEIAAAAUAQAAFQEAAKQBAAClAQAApgEAAKcBAACoAQAAAQAAAC0AAAAuAAAAAQAAABYBAAAXAQAAqgEAAAEAAACpAQAAqgEAAKsBAAC/AAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAAAAAFi5AAACAAAAqwEAAKwBAACsAQAAwAAAAMEAAACtAQAArgEAACcAAAAoAAAAKQAAACoAAAArAAAALAAAAIsAAACMAAAALwAAADAAAAAxAAAAMgAAADMAAAA0AAAANQAAADYAAACNAAAAjgAAAI8AAACQAAAAOwAAADwAAAA9AAAAPgAAAD8AAABAAAAAAwAAAAkAAAAEAAAAQQAAAEIAAAAUAQAAFQEAAKQBAAClAQAArwEAAKcBAACoAQAAwgAAAC0AAAAuAAAAGAEAABYBAAAXAQAAqgEAALABAACxAQAAsgEAALMBAADDAAAALQAAAMQAAADFAAAAtAEAAK0BAAAZAQAAAAAAAGi5AAAPAAAArgEAAK8BAAAAAAAAuLkAAAIAAACwAQAAsQEAALUBAADGAAAAxwAAALYBAAC3AQAAJwAAACgAAAApAAAAKgAAACsAAAAsAAAAiwAAAIwAAAAvAAAAMAAAADEAAAAyAAAAMwAAADQAAAA1AAAANgAAAI0AAACOAAAAjwAAAJAAAAA7AAAAPAAAAD0AAAA+AAAAPwAAAEAAAAADAAAACQAAAAQAAABBAAAAQgAAABQBAAAVAQAApAEAAKUBAAC4AQAApwEAAKgBAADIAAAALQAAAC4AAAAaAQAAFgEAABcBAACqAQAAuQEAALoBAAC7AQAAvAEAAMkAAAAuAAAAygAAAMsAAAC9AQAAsgEAABsBAAAAAAAAyLkAACIAAACzAQAAtAEAAL4BAADMAAAAzQAAAL8BAADAAQAArwAAALAAAAApAAAAKgAAACsAAAAsAAAALQAAAC4AAAAvAAAAMAAAADEAAAAyAAAAMwAAADQAAACzAAAAtAAAAI0AAACOAAAAjwAAAJAAAAA7AAAAPAAAAD0AAAA+AAAAPwAAAEAAAAADAAAACQAAAAQAAABBAAAAQgAAAHMAAAB0AAAAtQAAALYAAAC3AAAAuAAAALkAAAC6AAAAuwAAALwAAAC9AAAAvgAAAL8AAADAAAAAHAEAACYAAAAnAAAAKAAAAD4AAAAOAAAAPwAAAA8AAAAQAAAAwQAAABEAAAAJAAAAKQAAAMIAAADDAAAAxAAAAMUAAADGAAAAxwAAAB8AAAAgAAAAAAAAANi5AAACAAAAtQEAALYBAADBAQAAzgAAAM8AAADCAQAAwwEAACcAAAAoAAAAKQAAACoAAAArAAAALAAAAC0AAAAuAAAAxAEAAI0BAACOAQAAxQEAADMAAAA0AAAANQAAADYAAACNAAAAjgAAAI8AAACQAAAAOwAAADwAAAA9AAAAPgAAAD8AAABAAAAACgEAAAkAAAAEAAAAQQAAAEIAAAAFAAAABgAAANAAAADRAAAALwAAANIAAAAAAAAA4KgAAAIAAABvAAAAtwEAAAEAAAABAAAA0wAAAD4BAAA/AQAAJwAAACgAAAApAAAAKgAAACsAAAAsAAAALQAAAC4AAAAvAAAAMAAAADEAAAAyAAAAMwAAADQAAAA1AAAANgAAAI0AAACOAAAAjwAAAJAAAAA7AAAAPAAAAD0AAAA+AAAAnQAAAJ4AAAADAAAACQAAAAQAAABBAAAAQgAAAB0AAAAeAAAAAQAAAAEAAABCAQAAQwEAAKEAAACiAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAABcBAAABAAAAAAAAAOi5AAACAAAAuAEAALkBAADGAQAA1AAAANMAAAA+AQAAPwEAACcAAAAoAAAAKQAAACoAAAArAAAALAAAAC0AAAAuAAAALwAAADAAAAAxAAAAMgAAADMAAAA0AAAANQAAADYAAACNAAAAjgAAAI8AAACQAAAAOwAAADwAAAA9AAAAPgAAAJ0AAACeAAAAAwAAAAkAAAAEAAAAQQAAAEIAAAAdAAAAHgAAAMcBAADIAQAAQgEAAEMBAAChAAAAogAAAB0BAAAeAQAAMAAAADEAAAAhAAAAyQEAANUAAADKAQAAHwEAACABAAC6AQAA1gAAALj////ouQAAuwEAALwBAAAAAAAACLoAAAIAAAC9AQAAvgEAAMsBAADXAAAA0wAAAD4BAAA/AQAAJwAAACgAAAApAAAAKgAAACsAAAAsAAAALQAAAC4AAAAvAAAAMAAAADEAAAAyAAAAMwAAADQAAAA1AAAANgAAAI0AAACOAAAAjwAAAJAAAAA7AAAAPAAAAD0AAAA+AAAAnQAAAJ4AAAADAAAACQAAAAQAAABBAAAAQgAAAB0AAAAeAAAAzAEAAM0BAABCAQAAQwEAAKEAAACiAAAAIQEAACIBAAAyAAAAMwAAACIAAADOAQAA2AAAAM8BAAAjAQAAJAEAAL8BAADZAAAAuP///wi6AADAAQAAwQEAAAAAAABIugAAwgEAAMMBAAAAAAAAKLoAAAIAAADEAQAAxQEAANABAADaAAAAhgAAAD4BAAA/AQAAJwAAACgAAAApAAAAKgAAACsAAAAsAAAALQAAAC4AAAAvAAAAMAAAADEAAAAyAAAAMwAAADQAAAA1AAAANgAAAI0AAACOAAAAjwAAAJAAAAA7AAAAPAAAAD0AAAA+AAAAnQAAAJ4AAAADAAAACQAAAAQAAABBAAAAQgAAAB0AAAAeAAAA0QEAANIBAABCAQAAQwEAAKEAAACiAAAAJQEAACYBAAA0AAAANQAAACMAAADTAQAA2wAAANQBAAAnAQAAKAEAAMYBAAC4////KLoAAMcBAADIAQAAAAAAAGC6AAApAQAAyQEAAMoBAADVAQAA3AAAAN0AAADWAQAA1wEAACcAAAAoAAAAKQAAACoAAAArAAAALAAAAC0AAAAuAAAALwAAADAAAAAxAAAAMgAAADMAAAA0AAAANQAAADYAAACNAAAAjgAAAI8AAACQAAAA2AEAANkBAAA9AAAAPgAAAD8AAABAAAAAAwAAAAkAAAAqAQAA2gEAANsBAAAFAAAABgAAAN4AAAA2AAAAKwEAAN8AAADgAAAA3AEAACQAAAAlAAAAJgAAACcAAAAsAQAA3QEAAN4BAADfAQAALQEAACQAAAAAAAAAcLoAAOABAADhAAAA4gAAAOEBAADiAQAALgEAAMsBAADMAQAA4wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAANz////c////3P///9z////c////3P///wAAAADc////cLoAAAIAAADNAQAAzgEAAOMBAADkAAAA5QAAAOQBAADlAQAAJwAAACgAAAApAAAAKgAAACsAAAAsAAAALQAAAC4AAAAvAAAAMAAAADEAAAAyAAAAMwAAADQAAAA1AAAANgAAAI0AAACOAAAAjwAAAJAAAAA7AAAAPAAAAD0AAAA+AAAAPwAAAEAAAAADAAAACQAAAAQAAABBAAAAQgAAAAUAAAAGAAAAAAAAAIi6AADPAQAA0AEAAC8BAAAAAAAAkLoAANEBAADSAQAAMAEAADEBAABoUQEANFIBAAAAAACougAAAgAAANMBAADUAQAA5gEAAOYAAADnAAAA5wEAAOgBAAAnAAAAKAAAACkAAAAqAAAAKwAAACwAAACLAAAAjAAAAC8AAAAwAAAAMQAAADIAAAAzAAAANAAAADUAAAA2AAAAjQAAAI4AAACPAAAAkAAAADsAAAA8AAAAPQAAAD4AAAA/AAAAQAAAAAMAAAAJAAAABAAAAEEAAABCAAAAEAAAABEAAACRAAAAkgAAAOkBAACTAAAAlAAAAOgAAAAtAAAALgAAADIBAAATAAAAAAAAALi6AAAPAAAA1QEAANYBAABQAAAAAAAAAMi6AADXAQAA2AEAAOAAAABDAAAARAAAAOoBAADrAQAAzwAAANAAAADRAAAA0gAAANMAAADUAAAA7AEAAO0BAADXAAAA2AAAANkAAADaAAAA2QEAACwAAAAtAAAABAAAAAUAAAAGAAAAMwEAAC8AAAA0AQAANQEAADYBAAA3AQAANAAAADgBAAA2AAAANwAAADgAAAA5AQAAOgEAADsAAAA8AAAAPQAAAD4AAAA/AAAAOwEAAEEAAAA8AQAAQwAAAEQAAAA9AQAARgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAsP///7D///8AAAAAAAAAALD///+w////sP///7D///+w////sP///wAAAACw////yLoAAAIAAADaAQAA2wEAAOMAAABFAAAARgAAAO4BAADvAQAAJwAAACgAAADeAAAA3wAAACsAAAAsAAAALQAAAC4AAAAvAAAAMAAAADEAAAAyAAAAMwAAADQAAAA1AAAANgAAAI0AAACOAAAAjwAAAJAAAAA7AAAAPAAAAD0AAAA+AAAAPwAAAEAAAAADAAAACQAAAAQAAABBAAAAQgAAAAUAAAAGAAAAAFQBAOS6AABUvAAAcFUBAAAAAAD4vAAAAgAAANwBAADdAQAA8AEAAOkAAADqAAAA8QEAAPIBAAAnAAAAKAAAACkAAAAqAAAAKwAAACwAAAAtAAAALgAAAC8AAAAwAAAAMQAAADIAAAAzAAAANAAAADUAAAA2AAAAjQAAAI4AAACPAAAAkAAAADsAAAA8AAAAPQAAAD4AAAA/AAAAQAAAAAMAAAAJAAAABAAAAEEAAABCAAAABQAAAAYAAADzAQAA9AEAAPUBAAD2AQAAEAAAAAgAAAAAAAAAKL0AAAEAAAABAAAAAgAAAAIAAAADAAAABAAAAAUAAAABAAAAAQAAAAoAAAALAAAABgAAAAcAAAAIAAAACQAAAAIAAAABAAAAAQAAAAIAAAACAAAADAAAAAQAAAD8////KL0AAAoAAAADAAAABAAAAAsAAAAMAAAADQAAAA4AAAADAAAAAwAAAAwAAAANAAAA+P////j////4////+P///wAAAAAAAAAA+P////j///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD4////+P///wAAAAAAAAAAAAAAAAAAAAD4////+P////j////4////+P///wgAAAD4////KL0AAA8AAAAFAAAABgAAABAAAAARAAAAEgAAABMAAAAUAAAAFQAAABYAAAAXAAAAGAAAABkAAAAaAAAAGwAAABwAAAAdAAAAHgAAAB8AAAAgAAAAIQAAACIAAAAjAAAABAAAAA4AAAAPAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPj////4////+P////j///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA8P////D////w////8P////D////w////AAAAAPD///8ovQAAAgAAABAAAAARAAAAJAAAAAcAAAAIAAAAJQAAACYAAAAnAAAAKAAAACkAAAAqAAAAKwAAACwAAAAtAAAALgAAAC8AAAAwAAAAMQAAADIAAAAzAAAANAAAADUAAAA2AAAANwAAADgAAAA5AAAAOgAAADsAAAA8AAAAPQAAAD4AAAA/AAAAQAAAAAMAAAAJAAAABAAAAEEAAABCAAAABQAAAAYAAABgLAAAoMsAACDPAAAw0gAA8NQAAKjXAABE2AAAVNkAAAjaAACk2gAAtNsAAOTVAAD01gAASNUAACzTAAA81AAAkNIAAGjQAAB40QAAzM8AAFzNAABszgAAwMwAAEguAABYLwAArC0AADDxAABA8gAAAAAAAJi9AAAPAAAAUgAAAN4BAAAAAAAAqL0AAA8AAABSAAAA3wEAAAAAAAD4vwAADwAAAOABAADhAQAA6wAAAOwAAADiAQAANwAAAOMBAAD3AQAABQAAAIRaAQDEvQAANL8AAPRbAQCgAAAAAAAAANi/AADkAQAA5QEAAOAAAABDAAAARAAAAPgBAAD5AQAAzwAAANAAAADRAAAA0gAAANMAAADUAAAA1QAAANYAAAD6AQAA+wEAANkAAADaAAAA5gEAAD4BAAAtAAAABwAAAAUAAAAGAAAAPwEAAC8AAABAAQAAQQEAAEIBAABDAQAANAAAAEQBAAA2AAAANwAAADgAAAA5AAAARQEAAEYBAAA8AAAAPQAAAD4AAAA/AAAASgAAAEEAAABHAQAASAEAAEQAAABMAAAARgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAYP///2D///8AAAAAAAAAAGD///9g////YP///2D///9g////YP///wAAAABg////2L8AAAIAAADnAQAA6AEAAOMAAABFAAAARgAAAPwBAAD9AQAAJwAAACgAAADeAAAA3wAAACsAAAAsAAAALQAAAC4AAAAvAAAAMAAAADEAAAAyAAAAMwAAADQAAAA1AAAANgAAAI0AAACOAAAAjwAAAJAAAAA7AAAAPAAAAD0AAAA+AAAAPwAAAEAAAAADAAAACQAAAAQAAABBAAAAQgAAAAUAAAAGAAAAAAAAADDAAADpAQAA6gEAADgAAAA5AAAAOgAAADsAAAA8AAAAPQAAABEAAAASAAAAEwAAABQAAAAAAAAACMAAAOsBAADsAQAAPgAAAD8AAABAAAAAQQAAAEIAAABDAAAAFQAAABYAAAAXAAAAGAAAAPgBAAAAAAAAWMAAAO0BAADuAQAA4AAAAEMAAABEAAAA/gEAAP8BAADPAAAA0AAAANEAAADSAAAAAAIAAAECAADVAAAA1gAAANcAAADYAAAAAgIAAAMCAADvAQAASQEAAEoBAAAIAAAACQAAAAoAAABLAQAALwAAAEwBAABNAQAATgEAAE8BAAA0AAAAUAEAADYAAABRAQAAUgEAAFMBAABUAQAAVQEAADwAAAA9AAAAPgAAAD8AAABWAQAAQQAAAFcBAABDAAAAWAEAAFkBAABaAQAABAIAAPABAAAEAAAABQAAAMj///9YwAAA8QEAAPIBAACJAAAAKgAAAAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAj+//8I/v//AAAAAAAAAAAI/v//CP7//wj+//8I/v//CP7//wj+//8AAAAACP7//1jAAAACAAAA8wEAAPQBAADjAAAARQAAAEYAAAAFAgAABgIAACcAAAAoAAAA3gAAAN8AAAArAAAALAAAAC0AAAAuAAAALwAAADAAAAAxAAAAMgAAADMAAAA0AAAANQAAADYAAACNAAAAjgAAAI8AAACQAAAAOwAAADwAAAA9AAAAPgAAAD8AAABAAAAAAwAAAAkAAAAEAAAAQQAAAEIAAAAFAAAABgAAABRdAQCEwAAA9MEAALBeAQAAAAAASK4AAKsAAAD1AQAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAAAAACYwgAA9gEAAPcBAABEAAAARQAAAEYAAABHAAAASAAAAEkAAAAZAAAAGgAAABsAAAAcAAAAAAAAAMDCAAD4AQAA+QEAAEoAAABLAAAATAAAAE0AAABOAAAATwAAAB0AAAAeAAAAHwAAACAAAAAAAAAA6MIAAAIAAAD6AQAA+wEAAAcCAADtAAAA7gAAAAgCAAAJAgAAJwAAACgAAAApAAAAKgAAACsAAAAsAAAALQAAAC4AAAAvAAAAMAAAADEAAAAyAAAAMwAAADQAAAA1AAAANgAAAI0AAACOAAAAjwAAAJAAAAA7AAAAPAAAAD0AAAA+AAAAPwAAAEAAAAADAAAACQAAAAQAAABBAAAAQgAAAAUAAABbAQAA/AEAAP0BAAD+AQAA/wEAAAACAAABAgAAAgIAAAMCAABQAAAAUQAAAAoCAAAAAAAACMMAAA8AAAAEAgAABQIAAAAAAABAwwAADwAAAAYCAAAHAgAAAAAAAHDDAAACAAAACAIAAAkCAAALAgAA7wAAAPAAAAAMAgAADQIAACcAAAAoAAAAKQAAACoAAAArAAAALAAAAC0AAAAuAAAALwAAADAAAAAxAAAAMgAAADMAAAA0AAAANQAAADYAAACNAAAAjgAAAI8AAACQAAAAOwAAADwAAAA9AAAAPgAAAD8AAABAAAAAAwAAAAkAAAAEAAAAQQAAAEIAAAAFAAAABgAAAAoCAABSAAAAIQAAACIAAAAAAAAA+MIAAAIAAAALAgAADAIAAA4CAADxAAAA8gAAAAgCAAAPAgAAJwAAACgAAAApAAAAKgAAACsAAAAsAAAALQAAAC4AAAAvAAAAMAAAADEAAAAyAAAAMwAAADQAAAA1AAAANgAAAI0AAACOAAAAjwAAAJAAAAA7AAAAPAAAAD0AAAA+AAAAPwAAAEAAAAADAAAACQAAAAQAAABBAAAAQgAAAAUAAABcAQAADQIAAA4CAAD+AQAA/wEAAAACAAABAgAAAgIAAAMCAABTAAAAVAAAABACAABVAAAAIwAAAFYAAAAkAAAAVwAAADwAAAAAAAAAuMMAAOoAAABdAQAADwIAABACAADE////AAAAAMT///+4wwAADwAAABECAAASAgAAAAAAAFDDAAACAAAAEwIAABQCAAARAgAA8wAAAPQAAAASAgAAEwIAACcAAAAoAAAAKQAAACoAAAArAAAALAAAAC0AAAAuAAAALwAAADAAAAAxAAAAMgAAADMAAAA0AAAANQAAADYAAACNAAAAjgAAAI8AAACQAAAAOwAAADwAAAA9AAAAPgAAAD8AAABAAAAAAwAAAAkAAAAEAAAAQQAAAEIAAABeAQAAXwEAAGABAADg////UMMAABUCAAAWAgAAYQEAAAAAAADIwwAADwAAABcCAAAYAgAAWAAAAIAAAAAAAAAA2MMAABkCAAAaAgAA4AAAAEMAAABEAAAAFAIAABUCAADPAAAA0AAAANEAAADSAAAA0wAAANQAAADVAAAA1gAAANcAAADYAAAA2QAAANoAAAAbAgAALAAAAC0AAAAEAAAABQAAAAYAAABiAQAALwAAAGMBAAAxAAAAMgAAADMAAAA0AAAASAAAADYAAAA3AAAAOAAAADkAAABJAAAAOwAAADwAAAA9AAAAPgAAAD8AAABKAAAAQQAAAEsAAABDAAAARAAAAEwAAABGAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACA////gP///wAAAAAAAAAAgP///4D///+A////gP///4D///+A////AAAAAID////YwwAAAgAAABwCAAAdAgAA4wAAAEUAAABGAAAAFgIAABcCAAAnAAAAKAAAAN4AAADfAAAAKwAAACwAAAAtAAAALgAAAC8AAAAwAAAAMQAAADIAAAAzAAAANAAAADUAAAA2AAAAjQAAAI4AAACPAAAAkAAAADsAAAA8AAAAPQAAAD4AAAA/AAAAQAAAAAMAAAAJAAAABAAAAEEAAABCAAAABQAAAAYAAADUYwEA9MMAAGTFAABEZQEAhAAAAAAAAAAIxgAAHgIAAB8CAADgAAAAQwAAAEQAAADhAAAA4gAAAM8AAADQAAAA0QAAANIAAADTAAAA1AAAANUAAADWAAAA1wAAANgAAADZAAAA2gAAAJcAAAAsAAAALQAAAAQAAAAFAAAABgAAAGQBAAAvAAAAZQEAADEAAAAyAAAAMwAAADQAAABIAAAANgAAADcAAAA4AAAAOQAAAEkAAAA7AAAAPAAAAD0AAAA+AAAAPwAAAEoAAABBAAAASwAAAEMAAABEAAAATAAAAEYAAABmAQAAZwEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfP///3z///8AAAAAAAAAAHz///98////fP///3z///98////fP///wAAAAB8////CMYAAAIAAAAgAgAAIQIAAOMAAABFAAAARgAAAOQAAADlAAAAJwAAACgAAADeAAAA3wAAACsAAAAsAAAALQAAAC4AAAAvAAAAMAAAADEAAAAyAAAAMwAAADQAAAA1AAAANgAAAI0AAACOAAAAjwAAAJAAAAA7AAAAPAAAAD0AAAA+AAAAPwAAAEAAAAADAAAACQAAAAQAAABBAAAAQgAAAAUAAAAGAAAABGYBACTGAACUxwAAfGcBAAAAAAA4yAAADwAAACICAAAjAgAAAQAAAPUAAAAAAAAAWMgAAA8AAAAkAgAAJQIAAAIAAAD2AAAAAAAAAGjIAAAPAAAAJgIAACcCAAADAAAA9wAAAAAAAAB4yAAADwAAACgCAAApAgAA+AAAAPkAAAAqAgAAWQAAACsCAAAYAgAAaAEAAGkBAAD6AAAAAAAAAIjIAAACAAAALAIAAC0CAAAZAgAA+wAAAPwAAAAaAgAAGwIAACcAAAAoAAAAKQAAACoAAAArAAAALAAAAC0AAAAuAAAALwAAADAAAAAxAAAAMgAAADMAAAA0AAAANQAAADYAAACNAAAAjgAAAI8AAACQAAAAOwAAADwAAAA9AAAAPgAAAD8AAABAAAAAAwAAAAkAAAAEAAAAQQAAAEIAAAAFAAAABgAAAC4CAABqAQAAWgAAAFsAAABcAAAAXQAAAGsBAABeAAAALwIAADACAAAxAgAAMgIAADMCAAA0AgAAbAEAAAEAAADg////iMgAADUCAAA2AgAANwIAAG0BAABfAAAAAAAAAKjIAAAPAAAAUgAAADgCAAAAAAAAuMgAANEBAAA5AgAAbgEAAG8BAAAMagEAHCgAAIwpAAB8awEAOAAAAAAAAADIyAAAOgIAADsCAADgAAAAQwAAAEQAAAAcAgAAHQIAAM8AAADQAAAAHgIAAB8CAADTAAAA1AAAANUAAADWAAAA1wAAANgAAADZAAAA2gAAADwCAAAsAAAALQAAAAQAAAAFAAAABgAAAHABAAAvAAAAcQEAAHIBAABzAQAAdAEAADQAAAB1AQAANgAAADcAAAA4AAAAdgEAAHcBAAA7AAAAPAAAAD0AAAA+AAAAPwAAAHgBAABBAAAAeQEAAEMAAABEAAAAegEAAEYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMj////I////AAAAAAAAAADI////yP///8j////I////yP///8j///8AAAAAyP///8jIAAACAAAAPQIAAD4CAADjAAAARQAAAEYAAAAgAgAAIQIAACcAAAAoAAAA3gAAAN8AAAArAAAALAAAAC0AAAAuAAAALwAAADAAAAAxAAAAMgAAADMAAAA0AAAANQAAADYAAACNAAAAjgAAAI8AAACQAAAAOwAAADwAAAA9AAAAPgAAAD8AAABAAAAAAwAAAAkAAAAEAAAAQQAAAEIAAAAFAAAABgAAAAAAAADYyAAAPwIAAEACAABgAAAAYQAAAGIAAABjAAAAZAAAAGUAAAAlAAAAJgAAACcAAAAoAAAAewEAAAMAAAB8AQAAfQEAAH4BAAADAAAAAwAAAEECAAB4AQAAAAAAAOjIAABCAgAAQwIAAOAAAABDAAAARAAAACICAAAjAgAAzwAAANAAAADRAAAA0gAAANMAAADUAAAA1QAAANYAAADXAAAA2AAAANkAAADaAAAARAIAACwAAAAtAAAABAAAAAUAAAAGAAAAfwEAAC8AAACAAQAAgQEAADIAAACCAQAANAAAAEgAAAA2AAAANwAAADgAAAA5AAAAgwEAADsAAAA8AAAAPQAAAD4AAAA/AAAAhAEAAEEAAACFAQAAQwAAAEQAAABMAAAARgAAAIYBAABFAgAAhwEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAiP7//4j+//8AAAAAAAAAAIj+//+I/v//iP7//4j+//+I/v//iP7//wAAAACI/v//6MgAAAIAAABGAgAARwIAAOMAAABFAAAARgAAACQCAAAlAgAAJwAAACgAAADeAAAA3wAAACsAAAAsAAAALQAAAC4AAAAvAAAAMAAAADEAAAAyAAAAMwAAADQAAAA1AAAANgAAAI0AAACOAAAAjwAAAJAAAAA7AAAAPAAAAD0AAAA+AAAAPwAAAEAAAAADAAAACQAAAAQAAABBAAAAQgAAAAUAAAAGAAAAhGwBAATJAAB0ygAAAG4BAAAAAAAYywAASAIAAEkCAAAmAgAAAQAAAN8AAAAAAAAAIMsAAEoCAABLAgAAPgEAAPkAAABMAgAAYwEAAAAAAAAoywAATQIAAE4CAAD9AAAAKAAAACcCAAAoAgAAEAAAAAgAAAAAAAAAOL0AAEMAAAAJAAAACgAAAEQAAABFAAAABAAAAAUAAAABAAAAAQAAABIAAAATAAAABgAAAAcAAAAIAAAACQAAAAIAAAACAAAAAQAAAAwAAAAEAAAA/P///zi9AABGAAAACwAAAAwAAABHAAAASAAAAA0AAAAOAAAAAwAAAAMAAAAUAAAAFQAAAPj////4////+P////j///8AAAAAAAAAAPj////4////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA+P////j///8AAAAAAAAAAAAAAAAAAAAA+P////j////4////+P////j///8IAAAA+P///zi9AABJAAAADQAAAA4AAABKAAAASwAAABIAAAATAAAAFAAAABUAAAAWAAAAFwAAABgAAAAZAAAAGgAAABsAAAAcAAAAHQAAAB4AAAAfAAAAIAAAACEAAAAiAAAAIwAAAAQAAAAWAAAAFwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD4////+P////j////4////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPD////w////8P////D////w////8P///wAAAADw////OL0AAAIAAAAYAAAAGQAAAEwAAAAPAAAAEAAAAE0AAABOAAAAJwAAACgAAAApAAAAKgAAACsAAAAsAAAALQAAAC4AAAAvAAAAMAAAADEAAAAyAAAAMwAAADQAAAA1AAAANgAAADcAAAA4AAAAOQAAADoAAAA7AAAAPAAAAD0AAAA+AAAAPwAAAEAAAAADAAAACQAAAAQAAABBAAAAQgAAAAUAAAAGAAAA7HEBADwqAAB84gAA7OMAAKwrAABccwEAQAAAAAAAAABAywAATwIAAFACAADgAAAAQwAAAEQAAADhAAAA4gAAAM8AAADQAAAA0QAAANIAAADTAAAA1AAAANUAAADWAAAA1wAAANgAAADZAAAA2gAAAJcAAAAsAAAALQAAAAQAAAAFAAAABgAAAIgBAAAvAAAAiQEAADEAAAAyAAAAMwAAADQAAABIAAAANgAAADcAAAA4AAAAOQAAAEkAAAA7AAAAPAAAAD0AAAA+AAAAPwAAAEoAAABBAAAASwAAAEMAAABEAAAATAAAAEYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMD////A////AAAAAAAAAADA////wP///8D////A////wP///8D///8AAAAAwP///0DLAAACAAAAUQIAAFICAADjAAAARQAAAEYAAADkAAAA5QAAACcAAAAoAAAA3gAAAN8AAAArAAAALAAAAC0AAAAuAAAALwAAADAAAAAxAAAAMgAAADMAAAA0AAAANQAAADYAAACNAAAAjgAAAI8AAACQAAAAOwAAADwAAAA9AAAAPgAAAD8AAABAAAAAAwAAAAkAAAAEAAAAQQAAAEIAAAAFAAAABgAAADwqAAB84gAA7OMAAKwrAAAAAAAAUMsAAA8AAABXAgAAWAIAAEB0AQDs8wAAXPUAALB1AQBEAAAAAAAAAGDLAABZAgAAWgIAAOAAAABDAAAARAAAAOEAAADiAAAAzwAAANAAAADRAAAA0gAAANMAAADUAAAA1QAAANYAAADXAAAA2AAAANkAAADaAAAAlwAAACwAAAAtAAAABAAAAAUAAAAGAAAALgAAAC8AAABHAAAAMQAAADIAAAAzAAAANAAAAEgAAAA2AAAANwAAADgAAAA5AAAAigEAADsAAAA8AAAAPQAAAD4AAAA/AAAASgAAAEEAAABLAAAAQwAAAEQAAABMAAAARgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAvP///7z///8AAAAAAAAAALz///+8////vP///7z///+8////vP///wAAAAC8////YMsAAAIAAABbAgAAXAIAAOMAAABFAAAARgAAAOQAAADlAAAAJwAAACgAAADeAAAA3wAAACsAAAAsAAAALQAAAC4AAAAvAAAAMAAAADEAAAAyAAAAMwAAADQAAAA1AAAANgAAAI0AAACOAAAAjwAAAJAAAAA7AAAAPAAAAD0AAAA+AAAAPwAAAEAAAAADAAAACQAAAAQAAABBAAAAQgAAAAUAAAAGAAAAAQAAAAAAAABwywAADwAAAF0CAABeAgAAGAAAAGwAAAAZAAAAGgAAAAYAAABfAgAAYAIAAGECAAAcdwEAYCwAAKDLAAAgzwAAMNIAAPDUAACo1wAARNgAAFTZAAAI2gAApNoAALTbAADk1QAA9NYAAEjVAAAs0wAAPNQAAJDSAABo0AAAeNEAAMzPAABczQAAbM4AAMDMAABILgAAWC8AAKwtAAAEeQEAFHoBAGh4AQAw8QAAQPIAAAABAAD4AAAAAAAAAIDLAAApAgAA/gAAAP8AAAAqAgAAKwIAAAQAAAAFAAAAAQAAAAEAAABiAgAAYwIAAAYAAAAHAAAACAAAAAkAAAACAAAABgAAAIsBAAACAAAAKQAAAIwBAACNAQAAjgEAAI8BAACQAQAAkQEAACwCAAABAAAAkgEAAC0CAAAuAgAABgAAACkAAACTAQAAZgAAAGQCAABnAAAAAQAAAGgAAABpAAAAKgAAAGoAAAArAAAAlAEAAJUBAAACAAAAKgAAACsAAAAsAAAALQAAAC4AAAAvAAAAMAAAADEAAAAyAAAAMwAAAC8CAAABAAAAAgAAAAMAAAABAAAANAAAAAQAAAAwAgAAawAAADUAAAA2AAAAZQIAAJYBAACXAQAAAwAAAJgBAAAEAAAAbAAAAAEAAAAFAAAAAQAAAAQAAAAHAAAA/AAAAPQAAAD8////gMsAADECAAAAAQAAAQEAADICAAAzAgAADQAAAA4AAAADAAAAAwAAAGYCAABnAgAACP///wj///8I////CP///wAAAAAAAAAACP///wj///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAI////CP///wAAAAAAAAAAAAAAAAAAAAAI////CP///wj///8I////CP///wgAAAAI////gMsAADQCAAACAQAAAwEAADUCAAA2AgAAEgAAABMAAAAUAAAAFQAAABYAAAAXAAAAGAAAABkAAAAaAAAAGwAAABwAAAAdAAAAHgAAAB8AAAAgAAAAIQAAACIAAAAjAAAABAAAAGgCAABpAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPj////4////+P////j///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///wD///8A////AP///wD///8A////AAAAAAD///+AywAAAgAAAGoCAABrAgAANwIAAAQBAAAFAQAAOAIAADkCAAAnAAAAKAAAACkAAAAqAAAAKwAAACwAAAAtAAAALgAAAC8AAAAwAAAAMQAAADIAAAAzAAAANAAAADUAAAA2AAAANwAAADgAAAA5AAAAOgAAADsAAAA8AAAAPQAAAD4AAAA/AAAAQAAAAAMAAAAJAAAABAAAAEEAAABCAAAABQAAAAYAAAAAAAAAWNwAAAIAAABaAAAAhgIAAFECAAAOAQAADwEAAFICAABTAgAAJwAAACgAAAApAAAAKgAAACsAAAAsAAAALQAAAC4AAAAvAAAAMAAAADEAAAAyAAAAMwAAADQAAAA1AAAANgAAAI0AAACOAAAAjwAAAJAAAAA7AAAAPAAAAD0AAAA+AAAAPwAAAEAAAAADAAAACQAAAAQAAABBAAAAQgAAAAUAAAAGAAAAAAAAAGjcAAAPAAAAhwIAAIgCAAAAAAAAgNwAAIkCAACKAgAAAAAAAHjcAACLAgAAjAIAAAAAAACI3AAAjQIAAI4CAAAAAAAAsNwAAA8AAACPAgAAkAIAAJECAAAAAAAAwNwAAA8AAACSAgAAkwIAAJQCAAAAAAAA0NwAAA8AAACVAgAAlgIAAFQCAACXAgAA9P///9DcAACYAgAAmQIAAFUCAACaAgAA3wAAAAAAAABw4QAAAgAAAJsCAACcAgAAVgIAABABAAARAQAAVwIAAFgCAAAnAAAAKAAAACkAAAAqAAAAKwAAACwAAAAtAAAALgAAAC8AAAAwAAAAMQAAADIAAAAzAAAANAAAADUAAAA2AAAAjQAAAI4AAACPAAAAkAAAADsAAAA8AAAAPQAAAD4AAAA/AAAAQAAAAAMAAAAJAAAABAAAAEEAAABCAAAABQAAAAYAAAAAAAAAwOEAAA8AAACdAgAAngIAAAwAAAAAAAAASOEAABIBAACfAgAAoAIAAPT///8AAAAA9P///0jhAAAPAAAAoQIAAKICAACUAAAAAAAAADjhAACjAgAApAIAAOAAAABDAAAARAAAAFkCAABaAgAAzwAAANAAAADRAAAA0gAAANMAAADUAAAA1QAAANYAAADXAAAA2AAAANkAAADaAAAAlwAAACwAAAAtAAAABAAAAAUAAAAGAAAAmgEAAC8AAABlAQAAMQAAADIAAAAzAAAANAAAAEgAAAA2AAAANwAAADgAAAA5AAAASQAAADsAAAA8AAAAPQAAAD4AAAA/AAAASgAAAEEAAABLAAAAQwAAAEQAAABMAAAARgAAAGYBAACbAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABs////bP///wAAAAAAAAAAbP///2z///9s////bP///2z///9s////AAAAAGz///844QAAAgAAAKUCAACmAgAA4wAAAEUAAABGAAAAWwIAAFwCAAAnAAAAKAAAAN4AAADfAAAAKwAAACwAAAAtAAAALgAAAC8AAAAwAAAAMQAAADIAAAAzAAAANAAAADUAAAA2AAAAjQAAAI4AAACPAAAAkAAAADsAAAA8AAAAPQAAAD4AAAA/AAAAQAAAAAMAAAAJAAAABAAAAEEAAABCAAAABQAAAAYAAAAQfQEA/NwAACTfAACU4AAAdN4AAIh+AQAAAAAAoOEAAA8AAACnAgAAqAIAAAEAAAABAAAAAQAAAAEAAAAAAAAAsOEAAA8AAACnAgAAqQIAAG8AAAATAQAAFAEAADoAAAAAAAAAgOEAAA8AAACqAgAAqwIAAAAAAACQ4QAADwAAAKcCAACsAgAAcAAAABUBAAAWAQAAOwAAAAAAAABA4gAADwAAAK0CAACuAgAAAAAAANDhAAAPAAAArwIAALACAAAAAAAA4OEAAA8AAACxAgAAsgIAAAAAAADw4QAADwAAALMCAAC0AgAAFwEAAHEAAAAYAQAALAAAAAcAAAAtAAAACAAAAC4AAAAJAAAACgAAAAsAAAAvAAAADAAAAAAAAAAA4gAADwAAAKcCAAC1AgAAcgAAABkBAAAaAQAAPAAAAAAAAAAQ4gAADwAAAKcCAAC2AgAAcwAAABsBAAAcAQAAPQAAAAAAAAAg4gAADwAAAKcCAAC3AgAAdAAAAB0BAAAeAQAAPgAAAAAAAAAw4gAADwAAAKcCAAC4AgAAdQAAAB8BAAAgAQAAPwAAAAAAAABQ4gAADwAAALkCAAC6AgAAAQAAAF0CAABeAgAAXwIAAGACAAC7AgAAnAEAAEAAAACdAQAAvAIAAHYAAACeAQAAnwEAADyBAQB84gAA7OMAAKyCAQBAAAAAAAAAAGDiAAC9AgAAvgIAAOAAAABDAAAARAAAAGECAABiAgAAzwAAANAAAADRAAAA0gAAANMAAADUAAAA1QAAANYAAADXAAAA2AAAANkAAADaAAAAlwAAACwAAAAtAAAABAAAAAUAAAAGAAAALgAAAC8AAABHAAAAMQAAADIAAAAzAAAANAAAAEgAAAA2AAAANwAAADgAAAA5AAAASQAAADsAAAA8AAAAPQAAAD4AAAA/AAAASgAAAEEAAABLAAAAoAEAAEQAAABMAAAARgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwP///8D///8AAAAAAAAAAMD////A////wP///8D////A////wP///wAAAADA////YOIAAAIAAAC/AgAAwAIAAOMAAABFAAAARgAAAGMCAABkAgAAJwAAACgAAADeAAAA3wAAACsAAAAsAAAALQAAAC4AAAAvAAAAMAAAADEAAAAyAAAAMwAAADQAAAA1AAAANgAAAI0AAACOAAAAjwAAAJAAAAA7AAAAPAAAAD0AAAA+AAAAPwAAAEAAAAADAAAACQAAAAQAAABBAAAAQgAAAAUAAAAGAAAAAAAAAJDkAAAPAAAAwQIAAMICAAAAAAAAsOQAAA8AAADDAgAAxAIAAGUCAADFAgAA9P///7DkAADGAgAAxwIAAGYCAADIAgAA3wAAAAAAAADQ5AAADwAAAMkCAADKAgAAAwAAADAAAAABAAAAZwIAAKEBAACiAQAAywIAAAAAAADg5AAADwAAAMwCAADNAgAAAAAAAADlAAAPAAAAzgIAAM8CAABoAgAA0AIAAGkCAAABAAAAowEAAKQBAAAhAQAALIQBAOzzAABc9QAAnIUBAEQAAAAAAAAAEOUAANECAADSAgAA4AAAAEMAAABEAAAAagIAAGsCAADPAAAA0AAAANEAAADSAAAA0wAAANQAAADVAAAA1gAAANcAAADYAAAA2QAAANoAAACXAAAALAAAAC0AAAAEAAAABQAAAAYAAAAuAAAALwAAAEcAAAAxAAAAMgAAADMAAAA0AAAASAAAADYAAAA3AAAAOAAAADkAAABJAAAAOwAAADwAAAA9AAAAPgAAAD8AAABKAAAAQQAAAEsAAAClAQAARAAAAEwAAABGAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAC8////vP///wAAAAAAAAAAvP///7z///+8////vP///7z///+8////AAAAALz///8Q5QAAAgAAANMCAADUAgAA4wAAAEUAAABGAAAAbAIAAG0CAAAnAAAAKAAAAN4AAADfAAAAKwAAACwAAAAtAAAALgAAAC8AAAAwAAAAMQAAADIAAAAzAAAANAAAADUAAAA2AAAAjQAAAI4AAACPAAAAkAAAADsAAAA8AAAAPQAAAD4AAAA/AAAAQAAAAAMAAAAJAAAABAAAAEEAAABCAAAABQAAAAYAAAAAAAAAQOUAAA8AAADVAgAA1gIAAAAAAAAw5QAADwAAANcCAADYAgAAAAAAANDlAAAPAAAA2QIAANoCAAAAAAAA4OUAAA8AAADbAgAA3AIAAHcAAAAAAAAA8OUAAAIAAABaAAAA3QIAAG4CAAAiAQAAIwEAAG8CAABwAgAAJwAAACgAAAApAAAAKgAAACsAAAAsAAAALQAAAC4AAAAvAAAAMAAAADEAAAAyAAAAMwAAADQAAAA1AAAANgAAAI0AAACOAAAAjwAAAJAAAAA7AAAAPAAAAD0AAAA+AAAAPwAAAEAAAAADAAAACQAAAAQAAABBAAAAQgAAAAUAAAAGAAAApgEAACQBAAAAAAAAAOYAAAIAAABaAAAA3gIAAHECAAAlAQAAJgEAAHICAABzAgAAJwAAACgAAAApAAAAKgAAACsAAAAsAAAALQAAAC4AAAAvAAAAMAAAADEAAAAyAAAAMwAAADQAAAA1AAAANgAAAI0AAACOAAAAjwAAAJAAAAA7AAAAPAAAAD0AAAA+AAAAPwAAAEAAAAADAAAACQAAAAQAAABBAAAAQgAAAAUAAAAGAAAApwEAACQBAAAAAAAAEOYAAAIAAABaAAAA3wIAAHQCAAAnAQAAKAEAAHUCAAB2AgAAJwAAACgAAAApAAAAKgAAACsAAAAsAAAALQAAAC4AAAAvAAAAMAAAADEAAAAyAAAAMwAAADQAAAA1AAAANgAAAI0AAACOAAAAjwAAAJAAAAA7AAAAPAAAAD0AAAA+AAAAPwAAAEAAAAADAAAACQAAAAQAAABBAAAAQgAAAAUAAAAGAAAAqAEAACQBAAAAAAAAIOYAAAIAAABaAAAA4AIAAHcCAAApAQAAKgEAAHgCAAB5AgAAJwAAACgAAAApAAAAKgAAACsAAAAsAAAALQAAAC4AAAAvAAAAMAAAADEAAAAyAAAAMwAAADQAAAA1AAAANgAAAI0AAACOAAAAjwAAAJAAAAA7AAAAPAAAAD0AAAA+AAAAPwAAAEAAAAADAAAACQAAAAQAAABBAAAAQgAAAAUAAAAGAAAAEAAAAAAAAAAw5gAAeAAAAOECAADiAgAA8P///wAAAADw////MOYAAA8AAADjAgAA5AIAAHQAAABsAAAAAAAAAJDwAAABAAAAAQAAAAIAAAACAAAAAwAAAAQAAAAFAAAAAQAAAAEAAADlAgAA5gIAAAYAAAAHAAAACAAAAAkAAAACAAAAAQAAAAEAAAADAAAAAgAAAHAAAABoAAAA/P///5DwAAAKAAAAAwAAAAQAAAALAAAADAAAAA0AAAAOAAAAAwAAAAMAAADnAgAA6AIAAJT///+U////lP///5T///8AAAAAAAAAAJT///+U////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlP///5T///8AAAAAAAAAAAAAAAAAAAAAlP///5T///+U////lP///5T///8IAAAAlP///5DwAAAPAAAABQAAAAYAAAAQAAAAEQAAABIAAAATAAAAFAAAABUAAAAWAAAAFwAAABgAAAAZAAAAGgAAABsAAAAcAAAAHQAAAB4AAAAfAAAAIAAAACEAAAAiAAAAIwAAAAQAAADpAgAA6gIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD4////+P////j////4////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIz///+M////jP///4z///+M////jP///wAAAACM////kPAAAAIAAADrAgAA7AIAACQAAAAHAAAACAAAACUAAAAmAAAAJwAAACgAAAApAAAAKgAAACsAAAAsAAAALQAAAC4AAAAvAAAAMAAAADEAAAAyAAAAMwAAADQAAAA1AAAANgAAADcAAAA4AAAAOQAAADoAAAA7AAAAPAAAAD0AAAA+AAAAPwAAAEAAAAADAAAACQAAAAQAAABBAAAAQgAAAAUAAAAGAAAAoIkBAGjmAAAo6QAA4OsAAHzsAACM7QAAQO4AANzuAADs7wAAHOoAACzrAACA6QAAZOcAAHToAADI5gAAnIoBAKyLAQAAigEAMPEAAEDyAAAQAAAACAAAAAAAAACw8AAAegIAACsBAAAsAQAAewIAAHwCAAB9AgAAfgIAAEEAAAB5AAAA7QIAAO4CAAD4////+P///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPj////4////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPj////4////+P////j////4////CAAAAPj///+w8AAAfwIAAC0BAAAuAQAAgAIAAIECAAASAAAAEwAAABQAAAAVAAAAaAAAAGkAAAAYAAAAGQAAABoAAAAbAAAAggIAAIMCAABZAAAAWgAAACAAAAAhAAAAWwAAAFwAAABCAAAA7wIAAPACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA+P////j////4////+P///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADw////8P////D////w////8P////D///8AAAAA8P///7DwAAACAAAA8QIAAPICAACEAgAALwEAADABAACFAgAAhgIAACcAAAAoAAAAKQAAACoAAAArAAAALAAAAC0AAAAuAAAALwAAADAAAAAxAAAAMgAAADMAAAA0AAAANQAAADYAAAA3AAAAOAAAADkAAAA6AAAAOwAAADwAAAA9AAAAPgAAAD8AAABAAAAAAwAAAAkAAAAEAAAAQQAAAEIAAAAFAAAABgAAABAAAAAIAAAAAAAAAKDwAACHAgAAMQEAADIBAACIAgAAiQIAAIoCAACLAgAABwAAAAgAAADzAgAA9AIAAPj///8AAAAAAAAAAAAAAAD4////+P///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA+P////j////4////+P////j///8IAAAA+P///6DwAACMAgAAMwEAADQBAACNAgAAjgIAABIAAAATAAAAFAAAABUAAABoAAAAaQAAABgAAAAZAAAAGgAAABsAAAAcAAAAHQAAAFkAAABaAAAAjwIAAJACAABbAAAAXAAAAAkAAAD1AgAA9gIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD4////+P////j////4////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPD////w////8P////D////w////8P///wAAAADw////oPAAAAIAAAD3AgAA+AIAAJECAAA1AQAANgEAAJICAACTAgAAJwAAACgAAAApAAAAKgAAACsAAAAsAAAALQAAAC4AAAAvAAAAMAAAADEAAAAyAAAAMwAAADQAAAA1AAAANgAAADcAAAA4AAAAOQAAADoAAAA7AAAAPAAAAD0AAAA+AAAAPwAAAEAAAAADAAAACQAAAAQAAABBAAAAQgAAAAUAAAAGAAAAAAAAAPjyAAACAAAAWgAAAPkCAACUAgAANwEAADgBAACVAgAAlgIAACcAAAAoAAAAKQAAACoAAAArAAAALAAAAC0AAAAuAAAALwAAADAAAAAxAAAAMgAAADMAAAA0AAAANQAAADYAAACNAAAAjgAAAI8AAACQAAAAOwAAADwAAACXAgAAmAIAAD8AAABAAAAAAwAAAAkAAAAEAAAAQQAAAEIAAAAFAAAABgAAADkBAAA6AQAAAAAAAOjyAAACAAAA+gIAAPsCAACZAgAAOwEAADwBAACaAgAAmwIAACcAAAAoAAAAKQAAACoAAAArAAAALAAAAC0AAAAuAAAALwAAADAAAAAxAAAAMgAAADMAAAA0AAAANQAAADYAAACNAAAAjgAAAI8AAACQAAAAOwAAADwAAACXAgAAmAIAAD8AAABAAAAAAwAAAAkAAAAEAAAAQQAAAEIAAAAFAAAABgAAAD0BAAA+AQAAAAAAACjzAAAPAAAA/AIAAP0CAAANAAAAegAAAKkBAAAxAAAAgAAAAAAAAACg5QAA/gIAAKoBAAD/AgAAAAMAAKsBAAABAwAAAgMAAAMDAAAEAwAABQMAAKwBAACA////AAAAAID///+g5QAADwAAAAYDAAAHAwAA+JIBAETzAACE8wAApPMAAGjzAAA0kwEAAAAAALDzAAAPAAAACAMAAAkDAAAOAAAAewAAAK0BAAAyAAAAAAAAAMDzAAAPAAAACgMAAAsDAACcAgAAnQIAAK4BAACeAgAAhAAAAAAAAACw5QAAnwIAAD8BAABAAQAAoAIAAKECAACvAQAADAMAAA0DAABBAQAAogIAAHwAAACwAQAACQAAAAQAAAAOAwAAsQEAAAcAAACjAgAApAIAANz///+w5QAADwMAABADAAClAgAAEQMAALIBAAAIAAAACgAAAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB8////fP///3z///98////fP///3z///8AAAAAfP///7DlAAACAAAAEgMAABMDAACmAgAAQgEAAEMBAACnAgAAqAIAACcAAAAoAAAAKQAAACoAAAArAAAALAAAAC0AAAAuAAAALwAAADAAAAAxAAAAMgAAADMAAAA0AAAANQAAADYAAACNAAAAjgAAAI8AAACQAAAAOwAAADwAAAA9AAAAPgAAAD8AAABAAAAAAwAAAAkAAAAEAAAAQQAAAEIAAAAFAAAABgAAAKyTAQC0+QAAgPoAAMiUAQCYlQEA7PMAAFz1AAAIlwEARAAAAAAAAADQ8wAAFAMAABUDAADgAAAAQwAAAEQAAACpAgAAqgIAAM8AAADQAAAA0QAAANIAAADTAAAA1AAAANUAAADWAAAA1wAAANgAAADZAAAA2gAAAJcAAAAsAAAALQAAAAQAAAAFAAAABgAAAC4AAAAvAAAAswEAADEAAAAyAAAAMwAAADQAAABIAAAAtAEAADcAAAA4AAAAOQAAAEkAAAA7AAAAPAAAAD0AAAA+AAAAPwAAAEoAAABBAAAASwAAAEMAAABEAAAATAAAAEYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAALz///+8////AAAAAAAAAAC8////vP///7z///+8////vP///7z///8AAAAAvP///9DzAAACAAAAFgMAABcDAADjAAAARQAAAEYAAACrAgAArAIAACcAAAAoAAAA3gAAAN8AAAArAAAALAAAAC0AAAAuAAAALwAAADAAAAAxAAAAMgAAADMAAAA0AAAANQAAADYAAACNAAAAjgAAAI8AAACQAAAAOwAAADwAAAA9AAAAPgAAAD8AAABAAAAAAwAAAAkAAAAEAAAAQQAAAEIAAAAFAAAABgAAAOwAAAAAAAAAAPYAALUBAACtAgAArgIAAEQBAACvAgAAGAMAABkDAAC2AQAAtwEAALACAAAaAwAAGwMAABwDAACxAgAAsgIAALMCAAAGAAAABwAAAB0DAAAeAwAAHwMAAH0AAAB+AAAAfwAAAIAAAACBAAAAggAAAIMAAAAEAAAAtAIAALgBAAAgAwAAIQMAACIDAAC1AgAARQEAAEYBAAC2AgAAtwIAALkBAACEAAAAugEAAAYAAACEAAAAmP///wD2AAC4AgAARwEAAEgBAAC5AgAAugIAALsBAAAjAwAAJAMAAEEBAACiAgAAhQAAALwBAAAJAAAABAAAAA4DAACxAQAABwAAAKMCAACkAgAAdP///wD2AAAlAwAAJgMAAKUCAAARAwAAsgEAAAgAAAAKAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABT///8U////FP///xT///8U////FP///wAAAAAU////APYAAAIAAAAnAwAAKAMAALsCAABJAQAASgEAALwCAAC9AgAAJwAAACgAAAApAAAAKgAAACsAAAAsAAAALQAAAC4AAAAvAAAAMAAAADEAAAAyAAAAMwAAADQAAAA1AAAANgAAAI0AAACOAAAAjwAAAJAAAAA7AAAAPAAAAD0AAAA+AAAAPwAAAEAAAAADAAAACQAAAAQAAABBAAAAQgAAAAUAAAAGAAAAuJcBACz2AABc9wAADPgAALT5AACA+gAAAPkAAIyZAQBwmAEAAAAAAJjlAAApAwAAKgMAAL4CAAABAAAAAQAAAAEAAAALAAAABwAAAAAAAAAo+wAAAgAAAC8DAAAwAwAAEAEAAHQAAABLAQAAwAIAAMECAAAnAAAAKAAAACkAAAAqAAAAKwAAACwAAAAtAAAALgAAAC8AAAAwAAAAMQAAADIAAAAzAAAANAAAADUAAAA2AAAAjQAAAI4AAACPAAAAkAAAADsAAAA8AAAAPQAAAD4AAAA/AAAAQAAAAAMAAAAJAAAABAAAAEEAAABCAAAABQAAAAYAAADUAAAAwgIAANUAAADDAgAAxAIAADEDAADFAgAATAEAAMYCAAC9AQAAMgMAAAEAAADHAgAACAAAAA8AAABNAQAAyAIAADMDAAA0AwAANQMAAL4BAAC/AQAAwAEAAMEBAADCAQAAMwAAADYDAADDAQAACQAAAHz///8o+wAANwMAADgDAAC+AgAAOQMAAMQBAAAKAAAACwAAAAcAAAAAAAAAeOUAAAIAAAAvAwAAOgMAABABAAB0AAAATgEAAMkCAADKAgAAJwAAACgAAAApAAAAKgAAACsAAAAsAAAALQAAAC4AAAAvAAAAMAAAADEAAAAyAAAAMwAAADQAAAA1AAAANgAAAI0AAACOAAAAjwAAAJAAAAA7AAAAPAAAAD0AAAA+AAAAPwAAAEAAAAADAAAACQAAAAQAAABBAAAAQgAAAAUAAAAGAAAA1AAAAMsCAADVAAAAzAIAAM0CAAA7AwAAzgIAAEwBAADPAgAAvQEAADwDAAABAAAAxwIAAAgAAAAPAAAATQEAAMgCAAA9AwAAPgMAAD8DAAC+AQAAvwEAAMABAADBAQAAwgEAADMAAAA2AwAAwwEAAAkAAAB8////eOUAAEADAABBAwAAvgIAADkDAADEAQAACgAAAAsAAAAHAAAATwEAALLwAgAOAAAABAAAAAQgNhYEIHYWBBgWFgQYVhYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP//////////AQAAAMyfAQAAAAAAAAAAAAAAAAABAAAAvJ8BAAAAAAAAAAAAAAAAAAEAAACsnwEAAAAAAAAAAAAAAAAAAQAAAEyfAQAAAAAAAAAAAAAAAAABAAAATJ8BAAAAAAAAAAAAAAAAAAEAAABMnwEAAAAAAAAAAAAAAAAAAQAAAFyfAQAAAAAAAAAAAAAAAAABAAAAXJ8BAAAAAAAAAAAAAAAAAAEAAABcnwEAAAAAAAAAAAAAAAAAAQAAAGyfAQAAAAAAAAAAAAAAAAABAAAAbJ8BAAAAAAAAAAAAAAAAAAEAAABsnwEAAAAAAAAAAAAAAAAAAQAAAHyfAQAAAAAAAAAAAAAAAAABAAAAfJ8BAAAAAAAAAAAAAAAAAAEAAAB8nwEAAAAAAAAAAAAAAAAAAQAAAIyfAQAAAAAAAAAAAAAAAAABAAAAjJ8BAAAAAAAAAAAAAAAAAAEAAACMnwEAAAAAAAAAAAAAAAAAAQAAAJyfAQAAAAAAAAAAAAAAAAABAAAAjJ8BAAAAAAAAAAAAAAAAAAEAAAB8nwEAAAAAAAAAAAAAAAAAAQAAAGyfAQAAAAAAAAAAAAAAAAABAAAAXJ8BAAAAAAAAAAAAAAAAAAEAAABMnwEAAAAAAAAAAAAAAAAAMIsAAP////8zAQAAYGMAADCLAAD/////dQEAAKBkAAAwiwAA/////1cBAAAgZgAAMIsAAP/////7AAAAgGcAADCLAAD/////eQAAAIBoAAAxiwAA/////zMCAAAAaQAAMIsAAP////+XAgAAQGsAADCLAAD/////OgIAAOBtAAAwiwAA/////zoCAAAgcAAABAAAAAYAAAADAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAEAAKUrAwAJAAAACAAAAAQgNhYEIHYWBCBGFgQghhYEGBYWBBhWFgIQFRUCDxMVAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKkoAwDUAQMAAQAAANQCAACpKAMAXA8DANUCAAAAAAAAVSYDAGMkAwACAAAA1gIAAIElAwCGJQMA1wIAAAEAAABVJgMAWyYDANgCAAABAAAAZKABAISgAQAAAAAADJ0BAAygAQAQfwAAFAAAAEMuVVRGLTgAAAAAAAAAAAAAAAAAyKABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKEBAAkAAAAAAAAAAAAAANkCAAAAAAAAAAAAAAAAAAAAAAAAQwAAAAAAAABEAAAAiFsDAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAoQEABQAAAAAAAAAAAAAA2QIAAAAAAAAAAAAAAAAAAAAAAAAAAAAARQAAAEQAAAB8hgMAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAA//////8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACiAQAFAAAAAAAAAAAAAADZAgAAAAAAAAAAAAAAAAAAAAAAAAAAAABGAAAARAAAAJhfAwAABAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAK/////wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKIBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAXIADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAigAAgJAAAICVAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD//////wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAX3CJAP8JLw8AAAAAyPsAANcDAADYAwAAAAAAANj7AADZAwAA2gMAAAAAAADw+wAAUAAAANsDAAAOAAAACgAAAAEAAAAFAAAAgwAAAIQAAAALAAAAhQAAAIYAAAAoAAAADQAAACkAAAAAAAAA+PsAANwDAADdAwAAxQEAAEgAAAADAAAANAAAANoCAADbAgAASQAAANwCAADdAgAAUQEAAEoAAABSAQAACAAAAAAAAAAA/AAAdAAAAHUAAAD4////+P///wD8AAB2AAAAdwAAALCkAQDEpAEACAAAAAAAAAAY/AAA3gMAAN8DAAD4////+P///xj8AADgAwAA4QMAAOCkAQD0pAEA3JkAAPCZAAAEAAAAAAAAAEj8AADiAwAA4wMAAPz////8////SPwAAOQDAADlAwAAGKUBACylAQAMAAAAAAAAAGD8AABwAQAAcQEAAAQAAAD4////YPwAAHIBAABzAQAA9P////T///9g/AAAdAEAAHUBAABIpQEAjPwAAKD8AADcmQAA8JkAAHClAQBcpQEAAAAAAKj8AADcAwAA5gMAAMYBAABIAAAAAwAAADQAAADeAgAA2wIAAEkAAADcAgAA3QIAAFEBAABLAAAAUwEAAAAAAAC4/AAAUAAAAOcDAADHAQAACgAAAAEAAAAFAAAA3wIAAIQAAAALAAAAhQAAAIYAAAAoAAAATAAAAFQBAAAAAAAAyPwAANwDAADoAwAAyAEAAEgAAAADAAAANAAAANoCAADbAgAASQAAAOACAADhAgAAVQEAAEoAAABSAQAAAAAAANj8AABQAAAA6QMAAMkBAAAKAAAAAQAAAAUAAACDAAAAhAAAAAsAAADiAgAA4wIAAFYBAAANAAAAKQAAAAAAAADo/AAA6gMAAOsDAADsAwAACQAAADUAAABNAAAAAAAAAAj9AADtAwAA7gMAAOwDAAAKAAAANgAAAE4AAAAAAAAAGP0AAO8DAADwAwAA7AMAAAEAAAACAAAAAwAAAAQAAAAFAAAABgAAAAcAAAAIAAAACQAAAAoAAAALAAAAAAAAAFj9AADxAwAA8gMAAOwDAAAMAAAADQAAAA4AAAAPAAAAEAAAABEAAAASAAAAEwAAABQAAAAVAAAAFgAAAAAAAACQ/QAA8wMAAPQDAADsAwAACwAAAAwAAAAXAAAADQAAABgAAAABAAAAAgAAAA4AAAAAAAAA0P0AAPUDAAD2AwAA7AMAAA8AAAAQAAAAGQAAABEAAAAaAAAAAwAAAAQAAAASAAAAAAAAAAj+AAD3AwAA+AMAAOwDAADkAgAAGwAAABwAAAAdAAAAHgAAAB8AAAABAAAA+P///wj+AADlAgAA5gIAAOcCAADoAgAA6QIAAOoCAADrAgAAAAAAAED+AAD5AwAA+gMAAOwDAADsAgAAIAAAACEAAAAiAAAAIwAAACQAAAACAAAA+P///0D+AADtAgAA7gIAAO8CAADwAgAA8QIAAPICAADzAgAAJQAAAEgAAAA6AAAAJQAAAE0AAAA6AAAAJQAAAFMAAAAAAAAAJQAAAG0AAAAvAAAAJQAAAGQAAAAvAAAAJQAAAHkAAAAAAAAAJQAAAEkAAAA6AAAAJQAAAE0AAAA6AAAAJQAAAFMAAAAgAAAAJQAAAHAAAAAAAAAAJQAAAGEAAAAgAAAAJQAAAGIAAAAgAAAAJQAAAGQAAAAgAAAAJQAAAEgAAAA6AAAAJQAAAE0AAAA6AAAAJQAAAFMAAAAgAAAAJQAAAFkAAAAAAAAAQQAAAE0AAAAAAAAAUAAAAE0AAAAAAAAASgAAAGEAAABuAAAAdQAAAGEAAAByAAAAeQAAAAAAAABGAAAAZQAAAGIAAAByAAAAdQAAAGEAAAByAAAAeQAAAAAAAABNAAAAYQAAAHIAAABjAAAAaAAAAAAAAABBAAAAcAAAAHIAAABpAAAAbAAAAAAAAABNAAAAYQAAAHkAAAAAAAAASgAAAHUAAABuAAAAZQAAAAAAAABKAAAAdQAAAGwAAAB5AAAAAAAAAEEAAAB1AAAAZwAAAHUAAABzAAAAdAAAAAAAAABTAAAAZQAAAHAAAAB0AAAAZQAAAG0AAABiAAAAZQAAAHIAAAAAAAAATwAAAGMAAAB0AAAAbwAAAGIAAABlAAAAcgAAAAAAAABOAAAAbwAAAHYAAABlAAAAbQAAAGIAAABlAAAAcgAAAAAAAABEAAAAZQAAAGMAAABlAAAAbQAAAGIAAABlAAAAcgAAAAAAAABKAAAAYQAAAG4AAAAAAAAARgAAAGUAAABiAAAAAAAAAE0AAABhAAAAcgAAAAAAAABBAAAAcAAAAHIAAAAAAAAASgAAAHUAAABuAAAAAAAAAEoAAAB1AAAAbAAAAAAAAABBAAAAdQAAAGcAAAAAAAAAUwAAAGUAAABwAAAAAAAAAE8AAABjAAAAdAAAAAAAAABOAAAAbwAAAHYAAAAAAAAARAAAAGUAAABjAAAAAAAAAFMAAAB1AAAAbgAAAGQAAABhAAAAeQAAAAAAAABNAAAAbwAAAG4AAABkAAAAYQAAAHkAAAAAAAAAVAAAAHUAAABlAAAAcwAAAGQAAABhAAAAeQAAAAAAAABXAAAAZQAAAGQAAABuAAAAZQAAAHMAAABkAAAAYQAAAHkAAAAAAAAAVAAAAGgAAAB1AAAAcgAAAHMAAABkAAAAYQAAAHkAAAAAAAAARgAAAHIAAABpAAAAZAAAAGEAAAB5AAAAAAAAAFMAAABhAAAAdAAAAHUAAAByAAAAZAAAAGEAAAB5AAAAAAAAAFMAAAB1AAAAbgAAAAAAAABNAAAAbwAAAG4AAAAAAAAAVAAAAHUAAABlAAAAAAAAAFcAAABlAAAAZAAAAAAAAABUAAAAaAAAAHUAAAAAAAAARgAAAHIAAABpAAAAAAAAAFMAAABhAAAAdAAAAAAAAAAAAAAAcP4AAPsDAAD8AwAA7AMAAAIAAAAAAAAAmP4AAP0DAAD+AwAA7AMAAAMAAAAAAAAAuP4AAP8DAAAABAAA7AMAAPQCAAD1AgAAygEAAMsBAADMAQAAzQEAAPYCAADOAQAAzwEAAAAAAADg/gAAAQQAAAIEAADsAwAA9wIAAPgCAADQAQAA0QEAANIBAADTAQAA+QIAANQBAADVAQAAAAAAAAD/AAADBAAABAQAAOwDAAD6AgAA+wIAANYBAADXAQAA2AEAANkBAAD8AgAA2gEAANsBAAAAAAAAIP8AAAUEAAAGBAAA7AMAAP0CAAD+AgAA3AEAAN0BAADeAQAA3wEAAP8CAADgAQAA4QEAAAAAAABA/wAABwQAAAgEAADsAwAABAAAAAUAAAAAAAAAaP8AAAkEAAAKBAAA7AMAAAYAAAAHAAAAAAAAAJD/AAALBAAADAQAAOwDAAABAAAAJQAAAAAAAAC4/wAADQQAAA4EAADsAwAAAgAAACYAAAAAAAAA4P8AAA8EAAAQBAAA7AMAAE8AAAAEAAAA4gEAAAAAAAAIAAEAEQQAABIEAADsAwAAUAAAAAUAAADjAQAAAAAAAGAAAQATBAAAFAQAAOwDAAADAAAABAAAABMAAAAAAwAAAQMAABQAAAACAwAAAAAAACgAAQATBAAAFQQAAOwDAAADAAAABAAAABMAAAAAAwAAAQMAABQAAAACAwAAAAAAAJAAAQAWBAAAFwQAAOwDAAAFAAAABgAAABUAAAADAwAABAMAABYAAAAFAwAAAAAAANAAAQAYBAAAGQQAAOwDAAAAAAAA4AABABoEAAAbBAAA7AMAAFcBAABRAAAAWAEAAFIAAABZAQAADAAAAFMAAAAXAAAAAAAAACgBAQAcBAAAHQQAAOwDAAAGAwAABwMAAOQBAADlAQAA5gEAAAAAAAA4AQEAHgQAAB8EAADsAwAACAMAAAkDAADnAQAA6AEAAOkBAABmAAAAYQAAAGwAAABzAAAAZQAAAAAAAAB0AAAAcgAAAHUAAABlAAAAAAAAAAAAAAD4/AAAEwQAACAEAADsAwAAAAAAAAgBAQATBAAAIQQAAOwDAABUAAAADQAAAA4AAAAPAAAAWgEAAFUAAABbAQAAVgAAAFwBAAAQAAAAVwAAABgAAAAAAAAAcAABABMEAAAiBAAA7AMAAAcAAAAIAAAAGQAAAAoDAAALAwAAGgAAAAwDAAAAAAAAsAABABMEAAAjBAAA7AMAAAkAAAAKAAAAGwAAAA0DAAAOAwAAHAAAAA8DAAAAAAAAOAABABMEAAAkBAAA7AMAAAMAAAAEAAAAEwAAAAADAAABAwAAFAAAAAIDAAAAAAAAOP4AAOUCAADmAgAA5wIAAOgCAADpAgAA6gIAAOsCAAAAAAAAaP4AAO0CAADuAgAA7wIAAPACAADxAgAA8gIAAPMCAAACAAAAAAAAAFgBAQAlBAAAJgQAACcEAAAoBAAAWAAAAAYAAAAQAAAANwAAAAAAAACAAQEAJQQAACkEAAAnBAAAKAQAAFgAAAAHAAAAEQAAADgAAAAAAAAAkAEBACoEAAArBAAAEAMAAAAAAACgAQEAKgQAACwEAAAQAwAAAAAAALABAQAtBAAALgQAABEDAAAAAAAA4AEBACUEAAAvBAAAJwQAACgEAABZAAAAAAAAANABAQAlBAAAMAQAACcEAAAoBAAAWgAAAAAAAABgAgEAJQQAADEEAAAnBAAAKAQAAFgAAAAIAAAAEgAAADkAAABtaXIAaXpyZWsAbWlySXpyZWsAU3RyaW5nTGlzdABtaXJDYWxsAGdvdG92AG1pckdvdG92AEVSUk9SIFdJTkRPVwDQntCo0JjQkdCa0JBf0J3QldCiX9Ca0JvQmNCV0J3QotCQANCe0KjQmNCR0JrQkF/QndCV0KJf0KTQo9Cd0JrQptCY0JgAbW90b3ItMDM6INCc0YvRiNGMANCe0KjQmNCR0JrQkCDQndC1INGD0LTQsNC70L7RgdGMINC/0LXRgNC10LTQsNGC0Ywg0LfQvdCw0YfQtdC90LjQtSDQutC70Y7Rh9GDICclcycg0LjQty3Qt9CwINC90LXRgdC+0L7RgtCy0LXRgtGB0YLQstC40Y8g0YTQsNC60YLQuNGH0LXRgdC60L7Qs9C+INC60L7Qu9C40YfQtdGB0YLQstCwINC/0LDRgNCw0LzQtdGC0YDQvtCyKCVkKSDQvtC20LjQtNCw0LXQvNC+0LzRgyglZCkA0J7QqNCY0JHQmtCQX9Ca0J7Qm9CY0KfQldCh0KLQktCeX9Cf0JDQoNCQ0JzQldCi0KDQntCSAGNhbWVyYS5jbGVhckNvbG9yAG1vdXNlLnBvc2l0aW9uAG1vdXNlLnByZXNzZWRCdXR0b25zAHdpbmRvdy5zaXplANCe0KjQmNCR0JrQkCDQndC1INGD0LTQsNC70L7RgdGMINGB0L7Qt9C00LDRgtGMINC+0LrQvdC+IFNETDogJyVzJwDQntCo0JjQkdCa0JBf0J7QmtCd0J5fU0RMAE4zb3NnOENhbGxiYWNrRQBONW1vdG9yNU1vdXNlRQBHVUlFdmVudEhhbmRsZXIARXZlbnRIYW5kbGVyAE5vZGVDYWxsYmFjawBEcmF3YWJsZUV2ZW50Q2FsbGJhY2sAQ2FsbGJhY2sAbWFwS2V5c1RvQ2xpZW50KCVzKQBOU3QzX18yMTBfX2Z1bmN0aW9uNl9fZnVuY0laTjVtb3RvcjdFeGFtcGxlQzFFUktOU18zbWFwSU5TXzEyYmFzaWNfc3RyaW5nSWNOU18xMWNoYXJfdHJhaXRzSWNFRU5TXzlhbGxvY2F0b3JJY0VFRUVTQV9OU180bGVzc0lTQV9FRU5TOF9JTlNfNHBhaXJJS1NBX1NBX0VFRUVFRUVVbFJTRV9SS05TXzZ2ZWN0b3JJU0FfTlM4X0lTQV9FRUVFRV9OUzhfSVNRX0VFRlNOX1NLX1NQX0VFRQBOU3QzX18yMTBfX2Z1bmN0aW9uNl9fYmFzZUlGTlNfNnZlY3RvcklOU18xMmJhc2ljX3N0cmluZ0ljTlNfMTFjaGFyX3RyYWl0c0ljRUVOU185YWxsb2NhdG9ySWNFRUVFTlM2X0lTOF9FRUVFUktTOF9SS1NBX0VFRQAlZgBaTjVtb3RvcjdFeGFtcGxlQzFFUktOU3QzX18yM21hcElOUzFfMTJiYXNpY19zdHJpbmdJY05TMV8xMWNoYXJfdHJhaXRzSWNFRU5TMV85YWxsb2NhdG9ySWNFRUVFUzhfTlMxXzRsZXNzSVM4X0VFTlM2X0lOUzFfNHBhaXJJS1M4X1M4X0VFRUVFRUVVbFJTQ19SS05TMV82dmVjdG9ySVM4X05TNl9JUzhfRUVFRUVfAE5TdDNfXzIxMF9fZnVuY3Rpb242X19mdW5jSVpONW1vdG9yN0V4YW1wbGVDMUVSS05TXzNtYXBJTlNfMTJiYXNpY19zdHJpbmdJY05TXzExY2hhcl90cmFpdHNJY0VFTlNfOWFsbG9jYXRvckljRUVFRVNBX05TXzRsZXNzSVNBX0VFTlM4X0lOU180cGFpcklLU0FfU0FfRUVFRUVFRVVsUlNFX1JLTlNfNnZlY3RvcklTQV9OUzhfSVNBX0VFRUVFMF9OUzhfSVNRX0VFRlNOX1NLX1NQX0VFRQAlZABaTjVtb3RvcjdFeGFtcGxlQzFFUktOU3QzX18yM21hcElOUzFfMTJiYXNpY19zdHJpbmdJY05TMV8xMWNoYXJfdHJhaXRzSWNFRU5TMV85YWxsb2NhdG9ySWNFRUVFUzhfTlMxXzRsZXNzSVM4X0VFTlM2X0lOUzFfNHBhaXJJS1M4X1M4X0VFRUVFRUVVbFJTQ19SS05TMV82dmVjdG9ySVM4X05TNl9JUzhfRUVFRUUwXwBOU3QzX18yMTBfX2Z1bmN0aW9uNl9fZnVuY0laTjVtb3RvcjdFeGFtcGxlQzFFUktOU18zbWFwSU5TXzEyYmFzaWNfc3RyaW5nSWNOU18xMWNoYXJfdHJhaXRzSWNFRU5TXzlhbGxvY2F0b3JJY0VFRUVTQV9OU180bGVzc0lTQV9FRU5TOF9JTlNfNHBhaXJJS1NBX1NBX0VFRUVFRUVVbHZFX05TOF9JU0tfRUVGdnZFRUUATlN0M19fMjEwX19mdW5jdGlvbjZfX2Jhc2VJRnZ2RUVFAFpONW1vdG9yN0V4YW1wbGVDMUVSS05TdDNfXzIzbWFwSU5TMV8xMmJhc2ljX3N0cmluZ0ljTlMxXzExY2hhcl90cmFpdHNJY0VFTlMxXzlhbGxvY2F0b3JJY0VFRUVTOF9OUzFfNGxlc3NJUzhfRUVOUzZfSU5TMV80cGFpcklLUzhfUzhfRUVFRUVFRVVsdkVfAE5TdDNfXzIxMF9fZnVuY3Rpb242X19mdW5jSVpONW1vdG9yN0V4YW1wbGVDMUVSS05TXzNtYXBJTlNfMTJiYXNpY19zdHJpbmdJY05TXzExY2hhcl90cmFpdHNJY0VFTlNfOWFsbG9jYXRvckljRUVFRVNBX05TXzRsZXNzSVNBX0VFTlM4X0lOU180cGFpcklLU0FfU0FfRUVFRUVFRVVsUlNFX1JLTlNfNnZlY3RvcklTQV9OUzhfSVNBX0VFRUVFMV9OUzhfSVNRX0VFRlNOX1NLX1NQX0VFRQBCVVRUT05fTEVGVABCVVRUT05fUklHSFQAQlVUVE9OX01JRERMRQBCVVRUT05fTk9ORQBaTjVtb3RvcjdFeGFtcGxlQzFFUktOU3QzX18yM21hcElOUzFfMTJiYXNpY19zdHJpbmdJY05TMV8xMWNoYXJfdHJhaXRzSWNFRU5TMV85YWxsb2NhdG9ySWNFRUVFUzhfTlMxXzRsZXNzSVM4X0VFTlM2X0lOUzFfNHBhaXJJS1M4X1M4X0VFRUVFRUVVbFJTQ19SS05TMV82dmVjdG9ySVM4X05TNl9JUzhfRUVFRUUxXwBOU3QzX18yMTBfX2Z1bmN0aW9uNl9fZnVuY0laTjVtb3RvcjdFeGFtcGxlQzFFUktOU18zbWFwSU5TXzEyYmFzaWNfc3RyaW5nSWNOU18xMWNoYXJfdHJhaXRzSWNFRU5TXzlhbGxvY2F0b3JJY0VFRUVTQV9OU180bGVzc0lTQV9FRU5TOF9JTlNfNHBhaXJJS1NBX1NBX0VFRUVFRUVVbHZFMF9OUzhfSVNLX0VFRnZ2RUVFAFpONW1vdG9yN0V4YW1wbGVDMUVSS05TdDNfXzIzbWFwSU5TMV8xMmJhc2ljX3N0cmluZ0ljTlMxXzExY2hhcl90cmFpdHNJY0VFTlMxXzlhbGxvY2F0b3JJY0VFRUVTOF9OUzFfNGxlc3NJUzhfRUVOUzZfSU5TMV80cGFpcklLUzhfUzhfRUVFRUVFRVVsdkUwXwBOU3QzX18yMTBfX2Z1bmN0aW9uNl9fZnVuY0laTjVtb3RvcjdFeGFtcGxlQzFFUktOU18zbWFwSU5TXzEyYmFzaWNfc3RyaW5nSWNOU18xMWNoYXJfdHJhaXRzSWNFRU5TXzlhbGxvY2F0b3JJY0VFRUVTQV9OU180bGVzc0lTQV9FRU5TOF9JTlNfNHBhaXJJS1NBX1NBX0VFRUVFRUVVbFJTRV9SS05TXzZ2ZWN0b3JJU0FfTlM4X0lTQV9FRUVFRTJfTlM4X0lTUV9FRUZTTl9TS19TUF9FRUUAWk41bW90b3I3RXhhbXBsZUMxRVJLTlN0M19fMjNtYXBJTlMxXzEyYmFzaWNfc3RyaW5nSWNOUzFfMTFjaGFyX3RyYWl0c0ljRUVOUzFfOWFsbG9jYXRvckljRUVFRVM4X05TMV80bGVzc0lTOF9FRU5TNl9JTlMxXzRwYWlySUtTOF9TOF9FRUVFRUVFVWxSU0NfUktOUzFfNnZlY3RvcklTOF9OUzZfSVM4X0VFRUVFMl8ATlN0M19fMjEwX19mdW5jdGlvbjZfX2Z1bmNJWk41bW90b3I3RXhhbXBsZUMxRVJLTlNfM21hcElOU18xMmJhc2ljX3N0cmluZ0ljTlNfMTFjaGFyX3RyYWl0c0ljRUVOU185YWxsb2NhdG9ySWNFRUVFU0FfTlNfNGxlc3NJU0FfRUVOUzhfSU5TXzRwYWlySUtTQV9TQV9FRUVFRUVFVWx2RTFfTlM4X0lTS19FRUZ2dkVFRQBaTjVtb3RvcjdFeGFtcGxlQzFFUktOU3QzX18yM21hcElOUzFfMTJiYXNpY19zdHJpbmdJY05TMV8xMWNoYXJfdHJhaXRzSWNFRU5TMV85YWxsb2NhdG9ySWNFRUVFUzhfTlMxXzRsZXNzSVM4X0VFTlM2X0lOUzFfNHBhaXJJS1M4X1M4X0VFRUVFRUVVbHZFMV8AY2FudmFzAE4xMGVtc2NyaXB0ZW4zdmFsRQBOU3QzX18yMTJiYXNpY19zdHJpbmdJY05TXzExY2hhcl90cmFpdHNJY0VFTlNfOWFsbG9jYXRvckljRUVFRQBOU3QzX18yMjFfX2Jhc2ljX3N0cmluZ19jb21tb25JTGIxRUVFAHZpaQBwdXNoX2JhY2sAcmVzaXplAHNpemUAZ2V0AHNldABOU3QzX18yNnZlY3RvcklOU18xMmJhc2ljX3N0cmluZ0ljTlNfMTFjaGFyX3RyYWl0c0ljRUVOU185YWxsb2NhdG9ySWNFRUVFTlM0X0lTNl9FRUVFAE5TdDNfXzIxM19fdmVjdG9yX2Jhc2VJTlNfMTJiYXNpY19zdHJpbmdJY05TXzExY2hhcl90cmFpdHNJY0VFTlNfOWFsbG9jYXRvckljRUVFRU5TNF9JUzZfRUVFRQBOU3QzX18yMjBfX3ZlY3Rvcl9iYXNlX2NvbW1vbklMYjFFRUUAUE5TdDNfXzI2dmVjdG9ySU5TXzEyYmFzaWNfc3RyaW5nSWNOU18xMWNoYXJfdHJhaXRzSWNFRU5TXzlhbGxvY2F0b3JJY0VFRUVOUzRfSVM2X0VFRUUAUEtOU3QzX18yNnZlY3RvcklOU18xMmJhc2ljX3N0cmluZ0ljTlNfMTFjaGFyX3RyYWl0c0ljRUVOU185YWxsb2NhdG9ySWNFRUVFTlM0X0lTNl9FRUVFAGlpAHYAdmkAdmlpaQB2aWlpaQBpaWkAaWlpaQBpaWlpaQBOM29zZzEwTnVsbFN0cmVhbUUATjNvc2cxMk5vdGlmeVN0cmVhbUUAT1NHX05PVElGWV9MRVZFTABPU0dOT1RJRllMRVZFTABGQVRBTABOT1RJQ0UAREVCVUdfSU5GTwBERUJVR19GUABXYXJuaW5nOiBpbnZhbGlkIE9TR19OT1RJRllfTEVWRUwgc2V0ICgATjNvc2cyMVN0YW5kYXJkTm90aWZ5SGFuZGxlckUATjNvc2cxM05vdGlmeUhhbmRsZXJFAE4zb3NnMThOb3RpZnlTdHJlYW1CdWZmZXJFAE5TdDNfXzIxNWJhc2ljX3N0cmluZ2J1ZkljTlNfMTFjaGFyX3RyYWl0c0ljRUVOU185YWxsb2NhdG9ySWNFRUVFAE4zb3NnMTZOdWxsU3RyZWFtQnVmZmVyRQBOM29zZzZPYmplY3RFAFN0YXRlQXR0cmlidXRlAE4zb3NnMTRTdGF0ZUF0dHJpYnV0ZUUATjNvc2cyMEF0dHJpYnV0ZURpc3BhdGNoZXJzRQBXYXJuaW5nOiBCbGVuZEZ1bmM6OmFwcGx5KC4uKSBmYWlsZWQsIEJsZW5kRnVuY1NlcGFyYXRlIGlzIG5vdCBzdXBwb3J0IGJ5IE9wZW5HTCBkcml2ZXIsIGZhbGxpbmcgYmFjayB0byBCbGVuZEZ1bmMuAEJsZW5kRnVuYwBOM29zZzlCbGVuZEZ1bmNFAE4zb3NnMTRHTEJ1ZmZlck9iamVjdEUATjNvc2cxNEdyYXBoaWNzT2JqZWN0RQBOM29zZzE3R0xCdWZmZXJPYmplY3RTZXRFAEdMQnVmZmVyT2JqZWN0OjpkZWxldGVHTE9iamVjdCgpIABQbGVudHkgb2Ygc3BhY2UgaW4gR0xCdWZmZXJPYmplY3QgcG9vbABfcGFyZW50LT5nZXRDdXJyR0xCdWZmZXJPYmplY3RQb29sU2l6ZSgpPQAgX3BhcmVudC0+Z2V0TWF4R0xCdWZmZXJPYmplY3RQb29sU2l6ZSgpPQBHTEJ1ZmZlck9iamVjdE1hbmFuZ2VyOjpyZWNvbXB1dGVTdGF0cygpACAgIGdldE1heEdMQnVmZmVyT2JqZWN0UG9vbFNpemUoKT0ALCBvcy0+Y29tcHV0ZU51bUdMQnVmZmVyT2JqZWN0c0luTGlzdCgpACwgb3MtPmdldE51bU9mR0xCdWZmZXJPYmplY3RzKCkAR0xCdWZmZXJPYmplY3RNYW5hbmdlcjo6cmVwb3J0U3RhdHMoKQAgICB0b3RhbCBfbnVtT2ZHTEJ1ZmZlck9iamVjdHM9ACwgX251bU9ycGhhbmVkR0xCdWZmZXJPYmplY3RzPQAgX2N1cnJHTEJ1ZmZlck9iamVjdFBvb2xTaXplPQAgICB0b3RhbCBfbnVtQXBwbGllZD0ALCBfYXBwbHlUaW1lPQA6On4AKCkATjNvc2cyMUdyYXBoaWNzT2JqZWN0TWFuYWdlckUATjNvc2cyMUdMQnVmZmVyT2JqZWN0TWFuYWdlckUAQnVmZmVyT2JqZWN0OjpyZWxlYXNlR0xPYmplY3RzKABCdWZmZXJPYmplY3QATjNvc2cxMkJ1ZmZlck9iamVjdEUAQnVmZmVyRGF0YTo6cmVsZWFzZUdMT2JqZWN0cygAQnVmZmVyRGF0YQBFcnJvciAAOjpyZW1vdmVCdWZmZXJEYXRhKAApIG91dCBvZiByYW5nZS4ATjNvc2cxMEJ1ZmZlckRhdGFFAFZlcnRleEJ1ZmZlck9iamVjdAAxLjAAT1NHX0RJU1BMQVlfVFlQRQBNT05JVE9SAFBPV0VSV0FMTABSRUFMSVRZX0NFTlRFUgBIRUFEX01PVU5URURfRElTUExBWQBPU0dfU1RFUkVPX01PREUAUVVBRF9CVUZGRVIAQU5BR0xZUEhJQwBIT1JJWk9OVEFMX1NQTElUAFZFUlRJQ0FMX1NQTElUAExFRlRfRVlFAFJJR0hUX0VZRQBIT1JJWk9OVEFMX0lOVEVSTEFDRQBWRVJUSUNBTF9JTlRFUkxBQ0UAQ0hFQ0tFUkJPQVJEAE9TR19TVEVSRU8AT1NHX0VZRV9TRVBBUkFUSU9OAE9TR19TQ1JFRU5fV0lEVEgAT1NHX1NDUkVFTl9IRUlHSFQAT1NHX1NDUkVFTl9ESVNUQU5DRQBPU0dfU1BMSVRfU1RFUkVPX0hPUklaT05UQUxfRVlFX01BUFBJTkcATEVGVF9FWUVfTEVGVF9WSUVXUE9SVABMRUZUX0VZRV9SSUdIVF9WSUVXUE9SVABPU0dfU1BMSVRfU1RFUkVPX0hPUklaT05UQUxfU0VQQVJBVElPTgBPU0dfU1BMSVRfU1RFUkVPX1ZFUlRJQ0FMX0VZRV9NQVBQSU5HAExFRlRfRVlFX1RPUF9WSUVXUE9SVABMRUZUX0VZRV9CT1RUT01fVklFV1BPUlQAT1NHX1NQTElUX1NURVJFT19BVVRPX0FESlVTVF9BU1BFQ1RfUkFUSU8AT1NHX1NQTElUX1NURVJFT19WRVJUSUNBTF9TRVBBUkFUSU9OAE9TR19NQVhfTlVNQkVSX09GX0dSQVBISUNTX0NPTlRFWFRTAE9TR19DT01QSUxFX0NPTlRFWFRTAE9TR19TRVJJQUxJWkVfRFJBV19ESVNQQVRDSABPU0dfVVNFX1NDRU5FVklFV19GT1JfU1RFUkVPAE9TR19OVU1fREFUQUJBU0VfVEhSRUFEUwBPU0dfTlVNX0hUVFBfREFUQUJBU0VfVEhSRUFEUwBPU0dfTVVMVElfU0FNUExFUwBPU0dfVEVYVFVSRV9QT09MX1NJWkUAT1NHX0JVRkZFUl9PQkpFQ1RfUE9PTF9TSVpFAE9TR19HTF9WRVJTSU9OAH5ERUZBVUxUAH5DT0xPUgBDT0xPUgB+REVQVEgAflNURU5DSUwAU1RFTkNJTABPU0dfR0xfQ09OVEVYVF9WRVJTSU9OAE9TR19HTF9DT05URVhUX0ZMQUdTAE9TR19HTF9DT05URVhUX1BST0ZJTEVfTUFTSwBPU0dfU1dBUF9NRVRIT0QARVhDSEFOR0UAQ09QWQBPU0dfU1lOQ19TV0FQX0JVRkZFUlMAT1NHX1ZFUlRFWF9CVUZGRVJfSElOVABWRVJURVhfQlVGRkVSX09CSkVDVABPU0dfVkVSVEVYX0JVRkZFUl9ISU5UIHNldCB0byBWRVJURVhfQlVGRkVSX09CSkVDVABWRVJURVhfQVJSQVlfT0JKRUNUAFZBTwBPU0dfVkVSVEVYX0JVRkZFUl9ISU5UIHNldCB0byBWRVJURVhfQVJSQVlfT0JKRUNUAE9TR19WRVJURVhfQlVGRkVSX0hJTlQgc2V0IHRvIE5PX1BSRUZFUkVOQ0UAT1NHX1NIQURFUl9ISU5UAEdMMgBHTDMAR0xFUzIAR0xFUzMATk9ORQBPU0dfVEVYVF9TSEFERVJfVEVDSE5JUVVFAE9TR19LRVlTVE9ORQBPU0dfS0VZU1RPTkVfRklMRVMAT1NHX01FTlVCQVJfQkVIQVZJT1IAQVVUT19ISURFAEZPUkNFX0hJREUARk9SQ0VfU0hPVwBPU0dfTnZPcHRpbXVzRW5hYmxlbWVudABPU0dfU0hBREVSX1BJUEVMSU5FAE9TR19TSEFERVJfUElQRUxJTkVfRklMRVMAT1NHX1NIQURFUl9QSVBFTElORV9OVU1fVEVYVFVSRV9VTklUUwBfc2hhZGVyUGlwZWxpbmVOdW1UZXh0dXJlVW5pdHMgPSAAT1NHX0lNUExJQ0lUX0JVRkZFUl9BVFRBQ0hNRU5UX1JFTkRFUl9NQVNLAE9TR19JTVBMSUNJVF9CVUZGRVJfQVRUQUNITUVOVF9SRVNPTFZFX01BU0sATlN0M19fMjE5YmFzaWNfaXN0cmluZ3N0cmVhbUljTlNfMTFjaGFyX3RyYWl0c0ljRUVOU185YWxsb2NhdG9ySWNFRUVFAE9TR19HTFNMX1ZFUlNJT04AI3ZlcnNpb24gMzAwIGVzAE9TR19QUkVDSVNJT05fRkxPQVQAcHJlY2lzaW9uIGhpZ2hwIGZsb2F0OwBPU0dfVkFSWUlOR19JTgBPU0dfVkFSWUlOR19PVVQAb3V0AERpc3BsYXlTZXR0aW5nczo6U0hBREVSX0dMRVMzAHZhcnlpbmcARGlzcGxheVNldHRpbmdzOjpTSEFERVJfR0xFUzIAI3ZlcnNpb24gMzMwAERpc3BsYXlTZXR0aW5nczo6U0hBREVSX0dMMwBEaXNwbGF5U2V0dGluZ3M6OlNIQURFUl9HTDIARGlzcGxheVNldHRpbmdzOjpOT05FAE4zb3NnMTVEaXNwbGF5U2V0dGluZ3NFAE4zb3NnMThWZXJ0ZXhCdWZmZXJPYmplY3RFAE4zb3NnNUFycmF5RQBFbGVtZW50QnVmZmVyT2JqZWN0AE4zb3NnMTlFbGVtZW50QnVmZmVyT2JqZWN0RQBQaXhlbEJ1ZmZlck9iamVjdABDb25zdHJ1Y3RpbmcgUGl4ZWxCdWZmZXJPYmplY3QgZm9yIGltYWdlPQBOM29zZzE3UGl4ZWxCdWZmZXJPYmplY3RFAEVycm9yOiBPcGVuR0wgdmVyc2lvbiB0ZXN0IGZhaWxlZCwgcmVxdWlyZXMgdmFsaWQgZ3JhcGhpY3MgY29udGV4dC4AR0xfRVhUX2dlb21ldHJ5X3NoYWRlcjQAR0xfT0VTX2dlb21ldHJ5X3NoYWRlcgBHTF9BUkJfZ2VvbWV0cnlfc2hhZGVyNABHTF9FWFRfZ3B1X3NoYWRlcjQAR0xfQVJCX3Rlc3NlbGxhdGlvbl9zaGFkZXIAR0xfT0VTX3Rlc3NlbGxhdGlvbl9zaGFkZXIAR0xfQVJCX3VuaWZvcm1fYnVmZmVyX29iamVjdABHTF9BUkJfZ2V0X3Byb2dyYW1fYmluYXJ5AEdMX0FSQl9ncHVfc2hhZGVyX2ZwNjQAR0xfQVJCX3NoYWRlcl9hdG9taWNfY291bnRlcnMAR0xfQVJCX3RleHR1cmVfcmVjdGFuZ2xlAEdMX0VYVF90ZXh0dXJlX3JlY3RhbmdsZQBHTF9OVl90ZXh0dXJlX3JlY3RhbmdsZQBHTF9BUkJfY2xpcF9jb250cm9sAGdsVmVyc2lvbj0AaXNHbHNsU3VwcG9ydGVkPQBOTwBnbHNsTGFuZ3VhZ2VWZXJzaW9uPQBnbERyYXdCdWZmZXJzQVJCAGdsQXR0YWNoT2JqZWN0QVJCAGdsQmluZEF0dHJpYkxvY2F0aW9uQVJCAGdsQ29tcGlsZVNoYWRlckFSQgBnbENyZWF0ZVByb2dyYW1PYmplY3RBUkIAZ2xDcmVhdGVTaGFkZXJPYmplY3RBUkIAZ2xEZXRhY2hPYmplY3RBUkIAZ2xHZXRBY3RpdmVBdHRyaWJBUkIAZ2xHZXRBY3RpdmVVbmlmb3JtQVJCAGdsR2V0QXR0YWNoZWRPYmplY3RzQVJCAGdsR2V0QXR0cmliTG9jYXRpb25BUkIAZ2xHZXRTaGFkZXJTb3VyY2VBUkIAZ2xHZXRVbmlmb3JtTG9jYXRpb25BUkIAZ2xHZXRVbmlmb3JtZnZBUkIAZ2xHZXRVbmlmb3JtaXZBUkIAZ2xHZXRWZXJ0ZXhBdHRyaWJkdgBnbExpbmtQcm9ncmFtQVJCAGdsU2hhZGVyU291cmNlQVJCAGdsVXNlUHJvZ3JhbU9iamVjdEFSQgBnbFVuaWZvcm0xZkFSQgBnbFVuaWZvcm0yZkFSQgBnbFVuaWZvcm0zZkFSQgBnbFVuaWZvcm00ZkFSQgBnbFVuaWZvcm0xaUFSQgBnbFVuaWZvcm0yaUFSQgBnbFVuaWZvcm0zaUFSQgBnbFVuaWZvcm00aUFSQgBnbFVuaWZvcm0xZnZBUkIAZ2xVbmlmb3JtMmZ2QVJCAGdsVW5pZm9ybTNmdkFSQgBnbFVuaWZvcm00ZnZBUkIAZ2xVbmlmb3JtMWl2QVJCAGdsVW5pZm9ybTJpdkFSQgBnbFVuaWZvcm0zaXZBUkIAZ2xVbmlmb3JtNGl2QVJCAGdsVW5pZm9ybU1hdHJpeDJmdkFSQgBnbFVuaWZvcm1NYXRyaXgzZnZBUkIAZ2xVbmlmb3JtTWF0cml4NGZ2QVJCAGdsVmFsaWRhdGVQcm9ncmFtQVJCAGdsVmVydGV4QXR0cmliMWQAZ2xWZXJ0ZXhBdHRyaWIxZEFSQgBnbFZlcnRleEF0dHJpYjFkdgBnbFZlcnRleEF0dHJpYjFmQVJCAGdsVmVydGV4QXR0cmliMWZ2QVJCAGdsVmVydGV4QXR0cmliMXMAZ2xWZXJ0ZXhBdHRyaWIxc0FSQgBnbFZlcnRleEF0dHJpYjFzdgBnbFZlcnRleEF0dHJpYjJkAGdsVmVydGV4QXR0cmliMmR2AGdsVmVydGV4QXR0cmliMmR2QVJCAGdsVmVydGV4QXR0cmliMmZ2QVJCAGdsVmVydGV4QXR0cmliMnMAZ2xWZXJ0ZXhBdHRyaWIyc3YAZ2xWZXJ0ZXhBdHRyaWIzZABnbFZlcnRleEF0dHJpYjNkdgBnbFZlcnRleEF0dHJpYjNkdkFSQgBnbFZlcnRleEF0dHJpYjNmdkFSQgBnbFZlcnRleEF0dHJpYjNzAGdsVmVydGV4QXR0cmliM3N2AGdsVmVydGV4QXR0cmliNE5idgBnbFZlcnRleEF0dHJpYjROaXYAZ2xWZXJ0ZXhBdHRyaWI0TnN2AGdsVmVydGV4QXR0cmliNE51YgBnbFZlcnRleEF0dHJpYjROdWJ2AGdsVmVydGV4QXR0cmliNE51YnZBUkIAZ2xWZXJ0ZXhBdHRyaWI0TnVpdgBnbFZlcnRleEF0dHJpYjROdXN2AGdsVmVydGV4QXR0cmliNGJ2AGdsVmVydGV4QXR0cmliNGQAZ2xWZXJ0ZXhBdHRyaWI0ZHYAZ2xWZXJ0ZXhBdHRyaWI0ZHZBUkIAZ2xWZXJ0ZXhBdHRyaWI0ZnZBUkIAZ2xWZXJ0ZXhBdHRyaWI0aXYAZ2xWZXJ0ZXhBdHRyaWI0cwBnbFZlcnRleEF0dHJpYjRzdgBnbFZlcnRleEF0dHJpYjR1YnYAZ2xWZXJ0ZXhBdHRyaWI0dWJ2QVJCAGdsVmVydGV4QXR0cmliNHVpdgBnbFZlcnRleEF0dHJpYjR1c3YAZ2xWZXJ0ZXhBdHRyaWJJUG9pbnRlckFSQgBnbFZlcnRleEF0dHJpYkxQb2ludGVyQVJCAGdsR2V0SW5mb0xvZ0FSQgBnbEdldE9iamVjdFBhcmFtZXRlcml2QVJCAGdsRGVsZXRlT2JqZWN0QVJCAGdsR2V0SGFuZGxlQVJCAGdsVW5pZm9ybU1hdHJpeDJ4M2Z2AGdsVW5pZm9ybU1hdHJpeDN4MmZ2AGdsVW5pZm9ybU1hdHJpeDJ4NGZ2AGdsVW5pZm9ybU1hdHJpeDR4MmZ2AGdsVW5pZm9ybU1hdHJpeDN4NGZ2AGdsVW5pZm9ybU1hdHJpeDR4M2Z2AGdsQ2xpcENvbnRyb2wAZ2xQcm9ncmFtUGFyYW1ldGVyaQBnbFByb2dyYW1QYXJhbWV0ZXJpRVhUAGdsUGF0Y2hQYXJhbWV0ZXJpAGdsUGF0Y2hQYXJhbWV0ZXJmdgBnbEdldFVuaWZvcm11aXZFWFQAZ2xCaW5kRnJhZ0RhdGFMb2NhdGlvbkVYVABnbEJpbmRGcmFnRGF0YUxvY2F0aW9uSW5kZXhlZABnbEJpbmRGcmFnRGF0YUxvY2F0aW9uSW5kZXhlZEVYVABnbEdldEZyYWdEYXRhSW5kZXgAZ2xHZXRGcmFnRGF0YUluZGV4RVhUAGdsR2V0RnJhZ0RhdGFMb2NhdGlvbkVYVABnbFVuaWZvcm0xdWlFWFQAZ2xVbmlmb3JtMnVpRVhUAGdsVW5pZm9ybTN1aUVYVABnbFVuaWZvcm00dWlFWFQAZ2xVbmlmb3JtMXVpdgBnbFVuaWZvcm0xdWl2RVhUAGdsVW5pZm9ybTJ1aXYAZ2xVbmlmb3JtMnVpdkVYVABnbFVuaWZvcm0zdWl2AGdsVW5pZm9ybTN1aXZFWFQAZ2xVbmlmb3JtNHVpdgBnbFVuaWZvcm00dWl2RVhUAGdsVW5pZm9ybTFpNjQAZ2xVbmlmb3JtMWk2NEFSQgBnbFVuaWZvcm0xdWk2NABnbFVuaWZvcm0xdWk2NEFSQgBnbFVuaWZvcm0yaTY0AGdsVW5pZm9ybTJpNjRBUkIAZ2xVbmlmb3JtMnVpNjQAZ2xVbmlmb3JtMnVpNjRBUkIAZ2xVbmlmb3JtM2k2NABnbFVuaWZvcm0zaTY0QVJCAGdsVW5pZm9ybTN1aTY0AGdsVW5pZm9ybTN1aTY0QVJCAGdsVW5pZm9ybTRpNjQAZ2xVbmlmb3JtNGk2NEFSQgBnbFVuaWZvcm00dWk2NABnbFVuaWZvcm00dWk2NEFSQgBnbFVuaWZvcm0xaTY0dgBnbFVuaWZvcm0xaTY0dkFSQgBnbFVuaWZvcm0xdWk2NHYAZ2xVbmlmb3JtMXVpNjR2QVJCAGdsVW5pZm9ybTJpNjR2AGdsVW5pZm9ybTJpNjR2QVJCAGdsVW5pZm9ybTJ1aTY0dgBnbFVuaWZvcm0ydWk2NHZBUkIAZ2xVbmlmb3JtM2k2NHYAZ2xVbmlmb3JtM2k2NHZBUkIAZ2xVbmlmb3JtM3VpNjR2AGdsVW5pZm9ybTN1aTY0dkFSQgBnbFVuaWZvcm00aTY0dgBnbFVuaWZvcm00aTY0dkFSQgBnbFVuaWZvcm00dWk2NHYAZ2xVbmlmb3JtNHVpNjR2QVJCAGdsR2V0UHJvZ3JhbUJpbmFyeQBnbFByb2dyYW1CaW5hcnkAZ2xVbmlmb3JtMWQAZ2xVbmlmb3JtMmQAZ2xVbmlmb3JtM2QAZ2xVbmlmb3JtNGQAZ2xVbmlmb3JtMWR2AGdsVW5pZm9ybTJkdgBnbFVuaWZvcm0zZHYAZ2xVbmlmb3JtNGR2AGdsVW5pZm9ybU1hdHJpeDJkdgBnbFVuaWZvcm1NYXRyaXgzZHYAZ2xVbmlmb3JtTWF0cml4NGR2AGdsVW5pZm9ybU1hdHJpeDJ4M2R2AGdsVW5pZm9ybU1hdHJpeDN4MmR2AGdsVW5pZm9ybU1hdHJpeDJ4NGR2AGdsVW5pZm9ybU1hdHJpeDR4MmR2AGdsVW5pZm9ybU1hdHJpeDN4NGR2AGdsVW5pZm9ybU1hdHJpeDR4M2R2AGdsR2V0QWN0aXZlQXRvbWljQ291bnRlckJ1ZmZlcml2AGdsRGlzcGF0Y2hDb21wdXRlAGdsTWVtb3J5QmFycmllcgBnbE1lbW9yeUJhcnJpZXJFWFQAZ2xHZW5CdWZmZXJzQVJCAGdsQnVmZmVyRGF0YUFSQgBnbEJ1ZmZlclN1YkRhdGFBUkIAZ2xEZWxldGVCdWZmZXJzQVJCAGdsSXNCdWZmZXJBUkIAZ2xHZXRCdWZmZXJTdWJEYXRhAGdsR2V0QnVmZmVyU3ViRGF0YUFSQgBnbEJ1ZmZlclN0b3JhZ2UAZ2xCdWZmZXJTdG9yYWdlQVJCAGdsTmFtZWRCdWZmZXJTdG9yYWdlAGdsTmFtZWRCdWZmZXJTdG9yYWdlQVJCAGdsTWFwQnVmZmVyAGdsTWFwQnVmZmVyQVJCAGdsTWFwQnVmZmVyUmFuZ2UAZ2xNYXBCdWZmZXJSYW5nZUFSQgBnbFVubWFwQnVmZmVyAGdsVW5tYXBCdWZmZXJBUkIAZ2xHZXRCdWZmZXJQYXJhbWV0ZXJpdkFSQgBnbEdldEJ1ZmZlclBvaW50ZXJ2AGdsR2V0QnVmZmVyUG9pbnRlcnZBUkIAZ2xCaW5kQnVmZmVyQmFzZUVYVABnbEJpbmRCdWZmZXJCYXNlTlYAZ2xUZXhCdWZmZXIAZ2xUZXhCdWZmZXJBUkIAR0xfQVJCX3BpeGVsX2J1ZmZlcl9vYmplY3QAR0xfQVJCX3RleHR1cmVfYnVmZmVyX29iamVjdABHTF9BUkJfdmVydGV4X2FycmF5X29iamVjdABHTF9PRVNfdmVydGV4X2FycmF5X29iamVjdABHTF9BUkJfdHJhbnNmb3JtX2ZlZWRiYWNrMgBnbEJsZW5kRnVuY1NlcGFyYXRlRVhUAGdsQmxlbmRGdW5jaQBnbEJsZW5kRnVuY2lBUkIAZ2xCbGVuZEZ1bmNTZXBhcmF0ZWkAZ2xCbGVuZEZ1bmNTZXBhcmF0ZWlBUkIAR0xfQVJCX211bHRpdGV4dHVyZQBHTF9OVl9vY2NsdXNpb25fcXVlcnkAR0xfQVJCX29jY2x1c2lvbl9xdWVyeQBHTF9FWFRfdGltZXJfcXVlcnkAR0xfQVJCX3RpbWVyX3F1ZXJ5AGdsRm9nQ29vcmRmdgBnbEZvZ0Nvb3JkZnZFWFQAZ2xTZWNvbmRhcnlDb2xvcjN1YnYAZ2xTZWNvbmRhcnlDb2xvcjN1YnZFWFQAZ2xTZWNvbmRhcnlDb2xvcjNmdgBnbFNlY29uZGFyeUNvbG9yM2Z2RVhUAGdsTXVsdGlUZXhDb29yZDFmAGdsTXVsdGlUZXhDb29yZDFmQVJCAGdsTXVsdGlUZXhDb29yZDFmdgBnbE11bHRpVGV4Q29vcmQxZnZBUkIAZ2xNdWx0aVRleENvb3JkMmZ2AGdsTXVsdGlUZXhDb29yZDJmdkFSQgBnbE11bHRpVGV4Q29vcmQzZnYAZ2xNdWx0aVRleENvb3JkM2Z2QVJCAGdsTXVsdGlUZXhDb29yZDRmdgBnbE11bHRpVGV4Q29vcmQ0ZnZBUkIAZ2xNdWx0aVRleENvb3JkMWQAZ2xNdWx0aVRleENvb3JkMWRBUkIAZ2xNdWx0aVRleENvb3JkMWR2AGdsTXVsdGlUZXhDb29yZDFkdkFSQgBnbE11bHRpVGV4Q29vcmQyZHYAZ2xNdWx0aVRleENvb3JkMmR2QVJCAGdsTXVsdGlUZXhDb29yZDNkdgBnbE11bHRpVGV4Q29vcmQzZHZBUkIAZ2xNdWx0aVRleENvb3JkNGR2AGdsTXVsdGlUZXhDb29yZDRkdkFSQgBnbEdlbk9jY2x1c2lvblF1ZXJpZXMAZ2xHZW5PY2NsdXNpb25RdWVyaWVzTlYAZ2xEZWxldGVPY2NsdXNpb25RdWVyaWVzAGdsRGVsZXRlT2NjbHVzaW9uUXVlcmllc05WAGdsSXNPY2NsdXNpb25RdWVyeQBnbElzT2NjbHVzaW9uUXVlcnlOVgBnbEJlZ2luT2NjbHVzaW9uUXVlcnkAZ2xCZWdpbk9jY2x1c2lvblF1ZXJ5TlYAZ2xFbmRPY2NsdXNpb25RdWVyeQBnbEVuZE9jY2x1c2lvblF1ZXJ5TlYAZ2xHZXRPY2NsdXNpb25RdWVyeWl2AGdsR2V0T2NjbHVzaW9uUXVlcnlpdk5WAGdsR2V0T2NjbHVzaW9uUXVlcnl1aXYAZ2xHZXRPY2NsdXNpb25RdWVyeXVpdk5WAGdsR2VuUXVlcmllcwBnbEdlblF1ZXJpZXNBUkIAZ2xEZWxldGVRdWVyaWVzAGdsRGVsZXRlUXVlcmllc0FSQgBnbElzUXVlcnkAZ2xJc1F1ZXJ5QVJCAGdsQmVnaW5RdWVyeQBnbEJlZ2luUXVlcnlBUkIAZ2xFbmRRdWVyeQBnbEVuZFF1ZXJ5QVJCAGdsQmVnaW5RdWVyeUluZGV4ZWQAZ2xCZWdpblF1ZXJ5SW5kZXhlZEFSQgBnbEVuZFF1ZXJ5SW5kZXhlZABnbEVuZFF1ZXJ5SW5kZXhlZEFSQgBnbEdldFF1ZXJ5aXYAZ2xHZXRRdWVyeWl2QVJCAGdsR2V0UXVlcnlPYmplY3RpdgBnbEdldFF1ZXJ5T2JqZWN0aXZBUkIAZ2xHZXRRdWVyeU9iamVjdHVpdgBnbEdldFF1ZXJ5T2JqZWN0dWl2QVJCAGdsR2V0UXVlcnlPYmplY3R1aTY0dgBnbEdldFF1ZXJ5T2JqZWN0dWk2NHZFWFQAZ2xRdWVyeUNvdW50ZXIAZ2xHZXRJbnRlZ2VyNjR2AEdMX0FSQl90ZXh0dXJlX211bHRpc2FtcGxlAGdsU2FtcGxlTWFza2kAQVJCX3RleHR1cmVfbXVsdGlzYW1wbGUAR0xfQVJCX3ZlcnRleF9wcm9ncmFtAEdMX0FSQl9mcmFnbWVudF9wcm9ncmFtAGdsQmluZFByb2dyYW1BUkIAZ2xHZW5Qcm9ncmFtc0FSQgBnbERlbGV0ZVByb2dyYW1zQVJCAGdsUHJvZ3JhbVN0cmluZ0FSQgBnbFByb2dyYW1Mb2NhbFBhcmFtZXRlcjRmdkFSQgBnbFNhbXBsZXJQYXJhbWV0ZXJpAGdsU2FtcGxlclBhcmFtZXRlcmlBUkIAZ2xTYW1wbGVyUGFyYW1ldGVyZgBnbFNhbXBsZXJQYXJhbWV0ZXJmQVJCAGdsU2FtcGxlclBhcmFtZXRlcml2AGdsU2FtcGxlclBhcmFtZXRlcml2QVJCAGdsU2FtcGxlclBhcmFtZXRlcmZ2AGdsU2FtcGxlclBhcmFtZXRlcmZ2QVJCAGdsU2FtcGxlclBhcmFtZXRlcklpdgBnbFNhbXBsZXJQYXJhbWV0ZXJJaXZBUkIAZ2xTYW1wbGVyUGFyYW1ldGVySXVpdgBnbFNhbXBsZXJQYXJhbWV0ZXJJdWl2QVJCAGdsR2V0U2FtcGxlclBhcmFtZXRlcml2AGdsR2V0U2FtcGxlclBhcmFtZXRlcml2QVJCAGdsR2V0U2FtcGxlclBhcmFtZXRlcmZ2AGdsR2V0U2FtcGxlclBhcmFtZXRlcmZ2QVJCAGdsR2V0U2FtcGxlclBhcmFtZXRlcklpdgBnbEdldFNhbXBsZXJQYXJhbWV0ZXJJaXZBUkIAZ2xHZXRTYW1wbGVyUGFyYW1ldGVySXVpdgBnbEdldFNhbXBsZXJQYXJhbWV0ZXJJdWl2QVJCAGdsR2VuU2FtcGxlcnMAZ2xHZW5TYW1wbGVyc0FSQgBnbERlbGV0ZVNhbXBsZXJzAGdsRGVsZXRlU2FtcGxlcnNBUkIAZ2xCaW5kU2FtcGxlcgBnbEJpbmRTYW1wbGVyQVJCAGdsSXNTYW1wbGVyAGdsSXNTYW1wbGVyQVJCAEZpcmVHTABGSVJFR0wAR0xfRVhUX3RleHR1cmVfZmlsdGVyX2FuaXNvdHJvcGljAEdMX0FSQl90ZXh0dXJlX3N3aXp6bGUAR0xfRVhUX3RleHR1cmVfY29tcHJlc3Npb25fczN0YwBHTF9TM19zM3RjAEdMX0lNR190ZXh0dXJlX2NvbXByZXNzaW9uX3B2cnRjAEdMX09FU19jb21wcmVzc2VkX0VUQzFfUkdCOF90ZXh0dXJlAEdMX0FSQl9FUzNfY29tcGF0aWJpbGl0eQBHTF9FWFRfdGV4dHVyZV9jb21wcmVzc2lvbl9yZ3RjAEdMX0VYVF90ZXh0dXJlX2JvcmRlcl9jbGFtcABHTF9BUkJfc2hhZG93AEdMX0FSQl9zaGFkb3dfYW1iaWVudABHTF9BUFBMRV9jbGllbnRfc3RvcmFnZQBHTF9FWFRfdGV4dHVyZV9pbnRlZ2VyAEdlRm9yY2UgRlgARGlzYWJsaW5nIF9pc05vblBvd2VyT2ZUd29UZXh0dXJlTWlwTWFwcGVkU3VwcG9ydGVkIGZvciBHZUZvcmNlIEZYIGhhcmR3YXJlLgBHTF9BUkJfdGV4dHVyZV9zdG9yYWdlAERJU0FCTEUAZ2xUZXhTdG9yYWdlMUQAZ2xUZXhTdG9yYWdlMURBUkIAZ2xUZXh0dXJlU3RvcmFnZTFEAGdsVGV4dHVyZVN0b3JhZ2UxREFSQgBnbFRleFN0b3JhZ2UyREFSQgBnbFRleHR1cmVTdG9yYWdlMkQAZ2xUZXh0dXJlU3RvcmFnZTJEQVJCAGdsVGV4U3RvcmFnZTNERVhUAGdsVGV4dHVyZVN0b3JhZ2UzRABnbFRleHR1cmVTdG9yYWdlM0RFWFQAZ2xUZXh0dXJlU3RvcmFnZTJETXVsdGlzYW1wbGUAZ2xUZXh0dXJlU3RvcmFnZTJETXVsdGlzYW1wbGVFWFQAZ2xUZXh0dXJlU3RvcmFnZTNETXVsdGlzYW1wbGUAZ2xUZXh0dXJlU3RvcmFnZTNETXVsdGlzYW1wbGVFWFQAZ2xUZXh0dXJlVmlldwBnbFRleHR1cmVWaWV3RVhUAGdsQ29tcHJlc3NlZFRleEltYWdlMkRBUkIAZ2xDb21wcmVzc2VkVGV4U3ViSW1hZ2UyREFSQgBnbEdldENvbXByZXNzZWRUZXhJbWFnZQBnbEdldENvbXByZXNzZWRUZXhJbWFnZUFSQgBnbFRleEltYWdlMkRNdWx0aXNhbXBsZQBnbFRleEltYWdlMkRNdWx0aXNhbXBsZUFSQgBnbFRleFBhcmFtZXRlcklpdkFSQgBnbFRleFBhcmFtZXRlcklpdkVYVABnbFRleFBhcmFtZXRlckl1aXZBUkIAZ2xUZXhQYXJhbWV0ZXJJdWl2RVhUAGdsQmluZEltYWdlVGV4dHVyZQBnbEJpbmRJbWFnZVRleHR1cmVBUkIAR0xfRVhUX3RleHR1cmUzRABnbFRleEltYWdlM0RFWFQAZ2xUZXhTdWJJbWFnZTNERVhUAGdsQ29tcHJlc3NlZFRleEltYWdlM0QAZ2xDb21wcmVzc2VkVGV4SW1hZ2UzREFSQgBnbENvbXByZXNzZWRUZXhTdWJJbWFnZTNEAGdsQ29tcHJlc3NlZFRleFN1YkltYWdlM0RBUkIAZ2xUZXhJbWFnZTNETXVsdGlzYW1wbGUAZ2xHZXRNdWx0aXNhbXBsZWZ2AGdsQ29weVRleFN1YkltYWdlM0QAZ2xDb3B5VGV4U3ViSW1hZ2UzREVYVABnbEJlZ2luQ29uZGl0aW9uYWxSZW5kZXJBUkIAZ2xFbmRDb25kaXRpb25hbFJlbmRlckFSQgBHTF9FWFRfdGV4dHVyZV9hcnJheQBnbEdldFRleHR1cmVIYW5kbGUAZ2xHZXRUZXh0dXJlSGFuZGxlQVJCAGdsR2V0VGV4dHVyZUhhbmRsZU5WAGdsTWFrZVRleHR1cmVIYW5kbGVSZXNpZGVudABnbE1ha2VUZXh0dXJlSGFuZGxlUmVzaWRlbnRBUkIAZ2xNYWtlVGV4dHVyZUhhbmRsZVJlc2lkZW50TlYAZ2xNYWtlVGV4dHVyZUhhbmRsZU5vblJlc2lkZW50AGdsTWFrZVRleHR1cmVIYW5kbGVOb25SZXNpZGVudEFSQgBnbE1ha2VUZXh0dXJlSGFuZGxlTm9uUmVzaWRlbnROVgBnbFVuaWZvcm1IYW5kbGV1aTY0AGdsVW5pZm9ybUhhbmRsZXVpNjRBUkIAZ2xVbmlmb3JtSGFuZGxldWk2NE5WAGdsSXNUZXh0dXJlSGFuZGxlUmVzaWRlbnQAZ2xJc1RleHR1cmVIYW5kbGVSZXNpZGVudEFSQgBnbElzVGV4dHVyZUhhbmRsZVJlc2lkZW50TlYAZ2xCbGVuZENvbG9yRVhUAEdMX1NHSVhfYmxlbmRfYWxwaGFfbWlubWF4AEdMX0VYVF9ibGVuZF9sb2dpY19vcABnbEJsZW5kRXF1YXRpb25FWFQAZ2xCbGVuZEVxdWF0aW9uU2VwYXJhdGVFWFQAZ2xCbGVuZEVxdWF0aW9uaQBnbEJsZW5kRXF1YXRpb25pQVJCAGdsQmxlbmRFcXVhdGlvblNlcGFyYXRlaQBnbEJsZW5kRXF1YXRpb25TZXBhcmF0ZWlBUkIAR0xfRVhUX3N0ZW5jaWxfd3JhcABHTF9FWFRfc3RlbmNpbF90d29fc2lkZQBHTF9BVElfc2VwYXJhdGVfc3RlbmNpbABnbEFjdGl2ZVN0ZW5jaWxGYWNlRVhUAGdsU3RlbmNpbE9wU2VwYXJhdGVBVEkAZ2xTdGVuY2lsRnVuY1NlcGFyYXRlQVRJAGdsQ29sb3JNYXNraUFSQgBHTF9BUkJfY29sb3JfYnVmZmVyX2Zsb2F0AGdsQ2xhbXBDb2xvckFSQgBnbFByaW1pdGl2ZVJlc3RhcnRJbmRleABnbFByaW1pdGl2ZVJlc3RhcnRJbmRleE5WAEdMX0FSQl9wb2ludF9wYXJhbWV0ZXJzAEdMX0VYVF9wb2ludF9wYXJhbWV0ZXJzAEdMX1NHSVNfcG9pbnRfcGFyYW1ldGVycwBnbFBvaW50UGFyYW1ldGVyaQBnbFBvaW50UGFyYW1ldGVyaUFSQgBnbFBvaW50UGFyYW1ldGVyaUVYVABnbFBvaW50UGFyYW1ldGVyaVNHSVMAZ2xQb2ludFBhcmFtZXRlcmYAZ2xQb2ludFBhcmFtZXRlcmZBUkIAZ2xQb2ludFBhcmFtZXRlcmZFWFQAZ2xQb2ludFBhcmFtZXRlcmZTR0lTAGdsUG9pbnRQYXJhbWV0ZXJmdgBnbFBvaW50UGFyYW1ldGVyZnZBUkIAZ2xQb2ludFBhcmFtZXRlcmZ2RVhUAGdsUG9pbnRQYXJhbWV0ZXJmdlNHSVMAR0xfTlZfbXVsdGlzYW1wbGVfZmlsdGVyX2hpbnQAZ2xTYW1wbGVDb3ZlcmFnZUFSQgBnbEJpbmRSZW5kZXJidWZmZXJFWFQAZ2xCaW5kUmVuZGVyYnVmZmVyT0VTAGdsRGVsZXRlUmVuZGVyYnVmZmVyc0VYVABnbERlbGV0ZVJlbmRlcmJ1ZmZlcnNPRVMAZ2xHZW5SZW5kZXJidWZmZXJzRVhUAGdsR2VuUmVuZGVyYnVmZmVyc09FUwBnbFJlbmRlcmJ1ZmZlclN0b3JhZ2VFWFQAZ2xSZW5kZXJidWZmZXJTdG9yYWdlT0VTAGdsUmVuZGVyYnVmZmVyU3RvcmFnZU11bHRpc2FtcGxlAGdsUmVuZGVyYnVmZmVyU3RvcmFnZU11bHRpc2FtcGxlRVhUAGdsUmVuZGVyYnVmZmVyU3RvcmFnZU11bHRpc2FtcGxlT0VTAGdsUmVuZGVyYnVmZmVyU3RvcmFnZU11bHRpc2FtcGxlQ292ZXJhZ2VOVgBnbEJpbmRGcmFtZWJ1ZmZlckVYVABnbEJpbmRGcmFtZWJ1ZmZlck9FUwBnbERlbGV0ZUZyYW1lYnVmZmVyc0VYVABnbERlbGV0ZUZyYW1lYnVmZmVyc09FUwBnbEdlbkZyYW1lYnVmZmVyc0VYVABnbEdlbkZyYW1lYnVmZmVyc09FUwBnbENoZWNrRnJhbWVidWZmZXJTdGF0dXNFWFQAZ2xDaGVja0ZyYW1lYnVmZmVyU3RhdHVzT0VTAGdsRnJhbWVidWZmZXJUZXh0dXJlMUQAZ2xGcmFtZWJ1ZmZlclRleHR1cmUxREVYVABnbEZyYW1lYnVmZmVyVGV4dHVyZTFET0VTAGdsRnJhbWVidWZmZXJUZXh0dXJlMkRFWFQAZ2xGcmFtZWJ1ZmZlclRleHR1cmUyRE9FUwBnbEZyYW1lYnVmZmVyVGV4dHVyZTNEAGdsRnJhbWVidWZmZXJUZXh0dXJlM0RFWFQAZ2xGcmFtZWJ1ZmZlclRleHR1cmUzRE9FUwBnbEZyYW1lYnVmZmVyVGV4dHVyZQBnbEZyYW1lYnVmZmVyVGV4dHVyZUVYVABnbEZyYW1lYnVmZmVyVGV4dHVyZU9FUwBnbEZyYW1lYnVmZmVyVGV4dHVyZUxheWVyAGdsRnJhbWVidWZmZXJUZXh0dXJlTGF5ZXJFWFQAZ2xGcmFtZWJ1ZmZlclRleHR1cmVMYXllck9FUwBnbEZyYW1lYnVmZmVyVGV4dHVyZUZhY2UAZ2xGcmFtZWJ1ZmZlclRleHR1cmVGYWNlRVhUAGdsRnJhbWVidWZmZXJUZXh0dXJlRmFjZU9FUwBnbEZyYW1lYnVmZmVyUmVuZGVyYnVmZmVyRVhUAGdsRnJhbWVidWZmZXJSZW5kZXJidWZmZXJPRVMAZ2xGcmFtZWJ1ZmZlclBhcmFtZXRlcmkAZ2xGcmFtZWJ1ZmZlclBhcmFtZXRlcmlBUkIAZ2xGcmFtZWJ1ZmZlclBhcmFtZXRlcmlPRVMAZ2xHZXRGcmFtZWJ1ZmZlclBhcmFtZXRlcml2AGdsR2V0RnJhbWVidWZmZXJQYXJhbWV0ZXJpdkFSQgBnbEdldEZyYW1lYnVmZmVyUGFyYW1ldGVyaXZPRVMAZ2xOYW1lZEZyYW1lYnVmZmVyUGFyYW1ldGVyaQBnbE5hbWVkRnJhbWVidWZmZXJQYXJhbWV0ZXJpRVhUAGdsTmFtZWRGcmFtZWJ1ZmZlclBhcmFtZXRlcmlPRVMAZ2xHZXROYW1lZEZyYW1lYnVmZmVyUGFyYW1ldGVyaXYAZ2xHZXROYW1lZEZyYW1lYnVmZmVyUGFyYW1ldGVyaXZFWFQAZ2xHZXROYW1lZEZyYW1lYnVmZmVyUGFyYW1ldGVyaXZPRVMAZ2xHZW5lcmF0ZU1pcG1hcEVYVABnbEdlbmVyYXRlTWlwbWFwT0VTAGdsQmxpdEZyYW1lYnVmZmVyAGdsQmxpdEZyYW1lYnVmZmVyRVhUAGdsQmxpdEZyYW1lYnVmZmVyT0VTAGdsR2V0UmVuZGVyYnVmZmVyUGFyYW1ldGVyaXZFWFQAZ2xHZXRSZW5kZXJidWZmZXJQYXJhbWV0ZXJpdk9FUwBHTF9FWFRfcGFja2VkX2RlcHRoX3N0ZW5jaWwAR0xfT0VTX3BhY2tlZF9kZXB0aF9zdGVuY2lsAGdsR2V0U3Vicm91dGluZVVuaWZvcm1Mb2NhdGlvbgBnbEdldEFjdGl2ZVN1YnJvdXRpbmVVbmlmb3JtTmFtZQBnbEdldEFjdGl2ZVN1YnJvdXRpbmVVbmlmb3JtaXYAZ2xHZXRTdWJyb3V0aW5lSW5kZXgAZ2xHZXRBY3RpdmVTdWJyb3V0aW5lTmFtZQBnbEdldFByb2dyYW1TdGFnZWl2AGdsVW5pZm9ybVN1YnJvdXRpbmVzdWl2AGdsR2V0VW5pZm9ybVN1YnJvdXRpbmV1aXYAZ2xGZW5jZVN5bmMAZ2xJc1N5bmMAZ2xEZWxldGVTeW5jAGdsQ2xpZW50V2FpdFN5bmMAZ2xXYWl0U3luYwBnbEdldFN5bmNpdgBnbERyYXdBcnJheXNJbmRpcmVjdABnbERyYXdBcnJheXNJbmRpcmVjdEVYVABnbE11bHRpRHJhd0FycmF5c0luZGlyZWN0AGdsTXVsdGlEcmF3QXJyYXlzSW5kaXJlY3RFWFQAZ2xEcmF3RWxlbWVudHNJbmRpcmVjdABnbERyYXdFbGVtZW50c0luZGlyZWN0RVhUAGdsTXVsdGlEcmF3RWxlbWVudHNJbmRpcmVjdABnbE11bHRpRHJhd0VsZW1lbnRzSW5kaXJlY3RFWFQAZ2xUZXhQYWdlQ29tbWl0bWVudABnbFRleFBhZ2VDb21taXRtZW50QVJCAGdsVGV4UGFnZUNvbW1pdG1lbnRFWFQAZ2xCZWdpblRyYW5zZm9ybUZlZWRiYWNrRVhUAGdsRW5kVHJhbnNmb3JtRmVlZGJhY2tFWFQAZ2xUcmFuc2Zvcm1GZWVkYmFja1ZhcnlpbmdzRVhUAGdsR2V0VHJhbnNmb3JtRmVlZGJhY2tWYXJ5aW5nRVhUAGdsQmluZFRyYW5zZm9ybUZlZWRiYWNrAGdsRGVsZXRlVHJhbnNmb3JtRmVlZGJhY2tzAGdsR2VuVHJhbnNmb3JtRmVlZGJhY2tzAGdsSXNUcmFuc2Zvcm1GZWVkYmFjawBnbFBhdXNlVHJhbnNmb3JtRmVlZGJhY2sAZ2xSZXN1bWVUcmFuc2Zvcm1GZWVkYmFjawBnbERyYXdUcmFuc2Zvcm1GZWVkYmFjawBnbERyYXdUcmFuc2Zvcm1GZWVkYmFja1N0cmVhbQBnbERyYXdUcmFuc2Zvcm1GZWVkYmFja0luc3RhbmNlZABnbERyYXdUcmFuc2Zvcm1GZWVkYmFja1N0cmVhbUluc3RhbmNlZABnbENyZWF0ZVRyYW5zZm9ybUZlZWRiYWNrcwBnbFRyYW5zZm9ybUZlZWRiYWNrQnVmZmVyQmFzZQBnbFRyYW5zZm9ybUZlZWRiYWNrQnVmZmVyUmFuZ2UAZ2xHZXRUcmFuc2Zvcm1GZWVkYmFja2l2AGdsR2V0VHJhbnNmb3JtRmVlZGJhY2tpX3YAZ2xHZXRUcmFuc2Zvcm1GZWVkYmFja2k2NF92AGdsR2VuVmVydGV4QXJyYXlzT0VTAGdsQmluZFZlcnRleEFycmF5T0VTAGdsRGVsZXRlVmVydGV4QXJyYXlzT0VTAGdsSXNWZXJ0ZXhBcnJheU9FUwBHTF9BUkJfdmVydGV4X2F0dHJpYl9iaW5kaW5nAGdsQmluZFZlcnRleEJ1ZmZlcgBnbEJpbmRWZXJ0ZXhCdWZmZXJPRVMAZ2xWZXJ0ZXhBcnJheVZlcnRleEJ1ZmZlcgBnbFZlcnRleEFycmF5VmVydGV4QnVmZmVyT0VTAGdsVmVydGV4QXR0cmliQmluZGluZwBnbFZlcnRleEF0dHJpYkJpbmRpbmdPRVMAZ2xWZXJ0ZXhBcnJheUF0dHJpYkJpbmRpbmcAZ2xWZXJ0ZXhBcnJheUF0dHJpYkJpbmRpbmdPRVMAZ2xWZXJ0ZXhBdHRyaWJMRm9ybWF0AGdsVmVydGV4QXR0cmliTEZvcm1hdE9FUwBnbFZlcnRleEFycmF5QXR0cmliRm9ybWF0AGdsVmVydGV4QXJyYXlBdHRyaWJGb3JtYXRPRVMAZ2xWZXJ0ZXhBcnJheUF0dHJpYklGb3JtYXQAZ2xWZXJ0ZXhBcnJheUF0dHJpYklGb3JtYXRPRVMAZ2xWZXJ0ZXhBcnJheUF0dHJpYkxGb3JtYXQAZ2xWZXJ0ZXhBcnJheUF0dHJpYkxGb3JtYXRPRVMAZ2xNdWx0aURyYXdBcnJheXMAZ2xNdWx0aURyYXdBcnJheXNFWFQAZ2xNdWx0aURyYXdFbGVtZW50cwBnbE11bHRpRHJhd0VsZW1lbnRzRVhUAGdsRHJhd0FycmF5c0luc3RhbmNlZEJhc2VJbnN0YW5jZQBnbERyYXdBcnJheXNJbnN0YW5jZWRCYXNlSW5zdGFuY2VFWFQAZ2xEcmF3RWxlbWVudHNJbnN0YW5jZWRCYXNlSW5zdGFuY2UAZ2xEcmF3RWxlbWVudHNJbnN0YW5jZWRCYXNlSW5zdGFuY2VFWFQAZ2xEcmF3RWxlbWVudHNJbnN0YW5jZWRCYXNlVmVydGV4QmFzZUluc3RhbmNlAGdsRHJhd0VsZW1lbnRzSW5zdGFuY2VkQmFzZVZlcnRleEJhc2VJbnN0YW5jZUVYVABnbERyYXdFbGVtZW50c0Jhc2VWZXJ0ZXgAZ2xEcmF3RWxlbWVudHNCYXNlVmVydGV4RVhUAGdsRHJhd1JhbmdlRWxlbWVudHNCYXNlVmVydGV4AGdsRHJhd1JhbmdlRWxlbWVudHNCYXNlVmVydGV4RVhUAGdsRHJhd0VsZW1lbnRzSW5zdGFuY2VkQmFzZVZlcnRleABnbERyYXdFbGVtZW50c0luc3RhbmNlZEJhc2VWZXJ0ZXhFWFQAZ2xNdWx0aURyYXdFbGVtZW50c0Jhc2VWZXJ0ZXgAZ2xNdWx0aURyYXdFbGVtZW50c0Jhc2VWZXJ0ZXhFWFQAZ2xQcm92b2tpbmdWZXJ0ZXgAZ2xQcm92b2tpbmdWZXJ0ZXhFWFQAZ2xCZWdpbkNvbmRpdGlvbmFsUmVuZGVyRVhUAGdsRW5kQ29uZGl0aW9uYWxSZW5kZXJFWFQAR0xfQVJCX3ZpZXdwb3J0X2FycmF5AGdsVmlld3BvcnRBcnJheXYAZ2xWaWV3cG9ydEluZGV4ZWRmAGdsVmlld3BvcnRJbmRleGVkZnYAZ2xTY2lzc29yQXJyYXl2AGdsU2Npc3NvckluZGV4ZWQAZ2xTY2lzc29ySW5kZXhlZHYAZ2xEZXB0aFJhbmdlQXJyYXl2AGdsRGVwdGhSYW5nZUluZGV4ZWQAZ2xEZXB0aFJhbmdlSW5kZXhlZGZPRVMAZ2xEZXB0aFJhbmdlSW5kZXhlZGZOVgBnbEdldEZsb2F0aV92AGdsR2V0RG91YmxlaV92AGdsR2V0SW50ZWdlckluZGV4ZWR2RVhUAGdsRW5hYmxlSW5kZXhlZEVYVABnbERpc2FibGVJbmRleGVkRVhUAGdsSXNFbmFibGVkSW5kZXhlZEVYVABnbE9iamVjdExhYmVsAE9wZW5HTCBleHRlbnNpb25zIHN1cHBvcnRlZCBieSBpbnN0YWxsZWQgT3BlbkdMIGRyaXZlcnMgYXJlOgAgICAgAE9wZW5HTCBleHRlbnNpb24gJwAnIGlzIHN1cHBvcnRlZC4AJyBpcyBzdXBwb3J0ZWQgYnkgT3BlbkdMCmRyaXZlciBidXQgaGFzIGJlZW4gZGlzYWJsZWQgYnkgb3NnOjpnZXRHTEV4dGVuc2lvbkRpc2FibGVTdHJpbmcoKS4AJyBpcyBub3Qgc3VwcG9ydGVkLgBPU0dfR0xfRVhURU5TSU9OX0RJU0FCTEUAMHgATjNvc2cxMkdMRXh0ZW5zaW9uc0UAR0xCdWZmZXJPYmplY3RTZXQ9ADogUmV1c2luZyBhbiBhY3RpdmUgR0xCdWZmZXJPYmplY3QgACBfbnVtT2ZHTEJ1ZmZlck9iamVjdHM9ACBzaXplPQBSZXVzaW5nIGEgcmVjZW50bHkgb3JwaGFuZWQgYWN0aXZlIEdMQnVmZmVyT2JqZWN0IABHTEJ1ZmZlck9iamVjdFNldDo6R0xCdWZmZXJPYmplY3RTZXQgX3Byb2ZpbGUuX3NpemU9AEJ1ZmZlck9iamVjdDo6ADoAOjpCdWZmZXJPYmplY3Q6OmNvbXB1dGVSZXF1aXJlZEJ1ZmZlclNpemUoKSBlcnJvciwgQnVmZmVyRGF0YSBpcyAweDAAR0xCdWZmZXJPYmplY3RNYW5hZ2VyADo6AENvbnRleHREYXRhAE4zb3NnMTFDb250ZXh0RGF0YUUATjNvc2cxMkN1bGxTZXR0aW5nc0UATjNvc2cxMk9jY2x1ZGVyTm9kZUUATjNvc2c1R3JvdXBFAE4zb3NnNE5vZGVFAFdhcm5pbmc6IEdyb3VwOjpyZW1vdmVDaGlsZChpLG51bUNoaWxkcmVuVG9SZW1vdmUpIGhhcyBiZWVuIHBhc3NlZCBhbiBleGNlc3NpdmUgbnVtYmVyACAgICAgICAgIG9mIGNoaWxyZW4gdG8gcmVtb3ZlLCB0cmltbWluZyBqdXN0IHRvIGVuZCBvZiBjaGlsZCBsaXN0LgBOM29zZzEwSW5kZXhBcnJheUUAQ3VsbFNldHRpbmdzOjpyZWFkRW52aXJvbm1lbnRhbFZhcmlhYmxlcygpAE9TR19DT01QVVRFX05FQVJfRkFSX01PREUARE9fTk9UX0NPTVBVVEVfTkVBUl9GQVIAQ09NUFVURV9ORUFSX0ZBUl9VU0lOR19CT1VORElOR19WT0xVTUVTAENPTVBVVEVfTkVBUl9GQVJfVVNJTkdfUFJJTUlUSVZFUwBTZXQgY29tcHV0ZSBuZWFyIGZhciBtb2RlIHRvIABPU0dfTkVBUl9GQVJfUkFUSU8AU2V0IG5lYXIvZmFyIHJhdGlvIHRvIABOM29zZzZDYW1lcmFFAENvbG9yTWFzawBOM29zZzlDb2xvck1hc2tFAENvbGxlY3RPY2NsdWRlcnNWaXNpdG9yAE4zb3NnMTFOb2RlVmlzaXRvckUATm9kZVZpc2l0b3IATWF0cml4AE4zb3NnMTVVbmlmb3JtQ2FsbGJhY2tFAE4zb3NnMjJTdGF0ZUF0dHJpYnV0ZUNhbGxiYWNrRQBOM29zZzEyUHJpbWl0aXZlU2V0RQBOM29zZzVJbWFnZUUATjNvc2c4RHJhd2FibGVFAE4zb3NnNkNvcHlPcEUATjNvc2cxMFJlZk1hdHJpeGRFAE4zb3NnN01hdHJpeGRFAE4zb3NnOUN1bGxTdGFja0UATjNvc2cxMEN1bGxpbmdTZXRFAE4zb3NnMjNDb2xsZWN0T2NjbHVkZXJzVmlzaXRvckUAQ29tcHV0ZUJvdW5kc1Zpc2l0b3IATjNvc2cyMENvbXB1dGVCb3VuZHNWaXNpdG9yRQBWZXJ0ZXhBcnJheVN0YXRlKiBEcmF3YWJsZTo6Y3JlYXRlVmVydGV4QXJyYXlTdGF0ZUltcGxlbWVudGF0aW9uKFJlbmRlckluZm8mIHJlbmRlckluZm8pIGNvbnN0IAAxMkNvbXB1dGVCb3VuZABOM29zZzE2UHJpbWl0aXZlRnVuY3RvckUAV2FybmluZzogRHJhd2FibGU6OmRlbGV0ZURpc3BsYXlMaXN0KC4uKSAtIG5vdCBzdXBwb3J0ZWQuAERpc3BsYXlMaXN0TWFuYWdlcgBEaXNwbGF5TGlzdE1hbmFnZXI6OmRlbGV0ZUFsbEdMT2JqZWN0cygpIE5vdCBjdXJyZW50bHkgaW1wbGVtZW50ZWQAV2FybmluZzogRHJhd2FibGU6OmZsdXNoRGVsZXRlZERpc3BsYXlMaXN0cyguLikgLSBub3Qgc3VwcG9ydGVkLgAxOERpc3BsYXlMaXN0TWFuYWdlcgBEcmF3YWJsZQBOb2RlAHZvaWQgADo6Y3JlYXRlR0xPYmplY3QoKSA6IE5vdCBJbXBsZW1lbnRlZAA6OmRlbGV0ZUFsbEdMT2JqZWN0cygpIDogTm90IEltcGxlbWVudGVkAE4zb3NnMTVHTE9iamVjdE1hbmFnZXJFAE4zb3NnMjFHTFJlbmRlckJ1ZmZlck1hbmFnZXJFAE4zb3NnMjZHTEZyYW1lQnVmZmVyT2JqZWN0TWFuYWdlckUAR0xSZW5kZXJCdWZmZXJNYW5hZ2VyAFJlbmRlckJ1ZmZlcgBOM29zZzEyUmVuZGVyQnVmZmVyRQBXYXJuaW5nOiBFWFRfZnJhbWVidWZmZXJfb2JqZWN0IGlzIG5vdCBzdXBwb3J0ZWQAV2FybmluZzogRnJhbWVCdWZmZXJPYmplY3Q6IGNvdWxkIG5vdCBjcmVhdGUgdGhlIEZCTwBXYXJuaW5nOiBGcmFtZUJ1ZmZlck9iamVjdDogY291bGQgbm90IHNldCBkcmF3IGJ1ZmZlcnMsIGdsRHJhd0J1ZmZlcnMgaXMgbm90IHN1cHBvcnRlZCEAV2FybmluZzogRnJhbWVCdWZmZXJPYmplY3Q6IGNvdWxkIG5vdCBhdHRhY2ggUEFDS0VEX0RFUFRIX1NURU5DSUxfQlVGRkVSLCBFWFRfcGFja2VkX2RlcHRoX3N0ZW5jaWwgaXMgbm90IHN1cHBvcnRlZCEAQ292ZXJhZ2Ugc2FtcGxlcyBtdXN0IGJlIGdyZWF0ZXIgdGhhbiBvciBlcXVhbCB0byBjb2xvciBzYW1wbGVzLiBTZXR0aW5nIGNvdmVyYWdlIHNhbXBsZXMgZXF1YWwgdG8gY29sb3Igc2FtcGxlcy4AR0xGcmFtZUJ1ZmZlck9iamVjdE1hbmFnZXIARnJhbWVCdWZmZXJPYmplY3QATjNvc2cxN0ZyYW1lQnVmZmVyT2JqZWN0RQBOM29zZzEwRnJhbWVTdGFtcEUAR2VvZGUAR3JvdXAATjNvc2c1R2VvZGVFAEdlb21ldHJ5OjphY2NlcHQoUHJpbWl0aXZlSW5kZXhGdW5jdG9yJiBmdW5jdG9yKTogVXNpbmcgdmVydGV4IGF0dHJpYnV0ZSBpbnN0ZWFkAEdlb21ldHJ5OjphY2NlcHQoUHJpbWl0aXZlSW5kZXhGdW5jdG9yJiBmdW5jdG9yKSB1bmFibGUgdG8gd29yayBkdWUgdG8gZGVwcmVjYXRlZCBkYXRhLCBjYWxsIGdlb21ldHJ5LT5maXhEZXByZWNhdGVkRGF0YSgpOwBXYXJuaW5nOiBHZW9tZXRyeTo6YWNjZXB0KFByaW1pdGl2ZUluZGV4RnVuY3RvciYpIGNhbm5vdCBoYW5kbGUgVmVydGV4IEFycmF5IHR5cGUAVXNpbmcgdmVydGV4IGF0dHJpYnV0ZSBpbnN0ZWFkAEdlb21ldHJ5OjphY2NlcHQoUHJpbWl0aXZlRnVuY3RvciYgZnVuY3RvcikgdW5hYmxlIHRvIHdvcmsgZHVlIHRvIGRlcHJlY2F0ZWQgZGF0YSwgY2FsbCBnZW9tZXRyeS0+Zml4RGVwcmVjYXRlZERhdGEoKTsAV2FybmluZzogR2VvbWV0cnk6OmFjY2VwdChQcmltaXRpdmVGdW5jdG9yJikgY2Fubm90IGhhbmRsZSBWZXJ0ZXggQXJyYXkgdHlwZQBHZW9tZXRyeTo6YWNjZXB0KENvbnN0QXR0cmlidXRlRnVuY3RvciYgYWYpOiBVc2luZyB2ZXJ0ZXggYXR0cmlidXRlIGluc3RlYWQATjNvc2czM0NvbnN0QXR0cmlidXRlRnVuY3RvckFycmF5VmlzaXRvckUATjNvc2cxN0NvbnN0QXJyYXlWaXNpdG9yRQBHZW9tZXRyeTo6YWNjZXB0KEF0dHJpYnV0ZUZ1bmN0b3ImIGFmKTogVXNpbmcgdmVydGV4IGF0dHJpYnV0ZSBpbnN0ZWFkAE4zb3NnMjhBdHRyaWJ1dGVGdW5jdG9yQXJyYXlWaXNpdG9yRQBOM29zZzEyQXJyYXlWaXNpdG9yRQBHZW9tZXRyeTo6ZHJhd0ltcGxlbWVudGF0aW9uKCkgdW5hYmxlIHRvIHJlbmRlciBkdWUgdG8gZGVwcmVjYXRlZCBkYXRhLCBjYWxsIGdlb21ldHJ5LT5maXhEZXByZWNhdGVkRGF0YSgpOwBzdGFydCBvZiBHZW9tZXRyeTo6ZHJhd0ltcGxlbWVudGF0aW9uKCkAR2VvbWV0cnk6OmRyYXdJbXBsZW1lbnRhdGlvbigpIGFmdGVyIHZlcnRleCBhcnJheXMgc2V0dXAuAGVuZCBvZiBHZW9tZXRyeTo6ZHJhd0ltcGxlbWVudGF0aW9uKCkuAE4zb3NnMzFUZW1wbGF0ZVRhcmdldEF0dHJpYnV0ZURpc3BhdGNoSWpmRUUATjNvc2cxN0F0dHJpYnV0ZURpc3BhdGNoRQBuZXdUb3RhbFNpemU9ACwgX3Byb2ZpbGUuX3NpemU9ACAgICBBbGxvY2F0aW5nIG5ldyBnbEJ1ZmZlckRhdGEoKSwgX2FsbG9jYXRlZFNpemU9AEltYWdlOjpjb21wdXRlUGl4ZWxTaXplSW5CaXRzKGZvcm1hdCx0eXBlKSA6IGNhbm5vdCBjb21wdXRlIGNvcnJlY3Qgc2l6ZSBvZiBjb21wcmVzc2VkIGZvcm1hdCAoAEltYWdlOjpjb21wdXRlUGl4ZWxTaXplSW5CaXRzKGZvcm1hdCx0eXBlKSA6IGJpdHMgcGVyIHBpeGVsICgAKSBpcyBub3QgYW4gaW50ZWdlciBmb3IgR0xfS0hSX3RleHR1cmVfY29tcHJlc3Npb25fYXN0Y19oZHIgc2l6ZXMgb3RoZXIgdGhhbiA0eDQgYW5kIDh4OC4AKSBpcyBub3QgYW4gaW50ZWdlciBmb3IgR0xfS0hSX3RleHR1cmVfY29tcHJlc3Npb25fYXN0Y19oZHIgc2l6ZQBlcnJvciB0eXBlID0gAGVycm9yIHBpeGVsRm9ybWF0ID0gAEdlb21ldHJ5AE4zb3NnOEdlb21ldHJ5RQBOM29zZzE1R3JhcGhpY3NDb250ZXh0MjVXaW5kb3dpbmdTeXN0ZW1JbnRlcmZhY2VzRQBHcmFwaGljc0NvbnRleHQAQ29udGV4dERhdGE6OnVucmVnaXN0ZXJHcmFwaGljc0NvbnRleHQgAGNsb3NlKABSZWxlYXNpbmcgR0wgb2JqZWN0cyBmb3IgQ2FtZXJhPQAgX3N0YXRlPQBDbG9zaW5nIHN0aWxsIHZpYWJsZSB3aW5kb3cgACBfc3RhdGUtPmdldENvbnRleHRJRCgpPQBEb2luZyBkZWxldGUgb2YgR0wgb2JqZWN0cwBEb25lIGRlbGV0ZSBvZiBHTCBvYmplY3RzAG1ha2VDdXJyZW50IGRpZCBub3Qgc3VjY2VlZCwgY291bGQgbm90IGRvIGZsdXNoL2RlbGV0aW9uIG9mIE9wZW5HTCBvYmplY3RzLgBEb2luZyBkaXNjYXJkIG9mIGRlbGV0ZWQgT3BlbkdMIG9iamVjdHMuAE4zb3NnMTVHcmFwaGljc0NvbnRleHRFAE4zb3NnMjNTeW5jU3dhcEJ1ZmZlcnNDYWxsYmFja0UATjNvc2cxNUdyYXBoaWNzQ29udGV4dDEyU3dhcENhbGxiYWNrRQBOM29zZzIxR3JhcGhpY3NDb3N0RXN0aW1hdG9yRQBDYW5jZWxsaW5nIE9wZXJhdGlvblRocmVhZCAAIGlzUnVubmluZygpPQAgICBEb2luZyBjYW5jZWwgACAgIFdhaXRpbmcgZm9yIE9wZXJhdGlvblRocmVhZCB0byBjYW5jZWwgACAgT3BlcmF0aW9uVGhyZWFkOjpjYW5jZWwoKSB0aHJlYWQgY2FuY2VsbGVkIABEb2luZyBydW4gAGV4aXQgbG9vcCAATjNvc2cxNU9wZXJhdGlvblRocmVhZEUATjNvc2cxNEdyYXBoaWNzVGhyZWFkRQBOM29zZzlPcGVyYXRpb25FAE4zb3NnMjJCbG9ja0FuZEZsdXNoT3BlcmF0aW9uRQBOMTFPcGVuVGhyZWFkczVCbG9ja0UATjNvc2cxN0dyYXBoaWNzT3BlcmF0aW9uRQBOM29zZzIxRW5kT2ZEeW5hbWljRHJhd0Jsb2NrRQBOM29zZzVTdGF0ZTM5RHluYW1pY09iamVjdFJlbmRlcmluZ0NvbXBsZXRlZENhbGxiYWNrRQBOMTFPcGVuVGhyZWFkczEwQmxvY2tDb3VudEUAV2FybmluZzogbmVnYXRpdmUgb2Zmc2V0cyBwYXNzZWQgdG8gSW1hZ2U6OmNvcHlTdWJJbWFnZSguLikgbm90IHN1cHBvcnRlZCwgb3BlcmF0aW9uIGlnbm9yZWQuAGFsbG9jYXRpbmcgaW1hZ2UAV2FybmluZzogb2Zmc2V0cyBwYXNzZWQgdG8gSW1hZ2U6OmNvcHlTdWJJbWFnZSguLikgb3V0c2lkZSBkZXN0aW5hdGlvbiBpbWFnZSwgb3BlcmF0aW9uIGlnbm9yZWQuAFdhcm5pbmc6IGltYWdlIHdpdGggYW4gaW5jb21wYXRpYmxlIHBpeGVsIGZvcm1hdHMgcGFzc2VkIHRvIEltYWdlOjpjb3B5U3ViSW1hZ2UoLi4pLCBvcGVyYXRpb24gaWdub3JlZC4ARXJyb3IgSW1hZ2U6OmNvcHlTdWJJbWFnZSgpIGRpZCBub3Qgc3VjY2VlZCA6IHNpemUgACBvciBvZmZzZXQgACBub3QgbXVsdGlwbGUgb2YgNC4AIG5vdCBtdWx0aXBsZSBvZiBmb290cHJpbnQgAEVycm9yIEltYWdlOjpzY2FsZUltYWdlKCkgZGlkIG5vdCBzdWNjZWVkIDogZXJyb3JTdHJpbmcgPSAALiBUaGUgcmVuZGVyaW5nIGNvbnRleHQgbWF5IGJlIGludmFsaWQuAG5vIGVycm9yAGludmFsaWQgZW51bWVyYW50AGludmFsaWQgdmFsdWUAaW52YWxpZCBvcGVyYXRpb24Ac3RhY2sgb3ZlcmZsb3cAc3RhY2sgdW5kZXJmbG93AG91dCBvZiBtZW1vcnkAdGFibGUgdG9vIGxhcmdlAGludmFsaWQgZnJhbWVidWZmZXIgb3BlcmF0aW9uAGluY29tcGF0aWJsZSBnbCB2ZXJzaW9uAGdsdVRlc3NCZWdpblBvbHlnb24oKSBtdXN0IHByZWNlZGUgYSBnbHVUZXNzRW5kUG9seWdvbigpAGdsdVRlc3NCZWdpbkNvbnRvdXIoKSBtdXN0IHByZWNlZGUgYSBnbHVUZXNzRW5kQ29udG91cigpAGdsdVRlc3NFbmRQb2x5Z29uKCkgbXVzdCBmb2xsb3cgYSBnbHVUZXNzQmVnaW5Qb2x5Z29uKCkAZ2x1VGVzc0VuZENvbnRvdXIoKSBtdXN0IGZvbGxvdyBhIGdsdVRlc3NCZWdpbkNvbnRvdXIoKQBhIGNvb3JkaW5hdGUgaXMgdG9vIGxhcmdlAG5lZWQgY29tYmluZSBjYWxsYmFjawB3aWR0aCA+IDAAL2hvbWUva29ybmVyci9wL21vdG9yL21vdG9yLzAzLk1vdXNlL21vdG9yLXdlYi8uLi8uLi8uLi8uLi9tb3Rvci8uLi9PcGVuU2NlbmVHcmFwaC9zcmMvb3NnL2dsdS9saWJ1dGlsL21pcG1hcC5jcHAAaW1hZ2Vfc2l6ZQBoZWlnaHQgPiAwAGl0ZXIyID09ICZvbGRpbWFnZVt3aWR0aCpoZWlnaHQqY29tcG9uZW50c10AZW1wdHlfaW1hZ2UAaXRlcjIgPT0gJm9sZGltYWdlW3dpZHRoKmhlaWdodCogZWxlbWVudHNfcGVyX2dyb3VwKGZvcm1hdCwwKV0AaXRlciA9PSAmKChHTHVieXRlICopdXNlcmRhdGEpW3Jvd3NpemUqaGVpZ2h0ICsgcHNtLT5wYWNrX3NraXBfcm93cyAqIHJvd3NpemUgKyBwc20tPnBhY2tfc2tpcF9waXhlbHMgKiBncm91cF9zaXplXQAwLjAgPD0gc2hvdmVDb21wb25lbnRzWzBdICYmIHNob3ZlQ29tcG9uZW50c1swXSA8PSAxLjAAc2hvdmUyMTAxMDEwcmV2ADAuMCA8PSBzaG92ZUNvbXBvbmVudHNbMV0gJiYgc2hvdmVDb21wb25lbnRzWzFdIDw9IDEuMAAwLjAgPD0gc2hvdmVDb21wb25lbnRzWzJdICYmIHNob3ZlQ29tcG9uZW50c1syXSA8PSAxLjAAMC4wIDw9IHNob3ZlQ29tcG9uZW50c1szXSAmJiBzaG92ZUNvbXBvbmVudHNbM10gPD0gMS4wAHNob3ZlMTAxMDEwMgBzaG92ZTg4ODhyZXYAc2hvdmU4ODg4AHNob3ZlMTU1NXJldgBzaG92ZTU1NTEAc2hvdmU0NDQ0cmV2AHNob3ZlNDQ0NABzaG92ZTU2NXJldgBzaG92ZTU2NQBzaG92ZTIzM3JldgBzaG92ZTMzMgBsZWdhbFR5cGUodHlwZSkAaXNUeXBlUGFja2VkUGl4ZWwAaXRlcjIgPT0gJm5ld2ltYWdlW3dpZHRoKmhlaWdodCpjb21wb25lbnRzXQBmaWxsX2ltYWdlAGl0ZXIyID09ICZuZXdpbWFnZVt3aWR0aCpoZWlnaHQqIGVsZW1lbnRzX3Blcl9ncm91cChmb3JtYXQsMCldAGl0ZXIgPT0gJigoY29uc3QgR0x1Ynl0ZSAqKXVzZXJkYXRhKVtyb3dzaXplKmhlaWdodCArIHBzbS0+dW5wYWNrX3NraXBfcm93cyAqIHJvd3NpemUgKyBwc20tPnVucGFja19za2lwX3BpeGVscyAqIGdyb3VwX3NpemVdAEVycm9yIEltYWdlOjpzY2FsZUltYWdlKCkgZG8gbm90IHN1Y2NlZWQgOiBjYW5ub3Qgc2NhbGUgTlVMTCBpbWFnZS4ARXJyb3IgSW1hZ2U6OnNjYWxlSW1hZ2UoKSBkbyBub3Qgc3VjY2VlZCA6IHNjYWxpbmcgb2Ygdm9sdW1lcyBub3QgaW1wbGVtZW50ZWQuAFdhcm5pbmc6IEltYWdlOjpyZWFkSW1hZ2VGcm9tQ3VycmVudFRleHR1cmUoKSBub3Qgc3VwcG9ydGVkLgBJbWFnZQBXYXJuaW5nOiBJbWFnZTo6SW1hZ2UoY29uc3QgSW1hZ2UmLCBjb25zdCBDb3B5T3AmKSBvdXQgb2YgbWVtb3J5LCBubyBpbWFnZSBjb3B5IG1hZGUuAE1vdmluZyBmb3J3YXJkIGZyb20gACAgIGRlbGV0aW5nIABNb3ZpbmcgYmFjayBmcm9tIABOM29zZzExSW1hZ2VTdHJlYW1FAE4zb3NnMTNJbWFnZVNlcXVlbmNlRQBsZWZ0Q2hpbGRJbmRleD0AICYmIG9yaWdpbmFsTGVmdENoaWxkSW5kZXg9AHJpZ2h0Q2hpbGRJbmRleD0AICYmIG9yaWdpbmFsUmlnaHRDaGlsZEluZGV4PQBJbnZhbGlkIEJCIGxlZnRDaGlsZEluZGV4PQAgIGJiLl9taW4gKAAgIGJiLl9tYXggKAAgIGdldE5vZGUobGVmdENoaWxkSW5kZXgpLmJiIG1pbiA9IAAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXggPSAAICBnZXROb2RlKHJpZ2h0Q2hpbGRJbmRleCkuYmIgbWluID0gACAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1heCA9IABOM29zZzI5VGVtcGxhdGVQcmltaXRpdmVJbmRleEZ1bmN0b3JJMjVQcmltaXRpdmVJbmRpY2VzQ29sbGVjdG9yRUUAMjVQcmltaXRpdmVJbmRpY2VzQ29sbGVjdG9yAE4zb3NnMjFQcmltaXRpdmVJbmRleEZ1bmN0b3JFAE4zb3NnMTNUZW1wbGF0ZUFycmF5SU5TXzVWZWMzZkVMTlNfNUFycmF5NFR5cGVFMjhFTGkzRUxpNTEyNkVFRQBOM29zZzExTWl4aW5WZWN0b3JJTlNfNVZlYzNmRUVFAEtkVHJlZQBOM29zZzZLZFRyZWVFAEtkVHJlZUJ1aWxkZXIATjNvc2cxM0tkVHJlZUJ1aWxkZXJFAFdhcm5pbmc6IExpZ2h0OjphcHBseShTdGF0ZSYpIC0gbm90IHN1cHBvcnRlZC4ATGlnaHQATjNvc2c1TGlnaHRFAE4zb3NnM0xPREUATjNvc2c4T2JzZXJ2ZXJFAE4zb3NnMTFPYnNlcnZlclNldEUAV2FybmluZzogUG9seWdvbk1vZGU6OmFwcGx5KFN0YXRlJikgLSBpcyBub3Qgc3VwcG9ydGVkLgBQb2x5Z29uTW9kZQBOM29zZzExUG9seWdvbk1vZGVFAE4zb3NnMTFNaXhpblZlY3RvcklOU181VmVjNGZFRUUAQXJyYXk6OmNsYXNzTmFtZSgpOiBVbmtub3duIGFycmF5IHR5cGUgAFVua25vd25BcnJheQBBcnJheQBWZWMyQXJyYXkAVmVjM0FycmF5AFZlYzRBcnJheQBNYXRyaXhBcnJheQBNYXRyaXhkQXJyYXkAUXVhdEFycmF5AFVJbnQ2NEFycmF5AEludDY0QXJyYXkATjNvc2cxM1RlbXBsYXRlQXJyYXlJTlNfNVZlYzRmRUxOU181QXJyYXk0VHlwZUUyOUVMaTRFTGk1MTI2RUVFAFdhcm5pbmc6IGludmFsaWQgcHJpbWl0aXZlc2V0IHBhc3NlZCB0byBvc2c6Okdlb21ldHJ5OjphZGRQcmltaXRpdmVTZXQoaSwgcHJpbWl0aXZlc2V0KSwgaWdub3JpbmcgY2FsbC4ATjNvc2cxOERyYXdFbGVtZW50c1VTaG9ydEUATjNvc2cxMU1peGluVmVjdG9ySXRFRQBOM29zZzEyRHJhd0VsZW1lbnRzRQBQcmltaXRpdmVTZXQATjNvc2cxNE9wZXJhdGlvblF1ZXVlRQBOM29zZzhQYWdlZExPREUAV2FybmluZzogUG9seWdvblN0aXBwbGU6OmFwcGx5KFN0YXRlJikgLSBub3Qgc3VwcG9ydGVkLgBQb2x5Z29uU3RpcHBsZQBOM29zZzE0UG9seWdvblN0aXBwbGVFAE4zb3NnMTFNaXhpblZlY3RvckloRUUATjNvc2cxN0RyYXdFbGVtZW50c1VCeXRlRQBOM29zZzExTWl4aW5WZWN0b3JJakVFAFVuYWJsZSB0byBjcmVhdGUgb3NnOjpQcm9ncmFtICIAIGNvbnRleHRJRD0AUHJvZ3JhbUJpbmFyeQBOM29zZzdQcm9ncmFtMTNQcm9ncmFtQmluYXJ5RQBnbFZhbGlkYXRlUHJvZ3JhbSBGQUlMRUQgIgAgaWQ9AGluZm9sb2c6CgBMaW5raW5nIG9zZzo6UHJvZ3JhbSAiAFByb2dyYW0ncyB2ZXJ0ZXggYXR0cmliIGJpbmRpbmcgAFN0YXRlJ3MgdmVydGV4IGF0dHJpYiBiaW5kaW5nIABnbExpbmtQcm9ncmFtIABQcm9ncmFtICIAIiAAbGluayBzdWNjZWVkZWQsIGluZm9sb2c6CgB1bmlmb3JtIGJsb2NrIAAgYmluZGluZzogACBoYXMgbm8gYmluZGluZy4KAAlVbmlmb3JtICIAIGxvYz0AIHR5cGU9AAlVbmlmb3JtIGF0b21pYyBjb3VudGVyICIAIGJ1ZmZlciBiaW5kPSAALgoACVVuaWZvcm0gYXRvbWljIGNvdW50ZXIgYnVmZmVyIGJpbmQgIgAgbnVtIGFjdGl2ZSBhdG9taWMgY291bnRlcj0gACBtaW4gc2l6ZT0gAAkJaW5kaWNlcyB1c2VkPSAACUF0dHJpYiAiAEdMUHJvZ3JhbU1hbmFnZXIAMTZHTFByb2dyYW1NYW5hZ2VyAE4zb3NnN1Byb2dyYW0xN1BlckNvbnRleHRQcm9ncmFtRQBOM29zZzdQcm9ncmFtMTRQcm9ncmFtT2JqZWN0c0UAUHJvZ3JhbQBOM29zZzdQcm9ncmFtRQBOM29zZzlQcm94eU5vZGVFAE4zb3NnMTJOb2RlQ2FsbGJhY2tFAFN0YXRlQXR0cmlidXRlQ2FsbGJhY2sATjNvc2cyMkRyYXdhYmxlVXBkYXRlQ2FsbGJhY2tFAE4zb3NnMjFEcmF3YWJsZUV2ZW50Q2FsbGJhY2tFAE4zb3NnMjBEcmF3YWJsZUN1bGxDYWxsYmFja0UATjNvc2cyMFN3YXBCdWZmZXJzT3BlcmF0aW9uRQBOM29zZzE2QmFycmllck9wZXJhdGlvbkUATjNvc2c4UmVmQmxvY2tFAE4zb3NnMTNSdW5PcGVyYXRpb25zRQBOM29zZzEwRHJhd0FycmF5c0UATjNvc2cxMU1peGluVmVjdG9ySWlFRQBOM29zZzVJbWFnZTE0VXBkYXRlQ2FsbGJhY2tFAE9TR19DT01QVVRFX05FQVJfRkFSX01PREUgPG1vZGU+AERPX05PVF9DT01QVVRFX05FQVJfRkFSIHwgQ09NUFVURV9ORUFSX0ZBUl9VU0lOR19CT1VORElOR19WT0xVTUVTIHwgQ09NUFVURV9ORUFSX0ZBUl9VU0lOR19QUklNSVRJVkVTAE9TR19ORUFSX0ZBUl9SQVRJTyA8ZmxvYXQ+AFNldCB0aGUgcmF0aW8gYmV0d2VlbiBuZWFyIGFuZCBmYXIgcGxhbmVzIC0gbXVzdCBncmVhdGVyIHRoYW4gMC4wIGJ1dCBsZXNzIHRoYW4gMS4wLgBPU0dfRElTUExBWV9UWVBFIDx0eXBlPgBNT05JVE9SIHwgUE9XRVJXQUxMIHwgUkVBTElUWV9DRU5URVIgfCBIRUFEX01PVU5URURfRElTUExBWQBPU0dfU1RFUkVPX01PREUgPG1vZGU+AFFVQURfQlVGRkVSIHwgQU5BR0xZUEhJQyB8IEhPUklaT05UQUxfU1BMSVQgfCBWRVJUSUNBTF9TUExJVCB8IExFRlRfRVlFIHwgUklHSFRfRVlFIHwgVkVSVElDQUxfSU5URVJMQUNFIHwgSE9SSVpPTlRBTF9JTlRFUkxBQ0UAT1NHX1NURVJFTyA8bW9kZT4AT1NHX0VZRV9TRVBBUkFUSU9OIDxmbG9hdD4AUGh5c2ljYWwgZGlzdGFuY2UgYmV0d2VlbiBleWVzLgBPU0dfU0NSRUVOX0RJU1RBTkNFIDxmbG9hdD4AUGh5c2ljYWwgZGlzdGFuY2UgYmV0d2VlbiBleWVzIGFuZCBzY3JlZW4uAE9TR19TQ1JFRU5fSEVJR0hUIDxmbG9hdD4AUGh5c2ljYWwgc2NyZWVuIGhlaWdodC4AT1NHX1NDUkVFTl9XSURUSCA8ZmxvYXQ+AFBoeXNpY2FsIHNjcmVlbiB3aWR0aC4AT1NHX1NQTElUX1NURVJFT19IT1JJWk9OVEFMX0VZRV9NQVBQSU5HIDxtb2RlPgBMRUZUX0VZRV9MRUZUX1ZJRVdQT1JUIHwgTEVGVF9FWUVfUklHSFRfVklFV1BPUlQAT1NHX1NQTElUX1NURVJFT19IT1JJWk9OVEFMX1NFUEFSQVRJT04gPGZsb2F0PgBOdW1iZXIgb2YgcGl4ZWxzIGJldHdlZW4gdmlld3BvcnRzLgBPU0dfU1BMSVRfU1RFUkVPX1ZFUlRJQ0FMX0VZRV9NQVBQSU5HIDxtb2RlPgBMRUZUX0VZRV9UT1BfVklFV1BPUlQgfCBMRUZUX0VZRV9CT1RUT01fVklFV1BPUlQAT1NHX1NQTElUX1NURVJFT19BVVRPX0FESlVTVF9BU1BFQ1RfUkFUSU8gPG1vZGU+AE9GRiB8IE9OICBEZWZhdWx0IHRvIE9GRiB0byBjb21wZW5zdGF0ZSBmb3IgdGhlIGNvbXByZXNzaW9uIG9mIHRoZSBhc3BlY3QgcmF0aW8gd2hlbiB2aWV3aW5nIGluIHNwbGl0IHNjcmVlbiBzdGVyZW8uICBOb3RlLCBpZiB5b3UgYXJlIHNldHRpbmcgZm92eCBhbmQgZm92eSBleHBsaWNpdHlseSBPRkYgc2hvdWxkIGJlIHVzZWQuAE9TR19TUExJVF9TVEVSRU9fVkVSVElDQUxfU0VQQVJBVElPTiA8ZmxvYXQ+AE9TR19NQVhfTlVNQkVSX09GX0dSQVBISUNTX0NPTlRFWFRTIDxpbnQ+AE1heGltdW0gbnVtYmVyIG9mIGdyYXBoaWNzIGNvbnRleHRzIHRvIGJlIHVzZWQgd2l0aCBhcHBsaWNhdGlvbnMuAE9TR19DT01QSUxFX0NPTlRFWFRTIDxtb2RlPgBPRkYgfCBPTiBEaXNhYmxlL2VuYWJsZSB0aGUgdXNlIG9mIGJhY2tncm91bmQgY29tcGlsZWQgY29udGV4dHMgYW5kIHRocmVhZHMuAE9TR19TRVJJQUxJWkVfRFJBV19ESVNQQVRDSCA8bW9kZT4AT0ZGIHwgT04gRGlzYWJsZS9lbmFibGUgdGhlIHVzZSBvZiBhIG11dGV4IHRvIHNlcmlhbGl6ZSB0aGUgZHJhdyBkaXNwYXRjaCB3aGVuIHRoZXJlIGFyZSBtdWx0aXBsZSBncmFwaGljcyB0aHJlYWRzLgBPU0dfVVNFX1NDRU5FVklFV19GT1JfU1RFUkVPIDxtb2RlPgBPRkYgfCBPTiBEaXNhYmxlL2VuYWJsZSB0aGUgaGludCB0byB1c2Ugb3NnVXRpbDo6U2NlbmVWaWV3IHRvIGltcGxlbWVudCBzdGVyZW8gd2hlbiByZXF1aXJlZC4uAE9TR19OVU1fREFUQUJBU0VfVEhSRUFEUyA8aW50PgBTZXQgdGhlIGhpbnQgZm9yIHRoZSB0b3RhbCBudW1iZXIgb2YgdGhyZWFkcyB0byBzZXQgdXAgaW4gdGhlIERhdGFiYXNlUGFnZXIuAE9TR19OVU1fSFRUUF9EQVRBQkFTRV9USFJFQURTIDxpbnQ+AFNldCB0aGUgaGludCBmb3IgdGhlIHRvdGFsIG51bWJlciBvZiB0aHJlYWRzIGRlZGljYXRlZCB0byBodHRwIHJlcXVlc3RzIHRvIHNldCB1cCBpbiB0aGUgRGF0YWJhc2VQYWdlci4AT1NHX01VTFRJX1NBTVBMRVMgPGludD4AU2V0IHRoZSBoaW50IGZvciB0aGUgbnVtYmVyIG9mIHNhbXBsZXMgdG8gdXNlIHdoZW4gbXVsdGktc2FtcGxpbmcuAE9TR19URVhUVVJFX1BPT0xfU0laRSA8aW50PgBTZXQgdGhlIGhpbnQgZm9yIHRoZSBzaXplIG9mIHRoZSB0ZXh0dXJlIHBvb2wgdG8gbWFuYWdlLgBPU0dfQlVGRkVSX09CSkVDVF9QT09MX1NJWkUgPGludD4AU2V0IHRoZSBoaW50IGZvciB0aGUgc2l6ZSBvZiB0aGUgdmVydGV4IGJ1ZmZlciBvYmplY3QgcG9vbCB0byBtYW5hZ2UuAE9TR19GQk9fUE9PTF9TSVpFIDxpbnQ+AFNldCB0aGUgaGludCBmb3IgdGhlIHNpemUgb2YgdGhlIGZyYW1lIGJ1ZmZlciBvYmplY3QgcG9vbCB0byBtYW5hZ2UuAE9GRiB8IERFRkFVTFQgfCBbfl1DT0xPUiB8IFt+XURFUFRIIHwgW35dU1RFTkNJTC4gU3Vic3RpdHV0ZSBtaXNzaW5nIGJ1ZmZlciBhdHRhY2htZW50cyBmb3IgcmVuZGVyIEZCTy4AT0ZGIHwgREVGQVVMVCB8IFt+XUNPTE9SIHwgW35dREVQVEggfCBbfl1TVEVOQ0lMLiBTdWJzdGl0dXRlIG1pc3NpbmcgYnVmZmVyIGF0dGFjaG1lbnRzIGZvciByZXNvbHZlIEZCTy4AT1NHX0dMX0NPTlRFWFRfVkVSU0lPTiA8bWFqb3IubWlub3I+AFNldCB0aGUgaGludCBmb3IgdGhlIEdMIHZlcnNpb24gdG8gY3JlYXRlIGNvbnRleHRzIGZvci4AT1NHX0dMX0NPTlRFWFRfRkxBR1MgPHVpbnQ+AFNldCB0aGUgaGludCBmb3IgdGhlIEdMIGNvbnRleHQgZmxhZ3MgdG8gdXNlIHdoZW4gY3JlYXRpbmcgY29udGV4dHMuAE9TR19HTF9DT05URVhUX1BST0ZJTEVfTUFTSyA8dWludD4AU2V0IHRoZSBoaW50IGZvciB0aGUgR0wgY29udGV4dCBwcm9maWxlIG1hc2sgdG8gdXNlIHdoZW4gY3JlYXRpbmcgY29udGV4dHMuAE9TR19TV0FQX01FVEhPRCA8bWV0aG9kPgBERUZBVUxUIHwgRVhDSEFOR0UgfCBDT1BZIHwgVU5ERUZJTkVELiBTZWxlY3QgcHJlZmVycmVkIHN3YXAgbWV0aG9kLgBPU0dfS0VZU1RPTkUgT04gfCBPRkYAU3BlY2lmeSB0aGUgaGludCB0byB3aGV0aGVyIHRoZSB2aWV3ZXIgc2hvdWxkIHNldCB1cCBrZXlzdG9uZSBjb3JyZWN0aW9uLgBPU0dfS0VZU1RPTkVfRklMRVMgPGZpbGVuYW1lPls6ZmlsZW5hbWVdLi4AU3BlY2lmeSBmaWxlbmFtZXMgb2Yga2V5c3RvbmUgcGFyYW1ldGVyIGZpbGVzLiBVbmRlciBXaW5kb3dzIHVzZSA7IHRvIGRlbGltaW5hdGUgZmlsZXMsIG90aGVyd2lzZSB1c2UgOgBPU0dfTUVOVUJBUl9CRUhBVklPUiA8YmVoYXZpb3I+AE9TWCBPbmx5IDogU3BlY2lmeSB0aGUgYmVoYXZpb3Igb2YgdGhlIG1lbnViYXIgKEFVVE9fSElERSwgRk9SQ0VfSElERSwgRk9SQ0VfU0hPVykAT1NHX052T3B0aW11c0VuYWJsZW1lbnQgPHZhbHVlPgBTZXQgdGhlIGhpbnQgdG8gTnZPcHRpbXVzIG9mIHdoZXRoZXIgdG8gZW5hYmxlIGl0IG9yIG5vdCwgc2V0IDEgdG8gZW5hYmxlLCAwIHRvIGRpc2FibGUAT1NHX1ZFUlRFWF9CVUZGRVJfSElOVCA8dmFsdWU+AFNldCB0aGUgaGludCB0byB3aGF0IGJhY2tlbmQgb3NnOjpHZW9tZXRyeSBpbXBsZW1lbnRhdGlvbiB0byB1c2UuIE5PX1BSRUZFUkVOQ0UgfCBWRVJURVhfQlVGRkVSX09CSkVDVCB8IFZFUlRFWF9BUlJBWV9PQkpFQ1QAT1NHX1NIQURFUl9QSVBFTElORSA8ZW5hYmxlPgBPTnxJRkYAU3BlY2lmeSB0aGUgc2hhZGVyIGZpbGVzIHRvIHVzZSBmb3Igd2hlbiBTaGFkZXIgUGlwZWxpbmUgaXMgZW5hYmxlZABPU0dfU0hBREVSX1BJUEVMSU5FX05VTV9URVhUVVJFX1VOSVRTIDx2YWx1ZT4AU3BlY2lmaXkgbnVtYmVyIG9mIHRleHR1cmUgdW5pdHMgU2hhZGVyIFBpcGVsaW5lIHNoYWRlcnMgc3VwcG9ydABPU0dfVEVYVF9TSEFERVJfVEVDSE5JUVVFIDx2YWx1ZT4AU2V0IHRoZSBkZWZhZnVsdCBvc2dUZXh0OjpTaGFkZXJUZWNobmlxdWUuIEFMTF9GRUFUVVJFUyB8IEFMTCB8IEdSRVlTQ0FMRSB8IFNJR05FRF9ESVNUQU5DRV9GSUVMRCB8IFNERiB8IE5PX1RFWFRfU0hBREVSIHwgTk9ORQBPU0dfR0xfRVhURU5TSU9OX0RJU0FCTEUgPHZhbHVlPgBVc2Ugc3BhY2UgZGVsaW1pbmFydGVkIGxpc3Qgb2YgR0wgZXh0ZW5zaW9ucyB0byBkaXNhYmxlIGFzc29jaWF0ZWQgR0wgZXh0ZW5zaW9ucwBPU0dfTUFYX1RFWFRVUkVfU0laRSA8dmFsdWU+AENsYW1wIHRoZSBtYXhpbXVtIEdMIHRleHR1cmUgc2l6ZSB0byBzcGVjaWZpZWQgdmFsdWUuAE9TR19OT1RJRllfTEVWRUwgPG1vZGU+AEZBVEFMIHwgV0FSTiB8IE5PVElDRSB8IERFQlVHX0lORk8gfCBERUJVR19GUCB8IERFQlVHIHwgSU5GTyB8IEFMV0FZUwBOMTFPcGVuVGhyZWFkczE0UmVlbnRyYW50TXV0ZXhFAE4zb3NnMTZBcHBsaWNhdGlvblVzYWdlRQBjaGVja01pcG1hcEFyZ3MoaW50ZXJuYWxGb3JtYXQsZm9ybWF0LHR5cGUpID09IDAAZ2x1QnVpbGQyRE1pcG1hcExldmVsc0NvcmUAd2lkdGggPj0gMSAmJiBoZWlnaHQgPj0gMQBmb3JtYXQgPT0gR0xfUkdCACEod2lkdGggPT0gMSAmJiBoZWlnaHQgPT0gMSkAaGFsdmVJbWFnZVBhY2tlZFBpeGVsAHdpZHRoICE9IGhlaWdodABoYWx2ZTFEaW1hZ2VQYWNrZWRQaXhlbAB3aWR0aCAhPSAxAHNyYyA9PSAmKChjb25zdCBjaGFyICopZGF0YUluKVtyb3dTaXplSW5CeXRlc10Ab3V0SW5kZXggPT0gaGFsZldpZHRoICogaGFsZkhlaWdodABzcmMgPT0gJigoY29uc3QgY2hhciAqKWRhdGFJbilbcm93U2l6ZUluQnl0ZXMqaGVpZ2h0XQBvdXRpbmRleCA9PSAod2lkdGhPdXQqaGVpZ2h0T3V0IC0gMSkAc2NhbGVJbnRlcm5hbFBhY2tlZFBpeGVsAGhhbHZlSW1hZ2VfZmxvYXQAaGFsdmUxRGltYWdlX2Zsb2F0AHNyYyA9PSAmKChjb25zdCBjaGFyICopZGF0YUluKVt5c2l6ZSpoZWlnaHRdAChjaGFyICopZGVzdCA9PSAmKChjaGFyICopZGF0YU91dCkgW2NvbXBvbmVudHMgKiBlbGVtZW50X3NpemUgKiBoYWxmV2lkdGggKiBoYWxmSGVpZ2h0XQBoYWx2ZUltYWdlX2ludABoYWx2ZTFEaW1hZ2VfaW50AGhhbHZlSW1hZ2VfdWludABoYWx2ZTFEaW1hZ2VfdWludABoYWx2ZUltYWdlX3Nob3J0AGhhbHZlMURpbWFnZV9zaG9ydABoYWx2ZUltYWdlX3VzaG9ydABoYWx2ZTFEaW1hZ2VfdXNob3J0AGhhbHZlSW1hZ2VfYnl0ZQBoYWx2ZTFEaW1hZ2VfYnl0ZQBoYWx2ZUltYWdlX3VieXRlAGhhbHZlMURpbWFnZV91Ynl0ZQBOU3QzX18yMTliYXNpY19vc3RyaW5nc3RyZWFtSWNOU18xMWNoYXJfdHJhaXRzSWNFRU5TXzlhbGxvY2F0b3JJY0VFRUUAV2FybmluZzogbmV3IE1heEdMQnVmZmVyT2JqZWN0UG9vbFNpemU9ACBpcyBzbWFsbGVyIHRoYW4gY3VycmVudCBHTEJ1ZmZlck9iamVjdFBvb2xTaXplPQBDb250ZXh0RGF0YTo6Y3JlYXRlTmV3Q29udGV4dElEKCkgOiByZXVzaW5nIGNvbnRleHRJRD0AQ29udGV4dERhdGE6OmNyZWF0ZU5ld0NvbnRleHRJRCgpIGNyZWF0aW5nIGNvbnRleHRJRD0AVXBkYXRpbmcgdGhlIE1heE51bWJlck9mR3JhcGhpY3NDb250ZXh0cyB0byAAQ29udGV4dERhdGE6OmluY3JlbWVudENvbnRleHRJRFVzYWdlQ291bnQoACkgdG8gAENvbnRleHREYXRhOjpyZWdpc3RlckdyYXBoaWNzQ29udGV4dCAAQ29udGV4dERhdGE6OmdldFJlZ2lzdGVyZWRHcmFwaGljc0NvbnRleHRzIAAgY29udGV4dHMuc2l6ZSgpPQBDb250ZXh0RGF0YTo6Y3JlYXRlQ29tcGlsZUNvbnRleHQuACAgIHN1Y2NlZWRlZCBDb250ZXh0RGF0YTo6Y3JlYXRlQ29tcGlsZUNvbnRleHQuAFdhcm5pbmc6IEdyYXBoaWNzQ29udGV4dDo6V2luZG93aW5nU3lzdGVtSW50ZXJmYWNlczo6Z2V0V2luZG93aW5nU3lzdGVtSW50ZXJmYWNlKCkgZmFpbGVkLCBubyBpbnRlcmZhY2VzIGF2YWlsYWJsZS4AICAgdHJpZWQgaW50ZXJmYWNlIABOM29zZzdyZWZfcHRySU5TXzE1R3JhcGhpY3NDb250ZXh0MjRXaW5kb3dpbmdTeXN0ZW1JbnRlcmZhY2VFRUUALCBuYW1lPSAAV2FybmluZzogR3JhcGhpY3NDb250ZXh0OjpXaW5kb3dpbmdTeXN0ZW1JbnRlcmZhY2VzOjpnZXRXaW5kb3dpbmdTeXN0ZW1JbnRlcmZhY2UoKSBmYWlsZWQsIG5vIGludGVyZmFjZXMgbWF0Y2hlcyBuYW1lIDogAE4zb3NnMTVHcmFwaGljc0NvbnRleHQ2VHJhaXRzRQBOM29zZzE1R3JhcGhpY3NDb250ZXh0MTZTY3JlZW5JZGVudGlmaWVyRQBOM29zZzIwQ29vcmRpbmF0ZVN5c3RlbU5vZGVFAERpc3BsYXlTZXR0aW5nczo6Z2V0VmFsdWUoACkgZm91bmQgZXhpc3RpbmcgdmFsdWUgPSBbACkgZm91bmQgZ2V0RW52VmFyIHZhbHVlID0gWwBFcnJvcjogRnJhbWVCdWZmZXJBdHRhY2htZW50OjpGcmFtZUJ1ZmZlckF0dGFjaG1lbnQoQ2FtZXJhOjpBdHRhY2htZW50JikgcGFzc2VkIGFuIGVtcHR5IG9zZzo6SW1hZ2UsIGltYWdlIG11c3QgYmUgYWxsb2NhdGVkIGZpcnN0LgBFcnJvcjogRnJhbWVCdWZmZXJBdHRhY2htZW50OjpGcmFtZUJ1ZmZlckF0dGFjaG1lbnQoQ2FtZXJhOjpBdHRhY2htZW50JikgcGFzc2VkIGFuIHVucmVjb2duaXNlZCBUZXh0dXJlIHR5cGUuAE4zb3NnMTNUZW1wbGF0ZUFycmF5SU5TXzVWZWMyZkVMTlNfNUFycmF5NFR5cGVFMjdFTGkyRUxpNTEyNkVFRQBOM29zZzExTWl4aW5WZWN0b3JJTlNfNVZlYzJmRUVFAE5TdDNfXzIxOGJhc2ljX3N0cmluZ3N0cmVhbUljTlNfMTFjaGFyX3RyYWl0c0ljRUVOU185YWxsb2NhdG9ySWNFRUVFAERJU1BMQVkARG9pbmcgYWRkAFN3YXBCdWZmZXJzAENyZWF0ZWQgU3luY1N3YXBCdWZmZXJzQ2FsbGJhY2suAE4zb3NnMjFHZW9tZXRyeUNvc3RFc3RpbWF0b3JFAE4zb3NnMjBUZXh0dXJlQ29zdEVzdGltYXRvckUAVGV4dHVyZUNvc3RFc3RpbWF0b3I6OmVzdGltYXRlQ29tcGlsZUNvc3QoKSwgc2l6ZT0ATjNvc2cyMFByb2dyYW1Db3N0RXN0aW1hdG9yRQBHcmFwaGljc0Nvc3RFc3RpbWF0b3I6OmNhbGlicmF0ZSguLikAQmxvY2sAT2JzZXJ2ZXJOb2RlUGF0aDo6Z2V0Tm9kZVBhdGgoKSBub2RlIGhhcyBiZWVuIGludmFsaWRhdGVkAFdhcm5pbmc6IGRlbGV0aW5nIHN0aWxsIHJlZmVyZW5jZWQgb2JqZWN0IAAgb2YgdHlwZSAnAFBOM29zZzEwUmVmZXJlbmNlZEUAJwAgICAgICAgICB0aGUgZmluYWwgcmVmZXJlbmNlIGNvdW50IHdhcyAALCBtZW1vcnkgY29ycnVwdGlvbiBwb3NzaWJsZS4AV2FybmluZyBSZWZlcmVuY2VkOjpzaWduYWxPYnNlcnZlcnNBbmREZWxldGUoLCwpIGRvaW5nIGRlbGV0ZSB3aXRoIF9yZWZDb3VudD0ATjNvc2cxMFJlZmVyZW5jZWRFACAgZm9ybWF0PQBXYXJuaW5nOiBObyBzdWl0YWJsZSBzaGFkZXIgb2Ygc3VwcG9ydGVkIGZvcm1hdCBieSBHTEVTIGRyaXZlciBmb3VuZCBpbiBzaGFkZXIgYmluYXJ5LCB1bmFibGUgdG8gY29tcGlsZSBzaGFkZXIuAG9zZzo6U2hhZGVyOjpjb21waWxlU2hhZGVyKCk6IE5vIHN1aXRhYmxlIHNoYWRlciBvZiBzdXBwb3J0ZWQgZm9ybWF0IGJ5IEdMRVMgZHJpdmVyIGZvdW5kIGluIHNoYWRlciBiaW5hcnksIGZhbGxpbmcgYmFjayB0byBzaGFkZXIgc291cmNlLgBXYXJuaW5nOiBObyBzaGFkZXIgYmluYXJ5IGZvcm1hdHMgc3VwcG9ydGVkIGJ5IEdMRVMgZHJpdmVyLCB1bmFibGUgdG8gY29tcGlsZSBzaGFkZXIuAG9zZzo6U2hhZGVyOjpjb21waWxlU2hhZGVyKCk6IE5vIHNoYWRlciBiaW5hcnkgZm9ybWF0cyBzdXBwb3J0ZWQgYnkgR0xFUyBkcml2ZXIsIGZhbGxpbmcgYmFjayB0byBzaGFkZXIgc291cmNlLgAKQ29tcGlsaW5nIABVTkRFRklORUQAQ09NUFVURQBGUkFHTUVOVABHRU9NRVRSWQBURVNTRVZBTFVBVElPTgBURVNTQ09OVFJPTABWRVJURVgAIHNvdXJjZToKAApDb21waWxpbmcgQSA6ACAJAAoNACN2ZXJzaW9uAC8vIGZvbGxvd2luZyB2ZXJzaW9uIHNwZWMgaGFzIGJlZW4gYXV0b21hdGljYWxseSByZWFzc2lnbmVkIHRvIHN0YXJ0IG9mIHNvdXJjZSBsaXN0OiAACkNvbXBpbGluZyBCOiAACkNvbXBpbGluZyBDOiAAIGdsQ29tcGlsZVNoYWRlciAiACIgRkFJTEVEACBTaGFkZXIgIgAiIGluZm9sb2c6CgBTdGF0ZTo6Y29udmVydFNoYWRlclNvdXJjZVRvT3NnQnVpbHRJbnMoKQArK0JlZm9yZSBDb252ZXJ0ZWQgc291cmNlIAArKysrKysrKwBhdHRyaWJ1dGUgAHNoYWRlciB2ZXJzaW9uIGZvdW5kOiAAaW4gAGZ0cmFuc2Zvcm0oKQBnbF9Nb2RlbFZpZXdQcm9qZWN0aW9uTWF0cml4ICogZ2xfVmVydGV4AGdsX01vZGVsVmlld01hdHJpeABvc2dfTW9kZWxWaWV3TWF0cml4AG1hdDQgAGdsX01vZGVsVmlld1Byb2plY3Rpb25NYXRyaXgAb3NnX01vZGVsVmlld1Byb2plY3Rpb25NYXRyaXgAZ2xfUHJvamVjdGlvbk1hdHJpeABvc2dfUHJvamVjdGlvbk1hdHJpeABnbF9Ob3JtYWxNYXRyaXgAb3NnX05vcm1hbE1hdHJpeABtYXQzIAAtLS0tLS0tLSBDb252ZXJ0ZWQgc291cmNlIAAtLS0tLS0tLS0tLS0tLS0tAEFCQ0RFRkdISUpLTE1OT1BRUlRTVVZXWFlaYWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXowMTIzNDU2Nzg5XwBTaGFkZXIgdHlwZSBpcyBVTkRFRklORUQAR0xTaGFkZXJNYW5hZ2VyADE1R0xTaGFkZXJNYW5hZ2VyAE4zb3NnNlNoYWRlcjE2UGVyQ29udGV4dFNoYWRlckUAI2RlZmluZSAAIDEAIDAATjNvc2c2U2hhZGVyMTNTaGFkZXJPYmplY3RzRQBTaGFkZXIATjNvc2c2U2hhZGVyRQBTaGFkZXJDb21wb3Nlcjo6Y29tcG9zZU1haW4oU2hhZGVycykgc2hhZGVycy5zaXplKCk9PQBXYXJuaW5nOlNoYWRlckNvbXBvc2VyOjpjb21wb3NlTWFpbigpIG1peGluZyBkaWZmZXJlbnQgdHlwZXMgb2YgU2hhZGVycyBwcm9oaWJpdGVkLgB2b2lkIG1haW4odm9pZCkKAHR5cGUgPT0AZnVsbF9zb3VyY2UgPT0gAGVuZCBvZiBTaGFkZXJDb21wb3Nlcjo6Y29tcG9zZU1haW4oU2hhZGVycykAI3ByYWdtYQAKRm91bmQgcHJhZ21hIGxpbmUgWwBdACAJKABpbXBvcnRfZGVmaW5lcwBpbXBvcnRfbW9kZXMAaW1wb3J0X3RleHR1cmVfbW9kZXMAcmVxdWlyZXMAICBrZXl3b3JkIG5vdCBtYXRjaGVkIFsAICAgIEZvdW5kIGtleXdvcmQgWwBdIGJ1dCBub3QgbWF0Y2hlZCAoKQoAU2hhZGVyOjpfcGFyc2VTaGFkZXJEZWZpbmVzKAAgCSwAIAksKQAgICBzZXR0aW5nIGluZGV4KAAgICBkZWZpbmVzLmluc2VydCgAU2hhZGVyQ29tcG9zZXI6OmdldE9yQ3JlYXRlUHJvZ3JhbShzaGFkZXJDb21wb25lbnRzLnNpemUoKT09AFdhcm5pbmc6IFNoYWRlckNvbXBvc2U6OmdldE9yQ3JlYXRlUHJvZ2FtKFNoYWRlckNvbXBvbnRzKSBlbmNvdW50ZXJkIGludmFsaWQgU2hhZGVyOjpUeXBlLgBTaGFkZXJDb21wb3Nlcjo6Z2V0T3JDcmVhdGVQcm9ncmFtKC4uKSBjcmVhdGVkIG5ldyBQcm9ncmFtAFNoYWRlckNvbXBvc2VyAFNoYWRlckNvbXBvc2VyOjpTaGFkZXJDb21wb3Nlcihjb25zdCBTaGFkZXJDb21wb3NlciYsIGNvbnN0IENvcHlPcCYgY29weW9wKSAAU2hhZGVyQ29tcG9zZXI6OlNoYWRlckNvbXBvc2VyKCkgAFNoYWRlckNvbXBvc2VyOjp+U2hhZGVyQ29tcG9zZXIoKSAATjNvc2cxNFNoYWRlckNvbXBvc2VyRQBOM29zZzVTaGFwZUUATjNvc2cxM1RlbXBsYXRlQXJyYXlJZkxOU181QXJyYXk0VHlwZUU3RUxpMUVMaTUxMjZFRUUATjNvc2cxMU1peGluVmVjdG9ySWZFRQBOM29zZzExSGVpZ2h0RmllbGRFAEdMX1RFWFRVUkVfMkRfTVVMVElTQU1QTEUAR0xfVEVYVFVSRV8yRF9BUlJBWQBHTF9URVhUVVJFMABHTF9URVhUVVJFMQBHTF9URVhUVVJFMgBHTF9URVhUVVJFMwBHTF9URVhUVVJFNABHTF9URVhUVVJFNQBHTF9URVhUVVJFNgBHTF9URVhUVVJFNwBHTF9SRUQAR0xfUkcAb3NnX1RleHR1cmVGb3JtYXQAI2RlZmluZSBURVhUVVJFX1ZFUlRfREVDTEFSRQAgdmFyeWluZyB2ZWM0IFRleENvb3JkADsAI2RlZmluZSBURVhUVVJFX1ZFUlRfQk9EWQAgVGV4Q29vcmQAID0gZ2xfTXVsdGlUZXhDb29yZAAjZGVmaW5lIFRFWFRVUkVfRlJBR19ERUNMQVJFACB1bmlmb3JtIHNhbXBsZXIxRCBzYW1wbGVyADsgdmFyeWluZyB2ZWM0IFRleENvb3JkACNkZWZpbmUgVEVYVFVSRV9GVU5DVElPTgAoKSB0ZXh0dXJlMUQoIHNhbXBsZXIALCBUZXhDb29yZAAucykAIHVuaWZvcm0gc2FtcGxlcjJEIHNhbXBsZXIAKCkgdGV4dHVyZTJEKCBzYW1wbGVyAC5zdCkAIHVuaWZvcm0gc2FtcGxlclJlY3RhbmdsZSBzYW1wbGVyACgpIHRleHR1cmVSZWN0YW5nbGUoIHNhbXBsZXIAIHVuaWZvcm0gc2FtcGxlcjNEIHNhbXBsZXIAKCkgdGV4dHVyZTNEKCBzYW1wbGVyAC5zdHIpACB1bmlmb3JtIHNhbXBsZXJDdWJlTWFwIHNhbXBsZXIAKCkgdGV4dHVyZUN1YmVNYXAoIHNhbXBsZXIAIHVuaWZvcm0gc2FtcGxlcjJEQXJyYXkgc2FtcGxlcgAoKSB0ZXh0dXJlMkRBcnJheSggc2FtcGxlcgBVbmltcGxlbWVudGVkIDogVW5pZm9ybUJhc2U6OmFwcGx5KGNvbnN0IEdMRXh0ZW5zaW9ucyosIEdMaW50KQBOMTFPcGVuVGhyZWFkczIzUFRocmVhZE11dGV4UHJpdmF0ZURhdGFFAE4xMU9wZW5UaHJlYWRzNU11dGV4RQBVbmlmb3JtIEFkZGluZyBwYXJlbnQAVW5pZm9ybUJhc2UATjNvc2cxMVVuaWZvcm1CYXNlRQBJbnRBcnJheVVuaWZvcm0ATjNvc2cyMFRlbXBsYXRlQXJyYXlVbmlmb3JtSWlFRQBHTF9WRU5ET1IgPSBbAEdMX0VYVF9zZWNvbmRhcnlfY29sb3IAR0xfRVhUX2ZvZ19jb29yZABvc2c6OlN0YXRlOjppbml0aWFsaXplRXh0ZW5zaW9uUHJvY3MoKSBfZm9yY2VWZXJ0ZXhBcnJheU9iamVjdCA9IAAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBfZm9yY2VWZXJ0ZXhCdWZmZXJPYmplY3QgPSAAZ2xDbGllbnRBY3RpdmVUZXh0dXJlQVJCAGdsQWN0aXZlVGV4dHVyZUFSQgBnbEZvZ0Nvb3JkUG9pbnRlcgBnbEZvZ0Nvb3JkUG9pbnRlckVYVABnbFNlY29uZGFyeUNvbG9yUG9pbnRlcgBnbFNlY29uZGFyeUNvbG9yUG9pbnRlckVYVABnbFZlcnRleEF0dHJpYlBvaW50ZXJBUkIAZ2xWZXJ0ZXhBdHRyaWJMUG9pbnRlcgBnbEVuYWJsZVZlcnRleEF0dHJpYkFycmF5QVJCAGdsTXVsdGlUZXhDb29yZDRmAGdsTXVsdGlUZXhDb29yZDRmQVJCAGdsRGlzYWJsZVZlcnRleEF0dHJpYkFycmF5QVJCAGdsQmluZEJ1ZmZlckFSQgBnbERyYXdBcnJheXNJbnN0YW5jZWRBUkIAZ2xEcmF3QXJyYXlzSW5zdGFuY2VkRVhUAGdsRHJhd0VsZW1lbnRzSW5zdGFuY2VkQVJCAGdsRHJhd0VsZW1lbnRzSW5zdGFuY2VkRVhUAEdMX0FSQl92ZXJ0ZXhfc2hhZGVyAFJhZGVvbgBSQURFT04ARmlyZVBybwBWZXJ0ZXhBdHRyaWJBcnJheURpc3BhdGNoADI1VmVydGV4QXR0cmliQXJyYXlEaXNwYXRjaABOM29zZzE2VmVydGV4QXJyYXlTdGF0ZTEzQXJyYXlEaXNwYXRjaEUAVmVydGV4QXJyYXlTdGF0ZTo6YXNzaWduQ29sb3JBcnJheURpc3BhdGNoZXIoKSBfc3RhdGUtPmdldENvbG9yQWxpYXMoKS5fbG9jYXRpb249AFZlcnRleEFycmF5U3RhdGU6OmFzc2lnbk5vcm1hbEFycmF5RGlzcGF0Y2hlcigpIF9zdGF0ZS0+Z2V0Tm9ybWFsQWxpYXMoKS5fbG9jYXRpb249AFZlcnRleEFycmF5U3RhdGU6OmFzc2lnblZlcnRleEFycmF5RGlzcGF0Y2hlcigpIF9zdGF0ZS0+Z2V0VmVydGV4QWxpYXMoKS5fbG9jYXRpb249AE4zb3NnMTZWZXJ0ZXhBcnJheVN0YXRlRQBOM29zZzVTdGF0ZUUAU3RhdGVTZXQAQWRkaW5nIHBhcmVudABOM29zZzhTdGF0ZVNldEUAU3RlbmNpbABOM29zZzdTdGVuY2lsRQBOM29zZzE2VGV4dHVyZUF0dHJpYnV0ZUUAV2FybmluZzogVGV4TWF0OjphcHBseShTdGF0ZSYpIC0gbm90IHN1cHBvcnRlZC4AVGV4TWF0AE4zb3NnNlRleE1hdEUATjNvc2cxNlRleHR1cmVPYmplY3RTZXRFAF9wYXJlbnQtPmdldEN1cnJUZXh0dXJlUG9vbFNpemUoKT0AIF9wYXJlbnQtPmdldE1heFRleHR1cmVQb29sU2l6ZSgpPQBMb29raW5nIHRvIHJlY2xhaW0gACwgZ29pbmcgdG8gbG9vayB0byByZW1vdmUgACBmcm9tIAAgb3JwaGFucwBUZXh0dXJlT2JqZWN0TWFuYWdlcjo6cmVjb21wdXRlU3RhdHMoKQAgICBudW1PYmplY3RzSW5MaXN0cz0ALCBudW1BY3RpdmU9ACwgbnVtT3JwaGFucz0AIGN1cnJlbnRTaXplPQAgICBnZXRNYXhUZXh0dXJlUG9vbFNpemUoKT0AIGN1cnJlbnQvbWF4IHNpemUgPSAAICAgc2l6ZT0ALCBvcy0+Y29tcHV0ZU51bVRleHR1cmVPYmplY3RzSW5MaXN0KCkALCBvcy0+Z2V0TnVtT2ZUZXh0dXJlT2JqZWN0cygpACwgb3MtPmdldE51bU9ycGhhbnMoKQAsIG9zLT5nZXROdW1QZW5kaW5nT3JwaGFucygpACAgIFdBUk5JTkc6IF9jdXJyVGV4dHVyZVBvb2xTaXplKAApICE9IGN1cnJlbnRTaXplLCBkZWx0YSA9IABUZXh0dXJlT2JqZWN0TWFuYW5nZXI6OnJlcG9ydFN0YXRzKCkAICAgdG90YWwgX251bU9mVGV4dHVyZU9iamVjdHM9ACwgX251bU9ycGhhbmVkVGV4dHVyZU9iamVjdHM9ACBfY3VyclRleHR1cmVQb29sU2l6ZT0AICAgdG90YWwgX251bUdlbmVyYXRlZD0ALCBfZ2VuZXJhdGVUaW1lPQAsIGF2ZXJhZ2VQZXJGcmFtZT0AICAgdG90YWwgX251bURlbGV0ZWQ9ACwgX2RlbGV0ZVRpbWU9AE4zb3NnMjBUZXh0dXJlT2JqZWN0TWFuYWdlckUAVGV4dHVyZQBOM29zZzdUZXh0dXJlRQBTdGF0ZUF0dHJpYnV0ZTo6U2V0dGluZyBVcGRhdGUgY2FsbGJhY2tzAE4zb3NnOVRleHR1cmUxREUARXJyb3IgKioqKioqKioqKioqKioqKiogU2hvdWxkIG5vdCBnZXQgaGVyZSAhISEhISEhISEARXJyb3IgKioqKioqKioqKioqKioqKiogU2hvdWxkIG5vdCBnZXQgaGVyZSBlaXRoZXIgISEhISEhISEhAFJlY2VpdmVkIGEgcmVxdWVzdCB0byBjb21wcmVzcyBhbiBpbWFnZSwgYnV0IGltYWdlIHNpemUgaXMgbm90IGEgbXVsdGlwbGUgb2YgZm91ciAoACkuIFJldmVydGluZyB0byB1bmNvbXByZXNzZWQuCgBXYXJuaW5nOjogTWlwbWFwcGVkIG9zZzo6SW1hZ2Ugbm90IGEgcG93ZXIgb2YgdHdvLCBjYW5ub3QgYXBwbHkgdG8gdGV4dHVyZS4AV2FybmluZzo6IENvbXByZXNzZWQgb3NnOjpJbWFnZSBub3QgYSBwb3dlciBvZiB0d28sIGNhbm5vdCBhcHBseSB0byB0ZXh0dXJlLgBTY2FsaW5nIGltYWdlICcAJyBmcm9tICgAKSB0byAoAFNjYWxpbmcgaW1hZ2UgZnJvbSAoAFdhcm5pbmc6OiBDb21wcmVzc2VkIGltYWdlIGNhbm5vdCBiZSBtaXAgbWFwcGVkAFRleHR1cmU6OmdldENvbXByZXNzZWRTaXplKC4uLikgOiBjYW5ub3QgY29tcHV0ZSBjb3JyZWN0IHNpemUgb2YgY29tcHJlc3NlZCBmb3JtYXQgKAApIHJldHVybmluZyAwLgBUZXh0dXJlT2JqZWN0U2V0PQA6IFJldXNpbmcgYW4gYWN0aXZlIFRleHR1cmVPYmplY3QgACBfbnVtT2ZUZXh0dXJlT2JqZWN0cz0AIHdpZHRoPQAgaGVpZ2h0PQBSZXVzaW5nIGEgcmVjZW50bHkgb3JwaGFuZWQgYWN0aXZlIFRleHR1cmVPYmplY3QgAENyZWF0ZWQgbmV3IAAgVGV4dHVyZU9iamVjdCwgX251bU9mVGV4dHVyZU9iamVjdHMgAE4zb3NnN1RleHR1cmUxM1RleHR1cmVPYmplY3RFAFJldXNpbmcgb3JwaGFuZWQgVGV4dHVyZU9iamVjdCwgX251bU9mVGV4dHVyZU9iamVjdHM9AFRleHR1cmVPYmplY3RNYW5hZ2VyAFRleHR1cmUyRABOM29zZzlUZXh0dXJlMkRFAE4zb3NnMTRUZXh0dXJlMkRBcnJheUUATjNvc2cyMFRleHR1cmUyRE11bHRpc2FtcGxlRQBOM29zZzlUZXh0dXJlM0RFAE4zb3NnMTRUZXh0dXJlQ3ViZU1hcEUAV2FybmluZzogVGV4dHVyZVJlY3RhbmdsZTo6YWxsb2NhdGVNaXBtYXAoU3RhdGUmKSBjYWxsZWQgZXJvbmVvdXNseSwgR0xfVEVYVFVSRV9SRUNUQU5HTEUgZG9lcyBub3Qgc3VwcG9ydCBtaXBtYXBwaW5nLgBXYXJuaW5nOiBUZXh0dXJlUmVjdGFuZ2xlOjphcHBseSguLikgZmFpbGVkLCB0ZXh0dXJlIHJlY3RhbmdsZSBpcyBub3Qgc3VwcG9ydCBieSB5b3VyIE9wZW5HTCBkcml2ZXJzLgBUZXh0dXJlUmVjdGFuZ2xlAE4zb3NnMTZUZXh0dXJlUmVjdGFuZ2xlRQBUcmFuc2Zvcm0ATjNvc2c5VHJhbnNmb3JtRQBjYW5ub3QgY2hhbmdlIFVuaWZvcm0gdHlwZQBOM29zZzE4VGVtcGxhdGVJbmRleEFycmF5SWpMTlNfNUFycmF5NFR5cGVFNkVMaTFFTGk1MTI1RUVFAE4zb3NnMThUZW1wbGF0ZUluZGV4QXJyYXlJaUxOU181QXJyYXk0VHlwZUUzRUxpMUVMaTUxMjRFRUUATjNvc2cxM1RlbXBsYXRlQXJyYXlJZExOU181QXJyYXk0VHlwZUU4RUxpMUVMaTUxMzBFRUUATjNvc2cxMU1peGluVmVjdG9ySWRFRQBob3cgZ290IGhlcmU/IC9ob21lL2tvcm5lcnIvcC9tb3Rvci9tb3Rvci8wMy5Nb3VzZS9tb3Rvci13ZWIvLi4vLi4vLi4vLi4vbW90b3IvLi4vT3BlblNjZW5lR3JhcGgvc3JjL29zZy9Vbmlmb3JtLmNwcDoAVW5pZm9ybQBOM29zZzdVbmlmb3JtRQBOM29zZzE3VXNlckRhdGFDb250YWluZXJFAERlZmF1bHRVc2VyRGF0YUNvbnRhaW5lcgBOM29zZzI0RGVmYXVsdFVzZXJEYXRhQ29udGFpbmVyRQBOM29zZzRWaWV3NVNsYXZlRQB2b2lkIFN0YXRlU2V0OjpzZXRHbG9iYWxEZWZhdWx0cygpAHZvaWQgU3RhdGVTZXQ6OnNldEdsb2JhbERlZmF1bHRzKCkgU2hhZGVyUGlwZWxpbmUgZW5hYmxlZCwgbnVtVGV4dFVuaXRzID0gAEdMX01BWF9URVhUVVJFX1VOSVRTAHZvaWQgU3RhdGVTZXQ6OnNldEdsb2JhbERlZmF1bHRzKCkgU2hhZGVyUGlwZWxpbmUgZGlzYWJsZWQuACAgIFN0YXRlU2V0OjpzZXRHbG9iYWxEZWZhdWx0cygpIFNldHRpbmcgdXAgR0wyIGNvbXBhdGlibGUgc2hhZGVycwAgICBTdGF0ZVNldDo6c2V0R2xvYmFsRGVmYXVsdHMoKSBTZXR0aW5nIHVwIEdMMyBjb21wYXRpYmxlIHNoYWRlcnMAI3ZlcnNpb24gMzAwIGVzCi8vIGdsM19WZXJ0ZXhTaGFkZXIKI2lmZGVmIEdMX0VTCiAgICBwcmVjaXNpb24gaGlnaHAgZmxvYXQ7CiNlbmRpZgppbiB2ZWM0IG9zZ19WZXJ0ZXg7CmluIHZlYzQgb3NnX0NvbG9yOwppbiB2ZWM0IG9zZ19NdWx0aVRleENvb3JkMDsKdW5pZm9ybSBtYXQ0IG9zZ19Nb2RlbFZpZXdQcm9qZWN0aW9uTWF0cml4OwpvdXQgdmVjMiB0ZXhDb29yZDsKb3V0IHZlYzQgdmVydGV4Q29sb3I7CnZvaWQgbWFpbih2b2lkKQp7CiAgICBnbF9Qb3NpdGlvbiA9IG9zZ19Nb2RlbFZpZXdQcm9qZWN0aW9uTWF0cml4ICogb3NnX1ZlcnRleDsKICAgIHRleENvb3JkID0gb3NnX011bHRpVGV4Q29vcmQwLnh5OwogICAgdmVydGV4Q29sb3IgPSBvc2dfQ29sb3I7IAp9CgAjdmVyc2lvbiAzMDAgZXMKLy8gZ2wzX0ZyYWdtZW50U2hhZGVyCiNpZmRlZiBHTF9FUwogICAgcHJlY2lzaW9uIGhpZ2hwIGZsb2F0OwojZW5kaWYKdW5pZm9ybSBzYW1wbGVyMkQgYmFzZVRleHR1cmU7CmluIHZlYzIgdGV4Q29vcmQ7CmluIHZlYzQgdmVydGV4Q29sb3I7Cm91dCB2ZWM0IGNvbG9yOwp2b2lkIG1haW4odm9pZCkKewogICAgY29sb3IgPSB2ZXJ0ZXhDb2xvciAqIHRleHR1cmUoYmFzZVRleHR1cmUsIHRleENvb3JkKTsKfQoAYmFzZVRleHR1cmUALy8gZ2wyX1ZlcnRleFNoYWRlcgojaWZkZWYgR0xfRVMKICAgIHByZWNpc2lvbiBoaWdocCBmbG9hdDsKI2VuZGlmCnZhcnlpbmcgdmVjMiB0ZXhDb29yZDsKdmFyeWluZyB2ZWM0IHZlcnRleENvbG9yOwp2b2lkIG1haW4odm9pZCkKewogICAgZ2xfUG9zaXRpb24gPSBnbF9Nb2RlbFZpZXdQcm9qZWN0aW9uTWF0cml4ICogZ2xfVmVydGV4OwogICAgdGV4Q29vcmQgPSBnbF9NdWx0aVRleENvb3JkMC54eTsKICAgIHZlcnRleENvbG9yID0gZ2xfQ29sb3I7IAp9CgAvLyBnbDJfRnJhZ21lbnRTaGFkZXIKI2lmZGVmIEdMX0VTCiAgICBwcmVjaXNpb24gaGlnaHAgZmxvYXQ7CiNlbmRpZgp1bmlmb3JtIHNhbXBsZXIyRCBiYXNlVGV4dHVyZTsKdmFyeWluZyB2ZWMyIHRleENvb3JkOwp2YXJ5aW5nIHZlYzQgdmVydGV4Q29sb3I7CnZvaWQgbWFpbih2b2lkKQp7CiAgICBnbF9GcmFnQ29sb3IgPSB2ZXJ0ZXhDb2xvciAqIHRleHR1cmUyRChiYXNlVGV4dHVyZSwgdGV4Q29vcmQpOwp9CgBDYW5ub3QgYXNzaWduIGJldHdlZW4gVW5pZm9ybSB0eXBlcyAAdWltYWdlMkRNU0FycmF5AHVpbWFnZTJETVMAdWltYWdlQ3ViZUFycmF5AHVpbWFnZTJEQXJyYXkAdWltYWdlMURBcnJheQB1aW1hZ2VCdWZmZXIAdWltYWdlQ3ViZQB1aW1hZ2UyRFJlY3QAdWltYWdlM0QAdWltYWdlMkQAdWltYWdlMUQAaWltYWdlMkRNU0FycmF5AGlpbWFnZTJETVMAaWltYWdlQ3ViZUFycmF5AGlpbWFnZTJEQXJyYXkAaWltYWdlMURBcnJheQBpaW1hZ2VCdWZmZXIAaWltYWdlQ3ViZQBpaW1hZ2UyRFJlY3QAaWltYWdlM0QAaWltYWdlMkQAaWltYWdlMUQAaW1hZ2UyRE1TQXJyYXkAaW1hZ2UyRE1TAGltYWdlQ3ViZUFycmF5AGltYWdlMkRBcnJheQBpbWFnZTFEQXJyYXkAaW1hZ2VCdWZmZXIAaW1hZ2VDdWJlAGltYWdlMkRSZWN0AGltYWdlM0QAaW1hZ2UyRABpbWFnZTFEAHVzYW1wbGVyMkRSZWN0AHVzYW1wbGVyQnVmZmVyAHVzYW1wbGVyMkRNU0FycmF5AHVzYW1wbGVyMkRNUwB1c2FtcGxlckN1YmVNYXBBcnJheQB1c2FtcGxlcjJEQXJyYXkAdXNhbXBsZXIxREFycmF5AHVzYW1wbGVyQ3ViZQB1c2FtcGxlcjNEAHVzYW1wbGVyMkQAdXNhbXBsZXIxRABpc2FtcGxlcjJEUmVjdABpc2FtcGxlckJ1ZmZlcgBpc2FtcGxlcjJETVNBcnJheQBpc2FtcGxlcjJETVMAaXNhbXBsZXJDdWJlTWFwQXJyYXkAaXNhbXBsZXIyREFycmF5AGlzYW1wbGVyMURBcnJheQBpc2FtcGxlckN1YmUAaXNhbXBsZXIzRABpc2FtcGxlcjJEAGlzYW1wbGVyMUQAc2FtcGxlcjJEUmVjdFNoYWRvdwBzYW1wbGVyMkRSZWN0AHNhbXBsZXJCdWZmZXIAc2FtcGxlckN1YmVNYXBBcnJheVNoYWRvdwBzYW1wbGVyQ3ViZVNoYWRvdwBzYW1wbGVyMkRNU0FycmF5AHNhbXBsZXIyRE1TAHNhbXBsZXIyREFycmF5U2hhZG93AHNhbXBsZXIxREFycmF5U2hhZG93AHNhbXBsZXJDdWJlTWFwQXJyYXkAc2FtcGxlcjJEQXJyYXkAc2FtcGxlcjFEQXJyYXkAc2FtcGxlcjJEU2hhZG93AHNhbXBsZXIxRFNoYWRvdwBzYW1wbGVyQ3ViZQBzYW1wbGVyM0QAc2FtcGxlcjJEAHNhbXBsZXIxRABkbWF0NHgzAGRtYXQ0eDIAZG1hdDN4NABkbWF0M3gyAGRtYXQyeDQAZG1hdDJ4MwBkbWF0NABkbWF0MwBkbWF0MgBtYXQ0eDMAbWF0NHgyAG1hdDN4NABtYXQzeDIAbWF0Mng0AG1hdDJ4MwBtYXQ0AG1hdDMAbWF0MgB1aW50NjRfdABpbnQ2NF90AGJ2ZWM0AGJ2ZWMzAGJ2ZWMyAHVpdmVjNAB1aXZlYzMAdWl2ZWMyAHVpbnQAaXZlYzQAaXZlYzMAaXZlYzIAZHZlYzQAZHZlYzMAZHZlYzIAdmVjNAB2ZWMzAHZlYzIAVW5pZm9ybSBudW1FbGVtZW50cyA8IDEgaXMgaW52YWxpZABXYXJuaW5nOiBVbmlmb3JtOjpzZXROdW1FbGVtZW50cygpIGNhbm5vdCBjaGFuZ2UgVW5pZm9ybSBudW1FbGVtZW50cywgc2l6ZSBhbHJlYWR5IGZpeGVkLgBXYXJuaW5nOiB0ZXh0dXJlIGF0dHJpYnV0ZSAnACdwYXNzZWQgdG8gc2V0QXR0cmlidXRlKGF0dHIsdmFsdWUpLCAAICAgICAgICAgYXNzdW1pbmcgc2V0VGV4dHVyZUF0dHJpYnV0ZSh1bml0PTAsYXR0cix2YWx1ZSkgaW5zdGVhZC4AICAgICAgICAgcGxlYXNlIGNoYW5nZSBjYWxsaW5nIGNvZGUgdG8gdXNlIGFwcHJvcHJpYXRlIGNhbGwuACcgcGFzc2VkIHRvIHNldFRleHR1cmVBdHRyaWJ1dGUodW5pdCxhdHRyLHZhbHVlKSwgACAgICAgICAgIGFzc3VtaW5nIHNldEF0dHJpYnV0ZShhdHRyLHZhbHVlKSBpbnN0ZWFkLgAnIHBhc3NlZCB0byBzZXRBdHRyaWJ1dGVBbmRNb2RlcyhhdHRyLHZhbHVlKSwgACAgICAgICAgIGFzc3VtaW5nIHNldFRleHR1cmVBdHRyaWJ1dGVBbmRNb2Rlcyh1bml0PTAsYXR0cix2YWx1ZSkgaW5zdGVhZC4AV2FybmluZzogbm9uIHRleHR1cmUgYXR0cmlidXRlICcAJyBwYXNzZWQgdG8gc2V0VGV4dHVyZUF0dHJpYnV0ZUFuZE1vZGVzKHVuaXQsYXR0cix2YWx1ZSksIAAgICAgICAgICBhc3N1bWluZyBzZXRBdHRyaWJ1dGVBbmRNb2RlcyhhdHRyLHZhbHVlKSBpbnN0ZWFkLgBXYXJuaW5nOiBub24tdGV4dHVyZSBtb2RlICcAJ3Bhc3NlZCB0byBzZXRUZXh0dXJlTW9kZSh1bml0LG1vZGUsdmFsdWUpLCAAICAgICAgICAgYXNzdW1pbmcgc2V0TW9kZShtb2RlLHZhbHVlKSBpbnN0ZWFkLgAyM1NldEFzc29jaWF0ZU1vZGVzSGVscGVyAE4zb3NnMTRTdGF0ZUF0dHJpYnV0ZTlNb2RlVXNhZ2VFAFdhcm5pbmc6IHRleHR1cmUgbW9kZSAnACdwYXNzZWQgdG8gc2V0TW9kZShtb2RlLHZhbHVlKSwgACAgICAgICAgIGFzc3VtaW5nIHNldFRleHR1cmVNb2RlKHVuaXQ9MCxtb2RlLHZhbHVlKSBpbnN0ZWFkLgBFcnJvcjogU2V0dGluZyBtb2RlICdHTF9DT0xPUl9NQVRFUklBTCcgdmlhIG9zZzo6U3RhdGVTZXQ6OnNldE1vZGUobW9kZSx2YWx1ZSkgaWdub3JlZC4KACAgICAgICBUaGUgbW9kZSAnR0xfQ09MT1JfTUFURVJJQUwnIGlzIHNldCBieSB0aGUgb3NnOjpNYXRlcmlhbCBTdGF0ZUF0dHJpYnV0ZS4KACAgICAgICBTZXR0aW5nIHRoaXMgbW9kZSB3b3VsZCBjb25mdXNlIG9zZydzIFN0YXRlIHRyYWNraW5nLgBEZXN0cnVjdGluZyBvc2c6OlZpZXcARG9uZSBkZXN0cnVjdGluZyBvc2c6OlZpZXcATjNvc2c0Vmlld0UAVmlld3BvcnQATjNvc2c4Vmlld3BvcnRFAE41b3NnR0ExMEV2ZW50UXVldWVFAEV2ZW50VmlzaXRvcgBvc2dHQQBONW9zZ0dBMTJFdmVudFZpc2l0b3JFAEdVSUV2ZW50QWRhcHRlcgBONW9zZ0dBMTVHVUlFdmVudEFkYXB0ZXI5VG91Y2hEYXRhRQBONW9zZ0dBMTVHVUlFdmVudEFkYXB0ZXJFAE41b3NnR0E1RXZlbnRFAE41b3NnR0ExNUdVSUV2ZW50SGFuZGxlckUATjVvc2dHQTEyRXZlbnRIYW5kbGVyRQBIYW5kbGUgZXZlbnQgAE9yYml0TWFuaXB1bGF0b3IATjVvc2dHQTE3Q2FtZXJhTWFuaXB1bGF0b3IyM0Nvb3JkaW5hdGVGcmFtZUNhbGxiYWNrRQBDYW1lcmFNYW5pcHVsYXRvcgBONW9zZ0dBMTdDYW1lcmFNYW5pcHVsYXRvckUAU3RhbmRhcmRNYW5pcHVsYXRvcgBONW9zZ0dBMTlTdGFuZGFyZE1hbmlwdWxhdG9yMTNBbmltYXRpb25EYXRhRQBONW9zZ0dBMTlTdGFuZGFyZE1hbmlwdWxhdG9yRQBUcmFja2JhbGxNYW5pcHVsYXRvcjo6c2V0VHJhY2tiYWxsU2l6ZShmbG9hdCkAV2FybmluZzogACBvZiAAIGlzIGJlbG93IHBlcm1pdHRlZCBtaW5pbXVtLCBjbGFtcGluZyB0byAAIGlzIGFib3ZlIHBlcm1pdHRlZCBtYXhpbXVtLCBjbGFtcGluZyB0byAATjVvc2dHQTE2T3JiaXRNYW5pcHVsYXRvcjE4T3JiaXRBbmltYXRpb25EYXRhRQBJbnRlcnNlY3Rpb25WaXNpdG9yAG9zZ1V0aWwATjdvc2dVdGlsMTlJbnRlcnNlY3Rpb25WaXNpdG9yRQBTdGFuZGFyZE1hbmlwdWxhdG9yOjpmaXhWZXJ0aWNhbEF4aXMgd2FybmluZzogQ2FuIG5vdCB1cGRhdGUgdmVydGljYWwgYXhpcy4ATjdvc2dVdGlsMjJMaW5lU2VnbWVudEludGVyc2VjdG9yRQBON29zZ1V0aWwxMUludGVyc2VjdG9yRQBXYXJuaW5nOiBLZFRyZWU6OmludGVyc2VjdCgpIGVuY291bnRlZCB1bnN1cHBvcnRlZCBwcmltaXRpdmUgc2l6ZSBvZiAAVHJpYW5nbGUgRnVuY3RvciBkb2VzIG5vdCBzdXBwb3J0IFZlYzRkKiB2ZXJ0ZXggYXJyYXlzAFRyaWFuZ2xlIEZ1bmN0b3IgZG9lcyBub3Qgc3VwcG9ydCBWZWMzZCogdmVydGV4IGFycmF5cwBUcmlhbmdsZSBGdW5jdG9yIGRvZXMgbm90IHN1cHBvcnQgVmVjMmQqIHZlcnRleCBhcnJheXMAVHJpYW5nbGUgRnVuY3RvciBkb2VzIG5vdCBzdXBwb3J0IFZlYzQqIHZlcnRleCBhcnJheXMAVHJpYW5nbGUgRnVuY3RvciBkb2VzIG5vdCBzdXBwb3J0IFZlYzIqIHZlcnRleCBhcnJheXMATjNvc2cyNFRlbXBsYXRlUHJpbWl0aXZlRnVuY3RvcklOMjdMaW5lU2VnbWVudEludGVyc2VjdG9yVXRpbHMxNkludGVyc2VjdEZ1bmN0b3JJTlNfNVZlYzNmRWZFRUVFAE4yN0xpbmVTZWdtZW50SW50ZXJzZWN0b3JVdGlsczE2SW50ZXJzZWN0RnVuY3RvcklOM29zZzVWZWMzZkVmRUUATjNvc2cyNFRlbXBsYXRlUHJpbWl0aXZlRnVuY3RvcklOMjdMaW5lU2VnbWVudEludGVyc2VjdG9yVXRpbHMxNkludGVyc2VjdEZ1bmN0b3JJTlNfNVZlYzNkRWRFRUVFAE4yN0xpbmVTZWdtZW50SW50ZXJzZWN0b3JVdGlsczE2SW50ZXJzZWN0RnVuY3RvcklOM29zZzVWZWMzZEVkRUUAYWQAL2hvbWUva29ybmVyci9wL21vdG9yL21vdG9yLzAzLk1vdXNlL21vdG9yLXdlYi8uLi8uLi8uLi8uLi9tb3Rvci8uLi9PcGVuU2NlbmVHcmFwaC9zcmMvb3NnR0EvT3JiaXRNYW5pcHVsYXRvci5jcHAAYXBwbHlBbmltYXRpb25TdGVwAE1hbmlwdWxhdG9yIHdhcm5pbmc6IGV2ZW50VGltZURlbHRhID0gACBDYW1lcmFNYW5pcHVsYXRvcjo6Y29tcHV0ZUhvbWVQb3NpdGlvbigAICAgIGJvdW5kaW5nU3BoZXJlLmNlbnRlcigpID0gKAAgICAgYm91bmRpbmdTcGhlcmUucmFkaXVzKCkgPSAAOiBTcGFjZQBSZXNldCB0aGUgdmlld2luZyBwb3NpdGlvbiB0byBob21lAE1hbmlwdWxhdG9yAE41b3NnR0ExNk9yYml0TWFuaXB1bGF0b3JFAEN1bGxWaXNpdG9yAF9jbGFtcFByb2plY3Rpb25NYXRyaXggbm90IGFwcGxpZWQsIGludmFsaWQgZGVwdGggcmFuZ2UsIHpuZWFyID0gACAgemZhciA9IABOM29zZzI0VGVtcGxhdGVQcmltaXRpdmVGdW5jdG9ySTIxQ29tcHV0ZU5lYXJGYXJGdW5jdG9ySTE3R3JlYXRlckNvbXBhcmF0b3JFRUUAMjFDb21wdXRlTmVhckZhckZ1bmN0b3JJMTdHcmVhdGVyQ29tcGFyYXRvckUATjNvc2cyNFRlbXBsYXRlUHJpbWl0aXZlRnVuY3RvckkyMUNvbXB1dGVOZWFyRmFyRnVuY3RvckkxNExlc3NDb21wYXJhdG9yRUVFADIxQ29tcHV0ZU5lYXJGYXJGdW5jdG9ySTE0TGVzc0NvbXBhcmF0b3JFAE43b3NnVXRpbDExUmVuZGVyU3RhZ2VFAE43b3NnVXRpbDlSZW5kZXJCaW5FAFdhcm5pbmc6IFJlbmRlckJpbiAiACIgaW1wbGVtZW50YXRpb24gbm90IGZvdW5kLCB1c2luZyBkZWZhdWx0IFJlbmRlckJpbiBhcyBhIGZhbGxiYWNrLgBPU0dfREVGQVVMVF9CSU5fU09SVF9NT0RFAFNPUlRfQllfU1RBVEUAU09SVF9CWV9TVEFURV9USEVOX0ZST05UX1RPX0JBQ0sAU09SVF9GUk9OVF9UT19CQUNLAFNPUlRfQkFDS19UT19GUk9OVABUUkFWRVJTQUxfT1JERVIAV2FybmluZzogU3RhdGU6OnJlbW92ZVN0YXRlU2V0KAApIG91dCBvZiByYW5nZQBXYXJuaW5nOiBSZW5kZXJCaW46OmNvcHlMZWF2ZXNGcm9tU3RhdGVHcmFwaExpc3RUb1JlbmRlckxlYWZMaXN0KCkgZGV0ZWN0ZWQgTmFOIGRlcHRoIHZhbHVlcywgZGF0YWJhc2UgbWF5IGJlIGNvcnJ1cHRlZC4AU3RhdGVTb3J0ZWRCaW4ARGVwdGhTb3J0ZWRCaW4AVHJhdmVyc2FsT3JkZXJCaW4AMjJSZW5kZXJCaW5Qcm90b3R5cGVMaXN0AE5TdDNfXzIzbWFwSU5TXzEyYmFzaWNfc3RyaW5nSWNOU18xMWNoYXJfdHJhaXRzSWNFRU5TXzlhbGxvY2F0b3JJY0VFRUVOM29zZzdyZWZfcHRySU43b3NnVXRpbDlSZW5kZXJCaW5FRUVOU180bGVzc0lTNl9FRU5TNF9JTlNfNHBhaXJJS1M2X1NCX0VFRUVFRQBOM29zZzEwZGVwZW5kc19vbklQTjExT3BlblRocmVhZHM1TXV0ZXhFWGFkTF9aTlNfMTBSZWZlcmVuY2VkMjRnZXRHbG9iYWxSZWZlcmVuY2VkTXV0ZXhFdkVFRUUATjdvc2dVdGlsMTBTdGF0ZUdyYXBoRQAgb3IgAHN0YXJ0IG9mIFN0YXRlOjphcHBseSgpAGFmdGVyIGF0dHJpYnV0ZXMgU3RhdGU6OmFwcGx5KCkAZW5kIG9mIFN0YXRlOjphcHBseSgpAFdhcm5pbmc6IGRldGVjdGVkIE9wZW5HTCBlcnJvciAnACcgYWZ0ZXIgYXBwbHlpbmcgYXR0cmlidXRlIABXYXJuaW5nOiBkZXRlY3RlZCBPcGVuR0wgZXJyb3IgbnVtYmVyIDB4ACBhZnRlciBhcHBseWluZyBhdHRyaWJ1dGUgACcgYWZ0ZXIgYXBwbHlpbmcgR0xNb2RlIDB4ACBhZnRlciBhcHBseWluZyBHTE1vZGUgMHgAIGF0ACBpbiBvc2c6OlN0YXRlLgBQb3NpdGlvbmFsU3RhdGVDb250YWluZXIATjdvc2dVdGlsMjRQb3NpdGlvbmFsU3RhdGVDb250YWluZXJFAGFmdGVyIFJlbmRlckJpbjo6ZHJhdyguLikAUmVuZGVyU3RhZ2U6OmRyYXdJbm5lcigsKSBGQk8gc3RhdHVzID0gMHgAV2FybmluZyA6IGZhaWxlZCB0byBjcmVhdGUgVGV4dHVyZUN1YmVNYXAgdGV4dHVyZSBvYmVqZWN0LCBjb3B5VGV4U3ViSW1hZ2VDdWJlTWFwIGFiYW5kb25lZC4AV2FybmluZzogVGV4dHVyZUN1YmVNYXA6OmNvcHlUZXhJbWFnZTJEKCwsLCwpIHN3aXRjaCBvZmYgbWlwIG1hcHBpbmcgYXMgaGFyZHdhcmUgc3VwcG9ydCBub3QgYXZhaWxhYmxlLgBXYXJuaW5nOiBUZXh0dXJlM0Q6OmNvcHlUZXhTdWJJbWFnZTNEKC4uKSBmYWlsZWQsIGNhbm5vdCBub3QgY29weSB0byBhIG5vbiBleGlzdGVudCB0ZXh0dXJlLgBXYXJuaW5nOiBUZXh0dXJlMUQ6OmNvcHlUZXhTdWJJbWFnZTFEKC4uKSBub3Qgc3VwcG9ydGVkLgBXYXJuaW5nOiBUZXh0dXJlMkQ6OmNvcHlUZXhJbWFnZTJEKCwsLCwpIHN3aXRjaCBvZmYgbWlwIG1hcHBpbmcgYXMgaGFyZHdhcmUgc3VwcG9ydCBub3QgYXZhaWxhYmxlLgBBdHRlbXB0aW5nIHRvIHJlYWQgZnJvbSBhIG11bHRpc2FtcGxlZCBmcmFtZWJ1ZmZlciBvYmplY3QuIFNldCBhIHJlc29sdmUgZnJhbWVidWZmZXIgb24gdGhlIFJlbmRlclN0YWdlIHRvIGZpeCB0aGlzLgBFcnJvcjogY2Fubm90IGRyYXcgc3RhZ2UgZHVlIHRvIHVuZGVmaW5lZCB2aWV3cG9ydC4ARHJhd0lubmVyU3RhZ2UAMThEcmF3SW5uZXJPcGVyYXRpb24AUmVuZGVyU3RhZ2U6OnJ1bkNhbWVyYVNldFVwKG9zZzo6UmVuZGVySW5mbyYgcmVuZGVySW5mbykgAFNldHRpbmcgdXAgb3NnOjpDYW1lcmE6OkZSQU1FX0JVRkZFUl9PQkpFQ1QATXVsdGlzYW1wbGUgY29sb3Igc2FtcGxlcyBtdXN0IGJlIGxlc3MgdGhhbiBvciBlcXVhbCB0byBzYW1wbGVzLiBTZXR0aW5nIGNvbG9yIHNhbXBsZXMgZXF1YWwgdG8gc2FtcGxlcy4AUmVuZGVyU3RhZ2U6OnJ1bkNhbWVyYVNldFVwKCksIEZCTyBzZXR1cCBmYWlsZWQsIEZCTyBzdGF0dXM9IDB4AFJlbmRlclN0YWdlOjpydW5DYW1lcmFTZXRVcCgpLCBtdWx0aXNhbXBsZSBGQk8gc2V0dXAgZmFpbGVkLCBGQk8gc3RhdHVzID0gMHgAV0dMX0FSQl9yZW5kZXJfdGV4dHVyZQBXYXJuaW5nOiBSZW5kZXJTdGFnZTo6cnVuQ2FtZXJhU2V0VXAoU3RhdGUmKSBXaW5kb3cgAFdhcm5pbmc6IFJlbmRlclN0YWdlOjpydW5DYW1lcmFTZXRVcChTdGF0ZSYpIFBidWZmZXIgAGRvZXMgbm90IHN1cHBvcnQgbXVsdGlwbGUgY29sb3Igb3V0cHV0cy4AUmVuZGVyU3RhZ2U6OnJ1bkNhbWVyYVNldFVwKFN0YXRlJikgQ29udGV4dCBoYXMgYmVlbiByZWFsaXplZCAAUmVuZGVyU3RhZ2U6OnJ1bkNhbWVyYVNldFVwKFN0YXRlJikgQXNzaWduIGdyYXBoaWNzIGNvbnRleHQgdG8gVGV4dHVyZQBSZW5kZXJTdGFnZTo6cnVuQ2FtZXJhU2V0VXAoU3RhdGUmKSBBc3NpZ25pbmcgdGV4dHVyZSB0byBSZW5kZXJTdGFnZSBzbyB0aGF0IGl0IGRvZXMgdGhlIGNvcHkARmFpbGVkIHRvIGFjcXVpcmUgR3JhcGhpY3MgQ29udGV4dABTZXR0aW5nIHVwIG9zZzo6Q2FtZXJhOjpGUkFNRV9CVUZGRVIAUmVuZGVyU3RhZ2UAV2FybmluZzogb3NnOjpjbG9uZVR5cGUoY29uc3QgVCopIGNsb25lZCBvYmplY3Qgbm90IG9mIHR5cGUgVCwgcmV0dXJuaW5nIE5VTEwuAFdhcm5pbmc6IG9zZzo6Y2xvbmVUeXBlKGNvbnN0IFQqKSBwYXNzZWQgbnVsbCBvYmplY3QgdG8gY2xvbmUsIHJldHVybmluZyBOVUxMLgBSZW5kZXJTdGFnZUNhY2hlAE43b3NnVXRpbDE2UmVuZGVyU3RhZ2VDYWNoZUUAQ3VsbFZpc2l0b3I6OmFwcGx5KEJpbGxib2FyZCYpIGRldGVjdGVkIE5hTiwAICAgIGRlcHRoPQAsIHBvcz0oACksACAgICAqYmlsbGJvYXJkX21hdHJpeD0AICAgIE5vZGVQYXRoOgAgICAgICAgICIAQ3VsbFZpc2l0b3I6Y3JlYXRlT3JSZXVzZVJlbmRlckxlYWYoKSBza2lwcGluZyBtdWx0aXBseSByZWZlcmVuY2VkIGVudHJ5LiBfcmV1c2VSZW5kZXJMZWFmTGlzdC5zaXplKCk9ACBfcmV1c2VSZW5kZXJMZWFmTGlzdFsAXS0+cmVmZXJlbmNlQ291bnQoKT0Ac3RhcnQgb2YgU3RhdGU6OmFwcGx5KFN0YXRlU2V0KikAZW5kIG9mIFN0YXRlOjphcHBseShTdGF0ZVNldCopAE43b3NnVXRpbDEwUmVuZGVyTGVhZkUAewAJAH0AV2FybmluZzogQ3VsbFZpc2l0b3I6OnVwZGF0ZUNhbGN1bGF0ZWROZWFyRmFyKC4pIG5lYXI+ZmFyIGluIHJhbmdlIGNhbGN1bGF0aW9uLAAgICAgICAgICBjb3JyZWN0aW5nIGJ5IHN3YXBwaW5nIHZhbHVlcyBkX25lYXI9ACBkZmFyPQBDdWxsVmlzaXRvcjo6YXBwbHkoR2VvZGUmKSBkZXRlY3RlZCBOYU4sACwgY2VudGVyPSgAICAgIG1hdHJpeD0ATjdvc2dVdGlsMTFDdWxsVmlzaXRvckUAR0xPYmplY3RzVmlzaXRvcgBzdGFydCBvZiBHTE9iamVjdHNWaXNpdG9yOjphcHBseShvc2c6OlN0YXRlU2V0JiBzdGF0ZXNldCkAYWZ0ZXIgc3RhdGVzZXQuY29tcGlsZUdMT2JqZWN0cyBpbiBHTE9iamVjdHNWaXNpdG9yOjphcHBseShvc2c6OlN0YXRlU2V0JiBzdGF0ZXNldCkAYWZ0ZXIgcGNwLT5hcHBseShVbmlmb3JtJikgaW4gR0xPYmplY3RzVmlzaXRvcjo6YXBwbHkob3NnOjpTdGF0ZVNldCYgc3RhdGVzZXQpLCB1bmlmb3JtIG5hbWU6IABhZnRlciBHTE9iamVjdHNWaXNpdG9yOjphcHBseShvc2c6OlN0YXRlU2V0JiBzdGF0ZXNldCkAYmVmb3JlIFN0YXRlU2V0Ojpjb21waWxlR0xPYmVqY3RzKCkAU3RhdGVTZXQ6OmNvbXBpbGVHTE9iZWpjdHMoKSBjb21waWxpbmcgAFN0YXRlU2V0Ojpjb21waWxlR0xPYmVqY3RzKCkgY29tcGlsaW5nIHRleHR1cmUgYXR0cmlidXRlAHN0YXJ0IG9mIEdMT2JqZWN0c1Zpc2l0b3I6OmFwcGx5KG9zZzo6RHJhd2FibGUmIGRyYXdhYmxlKQBhZnRlciBkcmF3YWJsZS5jb21waWxlR0xPYmplY3RzKCkgY2FsbCBpbiBHTE9iamVjdHNWaXNpdG9yOjphcHBseShvc2c6OkRyYXdhYmxlJiBkcmF3YWJsZSkgIABON29zZ1V0aWwxNkdMT2JqZWN0c1Zpc2l0b3JFAE43b3NnVXRpbDE0U3RhdGVUb0NvbXBpbGVFAE43b3NnVXRpbDI3SW5jcmVtZW50YWxDb21waWxlT3BlcmF0aW9uMTdDb21waWxlRHJhd2FibGVPcEUATjdvc2dVdGlsMjdJbmNyZW1lbnRhbENvbXBpbGVPcGVyYXRpb245Q29tcGlsZU9wRQBON29zZ1V0aWwyN0luY3JlbWVudGFsQ29tcGlsZU9wZXJhdGlvbjE2Q29tcGlsZVRleHR1cmVPcEUATjdvc2dVdGlsMjdJbmNyZW1lbnRhbENvbXBpbGVPcGVyYXRpb24xNkNvbXBpbGVQcm9ncmFtT3BFAE43b3NnVXRpbDE0UmF5SW50ZXJzZWN0b3JFAGZpbmlzaGVkIHNlYXJjaGluZyBmb3Igb2NjbHVkZXIgLSBmb3VuZCAAV2FybmluZzogU2NlbmVWaWV3OjpkcmF3KCkgLSBWRVJUSUNBTF9JTlRFUkxBQ0UsIEhPUklaT05UQUxfSU5URVJMQUNFLCBhbmQgQ0hFQ0tFUkJPQVJEIHN0ZXJlbyBub3Qgc3VwcG9ydGVkLgBXYXJuaW5nOiBzdGVyZW8gbW9kZSBub3QgaW1wbGVtZW50ZWQgeWV0LgBlbmQgb2YgU2NlbmVWaWV3OjpkcmF3KCkAV2FybmluZzogbm8gdmFsaWQgb3NnVXRpbDo6U2NlbmVWaWV3Ojpfc3RhdGUgYXR0YWNoZWQsIGNyZWF0aW5nIGEgZGVmYXVsdCBzdGF0ZSBhdXRvbWF0aWNhbGx5LgBXYXJuaW5nOiBubyB2YWxpZCBvc2dVdGlsOjpTY2VuZVZpZXc6OiBhdHRhY2hlZCwgY3JlYXRpbmcgYSBkZWZhdWx0IEN1bGxWaXNpdG9yIGF1dG9tYXRpY2FsbHkuAFdhcm5pbmc6IG5vIHZhbGlkIG9zZ1V0aWw6OlNjZW5lVmlldzo6IGF0dGFjaGVkLCBjcmVhdGluZyBhIGdsb2JhbCBkZWZhdWx0IFN0YXRlR3JhcGggYXV0b21hdGljYWxseS4AV2FybmluZzogbm8gdmFsaWQgb3NnVXRpbDo6U2NlbmVWaWV3OjpfcmVuZGVyU3RhZ2UgYXR0YWNoZWQsIGNyZWF0aW5nIGEgZGVmYXVsdCBSZW5kZXJTdGFnZSBhdXRvbWF0aWNhbGx5LgBON29zZ1V0aWwxMUN1bGxWaXNpdG9yMTBJZGVudGlmaWVyRQBPU0dfR0xfRVJST1JfQ0hFQ0tJTkcAT05DRV9QRVJfQVRUUklCVVRFAGdsX1ZlcnRleABvc2dfVmVydGV4AHZlYzQgAGdsX05vcm1hbABvc2dfTm9ybWFsAHZlYzMgAG9zZ19Db2xvcgBnbF9TZWNvbmRhcnlDb2xvcgBvc2dfU2Vjb25kYXJ5Q29sb3IAZ2xfTXVsdGlUZXhDb29yZABvc2dfTXVsdGlUZXhDb29yZABnbF9Gb2dDb29yZABvc2dfRm9nQ29vcmQAZmxvYXQgAG9zZ19GcmFtZU51bWJlcgBvc2dfRnJhbWVUaW1lAG9zZ19EZWx0YUZyYW1lVGltZQBvc2dfU2ltdWxhdGlvblRpbWUAb3NnX0RlbHRhU2ltdWxhdGlvblRpbWUAb3NnX1ZpZXdNYXRyaXgAb3NnX1ZpZXdNYXRyaXhJbnZlcnNlACdwYXNzZWQgdG8gc2V0VGV4dHVyZU1vZGVUb0luaGVyaXQodW5pdCxtb2RlKSwgACAgICAgICAgIGFzc3VtaW5nIHNldE1vZGVUb0luaGVyaXQodW5pdD0wLG1vZGUpIGluc3RlYWQuADI2UmVtb3ZlQXNzb2NpYXRlTW9kZXNIZWxwZXIAJ3Bhc3NlZCB0byBzZXRNb2RlVG9Jbmhlcml0KG1vZGUpLCAAICAgICAgICAgYXNzdW1pbmcgc2V0VGV4dHVyZU1vZGVUb0luaGVyaXQodW5pdD0wLG1vZGUpIGluc3RlYWQuAEVycm9yOiBTZXR0aW5nIG1vZGUgJ0dMX0NPTE9SX01BVEVSSUFMJyB2aWEgb3NnOjpTdGF0ZVNldDo6cmVtb3ZlTW9kZShtb2RlKSBpZ25vcmVkLgoAVXBkYXRlVmlzaXRvcgBON29zZ1V0aWwxM1VwZGF0ZVZpc2l0b3JFAFNjZW5lVmlldwBXYXJuaW5nOiBhdHRlbXB0IHRvIGFzc2lnbiBhIE5VTEwgY2FtZXJhIHRvIFNjZW5lVmlldyBub3QgcGVybWl0dGVkLgBON29zZ1V0aWw5U2NlbmVWaWV3RQBON29zZ1V0aWwxMFN0YXRpc3RpY3NFAFN0YXRzVmlzaXRvcgBPYmplY3QgVHlwZQBVbmlxdWUASW5zdGFuY2VkAER5bmFtaWMALS0tLS0tLS0tLS0ALS0tLS0tAC0tLS0tLS0tLQBTdGF0ZVNldCAgIAAgIGJpbiAxMCAgIAAgIG90aGVyIGJpbgBHcm91cCAgICAgIABUcmFuc2Zvcm0gIABMT0QgICAgICAgIABTd2l0Y2ggICAgIABHZW9kZSAgICAgIABEcmF3YWJsZSAgIABHZW9tZXRyeSAgIABGYXN0IGdlb20uIABWZXJ0aWNlcyAgIABQcmltaXRpdmVzIABON29zZ1V0aWwxMlN0YXRzVmlzaXRvckUARXJyb3I6IFRocmVhZCAAIHN0aWxsIHJ1bm5pbmcgaW4gZGVzdHJ1Y3RvcgBOMTFPcGVuVGhyZWFkczZUaHJlYWRFAE4xMU9wZW5UaHJlYWRzN0JhcnJpZXJFAEVycm9yOiBwdGhyZWFkX2NvbmRfZGVzdHJveSgsKSByZXR1cm5lZCBlcnJvciBzdGF0dXMsIHN0YXR1cyA9ICVkCgBOMTFPcGVuVGhyZWFkczlDb25kaXRpb25FAE43b3NnVXRpbDIwQmFzZU9wdGltaXplclZpc2l0b3JFACB0byAATjdvc2dVdGlsOU9wdGltaXplcjI4U3RhdGljT2JqZWN0RGV0ZWN0aW9uVmlzaXRvckUAT1NHX0dMX0VSUk9SX0NIRUNLSU5HIDx0eXBlPgBPTkNFX1BFUl9BVFRSSUJVVEUgfCBPTiB8IG9uIGVuYWJsZXMgZmluZSBncmFpbmVkIGNoZWNraW5nLCAgT05DRV9QRVJfRlJBTUUgZW5hYmxlcyBjb2Fyc2UgZ3JhaW5lZCBjaGVja2luZwBPU0dfTUFYX1RFWFRVUkVfU0laRQBTZXQgdGhlIG1heGltdW0gc2l6ZSBvZiB0ZXh0dXJlcy4AT1NHX0dMX1RFWFRVUkVfU1RPUkFHRQBPTnxPRkYgb3IgRU5BQkxFfERJU0FCTEUsIEVuYWJsZXMvZGlzYWJsZXMgdXNhZ2Ugb2YgZ2xUZXhTdG9yYWdlIGZvciB0ZXh0dXJlcyB3aGVyZSBzdXBwb3J0ZWQsIGRlZmF1bHQgaXMgRU5BQkxFRC4AT1NHX01JTklNVU1fQ09NUElMRV9USU1FX1BFUl9GUkFNRSA8ZmxvYXQ+AG1pbmltdW0gY29tcGlsZSB0aW1lIGFsbG90ZWQgdG8gY29tcGlsaW5nIE9wZW5HTCBvYmplY3RzIHBlciBmcmFtZSBpbiBkYXRhYmFzZSBwYWdlci4AT1NHX01BWElNVU1fT0JKRUNUU19UT19DT01QSUxFX1BFUl9GUkFNRSA8aW50PgBtYXhpbXVtIG51bWJlciBvZiBPcGVuR0wgb2JqZWN0cyB0byBjb21waWxlIHBlciBmcmFtZSBpbiBkYXRhYmFzZSBwYWdlci4AT1NHX0ZPUkNFX1RFWFRVUkVfRE9XTkxPQUQgPE9OL09GRj4Ac2hvdWxkIHRoZSB0ZXh0dXJlIGNvbXBpbGVzIGJlIGZvcmNlZCB0byBkb3dubG9hZCB1c2luZyBhIGR1bW15IEdlb21ldHJ5LgBPU0dfT1BUSU1JWkVSICI8dHlwZT4gWzx0eXBlPl0iAE9GRiB8IERFRkFVTFQgfCBGTEFUVEVOX1NUQVRJQ19UUkFOU0ZPUk1TIHwgRkxBVFRFTl9TVEFUSUNfVFJBTlNGT1JNU19EVVBMSUNBVElOR19TSEFSRURfU1VCR1JBUEhTIHwgUkVNT1ZFX1JFRFVOREFOVF9OT0RFUyB8IENPTUJJTkVfQURKQUNFTlRfTE9EUyB8IFNIQVJFX0RVUExJQ0FURV9TVEFURSB8IE1FUkdFX0dFT01FVFJZIHwgTUVSR0VfR0VPREVTIHwgU1BBVElBTElaRV9HUk9VUFMgIHwgQ09QWV9TSEFSRURfTk9ERVMgfCBPUFRJTUlaRV9URVhUVVJFX1NFVFRJTkdTIHwgUkVNT1ZFX0xPQURFRF9QUk9YWV9OT0RFUyB8IFRFU1NFTExBVEVfR0VPTUVUUlkgfCBDSEVDS19HRU9NRVRSWSB8ICBGTEFUVEVOX0JJTExCT0FSRFMgfCBURVhUVVJFX0FUTEFTX0JVSUxERVIgfCBTVEFUSUNfT0JKRUNUX0RFVEVDVElPTiB8IElOREVYX01FU0ggfCBWRVJURVhfUE9TVFRSQU5TRk9STSB8IFZFUlRFWF9QUkVUUkFOU0ZPUk0gfCBCVUZGRVJfT0JKRUNUX1NFVFRJTkdTAE9TR19ERUZBVUxUX0JJTl9TT1JUX01PREUgPHR5cGU+AFNPUlRfQllfU1RBVEUgfCBTT1JUX0JZX1NUQVRFX1RIRU5fRlJPTlRfVE9fQkFDSyB8IFNPUlRfRlJPTlRfVE9fQkFDSyB8IFNPUlRfQkFDS19UT19GUk9OVABvc2c6OlN0YXRlOjpfbWF4VGV4dHVyZVBvb2xTaXplPQBXYXJuaW5nOiBuZXcgTWF4VGV4dHVyZVBvb2xTaXplPQAgaXMgc21hbGxlciB0aGFuIGN1cnJlbnQgVGV4dHVyZVBvb2xTaXplPQBvc2c6OlN0YXRlOjpfbWF4QnVmZmVyT2JqZWN0UG9vbFNpemU9ACAgUmVtb3ZlZCBmcm9tIHBhcmVudCAAICAgQWRkZWQgYmFjayB0byBwYXJlbnQgAEVycm9yOiBpbnZhbGlkICd3aGljaCcgcGFzc2VkIFRleHR1cmU6OnNldFdyYXAoAEVycm9yOiBpbnZhbGlkICd3aGljaCcgcGFzc2VkIFRleHR1cmU6OnNldEZpbHRlcigATjNvc2c1U3RhdHNFAEZhaWxlZCB0byBhc3NpZ24gdmFsaWQgaW5kZXggZm9yIFN0YXRzOjpzZXRBdHRyaWJ1dGUoAEVycm9yOiBpbnZhbGlkICd3aGljaCcgcGFzc2VkIFRleHR1cmU6OmdldEZpbHRlcih3aGljaCkAMTZUcmFuc2Zvcm1WaXNpdG9yACVkLiVkLiVkACAgVmVydGV4QXJyYXlTdGF0ZTo6ZGVsZXRlVmVydGV4QXJyYXlPYmplY3QoKSAAVmVydGV4QXJyYXlTdGF0ZTo6cmVsZWFzZSgpIABWZXJ0ZXhBcnJheVN0YXRlTWFuYWdlcjo6cmVsZWFzZSgAVmVydGV4QXJyYXlTdGF0ZU1hbmFnZXIAVmVydGV4QXJyYXlTdGF0ZU1hbmFnZXI6OmZsdXNoQWxsRGVsZXRlZEdMT2JqZWN0cygpAFZlcnRleEFycmF5U3RhdGVNYW5hZ2VyOjpkZWxldGVBbGxHTE9iamVjdHMoKSBOb3QgY3VycmVudGx5IGltcGxlbWVudGVkAFZlcnRleEFycmF5U3RhdGVNYW5hZ2VyOjpmbHVzaERlbGV0ZWRHTE9iamVjdHMoKQAyM1ZlcnRleEFycmF5U3RhdGVNYW5hZ2VyAFJlc2V0IGV2ZW50IHRpbWUgZnJvbSAAVHJhY2tiYWxsTWFuaXB1bGF0b3IATjVvc2dHQTIwVHJhY2tiYWxsTWFuaXB1bGF0b3JFAGFmdGVyIEdMT2JqZWN0c1Zpc2l0b3I6OmNvbXBpbGUob3NnOjpOb2RlJiBub2RlKQBEdW1teU9iamVjdABOM29zZzExRHVtbXlPYmplY3RFAEluY3JlbWVudGFsQ29tcGlsZU9wZXJhdGlvbjo6YWRkKENvbXBpbGVTZXQgPSAATjdvc2dVdGlsMjdJbmNyZW1lbnRhbENvbXBpbGVPcGVyYXRpb24xMENvbXBpbGVTZXRFAEVycm9yOiBwdGhyZWFkX2tleV9jcmVhdGUoLCkgcmV0dXJuZWQgZXJyb3Igc3RhdHVzLCBzdGF0dXMgPSAlZAoARXJyb3I6IHB0aHJlYWRfY29uZF9pbml0KCwpIHJldHVybmVkIGVycm9yIHN0YXR1cywgc3RhdHVzID0gJWQKAE4xMU9wZW5UaHJlYWRzMjdQVGhyZWFkQ29uZGl0aW9uUHJpdmF0ZURhdGFFAE4xMU9wZW5UaHJlYWRzMThQVGhyZWFkUHJpdmF0ZURhdGFFAEVycm9yOiBwdGhyZWFkX3NldHNwZWNpZmljKCwpIHJldHVybmVkIGVycm9yIHN0YXR1cywgc3RhdHVzID0gJWQKAE4xMU9wZW5UaHJlYWRzMjVQVGhyZWFkQmFycmllclByaXZhdGVEYXRhRQBvc2dEQgBONW9zZ0RCMTJSZWFkZXJXcml0ZXJFAE41b3NnREI3QXJjaGl2ZUUARGF0YWJhc2VQYWdlcjo6UmVxdWVzdFF1ZXVlOjp+UmVxdWVzdFF1ZXVlKCkgRGVzdHJ1Y3RpbmcgcXVldWUuACAgIERhdGFiYXNlUGFnZXI6OkRhdGFiYXNlUmVxdWVzdDo6aW52YWxpZGF0ZSgpLgBONW9zZ0RCMTNEYXRhYmFzZVBhZ2VyMTJSZXF1ZXN0UXVldWVFAE41b3NnREIxM0RhdGFiYXNlUGFnZXI5UmVhZFF1ZXVlRQA6IERhdGFiYXNlUGFnZXI6OkRhdGFiYXNlVGhyZWFkOjpydW4AOiBfcGFnZXItPnNpemUoKT0gACB0byBkZWxldGUgPSAAOiBQYXNzaW5nIGh0dHAgcmVxdWVzdHMgb3ZlciAARXJyb3IgaW4gcmVhZGluZyBmaWxlIAAgOiAAOiBXYXJuaW5nIERhdGFiYXNlUnF1ZXN0IG5vIGxvbmdlciByZXF1aXJlZC4ATG9hZGVkIGZyb20gT2JqZWN0Q2FjaGUAIkZpbmRDb21waWxlYWJsZUdMT2JqZWN0c1Zpc2l0b3IiACJvc2dEQiIATjVvc2dEQjEzRGF0YWJhc2VQYWdlcjMxRmluZENvbXBpbGVhYmxlR0xPYmplY3RzVmlzaXRvckUATjVvc2dEQjEzRGF0YWJhc2VQYWdlcjM3RGF0YWJhc2VQYWdlckNvbXBpbGVDb21wbGV0ZWRDYWxsYmFja0UATjdvc2dVdGlsMjdJbmNyZW1lbnRhbENvbXBpbGVPcGVyYXRpb24yNENvbXBpbGVDb21wbGV0ZWRDYWxsYmFja0UAbm90IGltcGxlbWVudGVkAGZpbGUgbm90IGhhbmRsZWQAZmlsZSBub3QgZm91bmQAcmVhZCBlcnJvcgBmaWxlIGxvYWRlZABmaWxlIGxvYWRlZCBmcm9tIGNhY2hlAGZpbGUgcmVxdWVzdGVkAGluc3VmZmljaWVudCBtZW1vcnkgdG8gbG9hZAAgKABFcnJvciBmaWxlIGRvZXMgbm90IGNvbnRhaW4gYW4gb3NnOjpPYmplY3QATm8gdmFsaWQgb2JqZWN0IGZvdW5kIGZvciAAQWRkaW5nIAAgd2l0aCBvcHRpb25zICcAJyB0byBPYmplY3RDYWNoZSAAV2FybmluZzogb3NnOjpjbG9uZShjb25zdCBUKiwgb3NnOjpDb3B5T3AmKSBjbG9uZWQgb2JqZWN0IG5vdCBvZiB0eXBlIFQsIHJldHVybmluZyBOVUxMLgBXYXJuaW5nOiBvc2c6OmNsb25lKGNvbnN0IFQqLCBvc2c6OkNvcHlPcCYpIHBhc3NlZCBudWxsIG9iamVjdCB0byBjbG9uZSwgcmV0dXJuaW5nIE5VTEwuAE41b3NnREI3T3B0aW9uc0UAQ29udGFpbnMgYXJjaGl2ZSA6IAAgICAgICAgICBhcmNoaXZlIDogACAgICAgICAgIGZpbGVuYW1lIDogAFJlYWQgb2JqZWN0IGZyb20gYXJjaGl2ZQBGYWlsZWQgdG8gcmVhZCBvYmplY3QgZnJvbSBhcmNoaXZlADovLwBDb3VsZCBub3QgZmluZCB0aGUgLmN1cmwgcGx1Z2luIHRvIHJlYWQgZnJvbSBzZXJ2ZXIuAENvdWxkIG5vdCBmaW5kIHBsdWdpbiB0byByZWFkIG9iamVjdHMgZnJvbSBmaWxlICIAIi4ATm93IGNoZWNraW5nIGZvciBwbHVnLWluIABEeW5hbWljTGlicmFyeTo6ZmFpbGVkIGxvYWRpbmcgIgAiAE9wZW5lZCBEeW5hbWljTGlicmFyeSAAQ2xvc2luZyBEeW5hbWljTGlicmFyeSAATjVvc2dEQjE0RHluYW1pY0xpYnJhcnlFAFdhcm5pbmc6IGR5bmFtaWMgbGlicmFyeSAnACcgZXhpc3RzLCBidXQgYW4gZXJyb3Igb2NjdXJyZWQgd2hpbGUgdHJ5aW5nIHRvIG9wZW4gaXQ6ACcgZG9lcyBub3QgZXhpc3QgKG9yIGlzbid0IHJlYWRhYmxlKToAL1wAb3NnUGx1Z2lucy0Ab3NnZGJfAE9TR19QTFVHSU5fRVhURU5TSU9OAE41b3NnREI4UmVnaXN0cnkxOFJlYWRBcmNoaXZlRnVuY3RvckUATjVvc2dEQjhSZWdpc3RyeTExUmVhZEZ1bmN0b3JFAE41b3NnREI4UmVnaXN0cnkxNVJlYWROb2RlRnVuY3RvckUATjVvc2dEQjExT2JqZWN0Q2FjaGVFAEZvdW5kIAAnIGluIE9iamVjdENhY2hlIAAgaW4gT2JqZWN0Q2FjaGUgAE9wdGlvbnMAT1NHX0JVSUxEX0tEVFJFRVMAb2ZmAE9GRgBPZmYAT1NHX0VYUElSWV9ERUxBWQBSZWdpc3RyeSA6IEV4cGlyeSBkZWxheSA9IABPU0dfRklMRV9DQUNIRQB6aXAAT1NHX09QRU5fRkxJR0hUX1BMVUdJTgBuZXcAZmx0AE9wZW5GbGlnaHQAc2hhZG93AG9zZ3NoYWRvdwB0ZXJyYWluAG9zZ3RlcnJhaW4Ab3Nndmlld2VyAHNnaQByZ2IAaXZ6AG96ZwBtYWcAZGljb20AaW1hAGRjbQBkaWMAdGN0cmwAdGV2YWwAY29tcHV0ZQBqcGcAanBlAHRpZgBsd28AdHRmAHR0YwBjaWQAY2ZmAGNlZgBmb24AZm50AHRleHQzZAB0Zi0yNTUAcGJtAHBubQBwZ20AcHBtAGFkZGVkAHJldmlzaW9ucwByZW1vdmVkAHN0cABvcGVuY2FzY2FkZQBpZ3MAaHR0cHMAZnRwAE41b3NnREIzMERlcHJlY2F0ZWREb3RPc2dXcmFwcGVyTWFuYWdlckUAR0xfQUxQSEFfVEVTVABHTF9CTEVORABHTF9DT0xPUl9MT0dJQ19PUABHTF9DT0xPUl9NQVRFUklBTABHTF9DVUxMX0ZBQ0UAR0xfREVQVEhfVEVTVABHTF9GT0cAR0xfRlJBR01FTlRfUFJPR1JBTV9BUkIAR0xfTElORV9TVElQUExFAEdMX1BPSU5UX1NNT09USABHTF9QT0lOVF9TUFJJVEVfQVJCAEdMX1BPTFlHT05fT0ZGU0VUX0ZJTEwAR0xfUE9MWUdPTl9PRkZTRVRfTElORQBHTF9QT0xZR09OX09GRlNFVF9QT0lOVABHTF9QT0xZR09OX1NUSVBQTEUAR0xfU0NJU1NPUl9URVNUAEdMX1NURU5DSUxfVEVTVABHTF9TVEVOQ0lMX1RFU1RfVFdPX1NJREUAR0xfVkVSVEVYX1BST0dSQU1fQVJCAEdMX0NPTE9SX1NVTQBHTF9MSUdIVElORwBHTF9OT1JNQUxJWkUAR0xfUkVTQ0FMRV9OT1JNQUwAR0xfVEVYVFVSRV8xRABHTF9URVhUVVJFXzJEAEdMX1RFWFRVUkVfM0QAR0xfVEVYVFVSRV9DVUJFX01BUABHTF9URVhUVVJFX1JFQ1RBTkdMRQBHTF9URVhUVVJFX0dFTl9RAEdMX1RFWFRVUkVfR0VOX1IAR0xfVEVYVFVSRV9HRU5fUwBHTF9URVhUVVJFX0dFTl9UAEdMX0NMSVBfUExBTkUwAEdMX0NMSVBfUExBTkUxAEdMX0NMSVBfUExBTkUyAEdMX0NMSVBfUExBTkUzAEdMX0NMSVBfUExBTkU0AEdMX0NMSVBfUExBTkU1AEdMX0xJR0hUMABHTF9MSUdIVDEAR0xfTElHSFQyAEdMX0xJR0hUMwBHTF9MSUdIVDQAR0xfTElHSFQ1AEdMX0xJR0hUNgBHTF9MSUdIVDcAR0xfVkVSVEVYX1BST0dSQU1fUE9JTlRfU0laRQBHTF9WRVJURVhfUFJPR1JBTV9UV09fU0lERQBORVZFUgBMRVNTAEVRVUFMAExFUVVBTABHUkVBVEVSAE5PVEVRVUFMAEdFUVVBTABBTFdBWVMAUkVQTEFDRQBNT0RVTEFURQBBREQAQUREX1NJR05FRABJTlRFUlBPTEFURQBTVUJUUkFDVABET1QzX1JHQgBET1QzX1JHQkEAQ09OU1RBTlQAUFJJTUFSWV9DT0xPUgBQUkVWSU9VUwBURVhUVVJFAFRFWFRVUkUwAFRFWFRVUkUxAFRFWFRVUkUyAFRFWFRVUkUzAFRFWFRVUkU0AFRFWFRVUkU1AFRFWFRVUkU2AFRFWFRVUkU3AENMQU1QAENMQU1QX1RPX0VER0UAQ0xBTVBfVE9fQk9SREVSAFJFUEVBVABNSVJST1IATElORUFSAExJTkVBUl9NSVBNQVBfTElORUFSAExJTkVBUl9NSVBNQVBfTkVBUkVTVABORUFSRVNUAE5FQVJFU1RfTUlQTUFQX0xJTkVBUgBORUFSRVNUX01JUE1BUF9ORUFSRVNUAEdMX0lOVEVOU0lUWQBHTF9MVU1JTkFOQ0UAR0xfQUxQSEEAR0xfTFVNSU5BTkNFX0FMUEhBAEdMX1JHQgBHTF9SR0JBAEdMX0NPTVBSRVNTRURfQUxQSEFfQVJCAEdMX0NPTVBSRVNTRURfTFVNSU5BTkNFX0FSQgBHTF9DT01QUkVTU0VEX0lOVEVOU0lUWV9BUkIAR0xfQ09NUFJFU1NFRF9MVU1JTkFOQ0VfQUxQSEFfQVJCAEdMX0NPTVBSRVNTRURfUkdCX0FSQgBHTF9DT01QUkVTU0VEX1JHQkFfQVJCAEdMX0NPTVBSRVNTRURfUkdCX1MzVENfRFhUMV9FWFQAR0xfQ09NUFJFU1NFRF9SR0JBX1MzVENfRFhUMV9FWFQAR0xfQ09NUFJFU1NFRF9SR0JBX1MzVENfRFhUM19FWFQAR0xfQ09NUFJFU1NFRF9SR0JBX1MzVENfRFhUNV9FWFQAR0xfQ09NUFJFU1NFRF9SR0JfUFZSVENfNEJQUFYxX0lNRwBHTF9DT01QUkVTU0VEX1JHQl9QVlJUQ18yQlBQVjFfSU1HAEdMX0NPTVBSRVNTRURfUkdCQV9QVlJUQ180QlBQVjFfSU1HAEdMX0NPTVBSRVNTRURfUkdCQV9QVlJUQ18yQlBQVjFfSU1HAEdMX0VUQzFfUkdCOF9PRVMAR0xfQ09NUFJFU1NFRF9SR0I4X0VUQzIAR0xfQ09NUFJFU1NFRF9TUkdCOF9FVEMyAEdMX0NPTVBSRVNTRURfUkdCOF9QVU5DSFRIUk9VR0hfQUxQSEExX0VUQzIAR0xfQ09NUFJFU1NFRF9TUkdCOF9QVU5DSFRIUk9VR0hfQUxQSEExX0VUQzIAR0xfQ09NUFJFU1NFRF9SR0JBOF9FVEMyX0VBQwBHTF9DT01QUkVTU0VEX1NSR0I4X0FMUEhBOF9FVEMyX0VBQwBHTF9DT01QUkVTU0VEX1IxMV9FQUMAR0xfQ09NUFJFU1NFRF9TSUdORURfUjExX0VBQwBHTF9DT01QUkVTU0VEX1JHMTFfRUFDAEdMX0NPTVBSRVNTRURfU0lHTkVEX1JHMTFfRUFDAEdMX0JZVEUAR0xfU0hPUlQAR0xfSU5UAEdMX0ZMT0FUAEdMX0RPVUJMRQBHTF9VTlNJR05FRF9CWVRFAEdMX1VOU0lHTkVEX1NIT1JUAEdMX1VOU0lHTkVEX0lOVABEU1RfQUxQSEEARFNUX0NPTE9SAE9ORQBPTkVfTUlOVVNfRFNUX0FMUEhBAE9ORV9NSU5VU19EU1RfQ09MT1IAT05FX01JTlVTX1NSQ19BTFBIQQBPTkVfTUlOVVNfU1JDX0NPTE9SAFNSQ19BTFBIQQBTUkNfQUxQSEFfU0FUVVJBVEUAU1JDX0NPTE9SAENPTlNUQU5UX0NPTE9SAE9ORV9NSU5VU19DT05TVEFOVF9DT0xPUgBDT05TVEFOVF9BTFBIQQBPTkVfTUlOVVNfQ09OU1RBTlRfQUxQSEEAWkVSTwBDT09SRElOQVRFAERFUFRIAEZPR19ISU5UAEdFTkVSQVRFX01JUE1BUF9ISU5UAExJTkVfU01PT1RIX0hJTlQAUEVSU1BFQ1RJVkVfQ09SUkVDVElPTl9ISU5UAFBPSU5UX1NNT09USF9ISU5UAFBPTFlHT05fU01PT1RIX0hJTlQAVEVYVFVSRV9DT01QUkVTU0lPTl9ISU5UAEZSQUdNRU5UX1NIQURFUl9ERVJJVkFUSVZFX0hJTlQAUE9JTlQATElORQBGSUxMAEJBQ0sARlJPTlQARlJPTlRfQU5EX0JBQ0sARklYRURfT05MWQBGQVNURVNUAE5JQ0VTVABET05UX0NBUkUAQXJyYXlUeXBlAEJ5dGVBcnJheQBVQnl0ZUFycmF5AFNob3J0QXJyYXkAVVNob3J0QXJyYXkASW50QXJyYXkAVUludEFycmF5AEZsb2F0QXJyYXkARG91YmxlQXJyYXkAVmVjMmJBcnJheQBWZWMzYkFycmF5AFZlYzRiQXJyYXkAVmVjMnViQXJyYXkAVmVjM3ViQXJyYXkAVmVjNHViQXJyYXkAVmVjMnNBcnJheQBWZWMzc0FycmF5AFZlYzRzQXJyYXkAVmVjMnVzQXJyYXkAVmVjM3VzQXJyYXkAVmVjNHVzQXJyYXkAVmVjMmZBcnJheQBWZWMzZkFycmF5AFZlYzRmQXJyYXkAVmVjMmRBcnJheQBWZWMzZEFycmF5AFZlYzRkQXJyYXkAVmVjMmlBcnJheQBWZWMzaUFycmF5AFZlYzRpQXJyYXkAVmVjMnVpQXJyYXkAVmVjM3VpQXJyYXkAVmVjNHVpQXJyYXkAUHJpbWl0aXZlVHlwZQBEcmF3QXJyYXlzAERyYXdBcnJheXNMZW5ndGgARHJhd0VsZW1lbnRzVUJ5dGUARHJhd0VsZW1lbnRzVVNob3J0AERyYXdFbGVtZW50c1VJbnQAR0xfUE9JTlRTAEdMX0xJTkVTAEdMX0xJTkVfU1RSSVAAR0xfTElORV9MT09QAEdMX1RSSUFOR0xFUwBHTF9UUklBTkdMRV9TVFJJUABHTF9UUklBTkdMRV9GQU4AR0xfUVVBRFMAR0xfUVVBRF9TVFJJUABHTF9QT0xZR09OAEdMX0xJTkVTX0FESkFDRU5DWV9FWFQAR0xfTElORVNfQURKQUNFTkNZAEdMX0xJTkVfU1RSSVBfQURKQUNFTkNZX0VYVABHTF9MSU5FX1NUUklQX0FESkFDRU5DWQBHTF9UUklBTkdMRVNfQURKQUNFTkNZX0VYVABHTF9UUklBTkdMRVNfQURKQUNFTkNZAEdMX1RSSUFOR0xFX1NUUklQX0FESkFDRU5DWV9FWFQAR0xfVFJJQU5HTEVfU1RSSVBfQURKQUNFTkNZAEdMX1BBVENIRVMARHVwbGljYXRlIGVudW0gdmFsdWUgACB3aXRoIG9sZCBzdHJpbmc6IAAgYW5kIG5ldyBzdHJpbmdzOiAAIGFuZCAAIGFuZCBuZXcgc3RyaW5nOiAATjVvc2dEQjIwT2JqZWN0V3JhcHBlck1hbmFnZXJFAGFwcGxpY2F0aW9uL2R4ZgBkeGYAYXBwbGljYXRpb24vZ251dGFyAHRnegBhcHBsaWNhdGlvbi9wZGYAcGRmAGFwcGxpY2F0aW9uL3BsYWluAGFwcGxpY2F0aW9uL3Bvc3RzY3JpcHQAcHMAYXBwbGljYXRpb24veC1iemlwAGJ6AGFwcGxpY2F0aW9uL3gtYnppcDIAYnoyAGFwcGxpY2F0aW9uL3gtY29tcHJlc3NlZABhcHBsaWNhdGlvbi94LWd6aXAAZ3oAYXBwbGljYXRpb24veC1pbnZlbnRvcgBpdgBhcHBsaWNhdGlvbi94LWphdmFzY3JpcHQAanMAYXBwbGljYXRpb24veG1sAHhtbABhcHBsaWNhdGlvbi94LXRhcgB0YXIAYXBwbGljYXRpb24veC12cm1sAHdybABhcHBsaWNhdGlvbi94LXdvcmxkAGFwcGxpY2F0aW9uL3gtemlwLWNvbXByZXNzZWQAYXBwbGljYXRpb24vemlwAGRyYXdpbmcveC1kd2Yob2xkKQBkd2YAaW1hZ2UvYm1wAGJtcABpbWFnZS9jbXUtcmFzdGVyAHJhcwBpbWFnZS9maWYAZmlmAGltYWdlL2Zsb3JpYW4AZmxvAGltYWdlL2czZmF4AGczAGltYWdlL2dpZgBnaWYAaW1hZ2UvaWVmAGllZgBpbWFnZS9qcGVnAGltYWdlL2p1dHZpc2lvbgBqdXQAaW1hZ2UvbmFwbHBzAG5hcABuYXBscHMAaW1hZ2UvcGljdABwaWMAaW1hZ2UvcGpwZWcAaW1hZ2UvcG5nAHBuZwBpbWFnZS90aWZmAGltYWdlL3Zhc2EAbWNmAGltYWdlL3ZuZC5kd2cAaW1hZ2Uvdm5kLmZweABmcHgAaW1hZ2Uvdm5kLm5ldC1mcHgAaW1hZ2Uvdm5kLnJuLXJlYWxmbGFzaAByZgBpbWFnZS92bmQucm4tcmVhbHBpeABycABpbWFnZS92bmQud2FwLndibXAAd2JtcABpbWFnZS92bmQueGlmZgB4aWYAaW1hZ2UveGJtAHhibQBpbWFnZS94LWNtdS1yYXN0ZXIAaW1hZ2UveC1kd2cAaW1hZ2UveC1pY29uAGljbwBpbWFnZS94LWpnAGFydABpbWFnZS94LWpwcwBqcHMAaW1hZ2UveC1uaWZmAG5pZgBpbWFnZS94LXBjeABwY3gAaW1hZ2UveC1waWN0AHBjdABpbWFnZS94cG0AeHBtAGltYWdlL3gtcG9ydGFibGUtYW55bWFwAGltYWdlL3gtcG9ydGFibGUtYml0bWFwAGltYWdlL3gtcG9ydGFibGUtZ3JheW1hcABpbWFnZS94LXBvcnRhYmxlLWdyZXltYXAAaW1hZ2UveC1wb3J0YWJsZS1waXhtYXAAaW1hZ2UveC1xdWlja3RpbWUAcWlmAGltYWdlL3gtcmdiAGltYWdlL3gtdGlmZgBpbWFnZS94LXdpbmRvd3MtYm1wAGltYWdlL3gteGJpdG1hcABpbWFnZS94LXhibQBpbWFnZS94LXhwaXhtYXAAaW1hZ2UveC14d2QAeHdkAGltYWdlL3gteHdpbmRvd2R1bXAAaS13b3JsZC9pLXZybWwAaXZyAG1vZGVsL2lnZXMAbW9kZWwvdm5kLmR3ZgBtb2RlbC92cm1sAG1vZGVsL3gtcG92AHBvdgBtdWx0aXBhcnQveC1nemlwAGd6aXAAbXVsdGlwYXJ0L3gtdXN0YXIAdXN0YXIAbXVsdGlwYXJ0L3gtemlwAHZpZGVvL2FuaW1hZmxleABhZmwAdmlkZW8vYXZpAGF2aQB2aWRlby9hdnMtdmlkZW8AYXZzAHZpZGVvL2RsAGRsAHZpZGVvL2ZsaQBmbGkAdmlkZW8vZ2wAZ2wAdmlkZW8vbXBlZwBtcGcAdmlkZW8vbXN2aWRlbwB2aWRlby9xdWlja3RpbWUAcXQAdmlkZW8vdmRvAHZkbwB2aWRlby92aXZvAHZpdgB2aWRlby92bmQucm4tcmVhbHZpZGVvAHJ2AHZpZGVvL3ZuZC52aXZvAHZpZGVvL3Zvc2FpYwB2b3MAdmlkZW8veC1hbXQtZGVtb3J1bgB4ZHIAdmlkZW8veC1hbXQtc2hvd3J1bgB4c3IAdmlkZW8veC1hdG9taWMzZC1mZWF0dXJlAGZtZgB2aWRlby94LWRsAHZpZGVvL3gtZHYAZHYAdmlkZW8veC1mbGkAdmlkZW8veC1nbAB2aWRlby94LWlzdmlkZW8AaXN1AHZpZGVvL3gtbW90aW9uLWpwZWcAbWpwZwB2aWRlby94LW1wZWcAbXAzAHZpZGVvL3gtbXBlcTJhAG1wMgB2aWRlby94LW1zLWFzZgBhc2YAdmlkZW8veC1tcy1hc2YtcGx1Z2luAGFzeAB2aWRlby94LW1zdmlkZW8AdmlkZW8veC1xdGMAcXRjAHZpZGVvL3gtc2NtAHNjbQB2aWRlby94LXNnaS1tb3ZpZQBtb3ZpZQB3aW5kb3dzL21ldGFmaWxlAHdtZgB4Z2wvZHJhd2luZwB4Z3oAeGdsL21vdmllAHhtegB4LXdvcmxkL3gtM2RtZgAzZG0AeC13b3JsZC94LXN2cgBzdnIAeC13b3JsZC94LXZybWwAeC13b3JsZC94LXZydAB2cnQAT1NHX0xJQlJBUllfUEFUSABPU0dfTERfTElCUkFSWV9QQVRIAE9TR19GSUxFX1BBVEgAT1NHRklMRVBBVEgAQ29uc3RydWN0ZWQgRmlsZUNhY2hlIDogAENvdWxkIG5vdCBjcmVhdGUgY2FjaGUgZGlyZWN0b3J5OiAARmlsZUNhY2hlOjp3cml0ZVNoYWRlclRvQ2FjaGUoACkgYXMgAEVycm9yIHdyaXRpbmcgZmlsZSAAOiAAd3JpdGUgZXJyb3IAZmlsZSBzYXZlZABDb3VsZCBub3QgZmluZCBwbHVnaW4gdG8gd3JpdGUgb2JqZWN0cyB0byBmaWxlICIAQ291bGQgbm90IGZpbmQgcGx1Z2luIHRvIHdyaXRlIHNoYWRlciB0byBmaWxlICIARmlsZUNhY2hlOjpyZWFkU2hhZGVyRnJvbUNhY2hlKABONW9zZ0RCOFJlZ2lzdHJ5MTdSZWFkU2hhZGVyRnVuY3RvckUARmlsZUNhY2hlOjp3cml0ZU5vZGVUb0NhY2hlKABDb3VsZCBub3QgZmluZCBwbHVnaW4gdG8gd3JpdGUgbm9kZXMgdG8gZmlsZSAiAEZpbGVDYWNoZTo6cmVhZE5vZGVGcm9tQ2FjaGUoAEZpbGVDYWNoZTo6d3JpdGVIZWlnaHRGaWVsZFRvQ2FjaGUoAENvdWxkIG5vdCBmaW5kIHBsdWdpbiB0byB3cml0ZSBIZWlnaHRGaWVsZCB0byBmaWxlICIARmlsZUNhY2hlOjpyZWFkSGVpZ2h0RmllbGRGcm9tQ2FjaGUoAE41b3NnREI4UmVnaXN0cnkyMlJlYWRIZWlnaHRGaWVsZEZ1bmN0b3JFAEZpbGVDYWNoZTo6d3JpdGVPYmplY3RUb0NhY2hlKABGaWxlQ2FjaGU6OnJlYWRPYmplY3RGcm9tQ2FjaGUoAE41b3NnREI4UmVnaXN0cnkxN1JlYWRPYmplY3RGdW5jdG9yRQBGaWxlQ2FjaGU6OndyaXRlSW1hZ2VUb0NhY2hlKABDb3VsZCBub3QgZmluZCBwbHVnaW4gdG8gd3JpdGUgaW1hZ2UgdG8gZmlsZSAiAEZpbGVDYWNoZTo6cmVhZEltYWdlRnJvbUNhY2hlKABONW9zZ0RCOFJlZ2lzdHJ5MTZSZWFkSW1hZ2VGdW5jdG9yRQBGaWxlIGlzIGJsYWNrIGxpc3RlZCAARGF0YWJhc2VSZXZpc2lvbigAKTo6aXNGaWxlQmxhY2tMaXN0ZWQoAEZpbGVDYWNoZTo6Y3JlYXRlQ2FjaGVGaWxlTmFtZSgAKSA9IABEZXN0cnVjdGVkIEZpbGVDYWNoZSAATjVvc2dEQjlGaWxlQ2FjaGVFAE41b3NnREI4UmVnaXN0cnlFAERhdGFiYXNlUGFnZXI6OlJlcXVlc3RRdWV1ZTo6dGFrZUZpcnN0KCk6IFBydW5pbmcgACBEYXRhYmFzZVBhZ2VyOjpSZXF1ZXN0UXVldWU6OnRha2VGaXJzdCgpIEZvdW5kIERhdGFiYXNlUmVxdWVzdCBzaXplKCk9ACBEYXRhYmFzZVBhZ2VyOjpSZXF1ZXN0UXVldWU6OnRha2VGaXJzdCgpIE5vIHN1aXRhYmxlIERhdGFiYXNlUmVxdWVzdCBmb3VuZCBzaXplKCk9AE41b3NnREIxM0RhdGFiYXNlUGFnZXIxNERhdGFiYXNlVGhyZWFkRQBhY3RpdmU9ACBvdmVyYWxsID0gACBBPQAgYXZnPQAgbWF4ID0gACBCPQAgQz0ARGF0YWJhc2VQYWdlcjo6YWRkTG9hZGVkRGF0YVRvU2NlbmVHcmFwaCgpIG5vZGUgaW4gcGFyZW50YWwgY2hhaW4gZGVsZXRlZCwgZGlzY2FyZGluZyBzdWJnYXBoLgBEb25lIERhdGFiYXNlUGFnZXI6OmFkZExvYWRlZERhdGFUb1NjZW5lR3JhcGgAbXMsCQBtcwAgIG9iamVjdHMASW5zZXJ0aW5nIG9iamVjdHMgdG8gbWFpbiBPYmplY3RDYWNoZSAAIkZpbmRQYWdlZExPRHNWaXNpdG9yIgBONW9zZ0RCMTNEYXRhYmFzZVBhZ2VyMjBGaW5kUGFnZWRMT0RzVmlzaXRvckUARGF0YWJhc2VQYWdlcjo6UmVxdWVzdFF1ZXVlOjpwcnVuZU9sZFJlcXVlc3RzQW5kQ2hlY2tJZkVtcHR5KCk6IFBydW5pbmcgAERhdGFiYXNlUGFnZXI6OmFkZERhdGFiYXNlVGhyZWFkKCkgAERhdGFiYXNlUGFnZXI6OnN0YXJ0VGhyZWFkKCkASGFzQmVlbkJ5U3RhdGVUb0NvbXBpbGVQcm9jZXNzZWRNYXJrZXIAZmlsZVJlcXVlc3RRdWV1ZQBodHRwUmVxdWVzdFF1ZXVlAERhdGFiYXNlUGFnZXIAV2FybmluZzogRGF0YWJhc2VQYWdlcjo6cmVxdWVzdE5vZGVGaWxlKC4uKSBwYXNzZWQgZW1wdHkgTm9kZVBhdGgsIHNvIG5vd2hlcmUgdG8gYXR0YWNoIG5ldyBzdWJncmFwaCB0by4AV2FybmluZzogRGF0YWJhc2VQYWdlcjo6cmVxdWVzdE5vZGVGaWxlKC4uKSBwYXNzZWQgTm9kZVBhdGggd2l0aG91dCBncm91cCBhcyBsYXN0IG5vZGUgaW4gcGF0aCwgc28gbm93aGVyZSB0byBhdHRhY2ggbmV3IHN1YmdyYXBoIHRvLgBEYXRhYmFzZVJlcXVlc3QgaGFzIGJlZW4gcHJldmlvdXNseSBpbnZhbGlkYXRlZCB3aGlsc3Qgc3RpbGwgYXR0YWNoZWQgdG8gc2NlbmUgZ3JhcGguAERhdGFiYXNlUGFnZXI6OnJlcXVlc3ROb2RlRmlsZSgAKSB1cGRhdGluZyBhbHJlYWR5IGFzc2lnbmVkLgApIG9ycGhhbmVkLCByZXN1Ym1pdHRpbmcuAEluIERhdGFiYXNlUGFnZXI6OnJlcXVlc3ROb2RlRmlsZSgASEFORExFX0FMTF9SRVFVRVNUUwBIQU5ETEVfTk9OX0hUVFAASEFORExFX09OTFlfSFRUUABONW9zZ0RCMTNEYXRhYmFzZVBhZ2VyMTVEYXRhYmFzZVJlcXVlc3RFAE41b3NnREIxM0RhdGFiYXNlUGFnZXJFAE4zb3NnMTFOb2RlVmlzaXRvcjIyRGF0YWJhc2VSZXF1ZXN0SGFuZGxlckUASW1hZ2VQYWdlcjo6SW1hZ2VUaHJlYWQ6OnJ1bigpIABJbWFnZVBhZ2VyOjpJbWFnZVRocmVhZDo6ZG9uZSgpAEVycm9yIHJlYWRpbmcgZmlsZSAASW1hZ2VQYWdlcjo6UmVhZFF1ZXVlOjp0YWtlRmlyc3QoLi4pLCBzaXplKCk9AE41b3NnREIxMEltYWdlUGFnZXIxMUltYWdlVGhyZWFkRQBJbWFnZVBhZ2VyOjp1cGRhdGVTY2VuZUdyYXBoKCkgOiBlcnJvciwgaW1hZ2UgcmVxdWVzdCBhdHRhY2htZW50IHR5cGUgbm90IGhhbmRsZWQgeWV0LgBJbWFnZVBhZ2VyOjpSZWFkUXVldWU6OmFkZCgAKSwgc2l6ZSgpPQBONW9zZ0RCMTBJbWFnZVBhZ2VyMTJJbWFnZVJlcXVlc3RFAE41b3NnREIxMEltYWdlUGFnZXJFAE4zb3NnMTFOb2RlVmlzaXRvcjE5SW1hZ2VSZXF1ZXN0SGFuZGxlckUAT1NHX1dSSVRFX09VVF9ERUZBVUxUX1ZBTFVFUwBPTgBPU0dfRE9fUFJFX0NPTVBJTEUgPE9OL09GRj4AU3dpdGNoIG9uIG9yIG9mZiB0aGUgcHJlIGNvbXBpbGUgb2YgT3BlbkdMIG9iamVjdCBkYXRhYmFzZSBwYWdlci4AT1NHX0RBVEFCQVNFX1BBR0VSX0RSQVdBQkxFIDxtb2RlPgBTZXQgdGhlIGRyYXdhYmxlIHBvbGljeSBmb3Igc2V0dGluZyBvZiBsb2FkZWQgZHJhd2FibGUgdG8gc3BlY2lmaWVkIHR5cGUuICBtb2RlIGNhbiBiZSBvbmUgb2YgRG9Ob3RNb2RpZnksIERpc3BsYXlMaXN0LCBWQk8gb3IgVmVydGV4QXJyYXlzPi4AT1NHX0RBVEFCQVNFX1BBR0VSX1BSSU9SSVRZIDxtb2RlPgBTZXQgdGhlIHRocmVhZCBwcmlvcml0eSB0byBERUZBVUxULCBNSU4sIExPVywgTk9NSU5BTCwgSElHSCBvciBNQVguAE9TR19NQVhfUEFHRURMT0QgPG51bT4AU2V0IHRoZSB0YXJnZXQgbWF4aW11bSBudW1iZXIgb2YgUGFnZWRMT0QgdG8gbWFpbnRhaW4uAE9TR19BU1NJR05fUEJPX1RPX0lNQUdFUyA8T04vT0ZGPgBTZXQgd2hldGhlciBQaXhlbEJ1ZmZlck9iamVjdHMgc2hvdWxkIGJlIGFzc2lnbmVkIHRvIEltYWdlcyB0byBhaWQgZG93bmxvYWQgdG8gdGhlIEdQVS4AT1NHX0ZJTEVfUEFUSCA8cGF0aD5bOnBhdGhdLi4AUGF0aHMgZm9yIGxvY2F0aW5nIGRhdGFmaWxlcwBPU0dfTElCUkFSWV9QQVRIIDxwYXRoPls6cGF0aF0uLgBQYXRocyBmb3IgbG9jYXRpbmcgbGlicmFyaWVzLyBwbHVnaW5zAE9TR19CVUlMRF9LRFRSRUVTIG9uL29mZgBFbmFibGUvZGlzYWJsZSB0aGUgYXV0b21hdGljIGJ1aWxkaW5nIG9mIEtkVHJlZXMgZm9yIGVhY2ggbG9hZGVkIEdlb21ldHJ5LgBMb2FkU2hhZGVyU2hhZGVyUGlwZWxpbmVGaWxlc1Byb3h5KCkgUHJlLWxvYWRpbmcgdGhlIFNoYWRlclBpcGVsaW5lIHNoYWRlcnMAICAgcmVhZCBzaGFkZXIgAE9TR19EQVRBQkFTRV9QQUdFUl9HRU9NRVRSWQBPU0dfREFUQUJBU0VfUEFHRVJfRFJBV0FCTEUARG9Ob3RNb2RpZnkARGlzcGxheUxpc3QAREwAVkJPAFZlcnRleEFycmF5cwBWQQBPU0dfQVNTSUdOX1BCT19UT19JTUFHRVMAeWVzAFlFUwBvbgBPU0dfQVNTSUdOX1BCT19UT19JTUFHRVMgc2V0IHRvIABPU0dfREVMRVRFX0lOX0RBVEFCQVNFX1RIUkVBRABPU0dfTUFYX1BBR0VETE9EAF90YXJnZXRNYXhpbXVtTnVtYmVyT2ZQYWdlTE9EID0gAE9TR19ET19QUkVfQ09NUElMRQBPU0dfREFUQUJBU0VfUEFHRVJfUFJJT1JJVFkAREVGQVVMVABNSU4ATE9XAE5PTUlOQUwASElHSABNQVgAV2FybmluZzogU2V0QmFzZWRQYWdlZExPRExpc3Q6Omluc2VydFBhZ2VkTE9EKAApIGFscmVhZHkgaW5zZXJ0ZWQAUmVtb3Zpbmcgbm9kZSBmcm9tIFBhZ2VkTE9EIGxpc3QARGF0YWJhc2VQYWdlcjo6cmVtb3ZlRXhwaXJlZFN1YmdyYXBocygpIF9pbmFjdGl2ZVBhZ2VkTE9EIGhhcyBiZWVuIGludmFsaWRhdGVkLCBidXQgaWdub3JlZAAiRXhwaXJlUGFnZWRMT0RzVmlzaXRvciIATjVvc2dEQjEzRGF0YWJhc2VQYWdlcjIyRXhwaXJlUGFnZWRMT0RzVmlzaXRvckUAMjBTZXRCYXNlZFBhZ2VkTE9ETGlzdABONW9zZ0RCMTNEYXRhYmFzZVBhZ2VyMTJQYWdlZExPRExpc3RFAE41b3NnREIxMEltYWdlUGFnZXI5UmVhZFF1ZXVlRQBONW9zZ0RCMTBJbWFnZVBhZ2VyMTJSZXF1ZXN0UXVldWVFAEltYWdlIFF1ZXVlAEltYWdlIFRocmVhZCAxAEltYWdlIFRocmVhZCAyAEltYWdlIFRocmVhZCAzAEZpbmRGaWxlSW5QYXRoKAApOiByZXR1cm5pbmcgAG9zZ1ZpZXdlcgBPU0dfUlVOX0ZSQU1FX1NDSEVNRQBPTl9ERU1BTkQAQ09OVElOVU9VUwBPU0dfUlVOX01BWF9GUkFNRV9SQVRFAE9TR19SVU5fRlJBTUVfQ09VTlQATjlvc2dWaWV3ZXIxMFZpZXdlckJhc2VFAE45b3NnVmlld2VyMTRHcmFwaGljc1dpbmRvd0UATjVvc2dHQTE2R1VJQWN0aW9uQWRhcHRlckUAVmlldzo6aW5pdCgpAGFsbG9jYXRvcjxUPjo6YWxsb2NhdGUoc2l6ZV90IG4pICduJyBleGNlZWRzIG1heGltdW0gc3VwcG9ydGVkIHNpemUAc2NlbmUATnVtYmVyIG9mIHVuaXF1ZSBTdGF0ZVNldABOdW1iZXIgb2YgdW5pcXVlIEdyb3VwAE51bWJlciBvZiB1bmlxdWUgVHJhbnNmb3JtAE51bWJlciBvZiB1bmlxdWUgTE9EAE51bWJlciBvZiB1bmlxdWUgU3dpdGNoAE51bWJlciBvZiB1bmlxdWUgR2VvZGUATnVtYmVyIG9mIHVuaXF1ZSBEcmF3YWJsZQBOdW1iZXIgb2YgdW5pcXVlIEdlb21ldHJ5AE51bWJlciBvZiB1bmlxdWUgVmVydGljZXMATnVtYmVyIG9mIHVuaXF1ZSBQcmltaXRpdmVzAE51bWJlciBvZiBpbnN0YW5jZWQgU3RhdGVzZXQATnVtYmVyIG9mIGluc3RhbmNlZCBHcm91cABOdW1iZXIgb2YgaW5zdGFuY2VkIFRyYW5zZm9ybQBOdW1iZXIgb2YgaW5zdGFuY2VkIExPRABOdW1iZXIgb2YgaW5zdGFuY2VkIFN3aXRjaABOdW1iZXIgb2YgaW5zdGFuY2VkIEdlb2RlAE51bWJlciBvZiBpbnN0YW5jZWQgRHJhd2FibGUATnVtYmVyIG9mIGluc3RhbmNlZCBHZW9tZXRyeQBOdW1iZXIgb2YgaW5zdGFuY2VkIFZlcnRpY2VzAE51bWJlciBvZiBpbnN0YW5jZWQgUHJpbWl0aXZlcwB1cGRhdGUAUmVuZGVyaW5nIHRyYXZlcnNhbHMgYmVnaW4gdGltZSAAUmVuZGVyaW5nIHRyYXZlcnNhbHMgZW5kIHRpbWUgAFJlbmRlcmluZyB0cmF2ZXJzYWxzIHRpbWUgdGFrZW4ATjlvc2dWaWV3ZXI4UmVuZGVyZXJFAFVwZGF0ZSB0cmF2ZXJzYWwgYmVnaW4gdGltZQBVcGRhdGUgdHJhdmVyc2FsIGVuZCB0aW1lAFVwZGF0ZSB0cmF2ZXJzYWwgdGltZSB0YWtlbgBldmVudABFdmVudCB0cmF2ZXJzYWwgYmVnaW4gdGltZQBFdmVudCB0cmF2ZXJzYWwgZW5kIHRpbWUARXZlbnQgdHJhdmVyc2FsIHRpbWUgdGFrZW4ATjlvc2dWaWV3ZXI0Vmlld0UAICBTbGF2ZSBoYXMgbWF0Y2hlZCB0ZXh0dXJlIGN1YmVtYXAALCAATjVvc2dHQTExUG9pbnRlckRhdGFFAGZyYW1lX3JhdGUARnJhbWUgZHVyYXRpb24ARnJhbWUgcmF0ZQBSZWZlcmVuY2UgdGltZQBnZXRDb29yZGluYXRlRnJhbWUoACAAKQBjc24tPmNvbXB1dGVMb2NhbENvb3JkaW5hdGVGcmFtZShwb3NpdGlvbikqIG9zZzo6Y29tcHV0ZUxvY2FsVG9Xb3JsZCh0bXBQYXRoKQBvc2c6OmNvbXB1dGVMb2NhbFRvV29ybGQodG1wUGF0aCkAICAgbm8gY29vcmRpbmF0ZSBzeXN0ZW0gZm91bmQsIHVzaW5nIGRlZmF1bHQgb3JpZW50YXRpb24AMjlWaWV3ZXJDb29yZGluYXRlRnJhbWVDYWxsYmFjawBWaWV3ZXI6OnN0YXJ0VGhyZWFkaW5nKCkgLSBzdGFydGluZyB0aHJlYWRpbmcAVmlld2VyOjpzdGFydFRocmVhZGluZygpIC0gY29udGV4dHMuc2l6ZSgpPQBFcnJvcjogVGhyZWFkaW5nIG1vZGVsIG5vdCBzZWxlY3RlZABNYWtpbmcgc2NlbmUgdGhyZWFkIHNhZmUAVmlld2VyQmFzZTo6c3RhcnRUaHJlYWRpbmcoKSA6IFJlYWxpem5nIHdpbmRvdyAAICBjYW1lcmEtPmdldENhbWVyYVRocmVhZCgpLT4gACAgZ2MtPmdldEdyYXBoaWNzVGhyZWFkKCktPnN0YXJ0VGhyZWFkKCkgAFNldCB1cCB0aHJlYWRpbmcAUnVuT3BlcmF0aW9uAEJhcnJpZXIAVmlld2VyQmFzZTo6c3RvcFRocmVhZGluZygpIC0gc3RvcHBpbmcgdGhyZWFkaW5nAFZpZXdlcjo6c3RvcFRocmVhZGluZygpIC0gc3RvcHBlZCB0aHJlYWRpbmcuAE9TR19USFJFQURJTkcAU2luZ2xlVGhyZWFkZWQAQ3VsbERyYXdUaHJlYWRQZXJDb250ZXh0AERyYXdUaHJlYWRQZXJDb250ZXh0AEN1bGxUaHJlYWRQZXJDYW1lcmFEcmF3VGhyZWFkUGVyQ29udGV4dABWaWV3ZXJCYXNlOjpjb25maWd1cmVBZmZpbml0eSgpIG51bVByb2Nlc3NvcnM9ACAgZGF0YWJhc2VQYWdlcnMgPSAAQXBwbHlpbmcgb3NnVmlld2VyOjpWaWV3Q29uZmlnIDogAEFjcm9zc0FsbFNjcmVlbnM6OmNvbmZpZ3VyZSgpIDogRXJyb3IsIG5vIFdpbmRvd1N5c3RlbUludGVyZmFjZSBhdmFpbGFibGUsIGNhbm5vdCBjcmVhdGUgd2luZG93cy4AICBHcmFwaGljc1dpbmRvdyBoYXMgYmVlbiBjcmVhdGVkIHN1Y2Nlc3NmdWxseS4AICBHcmFwaGljc1dpbmRvdyBoYXMgbm90IGJlZW4gY3JlYXRlZCBzdWNjZXNzZnVsbHkuAFNpbmdsZVdpbmRvdzo6Y29uZmlndXJlKCkgOiBFcnJvciwgbm8gV2luZG93U3lzdGVtSW50ZXJmYWNlIGF2YWlsYWJsZSwgY2Fubm90IGNyZWF0ZSB3aW5kb3dzLgBTaW5nbGVXaW5kb3c6OmNvbmZpZ3VyZSAtIEdyYXBoaWNzV2luZG93IGhhcyBiZWVuIGNyZWF0ZWQgc3VjY2Vzc2Z1bGx5LgBTaW5nbGVXaW5kb3c6OmNvbmZpZ3VyZSAtIEdyYXBoaWNzV2luZG93IGhhcyBub3QgYmVlbiBjcmVhdGVkIHN1Y2Nlc3NmdWxseS4ATjlvc2dWaWV3ZXI0VmlldzE5U3RlcmVvU2xhdmVDYWxsYmFja0UATjNvc2c0VmlldzVTbGF2ZTE5VXBkYXRlU2xhdmVDYWxsYmFja0UATjNvc2cxOVRlbXBsYXRlVmFsdWVPYmplY3RJTlN0M19fMjEyYmFzaWNfc3RyaW5nSWNOUzFfMTFjaGFyX3RyYWl0c0ljRUVOUzFfOWFsbG9jYXRvckljRUVFRUVFAFdyaXRpbmcga2V5c3RvbmUgdG86IABOOW9zZ1ZpZXdlcjE1S2V5c3RvbmVIYW5kbGVyRQBEaXN0b3J0aW9uQ29ycmVjdGlvbkNhbWVyYQBSZW5kZXJCaW4AS2V5c3RvbmVDdWxsQ2FsbGJhY2sAb3NnADIwS2V5c3RvbmVDdWxsQ2FsbGJhY2sAS2V5c3RvbmVVcGRhdGVDYWxsYmFjawAyMktleXN0b25lVXBkYXRlQ2FsbGJhY2sAUmVuZGVyIHRvIHRleHR1cmUgY2FtZXJhAE45b3NnVmlld2VyOEtleXN0b25lRQBLZXlzdG9uZQBDcmVhdGluZyBLZXlzdG9uZSBmb3IgZmlsZW5hbWUgZW50cnk6IABTdHJpbmdWYWx1ZU9iamVjdABOM29zZzExVmFsdWVPYmplY3RFAFZhbHVlT2JqZWN0AFNpbmdsZVdpbmRvdwBOOW9zZ1ZpZXdlcjEyU2luZ2xlV2luZG93RQBOOW9zZ1ZpZXdlcjEwVmlld0NvbmZpZ0UAU2luZ2xlU2NyZWVuAE45b3NnVmlld2VyMTJTaW5nbGVTY3JlZW5FAEFjcm9zc0FsbFNjcmVlbnMATjlvc2dWaWV3ZXIxNkFjcm9zc0FsbFNjcmVlbnNFAE45b3NnVmlld2VyMTVDb21wb3NpdGVWaWV3ZXJFAE45b3NnVmlld2VyMThPcGVuR0xRdWVyeVN1cHBvcnRFAEdQVSBkcmF3IGJlZ2luIHRpbWUAR1BVIGRyYXcgZW5kIHRpbWUAR1BVIGRyYXcgdGltZSB0YWtlbgAxNUVYVFF1ZXJ5U3VwcG9ydABSZW5kZXI6On5SZW5kZXIoKSAAUmVuZGVyZXI6OmNvbXBpbGUoKQBCZWZvcmUgUmVuZGVyZXI6OmNvbXBpbGUAQWZ0ZXIgUmVuZGVyZXI6OmNvbXBpbGUAY3VsbF9kcmF3KCkgAGdwdQByZW5kZXJpbmcAQ29sbGVjdGluZyByZW5kZXJpbmcgc3RhdHMAQ3VsbCB0cmF2ZXJzYWwgYmVnaW4gdGltZQBDdWxsIHRyYXZlcnNhbCBlbmQgdGltZQBDdWxsIHRyYXZlcnNhbCB0aW1lIHRha2VuAERyYXcgdHJhdmVyc2FsIGJlZ2luIHRpbWUARHJhdyB0cmF2ZXJzYWwgZW5kIHRpbWUARHJhdyB0cmF2ZXJzYWwgdGltZSB0YWtlbgBlbmQgY3VsbF9kcmF3KCkgAFZpc2libGUgdmVydGV4IGNvdW50AFZpc2libGUgbnVtYmVyIG9mIGRyYXdhYmxlcwBWaXNpYmxlIG51bWJlciBvZiBmYXN0IGRyYXdhYmxlcwBWaXNpYmxlIG51bWJlciBvZiBsaWdodHMAVmlzaWJsZSBudW1iZXIgb2YgcmVuZGVyIGJpbnMAVmlzaWJsZSBkZXB0aABOdW1iZXIgb2YgU3RhdGVHcmFwaHMAVmlzaWJsZSBudW1iZXIgb2YgaW1wb3N0b3JzAE51bWJlciBvZiBvcmRlcmVkIGxlYXZlcwBWaXNpYmxlIG51bWJlciBvZiBQcmltaXRpdmVTZXRzAFZpc2libGUgbnVtYmVyIG9mIEdMX1BPSU5UUwBWaXNpYmxlIG51bWJlciBvZiBHTF9MSU5FUwBWaXNpYmxlIG51bWJlciBvZiBHTF9MSU5FX1NUUklQAFZpc2libGUgbnVtYmVyIG9mIEdMX0xJTkVfTE9PUABWaXNpYmxlIG51bWJlciBvZiBHTF9UUklBTkdMRVMAVmlzaWJsZSBudW1iZXIgb2YgR0xfVFJJQU5HTEVfU1RSSVAAVmlzaWJsZSBudW1iZXIgb2YgR0xfVFJJQU5HTEVfRkFOAFZpc2libGUgbnVtYmVyIG9mIEdMX1FVQURTAFZpc2libGUgbnVtYmVyIG9mIEdMX1FVQURfU1RSSVAAVmlzaWJsZSBudW1iZXIgb2YgR0xfUE9MWUdPTgAxNUFSQlF1ZXJ5U3VwcG9ydABkcmF3KCkgAGRyYXcoKSBnb3QgU2NlbmVWaWV3IABSZW5kZXJlcjo6cmVsZWFzZSgpIGNhdXNpbmcgZHJhdyB0byBleGl0AFJlbmRlcmVyOjpkcmF3KCkgY29tcGxldGluZyBlYXJseSBkdWUgdG8gY2hhbmdlIGluIF9ncmFwaGljc1RocmVhZERvZXNDdWxsIGZsYWcuAGVuZCBkcmF3KCkgAGN1bGwoKQBjdWxsKCkgZ290IFNjZW5lVmlldyAAZW5kIGN1bGwoKSAAUmVuZGVyZXI6OnJlbGVhc2UoKQBTY2VuZQBOOW9zZ1ZpZXdlcjVTY2VuZUUAVmlldwBEZXN0cnVjdGluZyBvc2dWaWV3ZXI6OlZpZXcAVmlldzo6cmVxdWVzdFdhcnBQb2ludGVyKAAsAFZpZXc6OnJlcXVlc3RXYXJwUG9pbnRlciBmYWlsZWQgbm8gY2FtZXJhIGNvbnRhaW5pbmcgcG9pbnRlcgBUZXN0aW5nIHNsYXZlIGNhbWVyYSAAVmlldzo6cmVxdWVzdENvbnRpbnVvdXNVcGRhdGUoKSwgTm8gdmlld2VyIGJhc2UgaGFzIGJlZW4gYXNzaWduZWQgeWV0LgBWaWV3OjpyZXF1ZXN0UmVkcmF3KCksIE5vIHZpZXdlciBiYXNlIGhhcyBiZWVuIGFzc2lnbmVkIHlldC4AY29tcHV0ZUludGVyc2VjdGlvbnMoACkgbG9jYWxfeD0ALCBsb2NhbF95PQBWaWV3OjpzZXRTY2VuZURhdGEoKSBTaGFyaW5nIHNjZW5lIABWaWV3OjpzZXRTY2VuZURhdGEoKSBBbGxvY2F0aW5nIG5ldyBzY2VuZQBWaWV3OjpzZXRTY2VuZURhdGEoKSBSZXVzaW5nIGV4aXN0aW5nIHNjZW5lACJDb2xsZWN0ZWRDb29yZGluYXRlU3lzdGVtTm9kZXNWaXNpdG9yIgAib3NnVmlld2VyIgBGb3VuZCBDb29yZGluYXRlU3lzdGVtTm9kZSBub2RlACAgICAgQ29vcmRpbmF0ZVN5c3RlbSA9IABGb3VuZCBhZGRpdGlvbmFsIENvb3JkaW5hdGVTeXN0ZW1Ob2RlIG5vZGUsIGJ1dCBpZ25vcmluZwAzN0NvbGxlY3RlZENvb3JkaW5hdGVTeXN0ZW1Ob2Rlc1Zpc2l0b3IAQ2FtZXJhAFJlbmRlcjo6UmVuZGVyKCkgAF9hdmFpbGFibGVRdWV1ZS5zaXplKCk9AFZpZXdlcgBWaWV3ZXI6On5WaWV3ZXIoKTo6IHN0YXJ0IGRlc3RydWN0b3IgZ2V0VGhyZWFkcyA9IABWaWV3ZXI6On5WaWV3ZXIoKSBlbmQgZGVzdHJ1Y3RvciBnZXRUaHJlYWRzID0gAEdyYXBoaWNzV2luZG93OjpyZXF1ZXN0UmVkcmF3KCk6IE5vIHZpZXdzIGFzc2lnbmVkIHlldC4AR3JhcGhpY3NXaW5kb3c6OnNldFN3YXBHcm91cCgAKSBub3QgaW1wbGVtZW50ZWQuAEdyYXBoaWNzV2luZG93OjpzZXRTeW5jVG9WQmxhbmsoAEdyYXBoaWNzV2luZG93OjpzZXRDdXJzb3IoLi4pIG5vdCBpbXBsZW1lbnRlZC4AR3JhcGhpY3NXaW5kb3c6OnNldFdpbmRvd05hbWUoLi4pIG5vdCBpbXBsZW1lbnRlZC4AR3JhcGhpY3NXaW5kb3c6OnJhaXNlV2luZG93KC4uKSBub3QgaW1wbGVtZW50ZWQuAEdyYXBoaWNzV2luZG93OjpncmFiRm9jdXNJZlBvaW50ZXJJbldpbmRvdyguLikgbm90IGltcGxlbWVudGVkLgBHcmFwaGljc1dpbmRvdzo6Z3JhYkZvY3VzKC4uKSBub3QgaW1wbGVtZW50ZWQuAEdyYXBoaWNzV2luZG93OjpzZXRXaW5kb3dEZWNvcmF0aW9uSW1wbGVtZW50YXRpb24oLi4pIG5vdCBpbXBsZW1lbnRlZC4AR3JhcGhpY3NXaW5kb3c6OnNldFdpbmRvd1JlY3RhbmdsZUltcGxlbWVudGF0aW9uKC4uKSBub3QgaW1wbGVtZW50ZWQuAEdyYXBoaWNzV2luZG93Ojogc3dhcEJ1ZmZlcnNJbXBsZW1lbnRhdGlvbigpIG5vdCBpbXBsZW1lbnRlZC4AR3JhcGhpY3NXaW5kb3c6OmJpbmRQQnVmZmVyVG9UZXh0dXJlSW1wbGVtZW50YXRpb24oLi4pIG5vdCBpbXBsZW1lbnRlZC4AR3JhcGhpY3NXaW5kb3c6OnJlbGVhc2VDb250ZXh0SW1wbGVtZW50YXRpb24oLi4pIG5vdCBpbXBsZW1lbnRlZC4AR3JhcGhpY3NXaW5kb3c6Om1ha2VDb250ZXh0Q3VycmVudEltcGxlbWVudGF0aW9uKC4uKSBub3QgaW1wbGVtZW50ZWQuAEdyYXBoaWNzV2luZG93OjptYWtlQ3VycmVudEltcGxlbWVudGF0aW9uKCkgbm90IGltcGxlbWVudGVkLgBHcmFwaGljc1dpbmRvdzo6Y2xvc2VJbXBsZW1lbnRhdGlvbigpIG5vdCBpbXBsZW1lbnRlZC4AR3JhcGhpY3NXaW5kb3c6OmlzUmVhbGl6ZWRJbXBsZW1lbnRhdGlvbigpIG5vdCBpbXBsZW1lbnRlZC4AR3JhcGhpY3NXaW5kb3c6OnJlYWxpemVJbXBsZW1lbnRhdGlvbigpIG5vdCBpbXBsZW1lbnRlZC4AR3JhcGhpY3NXaW5kb3c6OnZhbGlkKCkgbm90IGltcGxlbWVudGVkLgBHcmFwaGljc1dpbmRvdwBHcmFwaGljc1dpbmRvd0VtYmVkZGVkAE45b3NnVmlld2VyMjJHcmFwaGljc1dpbmRvd0VtYmVkZGVkRQBWaWV3ZXI6OnJlYWxpemUoKSAtIE5vIHZhbGlkIGNvbnRleHRzIGZvdW5kLCBzZXR0aW5nIHVwIHZpZXcgYWNyb3NzIGFsbCBzY3JlZW5zLgBPU0dfQ09ORklHX0ZJTEUAT1NHX1NDUkVFTgBPU0dfV0lORE9XAE9TR19CT1JERVJMRVNTX1dJTkRPVwBWaWV3ZXI6OnJlYWxpemUoKSAtIGZhaWxlZCB0byBzZXQgdXAgYW55IHdpbmRvd3MAVmlld2VyOjpyZWFkQ29uZmlndXJhdGlvbigAVXNpbmcgb3NnVmlld2VyOjpDb25maWcgOiAARXJyb3I6IENvbmZpZyBmaWxlICIAIiBjb250YWluaW5nIENvbXBvc2l0ZVZpZXdlciBjYW5ub3QgYmUgbG9hZGVkIGJ5IFZpZXdlci4AIiBkb2VzIG5vdCBjb250YWluIGEgdmFsaWQgVmlld2VyIGNvbmZpZ3VyYXRpb24uAE45b3NnVmlld2VyNlZpZXdlckUAT1NHX0NPTkZJR19GSUxFIDxmaWxlbmFtZT4AU3BlY2lmeSBhIHZpZXdlciBjb25maWd1cmF0aW9uIGZpbGUgdG8gbG9hZCBieSBkZWZhdWx0LgBPU0dfVEhSRUFESU5HIDx2YWx1ZT4AU2V0IHRoZSB0aHJlYWRpbmcgbW9kZWwgdXNpbmcgYnkgVmlld2VyLCA8dmFsdWU+IGNhbiBiZSBTaW5nbGVUaHJlYWRlZCwgQ3VsbERyYXdUaHJlYWRQZXJDb250ZXh0LCBEcmF3VGhyZWFkUGVyQ29udGV4dCBvciBDdWxsVGhyZWFkUGVyQ2FtZXJhRHJhd1RocmVhZFBlckNvbnRleHQuAE9TR19TQ1JFRU4gPHZhbHVlPgBTZXQgdGhlIGRlZmF1bHQgc2NyZWVuIHRoYXQgd2luZG93cyBzaG91bGQgb3BlbiB1cCBvbi4AT1NHX1dJTkRPVyB4IHkgd2lkdGggaGVpZ2h0AFNldCB0aGUgZGVmYXVsdCB3aW5kb3cgZGltZW5zaW9ucyB0aGF0IHdpbmRvd3Mgc2hvdWxkIG9wZW4gdXAgb24uAEZyYW1lIHJhdGUgbWFuYWdlIHNjaGVtZSB0aGF0IHZpZXdlciBydW4gc2hvdWxkIHVzZSwgIE9OX0RFTUFORCBvciBDT05USU5VT1VTIChkZWZhdWx0KS4AU2V0IHRoZSBtYXhpbXVtIG51bWJlciBvZiBmcmFtZSBhcyBzZWNvbmQgdGhhdCB2aWV3ZXIgcnVuLiAwLjAgaXMgZGVmYXVsdCBhbmQgZGlzYWJsZXMgYW4gZnJhbWUgcmF0ZSBjYXBwaW5nLgBTZXQgdGhlIG1heGltdW0gbnVtYmVyIG9mIGZyYW1lcyB0byBydW4gdGhlIHZpZXdlciBydW4gbWV0aG9kLgBvc2dEQjo6bWFrZURpcmVjdG9yeSgpOiBjYW5ub3QgY3JlYXRlIGFuIGVtcHR5IGRpcmVjdG9yeQBvc2dEQjo6bWFrZURpcmVjdG9yeSgpOiAAIGFscmVhZHkgZXhpc3RzIGFuZCBpcyBub3QgYSBkaXJlY3RvcnkhAGl0cj0nACcKAEZpbmRGaWxlSW5QYXRoKCkgOiB0cnlpbmcgACAuLi4KAEZpbmRGaWxlSW5QYXRoKCkgOiBVU0lORyAACgAuLwAuXAAvAGZpbmRGaWxlSW5EaXJlY3RvcnkoKSBUcmltbWluZyBsYXN0IGNoYXJhY3RlciBvZiBmaWxlcGF0aCwgbm93IHJlYWxEaXJOYW1lPQBmaW5kRmlsZUluRGlyZWN0b3J5KCkgOiBsb29raW5nIGZvciAAIGluIABMRF9MSUJSQVJZX1BBVEgAL3Vzci9saWIvOi91c3IvbG9jYWwvbGliLwB2b2lkAGJvb2wAY2hhcgBzaWduZWQgY2hhcgB1bnNpZ25lZCBjaGFyAHNob3J0AHVuc2lnbmVkIHNob3J0AGludAB1bnNpZ25lZCBpbnQAbG9uZwB1bnNpZ25lZCBsb25nAGZsb2F0AGRvdWJsZQBzdGQ6OnN0cmluZwBzdGQ6OmJhc2ljX3N0cmluZzx1bnNpZ25lZCBjaGFyPgBzdGQ6OndzdHJpbmcAZW1zY3JpcHRlbjo6dmFsAGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PGNoYXI+AGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PHNpZ25lZCBjaGFyPgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzx1bnNpZ25lZCBjaGFyPgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzxzaG9ydD4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8dW5zaWduZWQgc2hvcnQ+AGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PGludD4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8dW5zaWduZWQgaW50PgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzxsb25nPgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzx1bnNpZ25lZCBsb25nPgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzxpbnQ4X3Q+AGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PHVpbnQ4X3Q+AGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PGludDE2X3Q+AGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PHVpbnQxNl90PgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzxpbnQzMl90PgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzx1aW50MzJfdD4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8ZmxvYXQ+AGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PGRvdWJsZT4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8bG9uZyBkb3VibGU+AE4xMGVtc2NyaXB0ZW4xMW1lbW9yeV92aWV3SWVFRQBOMTBlbXNjcmlwdGVuMTFtZW1vcnlfdmlld0lkRUUATjEwZW1zY3JpcHRlbjExbWVtb3J5X3ZpZXdJZkVFAE4xMGVtc2NyaXB0ZW4xMW1lbW9yeV92aWV3SW1FRQBOMTBlbXNjcmlwdGVuMTFtZW1vcnlfdmlld0lsRUUATjEwZW1zY3JpcHRlbjExbWVtb3J5X3ZpZXdJakVFAE4xMGVtc2NyaXB0ZW4xMW1lbW9yeV92aWV3SWlFRQBOMTBlbXNjcmlwdGVuMTFtZW1vcnlfdmlld0l0RUUATjEwZW1zY3JpcHRlbjExbWVtb3J5X3ZpZXdJc0VFAE4xMGVtc2NyaXB0ZW4xMW1lbW9yeV92aWV3SWhFRQBOMTBlbXNjcmlwdGVuMTFtZW1vcnlfdmlld0lhRUUATjEwZW1zY3JpcHRlbjExbWVtb3J5X3ZpZXdJY0VFAE5TdDNfXzIxMmJhc2ljX3N0cmluZ0l3TlNfMTFjaGFyX3RyYWl0c0l3RUVOU185YWxsb2NhdG9ySXdFRUVFAE5TdDNfXzIxMmJhc2ljX3N0cmluZ0loTlNfMTFjaGFyX3RyYWl0c0loRUVOU185YWxsb2NhdG9ySWhFRUVFAG9wZW5nbGVzMgBDb3VsZG4ndCBsb2FkIEdMRVMyIGZ1bmN0aW9uICVzOiAlcwoAZ2VuZXJpYwBHTF9JTlZBTElEX0VOVU0AR0xfSU5WQUxJRF9WQUxVRQBHTF9JTlZBTElEX09QRVJBVElPTgBHTF9PVVRfT0ZfTUVNT1JZAFVOS05PV04AJXM6ICVzICglZCk6ICVzICVzICgweCVYKQAvaG9tZS9rb3JuZXJyLy5lbXNjcmlwdGVuX3BvcnRzL3NkbDIvU0RMMi12ZXJzaW9uXzEzL3NyYy9yZW5kZXIvb3BlbmdsZXMyL1NETF9yZW5kZXJfZ2xlczIuYwB2b2lkIEdMRVMyX1Jlc2V0U3RhdGUoU0RMX1JlbmRlcmVyICopAFZpZGVvIHN1YnN5c3RlbSBoYXMgbm90IGJlZW4gaW5pdGlhbGl6ZWQAVGhlIHNwZWNpZmllZCB3aW5kb3cgaXNuJ3QgYW4gT3BlbkdMIHdpbmRvdwBUaGUgc3BlY2lmaWVkIHdpbmRvdyBoYXMgbm90IGJlZW4gbWFkZSBjdXJyZW50AGdsUmVhZFBpeGVscygpAGludCBHTEVTMl9SZW5kZXJSZWFkUGl4ZWxzKFNETF9SZW5kZXJlciAqLCBjb25zdCBTRExfUmVjdCAqLCBVaW50MzIsIHZvaWQgKiwgaW50KQBkc3QAZHN0X3BpdGNoAFVua25vd24gRk9VUkNDIHBpeGVsIGZvcm1hdABJbmRleGVkIHBpeGVsIGZvcm1hdHMgbm90IHN1cHBvcnRlZABTRExfQkxJVF9DUFVfRkVBVFVSRVMAJXUAQmxpdCBjb21iaW5hdGlvbiBub3Qgc3VwcG9ydGVkAAAkSG2Rttr/AFWq/wD//2Zvcm1hdABTRExfU2V0UGl4ZWxGb3JtYXRQYWxldHRlKCkgcGFzc2VkIE5VTEwgZm9ybWF0AFNETF9TZXRQaXhlbEZvcm1hdFBhbGV0dGUoKSBwYXNzZWQgYSBwYWxldHRlIHRoYXQgZG9lc24ndCBtYXRjaCB0aGUgZm9ybWF0AFNETF9GaWxsUmVjdCgpOiBVbnN1cHBvcnRlZCBzdXJmYWNlIGZvcm1hdABTRExfRmlsbFJlY3QoKTogWW91IG11c3QgbG9jayB0aGUgc3VyZmFjZQBBAEIAcmVzdWx0AEZPVVJDQyBwaXhlbCBmb3JtYXRzIGFyZSBub3Qgc3VwcG9ydGVkAEludmFsaWQgcmVuZGVyZXIASW52YWxpZCB0ZXh0dXJlAFJlbmRlcmVyIGRvZXNuJ3Qgc3VwcG9ydCBxdWVyeWluZyBvdXRwdXQgc2l6ZQBpbnQgR0xFUzJfUmVuZGVyQ29weUV4KFNETF9SZW5kZXJlciAqLCBTRExfVGV4dHVyZSAqLCBjb25zdCBTRExfUmVjdCAqLCBjb25zdCBTRExfRlJlY3QgKiwgY29uc3QgZG91YmxlLCBjb25zdCBTRExfRlBvaW50ICosIGNvbnN0IFNETF9SZW5kZXJlckZsaXApAFVuc3VwcG9ydGVkIHRleHR1cmUgZm9ybWF0AGFfcG9zaXRpb24AYV90ZXhDb29yZABhX2FuZ2xlAGFfY2VudGVyAEZhaWxlZCB0byBsaW5rIHNoYWRlciBwcm9ncmFtAHVfcHJvamVjdGlvbgB1X3RleHR1cmVfdgB1X3RleHR1cmVfdQB1X3RleHR1cmUAdV9tb2R1bGF0aW9uAHVfY29sb3IATm8gc2hhZGVyIG1hdGNoaW5nIHRoZSByZXF1ZXN0ZWQgY2hhcmFjdGVyaXN0aWNzIHdhcyBmb3VuZABUaGUgc3BlY2lmaWVkIHNoYWRlciBjYW5ub3QgYmUgbG9hZGVkIG9uIHRoZSBjdXJyZW50IHBsYXRmb3JtAEZhaWxlZCB0byBsb2FkIHRoZSBzaGFkZXI6ICVzAEZhaWxlZCB0byBsb2FkIHRoZSBzaGFkZXIAaW50IEdMRVMyX1JlbmRlckNvcHkoU0RMX1JlbmRlcmVyICosIFNETF9UZXh0dXJlICosIGNvbnN0IFNETF9SZWN0ICosIGNvbnN0IFNETF9GUmVjdCAqKQBpbnQgR0xFUzJfUmVuZGVyRmlsbFJlY3RzKFNETF9SZW5kZXJlciAqLCBjb25zdCBTRExfRlJlY3QgKiwgaW50KQBpbnQgR0xFUzJfUmVuZGVyRHJhd0xpbmVzKFNETF9SZW5kZXJlciAqLCBjb25zdCBTRExfRlBvaW50ICosIGludCkAaW50IEdMRVMyX1VwZGF0ZVZpZXdwb3J0KFNETF9SZW5kZXJlciAqKQBnbEZyYW1lYnVmZmVyVGV4dHVyZTJEKCkgZmFpbGVkAGdsVGV4U3ViSW1hZ2UyRCgpAGludCBHTEVTMl9VcGRhdGVUZXh0dXJlWVVWKFNETF9SZW5kZXJlciAqLCBTRExfVGV4dHVyZSAqLCBjb25zdCBTRExfUmVjdCAqLCBjb25zdCBVaW50OCAqLCBpbnQsIGNvbnN0IFVpbnQ4ICosIGludCwgY29uc3QgVWludDggKiwgaW50KQBpbnQgR0xFUzJfVXBkYXRlVGV4dHVyZShTRExfUmVuZGVyZXIgKiwgU0RMX1RleHR1cmUgKiwgY29uc3QgU0RMX1JlY3QgKiwgY29uc3Qgdm9pZCAqLCBpbnQpAFRleHR1cmUgZm9ybWF0IG5vdCBzdXBwb3J0ZWQAaW50IEdMRVMyX0NyZWF0ZVRleHR1cmUoU0RMX1JlbmRlcmVyICosIFNETF9UZXh0dXJlICopAGdsR2VuVGV4dXJlcygpAGdsVGV4SW1hZ2UyRCgpAE5vIE9wZW5HTCBjb250ZXh0IGhhcyBiZWVuIG1hZGUgY3VycmVudABTZXR0aW5nIHRoZSBzd2FwIGludGVydmFsIGlzIG5vdCBzdXBwb3J0ZWQAJXMAJXM6ICVzCgBWRVJCT1NFAERFQlVHAElORk8AV0FSTgBFUlJPUgBDUklUSUNBTABObyBHTCBkcml2ZXIgaGFzIGJlZW4gbG9hZGVkAE5vIGR5bmFtaWMgR0wgc3VwcG9ydCBpbiB2aWRlbyBkcml2ZXIAaWQAdm9pZCBHTEVTMl9EZXN0cm95UmVuZGVyZXIoU0RMX1JlbmRlcmVyICopAE91dCBvZiBtZW1vcnkARXJyb3IgcmVhZGluZyBmcm9tIGRhdGFzdHJlYW0ARXJyb3Igd3JpdGluZyB0byBkYXRhc3RyZWFtAEVycm9yIHNlZWtpbmcgaW4gZGF0YXN0cmVhbQBUaGF0IG9wZXJhdGlvbiBpcyBub3Qgc3VwcG9ydGVkAFVua25vd24gU0RMIGVycm9yAE5vIE9wZW5HTCBzdXBwb3J0IGluIHZpZGVvIGRyaXZlcgBubyBnZXN0dXJlIHRvdWNoIGRldmljZXMgcmVnaXN0ZXJlZABFUlJPUjogTnVtUG9pbnRzID0gJWkKAFRoZSBldmVudCBzeXN0ZW0gaGFzIGJlZW4gc2h1dCBkb3duAEV2ZW50IHF1ZXVlIGlzIGZ1bGwgKCVkIGV2ZW50cykAQ291bGRuJ3QgbG9jayBldmVudCBxdWV1ZQBWaWRlbyBkcml2ZXIgZG9lc24ndCBzdXBwb3J0IGNoYW5naW5nIGRpc3BsYXkgbW9kZQBObyB2aWRlbyBtb2RlIGxhcmdlIGVub3VnaCBmb3IgJWR4JWQATWlzc2luZyBkZXNpcmVkIG1vZGUgb3IgY2xvc2VzdCBtb2RlIHBhcmFtZXRlcgBtb2RlAENvdWxkbid0IGZpbmQgZGlzcGxheSBtb2RlIG1hdGNoAENvdWxkbid0IGZpbmQgYW55IGRpc3BsYXlzAHBvaW50cwBjb3VudABkaXNwbGF5SW5kZXggbXVzdCBiZSBpbiB0aGUgcmFuZ2UgMCAtICVkAFVua25vd24gT3BlbkdMIGNvbnRleHQgZmxhZyAlZABVbmtub3duIE9wZW5HTCBjb250ZXh0IHByb2ZpbGUgJWQAVW5rbm93biBPcGVuR0wgYXR0cmlidXRlAEZhaWxlZCBnZXR0aW5nIE9wZW5HTCBnbEdldEludGVnZXJ2IGVudHJ5IHBvaW50AEZhaWxlZCBnZXR0aW5nIE9wZW5HTCBnbEdldEVycm9yIGVudHJ5IHBvaW50AE9wZW5HTCBlcnJvcjogR0xfSU5WQUxJRF9FTlVNAE9wZW5HTCBlcnJvcjogR0xfSU5WQUxJRF9WQUxVRQBPcGVuR0wgZXJyb3I6ICUwOFgAQ2FuJ3QgY3JlYXRlIHJlbmRlcmVyIGZvciBOVUxMIHN1cmZhY2UAV2luZG93IHN1cmZhY2UgaXMgaW52YWxpZCwgcGxlYXNlIGNhbGwgU0RMX0dldFdpbmRvd1N1cmZhY2UoKSB0byBnZXQgYSBuZXcgc3VyZmFjZQBUcmllZCB0byByZWFkIG91dHNpZGUgb2Ygc3VyZmFjZSBib3VuZHMAU0RMX1JFTkRFUl9TQ0FMRV9RVUFMSVRZAG5lYXJlc3QAU0RMX1VwcGVyQmxpdDogcGFzc2VkIGEgTlVMTCBzdXJmYWNlAFN1cmZhY2VzIG11c3Qgbm90IGJlIGxvY2tlZCBkdXJpbmcgYmxpdABFbXB0eSBkZXN0aW5hdGlvbiBwYWxldHRlAFVua25vd24gcGl4ZWwgZm9ybWF0AGtleQBwYWxldHRlAG5jb2xvcnMAU0RMX1VwcGVyQmxpdFNjYWxlZDogcGFzc2VkIGEgTlVMTCBzdXJmYWNlAE9ubHkgd29ya3Mgd2l0aCBzYW1lIGZvcm1hdCBzdXJmYWNlcwBJbnZhbGlkIHNvdXJjZSBibGl0IHJlY3RhbmdsZQBJbnZhbGlkIGRlc3RpbmF0aW9uIGJsaXQgcmVjdGFuZ2xlAFVuYWJsZSB0byBsb2NrIGRlc3RpbmF0aW9uIHN1cmZhY2UAVW5hYmxlIHRvIGxvY2sgc291cmNlIHN1cmZhY2UAc3VyZmFjZQBTRExfQmxlbmRGaWxsUmVjdHMoKTogVW5zdXBwb3J0ZWQgc3VyZmFjZSBmb3JtYXQAU0RMX0ZpbGxSZWN0cygpIHBhc3NlZCBOVUxMIHJlY3RzAFNETF9CbGVuZExpbmVzKCk6IFBhc3NlZCBOVUxMIGRlc3RpbmF0aW9uIHN1cmZhY2UAU0RMX0JsZW5kTGluZXMoKTogVW5zdXBwb3J0ZWQgc3VyZmFjZSBmb3JtYXQAU0RMX0JsZW5kUG9pbnQoKTogVW5zdXBwb3J0ZWQgc3VyZmFjZSBmb3JtYXQAcmVjdABYMQBZMQBYMgBZMgBTRExfRHJhd0xpbmVzKCk6IFBhc3NlZCBOVUxMIGRlc3RpbmF0aW9uIHN1cmZhY2UAU0RMX0RyYXdMaW5lcygpOiBVbnN1cHBvcnRlZCBzdXJmYWNlIGZvcm1hdABQYXNzZWQgTlVMTCBkZXN0aW5hdGlvbiBzdXJmYWNlAFNETF9EcmF3UG9pbnQoKTogVW5zdXBwb3J0ZWQgc3VyZmFjZSBmb3JtYXQAU0RMX0JsZW5kUG9pbnRzKCk6IFVuc3VwcG9ydGVkIHN1cmZhY2UgZm9ybWF0AFNETF9EcmF3UG9pbnRzKCk6IFVuc3VwcG9ydGVkIHN1cmZhY2UgZm9ybWF0AFVua25vd24gdGV4dHVyZSBmb3JtYXQAU29mdHdhcmUgcmVuZGVyZXIgZG9lc24ndCBoYXZlIGFuIG91dHB1dCBzdXJmYWNlAFNETCBlbXNjcmlwdGVuIHZpZGVvIGRyaXZlcgBTRExfVklERU9fTUlOSU1JWkVfT05fRk9DVVNfTE9TUwAwAEVHTCBub3QgaW5pdGlhbGl6ZWQAVW5hYmxlIHRvIHNldCB0aGUgRUdMIHN3YXAgaW50ZXJ2YWwAT3BlbkdMIG5vdCBpbml0aWFsaXplZABVbmFibGUgdG8gbWFrZSBFR0wgY29udGV4dCBjdXJyZW50AENvdWxkIG5vdCBjcmVhdGUgRUdMIGNvbnRleHQgKGNvbnRleHQgYXR0cmlidXRlcyBhcmUgbm90IHN1cHBvcnRlZCkAQ291bGQgbm90IGNyZWF0ZSBFR0wgY29udGV4dABDb3VsZCBub3QgbWFrZSBFR0wgY29udGV4dCBjdXJyZW50AEZhaWxlZCBsb2FkaW5nICVzOiAlcwBDb3VsZCBub3QgZ2V0IEVHTCBkaXNwbGF5AENvdWxkIG5vdCBpbml0aWFsaXplIEVHTABDb3VsZG4ndCBmaW5kIGZyYW1lYnVmZmVyIHN1cmZhY2UgZm9yIHdpbmRvdwB7IHZhciB3ID0gJDA7IHZhciBoID0gJDE7IHZhciBwaXhlbHMgPSAkMjsgaWYgKCFNb2R1bGVbJ1NETDInXSkgTW9kdWxlWydTREwyJ10gPSB7fTsgdmFyIFNETDIgPSBNb2R1bGVbJ1NETDInXTsgaWYgKFNETDIuY3R4Q2FudmFzICE9PSBNb2R1bGVbJ2NhbnZhcyddKSB7IFNETDIuY3R4ID0gTW9kdWxlWydjcmVhdGVDb250ZXh0J10oTW9kdWxlWydjYW52YXMnXSwgZmFsc2UsIHRydWUpOyBTREwyLmN0eENhbnZhcyA9IE1vZHVsZVsnY2FudmFzJ107IH0gaWYgKFNETDIudyAhPT0gdyB8fCBTREwyLmggIT09IGggfHwgU0RMMi5pbWFnZUN0eCAhPT0gU0RMMi5jdHgpIHsgU0RMMi5pbWFnZSA9IFNETDIuY3R4LmNyZWF0ZUltYWdlRGF0YSh3LCBoKTsgU0RMMi53ID0gdzsgU0RMMi5oID0gaDsgU0RMMi5pbWFnZUN0eCA9IFNETDIuY3R4OyB9IHZhciBkYXRhID0gU0RMMi5pbWFnZS5kYXRhOyB2YXIgc3JjID0gcGl4ZWxzID4+IDI7IHZhciBkc3QgPSAwOyB2YXIgbnVtOyBpZiAodHlwZW9mIENhbnZhc1BpeGVsQXJyYXkgIT09ICd1bmRlZmluZWQnICYmIGRhdGEgaW5zdGFuY2VvZiBDYW52YXNQaXhlbEFycmF5KSB7IG51bSA9IGRhdGEubGVuZ3RoOyB3aGlsZSAoZHN0IDwgbnVtKSB7IHZhciB2YWwgPSBIRUFQMzJbc3JjXTsgZGF0YVtkc3QgXSA9IHZhbCAmIDB4ZmY7IGRhdGFbZHN0KzFdID0gKHZhbCA+PiA4KSAmIDB4ZmY7IGRhdGFbZHN0KzJdID0gKHZhbCA+PiAxNikgJiAweGZmOyBkYXRhW2RzdCszXSA9IDB4ZmY7IHNyYysrOyBkc3QgKz0gNDsgfSB9IGVsc2UgeyBpZiAoU0RMMi5kYXRhMzJEYXRhICE9PSBkYXRhKSB7IFNETDIuZGF0YTMyID0gbmV3IEludDMyQXJyYXkoZGF0YS5idWZmZXIpOyBTREwyLmRhdGE4ID0gbmV3IFVpbnQ4QXJyYXkoZGF0YS5idWZmZXIpOyB9IHZhciBkYXRhMzIgPSBTREwyLmRhdGEzMjsgbnVtID0gZGF0YTMyLmxlbmd0aDsgZGF0YTMyLnNldChIRUFQMzIuc3ViYXJyYXkoc3JjLCBzcmMgKyBudW0pKTsgdmFyIGRhdGE4ID0gU0RMMi5kYXRhODsgdmFyIGkgPSAzOyB2YXIgaiA9IGkgKyA0Km51bTsgaWYgKG51bSAlIDggPT0gMCkgeyB3aGlsZSAoaSA8IGopIHsgZGF0YThbaV0gPSAweGZmOyBpID0gaSArIDQgfCAwOyBkYXRhOFtpXSA9IDB4ZmY7IGkgPSBpICsgNCB8IDA7IGRhdGE4W2ldID0gMHhmZjsgaSA9IGkgKyA0IHwgMDsgZGF0YThbaV0gPSAweGZmOyBpID0gaSArIDQgfCAwOyBkYXRhOFtpXSA9IDB4ZmY7IGkgPSBpICsgNCB8IDA7IGRhdGE4W2ldID0gMHhmZjsgaSA9IGkgKyA0IHwgMDsgZGF0YThbaV0gPSAweGZmOyBpID0gaSArIDQgfCAwOyBkYXRhOFtpXSA9IDB4ZmY7IGkgPSBpICsgNCB8IDA7IH0gfSBlbHNlIHsgd2hpbGUgKGkgPCBqKSB7IGRhdGE4W2ldID0gMHhmZjsgaSA9IGkgKyA0IHwgMDsgfSB9IH0gU0RMMi5jdHgucHV0SW1hZ2VEYXRhKFNETDIuaW1hZ2UsIDAsIDApOyByZXR1cm4gMDsgfQAjY2FudmFzACNkb2N1bWVudAAjd2luZG93AFNETF9FTVNDUklQVEVOX0tFWUJPQVJEX0VMRU1FTlQAeyBpZiAodHlwZW9mIE1vZHVsZVsnc2V0V2luZG93VGl0bGUnXSAhPT0gJ3VuZGVmaW5lZCcpIHsgTW9kdWxlWydzZXRXaW5kb3dUaXRsZSddKE1vZHVsZVsnUG9pbnRlcl9zdHJpbmdpZnknXSgkMCkpOyB9IHJldHVybiAwOyB9AENvdWxkIG5vdCBjcmVhdGUgR0xFUyB3aW5kb3cgc3VyZmFjZQBVbmtub3duIHRvdWNoIGRldmljZQBObyB3aW5kb3cgaGFzIGZvY3VzAEVHTCBpbXBsZW1lbnRhdGlvbiBkb2VzIG5vdCBzdXBwb3J0IHNSR0Igc3lzdGVtIGZyYW1lYnVmZmVycwBDb3VsZG4ndCBmaW5kIG1hdGNoaW5nIEVHTCBjb25maWcAT3BlbkdMIGxpYnJhcnkgYWxyZWFkeSBsb2FkZWQAInsgcmV0dXJuIHNjcmVlbi53aWR0aDsgfSIAInsgcmV0dXJuIHNjcmVlbi5oZWlnaHQ7IH0iAGRlZmF1bHQAcG9pbnRlcgBub3QtYWxsb3dlZABucy1yZXNpemUAZXctcmVzaXplAG5lc3ctcmVzaXplAG53c2UtcmVzaXplAHByb2dyZXNzAGNyb3NzaGFpcgB3YWl0AHRleHQAeyBpZiAoTW9kdWxlWydjYW52YXMnXSkgeyBNb2R1bGVbJ2NhbnZhcyddLnN0eWxlWydjdXJzb3InXSA9IE1vZHVsZVsnUG9pbnRlcl9zdHJpbmdpZnknXSgkMCk7IH0gcmV0dXJuIDA7IH0AaWYgKE1vZHVsZVsnY2FudmFzJ10pIHsgTW9kdWxlWydjYW52YXMnXS5zdHlsZVsnY3Vyc29yJ10gPSAnbm9uZSc7IH0AeyB2YXIgdyA9ICQwOyB2YXIgaCA9ICQxOyB2YXIgcGl4ZWxzID0gJDI7IHZhciBjYW52YXMgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJjYW52YXMiKTsgY2FudmFzLndpZHRoID0gdzsgY2FudmFzLmhlaWdodCA9IGg7IHZhciBjdHggPSBjYW52YXMuZ2V0Q29udGV4dCgiMmQiKTsgdmFyIGltYWdlID0gY3R4LmNyZWF0ZUltYWdlRGF0YSh3LCBoKTsgdmFyIGRhdGEgPSBpbWFnZS5kYXRhOyB2YXIgc3JjID0gcGl4ZWxzID4+IDI7IHZhciBkc3QgPSAwOyB2YXIgbnVtOyBpZiAodHlwZW9mIENhbnZhc1BpeGVsQXJyYXkgIT09ICd1bmRlZmluZWQnICYmIGRhdGEgaW5zdGFuY2VvZiBDYW52YXNQaXhlbEFycmF5KSB7IG51bSA9IGRhdGEubGVuZ3RoOyB3aGlsZSAoZHN0IDwgbnVtKSB7IHZhciB2YWwgPSBIRUFQMzJbc3JjXTsgZGF0YVtkc3QgXSA9IHZhbCAmIDB4ZmY7IGRhdGFbZHN0KzFdID0gKHZhbCA+PiA4KSAmIDB4ZmY7IGRhdGFbZHN0KzJdID0gKHZhbCA+PiAxNikgJiAweGZmOyBkYXRhW2RzdCszXSA9ICh2YWwgPj4gMjQpICYgMHhmZjsgc3JjKys7IGRzdCArPSA0OyB9IH0gZWxzZSB7IHZhciBkYXRhMzIgPSBuZXcgSW50MzJBcnJheShkYXRhLmJ1ZmZlcik7IG51bSA9IGRhdGEzMi5sZW5ndGg7IGRhdGEzMi5zZXQoSEVBUDMyLnN1YmFycmF5KHNyYywgc3JjICsgbnVtKSk7IH0gY3R4LnB1dEltYWdlRGF0YShpbWFnZSwgMCwgMCk7IHZhciB1cmwgPSAidXJsKCIgKyBjYW52YXMudG9EYXRhVVJMKCkgKyAiKSwgYXV0byI7IHZhciB1cmxCdWYgPSBfbWFsbG9jKHVybC5sZW5ndGggKyAxKTsgc3RyaW5nVG9VVEY4KHVybCwgdXJsQnVmLCB1cmwubGVuZ3RoICsgMSk7IHJldHVybiB1cmxCdWY7IH0AU0RMIGVtc2NyaXB0ZW4gYXVkaW8gZHJpdmVyACJ7IGlmICh0eXBlb2YoQXVkaW9Db250ZXh0KSAhPT0gJ3VuZGVmaW5lZCcpIHsgcmV0dXJuIDE7IH0gZWxzZSBpZiAodHlwZW9mKHdlYmtpdEF1ZGlvQ29udGV4dCkgIT09ICd1bmRlZmluZWQnKSB7IHJldHVybiAxOyB9IHJldHVybiAwOyB9IgBObyBhdWRpbyBjb250ZXh0IGF2YWlsYWJsZQAieyBpZiAoKHR5cGVvZihuYXZpZ2F0b3IubWVkaWFEZXZpY2VzKSAhPT0gJ3VuZGVmaW5lZCcpICYmICh0eXBlb2YobmF2aWdhdG9yLm1lZGlhRGV2aWNlcy5nZXRVc2VyTWVkaWEpICE9PSAndW5kZWZpbmVkJykpIHsgcmV0dXJuIDE7IH0gZWxzZSBpZiAodHlwZW9mKG5hdmlnYXRvci53ZWJraXRHZXRVc2VyTWVkaWEpICE9PSAndW5kZWZpbmVkJykgeyByZXR1cm4gMTsgfSByZXR1cm4gMDsgfSIAeyBpZiAoJDApIHsgaWYgKFNETDIuY2FwdHVyZS5zaWxlbmNlVGltZXIgIT09IHVuZGVmaW5lZCkgeyBjbGVhclRpbWVvdXQoU0RMMi5jYXB0dXJlLnNpbGVuY2VUaW1lcik7IH0gaWYgKFNETDIuY2FwdHVyZS5zdHJlYW0gIT09IHVuZGVmaW5lZCkgeyB2YXIgdHJhY2tzID0gU0RMMi5jYXB0dXJlLnN0cmVhbS5nZXRBdWRpb1RyYWNrcygpOyBmb3IgKHZhciBpID0gMDsgaSA8IHRyYWNrcy5sZW5ndGg7IGkrKykgeyBTREwyLmNhcHR1cmUuc3RyZWFtLnJlbW92ZVRyYWNrKHRyYWNrc1tpXSk7IH0gU0RMMi5jYXB0dXJlLnN0cmVhbSA9IHVuZGVmaW5lZDsgfSBpZiAoU0RMMi5jYXB0dXJlLnNjcmlwdFByb2Nlc3Nvck5vZGUgIT09IHVuZGVmaW5lZCkgeyBTREwyLmNhcHR1cmUuc2NyaXB0UHJvY2Vzc29yTm9kZS5vbmF1ZGlvcHJvY2VzcyA9IGZ1bmN0aW9uKGF1ZGlvUHJvY2Vzc2luZ0V2ZW50KSB7fTsgU0RMMi5jYXB0dXJlLnNjcmlwdFByb2Nlc3Nvck5vZGUuZGlzY29ubmVjdCgpOyBTREwyLmNhcHR1cmUuc2NyaXB0UHJvY2Vzc29yTm9kZSA9IHVuZGVmaW5lZDsgfSBpZiAoU0RMMi5jYXB0dXJlLm1lZGlhU3RyZWFtTm9kZSAhPT0gdW5kZWZpbmVkKSB7IFNETDIuY2FwdHVyZS5tZWRpYVN0cmVhbU5vZGUuZGlzY29ubmVjdCgpOyBTREwyLmNhcHR1cmUubWVkaWFTdHJlYW1Ob2RlID0gdW5kZWZpbmVkOyB9IGlmIChTREwyLmNhcHR1cmUuc2lsZW5jZUJ1ZmZlciAhPT0gdW5kZWZpbmVkKSB7IFNETDIuY2FwdHVyZS5zaWxlbmNlQnVmZmVyID0gdW5kZWZpbmVkIH0gU0RMMi5jYXB0dXJlID0gdW5kZWZpbmVkOyB9IGVsc2UgeyBpZiAoU0RMMi5hdWRpby5zY3JpcHRQcm9jZXNzb3JOb2RlICE9IHVuZGVmaW5lZCkgeyBTREwyLmF1ZGlvLnNjcmlwdFByb2Nlc3Nvck5vZGUuZGlzY29ubmVjdCgpOyBTREwyLmF1ZGlvLnNjcmlwdFByb2Nlc3Nvck5vZGUgPSB1bmRlZmluZWQ7IH0gU0RMMi5hdWRpbyA9IHVuZGVmaW5lZDsgfSBpZiAoKFNETDIuYXVkaW9Db250ZXh0ICE9PSB1bmRlZmluZWQpICYmIChTREwyLmF1ZGlvID09PSB1bmRlZmluZWQpICYmIChTREwyLmNhcHR1cmUgPT09IHVuZGVmaW5lZCkpIHsgU0RMMi5hdWRpb0NvbnRleHQuY2xvc2UoKTsgU0RMMi5hdWRpb0NvbnRleHQgPSB1bmRlZmluZWQ7IH0gfQB7IGlmKHR5cGVvZihTREwyKSA9PT0gJ3VuZGVmaW5lZCcpIHsgU0RMMiA9IHt9OyB9IGlmICghJDApIHsgU0RMMi5hdWRpbyA9IHt9OyB9IGVsc2UgeyBTREwyLmNhcHR1cmUgPSB7fTsgfSBpZiAoIVNETDIuYXVkaW9Db250ZXh0KSB7IGlmICh0eXBlb2YoQXVkaW9Db250ZXh0KSAhPT0gJ3VuZGVmaW5lZCcpIHsgU0RMMi5hdWRpb0NvbnRleHQgPSBuZXcgQXVkaW9Db250ZXh0KCk7IH0gZWxzZSBpZiAodHlwZW9mKHdlYmtpdEF1ZGlvQ29udGV4dCkgIT09ICd1bmRlZmluZWQnKSB7IFNETDIuYXVkaW9Db250ZXh0ID0gbmV3IHdlYmtpdEF1ZGlvQ29udGV4dCgpOyB9IH0gcmV0dXJuIFNETDIuYXVkaW9Db250ZXh0ID09PSB1bmRlZmluZWQgPyAtMSA6IDA7IH0AV2ViIEF1ZGlvIEFQSSBpcyBub3QgYXZhaWxhYmxlIQBObyBjb21wYXRpYmxlIGF1ZGlvIGZvcm1hdCEAInsgcmV0dXJuIFNETDIuYXVkaW9Db250ZXh0LnNhbXBsZVJhdGU7IH0iAHsgdmFyIGhhdmVfbWljcm9waG9uZSA9IGZ1bmN0aW9uKHN0cmVhbSkgeyBpZiAoU0RMMi5jYXB0dXJlLnNpbGVuY2VUaW1lciAhPT0gdW5kZWZpbmVkKSB7IGNsZWFyVGltZW91dChTREwyLmNhcHR1cmUuc2lsZW5jZVRpbWVyKTsgU0RMMi5jYXB0dXJlLnNpbGVuY2VUaW1lciA9IHVuZGVmaW5lZDsgfSBTREwyLmNhcHR1cmUubWVkaWFTdHJlYW1Ob2RlID0gU0RMMi5hdWRpb0NvbnRleHQuY3JlYXRlTWVkaWFTdHJlYW1Tb3VyY2Uoc3RyZWFtKTsgU0RMMi5jYXB0dXJlLnNjcmlwdFByb2Nlc3Nvck5vZGUgPSBTREwyLmF1ZGlvQ29udGV4dC5jcmVhdGVTY3JpcHRQcm9jZXNzb3IoJDEsICQwLCAxKTsgU0RMMi5jYXB0dXJlLnNjcmlwdFByb2Nlc3Nvck5vZGUub25hdWRpb3Byb2Nlc3MgPSBmdW5jdGlvbihhdWRpb1Byb2Nlc3NpbmdFdmVudCkgeyBpZiAoKFNETDIgPT09IHVuZGVmaW5lZCkgfHwgKFNETDIuY2FwdHVyZSA9PT0gdW5kZWZpbmVkKSkgeyByZXR1cm47IH0gYXVkaW9Qcm9jZXNzaW5nRXZlbnQub3V0cHV0QnVmZmVyLmdldENoYW5uZWxEYXRhKDApLmZpbGwoMC4wKTsgU0RMMi5jYXB0dXJlLmN1cnJlbnRDYXB0dXJlQnVmZmVyID0gYXVkaW9Qcm9jZXNzaW5nRXZlbnQuaW5wdXRCdWZmZXI7IFJ1bnRpbWUuZHluQ2FsbCgndmknLCAkMiwgWyQzXSk7IH07IFNETDIuY2FwdHVyZS5tZWRpYVN0cmVhbU5vZGUuY29ubmVjdChTREwyLmNhcHR1cmUuc2NyaXB0UHJvY2Vzc29yTm9kZSk7IFNETDIuY2FwdHVyZS5zY3JpcHRQcm9jZXNzb3JOb2RlLmNvbm5lY3QoU0RMMi5hdWRpb0NvbnRleHQuZGVzdGluYXRpb24pOyBTREwyLmNhcHR1cmUuc3RyZWFtID0gc3RyZWFtOyB9OyB2YXIgbm9fbWljcm9waG9uZSA9IGZ1bmN0aW9uKGVycm9yKSB7IH07IFNETDIuY2FwdHVyZS5zaWxlbmNlQnVmZmVyID0gU0RMMi5hdWRpb0NvbnRleHQuY3JlYXRlQnVmZmVyKCQwLCAkMSwgU0RMMi5hdWRpb0NvbnRleHQuc2FtcGxlUmF0ZSk7IFNETDIuY2FwdHVyZS5zaWxlbmNlQnVmZmVyLmdldENoYW5uZWxEYXRhKDApLmZpbGwoMC4wKTsgdmFyIHNpbGVuY2VfY2FsbGJhY2sgPSBmdW5jdGlvbigpIHsgU0RMMi5jYXB0dXJlLmN1cnJlbnRDYXB0dXJlQnVmZmVyID0gU0RMMi5jYXB0dXJlLnNpbGVuY2VCdWZmZXI7IFJ1bnRpbWUuZHluQ2FsbCgndmknLCAkMiwgWyQzXSk7IH07IFNETDIuY2FwdHVyZS5zaWxlbmNlVGltZXIgPSBzZXRUaW1lb3V0KHNpbGVuY2VfY2FsbGJhY2ssICgkMSAvIFNETDIuYXVkaW9Db250ZXh0LnNhbXBsZVJhdGUpICogMTAwMCk7IGlmICgobmF2aWdhdG9yLm1lZGlhRGV2aWNlcyAhPT0gdW5kZWZpbmVkKSAmJiAobmF2aWdhdG9yLm1lZGlhRGV2aWNlcy5nZXRVc2VyTWVkaWEgIT09IHVuZGVmaW5lZCkpIHsgbmF2aWdhdG9yLm1lZGlhRGV2aWNlcy5nZXRVc2VyTWVkaWEoeyBhdWRpbzogdHJ1ZSwgdmlkZW86IGZhbHNlIH0pLnRoZW4oaGF2ZV9taWNyb3Bob25lKS5jYXRjaChub19taWNyb3Bob25lKTsgfSBlbHNlIGlmIChuYXZpZ2F0b3Iud2Via2l0R2V0VXNlck1lZGlhICE9PSB1bmRlZmluZWQpIHsgbmF2aWdhdG9yLndlYmtpdEdldFVzZXJNZWRpYSh7IGF1ZGlvOiB0cnVlLCB2aWRlbzogZmFsc2UgfSwgaGF2ZV9taWNyb3Bob25lLCBub19taWNyb3Bob25lKTsgfSB9AHsgU0RMMi5hdWRpby5zY3JpcHRQcm9jZXNzb3JOb2RlID0gU0RMMi5hdWRpb0NvbnRleHRbJ2NyZWF0ZVNjcmlwdFByb2Nlc3NvciddKCQxLCAwLCAkMCk7IFNETDIuYXVkaW8uc2NyaXB0UHJvY2Vzc29yTm9kZVsnb25hdWRpb3Byb2Nlc3MnXSA9IGZ1bmN0aW9uIChlKSB7IGlmICgoU0RMMiA9PT0gdW5kZWZpbmVkKSB8fCAoU0RMMi5hdWRpbyA9PT0gdW5kZWZpbmVkKSkgeyByZXR1cm47IH0gU0RMMi5hdWRpby5jdXJyZW50T3V0cHV0QnVmZmVyID0gZVsnb3V0cHV0QnVmZmVyJ107IFJ1bnRpbWUuZHluQ2FsbCgndmknLCAkMiwgWyQzXSk7IH07IFNETDIuYXVkaW8uc2NyaXB0UHJvY2Vzc29yTm9kZVsnY29ubmVjdCddKFNETDIuYXVkaW9Db250ZXh0WydkZXN0aW5hdGlvbiddKTsgfQB7IHZhciBudW1DaGFubmVscyA9IFNETDIuYXVkaW8uY3VycmVudE91dHB1dEJ1ZmZlclsnbnVtYmVyT2ZDaGFubmVscyddOyBmb3IgKHZhciBjID0gMDsgYyA8IG51bUNoYW5uZWxzOyArK2MpIHsgdmFyIGNoYW5uZWxEYXRhID0gU0RMMi5hdWRpby5jdXJyZW50T3V0cHV0QnVmZmVyWydnZXRDaGFubmVsRGF0YSddKGMpOyBpZiAoY2hhbm5lbERhdGEubGVuZ3RoICE9ICQxKSB7IHRocm93ICdXZWIgQXVkaW8gb3V0cHV0IGJ1ZmZlciBsZW5ndGggbWlzbWF0Y2ghIERlc3RpbmF0aW9uIHNpemU6ICcgKyBjaGFubmVsRGF0YS5sZW5ndGggKyAnIHNhbXBsZXMgdnMgZXhwZWN0ZWQgJyArICQxICsgJyBzYW1wbGVzISc7IH0gZm9yICh2YXIgaiA9IDA7IGogPCAkMTsgKytqKSB7IGNoYW5uZWxEYXRhW2pdID0gSEVBUEYzMlskMCArICgoaipudW1DaGFubmVscyArIGMpIDw8IDIpID4+IDJdOyB9IH0gfQBObyBidWZmZXIgYWxsb2NhdGVkIGZvciBjb252ZXJzaW9uAHsgdmFyIG51bUNoYW5uZWxzID0gU0RMMi5jYXB0dXJlLmN1cnJlbnRDYXB0dXJlQnVmZmVyLm51bWJlck9mQ2hhbm5lbHM7IGlmIChudW1DaGFubmVscyA9PSAxKSB7IHZhciBjaGFubmVsRGF0YSA9IFNETDIuY2FwdHVyZS5jdXJyZW50Q2FwdHVyZUJ1ZmZlci5nZXRDaGFubmVsRGF0YSgwKTsgaWYgKGNoYW5uZWxEYXRhLmxlbmd0aCAhPSAkMSkgeyB0aHJvdyAnV2ViIEF1ZGlvIGNhcHR1cmUgYnVmZmVyIGxlbmd0aCBtaXNtYXRjaCEgRGVzdGluYXRpb24gc2l6ZTogJyArIGNoYW5uZWxEYXRhLmxlbmd0aCArICcgc2FtcGxlcyB2cyBleHBlY3RlZCAnICsgJDEgKyAnIHNhbXBsZXMhJzsgfSBmb3IgKHZhciBqID0gMDsgaiA8ICQxOyArK2opIHsgc2V0VmFsdWUoJDAgKyAoaiAqIDQpLCBjaGFubmVsRGF0YVtqXSwgJ2Zsb2F0Jyk7IH0gfSBlbHNlIHsgZm9yICh2YXIgYyA9IDA7IGMgPCBudW1DaGFubmVsczsgKytjKSB7IHZhciBjaGFubmVsRGF0YSA9IFNETDIuY2FwdHVyZS5jdXJyZW50Q2FwdHVyZUJ1ZmZlci5nZXRDaGFubmVsRGF0YShjKTsgaWYgKGNoYW5uZWxEYXRhLmxlbmd0aCAhPSAkMSkgeyB0aHJvdyAnV2ViIEF1ZGlvIGNhcHR1cmUgYnVmZmVyIGxlbmd0aCBtaXNtYXRjaCEgRGVzdGluYXRpb24gc2l6ZTogJyArIGNoYW5uZWxEYXRhLmxlbmd0aCArICcgc2FtcGxlcyB2cyBleHBlY3RlZCAnICsgJDEgKyAnIHNhbXBsZXMhJzsgfSBmb3IgKHZhciBqID0gMDsgaiA8ICQxOyArK2opIHsgc2V0VmFsdWUoJDAgKyAoKChqICogbnVtQ2hhbm5lbHMpICsgYykgKiA0KSwgY2hhbm5lbERhdGFbal0sICdmbG9hdCcpOyB9IH0gfSB9AFNETCBkdW1teSB2aWRlbyBkcml2ZXIAX1NETF9EdW1teVN1cmZhY2UAQ291bGRuJ3QgZmluZCBkdW1teSBzdXJmYWNlIGZvciB3aW5kb3cAU0RMX1ZJREVPX0RVTU1ZX1NBVkVfRlJBTUVTAFNETF93aW5kb3clZC0lOC44ZC5ibXAAJWQgYnBwIEJNUCBmaWxlcyBub3Qgc3VwcG9ydGVkAENvdWxkbid0IGNvbnZlcnQgaW1hZ2UgdG8gJWQgYnBwAFNETF9CTVBfU0FWRV9MRUdBQ1lfRk9STUFUAFNETF9SV0Zyb21GaWxlKCk6IE5vIGZpbGUgb3Igbm8gbW9kZSBzcGVjaWZpZWQAQ291bGRuJ3Qgb3BlbiAlcwBkaXNrAGRpcmVjdC10by1kaXNrIGF1ZGlvAHNkbGF1ZGlvLWluLnJhdwBzZGxhdWRpby5yYXcAU0RMX0RJU0tBVURJT0ZJTEVJTgBTRExfRElTS0FVRElPRklMRQBTRExfRElTS0FVRElPREVMQVkAcmIAd2IAUmVhZGluZyBmcm9tAFdyaXRpbmcgdG8AV0FSTklORzogWW91IGFyZSB1c2luZyB0aGUgU0RMIGRpc2sgaS9vIGF1ZGlvIGRyaXZlciEKICVzIGZpbGUgWyVzXS4KAGR1bW15AFNETCBkdW1teSBhdWRpbyBkcml2ZXIAU0RMIG5vdCBidWlsdCB3aXRoIGhhcHRpYyAoZm9yY2UgZmVlZGJhY2spIHN1cHBvcnQAZW1zY3JpcHRlbixTdGFuZGFyZCBHYW1lcGFkLGE6YjAsYjpiMSxiYWNrOmI4LGRwZG93bjpiMTMsZHBsZWZ0OmIxNCxkcHJpZ2h0OmIxNSxkcHVwOmIxMixndWlkZTpiMTYsbGVmdHNob3VsZGVyOmI0LGxlZnRzdGljazpiMTAsbGVmdHRyaWdnZXI6YjYsbGVmdHg6YTAsbGVmdHk6YTEscmlnaHRzaG91bGRlcjpiNSxyaWdodHN0aWNrOmIxMSxyaWdodHRyaWdnZXI6YjcscmlnaHR4OmEyLHJpZ2h0eTphMyxzdGFydDpiOSx4OmIyLHk6YjMsAFNETF9HQU1FQ09OVFJPTExFUkNPTkZJRwBYYm94AFgtQm94AFRoZXJlIGFyZSAlZCBqb3lzdGlja3MgYXZhaWxhYmxlAFNETF9HYW1lQ29udHJvbGxlckV2ZW50V2F0Y2hlcjogQXhpcyBpbmRleCAlZCB0b28gbGFyZ2UsIGlnbm9yaW5nIG1vdGlvbgBTRExfR2FtZUNvbnRyb2xsZXJFdmVudFdhdGNoZXI6IEJ1dHRvbiBpbmRleCAlZCB0b28gbGFyZ2UsIGlnbm9yaW5nIHVwZGF0ZQBtYXBwaW5nU3RyaW5nAENvdWxkbid0IHBhcnNlIEdVSUQgZnJvbSAlcwB4aW5wdXQAZW1zY3JpcHRlbgBDb3VsZG4ndCBwYXJzZSBuYW1lIGZyb20gJXMAQ291bGRuJ3QgcGFyc2UgJXMAQnV0dG9uIG5hbWUgdG9vIGxhcmdlOiAlcwBKb3lzdGljayBidXR0b24gbmFtZSB0b28gbGFyZ2U6ICVzAEF4aXMgaW5kZXggdG9vIGxhcmdlOiAlZABCdXR0b24gaW5kZXggdG9vIGxhcmdlOiAlZABIYXQgaW5kZXggdG9vIGxhcmdlOiAlZABsZWZ0eABsZWZ0eQByaWdodHgAcmlnaHR5AGxlZnR0cmlnZ2VyAHJpZ2h0dHJpZ2dlcgBhAGIAeAB5AGJhY2sAZ3VpZGUAc3RhcnQAbGVmdHN0aWNrAHJpZ2h0c3RpY2sAbGVmdHNob3VsZGVyAHJpZ2h0c2hvdWxkZXIAZHB1cABkcGRvd24AZHBsZWZ0AGRwcmlnaHQAU0RMX0pPWVNUSUNLX0FMTE9XX0JBQ0tHUk9VTkRfRVZFTlRTAEdhbWVwYWRzIG5vdCBzdXBwb3J0ZWQAQ291bGQgbm90IHNldCBnYW1lcGFkIGNvbm5lY3QgY2FsbGJhY2sAQ291bGQgbm90IHNldCBnYW1lcGFkIGRpc2Nvbm5lY3QgY2FsbGJhY2sAbmFtZQBjYWxsYmFjawBTRExfQVVESU9EUklWRVIAQXVkaW8gdGFyZ2V0ICclcycgbm90IGF2YWlsYWJsZQBObyBhdmFpbGFibGUgYXVkaW8gZGV2aWNlAFN5c3RlbSBhdWRpbyBvdXRwdXQgZGV2aWNlAFN5c3RlbSBhdWRpbyBjYXB0dXJlIGRldmljZQBTREwgbm90IGJ1aWx0IHdpdGggdGhyZWFkIHN1cHBvcnQAU0RMX1ZJREVPRFJJVkVSACVzIG5vdCBhdmFpbGFibGUATm8gYXZhaWxhYmxlIHZpZGVvIGRldmljZQBUaGUgdmlkZW8gZHJpdmVyIGRpZCBub3QgYWRkIGFueSBkaXNwbGF5cwBzb2Z0d2FyZQBTRExfRlJBTUVCVUZGRVJfQUNDRUxFUkFUSU9OAFNETF9WSURFT19BTExPV19TQ1JFRU5TQVZFUgBfU0RMX1dpbmRvd1RleHR1cmVEYXRhAF9TRExfV2luZG93UmVuZGVyRGF0YQBUZXh0dXJlIHdhcyBub3QgY3JlYXRlZCB3aXRoIHRoaXMgcmVuZGVyZXIAVGV4dHVyZSBub3QgY3JlYXRlZCB3aXRoIFNETF9URVhUVVJFQUNDRVNTX1RBUkdFVABObyB3aW5kb3cgdGV4dHVyZSBkYXRhAFBhcmFtZXRlciAnJXMnIGlzIGludmFsaWQAcGl4ZWxzAHBpdGNoAEludmFsaWQgdGFyZ2V0IHBpeGVsIGZvcm1hdABVbnN1cHBvcnRlZCBZVVYgZGVzdGluYXRpb24gZm9ybWF0AFVuc3VwcG9ydGVkIFlVViBmb3JtYXQgaW4gY29weQBTRExfTG9ja1RleHR1cmUoKTogdGV4dHVyZSBtdXN0IGJlIHN0cmVhbWluZwBZVjEyIGFuZCBJWVVWIHRleHR1cmVzIG9ubHkgc3VwcG9ydCBmdWxsIHN1cmZhY2UgbG9ja3MAd2lkdGgAaGVpZ2h0AHJlY3RzAHNwYW4AbnVtcmVjdHMATm8gaGFyZHdhcmUgYWNjZWxlcmF0ZWQgcmVuZGVyZXJzIGF2YWlsYWJsZQBJbnZhbGlkIHRleHR1cmUgZm9ybWF0AFBhbGV0dGl6ZWQgdGV4dHVyZXMgYXJlIG5vdCBzdXBwb3J0ZWQAVGV4dHVyZSBkaW1lbnNpb25zIGNhbid0IGJlIDAAVGV4dHVyZSBkaW1lbnNpb25zIGFyZSBsaW1pdGVkIHRvICVkeCVkAFVuc3VwcG9ydGVkIFlVViBmb3JtYXQASW52YWxpZCB3aW5kb3cAUmVuZGVyZXIgYWxyZWFkeSBhc3NvY2lhdGVkIHdpdGggd2luZG93AFNETF9SRU5ERVJfVlNZTkMAU0RMX1JFTkRFUl9EUklWRVIAQ291bGRuJ3QgZmluZCBtYXRjaGluZyByZW5kZXIgZHJpdmVyAGluZGV4IG11c3QgYmUgLTEgb3IgaW4gdGhlIHJhbmdlIG9mIDAgLSAlZABDcmVhdGVkIHJlbmRlcmVyOiAlcwBpbmRleCBtdXN0IGJlIGluIHRoZSByYW5nZSBvZiAwIC0gJWQAU0RMX0VWRU5UX1FVRVVFX1NUQVRJU1RJQ1MAU0RMIEVWRU5UIFFVRVVFOiBNYXhpbXVtIGV2ZW50cyBpbi1mbGlnaHQ6ICVkCgBTRExfTU9VU0VfUkVMQVRJVkVfTU9ERV9XQVJQAFNETF9OT19TSUdOQUxfSEFORExFUlMAQ29uZmxpY3Rpbmcgd2luZG93IGZsYWdzIHNwZWNpZmllZABXaW5kb3cgaXMgdG9vIGxhcmdlLgBTRExfVklERU9fSElHSERQSV9ESVNBQkxFRAB3AGgARVhUAEFSQgBPRVMAQU5HTEUAZ2xDcmVhdGVQcm9ncmFtT2JqZWN0AGdsQ3JlYXRlUHJvZ3JhbQBnbFVzZVByb2dyYW1PYmplY3QAZ2xVc2VQcm9ncmFtAGdsQ3JlYXRlU2hhZGVyT2JqZWN0AGdsQ3JlYXRlU2hhZGVyAGdsQXR0YWNoT2JqZWN0AGdsQXR0YWNoU2hhZGVyAGdsRGV0YWNoT2JqZWN0AGdsRGV0YWNoU2hhZGVyAGdsUGl4ZWxTdG9yZWkAZ2xHZXRTdHJpbmcAZ2xHZXRTdHJpbmdpAGdsR2V0SW50ZWdlcnYAZ2xHZXRGbG9hdHYAZ2xHZXRCb29sZWFudgBnbEdlblRleHR1cmVzAGdsRGVsZXRlVGV4dHVyZXMAZ2xDb21wcmVzc2VkVGV4SW1hZ2UyRABnbENvbXByZXNzZWRUZXhTdWJJbWFnZTJEAGdsVGV4SW1hZ2UyRABnbFRleFN1YkltYWdlMkQAZ2xUZXhJbWFnZTNEAGdsVGV4U3ViSW1hZ2UzRABnbFRleFN0b3JhZ2UyRABnbFRleFN0b3JhZ2UzRABnbFJlYWRQaXhlbHMAZ2xCaW5kVGV4dHVyZQBnbEdldFRleFBhcmFtZXRlcmZ2AGdsR2V0VGV4UGFyYW1ldGVyaXYAZ2xUZXhQYXJhbWV0ZXJpAGdsVGV4UGFyYW1ldGVyZgBnbFRleFBhcmFtZXRlcmZ2AGdsVGV4UGFyYW1ldGVyaXYAZ2xJc1RleHR1cmUAZ2xHZW5CdWZmZXJzAGdsRGVsZXRlQnVmZmVycwBnbEdldEJ1ZmZlclBhcmFtZXRlcml2AGdsQnVmZmVyRGF0YQBnbEJ1ZmZlclN1YkRhdGEAZ2xJc0J1ZmZlcgBnbEdlblJlbmRlcmJ1ZmZlcnMAZ2xEZWxldGVSZW5kZXJidWZmZXJzAGdsQmluZFJlbmRlcmJ1ZmZlcgBnbEdldFJlbmRlcmJ1ZmZlclBhcmFtZXRlcml2AGdsSXNSZW5kZXJidWZmZXIAZ2xHZXRVbmlmb3JtZnYAZ2xHZXRVbmlmb3JtaXYAZ2xHZXRVbmlmb3JtTG9jYXRpb24AZ2xHZXRWZXJ0ZXhBdHRyaWJmdgBnbEdldFZlcnRleEF0dHJpYml2AGdsR2V0VmVydGV4QXR0cmliUG9pbnRlcnYAZ2xHZXRBY3RpdmVVbmlmb3JtAGdsVW5pZm9ybTFmAGdsVW5pZm9ybTJmAGdsVW5pZm9ybTNmAGdsVW5pZm9ybTRmAGdsVW5pZm9ybTFpAGdsVW5pZm9ybTJpAGdsVW5pZm9ybTNpAGdsVW5pZm9ybTRpAGdsVW5pZm9ybTFpdgBnbFVuaWZvcm0yaXYAZ2xVbmlmb3JtM2l2AGdsVW5pZm9ybTRpdgBnbFVuaWZvcm0xZnYAZ2xVbmlmb3JtMmZ2AGdsVW5pZm9ybTNmdgBnbFVuaWZvcm00ZnYAZ2xVbmlmb3JtTWF0cml4MmZ2AGdsVW5pZm9ybU1hdHJpeDNmdgBnbFVuaWZvcm1NYXRyaXg0ZnYAZ2xCaW5kQnVmZmVyAGdsVmVydGV4QXR0cmliMWYAZ2xWZXJ0ZXhBdHRyaWIyZgBnbFZlcnRleEF0dHJpYjNmAGdsVmVydGV4QXR0cmliNGYAZ2xWZXJ0ZXhBdHRyaWIxZnYAZ2xWZXJ0ZXhBdHRyaWIyZnYAZ2xWZXJ0ZXhBdHRyaWIzZnYAZ2xWZXJ0ZXhBdHRyaWI0ZnYAZ2xHZXRBdHRyaWJMb2NhdGlvbgBnbEdldEFjdGl2ZUF0dHJpYgBnbERlbGV0ZVNoYWRlcgBnbEdldEF0dGFjaGVkU2hhZGVycwBnbFNoYWRlclNvdXJjZQBnbEdldFNoYWRlclNvdXJjZQBnbENvbXBpbGVTaGFkZXIAZ2xHZXRTaGFkZXJJbmZvTG9nAGdsR2V0U2hhZGVyaXYAZ2xHZXRQcm9ncmFtaXYAZ2xJc1NoYWRlcgBnbERlbGV0ZVByb2dyYW0AZ2xHZXRTaGFkZXJQcmVjaXNpb25Gb3JtYXQAZ2xMaW5rUHJvZ3JhbQBnbEdldFByb2dyYW1JbmZvTG9nAGdsVmFsaWRhdGVQcm9ncmFtAGdsSXNQcm9ncmFtAGdsQmluZEF0dHJpYkxvY2F0aW9uAGdsQmluZEZyYW1lYnVmZmVyAGdsR2VuRnJhbWVidWZmZXJzAGdsRGVsZXRlRnJhbWVidWZmZXJzAGdsRnJhbWVidWZmZXJSZW5kZXJidWZmZXIAZ2xGcmFtZWJ1ZmZlclRleHR1cmUyRABnbEdldEZyYW1lYnVmZmVyQXR0YWNobWVudFBhcmFtZXRlcml2AGdsSXNGcmFtZWJ1ZmZlcgBnbERlbGV0ZU9iamVjdABnbEdldE9iamVjdFBhcmFtZXRlcml2AGdsR2V0SW5mb0xvZwBnbEJpbmRQcm9ncmFtAGdsR2V0UG9pbnRlcnYAZ2xEcmF3UmFuZ2VFbGVtZW50cwBnbEVuYWJsZUNsaWVudFN0YXRlAGdsVmVydGV4UG9pbnRlcgBnbFRleENvb3JkUG9pbnRlcgBnbE5vcm1hbFBvaW50ZXIAZ2xDb2xvclBvaW50ZXIAZ2xDbGllbnRBY3RpdmVUZXh0dXJlAGdsSXNWZXJ0ZXhBcnJheQBnbEdlblZlcnRleEFycmF5cwBnbERlbGV0ZVZlcnRleEFycmF5cwBnbEJpbmRWZXJ0ZXhBcnJheQBnbE1hdHJpeE1vZGUAZ2xMb2FkSWRlbnRpdHkAZ2xMb2FkTWF0cml4ZgBnbEZydXN0dW0AZ2xSb3RhdGVmAGdsVmVydGV4QXR0cmliUG9pbnRlcgBnbEVuYWJsZVZlcnRleEF0dHJpYkFycmF5AGdsRGlzYWJsZVZlcnRleEF0dHJpYkFycmF5AGdsRHJhd0FycmF5cwBnbERyYXdFbGVtZW50cwBnbFNoYWRlckJpbmFyeQBnbFJlbGVhc2VTaGFkZXJDb21waWxlcgBnbEdldEVycm9yAGdsVmVydGV4QXR0cmliRGl2aXNvcgBnbERyYXdBcnJheXNJbnN0YW5jZWQAZ2xEcmF3RWxlbWVudHNJbnN0YW5jZWQAZ2xGaW5pc2gAZ2xGbHVzaABnbENsZWFyRGVwdGgAZ2xDbGVhckRlcHRoZgBnbERlcHRoRnVuYwBnbEVuYWJsZQBnbERpc2FibGUAZ2xGcm9udEZhY2UAZ2xDdWxsRmFjZQBnbENsZWFyAGdsTGluZVdpZHRoAGdsQ2xlYXJTdGVuY2lsAGdsRGVwdGhNYXNrAGdsU3RlbmNpbE1hc2sAZ2xDaGVja0ZyYW1lYnVmZmVyU3RhdHVzAGdsR2VuZXJhdGVNaXBtYXAAZ2xBY3RpdmVUZXh0dXJlAGdsQmxlbmRFcXVhdGlvbgBnbElzRW5hYmxlZABnbEJsZW5kRnVuYwBnbEJsZW5kRXF1YXRpb25TZXBhcmF0ZQBnbERlcHRoUmFuZ2UAZ2xEZXB0aFJhbmdlZgBnbFN0ZW5jaWxNYXNrU2VwYXJhdGUAZ2xIaW50AGdsUG9seWdvbk9mZnNldABnbFNhbXBsZUNvdmVyYWdlAGdsU3RlbmNpbEZ1bmMAZ2xTdGVuY2lsT3AAZ2xWaWV3cG9ydABnbENsZWFyQ29sb3IAZ2xTY2lzc29yAGdsQ29sb3JNYXNrAGdsUmVuZGVyYnVmZmVyU3RvcmFnZQBnbEJsZW5kRnVuY1NlcGFyYXRlAGdsQmxlbmRDb2xvcgBnbFN0ZW5jaWxGdW5jU2VwYXJhdGUAZ2xTdGVuY2lsT3BTZXBhcmF0ZQBnbENvcHlUZXhJbWFnZTJEAGdsQ29weVRleFN1YkltYWdlMkQAZ2xEcmF3QnVmZmVycwBnbEdldFVuaWZvcm1JbmRpY2VzAGdsR2V0QWN0aXZlVW5pZm9ybXNpdgBnbEdldEFjdGl2ZVVuaWZvcm1OYW1lAGdsR2V0VW5pZm9ybUJsb2NrSW5kZXgAZ2xHZXRBY3RpdmVVbmlmb3JtQmxvY2tpdgBnbEdldEFjdGl2ZVVuaWZvcm1CbG9ja05hbWUAZ2xVbmlmb3JtQmxvY2tCaW5kaW5nAGdsQ29sb3JNYXNraQBnbEdldEJvb2xlYW5pX3YAZ2xHZXRJbnRlZ2VyaV92AGdsRW5hYmxlaQBnbERpc2FibGVpAGdsSXNFbmFibGVkaQBnbEJlZ2luVHJhbnNmb3JtRmVlZGJhY2sAZ2xFbmRUcmFuc2Zvcm1GZWVkYmFjawBnbEJpbmRCdWZmZXJSYW5nZQBnbEJpbmRCdWZmZXJCYXNlAGdsVHJhbnNmb3JtRmVlZGJhY2tWYXJ5aW5ncwBnbEdldFRyYW5zZm9ybUZlZWRiYWNrVmFyeWluZwBnbENsYW1wQ29sb3IAZ2xCZWdpbkNvbmRpdGlvbmFsUmVuZGVyAGdsRW5kQ29uZGl0aW9uYWxSZW5kZXIAZ2xWZXJ0ZXhBdHRyaWJJUG9pbnRlcgBnbEdldFZlcnRleEF0dHJpYklpdgBnbEdldFZlcnRleEF0dHJpYkl1aXYAZ2xWZXJ0ZXhBdHRyaWJJMWkAZ2xWZXJ0ZXhBdHRyaWJJMmkAZ2xWZXJ0ZXhBdHRyaWJJM2kAZ2xWZXJ0ZXhBdHRyaWJJNGkAZ2xWZXJ0ZXhBdHRyaWJJMXVpAGdsVmVydGV4QXR0cmliSTJ1aQBnbFZlcnRleEF0dHJpYkkzdWkAZ2xWZXJ0ZXhBdHRyaWJJNHVpAGdsVmVydGV4QXR0cmliSTFpdgBnbFZlcnRleEF0dHJpYkkyaXYAZ2xWZXJ0ZXhBdHRyaWJJM2l2AGdsVmVydGV4QXR0cmliSTRpdgBnbFZlcnRleEF0dHJpYkkxdWl2AGdsVmVydGV4QXR0cmliSTJ1aXYAZ2xWZXJ0ZXhBdHRyaWJJM3VpdgBnbFZlcnRleEF0dHJpYkk0dWl2AGdsVmVydGV4QXR0cmliSTRidgBnbFZlcnRleEF0dHJpYkk0c3YAZ2xWZXJ0ZXhBdHRyaWJJNHVidgBnbFZlcnRleEF0dHJpYkk0dXN2AGdsR2V0VW5pZm9ybXVpdgBnbEJpbmRGcmFnRGF0YUxvY2F0aW9uAGdsR2V0RnJhZ0RhdGFMb2NhdGlvbgBnbFVuaWZvcm0xdWkAZ2xVbmlmb3JtMnVpAGdsVW5pZm9ybTN1aQBnbFVuaWZvcm00dWkAZ2xUZXhQYXJhbWV0ZXJJaXYAZ2xUZXhQYXJhbWV0ZXJJdWl2AGdsR2V0VGV4UGFyYW1ldGVySWl2AGdsR2V0VGV4UGFyYW1ldGVySXVpdgBnbENsZWFyQnVmZmVyaXYAZ2xDbGVhckJ1ZmZlcnVpdgBnbENsZWFyQnVmZmVyZnYAZ2xDbGVhckJ1ZmZlcmZpAAABAgQHAwYFAC0rICAgMFgweAAobnVsbCkALTBYKzBYIDBYLTB4KzB4IDB4AGluZgBJTkYATkFOAC4AaW5maW5pdHkAbmFuAExDX0FMTABMQU5HAEMuVVRGLTgAUE9TSVgATVVTTF9MT0NQQVRIAC9wcm9jL3NlbGYvZmQvAHJ3YQBOU3QzX18yOGlvc19iYXNlRQBOU3QzX18yOWJhc2ljX2lvc0ljTlNfMTFjaGFyX3RyYWl0c0ljRUVFRQBOU3QzX18yOWJhc2ljX2lvc0l3TlNfMTFjaGFyX3RyYWl0c0l3RUVFRQBOU3QzX18yMTViYXNpY19zdHJlYW1idWZJY05TXzExY2hhcl90cmFpdHNJY0VFRUUATlN0M19fMjE1YmFzaWNfc3RyZWFtYnVmSXdOU18xMWNoYXJfdHJhaXRzSXdFRUVFAE5TdDNfXzIxM2Jhc2ljX2lzdHJlYW1JY05TXzExY2hhcl90cmFpdHNJY0VFRUUATlN0M19fMjEzYmFzaWNfaXN0cmVhbUl3TlNfMTFjaGFyX3RyYWl0c0l3RUVFRQBOU3QzX18yMTNiYXNpY19vc3RyZWFtSWNOU18xMWNoYXJfdHJhaXRzSWNFRUVFAE5TdDNfXzIxM2Jhc2ljX29zdHJlYW1Jd05TXzExY2hhcl90cmFpdHNJd0VFRUUATlN0M19fMjE0YmFzaWNfaW9zdHJlYW1JY05TXzExY2hhcl90cmFpdHNJY0VFRUUATlN0M19fMjExX19zdGRvdXRidWZJd0VFAE5TdDNfXzIxMV9fc3Rkb3V0YnVmSWNFRQB1bnN1cHBvcnRlZCBsb2NhbGUgZm9yIHN0YW5kYXJkIGlucHV0AE5TdDNfXzIxMF9fc3RkaW5idWZJd0VFAE5TdDNfXzIxMF9fc3RkaW5idWZJY0VFAE5TdDNfXzI3Y29sbGF0ZUljRUUATlN0M19fMjZsb2NhbGU1ZmFjZXRFAE5TdDNfXzI3Y29sbGF0ZUl3RUUAJXAAQwBOU3QzX18yN251bV9nZXRJY05TXzE5aXN0cmVhbWJ1Zl9pdGVyYXRvckljTlNfMTFjaGFyX3RyYWl0c0ljRUVFRUVFAE5TdDNfXzI5X19udW1fZ2V0SWNFRQBOU3QzX18yMTRfX251bV9nZXRfYmFzZUUATlN0M19fMjdudW1fZ2V0SXdOU18xOWlzdHJlYW1idWZfaXRlcmF0b3JJd05TXzExY2hhcl90cmFpdHNJd0VFRUVFRQBOU3QzX18yOV9fbnVtX2dldEl3RUUAJXAAAAAATABsbAAlAAAAAABsAE5TdDNfXzI3bnVtX3B1dEljTlNfMTlvc3RyZWFtYnVmX2l0ZXJhdG9ySWNOU18xMWNoYXJfdHJhaXRzSWNFRUVFRUUATlN0M19fMjlfX251bV9wdXRJY0VFAE5TdDNfXzIxNF9fbnVtX3B1dF9iYXNlRQBOU3QzX18yN251bV9wdXRJd05TXzE5b3N0cmVhbWJ1Zl9pdGVyYXRvckl3TlNfMTFjaGFyX3RyYWl0c0l3RUVFRUVFAE5TdDNfXzI5X19udW1fcHV0SXdFRQAlSDolTTolUwAlbS8lZC8leQAlSTolTTolUyAlcAAlYSAlYiAlZCAlSDolTTolUyAlWQBBTQBQTQBKYW51YXJ5AEZlYnJ1YXJ5AE1hcmNoAEFwcmlsAE1heQBKdW5lAEp1bHkAQXVndXN0AFNlcHRlbWJlcgBPY3RvYmVyAE5vdmVtYmVyAERlY2VtYmVyAEphbgBGZWIATWFyAEFwcgBKdW4ASnVsAEF1ZwBTZXAAT2N0AE5vdgBEZWMAU3VuZGF5AE1vbmRheQBUdWVzZGF5AFdlZG5lc2RheQBUaHVyc2RheQBGcmlkYXkAU2F0dXJkYXkAU3VuAE1vbgBUdWUAV2VkAFRodQBGcmkAU2F0ACVtLyVkLyV5JVktJW0tJWQlSTolTTolUyAlcCVIOiVNJUg6JU06JVMlSDolTTolU05TdDNfXzI4dGltZV9nZXRJY05TXzE5aXN0cmVhbWJ1Zl9pdGVyYXRvckljTlNfMTFjaGFyX3RyYWl0c0ljRUVFRUVFAE5TdDNfXzIyMF9fdGltZV9nZXRfY19zdG9yYWdlSWNFRQBOU3QzX18yOXRpbWVfYmFzZUUATlN0M19fMjh0aW1lX2dldEl3TlNfMTlpc3RyZWFtYnVmX2l0ZXJhdG9ySXdOU18xMWNoYXJfdHJhaXRzSXdFRUVFRUUATlN0M19fMjIwX190aW1lX2dldF9jX3N0b3JhZ2VJd0VFAE5TdDNfXzI4dGltZV9wdXRJY05TXzE5b3N0cmVhbWJ1Zl9pdGVyYXRvckljTlNfMTFjaGFyX3RyYWl0c0ljRUVFRUVFAE5TdDNfXzIxMF9fdGltZV9wdXRFAE5TdDNfXzI4dGltZV9wdXRJd05TXzE5b3N0cmVhbWJ1Zl9pdGVyYXRvckl3TlNfMTFjaGFyX3RyYWl0c0l3RUVFRUVFAE5TdDNfXzIxMG1vbmV5cHVuY3RJY0xiMEVFRQBOU3QzX18yMTBtb25leV9iYXNlRQBOU3QzX18yMTBtb25leXB1bmN0SWNMYjFFRUUATlN0M19fMjEwbW9uZXlwdW5jdEl3TGIwRUVFAE5TdDNfXzIxMG1vbmV5cHVuY3RJd0xiMUVFRQAwMTIzNDU2Nzg5ACVMZgBOU3QzX18yOW1vbmV5X2dldEljTlNfMTlpc3RyZWFtYnVmX2l0ZXJhdG9ySWNOU18xMWNoYXJfdHJhaXRzSWNFRUVFRUUATlN0M19fMjExX19tb25leV9nZXRJY0VFADAxMjM0NTY3ODkATlN0M19fMjltb25leV9nZXRJd05TXzE5aXN0cmVhbWJ1Zl9pdGVyYXRvckl3TlNfMTFjaGFyX3RyYWl0c0l3RUVFRUVFAE5TdDNfXzIxMV9fbW9uZXlfZ2V0SXdFRQAlLjBMZgBOU3QzX18yOW1vbmV5X3B1dEljTlNfMTlvc3RyZWFtYnVmX2l0ZXJhdG9ySWNOU18xMWNoYXJfdHJhaXRzSWNFRUVFRUUATlN0M19fMjExX19tb25leV9wdXRJY0VFAE5TdDNfXzI5bW9uZXlfcHV0SXdOU18xOW9zdHJlYW1idWZfaXRlcmF0b3JJd05TXzExY2hhcl90cmFpdHNJd0VFRUVFRQBOU3QzX18yMTFfX21vbmV5X3B1dEl3RUUATlN0M19fMjhtZXNzYWdlc0ljRUUATlN0M19fMjEzbWVzc2FnZXNfYmFzZUUATlN0M19fMjE3X193aWRlbl9mcm9tX3V0ZjhJTG0zMkVFRQBOU3QzX18yN2NvZGVjdnRJRGljMTFfX21ic3RhdGVfdEVFAE5TdDNfXzIxMmNvZGVjdnRfYmFzZUUATlN0M19fMjE2X19uYXJyb3dfdG9fdXRmOElMbTMyRUVFAE5TdDNfXzI4bWVzc2FnZXNJd0VFAE5TdDNfXzI3Y29kZWN2dEljYzExX19tYnN0YXRlX3RFRQBOU3QzX18yN2NvZGVjdnRJd2MxMV9fbWJzdGF0ZV90RUUATlN0M19fMjdjb2RlY3Z0SURzYzExX19tYnN0YXRlX3RFRQBOU3QzX18yNmxvY2FsZTVfX2ltcEUATlN0M19fMjVjdHlwZUljRUUATlN0M19fMjEwY3R5cGVfYmFzZUUATlN0M19fMjVjdHlwZUl3RUUAZmFsc2UAdHJ1ZQBOU3QzX18yOG51bXB1bmN0SWNFRQBOU3QzX18yOG51bXB1bmN0SXdFRQBOU3QzX18yMTRfX3NoYXJlZF9jb3VudEUAdGVybWluYXRpbmcgd2l0aCAlcyBleGNlcHRpb24gb2YgdHlwZSAlczogJXMAdGVybWluYXRpbmcgd2l0aCAlcyBleGNlcHRpb24gb2YgdHlwZSAlcwB0ZXJtaW5hdGluZyB3aXRoICVzIGZvcmVpZ24gZXhjZXB0aW9uAHRlcm1pbmF0aW5nAHVuY2F1Z2h0AFN0OWV4Y2VwdGlvbgBOMTBfX2N4eGFiaXYxMTZfX3NoaW1fdHlwZV9pbmZvRQBTdDl0eXBlX2luZm8ATjEwX19jeHhhYml2MTIwX19zaV9jbGFzc190eXBlX2luZm9FAE4xMF9fY3h4YWJpdjExN19fY2xhc3NfdHlwZV9pbmZvRQBwdGhyZWFkX29uY2UgZmFpbHVyZSBpbiBfX2N4YV9nZXRfZ2xvYmFsc19mYXN0KCkAY2Fubm90IGNyZWF0ZSBwdGhyZWFkIGtleSBmb3IgX19jeGFfZ2V0X2dsb2JhbHMoKQBjYW5ub3QgemVybyBvdXQgdGhyZWFkIHZhbHVlIGZvciBfX2N4YV9nZXRfZ2xvYmFscygpAHRlcm1pbmF0ZV9oYW5kbGVyIHVuZXhwZWN0ZWRseSByZXR1cm5lZABTdDExbG9naWNfZXJyb3IAU3QxMmxlbmd0aF9lcnJvcgBzdGQ6OmJhZF90eXBlaWQAU3QxMGJhZF90eXBlaWQATjEwX19jeHhhYml2MTE5X19wb2ludGVyX3R5cGVfaW5mb0UATjEwX19jeHhhYml2MTE3X19wYmFzZV90eXBlX2luZm9FAE4xMF9fY3h4YWJpdjEyM19fZnVuZGFtZW50YWxfdHlwZV9pbmZvRQB2AERuAGMAcwB0AGkAagBtAGYAZABOMTBfX2N4eGFiaXYxMjFfX3ZtaV9jbGFzc190eXBlX2luZm9F";var tempDoublePtr=STATICTOP;STATICTOP+=16;function ___assert_fail(condition,filename,line,func){abort("Assertion failed: "+Pointer_stringify(condition)+", at: "+[filename?Pointer_stringify(filename):"unknown filename",line,func?Pointer_stringify(func):"unknown function"])}var ENV={};function ___buildEnvironment(environ){var MAX_ENV_VALUES=64;var TOTAL_ENV_SIZE=1024;var poolPtr;var envPtr;if(!___buildEnvironment.called){___buildEnvironment.called=true;ENV["USER"]=ENV["LOGNAME"]="web_user";ENV["PATH"]="/";ENV["PWD"]="/";ENV["HOME"]="/home/web_user";ENV["LANG"]="C.UTF-8";ENV["_"]=Module["thisProgram"];poolPtr=getMemory(TOTAL_ENV_SIZE);envPtr=getMemory(MAX_ENV_VALUES*4);HEAP32[envPtr>>2]=poolPtr;HEAP32[environ>>2]=envPtr}else{envPtr=HEAP32[environ>>2];poolPtr=HEAP32[envPtr>>2]}var strings=[];var totalSize=0;for(var key in ENV){if(typeof ENV[key]==="string"){var line=key+"="+ENV[key];strings.push(line);totalSize+=line.length}}if(totalSize>TOTAL_ENV_SIZE){throw new Error("Environment size exceeded TOTAL_ENV_SIZE!")}var ptrSize=4;for(var i=0;i<strings.length;i++){var line=strings[i];writeAsciiToMemory(line,poolPtr);HEAP32[envPtr+i*ptrSize>>2]=poolPtr;poolPtr+=line.length+1}HEAP32[envPtr+strings.length*ptrSize>>2]=0}function ___cxa_allocate_exception(size){return _malloc(size)}var EXCEPTIONS={last:0,caught:[],infos:{},deAdjust:(function(adjusted){if(!adjusted||EXCEPTIONS.infos[adjusted])return adjusted;for(var key in EXCEPTIONS.infos){var ptr=+key;var info=EXCEPTIONS.infos[ptr];if(info.adjusted===adjusted){return ptr}}return adjusted}),addRef:(function(ptr){if(!ptr)return;var info=EXCEPTIONS.infos[ptr];info.refcount++}),decRef:(function(ptr){if(!ptr)return;var info=EXCEPTIONS.infos[ptr];assert(info.refcount>0);info.refcount--;if(info.refcount===0&&!info.rethrown){if(info.destructor){Module["dynCall_vi"](info.destructor,ptr)}delete EXCEPTIONS.infos[ptr];___cxa_free_exception(ptr)}}),clearRef:(function(ptr){if(!ptr)return;var info=EXCEPTIONS.infos[ptr];info.refcount=0})};function ___cxa_begin_catch(ptr){var info=EXCEPTIONS.infos[ptr];if(info&&!info.caught){info.caught=true;__ZSt18uncaught_exceptionv.uncaught_exception--}if(info)info.rethrown=false;EXCEPTIONS.caught.push(ptr);EXCEPTIONS.addRef(EXCEPTIONS.deAdjust(ptr));return ptr}function ___cxa_pure_virtual(){ABORT=true;throw"Pure virtual function called!"}function ___resumeException(ptr){if(!EXCEPTIONS.last){EXCEPTIONS.last=ptr}throw ptr+" - Exception catching is disabled, this exception cannot be caught. Compile with -s DISABLE_EXCEPTION_CATCHING=0 or DISABLE_EXCEPTION_CATCHING=2 to catch."}function ___cxa_find_matching_catch(){var thrown=EXCEPTIONS.last;if(!thrown){return(setTempRet0(0),0)|0}var info=EXCEPTIONS.infos[thrown];var throwntype=info.type;if(!throwntype){return(setTempRet0(0),thrown)|0}var typeArray=Array.prototype.slice.call(arguments);var pointer=Module["___cxa_is_pointer_type"](throwntype);if(!___cxa_find_matching_catch.buffer)___cxa_find_matching_catch.buffer=_malloc(4);HEAP32[___cxa_find_matching_catch.buffer>>2]=thrown;thrown=___cxa_find_matching_catch.buffer;for(var i=0;i<typeArray.length;i++){if(typeArray[i]&&Module["___cxa_can_catch"](typeArray[i],throwntype,thrown)){thrown=HEAP32[thrown>>2];info.adjusted=thrown;return(setTempRet0(typeArray[i]),thrown)|0}}thrown=HEAP32[thrown>>2];return(setTempRet0(throwntype),thrown)|0}function ___cxa_throw(ptr,type,destructor){EXCEPTIONS.infos[ptr]={ptr:ptr,adjusted:ptr,type:type,destructor:destructor,refcount:0,caught:false,rethrown:false};EXCEPTIONS.last=ptr;if(!("uncaught_exception"in __ZSt18uncaught_exceptionv)){__ZSt18uncaught_exceptionv.uncaught_exception=1}else{__ZSt18uncaught_exceptionv.uncaught_exception++}throw ptr+" - Exception catching is disabled, this exception cannot be caught. Compile with -s DISABLE_EXCEPTION_CATCHING=0 or DISABLE_EXCEPTION_CATCHING=2 to catch."}function ___cxa_uncaught_exception(){return!!__ZSt18uncaught_exceptionv.uncaught_exception}function ___gxx_personality_v0(){}function ___lock(){}var ERRNO_CODES={EPERM:1,ENOENT:2,ESRCH:3,EINTR:4,EIO:5,ENXIO:6,E2BIG:7,ENOEXEC:8,EBADF:9,ECHILD:10,EAGAIN:11,EWOULDBLOCK:11,ENOMEM:12,EACCES:13,EFAULT:14,ENOTBLK:15,EBUSY:16,EEXIST:17,EXDEV:18,ENODEV:19,ENOTDIR:20,EISDIR:21,EINVAL:22,ENFILE:23,EMFILE:24,ENOTTY:25,ETXTBSY:26,EFBIG:27,ENOSPC:28,ESPIPE:29,EROFS:30,EMLINK:31,EPIPE:32,EDOM:33,ERANGE:34,ENOMSG:42,EIDRM:43,ECHRNG:44,EL2NSYNC:45,EL3HLT:46,EL3RST:47,ELNRNG:48,EUNATCH:49,ENOCSI:50,EL2HLT:51,EDEADLK:35,ENOLCK:37,EBADE:52,EBADR:53,EXFULL:54,ENOANO:55,EBADRQC:56,EBADSLT:57,EDEADLOCK:35,EBFONT:59,ENOSTR:60,ENODATA:61,ETIME:62,ENOSR:63,ENONET:64,ENOPKG:65,EREMOTE:66,ENOLINK:67,EADV:68,ESRMNT:69,ECOMM:70,EPROTO:71,EMULTIHOP:72,EDOTDOT:73,EBADMSG:74,ENOTUNIQ:76,EBADFD:77,EREMCHG:78,ELIBACC:79,ELIBBAD:80,ELIBSCN:81,ELIBMAX:82,ELIBEXEC:83,ENOSYS:38,ENOTEMPTY:39,ENAMETOOLONG:36,ELOOP:40,EOPNOTSUPP:95,EPFNOSUPPORT:96,ECONNRESET:104,ENOBUFS:105,EAFNOSUPPORT:97,EPROTOTYPE:91,ENOTSOCK:88,ENOPROTOOPT:92,ESHUTDOWN:108,ECONNREFUSED:111,EADDRINUSE:98,ECONNABORTED:103,ENETUNREACH:101,ENETDOWN:100,ETIMEDOUT:110,EHOSTDOWN:112,EHOSTUNREACH:113,EINPROGRESS:115,EALREADY:114,EDESTADDRREQ:89,EMSGSIZE:90,EPROTONOSUPPORT:93,ESOCKTNOSUPPORT:94,EADDRNOTAVAIL:99,ENETRESET:102,EISCONN:106,ENOTCONN:107,ETOOMANYREFS:109,EUSERS:87,EDQUOT:122,ESTALE:116,ENOTSUP:95,ENOMEDIUM:123,EILSEQ:84,EOVERFLOW:75,ECANCELED:125,ENOTRECOVERABLE:131,EOWNERDEAD:130,ESTRPIPE:86};function ___setErrNo(value){if(Module["___errno_location"])HEAP32[Module["___errno_location"]()>>2]=value;return value}function ___map_file(pathname,size){___setErrNo(ERRNO_CODES.EPERM);return-1}var ERRNO_MESSAGES={0:"Success",1:"Not super-user",2:"No such file or directory",3:"No such process",4:"Interrupted system call",5:"I/O error",6:"No such device or address",7:"Arg list too long",8:"Exec format error",9:"Bad file number",10:"No children",11:"No more processes",12:"Not enough core",13:"Permission denied",14:"Bad address",15:"Block device required",16:"Mount device busy",17:"File exists",18:"Cross-device link",19:"No such device",20:"Not a directory",21:"Is a directory",22:"Invalid argument",23:"Too many open files in system",24:"Too many open files",25:"Not a typewriter",26:"Text file busy",27:"File too large",28:"No space left on device",29:"Illegal seek",30:"Read only file system",31:"Too many links",32:"Broken pipe",33:"Math arg out of domain of func",34:"Math result not representable",35:"File locking deadlock error",36:"File or path name too long",37:"No record locks available",38:"Function not implemented",39:"Directory not empty",40:"Too many symbolic links",42:"No message of desired type",43:"Identifier removed",44:"Channel number out of range",45:"Level 2 not synchronized",46:"Level 3 halted",47:"Level 3 reset",48:"Link number out of range",49:"Protocol driver not attached",50:"No CSI structure available",51:"Level 2 halted",52:"Invalid exchange",53:"Invalid request descriptor",54:"Exchange full",55:"No anode",56:"Invalid request code",57:"Invalid slot",59:"Bad font file fmt",60:"Device not a stream",61:"No data (for no delay io)",62:"Timer expired",63:"Out of streams resources",64:"Machine is not on the network",65:"Package not installed",66:"The object is remote",67:"The link has been severed",68:"Advertise error",69:"Srmount error",70:"Communication error on send",71:"Protocol error",72:"Multihop attempted",73:"Cross mount point (not really error)",74:"Trying to read unreadable message",75:"Value too large for defined data type",76:"Given log. name not unique",77:"f.d. invalid for this operation",78:"Remote address changed",79:"Can access a needed shared lib",80:"Accessing a corrupted shared lib",81:".lib section in a.out corrupted",82:"Attempting to link in too many libs",83:"Attempting to exec a shared library",84:"Illegal byte sequence",86:"Streams pipe error",87:"Too many users",88:"Socket operation on non-socket",89:"Destination address required",90:"Message too long",91:"Protocol wrong type for socket",92:"Protocol not available",93:"Unknown protocol",94:"Socket type not supported",95:"Not supported",96:"Protocol family not supported",97:"Address family not supported by protocol family",98:"Address already in use",99:"Address not available",100:"Network interface is not configured",101:"Network is unreachable",102:"Connection reset by network",103:"Connection aborted",104:"Connection reset by peer",105:"No buffer space available",106:"Socket is already connected",107:"Socket is not connected",108:"Can't send after socket shutdown",109:"Too many references",110:"Connection timed out",111:"Connection refused",112:"Host is down",113:"Host is unreachable",114:"Socket already connected",115:"Connection already in progress",116:"Stale file handle",122:"Quota exceeded",123:"No medium (in tape drive)",125:"Operation canceled",130:"Previous owner died",131:"State not recoverable"};var PATH={splitPath:(function(filename){var splitPathRe=/^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/;return splitPathRe.exec(filename).slice(1)}),normalizeArray:(function(parts,allowAboveRoot){var up=0;for(var i=parts.length-1;i>=0;i--){var last=parts[i];if(last==="."){parts.splice(i,1)}else if(last===".."){parts.splice(i,1);up++}else if(up){parts.splice(i,1);up--}}if(allowAboveRoot){for(;up;up--){parts.unshift("..")}}return parts}),normalize:(function(path){var isAbsolute=path.charAt(0)==="/",trailingSlash=path.substr(-1)==="/";path=PATH.normalizeArray(path.split("/").filter((function(p){return!!p})),!isAbsolute).join("/");if(!path&&!isAbsolute){path="."}if(path&&trailingSlash){path+="/"}return(isAbsolute?"/":"")+path}),dirname:(function(path){var result=PATH.splitPath(path),root=result[0],dir=result[1];if(!root&&!dir){return"."}if(dir){dir=dir.substr(0,dir.length-1)}return root+dir}),basename:(function(path){if(path==="/")return"/";var lastSlash=path.lastIndexOf("/");if(lastSlash===-1)return path;return path.substr(lastSlash+1)}),extname:(function(path){return PATH.splitPath(path)[3]}),join:(function(){var paths=Array.prototype.slice.call(arguments,0);return PATH.normalize(paths.join("/"))}),join2:(function(l,r){return PATH.normalize(l+"/"+r)}),resolve:(function(){var resolvedPath="",resolvedAbsolute=false;for(var i=arguments.length-1;i>=-1&&!resolvedAbsolute;i--){var path=i>=0?arguments[i]:FS.cwd();if(typeof path!=="string"){throw new TypeError("Arguments to path.resolve must be strings")}else if(!path){return""}resolvedPath=path+"/"+resolvedPath;resolvedAbsolute=path.charAt(0)==="/"}resolvedPath=PATH.normalizeArray(resolvedPath.split("/").filter((function(p){return!!p})),!resolvedAbsolute).join("/");return(resolvedAbsolute?"/":"")+resolvedPath||"."}),relative:(function(from,to){from=PATH.resolve(from).substr(1);to=PATH.resolve(to).substr(1);function trim(arr){var start=0;for(;start<arr.length;start++){if(arr[start]!=="")break}var end=arr.length-1;for(;end>=0;end--){if(arr[end]!=="")break}if(start>end)return[];return arr.slice(start,end-start+1)}var fromParts=trim(from.split("/"));var toParts=trim(to.split("/"));var length=Math.min(fromParts.length,toParts.length);var samePartsLength=length;for(var i=0;i<length;i++){if(fromParts[i]!==toParts[i]){samePartsLength=i;break}}var outputParts=[];for(var i=samePartsLength;i<fromParts.length;i++){outputParts.push("..")}outputParts=outputParts.concat(toParts.slice(samePartsLength));return outputParts.join("/")})};var TTY={ttys:[],init:(function(){}),shutdown:(function(){}),register:(function(dev,ops){TTY.ttys[dev]={input:[],output:[],ops:ops};FS.registerDevice(dev,TTY.stream_ops)}),stream_ops:{open:(function(stream){var tty=TTY.ttys[stream.node.rdev];if(!tty){throw new FS.ErrnoError(ERRNO_CODES.ENODEV)}stream.tty=tty;stream.seekable=false}),close:(function(stream){stream.tty.ops.flush(stream.tty)}),flush:(function(stream){stream.tty.ops.flush(stream.tty)}),read:(function(stream,buffer,offset,length,pos){if(!stream.tty||!stream.tty.ops.get_char){throw new FS.ErrnoError(ERRNO_CODES.ENXIO)}var bytesRead=0;for(var i=0;i<length;i++){var result;try{result=stream.tty.ops.get_char(stream.tty)}catch(e){throw new FS.ErrnoError(ERRNO_CODES.EIO)}if(result===undefined&&bytesRead===0){throw new FS.ErrnoError(ERRNO_CODES.EAGAIN)}if(result===null||result===undefined)break;bytesRead++;buffer[offset+i]=result}if(bytesRead){stream.node.timestamp=Date.now()}return bytesRead}),write:(function(stream,buffer,offset,length,pos){if(!stream.tty||!stream.tty.ops.put_char){throw new FS.ErrnoError(ERRNO_CODES.ENXIO)}for(var i=0;i<length;i++){try{stream.tty.ops.put_char(stream.tty,buffer[offset+i])}catch(e){throw new FS.ErrnoError(ERRNO_CODES.EIO)}}if(length){stream.node.timestamp=Date.now()}return i})},default_tty_ops:{get_char:(function(tty){if(!tty.input.length){var result=null;if(ENVIRONMENT_IS_NODE){var BUFSIZE=256;var buf=new Buffer(BUFSIZE);var bytesRead=0;var isPosixPlatform=process.platform!="win32";var fd=process.stdin.fd;if(isPosixPlatform){var usingDevice=false;try{fd=fs.openSync("/dev/stdin","r");usingDevice=true}catch(e){}}try{bytesRead=fs.readSync(fd,buf,0,BUFSIZE,null)}catch(e){if(e.toString().indexOf("EOF")!=-1)bytesRead=0;else throw e}if(usingDevice){fs.closeSync(fd)}if(bytesRead>0){result=buf.slice(0,bytesRead).toString("utf-8")}else{result=null}}else if(typeof window!="undefined"&&typeof window.prompt=="function"){result=window.prompt("Input: ");if(result!==null){result+="\n"}}else if(typeof readline=="function"){result=readline();if(result!==null){result+="\n"}}if(!result){return null}tty.input=intArrayFromString(result,true)}return tty.input.shift()}),put_char:(function(tty,val){if(val===null||val===10){out(UTF8ArrayToString(tty.output,0));tty.output=[]}else{if(val!=0)tty.output.push(val)}}),flush:(function(tty){if(tty.output&&tty.output.length>0){out(UTF8ArrayToString(tty.output,0));tty.output=[]}})},default_tty1_ops:{put_char:(function(tty,val){if(val===null||val===10){err(UTF8ArrayToString(tty.output,0));tty.output=[]}else{if(val!=0)tty.output.push(val)}}),flush:(function(tty){if(tty.output&&tty.output.length>0){err(UTF8ArrayToString(tty.output,0));tty.output=[]}})}};var MEMFS={ops_table:null,mount:(function(mount){return MEMFS.createNode(null,"/",16384|511,0)}),createNode:(function(parent,name,mode,dev){if(FS.isBlkdev(mode)||FS.isFIFO(mode)){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}if(!MEMFS.ops_table){MEMFS.ops_table={dir:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr,lookup:MEMFS.node_ops.lookup,mknod:MEMFS.node_ops.mknod,rename:MEMFS.node_ops.rename,unlink:MEMFS.node_ops.unlink,rmdir:MEMFS.node_ops.rmdir,readdir:MEMFS.node_ops.readdir,symlink:MEMFS.node_ops.symlink},stream:{llseek:MEMFS.stream_ops.llseek}},file:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr},stream:{llseek:MEMFS.stream_ops.llseek,read:MEMFS.stream_ops.read,write:MEMFS.stream_ops.write,allocate:MEMFS.stream_ops.allocate,mmap:MEMFS.stream_ops.mmap,msync:MEMFS.stream_ops.msync}},link:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr,readlink:MEMFS.node_ops.readlink},stream:{}},chrdev:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr},stream:FS.chrdev_stream_ops}}}var node=FS.createNode(parent,name,mode,dev);if(FS.isDir(node.mode)){node.node_ops=MEMFS.ops_table.dir.node;node.stream_ops=MEMFS.ops_table.dir.stream;node.contents={}}else if(FS.isFile(node.mode)){node.node_ops=MEMFS.ops_table.file.node;node.stream_ops=MEMFS.ops_table.file.stream;node.usedBytes=0;node.contents=null}else if(FS.isLink(node.mode)){node.node_ops=MEMFS.ops_table.link.node;node.stream_ops=MEMFS.ops_table.link.stream}else if(FS.isChrdev(node.mode)){node.node_ops=MEMFS.ops_table.chrdev.node;node.stream_ops=MEMFS.ops_table.chrdev.stream}node.timestamp=Date.now();if(parent){parent.contents[name]=node}return node}),getFileDataAsRegularArray:(function(node){if(node.contents&&node.contents.subarray){var arr=[];for(var i=0;i<node.usedBytes;++i)arr.push(node.contents[i]);return arr}return node.contents}),getFileDataAsTypedArray:(function(node){if(!node.contents)return new Uint8Array;if(node.contents.subarray)return node.contents.subarray(0,node.usedBytes);return new Uint8Array(node.contents)}),expandFileStorage:(function(node,newCapacity){if(node.contents&&node.contents.subarray&&newCapacity>node.contents.length){node.contents=MEMFS.getFileDataAsRegularArray(node);node.usedBytes=node.contents.length}if(!node.contents||node.contents.subarray){var prevCapacity=node.contents?node.contents.length:0;if(prevCapacity>=newCapacity)return;var CAPACITY_DOUBLING_MAX=1024*1024;newCapacity=Math.max(newCapacity,prevCapacity*(prevCapacity<CAPACITY_DOUBLING_MAX?2:1.125)|0);if(prevCapacity!=0)newCapacity=Math.max(newCapacity,256);var oldContents=node.contents;node.contents=new Uint8Array(newCapacity);if(node.usedBytes>0)node.contents.set(oldContents.subarray(0,node.usedBytes),0);return}if(!node.contents&&newCapacity>0)node.contents=[];while(node.contents.length<newCapacity)node.contents.push(0)}),resizeFileStorage:(function(node,newSize){if(node.usedBytes==newSize)return;if(newSize==0){node.contents=null;node.usedBytes=0;return}if(!node.contents||node.contents.subarray){var oldContents=node.contents;node.contents=new Uint8Array(new ArrayBuffer(newSize));if(oldContents){node.contents.set(oldContents.subarray(0,Math.min(newSize,node.usedBytes)))}node.usedBytes=newSize;return}if(!node.contents)node.contents=[];if(node.contents.length>newSize)node.contents.length=newSize;else while(node.contents.length<newSize)node.contents.push(0);node.usedBytes=newSize}),node_ops:{getattr:(function(node){var attr={};attr.dev=FS.isChrdev(node.mode)?node.id:1;attr.ino=node.id;attr.mode=node.mode;attr.nlink=1;attr.uid=0;attr.gid=0;attr.rdev=node.rdev;if(FS.isDir(node.mode)){attr.size=4096}else if(FS.isFile(node.mode)){attr.size=node.usedBytes}else if(FS.isLink(node.mode)){attr.size=node.link.length}else{attr.size=0}attr.atime=new Date(node.timestamp);attr.mtime=new Date(node.timestamp);attr.ctime=new Date(node.timestamp);attr.blksize=4096;attr.blocks=Math.ceil(attr.size/attr.blksize);return attr}),setattr:(function(node,attr){if(attr.mode!==undefined){node.mode=attr.mode}if(attr.timestamp!==undefined){node.timestamp=attr.timestamp}if(attr.size!==undefined){MEMFS.resizeFileStorage(node,attr.size)}}),lookup:(function(parent,name){throw FS.genericErrors[ERRNO_CODES.ENOENT]}),mknod:(function(parent,name,mode,dev){return MEMFS.createNode(parent,name,mode,dev)}),rename:(function(old_node,new_dir,new_name){if(FS.isDir(old_node.mode)){var new_node;try{new_node=FS.lookupNode(new_dir,new_name)}catch(e){}if(new_node){for(var i in new_node.contents){throw new FS.ErrnoError(ERRNO_CODES.ENOTEMPTY)}}}delete old_node.parent.contents[old_node.name];old_node.name=new_name;new_dir.contents[new_name]=old_node;old_node.parent=new_dir}),unlink:(function(parent,name){delete parent.contents[name]}),rmdir:(function(parent,name){var node=FS.lookupNode(parent,name);for(var i in node.contents){throw new FS.ErrnoError(ERRNO_CODES.ENOTEMPTY)}delete parent.contents[name]}),readdir:(function(node){var entries=[".",".."];for(var key in node.contents){if(!node.contents.hasOwnProperty(key)){continue}entries.push(key)}return entries}),symlink:(function(parent,newname,oldpath){var node=MEMFS.createNode(parent,newname,511|40960,0);node.link=oldpath;return node}),readlink:(function(node){if(!FS.isLink(node.mode)){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}return node.link})},stream_ops:{read:(function(stream,buffer,offset,length,position){var contents=stream.node.contents;if(position>=stream.node.usedBytes)return 0;var size=Math.min(stream.node.usedBytes-position,length);assert(size>=0);if(size>8&&contents.subarray){buffer.set(contents.subarray(position,position+size),offset)}else{for(var i=0;i<size;i++)buffer[offset+i]=contents[position+i]}return size}),write:(function(stream,buffer,offset,length,position,canOwn){if(!length)return 0;var node=stream.node;node.timestamp=Date.now();if(buffer.subarray&&(!node.contents||node.contents.subarray)){if(canOwn){node.contents=buffer.subarray(offset,offset+length);node.usedBytes=length;return length}else if(node.usedBytes===0&&position===0){node.contents=new Uint8Array(buffer.subarray(offset,offset+length));node.usedBytes=length;return length}else if(position+length<=node.usedBytes){node.contents.set(buffer.subarray(offset,offset+length),position);return length}}MEMFS.expandFileStorage(node,position+length);if(node.contents.subarray&&buffer.subarray)node.contents.set(buffer.subarray(offset,offset+length),position);else{for(var i=0;i<length;i++){node.contents[position+i]=buffer[offset+i]}}node.usedBytes=Math.max(node.usedBytes,position+length);return length}),llseek:(function(stream,offset,whence){var position=offset;if(whence===1){position+=stream.position}else if(whence===2){if(FS.isFile(stream.node.mode)){position+=stream.node.usedBytes}}if(position<0){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}return position}),allocate:(function(stream,offset,length){MEMFS.expandFileStorage(stream.node,offset+length);stream.node.usedBytes=Math.max(stream.node.usedBytes,offset+length)}),mmap:(function(stream,buffer,offset,length,position,prot,flags){if(!FS.isFile(stream.node.mode)){throw new FS.ErrnoError(ERRNO_CODES.ENODEV)}var ptr;var allocated;var contents=stream.node.contents;if(!(flags&2)&&(contents.buffer===buffer||contents.buffer===buffer.buffer)){allocated=false;ptr=contents.byteOffset}else{if(position>0||position+length<stream.node.usedBytes){if(contents.subarray){contents=contents.subarray(position,position+length)}else{contents=Array.prototype.slice.call(contents,position,position+length)}}allocated=true;ptr=_malloc(length);if(!ptr){throw new FS.ErrnoError(ERRNO_CODES.ENOMEM)}buffer.set(contents,ptr)}return{ptr:ptr,allocated:allocated}}),msync:(function(stream,buffer,offset,length,mmapFlags){if(!FS.isFile(stream.node.mode)){throw new FS.ErrnoError(ERRNO_CODES.ENODEV)}if(mmapFlags&2){return 0}var bytesWritten=MEMFS.stream_ops.write(stream,buffer,0,length,offset,false);return 0})}};var IDBFS={dbs:{},indexedDB:(function(){if(typeof indexedDB!=="undefined")return indexedDB;var ret=null;if(typeof window==="object")ret=window.indexedDB||window.mozIndexedDB||window.webkitIndexedDB||window.msIndexedDB;assert(ret,"IDBFS used, but indexedDB not supported");return ret}),DB_VERSION:21,DB_STORE_NAME:"FILE_DATA",mount:(function(mount){return MEMFS.mount.apply(null,arguments)}),syncfs:(function(mount,populate,callback){IDBFS.getLocalSet(mount,(function(err,local){if(err)return callback(err);IDBFS.getRemoteSet(mount,(function(err,remote){if(err)return callback(err);var src=populate?remote:local;var dst=populate?local:remote;IDBFS.reconcile(src,dst,callback)}))}))}),getDB:(function(name,callback){var db=IDBFS.dbs[name];if(db){return callback(null,db)}var req;try{req=IDBFS.indexedDB().open(name,IDBFS.DB_VERSION)}catch(e){return callback(e)}if(!req){return callback("Unable to connect to IndexedDB")}req.onupgradeneeded=(function(e){var db=e.target.result;var transaction=e.target.transaction;var fileStore;if(db.objectStoreNames.contains(IDBFS.DB_STORE_NAME)){fileStore=transaction.objectStore(IDBFS.DB_STORE_NAME)}else{fileStore=db.createObjectStore(IDBFS.DB_STORE_NAME)}if(!fileStore.indexNames.contains("timestamp")){fileStore.createIndex("timestamp","timestamp",{unique:false})}});req.onsuccess=(function(){db=req.result;IDBFS.dbs[name]=db;callback(null,db)});req.onerror=(function(e){callback(this.error);e.preventDefault()})}),getLocalSet:(function(mount,callback){var entries={};function isRealDir(p){return p!=="."&&p!==".."}function toAbsolute(root){return(function(p){return PATH.join2(root,p)})}var check=FS.readdir(mount.mountpoint).filter(isRealDir).map(toAbsolute(mount.mountpoint));while(check.length){var path=check.pop();var stat;try{stat=FS.stat(path)}catch(e){return callback(e)}if(FS.isDir(stat.mode)){check.push.apply(check,FS.readdir(path).filter(isRealDir).map(toAbsolute(path)))}entries[path]={timestamp:stat.mtime}}return callback(null,{type:"local",entries:entries})}),getRemoteSet:(function(mount,callback){var entries={};IDBFS.getDB(mount.mountpoint,(function(err,db){if(err)return callback(err);try{var transaction=db.transaction([IDBFS.DB_STORE_NAME],"readonly");transaction.onerror=(function(e){callback(this.error);e.preventDefault()});var store=transaction.objectStore(IDBFS.DB_STORE_NAME);var index=store.index("timestamp");index.openKeyCursor().onsuccess=(function(event){var cursor=event.target.result;if(!cursor){return callback(null,{type:"remote",db:db,entries:entries})}entries[cursor.primaryKey]={timestamp:cursor.key};cursor.continue()})}catch(e){return callback(e)}}))}),loadLocalEntry:(function(path,callback){var stat,node;try{var lookup=FS.lookupPath(path);node=lookup.node;stat=FS.stat(path)}catch(e){return callback(e)}if(FS.isDir(stat.mode)){return callback(null,{timestamp:stat.mtime,mode:stat.mode})}else if(FS.isFile(stat.mode)){node.contents=MEMFS.getFileDataAsTypedArray(node);return callback(null,{timestamp:stat.mtime,mode:stat.mode,contents:node.contents})}else{return callback(new Error("node type not supported"))}}),storeLocalEntry:(function(path,entry,callback){try{if(FS.isDir(entry.mode)){FS.mkdir(path,entry.mode)}else if(FS.isFile(entry.mode)){FS.writeFile(path,entry.contents,{canOwn:true})}else{return callback(new Error("node type not supported"))}FS.chmod(path,entry.mode);FS.utime(path,entry.timestamp,entry.timestamp)}catch(e){return callback(e)}callback(null)}),removeLocalEntry:(function(path,callback){try{var lookup=FS.lookupPath(path);var stat=FS.stat(path);if(FS.isDir(stat.mode)){FS.rmdir(path)}else if(FS.isFile(stat.mode)){FS.unlink(path)}}catch(e){return callback(e)}callback(null)}),loadRemoteEntry:(function(store,path,callback){var req=store.get(path);req.onsuccess=(function(event){callback(null,event.target.result)});req.onerror=(function(e){callback(this.error);e.preventDefault()})}),storeRemoteEntry:(function(store,path,entry,callback){var req=store.put(entry,path);req.onsuccess=(function(){callback(null)});req.onerror=(function(e){callback(this.error);e.preventDefault()})}),removeRemoteEntry:(function(store,path,callback){var req=store.delete(path);req.onsuccess=(function(){callback(null)});req.onerror=(function(e){callback(this.error);e.preventDefault()})}),reconcile:(function(src,dst,callback){var total=0;var create=[];Object.keys(src.entries).forEach((function(key){var e=src.entries[key];var e2=dst.entries[key];if(!e2||e.timestamp>e2.timestamp){create.push(key);total++}}));var remove=[];Object.keys(dst.entries).forEach((function(key){var e=dst.entries[key];var e2=src.entries[key];if(!e2){remove.push(key);total++}}));if(!total){return callback(null)}var completed=0;var db=src.type==="remote"?src.db:dst.db;var transaction=db.transaction([IDBFS.DB_STORE_NAME],"readwrite");var store=transaction.objectStore(IDBFS.DB_STORE_NAME);function done(err){if(err){if(!done.errored){done.errored=true;return callback(err)}return}if(++completed>=total){return callback(null)}}transaction.onerror=(function(e){done(this.error);e.preventDefault()});create.sort().forEach((function(path){if(dst.type==="local"){IDBFS.loadRemoteEntry(store,path,(function(err,entry){if(err)return done(err);IDBFS.storeLocalEntry(path,entry,done)}))}else{IDBFS.loadLocalEntry(path,(function(err,entry){if(err)return done(err);IDBFS.storeRemoteEntry(store,path,entry,done)}))}}));remove.sort().reverse().forEach((function(path){if(dst.type==="local"){IDBFS.removeLocalEntry(path,done)}else{IDBFS.removeRemoteEntry(store,path,done)}}))})};var NODEFS={isWindows:false,staticInit:(function(){NODEFS.isWindows=!!process.platform.match(/^win/);var flags=process["binding"]("constants");if(flags["fs"]){flags=flags["fs"]}NODEFS.flagsForNodeMap={"1024":flags["O_APPEND"],"64":flags["O_CREAT"],"128":flags["O_EXCL"],"0":flags["O_RDONLY"],"2":flags["O_RDWR"],"4096":flags["O_SYNC"],"512":flags["O_TRUNC"],"1":flags["O_WRONLY"]}}),bufferFrom:(function(arrayBuffer){return Buffer.alloc?Buffer.from(arrayBuffer):new Buffer(arrayBuffer)}),mount:(function(mount){assert(ENVIRONMENT_IS_NODE);return NODEFS.createNode(null,"/",NODEFS.getMode(mount.opts.root),0)}),createNode:(function(parent,name,mode,dev){if(!FS.isDir(mode)&&!FS.isFile(mode)&&!FS.isLink(mode)){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}var node=FS.createNode(parent,name,mode);node.node_ops=NODEFS.node_ops;node.stream_ops=NODEFS.stream_ops;return node}),getMode:(function(path){var stat;try{stat=fs.lstatSync(path);if(NODEFS.isWindows){stat.mode=stat.mode|(stat.mode&292)>>2}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}return stat.mode}),realPath:(function(node){var parts=[];while(node.parent!==node){parts.push(node.name);node=node.parent}parts.push(node.mount.opts.root);parts.reverse();return PATH.join.apply(null,parts)}),flagsForNode:(function(flags){flags&=~2097152;flags&=~2048;flags&=~32768;flags&=~524288;var newFlags=0;for(var k in NODEFS.flagsForNodeMap){if(flags&k){newFlags|=NODEFS.flagsForNodeMap[k];flags^=k}}if(!flags){return newFlags}else{throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}}),node_ops:{getattr:(function(node){var path=NODEFS.realPath(node);var stat;try{stat=fs.lstatSync(path)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}if(NODEFS.isWindows&&!stat.blksize){stat.blksize=4096}if(NODEFS.isWindows&&!stat.blocks){stat.blocks=(stat.size+stat.blksize-1)/stat.blksize|0}return{dev:stat.dev,ino:stat.ino,mode:stat.mode,nlink:stat.nlink,uid:stat.uid,gid:stat.gid,rdev:stat.rdev,size:stat.size,atime:stat.atime,mtime:stat.mtime,ctime:stat.ctime,blksize:stat.blksize,blocks:stat.blocks}}),setattr:(function(node,attr){var path=NODEFS.realPath(node);try{if(attr.mode!==undefined){fs.chmodSync(path,attr.mode);node.mode=attr.mode}if(attr.timestamp!==undefined){var date=new Date(attr.timestamp);fs.utimesSync(path,date,date)}if(attr.size!==undefined){fs.truncateSync(path,attr.size)}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),lookup:(function(parent,name){var path=PATH.join2(NODEFS.realPath(parent),name);var mode=NODEFS.getMode(path);return NODEFS.createNode(parent,name,mode)}),mknod:(function(parent,name,mode,dev){var node=NODEFS.createNode(parent,name,mode,dev);var path=NODEFS.realPath(node);try{if(FS.isDir(node.mode)){fs.mkdirSync(path,node.mode)}else{fs.writeFileSync(path,"",{mode:node.mode})}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}return node}),rename:(function(oldNode,newDir,newName){var oldPath=NODEFS.realPath(oldNode);var newPath=PATH.join2(NODEFS.realPath(newDir),newName);try{fs.renameSync(oldPath,newPath)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),unlink:(function(parent,name){var path=PATH.join2(NODEFS.realPath(parent),name);try{fs.unlinkSync(path)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),rmdir:(function(parent,name){var path=PATH.join2(NODEFS.realPath(parent),name);try{fs.rmdirSync(path)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),readdir:(function(node){var path=NODEFS.realPath(node);try{return fs.readdirSync(path)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),symlink:(function(parent,newName,oldPath){var newPath=PATH.join2(NODEFS.realPath(parent),newName);try{fs.symlinkSync(oldPath,newPath)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),readlink:(function(node){var path=NODEFS.realPath(node);try{path=fs.readlinkSync(path);path=NODEJS_PATH.relative(NODEJS_PATH.resolve(node.mount.opts.root),path);return path}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}})},stream_ops:{open:(function(stream){var path=NODEFS.realPath(stream.node);try{if(FS.isFile(stream.node.mode)){stream.nfd=fs.openSync(path,NODEFS.flagsForNode(stream.flags))}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),close:(function(stream){try{if(FS.isFile(stream.node.mode)&&stream.nfd){fs.closeSync(stream.nfd)}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),read:(function(stream,buffer,offset,length,position){if(length===0)return 0;try{return fs.readSync(stream.nfd,NODEFS.bufferFrom(buffer.buffer),offset,length,position)}catch(e){throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),write:(function(stream,buffer,offset,length,position){try{return fs.writeSync(stream.nfd,NODEFS.bufferFrom(buffer.buffer),offset,length,position)}catch(e){throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),llseek:(function(stream,offset,whence){var position=offset;if(whence===1){position+=stream.position}else if(whence===2){if(FS.isFile(stream.node.mode)){try{var stat=fs.fstatSync(stream.nfd);position+=stat.size}catch(e){throw new FS.ErrnoError(ERRNO_CODES[e.code])}}}if(position<0){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}return position})}};var WORKERFS={DIR_MODE:16895,FILE_MODE:33279,reader:null,mount:(function(mount){assert(ENVIRONMENT_IS_WORKER);if(!WORKERFS.reader)WORKERFS.reader=new FileReaderSync;var root=WORKERFS.createNode(null,"/",WORKERFS.DIR_MODE,0);var createdParents={};function ensureParent(path){var parts=path.split("/");var parent=root;for(var i=0;i<parts.length-1;i++){var curr=parts.slice(0,i+1).join("/");if(!createdParents[curr]){createdParents[curr]=WORKERFS.createNode(parent,parts[i],WORKERFS.DIR_MODE,0)}parent=createdParents[curr]}return parent}function base(path){var parts=path.split("/");return parts[parts.length-1]}Array.prototype.forEach.call(mount.opts["files"]||[],(function(file){WORKERFS.createNode(ensureParent(file.name),base(file.name),WORKERFS.FILE_MODE,0,file,file.lastModifiedDate)}));(mount.opts["blobs"]||[]).forEach((function(obj){WORKERFS.createNode(ensureParent(obj["name"]),base(obj["name"]),WORKERFS.FILE_MODE,0,obj["data"])}));(mount.opts["packages"]||[]).forEach((function(pack){pack["metadata"].files.forEach((function(file){var name=file.filename.substr(1);WORKERFS.createNode(ensureParent(name),base(name),WORKERFS.FILE_MODE,0,pack["blob"].slice(file.start,file.end))}))}));return root}),createNode:(function(parent,name,mode,dev,contents,mtime){var node=FS.createNode(parent,name,mode);node.mode=mode;node.node_ops=WORKERFS.node_ops;node.stream_ops=WORKERFS.stream_ops;node.timestamp=(mtime||new Date).getTime();assert(WORKERFS.FILE_MODE!==WORKERFS.DIR_MODE);if(mode===WORKERFS.FILE_MODE){node.size=contents.size;node.contents=contents}else{node.size=4096;node.contents={}}if(parent){parent.contents[name]=node}return node}),node_ops:{getattr:(function(node){return{dev:1,ino:undefined,mode:node.mode,nlink:1,uid:0,gid:0,rdev:undefined,size:node.size,atime:new Date(node.timestamp),mtime:new Date(node.timestamp),ctime:new Date(node.timestamp),blksize:4096,blocks:Math.ceil(node.size/4096)}}),setattr:(function(node,attr){if(attr.mode!==undefined){node.mode=attr.mode}if(attr.timestamp!==undefined){node.timestamp=attr.timestamp}}),lookup:(function(parent,name){throw new FS.ErrnoError(ERRNO_CODES.ENOENT)}),mknod:(function(parent,name,mode,dev){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}),rename:(function(oldNode,newDir,newName){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}),unlink:(function(parent,name){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}),rmdir:(function(parent,name){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}),readdir:(function(node){var entries=[".",".."];for(var key in node.contents){if(!node.contents.hasOwnProperty(key)){continue}entries.push(key)}return entries}),symlink:(function(parent,newName,oldPath){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}),readlink:(function(node){throw new FS.ErrnoError(ERRNO_CODES.EPERM)})},stream_ops:{read:(function(stream,buffer,offset,length,position){if(position>=stream.node.size)return 0;var chunk=stream.node.contents.slice(position,position+length);var ab=WORKERFS.reader.readAsArrayBuffer(chunk);buffer.set(new Uint8Array(ab),offset);return chunk.size}),write:(function(stream,buffer,offset,length,position){throw new FS.ErrnoError(ERRNO_CODES.EIO)}),llseek:(function(stream,offset,whence){var position=offset;if(whence===1){position+=stream.position}else if(whence===2){if(FS.isFile(stream.node.mode)){position+=stream.node.size}}if(position<0){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}return position})}};STATICTOP+=16;STATICTOP+=16;STATICTOP+=16;var FS={root:null,mounts:[],devices:{},streams:[],nextInode:1,nameTable:null,currentPath:"/",initialized:false,ignorePermissions:true,trackingDelegate:{},tracking:{openFlags:{READ:1,WRITE:2}},ErrnoError:null,genericErrors:{},filesystems:null,syncFSRequests:0,handleFSError:(function(e){if(!(e instanceof FS.ErrnoError))throw e+" : "+stackTrace();return ___setErrNo(e.errno)}),lookupPath:(function(path,opts){path=PATH.resolve(FS.cwd(),path);opts=opts||{};if(!path)return{path:"",node:null};var defaults={follow_mount:true,recurse_count:0};for(var key in defaults){if(opts[key]===undefined){opts[key]=defaults[key]}}if(opts.recurse_count>8){throw new FS.ErrnoError(ERRNO_CODES.ELOOP)}var parts=PATH.normalizeArray(path.split("/").filter((function(p){return!!p})),false);var current=FS.root;var current_path="/";for(var i=0;i<parts.length;i++){var islast=i===parts.length-1;if(islast&&opts.parent){break}current=FS.lookupNode(current,parts[i]);current_path=PATH.join2(current_path,parts[i]);if(FS.isMountpoint(current)){if(!islast||islast&&opts.follow_mount){current=current.mounted.root}}if(!islast||opts.follow){var count=0;while(FS.isLink(current.mode)){var link=FS.readlink(current_path);current_path=PATH.resolve(PATH.dirname(current_path),link);var lookup=FS.lookupPath(current_path,{recurse_count:opts.recurse_count});current=lookup.node;if(count++>40){throw new FS.ErrnoError(ERRNO_CODES.ELOOP)}}}}return{path:current_path,node:current}}),getPath:(function(node){var path;while(true){if(FS.isRoot(node)){var mount=node.mount.mountpoint;if(!path)return mount;return mount[mount.length-1]!=="/"?mount+"/"+path:mount+path}path=path?node.name+"/"+path:node.name;node=node.parent}}),hashName:(function(parentid,name){var hash=0;for(var i=0;i<name.length;i++){hash=(hash<<5)-hash+name.charCodeAt(i)|0}return(parentid+hash>>>0)%FS.nameTable.length}),hashAddNode:(function(node){var hash=FS.hashName(node.parent.id,node.name);node.name_next=FS.nameTable[hash];FS.nameTable[hash]=node}),hashRemoveNode:(function(node){var hash=FS.hashName(node.parent.id,node.name);if(FS.nameTable[hash]===node){FS.nameTable[hash]=node.name_next}else{var current=FS.nameTable[hash];while(current){if(current.name_next===node){current.name_next=node.name_next;break}current=current.name_next}}}),lookupNode:(function(parent,name){var err=FS.mayLookup(parent);if(err){throw new FS.ErrnoError(err,parent)}var hash=FS.hashName(parent.id,name);for(var node=FS.nameTable[hash];node;node=node.name_next){var nodeName=node.name;if(node.parent.id===parent.id&&nodeName===name){return node}}return FS.lookup(parent,name)}),createNode:(function(parent,name,mode,rdev){if(!FS.FSNode){FS.FSNode=(function(parent,name,mode,rdev){if(!parent){parent=this}this.parent=parent;this.mount=parent.mount;this.mounted=null;this.id=FS.nextInode++;this.name=name;this.mode=mode;this.node_ops={};this.stream_ops={};this.rdev=rdev});FS.FSNode.prototype={};var readMode=292|73;var writeMode=146;Object.defineProperties(FS.FSNode.prototype,{read:{get:(function(){return(this.mode&readMode)===readMode}),set:(function(val){val?this.mode|=readMode:this.mode&=~readMode})},write:{get:(function(){return(this.mode&writeMode)===writeMode}),set:(function(val){val?this.mode|=writeMode:this.mode&=~writeMode})},isFolder:{get:(function(){return FS.isDir(this.mode)})},isDevice:{get:(function(){return FS.isChrdev(this.mode)})}})}var node=new FS.FSNode(parent,name,mode,rdev);FS.hashAddNode(node);return node}),destroyNode:(function(node){FS.hashRemoveNode(node)}),isRoot:(function(node){return node===node.parent}),isMountpoint:(function(node){return!!node.mounted}),isFile:(function(mode){return(mode&61440)===32768}),isDir:(function(mode){return(mode&61440)===16384}),isLink:(function(mode){return(mode&61440)===40960}),isChrdev:(function(mode){return(mode&61440)===8192}),isBlkdev:(function(mode){return(mode&61440)===24576}),isFIFO:(function(mode){return(mode&61440)===4096}),isSocket:(function(mode){return(mode&49152)===49152}),flagModes:{"r":0,"rs":1052672,"r+":2,"w":577,"wx":705,"xw":705,"w+":578,"wx+":706,"xw+":706,"a":1089,"ax":1217,"xa":1217,"a+":1090,"ax+":1218,"xa+":1218},modeStringToFlags:(function(str){var flags=FS.flagModes[str];if(typeof flags==="undefined"){throw new Error("Unknown file open mode: "+str)}return flags}),flagsToPermissionString:(function(flag){var perms=["r","w","rw"][flag&3];if(flag&512){perms+="w"}return perms}),nodePermissions:(function(node,perms){if(FS.ignorePermissions){return 0}if(perms.indexOf("r")!==-1&&!(node.mode&292)){return ERRNO_CODES.EACCES}else if(perms.indexOf("w")!==-1&&!(node.mode&146)){return ERRNO_CODES.EACCES}else if(perms.indexOf("x")!==-1&&!(node.mode&73)){return ERRNO_CODES.EACCES}return 0}),mayLookup:(function(dir){var err=FS.nodePermissions(dir,"x");if(err)return err;if(!dir.node_ops.lookup)return ERRNO_CODES.EACCES;return 0}),mayCreate:(function(dir,name){try{var node=FS.lookupNode(dir,name);return ERRNO_CODES.EEXIST}catch(e){}return FS.nodePermissions(dir,"wx")}),mayDelete:(function(dir,name,isdir){var node;try{node=FS.lookupNode(dir,name)}catch(e){return e.errno}var err=FS.nodePermissions(dir,"wx");if(err){return err}if(isdir){if(!FS.isDir(node.mode)){return ERRNO_CODES.ENOTDIR}if(FS.isRoot(node)||FS.getPath(node)===FS.cwd()){return ERRNO_CODES.EBUSY}}else{if(FS.isDir(node.mode)){return ERRNO_CODES.EISDIR}}return 0}),mayOpen:(function(node,flags){if(!node){return ERRNO_CODES.ENOENT}if(FS.isLink(node.mode)){return ERRNO_CODES.ELOOP}else if(FS.isDir(node.mode)){if(FS.flagsToPermissionString(flags)!=="r"||flags&512){return ERRNO_CODES.EISDIR}}return FS.nodePermissions(node,FS.flagsToPermissionString(flags))}),MAX_OPEN_FDS:4096,nextfd:(function(fd_start,fd_end){fd_start=fd_start||0;fd_end=fd_end||FS.MAX_OPEN_FDS;for(var fd=fd_start;fd<=fd_end;fd++){if(!FS.streams[fd]){return fd}}throw new FS.ErrnoError(ERRNO_CODES.EMFILE)}),getStream:(function(fd){return FS.streams[fd]}),createStream:(function(stream,fd_start,fd_end){if(!FS.FSStream){FS.FSStream=(function(){});FS.FSStream.prototype={};Object.defineProperties(FS.FSStream.prototype,{object:{get:(function(){return this.node}),set:(function(val){this.node=val})},isRead:{get:(function(){return(this.flags&2097155)!==1})},isWrite:{get:(function(){return(this.flags&2097155)!==0})},isAppend:{get:(function(){return this.flags&1024})}})}var newStream=new FS.FSStream;for(var p in stream){newStream[p]=stream[p]}stream=newStream;var fd=FS.nextfd(fd_start,fd_end);stream.fd=fd;FS.streams[fd]=stream;return stream}),closeStream:(function(fd){FS.streams[fd]=null}),chrdev_stream_ops:{open:(function(stream){var device=FS.getDevice(stream.node.rdev);stream.stream_ops=device.stream_ops;if(stream.stream_ops.open){stream.stream_ops.open(stream)}}),llseek:(function(){throw new FS.ErrnoError(ERRNO_CODES.ESPIPE)})},major:(function(dev){return dev>>8}),minor:(function(dev){return dev&255}),makedev:(function(ma,mi){return ma<<8|mi}),registerDevice:(function(dev,ops){FS.devices[dev]={stream_ops:ops}}),getDevice:(function(dev){return FS.devices[dev]}),getMounts:(function(mount){var mounts=[];var check=[mount];while(check.length){var m=check.pop();mounts.push(m);check.push.apply(check,m.mounts)}return mounts}),syncfs:(function(populate,callback){if(typeof populate==="function"){callback=populate;populate=false}FS.syncFSRequests++;if(FS.syncFSRequests>1){console.log("warning: "+FS.syncFSRequests+" FS.syncfs operations in flight at once, probably just doing extra work")}var mounts=FS.getMounts(FS.root.mount);var completed=0;function doCallback(err){assert(FS.syncFSRequests>0);FS.syncFSRequests--;return callback(err)}function done(err){if(err){if(!done.errored){done.errored=true;return doCallback(err)}return}if(++completed>=mounts.length){doCallback(null)}}mounts.forEach((function(mount){if(!mount.type.syncfs){return done(null)}mount.type.syncfs(mount,populate,done)}))}),mount:(function(type,opts,mountpoint){var root=mountpoint==="/";var pseudo=!mountpoint;var node;if(root&&FS.root){throw new FS.ErrnoError(ERRNO_CODES.EBUSY)}else if(!root&&!pseudo){var lookup=FS.lookupPath(mountpoint,{follow_mount:false});mountpoint=lookup.path;node=lookup.node;if(FS.isMountpoint(node)){throw new FS.ErrnoError(ERRNO_CODES.EBUSY)}if(!FS.isDir(node.mode)){throw new FS.ErrnoError(ERRNO_CODES.ENOTDIR)}}var mount={type:type,opts:opts,mountpoint:mountpoint,mounts:[]};var mountRoot=type.mount(mount);mountRoot.mount=mount;mount.root=mountRoot;if(root){FS.root=mountRoot}else if(node){node.mounted=mount;if(node.mount){node.mount.mounts.push(mount)}}return mountRoot}),unmount:(function(mountpoint){var lookup=FS.lookupPath(mountpoint,{follow_mount:false});if(!FS.isMountpoint(lookup.node)){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}var node=lookup.node;var mount=node.mounted;var mounts=FS.getMounts(mount);Object.keys(FS.nameTable).forEach((function(hash){var current=FS.nameTable[hash];while(current){var next=current.name_next;if(mounts.indexOf(current.mount)!==-1){FS.destroyNode(current)}current=next}}));node.mounted=null;var idx=node.mount.mounts.indexOf(mount);assert(idx!==-1);node.mount.mounts.splice(idx,1)}),lookup:(function(parent,name){return parent.node_ops.lookup(parent,name)}),mknod:(function(path,mode,dev){var lookup=FS.lookupPath(path,{parent:true});var parent=lookup.node;var name=PATH.basename(path);if(!name||name==="."||name===".."){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}var err=FS.mayCreate(parent,name);if(err){throw new FS.ErrnoError(err)}if(!parent.node_ops.mknod){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}return parent.node_ops.mknod(parent,name,mode,dev)}),create:(function(path,mode){mode=mode!==undefined?mode:438;mode&=4095;mode|=32768;return FS.mknod(path,mode,0)}),mkdir:(function(path,mode){mode=mode!==undefined?mode:511;mode&=511|512;mode|=16384;return FS.mknod(path,mode,0)}),mkdirTree:(function(path,mode){var dirs=path.split("/");var d="";for(var i=0;i<dirs.length;++i){if(!dirs[i])continue;d+="/"+dirs[i];try{FS.mkdir(d,mode)}catch(e){if(e.errno!=ERRNO_CODES.EEXIST)throw e}}}),mkdev:(function(path,mode,dev){if(typeof dev==="undefined"){dev=mode;mode=438}mode|=8192;return FS.mknod(path,mode,dev)}),symlink:(function(oldpath,newpath){if(!PATH.resolve(oldpath)){throw new FS.ErrnoError(ERRNO_CODES.ENOENT)}var lookup=FS.lookupPath(newpath,{parent:true});var parent=lookup.node;if(!parent){throw new FS.ErrnoError(ERRNO_CODES.ENOENT)}var newname=PATH.basename(newpath);var err=FS.mayCreate(parent,newname);if(err){throw new FS.ErrnoError(err)}if(!parent.node_ops.symlink){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}return parent.node_ops.symlink(parent,newname,oldpath)}),rename:(function(old_path,new_path){var old_dirname=PATH.dirname(old_path);var new_dirname=PATH.dirname(new_path);var old_name=PATH.basename(old_path);var new_name=PATH.basename(new_path);var lookup,old_dir,new_dir;try{lookup=FS.lookupPath(old_path,{parent:true});old_dir=lookup.node;lookup=FS.lookupPath(new_path,{parent:true});new_dir=lookup.node}catch(e){throw new FS.ErrnoError(ERRNO_CODES.EBUSY)}if(!old_dir||!new_dir)throw new FS.ErrnoError(ERRNO_CODES.ENOENT);if(old_dir.mount!==new_dir.mount){throw new FS.ErrnoError(ERRNO_CODES.EXDEV)}var old_node=FS.lookupNode(old_dir,old_name);var relative=PATH.relative(old_path,new_dirname);if(relative.charAt(0)!=="."){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}relative=PATH.relative(new_path,old_dirname);if(relative.charAt(0)!=="."){throw new FS.ErrnoError(ERRNO_CODES.ENOTEMPTY)}var new_node;try{new_node=FS.lookupNode(new_dir,new_name)}catch(e){}if(old_node===new_node){return}var isdir=FS.isDir(old_node.mode);var err=FS.mayDelete(old_dir,old_name,isdir);if(err){throw new FS.ErrnoError(err)}err=new_node?FS.mayDelete(new_dir,new_name,isdir):FS.mayCreate(new_dir,new_name);if(err){throw new FS.ErrnoError(err)}if(!old_dir.node_ops.rename){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}if(FS.isMountpoint(old_node)||new_node&&FS.isMountpoint(new_node)){throw new FS.ErrnoError(ERRNO_CODES.EBUSY)}if(new_dir!==old_dir){err=FS.nodePermissions(old_dir,"w");if(err){throw new FS.ErrnoError(err)}}try{if(FS.trackingDelegate["willMovePath"]){FS.trackingDelegate["willMovePath"](old_path,new_path)}}catch(e){console.log("FS.trackingDelegate['willMovePath']('"+old_path+"', '"+new_path+"') threw an exception: "+e.message)}FS.hashRemoveNode(old_node);try{old_dir.node_ops.rename(old_node,new_dir,new_name)}catch(e){throw e}finally{FS.hashAddNode(old_node)}try{if(FS.trackingDelegate["onMovePath"])FS.trackingDelegate["onMovePath"](old_path,new_path)}catch(e){console.log("FS.trackingDelegate['onMovePath']('"+old_path+"', '"+new_path+"') threw an exception: "+e.message)}}),rmdir:(function(path){var lookup=FS.lookupPath(path,{parent:true});var parent=lookup.node;var name=PATH.basename(path);var node=FS.lookupNode(parent,name);var err=FS.mayDelete(parent,name,true);if(err){throw new FS.ErrnoError(err)}if(!parent.node_ops.rmdir){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}if(FS.isMountpoint(node)){throw new FS.ErrnoError(ERRNO_CODES.EBUSY)}try{if(FS.trackingDelegate["willDeletePath"]){FS.trackingDelegate["willDeletePath"](path)}}catch(e){console.log("FS.trackingDelegate['willDeletePath']('"+path+"') threw an exception: "+e.message)}parent.node_ops.rmdir(parent,name);FS.destroyNode(node);try{if(FS.trackingDelegate["onDeletePath"])FS.trackingDelegate["onDeletePath"](path)}catch(e){console.log("FS.trackingDelegate['onDeletePath']('"+path+"') threw an exception: "+e.message)}}),readdir:(function(path){var lookup=FS.lookupPath(path,{follow:true});var node=lookup.node;if(!node.node_ops.readdir){throw new FS.ErrnoError(ERRNO_CODES.ENOTDIR)}return node.node_ops.readdir(node)}),unlink:(function(path){var lookup=FS.lookupPath(path,{parent:true});var parent=lookup.node;var name=PATH.basename(path);var node=FS.lookupNode(parent,name);var err=FS.mayDelete(parent,name,false);if(err){throw new FS.ErrnoError(err)}if(!parent.node_ops.unlink){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}if(FS.isMountpoint(node)){throw new FS.ErrnoError(ERRNO_CODES.EBUSY)}try{if(FS.trackingDelegate["willDeletePath"]){FS.trackingDelegate["willDeletePath"](path)}}catch(e){console.log("FS.trackingDelegate['willDeletePath']('"+path+"') threw an exception: "+e.message)}parent.node_ops.unlink(parent,name);FS.destroyNode(node);try{if(FS.trackingDelegate["onDeletePath"])FS.trackingDelegate["onDeletePath"](path)}catch(e){console.log("FS.trackingDelegate['onDeletePath']('"+path+"') threw an exception: "+e.message)}}),readlink:(function(path){var lookup=FS.lookupPath(path);var link=lookup.node;if(!link){throw new FS.ErrnoError(ERRNO_CODES.ENOENT)}if(!link.node_ops.readlink){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}return PATH.resolve(FS.getPath(link.parent),link.node_ops.readlink(link))}),stat:(function(path,dontFollow){var lookup=FS.lookupPath(path,{follow:!dontFollow});var node=lookup.node;if(!node){throw new FS.ErrnoError(ERRNO_CODES.ENOENT)}if(!node.node_ops.getattr){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}return node.node_ops.getattr(node)}),lstat:(function(path){return FS.stat(path,true)}),chmod:(function(path,mode,dontFollow){var node;if(typeof path==="string"){var lookup=FS.lookupPath(path,{follow:!dontFollow});node=lookup.node}else{node=path}if(!node.node_ops.setattr){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}node.node_ops.setattr(node,{mode:mode&4095|node.mode&~4095,timestamp:Date.now()})}),lchmod:(function(path,mode){FS.chmod(path,mode,true)}),fchmod:(function(fd,mode){var stream=FS.getStream(fd);if(!stream){throw new FS.ErrnoError(ERRNO_CODES.EBADF)}FS.chmod(stream.node,mode)}),chown:(function(path,uid,gid,dontFollow){var node;if(typeof path==="string"){var lookup=FS.lookupPath(path,{follow:!dontFollow});node=lookup.node}else{node=path}if(!node.node_ops.setattr){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}node.node_ops.setattr(node,{timestamp:Date.now()})}),lchown:(function(path,uid,gid){FS.chown(path,uid,gid,true)}),fchown:(function(fd,uid,gid){var stream=FS.getStream(fd);if(!stream){throw new FS.ErrnoError(ERRNO_CODES.EBADF)}FS.chown(stream.node,uid,gid)}),truncate:(function(path,len){if(len<0){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}var node;if(typeof path==="string"){var lookup=FS.lookupPath(path,{follow:true});node=lookup.node}else{node=path}if(!node.node_ops.setattr){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}if(FS.isDir(node.mode)){throw new FS.ErrnoError(ERRNO_CODES.EISDIR)}if(!FS.isFile(node.mode)){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}var err=FS.nodePermissions(node,"w");if(err){throw new FS.ErrnoError(err)}node.node_ops.setattr(node,{size:len,timestamp:Date.now()})}),ftruncate:(function(fd,len){var stream=FS.getStream(fd);if(!stream){throw new FS.ErrnoError(ERRNO_CODES.EBADF)}if((stream.flags&2097155)===0){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}FS.truncate(stream.node,len)}),utime:(function(path,atime,mtime){var lookup=FS.lookupPath(path,{follow:true});var node=lookup.node;node.node_ops.setattr(node,{timestamp:Math.max(atime,mtime)})}),open:(function(path,flags,mode,fd_start,fd_end){if(path===""){throw new FS.ErrnoError(ERRNO_CODES.ENOENT)}flags=typeof flags==="string"?FS.modeStringToFlags(flags):flags;mode=typeof mode==="undefined"?438:mode;if(flags&64){mode=mode&4095|32768}else{mode=0}var node;if(typeof path==="object"){node=path}else{path=PATH.normalize(path);try{var lookup=FS.lookupPath(path,{follow:!(flags&131072)});node=lookup.node}catch(e){}}var created=false;if(flags&64){if(node){if(flags&128){throw new FS.ErrnoError(ERRNO_CODES.EEXIST)}}else{node=FS.mknod(path,mode,0);created=true}}if(!node){throw new FS.ErrnoError(ERRNO_CODES.ENOENT)}if(FS.isChrdev(node.mode)){flags&=~512}if(flags&65536&&!FS.isDir(node.mode)){throw new FS.ErrnoError(ERRNO_CODES.ENOTDIR)}if(!created){var err=FS.mayOpen(node,flags);if(err){throw new FS.ErrnoError(err)}}if(flags&512){FS.truncate(node,0)}flags&=~(128|512);var stream=FS.createStream({node:node,path:FS.getPath(node),flags:flags,seekable:true,position:0,stream_ops:node.stream_ops,ungotten:[],error:false},fd_start,fd_end);if(stream.stream_ops.open){stream.stream_ops.open(stream)}if(Module["logReadFiles"]&&!(flags&1)){if(!FS.readFiles)FS.readFiles={};if(!(path in FS.readFiles)){FS.readFiles[path]=1;err("read file: "+path)}}try{if(FS.trackingDelegate["onOpenFile"]){var trackingFlags=0;if((flags&2097155)!==1){trackingFlags|=FS.tracking.openFlags.READ}if((flags&2097155)!==0){trackingFlags|=FS.tracking.openFlags.WRITE}FS.trackingDelegate["onOpenFile"](path,trackingFlags)}}catch(e){console.log("FS.trackingDelegate['onOpenFile']('"+path+"', flags) threw an exception: "+e.message)}return stream}),close:(function(stream){if(FS.isClosed(stream)){throw new FS.ErrnoError(ERRNO_CODES.EBADF)}if(stream.getdents)stream.getdents=null;try{if(stream.stream_ops.close){stream.stream_ops.close(stream)}}catch(e){throw e}finally{FS.closeStream(stream.fd)}stream.fd=null}),isClosed:(function(stream){return stream.fd===null}),llseek:(function(stream,offset,whence){if(FS.isClosed(stream)){throw new FS.ErrnoError(ERRNO_CODES.EBADF)}if(!stream.seekable||!stream.stream_ops.llseek){throw new FS.ErrnoError(ERRNO_CODES.ESPIPE)}stream.position=stream.stream_ops.llseek(stream,offset,whence);stream.ungotten=[];return stream.position}),read:(function(stream,buffer,offset,length,position){if(length<0||position<0){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}if(FS.isClosed(stream)){throw new FS.ErrnoError(ERRNO_CODES.EBADF)}if((stream.flags&2097155)===1){throw new FS.ErrnoError(ERRNO_CODES.EBADF)}if(FS.isDir(stream.node.mode)){throw new FS.ErrnoError(ERRNO_CODES.EISDIR)}if(!stream.stream_ops.read){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}var seeking=typeof position!=="undefined";if(!seeking){position=stream.position}else if(!stream.seekable){throw new FS.ErrnoError(ERRNO_CODES.ESPIPE)}var bytesRead=stream.stream_ops.read(stream,buffer,offset,length,position);if(!seeking)stream.position+=bytesRead;return bytesRead}),write:(function(stream,buffer,offset,length,position,canOwn){if(length<0||position<0){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}if(FS.isClosed(stream)){throw new FS.ErrnoError(ERRNO_CODES.EBADF)}if((stream.flags&2097155)===0){throw new FS.ErrnoError(ERRNO_CODES.EBADF)}if(FS.isDir(stream.node.mode)){throw new FS.ErrnoError(ERRNO_CODES.EISDIR)}if(!stream.stream_ops.write){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}if(stream.flags&1024){FS.llseek(stream,0,2)}var seeking=typeof position!=="undefined";if(!seeking){position=stream.position}else if(!stream.seekable){throw new FS.ErrnoError(ERRNO_CODES.ESPIPE)}var bytesWritten=stream.stream_ops.write(stream,buffer,offset,length,position,canOwn);if(!seeking)stream.position+=bytesWritten;try{if(stream.path&&FS.trackingDelegate["onWriteToFile"])FS.trackingDelegate["onWriteToFile"](stream.path)}catch(e){console.log("FS.trackingDelegate['onWriteToFile']('"+path+"') threw an exception: "+e.message)}return bytesWritten}),allocate:(function(stream,offset,length){if(FS.isClosed(stream)){throw new FS.ErrnoError(ERRNO_CODES.EBADF)}if(offset<0||length<=0){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}if((stream.flags&2097155)===0){throw new FS.ErrnoError(ERRNO_CODES.EBADF)}if(!FS.isFile(stream.node.mode)&&!FS.isDir(stream.node.mode)){throw new FS.ErrnoError(ERRNO_CODES.ENODEV)}if(!stream.stream_ops.allocate){throw new FS.ErrnoError(ERRNO_CODES.EOPNOTSUPP)}stream.stream_ops.allocate(stream,offset,length)}),mmap:(function(stream,buffer,offset,length,position,prot,flags){if((stream.flags&2097155)===1){throw new FS.ErrnoError(ERRNO_CODES.EACCES)}if(!stream.stream_ops.mmap){throw new FS.ErrnoError(ERRNO_CODES.ENODEV)}return stream.stream_ops.mmap(stream,buffer,offset,length,position,prot,flags)}),msync:(function(stream,buffer,offset,length,mmapFlags){if(!stream||!stream.stream_ops.msync){return 0}return stream.stream_ops.msync(stream,buffer,offset,length,mmapFlags)}),munmap:(function(stream){return 0}),ioctl:(function(stream,cmd,arg){if(!stream.stream_ops.ioctl){throw new FS.ErrnoError(ERRNO_CODES.ENOTTY)}return stream.stream_ops.ioctl(stream,cmd,arg)}),readFile:(function(path,opts){opts=opts||{};opts.flags=opts.flags||"r";opts.encoding=opts.encoding||"binary";if(opts.encoding!=="utf8"&&opts.encoding!=="binary"){throw new Error('Invalid encoding type "'+opts.encoding+'"')}var ret;var stream=FS.open(path,opts.flags);var stat=FS.stat(path);var length=stat.size;var buf=new Uint8Array(length);FS.read(stream,buf,0,length,0);if(opts.encoding==="utf8"){ret=UTF8ArrayToString(buf,0)}else if(opts.encoding==="binary"){ret=buf}FS.close(stream);return ret}),writeFile:(function(path,data,opts){opts=opts||{};opts.flags=opts.flags||"w";var stream=FS.open(path,opts.flags,opts.mode);if(typeof data==="string"){var buf=new Uint8Array(lengthBytesUTF8(data)+1);var actualNumBytes=stringToUTF8Array(data,buf,0,buf.length);FS.write(stream,buf,0,actualNumBytes,undefined,opts.canOwn)}else if(ArrayBuffer.isView(data)){FS.write(stream,data,0,data.byteLength,undefined,opts.canOwn)}else{throw new Error("Unsupported data type")}FS.close(stream)}),cwd:(function(){return FS.currentPath}),chdir:(function(path){var lookup=FS.lookupPath(path,{follow:true});if(lookup.node===null){throw new FS.ErrnoError(ERRNO_CODES.ENOENT)}if(!FS.isDir(lookup.node.mode)){throw new FS.ErrnoError(ERRNO_CODES.ENOTDIR)}var err=FS.nodePermissions(lookup.node,"x");if(err){throw new FS.ErrnoError(err)}FS.currentPath=lookup.path}),createDefaultDirectories:(function(){FS.mkdir("/tmp");FS.mkdir("/home");FS.mkdir("/home/web_user")}),createDefaultDevices:(function(){FS.mkdir("/dev");FS.registerDevice(FS.makedev(1,3),{read:(function(){return 0}),write:(function(stream,buffer,offset,length,pos){return length})});FS.mkdev("/dev/null",FS.makedev(1,3));TTY.register(FS.makedev(5,0),TTY.default_tty_ops);TTY.register(FS.makedev(6,0),TTY.default_tty1_ops);FS.mkdev("/dev/tty",FS.makedev(5,0));FS.mkdev("/dev/tty1",FS.makedev(6,0));var random_device;if(typeof crypto!=="undefined"){var randomBuffer=new Uint8Array(1);random_device=(function(){crypto.getRandomValues(randomBuffer);return randomBuffer[0]})}else if(ENVIRONMENT_IS_NODE){random_device=(function(){return require("crypto")["randomBytes"](1)[0]})}else{random_device=(function(){return Math.random()*256|0})}FS.createDevice("/dev","random",random_device);FS.createDevice("/dev","urandom",random_device);FS.mkdir("/dev/shm");FS.mkdir("/dev/shm/tmp")}),createSpecialDirectories:(function(){FS.mkdir("/proc");FS.mkdir("/proc/self");FS.mkdir("/proc/self/fd");FS.mount({mount:(function(){var node=FS.createNode("/proc/self","fd",16384|511,73);node.node_ops={lookup:(function(parent,name){var fd=+name;var stream=FS.getStream(fd);if(!stream)throw new FS.ErrnoError(ERRNO_CODES.EBADF);var ret={parent:null,mount:{mountpoint:"fake"},node_ops:{readlink:(function(){return stream.path})}};ret.parent=ret;return ret})};return node})},{},"/proc/self/fd")}),createStandardStreams:(function(){if(Module["stdin"]){FS.createDevice("/dev","stdin",Module["stdin"])}else{FS.symlink("/dev/tty","/dev/stdin")}if(Module["stdout"]){FS.createDevice("/dev","stdout",null,Module["stdout"])}else{FS.symlink("/dev/tty","/dev/stdout")}if(Module["stderr"]){FS.createDevice("/dev","stderr",null,Module["stderr"])}else{FS.symlink("/dev/tty1","/dev/stderr")}var stdin=FS.open("/dev/stdin","r");assert(stdin.fd===0,"invalid handle for stdin ("+stdin.fd+")");var stdout=FS.open("/dev/stdout","w");assert(stdout.fd===1,"invalid handle for stdout ("+stdout.fd+")");var stderr=FS.open("/dev/stderr","w");assert(stderr.fd===2,"invalid handle for stderr ("+stderr.fd+")")}),ensureErrnoError:(function(){if(FS.ErrnoError)return;FS.ErrnoError=function ErrnoError(errno,node){this.node=node;this.setErrno=(function(errno){this.errno=errno;for(var key in ERRNO_CODES){if(ERRNO_CODES[key]===errno){this.code=key;break}}});this.setErrno(errno);this.message=ERRNO_MESSAGES[errno];if(this.stack)Object.defineProperty(this,"stack",{value:(new Error).stack,writable:true})};FS.ErrnoError.prototype=new Error;FS.ErrnoError.prototype.constructor=FS.ErrnoError;[ERRNO_CODES.ENOENT].forEach((function(code){FS.genericErrors[code]=new FS.ErrnoError(code);FS.genericErrors[code].stack="<generic error, no stack>"}))}),staticInit:(function(){FS.ensureErrnoError();FS.nameTable=new Array(4096);FS.mount(MEMFS,{},"/");FS.createDefaultDirectories();FS.createDefaultDevices();FS.createSpecialDirectories();FS.filesystems={"MEMFS":MEMFS,"IDBFS":IDBFS,"NODEFS":NODEFS,"WORKERFS":WORKERFS}}),init:(function(input,output,error){assert(!FS.init.initialized,"FS.init was previously called. If you want to initialize later with custom parameters, remove any earlier calls (note that one is automatically added to the generated code)");FS.init.initialized=true;FS.ensureErrnoError();Module["stdin"]=input||Module["stdin"];Module["stdout"]=output||Module["stdout"];Module["stderr"]=error||Module["stderr"];FS.createStandardStreams()}),quit:(function(){FS.init.initialized=false;var fflush=Module["_fflush"];if(fflush)fflush(0);for(var i=0;i<FS.streams.length;i++){var stream=FS.streams[i];if(!stream){continue}FS.close(stream)}}),getMode:(function(canRead,canWrite){var mode=0;if(canRead)mode|=292|73;if(canWrite)mode|=146;return mode}),joinPath:(function(parts,forceRelative){var path=PATH.join.apply(null,parts);if(forceRelative&&path[0]=="/")path=path.substr(1);return path}),absolutePath:(function(relative,base){return PATH.resolve(base,relative)}),standardizePath:(function(path){return PATH.normalize(path)}),findObject:(function(path,dontResolveLastLink){var ret=FS.analyzePath(path,dontResolveLastLink);if(ret.exists){return ret.object}else{___setErrNo(ret.error);return null}}),analyzePath:(function(path,dontResolveLastLink){try{var lookup=FS.lookupPath(path,{follow:!dontResolveLastLink});path=lookup.path}catch(e){}var ret={isRoot:false,exists:false,error:0,name:null,path:null,object:null,parentExists:false,parentPath:null,parentObject:null};try{var lookup=FS.lookupPath(path,{parent:true});ret.parentExists=true;ret.parentPath=lookup.path;ret.parentObject=lookup.node;ret.name=PATH.basename(path);lookup=FS.lookupPath(path,{follow:!dontResolveLastLink});ret.exists=true;ret.path=lookup.path;ret.object=lookup.node;ret.name=lookup.node.name;ret.isRoot=lookup.path==="/"}catch(e){ret.error=e.errno}return ret}),createFolder:(function(parent,name,canRead,canWrite){var path=PATH.join2(typeof parent==="string"?parent:FS.getPath(parent),name);var mode=FS.getMode(canRead,canWrite);return FS.mkdir(path,mode)}),createPath:(function(parent,path,canRead,canWrite){parent=typeof parent==="string"?parent:FS.getPath(parent);var parts=path.split("/").reverse();while(parts.length){var part=parts.pop();if(!part)continue;var current=PATH.join2(parent,part);try{FS.mkdir(current)}catch(e){}parent=current}return current}),createFile:(function(parent,name,properties,canRead,canWrite){var path=PATH.join2(typeof parent==="string"?parent:FS.getPath(parent),name);var mode=FS.getMode(canRead,canWrite);return FS.create(path,mode)}),createDataFile:(function(parent,name,data,canRead,canWrite,canOwn){var path=name?PATH.join2(typeof parent==="string"?parent:FS.getPath(parent),name):parent;var mode=FS.getMode(canRead,canWrite);var node=FS.create(path,mode);if(data){if(typeof data==="string"){var arr=new Array(data.length);for(var i=0,len=data.length;i<len;++i)arr[i]=data.charCodeAt(i);data=arr}FS.chmod(node,mode|146);var stream=FS.open(node,"w");FS.write(stream,data,0,data.length,0,canOwn);FS.close(stream);FS.chmod(node,mode)}return node}),createDevice:(function(parent,name,input,output){var path=PATH.join2(typeof parent==="string"?parent:FS.getPath(parent),name);var mode=FS.getMode(!!input,!!output);if(!FS.createDevice.major)FS.createDevice.major=64;var dev=FS.makedev(FS.createDevice.major++,0);FS.registerDevice(dev,{open:(function(stream){stream.seekable=false}),close:(function(stream){if(output&&output.buffer&&output.buffer.length){output(10)}}),read:(function(stream,buffer,offset,length,pos){var bytesRead=0;for(var i=0;i<length;i++){var result;try{result=input()}catch(e){throw new FS.ErrnoError(ERRNO_CODES.EIO)}if(result===undefined&&bytesRead===0){throw new FS.ErrnoError(ERRNO_CODES.EAGAIN)}if(result===null||result===undefined)break;bytesRead++;buffer[offset+i]=result}if(bytesRead){stream.node.timestamp=Date.now()}return bytesRead}),write:(function(stream,buffer,offset,length,pos){for(var i=0;i<length;i++){try{output(buffer[offset+i])}catch(e){throw new FS.ErrnoError(ERRNO_CODES.EIO)}}if(length){stream.node.timestamp=Date.now()}return i})});return FS.mkdev(path,mode,dev)}),createLink:(function(parent,name,target,canRead,canWrite){var path=PATH.join2(typeof parent==="string"?parent:FS.getPath(parent),name);return FS.symlink(target,path)}),forceLoadFile:(function(obj){if(obj.isDevice||obj.isFolder||obj.link||obj.contents)return true;var success=true;if(typeof XMLHttpRequest!=="undefined"){throw new Error("Lazy loading should have been performed (contents set) in createLazyFile, but it was not. Lazy loading only works in web workers. Use --embed-file or --preload-file in emcc on the main thread.")}else if(Module["read"]){try{obj.contents=intArrayFromString(Module["read"](obj.url),true);obj.usedBytes=obj.contents.length}catch(e){success=false}}else{throw new Error("Cannot load without read() or XMLHttpRequest.")}if(!success)___setErrNo(ERRNO_CODES.EIO);return success}),createLazyFile:(function(parent,name,url,canRead,canWrite){function LazyUint8Array(){this.lengthKnown=false;this.chunks=[]}LazyUint8Array.prototype.get=function LazyUint8Array_get(idx){if(idx>this.length-1||idx<0){return undefined}var chunkOffset=idx%this.chunkSize;var chunkNum=idx/this.chunkSize|0;return this.getter(chunkNum)[chunkOffset]};LazyUint8Array.prototype.setDataGetter=function LazyUint8Array_setDataGetter(getter){this.getter=getter};LazyUint8Array.prototype.cacheLength=function LazyUint8Array_cacheLength(){var xhr=new XMLHttpRequest;xhr.open("HEAD",url,false);xhr.send(null);if(!(xhr.status>=200&&xhr.status<300||xhr.status===304))throw new Error("Couldn't load "+url+". Status: "+xhr.status);var datalength=Number(xhr.getResponseHeader("Content-length"));var header;var hasByteServing=(header=xhr.getResponseHeader("Accept-Ranges"))&&header==="bytes";var usesGzip=(header=xhr.getResponseHeader("Content-Encoding"))&&header==="gzip";var chunkSize=1024*1024;if(!hasByteServing)chunkSize=datalength;var doXHR=(function(from,to){if(from>to)throw new Error("invalid range ("+from+", "+to+") or no bytes requested!");if(to>datalength-1)throw new Error("only "+datalength+" bytes available! programmer error!");var xhr=new XMLHttpRequest;xhr.open("GET",url,false);if(datalength!==chunkSize)xhr.setRequestHeader("Range","bytes="+from+"-"+to);if(typeof Uint8Array!="undefined")xhr.responseType="arraybuffer";if(xhr.overrideMimeType){xhr.overrideMimeType("text/plain; charset=x-user-defined")}xhr.send(null);if(!(xhr.status>=200&&xhr.status<300||xhr.status===304))throw new Error("Couldn't load "+url+". Status: "+xhr.status);if(xhr.response!==undefined){return new Uint8Array(xhr.response||[])}else{return intArrayFromString(xhr.responseText||"",true)}});var lazyArray=this;lazyArray.setDataGetter((function(chunkNum){var start=chunkNum*chunkSize;var end=(chunkNum+1)*chunkSize-1;end=Math.min(end,datalength-1);if(typeof lazyArray.chunks[chunkNum]==="undefined"){lazyArray.chunks[chunkNum]=doXHR(start,end)}if(typeof lazyArray.chunks[chunkNum]==="undefined")throw new Error("doXHR failed!");return lazyArray.chunks[chunkNum]}));if(usesGzip||!datalength){chunkSize=datalength=1;datalength=this.getter(0).length;chunkSize=datalength;console.log("LazyFiles on gzip forces download of the whole file when length is accessed")}this._length=datalength;this._chunkSize=chunkSize;this.lengthKnown=true};if(typeof XMLHttpRequest!=="undefined"){if(!ENVIRONMENT_IS_WORKER)throw"Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc";var lazyArray=new LazyUint8Array;Object.defineProperties(lazyArray,{length:{get:(function(){if(!this.lengthKnown){this.cacheLength()}return this._length})},chunkSize:{get:(function(){if(!this.lengthKnown){this.cacheLength()}return this._chunkSize})}});var properties={isDevice:false,contents:lazyArray}}else{var properties={isDevice:false,url:url}}var node=FS.createFile(parent,name,properties,canRead,canWrite);if(properties.contents){node.contents=properties.contents}else if(properties.url){node.contents=null;node.url=properties.url}Object.defineProperties(node,{usedBytes:{get:(function(){return this.contents.length})}});var stream_ops={};var keys=Object.keys(node.stream_ops);keys.forEach((function(key){var fn=node.stream_ops[key];stream_ops[key]=function forceLoadLazyFile(){if(!FS.forceLoadFile(node)){throw new FS.ErrnoError(ERRNO_CODES.EIO)}return fn.apply(null,arguments)}}));stream_ops.read=function stream_ops_read(stream,buffer,offset,length,position){if(!FS.forceLoadFile(node)){throw new FS.ErrnoError(ERRNO_CODES.EIO)}var contents=stream.node.contents;if(position>=contents.length)return 0;var size=Math.min(contents.length-position,length);assert(size>=0);if(contents.slice){for(var i=0;i<size;i++){buffer[offset+i]=contents[position+i]}}else{for(var i=0;i<size;i++){buffer[offset+i]=contents.get(position+i)}}return size};node.stream_ops=stream_ops;return node}),createPreloadedFile:(function(parent,name,url,canRead,canWrite,onload,onerror,dontCreateFile,canOwn,preFinish){Browser.init();var fullname=name?PATH.resolve(PATH.join2(parent,name)):parent;var dep=getUniqueRunDependency("cp "+fullname);function processData(byteArray){function finish(byteArray){if(preFinish)preFinish();if(!dontCreateFile){FS.createDataFile(parent,name,byteArray,canRead,canWrite,canOwn)}if(onload)onload();removeRunDependency(dep)}var handled=false;Module["preloadPlugins"].forEach((function(plugin){if(handled)return;if(plugin["canHandle"](fullname)){plugin["handle"](byteArray,fullname,finish,(function(){if(onerror)onerror();removeRunDependency(dep)}));handled=true}}));if(!handled)finish(byteArray)}addRunDependency(dep);if(typeof url=="string"){Browser.asyncLoad(url,(function(byteArray){processData(byteArray)}),onerror)}else{processData(url)}}),indexedDB:(function(){return window.indexedDB||window.mozIndexedDB||window.webkitIndexedDB||window.msIndexedDB}),DB_NAME:(function(){return"EM_FS_"+window.location.pathname}),DB_VERSION:20,DB_STORE_NAME:"FILE_DATA",saveFilesToDB:(function(paths,onload,onerror){onload=onload||(function(){});onerror=onerror||(function(){});var indexedDB=FS.indexedDB();try{var openRequest=indexedDB.open(FS.DB_NAME(),FS.DB_VERSION)}catch(e){return onerror(e)}openRequest.onupgradeneeded=function openRequest_onupgradeneeded(){console.log("creating db");var db=openRequest.result;db.createObjectStore(FS.DB_STORE_NAME)};openRequest.onsuccess=function openRequest_onsuccess(){var db=openRequest.result;var transaction=db.transaction([FS.DB_STORE_NAME],"readwrite");var files=transaction.objectStore(FS.DB_STORE_NAME);var ok=0,fail=0,total=paths.length;function finish(){if(fail==0)onload();else onerror()}paths.forEach((function(path){var putRequest=files.put(FS.analyzePath(path).object.contents,path);putRequest.onsuccess=function putRequest_onsuccess(){ok++;if(ok+fail==total)finish()};putRequest.onerror=function putRequest_onerror(){fail++;if(ok+fail==total)finish()}}));transaction.onerror=onerror};openRequest.onerror=onerror}),loadFilesFromDB:(function(paths,onload,onerror){onload=onload||(function(){});onerror=onerror||(function(){});var indexedDB=FS.indexedDB();try{var openRequest=indexedDB.open(FS.DB_NAME(),FS.DB_VERSION)}catch(e){return onerror(e)}openRequest.onupgradeneeded=onerror;openRequest.onsuccess=function openRequest_onsuccess(){var db=openRequest.result;try{var transaction=db.transaction([FS.DB_STORE_NAME],"readonly")}catch(e){onerror(e);return}var files=transaction.objectStore(FS.DB_STORE_NAME);var ok=0,fail=0,total=paths.length;function finish(){if(fail==0)onload();else onerror()}paths.forEach((function(path){var getRequest=files.get(path);getRequest.onsuccess=function getRequest_onsuccess(){if(FS.analyzePath(path).exists){FS.unlink(path)}FS.createDataFile(PATH.dirname(path),PATH.basename(path),getRequest.result,true,true,true);ok++;if(ok+fail==total)finish()};getRequest.onerror=function getRequest_onerror(){fail++;if(ok+fail==total)finish()}}));transaction.onerror=onerror};openRequest.onerror=onerror})};var SYSCALLS={DEFAULT_POLLMASK:5,mappings:{},umask:511,calculateAt:(function(dirfd,path){if(path[0]!=="/"){var dir;if(dirfd===-100){dir=FS.cwd()}else{var dirstream=FS.getStream(dirfd);if(!dirstream)throw new FS.ErrnoError(ERRNO_CODES.EBADF);dir=dirstream.path}path=PATH.join2(dir,path)}return path}),doStat:(function(func,path,buf){try{var stat=func(path)}catch(e){if(e&&e.node&&PATH.normalize(path)!==PATH.normalize(FS.getPath(e.node))){return-ERRNO_CODES.ENOTDIR}throw e}HEAP32[buf>>2]=stat.dev;HEAP32[buf+4>>2]=0;HEAP32[buf+8>>2]=stat.ino;HEAP32[buf+12>>2]=stat.mode;HEAP32[buf+16>>2]=stat.nlink;HEAP32[buf+20>>2]=stat.uid;HEAP32[buf+24>>2]=stat.gid;HEAP32[buf+28>>2]=stat.rdev;HEAP32[buf+32>>2]=0;HEAP32[buf+36>>2]=stat.size;HEAP32[buf+40>>2]=4096;HEAP32[buf+44>>2]=stat.blocks;HEAP32[buf+48>>2]=stat.atime.getTime()/1e3|0;HEAP32[buf+52>>2]=0;HEAP32[buf+56>>2]=stat.mtime.getTime()/1e3|0;HEAP32[buf+60>>2]=0;HEAP32[buf+64>>2]=stat.ctime.getTime()/1e3|0;HEAP32[buf+68>>2]=0;HEAP32[buf+72>>2]=stat.ino;return 0}),doMsync:(function(addr,stream,len,flags){var buffer=new Uint8Array(HEAPU8.subarray(addr,addr+len));FS.msync(stream,buffer,0,len,flags)}),doMkdir:(function(path,mode){path=PATH.normalize(path);if(path[path.length-1]==="/")path=path.substr(0,path.length-1);FS.mkdir(path,mode,0);return 0}),doMknod:(function(path,mode,dev){switch(mode&61440){case 32768:case 8192:case 24576:case 4096:case 49152:break;default:return-ERRNO_CODES.EINVAL}FS.mknod(path,mode,dev);return 0}),doReadlink:(function(path,buf,bufsize){if(bufsize<=0)return-ERRNO_CODES.EINVAL;var ret=FS.readlink(path);var len=Math.min(bufsize,lengthBytesUTF8(ret));var endChar=HEAP8[buf+len];stringToUTF8(ret,buf,bufsize+1);HEAP8[buf+len]=endChar;return len}),doAccess:(function(path,amode){if(amode&~7){return-ERRNO_CODES.EINVAL}var node;var lookup=FS.lookupPath(path,{follow:true});node=lookup.node;var perms="";if(amode&4)perms+="r";if(amode&2)perms+="w";if(amode&1)perms+="x";if(perms&&FS.nodePermissions(node,perms)){return-ERRNO_CODES.EACCES}return 0}),doDup:(function(path,flags,suggestFD){var suggest=FS.getStream(suggestFD);if(suggest)FS.close(suggest);return FS.open(path,flags,0,suggestFD,suggestFD).fd}),doReadv:(function(stream,iov,iovcnt,offset){var ret=0;for(var i=0;i<iovcnt;i++){var ptr=HEAP32[iov+i*8>>2];var len=HEAP32[iov+(i*8+4)>>2];var curr=FS.read(stream,HEAP8,ptr,len,offset);if(curr<0)return-1;ret+=curr;if(curr<len)break}return ret}),doWritev:(function(stream,iov,iovcnt,offset){var ret=0;for(var i=0;i<iovcnt;i++){var ptr=HEAP32[iov+i*8>>2];var len=HEAP32[iov+(i*8+4)>>2];var curr=FS.write(stream,HEAP8,ptr,len,offset);if(curr<0)return-1;ret+=curr}return ret}),varargs:0,get:(function(varargs){SYSCALLS.varargs+=4;var ret=HEAP32[SYSCALLS.varargs-4>>2];return ret}),getStr:(function(){var ret=Pointer_stringify(SYSCALLS.get());return ret}),getStreamFromFD:(function(){var stream=FS.getStream(SYSCALLS.get());if(!stream)throw new FS.ErrnoError(ERRNO_CODES.EBADF);return stream}),getSocketFromFD:(function(){var socket=SOCKFS.getSocket(SYSCALLS.get());if(!socket)throw new FS.ErrnoError(ERRNO_CODES.EBADF);return socket}),getSocketAddress:(function(allowNull){var addrp=SYSCALLS.get(),addrlen=SYSCALLS.get();if(allowNull&&addrp===0)return null;var info=__read_sockaddr(addrp,addrlen);if(info.errno)throw new FS.ErrnoError(info.errno);info.addr=DNS.lookup_addr(info.addr)||info.addr;return info}),get64:(function(){var low=SYSCALLS.get(),high=SYSCALLS.get();if(low>=0)assert(high===0);else assert(high===-1);return low}),getZero:(function(){assert(SYSCALLS.get()===0)})};function ___syscall140(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),offset_high=SYSCALLS.get(),offset_low=SYSCALLS.get(),result=SYSCALLS.get(),whence=SYSCALLS.get();var offset=offset_low;FS.llseek(stream,offset,whence);HEAP32[result>>2]=stream.position;if(stream.getdents&&offset===0&&whence===0)stream.getdents=null;return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall145(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),iov=SYSCALLS.get(),iovcnt=SYSCALLS.get();return SYSCALLS.doReadv(stream,iov,iovcnt)}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall146(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),iov=SYSCALLS.get(),iovcnt=SYSCALLS.get();return SYSCALLS.doWritev(stream,iov,iovcnt)}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall195(which,varargs){SYSCALLS.varargs=varargs;try{var path=SYSCALLS.getStr(),buf=SYSCALLS.get();return SYSCALLS.doStat(FS.stat,path,buf)}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall197(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),buf=SYSCALLS.get();return SYSCALLS.doStat(FS.stat,stream.path,buf)}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall220(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),dirp=SYSCALLS.get(),count=SYSCALLS.get();if(!stream.getdents){stream.getdents=FS.readdir(stream.path)}var pos=0;while(stream.getdents.length>0&&pos+268<=count){var id;var type;var name=stream.getdents.pop();if(name[0]==="."){id=1;type=4}else{var child=FS.lookupNode(stream.node,name);id=child.id;type=FS.isChrdev(child.mode)?2:FS.isDir(child.mode)?4:FS.isLink(child.mode)?10:8}HEAP32[dirp+pos>>2]=id;HEAP32[dirp+pos+4>>2]=stream.position;HEAP16[dirp+pos+8>>1]=268;HEAP8[dirp+pos+10>>0]=type;stringToUTF8(name,dirp+pos+11,256);pos+=268}return pos}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall221(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),cmd=SYSCALLS.get();switch(cmd){case 0:{var arg=SYSCALLS.get();if(arg<0){return-ERRNO_CODES.EINVAL}var newStream;newStream=FS.open(stream.path,stream.flags,0,arg);return newStream.fd};case 1:case 2:return 0;case 3:return stream.flags;case 4:{var arg=SYSCALLS.get();stream.flags|=arg;return 0};case 12:case 12:{var arg=SYSCALLS.get();var offset=0;HEAP16[arg+offset>>1]=2;return 0};case 13:case 14:case 13:case 14:return 0;case 16:case 8:return-ERRNO_CODES.EINVAL;case 9:___setErrNo(ERRNO_CODES.EINVAL);return-1;default:{return-ERRNO_CODES.EINVAL}}}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall33(which,varargs){SYSCALLS.varargs=varargs;try{var path=SYSCALLS.getStr(),amode=SYSCALLS.get();return SYSCALLS.doAccess(path,amode)}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall39(which,varargs){SYSCALLS.varargs=varargs;try{var path=SYSCALLS.getStr(),mode=SYSCALLS.get();return SYSCALLS.doMkdir(path,mode)}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall5(which,varargs){SYSCALLS.varargs=varargs;try{var pathname=SYSCALLS.getStr(),flags=SYSCALLS.get(),mode=SYSCALLS.get();var stream=FS.open(pathname,flags,mode);return stream.fd}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall54(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),op=SYSCALLS.get();switch(op){case 21509:case 21505:{if(!stream.tty)return-ERRNO_CODES.ENOTTY;return 0};case 21510:case 21511:case 21512:case 21506:case 21507:case 21508:{if(!stream.tty)return-ERRNO_CODES.ENOTTY;return 0};case 21519:{if(!stream.tty)return-ERRNO_CODES.ENOTTY;var argp=SYSCALLS.get();HEAP32[argp>>2]=0;return 0};case 21520:{if(!stream.tty)return-ERRNO_CODES.ENOTTY;return-ERRNO_CODES.EINVAL};case 21531:{var argp=SYSCALLS.get();return FS.ioctl(stream,op,argp)};case 21523:{if(!stream.tty)return-ERRNO_CODES.ENOTTY;return 0};case 21524:{if(!stream.tty)return-ERRNO_CODES.ENOTTY;return 0};default:abort("bad ioctl syscall "+op)}}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall6(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD();FS.close(stream);return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall85(which,varargs){SYSCALLS.varargs=varargs;try{var path=SYSCALLS.getStr(),buf=SYSCALLS.get(),bufsize=SYSCALLS.get();return SYSCALLS.doReadlink(path,buf,bufsize)}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall91(which,varargs){SYSCALLS.varargs=varargs;try{var addr=SYSCALLS.get(),len=SYSCALLS.get();var info=SYSCALLS.mappings[addr];if(!info)return 0;if(len===info.len){var stream=FS.getStream(info.fd);SYSCALLS.doMsync(addr,stream,len,info.flags);FS.munmap(stream);SYSCALLS.mappings[addr]=null;if(info.allocated){_free(info.malloc)}}return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___unlock(){}function getShiftFromSize(size){switch(size){case 1:return 0;case 2:return 1;case 4:return 2;case 8:return 3;default:throw new TypeError("Unknown type size: "+size)}}function embind_init_charCodes(){var codes=new Array(256);for(var i=0;i<256;++i){codes[i]=String.fromCharCode(i)}embind_charCodes=codes}var embind_charCodes=undefined;function readLatin1String(ptr){var ret="";var c=ptr;while(HEAPU8[c]){ret+=embind_charCodes[HEAPU8[c++]]}return ret}var awaitingDependencies={};var registeredTypes={};var typeDependencies={};var char_0=48;var char_9=57;function makeLegalFunctionName(name){if(undefined===name){return"_unknown"}name=name.replace(/[^a-zA-Z0-9_]/g,"$");var f=name.charCodeAt(0);if(f>=char_0&&f<=char_9){return"_"+name}else{return name}}function createNamedFunction(name,body){name=makeLegalFunctionName(name);return(new Function("body","return function "+name+"() {\n"+' "use strict";'+" return body.apply(this, arguments);\n"+"};\n"))(body)}function extendError(baseErrorType,errorName){var errorClass=createNamedFunction(errorName,(function(message){this.name=errorName;this.message=message;var stack=(new Error(message)).stack;if(stack!==undefined){this.stack=this.toString()+"\n"+stack.replace(/^Error(:[^\n]*)?\n/,"")}}));errorClass.prototype=Object.create(baseErrorType.prototype);errorClass.prototype.constructor=errorClass;errorClass.prototype.toString=(function(){if(this.message===undefined){return this.name}else{return this.name+": "+this.message}});return errorClass}var BindingError=undefined;function throwBindingError(message){throw new BindingError(message)}var InternalError=undefined;function throwInternalError(message){throw new InternalError(message)}function whenDependentTypesAreResolved(myTypes,dependentTypes,getTypeConverters){myTypes.forEach((function(type){typeDependencies[type]=dependentTypes}));function onComplete(typeConverters){var myTypeConverters=getTypeConverters(typeConverters);if(myTypeConverters.length!==myTypes.length){throwInternalError("Mismatched type converter count")}for(var i=0;i<myTypes.length;++i){registerType(myTypes[i],myTypeConverters[i])}}var typeConverters=new Array(dependentTypes.length);var unregisteredTypes=[];var registered=0;dependentTypes.forEach((function(dt,i){if(registeredTypes.hasOwnProperty(dt)){typeConverters[i]=registeredTypes[dt]}else{unregisteredTypes.push(dt);if(!awaitingDependencies.hasOwnProperty(dt)){awaitingDependencies[dt]=[]}awaitingDependencies[dt].push((function(){typeConverters[i]=registeredTypes[dt];++registered;if(registered===unregisteredTypes.length){onComplete(typeConverters)}}))}}));if(0===unregisteredTypes.length){onComplete(typeConverters)}}function registerType(rawType,registeredInstance,options){options=options||{};if(!("argPackAdvance"in registeredInstance)){throw new TypeError("registerType registeredInstance requires argPackAdvance")}var name=registeredInstance.name;if(!rawType){throwBindingError('type "'+name+'" must have a positive integer typeid pointer')}if(registeredTypes.hasOwnProperty(rawType)){if(options.ignoreDuplicateRegistrations){return}else{throwBindingError("Cannot register type '"+name+"' twice")}}registeredTypes[rawType]=registeredInstance;delete typeDependencies[rawType];if(awaitingDependencies.hasOwnProperty(rawType)){var callbacks=awaitingDependencies[rawType];delete awaitingDependencies[rawType];callbacks.forEach((function(cb){cb()}))}}function __embind_register_bool(rawType,name,size,trueValue,falseValue){var shift=getShiftFromSize(size);name=readLatin1String(name);registerType(rawType,{name:name,"fromWireType":(function(wt){return!!wt}),"toWireType":(function(destructors,o){return o?trueValue:falseValue}),"argPackAdvance":8,"readValueFromPointer":(function(pointer){var heap;if(size===1){heap=HEAP8}else if(size===2){heap=HEAP16}else if(size===4){heap=HEAP32}else{throw new TypeError("Unknown boolean type size: "+name)}return this["fromWireType"](heap[pointer>>shift])}),destructorFunction:null})}function ClassHandle_isAliasOf(other){if(!(this instanceof ClassHandle)){return false}if(!(other instanceof ClassHandle)){return false}var leftClass=this.$$.ptrType.registeredClass;var left=this.$$.ptr;var rightClass=other.$$.ptrType.registeredClass;var right=other.$$.ptr;while(leftClass.baseClass){left=leftClass.upcast(left);leftClass=leftClass.baseClass}while(rightClass.baseClass){right=rightClass.upcast(right);rightClass=rightClass.baseClass}return leftClass===rightClass&&left===right}function shallowCopyInternalPointer(o){return{count:o.count,deleteScheduled:o.deleteScheduled,preservePointerOnDelete:o.preservePointerOnDelete,ptr:o.ptr,ptrType:o.ptrType,smartPtr:o.smartPtr,smartPtrType:o.smartPtrType}}function throwInstanceAlreadyDeleted(obj){function getInstanceTypeName(handle){return handle.$$.ptrType.registeredClass.name}throwBindingError(getInstanceTypeName(obj)+" instance already deleted")}function ClassHandle_clone(){if(!this.$$.ptr){throwInstanceAlreadyDeleted(this)}if(this.$$.preservePointerOnDelete){this.$$.count.value+=1;return this}else{var clone=Object.create(Object.getPrototypeOf(this),{$$:{value:shallowCopyInternalPointer(this.$$)}});clone.$$.count.value+=1;clone.$$.deleteScheduled=false;return clone}}function runDestructor(handle){var $$=handle.$$;if($$.smartPtr){$$.smartPtrType.rawDestructor($$.smartPtr)}else{$$.ptrType.registeredClass.rawDestructor($$.ptr)}}function ClassHandle_delete(){if(!this.$$.ptr){throwInstanceAlreadyDeleted(this)}if(this.$$.deleteScheduled&&!this.$$.preservePointerOnDelete){throwBindingError("Object already scheduled for deletion")}this.$$.count.value-=1;var toDelete=0===this.$$.count.value;if(toDelete){runDestructor(this)}if(!this.$$.preservePointerOnDelete){this.$$.smartPtr=undefined;this.$$.ptr=undefined}}function ClassHandle_isDeleted(){return!this.$$.ptr}var delayFunction=undefined;var deletionQueue=[];function flushPendingDeletes(){while(deletionQueue.length){var obj=deletionQueue.pop();obj.$$.deleteScheduled=false;obj["delete"]()}}function ClassHandle_deleteLater(){if(!this.$$.ptr){throwInstanceAlreadyDeleted(this)}if(this.$$.deleteScheduled&&!this.$$.preservePointerOnDelete){throwBindingError("Object already scheduled for deletion")}deletionQueue.push(this);if(deletionQueue.length===1&&delayFunction){delayFunction(flushPendingDeletes)}this.$$.deleteScheduled=true;return this}function init_ClassHandle(){ClassHandle.prototype["isAliasOf"]=ClassHandle_isAliasOf;ClassHandle.prototype["clone"]=ClassHandle_clone;ClassHandle.prototype["delete"]=ClassHandle_delete;ClassHandle.prototype["isDeleted"]=ClassHandle_isDeleted;ClassHandle.prototype["deleteLater"]=ClassHandle_deleteLater}function ClassHandle(){}var registeredPointers={};function ensureOverloadTable(proto,methodName,humanName){if(undefined===proto[methodName].overloadTable){var prevFunc=proto[methodName];proto[methodName]=(function(){if(!proto[methodName].overloadTable.hasOwnProperty(arguments.length)){throwBindingError("Function '"+humanName+"' called with an invalid number of arguments ("+arguments.length+") - expects one of ("+proto[methodName].overloadTable+")!")}return proto[methodName].overloadTable[arguments.length].apply(this,arguments)});proto[methodName].overloadTable=[];proto[methodName].overloadTable[prevFunc.argCount]=prevFunc}}function exposePublicSymbol(name,value,numArguments){if(Module.hasOwnProperty(name)){if(undefined===numArguments||undefined!==Module[name].overloadTable&&undefined!==Module[name].overloadTable[numArguments]){throwBindingError("Cannot register public name '"+name+"' twice")}ensureOverloadTable(Module,name,name);if(Module.hasOwnProperty(numArguments)){throwBindingError("Cannot register multiple overloads of a function with the same number of arguments ("+numArguments+")!")}Module[name].overloadTable[numArguments]=value}else{Module[name]=value;if(undefined!==numArguments){Module[name].numArguments=numArguments}}}function RegisteredClass(name,constructor,instancePrototype,rawDestructor,baseClass,getActualType,upcast,downcast){this.name=name;this.constructor=constructor;this.instancePrototype=instancePrototype;this.rawDestructor=rawDestructor;this.baseClass=baseClass;this.getActualType=getActualType;this.upcast=upcast;this.downcast=downcast;this.pureVirtualFunctions=[]}function upcastPointer(ptr,ptrClass,desiredClass){while(ptrClass!==desiredClass){if(!ptrClass.upcast){throwBindingError("Expected null or instance of "+desiredClass.name+", got an instance of "+ptrClass.name)}ptr=ptrClass.upcast(ptr);ptrClass=ptrClass.baseClass}return ptr}function constNoSmartPtrRawPointerToWireType(destructors,handle){if(handle===null){if(this.isReference){throwBindingError("null is not a valid "+this.name)}return 0}if(!handle.$$){throwBindingError('Cannot pass "'+_embind_repr(handle)+'" as a '+this.name)}if(!handle.$$.ptr){throwBindingError("Cannot pass deleted object as a pointer of type "+this.name)}var handleClass=handle.$$.ptrType.registeredClass;var ptr=upcastPointer(handle.$$.ptr,handleClass,this.registeredClass);return ptr}function genericPointerToWireType(destructors,handle){var ptr;if(handle===null){if(this.isReference){throwBindingError("null is not a valid "+this.name)}if(this.isSmartPointer){ptr=this.rawConstructor();if(destructors!==null){destructors.push(this.rawDestructor,ptr)}return ptr}else{return 0}}if(!handle.$$){throwBindingError('Cannot pass "'+_embind_repr(handle)+'" as a '+this.name)}if(!handle.$$.ptr){throwBindingError("Cannot pass deleted object as a pointer of type "+this.name)}if(!this.isConst&&handle.$$.ptrType.isConst){throwBindingError("Cannot convert argument of type "+(handle.$$.smartPtrType?handle.$$.smartPtrType.name:handle.$$.ptrType.name)+" to parameter type "+this.name)}var handleClass=handle.$$.ptrType.registeredClass;ptr=upcastPointer(handle.$$.ptr,handleClass,this.registeredClass);if(this.isSmartPointer){if(undefined===handle.$$.smartPtr){throwBindingError("Passing raw pointer to smart pointer is illegal")}switch(this.sharingPolicy){case 0:if(handle.$$.smartPtrType===this){ptr=handle.$$.smartPtr}else{throwBindingError("Cannot convert argument of type "+(handle.$$.smartPtrType?handle.$$.smartPtrType.name:handle.$$.ptrType.name)+" to parameter type "+this.name)}break;case 1:ptr=handle.$$.smartPtr;break;case 2:if(handle.$$.smartPtrType===this){ptr=handle.$$.smartPtr}else{var clonedHandle=handle["clone"]();ptr=this.rawShare(ptr,__emval_register((function(){clonedHandle["delete"]()})));if(destructors!==null){destructors.push(this.rawDestructor,ptr)}}break;default:throwBindingError("Unsupporting sharing policy")}}return ptr}function nonConstNoSmartPtrRawPointerToWireType(destructors,handle){if(handle===null){if(this.isReference){throwBindingError("null is not a valid "+this.name)}return 0}if(!handle.$$){throwBindingError('Cannot pass "'+_embind_repr(handle)+'" as a '+this.name)}if(!handle.$$.ptr){throwBindingError("Cannot pass deleted object as a pointer of type "+this.name)}if(handle.$$.ptrType.isConst){throwBindingError("Cannot convert argument of type "+handle.$$.ptrType.name+" to parameter type "+this.name)}var handleClass=handle.$$.ptrType.registeredClass;var ptr=upcastPointer(handle.$$.ptr,handleClass,this.registeredClass);return ptr}function simpleReadValueFromPointer(pointer){return this["fromWireType"](HEAPU32[pointer>>2])}function RegisteredPointer_getPointee(ptr){if(this.rawGetPointee){ptr=this.rawGetPointee(ptr)}return ptr}function RegisteredPointer_destructor(ptr){if(this.rawDestructor){this.rawDestructor(ptr)}}function RegisteredPointer_deleteObject(handle){if(handle!==null){handle["delete"]()}}function downcastPointer(ptr,ptrClass,desiredClass){if(ptrClass===desiredClass){return ptr}if(undefined===desiredClass.baseClass){return null}var rv=downcastPointer(ptr,ptrClass,desiredClass.baseClass);if(rv===null){return null}return desiredClass.downcast(rv)}function getInheritedInstanceCount(){return Object.keys(registeredInstances).length}function getLiveInheritedInstances(){var rv=[];for(var k in registeredInstances){if(registeredInstances.hasOwnProperty(k)){rv.push(registeredInstances[k])}}return rv}function setDelayFunction(fn){delayFunction=fn;if(deletionQueue.length&&delayFunction){delayFunction(flushPendingDeletes)}}function init_embind(){Module["getInheritedInstanceCount"]=getInheritedInstanceCount;Module["getLiveInheritedInstances"]=getLiveInheritedInstances;Module["flushPendingDeletes"]=flushPendingDeletes;Module["setDelayFunction"]=setDelayFunction}var registeredInstances={};function getBasestPointer(class_,ptr){if(ptr===undefined){throwBindingError("ptr should not be undefined")}while(class_.baseClass){ptr=class_.upcast(ptr);class_=class_.baseClass}return ptr}function getInheritedInstance(class_,ptr){ptr=getBasestPointer(class_,ptr);return registeredInstances[ptr]}function makeClassHandle(prototype,record){if(!record.ptrType||!record.ptr){throwInternalError("makeClassHandle requires ptr and ptrType")}var hasSmartPtrType=!!record.smartPtrType;var hasSmartPtr=!!record.smartPtr;if(hasSmartPtrType!==hasSmartPtr){throwInternalError("Both smartPtrType and smartPtr must be specified")}record.count={value:1};return Object.create(prototype,{$$:{value:record}})}function RegisteredPointer_fromWireType(ptr){var rawPointer=this.getPointee(ptr);if(!rawPointer){this.destructor(ptr);return null}var registeredInstance=getInheritedInstance(this.registeredClass,rawPointer);if(undefined!==registeredInstance){if(0===registeredInstance.$$.count.value){registeredInstance.$$.ptr=rawPointer;registeredInstance.$$.smartPtr=ptr;return registeredInstance["clone"]()}else{var rv=registeredInstance["clone"]();this.destructor(ptr);return rv}}function makeDefaultHandle(){if(this.isSmartPointer){return makeClassHandle(this.registeredClass.instancePrototype,{ptrType:this.pointeeType,ptr:rawPointer,smartPtrType:this,smartPtr:ptr})}else{return makeClassHandle(this.registeredClass.instancePrototype,{ptrType:this,ptr:ptr})}}var actualType=this.registeredClass.getActualType(rawPointer);var registeredPointerRecord=registeredPointers[actualType];if(!registeredPointerRecord){return makeDefaultHandle.call(this)}var toType;if(this.isConst){toType=registeredPointerRecord.constPointerType}else{toType=registeredPointerRecord.pointerType}var dp=downcastPointer(rawPointer,this.registeredClass,toType.registeredClass);if(dp===null){return makeDefaultHandle.call(this)}if(this.isSmartPointer){return makeClassHandle(toType.registeredClass.instancePrototype,{ptrType:toType,ptr:dp,smartPtrType:this,smartPtr:ptr})}else{return makeClassHandle(toType.registeredClass.instancePrototype,{ptrType:toType,ptr:dp})}}function init_RegisteredPointer(){RegisteredPointer.prototype.getPointee=RegisteredPointer_getPointee;RegisteredPointer.prototype.destructor=RegisteredPointer_destructor;RegisteredPointer.prototype["argPackAdvance"]=8;RegisteredPointer.prototype["readValueFromPointer"]=simpleReadValueFromPointer;RegisteredPointer.prototype["deleteObject"]=RegisteredPointer_deleteObject;RegisteredPointer.prototype["fromWireType"]=RegisteredPointer_fromWireType}function RegisteredPointer(name,registeredClass,isReference,isConst,isSmartPointer,pointeeType,sharingPolicy,rawGetPointee,rawConstructor,rawShare,rawDestructor){this.name=name;this.registeredClass=registeredClass;this.isReference=isReference;this.isConst=isConst;this.isSmartPointer=isSmartPointer;this.pointeeType=pointeeType;this.sharingPolicy=sharingPolicy;this.rawGetPointee=rawGetPointee;this.rawConstructor=rawConstructor;this.rawShare=rawShare;this.rawDestructor=rawDestructor;if(!isSmartPointer&&registeredClass.baseClass===undefined){if(isConst){this["toWireType"]=constNoSmartPtrRawPointerToWireType;this.destructorFunction=null}else{this["toWireType"]=nonConstNoSmartPtrRawPointerToWireType;this.destructorFunction=null}}else{this["toWireType"]=genericPointerToWireType}}function replacePublicSymbol(name,value,numArguments){if(!Module.hasOwnProperty(name)){throwInternalError("Replacing nonexistant public symbol")}if(undefined!==Module[name].overloadTable&&undefined!==numArguments){Module[name].overloadTable[numArguments]=value}else{Module[name]=value;Module[name].argCount=numArguments}}function embind__requireFunction(signature,rawFunction){signature=readLatin1String(signature);function makeDynCaller(dynCall){var args=[];for(var i=1;i<signature.length;++i){args.push("a"+i)}var name="dynCall_"+signature+"_"+rawFunction;var body="return function "+name+"("+args.join(", ")+") {\n";body+=" return dynCall(rawFunction"+(args.length?", ":"")+args.join(", ")+");\n";body+="};\n";return(new Function("dynCall","rawFunction",body))(dynCall,rawFunction)}var fp;if(Module["FUNCTION_TABLE_"+signature]!==undefined){fp=Module["FUNCTION_TABLE_"+signature][rawFunction]}else if(typeof FUNCTION_TABLE!=="undefined"){fp=FUNCTION_TABLE[rawFunction]}else{var dc=Module["asm"]["dynCall_"+signature];if(dc===undefined){dc=Module["asm"]["dynCall_"+signature.replace(/f/g,"d")];if(dc===undefined){throwBindingError("No dynCall invoker for signature: "+signature)}}fp=makeDynCaller(dc)}if(typeof fp!=="function"){throwBindingError("unknown function pointer with signature "+signature+": "+rawFunction)}return fp}var UnboundTypeError=undefined;function getTypeName(type){var ptr=___getTypeName(type);var rv=readLatin1String(ptr);_free(ptr);return rv}function throwUnboundTypeError(message,types){var unboundTypes=[];var seen={};function visit(type){if(seen[type]){return}if(registeredTypes[type]){return}if(typeDependencies[type]){typeDependencies[type].forEach(visit);return}unboundTypes.push(type);seen[type]=true}types.forEach(visit);throw new UnboundTypeError(message+": "+unboundTypes.map(getTypeName).join([", "]))}function __embind_register_class(rawType,rawPointerType,rawConstPointerType,baseClassRawType,getActualTypeSignature,getActualType,upcastSignature,upcast,downcastSignature,downcast,name,destructorSignature,rawDestructor){name=readLatin1String(name);getActualType=embind__requireFunction(getActualTypeSignature,getActualType);if(upcast){upcast=embind__requireFunction(upcastSignature,upcast)}if(downcast){downcast=embind__requireFunction(downcastSignature,downcast)}rawDestructor=embind__requireFunction(destructorSignature,rawDestructor);var legalFunctionName=makeLegalFunctionName(name);exposePublicSymbol(legalFunctionName,(function(){throwUnboundTypeError("Cannot construct "+name+" due to unbound types",[baseClassRawType])}));whenDependentTypesAreResolved([rawType,rawPointerType,rawConstPointerType],baseClassRawType?[baseClassRawType]:[],(function(base){base=base[0];var baseClass;var basePrototype;if(baseClassRawType){baseClass=base.registeredClass;basePrototype=baseClass.instancePrototype}else{basePrototype=ClassHandle.prototype}var constructor=createNamedFunction(legalFunctionName,(function(){if(Object.getPrototypeOf(this)!==instancePrototype){throw new BindingError("Use 'new' to construct "+name)}if(undefined===registeredClass.constructor_body){throw new BindingError(name+" has no accessible constructor")}var body=registeredClass.constructor_body[arguments.length];if(undefined===body){throw new BindingError("Tried to invoke ctor of "+name+" with invalid number of parameters ("+arguments.length+") - expected ("+Object.keys(registeredClass.constructor_body).toString()+") parameters instead!")}return body.apply(this,arguments)}));var instancePrototype=Object.create(basePrototype,{constructor:{value:constructor}});constructor.prototype=instancePrototype;var registeredClass=new RegisteredClass(name,constructor,instancePrototype,rawDestructor,baseClass,getActualType,upcast,downcast);var referenceConverter=new RegisteredPointer(name,registeredClass,true,false,false);var pointerConverter=new RegisteredPointer(name+"*",registeredClass,false,false,false);var constPointerConverter=new RegisteredPointer(name+" const*",registeredClass,false,true,false);registeredPointers[rawType]={pointerType:pointerConverter,constPointerType:constPointerConverter};replacePublicSymbol(legalFunctionName,constructor);return[referenceConverter,pointerConverter,constPointerConverter]}))}function heap32VectorToArray(count,firstElement){var array=[];for(var i=0;i<count;i++){array.push(HEAP32[(firstElement>>2)+i])}return array}function runDestructors(destructors){while(destructors.length){var ptr=destructors.pop();var del=destructors.pop();del(ptr)}}function __embind_register_class_constructor(rawClassType,argCount,rawArgTypesAddr,invokerSignature,invoker,rawConstructor){var rawArgTypes=heap32VectorToArray(argCount,rawArgTypesAddr);invoker=embind__requireFunction(invokerSignature,invoker);whenDependentTypesAreResolved([],[rawClassType],(function(classType){classType=classType[0];var humanName="constructor "+classType.name;if(undefined===classType.registeredClass.constructor_body){classType.registeredClass.constructor_body=[]}if(undefined!==classType.registeredClass.constructor_body[argCount-1]){throw new BindingError("Cannot register multiple constructors with identical number of parameters ("+(argCount-1)+") for class '"+classType.name+"'! Overload resolution is currently only performed using the parameter count, not actual type info!")}classType.registeredClass.constructor_body[argCount-1]=function unboundTypeHandler(){throwUnboundTypeError("Cannot construct "+classType.name+" due to unbound types",rawArgTypes)};whenDependentTypesAreResolved([],rawArgTypes,(function(argTypes){classType.registeredClass.constructor_body[argCount-1]=function constructor_body(){if(arguments.length!==argCount-1){throwBindingError(humanName+" called with "+arguments.length+" arguments, expected "+(argCount-1))}var destructors=[];var args=new Array(argCount);args[0]=rawConstructor;for(var i=1;i<argCount;++i){args[i]=argTypes[i]["toWireType"](destructors,arguments[i-1])}var ptr=invoker.apply(null,args);runDestructors(destructors);return argTypes[0]["fromWireType"](ptr)};return[]}));return[]}))}function new_(constructor,argumentList){if(!(constructor instanceof Function)){throw new TypeError("new_ called with constructor type "+typeof constructor+" which is not a function")}var dummy=createNamedFunction(constructor.name||"unknownFunctionName",(function(){}));dummy.prototype=constructor.prototype;var obj=new dummy;var r=constructor.apply(obj,argumentList);return r instanceof Object?r:obj}function craftInvokerFunction(humanName,argTypes,classType,cppInvokerFunc,cppTargetFunc){var argCount=argTypes.length;if(argCount<2){throwBindingError("argTypes array size mismatch! Must at least get return value and 'this' types!")}var isClassMethodFunc=argTypes[1]!==null&&classType!==null;var needsDestructorStack=false;for(var i=1;i<argTypes.length;++i){if(argTypes[i]!==null&&argTypes[i].destructorFunction===undefined){needsDestructorStack=true;break}}var returns=argTypes[0].name!=="void";var argsList="";var argsListWired="";for(var i=0;i<argCount-2;++i){argsList+=(i!==0?", ":"")+"arg"+i;argsListWired+=(i!==0?", ":"")+"arg"+i+"Wired"}var invokerFnBody="return function "+makeLegalFunctionName(humanName)+"("+argsList+") {\n"+"if (arguments.length !== "+(argCount-2)+") {\n"+"throwBindingError('function "+humanName+" called with ' + arguments.length + ' arguments, expected "+(argCount-2)+" args!');\n"+"}\n";if(needsDestructorStack){invokerFnBody+="var destructors = [];\n"}var dtorStack=needsDestructorStack?"destructors":"null";var args1=["throwBindingError","invoker","fn","runDestructors","retType","classParam"];var args2=[throwBindingError,cppInvokerFunc,cppTargetFunc,runDestructors,argTypes[0],argTypes[1]];if(isClassMethodFunc){invokerFnBody+="var thisWired = classParam.toWireType("+dtorStack+", this);\n"}for(var i=0;i<argCount-2;++i){invokerFnBody+="var arg"+i+"Wired = argType"+i+".toWireType("+dtorStack+", arg"+i+"); // "+argTypes[i+2].name+"\n";args1.push("argType"+i);args2.push(argTypes[i+2])}if(isClassMethodFunc){argsListWired="thisWired"+(argsListWired.length>0?", ":"")+argsListWired}invokerFnBody+=(returns?"var rv = ":"")+"invoker(fn"+(argsListWired.length>0?", ":"")+argsListWired+");\n";if(needsDestructorStack){invokerFnBody+="runDestructors(destructors);\n"}else{for(var i=isClassMethodFunc?1:2;i<argTypes.length;++i){var paramName=i===1?"thisWired":"arg"+(i-2)+"Wired";if(argTypes[i].destructorFunction!==null){invokerFnBody+=paramName+"_dtor("+paramName+"); // "+argTypes[i].name+"\n";args1.push(paramName+"_dtor");args2.push(argTypes[i].destructorFunction)}}}if(returns){invokerFnBody+="var ret = retType.fromWireType(rv);\n"+"return ret;\n"}else{}invokerFnBody+="}\n";args1.push(invokerFnBody);var invokerFunction=new_(Function,args1).apply(null,args2);return invokerFunction}function __embind_register_class_function(rawClassType,methodName,argCount,rawArgTypesAddr,invokerSignature,rawInvoker,context,isPureVirtual){var rawArgTypes=heap32VectorToArray(argCount,rawArgTypesAddr);methodName=readLatin1String(methodName);rawInvoker=embind__requireFunction(invokerSignature,rawInvoker);whenDependentTypesAreResolved([],[rawClassType],(function(classType){classType=classType[0];var humanName=classType.name+"."+methodName;if(isPureVirtual){classType.registeredClass.pureVirtualFunctions.push(methodName)}function unboundTypesHandler(){throwUnboundTypeError("Cannot call "+humanName+" due to unbound types",rawArgTypes)}var proto=classType.registeredClass.instancePrototype;var method=proto[methodName];if(undefined===method||undefined===method.overloadTable&&method.className!==classType.name&&method.argCount===argCount-2){unboundTypesHandler.argCount=argCount-2;unboundTypesHandler.className=classType.name;proto[methodName]=unboundTypesHandler}else{ensureOverloadTable(proto,methodName,humanName);proto[methodName].overloadTable[argCount-2]=unboundTypesHandler}whenDependentTypesAreResolved([],rawArgTypes,(function(argTypes){var memberFunction=craftInvokerFunction(humanName,argTypes,classType,rawInvoker,context);if(undefined===proto[methodName].overloadTable){memberFunction.argCount=argCount-2;proto[methodName]=memberFunction}else{proto[methodName].overloadTable[argCount-2]=memberFunction}return[]}));return[]}))}var emval_free_list=[];var emval_handle_array=[{},{value:undefined},{value:null},{value:true},{value:false}];function __emval_decref(handle){if(handle>4&&0===--emval_handle_array[handle].refcount){emval_handle_array[handle]=undefined;emval_free_list.push(handle)}}function count_emval_handles(){var count=0;for(var i=5;i<emval_handle_array.length;++i){if(emval_handle_array[i]!==undefined){++count}}return count}function get_first_emval(){for(var i=5;i<emval_handle_array.length;++i){if(emval_handle_array[i]!==undefined){return emval_handle_array[i]}}return null}function init_emval(){Module["count_emval_handles"]=count_emval_handles;Module["get_first_emval"]=get_first_emval}function __emval_register(value){switch(value){case undefined:{return 1};case null:{return 2};case true:{return 3};case false:{return 4};default:{var handle=emval_free_list.length?emval_free_list.pop():emval_handle_array.length;emval_handle_array[handle]={refcount:1,value:value};return handle}}}function __embind_register_emval(rawType,name){name=readLatin1String(name);registerType(rawType,{name:name,"fromWireType":(function(handle){var rv=emval_handle_array[handle].value;__emval_decref(handle);return rv}),"toWireType":(function(destructors,value){return __emval_register(value)}),"argPackAdvance":8,"readValueFromPointer":simpleReadValueFromPointer,destructorFunction:null})}function _embind_repr(v){if(v===null){return"null"}var t=typeof v;if(t==="object"||t==="array"||t==="function"){return v.toString()}else{return""+v}}function floatReadValueFromPointer(name,shift){switch(shift){case 2:return(function(pointer){return this["fromWireType"](HEAPF32[pointer>>2])});case 3:return(function(pointer){return this["fromWireType"](HEAPF64[pointer>>3])});default:throw new TypeError("Unknown float type: "+name)}}function __embind_register_float(rawType,name,size){var shift=getShiftFromSize(size);name=readLatin1String(name);registerType(rawType,{name:name,"fromWireType":(function(value){return value}),"toWireType":(function(destructors,value){if(typeof value!=="number"&&typeof value!=="boolean"){throw new TypeError('Cannot convert "'+_embind_repr(value)+'" to '+this.name)}return value}),"argPackAdvance":8,"readValueFromPointer":floatReadValueFromPointer(name,shift),destructorFunction:null})}function __embind_register_function(name,argCount,rawArgTypesAddr,signature,rawInvoker,fn){var argTypes=heap32VectorToArray(argCount,rawArgTypesAddr);name=readLatin1String(name);rawInvoker=embind__requireFunction(signature,rawInvoker);exposePublicSymbol(name,(function(){throwUnboundTypeError("Cannot call "+name+" due to unbound types",argTypes)}),argCount-1);whenDependentTypesAreResolved([],argTypes,(function(argTypes){var invokerArgsArray=[argTypes[0],null].concat(argTypes.slice(1));replacePublicSymbol(name,craftInvokerFunction(name,invokerArgsArray,null,rawInvoker,fn),argCount-1);return[]}))}function integerReadValueFromPointer(name,shift,signed){switch(shift){case 0:return signed?function readS8FromPointer(pointer){return HEAP8[pointer]}:function readU8FromPointer(pointer){return HEAPU8[pointer]};case 1:return signed?function readS16FromPointer(pointer){return HEAP16[pointer>>1]}:function readU16FromPointer(pointer){return HEAPU16[pointer>>1]};case 2:return signed?function readS32FromPointer(pointer){return HEAP32[pointer>>2]}:function readU32FromPointer(pointer){return HEAPU32[pointer>>2]};default:throw new TypeError("Unknown integer type: "+name)}}function __embind_register_integer(primitiveType,name,size,minRange,maxRange){name=readLatin1String(name);if(maxRange===-1){maxRange=4294967295}var shift=getShiftFromSize(size);var fromWireType=(function(value){return value});if(minRange===0){var bitshift=32-8*size;fromWireType=(function(value){return value<<bitshift>>>bitshift})}var isUnsignedType=name.indexOf("unsigned")!=-1;registerType(primitiveType,{name:name,"fromWireType":fromWireType,"toWireType":(function(destructors,value){if(typeof value!=="number"&&typeof value!=="boolean"){throw new TypeError('Cannot convert "'+_embind_repr(value)+'" to '+this.name)}if(value<minRange||value>maxRange){throw new TypeError('Passing a number "'+_embind_repr(value)+'" from JS side to C/C++ side to an argument of type "'+name+'", which is outside the valid range ['+minRange+", "+maxRange+"]!")}return isUnsignedType?value>>>0:value|0}),"argPackAdvance":8,"readValueFromPointer":integerReadValueFromPointer(name,shift,minRange!==0),destructorFunction:null})}function __embind_register_memory_view(rawType,dataTypeIndex,name){var typeMapping=[Int8Array,Uint8Array,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array];var TA=typeMapping[dataTypeIndex];function decodeMemoryView(handle){handle=handle>>2;var heap=HEAPU32;var size=heap[handle];var data=heap[handle+1];return new TA(heap["buffer"],data,size)}name=readLatin1String(name);registerType(rawType,{name:name,"fromWireType":decodeMemoryView,"argPackAdvance":8,"readValueFromPointer":decodeMemoryView},{ignoreDuplicateRegistrations:true})}function __embind_register_std_string(rawType,name){name=readLatin1String(name);registerType(rawType,{name:name,"fromWireType":(function(value){var length=HEAPU32[value>>2];var a=new Array(length);for(var i=0;i<length;++i){a[i]=String.fromCharCode(HEAPU8[value+4+i])}_free(value);return a.join("")}),"toWireType":(function(destructors,value){if(value instanceof ArrayBuffer){value=new Uint8Array(value)}function getTAElement(ta,index){return ta[index]}function getStringElement(string,index){return string.charCodeAt(index)}var getElement;if(value instanceof Uint8Array){getElement=getTAElement}else if(value instanceof Uint8ClampedArray){getElement=getTAElement}else if(value instanceof Int8Array){getElement=getTAElement}else if(typeof value==="string"){getElement=getStringElement}else{throwBindingError("Cannot pass non-string to std::string")}var length=value.length;var ptr=_malloc(4+length);HEAPU32[ptr>>2]=length;for(var i=0;i<length;++i){var charCode=getElement(value,i);if(charCode>255){_free(ptr);throwBindingError("String has UTF-16 code units that do not fit in 8 bits")}HEAPU8[ptr+4+i]=charCode}if(destructors!==null){destructors.push(_free,ptr)}return ptr}),"argPackAdvance":8,"readValueFromPointer":simpleReadValueFromPointer,destructorFunction:(function(ptr){_free(ptr)})})}function __embind_register_std_wstring(rawType,charSize,name){name=readLatin1String(name);var getHeap,shift;if(charSize===2){getHeap=(function(){return HEAPU16});shift=1}else if(charSize===4){getHeap=(function(){return HEAPU32});shift=2}registerType(rawType,{name:name,"fromWireType":(function(value){var HEAP=getHeap();var length=HEAPU32[value>>2];var a=new Array(length);var start=value+4>>shift;for(var i=0;i<length;++i){a[i]=String.fromCharCode(HEAP[start+i])}_free(value);return a.join("")}),"toWireType":(function(destructors,value){var HEAP=getHeap();var length=value.length;var ptr=_malloc(4+length*charSize);HEAPU32[ptr>>2]=length;var start=ptr+4>>shift;for(var i=0;i<length;++i){HEAP[start+i]=value.charCodeAt(i)}if(destructors!==null){destructors.push(_free,ptr)}return ptr}),"argPackAdvance":8,"readValueFromPointer":simpleReadValueFromPointer,destructorFunction:(function(ptr){_free(ptr)})})}function __embind_register_void(rawType,name){name=readLatin1String(name);registerType(rawType,{isVoid:true,name:name,"argPackAdvance":0,"fromWireType":(function(){return undefined}),"toWireType":(function(destructors,o){return undefined})})}function __emval_allocateDestructors(destructorsRef){var destructors=[];HEAP32[destructorsRef>>2]=__emval_register(destructors);return destructors}var emval_symbols={};function getStringOrSymbol(address){var symbol=emval_symbols[address];if(symbol===undefined){return readLatin1String(address)}else{return symbol}}var emval_methodCallers=[];function requireHandle(handle){if(!handle){throwBindingError("Cannot use deleted val. handle = "+handle)}return emval_handle_array[handle].value}function __emval_call_method(caller,handle,methodName,destructorsRef,args){caller=emval_methodCallers[caller];handle=requireHandle(handle);methodName=getStringOrSymbol(methodName);return caller(handle,methodName,__emval_allocateDestructors(destructorsRef),args)}function emval_get_global(){return(function(){return Function})()("return this")()}function __emval_get_global(name){if(name===0){return __emval_register(emval_get_global())}else{name=getStringOrSymbol(name);return __emval_register(emval_get_global()[name])}}function __emval_addMethodCaller(caller){var id=emval_methodCallers.length;emval_methodCallers.push(caller);return id}function requireRegisteredType(rawType,humanName){var impl=registeredTypes[rawType];if(undefined===impl){throwBindingError(humanName+" has unknown type "+getTypeName(rawType))}return impl}function __emval_lookupTypes(argCount,argTypes,argWireTypes){var a=new Array(argCount);for(var i=0;i<argCount;++i){a[i]=requireRegisteredType(HEAP32[(argTypes>>2)+i],"parameter "+i)}return a}function __emval_get_method_caller(argCount,argTypes){var types=__emval_lookupTypes(argCount,argTypes);var retType=types[0];var signatureName=retType.name+"_$"+types.slice(1).map((function(t){return t.name})).join("_")+"$";var params=["retType"];var args=[retType];var argsList="";for(var i=0;i<argCount-1;++i){argsList+=(i!==0?", ":"")+"arg"+i;params.push("argType"+i);args.push(types[1+i])}var functionName=makeLegalFunctionName("methodCaller_"+signatureName);var functionBody="return function "+functionName+"(handle, name, destructors, args) {\n";var offset=0;for(var i=0;i<argCount-1;++i){functionBody+=" var arg"+i+" = argType"+i+".readValueFromPointer(args"+(offset?"+"+offset:"")+");\n";offset+=types[i+1]["argPackAdvance"]}functionBody+=" var rv = handle[name]("+argsList+");\n";for(var i=0;i<argCount-1;++i){if(types[i+1]["deleteObject"]){functionBody+=" argType"+i+".deleteObject(arg"+i+");\n"}}if(!retType.isVoid){functionBody+=" return retType.toWireType(destructors, rv);\n"}functionBody+="};\n";params.push(functionBody);var invokerFunction=new_(Function,params).apply(null,args);return __emval_addMethodCaller(invokerFunction)}function __emval_incref(handle){if(handle>4){emval_handle_array[handle].refcount+=1}}function __emval_run_destructors(handle){var destructors=emval_handle_array[handle].value;runDestructors(destructors);__emval_decref(handle)}function __emval_take_value(type,argv){type=requireRegisteredType(type,"_emval_take_value");var v=type["readValueFromPointer"](argv);return __emval_register(v)}function _abort(){Module["abort"]()}function _emscripten_get_now(){abort()}function _emscripten_get_now_is_monotonic(){return ENVIRONMENT_IS_NODE||typeof dateNow!=="undefined"||(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER)&&self["performance"]&&self["performance"]["now"]}function _clock_gettime(clk_id,tp){var now;if(clk_id===0){now=Date.now()}else if(clk_id===1&&_emscripten_get_now_is_monotonic()){now=_emscripten_get_now()}else{___setErrNo(ERRNO_CODES.EINVAL);return-1}HEAP32[tp>>2]=now/1e3|0;HEAP32[tp+4>>2]=now%1e3*1e3*1e3|0;return 0}var DLFCN={error:null,errorMsg:null,loadedLibs:{},loadedLibNames:{}};function _dlclose(handle){if(!DLFCN.loadedLibs[handle]){DLFCN.errorMsg="Tried to dlclose() unopened handle: "+handle;return 1}else{var lib_record=DLFCN.loadedLibs[handle];if(--lib_record.refcount==0){if(lib_record.module.cleanups){lib_record.module.cleanups.forEach((function(cleanup){cleanup()}))}delete DLFCN.loadedLibNames[lib_record.name];delete DLFCN.loadedLibs[handle]}return 0}}function _dlerror(){if(DLFCN.errorMsg===null){return 0}else{if(DLFCN.error)_free(DLFCN.error);var msgArr=intArrayFromString(DLFCN.errorMsg);DLFCN.error=allocate(msgArr,"i8",ALLOC_NORMAL);DLFCN.errorMsg=null;return DLFCN.error}}function _dlopen(filename,flag){abort("To use dlopen, you need to use Emscripten's linking support, see https://github.com/kripken/emscripten/wiki/Linking");var searchpaths=[];if(filename===0){filename="__self__"}else{var strfilename=Pointer_stringify(filename);var isValidFile=(function(filename){var target=FS.findObject(filename);return target&&!target.isFolder&&!target.isDevice});if(isValidFile(strfilename)){filename=strfilename}else{if(ENV["LD_LIBRARY_PATH"]){searchpaths=ENV["LD_LIBRARY_PATH"].split(":")}for(var ident in searchpaths){var searchfile=PATH.join2(searchpaths[ident],strfilename);if(isValidFile(searchfile)){filename=searchfile;break}}}}if(DLFCN.loadedLibNames[filename]){var handle=DLFCN.loadedLibNames[filename];DLFCN.loadedLibs[handle].refcount++;return handle}var lib_module;if(filename==="__self__"){var handle=-1;lib_module=Module}else{if(Module["preloadedWasm"]!==undefined&&Module["preloadedWasm"][filename]!==undefined){lib_module=Module["preloadedWasm"][filename]}else{var target=FS.findObject(filename);if(!target||target.isFolder||target.isDevice){DLFCN.errorMsg="Could not find dynamic lib: "+filename;return 0}FS.forceLoadFile(target);try{var lib_data=FS.readFile(filename,{encoding:"utf8"});lib_module=eval(lib_data)(alignFunctionTables(),Module)}catch(e){DLFCN.errorMsg="Could not evaluate dynamic lib: "+filename+"\n"+e;return 0}}var handle=1;for(var key in DLFCN.loadedLibs){if(DLFCN.loadedLibs.hasOwnProperty(key))handle++}if(flag&256){for(var ident in lib_module){if(lib_module.hasOwnProperty(ident)){if(ident[0]=="_"){Module[ident]=lib_module[ident]}}}}}DLFCN.loadedLibs[handle]={refcount:1,name:filename,module:lib_module};DLFCN.loadedLibNames[filename]=handle;return handle}function _dlsym(handle,symbol){symbol=Pointer_stringify(symbol);if(!DLFCN.loadedLibs[handle]){DLFCN.errorMsg="Tried to dlsym() from an unopened handle: "+handle;return 0}else{var lib=DLFCN.loadedLibs[handle];symbol="_"+symbol;if(!lib.module.hasOwnProperty(symbol)){DLFCN.errorMsg='Tried to lookup unknown symbol "'+symbol+'" in dynamic lib: '+lib.name;return 0}else{var result=lib.module[symbol];if(typeof result==="function"){return addFunction(result)}return result}}}function _emscripten_set_main_loop_timing(mode,value){Browser.mainLoop.timingMode=mode;Browser.mainLoop.timingValue=value;if(!Browser.mainLoop.func){return 1}if(mode==0){Browser.mainLoop.scheduler=function Browser_mainLoop_scheduler_setTimeout(){var timeUntilNextTick=Math.max(0,Browser.mainLoop.tickStartTime+value-_emscripten_get_now())|0;setTimeout(Browser.mainLoop.runner,timeUntilNextTick)};Browser.mainLoop.method="timeout"}else if(mode==1){Browser.mainLoop.scheduler=function Browser_mainLoop_scheduler_rAF(){Browser.requestAnimationFrame(Browser.mainLoop.runner)};Browser.mainLoop.method="rAF"}else if(mode==2){if(typeof setImmediate==="undefined"){var setImmediates=[];var emscriptenMainLoopMessageId="setimmediate";function Browser_setImmediate_messageHandler(event){if(event.data===emscriptenMainLoopMessageId||event.data.target===emscriptenMainLoopMessageId){event.stopPropagation();setImmediates.shift()()}}addEventListener("message",Browser_setImmediate_messageHandler,true);setImmediate=function Browser_emulated_setImmediate(func){setImmediates.push(func);if(ENVIRONMENT_IS_WORKER){if(Module["setImmediates"]===undefined)Module["setImmediates"]=[];Module["setImmediates"].push(func);postMessage({target:emscriptenMainLoopMessageId})}else postMessage(emscriptenMainLoopMessageId,"*")}}Browser.mainLoop.scheduler=function Browser_mainLoop_scheduler_setImmediate(){setImmediate(Browser.mainLoop.runner)};Browser.mainLoop.method="immediate"}return 0}function _emscripten_set_main_loop(func,fps,simulateInfiniteLoop,arg,noSetTiming){Module["noExitRuntime"]=true;assert(!Browser.mainLoop.func,"emscripten_set_main_loop: there can only be one main loop function at once: call emscripten_cancel_main_loop to cancel the previous one before setting a new one with different parameters.");Browser.mainLoop.func=func;Browser.mainLoop.arg=arg;var browserIterationFunc;if(typeof arg!=="undefined"){browserIterationFunc=(function(){Module["dynCall_vi"](func,arg)})}else{browserIterationFunc=(function(){Module["dynCall_v"](func)})}var thisMainLoopId=Browser.mainLoop.currentlyRunningMainloop;Browser.mainLoop.runner=function Browser_mainLoop_runner(){if(ABORT)return;if(Browser.mainLoop.queue.length>0){var start=Date.now();var blocker=Browser.mainLoop.queue.shift();blocker.func(blocker.arg);if(Browser.mainLoop.remainingBlockers){var remaining=Browser.mainLoop.remainingBlockers;var next=remaining%1==0?remaining-1:Math.floor(remaining);if(blocker.counted){Browser.mainLoop.remainingBlockers=next}else{next=next+.5;Browser.mainLoop.remainingBlockers=(8*remaining+next)/9}}console.log('main loop blocker "'+blocker.name+'" took '+(Date.now()-start)+" ms");Browser.mainLoop.updateStatus();if(thisMainLoopId<Browser.mainLoop.currentlyRunningMainloop)return;setTimeout(Browser.mainLoop.runner,0);return}if(thisMainLoopId<Browser.mainLoop.currentlyRunningMainloop)return;Browser.mainLoop.currentFrameNumber=Browser.mainLoop.currentFrameNumber+1|0;if(Browser.mainLoop.timingMode==1&&Browser.mainLoop.timingValue>1&&Browser.mainLoop.currentFrameNumber%Browser.mainLoop.timingValue!=0){Browser.mainLoop.scheduler();return}else if(Browser.mainLoop.timingMode==0){Browser.mainLoop.tickStartTime=_emscripten_get_now()}if(Browser.mainLoop.method==="timeout"&&Module.ctx){err("Looks like you are rendering without using requestAnimationFrame for the main loop. You should use 0 for the frame rate in emscripten_set_main_loop in order to use requestAnimationFrame, as that can greatly improve your frame rates!");Browser.mainLoop.method=""}Browser.mainLoop.runIter(browserIterationFunc);if(thisMainLoopId<Browser.mainLoop.currentlyRunningMainloop)return;if(typeof SDL==="object"&&SDL.audio&&SDL.audio.queueNewAudioData)SDL.audio.queueNewAudioData();Browser.mainLoop.scheduler()};if(!noSetTiming){if(fps&&fps>0)_emscripten_set_main_loop_timing(0,1e3/fps);else _emscripten_set_main_loop_timing(1,1);Browser.mainLoop.scheduler()}if(simulateInfiniteLoop){throw"SimulateInfiniteLoop"}}var Browser={mainLoop:{scheduler:null,method:"",currentlyRunningMainloop:0,func:null,arg:0,timingMode:0,timingValue:0,currentFrameNumber:0,queue:[],pause:(function(){Browser.mainLoop.scheduler=null;Browser.mainLoop.currentlyRunningMainloop++}),resume:(function(){Browser.mainLoop.currentlyRunningMainloop++;var timingMode=Browser.mainLoop.timingMode;var timingValue=Browser.mainLoop.timingValue;var func=Browser.mainLoop.func;Browser.mainLoop.func=null;_emscripten_set_main_loop(func,0,false,Browser.mainLoop.arg,true);_emscripten_set_main_loop_timing(timingMode,timingValue);Browser.mainLoop.scheduler()}),updateStatus:(function(){if(Module["setStatus"]){var message=Module["statusMessage"]||"Please wait...";var remaining=Browser.mainLoop.remainingBlockers;var expected=Browser.mainLoop.expectedBlockers;if(remaining){if(remaining<expected){Module["setStatus"](message+" ("+(expected-remaining)+"/"+expected+")")}else{Module["setStatus"](message)}}else{Module["setStatus"]("")}}}),runIter:(function(func){if(ABORT)return;if(Module["preMainLoop"]){var preRet=Module["preMainLoop"]();if(preRet===false){return}}try{func()}catch(e){if(e instanceof ExitStatus){return}else{if(e&&typeof e==="object"&&e.stack)err("exception thrown: "+[e,e.stack]);throw e}}if(Module["postMainLoop"])Module["postMainLoop"]()})},isFullscreen:false,pointerLock:false,moduleContextCreatedCallbacks:[],workers:[],init:(function(){if(!Module["preloadPlugins"])Module["preloadPlugins"]=[];if(Browser.initted)return;Browser.initted=true;try{new Blob;Browser.hasBlobConstructor=true}catch(e){Browser.hasBlobConstructor=false;console.log("warning: no blob constructor, cannot create blobs with mimetypes")}Browser.BlobBuilder=typeof MozBlobBuilder!="undefined"?MozBlobBuilder:typeof WebKitBlobBuilder!="undefined"?WebKitBlobBuilder:!Browser.hasBlobConstructor?console.log("warning: no BlobBuilder"):null;Browser.URLObject=typeof window!="undefined"?window.URL?window.URL:window.webkitURL:undefined;if(!Module.noImageDecoding&&typeof Browser.URLObject==="undefined"){console.log("warning: Browser does not support creating object URLs. Built-in browser image decoding will not be available.");Module.noImageDecoding=true}var imagePlugin={};imagePlugin["canHandle"]=function imagePlugin_canHandle(name){return!Module.noImageDecoding&&/\.(jpg|jpeg|png|bmp)$/i.test(name)};imagePlugin["handle"]=function imagePlugin_handle(byteArray,name,onload,onerror){var b=null;if(Browser.hasBlobConstructor){try{b=new Blob([byteArray],{type:Browser.getMimetype(name)});if(b.size!==byteArray.length){b=new Blob([(new Uint8Array(byteArray)).buffer],{type:Browser.getMimetype(name)})}}catch(e){warnOnce("Blob constructor present but fails: "+e+"; falling back to blob builder")}}if(!b){var bb=new Browser.BlobBuilder;bb.append((new Uint8Array(byteArray)).buffer);b=bb.getBlob()}var url=Browser.URLObject.createObjectURL(b);var img=new Image;img.onload=function img_onload(){assert(img.complete,"Image "+name+" could not be decoded");var canvas=document.createElement("canvas");canvas.width=img.width;canvas.height=img.height;var ctx=canvas.getContext("2d");ctx.drawImage(img,0,0);Module["preloadedImages"][name]=canvas;Browser.URLObject.revokeObjectURL(url);if(onload)onload(byteArray)};img.onerror=function img_onerror(event){console.log("Image "+url+" could not be decoded");if(onerror)onerror()};img.src=url};Module["preloadPlugins"].push(imagePlugin);var audioPlugin={};audioPlugin["canHandle"]=function audioPlugin_canHandle(name){return!Module.noAudioDecoding&&name.substr(-4)in{".ogg":1,".wav":1,".mp3":1}};audioPlugin["handle"]=function audioPlugin_handle(byteArray,name,onload,onerror){var done=false;function finish(audio){if(done)return;done=true;Module["preloadedAudios"][name]=audio;if(onload)onload(byteArray)}function fail(){if(done)return;done=true;Module["preloadedAudios"][name]=new Audio;if(onerror)onerror()}if(Browser.hasBlobConstructor){try{var b=new Blob([byteArray],{type:Browser.getMimetype(name)})}catch(e){return fail()}var url=Browser.URLObject.createObjectURL(b);var audio=new Audio;audio.addEventListener("canplaythrough",(function(){finish(audio)}),false);audio.onerror=function audio_onerror(event){if(done)return;console.log("warning: browser could not fully decode audio "+name+", trying slower base64 approach");function encode64(data){var BASE="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";var PAD="=";var ret="";var leftchar=0;var leftbits=0;for(var i=0;i<data.length;i++){leftchar=leftchar<<8|data[i];leftbits+=8;while(leftbits>=6){var curr=leftchar>>leftbits-6&63;leftbits-=6;ret+=BASE[curr]}}if(leftbits==2){ret+=BASE[(leftchar&3)<<4];ret+=PAD+PAD}else if(leftbits==4){ret+=BASE[(leftchar&15)<<2];ret+=PAD}return ret}audio.src="data:audio/x-"+name.substr(-3)+";base64,"+encode64(byteArray);finish(audio)};audio.src=url;Browser.safeSetTimeout((function(){finish(audio)}),1e4)}else{return fail()}};Module["preloadPlugins"].push(audioPlugin);function pointerLockChange(){Browser.pointerLock=document["pointerLockElement"]===Module["canvas"]||document["mozPointerLockElement"]===Module["canvas"]||document["webkitPointerLockElement"]===Module["canvas"]||document["msPointerLockElement"]===Module["canvas"]}var canvas=Module["canvas"];if(canvas){canvas.requestPointerLock=canvas["requestPointerLock"]||canvas["mozRequestPointerLock"]||canvas["webkitRequestPointerLock"]||canvas["msRequestPointerLock"]||(function(){});canvas.exitPointerLock=document["exitPointerLock"]||document["mozExitPointerLock"]||document["webkitExitPointerLock"]||document["msExitPointerLock"]||(function(){});canvas.exitPointerLock=canvas.exitPointerLock.bind(document);document.addEventListener("pointerlockchange",pointerLockChange,false);document.addEventListener("mozpointerlockchange",pointerLockChange,false);document.addEventListener("webkitpointerlockchange",pointerLockChange,false);document.addEventListener("mspointerlockchange",pointerLockChange,false);if(Module["elementPointerLock"]){canvas.addEventListener("click",(function(ev){if(!Browser.pointerLock&&Module["canvas"].requestPointerLock){Module["canvas"].requestPointerLock();ev.preventDefault()}}),false)}}}),createContext:(function(canvas,useWebGL,setInModule,webGLContextAttributes){if(useWebGL&&Module.ctx&&canvas==Module.canvas)return Module.ctx;var ctx;var contextHandle;if(useWebGL){var contextAttributes={antialias:false,alpha:false};if(webGLContextAttributes){for(var attribute in webGLContextAttributes){contextAttributes[attribute]=webGLContextAttributes[attribute]}}contextHandle=GL.createContext(canvas,contextAttributes);if(contextHandle){ctx=GL.getContext(contextHandle).GLctx}}else{ctx=canvas.getContext("2d")}if(!ctx)return null;if(setInModule){if(!useWebGL)assert(typeof GLctx==="undefined","cannot set in module if GLctx is used, but we are a non-GL context that would replace it");Module.ctx=ctx;if(useWebGL)GL.makeContextCurrent(contextHandle);Module.useWebGL=useWebGL;Browser.moduleContextCreatedCallbacks.forEach((function(callback){callback()}));Browser.init()}return ctx}),destroyContext:(function(canvas,useWebGL,setInModule){}),fullscreenHandlersInstalled:false,lockPointer:undefined,resizeCanvas:undefined,requestFullscreen:(function(lockPointer,resizeCanvas,vrDevice){Browser.lockPointer=lockPointer;Browser.resizeCanvas=resizeCanvas;Browser.vrDevice=vrDevice;if(typeof Browser.lockPointer==="undefined")Browser.lockPointer=true;if(typeof Browser.resizeCanvas==="undefined")Browser.resizeCanvas=false;if(typeof Browser.vrDevice==="undefined")Browser.vrDevice=null;var canvas=Module["canvas"];function fullscreenChange(){Browser.isFullscreen=false;var canvasContainer=canvas.parentNode;if((document["fullscreenElement"]||document["mozFullScreenElement"]||document["msFullscreenElement"]||document["webkitFullscreenElement"]||document["webkitCurrentFullScreenElement"])===canvasContainer){canvas.exitFullscreen=document["exitFullscreen"]||document["cancelFullScreen"]||document["mozCancelFullScreen"]||document["msExitFullscreen"]||document["webkitCancelFullScreen"]||(function(){});canvas.exitFullscreen=canvas.exitFullscreen.bind(document);if(Browser.lockPointer)canvas.requestPointerLock();Browser.isFullscreen=true;if(Browser.resizeCanvas){Browser.setFullscreenCanvasSize()}else{Browser.updateCanvasDimensions(canvas)}}else{canvasContainer.parentNode.insertBefore(canvas,canvasContainer);canvasContainer.parentNode.removeChild(canvasContainer);if(Browser.resizeCanvas){Browser.setWindowedCanvasSize()}else{Browser.updateCanvasDimensions(canvas)}}if(Module["onFullScreen"])Module["onFullScreen"](Browser.isFullscreen);if(Module["onFullscreen"])Module["onFullscreen"](Browser.isFullscreen)}if(!Browser.fullscreenHandlersInstalled){Browser.fullscreenHandlersInstalled=true;document.addEventListener("fullscreenchange",fullscreenChange,false);document.addEventListener("mozfullscreenchange",fullscreenChange,false);document.addEventListener("webkitfullscreenchange",fullscreenChange,false);document.addEventListener("MSFullscreenChange",fullscreenChange,false)}var canvasContainer=document.createElement("div");canvas.parentNode.insertBefore(canvasContainer,canvas);canvasContainer.appendChild(canvas);canvasContainer.requestFullscreen=canvasContainer["requestFullscreen"]||canvasContainer["mozRequestFullScreen"]||canvasContainer["msRequestFullscreen"]||(canvasContainer["webkitRequestFullscreen"]?(function(){canvasContainer["webkitRequestFullscreen"](Element["ALLOW_KEYBOARD_INPUT"])}):null)||(canvasContainer["webkitRequestFullScreen"]?(function(){canvasContainer["webkitRequestFullScreen"](Element["ALLOW_KEYBOARD_INPUT"])}):null);if(vrDevice){canvasContainer.requestFullscreen({vrDisplay:vrDevice})}else{canvasContainer.requestFullscreen()}}),requestFullScreen:(function(lockPointer,resizeCanvas,vrDevice){err("Browser.requestFullScreen() is deprecated. Please call Browser.requestFullscreen instead.");Browser.requestFullScreen=(function(lockPointer,resizeCanvas,vrDevice){return Browser.requestFullscreen(lockPointer,resizeCanvas,vrDevice)});return Browser.requestFullscreen(lockPointer,resizeCanvas,vrDevice)}),nextRAF:0,fakeRequestAnimationFrame:(function(func){var now=Date.now();if(Browser.nextRAF===0){Browser.nextRAF=now+1e3/60}else{while(now+2>=Browser.nextRAF){Browser.nextRAF+=1e3/60}}var delay=Math.max(Browser.nextRAF-now,0);setTimeout(func,delay)}),requestAnimationFrame:function requestAnimationFrame(func){if(typeof window==="undefined"){Browser.fakeRequestAnimationFrame(func)}else{if(!window.requestAnimationFrame){window.requestAnimationFrame=window["requestAnimationFrame"]||window["mozRequestAnimationFrame"]||window["webkitRequestAnimationFrame"]||window["msRequestAnimationFrame"]||window["oRequestAnimationFrame"]||Browser.fakeRequestAnimationFrame}window.requestAnimationFrame(func)}},safeCallback:(function(func){return(function(){if(!ABORT)return func.apply(null,arguments)})}),allowAsyncCallbacks:true,queuedAsyncCallbacks:[],pauseAsyncCallbacks:(function(){Browser.allowAsyncCallbacks=false}),resumeAsyncCallbacks:(function(){Browser.allowAsyncCallbacks=true;if(Browser.queuedAsyncCallbacks.length>0){var callbacks=Browser.queuedAsyncCallbacks;Browser.queuedAsyncCallbacks=[];callbacks.forEach((function(func){func()}))}}),safeRequestAnimationFrame:(function(func){return Browser.requestAnimationFrame((function(){if(ABORT)return;if(Browser.allowAsyncCallbacks){func()}else{Browser.queuedAsyncCallbacks.push(func)}}))}),safeSetTimeout:(function(func,timeout){Module["noExitRuntime"]=true;return setTimeout((function(){if(ABORT)return;if(Browser.allowAsyncCallbacks){func()}else{Browser.queuedAsyncCallbacks.push(func)}}),timeout)}),safeSetInterval:(function(func,timeout){Module["noExitRuntime"]=true;return setInterval((function(){if(ABORT)return;if(Browser.allowAsyncCallbacks){func()}}),timeout)}),getMimetype:(function(name){return{"jpg":"image/jpeg","jpeg":"image/jpeg","png":"image/png","bmp":"image/bmp","ogg":"audio/ogg","wav":"audio/wav","mp3":"audio/mpeg"}[name.substr(name.lastIndexOf(".")+1)]}),getUserMedia:(function(func){if(!window.getUserMedia){window.getUserMedia=navigator["getUserMedia"]||navigator["mozGetUserMedia"]}window.getUserMedia(func)}),getMovementX:(function(event){return event["movementX"]||event["mozMovementX"]||event["webkitMovementX"]||0}),getMovementY:(function(event){return event["movementY"]||event["mozMovementY"]||event["webkitMovementY"]||0}),getMouseWheelDelta:(function(event){var delta=0;switch(event.type){case"DOMMouseScroll":delta=event.detail;break;case"mousewheel":delta=event.wheelDelta;break;case"wheel":delta=event["deltaY"];break;default:throw"unrecognized mouse wheel event: "+event.type}return delta}),mouseX:0,mouseY:0,mouseMovementX:0,mouseMovementY:0,touches:{},lastTouches:{},calculateMouseEvent:(function(event){if(Browser.pointerLock){if(event.type!="mousemove"&&"mozMovementX"in event){Browser.mouseMovementX=Browser.mouseMovementY=0}else{Browser.mouseMovementX=Browser.getMovementX(event);Browser.mouseMovementY=Browser.getMovementY(event)}if(typeof SDL!="undefined"){Browser.mouseX=SDL.mouseX+Browser.mouseMovementX;Browser.mouseY=SDL.mouseY+Browser.mouseMovementY}else{Browser.mouseX+=Browser.mouseMovementX;Browser.mouseY+=Browser.mouseMovementY}}else{var rect=Module["canvas"].getBoundingClientRect();var cw=Module["canvas"].width;var ch=Module["canvas"].height;var scrollX=typeof window.scrollX!=="undefined"?window.scrollX:window.pageXOffset;var scrollY=typeof window.scrollY!=="undefined"?window.scrollY:window.pageYOffset;if(event.type==="touchstart"||event.type==="touchend"||event.type==="touchmove"){var touch=event.touch;if(touch===undefined){return}var adjustedX=touch.pageX-(scrollX+rect.left);var adjustedY=touch.pageY-(scrollY+rect.top);adjustedX=adjustedX*(cw/rect.width);adjustedY=adjustedY*(ch/rect.height);var coords={x:adjustedX,y:adjustedY};if(event.type==="touchstart"){Browser.lastTouches[touch.identifier]=coords;Browser.touches[touch.identifier]=coords}else if(event.type==="touchend"||event.type==="touchmove"){var last=Browser.touches[touch.identifier];if(!last)last=coords;Browser.lastTouches[touch.identifier]=last;Browser.touches[touch.identifier]=coords}return}var x=event.pageX-(scrollX+rect.left);var y=event.pageY-(scrollY+rect.top);x=x*(cw/rect.width);y=y*(ch/rect.height);Browser.mouseMovementX=x-Browser.mouseX;Browser.mouseMovementY=y-Browser.mouseY;Browser.mouseX=x;Browser.mouseY=y}}),asyncLoad:(function(url,onload,onerror,noRunDep){var dep=!noRunDep?getUniqueRunDependency("al "+url):"";Module["readAsync"](url,(function(arrayBuffer){assert(arrayBuffer,'Loading data file "'+url+'" failed (no arrayBuffer).');onload(new Uint8Array(arrayBuffer));if(dep)removeRunDependency(dep)}),(function(event){if(onerror){onerror()}else{throw'Loading data file "'+url+'" failed.'}}));if(dep)addRunDependency(dep)}),resizeListeners:[],updateResizeListeners:(function(){var canvas=Module["canvas"];Browser.resizeListeners.forEach((function(listener){listener(canvas.width,canvas.height)}))}),setCanvasSize:(function(width,height,noUpdates){var canvas=Module["canvas"];Browser.updateCanvasDimensions(canvas,width,height);if(!noUpdates)Browser.updateResizeListeners()}),windowedWidth:0,windowedHeight:0,setFullscreenCanvasSize:(function(){if(typeof SDL!="undefined"){var flags=HEAPU32[SDL.screen>>2];flags=flags|8388608;HEAP32[SDL.screen>>2]=flags}Browser.updateCanvasDimensions(Module["canvas"]);Browser.updateResizeListeners()}),setWindowedCanvasSize:(function(){if(typeof SDL!="undefined"){var flags=HEAPU32[SDL.screen>>2];flags=flags&~8388608;HEAP32[SDL.screen>>2]=flags}Browser.updateCanvasDimensions(Module["canvas"]);Browser.updateResizeListeners()}),updateCanvasDimensions:(function(canvas,wNative,hNative){if(wNative&&hNative){canvas.widthNative=wNative;canvas.heightNative=hNative}else{wNative=canvas.widthNative;hNative=canvas.heightNative}var w=wNative;var h=hNative;if(Module["forcedAspectRatio"]&&Module["forcedAspectRatio"]>0){if(w/h<Module["forcedAspectRatio"]){w=Math.round(h*Module["forcedAspectRatio"])}else{h=Math.round(w/Module["forcedAspectRatio"])}}if((document["fullscreenElement"]||document["mozFullScreenElement"]||document["msFullscreenElement"]||document["webkitFullscreenElement"]||document["webkitCurrentFullScreenElement"])===canvas.parentNode&&typeof screen!="undefined"){var factor=Math.min(screen.width/w,screen.height/h);w=Math.round(w*factor);h=Math.round(h*factor)}if(Browser.resizeCanvas){if(canvas.width!=w)canvas.width=w;if(canvas.height!=h)canvas.height=h;if(typeof canvas.style!="undefined"){canvas.style.removeProperty("width");canvas.style.removeProperty("height")}}else{if(canvas.width!=wNative)canvas.width=wNative;if(canvas.height!=hNative)canvas.height=hNative;if(typeof canvas.style!="undefined"){if(w!=wNative||h!=hNative){canvas.style.setProperty("width",w+"px","important");canvas.style.setProperty("height",h+"px","important")}else{canvas.style.removeProperty("width");canvas.style.removeProperty("height")}}}}),wgetRequests:{},nextWgetRequestHandle:0,getNextWgetRequestHandle:(function(){var handle=Browser.nextWgetRequestHandle;Browser.nextWgetRequestHandle++;return handle})};var EGL={errorCode:12288,defaultDisplayInitialized:false,currentContext:0,currentReadSurface:0,currentDrawSurface:0,stringCache:{},setErrorCode:(function(code){EGL.errorCode=code}),chooseConfig:(function(display,attribList,config,config_size,numConfigs){if(display!=62e3){EGL.setErrorCode(12296);return 0}if((!config||!config_size)&&!numConfigs){EGL.setErrorCode(12300);return 0}if(numConfigs){HEAP32[numConfigs>>2]=1}if(config&&config_size>0){HEAP32[config>>2]=62002}EGL.setErrorCode(12288);return 1})};function _eglBindAPI(api){if(api==12448){EGL.setErrorCode(12288);return 1}else{EGL.setErrorCode(12300);return 0}}function _eglChooseConfig(display,attrib_list,configs,config_size,numConfigs){return EGL.chooseConfig(display,attrib_list,configs,config_size,numConfigs)}var GLUT={initTime:null,idleFunc:null,displayFunc:null,keyboardFunc:null,keyboardUpFunc:null,specialFunc:null,specialUpFunc:null,reshapeFunc:null,motionFunc:null,passiveMotionFunc:null,mouseFunc:null,buttons:0,modifiers:0,initWindowWidth:256,initWindowHeight:256,initDisplayMode:18,windowX:0,windowY:0,windowWidth:0,windowHeight:0,requestedAnimationFrame:false,saveModifiers:(function(event){GLUT.modifiers=0;if(event["shiftKey"])GLUT.modifiers+=1;if(event["ctrlKey"])GLUT.modifiers+=2;if(event["altKey"])GLUT.modifiers+=4}),onMousemove:(function(event){var lastX=Browser.mouseX;var lastY=Browser.mouseY;Browser.calculateMouseEvent(event);var newX=Browser.mouseX;var newY=Browser.mouseY;if(newX==lastX&&newY==lastY)return;if(GLUT.buttons==0&&event.target==Module["canvas"]&&GLUT.passiveMotionFunc){event.preventDefault();GLUT.saveModifiers(event);Module["dynCall_vii"](GLUT.passiveMotionFunc,lastX,lastY)}else if(GLUT.buttons!=0&&GLUT.motionFunc){event.preventDefault();GLUT.saveModifiers(event);Module["dynCall_vii"](GLUT.motionFunc,lastX,lastY)}}),getSpecialKey:(function(keycode){var key=null;switch(keycode){case 8:key=120;break;case 46:key=111;break;case 112:key=1;break;case 113:key=2;break;case 114:key=3;break;case 115:key=4;break;case 116:key=5;break;case 117:key=6;break;case 118:key=7;break;case 119:key=8;break;case 120:key=9;break;case 121:key=10;break;case 122:key=11;break;case 123:key=12;break;case 37:key=100;break;case 38:key=101;break;case 39:key=102;break;case 40:key=103;break;case 33:key=104;break;case 34:key=105;break;case 36:key=106;break;case 35:key=107;break;case 45:key=108;break;case 16:case 5:key=112;break;case 6:key=113;break;case 17:case 3:key=114;break;case 4:key=115;break;case 18:case 2:key=116;break;case 1:key=117;break}return key}),getASCIIKey:(function(event){if(event["ctrlKey"]||event["altKey"]||event["metaKey"])return null;var keycode=event["keyCode"];if(48<=keycode&&keycode<=57)return keycode;if(65<=keycode&&keycode<=90)return event["shiftKey"]?keycode:keycode+32;if(96<=keycode&&keycode<=105)return keycode-48;if(106<=keycode&&keycode<=111)return keycode-106+42;switch(keycode){case 9:case 13:case 27:case 32:case 61:return keycode}var s=event["shiftKey"];switch(keycode){case 186:return s?58:59;case 187:return s?43:61;case 188:return s?60:44;case 189:return s?95:45;case 190:return s?62:46;case 191:return s?63:47;case 219:return s?123:91;case 220:return s?124:47;case 221:return s?125:93;case 222:return s?34:39}return null}),onKeydown:(function(event){if(GLUT.specialFunc||GLUT.keyboardFunc){var key=GLUT.getSpecialKey(event["keyCode"]);if(key!==null){if(GLUT.specialFunc){event.preventDefault();GLUT.saveModifiers(event);Module["dynCall_viii"](GLUT.specialFunc,key,Browser.mouseX,Browser.mouseY)}}else{key=GLUT.getASCIIKey(event);if(key!==null&&GLUT.keyboardFunc){event.preventDefault();GLUT.saveModifiers(event);Module["dynCall_viii"](GLUT.keyboardFunc,key,Browser.mouseX,Browser.mouseY)}}}}),onKeyup:(function(event){if(GLUT.specialUpFunc||GLUT.keyboardUpFunc){var key=GLUT.getSpecialKey(event["keyCode"]);if(key!==null){if(GLUT.specialUpFunc){event.preventDefault();GLUT.saveModifiers(event);Module["dynCall_viii"](GLUT.specialUpFunc,key,Browser.mouseX,Browser.mouseY)}}else{key=GLUT.getASCIIKey(event);if(key!==null&&GLUT.keyboardUpFunc){event.preventDefault();GLUT.saveModifiers(event);Module["dynCall_viii"](GLUT.keyboardUpFunc,key,Browser.mouseX,Browser.mouseY)}}}}),touchHandler:(function(event){if(event.target!=Module["canvas"]){return}var touches=event.changedTouches,main=touches[0],type="";switch(event.type){case"touchstart":type="mousedown";break;case"touchmove":type="mousemove";break;case"touchend":type="mouseup";break;default:return}var simulatedEvent=document.createEvent("MouseEvent");simulatedEvent.initMouseEvent(type,true,true,window,1,main.screenX,main.screenY,main.clientX,main.clientY,false,false,false,false,0,null);main.target.dispatchEvent(simulatedEvent);event.preventDefault()}),onMouseButtonDown:(function(event){Browser.calculateMouseEvent(event);GLUT.buttons|=1<<event["button"];if(event.target==Module["canvas"]&&GLUT.mouseFunc){try{event.target.setCapture()}catch(e){}event.preventDefault();GLUT.saveModifiers(event);Module["dynCall_viiii"](GLUT.mouseFunc,event["button"],0,Browser.mouseX,Browser.mouseY)}}),onMouseButtonUp:(function(event){Browser.calculateMouseEvent(event);GLUT.buttons&=~(1<<event["button"]);if(GLUT.mouseFunc){event.preventDefault();GLUT.saveModifiers(event);Module["dynCall_viiii"](GLUT.mouseFunc,event["button"],1,Browser.mouseX,Browser.mouseY)}}),onMouseWheel:(function(event){Browser.calculateMouseEvent(event);var e=window.event||event;var delta=-Browser.getMouseWheelDelta(event);delta=delta==0?0:delta>0?Math.max(delta,1):Math.min(delta,-1);var button=3;if(delta<0){button=4}if(GLUT.mouseFunc){event.preventDefault();GLUT.saveModifiers(event);Module["dynCall_viiii"](GLUT.mouseFunc,button,0,Browser.mouseX,Browser.mouseY)}}),onFullscreenEventChange:(function(event){var width;var height;if(document["fullscreen"]||document["fullScreen"]||document["mozFullScreen"]||document["webkitIsFullScreen"]){width=screen["width"];height=screen["height"]}else{width=GLUT.windowWidth;height=GLUT.windowHeight;document.removeEventListener("fullscreenchange",GLUT.onFullscreenEventChange,true);document.removeEventListener("mozfullscreenchange",GLUT.onFullscreenEventChange,true);document.removeEventListener("webkitfullscreenchange",GLUT.onFullscreenEventChange,true)}Browser.setCanvasSize(width,height,true);if(GLUT.reshapeFunc){Module["dynCall_vii"](GLUT.reshapeFunc,width,height)}_glutPostRedisplay()}),requestFullscreen:(function(){Browser.requestFullscreen(false,false)}),requestFullScreen:(function(){err("GLUT.requestFullScreen() is deprecated. Please call GLUT.requestFullscreen instead.");GLUT.requestFullScreen=(function(){return GLUT.requestFullscreen()});return GLUT.requestFullscreen()}),exitFullscreen:(function(){var CFS=document["exitFullscreen"]||document["cancelFullScreen"]||document["mozCancelFullScreen"]||document["webkitCancelFullScreen"]||(function(){});CFS.apply(document,[])}),cancelFullScreen:(function(){err("GLUT.cancelFullScreen() is deprecated. Please call GLUT.exitFullscreen instead.");GLUT.cancelFullScreen=(function(){return GLUT.exitFullscreen()});return GLUT.exitFullscreen()})};function _glutInitDisplayMode(mode){GLUT.initDisplayMode=mode}function _glutCreateWindow(name){var contextAttributes={antialias:(GLUT.initDisplayMode&128)!=0,depth:(GLUT.initDisplayMode&16)!=0,stencil:(GLUT.initDisplayMode&32)!=0,alpha:(GLUT.initDisplayMode&8)!=0};Module.ctx=Browser.createContext(Module["canvas"],true,true,contextAttributes);return Module.ctx?1:0}var GL={counter:1,lastError:0,buffers:[],mappedBuffers:{},programs:[],framebuffers:[],renderbuffers:[],textures:[],uniforms:[],shaders:[],vaos:[],contexts:[],currentContext:null,offscreenCanvases:{},timerQueriesEXT:[],byteSizeByTypeRoot:5120,byteSizeByType:[1,1,2,2,4,4,4,2,3,4,8],programInfos:{},stringCache:{},tempFixedLengthArray:[],packAlignment:4,unpackAlignment:4,init:(function(){GL.miniTempBuffer=new Float32Array(GL.MINI_TEMP_BUFFER_SIZE);for(var i=0;i<GL.MINI_TEMP_BUFFER_SIZE;i++){GL.miniTempBufferViews[i]=GL.miniTempBuffer.subarray(0,i+1)}for(var i=0;i<32;i++){GL.tempFixedLengthArray.push(new Array(i))}}),recordError:function recordError(errorCode){if(!GL.lastError){GL.lastError=errorCode}},getNewId:(function(table){var ret=GL.counter++;for(var i=table.length;i<ret;i++){table[i]=null}return ret}),MINI_TEMP_BUFFER_SIZE:256,miniTempBuffer:null,miniTempBufferViews:[0],getSource:(function(shader,count,string,length){var source="";for(var i=0;i<count;++i){var frag;if(length){var len=HEAP32[length+i*4>>2];if(len<0){frag=Pointer_stringify(HEAP32[string+i*4>>2])}else{frag=Pointer_stringify(HEAP32[string+i*4>>2],len)}}else{frag=Pointer_stringify(HEAP32[string+i*4>>2])}source+=frag}return source}),createContext:(function(canvas,webGLContextAttributes){if(typeof webGLContextAttributes["majorVersion"]==="undefined"&&typeof webGLContextAttributes["minorVersion"]==="undefined"){webGLContextAttributes["majorVersion"]=1;webGLContextAttributes["minorVersion"]=0}var ctx;var errorInfo="?";function onContextCreationError(event){errorInfo=event.statusMessage||errorInfo}try{canvas.addEventListener("webglcontextcreationerror",onContextCreationError,false);try{if(webGLContextAttributes["majorVersion"]==1&&webGLContextAttributes["minorVersion"]==0){ctx=canvas.getContext("webgl",webGLContextAttributes)||canvas.getContext("experimental-webgl",webGLContextAttributes)}else if(webGLContextAttributes["majorVersion"]==2&&webGLContextAttributes["minorVersion"]==0){ctx=canvas.getContext("webgl2",webGLContextAttributes)}else{throw"Unsupported WebGL context version "+majorVersion+"."+minorVersion+"!"}}finally{canvas.removeEventListener("webglcontextcreationerror",onContextCreationError,false)}if(!ctx)throw":("}catch(e){out("Could not create canvas: "+[errorInfo,e,JSON.stringify(webGLContextAttributes)]);return 0}if(!ctx)return 0;var context=GL.registerContext(ctx,webGLContextAttributes);return context}),registerContext:(function(ctx,webGLContextAttributes){var handle=GL.getNewId(GL.contexts);var context={handle:handle,attributes:webGLContextAttributes,version:webGLContextAttributes["majorVersion"],GLctx:ctx};if(ctx.canvas)ctx.canvas.GLctxObject=context;GL.contexts[handle]=context;if(typeof webGLContextAttributes["enableExtensionsByDefault"]==="undefined"||webGLContextAttributes["enableExtensionsByDefault"]){GL.initExtensions(context)}return handle}),makeContextCurrent:(function(contextHandle){var context=GL.contexts[contextHandle];if(!context)return false;GLctx=Module.ctx=context.GLctx;GL.currentContext=context;return true}),getContext:(function(contextHandle){return GL.contexts[contextHandle]}),deleteContext:(function(contextHandle){if(GL.currentContext===GL.contexts[contextHandle])GL.currentContext=null;if(typeof JSEvents==="object")JSEvents.removeAllHandlersOnTarget(GL.contexts[contextHandle].GLctx.canvas);if(GL.contexts[contextHandle]&&GL.contexts[contextHandle].GLctx.canvas)GL.contexts[contextHandle].GLctx.canvas.GLctxObject=undefined;GL.contexts[contextHandle]=null}),initExtensions:(function(context){if(!context)context=GL.currentContext;if(context.initExtensionsDone)return;context.initExtensionsDone=true;var GLctx=context.GLctx;context.maxVertexAttribs=GLctx.getParameter(GLctx.MAX_VERTEX_ATTRIBS);if(context.version<2){var instancedArraysExt=GLctx.getExtension("ANGLE_instanced_arrays");if(instancedArraysExt){GLctx["vertexAttribDivisor"]=(function(index,divisor){instancedArraysExt["vertexAttribDivisorANGLE"](index,divisor)});GLctx["drawArraysInstanced"]=(function(mode,first,count,primcount){instancedArraysExt["drawArraysInstancedANGLE"](mode,first,count,primcount)});GLctx["drawElementsInstanced"]=(function(mode,count,type,indices,primcount){instancedArraysExt["drawElementsInstancedANGLE"](mode,count,type,indices,primcount)})}var vaoExt=GLctx.getExtension("OES_vertex_array_object");if(vaoExt){GLctx["createVertexArray"]=(function(){return vaoExt["createVertexArrayOES"]()});GLctx["deleteVertexArray"]=(function(vao){vaoExt["deleteVertexArrayOES"](vao)});GLctx["bindVertexArray"]=(function(vao){vaoExt["bindVertexArrayOES"](vao)});GLctx["isVertexArray"]=(function(vao){return vaoExt["isVertexArrayOES"](vao)})}var drawBuffersExt=GLctx.getExtension("WEBGL_draw_buffers");if(drawBuffersExt){GLctx["drawBuffers"]=(function(n,bufs){drawBuffersExt["drawBuffersWEBGL"](n,bufs)})}}GLctx.disjointTimerQueryExt=GLctx.getExtension("EXT_disjoint_timer_query");var automaticallyEnabledExtensions=["OES_texture_float","OES_texture_half_float","OES_standard_derivatives","OES_vertex_array_object","WEBGL_compressed_texture_s3tc","WEBGL_depth_texture","OES_element_index_uint","EXT_texture_filter_anisotropic","ANGLE_instanced_arrays","OES_texture_float_linear","OES_texture_half_float_linear","WEBGL_compressed_texture_atc","WEBKIT_WEBGL_compressed_texture_pvrtc","WEBGL_compressed_texture_pvrtc","EXT_color_buffer_half_float","WEBGL_color_buffer_float","EXT_frag_depth","EXT_sRGB","WEBGL_draw_buffers","WEBGL_shared_resources","EXT_shader_texture_lod","EXT_color_buffer_float"];var exts=GLctx.getSupportedExtensions();if(exts&&exts.length>0){GLctx.getSupportedExtensions().forEach((function(ext){if(automaticallyEnabledExtensions.indexOf(ext)!=-1){GLctx.getExtension(ext)}}))}}),populateUniformTable:(function(program){var p=GL.programs[program];GL.programInfos[program]={uniforms:{},maxUniformLength:0,maxAttributeLength:-1,maxUniformBlockNameLength:-1};var ptable=GL.programInfos[program];var utable=ptable.uniforms;var numUniforms=GLctx.getProgramParameter(p,GLctx.ACTIVE_UNIFORMS);for(var i=0;i<numUniforms;++i){var u=GLctx.getActiveUniform(p,i);var name=u.name;ptable.maxUniformLength=Math.max(ptable.maxUniformLength,name.length+1);if(name.indexOf("]",name.length-1)!==-1){var ls=name.lastIndexOf("[");name=name.slice(0,ls)}var loc=GLctx.getUniformLocation(p,name);if(loc!=null){var id=GL.getNewId(GL.uniforms);utable[name]=[u.size,id];GL.uniforms[id]=loc;for(var j=1;j<u.size;++j){var n=name+"["+j+"]";loc=GLctx.getUniformLocation(p,n);id=GL.getNewId(GL.uniforms);GL.uniforms[id]=loc}}}})};function _eglCreateContext(display,config,hmm,contextAttribs){if(display!=62e3){EGL.setErrorCode(12296);return 0}var glesContextVersion=1;for(;;){var param=HEAP32[contextAttribs>>2];if(param==12440){glesContextVersion=HEAP32[contextAttribs+4>>2]}else if(param==12344){break}else{EGL.setErrorCode(12292);return 0}contextAttribs+=8}if(glesContextVersion!=2){EGL.setErrorCode(12293);return 0}_glutInitDisplayMode(178);EGL.windowID=_glutCreateWindow();if(EGL.windowID!=0){EGL.setErrorCode(12288);return 62004}else{EGL.setErrorCode(12297);return 0}}function _eglCreateWindowSurface(display,config,win,attrib_list){if(display!=62e3){EGL.setErrorCode(12296);return 0}if(config!=62002){EGL.setErrorCode(12293);return 0}EGL.setErrorCode(12288);return 62006}function _glutDestroyWindow(name){Module.ctx=Browser.destroyContext(Module["canvas"],true,true);return 1}function _eglDestroyContext(display,context){if(display!=62e3){EGL.setErrorCode(12296);return 0}if(context!=62004){EGL.setErrorCode(12294);return 0}EGL.setErrorCode(12288);return 1}function _eglDestroySurface(display,surface){if(display!=62e3){EGL.setErrorCode(12296);return 0}if(surface!=62006){EGL.setErrorCode(12301);return 1}if(EGL.currentReadSurface==surface){EGL.currentReadSurface=0}if(EGL.currentDrawSurface==surface){EGL.currentDrawSurface=0}EGL.setErrorCode(12288);return 1}function _eglGetConfigAttrib(display,config,attribute,value){if(display!=62e3){EGL.setErrorCode(12296);return 0}if(config!=62002){EGL.setErrorCode(12293);return 0}if(!value){EGL.setErrorCode(12300);return 0}EGL.setErrorCode(12288);switch(attribute){case 12320:HEAP32[value>>2]=32;return 1;case 12321:HEAP32[value>>2]=8;return 1;case 12322:HEAP32[value>>2]=8;return 1;case 12323:HEAP32[value>>2]=8;return 1;case 12324:HEAP32[value>>2]=8;return 1;case 12325:HEAP32[value>>2]=24;return 1;case 12326:HEAP32[value>>2]=8;return 1;case 12327:HEAP32[value>>2]=12344;return 1;case 12328:HEAP32[value>>2]=62002;return 1;case 12329:HEAP32[value>>2]=0;return 1;case 12330:HEAP32[value>>2]=4096;return 1;case 12331:HEAP32[value>>2]=16777216;return 1;case 12332:HEAP32[value>>2]=4096;return 1;case 12333:HEAP32[value>>2]=0;return 1;case 12334:HEAP32[value>>2]=0;return 1;case 12335:HEAP32[value>>2]=12344;return 1;case 12337:HEAP32[value>>2]=4;return 1;case 12338:HEAP32[value>>2]=1;return 1;case 12339:HEAP32[value>>2]=4;return 1;case 12340:HEAP32[value>>2]=12344;return 1;case 12341:case 12342:case 12343:HEAP32[value>>2]=-1;return 1;case 12345:case 12346:HEAP32[value>>2]=0;return 1;case 12347:case 12348:HEAP32[value>>2]=1;return 1;case 12349:case 12350:HEAP32[value>>2]=0;return 1;case 12351:HEAP32[value>>2]=12430;return 1;case 12352:HEAP32[value>>2]=4;return 1;case 12354:HEAP32[value>>2]=0;return 1;default:EGL.setErrorCode(12292);return 0}}function _eglGetDisplay(nativeDisplayType){EGL.setErrorCode(12288);return 62e3}function _eglGetProcAddress(name_){return _emscripten_GetProcAddress(name_)}function _eglInitialize(display,majorVersion,minorVersion){if(display==62e3){if(majorVersion){HEAP32[majorVersion>>2]=1}if(minorVersion){HEAP32[minorVersion>>2]=4}EGL.defaultDisplayInitialized=true;EGL.setErrorCode(12288);return 1}else{EGL.setErrorCode(12296);return 0}}function _eglMakeCurrent(display,draw,read,context){if(display!=62e3){EGL.setErrorCode(12296);return 0}if(context!=0&&context!=62004){EGL.setErrorCode(12294);return 0}if(read!=0&&read!=62006||draw!=0&&draw!=62006){EGL.setErrorCode(12301);return 0}EGL.currentContext=context;EGL.currentDrawSurface=draw;EGL.currentReadSurface=read;EGL.setErrorCode(12288);return 1}function _eglSwapBuffers(){if(!EGL.defaultDisplayInitialized){EGL.setErrorCode(12289)}else if(!Module.ctx){EGL.setErrorCode(12290)}else if(Module.ctx.isContextLost()){EGL.setErrorCode(12302)}else{EGL.setErrorCode(12288);return 1}return 0}function _eglSwapInterval(display,interval){if(display!=62e3){EGL.setErrorCode(12296);return 0}if(interval==0)_emscripten_set_main_loop_timing(0,0);else _emscripten_set_main_loop_timing(1,interval);EGL.setErrorCode(12288);return 1}function _eglTerminate(display){if(display!=62e3){EGL.setErrorCode(12296);return 0}EGL.currentContext=0;EGL.currentReadSurface=0;EGL.currentDrawSurface=0;EGL.defaultDisplayInitialized=false;EGL.setErrorCode(12288);return 1}function _eglWaitClient(){EGL.setErrorCode(12288);return 1}function _eglWaitGL(){return _eglWaitClient.apply(null,arguments)}function _eglWaitNative(nativeEngineId){EGL.setErrorCode(12288);return 1}var JSEvents={keyEvent:0,mouseEvent:0,wheelEvent:0,uiEvent:0,focusEvent:0,deviceOrientationEvent:0,deviceMotionEvent:0,fullscreenChangeEvent:0,pointerlockChangeEvent:0,visibilityChangeEvent:0,touchEvent:0,lastGamepadState:null,lastGamepadStateFrame:null,numGamepadsConnected:0,previousFullscreenElement:null,previousScreenX:null,previousScreenY:null,removeEventListenersRegistered:false,staticInit:(function(){if(typeof window!=="undefined"){window.addEventListener("gamepadconnected",(function(){++JSEvents.numGamepadsConnected}));window.addEventListener("gamepaddisconnected",(function(){--JSEvents.numGamepadsConnected}));var firstState=navigator.getGamepads?navigator.getGamepads():navigator.webkitGetGamepads?navigator.webkitGetGamepads():null;if(firstState){JSEvents.numGamepadsConnected=firstState.length}}}),registerRemoveEventListeners:(function(){if(!JSEvents.removeEventListenersRegistered){__ATEXIT__.push((function(){for(var i=JSEvents.eventHandlers.length-1;i>=0;--i){JSEvents._removeHandler(i)}}));JSEvents.removeEventListenersRegistered=true}}),findEventTarget:(function(target){if(target){if(typeof target=="number"){target=Pointer_stringify(target)}if(target=="#window")return window;else if(target=="#document")return document;else if(target=="#screen")return window.screen;else if(target=="#canvas")return Module["canvas"];if(typeof target=="string")return document.getElementById(target);else return target}else{return window}}),deferredCalls:[],deferCall:(function(targetFunction,precedence,argsList){function arraysHaveEqualContent(arrA,arrB){if(arrA.length!=arrB.length)return false;for(var i in arrA){if(arrA[i]!=arrB[i])return false}return true}for(var i in JSEvents.deferredCalls){var call=JSEvents.deferredCalls[i];if(call.targetFunction==targetFunction&&arraysHaveEqualContent(call.argsList,argsList)){return}}JSEvents.deferredCalls.push({targetFunction:targetFunction,precedence:precedence,argsList:argsList});JSEvents.deferredCalls.sort((function(x,y){return x.precedence<y.precedence}))}),removeDeferredCalls:(function(targetFunction){for(var i=0;i<JSEvents.deferredCalls.length;++i){if(JSEvents.deferredCalls[i].targetFunction==targetFunction){JSEvents.deferredCalls.splice(i,1);--i}}}),canPerformEventHandlerRequests:(function(){return JSEvents.inEventHandler&&JSEvents.currentEventHandler.allowsDeferredCalls}),runDeferredCalls:(function(){if(!JSEvents.canPerformEventHandlerRequests()){return}for(var i=0;i<JSEvents.deferredCalls.length;++i){var call=JSEvents.deferredCalls[i];JSEvents.deferredCalls.splice(i,1);--i;call.targetFunction.apply(this,call.argsList)}}),inEventHandler:0,currentEventHandler:null,eventHandlers:[],isInternetExplorer:(function(){return navigator.userAgent.indexOf("MSIE")!==-1||navigator.appVersion.indexOf("Trident/")>0}),removeAllHandlersOnTarget:(function(target,eventTypeString){for(var i=0;i<JSEvents.eventHandlers.length;++i){if(JSEvents.eventHandlers[i].target==target&&(!eventTypeString||eventTypeString==JSEvents.eventHandlers[i].eventTypeString)){JSEvents._removeHandler(i--)}}}),_removeHandler:(function(i){var h=JSEvents.eventHandlers[i];h.target.removeEventListener(h.eventTypeString,h.eventListenerFunc,h.useCapture);JSEvents.eventHandlers.splice(i,1)}),registerOrRemoveHandler:(function(eventHandler){var jsEventHandler=function jsEventHandler(event){++JSEvents.inEventHandler;JSEvents.currentEventHandler=eventHandler;JSEvents.runDeferredCalls();eventHandler.handlerFunc(event);JSEvents.runDeferredCalls();--JSEvents.inEventHandler};if(eventHandler.callbackfunc){eventHandler.eventListenerFunc=jsEventHandler;eventHandler.target.addEventListener(eventHandler.eventTypeString,jsEventHandler,eventHandler.useCapture);JSEvents.eventHandlers.push(eventHandler);JSEvents.registerRemoveEventListeners()}else{for(var i=0;i<JSEvents.eventHandlers.length;++i){if(JSEvents.eventHandlers[i].target==eventHandler.target&&JSEvents.eventHandlers[i].eventTypeString==eventHandler.eventTypeString){JSEvents._removeHandler(i--)}}}}),registerKeyEventCallback:(function(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString){if(!JSEvents.keyEvent){JSEvents.keyEvent=_malloc(164)}var handlerFunc=(function(event){var e=event||window.event;stringToUTF8(e.key?e.key:"",JSEvents.keyEvent+0,32);stringToUTF8(e.code?e.code:"",JSEvents.keyEvent+32,32);HEAP32[JSEvents.keyEvent+64>>2]=e.location;HEAP32[JSEvents.keyEvent+68>>2]=e.ctrlKey;HEAP32[JSEvents.keyEvent+72>>2]=e.shiftKey;HEAP32[JSEvents.keyEvent+76>>2]=e.altKey;HEAP32[JSEvents.keyEvent+80>>2]=e.metaKey;HEAP32[JSEvents.keyEvent+84>>2]=e.repeat;stringToUTF8(e.locale?e.locale:"",JSEvents.keyEvent+88,32);stringToUTF8(e.char?e.char:"",JSEvents.keyEvent+120,32);HEAP32[JSEvents.keyEvent+152>>2]=e.charCode;HEAP32[JSEvents.keyEvent+156>>2]=e.keyCode;HEAP32[JSEvents.keyEvent+160>>2]=e.which;var shouldCancel=Module["dynCall_iiii"](callbackfunc,eventTypeId,JSEvents.keyEvent,userData);if(shouldCancel){e.preventDefault()}});var eventHandler={target:JSEvents.findEventTarget(target),allowsDeferredCalls:JSEvents.isInternetExplorer()?false:true,eventTypeString:eventTypeString,callbackfunc:callbackfunc,handlerFunc:handlerFunc,useCapture:useCapture};JSEvents.registerOrRemoveHandler(eventHandler)}),getBoundingClientRectOrZeros:(function(target){return target.getBoundingClientRect?target.getBoundingClientRect():{left:0,top:0}}),fillMouseEventData:(function(eventStruct,e,target){HEAPF64[eventStruct>>3]=JSEvents.tick();HEAP32[eventStruct+8>>2]=e.screenX;HEAP32[eventStruct+12>>2]=e.screenY;HEAP32[eventStruct+16>>2]=e.clientX;HEAP32[eventStruct+20>>2]=e.clientY;HEAP32[eventStruct+24>>2]=e.ctrlKey;HEAP32[eventStruct+28>>2]=e.shiftKey;HEAP32[eventStruct+32>>2]=e.altKey;HEAP32[eventStruct+36>>2]=e.metaKey;HEAP16[eventStruct+40>>1]=e.button;HEAP16[eventStruct+42>>1]=e.buttons;HEAP32[eventStruct+44>>2]=e["movementX"]||e["mozMovementX"]||e["webkitMovementX"]||e.screenX-JSEvents.previousScreenX;HEAP32[eventStruct+48>>2]=e["movementY"]||e["mozMovementY"]||e["webkitMovementY"]||e.screenY-JSEvents.previousScreenY;if(Module["canvas"]){var rect=Module["canvas"].getBoundingClientRect();HEAP32[eventStruct+60>>2]=e.clientX-rect.left;HEAP32[eventStruct+64>>2]=e.clientY-rect.top}else{HEAP32[eventStruct+60>>2]=0;HEAP32[eventStruct+64>>2]=0}if(target){var rect=JSEvents.getBoundingClientRectOrZeros(target);HEAP32[eventStruct+52>>2]=e.clientX-rect.left;HEAP32[eventStruct+56>>2]=e.clientY-rect.top}else{HEAP32[eventStruct+52>>2]=0;HEAP32[eventStruct+56>>2]=0}if(e.type!=="wheel"&&e.type!=="mousewheel"){JSEvents.previousScreenX=e.screenX;JSEvents.previousScreenY=e.screenY}}),registerMouseEventCallback:(function(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString){if(!JSEvents.mouseEvent){JSEvents.mouseEvent=_malloc(72)}target=JSEvents.findEventTarget(target);var handlerFunc=(function(event){var e=event||window.event;JSEvents.fillMouseEventData(JSEvents.mouseEvent,e,target);var shouldCancel=Module["dynCall_iiii"](callbackfunc,eventTypeId,JSEvents.mouseEvent,userData);if(shouldCancel){e.preventDefault()}});var eventHandler={target:target,allowsDeferredCalls:eventTypeString!="mousemove"&&eventTypeString!="mouseenter"&&eventTypeString!="mouseleave",eventTypeString:eventTypeString,callbackfunc:callbackfunc,handlerFunc:handlerFunc,useCapture:useCapture};if(JSEvents.isInternetExplorer()&&eventTypeString=="mousedown")eventHandler.allowsDeferredCalls=false;JSEvents.registerOrRemoveHandler(eventHandler)}),registerWheelEventCallback:(function(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString){if(!JSEvents.wheelEvent){JSEvents.wheelEvent=_malloc(104)}target=JSEvents.findEventTarget(target);var wheelHandlerFunc=(function(event){var e=event||window.event;JSEvents.fillMouseEventData(JSEvents.wheelEvent,e,target);HEAPF64[JSEvents.wheelEvent+72>>3]=e["deltaX"];HEAPF64[JSEvents.wheelEvent+80>>3]=e["deltaY"];HEAPF64[JSEvents.wheelEvent+88>>3]=e["deltaZ"];HEAP32[JSEvents.wheelEvent+96>>2]=e["deltaMode"];var shouldCancel=Module["dynCall_iiii"](callbackfunc,eventTypeId,JSEvents.wheelEvent,userData);if(shouldCancel){e.preventDefault()}});var mouseWheelHandlerFunc=(function(event){var e=event||window.event;JSEvents.fillMouseEventData(JSEvents.wheelEvent,e,target);HEAPF64[JSEvents.wheelEvent+72>>3]=e["wheelDeltaX"]||0;HEAPF64[JSEvents.wheelEvent+80>>3]=-(e["wheelDeltaY"]?e["wheelDeltaY"]:e["wheelDelta"]);HEAPF64[JSEvents.wheelEvent+88>>3]=0;HEAP32[JSEvents.wheelEvent+96>>2]=0;var shouldCancel=Module["dynCall_iiii"](callbackfunc,eventTypeId,JSEvents.wheelEvent,userData);if(shouldCancel){e.preventDefault()}});var eventHandler={target:target,allowsDeferredCalls:true,eventTypeString:eventTypeString,callbackfunc:callbackfunc,handlerFunc:eventTypeString=="wheel"?wheelHandlerFunc:mouseWheelHandlerFunc,useCapture:useCapture};JSEvents.registerOrRemoveHandler(eventHandler)}),pageScrollPos:(function(){if(window.pageXOffset>0||window.pageYOffset>0){return[window.pageXOffset,window.pageYOffset]}if(typeof document.documentElement.scrollLeft!=="undefined"||typeof document.documentElement.scrollTop!=="undefined"){return[document.documentElement.scrollLeft,document.documentElement.scrollTop]}return[document.body.scrollLeft|0,document.body.scrollTop|0]}),registerUiEventCallback:(function(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString){if(!JSEvents.uiEvent){JSEvents.uiEvent=_malloc(36)}if(eventTypeString=="scroll"&&!target){target=document}else{target=JSEvents.findEventTarget(target)}var handlerFunc=(function(event){var e=event||window.event;if(e.target!=target){return}var scrollPos=JSEvents.pageScrollPos();HEAP32[JSEvents.uiEvent>>2]=e.detail;HEAP32[JSEvents.uiEvent+4>>2]=document.body.clientWidth;HEAP32[JSEvents.uiEvent+8>>2]=document.body.clientHeight;HEAP32[JSEvents.uiEvent+12>>2]=window.innerWidth;HEAP32[JSEvents.uiEvent+16>>2]=window.innerHeight;HEAP32[JSEvents.uiEvent+20>>2]=window.outerWidth;HEAP32[JSEvents.uiEvent+24>>2]=window.outerHeight;HEAP32[JSEvents.uiEvent+28>>2]=scrollPos[0];HEAP32[JSEvents.uiEvent+32>>2]=scrollPos[1];var shouldCancel=Module["dynCall_iiii"](callbackfunc,eventTypeId,JSEvents.uiEvent,userData);if(shouldCancel){e.preventDefault()}});var eventHandler={target:target,allowsDeferredCalls:false,eventTypeString:eventTypeString,callbackfunc:callbackfunc,handlerFunc:handlerFunc,useCapture:useCapture};JSEvents.registerOrRemoveHandler(eventHandler)}),getNodeNameForTarget:(function(target){if(!target)return"";if(target==window)return"#window";if(target==window.screen)return"#screen";return target&&target.nodeName?target.nodeName:""}),registerFocusEventCallback:(function(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString){if(!JSEvents.focusEvent){JSEvents.focusEvent=_malloc(256)}var handlerFunc=(function(event){var e=event||window.event;var nodeName=JSEvents.getNodeNameForTarget(e.target);var id=e.target.id?e.target.id:"";stringToUTF8(nodeName,JSEvents.focusEvent+0,128);stringToUTF8(id,JSEvents.focusEvent+128,128);var shouldCancel=Module["dynCall_iiii"](callbackfunc,eventTypeId,JSEvents.focusEvent,userData);if(shouldCancel){e.preventDefault()}});var eventHandler={target:JSEvents.findEventTarget(target),allowsDeferredCalls:false,eventTypeString:eventTypeString,callbackfunc:callbackfunc,handlerFunc:handlerFunc,useCapture:useCapture};JSEvents.registerOrRemoveHandler(eventHandler)}),tick:(function(){if(window["performance"]&&window["performance"]["now"])return window["performance"]["now"]();else return Date.now()}),registerDeviceOrientationEventCallback:(function(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString){if(!JSEvents.deviceOrientationEvent){JSEvents.deviceOrientationEvent=_malloc(40)}var handlerFunc=(function(event){var e=event||window.event;HEAPF64[JSEvents.deviceOrientationEvent>>3]=JSEvents.tick();HEAPF64[JSEvents.deviceOrientationEvent+8>>3]=e.alpha;HEAPF64[JSEvents.deviceOrientationEvent+16>>3]=e.beta;HEAPF64[JSEvents.deviceOrientationEvent+24>>3]=e.gamma;HEAP32[JSEvents.deviceOrientationEvent+32>>2]=e.absolute;var shouldCancel=Module["dynCall_iiii"](callbackfunc,eventTypeId,JSEvents.deviceOrientationEvent,userData);if(shouldCancel){e.preventDefault()}});var eventHandler={target:JSEvents.findEventTarget(target),allowsDeferredCalls:false,eventTypeString:eventTypeString,callbackfunc:callbackfunc,handlerFunc:handlerFunc,useCapture:useCapture};JSEvents.registerOrRemoveHandler(eventHandler)}),registerDeviceMotionEventCallback:(function(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString){if(!JSEvents.deviceMotionEvent){JSEvents.deviceMotionEvent=_malloc(80)}var handlerFunc=(function(event){var e=event||window.event;HEAPF64[JSEvents.deviceMotionEvent>>3]=JSEvents.tick();HEAPF64[JSEvents.deviceMotionEvent+8>>3]=e.acceleration.x;HEAPF64[JSEvents.deviceMotionEvent+16>>3]=e.acceleration.y;HEAPF64[JSEvents.deviceMotionEvent+24>>3]=e.acceleration.z;HEAPF64[JSEvents.deviceMotionEvent+32>>3]=e.accelerationIncludingGravity.x;HEAPF64[JSEvents.deviceMotionEvent+40>>3]=e.accelerationIncludingGravity.y;HEAPF64[JSEvents.deviceMotionEvent+48>>3]=e.accelerationIncludingGravity.z;HEAPF64[JSEvents.deviceMotionEvent+56>>3]=e.rotationRate.alpha;HEAPF64[JSEvents.deviceMotionEvent+64>>3]=e.rotationRate.beta;HEAPF64[JSEvents.deviceMotionEvent+72>>3]=e.rotationRate.gamma;var shouldCancel=Module["dynCall_iiii"](callbackfunc,eventTypeId,JSEvents.deviceMotionEvent,userData);if(shouldCancel){e.preventDefault()}});var eventHandler={target:JSEvents.findEventTarget(target),allowsDeferredCalls:false,eventTypeString:eventTypeString,callbackfunc:callbackfunc,handlerFunc:handlerFunc,useCapture:useCapture};JSEvents.registerOrRemoveHandler(eventHandler)}),screenOrientation:(function(){if(!window.screen)return undefined;return window.screen.orientation||window.screen.mozOrientation||window.screen.webkitOrientation||window.screen.msOrientation}),fillOrientationChangeEventData:(function(eventStruct,e){var orientations=["portrait-primary","portrait-secondary","landscape-primary","landscape-secondary"];var orientations2=["portrait","portrait","landscape","landscape"];var orientationString=JSEvents.screenOrientation();var orientation=orientations.indexOf(orientationString);if(orientation==-1){orientation=orientations2.indexOf(orientationString)}HEAP32[eventStruct>>2]=1<<orientation;HEAP32[eventStruct+4>>2]=window.orientation}),registerOrientationChangeEventCallback:(function(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString){if(!JSEvents.orientationChangeEvent){JSEvents.orientationChangeEvent=_malloc(8)}if(!target){target=window.screen}else{target=JSEvents.findEventTarget(target)}var handlerFunc=(function(event){var e=event||window.event;JSEvents.fillOrientationChangeEventData(JSEvents.orientationChangeEvent,e);var shouldCancel=Module["dynCall_iiii"](callbackfunc,eventTypeId,JSEvents.orientationChangeEvent,userData);if(shouldCancel){e.preventDefault()}});if(eventTypeString=="orientationchange"&&window.screen.mozOrientation!==undefined){eventTypeString="mozorientationchange"}var eventHandler={target:target,allowsDeferredCalls:false,eventTypeString:eventTypeString,callbackfunc:callbackfunc,handlerFunc:handlerFunc,useCapture:useCapture};JSEvents.registerOrRemoveHandler(eventHandler)}),fullscreenEnabled:(function(){return document.fullscreenEnabled||document.mozFullScreenEnabled||document.webkitFullscreenEnabled||document.msFullscreenEnabled}),fillFullscreenChangeEventData:(function(eventStruct,e){var fullscreenElement=document.fullscreenElement||document.mozFullScreenElement||document.webkitFullscreenElement||document.msFullscreenElement;var isFullscreen=!!fullscreenElement;HEAP32[eventStruct>>2]=isFullscreen;HEAP32[eventStruct+4>>2]=JSEvents.fullscreenEnabled();var reportedElement=isFullscreen?fullscreenElement:JSEvents.previousFullscreenElement;var nodeName=JSEvents.getNodeNameForTarget(reportedElement);var id=reportedElement&&reportedElement.id?reportedElement.id:"";stringToUTF8(nodeName,eventStruct+8,128);stringToUTF8(id,eventStruct+136,128);HEAP32[eventStruct+264>>2]=reportedElement?reportedElement.clientWidth:0;HEAP32[eventStruct+268>>2]=reportedElement?reportedElement.clientHeight:0;HEAP32[eventStruct+272>>2]=screen.width;HEAP32[eventStruct+276>>2]=screen.height;if(isFullscreen){JSEvents.previousFullscreenElement=fullscreenElement}}),registerFullscreenChangeEventCallback:(function(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString){if(!JSEvents.fullscreenChangeEvent){JSEvents.fullscreenChangeEvent=_malloc(280)}if(!target){target=document}else{target=JSEvents.findEventTarget(target)}var handlerFunc=(function(event){var e=event||window.event;JSEvents.fillFullscreenChangeEventData(JSEvents.fullscreenChangeEvent,e);var shouldCancel=Module["dynCall_iiii"](callbackfunc,eventTypeId,JSEvents.fullscreenChangeEvent,userData);if(shouldCancel){e.preventDefault()}});var eventHandler={target:target,allowsDeferredCalls:false,eventTypeString:eventTypeString,callbackfunc:callbackfunc,handlerFunc:handlerFunc,useCapture:useCapture};JSEvents.registerOrRemoveHandler(eventHandler)}),resizeCanvasForFullscreen:(function(target,strategy){var restoreOldStyle=__registerRestoreOldStyle(target);var cssWidth=strategy.softFullscreen?window.innerWidth:screen.width;var cssHeight=strategy.softFullscreen?window.innerHeight:screen.height;var rect=target.getBoundingClientRect();var windowedCssWidth=rect.right-rect.left;var windowedCssHeight=rect.bottom-rect.top;var windowedRttWidth=target.width;var windowedRttHeight=target.height;if(strategy.scaleMode==3){__setLetterbox(target,(cssHeight-windowedCssHeight)/2,(cssWidth-windowedCssWidth)/2);cssWidth=windowedCssWidth;cssHeight=windowedCssHeight}else if(strategy.scaleMode==2){if(cssWidth*windowedRttHeight<windowedRttWidth*cssHeight){var desiredCssHeight=windowedRttHeight*cssWidth/windowedRttWidth;__setLetterbox(target,(cssHeight-desiredCssHeight)/2,0);cssHeight=desiredCssHeight}else{var desiredCssWidth=windowedRttWidth*cssHeight/windowedRttHeight;__setLetterbox(target,0,(cssWidth-desiredCssWidth)/2);cssWidth=desiredCssWidth}}if(!target.style.backgroundColor)target.style.backgroundColor="black";if(!document.body.style.backgroundColor)document.body.style.backgroundColor="black";target.style.width=cssWidth+"px";target.style.height=cssHeight+"px";if(strategy.filteringMode==1){target.style.imageRendering="optimizeSpeed";target.style.imageRendering="-moz-crisp-edges";target.style.imageRendering="-o-crisp-edges";target.style.imageRendering="-webkit-optimize-contrast";target.style.imageRendering="optimize-contrast";target.style.imageRendering="crisp-edges";target.style.imageRendering="pixelated"}var dpiScale=strategy.canvasResolutionScaleMode==2?window.devicePixelRatio:1;if(strategy.canvasResolutionScaleMode!=0){target.width=cssWidth*dpiScale;target.height=cssHeight*dpiScale;if(target.GLctxObject)target.GLctxObject.GLctx.viewport(0,0,target.width,target.height)}return restoreOldStyle}),requestFullscreen:(function(target,strategy){if(strategy.scaleMode!=0||strategy.canvasResolutionScaleMode!=0){JSEvents.resizeCanvasForFullscreen(target,strategy)}if(target.requestFullscreen){target.requestFullscreen()}else if(target.msRequestFullscreen){target.msRequestFullscreen()}else if(target.mozRequestFullScreen){target.mozRequestFullScreen()}else if(target.mozRequestFullscreen){target.mozRequestFullscreen()}else if(target.webkitRequestFullscreen){target.webkitRequestFullscreen(Element.ALLOW_KEYBOARD_INPUT)}else{if(typeof JSEvents.fullscreenEnabled()==="undefined"){return-1}else{return-3}}if(strategy.canvasResizedCallback){Module["dynCall_iiii"](strategy.canvasResizedCallback,37,0,strategy.canvasResizedCallbackUserData)}return 0}),fillPointerlockChangeEventData:(function(eventStruct,e){var pointerLockElement=document.pointerLockElement||document.mozPointerLockElement||document.webkitPointerLockElement||document.msPointerLockElement;var isPointerlocked=!!pointerLockElement;HEAP32[eventStruct>>2]=isPointerlocked;var nodeName=JSEvents.getNodeNameForTarget(pointerLockElement);var id=pointerLockElement&&pointerLockElement.id?pointerLockElement.id:"";stringToUTF8(nodeName,eventStruct+4,128);stringToUTF8(id,eventStruct+132,128)}),registerPointerlockChangeEventCallback:(function(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString){if(!JSEvents.pointerlockChangeEvent){JSEvents.pointerlockChangeEvent=_malloc(260)}if(!target){target=document}else{target=JSEvents.findEventTarget(target)}var handlerFunc=(function(event){var e=event||window.event;JSEvents.fillPointerlockChangeEventData(JSEvents.pointerlockChangeEvent,e);var shouldCancel=Module["dynCall_iiii"](callbackfunc,eventTypeId,JSEvents.pointerlockChangeEvent,userData);if(shouldCancel){e.preventDefault()}});var eventHandler={target:target,allowsDeferredCalls:false,eventTypeString:eventTypeString,callbackfunc:callbackfunc,handlerFunc:handlerFunc,useCapture:useCapture};JSEvents.registerOrRemoveHandler(eventHandler)}),registerPointerlockErrorEventCallback:(function(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString){if(!target){target=document}else{target=JSEvents.findEventTarget(target)}var handlerFunc=(function(event){var e=event||window.event;var shouldCancel=Module["dynCall_iiii"](callbackfunc,eventTypeId,0,userData);if(shouldCancel){e.preventDefault()}});var eventHandler={target:target,allowsDeferredCalls:false,eventTypeString:eventTypeString,callbackfunc:callbackfunc,handlerFunc:handlerFunc,useCapture:useCapture};JSEvents.registerOrRemoveHandler(eventHandler)}),requestPointerLock:(function(target){if(target.requestPointerLock){target.requestPointerLock()}else if(target.mozRequestPointerLock){target.mozRequestPointerLock()}else if(target.webkitRequestPointerLock){target.webkitRequestPointerLock()}else if(target.msRequestPointerLock){target.msRequestPointerLock()}else{if(document.body.requestPointerLock||document.body.mozRequestPointerLock||document.body.webkitRequestPointerLock||document.body.msRequestPointerLock){return-3}else{return-1}}return 0}),fillVisibilityChangeEventData:(function(eventStruct,e){var visibilityStates=["hidden","visible","prerender","unloaded"];var visibilityState=visibilityStates.indexOf(document.visibilityState);HEAP32[eventStruct>>2]=document.hidden;HEAP32[eventStruct+4>>2]=visibilityState}),registerVisibilityChangeEventCallback:(function(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString){if(!JSEvents.visibilityChangeEvent){JSEvents.visibilityChangeEvent=_malloc(8)}if(!target){target=document}else{target=JSEvents.findEventTarget(target)}var handlerFunc=(function(event){var e=event||window.event;JSEvents.fillVisibilityChangeEventData(JSEvents.visibilityChangeEvent,e);var shouldCancel=Module["dynCall_iiii"](callbackfunc,eventTypeId,JSEvents.visibilityChangeEvent,userData);if(shouldCancel){e.preventDefault()}});var eventHandler={target:target,allowsDeferredCalls:false,eventTypeString:eventTypeString,callbackfunc:callbackfunc,handlerFunc:handlerFunc,useCapture:useCapture};JSEvents.registerOrRemoveHandler(eventHandler)}),registerTouchEventCallback:(function(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString){if(!JSEvents.touchEvent){JSEvents.touchEvent=_malloc(1684)}target=JSEvents.findEventTarget(target);var handlerFunc=(function(event){var e=event||window.event;var touches={};for(var i=0;i<e.touches.length;++i){var touch=e.touches[i];touches[touch.identifier]=touch}for(var i=0;i<e.changedTouches.length;++i){var touch=e.changedTouches[i];touches[touch.identifier]=touch;touch.changed=true}for(var i=0;i<e.targetTouches.length;++i){var touch=e.targetTouches[i];touches[touch.identifier].onTarget=true}var ptr=JSEvents.touchEvent;HEAP32[ptr+4>>2]=e.ctrlKey;HEAP32[ptr+8>>2]=e.shiftKey;HEAP32[ptr+12>>2]=e.altKey;HEAP32[ptr+16>>2]=e.metaKey;ptr+=20;var canvasRect=Module["canvas"]?Module["canvas"].getBoundingClientRect():undefined;var targetRect=JSEvents.getBoundingClientRectOrZeros(target);var numTouches=0;for(var i in touches){var t=touches[i];HEAP32[ptr>>2]=t.identifier;HEAP32[ptr+4>>2]=t.screenX;HEAP32[ptr+8>>2]=t.screenY;HEAP32[ptr+12>>2]=t.clientX;HEAP32[ptr+16>>2]=t.clientY;HEAP32[ptr+20>>2]=t.pageX;HEAP32[ptr+24>>2]=t.pageY;HEAP32[ptr+28>>2]=t.changed;HEAP32[ptr+32>>2]=t.onTarget;if(canvasRect){HEAP32[ptr+44>>2]=t.clientX-canvasRect.left;HEAP32[ptr+48>>2]=t.clientY-canvasRect.top}else{HEAP32[ptr+44>>2]=0;HEAP32[ptr+48>>2]=0}HEAP32[ptr+36>>2]=t.clientX-targetRect.left;HEAP32[ptr+40>>2]=t.clientY-targetRect.top;ptr+=52;if(++numTouches>=32){break}}HEAP32[JSEvents.touchEvent>>2]=numTouches;var shouldCancel=Module["dynCall_iiii"](callbackfunc,eventTypeId,JSEvents.touchEvent,userData);if(shouldCancel){e.preventDefault()}});var eventHandler={target:target,allowsDeferredCalls:eventTypeString=="touchstart"||eventTypeString=="touchend",eventTypeString:eventTypeString,callbackfunc:callbackfunc,handlerFunc:handlerFunc,useCapture:useCapture};JSEvents.registerOrRemoveHandler(eventHandler)}),fillGamepadEventData:(function(eventStruct,e){HEAPF64[eventStruct>>3]=e.timestamp;for(var i=0;i<e.axes.length;++i){HEAPF64[eventStruct+i*8+16>>3]=e.axes[i]}for(var i=0;i<e.buttons.length;++i){if(typeof e.buttons[i]==="object"){HEAPF64[eventStruct+i*8+528>>3]=e.buttons[i].value}else{HEAPF64[eventStruct+i*8+528>>3]=e.buttons[i]}}for(var i=0;i<e.buttons.length;++i){if(typeof e.buttons[i]==="object"){HEAP32[eventStruct+i*4+1040>>2]=e.buttons[i].pressed}else{HEAP32[eventStruct+i*4+1040>>2]=e.buttons[i]==1}}HEAP32[eventStruct+1296>>2]=e.connected;HEAP32[eventStruct+1300>>2]=e.index;HEAP32[eventStruct+8>>2]=e.axes.length;HEAP32[eventStruct+12>>2]=e.buttons.length;stringToUTF8(e.id,eventStruct+1304,64);stringToUTF8(e.mapping,eventStruct+1368,64)}),registerGamepadEventCallback:(function(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString){if(!JSEvents.gamepadEvent){JSEvents.gamepadEvent=_malloc(1432)}var handlerFunc=(function(event){var e=event||window.event;JSEvents.fillGamepadEventData(JSEvents.gamepadEvent,e.gamepad);var shouldCancel=Module["dynCall_iiii"](callbackfunc,eventTypeId,JSEvents.gamepadEvent,userData);if(shouldCancel){e.preventDefault()}});var eventHandler={target:JSEvents.findEventTarget(target),allowsDeferredCalls:true,eventTypeString:eventTypeString,callbackfunc:callbackfunc,handlerFunc:handlerFunc,useCapture:useCapture};JSEvents.registerOrRemoveHandler(eventHandler)}),registerBeforeUnloadEventCallback:(function(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString){var handlerFunc=(function(event){var e=event||window.event;var confirmationMessage=Module["dynCall_iiii"](callbackfunc,eventTypeId,0,userData);if(confirmationMessage){confirmationMessage=Pointer_stringify(confirmationMessage)}if(confirmationMessage){e.preventDefault();e.returnValue=confirmationMessage;return confirmationMessage}});var eventHandler={target:JSEvents.findEventTarget(target),allowsDeferredCalls:false,eventTypeString:eventTypeString,callbackfunc:callbackfunc,handlerFunc:handlerFunc,useCapture:useCapture};JSEvents.registerOrRemoveHandler(eventHandler)}),battery:(function(){return navigator.battery||navigator.mozBattery||navigator.webkitBattery}),fillBatteryEventData:(function(eventStruct,e){HEAPF64[eventStruct>>3]=e.chargingTime;HEAPF64[eventStruct+8>>3]=e.dischargingTime;HEAPF64[eventStruct+16>>3]=e.level;HEAP32[eventStruct+24>>2]=e.charging}),registerBatteryEventCallback:(function(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString){if(!JSEvents.batteryEvent){JSEvents.batteryEvent=_malloc(32)}var handlerFunc=(function(event){var e=event||window.event;JSEvents.fillBatteryEventData(JSEvents.batteryEvent,JSEvents.battery());var shouldCancel=Module["dynCall_iiii"](callbackfunc,eventTypeId,JSEvents.batteryEvent,userData);if(shouldCancel){e.preventDefault()}});var eventHandler={target:JSEvents.findEventTarget(target),allowsDeferredCalls:false,eventTypeString:eventTypeString,callbackfunc:callbackfunc,handlerFunc:handlerFunc,useCapture:useCapture};JSEvents.registerOrRemoveHandler(eventHandler)}),registerWebGlEventCallback:(function(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString){if(!target){target=Module["canvas"]}var handlerFunc=(function(event){var e=event||window.event;var shouldCancel=Module["dynCall_iiii"](callbackfunc,eventTypeId,0,userData);if(shouldCancel){e.preventDefault()}});var eventHandler={target:JSEvents.findEventTarget(target),allowsDeferredCalls:false,eventTypeString:eventTypeString,callbackfunc:callbackfunc,handlerFunc:handlerFunc,useCapture:useCapture};JSEvents.registerOrRemoveHandler(eventHandler)})};var __currentFullscreenStrategy={};function _emscripten_exit_fullscreen(){if(typeof JSEvents.fullscreenEnabled()==="undefined")return-1;JSEvents.removeDeferredCalls(JSEvents.requestFullscreen);if(document.exitFullscreen){document.exitFullscreen()}else if(document.msExitFullscreen){document.msExitFullscreen()}else if(document.mozCancelFullScreen){document.mozCancelFullScreen()}else if(document.webkitExitFullscreen){document.webkitExitFullscreen()}else{return-1}if(__currentFullscreenStrategy.canvasResizedCallback){Module["dynCall_iiii"](__currentFullscreenStrategy.canvasResizedCallback,37,0,__currentFullscreenStrategy.canvasResizedCallbackUserData)}return 0}function _emscripten_exit_pointerlock(){JSEvents.removeDeferredCalls(JSEvents.requestPointerLock);if(document.exitPointerLock){document.exitPointerLock()}else if(document.msExitPointerLock){document.msExitPointerLock()}else if(document.mozExitPointerLock){document.mozExitPointerLock()}else if(document.webkitExitPointerLock){document.webkitExitPointerLock()}else{return-1}return 0}function _emscripten_get_device_pixel_ratio(){return window.devicePixelRatio||1}function _emscripten_get_element_css_size(target,width,height){if(!target){target=Module["canvas"]}else{target=JSEvents.findEventTarget(target)}if(!target)return-4;if(target.getBoundingClientRect){var rect=target.getBoundingClientRect();HEAPF64[width>>3]=rect.right-rect.left;HEAPF64[height>>3]=rect.bottom-rect.top}else{HEAPF64[width>>3]=target.clientWidth;HEAPF64[height>>3]=target.clientHeight}return 0}function __emscripten_sample_gamepad_data(){if(!JSEvents.numGamepadsConnected)return;if(Browser.mainLoop.currentFrameNumber!==JSEvents.lastGamepadStateFrame||!Browser.mainLoop.currentFrameNumber){JSEvents.lastGamepadState=navigator.getGamepads?navigator.getGamepads():navigator.webkitGetGamepads?navigator.webkitGetGamepads:null;JSEvents.lastGamepadStateFrame=Browser.mainLoop.currentFrameNumber}}function _emscripten_get_gamepad_status(index,gamepadState){__emscripten_sample_gamepad_data();if(!JSEvents.lastGamepadState)return-1;if(index<0||index>=JSEvents.lastGamepadState.length)return-5;if(!JSEvents.lastGamepadState[index])return-7;JSEvents.fillGamepadEventData(gamepadState,JSEvents.lastGamepadState[index]);return 0}function _emscripten_get_num_gamepads(){if(!JSEvents.numGamepadsConnected)return 0;__emscripten_sample_gamepad_data();if(!JSEvents.lastGamepadState)return-1;return JSEvents.lastGamepadState.length}function _emscripten_get_pointerlock_status(pointerlockStatus){if(pointerlockStatus)JSEvents.fillPointerlockChangeEventData(pointerlockStatus);if(!document.body||!document.body.requestPointerLock&&!document.body.mozRequestPointerLock&&!document.body.webkitRequestPointerLock&&!document.body.msRequestPointerLock){return-1}return 0}function _emscripten_glActiveTexture(x0){GLctx["activeTexture"](x0)}function _emscripten_glAttachShader(program,shader){GLctx.attachShader(GL.programs[program],GL.shaders[shader])}function _emscripten_glBeginConditionalRender(){err("missing function: emscripten_glBeginConditionalRender");abort(-1)}function _emscripten_glBeginTransformFeedback(){err("missing function: emscripten_glBeginTransformFeedback");abort(-1)}function _emscripten_glBindAttribLocation(program,index,name){name=Pointer_stringify(name);GLctx.bindAttribLocation(GL.programs[program],index,name)}function _emscripten_glBindBuffer(target,buffer){var bufferObj=buffer?GL.buffers[buffer]:null;GLctx.bindBuffer(target,bufferObj)}function _emscripten_glBindBufferBase(){err("missing function: emscripten_glBindBufferBase");abort(-1)}function _emscripten_glBindBufferRange(){err("missing function: emscripten_glBindBufferRange");abort(-1)}function _emscripten_glBindFragDataLocation(){err("missing function: emscripten_glBindFragDataLocation");abort(-1)}function _emscripten_glBindFramebuffer(target,framebuffer){GLctx.bindFramebuffer(target,framebuffer?GL.framebuffers[framebuffer]:null)}function _emscripten_glBindProgramARB(){err("missing function: emscripten_glBindProgramARB");abort(-1)}function _emscripten_glBindRenderbuffer(target,renderbuffer){GLctx.bindRenderbuffer(target,renderbuffer?GL.renderbuffers[renderbuffer]:null)}function _emscripten_glBindTexture(target,texture){GLctx.bindTexture(target,texture?GL.textures[texture]:null)}function _emscripten_glBindVertexArray(vao){GLctx["bindVertexArray"](GL.vaos[vao])}function _emscripten_glBlendColor(x0,x1,x2,x3){GLctx["blendColor"](x0,x1,x2,x3)}function _emscripten_glBlendEquation(x0){GLctx["blendEquation"](x0)}function _emscripten_glBlendEquationSeparate(x0,x1){GLctx["blendEquationSeparate"](x0,x1)}function _emscripten_glBlendFunc(x0,x1){GLctx["blendFunc"](x0,x1)}function _emscripten_glBlendFuncSeparate(x0,x1,x2,x3){GLctx["blendFuncSeparate"](x0,x1,x2,x3)}function _emscripten_glBufferData(target,size,data,usage){if(!data){GLctx.bufferData(target,size,usage)}else{GLctx.bufferData(target,HEAPU8.subarray(data,data+size),usage)}}function _emscripten_glBufferSubData(target,offset,size,data){GLctx.bufferSubData(target,offset,HEAPU8.subarray(data,data+size))}function _emscripten_glCheckFramebufferStatus(x0){return GLctx["checkFramebufferStatus"](x0)}function _emscripten_glClampColor(){err("missing function: emscripten_glClampColor");abort(-1)}function _emscripten_glClear(x0){GLctx["clear"](x0)}function _emscripten_glClearBufferfi(){err("missing function: emscripten_glClearBufferfi");abort(-1)}function _emscripten_glClearBufferfv(){err("missing function: emscripten_glClearBufferfv");abort(-1)}function _emscripten_glClearBufferiv(){err("missing function: emscripten_glClearBufferiv");abort(-1)}function _emscripten_glClearBufferuiv(){err("missing function: emscripten_glClearBufferuiv");abort(-1)}function _emscripten_glClearColor(x0,x1,x2,x3){GLctx["clearColor"](x0,x1,x2,x3)}function _emscripten_glClearDepth(x0){GLctx["clearDepth"](x0)}function _emscripten_glClearDepthf(x0){GLctx["clearDepth"](x0)}function _emscripten_glClearStencil(x0){GLctx["clearStencil"](x0)}function _emscripten_glClientActiveTexture(){err("missing function: emscripten_glClientActiveTexture");abort(-1)}function _emscripten_glColorMask(red,green,blue,alpha){GLctx.colorMask(!!red,!!green,!!blue,!!alpha)}function _emscripten_glColorMaski(){err("missing function: emscripten_glColorMaski");abort(-1)}function _emscripten_glColorPointer(){err("missing function: emscripten_glColorPointer");abort(-1)}function _emscripten_glCompileShader(shader){GLctx.compileShader(GL.shaders[shader])}function _emscripten_glCompressedTexImage2D(target,level,internalFormat,width,height,border,imageSize,data){GLctx["compressedTexImage2D"](target,level,internalFormat,width,height,border,data?HEAPU8.subarray(data,data+imageSize):null)}function _emscripten_glCompressedTexSubImage2D(target,level,xoffset,yoffset,width,height,format,imageSize,data){GLctx["compressedTexSubImage2D"](target,level,xoffset,yoffset,width,height,format,data?HEAPU8.subarray(data,data+imageSize):null)}function _emscripten_glCopyTexImage2D(x0,x1,x2,x3,x4,x5,x6,x7){GLctx["copyTexImage2D"](x0,x1,x2,x3,x4,x5,x6,x7)}function _emscripten_glCopyTexSubImage2D(x0,x1,x2,x3,x4,x5,x6,x7){GLctx["copyTexSubImage2D"](x0,x1,x2,x3,x4,x5,x6,x7)}function _emscripten_glCreateProgram(){var id=GL.getNewId(GL.programs);var program=GLctx.createProgram();program.name=id;GL.programs[id]=program;return id}function _emscripten_glCreateShader(shaderType){var id=GL.getNewId(GL.shaders);GL.shaders[id]=GLctx.createShader(shaderType);return id}function _emscripten_glCullFace(x0){GLctx["cullFace"](x0)}function _emscripten_glDeleteBuffers(n,buffers){for(var i=0;i<n;i++){var id=HEAP32[buffers+i*4>>2];var buffer=GL.buffers[id];if(!buffer)continue;GLctx.deleteBuffer(buffer);buffer.name=0;GL.buffers[id]=null;if(id==GL.currArrayBuffer)GL.currArrayBuffer=0;if(id==GL.currElementArrayBuffer)GL.currElementArrayBuffer=0}}function _emscripten_glDeleteFramebuffers(n,framebuffers){for(var i=0;i<n;++i){var id=HEAP32[framebuffers+i*4>>2];var framebuffer=GL.framebuffers[id];if(!framebuffer)continue;GLctx.deleteFramebuffer(framebuffer);framebuffer.name=0;GL.framebuffers[id]=null}}function _emscripten_glDeleteObjectARB(){err("missing function: emscripten_glDeleteObjectARB");abort(-1)}function _emscripten_glDeleteProgram(id){if(!id)return;var program=GL.programs[id];if(!program){GL.recordError(1281);return}GLctx.deleteProgram(program);program.name=0;GL.programs[id]=null;GL.programInfos[id]=null}function _emscripten_glDeleteRenderbuffers(n,renderbuffers){for(var i=0;i<n;i++){var id=HEAP32[renderbuffers+i*4>>2];var renderbuffer=GL.renderbuffers[id];if(!renderbuffer)continue;GLctx.deleteRenderbuffer(renderbuffer);renderbuffer.name=0;GL.renderbuffers[id]=null}}function _emscripten_glDeleteShader(id){if(!id)return;var shader=GL.shaders[id];if(!shader){GL.recordError(1281);return}GLctx.deleteShader(shader);GL.shaders[id]=null}function _emscripten_glDeleteTextures(n,textures){for(var i=0;i<n;i++){var id=HEAP32[textures+i*4>>2];var texture=GL.textures[id];if(!texture)continue;GLctx.deleteTexture(texture);texture.name=0;GL.textures[id]=null}}function _emscripten_glDeleteVertexArrays(n,vaos){for(var i=0;i<n;i++){var id=HEAP32[vaos+i*4>>2];GLctx["deleteVertexArray"](GL.vaos[id]);GL.vaos[id]=null}}function _emscripten_glDepthFunc(x0){GLctx["depthFunc"](x0)}function _emscripten_glDepthMask(flag){GLctx.depthMask(!!flag)}function _emscripten_glDepthRange(x0,x1){GLctx["depthRange"](x0,x1)}function _emscripten_glDepthRangef(x0,x1){GLctx["depthRange"](x0,x1)}function _emscripten_glDetachShader(program,shader){GLctx.detachShader(GL.programs[program],GL.shaders[shader])}function _emscripten_glDisable(x0){GLctx["disable"](x0)}function _emscripten_glDisableVertexAttribArray(index){GLctx.disableVertexAttribArray(index)}function _emscripten_glDisablei(){err("missing function: emscripten_glDisablei");abort(-1)}function _emscripten_glDrawArrays(mode,first,count){GLctx.drawArrays(mode,first,count)}function _emscripten_glDrawArraysInstanced(mode,first,count,primcount){GLctx["drawArraysInstanced"](mode,first,count,primcount)}function _emscripten_glDrawBuffers(n,bufs){var bufArray=GL.tempFixedLengthArray[n];for(var i=0;i<n;i++){bufArray[i]=HEAP32[bufs+i*4>>2]}GLctx["drawBuffers"](bufArray)}function _emscripten_glDrawElements(mode,count,type,indices){GLctx.drawElements(mode,count,type,indices)}function _emscripten_glDrawElementsInstanced(mode,count,type,indices,primcount){GLctx["drawElementsInstanced"](mode,count,type,indices,primcount)}function _emscripten_glDrawRangeElements(){err("missing function: emscripten_glDrawRangeElements");abort(-1)}function _emscripten_glEnable(x0){GLctx["enable"](x0)}function _emscripten_glEnableClientState(){err("missing function: emscripten_glEnableClientState");abort(-1)}function _emscripten_glEnableVertexAttribArray(index){GLctx.enableVertexAttribArray(index)}function _emscripten_glEnablei(){err("missing function: emscripten_glEnablei");abort(-1)}function _emscripten_glEndConditionalRender(){err("missing function: emscripten_glEndConditionalRender");abort(-1)}function _emscripten_glEndTransformFeedback(){err("missing function: emscripten_glEndTransformFeedback");abort(-1)}function _emscripten_glFinish(){GLctx["finish"]()}function _emscripten_glFlush(){GLctx["flush"]()}function _emscripten_glFramebufferRenderbuffer(target,attachment,renderbuffertarget,renderbuffer){GLctx.framebufferRenderbuffer(target,attachment,renderbuffertarget,GL.renderbuffers[renderbuffer])}function _emscripten_glFramebufferTexture2D(target,attachment,textarget,texture,level){GLctx.framebufferTexture2D(target,attachment,textarget,GL.textures[texture],level)}function _emscripten_glFrontFace(x0){GLctx["frontFace"](x0)}function _emscripten_glFrustum(){err("missing function: emscripten_glFrustum");abort(-1)}function _emscripten_glGenBuffers(n,buffers){for(var i=0;i<n;i++){var buffer=GLctx.createBuffer();if(!buffer){GL.recordError(1282);while(i<n)HEAP32[buffers+i++*4>>2]=0;return}var id=GL.getNewId(GL.buffers);buffer.name=id;GL.buffers[id]=buffer;HEAP32[buffers+i*4>>2]=id}}function _emscripten_glGenFramebuffers(n,ids){for(var i=0;i<n;++i){var framebuffer=GLctx.createFramebuffer();if(!framebuffer){GL.recordError(1282);while(i<n)HEAP32[ids+i++*4>>2]=0;return}var id=GL.getNewId(GL.framebuffers);framebuffer.name=id;GL.framebuffers[id]=framebuffer;HEAP32[ids+i*4>>2]=id}}function _emscripten_glGenRenderbuffers(n,renderbuffers){for(var i=0;i<n;i++){var renderbuffer=GLctx.createRenderbuffer();if(!renderbuffer){GL.recordError(1282);while(i<n)HEAP32[renderbuffers+i++*4>>2]=0;return}var id=GL.getNewId(GL.renderbuffers);renderbuffer.name=id;GL.renderbuffers[id]=renderbuffer;HEAP32[renderbuffers+i*4>>2]=id}}function _emscripten_glGenTextures(n,textures){for(var i=0;i<n;i++){var texture=GLctx.createTexture();if(!texture){GL.recordError(1282);while(i<n)HEAP32[textures+i++*4>>2]=0;return}var id=GL.getNewId(GL.textures);texture.name=id;GL.textures[id]=texture;HEAP32[textures+i*4>>2]=id}}function _emscripten_glGenVertexArrays(n,arrays){for(var i=0;i<n;i++){var vao=GLctx["createVertexArray"]();if(!vao){GL.recordError(1282);while(i<n)HEAP32[arrays+i++*4>>2]=0;return}var id=GL.getNewId(GL.vaos);vao.name=id;GL.vaos[id]=vao;HEAP32[arrays+i*4>>2]=id}}function _emscripten_glGenerateMipmap(x0){GLctx["generateMipmap"](x0)}function _emscripten_glGetActiveAttrib(program,index,bufSize,length,size,type,name){program=GL.programs[program];var info=GLctx.getActiveAttrib(program,index);if(!info)return;if(bufSize>0&&name){var numBytesWrittenExclNull=stringToUTF8(info.name,name,bufSize);if(length)HEAP32[length>>2]=numBytesWrittenExclNull}else{if(length)HEAP32[length>>2]=0}if(size)HEAP32[size>>2]=info.size;if(type)HEAP32[type>>2]=info.type}function _emscripten_glGetActiveUniform(program,index,bufSize,length,size,type,name){program=GL.programs[program];var info=GLctx.getActiveUniform(program,index);if(!info)return;if(bufSize>0&&name){var numBytesWrittenExclNull=stringToUTF8(info.name,name,bufSize);if(length)HEAP32[length>>2]=numBytesWrittenExclNull}else{if(length)HEAP32[length>>2]=0}if(size)HEAP32[size>>2]=info.size;if(type)HEAP32[type>>2]=info.type}function _emscripten_glGetActiveUniformBlockName(){err("missing function: emscripten_glGetActiveUniformBlockName");abort(-1)}function _emscripten_glGetActiveUniformBlockiv(){err("missing function: emscripten_glGetActiveUniformBlockiv");abort(-1)}function _emscripten_glGetActiveUniformName(){err("missing function: emscripten_glGetActiveUniformName");abort(-1)}function _emscripten_glGetActiveUniformsiv(){err("missing function: emscripten_glGetActiveUniformsiv");abort(-1)}function _emscripten_glGetAttachedShaders(program,maxCount,count,shaders){var result=GLctx.getAttachedShaders(GL.programs[program]);var len=result.length;if(len>maxCount){len=maxCount}HEAP32[count>>2]=len;for(var i=0;i<len;++i){var id=GL.shaders.indexOf(result[i]);HEAP32[shaders+i*4>>2]=id}}function _emscripten_glGetAttribLocation(program,name){program=GL.programs[program];name=Pointer_stringify(name);return GLctx.getAttribLocation(program,name)}function _emscripten_glGetBooleani_v(){err("missing function: emscripten_glGetBooleani_v");abort(-1)}function emscriptenWebGLGet(name_,p,type){if(!p){GL.recordError(1281);return}var ret=undefined;switch(name_){case 36346:ret=1;break;case 36344:if(type!=="Integer"&&type!=="Integer64"){GL.recordError(1280)}return;case 36345:ret=0;break;case 34466:var formats=GLctx.getParameter(34467);ret=formats.length;break}if(ret===undefined){var result=GLctx.getParameter(name_);switch(typeof result){case"number":ret=result;break;case"boolean":ret=result?1:0;break;case"string":GL.recordError(1280);return;case"object":if(result===null){switch(name_){case 34964:case 35725:case 34965:case 36006:case 36007:case 32873:case 34068:{ret=0;break};default:{GL.recordError(1280);return}}}else if(result instanceof Float32Array||result instanceof Uint32Array||result instanceof Int32Array||result instanceof Array){for(var i=0;i<result.length;++i){switch(type){case"Integer":HEAP32[p+i*4>>2]=result[i];break;case"Float":HEAPF32[p+i*4>>2]=result[i];break;case"Boolean":HEAP8[p+i>>0]=result[i]?1:0;break;default:throw"internal glGet error, bad type: "+type}}return}else if(result instanceof WebGLBuffer||result instanceof WebGLProgram||result instanceof WebGLFramebuffer||result instanceof WebGLRenderbuffer||result instanceof WebGLTexture){ret=result.name|0}else{GL.recordError(1280);return}break;default:GL.recordError(1280);return}}switch(type){case"Integer64":tempI64=[ret>>>0,(tempDouble=ret,+Math_abs(tempDouble)>=+1?tempDouble>+0?(Math_min(+Math_floor(tempDouble/+4294967296),+4294967295)|0)>>>0:~~+Math_ceil((tempDouble- +(~~tempDouble>>>0))/+4294967296)>>>0:0)],HEAP32[p>>2]=tempI64[0],HEAP32[p+4>>2]=tempI64[1];break;case"Integer":HEAP32[p>>2]=ret;break;case"Float":HEAPF32[p>>2]=ret;break;case"Boolean":HEAP8[p>>0]=ret?1:0;break;default:throw"internal glGet error, bad type: "+type}}function _emscripten_glGetBooleanv(name_,p){emscriptenWebGLGet(name_,p,"Boolean")}function _emscripten_glGetBufferParameteriv(target,value,data){if(!data){GL.recordError(1281);return}HEAP32[data>>2]=GLctx.getBufferParameter(target,value)}function _emscripten_glGetError(){if(GL.lastError){var error=GL.lastError;GL.lastError=0;return error}else{return GLctx.getError()}}function _emscripten_glGetFloatv(name_,p){emscriptenWebGLGet(name_,p,"Float")}function _emscripten_glGetFragDataLocation(){err("missing function: emscripten_glGetFragDataLocation");abort(-1)}function _emscripten_glGetFramebufferAttachmentParameteriv(target,attachment,pname,params){var result=GLctx.getFramebufferAttachmentParameter(target,attachment,pname);if(result instanceof WebGLRenderbuffer||result instanceof WebGLTexture){result=result.name|0}HEAP32[params>>2]=result}function _emscripten_glGetInfoLogARB(){err("missing function: emscripten_glGetInfoLogARB");abort(-1)}function _emscripten_glGetIntegeri_v(){err("missing function: emscripten_glGetIntegeri_v");abort(-1)}function _emscripten_glGetIntegerv(name_,p){emscriptenWebGLGet(name_,p,"Integer")}function _emscripten_glGetObjectParameterivARB(){err("missing function: emscripten_glGetObjectParameterivARB");abort(-1)}function _emscripten_glGetPointerv(){err("missing function: emscripten_glGetPointerv");abort(-1)}function _emscripten_glGetProgramInfoLog(program,maxLength,length,infoLog){var log=GLctx.getProgramInfoLog(GL.programs[program]);if(log===null)log="(unknown error)";if(maxLength>0&&infoLog){var numBytesWrittenExclNull=stringToUTF8(log,infoLog,maxLength);if(length)HEAP32[length>>2]=numBytesWrittenExclNull}else{if(length)HEAP32[length>>2]=0}}function _emscripten_glGetProgramiv(program,pname,p){if(!p){GL.recordError(1281);return}if(program>=GL.counter){GL.recordError(1281);return}var ptable=GL.programInfos[program];if(!ptable){GL.recordError(1282);return}if(pname==35716){var log=GLctx.getProgramInfoLog(GL.programs[program]);if(log===null)log="(unknown error)";HEAP32[p>>2]=log.length+1}else if(pname==35719){HEAP32[p>>2]=ptable.maxUniformLength}else if(pname==35722){if(ptable.maxAttributeLength==-1){program=GL.programs[program];var numAttribs=GLctx.getProgramParameter(program,GLctx.ACTIVE_ATTRIBUTES);ptable.maxAttributeLength=0;for(var i=0;i<numAttribs;++i){var activeAttrib=GLctx.getActiveAttrib(program,i);ptable.maxAttributeLength=Math.max(ptable.maxAttributeLength,activeAttrib.name.length+1)}}HEAP32[p>>2]=ptable.maxAttributeLength}else if(pname==35381){if(ptable.maxUniformBlockNameLength==-1){program=GL.programs[program];var numBlocks=GLctx.getProgramParameter(program,GLctx.ACTIVE_UNIFORM_BLOCKS);ptable.maxUniformBlockNameLength=0;for(var i=0;i<numBlocks;++i){var activeBlockName=GLctx.getActiveUniformBlockName(program,i);ptable.maxUniformBlockNameLength=Math.max(ptable.maxUniformBlockNameLength,activeBlockName.length+1)}}HEAP32[p>>2]=ptable.maxUniformBlockNameLength}else{HEAP32[p>>2]=GLctx.getProgramParameter(GL.programs[program],pname)}}function _emscripten_glGetRenderbufferParameteriv(target,pname,params){if(!params){GL.recordError(1281);return}HEAP32[params>>2]=GLctx.getRenderbufferParameter(target,pname)}function _emscripten_glGetShaderInfoLog(shader,maxLength,length,infoLog){var log=GLctx.getShaderInfoLog(GL.shaders[shader]);if(log===null)log="(unknown error)";if(maxLength>0&&infoLog){var numBytesWrittenExclNull=stringToUTF8(log,infoLog,maxLength);if(length)HEAP32[length>>2]=numBytesWrittenExclNull}else{if(length)HEAP32[length>>2]=0}}function _emscripten_glGetShaderPrecisionFormat(shaderType,precisionType,range,precision){var result=GLctx.getShaderPrecisionFormat(shaderType,precisionType);HEAP32[range>>2]=result.rangeMin;HEAP32[range+4>>2]=result.rangeMax;HEAP32[precision>>2]=result.precision}function _emscripten_glGetShaderSource(shader,bufSize,length,source){var result=GLctx.getShaderSource(GL.shaders[shader]);if(!result)return;if(bufSize>0&&source){var numBytesWrittenExclNull=stringToUTF8(result,source,bufSize);if(length)HEAP32[length>>2]=numBytesWrittenExclNull}else{if(length)HEAP32[length>>2]=0}}function _emscripten_glGetShaderiv(shader,pname,p){if(!p){GL.recordError(1281);return}if(pname==35716){var log=GLctx.getShaderInfoLog(GL.shaders[shader]);if(log===null)log="(unknown error)";HEAP32[p>>2]=log.length+1}else if(pname==35720){var source=GLctx.getShaderSource(GL.shaders[shader]);var sourceLength=source===null||source.length==0?0:source.length+1;HEAP32[p>>2]=sourceLength}else{HEAP32[p>>2]=GLctx.getShaderParameter(GL.shaders[shader],pname)}}function _emscripten_glGetString(name_){if(GL.stringCache[name_])return GL.stringCache[name_];var ret;switch(name_){case 7936:case 7937:case 37445:case 37446:ret=allocate(intArrayFromString(GLctx.getParameter(name_)),"i8",ALLOC_NORMAL);break;case 7938:var glVersion=GLctx.getParameter(GLctx.VERSION);{glVersion="OpenGL ES 2.0 ("+glVersion+")"}ret=allocate(intArrayFromString(glVersion),"i8",ALLOC_NORMAL);break;case 7939:var exts=GLctx.getSupportedExtensions();var gl_exts=[];for(var i=0;i<exts.length;++i){gl_exts.push(exts[i]);gl_exts.push("GL_"+exts[i])}ret=allocate(intArrayFromString(gl_exts.join(" ")),"i8",ALLOC_NORMAL);break;case 35724:var glslVersion=GLctx.getParameter(GLctx.SHADING_LANGUAGE_VERSION);var ver_re=/^WebGL GLSL ES ([0-9]\.[0-9][0-9]?)(?:$| .*)/;var ver_num=glslVersion.match(ver_re);if(ver_num!==null){if(ver_num[1].length==3)ver_num[1]=ver_num[1]+"0";glslVersion="OpenGL ES GLSL ES "+ver_num[1]+" ("+glslVersion+")"}ret=allocate(intArrayFromString(glslVersion),"i8",ALLOC_NORMAL);break;default:GL.recordError(1280);return 0}GL.stringCache[name_]=ret;return ret}function _emscripten_glGetStringi(){err("missing function: emscripten_glGetStringi");abort(-1)}function _emscripten_glGetTexParameterIiv(){err("missing function: emscripten_glGetTexParameterIiv");abort(-1)}function _emscripten_glGetTexParameterIuiv(){err("missing function: emscripten_glGetTexParameterIuiv");abort(-1)}function _emscripten_glGetTexParameterfv(target,pname,params){if(!params){GL.recordError(1281);return}HEAPF32[params>>2]=GLctx.getTexParameter(target,pname)}function _emscripten_glGetTexParameteriv(target,pname,params){if(!params){GL.recordError(1281);return}HEAP32[params>>2]=GLctx.getTexParameter(target,pname)}function _emscripten_glGetTransformFeedbackVarying(){err("missing function: emscripten_glGetTransformFeedbackVarying");abort(-1)}function _emscripten_glGetUniformBlockIndex(){err("missing function: emscripten_glGetUniformBlockIndex");abort(-1)}function _emscripten_glGetUniformIndices(){err("missing function: emscripten_glGetUniformIndices");abort(-1)}function _emscripten_glGetUniformLocation(program,name){name=Pointer_stringify(name);var arrayOffset=0;if(name.indexOf("]",name.length-1)!==-1){var ls=name.lastIndexOf("[");var arrayIndex=name.slice(ls+1,-1);if(arrayIndex.length>0){arrayOffset=parseInt(arrayIndex);if(arrayOffset<0){return-1}}name=name.slice(0,ls)}var ptable=GL.programInfos[program];if(!ptable){return-1}var utable=ptable.uniforms;var uniformInfo=utable[name];if(uniformInfo&&arrayOffset<uniformInfo[0]){return uniformInfo[1]+arrayOffset}else{return-1}}function emscriptenWebGLGetUniform(program,location,params,type){if(!params){GL.recordError(1281);return}var data=GLctx.getUniform(GL.programs[program],GL.uniforms[location]);if(typeof data=="number"||typeof data=="boolean"){switch(type){case"Integer":HEAP32[params>>2]=data;break;case"Float":HEAPF32[params>>2]=data;break;default:throw"internal emscriptenWebGLGetUniform() error, bad type: "+type}}else{for(var i=0;i<data.length;i++){switch(type){case"Integer":HEAP32[params+i*4>>2]=data[i];break;case"Float":HEAPF32[params+i*4>>2]=data[i];break;default:throw"internal emscriptenWebGLGetUniform() error, bad type: "+type}}}}function _emscripten_glGetUniformfv(program,location,params){emscriptenWebGLGetUniform(program,location,params,"Float")}function _emscripten_glGetUniformiv(program,location,params){emscriptenWebGLGetUniform(program,location,params,"Integer")}function _emscripten_glGetUniformuiv(){err("missing function: emscripten_glGetUniformuiv");abort(-1)}function _emscripten_glGetVertexAttribIiv(){err("missing function: emscripten_glGetVertexAttribIiv");abort(-1)}function _emscripten_glGetVertexAttribIuiv(){err("missing function: emscripten_glGetVertexAttribIuiv");abort(-1)}function _emscripten_glGetVertexAttribPointerv(index,pname,pointer){if(!pointer){GL.recordError(1281);return}HEAP32[pointer>>2]=GLctx.getVertexAttribOffset(index,pname)}function emscriptenWebGLGetVertexAttrib(index,pname,params,type){if(!params){GL.recordError(1281);return}var data=GLctx.getVertexAttrib(index,pname);if(pname==34975){HEAP32[params>>2]=data["name"]}else if(typeof data=="number"||typeof data=="boolean"){switch(type){case"Integer":HEAP32[params>>2]=data;break;case"Float":HEAPF32[params>>2]=data;break;case"FloatToInteger":HEAP32[params>>2]=Math.fround(data);break;default:throw"internal emscriptenWebGLGetVertexAttrib() error, bad type: "+type}}else{for(var i=0;i<data.length;i++){switch(type){case"Integer":HEAP32[params+i*4>>2]=data[i];break;case"Float":HEAPF32[params+i*4>>2]=data[i];break;case"FloatToInteger":HEAP32[params+i*4>>2]=Math.fround(data[i]);break;default:throw"internal emscriptenWebGLGetVertexAttrib() error, bad type: "+type}}}}function _emscripten_glGetVertexAttribfv(index,pname,params){emscriptenWebGLGetVertexAttrib(index,pname,params,"Float")}function _emscripten_glGetVertexAttribiv(index,pname,params){emscriptenWebGLGetVertexAttrib(index,pname,params,"FloatToInteger")}function _emscripten_glHint(x0,x1){GLctx["hint"](x0,x1)}function _emscripten_glIsBuffer(buffer){var b=GL.buffers[buffer];if(!b)return 0;return GLctx.isBuffer(b)}function _emscripten_glIsEnabled(x0){return GLctx["isEnabled"](x0)}function _emscripten_glIsEnabledi(){err("missing function: emscripten_glIsEnabledi");abort(-1)}function _emscripten_glIsFramebuffer(framebuffer){var fb=GL.framebuffers[framebuffer];if(!fb)return 0;return GLctx.isFramebuffer(fb)}function _emscripten_glIsProgram(program){program=GL.programs[program];if(!program)return 0;return GLctx.isProgram(program)}function _emscripten_glIsRenderbuffer(renderbuffer){var rb=GL.renderbuffers[renderbuffer];if(!rb)return 0;return GLctx.isRenderbuffer(rb)}function _emscripten_glIsShader(shader){var s=GL.shaders[shader];if(!s)return 0;return GLctx.isShader(s)}function _emscripten_glIsTexture(texture){var texture=GL.textures[texture];if(!texture)return 0;return GLctx.isTexture(texture)}function _emscripten_glIsVertexArray(array){var vao=GL.vaos[array];if(!vao)return 0;return GLctx["isVertexArray"](vao)}function _emscripten_glLineWidth(x0){GLctx["lineWidth"](x0)}function _emscripten_glLinkProgram(program){GLctx.linkProgram(GL.programs[program]);GL.programInfos[program]=null;GL.populateUniformTable(program)}function _emscripten_glLoadIdentity(){throw"Legacy GL function (glLoadIdentity) called. If you want legacy GL emulation, you need to compile with -s LEGACY_GL_EMULATION=1 to enable legacy GL emulation."}function _emscripten_glLoadMatrixf(){err("missing function: emscripten_glLoadMatrixf");abort(-1)}function _emscripten_glMatrixMode(){throw"Legacy GL function (glMatrixMode) called. If you want legacy GL emulation, you need to compile with -s LEGACY_GL_EMULATION=1 to enable legacy GL emulation."}function _emscripten_glNormalPointer(){err("missing function: emscripten_glNormalPointer");abort(-1)}function _emscripten_glPixelStorei(pname,param){if(pname==3333){GL.packAlignment=param}else if(pname==3317){GL.unpackAlignment=param}GLctx.pixelStorei(pname,param)}function _emscripten_glPolygonOffset(x0,x1){GLctx["polygonOffset"](x0,x1)}function emscriptenWebGLComputeImageSize(width,height,sizePerPixel,alignment){function roundedToNextMultipleOf(x,y){return Math.floor((x+y-1)/y)*y}var plainRowSize=width*sizePerPixel;var alignedRowSize=roundedToNextMultipleOf(plainRowSize,alignment);return height<=0?0:(height-1)*alignedRowSize+plainRowSize}function emscriptenWebGLGetTexPixelData(type,format,width,height,pixels,internalFormat){var sizePerPixel;var numChannels;switch(format){case 6406:case 6409:case 6402:numChannels=1;break;case 6410:numChannels=2;break;case 6407:case 35904:numChannels=3;break;case 6408:case 35906:numChannels=4;break;default:GL.recordError(1280);return null}switch(type){case 5121:sizePerPixel=numChannels*1;break;case 5123:case 36193:sizePerPixel=numChannels*2;break;case 5125:case 5126:sizePerPixel=numChannels*4;break;case 34042:sizePerPixel=4;break;case 33635:case 32819:case 32820:sizePerPixel=2;break;default:GL.recordError(1280);return null}var bytes=emscriptenWebGLComputeImageSize(width,height,sizePerPixel,GL.unpackAlignment);switch(type){case 5121:return HEAPU8.subarray(pixels,pixels+bytes);case 5126:return HEAPF32.subarray(pixels>>2,pixels+bytes>>2);case 5125:case 34042:return HEAPU32.subarray(pixels>>2,pixels+bytes>>2);case 5123:case 33635:case 32819:case 32820:case 36193:return HEAPU16.subarray(pixels>>1,pixels+bytes>>1);default:GL.recordError(1280);return null}}function _emscripten_glReadPixels(x,y,width,height,format,type,pixels){var pixelData=emscriptenWebGLGetTexPixelData(type,format,width,height,pixels,format);if(!pixelData){GL.recordError(1280);return}GLctx.readPixels(x,y,width,height,format,type,pixelData)}function _emscripten_glReleaseShaderCompiler(){}function _emscripten_glRenderbufferStorage(x0,x1,x2,x3){GLctx["renderbufferStorage"](x0,x1,x2,x3)}function _emscripten_glRotatef(){err("missing function: emscripten_glRotatef");abort(-1)}function _emscripten_glSampleCoverage(value,invert){GLctx.sampleCoverage(value,!!invert)}function _emscripten_glScissor(x0,x1,x2,x3){GLctx["scissor"](x0,x1,x2,x3)}function _emscripten_glShaderBinary(){GL.recordError(1280)}function _emscripten_glShaderSource(shader,count,string,length){var source=GL.getSource(shader,count,string,length);GLctx.shaderSource(GL.shaders[shader],source)}function _emscripten_glStencilFunc(x0,x1,x2){GLctx["stencilFunc"](x0,x1,x2)}function _emscripten_glStencilFuncSeparate(x0,x1,x2,x3){GLctx["stencilFuncSeparate"](x0,x1,x2,x3)}function _emscripten_glStencilMask(x0){GLctx["stencilMask"](x0)}function _emscripten_glStencilMaskSeparate(x0,x1){GLctx["stencilMaskSeparate"](x0,x1)}function _emscripten_glStencilOp(x0,x1,x2){GLctx["stencilOp"](x0,x1,x2)}function _emscripten_glStencilOpSeparate(x0,x1,x2,x3){GLctx["stencilOpSeparate"](x0,x1,x2,x3)}function _emscripten_glTexCoordPointer(){err("missing function: emscripten_glTexCoordPointer");abort(-1)}function _emscripten_glTexImage2D(target,level,internalFormat,width,height,border,format,type,pixels){var pixelData=null;if(pixels)pixelData=emscriptenWebGLGetTexPixelData(type,format,width,height,pixels,internalFormat);GLctx.texImage2D(target,level,internalFormat,width,height,border,format,type,pixelData)}function _emscripten_glTexImage3D(){err("missing function: emscripten_glTexImage3D");abort(-1)}function _emscripten_glTexParameterIiv(){err("missing function: emscripten_glTexParameterIiv");abort(-1)}function _emscripten_glTexParameterIuiv(){err("missing function: emscripten_glTexParameterIuiv");abort(-1)}function _emscripten_glTexParameterf(x0,x1,x2){GLctx["texParameterf"](x0,x1,x2)}function _emscripten_glTexParameterfv(target,pname,params){var param=HEAPF32[params>>2];GLctx.texParameterf(target,pname,param)}function _emscripten_glTexParameteri(x0,x1,x2){GLctx["texParameteri"](x0,x1,x2)}function _emscripten_glTexParameteriv(target,pname,params){var param=HEAP32[params>>2];GLctx.texParameteri(target,pname,param)}function _emscripten_glTexStorage2D(){err("missing function: emscripten_glTexStorage2D");abort(-1)}function _emscripten_glTexStorage3D(){err("missing function: emscripten_glTexStorage3D");abort(-1)}function _emscripten_glTexSubImage2D(target,level,xoffset,yoffset,width,height,format,type,pixels){var pixelData=null;if(pixels)pixelData=emscriptenWebGLGetTexPixelData(type,format,width,height,pixels,0);GLctx.texSubImage2D(target,level,xoffset,yoffset,width,height,format,type,pixelData)}function _emscripten_glTexSubImage3D(){err("missing function: emscripten_glTexSubImage3D");abort(-1)}function _emscripten_glTransformFeedbackVaryings(){err("missing function: emscripten_glTransformFeedbackVaryings");abort(-1)}function _emscripten_glUniform1f(location,v0){GLctx.uniform1f(GL.uniforms[location],v0)}function _emscripten_glUniform1fv(location,count,value){var view;if(count<=GL.MINI_TEMP_BUFFER_SIZE){view=GL.miniTempBufferViews[count-1];for(var i=0;i<count;++i){view[i]=HEAPF32[value+4*i>>2]}}else{view=HEAPF32.subarray(value>>2,value+count*4>>2)}GLctx.uniform1fv(GL.uniforms[location],view)}function _emscripten_glUniform1i(location,v0){GLctx.uniform1i(GL.uniforms[location],v0)}function _emscripten_glUniform1iv(location,count,value){GLctx.uniform1iv(GL.uniforms[location],HEAP32.subarray(value>>2,value+count*4>>2))}function _emscripten_glUniform1ui(){err("missing function: emscripten_glUniform1ui");abort(-1)}function _emscripten_glUniform2f(location,v0,v1){GLctx.uniform2f(GL.uniforms[location],v0,v1)}function _emscripten_glUniform2fv(location,count,value){var view;if(2*count<=GL.MINI_TEMP_BUFFER_SIZE){view=GL.miniTempBufferViews[2*count-1];for(var i=0;i<2*count;i+=2){view[i]=HEAPF32[value+4*i>>2];view[i+1]=HEAPF32[value+(4*i+4)>>2]}}else{view=HEAPF32.subarray(value>>2,value+count*8>>2)}GLctx.uniform2fv(GL.uniforms[location],view)}function _emscripten_glUniform2i(location,v0,v1){GLctx.uniform2i(GL.uniforms[location],v0,v1)}function _emscripten_glUniform2iv(location,count,value){GLctx.uniform2iv(GL.uniforms[location],HEAP32.subarray(value>>2,value+count*8>>2))}function _emscripten_glUniform2ui(){err("missing function: emscripten_glUniform2ui");abort(-1)}function _emscripten_glUniform3f(location,v0,v1,v2){GLctx.uniform3f(GL.uniforms[location],v0,v1,v2)}function _emscripten_glUniform3fv(location,count,value){var view;if(3*count<=GL.MINI_TEMP_BUFFER_SIZE){view=GL.miniTempBufferViews[3*count-1];for(var i=0;i<3*count;i+=3){view[i]=HEAPF32[value+4*i>>2];view[i+1]=HEAPF32[value+(4*i+4)>>2];view[i+2]=HEAPF32[value+(4*i+8)>>2]}}else{view=HEAPF32.subarray(value>>2,value+count*12>>2)}GLctx.uniform3fv(GL.uniforms[location],view)}function _emscripten_glUniform3i(location,v0,v1,v2){GLctx.uniform3i(GL.uniforms[location],v0,v1,v2)}function _emscripten_glUniform3iv(location,count,value){GLctx.uniform3iv(GL.uniforms[location],HEAP32.subarray(value>>2,value+count*12>>2))}function _emscripten_glUniform3ui(){err("missing function: emscripten_glUniform3ui");abort(-1)}function _emscripten_glUniform4f(location,v0,v1,v2,v3){GLctx.uniform4f(GL.uniforms[location],v0,v1,v2,v3)}function _emscripten_glUniform4fv(location,count,value){var view;if(4*count<=GL.MINI_TEMP_BUFFER_SIZE){view=GL.miniTempBufferViews[4*count-1];for(var i=0;i<4*count;i+=4){view[i]=HEAPF32[value+4*i>>2];view[i+1]=HEAPF32[value+(4*i+4)>>2];view[i+2]=HEAPF32[value+(4*i+8)>>2];view[i+3]=HEAPF32[value+(4*i+12)>>2]}}else{view=HEAPF32.subarray(value>>2,value+count*16>>2)}GLctx.uniform4fv(GL.uniforms[location],view)}function _emscripten_glUniform4i(location,v0,v1,v2,v3){GLctx.uniform4i(GL.uniforms[location],v0,v1,v2,v3)}function _emscripten_glUniform4iv(location,count,value){GLctx.uniform4iv(GL.uniforms[location],HEAP32.subarray(value>>2,value+count*16>>2))}function _emscripten_glUniform4ui(){err("missing function: emscripten_glUniform4ui");abort(-1)}function _emscripten_glUniformBlockBinding(){err("missing function: emscripten_glUniformBlockBinding");abort(-1)}function _emscripten_glUniformMatrix2fv(location,count,transpose,value){var view;if(4*count<=GL.MINI_TEMP_BUFFER_SIZE){view=GL.miniTempBufferViews[4*count-1];for(var i=0;i<4*count;i+=4){view[i]=HEAPF32[value+4*i>>2];view[i+1]=HEAPF32[value+(4*i+4)>>2];view[i+2]=HEAPF32[value+(4*i+8)>>2];view[i+3]=HEAPF32[value+(4*i+12)>>2]}}else{view=HEAPF32.subarray(value>>2,value+count*16>>2)}GLctx.uniformMatrix2fv(GL.uniforms[location],!!transpose,view)}function _emscripten_glUniformMatrix3fv(location,count,transpose,value){var view;if(9*count<=GL.MINI_TEMP_BUFFER_SIZE){view=GL.miniTempBufferViews[9*count-1];for(var i=0;i<9*count;i+=9){view[i]=HEAPF32[value+4*i>>2];view[i+1]=HEAPF32[value+(4*i+4)>>2];view[i+2]=HEAPF32[value+(4*i+8)>>2];view[i+3]=HEAPF32[value+(4*i+12)>>2];view[i+4]=HEAPF32[value+(4*i+16)>>2];view[i+5]=HEAPF32[value+(4*i+20)>>2];view[i+6]=HEAPF32[value+(4*i+24)>>2];view[i+7]=HEAPF32[value+(4*i+28)>>2];view[i+8]=HEAPF32[value+(4*i+32)>>2]}}else{view=HEAPF32.subarray(value>>2,value+count*36>>2)}GLctx.uniformMatrix3fv(GL.uniforms[location],!!transpose,view)}function _emscripten_glUniformMatrix4fv(location,count,transpose,value){var view;if(16*count<=GL.MINI_TEMP_BUFFER_SIZE){view=GL.miniTempBufferViews[16*count-1];for(var i=0;i<16*count;i+=16){view[i]=HEAPF32[value+4*i>>2];view[i+1]=HEAPF32[value+(4*i+4)>>2];view[i+2]=HEAPF32[value+(4*i+8)>>2];view[i+3]=HEAPF32[value+(4*i+12)>>2];view[i+4]=HEAPF32[value+(4*i+16)>>2];view[i+5]=HEAPF32[value+(4*i+20)>>2];view[i+6]=HEAPF32[value+(4*i+24)>>2];view[i+7]=HEAPF32[value+(4*i+28)>>2];view[i+8]=HEAPF32[value+(4*i+32)>>2];view[i+9]=HEAPF32[value+(4*i+36)>>2];view[i+10]=HEAPF32[value+(4*i+40)>>2];view[i+11]=HEAPF32[value+(4*i+44)>>2];view[i+12]=HEAPF32[value+(4*i+48)>>2];view[i+13]=HEAPF32[value+(4*i+52)>>2];view[i+14]=HEAPF32[value+(4*i+56)>>2];view[i+15]=HEAPF32[value+(4*i+60)>>2]}}else{view=HEAPF32.subarray(value>>2,value+count*64>>2)}GLctx.uniformMatrix4fv(GL.uniforms[location],!!transpose,view)}function _emscripten_glUseProgram(program){GLctx.useProgram(program?GL.programs[program]:null)}function _emscripten_glValidateProgram(program){GLctx.validateProgram(GL.programs[program])}function _emscripten_glVertexAttrib1f(x0,x1){GLctx["vertexAttrib1f"](x0,x1)}function _emscripten_glVertexAttrib1fv(index,v){GLctx.vertexAttrib1f(index,HEAPF32[v>>2])}function _emscripten_glVertexAttrib2f(x0,x1,x2){GLctx["vertexAttrib2f"](x0,x1,x2)}function _emscripten_glVertexAttrib2fv(index,v){GLctx.vertexAttrib2f(index,HEAPF32[v>>2],HEAPF32[v+4>>2])}function _emscripten_glVertexAttrib3f(x0,x1,x2,x3){GLctx["vertexAttrib3f"](x0,x1,x2,x3)}function _emscripten_glVertexAttrib3fv(index,v){GLctx.vertexAttrib3f(index,HEAPF32[v>>2],HEAPF32[v+4>>2],HEAPF32[v+8>>2])}function _emscripten_glVertexAttrib4f(x0,x1,x2,x3,x4){GLctx["vertexAttrib4f"](x0,x1,x2,x3,x4)}function _emscripten_glVertexAttrib4fv(index,v){GLctx.vertexAttrib4f(index,HEAPF32[v>>2],HEAPF32[v+4>>2],HEAPF32[v+8>>2],HEAPF32[v+12>>2])}function _emscripten_glVertexAttribDivisor(index,divisor){GLctx["vertexAttribDivisor"](index,divisor)}function _emscripten_glVertexAttribI1i(){err("missing function: emscripten_glVertexAttribI1i");abort(-1)}function _emscripten_glVertexAttribI1iv(){err("missing function: emscripten_glVertexAttribI1iv");abort(-1)}function _emscripten_glVertexAttribI1ui(){err("missing function: emscripten_glVertexAttribI1ui");abort(-1)}function _emscripten_glVertexAttribI1uiv(){err("missing function: emscripten_glVertexAttribI1uiv");abort(-1)}function _emscripten_glVertexAttribI2i(){err("missing function: emscripten_glVertexAttribI2i");abort(-1)}function _emscripten_glVertexAttribI2iv(){err("missing function: emscripten_glVertexAttribI2iv");abort(-1)}function _emscripten_glVertexAttribI2ui(){err("missing function: emscripten_glVertexAttribI2ui");abort(-1)}function _emscripten_glVertexAttribI2uiv(){err("missing function: emscripten_glVertexAttribI2uiv");abort(-1)}function _emscripten_glVertexAttribI3i(){err("missing function: emscripten_glVertexAttribI3i");abort(-1)}function _emscripten_glVertexAttribI3iv(){err("missing function: emscripten_glVertexAttribI3iv");abort(-1)}function _emscripten_glVertexAttribI3ui(){err("missing function: emscripten_glVertexAttribI3ui");abort(-1)}function _emscripten_glVertexAttribI3uiv(){err("missing function: emscripten_glVertexAttribI3uiv");abort(-1)}function _emscripten_glVertexAttribI4bv(){err("missing function: emscripten_glVertexAttribI4bv");abort(-1)}function _emscripten_glVertexAttribI4i(){err("missing function: emscripten_glVertexAttribI4i");abort(-1)}function _emscripten_glVertexAttribI4iv(){err("missing function: emscripten_glVertexAttribI4iv");abort(-1)}function _emscripten_glVertexAttribI4sv(){err("missing function: emscripten_glVertexAttribI4sv");abort(-1)}function _emscripten_glVertexAttribI4ubv(){err("missing function: emscripten_glVertexAttribI4ubv");abort(-1)}function _emscripten_glVertexAttribI4ui(){err("missing function: emscripten_glVertexAttribI4ui");abort(-1)}function _emscripten_glVertexAttribI4uiv(){err("missing function: emscripten_glVertexAttribI4uiv");abort(-1)}function _emscripten_glVertexAttribI4usv(){err("missing function: emscripten_glVertexAttribI4usv");abort(-1)}function _emscripten_glVertexAttribIPointer(){err("missing function: emscripten_glVertexAttribIPointer");abort(-1)}function _emscripten_glVertexAttribPointer(index,size,type,normalized,stride,ptr){GLctx.vertexAttribPointer(index,size,type,!!normalized,stride,ptr)}function _emscripten_glVertexPointer(){throw"Legacy GL function (glVertexPointer) called. If you want legacy GL emulation, you need to compile with -s LEGACY_GL_EMULATION=1 to enable legacy GL emulation."}function _emscripten_glViewport(x0,x1,x2,x3){GLctx["viewport"](x0,x1,x2,x3)}function __setLetterbox(element,topBottom,leftRight){if(JSEvents.isInternetExplorer()){element.style.marginLeft=element.style.marginRight=leftRight+"px";element.style.marginTop=element.style.marginBottom=topBottom+"px"}else{element.style.paddingLeft=element.style.paddingRight=leftRight+"px";element.style.paddingTop=element.style.paddingBottom=topBottom+"px"}}function _emscripten_do_request_fullscreen(target,strategy){if(typeof JSEvents.fullscreenEnabled()==="undefined")return-1;if(!JSEvents.fullscreenEnabled())return-3;if(!target)target="#canvas";target=JSEvents.findEventTarget(target);if(!target)return-4;if(!target.requestFullscreen&&!target.msRequestFullscreen&&!target.mozRequestFullScreen&&!target.mozRequestFullscreen&&!target.webkitRequestFullscreen){return-3}var canPerformRequests=JSEvents.canPerformEventHandlerRequests();if(!canPerformRequests){if(strategy.deferUntilInEventHandler){JSEvents.deferCall(JSEvents.requestFullscreen,1,[target,strategy]);return 1}else{return-2}}return JSEvents.requestFullscreen(target,strategy)}function __registerRestoreOldStyle(canvas){var oldWidth=canvas.width;var oldHeight=canvas.height;var oldCssWidth=canvas.style.width;var oldCssHeight=canvas.style.height;var oldBackgroundColor=canvas.style.backgroundColor;var oldDocumentBackgroundColor=document.body.style.backgroundColor;var oldPaddingLeft=canvas.style.paddingLeft;var oldPaddingRight=canvas.style.paddingRight;var oldPaddingTop=canvas.style.paddingTop;var oldPaddingBottom=canvas.style.paddingBottom;var oldMarginLeft=canvas.style.marginLeft;var oldMarginRight=canvas.style.marginRight;var oldMarginTop=canvas.style.marginTop;var oldMarginBottom=canvas.style.marginBottom;var oldDocumentBodyMargin=document.body.style.margin;var oldDocumentOverflow=document.documentElement.style.overflow;var oldDocumentScroll=document.body.scroll;var oldImageRendering=canvas.style.imageRendering;function restoreOldStyle(){var fullscreenElement=document.fullscreenElement||document.mozFullScreenElement||document.webkitFullscreenElement||document.msFullscreenElement;if(!fullscreenElement){document.removeEventListener("fullscreenchange",restoreOldStyle);document.removeEventListener("mozfullscreenchange",restoreOldStyle);document.removeEventListener("webkitfullscreenchange",restoreOldStyle);document.removeEventListener("MSFullscreenChange",restoreOldStyle);canvas.width=oldWidth;canvas.height=oldHeight;canvas.style.width=oldCssWidth;canvas.style.height=oldCssHeight;canvas.style.backgroundColor=oldBackgroundColor;if(!oldDocumentBackgroundColor)document.body.style.backgroundColor="white";document.body.style.backgroundColor=oldDocumentBackgroundColor;canvas.style.paddingLeft=oldPaddingLeft;canvas.style.paddingRight=oldPaddingRight;canvas.style.paddingTop=oldPaddingTop;canvas.style.paddingBottom=oldPaddingBottom;canvas.style.marginLeft=oldMarginLeft;canvas.style.marginRight=oldMarginRight;canvas.style.marginTop=oldMarginTop;canvas.style.marginBottom=oldMarginBottom;document.body.style.margin=oldDocumentBodyMargin;document.documentElement.style.overflow=oldDocumentOverflow;document.body.scroll=oldDocumentScroll;canvas.style.imageRendering=oldImageRendering;if(canvas.GLctxObject)canvas.GLctxObject.GLctx.viewport(0,0,oldWidth,oldHeight);if(__currentFullscreenStrategy.canvasResizedCallback){Module["dynCall_iiii"](__currentFullscreenStrategy.canvasResizedCallback,37,0,__currentFullscreenStrategy.canvasResizedCallbackUserData)}}}document.addEventListener("fullscreenchange",restoreOldStyle);document.addEventListener("mozfullscreenchange",restoreOldStyle);document.addEventListener("webkitfullscreenchange",restoreOldStyle);document.addEventListener("MSFullscreenChange",restoreOldStyle);return restoreOldStyle}function _emscripten_request_fullscreen_strategy(target,deferUntilInEventHandler,fullscreenStrategy){var strategy={};strategy.scaleMode=HEAP32[fullscreenStrategy>>2];strategy.canvasResolutionScaleMode=HEAP32[fullscreenStrategy+4>>2];strategy.filteringMode=HEAP32[fullscreenStrategy+8>>2];strategy.deferUntilInEventHandler=deferUntilInEventHandler;strategy.canvasResizedCallback=HEAP32[fullscreenStrategy+12>>2];strategy.canvasResizedCallbackUserData=HEAP32[fullscreenStrategy+16>>2];__currentFullscreenStrategy=strategy;return _emscripten_do_request_fullscreen(target,strategy)}function _emscripten_request_pointerlock(target,deferUntilInEventHandler){if(!target)target="#canvas";target=JSEvents.findEventTarget(target);if(!target)return-4;if(!target.requestPointerLock&&!target.mozRequestPointerLock&&!target.webkitRequestPointerLock&&!target.msRequestPointerLock){return-1}var canPerformRequests=JSEvents.canPerformEventHandlerRequests();if(!canPerformRequests){if(deferUntilInEventHandler){JSEvents.deferCall(JSEvents.requestPointerLock,2,[target]);return 1}else{return-2}}return JSEvents.requestPointerLock(target)}function _emscripten_set_blur_callback(target,userData,useCapture,callbackfunc){JSEvents.registerFocusEventCallback(target,userData,useCapture,callbackfunc,12,"blur");return 0}function _emscripten_set_canvas_size(width,height){Browser.setCanvasSize(width,height)}function _emscripten_set_element_css_size(target,width,height){if(!target){target=Module["canvas"]}else{target=JSEvents.findEventTarget(target)}if(!target)return-4;target.style.setProperty("width",width+"px");target.style.setProperty("height",height+"px");return 0}function _emscripten_set_focus_callback(target,userData,useCapture,callbackfunc){JSEvents.registerFocusEventCallback(target,userData,useCapture,callbackfunc,13,"focus");return 0}function _emscripten_set_fullscreenchange_callback(target,userData,useCapture,callbackfunc){if(typeof JSEvents.fullscreenEnabled()==="undefined")return-1;if(!target)target=document;else{target=JSEvents.findEventTarget(target);if(!target)return-4}JSEvents.registerFullscreenChangeEventCallback(target,userData,useCapture,callbackfunc,19,"fullscreenchange");JSEvents.registerFullscreenChangeEventCallback(target,userData,useCapture,callbackfunc,19,"mozfullscreenchange");JSEvents.registerFullscreenChangeEventCallback(target,userData,useCapture,callbackfunc,19,"webkitfullscreenchange");JSEvents.registerFullscreenChangeEventCallback(target,userData,useCapture,callbackfunc,19,"msfullscreenchange");return 0}function _emscripten_set_gamepadconnected_callback(userData,useCapture,callbackfunc){if(!navigator.getGamepads&&!navigator.webkitGetGamepads)return-1;JSEvents.registerGamepadEventCallback(window,userData,useCapture,callbackfunc,26,"gamepadconnected");return 0}function _emscripten_set_gamepaddisconnected_callback(userData,useCapture,callbackfunc){if(!navigator.getGamepads&&!navigator.webkitGetGamepads)return-1;JSEvents.registerGamepadEventCallback(window,userData,useCapture,callbackfunc,27,"gamepaddisconnected");return 0}function _emscripten_set_keydown_callback(target,userData,useCapture,callbackfunc){JSEvents.registerKeyEventCallback(target,userData,useCapture,callbackfunc,2,"keydown");return 0}function _emscripten_set_keypress_callback(target,userData,useCapture,callbackfunc){JSEvents.registerKeyEventCallback(target,userData,useCapture,callbackfunc,1,"keypress");return 0}function _emscripten_set_keyup_callback(target,userData,useCapture,callbackfunc){JSEvents.registerKeyEventCallback(target,userData,useCapture,callbackfunc,3,"keyup");return 0}function _emscripten_set_mousedown_callback(target,userData,useCapture,callbackfunc){JSEvents.registerMouseEventCallback(target,userData,useCapture,callbackfunc,5,"mousedown");return 0}function _emscripten_set_mouseenter_callback(target,userData,useCapture,callbackfunc){JSEvents.registerMouseEventCallback(target,userData,useCapture,callbackfunc,33,"mouseenter");return 0}function _emscripten_set_mouseleave_callback(target,userData,useCapture,callbackfunc){JSEvents.registerMouseEventCallback(target,userData,useCapture,callbackfunc,34,"mouseleave");return 0}function _emscripten_set_mousemove_callback(target,userData,useCapture,callbackfunc){JSEvents.registerMouseEventCallback(target,userData,useCapture,callbackfunc,8,"mousemove");return 0}function _emscripten_set_mouseup_callback(target,userData,useCapture,callbackfunc){JSEvents.registerMouseEventCallback(target,userData,useCapture,callbackfunc,6,"mouseup");return 0}function _emscripten_set_resize_callback(target,userData,useCapture,callbackfunc){JSEvents.registerUiEventCallback(target,userData,useCapture,callbackfunc,10,"resize");return 0}function _emscripten_set_touchcancel_callback(target,userData,useCapture,callbackfunc){JSEvents.registerTouchEventCallback(target,userData,useCapture,callbackfunc,25,"touchcancel");return 0}function _emscripten_set_touchend_callback(target,userData,useCapture,callbackfunc){JSEvents.registerTouchEventCallback(target,userData,useCapture,callbackfunc,23,"touchend");return 0}function _emscripten_set_touchmove_callback(target,userData,useCapture,callbackfunc){JSEvents.registerTouchEventCallback(target,userData,useCapture,callbackfunc,24,"touchmove");return 0}function _emscripten_set_touchstart_callback(target,userData,useCapture,callbackfunc){JSEvents.registerTouchEventCallback(target,userData,useCapture,callbackfunc,22,"touchstart");return 0}function _emscripten_set_visibilitychange_callback(userData,useCapture,callbackfunc){JSEvents.registerVisibilityChangeEventCallback(document,userData,useCapture,callbackfunc,21,"visibilitychange");return 0}function _emscripten_set_wheel_callback(target,userData,useCapture,callbackfunc){target=JSEvents.findEventTarget(target);if(typeof target.onwheel!=="undefined"){JSEvents.registerWheelEventCallback(target,userData,useCapture,callbackfunc,9,"wheel");return 0}else if(typeof target.onmousewheel!=="undefined"){JSEvents.registerWheelEventCallback(target,userData,useCapture,callbackfunc,9,"mousewheel");return 0}else{return-1}}function _getenv(name){if(name===0)return 0;name=Pointer_stringify(name);if(!ENV.hasOwnProperty(name))return 0;if(_getenv.ret)_free(_getenv.ret);_getenv.ret=allocateUTF8(ENV[name]);return _getenv.ret}function _gettimeofday(ptr){var now=Date.now();HEAP32[ptr>>2]=now/1e3|0;HEAP32[ptr+4>>2]=now%1e3*1e3|0;return 0}function _glBindTexture(target,texture){GLctx.bindTexture(target,texture?GL.textures[texture]:null)}function _glBlendFunc(x0,x1){GLctx["blendFunc"](x0,x1)}function _glClear(x0){GLctx["clear"](x0)}function _glClearColor(x0,x1,x2,x3){GLctx["clearColor"](x0,x1,x2,x3)}function _glClearDepthf(x0){GLctx["clearDepth"](x0)}function _glClearStencil(x0){GLctx["clearStencil"](x0)}function _glColorMask(red,green,blue,alpha){GLctx.colorMask(!!red,!!green,!!blue,!!alpha)}function _glCopyTexImage2D(x0,x1,x2,x3,x4,x5,x6,x7){GLctx["copyTexImage2D"](x0,x1,x2,x3,x4,x5,x6,x7)}function _glCopyTexSubImage2D(x0,x1,x2,x3,x4,x5,x6,x7){GLctx["copyTexSubImage2D"](x0,x1,x2,x3,x4,x5,x6,x7)}function _glDeleteTextures(n,textures){for(var i=0;i<n;i++){var id=HEAP32[textures+i*4>>2];var texture=GL.textures[id];if(!texture)continue;GLctx.deleteTexture(texture);texture.name=0;GL.textures[id]=null}}function _glDepthMask(flag){GLctx.depthMask(!!flag)}function _glDisable(x0){GLctx["disable"](x0)}function _glDrawArrays(mode,first,count){GLctx.drawArrays(mode,first,count)}function _glDrawElements(mode,count,type,indices){GLctx.drawElements(mode,count,type,indices)}function _glEnable(x0){GLctx["enable"](x0)}function _glFinish(){GLctx["finish"]()}function _glFlush(){GLctx["flush"]()}function _glGenTextures(n,textures){for(var i=0;i<n;i++){var texture=GLctx.createTexture();if(!texture){GL.recordError(1282);while(i<n)HEAP32[textures+i++*4>>2]=0;return}var id=GL.getNewId(GL.textures);texture.name=id;GL.textures[id]=texture;HEAP32[textures+i*4>>2]=id}}function _glGetError(){if(GL.lastError){var error=GL.lastError;GL.lastError=0;return error}else{return GLctx.getError()}}function _glGetIntegerv(name_,p){emscriptenWebGLGet(name_,p,"Integer")}function _glGetString(name_){if(GL.stringCache[name_])return GL.stringCache[name_];var ret;switch(name_){case 7936:case 7937:case 37445:case 37446:ret=allocate(intArrayFromString(GLctx.getParameter(name_)),"i8",ALLOC_NORMAL);break;case 7938:var glVersion=GLctx.getParameter(GLctx.VERSION);{glVersion="OpenGL ES 2.0 ("+glVersion+")"}ret=allocate(intArrayFromString(glVersion),"i8",ALLOC_NORMAL);break;case 7939:var exts=GLctx.getSupportedExtensions();var gl_exts=[];for(var i=0;i<exts.length;++i){gl_exts.push(exts[i]);gl_exts.push("GL_"+exts[i])}ret=allocate(intArrayFromString(gl_exts.join(" ")),"i8",ALLOC_NORMAL);break;case 35724:var glslVersion=GLctx.getParameter(GLctx.SHADING_LANGUAGE_VERSION);var ver_re=/^WebGL GLSL ES ([0-9]\.[0-9][0-9]?)(?:$| .*)/;var ver_num=glslVersion.match(ver_re);if(ver_num!==null){if(ver_num[1].length==3)ver_num[1]=ver_num[1]+"0";glslVersion="OpenGL ES GLSL ES "+ver_num[1]+" ("+glslVersion+")"}ret=allocate(intArrayFromString(glslVersion),"i8",ALLOC_NORMAL);break;default:GL.recordError(1280);return 0}GL.stringCache[name_]=ret;return ret}function _glPixelStorei(pname,param){if(pname==3333){GL.packAlignment=param}else if(pname==3317){GL.unpackAlignment=param}GLctx.pixelStorei(pname,param)}function _glReadPixels(x,y,width,height,format,type,pixels){var pixelData=emscriptenWebGLGetTexPixelData(type,format,width,height,pixels,format);if(!pixelData){GL.recordError(1280);return}GLctx.readPixels(x,y,width,height,format,type,pixelData)}function _glScissor(x0,x1,x2,x3){GLctx["scissor"](x0,x1,x2,x3)}function _glShaderBinary(){GL.recordError(1280)}function _glStencilFunc(x0,x1,x2){GLctx["stencilFunc"](x0,x1,x2)}function _glStencilMask(x0){GLctx["stencilMask"](x0)}function _glStencilOp(x0,x1,x2){GLctx["stencilOp"](x0,x1,x2)}function _glTexImage2D(target,level,internalFormat,width,height,border,format,type,pixels){var pixelData=null;if(pixels)pixelData=emscriptenWebGLGetTexPixelData(type,format,width,height,pixels,internalFormat);GLctx.texImage2D(target,level,internalFormat,width,height,border,format,type,pixelData)}function _glTexParameterf(x0,x1,x2){GLctx["texParameterf"](x0,x1,x2)}function _glTexParameterfv(target,pname,params){var param=HEAPF32[params>>2];GLctx.texParameterf(target,pname,param)}function _glTexParameteri(x0,x1,x2){GLctx["texParameteri"](x0,x1,x2)}function _glTexParameteriv(target,pname,params){var param=HEAP32[params>>2];GLctx.texParameteri(target,pname,param)}function _glTexSubImage2D(target,level,xoffset,yoffset,width,height,format,type,pixels){var pixelData=null;if(pixels)pixelData=emscriptenWebGLGetTexPixelData(type,format,width,height,pixels,0);GLctx.texSubImage2D(target,level,xoffset,yoffset,width,height,format,type,pixelData)}function _glViewport(x0,x1,x2,x3){GLctx["viewport"](x0,x1,x2,x3)}var _llvm_ceil_f64=Math_ceil;function _llvm_exp2_f32(x){return Math.pow(2,x)}var _llvm_fabs_f32=Math_abs;var _llvm_fabs_f64=Math_abs;var _llvm_floor_f32=Math_floor;var _llvm_floor_f64=Math_floor;function _llvm_stackrestore(p){var self=_llvm_stacksave;var ret=self.LLVM_SAVEDSTACKS[p];self.LLVM_SAVEDSTACKS.splice(p,1);stackRestore(ret)}function _llvm_stacksave(){var self=_llvm_stacksave;if(!self.LLVM_SAVEDSTACKS){self.LLVM_SAVEDSTACKS=[]}self.LLVM_SAVEDSTACKS.push(stackSave());return self.LLVM_SAVEDSTACKS.length-1}function _llvm_trap(){abort("trap!")}function _emscripten_memcpy_big(dest,src,num){HEAPU8.set(HEAPU8.subarray(src,src+num),dest);return dest}function _usleep(useconds){var msec=useconds/1e3;if((ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER)&&self["performance"]&&self["performance"]["now"]){var start=self["performance"]["now"]();while(self["performance"]["now"]()-start<msec){}}else{var start=Date.now();while(Date.now()-start<msec){}}return 0}function _nanosleep(rqtp,rmtp){var seconds=HEAP32[rqtp>>2];var nanoseconds=HEAP32[rqtp+4>>2];if(rmtp!==0){HEAP32[rmtp>>2]=0;HEAP32[rmtp+4>>2]=0}return _usleep(seconds*1e6+nanoseconds/1e3)}function _pthread_attr_getstacksize(){err("missing function: pthread_attr_getstacksize");abort(-1)}function _pthread_attr_init(attr){return 0}function _pthread_attr_setstacksize(){}function _pthread_cleanup_pop(){assert(_pthread_cleanup_push.level==__ATEXIT__.length,"cannot pop if something else added meanwhile!");__ATEXIT__.pop();_pthread_cleanup_push.level=__ATEXIT__.length}function _pthread_cleanup_push(routine,arg){__ATEXIT__.push((function(){Module["dynCall_vi"](routine,arg)}));_pthread_cleanup_push.level=__ATEXIT__.length}function _pthread_cond_destroy(){return 0}function _pthread_cond_init(){return 0}function _pthread_cond_signal(){return 0}function _pthread_cond_timedwait(){return 0}function _pthread_cond_wait(){return 0}function _pthread_create(){return 11}var PTHREAD_SPECIFIC={};function _pthread_getspecific(key){return PTHREAD_SPECIFIC[key]||0}function _pthread_join(){}var PTHREAD_SPECIFIC_NEXT_KEY=1;function _pthread_key_create(key,destructor){if(key==0){return ERRNO_CODES.EINVAL}HEAP32[key>>2]=PTHREAD_SPECIFIC_NEXT_KEY;PTHREAD_SPECIFIC[PTHREAD_SPECIFIC_NEXT_KEY]=0;PTHREAD_SPECIFIC_NEXT_KEY++;return 0}function _pthread_mutex_destroy(){}function _pthread_mutex_init(){}function _pthread_mutexattr_init(){}function _pthread_mutexattr_settype(){}function _pthread_once(ptr,func){if(!_pthread_once.seen)_pthread_once.seen={};if(ptr in _pthread_once.seen)return;Module["dynCall_v"](func);_pthread_once.seen[ptr]=1}function _pthread_setspecific(key,value){if(!(key in PTHREAD_SPECIFIC)){return ERRNO_CODES.EINVAL}PTHREAD_SPECIFIC[key]=value;return 0}function _sigaction(signum,act,oldact){return 0}var __sigalrm_handler=0;function _signal(sig,func){if(sig==14){__sigalrm_handler=func}else{}return 0}function __isLeapYear(year){return year%4===0&&(year%100!==0||year%400===0)}function __arraySum(array,index){var sum=0;for(var i=0;i<=index;sum+=array[i++]);return sum}var __MONTH_DAYS_LEAP=[31,29,31,30,31,30,31,31,30,31,30,31];var __MONTH_DAYS_REGULAR=[31,28,31,30,31,30,31,31,30,31,30,31];function __addDays(date,days){var newDate=new Date(date.getTime());while(days>0){var leap=__isLeapYear(newDate.getFullYear());var currentMonth=newDate.getMonth();var daysInCurrentMonth=(leap?__MONTH_DAYS_LEAP:__MONTH_DAYS_REGULAR)[currentMonth];if(days>daysInCurrentMonth-newDate.getDate()){days-=daysInCurrentMonth-newDate.getDate()+1;newDate.setDate(1);if(currentMonth<11){newDate.setMonth(currentMonth+1)}else{newDate.setMonth(0);newDate.setFullYear(newDate.getFullYear()+1)}}else{newDate.setDate(newDate.getDate()+days);return newDate}}return newDate}function _strftime(s,maxsize,format,tm){var tm_zone=HEAP32[tm+40>>2];var date={tm_sec:HEAP32[tm>>2],tm_min:HEAP32[tm+4>>2],tm_hour:HEAP32[tm+8>>2],tm_mday:HEAP32[tm+12>>2],tm_mon:HEAP32[tm+16>>2],tm_year:HEAP32[tm+20>>2],tm_wday:HEAP32[tm+24>>2],tm_yday:HEAP32[tm+28>>2],tm_isdst:HEAP32[tm+32>>2],tm_gmtoff:HEAP32[tm+36>>2],tm_zone:tm_zone?Pointer_stringify(tm_zone):""};var pattern=Pointer_stringify(format);var EXPANSION_RULES_1={"%c":"%a %b %d %H:%M:%S %Y","%D":"%m/%d/%y","%F":"%Y-%m-%d","%h":"%b","%r":"%I:%M:%S %p","%R":"%H:%M","%T":"%H:%M:%S","%x":"%m/%d/%y","%X":"%H:%M:%S"};for(var rule in EXPANSION_RULES_1){pattern=pattern.replace(new RegExp(rule,"g"),EXPANSION_RULES_1[rule])}var WEEKDAYS=["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"];var MONTHS=["January","February","March","April","May","June","July","August","September","October","November","December"];function leadingSomething(value,digits,character){var str=typeof value==="number"?value.toString():value||"";while(str.length<digits){str=character[0]+str}return str}function leadingNulls(value,digits){return leadingSomething(value,digits,"0")}function compareByDay(date1,date2){function sgn(value){return value<0?-1:value>0?1:0}var compare;if((compare=sgn(date1.getFullYear()-date2.getFullYear()))===0){if((compare=sgn(date1.getMonth()-date2.getMonth()))===0){compare=sgn(date1.getDate()-date2.getDate())}}return compare}function getFirstWeekStartDate(janFourth){switch(janFourth.getDay()){case 0:return new Date(janFourth.getFullYear()-1,11,29);case 1:return janFourth;case 2:return new Date(janFourth.getFullYear(),0,3);case 3:return new Date(janFourth.getFullYear(),0,2);case 4:return new Date(janFourth.getFullYear(),0,1);case 5:return new Date(janFourth.getFullYear()-1,11,31);case 6:return new Date(janFourth.getFullYear()-1,11,30)}}function getWeekBasedYear(date){var thisDate=__addDays(new Date(date.tm_year+1900,0,1),date.tm_yday);var janFourthThisYear=new Date(thisDate.getFullYear(),0,4);var janFourthNextYear=new Date(thisDate.getFullYear()+1,0,4);var firstWeekStartThisYear=getFirstWeekStartDate(janFourthThisYear);var firstWeekStartNextYear=getFirstWeekStartDate(janFourthNextYear);if(compareByDay(firstWeekStartThisYear,thisDate)<=0){if(compareByDay(firstWeekStartNextYear,thisDate)<=0){return thisDate.getFullYear()+1}else{return thisDate.getFullYear()}}else{return thisDate.getFullYear()-1}}var EXPANSION_RULES_2={"%a":(function(date){return WEEKDAYS[date.tm_wday].substring(0,3)}),"%A":(function(date){return WEEKDAYS[date.tm_wday]}),"%b":(function(date){return MONTHS[date.tm_mon].substring(0,3)}),"%B":(function(date){return MONTHS[date.tm_mon]}),"%C":(function(date){var year=date.tm_year+1900;return leadingNulls(year/100|0,2)}),"%d":(function(date){return leadingNulls(date.tm_mday,2)}),"%e":(function(date){return leadingSomething(date.tm_mday,2," ")}),"%g":(function(date){return getWeekBasedYear(date).toString().substring(2)}),"%G":(function(date){return getWeekBasedYear(date)}),"%H":(function(date){return leadingNulls(date.tm_hour,2)}),"%I":(function(date){var twelveHour=date.tm_hour;if(twelveHour==0)twelveHour=12;else if(twelveHour>12)twelveHour-=12;return leadingNulls(twelveHour,2)}),"%j":(function(date){return leadingNulls(date.tm_mday+__arraySum(__isLeapYear(date.tm_year+1900)?__MONTH_DAYS_LEAP:__MONTH_DAYS_REGULAR,date.tm_mon-1),3)}),"%m":(function(date){return leadingNulls(date.tm_mon+1,2)}),"%M":(function(date){return leadingNulls(date.tm_min,2)}),"%n":(function(){return"\n"}),"%p":(function(date){if(date.tm_hour>=0&&date.tm_hour<12){return"AM"}else{return"PM"}}),"%S":(function(date){return leadingNulls(date.tm_sec,2)}),"%t":(function(){return"\t"}),"%u":(function(date){var day=new Date(date.tm_year+1900,date.tm_mon+1,date.tm_mday,0,0,0,0);return day.getDay()||7}),"%U":(function(date){var janFirst=new Date(date.tm_year+1900,0,1);var firstSunday=janFirst.getDay()===0?janFirst:__addDays(janFirst,7-janFirst.getDay());var endDate=new Date(date.tm_year+1900,date.tm_mon,date.tm_mday);if(compareByDay(firstSunday,endDate)<0){var februaryFirstUntilEndMonth=__arraySum(__isLeapYear(endDate.getFullYear())?__MONTH_DAYS_LEAP:__MONTH_DAYS_REGULAR,endDate.getMonth()-1)-31;var firstSundayUntilEndJanuary=31-firstSunday.getDate();var days=firstSundayUntilEndJanuary+februaryFirstUntilEndMonth+endDate.getDate();return leadingNulls(Math.ceil(days/7),2)}return compareByDay(firstSunday,janFirst)===0?"01":"00"}),"%V":(function(date){var janFourthThisYear=new Date(date.tm_year+1900,0,4);var janFourthNextYear=new Date(date.tm_year+1901,0,4);var firstWeekStartThisYear=getFirstWeekStartDate(janFourthThisYear);var firstWeekStartNextYear=getFirstWeekStartDate(janFourthNextYear);var endDate=__addDays(new Date(date.tm_year+1900,0,1),date.tm_yday);if(compareByDay(endDate,firstWeekStartThisYear)<0){return"53"}if(compareByDay(firstWeekStartNextYear,endDate)<=0){return"01"}var daysDifference;if(firstWeekStartThisYear.getFullYear()<date.tm_year+1900){daysDifference=date.tm_yday+32-firstWeekStartThisYear.getDate()}else{daysDifference=date.tm_yday+1-firstWeekStartThisYear.getDate()}return leadingNulls(Math.ceil(daysDifference/7),2)}),"%w":(function(date){var day=new Date(date.tm_year+1900,date.tm_mon+1,date.tm_mday,0,0,0,0);return day.getDay()}),"%W":(function(date){var janFirst=new Date(date.tm_year,0,1);var firstMonday=janFirst.getDay()===1?janFirst:__addDays(janFirst,janFirst.getDay()===0?1:7-janFirst.getDay()+1);var endDate=new Date(date.tm_year+1900,date.tm_mon,date.tm_mday);if(compareByDay(firstMonday,endDate)<0){var februaryFirstUntilEndMonth=__arraySum(__isLeapYear(endDate.getFullYear())?__MONTH_DAYS_LEAP:__MONTH_DAYS_REGULAR,endDate.getMonth()-1)-31;var firstMondayUntilEndJanuary=31-firstMonday.getDate();var days=firstMondayUntilEndJanuary+februaryFirstUntilEndMonth+endDate.getDate();return leadingNulls(Math.ceil(days/7),2)}return compareByDay(firstMonday,janFirst)===0?"01":"00"}),"%y":(function(date){return(date.tm_year+1900).toString().substring(2)}),"%Y":(function(date){return date.tm_year+1900}),"%z":(function(date){var off=date.tm_gmtoff;var ahead=off>=0;off=Math.abs(off)/60;off=off/60*100+off%60;return(ahead?"+":"-")+String("0000"+off).slice(-4)}),"%Z":(function(date){return date.tm_zone}),"%%":(function(){return"%"})};for(var rule in EXPANSION_RULES_2){if(pattern.indexOf(rule)>=0){pattern=pattern.replace(new RegExp(rule,"g"),EXPANSION_RULES_2[rule](date))}}var bytes=intArrayFromString(pattern,false);if(bytes.length>maxsize){return 0}writeArrayToMemory(bytes,s);return bytes.length-1}function _strftime_l(s,maxsize,format,tm){return _strftime(s,maxsize,format,tm)}FS.staticInit();__ATINIT__.unshift((function(){if(!Module["noFSInit"]&&!FS.init.initialized)FS.init()}));__ATMAIN__.push((function(){FS.ignorePermissions=false}));__ATEXIT__.push((function(){FS.quit()}));__ATINIT__.unshift((function(){TTY.init()}));__ATEXIT__.push((function(){TTY.shutdown()}));if(ENVIRONMENT_IS_NODE){var fs=require("fs");var NODEJS_PATH=require("path");NODEFS.staticInit()}embind_init_charCodes();BindingError=Module["BindingError"]=extendError(Error,"BindingError");InternalError=Module["InternalError"]=extendError(Error,"InternalError");init_ClassHandle();init_RegisteredPointer();init_embind();UnboundTypeError=Module["UnboundTypeError"]=extendError(Error,"UnboundTypeError");init_emval();if(ENVIRONMENT_IS_NODE){_emscripten_get_now=function _emscripten_get_now_actual(){var t=process["hrtime"]();return t[0]*1e3+t[1]/1e6}}else if(typeof dateNow!=="undefined"){_emscripten_get_now=dateNow}else if(typeof self==="object"&&self["performance"]&&typeof self["performance"]["now"]==="function"){_emscripten_get_now=(function(){return self["performance"]["now"]()})}else if(typeof performance==="object"&&typeof performance["now"]==="function"){_emscripten_get_now=(function(){return performance["now"]()})}else{_emscripten_get_now=Date.now}Module["requestFullScreen"]=function Module_requestFullScreen(lockPointer,resizeCanvas,vrDevice){err("Module.requestFullScreen is deprecated. Please call Module.requestFullscreen instead.");Module["requestFullScreen"]=Module["requestFullscreen"];Browser.requestFullScreen(lockPointer,resizeCanvas,vrDevice)};Module["requestFullscreen"]=function Module_requestFullscreen(lockPointer,resizeCanvas,vrDevice){Browser.requestFullscreen(lockPointer,resizeCanvas,vrDevice)};Module["requestAnimationFrame"]=function Module_requestAnimationFrame(func){Browser.requestAnimationFrame(func)};Module["setCanvasSize"]=function Module_setCanvasSize(width,height,noUpdates){Browser.setCanvasSize(width,height,noUpdates)};Module["pauseMainLoop"]=function Module_pauseMainLoop(){Browser.mainLoop.pause()};Module["resumeMainLoop"]=function Module_resumeMainLoop(){Browser.mainLoop.resume()};Module["getUserMedia"]=function Module_getUserMedia(){Browser.getUserMedia()};Module["createContext"]=function Module_createContext(canvas,useWebGL,setInModule,webGLContextAttributes){return Browser.createContext(canvas,useWebGL,setInModule,webGLContextAttributes)};var GLctx;GL.init();JSEvents.staticInit();DYNAMICTOP_PTR=staticAlloc(4);STACK_BASE=STACKTOP=alignMemory(STATICTOP);STACK_MAX=STACK_BASE+TOTAL_STACK;DYNAMIC_BASE=alignMemory(STACK_MAX);HEAP32[DYNAMICTOP_PTR>>2]=DYNAMIC_BASE;staticSealed=true;var ASSERTIONS=false;function intArrayFromString(stringy,dontAddNull,length){var len=length>0?length:lengthBytesUTF8(stringy)+1;var u8array=new Array(len);var numBytesWritten=stringToUTF8Array(stringy,u8array,0,u8array.length);if(dontAddNull)u8array.length=numBytesWritten;return u8array}function intArrayToString(array){var ret=[];for(var i=0;i<array.length;i++){var chr=array[i];if(chr>255){if(ASSERTIONS){assert(false,"Character code "+chr+" ("+String.fromCharCode(chr)+") at offset "+i+" not in 0x00-0xFF.")}chr&=255}ret.push(String.fromCharCode(chr))}return ret.join("")}var decodeBase64=typeof atob==="function"?atob:(function(input){var keyStr="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";var output="";var chr1,chr2,chr3;var enc1,enc2,enc3,enc4;var i=0;input=input.replace(/[^A-Za-z0-9\+\/\=]/g,"");do{enc1=keyStr.indexOf(input.charAt(i++));enc2=keyStr.indexOf(input.charAt(i++));enc3=keyStr.indexOf(input.charAt(i++));enc4=keyStr.indexOf(input.charAt(i++));chr1=enc1<<2|enc2>>4;chr2=(enc2&15)<<4|enc3>>2;chr3=(enc3&3)<<6|enc4;output=output+String.fromCharCode(chr1);if(enc3!==64){output=output+String.fromCharCode(chr2)}if(enc4!==64){output=output+String.fromCharCode(chr3)}}while(i<input.length);return output});function intArrayFromBase64(s){if(typeof ENVIRONMENT_IS_NODE==="boolean"&&ENVIRONMENT_IS_NODE){var buf;try{buf=Buffer.from(s,"base64")}catch(_){buf=new Buffer(s,"base64")}return new Uint8Array(buf.buffer,buf.byteOffset,buf.byteLength)}try{var decoded=decodeBase64(s);var bytes=new Uint8Array(decoded.length);for(var i=0;i<decoded.length;++i){bytes[i]=decoded.charCodeAt(i)}return bytes}catch(_){throw new Error("Converting base64 string to bytes failed.")}}function tryParseAsDataURI(filename){if(!isDataURI(filename)){return}return intArrayFromBase64(filename.slice(dataURIPrefix.length))}function invoke_di(index,a1){var sp=stackSave();try{return Module["dynCall_di"](index,a1)}catch(e){stackRestore(sp);if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_dii(index,a1,a2){var sp=stackSave();try{return Module["dynCall_dii"](index,a1,a2)}catch(e){stackRestore(sp);if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_diii(index,a1,a2,a3){var sp=stackSave();try{return Module["dynCall_diii"](index,a1,a2,a3)}catch(e){stackRestore(sp);if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_i(index){var sp=stackSave();try{return Module["dynCall_i"](index)}catch(e){stackRestore(sp);if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_ii(index,a1){var sp=stackSave();try{return Module["dynCall_ii"](index,a1)}catch(e){stackRestore(sp);if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_iidd(index,a1,a2,a3){var sp=stackSave();try{return Module["dynCall_iidd"](index,a1,a2,a3)}catch(e){stackRestore(sp);if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_iiddd(index,a1,a2,a3,a4){var sp=stackSave();try{return Module["dynCall_iiddd"](index,a1,a2,a3,a4)}catch(e){stackRestore(sp);if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_iidii(index,a1,a2,a3,a4){var sp=stackSave();try{return Module["dynCall_iidii"](index,a1,a2,a3,a4)}catch(e){stackRestore(sp);if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_iii(index,a1,a2){var sp=stackSave();try{return Module["dynCall_iii"](index,a1,a2)}catch(e){stackRestore(sp);if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_iiii(index,a1,a2,a3){var sp=stackSave();try{return Module["dynCall_iiii"](index,a1,a2,a3)}catch(e){stackRestore(sp);if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_iiiii(index,a1,a2,a3,a4){var sp=stackSave();try{return Module["dynCall_iiiii"](index,a1,a2,a3,a4)}catch(e){stackRestore(sp);if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_iiiiid(index,a1,a2,a3,a4,a5){var sp=stackSave();try{return Module["dynCall_iiiiid"](index,a1,a2,a3,a4,a5)}catch(e){stackRestore(sp);if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_iiiiidii(index,a1,a2,a3,a4,a5,a6,a7){var sp=stackSave();try{return Module["dynCall_iiiiidii"](index,a1,a2,a3,a4,a5,a6,a7)}catch(e){stackRestore(sp);if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_iiiiii(index,a1,a2,a3,a4,a5){var sp=stackSave();try{return Module["dynCall_iiiiii"](index,a1,a2,a3,a4,a5)}catch(e){stackRestore(sp);if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_iiiiiid(index,a1,a2,a3,a4,a5,a6){var sp=stackSave();try{return Module["dynCall_iiiiiid"](index,a1,a2,a3,a4,a5,a6)}catch(e){stackRestore(sp);if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_iiiiiii(index,a1,a2,a3,a4,a5,a6){var sp=stackSave();try{return Module["dynCall_iiiiiii"](index,a1,a2,a3,a4,a5,a6)}catch(e){stackRestore(sp);if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_iiiiiiii(index,a1,a2,a3,a4,a5,a6,a7){var sp=stackSave();try{return Module["dynCall_iiiiiiii"](index,a1,a2,a3,a4,a5,a6,a7)}catch(e){stackRestore(sp);if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_iiiiiiiii(index,a1,a2,a3,a4,a5,a6,a7,a8){var sp=stackSave();try{return Module["dynCall_iiiiiiiii"](index,a1,a2,a3,a4,a5,a6,a7,a8)}catch(e){stackRestore(sp);if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_iiiiiiiiii(index,a1,a2,a3,a4,a5,a6,a7,a8,a9){var sp=stackSave();try{return Module["dynCall_iiiiiiiiii"](index,a1,a2,a3,a4,a5,a6,a7,a8,a9)}catch(e){stackRestore(sp);if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_v(index){var sp=stackSave();try{Module["dynCall_v"](index)}catch(e){stackRestore(sp);if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_vd(index,a1){var sp=stackSave();try{Module["dynCall_vd"](index,a1)}catch(e){stackRestore(sp);if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_vdd(index,a1,a2){var sp=stackSave();try{Module["dynCall_vdd"](index,a1,a2)}catch(e){stackRestore(sp);if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_vdddd(index,a1,a2,a3,a4){var sp=stackSave();try{Module["dynCall_vdddd"](index,a1,a2,a3,a4)}catch(e){stackRestore(sp);if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_vdddddd(index,a1,a2,a3,a4,a5,a6){var sp=stackSave();try{Module["dynCall_vdddddd"](index,a1,a2,a3,a4,a5,a6)}catch(e){stackRestore(sp);if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_vdi(index,a1,a2){var sp=stackSave();try{Module["dynCall_vdi"](index,a1,a2)}catch(e){stackRestore(sp);if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_vi(index,a1){var sp=stackSave();try{Module["dynCall_vi"](index,a1)}catch(e){stackRestore(sp);if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_vid(index,a1,a2){var sp=stackSave();try{Module["dynCall_vid"](index,a1,a2)}catch(e){stackRestore(sp);if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_vidd(index,a1,a2,a3){var sp=stackSave();try{Module["dynCall_vidd"](index,a1,a2,a3)}catch(e){stackRestore(sp);if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_viddd(index,a1,a2,a3,a4){var sp=stackSave();try{Module["dynCall_viddd"](index,a1,a2,a3,a4)}catch(e){stackRestore(sp);if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_vidddd(index,a1,a2,a3,a4,a5){var sp=stackSave();try{Module["dynCall_vidddd"](index,a1,a2,a3,a4,a5)}catch(e){stackRestore(sp);if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_viddddd(index,a1,a2,a3,a4,a5,a6){var sp=stackSave();try{Module["dynCall_viddddd"](index,a1,a2,a3,a4,a5,a6)}catch(e){stackRestore(sp);if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_viddi(index,a1,a2,a3,a4){var sp=stackSave();try{Module["dynCall_viddi"](index,a1,a2,a3,a4)}catch(e){stackRestore(sp);if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_vidi(index,a1,a2,a3){var sp=stackSave();try{Module["dynCall_vidi"](index,a1,a2,a3)}catch(e){stackRestore(sp);if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_vii(index,a1,a2){var sp=stackSave();try{Module["dynCall_vii"](index,a1,a2)}catch(e){stackRestore(sp);if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_viid(index,a1,a2,a3){var sp=stackSave();try{Module["dynCall_viid"](index,a1,a2,a3)}catch(e){stackRestore(sp);if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_viidi(index,a1,a2,a3,a4){var sp=stackSave();try{Module["dynCall_viidi"](index,a1,a2,a3,a4)}catch(e){stackRestore(sp);if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_viidiii(index,a1,a2,a3,a4,a5,a6){var sp=stackSave();try{Module["dynCall_viidiii"](index,a1,a2,a3,a4,a5,a6)}catch(e){stackRestore(sp);if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_viii(index,a1,a2,a3){var sp=stackSave();try{Module["dynCall_viii"](index,a1,a2,a3)}catch(e){stackRestore(sp);if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_viiid(index,a1,a2,a3,a4){var sp=stackSave();try{Module["dynCall_viiid"](index,a1,a2,a3,a4)}catch(e){stackRestore(sp);if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_viiidiii(index,a1,a2,a3,a4,a5,a6,a7){var sp=stackSave();try{Module["dynCall_viiidiii"](index,a1,a2,a3,a4,a5,a6,a7)}catch(e){stackRestore(sp);if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_viiii(index,a1,a2,a3,a4){var sp=stackSave();try{Module["dynCall_viiii"](index,a1,a2,a3,a4)}catch(e){stackRestore(sp);if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_viiiidiii(index,a1,a2,a3,a4,a5,a6,a7,a8){var sp=stackSave();try{Module["dynCall_viiiidiii"](index,a1,a2,a3,a4,a5,a6,a7,a8)}catch(e){stackRestore(sp);if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_viiiii(index,a1,a2,a3,a4,a5){var sp=stackSave();try{Module["dynCall_viiiii"](index,a1,a2,a3,a4,a5)}catch(e){stackRestore(sp);if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_viiiiii(index,a1,a2,a3,a4,a5,a6){var sp=stackSave();try{Module["dynCall_viiiiii"](index,a1,a2,a3,a4,a5,a6)}catch(e){stackRestore(sp);if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_viiiiiii(index,a1,a2,a3,a4,a5,a6,a7){var sp=stackSave();try{Module["dynCall_viiiiiii"](index,a1,a2,a3,a4,a5,a6,a7)}catch(e){stackRestore(sp);if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_viiiiiiii(index,a1,a2,a3,a4,a5,a6,a7,a8){var sp=stackSave();try{Module["dynCall_viiiiiiii"](index,a1,a2,a3,a4,a5,a6,a7,a8)}catch(e){stackRestore(sp);if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_viiiiiiiii(index,a1,a2,a3,a4,a5,a6,a7,a8,a9){var sp=stackSave();try{Module["dynCall_viiiiiiiii"](index,a1,a2,a3,a4,a5,a6,a7,a8,a9)}catch(e){stackRestore(sp);if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_viiiiiiiiii(index,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10){var sp=stackSave();try{Module["dynCall_viiiiiiiiii"](index,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10)}catch(e){stackRestore(sp);if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_viiiiiiiiiii(index,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11){var sp=stackSave();try{Module["dynCall_viiiiiiiiiii"](index,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11)}catch(e){stackRestore(sp);if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}Module.asmGlobalArg={"Math":Math,"Int8Array":Int8Array,"Int16Array":Int16Array,"Int32Array":Int32Array,"Uint8Array":Uint8Array,"Uint16Array":Uint16Array,"Uint32Array":Uint32Array,"Float32Array":Float32Array,"Float64Array":Float64Array,"NaN":NaN,"Infinity":Infinity};Module.asmLibraryArg={"abort":abort,"assert":assert,"enlargeMemory":enlargeMemory,"getTotalMemory":getTotalMemory,"abortOnCannotGrowMemory":abortOnCannotGrowMemory,"invoke_di":invoke_di,"invoke_dii":invoke_dii,"invoke_diii":invoke_diii,"invoke_i":invoke_i,"invoke_ii":invoke_ii,"invoke_iidd":invoke_iidd,"invoke_iiddd":invoke_iiddd,"invoke_iidii":invoke_iidii,"invoke_iii":invoke_iii,"invoke_iiii":invoke_iiii,"invoke_iiiii":invoke_iiiii,"invoke_iiiiid":invoke_iiiiid,"invoke_iiiiidii":invoke_iiiiidii,"invoke_iiiiii":invoke_iiiiii,"invoke_iiiiiid":invoke_iiiiiid,"invoke_iiiiiii":invoke_iiiiiii,"invoke_iiiiiiii":invoke_iiiiiiii,"invoke_iiiiiiiii":invoke_iiiiiiiii,"invoke_iiiiiiiiii":invoke_iiiiiiiiii,"invoke_v":invoke_v,"invoke_vd":invoke_vd,"invoke_vdd":invoke_vdd,"invoke_vdddd":invoke_vdddd,"invoke_vdddddd":invoke_vdddddd,"invoke_vdi":invoke_vdi,"invoke_vi":invoke_vi,"invoke_vid":invoke_vid,"invoke_vidd":invoke_vidd,"invoke_viddd":invoke_viddd,"invoke_vidddd":invoke_vidddd,"invoke_viddddd":invoke_viddddd,"invoke_viddi":invoke_viddi,"invoke_vidi":invoke_vidi,"invoke_vii":invoke_vii,"invoke_viid":invoke_viid,"invoke_viidi":invoke_viidi,"invoke_viidiii":invoke_viidiii,"invoke_viii":invoke_viii,"invoke_viiid":invoke_viiid,"invoke_viiidiii":invoke_viiidiii,"invoke_viiii":invoke_viiii,"invoke_viiiidiii":invoke_viiiidiii,"invoke_viiiii":invoke_viiiii,"invoke_viiiiii":invoke_viiiiii,"invoke_viiiiiii":invoke_viiiiiii,"invoke_viiiiiiii":invoke_viiiiiiii,"invoke_viiiiiiiii":invoke_viiiiiiiii,"invoke_viiiiiiiiii":invoke_viiiiiiiiii,"invoke_viiiiiiiiiii":invoke_viiiiiiiiiii,"ClassHandle":ClassHandle,"ClassHandle_clone":ClassHandle_clone,"ClassHandle_delete":ClassHandle_delete,"ClassHandle_deleteLater":ClassHandle_deleteLater,"ClassHandle_isAliasOf":ClassHandle_isAliasOf,"ClassHandle_isDeleted":ClassHandle_isDeleted,"RegisteredClass":RegisteredClass,"RegisteredPointer":RegisteredPointer,"RegisteredPointer_deleteObject":RegisteredPointer_deleteObject,"RegisteredPointer_destructor":RegisteredPointer_destructor,"RegisteredPointer_fromWireType":RegisteredPointer_fromWireType,"RegisteredPointer_getPointee":RegisteredPointer_getPointee,"___assert_fail":___assert_fail,"___buildEnvironment":___buildEnvironment,"___cxa_allocate_exception":___cxa_allocate_exception,"___cxa_begin_catch":___cxa_begin_catch,"___cxa_find_matching_catch":___cxa_find_matching_catch,"___cxa_pure_virtual":___cxa_pure_virtual,"___cxa_throw":___cxa_throw,"___cxa_uncaught_exception":___cxa_uncaught_exception,"___gxx_personality_v0":___gxx_personality_v0,"___lock":___lock,"___map_file":___map_file,"___resumeException":___resumeException,"___setErrNo":___setErrNo,"___syscall140":___syscall140,"___syscall145":___syscall145,"___syscall146":___syscall146,"___syscall195":___syscall195,"___syscall197":___syscall197,"___syscall220":___syscall220,"___syscall221":___syscall221,"___syscall33":___syscall33,"___syscall39":___syscall39,"___syscall5":___syscall5,"___syscall54":___syscall54,"___syscall6":___syscall6,"___syscall85":___syscall85,"___syscall91":___syscall91,"___unlock":___unlock,"__addDays":__addDays,"__arraySum":__arraySum,"__embind_register_bool":__embind_register_bool,"__embind_register_class":__embind_register_class,"__embind_register_class_constructor":__embind_register_class_constructor,"__embind_register_class_function":__embind_register_class_function,"__embind_register_emval":__embind_register_emval,"__embind_register_float":__embind_register_float,"__embind_register_function":__embind_register_function,"__embind_register_integer":__embind_register_integer,"__embind_register_memory_view":__embind_register_memory_view,"__embind_register_std_string":__embind_register_std_string,"__embind_register_std_wstring":__embind_register_std_wstring,"__embind_register_void":__embind_register_void,"__emscripten_sample_gamepad_data":__emscripten_sample_gamepad_data,"__emval_addMethodCaller":__emval_addMethodCaller,"__emval_allocateDestructors":__emval_allocateDestructors,"__emval_call_method":__emval_call_method,"__emval_decref":__emval_decref,"__emval_get_global":__emval_get_global,"__emval_get_method_caller":__emval_get_method_caller,"__emval_incref":__emval_incref,"__emval_lookupTypes":__emval_lookupTypes,"__emval_register":__emval_register,"__emval_run_destructors":__emval_run_destructors,"__emval_take_value":__emval_take_value,"__isLeapYear":__isLeapYear,"__registerRestoreOldStyle":__registerRestoreOldStyle,"__setLetterbox":__setLetterbox,"_abort":_abort,"_clock_gettime":_clock_gettime,"_dlclose":_dlclose,"_dlerror":_dlerror,"_dlopen":_dlopen,"_dlsym":_dlsym,"_eglBindAPI":_eglBindAPI,"_eglChooseConfig":_eglChooseConfig,"_eglCreateContext":_eglCreateContext,"_eglCreateWindowSurface":_eglCreateWindowSurface,"_eglDestroyContext":_eglDestroyContext,"_eglDestroySurface":_eglDestroySurface,"_eglGetConfigAttrib":_eglGetConfigAttrib,"_eglGetDisplay":_eglGetDisplay,"_eglGetProcAddress":_eglGetProcAddress,"_eglInitialize":_eglInitialize,"_eglMakeCurrent":_eglMakeCurrent,"_eglSwapBuffers":_eglSwapBuffers,"_eglSwapInterval":_eglSwapInterval,"_eglTerminate":_eglTerminate,"_eglWaitClient":_eglWaitClient,"_eglWaitGL":_eglWaitGL,"_eglWaitNative":_eglWaitNative,"_embind_repr":_embind_repr,"_emscripten_asm_const_i":_emscripten_asm_const_i,"_emscripten_asm_const_ii":_emscripten_asm_const_ii,"_emscripten_asm_const_iii":_emscripten_asm_const_iii,"_emscripten_asm_const_iiii":_emscripten_asm_const_iiii,"_emscripten_asm_const_iiiii":_emscripten_asm_const_iiiii,"_emscripten_do_request_fullscreen":_emscripten_do_request_fullscreen,"_emscripten_exit_fullscreen":_emscripten_exit_fullscreen,"_emscripten_exit_pointerlock":_emscripten_exit_pointerlock,"_emscripten_get_device_pixel_ratio":_emscripten_get_device_pixel_ratio,"_emscripten_get_element_css_size":_emscripten_get_element_css_size,"_emscripten_get_gamepad_status":_emscripten_get_gamepad_status,"_emscripten_get_now":_emscripten_get_now,"_emscripten_get_now_is_monotonic":_emscripten_get_now_is_monotonic,"_emscripten_get_num_gamepads":_emscripten_get_num_gamepads,"_emscripten_get_pointerlock_status":_emscripten_get_pointerlock_status,"_emscripten_glActiveTexture":_emscripten_glActiveTexture,"_emscripten_glAttachShader":_emscripten_glAttachShader,"_emscripten_glBeginConditionalRender":_emscripten_glBeginConditionalRender,"_emscripten_glBeginTransformFeedback":_emscripten_glBeginTransformFeedback,"_emscripten_glBindAttribLocation":_emscripten_glBindAttribLocation,"_emscripten_glBindBuffer":_emscripten_glBindBuffer,"_emscripten_glBindBufferBase":_emscripten_glBindBufferBase,"_emscripten_glBindBufferRange":_emscripten_glBindBufferRange,"_emscripten_glBindFragDataLocation":_emscripten_glBindFragDataLocation,"_emscripten_glBindFramebuffer":_emscripten_glBindFramebuffer,"_emscripten_glBindProgramARB":_emscripten_glBindProgramARB,"_emscripten_glBindRenderbuffer":_emscripten_glBindRenderbuffer,"_emscripten_glBindTexture":_emscripten_glBindTexture,"_emscripten_glBindVertexArray":_emscripten_glBindVertexArray,"_emscripten_glBlendColor":_emscripten_glBlendColor,"_emscripten_glBlendEquation":_emscripten_glBlendEquation,"_emscripten_glBlendEquationSeparate":_emscripten_glBlendEquationSeparate,"_emscripten_glBlendFunc":_emscripten_glBlendFunc,"_emscripten_glBlendFuncSeparate":_emscripten_glBlendFuncSeparate,"_emscripten_glBufferData":_emscripten_glBufferData,"_emscripten_glBufferSubData":_emscripten_glBufferSubData,"_emscripten_glCheckFramebufferStatus":_emscripten_glCheckFramebufferStatus,"_emscripten_glClampColor":_emscripten_glClampColor,"_emscripten_glClear":_emscripten_glClear,"_emscripten_glClearBufferfi":_emscripten_glClearBufferfi,"_emscripten_glClearBufferfv":_emscripten_glClearBufferfv,"_emscripten_glClearBufferiv":_emscripten_glClearBufferiv,"_emscripten_glClearBufferuiv":_emscripten_glClearBufferuiv,"_emscripten_glClearColor":_emscripten_glClearColor,"_emscripten_glClearDepth":_emscripten_glClearDepth,"_emscripten_glClearDepthf":_emscripten_glClearDepthf,"_emscripten_glClearStencil":_emscripten_glClearStencil,"_emscripten_glClientActiveTexture":_emscripten_glClientActiveTexture,"_emscripten_glColorMask":_emscripten_glColorMask,"_emscripten_glColorMaski":_emscripten_glColorMaski,"_emscripten_glColorPointer":_emscripten_glColorPointer,"_emscripten_glCompileShader":_emscripten_glCompileShader,"_emscripten_glCompressedTexImage2D":_emscripten_glCompressedTexImage2D,"_emscripten_glCompressedTexSubImage2D":_emscripten_glCompressedTexSubImage2D,"_emscripten_glCopyTexImage2D":_emscripten_glCopyTexImage2D,"_emscripten_glCopyTexSubImage2D":_emscripten_glCopyTexSubImage2D,"_emscripten_glCreateProgram":_emscripten_glCreateProgram,"_emscripten_glCreateShader":_emscripten_glCreateShader,"_emscripten_glCullFace":_emscripten_glCullFace,"_emscripten_glDeleteBuffers":_emscripten_glDeleteBuffers,"_emscripten_glDeleteFramebuffers":_emscripten_glDeleteFramebuffers,"_emscripten_glDeleteObjectARB":_emscripten_glDeleteObjectARB,"_emscripten_glDeleteProgram":_emscripten_glDeleteProgram,"_emscripten_glDeleteRenderbuffers":_emscripten_glDeleteRenderbuffers,"_emscripten_glDeleteShader":_emscripten_glDeleteShader,"_emscripten_glDeleteTextures":_emscripten_glDeleteTextures,"_emscripten_glDeleteVertexArrays":_emscripten_glDeleteVertexArrays,"_emscripten_glDepthFunc":_emscripten_glDepthFunc,"_emscripten_glDepthMask":_emscripten_glDepthMask,"_emscripten_glDepthRange":_emscripten_glDepthRange,"_emscripten_glDepthRangef":_emscripten_glDepthRangef,"_emscripten_glDetachShader":_emscripten_glDetachShader,"_emscripten_glDisable":_emscripten_glDisable,"_emscripten_glDisableVertexAttribArray":_emscripten_glDisableVertexAttribArray,"_emscripten_glDisablei":_emscripten_glDisablei,"_emscripten_glDrawArrays":_emscripten_glDrawArrays,"_emscripten_glDrawArraysInstanced":_emscripten_glDrawArraysInstanced,"_emscripten_glDrawBuffers":_emscripten_glDrawBuffers,"_emscripten_glDrawElements":_emscripten_glDrawElements,"_emscripten_glDrawElementsInstanced":_emscripten_glDrawElementsInstanced,"_emscripten_glDrawRangeElements":_emscripten_glDrawRangeElements,"_emscripten_glEnable":_emscripten_glEnable,"_emscripten_glEnableClientState":_emscripten_glEnableClientState,"_emscripten_glEnableVertexAttribArray":_emscripten_glEnableVertexAttribArray,"_emscripten_glEnablei":_emscripten_glEnablei,"_emscripten_glEndConditionalRender":_emscripten_glEndConditionalRender,"_emscripten_glEndTransformFeedback":_emscripten_glEndTransformFeedback,"_emscripten_glFinish":_emscripten_glFinish,"_emscripten_glFlush":_emscripten_glFlush,"_emscripten_glFramebufferRenderbuffer":_emscripten_glFramebufferRenderbuffer,"_emscripten_glFramebufferTexture2D":_emscripten_glFramebufferTexture2D,"_emscripten_glFrontFace":_emscripten_glFrontFace,"_emscripten_glFrustum":_emscripten_glFrustum,"_emscripten_glGenBuffers":_emscripten_glGenBuffers,"_emscripten_glGenFramebuffers":_emscripten_glGenFramebuffers,"_emscripten_glGenRenderbuffers":_emscripten_glGenRenderbuffers,"_emscripten_glGenTextures":_emscripten_glGenTextures,"_emscripten_glGenVertexArrays":_emscripten_glGenVertexArrays,"_emscripten_glGenerateMipmap":_emscripten_glGenerateMipmap,"_emscripten_glGetActiveAttrib":_emscripten_glGetActiveAttrib,"_emscripten_glGetActiveUniform":_emscripten_glGetActiveUniform,"_emscripten_glGetActiveUniformBlockName":_emscripten_glGetActiveUniformBlockName,"_emscripten_glGetActiveUniformBlockiv":_emscripten_glGetActiveUniformBlockiv,"_emscripten_glGetActiveUniformName":_emscripten_glGetActiveUniformName,"_emscripten_glGetActiveUniformsiv":_emscripten_glGetActiveUniformsiv,"_emscripten_glGetAttachedShaders":_emscripten_glGetAttachedShaders,"_emscripten_glGetAttribLocation":_emscripten_glGetAttribLocation,"_emscripten_glGetBooleani_v":_emscripten_glGetBooleani_v,"_emscripten_glGetBooleanv":_emscripten_glGetBooleanv,"_emscripten_glGetBufferParameteriv":_emscripten_glGetBufferParameteriv,"_emscripten_glGetError":_emscripten_glGetError,"_emscripten_glGetFloatv":_emscripten_glGetFloatv,"_emscripten_glGetFragDataLocation":_emscripten_glGetFragDataLocation,"_emscripten_glGetFramebufferAttachmentParameteriv":_emscripten_glGetFramebufferAttachmentParameteriv,"_emscripten_glGetInfoLogARB":_emscripten_glGetInfoLogARB,"_emscripten_glGetIntegeri_v":_emscripten_glGetIntegeri_v,"_emscripten_glGetIntegerv":_emscripten_glGetIntegerv,"_emscripten_glGetObjectParameterivARB":_emscripten_glGetObjectParameterivARB,"_emscripten_glGetPointerv":_emscripten_glGetPointerv,"_emscripten_glGetProgramInfoLog":_emscripten_glGetProgramInfoLog,"_emscripten_glGetProgramiv":_emscripten_glGetProgramiv,"_emscripten_glGetRenderbufferParameteriv":_emscripten_glGetRenderbufferParameteriv,"_emscripten_glGetShaderInfoLog":_emscripten_glGetShaderInfoLog,"_emscripten_glGetShaderPrecisionFormat":_emscripten_glGetShaderPrecisionFormat,"_emscripten_glGetShaderSource":_emscripten_glGetShaderSource,"_emscripten_glGetShaderiv":_emscripten_glGetShaderiv,"_emscripten_glGetString":_emscripten_glGetString,"_emscripten_glGetStringi":_emscripten_glGetStringi,"_emscripten_glGetTexParameterIiv":_emscripten_glGetTexParameterIiv,"_emscripten_glGetTexParameterIuiv":_emscripten_glGetTexParameterIuiv,"_emscripten_glGetTexParameterfv":_emscripten_glGetTexParameterfv,"_emscripten_glGetTexParameteriv":_emscripten_glGetTexParameteriv,"_emscripten_glGetTransformFeedbackVarying":_emscripten_glGetTransformFeedbackVarying,"_emscripten_glGetUniformBlockIndex":_emscripten_glGetUniformBlockIndex,"_emscripten_glGetUniformIndices":_emscripten_glGetUniformIndices,"_emscripten_glGetUniformLocation":_emscripten_glGetUniformLocation,"_emscripten_glGetUniformfv":_emscripten_glGetUniformfv,"_emscripten_glGetUniformiv":_emscripten_glGetUniformiv,"_emscripten_glGetUniformuiv":_emscripten_glGetUniformuiv,"_emscripten_glGetVertexAttribIiv":_emscripten_glGetVertexAttribIiv,"_emscripten_glGetVertexAttribIuiv":_emscripten_glGetVertexAttribIuiv,"_emscripten_glGetVertexAttribPointerv":_emscripten_glGetVertexAttribPointerv,"_emscripten_glGetVertexAttribfv":_emscripten_glGetVertexAttribfv,"_emscripten_glGetVertexAttribiv":_emscripten_glGetVertexAttribiv,"_emscripten_glHint":_emscripten_glHint,"_emscripten_glIsBuffer":_emscripten_glIsBuffer,"_emscripten_glIsEnabled":_emscripten_glIsEnabled,"_emscripten_glIsEnabledi":_emscripten_glIsEnabledi,"_emscripten_glIsFramebuffer":_emscripten_glIsFramebuffer,"_emscripten_glIsProgram":_emscripten_glIsProgram,"_emscripten_glIsRenderbuffer":_emscripten_glIsRenderbuffer,"_emscripten_glIsShader":_emscripten_glIsShader,"_emscripten_glIsTexture":_emscripten_glIsTexture,"_emscripten_glIsVertexArray":_emscripten_glIsVertexArray,"_emscripten_glLineWidth":_emscripten_glLineWidth,"_emscripten_glLinkProgram":_emscripten_glLinkProgram,"_emscripten_glLoadIdentity":_emscripten_glLoadIdentity,"_emscripten_glLoadMatrixf":_emscripten_glLoadMatrixf,"_emscripten_glMatrixMode":_emscripten_glMatrixMode,"_emscripten_glNormalPointer":_emscripten_glNormalPointer,"_emscripten_glPixelStorei":_emscripten_glPixelStorei,"_emscripten_glPolygonOffset":_emscripten_glPolygonOffset,"_emscripten_glReadPixels":_emscripten_glReadPixels,"_emscripten_glReleaseShaderCompiler":_emscripten_glReleaseShaderCompiler,"_emscripten_glRenderbufferStorage":_emscripten_glRenderbufferStorage,"_emscripten_glRotatef":_emscripten_glRotatef,"_emscripten_glSampleCoverage":_emscripten_glSampleCoverage,"_emscripten_glScissor":_emscripten_glScissor,"_emscripten_glShaderBinary":_emscripten_glShaderBinary,"_emscripten_glShaderSource":_emscripten_glShaderSource,"_emscripten_glStencilFunc":_emscripten_glStencilFunc,"_emscripten_glStencilFuncSeparate":_emscripten_glStencilFuncSeparate,"_emscripten_glStencilMask":_emscripten_glStencilMask,"_emscripten_glStencilMaskSeparate":_emscripten_glStencilMaskSeparate,"_emscripten_glStencilOp":_emscripten_glStencilOp,"_emscripten_glStencilOpSeparate":_emscripten_glStencilOpSeparate,"_emscripten_glTexCoordPointer":_emscripten_glTexCoordPointer,"_emscripten_glTexImage2D":_emscripten_glTexImage2D,"_emscripten_glTexImage3D":_emscripten_glTexImage3D,"_emscripten_glTexParameterIiv":_emscripten_glTexParameterIiv,"_emscripten_glTexParameterIuiv":_emscripten_glTexParameterIuiv,"_emscripten_glTexParameterf":_emscripten_glTexParameterf,"_emscripten_glTexParameterfv":_emscripten_glTexParameterfv,"_emscripten_glTexParameteri":_emscripten_glTexParameteri,"_emscripten_glTexParameteriv":_emscripten_glTexParameteriv,"_emscripten_glTexStorage2D":_emscripten_glTexStorage2D,"_emscripten_glTexStorage3D":_emscripten_glTexStorage3D,"_emscripten_glTexSubImage2D":_emscripten_glTexSubImage2D,"_emscripten_glTexSubImage3D":_emscripten_glTexSubImage3D,"_emscripten_glTransformFeedbackVaryings":_emscripten_glTransformFeedbackVaryings,"_emscripten_glUniform1f":_emscripten_glUniform1f,"_emscripten_glUniform1fv":_emscripten_glUniform1fv,"_emscripten_glUniform1i":_emscripten_glUniform1i,"_emscripten_glUniform1iv":_emscripten_glUniform1iv,"_emscripten_glUniform1ui":_emscripten_glUniform1ui,"_emscripten_glUniform2f":_emscripten_glUniform2f,"_emscripten_glUniform2fv":_emscripten_glUniform2fv,"_emscripten_glUniform2i":_emscripten_glUniform2i,"_emscripten_glUniform2iv":_emscripten_glUniform2iv,"_emscripten_glUniform2ui":_emscripten_glUniform2ui,"_emscripten_glUniform3f":_emscripten_glUniform3f,"_emscripten_glUniform3fv":_emscripten_glUniform3fv,"_emscripten_glUniform3i":_emscripten_glUniform3i,"_emscripten_glUniform3iv":_emscripten_glUniform3iv,"_emscripten_glUniform3ui":_emscripten_glUniform3ui,"_emscripten_glUniform4f":_emscripten_glUniform4f,"_emscripten_glUniform4fv":_emscripten_glUniform4fv,"_emscripten_glUniform4i":_emscripten_glUniform4i,"_emscripten_glUniform4iv":_emscripten_glUniform4iv,"_emscripten_glUniform4ui":_emscripten_glUniform4ui,"_emscripten_glUniformBlockBinding":_emscripten_glUniformBlockBinding,"_emscripten_glUniformMatrix2fv":_emscripten_glUniformMatrix2fv,"_emscripten_glUniformMatrix3fv":_emscripten_glUniformMatrix3fv,"_emscripten_glUniformMatrix4fv":_emscripten_glUniformMatrix4fv,"_emscripten_glUseProgram":_emscripten_glUseProgram,"_emscripten_glValidateProgram":_emscripten_glValidateProgram,"_emscripten_glVertexAttrib1f":_emscripten_glVertexAttrib1f,"_emscripten_glVertexAttrib1fv":_emscripten_glVertexAttrib1fv,"_emscripten_glVertexAttrib2f":_emscripten_glVertexAttrib2f,"_emscripten_glVertexAttrib2fv":_emscripten_glVertexAttrib2fv,"_emscripten_glVertexAttrib3f":_emscripten_glVertexAttrib3f,"_emscripten_glVertexAttrib3fv":_emscripten_glVertexAttrib3fv,"_emscripten_glVertexAttrib4f":_emscripten_glVertexAttrib4f,"_emscripten_glVertexAttrib4fv":_emscripten_glVertexAttrib4fv,"_emscripten_glVertexAttribDivisor":_emscripten_glVertexAttribDivisor,"_emscripten_glVertexAttribI1i":_emscripten_glVertexAttribI1i,"_emscripten_glVertexAttribI1iv":_emscripten_glVertexAttribI1iv,"_emscripten_glVertexAttribI1ui":_emscripten_glVertexAttribI1ui,"_emscripten_glVertexAttribI1uiv":_emscripten_glVertexAttribI1uiv,"_emscripten_glVertexAttribI2i":_emscripten_glVertexAttribI2i,"_emscripten_glVertexAttribI2iv":_emscripten_glVertexAttribI2iv,"_emscripten_glVertexAttribI2ui":_emscripten_glVertexAttribI2ui,"_emscripten_glVertexAttribI2uiv":_emscripten_glVertexAttribI2uiv,"_emscripten_glVertexAttribI3i":_emscripten_glVertexAttribI3i,"_emscripten_glVertexAttribI3iv":_emscripten_glVertexAttribI3iv,"_emscripten_glVertexAttribI3ui":_emscripten_glVertexAttribI3ui,"_emscripten_glVertexAttribI3uiv":_emscripten_glVertexAttribI3uiv,"_emscripten_glVertexAttribI4bv":_emscripten_glVertexAttribI4bv,"_emscripten_glVertexAttribI4i":_emscripten_glVertexAttribI4i,"_emscripten_glVertexAttribI4iv":_emscripten_glVertexAttribI4iv,"_emscripten_glVertexAttribI4sv":_emscripten_glVertexAttribI4sv,"_emscripten_glVertexAttribI4ubv":_emscripten_glVertexAttribI4ubv,"_emscripten_glVertexAttribI4ui":_emscripten_glVertexAttribI4ui,"_emscripten_glVertexAttribI4uiv":_emscripten_glVertexAttribI4uiv,"_emscripten_glVertexAttribI4usv":_emscripten_glVertexAttribI4usv,"_emscripten_glVertexAttribIPointer":_emscripten_glVertexAttribIPointer,"_emscripten_glVertexAttribPointer":_emscripten_glVertexAttribPointer,"_emscripten_glVertexPointer":_emscripten_glVertexPointer,"_emscripten_glViewport":_emscripten_glViewport,"_emscripten_memcpy_big":_emscripten_memcpy_big,"_emscripten_request_fullscreen_strategy":_emscripten_request_fullscreen_strategy,"_emscripten_request_pointerlock":_emscripten_request_pointerlock,"_emscripten_set_blur_callback":_emscripten_set_blur_callback,"_emscripten_set_canvas_size":_emscripten_set_canvas_size,"_emscripten_set_element_css_size":_emscripten_set_element_css_size,"_emscripten_set_focus_callback":_emscripten_set_focus_callback,"_emscripten_set_fullscreenchange_callback":_emscripten_set_fullscreenchange_callback,"_emscripten_set_gamepadconnected_callback":_emscripten_set_gamepadconnected_callback,"_emscripten_set_gamepaddisconnected_callback":_emscripten_set_gamepaddisconnected_callback,"_emscripten_set_keydown_callback":_emscripten_set_keydown_callback,"_emscripten_set_keypress_callback":_emscripten_set_keypress_callback,"_emscripten_set_keyup_callback":_emscripten_set_keyup_callback,"_emscripten_set_main_loop":_emscripten_set_main_loop,"_emscripten_set_main_loop_timing":_emscripten_set_main_loop_timing,"_emscripten_set_mousedown_callback":_emscripten_set_mousedown_callback,"_emscripten_set_mouseenter_callback":_emscripten_set_mouseenter_callback,"_emscripten_set_mouseleave_callback":_emscripten_set_mouseleave_callback,"_emscripten_set_mousemove_callback":_emscripten_set_mousemove_callback,"_emscripten_set_mouseup_callback":_emscripten_set_mouseup_callback,"_emscripten_set_resize_callback":_emscripten_set_resize_callback,"_emscripten_set_touchcancel_callback":_emscripten_set_touchcancel_callback,"_emscripten_set_touchend_callback":_emscripten_set_touchend_callback,"_emscripten_set_touchmove_callback":_emscripten_set_touchmove_callback,"_emscripten_set_touchstart_callback":_emscripten_set_touchstart_callback,"_emscripten_set_visibilitychange_callback":_emscripten_set_visibilitychange_callback,"_emscripten_set_wheel_callback":_emscripten_set_wheel_callback,"_getenv":_getenv,"_gettimeofday":_gettimeofday,"_glBindTexture":_glBindTexture,"_glBlendFunc":_glBlendFunc,"_glClear":_glClear,"_glClearColor":_glClearColor,"_glClearDepthf":_glClearDepthf,"_glClearStencil":_glClearStencil,"_glColorMask":_glColorMask,"_glCopyTexImage2D":_glCopyTexImage2D,"_glCopyTexSubImage2D":_glCopyTexSubImage2D,"_glDeleteTextures":_glDeleteTextures,"_glDepthMask":_glDepthMask,"_glDisable":_glDisable,"_glDrawArrays":_glDrawArrays,"_glDrawElements":_glDrawElements,"_glEnable":_glEnable,"_glFinish":_glFinish,"_glFlush":_glFlush,"_glGenTextures":_glGenTextures,"_glGetError":_glGetError,"_glGetIntegerv":_glGetIntegerv,"_glGetString":_glGetString,"_glPixelStorei":_glPixelStorei,"_glReadPixels":_glReadPixels,"_glScissor":_glScissor,"_glShaderBinary":_glShaderBinary,"_glStencilFunc":_glStencilFunc,"_glStencilMask":_glStencilMask,"_glStencilOp":_glStencilOp,"_glTexImage2D":_glTexImage2D,"_glTexParameterf":_glTexParameterf,"_glTexParameterfv":_glTexParameterfv,"_glTexParameteri":_glTexParameteri,"_glTexParameteriv":_glTexParameteriv,"_glTexSubImage2D":_glTexSubImage2D,"_glViewport":_glViewport,"_glutCreateWindow":_glutCreateWindow,"_glutDestroyWindow":_glutDestroyWindow,"_glutInitDisplayMode":_glutInitDisplayMode,"_llvm_ceil_f64":_llvm_ceil_f64,"_llvm_exp2_f32":_llvm_exp2_f32,"_llvm_fabs_f32":_llvm_fabs_f32,"_llvm_fabs_f64":_llvm_fabs_f64,"_llvm_floor_f32":_llvm_floor_f32,"_llvm_floor_f64":_llvm_floor_f64,"_llvm_stackrestore":_llvm_stackrestore,"_llvm_stacksave":_llvm_stacksave,"_llvm_trap":_llvm_trap,"_nanosleep":_nanosleep,"_pthread_attr_getstacksize":_pthread_attr_getstacksize,"_pthread_attr_init":_pthread_attr_init,"_pthread_attr_setstacksize":_pthread_attr_setstacksize,"_pthread_cleanup_pop":_pthread_cleanup_pop,"_pthread_cleanup_push":_pthread_cleanup_push,"_pthread_cond_destroy":_pthread_cond_destroy,"_pthread_cond_init":_pthread_cond_init,"_pthread_cond_signal":_pthread_cond_signal,"_pthread_cond_timedwait":_pthread_cond_timedwait,"_pthread_cond_wait":_pthread_cond_wait,"_pthread_create":_pthread_create,"_pthread_getspecific":_pthread_getspecific,"_pthread_join":_pthread_join,"_pthread_key_create":_pthread_key_create,"_pthread_mutex_destroy":_pthread_mutex_destroy,"_pthread_mutex_init":_pthread_mutex_init,"_pthread_mutexattr_init":_pthread_mutexattr_init,"_pthread_mutexattr_settype":_pthread_mutexattr_settype,"_pthread_once":_pthread_once,"_pthread_setspecific":_pthread_setspecific,"_sigaction":_sigaction,"_signal":_signal,"_strftime":_strftime,"_strftime_l":_strftime_l,"_usleep":_usleep,"constNoSmartPtrRawPointerToWireType":constNoSmartPtrRawPointerToWireType,"count_emval_handles":count_emval_handles,"craftInvokerFunction":craftInvokerFunction,"createNamedFunction":createNamedFunction,"downcastPointer":downcastPointer,"embind__requireFunction":embind__requireFunction,"embind_init_charCodes":embind_init_charCodes,"emscriptenWebGLComputeImageSize":emscriptenWebGLComputeImageSize,"emscriptenWebGLGet":emscriptenWebGLGet,"emscriptenWebGLGetTexPixelData":emscriptenWebGLGetTexPixelData,"emscriptenWebGLGetUniform":emscriptenWebGLGetUniform,"emscriptenWebGLGetVertexAttrib":emscriptenWebGLGetVertexAttrib,"emval_get_global":emval_get_global,"ensureOverloadTable":ensureOverloadTable,"exposePublicSymbol":exposePublicSymbol,"extendError":extendError,"floatReadValueFromPointer":floatReadValueFromPointer,"flushPendingDeletes":flushPendingDeletes,"genericPointerToWireType":genericPointerToWireType,"getBasestPointer":getBasestPointer,"getInheritedInstance":getInheritedInstance,"getInheritedInstanceCount":getInheritedInstanceCount,"getLiveInheritedInstances":getLiveInheritedInstances,"getShiftFromSize":getShiftFromSize,"getStringOrSymbol":getStringOrSymbol,"getTypeName":getTypeName,"get_first_emval":get_first_emval,"heap32VectorToArray":heap32VectorToArray,"init_ClassHandle":init_ClassHandle,"init_RegisteredPointer":init_RegisteredPointer,"init_embind":init_embind,"init_emval":init_emval,"integerReadValueFromPointer":integerReadValueFromPointer,"makeClassHandle":makeClassHandle,"makeLegalFunctionName":makeLegalFunctionName,"new_":new_,"nonConstNoSmartPtrRawPointerToWireType":nonConstNoSmartPtrRawPointerToWireType,"readLatin1String":readLatin1String,"registerType":registerType,"replacePublicSymbol":replacePublicSymbol,"requireHandle":requireHandle,"requireRegisteredType":requireRegisteredType,"runDestructor":runDestructor,"runDestructors":runDestructors,"setDelayFunction":setDelayFunction,"shallowCopyInternalPointer":shallowCopyInternalPointer,"simpleReadValueFromPointer":simpleReadValueFromPointer,"throwBindingError":throwBindingError,"throwInstanceAlreadyDeleted":throwInstanceAlreadyDeleted,"throwInternalError":throwInternalError,"throwUnboundTypeError":throwUnboundTypeError,"upcastPointer":upcastPointer,"whenDependentTypesAreResolved":whenDependentTypesAreResolved,"DYNAMICTOP_PTR":DYNAMICTOP_PTR,"tempDoublePtr":tempDoublePtr,"ABORT":ABORT,"STACKTOP":STACKTOP,"STACK_MAX":STACK_MAX};// EMSCRIPTEN_START_ASM
  6565. var asm=(/** @suppress {uselessCode} */ function(global,env,buffer) {
  6566. "use asm";var a=new global.Int8Array(buffer);var b=new global.Int16Array(buffer);var c=new global.Int32Array(buffer);var d=new global.Uint8Array(buffer);var e=new global.Uint16Array(buffer);var f=new global.Uint32Array(buffer);var g=new global.Float32Array(buffer);var h=new global.Float64Array(buffer);var i=env.DYNAMICTOP_PTR|0;var j=env.tempDoublePtr|0;var k=env.ABORT|0;var l=env.STACKTOP|0;var m=env.STACK_MAX|0;var n=0;var o=0;var p=0;var q=0;var r=global.NaN,s=global.Infinity;var t=0,u=0,v=0,w=0,x=0.0;var y=0;var z=global.Math.floor;var A=global.Math.abs;var B=global.Math.sqrt;var C=global.Math.pow;var D=global.Math.cos;var E=global.Math.sin;var F=global.Math.tan;var G=global.Math.acos;var H=global.Math.asin;var I=global.Math.atan;var J=global.Math.atan2;var K=global.Math.exp;var L=global.Math.log;var M=global.Math.ceil;var N=global.Math.imul;var O=global.Math.min;var P=global.Math.max;var Q=global.Math.clz32;var R=env.abort;var S=env.assert;var T=env.enlargeMemory;var U=env.getTotalMemory;var V=env.abortOnCannotGrowMemory;var W=env.invoke_di;var X=env.invoke_dii;var Y=env.invoke_diii;var Z=env.invoke_i;var _=env.invoke_ii;var $=env.invoke_iidd;var aa=env.invoke_iiddd;var ba=env.invoke_iidii;var ca=env.invoke_iii;var da=env.invoke_iiii;var ea=env.invoke_iiiii;var fa=env.invoke_iiiiid;var ga=env.invoke_iiiiidii;var ha=env.invoke_iiiiii;var ia=env.invoke_iiiiiid;var ja=env.invoke_iiiiiii;var ka=env.invoke_iiiiiiii;var la=env.invoke_iiiiiiiii;var ma=env.invoke_iiiiiiiiii;var na=env.invoke_v;var oa=env.invoke_vd;var pa=env.invoke_vdd;var qa=env.invoke_vdddd;var ra=env.invoke_vdddddd;var sa=env.invoke_vdi;var ta=env.invoke_vi;var ua=env.invoke_vid;var va=env.invoke_vidd;var wa=env.invoke_viddd;var xa=env.invoke_vidddd;var ya=env.invoke_viddddd;var za=env.invoke_viddi;var Aa=env.invoke_vidi;var Ba=env.invoke_vii;var Ca=env.invoke_viid;var Da=env.invoke_viidi;var Ea=env.invoke_viidiii;var Fa=env.invoke_viii;var Ga=env.invoke_viiid;var Ha=env.invoke_viiidiii;var Ia=env.invoke_viiii;var Ja=env.invoke_viiiidiii;var Ka=env.invoke_viiiii;var La=env.invoke_viiiiii;var Ma=env.invoke_viiiiiii;var Na=env.invoke_viiiiiiii;var Oa=env.invoke_viiiiiiiii;var Pa=env.invoke_viiiiiiiiii;var Qa=env.invoke_viiiiiiiiiii;var Ra=env.ClassHandle;var Sa=env.ClassHandle_clone;var Ta=env.ClassHandle_delete;var Ua=env.ClassHandle_deleteLater;var Va=env.ClassHandle_isAliasOf;var Wa=env.ClassHandle_isDeleted;var Xa=env.RegisteredClass;var Ya=env.RegisteredPointer;var Za=env.RegisteredPointer_deleteObject;var _a=env.RegisteredPointer_destructor;var $a=env.RegisteredPointer_fromWireType;var ab=env.RegisteredPointer_getPointee;var bb=env.___assert_fail;var cb=env.___buildEnvironment;var db=env.___cxa_allocate_exception;var eb=env.___cxa_begin_catch;var fb=env.___cxa_find_matching_catch;var gb=env.___cxa_pure_virtual;var hb=env.___cxa_throw;var ib=env.___cxa_uncaught_exception;var jb=env.___gxx_personality_v0;var kb=env.___lock;var lb=env.___map_file;var mb=env.___resumeException;var nb=env.___setErrNo;var ob=env.___syscall140;var pb=env.___syscall145;var qb=env.___syscall146;var rb=env.___syscall195;var sb=env.___syscall197;var tb=env.___syscall220;var ub=env.___syscall221;var vb=env.___syscall33;var wb=env.___syscall39;var xb=env.___syscall5;var yb=env.___syscall54;var zb=env.___syscall6;var Ab=env.___syscall85;var Bb=env.___syscall91;var Cb=env.___unlock;var Db=env.__addDays;var Eb=env.__arraySum;var Fb=env.__embind_register_bool;var Gb=env.__embind_register_class;var Hb=env.__embind_register_class_constructor;var Ib=env.__embind_register_class_function;var Jb=env.__embind_register_emval;var Kb=env.__embind_register_float;var Lb=env.__embind_register_function;var Mb=env.__embind_register_integer;var Nb=env.__embind_register_memory_view;var Ob=env.__embind_register_std_string;var Pb=env.__embind_register_std_wstring;var Qb=env.__embind_register_void;var Rb=env.__emscripten_sample_gamepad_data;var Sb=env.__emval_addMethodCaller;var Tb=env.__emval_allocateDestructors;var Ub=env.__emval_call_method;var Vb=env.__emval_decref;var Wb=env.__emval_get_global;var Xb=env.__emval_get_method_caller;var Yb=env.__emval_incref;var Zb=env.__emval_lookupTypes;var _b=env.__emval_register;var $b=env.__emval_run_destructors;var ac=env.__emval_take_value;var bc=env.__isLeapYear;var cc=env.__registerRestoreOldStyle;var dc=env.__setLetterbox;var ec=env._abort;var fc=env._clock_gettime;var gc=env._dlclose;var hc=env._dlerror;var ic=env._dlopen;var jc=env._dlsym;var kc=env._eglBindAPI;var lc=env._eglChooseConfig;var mc=env._eglCreateContext;var nc=env._eglCreateWindowSurface;var oc=env._eglDestroyContext;var pc=env._eglDestroySurface;var qc=env._eglGetConfigAttrib;var rc=env._eglGetDisplay;var sc=env._eglGetProcAddress;var tc=env._eglInitialize;var uc=env._eglMakeCurrent;var vc=env._eglSwapBuffers;var wc=env._eglSwapInterval;var xc=env._eglTerminate;var yc=env._eglWaitClient;var zc=env._eglWaitGL;var Ac=env._eglWaitNative;var Bc=env._embind_repr;var Cc=env._emscripten_asm_const_i;var Dc=env._emscripten_asm_const_ii;var Ec=env._emscripten_asm_const_iii;var Fc=env._emscripten_asm_const_iiii;var Gc=env._emscripten_asm_const_iiiii;var Hc=env._emscripten_do_request_fullscreen;var Ic=env._emscripten_exit_fullscreen;var Jc=env._emscripten_exit_pointerlock;var Kc=env._emscripten_get_device_pixel_ratio;var Lc=env._emscripten_get_element_css_size;var Mc=env._emscripten_get_gamepad_status;var Nc=env._emscripten_get_now;var Oc=env._emscripten_get_now_is_monotonic;var Pc=env._emscripten_get_num_gamepads;var Qc=env._emscripten_get_pointerlock_status;var Rc=env._emscripten_glActiveTexture;var Sc=env._emscripten_glAttachShader;var Tc=env._emscripten_glBeginConditionalRender;var Uc=env._emscripten_glBeginTransformFeedback;var Vc=env._emscripten_glBindAttribLocation;var Wc=env._emscripten_glBindBuffer;var Xc=env._emscripten_glBindBufferBase;var Yc=env._emscripten_glBindBufferRange;var Zc=env._emscripten_glBindFragDataLocation;var _c=env._emscripten_glBindFramebuffer;var $c=env._emscripten_glBindProgramARB;var ad=env._emscripten_glBindRenderbuffer;var bd=env._emscripten_glBindTexture;var cd=env._emscripten_glBindVertexArray;var dd=env._emscripten_glBlendColor;var ed=env._emscripten_glBlendEquation;var fd=env._emscripten_glBlendEquationSeparate;var gd=env._emscripten_glBlendFunc;var hd=env._emscripten_glBlendFuncSeparate;var id=env._emscripten_glBufferData;var jd=env._emscripten_glBufferSubData;var kd=env._emscripten_glCheckFramebufferStatus;var ld=env._emscripten_glClampColor;var md=env._emscripten_glClear;var nd=env._emscripten_glClearBufferfi;var od=env._emscripten_glClearBufferfv;var pd=env._emscripten_glClearBufferiv;var qd=env._emscripten_glClearBufferuiv;var rd=env._emscripten_glClearColor;var sd=env._emscripten_glClearDepth;var td=env._emscripten_glClearDepthf;var ud=env._emscripten_glClearStencil;var vd=env._emscripten_glClientActiveTexture;var wd=env._emscripten_glColorMask;var xd=env._emscripten_glColorMaski;var yd=env._emscripten_glColorPointer;var zd=env._emscripten_glCompileShader;var Ad=env._emscripten_glCompressedTexImage2D;var Bd=env._emscripten_glCompressedTexSubImage2D;var Cd=env._emscripten_glCopyTexImage2D;var Dd=env._emscripten_glCopyTexSubImage2D;var Ed=env._emscripten_glCreateProgram;var Fd=env._emscripten_glCreateShader;var Gd=env._emscripten_glCullFace;var Hd=env._emscripten_glDeleteBuffers;var Id=env._emscripten_glDeleteFramebuffers;var Jd=env._emscripten_glDeleteObjectARB;var Kd=env._emscripten_glDeleteProgram;var Ld=env._emscripten_glDeleteRenderbuffers;var Md=env._emscripten_glDeleteShader;var Nd=env._emscripten_glDeleteTextures;var Od=env._emscripten_glDeleteVertexArrays;var Pd=env._emscripten_glDepthFunc;var Qd=env._emscripten_glDepthMask;var Rd=env._emscripten_glDepthRange;var Sd=env._emscripten_glDepthRangef;var Td=env._emscripten_glDetachShader;var Ud=env._emscripten_glDisable;var Vd=env._emscripten_glDisableVertexAttribArray;var Wd=env._emscripten_glDisablei;var Xd=env._emscripten_glDrawArrays;var Yd=env._emscripten_glDrawArraysInstanced;var Zd=env._emscripten_glDrawBuffers;var _d=env._emscripten_glDrawElements;var $d=env._emscripten_glDrawElementsInstanced;var ae=env._emscripten_glDrawRangeElements;var be=env._emscripten_glEnable;var ce=env._emscripten_glEnableClientState;var de=env._emscripten_glEnableVertexAttribArray;var ee=env._emscripten_glEnablei;var fe=env._emscripten_glEndConditionalRender;var ge=env._emscripten_glEndTransformFeedback;var he=env._emscripten_glFinish;var ie=env._emscripten_glFlush;var je=env._emscripten_glFramebufferRenderbuffer;var ke=env._emscripten_glFramebufferTexture2D;var le=env._emscripten_glFrontFace;var me=env._emscripten_glFrustum;var ne=env._emscripten_glGenBuffers;var oe=env._emscripten_glGenFramebuffers;var pe=env._emscripten_glGenRenderbuffers;var qe=env._emscripten_glGenTextures;var re=env._emscripten_glGenVertexArrays;var se=env._emscripten_glGenerateMipmap;var te=env._emscripten_glGetActiveAttrib;var ue=env._emscripten_glGetActiveUniform;var ve=env._emscripten_glGetActiveUniformBlockName;var we=env._emscripten_glGetActiveUniformBlockiv;var xe=env._emscripten_glGetActiveUniformName;var ye=env._emscripten_glGetActiveUniformsiv;var ze=env._emscripten_glGetAttachedShaders;var Ae=env._emscripten_glGetAttribLocation;var Be=env._emscripten_glGetBooleani_v;var Ce=env._emscripten_glGetBooleanv;var De=env._emscripten_glGetBufferParameteriv;var Ee=env._emscripten_glGetError;var Fe=env._emscripten_glGetFloatv;var Ge=env._emscripten_glGetFragDataLocation;var He=env._emscripten_glGetFramebufferAttachmentParameteriv;var Ie=env._emscripten_glGetInfoLogARB;var Je=env._emscripten_glGetIntegeri_v;var Ke=env._emscripten_glGetIntegerv;var Le=env._emscripten_glGetObjectParameterivARB;var Me=env._emscripten_glGetPointerv;var Ne=env._emscripten_glGetProgramInfoLog;var Oe=env._emscripten_glGetProgramiv;var Pe=env._emscripten_glGetRenderbufferParameteriv;var Qe=env._emscripten_glGetShaderInfoLog;var Re=env._emscripten_glGetShaderPrecisionFormat;var Se=env._emscripten_glGetShaderSource;var Te=env._emscripten_glGetShaderiv;var Ue=env._emscripten_glGetString;var Ve=env._emscripten_glGetStringi;var We=env._emscripten_glGetTexParameterIiv;var Xe=env._emscripten_glGetTexParameterIuiv;var Ye=env._emscripten_glGetTexParameterfv;var Ze=env._emscripten_glGetTexParameteriv;var _e=env._emscripten_glGetTransformFeedbackVarying;var $e=env._emscripten_glGetUniformBlockIndex;var af=env._emscripten_glGetUniformIndices;var bf=env._emscripten_glGetUniformLocation;var cf=env._emscripten_glGetUniformfv;var df=env._emscripten_glGetUniformiv;var ef=env._emscripten_glGetUniformuiv;var ff=env._emscripten_glGetVertexAttribIiv;var gf=env._emscripten_glGetVertexAttribIuiv;var hf=env._emscripten_glGetVertexAttribPointerv;var jf=env._emscripten_glGetVertexAttribfv;var kf=env._emscripten_glGetVertexAttribiv;var lf=env._emscripten_glHint;var mf=env._emscripten_glIsBuffer;var nf=env._emscripten_glIsEnabled;var of=env._emscripten_glIsEnabledi;var pf=env._emscripten_glIsFramebuffer;var qf=env._emscripten_glIsProgram;var rf=env._emscripten_glIsRenderbuffer;var sf=env._emscripten_glIsShader;var tf=env._emscripten_glIsTexture;var uf=env._emscripten_glIsVertexArray;var vf=env._emscripten_glLineWidth;var wf=env._emscripten_glLinkProgram;var xf=env._emscripten_glLoadIdentity;var yf=env._emscripten_glLoadMatrixf;var zf=env._emscripten_glMatrixMode;var Af=env._emscripten_glNormalPointer;var Bf=env._emscripten_glPixelStorei;var Cf=env._emscripten_glPolygonOffset;var Df=env._emscripten_glReadPixels;var Ef=env._emscripten_glReleaseShaderCompiler;var Ff=env._emscripten_glRenderbufferStorage;var Gf=env._emscripten_glRotatef;var Hf=env._emscripten_glSampleCoverage;var If=env._emscripten_glScissor;var Jf=env._emscripten_glShaderBinary;var Kf=env._emscripten_glShaderSource;var Lf=env._emscripten_glStencilFunc;var Mf=env._emscripten_glStencilFuncSeparate;var Nf=env._emscripten_glStencilMask;var Of=env._emscripten_glStencilMaskSeparate;var Pf=env._emscripten_glStencilOp;var Qf=env._emscripten_glStencilOpSeparate;var Rf=env._emscripten_glTexCoordPointer;var Sf=env._emscripten_glTexImage2D;var Tf=env._emscripten_glTexImage3D;var Uf=env._emscripten_glTexParameterIiv;var Vf=env._emscripten_glTexParameterIuiv;var Wf=env._emscripten_glTexParameterf;var Xf=env._emscripten_glTexParameterfv;var Yf=env._emscripten_glTexParameteri;var Zf=env._emscripten_glTexParameteriv;var _f=env._emscripten_glTexStorage2D;var $f=env._emscripten_glTexStorage3D;var ag=env._emscripten_glTexSubImage2D;var bg=env._emscripten_glTexSubImage3D;var cg=env._emscripten_glTransformFeedbackVaryings;var dg=env._emscripten_glUniform1f;var eg=env._emscripten_glUniform1fv;var fg=env._emscripten_glUniform1i;var gg=env._emscripten_glUniform1iv;var hg=env._emscripten_glUniform1ui;var ig=env._emscripten_glUniform2f;var jg=env._emscripten_glUniform2fv;var kg=env._emscripten_glUniform2i;var lg=env._emscripten_glUniform2iv;var mg=env._emscripten_glUniform2ui;var ng=env._emscripten_glUniform3f;var og=env._emscripten_glUniform3fv;var pg=env._emscripten_glUniform3i;var qg=env._emscripten_glUniform3iv;var rg=env._emscripten_glUniform3ui;var sg=env._emscripten_glUniform4f;var tg=env._emscripten_glUniform4fv;var ug=env._emscripten_glUniform4i;var vg=env._emscripten_glUniform4iv;var wg=env._emscripten_glUniform4ui;var xg=env._emscripten_glUniformBlockBinding;var yg=env._emscripten_glUniformMatrix2fv;var zg=env._emscripten_glUniformMatrix3fv;var Ag=env._emscripten_glUniformMatrix4fv;var Bg=env._emscripten_glUseProgram;var Cg=env._emscripten_glValidateProgram;var Dg=env._emscripten_glVertexAttrib1f;var Eg=env._emscripten_glVertexAttrib1fv;var Fg=env._emscripten_glVertexAttrib2f;var Gg=env._emscripten_glVertexAttrib2fv;var Hg=env._emscripten_glVertexAttrib3f;var Ig=env._emscripten_glVertexAttrib3fv;var Jg=env._emscripten_glVertexAttrib4f;var Kg=env._emscripten_glVertexAttrib4fv;var Lg=env._emscripten_glVertexAttribDivisor;var Mg=env._emscripten_glVertexAttribI1i;var Ng=env._emscripten_glVertexAttribI1iv;var Og=env._emscripten_glVertexAttribI1ui;var Pg=env._emscripten_glVertexAttribI1uiv;var Qg=env._emscripten_glVertexAttribI2i;var Rg=env._emscripten_glVertexAttribI2iv;var Sg=env._emscripten_glVertexAttribI2ui;var Tg=env._emscripten_glVertexAttribI2uiv;var Ug=env._emscripten_glVertexAttribI3i;var Vg=env._emscripten_glVertexAttribI3iv;var Wg=env._emscripten_glVertexAttribI3ui;var Xg=env._emscripten_glVertexAttribI3uiv;var Yg=env._emscripten_glVertexAttribI4bv;var Zg=env._emscripten_glVertexAttribI4i;var _g=env._emscripten_glVertexAttribI4iv;var $g=env._emscripten_glVertexAttribI4sv;var ah=env._emscripten_glVertexAttribI4ubv;var bh=env._emscripten_glVertexAttribI4ui;var ch=env._emscripten_glVertexAttribI4uiv;var dh=env._emscripten_glVertexAttribI4usv;var eh=env._emscripten_glVertexAttribIPointer;var fh=env._emscripten_glVertexAttribPointer;var gh=env._emscripten_glVertexPointer;var hh=env._emscripten_glViewport;var ih=env._emscripten_memcpy_big;var jh=env._emscripten_request_fullscreen_strategy;var kh=env._emscripten_request_pointerlock;var lh=env._emscripten_set_blur_callback;var mh=env._emscripten_set_canvas_size;var nh=env._emscripten_set_element_css_size;var oh=env._emscripten_set_focus_callback;var ph=env._emscripten_set_fullscreenchange_callback;var qh=env._emscripten_set_gamepadconnected_callback;var rh=env._emscripten_set_gamepaddisconnected_callback;var sh=env._emscripten_set_keydown_callback;var th=env._emscripten_set_keypress_callback;var uh=env._emscripten_set_keyup_callback;var vh=env._emscripten_set_main_loop;var wh=env._emscripten_set_main_loop_timing;var xh=env._emscripten_set_mousedown_callback;var yh=env._emscripten_set_mouseenter_callback;var zh=env._emscripten_set_mouseleave_callback;var Ah=env._emscripten_set_mousemove_callback;var Bh=env._emscripten_set_mouseup_callback;var Ch=env._emscripten_set_resize_callback;var Dh=env._emscripten_set_touchcancel_callback;var Eh=env._emscripten_set_touchend_callback;var Fh=env._emscripten_set_touchmove_callback;var Gh=env._emscripten_set_touchstart_callback;var Hh=env._emscripten_set_visibilitychange_callback;var Ih=env._emscripten_set_wheel_callback;var Jh=env._getenv;var Kh=env._gettimeofday;var Lh=env._glBindTexture;var Mh=env._glBlendFunc;var Nh=env._glClear;var Oh=env._glClearColor;var Ph=env._glClearDepthf;var Qh=env._glClearStencil;var Rh=env._glColorMask;var Sh=env._glCopyTexImage2D;var Th=env._glCopyTexSubImage2D;var Uh=env._glDeleteTextures;var Vh=env._glDepthMask;var Wh=env._glDisable;var Xh=env._glDrawArrays;var Yh=env._glDrawElements;var Zh=env._glEnable;var _h=env._glFinish;var $h=env._glFlush;var ai=env._glGenTextures;var bi=env._glGetError;var ci=env._glGetIntegerv;var di=env._glGetString;var ei=env._glPixelStorei;var fi=env._glReadPixels;var gi=env._glScissor;var hi=env._glShaderBinary;var ii=env._glStencilFunc;var ji=env._glStencilMask;var ki=env._glStencilOp;var li=env._glTexImage2D;var mi=env._glTexParameterf;var ni=env._glTexParameterfv;var oi=env._glTexParameteri;var pi=env._glTexParameteriv;var qi=env._glTexSubImage2D;var ri=env._glViewport;var si=env._glutCreateWindow;var ti=env._glutDestroyWindow;var ui=env._glutInitDisplayMode;var vi=env._llvm_ceil_f64;var wi=env._llvm_exp2_f32;var xi=env._llvm_fabs_f32;var yi=env._llvm_fabs_f64;var zi=env._llvm_floor_f32;var Ai=env._llvm_floor_f64;var Bi=env._llvm_stackrestore;var Ci=env._llvm_stacksave;var Di=env._llvm_trap;var Ei=env._nanosleep;var Fi=env._pthread_attr_getstacksize;var Gi=env._pthread_attr_init;var Hi=env._pthread_attr_setstacksize;var Ii=env._pthread_cleanup_pop;var Ji=env._pthread_cleanup_push;var Ki=env._pthread_cond_destroy;var Li=env._pthread_cond_init;var Mi=env._pthread_cond_signal;var Ni=env._pthread_cond_timedwait;var Oi=env._pthread_cond_wait;var Pi=env._pthread_create;var Qi=env._pthread_getspecific;var Ri=env._pthread_join;var Si=env._pthread_key_create;var Ti=env._pthread_mutex_destroy;var Ui=env._pthread_mutex_init;var Vi=env._pthread_mutexattr_init;var Wi=env._pthread_mutexattr_settype;var Xi=env._pthread_once;var Yi=env._pthread_setspecific;var Zi=env._sigaction;var _i=env._signal;var $i=env._strftime;var aj=env._strftime_l;var bj=env._usleep;var cj=env.constNoSmartPtrRawPointerToWireType;var dj=env.count_emval_handles;var ej=env.craftInvokerFunction;var fj=env.createNamedFunction;var gj=env.downcastPointer;var hj=env.embind__requireFunction;var ij=env.embind_init_charCodes;var jj=env.emscriptenWebGLComputeImageSize;var kj=env.emscriptenWebGLGet;var lj=env.emscriptenWebGLGetTexPixelData;var mj=env.emscriptenWebGLGetUniform;var nj=env.emscriptenWebGLGetVertexAttrib;var oj=env.emval_get_global;var pj=env.ensureOverloadTable;var qj=env.exposePublicSymbol;var rj=env.extendError;var sj=env.floatReadValueFromPointer;var tj=env.flushPendingDeletes;var uj=env.genericPointerToWireType;var vj=env.getBasestPointer;var wj=env.getInheritedInstance;var xj=env.getInheritedInstanceCount;var yj=env.getLiveInheritedInstances;var zj=env.getShiftFromSize;var Aj=env.getStringOrSymbol;var Bj=env.getTypeName;var Cj=env.get_first_emval;var Dj=env.heap32VectorToArray;var Ej=env.init_ClassHandle;var Fj=env.init_RegisteredPointer;var Gj=env.init_embind;var Hj=env.init_emval;var Ij=env.integerReadValueFromPointer;var Jj=env.makeClassHandle;var Kj=env.makeLegalFunctionName;var Lj=env.new_;var Mj=env.nonConstNoSmartPtrRawPointerToWireType;var Nj=env.readLatin1String;var Oj=env.registerType;var Pj=env.replacePublicSymbol;var Qj=env.requireHandle;var Rj=env.requireRegisteredType;var Sj=env.runDestructor;var Tj=env.runDestructors;var Uj=env.setDelayFunction;var Vj=env.shallowCopyInternalPointer;var Wj=env.simpleReadValueFromPointer;var Xj=env.throwBindingError;var Yj=env.throwInstanceAlreadyDeleted;var Zj=env.throwInternalError;var _j=env.throwUnboundTypeError;var $j=env.upcastPointer;var ak=env.whenDependentTypesAreResolved;var bk=0.0;
  6567. // EMSCRIPTEN_START_FUNCS
  6568. function Kja(b){b=b|0;var d=0,e=0;d=b+80|0;c[b+84>>2]=0;c[b+88>>2]=0;c[d>>2]=68320;e=b+92|0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[b+104>>2]=2;c[b+108>>2]=0;FR(b,87576,2,3);c[b>>2]=87040;c[d>>2]=87408;c[b+56>>2]=0;c[b+60>>2]=0;a[b+64>>0]=0;d=b+68|0;c[d>>2]=d;c[b+72>>2]=d;c[b+76>>2]=0;return}function Lja(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=a+68|0;e=(b|0)==0;if(!e){f=b+8|0;c[f>>2]=(c[f>>2]|0)+1}f=j0a(12)|0;c[f>>2]=0;c[f+8>>2]=b;if(!e){g=b+8|0;c[g>>2]=(c[g>>2]|0)+1}c[f+4>>2]=d;g=c[d>>2]|0;c[f>>2]=g;c[g+4>>2]=f;c[d>>2]=f;g=a+76|0;c[g>>2]=(c[g>>2]|0)+1;if(e)return;f=b+8|0;g=c[f>>2]|0;c[f>>2]=g-1;if((g|0)!=1)return;UU(b,1,1);return}function Mja(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=c[b+52>>2]|0;if((d|0)!=0?(c[d+24>>2]|0)!=0:0)d=c[b+56>>2]|0;else d=0;pda(a+52|0,d)|0;c[a+104>>2]=c[b+104>>2];c[a+108>>2]=c[b+108>>2];f=c[b+96>>2]|0;e=c[b+92>>2]|0;d=c[b+100>>2]|0;c[a+88>>2]=c[b+88>>2];c[a+96>>2]=f;c[a+92>>2]=e;c[a+100>>2]=d;c[a+112>>2]=c[b+112>>2];c[a+120>>2]=c[b+120>>2];if((a|0)==(b|0))return;Nja(a+160|0,c[b+160>>2]|0,c[b+164>>2]|0);return}function Nja(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;i=d-b>>2;j=a+8|0;e=c[j>>2]|0;g=c[a>>2]|0;f=g;if(i>>>0>e-g>>2>>>0){if(g){h=a+4|0;e=c[h>>2]|0;if((e|0)==(f|0))e=g;else{do{e=e+-4|0;g=c[e>>2]|0;if(g|0?(l=g+8|0,k=c[l>>2]|0,c[l>>2]=k-1,(k|0)==1):0)UU(g,1,1);c[e>>2]=0}while((e|0)!=(f|0));e=c[a>>2]|0}c[h>>2]=f;l0a(e);c[j>>2]=0;c[h>>2]=0;c[a>>2]=0;e=0}if(i>>>0>1073741823)g1a(a);l=e>>1;e=e>>2>>>0<536870911?(l>>>0<i>>>0?i:l):1073741823;if(e>>>0>1073741823)g1a(a);f=j0a(e<<2)|0;g=a+4|0;c[g>>2]=f;c[a>>2]=f;c[j>>2]=f+(e<<2);if((b|0)==(d|0))return;do{e=c[b>>2]|0;c[f>>2]=e;if(e|0){l=e+8|0;c[l>>2]=(c[l>>2]|0)+1}b=b+4|0;f=(c[g>>2]|0)+4|0;c[g>>2]=f}while((b|0)!=(d|0));return}j=a+4|0;e=(c[j>>2]|0)-g>>2;i=i>>>0>e>>>0;e=b+(e<<2)|0;a=i?e:d;if((a|0)==(b|0))b=f;else{do{g=c[f>>2]|0;h=c[b>>2]|0;if((g|0)!=(h|0)){c[f>>2]=h;if(h|0){l=h+8|0;c[l>>2]=(c[l>>2]|0)+1}if(g|0?(k=g+8|0,l=c[k>>2]|0,c[k>>2]=l-1,(l|0)==1):0)UU(g,1,1)}b=b+4|0;f=f+4|0}while((b|0)!=(a|0));b=f}if(i){if((a|0)==(d|0))return;b=c[j>>2]|0;do{f=c[e>>2]|0;c[b>>2]=f;if(f|0){l=f+8|0;c[l>>2]=(c[l>>2]|0)+1}e=e+4|0;b=(c[j>>2]|0)+4|0;c[j>>2]=b}while((e|0)!=(d|0));return}e=c[j>>2]|0;if((e|0)!=(b|0))do{e=e+-4|0;f=c[e>>2]|0;if(f|0?(k=f+8|0,l=c[k>>2]|0,c[k>>2]=l-1,(l|0)==1):0)UU(f,1,1);c[e>>2]=0}while((e|0)!=(b|0));c[j>>2]=b;return}function Oja(a,b){a=a|0;b=b|0;var d=0,e=0.0,f=0.0;d=a+120|0;if((c[d>>2]|0)==(b|0))return;c[d>>2]=b;f=+g[a+100>>2];d=a+108|0;e=+g[a+96>>2];g[d>>2]=f-+g[d>>2]+e;d=c[a+156>>2]|0;if(!d)return;b=c[d+32>>2]|0;d=c[d+36>>2]|0;if((b|0)==(d|0))return;do{a=b+12|0;g[a>>2]=e+(f-+g[a>>2]);b=b+20|0}while((b|0)!=(d|0));return}function Pja(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,i=0,j=0,k=0,m=0,n=0;m=l;l=l+16|0;j=m;f=d+4|0;i=c[d+20>>2]|0;c[b>>2]=i;c[b+(c[i+-12>>2]|0)>>2]=c[d+24>>2];c[b+(c[(c[b>>2]|0)+-16>>2]|0)>>2]=c[d+28>>2];i=b+4|0;g=c[d+32>>2]|0;c[i>>2]=g;c[i+(c[g+-12>>2]|0)>>2]=c[d+36>>2];c[i+(c[(c[i>>2]|0)+-16>>2]|0)>>2]=c[d+40>>2];g=c[d+16>>2]|0;c[b>>2]=g;c[b+(c[g+-12>>2]|0)>>2]=c[d+44>>2];c[b+(c[(c[b>>2]|0)+-16>>2]|0)>>2]=c[d+48>>2];c[i>>2]=c[d+52>>2];g=c[d+12>>2]|0;c[b>>2]=g;c[b+(c[g+-12>>2]|0)>>2]=c[d+56>>2];c[b+(c[(c[b>>2]|0)+-16>>2]|0)>>2]=c[d+60>>2];c[i>>2]=c[d+64>>2];g=c[d+8>>2]|0;c[b>>2]=g;c[b+(c[g+-12>>2]|0)>>2]=c[d+68>>2];c[b+(c[(c[b>>2]|0)+-16>>2]|0)>>2]=c[d+72>>2];c[i>>2]=c[d+76>>2];g=b+16|0;c[g+72>>2]=0;c[b+8>>2]=-1;a[b+12>>0]=1;h[g>>3]=0.0;h[b+24>>3]=-1.0;g=b+80|0;k=b+32|0;n=k+48|0;do{c[k>>2]=0;k=k+4|0}while((k|0)<(n|0));h[g>>3]=1.0;g=c[f>>2]|0;c[b>>2]=g;c[b+(c[g+-12>>2]|0)>>2]=c[d+80>>2];c[b+(c[(c[b>>2]|0)+-16>>2]|0)>>2]=c[d+84>>2];c[i>>2]=c[d+88>>2];a[b+92>>0]=0;a[b+93>>0]=1;g=b+96|0;c[g>>2]=0;c[g+4>>2]=0;c[g+8>>2]=0;c[g+12>>2]=0;h[b+112>>3]=.01;h[b+120>>3]=0.0;c[b+128>>2]=0;h[b+136>>3]=0.0;a[b+144>>0]=1;c[b+148>>2]=0;g=b+152|0;c[g>>2]=e;c[b+156>>2]=0;f=c[d>>2]|0;c[b>>2]=f;c[b+(c[f+-12>>2]|0)>>2]=c[d+92>>2];c[b+(c[(c[b>>2]|0)+-16>>2]|0)>>2]=c[d+96>>2];c[i>>2]=c[d+100>>2];f=b+208|0;k=b+160|0;n=k+48|0;do{c[k>>2]=0;k=k+4|0}while((k|0)<(n|0));h[f>>3]=1.0;h[b+216>>3]=1.0;h[b+224>>3]=.8;n=c[(c[b>>2]|0)+292>>2]|0;h[j>>3]=.05;Nk[n&255](b,j,1);Ck[c[(c[b>>2]|0)+288>>2]&15](b,.1);if(!(c[g>>2]&8)){l=m;return}Ck[c[(c[b>>2]|0)+180>>2]&15](b,.2);l=m;return}function Qja(b,d){b=b|0;d=d|0;var e=0;c[b+260>>2]=0;c[b+264>>2]=0;e=b+268|0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[b+280>>2]=2;c[b+284>>2]=0;e=b+248|0;c[e>>2]=61744;c[e+8>>2]=62016;c[b+252>>2]=0;Pja(b,95888,d);c[b>>2]=96028;c[e>>2]=96516;c[b+256>>2]=96788;c[b+4>>2]=96360;a[b+144>>0]=0;return}function Rja(a){a=a|0;a=j0a(288)|0;Qja(a,5);return a+(c[(c[a>>2]|0)+-16>>2]|0)|0}function Sja(a,b){a=a|0;b=b|0;var d=0;d=j0a(288)|0;rka(d,a,b);return d+(c[(c[d>>2]|0)+-16>>2]|0)|0}function Tja(a,b){a=a|0;b=b|0;if(!b){b=0;return b|0}b=(y1a(b,42800,52096,-1)|0)!=0;return b|0}function Uja(a){a=a|0;return 160078}function Vja(a){a=a|0;return 170708}function Wja(a){a=a|0;var b=0,d=0,e=0,f=0;N6(a,95892);b=a+248|0;c[b>>2]=61744;c[b+8>>2]=62016;b=a+252|0;d=c[b>>2]|0;if(d|0?(e=d+(c[(c[d>>2]|0)+-12>>2]|0)|0,f=e+8|0,d=c[f>>2]|0,c[f>>2]=d-1,(d|0)==1):0)UU(e,1,1);c[b>>2]=0;Pr(a+256|0);return}function Xja(a){a=a|0;var b=0,d=0,e=0,f=0;N6(a,95892);b=a+248|0;c[b>>2]=61744;c[b+8>>2]=62016;b=a+252|0;d=c[b>>2]|0;if(d|0?(e=d+(c[(c[d>>2]|0)+-12>>2]|0)|0,f=e+8|0,d=c[f>>2]|0,c[f>>2]=d-1,(d|0)==1):0)UU(e,1,1);c[b>>2]=0;Pr(a+256|0);l0a(a);return}function Yja(a){a=a|0;a=j0a(288)|0;Qja(a,5);return a+(c[(c[a>>2]|0)+-16>>2]|0)|0}function Zja(a,b){a=a|0;b=b|0;var d=0;d=j0a(288)|0;rka(d,a+-4|0,b);return d+(c[(c[d>>2]|0)+-16>>2]|0)|0}function _ja(a,b){a=a|0;b=b|0;if(!b){b=0;return b|0}b=(y1a(b,42800,52096,-1)|0)!=0;return b|0}function $ja(a){a=a|0;return 160078}function aka(a){a=a|0;return 170708}function bka(a){a=a|0;var b=0,d=0,e=0,f=0;d=a+-4|0;N6(d,95892);c[d+248>>2]=61744;b=d+256|0;c[b>>2]=62016;d=d+252|0;a=c[d>>2]|0;if(!a){c[d>>2]=0;Pr(b);return}a=a+(c[(c[a>>2]|0)+-12>>2]|0)|0;f=a+8|0;e=c[f>>2]|0;c[f>>2]=e-1;if((e|0)!=1){c[d>>2]=0;Pr(b);return}UU(a,1,1);c[d>>2]=0;Pr(b);return}function cka(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;a=a+-4|0;N6(a,95892);c[a+248>>2]=61744;b=a+256|0;c[b>>2]=62016;d=a+252|0;e=c[d>>2]|0;if(e|0?(f=e+(c[(c[e>>2]|0)+-12>>2]|0)|0,g=f+8|0,e=c[g>>2]|0,c[g>>2]=e-1,(e|0)==1):0)UU(f,1,1);c[d>>2]=0;Pr(b);l0a(a);return}function dka(a){a=a|0;a=j0a(288)|0;Qja(a,5);return a+(c[(c[a>>2]|0)+-16>>2]|0)|0}function eka(a,b){a=a|0;b=b|0;var d=0;d=a+(c[(c[a>>2]|0)+-20>>2]|0)|0;a=j0a(288)|0;rka(a,d,b);return a+(c[(c[a>>2]|0)+-16>>2]|0)|0}function fka(a,b){a=a|0;b=b|0;if(!b){b=0;return b|0}b=(y1a(b,42800,52096,-1)|0)!=0;return b|0}function gka(a){a=a|0;return 160078}function hka(a){a=a|0;return 170708}function ika(a){a=a|0;var b=0,d=0,e=0,f=0;a=a+(c[(c[a>>2]|0)+-112>>2]|0)|0;N6(a,95892);b=a+248|0;c[b>>2]=61744;c[b+8>>2]=62016;b=a+252|0;d=c[b>>2]|0;if(d|0?(e=d+(c[(c[d>>2]|0)+-12>>2]|0)|0,f=e+8|0,d=c[f>>2]|0,c[f>>2]=d-1,(d|0)==1):0)UU(e,1,1);c[b>>2]=0;Pr(a+256|0);return}function jka(a){a=a|0;var b=0,d=0,e=0,f=0;a=a+(c[(c[a>>2]|0)+-112>>2]|0)|0;N6(a,95892);b=a+248|0;c[b>>2]=61744;c[b+8>>2]=62016;b=a+252|0;d=c[b>>2]|0;if(d|0?(e=d+(c[(c[d>>2]|0)+-12>>2]|0)|0,f=e+8|0,d=c[f>>2]|0,c[f>>2]=d-1,(d|0)==1):0)UU(e,1,1);c[b>>2]=0;Pr(a+256|0);l0a(a);return}function kka(a){a=a|0;var b=0,d=0,e=0,f=0;a=a+(c[(c[a>>2]|0)+-16>>2]|0)|0;N6(a,95892);b=a+248|0;c[b>>2]=61744;c[b+8>>2]=62016;b=a+252|0;d=c[b>>2]|0;if(d|0?(e=d+(c[(c[d>>2]|0)+-12>>2]|0)|0,f=e+8|0,d=c[f>>2]|0,c[f>>2]=d-1,(d|0)==1):0)UU(e,1,1);c[b>>2]=0;Pr(a+256|0);return}function lka(a){a=a|0;var b=0,d=0,e=0,f=0;a=a+(c[(c[a>>2]|0)+-16>>2]|0)|0;N6(a,95892);b=a+248|0;c[b>>2]=61744;c[b+8>>2]=62016;b=a+252|0;d=c[b>>2]|0;if(d|0?(e=d+(c[(c[d>>2]|0)+-12>>2]|0)|0,f=e+8|0,d=c[f>>2]|0,c[f>>2]=d-1,(d|0)==1):0)UU(e,1,1);c[b>>2]=0;Pr(a+256|0);l0a(a);return}function mka(a){a=a|0;a=j0a(288)|0;Qja(a,5);return a+(c[(c[a>>2]|0)+-16>>2]|0)|0}function nka(a,b){a=a|0;b=b|0;var d=0;d=a+(c[(c[a>>2]|0)+-24>>2]|0)|0;a=j0a(288)|0;rka(a,d,b);return a+(c[(c[a>>2]|0)+-16>>2]|0)|0}function oka(a,b){a=a|0;b=b|0;if(!b){b=0;return b|0}b=(y1a(b,42800,52096,-1)|0)!=0;return b|0}function pka(a){a=a|0;return 160078}function qka(a){a=a|0;return 170708}function rka(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;f=a+256|0;Or(f,b+(c[(c[b>>2]|0)+-16>>2]|0)|0,d);g=a+248|0;e=b+(c[(c[b>>2]|0)+-12>>2]|0)|0;c[g>>2]=61744;c[g+8>>2]=62016;e=c[e+4>>2]|0;c[a+252>>2]=e;if(e|0){e=e+(c[(c[e>>2]|0)+-12>>2]|0)+8|0;c[e>>2]=(c[e>>2]|0)+1}W5(a,95892,b,d);c[a>>2]=11360;c[g>>2]=11848;c[f>>2]=12120;c[a+4>>2]=11692;d=a+160|0;e=b+160|0;c[d>>2]=c[e>>2];c[d+4>>2]=c[e+4>>2];c[d+8>>2]=c[e+8>>2];c[d+12>>2]=c[e+12>>2];c[d+16>>2]=c[e+16>>2];c[d+20>>2]=c[e+20>>2];d=a+184|0;e=b+184|0;c[d>>2]=c[e>>2];c[d+4>>2]=c[e+4>>2];c[d+8>>2]=c[e+8>>2];c[d+12>>2]=c[e+12>>2];c[d+16>>2]=c[e+16>>2];c[d+20>>2]=c[e+20>>2];c[d+24>>2]=c[e+24>>2];c[d+28>>2]=c[e+28>>2];h[a+216>>3]=+h[b+216>>3];h[a+224>>3]=+h[b+224>>3];h[a+232>>3]=+h[b+232>>3];h[a+240>>3]=+h[b+240>>3];c[a>>2]=96028;c[g>>2]=96516;c[f>>2]=96788;c[a+4>>2]=96360;return}function ska(a,b){a=a|0;b=b|0;var d=0,e=0;d=a+128|0;c[a+132>>2]=0;c[a+136>>2]=0;c[d>>2]=68320;e=a+140|0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[a+152>>2]=2;c[a+156>>2]=0;IR(a,91628,0);c[a>>2]=91092;c[d>>2]=91460;d=a+60|0;e=d+36|0;do{c[d>>2]=0;d=d+4|0}while((d|0)<(e|0));c[a+104>>2]=0;c[a+108>>2]=0;c[a+100>>2]=a+104;c[a+116>>2]=0;c[a+120>>2]=0;c[a+112>>2]=a+116;c[a+124>>2]=0;c[a+16>>2]=2;c[a+56>>2]=b;c[a+96>>2]=2;return}function tka(a,b){a=a|0;b=b|0;var d=0,e=0;e=a+60|0;if(!(c[e>>2]|0))return;Jk[c[(c[b>>2]|0)+212>>2]&1023](b,a);if(c[a+124>>2]|0?(Bk[c[(c[(c[e>>2]|0)+832>>2]|0)+176>>2]&2047](0),d=(c[e>>2]|0)+708|0,c[d>>2]|0):0)c[d>>2]=0;if(!(c[a+96>>2]|0))return;qca(0,170760,0)|0;return}function uka(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0;IR(b,d+4|0,2);g=c[d>>2]|0;c[b>>2]=g;c[b+(c[g+-12>>2]|0)>>2]=c[d+12>>2];c[b+60>>2]=0;c[b+64>>2]=0;c[b+56>>2]=b+60;c[b+72>>2]=0;c[b+76>>2]=0;c[b+68>>2]=b+72;c[b+80>>2]=e;c[b+88>>2]=0;c[b+92>>2]=0;c[b+84>>2]=b+88;c[b+100>>2]=0;c[b+104>>2]=0;c[b+96>>2]=b+100;c[b+112>>2]=0;c[b+116>>2]=0;c[b+108>>2]=b+112;a[b+120>>0]=0;c[b+124>>2]=0;c[b+128>>2]=f;if(!f)return;g=f+8|0;c[g>>2]=(c[g>>2]|0)+1;return}function vka(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=(b|0)==0;if(!d){e=b+8|0;c[e>>2]=(c[e>>2]|0)+1}e=j0a(12)|0;c[e>>2]=0;c[e+8>>2]=b;if(!d){f=b+8|0;c[f>>2]=(c[f>>2]|0)+1}c[e+4>>2]=a;f=c[a>>2]|0;c[e>>2]=f;c[f+4>>2]=e;c[a>>2]=e;f=a+8|0;c[f>>2]=(c[f>>2]|0)+1;if(d)return;e=b+8|0;f=c[e>>2]|0;c[e>>2]=f-1;if((f|0)!=1)return;UU(b,1,1);return}function wka(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;if(!(c[b+8>>2]|0))return;if((c[d+104>>2]|0)==0?(c[d+116>>2]|0)==0:0){if(!(c[d+92>>2]|0))return;if(!(c[d+92>>2]|0))return}e=c[b>>2]|0;m=b+4|0;if((e|0)==(m|0))return;n=a+12|0;o=a+32|0;p=a+36|0;q=a+36|0;r=d+84|0;s=d+88|0;i=a+40|0;j=d+96|0;k=d+100|0;l=d+108|0;h=d+112|0;while(1){c[n>>2]=(c[n>>2]|0)+1;g=e+16|0;b=c[p>>2]|0;do if(b){f=c[g>>2]|0;d=q;while(1){a=c[b+16>>2]|0;if(f>>>0<a>>>0){a=c[b>>2]|0;if(!a){a=12;break}}else{if(a>>>0>=f>>>0){a=16;break}d=b+4|0;a=c[d>>2]|0;if(!a){a=15;break}else b=d}d=b;b=a}if((a|0)==12){f=b;d=b;break}else if((a|0)==15){f=b;break}else if((a|0)==16){f=b;break}}else{f=p;d=p}while(0);b=c[d>>2]|0;if(!b){b=j0a(32)|0;c[b+16>>2]=c[g>>2];a=b+20|0;c[a>>2]=a;c[b+24>>2]=a;c[b+28>>2]=0;c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=f;c[d>>2]=b;a=c[c[o>>2]>>2]|0;if(!a)a=b;else{c[o>>2]=a;a=c[d>>2]|0}fp(c[q>>2]|0,a);c[i>>2]=(c[i>>2]|0)+1}f=b+20|0;b=c[r>>2]|0;if((b|0)!=(s|0)){d=b;while(1){b=c[d+16>>2]|0;a=j0a(16)|0;c[a+4>>2]=0;c[a+8>>2]=0;c[a>>2]=92216;c[a+12>>2]=b;if(b|0){g=b+8|0;c[g>>2]=(c[g>>2]|0)+1}vka(f,a);b=c[d+4>>2]|0;if(!b){a=d+8|0;b=c[a>>2]|0;if((c[b>>2]|0)!=(d|0))do{g=c[a>>2]|0;a=g+8|0;b=c[a>>2]|0}while((c[b>>2]|0)!=(g|0))}else while(1){a=c[b>>2]|0;if(!a)break;else b=a}if((b|0)==(s|0))break;else d=b}}b=c[j>>2]|0;if((b|0)!=(k|0)){d=b;while(1){a=c[d+16>>2]|0;b=j0a(16)|0;c[b+4>>2]=0;c[b+8>>2]=0;c[b>>2]=92244;c[b+12>>2]=a;if(a|0){g=a+8|0;c[g>>2]=(c[g>>2]|0)+1}vka(f,b);b=c[d+4>>2]|0;if(!b){a=d+8|0;b=c[a>>2]|0;if((c[b>>2]|0)!=(d|0))do{g=c[a>>2]|0;a=g+8|0;b=c[a>>2]|0}while((c[b>>2]|0)!=(g|0))}else while(1){a=c[b>>2]|0;if(!a)break;else b=a}if((b|0)==(k|0))break;else d=b}}b=c[l>>2]|0;if((b|0)!=(h|0)){d=b;while(1){b=c[d+16>>2]|0;a=j0a(16)|0;c[a+4>>2]=0;c[a+8>>2]=0;c[a>>2]=92272;c[a+12>>2]=b;if(b|0){g=b+8|0;c[g>>2]=(c[g>>2]|0)+1}vka(f,a);b=c[d+4>>2]|0;if(!b){a=d+8|0;b=c[a>>2]|0;if((c[b>>2]|0)!=(d|0))do{g=c[a>>2]|0;a=g+8|0;b=c[a>>2]|0}while((c[b>>2]|0)!=(g|0))}else while(1){a=c[b>>2]|0;if(!a)break;else b=a}if((b|0)==(h|0))break;else d=b}}b=c[e+4>>2]|0;if(!b){a=e+8|0;b=c[a>>2]|0;if((c[b>>2]|0)!=(e|0))do{g=c[a>>2]|0;a=g+8|0;b=c[a>>2]|0}while((c[b>>2]|0)!=(g|0))}else while(1){a=c[b>>2]|0;if(!a)break;else b=a}if((b|0)==(m|0))break;else e=b}return}function xka(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;j=l;l=l+176|0;h=j;if(!(c[d+8>>2]|0)){l=j;return}i=b+24|0;if(!(c[i>>2]|0)){l=j;return}f=c[b+44>>2]|0;g=h+132|0;c[h+136>>2]=0;c[h+140>>2]=0;c[g>>2]=68320;k=h+144|0;c[k>>2]=0;c[k+4>>2]=0;c[k+8>>2]=0;c[h+156>>2]=2;c[h+160>>2]=0;IR(h,92196,2);c[h>>2]=91652;c[g>>2]=92028;c[h+60>>2]=0;c[h+64>>2]=0;c[h+56>>2]=h+60;c[h+72>>2]=0;c[h+76>>2]=0;c[h+68>>2]=h+72;c[h+80>>2]=e;c[h+88>>2]=0;c[h+92>>2]=0;c[h+84>>2]=h+88;c[h+100>>2]=0;c[h+104>>2]=0;c[h+96>>2]=h+100;c[h+112>>2]=0;c[h+116>>2]=0;c[h+108>>2]=h+112;a[h+120>>0]=0;c[h+124>>2]=0;c[h+128>>2]=f;if(f|0){k=f+8|0;c[k>>2]=(c[k>>2]|0)+1}k=c[i>>2]|0;Jk[c[(c[k>>2]|0)+212>>2]&1023](k,h);wka(b,d,h);Aea(h,92192);Pr(g);l=j;return}function yka(a){a=a|0;Pr(a);l0a(a);return}function zka(a){a=a|0;var b=0;a=j0a(32)|0;c[a+4>>2]=0;c[a+8>>2]=0;b=a+12|0;c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;c[a+24>>2]=2;c[a+28>>2]=0;c[a>>2]=96960;return a|0}function Aka(a,b){a=a|0;b=b|0;var d=0;d=j0a(32)|0;Or(d,a,b);c[d>>2]=96960;return d|0}function Bka(a,b){a=a|0;b=b|0;if(!b){b=0;return b|0}b=(y1a(b,42800,56408,0)|0)!=0;return b|0}function Cka(a){a=a|0;return 186332}function Dka(a){a=a|0;return 170809}function Eka(a,b){a=a|0;b=b|0;var d=0;d=c[b>>2]|0;b=b+4|0;if((d|0)==(c[b>>2]|0))return;do{Fka(a,c[d>>2]|0);d=d+4|0}while((d|0)!=(c[b>>2]|0));return}function Fka(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;g=b;h=a+124|0;f=a+128|0;d=c[f>>2]|0;a:do if(d|0){while(1){e=c[d+16>>2]|0;if(e>>>0<=b>>>0){if(e>>>0>=b>>>0)break;d=d+4|0}d=c[d>>2]|0;if(!d)break a}return}while(0);ET(b,a);d=c[f>>2]|0;do if(d){f=a+128|0;while(1){e=c[d+16>>2]|0;if(e>>>0>b>>>0){e=c[d>>2]|0;if(!e){e=12;break}else{f=d;d=e}}else{if(e>>>0>=b>>>0){e=16;break}f=d+4|0;e=c[f>>2]|0;if(!e){e=15;break}else d=e}}if((e|0)==12){b=d;f=d;break}else if((e|0)==15){b=d;break}else if((e|0)==16){b=d;break}}else b=f;while(0);if(c[f>>2]|0)return;d=j0a(20)|0;c[d+16>>2]=g;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=b;c[f>>2]=d;e=c[c[h>>2]>>2]|0;if(e){c[h>>2]=e;d=c[f>>2]|0}fp(c[a+128>>2]|0,d);a=a+132|0;c[a>>2]=(c[a>>2]|0)+1;return}function Gka(a,b){a=a|0;b=b|0;if(!(c[a+132>>2]|0)){b=0;return b|0}if(c[b+104>>2]|0){b=1;return b|0}if(c[b+116>>2]|0){b=1;return b|0}b=(c[b+92>>2]|0)!=0;return b|0}function Hka(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;i=l;l=l+16|0;h=i;if(!b){l=i;return}e=b+44|0;f=c[e>>2]|0;g=c[a+136>>2]|0;if((f|0)!=(g|0)){c[e>>2]=g;if(g|0){g=g+8|0;c[g>>2]=(c[g>>2]|0)+1}if(f|0?(e=f+8|0,g=c[e>>2]|0,c[e>>2]=g-1,(g|0)==1):0)UU(f,1,1)}e=c[b+24>>2]|0;if(e|0)Fz(e)|0;if(d)xka(b,a+124|0,12);if(ZQ(4)|0){d=mr(OSa(mr(mr(USa(mr(lr(4)|0,170841,46)|0,b)|0,184688,2)|0,184688,2)|0,d)|0,184787,1)|0;BSa(h,d+(c[(c[d>>2]|0)+-12>>2]|0)|0);g=cUa(h,230580)|0;g=kk[c[(c[g>>2]|0)+28>>2]&511](g,10)|0;dUa(h);VSa(d,g)|0;HSa(d)|0}e=a+76|0;gk[c[(c[e>>2]|0)+8>>2]&1023](e)|0;h=b+8|0;c[h>>2]=(c[h>>2]|0)+1;d=a+88|0;g=j0a(12)|0;c[g>>2]=0;c[g+8>>2]=b;c[h>>2]=(c[h>>2]|0)+1;c[g+4>>2]=d;f=c[d>>2]|0;c[g>>2]=f;c[f+4>>2]=g;c[d>>2]=g;a=a+96|0;c[a>>2]=(c[a>>2]|0)+1;a=c[h>>2]|0;c[h>>2]=a-1;if((a|0)==1)UU(b,1,1);gk[c[(c[e>>2]|0)+12>>2]&1023](e)|0;l=i;return}function Ika(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;c[a>>2]=97132;b=a+44|0;d=c[b>>2]|0;if(d|0?(g=d+8|0,f=c[g>>2]|0,c[g>>2]=f-1,(f|0)==1):0)UU(d,1,1);c[b>>2]=0;Kka(a+32|0,c[a+36>>2]|0);b=a+28|0;d=c[b>>2]|0;if(d|0?(e=d+(c[(c[d>>2]|0)+-12>>2]|0)|0,f=e+8|0,g=c[f>>2]|0,c[f>>2]=g-1,(g|0)==1):0)UU(e,1,1);c[b>>2]=0;b=a+24|0;d=c[b>>2]|0;if(d|0?(f=d+8|0,g=c[f>>2]|0,c[f>>2]=g-1,(g|0)==1):0)UU(d,1,1);c[b>>2]=0;b=a+16|0;d=c[b>>2]|0;if(!d){c[b>>2]=0;SU(a);return}f=d+8|0;g=c[f>>2]|0;c[f>>2]=g-1;if((g|0)!=1){c[b>>2]=0;SU(a);return}UU(d,1,1);c[b>>2]=0;SU(a);return}function Jka(a){a=a|0;Ika(a);l0a(a);return}function Kka(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;if(!b)return;Kka(a,c[b>>2]|0);Kka(a,c[b+4>>2]|0);f=b+20|0;a=b+28|0;if(c[a>>2]|0?(d=c[b+24>>2]|0,e=(c[f>>2]|0)+4|0,g=c[d>>2]|0,c[g+4>>2]=c[e>>2],c[c[e>>2]>>2]=g,c[a>>2]=0,(d|0)!=(f|0)):0){a=d;do{d=a;a=c[a+4>>2]|0;e=c[d+8>>2]|0;if(e|0?(h=e+8|0,g=c[h>>2]|0,c[h>>2]=g-1,(g|0)==1):0)UU(e,1,1);l0a(d)}while((a|0)!=(f|0))}l0a(b);return}function Lka(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;if(!b)return;i=a+76|0;gk[c[(c[i>>2]|0)+8>>2]&1023](i)|0;d=c[a+92>>2]|0;h=a+88|0;e=d;a:do if((h|0)!=(e|0)){g=d;d=e;while(1){e=d+4|0;f=c[e>>2]|0;if((c[g+8>>2]|0)==(b|0))break;d=f;if((h|0)==(d|0))break a;else g=f}b=c[d>>2]|0;c[b+4>>2]=f;c[c[e>>2]>>2]=b;b=a+96|0;c[b>>2]=(c[b>>2]|0)+-1;d=c[d+8>>2]|0;if(d|0?(a=d+8|0,b=c[a>>2]|0,c[a>>2]=b-1,(b|0)==1):0)UU(d,1,1);l0a(g);gk[c[(c[i>>2]|0)+12>>2]&1023](i)|0;return}while(0);gk[c[(c[i>>2]|0)+12>>2]&1023](i)|0;i=a+100|0;gk[c[(c[i>>2]|0)+8>>2]&1023](i)|0;d=c[a+116>>2]|0;h=a+112|0;e=d;b:do if((h|0)!=(e|0)){g=d;while(1){d=e+4|0;f=c[d>>2]|0;if((c[g+8>>2]|0)==(b|0))break;e=f;if((h|0)==(e|0))break b;else g=f}b=c[e>>2]|0;c[b+4>>2]=f;c[c[d>>2]>>2]=b;d=a+120|0;c[d>>2]=(c[d>>2]|0)+-1;d=c[e+8>>2]|0;if(d|0?(a=d+8|0,b=c[a>>2]|0,c[a>>2]=b-1,(b|0)==1):0)UU(d,1,1);l0a(g)}while(0);gk[c[(c[i>>2]|0)+12>>2]&1023](i)|0;return}function Mka(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;i=l;l=l+16|0;f=i;h=a+100|0;gk[c[(c[h>>2]|0)+8>>2]&1023](h)|0;if(b|0)c[a+64>>2]=c[b+12>>2];g=a+112|0;e=a+116|0;b=c[e>>2]|0;d=b;if((g|0)!=(d|0))do{b=c[b+8>>2]|0;c[f>>2]=0;if(Nka(b+16|0,f)|0){j=c[f>>2]|0;kk[c[(c[j>>2]|0)+228>>2]&511](j,c[b+24>>2]|0)|0}b=c[f>>2]|0;if(b|0?(k=b+8|0,j=c[k>>2]|0,c[k>>2]=j-1,(j|0)==1):0)UU(b,1,1);b=c[d+4>>2]|0;d=b}while((g|0)!=(d|0));d=a+120|0;if(!(c[d>>2]|0)){k=c[h>>2]|0;k=k+12|0;k=c[k>>2]|0;gk[k&1023](h)|0;l=i;return}b=c[e>>2]|0;k=(c[g>>2]|0)+4|0;j=c[b>>2]|0;c[j+4>>2]=c[k>>2];c[c[k>>2]>>2]=j;c[d>>2]=0;if((b|0)==(g|0)){k=c[h>>2]|0;k=k+12|0;k=c[k>>2]|0;gk[k&1023](h)|0;l=i;return}do{d=b;b=c[b+4>>2]|0;a=c[d+8>>2]|0;if(a|0?(j=a+8|0,k=c[j>>2]|0,c[j>>2]=k-1,(k|0)==1):0)UU(a,1,1);l0a(d)}while((b|0)!=(g|0));k=c[h>>2]|0;k=k+12|0;k=c[k>>2]|0;gk[k&1023](h)|0;l=i;return}function Nka(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=c[a>>2]|0;if(!d){d=c[b>>2]|0;if(!d){b=0;return b|0}c[b>>2]=0;e=d+8|0;b=c[e>>2]|0;c[e>>2]=b-1;if((b|0)!=1){b=0;return b|0}UU(d,1,1);b=0;return b|0}e=xU(d)|0;if(!e){d=c[b>>2]|0;if(!d){b=0;return b|0}c[b>>2]=0;e=d+8|0;b=c[e>>2]|0;c[e>>2]=b-1;if((b|0)!=1){b=0;return b|0}UU(d,1,1);b=0;return b|0}d=c[a+4>>2]|0;a=c[b>>2]|0;if((a|0)!=(d|0)){c[b>>2]=d;if(d|0){d=d+8|0;c[d>>2]=(c[d>>2]|0)+1}if(a|0?(f=a+8|0,d=c[f>>2]|0,c[f>>2]=d-1,(d|0)==1):0)UU(a,1,1)}f=e+8|0;c[f>>2]=(c[f>>2]|0)-1;f=(c[b>>2]|0)!=0;return f|0}function Oka(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;c[a+4>>2]=0;c[a+8>>2]=0;c[a+12>>2]=b;c[a+16>>2]=g;c[a+20>>2]=0;c[a+24>>2]=0;c[a>>2]=88640;c[a+28>>2]=f;g=a+32|0;c[g>>2]=c[d>>2];c[g+4>>2]=c[d+4>>2];c[g+8>>2]=c[d+8>>2];c[g+12>>2]=c[d+12>>2];c[g+16>>2]=c[d+16>>2];c[g+20>>2]=c[d+20>>2];g=a+56|0;c[g>>2]=c[e>>2];c[g+4>>2]=c[e+4>>2];c[g+8>>2]=c[e+8>>2];c[g+12>>2]=c[e+12>>2];c[g+16>>2]=c[e+16>>2];c[g+20>>2]=c[e+20>>2];c[a+84>>2]=0;c[a+88>>2]=0;c[a+80>>2]=a+84;return}function Pka(a,b,d,e){a=a|0;b=b|0;d=+d;e=+e;var f=0.0,g=0,i=0,j=0,k=0;c[a+4>>2]=0;c[a+8>>2]=0;c[a+12>>2]=b;c[a+16>>2]=0;c[a+20>>2]=0;c[a+24>>2]=0;c[a>>2]=88640;c[a+84>>2]=0;c[a+88>>2]=0;g=a+84|0;i=a+80|0;j=a+28|0;k=j+52|0;do{c[j>>2]=0;j=j+4|0}while((j|0)<(k|0));c[i>>2]=g;switch(b|0){case 3:case 2:case 0:{f=0.0;break}case 1:{f=-1.0;break}default:return}h[a+32>>3]=d;h[a+40>>3]=e;h[a+48>>3]=f;h[a+56>>3]=d;h[a+64>>3]=e;h[a+72>>3]=1.0;return}function Qka(a,b,d,e){a=a|0;b=b|0;d=+d;e=+e;var f=0,g=0,i=0,j=0;c[a+4>>2]=0;c[a+8>>2]=0;c[a+12>>2]=b;c[a+16>>2]=0;c[a+20>>2]=0;c[a+24>>2]=0;c[a>>2]=92300;c[a+84>>2]=0;c[a+88>>2]=0;f=a+84|0;g=a+80|0;i=a+28|0;j=i+52|0;do{c[i>>2]=0;i=i+4|0}while((i|0)<(j|0));c[g>>2]=f;switch(b|0){case 0:{h[a+32>>3]=d;h[a+40>>3]=e;h[a+48>>3]=0.0;j=a+56|0;c[j>>2]=0;c[j+4>>2]=0;c[j+8>>2]=0;c[j+12>>2]=0;break}case 1:{h[a+32>>3]=d;h[a+40>>3]=e;h[a+48>>3]=-1.0;j=a+56|0;c[j>>2]=0;c[j+4>>2]=0;c[j+8>>2]=0;c[j+12>>2]=0;break}case 2:{h[a+32>>3]=d;h[a+40>>3]=e;h[a+48>>3]=0.0;j=a+56|0;c[j>>2]=0;c[j+4>>2]=0;c[j+8>>2]=0;c[j+12>>2]=0;break}case 3:{h[a+32>>3]=d;h[a+40>>3]=e;h[a+48>>3]=0.0;j=a+56|0;c[j>>2]=0;c[j+4>>2]=0;c[j+8>>2]=0;c[j+12>>2]=0;break}default:return}h[a+72>>3]=1.0;return}function Rka(b,d){b=b|0;d=d|0;var e=0,f=0,i=0,j=0,k=0,l=0,m=0,n=0.0,o=0.0,p=0.0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0.0,E=0.0;q=b+20|0;f=c[q>>2]|0;if(!f){d=0;return d|0}j=gk[c[(c[f>>2]|0)+164>>2]&1023](f)|0;if(!j){d=0;return d|0}f=c[j+232>>2]|0;if(!f){d=0;return d|0}if(!(y1a(f,43064,45280,0)|0)){d=0;return d|0}m=c[b+68>>2]|0;f=m;do if(((c[b+72>>2]|0)-m|0)==12?(m=c[b+80>>2]|0,i=m,((c[b+84>>2]|0)-m|0)==24):0){l=c[f>>2]|0;m=c[f+4>>2]|0;k=c[f+8>>2]|0;o=+h[i>>3];p=+h[i+8>>3];n=+h[i+16>>3];if((c[j+256>>2]|0)==(c[j+252>>2]|0)){d=0;return d|0}f=xS(j,0)|0;if(!f){d=0;return d|0}i=y1a(f,43064,47168,0)|0;j=y1a(f,43064,46800,0)|0;f=y1a(f,43064,45280,0)|0;if(i|0){j=c[i+76>>2]|0;g[d>>2]=+g[j+(l<<2)>>2]*o+ +g[j+(m<<2)>>2]*p+ +g[j+(k<<2)>>2]*n;break}if(j|0){j=c[j+76>>2]|0;g[d>>2]=+g[j+(l<<3)>>2]*o+ +g[j+(m<<3)>>2]*p+ +g[j+(k<<3)>>2]*n;g[d+4>>2]=+g[j+(l<<3)+4>>2]*o+ +g[j+(m<<3)+4>>2]*p+ +g[j+(k<<3)+4>>2]*n;break}if(!f){d=0;return d|0}else{j=c[f+76>>2]|0;g[d>>2]=+g[j+(l*12|0)>>2]*o+ +g[j+(m*12|0)>>2]*p+ +g[j+(k*12|0)>>2]*n;g[d+4>>2]=+g[j+(l*12|0)+4>>2]*o+ +g[j+(m*12|0)+4>>2]*p+ +g[j+(k*12|0)+4>>2]*n;g[d+8>>2]=+g[j+(l*12|0)+8>>2]*o+ +g[j+(m*12|0)+8>>2]*p+ +g[j+(k*12|0)+8>>2]*n;break}}while(0);f=c[(c[q>>2]|0)+120>>2]|0;do if(((f|0)!=0?(r=c[f+80>>2]|0,(c[f+84>>2]|0)!=(r|0)):0)?(u=r+4|0,e=c[u>>2]|0,t=(e|0)==0,!t):0){f=u;i=e;do{r=(c[i+16>>2]|0)<19;f=r?f:i;i=c[(r?i+4|0:i)>>2]|0}while((i|0)!=0);do if((f|0)!=(u|0)?(s=c[f+16>>2]|0,(s|0)<=19):0){if((s|0)==19?c[f+20>>2]|0:0){j=0;break}f=c[f+24>>2]|0;if(f)j=y1a(f,42816,47368,0)|0;else j=0}else j=0;while(0);if(!t){f=u;do{t=(c[e+16>>2]|0)<0;f=t?f:e;e=c[(t?e+4|0:e)>>2]|0}while((e|0)!=0);if((f|0)!=(u|0)?(v=c[f+16>>2]|0,(v|0)<=0):0){if((v|0)>=0?c[f+20>>2]|0:0){e=0;break}e=c[f+24>>2]|0;if(e)e=y1a(e,42816,47416,0)|0;else e=0}else e=0}else e=0}else{j=0;e=0}while(0);f=c[b+12>>2]|0;q=c[b+8>>2]|0;a:do if((f|0)==(q|0))C=38;else{m=f;while(1){f=(j|0)!=0;k=(e|0)==0;if(!(k|f^1))break a;m=m+-4|0;l=c[(c[m>>2]|0)+120>>2]|0;do if(l){do if(!f){f=c[l+80>>2]|0;if((c[l+84>>2]|0)!=(f|0)?(w=f+4|0,x=c[w>>2]|0,(x|0)!=0):0){f=w;i=x;do{b=(c[i+16>>2]|0)<19;f=b?f:i;i=c[(b?i+4|0:i)>>2]|0}while((i|0)!=0);if((f|0)!=(w|0)?(y=c[f+16>>2]|0,(y|0)<=19):0){if((y|0)==19?c[f+20>>2]|0:0){j=0;break}f=c[f+24>>2]|0;if(f)j=y1a(f,42816,47368,0)|0;else j=0}else j=0}else j=0}while(0);if(k){e=c[l+80>>2]|0;if((c[l+84>>2]|0)!=(e|0)?(z=e+4|0,A=c[z>>2]|0,(A|0)!=0):0){e=z;f=A;do{b=(c[f+16>>2]|0)<0;e=b?e:f;f=c[(b?f+4|0:f)>>2]|0}while((f|0)!=0);if((e|0)!=(z|0)?(B=c[e+16>>2]|0,(B|0)<=0):0){if((B|0)>=0?c[e+20>>2]|0:0){e=0;break}e=c[e+24>>2]|0;if(e)e=y1a(e,42816,47416,0)|0;else e=0}else e=0}else e=0}}while(0);if((m|0)==(q|0)){C=38;break}}}while(0);if((C|0)==38)if(!j){d=e;return d|0}f=d+4|0;i=d+8|0;E=+g[d>>2];D=+g[f>>2];n=+g[i>>2];o=+h[j+64>>3]*E+ +h[j+96>>3]*D+ +h[j+128>>3]*n+ +h[j+160>>3]*0.0;p=+h[j+72>>3]*E+ +h[j+104>>3]*D+ +h[j+136>>3]*n+ +h[j+168>>3]*0.0;g[d>>2]=+h[j+56>>3]*E+ +h[j+88>>3]*D+ +h[j+120>>3]*n+ +h[j+152>>3]*0.0;g[f>>2]=o;g[i>>2]=p;if(!e){d=0;return d|0}if(!(a[j+184>>0]|0)){d=e;return d|0}E=+(gk[c[(c[e>>2]|0)+216>>2]&1023](e)|0);g[d>>2]=+g[d>>2]*E;E=+(gk[c[(c[e>>2]|0)+220>>2]&1023](e)|0);g[f>>2]=+g[f>>2]*E;E=+(gk[c[(c[e>>2]|0)+224>>2]&1023](e)|0);g[i>>2]=+g[i>>2]*E;d=e;return d|0}function Ska(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;j=b+12|0;c[j>>2]=(c[j>>2]|0)+1;j=a+76|0;k=c[j>>2]|0;d=c[a+72>>2]|0;i=b+44|0;c[i>>2]=(k-d>>2)+(c[i>>2]|0);if((d|0)==(k|0))d=0;else{g=b+4|0;h=b+20|0;i=b+8|0;do{e=c[d>>2]|0;f=c[e+16>>2]|0;c[g>>2]=(c[g>>2]|0)+1;if(gk[c[(c[f>>2]|0)+168>>2]&1023](f)|0)c[h>>2]=(c[h>>2]|0)+1;if(c[e+24>>2]|0)c[i>>2]=(c[i>>2]|0)+1;Jk[c[(c[f>>2]|0)+284>>2]&1023](f,b);d=d+4|0}while((d|0)!=(c[j>>2]|0));d=1}k=a+64|0;f=c[k>>2]|0;e=c[a+60>>2]|0;j=b+16|0;c[j>>2]=(f-e>>2)+(c[j>>2]|0);if((e|0)!=(f|0)){h=b+4|0;i=b+20|0;j=b+8|0;d=f;do{g=c[e>>2]|0;f=c[g+36>>2]|0;if((f|0)!=(c[g+40>>2]|0)){do{d=c[f>>2]|0;g=c[d+16>>2]|0;c[h>>2]=(c[h>>2]|0)+1;if(gk[c[(c[g>>2]|0)+168>>2]&1023](g)|0)c[i>>2]=(c[i>>2]|0)+1;if(c[d+24>>2]|0)c[j>>2]=(c[j>>2]|0)+1;Jk[c[(c[g>>2]|0)+284>>2]&1023](g,b);f=f+4|0}while((f|0)!=(c[(c[e>>2]|0)+40>>2]|0));d=c[k>>2]|0}e=e+4|0}while((e|0)!=(d|0));d=1}e=c[a+48>>2]|0;h=a+52|0;if((e|0)==(h|0)){b=d;return b|0}do{d=d|(Ska(c[e+20>>2]|0,b)|0);f=c[e+4>>2]|0;if(!f){f=e+8|0;g=c[f>>2]|0;if((c[g>>2]|0)==(e|0))e=g;else do{a=c[f>>2]|0;f=a+8|0;e=c[f>>2]|0}while((c[e>>2]|0)!=(a|0))}else{e=f;while(1){f=c[e>>2]|0;if(!f)break;else e=f}}}while((e|0)!=(h|0));return d|0}function Tka(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;e=c[a+112>>2]|0;g=a+108|0;f=e;if((g|0)==(f|0))d=0;else{d=0;do{d=d|(Tka(c[e+12>>2]|0,b)|0);e=c[f+4>>2]|0;f=e}while((g|0)!=(f|0))}e=c[a+124>>2]|0;g=a+120|0;f=e;if((g|0)==(f|0)){g=d;b=Ska(a,b)|0;b=g|b;return b|0}do{d=d|(Tka(c[e+12>>2]|0,b)|0);e=c[f+4>>2]|0;f=e}while((g|0)!=(f|0));b=Ska(a,b)|0;b=d|b;return b|0}function Uka(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0;n=l;l=l+16|0;i=n;j=a+132|0;e=c[j>>2]|0;k=a+136|0;b=c[k>>2]|0;if((b|0)!=(e|0))do{b=b+-4|0;d=c[b>>2]|0;if(d|0?(f=d+8|0,g=c[f>>2]|0,c[f>>2]=g-1,(g|0)==1):0)UU(d,1,1);c[b>>2]=0}while((b|0)!=(e|0));c[k>>2]=e;b=c[a+112>>2]|0;f=a+108|0;d=b;if((f|0)!=(d|0)){g=a+140|0;do{b=b+12|0;Uka(c[b>>2]|0);b=c[b>>2]|0;e=c[b+228>>2]|0;if((e|0?c[e+24>>2]|0:0)?(h=c[b+232>>2]|0,h|0):0){c[i>>2]=h;b=h+8|0;c[b>>2]=(c[b>>2]|0)+1;b=c[k>>2]|0;if(b>>>0<(c[g>>2]|0)>>>0){e=c[i>>2]|0;c[b>>2]=e;if(e){b=e+8|0;c[b>>2]=(c[b>>2]|0)+1;b=c[k>>2]|0}c[k>>2]=b+4}else Vka(j,i);b=c[i>>2]|0;if(b|0?(o=b+8|0,e=c[o>>2]|0,c[o>>2]=e-1,(e|0)==1):0)UU(b,1,1)}b=c[d+4>>2]|0;d=b}while((f|0)!=(d|0))}b=c[a+124>>2]|0;g=a+120|0;d=b;if((g|0)==(d|0)){l=n;return}f=a+140|0;e=d;do{b=b+12|0;Uka(c[b>>2]|0);b=c[b>>2]|0;o=c[b+228>>2]|0;if((o|0?c[o+24>>2]|0:0)?(m=c[b+232>>2]|0,m|0):0){c[i>>2]=m;b=m+8|0;c[b>>2]=(c[b>>2]|0)+1;b=c[k>>2]|0;if(b>>>0<(c[f>>2]|0)>>>0){d=c[i>>2]|0;c[b>>2]=d;if(d){b=d+8|0;c[b>>2]=(c[b>>2]|0)+1;b=c[k>>2]|0}c[k>>2]=b+4}else Vka(j,i);b=c[i>>2]|0;if(b|0?(a=b+8|0,o=c[a>>2]|0,c[a>>2]=o-1,(o|0)==1):0)UU(b,1,1)}b=c[e+4>>2]|0;e=b}while((g|0)!=(e|0));l=n;return}function Vka(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;m=a+4|0;d=c[m>>2]|0;e=c[a>>2]|0;i=d-e>>2;f=i+1|0;g=e;if(f>>>0>1073741823)g1a(a);l=a+8|0;j=(c[l>>2]|0)-e|0;k=j>>1;f=j>>2>>>0<536870911?(k>>>0<f>>>0?f:k):1073741823;do if(f)if(f>>>0>1073741823){m=db(8)|0;p0a(m,183738);c[m>>2]=110936;hb(m|0,65952,1066)}else{j=j0a(f<<2)|0;break}else j=0;while(0);e=j+(i<<2)|0;k=j+(f<<2)|0;f=c[b>>2]|0;c[e>>2]=f;if(f){g=f+8|0;c[g>>2]=(c[g>>2]|0)+1;g=c[a>>2]|0;d=c[m>>2]|0}h=e+4|0;f=g;if((d|0)==(g|0))b=f;else{b=i+-1-((d+-4-f|0)>>>2)|0;while(1){d=d+-4|0;f=c[d>>2]|0;c[e+-4>>2]=f;if(f|0){i=f+8|0;c[i>>2]=(c[i>>2]|0)+1}if((d|0)==(g|0))break;else e=e+-4|0}e=j+(b<<2)|0;b=c[a>>2]|0;d=c[m>>2]|0}c[a>>2]=e;c[m>>2]=h;c[l>>2]=k;f=b;if((d|0)!=(f|0))do{d=d+-4|0;e=c[d>>2]|0;if(e|0?(l=e+8|0,m=c[l>>2]|0,c[l>>2]=m-1,(m|0)==1):0)UU(e,1,1);c[d>>2]=0}while((d|0)!=(f|0));if(!b)return;l0a(b);return}function Wka(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;b=c[a+112>>2]|0;e=a+108|0;d=b;if((e|0)!=(d|0))do{Wka(c[b+12>>2]|0);b=c[d+4>>2]|0;d=b}while((e|0)!=(d|0));b=c[a+124>>2]|0;e=a+120|0;d=b;if((e|0)!=(d|0))do{Wka(c[b+12>>2]|0);b=c[d+4>>2]|0;d=b}while((e|0)!=(d|0));f=c[a+132>>2]|0;e=a+136|0;b=c[e>>2]|0;if((b|0)==(f|0)){c[e>>2]=f;return}do{b=b+-4|0;d=c[b>>2]|0;if(d|0?(g=d+8|0,a=c[g>>2]|0,c[g>>2]=a-1,(a|0)==1):0)UU(d,1,1);c[b>>2]=0}while((b|0)!=(f|0));c[e>>2]=f;return}function Xka(a){a=a|0;var b=0,d=0;b=a+56|0;c[a+60>>2]=0;c[a+64>>2]=0;c[b>>2]=68320;d=a+68|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[a+80>>2]=2;c[a+84>>2]=0;FR(a,92660,1,2);c[a>>2]=92684;c[b>>2]=93052;return}function Yka(b,d){b=b|0;d=d|0;var e=0;e=c[b+224>>2]|0;if(e|0?a[e+16>>0]|0:0)switch(c[e+20>>2]|0){case 8:case 6:case 7:case 3:case 2:case 1:case 0:{e=(Tka(c[b+172>>2]|0,d)|0)&(Tka(c[b+188>>2]|0,d)|0);return e|0}default:{e=Tka(c[b+156>>2]|0,d)|0;return e|0}}e=Tka(c[b+156>>2]|0,d)|0;return e|0}function Zka(a){a=a|0;var b=0;b=c[a+156>>2]|0;if(b|0)Uka(b);b=c[a+172>>2]|0;if(b|0)Uka(b);b=c[a+188>>2]|0;if(!b)return;Uka(b);return}function _ka(a){a=a|0;var b=0;b=c[a+156>>2]|0;if(b|0)Wka(b);b=c[a+172>>2]|0;if(b|0)Wka(b);b=c[a+188>>2]|0;if(!b)return;Wka(b);return}function $ka(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;c[a>>2]=93224;b=a+52|0;c[a+56>>2]=0;d=a+60|0;c[d>>2]=0;e=a+56|0;c[b>>2]=e;f=a+68|0;c[a+72>>2]=0;g=a+76|0;c[g>>2]=0;h=a+72|0;c[f>>2]=h;i=a+4|0;j=i+48|0;do{c[i>>2]=0;i=i+4|0}while((i|0)<(j|0));Wga(b,0);c[d>>2]=0;c[b>>2]=e;c[e>>2]=0;c[a+64>>2]=0;aC(f,c[h>>2]|0);c[g>>2]=0;c[f>>2]=h;c[h>>2]=0;c[a+80>>2]=0;c[a+84>>2]=0;return}function ala(a){a=a|0;var b=0;b=c[a>>2]|0;Bk[c[(c[b>>2]|0)+16>>2]&2047](b);c[c[a+4>>2]>>2]=0;return}function bla(b){b=b|0;var d=0,e=0,f=0,g=0;f=l;l=l+16|0;e=f;c[b>>2]=93884;if(!(a[231023]|0)){d=Si(225812,0)|0;if(d|0){c[e>>2]=d;PQa(170940,e)|0}a[231023]=1}e=j0a(72)|0;c[e>>2]=97152;d=e+12|0;c[d>>2]=0;cla(e+16|0);g=e+64|0;c[g>>2]=0;c[e+68>>2]=0;c[e+60>>2]=g;c[e+4>>2]=0;a[e+8>>0]=0;a[e+41>>0]=0;c[d>>2]=0;a[e+40>>0]=0;c[e+52>>2]=0;d=c[56452]|0;c[e+56>>2]=d;c[56452]=d+1;c[e+44>>2]=5;c[e+48>>2]=3;c[b+4>>2]=e;l=f;return}function cla(b){b=b|0;var d=0,e=0,f=0,g=0;g=l;l=l+16|0;f=g;e=g+4|0;c[b>>2]=83012;c[b+8>>2]=0;Vi(e|0)|0;d=j0a(32)|0;c[d>>2]=83040;Wi(e|0,2)|0;Ui(d+4|0,e|0)|0;c[b+4>>2]=d;c[b+12>>2]=93944;d=j0a(52)|0;c[d>>2]=97168;e=Li(d+4|0,0)|0;if(!e){f=b+16|0;c[f>>2]=d;f=b+20|0;a[f>>0]=0;l=g;return}c[f>>2]=e;PQa(171005,f)|0;f=b+16|0;c[f>>2]=d;f=b+20|0;a[f>>0]=0;l=g;return}function dla(a){a=a|0;return}function ela(a){a=a|0;l0a(a);return}function fla(a){a=a|0;c[a>>2]=97152;vw(a+60|0,c[a+64>>2]|0);SH(a+16|0);return}function gla(a){a=a|0;c[a>>2]=97152;vw(a+60|0,c[a+64>>2]|0);SH(a+16|0);l0a(a);return}function hla(a){a=a|0;var b=0,d=0;b=l;l=l+16|0;d=b;c[d>>2]=0;a=Ri(c[(c[a+4>>2]|0)+52>>2]|0,d|0)|0;l=b;return a|0}function ila(){var b=0,d=0,e=0;e=l;l=l+16|0;d=e;if(!(a[231023]|0)){b=Si(225812,0)|0;if(b|0){c[d>>2]=b;PQa(170940,d)|0}a[231023]=1}d=Qi(c[56453]|0)|0;l=e;return d|0}function jla(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;k=l;l=l+32|0;g=k+24|0;f=k+20|0;j=k+8|0;e=k;h=k+16|0;i=k+12|0;if(!(a[231023]|0)){d=Si(225812,0)|0;if(d|0){c[e>>2]=d;PQa(170940,e)|0}a[231023]=1}d=Qi(c[56453]|0)|0;if(!d){l=k;return -1}d=c[d+4>>2]|0;e=d+60|0;if((e|0)!=(b|0)){c[h>>2]=c[b>>2];c[i>>2]=b+4;c[f>>2]=c[h>>2];c[g>>2]=c[i>>2];zR(e,f,g)}if(!(c[d+12>>2]|0)){l=k;return -1}if(!(a[231023]|0)){d=Si(225812,0)|0;if(d|0){c[j>>2]=d;PQa(170940,j)|0}a[231023]=1}Qi(c[56453]|0)|0;l=k;return -1}function kla(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;k=l;l=l+32|0;g=k+16|0;f=k+12|0;j=k;h=k+8|0;i=k+4|0;b=c[b+4>>2]|0;e=b+60|0;if((e|0)!=(d|0)){c[h>>2]=c[d>>2];c[i>>2]=d+4;c[f>>2]=c[h>>2];c[g>>2]=c[i>>2];zR(e,f,g)}if(!(c[b+12>>2]|0)){l=k;return -1}if(!(a[231023]|0)){b=Si(225812,0)|0;if(b|0){c[j>>2]=b;PQa(170940,j)|0}a[231023]=1}Qi(c[56453]|0)|0;l=k;return -1}function lla(a){a=a|0;return (c[(c[a+4>>2]|0)+12>>2]|0)!=0|0}function mla(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=l;l=l+48|0;g=i+4|0;f=i;h=c[b+4>>2]|0;if(c[h+12>>2]|0){h=0;l=i;return h|0}d=Gi(g|0)|0;do if(!d){e=h+4|0;if(c[e>>2]|0){if((c[e>>2]|0)>>>0<2048)c[e>>2]=2048;d=Hi(g|0,c[e>>2]|0)|0;if(d|0)break}d=Fi(g|0,f|0)|0;if(!d){c[e>>2]=c[f>>2];a[h+8>>0]=1;e=h+16|0;gk[c[(c[e>>2]|0)+8>>2]&1023](e)|0;f=h+36|0;a[f>>0]=0;gk[c[(c[e>>2]|0)+12>>2]&1023](e)|0;d=Pi(h+52|0,g|0,789,b|0)|0;if(!d){gk[c[(c[e>>2]|0)+8>>2]&1023](e)|0;if(!(a[f>>0]|0)){b=c[h+32>>2]|0;g=(c[h+20>>2]|0)+4|0;Ji(1077,g|0);Oi(b+4|0,g|0)|0;Ii(0)}gk[c[(c[e>>2]|0)+12>>2]&1023](e)|0;a[h+41>>0]=1;d=0}}}while(0);h=d;l=i;return h|0}function nla(b){b=b|0;var d=0,e=0,f=0,g=0,h=0;h=l;l=l+16|0;f=h;d=h+8|0;g=c[b+4>>2]|0;c[d>>2]=b;c[d+4>>2]=g+12;e=Yi(c[56453]|0,b|0)|0;if(e|0){c[f>>2]=e;PQa(171150,f)|0}Ji(1079,d|0);f=g+12|0;c[f>>2]=1;d=g+16|0;gk[c[(c[d>>2]|0)+8>>2]&1023](d)|0;e=g+36|0;if(!(a[e>>0]|0)){a[e>>0]=1;A2a((c[g+32>>2]|0)+4|0)|0}gk[c[(c[d>>2]|0)+12>>2]&1023](d)|0;Bk[c[(c[b>>2]|0)+12>>2]&2047](b);c[f>>2]=0;Ii(0);l=h;return 0}function ola(a){a=a|0;if(!(c[a+4>>2]|0)){a=0;return a|0}a=mla(a)|0;return a|0}function pla(a){a=a|0;return 0}function qla(){return -1}function rla(a){a=a|0;return bj(a|0)|0}function sla(){return 1}function tla(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;e=l;l=l+16|0;g=e;c[b>>2]=93912;f=j0a(92)|0;c[f>>2]=97184;c[f+84>>2]=0;c[f+88>>2]=0;c[f+80>>2]=d;a[b+8>>0]=1;Vi(g|0)|0;Wi(g|0,2)|0;Ui(f+52|0,g|0)|0;Li(f+4|0,0)|0;c[b+4>>2]=f;l=e;return}function ula(a){a=a|0;return}function vla(a){a=a|0;l0a(a);return}function wla(a){a=a|0;var b=0,d=0,e=0,f=0;f=l;l=l+16|0;e=f;c[a>>2]=93944;b=j0a(52)|0;c[b>>2]=97168;d=Li(b+4|0,0)|0;if(d|0){c[e>>2]=d;PQa(171005,e)|0}c[a+4>>2]=b;l=f;return}function xla(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=l;l=l+16|0;d=f;c[a>>2]=83012;c[a+8>>2]=b;Vi(d|0)|0;e=j0a(32)|0;c[e>>2]=83040;if((b|0)==1)Wi(d|0,1)|0;else Wi(d|0,2)|0;Ui(e+4|0,d|0)|0;c[a+4>>2]=e;l=f;return}function yla(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0;g=l;l=l+16|0;b=g;c[a>>2]=97200;if(ZQ(4)|0){f=mr(lr(4)|0,171305,63)|0;BSa(b,f+(c[(c[f>>2]|0)+-12>>2]|0)|0);e=cUa(b,230580)|0;e=kk[c[(c[e>>2]|0)+28>>2]&511](e,10)|0;dUa(b);VSa(f,e)|0;HSa(f)|0}f=a+16|0;e=a+20|0;b=c[e>>2]|0;d=b;if((f|0)!=(d|0))do{Bla(a,c[b+8>>2]|0);b=c[d+4>>2]|0;d=b}while((f|0)!=(d|0));oX(a+28|0);d=a+24|0;if(!(c[d>>2]|0)){SU(a);l=g;return}b=c[e>>2]|0;e=(c[f>>2]|0)+4|0;h=c[b>>2]|0;c[h+4>>2]=c[e>>2];c[c[e>>2]>>2]=h;c[d>>2]=0;if((b|0)==(f|0)){SU(a);l=g;return}do{d=b;b=c[b+4>>2]|0;e=c[d+8>>2]|0;if(e|0?(i=e+8|0,h=c[i>>2]|0,c[i>>2]=h-1,(h|0)==1):0)UU(e,1,1);l0a(d)}while((b|0)!=(f|0));SU(a);l=g;return}function zla(a){a=a|0;yla(a);l0a(a);return}function Ala(a){a=a|0;return}function Bla(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=l;l=l+16|0;d=f;c[d>>2]=0;if(Dla(b+92|0,d)|0?(e=c[(c[a+12>>2]|0)+132>>2]|0,e|0):0)Lka(e,c[d>>2]|0);Ela(b);a=c[d>>2]|0;if(!a){l=f;return}d=a+8|0;e=c[d>>2]|0;c[d>>2]=e-1;if((e|0)!=1){l=f;return}UU(a,1,1);l=f;return}function Cla(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;b=a+8|0;if(!(c[b>>2]|0))return;d=c[a+4>>2]|0;e=(c[a>>2]|0)+4|0;f=c[d>>2]|0;c[f+4>>2]=c[e>>2];c[c[e>>2]>>2]=f;c[b>>2]=0;if((d|0)==(a|0))return;do{b=d;d=c[d+4>>2]|0;e=c[b+8>>2]|0;if(e|0?(g=e+8|0,f=c[g>>2]|0,c[g>>2]=f-1,(f|0)==1):0)UU(e,1,1);l0a(b)}while((d|0)!=(a|0));return}function Dla(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=c[a>>2]|0;if(!d){d=c[b>>2]|0;if(!d){b=0;return b|0}c[b>>2]=0;e=d+8|0;b=c[e>>2]|0;c[e>>2]=b-1;if((b|0)!=1){b=0;return b|0}UU(d,1,1);b=0;return b|0}e=xU(d)|0;if(!e){d=c[b>>2]|0;if(!d){b=0;return b|0}c[b>>2]=0;e=d+8|0;b=c[e>>2]|0;c[e>>2]=b-1;if((b|0)!=1){b=0;return b|0}UU(d,1,1);b=0;return b|0}d=c[a+4>>2]|0;a=c[b>>2]|0;if((a|0)!=(d|0)){c[b>>2]=d;if(d|0){d=d+8|0;c[d>>2]=(c[d>>2]|0)+1}if(a|0?(f=a+8|0,d=c[f>>2]|0,c[f>>2]=d-1,(d|0)==1):0)UU(a,1,1)}Wha(e)|0;f=(c[b>>2]|0)!=0;return f|0}function Ela(b){b=b|0;var d=0,e=0,f=0,g=0;f=l;l=l+16|0;d=f;if(ZQ(4)|0){e=mr(lr(4)|0,171369,48)|0;BSa(d,e+(c[(c[e>>2]|0)+-12>>2]|0)|0);g=cUa(d,230580)|0;g=kk[c[(c[g>>2]|0)+28>>2]&511](g,10)|0;dUa(d);VSa(e,g)|0;HSa(e)|0}a[b+12>>0]=0;d=b+80|0;e=c[d>>2]|0;if(e|0?(c[d>>2]=0,d=e+8|0,g=c[d>>2]|0,c[d>>2]=g-1,(g|0)==1):0)UU(e,1,1);d=b+92|0;e=c[d>>2]|0;if(e|0?(c[d>>2]=0,d=e+8|0,g=c[d>>2]|0,c[d>>2]=g-1,(g|0)==1):0)UU(e,1,1);c[b+96>>2]=0;d=b+88|0;e=c[d>>2]|0;if(!e){l=f;return}c[d>>2]=0;b=e+8|0;g=c[b>>2]|0;c[b>>2]=g-1;if((g|0)!=1){l=f;return}UU(e,1,1);l=f;return}function Fla(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;c[b>>2]=97224;g=b+72|0;d=b+80|0;if(c[d>>2]|0?(e=c[b+76>>2]|0,f=(c[g>>2]|0)+4|0,h=c[e>>2]|0,c[h+4>>2]=c[f>>2],c[c[f>>2]>>2]=h,c[d>>2]=0,(e|0)!=(g|0)):0)do{d=e;e=c[e+4>>2]|0;f=c[d+8>>2]|0;if(f|0?(i=f+8|0,h=c[i>>2]|0,c[i>>2]=h-1,(h|0)==1):0)UU(f,1,1);l0a(d)}while((e|0)!=(g|0));oX(b+60|0);d=b+48|0;if((a[d+11>>0]|0)<0)l0a(c[d>>2]|0);e=b+44|0;d=c[e>>2]|0;if(!d){c[e>>2]=0;yla(b);return}d=d+(c[(c[d>>2]|0)+-12>>2]|0)|0;h=d+8|0;i=c[h>>2]|0;c[h>>2]=i-1;if((i|0)!=1){c[e>>2]=0;yla(b);return}UU(d,1,1);c[e>>2]=0;yla(b);return}function Gla(a){a=a|0;Fla(a);l0a(a);return}function Hla(b){b=b|0;var e=0,f=0,g=0;f=c[b+44>>2]|0;g=f+4|0;if((c[b+24>>2]|0)==0?(c[b+80>>2]|0)==0:0)b=0;else b=(a[(c[b+12>>2]|0)+54>>0]|0)==0;e=f+24|0;if((b&1|0)==(d[e>>0]|0))return;gk[c[(c[g>>2]|0)+8>>2]&1023](g)|0;if(!b){a[e>>0]=0;gk[c[(c[g>>2]|0)+12>>2]&1023](g)|0;return}if(!(a[e>>0]|0)){a[e>>0]=1;Eha(f+16|0)|0}gk[c[(c[g>>2]|0)+12>>2]&1023](g)|0;return}function Ila(b){b=b|0;var d=0,e=0;c[b>>2]=97248;d=b+12|0;c[d>>2]=97276;Kla(b)|0;e=b+36|0;if((a[e+11>>0]|0)<0)l0a(c[e>>2]|0);pha(d);SU(b);return}function Jla(a){a=a|0;Ila(a);l0a(a);return}function Kla(b){b=b|0;var d=0,e=0,f=0;f=b+12|0;if(!(lla(f)|0))return 0;c[b+20>>2]=1;switch(c[b+32>>2]|0){case 0:{b=c[(c[(c[b+28>>2]|0)+88>>2]|0)+44>>2]|0;d=b+4|0;gk[c[(c[d>>2]|0)+8>>2]&1023](d)|0;e=b+24|0;if(!(a[e>>0]|0)){a[e>>0]=1;Eha(b+16|0)|0}gk[c[(c[d>>2]|0)+12>>2]&1023](d)|0;break}case 1:{b=c[(c[(c[b+28>>2]|0)+88>>2]|0)+44>>2]|0;d=b+4|0;gk[c[(c[d>>2]|0)+8>>2]&1023](d)|0;e=b+24|0;if(!(a[e>>0]|0)){a[e>>0]=1;Eha(b+16|0)|0}gk[c[(c[d>>2]|0)+12>>2]&1023](d)|0;break}case 2:{b=c[(c[(c[b+28>>2]|0)+92>>2]|0)+44>>2]|0;d=b+4|0;gk[c[(c[d>>2]|0)+8>>2]&1023](d)|0;e=b+24|0;if(!(a[e>>0]|0)){a[e>>0]=1;Eha(b+16|0)|0}gk[c[(c[d>>2]|0)+12>>2]&1023](d)|0;break}default:{}}hla(f)|0;return 0}function Lla(b){b=b|0;var d=0,e=0,f=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0.0,r=0,s=0.0,t=0.0,u=0.0,v=0.0,w=0.0,x=0.0,y=0.0,z=0.0,A=0.0,C=0.0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0;Aa=l;l=l+256|0;pa=Aa;ra=Aa+224|0;sa=Aa+212|0;wa=Aa+192|0;xa=Aa+180|0;ya=Aa+232|0;if(ZQ(4)|0){ja=lr(4)|0;ka=b+36|0;ta=a[ka+11>>0]|0;la=ta<<24>>24<0;ta=mr(mr(ja,la?c[ka>>2]|0:ka,la?c[b+40>>2]|0:ta&255)|0,171490,36)|0;BSa(pa,ta+(c[(c[ta>>2]|0)+-12>>2]|0)|0);la=cUa(pa,230580)|0;la=kk[c[(c[la>>2]|0)+28>>2]&511](la,10)|0;dUa(pa);VSa(ta,la)|0;HSa(ta)|0}ta=b+32|0;switch(c[ta>>2]|0){case 0:{d=b+28|0;e=c[(c[d>>2]|0)+88>>2]|0;if(!e){f=0;e=0}else{f=e+8|0;c[f>>2]=(c[f>>2]|0)+1;f=0}break}case 1:{d=b+28|0;f=c[d>>2]|0;e=c[f+88>>2]|0;if(!e)e=0;else{f=e+8|0;c[f>>2]=(c[f>>2]|0)+1;f=c[d>>2]|0}f=c[f+92>>2]|0;if(!f)f=0;else{la=f+8|0;c[la>>2]=(c[la>>2]|0)+1}break}case 2:{d=b+28|0;e=c[(c[d>>2]|0)+92>>2]|0;if(!e){f=0;e=0}else{f=e+8|0;c[f>>2]=(c[f>>2]|0)+1;f=0}break}default:{d=b+28|0;f=0;e=0}}Z=b+24|0;_=e+44|0;$=b+20|0;aa=b+36|0;ba=aa+11|0;ca=b+40|0;da=pa+4|0;ea=pa+8|0;fa=e+28|0;ga=e+72|0;ha=e+80|0;ia=e+24|0;ja=e+76|0;ka=sa+11|0;la=pa+4|0;G=b+12|0;H=wa+16|0;I=f+28|0;J=sa+4|0;K=ya+4|0;L=K+11|0;M=wa+4|0;N=M+11|0;O=xa+11|0;P=xa+4|0;Q=xa+11|0;R=pa+12|0;S=pa+12|0;T=pa+4|0;U=pa+8|0;V=pa+4|0;W=pa+8|0;X=pa+148|0;Y=pa+144|0;D=1;while(1){a[Z>>0]=0;b=c[_>>2]|0;h=b+4|0;gk[c[(c[h>>2]|0)+8>>2]&1023](h)|0;if(!(a[b+24>>0]|0))Bha(b+16|0,h)|0;gk[c[(c[h>>2]|0)+12>>2]&1023](h)|0;if(c[$>>2]|0)break;a[Z>>0]=1;if(ZQ(4)|0){r=lr(4)|0;E=a[ba>>0]|0;F=E<<24>>24<0;E=mr(mr(r,F?c[aa>>2]|0:aa,F?c[ca>>2]|0:E&255)|0,171527,18)|0;gk[c[(c[fa>>2]|0)+8>>2]&1023](fa)|0;F=c[ia>>2]|0;gk[c[(c[fa>>2]|0)+12>>2]&1023](fa)|0;F=mr(QSa(E,F)|0,171546,13)|0;F=RSa(F,c[ha>>2]|0)|0;BSa(pa,F+(c[(c[F>>2]|0)+-12>>2]|0)|0);E=cUa(pa,230580)|0;E=kk[c[(c[E>>2]|0)+28>>2]&511](E,10)|0;dUa(pa);VSa(F,E)|0;HSa(F)|0}if(a[(c[d>>2]|0)+116>>0]|0){c[pa>>2]=pa;c[da>>2]=pa;c[ea>>2]=0;gk[c[(c[fa>>2]|0)+8>>2]&1023](fa)|0;b=c[ha>>2]|0;if(b|0){F=c[ea>>2]|0;c[ea>>2]=b;c[ha>>2]=F;p=pa;o=c[p>>2]|0;p=c[p+4>>2]|0;n=ga;E=c[n+4>>2]|0;r=pa;c[r>>2]=c[n>>2];c[r+4>>2]=E;r=ga;c[r>>2]=o;c[r+4>>2]=p;c[E>>2]=pa;c[(c[pa>>2]|0)+4>>2]=pa;if(!F){c[ga>>2]=ga;b=ja}else{c[c[ja>>2]>>2]=ga;b=(c[ga>>2]|0)+4|0}c[b>>2]=ga;Bk[c[(c[e>>2]|0)+12>>2]&2047](e)}gk[c[(c[fa>>2]|0)+12>>2]&1023](fa)|0;if(c[ea>>2]|0?(qa=c[da>>2]|0,F=(c[pa>>2]|0)+4|0,E=c[qa>>2]|0,c[E+4>>2]=c[F>>2],c[c[F>>2]>>2]=E,c[ea>>2]=0,(qa|0)!=(pa|0)):0){b=qa;do{h=b;b=c[b+4>>2]|0;i=c[h+8>>2]|0;if(i|0?(E=i+8|0,F=c[E>>2]|0,c[E>>2]=F-1,(F|0)==1):0)UU(i,1,1);l0a(h)}while((b|0)!=(pa|0))}}c[ra>>2]=0;Qla(e,ra);b=c[(Rla(0)|0)+20>>2]|0;o=(b|0)==0;if(!o){F=b+8|0;c[F>>2]=(c[F>>2]|0)+1}h=c[(Rla(0)|0)+56>>2]|0;p=(h|0)==0;if(!p){F=h+(c[(c[h>>2]|0)+-12>>2]|0)+8|0;c[F>>2]=(c[F>>2]|0)+1};c[sa>>2]=0;c[sa+4>>2]=0;c[sa+8>>2]=0;a:do if(c[ra>>2]|0){n=(c[d>>2]|0)+24|0;gk[c[(c[n>>2]|0)+8>>2]&1023](n)|0;i=c[(c[ra>>2]|0)+84>>2]|0;if(!i){i=j0a(148)|0;Uha(i,1);j=i+12|0;c[j>>2]=0;c[j+4>>2]=0;c[j+8>>2]=0;c[i+24>>2]=2;c[i+28>>2]=0;c[i>>2]=97304;j=i+68|0;k=i+32|0;m=k+36|0;do{c[k>>2]=0;k=k+4|0}while((k|0)<(m|0));c[j>>2]=8;m=i+72|0;k=i+92|0;c[k>>2]=0;c[i+96>>2]=0;c[m>>2]=0;c[m+4>>2]=0;c[m+8>>2]=0;c[m+12>>2]=0;c[i+88>>2]=k;k=i+104|0;c[k>>2]=0;c[i+108>>2]=0;c[i+100>>2]=k;k=i+112|0;m=k+36|0;do{c[k>>2]=0;k=k+4|0}while((k|0)<(m|0));F=i+8|0;c[F>>2]=(c[F>>2]|0)+1;F=i}else{c[pa>>2]=71296;c[la>>2]=0;i=kk[c[(c[i>>2]|0)+16>>2]&511](i,pa)|0;if(!i)i=0;else{F=i+8|0;c[F>>2]=(c[F>>2]|0)+1}F=i}i=c[ra>>2]|0;j=i+64|0;k=F+132|0;if((k|0)!=(j|0)){m=c[k>>2]|0;j=c[j>>2]|0;if((m|0)!=(j|0)){c[k>>2]=j;if(j|0){E=j+8|0;c[E>>2]=(c[E>>2]|0)+1}if(m|0?(r=m+8|0,E=c[r>>2]|0,c[r>>2]=E-1,(E|0)==1):0)UU(m,1,1)}c[F+136>>2]=c[i+68>>2];i=c[ra>>2]|0}j=i+72|0;k=F+140|0;if((k|0)!=(j|0)){m=c[k>>2]|0;j=c[j>>2]|0;if((m|0)!=(j|0)){c[k>>2]=j;if(j|0){E=j+8|0;c[E>>2]=(c[E>>2]|0)+1}if(m|0?(r=m+8|0,E=c[r>>2]|0,c[r>>2]=E-1,(E|0)==1):0)UU(m,1,1)}c[F+144>>2]=c[i+76>>2];i=c[ra>>2]|0}z0a(sa,i+16|0)|0;r=c[(c[ra>>2]|0)+44>>2]|0;gk[c[(c[n>>2]|0)+12>>2]&1023](n)|0;i=c[F+128>>2]|0;if(!((i|0)==0|(b|0)==(i|0))){E=i+8|0;c[E>>2]=(c[E>>2]|0)+1;if(!o?(o=b+8|0,E=c[o>>2]|0,c[o>>2]=E-1,(E|0)==1):0){UU(b,1,1);b=i}else b=i}i=c[F+124>>2]|0;if((i|0)==0|(h|0)==(i|0))if(p){E=0;m=0}else ma=68;else{ma=i+(c[(c[i>>2]|0)+-12>>2]|0)+8|0;c[ma>>2]=(c[ma>>2]|0)+1;if(!p?(ua=h+(c[(c[h>>2]|0)+-12>>2]|0)|0,E=ua+8|0,ma=c[E>>2]|0,c[E>>2]=ma-1,(ma|0)==1):0){UU(ua,1,1);h=i;ma=68}else{h=i;ma=68}}if((ma|0)==68){ma=0;if(!(gk[c[(c[h>>2]|0)+4>>2]&1023](h)|0))if((b|0)!=0?(p=b+8|0,E=c[p>>2]|0,c[p>>2]=E-1,(E|0)==1):0){UU(b,1,1);E=h;b=0;m=1}else{E=h;b=0;m=1}else{E=h;m=1}}if(c[F+68>>2]&1|0){h=c[(Rla(0)|0)+212>>2]|0;if(h){Sla(pa,h,sa,0);h=c[pa>>2]|0;if(!h)ma=76;else{na=h;ma=88}}else{c[pa>>2]=0;ma=76}do if((ma|0)==76?(ma=0,b|0):0){if(!(kk[c[(c[b>>2]|0)+12>>2]&511](b,sa)|0))break;if(!(kk[c[(c[b>>2]|0)+20>>2]&511](b,sa)|0))break;h=Rla(0)|0;Nk[c[(c[b>>2]|0)+16>>2]&255](xa,b,sa);h=c[h+212>>2]|0;do if(!h)c[wa>>2]=0;else{Sla(wa,h,xa,0);h=c[wa>>2]|0;if(!h)break;c[pa>>2]=h;h=h+8|0;c[h>>2]=(c[h>>2]|0)+1;h=c[wa>>2]|0;if(!h)break;o=h+8|0;p=c[o>>2]|0;c[o>>2]=p-1;if((p|0)!=1)break;UU(h,1,1)}while(0);c[wa>>2]=0;if((a[Q>>0]|0)<0)l0a(c[xa>>2]|0);h=c[pa>>2]|0;if(h|0){na=h;ma=88}}while(0);if((ma|0)==88?(ma=0,va=y1a(na,42800,43184,0)|0,va|0):0){h=(c[d>>2]|0)+24|0;gk[c[(c[h>>2]|0)+8>>2]&1023](h)|0;i=(c[ra>>2]|0)+80|0;j=c[i>>2]|0;do if((j|0)!=(va|0)){c[i>>2]=va;r=va+8|0;c[r>>2]=(c[r>>2]|0)+1;if(!j)break;p=j+8|0;r=c[p>>2]|0;c[p>>2]=r-1;if((r|0)!=1)break;UU(j,1,1)}while(0);gk[c[(c[h>>2]|0)+12>>2]&1023](h)|0;h=(c[(c[d>>2]|0)+100>>2]|0)+28|0;gk[c[(c[h>>2]|0)+8>>2]&1023](h)|0;Tla(c[(c[d>>2]|0)+100>>2]|0,c[ra>>2]|0);i=c[ra>>2]|0;do if(i|0){c[ra>>2]=0;p=i+8|0;r=c[p>>2]|0;c[p>>2]=r-1;if((r|0)!=1)break;UU(i,1,1)}while(0);gk[c[(c[h>>2]|0)+12>>2]&1023](h)|0;h=c[pa>>2]|0;do if(h|0){p=h+8|0;r=c[p>>2]|0;c[p>>2]=r-1;if((r|0)!=1)break;UU(h,1,1)}while(0);j=D;i=F;h=E;break}k=(c[d>>2]|0)+24|0;gk[c[(c[k>>2]|0)+8>>2]&1023](k)|0;h=j0a(36)|0;Uha(h,1);c[h>>2]=97476;i=h+16|0;c[i>>2]=0;c[h+20>>2]=0;c[h+12>>2]=i;xla(h+24|0,0);i=(c[ra>>2]|0)+88|0;j=c[i>>2]|0;do if((j|0)!=(h|0)){c[i>>2]=h;D=h+8|0;c[D>>2]=(c[D>>2]|0)+1;if(!j)break;p=j+8|0;D=c[p>>2]|0;c[p>>2]=D-1;if((D|0)!=1)break;UU(j,1,1)}while(0);h=c[(c[ra>>2]|0)+88>>2]|0;i=F+72|0;j=c[i>>2]|0;do if((j|0)!=(h|0)){c[i>>2]=h;if(h|0){D=h+8|0;c[D>>2]=(c[D>>2]|0)+1}if(!j)break;p=j+8|0;D=c[p>>2]|0;c[p>>2]=D-1;if((D|0)!=1)break;UU(j,1,1)}while(0);gk[c[(c[k>>2]|0)+12>>2]&1023](k)|0;h=c[pa>>2]|0;do if(h|0){p=h+8|0;D=c[p>>2]|0;c[p>>2]=D-1;if((D|0)!=1)break;UU(h,1,1)}while(0)}b:do if(((c[(c[d>>2]|0)+84>>2]|0)-r|0)>>>0>=2){h=c[ra>>2]|0;if(!h){j=0;i=F;h=E;break a}c[ra>>2]=0;r=h+8|0;D=c[r>>2]|0;c[r>>2]=D-1;if((D|0)==1){UU(h,1,1);i=0}else i=0}else{switch(c[ta>>2]|0){case 0:{if(!b){i=0;break b}if(!(kk[c[(c[b>>2]|0)+12>>2]&511](b,sa)|0)){i=0;break b}i=kk[c[(c[b>>2]|0)+20>>2]&511](b,sa)|0;break b}case 1:break;default:{i=0;break b}}do if(!m){if(!b){i=0;break b}if(kk[c[(c[b>>2]|0)+12>>2]&511](b,sa)|0){oa=b;ma=125}else{i=0;break b}}else{if((lk[c[c[E>>2]>>2]&127](E,sa,F)|0)!=1){i=0;break b}if(!b)break;oa=b;ma=125}while(0);if((ma|0)==125?(ma=0,kk[c[(c[oa>>2]|0)+20>>2]&511](b,sa)|0):0){i=1;break}if(ZQ(4)|0){r=lr(4)|0;p=a[ba>>0]|0;D=p<<24>>24<0;p=mr(mr(r,D?c[aa>>2]|0:aa,D?c[ca>>2]|0:p&255)|0,171560,29)|0;D=a[ka>>0]|0;r=D<<24>>24<0;D=mr(p,r?c[sa>>2]|0:sa,r?c[J>>2]|0:D&255)|0;BSa(pa,D+(c[(c[D>>2]|0)+-12>>2]|0)|0);r=cUa(pa,230580)|0;r=kk[c[(c[r>>2]|0)+28>>2]&511](r,10)|0;dUa(pa);VSa(D,r)|0;HSa(D)|0}h=c[ra>>2]|0;gk[c[(c[I>>2]|0)+8>>2]&1023](I)|0;Tla(f,h);gk[c[(c[I>>2]|0)+12>>2]&1023](I)|0;h=c[ra>>2]|0;if(!h){j=0;i=F;h=E;break a}c[ra>>2]=0;r=h+8|0;D=c[r>>2]|0;c[r>>2]=D-1;if((D|0)!=1){i=0;break}UU(h,1,1);i=0}while(0);if(!(c[ra>>2]|0)){j=0;i=F;h=E}else{if(i)Sk[c[(c[b>>2]|0)+48>>2]&63](wa,b,sa,F,0);else Vla(wa,Rla(0)|0,sa,F,0);h=c[H>>2]|0;do if(!h)h=0;else{h=y1a(h,42800,43184,0)|0;if(!h){h=0;break}D=h+8|0;c[D>>2]=(c[D>>2]|0)+1}while(0);do if((c[wa>>2]|1|0)!=5){if(!(ZQ(2)|0))break;r=mr(lr(2)|0,171590,22)|0;p=a[ka>>0]|0;D=p<<24>>24<0;p=mr(mr(r,D?c[sa>>2]|0:sa,D?c[J>>2]|0:p&255)|0,171613,3)|0;Wla(xa,wa);D=a[O>>0]|0;r=D<<24>>24<0;D=mr(p,r?c[xa>>2]|0:xa,r?c[P>>2]|0:D&255)|0;BSa(pa,D+(c[(c[D>>2]|0)+-12>>2]|0)|0);r=cUa(pa,230580)|0;r=kk[c[(c[r>>2]|0)+28>>2]&511](r,10)|0;dUa(pa);VSa(D,r)|0;HSa(D)|0;if((a[O>>0]|0)<0)l0a(c[xa>>2]|0)}while(0);do if((b|0)!=0&(h|0)!=0){if(i|(kk[c[(c[b>>2]|0)+12>>2]&511](b,sa)|0)^1)break;Sk[c[(c[b>>2]|0)+52>>2]&63](ya,b,h,sa,F);if((a[L>>0]|0)>=0)break;l0a(c[K>>2]|0)}while(0);i=(c[d>>2]|0)+24|0;gk[c[(c[i>>2]|0)+8>>2]&1023](i)|0;do if(((c[(c[d>>2]|0)+84>>2]|0)-(c[(c[ra>>2]|0)+44>>2]|0)|0)>>>0>1){if(ZQ(4)|0){p=lr(4)|0;D=a[ba>>0]|0;r=D<<24>>24<0;D=mr(mr(p,r?c[aa>>2]|0:aa,r?c[ca>>2]|0:D&255)|0,171617,44)|0;BSa(pa,D+(c[(c[D>>2]|0)+-12>>2]|0)|0);r=cUa(pa,230580)|0;r=kk[c[(c[r>>2]|0)+28>>2]&511](r,10)|0;dUa(pa);VSa(D,r)|0;HSa(D)|0}if(!h){h=0;break}r=h+8|0;D=c[r>>2]|0;c[r>>2]=D-1;if((D|0)!=1){h=0;break}UU(h,1,1);h=0}while(0);gk[c[(c[i>>2]|0)+12>>2]&1023](i)|0;do if(h|0){m=h+68|0;if(!(a[m>>0]|0)){i=h+32|0;n=h+52|0;c[n>>2]=c[i>>2];c[n+4>>2]=c[i+4>>2];c[n+8>>2]=c[i+8>>2];c[n+12>>2]=c[i+12>>2];i=c[h+48>>2]|0;if(!i){Jk[c[(c[h>>2]|0)+224>>2]&1023](pa,h);t=+g[R>>2];do if(t>=0.0){i=h+64|0;q=+g[i>>2];if(!(q>=0.0)){c[n>>2]=c[pa>>2];c[n+4>>2]=c[pa+4>>2];c[n+8>>2]=c[pa+8>>2];g[i>>2]=t;break}u=+g[n>>2];v=+g[pa>>2];s=u-v;j=h+56|0;w=+g[j>>2];x=+g[T>>2];C=w-x;k=h+60|0;y=+g[k>>2];z=+g[U>>2];A=y-z;A=+B(+(s*s+C*C+A*A));C=t;if(C+A<=q)break;s=q+A;if(!(s<=C)){C=(s+C)*.5;A=(C-q)/A;g[n>>2]=A*(v-u)+u;g[j>>2]=A*(x-w)+w;g[k>>2]=A*(z-y)+y;g[i>>2]=C;break}else{c[n>>2]=c[pa>>2];c[n+4>>2]=c[pa+4>>2];c[n+8>>2]=c[pa+8>>2];g[i>>2]=t;break}}while(0)}else{Nk[c[(c[i>>2]|0)+164>>2]&255](pa,i,h);t=+g[S>>2];do if(t>=0.0){i=h+64|0;q=+g[i>>2];if(!(q>=0.0)){c[n>>2]=c[pa>>2];c[n+4>>2]=c[pa+4>>2];c[n+8>>2]=c[pa+8>>2];g[i>>2]=t;break}u=+g[n>>2];v=+g[pa>>2];s=u-v;j=h+56|0;w=+g[j>>2];x=+g[V>>2];C=w-x;k=h+60|0;y=+g[k>>2];z=+g[W>>2];A=y-z;A=+B(+(s*s+C*C+A*A));C=t;if(C+A<=q)break;s=q+A;if(!(s<=C)){C=(s+C)*.5;A=(C-q)/A;g[n>>2]=A*(v-u)+u;g[j>>2]=A*(x-w)+w;g[k>>2]=A*(z-y)+y;g[i>>2]=C;break}else{c[n>>2]=c[pa>>2];c[n+4>>2]=c[pa+4>>2];c[n+8>>2]=c[pa+8>>2];g[i>>2]=t;break}}while(0)}a[m>>0]=1}do if((c[wa>>2]|0)==5){if(!(ZQ(3)|0)){j=0;k=0;break}j=mr(lr(3)|0,171662,23)|0;BSa(pa,j+(c[(c[j>>2]|0)+-12>>2]|0)|0);k=cUa(pa,230580)|0;k=kk[c[(c[k>>2]|0)+28>>2]&511](k,10)|0;dUa(pa);VSa(j,k)|0;HSa(j)|0;j=0;k=0}else{i=c[d>>2]|0;Xla(pa,i,c[i+164>>2]|0);Jk[c[(c[h>>2]|0)+212>>2]&1023](h,pa);i=c[d>>2]|0;do if(!(a[i+128>>0]|0)){k=0;j=0}else{i=c[i+132>>2]|0;if(!i){k=0;j=0;break}if(!(Gka(i,pa)|0)){k=0;j=0;break}k=j0a(48)|0;Tha(k);c[k>>2]=97132;c[k+12>>2]=0;c[k+16>>2]=0;c[k+20>>2]=0;c[k+24>>2]=h;j=h+8|0;c[j>>2]=(c[j>>2]|0)+1;j=k+28|0;c[j>>2]=0;m=k+36|0;c[m>>2]=0;c[k+40>>2]=0;c[k+32>>2]=m;c[k+44>>2]=0;m=k+8|0;c[m>>2]=(c[m>>2]|0)+1;wka(k,(c[(c[d>>2]|0)+132>>2]|0)+124|0,pa);m=j0a(24)|0;D=c[d>>2]|0;i=c[ra>>2]|0;r=m+12|0;Tha(r);c[m>>2]=97500;c[r>>2]=97528;c[m+4>>2]=D;c[m+8>>2]=i;if(i|0){D=i+8|0;c[D>>2]=(c[D>>2]|0)+1}i=c[j>>2]|0;do if((i|0)!=(m|0)){c[j>>2]=m;D=m+(c[(c[m>>2]|0)+-12>>2]|0)+8|0;c[D>>2]=(c[D>>2]|0)+1;if(!i)break;i=i+(c[(c[i>>2]|0)+-12>>2]|0)|0;r=i+8|0;D=c[r>>2]|0;c[r>>2]=D-1;if((D|0)!=1)break;UU(i,1,1)}while(0);Hka(c[(c[d>>2]|0)+132>>2]|0,k,0);j=1}while(0);c[pa>>2]=97552;c[X>>2]=97928;i=c[Y>>2]|0;do if(i|0){i=i+(c[(c[i>>2]|0)+-12>>2]|0)|0;r=i+8|0;D=c[r>>2]|0;c[r>>2]=D-1;if((D|0)!=1)break;UU(i,1,1)}while(0);c[Y>>2]=0;Aea(pa,98096);Pr(X)}while(0);p=(c[d>>2]|0)+24|0;gk[c[(c[p>>2]|0)+8>>2]&1023](p)|0;i=(c[ra>>2]|0)+80|0;m=c[i>>2]|0;do if((m|0)!=(h|0)){c[i>>2]=h;D=h+8|0;c[D>>2]=(c[D>>2]|0)+1;if(!m)break;r=m+8|0;D=c[r>>2]|0;c[r>>2]=D-1;if((D|0)!=1)break;UU(m,1,1)}while(0);o=c[ra>>2]|0;r=(k|0)==0;if(r)i=0;else i=Vha(k)|0;m=o+92|0;n=c[m>>2]|0;if((n|0)!=(i|0)){c[m>>2]=i;if(i|0){D=i+8|0;c[D>>2]=(c[D>>2]|0)+1}do if(n|0){i=n+8|0;D=c[i>>2]|0;c[i>>2]=D-1;if((D|0)!=1)break;UU(n,1,1)}while(0);i=c[m>>2]|0}if(!i)i=0;else i=(c[i+24>>2]|0)==0?0:k;c[o+96>>2]=i;gk[c[(c[p>>2]|0)+12>>2]&1023](p)|0;i=c[d>>2]|0;if(j){i=(c[i+96>>2]|0)+28|0;gk[c[(c[i>>2]|0)+8>>2]&1023](i)|0;Tla(c[(c[d>>2]|0)+96>>2]|0,c[ra>>2]|0);j=c[ra>>2]|0;do if(j|0){c[ra>>2]=0;p=j+8|0;D=c[p>>2]|0;c[p>>2]=D-1;if((D|0)!=1)break;UU(j,1,1)}while(0);gk[c[(c[i>>2]|0)+12>>2]&1023](i)|0}else{i=(c[i+100>>2]|0)+28|0;gk[c[(c[i>>2]|0)+8>>2]&1023](i)|0;Tla(c[(c[d>>2]|0)+100>>2]|0,c[ra>>2]|0);j=c[ra>>2]|0;do if(j|0){c[ra>>2]=0;p=j+8|0;D=c[p>>2]|0;c[p>>2]=D-1;if((D|0)!=1)break;UU(j,1,1)}while(0);gk[c[(c[i>>2]|0)+12>>2]&1023](i)|0}do if(!r){r=k+8|0;D=c[r>>2]|0;c[r>>2]=D-1;if((D|0)!=1)break;UU(k,1,1)}while(0);r=h+8|0;D=c[r>>2]|0;c[r>>2]=D-1;if((D|0)!=1)break;UU(h,1,1)}while(0);h=c[H>>2]|0;do if(h|0){r=h+8|0;D=c[r>>2]|0;c[r>>2]=D-1;if((D|0)!=1)break;UU(h,1,1)}while(0);c[H>>2]=0;if((a[N>>0]|0)<0)l0a(c[M>>2]|0);j=0;i=F;h=E}}else{j=0;i=0}while(0);if((a[ka>>0]|0)<0)l0a(c[sa>>2]|0);if(i|0?(E=i+8|0,F=c[E>>2]|0,c[E>>2]=F-1,(F|0)==1):0)UU(i,1,1);if(h|0?(za=h+(c[(c[h>>2]|0)+-12>>2]|0)|0,E=za+8|0,F=c[E>>2]|0,c[E>>2]=F-1,(F|0)==1):0)UU(za,1,1);if(b|0?(E=b+8|0,F=c[E>>2]|0,c[E>>2]=F-1,(F|0)==1):0)UU(b,1,1);b=c[ra>>2]|0;if(b|0?(E=b+8|0,F=c[E>>2]|0,c[E>>2]=F-1,(F|0)==1):0)UU(b,1,1);if(pla(G)|0)break;if(!(c[$>>2]|0))D=j;else break}if(f|0?(ya=f+8|0,za=c[ya>>2]|0,c[ya>>2]=za-1,(za|0)==1):0)UU(f,1,1);if(!e){l=Aa;return}ya=e+8|0;za=c[ya>>2]|0;c[ya>>2]=za-1;if((za|0)!=1){l=Aa;return}UU(e,1,1);l=Aa;return}function Mla(a){a=a|0;Ila(a+-12|0);return}function Nla(a){a=a|0;a=a+-12|0;Ila(a);l0a(a);return}function Ola(a){a=a|0;Kla(a+-12|0)|0;return 0}function Pla(a){a=a|0;Lla(a+-12|0);return}function Qla(b,d){b=b|0;d=d|0;var e=0,f=0,i=0,j=0,k=0,m=0,n=0,o=0.0,p=0,q=0.0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;x=l;l=l+16|0;u=x;v=b+28|0;gk[c[(c[v>>2]|0)+8>>2]&1023](v)|0;t=b+16|0;w=b+24|0;if(!(c[w>>2]|0)){w=c[v>>2]|0;w=w+12|0;w=c[w>>2]|0;gk[w&1023](v)|0;l=x;return}j=t;n=b+12|0;s=c[(c[n>>2]|0)+84>>2]|0;e=c[b+20>>2]|0;f=e;if((t|0)!=(f|0))do{m=(c[n>>2]|0)+24|0;gk[c[(c[m>>2]|0)+8>>2]&1023](m)|0;i=e+8|0;k=c[i>>2]|0;if((a[k+12>>0]|0)!=0?(s-(c[k+44>>2]|0)|0)>>>0<2:0){if((t|0)!=(j|0)?(o=+h[k+48>>3],p=c[j+8>>2]|0,q=+h[p+48>>3],!(o>q)):0){if(!(o<q)?+g[k+56>>2]>+g[p+56>>2]:0)r=10}else r=10;if((r|0)==10){r=0;j=e}e=c[f+4>>2]|0}else{Bla(b,k);if(ZQ(4)|0){k=mr(lr(4)|0,180030,50)|0;k=USa(k,c[i>>2]|0)|0;BSa(u,k+(c[(c[k>>2]|0)+-12>>2]|0)|0);i=cUa(u,230580)|0;i=kk[c[(c[i>>2]|0)+28>>2]&511](i,10)|0;dUa(u);VSa(k,i)|0;HSa(k)|0}k=f+4|0;i=c[k>>2]|0;y=c[f>>2]|0;c[y+4>>2]=i;c[c[k>>2]>>2]=y;c[w>>2]=(c[w>>2]|0)+-1;f=c[f+8>>2]|0;if(f|0?(k=f+8|0,y=c[k>>2]|0,c[k>>2]=y-1,(y|0)==1):0)UU(f,1,1);l0a(e);e=i}gk[c[(c[m>>2]|0)+12>>2]&1023](m)|0;f=e}while((t|0)!=(f|0));c[b+40>>2]=s;i=j;if((t|0)==(i|0)){if(ZQ(4)|0){y=mr(lr(4)|0,180153,83)|0;y=RSa(y,c[w>>2]|0)|0;BSa(u,y+(c[(c[y>>2]|0)+-12>>2]|0)|0);w=cUa(u,230580)|0;w=kk[c[(c[w>>2]|0)+28>>2]&511](w,10)|0;dUa(u);VSa(y,w)|0;HSa(y)|0}}else{e=c[d>>2]|0;f=c[j+8>>2]|0;if((e|0)!=(f|0)){c[d>>2]=f;if(f|0){y=f+8|0;c[y>>2]=(c[y>>2]|0)+1}if(e|0?(d=e+8|0,y=c[d>>2]|0,c[d>>2]=y-1,(y|0)==1):0)UU(e,1,1)}e=i+4|0;y=c[i>>2]|0;c[y+4>>2]=c[e>>2];c[c[e>>2]>>2]=y;c[w>>2]=(c[w>>2]|0)+-1;e=c[i+8>>2]|0;if(e|0?(d=e+8|0,y=c[d>>2]|0,c[d>>2]=y-1,(y|0)==1):0)UU(e,1,1);l0a(j);if(ZQ(4)|0){y=mr(lr(4)|0,180081,71)|0;y=RSa(y,c[w>>2]|0)|0;BSa(u,y+(c[(c[y>>2]|0)+-12>>2]|0)|0);w=cUa(u,230580)|0;w=kk[c[(c[w>>2]|0)+28>>2]&511](w,10)|0;dUa(u);VSa(y,w)|0;HSa(y)|0}}Bk[c[(c[b>>2]|0)+12>>2]&2047](b);y=c[v>>2]|0;y=y+12|0;y=c[y>>2]|0;gk[y&1023](v)|0;l=x;return}function Rla(b){b=b|0;var d=0,e=0;if((a[223760]|0)==0?g2a(223760)|0:0){d=j0a(248)|0;Lna(d);c[56463]=d;d=d+8|0;c[d>>2]=(c[d>>2]|0)+1}if(!b){d=c[56463]|0;return d|0}Mna(c[56463]|0);b=c[56463]|0;if(!b){d=c[56463]|0;return d|0}c[56463]=0;e=b+8|0;d=c[e>>2]|0;c[e>>2]=d-1;if((d|0)!=1){e=c[56463]|0;return e|0}UU(b,1,1);e=c[56463]|0;return e|0}function Sla(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0;k=l;l=l+16|0;i=k;j=d+24|0;gk[c[(c[j>>2]|0)+8>>2]&1023](j)|0;f=tna(d,e,f)|0;if((f|0)==(d+16|0)){c[b>>2]=0;b=c[j>>2]|0;b=b+12|0;b=c[b>>2]|0;gk[b&1023](j)|0;l=k;return}g=c[f+28>>2]|0;h=(g|0)==0;if(h){if(ZQ(5)|0){o=mr(lr(5)|0,173016,6)|0;m=a[e+11>>0]|0;n=m<<24>>24<0;e=USa(mr(mr(o,n?c[e>>2]|0:e,n?c[e+4>>2]|0:m&255)|0,173041,16)|0,d)|0;BSa(i,e+(c[(c[e>>2]|0)+-12>>2]|0)|0);d=cUa(i,230580)|0;d=kk[c[(c[d>>2]|0)+28>>2]&511](d,10)|0;dUa(i);VSa(e,d)|0;HSa(e)|0}}else{o=g+8|0;c[o>>2]=(c[o>>2]|0)+1;if(ZQ(5)|0){n=mr(lr(5)|0,173016,6)|0;m=a[e+11>>0]|0;o=m<<24>>24<0;e=mr(mr(n,o?c[e>>2]|0:e,o?c[e+4>>2]|0:m&255)|0,172132,15)|0;m=g+32|0;o=a[m+11>>0]|0;n=o<<24>>24<0;o=USa(mr(mr(e,n?c[m>>2]|0:m,n?c[g+36>>2]|0:o&255)|0,173023,17)|0,d)|0;BSa(i,o+(c[(c[o>>2]|0)+-12>>2]|0)|0);n=cUa(i,230580)|0;n=kk[c[(c[n>>2]|0)+28>>2]&511](n,10)|0;dUa(i);VSa(o,n)|0;HSa(o)|0}}f=c[f+32>>2]|0;c[b>>2]=f;if(f|0){o=f+8|0;c[o>>2]=(c[o>>2]|0)+1}if(h){o=c[j>>2]|0;o=o+12|0;o=c[o>>2]|0;gk[o&1023](j)|0;l=k;return}n=g+8|0;o=c[n>>2]|0;c[n>>2]=o-1;if((o|0)!=1){o=c[j>>2]|0;o=o+12|0;o=c[o>>2]|0;gk[o&1023](j)|0;l=k;return}UU(g,1,1);o=c[j>>2]|0;o=o+12|0;o=c[o>>2]|0;gk[o&1023](j)|0;l=k;return}function Tla(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=a+16|0;e=(b|0)==0;if(!e){f=b+8|0;c[f>>2]=(c[f>>2]|0)+1}f=j0a(12)|0;c[f>>2]=0;c[f+8>>2]=b;if(!e){g=b+8|0;c[g>>2]=(c[g>>2]|0)+1}c[f+4>>2]=d;g=c[d>>2]|0;c[f>>2]=g;c[g+4>>2]=f;c[d>>2]=f;g=a+24|0;c[g>>2]=(c[g>>2]|0)+1;if(!e?(f=b+8|0,g=c[f>>2]|0,c[f>>2]=g-1,(g|0)==1):0)UU(b,1,1);Bk[c[(c[a>>2]|0)+12>>2]&2047](a);return}function Ula(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;if(!d)return;Ula(b,c[d>>2]|0);Ula(b,c[d+4>>2]|0);f=d+16|0;b=d+32|0;e=c[b>>2]|0;if(e|0?(h=e+8|0,g=c[h>>2]|0,c[h>>2]=g-1,(g|0)==1):0)UU(e,1,1);c[b>>2]=0;b=d+28|0;e=c[b>>2]|0;if(e|0?(g=e+8|0,h=c[g>>2]|0,c[g>>2]=h-1,(h|0)==1):0)UU(e,1,1);c[b>>2]=0;if((a[f+11>>0]|0)<0)l0a(c[f>>2]|0);l0a(d);return}function Vla(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0;n=l;l=l+32|0;k=n;c[b>>2]=1;i=b+4|0;c[i>>2]=0;c[i+4>>2]=0;c[i+8>>2]=0;c[i+12>>2]=0;if((f|0)!=0?(h=c[f+116>>2]|0,(h|0)!=0):0){Qk[c[(c[h>>2]|0)+16>>2]&127](k,h,e,f);if((k|0)!=(b|0)){c[b>>2]=c[k>>2];z0a(i,k+4|0)|0;e=b+16|0;i=c[e>>2]|0;h=k+16|0;j=c[h>>2]|0;if((i|0)!=(j|0)){c[e>>2]=j;if(j|0){m=j+8|0;c[m>>2]=(c[m>>2]|0)+1}if((i|0)!=0?(j=i+8|0,m=c[j>>2]|0,c[j>>2]=m-1,(m|0)==1):0){UU(i,1,1);m=11}else m=11}else{e=h;h=j}}else{h=k+16|0;m=11}if((m|0)==11){e=h;h=c[h>>2]|0}if(h|0?(i=h+8|0,j=c[i>>2]|0,c[i>>2]=j-1,(j|0)==1):0)UU(h,1,1);c[e>>2]=0;h=k+4|0;if((a[h+11>>0]|0)<0)l0a(c[h>>2]|0)}else m=18;do if((m|0)==18){h=c[d+48>>2]|0;if(!h){mma(k,d,e,f);if((k|0)!=(b|0)){c[b>>2]=c[k>>2];z0a(i,k+4|0)|0;e=b+16|0;i=c[e>>2]|0;h=k+16|0;j=c[h>>2]|0;if((i|0)!=(j|0)){c[e>>2]=j;if(j|0){m=j+8|0;c[m>>2]=(c[m>>2]|0)+1}if((i|0)!=0?(j=i+8|0,m=c[j>>2]|0,c[j>>2]=m-1,(m|0)==1):0){UU(i,1,1);m=42}else m=42}else{e=h;h=j}}else{h=k+16|0;m=42}if((m|0)==42){e=h;h=c[h>>2]|0}if(h|0?(j=h+8|0,m=c[j>>2]|0,c[j>>2]=m-1,(m|0)==1):0)UU(h,1,1);c[e>>2]=0;h=k+4|0;if((a[h+11>>0]|0)<0)l0a(c[h>>2]|0);break}else{Qk[c[(c[h>>2]|0)+16>>2]&127](k,h,e,f);if((k|0)!=(b|0)){c[b>>2]=c[k>>2];z0a(i,k+4|0)|0;e=b+16|0;i=c[e>>2]|0;h=k+16|0;j=c[h>>2]|0;if((i|0)!=(j|0)){c[e>>2]=j;if(j|0){m=j+8|0;c[m>>2]=(c[m>>2]|0)+1}if((i|0)!=0?(j=i+8|0,m=c[j>>2]|0,c[j>>2]=m-1,(m|0)==1):0){UU(i,1,1);m=27}else m=27}else{e=h;h=j}}else{h=k+16|0;m=27}if((m|0)==27){e=h;h=c[h>>2]|0}if(h|0?(j=h+8|0,m=c[j>>2]|0,c[j>>2]=m-1,(m|0)==1):0)UU(h,1,1);c[e>>2]=0;h=k+4|0;if((a[h+11>>0]|0)<0)l0a(c[h>>2]|0);break}}while(0);if(!g){l=n;return}nma(d,b,f);l=n;return}function Wla(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;i=l;l=l+32|0;f=i+12|0;g=i;c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;switch(c[d>>2]|0){case 0:{J0a(b,171914)|0;break}case 1:{J0a(b,171930)|0;break}case 2:{J0a(b,171947)|0;break}case 3:{J0a(b,171962)|0;break}case 4:{J0a(b,171973)|0;break}case 5:{J0a(b,171985)|0;break}case 6:{J0a(b,172008)|0;break}case 7:{J0a(b,172023)|0;break}default:{}}h=d+4|0;e=a[h+11>>0]|0;if(e<<24>>24<0)d=c[d+8>>2]|0;else d=e&255;if(!d){l=i;return}f1a(g,172051,h);h=J0a(g,184787)|0;c[f>>2]=c[h>>2];c[f+4>>2]=c[h+4>>2];c[f+8>>2]=c[h+8>>2];c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;h=f+11|0;e=a[h>>0]|0;d=e<<24>>24<0;I0a(b,d?c[f>>2]|0:f,d?c[f+4>>2]|0:e&255)|0;if((a[h>>0]|0)<0)l0a(c[f>>2]|0);if((a[g+11>>0]|0)<0)l0a(c[g>>2]|0);l=i;return}function Xla(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;g=b+148|0;Tha(g);c[g>>2]=68320;h=b+160|0;c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;c[b+172>>2]=2;c[b+176>>2]=0;uka(b,98096,12,e);c[b>>2]=97552;c[g>>2]=97928;c[b+132>>2]=d;g=b+144|0;c[g>>2]=0;a[b+120>>0]=a[d+108>>0]|0;a[b+136>>0]=a[d+109>>0]|0;a[b+137>>0]=a[d+110>>0]|0;a[b+138>>0]=a[d+111>>0]|0;c[b+140>>2]=c[d+112>>2];switch(c[d+104>>2]|0){case 3:{b=b+80|0;e=c[b>>2]&-196|130;f=5;break}case 1:{b=b+80|0;e=c[b>>2]&-194|129;f=5;break}case 2:{b=b+80|0;e=c[b>>2]|64;f=5;break}default:{}}if((f|0)==5)c[b>>2]=e;if((c[(Rla(0)|0)+12>>2]|0)!=2)return;if(!(c[(Rla(0)|0)+16>>2]|0))return;e=c[(Rla(0)|0)+16>>2]|0;e=gk[c[(c[e>>2]|0)+200>>2]&1023](e)|0;b=c[g>>2]|0;if((b|0)==(e|0))return;c[g>>2]=e;if(e|0){h=e+(c[(c[e>>2]|0)+-12>>2]|0)+8|0;c[h>>2]=(c[h>>2]|0)+1}if(!b)return;e=b+(c[(c[b>>2]|0)+-12>>2]|0)|0;g=e+8|0;h=c[g>>2]|0;c[g>>2]=h-1;if((h|0)!=1)return;UU(e,1,1);return}function Yla(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;c[a>>2]=97552;b=a+148|0;c[b>>2]=97928;d=a+144|0;e=c[d>>2]|0;if(e|0?(f=e+(c[(c[e>>2]|0)+-12>>2]|0)|0,g=f+8|0,e=c[g>>2]|0,c[g>>2]=e-1,(e|0)==1):0)UU(f,1,1);c[d>>2]=0;Aea(a,98096);Pr(b);return}function Zla(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;c[a>>2]=97552;b=a+148|0;c[b>>2]=97928;d=a+144|0;e=c[d>>2]|0;if(e|0?(f=e+(c[(c[e>>2]|0)+-12>>2]|0)|0,g=f+8|0,e=c[g>>2]|0,c[g>>2]=e-1,(e|0)==1):0)UU(f,1,1);c[d>>2]=0;Aea(a,98096);Pr(b);l0a(a);return}function _la(a){a=a|0;return 171720}function $la(a){a=a|0;return 171686}function ama(a,b){a=a|0;b=b|0;var d=0,e=0;d=a+144|0;if((c[d>>2]|0)!=0?(e=c[a+128>>2]|0,(e|0)!=(gk[c[(c[b>>2]|0)+148>>2]&1023](b)|0)):0){Jk[c[(c[b>>2]|0)+212>>2]&1023](b,c[d>>2]|0);d=b;e=b}else{d=b;e=b}uea(a,b);if(gk[c[(c[d>>2]|0)+148>>2]&1023](e)|0)return;Jk[c[(c[b>>2]|0)+144>>2]&1023](e,c[a+128>>2]|0);return}function bma(b,d){b=b|0;d=d|0;var e=0,f=0.0;if((c[d+24>>2]|0)!=1?(e=c[b+128>>2]|0,(e|0)!=(gk[c[(c[d>>2]|0)+148>>2]&1023](d)|0)):0){if(a[b+136>>0]|0)a[d+137>>0]=a[b+137>>0]|0;if((a[b+138>>0]|0)!=0?(f=+g[b+140>>2],+g[d+104>>2]!=f):0){Gia(d,f);e=d}else e=d}else e=d;xea(b,d);if(gk[c[(c[e>>2]|0)+148>>2]&1023](d)|0)return;Jk[c[(c[d>>2]|0)+144>>2]&1023](d,c[b+128>>2]|0);return}function cma(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;a=a+(c[(c[a>>2]|0)+-16>>2]|0)|0;c[a>>2]=97552;b=a+148|0;c[b>>2]=97928;d=a+144|0;e=c[d>>2]|0;if(e|0?(f=e+(c[(c[e>>2]|0)+-12>>2]|0)|0,g=f+8|0,e=c[g>>2]|0,c[g>>2]=e-1,(e|0)==1):0)UU(f,1,1);c[d>>2]=0;Aea(a,98096);Pr(b);return}function dma(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;a=a+(c[(c[a>>2]|0)+-16>>2]|0)|0;c[a>>2]=97552;b=a+148|0;c[b>>2]=97928;d=a+144|0;e=c[d>>2]|0;if(e|0?(f=e+(c[(c[e>>2]|0)+-12>>2]|0)|0,g=f+8|0,e=c[g>>2]|0,c[g>>2]=e-1,(e|0)==1):0)UU(f,1,1);c[d>>2]=0;Aea(a,98096);Pr(b);l0a(a);return}function ema(a){a=a|0;return 171720}function fma(a){a=a|0;return 171686}function gma(a,b){a=a|0;b=b|0;var d=0;d=c[a+4>>2]|0;a=c[a+8>>2]|0;lma(c[d+96>>2]|0,a);d=c[d+100>>2]|0;b=d+28|0;gk[c[(c[b>>2]|0)+8>>2]&1023](b)|0;Tla(d,a);gk[c[(c[b>>2]|0)+12>>2]&1023](b)|0;return 1}function hma(a){a=a|0;var b=0,d=0,e=0,f=0;c[a>>2]=97500;d=a+12|0;c[d>>2]=97528;a=a+8|0;b=c[a>>2]|0;if(b|0?(f=b+8|0,e=c[f>>2]|0,c[f>>2]=e-1,(e|0)==1):0)UU(b,1,1);c[a>>2]=0;SU(d);return}function ima(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;c[a>>2]=97500;b=a+12|0;c[b>>2]=97528;d=a+8|0;e=c[d>>2]|0;if(e|0?(g=e+8|0,f=c[g>>2]|0,c[g>>2]=f-1,(f|0)==1):0)UU(e,1,1);c[d>>2]=0;SU(b);l0a(a);return}function jma(a){a=a|0;var b=0,d=0,e=0,f=0;b=a+(c[(c[a>>2]|0)+-16>>2]|0)|0;c[b>>2]=97500;a=b+12|0;c[a>>2]=97528;b=b+8|0;d=c[b>>2]|0;if(d|0?(f=d+8|0,e=c[f>>2]|0,c[f>>2]=e-1,(e|0)==1):0)UU(d,1,1);c[b>>2]=0;SU(a);return}function kma(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;a=a+(c[(c[a>>2]|0)+-16>>2]|0)|0;c[a>>2]=97500;b=a+12|0;c[b>>2]=97528;d=a+8|0;e=c[d>>2]|0;if(e|0?(g=e+8|0,f=c[g>>2]|0,c[g>>2]=f-1,(f|0)==1):0)UU(e,1,1);c[d>>2]=0;SU(b);l0a(a);return}function lma(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=a+28|0;gk[c[(c[i>>2]|0)+8>>2]&1023](i)|0;d=c[a+20>>2]|0;h=a+16|0;e=d;a:do if((h|0)!=(e|0)){g=d;d=e;while(1){e=d+4|0;f=c[e>>2]|0;if((c[g+8>>2]|0)==(b|0))break;d=f;if((h|0)==(d|0))break a;else g=f}h=c[d>>2]|0;c[h+4>>2]=f;c[c[e>>2]>>2]=h;h=a+24|0;c[h>>2]=(c[h>>2]|0)+-1;d=c[d+8>>2]|0;if(d|0?(b=d+8|0,h=c[b>>2]|0,c[b>>2]=h-1,(h|0)==1):0)UU(d,1,1);l0a(g)}while(0);gk[c[(c[i>>2]|0)+12>>2]&1023](i)|0;return}function mma(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0;i=l;l=l+32|0;g=i;Tha(g);c[g>>2]=98124;h=g+12|0;t0a(h,e);c[g+24>>2]=f;c[g>>2]=98160;oma(b,d,g,1);c[g>>2]=98124;if((a[h+11>>0]|0)>=0){SU(g);l=i;return}l0a(c[h>>2]|0);SU(g);l=i;return}function nma(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;if(!((d|0)!=0?(e=c[d+80>>2]|0,(e|0)!=0):0))e=c[a+12>>2]|0;if((e|0)!=2)return;d=c[a+16>>2]|0;if(!d)return;a=b+16|0;e=c[a>>2]|0;if(!e)return;if(!(y1a(e,42800,43184,0)|0))return;d=gk[c[(c[d>>2]|0)+200>>2]&1023](d)|0;b=(d|0)==0;if(!b){e=d+(c[(c[d>>2]|0)+-12>>2]|0)+8|0;c[e>>2]=(c[e>>2]|0)+1}e=c[a>>2]|0;if(!e)e=0;else e=y1a(e,42800,43184,0)|0;Jk[c[(c[e>>2]|0)+212>>2]&1023](e,d);if(b)return;e=d+(c[(c[d>>2]|0)+-12>>2]|0)|0;a=e+8|0;b=c[a>>2]|0;c[a>>2]=b-1;if((b|0)!=1)return;UU(e,1,1);return}function oma(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;u=l;l=l+48|0;s=u+36|0;t=u+24|0;g=u+20|0;r=u;t0a(t,e+12|0);o=c[e+24>>2]|0;h=(o|0)!=0;if(h?(i=c[o+72>>2]|0,(i|0)!=0):0)if((f|0)==8)n=49;else{m=1;n=5}else if((f|0)==8|(c[d+212>>2]|0)==0|h^1)n=49;else{m=0;i=0;n=5}if((n|0)==5)if(!(c[o+68>>2]&f))n=49;else{if(m){Sla(g,i,t,o);h=c[g>>2]|0;if(!h)n=9;else n=15}else{c[g>>2]=0;n=9}do if((n|0)==9){f=d+212|0;h=c[f>>2]|0;if(h|0){Sla(s,h,t,o);h=c[s>>2]|0;if((h|0?(c[g>>2]=h,j=h+8|0,c[j>>2]=(c[j>>2]|0)+1,j=c[s>>2]|0,j|0):0)?(h=j+8|0,n=c[h>>2]|0,c[h>>2]=n-1,(n|0)==1):0)UU(j,1,1);h=c[g>>2]|0;if(h|0){n=15;break}}pma(r,d,e);d=r+16|0;do if(!(c[d>>2]|0))if(ZQ(4)|0){o=mr(lr(4)|0,172097,26)|0;n=a[t+11>>0]|0;e=n<<24>>24<0;n=mr(o,e?c[t>>2]|0:t,e?c[t+4>>2]|0:n&255)|0;BSa(s,n+(c[(c[n>>2]|0)+-12>>2]|0)|0);e=cUa(s,230580)|0;e=kk[c[(c[e>>2]|0)+28>>2]&511](e,10)|0;dUa(s);VSa(n,e)|0;HSa(n)|0;n=37}else n=37;else{Sla(s,c[f>>2]|0,t,o);h=c[s>>2]|0;if((h|0?(c[g>>2]=h,k=h+8|0,c[k>>2]=(c[k>>2]|0)+1,k=c[s>>2]|0,k|0):0)?(j=k+8|0,n=c[j>>2]|0,c[j>>2]=n-1,(n|0)==1):0)UU(k,1,1);h=c[g>>2]|0;if(!h){if(m){qma(i,t,c[d>>2]|0,0.0,o);n=37;break}h=c[f>>2]|0;if(!h){n=37;break}qma(h,t,c[d>>2]|0,0.0,o);n=37;break}if(kk[c[(c[e>>2]|0)+20>>2]&511](e,h)|0){c[b>>2]=5;n=b+4|0;c[n>>2]=0;c[n+4>>2]=0;c[n+8>>2]=0;c[b+16>>2]=h;n=h+8|0;c[n>>2]=(c[n>>2]|0)+1;n=39;break};c[s>>2]=0;c[s+4>>2]=0;c[s+8>>2]=0;h=j0a(48)|0;c[s>>2]=h;c[s+8>>2]=-2147483600;c[s+4>>2]=42;i=h;f=172054;j=i+42|0;do{a[i>>0]=a[f>>0]|0;i=i+1|0;f=f+1|0}while((i|0)<(j|0));a[h+42>>0]=0;c[b>>2]=3;t0a(b+4|0,s);c[b+16>>2]=0;if((a[s+11>>0]|0)<0)l0a(c[s>>2]|0);n=39}while(0);if((n|0)==37?(c[b>>2]=c[r>>2],t0a(b+4|0,r+4|0),q=c[d>>2]|0,c[b+16>>2]=q,q|0):0){n=q+8|0;c[n>>2]=(c[n>>2]|0)+1;n=39}if(((n|0)==39?(p=c[d>>2]|0,p|0):0)?(s=p+8|0,b=c[s>>2]|0,c[s>>2]=b-1,(b|0)==1):0)UU(p,1,1);c[d>>2]=0;h=r+4|0;if((a[h+11>>0]|0)<0)l0a(c[h>>2]|0)}while(0);do if((n|0)==15){if(kk[c[(c[e>>2]|0)+20>>2]&511](e,h)|0){c[b>>2]=5;s=b+4|0;c[s>>2]=0;c[s+4>>2]=0;c[s+8>>2]=0;c[b+16>>2]=h;b=h+8|0;c[b>>2]=(c[b>>2]|0)+1;break};c[s>>2]=0;c[s+4>>2]=0;c[s+8>>2]=0;h=j0a(48)|0;c[s>>2]=h;c[s+8>>2]=-2147483600;c[s+4>>2]=42;i=h;f=172054;j=i+42|0;do{a[i>>0]=a[f>>0]|0;i=i+1|0;f=f+1|0}while((i|0)<(j|0));a[h+42>>0]=0;c[b>>2]=3;t0a(b+4|0,s);c[b+16>>2]=0;if((a[s+11>>0]|0)<0)l0a(c[s>>2]|0)}while(0);h=c[g>>2]|0;if(h|0?(s=h+8|0,b=c[s>>2]|0,c[s>>2]=b-1,(b|0)==1):0)UU(h,1,1);c[g>>2]=0}if((n|0)==49)pma(b,d,e);if((a[t+11>>0]|0)>=0){l=u;return}l0a(c[t>>2]|0);l=u;return}function pma(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0;Y=l;l=l+96|0;T=Y;X=Y+84|0;U=Y+64|0;V=Y+44|0;W=Y+32|0;S=Y+20|0;g=c[e+224>>2]|0;s=e+228|0;a:do if((g|0)==(c[s>>2]|0)){t=b+4|0;w=b;x=t;u=t+11|0;P=b+16|0}else{t=f+12|0;v=t+11|0;w=T+11|0;x=T+4|0;y=f+16|0;A=X+11|0;B=X+4|0;C=T+11|0;D=T+4|0;E=U+11|0;F=U+4|0;G=f+24|0;P=b+16|0;H=V+11|0;I=V+4|0;J=T+4|0;K=(T|0)==(b|0);L=T+16|0;M=T+4|0;O=b+4|0;N=M+11|0;u=O+11|0;while(1){f1a(X,213063,g);uma(T,X,47);h=a[v>>0]|0;i=h<<24>>24<0;j=i?c[t>>2]|0:t;n=a[w>>0]|0;q=n<<24>>24<0;r=c[T>>2]|0;m=q?r:T;n=q?c[x>>2]|0:n&255;if(!n)h=0;else{i=i?c[y>>2]|0:h&255;o=j+i|0;h=o;p=j;b:do if((i|0)<(n|0))i=o;else{k=d[m>>0]|0;while(1){i=i-n+1|0;if(!i){i=o;break b}j=aOa(j,k,i)|0;if(!j){i=o;break b}if(!(cOa(j,m,n)|0))break;j=j+1|0;i=h-j|0;if((i|0)<(n|0)){i=o;break b}}i=j;h=j}while(0);h=(i|0)==(o|0)?-1:h-p|0}if(q)l0a(r);if((h|0)==-1){uma(T,X,92);h=a[v>>0]|0;i=h<<24>>24<0;j=i?c[t>>2]|0:t;n=a[C>>0]|0;q=n<<24>>24<0;r=c[T>>2]|0;m=q?r:T;n=q?c[D>>2]|0:n&255;if(!n)h=0;else{i=i?c[y>>2]|0:h&255;o=j+i|0;h=o;p=j;c:do if((i|0)<(n|0))i=o;else{k=d[m>>0]|0;while(1){i=i-n+1|0;if(!i){i=o;break c}j=aOa(j,k,i)|0;if(!j){i=o;break c}if(!(cOa(j,m,n)|0))break;j=j+1|0;i=h-j|0;if((i|0)<(n|0)){i=o;break c}}i=j;h=j}while(0);h=(i|0)==(o|0)?-1:h-p|0}if(q)l0a(r);if((h|0)==-1)Q=82;else Q=29}else Q=29;if((Q|0)==29){Q=0;r=a[A>>0]|0;r=(r<<24>>24<0?c[B>>2]|0:r&255)+h|0;x0a(U,t,0,r,t);x0a(V,t,r+1|0,-1,t);if(ZQ(4)|0){p=mr(lr(4)|0,172361,19)|0;r=a[v>>0]|0;q=r<<24>>24<0;r=mr(p,q?c[t>>2]|0:t,q?c[y>>2]|0:r&255)|0;BSa(T,r+(c[(c[r>>2]|0)+-12>>2]|0)|0);q=cUa(T,230580)|0;q=kk[c[(c[q>>2]|0)+28>>2]&511](q,10)|0;dUa(T);VSa(r,q)|0;HSa(r)|0}if(ZQ(4)|0){p=mr(lr(4)|0,172381,19)|0;r=a[E>>0]|0;q=r<<24>>24<0;r=mr(p,q?c[U>>2]|0:U,q?c[F>>2]|0:r&255)|0;BSa(T,r+(c[(c[r>>2]|0)+-12>>2]|0)|0);q=cUa(T,230580)|0;q=kk[c[(c[q>>2]|0)+28>>2]&511](q,10)|0;dUa(T);VSa(r,q)|0;HSa(r)|0}if(ZQ(4)|0){p=mr(lr(4)|0,172401,20)|0;r=a[H>>0]|0;q=r<<24>>24<0;r=mr(p,q?c[V>>2]|0:V,q?c[I>>2]|0:r&255)|0;BSa(T,r+(c[(c[r>>2]|0)+-12>>2]|0)|0);q=cUa(T,230580)|0;q=kk[c[(c[q>>2]|0)+28>>2]&511](q,10)|0;dUa(T);VSa(r,q)|0;HSa(r)|0}vma(b,e,U,0,4096,c[G>>2]|0);h=c[P>>2]|0;do if((h|0)!=0?(z=y1a(h,42800,56464,0)|0,(z|0)!=0):0){h=c[G>>2]|0;if(!h){h=j0a(148)|0;Uha(h,1);i=h+12|0;c[i>>2]=0;c[i+4>>2]=0;c[i+8>>2]=0;c[h+24>>2]=2;c[h+28>>2]=0;c[h>>2]=97304;i=h+68|0;j=h+32|0;k=j+36|0;do{c[j>>2]=0;j=j+4|0}while((j|0)<(k|0));c[i>>2]=8;k=h+72|0;j=h+92|0;c[j>>2]=0;c[h+96>>2]=0;c[k>>2]=0;c[k+4>>2]=0;c[k+8>>2]=0;c[k+12>>2]=0;c[h+88>>2]=j;j=h+104|0;c[j>>2]=0;c[h+108>>2]=0;c[h+100>>2]=j;j=h+112|0;k=j+36|0;do{c[j>>2]=0;j=j+4|0}while((j|0)<(k|0));r=h+8|0;c[r>>2]=(c[r>>2]|0)+1;r=h;i=0}else{c[T>>2]=71296;c[J>>2]=0;h=kk[c[(c[h>>2]|0)+16>>2]&511](h,T)|0;i=(h|0)==0;if(!i){r=h+8|0;c[r>>2]=(c[r>>2]|0)+1}r=h}m=r+44|0;wma(m);o=r+52|0;j=c[o>>2]|0;p=r+48|0;h=c[p>>2]|0;Z=j-h|0;n=r+60|0;q=r+64|0;k=(c[q>>2]|0)+(c[n>>2]|0)|0;if((((Z|0)==0?0:((Z>>2)*341|0)+-1|0)|0)==(k|0)){xma(m);k=(c[n>>2]|0)+(c[q>>2]|0)|0;j=c[o>>2]|0;h=c[p>>2]|0}if((j|0)==(h|0))h=0;else{Z=(k>>>0)/341|0;h=(c[h+(Z<<2)>>2]|0)+((k-(Z*341|0)|0)*12|0)|0}t0a(h,U);c[q>>2]=(c[q>>2]|0)+1;k=lk[c[(c[f>>2]|0)+24>>2]&127](f,V,r)|0;if(k|0){Z=k+8|0;c[Z>>2]=(c[Z>>2]|0)+1}Nk[c[(c[k>>2]|0)+12>>2]&255](T,k,z);do if(!K){c[b>>2]=c[T>>2];z0a(O,M)|0;j=c[P>>2]|0;h=c[L>>2]|0;if((j|0)!=(h|0)){c[P>>2]=h;if(h|0){Z=h+8|0;c[Z>>2]=(c[Z>>2]|0)+1}if(!j){Q=55;break}Q=j+8|0;Z=c[Q>>2]|0;c[Q>>2]=Z-1;if((Z|0)!=1){Q=55;break}UU(j,1,1);Q=55}}else Q=55;while(0);if((Q|0)==55){Q=0;h=c[L>>2]|0}do if(h|0){q=h+8|0;Z=c[q>>2]|0;c[q>>2]=Z-1;if((Z|0)!=1)break;UU(h,1,1)}while(0);c[L>>2]=0;if((a[N>>0]|0)<0)l0a(c[M>>2]|0);Z=kk[c[(c[k>>2]|0)+16>>2]&511](k,b)|0;h=ZQ(4)|0;do if(Z){if(!h){h=1;j=1;break}h=mr(lr(4)|0,172422,24)|0;BSa(T,h+(c[(c[h>>2]|0)+-12>>2]|0)|0);j=cUa(T,230580)|0;j=kk[c[(c[j>>2]|0)+28>>2]&511](j,10)|0;dUa(T);VSa(h,j)|0;HSa(h)|0;h=1;j=1}else{if(!h){h=0;j=0;break}h=mr(lr(4)|0,172447,34)|0;BSa(T,h+(c[(c[h>>2]|0)+-12>>2]|0)|0);j=cUa(T,230580)|0;j=kk[c[(c[j>>2]|0)+28>>2]&511](j,10)|0;dUa(T);VSa(h,j)|0;HSa(h)|0;h=0;j=0}while(0);q=k+8|0;Z=c[q>>2]|0;c[q>>2]=Z-1;if((Z|0)==1)UU(k,1,1);do if(!i){q=r+8|0;Z=c[q>>2]|0;c[q>>2]=Z-1;if((Z|0)!=1)break;UU(r,1,1)}while(0);if(j)break;i=c[P>>2]|0;do if(i|0){r=i+8|0;Z=c[r>>2]|0;c[r>>2]=Z-1;if((Z|0)!=1)break;UU(i,1,1)}while(0);c[P>>2]=0;if((a[u>>0]|0)>=0)break;l0a(c[O>>2]|0)}else h=1;while(0);if((a[H>>0]|0)<0)l0a(c[V>>2]|0);if((a[E>>0]|0)<0)l0a(c[U>>2]|0);if(!h)Q=82;else h=1}if((Q|0)==82){Q=0;h=0}if((a[A>>0]|0)<0)l0a(c[X>>2]|0);g=g+12|0;if(h|0)break;if((g|0)==(c[s>>2]|0)){w=b;x=O;t=O;break a}}l=Y;return}while(0);c[X>>2]=0;y=X+4|0;c[y>>2]=0;r=X+8|0;c[r>>2]=0;n=e+60|0;c[U>>2]=e+72;s=U+4|0;c[s>>2]=n;c[U+12>>2]=0;c[U+16>>2]=0;v=U+12|0;c[U+8>>2]=v;while(1){gk[c[(c[n>>2]|0)+8>>2]&1023](n)|0;k=c[U>>2]|0;g=c[k>>2]|0;k=c[k+4>>2]|0;d:do if((g|0)==(k|0))g=0;else{m=c[v>>2]|0;if(!m){g=c[g>>2]|0;break}j=g;while(1){g=c[j>>2]|0;h=v;i=m;do{Z=(c[i+16>>2]|0)>>>0<g>>>0;h=Z?h:i;i=c[(Z?i+4|0:i)>>2]|0}while((i|0)!=0);if((h|0)==(v|0))break d;j=j+4|0;if(g>>>0<(c[h+16>>2]|0)>>>0)break d;if((j|0)==(k|0)){g=0;break}}}while(0);gk[c[(c[n>>2]|0)+12>>2]&1023](n)|0;if(!g){Q=118;break}n=c[(c[f>>2]|0)+12>>2]|0;o=c[s>>2]|0;gk[c[(c[o>>2]|0)+8>>2]&1023](o)|0;k=c[U>>2]|0;g=c[k>>2]|0;k=c[k+4>>2]|0;e:do if((g|0)==(k|0))g=0;else{m=c[v>>2]|0;if(!m){g=c[g>>2]|0;break}j=g;while(1){g=c[j>>2]|0;h=v;i=m;do{Z=(c[i+16>>2]|0)>>>0<g>>>0;h=Z?h:i;i=c[(Z?i+4|0:i)>>2]|0}while((i|0)!=0);if((h|0)==(v|0))break e;j=j+4|0;if(g>>>0<(c[h+16>>2]|0)>>>0)break e;if((j|0)==(k|0)){g=0;break}}}while(0);gk[c[(c[o>>2]|0)+12>>2]&1023](o)|0;Nk[n&255](b,f,g);if(kk[c[(c[f>>2]|0)+16>>2]&511](f,b)|0)break;g=c[y>>2]|0;if((g|0)==(c[r>>2]|0))yma(X,b);else{c[g>>2]=c[w>>2];t0a(g+4|0,x);h=c[P>>2]|0;c[g+16>>2]=h;if(h|0){Z=h+8|0;c[Z>>2]=(c[Z>>2]|0)+1}c[y>>2]=(c[y>>2]|0)+20}g=c[P>>2]|0;if(g|0?(O=g+8|0,Z=c[O>>2]|0,c[O>>2]=Z-1,(Z|0)==1):0)UU(g,1,1);c[P>>2]=0;if((a[u>>0]|0)<0)l0a(c[t>>2]|0);zma(U);n=c[s>>2]|0}if((Q|0)==118){n=e+108|0;c[V>>2]=e+120;p=V+4|0;c[p>>2]=n;c[V+12>>2]=0;c[V+16>>2]=0;q=V+12|0;c[V+8>>2]=q;while(1){gk[c[(c[n>>2]|0)+8>>2]&1023](n)|0;k=c[V>>2]|0;g=c[k>>2]|0;k=k+4|0;f:do if((g|0)==(k|0))g=0;else{m=c[q>>2]|0;if(!m){g=c[g+28>>2]|0;break}j=g;while(1){g=c[j+28>>2]|0;h=q;i=m;do{Z=(c[i+16>>2]|0)>>>0<g>>>0;h=Z?h:i;i=c[(Z?i+4|0:i)>>2]|0}while((i|0)!=0);if((h|0)==(q|0))break f;if(g>>>0<(c[h+16>>2]|0)>>>0)break f;g=c[j+4>>2]|0;if(!g){h=j+8|0;g=c[h>>2]|0;if((c[g>>2]|0)!=(j|0))do{Z=c[h>>2]|0;h=Z+8|0;g=c[h>>2]|0}while((c[g>>2]|0)!=(Z|0))}else while(1){h=c[g>>2]|0;if(!h)break;else g=h}if((g|0)==(k|0)){g=0;break}else j=g}}while(0);gk[c[(c[n>>2]|0)+12>>2]&1023](n)|0;if(!g){Q=165;break}n=c[(c[f>>2]|0)+12>>2]|0;o=c[p>>2]|0;gk[c[(c[o>>2]|0)+8>>2]&1023](o)|0;k=c[V>>2]|0;g=c[k>>2]|0;k=k+4|0;g:do if((g|0)==(k|0))g=0;else{m=c[q>>2]|0;if(!m){g=c[g+28>>2]|0;break}j=g;while(1){g=c[j+28>>2]|0;h=q;i=m;do{Z=(c[i+16>>2]|0)>>>0<g>>>0;h=Z?h:i;i=c[(Z?i+4|0:i)>>2]|0}while((i|0)!=0);if((h|0)==(q|0))break g;if(g>>>0<(c[h+16>>2]|0)>>>0)break g;g=c[j+4>>2]|0;if(!g){h=j+8|0;g=c[h>>2]|0;if((c[g>>2]|0)!=(j|0))do{Z=c[h>>2]|0;h=Z+8|0;g=c[h>>2]|0}while((c[g>>2]|0)!=(Z|0))}else while(1){h=c[g>>2]|0;if(!h)break;else g=h}if((g|0)==(k|0)){g=0;break}else j=g}}while(0);gk[c[(c[o>>2]|0)+12>>2]&1023](o)|0;Nk[n&255](b,f,g);if(kk[c[(c[f>>2]|0)+16>>2]&511](f,b)|0)break;g=c[w>>2]|0;do if((g|0)!=2){h=c[y>>2]|0;if((h|0)==(c[r>>2]|0)){yma(X,b);break}c[h>>2]=g;t0a(h+4|0,x);g=c[P>>2]|0;c[h+16>>2]=g;if(g|0){Z=g+8|0;c[Z>>2]=(c[Z>>2]|0)+1}c[y>>2]=(c[y>>2]|0)+20}while(0);g=c[P>>2]|0;if(g|0?(O=g+8|0,Z=c[O>>2]|0,c[O>>2]=Z-1,(Z|0)==1):0)UU(g,1,1);c[P>>2]=0;if((a[u>>0]|0)<0)l0a(c[t>>2]|0);Ama(V);n=c[p>>2]|0}if((Q|0)==165){p=f+12|0;Bma(T,p);Cma(W,e,T);if((a[T+11>>0]|0)<0)l0a(c[T>>2]|0);h:do if(!(Dma(e,W)|0))Q=200;else while(1){n=c[s>>2]|0;gk[c[(c[n>>2]|0)+8>>2]&1023](n)|0;k=c[U>>2]|0;g=c[k>>2]|0;k=c[k+4>>2]|0;i:do if((g|0)==(k|0))g=0;else{m=c[v>>2]|0;if(!m){g=c[g>>2]|0;break}j=g;while(1){g=c[j>>2]|0;h=v;i=m;do{Z=(c[i+16>>2]|0)>>>0<g>>>0;h=Z?h:i;i=c[(Z?i+4|0:i)>>2]|0}while((i|0)!=0);if((h|0)==(v|0))break i;j=j+4|0;if(g>>>0<(c[h+16>>2]|0)>>>0)break i;if((j|0)==(k|0)){g=0;break}}}while(0);gk[c[(c[n>>2]|0)+12>>2]&1023](n)|0;if(!g){Q=200;break h}n=c[(c[f>>2]|0)+12>>2]|0;o=c[s>>2]|0;gk[c[(c[o>>2]|0)+8>>2]&1023](o)|0;k=c[U>>2]|0;g=c[k>>2]|0;k=c[k+4>>2]|0;j:do if((g|0)==(k|0))g=0;else{m=c[v>>2]|0;if(!m){g=c[g>>2]|0;break}j=g;while(1){g=c[j>>2]|0;h=v;i=m;do{Z=(c[i+16>>2]|0)>>>0<g>>>0;h=Z?h:i;i=c[(Z?i+4|0:i)>>2]|0}while((i|0)!=0);if((h|0)==(v|0))break j;j=j+4|0;if(g>>>0<(c[h+16>>2]|0)>>>0)break j;if((j|0)==(k|0)){g=0;break}}}while(0);gk[c[(c[o>>2]|0)+12>>2]&1023](o)|0;Nk[n&255](b,f,g);if(kk[c[(c[f>>2]|0)+16>>2]&511](f,b)|0)break h;g=c[y>>2]|0;if((g|0)==(c[r>>2]|0))yma(X,b);else{c[g>>2]=c[w>>2];t0a(g+4|0,x);h=c[P>>2]|0;c[g+16>>2]=h;if(h|0){Z=h+8|0;c[Z>>2]=(c[Z>>2]|0)+1}c[y>>2]=(c[y>>2]|0)+20}g=c[P>>2]|0;if(g|0?(O=g+8|0,Z=c[O>>2]|0,c[O>>2]=Z-1,(Z|0)==1):0)UU(g,1,1);c[P>>2]=0;if((a[u>>0]|0)<0)l0a(c[t>>2]|0);zma(U)}while(0);do if((Q|0)==200){if(!(Ema(p)|0)){g=c[X>>2]|0;h=c[y>>2]|0;if((g|0)==(h|0)){f1a(S,172539,p);Z=J0a(S,172589)|0;c[T>>2]=c[Z>>2];c[T+4>>2]=c[Z+4>>2];c[T+8>>2]=c[Z+8>>2];c[Z>>2]=0;c[Z+4>>2]=0;c[Z+8>>2]=0;c[w>>2]=3;t0a(x,T);c[P>>2]=0;if((a[T+11>>0]|0)<0)l0a(c[T>>2]|0);if((a[S+11>>0]|0)<0)l0a(c[S>>2]|0);break}Gma(g,h,T);g=c[y>>2]|0;c[T>>2]=c[g+-20>>2];h=T+4|0;t0a(h,g+-16|0);i=T+16|0;g=c[g+-4>>2]|0;c[i>>2]=g;if(g|0){Z=g+8|0;c[Z>>2]=(c[Z>>2]|0)+1}c[w>>2]=c[T>>2];t0a(x,h);g=c[i>>2]|0;c[P>>2]=g;if((g|0?(R=g+8|0,c[R>>2]=(c[R>>2]|0)+1,R=c[i>>2]|0,R|0):0)?(T=R+8|0,Z=c[T>>2]|0,c[T>>2]=Z-1,(Z|0)==1):0)UU(R,1,1);c[i>>2]=0;if((a[h+11>>0]|0)<0)l0a(c[h>>2]|0);break}h=a[p+11>>0]|0;k=h<<24>>24<0;g=k?c[p>>2]|0:p;h=k?c[f+16>>2]|0:h&255;k=g+h|0;i=k;j=g;k:do if((h|0)>=3){while(1){h=h+-2|0;if(!h){Q=209;break k}h=aOa(g,58,h)|0;if(!h){Q=209;break k}if(!(cOa(h,172482,3)|0))break;g=h+1|0;h=i-g|0;if((h|0)<3){Q=209;break k}}g=h-j|0;if(!((h|0)==(k|0)|(g|0)==-1))x0a(T,p,0,g,p);else Q=209}else Q=209;while(0);if((Q|0)==209){c[T>>2]=0;c[T+4>>2]=0;c[T+8>>2]=0}Bma(S,p);g=Fma(e,T,S)|0;if((a[S+11>>0]|0)<0)l0a(c[S>>2]|0);if((a[T+11>>0]|0)<0)l0a(c[T>>2]|0);if(g|0){Nk[c[(c[f>>2]|0)+12>>2]&255](b,f,g);break};c[T>>2]=0;c[T+4>>2]=0;c[T+8>>2]=0;g=j0a(64)|0;c[T>>2]=g;c[T+8>>2]=-2147483584;c[T+4>>2]=52;j=g;h=172486;k=j+52|0;do{a[j>>0]=a[h>>0]|0;j=j+1|0;h=h+1|0}while((j|0)<(k|0));a[g+52>>0]=0;c[w>>2]=3;t0a(x,T);c[P>>2]=0;if((a[T+11>>0]|0)<0)l0a(c[T>>2]|0)}while(0);if((a[W+11>>0]|0)<0)l0a(c[W>>2]|0)}Hma(V+8|0,c[q>>2]|0)}Ima(U+8|0,c[v>>2]|0);j=c[X>>2]|0;if(j|0){g=c[y>>2]|0;if((g|0)==(j|0))g=j;else{do{h=g+-4|0;i=c[h>>2]|0;if(i|0?(W=i+8|0,Z=c[W>>2]|0,c[W>>2]=Z-1,(Z|0)==1):0)UU(i,1,1);c[h>>2]=0;h=g+-16|0;g=g+-20|0;if((a[h+11>>0]|0)<0)l0a(c[h>>2]|0)}while((g|0)!=(j|0));g=c[X>>2]|0}c[y>>2]=j;l0a(g)}l=Y;return}function qma(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=+f;g=g|0;var i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;u=l;l=l+64|0;s=u+40|0;t=u+24|0;p=u+8|0;i=u;if(!e){l=u;return}r=b+24|0;gk[c[(c[r>>2]|0)+8>>2]&1023](r)|0;o=e+8|0;c[o>>2]=(c[o>>2]|0)+1;q=(g|0)!=0;if(q){c[i>>2]=71296;c[i+4>>2]=0;n=1;i=rma(g,i)|0}else{n=0;i=0}t0a(p,d);m=p+12|0;c[m>>2]=i;if(i|0){k=i+8|0;c[k>>2]=(c[k>>2]|0)+1}c[t>>2]=p;sma(s,b+12|0,p,231024,t,u+48|0);i=c[s>>2]|0;j=i+32|0;k=c[j>>2]|0;if(((k|0)!=(e|0)?(c[j>>2]=e,c[o>>2]=(c[o>>2]|0)+1,k|0):0)?(v=k+8|0,j=c[v>>2]|0,c[v>>2]=j-1,(j|0)==1):0)UU(k,1,1);h[i+40>>3]=f;i=c[m>>2]|0;if(i|0?(k=i+8|0,v=c[k>>2]|0,c[k>>2]=v-1,(v|0)==1):0)UU(i,1,1);c[m>>2]=0;if((a[p+11>>0]|0)<0)l0a(c[p>>2]|0);v=c[o>>2]|0;c[o>>2]=v-1;if((v|0)==1)UU(e,1,1);if(ZQ(5)|0){p=mr(lr(5)|0,172124,7)|0;m=a[d+11>>0]|0;v=m<<24>>24<0;m=mr(mr(p,v?c[d>>2]|0:d,v?c[d+4>>2]|0:m&255)|0,172132,15)|0;if(q){t0a(t,g+32|0);j=t+11|0;i=j;j=a[j>>0]|0;k=c[t+4>>2]|0}else{c[t>>2]=0;c[t+4>>2]=0;c[t+8>>2]=0;i=t+11|0;j=0;k=0}v=j<<24>>24<0;v=USa(mr(mr(m,v?c[t>>2]|0:t,v?k:j&255)|0,172148,17)|0,b)|0;BSa(s,v+(c[(c[v>>2]|0)+-12>>2]|0)|0);b=cUa(s,230580)|0;b=kk[c[(c[b>>2]|0)+28>>2]&511](b,10)|0;dUa(s);VSa(v,b)|0;HSa(v)|0;if((a[i>>0]|0)<0)l0a(c[t>>2]|0)}gk[c[(c[r>>2]|0)+12>>2]&1023](r)|0;l=u;return}function rma(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;f=l;l=l+16|0;e=f;if(!a){if(!(ZQ(2)|0)){e=0;l=f;return e|0}d=mr(lr(2)|0,172255,88)|0;BSa(e,d+(c[(c[d>>2]|0)+-12>>2]|0)|0);b=cUa(e,230580)|0;b=kk[c[(c[b>>2]|0)+28>>2]&511](b,10)|0;dUa(e);VSa(d,b)|0;HSa(d)|0;e=0;l=f;return e|0}a=kk[c[(c[a>>2]|0)+16>>2]&511](a,b)|0;b=(a|0)==0;if(!b?(d=a+8|0,c[d>>2]=(c[d>>2]|0)+1,d=y1a(a,42800,57712,0)|0,d|0):0){Wha(a)|0;e=d;l=f;return e|0}if(ZQ(2)|0){d=mr(lr(2)|0,172166,88)|0;BSa(e,d+(c[(c[d>>2]|0)+-12>>2]|0)|0);g=cUa(e,230580)|0;g=kk[c[(c[g>>2]|0)+28>>2]&511](g,10)|0;dUa(e);VSa(d,g)|0;HSa(d)|0}if(b){g=0;l=f;return g|0}e=a+8|0;g=c[e>>2]|0;c[e>>2]=g-1;if((g|0)!=1){g=0;l=f;return g|0}UU(a,1,1);g=0;l=f;return g|0}function sma(b,d,e,f,g,i){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;i=i|0;var j=0,k=0;i=d+4|0;f=c[i>>2]|0;do if(f){j=d+4|0;while(1){i=f+16|0;if(tma(0,e,i)|0){i=c[f>>2]|0;if(!i){i=5;break}else{j=f;f=i}}else{if(!(tma(0,i,e)|0)){i=9;break}j=f+4|0;i=c[j>>2]|0;if(!i){i=8;break}else f=i}}if((i|0)==5){e=f;j=f;break}else if((i|0)==8){e=f;break}else if((i|0)==9){e=f;break}}else{e=i;j=i}while(0);f=c[j>>2]|0;if(f|0){d=f;g=0;c[b>>2]=d;d=b+4|0;a[d>>0]=g;return}i=j0a(48)|0;k=i+16|0;f=c[g>>2]|0;c[k>>2]=c[f>>2];c[k+4>>2]=c[f+4>>2];c[k+8>>2]=c[f+8>>2];c[f>>2]=0;c[f+4>>2]=0;c[f+8>>2]=0;f=c[f+12>>2]|0;c[i+28>>2]=f;if(f|0){k=f+8|0;c[k>>2]=(c[k>>2]|0)+1}c[i+32>>2]=0;h[i+40>>3]=0.0;c[i>>2]=0;c[i+4>>2]=0;c[i+8>>2]=e;c[j>>2]=i;f=c[c[d>>2]>>2]|0;if(!f)f=i;else{c[d>>2]=f;f=c[j>>2]|0}fp(c[d+4>>2]|0,f);k=d+8|0;c[k>>2]=(c[k>>2]|0)+1;k=i;d=1;c[b>>2]=k;k=b+4|0;a[k>>0]=d;return}function tma(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;j=a[e+11>>0]|0;i=j<<24>>24<0;j=i?c[e+4>>2]|0:j&255;b=a[d+11>>0]|0;k=b<<24>>24<0;b=k?c[d+4>>2]|0:b&255;o=j>>>0<b>>>0;n=o?j:b;g=(n|0)==0;if(!g?(m=k?c[d>>2]|0:d,h=i?c[e>>2]|0:e,l=cOa(m,h,n)|0,(l|0)!=0):0)if((l|0)<0){e=1;return e|0}else{b=m;g=7}else{if(b>>>0<j>>>0){e=1;return e|0}if(g)g=8;else{h=i?c[e>>2]|0:e;b=k?c[d>>2]|0:d;g=7}}if((g|0)==7){b=cOa(h,b,n)|0;if(b){if((b|0)<0){e=0;return e|0}}else g=8}if((g|0)==8?o:0){e=0;return e|0}g=c[d+12>>2]|0;b=c[e+12>>2]|0;if((g|0)==(b|0)){e=0;return e|0}if(!((g|0)!=0&(b|0)!=0)){e=g>>>0<b>>>0;return e|0}h=g+32|0;k=b+32|0;j=a[k+11>>0]|0;l=j<<24>>24<0;j=l?c[b+36>>2]|0:j&255;b=a[h+11>>0]|0;if(b<<24>>24<0){i=c[g+36>>2]|0;h=c[h>>2]|0}else i=b&255;g=j>>>0<i>>>0;b=g?j:i;if(!((b|0)!=0?(f=cOa(h,l?c[k>>2]|0:k,b)|0,(f|0)!=0):0))f=i>>>0<j>>>0?-1:g&1;e=(f|0)<0;return e|0}function uma(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;g=a[d+11>>0]|0;f=g<<24>>24<0;g=f?c[d+4>>2]|0:g&255;f=f?c[d>>2]|0:d;d=g+1|0;if(d>>>0>4294967279)r0a(b);if(d>>>0<11){a[b+11>>0]=g;if(!g){f=b;g=f+g|0;a[g>>0]=0;K0a(b,e);return}else d=b}else{h=g+17&-16;d=j0a(h)|0;c[b>>2]=d;c[b+8>>2]=h|-2147483648;c[b+4>>2]=g}x2a(d|0,f|0,g|0)|0;h=d;h=h+g|0;a[h>>0]=0;K0a(b,e);return}function vma(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,m=0,n=0,o=0,p=0;p=l;l=l+64|0;n=p+36|0;m=p;k=d+108|0;gk[c[(c[k>>2]|0)+8>>2]&1023](k)|0;j=bna(d+120|0,e)|0;if((j|0)!=(d+124|0)?(i=c[j+28>>2]|0,(i|0)!=0):0){j=i+8|0;c[j>>2]=(c[j>>2]|0)+1}else i=0;gk[c[(c[k>>2]|0)+12>>2]&1023](k)|0;if(i|0){c[b>>2]=4;o=b+4|0;c[o>>2]=0;c[o+4>>2]=0;c[o+8>>2]=0;c[b+16>>2]=i;o=i+8|0;c[o>>2]=(c[o>>2]|0)+1;b=c[o>>2]|0;c[o>>2]=b-1;if((b|0)!=1){l=p;return}UU(i,1,1);l=p;return}Tha(m);c[m>>2]=98124;i=m+12|0;t0a(i,e);c[m+24>>2]=h;c[m>>2]=98216;c[m+28>>2]=f;c[m+32>>2]=g;oma(n,d,m,8);c[m>>2]=98124;if((a[i+11>>0]|0)<0)l0a(c[i>>2]|0);SU(m);k=n+16|0;i=c[k>>2]|0;do if(i|0?y1a(i,42800,56464,0)|0:0){if(h|0?(c[h+68>>2]&8|0)==0:0)break;cna(d,e,y1a(i,42800,56464,0)|0)}while(0);c[b>>2]=c[n>>2];i=n+4|0;t0a(b+4|0,i);j=c[k>>2]|0;c[b+16>>2]=j;if((j|0?(o=j+8|0,c[o>>2]=(c[o>>2]|0)+1,o=c[k>>2]|0,o|0):0)?(n=o+8|0,b=c[n>>2]|0,c[n>>2]=b-1,(b|0)==1):0)UU(o,1,1);c[k>>2]=0;if((a[i+11>>0]|0)<0)l0a(c[i>>2]|0);l=p;return}function wma(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;k=b+4|0;h=c[k>>2]|0;l=b+16|0;f=c[l>>2]|0;g=(f>>>0)/341|0;e=h+(g<<2)|0;j=b+8|0;d=c[j>>2]|0;if((d|0)==(h|0)){g=0;i=0;b=b+20|0}else{b=b+20|0;m=(c[b>>2]|0)+f|0;i=(m>>>0)/341|0;g=(c[e>>2]|0)+((f-(g*341|0)|0)*12|0)|0;i=(c[h+(i<<2)>>2]|0)+((m-(i*341|0)|0)*12|0)|0}f=g;if((i|0)==(f|0)){g=j;f=h;e=h}else{d=g;do{if((a[d+11>>0]|0)<0)l0a(c[f>>2]|0);d=f+12|0;if((d-(c[e>>2]|0)|0)==4092){d=e+4|0;e=d;d=c[d>>2]|0}f=d}while((i|0)!=(f|0));e=c[k>>2]|0;g=j;f=e;d=c[j>>2]|0}c[b>>2]=0;d=d-f>>2;if(d>>>0>2)do{l0a(c[e>>2]|0);e=(c[k>>2]|0)+4|0;c[k>>2]=e;d=(c[g>>2]|0)-e>>2}while(d>>>0>2);switch(d|0){case 1:{d=170;break}case 2:{d=341;break}default:return}c[l>>2]=d;return}function xma(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=l;l=l+32|0;k=s+4|0;g=s;b=a+16|0;d=c[b>>2]|0;if(d>>>0>340){c[b>>2]=d+-341;p=a+4|0;n=c[p>>2]|0;r=c[n>>2]|0;n=n+4|0;c[p>>2]=n;q=a+8|0;b=c[q>>2]|0;o=a+12|0;m=c[o>>2]|0;e=m;do if((b|0)==(m|0)){i=n;d=c[a>>2]|0;f=d;if(n>>>0>d>>>0){e=((i-f>>2)+1|0)/-2|0;f=n+(e<<2)|0;d=b-i|0;if(!d)b=f;else{y2a(f|0,n|0,d|0)|0;b=(c[p>>2]|0)+(e<<2)|0}a=f+(d>>2<<2)|0;c[q>>2]=a;c[p>>2]=b;b=a;break}f=e-f|0;f=(f|0)==0?1:f>>1;g=f>>>2;do if(f)if(f>>>0>1073741823){s=db(8)|0;p0a(s,183738);c[s>>2]=110936;hb(s|0,65952,1066)}else{h=j0a(f<<2)|0;break}else h=0;while(0);k=h;e=h+(g<<2)|0;m=e;j=h+(f<<2)|0;if((n|0)==(b|0))b=m;else{f=((b+-4-i|0)>>>2)+1|0;d=n;while(1){c[e>>2]=c[d>>2];d=d+4|0;if((d|0)==(b|0))break;else e=e+4|0}b=h+(f+g<<2)|0;d=c[a>>2]|0}c[a>>2]=k;c[p>>2]=m;c[q>>2]=b;c[o>>2]=j;if(d){l0a(d);b=c[q>>2]|0}}while(0);c[b>>2]=r;c[q>>2]=(c[q>>2]|0)+4;l=s;return}r=a+8|0;b=c[r>>2]|0;q=a+4|0;f=b-(c[q>>2]|0)>>2;p=a+12|0;d=c[p>>2]|0;e=d-(c[a>>2]|0)|0;if(f>>>0>=e>>2>>>0){b=(e|0)==0?1:e>>1;i=k+12|0;c[i>>2]=0;c[k+16>>2]=a+12;do if(b)if(b>>>0>1073741823){s=db(8)|0;p0a(s,183738);c[s>>2]=110936;hb(s|0,65952,1066)}else{d=j0a(b<<2)|0;break}else d=0;while(0);c[k>>2]=d;o=d+(f<<2)|0;j=k+8|0;c[j>>2]=o;h=k+4|0;c[h>>2]=o;c[i>>2]=d+(b<<2);c[g>>2]=j0a(4092)|0;$ma(k,g);b=c[r>>2]|0;d=c[q>>2]|0;if((b|0)!=(d|0)){do{b=b+-4|0;ana(k,b);d=c[q>>2]|0}while((b|0)!=(d|0));b=c[r>>2]|0}e=d;f=c[a>>2]|0;c[a>>2]=c[k>>2];c[k>>2]=f;c[q>>2]=c[h>>2];c[h>>2]=e;c[r>>2]=c[j>>2];c[j>>2]=b;a=c[p>>2]|0;c[p>>2]=c[i>>2];c[i>>2]=a;if((d|0)!=(b|0))c[j>>2]=b+(~((b+-4-e|0)>>>2)<<2);if(f|0)l0a(f);l=s;return}if((d|0)!=(b|0)){c[k>>2]=j0a(4092)|0;Zma(a,k);l=s;return}c[k>>2]=j0a(4092)|0;_ma(a,k);n=c[q>>2]|0;o=c[n>>2]|0;n=n+4|0;c[q>>2]=n;b=c[r>>2]|0;m=c[p>>2]|0;e=m;do if((b|0)==(m|0)){j=n;d=c[a>>2]|0;f=d;if(n>>>0>d>>>0){e=((j-f>>2)+1|0)/-2|0;f=n+(e<<2)|0;d=b-j|0;if(!d)b=f;else{y2a(f|0,n|0,d|0)|0;b=(c[q>>2]|0)+(e<<2)|0}a=f+(d>>2<<2)|0;c[r>>2]=a;c[q>>2]=b;b=a;break}f=e-f|0;f=(f|0)==0?1:f>>1;g=f>>>2;do if(f)if(f>>>0>1073741823){s=db(8)|0;p0a(s,183738);c[s>>2]=110936;hb(s|0,65952,1066)}else{h=j0a(f<<2)|0;break}else h=0;while(0);k=h;e=h+(g<<2)|0;m=e;i=h+(f<<2)|0;if((n|0)==(b|0))b=m;else{f=((b+-4-j|0)>>>2)+1|0;d=n;while(1){c[e>>2]=c[d>>2];d=d+4|0;if((d|0)==(b|0))break;else e=e+4|0}b=h+(f+g<<2)|0;d=c[a>>2]|0}c[a>>2]=k;c[q>>2]=m;c[r>>2]=b;c[p>>2]=i;if(d){l0a(d);b=c[r>>2]|0}}while(0);c[b>>2]=o;c[r>>2]=(c[r>>2]|0)+4;l=s;return}function yma(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;m=b+4|0;e=c[b>>2]|0;h=((c[m>>2]|0)-e|0)/20|0;f=h+1|0;if(f>>>0>214748364)g1a(b);n=b+8|0;l=((c[n>>2]|0)-e|0)/20|0;e=l<<1;e=l>>>0<107374182?(e>>>0<f>>>0?f:e):214748364;do if(e)if(e>>>0>214748364){n=db(8)|0;p0a(n,183738);c[n>>2]=110936;hb(n|0,65952,1066)}else{f=j0a(e*20|0)|0;break}else f=0;while(0);g=f+(h*20|0)|0;i=g;l=f+(e*20|0)|0;c[g>>2]=c[d>>2];t0a(f+(h*20|0)+4|0,d+4|0);e=c[d+16>>2]|0;c[f+(h*20|0)+16>>2]=e;if(e|0){k=e+8|0;c[k>>2]=(c[k>>2]|0)+1}k=g+20|0;j=c[b>>2]|0;e=c[m>>2]|0;if((e|0)==(j|0)){e=i;h=j;g=j}else{d=i;while(1){f=e;e=e+-20|0;c[g+-20>>2]=c[e>>2];t0a(g+-16|0,f+-16|0);f=c[f+-4>>2]|0;c[g+-4>>2]=f;if(f|0){i=f+8|0;c[i>>2]=(c[i>>2]|0)+1}f=d+-20|0;if((e|0)==(j|0))break;else{d=f;g=f}}e=f;h=c[b>>2]|0;g=c[m>>2]|0}c[b>>2]=e;c[m>>2]=k;c[n>>2]=l;d=h;if((g|0)!=(d|0))do{e=g+-4|0;f=c[e>>2]|0;if(f|0?(m=f+8|0,n=c[m>>2]|0,c[m>>2]=n-1,(n|0)==1):0)UU(f,1,1);c[e>>2]=0;e=g+-16|0;g=g+-20|0;if((a[e+11>>0]|0)<0)l0a(c[e>>2]|0)}while((g|0)!=(d|0));if(!h)return;l0a(h);return}function zma(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;k=a+8|0;j=c[a+4>>2]|0;gk[c[(c[j>>2]|0)+8>>2]&1023](j)|0;g=c[a>>2]|0;b=c[g>>2]|0;g=c[g+4>>2]|0;a:do if((b|0)==(g|0))f=0;else{h=a+12|0;i=c[h>>2]|0;if(!i){f=c[b>>2]|0;break}while(1){f=c[b>>2]|0;d=h;e=i;do{l=(c[e+16>>2]|0)>>>0<f>>>0;d=l?d:e;e=c[(l?e+4|0:e)>>2]|0}while((e|0)!=0);if((d|0)==(h|0))break a;b=b+4|0;if(f>>>0<(c[d+16>>2]|0)>>>0)break a;if((b|0)==(g|0)){f=0;break}}}while(0);gk[c[(c[j>>2]|0)+12>>2]&1023](j)|0;g=f;d=a+12|0;b=c[d>>2]|0;do if(b){e=a+12|0;while(1){d=c[b+16>>2]|0;if(f>>>0<d>>>0){d=c[b>>2]|0;if(!d){d=14;break}else{e=b;b=d}}else{if(d>>>0>=f>>>0){d=18;break}e=b+4|0;d=c[e>>2]|0;if(!d){d=17;break}else b=d}}if((d|0)==14){f=b;e=b;break}else if((d|0)==17){f=b;break}else if((d|0)==18){f=b;break}}else{f=d;e=d}while(0);if(c[e>>2]|0)return;b=j0a(20)|0;c[b+16>>2]=g;c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=f;c[e>>2]=b;d=c[c[k>>2]>>2]|0;if(d){c[k>>2]=d;b=c[e>>2]|0}fp(c[a+12>>2]|0,b);l=a+16|0;c[l>>2]=(c[l>>2]|0)+1;return}function Ama(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;k=a+8|0;j=c[a+4>>2]|0;gk[c[(c[j>>2]|0)+8>>2]&1023](j)|0;i=c[a>>2]|0;b=c[i>>2]|0;i=i+4|0;a:do if((b|0)==(i|0))f=0;else{g=a+12|0;h=c[g>>2]|0;if(!h){f=c[b+28>>2]|0;break}f=b;while(1){e=c[f+28>>2]|0;b=g;d=h;do{l=(c[d+16>>2]|0)>>>0<e>>>0;b=l?b:d;d=c[(l?d+4|0:d)>>2]|0}while((d|0)!=0);if((b|0)==(g|0)){f=e;break a}if(e>>>0<(c[b+16>>2]|0)>>>0){f=e;break a}b=c[f+4>>2]|0;if(!b){d=f+8|0;b=c[d>>2]|0;if((c[b>>2]|0)!=(f|0))do{l=c[d>>2]|0;d=l+8|0;b=c[d>>2]|0}while((c[b>>2]|0)!=(l|0))}else while(1){d=c[b>>2]|0;if(!d)break;else b=d}if((b|0)==(i|0)){f=0;break}else f=b}}while(0);gk[c[(c[j>>2]|0)+12>>2]&1023](j)|0;g=f;d=a+12|0;b=c[d>>2]|0;do if(b){e=a+12|0;while(1){d=c[b+16>>2]|0;if(f>>>0<d>>>0){d=c[b>>2]|0;if(!d){d=21;break}else{e=b;b=d}}else{if(d>>>0>=f>>>0){d=25;break}e=b+4|0;d=c[e>>2]|0;if(!d){d=24;break}else b=d}}if((d|0)==21){f=b;e=b;break}else if((d|0)==24){f=b;break}else if((d|0)==25){f=b;break}}else{f=d;e=d}while(0);if(c[e>>2]|0)return;b=j0a(20)|0;c[b+16>>2]=g;c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=f;c[e>>2]=b;d=c[c[k>>2]>>2]|0;if(d){c[k>>2]=d;b=c[e>>2]|0}fp(c[a+12>>2]|0,b);l=a+16|0;c[l>>2]=(c[l>>2]|0)+1;return}function Bma(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;g=R0a(e,46,-1)|0;f=a[e+11>>0]|0;i=f<<24>>24<0;h=i?c[e>>2]|0:e;f=i?c[e+4>>2]|0:f&255;a:do if(!f)e=-1;else{e=h+f|0;while(1){e=e+-1|0;if(aOa(172847,d[e>>0]|0,2)|0)break;if((e|0)==(h|0)){e=-1;break a}}e=e-h|0}while(0);if((g|0)!=-1?!((e|0)!=-1&g>>>0<e>>>0):0){i=h+g+1|0;h=h+f|0;f=i;c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;e=h-f|0;if(e>>>0>4294967279)r0a(b);if(e>>>0<11)a[b+11>>0]=e;else{j=e+16&-16;g=j0a(j)|0;c[b>>2]=g;c[b+8>>2]=j|-2147483648;c[b+4>>2]=e;b=g}if((i|0)!=(h|0)){g=h+(0-f)|0;f=b;e=i;while(1){a[f>>0]=a[e>>0]|0;e=e+1|0;if((e|0)==(h|0))break;else f=f+1|0}b=b+g|0}a[b>>0]=0;return};c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;return}function Cma(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;v=l;l=l+80|0;u=v+60|0;p=v+48|0;q=v+36|0;r=v+24|0;s=v+12|0;o=v;c[u>>2]=0;c[u+4>>2]=0;c[u+8>>2]=0;g=e+11|0;n=a[g>>0]|0;f=n<<24>>24<0;h=e+4|0;if((f?c[h>>2]|0:n&255)|0){f=f?c[e>>2]|0:e;do{K0a(u,(hOa(a[f>>0]|0)|0)&255);f=f+1|0;n=a[g>>0]|0;m=n<<24>>24<0}while((f|0)!=((m?c[e>>2]|0:e)+(m?c[h>>2]|0:n&255)|0))}i=ul(d+136|0,u)|0;a:do if((i|0)==(d+140|0))t=15;else{n=i+28|0;g=a[g>>0]|0;m=g<<24>>24<0;g=g&255;k=m?c[h>>2]|0:g;j=a[n+11>>0]|0;f=j<<24>>24<0;do if((k|0)==((f?c[i+32>>2]|0:j&255)|0)){i=c[e>>2]|0;j=m?i:e;f=f?c[n>>2]|0:n;h=(k|0)==0;i=i&255;if(m){if(h){t=15;break a}if(!(cOa(j,f,k)|0)){t=15;break a}else break}if(h){t=15;break a}if((a[f>>0]|0)==i<<24>>24)do{g=g+-1|0;e=e+1|0;if(!g){t=15;break a}f=f+1|0}while((a[e>>0]|0)==(a[f>>0]|0))}while(0);Cma(b,d,n);f=u+11|0}while(0);if((t|0)==15){c[r>>2]=0;c[r+4>>2]=0;c[r+8>>2]=0;f=j0a(16)|0;c[r>>2]=f;c[r+8>>2]=-2147483632;c[r+4>>2]=11;g=f;e=172850;h=g+11|0;do{a[g>>0]=a[e>>0]|0;g=g+1|0;e=e+1|0}while((g|0)<(h|0));a[f+11>>0]=0;e=Sia()|0;c[s>>2]=0;c[s+4>>2]=0;c[s+8>>2]=0;h=VNa(e)|0;if(h>>>0>4294967279)r0a(s);if(h>>>0<11){f=s+11|0;a[f>>0]=h;if(!h)g=s;else{g=s;t=20}}else{f=h+16&-16;g=j0a(f)|0;c[s>>2]=g;c[s+8>>2]=f|-2147483648;c[s+4>>2]=h;f=s+11|0;t=20}if((t|0)==20)x2a(g|0,e|0,h|0)|0;a[g+h>>0]=0;t=a[f>>0]|0;d=t<<24>>24<0;t=I0a(r,d?c[s>>2]|0:s,d?c[s+4>>2]|0:t&255)|0;c[q>>2]=c[t>>2];c[q+4>>2]=c[t+4>>2];c[q+8>>2]=c[t+8>>2];c[t>>2]=0;c[t+4>>2]=0;c[t+8>>2]=0;c[o>>2]=0;c[o+4>>2]=0;c[o+8>>2]=0;t=o+11|0;a[t>>0]=1;a[o>>0]=47;a[o+1>>0]=0;d=I0a(q,o,1)|0;c[p>>2]=c[d>>2];c[p+4>>2]=c[d+4>>2];c[p+8>>2]=c[d+8>>2];c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;if((a[t>>0]|0)<0)l0a(c[o>>2]|0);if((a[q+11>>0]|0)<0)l0a(c[q>>2]|0);if((a[f>>0]|0)<0)l0a(c[s>>2]|0);if((a[r+11>>0]|0)<0)l0a(c[r>>2]|0);Yma(s,p,172862);f=u+11|0;t=a[f>>0]|0;o=t<<24>>24<0;t=I0a(s,o?c[u>>2]|0:u,o?c[u+4>>2]|0:t&255)|0;c[r>>2]=c[t>>2];c[r+4>>2]=c[t+4>>2];c[r+8>>2]=c[t+8>>2];c[t>>2]=0;c[t+4>>2]=0;c[t+8>>2]=0;t=J0a(r,231036)|0;c[q>>2]=c[t>>2];c[q+4>>2]=c[t+4>>2];c[q+8>>2]=c[t+8>>2];c[t>>2]=0;c[t+4>>2]=0;c[t+8>>2]=0;t=J0a(q,172869)|0;c[b>>2]=c[t>>2];c[b+4>>2]=c[t+4>>2];c[b+8>>2]=c[t+8>>2];c[t>>2]=0;c[t+4>>2]=0;c[t+8>>2]=0;if((a[q+11>>0]|0)<0)l0a(c[q>>2]|0);if((a[r+11>>0]|0)<0)l0a(c[r>>2]|0);if((a[s+11>>0]|0)<0)l0a(c[s>>2]|0);if((a[p+11>>0]|0)<0)l0a(c[p>>2]|0)}if((a[f>>0]|0)>=0){l=v;return}l0a(c[u>>2]|0);l=v;return}function Dma(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=l;l=l+16|0;p=s;r=b+60|0;gk[c[(c[r>>2]|0)+8>>2]&1023](r)|0;e=c[b+96>>2]|0;q=b+100|0;n=c[q>>2]|0;a:do if((e|0)==(n|0)){m=e;o=15}else{j=a[d+11>>0]|0;k=j<<24>>24<0;j=k?c[d+4>>2]|0:j&255;k=k?c[d>>2]|0:d;if(!j)while(1){j=c[e>>2]|0;k=a[j+16+11>>0]|0;if(!((k<<24>>24<0?c[j+20>>2]|0:k&255)|0)){m=e;o=15;break a}e=e+4|0;if((e|0)==(n|0))break a}do{i=c[e>>2]|0;h=i+16|0;f=a[h+11>>0]|0;g=f<<24>>24<0;f=f&255;do if(((g?c[i+20>>2]|0:f)|0)==(j|0)){i=c[h>>2]|0;if(g)if(!(cOa(i,k,j)|0)){m=e;o=15;break a}else break;if((a[k>>0]|0)==(i&255)<<24>>24){g=k;do{f=f+-1|0;h=h+1|0;if(!f){m=e;o=15;break a}g=g+1|0}while((a[h>>0]|0)==(a[g>>0]|0))}}while(0);e=e+4|0}while((e|0)!=(n|0))}while(0);if((o|0)==15?(m|0)!=(n|0):0){q=1;p=c[r>>2]|0;p=p+12|0;p=c[p>>2]|0;gk[p&1023](r)|0;l=s;return q|0}f=b+96|0;o=b+132|0;a[o>>0]=1;e=Rma(d)|0;a[o>>0]=0;if(!e){q=0;p=c[r>>2]|0;p=p+12|0;p=c[p>>2]|0;gk[p&1023](r)|0;l=s;return q|0}c[p>>2]=e;e=e+8|0;c[e>>2]=(c[e>>2]|0)+1;e=c[q>>2]|0;if(e>>>0<(c[b+104>>2]|0)>>>0){f=c[p>>2]|0;c[e>>2]=f;if(f){e=f+8|0;c[e>>2]=(c[e>>2]|0)+1;e=c[q>>2]|0}c[q>>2]=e+4}else Sma(f,p);e=c[p>>2]|0;if(e|0?(p=e+8|0,q=c[p>>2]|0,c[p>>2]=q-1,(q|0)==1):0)UU(e,1,1);q=2;p=c[r>>2]|0;p=p+12|0;p=c[p>>2]|0;gk[p&1023](r)|0;l=s;return q|0}function Ema(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;k=l;l=l+16|0;j=k;d=a[b+11>>0]|0;i=d<<24>>24<0;e=i?c[b>>2]|0:b;d=i?c[b+4>>2]|0:d&255;i=e+d|0;g=i;h=e;if((d|0)<3){j=0;l=k;return j|0}while(1){d=d+-2|0;if(!d){d=0;e=11;break}f=aOa(e,58,d)|0;if(!f){d=0;e=11;break}if(!(cOa(f,172482,3)|0)){e=7;break}e=f+1|0;d=g-e|0;if((d|0)<3){d=0;e=11;break}}if((e|0)==7){d=f-h|0;if((f|0)==(i|0)|(d|0)==-1){j=0;l=k;return j|0}x0a(j,b,0,d,b);d=Qma(Rla(0)|0,j)|0;if((a[j+11>>0]|0)<0)l0a(c[j>>2]|0);j=d;l=k;return j|0}else if((e|0)==11){l=k;return d|0}return 0}function Fma(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0;o=l;l=l+32|0;n=o+12|0;k=o;f=Oma(b,e)|0;if(f|0?kk[c[(c[f>>2]|0)+180>>2]&511](f,d)|0:0){n=f;l=o;return n|0}c[n>>2]=0;m=n+4|0;c[m>>2]=0;i=n+8|0;c[i>>2]=0;f=c[b+72>>2]|0;j=b+76|0;do if((f|0)!=(c[j>>2]|0)){do{h=c[f>>2]|0;do if(kk[c[(c[h>>2]|0)+180>>2]&511](h,d)|0){g=c[m>>2]|0;if((g|0)==(c[i>>2]|0)){Pma(n,f);break}h=c[f>>2]|0;c[g>>2]=h;if(h){g=h+8|0;c[g>>2]=(c[g>>2]|0)+1;g=c[m>>2]|0}c[m>>2]=g+4}while(0);f=f+4|0}while((f|0)!=(c[j>>2]|0));g=c[n>>2]|0;if((g|0)!=(c[m>>2]|0)){j=k+11|0;d=k+1|0;f=0;i=g;while(1){g=c[i>>2]|0;h=c[(c[g>>2]|0)+176>>2]|0;c[k>>2]=0;c[k+4>>2]=0;c[k+8>>2]=0;a[j>>0]=1;a[k>>0]=42;a[d>>0]=0;g=kk[h&511](g,k)|0;if((a[j>>0]|0)<0)l0a(c[k>>2]|0);h=c[i>>2]|0;if(!g){if(kk[c[(c[h>>2]|0)+176>>2]&511](h,e)|0){g=19;break}}else f=h;g=i+4|0;if((g|0)==(c[m>>2]|0)){g=20;break}else i=g}if((g|0)==19){f=c[i>>2]|0;break}else if((g|0)==20)if(!f){g=21;break}else break}else g=21}else g=21;while(0);if((g|0)==21){c[k>>2]=0;c[k+4>>2]=0;c[k+8>>2]=0;e=k+11|0;a[e>>0]=4;c[k>>2]=1819440483;a[k+4>>0]=0;f=Oma(b,k)|0;if((a[e>>0]|0)<0)l0a(c[k>>2]|0)}i=c[n>>2]|0;if(i|0){g=c[m>>2]|0;if((g|0)==(i|0))g=i;else{do{g=g+-4|0;h=c[g>>2]|0;if(h|0?(b=h+8|0,k=c[b>>2]|0,c[b>>2]=k-1,(k|0)==1):0)UU(h,1,1);c[g>>2]=0}while((g|0)!=(i|0));g=c[n>>2]|0}c[m>>2]=i;l0a(g)}n=f;l=o;return n|0}function Gma(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0;R=l;l=l+32|0;N=R;G=N+4|0;H=N+16|0;I=G+11|0;J=N+4|0;K=N+16|0;L=N+4|0;s=N+16|0;t=L+11|0;u=N+4|0;v=N+16|0;w=N+4|0;x=N+16|0;y=J+11|0;z=u+11|0;B=w+11|0;M=d;a:while(1){n=M;q=M+-20|0;o=M+-40|0;p=M;r=b;b:while(1){b=n-r|0;switch((b|0)/20|0|0){case 2:{Q=4;break a}case 3:{Q=28;break a}case 4:{Q=29;break a}case 5:{Q=30;break a}case 1:case 0:{Q=183;break a}default:{}}if((b|0)<140){Q=32;break a}k=r+(((b>>>0)/40|0)*20|0)|0;if((b|0)>19980){b=(b>>>0)/80|0;b=Lma(r,r+(b*20|0)|0,k,k+(b*20|0)|0,q,e)|0}else b=Jma(r,k,q,e)|0;h=c[r>>2]|0;g=c[k>>2]|0;if((h|0)<(g|0))f=q;else{if((r|0)==(o|0)){Q=40;break}i=q;f=o;while(1){if((c[f>>2]|0)<(g|0))break;d=f+-20|0;if((r|0)==(d|0)){Q=40;break b}else{i=f;f=d}}c[N>>2]=h;g=r+4|0;t0a(u,g);j=r+16|0;d=c[j>>2]|0;c[v>>2]=d;if(d|0){m=d+8|0;c[m>>2]=(c[m>>2]|0)+1}c[r>>2]=c[f>>2];h=i+-16|0;z0a(g,h)|0;g=c[j>>2]|0;i=i+-4|0;d=c[i>>2]|0;if((g|0)!=(d|0)){c[j>>2]=d;if(d|0){m=d+8|0;c[m>>2]=(c[m>>2]|0)+1}if(g|0?(j=g+8|0,m=c[j>>2]|0,c[j>>2]=m-1,(m|0)==1):0)UU(g,1,1)}if((N|0)!=(f|0)){c[f>>2]=c[N>>2];z0a(h,u)|0;d=c[i>>2]|0;g=c[v>>2]|0;if((d|0)!=(g|0)){c[i>>2]=g;if(g|0){Q=g+8|0;c[Q>>2]=(c[Q>>2]|0)+1}if((d|0)!=0?(m=d+8|0,Q=c[m>>2]|0,c[m>>2]=Q-1,(Q|0)==1):0){UU(d,1,1);Q=113}else Q=113}}else Q=113;if((Q|0)==113){Q=0;d=c[v>>2]|0}if(d|0?(j=d+8|0,m=c[j>>2]|0,c[j>>2]=m-1,(m|0)==1):0)UU(d,1,1);c[v>>2]=0;if((a[z>>0]|0)<0)l0a(c[u>>2]|0);b=b+1|0}d=r+20|0;c:do if(d>>>0<f>>>0)while(1){h=c[k>>2]|0;while(1){g=c[d>>2]|0;m=d+20|0;if((g|0)<(h|0))d=m;else break}while(1){j=f+-20|0;if((c[j>>2]|0)<(h|0))break;else f=j}if(d>>>0>j>>>0)break c;c[N>>2]=g;g=d+4|0;t0a(G,g);h=d+16|0;i=c[h>>2]|0;c[H>>2]=i;if(i|0){i=i+8|0;c[i>>2]=(c[i>>2]|0)+1}if((d|0)!=(j|0)?(c[d>>2]=c[j>>2],z0a(g,f+-16|0)|0,D=c[h>>2]|0,E=c[f+-4>>2]|0,(D|0)!=(E|0)):0){c[h>>2]=E;if(E|0){i=E+8|0;c[i>>2]=(c[i>>2]|0)+1}if(D|0?(h=D+8|0,i=c[h>>2]|0,c[h>>2]=i-1,(i|0)==1):0)UU(D,1,1)}if((N|0)!=(j|0)){c[j>>2]=c[N>>2];z0a(f+-16|0,G)|0;g=f+-4|0;f=c[g>>2]|0;h=c[H>>2]|0;if((f|0)!=(h|0)){c[g>>2]=h;if(h|0){Q=h+8|0;c[Q>>2]=(c[Q>>2]|0)+1}if((f|0)!=0?(i=f+8|0,Q=c[i>>2]|0,c[i>>2]=Q-1,(Q|0)==1):0){UU(f,1,1);Q=143}else Q=143}}else Q=143;if((Q|0)==143){Q=0;f=c[H>>2]|0}if(f|0?(h=f+8|0,i=c[h>>2]|0,c[h>>2]=i-1,(i|0)==1):0)UU(f,1,1);c[H>>2]=0;if((a[I>>0]|0)<0)l0a(c[G>>2]|0);k=(k|0)==(d|0)?j:k;f=j;d=m;b=b+1|0}while(0);if((d|0)!=(k|0)?(F=c[d>>2]|0,(c[k>>2]|0)<(F|0)):0){c[N>>2]=F;g=d+4|0;t0a(J,g);i=d+16|0;f=c[i>>2]|0;c[K>>2]=f;if(f|0){m=f+8|0;c[m>>2]=(c[m>>2]|0)+1}c[d>>2]=c[k>>2];h=k+4|0;z0a(g,h)|0;f=c[i>>2]|0;j=k+16|0;g=c[j>>2]|0;if((f|0)!=(g|0)){c[i>>2]=g;if(g|0){m=g+8|0;c[m>>2]=(c[m>>2]|0)+1}if(f|0?(i=f+8|0,m=c[i>>2]|0,c[i>>2]=m-1,(m|0)==1):0)UU(f,1,1)}if((N|0)!=(k|0)){c[k>>2]=c[N>>2];z0a(h,J)|0;f=c[j>>2]|0;g=c[K>>2]|0;if((f|0)!=(g|0)){c[j>>2]=g;if(g|0){Q=g+8|0;c[Q>>2]=(c[Q>>2]|0)+1}if((f|0)!=0?(m=f+8|0,Q=c[m>>2]|0,c[m>>2]=Q-1,(Q|0)==1):0){UU(f,1,1);Q=167}else Q=167}}else Q=167;if((Q|0)==167){Q=0;f=c[K>>2]|0}if(f|0?(k=f+8|0,m=c[k>>2]|0,c[k>>2]=m-1,(m|0)==1):0)UU(f,1,1);c[K>>2]=0;if((a[y>>0]|0)<0)l0a(c[J>>2]|0);b=b+1|0}if(!b){g=Nma(r,d,e)|0;b=d+20|0;if(Nma(b,M,e)|0){Q=176;break}if(g){f=2;d=M;Q=181;break}}m=d;if(((m-r|0)/20|0|0)>=((p-m|0)/20|0|0)){Q=180;break}Gma(r,d,e);r=d+20|0}d:do if((Q|0)==40){Q=0;b=r+20|0;if((h|0)>=(c[q>>2]|0)){if((b|0)==(q|0)){Q=183;break a}while(1){d=c[b>>2]|0;if((h|0)<(d|0))break;b=b+20|0;if((b|0)==(q|0)){Q=183;break a}}c[N>>2]=d;f=b+4|0;t0a(w,f);h=b+16|0;d=c[h>>2]|0;c[x>>2]=d;if(d|0){p=d+8|0;c[p>>2]=(c[p>>2]|0)+1}c[b>>2]=c[q>>2];g=M+-16|0;z0a(f,g)|0;d=c[h>>2]|0;i=M+-4|0;f=c[i>>2]|0;if((d|0)!=(f|0)){c[h>>2]=f;if(f|0){p=f+8|0;c[p>>2]=(c[p>>2]|0)+1}if(d|0?(o=d+8|0,p=c[o>>2]|0,c[o>>2]=p-1,(p|0)==1):0)UU(d,1,1)}if((N|0)!=(q|0)){c[q>>2]=c[N>>2];z0a(g,w)|0;d=c[i>>2]|0;f=c[x>>2]|0;if((d|0)!=(f|0)){c[i>>2]=f;if(f|0){Q=f+8|0;c[Q>>2]=(c[Q>>2]|0)+1}if((d|0)!=0?(p=d+8|0,Q=c[p>>2]|0,c[p>>2]=Q-1,(Q|0)==1):0){UU(d,1,1);Q=59}else Q=59}}else Q=59;if((Q|0)==59){Q=0;d=c[x>>2]|0}if(d|0?(o=d+8|0,p=c[o>>2]|0,c[o>>2]=p-1,(p|0)==1):0)UU(d,1,1);c[x>>2]=0;if((a[B>>0]|0)<0)l0a(c[w>>2]|0);b=b+20|0}if((b|0)==(q|0)){Q=183;break a}d=q;while(1){g=c[r>>2]|0;while(1){f=c[b>>2]|0;j=b+20|0;if((g|0)<(f|0))break;else b=j}while(1){i=d+-20|0;if((g|0)<(c[i>>2]|0))d=i;else break}if(b>>>0>=i>>>0){f=4;d=M;Q=181;break d}c[N>>2]=f;f=b+4|0;t0a(L,f);g=b+16|0;h=c[g>>2]|0;c[s>>2]=h;if(h|0){q=h+8|0;c[q>>2]=(c[q>>2]|0)+1}if((b|0)!=(i|0)?(c[b>>2]=c[i>>2],z0a(f,d+-16|0)|0,A=c[g>>2]|0,C=c[d+-4>>2]|0,(A|0)!=(C|0)):0){c[g>>2]=C;if(C|0){q=C+8|0;c[q>>2]=(c[q>>2]|0)+1}if(A|0?(p=A+8|0,q=c[p>>2]|0,c[p>>2]=q-1,(q|0)==1):0)UU(A,1,1)}if((N|0)!=(i|0)){c[i>>2]=c[N>>2];z0a(d+-16|0,L)|0;d=d+-4|0;b=c[d>>2]|0;f=c[s>>2]|0;if((b|0)!=(f|0)){c[d>>2]=f;if(f|0){Q=f+8|0;c[Q>>2]=(c[Q>>2]|0)+1}if((b|0)!=0?(q=b+8|0,Q=c[q>>2]|0,c[q>>2]=Q-1,(Q|0)==1):0){UU(b,1,1);Q=90}else Q=90}}else Q=90;if((Q|0)==90){Q=0;b=c[s>>2]|0}if(b|0?(p=b+8|0,q=c[p>>2]|0,c[p>>2]=q-1,(q|0)==1):0)UU(b,1,1);c[s>>2]=0;if((a[t>>0]|0)<0)l0a(c[L>>2]|0);d=i;b=j}}else if((Q|0)==176){f=g?1:2;b=r;d=g?M:d;Q=181}else if((Q|0)==180){Q=0;Gma(d+20|0,M,e);b=r}while(0);if((Q|0)==181){Q=0;switch(f&7){case 2:case 4:case 0:break;default:{Q=183;break a}}}M=d}if((Q|0)==4){g=M+-20|0;b=c[r>>2]|0;if((c[g>>2]|0)>=(b|0)){l=R;return}c[N>>2]=b;h=N+4|0;b=r+4|0;t0a(h,b);i=N+16|0;d=r+16|0;f=c[d>>2]|0;c[i>>2]=f;if(f|0){L=f+8|0;c[L>>2]=(c[L>>2]|0)+1}if((r|0)!=(g|0)?(c[r>>2]=c[g>>2],z0a(b,M+-16|0)|0,O=c[d>>2]|0,P=c[M+-4>>2]|0,(O|0)!=(P|0)):0){c[d>>2]=P;if(P|0){P=P+8|0;c[P>>2]=(c[P>>2]|0)+1}if(O|0?(L=O+8|0,P=c[L>>2]|0,c[L>>2]=P-1,(P|0)==1):0)UU(O,1,1)}if((N|0)!=(g|0)){c[g>>2]=c[N>>2];z0a(M+-16|0,h)|0;d=M+-4|0;b=c[d>>2]|0;f=c[i>>2]|0;if((b|0)!=(f|0)){c[d>>2]=f;if(f|0){Q=f+8|0;c[Q>>2]=(c[Q>>2]|0)+1}if((b|0)!=0?(P=b+8|0,Q=c[P>>2]|0,c[P>>2]=Q-1,(Q|0)==1):0){UU(b,1,1);Q=21}else Q=21}}else Q=21;if((Q|0)==21)b=c[i>>2]|0;if(b|0?(P=b+8|0,Q=c[P>>2]|0,c[P>>2]=Q-1,(Q|0)==1):0)UU(b,1,1);c[i>>2]=0;if((a[h+11>>0]|0)<0)l0a(c[h>>2]|0);l=R;return}else if((Q|0)==28){Jma(r,r+20|0,M+-20|0,e)|0;l=R;return}else if((Q|0)==29){Kma(r,r+20|0,r+40|0,M+-20|0,e)|0;l=R;return}else if((Q|0)==30){Lma(r,r+20|0,r+40|0,r+60|0,M+-20|0,e)|0;l=R;return}else if((Q|0)==32){Mma(r,M,e);l=R;return}else if((Q|0)==183){l=R;return}}function Hma(a,b){a=a|0;b=b|0;if(!b)return;else{Hma(a,c[b>>2]|0);Hma(a,c[b+4>>2]|0);l0a(b);return}}function Ima(a,b){a=a|0;b=b|0;if(!b)return;else{Ima(a,c[b>>2]|0);Ima(a,c[b+4>>2]|0);l0a(b);return}}function Jma(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;w=l;l=l+32|0;v=w;f=c[d>>2]|0;g=c[b>>2]|0;h=(c[e>>2]|0)<(f|0);if((f|0)>=(g|0)){if(!h){x=0;l=w;return x|0}c[v>>2]=f;i=v+4|0;k=d+4|0;t0a(i,k);j=v+16|0;m=d+16|0;f=c[m>>2]|0;c[j>>2]=f;if(f|0){s=f+8|0;c[s>>2]=(c[s>>2]|0)+1}if((d|0)!=(e|0)?(c[d>>2]=c[e>>2],z0a(k,e+4|0)|0,p=c[m>>2]|0,q=c[e+16>>2]|0,(p|0)!=(q|0)):0){c[m>>2]=q;if(q|0){s=q+8|0;c[s>>2]=(c[s>>2]|0)+1}if(p|0?(r=p+8|0,s=c[r>>2]|0,c[r>>2]=s-1,(s|0)==1):0)UU(p,1,1)}if((v|0)!=(e|0)){c[e>>2]=c[v>>2];z0a(e+4|0,i)|0;g=e+16|0;f=c[g>>2]|0;h=c[j>>2]|0;if((f|0)!=(h|0)){c[g>>2]=h;if(h|0){x=h+8|0;c[x>>2]=(c[x>>2]|0)+1}if((f|0)!=0?(e=f+8|0,x=c[e>>2]|0,c[e>>2]=x-1,(x|0)==1):0){UU(f,1,1);x=19}else x=19}}else x=19;if((x|0)==19)f=c[j>>2]|0;if(f|0?(s=f+8|0,e=c[s>>2]|0,c[s>>2]=e-1,(e|0)==1):0)UU(f,1,1);c[j>>2]=0;if((a[i+11>>0]|0)<0)l0a(c[i>>2]|0);f=c[b>>2]|0;if((c[d>>2]|0)>=(f|0)){x=1;l=w;return x|0}c[v>>2]=f;i=v+4|0;f=b+4|0;t0a(i,f);j=v+16|0;g=b+16|0;h=c[g>>2]|0;c[j>>2]=h;if(h|0){e=h+8|0;c[e>>2]=(c[e>>2]|0)+1}if((b|0)!=(d|0)?(c[b>>2]=c[d>>2],z0a(f,k)|0,t=c[g>>2]|0,u=c[m>>2]|0,(t|0)!=(u|0)):0){c[g>>2]=u;if(u|0){e=u+8|0;c[e>>2]=(c[e>>2]|0)+1}if(t|0?(b=t+8|0,e=c[b>>2]|0,c[b>>2]=e-1,(e|0)==1):0)UU(t,1,1)}if((v|0)!=(d|0)){c[d>>2]=c[v>>2];z0a(k,i)|0;f=c[m>>2]|0;g=c[j>>2]|0;if((f|0)!=(g|0)){c[m>>2]=g;if(g|0){x=g+8|0;c[x>>2]=(c[x>>2]|0)+1}if((f|0)!=0?(v=f+8|0,x=c[v>>2]|0,c[v>>2]=x-1,(x|0)==1):0){UU(f,1,1);x=42}else x=42}}else x=42;if((x|0)==42)f=c[j>>2]|0;if(f|0?(v=f+8|0,x=c[v>>2]|0,c[v>>2]=x-1,(x|0)==1):0)UU(f,1,1);c[j>>2]=0;if((a[i+11>>0]|0)<0)l0a(c[i>>2]|0);x=2;l=w;return x|0}if(h){c[v>>2]=g;i=v+4|0;f=b+4|0;t0a(i,f);j=v+16|0;g=b+16|0;h=c[g>>2]|0;c[j>>2]=h;if(h|0){d=h+8|0;c[d>>2]=(c[d>>2]|0)+1}if((b|0)!=(e|0)?(c[b>>2]=c[e>>2],z0a(f,e+4|0)|0,k=c[g>>2]|0,m=c[e+16>>2]|0,(k|0)!=(m|0)):0){c[g>>2]=m;if(m|0){d=m+8|0;c[d>>2]=(c[d>>2]|0)+1}if(k|0?(b=k+8|0,d=c[b>>2]|0,c[b>>2]=d-1,(d|0)==1):0)UU(k,1,1)}if((v|0)!=(e|0)){c[e>>2]=c[v>>2];z0a(e+4|0,i)|0;g=e+16|0;f=c[g>>2]|0;h=c[j>>2]|0;if((f|0)!=(h|0)){c[g>>2]=h;if(h|0){x=h+8|0;c[x>>2]=(c[x>>2]|0)+1}if((f|0)!=0?(v=f+8|0,x=c[v>>2]|0,c[v>>2]=x-1,(x|0)==1):0){UU(f,1,1);x=66}else x=66}}else x=66;if((x|0)==66)f=c[j>>2]|0;if(f|0?(v=f+8|0,x=c[v>>2]|0,c[v>>2]=x-1,(x|0)==1):0)UU(f,1,1);c[j>>2]=0;if((a[i+11>>0]|0)<0)l0a(c[i>>2]|0);x=1;l=w;return x|0}c[v>>2]=g;i=v+4|0;f=b+4|0;t0a(i,f);j=v+16|0;g=b+16|0;h=c[g>>2]|0;c[j>>2]=h;if(h|0){u=h+8|0;c[u>>2]=(c[u>>2]|0)+1}if((b|0)!=(d|0)?(c[b>>2]=c[d>>2],z0a(f,d+4|0)|0,n=c[g>>2]|0,o=c[d+16>>2]|0,(n|0)!=(o|0)):0){c[g>>2]=o;if(o|0){b=o+8|0;c[b>>2]=(c[b>>2]|0)+1}if(n|0?(u=n+8|0,b=c[u>>2]|0,c[u>>2]=b-1,(b|0)==1):0)UU(n,1,1)}if((v|0)!=(d|0)){c[d>>2]=c[v>>2];z0a(d+4|0,i)|0;g=d+16|0;f=c[g>>2]|0;h=c[j>>2]|0;if((f|0)!=(h|0)){c[g>>2]=h;if(h|0){x=h+8|0;c[x>>2]=(c[x>>2]|0)+1}if((f|0)!=0?(b=f+8|0,x=c[b>>2]|0,c[b>>2]=x-1,(x|0)==1):0){UU(f,1,1);x=89}else x=89}}else x=89;if((x|0)==89)f=c[j>>2]|0;if(f|0?(u=f+8|0,b=c[u>>2]|0,c[u>>2]=b-1,(b|0)==1):0)UU(f,1,1);c[j>>2]=0;if((a[i+11>>0]|0)<0)l0a(c[i>>2]|0);f=c[d>>2]|0;if((c[e>>2]|0)>=(f|0)){x=1;l=w;return x|0}c[v>>2]=f;i=v+4|0;f=d+4|0;t0a(i,f);j=v+16|0;g=d+16|0;h=c[g>>2]|0;c[j>>2]=h;if(h|0){b=h+8|0;c[b>>2]=(c[b>>2]|0)+1}if((d|0)!=(e|0)?(c[d>>2]=c[e>>2],z0a(f,e+4|0)|0,r=c[g>>2]|0,s=c[e+16>>2]|0,(r|0)!=(s|0)):0){c[g>>2]=s;if(s|0){d=s+8|0;c[d>>2]=(c[d>>2]|0)+1}if(r|0?(b=r+8|0,d=c[b>>2]|0,c[b>>2]=d-1,(d|0)==1):0)UU(r,1,1)}if((v|0)!=(e|0)){c[e>>2]=c[v>>2];z0a(e+4|0,i)|0;g=e+16|0;f=c[g>>2]|0;h=c[j>>2]|0;if((f|0)!=(h|0)){c[g>>2]=h;if(h|0){x=h+8|0;c[x>>2]=(c[x>>2]|0)+1}if((f|0)!=0?(v=f+8|0,x=c[v>>2]|0,c[v>>2]=x-1,(x|0)==1):0){UU(f,1,1);x=112}else x=112}}else x=112;if((x|0)==112)f=c[j>>2]|0;if(f|0?(v=f+8|0,x=c[v>>2]|0,c[v>>2]=x-1,(x|0)==1):0)UU(f,1,1);c[j>>2]=0;if((a[i+11>>0]|0)<0)l0a(c[i>>2]|0);x=2;l=w;return x|0}function Kma(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;w=l;l=l+32|0;t=w;u=Jma(b,d,e,g)|0;g=c[e>>2]|0;if((c[f>>2]|0)>=(g|0)){v=u;l=w;return v|0}c[t>>2]=g;j=t+4|0;m=e+4|0;t0a(j,m);k=t+16|0;o=e+16|0;g=c[o>>2]|0;c[k>>2]=g;if(g|0){n=g+8|0;c[n>>2]=(c[n>>2]|0)+1}if((e|0)!=(f|0)?(c[e>>2]=c[f>>2],z0a(m,f+4|0)|0,h=c[o>>2]|0,i=c[f+16>>2]|0,(h|0)!=(i|0)):0){c[o>>2]=i;if(i|0){n=i+8|0;c[n>>2]=(c[n>>2]|0)+1}if(h|0?(i=h+8|0,n=c[i>>2]|0,c[i>>2]=n-1,(n|0)==1):0)UU(h,1,1)}if((t|0)!=(f|0)){c[f>>2]=c[t>>2];z0a(f+4|0,j)|0;h=f+16|0;g=c[h>>2]|0;i=c[k>>2]|0;if((g|0)!=(i|0)){c[h>>2]=i;if(i|0){v=i+8|0;c[v>>2]=(c[v>>2]|0)+1}if((g|0)!=0?(n=g+8|0,v=c[n>>2]|0,c[n>>2]=v-1,(v|0)==1):0){UU(g,1,1);v=18}else v=18}}else v=18;if((v|0)==18)g=c[k>>2]|0;if(g|0?(f=g+8|0,n=c[f>>2]|0,c[f>>2]=n-1,(n|0)==1):0)UU(g,1,1);c[k>>2]=0;if((a[j+11>>0]|0)<0)l0a(c[j>>2]|0);g=c[d>>2]|0;if((c[e>>2]|0)>=(g|0)){v=u+1|0;l=w;return v|0}c[t>>2]=g;i=t+4|0;k=d+4|0;t0a(i,k);f=t+16|0;n=d+16|0;g=c[n>>2]|0;c[f>>2]=g;if(g|0){j=g+8|0;c[j>>2]=(c[j>>2]|0)+1}if((d|0)!=(e|0)?(c[d>>2]=c[e>>2],z0a(k,m)|0,p=c[n>>2]|0,q=c[o>>2]|0,(p|0)!=(q|0)):0){c[n>>2]=q;if(q|0){q=q+8|0;c[q>>2]=(c[q>>2]|0)+1}if(p|0?(j=p+8|0,q=c[j>>2]|0,c[j>>2]=q-1,(q|0)==1):0)UU(p,1,1)}if((t|0)!=(e|0)){c[e>>2]=c[t>>2];z0a(m,i)|0;g=c[o>>2]|0;h=c[f>>2]|0;if((g|0)!=(h|0)){c[o>>2]=h;if(h|0){v=h+8|0;c[v>>2]=(c[v>>2]|0)+1}if((g|0)!=0?(q=g+8|0,v=c[q>>2]|0,c[q>>2]=v-1,(v|0)==1):0){UU(g,1,1);v=41}else v=41}}else v=41;if((v|0)==41)g=c[f>>2]|0;if(g|0?(p=g+8|0,q=c[p>>2]|0,c[p>>2]=q-1,(q|0)==1):0)UU(g,1,1);c[f>>2]=0;if((a[i+11>>0]|0)<0)l0a(c[i>>2]|0);g=c[b>>2]|0;if((c[d>>2]|0)>=(g|0)){v=u+2|0;l=w;return v|0}c[t>>2]=g;f=t+4|0;g=b+4|0;t0a(f,g);j=t+16|0;h=b+16|0;i=c[h>>2]|0;c[j>>2]=i;if(i|0){q=i+8|0;c[q>>2]=(c[q>>2]|0)+1}if((b|0)!=(d|0)?(c[b>>2]=c[d>>2],z0a(g,k)|0,r=c[h>>2]|0,s=c[n>>2]|0,(r|0)!=(s|0)):0){c[h>>2]=s;if(s|0){s=s+8|0;c[s>>2]=(c[s>>2]|0)+1}if(r|0?(b=r+8|0,s=c[b>>2]|0,c[b>>2]=s-1,(s|0)==1):0)UU(r,1,1)}do if((t|0)!=(d|0)){c[d>>2]=c[t>>2];z0a(k,f)|0;g=c[n>>2]|0;h=c[j>>2]|0;if((g|0)!=(h|0)){c[n>>2]=h;if(h|0){v=h+8|0;c[v>>2]=(c[v>>2]|0)+1}if(!g)v=64;else{t=g+8|0;v=c[t>>2]|0;c[t>>2]=v-1;if((v|0)!=1){v=64;break}UU(g,1,1);v=64}}}else v=64;while(0);if((v|0)==64)g=c[j>>2]|0;if(g|0?(t=g+8|0,v=c[t>>2]|0,c[t>>2]=v-1,(v|0)==1):0)UU(g,1,1);c[j>>2]=0;if((a[f+11>>0]|0)<0)l0a(c[f>>2]|0);v=u+3|0;l=w;return v|0}function Lma(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;x=l;l=l+32|0;u=x;v=Kma(b,d,e,f,h)|0;h=c[f>>2]|0;if((c[g>>2]|0)>=(h|0)){w=v;l=x;return w|0}c[u>>2]=h;k=u+4|0;n=f+4|0;t0a(k,n);m=u+16|0;p=f+16|0;h=c[p>>2]|0;c[m>>2]=h;if(h|0){o=h+8|0;c[o>>2]=(c[o>>2]|0)+1}if((f|0)!=(g|0)?(c[f>>2]=c[g>>2],z0a(n,g+4|0)|0,i=c[p>>2]|0,j=c[g+16>>2]|0,(i|0)!=(j|0)):0){c[p>>2]=j;if(j|0){o=j+8|0;c[o>>2]=(c[o>>2]|0)+1}if(i|0?(j=i+8|0,o=c[j>>2]|0,c[j>>2]=o-1,(o|0)==1):0)UU(i,1,1)}if((u|0)!=(g|0)){c[g>>2]=c[u>>2];z0a(g+4|0,k)|0;i=g+16|0;h=c[i>>2]|0;j=c[m>>2]|0;if((h|0)!=(j|0)){c[i>>2]=j;if(j|0){w=j+8|0;c[w>>2]=(c[w>>2]|0)+1}if((h|0)!=0?(o=h+8|0,w=c[o>>2]|0,c[o>>2]=w-1,(w|0)==1):0){UU(h,1,1);w=18}else w=18}}else w=18;if((w|0)==18)h=c[m>>2]|0;if(h|0?(g=h+8|0,o=c[g>>2]|0,c[g>>2]=o-1,(o|0)==1):0)UU(h,1,1);c[m>>2]=0;if((a[k+11>>0]|0)<0)l0a(c[k>>2]|0);h=c[e>>2]|0;if((c[f>>2]|0)>=(h|0)){w=v+1|0;l=x;return w|0}c[u>>2]=h;j=u+4|0;k=e+4|0;t0a(j,k);g=u+16|0;o=e+16|0;h=c[o>>2]|0;c[g>>2]=h;if(h|0){m=h+8|0;c[m>>2]=(c[m>>2]|0)+1}if((e|0)!=(f|0)?(c[e>>2]=c[f>>2],z0a(k,n)|0,q=c[o>>2]|0,r=c[p>>2]|0,(q|0)!=(r|0)):0){c[o>>2]=r;if(r|0){r=r+8|0;c[r>>2]=(c[r>>2]|0)+1}if(q|0?(m=q+8|0,r=c[m>>2]|0,c[m>>2]=r-1,(r|0)==1):0)UU(q,1,1)}if((u|0)!=(f|0)){c[f>>2]=c[u>>2];z0a(n,j)|0;h=c[p>>2]|0;i=c[g>>2]|0;if((h|0)!=(i|0)){c[p>>2]=i;if(i|0){w=i+8|0;c[w>>2]=(c[w>>2]|0)+1}if((h|0)!=0?(r=h+8|0,w=c[r>>2]|0,c[r>>2]=w-1,(w|0)==1):0){UU(h,1,1);w=41}else w=41}}else w=41;if((w|0)==41)h=c[g>>2]|0;if(h|0?(q=h+8|0,r=c[q>>2]|0,c[q>>2]=r-1,(r|0)==1):0)UU(h,1,1);c[g>>2]=0;if((a[j+11>>0]|0)<0)l0a(c[j>>2]|0);h=c[d>>2]|0;if((c[e>>2]|0)>=(h|0)){w=v+2|0;l=x;return w|0}c[u>>2]=h;j=u+4|0;m=d+4|0;t0a(j,m);g=u+16|0;n=d+16|0;h=c[n>>2]|0;c[g>>2]=h;if(h|0){r=h+8|0;c[r>>2]=(c[r>>2]|0)+1}if((d|0)!=(e|0)?(c[d>>2]=c[e>>2],z0a(m,k)|0,s=c[n>>2]|0,t=c[o>>2]|0,(s|0)!=(t|0)):0){c[n>>2]=t;if(t|0){t=t+8|0;c[t>>2]=(c[t>>2]|0)+1}if(s|0?(r=s+8|0,t=c[r>>2]|0,c[r>>2]=t-1,(t|0)==1):0)UU(s,1,1)}do if((u|0)!=(e|0)){c[e>>2]=c[u>>2];z0a(k,j)|0;h=c[o>>2]|0;i=c[g>>2]|0;if((h|0)!=(i|0)){c[o>>2]=i;if(i|0){w=i+8|0;c[w>>2]=(c[w>>2]|0)+1}if(!h)w=64;else{e=h+8|0;w=c[e>>2]|0;c[e>>2]=w-1;if((w|0)!=1){w=64;break}UU(h,1,1);w=64}}}else w=64;while(0);if((w|0)==64)h=c[g>>2]|0;if(h|0?(t=h+8|0,e=c[t>>2]|0,c[t>>2]=e-1,(e|0)==1):0)UU(h,1,1);c[g>>2]=0;if((a[j+11>>0]|0)<0)l0a(c[j>>2]|0);h=c[b>>2]|0;if((c[d>>2]|0)>=(h|0)){w=v+3|0;l=x;return w|0}c[u>>2]=h;g=u+4|0;h=b+4|0;t0a(g,h);k=u+16|0;j=b+16|0;i=c[j>>2]|0;c[k>>2]=i;if(i|0){e=i+8|0;c[e>>2]=(c[e>>2]|0)+1}do if((b|0)!=(d|0)){c[b>>2]=c[d>>2];z0a(h,m)|0;h=c[j>>2]|0;i=c[n>>2]|0;if((h|0)==(i|0))break;c[j>>2]=i;if(i|0){b=i+8|0;c[b>>2]=(c[b>>2]|0)+1}if(!h)break;e=h+8|0;b=c[e>>2]|0;c[e>>2]=b-1;if((b|0)!=1)break;UU(h,1,1)}while(0);do if((u|0)==(d|0))w=87;else{c[d>>2]=c[u>>2];z0a(m,g)|0;h=c[n>>2]|0;i=c[k>>2]|0;if((h|0)==(i|0))break;c[n>>2]=i;if(i|0){w=i+8|0;c[w>>2]=(c[w>>2]|0)+1}if(!h){w=87;break}u=h+8|0;w=c[u>>2]|0;c[u>>2]=w-1;if((w|0)!=1){w=87;break}UU(h,1,1);w=87}while(0);if((w|0)==87)h=c[k>>2]|0;do if(h|0){u=h+8|0;w=c[u>>2]|0;c[u>>2]=w-1;if((w|0)!=1)break;UU(h,1,1)}while(0);c[k>>2]=0;if((a[g+11>>0]|0)<0)l0a(c[g>>2]|0);w=v+4|0;l=x;return w|0}function Mma(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0;p=l;l=l+32|0;n=p;f=b+40|0;Jma(b,b+20|0,f,e)|0;e=b+60|0;if((e|0)==(d|0)){l=p;return}k=n+4|0;m=n+16|0;j=k+11|0;i=e;e=f;while(1){f=c[i>>2]|0;if((f|0)<(c[e>>2]|0)){c[n>>2]=f;t0a(k,i+4|0);f=c[i+16>>2]|0;c[m>>2]=f;if(f|0){h=f+8|0;c[h>>2]=(c[h>>2]|0)+1}f=i;while(1){c[f>>2]=c[e>>2];z0a(f+4|0,e+4|0)|0;f=f+16|0;g=c[f>>2]|0;h=c[e+16>>2]|0;if((g|0)!=(h|0)){c[f>>2]=h;if(h|0){h=h+8|0;c[h>>2]=(c[h>>2]|0)+1}if(g|0?(f=g+8|0,h=c[f>>2]|0,c[f>>2]=h-1,(h|0)==1):0)UU(g,1,1)}if((e|0)==(b|0)){e=b;break}f=e+-20|0;if((c[n>>2]|0)<(c[f>>2]|0)){h=e;e=f;f=h}else break}if((e|0)!=(n|0)){c[e>>2]=c[n>>2];z0a(e+4|0,k)|0;f=e+16|0;e=c[f>>2]|0;g=c[m>>2]|0;if((e|0)!=(g|0)){c[f>>2]=g;if(g|0){o=g+8|0;c[o>>2]=(c[o>>2]|0)+1}if((e|0)!=0?(h=e+8|0,o=c[h>>2]|0,c[h>>2]=o-1,(o|0)==1):0){UU(e,1,1);o=23}else o=23}}else o=23;if((o|0)==23){o=0;e=c[m>>2]|0}if(e|0?(g=e+8|0,h=c[g>>2]|0,c[g>>2]=h-1,(h|0)==1):0)UU(e,1,1);c[m>>2]=0;if((a[j>>0]|0)<0)l0a(c[k>>2]|0)}e=i+20|0;if((e|0)==(d|0))break;else{h=i;i=e;e=h}}l=p;return}function Nma(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;s=l;l=l+32|0;q=s;switch((d-b|0)/20|0|0){case 2:{h=d+-20|0;e=c[b>>2]|0;if((c[h>>2]|0)>=(e|0)){r=1;l=s;return r|0}c[q>>2]=e;i=q+4|0;e=b+4|0;t0a(i,e);j=q+16|0;f=b+16|0;g=c[f>>2]|0;c[j>>2]=g;if(g|0){p=g+8|0;c[p>>2]=(c[p>>2]|0)+1}if((h|0)!=(b|0)?(c[b>>2]=c[h>>2],z0a(e,d+-16|0)|0,k=c[f>>2]|0,m=c[d+-4>>2]|0,(k|0)!=(m|0)):0){c[f>>2]=m;if(m|0){b=m+8|0;c[b>>2]=(c[b>>2]|0)+1}if(k|0?(p=k+8|0,b=c[p>>2]|0,c[p>>2]=b-1,(b|0)==1):0)UU(k,1,1)}if((q|0)!=(h|0)){c[h>>2]=c[q>>2];z0a(d+-16|0,i)|0;f=d+-4|0;e=c[f>>2]|0;g=c[j>>2]|0;if((e|0)!=(g|0)){c[f>>2]=g;if(g|0){r=g+8|0;c[r>>2]=(c[r>>2]|0)+1}if((e|0)!=0?(q=e+8|0,r=c[q>>2]|0,c[q>>2]=r-1,(r|0)==1):0){UU(e,1,1);r=19}else r=19}}else r=19;if((r|0)==19)e=c[j>>2]|0;if(e|0?(q=e+8|0,r=c[q>>2]|0,c[q>>2]=r-1,(r|0)==1):0)UU(e,1,1);c[j>>2]=0;if((a[i+11>>0]|0)<0)l0a(c[i>>2]|0);r=1;l=s;return r|0}case 3:{Jma(b,b+20|0,d+-20|0,e)|0;r=1;l=s;return r|0}case 4:{Kma(b,b+20|0,b+40|0,d+-20|0,e)|0;r=1;l=s;return r|0}case 5:{Lma(b,b+20|0,b+40|0,b+60|0,d+-20|0,e)|0;r=1;l=s;return r|0}case 1:case 0:{r=1;l=s;return r|0}default:{f=b+40|0;Jma(b,b+20|0,f,e)|0;e=b+60|0;if((e|0)==(d|0)){r=1;l=s;return r|0}j=q+4|0;k=q+16|0;m=j+11|0;i=0;while(1){g=c[e>>2]|0;if((g|0)<(c[f>>2]|0)){c[q>>2]=g;t0a(j,e+4|0);g=c[e+16>>2]|0;c[k>>2]=g;if(g|0){h=g+8|0;c[h>>2]=(c[h>>2]|0)+1}g=e;while(1){if((g|0)!=(f|0)?(c[g>>2]=c[f>>2],z0a(g+4|0,f+4|0)|0,n=g+16|0,o=c[n>>2]|0,p=c[f+16>>2]|0,(o|0)!=(p|0)):0){c[n>>2]=p;if(p|0){h=p+8|0;c[h>>2]=(c[h>>2]|0)+1}if(o|0?(g=o+8|0,h=c[g>>2]|0,c[g>>2]=h-1,(h|0)==1):0)UU(o,1,1)}if((f|0)==(b|0)){f=b;break}g=f+-20|0;if((c[q>>2]|0)<(c[g>>2]|0)){h=f;f=g;g=h}else break}if((f|0)!=(q|0)){c[f>>2]=c[q>>2];z0a(f+4|0,j)|0;f=f+16|0;g=c[f>>2]|0;h=c[k>>2]|0;if((g|0)!=(h|0)){c[f>>2]=h;if(h|0){r=h+8|0;c[r>>2]=(c[r>>2]|0)+1}if((g|0)!=0?(h=g+8|0,r=c[h>>2]|0,c[h>>2]=r-1,(r|0)==1):0){UU(g,1,1);r=51}else r=51}}else r=51;if((r|0)==51){r=0;h=c[k>>2]|0}f=i+1|0;g=(f|0)==8;if(h|0?(t=h+8|0,i=c[t>>2]|0,c[t>>2]=i-1,(i|0)==1):0)UU(h,1,1);c[k>>2]=0;if((a[m>>0]|0)<0)l0a(c[j>>2]|0);if(g)break}else f=i;g=e+20|0;if((g|0)==(d|0)){e=1;r=60;break}else{t=e;e=g;i=f;f=t}}if((r|0)==60){l=s;return e|0}t=(e+20|0)==(d|0);l=s;return t|0}}return 0}function Oma(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;x=l;l=l+32|0;o=x+24|0;t=x+12|0;u=x;p=t+4|0;c[p>>2]=0;q=t+8|0;c[q>>2]=0;v=t+4|0;c[t>>2]=v;w=b+60|0;gk[c[(c[w>>2]|0)+8>>2]&1023](w)|0;n=b+72|0;g=c[n>>2]|0;s=b+76|0;a:do if((g|0)!=(c[s>>2]|0)){while(1){i=c[g>>2]|0;m=i;h=c[v>>2]|0;do if(h){k=p;while(1){j=c[h+16>>2]|0;if(i>>>0<j>>>0){j=c[h>>2]|0;if(!j){r=8;break}else{k=h;h=j}}else{if(j>>>0>=i>>>0){r=12;break}k=h+4|0;j=c[k>>2]|0;if(!j){r=11;break}else h=j}}if((r|0)==8){r=0;j=h;k=h;break}else if((r|0)==11){r=0;j=h;break}else if((r|0)==12){r=0;j=h;break}}else{j=v;k=v}while(0);if(!(c[k>>2]|0)){h=j0a(20)|0;c[h+16>>2]=m;c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=j;c[k>>2]=h;i=c[c[t>>2]>>2]|0;if(i){c[t>>2]=i;h=c[k>>2]|0}fp(c[p>>2]|0,h);c[q>>2]=(c[q>>2]|0)+1;i=c[g>>2]|0}h=g+4|0;if(kk[c[(c[i>>2]|0)+176>>2]&511](i,d)|0)break;if((h|0)==(c[s>>2]|0))break a;else g=h}u=c[g>>2]|0;s=c[w>>2]|0;s=s+12|0;s=c[s>>2]|0;gk[s&1023](w)|0;w=c[v>>2]|0;Ima(t,w);l=x;return u|0}while(0);Cma(u,b,d);if(ZQ(4)|0){m=mr(lr(4)|0,172592,25)|0;q=a[u+11>>0]|0;p=q<<24>>24<0;q=mr(m,p?c[u>>2]|0:u,p?c[u+4>>2]|0:q&255)|0;BSa(o,q+(c[(c[q>>2]|0)+-12>>2]|0)|0);p=cUa(o,230580)|0;p=kk[c[(c[p>>2]|0)+28>>2]&511](p,10)|0;dUa(o);VSa(q,p)|0;HSa(q)|0}b:do if((Dma(b,u)|0)==2?(e=c[n>>2]|0,f=c[s>>2]|0,(e|0)!=(f|0)):0){while(1){i=c[e>>2]|0;g=c[v>>2]|0;if(g){h=v;do{q=(c[g+16>>2]|0)>>>0<i>>>0;h=q?h:g;g=c[(q?g+4|0:g)>>2]|0}while((g|0)!=0);if(!((h|0)!=(v|0)?i>>>0>=(c[h+16>>2]|0)>>>0:0))r=30}else r=30;if((r|0)==30){r=0;if(kk[c[(c[i>>2]|0)+176>>2]&511](i,d)|0)break;f=c[s>>2]|0}e=e+4|0;if((e|0)==(f|0)){e=0;break b}}e=c[e>>2]|0}else e=0;while(0);if((a[u+11>>0]|0)<0)l0a(c[u>>2]|0);u=e;s=c[w>>2]|0;s=s+12|0;s=c[s>>2]|0;gk[s&1023](w)|0;w=c[v>>2]|0;Ima(t,w);l=x;return u|0}function Pma(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;m=a+4|0;d=c[m>>2]|0;e=c[a>>2]|0;i=d-e>>2;f=i+1|0;g=e;if(f>>>0>1073741823)g1a(a);l=a+8|0;j=(c[l>>2]|0)-e|0;k=j>>1;f=j>>2>>>0<536870911?(k>>>0<f>>>0?f:k):1073741823;do if(f)if(f>>>0>1073741823){m=db(8)|0;p0a(m,183738);c[m>>2]=110936;hb(m|0,65952,1066)}else{j=j0a(f<<2)|0;break}else j=0;while(0);e=j+(i<<2)|0;k=j+(f<<2)|0;f=c[b>>2]|0;c[e>>2]=f;if(f){g=f+8|0;c[g>>2]=(c[g>>2]|0)+1;g=c[a>>2]|0;d=c[m>>2]|0}h=e+4|0;f=g;if((d|0)==(g|0))b=f;else{b=i+-1-((d+-4-f|0)>>>2)|0;while(1){d=d+-4|0;f=c[d>>2]|0;c[e+-4>>2]=f;if(f|0){i=f+8|0;c[i>>2]=(c[i>>2]|0)+1}if((d|0)==(g|0))break;else e=e+-4|0}e=j+(b<<2)|0;b=c[a>>2]|0;d=c[m>>2]|0}c[a>>2]=e;c[m>>2]=h;c[l>>2]=k;f=b;if((d|0)!=(f|0))do{d=d+-4|0;e=c[d>>2]|0;if(e|0?(l=e+8|0,m=c[l>>2]|0,c[l>>2]=m-1,(m|0)==1):0)UU(e,1,1);c[d>>2]=0}while((d|0)!=(f|0));if(!b)return;l0a(b);return}function Qma(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;h=l;l=l+16|0;g=h;t0a(g,d);f=g+11|0;i=a[f>>0]|0;d=i<<24>>24<0;e=g+4|0;if((d?c[e>>2]|0:i&255)|0){d=d?c[g>>2]|0:g;do{a[d>>0]=hOa(a[d>>0]|0)|0;d=d+1|0;i=a[f>>0]|0;j=i<<24>>24<0}while((d|0)!=((j?c[g>>2]|0:g)+(j?c[e>>2]|0:i&255)|0))}d=(mu(b+32|0,g)|0)!=(b+36|0);if((a[f>>0]|0)>=0){l=h;return d|0}l0a(c[g>>2]|0);l=h;return d|0}function Rma(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;h=l;l=l+16|0;e=h+12|0;f=h;uAa(f,b,0);g=f+11|0;d=a[g>>0]|0;if(!((d<<24>>24<0?c[f+4>>2]|0:d&255)|0))d=Tma(b)|0;else d=Tma(f)|0;if(!d)if(ZQ(4)|0){j=mr(lr(4)|0,172618,32)|0;d=a[b+11>>0]|0;i=d<<24>>24<0;d=mr(mr(j,i?c[b>>2]|0:b,i?c[b+4>>2]|0:d&255)|0,172651,1)|0;BSa(e,d+(c[(c[d>>2]|0)+-12>>2]|0)|0);b=cUa(e,230580)|0;b=kk[c[(c[b>>2]|0)+28>>2]&511](b,10)|0;dUa(e);VSa(d,b)|0;HSa(d)|0;d=0}else d=0;else{j=j0a(40)|0;Uma(j,b,d);d=j}if((a[g>>0]|0)>=0){l=h;return d|0}l0a(c[f>>2]|0);l=h;return d|0}function Sma(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;m=a+4|0;d=c[m>>2]|0;e=c[a>>2]|0;i=d-e>>2;f=i+1|0;g=e;if(f>>>0>1073741823)g1a(a);l=a+8|0;j=(c[l>>2]|0)-e|0;k=j>>1;f=j>>2>>>0<536870911?(k>>>0<f>>>0?f:k):1073741823;do if(f)if(f>>>0>1073741823){m=db(8)|0;p0a(m,183738);c[m>>2]=110936;hb(m|0,65952,1066)}else{j=j0a(f<<2)|0;break}else j=0;while(0);e=j+(i<<2)|0;k=j+(f<<2)|0;f=c[b>>2]|0;c[e>>2]=f;if(f){g=f+8|0;c[g>>2]=(c[g>>2]|0)+1;g=c[a>>2]|0;d=c[m>>2]|0}h=e+4|0;f=g;if((d|0)==(g|0))b=f;else{b=i+-1-((d+-4-f|0)>>>2)|0;while(1){d=d+-4|0;f=c[d>>2]|0;c[e+-4>>2]=f;if(f|0){i=f+8|0;c[i>>2]=(c[i>>2]|0)+1}if((d|0)==(g|0))break;else e=e+-4|0}e=j+(b<<2)|0;b=c[a>>2]|0;d=c[m>>2]|0}c[a>>2]=e;c[m>>2]=h;c[l>>2]=k;f=b;if((d|0)!=(f|0))do{d=d+-4|0;e=c[d>>2]|0;if(e|0?(l=e+8|0,m=c[l>>2]|0,c[l>>2]=m-1,(m|0)==1):0)UU(e,1,1);c[d>>2]=0}while((d|0)!=(f|0));if(!b)return;l0a(b);return}function Tma(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0;q=l;l=l+32|0;m=q+12|0;n=q;c[n>>2]=0;c[n+4>>2]=0;c[n+8>>2]=0;Xma(m,b);o=b+11|0;e=a[o>>0]|0;i=e<<24>>24<0;p=b+4|0;e=e&255;j=i?c[p>>2]|0:e;h=a[m+11>>0]|0;k=h<<24>>24<0;a:do if((j|0)==((k?c[m+4>>2]|0:h&255)|0)){h=c[b>>2]|0;f=i?h:b;d=k?c[m>>2]|0:m;g=(j|0)==0;h=h&255;if(i){if(g){d=1;break}d=(cOa(f,d,j)|0)==0;break}if(!g)if((a[d>>0]|0)==h<<24>>24){f=b;while(1){e=e+-1|0;f=f+1|0;if(!e){d=1;break a}d=d+1|0;if((a[f>>0]|0)!=(a[d>>0]|0)){d=0;break}}}else d=0;else d=1}else d=0;while(0);if(k)l0a(c[m>>2]|0);if(d){f1a(m,191227,b);d=n+11|0;if((a[d>>0]|0)<0){a[c[n>>2]>>0]=0;c[n+4>>2]=0}else{a[n>>0]=0;a[d>>0]=0}D0a(n,0);c[n>>2]=c[m>>2];c[n+4>>2]=c[m+4>>2];c[n+8>>2]=c[m+8>>2]}else{z0a(n,b)|0;d=n+11|0}e=ic(((a[d>>0]|0)<0?c[n>>2]|0:n)|0,257)|0;do if(!e)if(pAa(n)|0){if(ZQ(2)|0){j=mr(lr(2)|0,172725,26)|0;o=a[o>>0]|0;k=o<<24>>24<0;p=mr(mr(j,k?c[b>>2]|0:b,k?c[p>>2]|0:o&255)|0,172752,56)|0;BSa(m,p+(c[(c[p>>2]|0)+-12>>2]|0)|0);o=cUa(m,230580)|0;o=kk[c[(c[o>>2]|0)+28>>2]&511](o,10)|0;dUa(m);VSa(p,o)|0;HSa(p)|0}if(!(ZQ(2)|0))break;o=lr(2)|0;p=hc()|0;p=mr(o,p,VNa(p)|0)|0;BSa(m,p+(c[(c[p>>2]|0)+-12>>2]|0)|0);o=cUa(m,230580)|0;o=kk[c[(c[o>>2]|0)+28>>2]&511](o,10)|0;dUa(m);VSa(p,o)|0;HSa(p)|0;break}else{if(ZQ(4)|0){j=mr(lr(4)|0,172725,26)|0;o=a[o>>0]|0;k=o<<24>>24<0;p=mr(mr(j,k?c[b>>2]|0:b,k?c[p>>2]|0:o&255)|0,172809,37)|0;BSa(m,p+(c[(c[p>>2]|0)+-12>>2]|0)|0);o=cUa(m,230580)|0;o=kk[c[(c[o>>2]|0)+28>>2]&511](o,10)|0;dUa(m);VSa(p,o)|0;HSa(p)|0}if(!(ZQ(4)|0))break;o=lr(4)|0;p=hc()|0;p=mr(o,p,VNa(p)|0)|0;BSa(m,p+(c[(c[p>>2]|0)+-12>>2]|0)|0);o=cUa(m,230580)|0;o=kk[c[(c[o>>2]|0)+28>>2]&511](o,10)|0;dUa(m);VSa(p,o)|0;HSa(p)|0;break}while(0);if((a[d>>0]|0)>=0){l=q;return e|0}l0a(c[n>>2]|0);l=q;return e|0}function Uma(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;h=l;l=l+16|0;f=h;Tha(b);c[b>>2]=98196;g=b+16|0;c[g>>2]=0;c[g+4>>2]=0;c[g+8>>2]=0;c[g+12>>2]=0;c[g+16>>2]=0;c[g+20>>2]=0;z0a(g,d)|0;c[b+12>>2]=e;if(!(ZQ(4)|0)){l=h;return}i=mr(lr(4)|0,172653,22)|0;e=a[g+11>>0]|0;d=e<<24>>24<0;g=mr(i,d?c[g>>2]|0:g,d?c[b+20>>2]|0:e&255)|0;BSa(f,g+(c[(c[g>>2]|0)+-12>>2]|0)|0);e=cUa(f,230580)|0;e=kk[c[(c[e>>2]|0)+28>>2]&511](e,10)|0;dUa(f);VSa(g,e)|0;HSa(g)|0;l=h;return}function Vma(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;f=l;l=l+16|0;d=f;c[b>>2]=98196;e=b+12|0;if(c[e>>2]|0){if(ZQ(4)|0){j=mr(lr(4)|0,172676,23)|0;i=b+16|0;g=a[i+11>>0]|0;h=g<<24>>24<0;g=mr(j,h?c[i>>2]|0:i,h?c[b+20>>2]|0:g&255)|0;BSa(d,g+(c[(c[g>>2]|0)+-12>>2]|0)|0);h=cUa(d,230580)|0;h=kk[c[(c[h>>2]|0)+28>>2]&511](h,10)|0;dUa(d);VSa(g,h)|0;HSa(g)|0}gc(c[e>>2]|0)|0}d=b+28|0;if((a[d+11>>0]|0)<0)l0a(c[d>>2]|0);d=b+16|0;if((a[d+11>>0]|0)>=0){SU(b);l=f;return}l0a(c[d>>2]|0);SU(b);l=f;return}function Wma(a){a=a|0;Vma(a);l0a(a);return}function Xma(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;f=a[e+11>>0]|0;i=f<<24>>24<0;g=i?c[e>>2]|0:e;f=i?c[e+4>>2]|0:f&255;a:do if(f|0){i=g+f|0;h=i;while(1){f=h+-1|0;if(aOa(172847,d[f>>0]|0,2)|0)break;if((f|0)==(g|0))break a;else h=f}if((f-g|0)!=-1){e=h;c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;f=i-e|0;if(f>>>0>4294967279)r0a(b);if(f>>>0<11)a[b+11>>0]=f;else{j=f+16&-16;g=j0a(j)|0;c[b>>2]=g;c[b+8>>2]=j|-2147483648;c[b+4>>2]=f;b=g}if((h|0)!=(i|0)){g=i+(0-e)|0;e=b;f=h;while(1){a[e>>0]=a[f>>0]|0;f=f+1|0;if((f|0)==(i|0))break;else e=e+1|0}b=b+g|0}a[b>>0]=0;return}}while(0);t0a(b,e);return}function Yma(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;f=a[d+11>>0]|0;if(f<<24>>24<0){g=c[d+4>>2]|0;h=VNa(e)|0;d=c[d>>2]|0}else{h=VNa(e)|0;g=f&255}f=g+h|0;if(f>>>0>4294967279)r0a(b);if(f>>>0<11){a[b+11>>0]=g;f=b}else{i=f+16&-16;f=j0a(i)|0;c[b>>2]=f;c[b+8>>2]=i|-2147483648;c[b+4>>2]=g}if(!g){i=f+g|0;a[i>>0]=0;I0a(b,e,h)|0;return}x2a(f|0,d|0,g|0)|0;i=f+g|0;a[i>>0]=0;I0a(b,e,h)|0;return}function Zma(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=a+8|0;d=c[q>>2]|0;n=a+12|0;p=c[n>>2]|0;g=p;do if((d|0)==(p|0)){p=a+4|0;o=c[p>>2]|0;j=o;e=c[a>>2]|0;f=e;if(o>>>0>e>>>0){f=((j-f>>2)+1|0)/-2|0;g=o+(f<<2)|0;e=d-j|0;if(!e)d=g;else{y2a(g|0,o|0,e|0)|0;d=(c[p>>2]|0)+(f<<2)|0}o=g+(e>>2<<2)|0;c[q>>2]=o;c[p>>2]=d;d=o;break}g=g-f|0;g=(g|0)==0?1:g>>1;h=g>>>2;do if(g)if(g>>>0>1073741823){q=db(8)|0;p0a(q,183738);c[q>>2]=110936;hb(q|0,65952,1066)}else{i=j0a(g<<2)|0;break}else i=0;while(0);l=i;f=i+(h<<2)|0;m=f;k=i+(g<<2)|0;if((o|0)==(d|0))d=m;else{g=h+((d+-4-j|0)>>>2)+1|0;e=o;while(1){c[f>>2]=c[e>>2];e=e+4|0;if((e|0)==(d|0))break;else f=f+4|0}d=i+(g<<2)|0;e=c[a>>2]|0}c[a>>2]=l;c[p>>2]=m;c[q>>2]=d;c[n>>2]=k;if(e){l0a(e);d=c[q>>2]|0}}while(0);c[d>>2]=c[b>>2];c[q>>2]=(c[q>>2]|0)+4;return}function _ma(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=a+4|0;o=c[q>>2]|0;j=o;p=c[a>>2]|0;e=p;do if((o|0)==(p|0)){p=a+8|0;m=c[p>>2]|0;n=a+12|0;l=c[n>>2]|0;d=l;if(m>>>0<l>>>0){e=m;g=((d-e>>2)+1|0)/2|0;f=m+(g<<2)|0;e=e-j|0;d=f+(0-(e>>2)<<2)|0;if(!e){d=f;e=f}else{y2a(d|0,o|0,e|0)|0;e=(c[p>>2]|0)+(g<<2)|0}c[q>>2]=d;c[p>>2]=e;break}e=d-e|0;e=(e|0)==0?1:e>>1;f=(e+3|0)>>>2;do if(e)if(e>>>0>1073741823){q=db(8)|0;p0a(q,183738);c[q>>2]=110936;hb(q|0,65952,1066)}else{h=j0a(e<<2)|0;break}else h=0;while(0);k=h;d=h+(f<<2)|0;l=d;i=h+(e<<2)|0;if((o|0)==(m|0)){f=l;e=o}else{g=((m+-4-j|0)>>>2)+f+1|0;f=d;e=o;while(1){c[f>>2]=c[e>>2];e=e+4|0;if((e|0)==(m|0))break;else f=f+4|0}f=h+(g<<2)|0;e=c[a>>2]|0}c[a>>2]=k;c[q>>2]=l;c[p>>2]=f;c[n>>2]=i;if(e){l0a(e);d=c[q>>2]|0}}else d=o;while(0);c[d+-4>>2]=c[b>>2];c[q>>2]=(c[q>>2]|0)+-4;return}function $ma(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=a+8|0;d=c[q>>2]|0;n=a+12|0;p=c[n>>2]|0;g=p;do if((d|0)==(p|0)){p=a+4|0;o=c[p>>2]|0;j=o;e=c[a>>2]|0;f=e;if(o>>>0>e>>>0){f=((j-f>>2)+1|0)/-2|0;g=o+(f<<2)|0;e=d-j|0;if(!e)d=g;else{y2a(g|0,o|0,e|0)|0;d=(c[p>>2]|0)+(f<<2)|0}o=g+(e>>2<<2)|0;c[q>>2]=o;c[p>>2]=d;d=o;break}g=g-f|0;g=(g|0)==0?1:g>>1;h=g>>>2;do if(g)if(g>>>0>1073741823){q=db(8)|0;p0a(q,183738);c[q>>2]=110936;hb(q|0,65952,1066)}else{i=j0a(g<<2)|0;break}else i=0;while(0);l=i;f=i+(h<<2)|0;m=f;k=i+(g<<2)|0;if((o|0)==(d|0))d=m;else{g=h+((d+-4-j|0)>>>2)+1|0;e=o;while(1){c[f>>2]=c[e>>2];e=e+4|0;if((e|0)==(d|0))break;else f=f+4|0}d=i+(g<<2)|0;e=c[a>>2]|0}c[a>>2]=l;c[p>>2]=m;c[q>>2]=d;c[n>>2]=k;if(e){l0a(e);d=c[q>>2]|0}}while(0);c[d>>2]=c[b>>2];c[q>>2]=(c[q>>2]|0)+4;return}function ana(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=a+4|0;o=c[q>>2]|0;j=o;p=c[a>>2]|0;e=p;do if((o|0)==(p|0)){p=a+8|0;m=c[p>>2]|0;n=a+12|0;l=c[n>>2]|0;d=l;if(m>>>0<l>>>0){e=m;g=((d-e>>2)+1|0)/2|0;f=m+(g<<2)|0;e=e-j|0;d=f+(0-(e>>2)<<2)|0;if(!e){d=f;e=f}else{y2a(d|0,o|0,e|0)|0;e=(c[p>>2]|0)+(g<<2)|0}c[q>>2]=d;c[p>>2]=e;break}e=d-e|0;e=(e|0)==0?1:e>>1;f=(e+3|0)>>>2;do if(e)if(e>>>0>1073741823){q=db(8)|0;p0a(q,183738);c[q>>2]=110936;hb(q|0,65952,1066)}else{h=j0a(e<<2)|0;break}else h=0;while(0);k=h;d=h+(f<<2)|0;l=d;i=h+(e<<2)|0;if((o|0)==(m|0)){f=l;e=o}else{g=((m+-4-j|0)>>>2)+f+1|0;f=d;e=o;while(1){c[f>>2]=c[e>>2];e=e+4|0;if((e|0)==(m|0))break;else f=f+4|0}f=h+(g<<2)|0;e=c[a>>2]|0}c[a>>2]=k;c[q>>2]=l;c[p>>2]=f;c[n>>2]=i;if(e){l0a(e);d=c[q>>2]|0}}else d=o;while(0);c[d+-4>>2]=c[b>>2];c[q>>2]=(c[q>>2]|0)+-4;return}function bna(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;m=b+4|0;e=c[m>>2]|0;do if(e|0){l=a[d+11>>0]|0;k=l<<24>>24<0;l=k?c[d+4>>2]|0:l&255;k=k?c[d>>2]|0:d;b=m;do{f=e+16|0;h=a[f+11>>0]|0;g=h<<24>>24<0;h=g?c[e+20>>2]|0:h&255;i=l>>>0<h>>>0;d=i?l:h;if((d|0)!=0?(j=cOa(g?c[f>>2]|0:f,k,d)|0,(j|0)!=0):0)d=j;else d=h>>>0<l>>>0?-1:i&1;i=(d|0)<0;b=i?b:e;e=c[(i?e+4|0:e)>>2]|0}while((e|0)!=0);if((b|0)!=(m|0)){e=b+16|0;g=a[e+11>>0]|0;f=g<<24>>24<0;g=f?c[b+20>>2]|0:g&255;d=g>>>0<l>>>0?g:l;if(d|0?(n=cOa(k,f?c[e>>2]|0:e,d)|0,n|0):0){if((n|0)<0)break;return b|0}if(l>>>0>=g>>>0){n=b;return n|0}}}while(0);n=m;return n|0}function cna(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;e=a+108|0;gk[c[(c[e>>2]|0)+8>>2]&1023](e)|0;a=dna(a+120|0,b)|0;b=c[a>>2]|0;if((b|0)!=(d|0)){c[a>>2]=d;if(d|0){d=d+8|0;c[d>>2]=(c[d>>2]|0)+1}if(b|0?(a=b+8|0,d=c[a>>2]|0,c[a>>2]=d-1,(d|0)==1):0)UU(b,1,1)}gk[c[(c[e>>2]|0)+12>>2]&1023](e)|0;return}function dna(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=l;l=l+16|0;e=h;f=ena(a,e,b)|0;d=c[f>>2]|0;if(d|0){a=d;a=a+28|0;l=h;return a|0}g=j0a(32)|0;t0a(g+16|0,b);c[g+28>>2]=0;d=c[e>>2]|0;c[g>>2]=0;c[g+4>>2]=0;c[g+8>>2]=d;c[f>>2]=g;d=c[c[a>>2]>>2]|0;if(!d)d=g;else{c[a>>2]=d;d=c[f>>2]|0}fp(c[a+4>>2]|0,d);a=a+8|0;c[a>>2]=(c[a>>2]|0)+1;a=g;a=a+28|0;l=h;return a|0}function ena(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;f=b+4|0;h=c[f>>2]|0;if(!h){c[d>>2]=f;o=f;return o|0}m=a[e+11>>0]|0;l=m<<24>>24<0;m=l?c[e+4>>2]|0:m&255;l=l?c[e>>2]|0:e;g=b+4|0;f=h;while(1){e=f+16|0;h=a[e+11>>0]|0;b=h<<24>>24<0;h=b?c[f+20>>2]|0:h&255;k=h>>>0<m>>>0;j=k?h:m;i=(j|0)==0;if(!i?(n=b?c[e>>2]|0:e,o=cOa(l,n,j)|0,(o|0)!=0):0)if((o|0)<0)b=7;else{e=n;b=11}else if(m>>>0>=h>>>0)if(i)b=12;else{e=b?c[e>>2]|0:e;b=11}else b=7;if((b|0)==7){b=0;e=c[f>>2]|0;if(!e){b=8;break}else{g=f;f=e}}else if((b|0)==11){e=cOa(e,l,j)|0;if(e)if((e|0)<0)b=14;else{b=16;break}else b=12}if((b|0)==12)if(k)b=14;else{b=16;break}if((b|0)==14){e=f+4|0;b=c[e>>2]|0;if(!b){b=15;break}else{g=e;f=b}}}if((b|0)==8){c[d>>2]=f;o=f;return o|0}else if((b|0)==15){c[d>>2]=f;o=e;return o|0}else if((b|0)==16){c[d>>2]=f;o=g;return o|0}return 0}function fna(b){b=b|0;var d=0;c[b>>2]=98124;d=b+12|0;if((a[d+11>>0]|0)<0)l0a(c[d>>2]|0);SU(b);return}function gna(b){b=b|0;var d=0;c[b>>2]=98124;d=b+12|0;if((a[d+11>>0]|0)<0)l0a(c[d>>2]|0);SU(b);l0a(b);return}function hna(a,b,d){a=a|0;b=b|0;d=d|0;Tk[c[(c[d>>2]|0)+192>>2]&15](a,d,b+12|0,c[b+28>>2]|0,c[b+32>>2]|0,c[b+24>>2]|0);return}function ina(a,b){a=a|0;b=b|0;a=c[b+16>>2]|0;if(!a){b=0;return b|0}b=(y1a(a,42800,56464,0)|0)!=0;return b|0}function jna(a,b){a=a|0;b=b|0;if(!b){b=0;return b|0}b=(y1a(b,42800,56464,0)|0)!=0;return b|0}function kna(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=j0a(36)|0;f=c[a+28>>2]|0;a=c[a+32>>2]|0;Tha(e);c[e>>2]=98124;t0a(e+12|0,b);c[e+24>>2]=d;c[e>>2]=98216;c[e+28>>2]=f;c[e+32>>2]=a;return e|0}function lna(b){b=b|0;var d=0;c[b>>2]=98124;d=b+12|0;if((a[d+11>>0]|0)<0)l0a(c[d>>2]|0);SU(b);l0a(b);return}function mna(a,b,d){a=a|0;b=b|0;d=d|0;Qk[c[(c[d>>2]|0)+212>>2]&127](a,d,b+12|0,c[b+24>>2]|0);return}function nna(a,b){a=a|0;b=b|0;a=c[b+16>>2]|0;if(!a){b=0;return b|0}b=(y1a(a,42800,43184,0)|0)!=0;return b|0}function ona(a,b){a=a|0;b=b|0;if(!b){b=0;return b|0}b=(y1a(b,42800,43184,0)|0)!=0;return b|0}function pna(a,b,d){a=a|0;b=b|0;d=d|0;a=j0a(28)|0;Tha(a);c[a>>2]=98124;t0a(a+12|0,b);c[a+24>>2]=d;c[a>>2]=98160;return a|0}function qna(a){a=a|0;Di()}function rna(a){a=a|0;c[a>>2]=97476;oX(a+24|0);Ula(a+12|0,c[a+16>>2]|0);SU(a);return}function sna(a){a=a|0;c[a>>2]=97476;oX(a+24|0);Ula(a+12|0,c[a+16>>2]|0);SU(a);l0a(a);return}function tna(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;i=c[b+12>>2]|0;p=b+16|0;if((i|0)==(p|0)){p=i;return p|0}o=a[d+11>>0]|0;j=o<<24>>24<0;o=j?c[d+4>>2]|0:o&255;j=j?c[d>>2]|0:d;k=e+32|0;l=k+11|0;m=e+36|0;n=(o|0)==0;if(!e){h=i;a:while(1){e=h+16|0;b=a[e+11>>0]|0;d=b<<24>>24<0;b=b&255;b:do if(((d?c[h+20>>2]|0:b)|0)==(o|0)){g=c[e>>2]|0;f=d?g:e;g=g&255;c:do if(d){if(!n?cOa(f,j,o)|0:0)break b}else if(!n){if((a[j>>0]|0)!=g<<24>>24)break b;d=j;while(1){b=b+-1|0;e=e+1|0;if(!b)break c;d=d+1|0;if((a[e>>0]|0)!=(a[d>>0]|0))break b}}while(0);if(!(c[h+28>>2]|0)){b=h;d=47;break a}}while(0);b=c[h+4>>2]|0;if(!b){d=h+8|0;b=c[d>>2]|0;if((c[b>>2]|0)!=(h|0))do{h=c[d>>2]|0;d=h+8|0;b=c[d>>2]|0}while((c[b>>2]|0)!=(h|0))}else while(1){d=c[b>>2]|0;if(!d)break;else b=d}if((b|0)==(p|0)){b=p;d=47;break}else h=b}if((d|0)==47)return b|0}d:while(1){e=i+16|0;b=a[e+11>>0]|0;d=b<<24>>24<0;b=b&255;e:do if(((d?c[i+20>>2]|0:b)|0)==(o|0)){g=c[e>>2]|0;f=d?g:e;g=g&255;f:do if(d){if(!n?cOa(f,j,o)|0:0)break e}else if(!n){if((a[j>>0]|0)!=g<<24>>24)break e;d=j;while(1){b=b+-1|0;e=e+1|0;if(!b)break f;d=d+1|0;if((a[e>>0]|0)!=(a[d>>0]|0))break e}}while(0);b=c[i+28>>2]|0;if(b|0){e=b+32|0;h=a[l>>0]|0;g=h<<24>>24<0;h=g?c[m>>2]|0:h&255;d=a[e+11>>0]|0;if(d<<24>>24<0){f=c[b+36>>2]|0;e=c[e>>2]|0}else f=d&255;d=h>>>0<f>>>0;b=d?h:f;if(b|0?cOa(e,g?c[k>>2]|0:k,b)|0:0)break;if(f>>>0>=h>>>0&(d^1)){b=i;d=47;break d}}}while(0);b=c[i+4>>2]|0;if(!b){d=i+8|0;b=c[d>>2]|0;if((c[b>>2]|0)!=(i|0))do{i=c[d>>2]|0;d=i+8|0;b=c[d>>2]|0}while((c[b>>2]|0)!=(i|0))}else while(1){d=c[b>>2]|0;if(!d)break;else b=d}if((b|0)==(p|0)){b=p;d=47;break}else i=b}if((d|0)==47)return b|0;return 0}function una(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;c[b>>2]=97304;d=b+140|0;e=c[d>>2]|0;if(e|0?(k=e+8|0,j=c[k>>2]|0,c[k>>2]=j-1,(j|0)==1):0)UU(e,1,1);c[d>>2]=0;d=b+132|0;e=c[d>>2]|0;if(e|0?(j=e+8|0,k=c[j>>2]|0,c[j>>2]=k-1,(k|0)==1):0)UU(e,1,1);c[d>>2]=0;d=b+128|0;e=c[d>>2]|0;if(e|0?(j=e+8|0,k=c[j>>2]|0,c[j>>2]=k-1,(k|0)==1):0)UU(e,1,1);c[d>>2]=0;d=b+124|0;e=c[d>>2]|0;if(e|0?(f=e+(c[(c[e>>2]|0)+-12>>2]|0)|0,j=f+8|0,k=c[j>>2]|0,c[j>>2]=k-1,(k|0)==1):0)UU(f,1,1);c[d>>2]=0;d=b+120|0;e=c[d>>2]|0;if(e|0?(g=e+(c[(c[e>>2]|0)+-12>>2]|0)|0,j=g+8|0,k=c[j>>2]|0,c[j>>2]=k-1,(k|0)==1):0)UU(g,1,1);c[d>>2]=0;d=b+116|0;e=c[d>>2]|0;if(e|0?(h=e+(c[(c[e>>2]|0)+-12>>2]|0)|0,j=h+8|0,k=c[j>>2]|0,c[j>>2]=k-1,(k|0)==1):0)UU(h,1,1);c[d>>2]=0;d=b+112|0;e=c[d>>2]|0;if(e|0?(i=e+(c[(c[e>>2]|0)+-12>>2]|0)|0,j=i+8|0,k=c[j>>2]|0,c[j>>2]=k-1,(k|0)==1):0)UU(i,1,1);c[d>>2]=0;yq(b+100|0,c[b+104>>2]|0);Fna(b+88|0,c[b+92>>2]|0);d=b+84|0;e=c[d>>2]|0;if(e|0?(j=e+8|0,k=c[j>>2]|0,c[j>>2]=k-1,(k|0)==1):0)UU(e,1,1);c[d>>2]=0;d=b+72|0;e=c[d>>2]|0;if(e|0?(j=e+8|0,k=c[j>>2]|0,c[j>>2]=k-1,(k|0)==1):0)UU(e,1,1);c[d>>2]=0;g=b+44|0;wma(g);e=b+48|0;d=c[e>>2]|0;h=b+52|0;f=c[h>>2]|0;if((d|0)!=(f|0)){do{l0a(c[d>>2]|0);d=d+4|0}while((d|0)!=(f|0));d=c[e>>2]|0;e=c[h>>2]|0;if((e|0)!=(d|0))c[h>>2]=e+(~((e+-4-d|0)>>>2)<<2)}d=c[g>>2]|0;if(d|0)l0a(d);d=b+32|0;if((a[d+11>>0]|0)>=0){Pr(b);return}l0a(c[d>>2]|0);Pr(b);return}function vna(a){a=a|0;una(a);l0a(a);return}function wna(a){a=a|0;var b=0,d=0,e=0;a=j0a(148)|0;Uha(a,1);b=a+12|0;c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;c[a+24>>2]=2;c[a+28>>2]=0;c[a>>2]=97304;b=a+68|0;d=a+32|0;e=d+36|0;do{c[d>>2]=0;d=d+4|0}while((d|0)<(e|0));c[b>>2]=8;e=a+72|0;d=a+92|0;c[d>>2]=0;c[a+96>>2]=0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[e+12>>2]=0;c[a+88>>2]=d;d=a+104|0;c[d>>2]=0;c[a+108>>2]=0;c[a+100>>2]=d;d=a+112|0;e=d+36|0;do{c[d>>2]=0;d=d+4|0}while((d|0)<(e|0));return a|0}function xna(a,b){a=a|0;b=b|0;var c=0;c=j0a(148)|0;Bna(c,a,b);return c|0}function yna(a,b){a=a|0;b=b|0;if(!b){b=0;return b|0}b=(y1a(b,42800,57712,0)|0)!=0;return b|0}function zna(a){a=a|0;return 171259}function Ana(a){a=a|0;return 173058}function Bna(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0;m=l;l=l+16|0;j=m+4|0;k=m;Or(a,b,d);c[a>>2]=97304;t0a(a+32|0,b+32|0);Cna(a+44|0,b+44|0);c[a+68>>2]=c[b+68>>2];d=c[b+72>>2]|0;c[a+72>>2]=d;if(d|0){i=d+8|0;c[i>>2]=(c[i>>2]|0)+1}c[a+76>>2]=c[b+76>>2];c[a+80>>2]=c[b+80>>2];c[a+84>>2]=0;h=a+88|0;c[a+92>>2]=0;c[a+96>>2]=0;d=a+92|0;c[h>>2]=d;e=c[b+88>>2]|0;i=b+92|0;if((e|0)!=(i|0)){g=d;while(1){d=e+16|0;c[k>>2]=g;c[j>>2]=c[k>>2];Dna(h,j,d,d)|0;d=c[e+4>>2]|0;if(!d){f=e+8|0;d=c[f>>2]|0;if((c[d>>2]|0)!=(e|0)){e=f;do{f=c[e>>2]|0;e=f+8|0;d=c[e>>2]|0}while((c[d>>2]|0)!=(f|0))}}else while(1){e=c[d>>2]|0;if(!e)break;else d=e}if((d|0)==(i|0))break;else e=d}}h=a+100|0;c[a+104>>2]=0;c[a+108>>2]=0;d=a+104|0;c[h>>2]=d;e=c[b+100>>2]|0;i=b+104|0;if((e|0)!=(i|0)){g=d;while(1){d=e+16|0;c[k>>2]=g;c[j>>2]=c[k>>2];Ena(h,j,d,d)|0;d=c[e+4>>2]|0;if(!d){f=e+8|0;d=c[f>>2]|0;if((c[d>>2]|0)!=(e|0)){e=f;do{f=c[e>>2]|0;e=f+8|0;d=c[e>>2]|0}while((c[d>>2]|0)!=(f|0))}}else while(1){e=c[d>>2]|0;if(!e)break;else d=e}if((d|0)==(i|0))break;else e=d}}d=c[b+112>>2]|0;c[a+112>>2]=d;if(d|0){k=d+(c[(c[d>>2]|0)+-12>>2]|0)+8|0;c[k>>2]=(c[k>>2]|0)+1}d=c[b+116>>2]|0;c[a+116>>2]=d;if(d|0){k=d+(c[(c[d>>2]|0)+-12>>2]|0)+8|0;c[k>>2]=(c[k>>2]|0)+1}d=c[b+120>>2]|0;c[a+120>>2]=d;if(d|0){k=d+(c[(c[d>>2]|0)+-12>>2]|0)+8|0;c[k>>2]=(c[k>>2]|0)+1}d=c[b+124>>2]|0;c[a+124>>2]=d;if(d|0){k=d+(c[(c[d>>2]|0)+-12>>2]|0)+8|0;c[k>>2]=(c[k>>2]|0)+1}d=c[b+128>>2]|0;c[a+128>>2]=d;if(d|0){k=d+8|0;c[k>>2]=(c[k>>2]|0)+1}d=c[b+132>>2]|0;c[a+132>>2]=d;if(d|0){k=d+8|0;c[k>>2]=(c[k>>2]|0)+1}c[a+136>>2]=c[b+136>>2];d=c[b+140>>2]|0;c[a+140>>2]=d;if(!d){a=a+144|0;b=b+144|0;b=c[b>>2]|0;c[a>>2]=b;l=m;return}k=d+8|0;c[k>>2]=(c[k>>2]|0)+1;a=a+144|0;b=b+144|0;b=c[b>>2]|0;c[a>>2]=b;l=m;return}function Cna(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0;n=l;l=l+32|0;j=n+24|0;i=n+16|0;k=n+8|0;m=n;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;c[a+12>>2]=0;c[a+16>>2]=0;c[a+20>>2]=0;g=c[b+4>>2]|0;e=c[b+16>>2]|0;d=(e>>>0)/341|0;f=g+(d<<2)|0;h=(c[b+8>>2]|0)==(g|0);if(h)d=0;else d=(c[f>>2]|0)+((e-(d*341|0)|0)*12|0)|0;c[k>>2]=f;c[k+4>>2]=d;d=(c[b+20>>2]|0)+e|0;b=(d>>>0)/341|0;e=g+(b<<2)|0;if(h)d=0;else d=(c[e>>2]|0)+((d-(b*341|0)|0)*12|0)|0;c[m>>2]=e;c[m+4>>2]=d;c[i>>2]=c[k>>2];c[i+4>>2]=c[k+4>>2];c[j>>2]=c[m>>2];c[j+4>>2]=c[m+4>>2];Jna(a,i,j,0);l=n;return}function Dna(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;h=l;l=l+16|0;f=h+12|0;g=h+8|0;i=h;c[i>>2]=c[b>>2];c[f>>2]=c[i>>2];f=Hna(a,f,g,h+4|0,d)|0;b=c[f>>2]|0;if(b|0){i=b;l=h;return i|0}d=j0a(32)|0;t0a(d+16|0,e);c[d+28>>2]=c[e+12>>2];b=c[g>>2]|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=b;c[f>>2]=d;b=c[c[a>>2]>>2]|0;if(!b)b=d;else{c[a>>2]=b;b=c[f>>2]|0}fp(c[a+4>>2]|0,b);i=a+8|0;c[i>>2]=(c[i>>2]|0)+1;i=d;l=h;return i|0}function Ena(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;h=l;l=l+16|0;f=h+12|0;g=h+8|0;i=h;c[i>>2]=c[b>>2];c[f>>2]=c[i>>2];f=Gna(a,f,g,h+4|0,d)|0;b=c[f>>2]|0;if(b|0){i=b;l=h;return i|0}d=j0a(40)|0;t0a(d+16|0,e);t0a(d+28|0,e+12|0);b=c[g>>2]|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=b;c[f>>2]=d;b=c[c[a>>2]>>2]|0;if(!b)b=d;else{c[a>>2]=b;b=c[f>>2]|0}fp(c[a+4>>2]|0,b);i=a+8|0;c[i>>2]=(c[i>>2]|0)+1;i=d;l=h;return i|0}function Fna(b,d){b=b|0;d=d|0;if(!d)return;Fna(b,c[d>>2]|0);Fna(b,c[d+4>>2]|0);b=d+16|0;if((a[b+11>>0]|0)<0)l0a(c[b>>2]|0);l0a(d);return}function Gna(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;q=b+4|0;v=c[d>>2]|0;d=v;do if((v|0)!=(q|0)){m=v+16|0;k=a[m+11>>0]|0;j=k<<24>>24<0;k=j?c[v+20>>2]|0:k&255;t=a[g+11>>0]|0;s=t<<24>>24<0;t=s?c[g+4>>2]|0:t&255;p=k>>>0<t>>>0;o=p?k:t;l=(o|0)==0;if(!l?(h=s?c[g>>2]|0:g,i=j?c[m>>2]|0:m,n=cOa(h,i,o)|0,(n|0)!=0):0)if((n|0)<0)break;else w=23;else{if(t>>>0<k>>>0)break;if(l)w=24;else{i=j?c[m>>2]|0:m;h=s?c[g>>2]|0:g;w=23}}if((w|0)==23){h=cOa(i,h,o)|0;if(h){if((h|0)>=0)w=42}else w=24}if((w|0)==24?!p:0)w=42;if((w|0)==42){c[e>>2]=d;c[f>>2]=d;e=f;return e|0}h=c[v+4>>2]|0;if(!h){i=v+8|0;h=c[i>>2]|0;if((c[h>>2]|0)!=(v|0))do{r=c[i>>2]|0;i=r+8|0;h=c[i>>2]|0}while((c[h>>2]|0)!=(r|0))}else while(1){i=c[h>>2]|0;if(!i)break;else h=i}do if((h|0)!=(q|0)){j=h+16|0;l=a[j+11>>0]|0;k=l<<24>>24<0;l=k?c[h+20>>2]|0:l&255;i=l>>>0<t>>>0?l:t;if((i|0)!=0?(u=cOa(s?c[g>>2]|0:g,k?c[j>>2]|0:j,i)|0,(u|0)!=0):0){if((u|0)<0)break}else w=36;if((w|0)==36?t>>>0<l>>>0:0)break;e=ep(b,e,g)|0;return e|0}while(0);if(!(c[v+4>>2]|0)){c[e>>2]=d;e=v+4|0;return e|0}else{c[e>>2]=h;e=h;return e|0}}while(0);n=c[v>>2]|0;do if((c[b>>2]|0)!=(v|0)){if(!n){d=v;do{u=d;d=c[d+8>>2]|0}while((c[d>>2]|0)==(u|0));h=d}else{d=n;while(1){h=c[d+4>>2]|0;if(!h){h=d;break}else d=h}}d=h;j=h+16|0;l=a[g+11>>0]|0;k=l<<24>>24<0;l=k?c[g+4>>2]|0:l&255;i=a[j+11>>0]|0;m=i<<24>>24<0;i=m?c[h+20>>2]|0:i&255;h=l>>>0<i>>>0?l:i;if((h|0)!=0?(r=cOa(m?c[j>>2]|0:j,k?c[g>>2]|0:g,h)|0,(r|0)!=0):0){if((r|0)<0)break}else w=15;if((w|0)==15?i>>>0<l>>>0:0)break;e=ep(b,e,g)|0;return e|0}while(0);if(!n){c[e>>2]=v;e=v;return e|0}else{c[e>>2]=d;e=d+4|0;return e|0}return 0}function Hna(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;q=b+4|0;v=c[d>>2]|0;d=v;do if((v|0)!=(q|0)){m=v+16|0;k=a[m+11>>0]|0;j=k<<24>>24<0;k=j?c[v+20>>2]|0:k&255;t=a[g+11>>0]|0;s=t<<24>>24<0;t=s?c[g+4>>2]|0:t&255;p=k>>>0<t>>>0;o=p?k:t;l=(o|0)==0;if(!l?(h=s?c[g>>2]|0:g,i=j?c[m>>2]|0:m,n=cOa(h,i,o)|0,(n|0)!=0):0)if((n|0)<0)break;else w=23;else{if(t>>>0<k>>>0)break;if(l)w=24;else{i=j?c[m>>2]|0:m;h=s?c[g>>2]|0:g;w=23}}if((w|0)==23){h=cOa(i,h,o)|0;if(h){if((h|0)>=0)w=42}else w=24}if((w|0)==24?!p:0)w=42;if((w|0)==42){c[e>>2]=d;c[f>>2]=d;e=f;return e|0}h=c[v+4>>2]|0;if(!h){i=v+8|0;h=c[i>>2]|0;if((c[h>>2]|0)!=(v|0))do{r=c[i>>2]|0;i=r+8|0;h=c[i>>2]|0}while((c[h>>2]|0)!=(r|0))}else while(1){i=c[h>>2]|0;if(!i)break;else h=i}do if((h|0)!=(q|0)){j=h+16|0;l=a[j+11>>0]|0;k=l<<24>>24<0;l=k?c[h+20>>2]|0:l&255;i=l>>>0<t>>>0?l:t;if((i|0)!=0?(u=cOa(s?c[g>>2]|0:g,k?c[j>>2]|0:j,i)|0,(u|0)!=0):0){if((u|0)<0)break}else w=36;if((w|0)==36?t>>>0<l>>>0:0)break;e=Ina(b,e,g)|0;return e|0}while(0);if(!(c[v+4>>2]|0)){c[e>>2]=d;e=v+4|0;return e|0}else{c[e>>2]=h;e=h;return e|0}}while(0);n=c[v>>2]|0;do if((c[b>>2]|0)!=(v|0)){if(!n){d=v;do{u=d;d=c[d+8>>2]|0}while((c[d>>2]|0)==(u|0));h=d}else{d=n;while(1){h=c[d+4>>2]|0;if(!h){h=d;break}else d=h}}d=h;j=h+16|0;l=a[g+11>>0]|0;k=l<<24>>24<0;l=k?c[g+4>>2]|0:l&255;i=a[j+11>>0]|0;m=i<<24>>24<0;i=m?c[h+20>>2]|0:i&255;h=l>>>0<i>>>0?l:i;if((h|0)!=0?(r=cOa(m?c[j>>2]|0:j,k?c[g>>2]|0:g,h)|0,(r|0)!=0):0){if((r|0)<0)break}else w=15;if((w|0)==15?i>>>0<l>>>0:0)break;e=Ina(b,e,g)|0;return e|0}while(0);if(!n){c[e>>2]=v;e=v;return e|0}else{c[e>>2]=d;e=d+4|0;return e|0}return 0}function Ina(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;f=b+4|0;h=c[f>>2]|0;if(!h){c[d>>2]=f;o=f;return o|0}m=a[e+11>>0]|0;l=m<<24>>24<0;m=l?c[e+4>>2]|0:m&255;l=l?c[e>>2]|0:e;g=b+4|0;f=h;while(1){e=f+16|0;h=a[e+11>>0]|0;b=h<<24>>24<0;h=b?c[f+20>>2]|0:h&255;k=h>>>0<m>>>0;j=k?h:m;i=(j|0)==0;if(!i?(n=b?c[e>>2]|0:e,o=cOa(l,n,j)|0,(o|0)!=0):0)if((o|0)<0)b=7;else{e=n;b=11}else if(m>>>0>=h>>>0)if(i)b=12;else{e=b?c[e>>2]|0:e;b=11}else b=7;if((b|0)==7){b=0;e=c[f>>2]|0;if(!e){b=8;break}else{g=f;f=e}}else if((b|0)==11){e=cOa(e,l,j)|0;if(e)if((e|0)<0)b=14;else{b=16;break}else b=12}if((b|0)==12)if(k)b=14;else{b=16;break}if((b|0)==14){e=f+4|0;b=c[e>>2]|0;if(!b){b=15;break}else{g=e;f=b}}}if((b|0)==8){c[d>>2]=f;o=f;return o|0}else if((b|0)==15){c[d>>2]=f;o=e;return o|0}else if((b|0)==16){c[d>>2]=f;o=g;return o|0}return 0}function Jna(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;g=b;m=c[g>>2]|0;g=c[g+4>>2]|0;f=d;e=c[f>>2]|0;f=c[f+4>>2]|0;if((f|0)==(g|0))e=0;else e=((f-(c[e>>2]|0)|0)/12|0)+((e-m>>2)*341|0)+((g-(c[m>>2]|0)|0)/-12|0)|0;l=a+8|0;f=c[l>>2]|0;k=a+4|0;g=c[k>>2]|0;j=f-g|0;h=a+16|0;n=a+20|0;i=(c[n>>2]|0)+(c[h>>2]|0)|0;j=((j|0)==0?0:((j>>2)*341|0)+-1|0)-i|0;if(e>>>0>j>>>0){Kna(a,e-j|0);i=(c[h>>2]|0)+(c[n>>2]|0)|0;g=c[k>>2]|0;f=c[l>>2]|0}e=(i>>>0)/341|0;h=g+(e<<2)|0;if((f|0)==(g|0))f=0;else f=(c[h>>2]|0)+((i-(e*341|0)|0)*12|0)|0;j=b+4|0;e=c[j>>2]|0;i=c[d+4>>2]|0;if((e|0)==(i|0))return;g=m;do{t0a(f,e);f=f+12|0;if((f-(c[h>>2]|0)|0)==4092){f=h+4|0;h=f;f=c[f>>2]|0}e=e+12|0;c[j>>2]=e;if((e-(c[g>>2]|0)|0)==4092){g=g+4|0;c[b>>2]=g;e=c[g>>2]|0;c[j>>2]=e}c[n>>2]=(c[n>>2]|0)+1}while((e|0)!=(i|0));return}function Kna(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0;G=l;l=l+32|0;D=G+4|0;z=G;E=a+8|0;e=c[E>>2]|0;F=a+4|0;u=c[F>>2]|0;C=((e|0)==(u|0)&1)+b|0;v=(C>>>0)/341|0;v=v+((C-(v*341|0)|0)!=0&1)|0;C=a+16|0;d=c[C>>2]|0;w=(d>>>0)/341|0;B=v>>>0<w>>>0?v:w;b=v-B|0;t=e;if(!b){c[C>>2]=(N(B,-341)|0)+d;if(!B){l=G;return}s=a+12|0;d=B;g=u;a:while(1){r=c[g>>2]|0;q=g+4|0;c[F>>2]=q;A=c[s>>2]|0;i=A;do if((e|0)==(A|0)){m=q;g=c[a>>2]|0;h=g;if(q>>>0>g>>>0){e=((m-h>>2)+1|0)/-2|0;h=q+(e<<2)|0;g=i-m|0;if(!g)e=h;else{y2a(h|0,q|0,g|0)|0;e=(c[F>>2]|0)+(e<<2)|0}A=h+(g>>2<<2)|0;c[E>>2]=A;c[F>>2]=e;e=A;break}i=i-h|0;i=(i|0)==0?1:i>>1;j=i>>>2;if(!i)k=0;else{if(i>>>0>1073741823){g=11;break a}k=j0a(i<<2)|0}o=k;h=k+(j<<2)|0;p=h;n=k+(i<<2)|0;if((q|0)==(e|0))e=p;else{i=((e+-4-m|0)>>>2)+1|0;g=q;while(1){c[h>>2]=c[g>>2];g=g+4|0;if((g|0)==(e|0))break;else h=h+4|0}e=k+(i+j<<2)|0;g=c[a>>2]|0}c[a>>2]=o;c[F>>2]=p;c[E>>2]=e;c[s>>2]=n;if(g){l0a(g);e=c[E>>2]|0}}while(0);c[e>>2]=r;e=(c[E>>2]|0)+4|0;c[E>>2]=e;d=d+-1|0;if(!d){g=82;break}g=c[F>>2]|0}if((g|0)==11){G=db(8)|0;p0a(G,183738);c[G>>2]=110936;hb(G|0,65952,1066)}else if((g|0)==82){l=G;return}}A=a+12|0;d=c[A>>2]|0;r=d-(c[a>>2]|0)|0;s=t-u>>2;if(b>>>0<=((r>>2)-s|0)>>>0){b:do if((d|0)==(t|0)){y=b;g=27}else{d=b;while(1){c[D>>2]=j0a(4092)|0;Zma(a,D);d=d+-1|0;if(!d)break;if((c[A>>2]|0)==(c[E>>2]|0)){y=d;g=27;break b}}x=B;f=c[C>>2]|0}while(0);if((g|0)==27){e=~(v>>>0>w>>>0?w:v);d=y;do{c[D>>2]=j0a(4092)|0;_ma(a,D);d=d+-1|0;f=(((c[E>>2]|0)-(c[F>>2]|0)|0)==4?340:341)+(c[C>>2]|0)|0;c[C>>2]=f}while((d|0)!=0);x=y+-1-e|0}c[C>>2]=f+(N(x,-341)|0);if(!x){l=G;return}p=x;d=c[E>>2]|0;c:while(1){o=c[F>>2]|0;q=c[o>>2]|0;o=o+4|0;c[F>>2]=o;y=c[A>>2]|0;g=y;do if((d|0)==(y|0)){j=o;e=c[a>>2]|0;f=e;if(o>>>0>e>>>0){d=((j-f>>2)+1|0)/-2|0;f=o+(d<<2)|0;e=g-j|0;if(!e)d=f;else{y2a(f|0,o|0,e|0)|0;d=(c[F>>2]|0)+(d<<2)|0}y=f+(e>>2<<2)|0;c[E>>2]=y;c[F>>2]=d;d=y;break}g=g-f|0;g=(g|0)==0?1:g>>1;h=g>>>2;if(!g)i=0;else{if(g>>>0>1073741823){g=39;break c}i=j0a(g<<2)|0}m=i;f=i+(h<<2)|0;n=f;k=i+(g<<2)|0;if((o|0)==(d|0))d=n;else{g=((d+-4-j|0)>>>2)+1|0;e=o;while(1){c[f>>2]=c[e>>2];e=e+4|0;if((e|0)==(d|0))break;else f=f+4|0}d=i+(g+h<<2)|0;e=c[a>>2]|0}c[a>>2]=m;c[F>>2]=n;c[E>>2]=d;c[A>>2]=k;if(e){l0a(e);d=c[E>>2]|0}}while(0);c[d>>2]=q;d=(c[E>>2]|0)+4|0;c[E>>2]=d;p=p+-1|0;if(!p){g=82;break}}if((g|0)==39){G=db(8)|0;p0a(G,183738);c[G>>2]=110936;hb(G|0,65952,1066)}else if((g|0)==82){l=G;return}}f=r>>1;d=s+b|0;f=f>>>0<d>>>0?d:f;d=s-B|0;s=D+12|0;c[s>>2]=0;c[D+16>>2]=a+12;do if(f)if(f>>>0>1073741823){G=db(8)|0;p0a(G,183738);c[G>>2]=110936;hb(G|0,65952,1066)}else{e=j0a(f<<2)|0;break}else e=0;while(0);c[D>>2]=e;y=e+(d<<2)|0;t=D+8|0;c[t>>2]=y;r=D+4|0;c[r>>2]=y;c[s>>2]=e+(f<<2);do{c[z>>2]=j0a(4092)|0;$ma(D,z);b=b+-1|0}while((b|0)!=0);d:do if(!B)d=c[F>>2]|0;else{q=B;b=c[t>>2]|0;d=c[F>>2]|0;e:while(1){z=c[s>>2]|0;g=z;do if((b|0)==(z|0)){p=c[r>>2]|0;k=p;o=c[D>>2]|0;e=o;if(p>>>0>o>>>0){b=((k-e>>2)+1|0)/-2|0;f=p+(b<<2)|0;e=g-k|0;if(!e)b=f;else{y2a(f|0,p|0,e|0)|0;b=(c[r>>2]|0)+(b<<2)|0}z=f+(e>>2<<2)|0;c[t>>2]=z;c[r>>2]=b;b=z;break}e=g-e|0;e=(e|0)==0?1:e>>1;h=e>>>2;if(!e)i=0;else{if(e>>>0>1073741823)break e;i=j0a(e<<2)|0}m=i;f=i+(h<<2)|0;n=f;j=i+(e<<2)|0;if((p|0)==(b|0))b=n;else{g=((b+-4-k|0)>>>2)+1|0;e=p;while(1){c[f>>2]=c[e>>2];e=e+4|0;if((e|0)==(b|0))break;else f=f+4|0}b=i+(g+h<<2)|0}c[D>>2]=m;c[r>>2]=n;c[t>>2]=b;c[s>>2]=j;if(o){l0a(o);b=c[t>>2]|0}}while(0);c[b>>2]=c[d>>2];b=(c[t>>2]|0)+4|0;c[t>>2]=b;d=(c[F>>2]|0)+4|0;c[F>>2]=d;q=q+-1|0;if(!q)break d}G=db(8)|0;p0a(G,183738);c[G>>2]=110936;hb(G|0,65952,1066)}while(0);b=c[E>>2]|0;if((b|0)!=(d|0)){do{b=b+-4|0;ana(D,b);d=c[F>>2]|0}while((b|0)!=(d|0));b=c[E>>2]|0}e=d;f=c[a>>2]|0;c[a>>2]=c[D>>2];c[D>>2]=f;c[F>>2]=c[r>>2];c[r>>2]=e;c[E>>2]=c[t>>2];c[t>>2]=b;F=c[A>>2]|0;c[A>>2]=c[s>>2];c[s>>2]=F;c[C>>2]=(c[C>>2]|0)+(N(B,-341)|0);if((d|0)!=(b|0))c[t>>2]=b+(~((b+-4-e|0)>>>2)<<2);if(f|0)l0a(f);l=G;return}function Lna(d){d=d|0;var e=0,f=0,g=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0,Ga=0,Ha=0,Ia=0,Ja=0,Ka=0,La=0,Ma=0,Na=0,Oa=0,Pa=0,Qa=0,Ra=0,Sa=0,Ta=0,Ua=0,Va=0,Wa=0,Xa=0,Ya=0,Za=0,_a=0,$a=0,ab=0,bb=0,cb=0,db=0,eb=0,fb=0,gb=0,hb=0,ib=0,jb=0,kb=0,lb=0,mb=0,nb=0,ob=0,pb=0,qb=0,rb=0,sb=0,tb=0,ub=0,vb=0,wb=0,xb=0,yb=0,zb=0,Ab=0,Bb=0,Cb=0,Db=0,Eb=0;Eb=l;l=l+1424|0;yb=Eb+1400|0;q=Eb+1388|0;r=Eb+1376|0;s=Eb+1364|0;t=Eb+1352|0;u=Eb+1340|0;v=Eb+1328|0;y=Eb+1316|0;z=Eb+1304|0;A=Eb+1292|0;B=Eb+1280|0;C=Eb+1268|0;D=Eb+1256|0;E=Eb+1244|0;F=Eb+1232|0;G=Eb+1220|0;H=Eb+1208|0;I=Eb+1196|0;J=Eb+1184|0;K=Eb+1172|0;L=Eb+1160|0;M=Eb+1148|0;N=Eb+1136|0;O=Eb+1124|0;P=Eb+1112|0;Q=Eb+1100|0;R=Eb+1088|0;S=Eb+1076|0;T=Eb+1064|0;U=Eb+1052|0;V=Eb+1040|0;W=Eb+1028|0;X=Eb+1016|0;Y=Eb+1004|0;Z=Eb+992|0;_=Eb+980|0;$=Eb+968|0;aa=Eb+956|0;ba=Eb+944|0;ca=Eb+932|0;da=Eb+920|0;ea=Eb+908|0;fa=Eb+896|0;ga=Eb+884|0;ha=Eb+872|0;ia=Eb+860|0;ja=Eb+848|0;ka=Eb+836|0;la=Eb+824|0;ma=Eb+812|0;na=Eb+800|0;oa=Eb+788|0;pa=Eb+776|0;qa=Eb+764|0;ra=Eb+752|0;sa=Eb+740|0;ta=Eb+728|0;ua=Eb+716|0;va=Eb+704|0;wa=Eb+692|0;xa=Eb+680|0;ya=Eb+668|0;za=Eb+656|0;Aa=Eb+644|0;Ba=Eb+632|0;Ca=Eb+620|0;Da=Eb+608|0;Ea=Eb+596|0;Fa=Eb+584|0;Ga=Eb+572|0;Ha=Eb+560|0;Ia=Eb+548|0;Ja=Eb+536|0;Ka=Eb+524|0;La=Eb+512|0;Ma=Eb+500|0;Na=Eb+128|0;Oa=Eb+488|0;Pa=Eb+112|0;Qa=Eb+476|0;Ra=Eb+96|0;Sa=Eb+464|0;Ta=Eb+80|0;Ua=Eb+452|0;Va=Eb+64|0;Wa=Eb+440|0;Xa=Eb+48|0;Ya=Eb+428|0;Za=Eb+32|0;_a=Eb+416|0;$a=Eb+16|0;ab=Eb+404|0;bb=Eb+392|0;cb=Eb+380|0;db=Eb+368|0;eb=Eb+356|0;fb=Eb+344|0;gb=Eb+332|0;hb=Eb+320|0;ib=Eb+308|0;jb=Eb+296|0;kb=Eb+284|0;lb=Eb+272|0;mb=Eb;nb=Eb+260|0;ob=Eb+248|0;pb=Eb+236|0;qb=Eb+224|0;rb=Eb+212|0;sb=Eb+200|0;tb=Eb+188|0;vb=Eb+176|0;wb=Eb+164|0;zb=Eb+152|0;Ab=Eb+140|0;Tha(d);c[d>>2]=98252;g=d+16|0;c[g>>2]=0;k=d+20|0;c[k>>2]=0;c[d+24>>2]=0;c[d+36>>2]=0;c[d+40>>2]=0;c[d+32>>2]=d+36;w=d+44|0;e=d+60|0;c[w>>2]=0;c[w+4>>2]=0;c[w+8>>2]=0;c[w+12>>2]=0;xla(e,1);c[e>>2]=81256;e=d+108|0;w=d+72|0;x=w+36|0;do{c[w>>2]=0;w=w+4|0}while((w|0)<(x|0));xla(e,1);c[e>>2]=81256;c[d+124>>2]=0;c[d+128>>2]=0;c[d+120>>2]=d+124;ub=d+136|0;c[d+140>>2]=0;c[d+144>>2]=0;c[ub>>2]=d+140;xb=d+148|0;c[d+152>>2]=0;c[d+156>>2]=0;c[xb>>2]=d+152;m=d+212|0;n=d+224|0;o=d+228|0;p=d+232|0;Cb=d+240|0;Db=d+244|0;j=d+12|0;c[j>>2]=0;w=d+160|0;x=w+56|0;do{c[w>>2]=0;w=w+4|0}while((w|0)<(x|0));c[n>>2]=0;c[n+4>>2]=0;c[n+8>>2]=0;c[n+12>>2]=0;c[n+16>>2]=0;c[n+20>>2]=0;e=j0a(104)|0;gU(e);f=c[g>>2]|0;if(((f|0)!=(e|0)?(c[g>>2]=e,x=e+(c[(c[e>>2]|0)+-12>>2]|0)+8|0,c[x>>2]=(c[x>>2]|0)+1,f|0):0)?(i=f+(c[(c[f>>2]|0)+-12>>2]|0)|0,w=i+8|0,x=c[w>>2]|0,c[w>>2]=x-1,(x|0)==1):0)UU(i,1,1);e=Jh(173066)|0;if(e|0){if(((eOa(e,173084)|0)!=0?(eOa(e,173088)|0)!=0:0)?(eOa(e,173092)|0)!=0:0)e=2;else e=1;c[j>>2]=e}e=d+216|0;h[e>>3]=10.0;f=Jh(173096)|0;if(f|0?(h[e>>3]=+fu(f),ZQ(4)|0):0){x=mr(lr(4)|0,173113,26)|0;x=TSa(x,+h[e>>3])|0;BSa(yb,x+(c[(c[x>>2]|0)+-12>>2]|0)|0);w=cUa(yb,230580)|0;w=kk[c[(c[w>>2]|0)+28>>2]&511](w,10)|0;dUa(yb);VSa(x,w)|0;HSa(x)|0}f=Jh(173140)|0;if(f|0){i=j0a(36)|0;c[yb>>2]=0;c[yb+4>>2]=0;c[yb+8>>2]=0;g=VNa(f)|0;if(g>>>0>4294967279)r0a(yb);if(g>>>0<11){a[yb+11>>0]=g;if(!g)e=yb;else{e=yb;Bb=20}}else{Bb=g+16&-16;e=j0a(Bb)|0;c[yb>>2]=e;c[yb+8>>2]=Bb|-2147483648;c[yb+4>>2]=g;Bb=20}if((Bb|0)==20)x2a(e|0,f|0,g|0)|0;a[e+g>>0]=0;Ona(i,yb);e=c[k>>2]|0;if(((e|0)!=(i|0)?(c[k>>2]=i,x=i+8|0,c[x>>2]=(c[x>>2]|0)+1,e|0):0)?(w=e+8|0,x=c[w>>2]|0,c[w>>2]=x-1,(x|0)==1):0)UU(e,1,1);if((a[yb+11>>0]|0)<0)l0a(c[yb>>2]|0)}e=j0a(36)|0;Uha(e,1);c[e>>2]=97476;f=e+16|0;c[f>>2]=0;c[e+20>>2]=0;c[e+12>>2]=f;xla(e+24|0,0);f=c[m>>2]|0;if(((f|0)!=(e|0)?(c[m>>2]=e,x=e+8|0,c[x>>2]=(c[x>>2]|0)+1,f|0):0)?(w=f+8|0,x=c[w>>2]|0,c[w>>2]=x-1,(x|0)==1):0)UU(f,1,1);a[d+28>>0]=0;a[d+132>>0]=0;c[yb>>2]=0;c[yb+4>>2]=0;c[yb+8>>2]=0;e=yb+11|0;a[e>>0]=4;c[yb>>2]=1634169711;a[yb+4>>0]=0;f=c[o>>2]|0;if(f>>>0>=(c[p>>2]|0)>>>0){Zp(n,yb);if((a[e>>0]|0)<0)l0a(c[yb>>2]|0)}else{c[f>>2]=c[yb>>2];c[f+4>>2]=c[yb+4>>2];c[f+8>>2]=c[yb+8>>2];c[yb>>2]=0;c[yb+4>>2]=0;c[yb+8>>2]=0;c[o>>2]=(c[o>>2]|0)+12}e=yb+4|0;c[e>>2]=0;c[e+4>>2]=0;e=yb+11|0;a[e>>0]=3;a[yb>>0]=a[173155]|0;a[yb+1>>0]=a[173156]|0;a[yb+2>>0]=a[173157]|0;a[yb+3>>0]=0;f=c[o>>2]|0;if(f>>>0>=(c[p>>2]|0)>>>0){Zp(n,yb);if((a[e>>0]|0)<0)l0a(c[yb>>2]|0)}else{c[f>>2]=c[yb>>2];c[f+4>>2]=c[yb+4>>2];c[f+8>>2]=c[yb+8>>2];c[yb>>2]=0;c[yb+4>>2]=0;c[yb+8>>2]=0;c[o>>2]=(c[o>>2]|0)+12}Pna(d);Qna(d);e=Jh(173159)|0;if(!e){e=s+4|0;c[e>>2]=0;c[e+4>>2]=0;e=s+11|0;a[e>>0]=3;a[s>>0]=a[173186]|0;a[s+1>>0]=a[173187]|0;a[s+2>>0]=a[173188]|0;a[s+3>>0]=0;f=t+11|0;a[f>>0]=10;w=t;g=173190;x=w+10|0;do{a[w>>0]=a[g>>0]|0;w=w+1|0;g=g+1|0}while((w|0)<(x|0));a[t+10>>0]=0;z0a(It(ub,s)|0,t)|0;if((a[f>>0]|0)<0)l0a(c[t>>2]|0);if((a[e>>0]|0)<0)l0a(c[s>>2]|0)}else if(!(eOa(e,173182)|0)){e=q+4|0;c[e>>2]=0;c[e+4>>2]=0;e=q+11|0;a[e>>0]=3;a[q>>0]=a[173186]|0;a[q+1>>0]=a[173187]|0;a[q+2>>0]=a[173188]|0;a[q+3>>0]=0;f=r+11|0;a[f>>0]=10;w=r;g=173190;x=w+10|0;do{a[w>>0]=a[g>>0]|0;w=w+1|0;g=g+1|0}while((w|0)<(x|0));a[r+10>>0]=0;z0a(It(ub,q)|0,r)|0;if((a[f>>0]|0)<0)l0a(c[r>>2]|0);if((a[e>>0]|0)<0)l0a(c[q>>2]|0)};c[u>>2]=0;c[u+4>>2]=0;c[u+8>>2]=0;e=u+11|0;a[e>>0]=4;c[u>>2]=1936159599;a[u+4>>0]=0;x=v+4|0;c[x>>2]=0;c[x+4>>2]=0;x=v+11|0;a[x>>0]=3;a[v>>0]=a[186332]|0;a[v+1>>0]=a[186333]|0;a[v+2>>0]=a[186334]|0;a[v+3>>0]=0;z0a(It(ub,u)|0,v)|0;if((a[x>>0]|0)<0)l0a(c[v>>2]|0);if((a[e>>0]|0)<0)l0a(c[u>>2]|0);c[y>>2]=0;c[y+4>>2]=0;c[y+8>>2]=0;e=y+11|0;a[e>>0]=4;c[y>>2]=1952936815;a[y+4>>0]=0;x=z+4|0;c[x>>2]=0;c[x+4>>2]=0;x=z+11|0;a[x>>0]=3;a[z>>0]=a[186332]|0;a[z+1>>0]=a[186333]|0;a[z+2>>0]=a[186334]|0;a[z+3>>0]=0;z0a(It(ub,y)|0,z)|0;if((a[x>>0]|0)<0)l0a(c[z>>2]|0);if((a[e>>0]|0)<0)l0a(c[y>>2]|0);c[A>>2]=0;c[A+4>>2]=0;c[A+8>>2]=0;e=A+11|0;a[e>>0]=4;c[A>>2]=1650946927;a[A+4>>0]=0;z=B+4|0;c[z>>2]=0;c[z+4>>2]=0;z=B+11|0;a[z>>0]=3;a[B>>0]=a[186332]|0;a[B+1>>0]=a[186333]|0;a[B+2>>0]=a[186334]|0;a[B+3>>0]=0;z0a(It(ub,A)|0,B)|0;if((a[z>>0]|0)<0)l0a(c[B>>2]|0);if((a[e>>0]|0)<0)l0a(c[A>>2]|0);c[C>>2]=0;c[C+4>>2]=0;c[C+8>>2]=0;e=C+11|0;a[e>>0]=4;c[C>>2]=2020045679;a[C+4>>0]=0;B=D+4|0;c[B>>2]=0;c[B+4>>2]=0;B=D+11|0;a[B>>0]=3;a[D>>0]=a[186332]|0;a[D+1>>0]=a[186333]|0;a[D+2>>0]=a[186334]|0;a[D+3>>0]=0;z0a(It(ub,C)|0,D)|0;if((a[B>>0]|0)<0)l0a(c[D>>2]|0);if((a[e>>0]|0)<0)l0a(c[C>>2]|0);c[E>>2]=0;c[E+4>>2]=0;c[E+8>>2]=0;e=E+11|0;a[e>>0]=6;a[E>>0]=a[173201]|0;a[E+1>>0]=a[173202]|0;a[E+2>>0]=a[173203]|0;a[E+3>>0]=a[173204]|0;a[E+4>>0]=a[173205]|0;a[E+5>>0]=a[173206]|0;a[E+6>>0]=0;c[F>>2]=0;c[F+4>>2]=0;c[F+8>>2]=0;f=F+11|0;a[f>>0]=9;w=F;g=173208;x=w+9|0;do{a[w>>0]=a[g>>0]|0;w=w+1|0;g=g+1|0}while((w|0)<(x|0));a[F+9>>0]=0;z0a(It(ub,E)|0,F)|0;if((a[f>>0]|0)<0)l0a(c[F>>2]|0);if((a[e>>0]|0)<0)l0a(c[E>>2]|0);c[G+8>>2]=0;e=G+11|0;a[e>>0]=7;a[G>>0]=a[173218]|0;a[G+1>>0]=a[173219]|0;a[G+2>>0]=a[173220]|0;a[G+3>>0]=a[173221]|0;a[G+4>>0]=a[173222]|0;a[G+5>>0]=a[173223]|0;a[G+6>>0]=a[173224]|0;a[G+7>>0]=0;f=H+11|0;a[f>>0]=10;w=H;g=173226;x=w+10|0;do{a[w>>0]=a[g>>0]|0;w=w+1|0;g=g+1|0}while((w|0)<(x|0));a[H+10>>0]=0;z0a(It(ub,G)|0,H)|0;if((a[f>>0]|0)<0)l0a(c[H>>2]|0);if((a[e>>0]|0)<0)l0a(c[G>>2]|0);c[I>>2]=0;c[I+4>>2]=0;c[I+8>>2]=0;e=I+11|0;a[e>>0]=4;c[I>>2]=2003134838;a[I+4>>0]=0;c[J>>2]=0;c[J+4>>2]=0;c[J+8>>2]=0;f=J+11|0;a[f>>0]=9;w=J;g=173237;x=w+9|0;do{a[w>>0]=a[g>>0]|0;w=w+1|0;g=g+1|0}while((w|0)<(x|0));a[J+9>>0]=0;z0a(It(ub,I)|0,J)|0;if((a[f>>0]|0)<0)l0a(c[J>>2]|0);if((a[e>>0]|0)<0)l0a(c[I>>2]|0);e=K+4|0;c[e>>2]=0;c[e+4>>2]=0;e=K+11|0;a[e>>0]=3;a[K>>0]=a[173247]|0;a[K+1>>0]=a[173248]|0;a[K+2>>0]=a[173249]|0;a[K+3>>0]=0;J=L+4|0;c[J>>2]=0;c[J+4>>2]=0;J=L+11|0;a[J>>0]=3;a[L>>0]=a[173251]|0;a[L+1>>0]=a[173252]|0;a[L+2>>0]=a[173253]|0;a[L+3>>0]=0;z0a(It(ub,K)|0,L)|0;if((a[J>>0]|0)<0)l0a(c[L>>2]|0);if((a[e>>0]|0)<0)l0a(c[K>>2]|0);c[M>>2]=0;c[M+4>>2]=0;c[M+8>>2]=0;e=M+11|0;a[e>>0]=4;c[M>>2]=1633838962;a[M+4>>0]=0;L=N+4|0;c[L>>2]=0;c[L+4>>2]=0;L=N+11|0;a[L>>0]=3;a[N>>0]=a[173251]|0;a[N+1>>0]=a[173252]|0;a[N+2>>0]=a[173253]|0;a[N+3>>0]=0;z0a(It(ub,M)|0,N)|0;if((a[L>>0]|0)<0)l0a(c[N>>2]|0);if((a[e>>0]|0)<0)l0a(c[M>>2]|0);e=O+4|0;c[e>>2]=0;c[e+4>>2]=0;e=O+11|0;a[e>>0]=3;a[O>>0]=a[191457]|0;a[O+1>>0]=a[191458]|0;a[O+2>>0]=a[191459]|0;a[O+3>>0]=0;N=P+4|0;c[N>>2]=0;c[N+4>>2]=0;N=P+11|0;a[N>>0]=3;a[P>>0]=a[173251]|0;a[P+1>>0]=a[173252]|0;a[P+2>>0]=a[173253]|0;a[P+3>>0]=0;z0a(It(ub,O)|0,P)|0;if((a[N>>0]|0)<0)l0a(c[P>>2]|0);if((a[e>>0]|0)<0)l0a(c[O>>2]|0);c[Q>>2]=0;c[Q+4>>2]=0;c[Q+8>>2]=0;e=Q+11|0;a[e>>0]=4;c[Q>>2]=1635020393;a[Q+4>>0]=0;P=R+4|0;c[P>>2]=0;c[P+4>>2]=0;P=R+11|0;a[P>>0]=3;a[R>>0]=a[173251]|0;a[R+1>>0]=a[173252]|0;a[R+2>>0]=a[173253]|0;a[R+3>>0]=0;z0a(It(ub,Q)|0,R)|0;if((a[P>>0]|0)<0)l0a(c[R>>2]|0);if((a[e>>0]|0)<0)l0a(c[Q>>2]|0);c[S>>2]=0;c[S+4>>2]=0;c[S+8>>2]=0;e=S+11|0;a[e>>0]=2;b[S>>1]=30562;a[S+2>>0]=0;R=T+4|0;c[R>>2]=0;c[R+4>>2]=0;R=T+11|0;a[R>>0]=3;a[T>>0]=a[173251]|0;a[T+1>>0]=a[173252]|0;a[T+2>>0]=a[173253]|0;a[T+3>>0]=0;z0a(It(ub,S)|0,T)|0;if((a[R>>0]|0)<0)l0a(c[T>>2]|0);if((a[e>>0]|0)<0)l0a(c[S>>2]|0);e=U+4|0;c[e>>2]=0;c[e+4>>2]=0;e=U+11|0;a[e>>0]=3;a[U>>0]=a[173255]|0;a[U+1>>0]=a[173256]|0;a[U+2>>0]=a[173257]|0;a[U+3>>0]=0;c[V>>2]=0;c[V+4>>2]=0;c[V+8>>2]=0;T=V+11|0;a[T>>0]=2;b[V>>1]=31335;a[V+2>>0]=0;z0a(It(ub,U)|0,V)|0;if((a[T>>0]|0)<0)l0a(c[V>>2]|0);if((a[e>>0]|0)<0)l0a(c[U>>2]|0);e=W+4|0;c[e>>2]=0;c[e+4>>2]=0;e=W+11|0;a[e>>0]=3;a[W>>0]=a[173259]|0;a[W+1>>0]=a[173260]|0;a[W+2>>0]=a[173261]|0;a[W+3>>0]=0;c[X>>2]=0;c[X+4>>2]=0;c[X+8>>2]=0;V=X+11|0;a[V>>0]=2;b[X>>1]=31335;a[X+2>>0]=0;z0a(It(ub,W)|0,X)|0;if((a[V>>0]|0)<0)l0a(c[X>>2]|0);if((a[e>>0]|0)<0)l0a(c[W>>2]|0);e=Y+4|0;c[e>>2]=0;c[e+4>>2]=0;e=Y+11|0;a[e>>0]=3;a[Y>>0]=a[173263]|0;a[Y+1>>0]=a[173264]|0;a[Y+2>>0]=a[173265]|0;a[Y+3>>0]=0;c[Z>>2]=0;c[Z+4>>2]=0;c[Z+8>>2]=0;X=Z+11|0;a[X>>0]=5;a[Z>>0]=a[173267]|0;a[Z+1>>0]=a[173268]|0;a[Z+2>>0]=a[173269]|0;a[Z+3>>0]=a[173270]|0;a[Z+4>>0]=a[173271]|0;a[Z+5>>0]=0;z0a(It(ub,Y)|0,Z)|0;if((a[X>>0]|0)<0)l0a(c[Z>>2]|0);if((a[e>>0]|0)<0)l0a(c[Y>>2]|0);c[_>>2]=0;c[_+4>>2]=0;c[_+8>>2]=0;e=_+11|0;a[e>>0]=2;b[_>>1]=26736;a[_+2>>0]=0;c[$>>2]=0;c[$+4>>2]=0;c[$+8>>2]=0;Z=$+11|0;a[Z>>0]=5;a[$>>0]=a[173267]|0;a[$+1>>0]=a[173268]|0;a[$+2>>0]=a[173269]|0;a[$+3>>0]=a[173270]|0;a[$+4>>0]=a[173271]|0;a[$+5>>0]=0;z0a(It(ub,_)|0,$)|0;if((a[Z>>0]|0)<0)l0a(c[$>>2]|0);if((a[e>>0]|0)<0)l0a(c[_>>2]|0);e=aa+4|0;c[e>>2]=0;c[e+4>>2]=0;e=aa+11|0;a[e>>0]=3;a[aa>>0]=a[173273]|0;a[aa+1>>0]=a[173274]|0;a[aa+2>>0]=a[173275]|0;a[aa+3>>0]=0;c[ba>>2]=0;c[ba+4>>2]=0;c[ba+8>>2]=0;$=ba+11|0;a[$>>0]=5;a[ba>>0]=a[173267]|0;a[ba+1>>0]=a[173268]|0;a[ba+2>>0]=a[173269]|0;a[ba+3>>0]=a[173270]|0;a[ba+4>>0]=a[173271]|0;a[ba+5>>0]=0;z0a(It(ub,aa)|0,ba)|0;if((a[$>>0]|0)<0)l0a(c[ba>>2]|0);if((a[e>>0]|0)<0)l0a(c[aa>>2]|0);e=ca+4|0;c[e>>2]=0;c[e+4>>2]=0;e=ca+11|0;a[e>>0]=3;a[ca>>0]=a[173277]|0;a[ca+1>>0]=a[173278]|0;a[ca+2>>0]=a[173279]|0;a[ca+3>>0]=0;c[da>>2]=0;c[da+4>>2]=0;c[da+8>>2]=0;ba=da+11|0;a[ba>>0]=5;a[da>>0]=a[173267]|0;a[da+1>>0]=a[173268]|0;a[da+2>>0]=a[173269]|0;a[da+3>>0]=a[173270]|0;a[da+4>>0]=a[173271]|0;a[da+5>>0]=0;z0a(It(ub,ca)|0,da)|0;if((a[ba>>0]|0)<0)l0a(c[da>>2]|0);if((a[e>>0]|0)<0)l0a(c[ca>>2]|0);e=ea+4|0;c[e>>2]=0;c[e+4>>2]=0;e=ea+11|0;a[e>>0]=3;a[ea>>0]=a[173281]|0;a[ea+1>>0]=a[173282]|0;a[ea+2>>0]=a[173283]|0;a[ea+3>>0]=0;c[fa>>2]=0;c[fa+4>>2]=0;c[fa+8>>2]=0;da=fa+11|0;a[da>>0]=5;a[fa>>0]=a[173267]|0;a[fa+1>>0]=a[173268]|0;a[fa+2>>0]=a[173269]|0;a[fa+3>>0]=a[173270]|0;a[fa+4>>0]=a[173271]|0;a[fa+5>>0]=0;z0a(It(ub,ea)|0,fa)|0;if((a[da>>0]|0)<0)l0a(c[fa>>2]|0);if((a[e>>0]|0)<0)l0a(c[ea>>2]|0);c[ga>>2]=0;c[ga+4>>2]=0;c[ga+8>>2]=0;e=ga+11|0;a[e>>0]=2;b[ga>>1]=27751;a[ga+2>>0]=0;c[ha>>2]=0;c[ha+4>>2]=0;c[ha+8>>2]=0;fa=ha+11|0;a[fa>>0]=4;c[ha>>2]=1819503719;a[ha+4>>0]=0;z0a(It(ub,ga)|0,ha)|0;if((a[fa>>0]|0)<0)l0a(c[ha>>2]|0);if((a[e>>0]|0)<0)l0a(c[ga>>2]|0);c[ia>>2]=0;c[ia+4>>2]=0;c[ia+8>>2]=0;e=ia+11|0;a[e>>0]=4;c[ia>>2]=1953654134;a[ia+4>>0]=0;c[ja>>2]=0;c[ja+4>>2]=0;c[ja+8>>2]=0;ha=ja+11|0;a[ha>>0]=4;c[ja>>2]=1819503719;a[ja+4>>0]=0;z0a(It(ub,ia)|0,ja)|0;if((a[ha>>0]|0)<0)l0a(c[ja>>2]|0);if((a[e>>0]|0)<0)l0a(c[ia>>2]|0);c[ka>>2]=0;c[ka+4>>2]=0;c[ka+8>>2]=0;e=ka+11|0;a[e>>0]=4;c[ka>>2]=1734439526;a[ka+4>>0]=0;c[la>>2]=0;c[la+4>>2]=0;c[la+8>>2]=0;ja=la+11|0;a[ja>>0]=4;c[la>>2]=1819503719;a[la+4>>0]=0;z0a(It(ub,ka)|0,la)|0;if((a[ja>>0]|0)<0)l0a(c[la>>2]|0);if((a[e>>0]|0)<0)l0a(c[ka>>2]|0);c[ma>>2]=0;c[ma+4>>2]=0;c[ma+8>>2]=0;e=ma+11|0;a[e>>0]=4;c[ma>>2]=1836016999;a[ma+4>>0]=0;c[na>>2]=0;c[na+4>>2]=0;c[na+8>>2]=0;la=na+11|0;a[la>>0]=4;c[na>>2]=1819503719;a[na+4>>0]=0;z0a(It(ub,ma)|0,na)|0;if((a[la>>0]|0)<0)l0a(c[na>>2]|0);if((a[e>>0]|0)<0)l0a(c[ma>>2]|0);c[oa>>2]=0;c[oa+4>>2]=0;c[oa+8>>2]=0;e=oa+11|0;a[e>>0]=5;a[oa>>0]=a[173285]|0;a[oa+1>>0]=a[173286]|0;a[oa+2>>0]=a[173287]|0;a[oa+3>>0]=a[173288]|0;a[oa+4>>0]=a[173289]|0;a[oa+5>>0]=0;c[pa>>2]=0;c[pa+4>>2]=0;c[pa+8>>2]=0;na=pa+11|0;a[na>>0]=4;c[pa>>2]=1819503719;a[pa+4>>0]=0;z0a(It(ub,oa)|0,pa)|0;if((a[na>>0]|0)<0)l0a(c[pa>>2]|0);if((a[e>>0]|0)<0)l0a(c[oa>>2]|0);c[qa>>2]=0;c[qa+4>>2]=0;c[qa+8>>2]=0;e=qa+11|0;a[e>>0]=5;a[qa>>0]=a[173291]|0;a[qa+1>>0]=a[173292]|0;a[qa+2>>0]=a[173293]|0;a[qa+3>>0]=a[173294]|0;a[qa+4>>0]=a[173295]|0;a[qa+5>>0]=0;c[ra>>2]=0;c[ra+4>>2]=0;c[ra+8>>2]=0;pa=ra+11|0;a[pa>>0]=4;c[ra>>2]=1819503719;a[ra+4>>0]=0;z0a(It(ub,qa)|0,ra)|0;if((a[pa>>0]|0)<0)l0a(c[ra>>2]|0);if((a[e>>0]|0)<0)l0a(c[qa>>2]|0);c[sa+8>>2]=0;e=sa+11|0;a[e>>0]=7;a[sa>>0]=a[173297]|0;a[sa+1>>0]=a[173298]|0;a[sa+2>>0]=a[173299]|0;a[sa+3>>0]=a[173300]|0;a[sa+4>>0]=a[173301]|0;a[sa+5>>0]=a[173302]|0;a[sa+6>>0]=a[173303]|0;a[sa+7>>0]=0;c[ta>>2]=0;c[ta+4>>2]=0;c[ta+8>>2]=0;ra=ta+11|0;a[ra>>0]=4;c[ta>>2]=1819503719;a[ta+4>>0]=0;z0a(It(ub,sa)|0,ta)|0;if((a[ra>>0]|0)<0)l0a(c[ta>>2]|0);if((a[e>>0]|0)<0)l0a(c[sa>>2]|0);c[ua>>2]=0;c[ua+4>>2]=0;c[ua+8>>2]=0;e=ua+11|0;a[e>>0]=2;b[ua>>1]=29558;a[ua+2>>0]=0;c[va>>2]=0;c[va+4>>2]=0;c[va+8>>2]=0;ta=va+11|0;a[ta>>0]=4;c[va>>2]=1819503719;a[va+4>>0]=0;z0a(It(ub,ua)|0,va)|0;if((a[ta>>0]|0)<0)l0a(c[va>>2]|0);if((a[e>>0]|0)<0)l0a(c[ua>>2]|0);c[wa>>2]=0;c[wa+4>>2]=0;c[wa+8>>2]=0;e=wa+11|0;a[e>>0]=2;b[wa>>1]=29542;a[wa+2>>0]=0;c[xa>>2]=0;c[xa+4>>2]=0;c[xa+8>>2]=0;va=xa+11|0;a[va>>0]=4;c[xa>>2]=1819503719;a[xa+4>>0]=0;z0a(It(ub,wa)|0,xa)|0;if((a[va>>0]|0)<0)l0a(c[xa>>2]|0);if((a[e>>0]|0)<0)l0a(c[wa>>2]|0);c[ya>>2]=0;c[ya+4>>2]=0;c[ya+8>>2]=0;e=ya+11|0;a[e>>0]=2;b[ya>>1]=29539;a[ya+2>>0]=0;c[za>>2]=0;c[za+4>>2]=0;c[za+8>>2]=0;xa=za+11|0;a[xa>>0]=4;c[za>>2]=1819503719;a[za+4>>0]=0;z0a(It(ub,ya)|0,za)|0;if((a[xa>>0]|0)<0)l0a(c[za>>2]|0);if((a[e>>0]|0)<0)l0a(c[ya>>2]|0);c[Aa>>2]=0;c[Aa+4>>2]=0;c[Aa+8>>2]=0;e=Aa+11|0;a[e>>0]=2;b[Aa>>1]=29543;a[Aa+2>>0]=0;c[Ba>>2]=0;c[Ba+4>>2]=0;c[Ba+8>>2]=0;za=Ba+11|0;a[za>>0]=4;c[Ba>>2]=1819503719;a[Ba+4>>0]=0;z0a(It(ub,Aa)|0,Ba)|0;if((a[za>>0]|0)<0)l0a(c[Ba>>2]|0);if((a[e>>0]|0)<0)l0a(c[Aa>>2]|0);c[Ca>>2]=0;c[Ca+4>>2]=0;c[Ca+8>>2]=0;e=Ca+11|0;a[e>>0]=2;b[Ca>>1]=29546;a[Ca+2>>0]=0;c[Da>>2]=0;c[Da+4>>2]=0;c[Da+8>>2]=0;Ba=Da+11|0;a[Ba>>0]=2;b[Da>>1]=14422;a[Da+2>>0]=0;z0a(It(ub,Ca)|0,Da)|0;if((a[Ba>>0]|0)<0)l0a(c[Da>>2]|0);if((a[e>>0]|0)<0)l0a(c[Ca>>2]|0);e=Ea+4|0;c[e>>2]=0;c[e+4>>2]=0;e=Ea+11|0;a[e>>0]=3;a[Ea>>0]=a[173305]|0;a[Ea+1>>0]=a[173306]|0;a[Ea+2>>0]=a[173307]|0;a[Ea+3>>0]=0;c[Fa>>2]=0;c[Fa+4>>2]=0;c[Fa+8>>2]=0;Da=Fa+11|0;a[Da>>0]=4;c[Fa>>2]=1734701162;a[Fa+4>>0]=0;z0a(It(ub,Ea)|0,Fa)|0;if((a[Da>>0]|0)<0)l0a(c[Fa>>2]|0);if((a[e>>0]|0)<0)l0a(c[Ea>>2]|0);e=Ga+4|0;c[e>>2]=0;c[e+4>>2]=0;e=Ga+11|0;a[e>>0]=3;a[Ga>>0]=a[173309]|0;a[Ga+1>>0]=a[173310]|0;a[Ga+2>>0]=a[173311]|0;a[Ga+3>>0]=0;c[Ha>>2]=0;c[Ha+4>>2]=0;c[Ha+8>>2]=0;Fa=Ha+11|0;a[Fa>>0]=4;c[Ha>>2]=1734701162;a[Ha+4>>0]=0;z0a(It(ub,Ga)|0,Ha)|0;if((a[Fa>>0]|0)<0)l0a(c[Ha>>2]|0);if((a[e>>0]|0)<0)l0a(c[Ga>>2]|0);e=Ia+4|0;c[e>>2]=0;c[e+4>>2]=0;e=Ia+11|0;a[e>>0]=3;a[Ia>>0]=a[173313]|0;a[Ia+1>>0]=a[173314]|0;a[Ia+2>>0]=a[173315]|0;a[Ia+3>>0]=0;c[Ja>>2]=0;c[Ja+4>>2]=0;c[Ja+8>>2]=0;Ha=Ja+11|0;a[Ha>>0]=4;c[Ja>>2]=1717987700;a[Ja+4>>0]=0;z0a(It(ub,Ia)|0,Ja)|0;if((a[Ha>>0]|0)<0)l0a(c[Ja>>2]|0);if((a[e>>0]|0)<0)l0a(c[Ia>>2]|0);c[Ka>>2]=0;c[Ka+4>>2]=0;c[Ka+8>>2]=0;e=Ka+11|0;a[e>>0]=2;b[Ka>>1]=30572;a[Ka+2>>0]=0;Ja=La+4|0;c[Ja>>2]=0;c[Ja+4>>2]=0;Ja=La+11|0;a[Ja>>0]=3;a[La>>0]=a[173317]|0;a[La+1>>0]=a[173318]|0;a[La+2>>0]=a[173319]|0;a[La+3>>0]=0;z0a(It(ub,Ka)|0,La)|0;if((a[Ja>>0]|0)<0)l0a(c[La>>2]|0);if((a[e>>0]|0)<0)l0a(c[Ka>>2]|0);e=Ma+4|0;c[e>>2]=0;c[e+4>>2]=0;e=Ma+11|0;a[e>>0]=3;a[Ma>>0]=a[173321]|0;a[Ma+1>>0]=a[173322]|0;a[Ma+2>>0]=a[173323]|0;a[Ma+3>>0]=0;c[Na>>2]=0;c[Na+4>>2]=0;c[Na+8>>2]=0;La=Na+11|0;a[La>>0]=8;Ka=Na;c[Ka>>2]=1701147238;c[Ka+4>>2]=1701869940;a[Na+8>>0]=0;z0a(It(ub,Ma)|0,Na)|0;if((a[La>>0]|0)<0)l0a(c[Na>>2]|0);if((a[e>>0]|0)<0)l0a(c[Ma>>2]|0);e=Oa+4|0;c[e>>2]=0;c[e+4>>2]=0;e=Oa+11|0;a[e>>0]=3;a[Oa>>0]=a[173325]|0;a[Oa+1>>0]=a[173326]|0;a[Oa+2>>0]=a[173327]|0;a[Oa+3>>0]=0;c[Pa>>2]=0;c[Pa+4>>2]=0;c[Pa+8>>2]=0;Na=Pa+11|0;a[Na>>0]=8;Ma=Pa;c[Ma>>2]=1701147238;c[Ma+4>>2]=1701869940;a[Pa+8>>0]=0;z0a(It(ub,Oa)|0,Pa)|0;if((a[Na>>0]|0)<0)l0a(c[Pa>>2]|0);if((a[e>>0]|0)<0)l0a(c[Oa>>2]|0);e=Qa+4|0;c[e>>2]=0;c[e+4>>2]=0;e=Qa+11|0;a[e>>0]=3;a[Qa>>0]=a[173329]|0;a[Qa+1>>0]=a[173330]|0;a[Qa+2>>0]=a[173331]|0;a[Qa+3>>0]=0;c[Ra>>2]=0;c[Ra+4>>2]=0;c[Ra+8>>2]=0;Pa=Ra+11|0;a[Pa>>0]=8;Oa=Ra;c[Oa>>2]=1701147238;c[Oa+4>>2]=1701869940;a[Ra+8>>0]=0;z0a(It(ub,Qa)|0,Ra)|0;if((a[Pa>>0]|0)<0)l0a(c[Ra>>2]|0);if((a[e>>0]|0)<0)l0a(c[Qa>>2]|0);e=Sa+4|0;c[e>>2]=0;c[e+4>>2]=0;e=Sa+11|0;a[e>>0]=3;a[Sa>>0]=a[173333]|0;a[Sa+1>>0]=a[173334]|0;a[Sa+2>>0]=a[173335]|0;a[Sa+3>>0]=0;c[Ta>>2]=0;c[Ta+4>>2]=0;c[Ta+8>>2]=0;Ra=Ta+11|0;a[Ra>>0]=8;Qa=Ta;c[Qa>>2]=1701147238;c[Qa+4>>2]=1701869940;a[Ta+8>>0]=0;z0a(It(ub,Sa)|0,Ta)|0;if((a[Ra>>0]|0)<0)l0a(c[Ta>>2]|0);if((a[e>>0]|0)<0)l0a(c[Sa>>2]|0);e=Ua+4|0;c[e>>2]=0;c[e+4>>2]=0;e=Ua+11|0;a[e>>0]=3;a[Ua>>0]=a[173337]|0;a[Ua+1>>0]=a[173338]|0;a[Ua+2>>0]=a[173339]|0;a[Ua+3>>0]=0;c[Va>>2]=0;c[Va+4>>2]=0;c[Va+8>>2]=0;Ta=Va+11|0;a[Ta>>0]=8;Sa=Va;c[Sa>>2]=1701147238;c[Sa+4>>2]=1701869940;a[Va+8>>0]=0;z0a(It(ub,Ua)|0,Va)|0;if((a[Ta>>0]|0)<0)l0a(c[Va>>2]|0);if((a[e>>0]|0)<0)l0a(c[Ua>>2]|0);e=Wa+4|0;c[e>>2]=0;c[e+4>>2]=0;e=Wa+11|0;a[e>>0]=3;a[Wa>>0]=a[173341]|0;a[Wa+1>>0]=a[173342]|0;a[Wa+2>>0]=a[173343]|0;a[Wa+3>>0]=0;c[Xa>>2]=0;c[Xa+4>>2]=0;c[Xa+8>>2]=0;Va=Xa+11|0;a[Va>>0]=8;Ua=Xa;c[Ua>>2]=1701147238;c[Ua+4>>2]=1701869940;a[Xa+8>>0]=0;z0a(It(ub,Wa)|0,Xa)|0;if((a[Va>>0]|0)<0)l0a(c[Xa>>2]|0);if((a[e>>0]|0)<0)l0a(c[Wa>>2]|0);e=Ya+4|0;c[e>>2]=0;c[e+4>>2]=0;e=Ya+11|0;a[e>>0]=3;a[Ya>>0]=a[173345]|0;a[Ya+1>>0]=a[173346]|0;a[Ya+2>>0]=a[173347]|0;a[Ya+3>>0]=0;c[Za>>2]=0;c[Za+4>>2]=0;c[Za+8>>2]=0;Xa=Za+11|0;a[Xa>>0]=8;Wa=Za;c[Wa>>2]=1701147238;c[Wa+4>>2]=1701869940;a[Za+8>>0]=0;z0a(It(ub,Ya)|0,Za)|0;if((a[Xa>>0]|0)<0)l0a(c[Za>>2]|0);if((a[e>>0]|0)<0)l0a(c[Ya>>2]|0);c[_a>>2]=0;c[_a+4>>2]=0;c[_a+8>>2]=0;e=_a+11|0;a[e>>0]=6;a[_a>>0]=a[173349]|0;a[_a+1>>0]=a[173350]|0;a[_a+2>>0]=a[173351]|0;a[_a+3>>0]=a[173352]|0;a[_a+4>>0]=a[173353]|0;a[_a+5>>0]=a[173354]|0;a[_a+6>>0]=0;c[$a>>2]=0;c[$a+4>>2]=0;c[$a+8>>2]=0;Za=$a+11|0;a[Za>>0]=8;Ya=$a;c[Ya>>2]=1701147238;c[Ya+4>>2]=1701869940;a[$a+8>>0]=0;z0a(It(ub,_a)|0,$a)|0;if((a[Za>>0]|0)<0)l0a(c[$a>>2]|0);if((a[e>>0]|0)<0)l0a(c[_a>>2]|0);c[ab>>2]=0;c[ab+4>>2]=0;c[ab+8>>2]=0;e=ab+11|0;a[e>>0]=6;a[ab>>0]=a[173356]|0;a[ab+1>>0]=a[173357]|0;a[ab+2>>0]=a[173358]|0;a[ab+3>>0]=a[173359]|0;a[ab+4>>0]=a[173360]|0;a[ab+5>>0]=a[173361]|0;a[ab+6>>0]=0;c[bb>>2]=0;c[bb+4>>2]=0;c[bb+8>>2]=0;$a=bb+11|0;a[$a>>0]=2;b[bb>>1]=26228;a[bb+2>>0]=0;z0a(It(ub,ab)|0,bb)|0;if((a[$a>>0]|0)<0)l0a(c[bb>>2]|0);if((a[e>>0]|0)<0)l0a(c[ab>>2]|0);e=cb+4|0;c[e>>2]=0;c[e+4>>2]=0;e=cb+11|0;a[e>>0]=3;a[cb>>0]=a[173363]|0;a[cb+1>>0]=a[173364]|0;a[cb+2>>0]=a[173365]|0;a[cb+3>>0]=0;bb=db+4|0;c[bb>>2]=0;c[bb+4>>2]=0;bb=db+11|0;a[bb>>0]=3;a[db>>0]=a[173367]|0;a[db+1>>0]=a[173368]|0;a[db+2>>0]=a[173369]|0;a[db+3>>0]=0;z0a(It(ub,cb)|0,db)|0;if((a[bb>>0]|0)<0)l0a(c[db>>2]|0);if((a[e>>0]|0)<0)l0a(c[cb>>2]|0);e=eb+4|0;c[e>>2]=0;c[e+4>>2]=0;e=eb+11|0;a[e>>0]=3;a[eb>>0]=a[173371]|0;a[eb+1>>0]=a[173372]|0;a[eb+2>>0]=a[173373]|0;a[eb+3>>0]=0;db=fb+4|0;c[db>>2]=0;c[db+4>>2]=0;db=fb+11|0;a[db>>0]=3;a[fb>>0]=a[173367]|0;a[fb+1>>0]=a[173368]|0;a[fb+2>>0]=a[173369]|0;a[fb+3>>0]=0;z0a(It(ub,eb)|0,fb)|0;if((a[db>>0]|0)<0)l0a(c[fb>>2]|0);if((a[e>>0]|0)<0)l0a(c[eb>>2]|0);e=gb+4|0;c[e>>2]=0;c[e+4>>2]=0;e=gb+11|0;a[e>>0]=3;a[gb>>0]=a[173375]|0;a[gb+1>>0]=a[173376]|0;a[gb+2>>0]=a[173377]|0;a[gb+3>>0]=0;fb=hb+4|0;c[fb>>2]=0;c[fb+4>>2]=0;fb=hb+11|0;a[fb>>0]=3;a[hb>>0]=a[173367]|0;a[hb+1>>0]=a[173368]|0;a[hb+2>>0]=a[173369]|0;a[hb+3>>0]=0;z0a(It(ub,gb)|0,hb)|0;if((a[fb>>0]|0)<0)l0a(c[hb>>2]|0);if((a[e>>0]|0)<0)l0a(c[gb>>2]|0);c[ib>>2]=0;c[ib+4>>2]=0;c[ib+8>>2]=0;e=ib+11|0;a[e>>0]=5;a[ib>>0]=a[173379]|0;a[ib+1>>0]=a[173380]|0;a[ib+2>>0]=a[173381]|0;a[ib+3>>0]=a[173382]|0;a[ib+4>>0]=a[173383]|0;a[ib+5>>0]=0;c[jb>>2]=0;c[jb+4>>2]=0;c[jb+8>>2]=0;f=jb+11|0;a[f>>0]=9;w=jb;g=173385;x=w+9|0;do{a[w>>0]=a[g>>0]|0;w=w+1|0;g=g+1|0}while((w|0)<(x|0));a[jb+9>>0]=0;z0a(It(ub,ib)|0,jb)|0;if((a[f>>0]|0)<0)l0a(c[jb>>2]|0);if((a[e>>0]|0)<0)l0a(c[ib>>2]|0);c[kb+8>>2]=0;e=kb+11|0;a[e>>0]=7;a[kb>>0]=a[173395]|0;a[kb+1>>0]=a[173396]|0;a[kb+2>>0]=a[173397]|0;a[kb+3>>0]=a[173398]|0;a[kb+4>>0]=a[173399]|0;a[kb+5>>0]=a[173400]|0;a[kb+6>>0]=a[173401]|0;a[kb+7>>0]=0;c[lb>>2]=0;c[lb+4>>2]=0;c[lb+8>>2]=0;f=lb+11|0;a[f>>0]=9;w=lb;g=173385;x=w+9|0;do{a[w>>0]=a[g>>0]|0;w=w+1|0;g=g+1|0}while((w|0)<(x|0));a[lb+9>>0]=0;z0a(It(ub,kb)|0,lb)|0;if((a[f>>0]|0)<0)l0a(c[lb>>2]|0);if((a[e>>0]|0)<0)l0a(c[kb>>2]|0);c[mb>>2]=0;c[mb+4>>2]=0;c[mb+8>>2]=0;e=mb+11|0;a[e>>0]=8;f=mb;c[f>>2]=1768189805;c[f+4>>2]=1684367718;a[mb+8>>0]=0;c[nb>>2]=0;c[nb+4>>2]=0;c[nb+8>>2]=0;f=nb+11|0;a[f>>0]=9;w=nb;g=173385;x=w+9|0;do{a[w>>0]=a[g>>0]|0;w=w+1|0;g=g+1|0}while((w|0)<(x|0));a[nb+9>>0]=0;z0a(It(ub,mb)|0,nb)|0;if((a[f>>0]|0)<0)l0a(c[nb>>2]|0);if((a[e>>0]|0)<0)l0a(c[mb>>2]|0);e=ob+4|0;c[e>>2]=0;c[e+4>>2]=0;e=ob+11|0;a[e>>0]=3;a[ob>>0]=a[173403]|0;a[ob+1>>0]=a[173404]|0;a[ob+2>>0]=a[173405]|0;a[ob+3>>0]=0;c[pb>>2]=0;c[pb+4>>2]=0;c[pb+8>>2]=0;f=j0a(16)|0;c[pb>>2]=f;c[pb+8>>2]=-2147483632;c[pb+4>>2]=11;w=f;g=173407;x=w+11|0;do{a[w>>0]=a[g>>0]|0;w=w+1|0;g=g+1|0}while((w|0)<(x|0));a[f+11>>0]=0;z0a(It(ub,ob)|0,pb)|0;if((a[pb+11>>0]|0)<0)l0a(c[pb>>2]|0);if((a[e>>0]|0)<0)l0a(c[ob>>2]|0);c[qb>>2]=0;c[qb+4>>2]=0;c[qb+8>>2]=0;e=qb+11|0;a[e>>0]=4;c[qb>>2]=1885697139;a[qb+4>>0]=0;c[rb>>2]=0;c[rb+4>>2]=0;c[rb+8>>2]=0;f=j0a(16)|0;c[rb>>2]=f;c[rb+8>>2]=-2147483632;c[rb+4>>2]=11;w=f;g=173407;x=w+11|0;do{a[w>>0]=a[g>>0]|0;w=w+1|0;g=g+1|0}while((w|0)<(x|0));a[f+11>>0]=0;z0a(It(ub,qb)|0,rb)|0;if((a[rb+11>>0]|0)<0)l0a(c[rb>>2]|0);if((a[e>>0]|0)<0)l0a(c[qb>>2]|0);e=sb+4|0;c[e>>2]=0;c[e+4>>2]=0;e=sb+11|0;a[e>>0]=3;a[sb>>0]=a[173419]|0;a[sb+1>>0]=a[173420]|0;a[sb+2>>0]=a[173421]|0;a[sb+3>>0]=0;c[tb>>2]=0;c[tb+4>>2]=0;c[tb+8>>2]=0;f=j0a(16)|0;c[tb>>2]=f;c[tb+8>>2]=-2147483632;c[tb+4>>2]=11;w=f;g=173407;x=w+11|0;do{a[w>>0]=a[g>>0]|0;w=w+1|0;g=g+1|0}while((w|0)<(x|0));a[f+11>>0]=0;z0a(It(ub,sb)|0,tb)|0;if((a[tb+11>>0]|0)<0)l0a(c[tb>>2]|0);if((a[e>>0]|0)<0)l0a(c[sb>>2]|0);c[vb>>2]=0;c[vb+4>>2]=0;c[vb+8>>2]=0;e=vb+11|0;a[e>>0]=4;c[vb>>2]=1936025449;a[vb+4>>0]=0;c[wb>>2]=0;c[wb+4>>2]=0;c[wb+8>>2]=0;f=j0a(16)|0;c[wb>>2]=f;c[wb+8>>2]=-2147483632;c[wb+4>>2]=11;w=f;g=173407;x=w+11|0;do{a[w>>0]=a[g>>0]|0;w=w+1|0;g=g+1|0}while((w|0)<(x|0));a[f+11>>0]=0;z0a(It(ub,vb)|0,wb)|0;if((a[wb+11>>0]|0)<0)l0a(c[wb>>2]|0);if((a[e>>0]|0)<0)l0a(c[vb>>2]|0);c[yb>>2]=0;c[yb+4>>2]=0;c[yb+8>>2]=0;e=VNa(176970)|0;if(e>>>0>4294967279)r0a(yb);j=yb+11|0;k=yb+4|0;m=yb+8|0;n=Ab+11|0;o=Ab+8|0;p=Ab+4|0;q=zb+11|0;i=0;g=176970;while(1){if(e>>>0<11){a[j>>0]=e;if(!e)f=yb;else{f=yb;Bb=272}}else{Bb=e+16&-16;f=j0a(Bb)|0;c[yb>>2]=f;c[m>>2]=Bb|-2147483648;c[k>>2]=e;Bb=272}if((Bb|0)==272){Bb=0;x2a(f|0,g|0,e|0)|0}a[f+e>>0]=0;wb=a[j>>0]|0;e=wb<<24>>24<0;if(!((e?c[k>>2]|0:wb&255)|0)){Bb=287;break}t0a(zb,yb);f=c[12288+((i|1)<<2)>>2]|0;c[Ab>>2]=0;c[Ab+4>>2]=0;c[Ab+8>>2]=0;g=VNa(f)|0;if(g>>>0>4294967279){Bb=275;break}if(g>>>0<11){a[n>>0]=g;if(!g)e=Ab;else{e=Ab;Bb=279}}else{Bb=g+16&-16;e=j0a(Bb)|0;c[Ab>>2]=e;c[o>>2]=Bb|-2147483648;c[p>>2]=g;Bb=279}if((Bb|0)==279){Bb=0;x2a(e|0,f|0,g|0)|0}a[e+g>>0]=0;z0a(It(xb,zb)|0,Ab)|0;if((a[n>>0]|0)<0)l0a(c[Ab>>2]|0);if((a[q>>0]|0)<0)l0a(c[zb>>2]|0);if((a[j>>0]|0)<0)l0a(c[yb>>2]|0);i=i+2|0;g=c[12288+(i<<2)>>2]|0;c[yb>>2]=0;c[yb+4>>2]=0;c[yb+8>>2]=0;e=VNa(g)|0;if(e>>>0>4294967279){Bb=268;break}}if((Bb|0)==268)r0a(yb);else if((Bb|0)==275)r0a(Ab);else if((Bb|0)==287){if(e)l0a(c[yb>>2]|0);c[yb>>2]=0;c[yb+4>>2]=0;c[yb+8>>2]=0;Bb=yb+11|0;a[Bb>>0]=4;c[yb>>2]=1886680168;a[yb+4>>0]=0;Rna(d,yb);if((a[Bb>>0]|0)<0)l0a(c[yb>>2]|0);c[yb>>2]=0;c[yb+4>>2]=0;c[yb+8>>2]=0;Bb=yb+11|0;a[Bb>>0]=5;a[yb>>0]=a[173423]|0;a[yb+1>>0]=a[173424]|0;a[yb+2>>0]=a[173425]|0;a[yb+3>>0]=a[173426]|0;a[yb+4>>0]=a[173427]|0;a[yb+5>>0]=0;Rna(d,yb);if((a[Bb>>0]|0)<0)l0a(c[yb>>2]|0);Bb=yb+4|0;c[Bb>>2]=0;c[Bb+4>>2]=0;Bb=yb+11|0;a[Bb>>0]=3;a[yb>>0]=a[173429]|0;a[yb+1>>0]=a[173430]|0;a[yb+2>>0]=a[173431]|0;a[yb+3>>0]=0;Rna(d,yb);if((a[Bb>>0]|0)<0)l0a(c[yb>>2]|0);c[yb>>2]=0;c[yb+4>>2]=0;c[yb+8>>2]=0;Bb=yb+11|0;a[Bb>>0]=4;c[yb>>2]=1936749670;a[yb+4>>0]=0;Rna(d,yb);if((a[Bb>>0]|0)<0)l0a(c[yb>>2]|0);e=j0a(60)|0;Sna(e);f=c[Cb>>2]|0;do if((f|0)!=(e|0)){c[Cb>>2]=e;Cb=e+8|0;c[Cb>>2]=(c[Cb>>2]|0)+1;if(!f)break;Bb=f+8|0;Cb=c[Bb>>2]|0;c[Bb>>2]=Cb-1;if((Cb|0)!=1)break;UU(f,1,1)}while(0);e=j0a(108)|0;Tha(e);c[e>>2]=98272;f=e+16|0;c[f>>2]=0;c[e+20>>2]=0;c[e+12>>2]=f;f=e+28|0;c[f>>2]=0;c[e+32>>2]=0;c[e+24>>2]=f;f=e+40|0;c[f>>2]=0;c[e+44>>2]=0;c[e+36>>2]=f;f=e+52|0;c[f>>2]=0;c[e+56>>2]=0;c[e+48>>2]=f;f=e+64|0;c[f>>2]=0;c[e+68>>2]=0;c[e+60>>2]=f;f=e+76|0;c[f>>2]=0;c[e+80>>2]=0;c[e+72>>2]=f;f=e+88|0;c[f>>2]=0;c[e+92>>2]=0;c[e+84>>2]=f;f=e+100|0;c[f>>2]=0;c[e+104>>2]=0;c[e+96>>2]=f;f=c[Db>>2]|0;if((f|0)==(e|0)){l=Eb;return}c[Db>>2]=e;Db=e+8|0;c[Db>>2]=(c[Db>>2]|0)+1;if(!f){l=Eb;return}Cb=f+8|0;Db=c[Cb>>2]|0;c[Cb>>2]=Db-1;if((Db|0)!=1){l=Eb;return}UU(f,1,1);l=Eb;return}}function Mna(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;b=a+236|0;d=c[b>>2]|0;if(d|0?(c[b>>2]=0,e=d+(c[(c[d>>2]|0)+-12>>2]|0)|0,f=e+8|0,g=c[f>>2]|0,c[f>>2]=g-1,(g|0)==1):0)UU(e,1,1);d=a+20|0;b=c[d>>2]|0;if(b|0?(c[d>>2]=0,f=b+8|0,g=c[f>>2]|0,c[f>>2]=g-1,(g|0)==1):0)UU(b,1,1);b=c[a+212>>2]|0;if(b|0){g=b+24|0;gk[c[(c[g>>2]|0)+8>>2]&1023](g)|0;e=b+12|0;f=b+16|0;Ula(e,c[f>>2]|0);c[b+20>>2]=0;c[e>>2]=f;c[f>>2]=0;gk[c[(c[g>>2]|0)+12>>2]&1023](g)|0}b=c[d>>2]|0;if(b|0?(c[d>>2]=0,f=b+8|0,g=c[f>>2]|0,c[f>>2]=g-1,(g|0)==1):0)UU(b,1,1);f=a+108|0;gk[c[(c[f>>2]|0)+8>>2]&1023](f)|0;e=a+120|0;g=a+124|0;Nna(e,c[g>>2]|0);c[a+128>>2]=0;c[e>>2]=g;c[g>>2]=0;gk[c[(c[f>>2]|0)+12>>2]&1023](f)|0;f=a+60|0;gk[c[(c[f>>2]|0)+8>>2]&1023](f)|0;g=c[a+96>>2]|0;e=a+100|0;b=c[e>>2]|0;if((b|0)==(g|0)){c[e>>2]=g;a=c[f>>2]|0;a=a+12|0;a=c[a>>2]|0;gk[a&1023](f)|0;return}do{b=b+-4|0;d=c[b>>2]|0;if(d|0?(h=d+8|0,a=c[h>>2]|0,c[h>>2]=a-1,(a|0)==1):0)UU(d,1,1);c[b>>2]=0}while((b|0)!=(g|0));c[e>>2]=g;h=c[f>>2]|0;h=h+12|0;h=c[h>>2]|0;gk[h&1023](f)|0;return}function Nna(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;if(!d)return;Nna(b,c[d>>2]|0);Nna(b,c[d+4>>2]|0);b=d+16|0;e=d+28|0;f=c[e>>2]|0;if(f|0?(h=f+8|0,g=c[h>>2]|0,c[h>>2]=g-1,(g|0)==1):0)UU(f,1,1);c[e>>2]=0;if((a[b+11>>0]|0)<0)l0a(c[b>>2]|0);l0a(d);return}function Ona(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;f=l;l=l+16|0;e=f;Uha(b,1);c[b>>2]=98312;t0a(b+12|0,d);g=b+24|0;c[g>>2]=g;c[b+28>>2]=g;c[b+32>>2]=0;if(!(ZQ(4)|0)){l=f;return}h=mr(lr(4)|0,179045,24)|0;g=a[d+11>>0]|0;b=g<<24>>24<0;g=mr(h,b?c[d>>2]|0:d,b?c[d+4>>2]|0:g&255)|0;BSa(e,g+(c[(c[g>>2]|0)+-12>>2]|0)|0);d=cUa(e,230580)|0;d=kk[c[(c[d>>2]|0)+28>>2]&511](d,10)|0;dUa(e);VSa(g,d)|0;HSa(g)|0;l=f;return}function Pna(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=l;l=l+64|0;m=s+48|0;k=s+40|0;n=s+32|0;o=s+24|0;r=s;c[r>>2]=0;c[r+4>>2]=0;c[r+8>>2]=0;c[r+12>>2]=0;c[r+16>>2]=0;c[r+20>>2]=0;e=Jh(179019)|0;if(!e){e=Jh(179033)|0;if(e|0){c[m>>2]=0;c[m+4>>2]=0;c[m+8>>2]=0;f=VNa(e)|0;if(f>>>0>4294967279)r0a(m);if(f>>>0<11){a[m+11>>0]=f;if(!f)d=m;else{d=m;q=17}}else{q=f+16&-16;d=j0a(q)|0;c[m>>2]=d;c[m+8>>2]=q|-2147483648;c[m+4>>2]=f;q=17}if((q|0)==17)x2a(d|0,e|0,f|0)|0;a[d+f>>0]=0;qAa(m,r);if((a[m+11>>0]|0)<0)l0a(c[m>>2]|0)}}else{c[m>>2]=0;c[m+4>>2]=0;c[m+8>>2]=0;f=VNa(e)|0;if(f>>>0>4294967279)r0a(m);if(f>>>0<11){a[m+11>>0]=f;if(!f)d=m;else{d=m;q=7}}else{q=f+16&-16;d=j0a(q)|0;c[m>>2]=d;c[m+8>>2]=q|-2147483648;c[m+4>>2]=f;q=7}if((q|0)==7)x2a(d|0,e|0,f|0)|0;a[d+f>>0]=0;qAa(m,r);if((a[m+11>>0]|0)<0)l0a(c[m>>2]|0)}h=b+164|0;p=r+4|0;if((h|0)==(r|0)){m=r+16|0;j=r+8|0}else{b=c[p>>2]|0;i=r+16|0;e=c[i>>2]|0;d=(e>>>0)/341|0;f=b+(d<<2)|0;j=r+8|0;g=(c[j>>2]|0)==(b|0);if(g)d=0;else d=(c[f>>2]|0)+((e-(d*341|0)|0)*12|0)|0;c[n>>2]=f;c[n+4>>2]=d;d=(c[r+20>>2]|0)+e|0;e=(d>>>0)/341|0;f=b+(e<<2)|0;if(g)d=0;else d=(c[f>>2]|0)+((d-(e*341|0)|0)*12|0)|0;c[o>>2]=f;c[o+4>>2]=d;c[k>>2]=c[n>>2];c[k+4>>2]=c[n+4>>2];c[m>>2]=c[o>>2];c[m+4>>2]=c[o+4>>2];foa(h,k,m,0);m=i}i=c[p>>2]|0;d=c[m>>2]|0;e=(d>>>0)/341|0;b=i+(e<<2)|0;g=c[j>>2]|0;if((g|0)==(i|0)){d=0;h=0;k=r+20|0}else{k=r+20|0;o=(c[k>>2]|0)+d|0;h=(o>>>0)/341|0;d=(c[b>>2]|0)+((d-(e*341|0)|0)*12|0)|0;h=(c[i+(h<<2)>>2]|0)+((o-(h*341|0)|0)*12|0)|0}f=d;if((h|0)==(f|0)){h=j;e=i;b=g;f=g;g=i;d=i}else{e=b;do{if((a[d+11>>0]|0)<0)l0a(c[f>>2]|0);d=f+12|0;if((d-(c[e>>2]|0)|0)==4092){d=e+4|0;e=d;d=c[d>>2]|0}f=d}while((h|0)!=(f|0));f=c[j>>2]|0;d=c[p>>2]|0;h=j;e=d;b=f;g=d}c[k>>2]=0;e=b-e>>2;if(e>>>0>2)do{l0a(c[d>>2]|0);d=(c[p>>2]|0)+4|0;c[p>>2]=d;f=c[h>>2]|0;e=f-d>>2}while(e>>>0>2);else d=g;switch(e|0){case 1:{e=170;q=46;break}case 2:{e=341;q=46;break}default:{}}if((q|0)==46)c[m>>2]=e;if((d|0)!=(f|0)){do{l0a(c[d>>2]|0);d=d+4|0}while((d|0)!=(f|0));d=c[p>>2]|0;e=c[j>>2]|0;if((e|0)!=(d|0))c[j>>2]=e+(~((e+-4-d|0)>>>2)<<2)}d=c[r>>2]|0;if(!d){l=s;return}l0a(d);l=s;return}function Qna(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=l;l=l+16|0;h=i;e=Jh(178982)|0;if(e|0){c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;f=VNa(e)|0;if(f>>>0>4294967279)r0a(h);if(f>>>0<11){a[h+11>>0]=f;if(!f)d=h;else{d=h;g=7}}else{g=f+16&-16;d=j0a(g)|0;c[h>>2]=d;c[h+8>>2]=g|-2147483648;c[h+4>>2]=f;g=7}if((g|0)==7)x2a(d|0,e|0,f|0)|0;a[d+f>>0]=0;d=b+188|0;wma(d);qAa(h,d);if((a[h+11>>0]|0)<0)l0a(c[h>>2]|0);h=d;vAa(h);l=i;return}e=Jh(178999)|0;if(!e){h=b+188|0;vAa(h);l=i;return};c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;f=VNa(e)|0;if(f>>>0>4294967279)r0a(h);if(f>>>0<11){a[h+11>>0]=f;if(!f)d=h;else{d=h;g=18}}else{g=f+16&-16;d=j0a(g)|0;c[h>>2]=d;c[h+8>>2]=g|-2147483648;c[h+4>>2]=f;g=18}if((g|0)==18)x2a(d|0,e|0,f|0)|0;a[d+f>>0]=0;d=b+188|0;wma(d);qAa(h,d);if((a[h+11>>0]|0)<0)l0a(c[h>>2]|0);h=d;vAa(h);l=i;return}function Rna(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0;k=l;l=l+16|0;g=k+12|0;j=k;h=b+32|0;t0a(j,d);i=j+11|0;f=a[i>>0]|0;d=f<<24>>24<0;e=j+4|0;if((d?c[e>>2]|0:f&255)|0){d=d?c[j>>2]|0:j;do{a[d>>0]=hOa(a[d>>0]|0)|0;d=d+1|0;f=a[i>>0]|0;m=f<<24>>24<0}while((d|0)!=((m?c[j>>2]|0:j)+(m?c[e>>2]|0:f&255)|0))}f=lu(h,g,j)|0;if(!(c[f>>2]|0)){d=j0a(28)|0;e=d+16|0;c[e>>2]=c[j>>2];c[e+4>>2]=c[j+4>>2];c[e+8>>2]=c[j+8>>2];c[j>>2]=0;c[j+4>>2]=0;c[j+8>>2]=0;e=c[g>>2]|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=e;c[f>>2]=d;e=c[c[h>>2]>>2]|0;if(e){c[h>>2]=e;d=c[f>>2]|0}fp(c[b+36>>2]|0,d);m=b+40|0;c[m>>2]=(c[m>>2]|0)+1}if((a[i>>0]|0)>=0){l=k;return}l0a(c[j>>2]|0);l=k;return}function Sna(d){d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0;o=l;l=l+16|0;i=o+12|0;n=o;Tha(d);c[d>>2]=98292;j=d+12|0;xla(j,1);c[j>>2]=81256;c[d+28>>2]=0;c[d+32>>2]=0;c[d+24>>2]=d+28;c[d+40>>2]=0;c[d+44>>2]=0;c[d+36>>2]=d+40;j=d+48|0;k=d+52|0;c[k>>2]=0;m=d+56|0;c[m>>2]=0;c[j>>2]=d+52;c[n>>2]=0;c[n+4>>2]=0;c[n+8>>2]=0;g=n+11|0;a[g>>0]=2;b[n>>1]=19527;a[n+2>>0]=0;f=Wna(j,i,n)|0;d=c[f>>2]|0;if(!d){d=j0a(52)|0;e=d+16|0;c[e>>2]=c[n>>2];c[e+4>>2]=c[n+4>>2];c[e+8>>2]=c[n+8>>2];c[n>>2]=0;c[n+4>>2]=0;c[n+8>>2]=0;e=d+32|0;c[e>>2]=0;c[d+36>>2]=0;c[d+28>>2]=e;e=d+44|0;c[e>>2]=0;c[d+48>>2]=0;c[d+40>>2]=e;e=c[i>>2]|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=e;c[f>>2]=d;e=c[c[j>>2]>>2]|0;if(!e)e=d;else{c[j>>2]=e;e=c[f>>2]|0}fp(c[k>>2]|0,e);c[m>>2]=(c[m>>2]|0)+1}d=d+28|0;if((a[g>>0]|0)<0)l0a(c[n>>2]|0);Xna(d,173474,3008);Xna(d,173488,3042);Xna(d,173497,3058);Xna(d,173515,2903);Xna(d,173533,2884);Xna(d,173546,2929);Xna(d,173560,2912);Xna(d,173567,34820);Xna(d,173591,2852);Xna(d,173607,2832);Xna(d,173623,34913);Xna(d,173643,32823);Xna(d,173666,10754);Xna(d,173689,10753);Xna(d,173713,2882);Xna(d,173732,3089);Xna(d,173748,2960);Xna(d,173764,35088);Xna(d,173789,34336);Xna(d,173811,33880);Xna(d,173824,2896);Xna(d,173836,2977);Xna(d,173849,32826);Xna(d,173867,3552);Xna(d,173881,3553);Xna(d,173895,32879);Xna(d,173909,34067);Xna(d,173929,34037);Xna(d,173950,3171);Xna(d,173967,3170);Xna(d,173984,3168);Xna(d,174001,3169);Xna(d,174018,12288);Xna(d,174033,12289);Xna(d,174048,12290);Xna(d,174063,12291);Xna(d,174078,12292);Xna(d,174093,12293);Xna(d,174108,16384);Xna(d,174118,16385);Xna(d,174128,16386);Xna(d,174138,16387);Xna(d,174148,16388);Xna(d,174158,16389);Xna(d,174168,16390);Xna(d,174178,16391);Xna(d,174188,34370);Xna(d,174217,34371);Xna(d,174244,512);Xna(d,174250,513);Xna(d,174255,514);Xna(d,174261,515);Xna(d,174268,516);Xna(d,174276,517);Xna(d,174285,518);Xna(d,174292,519);Xna(d,174299,7681);Xna(d,174307,8448);Xna(d,174316,260);Xna(d,174320,34164);Xna(d,174331,34165);Xna(d,174343,34023);Xna(d,174352,34478);Xna(d,174361,34479);Xna(d,174371,34166);Xna(d,174380,34167);Xna(d,174394,34168);Xna(d,174403,5890);Xna(d,174411,33984);Xna(d,174420,33985);Xna(d,174429,33986);Xna(d,174438,33987);Xna(d,174447,33988);Xna(d,174456,33989);Xna(d,174465,33990);Xna(d,174474,33991);Xna(d,174483,10496);Xna(d,174489,33071);Xna(d,174503,33069);Xna(d,174519,10497);Xna(d,174526,33648);Xna(d,174533,9729);Xna(d,174540,9987);Xna(d,174561,9985);Xna(d,174583,9728);Xna(d,174591,9986);Xna(d,174613,9984);Xna(d,174636,32841);Xna(d,174649,6409);Xna(d,174662,6406);Xna(d,174671,6410);Xna(d,174690,6407);Xna(d,174697,6408);Xna(d,174705,34025);Xna(d,174729,34026);Xna(d,174757,34028);Xna(d,174785,34027);Xna(d,174819,34029);Xna(d,174841,34030);Xna(d,174864,33776);Xna(d,174896,33777);Xna(d,174929,33778);Xna(d,174962,33779);Xna(d,174995,35840);Xna(d,175030,35841);Xna(d,175065,35842);Xna(d,175101,35843);Xna(d,175137,36196);Xna(d,175154,37492);Xna(d,175178,37493);Xna(d,175203,37494);Xna(d,175247,37495);Xna(d,175292,37496);Xna(d,175321,37497);Xna(d,175357,37488);Xna(d,175379,37489);Xna(d,175408,37490);Xna(d,175431,37491);Xna(d,175461,5120);Xna(d,175469,5122);Xna(d,175478,5124);Xna(d,175485,5126);Xna(d,175494,5130);Xna(d,175504,5121);Xna(d,175521,5123);Xna(d,175539,5125);Xna(d,175555,772);Xna(d,175565,774);Xna(d,175575,1);Xna(d,175579,773);Xna(d,175599,775);Xna(d,175619,771);Xna(d,175639,769);Xna(d,175659,770);Xna(d,175669,776);Xna(d,175688,768);Xna(d,175698,32769);Xna(d,175713,32770);Xna(d,175738,32771);Xna(d,175753,32772);Xna(d,175778,0);Xna(d,175783,33873);Xna(d,175794,33874);Xna(d,175800,3156);Xna(d,175809,33170);Xna(d,175830,3154);Xna(d,175847,3152);Xna(d,175875,3153);Xna(d,175893,3155);Xna(d,175913,34031);Xna(d,175938,35723);Xna(d,175970,6912);Xna(d,175976,6913);Xna(d,175981,6914);Xna(d,175986,1029);Xna(d,175991,1028);Xna(d,175997,1032);Xna(d,176012,35101);Xna(d,176023,4353);Xna(d,176031,4354);Xna(d,176038,4352);c[n>>2]=0;c[n+4>>2]=0;c[n+8>>2]=0;h=n+11|0;a[h>>0]=9;e=n;f=176048;g=e+9|0;do{a[e>>0]=a[f>>0]|0;e=e+1|0;f=f+1|0}while((e|0)<(g|0));a[n+9>>0]=0;f=Wna(j,i,n)|0;d=c[f>>2]|0;if(!d){d=j0a(52)|0;e=d+16|0;c[e>>2]=c[n>>2];c[e+4>>2]=c[n+4>>2];c[e+8>>2]=c[n+8>>2];c[n>>2]=0;c[n+4>>2]=0;c[n+8>>2]=0;e=d+32|0;c[e>>2]=0;c[d+36>>2]=0;c[d+28>>2]=e;e=d+44|0;c[e>>2]=0;c[d+48>>2]=0;c[d+40>>2]=e;e=c[i>>2]|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=e;c[f>>2]=d;e=c[c[j>>2]>>2]|0;if(!e)e=d;else{c[j>>2]=e;e=c[f>>2]|0}fp(c[k>>2]|0,e);c[m>>2]=(c[m>>2]|0)+1}d=d+28|0;if((a[h>>0]|0)<0)l0a(c[n>>2]|0);Xna(d,176058,0);Xna(d,176068,1);Xna(d,176079,2);Xna(d,176090,3);Xna(d,176102,4);Xna(d,176111,5);Xna(d,176121,6);Xna(d,176132,7);Xna(d,176144,8);Xna(d,176155,9);Xna(d,176166,10);Xna(d,176177,21);Xna(d,176189,22);Xna(d,176201,11);Xna(d,176213,12);Xna(d,176224,13);Xna(d,176235,14);Xna(d,176246,23);Xna(d,176258,24);Xna(d,176270,25);Xna(d,176282,15);Xna(d,176293,16);Xna(d,176304,17);Xna(d,176315,18);Xna(d,176326,19);Xna(d,176337,20);Xna(d,176348,26);Xna(d,176359,27);Xna(d,176370,28);Xna(d,176381,29);Xna(d,176393,30);Xna(d,176405,31);c[n>>2]=0;c[n+4>>2]=0;c[n+8>>2]=0;d=j0a(16)|0;c[n>>2]=d;c[n+8>>2]=-2147483632;c[n+4>>2]=13;e=d;f=176417;g=e+13|0;do{a[e>>0]=a[f>>0]|0;e=e+1|0;f=f+1|0}while((e|0)<(g|0));a[d+13>>0]=0;f=Wna(j,i,n)|0;d=c[f>>2]|0;if(!d){d=j0a(52)|0;e=d+16|0;c[e>>2]=c[n>>2];c[e+4>>2]=c[n+4>>2];c[e+8>>2]=c[n+8>>2];c[n>>2]=0;c[n+4>>2]=0;c[n+8>>2]=0;e=d+32|0;c[e>>2]=0;c[d+36>>2]=0;c[d+28>>2]=e;e=d+44|0;c[e>>2]=0;c[d+48>>2]=0;c[d+40>>2]=e;e=c[i>>2]|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=e;c[f>>2]=d;e=c[c[j>>2]>>2]|0;if(!e)e=d;else{c[j>>2]=e;e=c[f>>2]|0}fp(c[k>>2]|0,e);c[m>>2]=(c[m>>2]|0)+1}d=d+28|0;if((a[n+11>>0]|0)>=0){Xna(d,176431,50);Xna(d,176442,51);Xna(d,176459,52);Xna(d,176477,53);Xna(d,176496,54);Xna(d,176513,0);Xna(d,176523,1);Xna(d,176532,3);Xna(d,176546,2);Xna(d,176559,4);Xna(d,176572,5);Xna(d,176590,6);Xna(d,176606,7);Xna(d,176615,8);Xna(d,176629,9);Yna(d,176640,176663,10);Yna(d,176682,176710,11);Yna(d,176734,176761,12);Yna(d,176784,176816,13);Xna(d,176844,14);l=o;return}l0a(c[n>>2]|0);Xna(d,176431,50);Xna(d,176442,51);Xna(d,176459,52);Xna(d,176477,53);Xna(d,176496,54);Xna(d,176513,0);Xna(d,176523,1);Xna(d,176532,3);Xna(d,176546,2);Xna(d,176559,4);Xna(d,176572,5);Xna(d,176590,6);Xna(d,176606,7);Xna(d,176615,8);Xna(d,176629,9);Yna(d,176640,176663,10);Yna(d,176682,176710,11);Yna(d,176734,176761,12);Yna(d,176784,176816,13);Xna(d,176844,14);l=o;return}function Tna(a){a=a|0;c[a>>2]=98272;Vna(a+96|0,c[a+100>>2]|0);Vna(a+84|0,c[a+88>>2]|0);Vna(a+72|0,c[a+76>>2]|0);Vna(a+60|0,c[a+64>>2]|0);Vna(a+48|0,c[a+52>>2]|0);Vna(a+36|0,c[a+40>>2]|0);Vna(a+24|0,c[a+28>>2]|0);Vna(a+12|0,c[a+16>>2]|0);SU(a);return}function Una(a){a=a|0;c[a>>2]=98272;Vna(a+96|0,c[a+100>>2]|0);Vna(a+84|0,c[a+88>>2]|0);Vna(a+72|0,c[a+76>>2]|0);Vna(a+60|0,c[a+64>>2]|0);Vna(a+48|0,c[a+52>>2]|0);Vna(a+36|0,c[a+40>>2]|0);Vna(a+24|0,c[a+28>>2]|0);Vna(a+12|0,c[a+16>>2]|0);SU(a);l0a(a);return}function Vna(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;if(!d)return;Vna(b,c[d>>2]|0);Vna(b,c[d+4>>2]|0);b=d+16|0;e=d+28|0;f=c[e>>2]|0;if(f|0?(h=f+8|0,g=c[h>>2]|0,c[h>>2]=g-1,(g|0)==1):0)UU(f,1,1);c[e>>2]=0;if((a[b+11>>0]|0)<0)l0a(c[b>>2]|0);l0a(d);return}function Wna(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;f=b+4|0;h=c[f>>2]|0;if(!h){c[d>>2]=f;o=f;return o|0}m=a[e+11>>0]|0;l=m<<24>>24<0;m=l?c[e+4>>2]|0:m&255;l=l?c[e>>2]|0:e;g=b+4|0;f=h;while(1){e=f+16|0;h=a[e+11>>0]|0;b=h<<24>>24<0;h=b?c[f+20>>2]|0:h&255;k=h>>>0<m>>>0;j=k?h:m;i=(j|0)==0;if(!i?(n=b?c[e>>2]|0:e,o=cOa(l,n,j)|0,(o|0)!=0):0)if((o|0)<0)b=7;else{e=n;b=11}else if(m>>>0>=h>>>0)if(i)b=12;else{e=b?c[e>>2]|0:e;b=11}else b=7;if((b|0)==7){b=0;e=c[f>>2]|0;if(!e){b=8;break}else{g=f;f=e}}else if((b|0)==11){e=cOa(e,l,j)|0;if(e)if((e|0)<0)b=14;else{b=16;break}else b=12}if((b|0)==12)if(k)b=14;else{b=16;break}if((b|0)==14){e=f+4|0;b=c[e>>2]|0;if(!b){b=15;break}else{g=e;f=b}}}if((b|0)==8){c[d>>2]=f;o=f;return o|0}else if((b|0)==15){c[d>>2]=f;o=e;return o|0}else if((b|0)==16){c[d>>2]=f;o=g;return o|0}return 0}function Xna(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0;p=l;l=l+16|0;n=p+12|0;o=p;m=b+12|0;k=b+16|0;f=c[k>>2]|0;do if(f){g=k;h=f;do{j=(c[h+16>>2]|0)<(e|0);g=j?g:h;h=c[(j?h+4|0:h)>>2]|0}while((h|0)!=0);if((g|0)!=(k|0)?(c[g+16>>2]|0)<=(e|0):0){i=mr(PSa(mr(lr(4)|0,176855,21)|0,e)|0,176877,18)|0;f=c[k>>2]|0;do if(f){h=b+16|0;while(1){g=c[f+16>>2]|0;if((g|0)>(e|0)){g=c[f>>2]|0;if(!g){j=10;break}}else{if((g|0)>=(e|0)){j=14;break}h=f+4|0;g=c[h>>2]|0;if(!g){j=13;break}else f=h}h=f;f=g}if((j|0)==10){g=f;h=f;break}else if((j|0)==13){g=f;break}else if((j|0)==14){g=f;break}}else{g=k;h=k}while(0);f=c[h>>2]|0;if(!f){f=j0a(32)|0;c[f+16>>2]=e;j=f+20|0;c[j>>2]=0;c[j+4>>2]=0;c[j+8>>2]=0;c[f>>2]=0;c[f+4>>2]=0;c[f+8>>2]=g;c[h>>2]=f;g=c[c[m>>2]>>2]|0;if(!g)g=f;else{c[m>>2]=g;g=c[h>>2]|0}fp(c[b+16>>2]|0,g);j=b+20|0;c[j>>2]=(c[j>>2]|0)+1}g=f+20|0;j=a[g+11>>0]|0;h=j<<24>>24<0;f=mr(mr(i,h?c[g>>2]|0:g,h?c[f+24>>2]|0:j&255)|0,176921,17)|0;f=mr(f,d,VNa(d)|0)|0;BSa(n,f+(c[(c[f>>2]|0)+-12>>2]|0)|0);j=cUa(n,230580)|0;j=kk[c[(c[j>>2]|0)+28>>2]&511](j,10)|0;dUa(n);VSa(f,j)|0;HSa(f)|0;f=c[k>>2]|0}if(f){h=b+16|0;while(1){g=c[f+16>>2]|0;if((g|0)>(e|0)){g=c[f>>2]|0;if(!g){j=26;break}else{h=f;f=g}}else{if((g|0)>=(e|0)){j=30;break}h=f+4|0;g=c[h>>2]|0;if(!g){j=29;break}else f=g}}if((j|0)==26){g=f;h=f;break}else if((j|0)==29){g=f;break}else if((j|0)==30){g=f;break}}else j=32}else j=32;while(0);if((j|0)==32){g=k;h=k}f=c[h>>2]|0;if(!f){f=j0a(32)|0;c[f+16>>2]=e;k=f+20|0;c[k>>2]=0;c[k+4>>2]=0;c[k+8>>2]=0;c[f>>2]=0;c[f+4>>2]=0;c[f+8>>2]=g;c[h>>2]=f;g=c[c[m>>2]>>2]|0;if(!g)g=f;else{c[m>>2]=g;g=c[h>>2]|0}fp(c[b+16>>2]|0,g);m=b+20|0;c[m>>2]=(c[m>>2]|0)+1}E0a(f+20|0,d)|0;c[o>>2]=0;c[o+4>>2]=0;c[o+8>>2]=0;g=VNa(d)|0;if(g>>>0>4294967279)r0a(o);if(g>>>0<11){a[o+11>>0]=g;if(!g)f=o;else{f=o;j=42}}else{j=g+16&-16;f=j0a(j)|0;c[o>>2]=f;c[o+8>>2]=j|-2147483648;c[o+4>>2]=g;j=42}if((j|0)==42)x2a(f|0,d|0,g|0)|0;a[f+g>>0]=0;h=coa(b,n,o)|0;f=c[h>>2]|0;if(!f){f=j0a(32)|0;g=f+16|0;c[g>>2]=c[o>>2];c[g+4>>2]=c[o+4>>2];c[g+8>>2]=c[o+8>>2];c[o>>2]=0;c[o+4>>2]=0;c[o+8>>2]=0;c[f+28>>2]=0;g=c[n>>2]|0;c[f>>2]=0;c[f+4>>2]=0;c[f+8>>2]=g;c[h>>2]=f;g=c[c[b>>2]>>2]|0;if(!g)g=f;else{c[b>>2]=g;g=c[h>>2]|0}fp(c[b+4>>2]|0,g);b=b+8|0;c[b>>2]=(c[b>>2]|0)+1}c[f+28>>2]=e;if((a[o+11>>0]|0)>=0){l=p;return}l0a(c[o>>2]|0);l=p;return}function Yna(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0;q=l;l=l+16|0;o=q+12|0;p=q;n=b+12|0;k=b+16|0;g=c[k>>2]|0;do if(g){h=k;i=g;do{m=(c[i+16>>2]|0)<(f|0);h=m?h:i;i=c[(m?i+4|0:i)>>2]|0}while((i|0)!=0);if((h|0)!=(k|0)?(c[h+16>>2]|0)<=(f|0):0){j=mr(PSa(mr(lr(4)|0,176855,21)|0,f)|0,176877,18)|0;g=c[k>>2]|0;do if(g){i=b+16|0;while(1){h=c[g+16>>2]|0;if((h|0)>(f|0)){h=c[g>>2]|0;if(!h){m=10;break}}else{if((h|0)>=(f|0)){m=14;break}i=g+4|0;h=c[i>>2]|0;if(!h){m=13;break}else g=i}i=g;g=h}if((m|0)==10){h=g;i=g;break}else if((m|0)==13){h=g;break}else if((m|0)==14){h=g;break}}else{h=k;i=k}while(0);g=c[i>>2]|0;if(!g){g=j0a(32)|0;c[g+16>>2]=f;m=g+20|0;c[m>>2]=0;c[m+4>>2]=0;c[m+8>>2]=0;c[g>>2]=0;c[g+4>>2]=0;c[g+8>>2]=h;c[i>>2]=g;h=c[c[n>>2]>>2]|0;if(!h)h=g;else{c[n>>2]=h;h=c[i>>2]|0}fp(c[b+16>>2]|0,h);m=b+20|0;c[m>>2]=(c[m>>2]|0)+1}h=g+20|0;m=a[h+11>>0]|0;i=m<<24>>24<0;g=mr(mr(j,i?c[h>>2]|0:h,i?c[g+24>>2]|0:m&255)|0,176896,18)|0;g=mr(mr(g,d,VNa(d)|0)|0,176915,5)|0;g=mr(g,e,VNa(e)|0)|0;BSa(o,g+(c[(c[g>>2]|0)+-12>>2]|0)|0);m=cUa(o,230580)|0;m=kk[c[(c[m>>2]|0)+28>>2]&511](m,10)|0;dUa(o);VSa(g,m)|0;HSa(g)|0;g=c[k>>2]|0}if(g){i=b+16|0;while(1){h=c[g+16>>2]|0;if((h|0)>(f|0)){h=c[g>>2]|0;if(!h){m=26;break}else{i=g;g=h}}else{if((h|0)>=(f|0)){m=30;break}i=g+4|0;h=c[i>>2]|0;if(!h){m=29;break}else g=h}}if((m|0)==26){h=g;i=g;break}else if((m|0)==29){h=g;break}else if((m|0)==30){h=g;break}}else m=32}else m=32;while(0);if((m|0)==32){h=k;i=k}g=c[i>>2]|0;if(!g){g=j0a(32)|0;c[g+16>>2]=f;k=g+20|0;c[k>>2]=0;c[k+4>>2]=0;c[k+8>>2]=0;c[g>>2]=0;c[g+4>>2]=0;c[g+8>>2]=h;c[i>>2]=g;h=c[c[n>>2]>>2]|0;if(!h)h=g;else{c[n>>2]=h;h=c[i>>2]|0}fp(c[b+16>>2]|0,h);n=b+20|0;c[n>>2]=(c[n>>2]|0)+1}E0a(g+20|0,e)|0;c[p>>2]=0;c[p+4>>2]=0;c[p+8>>2]=0;h=VNa(e)|0;if(h>>>0>4294967279)r0a(p);if(h>>>0<11){a[p+11>>0]=h;if(!h)g=p;else{g=p;m=42}}else{m=h+16&-16;g=j0a(m)|0;c[p>>2]=g;c[p+8>>2]=m|-2147483648;c[p+4>>2]=h;m=42}if((m|0)==42)x2a(g|0,e|0,h|0)|0;a[g+h>>0]=0;i=coa(b,o,p)|0;g=c[i>>2]|0;if(!g){g=j0a(32)|0;h=g+16|0;c[h>>2]=c[p>>2];c[h+4>>2]=c[p+4>>2];c[h+8>>2]=c[p+8>>2];c[p>>2]=0;c[p+4>>2]=0;c[p+8>>2]=0;c[g+28>>2]=0;h=c[o>>2]|0;c[g>>2]=0;c[g+4>>2]=0;c[g+8>>2]=h;c[i>>2]=g;h=c[c[b>>2]>>2]|0;if(!h)h=g;else{c[b>>2]=h;h=c[i>>2]|0}fp(c[b+4>>2]|0,h);e=b+8|0;c[e>>2]=(c[e>>2]|0)+1}c[g+28>>2]=f;if((a[p+11>>0]|0)<0)l0a(c[p>>2]|0);c[p>>2]=0;c[p+4>>2]=0;c[p+8>>2]=0;h=VNa(d)|0;if(h>>>0>4294967279)r0a(p);if(h>>>0<11){a[p+11>>0]=h;if(!h)g=p;else{g=p;m=54}}else{m=h+16&-16;g=j0a(m)|0;c[p>>2]=g;c[p+8>>2]=m|-2147483648;c[p+4>>2]=h;m=54}if((m|0)==54)x2a(g|0,d|0,h|0)|0;a[g+h>>0]=0;i=coa(b,o,p)|0;g=c[i>>2]|0;if(!g){g=j0a(32)|0;h=g+16|0;c[h>>2]=c[p>>2];c[h+4>>2]=c[p+4>>2];c[h+8>>2]=c[p+8>>2];c[p>>2]=0;c[p+4>>2]=0;c[p+8>>2]=0;c[g+28>>2]=0;h=c[o>>2]|0;c[g>>2]=0;c[g+4>>2]=0;c[g+8>>2]=h;c[i>>2]=g;h=c[c[b>>2]>>2]|0;if(!h)h=g;else{c[b>>2]=h;h=c[i>>2]|0}fp(c[b+4>>2]|0,h);b=b+8|0;c[b>>2]=(c[b>>2]|0)+1}c[g+28>>2]=f;if((a[p+11>>0]|0)>=0){l=q;return}l0a(c[p>>2]|0);l=q;return}function Zna(b,d){b=b|0;d=d|0;if(!d)return;Zna(b,c[d>>2]|0);Zna(b,c[d+4>>2]|0);b=d+16|0;aoa(d+40|0,c[d+44>>2]|0);boa(d+28|0,c[d+32>>2]|0);if((a[b+11>>0]|0)<0)l0a(c[b>>2]|0);l0a(d);return}function _na(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;if(!d)return;_na(b,c[d>>2]|0);_na(b,c[d+4>>2]|0);b=d+16|0;e=d+28|0;f=c[e>>2]|0;if(f|0?(h=f+8|0,g=c[h>>2]|0,c[h>>2]=g-1,(g|0)==1):0)UU(f,1,1);c[e>>2]=0;if((a[b+11>>0]|0)<0)l0a(c[b>>2]|0);l0a(d);return}function $na(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;if(!d)return;$na(b,c[d>>2]|0);$na(b,c[d+4>>2]|0);b=d+16|0;e=d+28|0;f=c[e>>2]|0;if(f|0?(h=f+8|0,g=c[h>>2]|0,c[h>>2]=g-1,(g|0)==1):0)UU(f,1,1);c[e>>2]=0;if((a[b+11>>0]|0)<0)l0a(c[b>>2]|0);l0a(d);return}function aoa(b,d){b=b|0;d=d|0;if(!d)return;aoa(b,c[d>>2]|0);aoa(b,c[d+4>>2]|0);b=d+20|0;if((a[b+11>>0]|0)<0)l0a(c[b>>2]|0);l0a(d);return}function boa(b,d){b=b|0;d=d|0;if(!d)return;boa(b,c[d>>2]|0);boa(b,c[d+4>>2]|0);b=d+16|0;if((a[b+11>>0]|0)<0)l0a(c[b>>2]|0);l0a(d);return}function coa(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;f=b+4|0;h=c[f>>2]|0;if(!h){c[d>>2]=f;o=f;return o|0}m=a[e+11>>0]|0;l=m<<24>>24<0;m=l?c[e+4>>2]|0:m&255;l=l?c[e>>2]|0:e;g=b+4|0;f=h;while(1){e=f+16|0;h=a[e+11>>0]|0;b=h<<24>>24<0;h=b?c[f+20>>2]|0:h&255;k=h>>>0<m>>>0;j=k?h:m;i=(j|0)==0;if(!i?(n=b?c[e>>2]|0:e,o=cOa(l,n,j)|0,(o|0)!=0):0)if((o|0)<0)b=7;else{e=n;b=11}else if(m>>>0>=h>>>0)if(i)b=12;else{e=b?c[e>>2]|0:e;b=11}else b=7;if((b|0)==7){b=0;e=c[f>>2]|0;if(!e){b=8;break}else{g=f;f=e}}else if((b|0)==11){e=cOa(e,l,j)|0;if(e)if((e|0)<0)b=14;else{b=16;break}else b=12}if((b|0)==12)if(k)b=14;else{b=16;break}if((b|0)==14){e=f+4|0;b=c[e>>2]|0;if(!b){b=15;break}else{g=e;f=b}}}if((b|0)==8){c[d>>2]=f;o=f;return o|0}else if((b|0)==15){c[d>>2]=f;o=e;return o|0}else if((b|0)==16){c[d>>2]=f;o=g;return o|0}return 0}function doa(a){a=a|0;c[a>>2]=98292;Zna(a+48|0,c[a+52>>2]|0);_na(a+36|0,c[a+40>>2]|0);$na(a+24|0,c[a+28>>2]|0);oX(a+12|0);SU(a);return}function eoa(a){a=a|0;c[a>>2]=98292;Zna(a+48|0,c[a+52>>2]|0);_na(a+36|0,c[a+40>>2]|0);$na(a+24|0,c[a+28>>2]|0);oX(a+12|0);SU(a);l0a(a);return}function foa(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;x=l;l=l+112|0;t=x+96|0;w=x+88|0;v=x+80|0;o=x+40|0;p=x+32|0;q=x+72|0;u=x+56|0;r=x+24|0;s=x+16|0;h=x+64|0;j=x+8|0;k=x;m=x+48|0;e=c[d+4>>2]|0;f=c[b+4>>2]|0;g=f;if((e|0)!=(f|0)?(y=c[d>>2]|0,f=c[b>>2]|0,i=f,n=c[a+20>>2]|0,(((y-i>>2)*341|0)+((e-(c[y>>2]|0)|0)/12|0)+((g-(c[f>>2]|0)|0)/-12|0)|0)>>>0>n>>>0):0){h=b;f=c[h>>2]|0;h=c[h+4>>2]|0;b=f;do if(n){e=((h-(c[f>>2]|0)|0)/12|0)+n|0;if((e|0)>0){g=(e>>>0)/341|0;y=b+(g<<2)|0;i=y;g=(c[y>>2]|0)+((e-(g*341|0)|0)*12|0)|0;break}else{g=340-e|0;y=b+(((g|0)/-341|0)<<2)|0;i=y;g=(c[y>>2]|0)+((340-((g|0)%341|0)|0)*12|0)|0;break}}while(0);y=o;c[y>>2]=f;c[y+4>>2]=h;c[p>>2]=i;c[p+4>>2]=g;y=c[a+4>>2]|0;e=c[a+16>>2]|0;b=(e>>>0)/341|0;f=y+(b<<2)|0;if((c[a+8>>2]|0)==(y|0))e=0;else e=(c[f>>2]|0)+((e-(b*341|0)|0)*12|0)|0;c[q>>2]=f;c[q+4>>2]=e;c[v>>2]=c[o>>2];c[v+4>>2]=c[o+4>>2];c[w>>2]=c[p>>2];c[w+4>>2]=c[p+4>>2];c[t>>2]=c[q>>2];c[t+4>>2]=c[q+4>>2];goa(u,v,w,t);c[r>>2]=i;c[r+4>>2]=g;u=d;v=c[u+4>>2]|0;y=s;c[y>>2]=c[u>>2];c[y+4>>2]=v;c[w>>2]=c[r>>2];c[w+4>>2]=c[r+4>>2];c[t>>2]=c[s>>2];c[t+4>>2]=c[s+4>>2];Jna(a,w,t,0);l=x;return}y=b;e=c[y+4>>2]|0;b=j;c[b>>2]=c[y>>2];c[b+4>>2]=e;b=d;e=c[b+4>>2]|0;y=k;c[y>>2]=c[b>>2];c[y+4>>2]=e;y=c[a+4>>2]|0;e=c[a+16>>2]|0;b=(e>>>0)/341|0;f=y+(b<<2)|0;if((c[a+8>>2]|0)==(y|0))e=0;else e=(c[f>>2]|0)+((e-(b*341|0)|0)*12|0)|0;c[m>>2]=f;c[m+4>>2]=e;c[v>>2]=c[j>>2];c[v+4>>2]=c[j+4>>2];c[w>>2]=c[k>>2];c[w+4>>2]=c[k+4>>2];c[t>>2]=c[m>>2];c[t+4>>2]=c[m+4>>2];goa(u,v,w,t);c[h>>2]=c[u>>2];c[h+4>>2]=c[u+4>>2];c[t>>2]=c[h>>2];c[t+4>>2]=c[h+4>>2];hoa(a,t);l=x;return}function goa(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;g=c[d+4>>2]|0;u=b+4|0;i=c[u>>2]|0;h=i;if((g|0)!=(i|0)?(t=c[d>>2]|0,f=c[b>>2]|0,f=((t-f>>2)*341|0)+((g-(c[t>>2]|0)|0)/12|0)+((h-(c[f>>2]|0)|0)/-12|0)|0,(f|0)>0):0){d=e;t=f;f=c[d>>2]|0;d=c[d+4>>2]|0;s=h;h=c[b>>2]|0;g=i;while(1){q=(c[h>>2]|0)+4092|0;r=(q-g|0)/12|0;p=(r|0)>(t|0);q=p?g+(t*12|0)|0:q;r=p?t:r;if((g|0)!=(q|0)){p=q;o=g;n=f;m=d;k=d;while(1){j=((c[n>>2]|0)+4092-m|0)/12|0;l=(p-o|0)/12|0;v=(l|0)>(j|0);l=v?j:l;i=o;o=v?o+(j*12|0)|0:q;if((i|0)!=(o|0)){j=m;while(1){z0a(j,i)|0;i=i+12|0;if((i|0)==(o|0))break;else j=j+12|0}}do if(l){d=((k-(c[n>>2]|0)|0)/12|0)+l|0;if((d|0)>0){j=(d>>>0)/341|0;f=n+(j<<2)|0;j=(c[f>>2]|0)+((d-(j*341|0)|0)*12|0)|0;d=j;k=d;i=f;break}else{j=340-d|0;f=n+(((j|0)/-341|0)<<2)|0;j=(c[f>>2]|0)+((340-((j|0)%341|0)|0)*12|0)|0;d=j;k=d;i=f;break}}else{i=n;j=m}while(0);if((o|0)==(q|0))break;else{n=i;m=j}}}v=e;c[v>>2]=f;c[v+4>>2]=d;t=t-r|0;if(!r)i=s;else{g=((s-(c[h>>2]|0)|0)/12|0)+r|0;if((g|0)>0){v=(g>>>0)/341|0;s=h+(v<<2)|0;c[b>>2]=s;h=s;g=(c[s>>2]|0)+((g-(v*341|0)|0)*12|0)|0}else{g=340-g|0;v=h+(((g|0)/-341|0)<<2)|0;c[b>>2]=v;h=v;g=(c[v>>2]|0)+((340-((g|0)%341|0)|0)*12|0)|0}c[u>>2]=g;i=g}if((t|0)<=0)break;else s=i}v=a;a=v;c[a>>2]=f;v=v+4|0;c[v>>2]=d;return}u=e;e=c[u>>2]|0;u=c[u+4>>2]|0;v=a;a=v;c[a>>2]=e;v=v+4|0;c[v>>2]=u;return}function hoa(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;v=b+20|0;h=c[v>>2]|0;w=b+16|0;r=c[w>>2]|0;e=r+h|0;t=b+4|0;m=c[t>>2]|0;f=(e>>>0)/341|0;i=m+(f<<2)|0;u=b+8|0;b=c[u>>2]|0;j=(b|0)==(m|0);p=b;g=m;if(j)q=0;else q=(c[i>>2]|0)+((e-(f*341|0)|0)*12|0)|0;n=c[d+4>>2]|0;if((q|0)==(n|0))return;l=c[d>>2]|0;k=l;l=n-(c[l>>2]|0)|0;s=((i-k>>2)*341|0)+((q-(c[i>>2]|0)|0)/12|0)+((l|0)/-12|0)|0;if((s|0)<=0)return;e=(r>>>0)/341|0;i=m+(e<<2)|0;if(j)f=0;else f=(c[i>>2]|0)+((r-(e*341|0)|0)*12|0)|0;e=i;d=f;do if((n|0)!=(f|0)?(o=((k-e>>2)*341|0)+((l|0)/12|0)+((d-(c[i>>2]|0)|0)/-12|0)|0,(o|0)!=0):0){f=((d-(c[i>>2]|0)|0)/12|0)+o|0;if((f|0)>0){d=(f>>>0)/341|0;o=i+(d<<2)|0;e=o;d=(c[o>>2]|0)+((f-(d*341|0)|0)*12|0)|0;break}else{d=340-f|0;o=i+(((d|0)/-341|0)<<2)|0;e=o;d=(c[o>>2]|0)+((340-((d|0)%341|0)|0)*12|0)|0;break}}while(0);f=d;if((q|0)==(f|0)){d=t;f=p;e=r}else{b=d;do{if((a[b+11>>0]|0)<0)l0a(c[f>>2]|0);b=f+12|0;if((b-(c[e>>2]|0)|0)==4092){b=e+4|0;e=b;b=c[b>>2]|0}f=b}while((q|0)!=(f|0));f=c[u>>2]|0;d=t;b=f;h=c[v>>2]|0;g=c[t>>2]|0;e=c[w>>2]|0}t=h-s|0;c[v>>2]=t;s=f-g|0;if((((s|0)==0?0:((s>>2)*341|0)+-1|0)-(t+e)|0)>>>0<=681)return;do{l0a(c[b+-4>>2]|0);b=(c[u>>2]|0)+-4|0;c[u>>2]=b;t=b-(c[d>>2]|0)|0}while((((t|0)==0?0:((t>>2)*341|0)+-1|0)-((c[v>>2]|0)+(c[w>>2]|0))|0)>>>0>681);return}function ioa(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;h=l;l=l+16|0;d=h;c[b>>2]=98312;if(ZQ(4)|0){g=mr(lr(4)|0,179971,21)|0;BSa(d,g+(c[(c[g>>2]|0)+-12>>2]|0)|0);f=cUa(d,230580)|0;f=kk[c[(c[f>>2]|0)+28>>2]&511](f,10)|0;dUa(d);VSa(g,f)|0;HSa(g)|0}g=b+24|0;d=b+32|0;if(c[d>>2]|0?(e=c[b+28>>2]|0,f=(c[g>>2]|0)+4|0,i=c[e>>2]|0,c[i+4>>2]=c[f>>2],c[c[f>>2]>>2]=i,c[d>>2]=0,(e|0)!=(g|0)):0){d=e;do{e=d;d=c[d+4>>2]|0;f=c[e+8>>2]|0;if(f|0?(j=f+8|0,i=c[j>>2]|0,c[j>>2]=i-1,(i|0)==1):0)UU(f,1,1);l0a(e)}while((d|0)!=(g|0))}d=b+12|0;if((a[d+11>>0]|0)>=0){SU(b);l=h;return}l0a(c[d>>2]|0);SU(b);l=h;return}function joa(a){a=a|0;ioa(a);l0a(a);return}function koa(a,b){a=a|0;b=b|0;return Ema(b)|0}function loa(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0;k=l;l=l+64|0;f=k+48|0;g=k+36|0;h=k+24|0;i=k+12|0;j=k;mpa(g,e);Yma(i,d+12|0,191233);d=g+11|0;m=a[d>>0]|0;o=m<<24>>24<0;n=g+4|0;m=I0a(i,o?c[g>>2]|0:g,o?c[n>>2]|0:m&255)|0;c[h>>2]=c[m>>2];c[h+4>>2]=c[m+4>>2];c[h+8>>2]=c[m+8>>2];c[m>>2]=0;c[m+4>>2]=0;c[m+8>>2]=0;m=a[d>>0]|0;m=J0a(h,((m<<24>>24<0?c[n>>2]|0:m&255)|0)==0?231036:191233)|0;c[f>>2]=c[m>>2];c[f+4>>2]=c[m+4>>2];c[f+8>>2]=c[m+8>>2];c[m>>2]=0;c[m+4>>2]=0;c[m+8>>2]=0;npa(j,e);m=j+11|0;n=a[m>>0]|0;o=n<<24>>24<0;n=I0a(f,o?c[j>>2]|0:j,o?c[j+4>>2]|0:n&255)|0;c[b>>2]=c[n>>2];c[b+4>>2]=c[n+4>>2];c[b+8>>2]=c[n+8>>2];c[n>>2]=0;c[n+4>>2]=0;c[n+8>>2]=0;if((a[m>>0]|0)<0)l0a(c[j>>2]|0);if((a[f+11>>0]|0)<0)l0a(c[f>>2]|0);if((a[h+11>>0]|0)<0)l0a(c[h>>2]|0);if((a[i+11>>0]|0)<0)l0a(c[i>>2]|0);if(ZQ(5)|0){n=mr(lr(5)|0,179934,31)|0;m=a[e+11>>0]|0;o=m<<24>>24<0;m=mr(mr(n,o?c[e>>2]|0:e,o?c[e+4>>2]|0:m&255)|0,179966,4)|0;o=a[b+11>>0]|0;n=o<<24>>24<0;o=mr(m,n?c[b>>2]|0:b,n?c[b+4>>2]|0:o&255)|0;BSa(f,o+(c[(c[o>>2]|0)+-12>>2]|0)|0);n=cUa(f,230580)|0;n=kk[c[(c[n>>2]|0)+28>>2]&511](n,10)|0;dUa(f);VSa(o,n)|0;HSa(o)|0}if((a[d>>0]|0)>=0){l=k;return}l0a(c[g>>2]|0);l=k;return}function moa(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;g=l;l=l+16|0;e=g;Nk[c[(c[b>>2]|0)+16>>2]&255](e,b,d);f=pAa(e)|0;if((a[e+11>>0]|0)<0)l0a(c[e>>2]|0);if(!f){d=0;l=g;return d|0}f=c[b+28>>2]|0;b=b+24|0;e=f;if((b|0)==(e|0)){d=1;l=g;return d|0}while(1){if(kpa(c[f+8>>2]|0,d)|0){e=0;f=8;break}f=c[e+4>>2]|0;e=f;if((b|0)==(e|0)){e=1;f=8;break}}if((f|0)==8){l=g;return e|0}return 0}function noa(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0;m=l;l=l+16|0;g=m+12|0;j=m;Nk[c[(c[d>>2]|0)+16>>2]&255](j,d,e);i=j+11|0;n=a[i>>0]|0;d=j+4|0;do if(((n<<24>>24<0?c[d>>2]|0:n&255)|0)!=0?pAa(j)|0:0){if(ZQ(4)|0){p=mr(lr(4)|0,179805,30)|0;o=a[e+11>>0]|0;n=o<<24>>24<0;o=mr(mr(p,n?c[e>>2]|0:e,n?c[e+4>>2]|0:o&255)|0,179136,5)|0;n=a[i>>0]|0;e=n<<24>>24<0;n=mr(o,e?c[j>>2]|0:j,e?c[d>>2]|0:n&255)|0;BSa(g,n+(c[(c[n>>2]|0)+-12>>2]|0)|0);e=cUa(g,230580)|0;e=kk[c[(c[e>>2]|0)+28>>2]&511](e,10)|0;dUa(g);VSa(n,e)|0;HSa(n)|0}e=Rla(0)|0;if(f|0?(h=c[f+116>>2]|0,h|0):0){Qk[c[(c[h>>2]|0)+8>>2]&127](b,h,j,f);break}d=c[e+48>>2]|0;if(!d){epa(b,e,j,f);break}else{Qk[c[(c[d>>2]|0)+8>>2]&127](b,d,j,f);break}}else k=11;while(0);if((k|0)==11){c[b>>2]=4;p=b+4|0;c[p>>2]=0;c[p+4>>2]=0;c[p+8>>2]=0;c[p+12>>2]=0}if((a[i>>0]|0)>=0){l=m;return}l0a(c[j>>2]|0);l=m;return}function ooa(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;s=l;l=l+48|0;o=s+24|0;r=s+12|0;q=s;Nk[c[(c[e>>2]|0)+16>>2]&255](r,e,g);p=r+11|0;i=a[p>>0]|0;j=i<<24>>24<0;m=r+4|0;k=j?c[m>>2]|0:i&255;if(!k){c[b>>2]=1;q=b+4|0;c[q>>2]=0;c[q+4>>2]=0;c[q+8>>2]=0}else{j=j?c[r>>2]|0:r;i=j+k|0;while(1){i=i+-1|0;if(aOa(172847,d[i>>0]|0,2)|0){k=5;break}if((i|0)==(j|0)){k=6;break}}if((k|0)==5){i=i-j|0;if((i|0)==-1)k=6;else x0a(q,r,0,i,o)}if((k|0)==6){c[q>>2]=0;c[q+4>>2]=0;c[q+8>>2]=0}if(!(pAa(q)|0)?!(oAa(q)|0):0){if(ZQ(3)|0){h=mr(lr(3)|0,179070,34)|0;g=a[q+11>>0]|0;e=g<<24>>24<0;g=mr(h,e?c[q>>2]|0:q,e?c[q+4>>2]|0:g&255)|0;BSa(o,g+(c[(c[g>>2]|0)+-12>>2]|0)|0);e=cUa(o,230580)|0;e=kk[c[(c[e>>2]|0)+28>>2]&511](e,10)|0;dUa(o);VSa(g,e)|0;HSa(g)|0}c[b>>2]=2;b=b+4|0;c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0}else{if(ZQ(4)|0){i=mr(lr(4)|0,179728,29)|0;t=a[g+11>>0]|0;j=t<<24>>24<0;t=mr(mr(i,j?c[g>>2]|0:g,j?c[g+4>>2]|0:t&255)|0,179136,5)|0;j=a[p>>0]|0;i=j<<24>>24<0;m=mr(t,i?c[r>>2]|0:r,i?c[m>>2]|0:j&255)|0;BSa(o,m+(c[(c[m>>2]|0)+-12>>2]|0)|0);j=cUa(o,230580)|0;j=kk[c[(c[j>>2]|0)+28>>2]&511](j,10)|0;dUa(o);VSa(m,j)|0;HSa(m)|0}j=Rla(0)|0;if((h|0)!=0?(n=c[h+120>>2]|0,(n|0)!=0):0)Sk[c[(c[n>>2]|0)+4>>2]&63](o,n,f,r,h);else k=18;do if((k|0)==18){i=c[j+52>>2]|0;if(!i){dpa(o,j,f,r,h);break}else{Sk[c[(c[i>>2]|0)+4>>2]&63](o,i,f,r,h);break}}while(0);i=c[o>>2]|0;if((i|0)==3){yoa(e,g)|0;i=c[o>>2]|0}c[b>>2]=i;i=o+4|0;t0a(b+4|0,i);if((a[i+11>>0]|0)<0)l0a(c[i>>2]|0)}if((a[q+11>>0]|0)<0)l0a(c[q>>2]|0);i=a[p>>0]|0}if(i<<24>>24>=0){l=s;return}l0a(c[r>>2]|0);l=s;return}function poa(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0;j=l;l=l+16|0;h=j+12|0;i=j;Nk[c[(c[d>>2]|0)+16>>2]&255](i,d,e);g=i+11|0;k=a[g>>0]|0;d=i+4|0;if(((k<<24>>24<0?c[d>>2]|0:k&255)|0)!=0?pAa(i)|0:0){if(ZQ(4)|0){n=mr(lr(4)|0,179659,31)|0;m=a[e+11>>0]|0;k=m<<24>>24<0;m=mr(mr(n,k?c[e>>2]|0:e,k?c[e+4>>2]|0:m&255)|0,179136,5)|0;k=a[g>>0]|0;e=k<<24>>24<0;k=mr(m,e?c[i>>2]|0:i,e?c[d>>2]|0:k&255)|0;BSa(h,k+(c[(c[k>>2]|0)+-12>>2]|0)|0);e=cUa(h,230580)|0;e=kk[c[(c[e>>2]|0)+28>>2]&511](e,10)|0;dUa(h);VSa(k,e)|0;HSa(k)|0}Yoa(b,Rla(0)|0,i,f,1)}else{c[b>>2]=4;n=b+4|0;c[n>>2]=0;c[n+4>>2]=0;c[n+8>>2]=0;c[n+12>>2]=0}if((a[g>>0]|0)>=0){l=j;return}l0a(c[i>>2]|0);l=j;return}function qoa(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;s=l;l=l+48|0;o=s+24|0;r=s+12|0;q=s;Nk[c[(c[e>>2]|0)+16>>2]&255](r,e,g);p=r+11|0;i=a[p>>0]|0;j=i<<24>>24<0;m=r+4|0;k=j?c[m>>2]|0:i&255;if(!k){c[b>>2]=1;q=b+4|0;c[q>>2]=0;c[q+4>>2]=0;c[q+8>>2]=0}else{j=j?c[r>>2]|0:r;i=j+k|0;while(1){i=i+-1|0;if(aOa(172847,d[i>>0]|0,2)|0){k=5;break}if((i|0)==(j|0)){k=6;break}}if((k|0)==5){i=i-j|0;if((i|0)==-1)k=6;else x0a(q,r,0,i,o)}if((k|0)==6){c[q>>2]=0;c[q+4>>2]=0;c[q+8>>2]=0}if(!(pAa(q)|0)?!(oAa(q)|0):0){if(ZQ(3)|0){h=mr(lr(3)|0,179070,34)|0;g=a[q+11>>0]|0;e=g<<24>>24<0;g=mr(h,e?c[q>>2]|0:q,e?c[q+4>>2]|0:g&255)|0;BSa(o,g+(c[(c[g>>2]|0)+-12>>2]|0)|0);e=cUa(o,230580)|0;e=kk[c[(c[e>>2]|0)+28>>2]&511](e,10)|0;dUa(o);VSa(g,e)|0;HSa(g)|0}c[b>>2]=2;b=b+4|0;c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0}else{if(ZQ(4)|0){i=mr(lr(4)|0,179628,30)|0;t=a[g+11>>0]|0;j=t<<24>>24<0;t=mr(mr(i,j?c[g>>2]|0:g,j?c[g+4>>2]|0:t&255)|0,179136,5)|0;j=a[p>>0]|0;i=j<<24>>24<0;m=mr(t,i?c[r>>2]|0:r,i?c[m>>2]|0:j&255)|0;BSa(o,m+(c[(c[m>>2]|0)+-12>>2]|0)|0);j=cUa(o,230580)|0;j=kk[c[(c[j>>2]|0)+28>>2]&511](j,10)|0;dUa(o);VSa(m,j)|0;HSa(m)|0}j=Rla(0)|0;if((h|0)!=0?(n=c[h+120>>2]|0,(n|0)!=0):0)Sk[c[c[n>>2]>>2]&63](o,n,f,r,h);else k=18;do if((k|0)==18){i=c[j+52>>2]|0;if(!i){Boa(o,j,f,r,h);break}else{Sk[c[c[i>>2]>>2]&63](o,i,f,r,h);break}}while(0);i=c[o>>2]|0;if((i|0)==3){yoa(e,g)|0;i=c[o>>2]|0}c[b>>2]=i;i=o+4|0;t0a(b+4|0,i);if((a[i+11>>0]|0)<0)l0a(c[i>>2]|0)}if((a[q+11>>0]|0)<0)l0a(c[q>>2]|0);i=a[p>>0]|0}if(i<<24>>24>=0){l=s;return}l0a(c[r>>2]|0);l=s;return}function roa(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0;m=l;l=l+16|0;g=m+12|0;j=m;Nk[c[(c[d>>2]|0)+16>>2]&255](j,d,e);i=j+11|0;n=a[i>>0]|0;d=j+4|0;do if(((n<<24>>24<0?c[d>>2]|0:n&255)|0)!=0?pAa(j)|0:0){if(ZQ(4)|0){p=mr(lr(4)|0,179549,36)|0;o=a[e+11>>0]|0;n=o<<24>>24<0;o=mr(mr(p,n?c[e>>2]|0:e,n?c[e+4>>2]|0:o&255)|0,179136,5)|0;n=a[i>>0]|0;e=n<<24>>24<0;n=mr(o,e?c[j>>2]|0:j,e?c[d>>2]|0:n&255)|0;BSa(g,n+(c[(c[n>>2]|0)+-12>>2]|0)|0);e=cUa(g,230580)|0;e=kk[c[(c[e>>2]|0)+28>>2]&511](e,10)|0;dUa(g);VSa(n,e)|0;HSa(n)|0}e=Rla(0)|0;if(f|0?(h=c[f+116>>2]|0,h|0):0){Qk[c[(c[h>>2]|0)+12>>2]&127](b,h,j,f);break}d=c[e+48>>2]|0;if(!d){Soa(b,e,j,f);break}else{Qk[c[(c[d>>2]|0)+12>>2]&127](b,d,j,f);break}}else k=11;while(0);if((k|0)==11){c[b>>2]=4;p=b+4|0;c[p>>2]=0;c[p+4>>2]=0;c[p+8>>2]=0;c[p+12>>2]=0}if((a[i>>0]|0)>=0){l=m;return}l0a(c[j>>2]|0);l=m;return}function soa(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;s=l;l=l+48|0;o=s+24|0;r=s+12|0;q=s;Nk[c[(c[e>>2]|0)+16>>2]&255](r,e,g);p=r+11|0;i=a[p>>0]|0;j=i<<24>>24<0;m=r+4|0;k=j?c[m>>2]|0:i&255;if(!k){c[b>>2]=1;q=b+4|0;c[q>>2]=0;c[q+4>>2]=0;c[q+8>>2]=0}else{j=j?c[r>>2]|0:r;i=j+k|0;while(1){i=i+-1|0;if(aOa(172847,d[i>>0]|0,2)|0){k=5;break}if((i|0)==(j|0)){k=6;break}}if((k|0)==5){i=i-j|0;if((i|0)==-1)k=6;else x0a(q,r,0,i,o)}if((k|0)==6){c[q>>2]=0;c[q+4>>2]=0;c[q+8>>2]=0}if(!(pAa(q)|0)?!(oAa(q)|0):0){if(ZQ(3)|0){h=mr(lr(3)|0,179070,34)|0;g=a[q+11>>0]|0;e=g<<24>>24<0;g=mr(h,e?c[q>>2]|0:q,e?c[q+4>>2]|0:g&255)|0;BSa(o,g+(c[(c[g>>2]|0)+-12>>2]|0)|0);e=cUa(o,230580)|0;e=kk[c[(c[e>>2]|0)+28>>2]&511](e,10)|0;dUa(o);VSa(g,e)|0;HSa(g)|0}c[b>>2]=2;b=b+4|0;c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0}else{if(ZQ(4)|0){i=mr(lr(4)|0,179460,35)|0;t=a[g+11>>0]|0;j=t<<24>>24<0;t=mr(mr(i,j?c[g>>2]|0:g,j?c[g+4>>2]|0:t&255)|0,179136,5)|0;j=a[p>>0]|0;i=j<<24>>24<0;m=mr(t,i?c[r>>2]|0:r,i?c[m>>2]|0:j&255)|0;BSa(o,m+(c[(c[m>>2]|0)+-12>>2]|0)|0);j=cUa(o,230580)|0;j=kk[c[(c[j>>2]|0)+28>>2]&511](j,10)|0;dUa(o);VSa(m,j)|0;HSa(m)|0}j=Rla(0)|0;if((h|0)!=0?(n=c[h+120>>2]|0,(n|0)!=0):0)Sk[c[(c[n>>2]|0)+8>>2]&63](o,n,f,r,h);else k=18;do if((k|0)==18){i=c[j+52>>2]|0;if(!i){Roa(o,j,f,r,h);break}else{Sk[c[(c[i>>2]|0)+8>>2]&63](o,i,f,r,h);break}}while(0);i=c[o>>2]|0;if((i|0)==3){yoa(e,g)|0;i=c[o>>2]|0}c[b>>2]=i;i=o+4|0;t0a(b+4|0,i);if((a[i+11>>0]|0)<0)l0a(c[i>>2]|0)}if((a[q+11>>0]|0)<0)l0a(c[q>>2]|0);i=a[p>>0]|0}if(i<<24>>24>=0){l=s;return}l0a(c[r>>2]|0);l=s;return}function toa(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0;k=l;l=l+16|0;i=k+12|0;j=k;Nk[c[(c[d>>2]|0)+16>>2]&255](j,d,e);d=j+11|0;m=a[d>>0]|0;h=j+4|0;if(((m<<24>>24<0?c[h>>2]|0:m&255)|0)!=0?pAa(j)|0:0){if(ZQ(4)|0){o=mr(lr(4)|0,179430,29)|0;n=a[e+11>>0]|0;m=n<<24>>24<0;n=mr(mr(o,m?c[e>>2]|0:e,m?c[e+4>>2]|0:n&255)|0,179136,5)|0;m=a[d>>0]|0;e=m<<24>>24<0;m=mr(n,e?c[j>>2]|0:j,e?c[h>>2]|0:m&255)|0;BSa(i,m+(c[(c[m>>2]|0)+-12>>2]|0)|0);e=cUa(i,230580)|0;e=kk[c[(c[e>>2]|0)+28>>2]&511](e,10)|0;dUa(i);VSa(m,e)|0;HSa(m)|0}Vla(b,Rla(0)|0,j,f,g)}else{c[b>>2]=4;o=b+4|0;c[o>>2]=0;c[o+4>>2]=0;c[o+8>>2]=0;c[o+12>>2]=0}if((a[d>>0]|0)>=0){l=k;return}l0a(c[j>>2]|0);l=k;return}function uoa(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;s=l;l=l+48|0;o=s+24|0;r=s+12|0;q=s;Nk[c[(c[e>>2]|0)+16>>2]&255](r,e,g);p=r+11|0;i=a[p>>0]|0;j=i<<24>>24<0;m=r+4|0;k=j?c[m>>2]|0:i&255;if(!k){c[b>>2]=1;q=b+4|0;c[q>>2]=0;c[q+4>>2]=0;c[q+8>>2]=0}else{j=j?c[r>>2]|0:r;i=j+k|0;while(1){i=i+-1|0;if(aOa(172847,d[i>>0]|0,2)|0){k=5;break}if((i|0)==(j|0)){k=6;break}}if((k|0)==5){i=i-j|0;if((i|0)==-1)k=6;else x0a(q,r,0,i,o)}if((k|0)==6){c[q>>2]=0;c[q+4>>2]=0;c[q+8>>2]=0}if(!(pAa(q)|0)?!(oAa(q)|0):0){if(ZQ(3)|0){h=mr(lr(3)|0,179070,34)|0;g=a[q+11>>0]|0;e=g<<24>>24<0;g=mr(h,e?c[q>>2]|0:q,e?c[q+4>>2]|0:g&255)|0;BSa(o,g+(c[(c[g>>2]|0)+-12>>2]|0)|0);e=cUa(o,230580)|0;e=kk[c[(c[e>>2]|0)+28>>2]&511](e,10)|0;dUa(o);VSa(g,e)|0;HSa(g)|0}c[b>>2]=2;b=b+4|0;c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0}else{if(ZQ(4)|0){i=mr(lr(4)|0,179354,28)|0;t=a[g+11>>0]|0;j=t<<24>>24<0;t=mr(mr(i,j?c[g>>2]|0:g,j?c[g+4>>2]|0:t&255)|0,179136,5)|0;j=a[p>>0]|0;i=j<<24>>24<0;m=mr(t,i?c[r>>2]|0:r,i?c[m>>2]|0:j&255)|0;BSa(o,m+(c[(c[m>>2]|0)+-12>>2]|0)|0);j=cUa(o,230580)|0;j=kk[c[(c[j>>2]|0)+28>>2]&511](j,10)|0;dUa(o);VSa(m,j)|0;HSa(m)|0}j=Rla(0)|0;if((h|0)!=0?(n=c[h+120>>2]|0,(n|0)!=0):0)Sk[c[(c[n>>2]|0)+12>>2]&63](o,n,f,r,h);else k=18;do if((k|0)==18){i=c[j+52>>2]|0;if(!i){Qoa(o,j,f,r,h);break}else{Sk[c[(c[i>>2]|0)+12>>2]&63](o,i,f,r,h);break}}while(0);i=c[o>>2]|0;if((i|0)==3){yoa(e,g)|0;i=c[o>>2]|0}c[b>>2]=i;i=o+4|0;t0a(b+4|0,i);if((a[i+11>>0]|0)<0)l0a(c[i>>2]|0)}if((a[q+11>>0]|0)<0)l0a(c[q>>2]|0);i=a[p>>0]|0}if(i<<24>>24>=0){l=s;return}l0a(c[r>>2]|0);l=s;return}function voa(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0;m=l;l=l+16|0;g=m+12|0;j=m;Nk[c[(c[d>>2]|0)+16>>2]&255](j,d,e);i=j+11|0;n=a[i>>0]|0;d=j+4|0;do if(((n<<24>>24<0?c[d>>2]|0:n&255)|0)!=0?pAa(j)|0:0){if(ZQ(4)|0){p=mr(lr(4)|0,179285,31)|0;o=a[e+11>>0]|0;n=o<<24>>24<0;o=mr(mr(p,n?c[e>>2]|0:e,n?c[e+4>>2]|0:o&255)|0,179136,5)|0;n=a[i>>0]|0;e=n<<24>>24<0;n=mr(o,e?c[j>>2]|0:j,e?c[d>>2]|0:n&255)|0;BSa(g,n+(c[(c[n>>2]|0)+-12>>2]|0)|0);e=cUa(g,230580)|0;e=kk[c[(c[e>>2]|0)+28>>2]&511](e,10)|0;dUa(g);VSa(n,e)|0;HSa(n)|0}e=Rla(0)|0;if(f|0?(h=c[f+116>>2]|0,h|0):0){Qk[c[(c[h>>2]|0)+20>>2]&127](b,h,j,f);break}d=c[e+48>>2]|0;if(!d){Koa(b,e,j,f);break}else{Qk[c[(c[d>>2]|0)+20>>2]&127](b,d,j,f);break}}else k=11;while(0);if((k|0)==11){c[b>>2]=4;p=b+4|0;c[p>>2]=0;c[p+4>>2]=0;c[p+8>>2]=0;c[p+12>>2]=0}if((a[i>>0]|0)>=0){l=m;return}l0a(c[j>>2]|0);l=m;return}function woa(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;s=l;l=l+48|0;o=s+24|0;r=s+12|0;q=s;Nk[c[(c[e>>2]|0)+16>>2]&255](r,e,g);p=r+11|0;i=a[p>>0]|0;j=i<<24>>24<0;m=r+4|0;k=j?c[m>>2]|0:i&255;if(!k){c[b>>2]=1;q=b+4|0;c[q>>2]=0;c[q+4>>2]=0;c[q+8>>2]=0}else{j=j?c[r>>2]|0:r;i=j+k|0;while(1){i=i+-1|0;if(aOa(172847,d[i>>0]|0,2)|0){k=5;break}if((i|0)==(j|0)){k=6;break}}if((k|0)==5){i=i-j|0;if((i|0)==-1)k=6;else x0a(q,r,0,i,o)}if((k|0)==6){c[q>>2]=0;c[q+4>>2]=0;c[q+8>>2]=0}if(!(pAa(q)|0)?!(oAa(q)|0):0){if(ZQ(3)|0){h=mr(lr(3)|0,179070,34)|0;g=a[q+11>>0]|0;e=g<<24>>24<0;g=mr(h,e?c[q>>2]|0:q,e?c[q+4>>2]|0:g&255)|0;BSa(o,g+(c[(c[g>>2]|0)+-12>>2]|0)|0);e=cUa(o,230580)|0;e=kk[c[(c[e>>2]|0)+28>>2]&511](e,10)|0;dUa(o);VSa(g,e)|0;HSa(g)|0}c[b>>2]=2;b=b+4|0;c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0}else{if(ZQ(4)|0){i=mr(lr(4)|0,179105,30)|0;t=a[g+11>>0]|0;j=t<<24>>24<0;t=mr(mr(i,j?c[g>>2]|0:g,j?c[g+4>>2]|0:t&255)|0,179136,5)|0;j=a[p>>0]|0;i=j<<24>>24<0;m=mr(t,i?c[r>>2]|0:r,i?c[m>>2]|0:j&255)|0;BSa(o,m+(c[(c[m>>2]|0)+-12>>2]|0)|0);j=cUa(o,230580)|0;j=kk[c[(c[j>>2]|0)+28>>2]&511](j,10)|0;dUa(o);VSa(m,j)|0;HSa(m)|0}j=Rla(0)|0;if((h|0)!=0?(n=c[h+120>>2]|0,(n|0)!=0):0)Sk[c[(c[n>>2]|0)+16>>2]&63](o,n,f,r,h);else k=18;do if((k|0)==18){i=c[j+52>>2]|0;if(!i){xoa(o,j,f,r,h);break}else{Sk[c[(c[i>>2]|0)+16>>2]&63](o,i,f,r,h);break}}while(0);i=c[o>>2]|0;if((i|0)==3){yoa(e,g)|0;i=c[o>>2]|0}c[b>>2]=i;i=o+4|0;t0a(b+4|0,i);if((a[i+11>>0]|0)<0)l0a(c[i>>2]|0)}if((a[q+11>>0]|0)<0)l0a(c[q>>2]|0);i=a[p>>0]|0}if(i<<24>>24>=0){l=s;return}l0a(c[r>>2]|0);l=s;return}function xoa(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;B=l;l=l+80|0;w=B;z=B+60|0;x=B+40|0;y=B+28|0;t=B+16|0;c[z>>2]=0;A=z+4|0;c[A>>2]=0;p=z+8|0;c[p>>2]=0;o=d+60|0;c[x>>2]=d+72;q=x+4|0;c[q>>2]=o;c[x+12>>2]=0;c[x+16>>2]=0;u=x+12|0;c[x+8>>2]=u;v=b+4|0;r=v+11|0;while(1){gk[c[(c[o>>2]|0)+8>>2]&1023](o)|0;m=c[x>>2]|0;h=c[m>>2]|0;m=c[m+4>>2]|0;a:do if((h|0)==(m|0))h=0;else{n=c[u>>2]|0;if(!n){h=c[h>>2]|0;break}k=h;while(1){h=c[k>>2]|0;i=u;j=n;do{C=(c[j+16>>2]|0)>>>0<h>>>0;i=C?i:j;j=c[(C?j+4|0:j)>>2]|0}while((j|0)!=0);if((i|0)==(u|0))break a;k=k+4|0;if(h>>>0<(c[i+16>>2]|0)>>>0)break a;if((k|0)==(m|0)){h=0;break}}}while(0);gk[c[(c[o>>2]|0)+12>>2]&1023](o)|0;if(!h){s=28;break}o=c[q>>2]|0;gk[c[(c[o>>2]|0)+8>>2]&1023](o)|0;m=c[x>>2]|0;h=c[m>>2]|0;m=c[m+4>>2]|0;b:do if((h|0)==(m|0))h=0;else{n=c[u>>2]|0;if(!n){h=c[h>>2]|0;break}k=h;while(1){h=c[k>>2]|0;i=u;j=n;do{C=(c[j+16>>2]|0)>>>0<h>>>0;i=C?i:j;j=c[(C?j+4|0:j)>>2]|0}while((j|0)!=0);if((i|0)==(u|0))break b;k=k+4|0;if(h>>>0<(c[i+16>>2]|0)>>>0)break b;if((k|0)==(m|0)){h=0;break}}}while(0);gk[c[(c[o>>2]|0)+12>>2]&1023](o)|0;Sk[c[(c[h>>2]|0)+240>>2]&63](b,h,e,f,g);h=c[b>>2]|0;if((h|0)==3)break;i=c[A>>2]|0;if((i|0)==(c[p>>2]|0))Doa(z,b);else{c[i>>2]=h;t0a(i+4|0,v);c[A>>2]=(c[A>>2]|0)+16}if((a[r>>0]|0)<0)l0a(c[v>>2]|0);zma(x);o=c[q>>2]|0}if((s|0)==28){j=c[z>>2]|0;h=c[A>>2]|0;if((h|0)!=(j|0))do{i=h+-12|0;h=h+-16|0;if((a[i+11>>0]|0)<0)l0a(c[i>>2]|0)}while((h|0)!=(j|0));c[A>>2]=j;Bma(w,f);Cma(y,d,w);if((a[w+11>>0]|0)<0)l0a(c[w>>2]|0);c:do if((Dma(d,y)|0)==2)while(1){o=c[q>>2]|0;gk[c[(c[o>>2]|0)+8>>2]&1023](o)|0;m=c[x>>2]|0;h=c[m>>2]|0;m=c[m+4>>2]|0;d:do if((h|0)==(m|0))h=0;else{n=c[u>>2]|0;if(!n){h=c[h>>2]|0;break}k=h;while(1){h=c[k>>2]|0;i=u;j=n;do{C=(c[j+16>>2]|0)>>>0<h>>>0;i=C?i:j;j=c[(C?j+4|0:j)>>2]|0}while((j|0)!=0);if((i|0)==(u|0))break d;k=k+4|0;if(h>>>0<(c[i+16>>2]|0)>>>0)break d;if((k|0)==(m|0)){h=0;break}}}while(0);gk[c[(c[o>>2]|0)+12>>2]&1023](o)|0;if(!h){s=63;break c}o=c[q>>2]|0;gk[c[(c[o>>2]|0)+8>>2]&1023](o)|0;m=c[x>>2]|0;h=c[m>>2]|0;m=c[m+4>>2]|0;e:do if((h|0)==(m|0))h=0;else{n=c[u>>2]|0;if(!n){h=c[h>>2]|0;break}k=h;while(1){h=c[k>>2]|0;i=u;j=n;do{C=(c[j+16>>2]|0)>>>0<h>>>0;i=C?i:j;j=c[(C?j+4|0:j)>>2]|0}while((j|0)!=0);if((i|0)==(u|0))break e;k=k+4|0;if(h>>>0<(c[i+16>>2]|0)>>>0)break e;if((k|0)==(m|0)){h=0;break}}}while(0);gk[c[(c[o>>2]|0)+12>>2]&1023](o)|0;Sk[c[(c[h>>2]|0)+240>>2]&63](b,h,e,f,g);h=c[b>>2]|0;if((h|0)==3)break c;i=c[A>>2]|0;if((i|0)==(c[p>>2]|0))Doa(z,b);else{c[i>>2]=h;t0a(i+4|0,v);c[A>>2]=(c[A>>2]|0)+16}if((a[r>>0]|0)<0)l0a(c[v>>2]|0);zma(x)}else s=63;while(0);do if((s|0)==63){h=c[z>>2]|0;i=c[A>>2]|0;if((h|0)!=(i|0)){Eoa(h,i,w);C=c[A>>2]|0;c[w>>2]=c[C+-16>>2];h=w+4|0;t0a(h,C+-12|0);c[b>>2]=c[w>>2];t0a(v,h);if((a[h+11>>0]|0)<0)l0a(c[h>>2]|0);break}f1a(t,179237,f);C=J0a(t,172589)|0;c[w>>2]=c[C>>2];c[w+4>>2]=c[C+4>>2];c[w+8>>2]=c[C+8>>2];c[C>>2]=0;c[C+4>>2]=0;c[C+8>>2]=0;c[b>>2]=2;t0a(v,w);if((a[w+11>>0]|0)<0)l0a(c[w>>2]|0);if((a[t+11>>0]|0)<0)l0a(c[t>>2]|0)}while(0);if((a[y+11>>0]|0)<0)l0a(c[y>>2]|0)}Ima(x+8|0,c[u>>2]|0);j=c[z>>2]|0;if(!j){l=B;return}h=c[A>>2]|0;if((h|0)==(j|0))h=j;else{do{i=h+-12|0;h=h+-16|0;if((a[i+11>>0]|0)<0)l0a(c[i>>2]|0)}while((h|0)!=(j|0));h=c[z>>2]|0}c[A>>2]=j;l0a(h);l=B;return}function yoa(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;B=l;l=l+48|0;w=B+24|0;x=B+12|0;y=B;e=c[b+28>>2]|0;z=b+24|0;f=e;if((z|0)==(f|0)){l=B;return 0}A=d+11|0;o=d+4|0;p=w+11|0;q=x+11|0;r=x+4|0;s=x+11|0;t=x+4|0;u=x+11|0;v=x+4|0;do{n=c[e+8>>2]|0;i=n+32|0;j=i+11|0;e=a[j>>0]|0;k=e<<24>>24<0;if(k)g=c[n+36>>2]|0;else g=e&255;m=a[A>>0]|0;if(g>>>0<(m<<24>>24<0?c[o>>2]|0:m&255)>>>0){if(k){m=n+36|0;h=c[m>>2]|0;e=e&255;g=h}else{h=e&255;g=n+36|0;e=h;m=g;g=c[g>>2]|0}if(!(S0a(d,0,h,k?c[i>>2]|0:i,k?g:e)|0)){e=a[j>>0]|0;g=e<<24>>24<0;if(g)h=c[m>>2]|0;else h=e&255;if(!h)e=0;else{if(g)e=c[m>>2]|0;else e=e&255;e=e+1|0}x0a(w,d,e,-1,x);e=c[n+44>>2]|0;j=n+48|0;if((e|0)!=(c[j>>2]|0)){i=e;do{h=c[i>>2]|0;g=h+44|0;e=c[g>>2]|0;if(e|0?zoa(e,w)|0:0){t0a(x,(c[g>>2]|0)+12|0);if(Ema(x)|0){Nk[c[(c[b>>2]|0)+16>>2]&255](y,b,x);if((a[q>>0]|0)<0){a[c[x>>2]>>0]=0;c[r>>2]=0}else{a[x>>0]=0;a[q>>0]=0}D0a(x,0);c[x>>2]=c[y>>2];c[x+4>>2]=c[y+4>>2];c[x+8>>2]=c[y+8>>2]}e=a[q>>0]|0;if((e<<24>>24<0?c[r>>2]|0:e&255)|0){e=c[g>>2]|0;Aoa(e,x,c[(Rla(0)|0)+160>>2]|0)|0;e=a[q>>0]|0}if(e<<24>>24<0)l0a(c[x>>2]|0)}g=h+48|0;e=c[g>>2]|0;if(e|0?zoa(e,w)|0:0){t0a(x,(c[g>>2]|0)+12|0);if(Ema(x)|0){Nk[c[(c[b>>2]|0)+16>>2]&255](y,b,x);if((a[s>>0]|0)<0){a[c[x>>2]>>0]=0;c[t>>2]=0}else{a[x>>0]=0;a[s>>0]=0}D0a(x,0);c[x>>2]=c[y>>2];c[x+4>>2]=c[y+4>>2];c[x+8>>2]=c[y+8>>2]}e=a[s>>0]|0;if((e<<24>>24<0?c[t>>2]|0:e&255)|0){e=c[g>>2]|0;Aoa(e,x,c[(Rla(0)|0)+160>>2]|0)|0;e=a[s>>0]|0}if(e<<24>>24<0)l0a(c[x>>2]|0)}g=h+52|0;e=c[g>>2]|0;if(e|0?zoa(e,w)|0:0){t0a(x,(c[g>>2]|0)+12|0);if(Ema(x)|0){Nk[c[(c[b>>2]|0)+16>>2]&255](y,b,x);if((a[u>>0]|0)<0){a[c[x>>2]>>0]=0;c[v>>2]=0}else{a[x>>0]=0;a[u>>0]=0}D0a(x,0);c[x>>2]=c[y>>2];c[x+4>>2]=c[y+4>>2];c[x+8>>2]=c[y+8>>2]}e=a[u>>0]|0;if((e<<24>>24<0?c[v>>2]|0:e&255)|0){e=c[g>>2]|0;Aoa(e,x,c[(Rla(0)|0)+160>>2]|0)|0;e=a[u>>0]|0}if(e<<24>>24<0)l0a(c[x>>2]|0)}i=i+4|0}while((i|0)!=(c[j>>2]|0))}if((a[p>>0]|0)<0)l0a(c[w>>2]|0)}}e=c[f+4>>2]|0;f=e}while((z|0)!=(f|0));l=B;return 0}function zoa(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;f=b+32|0;g=mu(f,d)|0;if((g|0)==(b+36|0)){g=0;return g|0}d=c[g+4>>2]|0;if(!d){e=g+8|0;d=c[e>>2]|0;if((c[d>>2]|0)!=(g|0))do{h=c[e>>2]|0;e=h+8|0;d=c[e>>2]|0}while((c[d>>2]|0)!=(h|0))}else while(1){e=c[d>>2]|0;if(!e)break;else d=e}if((c[f>>2]|0)==(g|0))c[f>>2]=d;d=b+40|0;c[d>>2]=(c[d>>2]|0)+-1;Pw(c[b+36>>2]|0,g);d=g+16|0;if((a[d+11>>0]|0)<0)l0a(c[d>>2]|0);l0a(g);h=1;return h|0}function Aoa(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0;m=l;l=l+48|0;h=m+32|0;k=m+16|0;i=m;j=Rla(0)|0;if((e|0)!=0?(f=c[e+120>>2]|0,(f|0)!=0):0)Sk[c[c[f>>2]>>2]&63](k,f,b,d,e);else g=4;do if((g|0)==4){f=c[j+52>>2]|0;if(!f){Boa(k,j,b,d,e);break}else{Sk[c[c[f>>2]>>2]&63](k,f,b,d,e);break}}while(0);if(((c[k>>2]|0)!=3?ZQ(2)|0:0)?(e=mr(lr(2)|0,179142,19)|0,b=a[d+11>>0]|0,j=b<<24>>24<0,b=mr(mr(e,j?c[d>>2]|0:d,j?c[d+4>>2]|0:b&255)|0,179162,2)|0,Coa(i,k),j=i+11|0,e=a[j>>0]|0,d=e<<24>>24<0,e=mr(b,d?c[i>>2]|0:i,d?c[i+4>>2]|0:e&255)|0,BSa(h,e+(c[(c[e>>2]|0)+-12>>2]|0)|0),d=cUa(h,230580)|0,d=kk[c[(c[d>>2]|0)+28>>2]&511](d,10)|0,dUa(h),VSa(e,d)|0,HSa(e)|0,(a[j>>0]|0)<0):0)l0a(c[i>>2]|0);g=(c[k>>2]|0)==3;f=k+4|0;if((a[f+11>>0]|0)>=0){l=m;return g|0}l0a(c[f>>2]|0);l=m;return g|0}function Boa(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;B=l;l=l+80|0;w=B;z=B+60|0;x=B+40|0;y=B+28|0;t=B+16|0;c[z>>2]=0;A=z+4|0;c[A>>2]=0;p=z+8|0;c[p>>2]=0;o=d+60|0;c[x>>2]=d+72;q=x+4|0;c[q>>2]=o;c[x+12>>2]=0;c[x+16>>2]=0;u=x+12|0;c[x+8>>2]=u;v=b+4|0;r=v+11|0;while(1){gk[c[(c[o>>2]|0)+8>>2]&1023](o)|0;m=c[x>>2]|0;h=c[m>>2]|0;m=c[m+4>>2]|0;a:do if((h|0)==(m|0))h=0;else{n=c[u>>2]|0;if(!n){h=c[h>>2]|0;break}k=h;while(1){h=c[k>>2]|0;i=u;j=n;do{C=(c[j+16>>2]|0)>>>0<h>>>0;i=C?i:j;j=c[(C?j+4|0:j)>>2]|0}while((j|0)!=0);if((i|0)==(u|0))break a;k=k+4|0;if(h>>>0<(c[i+16>>2]|0)>>>0)break a;if((k|0)==(m|0)){h=0;break}}}while(0);gk[c[(c[o>>2]|0)+12>>2]&1023](o)|0;if(!h){s=28;break}o=c[q>>2]|0;gk[c[(c[o>>2]|0)+8>>2]&1023](o)|0;m=c[x>>2]|0;h=c[m>>2]|0;m=c[m+4>>2]|0;b:do if((h|0)==(m|0))h=0;else{n=c[u>>2]|0;if(!n){h=c[h>>2]|0;break}k=h;while(1){h=c[k>>2]|0;i=u;j=n;do{C=(c[j+16>>2]|0)>>>0<h>>>0;i=C?i:j;j=c[(C?j+4|0:j)>>2]|0}while((j|0)!=0);if((i|0)==(u|0))break b;k=k+4|0;if(h>>>0<(c[i+16>>2]|0)>>>0)break b;if((k|0)==(m|0)){h=0;break}}}while(0);gk[c[(c[o>>2]|0)+12>>2]&1023](o)|0;Sk[c[(c[h>>2]|0)+224>>2]&63](b,h,e,f,g);h=c[b>>2]|0;if((h|0)==3)break;i=c[A>>2]|0;if((i|0)==(c[p>>2]|0))Doa(z,b);else{c[i>>2]=h;t0a(i+4|0,v);c[A>>2]=(c[A>>2]|0)+16}if((a[r>>0]|0)<0)l0a(c[v>>2]|0);zma(x);o=c[q>>2]|0}if((s|0)==28){Bma(w,f);Cma(y,d,w);if((a[w+11>>0]|0)<0)l0a(c[w>>2]|0);c:do if((Dma(d,y)|0)==2)while(1){o=c[q>>2]|0;gk[c[(c[o>>2]|0)+8>>2]&1023](o)|0;m=c[x>>2]|0;h=c[m>>2]|0;m=c[m+4>>2]|0;d:do if((h|0)==(m|0))h=0;else{n=c[u>>2]|0;if(!n){h=c[h>>2]|0;break}k=h;while(1){h=c[k>>2]|0;i=u;j=n;do{C=(c[j+16>>2]|0)>>>0<h>>>0;i=C?i:j;j=c[(C?j+4|0:j)>>2]|0}while((j|0)!=0);if((i|0)==(u|0))break d;k=k+4|0;if(h>>>0<(c[i+16>>2]|0)>>>0)break d;if((k|0)==(m|0)){h=0;break}}}while(0);gk[c[(c[o>>2]|0)+12>>2]&1023](o)|0;if(!h){s=58;break c}o=c[q>>2]|0;gk[c[(c[o>>2]|0)+8>>2]&1023](o)|0;m=c[x>>2]|0;h=c[m>>2]|0;m=c[m+4>>2]|0;e:do if((h|0)==(m|0))h=0;else{n=c[u>>2]|0;if(!n){h=c[h>>2]|0;break}k=h;while(1){h=c[k>>2]|0;i=u;j=n;do{C=(c[j+16>>2]|0)>>>0<h>>>0;i=C?i:j;j=c[(C?j+4|0:j)>>2]|0}while((j|0)!=0);if((i|0)==(u|0))break e;k=k+4|0;if(h>>>0<(c[i+16>>2]|0)>>>0)break e;if((k|0)==(m|0)){h=0;break}}}while(0);gk[c[(c[o>>2]|0)+12>>2]&1023](o)|0;Sk[c[(c[h>>2]|0)+224>>2]&63](b,h,e,f,g);h=c[b>>2]|0;if((h|0)==3)break c;i=c[A>>2]|0;if((i|0)==(c[p>>2]|0))Doa(z,b);else{c[i>>2]=h;t0a(i+4|0,v);c[A>>2]=(c[A>>2]|0)+16}if((a[r>>0]|0)<0)l0a(c[v>>2]|0);zma(x)}else s=58;while(0);do if((s|0)==58){h=c[z>>2]|0;i=c[A>>2]|0;if((h|0)!=(i|0)){Eoa(h,i,w);C=c[A>>2]|0;c[w>>2]=c[C+-16>>2];h=w+4|0;t0a(h,C+-12|0);c[b>>2]=c[w>>2];t0a(v,h);if((a[h+11>>0]|0)<0)l0a(c[h>>2]|0);break}f1a(t,179188,f);C=J0a(t,172589)|0;c[w>>2]=c[C>>2];c[w+4>>2]=c[C+4>>2];c[w+8>>2]=c[C+8>>2];c[C>>2]=0;c[C+4>>2]=0;c[C+8>>2]=0;c[b>>2]=2;t0a(v,w);if((a[w+11>>0]|0)<0)l0a(c[w>>2]|0);if((a[t+11>>0]|0)<0)l0a(c[t>>2]|0)}while(0);if((a[y+11>>0]|0)<0)l0a(c[y>>2]|0)}Ima(x+8|0,c[u>>2]|0);j=c[z>>2]|0;if(!j){l=B;return}h=c[A>>2]|0;if((h|0)==(j|0))h=j;else{do{i=h+-12|0;h=h+-16|0;if((a[i+11>>0]|0)<0)l0a(c[i>>2]|0)}while((h|0)!=(j|0));h=c[z>>2]|0}c[A>>2]=j;l0a(h);l=B;return}function Coa(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;i=l;l=l+32|0;f=i+12|0;g=i;c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;switch(c[d>>2]|0){case 0:{J0a(b,171914)|0;break}case 1:{J0a(b,171930)|0;break}case 2:{J0a(b,179165)|0;break}case 3:{J0a(b,179177)|0;break}default:{}}h=d+4|0;e=a[h+11>>0]|0;if(e<<24>>24<0)d=c[d+8>>2]|0;else d=e&255;if(!d){l=i;return}f1a(g,172051,h);h=J0a(g,184787)|0;c[f>>2]=c[h>>2];c[f+4>>2]=c[h+4>>2];c[f+8>>2]=c[h+8>>2];c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;h=f+11|0;e=a[h>>0]|0;d=e<<24>>24<0;I0a(b,d?c[f>>2]|0:f,d?c[f+4>>2]|0:e&255)|0;if((a[h>>0]|0)<0)l0a(c[f>>2]|0);if((a[g+11>>0]|0)<0)l0a(c[g>>2]|0);l=i;return}function Doa(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;l=b+4|0;e=c[b>>2]|0;h=(c[l>>2]|0)-e>>4;f=h+1|0;if(f>>>0>268435455)g1a(b);m=b+8|0;k=(c[m>>2]|0)-e|0;e=k>>3;e=k>>4>>>0<134217727?(e>>>0<f>>>0?f:e):268435455;do if(e)if(e>>>0>268435455){m=db(8)|0;p0a(m,183738);c[m>>2]=110936;hb(m|0,65952,1066)}else{g=j0a(e<<4)|0;break}else g=0;while(0);i=g+(h<<4)|0;f=i;k=g+(e<<4)|0;c[i>>2]=c[d>>2];t0a(g+(h<<4)+4|0,d+4|0);j=i+16|0;h=c[b>>2]|0;e=c[l>>2]|0;if((e|0)==(h|0)){d=h;e=h}else{g=i;while(1){i=e;e=e+-16|0;c[g+-16>>2]=c[e>>2];t0a(g+-12|0,i+-12|0);g=f+-16|0;if((e|0)==(h|0))break;else f=g}f=g;d=c[b>>2]|0;e=c[l>>2]|0}c[b>>2]=f;c[l>>2]=j;c[m>>2]=k;g=d;if((e|0)!=(g|0))do{f=e+-12|0;e=e+-16|0;if((a[f+11>>0]|0)<0)l0a(c[f>>2]|0)}while((e|0)!=(g|0));if(!d)return;l0a(d);return}function Eoa(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;E=l;l=l+16|0;D=E;x=D+4|0;y=x+11|0;z=D+4|0;A=D+4|0;B=A+11|0;C=D+4|0;s=z+11|0;t=D+4|0;u=C+11|0;v=t+11|0;r=d;a:while(1){m=r;p=r+-16|0;n=r+-32|0;o=r;q=b;b:while(1){b=m-q|0;d=b>>4;switch(d|0){case 2:{h=4;break a}case 3:{h=12;break a}case 4:{h=13;break a}case 5:{h=14;break a}case 1:case 0:{h=82;break a}default:{}}if((b|0)<112){h=16;break a}h=q+(((d|0)/2|0)<<4)|0;if((b|0)>15984){b=(d|0)/4|0;b=Hoa(q,q+(b<<4)|0,h,h+(b<<4)|0,p,e)|0}else b=Foa(q,h,p,e)|0;i=c[q>>2]|0;g=c[h>>2]|0;if((i|0)<(g|0))f=p;else{if((q|0)==(n|0)){h=24;break}d=p;f=n;while(1){if((c[f>>2]|0)<(g|0))break;d=f+-16|0;if((q|0)==(d|0)){h=24;break b}else{k=f;f=d;d=k}}c[D>>2]=i;k=q+4|0;t0a(C,k);c[q>>2]=c[f>>2];d=d+-12|0;z0a(k,d)|0;if((D|0)!=(f|0)){c[f>>2]=c[D>>2];z0a(d,C)|0}if((a[u>>0]|0)<0)l0a(c[C>>2]|0);b=b+1|0}d=q+16|0;c:do if(d>>>0<f>>>0){k=h;while(1){i=c[k>>2]|0;while(1){g=c[d>>2]|0;j=d+16|0;if((g|0)<(i|0))d=j;else break}while(1){h=f+-16|0;if((c[h>>2]|0)<(i|0))break;else f=h}if(d>>>0>h>>>0){g=k;break c}c[D>>2]=g;g=d+4|0;t0a(x,g);if((d|0)!=(h|0)){c[d>>2]=c[h>>2];z0a(g,f+-12|0)|0}if((D|0)!=(h|0)){c[h>>2]=c[D>>2];z0a(f+-12|0,x)|0}if((a[y>>0]|0)<0)l0a(c[x>>2]|0);k=(k|0)==(d|0)?h:k;f=h;d=j;b=b+1|0}}else g=h;while(0);if((d|0)!=(g|0)?(w=c[d>>2]|0,(c[g>>2]|0)<(w|0)):0){c[D>>2]=w;k=d+4|0;t0a(z,k);c[d>>2]=c[g>>2];f=g+4|0;z0a(k,f)|0;if((D|0)!=(g|0)){c[g>>2]=c[D>>2];z0a(f,z)|0}if((a[s>>0]|0)<0)l0a(c[z>>2]|0);b=b+1|0}if(!b){g=Joa(q,d,e)|0;b=d+16|0;if(Joa(b,r,e)|0){h=75;break}if(g){f=2;d=r;h=80;break}}k=d;if((k-q|0)>=(o-k|0)){h=79;break}Eoa(q,d,e);q=d+16|0}d:do if((h|0)==24){b=q+16|0;if((i|0)>=(c[p>>2]|0)){if((b|0)==(p|0)){h=82;break a}while(1){d=c[b>>2]|0;if((i|0)<(d|0))break;b=b+16|0;if((b|0)==(p|0)){h=82;break a}}c[D>>2]=d;o=b+4|0;t0a(t,o);c[b>>2]=c[p>>2];d=r+-12|0;z0a(o,d)|0;if((D|0)!=(p|0)){c[p>>2]=c[D>>2];z0a(d,t)|0}if((a[v>>0]|0)<0)l0a(c[t>>2]|0);b=b+16|0}if((b|0)==(p|0)){h=82;break a}d=p;while(1){h=c[q>>2]|0;while(1){f=c[b>>2]|0;i=b+16|0;if((h|0)<(f|0))break;else b=i}while(1){g=d+-16|0;if((h|0)<(c[g>>2]|0))d=g;else break}if(b>>>0>=g>>>0){f=4;d=r;h=80;break d}c[D>>2]=f;p=b+4|0;t0a(A,p);c[b>>2]=c[g>>2];b=d+-12|0;z0a(p,b)|0;if((D|0)!=(g|0)){c[g>>2]=c[D>>2];z0a(b,A)|0}if((a[B>>0]|0)<0)l0a(c[A>>2]|0);d=g;b=i}}else if((h|0)==75){f=g?1:2;b=q;d=g?r:d;h=80}else if((h|0)==79){h=0;Eoa(d+16|0,r,e);b=q}while(0);if((h|0)==80)switch(f&7){case 2:case 4:case 0:break;default:{h=82;break a}}r=d}if((h|0)==4){f=r+-16|0;b=c[q>>2]|0;if((c[f>>2]|0)>=(b|0)){l=E;return}c[D>>2]=b;b=D+4|0;d=q+4|0;t0a(b,d);if((q|0)!=(f|0)){c[q>>2]=c[f>>2];z0a(d,r+-12|0)|0}if((D|0)!=(f|0)){c[f>>2]=c[D>>2];z0a(r+-12|0,b)|0}if((a[b+11>>0]|0)<0)l0a(c[b>>2]|0);l=E;return}else if((h|0)==12){Foa(q,q+16|0,r+-16|0,e)|0;l=E;return}else if((h|0)==13){Goa(q,q+16|0,q+32|0,r+-16|0,e)|0;l=E;return}else if((h|0)==14){Hoa(q,q+16|0,q+32|0,q+48|0,r+-16|0,e)|0;l=E;return}else if((h|0)==16){Ioa(q,r,e);l=E;return}else if((h|0)==82){l=E;return}}function Foa(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0;j=l;l=l+16|0;i=j;f=c[d>>2]|0;g=c[b>>2]|0;h=(c[e>>2]|0)<(f|0);if((f|0)>=(g|0)){if(!h){i=0;l=j;return i|0}c[i>>2]=f;f=i+4|0;h=d+4|0;t0a(f,h);if((d|0)!=(e|0)){c[d>>2]=c[e>>2];z0a(h,e+4|0)|0}if((i|0)!=(e|0)){c[e>>2]=c[i>>2];z0a(e+4|0,f)|0}if((a[f+11>>0]|0)<0)l0a(c[f>>2]|0);f=c[b>>2]|0;if((c[d>>2]|0)>=(f|0)){i=1;l=j;return i|0}c[i>>2]=f;f=i+4|0;g=b+4|0;t0a(f,g);if((b|0)!=(d|0)){c[b>>2]=c[d>>2];z0a(g,h)|0}if((i|0)!=(d|0)){c[d>>2]=c[i>>2];z0a(h,f)|0}if((a[f+11>>0]|0)<0)l0a(c[f>>2]|0);i=2;l=j;return i|0}if(h){c[i>>2]=g;f=i+4|0;g=b+4|0;t0a(f,g);if((b|0)!=(e|0)){c[b>>2]=c[e>>2];z0a(g,e+4|0)|0}if((i|0)!=(e|0)){c[e>>2]=c[i>>2];z0a(e+4|0,f)|0}if((a[f+11>>0]|0)<0)l0a(c[f>>2]|0);i=1;l=j;return i|0}c[i>>2]=g;f=i+4|0;g=b+4|0;t0a(f,g);if((b|0)!=(d|0)){c[b>>2]=c[d>>2];z0a(g,d+4|0)|0}if((i|0)!=(d|0)){c[d>>2]=c[i>>2];z0a(d+4|0,f)|0}if((a[f+11>>0]|0)<0)l0a(c[f>>2]|0);f=c[d>>2]|0;if((c[e>>2]|0)>=(f|0)){i=1;l=j;return i|0}c[i>>2]=f;f=i+4|0;g=d+4|0;t0a(f,g);if((d|0)!=(e|0)){c[d>>2]=c[e>>2];z0a(g,e+4|0)|0}if((i|0)!=(e|0)){c[e>>2]=c[i>>2];z0a(e+4|0,f)|0}if((a[f+11>>0]|0)<0)l0a(c[f>>2]|0);i=2;l=j;return i|0}function Goa(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0;m=l;l=l+16|0;k=m;j=Foa(b,d,e,g)|0;g=c[e>>2]|0;if((c[f>>2]|0)>=(g|0)){k=j;l=m;return k|0}c[k>>2]=g;g=k+4|0;h=e+4|0;t0a(g,h);if((e|0)!=(f|0)){c[e>>2]=c[f>>2];z0a(h,f+4|0)|0}if((k|0)!=(f|0)){c[f>>2]=c[k>>2];z0a(f+4|0,g)|0}if((a[g+11>>0]|0)<0)l0a(c[g>>2]|0);g=c[d>>2]|0;if((c[e>>2]|0)>=(g|0)){k=j+1|0;l=m;return k|0}c[k>>2]=g;g=k+4|0;i=d+4|0;t0a(g,i);if((d|0)!=(e|0)){c[d>>2]=c[e>>2];z0a(i,h)|0}if((k|0)!=(e|0)){c[e>>2]=c[k>>2];z0a(h,g)|0}if((a[g+11>>0]|0)<0)l0a(c[g>>2]|0);g=c[b>>2]|0;if((c[d>>2]|0)>=(g|0)){k=j+2|0;l=m;return k|0}c[k>>2]=g;g=k+4|0;f=b+4|0;t0a(g,f);if((b|0)!=(d|0)){c[b>>2]=c[d>>2];z0a(f,i)|0}if((k|0)!=(d|0)){c[d>>2]=c[k>>2];z0a(i,g)|0}if((a[g+11>>0]|0)<0)l0a(c[g>>2]|0);k=j+3|0;l=m;return k|0}function Hoa(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,m=0;m=l;l=l+16|0;k=m;j=Goa(b,d,e,f,h)|0;h=c[f>>2]|0;if((c[g>>2]|0)>=(h|0)){k=j;l=m;return k|0}c[k>>2]=h;h=k+4|0;i=f+4|0;t0a(h,i);if((f|0)!=(g|0)){c[f>>2]=c[g>>2];z0a(i,g+4|0)|0}if((k|0)!=(g|0)){c[g>>2]=c[k>>2];z0a(g+4|0,h)|0}if((a[h+11>>0]|0)<0)l0a(c[h>>2]|0);h=c[e>>2]|0;if((c[f>>2]|0)>=(h|0)){k=j+1|0;l=m;return k|0}c[k>>2]=h;h=k+4|0;g=e+4|0;t0a(h,g);if((e|0)!=(f|0)){c[e>>2]=c[f>>2];z0a(g,i)|0}if((k|0)!=(f|0)){c[f>>2]=c[k>>2];z0a(i,h)|0}if((a[h+11>>0]|0)<0)l0a(c[h>>2]|0);h=c[d>>2]|0;if((c[e>>2]|0)>=(h|0)){k=j+2|0;l=m;return k|0}c[k>>2]=h;h=k+4|0;i=d+4|0;t0a(h,i);if((d|0)!=(e|0)){c[d>>2]=c[e>>2];z0a(i,g)|0}if((k|0)!=(e|0)){c[e>>2]=c[k>>2];z0a(g,h)|0}if((a[h+11>>0]|0)<0)l0a(c[h>>2]|0);h=c[b>>2]|0;if((c[d>>2]|0)>=(h|0)){k=j+3|0;l=m;return k|0}c[k>>2]=h;h=k+4|0;g=b+4|0;t0a(h,g);if((b|0)!=(d|0)){c[b>>2]=c[d>>2];z0a(g,i)|0}if((k|0)!=(d|0)){c[d>>2]=c[k>>2];z0a(i,h)|0}if((a[h+11>>0]|0)<0)l0a(c[h>>2]|0);k=j+4|0;l=m;return k|0}function Ioa(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0;k=l;l=l+16|0;j=k;f=b+32|0;Foa(b,b+16|0,f,e)|0;e=b+48|0;if((e|0)==(d|0)){l=k;return}h=j+4|0;i=h+11|0;g=e;e=f;while(1){f=c[g>>2]|0;if((f|0)<(c[e>>2]|0)){c[j>>2]=f;t0a(h,g+4|0);f=g;while(1){c[f>>2]=c[e>>2];z0a(f+4|0,e+4|0)|0;if((e|0)==(b|0)){e=b;break}f=e+-16|0;if((c[j>>2]|0)<(c[f>>2]|0)){m=e;e=f;f=m}else break}if((e|0)!=(j|0)){c[e>>2]=c[j>>2];z0a(e+4|0,h)|0}if((a[i>>0]|0)<0)l0a(c[h>>2]|0)}e=g+16|0;if((e|0)==(d|0))break;else{m=g;g=e;e=m}}l=k;return}function Joa(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0;n=l;l=l+16|0;m=n;switch(d-b>>4|0){case 2:{g=d+-16|0;e=c[b>>2]|0;if((c[g>>2]|0)>=(e|0)){m=1;l=n;return m|0}c[m>>2]=e;e=m+4|0;f=b+4|0;t0a(e,f);if((g|0)!=(b|0)){c[b>>2]=c[g>>2];z0a(f,d+-12|0)|0}if((m|0)!=(g|0)){c[g>>2]=c[m>>2];z0a(d+-12|0,e)|0}if((a[e+11>>0]|0)<0)l0a(c[e>>2]|0);m=1;l=n;return m|0}case 3:{Foa(b,b+16|0,d+-16|0,e)|0;m=1;l=n;return m|0}case 4:{Goa(b,b+16|0,b+32|0,d+-16|0,e)|0;m=1;l=n;return m|0}case 5:{Hoa(b,b+16|0,b+32|0,b+48|0,d+-16|0,e)|0;m=1;l=n;return m|0}case 1:case 0:{m=1;l=n;return m|0}default:{g=b+32|0;Foa(b,b+16|0,g,e)|0;e=b+48|0;if((e|0)==(d|0)){m=1;l=n;return m|0}i=m+4|0;j=i+11|0;f=0;while(1){h=c[e>>2]|0;if((h|0)<(c[g>>2]|0)){c[m>>2]=h;t0a(i,e+4|0);h=e;while(1){if((h|0)!=(g|0)){c[h>>2]=c[g>>2];z0a(h+4|0,g+4|0)|0}if((g|0)==(b|0)){g=b;break}h=g+-16|0;if((c[m>>2]|0)<(c[h>>2]|0)){o=g;g=h;h=o}else break}if((g|0)!=(m|0)){c[g>>2]=c[m>>2];z0a(g+4|0,i)|0}f=f+1|0;if((a[j>>0]|0)<0)l0a(c[i>>2]|0);if((f|0)==8)break}g=e+16|0;if((g|0)==(d|0)){e=1;k=28;break}else{o=e;e=g;g=o}}if((k|0)==28){l=n;return e|0}o=(e+16|0)==(d|0);l=n;return o|0}}return 0}function Koa(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0;i=l;l=l+32|0;g=i;Tha(g);c[g>>2]=98124;h=g+12|0;t0a(h,e);c[g+24>>2]=f;c[g>>2]=98384;oma(b,d,g,32);c[g>>2]=98124;if((a[h+11>>0]|0)>=0){SU(g);l=i;return}l0a(c[h>>2]|0);SU(g);l=i;return}function Loa(b){b=b|0;var d=0;c[b>>2]=98124;d=b+12|0;if((a[d+11>>0]|0)<0)l0a(c[d>>2]|0);SU(b);l0a(b);return}function Moa(a,b,d){a=a|0;b=b|0;d=d|0;Qk[c[(c[d>>2]|0)+216>>2]&127](a,d,b+12|0,c[b+24>>2]|0);return}function Noa(a,b){a=a|0;b=b|0;a=c[b+16>>2]|0;if(!a){b=0;return b|0}b=(y1a(a,42800,47104,0)|0)!=0;return b|0}function Ooa(a,b){a=a|0;b=b|0;if(!b){b=0;return b|0}b=(y1a(b,42800,47104,0)|0)!=0;return b|0}function Poa(a,b,d){a=a|0;b=b|0;d=d|0;a=j0a(28)|0;Tha(a);c[a>>2]=98124;t0a(a+12|0,b);c[a+24>>2]=d;c[a>>2]=98384;return a|0}function Qoa(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;B=l;l=l+80|0;w=B;z=B+60|0;x=B+40|0;y=B+28|0;t=B+16|0;c[z>>2]=0;A=z+4|0;c[A>>2]=0;p=z+8|0;c[p>>2]=0;o=d+60|0;c[x>>2]=d+72;q=x+4|0;c[q>>2]=o;c[x+12>>2]=0;c[x+16>>2]=0;u=x+12|0;c[x+8>>2]=u;v=b+4|0;r=v+11|0;while(1){gk[c[(c[o>>2]|0)+8>>2]&1023](o)|0;m=c[x>>2]|0;h=c[m>>2]|0;m=c[m+4>>2]|0;a:do if((h|0)==(m|0))h=0;else{n=c[u>>2]|0;if(!n){h=c[h>>2]|0;break}k=h;while(1){h=c[k>>2]|0;i=u;j=n;do{C=(c[j+16>>2]|0)>>>0<h>>>0;i=C?i:j;j=c[(C?j+4|0:j)>>2]|0}while((j|0)!=0);if((i|0)==(u|0))break a;k=k+4|0;if(h>>>0<(c[i+16>>2]|0)>>>0)break a;if((k|0)==(m|0)){h=0;break}}}while(0);gk[c[(c[o>>2]|0)+12>>2]&1023](o)|0;if(!h){s=28;break}o=c[q>>2]|0;gk[c[(c[o>>2]|0)+8>>2]&1023](o)|0;m=c[x>>2]|0;h=c[m>>2]|0;m=c[m+4>>2]|0;b:do if((h|0)==(m|0))h=0;else{n=c[u>>2]|0;if(!n){h=c[h>>2]|0;break}k=h;while(1){h=c[k>>2]|0;i=u;j=n;do{C=(c[j+16>>2]|0)>>>0<h>>>0;i=C?i:j;j=c[(C?j+4|0:j)>>2]|0}while((j|0)!=0);if((i|0)==(u|0))break b;k=k+4|0;if(h>>>0<(c[i+16>>2]|0)>>>0)break b;if((k|0)==(m|0)){h=0;break}}}while(0);gk[c[(c[o>>2]|0)+12>>2]&1023](o)|0;Sk[c[(c[h>>2]|0)+236>>2]&63](b,h,e,f,g);h=c[b>>2]|0;if((h|0)==3)break;i=c[A>>2]|0;if((i|0)==(c[p>>2]|0))Doa(z,b);else{c[i>>2]=h;t0a(i+4|0,v);c[A>>2]=(c[A>>2]|0)+16}if((a[r>>0]|0)<0)l0a(c[v>>2]|0);zma(x);o=c[q>>2]|0}if((s|0)==28){Bma(w,f);Cma(y,d,w);if((a[w+11>>0]|0)<0)l0a(c[w>>2]|0);c:do if((Dma(d,y)|0)==2)while(1){o=c[q>>2]|0;gk[c[(c[o>>2]|0)+8>>2]&1023](o)|0;m=c[x>>2]|0;h=c[m>>2]|0;m=c[m+4>>2]|0;d:do if((h|0)==(m|0))h=0;else{n=c[u>>2]|0;if(!n){h=c[h>>2]|0;break}k=h;while(1){h=c[k>>2]|0;i=u;j=n;do{C=(c[j+16>>2]|0)>>>0<h>>>0;i=C?i:j;j=c[(C?j+4|0:j)>>2]|0}while((j|0)!=0);if((i|0)==(u|0))break d;k=k+4|0;if(h>>>0<(c[i+16>>2]|0)>>>0)break d;if((k|0)==(m|0)){h=0;break}}}while(0);gk[c[(c[o>>2]|0)+12>>2]&1023](o)|0;if(!h){s=58;break c}o=c[q>>2]|0;gk[c[(c[o>>2]|0)+8>>2]&1023](o)|0;m=c[x>>2]|0;h=c[m>>2]|0;m=c[m+4>>2]|0;e:do if((h|0)==(m|0))h=0;else{n=c[u>>2]|0;if(!n){h=c[h>>2]|0;break}k=h;while(1){h=c[k>>2]|0;i=u;j=n;do{C=(c[j+16>>2]|0)>>>0<h>>>0;i=C?i:j;j=c[(C?j+4|0:j)>>2]|0}while((j|0)!=0);if((i|0)==(u|0))break e;k=k+4|0;if(h>>>0<(c[i+16>>2]|0)>>>0)break e;if((k|0)==(m|0)){h=0;break}}}while(0);gk[c[(c[o>>2]|0)+12>>2]&1023](o)|0;Sk[c[(c[h>>2]|0)+236>>2]&63](b,h,e,f,g);h=c[b>>2]|0;if((h|0)==3)break c;i=c[A>>2]|0;if((i|0)==(c[p>>2]|0))Doa(z,b);else{c[i>>2]=h;t0a(i+4|0,v);c[A>>2]=(c[A>>2]|0)+16}if((a[r>>0]|0)<0)l0a(c[v>>2]|0);zma(x)}else s=58;while(0);do if((s|0)==58){h=c[z>>2]|0;i=c[A>>2]|0;if((h|0)!=(i|0)){Eoa(h,i,w);C=c[A>>2]|0;c[w>>2]=c[C+-16>>2];h=w+4|0;t0a(h,C+-12|0);c[b>>2]=c[w>>2];t0a(v,h);if((a[h+11>>0]|0)<0)l0a(c[h>>2]|0);break}f1a(t,179383,f);C=J0a(t,172589)|0;c[w>>2]=c[C>>2];c[w+4>>2]=c[C+4>>2];c[w+8>>2]=c[C+8>>2];c[C>>2]=0;c[C+4>>2]=0;c[C+8>>2]=0;c[b>>2]=2;t0a(v,w);if((a[w+11>>0]|0)<0)l0a(c[w>>2]|0);if((a[t+11>>0]|0)<0)l0a(c[t>>2]|0)}while(0);if((a[y+11>>0]|0)<0)l0a(c[y>>2]|0)}Ima(x+8|0,c[u>>2]|0);j=c[z>>2]|0;if(!j){l=B;return}h=c[A>>2]|0;if((h|0)==(j|0))h=j;else{do{i=h+-12|0;h=h+-16|0;if((a[i+11>>0]|0)<0)l0a(c[i>>2]|0)}while((h|0)!=(j|0));h=c[z>>2]|0}c[A>>2]=j;l0a(h);l=B;return}function Roa(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;B=l;l=l+80|0;w=B;z=B+60|0;x=B+40|0;y=B+28|0;t=B+16|0;c[z>>2]=0;A=z+4|0;c[A>>2]=0;p=z+8|0;c[p>>2]=0;o=d+60|0;c[x>>2]=d+72;q=x+4|0;c[q>>2]=o;c[x+12>>2]=0;c[x+16>>2]=0;u=x+12|0;c[x+8>>2]=u;v=b+4|0;r=v+11|0;while(1){gk[c[(c[o>>2]|0)+8>>2]&1023](o)|0;m=c[x>>2]|0;h=c[m>>2]|0;m=c[m+4>>2]|0;a:do if((h|0)==(m|0))h=0;else{n=c[u>>2]|0;if(!n){h=c[h>>2]|0;break}k=h;while(1){h=c[k>>2]|0;i=u;j=n;do{C=(c[j+16>>2]|0)>>>0<h>>>0;i=C?i:j;j=c[(C?j+4|0:j)>>2]|0}while((j|0)!=0);if((i|0)==(u|0))break a;k=k+4|0;if(h>>>0<(c[i+16>>2]|0)>>>0)break a;if((k|0)==(m|0)){h=0;break}}}while(0);gk[c[(c[o>>2]|0)+12>>2]&1023](o)|0;if(!h){s=28;break}o=c[q>>2]|0;gk[c[(c[o>>2]|0)+8>>2]&1023](o)|0;m=c[x>>2]|0;h=c[m>>2]|0;m=c[m+4>>2]|0;b:do if((h|0)==(m|0))h=0;else{n=c[u>>2]|0;if(!n){h=c[h>>2]|0;break}k=h;while(1){h=c[k>>2]|0;i=u;j=n;do{C=(c[j+16>>2]|0)>>>0<h>>>0;i=C?i:j;j=c[(C?j+4|0:j)>>2]|0}while((j|0)!=0);if((i|0)==(u|0))break b;k=k+4|0;if(h>>>0<(c[i+16>>2]|0)>>>0)break b;if((k|0)==(m|0)){h=0;break}}}while(0);gk[c[(c[o>>2]|0)+12>>2]&1023](o)|0;Sk[c[(c[h>>2]|0)+232>>2]&63](b,h,e,f,g);h=c[b>>2]|0;if((h|0)==3)break;i=c[A>>2]|0;if((i|0)==(c[p>>2]|0))Doa(z,b);else{c[i>>2]=h;t0a(i+4|0,v);c[A>>2]=(c[A>>2]|0)+16}if((a[r>>0]|0)<0)l0a(c[v>>2]|0);zma(x);o=c[q>>2]|0}if((s|0)==28){Bma(w,f);Cma(y,d,w);if((a[w+11>>0]|0)<0)l0a(c[w>>2]|0);c:do if((Dma(d,y)|0)==2)while(1){o=c[q>>2]|0;gk[c[(c[o>>2]|0)+8>>2]&1023](o)|0;m=c[x>>2]|0;h=c[m>>2]|0;m=c[m+4>>2]|0;d:do if((h|0)==(m|0))h=0;else{n=c[u>>2]|0;if(!n){h=c[h>>2]|0;break}k=h;while(1){h=c[k>>2]|0;i=u;j=n;do{C=(c[j+16>>2]|0)>>>0<h>>>0;i=C?i:j;j=c[(C?j+4|0:j)>>2]|0}while((j|0)!=0);if((i|0)==(u|0))break d;k=k+4|0;if(h>>>0<(c[i+16>>2]|0)>>>0)break d;if((k|0)==(m|0)){h=0;break}}}while(0);gk[c[(c[o>>2]|0)+12>>2]&1023](o)|0;if(!h){s=58;break c}o=c[q>>2]|0;gk[c[(c[o>>2]|0)+8>>2]&1023](o)|0;m=c[x>>2]|0;h=c[m>>2]|0;m=c[m+4>>2]|0;e:do if((h|0)==(m|0))h=0;else{n=c[u>>2]|0;if(!n){h=c[h>>2]|0;break}k=h;while(1){h=c[k>>2]|0;i=u;j=n;do{C=(c[j+16>>2]|0)>>>0<h>>>0;i=C?i:j;j=c[(C?j+4|0:j)>>2]|0}while((j|0)!=0);if((i|0)==(u|0))break e;k=k+4|0;if(h>>>0<(c[i+16>>2]|0)>>>0)break e;if((k|0)==(m|0)){h=0;break}}}while(0);gk[c[(c[o>>2]|0)+12>>2]&1023](o)|0;Sk[c[(c[h>>2]|0)+232>>2]&63](b,h,e,f,g);h=c[b>>2]|0;if((h|0)==3)break c;i=c[A>>2]|0;if((i|0)==(c[p>>2]|0))Doa(z,b);else{c[i>>2]=h;t0a(i+4|0,v);c[A>>2]=(c[A>>2]|0)+16}if((a[r>>0]|0)<0)l0a(c[v>>2]|0);zma(x)}else s=58;while(0);do if((s|0)==58){h=c[z>>2]|0;i=c[A>>2]|0;if((h|0)!=(i|0)){Eoa(h,i,w);C=c[A>>2]|0;c[w>>2]=c[C+-16>>2];h=w+4|0;t0a(h,C+-12|0);c[b>>2]=c[w>>2];t0a(v,h);if((a[h+11>>0]|0)<0)l0a(c[h>>2]|0);break}f1a(t,179496,f);C=J0a(t,172589)|0;c[w>>2]=c[C>>2];c[w+4>>2]=c[C+4>>2];c[w+8>>2]=c[C+8>>2];c[C>>2]=0;c[C+4>>2]=0;c[C+8>>2]=0;c[b>>2]=2;t0a(v,w);if((a[w+11>>0]|0)<0)l0a(c[w>>2]|0);if((a[t+11>>0]|0)<0)l0a(c[t>>2]|0)}while(0);if((a[y+11>>0]|0)<0)l0a(c[y>>2]|0)}Ima(x+8|0,c[u>>2]|0);j=c[z>>2]|0;if(!j){l=B;return}h=c[A>>2]|0;if((h|0)==(j|0))h=j;else{do{i=h+-12|0;h=h+-16|0;if((a[i+11>>0]|0)<0)l0a(c[i>>2]|0)}while((h|0)!=(j|0));h=c[z>>2]|0}c[A>>2]=j;l0a(h);l=B;return}function Soa(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0;i=l;l=l+32|0;g=i;Tha(g);c[g>>2]=98124;h=g+12|0;t0a(h,e);c[g+24>>2]=f;c[g>>2]=98420;oma(b,d,g,4);c[g>>2]=98124;if((a[h+11>>0]|0)>=0){SU(g);l=i;return}l0a(c[h>>2]|0);SU(g);l=i;return}function Toa(b){b=b|0;var d=0;c[b>>2]=98124;d=b+12|0;if((a[d+11>>0]|0)<0)l0a(c[d>>2]|0);SU(b);l0a(b);return}function Uoa(a,b,d){a=a|0;b=b|0;d=d|0;Qk[c[(c[d>>2]|0)+208>>2]&127](a,d,b+12|0,c[b+24>>2]|0);return}function Voa(a,b){a=a|0;b=b|0;a=c[b+16>>2]|0;if(!a){b=0;return b|0}b=(y1a(a,42800,47152,0)|0)!=0;return b|0}function Woa(a,b){a=a|0;b=b|0;if(!b){b=0;return b|0}b=(y1a(b,42800,47152,0)|0)!=0;return b|0}function Xoa(a,b,d){a=a|0;b=b|0;d=d|0;a=j0a(28)|0;Tha(a);c[a>>2]=98124;t0a(a+12|0,b);c[a+24>>2]=d;c[a>>2]=98420;return a|0}function Yoa(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0;n=l;l=l+32|0;k=n;c[b>>2]=1;i=b+4|0;c[i>>2]=0;c[i+4>>2]=0;c[i+8>>2]=0;c[i+12>>2]=0;if((f|0)!=0?(h=c[f+116>>2]|0,(h|0)!=0):0){Qk[c[(c[h>>2]|0)+4>>2]&127](k,h,e,f);if((k|0)!=(b|0)){c[b>>2]=c[k>>2];z0a(i,k+4|0)|0;e=b+16|0;i=c[e>>2]|0;h=k+16|0;j=c[h>>2]|0;if((i|0)!=(j|0)){c[e>>2]=j;if(j|0){m=j+8|0;c[m>>2]=(c[m>>2]|0)+1}if((i|0)!=0?(j=i+8|0,m=c[j>>2]|0,c[j>>2]=m-1,(m|0)==1):0){UU(i,1,1);m=11}else m=11}else{e=h;h=j}}else{h=k+16|0;m=11}if((m|0)==11){e=h;h=c[h>>2]|0}if(h|0?(i=h+8|0,j=c[i>>2]|0,c[i>>2]=j-1,(j|0)==1):0)UU(h,1,1);c[e>>2]=0;h=k+4|0;if((a[h+11>>0]|0)<0)l0a(c[h>>2]|0)}else m=18;do if((m|0)==18){h=c[d+48>>2]|0;if(!h){Zoa(k,d,e,f);if((k|0)!=(b|0)){c[b>>2]=c[k>>2];z0a(i,k+4|0)|0;e=b+16|0;i=c[e>>2]|0;h=k+16|0;j=c[h>>2]|0;if((i|0)!=(j|0)){c[e>>2]=j;if(j|0){m=j+8|0;c[m>>2]=(c[m>>2]|0)+1}if((i|0)!=0?(j=i+8|0,m=c[j>>2]|0,c[j>>2]=m-1,(m|0)==1):0){UU(i,1,1);m=42}else m=42}else{e=h;h=j}}else{h=k+16|0;m=42}if((m|0)==42){e=h;h=c[h>>2]|0}if(h|0?(j=h+8|0,m=c[j>>2]|0,c[j>>2]=m-1,(m|0)==1):0)UU(h,1,1);c[e>>2]=0;h=k+4|0;if((a[h+11>>0]|0)<0)l0a(c[h>>2]|0);break}else{Qk[c[(c[h>>2]|0)+4>>2]&127](k,h,e,f);if((k|0)!=(b|0)){c[b>>2]=c[k>>2];z0a(i,k+4|0)|0;e=b+16|0;i=c[e>>2]|0;h=k+16|0;j=c[h>>2]|0;if((i|0)!=(j|0)){c[e>>2]=j;if(j|0){m=j+8|0;c[m>>2]=(c[m>>2]|0)+1}if((i|0)!=0?(j=i+8|0,m=c[j>>2]|0,c[j>>2]=m-1,(m|0)==1):0){UU(i,1,1);m=27}else m=27}else{e=h;h=j}}else{h=k+16|0;m=27}if((m|0)==27){e=h;h=c[h>>2]|0}if(h|0?(j=h+8|0,m=c[j>>2]|0,c[j>>2]=m-1,(m|0)==1):0)UU(h,1,1);c[e>>2]=0;h=k+4|0;if((a[h+11>>0]|0)<0)l0a(c[h>>2]|0);break}}while(0);if(!g){l=n;return}nma(d,b,f);l=n;return}function Zoa(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0;i=l;l=l+32|0;g=i;Tha(g);c[g>>2]=98124;h=g+12|0;t0a(h,e);c[g+24>>2]=f;c[g>>2]=98456;oma(b,d,g,16);c[g>>2]=98124;if((a[h+11>>0]|0)>=0){SU(g);l=i;return}l0a(c[h>>2]|0);SU(g);l=i;return}function _oa(b){b=b|0;var d=0;c[b>>2]=98124;d=b+12|0;if((a[d+11>>0]|0)<0)l0a(c[d>>2]|0);SU(b);l0a(b);return}function $oa(a,b,d){a=a|0;b=b|0;d=d|0;Qk[c[(c[d>>2]|0)+200>>2]&127](a,d,b+12|0,c[b+24>>2]|0);return}function apa(a,b){a=a|0;b=b|0;return (c[b+16>>2]|0)!=0|0}function bpa(a,b){a=a|0;b=b|0;return (b|0)!=0|0}function cpa(a,b,d){a=a|0;b=b|0;d=d|0;a=j0a(28)|0;Tha(a);c[a>>2]=98124;t0a(a+12|0,b);c[a+24>>2]=d;c[a>>2]=98456;return a|0}function dpa(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;B=l;l=l+80|0;w=B;z=B+60|0;x=B+40|0;y=B+28|0;t=B+16|0;c[z>>2]=0;A=z+4|0;c[A>>2]=0;p=z+8|0;c[p>>2]=0;o=d+60|0;c[x>>2]=d+72;q=x+4|0;c[q>>2]=o;c[x+12>>2]=0;c[x+16>>2]=0;u=x+12|0;c[x+8>>2]=u;v=b+4|0;r=v+11|0;while(1){gk[c[(c[o>>2]|0)+8>>2]&1023](o)|0;m=c[x>>2]|0;h=c[m>>2]|0;m=c[m+4>>2]|0;a:do if((h|0)==(m|0))h=0;else{n=c[u>>2]|0;if(!n){h=c[h>>2]|0;break}k=h;while(1){h=c[k>>2]|0;i=u;j=n;do{C=(c[j+16>>2]|0)>>>0<h>>>0;i=C?i:j;j=c[(C?j+4|0:j)>>2]|0}while((j|0)!=0);if((i|0)==(u|0))break a;k=k+4|0;if(h>>>0<(c[i+16>>2]|0)>>>0)break a;if((k|0)==(m|0)){h=0;break}}}while(0);gk[c[(c[o>>2]|0)+12>>2]&1023](o)|0;if(!h){s=28;break}o=c[q>>2]|0;gk[c[(c[o>>2]|0)+8>>2]&1023](o)|0;m=c[x>>2]|0;h=c[m>>2]|0;m=c[m+4>>2]|0;b:do if((h|0)==(m|0))h=0;else{n=c[u>>2]|0;if(!n){h=c[h>>2]|0;break}k=h;while(1){h=c[k>>2]|0;i=u;j=n;do{C=(c[j+16>>2]|0)>>>0<h>>>0;i=C?i:j;j=c[(C?j+4|0:j)>>2]|0}while((j|0)!=0);if((i|0)==(u|0))break b;k=k+4|0;if(h>>>0<(c[i+16>>2]|0)>>>0)break b;if((k|0)==(m|0)){h=0;break}}}while(0);gk[c[(c[o>>2]|0)+12>>2]&1023](o)|0;Sk[c[(c[h>>2]|0)+228>>2]&63](b,h,e,f,g);h=c[b>>2]|0;if((h|0)==3)break;i=c[A>>2]|0;if((i|0)==(c[p>>2]|0))Doa(z,b);else{c[i>>2]=h;t0a(i+4|0,v);c[A>>2]=(c[A>>2]|0)+16}if((a[r>>0]|0)<0)l0a(c[v>>2]|0);zma(x);o=c[q>>2]|0}if((s|0)==28){Bma(w,f);Cma(y,d,w);if((a[w+11>>0]|0)<0)l0a(c[w>>2]|0);c:do if((Dma(d,y)|0)==2)while(1){o=c[q>>2]|0;gk[c[(c[o>>2]|0)+8>>2]&1023](o)|0;m=c[x>>2]|0;h=c[m>>2]|0;m=c[m+4>>2]|0;d:do if((h|0)==(m|0))h=0;else{n=c[u>>2]|0;if(!n){h=c[h>>2]|0;break}k=h;while(1){h=c[k>>2]|0;i=u;j=n;do{C=(c[j+16>>2]|0)>>>0<h>>>0;i=C?i:j;j=c[(C?j+4|0:j)>>2]|0}while((j|0)!=0);if((i|0)==(u|0))break d;k=k+4|0;if(h>>>0<(c[i+16>>2]|0)>>>0)break d;if((k|0)==(m|0)){h=0;break}}}while(0);gk[c[(c[o>>2]|0)+12>>2]&1023](o)|0;if(!h){s=58;break c}o=c[q>>2]|0;gk[c[(c[o>>2]|0)+8>>2]&1023](o)|0;m=c[x>>2]|0;h=c[m>>2]|0;m=c[m+4>>2]|0;e:do if((h|0)==(m|0))h=0;else{n=c[u>>2]|0;if(!n){h=c[h>>2]|0;break}k=h;while(1){h=c[k>>2]|0;i=u;j=n;do{C=(c[j+16>>2]|0)>>>0<h>>>0;i=C?i:j;j=c[(C?j+4|0:j)>>2]|0}while((j|0)!=0);if((i|0)==(u|0))break e;k=k+4|0;if(h>>>0<(c[i+16>>2]|0)>>>0)break e;if((k|0)==(m|0)){h=0;break}}}while(0);gk[c[(c[o>>2]|0)+12>>2]&1023](o)|0;Sk[c[(c[h>>2]|0)+228>>2]&63](b,h,e,f,g);h=c[b>>2]|0;if((h|0)==3)break c;i=c[A>>2]|0;if((i|0)==(c[p>>2]|0))Doa(z,b);else{c[i>>2]=h;t0a(i+4|0,v);c[A>>2]=(c[A>>2]|0)+16}if((a[r>>0]|0)<0)l0a(c[v>>2]|0);zma(x)}else s=58;while(0);do if((s|0)==58){h=c[z>>2]|0;i=c[A>>2]|0;if((h|0)!=(i|0)){Eoa(h,i,w);C=c[A>>2]|0;c[w>>2]=c[C+-16>>2];h=w+4|0;t0a(h,C+-12|0);c[b>>2]=c[w>>2];t0a(v,h);if((a[h+11>>0]|0)<0)l0a(c[h>>2]|0);break}f1a(t,179758,f);C=J0a(t,172589)|0;c[w>>2]=c[C>>2];c[w+4>>2]=c[C+4>>2];c[w+8>>2]=c[C+8>>2];c[C>>2]=0;c[C+4>>2]=0;c[C+8>>2]=0;c[b>>2]=2;t0a(v,w);if((a[w+11>>0]|0)<0)l0a(c[w>>2]|0);if((a[t+11>>0]|0)<0)l0a(c[t>>2]|0)}while(0);if((a[y+11>>0]|0)<0)l0a(c[y>>2]|0)}Ima(x+8|0,c[u>>2]|0);j=c[z>>2]|0;if(!j){l=B;return}h=c[A>>2]|0;if((h|0)==(j|0))h=j;else{do{i=h+-12|0;h=h+-16|0;if((a[i+11>>0]|0)<0)l0a(c[i>>2]|0)}while((h|0)!=(j|0));h=c[z>>2]|0}c[A>>2]=j;l0a(h);l=B;return}function epa(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0;i=l;l=l+32|0;g=i;Tha(g);c[g>>2]=98124;h=g+12|0;t0a(h,e);c[g+24>>2]=f;c[g>>2]=98492;oma(b,d,g,2);c[g>>2]=98124;if((a[h+11>>0]|0)>=0){SU(g);l=i;return}l0a(c[h>>2]|0);SU(g);l=i;return}function fpa(b){b=b|0;var d=0;c[b>>2]=98124;d=b+12|0;if((a[d+11>>0]|0)<0)l0a(c[d>>2]|0);SU(b);l0a(b);return}function gpa(a,b,d){a=a|0;b=b|0;d=d|0;Qk[c[(c[d>>2]|0)+204>>2]&127](a,d,b+12|0,c[b+24>>2]|0);return}function hpa(a,b){a=a|0;b=b|0;a=c[b+16>>2]|0;if(!a){b=0;return b|0}b=(y1a(a,42800,43968,0)|0)!=0;return b|0}function ipa(a,b){a=a|0;b=b|0;if(!b){b=0;return b|0}b=(y1a(b,42800,43968,0)|0)!=0;return b|0}function jpa(a,b,d){a=a|0;b=b|0;d=d|0;a=j0a(28)|0;Tha(a);c[a>>2]=98124;t0a(a+12|0,b);c[a+24>>2]=d;c[a>>2]=98492;return a|0}function kpa(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=l;l=l+16|0;f=h;e=c[b+44>>2]|0;b=b+48|0;if((e|0)==(c[b>>2]|0)){g=0;l=h;return g|0}while(1){if(lpa(c[e>>2]|0,d)|0)break;e=e+4|0;if((e|0)==(c[b>>2]|0)){e=0;g=7;break}}if((g|0)==7){l=h;return e|0}if(!(ZQ(4)|0)){g=1;l=h;return g|0}e=mr(lr(4)|0,179872,21)|0;g=a[d+11>>0]|0;b=g<<24>>24<0;g=mr(e,b?c[d>>2]|0:d,b?c[d+4>>2]|0:g&255)|0;BSa(f,g+(c[(c[g>>2]|0)+-12>>2]|0)|0);d=cUa(f,230580)|0;d=kk[c[(c[d>>2]|0)+28>>2]&511](d,10)|0;dUa(f);VSa(g,d)|0;HSa(g)|0;g=1;l=h;return g|0}function lpa(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;u=l;l=l+16|0;t=u;m=u+12|0;if(ZQ(4)|0){h=mr(lr(4)|0,179894,17)|0;j=b+12|0;i=a[j+11>>0]|0;k=i<<24>>24<0;i=mr(mr(h,k?c[j>>2]|0:j,k?c[b+16>>2]|0:i&255)|0,179912,21)|0;k=a[d+11>>0]|0;j=k<<24>>24<0;k=mr(mr(i,j?c[d>>2]|0:d,j?c[d+4>>2]|0:k&255)|0,184787,1)|0;BSa(t,k+(c[(c[k>>2]|0)+-12>>2]|0)|0);j=cUa(t,230580)|0;j=kk[c[(c[j>>2]|0)+28>>2]&511](j,10)|0;dUa(t);VSa(k,j)|0;HSa(k)|0}h=b+32|0;i=h+11|0;e=a[i>>0]|0;j=e<<24>>24<0;if(j)f=c[b+36>>2]|0;else f=e&255;k=a[d+11>>0]|0;if(f>>>0>=(k<<24>>24<0?c[d+4>>2]|0:k&255)>>>0){t=0;l=u;return t|0}if(j){k=b+36|0;g=c[k>>2]|0;e=e&255;f=g}else{g=e&255;f=b+36|0;e=g;k=f;f=c[f>>2]|0}if(S0a(d,0,g,j?c[h>>2]|0:h,j?f:e)|0){t=0;l=u;return t|0}e=a[i>>0]|0;f=e<<24>>24<0;if(f)g=c[k>>2]|0;else g=e&255;if(!g)e=0;else{if(f)e=c[k>>2]|0;else e=e&255;e=e+1|0}x0a(t,d,e,-1,m);e=c[b+48>>2]|0;a:do if((e|0)!=0?(n=c[e+36>>2]|0,(n|0)!=0):0){d=a[t+11>>0]|0;m=d<<24>>24<0;d=m?c[t+4>>2]|0:d&255;m=m?c[t>>2]|0:t;e=n;while(1){f=e+16|0;h=a[f+11>>0]|0;g=h<<24>>24<0;h=g?c[e+20>>2]|0:h&255;k=h>>>0<d>>>0;j=k?h:d;i=(j|0)==0;if(!i?(o=g?c[f>>2]|0:f,p=cOa(m,o,j)|0,(p|0)!=0):0)if((p|0)<0)g=26;else{f=o;g=29}else if(d>>>0>=h>>>0)if(i)g=30;else{f=g?c[f>>2]|0:f;g=29}else g=26;if((g|0)==26)g=0;else if((g|0)==29){g=0;f=cOa(f,m,j)|0;if(f)if((f|0)<0)g=32;else{e=1;break a}else g=30}if((g|0)==30){g=0;if(k)g=32;else{e=1;break a}}if((g|0)==32)e=e+4|0;e=c[e>>2]|0;if(!e){g=34;break}}}else g=34;while(0);b:do if((g|0)==34){e=c[b+52>>2]|0;if((e|0)!=0?(q=c[e+36>>2]|0,(q|0)!=0):0){d=a[t+11>>0]|0;m=d<<24>>24<0;d=m?c[t+4>>2]|0:d&255;m=m?c[t>>2]|0:t;e=q;while(1){f=e+16|0;h=a[f+11>>0]|0;g=h<<24>>24<0;h=g?c[e+20>>2]|0:h&255;k=h>>>0<d>>>0;j=k?h:d;i=(j|0)==0;if(!i?(r=g?c[f>>2]|0:f,s=cOa(m,r,j)|0,(s|0)!=0):0)if((s|0)<0)g=41;else{f=r;g=44}else if(d>>>0>=h>>>0)if(i)g=45;else{f=g?c[f>>2]|0:f;g=44}else g=41;if((g|0)==41)g=0;else if((g|0)==44){f=cOa(f,m,j)|0;if(f)if((f|0)<0)g=47;else{e=1;break b}else g=45}if((g|0)==45)if(k)g=47;else{e=1;break b}if((g|0)==47)e=e+4|0;e=c[e>>2]|0;if(!e){e=0;break}}}else e=0}while(0);if((a[t+11>>0]|0)<0)l0a(c[t>>2]|0);t=e;l=u;return t|0}function mpa(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;e=a[d+11>>0]|0;i=e<<24>>24<0;f=i?c[d>>2]|0:d;e=i?c[d+4>>2]|0:e&255;i=f+e|0;g=i;h=f;a:do if((e|0)>=3){while(1){e=e+-2|0;if(!e)break a;e=aOa(f,58,e)|0;if(!e)break a;if(!(cOa(e,172482,3)|0))break;f=e+1|0;e=g-f|0;if((e|0)<3)break a}g=e-h|0;if(!((e|0)==(i|0)|(g|0)==-1)){e=g+3|0;f=Q0a(d,47,e)|0;if((f|0)==-1){x0a(b,d,e,-1,d);return}else{x0a(b,d,e,-3-g+f|0,d);return}}}while(0);c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;return}function npa(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;e=a[d+11>>0]|0;i=e<<24>>24<0;f=i?c[d>>2]|0:d;e=i?c[d+4>>2]|0:e&255;i=f+e|0;g=i;h=f;a:do if((e|0)>=3){while(1){e=e+-2|0;if(!e)break a;f=aOa(f,58,e)|0;if(!f)break a;if(!(cOa(f,172482,3)|0))break;f=f+1|0;e=g-f|0;if((e|0)<3)break a}e=f-h|0;if(!((f|0)==(i|0)|(e|0)==-1)){e=Q0a(d,47,e+3|0)|0;if((e|0)==-1){c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;return}else{x0a(b,d,e+1|0,-1,d);return}}}while(0);t0a(b,d);return}function opa(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;b=a+8|0;if(!(c[b>>2]|0))return;d=c[a+4>>2]|0;e=(c[a>>2]|0)+4|0;f=c[d>>2]|0;c[f+4>>2]=c[e>>2];c[c[e>>2]>>2]=f;c[b>>2]=0;if((d|0)==(a|0))return;do{b=d;d=c[d+4>>2]|0;e=c[b+8>>2]|0;if(e|0?(g=e+8|0,f=c[g>>2]|0,c[g>>2]=f-1,(f|0)==1):0)UU(e,1,1);l0a(b)}while((d|0)!=(a|0));return}function ppa(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;c[b>>2]=98252;Mna(b);d=b+244|0;e=c[d>>2]|0;if(e|0?(g=e+8|0,h=c[g>>2]|0,c[g>>2]=h-1,(h|0)==1):0)UU(e,1,1);c[d>>2]=0;d=b+240|0;e=c[d>>2]|0;if(e|0?(g=e+8|0,h=c[g>>2]|0,c[g>>2]=h-1,(h|0)==1):0)UU(e,1,1);c[d>>2]=0;d=b+236|0;e=c[d>>2]|0;if(e|0?(f=e+(c[(c[e>>2]|0)+-12>>2]|0)|0,g=f+8|0,h=c[g>>2]|0,c[g>>2]=h-1,(h|0)==1):0)UU(f,1,1);c[d>>2]=0;e=b+224|0;f=c[e>>2]|0;if(f|0){g=b+228|0;d=c[g>>2]|0;if((d|0)==(f|0))d=f;else{do{d=d+-12|0;if((a[d+11>>0]|0)<0)l0a(c[d>>2]|0)}while((d|0)!=(f|0));d=c[e>>2]|0}c[g>>2]=f;l0a(d)}d=b+212|0;e=c[d>>2]|0;if(e|0?(g=e+8|0,h=c[g>>2]|0,c[g>>2]=h-1,(h|0)==1):0)UU(e,1,1);c[d>>2]=0;g=b+188|0;wma(g);e=b+192|0;d=c[e>>2]|0;h=b+196|0;f=c[h>>2]|0;if((d|0)!=(f|0)){do{l0a(c[d>>2]|0);d=d+4|0}while((d|0)!=(f|0));d=c[e>>2]|0;e=c[h>>2]|0;if((e|0)!=(d|0))c[h>>2]=e+(~((e+-4-d|0)>>>2)<<2)}d=c[g>>2]|0;if(d|0)l0a(d);g=b+164|0;wma(g);e=b+168|0;d=c[e>>2]|0;h=b+172|0;f=c[h>>2]|0;if((d|0)!=(f|0)){do{l0a(c[d>>2]|0);d=d+4|0}while((d|0)!=(f|0));d=c[e>>2]|0;e=c[h>>2]|0;if((e|0)!=(d|0))c[h>>2]=e+(~((e+-4-d|0)>>>2)<<2)}d=c[g>>2]|0;if(d|0)l0a(d);d=b+160|0;e=c[d>>2]|0;if(e|0?(g=e+8|0,h=c[g>>2]|0,c[g>>2]=h-1,(h|0)==1):0)UU(e,1,1);c[d>>2]=0;yq(b+148|0,c[b+152>>2]|0);yq(b+136|0,c[b+140>>2]|0);Nna(b+120|0,c[b+124>>2]|0);oX(b+108|0);f=b+96|0;h=c[f>>2]|0;if(h|0){g=b+100|0;d=c[g>>2]|0;if((d|0)==(h|0))d=h;else{do{d=d+-4|0;e=c[d>>2]|0;if(e|0?(n=e+8|0,m=c[n>>2]|0,c[n>>2]=m-1,(m|0)==1):0)UU(e,1,1);c[d>>2]=0}while((d|0)!=(h|0));d=c[f>>2]|0}c[g>>2]=h;l0a(d)}f=b+84|0;g=c[f>>2]|0;if(g|0){h=b+88|0;d=c[h>>2]|0;if((d|0)==(g|0))d=g;else{do{d=d+-4|0;e=c[d>>2]|0;if(e|0?(m=e+8|0,n=c[m>>2]|0,c[m>>2]=n-1,(n|0)==1):0)UU(e,1,1);c[d>>2]=0}while((d|0)!=(g|0));d=c[f>>2]|0}c[h>>2]=g;l0a(d)}f=b+72|0;g=c[f>>2]|0;if(g|0){h=b+76|0;d=c[h>>2]|0;if((d|0)==(g|0))d=g;else{do{d=d+-4|0;e=c[d>>2]|0;if(e|0?(m=e+8|0,n=c[m>>2]|0,c[m>>2]=n-1,(n|0)==1):0)UU(e,1,1);c[d>>2]=0}while((d|0)!=(g|0));d=c[f>>2]|0}c[h>>2]=g;l0a(d)}oX(b+60|0);d=b+56|0;e=c[d>>2]|0;if(e|0?(i=e+(c[(c[e>>2]|0)+-12>>2]|0)|0,m=i+8|0,n=c[m>>2]|0,c[m>>2]=n-1,(n|0)==1):0)UU(i,1,1);c[d>>2]=0;d=b+52|0;e=c[d>>2]|0;if(e|0?(j=e+(c[(c[e>>2]|0)+-12>>2]|0)|0,m=j+8|0,n=c[m>>2]|0,c[m>>2]=n-1,(n|0)==1):0)UU(j,1,1);c[d>>2]=0;d=b+48|0;e=c[d>>2]|0;if(e|0?(k=e+(c[(c[e>>2]|0)+-12>>2]|0)|0,m=k+8|0,n=c[m>>2]|0,c[m>>2]=n-1,(n|0)==1):0)UU(k,1,1);c[d>>2]=0;d=b+44|0;e=c[d>>2]|0;if(e|0?(l=e+(c[(c[e>>2]|0)+-12>>2]|0)|0,m=l+8|0,n=c[m>>2]|0,c[m>>2]=n-1,(n|0)==1):0)UU(l,1,1);c[d>>2]=0;iu(b+32|0,c[b+36>>2]|0);d=b+24|0;e=c[d>>2]|0;if(e|0?(m=e+8|0,n=c[m>>2]|0,c[m>>2]=n-1,(n|0)==1):0)UU(e,1,1);c[d>>2]=0;d=b+20|0;e=c[d>>2]|0;do if(e|0){m=e+8|0;n=c[m>>2]|0;c[m>>2]=n-1;if((n|0)!=1)break;UU(e,1,1)}while(0);c[d>>2]=0;e=b+16|0;d=c[e>>2]|0;if(!d){c[e>>2]=0;SU(b);return}d=d+(c[(c[d>>2]|0)+-12>>2]|0)|0;m=d+8|0;n=c[m>>2]|0;c[m>>2]=n-1;if((n|0)!=1){c[e>>2]=0;SU(b);return}UU(d,1,1);c[e>>2]=0;SU(b);return}function qpa(a){a=a|0;ppa(a);l0a(a);return}function rpa(a){a=a|0;var b=0,d=0,e=0;b=c[a>>2]|0;if(b|0?(e=b+8|0,d=c[e>>2]|0,c[e>>2]=d-1,(d|0)==1):0)UU(b,1,1);c[a>>2]=0;return}function spa(a){a=a|0;var b=0,d=0,e=0;b=c[a>>2]|0;if(b|0?(e=b+8|0,d=c[e>>2]|0,c[e>>2]=d-1,(d|0)==1):0)UU(b,1,1);c[a>>2]=0;return}function tpa(a){a=a|0;var b=0,d=0,e=0;b=c[a>>2]|0;if(!b){c[a>>2]=0;return}b=b+(c[(c[b>>2]|0)+-12>>2]|0)|0;e=b+8|0;d=c[e>>2]|0;c[e>>2]=d-1;if((d|0)!=1){c[a>>2]=0;return}UU(b,1,1);c[a>>2]=0;return}function upa(a){a=a|0;var b=0,d=0,e=0;b=c[a>>2]|0;if(b|0?(e=b+8|0,d=c[e>>2]|0,c[e>>2]=d-1,(d|0)==1):0)UU(b,1,1);c[a>>2]=0;return}function vpa(a){a=a|0;var b=0,d=0,e=0,f=0;wma(a);d=a+4|0;b=c[d>>2]|0;f=a+8|0;e=c[f>>2]|0;if((b|0)!=(e|0)){do{l0a(c[b>>2]|0);b=b+4|0}while((b|0)!=(e|0));b=c[d>>2]|0;d=c[f>>2]|0;if((d|0)!=(b|0))c[f>>2]=d+(~((d+-4-b|0)>>>2)<<2)}b=c[a>>2]|0;if(!b)return;l0a(b);return}function wpa(a){a=a|0;var b=0,d=0,e=0;b=c[a>>2]|0;if(b|0?(e=b+8|0,d=c[e>>2]|0,c[e>>2]=d-1,(d|0)==1):0)UU(b,1,1);c[a>>2]=0;return}function xpa(a){a=a|0;yq(a,c[a+4>>2]|0);return}function ypa(a){a=a|0;Nna(a,c[a+4>>2]|0);return}function zpa(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;e=c[a>>2]|0;if(!e)return;f=a+4|0;b=c[f>>2]|0;if((b|0)==(e|0))b=e;else{do{b=b+-4|0;d=c[b>>2]|0;if(d|0?(h=d+8|0,g=c[h>>2]|0,c[h>>2]=g-1,(g|0)==1):0)UU(d,1,1);c[b>>2]=0}while((b|0)!=(e|0));b=c[a>>2]|0}c[f>>2]=e;l0a(b);return}function Apa(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;e=c[a>>2]|0;if(!e)return;f=a+4|0;b=c[f>>2]|0;if((b|0)==(e|0))b=e;else{do{b=b+-4|0;d=c[b>>2]|0;if(d|0?(h=d+8|0,g=c[h>>2]|0,c[h>>2]=g-1,(g|0)==1):0)UU(d,1,1);c[b>>2]=0}while((b|0)!=(e|0));b=c[a>>2]|0}c[f>>2]=e;l0a(b);return}function Bpa(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;e=c[a>>2]|0;if(!e)return;f=a+4|0;b=c[f>>2]|0;if((b|0)==(e|0))b=e;else{do{b=b+-4|0;d=c[b>>2]|0;if(d|0?(h=d+8|0,g=c[h>>2]|0,c[h>>2]=g-1,(g|0)==1):0)UU(d,1,1);c[b>>2]=0}while((b|0)!=(e|0));b=c[a>>2]|0}c[f>>2]=e;l0a(b);return}function Cpa(a){a=a|0;var b=0,d=0,e=0;b=c[a>>2]|0;if(!b){c[a>>2]=0;return}b=b+(c[(c[b>>2]|0)+-12>>2]|0)|0;e=b+8|0;d=c[e>>2]|0;c[e>>2]=d-1;if((d|0)!=1){c[a>>2]=0;return}UU(b,1,1);c[a>>2]=0;return}function Dpa(a){a=a|0;var b=0,d=0,e=0;b=c[a>>2]|0;if(!b){c[a>>2]=0;return}b=b+(c[(c[b>>2]|0)+-12>>2]|0)|0;e=b+8|0;d=c[e>>2]|0;c[e>>2]=d-1;if((d|0)!=1){c[a>>2]=0;return}UU(b,1,1);c[a>>2]=0;return}function Epa(a){a=a|0;var b=0,d=0,e=0;b=c[a>>2]|0;if(!b){c[a>>2]=0;return}b=b+(c[(c[b>>2]|0)+-12>>2]|0)|0;e=b+8|0;d=c[e>>2]|0;c[e>>2]=d-1;if((d|0)!=1){c[a>>2]=0;return}UU(b,1,1);c[a>>2]=0;return}function Fpa(a){a=a|0;var b=0,d=0,e=0;b=c[a>>2]|0;if(!b){c[a>>2]=0;return}b=b+(c[(c[b>>2]|0)+-12>>2]|0)|0;e=b+8|0;d=c[e>>2]|0;c[e>>2]=d-1;if((d|0)!=1){c[a>>2]=0;return}UU(b,1,1);c[a>>2]=0;return}function Gpa(a){a=a|0;iu(a,c[a+4>>2]|0);return}function Hpa(a){a=a|0;var b=0,d=0,e=0;b=c[a>>2]|0;if(b|0?(e=b+8|0,d=c[e>>2]|0,c[e>>2]=d-1,(d|0)==1):0)UU(b,1,1);c[a>>2]=0;return}function Ipa(a){a=a|0;var b=0,d=0,e=0;b=c[a>>2]|0;if(b|0?(e=b+8|0,d=c[e>>2]|0,c[e>>2]=d-1,(d|0)==1):0)UU(b,1,1);c[a>>2]=0;return}function Jpa(a){a=a|0;var b=0,d=0,e=0;b=c[a>>2]|0;if(!b){c[a>>2]=0;return}b=b+(c[(c[b>>2]|0)+-12>>2]|0)|0;e=b+8|0;d=c[e>>2]|0;c[e>>2]=d-1;if((d|0)!=1){c[a>>2]=0;return}UU(b,1,1);c[a>>2]=0;return}function Kpa(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;c[a>>2]=98528;Ppa(a)|0;l=a+56|0;e=c[l>>2]|0;m=a+60|0;b=c[m>>2]|0;if((b|0)!=(e|0))do{b=b+-4|0;d=c[b>>2]|0;if(d|0?(i=d+8|0,k=c[i>>2]|0,c[i>>2]=k-1,(k|0)==1):0)UU(d,1,1);c[b>>2]=0}while((b|0)!=(e|0));c[m>>2]=e;k=a+88|0;b=c[k>>2]|0;if(b|0?(c[k>>2]=0,h=b+8|0,i=c[h>>2]|0,c[h>>2]=i-1,(i|0)==1):0)UU(b,1,1);i=a+92|0;b=c[i>>2]|0;if(b|0?(c[i>>2]=0,f=b+8|0,h=c[f>>2]|0,c[f>>2]=h-1,(h|0)==1):0)UU(b,1,1);h=a+96|0;b=c[h>>2]|0;if(b|0?(c[h>>2]=0,e=b+8|0,f=c[e>>2]|0,c[e>>2]=f-1,(f|0)==1):0)UU(b,1,1);f=a+100|0;b=c[f>>2]|0;if(b|0?(c[f>>2]=0,d=b+8|0,e=c[d>>2]|0,c[d>>2]=e-1,(e|0)==1):0)UU(b,1,1);e=a+132|0;b=c[e>>2]|0;if(b|0?(c[e>>2]=0,g=b+(c[(c[b>>2]|0)+-12>>2]|0)|0,b=g+8|0,d=c[b>>2]|0,c[b>>2]=d-1,(d|0)==1):0)UU(g,1,1);b=a+164|0;d=c[b>>2]|0;if(d|0?(n=d+8|0,g=c[n>>2]|0,c[n>>2]=g-1,(g|0)==1):0)UU(d,1,1);c[b>>2]=0;b=c[e>>2]|0;if(b|0?(j=b+(c[(c[b>>2]|0)+-12>>2]|0)|0,g=j+8|0,n=c[g>>2]|0,c[g>>2]=n-1,(n|0)==1):0)UU(j,1,1);c[e>>2]=0;b=a+120|0;d=c[b>>2]|0;if(d|0?(j=d+8|0,n=c[j>>2]|0,c[j>>2]=n-1,(n|0)==1):0)UU(d,1,1);c[b>>2]=0;b=c[f>>2]|0;if(b|0?(j=b+8|0,n=c[j>>2]|0,c[j>>2]=n-1,(n|0)==1):0)UU(b,1,1);c[f>>2]=0;b=c[h>>2]|0;if(b|0?(j=b+8|0,n=c[j>>2]|0,c[j>>2]=n-1,(n|0)==1):0)UU(b,1,1);c[h>>2]=0;b=c[i>>2]|0;if(b|0?(j=b+8|0,n=c[j>>2]|0,c[j>>2]=n-1,(n|0)==1):0)UU(b,1,1);c[i>>2]=0;b=c[k>>2]|0;if(b|0?(j=b+8|0,n=c[j>>2]|0,c[j>>2]=n-1,(n|0)==1):0)UU(b,1,1);c[k>>2]=0;oX(a+72|0);e=c[l>>2]|0;if(!e){m=a+40|0;n=a+44|0;n=c[n>>2]|0;vw(m,n);n=a+24|0;oX(n);n=a+12|0;oX(n);SU(a);return}b=c[m>>2]|0;if((b|0)==(e|0))b=e;else{do{b=b+-4|0;d=c[b>>2]|0;if(d|0?(k=d+8|0,n=c[k>>2]|0,c[k>>2]=n-1,(n|0)==1):0)UU(d,1,1);c[b>>2]=0}while((b|0)!=(e|0));b=c[l>>2]|0}c[m>>2]=e;l0a(b);m=a+40|0;n=a+44|0;n=c[n>>2]|0;vw(m,n);n=a+24|0;oX(n);n=a+12|0;oX(n);SU(a);return}function Lpa(a){a=a|0;Kpa(a);l0a(a);return}function Mpa(b,d,e,f,i,j,k){b=b|0;d=d|0;e=e|0;f=+f;i=i|0;j=j|0;k=k|0;var m=0,n=0,o=0,p=0,q=0,r=0.0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;x=l;l=l+16|0;w=x;if((k|0)!=0?(m=y1a(k,47048,57712,0)|0,(m|0)!=0):0)v=m;else v=c[(Rla(0)|0)+160>>2]|0;if(!(a[b+53>>0]|0)){l=x;return}m=e+4|0;k=c[m>>2]|0;if((c[e>>2]|0)==(k|0)){if(!(ZQ(3)|0)){l=x;return}b=mr(lr(3)|0,180815,104)|0;BSa(w,b+(c[(c[b>>2]|0)+-12>>2]|0)|0);v=cUa(w,230580)|0;v=kk[c[(c[v>>2]|0)+28>>2]&511](v,10)|0;dUa(w);VSa(b,v)|0;HSa(b)|0;l=x;return}u=c[k+-4>>2]|0;u=gk[c[(c[u>>2]|0)+172>>2]&1023](u)|0;if(!u){if(!(ZQ(3)|0)){l=x;return}b=mr(lr(3)|0,180920,133)|0;BSa(w,b+(c[(c[b>>2]|0)+-12>>2]|0)|0);v=cUa(w,230580)|0;v=kk[c[(c[v>>2]|0)+28>>2]&511](v,10)|0;dUa(w);VSa(b,v)|0;HSa(b)|0;l=x;return}m=c[m>>2]|0;if((m|0)==(c[e>>2]|0))t=0;else{k=0;do{m=m+-4|0;t=c[m>>2]|0;if(gk[c[(c[t>>2]|0)+204>>2]&1023](t)|0)k=c[m>>2]|0}while((m|0)!=(c[e>>2]|0));t=k}if(!i){s=c[b+84>>2]|0;r=0.0}else{s=c[i+12>>2]|0;r=+h[i+16>>3]}k=c[j>>2]|0;if((k|0)!=0?(n=y1a(k,47048,58512,0)|0,(n|0)!=0):0){i=b+24|0;gk[c[(c[i>>2]|0)+8>>2]&1023](i)|0;k=n+12|0;q=(a[k>>0]|0)==0;m=ZQ(4)|0;do if(q)if(m){e=mr(lr(4)|0,181054,85)|0;BSa(w,e+(c[(c[e>>2]|0)+-12>>2]|0)|0);k=cUa(w,230580)|0;k=kk[c[(c[k>>2]|0)+28>>2]&511](k,10)|0;dUa(w);VSa(e,k)|0;HSa(e)|0;e=0;k=0;m=0}else{e=0;k=0;m=0}else{if(m){e=mr(lr(4)|0,181140,31)|0;q=a[d+11>>0]|0;p=q<<24>>24<0;q=mr(mr(e,p?c[d>>2]|0:d,p?c[d+4>>2]|0:q&255)|0,181172,28)|0;BSa(w,q+(c[(c[q>>2]|0)+-12>>2]|0)|0);p=cUa(w,230580)|0;p=kk[c[(c[p>>2]|0)+28>>2]&511](p,10)|0;dUa(w);VSa(q,p)|0;HSa(q)|0}a[k>>0]=1;k=n+44|0;c[k>>2]=s;m=n+48|0;h[m>>3]=r;e=n+56|0;g[e>>2]=f;q=n+60|0;c[q>>2]=(c[q>>2]|0)+1;if((c[(c[j>>2]|0)+8>>2]|0)==1){if(ZQ(4)|0){y=mr(lr(4)|0,181140,31)|0;q=a[d+11>>0]|0;p=q<<24>>24<0;q=mr(mr(y,p?c[d>>2]|0:d,p?c[d+4>>2]|0:q&255)|0,181201,25)|0;BSa(w,q+(c[(c[q>>2]|0)+-12>>2]|0)|0);p=cUa(w,230580)|0;p=kk[c[(c[p>>2]|0)+28>>2]&511](p,10)|0;dUa(w);VSa(q,p)|0;HSa(q)|0}c[k>>2]=s;h[m>>3]=r;g[e>>2]=f;k=Vha(u)|0;m=n+72|0;e=c[m>>2]|0;if((e|0)!=(k|0)){c[m>>2]=k;if(k|0){y=k+8|0;c[y>>2]=(c[y>>2]|0)+1}if(e|0?(q=e+8|0,y=c[q>>2]|0,c[q>>2]=y-1,(y|0)==1):0)UU(e,1,1);k=c[m>>2]|0}if(!k)k=0;else k=(c[k+24>>2]|0)==0?0:u;c[n+76>>2]=k;m=n+64|0;if(!t)k=0;else k=Vha(t)|0;e=c[m>>2]|0;if((e|0)!=(k|0)){c[m>>2]=k;if(k|0){y=k+8|0;c[y>>2]=(c[y>>2]|0)+1}do if(e|0){q=e+8|0;y=c[q>>2]|0;c[q>>2]=y-1;if((y|0)!=1)break;UU(e,1,1)}while(0);k=c[m>>2]|0}if(!k)k=0;else k=(c[k+24>>2]|0)==0?0:t;c[n+68>>2]=k;k=n+84|0;m=c[k>>2]|0;do if((m|0)!=(v|0)){c[k>>2]=v;if(v|0){y=v+8|0;c[y>>2]=(c[y>>2]|0)+1}if(!m)break;q=m+8|0;y=c[q>>2]|0;c[q>>2]=y-1;if((y|0)!=1)break;UU(m,1,1)}while(0);k=n+88|0;m=c[k>>2]|0;if(!m){e=1;k=n;m=1;break}c[k>>2]=0;q=m+8|0;y=c[q>>2]|0;c[q>>2]=y-1;if((y|0)!=1){e=1;k=n;m=1;break}UU(m,1,1);e=1;k=n;m=1}else{e=0;k=n;m=1}}while(0);gk[c[(c[i>>2]|0)+12>>2]&1023](i)|0;if(e){q=c[b+88>>2]|0;y=q+28|0;gk[c[(c[y>>2]|0)+8>>2]&1023](y)|0;Tla(q,k);gk[c[(c[y>>2]|0)+12>>2]&1023](y)|0}if(!m)o=61}else o=61;if((o|0)==61){if(ZQ(4)|0){p=mr(lr(4)|0,181227,34)|0;y=a[d+11>>0]|0;q=y<<24>>24<0;y=mr(mr(p,q?c[d>>2]|0:d,q?c[d+4>>2]|0:y&255)|0,184787,1)|0;BSa(w,y+(c[(c[y>>2]|0)+-12>>2]|0)|0);q=cUa(w,230580)|0;q=kk[c[(c[q>>2]|0)+28>>2]&511](q,10)|0;dUa(w);VSa(y,q)|0;HSa(y)|0}o=b+88|0;p=(c[o>>2]|0)+28|0;gk[c[(c[p>>2]|0)+8>>2]&1023](p)|0;y=c[j>>2]|0;if(!((y|0)!=0?(c[y+8>>2]|0)!=1:0)){q=j0a(104)|0;Uha(q,1);c[q>>2]=99160;e=q+12|0;a[e>>0]=0;i=q+16|0;k=i;m=k+84|0;do{c[k>>2]=0;k=k+4|0}while((k|0)<(m|0));a[i+84>>0]=0;n=q+8|0;c[n>>2]=(c[n>>2]|0)+1;k=c[j>>2]|0;if(((k|0)!=(q|0)?(c[j>>2]=q,c[n>>2]=(c[n>>2]|0)+1,k|0):0)?(j=k+8|0,y=c[j>>2]|0,c[j>>2]=y-1,(y|0)==1):0)UU(k,1,1);a[e>>0]=1;z0a(i,d)|0;c[q+28>>2]=s;h[q+32>>3]=r;g[q+40>>2]=f;c[q+44>>2]=s;h[q+48>>3]=r;g[q+56>>2]=f;k=Vha(u)|0;m=q+72|0;e=c[m>>2]|0;if((e|0)!=(k|0)){c[m>>2]=k;if(k|0){y=k+8|0;c[y>>2]=(c[y>>2]|0)+1}if(e|0?(j=e+8|0,y=c[j>>2]|0,c[j>>2]=y-1,(y|0)==1):0)UU(e,1,1);k=c[m>>2]|0}if(!k)k=0;else k=(c[k+24>>2]|0)==0?0:u;c[q+76>>2]=k;m=q+64|0;if(!t)k=0;else k=Vha(t)|0;e=c[m>>2]|0;if((e|0)!=(k|0)){c[m>>2]=k;if(k|0){y=k+8|0;c[y>>2]=(c[y>>2]|0)+1}do if(e|0){u=e+8|0;y=c[u>>2]|0;c[u>>2]=y-1;if((y|0)!=1)break;UU(e,1,1)}while(0);k=c[m>>2]|0}if(!k)k=0;else k=(c[k+24>>2]|0)==0?0:t;c[q+68>>2]=k;k=q+84|0;m=c[k>>2]|0;do if((m|0)!=(v|0)){c[k>>2]=v;if(v|0){y=v+8|0;c[y>>2]=(c[y>>2]|0)+1}if(!m)break;v=m+8|0;y=c[v>>2]|0;c[v>>2]=y-1;if((y|0)!=1)break;UU(m,1,1)}while(0);k=q+88|0;m=c[k>>2]|0;do if(m|0){c[k>>2]=0;v=m+8|0;y=c[v>>2]|0;c[v>>2]=y-1;if((y|0)!=1)break;UU(m,1,1)}while(0);Tla(c[o>>2]|0,q);y=c[n>>2]|0;c[n>>2]=y-1;if((y|0)==1)UU(q,1,1)}gk[c[(c[p>>2]|0)+12>>2]&1023](p)|0}i=b+36|0;if(a[i>>0]|0){l=x;return}o=b+12|0;gk[c[(c[o>>2]|0)+8>>2]&1023](o)|0;if(!(a[i>>0]|0)){if(ZQ(4)|0){y=mr(lr(4)|0,180699,28)|0;BSa(w,y+(c[(c[y>>2]|0)+-12>>2]|0)|0);v=cUa(w,230580)|0;v=kk[c[(c[v>>2]|0)+28>>2]&511](v,10)|0;dUa(w);VSa(y,v)|0;HSa(y)|0}e=b+56|0;k=c[e>>2]|0;n=b+60|0;m=c[n>>2]|0;if((k|0)==(m|0)){k=c[(c[(vt()|0)>>2]|0)+96>>2]|0;sqa(b,k,c[(c[(vt()|0)>>2]|0)+100>>2]|0);k=c[e>>2]|0;m=c[n>>2]|0}a[i>>0]=1;a[b+52>>0]=0;if((k|0)!=(m|0))do{ola((c[k>>2]|0)+12|0)|0;k=k+4|0}while((k|0)!=(c[n>>2]|0))}gk[c[(c[o>>2]|0)+12>>2]&1023](o)|0;l=x;return}function Npa(a){a=a|0;return 180801}function Opa(a){a=a|0;var b=0;b=j0a(168)|0;pqa(b,a);return b|0}function Ppa(b){b=b|0;var d=0,e=0,f=0,g=0,h=0;g=b+56|0;d=c[g>>2]|0;h=b+60|0;if((d|0)!=(c[h>>2]|0))do{c[(c[d>>2]|0)+20>>2]=1;d=d+4|0}while((d|0)!=(c[h>>2]|0));f=c[(c[b+88>>2]|0)+44>>2]|0;d=f+4|0;gk[c[(c[d>>2]|0)+8>>2]&1023](d)|0;e=f+24|0;if(!(a[e>>0]|0)){a[e>>0]=1;Eha(f+16|0)|0}gk[c[(c[d>>2]|0)+12>>2]&1023](d)|0;d=c[(c[b+92>>2]|0)+44>>2]|0;e=d+4|0;gk[c[(c[e>>2]|0)+8>>2]&1023](e)|0;f=d+24|0;if(!(a[f>>0]|0)){a[f>>0]=1;Eha(d+16|0)|0}gk[c[(c[e>>2]|0)+12>>2]&1023](e)|0;d=c[g>>2]|0;if((d|0)==(c[h>>2]|0)){h=b+52|0;a[h>>0]=1;h=b+36|0;a[h>>0]=0;return 0}do{g=c[d>>2]|0;gk[c[(c[g>>2]|0)+12>>2]&1023](g)|0;d=d+4|0}while((d|0)!=(c[h>>2]|0));h=b+52|0;a[h>>0]=1;h=b+36|0;a[h>>0]=0;return 0}function Qpa(a){a=a|0;var b=0;b=c[a+56>>2]|0;a=a+60|0;if((b|0)==(c[a>>2]|0)){a=0;return a|0}while(1){if(lla((c[b>>2]|0)+12|0)|0){b=1;a=5;break}b=b+4|0;if((b|0)==(c[a>>2]|0)){b=0;a=5;break}}if((a|0)==5)return b|0;return 0}function Rpa(a){a=a|0;oqa(c[a+88>>2]|0);oqa(c[a+92>>2]|0);oqa(c[a+96>>2]|0);oqa(c[a+100>>2]|0);a=c[a+120>>2]|0;Bk[c[(c[a>>2]|0)+16>>2]&2047](a);return}function Spa(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=l;l=l+16|0;e=i+12|0;d=i+8|0;f=i+4|0;g=i;h=a+40|0;if((h|0)!=(b|0)){c[f>>2]=c[b>>2];c[g>>2]=b+4;c[d>>2]=c[f>>2];c[e>>2]=c[g>>2];zR(h,d,e)}d=c[a+56>>2]|0;e=a+60|0;if((d|0)==(c[e>>2]|0)){l=i;return}do{kla((c[d>>2]|0)+12|0,h)|0;d=d+4|0}while((d|0)!=(c[e>>2]|0));l=i;return}function Tpa(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0;k=l;l=l+16|0;h=k;if(ZQ(4)|0){g=mr(lr(4)|0,180663,35)|0;j=a[e+11>>0]|0;i=j<<24>>24<0;j=mr(g,i?c[e>>2]|0:e,i?c[e+4>>2]|0:j&255)|0;BSa(h,j+(c[(c[j>>2]|0)+-12>>2]|0)|0);i=cUa(h,230580)|0;i=kk[c[(c[i>>2]|0)+28>>2]&511](i,10)|0;dUa(h);VSa(j,i)|0;HSa(j)|0}f=b+56|0;g=b+60|0;i=(c[g>>2]|0)-(c[f>>2]|0)>>2;m=j0a(48)|0;Tha(m);j=m+12|0;bla(j);c[m>>2]=97248;c[j>>2]=97276;c[m+20>>2]=0;a[m+24>>0]=0;c[m+28>>2]=b;c[m+32>>2]=d;t0a(m+36|0,e);kla(j,b+40|0)|0;c[h>>2]=m;d=m+8|0;c[d>>2]=(c[d>>2]|0)+1;d=c[g>>2]|0;if(d>>>0<(c[b+64>>2]|0)>>>0){e=c[h>>2]|0;c[d>>2]=e;if(e){d=e+8|0;c[d>>2]=(c[d>>2]|0)+1;d=c[g>>2]|0}c[g>>2]=d+4}else nqa(f,h);d=c[h>>2]|0;if(d|0?(g=d+8|0,m=c[g>>2]|0,c[g>>2]=m-1,(m|0)==1):0)UU(d,1,1);if(!(a[b+36>>0]|0)){l=k;return i|0}if(ZQ(4)|0){m=mr(lr(4)|0,180699,28)|0;BSa(h,m+(c[(c[m>>2]|0)+-12>>2]|0)|0);b=cUa(h,230580)|0;b=kk[c[(c[b>>2]|0)+28>>2]&511](b,10)|0;dUa(h);VSa(m,b)|0;HSa(m)|0}ola(j)|0;l=k;return i|0}function Upa(a,b){a=a|0;b=b|0;if(!b)return;mqa(c[a+96>>2]|0)|0;c[a+84>>2]=c[b+12>>2];return}function Vpa(a){a=a|0;return}function Wpa(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;f=l;l=l+96|0;e=f;if(!b){l=f;return}g=c[a+120>>2]|0;a=e+64|0;Tha(a);c[a>>2]=68320;h=e+76|0;c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;c[e+88>>2]=2;c[e+92>>2]=0;IR(e,98596,2);c[e>>2]=98620;c[a>>2]=98988;c[e+56>>2]=g;c[e+60>>2]=d;Jk[c[(c[b>>2]|0)+212>>2]&1023](b,e);Cy(e,98596);Pr(a);l=f;return}function Xpa(a,b){a=a|0;b=b|0;Jk[c[(c[a>>2]|0)+60>>2]&1023](a,b);Zpa(a,b);return}function Ypa(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,i=0.0,j=0,k=0.0,m=0,n=0,o=0,p=0,q=0.0,r=0,s=0,t=0,u=0.0,v=0,w=0,x=0,z=0,A=0,B=0;A=l;l=l+16|0;x=A+12|0;z=A;m=d+12|0;if(!(c[m>>2]|0)){l=A;return}v=gia(fia()|0)|0;w=y;t=b+120|0;g=c[t>>2]|0;g=gk[c[(c[g>>2]|0)+20>>2]&1023](g)|0;n=gia(fia()|0)|0;o=y;f=fia()|0;if(o>>>0>w>>>0|(o|0)==(w|0)&n>>>0>v>>>0){s=q2a(n|0,o|0,v|0,w|0)|0;i=+h[f+8>>3]*(+(s>>>0)+4294967296.0*+(y>>>0))}else{s=q2a(v|0,w|0,n|0,o|0)|0;i=-(+h[f+8>>3]*(+(s>>>0)+4294967296.0*+(y>>>0)))}u=i*1.0e3;h[27971]=+h[27971]+1.0;h[27972]=u+ +h[27972];if(+h[27973]<u)h[27973]=u;j=b+124|0;f=c[j>>2]|0;if(g>>>0<=f>>>0){l=A;return}f=g-f|0;c[z>>2]=z;r=z+4|0;c[r>>2]=z;s=z+8|0;c[s>>2]=0;i=+h[d+16>>3]+-.1;g=(c[m>>2]|0)+-1|0;if((f|0)>0){p=c[t>>2]|0;Mk[c[(c[p>>2]|0)+24>>2]&1](p,f,i,g,z,0)}f=c[t>>2]|0;f=gk[c[(c[f>>2]|0)+20>>2]&1023](f)|0;f=f-(c[j>>2]|0)|0;if((f|0)>0){p=c[t>>2]|0;Mk[c[(c[p>>2]|0)+24>>2]&1](p,f,i,g,z,1)}m=gia(fia()|0)|0;p=y;f=fia()|0;if(p>>>0>o>>>0|(p|0)==(o|0)&m>>>0>n>>>0){o=q2a(m|0,p|0,n|0,o|0)|0;i=+h[f+8>>3]*(+(o>>>0)+4294967296.0*+(y>>>0))}else{o=q2a(n|0,o|0,m|0,p|0)|0;i=-(+h[f+8>>3]*(+(o>>>0)+4294967296.0*+(y>>>0)))}q=i*1.0e3;h[27974]=+h[27974]+1.0;h[27975]=q+ +h[27975];if(+h[27976]<q)h[27976]=q;do if(c[s>>2]|0){if(a[b+116>>0]|0){g=b+88|0;f=(c[g>>2]|0)+28|0;gk[c[(c[f>>2]|0)+8>>2]&1023](f)|0;g=c[g>>2]|0;d=g+72|0;j=c[s>>2]|0;if(j|0){n=c[r>>2]|0;o=c[z>>2]|0;b=o+4|0;B=c[n>>2]|0;c[B+4>>2]=c[b>>2];c[c[b>>2]>>2]=B;B=c[d>>2]|0;c[B+4>>2]=n;c[n>>2]=B;c[d>>2]=o;c[b>>2]=d;b=g+80|0;c[b>>2]=(c[b>>2]|0)+j;c[s>>2]=0}Bk[c[(c[g>>2]|0)+12>>2]&2047](g);gk[c[(c[f>>2]|0)+12>>2]&1023](f)|0;break}f=c[r>>2]|0;B=(c[z>>2]|0)+4|0;b=c[f>>2]|0;c[b+4>>2]=c[B>>2];c[c[B>>2]>>2]=b;c[s>>2]=0;if((f|0)!=(z|0))do{g=f;f=c[f+4>>2]|0;d=c[g+8>>2]|0;if(d|0?(b=d+8|0,B=c[b>>2]|0,c[b>>2]=B-1,(B|0)==1):0)UU(d,1,1);l0a(g)}while((f|0)!=(z|0))}while(0);d=gia(fia()|0)|0;j=y;f=fia()|0;if(j>>>0>p>>>0|(j|0)==(p|0)&d>>>0>m>>>0){B=q2a(d|0,j|0,m|0,p|0)|0;i=+h[f+8>>3]*(+(B>>>0)+4294967296.0*+(y>>>0))}else{B=q2a(m|0,p|0,d|0,j|0)|0;i=-(+h[f+8>>3]*(+(B>>>0)+4294967296.0*+(y>>>0)))}k=i*1.0e3;h[27977]=+h[27977]+1.0;h[27978]=k+ +h[27978];if(+h[27979]<k)h[27979]=k;if(ZQ(4)|0){f=mr(lr(4)|0,180277,7)|0;g=c[t>>2]|0;g=mr(QSa(f,gk[c[(c[g>>2]|0)+20>>2]&1023](g)|0)|0,180285,11)|0;f=fia()|0;if(j>>>0>w>>>0|(j|0)==(w|0)&d>>>0>v>>>0){B=q2a(d|0,j|0,v|0,w|0)|0;i=+h[f+8>>3]*(+(B>>>0)+4294967296.0*+(y>>>0))}else{B=q2a(v|0,w|0,d|0,j|0)|0;i=-(+h[f+8>>3]*(+(B>>>0)+4294967296.0*+(y>>>0)))}B=mr(TSa(mr(TSa(g,i*1.0e3)|0,180297,3)|0,u)|0,180301,5)|0;B=mr(TSa(B,+h[27972]/+h[27971])|0,180307,7)|0;B=mr(TSa(mr(TSa(B,+h[27973])|0,180315,3)|0,q)|0,180301,5)|0;B=mr(TSa(B,+h[27975]/+h[27974])|0,180307,7)|0;B=mr(TSa(mr(TSa(B,+h[27976])|0,180319,3)|0,k)|0,180301,5)|0;B=mr(TSa(B,+h[27978]/+h[27977])|0,180307,7)|0;B=TSa(B,+h[27979])|0;BSa(x,B+(c[(c[B>>2]|0)+-12>>2]|0)|0);w=cUa(x,230580)|0;w=kk[c[(c[w>>2]|0)+28>>2]&511](w,10)|0;dUa(x);VSa(B,w)|0;HSa(B)|0}if(c[s>>2]|0?(e=c[r>>2]|0,B=(c[z>>2]|0)+4|0,x=c[e>>2]|0,c[x+4>>2]=c[B>>2],c[c[B>>2]>>2]=x,c[s>>2]=0,(e|0)!=(z|0)):0)do{f=e;e=c[e+4>>2]|0;g=c[f+8>>2]|0;if(g|0?(x=g+8|0,B=c[x>>2]|0,c[x>>2]=B-1,(B|0)==1):0)UU(g,1,1);l0a(f)}while((e|0)!=(z|0));l=A;return}function Zpa(b,d){b=b|0;d=d|0;var e=0,f=0,g=0.0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,z=0,A=0,B=0.0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0;J=l;l=l+32|0;H=J+16|0;I=J;A=J+12|0;B=+h[d+16>>3];w=c[d+12>>2]|0;D=gia(fia()|0)|0;E=y;c[I>>2]=I;F=I+4|0;c[F>>2]=I;G=I+8|0;c[G>>2]=0;d=c[b+100>>2]|0;j=d+28|0;gk[c[(c[j>>2]|0)+8>>2]&1023](j)|0;f=d+16|0;t=d+24|0;i=c[t>>2]|0;v=c[G>>2]|0;c[t>>2]=v;c[G>>2]=i;t=f;s=c[t>>2]|0;t=c[t+4>>2]|0;r=I;e=c[r+4>>2]|0;u=f;c[u>>2]=c[r>>2];c[u+4>>2]=e;u=I;c[u>>2]=s;c[u+4>>2]=t;if(!v){c[f>>2]=f;d=d+20|0}else{c[e>>2]=f;d=(c[f>>2]|0)+4|0}c[d>>2]=f;if(!i){c[I>>2]=I;d=F}else{c[c[F>>2]>>2]=I;d=(c[I>>2]|0)+4|0}c[d>>2]=I;gk[c[(c[j>>2]|0)+12>>2]&1023](j)|0;u=gia(fia()|0)|0;v=y;d=c[F>>2]|0;e=d;if((I|0)!=(e|0)){o=b+120|0;p=b+136|0;q=b+144|0;r=H+4|0;s=b+152|0;t=b+160|0;n=e;do{m=c[d+8>>2]|0;c[A>>2]=0;if((a[m+100>>0]|0)==0?Nka(m+72|0,A)|0:0){if(c[(Rla(0)|0)+236>>2]|0){f=c[(Rla(0)|0)+236>>2]|0;j=c[m+80>>2]|0;k=f+116|0;c[k>>2]=0;Jk[c[(c[j>>2]|0)+212>>2]&1023](j,f);j=f+80|0;i=f+84|0;_pa(j,c[i>>2]|0);c[f+88>>2]=0;c[j>>2]=i;c[i>>2]=0;i=f+92|0;j=f+96|0;$pa(i,c[j>>2]|0);c[f+100>>2]=0;c[i>>2]=j;c[j>>2]=0;c[k>>2]=0}d=c[A>>2]|0;do if(d){f=y1a(d,43216,46112,0)|0;if(f|0){d=gk[c[(c[f>>2]|0)+248>>2]&1023](f)|0;NU(f,d);e=f+200|0;h[(c[e>>2]|0)+(d<<6)+40>>3]=B;d=gk[c[(c[f>>2]|0)+248>>2]&1023](f)|0;NU(f,d);c[(c[e>>2]|0)+(d<<6)+48>>2]=w;d=gk[c[(c[f>>2]|0)+248>>2]&1023](f)|0;d=(c[e>>2]|0)+(d<<6)+56|0;e=c[d>>2]|0;if(!e){d=1;break}c[d>>2]=0;j=e+8|0;k=c[j>>2]|0;c[j>>2]=k-1;if((k|0)!=1){d=1;break}UU(e,1,1);d=1;break}d=y1a(d,43216,46272,0)|0;if(((d|0)!=0?(x=gk[c[(c[d>>2]|0)+248>>2]&1023](d)|0,x=(c[d+136>>2]|0)+(x<<4)+12|0,z=c[x>>2]|0,(z|0)!=0):0)?(c[x>>2]=0,j=z+8|0,k=c[j>>2]|0,c[j>>2]=k-1,(k|0)==1):0){UU(z,1,1);f=0;d=0}else{f=0;d=0}}else{f=0;d=0}while(0);j=c[A>>2]|0;k=m+80|0;kk[c[(c[j>>2]|0)+228>>2]&511](j,c[k>>2]|0)|0;if(d){i=c[o>>2]|0;j=c[(c[i>>2]|0)+36>>2]|0;c[H>>2]=0;d=Vha(f)|0;e=c[H>>2]|0;if((e|0)!=(d|0)){c[H>>2]=d;if(d|0){d=d+8|0;c[d>>2]=(c[d>>2]|0)+1}if(e|0?(K=e+8|0,d=c[K>>2]|0,c[K>>2]=d-1,(d|0)==1):0)UU(e,1,1);d=c[H>>2]|0}if(!d)d=0;else d=(c[d+24>>2]|0)==0?0:f;c[r>>2]=d;e=kk[j&511](i,H)|0;d=c[H>>2]|0;if(d|0?(j=d+8|0,K=c[j>>2]|0,c[j>>2]=K-1,(K|0)==1):0)UU(d,1,1);d=c[(c[b>>2]|0)+52>>2]|0;if(e)C=39;else Nk[d&255](b,f,w)}else{d=c[(c[b>>2]|0)+52>>2]|0;C=39}if((C|0)==39){C=0;Nk[d&255](b,c[k>>2]|0,w)}d=m+88|0;if(c[d>>2]|0?c[(Rla(0)|0)+212>>2]|0:0){K=c[(Rla(0)|0)+212>>2]|0;aqa(K,c[d>>2]|0)}g=B-+h[m+32>>3];if(g<+h[p>>3])h[p>>3]=g;if(g>+h[q>>3])h[q>>3]=g;h[s>>3]=g+ +h[s>>3];c[t>>2]=(c[t>>2]|0)+1}else C=48;if((C|0)==48?(C=0,ZQ(4)|0):0){K=mr(lr(4)|0,180323,94)|0;BSa(H,K+(c[(c[K>>2]|0)+-12>>2]|0)|0);k=cUa(H,230580)|0;k=kk[c[(c[k>>2]|0)+28>>2]&511](k,10)|0;dUa(H);VSa(K,k)|0;HSa(K)|0}d=m+80|0;e=c[d>>2]|0;if(e|0?(c[d>>2]=0,m=e+8|0,K=c[m>>2]|0,c[m>>2]=K-1,(K|0)==1):0)UU(e,1,1);d=c[A>>2]|0;if(d|0?(m=d+8|0,K=c[m>>2]|0,c[m>>2]=K-1,(K|0)==1):0)UU(d,1,1);d=c[n+4>>2]|0;n=d}while((I|0)!=(n|0))}f=gia(fia()|0)|0;i=y;if(!(c[G>>2]|0)){l=J;return}if(ZQ(4)|0){e=mr(lr(4)|0,180418,45)|0;d=fia()|0;if(v>>>0>E>>>0|(v|0)==(E|0)&u>>>0>D>>>0){K=q2a(u|0,v|0,D|0,E|0)|0;g=+h[d+8>>3]*(+(K>>>0)+4294967296.0*+(y>>>0))}else{K=q2a(D|0,E|0,u|0,v|0)|0;g=-(+h[d+8>>3]*(+(K>>>0)+4294967296.0*+(y>>>0)))}e=mr(TSa(e,g*1.0e3)|0,180464,4)|0;d=fia()|0;if(i>>>0>v>>>0|(i|0)==(v|0)&f>>>0>u>>>0){K=q2a(f|0,i|0,u|0,v|0)|0;g=+h[d+8>>3]*(+(K>>>0)+4294967296.0*+(y>>>0))}else{K=q2a(u|0,v|0,f|0,i|0)|0;g=-(+h[d+8>>3]*(+(K>>>0)+4294967296.0*+(y>>>0)))}K=mr(mr(TSa(e,g*1.0e3)|0,180469,2)|0,180472,9)|0;K=RSa(K,c[G>>2]|0)|0;BSa(H,K+(c[(c[K>>2]|0)+-12>>2]|0)|0);E=cUa(H,230580)|0;E=kk[c[(c[E>>2]|0)+28>>2]&511](E,10)|0;dUa(H);VSa(K,E)|0;HSa(K)|0;BSa(H,K+(c[(c[K>>2]|0)+-12>>2]|0)|0);E=cUa(H,230580)|0;E=kk[c[(c[E>>2]|0)+28>>2]&511](E,10)|0;dUa(H);VSa(K,E)|0;HSa(K)|0}if(!(c[G>>2]|0)){l=J;return}d=c[F>>2]|0;K=(c[I>>2]|0)+4|0;H=c[d>>2]|0;c[H+4>>2]=c[K>>2];c[c[K>>2]>>2]=H;c[G>>2]=0;if((d|0)==(I|0)){l=J;return}do{e=d;d=c[d+4>>2]|0;f=c[e+8>>2]|0;if(f|0?(H=f+8|0,K=c[H>>2]|0,c[H>>2]=K-1,(K|0)==1):0)UU(f,1,1);l0a(e)}while((d|0)!=(I|0));l=J;return}function _pa(a,b){a=a|0;b=b|0;if(!b)return;else{_pa(a,c[b>>2]|0);_pa(a,c[b+4>>2]|0);l0a(b);return}}function $pa(a,b){a=a|0;b=b|0;if(!b)return;else{$pa(a,c[b>>2]|0);$pa(a,c[b+4>>2]|0);l0a(b);return}}function aqa(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0;m=l;l=l+16|0;h=m+4|0;i=m;if((b|0)==(a|0)){l=m;return}j=a+24|0;gk[c[(c[j>>2]|0)+8>>2]&1023](j)|0;k=b+24|0;gk[c[(c[k>>2]|0)+8>>2]&1023](k)|0;if(ZQ(5)|0){g=mr(lr(5)|0,180482,38)|0;g=RSa(g,c[b+20>>2]|0)|0;BSa(h,g+(c[(c[g>>2]|0)+-12>>2]|0)|0);f=cUa(h,230580)|0;f=kk[c[(c[f>>2]|0)+28>>2]&511](f,10)|0;dUa(h);VSa(g,f)|0;HSa(g)|0}d=c[b+12>>2]|0;f=b+16|0;if((d|0)!=(f|0)){g=a+16|0;e=a+12|0;while(1){b=d+16|0;c[i>>2]=g;c[h>>2]=c[i>>2];bqa(e,h,b,b)|0;b=c[d+4>>2]|0;if(!b){a=d+8|0;b=c[a>>2]|0;if((c[b>>2]|0)!=(d|0))do{d=c[a>>2]|0;a=d+8|0;b=c[a>>2]|0}while((c[b>>2]|0)!=(d|0))}else while(1){a=c[b>>2]|0;if(!a)break;else b=a}if((b|0)==(f|0))break;else d=b}}gk[c[(c[k>>2]|0)+12>>2]&1023](k)|0;gk[c[(c[j>>2]|0)+12>>2]&1023](j)|0;l=m;return}function bqa(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,i=0,j=0;i=l;l=l+16|0;f=i+12|0;g=i+8|0;j=i;c[j>>2]=c[b>>2];c[f>>2]=c[j>>2];f=cqa(a,f,g,i+4|0,d)|0;b=c[f>>2]|0;if(b|0){j=b;l=i;return j|0}d=j0a(48)|0;t0a(d+16|0,e);b=c[e+12>>2]|0;c[d+28>>2]=b;if(b|0){j=b+8|0;c[j>>2]=(c[j>>2]|0)+1}b=c[e+16>>2]|0;c[d+32>>2]=b;if(b|0){j=b+8|0;c[j>>2]=(c[j>>2]|0)+1}h[d+40>>3]=+h[e+24>>3];b=c[g>>2]|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=b;c[f>>2]=d;b=c[c[a>>2]>>2]|0;if(!b)b=d;else{c[a>>2]=b;b=c[f>>2]|0}fp(c[a+4>>2]|0,b);j=a+8|0;c[j>>2]=(c[j>>2]|0)+1;j=d;l=i;return j|0}function cqa(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0;i=a+4|0;h=c[b>>2]|0;b=h;if((h|0)!=(i|0)?(g=h+16|0,!(tma(0,f,g)|0)):0){if(!(tma(0,g,f)|0)){c[d>>2]=b;c[e>>2]=b;d=e;return d|0}e=c[h+4>>2]|0;if(!e){g=h+8|0;e=c[g>>2]|0;if((c[e>>2]|0)!=(h|0))do{j=c[g>>2]|0;g=j+8|0;e=c[g>>2]|0}while((c[e>>2]|0)!=(j|0))}else while(1){g=c[e>>2]|0;if(!g)break;else e=g}if((e|0)!=(i|0)?!(tma(0,f,e+16|0)|0):0){b=c[i>>2]|0;if(!b){c[d>>2]=i;j=i;return j|0}g=a+4|0;while(1){e=b+16|0;if(tma(0,f,e)|0){e=c[b>>2]|0;if(!e){a=42;break}else{g=b;b=e}}else{if(!(tma(0,e,f)|0)){a=46;break}g=b+4|0;e=c[g>>2]|0;if(!e){a=45;break}else b=e}}if((a|0)==42){c[d>>2]=b;j=b;return j|0}else if((a|0)==45){c[d>>2]=b;j=g;return j|0}else if((a|0)==46){c[d>>2]=b;j=g;return j|0}}if(!(c[h+4>>2]|0)){c[d>>2]=b;j=h+4|0;return j|0}else{c[d>>2]=e;j=e;return j|0}}g=c[h>>2]|0;if((c[a>>2]|0)!=(h|0)){if(!g){b=h;do{j=b;b=c[b+8>>2]|0}while((c[b>>2]|0)==(j|0))}else{b=g;while(1){e=c[b+4>>2]|0;if(!e)break;else b=e}}if(!(tma(0,b+16|0,f)|0)){b=c[i>>2]|0;if(!b){c[d>>2]=i;j=i;return j|0}g=a+4|0;while(1){e=b+16|0;if(tma(0,f,e)|0){e=c[b>>2]|0;if(!e){a=18;break}else{g=b;b=e}}else{if(!(tma(0,e,f)|0)){a=22;break}g=b+4|0;e=c[g>>2]|0;if(!e){a=21;break}else b=e}}if((a|0)==18){c[d>>2]=b;j=b;return j|0}else if((a|0)==21){c[d>>2]=b;j=g;return j|0}else if((a|0)==22){c[d>>2]=b;j=g;return j|0}}}if(!g){c[d>>2]=h;j=h;return j|0}else{c[d>>2]=b;j=b+4|0;return j|0}return 0}function dqa(a){a=a|0;Cy(a,98596);Pr(a+64|0);return}function eqa(a){a=a|0;Cy(a,98596);Pr(a+64|0);l0a(a);return}function fqa(a){a=a|0;return 171720}function gqa(a){a=a|0;return 180521}function hqa(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=l;l=l+16|0;f=g;c[b+188>>2]=c[a+60>>2];c[f>>2]=0;e=Vha(b)|0;if((e|0)!=0?(c[f>>2]=e,d=e+8|0,c[d>>2]=(c[d>>2]|0)+1,d=c[f>>2]|0,(d|0)!=0):0)d=(c[d+24>>2]|0)==0?0:b;else d=0;c[f+4>>2]=d;e=c[a+56>>2]|0;Jk[c[(c[e>>2]|0)+32>>2]&1023](e,f);switch(c[a+16>>2]|0){case 1:{Jk[c[(c[b>>2]|0)+216>>2]&1023](b,a);break}case 0:break;default:Jk[c[(c[b>>2]|0)+220>>2]&1023](b,a)}d=c[f>>2]|0;if(!d){l=g;return}b=d+8|0;f=c[b>>2]|0;c[b>>2]=f-1;if((f|0)!=1){l=g;return}UU(d,1,1);l=g;return}function iqa(a){a=a|0;a=a+(c[(c[a>>2]|0)+-16>>2]|0)|0;Cy(a,98596);Pr(a+64|0);return}function jqa(a){a=a|0;a=a+(c[(c[a>>2]|0)+-16>>2]|0)|0;Cy(a,98596);Pr(a+64|0);l0a(a);return}function kqa(a){a=a|0;return 171720}function lqa(a){a=a|0;return 180521}function mqa(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0;q=l;l=l+16|0;i=q;n=b+28|0;gk[c[(c[n>>2]|0)+8>>2]&1023](n)|0;o=b+12|0;p=c[(c[o>>2]|0)+84>>2]|0;j=b+40|0;if((c[j>>2]|0)==(p|0)){p=b+24|0;p=c[p>>2]|0;o=c[n>>2]|0;o=o+12|0;o=c[o>>2]|0;gk[o&1023](n)|0;p=(p|0)==0;l=q;return p|0}d=c[b+20>>2]|0;k=b+16|0;e=d;if((k|0)!=(e|0)){m=b+24|0;do{h=(c[o>>2]|0)+24|0;gk[c[(c[h>>2]|0)+8>>2]&1023](h)|0;f=d+8|0;g=c[f>>2]|0;if((a[g+12>>0]|0)!=0?(p-(c[g+44>>2]|0)|0)>>>0<2:0)d=c[e+4>>2]|0;else{Bla(b,g);if(ZQ(4)|0){g=mr(lr(4)|0,180590,72)|0;g=USa(g,c[f>>2]|0)|0;BSa(i,g+(c[(c[g>>2]|0)+-12>>2]|0)|0);f=cUa(i,230580)|0;f=kk[c[(c[f>>2]|0)+28>>2]&511](f,10)|0;dUa(i);VSa(g,f)|0;HSa(g)|0}g=e+4|0;f=c[g>>2]|0;r=c[e>>2]|0;c[r+4>>2]=f;c[c[g>>2]>>2]=r;c[m>>2]=(c[m>>2]|0)+-1;e=c[e+8>>2]|0;if(e|0?(g=e+8|0,r=c[g>>2]|0,c[g>>2]=r-1,(r|0)==1):0)UU(e,1,1);l0a(d);d=f}gk[c[(c[h>>2]|0)+12>>2]&1023](h)|0;e=d}while((k|0)!=(e|0))}c[j>>2]=p;Bk[c[(c[b>>2]|0)+12>>2]&2047](b);r=b+24|0;r=c[r>>2]|0;p=c[n>>2]|0;p=p+12|0;p=c[p>>2]|0;gk[p&1023](n)|0;r=(r|0)==0;l=q;return r|0}function nqa(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;m=a+4|0;d=c[m>>2]|0;e=c[a>>2]|0;i=d-e>>2;f=i+1|0;g=e;if(f>>>0>1073741823)g1a(a);l=a+8|0;j=(c[l>>2]|0)-e|0;k=j>>1;f=j>>2>>>0<536870911?(k>>>0<f>>>0?f:k):1073741823;do if(f)if(f>>>0>1073741823){m=db(8)|0;p0a(m,183738);c[m>>2]=110936;hb(m|0,65952,1066)}else{j=j0a(f<<2)|0;break}else j=0;while(0);e=j+(i<<2)|0;k=j+(f<<2)|0;f=c[b>>2]|0;c[e>>2]=f;if(f){g=f+8|0;c[g>>2]=(c[g>>2]|0)+1;g=c[a>>2]|0;d=c[m>>2]|0}h=e+4|0;f=g;if((d|0)==(g|0))b=f;else{b=i+-1-((d+-4-f|0)>>>2)|0;while(1){d=d+-4|0;f=c[d>>2]|0;c[e+-4>>2]=f;if(f|0){i=f+8|0;c[i>>2]=(c[i>>2]|0)+1}if((d|0)==(g|0))break;else e=e+-4|0}e=j+(b<<2)|0;b=c[a>>2]|0;d=c[m>>2]|0}c[a>>2]=e;c[m>>2]=h;c[l>>2]=k;f=b;if((d|0)!=(f|0))do{d=d+-4|0;e=c[d>>2]|0;if(e|0?(l=e+8|0,m=c[l>>2]|0,c[l>>2]=m-1,(m|0)==1):0)UU(e,1,1);c[d>>2]=0}while((d|0)!=(f|0));if(!b)return;l0a(b);return}function oqa(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;h=a+28|0;gk[c[(c[h>>2]|0)+8>>2]&1023](h)|0;i=a+16|0;g=a+20|0;d=c[g>>2]|0;e=d;if((i|0)!=(e|0)){f=a+12|0;do{j=(c[f>>2]|0)+24|0;gk[c[(c[j>>2]|0)+8>>2]&1023](j)|0;Bla(a,c[d+8>>2]|0);gk[c[(c[j>>2]|0)+12>>2]&1023](j)|0;d=c[e+4>>2]|0;e=d}while((i|0)!=(e|0))}d=a+24|0;if(c[d>>2]|0?(b=c[g>>2]|0,j=(c[i>>2]|0)+4|0,g=c[b>>2]|0,c[g+4>>2]=c[j>>2],c[c[j>>2]>>2]=g,c[d>>2]=0,(b|0)!=(i|0)):0)do{d=b;b=c[b+4>>2]|0;e=c[d+8>>2]|0;if(e|0?(g=e+8|0,j=c[g>>2]|0,c[g>>2]=j-1,(j|0)==1):0)UU(e,1,1);l0a(d)}while((b|0)!=(i|0));c[a+40>>2]=c[(c[a+12>>2]|0)+84>>2];Bk[c[(c[a>>2]|0)+12>>2]&2047](a);gk[c[(c[h>>2]|0)+12>>2]&1023](h)|0;return}function pqa(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;u=l;l=l+16|0;r=u;Uha(b,1);c[b>>2]=98528;xla(b+12|0,0);xla(b+24|0,0);c[b+44>>2]=0;c[b+48>>2]=0;c[b+40>>2]=b+44;s=b+56|0;c[s>>2]=0;p=b+60|0;c[p>>2]=0;q=b+64|0;c[q>>2]=0;xla(b+72|0,0);e=b+84|0;c[e>>2]=0;k=b+88|0;m=b+92|0;n=b+96|0;o=b+100|0;t=b+120|0;c[t>>2]=0;c[b+132>>2]=0;f=b+164|0;c[f>>2]=0;c[k>>2]=0;c[k+4>>2]=0;c[k+8>>2]=0;c[k+12>>2]=0;g=j0a(32)|0;Tha(g);i=g+12|0;c[i>>2]=0;c[i+4>>2]=0;c[i+8>>2]=0;c[g+24>>2]=2;c[g+28>>2]=0;c[g>>2]=96960;i=c[f>>2]|0;if(((i|0)!=(g|0)?(c[f>>2]=g,j=g+8|0,c[j>>2]=(c[j>>2]|0)+1,i|0):0)?(g=i+8|0,j=c[g>>2]|0,c[g>>2]=j-1,(j|0)==1):0)UU(i,1,1);pK(c[f>>2]|0,180728);a[b+36>>0]=0;a[b+52>>0]=0;a[b+53>>0]=1;a[b+54>>0]=0;c[b+68>>2]=0;c[e>>2]=0;c[b+104>>2]=c[d+104>>2];a[b+108>>0]=a[d+108>>0]|0;a[b+109>>0]=a[d+109>>0]|0;a[b+110>>0]=a[d+110>>0]|0;a[b+111>>0]=a[d+111>>0]|0;c[b+112>>2]=c[d+112>>2];a[b+116>>0]=a[d+116>>0]|0;c[b+124>>2]=c[d+124>>2];a[b+128>>0]=a[d+128>>0]|0;f=j0a(84)|0;c[r>>2]=0;c[r+4>>2]=0;c[r+8>>2]=0;e=j0a(32)|0;c[r>>2]=e;c[r+8>>2]=-2147483616;c[r+4>>2]=16;g=e;i=180767;j=g+16|0;do{a[g>>0]=a[i>>0]|0;g=g+1|0;i=i+1|0}while((g|0)<(j|0));a[e+16>>0]=0;qqa(f,b,r);e=c[k>>2]|0;if(((e|0)!=(f|0)?(c[k>>2]=f,k=f+8|0,c[k>>2]=(c[k>>2]|0)+1,e|0):0)?(j=e+8|0,k=c[j>>2]|0,c[j>>2]=k-1,(k|0)==1):0)UU(e,1,1);if((a[r+11>>0]|0)<0)l0a(c[r>>2]|0);f=j0a(84)|0;c[r>>2]=0;c[r+4>>2]=0;c[r+8>>2]=0;e=j0a(32)|0;c[r>>2]=e;c[r+8>>2]=-2147483616;c[r+4>>2]=16;g=e;i=180784;j=g+16|0;do{a[g>>0]=a[i>>0]|0;g=g+1|0;i=i+1|0}while((g|0)<(j|0));a[e+16>>0]=0;qqa(f,b,r);e=c[m>>2]|0;if(((e|0)!=(f|0)?(c[m>>2]=f,m=f+8|0,c[m>>2]=(c[m>>2]|0)+1,e|0):0)?(k=e+8|0,m=c[k>>2]|0,c[k>>2]=m-1,(m|0)==1):0)UU(e,1,1);if((a[r+11>>0]|0)<0)l0a(c[r>>2]|0);e=j0a(44)|0;rqa(e,b);f=c[n>>2]|0;if(((f|0)!=(e|0)?(c[n>>2]=e,n=e+8|0,c[n>>2]=(c[n>>2]|0)+1,f|0):0)?(m=f+8|0,n=c[m>>2]|0,c[m>>2]=n-1,(n|0)==1):0)UU(f,1,1);e=j0a(44)|0;rqa(e,b);f=c[o>>2]|0;if(((f|0)!=(e|0)?(c[o>>2]=e,o=e+8|0,c[o>>2]=(c[o>>2]|0)+1,f|0):0)?(n=f+8|0,o=c[n>>2]|0,c[n>>2]=o-1,(o|0)==1):0)UU(f,1,1);e=c[d+56>>2]|0;i=d+60|0;if((e|0)!=(c[i>>2]|0))do{f=j0a(48)|0;o=c[e>>2]|0;Tha(f);n=f+12|0;bla(n);c[f>>2]=97248;c[n>>2]=97276;c[f+20>>2]=0;a[f+24>>0]=0;c[f+28>>2]=b;c[f+32>>2]=c[o+32>>2];t0a(f+36|0,o+36|0);c[r>>2]=f;f=f+8|0;c[f>>2]=(c[f>>2]|0)+1;f=c[p>>2]|0;if(f>>>0<(c[q>>2]|0)>>>0){g=c[r>>2]|0;c[f>>2]=g;if(g){f=g+8|0;c[f>>2]=(c[f>>2]|0)+1;f=c[p>>2]|0}c[p>>2]=f+4}else nqa(s,r);f=c[r>>2]|0;if(f|0?(n=f+8|0,o=c[n>>2]|0,c[n>>2]=o-1,(o|0)==1):0)UU(f,1,1);e=e+4|0}while((e|0)!=(c[i>>2]|0));Jk[c[(c[b>>2]|0)+36>>2]&1023](b,d+40|0);e=c[d+120>>2]|0;e=gk[c[(c[e>>2]|0)+12>>2]&1023](e)|0;f=c[t>>2]|0;if((f|0)==(e|0)){iS(100);t=b+136|0;h[t>>3]=1797693134862315708145274.0e284;t=b+144|0;h[t>>3]=-1797693134862315708145274.0e284;t=b+152|0;h[t>>3]=0.0;t=b+160|0;c[t>>2]=0;l=u;return}c[t>>2]=e;if(e|0){t=e+8|0;c[t>>2]=(c[t>>2]|0)+1}if(!f){iS(100);t=b+136|0;h[t>>3]=1797693134862315708145274.0e284;t=b+144|0;h[t>>3]=-1797693134862315708145274.0e284;t=b+152|0;h[t>>3]=0.0;t=b+160|0;c[t>>2]=0;l=u;return}s=f+8|0;t=c[s>>2]|0;c[s>>2]=t-1;if((t|0)!=1){iS(100);t=b+136|0;h[t>>3]=1797693134862315708145274.0e284;t=b+144|0;h[t>>3]=-1797693134862315708145274.0e284;t=b+152|0;h[t>>3]=0.0;t=b+160|0;c[t>>2]=0;l=u;return}UU(f,1,1);iS(100);t=b+136|0;h[t>>3]=1797693134862315708145274.0e284;t=b+144|0;h[t>>3]=-1797693134862315708145274.0e284;t=b+152|0;h[t>>3]=0.0;t=b+160|0;c[t>>2]=0;l=u;return}function qqa(b,d,e){b=b|0;d=d|0;e=e|0;var f=0;rqa(b,d);c[b>>2]=97224;f=b+44|0;c[f>>2]=0;t0a(b+48|0,e);xla(b+60|0,0);d=b+72|0;c[d>>2]=d;c[b+76>>2]=d;c[b+80>>2]=0;b=j0a(40)|0;d=b+28|0;Uha(d,1);xla(b+4|0,0);wla(b+16|0);a[b+24>>0]=0;c[b>>2]=81364;c[d>>2]=81388;d=c[f>>2]|0;if((d|0)==(b|0))return;c[f>>2]=b;f=b+36|0;c[f>>2]=(c[f>>2]|0)+1;if(!d)return;d=d+(c[(c[d>>2]|0)+-12>>2]|0)|0;e=d+8|0;f=c[e>>2]|0;c[e>>2]=f-1;if((f|0)!=1)return;UU(d,1,1);return}function rqa(a,b){a=a|0;b=b|0;Tha(a);c[a>>2]=97200;c[a+12>>2]=b;b=a+16|0;c[b>>2]=b;c[a+20>>2]=b;c[a+24>>2]=0;xla(a+28|0,0);c[a+40>>2]=-1;return}function sqa(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0;q=l;l=l+16|0;p=q;h=c[b+56>>2]|0;i=b+60|0;f=c[i>>2]|0;if((f|0)!=(h|0))do{f=f+-4|0;g=c[f>>2]|0;if(g|0?(n=g+8|0,o=c[n>>2]|0,c[n>>2]=o-1,(o|0)==1):0)UU(g,1,1);c[f>>2]=0}while((f|0)!=(h|0));c[i>>2]=h;k=d>>>0>e>>>0?d-e|0:1;f=(k|0)!=0;if(!e){if(!f){l=q;return}g=p+8|0;d=p+4|0;h=p+11|0;f=0;do{i=c[(c[b>>2]|0)+40>>2]|0;j=j0a(32)|0;c[p>>2]=j;c[g>>2]=-2147483616;c[d>>2]=19;m=j;n=181262;o=m+19|0;do{a[m>>0]=a[n>>0]|0;m=m+1|0;n=n+1|0}while((m|0)<(o|0));a[j+19>>0]=0;lk[i&127](b,0,p)|0;if((a[h>>0]|0)<0)l0a(c[p>>2]|0);f=f+1|0}while(f>>>0<k>>>0);l=q;return}if(f){g=p+8|0;d=p+4|0;h=p+11|0;f=0;do{i=c[(c[b>>2]|0)+40>>2]|0;j=j0a(16)|0;c[p>>2]=j;c[g>>2]=-2147483632;c[d>>2]=15;m=j;n=181282;o=m+15|0;do{a[m>>0]=a[n>>0]|0;m=m+1|0;n=n+1|0}while((m|0)<(o|0));a[j+15>>0]=0;lk[i&127](b,1,p)|0;if((a[h>>0]|0)<0)l0a(c[p>>2]|0);f=f+1|0}while(f>>>0<k>>>0)}g=p+8|0;d=p+4|0;h=p+11|0;f=0;do{i=c[(c[b>>2]|0)+40>>2]|0;j=j0a(32)|0;c[p>>2]=j;c[g>>2]=-2147483616;c[d>>2]=16;m=j;n=181298;o=m+16|0;do{a[m>>0]=a[n>>0]|0;m=m+1|0;n=n+1|0}while((m|0)<(o|0));a[j+16>>0]=0;lk[i&127](b,2,p)|0;if((a[h>>0]|0)<0)l0a(c[p>>2]|0);f=f+1|0}while(f>>>0<e>>>0);l=q;return}function tqa(b){b=b|0;var d=0,e=0,f=0,g=0;c[b>>2]=99160;d=b+92|0;e=c[d>>2]|0;if(e|0?(g=e+8|0,f=c[g>>2]|0,c[g>>2]=f-1,(f|0)==1):0)UU(e,1,1);c[d>>2]=0;d=b+88|0;e=c[d>>2]|0;if(e|0?(f=e+8|0,g=c[f>>2]|0,c[f>>2]=g-1,(g|0)==1):0)UU(e,1,1);c[d>>2]=0;d=b+84|0;e=c[d>>2]|0;if(e|0?(f=e+8|0,g=c[f>>2]|0,c[f>>2]=g-1,(g|0)==1):0)UU(e,1,1);c[d>>2]=0;d=b+80|0;e=c[d>>2]|0;if(e|0?(f=e+8|0,g=c[f>>2]|0,c[f>>2]=g-1,(g|0)==1):0)UU(e,1,1);c[d>>2]=0;d=b+72|0;e=c[d>>2]|0;if(e|0?(f=e+8|0,g=c[f>>2]|0,c[f>>2]=g-1,(g|0)==1):0)UU(e,1,1);c[d>>2]=0;d=b+64|0;e=c[d>>2]|0;if(e|0?(f=e+8|0,g=c[f>>2]|0,c[f>>2]=g-1,(g|0)==1):0)UU(e,1,1);c[d>>2]=0;d=b+16|0;if((a[d+11>>0]|0)>=0){SU(b);return}l0a(c[d>>2]|0);SU(b);return}function uqa(a){a=a|0;tqa(a);l0a(a);return}function vqa(a){a=a|0;var b=0,d=0,e=0;b=c[a>>2]|0;if(!b){c[a>>2]=0;return}b=b+(c[(c[b>>2]|0)+-12>>2]|0)|0;e=b+8|0;d=c[e>>2]|0;c[e>>2]=d-1;if((d|0)!=1){c[a>>2]=0;return}UU(b,1,1);c[a>>2]=0;return}function wqa(a){a=a|0;var b=0,d=0,e=0;b=c[a>>2]|0;if(b|0?(e=b+8|0,d=c[e>>2]|0,c[e>>2]=d-1,(d|0)==1):0)UU(b,1,1);c[a>>2]=0;return}function xqa(a){a=a|0;var b=0,d=0,e=0;b=c[a>>2]|0;if(b|0?(e=b+8|0,d=c[e>>2]|0,c[e>>2]=d-1,(d|0)==1):0)UU(b,1,1);c[a>>2]=0;return}function yqa(a){a=a|0;var b=0,d=0,e=0;b=c[a>>2]|0;if(b|0?(e=b+8|0,d=c[e>>2]|0,c[e>>2]=d-1,(d|0)==1):0)UU(b,1,1);c[a>>2]=0;return}function zqa(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;e=c[a>>2]|0;if(!e)return;f=a+4|0;b=c[f>>2]|0;if((b|0)==(e|0))b=e;else{do{b=b+-4|0;d=c[b>>2]|0;if(d|0?(h=d+8|0,g=c[h>>2]|0,c[h>>2]=g-1,(g|0)==1):0)UU(d,1,1);c[b>>2]=0}while((b|0)!=(e|0));b=c[a>>2]|0}c[f>>2]=e;l0a(b);return}function Aqa(b){b=b|0;var d=0,e=0;c[b>>2]=99180;d=b+12|0;c[d>>2]=99208;e=b+32|0;if((a[e+11>>0]|0)<0)l0a(c[e>>2]|0);pha(d);SU(b);return}function Bqa(b){b=b|0;var d=0,e=0;c[b>>2]=99180;d=b+12|0;c[d>>2]=99208;e=b+32|0;if((a[e+11>>0]|0)<0)l0a(c[e>>2]|0);pha(d);SU(b);l0a(b);return}function Cqa(b){b=b|0;var d=0,e=0,f=0;f=b+12|0;if(!(lla(f)|0))return 0;a[b+20>>0]=1;switch(c[b+24>>2]|0){case 0:{b=c[(c[(c[b+28>>2]|0)+44>>2]|0)+36>>2]|0;d=b+4|0;gk[c[(c[d>>2]|0)+8>>2]&1023](d)|0;e=b+24|0;if(!(a[e>>0]|0)){a[e>>0]=1;Eha(b+16|0)|0}gk[c[(c[d>>2]|0)+12>>2]&1023](d)|0;break}case 1:{b=c[(c[(c[b+28>>2]|0)+44>>2]|0)+36>>2]|0;d=b+4|0;gk[c[(c[d>>2]|0)+8>>2]&1023](d)|0;e=b+24|0;if(!(a[e>>0]|0)){a[e>>0]=1;Eha(b+16|0)|0}gk[c[(c[d>>2]|0)+12>>2]&1023](d)|0;break}case 2:{b=c[(c[(c[b+28>>2]|0)+44>>2]|0)+36>>2]|0;d=b+4|0;gk[c[(c[d>>2]|0)+8>>2]&1023](d)|0;e=b+24|0;if(!(a[e>>0]|0)){a[e>>0]=1;Eha(b+16|0)|0}gk[c[(c[d>>2]|0)+12>>2]&1023](d)|0;break}default:{}}hla(f)|0;return 0}function Dqa(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0;r=l;l=l+16|0;m=r+4|0;n=r;if(ZQ(4)|0){k=USa(mr(lr(4)|0,181424,31)|0,b)|0;BSa(m,k+(c[(c[k>>2]|0)+-12>>2]|0)|0);j=cUa(m,230580)|0;j=kk[c[(c[j>>2]|0)+28>>2]&511](j,10)|0;dUa(m);VSa(k,j)|0;HSa(k)|0}switch(c[b+24>>2]|0){case 0:{d=b+28|0;e=c[(c[d>>2]|0)+44>>2]|0;if(!e)e=0;else{k=e+8|0;c[k>>2]=(c[k>>2]|0)+1}break}case 1:{d=b+28|0;e=c[(c[d>>2]|0)+44>>2]|0;if(!e)e=0;else{k=e+8|0;c[k>>2]=(c[k>>2]|0)+1}break}case 2:{d=b+28|0;e=c[(c[d>>2]|0)+44>>2]|0;if(!e)e=0;else{k=e+8|0;c[k>>2]=(c[k>>2]|0)+1}break}default:{d=b+28|0;e=0}}j=e+36|0;k=b+12|0;i=b+20|0;do{b=c[j>>2]|0;f=b+4|0;gk[c[(c[f>>2]|0)+8>>2]&1023](f)|0;if(!(a[b+24>>0]|0))Bha(b+16|0,f)|0;gk[c[(c[f>>2]|0)+12>>2]&1023](f)|0;c[m>>2]=0;Iqa(e,m);b=c[m>>2]|0;if(b|0){Jqa(n,b+24|0,c[b+60>>2]|0);b=c[n>>2]|0;do if(b|0){f=c[m>>2]|0;h=c[f+40>>2]|0;do if((((h|0)!=0?(c[h+24>>2]|0)!=0:0)?(o=c[f+44>>2]|0,(o|0)!=0):0)?(p=y1a(o,42800,45232,0)|0,(p|0)!=0):0){f=c[f+48>>2]|0;if((f|0)>-1){eU(p,f,b);break}else{fU(p,b);break}}else q=23;while(0);if((q|0)==23){q=0;f=f+52|0;g=c[f>>2]|0;if(((g|0)!=(b|0)?(c[f>>2]=b,h=b+8|0,c[h>>2]=(c[h>>2]|0)+1,g|0):0)?(f=g+8|0,h=c[f>>2]|0,c[f>>2]=h-1,(h|0)==1):0)UU(g,1,1);h=(c[(c[d>>2]|0)+60>>2]|0)+24|0;gk[c[(c[h>>2]|0)+8>>2]&1023](h)|0;f=c[(c[d>>2]|0)+60>>2]|0;g=f+16|0;b=c[g>>2]|0;if((b|0)==(c[f+20>>2]|0))Kqa(f+12|0,m);else{f=c[m>>2]|0;c[b>>2]=f;if(f){b=f+8|0;c[b>>2]=(c[b>>2]|0)+1;b=c[g>>2]|0}c[g>>2]=b+4}gk[c[(c[h>>2]|0)+12>>2]&1023](h)|0;b=c[n>>2]|0;if(!b)break}g=b+8|0;h=c[g>>2]|0;c[g>>2]=h-1;if((h|0)==1)UU(b,1,1)}while(0)}b=c[m>>2]|0;if(b|0?(g=b+8|0,h=c[g>>2]|0,c[g>>2]=h-1,(h|0)==1):0)UU(b,1,1);if(pla(k)|0)break}while(!(a[i>>0]|0));if(ZQ(4)|0){q=mr(lr(4)|0,181456,31)|0;BSa(m,q+(c[(c[q>>2]|0)+-12>>2]|0)|0);p=cUa(m,230580)|0;p=kk[c[(c[p>>2]|0)+28>>2]&511](p,10)|0;dUa(m);VSa(q,p)|0;HSa(q)|0}if(!e){l=r;return}p=e+8|0;q=c[p>>2]|0;c[p>>2]=q-1;if((q|0)!=1){l=r;return}UU(e,1,1);l=r;return}function Eqa(b){b=b|0;var d=0,e=0;b=b+-12|0;c[b>>2]=99180;d=b+12|0;c[d>>2]=99208;e=b+32|0;if((a[e+11>>0]|0)<0)l0a(c[e>>2]|0);pha(d);SU(b);return}function Fqa(b){b=b|0;var d=0,e=0;b=b+-12|0;c[b>>2]=99180;d=b+12|0;c[d>>2]=99208;e=b+32|0;if((a[e+11>>0]|0)<0)l0a(c[e>>2]|0);pha(d);SU(b);l0a(b);return}function Gqa(a){a=a|0;Cqa(a+-12|0)|0;return 0}function Hqa(a){a=a|0;Dqa(a+-12|0);return}function Iqa(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0;o=l;l=l+16|0;g=o;n=b+24|0;gk[c[(c[n>>2]|0)+8>>2]&1023](n)|0;i=b+12|0;h=c[i>>2]|0;k=b+16|0;f=c[k>>2]|0;if((h|0)==(f|0)){m=c[n>>2]|0;m=m+12|0;m=c[m>>2]|0;gk[m&1023](n)|0;l=o;return}m=b+12|0;Lqa(h,f,g);if(ZQ(4)|0){h=mr(lr(4)|0,181508,45)|0;h=RSa(h,(c[k>>2]|0)-(c[i>>2]|0)>>2)|0;BSa(g,h+(c[(c[h>>2]|0)+-12>>2]|0)|0);f=cUa(g,230580)|0;f=kk[c[(c[f>>2]|0)+28>>2]&511](f,10)|0;dUa(g);VSa(h,f)|0;HSa(h)|0}f=c[e>>2]|0;g=c[c[i>>2]>>2]|0;if((f|0)!=(g|0)){c[e>>2]=g;if(g|0){h=g+8|0;c[h>>2]=(c[h>>2]|0)+1}if(f|0?(g=f+8|0,h=c[g>>2]|0,c[g>>2]=h-1,(h|0)==1):0)UU(f,1,1)}c[(c[e>>2]|0)+56>>2]=0;g=c[i>>2]|0;f=g+4|0;i=c[k>>2]|0;if((f|0)!=(i|0)){do{h=c[g>>2]|0;e=c[f>>2]|0;if((h|0)!=(e|0)){c[g>>2]=e;if(e|0){e=e+8|0;c[e>>2]=(c[e>>2]|0)+1}if(h|0?(p=h+8|0,e=c[p>>2]|0,c[p>>2]=e-1,(e|0)==1):0)UU(h,1,1)}f=f+4|0;g=g+4|0}while((f|0)!=(i|0));f=c[k>>2]|0;if((f|0)==(g|0))f=g;else{h=g;j=20}}else{h=g;j=20}if((j|0)==20){do{f=f+-4|0;g=c[f>>2]|0;if(g|0?(j=g+8|0,p=c[j>>2]|0,c[j>>2]=p-1,(p|0)==1):0)UU(g,1,1);c[f>>2]=0}while((f|0)!=(h|0));f=h}c[k>>2]=f;h=c[b+36>>2]|0;e=h+4|0;if((c[m>>2]|0)==(f|0))f=0;else f=(a[(c[b+40>>2]|0)+26>>0]|0)==0;g=h+24|0;if((f&1|0)==(d[g>>0]|0)){p=c[n>>2]|0;p=p+12|0;p=c[p>>2]|0;gk[p&1023](n)|0;l=o;return}gk[c[(c[e>>2]|0)+8>>2]&1023](e)|0;if(!f){a[g>>0]=0;gk[c[(c[e>>2]|0)+12>>2]&1023](e)|0;p=c[n>>2]|0;p=p+12|0;p=c[p>>2]|0;gk[p&1023](n)|0;l=o;return}if(!(a[g>>0]|0)){a[g>>0]=1;Eha(h+16|0)|0}gk[c[(c[e>>2]|0)+12>>2]&1023](e)|0;p=c[n>>2]|0;p=p+12|0;p=c[p>>2]|0;gk[p&1023](n)|0;l=o;return}function Jqa(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0;n=l;l=l+48|0;j=n+32|0;m=n+12|0;k=n;h=Rla(0)|0;if((e|0)!=0?(f=c[e+116>>2]|0,(f|0)!=0):0)Qk[c[(c[f>>2]|0)+8>>2]&127](m,f,d,e);else g=4;do if((g|0)==4){f=c[h+48>>2]|0;if(!f){epa(m,h,d,e);break}else{Qk[c[(c[f>>2]|0)+8>>2]&127](m,f,d,e);break}}while(0);g=m+16|0;f=c[g>>2]|0;if((f|0)!=0?(i=y1a(f,42800,43968,0)|0,(i|0)!=0):0){c[b>>2]=i;k=i+8|0;c[k>>2]=(c[k>>2]|0)+1}else{if(((c[m>>2]|1|0)!=5?ZQ(2)|0:0)?(h=mr(lr(2)|0,181488,19)|0,e=a[d+11>>0]|0,i=e<<24>>24<0,e=mr(mr(h,i?c[d>>2]|0:d,i?c[d+4>>2]|0:e&255)|0,179162,2)|0,Wla(k,m),i=k+11|0,d=a[i>>0]|0,h=d<<24>>24<0,d=mr(e,h?c[k>>2]|0:k,h?c[k+4>>2]|0:d&255)|0,BSa(j,d+(c[(c[d>>2]|0)+-12>>2]|0)|0),h=cUa(j,230580)|0,h=kk[c[(c[h>>2]|0)+28>>2]&511](h,10)|0,dUa(j),VSa(d,h)|0,HSa(d)|0,(a[i>>0]|0)<0):0)l0a(c[k>>2]|0);c[b>>2]=0}f=c[g>>2]|0;if(f|0?(j=f+8|0,k=c[j>>2]|0,c[j>>2]=k-1,(k|0)==1):0)UU(f,1,1);c[g>>2]=0;f=m+4|0;if((a[f+11>>0]|0)>=0){l=n;return}l0a(c[f>>2]|0);l=n;return}function Kqa(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;m=a+4|0;d=c[m>>2]|0;e=c[a>>2]|0;i=d-e>>2;f=i+1|0;g=e;if(f>>>0>1073741823)g1a(a);l=a+8|0;j=(c[l>>2]|0)-e|0;k=j>>1;f=j>>2>>>0<536870911?(k>>>0<f>>>0?f:k):1073741823;do if(f)if(f>>>0>1073741823){m=db(8)|0;p0a(m,183738);c[m>>2]=110936;hb(m|0,65952,1066)}else{j=j0a(f<<2)|0;break}else j=0;while(0);e=j+(i<<2)|0;k=j+(f<<2)|0;f=c[b>>2]|0;c[e>>2]=f;if(f){g=f+8|0;c[g>>2]=(c[g>>2]|0)+1;g=c[a>>2]|0;d=c[m>>2]|0}h=e+4|0;f=g;if((d|0)==(g|0))b=f;else{b=i+-1-((d+-4-f|0)>>>2)|0;while(1){d=d+-4|0;f=c[d>>2]|0;c[e+-4>>2]=f;if(f|0){i=f+8|0;c[i>>2]=(c[i>>2]|0)+1}if((d|0)==(g|0))break;else e=e+-4|0}e=j+(b<<2)|0;b=c[a>>2]|0;d=c[m>>2]|0}c[a>>2]=e;c[m>>2]=h;c[l>>2]=k;f=b;if((d|0)!=(f|0))do{d=d+-4|0;e=c[d>>2]|0;if(e|0?(l=e+8|0,m=c[l>>2]|0,c[l>>2]=m-1,(m|0)==1):0)UU(e,1,1);c[d>>2]=0}while((d|0)!=(f|0));if(!b)return;l0a(b);return}function Lqa(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0.0,g=0,i=0,j=0,k=0.0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0.0;a:while(1){o=b;g=b+-4|0;p=b+-8|0;q=b;t=a;b:while(1){a=o-t|0;e=a>>2;switch(e|0){case 2:{l=4;break a}case 3:{l=6;break a}case 4:{l=14;break a}case 5:{l=26;break a}case 1:case 0:{l=79;break a}default:{}}if((a|0)<28){l=28;break a}n=t+(((e|0)/2|0)<<2)|0;do if((a|0)<=3996){e=c[n>>2]|0;k=+h[e+16>>3];j=c[t>>2]|0;f=+h[j+16>>3];i=c[g>>2]|0;a=+h[i+16>>3]<k;if(!(k<f)){if(!a){a=0;e=n;m=t;break}c[n>>2]=i;c[g>>2]=e;a=c[n>>2]|0;e=c[t>>2]|0;if(!(+h[a+16>>3]<+h[e+16>>3])){a=1;e=n;m=t;break}c[t>>2]=a;c[n>>2]=e;a=2;e=n;m=t;break}if(a){c[t>>2]=i;c[g>>2]=j;a=1;e=n;m=t;break}c[t>>2]=e;c[n>>2]=j;a=c[g>>2]|0;if(+h[a+16>>3]<f){c[n>>2]=a;c[g>>2]=j;a=2;e=n;m=t}else{a=1;e=n;m=t}}else{a=(e|0)/4|0;a=Mqa(t,t+(a<<2)|0,n,n+(a<<2)|0,g,d)|0;e=n;m=t}while(0);j=c[m>>2]|0;k=+h[j+16>>3];f=+h[(c[e>>2]|0)+16>>3];if(k<f)e=g;else{if((t|0)==(p|0)){l=43;break}e=p;while(1){i=c[e>>2]|0;if(+h[i+16>>3]<f)break;e=e+-4|0;if((t|0)==(e|0)){l=43;break b}}c[t>>2]=i;c[e>>2]=j;a=a+1|0}i=t+4|0;c:do if(i>>>0<e>>>0)while(1){f=+h[(c[n>>2]|0)+16>>3];while(1){j=c[i>>2]|0;m=i+4|0;if(+h[j+16>>3]<f)i=m;else break}do{e=e+-4|0;l=c[e>>2]|0}while(!(+h[l+16>>3]<f));if(i>>>0>e>>>0){e=n;break c}c[i>>2]=l;c[e>>2]=j;n=(n|0)==(i|0)?e:n;i=m;a=a+1|0}else e=n;while(0);if((i|0)!=(e|0)?(r=c[e>>2]|0,s=c[i>>2]|0,+h[r+16>>3]<+h[s+16>>3]):0){c[i>>2]=r;c[e>>2]=s;a=a+1|0}if(!a){j=Oqa(t,i,d)|0;a=i+4|0;if(Oqa(a,b,d)|0){l=72;break}if(j){e=2;l=77;break}}n=i;if((n-t|0)>=(q-n|0)){l=76;break}Lqa(t,i,d);t=i+4|0}d:do if((l|0)==43){a=t+4|0;t=c[g>>2]|0;i=t;if(!(k<+h[t+16>>3])){if((a|0)==(g|0)){l=79;break a}while(1){e=c[a>>2]|0;if(k<+h[e+16>>3])break;a=a+4|0;if((a|0)==(g|0)){l=79;break a}}c[a>>2]=i;c[g>>2]=e;a=a+4|0}if((a|0)==(g|0)){l=79;break a}while(1){f=+h[(c[m>>2]|0)+16>>3];while(1){e=c[a>>2]|0;j=a+4|0;if(f<+h[e+16>>3])break;else a=j}do{g=g+-4|0;i=c[g>>2]|0}while(f<+h[i+16>>3]);if(a>>>0>=g>>>0){e=4;l=77;break d}c[a>>2]=i;c[g>>2]=e;a=j}}else if((l|0)==72){e=j?1:2;a=t;b=j?b:i;l=77}else if((l|0)==76){l=0;Lqa(i+4|0,b,d);a=t;b=i}while(0);if((l|0)==77)switch(e&7){case 2:case 4:case 0:break;default:{l=79;break a}}}if((l|0)==4){a=b+-4|0;b=c[a>>2]|0;e=c[t>>2]|0;if(!(+h[b+16>>3]<+h[e+16>>3]))return;c[t>>2]=b;c[a>>2]=e;return}else if((l|0)==6){j=t+4|0;g=b+-4|0;b=c[j>>2]|0;k=+h[b+16>>3];i=c[t>>2]|0;f=+h[i+16>>3];e=c[g>>2]|0;a=+h[e+16>>3]<k;if(!(k<f)){if(!a)return;c[j>>2]=e;c[g>>2]=b;a=c[j>>2]|0;b=c[t>>2]|0;if(!(+h[a+16>>3]<+h[b+16>>3]))return;c[t>>2]=a;c[j>>2]=b;return}if(a){c[t>>2]=e;c[g>>2]=i;return}c[t>>2]=b;c[j>>2]=i;a=c[g>>2]|0;if(!(+h[a+16>>3]<f))return;c[j>>2]=a;c[g>>2]=i;return}else if((l|0)==14){o=t+4|0;n=t+8|0;m=b+-4|0;b=c[o>>2]|0;e=b+16|0;u=+h[e>>3];l=c[t>>2]|0;a=l+16|0;f=+h[a>>3];j=c[n>>2]|0;g=j+16|0;k=+h[g>>3];i=k<u;do if(u<f){if(i){c[t>>2]=j;c[n>>2]=l;e=a;b=l;break}c[t>>2]=b;c[o>>2]=l;if(k<f){c[o>>2]=j;c[n>>2]=l;e=a;b=l}else{e=g;b=j}}else if(i){c[o>>2]=j;c[n>>2]=b;if(k<f){c[t>>2]=j;c[o>>2]=l}}else{e=g;b=j}while(0);a=c[m>>2]|0;if(!(+h[a+16>>3]<+h[e>>3]))return;c[n>>2]=a;c[m>>2]=b;a=c[n>>2]|0;f=+h[a+16>>3];b=c[o>>2]|0;if(!(f<+h[b+16>>3]))return;e=a;c[o>>2]=e;c[n>>2]=b;a=c[t>>2]|0;if(!(f<+h[a+16>>3]))return;c[t>>2]=e;c[o>>2]=a;return}else if((l|0)==26){Mqa(t,t+4|0,t+8|0,t+12|0,b+-4|0,d)|0;return}else if((l|0)==28){Nqa(t,b,d);return}else if((l|0)==79)return}function Mqa(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var i=0,j=0,k=0,l=0.0,m=0,n=0,o=0,p=0,q=0.0;n=c[b>>2]|0;m=n+16|0;q=+h[m>>3];o=c[a>>2]|0;j=o+16|0;l=+h[j>>3];i=c[d>>2]|0;k=i+16|0;g=+h[k>>3]<q;do if(q<l){if(g){c[a>>2]=i;c[d>>2]=o;p=1;i=o;break}c[a>>2]=n;c[b>>2]=o;i=c[d>>2]|0;g=i+16|0;if(+h[g>>3]<l){c[b>>2]=i;c[d>>2]=o;p=2;i=o}else{p=1;j=g}}else if(g){c[b>>2]=i;c[d>>2]=n;g=c[b>>2]|0;i=c[a>>2]|0;if(+h[g+16>>3]<+h[i+16>>3]){c[a>>2]=g;c[b>>2]=i;i=c[d>>2]|0;p=2;j=i+16|0}else{p=1;j=m;i=n}}else{p=0;j=k}while(0);g=c[e>>2]|0;if(+h[g+16>>3]<+h[j>>3]){c[d>>2]=g;c[e>>2]=i;g=p+1|0;i=c[d>>2]|0;j=c[b>>2]|0;if(+h[i+16>>3]<+h[j+16>>3]){c[b>>2]=i;c[d>>2]=j;g=c[b>>2]|0;i=c[a>>2]|0;if(+h[g+16>>3]<+h[i+16>>3]){c[a>>2]=g;c[b>>2]=i;j=p+3|0}else j=p+2|0}else j=g}else j=p;g=c[f>>2]|0;i=c[e>>2]|0;if(!(+h[g+16>>3]<+h[i+16>>3])){b=j;return b|0}c[e>>2]=g;c[f>>2]=i;g=c[e>>2]|0;i=c[d>>2]|0;if(!(+h[g+16>>3]<+h[i+16>>3])){b=j+1|0;return b|0}c[d>>2]=g;c[e>>2]=i;g=c[d>>2]|0;i=c[b>>2]|0;if(!(+h[g+16>>3]<+h[i+16>>3])){b=j+2|0;return b|0}c[b>>2]=g;c[d>>2]=i;g=c[b>>2]|0;i=c[a>>2]|0;if(!(+h[g+16>>3]<+h[i+16>>3])){b=j+3|0;return b|0}c[a>>2]=g;c[b>>2]=i;b=j+4|0;return b|0}function Nqa(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,i=0.0,j=0.0,k=0,l=0,m=0,n=0,o=0,p=0,q=0.0;o=a+8|0;l=a+4|0;m=c[l>>2]|0;q=+h[m+16>>3];n=c[a>>2]|0;i=+h[n+16>>3];e=c[o>>2]|0;j=+h[e+16>>3];d=j<q;f=m;g=e;k=n;do if(q<i){if(d){c[a>>2]=g;c[o>>2]=k;e=n;break}c[a>>2]=f;c[l>>2]=k;if(j<i){c[l>>2]=g;c[o>>2]=k;e=n}}else if(d){c[l>>2]=g;c[o>>2]=f;if(j<i){c[a>>2]=g;c[l>>2]=k;e=m}else e=m}while(0);d=a+12|0;if((d|0)==(b|0))return;n=d;d=o;while(1){l=c[n>>2]|0;k=l+16|0;if(+h[k>>3]<+h[e+16>>3]){m=(l|0)==0;if(!m){e=l+8|0;c[e>>2]=(c[e>>2]|0)+1;e=c[d>>2]|0}g=n;while(1){f=c[g>>2]|0;if((f|0)!=(e|0)){c[g>>2]=e;if(e|0){o=e+8|0;c[o>>2]=(c[o>>2]|0)+1}if(f|0?(g=f+8|0,o=c[g>>2]|0,c[g>>2]=o-1,(o|0)==1):0)UU(f,1,1)}if((d|0)==(a|0)){d=a;break}f=d+-4|0;e=c[f>>2]|0;if(!(+h[k>>3]<+h[e+16>>3])){p=24;break}else{g=d;d=f}}if((p|0)==24)p=0;e=c[d>>2]|0;if((e|0)!=(l|0)){c[d>>2]=l;if(!m){o=l+8|0;c[o>>2]=(c[o>>2]|0)+1}if(e|0?(k=e+8|0,o=c[k>>2]|0,c[k>>2]=o-1,(o|0)==1):0)UU(e,1,1)}if(!m?(m=l+8|0,o=c[m>>2]|0,c[m>>2]=o-1,(o|0)==1):0)UU(l,1,1)}d=n+4|0;if((d|0)==(b|0))break;e=c[n>>2]|0;o=n;n=d;d=o}return}function Oqa(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0.0,i=0,j=0,k=0,l=0.0,m=0,n=0,o=0,p=0,q=0.0;switch(b-a>>2|0){case 2:{e=b+-4|0;f=c[e>>2]|0;d=c[a>>2]|0;if(!(+h[f+16>>3]<+h[d+16>>3])){a=1;return a|0}c[a>>2]=f;c[e>>2]=d;a=1;return a|0}case 3:{k=a+4|0;i=b+-4|0;e=c[k>>2]|0;l=+h[e+16>>3];j=c[a>>2]|0;g=+h[j+16>>3];f=c[i>>2]|0;d=+h[f+16>>3]<l;if(!(l<g)){if(!d){a=1;return a|0}c[k>>2]=f;c[i>>2]=e;d=c[k>>2]|0;e=c[a>>2]|0;if(!(+h[d+16>>3]<+h[e+16>>3])){a=1;return a|0}c[a>>2]=d;c[k>>2]=e;a=1;return a|0}if(d){c[a>>2]=f;c[i>>2]=j;a=1;return a|0}c[a>>2]=e;c[k>>2]=j;d=c[i>>2]|0;if(!(+h[d+16>>3]<g)){a=1;return a|0}c[k>>2]=d;c[i>>2]=j;a=1;return a|0}case 4:{p=a+4|0;o=a+8|0;n=b+-4|0;e=c[p>>2]|0;f=e+16|0;q=+h[f>>3];m=c[a>>2]|0;d=m+16|0;g=+h[d>>3];k=c[o>>2]|0;i=k+16|0;l=+h[i>>3];j=l<q;do if(q<g){if(j){c[a>>2]=k;c[o>>2]=m;f=d;e=m;break}c[a>>2]=e;c[p>>2]=m;if(l<g){c[p>>2]=k;c[o>>2]=m;f=d;e=m}else{f=i;e=k}}else if(j){c[p>>2]=k;c[o>>2]=e;if(l<g){c[a>>2]=k;c[p>>2]=m}}else{f=i;e=k}while(0);d=c[n>>2]|0;if(!(+h[d+16>>3]<+h[f>>3])){a=1;return a|0}c[o>>2]=d;c[n>>2]=e;d=c[o>>2]|0;g=+h[d+16>>3];e=c[p>>2]|0;if(!(g<+h[e+16>>3])){a=1;return a|0}f=d;c[p>>2]=f;c[o>>2]=e;d=c[a>>2]|0;if(!(g<+h[d+16>>3])){a=1;return a|0}c[a>>2]=f;c[p>>2]=d;a=1;return a|0}case 5:{Mqa(a,a+4|0,a+8|0,a+12|0,b+-4|0,d)|0;a=1;return a|0}case 1:case 0:{a=1;return a|0}default:{e=a+8|0;m=a+4|0;n=c[m>>2]|0;q=+h[n+16>>3];o=c[a>>2]|0;l=+h[o+16>>3];f=c[e>>2]|0;g=+h[f+16>>3];d=g<q;i=n;j=f;k=o;do if(q<l){if(d){c[a>>2]=j;c[e>>2]=k;f=o;break}c[a>>2]=i;c[m>>2]=k;if(g<l){c[m>>2]=j;c[e>>2]=k;f=o}}else if(d){c[m>>2]=j;c[e>>2]=i;if(g<l){c[a>>2]=j;c[m>>2]=k;f=n}else f=n}while(0);d=a+12|0;if((d|0)==(b|0)){a=1;return a|0}o=d;d=0;while(1){m=c[o>>2]|0;k=m+16|0;if(+h[k>>3]<+h[f+16>>3]){n=(m|0)==0;if(!n){f=m+8|0;c[f>>2]=(c[f>>2]|0)+1;f=c[e>>2]|0}j=o;while(1){i=c[j>>2]|0;if((i|0)!=(f|0)){c[j>>2]=f;if(f|0){j=f+8|0;c[j>>2]=(c[j>>2]|0)+1}if(i|0?(f=i+8|0,j=c[f>>2]|0,c[f>>2]=j-1,(j|0)==1):0)UU(i,1,1)}if((e|0)==(a|0)){e=a;break}i=e+-4|0;f=c[i>>2]|0;if(!(+h[k>>3]<+h[f+16>>3])){p=47;break}else{j=e;e=i}}if((p|0)==47)p=0;f=c[e>>2]|0;if((f|0)!=(m|0)){c[e>>2]=m;if(!n){k=m+8|0;c[k>>2]=(c[k>>2]|0)+1}if(f|0?(j=f+8|0,k=c[j>>2]|0,c[j>>2]=k-1,(k|0)==1):0)UU(f,1,1)}d=d+1|0;e=(d|0)==8;if(!n?(k=m+8|0,n=c[k>>2]|0,c[k>>2]=n-1,(n|0)==1):0)UU(m,1,1);if(e)break}e=o+4|0;if((e|0)==(b|0)){d=1;p=61;break}f=c[o>>2]|0;n=o;o=e;e=n}if((p|0)==61)return d|0;a=(o+4|0)==(b|0);return a|0}}return 0}function Pqa(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0;c[a>>2]=99236;ara(a)|0;b=a+60|0;d=c[b>>2]|0;if(d|0?(f=d+8|0,g=c[f>>2]|0,c[f>>2]=g-1,(g|0)==1):0)UU(d,1,1);c[b>>2]=0;e=a+48|0;g=c[e>>2]|0;if(g|0){f=a+52|0;b=c[f>>2]|0;if((b|0)==(g|0))b=g;else{do{b=b+-4|0;d=c[b>>2]|0;if(d|0?(i=d+8|0,h=c[i>>2]|0,c[i>>2]=h-1,(h|0)==1):0)UU(d,1,1);c[b>>2]=0}while((b|0)!=(g|0));b=c[e>>2]|0}c[f>>2]=g;l0a(b)}b=a+44|0;d=c[b>>2]|0;if(d|0?(h=d+8|0,i=c[h>>2]|0,c[h>>2]=i-1,(i|0)==1):0)UU(d,1,1);c[b>>2]=0;oX(a+32|0);oX(a+12|0);SU(a);return}function Qqa(a){a=a|0;Pqa(a);l0a(a);return}function Rqa(a){a=a|0;return +(+h[a+64>>3])}function Sqa(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;if(!d)b=0;else b=y1a(d,47048,57712,0)|0;Jqa(a,c,b);return}function Tqa(b,d,e,f,g,i,j,k){b=b|0;d=d|0;e=e|0;f=f|0;g=+g;i=i|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;if(!((k|0)!=0?(m=y1a(k,47048,57712,0)|0,(m|0)!=0):0))m=c[(Rla(0)|0)+160>>2]|0;i=c[j>>2]|0;if((i|0?y1a(i,47048,58592,0)|0:0)?(c[i+8>>2]|0)>1:0)return;r=j0a(64)|0;Uha(r,1);c[r>>2]=99284;o=r+48|0;i=r+12|0;k=i+36|0;do{c[i>>2]=0;i=i+4|0}while((i|0)<(k|0));c[o>>2]=-1;c[r+52>>2]=0;n=r+56|0;c[n>>2]=0;p=r+60|0;c[p>>2]=0;q=r+8|0;c[q>>2]=(c[q>>2]|0)+1;h[r+16>>3]=g;z0a(r+24|0,d)|0;k=r+40|0;if(!e)i=0;else i=Vha(e)|0;d=c[k>>2]|0;if((d|0)!=(i|0)){c[k>>2]=i;if(i|0){i=i+8|0;c[i>>2]=(c[i>>2]|0)+1}if(d|0?(t=d+8|0,i=c[t>>2]|0,c[t>>2]=i-1,(i|0)==1):0)UU(d,1,1);i=c[k>>2]|0}if(!i)i=0;else i=(c[i+24>>2]|0)==0?0:e;c[r+44>>2]=i;c[o>>2]=f;k=b+44|0;c[n>>2]=c[k>>2];i=c[p>>2]|0;if((i|0)!=(m|0)){c[p>>2]=m;if(m|0){t=m+8|0;c[t>>2]=(c[t>>2]|0)+1}if(i|0?(f=i+8|0,t=c[f>>2]|0,c[f>>2]=t-1,(t|0)==1):0)UU(i,1,1)}i=c[j>>2]|0;if(((i|0)!=(r|0)?(c[j>>2]=r,c[q>>2]=(c[q>>2]|0)+1,i|0):0)?(j=i+8|0,t=c[j>>2]|0,c[j>>2]=t-1,(t|0)==1):0)UU(i,1,1);Yqa(c[k>>2]|0,r);i=b+24|0;if(!(a[i>>0]|0)){k=b+12|0;gk[c[(c[k>>2]|0)+8>>2]&1023](k)|0;if((a[i>>0]|0)==0?(a[i>>0]=1,a[b+25>>0]=0,l=c[b+48>>2]|0,s=b+52|0,(l|0)!=(c[s>>2]|0)):0)do{ola((c[l>>2]|0)+12|0)|0;l=l+4|0}while((l|0)!=(c[s>>2]|0));gk[c[(c[k>>2]|0)+12>>2]&1023](k)|0}t=c[q>>2]|0;c[q>>2]=t-1;if((t|0)!=1)return;UU(r,1,1);return}function Uqa(a){a=a|0;a=c[a+60>>2]|0;return (c[a+12>>2]|0)!=(c[a+16>>2]|0)|0}function Vqa(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;j=l;l=l+16|0;e=j;a=a+60|0;i=(c[a>>2]|0)+24|0;gk[c[(c[i>>2]|0)+8>>2]&1023](i)|0;b=c[a>>2]|0;d=c[b+12>>2]|0;b=b+16|0;if((d|0)==(c[b>>2]|0)){h=b;g=d;c[h>>2]=g;h=c[i>>2]|0;h=h+12|0;h=c[h>>2]|0;gk[h&1023](i)|0;l=j;return}do{b=c[d>>2]|0;k=c[b+40>>2]|0;if((((k|0)!=0?(c[k+24>>2]|0)!=0:0)?(f=c[b+44>>2]|0,(f|0)!=0):0)?(g=y1a(f,42800,47416,0)|0,(g|0)!=0):0){k=c[b+48>>2]|0;Nk[c[(c[g>>2]|0)+232>>2]&255](g,(k|0)>0?k:0,c[b+52>>2]|0)}else h=15;if((h|0)==15?(h=0,ZQ(3)|0):0){k=mr(lr(3)|0,181588,86)|0;BSa(e,k+(c[(c[k>>2]|0)+-12>>2]|0)|0);b=cUa(e,230580)|0;b=kk[c[(c[b>>2]|0)+28>>2]&511](b,10)|0;dUa(e);VSa(k,b)|0;HSa(k)|0}d=d+4|0;b=c[a>>2]|0}while((d|0)!=(c[b+16>>2]|0));a=b+16|0;b=c[b+12>>2]|0;if((d|0)==(b|0)){k=a;h=b;c[k>>2]=h;k=c[i>>2]|0;k=k+12|0;k=c[k>>2]|0;gk[k&1023](i)|0;l=j;return}do{d=d+-4|0;e=c[d>>2]|0;if(e|0?(h=e+8|0,k=c[h>>2]|0,c[h>>2]=k-1,(k|0)==1):0)UU(e,1,1);c[d>>2]=0}while((d|0)!=(b|0));c[a>>2]=b;k=c[i>>2]|0;k=k+12|0;k=c[k>>2]|0;gk[k&1023](i)|0;l=j;return}function Wqa(a,b){a=a|0;b=b|0;if(!b)return;c[a+28>>2]=c[b+12>>2];return}function Xqa(a){a=a|0;return}function Yqa(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0;m=l;l=l+16|0;h=m;k=b+24|0;gk[c[(c[k>>2]|0)+8>>2]&1023](k)|0;i=b+12|0;c[h>>2]=e;if(e|0){j=e+8|0;c[j>>2]=(c[j>>2]|0)+1}j=b+16|0;f=c[j>>2]|0;if(f>>>0<(c[b+20>>2]|0)>>>0){g=c[h>>2]|0;c[f>>2]=g;if(g){f=g+8|0;c[f>>2]=(c[f>>2]|0)+1;f=c[j>>2]|0}c[j>>2]=f+4}else Zqa(i,h);f=c[h>>2]|0;if(f|0?(n=f+8|0,g=c[n>>2]|0,c[n>>2]=g-1,(g|0)==1):0)UU(f,1,1);c[e+56>>2]=b;if(ZQ(4)|0){o=mr(lr(4)|0,181675,27)|0;f=e+24|0;n=a[f+11>>0]|0;g=n<<24>>24<0;n=mr(mr(o,g?c[f>>2]|0:f,g?c[e+28>>2]|0:n&255)|0,181703,10)|0;n=RSa(n,(c[j>>2]|0)-(c[i>>2]|0)>>2)|0;BSa(h,n+(c[(c[n>>2]|0)+-12>>2]|0)|0);i=cUa(h,230580)|0;i=kk[c[(c[i>>2]|0)+28>>2]&511](i,10)|0;dUa(h);VSa(n,i)|0;HSa(n)|0}e=c[b+36>>2]|0;h=e+4|0;if((c[b+12>>2]|0)==(c[j>>2]|0))f=0;else f=(a[(c[b+40>>2]|0)+26>>0]|0)==0;g=e+24|0;if((f&1|0)==(d[g>>0]|0)){o=c[k>>2]|0;o=o+12|0;o=c[o>>2]|0;gk[o&1023](k)|0;l=m;return}gk[c[(c[h>>2]|0)+8>>2]&1023](h)|0;if(!f){a[g>>0]=0;gk[c[(c[h>>2]|0)+12>>2]&1023](h)|0;o=c[k>>2]|0;o=o+12|0;o=c[o>>2]|0;gk[o&1023](k)|0;l=m;return}if(!(a[g>>0]|0)){a[g>>0]=1;Eha(e+16|0)|0}gk[c[(c[h>>2]|0)+12>>2]&1023](h)|0;o=c[k>>2]|0;o=o+12|0;o=c[o>>2]|0;gk[o&1023](k)|0;l=m;return}function Zqa(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;m=a+4|0;d=c[m>>2]|0;e=c[a>>2]|0;i=d-e>>2;f=i+1|0;g=e;if(f>>>0>1073741823)g1a(a);l=a+8|0;j=(c[l>>2]|0)-e|0;k=j>>1;f=j>>2>>>0<536870911?(k>>>0<f>>>0?f:k):1073741823;do if(f)if(f>>>0>1073741823){m=db(8)|0;p0a(m,183738);c[m>>2]=110936;hb(m|0,65952,1066)}else{j=j0a(f<<2)|0;break}else j=0;while(0);e=j+(i<<2)|0;k=j+(f<<2)|0;f=c[b>>2]|0;c[e>>2]=f;if(f){g=f+8|0;c[g>>2]=(c[g>>2]|0)+1;g=c[a>>2]|0;d=c[m>>2]|0}h=e+4|0;f=g;if((d|0)==(g|0))b=f;else{b=i+-1-((d+-4-f|0)>>>2)|0;while(1){d=d+-4|0;f=c[d>>2]|0;c[e+-4>>2]=f;if(f|0){i=f+8|0;c[i>>2]=(c[i>>2]|0)+1}if((d|0)==(g|0))break;else e=e+-4|0}e=j+(b<<2)|0;b=c[a>>2]|0;d=c[m>>2]|0}c[a>>2]=e;c[m>>2]=h;c[l>>2]=k;f=b;if((d|0)!=(f|0))do{d=d+-4|0;e=c[d>>2]|0;if(e|0?(l=e+8|0,m=c[l>>2]|0,c[l>>2]=m-1,(m|0)==1):0)UU(e,1,1);c[d>>2]=0}while((d|0)!=(f|0));if(!b)return;l0a(b);return}function _qa(b){b=b|0;var d=0,e=0,f=0,g=0;c[b>>2]=99284;d=b+60|0;e=c[d>>2]|0;if(e|0?(g=e+8|0,f=c[g>>2]|0,c[g>>2]=f-1,(f|0)==1):0)UU(e,1,1);c[d>>2]=0;d=b+52|0;e=c[d>>2]|0;if(e|0?(f=e+8|0,g=c[f>>2]|0,c[f>>2]=g-1,(g|0)==1):0)UU(e,1,1);c[d>>2]=0;d=b+40|0;e=c[d>>2]|0;if(e|0?(f=e+8|0,g=c[f>>2]|0,c[f>>2]=g-1,(g|0)==1):0)UU(e,1,1);c[d>>2]=0;d=b+36|0;e=c[d>>2]|0;if(e|0?(f=e+8|0,g=c[f>>2]|0,c[f>>2]=g-1,(g|0)==1):0)UU(e,1,1);c[d>>2]=0;d=b+24|0;if((a[d+11>>0]|0)>=0){SU(b);return}l0a(c[d>>2]|0);SU(b);return}function $qa(a){a=a|0;_qa(a);l0a(a);return}function ara(b){b=b|0;var d=0,e=0,f=0,g=0,h=0;g=b+48|0;d=c[g>>2]|0;h=b+52|0;e=c[h>>2]|0;if((d|0)!=(e|0))do{a[(c[d>>2]|0)+20>>0]=1;d=d+4|0}while((d|0)!=(e|0));f=c[(c[b+44>>2]|0)+36>>2]|0;d=f+4|0;gk[c[(c[d>>2]|0)+8>>2]&1023](d)|0;e=f+24|0;if(!(a[e>>0]|0)){a[e>>0]=1;Eha(f+16|0)|0}gk[c[(c[d>>2]|0)+12>>2]&1023](d)|0;d=c[g>>2]|0;if((d|0)==(c[h>>2]|0)){h=b+25|0;a[h>>0]=1;h=b+24|0;a[h>>0]=0;return 0}do{g=c[d>>2]|0;gk[c[(c[g>>2]|0)+12>>2]&1023](g)|0;d=d+4|0}while((d|0)!=(c[h>>2]|0));h=b+25|0;a[h>>0]=1;h=b+24|0;a[h>>0]=0;return 0}function bra(a){a=a|0;var b=0,d=0,e=0;b=c[a>>2]|0;if(b|0?(e=b+8|0,d=c[e>>2]|0,c[e>>2]=d-1,(d|0)==1):0)UU(b,1,1);c[a>>2]=0;return}function cra(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;e=c[a>>2]|0;if(!e)return;f=a+4|0;b=c[f>>2]|0;if((b|0)==(e|0))b=e;else{do{b=b+-4|0;d=c[b>>2]|0;if(d|0?(h=d+8|0,g=c[h>>2]|0,c[h>>2]=g-1,(g|0)==1):0)UU(d,1,1);c[b>>2]=0}while((b|0)!=(e|0));b=c[a>>2]|0}c[f>>2]=e;l0a(b);return}function dra(a){a=a|0;var b=0,d=0,e=0;b=c[a>>2]|0;if(b|0?(e=b+8|0,d=c[e>>2]|0,c[e>>2]=d-1,(d|0)==1):0)UU(b,1,1);c[a>>2]=0;return}function era(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=l;l=l+16|0;e=h;f=fra(a,e,b)|0;d=c[f>>2]|0;if(d|0){a=d;a=a+28|0;l=h;return a|0}g=j0a(32)|0;t0a(g+16|0,b);c[g+28>>2]=0;d=c[e>>2]|0;c[g>>2]=0;c[g+4>>2]=0;c[g+8>>2]=d;c[f>>2]=g;d=c[c[a>>2]>>2]|0;if(!d)d=g;else{c[a>>2]=d;d=c[f>>2]|0}fp(c[a+4>>2]|0,d);a=a+8|0;c[a>>2]=(c[a>>2]|0)+1;a=g;a=a+28|0;l=h;return a|0}function fra(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;f=b+4|0;h=c[f>>2]|0;if(!h){c[d>>2]=f;o=f;return o|0}m=a[e+11>>0]|0;l=m<<24>>24<0;m=l?c[e+4>>2]|0:m&255;l=l?c[e>>2]|0:e;g=b+4|0;f=h;while(1){e=f+16|0;h=a[e+11>>0]|0;b=h<<24>>24<0;h=b?c[f+20>>2]|0:h&255;k=h>>>0<m>>>0;j=k?h:m;i=(j|0)==0;if(!i?(n=b?c[e>>2]|0:e,o=cOa(l,n,j)|0,(o|0)!=0):0)if((o|0)<0)b=7;else{e=n;b=11}else if(m>>>0>=h>>>0)if(i)b=12;else{e=b?c[e>>2]|0:e;b=11}else b=7;if((b|0)==7){b=0;e=c[f>>2]|0;if(!e){b=8;break}else{g=f;f=e}}else if((b|0)==11){e=cOa(e,l,j)|0;if(e)if((e|0)<0)b=14;else{b=16;break}else b=12}if((b|0)==12)if(k)b=14;else{b=16;break}if((b|0)==14){e=f+4|0;b=c[e>>2]|0;if(!b){b=15;break}else{g=e;f=b}}}if((b|0)==8){c[d>>2]=f;o=f;return o|0}else if((b|0)==15){c[d>>2]=f;o=e;return o|0}else if((b|0)==16){c[d>>2]=f;o=g;return o|0}return 0}function gra(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0;n=l;l=l+48|0;j=n+32|0;m=n+12|0;k=n;h=Rla(0)|0;if((e|0)!=0?(f=c[e+116>>2]|0,(f|0)!=0):0)Qk[c[(c[f>>2]|0)+20>>2]&127](m,f,d,e);else g=4;do if((g|0)==4){f=c[h+48>>2]|0;if(!f){Koa(m,h,d,e);break}else{Qk[c[(c[f>>2]|0)+20>>2]&127](m,f,d,e);break}}while(0);g=m+16|0;f=c[g>>2]|0;if((f|0)!=0?(i=y1a(f,42800,47104,0)|0,(i|0)!=0):0){c[b>>2]=i;k=i+8|0;c[k>>2]=(c[k>>2]|0)+1}else{if(((c[m>>2]|1|0)!=5?ZQ(2)|0:0)?(h=mr(lr(2)|0,181488,19)|0,e=a[d+11>>0]|0,i=e<<24>>24<0,e=mr(mr(h,i?c[d>>2]|0:d,i?c[d+4>>2]|0:e&255)|0,179162,2)|0,Wla(k,m),i=k+11|0,d=a[i>>0]|0,h=d<<24>>24<0,d=mr(e,h?c[k>>2]|0:k,h?c[k+4>>2]|0:d&255)|0,BSa(j,d+(c[(c[d>>2]|0)+-12>>2]|0)|0),h=cUa(j,230580)|0,h=kk[c[(c[h>>2]|0)+28>>2]&511](h,10)|0,dUa(j),VSa(d,h)|0,HSa(d)|0,(a[i>>0]|0)<0):0)l0a(c[k>>2]|0);c[b>>2]=0}f=c[g>>2]|0;if(f|0?(j=f+8|0,k=c[j>>2]|0,c[j>>2]=k-1,(k|0)==1):0)UU(f,1,1);c[g>>2]=0;f=m+4|0;if((a[f+11>>0]|0)>=0){l=n;return}l0a(c[f>>2]|0);l=n;return}function hra(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0;j=l;l=l+48|0;f=j+32|0;i=j+12|0;g=j;Yoa(i,Rla(0)|0,d,e,1);h=i+16|0;e=c[h>>2]|0;if(!e){if(((c[i>>2]|1|0)!=5?ZQ(2)|0:0)?(k=mr(lr(2)|0,181488,19)|0,m=a[d+11>>0]|0,e=m<<24>>24<0,m=mr(mr(k,e?c[d>>2]|0:d,e?c[d+4>>2]|0:m&255)|0,179162,2)|0,Wla(g,i),d=g+11|0,e=a[d>>0]|0,k=e<<24>>24<0,e=mr(m,k?c[g>>2]|0:g,k?c[g+4>>2]|0:e&255)|0,BSa(f,e+(c[(c[e>>2]|0)+-12>>2]|0)|0),k=cUa(f,230580)|0,k=kk[c[(c[k>>2]|0)+28>>2]&511](k,10)|0,dUa(f),VSa(e,k)|0,HSa(e)|0,(a[d>>0]|0)<0):0)l0a(c[g>>2]|0);c[b>>2]=0}else{c[b>>2]=e;m=e+8|0;c[m>>2]=(c[m>>2]|0)+1}e=c[h>>2]|0;if(e|0?(k=e+8|0,m=c[k>>2]|0,c[k>>2]=m-1,(m|0)==1):0)UU(e,1,1);c[h>>2]=0;e=i+4|0;if((a[e+11>>0]|0)>=0){l=j;return}l0a(c[e>>2]|0);l=j;return}function ira(){var b=0,d=0,e=0,f=0,h=0,i=0,j=0;h=l;l=l+32|0;d=h+12|0;e=h;g[56464]=1.0;g[56465]=0.0;g[56466]=0.0;g[56467]=0.0;g[56468]=1.0;g[56469]=0.0;g[56470]=0.0;g[56471]=0.0;g[56472]=1.0;b=j0a(32)|0;c[d>>2]=b;c[d+8>>2]=-2147483616;c[d+4>>2]=27;f=b;i=181843;j=f+27|0;do{a[f>>0]=a[i>>0]|0;f=f+1|0;i=i+1|0}while((f|0)<(j|0));a[b+27>>0]=0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;b=j0a(80)|0;c[e>>2]=b;c[e+8>>2]=-2147483568;c[e+4>>2]=65;f=b;i=181871;j=f+65|0;do{a[f>>0]=a[i>>0]|0;f=f+1|0;i=i+1|0}while((f|0)<(j|0));a[b+65>>0]=0;uQ(tQ()|0,2,d,e);if((a[e+11>>0]|0)<0)l0a(c[e>>2]|0);if((a[d+11>>0]|0)<0)l0a(c[d>>2]|0);b=j0a(48)|0;c[d>>2]=b;c[d+8>>2]=-2147483600;c[d+4>>2]=34;f=b;i=181937;j=f+34|0;do{a[f>>0]=a[i>>0]|0;f=f+1|0;i=i+1|0}while((f|0)<(j|0));a[b+34>>0]=0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;j=j0a(144)|0;c[e>>2]=j;c[e+8>>2]=-2147483504;c[e+4>>2]=141;x2a(j|0,181972,141)|0;a[j+141>>0]=0;uQ(tQ()|0,2,d,e);if((a[e+11>>0]|0)<0)l0a(c[e>>2]|0);if((a[d+11>>0]|0)<0)l0a(c[d>>2]|0);b=j0a(48)|0;c[d>>2]=b;c[d+8>>2]=-2147483600;c[d+4>>2]=34;f=b;i=182114;j=f+34|0;do{a[f>>0]=a[i>>0]|0;f=f+1|0;i=i+1|0}while((f|0)<(j|0));a[b+34>>0]=0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;b=j0a(80)|0;c[e>>2]=b;c[e+8>>2]=-2147483568;c[e+4>>2]=67;f=b;i=182149;j=f+67|0;do{a[f>>0]=a[i>>0]|0;f=f+1|0;i=i+1|0}while((f|0)<(j|0));a[b+67>>0]=0;uQ(tQ()|0,2,d,e);if((a[e+11>>0]|0)<0)l0a(c[e>>2]|0);if((a[d+11>>0]|0)<0)l0a(c[d>>2]|0);b=j0a(32)|0;c[d>>2]=b;c[d+8>>2]=-2147483616;c[d+4>>2]=22;f=b;i=182217;j=f+22|0;do{a[f>>0]=a[i>>0]|0;f=f+1|0;i=i+1|0}while((f|0)<(j|0));a[b+22>>0]=0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;b=j0a(64)|0;c[e>>2]=b;c[e+8>>2]=-2147483584;c[e+4>>2]=54;f=b;i=182240;j=f+54|0;do{a[f>>0]=a[i>>0]|0;f=f+1|0;i=i+1|0}while((f|0)<(j|0));a[b+54>>0]=0;uQ(tQ()|0,2,d,e);if((a[e+11>>0]|0)<0)l0a(c[e>>2]|0);if((a[d+11>>0]|0)<0)l0a(c[d>>2]|0);b=j0a(48)|0;c[d>>2]=b;c[d+8>>2]=-2147483600;c[d+4>>2]=33;f=b;i=182295;j=f+33|0;do{a[f>>0]=a[i>>0]|0;f=f+1|0;i=i+1|0}while((f|0)<(j|0));a[b+33>>0]=0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;b=j0a(96)|0;c[e>>2]=b;c[e+8>>2]=-2147483552;c[e+4>>2]=87;f=b;i=182329;j=f+87|0;do{a[f>>0]=a[i>>0]|0;f=f+1|0;i=i+1|0}while((f|0)<(j|0));a[b+87>>0]=0;uQ(tQ()|0,2,d,e);if((a[e+11>>0]|0)<0)l0a(c[e>>2]|0);if((a[d+11>>0]|0)<0)l0a(c[d>>2]|0);jra()|0;c[56473]=0;c[56474]=0;c[56475]=0;b=j0a(32)|0;c[d>>2]=b;c[d+8>>2]=-2147483616;c[d+4>>2]=29;f=b;i=182417;j=f+29|0;do{a[f>>0]=a[i>>0]|0;f=f+1|0;i=i+1|0}while((f|0)<(j|0));a[b+29>>0]=0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;b=j0a(32)|0;c[e>>2]=b;c[e+8>>2]=-2147483616;c[e+4>>2]=28;f=b;i=182447;j=f+28|0;do{a[f>>0]=a[i>>0]|0;f=f+1|0;i=i+1|0}while((f|0)<(j|0));a[b+28>>0]=0;uQ(tQ()|0,2,d,e);if((a[e+11>>0]|0)<0)l0a(c[e>>2]|0);if((a[d+11>>0]|0)<0)l0a(c[d>>2]|0);b=j0a(48)|0;c[d>>2]=b;c[d+8>>2]=-2147483600;c[d+4>>2]=32;f=b;i=182476;j=f+32|0;do{a[f>>0]=a[i>>0]|0;f=f+1|0;i=i+1|0}while((f|0)<(j|0));a[b+32>>0]=0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;b=j0a(48)|0;c[e>>2]=b;c[e+8>>2]=-2147483600;c[e+4>>2]=37;f=b;i=182509;j=f+37|0;do{a[f>>0]=a[i>>0]|0;f=f+1|0;i=i+1|0}while((f|0)<(j|0));a[b+37>>0]=0;uQ(tQ()|0,2,d,e);if((a[e+11>>0]|0)<0)l0a(c[e>>2]|0);if((a[d+11>>0]|0)<0)l0a(c[d>>2]|0);b=j0a(32)|0;c[d>>2]=b;c[d+8>>2]=-2147483616;c[d+4>>2]=24;f=b;i=182547;j=f+24|0;do{a[f>>0]=a[i>>0]|0;f=f+1|0;i=i+1|0}while((f|0)<(j|0));a[b+24>>0]=0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;b=j0a(80)|0;c[e>>2]=b;c[e+8>>2]=-2147483568;c[e+4>>2]=74;f=b;i=182572;j=f+74|0;do{a[f>>0]=a[i>>0]|0;f=f+1|0;i=i+1|0}while((f|0)<(j|0));a[b+74>>0]=0;uQ(tQ()|0,2,d,e);if((a[e+11>>0]|0)<0)l0a(c[e>>2]|0);if((a[d+11>>0]|0)<0)l0a(c[d>>2]|0);Rla(0)|0;kra(231025);b=j0a(32)|0;c[d>>2]=b;c[d+8>>2]=-2147483616;c[d+4>>2]=28;f=b;i=181811;j=f+28|0;do{a[f>>0]=a[i>>0]|0;f=f+1|0;i=i+1|0}while((f|0)<(j|0));a[b+28>>0]=0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;j=e+11|0;a[j>>0]=8;i=e;c[i>>2]=2082491983;c[i+4>>2]=1179012896;a[e+8>>0]=0;uQ(tQ()|0,2,d,e);if((a[j>>0]|0)<0)l0a(c[e>>2]|0);if((a[d+11>>0]|0)>=0){l=h;return}l0a(c[d>>2]|0);l=h;return}function jra(){var b=0;if(a[223840]|0)return 225904;if(!(g2a(223840)|0))return 225904;b=j0a(168)|0;lra(b);c[56476]=b;b=b+8|0;c[b>>2]=(c[b>>2]|0)+1;return 225904}function kra(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;i=l;l=l+16|0;g=i+4|0;h=i;if(!(a[(c[(vt()|0)>>2]|0)+212>>0]|0)){l=i;return}if(ZQ(4)|0){f=mr(lr(4)|0,182647,75)|0;BSa(g,f+(c[(c[f>>2]|0)+-12>>2]|0)|0);e=cUa(g,230580)|0;e=kk[c[(c[e>>2]|0)+28>>2]&511](e,10)|0;dUa(g);VSa(f,e)|0;HSa(f)|0}b=c[(c[(vt()|0)>>2]|0)+216>>2]|0;if((b|0)==(c[(c[(vt()|0)>>2]|0)+220>>2]|0)){l=i;return}do{gra(h,b,c[(Rla(0)|0)+160>>2]|0);d=c[h>>2]|0;if(d|0){if(ZQ(4)|0){j=mr(lr(4)|0,182723,15)|0;f=a[b+11>>0]|0;e=f<<24>>24<0;f=mr(j,e?c[b>>2]|0:b,e?c[b+4>>2]|0:f&255)|0;BSa(g,f+(c[(c[f>>2]|0)+-12>>2]|0)|0);e=cUa(g,230580)|0;e=kk[c[(c[e>>2]|0)+28>>2]&511](e,10)|0;dUa(g);VSa(f,e)|0;HSa(f)|0}e=era((c[(vt()|0)>>2]|0)+256|0,b)|0;f=c[e>>2]|0;if(((f|0)!=(d|0)?(c[e>>2]=d,j=d+8|0,c[j>>2]=(c[j>>2]|0)+1,f|0):0)?(e=f+8|0,j=c[e>>2]|0,c[e>>2]=j-1,(j|0)==1):0)UU(f,1,1);d=c[h>>2]|0;if(d|0?(f=d+8|0,j=c[f>>2]|0,c[f>>2]=j-1,(j|0)==1):0)UU(d,1,1)}b=b+12|0}while((b|0)!=(c[(c[(vt()|0)>>2]|0)+220>>2]|0));l=i;return}function lra(b){b=b|0;var d=0,e=0,f=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=l;l=l+16|0;n=t;Uha(b,1);c[b>>2]=98528;xla(b+12|0,0);xla(b+24|0,0);c[b+44>>2]=0;c[b+48>>2]=0;c[b+40>>2]=b+44;c[b+56>>2]=0;r=b+60|0;c[r>>2]=0;c[b+64>>2]=0;xla(b+72|0,0);f=b+84|0;c[f>>2]=0;m=b+88|0;o=b+92|0;p=b+96|0;q=b+100|0;s=b+120|0;c[s>>2]=0;c[b+132>>2]=0;c[b+164>>2]=0;a[b+36>>0]=0;a[b+52>>0]=0;c[m>>2]=0;c[m+4>>2]=0;c[m+8>>2]=0;c[m+12>>2]=0;a[b+53>>0]=1;a[b+54>>0]=0;c[b+68>>2]=0;c[f>>2]=0;f=b+104|0;c[f>>2]=0;e=Jh(182739)|0;if(!e){e=Jh(182767)|0;if(e|0)i=3}else i=3;do if((i|0)==3){if(!(eOa(e,182795)|0)){c[f>>2]=0;break}if(eOa(e,182807)|0?eOa(e,182819)|0:0){if(!(eOa(e,182822)|0)){c[f>>2]=2;break}if(eOa(e,182826)|0?eOa(e,182839)|0:0)break;c[f>>2]=3;break}c[f>>2]=1}while(0);f=b+108|0;a[f>>0]=0;e=Jh(182842)|0;if(e|0){if(((eOa(e,182867)|0)!=0?(eOa(e,182871)|0)!=0:0)?(eOa(e,182875)|0)!=0:0)e=(eOa(e,181840)|0)==0;else e=1;a[f>>0]=e&1;if(ZQ(3)|0){k=mr(lr(3)|0,182878,32)|0;k=OSa(k,(a[f>>0]|0)!=0)|0;BSa(n,k+(c[(c[k>>2]|0)+-12>>2]|0)|0);j=cUa(n,230580)|0;j=kk[c[(c[j>>2]|0)+28>>2]&511](j,10)|0;dUa(n);VSa(k,j)|0;HSa(k)|0}}a[b+109>>0]=1;a[b+110>>0]=0;a[b+111>>0]=0;g[b+112>>2]=1.0;f=b+116|0;a[f>>0]=1;e=Jh(182911)|0;if(e|0){if(((eOa(e,182867)|0)!=0?(eOa(e,182871)|0)!=0:0)?(eOa(e,182875)|0)!=0:0)e=(eOa(e,181840)|0)==0;else e=1;a[f>>0]=e&1}e=b+124|0;c[e>>2]=300;f=Jh(182941)|0;if(f|0?(c[e>>2]=TOa(f)|0,ZQ(3)|0):0){k=mr(lr(3)|0,182958,32)|0;k=QSa(k,c[e>>2]|0)|0;BSa(n,k+(c[(c[k>>2]|0)+-12>>2]|0)|0);j=cUa(n,230580)|0;j=kk[c[(c[j>>2]|0)+28>>2]&511](j,10)|0;dUa(n);VSa(k,j)|0;HSa(k)|0}f=b+128|0;a[f>>0]=1;e=Jh(182991)|0;if(e|0){if(((eOa(e,182867)|0)!=0?(eOa(e,182871)|0)!=0:0)?(eOa(e,182875)|0)!=0:0)e=(eOa(e,181840)|0)==0;else e=1;a[f>>0]=e&1}h[b+136>>3]=1797693134862315708145274.0e284;h[b+144>>3]=-1797693134862315708145274.0e284;h[b+152>>3]=0.0;c[b+160>>2]=0;f=j0a(84)|0;c[n>>2]=0;c[n+4>>2]=0;c[n+8>>2]=0;e=j0a(32)|0;c[n>>2]=e;c[n+8>>2]=-2147483616;c[n+4>>2]=16;i=e;j=180767;k=i+16|0;do{a[i>>0]=a[j>>0]|0;i=i+1|0;j=j+1|0}while((i|0)<(k|0));a[e+16>>0]=0;qqa(f,b,n);e=c[m>>2]|0;if(((e|0)!=(f|0)?(c[m>>2]=f,m=f+8|0,c[m>>2]=(c[m>>2]|0)+1,e|0):0)?(k=e+8|0,m=c[k>>2]|0,c[k>>2]=m-1,(m|0)==1):0)UU(e,1,1);if((a[n+11>>0]|0)<0)l0a(c[n>>2]|0);f=j0a(84)|0;c[n>>2]=0;c[n+4>>2]=0;c[n+8>>2]=0;e=j0a(32)|0;c[n>>2]=e;c[n+8>>2]=-2147483616;c[n+4>>2]=16;i=e;j=180784;k=i+16|0;do{a[i>>0]=a[j>>0]|0;i=i+1|0;j=j+1|0}while((i|0)<(k|0));a[e+16>>0]=0;qqa(f,b,n);e=c[o>>2]|0;if(((e|0)!=(f|0)?(c[o>>2]=f,o=f+8|0,c[o>>2]=(c[o>>2]|0)+1,e|0):0)?(m=e+8|0,o=c[m>>2]|0,c[m>>2]=o-1,(o|0)==1):0)UU(e,1,1);if((a[n+11>>0]|0)<0)l0a(c[n>>2]|0);e=j0a(44)|0;rqa(e,b);f=c[p>>2]|0;if(((f|0)!=(e|0)?(c[p>>2]=e,p=e+8|0,c[p>>2]=(c[p>>2]|0)+1,f|0):0)?(o=f+8|0,p=c[o>>2]|0,c[o>>2]=p-1,(p|0)==1):0)UU(f,1,1);e=j0a(44)|0;rqa(e,b);f=c[q>>2]|0;if(((f|0)!=(e|0)?(c[q>>2]=e,q=e+8|0,c[q>>2]=(c[q>>2]|0)+1,f|0):0)?(p=f+8|0,q=c[p>>2]|0,c[p>>2]=q-1,(q|0)==1):0)UU(f,1,1);e=Jh(183010)|0;a:do if(e|0){if(!(eOa(e,183038)|0)){d=c[b+56>>2]|0;if((d|0)==(c[r>>2]|0))break;while(1){d=d+4|0;if((d|0)==(c[r>>2]|0))break a}}if(!(eOa(e,183046)|0)){d=c[b+56>>2]|0;if((d|0)==(c[r>>2]|0))break;while(1){d=d+4|0;if((d|0)==(c[r>>2]|0))break a}}if(!(eOa(e,183050)|0)){d=c[b+56>>2]|0;if((d|0)==(c[r>>2]|0))break;while(1){d=d+4|0;if((d|0)==(c[r>>2]|0))break a}}if(!(eOa(e,183054)|0)){d=c[b+56>>2]|0;if((d|0)==(c[r>>2]|0))break;while(1){d=d+4|0;if((d|0)==(c[r>>2]|0))break a}}if(!(eOa(e,183062)|0)){d=c[b+56>>2]|0;if((d|0)==(c[r>>2]|0))break;while(1){d=d+4|0;if((d|0)==(c[r>>2]|0))break a}}if((eOa(e,183067)|0)==0?(d=c[b+56>>2]|0,(d|0)!=(c[r>>2]|0)):0)do d=d+4|0;while((d|0)!=(c[r>>2]|0))}while(0);d=j0a(24)|0;Tha(d);c[d>>2]=99304;e=d+16|0;c[e>>2]=0;c[d+20>>2]=0;c[d+12>>2]=e;e=c[s>>2]|0;if((e|0)==(d|0)){l=t;return}c[s>>2]=d;s=d+8|0;c[s>>2]=(c[s>>2]|0)+1;if(!e){l=t;return}r=e+8|0;s=c[r>>2]|0;c[r>>2]=s-1;if((s|0)!=1){l=t;return}UU(e,1,1);l=t;return}function mra(a){a=a|0;var b=0,d=0,e=0;b=c[a>>2]|0;if(b|0?(e=b+8|0,d=c[e>>2]|0,c[e>>2]=d-1,(d|0)==1):0)UU(b,1,1);c[a>>2]=0;return}function nra(a){a=a|0;c[a>>2]=99304;Kra(a+12|0,c[a+16>>2]|0);SU(a);return}function ora(a){a=a|0;c[a>>2]=99304;Kra(a+12|0,c[a+16>>2]|0);SU(a);l0a(a);return}function pra(a){a=a|0;var b=0;a=j0a(24)|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;c[a+12>>2]=0;c[a+16>>2]=0;c[a+20>>2]=0;Tha(a);c[a>>2]=99304;b=a+16|0;c[b>>2]=0;c[a+20>>2]=0;c[a+12>>2]=b;return a|0}function qra(a){a=a|0;var b=0,d=0;d=a+12|0;b=a+16|0;Kra(d,c[b>>2]|0);c[a+20>>2]=0;c[d>>2]=b;c[b>>2]=0;return}function rra(a){a=a|0;return c[a+20>>2]|0}function sra(a,b,d,e,f,g){a=a|0;b=b|0;d=+d;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0;I=l;l=l+144|0;A=I+128|0;D=I+124|0;E=I+120|0;F=I+20|0;G=I+8|0;B=I;C=a+12|0;h=c[C>>2]|0;n=a+16|0;if(!((h|0)!=(n|0)&(b|0)>0)){l=I;return}o=F+68|0;p=F+80|0;q=F+92|0;r=F+96|0;s=F+60|0;t=F+64|0;u=F+60|0;v=F+56|0;w=G+4|0;x=G+8|0;y=f+8|0;z=F+56|0;a=b;m=h;while(1){c[E>>2]=0;do if(yra(m+16|0,E)|0){if(!((c[(c[E>>2]|0)+188>>2]|0)>>>0>e>>>0^g)){Tha(o);c[o>>2]=68320;c[p>>2]=0;c[p+4>>2]=0;c[p+8>>2]=0;c[q>>2]=2;c[r>>2]=0;IR(F,99348,2);c[F>>2]=99372;c[o>>2]=99740;c[s>>2]=0;c[t>>2]=0;c[v>>2]=u;c[G>>2]=0;c[w>>2]=0;c[x>>2]=0;h=c[E>>2]|0;jk[c[(c[h>>2]|0)+272>>2]&0](h,d,e,G)|0;h=c[w>>2]|0;b=c[G>>2]|0;if((h|0)==(b|0))i=b;else{i=0;do{h=c[b+(i<<2)>>2]|0;Jk[c[(c[h>>2]|0)+212>>2]&1023](h,F);i=i+1|0;h=c[w>>2]|0;b=c[G>>2]|0}while(i>>>0<h-b>>2>>>0);i=b}b=c[v>>2]|0;if((b|0)==(u|0))b=i;else{do{zra(B,b+16|0);h=c[n>>2]|0;if(h){j=c[B>>2]|0;i=n;do{k=(c[h+16>>2]|0)>>>0<j>>>0;i=k?i:h;h=c[(k?h+4|0:h)>>2]|0}while((h|0)!=0);if((i|0)!=(n|0)?j>>>0>=(c[i+16>>2]|0)>>>0:0){c[D>>2]=i;c[A>>2]=c[D>>2];xra(C,A)|0;a=a+-1|0}else H=17}else H=17;if((H|0)==17)H=0;h=c[B>>2]|0;if(h|0?(j=h+8|0,k=c[j>>2]|0,c[j>>2]=k-1,(k|0)==1):0)UU(h,1,1);h=c[b+4>>2]|0;if(!h){h=b+8|0;i=c[h>>2]|0;if((c[i>>2]|0)==(b|0))b=i;else do{k=c[h>>2]|0;h=k+8|0;b=c[h>>2]|0}while((c[b>>2]|0)!=(k|0))}else{b=h;while(1){h=c[b>>2]|0;if(!h)break;else b=h}}}while((b|0)!=(u|0));b=c[G>>2]|0;h=c[w>>2]|0}if((b|0)==(h|0))i=b;else{do{k=c[b>>2]|0;i=(k|0)==0;if(!i){j=k+8|0;c[j>>2]=(c[j>>2]|0)+1}j=j0a(12)|0;c[j>>2]=0;c[j+8>>2]=k;if(!i){J=k+8|0;c[J>>2]=(c[J>>2]|0)+1}c[j+4>>2]=f;J=c[f>>2]|0;c[j>>2]=J;c[J+4>>2]=j;c[f>>2]=j;c[y>>2]=(c[y>>2]|0)+1;if(!i?(j=k+8|0,J=c[j>>2]|0,c[j>>2]=J-1,(J|0)==1):0)UU(k,1,1);b=b+4|0}while((b|0)!=(h|0));i=c[G>>2]|0}if(i|0){b=c[w>>2]|0;if((b|0)==(i|0))b=i;else{do{b=b+-4|0;h=c[b>>2]|0;if(h|0?(k=h+8|0,J=c[k>>2]|0,c[k>>2]=J-1,(J|0)==1):0)UU(h,1,1);c[b>>2]=0}while((b|0)!=(i|0));b=c[G>>2]|0}c[w>>2]=i;l0a(b)}c[F>>2]=99372;c[o>>2]=99740;Ara(z,c[u>>2]|0);Cy(F,99348);Pr(o)}b=c[m+4>>2]|0;if(!b){h=m+8|0;b=c[h>>2]|0;if((c[b>>2]|0)==(m|0))break;do{J=c[h>>2]|0;h=J+8|0;b=c[h>>2]|0}while((c[b>>2]|0)!=(J|0))}else{while(1){h=c[b>>2]|0;if(!h)break;else b=h}break}}else{b=c[m+4>>2]|0;if(!b){h=m+8|0;b=c[h>>2]|0;if((c[b>>2]|0)!=(m|0))do{J=c[h>>2]|0;h=J+8|0;b=c[h>>2]|0}while((c[b>>2]|0)!=(J|0))}else while(1){h=c[b>>2]|0;if(!h)break;else b=h}c[D>>2]=m;c[A>>2]=c[D>>2];xra(C,A)|0;a=a+-1|0;if(ZQ(4)|0){J=mr(lr(4)|0,183170,91)|0;BSa(A,J+(c[(c[J>>2]|0)+-12>>2]|0)|0);m=cUa(A,230580)|0;m=kk[c[(c[m>>2]|0)+28>>2]&511](m,10)|0;dUa(A);VSa(J,m)|0;HSa(J)|0}}while(0);h=c[E>>2]|0;if(h|0?(m=h+8|0,J=c[m>>2]|0,c[m>>2]=J-1,(J|0)==1):0)UU(h,1,1);if((b|0)!=(n|0)&(a|0)>0)m=b;else break}l=I;return}function tra(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0;m=l;l=l+16|0;i=m+12|0;j=m+8|0;k=m;d=c[b>>2]|0;g=b+4|0;if((d|0)==(c[g>>2]|0)){l=m;return}h=a+16|0;f=a+12|0;do{b=c[d>>2]|0;if(!b)b=0;else b=y1a(b,43184,46112,0)|0;wra(k,b);b=c[h>>2]|0;if(b|0){e=c[k>>2]|0;a=h;do{n=(c[b+16>>2]|0)>>>0<e>>>0;a=n?a:b;b=c[(n?b+4|0:b)>>2]|0}while((b|0)!=0);if((a|0)!=(h|0)?e>>>0>=(c[a+16>>2]|0)>>>0:0){if(ZQ(4)|0){n=mr(lr(4)|0,183137,32)|0;BSa(i,n+(c[(c[n>>2]|0)+-12>>2]|0)|0);e=cUa(i,230580)|0;e=kk[c[(c[e>>2]|0)+28>>2]&511](e,10)|0;dUa(i);VSa(n,e)|0;HSa(n)|0}c[j>>2]=a;c[i>>2]=c[j>>2];xra(f,i)|0}}b=c[k>>2]|0;if(b|0?(e=b+8|0,n=c[e>>2]|0,c[e>>2]=n-1,(n|0)==1):0)UU(b,1,1);d=d+4|0}while((d|0)!=(c[g>>2]|0));l=m;return}function ura(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;k=l;l=l+16|0;g=k;j=a+12|0;e=a+16|0;d=c[e>>2]|0;do if(d){i=c[b>>2]|0;e=d;do{f=c[e+16>>2]|0;if(i>>>0>=f>>>0){if(f>>>0>=i>>>0){h=8;break}e=e+4|0}e=c[e>>2]|0}while((e|0)!=0);if((h|0)==8){if(!(ZQ(3)|0)){l=k;return}e=mr(lr(3)|0,183071,46)|0;a=c[b>>2]|0;if((a|0)!=0?(c[a+24>>2]|0)!=0:0)d=c[b+4>>2]|0;else d=0;a=mr(USa(e,d)|0,183118,18)|0;BSa(g,a+(c[(c[a>>2]|0)+-12>>2]|0)|0);j=cUa(g,230580)|0;j=kk[c[(c[j>>2]|0)+28>>2]&511](j,10)|0;dUa(g);VSa(a,j)|0;HSa(a)|0;l=k;return}f=a+16|0;while(1){e=c[d+16>>2]|0;if(i>>>0<e>>>0){e=c[d>>2]|0;if(!e){h=16;break}else{f=d;d=e}}else{if(e>>>0>=i>>>0){h=20;break}f=d+4|0;e=c[f>>2]|0;if(!e){h=19;break}else d=e}}if((h|0)==16){g=d;f=d;break}else if((h|0)==19){g=d;break}else if((h|0)==20){g=d;break}}else{g=e;f=e}while(0);if(c[f>>2]|0){l=k;return}d=j0a(24)|0;e=c[b>>2]|0;c[d+16>>2]=e;if(e|0){i=e+8|0;c[i>>2]=(c[i>>2]|0)+1}c[d+20>>2]=c[b+4>>2];c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=g;c[f>>2]=d;e=c[c[j>>2]>>2]|0;if(e){c[j>>2]=e;d=c[f>>2]|0}fp(c[a+16>>2]|0,d);a=a+20|0;c[a>>2]=(c[a>>2]|0)+1;l=k;return}function vra(a,b){a=a|0;b=b|0;var d=0;a=c[a+16>>2]|0;if(!a){d=0;return d|0}d=c[b>>2]|0;while(1){b=c[a+16>>2]|0;if(d>>>0>=b>>>0){if(b>>>0>=d>>>0){a=1;b=8;break}a=a+4|0}a=c[a>>2]|0;if(!a){a=0;b=8;break}}if((b|0)==8)return a|0;return 0}function wra(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;c[a>>2]=0;if(!b){e=0;b=a+4|0;c[b>>2]=e;return}d=Vha(b)|0;e=c[a>>2]|0;if((e|0)!=(d|0)){c[a>>2]=d;if(d|0){d=d+8|0;c[d>>2]=(c[d>>2]|0)+1}if(e|0?(f=e+8|0,d=c[f>>2]|0,c[f>>2]=d-1,(d|0)==1):0)UU(e,1,1);d=c[a>>2]|0}if(!d){b=0;f=a+4|0;c[f>>2]=b;return}b=(c[d+24>>2]|0)==0?0:b;f=a+4|0;c[f>>2]=b;return}function xra(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;e=c[b>>2]|0;b=c[e+4>>2]|0;if(!b){b=e+8|0;d=c[b>>2]|0;if((c[d>>2]|0)!=(e|0))do{f=c[b>>2]|0;b=f+8|0;d=c[b>>2]|0}while((c[d>>2]|0)!=(f|0))}else{while(1){d=c[b>>2]|0;if(!d)break;else b=d}d=b}if((c[a>>2]|0)==(e|0))c[a>>2]=d;b=a+8|0;c[b>>2]=(c[b>>2]|0)+-1;Pw(c[a+4>>2]|0,e);b=c[e+16>>2]|0;if(!b){l0a(e);return d|0}a=b+8|0;f=c[a>>2]|0;c[a>>2]=f-1;if((f|0)!=1){l0a(e);return d|0}UU(b,1,1);l0a(e);return d|0}function yra(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=c[a>>2]|0;if(!d){d=c[b>>2]|0;if(!d){b=0;return b|0}c[b>>2]=0;e=d+8|0;b=c[e>>2]|0;c[e>>2]=b-1;if((b|0)!=1){b=0;return b|0}UU(d,1,1);b=0;return b|0}e=xU(d)|0;if(!e){d=c[b>>2]|0;if(!d){b=0;return b|0}c[b>>2]=0;e=d+8|0;b=c[e>>2]|0;c[e>>2]=b-1;if((b|0)!=1){b=0;return b|0}UU(d,1,1);b=0;return b|0}d=c[a+4>>2]|0;a=c[b>>2]|0;if((a|0)!=(d|0)){c[b>>2]=d;if(d|0){d=d+8|0;c[d>>2]=(c[d>>2]|0)+1}if(a|0?(f=a+8|0,d=c[f>>2]|0,c[f>>2]=d-1,(d|0)==1):0)UU(a,1,1)}Wha(e)|0;f=(c[b>>2]|0)!=0;return f|0}function zra(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;c[a>>2]=0;d=c[b>>2]|0;if(!d){e=0;b=a+4|0;c[b>>2]=e;return}d=Vha(d)|0;e=c[a>>2]|0;if((e|0)!=(d|0)){c[a>>2]=d;if(d|0){d=d+8|0;c[d>>2]=(c[d>>2]|0)+1}if(e|0?(f=e+8|0,d=c[f>>2]|0,c[f>>2]=d-1,(d|0)==1):0)UU(e,1,1);d=c[a>>2]|0}if(!d){b=0;f=a+4|0;c[f>>2]=b;return}b=(c[d+24>>2]|0)==0?0:c[b>>2]|0;f=a+4|0;c[f>>2]=b;return}function Ara(a,b){a=a|0;b=b|0;var d=0,e=0;if(!b)return;Ara(a,c[b>>2]|0);Ara(a,c[b+4>>2]|0);a=c[b+16>>2]|0;if(a|0?(e=a+8|0,d=c[e>>2]|0,c[e>>2]=d-1,(d|0)==1):0)UU(a,1,1);l0a(b);return}function Bra(a){a=a|0;var b=0;c[a>>2]=99372;b=a+68|0;c[b>>2]=99740;Ara(a+56|0,c[a+60>>2]|0);Cy(a,99348);Pr(b);return}function Cra(a){a=a|0;var b=0;c[a>>2]=99372;b=a+68|0;c[b>>2]=99740;Ara(a+56|0,c[a+60>>2]|0);Cy(a,99348);Pr(b);l0a(a);return}function Dra(a){a=a|0;return 171720}function Era(a){a=a|0;return 183262}function Fra(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;i=b+56|0;j=d+8|0;c[j>>2]=(c[j>>2]|0)+1;f=b+60|0;e=c[f>>2]|0;do if(e){g=b+60|0;while(1){f=c[e+16>>2]|0;if(f>>>0>d>>>0){f=c[e>>2]|0;if(!f){f=5;break}else{g=e;e=f}}else{if(f>>>0>=d>>>0){f=9;break}g=e+4|0;f=c[g>>2]|0;if(!f){f=8;break}else e=f}}if((f|0)==5){h=e;g=e;break}else if((f|0)==8){h=e;break}else if((f|0)==9){h=e;break}}else{h=f;g=f}while(0);if(!(c[g>>2]|0)){e=j0a(20)|0;c[e+16>>2]=d;c[j>>2]=(c[j>>2]|0)+1;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=h;c[g>>2]=e;f=c[c[i>>2]>>2]|0;if(f){c[i>>2]=f;e=c[g>>2]|0}fp(c[b+60>>2]|0,e);i=b+64|0;c[i>>2]=(c[i>>2]|0)+1}i=c[j>>2]|0;c[j>>2]=i-1;if((i|0)==1)UU(d,1,1);g=c[d+200>>2]|0;j=(c[d+204>>2]|0)-g|0;f=j>>6;if(j|0){e=0;do{h=c[g+(e<<6)+56>>2]|0;if(h|0?(k=y1a(h,47048,58512,0)|0,k|0):0)a[k+100>>0]=1;e=e+1|0}while(e>>>0<f>>>0)}switch(c[b+16>>2]|0){case 1:{Jk[c[(c[d>>2]|0)+216>>2]&1023](d,b);return}case 0:return;default:{Jk[c[(c[d>>2]|0)+220>>2]&1023](d,b);return}}}function Gra(a){a=a|0;var b=0;b=a+(c[(c[a>>2]|0)+-16>>2]|0)|0;c[b>>2]=99372;a=b+68|0;c[a>>2]=99740;Ara(b+56|0,c[b+60>>2]|0);Cy(b,99348);Pr(a);return}function Hra(a){a=a|0;var b=0;a=a+(c[(c[a>>2]|0)+-16>>2]|0)|0;c[a>>2]=99372;b=a+68|0;c[b>>2]=99740;Ara(a+56|0,c[a+60>>2]|0);Cy(a,99348);Pr(b);l0a(a);return}function Ira(a){a=a|0;return 171720}function Jra(a){a=a|0;return 183262}function Kra(a,b){a=a|0;b=b|0;var d=0,e=0;if(!b)return;Kra(a,c[b>>2]|0);Kra(a,c[b+4>>2]|0);a=c[b+16>>2]|0;if(a|0?(e=a+8|0,d=c[e>>2]|0,c[e>>2]=d-1,(d|0)==1):0)UU(a,1,1);l0a(b);return}function Lra(a,b,c,d,e,f,g,i,j,k,l,m,n,o,p,q,r){a=a|0;b=+b;c=+c;d=+d;e=+e;f=+f;g=+g;i=+i;j=+j;k=+k;l=+l;m=+m;n=+n;o=+o;p=+p;q=+q;r=+r;h[a>>3]=b;h[a+8>>3]=c;h[a+16>>3]=d;h[a+24>>3]=e;h[a+32>>3]=f;h[a+40>>3]=g;h[a+48>>3]=i;h[a+56>>3]=j;h[a+64>>3]=k;h[a+72>>3]=l;h[a+80>>3]=m;h[a+88>>3]=n;h[a+96>>3]=o;h[a+104>>3]=p;h[a+112>>3]=q;h[a+120>>3]=r;return}function Mra(a,b){a=a|0;b=b|0;var d=0.0,e=0.0,f=0,g=0,i=0.0,j=0.0,k=0,m=0,n=0,o=0,p=0.0,q=0.0,r=0;o=l;l=l+32|0;k=o;m=a+24|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;c[a+12>>2]=0;c[a+16>>2]=0;c[a+20>>2]=0;h[m>>3]=1.0;q=+h[b>>3];j=q+1.0;p=+h[b+40>>3];e=+h[b+80>>3];d=j+p+e;h[k>>3]=d;j=j-p-e;h[k+8>>3]=j;q=1.0-q;i=q+p-e;h[k+16>>3]=i;e=q-p+e;h[k+24>>3]=e;n=j>d&1;n=i>+h[k+(n<<3)>>3]?2:n;n=e>+h[k+(n<<3)>>3]?3:n;f=b+32|0;g=b+64|0;switch(n&3){case 0:{h[m>>3]=d;j=+h[b+48>>3]-+h[b+72>>3];h[a>>3]=j;i=+h[g>>3]-+h[b+16>>3];g=a+8|0;h[g>>3]=i;e=+h[b+8>>3]-+h[f>>3];f=a+16|0;h[f>>3]=e;b=g;break}case 1:{d=+h[b+48>>3]-+h[b+72>>3];h[m>>3]=d;h[a>>3]=j;i=+h[b+8>>3]+ +h[f>>3];r=a+8|0;h[r>>3]=i;e=+h[g>>3]+ +h[b+16>>3];f=a+16|0;h[f>>3]=e;b=r;break}case 2:{d=+h[g>>3]-+h[b+16>>3];h[m>>3]=d;j=+h[b+8>>3]+ +h[f>>3];h[a>>3]=j;r=a+8|0;h[r>>3]=i;e=+h[b+48>>3]+ +h[b+72>>3];f=a+16|0;h[f>>3]=e;b=r;break}default:{d=+h[b+8>>3]-+h[f>>3];h[m>>3]=d;j=+h[g>>3]+ +h[b+16>>3];h[a>>3]=j;i=+h[b+48>>3]+ +h[b+72>>3];b=a+8|0;h[b>>3]=i;f=a+16|0;h[f>>3]=e}}q=+B(+(.25/+h[k+(n<<3)>>3]));h[m>>3]=d*q;h[a>>3]=q*j;h[b>>3]=q*i;h[f>>3]=q*e;l=o;return}function Nra(a,b){a=a|0;b=b|0;var c=0.0,d=0.0;c=+h[a>>3];d=+h[b>>3];do if(!(c<d))if(!(d<c)){c=+h[a+8>>3];d=+h[b+8>>3];if(!(c<d))if(!(d<c)){c=+h[a+16>>3];d=+h[b+16>>3];if(!(c<d))if(!(d<c)){c=+h[a+24>>3];d=+h[b+24>>3];if(!(c<d))if(!(d<c)){c=+h[a+32>>3];d=+h[b+32>>3];if(!(c<d))if(!(d<c)){c=+h[a+40>>3];d=+h[b+40>>3];if(!(c<d))if(!(d<c)){c=+h[a+48>>3];d=+h[b+48>>3];if(!(c<d))if(!(d<c)){c=+h[a+56>>3];d=+h[b+56>>3];if(!(c<d))if(!(d<c)){c=+h[a+64>>3];d=+h[b+64>>3];if(!(c<d))if(!(d<c)){c=+h[a+72>>3];d=+h[b+72>>3];if(c<d)a=-1;else{if(d<c){a=1;break}c=+h[a+80>>3];d=+h[b+80>>3];if(c<d){a=-1;break}if(d<c){a=1;break}c=+h[a+88>>3];d=+h[b+88>>3];if(c<d){a=-1;break}if(d<c){a=1;break}c=+h[a+96>>3];d=+h[b+96>>3];if(c<d){a=-1;break}if(d<c){a=1;break}c=+h[a+104>>3];d=+h[b+104>>3];if(c<d){a=-1;break}if(d<c){a=1;break}c=+h[a+112>>3];d=+h[b+112>>3];if(c<d){a=-1;break}if(d<c){a=1;break}d=+h[a+120>>3];c=+h[b+120>>3];if(d<c){a=-1;break}if(c<d){a=1;break}a=0}}else a=1;else a=-1}else a=1;else a=-1}else a=1;else a=-1}else a=1;else a=-1}else a=1;else a=-1}else a=1;else a=-1}else a=1;else a=-1}else a=1;else a=-1}else a=1;else a=-1;while(0);return a|0}function Ora(a,b,c,d){a=a|0;b=+b;c=+c;d=+d;h[a+96>>3]=b;h[a+104>>3]=c;h[a+112>>3]=d;return}function Pra(a,b){a=a|0;b=b|0;h[a+96>>3]=+h[b>>3];h[a+104>>3]=+h[b+8>>3];h[a+112>>3]=+h[b+16>>3];return}function Qra(a){a=a|0;var b=0;h[a>>3]=1.0;b=a+8|0;c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;c[b+12>>2]=0;c[b+16>>2]=0;c[b+20>>2]=0;c[b+24>>2]=0;c[b+28>>2]=0;h[a+40>>3]=1.0;b=a+48|0;c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;c[b+12>>2]=0;c[b+16>>2]=0;c[b+20>>2]=0;c[b+24>>2]=0;c[b+28>>2]=0;h[a+80>>3]=1.0;b=a+88|0;c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;c[b+12>>2]=0;c[b+16>>2]=0;c[b+20>>2]=0;c[b+24>>2]=0;c[b+28>>2]=0;h[a+120>>3]=1.0;return}function Rra(a,b,d,e){a=a|0;b=+b;d=+d;e=+e;var f=0;h[a>>3]=b;f=a+8|0;c[f>>2]=0;c[f+4>>2]=0;c[f+8>>2]=0;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;h[a+40>>3]=d;f=a+48|0;c[f>>2]=0;c[f+4>>2]=0;c[f+8>>2]=0;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;h[a+80>>3]=e;f=a+88|0;c[f>>2]=0;c[f+4>>2]=0;c[f+8>>2]=0;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;h[a+120>>3]=1.0;return}function Sra(a,b,d,e){a=a|0;b=+b;d=+d;e=+e;var f=0;h[a>>3]=1.0;f=a+8|0;c[f>>2]=0;c[f+4>>2]=0;c[f+8>>2]=0;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;h[a+40>>3]=1.0;f=a+48|0;c[f>>2]=0;c[f+4>>2]=0;c[f+8>>2]=0;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;h[a+80>>3]=1.0;h[a+88>>3]=0.0;h[a+96>>3]=b;h[a+104>>3]=d;h[a+112>>3]=e;h[a+120>>3]=1.0;return}function Tra(a,b){a=a|0;b=b|0;var d=0.0,e=0.0,f=0.0,g=0.0,i=0,j=0,k=0,l=0,m=0.0,n=0,o=0.0,p=0.0,q=0.0,r=0.0,s=0.0,t=0.0,u=0.0,v=0.0,w=0.0;h[a>>3]=1.0;i=a+8|0;j=a+40|0;c[i>>2]=0;c[i+4>>2]=0;c[i+8>>2]=0;c[i+12>>2]=0;c[i+16>>2]=0;c[i+20>>2]=0;c[i+24>>2]=0;c[i+28>>2]=0;h[j>>3]=1.0;k=a+48|0;l=a+80|0;c[k>>2]=0;c[k+4>>2]=0;c[k+8>>2]=0;c[k+12>>2]=0;c[k+16>>2]=0;c[k+20>>2]=0;c[k+24>>2]=0;c[k+28>>2]=0;h[l>>3]=1.0;n=a+88|0;c[n>>2]=0;c[n+4>>2]=0;c[n+8>>2]=0;c[n+12>>2]=0;c[n+16>>2]=0;c[n+20>>2]=0;c[n+24>>2]=0;c[n+28>>2]=0;h[a+120>>3]=1.0;m=+h[b>>3];f=+h[b+8>>3];g=+h[b+16>>3];d=+h[b+24>>3];e=m*m+f*f+g*g+d*d;if(+A(+e)<=2.2250738585072014e-308){m=0.0;g=0.0;f=0.0;e=0.0;d=0.0;o=0.0;p=0.0;q=0.0;r=0.0;h[a>>3]=r;n=a+32|0;h[n>>3]=q;n=a+64|0;h[n>>3]=p;h[i>>3]=o;h[j>>3]=d;n=a+72|0;h[n>>3]=e;n=a+16|0;h[n>>3]=f;h[k>>3]=g;h[l>>3]=m;return}e=e!=1.0?2.0/e:2.0;o=m*e;r=f*e;e=g*e;w=m*o;u=m*r;v=m*e;t=f*r;m=f*e;s=g*e;o=d*o;f=d*r;e=d*e;r=1.0-(w+t);q=m+o;p=v-f;o=m-o;m=1.0-(w+s);g=u+e;f=v+f;e=u-e;d=1.0-(t+s);h[a>>3]=d;n=a+32|0;h[n>>3]=e;n=a+64|0;h[n>>3]=f;h[i>>3]=g;h[j>>3]=m;n=a+72|0;h[n>>3]=o;n=a+16|0;h[n>>3]=p;h[k>>3]=q;h[l>>3]=r;return}function Ura(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;if((b|0)==(a|0)){Vra(b,c);return}if((c|0)==(a|0)){Wra(a,b);return}else{f=b+8|0;v=c+32|0;i=b+16|0;u=c+64|0;k=b+24|0;t=c+96|0;h[a>>3]=+h[b>>3]*+h[c>>3]+ +h[f>>3]*+h[v>>3]+ +h[i>>3]*+h[u>>3]+ +h[k>>3]*+h[t>>3];s=c+8|0;r=c+40|0;q=c+72|0;p=c+104|0;h[a+8>>3]=+h[b>>3]*+h[s>>3]+ +h[f>>3]*+h[r>>3]+ +h[i>>3]*+h[q>>3]+ +h[k>>3]*+h[p>>3];o=c+16|0;n=c+48|0;m=c+80|0;l=c+112|0;h[a+16>>3]=+h[b>>3]*+h[o>>3]+ +h[f>>3]*+h[n>>3]+ +h[i>>3]*+h[m>>3]+ +h[k>>3]*+h[l>>3];j=c+24|0;g=c+56|0;e=c+88|0;d=c+120|0;h[a+24>>3]=+h[b>>3]*+h[j>>3]+ +h[f>>3]*+h[g>>3]+ +h[i>>3]*+h[e>>3]+ +h[k>>3]*+h[d>>3];k=b+32|0;i=b+40|0;f=b+48|0;w=b+56|0;h[a+32>>3]=+h[k>>3]*+h[c>>3]+ +h[i>>3]*+h[v>>3]+ +h[f>>3]*+h[u>>3]+ +h[w>>3]*+h[t>>3];h[a+40>>3]=+h[k>>3]*+h[s>>3]+ +h[i>>3]*+h[r>>3]+ +h[f>>3]*+h[q>>3]+ +h[w>>3]*+h[p>>3];h[a+48>>3]=+h[k>>3]*+h[o>>3]+ +h[i>>3]*+h[n>>3]+ +h[f>>3]*+h[m>>3]+ +h[w>>3]*+h[l>>3];h[a+56>>3]=+h[k>>3]*+h[j>>3]+ +h[i>>3]*+h[g>>3]+ +h[f>>3]*+h[e>>3]+ +h[w>>3]*+h[d>>3];w=b+64|0;f=b+72|0;i=b+80|0;k=b+88|0;h[a+64>>3]=+h[w>>3]*+h[c>>3]+ +h[f>>3]*+h[v>>3]+ +h[i>>3]*+h[u>>3]+ +h[k>>3]*+h[t>>3];h[a+72>>3]=+h[w>>3]*+h[s>>3]+ +h[f>>3]*+h[r>>3]+ +h[i>>3]*+h[q>>3]+ +h[k>>3]*+h[p>>3];h[a+80>>3]=+h[w>>3]*+h[o>>3]+ +h[f>>3]*+h[n>>3]+ +h[i>>3]*+h[m>>3]+ +h[k>>3]*+h[l>>3];h[a+88>>3]=+h[w>>3]*+h[j>>3]+ +h[f>>3]*+h[g>>3]+ +h[i>>3]*+h[e>>3]+ +h[k>>3]*+h[d>>3];k=b+96|0;i=b+104|0;f=b+112|0;b=b+120|0;h[a+96>>3]=+h[k>>3]*+h[c>>3]+ +h[i>>3]*+h[v>>3]+ +h[f>>3]*+h[u>>3]+ +h[b>>3]*+h[t>>3];h[a+104>>3]=+h[k>>3]*+h[s>>3]+ +h[i>>3]*+h[r>>3]+ +h[f>>3]*+h[q>>3]+ +h[b>>3]*+h[p>>3];h[a+112>>3]=+h[k>>3]*+h[o>>3]+ +h[i>>3]*+h[n>>3]+ +h[f>>3]*+h[m>>3]+ +h[b>>3]*+h[l>>3];h[a+120>>3]=+h[k>>3]*+h[j>>3]+ +h[i>>3]*+h[g>>3]+ +h[f>>3]*+h[e>>3]+ +h[b>>3]*+h[d>>3];return}}function Vra(a,b){a=a|0;b=b|0;var c=0.0,d=0,e=0.0,f=0,g=0.0,i=0,j=0,k=0.0,l=0,m=0.0,n=0,o=0.0,p=0.0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;n=b+32|0;l=b+64|0;j=b+96|0;B=b+8|0;A=b+40|0;z=b+72|0;y=b+104|0;x=b+16|0;w=b+48|0;v=b+80|0;u=b+112|0;t=b+24|0;s=b+56|0;r=b+88|0;q=b+120|0;c=+h[a>>3];d=a+8|0;e=+h[d>>3];f=a+16|0;g=+h[f>>3];i=a+24|0;k=+h[i>>3];m=c*+h[B>>3]+e*+h[A>>3]+g*+h[z>>3]+k*+h[y>>3];o=c*+h[x>>3]+e*+h[w>>3]+g*+h[v>>3]+k*+h[u>>3];p=c*+h[t>>3]+e*+h[s>>3]+g*+h[r>>3]+k*+h[q>>3];h[a>>3]=c*+h[b>>3]+e*+h[n>>3]+g*+h[l>>3]+k*+h[j>>3];h[d>>3]=m;h[f>>3]=o;h[i>>3]=p;i=a+32|0;p=+h[i>>3];f=a+40|0;o=+h[f>>3];d=a+48|0;m=+h[d>>3];C=a+56|0;k=+h[C>>3];g=p*+h[B>>3]+o*+h[A>>3]+m*+h[z>>3]+k*+h[y>>3];e=p*+h[x>>3]+o*+h[w>>3]+m*+h[v>>3]+k*+h[u>>3];c=p*+h[t>>3]+o*+h[s>>3]+m*+h[r>>3]+k*+h[q>>3];h[i>>3]=p*+h[b>>3]+o*+h[n>>3]+m*+h[l>>3]+k*+h[j>>3];h[f>>3]=g;h[d>>3]=e;h[C>>3]=c;C=a+64|0;c=+h[C>>3];d=a+72|0;e=+h[d>>3];f=a+80|0;g=+h[f>>3];i=a+88|0;k=+h[i>>3];m=c*+h[B>>3]+e*+h[A>>3]+g*+h[z>>3]+k*+h[y>>3];o=c*+h[x>>3]+e*+h[w>>3]+g*+h[v>>3]+k*+h[u>>3];p=c*+h[t>>3]+e*+h[s>>3]+g*+h[r>>3]+k*+h[q>>3];h[C>>3]=c*+h[b>>3]+e*+h[n>>3]+g*+h[l>>3]+k*+h[j>>3];h[d>>3]=m;h[f>>3]=o;h[i>>3]=p;i=a+96|0;p=+h[i>>3];f=a+104|0;o=+h[f>>3];d=a+112|0;m=+h[d>>3];a=a+120|0;k=+h[a>>3];g=p*+h[B>>3]+o*+h[A>>3]+m*+h[z>>3]+k*+h[y>>3];e=p*+h[x>>3]+o*+h[w>>3]+m*+h[v>>3]+k*+h[u>>3];c=p*+h[t>>3]+o*+h[s>>3]+m*+h[r>>3]+k*+h[q>>3];h[i>>3]=p*+h[b>>3]+o*+h[n>>3]+m*+h[l>>3]+k*+h[j>>3];h[f>>3]=g;h[d>>3]=e;h[a>>3]=c;return}function Wra(a,b){a=a|0;b=b|0;var c=0.0,d=0,e=0.0,f=0,g=0.0,i=0,j=0.0,k=0,l=0.0,m=0,n=0.0,o=0,p=0.0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;o=b+8|0;m=b+16|0;k=b+24|0;B=b+32|0;A=b+40|0;z=b+48|0;y=b+56|0;x=b+64|0;w=b+72|0;v=b+80|0;u=b+88|0;t=b+96|0;s=b+104|0;r=b+112|0;q=b+120|0;c=+h[a>>3];d=a+32|0;e=+h[d>>3];f=a+64|0;g=+h[f>>3];i=a+96|0;j=+h[i>>3];l=c*+h[B>>3]+e*+h[A>>3]+g*+h[z>>3]+j*+h[y>>3];n=c*+h[x>>3]+e*+h[w>>3]+g*+h[v>>3]+j*+h[u>>3];p=c*+h[t>>3]+e*+h[s>>3]+g*+h[r>>3]+j*+h[q>>3];h[a>>3]=+h[b>>3]*c+ +h[o>>3]*e+ +h[m>>3]*g+ +h[k>>3]*j;h[d>>3]=l;h[f>>3]=n;h[i>>3]=p;i=a+8|0;p=+h[i>>3];f=a+40|0;n=+h[f>>3];d=a+72|0;l=+h[d>>3];C=a+104|0;j=+h[C>>3];g=p*+h[B>>3]+n*+h[A>>3]+l*+h[z>>3]+j*+h[y>>3];e=p*+h[x>>3]+n*+h[w>>3]+l*+h[v>>3]+j*+h[u>>3];c=p*+h[t>>3]+n*+h[s>>3]+l*+h[r>>3]+j*+h[q>>3];h[i>>3]=+h[b>>3]*p+ +h[o>>3]*n+ +h[m>>3]*l+ +h[k>>3]*j;h[f>>3]=g;h[d>>3]=e;h[C>>3]=c;C=a+16|0;c=+h[C>>3];d=a+48|0;e=+h[d>>3];f=a+80|0;g=+h[f>>3];i=a+112|0;j=+h[i>>3];l=c*+h[B>>3]+e*+h[A>>3]+g*+h[z>>3]+j*+h[y>>3];n=c*+h[x>>3]+e*+h[w>>3]+g*+h[v>>3]+j*+h[u>>3];p=c*+h[t>>3]+e*+h[s>>3]+g*+h[r>>3]+j*+h[q>>3];h[C>>3]=+h[b>>3]*c+ +h[o>>3]*e+ +h[m>>3]*g+ +h[k>>3]*j;h[d>>3]=l;h[f>>3]=n;h[i>>3]=p;i=a+24|0;p=+h[i>>3];f=a+56|0;n=+h[f>>3];d=a+88|0;l=+h[d>>3];a=a+120|0;j=+h[a>>3];g=p*+h[B>>3]+n*+h[A>>3]+l*+h[z>>3]+j*+h[y>>3];e=p*+h[x>>3]+n*+h[w>>3]+l*+h[v>>3]+j*+h[u>>3];c=p*+h[t>>3]+n*+h[s>>3]+l*+h[r>>3]+j*+h[q>>3];h[i>>3]=+h[b>>3]*p+ +h[o>>3]*n+ +h[m>>3]*l+ +h[k>>3]*j;h[f>>3]=g;h[d>>3]=e;h[a>>3]=c;return}function Xra(a,b){a=a|0;b=b|0;var d=0.0,e=0.0,f=0.0,g=0.0,i=0,j=0,k=0.0,m=0,n=0.0,o=0.0,p=0.0,q=0.0,r=0.0,s=0,t=0.0,u=0.0,v=0.0;s=l;l=l+128|0;m=s;if((b|0)==(a|0)){h[m>>3]=+h[b>>3];h[m+8>>3]=+h[b+8>>3];h[m+16>>3]=+h[b+16>>3];h[m+24>>3]=+h[b+24>>3];h[m+32>>3]=+h[b+32>>3];h[m+40>>3]=+h[b+40>>3];h[m+48>>3]=+h[b+48>>3];h[m+56>>3]=+h[b+56>>3];h[m+64>>3]=+h[b+64>>3];h[m+72>>3]=+h[b+72>>3];h[m+80>>3]=+h[b+80>>3];h[m+88>>3]=+h[b+88>>3];h[m+96>>3]=+h[b+96>>3];h[m+104>>3]=+h[b+104>>3];h[m+112>>3]=+h[b+112>>3];h[m+120>>3]=+h[b+120>>3];Xra(b,m)|0;l=s;return 1}t=+h[b>>3];k=+h[b+8>>3];e=+h[b+16>>3];g=+h[b+32>>3];u=+h[b+40>>3];d=+h[b+48>>3];v=+h[b+64>>3];f=+h[b+72>>3];r=+h[b+80>>3];n=u*r-d*f;o=e*f-k*r;q=k*d-e*u;p=1.0/(v*q+(t*n+g*o));t=t*p;g=g*p;v=v*p;n=n*p;h[a>>3]=n;o=o*p;h[a+8>>3]=o;p=q*p;h[a+16>>3]=p;h[a+24>>3]=0.0;q=d*v-r*g;h[a+32>>3]=q;r=r*t-e*v;h[a+40>>3]=r;d=e*g-d*t;h[a+48>>3]=d;h[a+56>>3]=0.0;e=f*g-u*v;h[a+64>>3]=e;f=k*v-f*t;h[a+72>>3]=f;g=u*t-k*g;h[a+80>>3]=g;h[a+88>>3]=0.0;i=a+96|0;h[a+120>>3]=1.0;j=b+96|0;k=+h[b+120>>3];t=k+-1.0;if(t*t>1.0e-06){c[i>>2]=0;c[i+4>>2]=0;c[i+8>>2]=0;c[i+12>>2]=0;c[i+16>>2]=0;c[i+20>>2]=0;v=+h[b+24>>3];u=+h[b+56>>3];t=+h[b+88>>3];o=n*v+o*u+p*t;p=q*v+r*u+d*t;q=e*v+f*u+g*t;r=+h[j>>3];t=+h[b+104>>3];u=+h[b+112>>3];v=1.0/(k-(r*o+t*p+q*u));r=r*v;t=t*v;u=u*v;h[m>>3]=o*r+1.0;h[m+8>>3]=o*t;h[m+16>>3]=o*u;h[m+24>>3]=-(o*v);h[m+32>>3]=p*r;h[m+40>>3]=p*t+1.0;h[m+48>>3]=p*u;h[m+56>>3]=-(p*v);h[m+64>>3]=q*r;h[m+72>>3]=q*t;h[m+80>>3]=q*u+1.0;h[m+88>>3]=-(q*v);h[m+96>>3]=-r;h[m+104>>3]=-t;h[m+112>>3]=-u;h[m+120>>3]=v;Wra(a,m);l=s;return 1}else{t=+h[j>>3];u=+h[b+104>>3];v=+h[b+112>>3];h[i>>3]=-(n*t+q*u+e*v);h[a+104>>3]=-(o*t+r*u+f*v);h[a+112>>3]=-(p*t+d*u+g*v);l=s;return 1}return 0}function Yra(a,b){a=a|0;b=b|0;var d=0,e=0,f=0.0,g=0,i=0,j=0,k=0.0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0;aa=l;l=l+160|0;$=aa+32|0;_=aa+16|0;W=aa;if((b|0)==(a|0)){h[$>>3]=+h[b>>3];h[$+8>>3]=+h[b+8>>3];h[$+16>>3]=+h[b+16>>3];h[$+24>>3]=+h[b+24>>3];h[$+32>>3]=+h[b+32>>3];h[$+40>>3]=+h[b+40>>3];h[$+48>>3]=+h[b+48>>3];h[$+56>>3]=+h[b+56>>3];h[$+64>>3]=+h[b+64>>3];h[$+72>>3]=+h[b+72>>3];h[$+80>>3]=+h[b+80>>3];h[$+88>>3]=+h[b+88>>3];h[$+96>>3]=+h[b+96>>3];h[$+104>>3]=+h[b+104>>3];h[$+112>>3]=+h[b+112>>3];h[$+120>>3]=+h[b+120>>3];a=Yra(b,$)|0;l=aa;return a|0}h[a>>3]=+h[b>>3];X=a+8|0;h[X>>3]=+h[b+8>>3];Y=a+16|0;h[Y>>3]=+h[b+16>>3];Z=a+24|0;h[Z>>3]=+h[b+24>>3];h[a+32>>3]=+h[b+32>>3];h[a+40>>3]=+h[b+40>>3];h[a+48>>3]=+h[b+48>>3];h[a+56>>3]=+h[b+56>>3];h[a+64>>3]=+h[b+64>>3];h[a+72>>3]=+h[b+72>>3];h[a+80>>3]=+h[b+80>>3];h[a+88>>3]=+h[b+88>>3];h[a+96>>3]=+h[b+96>>3];h[a+104>>3]=+h[b+104>>3];h[a+112>>3]=+h[b+112>>3];h[a+120>>3]=+h[b+120>>3];c[W>>2]=0;c[W+4>>2]=0;c[W+8>>2]=0;c[W+12>>2]=0;n=W+4|0;o=W+8|0;p=W+12|0;U=a+32|0;q=W+4|0;r=a+96|0;s=a+64|0;t=a+40|0;u=W+8|0;v=a+32|0;w=a+40|0;x=a+48|0;y=a+56|0;z=a+96|0;A=a+104|0;B=a+112|0;C=a+120|0;D=a+64|0;E=a+72|0;F=a+80|0;G=a+88|0;H=a+104|0;I=a+72|0;J=W+8|0;K=W+12|0;L=a+112|0;M=a+80|0;N=a+48|0;O=W+12|0;P=a+120|0;Q=W+12|0;R=a+56|0;S=W+12|0;T=a+88|0;b=0;e=0;d=0;m=0;a:while(1){b:do switch(m|0){case 1:{f=0.0;j=c[n>>2]|0;break}case 0:{f=+h[a>>3];f=f>=0.0?f:-f;g=!(f>=0.0);d=g?d:0;e=g?e:0;f=g?0.0:f;g=c[q>>2]|0;switch(g|0){case 0:{k=+h[X>>3];k=k>=0.0?k:-k;if(k>=f){f=k;e=0;d=1}break}case 1:break;default:{b=0;break a}}switch(c[u>>2]|0){case 0:{k=+h[Y>>3];k=k>=0.0?k:-k;if(k>=f){f=k;e=0;d=2}break}case 1:break;default:{b=0;break a}}switch(c[K>>2]|0){case 1:{j=g;break b}case 0:break;default:{b=0;break a}}k=+h[Z>>3];k=k>=0.0?k:-k;if(!(k>=f))j=g;else{f=k;e=0;d=3;j=g}break}default:{b=0;break a}}while(0);c:do if((j|0)!=1){switch(m|0){case 0:{k=+h[U>>3];k=k>=0.0?k:-k;if(k>=f){f=k;e=1;d=0}break}case 1:break;default:{b=0;break a}}if(j|0){b=0;break a}k=+h[t>>3];k=k>=0.0?k:-k;g=!(k>=f);d=g?d:1;e=g?e:1;f=g?f:k;g=c[J>>2]|0;switch(g|0){case 0:{k=+h[N>>3];k=k>=0.0?k:-k;if(k>=f){f=k;e=1;d=2}break}case 1:break;default:{b=0;break a}}switch(c[O>>2]|0){case 1:{i=g;break c}case 0:break;default:{b=0;break a}}k=+h[R>>3];k=k>=0.0?k:-k;if(!(k>=f))i=g;else{f=k;e=1;d=3;i=g}}else i=c[o>>2]|0;while(0);d:do if((i|0)==1){g=c[p>>2]|0;if((g|0)==1)V=65;else V=53}else{switch(m|0){case 0:{k=+h[s>>3];k=k>=0.0?k:-k;if(k>=f){f=k;e=2;d=0}break}case 1:break;default:{b=0;break a}}switch(j|0){case 0:{k=+h[I>>3];k=k>=0.0?k:-k;if(k>=f){f=k;e=2;d=1}break}case 1:break;default:{b=0;break a}}if(i|0){b=0;break a}k=+h[M>>3];k=k>=0.0?k:-k;g=!(k>=f);d=g?d:2;e=g?e:2;f=g?f:k;switch(c[Q>>2]|0){case 1:{V=65;break d}case 0:break;default:{b=0;break a}}k=+h[T>>3];k=k>=0.0?k:-k;if(!(k>=f)){g=0;V=53}else{f=k;e=2;d=3;g=0;V=53}}while(0);if((V|0)==53){V=0;switch(m|0){case 0:{k=+h[r>>3];k=k>=0.0?k:-k;if(k>=f){f=k;e=3;d=0}break}case 1:break;default:{b=0;break a}}switch(j|0){case 0:{k=+h[H>>3];k=k>=0.0?k:-k;if(!(k>=f))k=f;else{e=3;d=1}break}case 1:{k=f;break}default:{b=0;break a}}switch(i|0){case 0:{f=+h[L>>3];f=f>=0.0?f:-f;if(!(f>=k))f=k;else{e=3;d=2}break}case 1:{f=k;break}default:{b=0;break a}}if(g|0){b=0;break}k=+h[P>>3];if(!((k>=0.0?k:-k)>=f))V=65;else{c[S>>2]=(c[S>>2]|0)+1;m=3;d=3}}if((V|0)==65){V=0;m=W+(d<<2)|0;c[m>>2]=(c[m>>2]|0)+1;if((e|0)==(d|0))m=e;else{m=a+(e<<5)|0;k=+h[m>>3];j=a+(d<<5)|0;h[m>>3]=+h[j>>3];h[j>>3]=k;j=a+(e<<5)+8|0;k=+h[j>>3];m=a+(d<<5)+8|0;h[j>>3]=+h[m>>3];h[m>>3]=k;m=a+(e<<5)+16|0;k=+h[m>>3];j=a+(d<<5)+16|0;h[m>>3]=+h[j>>3];h[j>>3]=k;j=a+(e<<5)+24|0;k=+h[j>>3];m=a+(d<<5)+24|0;h[j>>3]=+h[m>>3];h[m>>3]=k;m=e}}c[_+(b<<2)>>2]=m;c[$+(b<<2)>>2]=d;e=a+(d<<5)+(d<<3)|0;f=+h[e>>3];if(f==0.0){b=0;break}k=1.0/f;h[e>>3]=1.0;e=a+(d<<5)|0;h[e>>3]=k*+h[e>>3];g=a+(d<<5)+8|0;h[g>>3]=k*+h[g>>3];i=a+(d<<5)+16|0;h[i>>3]=k*+h[i>>3];j=a+(d<<5)+24|0;h[j>>3]=k*+h[j>>3];if((d|0)!=0?(V=a+(d<<3)|0,k=+h[V>>3],h[V>>3]=0.0,h[a>>3]=+h[a>>3]-k*+h[e>>3],h[X>>3]=+h[X>>3]-k*+h[g>>3],h[Y>>3]=+h[Y>>3]-k*+h[i>>3],h[Z>>3]=+h[Z>>3]-k*+h[j>>3],(d|0)==1):0)V=67;else{V=a+32+(d<<3)|0;k=+h[V>>3];h[V>>3]=0.0;h[v>>3]=+h[v>>3]-k*+h[e>>3];h[w>>3]=+h[w>>3]-k*+h[g>>3];h[x>>3]=+h[x>>3]-k*+h[i>>3];h[y>>3]=+h[y>>3]-k*+h[j>>3];if((d|0)==2)V=68;else V=67}if((V|0)==67?(V=0,ba=a+64+(d<<3)|0,k=+h[ba>>3],h[ba>>3]=0.0,h[D>>3]=+h[D>>3]-k*+h[e>>3],h[E>>3]=+h[E>>3]-k*+h[g>>3],h[F>>3]=+h[F>>3]-k*+h[i>>3],h[G>>3]=+h[G>>3]-k*+h[j>>3],(d|0)!=3):0)V=68;if((V|0)==68){V=0;ba=a+96+(d<<3)|0;k=+h[ba>>3];h[ba>>3]=0.0;h[z>>3]=+h[z>>3]-k*+h[e>>3];h[A>>3]=+h[A>>3]-k*+h[g>>3];h[B>>3]=+h[B>>3]-k*+h[i>>3];h[C>>3]=+h[C>>3]-k*+h[j>>3]}b=b+1|0;if(b>>>0>=4){V=13;break}e=m;m=c[W>>2]|0}if((V|0)==13){b=c[_+12>>2]|0;d=c[$+12>>2]|0;if((b|0)!=(d|0)){ba=a+(b<<3)|0;k=+h[ba>>3];Z=a+(d<<3)|0;h[ba>>3]=+h[Z>>3];h[Z>>3]=k;Z=a+32+(b<<3)|0;k=+h[Z>>3];ba=a+32+(d<<3)|0;h[Z>>3]=+h[ba>>3];h[ba>>3]=k;ba=a+64+(b<<3)|0;k=+h[ba>>3];Z=a+64+(d<<3)|0;h[ba>>3]=+h[Z>>3];h[Z>>3]=k;Z=a+96+(b<<3)|0;k=+h[Z>>3];ba=a+96+(d<<3)|0;h[Z>>3]=+h[ba>>3];h[ba>>3]=k}b=c[_+8>>2]|0;d=c[$+8>>2]|0;if((b|0)!=(d|0)){ba=a+(b<<3)|0;k=+h[ba>>3];Z=a+(d<<3)|0;h[ba>>3]=+h[Z>>3];h[Z>>3]=k;Z=a+32+(b<<3)|0;k=+h[Z>>3];ba=a+32+(d<<3)|0;h[Z>>3]=+h[ba>>3];h[ba>>3]=k;ba=a+64+(b<<3)|0;k=+h[ba>>3];Z=a+64+(d<<3)|0;h[ba>>3]=+h[Z>>3];h[Z>>3]=k;Z=a+96+(b<<3)|0;k=+h[Z>>3];ba=a+96+(d<<3)|0;h[Z>>3]=+h[ba>>3];h[ba>>3]=k}b=c[_+4>>2]|0;d=c[$+4>>2]|0;if((b|0)!=(d|0)){ba=a+(b<<3)|0;k=+h[ba>>3];Z=a+(d<<3)|0;h[ba>>3]=+h[Z>>3];h[Z>>3]=k;Z=a+32+(b<<3)|0;k=+h[Z>>3];ba=a+32+(d<<3)|0;h[Z>>3]=+h[ba>>3];h[ba>>3]=k;ba=a+64+(b<<3)|0;k=+h[ba>>3];Z=a+64+(d<<3)|0;h[ba>>3]=+h[Z>>3];h[Z>>3]=k;Z=a+96+(b<<3)|0;k=+h[Z>>3];ba=a+96+(d<<3)|0;h[Z>>3]=+h[ba>>3];h[ba>>3]=k}d=c[_>>2]|0;b=c[$>>2]|0;if((d|0)==(b|0))b=1;else{$=a+(d<<3)|0;k=+h[$>>3];ba=a+(b<<3)|0;h[$>>3]=+h[ba>>3];h[ba>>3]=k;ba=a+32+(d<<3)|0;k=+h[ba>>3];$=a+32+(b<<3)|0;h[ba>>3]=+h[$>>3];h[$>>3]=k;$=a+64+(d<<3)|0;k=+h[$>>3];ba=a+64+(b<<3)|0;h[$>>3]=+h[ba>>3];h[ba>>3]=k;ba=a+96+(d<<3)|0;k=+h[ba>>3];b=a+96+(b<<3)|0;h[ba>>3]=+h[b>>3];h[b>>3]=k;b=1}}ba=b;l=aa;return ba|0}function Zra(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;var i=0,j=0;if(+h[a+24>>3]!=0.0){g=0;return g|0}if(+h[a+56>>3]!=0.0){g=0;return g|0}if(+h[a+88>>3]!=0.0){g=0;return g|0}if(+h[a+120>>3]!=1.0){g=0;return g|0}j=a+112|0;i=a+80|0;h[f>>3]=(+h[j>>3]+1.0)/+h[i>>3];h[g>>3]=(+h[j>>3]+-1.0)/+h[i>>3];f=a+96|0;h[b>>3]=-(+h[f>>3]+1.0)/+h[a>>3];h[c>>3]=(1.0-+h[f>>3])/+h[a>>3];f=a+104|0;g=a+40|0;h[d>>3]=-(+h[f>>3]+1.0)/+h[g>>3];h[e>>3]=(1.0-+h[f>>3])/+h[g>>3];g=1;return g|0}function _ra(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;var i=0.0,j=0.0,k=0.0,l=0;if(+h[a+24>>3]!=0.0){g=0;return g|0}if(+h[a+56>>3]!=0.0){g=0;return g|0}if(+h[a+88>>3]!=-1.0){g=0;return g|0}if(+h[a+120>>3]!=0.0){g=0;return g|0}j=+h[a+112>>3];i=+h[a+80>>3];k=j/(i+-1.0);l=a+64|0;h[b>>3]=k*(+h[l>>3]+-1.0)/+h[a>>3];h[c>>3]=k*(+h[l>>3]+1.0)/+h[a>>3];b=a+72|0;c=a+40|0;h[e>>3]=k*(+h[b>>3]+1.0)/+h[c>>3];h[d>>3]=k*(+h[b>>3]+-1.0)/+h[c>>3];h[f>>3]=k;h[g>>3]=j/(i+1.0);g=1;return g|0}function $ra(a,b,d,e,f){a=a|0;b=+b;d=+d;e=+e;f=+f;var g=0.0,i=0.0,j=0.0,k=0.0,l=0;g=+F(+(b*.5*3.141592653589793/180.0));d=g*d*e;g=g*e;i=d+d;j=g+g;if(+A(+f)>1797693134862315708145274.0e284){k=-1.0;b=e*-2.0}else{b=f-e;k=-(e+f)/b;b=f*-2.0*e/b}e=e*2.0;h[a>>3]=e/i;l=a+8|0;c[l>>2]=0;c[l+4>>2]=0;c[l+8>>2]=0;c[l+12>>2]=0;c[l+16>>2]=0;c[l+20>>2]=0;c[l+24>>2]=0;c[l+28>>2]=0;h[a+40>>3]=e/j;l=a+48|0;c[l>>2]=0;c[l+4>>2]=0;c[l+8>>2]=0;c[l+12>>2]=0;h[a+64>>3]=(d-d)/i;h[a+72>>3]=(g-g)/j;h[a+80>>3]=k;h[a+88>>3]=-1.0;l=a+96|0;c[l>>2]=0;c[l+4>>2]=0;c[l+8>>2]=0;c[l+12>>2]=0;h[a+112>>3]=b;h[a+120>>3]=0.0;return}function asa(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0.0,g=0.0,i=0.0,j=0.0,k=0.0,l=0.0,m=0.0,n=0.0;if(((!(+h[a+24>>3]!=0.0)?!(+h[a+56>>3]!=0.0):0)?!(+h[a+88>>3]!=-1.0):0)?!(+h[a+120>>3]!=0.0):0){i=+h[a+112>>3];g=+h[a+80>>3];f=i/(g+-1.0);m=+h[a+64>>3];l=+h[a>>3];n=+h[a+72>>3];j=+h[a+40>>3];k=f*(n+1.0)/j;j=f*(n+-1.0)/j;h[b>>3]=(+I(+(k/f))-+I(+(j/f)))*180.0/3.141592653589793;h[c>>3]=(f*(m+1.0)/l-f*(m+-1.0)/l)/(k-j);a=1;g=i/(g+1.0)}else{a=0;f=0.0;g=0.0}h[d>>3]=f;h[e>>3]=g;return a|0}function bsa(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;f=a+8|0;g=c[a>>2]|0;if((c[f>>2]|0)-g>>4>>>0>=b>>>0)return;h=a+4|0;if(b>>>0>268435455){h=db(8)|0;p0a(h,183738);c[h>>2]=110936;hb(h|0,65952,1066)}d=(c[h>>2]|0)-g|0;e=j0a(b<<4)|0;if((d|0)>0)x2a(e|0,g|0,d|0)|0;c[a>>2]=e;c[h>>2]=e+(d>>4<<4);c[f>>2]=e+(b<<4);if(!g)return;l0a(g);return}function csa(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;i=a+4|0;j=c[a>>2]|0;k=(c[i>>2]|0)-j|0;g=k>>4;d=g+1|0;if(d>>>0>268435455)g1a(a);l=a+8|0;f=(c[l>>2]|0)-j|0;h=f>>3;h=f>>4>>>0<134217727?(h>>>0<d>>>0?d:h):268435455;do if(h)if(h>>>0>268435455){l=db(8)|0;p0a(l,183738);c[l>>2]=110936;hb(l|0,65952,1066)}else{f=j0a(h<<4)|0;e=f;break}else{e=0;f=0}while(0);d=e+(g<<4)|0;c[d>>2]=c[b>>2];c[d+4>>2]=c[b+4>>2];c[d+8>>2]=c[b+8>>2];c[d+12>>2]=c[b+12>>2];if((k|0)>0)x2a(f|0,j|0,k|0)|0;c[a>>2]=e;c[i>>2]=d+16;c[l>>2]=e+(h<<4);if(!j)return;l0a(j);return}function dsa(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,i=0,j=0,k=0.0,m=0,n=0,o=0,p=0,q=0.0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0.0,E=0.0;C=l;l=l+32|0;A=C+16|0;y=C;c[A>>2]=0;B=A+4|0;c[B>>2]=0;p=A+8|0;c[p>>2]=0;z=b+4|0;JW(A,(c[z>>2]|0)-(c[b>>2]|0)>>4);i=c[b>>2]|0;f=c[z>>2]|0;if((i|0)==(f|0)){a=i;f=i}else{m=a+8|0;n=a+16|0;o=a+24|0;do{k=+h[o>>3]+(+h[a>>3]*+g[i+4>>2]+ +h[m>>3]*+g[i+8>>2]+ +h[n>>3]*+g[i+12>>2]);g[y>>2]=k;j=c[B>>2]|0;if(j>>>0<(c[p>>2]|0)>>>0){g[j>>2]=k;c[B>>2]=j+4}else{esa(A,y);f=c[z>>2]|0}i=i+16|0}while((i|0)!=(f|0));f=c[b>>2]|0;a=f}j=c[d>>2]|0;x=d+4|0;c[x>>2]=j;f=(c[z>>2]|0)-f|0;if(!f){i=j;f=j}else{w=d+8|0;r=y+4|0;t=y+8|0;u=y+12|0;p=y+4|0;s=y+8|0;v=y+12|0;o=0;f=f>>4;do{n=o;o=o+1|0;m=(o>>>0)%(f>>>0)|0;f=c[A>>2]|0;q=+g[f+(n<<2)>>2];if(!(q>=0.0)){k=+g[f+(m<<2)>>2];if(k>0.0){E=k/(k-q);q=1.0-E;D=E*+g[a+(n<<4)+4>>2]+q*+g[a+(m<<4)+4>>2];k=E*+g[a+(n<<4)+8>>2]+q*+g[a+(m<<4)+8>>2];q=E*+g[a+(n<<4)+12>>2]+q*+g[a+(m<<4)+12>>2];c[y>>2]=c[a+(m<<4)>>2]&c[a+(n<<4)>>2]|e;g[r>>2]=D;g[t>>2]=k;g[u>>2]=q;f=c[x>>2]|0;if(f>>>0<(c[w>>2]|0)>>>0){c[f>>2]=c[y>>2];c[f+4>>2]=c[y+4>>2];c[f+8>>2]=c[y+8>>2];c[f+12>>2]=c[y+12>>2];c[x>>2]=(c[x>>2]|0)+16}else csa(d,y)}}else{i=a+(n<<4)|0;j=c[x>>2]|0;if((j|0)==(c[w>>2]|0)){fsa(d,i);f=c[A>>2]|0}else{c[j>>2]=c[i>>2];c[j+4>>2]=c[i+4>>2];c[j+8>>2]=c[i+8>>2];c[j+12>>2]=c[i+12>>2];c[x>>2]=(c[x>>2]|0)+16}k=+g[f+(m<<2)>>2];if(k<0.0){a=c[b>>2]|0;k=k/(k-+g[f+(n<<2)>>2]);E=1.0-k;q=+g[a+(n<<4)+4>>2]*k+E*+g[a+(m<<4)+4>>2];D=k*+g[a+(n<<4)+8>>2]+E*+g[a+(m<<4)+8>>2];E=k*+g[a+(n<<4)+12>>2]+E*+g[a+(m<<4)+12>>2];c[y>>2]=c[a+(m<<4)>>2]&c[a+(n<<4)>>2]|e;g[p>>2]=q;g[s>>2]=D;g[v>>2]=E;f=c[x>>2]|0;if(f>>>0<(c[w>>2]|0)>>>0){c[f>>2]=c[y>>2];c[f+4>>2]=c[y+4>>2];c[f+8>>2]=c[y+8>>2];c[f+12>>2]=c[y+12>>2];c[x>>2]=(c[x>>2]|0)+16}else csa(d,y)}}a=c[b>>2]|0;f=(c[z>>2]|0)-a>>4}while(o>>>0<f>>>0);i=c[d>>2]|0;f=c[x>>2]|0}i=f-i>>4;f=c[A>>2]|0;if(!f){l=C;return i|0}c[B>>2]=f;l0a(f);l=C;return i|0}function esa(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;i=a+4|0;j=c[a>>2]|0;k=(c[i>>2]|0)-j|0;g=k>>2;d=g+1|0;if(d>>>0>1073741823)g1a(a);l=a+8|0;f=(c[l>>2]|0)-j|0;h=f>>1;h=f>>2>>>0<536870911?(h>>>0<d>>>0?d:h):1073741823;do if(h)if(h>>>0>1073741823){l=db(8)|0;p0a(l,183738);c[l>>2]=110936;hb(l|0,65952,1066)}else{f=j0a(h<<2)|0;e=f;break}else{e=0;f=0}while(0);d=e+(g<<2)|0;c[d>>2]=c[b>>2];if((k|0)>0)x2a(f|0,j|0,k|0)|0;c[a>>2]=e;c[i>>2]=d+4;c[l>>2]=e+(h<<2);if(!j)return;l0a(j);return}function fsa(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;i=a+4|0;j=c[a>>2]|0;k=(c[i>>2]|0)-j|0;g=k>>4;d=g+1|0;if(d>>>0>268435455)g1a(a);l=a+8|0;f=(c[l>>2]|0)-j|0;h=f>>3;h=f>>4>>>0<134217727?(h>>>0<d>>>0?d:h):268435455;do if(h)if(h>>>0>268435455){l=db(8)|0;p0a(l,183738);c[l>>2]=110936;hb(l|0,65952,1066)}else{f=j0a(h<<4)|0;e=f;break}else{e=0;f=0}while(0);d=e+(g<<4)|0;c[d>>2]=c[b>>2];c[d+4>>2]=c[b+4>>2];c[d+8>>2]=c[b+8>>2];c[d+12>>2]=c[b+12>>2];if((k|0)>0)x2a(f|0,j|0,k|0)|0;c[a>>2]=e;c[i>>2]=d+16;c[l>>2]=e+(h<<4);if(!j)return;l0a(j);return}function gsa(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;v=l;l=l+32|0;g=v+16|0;s=v;c[s>>2]=0;t=s+4|0;c[t>>2]=0;r=s+8|0;c[r>>2]=0;h=b+4|0;bsa(s,((c[h>>2]|0)-(c[b>>2]|0)|0)/12|0);b=c[b>>2]|0;if((b|0)!=(c[h>>2]|0)){f=g+4|0;do{c[g>>2]=0;c[f>>2]=c[b>>2];c[f+4>>2]=c[b+4>>2];c[f+8>>2]=c[b+8>>2];e=c[t>>2]|0;if(e>>>0<(c[r>>2]|0)>>>0){c[e>>2]=c[g>>2];c[e+4>>2]=c[g+4>>2];c[e+8>>2]=c[g+8>>2];c[e+12>>2]=c[g+12>>2];c[t>>2]=e+16}else csa(s,g);b=b+12|0}while((b|0)!=(c[h>>2]|0))}b=c[a>>2]|0;h=a+4|0;a:do if((b|0)==(c[h>>2]|0)){h=d+4|0;f=d+8|0;n=d;o=t;a=h;k=r;j=f;b=c[d>>2]|0;i=c[s>>2]|0;h=c[h>>2]|0;g=c[t>>2]|0;f=c[f>>2]|0;e=c[r>>2]|0;u=12}else{a=d+4|0;j=d+8|0;g=1;f=b;while(1){if(!(dsa(f,s,d,g)|0))break;b=c[s>>2]|0;i=c[d>>2]|0;c[s>>2]=i;c[d>>2]=b;m=c[t>>2]|0;p=c[a>>2]|0;c[t>>2]=p;c[a>>2]=m;q=c[r>>2]|0;e=c[j>>2]|0;c[r>>2]=e;c[j>>2]=q;f=f+40|0;if((f|0)==(c[h>>2]|0)){n=d;o=t;k=r;h=m;g=p;f=q;u=12;break a}else g=g<<1}e=0;b=c[s>>2]|0}while(0);if((u|0)==12){c[s>>2]=b;c[n>>2]=i;c[o>>2]=h;c[a>>2]=g;c[k>>2]=f;c[j>>2]=e;e=g-i>>4}if(!b){l=v;return e|0}c[t>>2]=b;l0a(b);l=v;return e|0}function hsa(a,b){a=a|0;b=b|0;var d=0.0,e=0,f=0.0,i=0.0,j=0.0,k=0.0,l=0.0,m=0.0,n=0.0,o=0.0,p=0.0,q=0,r=0.0,s=0.0,t=0.0,u=0.0,v=0.0,w=0.0,x=0.0,y=0.0,z=0.0,A=0.0,B=0;e=c[a>>2]|0;q=a+4|0;if((e|0)==(c[q>>2]|0))return;f=+h[b+24>>3];i=+h[b+56>>3];j=+h[b+88>>3];k=+h[b+120>>3];l=+h[b>>3];m=+h[b+32>>3];n=+h[b+64>>3];o=+h[b+96>>3];p=+h[b+8>>3];r=+h[b+40>>3];s=+h[b+72>>3];t=+h[b+104>>3];u=+h[b+16>>3];v=+h[b+48>>3];w=+h[b+80>>3];d=+h[b+112>>3];a=e;do{B=a+4|0;z=+g[B>>2];b=a+8|0;y=+g[b>>2];e=a+12|0;x=+g[e>>2];A=1.0/(k+(f*z+i*y+j*x));g[B>>2]=A*(o+(l*z+m*y+n*x));g[b>>2]=A*(t+(p*z+r*y+s*x));g[e>>2]=A*(d+(u*z+v*y+w*x));a=a+16|0}while((a|0)!=(c[q>>2]|0));return}function isa(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0.0,G=0.0,H=0.0,I=0.0,J=0.0,K=0.0;E=l;l=l+16|0;D=E;e=c[a>>2]|0;A=a+4|0;if((e|0)==(c[A>>2]|0)){l=E;return}B=d+24|0;C=d+56|0;k=d+88|0;m=d+120|0;n=d+32|0;o=d+64|0;p=d+96|0;q=d+8|0;r=d+40|0;s=d+72|0;t=d+104|0;u=d+16|0;v=d+48|0;w=d+80|0;x=d+112|0;f=D+4|0;i=D+8|0;j=D+12|0;y=b+4|0;z=b+8|0;a=e;do{J=+g[a+4>>2];I=+g[a+8>>2];F=+g[a+12>>2];K=1.0/(+h[m>>3]+(+h[B>>3]*J+ +h[C>>3]*I+ +h[k>>3]*F));H=K*(+h[p>>3]+(+h[d>>3]*J+ +h[n>>3]*I+ +h[o>>3]*F));G=K*(+h[t>>3]+(+h[q>>3]*J+ +h[r>>3]*I+ +h[s>>3]*F));F=K*(+h[x>>3]+(+h[u>>3]*J+ +h[v>>3]*I+ +h[w>>3]*F));c[D>>2]=c[a>>2];g[f>>2]=H;g[i>>2]=G;g[j>>2]=F;e=c[y>>2]|0;if(e>>>0<(c[z>>2]|0)>>>0){c[e>>2]=c[D>>2];c[e+4>>2]=c[D+4>>2];c[e+8>>2]=c[D+8>>2];c[e+12>>2]=c[D+12>>2];c[y>>2]=(c[y>>2]|0)+16}else csa(b,D);a=a+16|0}while((a|0)!=(c[A>>2]|0));l=E;return}function jsa(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,i=0,j=0,k=0.0,m=0,n=0.0,o=0.0,p=0.0,q=0.0,r=0.0,s=0.0,t=0.0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,C=0,D=0,E=0,F=0,G=0.0,H=0.0;F=l;l=l+48|0;D=F;E=a+4|0;f=c[E>>2]|0;e=c[a>>2]|0;i=f-e|0;if(!i){l=F;return}v=D+8|0;w=D+16|0;x=D+24|0;y=D+32|0;z=D+36|0;A=d+4|0;C=d+8|0;u=0;i=i>>4;do{m=e;j=u;u=u+1|0;i=(u>>>0)%(i>>>0)|0;if(!(c[m+(i<<4)>>2]&c[m+(j<<4)>>2])){r=+g[m+(j<<4)+4>>2];s=+g[m+(j<<4)+8>>2];t=+g[m+(j<<4)+12>>2];n=+g[m+(i<<4)+4>>2];q=+g[m+(i<<4)+8>>2];o=+g[m+(i<<4)+12>>2];m=c[b>>2]|0;G=n-r;p=q-s;H=o-t;n=+g[m+(j<<4)+4>>2]-n;q=+g[m+(j<<4)+8>>2]-q;o=+g[m+(j<<4)+12>>2]-o;k=p*o-H*q;o=H*n-G*o;n=G*q-p*n;p=+B(+(n*n+(k*k+o*o)));if(p>1.0e-06){q=k/p;n=n/p;k=o/p}else{q=0.0;n=0.0;k=0.0}h[D>>3]=q;h[v>>3]=k;h[w>>3]=n;h[x>>3]=-(q*r+k*s+n*t);j=q>=0.0&1;i=(k>=0.0?2:0)|j|(n>=0.0?4:0);c[y>>2]=i;c[z>>2]=i^7;i=c[A>>2]|0;if(i>>>0<(c[C>>2]|0)>>>0){h[i>>3]=q;G=+h[v>>3];h[i+8>>3]=G;H=+h[w>>3];h[i+16>>3]=H;h[i+24>>3]=+h[x>>3];m=(G>=0.0?2:0)|j|(H>=0.0?4:0);c[i+32>>2]=m;c[i+36>>2]=m^7;c[A>>2]=i+40}else{sA(d,D);f=c[E>>2]|0;e=c[a>>2]|0}}i=f-e>>4}while(u>>>0<i>>>0);l=F;return}function ksa(a,b){a=a|0;b=b|0;var d=0.0,e=0.0,f=0.0,i=0.0,j=0.0,k=0.0,l=0.0,m=0.0,n=0.0,o=0.0;b=c[b>>2]|0;l=+g[b+36>>2];m=+g[b+40>>2];k=+g[b+44>>2];e=+g[b+20>>2];f=+g[b+24>>2];i=+g[b+28>>2];n=e-l;j=f-m;o=i-k;e=+g[b+4>>2]-e;f=+g[b+8>>2]-f;i=+g[b+12>>2]-i;d=j*i-o*f;i=o*e-n*i;e=n*f-j*e;j=+B(+(e*e+(d*d+i*i)));if(j>1.0e-06){f=d/j;e=e/j;d=i/j}else{f=0.0;e=0.0;d=0.0}h[a>>3]=f;h[a+8>>3]=d;h[a+16>>3]=e;h[a+24>>3]=-(f*l+d*m+e*k);b=(d>=0.0?2:0)|f>=0.0|(e>=0.0?4:0);c[a+32>>2]=b;c[a+36>>2]=b^7;return}function lsa(a,b){a=a|0;b=b|0;var d=0.0,e=0.0,f=0.0,h=0.0,i=0.0,j=0.0,k=0.0,l=0.0,m=0.0,n=0.0,o=0,p=0.0,q=0.0,r=0.0,s=0,t=0.0,u=0.0,v=0.0,w=0.0,x=0.0,y=0.0,z=0.0,B=0.0,C=0.0,D=0.0,E=0.0,F=0.0,G=0.0,H=0.0,I=0.0,J=0.0,K=0.0,L=0.0,M=0.0;s=c[a>>2]|0;p=+g[s+4>>2];q=+g[s+8>>2];r=+g[s+12>>2];o=c[b>>2]|0;l=+g[o+4>>2];m=+g[o+8>>2];n=+g[o+12>>2];a=((c[a+4>>2]|0)-s>>4)+-1|0;if(a>>>0<=1){r=0.0;return +r}d=0.0;b=1;e=+g[s+20>>2];f=+g[s+24>>2];h=+g[s+28>>2];i=+g[o+20>>2];j=+g[o+24>>2];k=+g[o+28>>2];do{b=b+1|0;D=e;e=+g[s+(b<<4)+4>>2];C=D-e;y=f;f=+g[s+(b<<4)+8>>2];E=y-f;F=h;h=+g[s+(b<<4)+12>>2];u=F-h;x=p-D;B=q-y;G=r-F;G=+A(+((n-F)*(C*B-x*E)+((l-D)*(E*G-B*u)+(m-y)*(x*u-C*G))));C=i;i=+g[o+(b<<4)+4>>2];u=C-i;x=j;j=+g[o+(b<<4)+8>>2];B=x-j;E=k;k=+g[o+(b<<4)+12>>2];v=E-k;w=l-C;z=m-x;t=n-E;I=i-D;M=j-y;J=k-F;K=l-i;L=m-j;H=n-k;d=d+(+A(+((I*L-K*M)*(h-k)+((e-i)*(M*H-L*J)+(f-j)*(K*J-I*H))))+(G+ +A(+((F-E)*(u*z-w*B)+((D-C)*(B*t-z*v)+(y-x)*(w*v-u*t))))))}while(b>>>0<a>>>0);return +d}function msa(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var i=0.0,j=0,k=0,m=0,n=0.0,o=0.0,p=0.0,q=0.0,r=0.0,s=0.0,t=0.0,u=0.0,v=0.0,w=0.0,x=0.0,y=0.0,z=0.0,A=0.0,B=0.0,C=0.0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0.0,ua=0.0,va=0.0,wa=0.0;sa=l;l=l+432|0;oa=sa+208|0;pa=sa+80|0;ra=sa+408|0;qa=sa+396|0;F=sa+40|0;la=sa+384|0;ma=sa+336|0;na=sa;m=c[e+280>>2]|0;j=e+296|0;k=c[((c[e+112>>2]|0)==0?j:e+96|0)>>2]|0;j=c[((c[e+92>>2]|0)==0?j:e+76|0)>>2]|0;f=a+4|0;if((f|0)!=(b|0))gA(f,c[b>>2]|0,c[b+4>>2]|0);f=a+16|0;b=c[f>>2]|0;if((b|0)!=(j|0)){c[f>>2]=j;if(j|0){ka=j+8|0;c[ka>>2]=(c[ka>>2]|0)+1}if(b|0?(ja=b+8|0,ka=c[ja>>2]|0,c[ja>>2]=ka-1,(ka|0)==1):0)UU(b,1,1)}g[a>>2]=0.0;h[oa>>3]=1.0;fa=oa+8|0;ga=oa+40|0;c[fa>>2]=0;c[fa+4>>2]=0;c[fa+8>>2]=0;c[fa+12>>2]=0;c[fa+16>>2]=0;c[fa+20>>2]=0;c[fa+24>>2]=0;c[fa+28>>2]=0;h[ga>>3]=1.0;ha=oa+48|0;ia=oa+80|0;c[ha>>2]=0;c[ha+4>>2]=0;c[ha+8>>2]=0;c[ha+12>>2]=0;c[ha+16>>2]=0;c[ha+20>>2]=0;c[ha+24>>2]=0;c[ha+28>>2]=0;h[ia>>3]=1.0;ja=oa+88|0;ka=oa+120|0;c[ja>>2]=0;c[ja+4>>2]=0;c[ja+8>>2]=0;c[ja+12>>2]=0;c[ja+16>>2]=0;c[ja+20>>2]=0;c[ja+24>>2]=0;c[ja+28>>2]=0;h[ka>>3]=1.0;b=j+32|0;if(((+h[j+56>>3]==0.0?+h[j+88>>3]==0.0:0)?+h[j+120>>3]==0.0:0)?+h[j+152>>3]==1.0:0)Xra(oa,b)|0;else Yra(oa,b)|0;f=e+284|0;i=+g[f>>2];if(i<0.0){cS(e);i=+g[f>>2]}da=k+32|0;h[pa>>3]=1.0;ea=pa+8|0;c[ea>>2]=0;c[ea+4>>2]=0;c[ea+8>>2]=0;c[ea+12>>2]=0;c[ea+16>>2]=0;c[ea+20>>2]=0;c[ea+24>>2]=0;c[ea+28>>2]=0;h[pa+40>>3]=1.0;ea=pa+48|0;c[ea>>2]=0;c[ea+4>>2]=0;c[ea+8>>2]=0;c[ea+12>>2]=0;c[ea+16>>2]=0;c[ea+20>>2]=0;c[ea+24>>2]=0;c[ea+28>>2]=0;h[pa+80>>3]=1.0;ea=pa+88|0;c[ea>>2]=0;c[ea+4>>2]=0;c[ea+8>>2]=0;c[ea+12>>2]=0;c[ea+16>>2]=0;c[ea+20>>2]=0;c[ea+24>>2]=0;c[ea+28>>2]=0;h[pa+120>>3]=1.0;Ura(pa,da,b);c[ra>>2]=0;ea=ra+4|0;c[ea>>2]=0;c[ra+8>>2]=0;ba=m+40|0;if((gsa(ba,d+32|0,ra)|0)>>>0>2){c[qa>>2]=0;ca=qa+4|0;c[ca>>2]=0;c[qa+8>>2]=0;bsa(qa,(c[ea>>2]|0)-(c[ra>>2]|0)>>4);isa(ra,qa,pa);j=c[qa>>2]|0;b=c[ca>>2]|0;if((j|0)!=(b|0)){f=j;do{g[f+12>>2]=1.0;f=f+16|0}while((f|0)!=(b|0));C=+h[oa+24>>3];n=+h[oa+56>>3];o=+h[ja>>3];p=+h[ka>>3];q=+h[oa>>3];r=+h[oa+32>>3];s=+h[oa+64>>3];t=+h[oa+96>>3];u=+h[fa>>3];v=+h[ga>>3];w=+h[oa+72>>3];x=+h[oa+104>>3];y=+h[oa+16>>3];z=+h[ha>>3];A=+h[ia>>3];B=+h[oa+112>>3];f=j;do{_=f+4|0;wa=+g[_>>2];$=f+8|0;va=+g[$>>2];aa=f+12|0;ua=+g[aa>>2];ta=1.0/(p+(C*wa+n*va+o*ua));g[_>>2]=(t+(q*wa+r*va+s*ua))*ta;g[$>>2]=(x+(u*wa+v*va+w*ua))*ta;g[aa>>2]=(B+(y*wa+z*va+A*ua))*ta;f=f+16|0}while((f|0)!=(c[ca>>2]|0))}hsa(ra,da);k=a+56|0;pJ(k,(c[ea>>2]|0)-(c[ra>>2]|0)>>4);f=c[ra>>2]|0;if((f|0)!=(c[ea>>2]|0)){e=a+60|0;m=a+64|0;do{b=f+4|0;j=c[e>>2]|0;if((j|0)==(c[m>>2]|0))Fy(k,b);else{c[j>>2]=c[b>>2];c[j+4>>2]=c[b+4>>2];c[j+8>>2]=c[b+8>>2];c[e>>2]=(c[e>>2]|0)+12}f=f+16|0}while((f|0)!=(c[ea>>2]|0))}ksa(F,ra);e=a+44|0;E=a+48|0;f=c[E>>2]|0;if((f|0)==(c[a+52>>2]|0)){KR(e,F);b=c[E>>2]|0}else{va=+h[F>>3];h[f>>3]=va;ua=+h[F+8>>3];h[f+8>>3]=ua;wa=+h[F+16>>3];h[f+16>>3]=wa;h[f+24>>3]=+h[F+24>>3];b=(ua>=0.0?2:0)|va>=0.0|(wa>=0.0?4:0);c[f+32>>2]=b;c[f+36>>2]=b^7;b=f+40|0;c[E>>2]=b}D=a+40|0;c[D>>2]=0;f=c[e>>2]|0;if((b|0)!=(f|0)){b=(b-f|0)/40|0;f=0;j=0;do{j=j<<1|1;f=f+1|0}while(f>>>0<b>>>0);c[D>>2]=j}m=a+36|0;k=a+20|0;do if(c[m>>2]|0){f=a+28|0;b=c[f>>2]|0;if((b|0)==(c[a+32>>2]|0)){Nz(a+24|0,k);break}else{c[b>>2]=c[k>>2];c[f>>2]=b+4;break}}while(0);c[k>>2]=c[D>>2];c[m>>2]=(c[m>>2]|0)+1;jsa(ra,qa,e);c[D>>2]=0;b=c[E>>2]|0;f=c[e>>2]|0;if((b|0)!=(f|0)){b=(b-f|0)/40|0;f=0;j=0;do{j=j<<1|1;f=f+1|0}while(f>>>0<b>>>0);c[D>>2]=j}do if(c[m>>2]|0){f=a+28|0;b=c[f>>2]|0;if((b|0)==(c[a+32>>2]|0)){Nz(a+24|0,k);break}else{c[b>>2]=c[k>>2];c[f>>2]=b+4;break}}while(0);c[k>>2]=c[D>>2];c[m>>2]=(c[m>>2]|0)+1;if(+h[F+24>>3]>0.0?(G=c[a+44>>2]|0,H=c[E>>2]|0,(G|0)!=(H|0)):0){f=G;do{va=+h[f>>3];h[f>>3]=-va;aa=f+8|0;ua=+h[aa>>3];h[aa>>3]=-ua;aa=f+16|0;wa=+h[aa>>3];h[aa>>3]=-wa;aa=f+24|0;h[aa>>3]=-+h[aa>>3];aa=(ua<=-0.0?2:0)|va<=-0.0|(wa<=-0.0?4:0);c[f+32>>2]=aa;c[f+36>>2]=aa^7;f=f+40|0}while((f|0)!=(H|0))}g[a>>2]=+lsa(ra,qa)/i;f=c[d+44>>2]|0;F=d+48|0;if((f|0)!=(c[F>>2]|0)){G=la+4|0;H=la+8|0;d=ma+16|0;I=a+72|0;J=a+76|0;K=ma+36|0;L=a+68|0;M=ma+24|0;N=ma+40|0;O=ma+4|0;P=ma+28|0;Q=ma+4|0;R=ma+8|0;S=ma+8|0;T=oa+24|0;U=oa+56|0;V=oa+32|0;W=oa+64|0;X=oa+96|0;Y=oa+72|0;Z=oa+104|0;_=oa+16|0;$=oa+112|0;aa=na+24|0;do{c[la>>2]=0;c[G>>2]=0;c[H>>2]=0;if((gsa(ba,f,la)|0)>>>0>2){b=ma;j=b+48|0;do{c[b>>2]=0;b=b+4|0}while((b|0)<(j|0));c[d>>2]=1;b=c[I>>2]|0;if(b>>>0<(c[J>>2]|0)>>>0){Kz(b,ma);c[I>>2]=(c[I>>2]|0)+48}else nsa(L,ma);b=c[K>>2]|0;if(b|0){c[N>>2]=b;l0a(b)}b=c[M>>2]|0;if(b|0){c[P>>2]=b;l0a(b)}b=c[O>>2]|0;if(b|0){c[S>>2]=b;l0a(b)}E=c[I>>2]|0;c[ma>>2]=0;c[Q>>2]=0;c[R>>2]=0;bsa(ma,(c[G>>2]|0)-(c[la>>2]|0)>>4);isa(la,ma,pa);k=c[ma>>2]|0;j=c[Q>>2]|0;if((k|0)!=(j|0)){b=k;do{g[b+12>>2]=1.0;b=b+16|0}while((b|0)!=(j|0));n=+h[T>>3];o=+h[U>>3];p=+h[ja>>3];q=+h[ka>>3];r=+h[oa>>3];s=+h[V>>3];t=+h[W>>3];u=+h[X>>3];v=+h[fa>>3];w=+h[ga>>3];x=+h[Y>>3];y=+h[Z>>3];z=+h[_>>3];A=+h[ha>>3];B=+h[ia>>3];C=+h[$>>3];b=k;do{e=b+4|0;ta=+g[e>>2];m=b+8|0;ua=+g[m>>2];D=b+12|0;va=+g[D>>2];wa=1.0/(q+(n*ta+o*ua+p*va));g[e>>2]=(u+(r*ta+s*ua+t*va))*wa;g[m>>2]=(y+(v*ta+w*ua+x*va))*wa;g[D>>2]=(C+(z*ta+A*ua+B*va))*wa;b=b+16|0}while((b|0)!=(c[Q>>2]|0))}hsa(la,da);e=E+-12|0;pJ(e,(c[G>>2]|0)-(c[la>>2]|0)>>4);b=c[la>>2]|0;if((b|0)!=(c[G>>2]|0)){m=E+-8|0;D=E+-4|0;do{j=b+4|0;k=c[m>>2]|0;if((k|0)==(c[D>>2]|0))Fy(e,j);else{c[k>>2]=c[j>>2];c[k+4>>2]=c[j+4>>2];c[k+8>>2]=c[j+8>>2];c[m>>2]=(c[m>>2]|0)+12}b=b+16|0}while((b|0)!=(c[G>>2]|0))}ksa(na,la);j=E+-24|0;jsa(la,ma,j);m=E+-28|0;c[m>>2]=0;D=E+-20|0;b=c[D>>2]|0;j=c[j>>2]|0;if((b|0)!=(j|0)){j=(b-j|0)/40|0;b=0;k=0;do{k=k<<1|1;b=b+1|0}while(b>>>0<j>>>0);c[m>>2]=k}j=E+-32|0;b=E+-48|0;do if(c[j>>2]|0){k=E+-40|0;e=c[k>>2]|0;if((e|0)==(c[E+-36>>2]|0)){Nz(E+-44|0,b);break}else{c[e>>2]=c[b>>2];c[k>>2]=e+4;break}}while(0);c[b>>2]=c[m>>2];c[j>>2]=(c[j>>2]|0)+1;do if(+h[aa>>3]>0.0){b=c[E+-24>>2]|0;j=c[D>>2]|0;if((b|0)==(j|0))break;do{va=+h[b>>3];h[b>>3]=-va;E=b+8|0;ua=+h[E>>3];h[E>>3]=-ua;E=b+16|0;wa=+h[E>>3];h[E>>3]=-wa;E=b+24|0;h[E>>3]=-+h[E>>3];E=(ua<=-0.0?2:0)|va<=-0.0|(wa<=-0.0?4:0);c[b+32>>2]=E;c[b+36>>2]=E^7;b=b+40|0}while((b|0)!=(j|0))}while(0);wa=+lsa(la,ma)/i;g[a>>2]=+g[a>>2]-wa;b=c[ma>>2]|0;if(b|0){c[Q>>2]=b;l0a(b)}}b=c[la>>2]|0;if(b|0){c[G>>2]=b;l0a(b)}f=f+12|0}while((f|0)!=(c[F>>2]|0))}f=c[qa>>2]|0;if(f|0){c[ca>>2]=f;l0a(f)}b=1}else b=0;f=c[ra>>2]|0;if(!f){l=sa;return b|0}c[ea>>2]=f;l0a(f);l=sa;return b|0}function nsa(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;k=a+4|0;d=c[a>>2]|0;f=((c[k>>2]|0)-d|0)/48|0;e=f+1|0;if(e>>>0>89478485)g1a(a);l=a+8|0;i=((c[l>>2]|0)-d|0)/48|0;j=i<<1;e=i>>>0<44739242?(j>>>0<e>>>0?e:j):89478485;do if(e)if(e>>>0>89478485){l=db(8)|0;p0a(l,183738);c[l>>2]=110936;hb(l|0,65952,1066)}else{d=j0a(e*48|0)|0;break}else d=0;while(0);g=d+(f*48|0)|0;f=g;j=d+(e*48|0)|0;Kz(g,b);i=g+48|0;h=c[a>>2]|0;d=c[k>>2]|0;if((d|0)==(h|0)){d=f;b=h;e=h}else{e=g;while(1){d=d+-48|0;Kz(e+-48|0,d);e=f+-48|0;if((d|0)==(h|0))break;else f=e}d=e;b=c[a>>2]|0;e=c[k>>2]|0}c[a>>2]=d;c[k>>2]=i;c[l>>2]=j;f=b;if((e|0)!=(f|0))do{d=c[e+-12>>2]|0;if(d|0){c[e+-8>>2]=d;l0a(d)}d=c[e+-24>>2]|0;if(d|0){c[e+-20>>2]=d;l0a(d)}d=c[e+-44>>2]|0;if(d|0){c[e+-40>>2]=d;l0a(d)}e=e+-48|0}while((e|0)!=(f|0));if(!b)return;l0a(b);return}function osa(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,i=0,j=0,k=0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0,s=0,t=0,u=0,v=0,w=0;w=l;l=l+16|0;v=w;f=c[a+20>>2]|0;if(!f){v=0;l=w;return v|0}t=a+40|0;c[t>>2]=f;d=c[a+44>>2]|0;u=c[a+48>>2]|0;a:do if((d|0)!=(u|0)){r=c[b>>2]|0;s=c[b+4>>2]|0;if((r|0)==(s|0)){e=1;while(1){if(e&f|0){d=0;break}d=d+40|0;if((d|0)==(u|0))break a;else e=e<<1}l=w;return d|0}k=1;e=f;while(1){if(k&e){n=+h[d>>3];o=+h[d+8>>3];p=+h[d+16>>3];q=+h[d+24>>3];f=0;i=0;j=r;do{m=q+(n*+g[j>>2]+o*+g[j+4>>2]+p*+g[j+8>>2]);if(!(m>0.0)){if(m<0.0)f=f+1|0}else i=i+1|0;j=j+12|0}while((j|0)!=(s|0));if((i|0)<1|(f|0)>0){d=0;break}e=k^e;c[t>>2]=e}d=d+40|0;if((d|0)==(u|0))break a;else k=k<<1}l=w;return d|0}while(0);d=c[a+68>>2]|0;i=a+72|0;if((d|0)==(c[i>>2]|0)){v=1;l=w;return v|0}j=v+4|0;k=v+8|0;while(1){c[v>>2]=0;c[j>>2]=0;c[k>>2]=0;e=(gsa(d+24|0,b,v)|0)>>>0<3;f=c[v>>2]|0;if(f|0){c[j>>2]=f;l0a(f)}d=d+48|0;if(!e){d=0;e=24;break}if((d|0)==(c[i>>2]|0)){d=1;e=24;break}}if((e|0)==24){l=w;return d|0}return 0}function psa(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,i=0.0,j=0.0,k=0.0,l=0.0,m=0,n=0,o=0,p=0,q=0.0,r=0,s=0,t=0,u=0,v=0.0;d=c[a+20>>2]|0;if(!d){b=0;return b|0}m=a+40|0;c[m>>2]=d;e=c[a+44>>2]|0;n=c[a+48>>2]|0;a:do if((e|0)!=(n|0)){i=+g[b>>2];j=+g[b+4>>2];k=+g[b+8>>2];l=+g[b+12>>2];f=1;while(1){if(f&d){if(!(l<+h[e+24>>3]+(+h[e>>3]*i+ +h[e+8>>3]*j+ +h[e+16>>3]*k))){d=0;break}d=f^d;c[m>>2]=d}e=e+40|0;if((e|0)==(n|0))break a;else f=f<<1}return d|0}while(0);d=c[a+68>>2]|0;r=c[a+72>>2]|0;if((d|0)==(r|0)){b=1;return b|0}s=b+4|0;t=b+8|0;u=b+12|0;b:while(1){f=c[d>>2]|0;if(!f){d=0;e=19;break}o=d+20|0;c[o>>2]=f;e=c[d+24>>2]|0;p=c[d+28>>2]|0;if((e|0)==(p|0)){d=0;e=19;break}i=+g[b>>2];j=+g[s>>2];k=+g[t>>2];l=+g[u>>2];q=-l;a=1;while(1){if(a&f){v=+h[e+24>>3]+(+h[e>>3]*i+ +h[e+8>>3]*j+ +h[e+16>>3]*k);m=l<v?1:(v<q)<<31>>31;if((m|0)<0)break;n=a^f;if(m){c[o>>2]=n;f=n}}e=e+40|0;if((e|0)==(p|0)){d=0;e=19;break b}else a=a<<1}d=d+48|0;if((d|0)==(r|0)){d=1;e=19;break}}if((e|0)==19)return d|0;return 0}function qsa(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0.0,q=0.0,r=0.0,s=0.0,t=0.0,u=0.0,v=0.0,w=0.0,x=0.0,y=0.0,z=0,A=0;d=c[a+20>>2]|0;if(!d){b=0;return b|0}n=a+40|0;c[n>>2]=d;e=c[a+44>>2]|0;o=c[a+48>>2]|0;a:do if((e|0)!=(o|0)){i=b+12|0;j=b+16|0;k=b+4|0;l=b+20|0;m=b+8|0;f=1;while(1){if(f&d){z=c[e+36>>2]|0;if(!(+h[e+24>>3]+(+h[e>>3]*((z&1|0)==0?+g[b>>2]:+g[i>>2])+ +h[e+8>>3]*((z&2|0)==0?+g[k>>2]:+g[j>>2])+ +h[e+16>>3]*((z&4|0)==0?+g[m>>2]:+g[l>>2]))>0.0)){d=0;break}d=f^d;c[n>>2]=d}e=e+40|0;if((e|0)==(o|0))break a;else f=f<<1}return d|0}while(0);d=c[a+68>>2]|0;l=c[a+72>>2]|0;if((d|0)==(l|0)){b=1;return b|0}m=b+12|0;n=b+16|0;o=b+4|0;a=b+20|0;z=b+8|0;b:while(1){e=c[d>>2]|0;if(!e){d=0;e=19;break}j=d+20|0;c[j>>2]=e;f=c[d+24>>2]|0;k=c[d+28>>2]|0;if((f|0)==(k|0)){d=0;e=19;break}i=1;c:while(1){do if(i&e){A=c[f+36>>2]|0;p=+g[b>>2];q=+g[m>>2];r=+g[o>>2];s=+g[n>>2];t=+g[z>>2];u=+g[a>>2];v=+h[f>>3];w=+h[f+8>>3];x=+h[f+16>>3];y=+h[f+24>>3];if(!(y+(v*((A&1|0)==0?p:q)+w*((A&2|0)==0?r:s)+x*((A&4|0)==0?t:u))>0.0)){A=c[f+32>>2]|0;if(y+(x*((A&4|0)==0?t:u)+(v*((A&1|0)==0?p:q)+w*((A&2|0)==0?r:s)))<0.0)break c;else break}else{e=i^e;c[j>>2]=e;break}}while(0);f=f+40|0;if((f|0)==(k|0)){d=0;e=19;break b}else i=i<<1}d=d+48|0;if((d|0)==(l|0)){d=1;e=19;break}}if((e|0)==19)return d|0;return 0}function rsa(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return 0}function ssa(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;e=a+132|0;f=c[e>>2]|0;if((f|0)!=(b|0)){c[e>>2]=b;if(b|0){b=b+(c[(c[b>>2]|0)+-12>>2]|0)+8|0;c[b>>2]=(c[b>>2]|0)+1}if(f|0?(d=f+(c[(c[f>>2]|0)+-12>>2]|0)|0,b=d+8|0,f=c[b>>2]|0,c[b>>2]=f-1,(f|0)==1):0)UU(d,1,1);b=c[e>>2]|0}if(!b)return;e=c[b+136>>2]|0;b=a+164|0;d=c[b>>2]|0;if((d|0)==(e|0))return;c[b>>2]=e;if(e|0){a=e+8|0;c[a>>2]=(c[a>>2]|0)+1}if(!d)return;f=d+8|0;a=c[f>>2]|0;c[f>>2]=a-1;if((a|0)!=1)return;UU(d,1,1);return}function tsa(){var a=0;jra()|0;if(!(c[56476]|0)){a=j0a(168)|0;lra(a);return a|0}else{jra()|0;a=c[56476]|0;a=gk[c[(c[a>>2]|0)+20>>2]&1023](a)|0;return a|0}return 0}function usa(a){a=a|0;var b=0;a=c[a+100>>2]|0;b=a+28|0;gk[c[(c[b>>2]|0)+8>>2]&1023](b)|0;a=c[a+24>>2]|0;gk[c[(c[b>>2]|0)+12>>2]&1023](b)|0;return (a|0)!=0|0}function vsa(a){a=a|0;var b=0;a=c[a+96>>2]|0;b=a+28|0;gk[c[(c[b>>2]|0)+8>>2]&1023](b)|0;a=c[a+24>>2]|0;gk[c[(c[b>>2]|0)+12>>2]&1023](b)|0;return (a|0)!=0|0}function wsa(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;i=l;l=l+16|0;h=i;f=a[e+11>>0]|0;j=f<<24>>24<0;g=j?c[e>>2]|0:e;f=j?c[e+4>>2]|0:f&255;a:do if(f|0){f=g+f|0;while(1){f=f+-1|0;if(aOa(172847,d[f>>0]|0,2)|0)break;if((f|0)==(g|0))break a}f=f-g|0;if((f|0)!=-1){x0a(b,e,0,f,h);l=i;return}}while(0);c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;l=i;return}function xsa(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;j=l;l=l+32|0;g=j+12|0;h=j;f=a[d+11>>0]|0;i=f<<24>>24<0;f=i?c[d+4>>2]|0:f&255;if(!f){t0a(b,e);l=j;return}f=f+-1|0;switch(a[(i?c[d>>2]|0:d)+f>>0]|0){case 47:{xM(b,d,e);l=j;return}case 92:{x0a(h,d,0,f,d);K0a(h,47);c[g>>2]=c[h>>2];c[g+4>>2]=c[h+4>>2];c[g+8>>2]=c[h+8>>2];c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;i=a[e+11>>0]|0;d=i<<24>>24<0;i=I0a(g,d?c[e>>2]|0:e,d?c[e+4>>2]|0:i&255)|0;c[b>>2]=c[i>>2];c[b+4>>2]=c[i+4>>2];c[b+8>>2]=c[i+8>>2];c[i>>2]=0;c[i+4>>2]=0;c[i+8>>2]=0;if((a[g+11>>0]|0)<0)l0a(c[g>>2]|0);if((a[h+11>>0]|0)<0)l0a(c[h>>2]|0);l=j;return}default:{uma(g,d,47);i=a[e+11>>0]|0;h=i<<24>>24<0;i=I0a(g,h?c[e>>2]|0:e,h?c[e+4>>2]|0:i&255)|0;c[b>>2]=c[i>>2];c[b+4>>2]=c[i+4>>2];c[b+8>>2]=c[i+8>>2];c[i>>2]=0;c[i+4>>2]=0;c[i+8>>2]=0;if((a[g+11>>0]|0)<0)l0a(c[g>>2]|0);l=j;return}}}function ysa(a){a=a|0;return (Q0a(a,92,0)|0)==-1|0}function zsa(b,d){b=b|0;d=d|0;var e=0;t0a(b,d);d=Q0a(b,92,0)|0;if((d|0)==-1)return;e=b+11|0;do{a[((a[e>>0]|0)<0?c[b>>2]|0:b)+d>>0]=47;d=Q0a(b,92,d)|0}while((d|0)!=-1);return}function Asa(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;g=a[b+11>>0]|0;e=g<<24>>24<0;g=e?c[b+4>>2]|0:g&255;f=a[d+11>>0]|0;h=f<<24>>24<0;if((g|0)!=((h?c[d+4>>2]|0:f&255)|0)){h=0;return h|0}e=e?c[b>>2]|0:b;f=e+g|0;if(!g){h=1;return h|0}b=h?c[d>>2]|0:d;while(1){h=hOa(a[e>>0]|0)|0;if((h|0)!=(hOa(a[b>>0]|0)|0)){b=0;e=6;break}e=e+1|0;if((e|0)==(f|0)){b=1;e=6;break}else b=b+1|0}if((e|0)==6)return b|0;return 0}function Bsa(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;g=l;l=l+4096|0;e=g;if(!(fRa((a[d+11>>0]|0)<0?c[d>>2]|0:d,e)|0)){t0a(b,d);l=g;return};c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;d=VNa(e)|0;if(d>>>0>4294967279)r0a(b);if(d>>>0<11){a[b+11>>0]=d;if(d)f=7}else{h=d+16&-16;f=j0a(h)|0;c[b>>2]=f;c[b+8>>2]=h|-2147483648;c[b+4>>2]=d;b=f;f=7}if((f|0)==7)x2a(b|0,e|0,d|0)|0;a[b+d>>0]=0;l=g;return}function Csa(b,d,e){b=b|0;d=d|0;e=e|0;var f=0;Tha(b);c[b>>2]=99912;c[b+12>>2]=0;c[b+16>>2]=0;c[b+20>>2]=0;xla(b+24|0,0);c[b>>2]=99932;f=b+36|0;c[f>>2]=0;c[b+40>>2]=d;t0a(b+44|0,e);b=j0a(40)|0;d=b+28|0;Uha(d,1);xla(b+4|0,0);wla(b+16|0);a[b+24>>0]=0;c[b>>2]=81364;c[d>>2]=81388;d=c[f>>2]|0;if((d|0)==(b|0))return;c[f>>2]=b;f=b+36|0;c[f>>2]=(c[f>>2]|0)+1;if(!d)return;b=d+(c[(c[d>>2]|0)+-12>>2]|0)|0;e=b+8|0;f=c[e>>2]|0;c[e>>2]=f-1;if((f|0)!=1)return;UU(b,1,1);return}function Dsa(b){b=b|0;var d=0,e=0,f=0,g=0;c[b>>2]=99932;d=b+44|0;if((a[d+11>>0]|0)<0)l0a(c[d>>2]|0);d=b+36|0;e=c[d>>2]|0;if(e|0?(f=e+(c[(c[e>>2]|0)+-12>>2]|0)|0,g=f+8|0,e=c[g>>2]|0,c[g>>2]=e-1,(e|0)==1):0)UU(f,1,1);c[d>>2]=0;Fsa(b);return}function Esa(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;c[b>>2]=99932;d=b+44|0;if((a[d+11>>0]|0)<0)l0a(c[d>>2]|0);d=b+36|0;e=c[d>>2]|0;if(e|0?(f=e+(c[(c[e>>2]|0)+-12>>2]|0)|0,g=f+8|0,h=c[g>>2]|0,c[g>>2]=h-1,(h|0)==1):0)UU(f,1,1);c[d>>2]=0;c[b>>2]=99912;oX(b+24|0);f=b+12|0;g=c[f>>2]|0;if(!g){SU(b);l0a(b);return}h=b+16|0;d=c[h>>2]|0;if((d|0)==(g|0))d=g;else{do{d=d+-4|0;e=c[d>>2]|0;if(e|0?(j=e+8|0,i=c[j>>2]|0,c[j>>2]=i-1,(i|0)==1):0)UU(e,1,1);c[d>>2]=0}while((d|0)!=(g|0));d=c[f>>2]|0}c[h>>2]=g;l0a(d);SU(b);l0a(b);return}function Fsa(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0;c[a>>2]=99912;oX(a+24|0);e=a+12|0;f=c[e>>2]|0;if(!f){SU(a);return}g=a+16|0;b=c[g>>2]|0;if((b|0)==(f|0))b=f;else{do{b=b+-4|0;d=c[b>>2]|0;if(d|0?(i=d+8|0,h=c[i>>2]|0,c[i>>2]=h-1,(h|0)==1):0)UU(d,1,1);c[b>>2]=0}while((b|0)!=(f|0));b=c[e>>2]|0}c[g>>2]=f;l0a(b);SU(a);return}function Gsa(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0;c[a>>2]=99912;oX(a+24|0);e=a+12|0;f=c[e>>2]|0;if(!f){SU(a);l0a(a);return}g=a+16|0;b=c[g>>2]|0;if((b|0)==(f|0))b=f;else{do{b=b+-4|0;d=c[b>>2]|0;if(d|0?(i=d+8|0,h=c[i>>2]|0,c[i>>2]=h-1,(h|0)==1):0)UU(d,1,1);c[b>>2]=0}while((b|0)!=(f|0));b=c[e>>2]|0}c[g>>2]=f;l0a(b);SU(a);l0a(a);return}function Hsa(b){b=b|0;var d=0,e=0,f=0,g=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0;r=l;l=l+32|0;p=r+12|0;q=r;Uha(b,1);c[b>>2]=99236;xla(b+12|0,0);a[b+25>>0]=0;c[b+28>>2]=0;xla(b+32|0,0);f=b+44|0;n=b+48|0;o=b+52|0;m=b+56|0;g=b+60|0;a[b+24>>0]=0;a[b+26>>0]=0;c[f>>2]=0;c[f+4>>2]=0;c[f+8>>2]=0;c[f+12>>2]=0;c[f+16>>2]=0;e=j0a(56)|0;c[p>>2]=0;c[p+4>>2]=0;c[p+8>>2]=0;d=j0a(16)|0;c[p>>2]=d;c[p+8>>2]=-2147483632;c[p+4>>2]=11;i=d;j=183462;k=i+11|0;do{a[i>>0]=a[j>>0]|0;i=i+1|0;j=j+1|0}while((i|0)<(k|0));a[d+11>>0]=0;Csa(e,b,p);d=c[f>>2]|0;if(((d|0)!=(e|0)?(c[f>>2]=e,k=e+8|0,c[k>>2]=(c[k>>2]|0)+1,d|0):0)?(j=d+8|0,k=c[j>>2]|0,c[j>>2]=k-1,(k|0)==1):0)UU(d,1,1);if((a[p+11>>0]|0)<0)l0a(c[p>>2]|0);d=j0a(36)|0;Tha(d);c[d>>2]=99912;c[d+12>>2]=0;c[d+16>>2]=0;c[d+20>>2]=0;xla(d+24|0,0);e=c[g>>2]|0;if(((e|0)!=(d|0)?(c[g>>2]=d,k=d+8|0,c[k>>2]=(c[k>>2]|0)+1,e|0):0)?(j=e+8|0,k=c[j>>2]|0,c[j>>2]=k-1,(k|0)==1):0)UU(e,1,1);d=j0a(44)|0;c[q>>2]=0;c[q+4>>2]=0;c[q+8>>2]=0;e=j0a(16)|0;c[q>>2]=e;c[q+8>>2]=-2147483632;c[q+4>>2]=14;i=e;j=183474;k=i+14|0;do{a[i>>0]=a[j>>0]|0;i=i+1|0;j=j+1|0}while((i|0)<(k|0));a[e+14>>0]=0;Tha(d);k=d+12|0;bla(k);c[d>>2]=99180;c[k>>2]=99208;a[d+20>>0]=0;c[d+24>>2]=0;c[d+28>>2]=b;t0a(d+32|0,q);c[p>>2]=d;d=d+8|0;c[d>>2]=(c[d>>2]|0)+1;d=c[o>>2]|0;if(d>>>0<(c[m>>2]|0)>>>0){e=c[p>>2]|0;c[d>>2]=e;if(e){d=e+8|0;c[d>>2]=(c[d>>2]|0)+1;d=c[o>>2]|0}c[o>>2]=d+4}else Isa(n,p);d=c[p>>2]|0;if(d|0?(j=d+8|0,k=c[j>>2]|0,c[j>>2]=k-1,(k|0)==1):0)UU(d,1,1);c[p>>2]=0;if((a[q+11>>0]|0)<0)l0a(c[q>>2]|0);d=j0a(44)|0;c[q>>2]=0;c[q+4>>2]=0;c[q+8>>2]=0;e=j0a(16)|0;c[q>>2]=e;c[q+8>>2]=-2147483632;c[q+4>>2]=14;i=e;j=183489;k=i+14|0;do{a[i>>0]=a[j>>0]|0;i=i+1|0;j=j+1|0}while((i|0)<(k|0));a[e+14>>0]=0;Tha(d);k=d+12|0;bla(k);c[d>>2]=99180;c[k>>2]=99208;a[d+20>>0]=0;c[d+24>>2]=0;c[d+28>>2]=b;t0a(d+32|0,q);c[p>>2]=d;d=d+8|0;c[d>>2]=(c[d>>2]|0)+1;d=c[o>>2]|0;if(d>>>0<(c[m>>2]|0)>>>0){e=c[p>>2]|0;c[d>>2]=e;if(e){d=e+8|0;c[d>>2]=(c[d>>2]|0)+1;d=c[o>>2]|0}c[o>>2]=d+4}else Isa(n,p);d=c[p>>2]|0;if(d|0?(j=d+8|0,k=c[j>>2]|0,c[j>>2]=k-1,(k|0)==1):0)UU(d,1,1);c[p>>2]=0;if((a[q+11>>0]|0)<0)l0a(c[q>>2]|0);d=j0a(44)|0;c[q>>2]=0;c[q+4>>2]=0;c[q+8>>2]=0;e=j0a(16)|0;c[q>>2]=e;c[q+8>>2]=-2147483632;c[q+4>>2]=14;i=e;j=183504;k=i+14|0;do{a[i>>0]=a[j>>0]|0;i=i+1|0;j=j+1|0}while((i|0)<(k|0));a[e+14>>0]=0;Tha(d);k=d+12|0;bla(k);c[d>>2]=99180;c[k>>2]=99208;a[d+20>>0]=0;c[d+24>>2]=0;c[d+28>>2]=b;t0a(d+32|0,q);c[p>>2]=d;d=d+8|0;c[d>>2]=(c[d>>2]|0)+1;d=c[o>>2]|0;if(d>>>0<(c[m>>2]|0)>>>0){e=c[p>>2]|0;c[d>>2]=e;if(e){d=e+8|0;c[d>>2]=(c[d>>2]|0)+1;d=c[o>>2]|0}c[o>>2]=d+4}else Isa(n,p);d=c[p>>2]|0;if(d|0?(n=d+8|0,o=c[n>>2]|0,c[n>>2]=o-1,(o|0)==1):0)UU(d,1,1);c[p>>2]=0;if((a[q+11>>0]|0)>=0){q=b+64|0;h[q>>3]=1.0;l=r;return}l0a(c[q>>2]|0);q=b+64|0;h[q>>3]=1.0;l=r;return}function Isa(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;m=a+4|0;d=c[m>>2]|0;e=c[a>>2]|0;i=d-e>>2;f=i+1|0;g=e;if(f>>>0>1073741823)g1a(a);l=a+8|0;j=(c[l>>2]|0)-e|0;k=j>>1;f=j>>2>>>0<536870911?(k>>>0<f>>>0?f:k):1073741823;do if(f)if(f>>>0>1073741823){m=db(8)|0;p0a(m,183738);c[m>>2]=110936;hb(m|0,65952,1066)}else{j=j0a(f<<2)|0;break}else j=0;while(0);e=j+(i<<2)|0;k=j+(f<<2)|0;f=c[b>>2]|0;c[e>>2]=f;if(f){g=f+8|0;c[g>>2]=(c[g>>2]|0)+1;g=c[a>>2]|0;d=c[m>>2]|0}h=e+4|0;f=g;if((d|0)==(g|0))b=f;else{b=i+-1-((d+-4-f|0)>>>2)|0;while(1){d=d+-4|0;f=c[d>>2]|0;c[e+-4>>2]=f;if(f|0){i=f+8|0;c[i>>2]=(c[i>>2]|0)+1}if((d|0)==(g|0))break;else e=e+-4|0}e=j+(b<<2)|0;b=c[a>>2]|0;d=c[m>>2]|0}c[a>>2]=e;c[m>>2]=h;c[l>>2]=k;f=b;if((d|0)!=(f|0))do{d=d+-4|0;e=c[d>>2]|0;if(e|0?(l=e+8|0,m=c[l>>2]|0,c[l>>2]=m-1,(m|0)==1):0)UU(e,1,1);c[d>>2]=0}while((d|0)!=(f|0));if(!b)return;l0a(b);return}function Jsa(a,b){a=a|0;b=+b;var d=0,e=0,f=0,g=0,i=0,j=0,k=0,m=0;m=l;l=l+16|0;g=m+4|0;i=m;j=a+24|0;gk[c[(c[j>>2]|0)+8>>2]&1023](j)|0;k=a+12|0;d=c[k>>2]|0;f=a+16|0;if((f|0)==(d|0)){k=c[j>>2]|0;k=k+12|0;k=c[k>>2]|0;gk[k&1023](j)|0;l=m;return}do do if(!(+h[d+40>>3]<=b)){e=d;d=c[e+4>>2]|0;if(!d){a=e+8|0;d=c[a>>2]|0;if((c[d>>2]|0)==(e|0))break;do{e=c[a>>2]|0;a=e+8|0;d=c[a>>2]|0}while((c[d>>2]|0)!=(e|0))}else{while(1){a=c[d>>2]|0;if(!a)break;else d=a}break}}else{c[i>>2]=d;c[g>>2]=c[i>>2];d=Ksa(k,g)|0}while(0);while((f|0)!=(d|0));k=c[j>>2]|0;k=k+12|0;k=c[k>>2]|0;gk[k&1023](j)|0;l=m;return}function Ksa(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;g=c[d>>2]|0;d=c[g+4>>2]|0;if(!d){e=g+8|0;d=c[e>>2]|0;if((c[d>>2]|0)!=(g|0))do{f=c[e>>2]|0;e=f+8|0;d=c[e>>2]|0}while((c[d>>2]|0)!=(f|0))}else while(1){e=c[d>>2]|0;if(!e)break;else d=e}if((c[b>>2]|0)==(g|0))c[b>>2]=d;f=b+8|0;c[f>>2]=(c[f>>2]|0)+-1;Pw(c[b+4>>2]|0,g);f=g+16|0;e=g+32|0;b=c[e>>2]|0;if(b|0?(i=b+8|0,h=c[i>>2]|0,c[i>>2]=h-1,(h|0)==1):0)UU(b,1,1);c[e>>2]=0;e=g+28|0;b=c[e>>2]|0;if(b|0?(h=b+8|0,i=c[h>>2]|0,c[h>>2]=i-1,(i|0)==1):0)UU(b,1,1);c[e>>2]=0;if((a[f+11>>0]|0)>=0){l0a(g);return d|0}l0a(c[f>>2]|0);l0a(g);return d|0}function Lsa(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;t=l;l=l+48|0;p=t+24|0;r=t+12|0;s=t;d=e+11|0;q=a[d>>0]|0;h=e+4|0;if(!((q<<24>>24<0?c[h>>2]|0:q&255)|0)){t0a(b,e);l=t;return}m=(Rla(0)|0)+188|0;rAa(r,e,m,g);n=r+11|0;q=a[n>>0]|0;o=r+4|0;do if(!((q<<24>>24<0?c[o>>2]|0:q&255)|0)){if(pAa(e)|0){if(ZQ(5)|0){s=mr(lr(5)|0,183519,15)|0;q=a[d>>0]|0;g=q<<24>>24<0;q=mr(mr(s,g?c[e>>2]|0:e,g?c[h>>2]|0:q&255)|0,183535,13)|0;g=a[d>>0]|0;s=g<<24>>24<0;g=mr(q,s?c[e>>2]|0:e,s?c[h>>2]|0:g&255)|0;BSa(p,g+(c[(c[g>>2]|0)+-12>>2]|0)|0);s=cUa(p,230580)|0;s=kk[c[(c[s>>2]|0)+28>>2]&511](s,10)|0;dUa(p);VSa(g,s)|0;HSa(g)|0}t0a(b,e);break}Xma(p,e);q=p+11|0;f=a[q>>0]|0;j=f<<24>>24<0;f=f&255;k=j?c[p+4>>2]|0:f;i=a[d>>0]|0;d=i<<24>>24<0;a:do if((k|0)==((d?c[h>>2]|0:i&255)|0)){u=c[p>>2]|0;i=j?u:p;d=d?c[e>>2]|0:e;h=(k|0)==0;e=u&255;if(j){if(h){d=23;break}if(!(cOa(i,d,k)|0)){d=23;break}else{d=18;break}}if(!h)if((a[d>>0]|0)==e<<24>>24){h=p;while(1){f=f+-1|0;h=h+1|0;if(!f){d=23;break a}d=d+1|0;if((a[h>>0]|0)!=(a[d>>0]|0)){d=18;break}}}else d=18;else d=23}else d=18;while(0);if((d|0)==18){rAa(s,p,m,g);if((a[n>>0]|0)<0){a[c[r>>2]>>0]=0;c[o>>2]=0}else{a[r>>0]=0;a[n>>0]=0}D0a(r,0);c[r>>2]=c[s>>2];c[r+4>>2]=c[s+4>>2];c[r+8>>2]=c[s+8>>2];u=a[n>>0]|0;if(!((u<<24>>24<0?c[o>>2]|0:u&255)|0))d=23;else{c[b>>2]=c[r>>2];c[b+4>>2]=c[r+4>>2];c[b+8>>2]=c[r+8>>2];c[r>>2]=0;c[r+4>>2]=0;c[r+8>>2]=0}}if((d|0)==23){c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0}if((a[q>>0]|0)<0)l0a(c[p>>2]|0)}else{c[b>>2]=c[r>>2];c[b+4>>2]=c[r+4>>2];c[b+8>>2]=c[r+8>>2];c[r>>2]=0;c[r+4>>2]=0;c[r+8>>2]=0}while(0);if((a[n>>0]|0)<0)l0a(c[r>>2]|0);l=t;return}function Msa(a,b){a=a|0;b=b|0;var d=0,e=0,f=0.0,g=0;d=c[a+212>>2]|0;if(!d)return;f=+h[b+16>>3];g=d+24|0;gk[c[(c[g>>2]|0)+8>>2]&1023](g)|0;a=c[d+12>>2]|0;e=d+16|0;if((a|0)!=(e|0)){d=a;while(1){if((c[(c[d+32>>2]|0)+8>>2]|0)>1)h[d+40>>3]=f;a=c[d+4>>2]|0;if(!a){b=d+8|0;a=c[b>>2]|0;if((c[a>>2]|0)!=(d|0))do{d=c[b>>2]|0;b=d+8|0;a=c[b>>2]|0}while((c[a>>2]|0)!=(d|0))}else while(1){b=c[a>>2]|0;if(!b)break;else a=b}if((a|0)==(e|0))break;else d=a}}gk[c[(c[g>>2]|0)+12>>2]&1023](g)|0;return}function Nsa(a,b){a=a|0;b=b|0;var d=0;d=c[a+212>>2]|0;if(!d)return;Jsa(d,+h[b+16>>3]-+h[a+216>>3]);return}function Osa(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0;k=l;l=l+16|0;h=k+4|0;i=k;j=a+120|0;gk[c[(c[j>>2]|0)+8>>2]&1023](j)|0;f=a+68|0;b=c[f>>2]|0;g=a+72|0;if((b|0)!=(g|0)){e=b;while(1){b=c[e+4>>2]|0;d=(b|0)==0;do if((c[(c[e+16>>2]|0)+8>>2]|0)>=2)if(d){d=e+8|0;b=c[d>>2]|0;if((c[b>>2]|0)==(e|0))break;do{e=c[d>>2]|0;d=e+8|0;b=c[d>>2]|0}while((c[b>>2]|0)!=(e|0))}else{while(1){d=c[b>>2]|0;if(!d)break;else b=d}break}else{if(d){d=e+8|0;b=c[d>>2]|0;if((c[b>>2]|0)!=(e|0))do{m=c[d>>2]|0;d=m+8|0;b=c[d>>2]|0}while((c[b>>2]|0)!=(m|0))}else while(1){d=c[b>>2]|0;if(!d)break;else b=d}c[i>>2]=e;c[h>>2]=c[i>>2];Psa(f,h)|0}while(0);if((b|0)==(g|0))break;else e=b}}g=a+56|0;b=c[g>>2]|0;f=a+60|0;if((b|0)==(f|0)){m=c[j>>2]|0;m=m+12|0;m=c[m>>2]|0;gk[m&1023](j)|0;l=k;return}e=b;while(1){b=c[e+4>>2]|0;d=(b|0)==0;do if((c[(c[e+16>>2]|0)+8>>2]|0)>=2)if(d){d=e+8|0;b=c[d>>2]|0;if((c[b>>2]|0)==(e|0))break;do{m=c[d>>2]|0;d=m+8|0;b=c[d>>2]|0}while((c[b>>2]|0)!=(m|0))}else{while(1){d=c[b>>2]|0;if(!d)break;else b=d}break}else{if(d){d=e+8|0;b=c[d>>2]|0;if((c[b>>2]|0)!=(e|0))do{m=c[d>>2]|0;d=m+8|0;b=c[d>>2]|0}while((c[b>>2]|0)!=(m|0))}else while(1){d=c[b>>2]|0;if(!d)break;else b=d}c[i>>2]=e;c[h>>2]=c[i>>2];Qsa(g,h)|0}while(0);if((b|0)==(f|0))break;else e=b}m=c[j>>2]|0;m=m+12|0;m=c[m>>2]|0;gk[m&1023](j)|0;l=k;return}function Psa(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;e=c[b>>2]|0;b=c[e+4>>2]|0;if(!b){b=e+8|0;d=c[b>>2]|0;if((c[d>>2]|0)!=(e|0))do{f=c[b>>2]|0;b=f+8|0;d=c[b>>2]|0}while((c[d>>2]|0)!=(f|0))}else{while(1){d=c[b>>2]|0;if(!d)break;else b=d}d=b}if((c[a>>2]|0)==(e|0))c[a>>2]=d;b=a+8|0;c[b>>2]=(c[b>>2]|0)+-1;Pw(c[a+4>>2]|0,e);b=c[e+16>>2]|0;if(!b){l0a(e);return d|0}a=b+8|0;f=c[a>>2]|0;c[a>>2]=f-1;if((f|0)!=1){l0a(e);return d|0}UU(b,1,1);l0a(e);return d|0}function Qsa(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;e=c[b>>2]|0;b=c[e+4>>2]|0;if(!b){b=e+8|0;d=c[b>>2]|0;if((c[d>>2]|0)!=(e|0))do{f=c[b>>2]|0;b=f+8|0;d=c[b>>2]|0}while((c[d>>2]|0)!=(f|0))}else{while(1){d=c[b>>2]|0;if(!d)break;else b=d}d=b}if((c[a>>2]|0)==(e|0))c[a>>2]=d;b=a+8|0;c[b>>2]=(c[b>>2]|0)+-1;Pw(c[a+4>>2]|0,e);b=c[e+16>>2]|0;if(!b){l0a(e);return d|0}a=b+8|0;f=c[a>>2]|0;c[a>>2]=f-1;if((f|0)!=1){l0a(e);return d|0}UU(b,1,1);l0a(e);return d|0}function Rsa(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;m=b+4|0;e=c[m>>2]|0;do if(e|0){l=a[d+11>>0]|0;k=l<<24>>24<0;l=k?c[d+4>>2]|0:l&255;k=k?c[d>>2]|0:d;b=m;do{f=e+16|0;h=a[f+11>>0]|0;g=h<<24>>24<0;h=g?c[e+20>>2]|0:h&255;i=l>>>0<h>>>0;d=i?l:h;if((d|0)!=0?(j=cOa(g?c[f>>2]|0:f,k,d)|0,(j|0)!=0):0)d=j;else d=h>>>0<l>>>0?-1:i&1;i=(d|0)<0;b=i?b:e;e=c[(i?e+4|0:e)>>2]|0}while((e|0)!=0);if((b|0)!=(m|0)){e=b+16|0;g=a[e+11>>0]|0;f=g<<24>>24<0;g=f?c[b+20>>2]|0:g&255;d=g>>>0<l>>>0?g:l;if(d|0?(n=cOa(k,f?c[e>>2]|0:e,d)|0,n|0):0){if((n|0)<0)break;return b|0}if(l>>>0>=g>>>0){n=b;return n|0}}}while(0);n=m;return n|0}function Ssa(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;x=l;l=l+96|0;s=x+72|0;t=x+60|0;u=x+48|0;r=x+36|0;v=x+24|0;p=x+12|0;o=x;q=sla()|0;if(ZQ(4)|0){w=QSa(mr(lr(4)|0,185509,46)|0,q)|0;BSa(s,w+(c[(c[w>>2]|0)+-12>>2]|0)|0);n=cUa(s,230580)|0;n=kk[c[(c[n>>2]|0)+28>>2]&511](n,10)|0;dUa(s);VSa(w,n)|0;HSa(w)|0}if((q|0)==1){l=x;return}c[v>>2]=0;w=v+4|0;c[w>>2]=0;h=v+8|0;c[h>>2]=0;c[s>>2]=0;if(q){f=0;g=0;e=0;while(1){if((f|0)==(g|0))Nz(v,s);else{c[f>>2]=e;c[w>>2]=f+4}e=(c[s>>2]|0)+2|0;c[s>>2]=e;if(e>>>0>=q>>>0)break;f=c[w>>2]|0;g=c[h>>2]|0}c[s>>2]=1;if(q>>>0>1){f=1;do{e=c[w>>2]|0;if((e|0)==(c[h>>2]|0))Nz(v,s);else{c[e>>2]=f;c[w>>2]=e+4}f=(c[s>>2]|0)+2|0;c[s>>2]=f}while(f>>>0<q>>>0)}}else c[s>>2]=1;g=c[c[v>>2]>>2]|0;c[p+4>>2]=0;h=p+8|0;c[h>>2]=0;f=p+4|0;c[p>>2]=f;e=j0a(20)|0;c[e+16>>2]=g;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=f;c[f>>2]=e;g=e;c[p>>2]=g;a[e+12>>0]=1;c[h>>2]=1;h=b+16|0;if((p|0)!=(h|0)){c[u>>2]=g;c[r>>2]=f;c[t>>2]=c[u>>2];c[s>>2]=c[r>>2];zR(h,t,s);e=c[f>>2]|0}vw(p,e);switch(c[b+28>>2]|0){case 1:{f=0;i=29;break}case 2:{f=1;i=29;break}case 3:{c[s>>2]=0;j=s+4|0;c[j>>2]=0;c[s+8>>2]=0;Nk[c[(c[b>>2]|0)+84>>2]&255](b,s,1);e=c[s>>2]|0;if((e|0)==(c[j>>2]|0))f=0;else{g=t+4|0;h=t+8|0;i=t+4|0;f=0;do{n=c[e>>2]|0;m=f;f=f+1|0;k=c[v>>2]|0;k=c[k+(((m>>>0)%((c[w>>2]|0)-k>>2>>>0)|0)<<2)>>2]|0;c[g>>2]=0;c[h>>2]=0;c[t>>2]=i;m=j0a(20)|0;c[m+16>>2]=k;c[m>>2]=0;c[m+4>>2]=0;c[m+8>>2]=i;c[i>>2]=m;c[t>>2]=m;a[m+12>>0]=1;c[h>>2]=1;yR(n,t);vw(t,c[i>>2]|0);e=e+4|0}while((e|0)!=(c[j>>2]|0));e=c[s>>2]|0}if(e|0){c[j>>2]=e;l0a(e)}i=29;break}default:f=0}if((i|0)==29){c[p>>2]=0;n=p+4|0;c[n>>2]=0;c[p+8>>2]=0;Nk[c[(c[b>>2]|0)+88>>2]&255](b,p,1);e=c[p>>2]|0;g=c[n>>2]|0;if((e|0)!=(g|0)){j=o+4|0;k=o+8|0;m=o+4|0;do{h=c[(c[e>>2]|0)+44>>2]|0;if(h){i=c[v>>2]|0;i=c[i+(((f>>>0)%((c[w>>2]|0)-i>>2>>>0)|0)<<2)>>2]|0;c[j>>2]=0;c[k>>2]=0;c[o>>2]=m;g=j0a(20)|0;c[g+16>>2]=i;c[g>>2]=0;c[g+4>>2]=0;c[g+8>>2]=m;c[m>>2]=g;i=g;c[o>>2]=i;a[g+12>>0]=1;c[k>>2]=1;h=h+188|0;if((o|0)!=(h|0)){c[u>>2]=i;c[r>>2]=m;c[t>>2]=c[u>>2];c[s>>2]=c[r>>2];zR(h,t,s);g=c[m>>2]|0}vw(o,g);f=f+1|0;g=c[n>>2]|0}e=e+4|0}while((e|0)!=(g|0));e=c[p>>2]|0}if(e|0){c[n>>2]=e;l0a(e)}}if(f>>>0<q>>>0){c[t>>2]=0;n=t+4|0;c[n>>2]=0;c[t+8>>2]=0;Nk[c[(c[b>>2]|0)+104>>2]&255](b,t,1);c[u>>2]=u;k=u+4|0;c[k>>2]=u;m=u+8|0;c[m>>2]=0;e=c[t>>2]|0;j=c[n>>2]|0;if((e|0)!=(j|0)){g=u;i=0;do{h=c[(c[e>>2]|0)+16>>2]|0;if(h){b=j0a(12)|0;c[b+8>>2]=h;c[b+4>>2]=u;c[b>>2]=g;c[g+4>>2]=b;c[u>>2]=b;i=i+1|0;c[m>>2]=i;g=b}e=e+4|0}while((e|0)!=(j|0))}if(ZQ(4)|0){b=mr(lr(4)|0,185556,19)|0;b=RSa(b,c[m>>2]|0)|0;BSa(s,b+(c[(c[b>>2]|0)+-12>>2]|0)|0);p=cUa(s,230580)|0;p=kk[c[(c[p>>2]|0)+28>>2]&511](p,10)|0;dUa(s);VSa(b,p)|0;HSa(b)|0}i=c[v>>2]|0;i=c[i+(((f>>>0)%((c[w>>2]|0)-i>>2>>>0)|0)<<2)>>2]|0;c[s+4>>2]=0;c[s+8>>2]=0;j=s+4|0;c[s>>2]=j;f=c[k>>2]|0;e=f;if((u|0)==(e|0))e=0;else{g=q-i|0;h=r+4|0;do{q=c[f+8>>2]|0;b=c[(c[q>>2]|0)+36>>2]|0;Eta(r,i,g);Jk[b&1023](q,r);vw(r,c[h>>2]|0);f=c[e+4>>2]|0;e=f}while((u|0)!=(e|0));e=c[j>>2]|0}vw(s,e);if(c[m>>2]|0?(d=c[k>>2]|0,s=(c[u>>2]|0)+4|0,r=c[d>>2]|0,c[r+4>>2]=c[s>>2],c[c[s>>2]>>2]=r,c[m>>2]=0,(d|0)!=(u|0)):0)do{s=d;d=c[d+4>>2]|0;l0a(s)}while((d|0)!=(u|0));d=c[t>>2]|0;if(d|0){c[n>>2]=d;l0a(d)}}d=c[v>>2]|0;if(d|0){c[w>>2]=d;l0a(d)}l=x;return}function Tsa(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=l;l=l+16|0;e=h+12|0;d=h+8|0;f=h+4|0;g=h;a=a+16|0;if((a|0)==(b|0)){l=h;return}c[f>>2]=c[b>>2];c[g>>2]=b+4;c[d>>2]=c[f>>2];c[e>>2]=c[g>>2];zR(a,d,e);l=h;return}function Usa(b,d){b=b|0;d=d|0;var e=0;e=b+28|0;if((c[e>>2]|0)==(d|0))return;if(!(a[b+32>>0]|0)){c[e>>2]=d;return}else{Bk[c[(c[b>>2]|0)+44>>2]&2047](b);c[e>>2]=d;Bk[c[(c[b>>2]|0)+40>>2]&2047](b);return}}function Vsa(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0;n=l;l=l+48|0;m=n+24|0;k=n+12|0;j=n;c[m>>2]=0;c[m+4>>2]=0;c[m+8>>2]=0;e=Jh(185394)|0;do if(e){d=0;while(1){if(!(a[e+d>>0]|0))break;d=d+1|0;if(d>>>0>=4096){d=4096;break}}A0a(m,e,d)|0;d=m+11|0;g=a[d>>0]|0;h=m+4|0;e=c[h>>2]|0;f=g&255;if(((g<<24>>24<0?e:f)|0)==14){if(!(S0a(m,0,-1,185408,14)|0)){e=0;break}g=a[d>>0]|0;f=g&255;e=c[h>>2]|0}if(((g<<24>>24<0?e:f)|0)==24){if(!(S0a(m,0,-1,185423,24)|0)){e=1;break}g=a[d>>0]|0;f=g&255;e=c[h>>2]|0}if(((g<<24>>24<0?e:f)|0)==20){if(!(S0a(m,0,-1,185448,20)|0)){e=2;break}g=a[d>>0]|0;f=g&255;e=c[h>>2]|0}if(((g<<24>>24<0?e:f)|0)==39?(S0a(m,0,-1,185469,39)|0)==0:0)e=3;else i=16}else i=16;while(0);if((i|0)==16){c[k>>2]=0;g=k+4|0;c[g>>2]=0;c[k+8>>2]=0;Nk[c[(c[b>>2]|0)+88>>2]&255](b,k,1);d=c[k>>2]|0;if((d|0)==(c[g>>2]|0))e=0;else{c[j>>2]=0;f=j+4|0;c[f>>2]=0;c[j+8>>2]=0;Nk[c[(c[b>>2]|0)+84>>2]&255](b,j,1);d=c[j>>2]|0;do if((d|0)!=(c[f>>2]|0)){d=sla()|0;e=(c[g>>2]|0)-(c[k>>2]|0)|0;if((e|0)==4){e=(d|0)==1?0:2;d=c[j>>2]|0;break}else{j=c[j>>2]|0;e=(d|0)<(((c[f>>2]|0)-j>>2)+(e>>2)|0)?2:3;d=j;break}}else e=0;while(0);if(d|0){c[f>>2]=d;l0a(d)}d=c[k>>2]|0}if(d|0){c[g>>2]=d;l0a(d)}d=m+11|0}if((a[d>>0]|0)>=0){l=n;return e|0}l0a(c[m>>2]|0);l=n;return e|0}function Wsa(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0;m=l;l=l+32|0;i=m+12|0;g=m;j=b+28|0;if((c[j>>2]|0)==4)c[j>>2]=gk[c[(c[b>>2]|0)+36>>2]&1023](b)|0;if(a[b+14>>0]|0)Bk[c[(c[b>>2]|0)+24>>2]&2047](b);c[i>>2]=0;k=i+4|0;c[k>>2]=0;c[i+8>>2]=0;Nk[c[(c[b>>2]|0)+88>>2]&255](b,i,1);jla(b+16|0)|0;c[g>>2]=0;h=g+4|0;c[h>>2]=0;c[g+8>>2]=0;Nk[c[(c[b>>2]|0)+104>>2]&255](b,g,1);d=c[g>>2]|0;e=c[h>>2]|0;if((d|0)!=(e|0)){do{f=c[(c[d>>2]|0)+12>>2]|0;if(f){n=c[(c[f>>2]|0)+156>>2]|0;e=gS(c[(vt()|0)>>2]|0)|0;Jk[n&1023](f,e);e=c[h>>2]|0}d=d+4|0}while((d|0)!=(e|0));d=c[g>>2]|0}if(d|0){c[h>>2]=d;l0a(d)}d=(a[b+32>>0]|0)!=0;if(!(c[j>>2]|0)){if(d)Bk[c[(c[b>>2]|0)+44>>2]&2047](b)}else if(!d)Bk[c[(c[b>>2]|0)+48>>2]&2047](b);d=c[i>>2]|0;if(!d){l=m;return}c[k>>2]=d;l0a(d);l=m;return}function Xsa(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0;r=l;l=l+32|0;m=r+24|0;o=r+12|0;n=r;h=b+32|0;if(!(a[h>>0]|0)){l=r;return}if(ZQ(4)|0){q=mr(lr(4)|0,185300,48)|0;BSa(m,q+(c[(c[q>>2]|0)+-12>>2]|0)|0);p=cUa(m,230580)|0;p=kk[c[(c[p>>2]|0)+28>>2]&511](p,10)|0;dUa(m);VSa(q,p)|0;HSa(q)|0}c[o>>2]=0;q=o+4|0;c[q>>2]=0;c[o+8>>2]=0;Nk[c[(c[b>>2]|0)+88>>2]&255](b,o,1);c[n>>2]=0;p=n+4|0;c[p>>2]=0;c[n+8>>2]=0;Nk[c[(c[b>>2]|0)+84>>2]&255](b,n,1);e=c[n>>2]|0;d=c[p>>2]|0;if((e|0)!=(d|0)){do{f=c[(c[e>>2]|0)+628>>2]|0;if((f|0)!=0?(g=y1a(f,45088,58784,0)|0,(g|0)!=0):0){Bk[c[c[g>>2]>>2]&2047](g);d=c[p>>2]|0}e=e+4|0}while((e|0)!=(d|0));e=d}d=c[o>>2]|0;if((d|0)!=(c[q>>2]|0)){do{oH(c[d>>2]|0,0);d=d+4|0}while((d|0)!=(c[q>>2]|0));e=c[p>>2]|0}d=c[n>>2]|0;if((d|0)!=(e|0)){while(1){Dw(c[d>>2]|0,0);f=d+4|0;if((f|0)==(c[p>>2]|0))break;else d=f}e=c[n>>2]|0;if((e|0)!=(f|0))while(1){f=c[(c[e>>2]|0)+628>>2]|0;if(f|0?(i=y1a(f,45088,58784,0)|0,i|0):0){f=i+29|0;if((a[f>>0]|0)!=1)a[f>>0]=1;a[i+28>>0]=0}if((e|0)==(d|0))break;else e=e+4|0}}a[h>>0]=0;d=b+56|0;e=c[d>>2]|0;if(e|0?(c[d>>2]=0,j=e+(c[(c[e>>2]|0)+-12>>2]|0)|0,h=j+8|0,i=c[h>>2]|0,c[h>>2]=i-1,(i|0)==1):0)UU(j,1,1);d=b+60|0;e=c[d>>2]|0;if(e|0?(c[d>>2]=0,k=e+(c[(c[e>>2]|0)+-12>>2]|0)|0,i=k+8|0,j=c[i>>2]|0,c[i>>2]=j-1,(j|0)==1):0)UU(k,1,1);d=b+64|0;e=c[d>>2]|0;if(e|0?(c[d>>2]=0,b=e+8|0,k=c[b>>2]|0,c[b>>2]=k-1,(k|0)==1):0)UU(e,1,1);if(ZQ(4)|0){k=mr(lr(4)|0,185349,44)|0;BSa(m,k+(c[(c[k>>2]|0)+-12>>2]|0)|0);b=cUa(m,230580)|0;b=kk[c[(c[b>>2]|0)+28>>2]&511](b,10)|0;dUa(m);VSa(k,b)|0;HSa(k)|0}d=c[n>>2]|0;if(d|0){c[p>>2]=d;l0a(d)}d=c[o>>2]|0;if(d|0){c[q>>2]=d;l0a(d)}l=r;return}function Ysa(b){b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0;P=l;l=l+48|0;J=P+36|0;O=P+24|0;N=P+12|0;L=P;K=b+32|0;if(a[K>>0]|0){l=P;return}if(ZQ(4)|0){I=mr(lr(4)|0,184990,45)|0;BSa(J,I+(c[(c[I>>2]|0)+-12>>2]|0)|0);H=cUa(J,230580)|0;H=kk[c[(c[H>>2]|0)+28>>2]&511](H,10)|0;dUa(J);VSa(I,H)|0;HSa(I)|0}i=b+92|0;e=c[i>>2]|0;if(e|0){if((c[e+24>>2]|0?(f=b+96|0,g=c[f>>2]|0,g|0):0)?gk[c[(c[g>>2]|0)+168>>2]&1023](g)|0:0)xT(c[f>>2]|0)|0;e=c[i>>2]|0;if(e|0?(c[i>>2]=0,H=e+8|0,I=c[H>>2]|0,c[H>>2]=I-1,(I|0)==1):0)UU(e,1,1)}c[b+96>>2]=0;c[O>>2]=0;I=O+4|0;c[I>>2]=0;c[O+8>>2]=0;Nk[c[(c[b>>2]|0)+88>>2]&255](b,O,1);if(ZQ(4)|0){H=mr(lr(4)|0,185036,43)|0;H=RSa(H,(c[I>>2]|0)-(c[O>>2]|0)>>2)|0;BSa(J,H+(c[(c[H>>2]|0)+-12>>2]|0)|0);G=cUa(J,230580)|0;G=kk[c[(c[G>>2]|0)+28>>2]&511](G,10)|0;dUa(J);VSa(H,G)|0;HSa(H)|0}c[N>>2]=0;H=N+4|0;c[H>>2]=0;c[N+8>>2]=0;Nk[c[(c[b>>2]|0)+84>>2]&255](b,N,1);C=b+28|0;switch(c[C>>2]|0){case 0:break;case 1:{t=((c[I>>2]|0)-(c[O>>2]|0)>>2)+1|0;s=t;j=19;break}case 2:{s=1;t=1;j=19;break}case 3:{s=((c[H>>2]|0)-(c[N>>2]|0)>>2)+1|0;t=1;j=19;break}default:if(ZQ(3)|0){M=mr(lr(3)|0,185080,35)|0;BSa(J,M+(c[(c[M>>2]|0)+-12>>2]|0)|0);L=cUa(J,230580)|0;L=kk[c[(c[L>>2]|0)+28>>2]&511](L,10)|0;dUa(J);VSa(M,L)|0;HSa(M)|0}}if((j|0)==19){c[L>>2]=0;G=L+4|0;c[G>>2]=0;c[L+8>>2]=0;Nk[c[(c[b>>2]|0)+104>>2]&255](b,L,1);f=c[L>>2]|0;e=c[G>>2]|0;if((f|0)!=(e|0))do{if(c[(c[f>>2]|0)+12>>2]|0){if(ZQ(4)|0){m=mr(lr(4)|0,185116,24)|0;BSa(J,m+(c[(c[m>>2]|0)+-12>>2]|0)|0);k=cUa(J,230580)|0;k=kk[c[(c[k>>2]|0)+28>>2]&511](k,10)|0;dUa(J);VSa(m,k)|0;HSa(m)|0}m=c[(c[f>>2]|0)+12>>2]|0;Jk[c[c[m>>2]>>2]&1023](m,1);m=c[(c[f>>2]|0)+12>>2]|0;k=c[(c[m>>2]|0)+156>>2]|0;e=gS(c[(vt()|0)>>2]|0)|0;Jk[k&1023](m,e);e=c[G>>2]|0}f=f+4|0}while((f|0)!=(e|0));e=c[C>>2]|0;f=e>>>0<2;g=c[N>>2]|0;i=c[H>>2]|0;if((g|0)==(i|0))i=0;else{m=f&1;k=f&1;j=0;f=i;while(1){e=c[(c[g>>2]|0)+628>>2]|0;if((e|0)!=0?(n=y1a(e,45088,58784,0)|0,(n|0)!=0):0){e=n+29|0;if((d[e>>0]|0)!=(m|0))a[e>>0]=k;a[n+28>>0]=0;Bk[c[(c[n>>2]|0)+36>>2]&2047](n);e=j+1|0;f=c[H>>2]|0}else e=j;g=g+4|0;if((g|0)==(f|0))break;else j=e}i=e;e=c[C>>2]|0}switch(e|0){case 1:{e=b+56|0;f=c[e>>2]|0;if(f|0?(c[e>>2]=0,o=f+(c[(c[f>>2]|0)+-12>>2]|0)|0,p=o+8|0,r=c[p>>2]|0,c[p>>2]=r-1,(r|0)==1):0)UU(o,1,1);e=b+60|0;f=c[e>>2]|0;if(f|0?(c[e>>2]=0,q=f+(c[(c[f>>2]|0)+-12>>2]|0)|0,p=q+8|0,r=c[p>>2]|0,c[p>>2]=r-1,(r|0)==1):0)UU(q,1,1);e=b+64|0;f=c[e>>2]|0;if(f|0?(c[e>>2]=0,q=f+8|0,r=c[q>>2]|0,c[q>>2]=r-1,(r|0)==1):0)UU(f,1,1);break}case 3:case 2:{e=b+56|0;f=c[e>>2]|0;if(f|0?(c[e>>2]=0,p=f+(c[(c[f>>2]|0)+-12>>2]|0)|0,o=p+8|0,q=c[o>>2]|0,c[o>>2]=q-1,(q|0)==1):0)UU(p,1,1);e=b+60|0;f=c[e>>2]|0;if(f|0?(c[e>>2]=0,r=f+(c[(c[f>>2]|0)+-12>>2]|0)|0,p=r+8|0,q=c[p>>2]|0,c[p>>2]=q-1,(q|0)==1):0)UU(r,1,1);g=j0a(40)|0;RT(g,i);e=b+64|0;f=c[e>>2]|0;if(((f|0)!=(g|0)?(c[e>>2]=g,r=g+8|0,c[r>>2]=(c[r>>2]|0)+1,f|0):0)?(q=f+8|0,r=c[q>>2]|0,c[q>>2]=r-1,(r|0)==1):0)UU(f,1,1);break}default:{}}q=s>>>0>1;if(((q?(u=j0a(48)|0,Cta(u,s,0,1),v=b+56|0,w=c[v>>2]|0,(w|0)!=(u|0)):0)?(c[v>>2]=u,v=u+(c[(c[u>>2]|0)+-12>>2]|0)+8|0,c[v>>2]=(c[v>>2]|0)+1,w|0):0)?(x=w+(c[(c[w>>2]|0)+-12>>2]|0)|0,v=x+8|0,w=c[v>>2]|0,c[v>>2]=w-1,(w|0)==1):0)UU(x,1,1);if(((t>>>0>1?(y=j0a(48)|0,Cta(y,t,c[b+52>>2]|0,1),z=b+60|0,A=c[z>>2]|0,(A|0)!=(y|0)):0)?(c[z>>2]=y,z=y+(c[(c[y>>2]|0)+-12>>2]|0)+8|0,c[z>>2]=(c[z>>2]|0)+1,A|0):0)?(B=A+(c[(c[A>>2]|0)+-12>>2]|0)|0,z=B+8|0,A=c[z>>2]|0,c[z>>2]=A-1,(A|0)==1):0)UU(B,1,1);e=c[O>>2]|0;f=c[I>>2]|0;if((e|0)==(f|0)){s=0;t=0;u=1}else{t=j0a(48)|0;Cta(t,f-e>>2,0,1);s=t+(c[(c[t>>2]|0)+-12>>2]|0)+8|0;c[s>>2]=(c[s>>2]|0)+1;s=t;u=0}r=j0a(32)|0;AT(r);e=r+(c[(c[r>>2]|0)+-12>>2]|0)+8|0;c[e>>2]=(c[e>>2]|0)+1;e=c[O>>2]|0;if((e|0)!=(c[I>>2]|0)){k=b+64|0;m=b+56|0;n=b+48|0;o=(s|0)==0;p=b+60|0;do{f=c[e>>2]|0;if(!(gk[c[(c[f>>2]|0)+180>>2]&1023](f)|0)){if(ZQ(4)|0){B=USa(mr(lr(4)|0,185141,47)|0,f)|0;BSa(J,B+(c[(c[B>>2]|0)+-12>>2]|0)|0);A=cUa(J,230580)|0;A=kk[c[(c[A>>2]|0)+28>>2]&511](A,10)|0;dUa(J);VSa(B,A)|0;HSa(B)|0}VR(f)|0}g=c[k>>2]|0;i=(c[f+48>>2]|0)+840|0;j=c[i>>2]|0;if((j|0)!=(g|0)){c[i>>2]=g;if(g|0){B=g+8|0;c[B>>2]=(c[B>>2]|0)+1}if(j|0?(A=j+8|0,B=c[A>>2]|0,c[A>>2]=B-1,(B|0)==1):0)UU(j,1,1)}DT(f);if((c[C>>2]|0)==1?(D=c[m>>2]|0,D|0):0)BT(c[f+108>>2]|0,D);f=f+108|0;A=c[f>>2]|0;B=j0a(32)|0;Dta(B);BT(A,B);if(((c[C>>2]|0)==1?(c[n>>2]|0)==0:0)?(E=c[p>>2]|0,E|0):0)BT(c[f>>2]|0,E);if(!o)BT(c[f>>2]|0,s);BT(c[f>>2]|0,r);do if((c[C>>2]|0)==1){if((c[n>>2]|0)!=1)break;g=c[p>>2]|0;if(!g)break;BT(c[f>>2]|0,g)}while(0);e=e+4|0}while((e|0)!=(c[I>>2]|0))}if(q&(c[C>>2]|0)==3?(h=c[N>>2]|0,(h|0)!=(c[H>>2]|0)):0){j=b+56|0;i=b+60|0;do{f=c[h>>2]|0;AR(f);g=c[f+624>>2]|0;e=c[j>>2]|0;if(e|0)BT(c[f+620>>2]|0,e);e=c[f+628>>2]|0;if(e|0?(F=y1a(e,45088,58784,0)|0,F|0):0){e=F+29|0;if(a[e>>0]|0)a[e>>0]=0;BT(c[f+620>>2]|0,F)}e=c[i>>2]|0;if(e|0)BT(c[g+108>>2]|0,e);h=h+4|0}while((h|0)!=(c[H>>2]|0));e=c[N>>2]|0;if((e|0)!=(h|0))do{f=(c[e>>2]|0)+620|0;g=c[f>>2]|0;if(g|0?!(lla(g+12|0)|0):0){if(ZQ(4)|0){F=mr(lr(4)|0,185189,30)|0;F=USa(F,c[f>>2]|0)|0;BSa(J,F+(c[(c[F>>2]|0)+-12>>2]|0)|0);b=cUa(J,230580)|0;b=kk[c[(c[b>>2]|0)+28>>2]&511](b,10)|0;dUa(J);VSa(F,b)|0;HSa(F)|0}ola((c[f>>2]|0)+12|0)|0}e=e+4|0}while((e|0)!=(c[H>>2]|0))}e=c[O>>2]|0;if((e|0)!=(c[I>>2]|0))do{f=(c[e>>2]|0)+108|0;g=c[f>>2]|0;if(g|0?!(lla(g+12|0)|0):0){if(ZQ(4)|0){F=mr(lr(4)|0,185220,41)|0;F=USa(F,c[f>>2]|0)|0;BSa(J,F+(c[(c[F>>2]|0)+-12>>2]|0)|0);b=cUa(J,230580)|0;b=kk[c[(c[b>>2]|0)+28>>2]&511](b,10)|0;dUa(J);VSa(F,b)|0;HSa(F)|0}ola((c[f>>2]|0)+12|0)|0}e=e+4|0}while((e|0)!=(c[I>>2]|0));a[K>>0]=1;if(ZQ(4)|0){K=mr(lr(4)|0,185262,16)|0;BSa(J,K+(c[(c[K>>2]|0)+-12>>2]|0)|0);F=cUa(J,230580)|0;F=kk[c[(c[F>>2]|0)+28>>2]&511](F,10)|0;dUa(J);VSa(K,F)|0;HSa(K)|0}e=r+(c[(c[r>>2]|0)+-12>>2]|0)|0;J=e+8|0;K=c[J>>2]|0;c[J>>2]=K-1;if((K|0)==1)UU(e,1,1);if(!u?(M=t+(c[(c[s>>2]|0)+-12>>2]|0)|0,J=M+8|0,K=c[J>>2]|0,c[J>>2]=K-1,(K|0)==1):0)UU(M,1,1);e=c[L>>2]|0;if(e|0){c[G>>2]=e;l0a(e)}}e=c[N>>2]|0;if(e|0){c[H>>2]=e;l0a(e)}e=c[O>>2]|0;if(e|0){c[I>>2]=e;l0a(e)}l=P;return}function Zsa(b,d){b=b|0;d=+d;var e=0;if(a[b+5>>0]|0)return;e=b+4|0;if(a[e>>0]|0){Bk[c[(c[b>>2]|0)+124>>2]&2047](b);if(!(gk[c[(c[b>>2]|0)+16>>2]&1023](b)|0))Bk[c[(c[b>>2]|0)+20>>2]&2047](b);a[e>>0]=0}Ck[c[(c[b>>2]|0)+68>>2]&15](b,d);Bk[c[(c[b>>2]|0)+72>>2]&2047](b);Bk[c[(c[b>>2]|0)+76>>2]&2047](b);Bk[c[(c[b>>2]|0)+80>>2]&2047](b);return}function _sa(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0.0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0,Ga=0,Ha=0,Ia=0,Ja=0,Ka=0,La=0,Ma=0,Na=0,Oa=0,Pa=0,Qa=0,Ra=0,Sa=0,Ta=0,Ua=0,Va=0.0,Wa=0,Xa=0,Ya=0,Za=0,_a=0,$a=0;$a=l;l=l+448|0;Za=$a+436|0;Ya=$a+424|0;Wa=$a+16|0;Xa=$a;c[Za>>2]=0;_a=Za+4|0;c[_a>>2]=0;c[Za+8>>2]=0;Nk[c[(c[b>>2]|0)+88>>2]&255](b,Za,1);Ta=b+5|0;if((c[_a>>2]|0)==(c[Za>>2]|0)){a[Ta>>0]=1;if(a[b+32>>0]|0){Bk[c[(c[b>>2]|0)+44>>2]&2047](b);d=4}}else d=4;if((d|0)==4?(a[Ta>>0]|0)==0:0){Va=+ck[c[(c[b>>2]|0)+112>>2]&7](b);Ra=gk[c[(c[b>>2]|0)+116>>2]&1023](b)|0;if(!Ra)Ua=0;else Ua=c[Ra+12>>2]|0;if(gk[c[(c[b>>2]|0)+4>>2]&1023](b)|0){Pa=gk[c[(c[b>>2]|0)+4>>2]&1023](b)|0;c[Ya>>2]=0;c[Ya+4>>2]=0;c[Ya+8>>2]=0;e=Ya+11|0;a[e>>0]=5;a[Ya>>0]=a[183806]|0;a[Ya+1>>0]=a[183807]|0;a[Ya+2>>0]=a[183808]|0;a[Ya+3>>0]=a[183809]|0;a[Ya+4>>0]=a[183810]|0;a[Ya+5>>0]=0;f=Pa+24|0;gk[c[(c[f>>2]|0)+8>>2]&1023](f)|0;d=Rsa(Pa+68|0,Ya)|0;if((d|0)==(Pa+72|0))d=0;else d=(a[d+28>>0]|0)!=0;gk[c[(c[f>>2]|0)+12>>2]&1023](f)|0;if((a[e>>0]|0)<0)l0a(c[Ya>>2]|0);if(d){c[Ya>>2]=0;Pa=Ya+4|0;c[Pa>>2]=0;c[Ya+8>>2]=0;Nk[c[(c[b>>2]|0)+108>>2]&255](b,Ya,1);d=c[Ya>>2]|0;if((d|0)!=(c[Pa>>2]|0)){ja=Wa+268|0;ka=Wa+272|0;la=Xa+8|0;ma=Xa+4|0;na=Wa+196|0;oa=Xa+11|0;pa=Xa+8|0;qa=Xa+4|0;ra=Wa+100|0;sa=Xa+11|0;ta=Xa+8|0;ua=Xa+4|0;va=Wa+112|0;wa=Xa+11|0;xa=Xa+8|0;ya=Xa+4|0;za=Wa+124|0;Aa=Xa+11|0;Ba=Xa+8|0;Ca=Xa+4|0;Da=Wa+136|0;Ea=Xa+11|0;Fa=Xa+8|0;Ga=Xa+4|0;Ha=Wa+148|0;Ia=Xa+11|0;Ja=Xa+8|0;Ka=Xa+4|0;La=Wa+160|0;Ma=Xa+11|0;Na=Xa+8|0;Oa=Xa+4|0;m=Wa+172|0;n=Xa+11|0;o=Xa+8|0;p=Xa+4|0;q=Wa+248|0;r=Xa+11|0;s=Xa+8|0;t=Xa+4|0;u=Xa+11|0;v=Wa+356|0;w=Wa+360|0;x=Xa+8|0;y=Xa+4|0;z=Wa+88|0;A=Xa+11|0;B=Xa+8|0;C=Xa+4|0;D=Wa+56|0;E=Xa+11|0;F=Xa+8|0;G=Xa+4|0;H=Wa+68|0;I=Xa+11|0;J=Xa+8|0;K=Xa+4|0;L=Wa+64|0;M=Xa+11|0;N=Xa+8|0;O=Xa+4|0;P=Wa+60|0;Q=Xa+11|0;R=Xa+8|0;S=Xa+4|0;T=Wa+72|0;U=Xa+11|0;V=Xa+8|0;W=Xa+4|0;X=Wa+76|0;Y=Xa+11|0;Z=Xa+8|0;_=Xa+4|0;$=Wa+80|0;aa=Xa+11|0;ba=Xa+8|0;ca=Xa+4|0;da=Wa+336|0;ea=Xa+11|0;fa=Xa+8|0;ga=Xa+4|0;ha=Xa+11|0;ia=Wa+376|0;do{e=c[d>>2]|0;k=c[e+4>>2]|0;e=c[e+68>>2]|0;if(e|0?(Qa=c[e+12>>2]|0,(k|0)!=0&(Qa|0)!=0):0){Gha(Wa);Jk[c[(c[Qa>>2]|0)+212>>2]&1023](Qa,Wa);iha(Wa);e=c[ja>>2]|0;if((e|0)==(ka|0))f=0;else{f=0;do{j=c[e+20>>2]|0;g=c[e+4>>2]|0;do if(!g){g=e+8|0;h=c[g>>2]|0;if((c[h>>2]|0)==(e|0)){e=h;break}do{h=c[g>>2]|0;g=h+8|0;e=c[g>>2]|0}while((c[e>>2]|0)!=(h|0))}else{e=g;while(1){g=c[e>>2]|0;if(!g)break;else e=g}}while(0);f=j+f|0}while((e|0)!=(ka|0))};c[Xa>>2]=0;c[Xa+4>>2]=0;c[Xa+8>>2]=0;e=j0a(32)|0;c[Xa>>2]=e;c[la>>2]=-2147483616;c[ma>>2]=25;g=e;h=183812;j=g+25|0;do{a[g>>0]=a[h>>0]|0;g=g+1|0;h=h+1|0}while((g|0)<(j|0));a[e+25>>0]=0;Aia(k,Ua,Xa,+((c[na>>2]|0)>>>0))|0;if((a[oa>>0]|0)<0)l0a(c[Xa>>2]|0);c[Xa>>2]=0;c[Xa+4>>2]=0;c[Xa+8>>2]=0;e=j0a(32)|0;c[Xa>>2]=e;c[pa>>2]=-2147483616;c[qa>>2]=22;g=e;h=183838;j=g+22|0;do{a[g>>0]=a[h>>0]|0;g=g+1|0;h=h+1|0}while((g|0)<(j|0));a[e+22>>0]=0;Aia(k,Ua,Xa,+((c[ra>>2]|0)>>>0))|0;if((a[sa>>0]|0)<0)l0a(c[Xa>>2]|0);c[Xa>>2]=0;c[Xa+4>>2]=0;c[Xa+8>>2]=0;e=j0a(32)|0;c[Xa>>2]=e;c[ta>>2]=-2147483616;c[ua>>2]=26;g=e;h=183861;j=g+26|0;do{a[g>>0]=a[h>>0]|0;g=g+1|0;h=h+1|0}while((g|0)<(j|0));a[e+26>>0]=0;Aia(k,Ua,Xa,+((c[va>>2]|0)>>>0))|0;if((a[wa>>0]|0)<0)l0a(c[Xa>>2]|0);c[Xa>>2]=0;c[Xa+4>>2]=0;c[Xa+8>>2]=0;e=j0a(32)|0;c[Xa>>2]=e;c[xa>>2]=-2147483616;c[ya>>2]=20;g=e;h=183888;j=g+20|0;do{a[g>>0]=a[h>>0]|0;g=g+1|0;h=h+1|0}while((g|0)<(j|0));a[e+20>>0]=0;Aia(k,Ua,Xa,+((c[za>>2]|0)>>>0))|0;if((a[Aa>>0]|0)<0)l0a(c[Xa>>2]|0);c[Xa>>2]=0;c[Xa+4>>2]=0;c[Xa+8>>2]=0;e=j0a(32)|0;c[Xa>>2]=e;c[Ba>>2]=-2147483616;c[Ca>>2]=23;g=e;h=183909;j=g+23|0;do{a[g>>0]=a[h>>0]|0;g=g+1|0;h=h+1|0}while((g|0)<(j|0));a[e+23>>0]=0;Aia(k,Ua,Xa,+((c[Da>>2]|0)>>>0))|0;if((a[Ea>>0]|0)<0)l0a(c[Xa>>2]|0);c[Xa>>2]=0;c[Xa+4>>2]=0;c[Xa+8>>2]=0;e=j0a(32)|0;c[Xa>>2]=e;c[Fa>>2]=-2147483616;c[Ga>>2]=22;g=e;h=183933;j=g+22|0;do{a[g>>0]=a[h>>0]|0;g=g+1|0;h=h+1|0}while((g|0)<(j|0));a[e+22>>0]=0;Aia(k,Ua,Xa,+((c[Ha>>2]|0)>>>0))|0;if((a[Ia>>0]|0)<0)l0a(c[Xa>>2]|0);c[Xa>>2]=0;c[Xa+4>>2]=0;c[Xa+8>>2]=0;e=j0a(32)|0;c[Xa>>2]=e;c[Ja>>2]=-2147483616;c[Ka>>2]=25;g=e;h=183956;j=g+25|0;do{a[g>>0]=a[h>>0]|0;g=g+1|0;h=h+1|0}while((g|0)<(j|0));a[e+25>>0]=0;Aia(k,Ua,Xa,+((c[La>>2]|0)>>>0))|0;if((a[Ma>>0]|0)<0)l0a(c[Xa>>2]|0);c[Xa>>2]=0;c[Xa+4>>2]=0;c[Xa+8>>2]=0;e=j0a(32)|0;c[Xa>>2]=e;c[Na>>2]=-2147483616;c[Oa>>2]=25;g=e;h=183982;j=g+25|0;do{a[g>>0]=a[h>>0]|0;g=g+1|0;h=h+1|0}while((g|0)<(j|0));a[e+25>>0]=0;Aia(k,Ua,Xa,+((c[m>>2]|0)>>>0))|0;if((a[n>>0]|0)<0)l0a(c[Xa>>2]|0);c[Xa>>2]=0;c[Xa+4>>2]=0;c[Xa+8>>2]=0;e=j0a(32)|0;c[Xa>>2]=e;c[o>>2]=-2147483616;c[p>>2]=25;g=e;h=184008;j=g+25|0;do{a[g>>0]=a[h>>0]|0;g=g+1|0;h=h+1|0}while((g|0)<(j|0));a[e+25>>0]=0;Aia(k,Ua,Xa,+((c[q>>2]|0)>>>0))|0;if((a[r>>0]|0)<0)l0a(c[Xa>>2]|0);c[Xa>>2]=0;c[Xa+4>>2]=0;c[Xa+8>>2]=0;e=j0a(32)|0;c[Xa>>2]=e;c[s>>2]=-2147483616;c[t>>2]=27;g=e;h=184034;j=g+27|0;do{a[g>>0]=a[h>>0]|0;g=g+1|0;h=h+1|0}while((g|0)<(j|0));a[e+27>>0]=0;Aia(k,Ua,Xa,+(f>>>0))|0;if((a[u>>0]|0)<0)l0a(c[Xa>>2]|0);e=c[v>>2]|0;if((e|0)==(w|0))f=0;else{f=0;do{j=c[e+20>>2]|0;g=c[e+4>>2]|0;do if(!g){g=e+8|0;h=c[g>>2]|0;if((c[h>>2]|0)==(e|0)){e=h;break}do{h=c[g>>2]|0;g=h+8|0;e=c[g>>2]|0}while((c[e>>2]|0)!=(h|0))}else{e=g;while(1){g=c[e>>2]|0;if(!g)break;else e=g}}while(0);f=j+f|0}while((e|0)!=(w|0))};c[Xa>>2]=0;c[Xa+4>>2]=0;c[Xa+8>>2]=0;e=j0a(32)|0;c[Xa>>2]=e;c[x>>2]=-2147483616;c[y>>2]=28;g=e;h=184062;j=g+28|0;do{a[g>>0]=a[h>>0]|0;g=g+1|0;h=h+1|0}while((g|0)<(j|0));a[e+28>>0]=0;Aia(k,Ua,Xa,+((c[z>>2]|0)>>>0))|0;if((a[A>>0]|0)<0)l0a(c[Xa>>2]|0);c[Xa>>2]=0;c[Xa+4>>2]=0;c[Xa+8>>2]=0;e=j0a(32)|0;c[Xa>>2]=e;c[B>>2]=-2147483616;c[C>>2]=25;g=e;h=184091;j=g+25|0;do{a[g>>0]=a[h>>0]|0;g=g+1|0;h=h+1|0}while((g|0)<(j|0));a[e+25>>0]=0;Aia(k,Ua,Xa,+((c[D>>2]|0)>>>0))|0;if((a[E>>0]|0)<0)l0a(c[Xa>>2]|0);c[Xa>>2]=0;c[Xa+4>>2]=0;c[Xa+8>>2]=0;e=j0a(32)|0;c[Xa>>2]=e;c[F>>2]=-2147483616;c[G>>2]=29;g=e;h=184117;j=g+29|0;do{a[g>>0]=a[h>>0]|0;g=g+1|0;h=h+1|0}while((g|0)<(j|0));a[e+29>>0]=0;Aia(k,Ua,Xa,+((c[H>>2]|0)>>>0))|0;if((a[I>>0]|0)<0)l0a(c[Xa>>2]|0);c[Xa>>2]=0;c[Xa+4>>2]=0;c[Xa+8>>2]=0;e=j0a(32)|0;c[Xa>>2]=e;c[J>>2]=-2147483616;c[K>>2]=23;g=e;h=184147;j=g+23|0;do{a[g>>0]=a[h>>0]|0;g=g+1|0;h=h+1|0}while((g|0)<(j|0));a[e+23>>0]=0;Aia(k,Ua,Xa,+((c[L>>2]|0)>>>0))|0;if((a[M>>0]|0)<0)l0a(c[Xa>>2]|0);c[Xa>>2]=0;c[Xa+4>>2]=0;c[Xa+8>>2]=0;e=j0a(32)|0;c[Xa>>2]=e;c[N>>2]=-2147483616;c[O>>2]=26;g=e;h=184171;j=g+26|0;do{a[g>>0]=a[h>>0]|0;g=g+1|0;h=h+1|0}while((g|0)<(j|0));a[e+26>>0]=0;Aia(k,Ua,Xa,+((c[P>>2]|0)>>>0))|0;if((a[Q>>0]|0)<0)l0a(c[Xa>>2]|0);c[Xa>>2]=0;c[Xa+4>>2]=0;c[Xa+8>>2]=0;e=j0a(32)|0;c[Xa>>2]=e;c[R>>2]=-2147483616;c[S>>2]=25;g=e;h=184198;j=g+25|0;do{a[g>>0]=a[h>>0]|0;g=g+1|0;h=h+1|0}while((g|0)<(j|0));a[e+25>>0]=0;Aia(k,Ua,Xa,+((c[T>>2]|0)>>>0))|0;if((a[U>>0]|0)<0)l0a(c[Xa>>2]|0);c[Xa>>2]=0;c[Xa+4>>2]=0;c[Xa+8>>2]=0;e=j0a(32)|0;c[Xa>>2]=e;c[V>>2]=-2147483616;c[W>>2]=28;g=e;h=184224;j=g+28|0;do{a[g>>0]=a[h>>0]|0;g=g+1|0;h=h+1|0}while((g|0)<(j|0));a[e+28>>0]=0;Aia(k,Ua,Xa,+((c[X>>2]|0)>>>0))|0;if((a[Y>>0]|0)<0)l0a(c[Xa>>2]|0);c[Xa>>2]=0;c[Xa+4>>2]=0;c[Xa+8>>2]=0;e=j0a(32)|0;c[Xa>>2]=e;c[Z>>2]=-2147483616;c[_>>2]=28;g=e;h=184253;j=g+28|0;do{a[g>>0]=a[h>>0]|0;g=g+1|0;h=h+1|0}while((g|0)<(j|0));a[e+28>>0]=0;Aia(k,Ua,Xa,+((c[$>>2]|0)>>>0))|0;if((a[aa>>0]|0)<0)l0a(c[Xa>>2]|0);c[Xa>>2]=0;c[Xa+4>>2]=0;c[Xa+8>>2]=0;e=j0a(32)|0;c[Xa>>2]=e;c[ba>>2]=-2147483616;c[ca>>2]=28;g=e;h=184282;j=g+28|0;do{a[g>>0]=a[h>>0]|0;g=g+1|0;h=h+1|0}while((g|0)<(j|0));a[e+28>>0]=0;Aia(k,Ua,Xa,+((c[da>>2]|0)>>>0))|0;if((a[ea>>0]|0)<0)l0a(c[Xa>>2]|0);c[Xa>>2]=0;c[Xa+4>>2]=0;c[Xa+8>>2]=0;e=j0a(32)|0;c[Xa>>2]=e;c[fa>>2]=-2147483616;c[ga>>2]=30;g=e;h=184311;j=g+30|0;do{a[g>>0]=a[h>>0]|0;g=g+1|0;h=h+1|0}while((g|0)<(j|0));a[e+30>>0]=0;Aia(k,Ua,Xa,+(f>>>0))|0;if((a[ha>>0]|0)<0)l0a(c[Xa>>2]|0);oha(Wa,93860);Pr(ia)}d=d+4|0}while((d|0)!=(c[Pa>>2]|0));d=c[Ya>>2]|0}if(d|0){c[Pa>>2]=d;l0a(d)}}}c[Ya>>2]=0;m=Ya+4|0;c[m>>2]=0;c[Ya+8>>2]=0;Nk[c[(c[b>>2]|0)+104>>2]&255](b,Ya,1);d=c[Ya>>2]|0;if((d|0)!=(c[m>>2]|0))do{f=c[d>>2]|0;if(f|0){e=c[f+16>>2]|0;if(e|0)Jk[c[(c[e>>2]|0)+44>>2]&1023](e,Ra);e=c[f+20>>2]|0;if(e|0)Jk[c[(c[e>>2]|0)+32>>2]&1023](e,Ra);e=c[f+12>>2]|0;if(e|0)Fz(e)|0}d=d+4|0}while((d|0)!=(c[m>>2]|0));c[Wa>>2]=0;k=Wa+4|0;c[k>>2]=0;c[Wa+8>>2]=0;Nk[c[(c[b>>2]|0)+84>>2]&255](b,Wa,1);j=b+64|0;e=c[j>>2]|0;if(e|0){g=e+12|0;gk[c[(c[g>>2]|0)+8>>2]&1023](g)|0;h=e+36|0;f=e+32|0;d=c[f>>2]|0;if((c[h>>2]|0)!=(d|0)){if(!d){Eha(e+24|0)|0;d=c[f>>2]|0}c[h>>2]=d}gk[c[(c[g>>2]|0)+12>>2]&1023](g)|0}d=c[b+56>>2]|0;if(d|0){Ra=d+20|0;Jk[c[(c[Ra>>2]|0)+12>>2]&1023](Ra,0)}d=c[Wa>>2]|0;e=c[k>>2]|0;if((d|0)!=(e|0))do{f=c[d>>2]|0;g=c[f+628>>2]|0;if((((g|0)!=0?(Sa=y1a(g,45088,58784,0)|0,(Sa|0)!=0):0)?(a[Sa+29>>0]|0)==0:0)?(c[f+620>>2]|0)==0:0){Bk[c[(c[Sa>>2]|0)+20>>2]&2047](Sa);e=c[k>>2]|0}d=d+4|0}while((d|0)!=(e|0));f=c[Za>>2]|0;e=c[_a>>2]|0;a:do if((f|0)==(e|0))d=0;else{d=0;do{if(a[Ta>>0]|0){f=e;break a}e=c[f>>2]|0;if((c[e+108>>2]|0)==0?gk[c[(c[e>>2]|0)+168>>2]&1023](e)|0:0){rta(b,c[f>>2]|0);d=c[f>>2]|0;Bk[c[(c[d>>2]|0)+164>>2]&2047](d);d=1}f=f+4|0;e=c[_a>>2]|0}while((f|0)!=(e|0))}while(0);e=c[b+60>>2]|0;if(!e)e=f;else{e=e+20|0;Jk[c[(c[e>>2]|0)+12>>2]&1023](e,0);e=c[_a>>2]|0}f=c[Za>>2]|0;b:do if((f|0)==(e|0))g=d;else while(1){if(a[Ta>>0]|0){g=d;break b}e=c[f>>2]|0;if((c[e+108>>2]|0)==0?gk[c[(c[e>>2]|0)+168>>2]&1023](e)|0:0){rta(b,c[f>>2]|0);zT(c[f>>2]|0);d=1}f=f+4|0;if((f|0)==(c[_a>>2]|0)){g=d;break}}while(0);d=c[Ya>>2]|0;if((d|0)!=(c[m>>2]|0))do{e=c[d>>2]|0;if(e|0){f=c[e+16>>2]|0;if(f|0)Bk[c[(c[f>>2]|0)+48>>2]&2047](f);e=c[e+20>>2]|0;if(e|0)Bk[c[(c[e>>2]|0)+36>>2]&2047](e)}d=d+4|0}while((d|0)!=(c[m>>2]|0));d=c[j>>2]|0;if(d|0){e=d+12|0;gk[c[(c[e>>2]|0)+8>>2]&1023](e)|0;if(c[d+36>>2]|0)Bha(d+24|0,e)|0;gk[c[(c[e>>2]|0)+12>>2]&1023](e)|0}if(!((a[b+13>>0]|0)==0|g^1)){f=b+92|0;d=c[f>>2]|0;do if(d|0){do if(c[d+24>>2]|0){d=b+96|0;e=c[d>>2]|0;if(!e)break;if(!(gk[c[(c[e>>2]|0)+168>>2]&1023](e)|0))break;xT(c[d>>2]|0)|0}while(0);d=c[f>>2]|0;if(d|0){c[f>>2]=0;Sa=d+8|0;Ta=c[Sa>>2]|0;c[Sa>>2]=Ta-1;if((Ta|0)!=1)break;UU(d,1,1)}}while(0);c[b+96>>2]=0}if(gk[c[(c[b>>2]|0)+4>>2]&1023](b)|0){Ta=gk[c[(c[b>>2]|0)+4>>2]&1023](b)|0;c[Xa>>2]=0;c[Xa+4>>2]=0;c[Xa+8>>2]=0;e=Xa+11|0;a[e>>0]=6;a[Xa>>0]=a[184342]|0;a[Xa+1>>0]=a[184343]|0;a[Xa+2>>0]=a[184344]|0;a[Xa+3>>0]=a[184345]|0;a[Xa+4>>0]=a[184346]|0;a[Xa+5>>0]=a[184347]|0;a[Xa+6>>0]=0;f=Ta+24|0;gk[c[(c[f>>2]|0)+8>>2]&1023](f)|0;d=Rsa(Ta+68|0,Xa)|0;if((d|0)==(Ta+72|0))d=0;else d=(a[d+28>>0]|0)!=0;gk[c[(c[f>>2]|0)+12>>2]&1023](f)|0;if((a[e>>0]|0)<0)l0a(c[Xa>>2]|0);if(d){i=+ck[c[(c[b>>2]|0)+112>>2]&7](b);d=gk[c[(c[b>>2]|0)+4>>2]&1023](b)|0;c[Xa>>2]=0;c[Xa+4>>2]=0;c[Xa+8>>2]=0;e=j0a(48)|0;c[Xa>>2]=e;c[Xa+8>>2]=-2147483600;c[Xa+4>>2]=32;g=e;h=184349;j=g+32|0;do{a[g>>0]=a[h>>0]|0;g=g+1|0;h=h+1|0}while((g|0)<(j|0));a[e+32>>0]=0;Aia(d,Ua,Xa,Va)|0;if((a[Xa+11>>0]|0)<0)l0a(c[Xa>>2]|0);d=gk[c[(c[b>>2]|0)+4>>2]&1023](b)|0;c[Xa>>2]=0;c[Xa+4>>2]=0;c[Xa+8>>2]=0;e=j0a(32)|0;c[Xa>>2]=e;c[Xa+8>>2]=-2147483616;c[Xa+4>>2]=30;g=e;h=184382;j=g+30|0;do{a[g>>0]=a[h>>0]|0;g=g+1|0;h=h+1|0}while((g|0)<(j|0));a[e+30>>0]=0;Aia(d,Ua,Xa,i)|0;if((a[Xa+11>>0]|0)<0)l0a(c[Xa>>2]|0);d=gk[c[(c[b>>2]|0)+4>>2]&1023](b)|0;c[Xa>>2]=0;c[Xa+4>>2]=0;c[Xa+8>>2]=0;e=j0a(32)|0;c[Xa>>2]=e;c[Xa+8>>2]=-2147483616;c[Xa+4>>2]=31;g=e;h=184413;j=g+31|0;do{a[g>>0]=a[h>>0]|0;g=g+1|0;h=h+1|0}while((g|0)<(j|0));a[e+31>>0]=0;Aia(d,Ua,Xa,i-Va)|0;if((a[Xa+11>>0]|0)<0)l0a(c[Xa>>2]|0)}}a[b+33>>0]=0;d=c[Wa>>2]|0;if(d|0){c[k>>2]=d;l0a(d)}d=c[Ya>>2]|0;if(d|0){c[m>>2]=d;l0a(d)}}d=c[Za>>2]|0;if(!d){l=$a;return}c[_a>>2]=d;l0a(d);l=$a;return}function $sa(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;k=l;l=l+16|0;g=k+4|0;h=k;i=b+4|0;c[i>>2]=c[b>>2];c[g>>2]=0;j=g+4|0;c[j>>2]=0;c[g+8>>2]=0;Nk[c[(c[a>>2]|0)+88>>2]&255](a,g,d);a=c[g>>2]|0;if((a|0)!=(c[j>>2]|0)){f=b+8|0;do{d=c[a>>2]|0;do if(d){e=y1a(d,44864,58744,0)|0;c[h>>2]=e;d=e;if(e|0){e=c[i>>2]|0;if((e|0)==(c[f>>2]|0)){pta(b,h);break}else{c[e>>2]=d;c[i>>2]=(c[i>>2]|0)+4;break}}}else c[h>>2]=0;while(0);a=a+4|0}while((a|0)!=(c[j>>2]|0));a=c[g>>2]|0}if(!a){l=k;return}c[j>>2]=a;l0a(a);l=k;return}function ata(a,b,d){a=a|0;b=b|0;d=d|0;d=c[b>>2]|0;c[a>>2]=d;c[a+(c[d+-12>>2]|0)>>2]=c[b+4>>2];c[a+20>>2]=0;c[a+24>>2]=0;c[a+16>>2]=a+20;b=a+56|0;d=b+44|0;do{c[b>>2]=0;b=b+4|0}while((b|0)<(d|0));cta(a);return}function bta(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;d=c[b>>2]|0;c[a>>2]=d;c[a+(c[d+-12>>2]|0)>>2]=c[b+4>>2];b=a+92|0;d=c[b>>2]|0;if(d|0?(l=d+8|0,k=c[l>>2]|0,c[l>>2]=k-1,(k|0)==1):0)UU(d,1,1);c[b>>2]=0;b=a+88|0;d=c[b>>2]|0;if(d|0?(e=d+(c[(c[d>>2]|0)+-12>>2]|0)|0,k=e+8|0,l=c[k>>2]|0,c[k>>2]=l-1,(l|0)==1):0)UU(e,1,1);c[b>>2]=0;b=a+84|0;d=c[b>>2]|0;if(d|0?(f=d+(c[(c[d>>2]|0)+-12>>2]|0)|0,k=f+8|0,l=c[k>>2]|0,c[k>>2]=l-1,(l|0)==1):0)UU(f,1,1);c[b>>2]=0;b=a+80|0;d=c[b>>2]|0;if(d|0?(g=d+(c[(c[d>>2]|0)+-12>>2]|0)|0,k=g+8|0,l=c[k>>2]|0,c[k>>2]=l-1,(l|0)==1):0)UU(g,1,1);c[b>>2]=0;b=a+76|0;d=c[b>>2]|0;if(d|0?(h=d+(c[(c[d>>2]|0)+-12>>2]|0)|0,k=h+8|0,l=c[k>>2]|0,c[k>>2]=l-1,(l|0)==1):0)UU(h,1,1);c[b>>2]=0;b=a+72|0;d=c[b>>2]|0;if(d|0?(k=d+8|0,l=c[k>>2]|0,c[k>>2]=l-1,(l|0)==1):0)UU(d,1,1);c[b>>2]=0;b=a+68|0;d=c[b>>2]|0;if(d|0?(i=d+(c[(c[d>>2]|0)+-12>>2]|0)|0,k=i+8|0,l=c[k>>2]|0,c[k>>2]=l-1,(l|0)==1):0)UU(i,1,1);c[b>>2]=0;b=a+64|0;d=c[b>>2]|0;if(d|0?(k=d+8|0,l=c[k>>2]|0,c[k>>2]=l-1,(l|0)==1):0)UU(d,1,1);c[b>>2]=0;b=a+60|0;d=c[b>>2]|0;if(d|0?(j=d+(c[(c[d>>2]|0)+-12>>2]|0)|0,k=j+8|0,l=c[k>>2]|0,c[k>>2]=l-1,(l|0)==1):0)UU(j,1,1);c[b>>2]=0;d=a+56|0;b=c[d>>2]|0;if(!b){c[d>>2]=0;k=a+16|0;l=a+20|0;l=c[l>>2]|0;vw(k,l);return}b=b+(c[(c[b>>2]|0)+-12>>2]|0)|0;k=b+8|0;l=c[k>>2]|0;c[k>>2]=l-1;if((l|0)!=1){c[d>>2]=0;k=a+16|0;l=a+20|0;l=c[l>>2]|0;vw(k,l);return}UU(b,1,1);c[d>>2]=0;k=a+16|0;l=a+20|0;l=c[l>>2]|0;vw(k,l);return}function cta(b){b=b|0;var d=0,e=0,f=0,g=0,i=0,j=0,k=0,m=0,n=0;n=l;l=l+16|0;j=n;a[b+4>>0]=1;a[b+5>>0]=0;c[b+8>>2]=65307;a[b+12>>0]=1;a[b+13>>0]=1;c[b+28>>2]=4;a[b+32>>0]=0;c[b+48>>2]=1;c[b+52>>2]=0;a[b+33>>0]=1;a[b+34>>0]=0;k=b+36|0;c[k>>2]=1;m=b+40|0;h[m>>3]=0.0;c[j>>2]=0;c[j+4>>2]=0;c[j+8>>2]=0;e=Jh(183559)|0;a:do if(e|0){d=0;while(1){if(!(a[e+d>>0]|0))break;d=d+1|0;if(d>>>0>=4096){d=4096;break}}A0a(j,e,d)|0;e=j+11|0;g=a[e>>0]|0;i=j+4|0;d=c[i>>2]|0;f=g&255;do if(((g<<24>>24<0?d:f)|0)==9)if(!(S0a(j,0,-1,183580,9)|0)){c[k>>2]=0;break a}else{e=a[e>>0]|0;f=e&255;d=c[i>>2]|0;break}else e=g;while(0);if(((e<<24>>24<0?d:f)|0)==10?(S0a(j,0,-1,183590,10)|0)==0:0)c[k>>2]=1}while(0);Cw(183601,m)|0;a[b+14>>0]=1;if((a[j+11>>0]|0)>=0){l=n;return}l0a(c[j>>2]|0);l=n;return}function dta(b){b=b|0;var d=0,e=0.0,f=0,g=0,i=0.0,j=0,k=0,m=0,n=0,o=0,p=0,q=0;q=l;l=l+16|0;m=q;if(!(gk[c[(c[b>>2]|0)+16>>2]&1023](b)|0))Bk[c[(c[b>>2]|0)+20>>2]&2047](b);c[m>>2]=-1;Dt(183624,m)|0;p=b+5|0;if(a[p>>0]|0){l=q;return 0}n=b+40|0;o=b+36|0;while(1){if((c[m>>2]|0)!=-1?(k=c[(gk[c[(c[b>>2]|0)+116>>2]&1023](b)|0)+12>>2]|0,k>>>0>=(c[m>>2]|0)>>>0):0){d=19;break}e=+h[n>>3];e=e>0.0?1.0/e:0.0;j=gia(fia()|0)|0;k=y;do if(!(c[o>>2]|0)){if(gk[c[(c[b>>2]|0)+56>>2]&1023](b)|0){Ck[c[(c[b>>2]|0)+64>>2]&15](b,1797693134862315708145274.0e284);i=e;break}if(e==0.0)i=.01;else i=e}else{Ck[c[(c[b>>2]|0)+64>>2]&15](b,1797693134862315708145274.0e284);i=e}while(0);d=gia(fia()|0)|0;f=y;g=fia()|0;if(f>>>0>k>>>0|(f|0)==(k|0)&d>>>0>j>>>0){k=q2a(d|0,f|0,j|0,k|0)|0;e=+h[g+8>>3]*(+(k>>>0)+4294967296.0*+(y>>>0))}else{k=q2a(j|0,k|0,d|0,f|0)|0;e=-(+h[g+8>>3]*(+(k>>>0)+4294967296.0*+(y>>>0)))}if(e<i)rla(~~((i-e)*1.0e6)>>>0)|0;if(a[p>>0]|0){d=19;break}}if((d|0)==19){l=q;return 0}return 0}function eta(a){a=a|0;Di()}function fta(a){a=a|0;Di()}function gta(a){a=a|0;Di()}function hta(a){a=a|0;Di()}function ita(a,b){a=a|0;b=b|0;var d=0;d=c[b>>2]|0;c[a>>2]=d;c[a+(c[d+-12>>2]|0)>>2]=c[b+4>>2];c[a+20>>2]=0;c[a+24>>2]=0;c[a+16>>2]=a+20;b=a+56|0;d=b+44|0;do{c[b>>2]=0;b=b+4|0}while((b|0)<(d|0));cta(a);return}function jta(a){a=a|0;var b=0,d=0,e=0;b=c[a>>2]|0;if(b|0?(e=b+8|0,d=c[e>>2]|0,c[e>>2]=d-1,(d|0)==1):0)UU(b,1,1);c[a>>2]=0;return}function kta(a){a=a|0;var b=0,d=0,e=0,f=0;e=l;l=l+16|0;b=e;if(ZQ(4)|0){d=mr(lr(4)|0,183725,12)|0;BSa(b,d+(c[(c[d>>2]|0)+-12>>2]|0)|0);f=cUa(b,230580)|0;f=kk[c[(c[f>>2]|0)+28>>2]&511](f,10)|0;dUa(b);VSa(d,f)|0;HSa(d)|0}b=Jja(c[a+72>>2]|0)|0;if(b|0){f=b+8|0;c[f>>2]=(c[f>>2]|0)+1}c[b+48>>2]=128;d=c[a+76>>2]|0;if(d|0)Nk[c[(c[d>>2]|0)+152>>2]&255](d,b,a+36|0);a=b+8|0;f=c[a>>2]|0;c[a>>2]=f-1;if((f|0)!=1){l=e;return}UU(b,1,1);l=e;return}function lta(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;i=a+4|0;j=c[a>>2]|0;k=(c[i>>2]|0)-j|0;g=k>>2;d=g+1|0;if(d>>>0>1073741823)g1a(a);l=a+8|0;f=(c[l>>2]|0)-j|0;h=f>>1;h=f>>2>>>0<536870911?(h>>>0<d>>>0?d:h):1073741823;do if(h)if(h>>>0>1073741823){l=db(8)|0;p0a(l,183738);c[l>>2]=110936;hb(l|0,65952,1066)}else{f=j0a(h<<2)|0;e=f;break}else{e=0;f=0}while(0);d=e+(g<<2)|0;c[d>>2]=c[b>>2];if((k|0)>0)x2a(f|0,j|0,k|0)|0;c[a>>2]=e;c[i>>2]=d+4;c[l>>2]=e+(h<<2);if(!j)return;l0a(j);return}function mta(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;i=a+4|0;j=c[a>>2]|0;k=(c[i>>2]|0)-j|0;g=k>>2;d=g+1|0;if(d>>>0>1073741823)g1a(a);l=a+8|0;f=(c[l>>2]|0)-j|0;h=f>>1;h=f>>2>>>0<536870911?(h>>>0<d>>>0?d:h):1073741823;do if(h)if(h>>>0>1073741823){l=db(8)|0;p0a(l,183738);c[l>>2]=110936;hb(l|0,65952,1066)}else{f=j0a(h<<2)|0;e=f;break}else{e=0;f=0}while(0);d=e+(g<<2)|0;c[d>>2]=c[b>>2];if((k|0)>0)x2a(f|0,j|0,k|0)|0;c[a>>2]=e;c[i>>2]=d+4;c[l>>2]=e+(h<<2);if(!j)return;l0a(j);return}function nta(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;i=a+4|0;j=c[a>>2]|0;k=(c[i>>2]|0)-j|0;g=k>>2;d=g+1|0;if(d>>>0>1073741823)g1a(a);l=a+8|0;f=(c[l>>2]|0)-j|0;h=f>>1;h=f>>2>>>0<536870911?(h>>>0<d>>>0?d:h):1073741823;do if(h)if(h>>>0>1073741823){l=db(8)|0;p0a(l,183738);c[l>>2]=110936;hb(l|0,65952,1066)}else{f=j0a(h<<2)|0;e=f;break}else{e=0;f=0}while(0);d=e+(g<<2)|0;c[d>>2]=c[b>>2];if((k|0)>0)x2a(f|0,j|0,k|0)|0;c[a>>2]=e;c[i>>2]=d+4;c[l>>2]=e+(h<<2);if(!j)return;l0a(j);return}function ota(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;i=a+4|0;j=c[a>>2]|0;k=(c[i>>2]|0)-j|0;g=k>>2;d=g+1|0;if(d>>>0>1073741823)g1a(a);l=a+8|0;f=(c[l>>2]|0)-j|0;h=f>>1;h=f>>2>>>0<536870911?(h>>>0<d>>>0?d:h):1073741823;do if(h)if(h>>>0>1073741823){l=db(8)|0;p0a(l,183738);c[l>>2]=110936;hb(l|0,65952,1066)}else{f=j0a(h<<2)|0;e=f;break}else{e=0;f=0}while(0);d=e+(g<<2)|0;c[d>>2]=c[b>>2];if((k|0)>0)x2a(f|0,j|0,k|0)|0;c[a>>2]=e;c[i>>2]=d+4;c[l>>2]=e+(h<<2);if(!j)return;l0a(j);return}function pta(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;i=a+4|0;j=c[a>>2]|0;k=(c[i>>2]|0)-j|0;g=k>>2;d=g+1|0;if(d>>>0>1073741823)g1a(a);l=a+8|0;f=(c[l>>2]|0)-j|0;h=f>>1;h=f>>2>>>0<536870911?(h>>>0<d>>>0?d:h):1073741823;do if(h)if(h>>>0>1073741823){l=db(8)|0;p0a(l,183738);c[l>>2]=110936;hb(l|0,65952,1066)}else{f=j0a(h<<2)|0;e=f;break}else{e=0;f=0}while(0);d=e+(g<<2)|0;c[d>>2]=c[b>>2];if((k|0)>0)x2a(f|0,j|0,k|0)|0;c[a>>2]=e;c[i>>2]=d+4;c[l>>2]=e+(h<<2);if(!j)return;l0a(j);return}function qta(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;i=a+4|0;j=c[a>>2]|0;k=(c[i>>2]|0)-j|0;g=k>>2;d=g+1|0;if(d>>>0>1073741823)g1a(a);l=a+8|0;f=(c[l>>2]|0)-j|0;h=f>>1;h=f>>2>>>0<536870911?(h>>>0<d>>>0?d:h):1073741823;do if(h)if(h>>>0>1073741823){l=db(8)|0;p0a(l,183738);c[l>>2]=110936;hb(l|0,65952,1066)}else{f=j0a(h<<2)|0;e=f;break}else{e=0;f=0}while(0);d=e+(g<<2)|0;c[d>>2]=c[b>>2];if((k|0)>0)x2a(f|0,j|0,k|0)|0;c[a>>2]=e;c[i>>2]=d+4;c[l>>2]=e+(h<<2);if(!j)return;l0a(j);return}function rta(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;f=a+96|0;d=c[f>>2]|0;if((d|0)==(b|0))return;e=a+92|0;a=c[e>>2]|0;if(a|0){if(!((c[a+24>>2]|0)==0|(d|0)==0)?gk[c[(c[d>>2]|0)+168>>2]&1023](d)|0:0)xT(c[f>>2]|0)|0;a=c[e>>2]|0;if(a|0?(c[e>>2]=0,g=a+8|0,d=c[g>>2]|0,c[g>>2]=d-1,(d|0)==1):0)UU(a,1,1)}c[f>>2]=0;if(!b)return;if(!(gk[c[(c[b>>2]|0)+168>>2]&1023](b)|0))return;if(!(wT(b)|0))return;a=Vha(b)|0;d=c[e>>2]|0;if((d|0)!=(a|0)){c[e>>2]=a;if(a|0){g=a+8|0;c[g>>2]=(c[g>>2]|0)+1}if(d|0?(a=d+8|0,g=c[a>>2]|0,c[a>>2]=g-1,(g|0)==1):0)UU(d,1,1);a=c[e>>2]|0}if(!a)a=0;else a=(c[a+24>>2]|0)==0?0:b;c[f>>2]=a;return}function sta(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;c[a>>2]=0;if(!b){e=0;b=a+4|0;c[b>>2]=e;return}d=Vha(b)|0;e=c[a>>2]|0;if((e|0)!=(d|0)){c[a>>2]=d;if(d|0){d=d+8|0;c[d>>2]=(c[d>>2]|0)+1}if(e|0?(f=e+8|0,d=c[f>>2]|0,c[f>>2]=d-1,(d|0)==1):0)UU(e,1,1);d=c[a>>2]|0}if(!d){b=0;f=a+4|0;c[f>>2]=b;return}b=(c[d+24>>2]|0)==0?0:b;f=a+4|0;c[f>>2]=b;return}function tta(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=l;l=l+16|0;f=g;d=a+160|0;c[f>>2]=b;if(b|0){e=b+8|0;c[e>>2]=(c[e>>2]|0)+1}e=a+164|0;b=c[e>>2]|0;if(b>>>0<(c[a+168>>2]|0)>>>0){a=c[f>>2]|0;c[b>>2]=a;if(a){b=a+8|0;c[b>>2]=(c[b>>2]|0)+1;b=c[e>>2]|0}c[e>>2]=b+4}else uta(d,f);b=c[f>>2]|0;if(!b){l=g;return}e=b+8|0;f=c[e>>2]|0;c[e>>2]=f-1;if((f|0)!=1){l=g;return}UU(b,1,1);l=g;return}function uta(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;m=a+4|0;d=c[m>>2]|0;e=c[a>>2]|0;i=d-e>>2;f=i+1|0;g=e;if(f>>>0>1073741823)g1a(a);l=a+8|0;j=(c[l>>2]|0)-e|0;k=j>>1;f=j>>2>>>0<536870911?(k>>>0<f>>>0?f:k):1073741823;do if(f)if(f>>>0>1073741823){m=db(8)|0;p0a(m,183738);c[m>>2]=110936;hb(m|0,65952,1066)}else{j=j0a(f<<2)|0;break}else j=0;while(0);e=j+(i<<2)|0;k=j+(f<<2)|0;f=c[b>>2]|0;c[e>>2]=f;if(f){g=f+8|0;c[g>>2]=(c[g>>2]|0)+1;g=c[a>>2]|0;d=c[m>>2]|0}h=e+4|0;f=g;if((d|0)==(g|0))b=f;else{b=i+-1-((d+-4-f|0)>>>2)|0;while(1){d=d+-4|0;f=c[d>>2]|0;c[e+-4>>2]=f;if(f|0){i=f+8|0;c[i>>2]=(c[i>>2]|0)+1}if((d|0)==(g|0))break;else e=e+-4|0}e=j+(b<<2)|0;b=c[a>>2]|0;d=c[m>>2]|0}c[a>>2]=e;c[m>>2]=h;c[l>>2]=k;f=b;if((d|0)!=(f|0))do{d=d+-4|0;e=c[d>>2]|0;if(e|0?(l=e+8|0,m=c[l>>2]|0,c[l>>2]=m-1,(m|0)==1):0)UU(e,1,1);c[d>>2]=0}while((d|0)!=(f|0));if(!b)return;l0a(b);return}function vta(a){a=a|0;var b=0,d=0,e=0,f=0;c[a>>2]=99952;b=a+12|0;d=c[b>>2]|0;if(d|0?(f=d+8|0,e=c[f>>2]|0,c[f>>2]=e-1,(e|0)==1):0)UU(d,1,1);c[b>>2]=0;SU(a);return}function wta(a){a=a|0;var b=0,d=0,e=0,f=0;c[a>>2]=99952;b=a+12|0;d=c[b>>2]|0;if(d|0?(f=d+8|0,e=c[f>>2]|0,c[f>>2]=e-1,(e|0)==1):0)UU(d,1,1);c[b>>2]=0;SU(a);l0a(a);return}function xta(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=a+76|0;f=c[h>>2]|0;if((f|0)!=(b|0)){c[h>>2]=b;if(b|0){b=b+(c[(c[b>>2]|0)+-16>>2]|0)+8|0;c[b>>2]=(c[b>>2]|0)+1}if(f|0?(e=f+(c[(c[f>>2]|0)+-16>>2]|0)|0,b=e+8|0,f=c[b>>2]|0,c[b>>2]=f-1,(f|0)==1):0)UU(e,1,1);b=c[h>>2]|0}if(!b)return;e=c[(c[b>>2]|0)+80>>2]|0;f=j0a(20)|0;Tha(f);c[f>>2]=99972;yta(f+12|0,a);Jk[e&1023](b,f);b=c[a+68>>2]|0;if(b|0?(g=c[b+12>>2]|0,g|0):0){f=c[h>>2]|0;Jk[c[(c[f>>2]|0)+112>>2]&1023](f,g)}if(!d)return;b=Jja(c[a+72>>2]|0)|0;if(!b){h=c[h>>2]|0;Nk[c[(c[h>>2]|0)+144>>2]&255](h,b,a+36|0);return}g=b+8|0;c[g>>2]=(c[g>>2]|0)+1;h=c[h>>2]|0;Nk[c[(c[h>>2]|0)+144>>2]&255](h,b,a+36|0);a=b+8|0;h=c[a>>2]|0;c[a>>2]=h-1;if((h|0)!=1)return;UU(b,1,1);return}function yta(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;c[a>>2]=0;if(!b){e=0;b=a+4|0;c[b>>2]=e;return}d=Vha(b+(c[(c[b>>2]|0)+-12>>2]|0)|0)|0;e=c[a>>2]|0;if((e|0)!=(d|0)){c[a>>2]=d;if(d|0){d=d+8|0;c[d>>2]=(c[d>>2]|0)+1}if(e|0?(f=e+8|0,d=c[f>>2]|0,c[f>>2]=d-1,(d|0)==1):0)UU(e,1,1);d=c[a>>2]|0}if(!d){b=0;f=a+4|0;c[f>>2]=b;return}b=(c[d+24>>2]|0)==0?0:b;f=a+4|0;c[f>>2]=b;return}function zta(a){a=a|0;var b=0,d=0,e=0,f=0;c[a>>2]=99972;b=a+12|0;d=c[b>>2]|0;if(d|0?(f=d+8|0,e=c[f>>2]|0,c[f>>2]=e-1,(e|0)==1):0)UU(d,1,1);c[b>>2]=0;SU(a);return}function Ata(a){a=a|0;var b=0,d=0,e=0,f=0;c[a>>2]=99972;b=a+12|0;d=c[b>>2]|0;if(d|0?(f=d+8|0,e=c[f>>2]|0,c[f>>2]=e-1,(e|0)==1):0)UU(d,1,1);c[b>>2]=0;SU(a);l0a(a);return}function Bta(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,i=0,j=0,k=0,m=0,n=0,o=0.0,p=0.0,q=0.0,r=0.0,s=0.0,t=0.0,u=0.0,v=0.0,w=0.0,x=0.0,y=0.0,z=0.0,A=0.0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0.0,R=0.0,S=0.0,T=0.0,U=0.0,V=0.0,W=0.0,X=0.0,Y=0.0;G=l;l=l+432|0;C=G+280|0;E=G+408|0;f=G+152|0;F=G+128|0;g=G;if(ZQ(5)|0){D=mr(lr(5)|0,184765,19)|0;n=mr(TSa(D,+h[d>>3])|0,184785,1)|0;n=mr(TSa(n,+h[d+8>>3])|0,184785,1)|0;TSa(n,+h[d+16>>3])|0;D=mr(D,184787,1)|0;BSa(C,D+(c[(c[D>>2]|0)+-12>>2]|0)|0);n=cUa(C,230580)|0;n=kk[c[(c[n>>2]|0)+28>>2]&511](n,10)|0;dUa(C);VSa(D,n)|0;HSa(D)|0}n=c[b+16>>2]|0;c[E>>2]=0;D=E+4|0;c[D>>2]=0;c[E+8>>2]=0;IU(n+92|0,E)|0;do if((c[E>>2]|0)!=(c[D>>2]|0)){Qra(a);b=c[(c[D>>2]|0)+-4>>2]|0;if(b|0?(e=y1a(b,43184,46784,0)|0,e|0):0){Nia(C,E,1);w=+h[d>>3];x=+h[d+8>>3];y=+h[d+16>>3];v=1.0/(+h[C+120>>3]+(+h[C+24>>3]*w+ +h[C+56>>3]*x+ +h[C+88>>3]*y));z=v*(+h[C+104>>3]+(w*+h[C+8>>3]+x*+h[C+40>>3]+y*+h[C+72>>3]));A=v*(+h[C+112>>3]+(w*+h[C+16>>3]+x*+h[C+48>>3]+y*+h[C+80>>3]));h[F>>3]=v*(+h[C+96>>3]+(w*+h[C>>3]+x*+h[C+32>>3]+y*+h[C+64>>3]));h[F+8>>3]=z;h[F+16>>3]=A;XR(f,e,F);Hia(g,E,1);Qra(C);Ura(C,f,g);if((C|0)==(a|0)){P=a+32|0;O=a+64|0;M=a+8|0;N=a+40|0;L=a+72|0;J=a+16|0;K=a+48|0;I=a+80|0;H=a+24|0;b=a;d=P;e=O;f=M;g=N;i=L;j=J;k=K;m=I;n=H;o=+h[a+96>>3];p=+h[a+104>>3];q=+h[a+112>>3];r=+h[P>>3];s=+h[a>>3];t=+h[O>>3];u=+h[N>>3];v=+h[M>>3];w=+h[L>>3];x=+h[K>>3];y=+h[J>>3];z=+h[I>>3];A=+h[H>>3]}else{s=+h[C>>3];h[a>>3]=s;v=+h[C+8>>3];f=a+8|0;h[f>>3]=v;y=+h[C+16>>3];j=a+16|0;h[j>>3]=y;A=+h[C+24>>3];n=a+24|0;h[n>>3]=A;r=+h[C+32>>3];h[a+32>>3]=r;u=+h[C+40>>3];h[a+40>>3]=u;x=+h[C+48>>3];h[a+48>>3]=x;h[a+56>>3]=+h[C+56>>3];t=+h[C+64>>3];h[a+64>>3]=t;w=+h[C+72>>3];h[a+72>>3]=w;z=+h[C+80>>3];h[a+80>>3]=z;h[a+88>>3]=+h[C+88>>3];o=+h[C+96>>3];h[a+96>>3]=o;p=+h[C+104>>3];h[a+104>>3]=p;q=+h[C+112>>3];h[a+112>>3]=q;h[a+120>>3]=+h[C+120>>3];b=a;d=a+32|0;e=a+64|0;g=a+40|0;i=a+72|0;k=a+48|0;m=a+80|0}h[F>>3]=o;h[F+8>>3]=p;h[F+16>>3]=q;R=r*0.0;T=t*0.0;V=s+R+T;Q=u*0.0;S=w*0.0;U=v+Q+S;q=x*0.0;p=z*0.0;o=y+q+p;Y=s*0.0;T=Y+r+T;X=v*0.0;S=X+u+S;W=y*0.0;p=W+x+p;R=t+(Y+R);Q=w+(X+Q);q=z+(W+q);o=1.0/+B(+(V*V+U*U+o*o));p=1.0/+B(+(T*T+S*S+p*p));q=1.0/+B(+(R*R+Q*Q+q*q));h[b>>3]=s*o;h[f>>3]=v*o;h[j>>3]=y*o;h[n>>3]=A*o;h[d>>3]=r*p;h[g>>3]=u*p;h[k>>3]=x*p;P=a+56|0;h[P>>3]=p*+h[P>>3];h[e>>3]=t*q;h[i>>3]=w*q;h[m>>3]=z*q;P=a+88|0;h[P>>3]=q*+h[P>>3];Pra(a,F);if(ZQ(5)|0){P=Kda(mr(lr(5)|0,184789,77)|0,a)|0;BSa(C,P+(c[(c[P>>2]|0)+-12>>2]|0)|0);O=cUa(C,230580)|0;O=kk[c[(c[O>>2]|0)+28>>2]&511](O,10)|0;dUa(C);VSa(P,O)|0;HSa(P)|0}break}if(ZQ(5)|0){P=mr(lr(5)|0,184867,33)|0;BSa(C,P+(c[(c[P>>2]|0)+-12>>2]|0)|0);O=cUa(C,230580)|0;O=kk[c[(c[O>>2]|0)+28>>2]&511](O,10)|0;dUa(C);VSa(P,O)|0;HSa(P)|0}Hia(C,E,1);if((C|0)!=(a|0)){h[a>>3]=+h[C>>3];h[a+8>>3]=+h[C+8>>3];h[a+16>>3]=+h[C+16>>3];h[a+24>>3]=+h[C+24>>3];h[a+32>>3]=+h[C+32>>3];h[a+40>>3]=+h[C+40>>3];h[a+48>>3]=+h[C+48>>3];h[a+56>>3]=+h[C+56>>3];h[a+64>>3]=+h[C+64>>3];h[a+72>>3]=+h[C+72>>3];h[a+80>>3]=+h[C+80>>3];h[a+88>>3]=+h[C+88>>3];h[a+96>>3]=+h[C+96>>3];h[a+104>>3]=+h[C+104>>3];h[a+112>>3]=+h[C+112>>3];h[a+120>>3]=+h[C+120>>3]}}else{if(ZQ(5)|0){P=mr(lr(5)|0,184901,56)|0;BSa(C,P+(c[(c[P>>2]|0)+-12>>2]|0)|0);O=cUa(C,230580)|0;O=kk[c[(c[O>>2]|0)+28>>2]&511](O,10)|0;dUa(C);VSa(P,O)|0;HSa(P)|0}W=+h[d>>3];X=+h[d+8>>3];Y=+h[d+16>>3];Qra(a);Sra(a,W,X,Y)}while(0);b=c[E>>2]|0;if(!b){l=G;return}c[D>>2]=b;l0a(b);l=G;return}function Cta(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0;i=l;l=l+16|0;g=i;h=b+36|0;Uha(h,1);c[g+8>>2]=0;j=g+11|0;a[j>>0]=7;a[g>>0]=a[185292]|0;a[g+1>>0]=a[185293]|0;a[g+2>>0]=a[185294]|0;a[g+3>>0]=a[185295]|0;a[g+4>>0]=a[185296]|0;a[g+5>>0]=a[185297]|0;a[g+6>>0]=a[185298]|0;a[g+7>>0]=0;k=c[20064]|0;c[b>>2]=k;c[b+(c[k+-12>>2]|0)>>2]=c[20065];t0a(b+4|0,g);a[b+16>>0]=f&1;if((a[j>>0]|0)>=0){k=b+20|0;tla(k,d);c[b>>2]=80176;c[h>>2]=80240;c[k>>2]=80200;k=b+32|0;c[k>>2]=e;l=i;return}l0a(c[g>>2]|0);k=b+20|0;tla(k,d);c[b>>2]=80176;c[h>>2]=80240;c[k>>2]=80200;k=b+32|0;c[k>>2]=e;l=i;return}function Dta(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;h=l;l=l+16|0;d=h;e=b+20|0;Tha(e);c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;f=j0a(16)|0;c[d>>2]=f;c[d+8>>2]=-2147483632;c[d+4>>2]=12;g=f;i=185279;j=g+12|0;do{a[g>>0]=a[i>>0]|0;g=g+1|0;i=i+1|0}while((g|0)<(j|0));a[f+12>>0]=0;j=c[20084]|0;c[b>>2]=j;c[b+(c[j+-12>>2]|0)>>2]=c[20085];t0a(b+4|0,d);a[b+16>>0]=1;j=c[20083]|0;c[b>>2]=j;c[b+(c[j+-12>>2]|0)>>2]=c[20086];if((a[d+11>>0]|0)>=0){c[b>>2]=80280;c[e>>2]=80316;l=h;return}l0a(c[d>>2]|0);c[b>>2]=80280;c[e>>2]=80316;l=h;return}function Eta(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;i=a+4|0;c[i>>2]=0;j=a+8|0;c[j>>2]=0;k=a+4|0;c[a>>2]=k;if(!d)return;e=0;while(1){do if(e){g=i;while(1){f=c[e+16>>2]|0;if(b>>>0<f>>>0){f=c[e>>2]|0;if(!f){f=7;break}}else{if(f>>>0>=b>>>0){f=11;break}g=e+4|0;f=c[g>>2]|0;if(!f){f=10;break}else e=g}g=e;e=f}if((f|0)==7){h=e;g=e;break}else if((f|0)==10){h=e;break}else if((f|0)==11){h=e;break}}else{h=k;g=k}while(0);if(!(c[g>>2]|0)){e=j0a(20)|0;c[e+16>>2]=b;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=h;c[g>>2]=e;f=c[c[a>>2]>>2]|0;if(f){c[a>>2]=f;e=c[g>>2]|0}fp(c[i>>2]|0,e);c[j>>2]=(c[j>>2]|0)+1}d=d+-1|0;if(!d)break;b=b+1|0;e=c[k>>2]|0}return}function Fta(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;f=l;l=l+16|0;d=f;e=(b|0)==0;if(!e){if(ZQ(4)|0){h=mr(lr(4)|0,185576,33)|0;g=gk[c[(c[b>>2]|0)+28>>2]&1023](b)|0;g=mr(h,g,VNa(g)|0)|0;BSa(d,g+(c[(c[g>>2]|0)+-12>>2]|0)|0);h=cUa(d,230580)|0;h=kk[c[(c[h>>2]|0)+28>>2]&511](h,10)|0;dUa(d);VSa(g,h)|0;HSa(g)|0}Jk[c[(c[b>>2]|0)+164>>2]&1023](b,a)}a=a+128|0;d=c[a>>2]|0;if((d|0)==(b|0)){l=f;return}c[a>>2]=b;if(!e){h=b+8|0;c[h>>2]=(c[h>>2]|0)+1}if(!d){l=f;return}g=d+8|0;h=c[g>>2]|0;c[g>>2]=h-1;if((h|0)!=1){l=f;return}UU(d,1,1);l=f;return}function Gta(a){a=a|0;Pr(a);l0a(a);return}function Hta(a){a=a|0;var b=0;a=j0a(32)|0;Tha(a);b=a+12|0;c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;c[a+24>>2]=2;c[a+28>>2]=0;c[a>>2]=99996;return a|0}function Ita(a,b){a=a|0;b=b|0;var d=0;d=j0a(32)|0;Or(d,a,b);c[d>>2]=99996;return d|0}function Jta(a,b){a=a|0;b=b|0;if(!b){b=0;return b|0}b=(y1a(b,42800,58864,0)|0)!=0;return b|0}function Kta(a){a=a|0;return 183549}function Lta(a){a=a|0;return 186657}function Mta(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,i=0.0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0.0;K=l;l=l+576|0;E=K+416|0;e=K+408|0;F=K+272|0;f=K+264|0;g=K+256|0;J=K+544|0;G=K+128|0;H=K+280|0;B=K;c[E>>2]=0;c[E+4>>2]=0;c[E+8>>2]=0;D=gT(E)|0;if((a[E+11>>0]|0)<0)l0a(c[E>>2]|0);if(!D){if(!(ZQ(3)|0)){l=K;return}J=mr(lr(3)|0,185610,97)|0;BSa(E,J+(c[(c[J>>2]|0)+-12>>2]|0)|0);d=cUa(E,230580)|0;d=kk[c[(c[d>>2]|0)+28>>2]&511](d,10)|0;dUa(E);VSa(J,d)|0;HSa(J)|0;l=K;return}A=kk[c[(c[b>>2]|0)+168>>2]&511](b,d)|0;wR(c[d+16>>2]|0,e,F,f,g)|0;hT(J);oT(J);y=J+12|0;if((c[y>>2]|0)<0)c[y>>2]=0;z=kk[c[(c[D>>2]|0)+12>>2]&511](D,J)|0;switch(z|0){case 1:{b=j0a(36)|0;Tha(b);H=b+12|0;c[H>>2]=0;c[H+4>>2]=0;c[H+8>>2]=0;c[b+24>>2]=2;c[b+28>>2]=0;c[b>>2]=100176;c[b+32>>2]=0;H=b+8|0;c[H>>2]=(c[H>>2]|0)+1;Jk[c[(c[b>>2]|0)+164>>2]&1023](b,d);I=c[H>>2]|0;c[H>>2]=I-1;if((I|0)==1)UU(b,1,1);break}case 0:break;default:{e=J+16|0;f=E+4|0;i=0.0;b=0;do{c[e>>2]=b;c[E>>2]=0;c[E+4>>2]=0;c[E+8>>2]=0;c[E+12>>2]=0;c[E+16>>2]=0;Nk[c[(c[D>>2]|0)+16>>2]&255](D,J,E);i=i+ +((c[E>>2]|0)>>>0)/(+h[F>>3]*+((c[f>>2]|0)>>>0));b=b+1|0}while(b>>>0<z>>>0);if((z|0)==2?(c[A+20>>2]|0)==2:0)u=(a[A+16>>0]|0)!=0;else u=0;v=J+16|0;w=E+4|0;x=A+40|0;t=0;do{c[v>>2]=t;c[E>>2]=0;c[E+4>>2]=0;c[E+8>>2]=0;c[E+12>>2]=0;c[E+16>>2]=0;Nk[c[(c[D>>2]|0)+16>>2]&255](D,J,E);m=c[E>>2]|0;j=c[w>>2]|0;r=j0a(200)|0;qT(r,A);s=r+8|0;c[s>>2]=(c[s>>2]|0)+1;z0a(r+12|0,J)|0;c[r+24>>2]=c[y>>2];c[r+28>>2]=t;f=r+32|0;c[f>>2]=0;g=r+36|0;c[g>>2]=0;k=r+40|0;c[k>>2]=m;m=r+44|0;c[m>>2]=j;a[r+72>>0]=0;j=r+110|0;a[j>>0]=1;b=r+168|0;e=c[b>>2]|0;if(e|0?(c[b>>2]=0,p=e+8|0,q=c[p>>2]|0,c[p>>2]=q-1,(q|0)==1):0)UU(e,1,1);c[r+172>>2]=0;n=RR(r)|0;o=(n|0)==0;if(!o){q=n+8|0;c[q>>2]=(c[q>>2]|0)+1}p=j0a(656)|0;zw(p);q=p+8|0;c[q>>2]=(c[q>>2]|0)+1;oR(p,n);if(!o?(C=y1a(n,44864,58744,0)|0,(C|0)!=0):0){if(ZQ(4)|0){e=USa(mr(lr(4)|0,185708,47)|0,C)|0;BSa(E,e+(c[(c[e>>2]|0)+-12>>2]|0)|0);b=cUa(E,230580)|0;b=kk[c[(c[b>>2]|0)+28>>2]&511](b,10)|0;dUa(E);VSa(e,b)|0;HSa(e)|0}Dja(c[(c[C+136>>2]|0)+12>>2]|0,c[f>>2]|0,c[g>>2]|0,c[k>>2]|0,c[m>>2]|0,1)}else I=27;if((I|0)==27?(I=0,ZQ(3)|0):0){g=mr(lr(3)|0,185756,51)|0;BSa(E,g+(c[(c[g>>2]|0)+-12>>2]|0)|0);f=cUa(E,230580)|0;f=kk[c[(c[f>>2]|0)+28>>2]&511](f,10)|0;dUa(E);VSa(g,f)|0;HSa(g)|0}b=j0a(88)|0;g=c[k>>2]|0;e=c[m>>2]|0;hia(b);c[b>>2]=86804;f=b+56|0;c[f>>2]=0;c[f+4>>2]=0;c[f+8>>2]=0;c[f+12>>2]=0;h[b+72>>3]=+(g|0);h[b+80>>3]=+(e|0);rR(p,b);b=(a[j>>0]|0)==0?1028:1029;c[p+568>>2]=b;e=p+148|0;if(!(c[p+152>>2]|0)){j=c[e>>2]|0;c[p+572>>2]=b;c[e>>2]=j&-393217}else c[p+572>>2]=b;if(u){f=(c[x>>2]|0)!=0&1;b=j0a(268)|0;dS(b,A);e=b+8|0;c[e>>2]=(c[e>>2]|0)+1;c[b+20>>2]=(t|0)==(f|0)?4:5;f=p+232|0;g=c[f>>2]|0;if(((g|0)!=(b|0)?(c[f>>2]=b,c[e>>2]=(c[e>>2]|0)+1,g|0):0)?(k=g+8|0,m=c[k>>2]|0,c[k>>2]=m-1,(m|0)==1):0)UU(g,1,1);Qra(E);Qra(G);uja(d,p,E,G,1)|0;m=c[e>>2]|0;c[e>>2]=m-1;if((m|0)==1)UU(b,1,1)}else{L=+(c[k>>2]|0)/+(c[m>>2]|0)/+h[F>>3];Qra(H);Sra(H,i-L,0.0,0.0);Qra(G);Rra(G,1.0/L,1.0,1.0);Qra(E);Ura(E,H,G);Qra(B);uja(d,p,E,B,1)|0;i=i-L*2.0}m=c[q>>2]|0;c[q>>2]=m-1;if((m|0)==1)UU(p,1,1);if(!o?(p=n+8|0,q=c[p>>2]|0,c[p>>2]=q-1,(q|0)==1):0)UU(n,1,1);q=c[s>>2]|0;c[s>>2]=q-1;if((q|0)==1)UU(r,1,1);t=t+1|0}while(t>>>0<z>>>0)}}Ota(d);if((a[J+11>>0]|0)<0)l0a(c[J>>2]|0);l=K;return}function Nta(a,b){a=a|0;b=b|0;a=c[b+116>>2]|0;if(a|0){b=a;return b|0}b=c[(vt()|0)>>2]|0;return b|0}function Ota(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;e=b+68|0;d=c[e>>2]|0;do if(!d)j=0;else{g=c[d+16>>2]|0;if((((g|0)!=0?(h=c[b+40>>2]|0,(h|0)!=0):0)?(c[h+24>>2]|0)!=0:0)?(f=c[b+44>>2]|0,(f|0)!=0):0){ssa(g,c[f+88>>2]|0);d=c[e>>2]|0;if(!d){j=0;break}}j=c[d+12>>2]|0}while(0);e=b+76|0;d=c[e>>2]|0;do if(d|0){Jk[c[(c[d>>2]|0)+112>>2]&1023](d,j);d=Jja(c[b+72>>2]|0)|0;if(!d){h=c[e>>2]|0;Nk[c[(c[h>>2]|0)+144>>2]&255](h,d,b+36|0);break}g=d+8|0;c[g>>2]=(c[g>>2]|0)+1;g=c[e>>2]|0;Nk[c[(c[g>>2]|0)+144>>2]&255](g,d,b+36|0);g=d+8|0;h=c[g>>2]|0;c[g>>2]=h-1;if((h|0)==1)UU(d,1,1)}while(0);d=b+16|0;e=c[d>>2]|0;if(e|0){h=c[e>>2]|0;g=c[h+240>>2]|0;h=gk[c[h+248>>2]&1023](e)|0;lk[g&127](e,0,h)|0;if(j|0){h=c[d>>2]|0;kk[c[(c[h>>2]|0)+228>>2]&511](h,j)|0}d=c[(c[d>>2]|0)+628>>2]|0;if(d|0?(i=y1a(d,45088,58784,0)|0,i|0):0)a[i+30>>0]=1}i=b+20|0;h=b+24|0;b=c[i>>2]|0;e=b;if((c[h>>2]|0)==(b|0))return;if(!j){g=0;do{d=e+(g*272|0)+4|0;f=c[d>>2]|0;if(((f|0?a[e+(g*272|0)+264>>0]|0:0)?(m=c[f>>2]|0,l=c[m+240>>2]|0,m=gk[c[m+248>>2]&1023](f)|0,lk[l&127](f,0,m)|0,m=c[(c[d>>2]|0)+628>>2]|0,m|0):0)?(n=y1a(m,45088,58784,0)|0,n|0):0)a[n+30>>0]=1;g=g+1|0;e=c[i>>2]|0}while(g>>>0<(((c[h>>2]|0)-e|0)/272|0)>>>0);return}else{g=0;do{d=e+(g*272|0)+4|0;f=c[d>>2]|0;if(((f|0?a[e+(g*272|0)+264>>0]|0:0)?(k=c[f>>2]|0,n=c[k+240>>2]|0,k=gk[c[k+248>>2]&1023](f)|0,lk[n&127](f,0,k)|0,k=c[d>>2]|0,kk[c[(c[k>>2]|0)+228>>2]&511](k,j)|0,k=c[(c[d>>2]|0)+628>>2]|0,k|0):0)?(l=y1a(k,45088,58784,0)|0,l|0):0)a[l+30>>0]=1;g=g+1|0;e=c[i>>2]|0}while(g>>>0<(((c[h>>2]|0)-e|0)/272|0)>>>0);return}}function Pta(a){a=a|0;Pr(a);l0a(a);return}function Qta(a){a=a|0;var b=0;a=j0a(36)|0;Tha(a);b=a+12|0;c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;c[a+24>>2]=2;c[a+28>>2]=0;c[a>>2]=100176;c[a+32>>2]=0;return a|0}function Rta(a,b){a=a|0;b=b|0;var d=0;d=j0a(36)|0;Or(d,a,b);c[d>>2]=100176;c[d+32>>2]=c[a+32>>2];return d|0}function Sta(a,b){a=a|0;b=b|0;if(!b){b=0;return b|0}b=(y1a(b,42800,58880,0)|0)!=0;return b|0}function Tta(a){a=a|0;return 183549}function Uta(a){a=a|0;return 186617}function Vta(b,d){b=b|0;d=d|0;var e=0,f=0;e=j0a(56)|0;f=c[b+32>>2]|0;Tha(e);b=e+12|0;c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;c[e+24>>2]=2;c[e+28>>2]=0;c[e>>2]=100356;c[e+32>>2]=0;c[e+36>>2]=0;c[e+40>>2]=-1;c[e+44>>2]=-1;c[e+48>>2]=f;f=e+52|0;a[f>>0]=1;a[e+53>>0]=0;b=e+8|0;c[b>>2]=(c[b>>2]|0)+1;a[f>>0]=0;Jk[c[(c[e>>2]|0)+164>>2]&1023](e,d);d=c[b>>2]|0;c[b>>2]=d-1;if((d|0)!=1)return;UU(e,1,1);return}function Wta(a){a=a|0;Pr(a);l0a(a);return}function Xta(b){b=b|0;var d=0;b=j0a(56)|0;Tha(b);d=b+12|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[b+24>>2]=2;c[b+28>>2]=0;c[b>>2]=100356;c[b+32>>2]=0;c[b+36>>2]=0;c[b+40>>2]=-1;c[b+44>>2]=-1;c[b+48>>2]=0;a[b+52>>0]=1;a[b+53>>0]=0;return b|0}function Yta(b,d){b=b|0;d=d|0;var e=0;e=j0a(56)|0;Or(e,b,d);c[e>>2]=100356;c[e+32>>2]=c[b+32>>2];c[e+36>>2]=c[b+36>>2];c[e+40>>2]=c[b+40>>2];c[e+44>>2]=c[b+44>>2];c[e+48>>2]=c[b+48>>2];a[e+52>>0]=a[b+52>>0]|0;a[e+53>>0]=a[b+53>>0]|0;return e|0}function Zta(a,b){a=a|0;b=b|0;if(!b){b=0;return b|0}b=(y1a(b,42800,58896,0)|0)!=0;return b|0}function _ta(a){a=a|0;return 183549}function $ta(a){a=a|0;return 186552}function aua(b,d){b=b|0;d=d|0;var e=0,f=0,i=0.0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;C=l;l=l+304|0;y=C+176|0;n=C+152|0;o=C+144|0;p=C+136|0;q=C+128|0;w=C;c[y>>2]=0;c[y+4>>2]=0;c[y+8>>2]=0;j=gT(y)|0;if((a[y+11>>0]|0)<0)l0a(c[y>>2]|0);if(!j){if(!(ZQ(3)|0)){l=C;return}B=mr(lr(3)|0,185808,93)|0;BSa(y,B+(c[(c[B>>2]|0)+-12>>2]|0)|0);A=cUa(y,230580)|0;A=kk[c[(c[A>>2]|0)+28>>2]&511](A,10)|0;dUa(y);VSa(B,A)|0;HSa(B)|0;l=C;return}z=kk[c[(c[b>>2]|0)+168>>2]&511](b,d)|0;A=j0a(200)|0;qT(A,z);B=A+8|0;c[B>>2]=(c[B>>2]|0)+1;oT(A+12|0);e=A+24|0;if((c[e>>2]|0)<0)c[e>>2]=0;f=b+48|0;c[A+28>>2]=c[f>>2];k=A+32|0;c[k>>2]=c[b+32>>2];m=A+36|0;c[m>>2]=c[b+36>>2];u=A+40|0;c[u>>2]=c[b+40>>2];v=A+44|0;c[v>>2]=c[b+44>>2];a[A+72>>0]=a[b+52>>0]|0;a[A+181>>0]=a[b+53>>0]|0;t=A+110|0;a[t>>0]=1;e=A+168|0;b=c[e>>2]|0;if(b|0?(c[e>>2]=0,e=b+8|0,x=c[e>>2]|0,c[e>>2]=x-1,(x|0)==1):0)UU(b,1,1);c[A+172>>2]=0;if(!((c[u>>2]|0)>=1?(c[v>>2]|0)>=1:0)){hT(n);oT(n);e=n+12|0;if((c[e>>2]|0)<0)c[e>>2]=0;c[n+16>>2]=c[f>>2];c[y>>2]=0;c[y+4>>2]=0;c[y+8>>2]=0;c[y+12>>2]=0;c[y+16>>2]=0;Nk[c[(c[j>>2]|0)+16>>2]&255](j,n,y);e=c[y+4>>2]|0;if((c[u>>2]|0)<1)c[u>>2]=c[y>>2];if((c[v>>2]|0)<1)c[v>>2]=e;if((a[n+11>>0]|0)<0)l0a(c[n>>2]|0)}j=RR(A)|0;e=(j|0)==0;if(!e){x=j+8|0;c[x>>2]=(c[x>>2]|0)+1}x=d+16|0;oR(c[x>>2]|0,j);if(!e?(r=y1a(j,44864,58744,0)|0,(r|0)!=0):0){if(ZQ(4)|0){s=mr(lr(4)|0,185902,71)|0;BSa(y,s+(c[(c[s>>2]|0)+-12>>2]|0)|0);f=cUa(y,230580)|0;f=kk[c[(c[f>>2]|0)+28>>2]&511](f,10)|0;dUa(y);VSa(s,f)|0;HSa(s)|0}Dja(c[(c[r+136>>2]|0)+12>>2]|0,c[k>>2]|0,c[m>>2]|0,c[u>>2]|0,c[v>>2]|0,1);wR(c[x>>2]|0,n,o,p,q)|0;i=+(c[u>>2]|0)/+(c[v>>2]|0)/+h[o>>3];if(i!=1.0){Qra(w);Rra(w,1.0/i,1.0,1.0);e=c[x>>2]|0;b=e+304|0;if((b|0)==(w|0)){h[y>>3]=+h[w>>3];h[y+8>>3]=+h[e+312>>3];h[y+16>>3]=+h[e+320>>3];h[y+24>>3]=+h[e+328>>3];h[y+32>>3]=+h[e+336>>3];h[y+40>>3]=+h[e+344>>3];h[y+48>>3]=+h[e+352>>3];h[y+56>>3]=+h[e+360>>3];h[y+64>>3]=+h[e+368>>3];h[y+72>>3]=+h[e+376>>3];h[y+80>>3]=+h[e+384>>3];h[y+88>>3]=+h[e+392>>3];h[y+96>>3]=+h[e+400>>3];h[y+104>>3]=+h[e+408>>3];h[y+112>>3]=+h[e+416>>3];h[y+120>>3]=+h[e+424>>3];Vra(w,y)}else Vra(b,w)}b=c[x>>2]|0;e=j0a(88)|0;w=c[u>>2]|0;f=c[v>>2]|0;hia(e);c[e>>2]=86804;v=e+56|0;c[v>>2]=0;c[v+4>>2]=0;c[v+8>>2]=0;c[v+12>>2]=0;h[e+72>>3]=+(w|0);h[e+80>>3]=+(f|0);rR(b,e);e=(a[t>>0]|0)==0?1028:1029;b=c[x>>2]|0;c[b+568>>2]=e;f=b+148|0;if(!(c[b+152>>2]|0))c[f>>2]=c[f>>2]&-393217;c[b+572>>2]=e;if(!(a[z+180>>0]|0)){if(a[z+16>>0]|0?a[z+94>>0]|0:0)cua(d,b,z)}else{if((c[z+184>>2]|0)!=(c[z+188>>2]|0))bua(z)|0;b=z+196|0;f=z+200|0;if((c[b>>2]|0)==(c[f>>2]|0)){e=j0a(120)|0;Tha(e);w=e+12|0;c[w>>2]=0;c[w+4>>2]=0;c[w+8>>2]=0;c[e+24>>2]=2;c[e+28>>2]=0;c[e>>2]=100536;a[e+32>>0]=0;g[e+36>>2]=1.0;g[e+40>>2]=1.0;g[e+44>>2]=1.0;g[e+48>>2]=1.0;h[e+56>>3]=-1.0;h[e+64>>3]=-1.0;h[e+72>>3]=1.0;h[e+80>>3]=-1.0;h[e+88>>3]=-1.0;h[e+96>>3]=1.0;h[e+104>>3]=1.0;h[e+112>>3]=1.0;c[y>>2]=e;e=e+8|0;c[e>>2]=(c[e>>2]|0)+1;e=c[f>>2]|0;if(e>>>0<(c[z+204>>2]|0)>>>0){b=c[y>>2]|0;c[e>>2]=b;if(b){e=b+8|0;c[e>>2]=(c[e>>2]|0)+1;e=c[f>>2]|0}c[f>>2]=e+4}else JO(b,y);e=c[y>>2]|0;do if(e|0){w=e+8|0;y=c[w>>2]|0;c[w>>2]=y-1;if((y|0)!=1)break;UU(e,1,1)}while(0)}cua(d,c[x>>2]|0,z)}s=56}else{if(ZQ(3)|0){z=mr(lr(3)|0,185974,75)|0;BSa(y,z+(c[(c[z>>2]|0)+-12>>2]|0)|0);d=cUa(y,230580)|0;d=kk[c[(c[d>>2]|0)+28>>2]&511](d,10)|0;dUa(y);VSa(z,d)|0;HSa(z)|0}if(!e)s=56}if((s|0)==56?(d=j+8|0,z=c[d>>2]|0,c[d>>2]=z-1,(z|0)==1):0)UU(j,1,1);z=c[B>>2]|0;c[B>>2]=z-1;if((z|0)!=1){l=C;return}UU(A,1,1);l=C;return}function bua(b){b=b|0;var d=0,e=0,f=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;u=l;l=l+16|0;k=u;d=c[b+184>>2]|0;p=b+188|0;if((d|0)==(c[p>>2]|0)){t=0;l=u;return t|0}q=k+11|0;r=k+8|0;s=k+11|0;m=k+8|0;n=b+200|0;o=b+204|0;j=b+196|0;do{hra(k,d,c[(Rla(0)|0)+160>>2]|0);e=c[k>>2]|0;do if(!e)t=22;else{b=y1a(e,42800,58912,0)|0;f=(b|0)==0;if(!f){e=b+8|0;c[e>>2]=(c[e>>2]|0)+1;e=c[k>>2]|0;if(e)t=8}else t=8;if((t|0)==8){t=0;v=e+8|0;i=c[v>>2]|0;c[v>>2]=i-1;if((i|0)==1)UU(e,1,1);if(f){t=22;break}};c[k>>2]=0;c[k+4>>2]=0;c[k+8>>2]=0;a[q>>0]=8;v=k;c[v>>2]=1701603686;c[v+4>>2]=1701667182;a[r>>0]=0;Bva(b,k,d);if((a[q>>0]|0)<0)l0a(c[k>>2]|0);c[k>>2]=b;i=b+8|0;c[i>>2]=(c[i>>2]|0)+1;e=c[n>>2]|0;if(e>>>0<(c[o>>2]|0)>>>0){f=c[k>>2]|0;c[e>>2]=f;if(f){e=f+8|0;c[e>>2]=(c[e>>2]|0)+1;e=c[n>>2]|0}c[n>>2]=e+4}else JO(j,k);e=c[k>>2]|0;if(e|0?(f=e+8|0,v=c[f>>2]|0,c[f>>2]=v-1,(v|0)==1):0)UU(e,1,1);e=i}while(0);if((t|0)==22){t=0;if(ZQ(3)|0){f=mr(lr(3)|0,186463,38)|0;v=a[d+11>>0]|0;i=v<<24>>24<0;v=mr(f,i?c[d>>2]|0:d,i?c[d+4>>2]|0:v&255)|0;BSa(k,v+(c[(c[v>>2]|0)+-12>>2]|0)|0);i=cUa(k,230580)|0;i=kk[c[(c[i>>2]|0)+28>>2]&511](i,10)|0;dUa(k);VSa(v,i)|0;HSa(v)|0}b=j0a(120)|0;Tha(b);i=b+12|0;c[i>>2]=0;c[i+4>>2]=0;c[i+8>>2]=0;c[b+24>>2]=2;c[b+28>>2]=0;c[b>>2]=100536;a[b+32>>0]=0;g[b+36>>2]=1.0;g[b+40>>2]=1.0;g[b+44>>2]=1.0;g[b+48>>2]=1.0;h[b+56>>3]=-1.0;h[b+64>>3]=-1.0;h[b+72>>3]=1.0;h[b+80>>3]=-1.0;h[b+88>>3]=-1.0;h[b+96>>3]=1.0;h[b+104>>3]=1.0;h[b+112>>3]=1.0;i=b+8|0;c[i>>2]=(c[i>>2]|0)+1;c[k>>2]=0;c[k+4>>2]=0;c[k+8>>2]=0;a[s>>0]=8;v=k;c[v>>2]=1701603686;c[v+4>>2]=1701667182;a[m>>0]=0;Bva(b,k,d);if((a[s>>0]|0)<0)l0a(c[k>>2]|0);c[k>>2]=b;c[i>>2]=(c[i>>2]|0)+1;e=c[n>>2]|0;if(e>>>0<(c[o>>2]|0)>>>0){f=c[k>>2]|0;c[e>>2]=f;if(f){e=f+8|0;c[e>>2]=(c[e>>2]|0)+1;e=c[n>>2]|0}c[n>>2]=e+4}else JO(j,k);e=c[k>>2]|0;if(e|0?(f=e+8|0,v=c[f>>2]|0,c[f>>2]=v-1,(v|0)==1):0)UU(e,1,1);e=i}v=c[e>>2]|0;c[e>>2]=v-1;if((v|0)==1)UU(b,1,1);d=d+12|0}while((d|0)!=(c[p>>2]|0));b=1;l=u;return b|0}function cua(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,K=0,L=0,M=0,N=0,O=0.0;N=l;l=l+288|0;w=N+128|0;x=N;M=N+268|0;y=N+256|0;if(!d){l=N;return}q=d+624|0;if(!(c[q>>2]|0)){l=N;return}r=e+16|0;m=e+180|0;f=a[m>>0]|0;if(!(a[r>>0]|0))if(!(f<<24>>24)){l=N;return}else f=1;a[e+94>>0]=0;c[M>>2]=0;L=M+4|0;c[L>>2]=0;p=M+8|0;c[p>>2]=0;do if(f<<24>>24){f=c[e+196>>2]|0;k=e+200|0;i=c[k>>2]|0;if((f|0)!=(i|0)){do{j=c[f>>2]|0;if((j|0)!=0?(o=y1a(j,42800,58912,0)|0,(o|0)!=0):0){c[w>>2]=o;i=o+8|0;c[i>>2]=(c[i>>2]|0)+1;i=c[L>>2]|0;if(i>>>0<(c[p>>2]|0)>>>0){j=c[w>>2]|0;c[i>>2]=j;if(j){i=j+8|0;c[i>>2]=(c[i>>2]|0)+1;i=c[L>>2]|0}c[L>>2]=i+4}else dua(M,w);i=c[w>>2]|0;if(i|0?(I=i+8|0,K=c[I>>2]|0,c[I>>2]=K-1,(K|0)==1):0)UU(i,1,1);i=c[k>>2]|0}f=f+4|0}while((f|0)!=(i|0));if(!(a[m>>0]|0))break}if((c[L>>2]|0)-(c[M>>2]|0)>>2>>>0<2)do{f=j0a(120)|0;Tha(f);K=f+12|0;c[K>>2]=0;c[K+4>>2]=0;c[K+8>>2]=0;c[f+24>>2]=2;c[f+28>>2]=0;c[f>>2]=100536;a[f+32>>0]=0;g[f+36>>2]=1.0;g[f+40>>2]=1.0;g[f+44>>2]=1.0;g[f+48>>2]=1.0;h[f+56>>3]=-1.0;h[f+64>>3]=-1.0;h[f+72>>3]=1.0;h[f+80>>3]=-1.0;h[f+88>>3]=-1.0;h[f+96>>3]=1.0;h[f+104>>3]=1.0;h[f+112>>3]=1.0;c[w>>2]=f;f=f+8|0;c[f>>2]=(c[f>>2]|0)+1;f=c[L>>2]|0;if(f>>>0<(c[p>>2]|0)>>>0){i=c[w>>2]|0;c[f>>2]=i;if(i){f=i+8|0;c[f>>2]=(c[f>>2]|0)+1;f=c[L>>2]|0}c[L>>2]=f+4}else dua(M,w);f=c[w>>2]|0;if(f|0?(I=f+8|0,K=c[I>>2]|0,c[I>>2]=K-1,(K|0)==1):0)UU(f,1,1)}while((c[L>>2]|0)-(c[M>>2]|0)>>2>>>0<2)}while(0);O=+g[e+32>>2];tR(d,+J(+(O*.5),+(+g[e+36>>2]))*2.0*180.0/3.141592653589793,+g[e+28>>2]/O,1.0,1.0e4);I=c[q>>2]|0;K=(I|0)==0;G=I+8|0;c[G>>2]=(c[G>>2]|0)+1;G=c[(c[q>>2]|0)+44>>2]|0;H=(G|0)==0;if(!H){F=G+8|0;c[F>>2]=(c[F>>2]|0)+1}a:do if(!(a[r>>0]|0)){f=c[e+196>>2]|0;if(((f|0)!=(c[e+200>>2]|0)?(s=c[f>>2]|0,(s|0)!=0):0)?(n=y1a(s,42800,58912,0)|0,(n|0)!=0):0){F=n+8|0;c[F>>2]=(c[F>>2]|0)+1}else{n=j0a(120)|0;Tha(n);F=n+12|0;c[F>>2]=0;c[F+4>>2]=0;c[F+8>>2]=0;c[n+24>>2]=2;c[n+28>>2]=0;c[n>>2]=100536;a[n+32>>0]=0;g[n+36>>2]=1.0;g[n+40>>2]=1.0;g[n+44>>2]=1.0;g[n+48>>2]=1.0;h[n+56>>3]=-1.0;h[n+64>>3]=-1.0;h[n+72>>3]=1.0;h[n+80>>3]=-1.0;h[n+88>>3]=-1.0;h[n+96>>3]=1.0;h[n+104>>3]=1.0;h[n+112>>3]=1.0;F=n+8|0;c[F>>2]=(c[F>>2]|0)+1}f=G+40|0;i=G+44|0;o=eua(0,c[f>>2]|0,c[i>>2]|0)|0;p=(o|0)==0;if(!p){F=o+8|0;c[F>>2]=(c[F>>2]|0)+1}fua(b,I,c[f>>2]|0,c[i>>2]|0,o)|0;j=gua(b,e,I,0,0,c[f>>2]|0,c[i>>2]|0,(a[G+110>>0]|0)==0?1028:1029,o,n)|0;k=(j|0)==0;if(!k){e=j+8|0;c[e>>2]=(c[e>>2]|0)+1}m=j0a(152)|0;hua(m,n);m=m+(c[(c[m>>2]|0)+-12>>2]|0)|0;f=c[j+92>>2]|0;if(!f)mU(j,m);else{while(1){i=c[f+4>>2]|0;if(!i)break;else f=i}c[f+4>>2]=m;e=m+(c[(c[m>>2]|0)+-12>>2]|0)+8|0;c[e>>2]=(c[e>>2]|0)+1}oR(d,0);if(!k?(b=j+8|0,e=c[b>>2]|0,c[b>>2]=e-1,(e|0)==1):0)UU(j,1,1);if(!p?(b=o+8|0,e=c[b>>2]|0,c[b>>2]=e-1,(e|0)==1):0)UU(o,1,1);if(n|0?(b=n+8|0,e=c[b>>2]|0,c[b>>2]=e-1,(e|0)==1):0)UU(n,1,1)}else{s=e+20|0;switch(c[s>>2]|0){case 0:{oR(d,0);p=G+40|0;q=G+44|0;r=G+110|0;w=iua(b,e,I,0,0,c[p>>2]|0,c[q>>2]|0,(a[r>>0]|0)==0?1024:1026,-1.0)|0;x=(w|0)==0;if(!x){d=w+8|0;c[d>>2]=(c[d>>2]|0)+1}c[w+236>>2]=16640;i=w+152|0;j=w+148|0;if(!(c[i>>2]|0))c[j>>2]=c[j>>2]&-16385;c[w+560>>2]=1;c[w+564>>2]=0;y=iua(b,e,I,0,0,c[p>>2]|0,c[q>>2]|0,(a[r>>0]|0)==0?1025:1027,1.0)|0;z=(y|0)==0;if(!z){d=y+8|0;c[d>>2]=(c[d>>2]|0)+1}c[y+236>>2]=16640;k=y+152|0;m=y+148|0;if(!(c[k>>2]|0))c[m>>2]=c[m>>2]&-16385;c[y+560>>2]=1;c[y+564>>2]=1;f=c[M>>2]|0;do if((f|0)!=(c[L>>2]|0)){s=c[f>>2]|0;t=(s|0)==0;if(!t){d=s+8|0;c[d>>2]=(c[d>>2]|0)+1}u=eua(0,c[p>>2]|0,c[q>>2]|0)|0;v=(u|0)==0;if(!v){d=u+8|0;c[d>>2]=(c[d>>2]|0)+1}sR(w,0,0,c[p>>2]|0,c[q>>2]|0);c[w+568>>2]=1028;if(!(c[i>>2]|0))c[j>>2]=c[j>>2]&-393217;c[w+572>>2]=1028;a[w+228>>0]=1;pR(w,0);xR(w,3,u,0,0,0,0,0);n=eua(0,c[p>>2]|0,c[q>>2]|0)|0;o=(n|0)==0;if(!o){d=n+8|0;c[d>>2]=(c[d>>2]|0)+1}sR(y,0,0,c[p>>2]|0,c[q>>2]|0);c[y+568>>2]=1028;if(!(c[k>>2]|0))c[m>>2]=c[m>>2]&-393217;c[y+572>>2]=1028;a[y+228>>0]=1;pR(y,0);xR(y,3,n,0,0,0,0,0);g[s+36>>2]=1.0;g[s+40>>2]=0.0;g[s+44>>2]=0.0;g[s+48>>2]=1.0;k=gua(b,e,I,0,0,c[p>>2]|0,c[q>>2]|0,(a[r>>0]|0)==0?1024:1026,u,s)|0;m=(k|0)==0;if(!m){d=k+8|0;c[d>>2]=(c[d>>2]|0)+1}c[k+560>>2]=1;c[k+564>>2]=2;j=j0a(152)|0;hua(j,s);j=j+(c[(c[j>>2]|0)+-12>>2]|0)|0;f=c[k+92>>2]|0;if(!f)mU(k,j);else{while(1){i=c[f+4>>2]|0;if(!i)break;else f=i}c[f+4>>2]=j;d=j+(c[(c[j>>2]|0)+-12>>2]|0)+8|0;c[d>>2]=(c[d>>2]|0)+1}f=gua(b,e,I,0,0,c[p>>2]|0,c[q>>2]|0,(a[r>>0]|0)==0?1025:1027,n,s)|0;do if(!f){c[140]=1;c[141]=3;a[228]=0}else{b=f+8|0;c[b>>2]=(c[b>>2]|0)+1;c[f+560>>2]=1;c[f+564>>2]=3;a[f+228>>0]=0;e=c[b>>2]|0;c[b>>2]=e-1;if((e|0)!=1)break;UU(f,1,1)}while(0);do if(!m){b=k+8|0;e=c[b>>2]|0;c[b>>2]=e-1;if((e|0)!=1)break;UU(k,1,1)}while(0);do if(!o){b=n+8|0;e=c[b>>2]|0;c[b>>2]=e-1;if((e|0)!=1)break;UU(n,1,1)}while(0);do if(!v){b=u+8|0;e=c[b>>2]|0;c[b>>2]=e-1;if((e|0)!=1)break;UU(u,1,1)}while(0);if(t)break;b=s+8|0;e=c[b>>2]|0;c[b>>2]=e-1;if((e|0)!=1)break;UU(s,1,1)}while(0);if(!z?(b=y+8|0,e=c[b>>2]|0,c[b>>2]=e-1,(e|0)==1):0)UU(y,1,1);if(x)break a;b=w+8|0;e=c[b>>2]|0;c[b>>2]=e-1;if((e|0)!=1)break a;UU(w,1,1);break a}case 1:{oR(d,0);t=G+40|0;u=G+44|0;v=G+110|0;C=iua(b,e,I,0,0,c[t>>2]|0,c[u>>2]|0,(a[v>>0]|0)==0?1028:1029,-1.0)|0;D=(C|0)==0;if(!D){F=C+8|0;c[F>>2]=(c[F>>2]|0)+1}i=C+236|0;c[i>>2]=16640;j=C+152|0;k=C+148|0;if(!(c[j>>2]|0))c[k>>2]=c[k>>2]&-16385;n=qR(C)|0;m=j0a(60)|0;hia(m);c[m>>2]=70288;a[m+56>>0]=1;a[m+57>>0]=0;a[m+58>>0]=0;a[m+59>>0]=1;F2(n,m,0);m=C+560|0;c[m>>2]=1;n=C+564|0;c[n>>2]=0;E=iua(b,e,I,0,0,c[t>>2]|0,c[u>>2]|0,(a[v>>0]|0)==0?1028:1029,1.0)|0;F=(E|0)==0;if(!F){B=E+8|0;c[B>>2]=(c[B>>2]|0)+1}o=E+236|0;c[o>>2]=256;p=E+152|0;q=E+148|0;if(!(c[p>>2]|0))c[q>>2]=c[q>>2]&-16385;s=qR(E)|0;r=j0a(60)|0;hia(r);c[r>>2]=70288;a[r+56>>0]=0;a[r+57>>0]=1;a[r+58>>0]=1;a[r+59>>0]=1;F2(s,r,0);r=E+560|0;c[r>>2]=1;s=E+564|0;c[s>>2]=1;f=c[M>>2]|0;do if((f|0)!=(c[L>>2]|0)){y=c[f>>2]|0;z=(y|0)==0;if(!z){B=y+8|0;c[B>>2]=(c[B>>2]|0)+1}A=eua(0,c[t>>2]|0,c[u>>2]|0)|0;B=(A|0)==0;if(!B){x=A+8|0;c[x>>2]=(c[x>>2]|0)+1}c[C+568>>2]=1028;if(!(c[j>>2]|0))c[k>>2]=c[k>>2]&-393217;c[C+572>>2]=1028;a[C+228>>0]=0;c[m>>2]=1;c[n>>2]=0;pR(C,0);M2(qR(C)|0,25,0);c[i>>2]=16640;if(!(c[j>>2]|0))c[k>>2]=c[k>>2]&-16385;xR(C,3,A,0,0,0,0,0);w=eua(0,c[t>>2]|0,c[u>>2]|0)|0;x=(w|0)==0;if(!x){n=w+8|0;c[n>>2]=(c[n>>2]|0)+1}c[E+568>>2]=1028;if(!(c[p>>2]|0))c[q>>2]=c[q>>2]&-393217;c[E+572>>2]=1028;a[E+228>>0]=0;c[r>>2]=1;c[s>>2]=1;pR(E,0);M2(qR(E)|0,25,0);c[o>>2]=16640;if(!(c[p>>2]|0))c[q>>2]=c[q>>2]&-16385;xR(E,3,w,0,0,0,0,0);n=gua(b,e,I,0,0,c[t>>2]|0,c[u>>2]|0,(a[v>>0]|0)==0?1028:1029,A,y)|0;o=(n|0)==0;if(!o){s=n+8|0;c[s>>2]=(c[s>>2]|0)+1}c[n+560>>2]=1;c[n+564>>2]=2;c[n+236>>2]=16640;f=n+148|0;if(!(c[n+152>>2]|0))c[f>>2]=c[f>>2]&-16385;m=qR(n)|0;k=j0a(60)|0;hia(k);c[k>>2]=70288;a[k+56>>0]=1;a[k+57>>0]=0;a[k+58>>0]=0;a[k+59>>0]=1;F2(m,k,0);k=gua(b,e,I,0,0,c[t>>2]|0,c[u>>2]|0,(a[v>>0]|0)==0?1028:1029,w,y)|0;m=(k|0)==0;if(!m){e=k+8|0;c[e>>2]=(c[e>>2]|0)+1}c[k+560>>2]=1;c[k+564>>2]=3;c[k+236>>2]=256;f=k+148|0;if(!(c[k+152>>2]|0))c[f>>2]=c[f>>2]&-16385;f=qR(k)|0;j=j0a(60)|0;hia(j);c[j>>2]=70288;a[j+56>>0]=0;a[j+57>>0]=1;a[j+58>>0]=1;a[j+59>>0]=1;F2(f,j,0);j=j0a(152)|0;hua(j,y);j=j+(c[(c[j>>2]|0)+-12>>2]|0)|0;f=c[n+92>>2]|0;if(!f)mU(n,j);else{while(1){i=c[f+4>>2]|0;if(!i)break;else f=i}c[f+4>>2]=j;e=j+(c[(c[j>>2]|0)+-12>>2]|0)+8|0;c[e>>2]=(c[e>>2]|0)+1}a[d+228>>0]=0;do if(!m){b=k+8|0;e=c[b>>2]|0;c[b>>2]=e-1;if((e|0)!=1)break;UU(k,1,1)}while(0);do if(!o){b=n+8|0;e=c[b>>2]|0;c[b>>2]=e-1;if((e|0)!=1)break;UU(n,1,1)}while(0);do if(!x){b=w+8|0;e=c[b>>2]|0;c[b>>2]=e-1;if((e|0)!=1)break;UU(w,1,1)}while(0);do if(!B){b=A+8|0;e=c[b>>2]|0;c[b>>2]=e-1;if((e|0)!=1)break;UU(A,1,1)}while(0);if(z)break;b=y+8|0;e=c[b>>2]|0;c[b>>2]=e-1;if((e|0)!=1)break;UU(y,1,1)}while(0);if(!F?(b=E+8|0,e=c[b>>2]|0,c[b>>2]=e-1,(e|0)==1):0)UU(E,1,1);if(D)break a;b=C+8|0;e=c[b>>2]|0;c[b>>2]=e-1;if((e|0)!=1)break a;UU(C,1,1);break a}case 2:{oR(d,0);k=(c[e+40>>2]|0)==0;m=G+40|0;x=(c[m>>2]|0)/2|0;i=k?0:x;k=k?x:0;n=G+44|0;o=G+110|0;x=iua(b,e,I,i,0,x,c[n>>2]|0,(a[o>>0]|0)==0?1028:1029,-1.0)|0;y=(x|0)==0;if(!y){F=x+8|0;c[F>>2]=(c[F>>2]|0)+1}z=iua(b,e,I,k,0,(c[m>>2]|0)/2|0,c[n>>2]|0,(a[o>>0]|0)==0?1028:1029,1.0)|0;A=(z|0)==0;if(!A){F=z+8|0;c[F>>2]=(c[F>>2]|0)+1}f=c[M>>2]|0;do if((f|0)!=(c[L>>2]|0)){B=c[f>>2]|0;C=(B|0)==0;if(!C){f=B+8|0;c[f>>2]=(c[f>>2]|0)+1;f=c[M>>2]|0}t=c[f+4>>2]|0;u=(t|0)==0;if(!u){F=t+8|0;c[F>>2]=(c[F>>2]|0)+1}v=eua(0,(c[m>>2]|0)/2|0,c[n>>2]|0)|0;w=(v|0)==0;if(!w){F=v+8|0;c[F>>2]=(c[F>>2]|0)+1}sR(x,0,0,(c[m>>2]|0)/2|0,c[n>>2]|0);c[x+568>>2]=1028;f=x+148|0;if(!(c[x+152>>2]|0))c[f>>2]=c[f>>2]&-393217;c[x+572>>2]=1028;a[x+228>>0]=1;c[x+560>>2]=1;c[x+564>>2]=0;pR(x,0);xR(x,3,v,0,0,0,0,0);r=eua(0,(c[m>>2]|0)/2|0,c[n>>2]|0)|0;s=(r|0)==0;if(!s){F=r+8|0;c[F>>2]=(c[F>>2]|0)+1}sR(z,0,0,(c[m>>2]|0)/2|0,c[n>>2]|0);c[z+568>>2]=1028;f=z+148|0;if(!(c[z+152>>2]|0))c[f>>2]=c[f>>2]&-393217;c[z+572>>2]=1028;a[z+228>>0]=1;c[z+560>>2]=1;c[z+564>>2]=1;pR(z,0);xR(z,3,r,0,0,0,0,0);g[B+36>>2]=1.0;g[B+40>>2]=0.0;g[B+44>>2]=0.0;g[B+48>>2]=1.0;p=gua(b,e,I,i,0,(c[m>>2]|0)/2|0,c[n>>2]|0,(a[o>>0]|0)==0?1028:1029,v,B)|0;q=(p|0)==0;if(!q){F=p+8|0;c[F>>2]=(c[F>>2]|0)+1}c[p+560>>2]=1;c[p+564>>2]=2;j=j0a(152)|0;hua(j,B);j=j+(c[(c[j>>2]|0)+-12>>2]|0)|0;f=c[p+92>>2]|0;if(!f)mU(p,j);else{while(1){i=c[f+4>>2]|0;if(!i)break;else f=i}c[f+4>>2]=j;F=j+(c[(c[j>>2]|0)+-12>>2]|0)+8|0;c[F>>2]=(c[F>>2]|0)+1}g[t+36>>2]=0.0;g[t+40>>2]=1.0;g[t+44>>2]=0.0;g[t+48>>2]=1.0;j=gua(b,e,I,k,0,(c[m>>2]|0)/2|0,c[n>>2]|0,(a[o>>0]|0)==0?1028:1029,r,t)|0;k=(j|0)==0;if(!k){e=j+8|0;c[e>>2]=(c[e>>2]|0)+1}c[j+560>>2]=1;c[j+564>>2]=3;m=j0a(152)|0;hua(m,t);m=m+(c[(c[m>>2]|0)+-12>>2]|0)|0;f=c[j+92>>2]|0;if(!f)mU(j,m);else{while(1){i=c[f+4>>2]|0;if(!i)break;else f=i}c[f+4>>2]=m;e=m+(c[(c[m>>2]|0)+-12>>2]|0)+8|0;c[e>>2]=(c[e>>2]|0)+1}a[d+228>>0]=0;do if(!k){b=j+8|0;e=c[b>>2]|0;c[b>>2]=e-1;if((e|0)!=1)break;UU(j,1,1)}while(0);do if(!q){b=p+8|0;e=c[b>>2]|0;c[b>>2]=e-1;if((e|0)!=1)break;UU(p,1,1)}while(0);do if(!s){b=r+8|0;e=c[b>>2]|0;c[b>>2]=e-1;if((e|0)!=1)break;UU(r,1,1)}while(0);do if(!w){b=v+8|0;e=c[b>>2]|0;c[b>>2]=e-1;if((e|0)!=1)break;UU(v,1,1)}while(0);do if(!u){b=t+8|0;e=c[b>>2]|0;c[b>>2]=e-1;if((e|0)!=1)break;UU(t,1,1)}while(0);if(C)break;b=B+8|0;e=c[b>>2]|0;c[b>>2]=e-1;if((e|0)!=1)break;UU(B,1,1)}while(0);if(!A?(b=z+8|0,e=c[b>>2]|0,c[b>>2]=e-1,(e|0)==1):0)UU(z,1,1);if(y)break a;b=x+8|0;e=c[b>>2]|0;c[b>>2]=e-1;if((e|0)!=1)break a;UU(x,1,1);break a}case 3:{oR(d,0);k=(c[e+48>>2]|0)==1;m=G+44|0;x=(c[m>>2]|0)/2|0;i=k?0:x;k=k?x:0;n=G+40|0;o=G+110|0;x=iua(b,e,I,0,i,c[n>>2]|0,x,(a[o>>0]|0)==0?1028:1029,-1.0)|0;y=(x|0)==0;if(!y){F=x+8|0;c[F>>2]=(c[F>>2]|0)+1}z=iua(b,e,I,0,k,c[n>>2]|0,(c[m>>2]|0)/2|0,(a[o>>0]|0)==0?1028:1029,1.0)|0;A=(z|0)==0;if(!A){F=z+8|0;c[F>>2]=(c[F>>2]|0)+1}f=c[M>>2]|0;do if((f|0)!=(c[L>>2]|0)){B=c[f>>2]|0;C=(B|0)==0;if(!C){f=B+8|0;c[f>>2]=(c[f>>2]|0)+1;f=c[M>>2]|0}t=c[f+4>>2]|0;u=(t|0)==0;if(!u){F=t+8|0;c[F>>2]=(c[F>>2]|0)+1}v=eua(0,c[n>>2]|0,(c[m>>2]|0)/2|0)|0;w=(v|0)==0;if(!w){F=v+8|0;c[F>>2]=(c[F>>2]|0)+1}sR(x,0,0,c[n>>2]|0,(c[m>>2]|0)/2|0);c[x+568>>2]=1028;f=x+148|0;if(!(c[x+152>>2]|0))c[f>>2]=c[f>>2]&-393217;c[x+572>>2]=1028;a[x+228>>0]=1;c[x+560>>2]=1;c[x+564>>2]=0;pR(x,0);xR(x,3,v,0,0,0,0,0);r=eua(0,c[n>>2]|0,(c[m>>2]|0)/2|0)|0;s=(r|0)==0;if(!s){F=r+8|0;c[F>>2]=(c[F>>2]|0)+1}sR(z,0,0,c[n>>2]|0,(c[m>>2]|0)/2|0);c[z+568>>2]=1028;f=z+148|0;if(!(c[z+152>>2]|0))c[f>>2]=c[f>>2]&-393217;c[z+572>>2]=1028;a[z+228>>0]=1;c[z+560>>2]=1;c[z+564>>2]=1;pR(z,0);xR(z,3,r,0,0,0,0,0);g[B+36>>2]=1.0;g[B+40>>2]=0.0;g[B+44>>2]=0.0;g[B+48>>2]=1.0;p=gua(b,e,I,0,i,c[n>>2]|0,(c[m>>2]|0)/2|0,(a[o>>0]|0)==0?1028:1029,v,B)|0;q=(p|0)==0;if(!q){F=p+8|0;c[F>>2]=(c[F>>2]|0)+1}c[p+560>>2]=1;c[p+564>>2]=2;j=j0a(152)|0;hua(j,B);j=j+(c[(c[j>>2]|0)+-12>>2]|0)|0;f=c[p+92>>2]|0;if(!f)mU(p,j);else{while(1){i=c[f+4>>2]|0;if(!i)break;else f=i}c[f+4>>2]=j;F=j+(c[(c[j>>2]|0)+-12>>2]|0)+8|0;c[F>>2]=(c[F>>2]|0)+1}g[t+36>>2]=0.0;g[t+40>>2]=1.0;g[t+44>>2]=0.0;g[t+48>>2]=1.0;j=gua(b,e,I,0,k,c[n>>2]|0,(c[m>>2]|0)/2|0,(a[o>>0]|0)==0?1028:1029,r,t)|0;k=(j|0)==0;if(!k){e=j+8|0;c[e>>2]=(c[e>>2]|0)+1}c[j+560>>2]=1;c[j+564>>2]=3;m=j0a(152)|0;hua(m,t);m=m+(c[(c[m>>2]|0)+-12>>2]|0)|0;f=c[j+92>>2]|0;if(!f)mU(j,m);else{while(1){i=c[f+4>>2]|0;if(!i)break;else f=i}c[f+4>>2]=m;e=m+(c[(c[m>>2]|0)+-12>>2]|0)+8|0;c[e>>2]=(c[e>>2]|0)+1}a[d+228>>0]=0;do if(!k){b=j+8|0;e=c[b>>2]|0;c[b>>2]=e-1;if((e|0)!=1)break;UU(j,1,1)}while(0);do if(!q){b=p+8|0;e=c[b>>2]|0;c[b>>2]=e-1;if((e|0)!=1)break;UU(p,1,1)}while(0);do if(!s){b=r+8|0;e=c[b>>2]|0;c[b>>2]=e-1;if((e|0)!=1)break;UU(r,1,1)}while(0);do if(!w){b=v+8|0;e=c[b>>2]|0;c[b>>2]=e-1;if((e|0)!=1)break;UU(v,1,1)}while(0);do if(!u){b=t+8|0;e=c[b>>2]|0;c[b>>2]=e-1;if((e|0)!=1)break;UU(t,1,1)}while(0);if(C)break;b=B+8|0;e=c[b>>2]|0;c[b>>2]=e-1;if((e|0)!=1)break;UU(B,1,1)}while(0);if(!A?(b=z+8|0,e=c[b>>2]|0,c[b>>2]=e-1,(e|0)==1):0)UU(z,1,1);if(y)break a;b=x+8|0;e=c[b>>2]|0;c[b>>2]=e-1;if((e|0)!=1)break a;UU(x,1,1);break a}case 4:{oR(d,0);i=G+40|0;j=G+44|0;k=G+110|0;r=iua(b,e,I,0,0,c[i>>2]|0,c[j>>2]|0,(a[k>>0]|0)==0?1028:1029,-1.0)|0;s=(r|0)==0;if(!s){d=r+8|0;c[d>>2]=(c[d>>2]|0)+1}f=c[M>>2]|0;if((f|0)!=(c[L>>2]|0)){n=c[f>>2]|0;o=(n|0)==0;if(!o){d=n+8|0;c[d>>2]=(c[d>>2]|0)+1}p=eua(0,c[i>>2]|0,c[j>>2]|0)|0;q=(p|0)==0;if(!q){d=p+8|0;c[d>>2]=(c[d>>2]|0)+1}c[r+568>>2]=1028;f=r+148|0;if(!(c[r+152>>2]|0))c[f>>2]=c[f>>2]&-393217;c[r+572>>2]=1028;a[r+228>>0]=0;c[r+560>>2]=1;c[r+564>>2]=0;pR(r,0);xR(r,3,p,0,0,0,0,0);j=gua(b,e,I,0,0,c[i>>2]|0,c[j>>2]|0,(a[k>>0]|0)==0?1028:1029,p,n)|0;k=(j|0)==0;if(!k){e=j+8|0;c[e>>2]=(c[e>>2]|0)+1}c[j+560>>2]=1;c[j+564>>2]=2;m=j0a(152)|0;hua(m,n);m=m+(c[(c[m>>2]|0)+-12>>2]|0)|0;f=c[j+92>>2]|0;if(!f)mU(j,m);else{while(1){i=c[f+4>>2]|0;if(!i)break;else f=i}c[f+4>>2]=m;e=m+(c[(c[m>>2]|0)+-12>>2]|0)+8|0;c[e>>2]=(c[e>>2]|0)+1}if(!k?(b=j+8|0,e=c[b>>2]|0,c[b>>2]=e-1,(e|0)==1):0)UU(j,1,1);if(!q?(b=p+8|0,e=c[b>>2]|0,c[b>>2]=e-1,(e|0)==1):0)UU(p,1,1);if(!o?(b=n+8|0,e=c[b>>2]|0,c[b>>2]=e-1,(e|0)==1):0)UU(n,1,1)}if(s)break a;b=r+8|0;e=c[b>>2]|0;c[b>>2]=e-1;if((e|0)!=1)break a;UU(r,1,1);break a}case 5:{oR(d,0);i=G+40|0;j=G+44|0;k=G+110|0;r=iua(b,e,I,0,0,c[i>>2]|0,c[j>>2]|0,(a[k>>0]|0)==0?1028:1029,1.0)|0;s=(r|0)==0;if(!s){d=r+8|0;c[d>>2]=(c[d>>2]|0)+1}f=c[M>>2]|0;if((f|0)!=(c[L>>2]|0)){n=c[f>>2]|0;o=(n|0)==0;if(!o){d=n+8|0;c[d>>2]=(c[d>>2]|0)+1}p=eua(0,c[i>>2]|0,c[j>>2]|0)|0;q=(p|0)==0;if(!q){d=p+8|0;c[d>>2]=(c[d>>2]|0)+1}c[r+568>>2]=1028;f=r+148|0;if(!(c[r+152>>2]|0))c[f>>2]=c[f>>2]&-393217;c[r+572>>2]=1028;a[r+228>>0]=0;c[r+560>>2]=1;c[r+564>>2]=0;pR(r,0);xR(r,3,p,0,0,0,0,0);j=gua(b,e,I,0,0,c[i>>2]|0,c[j>>2]|0,(a[k>>0]|0)==0?1028:1029,p,n)|0;k=(j|0)==0;if(!k){e=j+8|0;c[e>>2]=(c[e>>2]|0)+1}c[j+560>>2]=1;c[j+564>>2]=1;m=j0a(152)|0;hua(m,n);m=m+(c[(c[m>>2]|0)+-12>>2]|0)|0;f=c[j+92>>2]|0;if(!f)mU(j,m);else{while(1){i=c[f+4>>2]|0;if(!i)break;else f=i}c[f+4>>2]=m;e=m+(c[(c[m>>2]|0)+-12>>2]|0)+8|0;c[e>>2]=(c[e>>2]|0)+1}if(!k?(b=j+8|0,e=c[b>>2]|0,c[b>>2]=e-1,(e|0)==1):0)UU(j,1,1);if(!q?(b=p+8|0,e=c[b>>2]|0,c[b>>2]=e-1,(e|0)==1):0)UU(p,1,1);if(!o?(b=n+8|0,e=c[b>>2]|0,c[b>>2]=e-1,(e|0)==1):0)UU(n,1,1)}if(s)break a;b=r+8|0;e=c[b>>2]|0;c[b>>2]=e-1;if((e|0)!=1)break a;UU(r,1,1);break a}case 8:case 7:case 6:{oR(d,0);q=j0a(656)|0;zw(q);r=q+8|0;c[r>>2]=(c[r>>2]|0)+1;oR(q,I);t=G+40|0;u=G+44|0;sR(q,0,0,c[t>>2]|0,c[u>>2]|0);v=G+110|0;f=(a[v>>0]|0)==0?1028:1029;c[q+568>>2]=f;i=q+152|0;j=q+148|0;if(!(c[i>>2]|0)){d=c[j>>2]|0;c[q+572>>2]=f;c[j>>2]=d&-393217}else c[q+572>>2]=f;Qia(q,1);c[q+236>>2]=17664;if(!(c[i>>2]|0))c[j>>2]=c[j>>2]&-16385;c[q+280>>2]=0;c[q+560>>2]=1;c[q+564>>2]=0;Qra(w);Qra(w);Qra(x);Qra(x);uja(b,q,w,x,0)|0;g[w>>2]=-1.0;g[w+4>>2]=-1.0;g[w+8>>2]=0.0;g[x>>2]=2.0;g[x+4>>2]=0.0;g[x+8>>2]=0.0;g[y>>2]=0.0;g[y+4>>2]=2.0;g[y+8>>2]=0.0;f=zS(w,x,y,0.0,0.0,1.0,1.0)|0;i=(f|0)==0;if(!i){d=f+8|0;c[d>>2]=(c[d>>2]|0)+1}j=j0a(160)|0;vS(j);k=j+8|0;c[k>>2]=(c[k>>2]|0)+1;kk[c[(c[j>>2]|0)+264>>2]&511](j,f)|0;kk[c[(c[q>>2]|0)+228>>2]&511](q,j)|0;nU(j,0);m=qR(j)|0;n=(m|0)==0;if(!n){d=m+8|0;c[d>>2]=(c[d>>2]|0)+1}o=j0a(84)|0;Dia(o);p=o+8|0;c[p>>2]=(c[p>>2]|0)+1;c[o+56>>2]=519;c[o+60>>2]=1;c[o+64>>2]=-1;c[o+68>>2]=7681;c[o+72>>2]=7681;c[o+76>>2]=7681;c[o+80>>2]=-1;B2(m,o,1);switch(c[s>>2]|0){case 7:{d=j0a(184)|0;OU(d,13184);B2(m,d,1);break}case 6:{d=j0a(184)|0;OU(d,13312);B2(m,d,1);break}default:{d=j0a(184)|0;OU(d,13440);B2(m,d,1)}}A2(m,2896,0);A2(m,2929,0);d=c[p>>2]|0;c[p>>2]=d-1;if((d|0)==1)UU(o,1,1);if(!n?(F=m+8|0,d=c[F>>2]|0,c[F>>2]=d-1,(d|0)==1):0)UU(m,1,1);d=c[k>>2]|0;c[k>>2]=d-1;if((d|0)==1)UU(j,1,1);if(!i?(F=f+8|0,d=c[F>>2]|0,c[F>>2]=d-1,(d|0)==1):0)UU(f,1,1);d=c[r>>2]|0;c[r>>2]=d-1;if((d|0)==1)UU(q,1,1);j=iua(b,e,I,0,0,c[t>>2]|0,c[u>>2]|0,(a[v>>0]|0)==0?1028:1029,-1.0)|0;if(j|0){d=j+8|0;c[d>>2]=(c[d>>2]|0)+1}f=j+236|0;c[f>>2]=0;i=j+148|0;if(!(c[j+152>>2]|0)){d=c[i>>2]&-16385;c[f>>2]=16640;c[i>>2]=d}else c[f>>2]=16640;c[j+560>>2]=1;c[j+564>>2]=1;f=j0a(84)|0;Dia(f);F=f+8|0;c[F>>2]=(c[F>>2]|0)+1;c[f+56>>2]=514;c[f+60>>2]=0;c[f+64>>2]=-1;c[f+68>>2]=7680;c[f+72>>2]=7680;c[f+76>>2]=7680;B2(qR(j)|0,f,1);d=c[F>>2]|0;c[F>>2]=d-1;if((d|0)==1)UU(f,1,1);F=j+8|0;d=c[F>>2]|0;c[F>>2]=d-1;if((d|0)==1)UU(j,1,1);i=iua(b,e,I,0,0,c[t>>2]|0,c[u>>2]|0,(a[v>>0]|0)==0?1028:1029,1.0)|0;if(i|0){e=i+8|0;c[e>>2]=(c[e>>2]|0)+1}c[i+236>>2]=256;f=i+148|0;if(!(c[i+152>>2]|0))c[f>>2]=c[f>>2]&-16385;c[i+560>>2]=1;c[i+564>>2]=2;f=j0a(84)|0;Dia(f);b=f+8|0;c[b>>2]=(c[b>>2]|0)+1;c[f+56>>2]=517;c[f+60>>2]=0;c[f+64>>2]=-1;c[f+68>>2]=7680;c[f+72>>2]=7680;c[f+76>>2]=7680;B2(qR(i)|0,f,1);e=c[b>>2]|0;c[b>>2]=e-1;if((e|0)==1)UU(f,1,1);b=i+8|0;e=c[b>>2]|0;c[b>>2]=e-1;if((e|0)!=1)break a;UU(i,1,1);break a}default:break a}}while(0);if(!H?(e=G+8|0,H=c[e>>2]|0,c[e>>2]=H-1,(H|0)==1):0)UU(G,1,1);if(!K?(H=I+8|0,K=c[H>>2]|0,c[H>>2]=K-1,(K|0)==1):0)UU(I,1,1);j=c[M>>2]|0;if(j|0){f=c[L>>2]|0;if((f|0)==(j|0))f=j;else{do{f=f+-4|0;i=c[f>>2]|0;if(i|0?(I=i+8|0,K=c[I>>2]|0,c[I>>2]=K-1,(K|0)==1):0)UU(i,1,1);c[f>>2]=0}while((f|0)!=(j|0));f=c[M>>2]|0}c[L>>2]=j;l0a(f)}l=N;return}function dua(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;m=a+4|0;d=c[m>>2]|0;e=c[a>>2]|0;i=d-e>>2;f=i+1|0;g=e;if(f>>>0>1073741823)g1a(a);l=a+8|0;j=(c[l>>2]|0)-e|0;k=j>>1;f=j>>2>>>0<536870911?(k>>>0<f>>>0?f:k):1073741823;do if(f)if(f>>>0>1073741823){m=db(8)|0;p0a(m,183738);c[m>>2]=110936;hb(m|0,65952,1066)}else{j=j0a(f<<2)|0;break}else j=0;while(0);e=j+(i<<2)|0;k=j+(f<<2)|0;f=c[b>>2]|0;c[e>>2]=f;if(f){g=f+8|0;c[g>>2]=(c[g>>2]|0)+1;g=c[a>>2]|0;d=c[m>>2]|0}h=e+4|0;f=g;if((d|0)==(g|0))b=f;else{b=i+-1-((d+-4-f|0)>>>2)|0;while(1){d=d+-4|0;f=c[d>>2]|0;c[e+-4>>2]=f;if(f|0){i=f+8|0;c[i>>2]=(c[i>>2]|0)+1}if((d|0)==(g|0))break;else e=e+-4|0}e=j+(b<<2)|0;b=c[a>>2]|0;d=c[m>>2]|0}c[a>>2]=e;c[m>>2]=h;c[l>>2]=k;f=b;if((d|0)!=(f|0))do{d=d+-4|0;e=c[d>>2]|0;if(e|0?(l=e+8|0,m=c[l>>2]|0,c[l>>2]=m-1,(m|0)==1):0)UU(e,1,1);c[d>>2]=0}while((d|0)!=(f|0));if(!b)return;l0a(b);return}function eua(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;a=j0a(264)|0;x$(a);e=a+8|0;c[e>>2]=(c[e>>2]|0)+1;c[a+236>>2]=b;c[a+240>>2]=d;c[a+180>>2]=1;c[a+188>>2]=6407;WZ(a);ria(a,0,9729);ria(a,1,9729);qia(a,0,33071);qia(a,1,33071);Wha(a)|0;return a|0}function fua(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var i=0,j=0,k=0,m=0,n=0;m=l;l=l+256|0;i=m+128|0;j=m;k=j0a(656)|0;zw(k);n=k+8|0;c[n>>2]=(c[n>>2]|0)+1;pK(k,186407);oR(k,d);d=j0a(88)|0;hia(d);c[d>>2]=86804;n=d+56|0;c[n>>2]=0;c[n+4>>2]=0;c[n+8>>2]=0;c[n+12>>2]=0;h[d+72>>3]=+(e|0);h[d+80>>3]=+(f|0);rR(k,d);c[k+568>>2]=1028;d=k+148|0;if(!(c[k+152>>2]|0)){n=c[d>>2]|0;c[k+572>>2]=1028;c[d>>2]=n&-393217}else c[k+572>>2]=1028;a[k+228>>0]=0;pR(k,0);xR(k,3,g,0,0,0,0,0);Qra(i);Qra(j);uja(b,k,i,j,1)|0;Wha(k)|0;l=m;return k|0}function gua(b,d,e,f,i,j,k,m,n,o){b=b|0;d=d|0;e=e|0;f=f|0;i=i|0;j=j|0;k=k|0;m=m|0;n=n|0;o=o|0;var p=0,q=0.0,r=0,s=0,t=0,u=0.0,v=0;v=l;l=l+256|0;s=v+128|0;t=v;q=+g[d+32>>2];u=+J(+(q*.5),+(+g[d+36>>2]))*2.0*180.0/3.141592653589793;q=+g[d+28>>2]/q;r=Bua(o)|0;d=qR(r)|0;N2(d,0,n,1);A2(d,2896,0);p=j0a(192)|0;Eia(p);a[p+184>>0]=1;N2(d,0,p,1);p=j0a(656)|0;zw(p);d=p+8|0;c[d>>2]=(c[d>>2]|0)+1;oR(p,e);c[p+236>>2]=16640;d=p+152|0;n=p+148|0;if(!(c[d>>2]|0)){e=c[n>>2]|0;g[p+240>>2]=0.0;g[p+244>>2]=0.0;g[p+248>>2]=0.0;g[p+252>>2]=1.0;c[n>>2]=e&-24577}else{g[p+240>>2]=0.0;g[p+244>>2]=0.0;g[p+248>>2]=0.0;g[p+252>>2]=1.0}e=j0a(88)|0;hia(e);c[e>>2]=86804;h[e+56>>3]=+(f|0);h[e+64>>3]=+(i|0);h[e+72>>3]=+(j|0);h[e+80>>3]=+(k|0);rR(p,e);c[p+568>>2]=m;if(!(c[d>>2]|0)){k=c[n>>2]|0;c[p+572>>2]=m;c[n>>2]=k&-393217}else c[p+572>>2]=m;Qia(p,1);c[n>>2]=c[n>>2]&-8194;Qra(s);Qra(s);h[p+432>>3]=+h[s>>3];h[p+440>>3]=+h[s+8>>3];h[p+448>>3]=+h[s+16>>3];h[p+456>>3]=+h[s+24>>3];h[p+464>>3]=+h[s+32>>3];h[p+472>>3]=+h[s+40>>3];h[p+480>>3]=+h[s+48>>3];h[p+488>>3]=+h[s+56>>3];h[p+496>>3]=+h[s+64>>3];h[p+504>>3]=+h[s+72>>3];h[p+512>>3]=+h[s+80>>3];h[p+520>>3]=+h[s+88>>3];h[p+528>>3]=+h[s+96>>3];h[p+536>>3]=+h[s+104>>3];h[p+544>>3]=+h[s+112>>3];h[p+552>>3]=+h[s+120>>3];Qv(p);tR(p,u,q,.1,1.0e3);kk[c[(c[p>>2]|0)+228>>2]&511](p,r)|0;m=c[(c[p>>2]|0)+228>>2]|0;o=Cua(o)|0;kk[m&511](p,o)|0;pK(p,186274);Qra(s);Qra(t);uja(b,p,s,t,0)|0;Wha(p)|0;l=v;return p|0}function hua(b,d){b=b|0;d=d|0;var e=0,f=0,i=0,j=0;j=b+116|0;Tha(j);i=b+128|0;c[i>>2]=0;c[i+4>>2]=0;c[i+8>>2]=0;c[b+140>>2]=2;c[b+144>>2]=0;c[b+112>>2]=0;c[b>>2]=100768;c[b+108>>2]=101020;c[j>>2]=101292;c[b+4>>2]=100864;c[b+8>>2]=d;j=(d|0)==0;if(!j){i=d+8|0;c[i>>2]=(c[i>>2]|0)+1}e=b+16|0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[e+12>>2]=0;h[b+32>>3]=1.0;h[b+40>>3]=1.0;h[b+48>>3]=.1;h[b+56>>3]=.1;h[b+64>>3]=.005;h[b+72>>3]=.005;e=b+80|0;f=b+96|0;i=b+104|0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[e+12>>2]=0;c[e+16>>2]=0;c[e+20>>2]=0;c[e+24>>2]=0;b=j0a(120)|0;Tha(b);e=b+12|0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[b+24>>2]=2;c[b+28>>2]=0;c[b>>2]=100536;a[b+32>>0]=0;g[b+36>>2]=1.0;g[b+40>>2]=1.0;g[b+44>>2]=1.0;g[b+48>>2]=1.0;h[b+56>>3]=-1.0;h[b+64>>3]=-1.0;h[b+72>>3]=1.0;h[b+80>>3]=-1.0;h[b+88>>3]=-1.0;h[b+96>>3]=1.0;h[b+104>>3]=1.0;h[b+112>>3]=1.0;e=c[f>>2]|0;if(((e|0)!=(b|0)?(c[f>>2]=b,f=b+8|0,c[f>>2]=(c[f>>2]|0)+1,e|0):0)?(b=e+8|0,f=c[b>>2]|0,c[b>>2]=f-1,(f|0)==1):0)UU(e,1,1);b=c[i>>2]|0;if((b|0)==(d|0))return;c[i>>2]=d;if(!j){j=d+8|0;c[j>>2]=(c[j>>2]|0)+1}if(!b)return;d=b+8|0;j=c[d>>2]|0;c[d>>2]=j-1;if((j|0)!=1)return;UU(b,1,1);return}function iua(a,b,d,e,f,g,i,j,k){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;i=i|0;j=j|0;k=+k;var m=0,n=0,o=0,p=0,q=0;p=l;l=l+256|0;n=p+128|0;m=p;o=j0a(656)|0;zw(o);q=o+8|0;c[q>>2]=(c[q>>2]|0)+1;oR(o,d);d=j0a(88)|0;hia(d);c[d>>2]=86804;h[d+56>>3]=+(e|0);h[d+64>>3]=+(f|0);h[d+72>>3]=+(g|0);h[d+80>>3]=+(i|0);rR(o,d);c[o+568>>2]=j;d=o+148|0;if(!(c[o+152>>2]|0)){q=c[d>>2]|0;c[o+572>>2]=j;c[d>>2]=q&-393217}else c[o+572>>2]=j;Qra(n);Qra(n);Qra(m);Qra(m);uja(a,o,n,m,1)|0;e=c[a+20>>2]|0;d=(((c[a+24>>2]|0)-e|0)/272|0)+-1|0;f=j0a(32)|0;q=f+16|0;Tha(q);c[f>>2]=100712;c[q>>2]=100740;c[f+4>>2]=b;if(b|0){q=b+8|0;c[q>>2]=(c[q>>2]|0)+1}h[f+8>>3]=k;d=e+(d*272|0)+268|0;e=c[d>>2]|0;if((e|0)==(f|0)){Wha(o)|0;l=p;return o|0}c[d>>2]=f;q=f+(c[(c[f>>2]|0)+-12>>2]|0)+8|0;c[q>>2]=(c[q>>2]|0)+1;if(!e){Wha(o)|0;l=p;return o|0}d=e+(c[(c[e>>2]|0)+-12>>2]|0)|0;b=d+8|0;q=c[b>>2]|0;c[b>>2]=q-1;if((q|0)!=1){Wha(o)|0;l=p;return o|0}UU(d,1,1);Wha(o)|0;l=p;return o|0}function jua(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,f=0.0,i=0,j=0,k=0,m=0,n=0,o=0,p=0.0;o=l;l=l+128|0;m=o;n=c[d+4>>2]|0;k=y1a(b,47728,58800,0)|0;i=a+4|0;if(!((k|0)!=0&((n|0)!=0&(c[i>>2]|0)!=0))){Jk[c[(c[d>>2]|0)+8>>2]&1023](d,b);l=o;return}j=b+16|0;b=n+148|0;Nk[c[(c[n>>2]|0)+296>>2]&255](n,(c[j>>2]|0)+144|0,c[b>>2]|0);d=a+8|0;if(+h[d>>3]<0.0){c[n+196>>2]=c[n+200>>2];if(!(c[n+152>>2]|0))c[b>>2]=c[b>>2]&-1025;a=c[i>>2]|0;Nk[c[(c[a>>2]|0)+12>>2]&255](m,a,(c[j>>2]|0)+304|0);h[n+304>>3]=+h[m>>3];h[n+312>>3]=+h[m+8>>3];h[n+320>>3]=+h[m+16>>3];h[n+328>>3]=+h[m+24>>3];h[n+336>>3]=+h[m+32>>3];h[n+344>>3]=+h[m+40>>3];h[n+352>>3]=+h[m+48>>3];h[n+360>>3]=+h[m+56>>3];h[n+368>>3]=+h[m+64>>3];h[n+376>>3]=+h[m+72>>3];h[n+384>>3]=+h[m+80>>3];h[n+392>>3]=+h[m+88>>3];h[n+400>>3]=+h[m+96>>3];h[n+408>>3]=+h[m+104>>3];h[n+416>>3]=+h[m+112>>3];h[n+424>>3]=+h[m+120>>3]}else{c[n+196>>2]=c[n+204>>2];if(!(c[n+152>>2]|0))c[b>>2]=c[b>>2]&-1025;a=c[i>>2]|0;Nk[c[(c[a>>2]|0)+20>>2]&255](m,a,(c[j>>2]|0)+304|0);h[n+304>>3]=+h[m>>3];h[n+312>>3]=+h[m+8>>3];h[n+320>>3]=+h[m+16>>3];h[n+328>>3]=+h[m+24>>3];h[n+336>>3]=+h[m+32>>3];h[n+344>>3]=+h[m+40>>3];h[n+352>>3]=+h[m+48>>3];h[n+360>>3]=+h[m+56>>3];h[n+368>>3]=+h[m+64>>3];h[n+376>>3]=+h[m+72>>3];h[n+384>>3]=+h[m+80>>3];h[n+392>>3]=+h[m+88>>3];h[n+400>>3]=+h[m+96>>3];h[n+408>>3]=+h[m+104>>3];h[n+416>>3]=+h[m+112>>3];h[n+424>>3]=+h[m+120>>3]}b=c[i>>2]|0;f=+g[b+36>>2];switch(c[k+120>>2]|0){case 0:{e=+g[k+124>>2];break}case 1:{e=f*+g[k+124>>2];break}default:e=f}p=+h[d>>3];k=p<0.0;e=e/f*(k?-p:p);if(k){Ok[c[(c[b>>2]|0)+16>>2]&3](m,b,(c[j>>2]|0)+432|0,e);h[n+432>>3]=+h[m>>3];h[n+440>>3]=+h[m+8>>3];h[n+448>>3]=+h[m+16>>3];h[n+456>>3]=+h[m+24>>3];h[n+464>>3]=+h[m+32>>3];h[n+472>>3]=+h[m+40>>3];h[n+480>>3]=+h[m+48>>3];h[n+488>>3]=+h[m+56>>3];h[n+496>>3]=+h[m+64>>3];h[n+504>>3]=+h[m+72>>3];h[n+512>>3]=+h[m+80>>3];h[n+520>>3]=+h[m+88>>3];h[n+528>>3]=+h[m+96>>3];h[n+536>>3]=+h[m+104>>3];h[n+544>>3]=+h[m+112>>3];h[n+552>>3]=+h[m+120>>3];Qv(n);l=o;return}else{Ok[c[(c[b>>2]|0)+24>>2]&3](m,b,(c[j>>2]|0)+432|0,e);h[n+432>>3]=+h[m>>3];h[n+440>>3]=+h[m+8>>3];h[n+448>>3]=+h[m+16>>3];h[n+456>>3]=+h[m+24>>3];h[n+464>>3]=+h[m+32>>3];h[n+472>>3]=+h[m+40>>3];h[n+480>>3]=+h[m+48>>3];h[n+488>>3]=+h[m+56>>3];h[n+496>>3]=+h[m+64>>3];h[n+504>>3]=+h[m+72>>3];h[n+512>>3]=+h[m+80>>3];h[n+520>>3]=+h[m+88>>3];h[n+528>>3]=+h[m+96>>3];h[n+536>>3]=+h[m+104>>3];h[n+544>>3]=+h[m+112>>3];h[n+552>>3]=+h[m+120>>3];Qv(n);l=o;return}}function kua(a){a=a|0;var b=0,d=0,e=0,f=0;c[a>>2]=100712;d=a+16|0;c[d>>2]=100740;a=a+4|0;b=c[a>>2]|0;if(b|0?(f=b+8|0,e=c[f>>2]|0,c[f>>2]=e-1,(e|0)==1):0)UU(b,1,1);c[a>>2]=0;SU(d);return}function lua(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;c[a>>2]=100712;b=a+16|0;c[b>>2]=100740;d=a+4|0;e=c[d>>2]|0;if(e|0?(g=e+8|0,f=c[g>>2]|0,c[g>>2]=f-1,(f|0)==1):0)UU(e,1,1);c[d>>2]=0;SU(b);l0a(a);return}function mua(a){a=a|0;var b=0,d=0,e=0,f=0;b=a+(c[(c[a>>2]|0)+-16>>2]|0)|0;c[b>>2]=100712;a=b+16|0;c[a>>2]=100740;b=b+4|0;d=c[b>>2]|0;if(d|0?(f=d+8|0,e=c[f>>2]|0,c[f>>2]=e-1,(e|0)==1):0)UU(d,1,1);c[b>>2]=0;SU(a);return}function nua(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;a=a+(c[(c[a>>2]|0)+-16>>2]|0)|0;c[a>>2]=100712;b=a+16|0;c[b>>2]=100740;d=a+4|0;e=c[d>>2]|0;if(e|0?(g=e+8|0,f=c[g>>2]|0,c[g>>2]=f-1,(f|0)==1):0)UU(e,1,1);c[d>>2]=0;SU(b);l0a(a);return}function oua(a){a=a|0;var b=0,d=0,e=0,f=0;xua(a,101456);b=a+108|0;c[b>>2]=61744;c[b+8>>2]=62016;b=a+112|0;d=c[b>>2]|0;if(d|0?(e=d+(c[(c[d>>2]|0)+-12>>2]|0)|0,f=e+8|0,d=c[f>>2]|0,c[f>>2]=d-1,(d|0)==1):0)UU(e,1,1);c[b>>2]=0;Pr(a+116|0);return}function pua(a){a=a|0;var b=0,d=0,e=0,f=0;xua(a,101456);b=a+108|0;c[b>>2]=61744;c[b+8>>2]=62016;b=a+112|0;d=c[b>>2]|0;if(d|0?(e=d+(c[(c[d>>2]|0)+-12>>2]|0)|0,f=e+8|0,d=c[f>>2]|0,c[f>>2]=d-1,(d|0)==1):0)UU(e,1,1);c[b>>2]=0;Pr(a+116|0);l0a(a);return}function qua(b,d,e,f,i){b=b|0;d=d|0;e=e|0;f=f|0;i=i|0;var j=0.0,k=0.0,m=0,n=0,o=0.0,p=0.0,q=0,r=0,s=0;s=l;l=l+16|0;q=s;if(!f){b=0;l=s;return b|0}e=gk[c[(c[f>>2]|0)+80>>2]&1023](f)|0;if(!e){b=0;l=s;return b|0}if(!(c[e+288>>2]|0)){b=0;l=s;return b|0}a:do if((gk[c[(c[d>>2]|0)+172>>2]&1023](d)|0)==32){switch(c[d+116>>2]|0){case 8:case 4:break;default:break a}switch(c[d+80>>2]|0){case 103:{e=c[b+104>>2]|0;if(!e){b=1;l=s;return b|0}b=e+32|0;a[b>>0]=a[b>>0]^1;b=1;l=s;return b|0}case 114:{c[b+100>>2]=0;r=c[b+96>>2]|0;h[r+56>>3]=-1.0;h[r+64>>3]=-1.0;h[r+72>>3]=1.0;h[r+80>>3]=-1.0;h[r+88>>3]=-1.0;h[r+96>>3]=1.0;h[r+104>>3]=1.0;h[r+112>>3]=1.0;b=c[b+104>>2]|0;h[b+56>>3]=-1.0;h[b+64>>3]=-1.0;h[b+72>>3]=1.0;h[b+80>>3]=-1.0;h[b+88>>3]=-1.0;h[b+96>>3]=1.0;h[b+104>>3]=1.0;h[b+112>>3]=1.0;b=1;l=s;return b|0}case 115:{yua(c[b+8>>2]|0)|0;b=1;l=s;return b|0}default:break a}}while(0);m=c[d+160>>2]|0;n=(c[d+164>>2]|0)-m|0;i=n>>2;if(!n){b=0;l=s;return b|0}e=0;while(1){n=c[m+(e<<2)>>2]|0;e=e+1|0;if((c[n+16>>2]|0)==(f|0))break;if(e>>>0>=i>>>0){e=0;r=98;break}}if((r|0)==98){l=s;return e|0}k=+g[n+24>>2];k=(+g[n+20>>2]-k)/(+g[n+28>>2]-k)*2.0+-1.0;p=+g[n+36>>2];p=(+g[n+32>>2]-p)/(+g[n+40>>2]-p)*2.0+-1.0;m=b+104|0;e=c[m>>2]|0;if(!e){b=0;l=s;return b|0}if(!(a[e+32>>0]|0)){b=0;l=s;return b|0}switch(gk[c[(c[d>>2]|0)+172>>2]&1023](d)|0){case 1:{j=+h[b+32>>3];if(!(j!=0.0)?!(+h[b+40>>3]!=0.0):0)r=22;else r=20;b:do if((r|0)==20){switch(c[d+116>>2]|0){case 8:case 4:break;default:{r=22;break b}}e=b+40|0}while(0);do if((r|0)==22){j=+h[b+48>>3];if(!(!(j!=0.0)?!(+h[b+56>>3]!=0.0):0))r=24;if((r|0)==24?((c[d+116>>2]|0)+-1|0)>>>0<2:0){e=b+56|0;break}j=+h[b+16>>3];e=b+24|0}while(0);o=+h[e>>3];if(!(o*o+j*j!=0.0)){c[b+100>>2]=0;b=0;l=s;return b|0}c[b+100>>2]=zua(0,d)|0;e=c[m>>2]|0;i=c[b+96>>2]|0;if((e|0)!=(i|0)){a[i+32>>0]=a[e+32>>0]|0;q=e+36|0;r=i+36|0;c[r>>2]=c[q>>2];c[r+4>>2]=c[q+4>>2];c[r+8>>2]=c[q+8>>2];c[r+12>>2]=c[q+12>>2];r=e+56|0;q=i+56|0;c[q>>2]=c[r>>2];c[q+4>>2]=c[r+4>>2];c[q+8>>2]=c[r+8>>2];c[q+12>>2]=c[r+12>>2];q=e+72|0;r=i+72|0;c[r>>2]=c[q>>2];c[r+4>>2]=c[q+4>>2];c[r+8>>2]=c[q+8>>2];c[r+12>>2]=c[q+12>>2];r=e+88|0;q=i+88|0;c[q>>2]=c[r>>2];c[q+4>>2]=c[r+4>>2];c[q+8>>2]=c[r+8>>2];c[q+12>>2]=c[r+12>>2];q=e+104|0;r=i+104|0;c[r>>2]=c[q>>2];c[r+4>>2]=c[q+4>>2];c[r+8>>2]=c[q+8>>2];c[r+12>>2]=c[q+12>>2]}h[b+80>>3]=k;h[b+88>>3]=p;b=0;l=s;return b|0}case 8:{n=b+100|0;if(!(c[n>>2]|0)){b=0;l=s;return b|0}i=c[b+96>>2]|0;e=c[m>>2]|0;if((i|0)!=(e|0)){a[e+32>>0]=a[i+32>>0]|0;f=i+36|0;r=e+36|0;c[r>>2]=c[f>>2];c[r+4>>2]=c[f+4>>2];c[r+8>>2]=c[f+8>>2];c[r+12>>2]=c[f+12>>2];r=i+56|0;f=e+56|0;c[f>>2]=c[r>>2];c[f+4>>2]=c[r+4>>2];c[f+8>>2]=c[r+8>>2];c[f+12>>2]=c[r+12>>2];f=i+72|0;r=e+72|0;c[r>>2]=c[f>>2];c[r+4>>2]=c[f+4>>2];c[r+8>>2]=c[f+8>>2];c[r+12>>2]=c[f+12>>2];r=i+88|0;f=e+88|0;c[f>>2]=c[r>>2];c[f+4>>2]=c[r+4>>2];c[f+8>>2]=c[r+8>>2];c[f+12>>2]=c[r+12>>2];f=i+104|0;r=e+104|0;c[r>>2]=c[f>>2];c[r+4>>2]=c[f+4>>2];c[r+8>>2]=c[f+8>>2];c[r+12>>2]=c[f+12>>2]}o=k-+h[b+80>>3];k=p-+h[b+88>>3];j=+h[b+32>>3];if(!(j!=0.0)?!(+h[b+40>>3]!=0.0):0)r=39;else r=37;c:do if((r|0)==37){switch(c[d+116>>2]|0){case 8:case 4:break;default:{r=39;break c}}e=b+40|0}while(0);do if((r|0)==39){j=+h[b+48>>3];if(!(!(j!=0.0)?!(+h[b+56>>3]!=0.0):0))r=41;if((r|0)==41?((c[d+116>>2]|0)+-1|0)>>>0<2:0){e=b+56|0;break}j=+h[b+16>>3];e=b+24|0}while(0);r=c[n>>2]|0;p=k*+h[e>>3];h[q>>3]=o*j;h[q+8>>3]=p;Aua(b,r,q);b=1;l=s;return b|0}case 2:{c[b+100>>2]=0;b=0;l=s;return b|0}case 32:{if((gk[c[(c[d>>2]|0)+176>>2]&1023](d)|0)==65362){i=zua(0,d)|0;j=+h[b+72>>3];if(!(+h[b+32>>3]!=0.0)?!(+h[b+40>>3]!=0.0):0)r=51;else r=49;d:do if((r|0)==49){switch(c[d+116>>2]|0){case 8:case 4:break;default:{r=51;break d}}e=b+40|0}while(0);do if((r|0)==51){if(!(!(+h[b+48>>3]!=0.0)?!(+h[b+56>>3]!=0.0):0))r=53;if((r|0)==53?((c[d+116>>2]|0)+-1|0)>>>0<2:0){e=b+56|0;break}e=b+24|0}while(0);p=j*+h[e>>3];h[q>>3]=0.0;h[q+8>>3]=p;Aua(b,i,q);b=0;l=s;return b|0}if((gk[c[(c[d>>2]|0)+176>>2]&1023](d)|0)==65364){i=zua(0,d)|0;j=+h[b+72>>3];if(!(+h[b+32>>3]!=0.0)?!(+h[b+40>>3]!=0.0):0)r=62;else r=60;e:do if((r|0)==60){switch(c[d+116>>2]|0){case 8:case 4:break;default:{r=62;break e}}e=b+40|0}while(0);do if((r|0)==62){if(!(!(+h[b+48>>3]!=0.0)?!(+h[b+56>>3]!=0.0):0))r=64;if((r|0)==64?((c[d+116>>2]|0)+-1|0)>>>0<2:0){e=b+56|0;break}e=b+24|0}while(0);p=-(j*+h[e>>3]);h[q>>3]=0.0;h[q+8>>3]=p;Aua(b,i,q);b=0;l=s;return b|0}if((gk[c[(c[d>>2]|0)+176>>2]&1023](d)|0)==65361){e=zua(0,d)|0;k=+h[b+64>>3];j=+h[b+32>>3];if(!(j!=0.0)?!(+h[b+40>>3]!=0.0):0)r=72;else switch(c[d+116>>2]|0){case 8:case 4:break;default:r=72}do if((r|0)==72){j=+h[b+48>>3];if(!(!(j!=0.0)?!(+h[b+56>>3]!=0.0):0))r=74;if((r|0)==74?((c[d+116>>2]|0)+-1|0)>>>0<2:0)break;j=+h[b+16>>3]}while(0);h[q>>3]=-(k*j);h[q+8>>3]=0.0;Aua(b,e,q);b=0;l=s;return b|0}if((gk[c[(c[d>>2]|0)+176>>2]&1023](d)|0)==65363){e=zua(0,d)|0;k=+h[b+64>>3];j=+h[b+32>>3];if(!(j!=0.0)?!(+h[b+40>>3]!=0.0):0)r=81;else switch(c[d+116>>2]|0){case 8:case 4:break;default:r=81}do if((r|0)==81){j=+h[b+48>>3];if(!(!(j!=0.0)?!(+h[b+56>>3]!=0.0):0))r=83;if((r|0)==83?((c[d+116>>2]|0)+-1|0)>>>0<2:0)break;j=+h[b+16>>3]}while(0);h[q>>3]=k*j;h[q+8>>3]=0.0;Aua(b,e,q);b=0;l=s;return b|0}if((gk[c[(c[d>>2]|0)+176>>2]&1023](d)|0)!=65463?(gk[c[(c[d>>2]|0)+176>>2]&1023](d)|0)!=65429:0){if((gk[c[(c[d>>2]|0)+176>>2]&1023](d)|0)!=65465?(gk[c[(c[d>>2]|0)+176>>2]&1023](d)|0)!=65434:0){do if((gk[c[(c[d>>2]|0)+176>>2]&1023](d)|0)!=65459){if((gk[c[(c[d>>2]|0)+176>>2]&1023](d)|0)==65435)break;do if((gk[c[(c[d>>2]|0)+176>>2]&1023](d)|0)!=65457){if((gk[c[(c[d>>2]|0)+176>>2]&1023](d)|0)==65436)break;else e=0;l=s;return e|0}while(0);b=c[m>>2]|0;h[b+56>>3]=k;h[b+64>>3]=p;b=0;l=s;return b|0}while(0);b=c[m>>2]|0;h[b+72>>3]=k;h[b+80>>3]=p;b=0;l=s;return b|0}b=c[m>>2]|0;h[b+104>>3]=k;h[b+112>>3]=p;b=0;l=s;return b|0}b=c[m>>2]|0;h[b+88>>3]=k;h[b+96>>3]=p;b=0;l=s;return b|0}default:{b=0;l=s;return b|0}}return 0}function rua(a){a=a|0;var b=0,d=0,e=0,f=0;xua(a+-4|0,101456);c[a+104>>2]=61744;d=a+112|0;c[d>>2]=62016;b=a+108|0;a=c[b>>2]|0;if(!a){c[b>>2]=0;Pr(d);return}a=a+(c[(c[a>>2]|0)+-12>>2]|0)|0;f=a+8|0;e=c[f>>2]|0;c[f>>2]=e-1;if((e|0)!=1){c[b>>2]=0;Pr(d);return}UU(a,1,1);c[b>>2]=0;Pr(d);return}function sua(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;d=a+-4|0;xua(d,101456);c[a+104>>2]=61744;f=a+112|0;c[f>>2]=62016;a=a+108|0;b=c[a>>2]|0;if(b|0?(e=b+(c[(c[b>>2]|0)+-12>>2]|0)|0,g=e+8|0,b=c[g>>2]|0,c[g>>2]=b-1,(b|0)==1):0)UU(e,1,1);c[a>>2]=0;Pr(f);l0a(d);return}function tua(a){a=a|0;var b=0,d=0,e=0,f=0;a=a+(c[(c[a>>2]|0)+-112>>2]|0)|0;xua(a,101456);b=a+108|0;c[b>>2]=61744;c[b+8>>2]=62016;b=a+112|0;d=c[b>>2]|0;if(d|0?(e=d+(c[(c[d>>2]|0)+-12>>2]|0)|0,f=e+8|0,d=c[f>>2]|0,c[f>>2]=d-1,(d|0)==1):0)UU(e,1,1);c[b>>2]=0;Pr(a+116|0);return}function uua(a){a=a|0;var b=0,d=0,e=0,f=0;a=a+(c[(c[a>>2]|0)+-112>>2]|0)|0;xua(a,101456);b=a+108|0;c[b>>2]=61744;c[b+8>>2]=62016;b=a+112|0;d=c[b>>2]|0;if(d|0?(e=d+(c[(c[d>>2]|0)+-12>>2]|0)|0,f=e+8|0,d=c[f>>2]|0,c[f>>2]=d-1,(d|0)==1):0)UU(e,1,1);c[b>>2]=0;Pr(a+116|0);l0a(a);return}function vua(a){a=a|0;var b=0,d=0,e=0,f=0;a=a+(c[(c[a>>2]|0)+-16>>2]|0)|0;xua(a,101456);b=a+108|0;c[b>>2]=61744;c[b+8>>2]=62016;b=a+112|0;d=c[b>>2]|0;if(d|0?(e=d+(c[(c[d>>2]|0)+-12>>2]|0)|0,f=e+8|0,d=c[f>>2]|0,c[f>>2]=d-1,(d|0)==1):0)UU(e,1,1);c[b>>2]=0;Pr(a+116|0);return}function wua(a){a=a|0;var b=0,d=0,e=0,f=0;a=a+(c[(c[a>>2]|0)+-16>>2]|0)|0;xua(a,101456);b=a+108|0;c[b>>2]=61744;c[b+8>>2]=62016;b=a+112|0;d=c[b>>2]|0;if(d|0?(e=d+(c[(c[d>>2]|0)+-12>>2]|0)|0,f=e+8|0,d=c[f>>2]|0,c[f>>2]=d-1,(d|0)==1):0)UU(e,1,1);c[b>>2]=0;Pr(a+116|0);l0a(a);return}function xua(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=c[b>>2]|0;c[a>>2]=d;c[a+(c[d+-12>>2]|0)>>2]=c[b+60>>2];c[a+(c[(c[a>>2]|0)+-16>>2]|0)>>2]=c[b+64>>2];c[a+4>>2]=c[b+68>>2];b=a+104|0;d=c[b>>2]|0;if(d|0?(f=d+8|0,e=c[f>>2]|0,c[f>>2]=e-1,(e|0)==1):0)UU(d,1,1);c[b>>2]=0;b=a+96|0;d=c[b>>2]|0;if(d|0?(e=d+8|0,f=c[e>>2]|0,c[e>>2]=f-1,(f|0)==1):0)UU(d,1,1);c[b>>2]=0;b=a+8|0;d=c[b>>2]|0;if(!d){c[b>>2]=0;return}e=d+8|0;f=c[e>>2]|0;c[e>>2]=f-1;if((f|0)!=1){c[b>>2]=0;return}UU(d,1,1);c[b>>2]=0;return}function yua(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;j=l;l=l+32|0;h=j;i=j+12|0;c[i>>2]=0;c[i+4>>2]=0;c[i+8>>2]=0;f=b+28|0;if(c[f>>2]|0){c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;g=h+11|0;a[g>>0]=8;d=h;c[d>>2]=1701603686;c[d+4>>2]=1701667182;a[h+8>>0]=0;d=gk[c[(c[b>>2]|0)+116>>2]&1023](b)|0;if(!d){d=c[f>>2]|0;if(!d)d=0;else e=4}else e=4;if((e|0)==4){d=lk[c[(c[d>>2]|0)+200>>2]&127](d,h,0)|0;if((d|0)!=0?(c[(c[(c[d>>2]|0)+-4>>2]|0)+4>>2]|0)==186128:0){z0a(i,d+32|0)|0;d=1}else d=0}if((a[g>>0]|0)<0)l0a(c[h>>2]|0);if(d){d=c[f>>2]|0;e=(d|0)==0;if(!e){g=d+8|0;c[g>>2]=(c[g>>2]|0)+1}sU(b,0);if(ZQ(3)|0){k=mr(lr(3)|0,186222,21)|0;g=a[i+11>>0]|0;f=g<<24>>24<0;g=mr(k,f?c[i>>2]|0:i,f?c[i+4>>2]|0:g&255)|0;BSa(h,g+(c[(c[g>>2]|0)+-12>>2]|0)|0);f=cUa(h,230580)|0;f=kk[c[(c[f>>2]|0)+28>>2]&511](f,10)|0;dUa(h);VSa(g,f)|0;HSa(g)|0}Aoa(b,i,c[(Rla(0)|0)+160>>2]|0)|0;sU(b,d);if(!e?(h=d+8|0,k=c[h>>2]|0,c[h>>2]=k-1,(k|0)==1):0){UU(d,1,1);d=1}else d=1}else d=0}else d=0;if((a[i+11>>0]|0)>=0){l=j;return d|0}l0a(c[i>>2]|0);l=j;return d|0}function zua(a,b){a=a|0;b=b|0;var d=0.0,e=0.0,f=0;a=c[b+160>>2]|0;f=(c[b+164>>2]|0)-a|0;if(!f){e=+g[b+88>>2];d=+g[b+96>>2];d=(+g[b+108>>2]-d)*2.0/(+g[b+100>>2]-d)+-1.0;e=(+g[b+104>>2]-e)*2.0/(+g[b+92>>2]-e);d=(c[b+120>>2]|0)==0?d:-d}else{b=c[a+((f>>2)+-1<<2)>>2]|0;e=+g[b+24>>2];d=+g[b+36>>2];e=(+g[b+20>>2]-e)/(+g[b+28>>2]-e)*2.0;d=(+g[b+32>>2]-d)/(+g[b+40>>2]-d)*2.0+-1.0}e=e+-1.0;if(e<-.33){if(d<-.33){b=7;return b|0}b=d<.33?8:1;return b|0}a=d<-.33;f=d<.33;if(e<.33){if(a){b=6;return b|0}b=f?9:2;return b|0}else{if(a){b=5;return b|0}b=f?4:3;return b|0}return 0}function Aua(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;do switch(b|0){case 1:{b=c[a+104>>2]|0;a=b+88|0;h[a>>3]=+h[d>>3]+ +h[a>>3];b=b+96|0;a=d+8|0;break}case 2:{b=c[a+104>>2]|0;a=b+88|0;h[a>>3]=+h[d>>3]+ +h[a>>3];a=d+8|0;e=b+96|0;h[e>>3]=+h[a>>3]+ +h[e>>3];e=b+104|0;h[e>>3]=+h[d>>3]+ +h[e>>3];b=b+112|0;break}case 3:{b=c[a+104>>2]|0;a=b+104|0;h[a>>3]=+h[d>>3]+ +h[a>>3];b=b+112|0;a=d+8|0;break}case 4:{b=c[a+104>>2]|0;a=b+104|0;h[a>>3]=+h[d>>3]+ +h[a>>3];a=d+8|0;e=b+112|0;h[e>>3]=+h[a>>3]+ +h[e>>3];e=b+72|0;h[e>>3]=+h[d>>3]+ +h[e>>3];b=b+80|0;break}case 5:{b=c[a+104>>2]|0;a=b+72|0;h[a>>3]=+h[d>>3]+ +h[a>>3];b=b+80|0;a=d+8|0;break}case 6:{b=c[a+104>>2]|0;a=b+72|0;h[a>>3]=+h[d>>3]+ +h[a>>3];a=d+8|0;e=b+80|0;h[e>>3]=+h[a>>3]+ +h[e>>3];e=b+56|0;h[e>>3]=+h[d>>3]+ +h[e>>3];b=b+64|0;break}case 7:{b=c[a+104>>2]|0;a=b+56|0;h[a>>3]=+h[d>>3]+ +h[a>>3];b=b+64|0;a=d+8|0;break}case 8:{b=c[a+104>>2]|0;a=b+56|0;h[a>>3]=+h[d>>3]+ +h[a>>3];a=d+8|0;e=b+64|0;h[e>>3]=+h[a>>3]+ +h[e>>3];e=b+88|0;h[e>>3]=+h[d>>3]+ +h[e>>3];b=b+96|0;break}case 9:{b=c[a+104>>2]|0;a=b+56|0;h[a>>3]=+h[d>>3]+ +h[a>>3];a=d+8|0;e=b+64|0;h[e>>3]=+h[a>>3]+ +h[e>>3];e=b+88|0;h[e>>3]=+h[d>>3]+ +h[e>>3];e=b+96|0;h[e>>3]=+h[a>>3]+ +h[e>>3];e=b+72|0;h[e>>3]=+h[d>>3]+ +h[e>>3];e=b+80|0;h[e>>3]=+h[a>>3]+ +h[e>>3];e=b+104|0;h[e>>3]=+h[d>>3]+ +h[e>>3];b=b+112|0;break}default:return}while(0);h[b>>3]=+h[a>>3]+ +h[b>>3];return}function Bua(d){d=d|0;var e=0,f=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;E=l;l=l+16|0;z=E;B=j0a(160)|0;vS(B);C=B+8|0;c[C>>2]=(c[C>>2]|0)+1;C=j0a(280)|0;wS(C);D=C+8|0;c[D>>2]=(c[D>>2]|0)+1;kk[c[(c[B>>2]|0)+264>>2]&511](B,C)|0;jS(C,0);A=j0a(48)|0;y=A+16|0;Tha(y);x=A+28|0;c[x>>2]=0;c[x+4>>2]=0;c[x+8>>2]=0;c[A+40>>2]=2;c[A+44>>2]=0;c[A+12>>2]=0;c[A>>2]=101552;c[A+8>>2]=101708;c[y>>2]=101980;c[A+4>>2]=d;if(!d){y=A;d=101552}else{y=d+8|0;c[y>>2]=(c[y>>2]|0)+1;y=A;d=c[A>>2]|0}w=A+(c[d+-16>>2]|0)+8|0;c[w>>2]=(c[w>>2]|0)+1;lU(C,A+(c[(c[y>>2]|0)+-12>>2]|0)|0);w=j0a(88)|0;Uha(w,1);d=w+12|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[w+24>>2]=2;d=w+28|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[d+12>>2]=0;c[d+16>>2]=0;c[d+20>>2]=0;c[w+52>>2]=29;c[w+56>>2]=4;c[w+60>>2]=5126;c[w+64>>2]=-1;a[w+68>>0]=0;a[w+69>>0]=0;d=w+76|0;c[d>>2]=0;e=w+80|0;c[e>>2]=0;v=w+84|0;c[v>>2]=0;c[w>>2]=76848;c[w+72>>2]=77088;x=w+8|0;c[x>>2]=(c[x>>2]|0)+1;g[z>>2]=1.0;g[z+4>>2]=1.0;g[z+8>>2]=1.0;g[z+12>>2]=1.0;f=c[e>>2]|0;if((f|0)==(c[v>>2]|0))rK(d,z);else{c[f>>2]=c[z>>2];c[f+4>>2]=c[z+4>>2];c[f+8>>2]=c[z+8>>2];c[f+12>>2]=c[z+12>>2];c[e>>2]=(c[e>>2]|0)+16}yS(C,w,1);s=j0a(88)|0;Uha(s,1);e=s+12|0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[s+24>>2]=2;e=s+28|0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[e+12>>2]=0;c[e+16>>2]=0;c[e+20>>2]=0;c[s+52>>2]=28;c[s+56>>2]=3;c[s+60>>2]=5126;c[s+64>>2]=-1;a[s+68>>0]=0;a[s+69>>0]=0;e=s+76|0;c[e>>2]=0;f=s+80|0;c[f>>2]=0;c[s+84>>2]=0;c[s>>2]=77572;c[s+72>>2]=77812;t=s+8|0;c[t>>2]=(c[t>>2]|0)+1;aw(C,s);u=j0a(88)|0;Uha(u,1);j=u+12|0;c[j>>2]=0;c[j+4>>2]=0;c[j+8>>2]=0;c[u+24>>2]=2;j=u+28|0;c[j>>2]=0;c[j+4>>2]=0;c[j+8>>2]=0;c[j+12>>2]=0;c[j+16>>2]=0;c[j+20>>2]=0;c[u+52>>2]=27;c[u+56>>2]=2;c[u+60>>2]=5126;c[u+64>>2]=-1;a[u+68>>0]=0;a[u+69>>0]=0;j=u+76|0;c[j>>2]=0;k=u+80|0;c[k>>2]=0;c[u+84>>2]=0;c[u>>2]=81444;c[u+72>>2]=81684;v=u+8|0;c[v>>2]=(c[v>>2]|0)+1;cw(C,0,u,-1);g[z>>2]=0.0;g[z+4>>2]=0.0;g[z+8>>2]=0.0;h=c[e>>2]|0;i=(c[f>>2]|0)-h|0;d=(i|0)/12|0;if(d>>>0>=49){if((i|0)!=588)c[f>>2]=h+588}else XL(e,49-d|0,z);g[z>>2]=0.0;g[z+4>>2]=0.0;d=c[j>>2]|0;e=(c[k>>2]|0)-d|0;f=e>>3;if(f>>>0>=49){if((e|0)!=392)c[k>>2]=d+392}else{WS(j,49-f|0,z);d=c[j>>2]|0}g[d>>2]=0.0;g[d+4>>2]=0.0;g[d+8>>2]=.1666666716337204;g[d+12>>2]=0.0;g[d+16>>2]=.3333333432674408;g[d+20>>2]=0.0;g[d+24>>2]=.5;g[d+28>>2]=0.0;g[d+32>>2]=.6666666865348816;g[d+36>>2]=0.0;g[d+40>>2]=.8333333134651184;g[d+44>>2]=0.0;g[d+48>>2]=1.0;g[d+52>>2]=0.0;g[d+56>>2]=0.0;g[d+60>>2]=.1666666716337204;g[d+64>>2]=.1666666716337204;g[d+68>>2]=.1666666716337204;g[d+72>>2]=.3333333432674408;g[d+76>>2]=.1666666716337204;g[d+80>>2]=.5;g[d+84>>2]=.1666666716337204;g[d+88>>2]=.6666666865348816;g[d+92>>2]=.1666666716337204;g[d+96>>2]=.8333333134651184;g[d+100>>2]=.1666666716337204;g[d+104>>2]=1.0;g[d+108>>2]=.1666666716337204;g[d+112>>2]=0.0;g[d+116>>2]=.3333333432674408;g[d+120>>2]=.1666666716337204;g[d+124>>2]=.3333333432674408;g[d+128>>2]=.3333333432674408;g[d+132>>2]=.3333333432674408;g[d+136>>2]=.5;g[d+140>>2]=.3333333432674408;g[d+144>>2]=.6666666865348816;g[d+148>>2]=.3333333432674408;g[d+152>>2]=.8333333134651184;g[d+156>>2]=.3333333432674408;g[d+160>>2]=1.0;g[d+164>>2]=.3333333432674408;g[d+168>>2]=0.0;g[d+172>>2]=.5;g[d+176>>2]=.1666666716337204;g[d+180>>2]=.5;g[d+184>>2]=.3333333432674408;g[d+188>>2]=.5;g[d+192>>2]=.5;g[d+196>>2]=.5;g[d+200>>2]=.6666666865348816;g[d+204>>2]=.5;g[d+208>>2]=.8333333134651184;g[d+212>>2]=.5;g[d+216>>2]=1.0;g[d+220>>2]=.5;g[d+224>>2]=0.0;g[d+228>>2]=.6666666865348816;g[d+232>>2]=.1666666716337204;g[d+236>>2]=.6666666865348816;g[d+240>>2]=.3333333432674408;g[d+244>>2]=.6666666865348816;g[d+248>>2]=.5;g[d+252>>2]=.6666666865348816;g[d+256>>2]=.6666666865348816;g[d+260>>2]=.6666666865348816;g[d+264>>2]=.8333333134651184;g[d+268>>2]=.6666666865348816;g[d+272>>2]=1.0;g[d+276>>2]=.6666666865348816;g[d+280>>2]=0.0;g[d+284>>2]=.8333333134651184;g[d+288>>2]=.1666666716337204;g[d+292>>2]=.8333333134651184;g[d+296>>2]=.3333333432674408;g[d+300>>2]=.8333333134651184;g[d+304>>2]=.5;g[d+308>>2]=.8333333134651184;g[d+312>>2]=.6666666865348816;g[d+316>>2]=.8333333134651184;g[d+320>>2]=.8333333134651184;g[d+324>>2]=.8333333134651184;g[d+328>>2]=1.0;g[d+332>>2]=.8333333134651184;g[d+336>>2]=0.0;g[d+340>>2]=1.0;g[d+344>>2]=.1666666716337204;g[d+348>>2]=1.0;g[d+352>>2]=.3333333432674408;g[d+356>>2]=1.0;g[d+360>>2]=.5;g[d+364>>2]=1.0;g[d+368>>2]=.6666666865348816;g[d+372>>2]=1.0;g[d+376>>2]=.8333333134651184;g[d+380>>2]=1.0;g[d+384>>2]=1.0;g[d+388>>2]=1.0;q=j0a(80)|0;Uha(q,1);m=q+12|0;c[m>>2]=0;c[m+4>>2]=0;c[m+8>>2]=0;c[q+24>>2]=2;m=q+28|0;c[m>>2]=0;c[m+4>>2]=0;c[m+8>>2]=0;c[m+12>>2]=0;c[m+16>>2]=0;c[m+20>>2]=0;c[q+52>>2]=4;c[q+56>>2]=0;c[q+60>>2]=4;m=q+68|0;c[m>>2]=0;n=q+72|0;c[n>>2]=0;o=q+76|0;c[o>>2]=0;c[q>>2]=76568;c[q+64>>2]=76832;r=q+8|0;c[r>>2]=(c[r>>2]|0)+1;qK(C,q)|0;k=0;do{p=k*7|0;j=0;do{i=j+p|0;h=i+7&65535;b[z>>1]=h;d=c[n>>2]|0;e=c[o>>2]|0;if((d|0)==(e|0)){ML(m,z);f=c[n>>2]|0;e=c[o>>2]|0}else{b[d>>1]=h;f=d+2|0;c[n>>2]=f}d=i&65535;b[z>>1]=d;if((f|0)==(e|0)){ML(m,z);d=c[n>>2]|0;e=c[o>>2]|0}else{b[f>>1]=d;d=f+2|0;c[n>>2]=d}f=i+1&65535;b[z>>1]=f;if((d|0)==(e|0)){ML(m,z);d=c[n>>2]|0;e=c[o>>2]|0}else{b[d>>1]=f;d=d+2|0;c[n>>2]=d}b[z>>1]=h;if((d|0)==(e|0)){ML(m,z);d=c[n>>2]|0;e=c[o>>2]|0}else{b[d>>1]=h;d=d+2|0;c[n>>2]=d}b[z>>1]=f;if((d|0)==(e|0)){ML(m,z);f=c[n>>2]|0;e=c[o>>2]|0}else{b[d>>1]=f;f=d+2|0;c[n>>2]=f}d=i+8&65535;b[z>>1]=d;if((f|0)==(e|0))ML(m,z);else{b[f>>1]=d;c[n>>2]=f+2}j=j+1|0}while(j>>>0<6);k=k+1|0}while(k>>>0<6);A2(qR(C)|0,2896,0);d=qR(C)|0;c[z>>2]=0;c[z+4>>2]=0;c[z+8>>2]=0;e=z+11|0;a[e>>0]=9;f=z;h=186301;i=f+9|0;do{a[f>>0]=a[h>>0]|0;f=f+1|0;h=h+1|0}while((f|0)<(i|0));a[z+9>>0]=0;sia(d,0,z,1);if((a[e>>0]|0)<0)l0a(c[z>>2]|0);p=qR(C)|0;z=j0a(64)|0;PU(z);F2(p,z,5);Dua(A,C);Wha(B)|0;z=c[r>>2]|0;c[r>>2]=z-1;if((z|0)==1)UU(q,1,1);z=c[v>>2]|0;c[v>>2]=z-1;if((z|0)==1)UU(u,1,1);z=c[t>>2]|0;c[t>>2]=z-1;if((z|0)==1)UU(s,1,1);z=c[x>>2]|0;c[x>>2]=z-1;if((z|0)==1)UU(w,1,1);d=A+(c[(c[y>>2]|0)+-16>>2]|0)|0;z=d+8|0;A=c[z>>2]|0;c[z>>2]=A-1;if((A|0)==1)UU(d,1,1);A=c[D>>2]|0;c[D>>2]=A-1;if((A|0)!=1){l=E;return B|0}UU(C,1,1);l=E;return B|0}function Cua(b){b=b|0;var d=0,e=0,f=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0.0,F=0,G=0.0,H=0;D=l;l=l+32|0;n=D+24|0;z=D+8|0;u=D;A=j0a(160)|0;vS(A);B=A+8|0;c[B>>2]=(c[B>>2]|0)+1;B=j0a(280)|0;wS(B);C=B+8|0;c[C>>2]=(c[C>>2]|0)+1;kk[c[(c[A>>2]|0)+264>>2]&511](A,B)|0;jS(B,0);y=j0a(48)|0;e=y+16|0;Tha(e);x=y+28|0;c[x>>2]=0;c[x+4>>2]=0;c[x+8>>2]=0;c[y+40>>2]=2;c[y+44>>2]=0;c[y+12>>2]=0;c[y>>2]=101552;c[y+8>>2]=101708;c[e>>2]=101980;c[y+4>>2]=b;e=(b|0)==0;if(e){x=y;d=101552}else{x=b+8|0;c[x>>2]=(c[x>>2]|0)+1;x=y;d=c[y>>2]|0}f=y+(c[d+-16>>2]|0)+8|0;c[f>>2]=(c[f>>2]|0)+1;lU(B,y+(c[(c[x>>2]|0)+-12>>2]|0)|0);f=j0a(48)|0;w=f+16|0;Tha(w);v=f+28|0;c[v>>2]=0;c[v+4>>2]=0;c[v+8>>2]=0;c[f+40>>2]=2;c[f+44>>2]=0;c[f+12>>2]=0;c[f>>2]=102160;c[f+8>>2]=102316;c[w>>2]=102588;c[f+4>>2]=b;if(e)d=102160;else{d=b+8|0;c[d>>2]=(c[d>>2]|0)+1;d=c[f>>2]|0}d=f+(c[d+-12>>2]|0)|0;e=B+100|0;f=c[e>>2]|0;if(((f|0)!=(d|0)?(c[e>>2]=d,w=d+(c[(c[d>>2]|0)+-12>>2]|0)+8|0,c[w>>2]=(c[w>>2]|0)+1,f|0):0)?(h=f+(c[(c[f>>2]|0)+-12>>2]|0)|0,v=h+8|0,w=c[v>>2]|0,c[v>>2]=w-1,(w|0)==1):0)UU(h,1,1);v=j0a(88)|0;Uha(v,1);f=v+12|0;c[f>>2]=0;c[f+4>>2]=0;c[f+8>>2]=0;c[v+24>>2]=2;f=v+28|0;c[f>>2]=0;c[f+4>>2]=0;c[f+8>>2]=0;c[f+12>>2]=0;c[f+16>>2]=0;c[f+20>>2]=0;c[v+52>>2]=29;c[v+56>>2]=4;c[v+60>>2]=5126;c[v+64>>2]=-1;a[v+68>>0]=0;a[v+69>>0]=0;f=v+76|0;c[f>>2]=0;h=v+80|0;c[h>>2]=0;t=v+84|0;c[t>>2]=0;c[v>>2]=76848;c[v+72>>2]=77088;w=v+8|0;c[w>>2]=(c[w>>2]|0)+1;d=b+36|0;e=c[h>>2]|0;if((e|0)==(c[t>>2]|0))rK(f,d);else{c[e>>2]=c[d>>2];c[e+4>>2]=c[d+4>>2];c[e+8>>2]=c[d+8>>2];c[e+12>>2]=c[d+12>>2];c[h>>2]=(c[h>>2]|0)+16}yS(B,v,1);t=j0a(88)|0;Uha(t,1);o=t+12|0;c[o>>2]=0;c[o+4>>2]=0;c[o+8>>2]=0;c[t+24>>2]=2;o=t+28|0;c[o>>2]=0;c[o+4>>2]=0;c[o+8>>2]=0;c[o+12>>2]=0;c[o+16>>2]=0;c[o+20>>2]=0;c[t+52>>2]=28;c[t+56>>2]=3;c[t+60>>2]=5126;c[t+64>>2]=-1;a[t+68>>0]=0;a[t+69>>0]=0;o=t+76|0;c[o>>2]=0;p=t+80|0;c[p>>2]=0;c[t+84>>2]=0;c[t>>2]=77572;c[t+72>>2]=77812;q=t+8|0;c[q>>2]=(c[q>>2]|0)+1;aw(B,t);r=j0a(88)|0;Uha(r,1);j=r+12|0;c[j>>2]=0;c[j+4>>2]=0;c[j+8>>2]=0;c[r+24>>2]=2;j=r+28|0;c[j>>2]=0;c[j+4>>2]=0;c[j+8>>2]=0;c[j+12>>2]=0;c[j+16>>2]=0;c[j+20>>2]=0;c[r+52>>2]=27;c[r+56>>2]=2;c[r+60>>2]=5126;c[r+64>>2]=-1;a[r+68>>0]=0;a[r+69>>0]=0;j=r+76|0;c[j>>2]=0;k=r+80|0;c[k>>2]=0;m=r+84|0;c[m>>2]=0;c[r>>2]=81444;c[r+72>>2]=81684;s=r+8|0;c[s>>2]=(c[s>>2]|0)+1;cw(B,0,r,-1);g[n>>2]=0.0;i=n+4|0;g[i>>2]=0.0;d=c[k>>2]|0;e=d-(c[j>>2]|0)>>3;if((c[m>>2]|0)==(d|0)){MW(j,n);d=c[k>>2]|0}else{h=n;b=c[h+4>>2]|0;c[d>>2]=c[h>>2];c[d+4>>2]=b;d=(c[k>>2]|0)+8|0;c[k>>2]=d}E=+g[i>>2]+0.0;g[z>>2]=+g[n>>2]+1.0;g[z+4>>2]=E;if((d|0)==(c[m>>2]|0)){MW(j,z);d=c[k>>2]|0}else{h=z;b=c[h+4>>2]|0;c[d>>2]=c[h>>2];c[d+4>>2]=b;d=(c[k>>2]|0)+8|0;c[k>>2]=d}E=+g[i>>2]+0.0+1.0;g[z>>2]=+g[n>>2]+1.0+0.0;g[z+4>>2]=E;if((d|0)==(c[m>>2]|0)){MW(j,z);d=c[k>>2]|0}else{h=z;b=c[h+4>>2]|0;c[d>>2]=c[h>>2];c[d+4>>2]=b;d=(c[k>>2]|0)+8|0;c[k>>2]=d}E=+g[i>>2]+1.0;g[z>>2]=+g[n>>2]+0.0;g[z+4>>2]=E;if((d|0)==(c[m>>2]|0))MW(j,z);else{f=z;h=c[f+4>>2]|0;b=d;c[b>>2]=c[f>>2];c[b+4>>2]=h;c[k>>2]=(c[k>>2]|0)+8}d=j0a(72)|0;Uha(d,1);h=d+12|0;c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;c[d+24>>2]=2;h=d+28|0;c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;c[h+12>>2]=0;c[h+16>>2]=0;c[h+20>>2]=0;c[d+52>>2]=1;c[d+56>>2]=0;c[d+60>>2]=2;c[d>>2]=80360;c[d+64>>2]=e;c[d+68>>2]=4;qK(B,d)|0;d=c[k>>2]|0;h=d-(c[j>>2]|0)>>3;f=n;e=c[f>>2]|0;f=c[f+4>>2]|0;b=z;c[b>>2]=e;c[b+4>>2]=f;b=z+4|0;if((c[m>>2]|0)==(d|0)){MW(j,z);d=c[k>>2]|0}else{c[d>>2]=e;c[d+4>>2]=f;d=(c[k>>2]|0)+8|0;c[k>>2]=d}g[z>>2]=+g[z>>2]+.1666666716337204;g[b>>2]=+g[b>>2]+.1666666716337204;if((d|0)==(c[m>>2]|0)){MW(j,z);d=c[k>>2]|0}else{e=z;f=c[e+4>>2]|0;c[d>>2]=c[e>>2];c[d+4>>2]=f;d=(c[k>>2]|0)+8|0;c[k>>2]=d}g[z>>2]=+g[z>>2]+.1666666716337204;g[b>>2]=+g[b>>2]+.1666666716337204;if((d|0)==(c[m>>2]|0)){MW(j,z);d=c[k>>2]|0}else{e=z;f=c[e+4>>2]|0;c[d>>2]=c[e>>2];c[d+4>>2]=f;d=(c[k>>2]|0)+8|0;c[k>>2]=d}g[z>>2]=+g[z>>2]+.1666666716337204;g[b>>2]=+g[b>>2]+.1666666716337204;if((d|0)==(c[m>>2]|0)){MW(j,z);d=c[k>>2]|0}else{e=z;f=c[e+4>>2]|0;c[d>>2]=c[e>>2];c[d+4>>2]=f;d=(c[k>>2]|0)+8|0;c[k>>2]=d}g[z>>2]=+g[z>>2]+.1666666716337204;g[b>>2]=+g[b>>2]+.1666666716337204;if((d|0)==(c[m>>2]|0)){MW(j,z);d=c[k>>2]|0}else{e=z;f=c[e+4>>2]|0;c[d>>2]=c[e>>2];c[d+4>>2]=f;d=(c[k>>2]|0)+8|0;c[k>>2]=d}g[z>>2]=+g[z>>2]+.1666666716337204;g[b>>2]=+g[b>>2]+.1666666716337204;if((d|0)==(c[m>>2]|0)){MW(j,z);d=c[k>>2]|0}else{e=z;f=c[e+4>>2]|0;c[d>>2]=c[e>>2];c[d+4>>2]=f;d=(c[k>>2]|0)+8|0;c[k>>2]=d}g[z>>2]=+g[z>>2]+.1666666716337204;g[b>>2]=+g[b>>2]+.1666666716337204;if((d|0)==(c[m>>2]|0))MW(j,z);else{F=z;e=c[F+4>>2]|0;f=d;c[f>>2]=c[F>>2];c[f+4>>2]=e;c[k>>2]=(c[k>>2]|0)+8}g[z>>2]=+g[z>>2]+.1666666716337204;g[b>>2]=+g[b>>2]+.1666666716337204;d=j0a(72)|0;Uha(d,1);e=d+12|0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[d+24>>2]=2;e=d+28|0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[e+12>>2]=0;c[e+16>>2]=0;c[e+20>>2]=0;c[d+52>>2]=1;c[d+56>>2]=0;c[d+60>>2]=3;c[d>>2]=80360;c[d+64>>2]=h;c[d+68>>2]=7;qK(B,d)|0;d=c[k>>2]|0;e=d-(c[j>>2]|0)>>3;E=+g[i>>2]+1.0;g[z>>2]=+g[n>>2]+0.0;g[z+4>>2]=E;if((c[m>>2]|0)==(d|0)){MW(j,z);d=c[k>>2]|0}else{h=z;F=c[h+4>>2]|0;c[d>>2]=c[h>>2];c[d+4>>2]=F;d=(c[k>>2]|0)+8|0;c[k>>2]=d}g[z>>2]=+g[z>>2]+.1666666716337204;g[b>>2]=+g[b>>2]+-.1666666716337204;if((d|0)==(c[m>>2]|0)){MW(j,z);d=c[k>>2]|0}else{h=z;F=c[h+4>>2]|0;c[d>>2]=c[h>>2];c[d+4>>2]=F;d=(c[k>>2]|0)+8|0;c[k>>2]=d}g[z>>2]=+g[z>>2]+.1666666716337204;g[b>>2]=+g[b>>2]+-.1666666716337204;if((d|0)==(c[m>>2]|0)){MW(j,z);d=c[k>>2]|0}else{h=z;F=c[h+4>>2]|0;c[d>>2]=c[h>>2];c[d+4>>2]=F;d=(c[k>>2]|0)+8|0;c[k>>2]=d}g[z>>2]=+g[z>>2]+.1666666716337204;g[b>>2]=+g[b>>2]+-.1666666716337204;if((d|0)==(c[m>>2]|0)){MW(j,z);d=c[k>>2]|0}else{h=z;F=c[h+4>>2]|0;c[d>>2]=c[h>>2];c[d+4>>2]=F;d=(c[k>>2]|0)+8|0;c[k>>2]=d}g[z>>2]=+g[z>>2]+.1666666716337204;g[b>>2]=+g[b>>2]+-.1666666716337204;if((d|0)==(c[m>>2]|0)){MW(j,z);d=c[k>>2]|0}else{h=z;F=c[h+4>>2]|0;c[d>>2]=c[h>>2];c[d+4>>2]=F;d=(c[k>>2]|0)+8|0;c[k>>2]=d}g[z>>2]=+g[z>>2]+.1666666716337204;g[b>>2]=+g[b>>2]+-.1666666716337204;if((d|0)==(c[m>>2]|0)){MW(j,z);d=c[k>>2]|0}else{h=z;F=c[h+4>>2]|0;c[d>>2]=c[h>>2];c[d+4>>2]=F;d=(c[k>>2]|0)+8|0;c[k>>2]=d}g[z>>2]=+g[z>>2]+.1666666716337204;g[b>>2]=+g[b>>2]+-.1666666716337204;if((d|0)==(c[m>>2]|0))MW(j,z);else{f=z;h=c[f+4>>2]|0;F=d;c[F>>2]=c[f>>2];c[F+4>>2]=h;c[k>>2]=(c[k>>2]|0)+8}g[z>>2]=+g[z>>2]+.1666666716337204;g[b>>2]=+g[b>>2]+-.1666666716337204;d=j0a(72)|0;Uha(d,1);h=d+12|0;c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;c[d+24>>2]=2;h=d+28|0;c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;c[h+12>>2]=0;c[h+16>>2]=0;c[h+20>>2]=0;c[d+52>>2]=1;c[d+56>>2]=0;c[d+60>>2]=3;c[d>>2]=80360;c[d+64>>2]=e;c[d+68>>2]=7;qK(B,d)|0;d=c[k>>2]|0;h=d-(c[j>>2]|0)>>3;G=+g[n>>2]+.1666666716337204;E=+g[i>>2]+0.0;g[z>>2]=G;e=z+4|0;g[e>>2]=E;g[u>>2]=G+0.0;f=u+4|0;g[f>>2]=E+1.0;if((c[m>>2]|0)==(d|0)){MW(j,z);d=c[k>>2]|0}else{b=z;F=c[b+4>>2]|0;c[d>>2]=c[b>>2];c[d+4>>2]=F;d=(c[k>>2]|0)+8|0;c[k>>2]=d}if((d|0)==(c[m>>2]|0)){MW(j,u);d=c[k>>2]|0}else{b=u;F=c[b+4>>2]|0;c[d>>2]=c[b>>2];c[d+4>>2]=F;d=(c[k>>2]|0)+8|0;c[k>>2]=d}g[z>>2]=+g[z>>2]+.1666666716337204;g[e>>2]=+g[e>>2]+0.0;g[u>>2]=+g[u>>2]+.1666666716337204;g[f>>2]=+g[f>>2]+0.0;if((d|0)==(c[m>>2]|0)){MW(j,z);d=c[k>>2]|0}else{b=z;F=c[b+4>>2]|0;c[d>>2]=c[b>>2];c[d+4>>2]=F;d=(c[k>>2]|0)+8|0;c[k>>2]=d}if((d|0)==(c[m>>2]|0)){MW(j,u);d=c[k>>2]|0}else{b=u;F=c[b+4>>2]|0;c[d>>2]=c[b>>2];c[d+4>>2]=F;d=(c[k>>2]|0)+8|0;c[k>>2]=d}g[z>>2]=+g[z>>2]+.1666666716337204;g[e>>2]=+g[e>>2]+0.0;g[u>>2]=+g[u>>2]+.1666666716337204;g[f>>2]=+g[f>>2]+0.0;if((d|0)==(c[m>>2]|0)){MW(j,z);d=c[k>>2]|0}else{b=z;F=c[b+4>>2]|0;c[d>>2]=c[b>>2];c[d+4>>2]=F;d=(c[k>>2]|0)+8|0;c[k>>2]=d}if((d|0)==(c[m>>2]|0)){MW(j,u);d=c[k>>2]|0}else{b=u;F=c[b+4>>2]|0;c[d>>2]=c[b>>2];c[d+4>>2]=F;d=(c[k>>2]|0)+8|0;c[k>>2]=d}g[z>>2]=+g[z>>2]+.1666666716337204;g[e>>2]=+g[e>>2]+0.0;g[u>>2]=+g[u>>2]+.1666666716337204;g[f>>2]=+g[f>>2]+0.0;if((d|0)==(c[m>>2]|0)){MW(j,z);d=c[k>>2]|0}else{b=z;F=c[b+4>>2]|0;c[d>>2]=c[b>>2];c[d+4>>2]=F;d=(c[k>>2]|0)+8|0;c[k>>2]=d}if((d|0)==(c[m>>2]|0)){MW(j,u);d=c[k>>2]|0}else{b=u;F=c[b+4>>2]|0;c[d>>2]=c[b>>2];c[d+4>>2]=F;d=(c[k>>2]|0)+8|0;c[k>>2]=d}g[z>>2]=+g[z>>2]+.1666666716337204;g[e>>2]=+g[e>>2]+0.0;g[u>>2]=+g[u>>2]+.1666666716337204;g[f>>2]=+g[f>>2]+0.0;if((d|0)==(c[m>>2]|0)){MW(j,z);d=c[k>>2]|0}else{b=z;F=c[b+4>>2]|0;c[d>>2]=c[b>>2];c[d+4>>2]=F;d=(c[k>>2]|0)+8|0;c[k>>2]=d}if((d|0)==(c[m>>2]|0))MW(j,u);else{H=u;b=c[H+4>>2]|0;F=d;c[F>>2]=c[H>>2];c[F+4>>2]=b;c[k>>2]=(c[k>>2]|0)+8}g[z>>2]=+g[z>>2]+.1666666716337204;g[e>>2]=+g[e>>2]+0.0;g[u>>2]=+g[u>>2]+.1666666716337204;g[f>>2]=+g[f>>2]+0.0;d=j0a(72)|0;Uha(d,1);e=d+12|0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[d+24>>2]=2;e=d+28|0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[e+12>>2]=0;c[e+16>>2]=0;c[e+20>>2]=0;c[d+52>>2]=1;c[d+56>>2]=0;c[d+60>>2]=1;c[d>>2]=80360;c[d+64>>2]=h;c[d+68>>2]=10;qK(B,d)|0;d=c[k>>2]|0;h=d-(c[j>>2]|0)>>3;E=+g[n>>2]+0.0;G=+g[i>>2]+.1666666716337204;g[z>>2]=E;e=z+4|0;g[e>>2]=G;g[u>>2]=E+1.0;f=u+4|0;g[f>>2]=G+0.0;if((c[m>>2]|0)==(d|0)){MW(j,z);d=c[k>>2]|0}else{F=z;H=c[F+4>>2]|0;c[d>>2]=c[F>>2];c[d+4>>2]=H;d=(c[k>>2]|0)+8|0;c[k>>2]=d}if((d|0)==(c[m>>2]|0)){MW(j,u);d=c[k>>2]|0}else{F=u;H=c[F+4>>2]|0;c[d>>2]=c[F>>2];c[d+4>>2]=H;d=(c[k>>2]|0)+8|0;c[k>>2]=d}g[z>>2]=+g[z>>2]+0.0;g[e>>2]=+g[e>>2]+.1666666716337204;g[u>>2]=+g[u>>2]+0.0;g[f>>2]=+g[f>>2]+.1666666716337204;if((d|0)==(c[m>>2]|0)){MW(j,z);d=c[k>>2]|0}else{F=z;H=c[F+4>>2]|0;c[d>>2]=c[F>>2];c[d+4>>2]=H;d=(c[k>>2]|0)+8|0;c[k>>2]=d}if((d|0)==(c[m>>2]|0)){MW(j,u);d=c[k>>2]|0}else{F=u;H=c[F+4>>2]|0;c[d>>2]=c[F>>2];c[d+4>>2]=H;d=(c[k>>2]|0)+8|0;c[k>>2]=d}g[z>>2]=+g[z>>2]+0.0;g[e>>2]=+g[e>>2]+.1666666716337204;g[u>>2]=+g[u>>2]+0.0;g[f>>2]=+g[f>>2]+.1666666716337204;if((d|0)==(c[m>>2]|0)){MW(j,z);d=c[k>>2]|0}else{F=z;H=c[F+4>>2]|0;c[d>>2]=c[F>>2];c[d+4>>2]=H;d=(c[k>>2]|0)+8|0;c[k>>2]=d}if((d|0)==(c[m>>2]|0)){MW(j,u);d=c[k>>2]|0}else{F=u;H=c[F+4>>2]|0;c[d>>2]=c[F>>2];c[d+4>>2]=H;d=(c[k>>2]|0)+8|0;c[k>>2]=d}g[z>>2]=+g[z>>2]+0.0;g[e>>2]=+g[e>>2]+.1666666716337204;g[u>>2]=+g[u>>2]+0.0;g[f>>2]=+g[f>>2]+.1666666716337204;if((d|0)==(c[m>>2]|0)){MW(j,z);d=c[k>>2]|0}else{F=z;H=c[F+4>>2]|0;c[d>>2]=c[F>>2];c[d+4>>2]=H;d=(c[k>>2]|0)+8|0;c[k>>2]=d}if((d|0)==(c[m>>2]|0)){MW(j,u);d=c[k>>2]|0}else{F=u;H=c[F+4>>2]|0;c[d>>2]=c[F>>2];c[d+4>>2]=H;d=(c[k>>2]|0)+8|0;c[k>>2]=d}g[z>>2]=+g[z>>2]+0.0;g[e>>2]=+g[e>>2]+.1666666716337204;g[u>>2]=+g[u>>2]+0.0;g[f>>2]=+g[f>>2]+.1666666716337204;if((d|0)==(c[m>>2]|0)){MW(j,z);d=c[k>>2]|0}else{F=z;H=c[F+4>>2]|0;c[d>>2]=c[F>>2];c[d+4>>2]=H;d=(c[k>>2]|0)+8|0;c[k>>2]=d}if((d|0)==(c[m>>2]|0))MW(j,u);else{n=u;F=c[n+4>>2]|0;H=d;c[H>>2]=c[n>>2];c[H+4>>2]=F;c[k>>2]=(c[k>>2]|0)+8}g[z>>2]=+g[z>>2]+0.0;g[e>>2]=+g[e>>2]+.1666666716337204;g[u>>2]=+g[u>>2]+0.0;g[f>>2]=+g[f>>2]+.1666666716337204;e=j0a(72)|0;Uha(e,1);f=e+12|0;c[f>>2]=0;c[f+4>>2]=0;c[f+8>>2]=0;c[e+24>>2]=2;f=e+28|0;c[f>>2]=0;c[f+4>>2]=0;c[f+8>>2]=0;c[f+12>>2]=0;c[f+16>>2]=0;c[f+20>>2]=0;c[e+52>>2]=1;c[e+56>>2]=0;c[e+60>>2]=1;c[e>>2]=80360;c[e+64>>2]=h;c[e+68>>2]=10;qK(B,e)|0;e=(c[k>>2]|0)-(c[j>>2]|0)>>3;g[z>>2]=0.0;g[z+4>>2]=0.0;g[z+8>>2]=0.0;f=c[o>>2]|0;d=((c[p>>2]|0)-f|0)/12|0;do if(e>>>0>d>>>0)XL(o,e-d|0,z);else{if(e>>>0>=d>>>0)break;c[p>>2]=f+(e*12|0)}while(0);A2(qR(B)|0,2896,0);A2(qR(B)|0,2929,0);d=qR(B)|0;c[z>>2]=0;c[z+4>>2]=0;c[z+8>>2]=0;e=z+11|0;a[e>>0]=9;f=z;h=186301;b=f+9|0;do{a[f>>0]=a[h>>0]|0;f=f+1|0;h=h+1|0}while((f|0)<(b|0));a[z+9>>0]=0;sia(d,1,z,1);if((a[e>>0]|0)<0)l0a(c[z>>2]|0);Dua(y,B);Wha(A)|0;H=c[s>>2]|0;c[s>>2]=H-1;if((H|0)==1)UU(r,1,1);H=c[q>>2]|0;c[q>>2]=H-1;if((H|0)==1)UU(t,1,1);H=c[w>>2]|0;c[w>>2]=H-1;if((H|0)==1)UU(v,1,1);d=y+(c[(c[x>>2]|0)+-16>>2]|0)|0;F=d+8|0;H=c[F>>2]|0;c[F>>2]=H-1;if((H|0)==1)UU(d,1,1);H=c[C>>2]|0;c[C>>2]=H-1;if((H|0)!=1){l=D;return A|0}UU(B,1,1);l=D;return A|0}function Dua(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,h=0.0,i=0.0,j=0,k=0.0,m=0,n=0.0,o=0,p=0.0,q=0,r=0.0,s=0,t=0.0,u=0,v=0.0,w=0,x=0.0,y=0,z=0,A=0.0,B=0.0,C=0,D=0.0,E=0,F=0,G=0,H=0,I=0,J=0.0,K=0.0,L=0.0,M=0.0,N=0.0;I=l;l=l+48|0;z=I+36|0;F=I+24|0;u=I+12|0;o=I;if(!b){l=I;return}d=c[b+232>>2]|0;if(!d){l=I;return}e=y1a(d,43064,45280,0)|0;if(!e){l=I;return}d=xS(b,0)|0;if(!d){l=I;return}f=y1a(d,43064,46800,0)|0;if(!f){l=I;return}g[z>>2]=0.0;w=z+4|0;g[w>>2]=0.0;y=z+8|0;g[y>>2]=0.0;g[F>>2]=0.0;C=F+4|0;g[C>>2]=0.0;E=F+8|0;g[E>>2]=0.0;g[u>>2]=0.0;q=u+4|0;g[q>>2]=0.0;s=u+8|0;g[s>>2]=0.0;g[o>>2]=0.0;j=o+4|0;g[j>>2]=0.0;m=o+8|0;g[m>>2]=0.0;H=c[a+4>>2]|0;Eua(H,c[(vt()|0)>>2]|0,z,F,u,o);H=e+76|0;G=e+80|0;d=c[H>>2]|0;if((c[G>>2]|0)!=(d|0)){e=f+76|0;D=+g[o>>2];B=+g[j>>2];A=+g[m>>2];x=+g[u>>2];v=+g[q>>2];t=+g[s>>2];r=+g[z>>2];p=+g[w>>2];n=+g[y>>2];k=+g[F>>2];i=+g[C>>2];h=+g[E>>2];a=0;do{F=d;E=c[e>>2]|0;N=+g[E+(a<<3)>>2];K=1.0-N;J=+g[E+(a<<3)+4>>2];L=1.0-J;M=K*L;L=N*L;K=K*J;J=N*J;g[F+(a*12|0)>>2]=D*M+L*x+K*r+J*k;g[F+(a*12|0)+4>>2]=B*M+L*v+K*p+J*i;g[F+(a*12|0)+8>>2]=M*A+L*t+K*n+J*h;a=a+1|0;d=c[H>>2]|0}while(a>>>0<(((c[G>>2]|0)-d|0)/12|0)>>>0)}Qv(b);l=I;return}function Eua(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var i=0.0,j=0.0,k=0.0,l=0,m=0.0,n=0.0,o=0.0,p=0.0,q=0,r=0.0,s=0,t=0.0,u=0,v=0,w=0.0,x=0.0;u=a+104|0;k=+h[u>>3];q=a+72|0;n=+h[q>>3];x=k-n;v=a+112|0;m=+h[v>>3];s=a+80|0;o=+h[s>>3];j=m-o;j=+B(+(x*x+j*j));x=+h[a+88>>3];l=a+56|0;i=+h[l>>3];t=x-i;w=+h[a+96>>3];a=a+64|0;p=+h[a>>3];r=w-p;r=j/+B(+(t*t+r*r));t=+B(+r);k=k-x;m=m-w;i=n-i;p=o-p;p=+B(+(k*k+m*m))/+B(+(i*i+p*p));i=+B(+p);m=+g[b+28>>2]*.5;k=+g[b+32>>2]*.5;o=-+g[b+36>>2];n=t;j=o*n;p=i/p;g[c>>2]=x*m*n*p;g[c+4>>2]=w*k*n*p;g[c+8>>2]=j*p;r=t/r;o=o*r;t=r*(k*+h[v>>3])*p;g[d>>2]=r*(m*+h[u>>3])*p;g[d+4>>2]=t;g[d+8>>2]=o*p;p=r*(k*+h[s>>3])*i;g[e>>2]=r*(m*+h[q>>3])*i;g[e+4>>2]=p;g[e+8>>2]=o*i;k=n*(k*+h[a>>3])*i;g[f>>2]=n*(m*+h[l>>3])*i;g[f+4>>2]=k;g[f+8>>2]=j*i;return}function Fua(a){a=a|0;var b=0,d=0;b=j0a(48)|0;a=b+16|0;Tha(a);d=b+28|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[b+40>>2]=2;c[b+44>>2]=0;c[b+12>>2]=0;c[b>>2]=102160;c[b+8>>2]=102316;c[a>>2]=102588;c[b+4>>2]=0;return a|0}function Gua(a,b){a=a|0;b=b|0;var d=0;a=j0a(48)|0;b=a+16|0;Tha(b);d=a+28|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[a+40>>2]=2;c[a+44>>2]=0;c[a+12>>2]=0;c[a>>2]=102160;c[a+8>>2]=102316;c[b>>2]=102588;c[a+4>>2]=0;return b|0}function Hua(a,b){a=a|0;b=b|0;if(!b){b=0;return b|0}b=(y1a(b,42800,61600,-1)|0)!=0;return b|0}function Iua(a){a=a|0;return 186332}function Jua(a){a=a|0;return 186311}function Kua(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;b=c[b+4>>2]|0;if(!b){f=1;return f|0}f=(a[b+32>>0]|0)==0;return f|0}function Lua(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;c[a>>2]=102160;b=a+8|0;c[b>>2]=102316;f=a+16|0;c[f>>2]=102588;d=a+4|0;e=c[d>>2]|0;if(e|0?(h=e+8|0,g=c[h>>2]|0,c[h>>2]=g-1,(g|0)==1):0)UU(e,1,1);c[d>>2]=0;c[b>>2]=61744;c[b+8>>2]=62016;b=a+12|0;a=c[b>>2]|0;if(!a){c[b>>2]=0;Pr(f);return}a=a+(c[(c[a>>2]|0)+-12>>2]|0)|0;g=a+8|0;h=c[g>>2]|0;c[g>>2]=h-1;if((h|0)!=1){c[b>>2]=0;Pr(f);return}UU(a,1,1);c[b>>2]=0;Pr(f);return}function Mua(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;c[a>>2]=102160;b=a+8|0;c[b>>2]=102316;f=a+16|0;c[f>>2]=102588;d=a+4|0;e=c[d>>2]|0;if(e|0?(h=e+8|0,g=c[h>>2]|0,c[h>>2]=g-1,(g|0)==1):0)UU(e,1,1);c[d>>2]=0;c[b>>2]=61744;c[b+8>>2]=62016;d=a+12|0;b=c[d>>2]|0;if(!b){c[d>>2]=0;Pr(f);l0a(a);return}b=b+(c[(c[b>>2]|0)+-12>>2]|0)|0;g=b+8|0;h=c[g>>2]|0;c[g>>2]=h-1;if((h|0)!=1){c[d>>2]=0;Pr(f);l0a(a);return}UU(b,1,1);c[d>>2]=0;Pr(f);l0a(a);return}function Nua(a){a=a|0;var b=0,d=0;b=j0a(48)|0;a=b+16|0;Tha(a);d=b+28|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[b+40>>2]=2;c[b+44>>2]=0;c[b+12>>2]=0;c[b>>2]=102160;c[b+8>>2]=102316;c[a>>2]=102588;c[b+4>>2]=0;return a|0}function Oua(a,b){a=a|0;b=b|0;var d=0;a=j0a(48)|0;b=a+16|0;Tha(b);d=a+28|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[a+40>>2]=2;c[a+44>>2]=0;c[a+12>>2]=0;c[a>>2]=102160;c[a+8>>2]=102316;c[b>>2]=102588;c[a+4>>2]=0;return b|0}function Pua(a,b){a=a|0;b=b|0;if(!b){b=0;return b|0}b=(y1a(b,42800,61600,-1)|0)!=0;return b|0}function Qua(a){a=a|0;return 186332}function Rua(a){a=a|0;return 186311}function Sua(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;a=a+(c[(c[a>>2]|0)+-112>>2]|0)|0;c[a>>2]=102160;b=a+8|0;c[b>>2]=102316;f=a+16|0;c[f>>2]=102588;d=a+4|0;e=c[d>>2]|0;if(e|0?(h=e+8|0,g=c[h>>2]|0,c[h>>2]=g-1,(g|0)==1):0)UU(e,1,1);c[d>>2]=0;c[b>>2]=61744;c[b+8>>2]=62016;b=a+12|0;a=c[b>>2]|0;if(!a){c[b>>2]=0;Pr(f);return}a=a+(c[(c[a>>2]|0)+-12>>2]|0)|0;g=a+8|0;h=c[g>>2]|0;c[g>>2]=h-1;if((h|0)!=1){c[b>>2]=0;Pr(f);return}UU(a,1,1);c[b>>2]=0;Pr(f);return}function Tua(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;e=a+(c[(c[a>>2]|0)+-112>>2]|0)|0;c[e>>2]=102160;a=e+8|0;c[a>>2]=102316;f=e+16|0;c[f>>2]=102588;b=e+4|0;d=c[b>>2]|0;if(d|0?(h=d+8|0,g=c[h>>2]|0,c[h>>2]=g-1,(g|0)==1):0)UU(d,1,1);c[b>>2]=0;c[a>>2]=61744;c[a+8>>2]=62016;b=e+12|0;a=c[b>>2]|0;if(!a){c[b>>2]=0;Pr(f);l0a(e);return}a=a+(c[(c[a>>2]|0)+-12>>2]|0)|0;g=a+8|0;h=c[g>>2]|0;c[g>>2]=h-1;if((h|0)!=1){c[b>>2]=0;Pr(f);l0a(e);return}UU(a,1,1);c[b>>2]=0;Pr(f);l0a(e);return}function Uua(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;a=a+(c[(c[a>>2]|0)+-16>>2]|0)|0;c[a>>2]=102160;b=a+8|0;c[b>>2]=102316;f=a+16|0;c[f>>2]=102588;d=a+4|0;e=c[d>>2]|0;if(e|0?(h=e+8|0,g=c[h>>2]|0,c[h>>2]=g-1,(g|0)==1):0)UU(e,1,1);c[d>>2]=0;c[b>>2]=61744;c[b+8>>2]=62016;b=a+12|0;a=c[b>>2]|0;if(!a){c[b>>2]=0;Pr(f);return}a=a+(c[(c[a>>2]|0)+-12>>2]|0)|0;g=a+8|0;h=c[g>>2]|0;c[g>>2]=h-1;if((h|0)!=1){c[b>>2]=0;Pr(f);return}UU(a,1,1);c[b>>2]=0;Pr(f);return}function Vua(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;e=a+(c[(c[a>>2]|0)+-16>>2]|0)|0;c[e>>2]=102160;a=e+8|0;c[a>>2]=102316;f=e+16|0;c[f>>2]=102588;b=e+4|0;d=c[b>>2]|0;if(d|0?(h=d+8|0,g=c[h>>2]|0,c[h>>2]=g-1,(g|0)==1):0)UU(d,1,1);c[b>>2]=0;c[a>>2]=61744;c[a+8>>2]=62016;b=e+12|0;a=c[b>>2]|0;if(!a){c[b>>2]=0;Pr(f);l0a(e);return}a=a+(c[(c[a>>2]|0)+-12>>2]|0)|0;g=a+8|0;h=c[g>>2]|0;c[g>>2]=h-1;if((h|0)!=1){c[b>>2]=0;Pr(f);l0a(e);return}UU(a,1,1);c[b>>2]=0;Pr(f);l0a(e);return}function Wua(a){a=a|0;var b=0,d=0;b=j0a(48)|0;a=b+16|0;Tha(a);d=b+28|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[b+40>>2]=2;c[b+44>>2]=0;c[b+12>>2]=0;c[b>>2]=102160;c[b+8>>2]=102316;c[a>>2]=102588;c[b+4>>2]=0;return a|0}function Xua(a,b){a=a|0;b=b|0;var d=0;a=j0a(48)|0;b=a+16|0;Tha(b);d=a+28|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[a+40>>2]=2;c[a+44>>2]=0;c[a+12>>2]=0;c[a>>2]=102160;c[a+8>>2]=102316;c[b>>2]=102588;c[a+4>>2]=0;return b|0}function Yua(a,b){a=a|0;b=b|0;if(!b){b=0;return b|0}b=(y1a(b,42800,61600,-1)|0)!=0;return b|0}function Zua(a){a=a|0;return 186332}function _ua(a){a=a|0;return 186311}function $ua(a){a=a|0;var b=0,d=0;b=j0a(48)|0;a=b+16|0;Tha(a);d=b+28|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[b+40>>2]=2;c[b+44>>2]=0;c[b+12>>2]=0;c[b>>2]=101552;c[b+8>>2]=101708;c[a>>2]=101980;c[b+4>>2]=0;return a|0}function ava(a,b){a=a|0;b=b|0;var d=0;a=j0a(48)|0;b=a+16|0;Tha(b);d=a+28|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[a+40>>2]=2;c[a+44>>2]=0;c[a+12>>2]=0;c[a>>2]=101552;c[a+8>>2]=101708;c[b>>2]=101980;c[a+4>>2]=0;return b|0}function bva(a,b){a=a|0;b=b|0;if(!b){b=0;return b|0}b=(y1a(b,42800,61616,-1)|0)!=0;return b|0}function cva(a){a=a|0;return 186332}function dva(a){a=a|0;return 186359}function eva(a,b,d){a=a|0;b=b|0;d=d|0;Dua(a,gk[c[(c[d>>2]|0)+164>>2]&1023](d)|0);return}function fva(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;c[a>>2]=101552;b=a+8|0;c[b>>2]=101708;f=a+16|0;c[f>>2]=101980;d=a+4|0;e=c[d>>2]|0;if(e|0?(h=e+8|0,g=c[h>>2]|0,c[h>>2]=g-1,(g|0)==1):0)UU(e,1,1);c[d>>2]=0;c[b>>2]=61744;c[b+8>>2]=62016;b=a+12|0;a=c[b>>2]|0;if(!a){c[b>>2]=0;Pr(f);return}a=a+(c[(c[a>>2]|0)+-12>>2]|0)|0;g=a+8|0;h=c[g>>2]|0;c[g>>2]=h-1;if((h|0)!=1){c[b>>2]=0;Pr(f);return}UU(a,1,1);c[b>>2]=0;Pr(f);return}function gva(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;c[a>>2]=101552;b=a+8|0;c[b>>2]=101708;f=a+16|0;c[f>>2]=101980;d=a+4|0;e=c[d>>2]|0;if(e|0?(h=e+8|0,g=c[h>>2]|0,c[h>>2]=g-1,(g|0)==1):0)UU(e,1,1);c[d>>2]=0;c[b>>2]=61744;c[b+8>>2]=62016;d=a+12|0;b=c[d>>2]|0;if(!b){c[d>>2]=0;Pr(f);l0a(a);return}b=b+(c[(c[b>>2]|0)+-12>>2]|0)|0;g=b+8|0;h=c[g>>2]|0;c[g>>2]=h-1;if((h|0)!=1){c[d>>2]=0;Pr(f);l0a(a);return}UU(b,1,1);c[d>>2]=0;Pr(f);l0a(a);return}function hva(a){a=a|0;var b=0,d=0;b=j0a(48)|0;a=b+16|0;Tha(a);d=b+28|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[b+40>>2]=2;c[b+44>>2]=0;c[b+12>>2]=0;c[b>>2]=101552;c[b+8>>2]=101708;c[a>>2]=101980;c[b+4>>2]=0;return a|0}function iva(a,b){a=a|0;b=b|0;var d=0;a=j0a(48)|0;b=a+16|0;Tha(b);d=a+28|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[a+40>>2]=2;c[a+44>>2]=0;c[a+12>>2]=0;c[a>>2]=101552;c[a+8>>2]=101708;c[b>>2]=101980;c[a+4>>2]=0;return b|0}function jva(a,b){a=a|0;b=b|0;if(!b){b=0;return b|0}b=(y1a(b,42800,61616,-1)|0)!=0;return b|0}function kva(a){a=a|0;return 186332}function lva(a){a=a|0;return 186359}function mva(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;a=a+(c[(c[a>>2]|0)+-112>>2]|0)|0;c[a>>2]=101552;b=a+8|0;c[b>>2]=101708;f=a+16|0;c[f>>2]=101980;d=a+4|0;e=c[d>>2]|0;if(e|0?(h=e+8|0,g=c[h>>2]|0,c[h>>2]=g-1,(g|0)==1):0)UU(e,1,1);c[d>>2]=0;c[b>>2]=61744;c[b+8>>2]=62016;b=a+12|0;a=c[b>>2]|0;if(!a){c[b>>2]=0;Pr(f);return}a=a+(c[(c[a>>2]|0)+-12>>2]|0)|0;g=a+8|0;h=c[g>>2]|0;c[g>>2]=h-1;if((h|0)!=1){c[b>>2]=0;Pr(f);return}UU(a,1,1);c[b>>2]=0;Pr(f);return}function nva(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;e=a+(c[(c[a>>2]|0)+-112>>2]|0)|0;c[e>>2]=101552;a=e+8|0;c[a>>2]=101708;f=e+16|0;c[f>>2]=101980;b=e+4|0;d=c[b>>2]|0;if(d|0?(h=d+8|0,g=c[h>>2]|0,c[h>>2]=g-1,(g|0)==1):0)UU(d,1,1);c[b>>2]=0;c[a>>2]=61744;c[a+8>>2]=62016;b=e+12|0;a=c[b>>2]|0;if(!a){c[b>>2]=0;Pr(f);l0a(e);return}a=a+(c[(c[a>>2]|0)+-12>>2]|0)|0;g=a+8|0;h=c[g>>2]|0;c[g>>2]=h-1;if((h|0)!=1){c[b>>2]=0;Pr(f);l0a(e);return}UU(a,1,1);c[b>>2]=0;Pr(f);l0a(e);return}function ova(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;a=a+(c[(c[a>>2]|0)+-16>>2]|0)|0;c[a>>2]=101552;b=a+8|0;c[b>>2]=101708;f=a+16|0;c[f>>2]=101980;d=a+4|0;e=c[d>>2]|0;if(e|0?(h=e+8|0,g=c[h>>2]|0,c[h>>2]=g-1,(g|0)==1):0)UU(e,1,1);c[d>>2]=0;c[b>>2]=61744;c[b+8>>2]=62016;b=a+12|0;a=c[b>>2]|0;if(!a){c[b>>2]=0;Pr(f);return}a=a+(c[(c[a>>2]|0)+-12>>2]|0)|0;g=a+8|0;h=c[g>>2]|0;c[g>>2]=h-1;if((h|0)!=1){c[b>>2]=0;Pr(f);return}UU(a,1,1);c[b>>2]=0;Pr(f);return}function pva(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;e=a+(c[(c[a>>2]|0)+-16>>2]|0)|0;c[e>>2]=101552;a=e+8|0;c[a>>2]=101708;f=e+16|0;c[f>>2]=101980;b=e+4|0;d=c[b>>2]|0;if(d|0?(h=d+8|0,g=c[h>>2]|0,c[h>>2]=g-1,(g|0)==1):0)UU(d,1,1);c[b>>2]=0;c[a>>2]=61744;c[a+8>>2]=62016;b=e+12|0;a=c[b>>2]|0;if(!a){c[b>>2]=0;Pr(f);l0a(e);return}a=a+(c[(c[a>>2]|0)+-12>>2]|0)|0;g=a+8|0;h=c[g>>2]|0;c[g>>2]=h-1;if((h|0)!=1){c[b>>2]=0;Pr(f);l0a(e);return}UU(a,1,1);c[b>>2]=0;Pr(f);l0a(e);return}function qva(a){a=a|0;var b=0,d=0;b=j0a(48)|0;a=b+16|0;Tha(a);d=b+28|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[b+40>>2]=2;c[b+44>>2]=0;c[b+12>>2]=0;c[b>>2]=101552;c[b+8>>2]=101708;c[a>>2]=101980;c[b+4>>2]=0;return a|0}function rva(a,b){a=a|0;b=b|0;var d=0;a=j0a(48)|0;b=a+16|0;Tha(b);d=a+28|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[a+40>>2]=2;c[a+44>>2]=0;c[a+12>>2]=0;c[a>>2]=101552;c[a+8>>2]=101708;c[b>>2]=101980;c[a+4>>2]=0;return b|0}function sva(a,b){a=a|0;b=b|0;if(!b){b=0;return b|0}b=(y1a(b,42800,61616,-1)|0)!=0;return b|0}function tva(a){a=a|0;return 186332}function uva(a){a=a|0;return 186359}function vva(a){a=a|0;Pr(a);l0a(a);return}function wva(b){b=b|0;var d=0;b=j0a(120)|0;Tha(b);d=b+12|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[b+24>>2]=2;c[b+28>>2]=0;c[b>>2]=100536;a[b+32>>0]=0;g[b+36>>2]=1.0;g[b+40>>2]=1.0;g[b+44>>2]=1.0;g[b+48>>2]=1.0;h[b+56>>3]=-1.0;h[b+64>>3]=-1.0;h[b+72>>3]=1.0;h[b+80>>3]=-1.0;h[b+88>>3]=-1.0;h[b+96>>3]=1.0;h[b+104>>3]=1.0;h[b+112>>3]=1.0;return b|0}function xva(b,d){b=b|0;d=d|0;var e=0,f=0;e=j0a(120)|0;Or(e,b,d);c[e>>2]=100536;a[e+32>>0]=a[b+32>>0]|0;d=e+36|0;f=b+36|0;c[d>>2]=c[f>>2];c[d+4>>2]=c[f+4>>2];c[d+8>>2]=c[f+8>>2];c[d+12>>2]=c[f+12>>2];d=e+56|0;f=b+56|0;c[d>>2]=c[f>>2];c[d+4>>2]=c[f+4>>2];c[d+8>>2]=c[f+8>>2];c[d+12>>2]=c[f+12>>2];d=e+72|0;f=b+72|0;c[d>>2]=c[f>>2];c[d+4>>2]=c[f+4>>2];c[d+8>>2]=c[f+8>>2];c[d+12>>2]=c[f+12>>2];d=e+88|0;f=b+88|0;c[d>>2]=c[f>>2];c[d+4>>2]=c[f+4>>2];c[d+8>>2]=c[f+8>>2];c[d+12>>2]=c[f+12>>2];d=e+104|0;b=b+104|0;c[d>>2]=c[b>>2];c[d+4>>2]=c[b+4>>2];c[d+8>>2]=c[b+8>>2];c[d+12>>2]=c[b+12>>2];return e|0}function yva(a,b){a=a|0;b=b|0;if(!b){b=0;return b|0}b=(y1a(b,42800,58912,0)|0)!=0;return b|0}function zva(a){a=a|0;return 183549}function Ava(a){a=a|0;return 186454}function Bva(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=gk[c[(c[a>>2]|0)+112>>2]&1023](a)|0;if(!e){pU(a)|0;e=c[a+28>>2]|0}a=lk[c[(c[e>>2]|0)+192>>2]&127](e,b,0)|0;if(a>>>0>=(gk[c[(c[e>>2]|0)+184>>2]&1023](e)|0)>>>0){a=c[(c[e>>2]|0)+164>>2]|0;f=j0a(44)|0;Uha(f,1);g=f+12|0;c[g>>2]=0;c[g+4>>2]=0;c[g+8>>2]=0;c[f+24>>2]=2;c[f+28>>2]=0;c[f>>2]=102760;z0a(g,b)|0;c[f>>2]=102940;t0a(f+32|0,d);kk[a&511](e,f)|0;return}f=kk[c[(c[e>>2]|0)+176>>2]&511](e,a)|0;if(!f)e2a();if((c[(c[(c[f>>2]|0)+-4>>2]|0)+4>>2]|0)==186128){z0a(f+32|0,d)|0;return}else{f=c[(c[e>>2]|0)+168>>2]|0;g=j0a(44)|0;Uha(g,1);h=g+12|0;c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;c[g+24>>2]=2;c[g+28>>2]=0;c[g>>2]=102760;z0a(h,b)|0;c[g>>2]=102940;t0a(g+32|0,d);Nk[f&255](e,a,g);return}}function Cva(b){b=b|0;var d=0;c[b>>2]=102940;d=b+32|0;if((a[d+11>>0]|0)>=0){Pr(b);return}l0a(c[d>>2]|0);Pr(b);return}function Dva(b){b=b|0;var d=0;c[b>>2]=102940;d=b+32|0;if((a[d+11>>0]|0)<0)l0a(c[d>>2]|0);Pr(b);l0a(b);return}function Eva(a){a=a|0;var b=0;a=j0a(44)|0;Uha(a,1);b=a+12|0;c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;c[a+24>>2]=2;c[a+28>>2]=0;c[a>>2]=102940;b=a+32|0;c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;return a|0}function Fva(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;e=l;l=l+16|0;f=e;d=j0a(44)|0;b=c[b+4>>2]|0;c[f>>2]=71296;c[f+4>>2]=b;Or(d,a,f);c[d>>2]=102940;t0a(d+32|0,a+32|0);l=e;return d|0}function Gva(a,b){a=a|0;b=b|0;if(!b){b=0;return b|0}b=(y1a(b,42800,62184,0)|0)!=0;return b|0}function Hva(a){a=a|0;return 186332}function Iva(a){a=a|0;return 186502}function Jva(a){a=a|0;return a|0}function Kva(a){a=a|0;return a|0}function Lva(a,b){a=a|0;b=b|0;Jk[c[(c[b>>2]|0)+44>>2]&1023](b,a+32|0);return 1}function Mva(a,b){a=a|0;b=b|0;Jk[c[(c[b>>2]|0)+44>>2]&1023](b,a+32|0);return 1}function Nva(a){a=a|0;Pr(a);l0a(a);return}function Ova(a){a=a|0;var b=0;a=j0a(32)|0;Uha(a,1);b=a+12|0;c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;c[a+24>>2]=2;c[a+28>>2]=0;c[a>>2]=102760;return a|0}function Pva(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;e=l;l=l+16|0;f=e;d=j0a(32)|0;c[f>>2]=71296;c[f+4>>2]=c[b+4>>2];Or(d,a,f);c[d>>2]=102760;l=e;return d|0}function Qva(a,b){a=a|0;b=b|0;if(!b){b=0;return b|0}b=(y1a(b,42800,62200,0)|0)!=0;return b|0}function Rva(a){a=a|0;return 186332}function Sva(a){a=a|0;return 186540}function Tva(a,b){a=a|0;b=b|0;return 0}function Uva(a,b){a=a|0;b=b|0;return 0}function Vva(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;i=a+4|0;j=c[a>>2]|0;k=(c[i>>2]|0)-j|0;g=k>>2;d=g+1|0;if(d>>>0>1073741823)g1a(a);l=a+8|0;f=(c[l>>2]|0)-j|0;h=f>>1;h=f>>2>>>0<536870911?(h>>>0<d>>>0?d:h):1073741823;do if(h)if(h>>>0>1073741823){l=db(8)|0;p0a(l,183738);c[l>>2]=110936;hb(l|0,65952,1066)}else{f=j0a(h<<2)|0;e=f;break}else{e=0;f=0}while(0);d=e+(g<<2)|0;c[d>>2]=c[b>>2];if((k|0)>0)x2a(f|0,j|0,k|0)|0;c[a>>2]=e;c[i>>2]=d+4;c[l>>2]=e+(h<<2);if(!j)return;l0a(j);return}function Wva(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;c[a>>2]=103120;b=c[a+28>>2]|0;if(b|0){c[a+32>>2]=b;l0a(b)}e=a+16|0;d=a+24|0;if(!(c[d>>2]|0)){SU(a);return}b=c[a+20>>2]|0;f=(c[e>>2]|0)+4|0;g=c[b>>2]|0;c[g+4>>2]=c[f>>2];c[c[f>>2]>>2]=g;c[d>>2]=0;if((b|0)==(e|0)){SU(a);return}do{g=b;b=c[b+4>>2]|0;l0a(g)}while((b|0)!=(e|0));SU(a);return}function Xva(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;c[a>>2]=103120;b=c[a+28>>2]|0;if(b|0){c[a+32>>2]=b;l0a(b)}e=a+16|0;d=a+24|0;if(!(c[d>>2]|0)){SU(a);l0a(a);return}b=c[a+20>>2]|0;f=(c[e>>2]|0)+4|0;g=c[b>>2]|0;c[g+4>>2]=c[f>>2];c[c[f>>2]>>2]=g;c[d>>2]=0;if((b|0)==(e|0)){SU(a);l0a(a);return}do{g=b;b=c[b+4>>2]|0;l0a(g)}while((b|0)!=(e|0));SU(a);l0a(a);return}function Yva(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var i=0,j=0,k=0.0,m=0,n=0,o=0,p=0.0,q=0,r=0,s=0.0,t=0,u=0,v=0,w=0,x=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0;O=l;l=l+32|0;K=O+24|0;L=O+20|0;M=O;N=O+8|0;e=c[b+20>>2]|0;t=b+16|0;i=e;if((t|0)!=(i|0)){u=b+12|0;v=b+40|0;w=N+8|0;x=N+4|0;z=N+11|0;A=N+8|0;B=N+4|0;C=N+11|0;D=N+8|0;E=N+4|0;F=N+11|0;G=b+24|0;H=b+32|0;I=b+36|0;J=b+28|0;do{o=e;r=c[o+8>>2]|0;c[K>>2]=r;c[L>>2]=0;Nk[c[(c[u>>2]|0)+944>>2]&255](r,34919,L);if(!(c[L>>2]|0))e=c[i+4>>2]|0;else{j=M;c[j>>2]=0;c[j+4>>2]=0;Nk[c[(c[u>>2]|0)+952>>2]&255](c[K>>2]|0,34918,M);j=M;s=(+((c[j>>2]|0)>>>0)+4294967296.0*+((c[j+4>>2]|0)>>>0))*1.0e-09;j=fia()|0;m=gia(fia()|0)|0;n=y;if(n>>>0>g>>>0|(n|0)==(g|0)&m>>>0>f>>>0){r=q2a(m|0,n|0,f|0,g|0)|0;k=+h[j+8>>3]*(+(r>>>0)+4294967296.0*+(y>>>0))}else{r=q2a(f|0,g|0,m|0,n|0)|0;k=-(+h[j+8>>3]*(+(r>>>0)+4294967296.0*+(y>>>0)))}p=(k+ +h[v>>3])*.5;k=p-s;n=o+12|0;j=c[n>>2]|0;m=j0a(32)|0;c[N>>2]=m;c[w>>2]=-2147483616;c[x>>2]=19;o=m;q=186768;r=o+19|0;do{a[o>>0]=a[q>>0]|0;o=o+1|0;q=q+1|0}while((o|0)<(r|0));a[m+19>>0]=0;Aia(d,j,N,k)|0;if((a[z>>0]|0)<0)l0a(c[N>>2]|0);j=c[n>>2]|0;m=j0a(32)|0;c[N>>2]=m;c[A>>2]=-2147483616;c[B>>2]=17;o=m;q=186788;r=o+17|0;do{a[o>>0]=a[q>>0]|0;o=o+1|0;q=q+1|0}while((o|0)<(r|0));a[m+17>>0]=0;Aia(d,j,N,p)|0;if((a[C>>0]|0)<0)l0a(c[N>>2]|0);j=c[n>>2]|0;m=j0a(32)|0;c[N>>2]=m;c[D>>2]=-2147483616;c[E>>2]=19;o=m;q=186806;r=o+19|0;do{a[o>>0]=a[q>>0]|0;o=o+1|0;q=q+1|0}while((o|0)<(r|0));a[m+19>>0]=0;Aia(d,j,N,s)|0;if((a[F>>0]|0)<0)l0a(c[N>>2]|0);r=i+4|0;j=c[r>>2]|0;q=c[i>>2]|0;c[q+4>>2]=j;c[c[r>>2]>>2]=q;c[G>>2]=(c[G>>2]|0)+-1;l0a(e);e=c[H>>2]|0;if((e|0)==(c[I>>2]|0))Nz(J,K);else{c[e>>2]=c[K>>2];c[H>>2]=e+4}e=j}i=e}while((t|0)!=(i|0))}e=fia()|0;i=gia(fia()|0)|0;j=y;if(j>>>0>g>>>0|(j|0)==(g|0)&i>>>0>f>>>0){g=q2a(i|0,j|0,f|0,g|0)|0;s=+h[e+8>>3]*(+(g>>>0)+4294967296.0*+(y>>>0));g=b+40|0;h[g>>3]=s;l=O;return}else{g=q2a(f|0,g|0,i|0,j|0)|0;s=-(+h[e+8>>3]*(+(g>>>0)+4294967296.0*+(y>>>0)));g=b+40|0;h[g>>3]=s;l=O;return}}function Zva(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;g=l;l=l+16|0;d=g;e=a+32|0;f=c[e>>2]|0;if((c[a+28>>2]|0)==(f|0)){e=a+12|0;Jk[c[(c[e>>2]|0)+912>>2]&1023](1,d);d=c[d>>2]|0}else{f=f+-4|0;d=c[f>>2]|0;c[e>>2]=f;e=a+12|0}Jk[c[(c[e>>2]|0)+916>>2]&1023](35007,d);f=a+16|0;e=j0a(16)|0;h=e+8|0;c[h>>2]=d;c[h+4>>2]=b;c[e+4>>2]=f;b=c[f>>2]|0;c[e>>2]=b;c[b+4>>2]=e;c[f>>2]=e;b=a+24|0;c[b>>2]=(c[b>>2]|0)+1;l=g;return}function _va(a,b){a=a|0;b=b|0;Bk[c[(c[a+12>>2]|0)+920>>2]&2047](35007);return}function $va(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,i=0.0;c[a+12>>2]=c[b+832>>2];f=fia()|0;g=gia(fia()|0)|0;b=y;if(b>>>0>e>>>0|(b|0)==(e|0)&g>>>0>d>>>0){e=q2a(g|0,b|0,d|0,e|0)|0;i=+h[f+8>>3]*(+(e>>>0)+4294967296.0*+(y>>>0));e=a+40|0;h[e>>3]=i;return}else{e=q2a(d|0,e|0,g|0,b|0)|0;i=-(+h[f+8>>3]*(+(e>>>0)+4294967296.0*+(y>>>0)));e=a+40|0;h[e>>3]=i;return}}function awa(b){b=b|0;var d=0,e=0,f=0,g=0;e=l;l=l+16|0;d=e;if(ZQ(4)|0){f=mr(lr(4)|0,187943,19)|0;BSa(d,f+(c[(c[f>>2]|0)+-12>>2]|0)|0);g=cUa(d,230580)|0;g=kk[c[(c[g>>2]|0)+28>>2]&511](g,10)|0;dUa(d);VSa(f,g)|0;HSa(f)|0}a[b+28>>0]=1;g=b+40|0;gk[c[(c[g>>2]|0)+8>>2]&1023](g)|0;a[b+72>>0]=1;Eha(b+52|0)|0;gk[c[(c[g>>2]|0)+12>>2]&1023](g)|0;g=b+76|0;gk[c[(c[g>>2]|0)+8>>2]&1023](g)|0;a[b+108>>0]=1;Eha(b+88|0)|0;gk[c[(c[g>>2]|0)+12>>2]&1023](g)|0;l=e;return}function bwa(a,b){a=a|0;b=b|0;var d=0;if(b|0?(d=y1a(b,42800,44864,0)|0,d|0):0)Jk[c[(c[a>>2]|0)+16>>2]&1023](a,d);if(!(gk[c[(c[b>>2]|0)+80>>2]&1023](b)|0))return;Bk[c[(c[a>>2]|0)+20>>2]&2047](a);return}function cwa(a){a=a|0;nwa(a,103232);SU(a+128|0);return}function dwa(a){a=a|0;nwa(a,103232);SU(a+128|0);l0a(a);return}function ewa(b,d){b=b|0;d=d|0;d=c[b>>2]|0;if(!(a[b+29>>0]|0)){Bk[c[d+24>>2]&2047](b);return}else{Bk[c[d+28>>2]&2047](b);return}}function fwa(b){b=b|0;var d=0,e=0.0,f=0,g=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;x=l;l=l+16|0;u=x;if(ZQ(5)|0){w=mr(lr(5)|0,187902,6)|0;BSa(u,w+(c[(c[w>>2]|0)+-12>>2]|0)|0);v=cUa(u,230580)|0;v=kk[c[(c[v>>2]|0)+28>>2]&511](v,10)|0;dUa(u);VSa(w,v)|0;HSa(w)|0}if(a[b+28>>0]|0){l=x;return}if(a[b+29>>0]|0){l=x;return}v=ywa(b+40|0)|0;if(ZQ(5)|0){w=USa(mr(lr(5)|0,187909,21)|0,v)|0;BSa(u,w+(c[(c[w>>2]|0)+-12>>2]|0)|0);t=cUa(u,230580)|0;t=kk[c[(c[t>>2]|0)+28>>2]&511](t,10)|0;dUa(u);VSa(w,t)|0;HSa(w)|0}if(v|0){Jk[c[(c[b>>2]|0)+40>>2]&1023](b,v);f=v+208|0;w=c[(c[f>>2]|0)+224>>2]|0;d=c[v+200>>2]|0;if(!d)t=0;else t=c[d+12>>2]|0;p=gia(fia()|0)|0;q=y;g=c[(c[v>>2]|0)+188>>2]|0;s=c[v+204>>2]|0;if((s|0)!=0?(c[s+24>>2]|0)!=0:0)d=c[f>>2]|0;else d=0;Jk[g&1023](v,d+144|0);Bk[c[(c[v>>2]|0)+204>>2]&2047](v);m=gia(fia()|0)|0;n=y;if(w|0){c[u>>2]=0;c[u+4>>2]=0;c[u+8>>2]=0;f=u+11|0;a[f>>0]=9;g=u;i=186949;j=g+9|0;do{a[g>>0]=a[i>>0]|0;g=g+1|0;i=i+1|0}while((g|0)<(j|0));a[u+9>>0]=0;s=w+24|0;gk[c[(c[s>>2]|0)+8>>2]&1023](s)|0;o=w+68|0;d=Rsa(o,u)|0;r=w+72|0;if((d|0)==(r|0))d=0;else d=(a[d+28>>0]|0)!=0;gk[c[(c[s>>2]|0)+12>>2]&1023](s)|0;if((a[f>>0]|0)<0)l0a(c[u>>2]|0);if(d){if(ZQ(5)|0){k=mr(lr(5)|0,186959,26)|0;BSa(u,k+(c[(c[k>>2]|0)+-12>>2]|0)|0);j=cUa(u,230580)|0;j=kk[c[(c[j>>2]|0)+28>>2]&511](j,10)|0;dUa(u);VSa(k,j)|0;HSa(k)|0}d=j0a(32)|0;c[u>>2]=d;c[u+8>>2]=-2147483616;c[u+4>>2]=25;g=d;i=186986;j=g+25|0;do{a[g>>0]=a[i>>0]|0;g=g+1|0;i=i+1|0}while((g|0)<(j|0));a[d+25>>0]=0;d=fia()|0;k=b+120|0;g=k;f=c[g>>2]|0;g=c[g+4>>2]|0;if(q>>>0>g>>>0|(q|0)==(g|0)&p>>>0>f>>>0){j=q2a(p|0,q|0,f|0,g|0)|0;e=+h[d+8>>3]*(+(j>>>0)+4294967296.0*+(y>>>0))}else{j=q2a(f|0,g|0,p|0,q|0)|0;e=-(+h[d+8>>3]*(+(j>>>0)+4294967296.0*+(y>>>0)))}Aia(w,t,u,e)|0;if((a[u+11>>0]|0)<0)l0a(c[u>>2]|0);d=j0a(32)|0;c[u>>2]=d;c[u+8>>2]=-2147483616;c[u+4>>2]=23;g=d;i=187012;j=g+23|0;do{a[g>>0]=a[i>>0]|0;g=g+1|0;i=i+1|0}while((g|0)<(j|0));a[d+23>>0]=0;g=fia()|0;f=k;d=c[f>>2]|0;f=c[f+4>>2]|0;if(n>>>0>f>>>0|(n|0)==(f|0)&m>>>0>d>>>0){k=q2a(m|0,n|0,d|0,f|0)|0;e=+h[g+8>>3]*(+(k>>>0)+4294967296.0*+(y>>>0))}else{k=q2a(d|0,f|0,m|0,n|0)|0;e=-(+h[g+8>>3]*(+(k>>>0)+4294967296.0*+(y>>>0)))}Aia(w,t,u,e)|0;if((a[u+11>>0]|0)<0)l0a(c[u>>2]|0);d=j0a(32)|0;c[u>>2]=d;c[u+8>>2]=-2147483616;c[u+4>>2]=25;g=d;i=187036;j=g+25|0;do{a[g>>0]=a[i>>0]|0;g=g+1|0;i=i+1|0}while((g|0)<(j|0));a[d+25>>0]=0;d=fia()|0;if(n>>>0>q>>>0|(n|0)==(q|0)&m>>>0>p>>>0){q=q2a(m|0,n|0,p|0,q|0)|0;e=+h[d+8>>3]*(+(q>>>0)+4294967296.0*+(y>>>0))}else{q=q2a(p|0,q|0,m|0,n|0)|0;e=-(+h[d+8>>3]*(+(q>>>0)+4294967296.0*+(y>>>0)))}Aia(w,t,u,e)|0;if((a[u+11>>0]|0)<0)l0a(c[u>>2]|0)};c[u>>2]=0;c[u+4>>2]=0;c[u+8>>2]=0;f=u+11|0;a[f>>0]=5;a[u>>0]=a[183806]|0;a[u+1>>0]=a[183807]|0;a[u+2>>0]=a[183808]|0;a[u+3>>0]=a[183809]|0;a[u+4>>0]=a[183810]|0;a[u+5>>0]=0;gk[c[(c[s>>2]|0)+8>>2]&1023](s)|0;d=Rsa(o,u)|0;if((d|0)==(r|0))d=0;else d=(a[d+28>>0]|0)!=0;gk[c[(c[s>>2]|0)+12>>2]&1023](s)|0;if((a[f>>0]|0)<0)l0a(c[u>>2]|0);if(d)qwa(t,v,w)}w=b+76|0;gk[c[(c[w>>2]|0)+8>>2]&1023](w)|0;t=b+96|0;s=j0a(12)|0;c[s+8>>2]=v;c[s+4>>2]=t;v=c[t>>2]|0;c[s>>2]=v;c[v+4>>2]=s;c[t>>2]=s;v=b+104|0;c[v>>2]=(c[v>>2]|0)+1;a[b+108>>0]=1;Eha(b+88|0)|0;gk[c[(c[w>>2]|0)+12>>2]&1023](w)|0}if(!(ZQ(5)|0)){l=x;return}w=USa(mr(lr(5)|0,187931,11)|0,b)|0;BSa(u,w+(c[(c[w>>2]|0)+-12>>2]|0)|0);v=cUa(u,230580)|0;v=kk[c[(c[v>>2]|0)+28>>2]&511](v,10)|0;dUa(u);VSa(w,v)|0;HSa(w)|0;l=x;return}function gwa(b){b=b|0;var d=0,e=0.0,f=0,g=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;u=l;l=l+16|0;s=u;if(ZQ(5)|0){t=USa(mr(lr(5)|0,187738,7)|0,b)|0;BSa(s,t+(c[(c[t>>2]|0)+-12>>2]|0)|0);r=cUa(s,230580)|0;r=kk[c[(c[r>>2]|0)+28>>2]&511](r,10)|0;dUa(s);VSa(t,r)|0;HSa(t)|0}t=ywa(b+76|0)|0;if(ZQ(5)|0){r=USa(mr(lr(5)|0,187746,21)|0,t)|0;BSa(s,r+(c[(c[r>>2]|0)+-12>>2]|0)|0);q=cUa(s,230580)|0;q=kk[c[(c[q>>2]|0)+28>>2]&511](q,10)|0;dUa(s);VSa(r,q)|0;HSa(r)|0}if(t|0?(d=b+28|0,(a[d>>0]|0)==0):0){Zka(t);if(a[b+30>>0]|0)Bk[c[(c[b>>2]|0)+32>>2]&2047](b);if(a[d>>0]|0){if(!(ZQ(4)|0)){l=u;return}t=mr(lr(4)|0,187768,40)|0;BSa(s,t+(c[(c[t>>2]|0)+-12>>2]|0)|0);b=cUa(s,230580)|0;b=kk[c[(c[b>>2]|0)+28>>2]&511](b,10)|0;dUa(s);VSa(t,b)|0;HSa(t)|0;l=u;return}if(a[b+29>>0]|0){if(!(ZQ(4)|0)){l=u;return}t=mr(lr(4)|0,187809,80)|0;BSa(s,t+(c[(c[t>>2]|0)+-12>>2]|0)|0);b=cUa(s,230580)|0;b=kk[c[(c[b>>2]|0)+28>>2]&511](b,10)|0;dUa(s);VSa(t,b)|0;HSa(t)|0;l=u;return}q=c[(c[t+208>>2]|0)+224>>2]|0;k=c[t+100>>2]|0;r=c[(c[t+200>>2]|0)+12>>2]|0;if(!(a[b+112>>0]|0))pwa(b,k);d=c[t+284>>2]|0;f=k+836|0;if((c[f>>2]|0)!=(d|0))c[f>>2]=d;if((d|0)==0?(g=c[k+840>>2]|0,g|0):0)Jk[c[(c[g>>2]|0)+12>>2]&1023](g,k);j=(q|0)!=0;if(j?(i=b+116|0,(c[i>>2]|0)!=0):0){f=s+4|0;c[f>>2]=0;c[f+4>>2]=0;f=s+11|0;a[f>>0]=3;a[s>>0]=a[186945]|0;a[s+1>>0]=a[186946]|0;a[s+2>>0]=a[186947]|0;a[s+3>>0]=0;g=q+24|0;gk[c[(c[g>>2]|0)+8>>2]&1023](g)|0;d=Rsa(q+68|0,s)|0;if((d|0)==(q+72|0))d=0;else d=(a[d+28>>0]|0)!=0;gk[c[(c[g>>2]|0)+12>>2]&1023](g)|0;if((a[f>>0]|0)<0)l0a(c[s>>2]|0);if(d){o=c[i>>2]|0;d=b+120|0;p=d;Sk[c[(c[o>>2]|0)+12>>2]&63](o,q,k,c[p>>2]|0,c[p+4>>2]|0);p=c[i>>2]|0;Sk[c[(c[p>>2]|0)+12>>2]&63](p,q,k,c[d>>2]|0,c[d+4>>2]|0);d=c[i>>2]|0;Nk[c[(c[d>>2]|0)+16>>2]&255](d,r,k);d=1}else d=0}else d=0;if(!(a[b+31>>0]|0)){p=gia(fia()|0)|0;o=y;Bk[c[(c[t>>2]|0)+208>>2]&2047](t)}else{gk[c[(c[56477]|0)+8>>2]&1023](225908)|0;p=gia(fia()|0)|0;o=y;Bk[c[(c[t>>2]|0)+208>>2]&2047](t);gk[c[(c[56477]|0)+12>>2]&1023](225908)|0}n=b+40|0;gk[c[(c[n>>2]|0)+8>>2]&1023](n)|0;m=b+60|0;i=j0a(12)|0;c[i+8>>2]=t;c[i+4>>2]=m;g=c[m>>2]|0;c[i>>2]=g;c[g+4>>2]=i;c[m>>2]=i;m=b+68|0;c[m>>2]=(c[m>>2]|0)+1;a[b+72>>0]=1;Eha(b+52|0)|0;gk[c[(c[n>>2]|0)+12>>2]&1023](n)|0;if(d){m=b+116|0;n=c[m>>2]|0;Jk[c[(c[n>>2]|0)+20>>2]&1023](n,k);m=c[m>>2]|0;n=b+120|0;Sk[c[(c[m>>2]|0)+12>>2]&63](m,q,k,c[n>>2]|0,c[n+4>>2]|0)}m=gia(fia()|0)|0;n=y;if(j){c[s>>2]=0;c[s+4>>2]=0;c[s+8>>2]=0;g=s+11|0;a[g>>0]=9;f=s;i=186949;j=f+9|0;do{a[f>>0]=a[i>>0]|0;f=f+1|0;i=i+1|0}while((f|0)<(j|0));a[s+9>>0]=0;f=q+24|0;gk[c[(c[f>>2]|0)+8>>2]&1023](f)|0;d=Rsa(q+68|0,s)|0;if((d|0)==(q+72|0))d=0;else d=(a[d+28>>0]|0)!=0;gk[c[(c[f>>2]|0)+12>>2]&1023](f)|0;if((a[g>>0]|0)<0)l0a(c[s>>2]|0);if(d){d=j0a(32)|0;c[s>>2]=d;c[s+8>>2]=-2147483616;c[s+4>>2]=25;f=d;i=187062;j=f+25|0;do{a[f>>0]=a[i>>0]|0;f=f+1|0;i=i+1|0}while((f|0)<(j|0));a[d+25>>0]=0;d=fia()|0;k=b+120|0;g=k;f=c[g>>2]|0;g=c[g+4>>2]|0;if(o>>>0>g>>>0|(o|0)==(g|0)&p>>>0>f>>>0){j=q2a(p|0,o|0,f|0,g|0)|0;e=+h[d+8>>3]*(+(j>>>0)+4294967296.0*+(y>>>0))}else{j=q2a(f|0,g|0,p|0,o|0)|0;e=-(+h[d+8>>3]*(+(j>>>0)+4294967296.0*+(y>>>0)))}Aia(q,r,s,e)|0;if((a[s+11>>0]|0)<0)l0a(c[s>>2]|0);d=j0a(32)|0;c[s>>2]=d;c[s+8>>2]=-2147483616;c[s+4>>2]=23;f=d;i=187088;j=f+23|0;do{a[f>>0]=a[i>>0]|0;f=f+1|0;i=i+1|0}while((f|0)<(j|0));a[d+23>>0]=0;g=fia()|0;f=k;d=c[f>>2]|0;f=c[f+4>>2]|0;if(n>>>0>f>>>0|(n|0)==(f|0)&m>>>0>d>>>0){k=q2a(m|0,n|0,d|0,f|0)|0;e=+h[g+8>>3]*(+(k>>>0)+4294967296.0*+(y>>>0))}else{k=q2a(d|0,f|0,m|0,n|0)|0;e=-(+h[g+8>>3]*(+(k>>>0)+4294967296.0*+(y>>>0)))}Aia(q,r,s,e)|0;if((a[s+11>>0]|0)<0)l0a(c[s>>2]|0);d=j0a(32)|0;c[s>>2]=d;c[s+8>>2]=-2147483616;c[s+4>>2]=25;f=d;i=187112;j=f+25|0;do{a[f>>0]=a[i>>0]|0;f=f+1|0;i=i+1|0}while((f|0)<(j|0));a[d+25>>0]=0;d=fia()|0;if(n>>>0>o>>>0|(n|0)==(o|0)&m>>>0>p>>>0){p=q2a(m|0,n|0,p|0,o|0)|0;e=+h[d+8>>3]*(+(p>>>0)+4294967296.0*+(y>>>0))}else{p=q2a(p|0,o|0,m|0,n|0)|0;e=-(+h[d+8>>3]*(+(p>>>0)+4294967296.0*+(y>>>0)))}Aia(q,r,s,e)|0;if((a[s+11>>0]|0)<0)l0a(c[s>>2]|0)}}_ka(t)}if(!(ZQ(5)|0)){l=u;return}t=USa(mr(lr(5)|0,187890,11)|0,b)|0;BSa(s,t+(c[(c[t>>2]|0)+-12>>2]|0)|0);b=cUa(s,230580)|0;b=kk[c[(c[b>>2]|0)+28>>2]&511](b,10)|0;dUa(s);VSa(t,b)|0;HSa(t)|0;l=u;return}function hwa(b){b=b|0;var d=0.0,e=0,f=0,g=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,z=0;z=l;l=l+16|0;w=z;if(ZQ(5)|0){x=USa(mr(lr(5)|0,186932,12)|0,b)|0;BSa(w,x+(c[(c[x>>2]|0)+-12>>2]|0)|0);v=cUa(w,230580)|0;v=kk[c[(c[v>>2]|0)+28>>2]&511](v,10)|0;dUa(w);VSa(x,v)|0;HSa(x)|0}k=c[b+32>>2]|0;if(!k){l=z;return}if(a[b+28>>0]|0){l=z;return}Jk[c[(c[b>>2]|0)+40>>2]&1023](b,k);if(a[b+30>>0]|0)Bk[c[(c[b>>2]|0)+32>>2]&2047](b);j=k+208|0;x=c[(c[j>>2]|0)+224>>2]|0;m=c[k+100>>2]|0;e=c[k+200>>2]|0;if(!e)v=0;else v=c[e+12>>2]|0;if(!(a[b+112>>0]|0))pwa(b,m);n=(x|0)!=0;if(n?(i=b+116|0,(c[i>>2]|0)!=0):0){f=w+4|0;c[f>>2]=0;c[f+4>>2]=0;f=w+11|0;a[f>>0]=3;a[w>>0]=a[186945]|0;a[w+1>>0]=a[186946]|0;a[w+2>>0]=a[186947]|0;a[w+3>>0]=0;g=x+24|0;gk[c[(c[g>>2]|0)+8>>2]&1023](g)|0;e=Rsa(x+68|0,w)|0;if((e|0)==(x+72|0))e=0;else e=(a[e+28>>0]|0)!=0;gk[c[(c[g>>2]|0)+12>>2]&1023](g)|0;if((a[f>>0]|0)<0)l0a(c[w>>2]|0);if(e){u=c[i>>2]|0;i=b+120|0;Sk[c[(c[u>>2]|0)+12>>2]&63](u,x,m,c[i>>2]|0,c[i+4>>2]|0);i=1}else i=0}else i=0;q=gia(fia()|0)|0;r=y;f=c[(c[k>>2]|0)+188>>2]|0;u=c[k+204>>2]|0;if((u|0)!=0?(c[u+24>>2]|0)!=0:0)e=c[j>>2]|0;else e=0;Jk[f&1023](k,e+144|0);Bk[c[(c[k>>2]|0)+204>>2]&2047](k);o=gia(fia()|0)|0;p=y;if(n){c[w>>2]=0;c[w+4>>2]=0;c[w+8>>2]=0;f=w+11|0;a[f>>0]=5;a[w>>0]=a[183806]|0;a[w+1>>0]=a[183807]|0;a[w+2>>0]=a[183808]|0;a[w+3>>0]=a[183809]|0;a[w+4>>0]=a[183810]|0;a[w+5>>0]=0;g=x+24|0;gk[c[(c[g>>2]|0)+8>>2]&1023](g)|0;e=Rsa(x+68|0,w)|0;if((e|0)==(x+72|0))e=0;else e=(a[e+28>>0]|0)!=0;gk[c[(c[g>>2]|0)+12>>2]&1023](g)|0;if((a[f>>0]|0)<0)l0a(c[w>>2]|0);if(e)qwa(v,k,x)}if(i){u=b+116|0;s=c[u>>2]|0;t=b+120|0;Sk[c[(c[s>>2]|0)+12>>2]&63](s,x,m,c[t>>2]|0,c[t+4>>2]|0);u=c[u>>2]|0;Nk[c[(c[u>>2]|0)+16>>2]&255](u,v,m)}if(!(a[b+31>>0]|0)){u=gia(fia()|0)|0;t=y;Bk[c[(c[k>>2]|0)+208>>2]&2047](k)}else{gk[c[(c[56477]|0)+8>>2]&1023](225908)|0;u=gia(fia()|0)|0;t=y;Bk[c[(c[k>>2]|0)+208>>2]&2047](k);gk[c[(c[56477]|0)+12>>2]&1023](225908)|0}if(i){k=b+116|0;s=c[k>>2]|0;Jk[c[(c[s>>2]|0)+20>>2]&1023](s,m);k=c[k>>2]|0;s=b+120|0;Sk[c[(c[k>>2]|0)+12>>2]&63](k,x,m,c[s>>2]|0,c[s+4>>2]|0)}m=gia(fia()|0)|0;s=y;if(n){c[w>>2]=0;c[w+4>>2]=0;c[w+8>>2]=0;g=w+11|0;a[g>>0]=9;f=w;i=186949;j=f+9|0;do{a[f>>0]=a[i>>0]|0;f=f+1|0;i=i+1|0}while((f|0)<(j|0));a[w+9>>0]=0;f=x+24|0;gk[c[(c[f>>2]|0)+8>>2]&1023](f)|0;e=Rsa(x+68|0,w)|0;if((e|0)==(x+72|0))e=0;else e=(a[e+28>>0]|0)!=0;gk[c[(c[f>>2]|0)+12>>2]&1023](f)|0;if((a[g>>0]|0)<0)l0a(c[w>>2]|0);if(e){if(ZQ(5)|0){n=mr(lr(5)|0,186959,26)|0;BSa(w,n+(c[(c[n>>2]|0)+-12>>2]|0)|0);k=cUa(w,230580)|0;k=kk[c[(c[k>>2]|0)+28>>2]&511](k,10)|0;dUa(w);VSa(n,k)|0;HSa(n)|0}e=j0a(32)|0;c[w>>2]=e;c[w+8>>2]=-2147483616;c[w+4>>2]=25;f=e;i=186986;j=f+25|0;do{a[f>>0]=a[i>>0]|0;f=f+1|0;i=i+1|0}while((f|0)<(j|0));a[e+25>>0]=0;e=fia()|0;k=b+120|0;g=k;f=c[g>>2]|0;g=c[g+4>>2]|0;if(r>>>0>g>>>0|(r|0)==(g|0)&q>>>0>f>>>0){n=q2a(q|0,r|0,f|0,g|0)|0;d=+h[e+8>>3]*(+(n>>>0)+4294967296.0*+(y>>>0))}else{n=q2a(f|0,g|0,q|0,r|0)|0;d=-(+h[e+8>>3]*(+(n>>>0)+4294967296.0*+(y>>>0)))}Aia(x,v,w,d)|0;if((a[w+11>>0]|0)<0)l0a(c[w>>2]|0);e=j0a(32)|0;c[w>>2]=e;c[w+8>>2]=-2147483616;c[w+4>>2]=23;f=e;i=187012;j=f+23|0;do{a[f>>0]=a[i>>0]|0;f=f+1|0;i=i+1|0}while((f|0)<(j|0));a[e+23>>0]=0;e=fia()|0;g=k;f=c[g>>2]|0;g=c[g+4>>2]|0;if(p>>>0>g>>>0|(p|0)==(g|0)&o>>>0>f>>>0){n=q2a(o|0,p|0,f|0,g|0)|0;d=+h[e+8>>3]*(+(n>>>0)+4294967296.0*+(y>>>0))}else{n=q2a(f|0,g|0,o|0,p|0)|0;d=-(+h[e+8>>3]*(+(n>>>0)+4294967296.0*+(y>>>0)))}Aia(x,v,w,d)|0;if((a[w+11>>0]|0)<0)l0a(c[w>>2]|0);e=j0a(32)|0;c[w>>2]=e;c[w+8>>2]=-2147483616;c[w+4>>2]=25;f=e;i=187036;j=f+25|0;do{a[f>>0]=a[i>>0]|0;f=f+1|0;i=i+1|0}while((f|0)<(j|0));a[e+25>>0]=0;e=fia()|0;if(p>>>0>r>>>0|(p|0)==(r|0)&o>>>0>q>>>0){r=q2a(o|0,p|0,q|0,r|0)|0;d=+h[e+8>>3]*(+(r>>>0)+4294967296.0*+(y>>>0))}else{r=q2a(q|0,r|0,o|0,p|0)|0;d=-(+h[e+8>>3]*(+(r>>>0)+4294967296.0*+(y>>>0)))}Aia(x,v,w,d)|0;if((a[w+11>>0]|0)<0)l0a(c[w>>2]|0);e=j0a(32)|0;c[w>>2]=e;c[w+8>>2]=-2147483616;c[w+4>>2]=25;f=e;i=187062;j=f+25|0;do{a[f>>0]=a[i>>0]|0;f=f+1|0;i=i+1|0}while((f|0)<(j|0));a[e+25>>0]=0;e=fia()|0;g=k;f=c[g>>2]|0;g=c[g+4>>2]|0;if(t>>>0>g>>>0|(t|0)==(g|0)&u>>>0>f>>>0){r=q2a(u|0,t|0,f|0,g|0)|0;d=+h[e+8>>3]*(+(r>>>0)+4294967296.0*+(y>>>0))}else{r=q2a(f|0,g|0,u|0,t|0)|0;d=-(+h[e+8>>3]*(+(r>>>0)+4294967296.0*+(y>>>0)))}Aia(x,v,w,d)|0;if((a[w+11>>0]|0)<0)l0a(c[w>>2]|0);e=j0a(32)|0;c[w>>2]=e;c[w+8>>2]=-2147483616;c[w+4>>2]=23;f=e;i=187088;j=f+23|0;do{a[f>>0]=a[i>>0]|0;f=f+1|0;i=i+1|0}while((f|0)<(j|0));a[e+23>>0]=0;g=fia()|0;f=k;e=c[f>>2]|0;f=c[f+4>>2]|0;if(s>>>0>f>>>0|(s|0)==(f|0)&m>>>0>e>>>0){r=q2a(m|0,s|0,e|0,f|0)|0;d=+h[g+8>>3]*(+(r>>>0)+4294967296.0*+(y>>>0))}else{r=q2a(e|0,f|0,m|0,s|0)|0;d=-(+h[g+8>>3]*(+(r>>>0)+4294967296.0*+(y>>>0)))}Aia(x,v,w,d)|0;if((a[w+11>>0]|0)<0)l0a(c[w>>2]|0);e=j0a(32)|0;c[w>>2]=e;c[w+8>>2]=-2147483616;c[w+4>>2]=25;f=e;i=187112;j=f+25|0;do{a[f>>0]=a[i>>0]|0;f=f+1|0;i=i+1|0}while((f|0)<(j|0));a[e+25>>0]=0;e=fia()|0;if(s>>>0>t>>>0|(s|0)==(t|0)&m>>>0>u>>>0){u=q2a(m|0,s|0,u|0,t|0)|0;d=+h[e+8>>3]*(+(u>>>0)+4294967296.0*+(y>>>0))}else{u=q2a(u|0,t|0,m|0,s|0)|0;d=-(+h[e+8>>3]*(+(u>>>0)+4294967296.0*+(y>>>0)))}Aia(x,v,w,d)|0;if((a[w+11>>0]|0)<0)l0a(c[w>>2]|0)}}if(!(ZQ(5)|0)){l=z;return}x=USa(mr(lr(5)|0,187138,16)|0,b)|0;BSa(w,x+(c[(c[x>>2]|0)+-12>>2]|0)|0);b=cUa(w,230580)|0;b=kk[c[(c[b>>2]|0)+28>>2]&511](b,10)|0;dUa(w);VSa(x,b)|0;HSa(x)|0;l=z;return}function iwa(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;i=l;l=l+160|0;h=i;if(ZQ(5)|0){g=mr(lr(5)|0,186863,19)|0;BSa(h,g+(c[(c[g>>2]|0)+-12>>2]|0)|0);f=cUa(h,230580)|0;f=kk[c[(c[f>>2]|0)+28>>2]&511](f,10)|0;dUa(h);VSa(g,f)|0;HSa(g)|0}a[b+30>>0]=0;d=c[b+32>>2]|0;if(!d){l=i;return}if(a[b+28>>0]|0){l=i;return}g=d+100|0;qca(c[g>>2]|0,186883,0)|0;b=d+208|0;f=c[b>>2]|0;if(gk[c[(c[f>>2]|0)+248>>2]&1023](f)|0?c[c[(c[b>>2]|0)+124>>2]>>2]|0:0){ska(h,268);d=c[g>>2]|0;f=h+60|0;e=c[f>>2]|0;if((e|0)!=(d|0)){c[f>>2]=d;if(d|0){d=d+8|0;c[d>>2]=(c[d>>2]|0)+1}if(e|0?(j=e+8|0,d=c[j>>2]|0,c[j>>2]=d-1,(d|0)==1):0)UU(e,1,1)}j=c[b>>2]|0;if(!(gk[c[(c[j>>2]|0)+248>>2]&1023](j)|0))b=0;else b=c[c[(c[b>>2]|0)+124>>2]>>2]|0;tka(h,b);b=c[22906]|0;c[h>>2]=b;c[h+(c[b+-12>>2]|0)>>2]=c[22909];b=h+124|0;d=c[b>>2]|0;if(d|0?(e=d+8|0,j=c[e>>2]|0,c[e>>2]=j-1,(j|0)==1):0)UU(d,1,1);c[b>>2]=0;PT(h+112|0,c[h+116>>2]|0);oea(h+100|0,c[h+104>>2]|0);b=h+92|0;d=c[b>>2]|0;if(d|0?(e=d+8|0,j=c[e>>2]|0,c[e>>2]=j-1,(j|0)==1):0)UU(d,1,1);c[b>>2]=0;b=c[h+80>>2]|0;if(b|0){c[h+84>>2]=b;l0a(b)}b=c[h+68>>2]|0;if(b|0){c[h+72>>2]=b;l0a(b)}b=c[f>>2]|0;if(b|0?(e=b+8|0,j=c[e>>2]|0,c[e>>2]=j-1,(j|0)==1):0)UU(b,1,1);c[f>>2]=0;Cy(h,91628);Pr(h+128|0)}qca(c[g>>2]|0,186908,0)|0;l=i;return}function jwa(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;e=b+40|0;gk[c[(c[e>>2]|0)+8>>2]&1023](e)|0;f=b+60|0;g=b+68|0;if(c[g>>2]|0?(d=c[b+64>>2]|0,h=(c[f>>2]|0)+4|0,i=c[d>>2]|0,c[i+4>>2]=c[h>>2],c[c[h>>2]>>2]=i,c[g>>2]=0,(d|0)!=(f|0)):0)do{i=d;d=c[d+4>>2]|0;l0a(i)}while((d|0)!=(f|0));h=b+72|0;a[h>>0]=0;gk[c[(c[e>>2]|0)+12>>2]&1023](e)|0;j=c[b+32>>2]|0;gk[c[(c[e>>2]|0)+8>>2]&1023](e)|0;i=j0a(12)|0;c[i+8>>2]=j;c[i+4>>2]=f;j=c[f>>2]|0;c[i>>2]=j;c[j+4>>2]=i;c[f>>2]=i;c[g>>2]=(c[g>>2]|0)+1;a[h>>0]=1;i=b+52|0;Eha(i)|0;gk[c[(c[e>>2]|0)+12>>2]&1023](e)|0;j=c[b+36>>2]|0;gk[c[(c[e>>2]|0)+8>>2]&1023](e)|0;d=j0a(12)|0;c[d+8>>2]=j;c[d+4>>2]=f;j=c[f>>2]|0;c[d>>2]=j;c[j+4>>2]=d;c[f>>2]=d;c[g>>2]=(c[g>>2]|0)+1;a[h>>0]=1;Eha(i)|0;gk[c[(c[e>>2]|0)+12>>2]&1023](e)|0;f=b+76|0;gk[c[(c[f>>2]|0)+8>>2]&1023](f)|0;g=b+96|0;e=b+104|0;if(!(c[e>>2]|0)){j=b+108|0;a[j>>0]=0;j=c[f>>2]|0;j=j+12|0;j=c[j>>2]|0;gk[j&1023](f)|0;return}d=c[b+100>>2]|0;j=(c[g>>2]|0)+4|0;i=c[d>>2]|0;c[i+4>>2]=c[j>>2];c[c[j>>2]>>2]=i;c[e>>2]=0;if((d|0)==(g|0)){j=b+108|0;a[j>>0]=0;j=c[f>>2]|0;j=j+12|0;j=c[j>>2]|0;gk[j&1023](f)|0;return}do{j=d;d=c[d+4>>2]|0;l0a(j)}while((d|0)!=(g|0));j=b+108|0;a[j>>0]=0;j=c[f>>2]|0;j=j+12|0;j=c[j>>2]|0;gk[j&1023](f)|0;return}function kwa(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;o=b+24|0;f=c[o>>2]|0;e=c[f+220>>2]|0;if(!e){e=c[b+20>>2]|0;if(!e)e=0;else e=(c[e+24>>2]|0)==0?0:f}else e=c[e+16>>2]|0;if((f|0)==(e|0)){e=qR(f)|0;h=0}else{e=qR(e)|0;h=c[(c[o>>2]|0)+120>>2]|0}f=d+216|0;g=c[f>>2]|0;if((g|0)!=(e|0)){c[f>>2]=e;if(e|0){m=e+8|0;c[m>>2]=(c[m>>2]|0)+1}if(g|0?(k=g+8|0,m=c[k>>2]|0,c[k>>2]=m-1,(m|0)==1):0)UU(g,1,1)}e=d+228|0;f=c[e>>2]|0;if((f|0)!=(h|0)){c[e>>2]=h;if(h|0){m=h+8|0;c[m>>2]=(c[m>>2]|0)+1}if(f|0?(k=f+8|0,m=c[k>>2]|0,c[k>>2]=m-1,(m|0)==1):0)UU(f,1,1)}j=c[(c[o>>2]|0)+624>>2]|0;k=(j|0)==0;if(k)m=0;else m=c[j+48>>2]|0;e=d+100|0;f=c[e>>2]|0;if((f|0)!=(m|0)){c[e>>2]=m;if(m|0){i=m+8|0;c[i>>2]=(c[i>>2]|0)+1}if(f|0?(h=f+8|0,i=c[h>>2]|0,c[h>>2]=i-1,(i|0)==1):0)UU(f,1,1)}e=c[(c[o>>2]|0)+220>>2]|0;if((e|0)!=0?(l=y1a(e,47728,58800,0)|0,(l|0)!=0):0){i=c[l+40>>2]|0;if((i|0)!=0?(c[i+24>>2]|0)!=0:0){e=c[l+44>>2]|0;if(!e)e=1;else e=(c[e+88>>2]|0)==0;e=e&1}else e=1;a[d+245>>0]=e;i=l+68|0;f=c[(c[i>>2]|0)+16>>2]|0;e=d+148|0;g=(c[e>>2]|0)+40|0;h=c[g>>2]|0;if((h|0)!=(f|0)){c[g>>2]=f;if(f|0){g=f+8|0;c[g>>2]=(c[g>>2]|0)+1}if(h|0?(f=h+8|0,g=c[f>>2]|0,c[f>>2]=g-1,(g|0)==1):0)UU(h,1,1)}g=c[(c[i>>2]|0)+20>>2]|0;h=l;i=1}else{a[d+245>>0]=1;e=d+148|0;f=(c[e>>2]|0)+40|0;g=c[f>>2]|0;if((g|0)!=0?(c[f>>2]=0,i=g+8|0,l=c[i>>2]|0,c[i>>2]=l-1,(l|0)==1):0){UU(g,1,1);g=0;h=0;i=0}else{g=0;h=0;i=0}}e=(c[e>>2]|0)+44|0;f=c[e>>2]|0;if((f|0)!=(g|0)){c[e>>2]=g;if(g|0){l=g+8|0;c[l>>2]=(c[l>>2]|0)+1}if(f|0?(g=f+8|0,l=c[g>>2]|0,c[g>>2]=l-1,(l|0)==1):0)UU(f,1,1)}if(i?(n=c[h+32>>2]|0,(n|0)!=0):0){uS(c[d+200>>2]|0,n)|0;t=57}else{e=c[m+180>>2]|0;if(e|0)uS(c[d+200>>2]|0,e)|0;if(i)t=57}if((t|0)==57){n=c[h+124>>2]|0;c[d+232>>2]=c[h+120>>2];c[d+236>>2]=n}e=c[(c[o>>2]|0)+232>>2]|0;do if(!e){if(i?(p=c[h+116>>2]|0,p|0):0){q=p;t=62;break}e=c[(vt()|0)>>2]|0;if(e|0){q=e;t=62}}else{q=e;t=62}while(0);if(((((t|0)==62?a[q+94>>0]|0:0)?(r=d+224|0,s=c[r>>2]|0,(s|0)!=(q|0)):0)?(c[r>>2]=q,t=q+8|0,c[t>>2]=(c[t>>2]|0)+1,s|0):0)?(r=s+8|0,t=c[r>>2]|0,c[r>>2]=t-1,(t|0)==1):0)UU(s,1,1);if(i){f=h+48|0;e=c[f>>2]|0;f=c[f+4>>2]|0;b=b+120|0;c[b>>2]=e;c[b+4>>2]=f;if(!m)return;b=m+912|0;c[b>>2]=e;c[b+4>>2]=f;return}if(k)return;e=y1a(j,44864,58744,0)|0;if(!e)return;f=(c[e+136>>2]|0)+24|0;e=c[f>>2]|0;f=c[f+4>>2]|0;b=b+120|0;c[b>>2]=e;c[b+4>>2]=f;if(!m)return;b=m+912|0;c[b>>2]=e;c[b+4>>2]=f;return}function lwa(a){a=a|0;a=a+(c[(c[a>>2]|0)+-16>>2]|0)|0;nwa(a,103232);SU(a+128|0);return}function mwa(a){a=a|0;a=a+(c[(c[a>>2]|0)+-16>>2]|0)|0;nwa(a,103232);SU(a+128|0);l0a(a);return}function nwa(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;i=l;l=l+16|0;g=i;h=c[d>>2]|0;c[b>>2]=h;c[b+(c[h+-12>>2]|0)>>2]=c[d+20>>2];if(ZQ(5)|0){h=USa(mr(lr(5)|0,186844,18)|0,b)|0;BSa(g,h+(c[(c[h>>2]|0)+-12>>2]|0)|0);j=cUa(g,230580)|0;j=kk[c[(c[j>>2]|0)+28>>2]&511](j,10)|0;dUa(g);VSa(h,j)|0;HSa(h)|0}g=b+116|0;h=c[g>>2]|0;if(h|0?(k=h+8|0,j=c[k>>2]|0,c[k>>2]=j-1,(j|0)==1):0)UU(h,1,1);c[g>>2]=0;h=b+96|0;g=b+104|0;if(c[g>>2]|0?(f=c[b+100>>2]|0,k=(c[h>>2]|0)+4|0,j=c[f>>2]|0,c[j+4>>2]=c[k>>2],c[c[k>>2]>>2]=j,c[g>>2]=0,(f|0)!=(h|0)):0)do{k=f;f=c[f+4>>2]|0;l0a(k)}while((f|0)!=(h|0));zha(b+88|0);oX(b+76|0);g=b+60|0;f=b+68|0;if(c[f>>2]|0?(e=c[b+64>>2]|0,k=(c[g>>2]|0)+4|0,j=c[e>>2]|0,c[j+4>>2]=c[k>>2],c[c[k>>2]>>2]=j,c[f>>2]=0,(e|0)!=(g|0)):0)do{k=e;e=c[e+4>>2]|0;l0a(k)}while((e|0)!=(g|0));zha(b+52|0);oX(b+40|0);e=b+36|0;f=c[e>>2]|0;if(f|0?(j=f+8|0,k=c[j>>2]|0,c[j>>2]=k-1,(k|0)==1):0)UU(f,1,1);c[e>>2]=0;e=b+32|0;f=c[e>>2]|0;if(f|0?(j=f+8|0,k=c[j>>2]|0,c[j>>2]=k-1,(k|0)==1):0)UU(f,1,1);c[e>>2]=0;f=b+20|0;e=c[f>>2]|0;if(e|0?(j=e+8|0,k=c[j>>2]|0,c[j>>2]=k-1,(k|0)==1):0)UU(e,1,1);c[f>>2]=0;e=c[d+8>>2]|0;c[b>>2]=e;c[b+(c[e+-12>>2]|0)>>2]=c[d+12>>2];e=b+4|0;if((a[e+11>>0]|0)>=0){l=i;return}l0a(c[e>>2]|0);l=i;return}function owa(b,d){b=b|0;d=d|0;var e=0;e=c[d+4>>2]|0;c[b>>2]=e;c[b+(c[e+-12>>2]|0)>>2]=c[d+8>>2];b=b+4|0;if((a[b+11>>0]|0)>=0)return;l0a(c[b>>2]|0);return}function pwa(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=b+112|0;if(a[e>>0]|0)return;a[e>>0]=1;e=c[d+832>>2]|0;if((a[e+814>>0]|0)!=0?(c[d+936>>2]|0)>0:0){g=j0a(40)|0;e=g;f=e+40|0;do{c[e>>2]=0;e=e+4|0}while((e|0)<(f|0));Tha(g);c[g+12>>2]=0;c[g>>2]=103264;e=g+16|0;c[e>>2]=e;c[g+20>>2]=e;e=g+24|0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[e+12>>2]=0;e=b+116|0;f=c[e>>2]|0;if((f|0)!=(g|0)){c[e>>2]=g;h=g+8|0;c[h>>2]=(c[h>>2]|0)+1;if((f|0)!=0?(g=f+8|0,h=c[g>>2]|0,c[g>>2]=h-1,(h|0)==1):0){UU(f,1,1);h=14}else h=14}else e=f}else h=8;do if((h|0)==8){if(!(a[e+813>>0]|0)){e=b+116|0;h=14;break}f=j0a(48)|0;Tha(f);c[f+12>>2]=0;c[f>>2]=103120;e=f+16|0;c[e>>2]=e;c[f+20>>2]=e;e=f+24|0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[e+12>>2]=0;c[e+16>>2]=0;c[e+20>>2]=0;e=b+116|0;g=c[e>>2]|0;if((g|0)!=(f|0)){c[e>>2]=f;h=f+8|0;c[h>>2]=(c[h>>2]|0)+1;if((g|0)!=0?(f=g+8|0,h=c[f>>2]|0,c[f>>2]=h-1,(h|0)==1):0){UU(g,1,1);h=14}else h=14}else e=g}while(0);if((h|0)==14)e=c[e>>2]|0;if(!e)return;h=b+120|0;Qk[c[(c[e>>2]|0)+24>>2]&127](e,d,c[h>>2]|0,c[h+4>>2]|0);return}function qwa(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0;p=l;l=l+112|0;n=p+16|0;o=p;$ka(n);Yka(d,n)|0;c[o>>2]=0;c[o+4>>2]=0;c[o+8>>2]=0;d=j0a(32)|0;c[o>>2]=d;c[o+8>>2]=-2147483616;c[o+4>>2]=20;g=d;h=187155;i=g+20|0;do{a[g>>0]=a[h>>0]|0;g=g+1|0;h=h+1|0}while((g|0)<(i|0));a[d+20>>0]=0;Aia(e,b,o,+((c[n+48>>2]|0)>>>0))|0;if((a[o+11>>0]|0)<0)l0a(c[o>>2]|0);c[o>>2]=0;c[o+4>>2]=0;c[o+8>>2]=0;d=j0a(32)|0;c[o>>2]=d;c[o+8>>2]=-2147483616;c[o+4>>2]=27;g=d;h=187176;i=g+27|0;do{a[g>>0]=a[h>>0]|0;g=g+1|0;h=h+1|0}while((g|0)<(i|0));a[d+27>>0]=0;Aia(e,b,o,+(c[n+4>>2]|0))|0;if((a[o+11>>0]|0)<0)l0a(c[o>>2]|0);c[o>>2]=0;c[o+4>>2]=0;c[o+8>>2]=0;d=j0a(48)|0;c[o>>2]=d;c[o+8>>2]=-2147483600;c[o+4>>2]=32;g=d;h=187204;i=g+32|0;do{a[g>>0]=a[h>>0]|0;g=g+1|0;h=h+1|0}while((g|0)<(i|0));a[d+32>>0]=0;Aia(e,b,o,+(c[n+20>>2]|0))|0;if((a[o+11>>0]|0)<0)l0a(c[o>>2]|0);c[o>>2]=0;c[o+4>>2]=0;c[o+8>>2]=0;d=j0a(32)|0;c[o>>2]=d;c[o+8>>2]=-2147483616;c[o+4>>2]=24;g=d;h=187237;i=g+24|0;do{a[g>>0]=a[h>>0]|0;g=g+1|0;h=h+1|0}while((g|0)<(i|0));a[d+24>>0]=0;Aia(e,b,o,+(c[n+24>>2]|0))|0;if((a[o+11>>0]|0)<0)l0a(c[o>>2]|0);c[o>>2]=0;c[o+4>>2]=0;c[o+8>>2]=0;d=j0a(32)|0;c[o>>2]=d;c[o+8>>2]=-2147483616;c[o+4>>2]=29;g=d;h=187262;i=g+29|0;do{a[g>>0]=a[h>>0]|0;g=g+1|0;h=h+1|0}while((g|0)<(i|0));a[d+29>>0]=0;Aia(e,b,o,+(c[n+12>>2]|0))|0;if((a[o+11>>0]|0)<0)l0a(c[o>>2]|0);c[o>>2]=0;c[o+4>>2]=0;c[o+8>>2]=0;d=j0a(16)|0;c[o>>2]=d;c[o+8>>2]=-2147483632;c[o+4>>2]=13;g=d;h=187292;i=g+13|0;do{a[g>>0]=a[h>>0]|0;g=g+1|0;h=h+1|0}while((g|0)<(i|0));a[d+13>>0]=0;Aia(e,b,o,+(c[n+28>>2]|0))|0;if((a[o+11>>0]|0)<0)l0a(c[o>>2]|0);c[o>>2]=0;c[o+4>>2]=0;c[o+8>>2]=0;d=j0a(32)|0;c[o>>2]=d;c[o+8>>2]=-2147483616;c[o+4>>2]=21;g=d;h=187306;i=g+21|0;do{a[g>>0]=a[h>>0]|0;g=g+1|0;h=h+1|0}while((g|0)<(i|0));a[d+21>>0]=0;Aia(e,b,o,+(c[n+16>>2]|0))|0;if((a[o+11>>0]|0)<0)l0a(c[o>>2]|0);c[o>>2]=0;c[o+4>>2]=0;c[o+8>>2]=0;d=j0a(32)|0;c[o>>2]=d;c[o+8>>2]=-2147483616;c[o+4>>2]=27;g=d;h=187328;i=g+27|0;do{a[g>>0]=a[h>>0]|0;g=g+1|0;h=h+1|0}while((g|0)<(i|0));a[d+27>>0]=0;Aia(e,b,o,+(c[n+40>>2]|0))|0;if((a[o+11>>0]|0)<0)l0a(c[o>>2]|0);c[o>>2]=0;c[o+4>>2]=0;c[o+8>>2]=0;d=j0a(32)|0;c[o>>2]=d;c[o+8>>2]=-2147483616;c[o+4>>2]=24;g=d;h=187356;i=g+24|0;do{a[g>>0]=a[h>>0]|0;g=g+1|0;h=h+1|0}while((g|0)<(i|0));a[d+24>>0]=0;Aia(e,b,o,+(c[n+44>>2]|0))|0;if((a[o+11>>0]|0)<0)l0a(c[o>>2]|0);d=c[n+52>>2]|0;m=n+56|0;if((d|0)==(m|0))f=0;else{f=0;do{i=c[d+20>>2]|0;g=c[d+4>>2]|0;if(!g){g=d+8|0;h=c[g>>2]|0;if((c[h>>2]|0)==(d|0))d=h;else do{k=c[g>>2]|0;g=k+8|0;d=c[g>>2]|0}while((c[d>>2]|0)!=(k|0))}else{d=g;while(1){g=c[d>>2]|0;if(!g)break;else d=g}}f=i+f|0}while((d|0)!=(m|0))};c[o>>2]=0;c[o+4>>2]=0;c[o+8>>2]=0;d=j0a(32)|0;c[o>>2]=d;c[o+8>>2]=-2147483616;c[o+4>>2]=31;g=d;h=187381;i=g+31|0;do{a[g>>0]=a[h>>0]|0;g=g+1|0;h=h+1|0}while((g|0)<(i|0));a[d+31>>0]=0;Aia(e,b,o,+(f>>>0))|0;if((a[o+11>>0]|0)<0)l0a(c[o>>2]|0);j=n+68|0;c[o>>2]=0;c[o+4>>2]=0;c[o+8>>2]=0;d=j0a(32)|0;c[o>>2]=d;c[o+8>>2]=-2147483616;c[o+4>>2]=27;g=d;h=187413;i=g+27|0;do{a[g>>0]=a[h>>0]|0;g=g+1|0;h=h+1|0}while((g|0)<(i|0));a[d+27>>0]=0;k=n+72|0;d=c[k>>2]|0;a:do if(!d){h=k;g=k}else{do if(c[d+16>>2]|0){f=d;while(1){d=c[f>>2]|0;if(!d){h=35;break}if(!(c[d+16>>2]|0)){h=36;break}else f=d}if((h|0)==35){h=f;g=f;break a}else if((h|0)==36)break}else f=n+72|0;while(0);h=d;g=f}while(0);d=c[g>>2]|0;if(!d){d=j0a(24)|0;c[d+16>>2]=0;c[d+20>>2]=0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=h;c[g>>2]=d;f=c[c[j>>2]>>2]|0;if(!f)f=d;else{c[j>>2]=f;f=c[g>>2]|0}fp(c[n+72>>2]|0,f);i=n+76|0;c[i>>2]=(c[i>>2]|0)+1}Aia(e,b,o,+((c[d+20>>2]|0)>>>0))|0;if((a[o+11>>0]|0)<0)l0a(c[o>>2]|0);c[o>>2]=0;c[o+4>>2]=0;c[o+8>>2]=0;d=j0a(32)|0;c[o>>2]=d;c[o+8>>2]=-2147483616;c[o+4>>2]=26;g=d;h=187441;i=g+26|0;do{a[g>>0]=a[h>>0]|0;g=g+1|0;h=h+1|0}while((g|0)<(i|0));a[d+26>>0]=0;d=c[k>>2]|0;do if(d){g=n+72|0;while(1){f=c[d+16>>2]|0;if(f>>>0>1){f=c[d>>2]|0;if(!f){h=50;break}}else{if(f|0){h=54;break}g=d+4|0;f=c[g>>2]|0;if(!f){h=53;break}else d=g}g=d;d=f}if((h|0)==50){f=d;g=d;break}else if((h|0)==53){f=d;break}else if((h|0)==54){f=d;break}}else{f=k;g=k}while(0);d=c[g>>2]|0;if(!d){d=j0a(24)|0;c[d+16>>2]=1;c[d+20>>2]=0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=f;c[g>>2]=d;f=c[c[j>>2]>>2]|0;if(!f)f=d;else{c[j>>2]=f;f=c[g>>2]|0}fp(c[n+72>>2]|0,f);i=n+76|0;c[i>>2]=(c[i>>2]|0)+1}Aia(e,b,o,+((c[d+20>>2]|0)>>>0))|0;if((a[o+11>>0]|0)<0)l0a(c[o>>2]|0);c[o>>2]=0;c[o+4>>2]=0;c[o+8>>2]=0;d=j0a(32)|0;c[o>>2]=d;c[o+8>>2]=-2147483616;c[o+4>>2]=31;g=d;h=187468;i=g+31|0;do{a[g>>0]=a[h>>0]|0;g=g+1|0;h=h+1|0}while((g|0)<(i|0));a[d+31>>0]=0;d=c[k>>2]|0;do if(d){g=n+72|0;while(1){f=c[d+16>>2]|0;if(f>>>0>3){f=c[d>>2]|0;if(!f){h=67;break}}else{if((f|0)==3){h=71;break}g=d+4|0;f=c[g>>2]|0;if(!f){h=70;break}else d=g}g=d;d=f}if((h|0)==67){f=d;g=d;break}else if((h|0)==70){f=d;break}else if((h|0)==71){f=d;break}}else{f=k;g=k}while(0);d=c[g>>2]|0;if(!d){d=j0a(24)|0;c[d+16>>2]=3;c[d+20>>2]=0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=f;c[g>>2]=d;f=c[c[j>>2]>>2]|0;if(!f)f=d;else{c[j>>2]=f;f=c[g>>2]|0}fp(c[n+72>>2]|0,f);i=n+76|0;c[i>>2]=(c[i>>2]|0)+1}Aia(e,b,o,+((c[d+20>>2]|0)>>>0))|0;if((a[o+11>>0]|0)<0)l0a(c[o>>2]|0);c[o>>2]=0;c[o+4>>2]=0;c[o+8>>2]=0;d=j0a(32)|0;c[o>>2]=d;c[o+8>>2]=-2147483616;c[o+4>>2]=30;g=d;h=187500;i=g+30|0;do{a[g>>0]=a[h>>0]|0;g=g+1|0;h=h+1|0}while((g|0)<(i|0));a[d+30>>0]=0;d=c[k>>2]|0;do if(d){g=n+72|0;while(1){f=c[d+16>>2]|0;if(f>>>0>2){f=c[d>>2]|0;if(!f){h=84;break}}else{if((f|0)==2){h=88;break}g=d+4|0;f=c[g>>2]|0;if(!f){h=87;break}else d=g}g=d;d=f}if((h|0)==84){f=d;g=d;break}else if((h|0)==87){f=d;break}else if((h|0)==88){f=d;break}}else{f=k;g=k}while(0);d=c[g>>2]|0;if(!d){d=j0a(24)|0;c[d+16>>2]=2;c[d+20>>2]=0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=f;c[g>>2]=d;f=c[c[j>>2]>>2]|0;if(!f)f=d;else{c[j>>2]=f;f=c[g>>2]|0}fp(c[n+72>>2]|0,f);i=n+76|0;c[i>>2]=(c[i>>2]|0)+1}Aia(e,b,o,+((c[d+20>>2]|0)>>>0))|0;if((a[o+11>>0]|0)<0)l0a(c[o>>2]|0);c[o>>2]=0;c[o+4>>2]=0;c[o+8>>2]=0;d=j0a(32)|0;c[o>>2]=d;c[o+8>>2]=-2147483616;c[o+4>>2]=30;g=d;h=187531;i=g+30|0;do{a[g>>0]=a[h>>0]|0;g=g+1|0;h=h+1|0}while((g|0)<(i|0));a[d+30>>0]=0;d=c[k>>2]|0;do if(d){g=n+72|0;while(1){f=c[d+16>>2]|0;if(f>>>0>4){f=c[d>>2]|0;if(!f){h=101;break}}else{if((f|0)==4){h=105;break}g=d+4|0;f=c[g>>2]|0;if(!f){h=104;break}else d=g}g=d;d=f}if((h|0)==101){f=d;g=d;break}else if((h|0)==104){f=d;break}else if((h|0)==105){f=d;break}}else{f=k;g=k}while(0);d=c[g>>2]|0;if(!d){d=j0a(24)|0;c[d+16>>2]=4;c[d+20>>2]=0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=f;c[g>>2]=d;f=c[c[j>>2]>>2]|0;if(!f)f=d;else{c[j>>2]=f;f=c[g>>2]|0}fp(c[n+72>>2]|0,f);i=n+76|0;c[i>>2]=(c[i>>2]|0)+1}Aia(e,b,o,+((c[d+20>>2]|0)>>>0))|0;if((a[o+11>>0]|0)<0)l0a(c[o>>2]|0);c[o>>2]=0;c[o+4>>2]=0;c[o+8>>2]=0;d=j0a(48)|0;c[o>>2]=d;c[o+8>>2]=-2147483600;c[o+4>>2]=35;g=d;h=187562;i=g+35|0;do{a[g>>0]=a[h>>0]|0;g=g+1|0;h=h+1|0}while((g|0)<(i|0));a[d+35>>0]=0;d=c[k>>2]|0;do if(d){g=n+72|0;while(1){f=c[d+16>>2]|0;if(f>>>0>5){f=c[d>>2]|0;if(!f){h=118;break}}else{if((f|0)==5){h=122;break}g=d+4|0;f=c[g>>2]|0;if(!f){h=121;break}else d=g}g=d;d=f}if((h|0)==118){f=d;g=d;break}else if((h|0)==121){f=d;break}else if((h|0)==122){f=d;break}}else{f=k;g=k}while(0);d=c[g>>2]|0;if(!d){d=j0a(24)|0;c[d+16>>2]=5;c[d+20>>2]=0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=f;c[g>>2]=d;f=c[c[j>>2]>>2]|0;if(!f)f=d;else{c[j>>2]=f;f=c[g>>2]|0}fp(c[n+72>>2]|0,f);i=n+76|0;c[i>>2]=(c[i>>2]|0)+1}Aia(e,b,o,+((c[d+20>>2]|0)>>>0))|0;if((a[o+11>>0]|0)<0)l0a(c[o>>2]|0);c[o>>2]=0;c[o+4>>2]=0;c[o+8>>2]=0;d=j0a(48)|0;c[o>>2]=d;c[o+8>>2]=-2147483600;c[o+4>>2]=33;g=d;h=187598;i=g+33|0;do{a[g>>0]=a[h>>0]|0;g=g+1|0;h=h+1|0}while((g|0)<(i|0));a[d+33>>0]=0;d=c[k>>2]|0;do if(d){g=n+72|0;while(1){f=c[d+16>>2]|0;if(f>>>0>6){f=c[d>>2]|0;if(!f){h=135;break}}else{if((f|0)==6){h=139;break}g=d+4|0;f=c[g>>2]|0;if(!f){h=138;break}else d=g}g=d;d=f}if((h|0)==135){f=d;g=d;break}else if((h|0)==138){f=d;break}else if((h|0)==139){f=d;break}}else{f=k;g=k}while(0);d=c[g>>2]|0;if(!d){d=j0a(24)|0;c[d+16>>2]=6;c[d+20>>2]=0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=f;c[g>>2]=d;f=c[c[j>>2]>>2]|0;if(!f)f=d;else{c[j>>2]=f;f=c[g>>2]|0}fp(c[n+72>>2]|0,f);i=n+76|0;c[i>>2]=(c[i>>2]|0)+1}Aia(e,b,o,+((c[d+20>>2]|0)>>>0))|0;if((a[o+11>>0]|0)<0)l0a(c[o>>2]|0);c[o>>2]=0;c[o+4>>2]=0;c[o+8>>2]=0;d=j0a(32)|0;c[o>>2]=d;c[o+8>>2]=-2147483616;c[o+4>>2]=26;g=d;h=187632;i=g+26|0;do{a[g>>0]=a[h>>0]|0;g=g+1|0;h=h+1|0}while((g|0)<(i|0));a[d+26>>0]=0;d=c[k>>2]|0;do if(d){g=n+72|0;while(1){f=c[d+16>>2]|0;if(f>>>0>7){f=c[d>>2]|0;if(!f){h=152;break}}else{if((f|0)==7){h=156;break}g=d+4|0;f=c[g>>2]|0;if(!f){h=155;break}else d=g}g=d;d=f}if((h|0)==152){f=d;g=d;break}else if((h|0)==155){f=d;break}else if((h|0)==156){f=d;break}}else{f=k;g=k}while(0);d=c[g>>2]|0;if(!d){d=j0a(24)|0;c[d+16>>2]=7;c[d+20>>2]=0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=f;c[g>>2]=d;f=c[c[j>>2]>>2]|0;if(!f)f=d;else{c[j>>2]=f;f=c[g>>2]|0}fp(c[n+72>>2]|0,f);i=n+76|0;c[i>>2]=(c[i>>2]|0)+1}Aia(e,b,o,+((c[d+20>>2]|0)>>>0))|0;if((a[o+11>>0]|0)<0)l0a(c[o>>2]|0);c[o>>2]=0;c[o+4>>2]=0;c[o+8>>2]=0;d=j0a(32)|0;c[o>>2]=d;c[o+8>>2]=-2147483616;c[o+4>>2]=31;g=d;h=187659;i=g+31|0;do{a[g>>0]=a[h>>0]|0;g=g+1|0;h=h+1|0}while((g|0)<(i|0));a[d+31>>0]=0;d=c[k>>2]|0;do if(d){g=n+72|0;while(1){f=c[d+16>>2]|0;if(f>>>0>8){f=c[d>>2]|0;if(!f){h=169;break}}else{if((f|0)==8){h=173;break}g=d+4|0;f=c[g>>2]|0;if(!f){h=172;break}else d=g}g=d;d=f}if((h|0)==169){f=d;g=d;break}else if((h|0)==172){f=d;break}else if((h|0)==173){f=d;break}}else{f=k;g=k}while(0);d=c[g>>2]|0;if(!d){d=j0a(24)|0;c[d+16>>2]=8;c[d+20>>2]=0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=f;c[g>>2]=d;f=c[c[j>>2]>>2]|0;if(!f)f=d;else{c[j>>2]=f;f=c[g>>2]|0}fp(c[n+72>>2]|0,f);i=n+76|0;c[i>>2]=(c[i>>2]|0)+1}Aia(e,b,o,+((c[d+20>>2]|0)>>>0))|0;if((a[o+11>>0]|0)<0)l0a(c[o>>2]|0);c[o>>2]=0;c[o+4>>2]=0;c[o+8>>2]=0;d=j0a(32)|0;c[o>>2]=d;c[o+8>>2]=-2147483616;c[o+4>>2]=28;g=d;h=187691;i=g+28|0;do{a[g>>0]=a[h>>0]|0;g=g+1|0;h=h+1|0}while((g|0)<(i|0));a[d+28>>0]=0;d=c[k>>2]|0;do if(d){g=n+72|0;while(1){f=c[d+16>>2]|0;if(f>>>0>9){f=c[d>>2]|0;if(!f){h=186;break}}else{if((f|0)==9){h=190;break}g=d+4|0;f=c[g>>2]|0;if(!f){h=189;break}else d=g}g=d;d=f}if((h|0)==186){f=d;g=d;break}else if((h|0)==189){f=d;break}else if((h|0)==190){f=d;break}}else{f=k;g=k}while(0);d=c[g>>2]|0;if(!d){d=j0a(24)|0;c[d+16>>2]=9;c[d+20>>2]=0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=f;c[g>>2]=d;f=c[c[j>>2]>>2]|0;if(!f)f=d;else{c[j>>2]=f;f=c[g>>2]|0}fp(c[n+72>>2]|0,f);j=n+76|0;c[j>>2]=(c[j>>2]|0)+1}Aia(e,b,o,+((c[d+20>>2]|0)>>>0))|0;if((a[o+11>>0]|0)>=0){c[n>>2]=93224;e=n+68|0;o=c[k>>2]|0;aC(e,o);n=n+52|0;o=c[m>>2]|0;Wga(n,o);l=p;return}l0a(c[o>>2]|0);c[n>>2]=93224;e=n+68|0;o=c[k>>2]|0;aC(e,o);n=n+52|0;o=c[m>>2]|0;Wga(n,o);l=p;return}function rwa(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;c[a>>2]=103264;b=c[a+28>>2]|0;if(b|0){c[a+32>>2]=b;l0a(b)}e=a+16|0;d=a+24|0;if(!(c[d>>2]|0)){SU(a);return}b=c[a+20>>2]|0;f=(c[e>>2]|0)+4|0;g=c[b>>2]|0;c[g+4>>2]=c[f>>2];c[c[f>>2]>>2]=g;c[d>>2]=0;if((b|0)==(e|0)){SU(a);return}do{g=b;b=c[b+4>>2]|0;l0a(g)}while((b|0)!=(e|0));SU(a);return}function swa(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;c[a>>2]=103264;b=c[a+28>>2]|0;if(b|0){c[a+32>>2]=b;l0a(b)}e=a+16|0;d=a+24|0;if(!(c[d>>2]|0)){SU(a);l0a(a);return}b=c[a+20>>2]|0;f=(c[e>>2]|0)+4|0;g=c[b>>2]|0;c[g+4>>2]=c[f>>2];c[c[f>>2]>>2]=g;c[d>>2]=0;if((b|0)==(e|0)){SU(a);l0a(a);return}do{g=b;b=c[b+4>>2]|0;l0a(g)}while((b|0)!=(e|0));SU(a);l0a(a);return}function twa(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var i=0,j=0,k=0.0,m=0,n=0,o=0,p=0.0,q=0,r=0,s=0.0,t=0,u=0,v=0,w=0,x=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0;V=l;l=l+48|0;Q=V+36|0;R=V+16|0;S=V+8|0;T=V;U=V+24|0;f=c[b+20>>2]|0;K=b+16|0;g=f;if((K|0)==(g|0)){l=V;return}L=b+12|0;M=R+4|0;N=e+928|0;O=e+936|0;P=e+912|0;w=e+920|0;x=U+8|0;z=U+4|0;A=U+11|0;B=U+8|0;C=U+4|0;D=U+11|0;E=U+8|0;F=U+4|0;G=U+11|0;H=b+24|0;I=b+32|0;J=b+36|0;v=b+28|0;u=g;do{c[Q>>2]=0;t=f;Nk[c[(c[L>>2]|0)+944>>2]&255](c[t+12>>2]|0,34919,Q);if(!(c[Q>>2]|0))f=c[u+4>>2]|0;else{b=t+8|0;q=c[b>>2]|0;b=c[b+4>>2]|0;r=R;c[r>>2]=q;c[r+4>>2]=b;r=S;c[r>>2]=0;c[r+4>>2]=0;r=T;c[r>>2]=0;c[r+4>>2]=0;Nk[c[(c[L>>2]|0)+952>>2]&255](q,34918,S);Nk[c[(c[L>>2]|0)+952>>2]&255](c[M>>2]|0,34918,T);q=N;r=c[q>>2]|0;q=c[q+4>>2]|0;b=c[O>>2]|0;do if((b|0)<64){Z=b+-1|0;m=v2a(1,0,Z|0)|0;n=y;g=S;e=c[g>>2]|0;g=c[g+4>>2]|0;Y=u2a(e|0,g|0,Z|0)|0;X=y;o=T;j=c[o>>2]|0;o=c[o+4>>2]|0;W=u2a(j|0,o|0,Z|0)|0;i=y;Z=u2a(r|0,q|0,Z|0)|0;Z=p2a(Z|0,y|0,-1,-1)|0;X=p2a(Z|0,y|0,Y|0,X|0)|0;i=p2a(X|0,y|0,W|0,i|0)|0;W=y;if(W>>>0<0|(W|0)==0&i>>>0<2){b=v2a(1,0,b|0)|0;i=y;if(g>>>0>o>>>0|(g|0)==(o|0)&e>>>0>j>>>0){j=p2a(j|0,o|0,b|0,i|0)|0;b=y;Z=T;c[Z>>2]=j;c[Z+4>>2]=b;break}if(g>>>0>q>>>0|(g|0)==(q|0)&e>>>0>r>>>0?(Y=q2a(e|0,g|0,r|0,q|0)|0,W=y,Z=u2a(m|0,n|0,1)|0,X=y,W>>>0>X>>>0|(W|0)==(X|0)&Y>>>0>Z>>>0):0){r=p2a(b|0,i|0,r|0,q|0)|0;b=o;q=y;break}if(q>>>0>o>>>0|(q|0)==(o|0)&r>>>0>j>>>0?(Y=q2a(r|0,q|0,j|0,o|0)|0,W=y,Z=u2a(m|0,n|0,1)|0,X=y,W>>>0>X>>>0|(W|0)==(X|0)&Y>>>0>Z>>>0):0){j=p2a(j|0,o|0,b|0,i|0)|0;Z=y;e=p2a(e|0,g|0,b|0,i|0)|0;g=y;b=S;c[b>>2]=e;c[b+4>>2]=g;b=T;c[b>>2]=j;c[b+4>>2]=Z;b=Z}else b=o}else b=o}else{b=T;g=S;j=c[b>>2]|0;b=c[b+4>>2]|0;e=c[g>>2]|0;g=c[g+4>>2]|0}while(0);g=q2a(j|0,b|0,e|0,g|0)|0;s=(+(g>>>0)+4294967296.0*+(y>>>0))*1.0e-09;g=fia()|0;b=P;e=c[b>>2]|0;b=c[b+4>>2]|0;j=w;i=c[j>>2]|0;j=c[j+4>>2]|0;if(j>>>0>b>>>0|(j|0)==(b|0)&i>>>0>e>>>0){Z=q2a(i|0,j|0,e|0,b|0)|0;k=+h[g+8>>3]*(+(Z>>>0)+4294967296.0*+(y>>>0))}else{Z=q2a(e|0,b|0,i|0,j|0)|0;k=-(+h[g+8>>3]*(+(Z>>>0)+4294967296.0*+(y>>>0)))}e=S;g=c[e>>2]|0;e=c[e+4>>2]|0;if(e>>>0>q>>>0|(e|0)==(q|0)&g>>>0>r>>>0){Z=q2a(g|0,e|0,r|0,q|0)|0;p=k+(+(Z>>>0)+4294967296.0*+(y>>>0))*1.0e-09}else{Z=q2a(r|0,q|0,g|0,e|0)|0;p=k-(+(Z>>>0)+4294967296.0*+(y>>>0))*1.0e-09}e=T;g=c[e>>2]|0;e=c[e+4>>2]|0;if(e>>>0>q>>>0|(e|0)==(q|0)&g>>>0>r>>>0){Z=q2a(g|0,e|0,r|0,q|0)|0;k=k+(+(Z>>>0)+4294967296.0*+(y>>>0))*1.0e-09}else{Z=q2a(r|0,q|0,g|0,e|0)|0;k=k-(+(Z>>>0)+4294967296.0*+(y>>>0))*1.0e-09}b=t+16|0;g=c[b>>2]|0;e=j0a(32)|0;c[U>>2]=e;c[x>>2]=-2147483616;c[z>>2]=19;i=e;j=186768;m=i+19|0;do{a[i>>0]=a[j>>0]|0;i=i+1|0;j=j+1|0}while((i|0)<(m|0));a[e+19>>0]=0;Aia(d,g,U,p)|0;if((a[A>>0]|0)<0)l0a(c[U>>2]|0);g=c[b>>2]|0;e=j0a(32)|0;c[U>>2]=e;c[B>>2]=-2147483616;c[C>>2]=17;i=e;j=186788;m=i+17|0;do{a[i>>0]=a[j>>0]|0;i=i+1|0;j=j+1|0}while((i|0)<(m|0));a[e+17>>0]=0;Aia(d,g,U,k)|0;if((a[D>>0]|0)<0)l0a(c[U>>2]|0);g=c[b>>2]|0;e=j0a(32)|0;c[U>>2]=e;c[E>>2]=-2147483616;c[F>>2]=19;i=e;j=186806;m=i+19|0;do{a[i>>0]=a[j>>0]|0;i=i+1|0;j=j+1|0}while((i|0)<(m|0));a[e+19>>0]=0;Aia(d,g,U,s)|0;if((a[G>>0]|0)<0)l0a(c[U>>2]|0);Z=u+4|0;g=c[Z>>2]|0;Y=c[u>>2]|0;c[Y+4>>2]=g;c[c[Z>>2]>>2]=Y;c[H>>2]=(c[H>>2]|0)+-1;l0a(f);f=c[I>>2]|0;if((f|0)==(c[J>>2]|0))xwa(v,R);else{X=R;Y=c[X+4>>2]|0;Z=f;c[Z>>2]=c[X>>2];c[Z+4>>2]=Y;c[I>>2]=(c[I>>2]|0)+8}f=g}u=f}while((K|0)!=(u|0));l=V;return}function uwa(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;h=l;l=l+16|0;g=h;c[g>>2]=0;d=g+4|0;c[d>>2]=0;e=a+32|0;f=c[e>>2]|0;if((c[a+28>>2]|0)==(f|0)){e=a+12|0;Jk[c[(c[e>>2]|0)+912>>2]&1023](1,g);Jk[c[(c[e>>2]|0)+912>>2]&1023](1,d);d=e;e=c[g>>2]|0}else{j=f+-8|0;i=c[j>>2]|0;c[g>>2]=i;c[d>>2]=c[f+-4>>2];c[e>>2]=j;d=a+12|0;e=i}Jk[c[(c[d>>2]|0)+932>>2]&1023](e,36392);j=a+16|0;f=g;e=c[f>>2]|0;f=c[f+4>>2]|0;i=j0a(20)|0;g=i+8|0;c[g>>2]=e;c[g+4>>2]=f;c[i+16>>2]=b;c[i+4>>2]=j;b=c[j>>2]|0;c[i>>2]=b;c[b+4>>2]=i;c[j>>2]=i;j=a+24|0;c[j>>2]=(c[j>>2]|0)+1;l=h;return}function vwa(a,b){a=a|0;b=b|0;Jk[c[(c[a+12>>2]|0)+932>>2]&1023](c[(c[a+16>>2]|0)+12>>2]|0,36392);return}function wwa(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;c[a+12>>2]=c[b+832>>2];return}function xwa(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;i=a+4|0;j=c[a>>2]|0;k=(c[i>>2]|0)-j|0;g=k>>3;d=g+1|0;if(d>>>0>536870911)g1a(a);l=a+8|0;f=(c[l>>2]|0)-j|0;h=f>>2;h=f>>3>>>0<268435455?(h>>>0<d>>>0?d:h):536870911;do if(h)if(h>>>0>536870911){l=db(8)|0;p0a(l,183738);c[l>>2]=110936;hb(l|0,65952,1066)}else{f=j0a(h<<3)|0;e=f;break}else{e=0;f=0}while(0);d=e+(g<<3)|0;m=b;g=c[m+4>>2]|0;b=d;c[b>>2]=c[m>>2];c[b+4>>2]=g;if((k|0)>0)x2a(f|0,j|0,k|0)|0;c[a>>2]=e;c[i>>2]=d+8;c[l>>2]=e+(h<<3);if(!j)return;l0a(j);return}function ywa(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;gk[c[(c[b>>2]|0)+8>>2]&1023](b)|0;g=b+32|0;if(!(a[g>>0]|0)){d=b+12|0;do Bha(d,b)|0;while(!(a[g>>0]|0))}e=b+28|0;f=c[e>>2]|0;if(f){h=c[b+24>>2]|0;d=c[h+8>>2]|0;i=h+4|0;j=c[h>>2]|0;c[j+4>>2]=c[i>>2];c[c[i>>2]>>2]=j;c[e>>2]=f+-1;l0a(h);if(!(c[e>>2]|0))a[g>>0]=0}else d=0;gk[c[(c[b>>2]|0)+12>>2]&1023](b)|0;return d|0}function zwa(b){b=b|0;var d=0,e=0,f=0,g=0;c[b>>2]=103300;if((a[223848]|0)==0?g2a(223848)|0:0){c[56480]=0;c[56481]=0;c[56482]=0;xla(225932,0)}Fwa(225920,b);d=b+20|0;e=c[d>>2]|0;if(e|0?(g=e+8|0,f=c[g>>2]|0,c[g>>2]=f-1,(f|0)==1):0)UU(e,1,1);c[d>>2]=0;d=b+16|0;e=c[d>>2]|0;if(e|0?(f=e+8|0,g=c[f>>2]|0,c[f>>2]=g-1,(g|0)==1):0)UU(e,1,1);c[d>>2]=0;d=b+12|0;e=c[d>>2]|0;if(!e){c[d>>2]=0;SU(b);return}f=e+8|0;g=c[f>>2]|0;c[f>>2]=g-1;if((g|0)!=1){c[d>>2]=0;SU(b);return}UU(e,1,1);c[d>>2]=0;SU(b);return}function Awa(a){a=a|0;zwa(a);l0a(a);return}function Bwa(a){a=a|0;return 187963}function Cwa(a){a=a|0;var b=0;if(usa(c[a+16>>2]|0)|0){a=1;return a|0}b=c[a+20>>2]|0;if(gk[c[(c[b>>2]|0)+24>>2]&1023](b)|0){b=1;return b|0}a=c[a+12>>2]|0;if(a|0){if(c[a+84>>2]|0){b=1;return b|0}if(c[a+88>>2]|0){b=1;return b|0}}b=0;return b|0}function Dwa(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=a+12|0;if(!(c[f>>2]|0))return;d=c[a+16>>2]|0;if(d|0)Jk[c[(c[d>>2]|0)+56>>2]&1023](d,c[b+12>>2]|0);a=a+20|0;d=c[a>>2]|0;if(d|0)Jk[c[(c[d>>2]|0)+28>>2]&1023](d,c[b+12>>2]|0);if(!(c[f>>2]|0))return;a=c[a>>2]|0;d=b+44|0;e=c[d>>2]|0;if((e|0)!=(a|0)){c[d>>2]=a;if(a|0){d=a+8|0;c[d>>2]=(c[d>>2]|0)+1}if(e|0?(a=e+8|0,d=c[a>>2]|0,c[a>>2]=d-1,(d|0)==1):0)UU(e,1,1)}f=c[f>>2]|0;Jk[c[(c[f>>2]|0)+212>>2]&1023](f,b);return}function Ewa(a){a=a|0;return vsa(c[a+16>>2]|0)|0}function Fwa(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;k=a+12|0;gk[c[(c[k>>2]|0)+8>>2]&1023](k)|0;g=c[a>>2]|0;h=g;j=a+4|0;d=c[j>>2]|0;if((d|0)==(g|0)){j=c[k>>2]|0;j=j+12|0;j=c[j>>2]|0;gk[j&1023](k)|0;return}f=h;a=g;while(1){e=c[a>>2]|0;if((e|0)!=0?(c[e+24>>2]|0)!=0:0)e=c[a+4>>2]|0;else e=0;if((e|0)==(b|0))break;a=a+8|0;if((d|0)==(a|0)){i=24;break}else f=a}if((i|0)==24){j=c[k>>2]|0;j=j+12|0;j=c[j>>2]|0;gk[j&1023](k)|0;return}a=g+(f-h>>3<<3)|0;e=a+8|0;if((e|0)!=(d|0)){do{f=c[a>>2]|0;b=c[e>>2]|0;if((f|0)!=(b|0)){c[a>>2]=b;if(b|0){h=b+8|0;c[h>>2]=(c[h>>2]|0)+1}if(f|0?(g=f+8|0,h=c[g>>2]|0,c[g>>2]=h-1,(h|0)==1):0)UU(f,1,1)}c[a+4>>2]=c[e+4>>2];e=e+8|0;a=a+8|0}while((e|0)!=(d|0));d=c[j>>2]|0;if((d|0)!=(a|0))i=17}else i=17;if((i|0)==17)do{d=d+-8|0;e=c[d>>2]|0;if(e|0?(h=e+8|0,i=c[h>>2]|0,c[h>>2]=i-1,(i|0)==1):0)UU(e,1,1);c[d>>2]=0}while((d|0)!=(a|0));c[j>>2]=a;j=c[k>>2]|0;j=j+12|0;j=c[j>>2]|0;gk[j&1023](k)|0;return}function Gwa(a){a=a|0;var b=0,d=0,e=0;b=c[a>>2]|0;if(b|0?(e=b+8|0,d=c[e>>2]|0,c[e>>2]=d-1,(d|0)==1):0)UU(b,1,1);c[a>>2]=0;return}function Hwa(a){a=a|0;var b=0,d=0,e=0;b=c[a>>2]|0;if(b|0?(e=b+8|0,d=c[e>>2]|0,c[e>>2]=d-1,(d|0)==1):0)UU(b,1,1);c[a>>2]=0;return}function Iwa(a){a=a|0;a=j0a(168)|0;txa(a);return a+(c[(c[a>>2]|0)+-12>>2]|0)|0}function Jwa(a,b){a=a|0;b=b|0;var d=0;d=j0a(168)|0;oxa(d,a,b);return d+(c[(c[d>>2]|0)+-12>>2]|0)|0}function Kwa(a,b){a=a|0;b=b|0;if(!b){b=0;return b|0}b=(y1a(b,42800,58800,-1)|0)!=0;return b|0}function Lwa(a){a=a|0;return 183549}function Mwa(a){a=a|0;return 187988}function Nwa(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;y=l;l=l+32|0;o=y+20|0;n=y+16|0;m=y+12|0;p=y+8|0;q=y+4|0;r=y;g2(a,b);v=y1a(b,47728,58800,0)|0;if(!v){Kxa(a);Ota(a);l=y;return}e=v+48|0;b=c[e+4>>2]|0;u=a+48|0;c[u>>2]=c[e>>2];c[u+4>>2]=b;u=v+32|0;b=a+32|0;e=c[b>>2]|0;f=c[u>>2]|0;if((e|0)!=(f|0)){c[b>>2]=f;if(f|0){t=f+8|0;c[t>>2]=(c[t>>2]|0)+1}if(e|0?(s=e+8|0,t=c[s>>2]|0,c[s>>2]=t-1,(t|0)==1):0)UU(e,1,1)}t=v+68|0;b=c[t>>2]|0;if((((b|0?c[b+12>>2]|0:0)?(g=a+68|0,h=c[g>>2]|0,(h|0)!=(b|0)):0)?(c[g>>2]=b,s=b+8|0,c[s>>2]=(c[s>>2]|0)+1,h|0):0)?(g=h+8|0,s=c[g>>2]|0,c[g>>2]=s-1,(s|0)==1):0)UU(h,1,1);s=v+76|0;b=c[s>>2]|0;if(((b|0?(i=a+76|0,j=c[i>>2]|0,(j|0)!=(b|0)):0)?(c[i>>2]=b,i=b+(c[(c[b>>2]|0)+-16>>2]|0)+8|0,c[i>>2]=(c[i>>2]|0)+1,j|0):0)?(k=j+(c[(c[j>>2]|0)+-16>>2]|0)|0,i=k+8|0,j=c[i>>2]|0,c[i>>2]=j-1,(j|0)==1):0)UU(k,1,1);g=a+80|0;c[p>>2]=g;j=v+80|0;i=v+84|0;c[q>>2]=c[i>>2];c[r>>2]=j;c[m>>2]=c[p>>2];c[n>>2]=c[q>>2];c[o>>2]=c[r>>2];Xxa(g,m,n,o,0)|0;g=v+92|0;HU(a+92|0,g)|0;h=v+116|0;b=a+116|0;e=c[b>>2]|0;f=c[h>>2]|0;if((e|0)!=(f|0)){c[b>>2]=f;if(f|0){r=f+8|0;c[r>>2]=(c[r>>2]|0)+1}if(e|0?(q=e+8|0,r=c[q>>2]|0,c[q>>2]=r-1,(r|0)==1):0)UU(e,1,1)}c[a+120>>2]=c[v+120>>2];c[a+124>>2]=c[v+124>>2];b=c[u>>2]|0;if(b|0?(c[u>>2]=0,r=b+8|0,u=c[r>>2]|0,c[r>>2]=u-1,(u|0)==1):0)UU(b,1,1);b=c[t>>2]|0;if(b|0?(c[t>>2]=0,t=b+8|0,u=c[t>>2]|0,c[t>>2]=u-1,(u|0)==1):0)UU(b,1,1);b=c[s>>2]|0;if(b|0?(c[s>>2]=0,w=b+(c[(c[b>>2]|0)+-16>>2]|0)|0,t=w+8|0,u=c[t>>2]|0,c[t>>2]=u-1,(u|0)==1):0)UU(w,1,1);b=v+88|0;if(c[b>>2]|0?(d=c[i>>2]|0,w=(c[j>>2]|0)+4|0,v=c[d>>2]|0,c[v+4>>2]=c[w>>2],c[c[w>>2]>>2]=v,c[b>>2]=0,(d|0)!=(j|0)):0)do{b=d;d=c[d+4>>2]|0;e=c[b+8>>2]|0;if(e|0?(x=e+(c[(c[e>>2]|0)+-16>>2]|0)|0,v=x+8|0,w=c[v>>2]|0,c[v>>2]=w-1,(w|0)==1):0)UU(x,1,1);l0a(b)}while((d|0)!=(j|0));GU(g);d=c[h>>2]|0;if(!d){Kxa(a);Ota(a);l=y;return}c[h>>2]=0;w=d+8|0;x=c[w>>2]|0;c[w>>2]=x-1;if((x|0)!=1){Kxa(a);Ota(a);l=y;return}UU(d,1,1);Kxa(a);Ota(a);l=y;return}function Owa(a){a=a|0;uxa(a,103788);Pr(a+132|0);return}function Pwa(a){a=a|0;uxa(a,103788);Pr(a+132|0);l0a(a);return}function Qwa(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;i=l;l=l+16|0;e=i;f=j0a(144)|0;Vxa(f,d);g=j0a(80)|0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;h=e+11|0;a[h>>0]=6;a[e>>0]=a[188636]|0;a[e+1>>0]=a[188637]|0;a[e+2>>0]=a[188638]|0;a[e+3>>0]=a[188639]|0;a[e+4>>0]=a[188640]|0;a[e+5>>0]=a[188641]|0;a[e+6>>0]=0;tia(g,e);b=d+224|0;d=c[b>>2]|0;if(((d|0)!=(g|0)?(c[b>>2]=g,g=g+8|0,c[g>>2]=(c[g>>2]|0)+1,d|0):0)?(b=d+8|0,g=c[b>>2]|0,c[b>>2]=g-1,(g|0)==1):0)UU(d,1,1);if((a[h>>0]|0)>=0){l=i;return f|0}l0a(c[e>>2]|0);l=i;return f|0}function Rwa(a){a=a|0;return a|0}function Swa(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;g=a+48|0;e=g;c[e>>2]=b;c[e+4>>2]=d;e=c[a+56>>2]|0;f=a+60|0;if((e|0)==(c[f>>2]|0))return;a=c[(c[e>>2]|0)+32>>2]|0;h=a+24|0;c[h>>2]=b;c[h+4>>2]=d;Aja(a);a=e+4|0;if((a|0)==(c[f>>2]|0))return;do{b=g;d=c[b+4>>2]|0;h=c[(c[a>>2]|0)+32>>2]|0;e=h+24|0;c[e>>2]=c[b>>2];c[e+4>>2]=d;Aja(h);a=a+4|0}while((a|0)!=(c[f>>2]|0));return}function Twa(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0;n=l;l=l+96|0;i=n;j=a+68|0;if((c[(c[j>>2]|0)+12>>2]|0)==(b|0)){l=n;return}k=Jxa(b)|0;m=(k|0)==0;if(m){if((c[(c[j>>2]|0)+8>>2]|0)==1){if(ZQ(4)|0){f=mr(lr(4)|0,188386,43)|0;f=USa(f,c[j>>2]|0)|0;BSa(i,f+(c[(c[f>>2]|0)+-12>>2]|0)|0);e=cUa(i,230580)|0;e=kk[c[(c[e>>2]|0)+28>>2]&511](e,10)|0;dUa(i);VSa(f,e)|0;HSa(f)|0}}else{d=j0a(24)|0;pxa(d);e=c[j>>2]|0;if(((e|0)!=(d|0)?(c[j>>2]=d,f=d+8|0,c[f>>2]=(c[f>>2]|0)+1,e|0):0)?(d=e+8|0,f=c[d>>2]|0,c[d>>2]=f-1,(f|0)==1):0)UU(e,1,1);if(ZQ(4)|0){f=mr(lr(4)|0,188344,41)|0;f=USa(f,c[j>>2]|0)|0;BSa(i,f+(c[(c[f>>2]|0)+-12>>2]|0)|0);e=cUa(i,230580)|0;e=kk[c[(c[e>>2]|0)+28>>2]&511](e,10)|0;dUa(i);VSa(f,e)|0;HSa(f)|0}}d=c[j>>2]|0;e=d+12|0;f=c[e>>2]|0;if((f|0)!=(b|0)){c[e>>2]=b;if(b|0){g=b+8|0;c[g>>2]=(c[g>>2]|0)+1}if((f|0)!=0?(b=f+8|0,g=c[b>>2]|0,c[b>>2]=g-1,(g|0)==1):0){UU(f,1,1);g=24}else g=24}}else{e=k+8|0;c[e>>2]=(c[e>>2]|0)+1;if(ZQ(4)|0){b=USa(mr(lr(4)|0,188308,35)|0,k)|0;BSa(i,b+(c[(c[b>>2]|0)+-12>>2]|0)|0);f=cUa(i,230580)|0;f=kk[c[(c[f>>2]|0)+28>>2]&511](f,10)|0;dUa(i);VSa(b,f)|0;HSa(b)|0}d=c[j>>2]|0;if((d|0)!=(k|0)){c[j>>2]=k;c[e>>2]=(c[e>>2]|0)+1;if((d|0)!=0?(b=d+8|0,g=c[b>>2]|0,c[b>>2]=g-1,(g|0)==1):0){UU(d,1,1);g=24}else g=24}}if((g|0)==24)d=c[j>>2]|0;if(d|0?c[d+12>>2]|0:0){d=i+64|0;Tha(d);c[d>>2]=68320;g=i+76|0;c[g>>2]=0;c[g+4>>2]=0;c[g+8>>2]=0;c[i+88>>2]=2;c[i+92>>2]=0;IR(i,94672,2);g=c[23667]|0;c[i>>2]=g;c[i+(c[g+-12>>2]|0)>>2]=c[23670];c[i+56>>2]=0;c[i+60>>2]=65536;c[i+24>>2]=-1;c[i>>2]=94700;c[d>>2]=95068;g=c[(c[j>>2]|0)+12>>2]|0;Jk[c[(c[g>>2]|0)+212>>2]&1023](g,i);g=c[a+40>>2]|0;if(((g|0?c[g+24>>2]|0:0)?(h=c[a+44>>2]|0,h|0):0)?c[h+28>>2]|0:0){h=c[(c[j>>2]|0)+12>>2]|0;Jk[c[c[h>>2]>>2]&1023](h,1)}h=c[(c[j>>2]|0)+12>>2]|0;g=c[(c[h>>2]|0)+156>>2]|0;j=gS(c[(vt()|0)>>2]|0)|0;Jk[g&1023](h,j);Cy(i,94672);Pr(d)}Kxa(a);Ota(a);if(m){l=n;return}j=k+8|0;m=c[j>>2]|0;c[j>>2]=m-1;if((m|0)!=1){l=n;return}UU(k,1,1);l=n;return}function Uwa(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,h=0,i=0,j=0,k=0,l=0,m=0.0,n=0.0;k=c[b+160>>2]|0;l=(c[b+164>>2]|0)-k|0;if((((l|0?(f=c[k+((l>>2)+-1<<2)>>2]|0,h=c[f+12>>2]|0,h|0):0)?c[h+24>>2]|0:0)?(i=c[f+16>>2]|0,i|0):0)?(j=gk[c[(c[i>>2]|0)+80>>2]&1023](i)|0,j|0):0){n=+g[f+24>>2];m=+g[f+36>>2];l=Hxa(0,j,1,(+g[f+20>>2]-n)/(+g[f+28>>2]-n)*2.0+-1.0,(+g[f+32>>2]-m)/(+g[f+40>>2]-m)*2.0+-1.0,d,e)|0;return l|0}l=Ixa(a,+g[b+104>>2],+g[b+108>>2],d,e)|0;return l|0}function Vwa(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0.0,o=0.0;l=c[b+160>>2]|0;m=(c[b+164>>2]|0)-l|0;if((((m|0?(h=c[l+((m>>2)+-1<<2)>>2]|0,i=c[h+12>>2]|0,i|0):0)?c[i+24>>2]|0:0)?(j=c[h+16>>2]|0,j|0):0)?(k=gk[c[(c[j>>2]|0)+80>>2]&1023](j)|0,k|0):0){o=+g[h+24>>2];n=+g[h+36>>2];m=Dxa(0,k,1,(+g[h+20>>2]-o)/(+g[h+28>>2]-o)*2.0+-1.0,(+g[h+32>>2]-n)/(+g[h+40>>2]-n)*2.0+-1.0,d,e,f)|0;return m|0}m=Exa(a,+g[b+104>>2],+g[b+108>>2],d,e,f)|0;return m|0}function Wwa(b){b=b|0;var d=0,e=0,f=0,g=0;f=l;l=l+16|0;d=f;g=c[b+40>>2]|0;if((g|0?c[g+24>>2]|0:0)?(e=c[b+44>>2]|0,e|0):0){a[e+33>>0]=1;l=f;return}if(!(ZQ(4)|0)){l=f;return}g=mr(lr(4)|0,188203,60)|0;BSa(d,g+(c[(c[g>>2]|0)+-12>>2]|0)|0);e=cUa(d,230580)|0;e=kk[c[(c[e>>2]|0)+28>>2]&511](e,10)|0;dUa(d);VSa(g,e)|0;HSa(g)|0;l=f;return}function Xwa(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;g=l;l=l+16|0;f=g;h=c[b+40>>2]|0;if((h|0?c[h+24>>2]|0:0)?(e=c[b+44>>2]|0,e|0):0){a[e+34>>0]=d&1;l=g;return}if(!(ZQ(4)|0)){l=g;return}h=mr(lr(4)|0,188132,70)|0;BSa(f,h+(c[(c[h>>2]|0)+-12>>2]|0)|0);e=cUa(f,230580)|0;e=kk[c[(c[e>>2]|0)+28>>2]&511](e,10)|0;dUa(f);VSa(h,e)|0;HSa(h)|0;l=g;return}function Ywa(a,b,d){a=a|0;b=+b;d=+d;var e=0,f=0,h=0,i=0,j=0,k=0;j=l;l=l+16|0;f=j+8|0;i=j+4|0;h=j;if(ZQ(4)|0){e=mr(SSa(mr(SSa(mr(lr(4)|0,188021,25)|0,b)|0,188047,1)|0,d)|0,184787,1)|0;BSa(f,e+(c[(c[e>>2]|0)+-12>>2]|0)|0);k=cUa(f,230580)|0;k=kk[c[(c[k>>2]|0)+28>>2]&511](k,10)|0;dUa(f);VSa(e,k)|0;HSa(e)|0}e=Cxa(a,b,d,i,h)|0;if(!e){if(!(ZQ(4)|0)){l=j;return}k=mr(lr(4)|0,188049,60)|0;BSa(f,k+(c[(c[k>>2]|0)+-12>>2]|0)|0);i=cUa(f,230580)|0;i=kk[c[(c[i>>2]|0)+28>>2]&511](i,10)|0;dUa(f);VSa(k,i)|0;HSa(k)|0;l=j;return}e=c[e+624>>2]|0;if(!e){l=j;return}f=y1a(e,44864,58744,0)|0;if(!f){l=j;return}Eja(c[a+72>>2]|0,b,d);e=c[f+136>>2]|0;if((c[(c[e+12>>2]|0)+120>>2]|0)==1){b=+(c[(c[f+44>>2]|0)+44>>2]|0)-+g[h>>2];g[h>>2]=b}else b=+g[h>>2];d=+g[i>>2];Eja(e,d,b);Dk[c[(c[f>>2]|0)+276>>2]&15](f,d,b);l=j;return}function Zwa(a){a=a|0;if(c[(c[a+16>>2]|0)+84>>2]|0){a=1;return a|0}a=c[a+68>>2]|0;if(a|0?gk[c[(c[a>>2]|0)+16>>2]&1023](a)|0:0){a=1;return a|0}a=0;return a|0}function _wa(a){a=a|0;a=c[a+68>>2]|0;if(a|0?gk[c[(c[a>>2]|0)+24>>2]&1023](a)|0:0){a=1;return a|0}a=0;return a|0}function $wa(a){a=a|0;a=a+-36|0;uxa(a,103788);Pr(a+132|0);return}function axa(a){a=a|0;a=a+-36|0;uxa(a,103788);Pr(a+132|0);l0a(a);return}function bxa(a){a=a|0;return a+-36|0}function cxa(a){a=a|0;Wwa(a+-36|0);return}function dxa(a,b){a=a|0;b=b|0;Xwa(a+-36|0,b);return}function exa(a,b,c){a=a|0;b=+b;c=+c;Ywa(a+-36|0,b,c);return}function fxa(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Uwa(a+-36|0,b,c,d)|0}function gxa(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Vwa(a+-36|0,b,c,d,e)|0}function hxa(a){a=a|0;a=a+(c[(c[a>>2]|0)+-16>>2]|0)|0;uxa(a,103788);Pr(a+132|0);return}function ixa(a){a=a|0;a=a+(c[(c[a>>2]|0)+-16>>2]|0)|0;uxa(a,103788);Pr(a+132|0);l0a(a);return}function jxa(a){a=a|0;a=j0a(168)|0;txa(a);return a+(c[(c[a>>2]|0)+-12>>2]|0)|0}function kxa(a,b){a=a|0;b=b|0;var d=0;d=a+(c[(c[a>>2]|0)+-24>>2]|0)|0;a=j0a(168)|0;oxa(a,d,b);return a+(c[(c[a>>2]|0)+-12>>2]|0)|0}function lxa(a,b){a=a|0;b=b|0;if(!b){b=0;return b|0}b=(y1a(b,42800,58800,-1)|0)!=0;return b|0}function mxa(a){a=a|0;return 183549}function nxa(a){a=a|0;return 187988}function oxa(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0;m=l;l=l+16|0;k=m;h=b+132|0;Or(h,d+(c[(c[d>>2]|0)+-12>>2]|0)|0,e);sja(b,103792,d,e);c[b>>2]=103340;c[h>>2]=103624;c[b+36>>2]=103424;h=b+68|0;j=b+72|0;e=b+80|0;f=b+40|0;g=f+40|0;do{c[f>>2]=0;f=f+4|0}while((f|0)<(g|0));c[e>>2]=e;c[b+84>>2]=e;c[b+88>>2]=0;zU(b+92|0);c[b+116>>2]=0;c[b+120>>2]=c[d+120>>2];c[b+124>>2]=c[d+124>>2];c[b+128>>2]=0;e=j0a(24)|0;pxa(e);f=c[h>>2]|0;if(((f|0)!=(e|0)?(c[h>>2]=e,h=e+8|0,c[h>>2]=(c[h>>2]|0)+1,f|0):0)?(d=f+8|0,h=c[d>>2]|0,c[d>>2]=h-1,(h|0)==1):0)UU(f,1,1);f=c[b+16>>2]|0;e=kk[c[(c[b>>2]|0)+32>>2]&511](b,f)|0;f=f+628|0;g=c[f>>2]|0;if((g|0)!=(e|0)){c[f>>2]=e;if(e|0){h=e+(c[(c[e>>2]|0)+-12>>2]|0)+8|0;c[h>>2]=(c[h>>2]|0)+1}if(g|0?(i=g+(c[(c[g>>2]|0)+-12>>2]|0)|0,d=i+8|0,h=c[d>>2]|0,c[d>>2]=h-1,(h|0)==1):0)UU(i,1,1)}e=j0a(64)|0;zja(e,1);f=c[j>>2]|0;if(((f|0)!=(e|0)?(c[j>>2]=e,j=e+8|0,c[j>>2]=(c[j>>2]|0)+1,f|0):0)?(i=f+8|0,j=c[i>>2]|0,c[i>>2]=j-1,(j|0)==1):0)UU(f,1,1);g=j0a(80)|0;c[k>>2]=0;c[k+4>>2]=0;c[k+8>>2]=0;d=k+11|0;a[d>>0]=4;c[k>>2]=2003134806;a[k+4>>0]=0;tia(g,k);e=b+4|0;f=c[e>>2]|0;if(((f|0)!=(g|0)?(c[e>>2]=g,b=g+8|0,c[b>>2]=(c[b>>2]|0)+1,f|0):0)?(j=f+8|0,b=c[j>>2]|0,c[j>>2]=b-1,(b|0)==1):0)UU(f,1,1);if((a[d>>0]|0)>=0){l=m;return}l0a(c[k>>2]|0);l=m;return}function pxa(b){b=b|0;var d=0,e=0,f=0,g=0;Uha(b,1);c[b>>2]=103300;c[b+12>>2]=0;d=b+16|0;c[d>>2]=0;g=b+20|0;c[g>>2]=0;e=tsa()|0;f=c[d>>2]|0;if((f|0)!=(e|0)){c[d>>2]=e;if(e|0){e=e+8|0;c[e>>2]=(c[e>>2]|0)+1}if(f|0?(d=f+8|0,e=c[d>>2]|0,c[d>>2]=e-1,(e|0)==1):0)UU(f,1,1)}d=j0a(72)|0;Hsa(d);e=c[g>>2]|0;if(((e|0)!=(d|0)?(c[g>>2]=d,g=d+8|0,c[g>>2]=(c[g>>2]|0)+1,e|0):0)?(f=e+8|0,g=c[f>>2]|0,c[f>>2]=g-1,(g|0)==1):0)UU(e,1,1);if(a[223848]|0){qxa(225920,b);return}if(!(g2a(223848)|0)){qxa(225920,b);return}c[56480]=0;c[56481]=0;c[56482]=0;xla(225932,0);qxa(225920,b);return}function qxa(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=l;l=l+16|0;d=h;g=a+12|0;gk[c[(c[g>>2]|0)+8>>2]&1023](g)|0;rxa(d,b);e=a+4|0;f=c[e>>2]|0;if(f>>>0<(c[a+8>>2]|0)>>>0){b=c[d>>2]|0;c[f>>2]=b;if(!b)b=f;else{b=b+8|0;c[b>>2]=(c[b>>2]|0)+1;b=c[e>>2]|0}c[f+4>>2]=c[d+4>>2];c[e>>2]=b+8}else sxa(a,d);b=c[d>>2]|0;if(b|0?(e=b+8|0,f=c[e>>2]|0,c[e>>2]=f-1,(f|0)==1):0)UU(b,1,1);c[d>>2]=0;gk[c[(c[g>>2]|0)+12>>2]&1023](g)|0;l=h;return}function rxa(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;c[a>>2]=0;if(!b){e=0;b=a+4|0;c[b>>2]=e;return}d=Vha(b)|0;e=c[a>>2]|0;if((e|0)!=(d|0)){c[a>>2]=d;if(d|0){d=d+8|0;c[d>>2]=(c[d>>2]|0)+1}if(e|0?(f=e+8|0,d=c[f>>2]|0,c[f>>2]=d-1,(d|0)==1):0)UU(e,1,1);d=c[a>>2]|0}if(!d){b=0;f=a+4|0;c[f>>2]=b;return}b=(c[d+24>>2]|0)==0?0:b;f=a+4|0;c[f>>2]=b;return}function sxa(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;n=a+4|0;d=c[n>>2]|0;e=c[a>>2]|0;i=d-e>>3;f=i+1|0;g=e;if(f>>>0>536870911)g1a(a);m=a+8|0;k=(c[m>>2]|0)-e|0;l=k>>2;f=k>>3>>>0<268435455?(l>>>0<f>>>0?f:l):536870911;do if(f)if(f>>>0>536870911){n=db(8)|0;p0a(n,183738);c[n>>2]=110936;hb(n|0,65952,1066)}else{k=j0a(f<<3)|0;break}else k=0;while(0);e=k+(i<<3)|0;l=k+(f<<3)|0;f=c[b>>2]|0;c[e>>2]=f;if(!f)h=g;else{h=f+8|0;c[h>>2]=(c[h>>2]|0)+1;h=c[a>>2]|0;d=c[n>>2]|0}c[k+(i<<3)+4>>2]=c[b+4>>2];j=e+8|0;f=h;if((d|0)==(h|0))g=f;else{b=i+-1-((d+-8-f|0)>>>3)|0;while(1){f=d;d=d+-8|0;g=c[d>>2]|0;c[e+-8>>2]=g;if(g|0){i=g+8|0;c[i>>2]=(c[i>>2]|0)+1}c[e+-4>>2]=c[f+-4>>2];if((d|0)==(h|0))break;else e=e+-8|0}e=k+(b<<3)|0;g=c[a>>2]|0;d=c[n>>2]|0}c[a>>2]=e;c[n>>2]=j;c[m>>2]=l;f=g;if((d|0)!=(f|0))do{d=d+-8|0;e=c[d>>2]|0;if(e|0?(m=e+8|0,n=c[m>>2]|0,c[m>>2]=n-1,(n|0)==1):0)UU(e,1,1);c[d>>2]=0}while((d|0)!=(f|0));if(!g)return;l0a(g);return}function txa(b){b=b|0;var d=0,e=0,f=0,h=0,i=0,j=0,k=0,m=0,n=0;m=l;l=l+16|0;k=m;e=b+132|0;Tha(e);c[e>>2]=68320;h=b+144|0;c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;c[b+156>>2]=2;c[b+160>>2]=0;rja(b,103792);c[b>>2]=103340;c[e>>2]=103624;c[b+36>>2]=103424;c[b+40>>2]=0;c[b+44>>2]=0;e=b+56|0;h=b+68|0;j=b+72|0;d=b+80|0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[e+12>>2]=0;c[e+16>>2]=0;c[e+20>>2]=0;c[d>>2]=d;c[b+84>>2]=d;c[b+88>>2]=0;zU(b+92|0);c[b+116>>2]=0;c[b+120>>2]=1;g[b+124>>2]=1.0;c[b+128>>2]=0;d=b+48|0;c[d>>2]=0;c[d+4>>2]=0;d=j0a(72)|0;tS(d);e=b+32|0;f=c[e>>2]|0;if(((f|0)!=(d|0)?(c[e>>2]=d,d=d+8|0,c[d>>2]=(c[d>>2]|0)+1,f|0):0)?(n=f+8|0,d=c[n>>2]|0,c[n>>2]=d-1,(d|0)==1):0)UU(f,1,1);d=(c[e>>2]|0)+12|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[d+12>>2]=0;c[d+16>>2]=0;d=j0a(24)|0;pxa(d);e=c[h>>2]|0;if(((e|0)!=(d|0)?(c[h>>2]=d,n=d+8|0,c[n>>2]=(c[n>>2]|0)+1,e|0):0)?(h=e+8|0,n=c[h>>2]|0,c[h>>2]=n-1,(n|0)==1):0)UU(e,1,1);e=b+(c[(c[b>>2]|0)+-12>>2]|0)|0;Jk[c[c[e>>2]>>2]&1023](e,1);e=c[b+16>>2]|0;d=kk[c[(c[b>>2]|0)+32>>2]&511](b,e)|0;e=e+628|0;f=c[e>>2]|0;if((f|0)!=(d|0)){c[e>>2]=d;if(d|0){n=d+(c[(c[d>>2]|0)+-12>>2]|0)+8|0;c[n>>2]=(c[n>>2]|0)+1}if(f|0?(i=f+(c[(c[f>>2]|0)+-12>>2]|0)|0,h=i+8|0,n=c[h>>2]|0,c[h>>2]=n-1,(n|0)==1):0)UU(i,1,1)}d=j0a(64)|0;zja(d,1);e=c[j>>2]|0;if(((e|0)!=(d|0)?(c[j>>2]=d,n=d+8|0,c[n>>2]=(c[n>>2]|0)+1,e|0):0)?(j=e+8|0,n=c[j>>2]|0,c[j>>2]=n-1,(n|0)==1):0)UU(e,1,1);f=j0a(80)|0;c[k>>2]=0;c[k+4>>2]=0;c[k+8>>2]=0;h=k+11|0;a[h>>0]=4;c[k>>2]=2003134806;a[k+4>>0]=0;tia(f,k);d=b+4|0;e=c[d>>2]|0;if(((e|0)!=(f|0)?(c[d>>2]=f,n=f+8|0,c[n>>2]=(c[n>>2]|0)+1,e|0):0)?(b=e+8|0,n=c[b>>2]|0,c[b>>2]=n-1,(n|0)==1):0)UU(e,1,1);if((a[h>>0]|0)>=0){l=m;return}l0a(c[k>>2]|0);l=m;return}function uxa(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;j=l;l=l+16|0;d=j;g=c[b>>2]|0;c[a>>2]=g;c[a+(c[g+-12>>2]|0)>>2]=c[b+12>>2];c[a+36>>2]=103424;if(ZQ(4)|0){g=mr(lr(4)|0,187993,27)|0;BSa(d,g+(c[(c[g>>2]|0)+-12>>2]|0)|0);e=cUa(d,230580)|0;e=kk[c[(c[e>>2]|0)+28>>2]&511](e,10)|0;dUa(d);VSa(g,e)|0;HSa(g)|0}d=a+128|0;e=c[d>>2]|0;if(e|0?(k=e+8|0,g=c[k>>2]|0,c[k>>2]=g-1,(g|0)==1):0)UU(e,1,1);c[d>>2]=0;d=a+116|0;e=c[d>>2]|0;if(e|0?(g=e+8|0,k=c[g>>2]|0,c[g>>2]=k-1,(k|0)==1):0)UU(e,1,1);c[d>>2]=0;EU(a+92|0);g=a+80|0;d=a+88|0;if(c[d>>2]|0?(f=c[a+84>>2]|0,k=(c[g>>2]|0)+4|0,e=c[f>>2]|0,c[e+4>>2]=c[k>>2],c[c[k>>2]>>2]=e,c[d>>2]=0,(f|0)!=(g|0)):0){d=f;do{e=d;d=c[d+4>>2]|0;f=c[e+8>>2]|0;if(f|0?(h=f+(c[(c[f>>2]|0)+-16>>2]|0)|0,f=h+8|0,k=c[f>>2]|0,c[f>>2]=k-1,(k|0)==1):0)UU(h,1,1);l0a(e)}while((d|0)!=(g|0))}d=a+76|0;e=c[d>>2]|0;if(e|0?(i=e+(c[(c[e>>2]|0)+-16>>2]|0)|0,h=i+8|0,k=c[h>>2]|0,c[h>>2]=k-1,(k|0)==1):0)UU(i,1,1);c[d>>2]=0;d=a+72|0;e=c[d>>2]|0;if(e|0?(i=e+8|0,k=c[i>>2]|0,c[i>>2]=k-1,(k|0)==1):0)UU(e,1,1);c[d>>2]=0;d=a+68|0;e=c[d>>2]|0;if(e|0?(i=e+8|0,k=c[i>>2]|0,c[i>>2]=k-1,(k|0)==1):0)UU(e,1,1);c[d>>2]=0;f=a+56|0;g=c[f>>2]|0;if(g|0){h=a+60|0;d=c[h>>2]|0;if((d|0)==(g|0))d=g;else{do{d=d+-4|0;e=c[d>>2]|0;if(e|0?(i=e+8|0,k=c[i>>2]|0,c[i>>2]=k-1,(k|0)==1):0)UU(e,1,1);c[d>>2]=0}while((d|0)!=(g|0));d=c[f>>2]|0}c[h>>2]=g;l0a(d)}d=a+40|0;e=c[d>>2]|0;if(!e){c[d>>2]=0;k=b+4|0;Y2(a,k);l=j;return}i=e+8|0;k=c[i>>2]|0;c[i>>2]=k-1;if((k|0)!=1){c[d>>2]=0;k=b+4|0;Y2(a,k);l=j;return}UU(e,1,1);c[d>>2]=0;k=b+4|0;Y2(a,k);l=j;return}function vxa(a){a=a|0;var b=0,d=0,e=0;b=c[a>>2]|0;if(b|0?(e=b+8|0,d=c[e>>2]|0,c[e>>2]=d-1,(d|0)==1):0)UU(b,1,1);c[a>>2]=0;return}function wxa(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;b=a+8|0;if(!(c[b>>2]|0))return;d=c[a+4>>2]|0;e=(c[a>>2]|0)+4|0;g=c[d>>2]|0;c[g+4>>2]=c[e>>2];c[c[e>>2]>>2]=g;c[b>>2]=0;if((d|0)==(a|0))return;do{b=d;d=c[d+4>>2]|0;e=c[b+8>>2]|0;if(e|0?(f=e+(c[(c[e>>2]|0)+-16>>2]|0)|0,e=f+8|0,g=c[e>>2]|0,c[e>>2]=g-1,(g|0)==1):0)UU(f,1,1);l0a(b)}while((d|0)!=(a|0));return}function xxa(a){a=a|0;var b=0,d=0,e=0;b=c[a>>2]|0;if(!b){c[a>>2]=0;return}b=b+(c[(c[b>>2]|0)+-16>>2]|0)|0;e=b+8|0;d=c[e>>2]|0;c[e>>2]=d-1;if((d|0)!=1){c[a>>2]=0;return}UU(b,1,1);c[a>>2]=0;return}function yxa(a){a=a|0;var b=0,d=0,e=0;b=c[a>>2]|0;if(b|0?(e=b+8|0,d=c[e>>2]|0,c[e>>2]=d-1,(d|0)==1):0)UU(b,1,1);c[a>>2]=0;return}function zxa(a){a=a|0;var b=0,d=0,e=0;b=c[a>>2]|0;if(b|0?(e=b+8|0,d=c[e>>2]|0,c[e>>2]=d-1,(d|0)==1):0)UU(b,1,1);c[a>>2]=0;return}function Axa(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;e=c[a>>2]|0;if(!e)return;f=a+4|0;b=c[f>>2]|0;if((b|0)==(e|0))b=e;else{do{b=b+-4|0;d=c[b>>2]|0;if(d|0?(h=d+8|0,g=c[h>>2]|0,c[h>>2]=g-1,(g|0)==1):0)UU(d,1,1);c[b>>2]=0}while((b|0)!=(e|0));b=c[a>>2]|0}c[f>>2]=e;l0a(b);return}function Bxa(a){a=a|0;var b=0,d=0,e=0;b=c[a>>2]|0;if(b|0?(e=b+8|0,d=c[e>>2]|0,c[e>>2]=d-1,(d|0)==1):0)UU(b,1,1);c[a>>2]=0;return}function Cxa(b,d,e,f,i){b=b|0;d=+d;e=+e;f=f|0;i=i|0;var j=0,k=0,m=0,n=0,o=0,p=0.0,q=0.0,r=0.0,s=0,t=0,u=0.0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0.0,I=0.0,J=0.0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0;P=l;l=l+512|0;K=P+384|0;L=P+256|0;M=P;N=P+128|0;s=c[(c[b+72>>2]|0)+12>>2]|0;G=c[s+52>>2]|0;if((G|0)!=0?(c[G+24>>2]|0)!=0:0)o=c[s+56>>2]|0;else o=0;w=(c[s+120>>2]|0)==1;v=c[b+16>>2]|0;G=c[v+624>>2]|0;if((G|0)!=0?!((o|0)==0|((G|0)!=(o|0)|(c[v+288>>2]|0)==0)):0){t=c[v+288>>2]|0;j=s+88|0;p=+g[j>>2];m=s+92|0;n=s+96|0;q=+g[n>>2];k=s+100|0;q=(e-q)/(+g[k>>2]-q);G=c[o+44>>2]|0;p=(d-p)/(+g[m>>2]-p)*+(c[G+40>>2]|0);q=(w?1.0-q:q)*+(c[G+44>>2]|0);r=+h[t+56>>3];if(((p>=r+-.5?(u=+h[t+64>>3],q>=u+-.5):0)?p<r+ +h[t+72>>3]+-1.0+.5:0)?q<=u+ +h[t+80>>3]+-1.0+.5:0){g[f>>2]=p;g[i>>2]=q;O=v;l=P;return O|0}}else{m=s+92|0;n=s+96|0;k=s+100|0;j=s+88|0}Qra(L);Ura(L,v+432|0,v+304|0);H=+g[j>>2];H=(d-H)*2.0/(+g[m>>2]-H)+-1.0;d=+g[n>>2];d=(e-d)*2.0/(+g[k>>2]-d)+-1.0;d=w?-d:d;j=c[b+20>>2]|0;k=(c[b+24>>2]|0)-j|0;a:do if((k|0)>0){o=b+20|0;s=L+24|0;t=L+56|0;v=L+88|0;w=L+120|0;r=H;u=d;b=M+24|0;x=M+56|0;y=M+88|0;z=M+120|0;A=M+32|0;B=M+64|0;C=M+96|0;D=M+8|0;E=M+40|0;F=M+72|0;G=M+104|0;n=((k>>>0)/272|0)+-1|0;while(1){j=j+(n*272|0)+4|0;m=c[j>>2]|0;if((m|0?a[m+228>>0]|0:0)?(c[m+576>>2]|0)==3:0){if(ZQ(4)|0){S=mr(lr(4)|0,188110,21)|0;k=c[j>>2]|0;R=k+12|0;m=a[R+11>>0]|0;Q=m<<24>>24<0;m=mr(S,Q?c[R>>2]|0:R,Q?c[k+16>>2]|0:m&255)|0;BSa(K,m+(c[(c[m>>2]|0)+-12>>2]|0)|0);k=cUa(K,230580)|0;k=kk[c[(c[k>>2]|0)+28>>2]&511](k,10)|0;dUa(K);VSa(m,k)|0;HSa(m)|0}j=c[j>>2]|0;if(!j)k=0;else k=c[j+288>>2]|0;Qra(K);Ura(K,j+432|0,j+304|0);m=(k|0)!=0;if(m){x7(M,k);Vra(K,M)}Qra(N);if(+h[s>>3]==0.0&+h[t>>3]==0.0&+h[v>>3]==0.0&+h[w>>3]==1.0)Xra(N,L)|0;else Yra(N,L)|0;Qra(M);Ura(M,N,K);q=1.0/(+h[z>>3]+(+h[b>>3]*r+ +h[x>>3]*u+ +h[y>>3]*0.0));p=q*(+h[C>>3]+(+h[M>>3]*r+ +h[A>>3]*u+ +h[B>>3]*0.0));q=q*(+h[G>>3]+(+h[D>>3]*r+ +h[E>>3]*u+ +h[F>>3]*0.0));if((((m?(I=+h[k+56>>3],p>=I+-.5):0)?(J=+h[k+64>>3],q>=J+-.5):0)?p<I+ +h[k+72>>3]+-1.0+.5:0)?q<=J+ +h[k+80>>3]+-1.0+.5:0)break}j=n+-1|0;if((j|0)<=-1){O=35;break a}n=j;j=c[o>>2]|0}g[f>>2]=p;g[i>>2]=q}else O=35;while(0);if((O|0)==35){g[f>>2]=H;g[i>>2]=d;j=0}S=j;l=P;return S|0}function Dxa(a,b,d,e,f,g,i,j){a=a|0;b=b|0;d=d|0;e=+e;f=+f;g=g|0;i=i|0;j=j|0;var k=0,m=0.0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0.0,D=0.0,E=0.0,F=0.0,G=0.0,H=0.0,I=0.0,J=0.0,K=0.0,L=0.0,M=0.0;B=l;l=l+768|0;x=B+432|0;w=B+304|0;y=B+756|0;z=B+752|0;q=B+176|0;r=B+48|0;t=B+24|0;u=B;A=B+560|0;if(!b){i=0;l=B;return i|0}v=g+4|0;if((c[g>>2]|0)==(c[v>>2]|0)){i=0;l=B;return i|0}Qra(q);a=c[v>>2]|0;k=c[g>>2]|0;g=k;if(a-k>>2>>>0>1){o=a+-4|0;c[x>>2]=0;p=x+4|0;c[p>>2]=0;n=x+8|0;c[n>>2]=0;a=o-k|0;k=a>>2;if(a|0){if(k>>>0>1073741823)g1a(x);a=j0a(a)|0;c[p>>2]=a;c[x>>2]=a;c[n>>2]=a+(k<<2);if((o|0)!=(g|0))do{c[a>>2]=c[g>>2];g=g+4|0;a=(c[p>>2]|0)+4|0;c[p>>2]=a}while((g|0)!=(o|0))}Hia(w,x,1);h[q>>3]=+h[w>>3];h[q+8>>3]=+h[w+8>>3];h[q+16>>3]=+h[w+16>>3];h[q+24>>3]=+h[w+24>>3];h[q+32>>3]=+h[w+32>>3];h[q+40>>3]=+h[w+40>>3];h[q+48>>3]=+h[w+48>>3];h[q+56>>3]=+h[w+56>>3];h[q+64>>3]=+h[w+64>>3];h[q+72>>3]=+h[w+72>>3];h[q+80>>3]=+h[w+80>>3];h[q+88>>3]=+h[w+88>>3];h[q+96>>3]=+h[w+96>>3];h[q+104>>3]=+h[w+104>>3];h[q+112>>3]=+h[w+112>>3];h[q+120>>3]=+h[w+120>>3];a=c[x>>2]|0;if(a|0){c[p>>2]=a;l0a(a)}}Vra(q,b+432|0);Vra(q,b+304|0);if((d|0)==0?(s=c[b+288>>2]|0,(s|0)!=0):0){x7(x,s);Vra(q,x);m=0.0}else m=-1.0;Qra(r);if(((+h[q+24>>3]==0.0?+h[q+56>>3]==0.0:0)?+h[q+88>>3]==0.0:0)?+h[q+120>>3]==1.0:0)Xra(r,q)|0;else Yra(r,q)|0;J=+h[r+24>>3]*e+ +h[r+56>>3]*f;K=+h[r+88>>3];L=+h[r+120>>3];M=1.0/(L+(J+m*K));G=+h[r>>3]*e+ +h[r+32>>3]*f;H=+h[r+64>>3];I=+h[r+96>>3];D=+h[r+8>>3]*e+ +h[r+40>>3]*f;E=+h[r+72>>3];F=+h[r+104>>3];f=+h[r+16>>3]*e+ +h[r+48>>3]*f;e=+h[r+80>>3];C=+h[r+112>>3];h[t>>3]=M*(I+(G+m*H));h[t+8>>3]=M*(F+(D+m*E));h[t+16>>3]=M*(C+(f+m*e));m=1.0/(L+(K+J));h[u>>3]=m*(I+(H+G));h[u+8>>3]=m*(F+(E+D));h[u+16>>3]=m*(C+(e+f));n=j0a(96)|0;Oka(n,3,t,u,0,0);k=n+8|0;c[k>>2]=(c[k>>2]|0)+1;U6(A,n,0);c[A+20>>2]=j;j=c[(c[v>>2]|0)+-4>>2]|0;Jk[c[(c[j>>2]|0)+212>>2]&1023](j,A);if(gk[c[(c[n>>2]|0)+32>>2]&1023](n)|0){a=c[n+28>>2]|0;a=(a|0)==0?n:a;g=a+80|0;if((g|0)!=(i|0)){c[y>>2]=c[g>>2];c[z>>2]=a+84;c[w>>2]=c[y>>2];c[x>>2]=c[z>>2];Fxa(i,w,x)}a=1}else{a=i+4|0;A8(i,c[a>>2]|0);c[i+8>>2]=0;c[i>>2]=a;c[a>>2]=0;a=0}W6(A,88680);Pr(A+160|0);i=c[k>>2]|0;c[k>>2]=i-1;if((i|0)==1)UU(n,1,1);i=a;l=B;return i|0}function Exa(a,b,d,e,f,h){a=a|0;b=+b;d=+d;e=e|0;f=f|0;h=h|0;var i=0,j=0,k=0,m=0,n=0,o=0;m=l;l=l+16|0;i=m+8|0;j=m+4|0;k=m;a=Cxa(a,b,d,j,k)|0;if(ZQ(4)|0){n=mr(SSa(mr(SSa(mr(lr(4)|0,188264,21)|0,b)|0,184688,2)|0,d)|0,188286,10)|0;n=mr(SSa(n,+g[j>>2])|0,188297,10)|0;n=SSa(n,+g[k>>2])|0;BSa(i,n+(c[(c[n>>2]|0)+-12>>2]|0)|0);o=cUa(i,230580)|0;o=kk[c[(c[o>>2]|0)+28>>2]&511](o,10)|0;dUa(i);VSa(n,o)|0;HSa(n)|0}if(!a){o=0;l=m;return o|0}o=Dxa(0,a,(c[a+288>>2]|0)==0&1,+g[j>>2],+g[k>>2],e,f,h)|0;l=m;return o|0}function Fxa(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,i=0,j=0,k=0,l=0,m=0.0,n=0,o=0,p=0,q=0;p=a+8|0;a:do if(c[p>>2]|0?(o=c[a>>2]|0,q=a+4|0,c[a>>2]=q,c[(c[q>>2]|0)+8>>2]=0,c[q>>2]=0,c[p>>2]=0,e=c[o+4>>2]|0,e=(e|0)==0?o:e,e|0):0){o=a+4|0;f=c[b>>2]|0;while(1){if((f|0)==(c[d>>2]|0))break;Gxa(e+16|0,f+16|0)|0;n=e+8|0;i=c[n>>2]|0;do if(i){g=c[i>>2]|0;if((g|0)==(e|0)){c[i>>2]=0;g=c[i+4>>2]|0;if(!g){g=i;break}while(1){i=c[g>>2]|0;if(!i){i=c[g+4>>2]|0;if(!i)break;else g=i}else g=i}break}else{c[i+4>>2]=0;if(!g){g=i;break}while(1){i=c[g>>2]|0;if(!i){i=c[g+4>>2]|0;if(!i)break;else g=i}else g=i}break}}else g=0;while(0);i=c[q>>2]|0;do if(i){m=+h[e+16>>3];while(1)if(m<+h[i+16>>3]){j=c[i>>2]|0;if(!j){l=23;break}else i=j}else{j=c[i+4>>2]|0;if(!j){l=25;break}else i=j}if((l|0)==23){j=i;k=i;break}else if((l|0)==25){j=i;k=i+4|0;break}}else{j=q;k=q}while(0);c[e>>2]=0;c[e+4>>2]=0;c[n>>2]=j;c[k>>2]=e;i=c[c[a>>2]>>2]|0;if(i){c[a>>2]=i;e=c[k>>2]|0}fp(c[o>>2]|0,e);c[p>>2]=(c[p>>2]|0)+1;e=c[f+4>>2]|0;if(!e){e=f+8|0;i=c[e>>2]|0;if((c[i>>2]|0)==(f|0))f=i;else do{n=c[e>>2]|0;e=n+8|0;f=c[e>>2]|0}while((c[f>>2]|0)!=(n|0))}else{while(1){f=c[e>>2]|0;if(!f)break;else e=f}f=e}c[b>>2]=f;if(!g)break a;else e=g}f=c[e+8>>2]|0;if(f){e=f;while(1){f=c[e+8>>2]|0;if(!f)break;else e=f}}A8(a,e)}while(0);e=c[b>>2]|0;i=c[d>>2]|0;if((e|0)==(i|0))return;g=e;while(1){Q7(a,g+16|0)|0;e=c[g+4>>2]|0;if(!e){f=g+8|0;e=c[f>>2]|0;if((c[e>>2]|0)!=(g|0))do{d=c[f>>2]|0;f=d+8|0;e=c[f>>2]|0}while((c[e>>2]|0)!=(d|0))}else while(1){f=c[e>>2]|0;if(!f)break;else e=f}c[b>>2]=e;if((e|0)==(i|0))break;else g=e}return}function Gxa(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;h[a>>3]=+h[b>>3];g=(a|0)==(b|0);if(!g)gA(a+8|0,c[b+8>>2]|0,c[b+12>>2]|0);f=a+20|0;d=c[f>>2]|0;e=c[b+20>>2]|0;if((d|0)!=(e|0)){c[f>>2]=e;if(e|0){f=e+8|0;c[f>>2]=(c[f>>2]|0)+1}if(d|0?(e=d+8|0,f=c[e>>2]|0,c[e>>2]=f-1,(f|0)==1):0)UU(d,1,1)}d=a+24|0;e=c[d>>2]|0;f=c[b+24>>2]|0;if((e|0)!=(f|0)){c[d>>2]=f;if(f|0){f=f+8|0;c[f>>2]=(c[f>>2]|0)+1}if(e|0?(d=e+8|0,f=c[d>>2]|0,c[d>>2]=f-1,(f|0)==1):0)UU(e,1,1)}d=a+32|0;e=b+32|0;f=d+36|0;do{c[d>>2]=c[e>>2];d=d+4|0;e=e+4|0}while((d|0)<(f|0));if(g){b=b+92|0;b=c[b>>2]|0;g=a+92|0;c[g>>2]=b;return a|0}Xz(a+68|0,c[b+68>>2]|0,c[b+72>>2]|0);cfa(a+80|0,c[b+80>>2]|0,c[b+84>>2]|0);b=b+92|0;b=c[b>>2]|0;g=a+92|0;c[g>>2]=b;return a|0}function Hxa(a,b,d,e,f,g,h){a=a|0;b=b|0;d=d|0;e=+e;f=+f;g=g|0;h=h|0;var i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0;q=l;l=l+208|0;k=q+204|0;j=q+200|0;m=q+196|0;n=q+192|0;p=q;if(!b){p=0;l=q;return p|0}o=j0a(96)|0;Pka(o,d,e,f);i=o+8|0;c[i>>2]=(c[i>>2]|0)+1;U6(p,o,0);c[p+20>>2]=h;Jk[c[(c[b>>2]|0)+212>>2]&1023](b,p);if(gk[c[(c[o>>2]|0)+32>>2]&1023](o)|0){a=c[o+28>>2]|0;a=(a|0)==0?o:a;d=a+80|0;if((d|0)!=(g|0)){c[m>>2]=c[d>>2];c[n>>2]=a+84;c[j>>2]=c[m>>2];c[k>>2]=c[n>>2];Fxa(g,j,k)}a=1}else{a=g+4|0;A8(g,c[a>>2]|0);c[g+8>>2]=0;c[g>>2]=a;c[a>>2]=0;a=0}W6(p,88680);Pr(p+160|0);p=c[i>>2]|0;c[i>>2]=p-1;if((p|0)!=1){p=a;l=q;return p|0}UU(o,1,1);p=a;l=q;return p|0}function Ixa(a,b,d,e,f){a=a|0;b=+b;d=+d;e=e|0;f=f|0;var h=0,i=0,j=0,k=0,m=0,n=0;k=l;l=l+16|0;h=k+8|0;i=k+4|0;j=k;a=Cxa(a,b,d,i,j)|0;if(ZQ(4)|0){m=mr(SSa(mr(SSa(mr(lr(4)|0,188264,21)|0,b)|0,184688,2)|0,d)|0,188286,10)|0;m=mr(SSa(m,+g[i>>2])|0,188297,10)|0;m=SSa(m,+g[j>>2])|0;BSa(h,m+(c[(c[m>>2]|0)+-12>>2]|0)|0);n=cUa(h,230580)|0;n=kk[c[(c[n>>2]|0)+28>>2]&511](n,10)|0;dUa(h);VSa(m,n)|0;HSa(m)|0}if(!a){n=0;l=k;return n|0}n=Hxa(0,a,(c[a+288>>2]|0)==0&1,+g[i>>2],+g[j>>2],e,f)|0;l=k;return n|0}function Jxa(b){b=b|0;var d=0,e=0,f=0,g=0;if((a[223848]|0)==0?g2a(223848)|0:0){c[56480]=0;c[56481]=0;c[56482]=0;xla(225932,0)}gk[c[(c[225932>>2]|0)+8>>2]&1023](225932)|0;e=c[56480]|0;f=c[56481]|0;a:do if((e|0)==(f|0))d=0;else while(1){g=c[e>>2]|0;if(((g|0?c[g+24>>2]|0:0)?(d=c[e+4>>2]|0,d|0):0)?(c[d+12>>2]|0)==(b|0):0)break a;e=e+8|0;if((e|0)==(f|0)){d=0;break}}while(0);gk[c[(c[225932>>2]|0)+12>>2]&1023](225932)|0;return d|0}function Kxa(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0;i=l;l=l+112|0;h=i;b=c[a+68>>2]|0;do if(b|0?(d=c[b+12>>2]|0,d|0):0){g=h+68|0;Tha(g);c[g>>2]=68320;e=h+80|0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[h+92>>2]=2;c[h+96>>2]=0;IR(h,103808,3);c[h>>2]=103832;c[g>>2]=104200;e=h+56|0;c[e>>2]=0;f=h+60|0;c[f>>2]=0;c[h+64>>2]=0;Jk[c[(c[d>>2]|0)+212>>2]&1023](d,h);b=h+56|0;d=c[b>>2]|0;if((d|0)==(c[f>>2]|0)){c[h>>2]=103832;c[g>>2]=104200;if(d|0){c[f>>2]=d;l0a(d)}Cy(h,103808);Pr(g);break}DU(a+92|0,b);c[h>>2]=103832;c[g>>2]=104200;b=c[e>>2]|0;if(b|0){c[f>>2]=b;l0a(b)}Cy(h,103808);Pr(g);l=i;return}while(0);c[h>>2]=0;d=h+4|0;c[d>>2]=0;c[h+8>>2]=0;DU(a+92|0,h);b=c[h>>2]|0;if(b|0){c[d>>2]=b;l0a(b)}l=i;return}function Lxa(a){a=a|0;var b=0,d=0;c[a>>2]=103832;b=a+68|0;c[b>>2]=104200;d=c[a+56>>2]|0;if(d|0){c[a+60>>2]=d;l0a(d)}Cy(a,103808);Pr(b);return}function Mxa(a){a=a|0;var b=0,d=0;c[a>>2]=103832;b=a+68|0;c[b>>2]=104200;d=c[a+56>>2]|0;if(d|0){c[a+60>>2]=d;l0a(d)}Cy(a,103808);Pr(b);l0a(a);return}function Nxa(a){a=a|0;return 188470}function Oxa(a){a=a|0;return 188430}function Pxa(a,b){a=a|0;b=b|0;switch(c[a+16>>2]|0){case 1:{Jk[c[(c[b>>2]|0)+216>>2]&1023](b,a);return}case 0:return;default:{Jk[c[(c[b>>2]|0)+220>>2]&1023](b,a);return}}}function Qxa(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;h=l;l=l+16|0;e=h;f=b+56|0;i=(c[f>>2]|0)==(c[b+60>>2]|0);g=ZQ(5)|0;if(!i){if(g){i=mr(lr(5)|0,188539,56)|0;BSa(e,i+(c[(c[i>>2]|0)+-12>>2]|0)|0);g=cUa(e,230580)|0;g=kk[c[(c[g>>2]|0)+28>>2]&511](g,10)|0;dUa(e);VSa(i,g)|0;HSa(i)|0}if(ZQ(5)|0){j=mr(lr(5)|0,188514,24)|0;f=d+148|0;i=a[f+11>>0]|0;g=i<<24>>24<0;i=mr(j,g?c[f>>2]|0:f,g?c[d+152>>2]|0:i&255)|0;BSa(e,i+(c[(c[i>>2]|0)+-12>>2]|0)|0);g=cUa(e,230580)|0;g=kk[c[(c[g>>2]|0)+28>>2]&511](g,10)|0;dUa(e);VSa(i,g)|0;HSa(i)|0}}else{if(g){j=mr(lr(5)|0,188482,31)|0;BSa(e,j+(c[(c[j>>2]|0)+-12>>2]|0)|0);i=cUa(e,230580)|0;i=kk[c[(c[i>>2]|0)+28>>2]&511](i,10)|0;dUa(e);VSa(j,i)|0;HSa(j)|0}if(ZQ(5)|0){k=mr(lr(5)|0,188514,24)|0;g=d+148|0;j=a[g+11>>0]|0;i=j<<24>>24<0;j=mr(k,i?c[g>>2]|0:g,i?c[d+152>>2]|0:j&255)|0;BSa(e,j+(c[(c[j>>2]|0)+-12>>2]|0)|0);i=cUa(e,230580)|0;i=kk[c[(c[i>>2]|0)+28>>2]&511](i,10)|0;dUa(e);VSa(j,i)|0;HSa(j)|0}gA(f,c[b+28>>2]|0,c[b+32>>2]|0)}switch(c[b+16>>2]|0){case 1:{Jk[c[(c[d>>2]|0)+216>>2]&1023](d,b);l=h;return}case 0:{l=h;return}default:{Jk[c[(c[d>>2]|0)+220>>2]&1023](d,b);l=h;return}}}function Rxa(a){a=a|0;var b=0,d=0;a=a+(c[(c[a>>2]|0)+-16>>2]|0)|0;c[a>>2]=103832;b=a+68|0;c[b>>2]=104200;d=c[a+56>>2]|0;if(!d){Cy(a,103808);Pr(b);return}c[a+60>>2]=d;l0a(d);Cy(a,103808);Pr(b);return}function Sxa(a){a=a|0;var b=0,d=0;a=a+(c[(c[a>>2]|0)+-16>>2]|0)|0;c[a>>2]=103832;b=a+68|0;c[b>>2]=104200;d=c[a+56>>2]|0;if(d|0){c[a+60>>2]=d;l0a(d)}Cy(a,103808);Pr(b);l0a(a);return}function Txa(a){a=a|0;return 188470}function Uxa(a){a=a|0;return 188430}function Vxa(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;z=l;l=l+16|0;y=z;e=b+128|0;Uha(e,1);c[y>>2]=0;c[y+4>>2]=0;c[y+8>>2]=0;x=y+11|0;a[x>>0]=8;w=y;c[w>>2]=1684956498;c[w+4>>2]=1919251045;a[y+8>>0]=0;c[b>>2]=62340;c[e>>2]=62372;t0a(b+4|0,y);a[b+16>>0]=1;c[b>>2]=62276;c[e>>2]=62312;if((a[x>>0]|0)<0)l0a(c[y>>2]|0);c[b>>2]=103160;c[e>>2]=103220;q=b+20|0;Wxa(q,d);a[b+28>>0]=0;a[b+29>>0]=1;a[b+30>>0]=1;n=b+31|0;w=b+32|0;x=b+40|0;e=n;f=e+9|0;do{a[e>>0]=0;e=e+1|0}while((e|0)<(f|0));xla(x,0);s=b+52|0;wla(s);t=b+60|0;c[t>>2]=t;c[b+64>>2]=t;u=b+68|0;c[u>>2]=0;v=b+72|0;a[v>>0]=0;xla(b+76|0,0);wla(b+88|0);r=b+96|0;c[r>>2]=r;c[b+100>>2]=r;c[b+104>>2]=0;a[b+108>>0]=0;a[b+112>>0]=0;c[b+116>>2]=0;r=b+120|0;c[r>>2]=0;c[r+4>>2]=0;if(ZQ(5)|0){r=USa(mr(lr(5)|0,188643,17)|0,b)|0;BSa(y,r+(c[(c[r>>2]|0)+-12>>2]|0)|0);o=cUa(y,230580)|0;o=kk[c[(c[o>>2]|0)+28>>2]&511](o,10)|0;dUa(y);VSa(r,o)|0;HSa(r)|0}e=j0a(296)|0;Aga(e,0);f=c[w>>2]|0;if(((f|0)!=(e|0)?(c[w>>2]=e,r=e+8|0,c[r>>2]=(c[r>>2]|0)+1,f|0):0)?(o=f+8|0,r=c[o>>2]|0,c[o>>2]=r-1,(r|0)==1):0)UU(f,1,1);e=j0a(296)|0;Aga(e,0);r=b+36|0;f=c[r>>2]|0;if(((f|0)!=(e|0)?(c[r>>2]=e,o=e+8|0,c[o>>2]=(c[o>>2]|0)+1,f|0):0)?(m=f+8|0,o=c[m>>2]|0,c[m>>2]=o-1,(o|0)==1):0)UU(f,1,1);f=c[w>>2]|0;e=j0a(72)|0;tS(e);f=f+200|0;g=c[f>>2]|0;if(((g|0)!=(e|0)?(c[f>>2]=e,o=e+8|0,c[o>>2]=(c[o>>2]|0)+1,g|0):0)?(m=g+8|0,o=c[m>>2]|0,c[m>>2]=o-1,(o|0)==1):0)UU(g,1,1);f=c[r>>2]|0;e=j0a(72)|0;tS(e);f=f+200|0;g=c[f>>2]|0;if(((g|0)!=(e|0)?(c[f>>2]=e,o=e+8|0,c[o>>2]=(c[o>>2]|0)+1,g|0):0)?(m=g+8|0,o=c[m>>2]|0,c[m>>2]=o-1,(o|0)==1):0)UU(g,1,1);o=b+24|0;f=c[o>>2]|0;e=c[f+220>>2]|0;if(!e)e=d;else e=c[e+16>>2]|0;if((f|0)==(e|0)){k=qR(f)|0;m=0;f=c[o>>2]|0}else{k=qR(e)|0;f=c[o>>2]|0;m=c[f+120>>2]|0}e=c[f+220>>2]|0;if((e|0)!=0?(h=y1a(e,47728,58800,0)|0,(h|0)!=0):0){d=c[h+40>>2]|0;if(((d|0)!=0?(c[d+24>>2]|0)!=0:0)?(i=c[h+44>>2]|0,(i|0)!=0):0){e=c[i+88>>2]|0;d=1}else{e=0;d=1}}else{e=0;h=0;d=0}b=(e|0)==0;f=c[f+232>>2]|0;do if(!f){if(d?(j=c[h+116>>2]|0,j|0):0){f=j;p=36;break}e=c[(vt()|0)>>2]|0;if(!e){g=0;j=0;i=0}else{f=1;p=37}}else p=36;while(0);if((p|0)==36){e=f;f=(f|0)!=0;p=37}if((p|0)==37){g=(a[e+93>>0]|0)!=0;j=e;i=f}a[n>>0]=g&1;if(d){h=c[h+8>>2]|0;h=(h|0)==0?0:(h|0)==2?2:1}else h=1;e=c[w>>2]|0;g=b&1;a[e+245>>0]=g;e=e+216|0;f=c[e>>2]|0;if((f|0)!=(k|0)){c[e>>2]=k;if(k|0){n=k+8|0;c[n>>2]=(c[n>>2]|0)+1}if(f|0?(d=f+8|0,n=c[d>>2]|0,c[d>>2]=n-1,(n|0)==1):0)UU(f,1,1)}e=(c[w>>2]|0)+228|0;f=c[e>>2]|0;if((f|0)!=(m|0)){c[e>>2]=m;if(m|0){n=m+8|0;c[n>>2]=(c[n>>2]|0)+1}if(f|0?(d=f+8|0,n=c[d>>2]|0,c[d>>2]=n-1,(n|0)==1):0)UU(f,1,1)}e=c[r>>2]|0;a[e+245>>0]=g;e=e+216|0;f=c[e>>2]|0;if((f|0)!=(k|0)){c[e>>2]=k;if(k|0){n=k+8|0;c[n>>2]=(c[n>>2]|0)+1}if(f|0?(k=f+8|0,n=c[k>>2]|0,c[k>>2]=n-1,(n|0)==1):0)UU(f,1,1)}e=(c[r>>2]|0)+228|0;f=c[e>>2]|0;if((f|0)!=(m|0)){c[e>>2]=m;if(m|0){n=m+8|0;c[n>>2]=(c[n>>2]|0)+1}if(f|0?(m=f+8|0,n=c[m>>2]|0,c[m>>2]=n-1,(n|0)==1):0)UU(f,1,1)}n=c[w>>2]|0;Jk[c[(c[n>>2]|0)+168>>2]&1023](n,h);n=c[r>>2]|0;Jk[c[(c[n>>2]|0)+168>>2]&1023](n,h);do if(i?(a[j+94>>0]|0)!=0:0){e=(c[w>>2]|0)+224|0;f=c[e>>2]|0;do if((f|0)!=(j|0)){c[e>>2]=j;n=j+8|0;c[n>>2]=(c[n>>2]|0)+1;if(!f)break;m=f+8|0;n=c[m>>2]|0;c[m>>2]=n-1;if((n|0)!=1)break;UU(f,1,1)}while(0);e=(c[r>>2]|0)+224|0;f=c[e>>2]|0;if((f|0)!=(j|0)){c[e>>2]=j;n=j+8|0;c[n>>2]=(c[n>>2]|0)+1;if(!f)break;m=f+8|0;n=c[m>>2]|0;c[m>>2]=n-1;if((n|0)!=1)break;UU(f,1,1)}}else p=74;while(0);if((p|0)==74){a[(c[w>>2]|0)+288>>0]=0;a[(c[r>>2]|0)+288>>0]=0}e=c[w>>2]|0;p=c[q>>2]|0;if((p|0)!=0?(c[p+24>>2]|0)!=0:0)f=c[o>>2]|0;else f=0;Bga(e,f,0);f=c[r>>2]|0;q=c[q>>2]|0;if((q|0)!=0?(c[q+24>>2]|0)!=0:0)e=c[o>>2]|0;else e=0;Bga(f,e,0);h=j0a(12)|0;Tha(h);c[h>>2]=92620;b=h+8|0;c[b>>2]=(c[b>>2]|0)+1;d=j0a(12)|0;Tha(d);c[d>>2]=92620;i=d+8|0;c[i>>2]=(c[i>>2]|0)+1;e=(c[(c[w>>2]|0)+148>>2]|0)+500|0;f=c[e>>2]|0;do if((f|0)!=(h|0)){c[e>>2]=h;c[b>>2]=(c[b>>2]|0)+1;if(!f)break;p=f+8|0;q=c[p>>2]|0;c[p>>2]=q-1;if((q|0)!=1)break;UU(f,1,1)}while(0);f=c[w>>2]|0;e=c[f+148>>2]|0;e=gk[c[(c[e>>2]|0)+200>>2]&1023](e)|0;f=f+164|0;g=c[f>>2]|0;do if((g|0)!=(e|0)){c[f>>2]=e;if(e|0){q=e+(c[(c[e>>2]|0)+-12>>2]|0)+8|0;c[q>>2]=(c[q>>2]|0)+1}if(!g)break;e=g+(c[(c[g>>2]|0)+-12>>2]|0)|0;p=e+8|0;q=c[p>>2]|0;c[p>>2]=q-1;if((q|0)!=1)break;UU(e,1,1)}while(0);e=(c[(c[w>>2]|0)+164>>2]|0)+500|0;f=c[e>>2]|0;do if((f|0)!=(h|0)){c[e>>2]=h;c[b>>2]=(c[b>>2]|0)+1;if(!f)break;p=f+8|0;q=c[p>>2]|0;c[p>>2]=q-1;if((q|0)!=1)break;UU(f,1,1)}while(0);f=c[w>>2]|0;e=c[f+148>>2]|0;e=gk[c[(c[e>>2]|0)+200>>2]&1023](e)|0;f=f+180|0;g=c[f>>2]|0;do if((g|0)!=(e|0)){c[f>>2]=e;if(e|0){q=e+(c[(c[e>>2]|0)+-12>>2]|0)+8|0;c[q>>2]=(c[q>>2]|0)+1}if(!g)break;e=g+(c[(c[g>>2]|0)+-12>>2]|0)|0;p=e+8|0;q=c[p>>2]|0;c[p>>2]=q-1;if((q|0)!=1)break;UU(e,1,1)}while(0);e=(c[(c[w>>2]|0)+180>>2]|0)+500|0;f=c[e>>2]|0;do if((f|0)!=(d|0)){c[e>>2]=d;c[i>>2]=(c[i>>2]|0)+1;if(!f)break;p=f+8|0;q=c[p>>2]|0;c[p>>2]=q-1;if((q|0)!=1)break;UU(f,1,1)}while(0);e=(c[(c[r>>2]|0)+148>>2]|0)+500|0;f=c[e>>2]|0;do if((f|0)!=(h|0)){c[e>>2]=h;c[b>>2]=(c[b>>2]|0)+1;if(!f)break;p=f+8|0;q=c[p>>2]|0;c[p>>2]=q-1;if((q|0)!=1)break;UU(f,1,1)}while(0);f=c[r>>2]|0;e=c[f+148>>2]|0;e=gk[c[(c[e>>2]|0)+200>>2]&1023](e)|0;f=f+164|0;g=c[f>>2]|0;do if((g|0)!=(e|0)){c[f>>2]=e;if(e|0){q=e+(c[(c[e>>2]|0)+-12>>2]|0)+8|0;c[q>>2]=(c[q>>2]|0)+1}if(!g)break;e=g+(c[(c[g>>2]|0)+-12>>2]|0)|0;p=e+8|0;q=c[p>>2]|0;c[p>>2]=q-1;if((q|0)!=1)break;UU(e,1,1)}while(0);e=(c[(c[r>>2]|0)+164>>2]|0)+500|0;f=c[e>>2]|0;do if((f|0)!=(h|0)){c[e>>2]=h;c[b>>2]=(c[b>>2]|0)+1;if(!f)break;p=f+8|0;q=c[p>>2]|0;c[p>>2]=q-1;if((q|0)!=1)break;UU(f,1,1)}while(0);f=c[r>>2]|0;e=c[f+148>>2]|0;e=gk[c[(c[e>>2]|0)+200>>2]&1023](e)|0;f=f+180|0;g=c[f>>2]|0;do if((g|0)!=(e|0)){c[f>>2]=e;if(e|0){q=e+(c[(c[e>>2]|0)+-12>>2]|0)+8|0;c[q>>2]=(c[q>>2]|0)+1}if(!g)break;e=g+(c[(c[g>>2]|0)+-12>>2]|0)|0;p=e+8|0;q=c[p>>2]|0;c[p>>2]=q-1;if((q|0)!=1)break;UU(e,1,1)}while(0);e=(c[(c[r>>2]|0)+180>>2]|0)+500|0;f=c[e>>2]|0;do if((f|0)!=(d|0)){c[e>>2]=d;c[i>>2]=(c[i>>2]|0)+1;if(!f)break;p=f+8|0;q=c[p>>2]|0;c[p>>2]=q-1;if((q|0)!=1)break;UU(f,1,1)}while(0);q=c[i>>2]|0;c[i>>2]=q-1;if((q|0)==1)UU(d,1,1);q=c[b>>2]|0;c[b>>2]=q-1;if((q|0)==1)UU(h,1,1);q=c[w>>2]|0;gk[c[(c[x>>2]|0)+8>>2]&1023](x)|0;w=j0a(12)|0;c[w+8>>2]=q;c[w+4>>2]=t;q=c[t>>2]|0;c[w>>2]=q;c[q+4>>2]=w;c[t>>2]=w;c[u>>2]=(c[u>>2]|0)+1;a[v>>0]=1;Eha(s)|0;gk[c[(c[x>>2]|0)+12>>2]&1023](x)|0;r=c[r>>2]|0;gk[c[(c[x>>2]|0)+8>>2]&1023](x)|0;w=j0a(12)|0;c[w+8>>2]=r;c[w+4>>2]=t;r=c[t>>2]|0;c[w>>2]=r;c[r+4>>2]=w;c[t>>2]=w;c[u>>2]=(c[u>>2]|0)+1;a[v>>0]=1;Eha(s)|0;gk[c[(c[x>>2]|0)+12>>2]&1023](x)|0;if(!(ZQ(5)|0)){l=z;return}x=mr(lr(5)|0,188661,23)|0;x=RSa(x,c[u>>2]|0)|0;BSa(y,x+(c[(c[x>>2]|0)+-12>>2]|0)|0);w=cUa(y,230580)|0;w=kk[c[(c[w>>2]|0)+28>>2]&511](w,10)|0;dUa(y);VSa(x,w)|0;HSa(x)|0;l=z;return}function Wxa(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;c[a>>2]=0;if(!b){e=0;b=a+4|0;c[b>>2]=e;return}d=Vha(b)|0;e=c[a>>2]|0;if((e|0)!=(d|0)){c[a>>2]=d;if(d|0){d=d+8|0;c[d>>2]=(c[d>>2]|0)+1}if(e|0?(f=e+8|0,d=c[f>>2]|0,c[f>>2]=d-1,(d|0)==1):0)UU(e,1,1);d=c[a>>2]|0}if(!d){b=0;f=a+4|0;c[f>>2]=b;return}b=(c[d+24>>2]|0)==0?0:b;f=a+4|0;c[f>>2]=b;return}function Xxa(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;g=c[d>>2]|0;h=c[e>>2]|0;if((g|0)==(h|0)){b=c[b>>2]|0;return b|0}n=j0a(12)|0;c[n>>2]=0;f=c[g+8>>2]|0;c[n+8>>2]=f;if(f){g=f+(c[(c[f>>2]|0)+-16>>2]|0)+8|0;c[g>>2]=(c[g>>2]|0)+1;g=c[d>>2]|0;h=c[e>>2]|0}m=n;f=c[g+4>>2]|0;c[d>>2]=f;i=f;if((h|0)==(i|0)){g=1;f=m}else{g=1;k=f;f=m;j=i;do{l=f;f=j0a(12)|0;i=c[k+8>>2]|0;c[f+8>>2]=i;if(!i)i=j;else{i=i+(c[(c[i>>2]|0)+-16>>2]|0)+8|0;c[i>>2]=(c[i>>2]|0)+1;i=c[d>>2]|0;h=c[e>>2]|0}c[l+4>>2]=f;c[f>>2]=l;k=c[i+4>>2]|0;c[d>>2]=k;g=g+1|0;j=k}while((h|0)!=(j|0))}e=c[b>>2]|0;b=f;d=c[e>>2]|0;c[d+4>>2]=n;c[n>>2]=d;c[e>>2]=b;c[b+4>>2]=e;b=a+8|0;c[b>>2]=(c[b>>2]|0)+g;b=m;return b|0}function Yxa(a,b){a=a|0;b=b|0;var d=0;a=a+108|0;d=c[a>>2]|0;if((d|0)==(b|0))return;c[a>>2]=b;if(b|0){b=b+8|0;c[b>>2]=(c[b>>2]|0)+1}if(!d)return;a=d+8|0;b=c[a>>2]|0;c[a>>2]=b-1;if((b|0)!=1)return;UU(d,1,1);return}function Zxa(a){a=a|0;return c[a+108>>2]|0}function _xa(a){a=a|0;return c[a+108>>2]|0}function $xa(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;i=l;l=l+16|0;g=i+4|0;h=i;if(ZQ(4)|0){j=mr(lr(4)|0,190136,26)|0;f=a[d+11>>0]|0;e=f<<24>>24<0;f=mr(mr(j,e?c[d>>2]|0:d,e?c[d+4>>2]|0:f&255)|0,184787,1)|0;BSa(g,f+(c[(c[f>>2]|0)+-12>>2]|0)|0);e=cUa(g,230580)|0;e=kk[c[(c[e>>2]|0)+28>>2]&511](e,10)|0;dUa(g);VSa(f,e)|0;HSa(f)|0}hra(h,d,c[(Rla(0)|0)+160>>2]|0);e=c[h>>2]|0;if(!e){j=0;l=i;return j|0}f=y1a(e,42800,62216,0)|0;do if(!f){if(y1a(e,42800,58704,-1)|0){if(!(ZQ(3)|0)){f=0;break}b=mr(lr(3)|0,190190,20)|0;f=a[d+11>>0]|0;j=f<<24>>24<0;f=mr(mr(b,j?c[d>>2]|0:d,j?c[d+4>>2]|0:f&255)|0,190211,56)|0;BSa(g,f+(c[(c[f>>2]|0)+-12>>2]|0)|0);j=cUa(g,230580)|0;j=kk[c[(c[j>>2]|0)+28>>2]&511](j,10)|0;dUa(g);VSa(f,j)|0;HSa(f)|0;f=0;break}e=y1a(e,42800,58800,-1)|0;if(e|0){Jk[c[(c[b>>2]|0)+156>>2]&1023](b,e);f=1;break}if(ZQ(3)|0){b=mr(lr(3)|0,190190,20)|0;f=a[d+11>>0]|0;j=f<<24>>24<0;f=mr(mr(b,j?c[d>>2]|0:d,j?c[d+4>>2]|0:f&255)|0,190268,48)|0;BSa(g,f+(c[(c[f>>2]|0)+-12>>2]|0)|0);j=cUa(g,230580)|0;j=kk[c[(c[j>>2]|0)+28>>2]&511](j,10)|0;dUa(g);VSa(f,j)|0;HSa(f)|0;f=0}else f=0}else{if(ZQ(4)|0){d=mr(lr(4)|0,190163,26)|0;j=gk[c[(c[f>>2]|0)+28>>2]&1023](f)|0;j=mr(d,j,VNa(j)|0)|0;BSa(g,j+(c[(c[j>>2]|0)+-12>>2]|0)|0);d=cUa(g,230580)|0;d=kk[c[(c[d>>2]|0)+28>>2]&511](d,10)|0;dUa(g);VSa(j,d)|0;HSa(j)|0}Jk[c[(c[f>>2]|0)+164>>2]&1023](f,b+104|0);f=1}while(0);e=c[h>>2]|0;if(!e){j=f;l=i;return j|0}h=e+8|0;j=c[h>>2]|0;c[h>>2]=j-1;if((j|0)!=1){j=f;l=i;return j|0}UU(e,1,1);j=f;l=i;return j|0}function aya(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;f=l;l=l+16|0;d=f;c[d>>2]=0;e=d+4|0;c[e>>2]=0;c[d+8>>2]=0;Nk[c[(c[a>>2]|0)+88>>2]&255](a,d,1);a=c[d>>2]|0;if((a|0)==(c[e>>2]|0))b=0;else{b=0;do{g=c[a>>2]|0;b=b+((gk[c[(c[g>>2]|0)+180>>2]&1023](g)|0)&1)|0;a=a+4|0}while((a|0)!=(c[e>>2]|0));b=(b|0)!=0;a=c[d>>2]|0}if(!a){l=f;return b|0}c[e>>2]=a;l0a(a);l=f;return b|0}function bya(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;t=l;l=l+48|0;m=t+32|0;r=t+20|0;h=t+16|0;j=t+12|0;k=t+8|0;f=t+4|0;g=t;c[r>>2]=0;s=r+4|0;c[s>>2]=0;c[r+8>>2]=0;Nk[c[(c[b>>2]|0)+88>>2]&255](b,r,1);e=c[r>>2]|0;d=c[s>>2]|0;if((e|0)==(d|0)){if(ZQ(4)|0){i=mr(lr(4)|0,189946,80)|0;BSa(m,i+(c[(c[i>>2]|0)+-12>>2]|0)|0);e=cUa(m,230580)|0;e=kk[c[(c[e>>2]|0)+28>>2]&511](e,10)|0;dUa(m);VSa(i,e)|0;HSa(i)|0};c[m>>2]=0;c[m+4>>2]=0;c[m+8>>2]=0;e=Jh(190027)|0;if(!e){c[h>>2]=-1;Ct(190043,h)|0;c[j>>2]=-1;c[k>>2]=-1;c[f>>2]=-1;c[g>>2]=-1;mAa(190054,j,k,f,g)|0;do if(mAa(190065,j,k,f,g)|0){d=j0a(56)|0;u=c[j>>2]|0;e=c[k>>2]|0;i=c[f>>2]|0;j=c[g>>2]|0;k=c[h>>2]|0;Tha(d);h=d+12|0;c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;c[d+24>>2]=2;c[d+28>>2]=0;c[d>>2]=100356;c[d+32>>2]=u;c[d+36>>2]=e;c[d+40>>2]=i;c[d+44>>2]=j;c[d+48>>2]=k;k=d+52|0;a[k>>0]=1;a[d+53>>0]=0;j=d+8|0;c[j>>2]=(c[j>>2]|0)+1;a[k>>0]=0;Fta(b+104|0,d);k=c[j>>2]|0;c[j>>2]=k-1;if((k|0)==1)UU(d,1,1)}else{i=c[f>>2]|0;d=c[g>>2]|0;f=c[h>>2]|0;g=(f|0)>-1;h=b+104|0;if((i|0)>0&(d|0)>0){j=c[j>>2]|0;u=c[k>>2]|0;e=j0a(56)|0;Tha(e);k=e+12|0;c[k>>2]=0;c[k+4>>2]=0;c[k+8>>2]=0;c[e+24>>2]=2;c[e+28>>2]=0;c[e>>2]=100356;c[e+32>>2]=j;c[e+36>>2]=u;c[e+40>>2]=i;c[e+44>>2]=d;d=e+48|0;if(g){c[d>>2]=f;a[e+52>>0]=1;a[e+53>>0]=0;Fta(h,e);break}else{c[d>>2]=0;a[e+52>>0]=1;a[e+53>>0]=0;Fta(h,e);break}}else if(g){u=j0a(36)|0;Tha(u);k=u+12|0;c[k>>2]=0;c[k+4>>2]=0;c[k+8>>2]=0;c[u+24>>2]=2;c[u+28>>2]=0;c[u>>2]=100176;c[u+32>>2]=f;Fta(h,u);break}else{u=j0a(32)|0;Tha(u);k=u+12|0;c[k>>2]=0;c[k+4>>2]=0;c[k+8>>2]=0;c[u+24>>2]=2;c[u+28>>2]=0;c[u>>2]=99996;Fta(h,u);break}}while(0)}else{d=0;while(1){if(!(a[e+d>>0]|0))break;d=d+1|0;if(d>>>0>=4096){d=4096;break}}A0a(m,e,d)|0;kk[c[(c[b>>2]|0)+12>>2]&511](b,m)|0}Nk[c[(c[b>>2]|0)+88>>2]&255](b,r,1);if((a[m+11>>0]|0)<0)l0a(c[m>>2]|0);e=c[r>>2]|0;d=c[s>>2]|0}a:do if((e|0)!=(d|0)){d=c[b+220>>2]|0;if(!d)d=c[(vt()|0)>>2]|0;c[m>>2]=0;c[m+4>>2]=0;c[m+8>>2]=0;e=gT(m)|0;if((a[m+11>>0]|0)<0)l0a(c[m>>2]|0);if(e|0?(gk[c[(c[e>>2]|0)+32>>2]&1023](e)|0)==0:0)Jk[c[(c[e>>2]|0)+28>>2]&1023](e,d);h=c[d+116>>2]|0;i=c[d+120>>2]|0;e=c[r>>2]|0;if((e|0)!=(c[s>>2]|0)){f=d+156|0;g=b+80|0;do{d=c[e>>2]|0;if(((c[f>>2]|0?(n=j0a(16)|0,FT(n),o=d+116|0,p=c[o>>2]|0,(p|0)!=(n|0)):0)?(c[o>>2]=n,u=n+8|0,c[u>>2]=(c[u>>2]|0)+1,p|0):0)?(m=p+8|0,u=c[m>>2]|0,c[m>>2]=u-1,(u|0)==1):0)UU(p,1,1);u=d+48|0;aia(c[u>>2]|0,h);cia(c[u>>2]|0,i);VR(d)|0;if(c[g>>2]|0?gk[c[(c[d>>2]|0)+168>>2]&1023](d)|0:0){wT(d)|0;u=c[g>>2]|0;Jk[c[(c[u>>2]|0)+4>>2]&1023](u,d);xT(d)|0}e=e+4|0}while((e|0)!=(c[s>>2]|0))}d=c[b+88>>2]|0;if(d){Eka(d,r);e=c[s>>2]|0}d=c[r>>2]|0;if((d|0)!=(e|0))do{f=c[d>>2]|0;if((f|0)!=0?(q=y1a(f,44864,58744,0)|0,(q|0)!=0):0){Bk[c[(c[q>>2]|0)+236>>2]&2047](q);e=c[s>>2]|0}d=d+4|0}while((d|0)!=(e|0));q=fia()|0;u=gia(q)|0;c[q>>2]=u;c[q+4>>2]=y;q=c[(c[b>>2]|0)+160>>2]|0;u=fia()|0;Nk[q&255](b,c[u>>2]|0,c[u+4>>2]|0);Bk[c[(c[b>>2]|0)+40>>2]&2047](b);if(a[(c[(vt()|0)>>2]|0)+92>>0]|0){d=0;while(1){if(d>>>0>(sT()|0)>>>0)break a;e=uT(d)|0;if(e|0){DT(e);ola((c[e+108>>2]|0)+12|0)|0}d=d+1|0}}}else{if(ZQ(3)|0){u=mr(lr(3)|0,190087,48)|0;BSa(m,u+(c[(c[u>>2]|0)+-12>>2]|0)|0);q=cUa(m,230580)|0;q=kk[c[(c[q>>2]|0)+28>>2]&511](q,10)|0;dUa(m);VSa(u,q)|0;HSa(u)|0}a[b+5>>0]=1}while(0);d=c[r>>2]|0;if(!d){l=t;return}c[s>>2]=d;l0a(d);l=t;return}function cya(b){b=b|0;var d=0,e=0;d=b+104|0;if((c[b+180>>2]|0)==0?a[(c[b+120>>2]|0)+228>>0]|0:0){e=j0a(288)|0;Qja(e,5);xta(d,e,1)}a[b+13>>0]=0;dta(b)|0;return 0}function dya(b){b=b|0;var d=0,e=0,f=0;d=b+33|0;if(a[d>>0]|0){f=1;return f|0}e=b+34|0;if(a[e>>0]|0){f=1;return f|0}f=b+104|0;if(gk[c[(c[f>>2]|0)+68>>2]&1023](f)|0){f=1;return f|0}if(gk[c[(c[f>>2]|0)+72>>2]&1023](f)|0){f=1;return f|0}if(gk[c[(c[b>>2]|0)+60>>2]&1023](b)|0){f=1;return f|0}if(a[d>>0]|0){f=1;return f|0}f=(a[e>>0]|0)!=0;return f|0}function eya(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;h=l;l=l+16|0;g=h;d=c[a+160>>2]|0;f=a+164|0;b=c[f>>2]|0;a:do if((d|0)!=(b|0)){while(1){e=c[d>>2]|0;if(c[e+36>>2]&1){if(gk[c[(c[e>>2]|0)+164>>2]&1023](e)|0){b=1;break}b=c[f>>2]|0}d=d+4|0;if((d|0)==(b|0))break a}l=h;return b|0}while(0);c[g>>2]=0;e=g+4|0;c[e>>2]=0;c[g+8>>2]=0;Nk[c[(c[a>>2]|0)+92>>2]&255](a,g,1);b=c[g>>2]|0;if((b|0)==(c[e>>2]|0))d=0;else{while(1){a=c[b>>2]|0;b=b+4|0;if(gk[c[(c[a>>2]|0)+212>>2]&1023](a)|0){d=1;break}if((b|0)==(c[e>>2]|0)){d=0;break}}b=c[g>>2]|0}if(b|0){c[e>>2]=b;l0a(b)}g=d;l=h;return g|0}function fya(b,d){b=b|0;d=+d;var e=0,f=0.0,g=0,i=0,j=0,k=0,m=0,n=0,o=0.0,p=0,q=0,r=0,s=0;s=l;l=l+16|0;q=s;if(a[b+5>>0]|0){l=s;return}r=b+136|0;e=c[r>>2]|0;m=e+16|0;o=+h[m>>3];e=e+12|0;p=c[e>>2]|0;c[e>>2]=p+1;e=fia()|0;i=b+152|0;g=c[i>>2]|0;i=c[i+4>>2]|0;j=gia(fia()|0)|0;k=y;if(k>>>0>i>>>0|(k|0)==(i|0)&j>>>0>g>>>0){n=q2a(j|0,k|0,g|0,i|0)|0;f=+h[e+8>>3]*(+(n>>>0)+4294967296.0*+(y>>>0))}else{n=q2a(g|0,i|0,j|0,k|0)|0;f=-(+h[e+8>>3]*(+(n>>>0)+4294967296.0*+(y>>>0)))}h[m>>3]=f;e=c[r>>2]|0;if(d==1797693134862315708145274.0e284)d=+h[e+16>>3];h[e+24>>3]=d;if(gk[c[(c[b>>2]|0)+4>>2]&1023](b)|0){i=gk[c[(c[b>>2]|0)+4>>2]&1023](b)|0;j=q+11|0;a[j>>0]=10;k=q;m=184713;n=k+10|0;do{a[k>>0]=a[m>>0]|0;k=k+1|0;m=m+1|0}while((k|0)<(n|0));a[q+10>>0]=0;g=i+24|0;gk[c[(c[g>>2]|0)+8>>2]&1023](g)|0;e=Rsa(i+68|0,q)|0;if((e|0)==(i+72|0))e=0;else e=(a[e+28>>0]|0)!=0;gk[c[(c[g>>2]|0)+12>>2]&1023](g)|0;if((a[j>>0]|0)<0)l0a(c[q>>2]|0);if(e){d=+h[(c[r>>2]|0)+16>>3]-o;e=gk[c[(c[b>>2]|0)+4>>2]&1023](b)|0;g=j0a(16)|0;c[q>>2]=g;c[q+8>>2]=-2147483632;c[q+4>>2]=14;k=g;m=184724;n=k+14|0;do{a[k>>0]=a[m>>0]|0;k=k+1|0;m=m+1|0}while((k|0)<(n|0));a[g+14>>0]=0;Aia(e,p,q,d)|0;if((a[q+11>>0]|0)<0)l0a(c[q>>2]|0);e=gk[c[(c[b>>2]|0)+4>>2]&1023](b)|0;g=q+11|0;a[g>>0]=10;k=q;m=184739;n=k+10|0;do{a[k>>0]=a[m>>0]|0;k=k+1|0;m=m+1|0}while((k|0)<(n|0));a[q+10>>0]=0;Aia(e,p,q,1.0/d)|0;if((a[g>>0]|0)<0)l0a(c[q>>2]|0);e=gk[c[(c[b>>2]|0)+4>>2]&1023](b)|0;g=c[r>>2]|0;i=c[g+12>>2]|0;j=j0a(16)|0;c[q>>2]=j;c[q+8>>2]=-2147483632;c[q+4>>2]=14;k=j;m=184750;n=k+14|0;do{a[k>>0]=a[m>>0]|0;k=k+1|0;m=m+1|0}while((k|0)<(n|0));a[j+14>>0]=0;Aia(e,i,q,+h[g+16>>3])|0;if((a[q+11>>0]|0)<0)l0a(c[q>>2]|0)}}if(!(Sha()|0)){l=s;return}q=Sha()|0;Bk[c[(c[q>>2]|0)+8>>2]&2047](q);q=Sha()|0;c[q+8>>2]=c[(c[r>>2]|0)+12>>2];l=s;return}function gya(b){b=b|0;var d=0,e=0,f=0,g=0,i=0,j=0,k=0,m=0,n=0.0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0.0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0;S=l;l=l+48|0;R=S+24|0;P=S+12|0;Q=S;F=b+5|0;if(a[F>>0]|0){l=S;return}O=b+136|0;n=+h[(c[O>>2]|0)+16>>3];f=fia()|0;J=b+152|0;j=J;i=c[j>>2]|0;j=c[j+4>>2]|0;k=gia(fia()|0)|0;m=y;if(m>>>0>j>>>0|(m|0)==(j|0)&k>>>0>i>>>0){N=q2a(k|0,m|0,i|0,j|0)|0;K=+h[f+8>>3]*(+(N>>>0)+4294967296.0*+(y>>>0))}else{N=q2a(i|0,j|0,k|0,m|0)|0;K=-(+h[f+8>>3]*(+(N>>>0)+4294967296.0*+(y>>>0)))}c[R>>2]=R;L=R+4|0;c[L>>2]=R;M=R+8|0;c[M>>2]=0;c[P>>2]=0;N=P+4|0;c[N>>2]=0;c[P+8>>2]=0;Nk[c[(c[b>>2]|0)+88>>2]&255](b,P,1);if((c[N>>2]|0)==(c[P>>2]|0)){a[F>>0]=1;if(a[b+32>>0]|0){Bk[c[(c[b>>2]|0)+44>>2]&2047](b);E=8}}else E=8;if((E|0)==8?(a[F>>0]|0)==0:0){A=b+176|0;B=c[(c[A>>2]|0)+12>>2]|0;f=c[b+160>>2]|0;j=b+164|0;if((f|0)!=(c[j>>2]|0))do{i=c[f>>2]|0;if(c[i+36>>2]&1|0)gk[c[(c[i>>2]|0)+164>>2]&1023](i)|0;Cja(c[i+32>>2]|0,R,n)|0;f=f+4|0}while((f|0)!=(c[j>>2]|0));i=c[P>>2]|0;f=c[N>>2]|0;if((i|0)!=(f|0)){q=Q+4|0;r=Q+8|0;s=B+52|0;t=B+56|0;u=B+160|0;v=B+164|0;w=b+32|0;x=b+92|0;z=b+96|0;do{j=c[i>>2]|0;if((j|0)!=0?(D=y1a(j,44864,58744,0)|0,(D|0)!=0):0){gk[c[(c[D>>2]|0)+212>>2]&1023](D)|0;c[Q>>2]=Q;c[q>>2]=Q;c[r>>2]=0;Cja(c[D+136>>2]|0,Q,n)|0;f=c[q>>2]|0;j=f;if((Q|0)!=(j|0)){do{p=c[f+8>>2]|0;p=gk[c[(c[p>>2]|0)+164>>2]&1023](p)|0;if(p|0){f=Vha(D)|0;o=p+52|0;k=c[o>>2]|0;if((k|0)!=(f|0)){c[o>>2]=f;if(f|0){m=f+8|0;c[m>>2]=(c[m>>2]|0)+1}do if(k|0){f=k+8|0;m=c[f>>2]|0;c[f>>2]=m-1;if((m|0)!=1)break;UU(k,1,1)}while(0);f=c[o>>2]|0}if(!f)f=0;else f=(c[f+24>>2]|0)==0?0:D;m=p+56|0;c[m>>2]=f;switch(gk[c[(c[p>>2]|0)+172>>2]&1023](p)|0){case 8:case 16:case 4:case 2:case 1:{do if((gk[c[(c[p>>2]|0)+172>>2]&1023](p)|0)==8){f=c[s>>2]|0;do if(!f)k=0;else{if(!(c[f+24>>2]|0)){k=0;break}k=c[t>>2]|0}while(0);f=c[o>>2]|0;do if(!f)f=0;else{if(!(c[f+24>>2]|0)){f=0;break}f=c[m>>2]|0}while(0);if((k|0)!=(f|0)){E=40;break}if((c[v>>2]|0)-(c[u>>2]|0)>>2>>>0<2){E=40;break}kAa(b,B,p)}else E=40;while(0);if((E|0)==40){E=0;jAa(b,p)}Mja(B,p);break}default:Mja(p,B)}m=p+8|0;c[m>>2]=(c[m>>2]|0)+1;o=j0a(12)|0;c[o>>2]=0;c[o+8>>2]=p;c[m>>2]=(c[m>>2]|0)+1;c[o+4>>2]=R;k=c[R>>2]|0;c[o>>2]=k;c[k+4>>2]=o;c[R>>2]=o;c[M>>2]=(c[M>>2]|0)+1;o=c[m>>2]|0;c[m>>2]=o-1;if((o|0)==1)UU(p,1,1)}f=c[j+4>>2]|0;j=f}while((Q|0)!=(j|0));f=c[q>>2]|0;j=f}if((Q|0)!=(j|0))do{f=c[f+8>>2]|0;f=gk[c[(c[f>>2]|0)+164>>2]&1023](f)|0;do if(f|0?(gk[c[(c[f>>2]|0)+172>>2]&1023](f)|0)==16384:0){f=(a[w>>0]|0)!=0;if(f)Bk[c[(c[b>>2]|0)+44>>2]&2047](b);dH(D,1);k=c[x>>2]|0;do if(k|0){c[x>>2]=0;o=k+8|0;p=c[o>>2]|0;c[o>>2]=p-1;if((p|0)!=1)break;UU(k,1,1)}while(0);c[z>>2]=0;if(!f)break;Bk[c[(c[b>>2]|0)+48>>2]&2047](b)}while(0);f=c[j+4>>2]|0;j=f}while((Q|0)!=(j|0));if(c[r>>2]|0?(C=c[q>>2]|0,p=(c[Q>>2]|0)+4|0,o=c[C>>2]|0,c[o+4>>2]=c[p>>2],c[c[p>>2]>>2]=o,c[r>>2]=0,(C|0)!=(Q|0)):0){f=C;do{j=f;f=c[f+4>>2]|0;k=c[j+8>>2]|0;do if(k|0){o=k+8|0;p=c[o>>2]|0;c[o>>2]=p-1;if((p|0)!=1)break;UU(k,1,1)}while(0);l0a(j)}while((f|0)!=(Q|0))}f=c[N>>2]|0}i=i+4|0}while((i|0)!=(f|0))}f=Ija(c[A>>2]|0,+h[(c[O>>2]|0)+16>>3])|0;i=(f|0)==0;if(!i){D=f+8|0;c[D>>2]=(c[D>>2]|0)+1}if((B|0)!=0?(c[B+164>>2]|0)-(c[B+160>>2]|0)>>2>>>0>=2:0)kAa(b,B,f);else jAa(b,f);if(!i?(C=f+8|0,D=c[C>>2]|0,c[C>>2]=D-1,(D|0)==1):0)UU(f,1,1);Cja(c[A>>2]|0,R,n)|0;j=b+8|0;if(!((c[j>>2]|0)==0?!(a[b+12>>0]|0):0))E=80;if((E|0)==80?(e=c[L>>2]|0,g=e,(R|0)!=(g|0)):0){i=b+12|0;do{e=c[e+8>>2]|0;e=gk[c[(c[e>>2]|0)+164>>2]&1023](e)|0;a:do if(e|0?(a[e+32>>0]|0)==0:0){f=gk[c[(c[e>>2]|0)+172>>2]&1023](e)|0;if((f|0)>=32768){switch(f|0){case 32768:break;default:break a}if(!(a[i>>0]|0))break;a[F>>0]=1;break}switch(f|0){case 64:break;default:break a}if(c[j>>2]|0?(E=gk[c[(c[e>>2]|0)+176>>2]&1023](e)|0,(E|0)==(c[j>>2]|0)):0)a[F>>0]=1}while(0);e=c[g+4>>2]|0;g=e}while((R|0)!=(g|0))}if(!(a[F>>0]|0)){r=b+68|0;e=c[r>>2]|0;if((e|0?(H=b+172|0,G=c[H>>2]|0,G|0):0)?c[G+12>>2]|0:0){g=c[O>>2]|0;e=e+12|0;f=c[e>>2]|0;do if((f|0)!=(g|0)){c[e>>2]=g;if(g|0){G=g+8|0;c[G>>2]=(c[G>>2]|0)+1}if(f|0){F=f+8|0;G=c[F>>2]|0;c[F>>2]=G-1;if((G|0)!=1)break;UU(f,1,1)}}while(0);c[(c[r>>2]|0)+8>>2]=c[(c[O>>2]|0)+12>>2];e=c[L>>2]|0;f=e;if((R|0)!=(f|0)){o=b+124|0;p=b+128|0;q=b+120|0;do{e=c[e+8>>2]|0;e=gk[c[(c[e>>2]|0)+164>>2]&1023](e)|0;if(e|0){k=c[r>>2]|0;Bk[c[(c[k>>2]|0)+76>>2]&2047](k);Lja(c[r>>2]|0,e);k=c[(c[H>>2]|0)+12>>2]|0;Jk[c[(c[k>>2]|0)+212>>2]&1023](k,c[r>>2]|0);k=c[p>>2]|0;g=c[o>>2]|0;e=g;if((k|0)==(g|0))g=k;else{j=0;m=e;while(1){i=c[m+(j*272|0)+4>>2]|0;do if(i){if(a[m+(j*272|0)+264>>0]|0)break;Jk[c[(c[i>>2]|0)+212>>2]&1023](i,c[r>>2]|0);e=c[o>>2]|0;g=e;k=c[p>>2]|0}while(0);j=j+1|0;if(j>>>0>=((k-g|0)/272|0)>>>0)break;else m=g}}i=c[r>>2]|0;j=i+16|0;m=c[j>>2]|0;c[j>>2]=0;j=c[q>>2]|0;if(j){Jk[c[(c[j>>2]|0)+212>>2]&1023](j,i);e=c[o>>2]|0;k=c[p>>2]|0;g=e}if((k|0)!=(g|0)){j=0;while(1){i=c[e+(j*272|0)+4>>2]|0;do if(!i)i=k;else{if(!(a[e+(j*272|0)+264>>0]|0)){i=k;break}Jk[c[(c[i>>2]|0)+212>>2]&1023](i,c[r>>2]|0);g=c[o>>2]|0;i=c[p>>2]|0}while(0);j=j+1|0;if(j>>>0>=((i-g|0)/272|0)>>>0)break;else{e=g;k=i}}}c[(c[r>>2]|0)+16>>2]=m}e=c[f+4>>2]|0;f=e}while((R|0)!=(f|0))}}e=c[L>>2]|0;f=e;if((R|0)!=(f|0)){j=b+188|0;k=b+184|0;do{i=c[e+8>>2]|0;e=c[j>>2]|0;g=e;if((k|0)!=(g|0))do{H=c[e+8>>2]|0;mk[c[(c[H>>2]|0)+64>>2]&63](H,i,0,c[r>>2]|0)|0;e=c[g+4>>2]|0;g=e}while((k|0)!=(g|0));e=c[f+4>>2]|0;f=e}while((R|0)!=(f|0));e=c[L>>2]|0;f=e}if((R|0)!=(f|0)){g=b+180|0;do{e=c[e+8>>2]|0;if(e|0?(I=c[g>>2]|0,I|0):0)mk[c[(c[I>>2]|0)+64>>2]&63](I,e,0,c[r>>2]|0)|0;e=c[f+4>>2]|0;f=e}while((R|0)!=(f|0))}if(gk[c[(c[b>>2]|0)+4>>2]&1023](b)|0){I=gk[c[(c[b>>2]|0)+4>>2]&1023](b)|0;c[Q>>2]=0;c[Q+4>>2]=0;c[Q+8>>2]=0;f=Q+11|0;a[f>>0]=5;a[Q>>0]=a[184549]|0;a[Q+1>>0]=a[184550]|0;a[Q+2>>0]=a[184551]|0;a[Q+3>>0]=a[184552]|0;a[Q+4>>0]=a[184553]|0;a[Q+5>>0]=0;g=I+24|0;gk[c[(c[g>>2]|0)+8>>2]&1023](g)|0;e=Rsa(I+68|0,Q)|0;if((e|0)==(I+72|0))e=0;else e=(a[e+28>>0]|0)!=0;gk[c[(c[g>>2]|0)+12>>2]&1023](g)|0;if((a[f>>0]|0)<0)l0a(c[Q>>2]|0);if(e){j=fia()|0;f=J;e=c[f>>2]|0;f=c[f+4>>2]|0;g=gia(fia()|0)|0;i=y;if(i>>>0>f>>>0|(i|0)==(f|0)&g>>>0>e>>>0){J=q2a(g|0,i|0,e|0,f|0)|0;n=+h[j+8>>3]*(+(J>>>0)+4294967296.0*+(y>>>0))}else{J=q2a(e|0,f|0,g|0,i|0)|0;n=-(+h[j+8>>3]*(+(J>>>0)+4294967296.0*+(y>>>0)))}e=gk[c[(c[b>>2]|0)+4>>2]&1023](b)|0;f=c[(c[O>>2]|0)+12>>2]|0;c[Q>>2]=0;c[Q+4>>2]=0;c[Q+8>>2]=0;g=j0a(32)|0;c[Q>>2]=g;c[Q+8>>2]=-2147483616;c[Q+4>>2]=26;i=g;j=184555;k=i+26|0;do{a[i>>0]=a[j>>0]|0;i=i+1|0;j=j+1|0}while((i|0)<(k|0));a[g+26>>0]=0;Aia(e,f,Q,K)|0;if((a[Q+11>>0]|0)<0)l0a(c[Q>>2]|0);e=gk[c[(c[b>>2]|0)+4>>2]&1023](b)|0;f=c[(c[O>>2]|0)+12>>2]|0;c[Q>>2]=0;c[Q+4>>2]=0;c[Q+8>>2]=0;g=j0a(32)|0;c[Q>>2]=g;c[Q+8>>2]=-2147483616;c[Q+4>>2]=24;i=g;j=184582;k=i+24|0;do{a[i>>0]=a[j>>0]|0;i=i+1|0;j=j+1|0}while((i|0)<(k|0));a[g+24>>0]=0;Aia(e,f,Q,n)|0;if((a[Q+11>>0]|0)<0)l0a(c[Q>>2]|0);g=gk[c[(c[b>>2]|0)+4>>2]&1023](b)|0;e=c[(c[O>>2]|0)+12>>2]|0;c[Q>>2]=0;c[Q+4>>2]=0;c[Q+8>>2]=0;f=j0a(32)|0;c[Q>>2]=f;c[Q+8>>2]=-2147483616;c[Q+4>>2]=26;i=f;j=184607;k=i+26|0;do{a[i>>0]=a[j>>0]|0;i=i+1|0;j=j+1|0}while((i|0)<(k|0));a[f+26>>0]=0;Aia(g,e,Q,n-K)|0;if((a[Q+11>>0]|0)<0)l0a(c[Q>>2]|0)}}}}e=c[P>>2]|0;if(e|0){c[N>>2]=e;l0a(e)}if(c[M>>2]|0?(d=c[L>>2]|0,Q=(c[R>>2]|0)+4|0,P=c[d>>2]|0,c[P+4>>2]=c[Q>>2],c[c[Q>>2]>>2]=P,c[M>>2]=0,(d|0)!=(R|0)):0)do{e=d;d=c[d+4>>2]|0;f=c[e+8>>2]|0;if(f|0?(P=f+8|0,Q=c[P>>2]|0,c[P>>2]=Q-1,(Q|0)==1):0)UU(f,1,1);l0a(e)}while((d|0)!=(R|0));l=S;return}function hya(b){b=b|0;var d=0,e=0,f=0,i=0,j=0,k=0.0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0.0,v=0,w=0;w=l;l=l+16|0;v=w;if(a[b+5>>0]|0){l=w;return}j=fia()|0;r=b+104|0;s=b+152|0;e=s;d=c[e>>2]|0;e=c[e+4>>2]|0;f=gia(fia()|0)|0;i=y;if(i>>>0>e>>>0|(i|0)==(e|0)&f>>>0>d>>>0){t=q2a(f|0,i|0,d|0,e|0)|0;u=+h[j+8>>3]*(+(t>>>0)+4294967296.0*+(y>>>0))}else{t=q2a(d|0,e|0,f|0,i|0)|0;u=-(+h[j+8>>3]*(+(t>>>0)+4294967296.0*+(y>>>0)))}q=b+76|0;t=c[q>>2]|0;Bk[c[(c[t>>2]|0)+76>>2]&2047](t);t=b+136|0;d=c[t>>2]|0;e=(c[q>>2]|0)+12|0;f=c[e>>2]|0;if((f|0)!=(d|0)){c[e>>2]=d;if(d|0){p=d+8|0;c[p>>2]=(c[p>>2]|0)+1}if(f|0?(o=f+8|0,p=c[o>>2]|0,c[o>>2]=p-1,(p|0)==1):0)UU(f,1,1)}p=c[q>>2]|0;c[p+8>>2]=c[(c[t>>2]|0)+12>>2];o=c[b+172>>2]|0;Jk[c[(c[o>>2]|0)+20>>2]&1023](o,p);if(c[(Rla(0)|0)+236>>2]|0)Osa(c[(Rla(0)|0)+236>>2]|0);d=Rla(0)|0;Msa(d,c[t>>2]|0);d=Rla(0)|0;Nsa(d,c[t>>2]|0);d=c[b+72>>2]|0;if(d|0)MU(d,b+(c[(c[b>>2]|0)+-12>>2]|0)|0);d=c[b+88>>2]|0;if(d|0)Mka(d,c[t>>2]|0);o=b+124|0;p=b+128|0;f=c[p>>2]|0;e=c[o>>2]|0;d=e;if((f|0)==(e|0))j=f;else{j=0;m=d;i=e;while(1){e=c[m+(j*272|0)+4>>2]|0;if((e|0)!=0?(a[m+(j*272|0)+264>>0]|0)==0:0){Jk[c[(c[e>>2]|0)+212>>2]&1023](e,c[q>>2]|0);d=c[o>>2]|0;e=d;f=c[p>>2]|0}else e=i;j=j+1|0;if(j>>>0>=((f-e|0)/272|0)>>>0){j=e;break}else{m=e;i=e}}}e=c[q>>2]|0;n=e+16|0;m=c[n>>2]|0;c[n>>2]=0;n=b+120|0;i=c[n>>2]|0;if(!i)e=j;else{Jk[c[(c[i>>2]|0)+212>>2]&1023](i,e);d=c[o>>2]|0;f=c[p>>2]|0;e=d}if((f|0)!=(e|0)){j=0;i=e;while(1){e=c[d+(j*272|0)+4>>2]|0;if((e|0)!=0?(a[d+(j*272|0)+264>>0]|0)!=0:0){Jk[c[(c[e>>2]|0)+212>>2]&1023](e,c[q>>2]|0);e=c[o>>2]|0;f=c[p>>2]|0}else e=i;j=j+1|0;if(j>>>0>=((f-e|0)/272|0)>>>0)break;else{d=e;i=e}}}c[(c[q>>2]|0)+16>>2]=m;d=b+180|0;e=c[d>>2]|0;if(e|0){q=gk[c[(c[e>>2]|0)+104>>2]&1023](e)|0;p=c[d>>2]|0;k=+ck[c[(c[p>>2]|0)+108>>2]&7](p);c[b+224>>2]=q;g[b+228>>2]=k;q=c[d>>2]|0;Jk[c[(c[q>>2]|0)+100>>2]&1023](q,c[n>>2]|0)}tja(r);if(!(gk[c[(c[b>>2]|0)+4>>2]&1023](b)|0)){l=w;return}r=gk[c[(c[b>>2]|0)+4>>2]&1023](b)|0;c[v>>2]=0;c[v+4>>2]=0;c[v+8>>2]=0;e=v+11|0;a[e>>0]=6;a[v>>0]=a[184342]|0;a[v+1>>0]=a[184343]|0;a[v+2>>0]=a[184344]|0;a[v+3>>0]=a[184345]|0;a[v+4>>0]=a[184346]|0;a[v+5>>0]=a[184347]|0;a[v+6>>0]=0;f=r+24|0;gk[c[(c[f>>2]|0)+8>>2]&1023](f)|0;d=Rsa(r+68|0,v)|0;if((d|0)==(r+72|0))d=0;else d=(a[d+28>>0]|0)!=0;gk[c[(c[f>>2]|0)+12>>2]&1023](f)|0;if((a[e>>0]|0)<0)l0a(c[v>>2]|0);if(!d){l=w;return}j=fia()|0;e=s;d=c[e>>2]|0;e=c[e+4>>2]|0;f=gia(fia()|0)|0;i=y;if(i>>>0>e>>>0|(i|0)==(e|0)&f>>>0>d>>>0){s=q2a(f|0,i|0,d|0,e|0)|0;k=+h[j+8>>3]*(+(s>>>0)+4294967296.0*+(y>>>0))}else{s=q2a(d|0,e|0,f|0,i|0)|0;k=-(+h[j+8>>3]*(+(s>>>0)+4294967296.0*+(y>>>0)))}d=gk[c[(c[b>>2]|0)+4>>2]&1023](b)|0;e=c[(c[t>>2]|0)+12>>2]|0;f=j0a(32)|0;c[v>>2]=f;c[v+8>>2]=-2147483616;c[v+4>>2]=27;i=f;j=184467;m=i+27|0;do{a[i>>0]=a[j>>0]|0;i=i+1|0;j=j+1|0}while((i|0)<(m|0));a[f+27>>0]=0;Aia(d,e,v,u)|0;if((a[v+11>>0]|0)<0)l0a(c[v>>2]|0);d=gk[c[(c[b>>2]|0)+4>>2]&1023](b)|0;e=c[(c[t>>2]|0)+12>>2]|0;f=j0a(32)|0;c[v>>2]=f;c[v+8>>2]=-2147483616;c[v+4>>2]=25;i=f;j=184495;m=i+25|0;do{a[i>>0]=a[j>>0]|0;i=i+1|0;j=j+1|0}while((i|0)<(m|0));a[f+25>>0]=0;Aia(d,e,v,k)|0;if((a[v+11>>0]|0)<0)l0a(c[v>>2]|0);f=gk[c[(c[b>>2]|0)+4>>2]&1023](b)|0;d=c[(c[t>>2]|0)+12>>2]|0;e=j0a(32)|0;c[v>>2]=e;c[v+8>>2]=-2147483616;c[v+4>>2]=27;i=e;j=184521;m=i+27|0;do{a[i>>0]=a[j>>0]|0;i=i+1|0;j=j+1|0}while((i|0)<(m|0));a[e+27>>0]=0;Aia(f,d,v,k-u)|0;if((a[v+11>>0]|0)<0)l0a(c[v>>2]|0);l=w;return}function iya(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0;m=l;l=l+16|0;j=m;e=c[b>>2]|0;k=b+4|0;c[k>>2]=e;h=a+120|0;g=c[h>>2]|0;do if(g|0){f=g;if(d){e=c[g+624>>2]|0;if(!e)break;if(!(gk[c[(c[e>>2]|0)+168>>2]&1023](e)|0))break;f=c[h>>2]|0;e=c[k>>2]|0}c[j>>2]=f;if(e>>>0<(c[b+8>>2]|0)>>>0){c[e>>2]=f;c[k>>2]=(c[k>>2]|0)+4}else qta(b,j)}while(0);f=c[a+124>>2]|0;h=a+128|0;e=c[h>>2]|0;if((f|0)==(e|0)){l=m;return}a=b+8|0;if(!d){g=f;do{i=c[g+4>>2]|0;f=i;if(i){c[j>>2]=f;e=c[k>>2]|0;if(e>>>0<(c[a>>2]|0)>>>0){c[e>>2]=f;c[k>>2]=(c[k>>2]|0)+4}else qta(b,j);e=c[h>>2]|0}g=g+272|0}while((g|0)!=(e|0));l=m;return}g=f;do{e=g+4|0;f=c[e>>2]|0;if((f|0?(i=c[f+624>>2]|0,i|0):0)?gk[c[(c[i>>2]|0)+168>>2]&1023](i)|0:0){e=c[e>>2]|0;c[j>>2]=e;f=c[k>>2]|0;if(f>>>0<(c[a>>2]|0)>>>0){c[f>>2]=e;c[k>>2]=(c[k>>2]|0)+4}else qta(b,j)}g=g+272|0}while((g|0)!=(c[h>>2]|0));l=m;return}function jya(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;u=l;l=l+16|0;t=u+4|0;p=u;q=t+4|0;c[q>>2]=0;r=t+8|0;c[r>>2]=0;e=t+4|0;c[t>>2]=e;s=b+4|0;c[s>>2]=c[b>>2];m=a+120|0;f=c[m>>2]|0;if((f|0?(g=c[f+624>>2]|0,g|0):0)?gk[c[(c[g>>2]|0)+168>>2]&1023](g)|0|d^1:0){f=(c[m>>2]|0)+624|0;j=c[f>>2]|0;k=j;g=c[e>>2]|0;do if(g){i=q;while(1){h=c[g+16>>2]|0;if(j>>>0<h>>>0){h=c[g>>2]|0;if(!h){n=8;break}}else{if(h>>>0>=j>>>0){n=12;break}i=g+4|0;h=c[i>>2]|0;if(!h){n=11;break}else g=i}i=g;g=h}if((n|0)==8){j=g;h=g;break}else if((n|0)==11){j=g;h=i;break}else if((n|0)==12){j=g;h=i;break}}else{j=e;h=e}while(0);if(!(c[h>>2]|0)){f=j0a(20)|0;c[f+16>>2]=k;c[f>>2]=0;c[f+4>>2]=0;c[f+8>>2]=j;c[h>>2]=f;g=c[c[t>>2]>>2]|0;if(g){c[t>>2]=g;f=c[h>>2]|0}fp(c[q>>2]|0,f);c[r>>2]=(c[r>>2]|0)+1;f=(c[m>>2]|0)+624|0}f=c[f>>2]|0;c[p>>2]=f;g=c[s>>2]|0;if(g>>>0<(c[b+8>>2]|0)>>>0){c[g>>2]=f;c[s>>2]=(c[s>>2]|0)+4}else Vva(b,p)}o=a+124|0;m=a+128|0;a=c[o>>2]|0;f=a;if((c[m>>2]|0)==(a|0)){s=e;s=c[s>>2]|0;Oea(t,s);l=u;return}a=b+8|0;if(!d){k=0;do{f=c[f+(k*272|0)+4>>2]|0;a:do if(f){f=c[f+624>>2]|0;c[p>>2]=f;if(f|0){gk[c[(c[f>>2]|0)+168>>2]&1023](f)|0;i=c[e>>2]|0;do if(i){j=c[p>>2]|0;f=i;do{g=c[f+16>>2]|0;if(j>>>0>=g>>>0){if(g>>>0>=j>>>0)break a;f=f+4|0}f=c[f>>2]|0}while((f|0)!=0);h=q;f=i;while(1){g=c[f+16>>2]|0;if(j>>>0<g>>>0){g=c[f>>2]|0;if(!g){n=45;break}else{h=f;f=g}}else{if(g>>>0>=j>>>0){n=40;break}h=f+4|0;g=c[h>>2]|0;if(!g){n=42;break}else f=g}}if((n|0)==40){g=f;break}else if((n|0)==42){g=f;break}else if((n|0)==45){g=f;h=f;break}}else{g=e;h=e}while(0);if(!(c[h>>2]|0)){f=j0a(20)|0;c[f+16>>2]=c[p>>2];c[f>>2]=0;c[f+4>>2]=0;c[f+8>>2]=g;c[h>>2]=f;g=c[c[t>>2]>>2]|0;if(g){c[t>>2]=g;f=c[h>>2]|0}fp(c[q>>2]|0,f);c[r>>2]=(c[r>>2]|0)+1}f=c[s>>2]|0;if((f|0)==(c[a>>2]|0)){OR(b,p);break}else{c[f>>2]=c[p>>2];c[s>>2]=(c[s>>2]|0)+4;break}}}else c[p>>2]=0;while(0);k=k+1|0;f=c[o>>2]|0}while(k>>>0<(((c[m>>2]|0)-f|0)/272|0)>>>0);s=c[e>>2]|0;Oea(t,s);l=u;return}k=0;do{f=c[f+(k*272|0)+4>>2]|0;b:do if(f){f=c[f+624>>2]|0;c[p>>2]=f;if(f|0?gk[c[(c[f>>2]|0)+168>>2]&1023](f)|0:0){i=c[e>>2]|0;do if(i){j=c[p>>2]|0;f=i;do{g=c[f+16>>2]|0;if(j>>>0>=g>>>0){if(g>>>0>=j>>>0)break b;f=f+4|0}f=c[f>>2]|0}while((f|0)!=0);h=q;f=i;while(1){g=c[f+16>>2]|0;if(j>>>0<g>>>0){g=c[f>>2]|0;if(!g){n=70;break}else{h=f;f=g}}else{if(g>>>0>=j>>>0){n=74;break}h=f+4|0;g=c[h>>2]|0;if(!g){n=73;break}else f=g}}if((n|0)==70){g=f;h=f;break}else if((n|0)==73){g=f;break}else if((n|0)==74){g=f;break}}else{g=e;h=e}while(0);if(!(c[h>>2]|0)){f=j0a(20)|0;c[f+16>>2]=c[p>>2];c[f>>2]=0;c[f+4>>2]=0;c[f+8>>2]=g;c[h>>2]=f;g=c[c[t>>2]>>2]|0;if(g){c[t>>2]=g;f=c[h>>2]|0}fp(c[q>>2]|0,f);c[r>>2]=(c[r>>2]|0)+1}f=c[s>>2]|0;if((f|0)==(c[a>>2]|0)){OR(b,p);break}else{c[f>>2]=c[p>>2];c[s>>2]=(c[s>>2]|0)+4;break}}}else c[p>>2]=0;while(0);k=k+1|0;f=c[o>>2]|0}while(k>>>0<(((c[m>>2]|0)-f|0)/272|0)>>>0);s=c[e>>2]|0;Oea(t,s);l=u;return}function kya(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0;r=l;l=l+16|0;k=r+4|0;o=r;p=b+4|0;c[p>>2]=c[b>>2];c[k>>2]=0;q=k+4|0;c[q>>2]=0;c[k+8>>2]=0;Nk[c[(c[a>>2]|0)+100>>2]&255](a,k,1);f=c[k>>2]|0;if((f|0)!=(c[q>>2]|0)){i=b+8|0;do{g=c[f>>2]|0;g=(g|0)==0?0:g+12|0;c[o>>2]=g;h=c[p>>2]|0;if(h>>>0<(c[i>>2]|0)>>>0){c[h>>2]=g;c[p>>2]=(c[p>>2]|0)+4}else ota(b,o);f=f+4|0}while((f|0)!=(c[q>>2]|0))}f=c[a+172>>2]|0;a:do if((f|0?(j=c[f+16>>2]|0,j|0):0)?(m=j+56|0,n=j+60|0,j=c[m>>2]|0,e=j,(c[n>>2]|0)!=(j|0)):0){h=b+8|0;if(!d){g=0;while(1){e=c[e+(g<<2)>>2]|0;e=(e|0)==0?0:e+12|0;c[o>>2]=e;f=c[p>>2]|0;if(f>>>0<(c[h>>2]|0)>>>0){c[f>>2]=e;c[p>>2]=(c[p>>2]|0)+4}else ota(b,o);g=g+1|0;e=c[m>>2]|0;if(g>>>0>=(c[n>>2]|0)-e>>2>>>0)break a}}g=0;do{e=c[e+(g<<2)>>2]|0;f=e+12|0;if(lla(f)|0){e=(e|0)==0?0:f;c[o>>2]=e;f=c[p>>2]|0;if(f>>>0<(c[h>>2]|0)>>>0){c[f>>2]=e;c[p>>2]=(c[p>>2]|0)+4}else ota(b,o)}g=g+1|0;e=c[m>>2]|0}while(g>>>0<(c[n>>2]|0)-e>>2>>>0)}while(0);e=c[k>>2]|0;if(!e){l=r;return}c[q>>2]=e;l0a(e);l=r;return}function lya(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0;p=l;l=l+32|0;n=p+16|0;j=p+4|0;k=p;m=b+4|0;c[m>>2]=c[b>>2];c[n>>2]=0;o=n+4|0;c[o>>2]=0;c[n+8>>2]=0;Nk[c[(c[a>>2]|0)+88>>2]&255](a,n,1);e=c[n>>2]|0;f=c[o>>2]|0;a:do if((e|0)!=(f|0)){h=b+8|0;if(!d)while(1){g=c[(c[e>>2]|0)+108>>2]|0;if(g){c[j>>2]=g;f=c[m>>2]|0;if(f>>>0<(c[h>>2]|0)>>>0){c[f>>2]=g;c[m>>2]=(c[m>>2]|0)+4}else nta(b,j);f=c[o>>2]|0}e=e+4|0;if((e|0)==(f|0))break a}do{f=(c[e>>2]|0)+108|0;g=c[f>>2]|0;if(g|0?lla(g+12|0)|0:0){f=c[f>>2]|0;c[j>>2]=f;g=c[m>>2]|0;if(g>>>0<(c[h>>2]|0)>>>0){c[g>>2]=f;c[m>>2]=(c[m>>2]|0)+4}else nta(b,j)}e=e+4|0}while((e|0)!=(c[o>>2]|0))}while(0);c[j>>2]=0;i=j+4|0;c[i>>2]=0;c[j+8>>2]=0;Nk[c[(c[a>>2]|0)+84>>2]&255](a,j,1);e=c[j>>2]|0;f=c[i>>2]|0;if((e|0)!=(f|0)){h=b+8|0;if(d)do{f=(c[e>>2]|0)+620|0;g=c[f>>2]|0;if(g|0?lla(g+12|0)|0:0){f=c[f>>2]|0;c[k>>2]=f;g=c[m>>2]|0;if(g>>>0<(c[h>>2]|0)>>>0){c[g>>2]=f;c[m>>2]=(c[m>>2]|0)+4}else nta(b,k)}e=e+4|0}while((e|0)!=(c[i>>2]|0));else do{d=c[(c[e>>2]|0)+620>>2]|0;g=d;if(d){c[k>>2]=g;f=c[m>>2]|0;if(f>>>0<(c[h>>2]|0)>>>0){c[f>>2]=g;c[m>>2]=(c[m>>2]|0)+4}else nta(b,k);f=c[i>>2]|0}e=e+4|0}while((e|0)!=(f|0));e=c[j>>2]|0}if(e|0){c[i>>2]=e;l0a(e)}e=c[n>>2]|0;if(!e){l=p;return}c[o>>2]=e;l0a(e);l=p;return}function mya(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=l;l=l+16|0;e=h;f=c[b>>2]|0;g=b+4|0;c[g>>2]=f;d=c[a+172>>2]|0;c[e>>2]=d;if((c[b+8>>2]|0)>>>0>f>>>0){c[f>>2]=d;c[g>>2]=(c[g>>2]|0)+4;l=h;return}else{mta(b,e);l=h;return}}function nya(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=l;l=l+16|0;e=h;f=c[b>>2]|0;g=b+4|0;c[g>>2]=f;d=a+104|0;c[e>>2]=d;if((c[b+8>>2]|0)>>>0>f>>>0){c[f>>2]=d;c[g>>2]=(c[g>>2]|0)+4;l=h;return}else{lta(b,e);l=h;return}}function oya(a){a=a|0;var b=0,d=0,e=0,f=0,g=0.0;f=fia()|0;e=a+152|0;d=c[e>>2]|0;e=c[e+4>>2]|0;a=gia(fia()|0)|0;b=y;if(b>>>0>e>>>0|(b|0)==(e|0)&a>>>0>d>>>0){e=q2a(a|0,b|0,d|0,e|0)|0;g=+h[f+8>>3]*(+(e>>>0)+4294967296.0*+(y>>>0));return +g}else{e=q2a(d|0,e|0,a|0,b|0)|0;g=-(+h[f+8>>3]*(+(e>>>0)+4294967296.0*+(y>>>0)));return +g}return 0.0}function pya(a){a=a|0;return c[a+136>>2]|0}function qya(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=c[a+180>>2]|0;if(d|0)Jk[c[(c[d>>2]|0)+68>>2]&1023](d,b);e=c[a+188>>2]|0;f=a+184|0;d=e;if((f|0)==(d|0))return;a=e;do{e=c[a+8>>2]|0;Jk[c[(c[e>>2]|0)+68>>2]&1023](e,b);a=c[d+4>>2]|0;d=a}while((f|0)!=(d|0));return}function rya(a){a=a|0;kta(a+104|0);return}function sya(a){a=a|0;eza(a,105008);Pr(a+236|0);return}function tya(a){a=a|0;eza(a,105008);Pr(a+236|0);l0a(a);return}function uya(a){a=a|0;a=j0a(272)|0;bza(a);return a+(c[(c[a>>2]|0)+-12>>2]|0)|0}function vya(a,b){a=a|0;b=b|0;var d=0;d=j0a(272)|0;Wya(d,a,b);return d+(c[(c[d>>2]|0)+-12>>2]|0)|0}function wya(a,b){a=a|0;b=b|0;if(!b){b=0;return b|0}b=(y1a(b,42800,62976,-1)|0)!=0;return b|0}function xya(a){a=a|0;return 183549}function yya(a){a=a|0;return 188685}function zya(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;Nwa(b+104|0,d);y=y1a(d,47728,62976,104)|0;if(!y)return;r=y+5|0;a[b+5>>0]=a[r>>0]|0;c[b+8>>2]=c[y+8>>2];a[b+12>>0]=a[y+12>>0]|0;c[b+28>>2]=c[y+28>>2];a[b+32>>0]=a[y+32>>0]|0;c[b+48>>2]=c[y+48>>2];s=y+56|0;d=b+56|0;e=c[d>>2]|0;f=c[s>>2]|0;if((e|0)!=(f|0)){c[d>>2]=f;if(f|0){q=f+(c[(c[f>>2]|0)+-12>>2]|0)+8|0;c[q>>2]=(c[q>>2]|0)+1}if(e|0?(g=e+(c[(c[e>>2]|0)+-12>>2]|0)|0,o=g+8|0,q=c[o>>2]|0,c[o>>2]=q-1,(q|0)==1):0)UU(g,1,1)}q=y+60|0;d=b+60|0;e=c[d>>2]|0;f=c[q>>2]|0;if((e|0)!=(f|0)){c[d>>2]=f;if(f|0){o=f+(c[(c[f>>2]|0)+-12>>2]|0)+8|0;c[o>>2]=(c[o>>2]|0)+1}if(e|0?(h=e+(c[(c[e>>2]|0)+-12>>2]|0)|0,n=h+8|0,o=c[n>>2]|0,c[n>>2]=o-1,(o|0)==1):0)UU(h,1,1)}o=y+64|0;d=b+64|0;e=c[d>>2]|0;f=c[o>>2]|0;if((e|0)!=(f|0)){c[d>>2]=f;if(f|0){n=f+8|0;c[n>>2]=(c[n>>2]|0)+1}if(e|0?(k=e+8|0,n=c[k>>2]|0,c[k>>2]=n-1,(n|0)==1):0)UU(e,1,1)}n=y+68|0;d=b+68|0;e=c[d>>2]|0;f=c[n>>2]|0;if((e|0)!=(f|0)){c[d>>2]=f;if(f|0){k=f+(c[(c[f>>2]|0)+-12>>2]|0)+8|0;c[k>>2]=(c[k>>2]|0)+1}if(e|0?(i=e+(c[(c[e>>2]|0)+-12>>2]|0)|0,j=i+8|0,k=c[j>>2]|0,c[j>>2]=k-1,(k|0)==1):0)UU(i,1,1)}e=c[d>>2]|0;c[e+56>>2]=b+140;d=c[b+136>>2]|0;e=e+12|0;f=c[e>>2]|0;if((f|0)!=(d|0)){c[e>>2]=d;if(d|0){k=d+8|0;c[k>>2]=(c[k>>2]|0)+1}if(f|0?(j=f+8|0,k=c[j>>2]|0,c[j>>2]=k-1,(k|0)==1):0)UU(f,1,1)}k=y+72|0;d=b+72|0;e=c[d>>2]|0;f=c[k>>2]|0;if((e|0)!=(f|0)){c[d>>2]=f;if(f|0){j=f+8|0;c[j>>2]=(c[j>>2]|0)+1}if(e|0?(i=e+8|0,j=c[i>>2]|0,c[i>>2]=j-1,(j|0)==1):0)UU(e,1,1)}j=y+76|0;d=b+76|0;e=c[d>>2]|0;f=c[j>>2]|0;if((e|0)!=(f|0)){c[d>>2]=f;if(f|0){i=f+(c[(c[f>>2]|0)+-12>>2]|0)+8|0;c[i>>2]=(c[i>>2]|0)+1}if(e|0?(l=e+(c[(c[e>>2]|0)+-12>>2]|0)|0,h=l+8|0,i=c[h>>2]|0,c[h>>2]=i-1,(i|0)==1):0)UU(l,1,1)}i=y+80|0;d=b+80|0;e=c[d>>2]|0;f=c[i>>2]|0;if((e|0)!=(f|0)){c[d>>2]=f;if(f|0){l=f+(c[(c[f>>2]|0)+-12>>2]|0)+8|0;c[l>>2]=(c[l>>2]|0)+1}if(e|0?(m=e+(c[(c[e>>2]|0)+-12>>2]|0)|0,h=m+8|0,l=c[h>>2]|0,c[h>>2]=l-1,(l|0)==1):0)UU(m,1,1)}h=y+84|0;d=b+84|0;e=c[d>>2]|0;f=c[h>>2]|0;if((e|0)!=(f|0)){c[d>>2]=f;if(f|0){m=f+(c[(c[f>>2]|0)+-12>>2]|0)+8|0;c[m>>2]=(c[m>>2]|0)+1}if(e|0?(p=e+(c[(c[e>>2]|0)+-12>>2]|0)|0,l=p+8|0,m=c[l>>2]|0,c[l>>2]=m-1,(m|0)==1):0)UU(p,1,1)}g=y+92|0;d=b+92|0;if((d|0)!=(g|0)){e=c[d>>2]|0;f=c[g>>2]|0;if((e|0)!=(f|0)){c[d>>2]=f;if(f|0){p=f+8|0;c[p>>2]=(c[p>>2]|0)+1}if(e|0?(m=e+8|0,p=c[m>>2]|0,c[m>>2]=p-1,(p|0)==1):0)UU(e,1,1)}c[b+96>>2]=c[y+96>>2]}a[r>>0]=1;d=c[s>>2]|0;if(d|0?(c[s>>2]=0,t=d+(c[(c[d>>2]|0)+-12>>2]|0)|0,b=t+8|0,s=c[b>>2]|0,c[b>>2]=s-1,(s|0)==1):0)UU(t,1,1);d=c[q>>2]|0;if(d|0?(c[q>>2]=0,u=d+(c[(c[d>>2]|0)+-12>>2]|0)|0,s=u+8|0,t=c[s>>2]|0,c[s>>2]=t-1,(t|0)==1):0)UU(u,1,1);d=c[o>>2]|0;if(d|0?(c[o>>2]=0,t=d+8|0,u=c[t>>2]|0,c[t>>2]=u-1,(u|0)==1):0)UU(d,1,1);d=c[n>>2]|0;if(d|0?(c[n>>2]=0,v=d+(c[(c[d>>2]|0)+-12>>2]|0)|0,t=v+8|0,u=c[t>>2]|0,c[t>>2]=u-1,(u|0)==1):0)UU(v,1,1);d=c[k>>2]|0;if(d|0?(c[k>>2]=0,u=d+8|0,v=c[u>>2]|0,c[u>>2]=v-1,(v|0)==1):0)UU(d,1,1);d=c[j>>2]|0;if(d|0?(c[j>>2]=0,w=d+(c[(c[d>>2]|0)+-12>>2]|0)|0,u=w+8|0,v=c[u>>2]|0,c[u>>2]=v-1,(v|0)==1):0)UU(w,1,1);d=c[i>>2]|0;if(d|0?(c[i>>2]=0,x=d+(c[(c[d>>2]|0)+-12>>2]|0)|0,v=x+8|0,w=c[v>>2]|0,c[v>>2]=w-1,(w|0)==1):0)UU(x,1,1);d=c[h>>2]|0;do if(d|0){c[h>>2]=0;d=d+(c[(c[d>>2]|0)+-12>>2]|0)|0;w=d+8|0;x=c[w>>2]|0;c[w>>2]=x-1;if((x|0)!=1)break;UU(d,1,1)}while(0);d=c[g>>2]|0;do if(d|0){c[g>>2]=0;w=d+8|0;x=c[w>>2]|0;c[w>>2]=x-1;if((x|0)!=1)break;UU(d,1,1)}while(0);c[y+96>>2]=0;return}function Aya(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0;k=l;l=l+16|0;h=k;i=a+152|0;f=i;c[f>>2]=b;c[f+4>>2]=d;f=c[a+160>>2]|0;g=a+164|0;if((f|0)!=(c[g>>2]|0)?(e=c[(c[f>>2]|0)+32>>2]|0,m=e+24|0,c[m>>2]=b,c[m+4>>2]=d,Aja(e),e=f+4|0,(e|0)!=(c[g>>2]|0)):0)do{b=i;f=c[b+4>>2]|0;m=c[(c[e>>2]|0)+32>>2]|0;d=m+24|0;c[d>>2]=c[b>>2];c[d+4>>2]=f;Aja(m);e=e+4|0}while((e|0)!=(c[g>>2]|0));c[h>>2]=0;d=h+4|0;c[d>>2]=0;c[h+8>>2]=0;Nk[c[(c[a>>2]|0)+88>>2]&255](a,h,0);e=c[a+176>>2]|0;a=i;m=c[a+4>>2]|0;b=e+24|0;c[b>>2]=c[a>>2];c[b+4>>2]=m;Aja(e);e=c[h>>2]|0;b=c[d>>2]|0;if((e|0)!=(b|0)){do{f=c[e>>2]|0;if((f|0)!=0?(j=y1a(f,44864,58744,0)|0,(j|0)!=0):0){b=c[j+136>>2]|0;g=i;a=c[g+4>>2]|0;m=b+24|0;c[m>>2]=c[g>>2];c[m+4>>2]=a;Aja(b);b=c[d>>2]|0}e=e+4|0}while((e|0)!=(b|0));e=c[h>>2]|0}if(!e){l=k;return}c[d>>2]=e;l0a(e);l=k;return}function Bya(a,b){a=a|0;b=b|0;var d=0.0,e=0,f=0,g=0,i=0,j=0;i=gia(fia()|0)|0;j=y;f=fia()|0;e=a+152|0;g=c[e>>2]|0;e=c[e+4>>2]|0;if(j>>>0>e>>>0|(j|0)==(e|0)&i>>>0>g>>>0){g=q2a(i|0,j|0,g|0,e|0)|0;d=+h[f+8>>3]*(+(g>>>0)+4294967296.0*+(y>>>0))}else{g=q2a(g|0,e|0,i|0,j|0)|0;d=-(+h[f+8>>3]*(+(g>>>0)+4294967296.0*+(y>>>0)))}d=(0.0-d)/+h[(fia()|0)+8>>3];if(!(d>=0.0)){d=-d;i=q2a(i|0,j|0,~~d>>>0|0,(+A(d)>=1.0?(d>0.0?~~+O(+z(d/4294967296.0),4294967295.0)>>>0:~~+M((d-+(~~d>>>0))/4294967296.0)>>>0):0)|0)|0;j=y;g=c[a>>2]|0;g=g+160|0;g=c[g>>2]|0;Nk[g&255](a,i,j);j=a+104|0;Twa(j,b);return}else{i=p2a(i|0,j|0,~~d>>>0|0,(+A(d)>=1.0?(d>0.0?~~+O(+z(d/4294967296.0),4294967295.0)>>>0:~~+M((d-+(~~d>>>0))/4294967296.0)>>>0):0)|0)|0;j=y;g=c[a>>2]|0;g=g+160|0;g=c[g>>2]|0;Nk[g&255](a,i,j);j=a+104|0;Twa(j,b);return}}function Cya(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,i=0.0,j=0.0;Jk[c[(c[a>>2]|0)+32>>2]&1023](a,0);g=j0a(144)|0;gza(g,b,d,e,f);d=a+120|0;a=c[d>>2]|0;b=j0a(88)|0;j=+(e|0);i=+(f|0);hia(b);c[b>>2]=86804;f=b+56|0;c[f>>2]=0;c[f+4>>2]=0;c[f+8>>2]=0;c[f+12>>2]=0;h[b+72>>3]=j;h[b+80>>3]=i;rR(a,b);tR(c[d>>2]|0,30.0,j/i,1.0,1.0e4);oR(c[d>>2]|0,g);return g|0}function Dya(a){a=a|0;a=j0a(272)|0;bza(a);return a+(c[(c[a>>2]|0)+-12>>2]|0)|0}function Eya(a,b){a=a|0;b=b|0;var d=0;d=j0a(272)|0;Wya(d,a+-104|0,b);return d+(c[(c[d>>2]|0)+-12>>2]|0)|0}function Fya(a,b){a=a|0;b=b|0;if(!b){b=0;return b|0}b=(y1a(b,42800,62976,-1)|0)!=0;return b|0}function Gya(a){a=a|0;return 183549}function Hya(a){a=a|0;return 188685}function Iya(a,b){a=a|0;b=b|0;zya(a+-104|0,b);return}function Jya(a){a=a|0;a=a+-104|0;eza(a,105008);Pr(a+236|0);return}function Kya(a){a=a|0;a=a+-104|0;eza(a,105008);Pr(a+236|0);l0a(a);return}function Lya(a,b,c){a=a|0;b=b|0;c=c|0;Aya(a+-104|0,b,c);return}function Mya(a,b){a=a|0;b=b|0;Bya(a+-104|0,b);return}function Nya(a){a=a|0;a=a+-140|0;eza(a,105008);Pr(a+236|0);return}function Oya(a){a=a|0;a=a+-140|0;eza(a,105008);Pr(a+236|0);l0a(a);return}function Pya(a){a=a|0;a=a+(c[(c[a>>2]|0)+-16>>2]|0)|0;eza(a,105008);Pr(a+236|0);return}function Qya(a){a=a|0;a=a+(c[(c[a>>2]|0)+-16>>2]|0)|0;eza(a,105008);Pr(a+236|0);l0a(a);return}function Rya(a){a=a|0;a=j0a(272)|0;bza(a);return a+(c[(c[a>>2]|0)+-12>>2]|0)|0}function Sya(a,b){a=a|0;b=b|0;var d=0;d=a+(c[(c[a>>2]|0)+-24>>2]|0)|0;a=j0a(272)|0;Wya(a,d,b);return a+(c[(c[a>>2]|0)+-12>>2]|0)|0}function Tya(a,b){a=a|0;b=b|0;if(!b){b=0;return b|0}b=(y1a(b,42800,62976,-1)|0)!=0;return b|0}function Uya(a){a=a|0;return 183549}function Vya(a){a=a|0;return 188685}function Wya(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;f=a+236|0;Or(f,b+(c[(c[b>>2]|0)+-12>>2]|0)|0,d);ata(a,105012,0);e=a+104|0;Xya(e,105020,b+104|0,d);c[a>>2]=104376;c[f>>2]=104844;c[e>>2]=104560;c[a+140>>2]=104644;if(!a)b=0;else b=Vha(a+236|0)|0;d=a+144|0;e=c[d>>2]|0;if((e|0)!=(b|0)){c[d>>2]=b;if(b|0){f=b+8|0;c[f>>2]=(c[f>>2]|0)+1}if(e|0?(b=e+8|0,f=c[b>>2]|0,c[b>>2]=f-1,(f|0)==1):0)UU(e,1,1);b=c[d>>2]|0}if(!b){e=0;f=a+148|0;c[f>>2]=e;return}e=(c[b+24>>2]|0)==0?0:a;f=a+148|0;c[f>>2]=e;return}function Xya(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0;m=l;l=l+16|0;k=m;sja(b,d+4|0,e,f);h=b+36|0;c[h>>2]=105052;i=c[d>>2]|0;c[b>>2]=i;c[b+(c[i+-12>>2]|0)>>2]=c[d+12>>2];c[h>>2]=103424;h=b+68|0;i=b+72|0;d=b+80|0;f=b+40|0;g=f+40|0;do{c[f>>2]=0;f=f+4|0}while((f|0)<(g|0));c[d>>2]=d;c[b+84>>2]=d;c[b+88>>2]=0;zU(b+92|0);c[b+116>>2]=0;c[b+120>>2]=c[e+120>>2];c[b+124>>2]=c[e+124>>2];c[b+128>>2]=0;d=j0a(24)|0;pxa(d);f=c[h>>2]|0;if(((f|0)!=(d|0)?(c[h>>2]=d,e=d+8|0,c[e>>2]=(c[e>>2]|0)+1,f|0):0)?(h=f+8|0,e=c[h>>2]|0,c[h>>2]=e-1,(e|0)==1):0)UU(f,1,1);f=c[b+16>>2]|0;d=kk[c[(c[b>>2]|0)+32>>2]&511](b,f)|0;f=f+628|0;g=c[f>>2]|0;if((g|0)!=(d|0)){c[f>>2]=d;if(d|0){e=d+(c[(c[d>>2]|0)+-12>>2]|0)+8|0;c[e>>2]=(c[e>>2]|0)+1}if(g|0?(j=g+(c[(c[g>>2]|0)+-12>>2]|0)|0,h=j+8|0,e=c[h>>2]|0,c[h>>2]=e-1,(e|0)==1):0)UU(j,1,1)}d=j0a(64)|0;zja(d,1);f=c[i>>2]|0;if(((f|0)!=(d|0)?(c[i>>2]=d,j=d+8|0,c[j>>2]=(c[j>>2]|0)+1,f|0):0)?(i=f+8|0,j=c[i>>2]|0,c[i>>2]=j-1,(j|0)==1):0)UU(f,1,1);g=j0a(80)|0;c[k>>2]=0;c[k+4>>2]=0;c[k+8>>2]=0;h=k+11|0;a[h>>0]=4;c[k>>2]=2003134806;a[k+4>>0]=0;tia(g,k);d=b+4|0;f=c[d>>2]|0;if(((f|0)!=(g|0)?(c[d>>2]=g,b=g+8|0,c[b>>2]=(c[b>>2]|0)+1,f|0):0)?(j=f+8|0,b=c[j>>2]|0,c[j>>2]=b-1,(b|0)==1):0)UU(f,1,1);if((a[h>>0]|0)>=0){l=m;return}l0a(c[k>>2]|0);l=m;return}function Yya(a){a=a|0;return}function Zya(a){a=a|0;Di()}function _ya(a){a=a|0;return 0}function $ya(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return 0}function aza(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return 0}function bza(a){a=a|0;var b=0,d=0,e=0,f=0;e=a+236|0;Tha(e);c[e>>2]=68320;b=a+248|0;c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;c[a+260>>2]=2;c[a+264>>2]=0;ita(a,105012);b=a+104|0;cza(b,105020);c[a>>2]=104376;c[e>>2]=104844;c[b>>2]=104560;c[a+140>>2]=104644;b=Vha(a+236|0)|0;e=a+144|0;d=c[e>>2]|0;if((d|0)!=(b|0)){c[e>>2]=b;if(b|0){b=b+8|0;c[b>>2]=(c[b>>2]|0)+1}if(d|0?(f=d+8|0,b=c[f>>2]|0,c[f>>2]=b-1,(b|0)==1):0)UU(d,1,1);b=c[e>>2]|0}if(!b){e=0;f=a+148|0;c[f>>2]=e;dza(a);return}e=(c[b+24>>2]|0)==0?0:a;f=a+148|0;c[f>>2]=e;dza(a);return}function cza(b,d){b=b|0;d=d|0;var e=0,f=0,h=0,i=0,j=0,k=0,m=0,n=0;m=l;l=l+16|0;k=m;rja(b,d+4|0);e=b+36|0;c[e>>2]=105052;h=c[d>>2]|0;c[b>>2]=h;c[b+(c[h+-12>>2]|0)>>2]=c[d+12>>2];c[e>>2]=103424;c[b+40>>2]=0;c[b+44>>2]=0;e=b+56|0;h=b+68|0;j=b+72|0;d=b+80|0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[e+12>>2]=0;c[e+16>>2]=0;c[e+20>>2]=0;c[d>>2]=d;c[b+84>>2]=d;c[b+88>>2]=0;zU(b+92|0);c[b+116>>2]=0;c[b+120>>2]=1;g[b+124>>2]=1.0;c[b+128>>2]=0;d=b+48|0;c[d>>2]=0;c[d+4>>2]=0;d=j0a(72)|0;tS(d);e=b+32|0;f=c[e>>2]|0;if(((f|0)!=(d|0)?(c[e>>2]=d,d=d+8|0,c[d>>2]=(c[d>>2]|0)+1,f|0):0)?(n=f+8|0,d=c[n>>2]|0,c[n>>2]=d-1,(d|0)==1):0)UU(f,1,1);d=(c[e>>2]|0)+12|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[d+12>>2]=0;c[d+16>>2]=0;d=j0a(24)|0;pxa(d);e=c[h>>2]|0;if(((e|0)!=(d|0)?(c[h>>2]=d,n=d+8|0,c[n>>2]=(c[n>>2]|0)+1,e|0):0)?(h=e+8|0,n=c[h>>2]|0,c[h>>2]=n-1,(n|0)==1):0)UU(e,1,1);e=b+(c[(c[b>>2]|0)+-12>>2]|0)|0;Jk[c[c[e>>2]>>2]&1023](e,1);e=c[b+16>>2]|0;d=kk[c[(c[b>>2]|0)+32>>2]&511](b,e)|0;e=e+628|0;f=c[e>>2]|0;if((f|0)!=(d|0)){c[e>>2]=d;if(d|0){n=d+(c[(c[d>>2]|0)+-12>>2]|0)+8|0;c[n>>2]=(c[n>>2]|0)+1}if(f|0?(i=f+(c[(c[f>>2]|0)+-12>>2]|0)|0,h=i+8|0,n=c[h>>2]|0,c[h>>2]=n-1,(n|0)==1):0)UU(i,1,1)}d=j0a(64)|0;zja(d,1);e=c[j>>2]|0;if(((e|0)!=(d|0)?(c[j>>2]=d,n=d+8|0,c[n>>2]=(c[n>>2]|0)+1,e|0):0)?(j=e+8|0,n=c[j>>2]|0,c[j>>2]=n-1,(n|0)==1):0)UU(e,1,1);f=j0a(80)|0;c[k>>2]=0;c[k+4>>2]=0;c[k+8>>2]=0;h=k+11|0;a[h>>0]=4;c[k>>2]=2003134806;a[k+4>>0]=0;tia(f,k);d=b+4|0;e=c[d>>2]|0;if(((e|0)!=(f|0)?(c[d>>2]=f,n=f+8|0,c[n>>2]=(c[n>>2]|0)+1,e|0):0)?(b=e+8|0,n=c[b>>2]|0,c[b>>2]=n-1,(n|0)==1):0)UU(e,1,1);if((a[h>>0]|0)>=0){l=m;return}l0a(c[k>>2]|0);l=m;return}function dza(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;k=l;l=l+16|0;j=k;e=j0a(112)|0;Kja(e);f=b+68|0;g=c[f>>2]|0;if(((g|0)!=(e|0)?(c[f>>2]=e,h=e+(c[(c[e>>2]|0)+-12>>2]|0)+8|0,c[h>>2]=(c[h>>2]|0)+1,g|0):0)?(d=g+(c[(c[g>>2]|0)+-12>>2]|0)|0,g=d+8|0,h=c[g>>2]|0,c[g>>2]=h-1,(h|0)==1):0)UU(d,1,1);e=c[f>>2]|0;c[e+56>>2]=b+140;h=b+136|0;d=c[h>>2]|0;e=e+12|0;f=c[e>>2]|0;if((f|0)!=(d|0)){c[e>>2]=d;if(d|0){g=d+8|0;c[g>>2]=(c[g>>2]|0)+1}if(f|0?(e=f+8|0,g=c[e>>2]|0,c[e>>2]=g-1,(g|0)==1):0)UU(f,1,1)}d=j0a(88)|0;Xka(d);g=b+76|0;e=c[g>>2]|0;if(((e|0)!=(d|0)?(c[g>>2]=d,f=d+(c[(c[d>>2]|0)+-12>>2]|0)+8|0,c[f>>2]=(c[f>>2]|0)+1,e|0):0)?(i=e+(c[(c[e>>2]|0)+-12>>2]|0)|0,e=i+8|0,f=c[e>>2]|0,c[e>>2]=f-1,(f|0)==1):0)UU(i,1,1);f=c[h>>2]|0;d=(c[g>>2]|0)+12|0;e=c[d>>2]|0;if((e|0)!=(f|0)){c[d>>2]=f;if(f|0){i=f+8|0;c[i>>2]=(c[i>>2]|0)+1}if(e|0?(h=e+8|0,i=c[h>>2]|0,c[h>>2]=i-1,(i|0)==1):0)UU(e,1,1)}g=c[c[b>>2]>>2]|0;h=j0a(80)|0;c[j>>2]=0;c[j+4>>2]=0;c[j+8>>2]=0;i=j+11|0;a[i>>0]=6;a[j>>0]=a[188685]|0;a[j+1>>0]=a[188686]|0;a[j+2>>0]=a[188687]|0;a[j+3>>0]=a[188688]|0;a[j+4>>0]=a[188689]|0;a[j+5>>0]=a[188690]|0;a[j+6>>0]=0;tia(h,j);Jk[g&1023](b,h);if((a[i>>0]|0)>=0){l=k;return}l0a(c[j>>2]|0);l=k;return}function eza(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0;o=l;l=l+32|0;i=o+24|0;k=o+12|0;j=o;m=c[b>>2]|0;c[a>>2]=m;c[a+(c[m+-12>>2]|0)>>2]=c[b+28>>2];m=a+104|0;c[m>>2]=c[b+32>>2];c[a+140>>2]=104644;c[k>>2]=0;n=k+4|0;c[n>>2]=0;c[k+8>>2]=0;Nk[c[(c[a>>2]|0)+96>>2]&255](a,k,1);if(ZQ(4)|0){e=mr(lr(4)|0,188692,50)|0;e=RSa(e,(c[n>>2]|0)-(c[k>>2]|0)>>2)|0;BSa(i,e+(c[(c[e>>2]|0)+-12>>2]|0)|0);d=cUa(i,230580)|0;d=kk[c[(c[d>>2]|0)+28>>2]&511](d,10)|0;dUa(i);VSa(e,d)|0;HSa(e)|0}Bk[c[(c[a>>2]|0)+44>>2]&2047](a);d=a+172|0;e=c[d>>2]|0;if(((e|0?(f=c[e+16>>2]|0,f|0):0)?(gk[c[(c[f>>2]|0)+24>>2]&1023](f)|0,g=(c[d>>2]|0)+16|0,h=c[g>>2]|0,h|0):0)?(c[g>>2]=0,f=h+8|0,g=c[f>>2]|0,c[f>>2]=g-1,(g|0)==1):0)UU(h,1,1);c[j>>2]=0;g=j+4|0;c[g>>2]=0;c[j+8>>2]=0;Nk[c[(c[a>>2]|0)+88>>2]&255](a,j,1);d=c[j>>2]|0;if((d|0)!=(c[g>>2]|0)){f=a+84|0;do{e=c[d>>2]|0;if(c[f>>2]|0?gk[c[(c[e>>2]|0)+168>>2]&1023](e)|0:0){wT(e)|0;h=c[f>>2]|0;Jk[c[(c[h>>2]|0)+4>>2]&1023](h,e);xT(e)|0}dH(e,1);d=d+4|0}while((d|0)!=(c[g>>2]|0))}Nk[c[(c[a>>2]|0)+96>>2]&255](a,k,1);if(ZQ(4)|0){h=mr(lr(4)|0,188743,46)|0;h=RSa(h,(c[n>>2]|0)-(c[k>>2]|0)>>2)|0;BSa(i,h+(c[(c[h>>2]|0)+-12>>2]|0)|0);f=cUa(i,230580)|0;f=kk[c[(c[f>>2]|0)+28>>2]&511](f,10)|0;dUa(i);VSa(h,f)|0;HSa(h)|0}d=c[j>>2]|0;if(d|0){c[g>>2]=d;l0a(d)}d=c[k>>2]|0;if(!d){n=b+12|0;uxa(m,n);n=b+4|0;bta(a,n);l=o;return}c[n>>2]=d;l0a(d);n=b+12|0;uxa(m,n);n=b+4|0;bta(a,n);l=o;return}function fza(a){a=a|0;var b=0;b=c[a>>2]|0;if(!b)return;c[a+4>>2]=b;l0a(b);return}function gza(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0;hza(a);c[a>>2]=105092;c[a+132>>2]=105380;g=j0a(200)|0;qT(g,0);h=a+44|0;i=c[h>>2]|0;if(((i|0)!=(g|0)?(c[h>>2]=g,g=g+8|0,c[g>>2]=(c[g>>2]|0)+1,i|0):0)?(j=i+8|0,g=c[j>>2]|0,c[j>>2]=g-1,(g|0)==1):0)UU(i,1,1);j=c[h>>2]|0;c[j+32>>2]=b;c[j+36>>2]=d;c[j+40>>2]=e;c[j+44>>2]=f;iza(a);return}function hza(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;vT(a);c[a>>2]=105420;c[a+132>>2]=105708;b=a+136|0;c[b>>2]=0;d=j0a(64)|0;zja(d,1);e=c[b>>2]|0;if(((e|0)!=(d|0)?(c[b>>2]=d,f=d+8|0,c[f>>2]=(c[f>>2]|0)+1,e|0):0)?(d=e+8|0,f=c[d>>2]|0,c[d>>2]=f-1,(f|0)==1):0)UU(e,1,1);f=c[(c[b>>2]|0)+12>>2]|0;b=Vha(a)|0;d=f+52|0;e=c[d>>2]|0;if((e|0)!=(b|0)){c[d>>2]=b;if(b|0){b=b+8|0;c[b>>2]=(c[b>>2]|0)+1}if(e|0?(g=e+8|0,b=c[g>>2]|0,c[g>>2]=b-1,(b|0)==1):0)UU(e,1,1);b=c[d>>2]|0}if(!b){a=0;g=f+56|0;c[g>>2]=a;return}a=(c[b+24>>2]|0)==0?0:a;g=f+56|0;c[g>>2]=a;return}function iza(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;if(!(gk[c[(c[a>>2]|0)+168>>2]&1023](a)|0))return;b=j0a(944)|0;Mfa(b);d=a+48|0;e=c[d>>2]|0;if(((e|0)!=(b|0)?(c[d>>2]=b,b=b+8|0,c[b>>2]=(c[b>>2]|0)+1,e|0):0)?(h=e+8|0,b=c[h>>2]|0,c[h>>2]=b-1,(b|0)==1):0)UU(e,1,1);d=c[d>>2]|0;c[d+120>>2]=a;b=c[a+44>>2]|0;if(((b|0?(f=c[b+168>>2]|0,f|0):0)?c[f+24>>2]|0:0)?(g=c[b+172>>2]|0,g|0):0){h=c[(c[g+48>>2]|0)+124>>2]|0;c[d+124>>2]=h;tT(h);return}c[d+124>>2]=rT()|0;return}function jza(a){a=a|0;var b=0,d=0,e=0,f=0;c[a>>2]=105420;c[a+132>>2]=105708;b=a+136|0;d=c[b>>2]|0;if(d|0?(f=d+8|0,e=c[f>>2]|0,c[f>>2]=e-1,(e|0)==1):0)UU(d,1,1);c[b>>2]=0;OG(a);return}function kza(a){a=a|0;var b=0,d=0,e=0,f=0;c[a>>2]=105420;c[a+132>>2]=105708;b=a+136|0;d=c[b>>2]|0;if(d|0?(f=d+8|0,e=c[f>>2]|0,c[f>>2]=e-1,(e|0)==1):0)UU(d,1,1);c[b>>2]=0;OG(a);l0a(a);return}function lza(a,b){a=a|0;b=b|0;if(!b){b=0;return b|0}b=(y1a(b,42800,58744,0)|0)!=0;return b|0}function mza(a){a=a|0;return 183549}function nza(a){a=a|0;return 189871}function oza(a){a=a|0;var b=0,d=0,e=0;a=l;l=l+16|0;e=a;b=mr(lr(3)|0,189830,40)|0;BSa(e,b+(c[(c[b>>2]|0)+-12>>2]|0)|0);d=cUa(e,230580)|0;d=kk[c[(c[d>>2]|0)+28>>2]&511](d,10)|0;dUa(e);VSa(b,d)|0;HSa(b)|0;l=a;return 0}function pza(a){a=a|0;var b=0,d=0,e=0;a=l;l=l+16|0;e=a;b=mr(lr(3)|0,189773,56)|0;BSa(e,b+(c[(c[b>>2]|0)+-12>>2]|0)|0);d=cUa(e,230580)|0;d=kk[c[(c[d>>2]|0)+28>>2]&511](d,10)|0;dUa(e);VSa(b,d)|0;HSa(b)|0;l=a;return 0}function qza(a){a=a|0;var b=0,d=0,e=0;a=l;l=l+16|0;e=a;b=mr(lr(3)|0,189713,59)|0;BSa(e,b+(c[(c[b>>2]|0)+-12>>2]|0)|0);d=cUa(e,230580)|0;d=kk[c[(c[d>>2]|0)+28>>2]&511](d,10)|0;dUa(e);VSa(b,d)|0;HSa(b)|0;l=a;return 0}function rza(a){a=a|0;var b=0,d=0,e=0;a=l;l=l+16|0;e=a;b=mr(lr(3)|0,189658,54)|0;BSa(e,b+(c[(c[b>>2]|0)+-12>>2]|0)|0);d=cUa(e,230580)|0;d=kk[c[(c[d>>2]|0)+28>>2]&511](d,10)|0;dUa(e);VSa(b,d)|0;HSa(b)|0;l=a;return}function sza(a){a=a|0;var b=0,d=0,e=0;a=l;l=l+16|0;e=a;b=mr(lr(3)|0,189597,60)|0;BSa(e,b+(c[(c[b>>2]|0)+-12>>2]|0)|0);d=cUa(e,230580)|0;d=kk[c[(c[d>>2]|0)+28>>2]&511](d,10)|0;dUa(e);VSa(b,d)|0;HSa(b)|0;l=a;return 0}function tza(a,b){a=a|0;b=b|0;var d=0,e=0;b=l;l=l+16|0;e=b;a=mr(lr(3)|0,189527,69)|0;BSa(e,a+(c[(c[a>>2]|0)+-12>>2]|0)|0);d=cUa(e,230580)|0;d=kk[c[(c[d>>2]|0)+28>>2]&511](d,10)|0;dUa(e);VSa(a,d)|0;HSa(a)|0;l=b;return 0}function uza(a){a=a|0;var b=0,d=0,e=0;a=l;l=l+16|0;e=a;b=mr(lr(3)|0,189461,65)|0;BSa(e,b+(c[(c[b>>2]|0)+-12>>2]|0)|0);d=cUa(e,230580)|0;d=kk[c[(c[d>>2]|0)+28>>2]&511](d,10)|0;dUa(e);VSa(b,d)|0;HSa(b)|0;l=a;return 0}function vza(a,b){a=a|0;b=b|0;var d=0,e=0;b=l;l=l+16|0;e=b;a=mr(lr(3)|0,189389,71)|0;BSa(e,a+(c[(c[a>>2]|0)+-12>>2]|0)|0);d=cUa(e,230580)|0;d=kk[c[(c[d>>2]|0)+28>>2]&511](d,10)|0;dUa(e);VSa(a,d)|0;HSa(a)|0;l=b;return}function wza(a){a=a|0;var b=0,d=0,e=0;a=l;l=l+16|0;e=a;b=mr(lr(3)|0,189327,61)|0;BSa(e,b+(c[(c[b>>2]|0)+-12>>2]|0)|0);d=cUa(e,230580)|0;d=kk[c[(c[d>>2]|0)+28>>2]&511](d,10)|0;dUa(e);VSa(b,d)|0;HSa(b)|0;l=a;return}function xza(a){a=a|0;var b=0;a=c[a+136>>2]|0;b=a+32|0;gk[c[(c[b>>2]|0)+8>>2]&1023](b)|0;a=c[a+52>>2]|0;gk[c[(c[b>>2]|0)+12>>2]&1023](b)|0;return (a|0)!=0|0}function yza(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;f=l;l=l+16|0;b=f;e=mr(lr(3)|0,189257,69)|0;BSa(b,e+(c[(c[e>>2]|0)+-12>>2]|0)|0);d=cUa(b,230580)|0;d=kk[c[(c[d>>2]|0)+28>>2]&511](d,10)|0;dUa(b);VSa(e,d)|0;HSa(e)|0;l=f;return 0}function zza(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;a=c[a+44>>2]|0;if(!a)return;c[b>>2]=c[a+32>>2];c[d>>2]=c[a+36>>2];c[e>>2]=c[a+40>>2];c[f>>2]=c[a+44>>2];return}function Aza(a,b){a=a|0;b=b|0;var d=0,e=0;b=l;l=l+16|0;e=b;a=mr(lr(3)|0,189186,70)|0;BSa(e,a+(c[(c[a>>2]|0)+-12>>2]|0)|0);d=cUa(e,230580)|0;d=kk[c[(c[d>>2]|0)+28>>2]&511](d,10)|0;dUa(e);VSa(a,d)|0;HSa(a)|0;l=b;return 0}function Bza(b){b=b|0;b=c[b+44>>2]|0;if(!b){b=0;return b|0}b=(a[b+72>>0]|0)!=0;return b|0}function Cza(a){a=a|0;var b=0,d=0,e=0;a=l;l=l+16|0;e=a;b=mr(lr(3)|0,189139,46)|0;BSa(e,b+(c[(c[b>>2]|0)+-12>>2]|0)|0);d=cUa(e,230580)|0;d=kk[c[(c[d>>2]|0)+28>>2]&511](d,10)|0;dUa(e);VSa(b,d)|0;HSa(b)|0;l=a;return}function Dza(a){a=a|0;var b=0,d=0,e=0;a=l;l=l+16|0;e=a;b=mr(lr(3)|0,189075,63)|0;BSa(e,b+(c[(c[b>>2]|0)+-12>>2]|0)|0);d=cUa(e,230580)|0;d=kk[c[(c[d>>2]|0)+28>>2]&511](d,10)|0;dUa(e);VSa(b,d)|0;HSa(b)|0;l=a;return}function Eza(a){a=a|0;var b=0,d=0,e=0;a=l;l=l+16|0;e=a;b=mr(lr(3)|0,189026,48)|0;BSa(e,b+(c[(c[b>>2]|0)+-12>>2]|0)|0);d=cUa(e,230580)|0;d=kk[c[(c[d>>2]|0)+28>>2]&511](d,10)|0;dUa(e);VSa(b,d)|0;HSa(b)|0;l=a;return}function Fza(a,b){a=a|0;b=b|0;var d=0,e=0;b=l;l=l+16|0;e=b;a=mr(lr(3)|0,188975,50)|0;BSa(e,a+(c[(c[a>>2]|0)+-12>>2]|0)|0);d=cUa(e,230580)|0;d=kk[c[(c[d>>2]|0)+28>>2]&511](d,10)|0;dUa(e);VSa(a,d)|0;HSa(a)|0;l=b;return}function Gza(a,b){a=a|0;b=b|0;b=c[b+44>>2]|0;if(!b){c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;return}else{t0a(a,b+60|0);return}}function Hza(a,b){a=a|0;b=b|0;Jk[c[(c[a>>2]|0)+256>>2]&1023](a,(b^1)&1);return}function Iza(a,b){a=a|0;b=b|0;var d=0,e=0;b=l;l=l+16|0;e=b;a=mr(lr(3)|0,188928,46)|0;BSa(e,a+(c[(c[a>>2]|0)+-12>>2]|0)|0);d=cUa(e,230580)|0;d=kk[c[(c[d>>2]|0)+28>>2]&511](d,10)|0;dUa(e);VSa(a,d)|0;HSa(a)|0;l=b;return}function Jza(a,b){a=a|0;b=b|0;var d=0,e=0;a=l;l=l+16|0;e=a;b=mr(OSa(mr(lr(3)|0,188895,32)|0,b)|0,188876,18)|0;BSa(e,b+(c[(c[b>>2]|0)+-12>>2]|0)|0);d=cUa(e,230580)|0;d=kk[c[(c[d>>2]|0)+28>>2]&511](d,10)|0;dUa(e);VSa(b,d)|0;HSa(b)|0;l=a;return}function Kza(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;a=l;l=l+16|0;f=a;e=mr(QSa(mr(QSa(mr(OSa(mr(lr(3)|0,188846,29)|0,b)|0,184785,1)|0,d)|0,184785,1)|0,e)|0,188876,18)|0;BSa(f,e+(c[(c[e>>2]|0)+-12>>2]|0)|0);d=cUa(f,230580)|0;d=kk[c[(c[d>>2]|0)+28>>2]&511](d,10)|0;dUa(f);VSa(e,d)|0;HSa(e)|0;l=a;return}function Lza(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;g=l;l=l+16|0;b=g+12|0;f=g;c[f>>2]=f;d=f+4|0;c[d>>2]=f;e=f+8|0;c[e>>2]=0;Tza(a,f);if(!(c[e>>2]|0)){if(ZQ(4)|0){a=mr(lr(4)|0,188790,55)|0;BSa(b,a+(c[(c[a>>2]|0)+-12>>2]|0)|0);h=cUa(b,230580)|0;h=kk[c[(c[h>>2]|0)+28>>2]&511](h,10)|0;dUa(b);VSa(a,h)|0;HSa(a)|0}}else{a=c[d>>2]|0;b=a;if((f|0)!=(b|0))do{h=c[a+8>>2]|0;Bk[c[(c[h>>2]|0)+56>>2]&2047](h);a=c[b+4>>2]|0;b=a}while((f|0)!=(b|0))}if(!(c[e>>2]|0)){l=g;return}a=c[d>>2]|0;h=(c[f>>2]|0)+4|0;d=c[a>>2]|0;c[d+4>>2]=c[h>>2];c[c[h>>2]>>2]=d;c[e>>2]=0;if((a|0)==(f|0)){l=g;return}do{h=a;a=c[a+4>>2]|0;l0a(h)}while((a|0)!=(f|0));l=g;return}function Mza(a,b){a=a|0;b=b|0;return}function Nza(a,b,c){a=a|0;b=+b;c=+c;return}function Oza(a){a=a|0;var b=0,d=0,e=0,f=0;a=a+-132|0;c[a>>2]=105420;c[a+132>>2]=105708;b=a+136|0;d=c[b>>2]|0;if(d|0?(f=d+8|0,e=c[f>>2]|0,c[f>>2]=e-1,(e|0)==1):0)UU(d,1,1);c[b>>2]=0;OG(a);return}function Pza(a){a=a|0;var b=0,d=0,e=0,f=0;a=a+-132|0;c[a>>2]=105420;c[a+132>>2]=105708;b=a+136|0;d=c[b>>2]|0;if(d|0?(f=d+8|0,e=c[f>>2]|0,c[f>>2]=e-1,(e|0)==1):0)UU(d,1,1);c[b>>2]=0;OG(a);l0a(a);return}function Qza(a){a=a|0;Lza(a+-132|0);return}function Rza(a,b){a=a|0;b=b|0;return}function Sza(a,b,c){a=a|0;b=+b;c=+c;return}function Tza(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0;n=l;l=l+32|0;g=n+16|0;f=n+12|0;h=n+8|0;i=n+4|0;j=n;m=b+8|0;if(c[m>>2]|0?(d=c[b+4>>2]|0,e=(c[b>>2]|0)+4|0,o=c[d>>2]|0,c[o+4>>2]=c[e>>2],c[c[e>>2]>>2]=o,c[m>>2]=0,(d|0)!=(b|0)):0)do{o=d;d=c[d+4>>2]|0;l0a(o)}while((d|0)!=(b|0));d=c[a+36>>2]|0;e=a+32|0;a=d;if((e|0)!=(a|0))do{d=c[(c[d+8>>2]|0)+220>>2]|0;if(d|0?(k=y1a(d,47728,58800,0)|0,k|0):0){o=j0a(12)|0;c[o+8>>2]=k;c[o+4>>2]=b;d=c[b>>2]|0;c[o>>2]=d;c[d+4>>2]=o;c[b>>2]=o;c[m>>2]=(c[m>>2]|0)+1}d=c[a+4>>2]|0;a=d}while((e|0)!=(a|0));d=b+4|0;c[h>>2]=c[d>>2];c[i>>2]=b;a=c[m>>2]|0;c[f>>2]=c[h>>2];c[g>>2]=c[i>>2];Uza(f,g,a,j)|0;d=c[d>>2]|0;a=d;if((b|0)==(a|0)){l=n;return}do{g=c[a+4>>2]|0;a=g;a:do if((b|0)==(a|0)){f=b;d=g}else{e=c[d+8>>2]|0;d=g;f=a;while(1){if((e|0)!=(c[d+8>>2]|0))break a;d=c[f+4>>2]|0;f=d;if((b|0)==(f|0)){f=b;break}}}while(0);if((f|0)==(a|0))d=g;else{o=(c[f>>2]|0)+4|0;k=c[a>>2]|0;c[k+4>>2]=c[o>>2];c[c[o>>2]>>2]=k;do{o=a;a=c[a+4>>2]|0;c[m>>2]=(c[m>>2]|0)+-1;l0a(o)}while((a|0)!=(f|0));a=d}}while((b|0)!=(a|0));l=n;return}function Uza(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0;q=l;l=l+32|0;m=q+20|0;k=q+16|0;i=q+12|0;j=q+8|0;o=q+4|0;p=q;switch(d|0){case 1:case 0:{a=c[a>>2]|0;l=q;return a|0}case 2:{h=c[c[b>>2]>>2]|0;c[b>>2]=h;f=c[a>>2]|0;g=h;if((c[h+8>>2]|0)>>>0>=(c[f+8>>2]|0)>>>0){a=f;l=q;return a|0}a=g+4|0;b=c[g>>2]|0;c[b+4>>2]=c[a>>2];c[c[a>>2]>>2]=b;b=c[f>>2]|0;c[b+4>>2]=g;c[h>>2]=b;c[f>>2]=g;c[a>>2]=f;a=g;l=q;return a|0}default:{n=d>>>1;h=c[a>>2]|0;f=h;if(n){g=n;while(1){f=c[f+4>>2]|0;if((g|0)>1)g=g+-1|0;else break}}g=f;c[i>>2]=h;c[j>>2]=g;c[k>>2]=c[i>>2];c[m>>2]=c[j>>2];j=Uza(k,m,n,e)|0;c[a>>2]=j;c[o>>2]=g;b=c[b>>2]|0;c[p>>2]=b;c[k>>2]=c[o>>2];c[m>>2]=c[p>>2];i=Uza(k,m,d-n|0,e)|0;h=c[j+8>>2]|0;e=b;if((c[i+8>>2]|0)>>>0<h>>>0){g=c[i+4>>2]|0;f=g;a:do if((e|0)==(f|0))f=e;else while(1){if((c[g+8>>2]|0)>>>0>=h>>>0)break a;g=c[f+4>>2]|0;f=g;if((e|0)==(f|0)){f=e;break}}while(0);b=c[f>>2]|0;f=b+4|0;h=c[i>>2]|0;c[h+4>>2]=c[f>>2];c[c[f>>2]>>2]=h;h=c[j+4>>2]|0;p=c[j>>2]|0;c[p+4>>2]=i;c[i>>2]=p;c[j>>2]=b;c[f>>2]=j;f=i}else{f=j;g=i;h=c[j+4>>2]|0}c[a>>2]=h;j=h;i=g;if((j|0)==(i|0)){a=f;l=q;return a|0}k=g;while(1){n=k;if((e|0)==(n|0)){g=26;break}d=c[h+8>>2]|0;if((c[k+8>>2]|0)>>>0<d>>>0){h=c[n+4>>2]|0;m=h;b:do if((e|0)==(m|0))m=e;else while(1){if((c[h+8>>2]|0)>>>0>=d>>>0)break b;h=c[m+4>>2]|0;m=h;if((e|0)==(m|0)){m=e;break}}while(0);o=c[m>>2]|0;p=o+4|0;b=c[n>>2]|0;c[b+4>>2]=c[p>>2];c[c[p>>2]>>2]=b;b=c[j+4>>2]|0;d=c[j>>2]|0;c[d+4>>2]=n;c[k>>2]=d;c[j>>2]=o;c[p>>2]=j;k=h;g=(i|0)==(n|0)?h:g;h=b}else h=c[j+4>>2]|0;c[a>>2]=h;j=h;i=g;if((j|0)==(i|0)){g=26;break}}if((g|0)==26){l=q;return f|0}}}return 0}function Vza(a){a=a|0;var b=0,d=0,e=0,f=0;c[a>>2]=105420;c[a+132>>2]=105708;b=a+136|0;d=c[b>>2]|0;if(d|0?(f=d+8|0,e=c[f>>2]|0,c[f>>2]=e-1,(e|0)==1):0)UU(d,1,1);c[b>>2]=0;OG(a);l0a(a);return}function Wza(a,b){a=a|0;b=b|0;if(!b){b=0;return b|0}b=(y1a(b,42800,64296,0)|0)!=0;return b|0}function Xza(a){a=a|0;return 183549}function Yza(a){a=a|0;return 189886}function Zza(a){a=a|0;return 1}function _za(a){a=a|0;return 1}function $za(a){a=a|0;return 1}function aAa(a){a=a|0;return}function bAa(a){a=a|0;return 1}function cAa(a){a=a|0;return 1}function dAa(a){a=a|0;return}function eAa(a){a=a|0;return}function fAa(a){a=a|0;return}function gAa(a){a=a|0;return}function hAa(a){a=a|0;var b=0,d=0,e=0,f=0;a=a+-132|0;c[a>>2]=105420;c[a+132>>2]=105708;b=a+136|0;d=c[b>>2]|0;if(d|0?(f=d+8|0,e=c[f>>2]|0,c[f>>2]=e-1,(e|0)==1):0)UU(d,1,1);c[b>>2]=0;OG(a);return}function iAa(a){a=a|0;var b=0,d=0,e=0,f=0;a=a+-132|0;c[a>>2]=105420;c[a+132>>2]=105708;b=a+136|0;d=c[b>>2]|0;if(d|0?(f=d+8|0,e=c[f>>2]|0,c[f>>2]=e-1,(e|0)==1):0)UU(d,1,1);c[b>>2]=0;OG(a);l0a(a);return}function jAa(b,d){b=b|0;d=d|0;var e=0,f=0,i=0.0,j=0,k=0,m=0.0,n=0.0,o=0,p=0,q=0,r=0.0,s=0.0,t=0,u=0,v=0.0,w=0,x=0;x=l;l=l+16|0;u=x;w=x+4|0;e=c[d+52>>2]|0;if(!e){l=x;return}if(!(c[e+24>>2]|0)){l=x;return}e=c[d+56>>2]|0;if(!e){l=x;return}j=y1a(e,44864,58744,0)|0;if(!j){l=x;return}v=+g[d+104>>2];i=+g[d+108>>2];e=j+44|0;if((c[d+120>>2]|0)==1?(f=c[e>>2]|0,(f|0)!=0):0)i=+(c[f+44>>2]|0)-i;t=j0a(44)|0;o=c[e>>2]|0;m=+(c[o+40>>2]|0);n=+(c[o+44>>2]|0);Tha(t);c[t>>2]=99952;sta(t+12|0,j);g[t+20>>2]=v;g[t+24>>2]=0.0;g[t+28>>2]=m;g[t+32>>2]=i;g[t+36>>2]=0.0;g[t+40>>2]=n;tta(d,t);Oja(d,0);c[w>>2]=0;t=w+4|0;c[t>>2]=0;o=w+8|0;c[o>>2]=0;p=j+32|0;e=c[j+36>>2]|0;f=e;if((f|0)==(p|0)){e=0;f=0}else{k=b+104|0;m=v;n=i;do{e=c[e+8>>2]|0;c[u>>2]=e;j=e;do if((((((((c[e+220>>2]|0)==(k|0)?a[e+228>>0]|0:0)?(c[e+576>>2]|0)==3:0)?(q=c[e+288>>2]|0,q|0):0)?(r=+h[q+56>>3],r<=m):0)?(s=+h[q+64>>3],s<=n):0)?r+ +h[q+72>>3]>=m:0)?s+ +h[q+80>>3]>=n:0){e=c[t>>2]|0;if((e|0)==(c[o>>2]|0)){ZG(w,u);break}else{c[e>>2]=j;c[t>>2]=(c[t>>2]|0)+4;break}}while(0);e=c[f+4>>2]|0;f=e}while((f|0)!=(p|0));e=c[w>>2]|0;f=c[t>>2]|0}_G(e,f,u);e=c[w>>2]|0;f=c[t>>2]|0;if((e|0)!=(f|0)){e=c[f+-4>>2]|0;if(e|0?(q=c[e+288>>2]|0,u=j0a(44)|0,s=(v-+h[q+56>>3])/+h[q+72>>3]*2.0+-1.0,v=(i-+h[q+64>>3])/+h[q+80>>3]*2.0+-1.0,Tha(u),c[u>>2]=99952,sta(u+12|0,e),g[u+20>>2]=s,g[u+24>>2]=-1.0,g[u+28>>2]=1.0,g[u+32>>2]=v,g[u+36>>2]=-1.0,g[u+40>>2]=1.0,tta(d,u),(e|0)!=(c[b+120>>2]|0)):0)lAa(b,e,d);e=c[w>>2]|0}if(e|0){c[t>>2]=e;l0a(e)}l=x;return}function kAa(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,i=0.0,j=0,k=0.0,l=0.0,m=0.0;e=c[d+52>>2]|0;if(!e)return;if(!(c[e+24>>2]|0))return;e=c[d+56>>2]|0;if(!e)return;e=y1a(e,44864,58744,0)|0;if(!e)return;k=+g[d+104>>2];i=+g[d+108>>2];f=e+44|0;if((c[d+120>>2]|0)==1?(j=c[f>>2]|0,(j|0)!=0):0)i=+(c[j+44>>2]|0)-i;j=j0a(44)|0;f=c[f>>2]|0;m=+(c[f+40>>2]|0);l=+(c[f+44>>2]|0);Tha(j);c[j>>2]=99952;sta(j+12|0,e);g[j+20>>2]=k;g[j+24>>2]=0.0;g[j+28>>2]=m;g[j+32>>2]=i;g[j+36>>2]=0.0;g[j+40>>2]=l;tta(d,j);Oja(d,0);e=c[b+160>>2]|0;if((c[b+164>>2]|0)-e>>2>>>0<=1)return;e=c[e+4>>2]|0;f=c[e+12>>2]|0;if(!f)return;if(!(c[f+24>>2]|0))return;e=c[e+16>>2]|0;if(!e)return;e=gk[c[(c[e>>2]|0)+80>>2]&1023](e)|0;if(!e)return;f=c[e+288>>2]|0;if(!f)return;b=j0a(44)|0;l=(k-+h[f+56>>3])/+h[f+72>>3]*2.0+-1.0;m=(i-+h[f+64>>3])/+h[f+80>>3]*2.0+-1.0;Tha(b);c[b>>2]=99952;sta(b+12|0,e);g[b+20>>2]=l;g[b+24>>2]=-1.0;g[b+28>>2]=1.0;g[b+32>>2]=m;g[b+36>>2]=-1.0;g[b+40>>2]=1.0;tta(d,b);if((e|0)==(c[a+120>>2]|0))return;lAa(a,e,d);return}function lAa(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,i=0,j=0,k=0,m=0,n=0.0,o=0,p=0.0,q=0.0,r=0.0,s=0.0,t=0,u=0,v=0,w=0.0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0.0,H=0.0,I=0.0,J=0.0,K=0.0,L=0.0,M=0.0,N=0.0,O=0.0;F=l;l=l+592|0;D=F+448|0;o=F+320|0;E=F;t=F+192|0;C=F+576|0;f=c[e+52>>2]|0;if(!f){l=F;return}if(!(c[f+24>>2]|0)){l=F;return}f=c[e+56>>2]|0;if(!f){l=F;return}f=y1a(f,44864,58744,0)|0;if(!f){l=F;return}k=b+104|0;m=b+120|0;i=c[m>>2]|0;if((i|0)==(d|0)){l=F;return}w=+g[e+104>>2];n=+g[e+108>>2];if((c[e+120>>2]|0)==1?(j=c[f+44>>2]|0,(j|0)!=0):0)n=+(c[j+44>>2]|0)-n;Qra(o);Ura(o,i+432|0,i+304|0);f=c[(c[m>>2]|0)+288>>2]|0;if(!f){p=1.0;q=-1.0;r=1.0;s=-1.0}else{s=+h[f+56>>3];q=+h[f+64>>3];p=s+ +h[f+72>>3];r=q+ +h[f+80>>3];x7(D,f);Vra(o,D)}f=wja(k,d)|0;do if(f|0){f=(a[f+264>>0]|0)==0;if(!(c[d+136>>2]|0)){if(!f){f=c[d+288>>2]|0;Qra(D);Ura(D,d+432|0,d+304|0);if(f|0){x7(E,f);Vra(D,E)}Qra(t);if(((+h[D+24>>3]==0.0?+h[D+56>>3]==0.0:0)?+h[D+88>>3]==0.0:0)?+h[D+120>>3]==1.0:0)Xra(t,D)|0;else Yra(t,D)|0;Qra(E);Ura(E,t,o);H=w;K=1.0/(+h[E+120>>3]+(+h[E+24>>3]*H+ +h[E+56>>3]*n+ +h[E+88>>3]*0.0));N=+h[E>>3];M=+h[E+32>>3];L=+h[E+64>>3];O=+h[E+96>>3];I=+h[E+8>>3];G=+h[E+40>>3];w=+h[E+72>>3];J=+h[E+104>>3];E=j0a(44)|0;D=c[m>>2]|0;Tha(E);c[E>>2]=99952;sta(E+12|0,D);g[E+20>>2]=K*(O+(N*H+M*n+L*0.0));g[E+24>>2]=s;g[E+28>>2]=p;g[E+32>>2]=K*(J+(I*H+G*n+w*0.0));g[E+36>>2]=q;g[E+40>>2]=r;tta(e,E);break}}else if(!f)break;v=j0a(96)|0;Qka(v,0,w,n);u=v+8|0;c[u>>2]=(c[u>>2]|0)+1;U6(E,v,0);Jk[c[(c[d>>2]|0)+212>>2]&1023](d,E);if(gk[c[(c[v>>2]|0)+32>>2]&1023](v)|0){g[C>>2]=0.0;t=C+4|0;g[t>>2]=0.0;g[C+8>>2]=0.0;f=c[v+28>>2]|0;f=(f|0)==0?v:f;if(!(c[f+88>>2]|0)){h[D>>3]=-1.0;f=D+8|0;c[f>>2]=0;c[f+4>>2]=0;c[f+8>>2]=0;c[f+12>>2]=0;c[f+16>>2]=0;f=D+32|0;i=f+64|0;do{c[f>>2]=0;f=f+4|0}while((f|0)<(i|0))}else efa(D,(c[f+80>>2]|0)+16|0);o=Rka(D,C)|0;$ea(D);if(o|0?(y=b+124|0,z=b+128|0,x=c[y>>2]|0,(c[z>>2]|0)!=(x|0)):0){m=0;f=x;do{k=c[f+(m*272|0)+4>>2]|0;do if(k|0?(A=k+588|0,B=c[A>>2]|0,B|0):0){j=A;f=B;do{x=(c[f+16>>2]|0)<3;j=x?j:f;f=c[(x?f+4|0:f)>>2]|0}while((f|0)!=0);if((j|0)==(A|0))break;if((c[j+16>>2]|0)>3)break;f=j+28|0;if((c[f>>2]|0)!=(o|0))break;i=y1a(o,47416,47544,0)|0;if(i|0){x=j0a(44)|0;j=c[C>>2]|0;d=gk[c[(c[i>>2]|0)+216>>2]&1023](i)|0;b=c[t>>2]|0;O=+(gk[c[(c[i>>2]|0)+220>>2]&1023](i)|0);Tha(x);c[x>>2]=99952;sta(x+12|0,k);c[x+20>>2]=j;g[x+24>>2]=0.0;g[x+28>>2]=+(d|0);c[x+32>>2]=b;g[x+36>>2]=0.0;g[x+40>>2]=O;tta(e,x);break}if(!(y1a(o,47416,47528,0)|0)){x=j0a(44)|0;d=c[C>>2]|0;b=c[t>>2]|0;Tha(x);c[x>>2]=99952;sta(x+12|0,k);c[x+20>>2]=d;g[x+24>>2]=0.0;g[x+28>>2]=1.0;c[x+32>>2]=b;g[x+36>>2]=0.0;g[x+40>>2]=1.0;tta(e,x);break}if(!(ZQ(4)|0))break;x=mr(lr(4)|0,184652,35)|0;x=mr(USa(x,c[f>>2]|0)|0,184688,2)|0;x=QSa(x,c[j+36>>2]|0)|0;BSa(D,x+(c[(c[x>>2]|0)+-12>>2]|0)|0);b=cUa(D,230580)|0;b=kk[c[(c[b>>2]|0)+28>>2]&511](b,10)|0;dUa(D);VSa(x,b)|0;HSa(x)|0}while(0);m=m+1|0;f=c[y>>2]|0}while(m>>>0<(((c[z>>2]|0)-f|0)/272|0)>>>0)}}W6(E,88680);Pr(E+160|0);E=c[u>>2]|0;c[u>>2]=E-1;if((E|0)==1)UU(v,1,1)}while(0);l=F;return}function mAa(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0;n=l;l=l+160|0;m=n+12|0;k=n;i=Jh(b|0)|0;if(!i){m=0;l=n;return m|0}b=0;while(1){if(!(a[i+b>>0]|0)){j=6;break}b=b+1|0;if(b>>>0>=4096){j=5;break}}if((j|0)==5){c[k>>2]=0;c[k+4>>2]=0;c[k+8>>2]=0;b=4096;j=7}else if((j|0)==6){c[k>>2]=0;c[k+4>>2]=0;c[k+8>>2]=0;if(b>>>0<11){a[k+11>>0]=b;if(!b){b=0;h=k}else{h=k;j=9}}else j=7}if((j|0)==7){o=b+16&-16;h=j0a(o)|0;c[k>>2]=h;c[k+8>>2]=o|-2147483648;c[k+4>>2]=b;j=9}if((j|0)==9)x2a(h|0,i|0,b|0)|0;a[h+b>>0]=0;h=m+60|0;i=m+8|0;c[m>>2]=43004;c[h>>2]=43024;c[m+4>>2]=0;zSa(m+60|0,i);c[m+132>>2]=0;c[m+136>>2]=-1;c[m>>2]=69456;c[h>>2]=69476;ESa(i);c[i>>2]=68044;j=m+40|0;c[j>>2]=0;c[j+4>>2]=0;c[j+8>>2]=0;c[j+12>>2]=0;c[m+56>>2]=8;Ar(i,k);if((a[k+11>>0]|0)<0)l0a(c[k>>2]|0);KSa(KSa(KSa(KSa(m,d)|0,e)|0,f)|0,g)|0;b=(c[m+(c[(c[m>>2]|0)+-12>>2]|0)+16>>2]&5|0)==0;c[m>>2]=69456;c[h>>2]=69476;c[i>>2]=68044;if((a[j+11>>0]|0)<0)l0a(c[j>>2]|0);oRa(i);aSa(m,69488);iRa(h);o=b;l=n;return o|0}function nAa(){var b=0,d=0,e=0,f=0,h=0,i=0,j=0;h=l;l=l+32|0;d=h+12|0;e=h;g[56486]=1.0;g[56487]=0.0;g[56488]=0.0;g[56489]=0.0;g[56490]=1.0;g[56491]=0.0;g[56492]=0.0;g[56493]=0.0;g[56494]=1.0;xla(225908,1);c[56477]=81256;if((a[223848]|0)==0?g2a(223848)|0:0){c[56480]=0;c[56481]=0;c[56482]=0;xla(225932,0)}b=j0a(32)|0;c[d>>2]=b;c[d+8>>2]=-2147483616;c[d+4>>2]=26;f=b;i=190337;j=f+26|0;do{a[f>>0]=a[i>>0]|0;f=f+1|0;i=i+1|0}while((f|0)<(j|0));a[b+26>>0]=0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;b=j0a(64)|0;c[e>>2]=b;c[e+8>>2]=-2147483584;c[e+4>>2]=55;f=b;i=190364;j=f+55|0;do{a[f>>0]=a[i>>0]|0;f=f+1|0;i=i+1|0}while((f|0)<(j|0));a[b+55>>0]=0;uQ(tQ()|0,2,d,e);if((a[e+11>>0]|0)<0)l0a(c[e>>2]|0);if((a[d+11>>0]|0)<0)l0a(c[d>>2]|0);b=j0a(32)|0;c[d>>2]=b;c[d+8>>2]=-2147483616;c[d+4>>2]=21;f=b;i=190420;j=f+21|0;do{a[f>>0]=a[i>>0]|0;f=f+1|0;i=i+1|0}while((f|0)<(j|0));a[b+21>>0]=0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;j=j0a(176)|0;c[e>>2]=j;c[e+8>>2]=-2147483472;c[e+4>>2]=162;x2a(j|0,190442,162)|0;a[j+162>>0]=0;uQ(tQ()|0,2,d,e);if((a[e+11>>0]|0)<0)l0a(c[e>>2]|0);if((a[d+11>>0]|0)<0)l0a(c[d>>2]|0);b=j0a(32)|0;c[d>>2]=b;c[d+8>>2]=-2147483616;c[d+4>>2]=18;f=b;i=190605;j=f+18|0;do{a[f>>0]=a[i>>0]|0;f=f+1|0;i=i+1|0}while((f|0)<(j|0));a[b+18>>0]=0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;b=j0a(64)|0;c[e>>2]=b;c[e+8>>2]=-2147483584;c[e+4>>2]=54;f=b;i=190624;j=f+54|0;do{a[f>>0]=a[i>>0]|0;f=f+1|0;i=i+1|0}while((f|0)<(j|0));a[b+54>>0]=0;uQ(tQ()|0,2,d,e);if((a[e+11>>0]|0)<0)l0a(c[e>>2]|0);if((a[d+11>>0]|0)<0)l0a(c[d>>2]|0);b=j0a(32)|0;c[d>>2]=b;c[d+8>>2]=-2147483616;c[d+4>>2]=27;f=b;i=190679;j=f+27|0;do{a[f>>0]=a[i>>0]|0;f=f+1|0;i=i+1|0}while((f|0)<(j|0));a[b+27>>0]=0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;b=j0a(80)|0;c[e>>2]=b;c[e+8>>2]=-2147483568;c[e+4>>2]=65;f=b;i=190707;j=f+65|0;do{a[f>>0]=a[i>>0]|0;f=f+1|0;i=i+1|0}while((f|0)<(j|0));a[b+65>>0]=0;uQ(tQ()|0,2,d,e);if((a[e+11>>0]|0)<0)l0a(c[e>>2]|0);if((a[d+11>>0]|0)<0)l0a(c[d>>2]|0);b=j0a(32)|0;c[d>>2]=b;c[d+8>>2]=-2147483616;c[d+4>>2]=20;f=b;i=183559;j=f+20|0;do{a[f>>0]=a[i>>0]|0;f=f+1|0;i=i+1|0}while((f|0)<(j|0));a[b+20>>0]=0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;b=j0a(96)|0;c[e>>2]=b;c[e+8>>2]=-2147483552;c[e+4>>2]=88;f=b;i=190773;j=f+88|0;do{a[f>>0]=a[i>>0]|0;f=f+1|0;i=i+1|0}while((f|0)<(j|0));a[b+88>>0]=0;uQ(tQ()|0,2,d,e);if((a[e+11>>0]|0)<0)l0a(c[e>>2]|0);if((a[d+11>>0]|0)<0)l0a(c[d>>2]|0);b=j0a(32)|0;c[d>>2]=b;c[d+8>>2]=-2147483616;c[d+4>>2]=22;f=b;i=183601;j=f+22|0;do{a[f>>0]=a[i>>0]|0;f=f+1|0;i=i+1|0}while((f|0)<(j|0));a[b+22>>0]=0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;b=j0a(112)|0;c[e>>2]=b;c[e+8>>2]=-2147483536;c[e+4>>2]=109;f=b;i=190862;j=f+109|0;do{a[f>>0]=a[i>>0]|0;f=f+1|0;i=i+1|0}while((f|0)<(j|0));a[b+109>>0]=0;uQ(tQ()|0,2,d,e);if((a[e+11>>0]|0)<0)l0a(c[e>>2]|0);if((a[d+11>>0]|0)<0)l0a(c[d>>2]|0);b=j0a(32)|0;c[d>>2]=b;c[d+8>>2]=-2147483616;c[d+4>>2]=19;f=b;i=183624;j=f+19|0;do{a[f>>0]=a[i>>0]|0;f=f+1|0;i=i+1|0}while((f|0)<(j|0));a[b+19>>0]=0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;b=j0a(64)|0;c[e>>2]=b;c[e+8>>2]=-2147483584;c[e+4>>2]=62;f=b;i=190972;j=f+62|0;do{a[f>>0]=a[i>>0]|0;f=f+1|0;i=i+1|0}while((f|0)<(j|0));a[b+62>>0]=0;uQ(tQ()|0,2,d,e);if((a[e+11>>0]|0)<0)l0a(c[e>>2]|0);if((a[d+11>>0]|0)>=0){l=h;return}l0a(c[d>>2]|0);l=h;return}function oAa(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;r=l;l=l+128|0;n=r+116|0;m=r+40|0;q=r+16|0;o=r;d=b+11|0;k=a[d>>0]|0;e=k<<24>>24<0;f=b+4|0;if(!((e?c[f>>2]|0:k&255)|0)){if(!(ZQ(5)|0)){q=0;l=r;return q|0}q=mr(lr(5)|0,191035,56)|0;BSa(n,q+(c[(c[q>>2]|0)+-12>>2]|0)|0);p=cUa(n,230580)|0;p=kk[c[(c[p>>2]|0)+28>>2]&511](p,10)|0;dUa(n);VSa(q,p)|0;HSa(q)|0;q=0;l=r;return q|0}if(!(RPa(e?c[b>>2]|0:b,m)|0))if((c[m+12>>2]&61440|0)!=16384)if(ZQ(5)|0){o=mr(lr(5)|0,191092,24)|0;q=a[d>>0]|0;p=q<<24>>24<0;b=mr(mr(o,p?c[b>>2]|0:b,p?c[f>>2]|0:q&255)|0,191117,39)|0;BSa(n,b+(c[(c[b>>2]|0)+-12>>2]|0)|0);q=cUa(n,230580)|0;q=kk[c[(c[q>>2]|0)+28>>2]&511](q,10)|0;dUa(n);VSa(b,q)|0;HSa(b)|0;b=0}else b=0;else b=1;else{c[q>>2]=0;c[q+4>>2]=0;c[q+8>>2]=0;c[q+12>>2]=0;c[q+16>>2]=0;c[q+20>>2]=0;t0a(o,b);f=o+11|0;k=a[f>>0]|0;b=k<<24>>24<0;g=o+4|0;a:do if(!((b?c[g>>2]|0:k&255)|0))p=26;else{k=q+8|0;i=q+4|0;j=q+16|0;h=q+20|0;b:while(1){if((RPa(b?c[o>>2]|0:o,m)|0)<0){switch(c[(QNa()|0)>>2]|0){case 20:case 2:break;default:break b}e=c[k>>2]|0;d=c[i>>2]|0;s=e-d|0;b=(c[h>>2]|0)+(c[j>>2]|0)|0;if((((s|0)==0?0:((s>>2)*341|0)+-1|0)|0)==(b|0)){xma(q);b=(c[j>>2]|0)+(c[h>>2]|0)|0;e=c[k>>2]|0;d=c[i>>2]|0}if((e|0)==(d|0))b=0;else{s=(b>>>0)/341|0;b=(c[d+(s<<2)>>2]|0)+((b-(s*341|0)|0)*12|0)|0}t0a(b,o);c[h>>2]=(c[h>>2]|0)+1}wsa(n,o);if((a[f>>0]|0)<0){a[c[o>>2]>>0]=0;c[g>>2]=0}else{a[o>>0]=0;a[f>>0]=0}D0a(o,0);c[o>>2]=c[n>>2];c[o+4>>2]=c[n+4>>2];c[o+8>>2]=c[n+8>>2];s=a[f>>0]|0;b=s<<24>>24<0;if(!((b?c[g>>2]|0:s&255)|0)){p=26;break a}}if(ZQ(5)|0){m=mr(lr(5)|0,191092,24)|0;s=pOa(c[(QNa()|0)>>2]|0)|0;s=mr(m,s,VNa(s)|0)|0;BSa(n,s+(c[(c[s>>2]|0)+-12>>2]|0)|0);m=cUa(n,230580)|0;m=kk[c[(c[m>>2]|0)+28>>2]&511](m,10)|0;dUa(n);VSa(s,m)|0;HSa(s)|0}if((a[f>>0]|0)<0)l0a(c[o>>2]|0);b=0;o=i;n=j}while(0);c:do if((p|0)==26){if(b)l0a(c[o>>2]|0);g=q+20|0;b=c[g>>2]|0;if(!b){b=1;o=q+4|0;n=q+16|0;k=q+8|0;break}j=q+16|0;i=q+4|0;h=o+11|0;k=q+8|0;while(1){m=b+-1+(c[j>>2]|0)|0;s=(m>>>0)/341|0;t0a(o,(c[(c[i>>2]|0)+(s<<2)>>2]|0)+((m-(s*341|0)|0)*12|0)|0);if((QPa((a[h>>0]|0)<0?c[o>>2]|0:o,493)|0)<0?dRa((a[h>>0]|0)<0?c[o>>2]|0:o,0)|0:0)break;b=(c[g>>2]|0)+-1|0;e=b+(c[j>>2]|0)|0;f=c[i>>2]|0;d=(e>>>0)/341|0;d=(c[f+(d<<2)>>2]|0)+((e-(d*341|0)|0)*12|0)|0;if((a[d+11>>0]|0)<0){l0a(c[d>>2]|0);e=(c[g>>2]|0)+-1|0;b=e;e=(c[j>>2]|0)+e|0;d=c[i>>2]|0}else d=f;c[g>>2]=b;b=c[k>>2]|0;s=b-d|0;if((((s|0)==0?0:((s>>2)*341|0)+-1|0)-e|0)>>>0>681){l0a(c[b+-4>>2]|0);c[k>>2]=(c[k>>2]|0)+-4}if((a[h>>0]|0)<0)l0a(c[o>>2]|0);b=c[g>>2]|0;if(!b){b=1;o=i;n=j;break c}}if(ZQ(5)|0){m=mr(lr(5)|0,191092,24)|0;s=pOa(c[(QNa()|0)>>2]|0)|0;s=mr(m,s,VNa(s)|0)|0;BSa(n,s+(c[(c[s>>2]|0)+-12>>2]|0)|0);m=cUa(n,230580)|0;m=kk[c[(c[m>>2]|0)+28>>2]&511](m,10)|0;dUa(n);VSa(s,m)|0;HSa(s)|0;if((a[h>>0]|0)<0)l0a(c[o>>2]|0);b=0;o=i;n=j;break}else{if((a[h>>0]|0)<0)l0a(c[o>>2]|0);b=0;o=i;n=j;break}}while(0);j=c[o>>2]|0;d=c[n>>2]|0;e=(d>>>0)/341|0;g=j+(e<<2)|0;h=c[k>>2]|0;if((h|0)==(j|0)){d=0;i=0;m=q+20|0}else{m=q+20|0;s=(c[m>>2]|0)+d|0;i=(s>>>0)/341|0;d=(c[g>>2]|0)+((d-(e*341|0)|0)*12|0)|0;i=(c[j+(i<<2)>>2]|0)+((s-(i*341|0)|0)*12|0)|0}f=d;if((i|0)==(f|0)){i=k;e=j;g=h;f=h;h=j;d=j}else{e=g;do{if((a[d+11>>0]|0)<0)l0a(c[f>>2]|0);d=f+12|0;if((d-(c[e>>2]|0)|0)==4092){d=e+4|0;e=d;d=c[d>>2]|0}f=d}while((i|0)!=(f|0));f=c[k>>2]|0;d=c[o>>2]|0;i=k;e=d;g=f;h=d}c[m>>2]=0;e=g-e>>2;if(e>>>0>2)do{l0a(c[d>>2]|0);d=(c[o>>2]|0)+4|0;c[o>>2]=d;f=c[i>>2]|0;e=f-d>>2}while(e>>>0>2);else d=h;switch(e|0){case 1:{e=170;p=66;break}case 2:{e=341;p=66;break}default:{}}if((p|0)==66)c[n>>2]=e;if((d|0)!=(f|0)){do{l0a(c[d>>2]|0);d=d+4|0}while((d|0)!=(f|0));d=c[o>>2]|0;e=c[k>>2]|0;if((e|0)!=(d|0))c[k>>2]=e+(~((e+-4-d|0)>>>2)<<2)}d=c[q>>2]|0;if(d|0)l0a(d)}s=b;l=r;return s|0}function pAa(b){b=b|0;return (dRa((a[b+11>>0]|0)<0?c[b>>2]|0:b,0)|0)==0|0}function qAa(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0;p=l;l=l+16|0;o=p;n=p+12|0;m=a[b+11>>0]|0;if(!((m<<24>>24<0?c[b+4>>2]|0:m&255)|0)){l=p;return}f=Q0a(b,58,0)|0;if((f|0)==-1)e=0;else{i=d+8|0;j=d+4|0;k=d+16|0;m=d+20|0;e=0;do{x0a(o,b,e,f-e|0,n);h=c[i>>2]|0;g=c[j>>2]|0;q=h-g|0;e=(c[m>>2]|0)+(c[k>>2]|0)|0;if((((q|0)==0?0:((q>>2)*341|0)+-1|0)|0)==(e|0)){xma(d);e=(c[k>>2]|0)+(c[m>>2]|0)|0;h=c[i>>2]|0;g=c[j>>2]|0}if((h|0)==(g|0))e=0;else{q=(e>>>0)/341|0;e=(c[g+(q<<2)>>2]|0)+((e-(q*341|0)|0)*12|0)|0};c[e>>2]=c[o>>2];c[e+4>>2]=c[o+4>>2];c[e+8>>2]=c[o+8>>2];c[m>>2]=(c[m>>2]|0)+1;e=f+1|0;f=Q0a(b,58,e)|0}while((f|0)!=-1)}x0a(o,b,e,-1,n);m=o+11|0;e=a[m>>0]|0;if((e<<24>>24<0?c[o+4>>2]|0:e&255)|0){i=d+8|0;f=c[i>>2]|0;j=d+4|0;e=c[j>>2]|0;q=f-e|0;h=d+16|0;k=d+20|0;g=(c[k>>2]|0)+(c[h>>2]|0)|0;if((((q|0)==0?0:((q>>2)*341|0)+-1|0)|0)==(g|0)){xma(d);g=(c[h>>2]|0)+(c[k>>2]|0)|0;f=c[i>>2]|0;e=c[j>>2]|0}if((f|0)==(e|0))e=0;else{q=(g>>>0)/341|0;e=(c[e+(q<<2)>>2]|0)+((g-(q*341|0)|0)*12|0)|0}t0a(e,o);c[k>>2]=(c[k>>2]|0)+1;e=a[m>>0]|0}if(e<<24>>24<0)l0a(c[o>>2]|0);l=p;return}function rAa(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;y=l;l=l+32|0;v=y+12|0;w=y;u=a[d+11>>0]|0;if(!((u<<24>>24<0?c[d+4>>2]|0:u&255)|0)){t0a(b,d);l=y;return}if(!(ysa(d)|0)){zsa(v,d);rAa(b,v,e,f);if((a[v+11>>0]|0)<0)l0a(c[v>>2]|0);l=y;return}s=e+4|0;k=c[s>>2]|0;t=e+16|0;j=c[t>>2]|0;g=(j>>>0)/341|0;i=k+(g<<2)|0;u=e+8|0;h=c[u>>2]|0;if((h|0)==(k|0))g=0;else g=(c[i>>2]|0)+((j-(g*341|0)|0)*12|0)|0;p=e+20|0;q=v+11|0;r=v+4|0;m=(f|0)==1;n=b+11|0;o=b+4|0;e=g;g=j;f=k;while(1){g=g+(c[p>>2]|0)|0;if((h|0)==(f|0))g=0;else{k=(g>>>0)/341|0;g=(c[f+(k<<2)>>2]|0)+((g-(k*341|0)|0)*12|0)|0}f=e;if((g|0)==(f|0))break;if(ZQ(5)|0){h=mr(lr(5)|0,191157,5)|0;g=e+11|0;k=a[g>>0]|0;j=k<<24>>24<0;mr(mr(h,j?c[f>>2]|0:e,j?c[f+4>>2]|0:k&255)|0,191163,2)|0}else g=e+11|0;g=a[g>>0]|0;if(g<<24>>24<0)g=c[f+4>>2]|0;else g=g&255;if(!g)t0a(v,d);else xsa(v,f,d);Bsa(w,v);if((a[q>>0]|0)<0){a[c[v>>2]>>0]=0;c[r>>2]=0}else{a[v>>0]=0;a[q>>0]=0}D0a(v,0);c[v>>2]=c[w>>2];c[v+4>>2]=c[w+4>>2];c[v+8>>2]=c[w+8>>2];if(ZQ(5)|0){h=mr(lr(5)|0,191166,26)|0;k=a[q>>0]|0;j=k<<24>>24<0;mr(mr(h,j?c[v>>2]|0:v,j?c[r>>2]|0:k&255)|0,191193,5)|0}do if(!(dRa((a[q>>0]|0)<0?c[v>>2]|0:v,0)|0)){if(ZQ(5)|0){h=mr(lr(5)|0,191199,25)|0;k=a[q>>0]|0;j=k<<24>>24<0;mr(mr(h,j?c[v>>2]|0:v,j?c[r>>2]|0:k&255)|0,191225,1)|0};c[b>>2]=c[v>>2];c[b+4>>2]=c[v+4>>2];c[b+8>>2]=c[v+8>>2];c[v>>2]=0;c[v+4>>2]=0;c[v+8>>2]=0;g=1}else{if(m){sAa(b,d,f,1);g=a[n>>0]|0;k=g<<24>>24<0;g=((k?c[o>>2]|0:g&255)|0)==0;if(k&g)l0a(c[b>>2]|0);if(!g){g=1;break}}g=0}while(0);if((a[q>>0]|0)<0)l0a(c[v>>2]|0);if(g|0){x=43;break}e=f+12|0;if((e-(c[i>>2]|0)|0)==4092){e=i+4|0;g=e;e=c[e>>2]|0}else g=i;i=g;g=c[t>>2]|0;h=c[u>>2]|0;f=c[s>>2]|0}if((x|0)==43){l=y;return};c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;l=y;return}function sAa(d,e,f,g){d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;D=l;l=l+80|0;z=D+60|0;A=D+48|0;B=D+36|0;s=D+24|0;r=D+12|0;q=D;t0a(A,f);t0a(B,e);Xma(z,e);i=a[e+11>>0]|0;j=i<<24>>24<0;i=i&255;k=j?c[e+4>>2]|0:i;y=a[z+11>>0]|0;p=y<<24>>24<0;a:do if((k|0)==((p?c[z+4>>2]|0:y&255)|0)){o=c[e>>2]|0;m=j?o:e;h=p?c[z>>2]|0:z;n=(k|0)==0;o=o&255;if(j){if(n){h=0;break}h=(cOa(m,h,k)|0)!=0;break}if(!n)if((a[h>>0]|0)==o<<24>>24){j=e;while(1){i=i+-1|0;j=j+1|0;if(!i){h=0;break a}h=h+1|0;if((a[j>>0]|0)!=(a[h>>0]|0)){h=1;break}}}else h=1;else h=0}else h=1;while(0);if(p)l0a(c[z>>2]|0);y=A+11|0;if(h){j=a[y>>0]|0;m=A+4|0;i=c[m>>2]|0;h=j&255;switch((j<<24>>24<0?i:h)|0){case 0:{wsa(z,e);if((a[y>>0]|0)<0){a[c[A>>2]>>0]=0;c[m>>2]=0}else{a[A>>0]=0;a[y>>0]=0}D0a(A,0);c[A>>2]=c[z>>2];c[A+4>>2]=c[z+4>>2];c[A+8>>2]=c[z+8>>2];break}case 1:{if(!(S0a(A,0,-1,213063,1)|0))C=26;else{j=a[y>>0]|0;h=j&255;i=c[m>>2]|0;C=21}break}default:C=21}b:do if((C|0)==21){if(((j<<24>>24<0?i:h)|0)==2){if(!(S0a(A,0,-1,191227,2)|0)){C=26;break}j=a[y>>0]|0;h=j&255;i=c[m>>2]|0}if(((j<<24>>24<0?i:h)|0)==2?(S0a(A,0,-1,191230,2)|0)==0:0){C=26;break}h=f+11|0;x=a[h>>0]|0;w=x<<24>>24<0;i=f+4|0;switch(a[(w?c[f>>2]|0:f)+((w?c[i>>2]|0:x&255)+-1)>>0]|0){case 92:case 47:{wsa(s,e);x=a[h>>0]|0;h=x<<24>>24<0;x=L0a(s,0,h?c[f>>2]|0:f,h?c[i>>2]|0:x&255)|0;h=c[x>>2]|0;i=x+4|0;c[z>>2]=c[i>>2];b[z+4>>1]=b[i+4>>1]|0;a[z+6>>0]=a[i+6>>0]|0;i=a[x+11>>0]|0;c[x>>2]=0;c[x+4>>2]=0;c[x+8>>2]=0;if((a[y>>0]|0)<0){a[c[A>>2]>>0]=0;c[m>>2]=0}else{a[A>>0]=0;a[y>>0]=0}D0a(A,0);c[A>>2]=h;c[m>>2]=c[z>>2];b[m+4>>1]=b[z+4>>1]|0;a[m+6>>0]=a[z+6>>0]|0;a[A+11>>0]=i;c[z>>2]=0;b[z+4>>1]=0;a[z+6>>0]=0;if((a[s+11>>0]|0)<0)l0a(c[s>>2]|0);break b}default:{}}Yma(s,f,191233);wsa(r,e);j=r+11|0;x=a[j>>0]|0;h=x<<24>>24<0;x=I0a(s,h?c[r>>2]|0:r,h?c[r+4>>2]|0:x&255)|0;h=c[x>>2]|0;i=x+4|0;c[z>>2]=c[i>>2];b[z+4>>1]=b[i+4>>1]|0;a[z+6>>0]=a[i+6>>0]|0;i=a[x+11>>0]|0;c[x>>2]=0;c[x+4>>2]=0;c[x+8>>2]=0;if((a[y>>0]|0)<0){a[c[A>>2]>>0]=0;c[m>>2]=0}else{a[A>>0]=0;a[y>>0]=0}D0a(A,0);c[A>>2]=h;c[m>>2]=c[z>>2];b[m+4>>1]=b[z+4>>1]|0;a[m+6>>0]=a[z+6>>0]|0;a[A+11>>0]=i;c[z>>2]=0;b[z+4>>1]=0;a[z+6>>0]=0;if((a[j>>0]|0)<0)l0a(c[r>>2]|0);if((a[s+11>>0]|0)<0)l0a(c[s>>2]|0)}while(0);if((C|0)==26){wsa(s,e);x=M0a(s,0,191227)|0;h=c[x>>2]|0;i=x+4|0;c[z>>2]=c[i>>2];b[z+4>>1]=b[i+4>>1]|0;a[z+6>>0]=a[i+6>>0]|0;i=a[x+11>>0]|0;c[x>>2]=0;c[x+4>>2]=0;c[x+8>>2]=0;if((a[y>>0]|0)<0){a[c[A>>2]>>0]=0;c[m>>2]=0}else{a[A>>0]=0;a[y>>0]=0}D0a(A,0);c[A>>2]=h;c[m>>2]=c[z>>2];b[m+4>>1]=b[z+4>>1]|0;a[m+6>>0]=a[z+6>>0]|0;a[A+11>>0]=i;c[z>>2]=0;b[z+4>>1]=0;a[z+6>>0]=0;if((a[s+11>>0]|0)<0)l0a(c[s>>2]|0)}Xma(z,e);h=B+11|0;if((a[h>>0]|0)<0){a[c[B>>2]>>0]=0;c[B+4>>2]=0}else{a[B>>0]=0;a[h>>0]=0}D0a(B,0);c[B>>2]=c[z>>2];c[B+4>>2]=c[z+4>>2];c[B+8>>2]=c[z+8>>2]}else m=A+4|0;h=a[y>>0]|0;i=h<<24>>24<0;h=i?c[m>>2]|0:h&255;c:do if(h>>>0>2){h=h+-1|0;switch(a[(i?c[A>>2]|0:A)+h>>0]|0){case 47:case 92:break;default:break c}N0a(A,h,1)|0;if(ZQ(5)|0){v=mr(lr(5)|0,191235,75)|0;x=a[y>>0]|0;w=x<<24>>24<0;x=mr(v,w?c[A>>2]|0:A,w?c[m>>2]|0:x&255)|0;BSa(z,x+(c[(c[x>>2]|0)+-12>>2]|0)|0);w=cUa(z,230580)|0;w=kk[c[(c[w>>2]|0)+28>>2]&511](w,10)|0;dUa(z);VSa(x,w)|0;HSa(x)|0}}while(0);if(ZQ(5)|0){w=mr(lr(5)|0,191311,36)|0;v=a[B+11>>0]|0;x=v<<24>>24<0;v=mr(mr(w,x?c[B>>2]|0:B,x?c[B+4>>2]|0:v&255)|0,191348,4)|0;x=a[y>>0]|0;w=x<<24>>24<0;x=mr(v,w?c[A>>2]|0:A,w?c[m>>2]|0:x&255)|0;BSa(z,x+(c[(c[x>>2]|0)+-12>>2]|0)|0);w=cUa(z,230580)|0;w=kk[c[(c[w>>2]|0)+28>>2]&511](w,10)|0;dUa(z);VSa(x,w)|0;HSa(x)|0}j=a[y>>0]|0;i=c[m>>2]|0;h=j&255;switch((j<<24>>24<0?i:h)|0){case 0:{c[s>>2]=0;c[s+4>>2]=0;c[s+8>>2]=0;a[s+11>>0]=1;a[s>>0]=46;a[s+1>>0]=0;tAa(z,s);w=0;v=0;x=c[z>>2]|0;h=c[z+4>>2]|0;break}case 1:{if(!(S0a(A,0,-1,213063,1)|0))C=67;else{j=a[y>>0]|0;h=j&255;i=c[m>>2]|0;C=61}break}default:C=61}d:do if((C|0)==61){if(((j<<24>>24<0?i:h)|0)==2){if(!(S0a(A,0,-1,191227,2)|0)){C=67;break}j=a[y>>0]|0;h=j&255;i=c[m>>2]|0}if(((j<<24>>24<0?i:h)|0)==2){if(!(S0a(A,0,-1,191230,2)|0)){C=67;break}j=a[y>>0]|0;h=j&255;i=c[m>>2]|0}if(((j<<24>>24<0?i:h)|0)==1?(S0a(A,0,-1,191233,1)|0)==0:0){c[s>>2]=0;c[s+4>>2]=0;c[s+8>>2]=0;a[s+11>>0]=1;a[s>>0]=47;a[s+1>>0]=0;tAa(z,s);w=1;v=0;x=c[z>>2]|0;h=c[z+4>>2]|0;break}if((g|0)!=1){tAa(z,A);i=c[z>>2]|0;h=c[z+4>>2]|0;x=a[y>>0]|0;w=x<<24>>24<0;switch(a[(w?c[A>>2]|0:A)+((w?c[m>>2]|0:x&255)+-1)>>0]|0){case 92:case 47:{w=1;v=0;x=i;break d}default:{}}w=1;v=1;x=i;break}wsa(z,A);Xma(s,A);k=z+11|0;x=a[k>>0]|0;if(((x<<24>>24<0?c[z+4>>2]|0:x&255)|0)==0?(x=a[s+11>>0]|0,((x<<24>>24<0?c[s+4>>2]|0:x&255)|0)!=0):0){switch(a[((a[y>>0]|0)<0?c[A>>2]|0:A)>>0]|0){case 92:case 47:{c[r>>2]=0;c[r+4>>2]=0;c[r+8>>2]=0;h=47;break}default:{c[r>>2]=0;c[r+4>>2]=0;c[r+8>>2]=0;h=46}}a[r+11>>0]=1;a[r>>0]=h;a[r+1>>0]=0;sAa(q,s,r,1);if((a[y>>0]|0)<0){a[c[A>>2]>>0]=0;c[m>>2]=0}else{a[A>>0]=0;a[y>>0]=0}D0a(A,0);c[A>>2]=c[q>>2];c[A+4>>2]=c[q+4>>2];c[A+8>>2]=c[q+8>>2];tAa(q,A);i=c[q>>2]|0;h=c[q+4>>2]|0;if((a[r+11>>0]|0)<0)l0a(c[r>>2]|0);j=1}else C=83;e:do if((C|0)==83){sAa(r,s,z,1);if((a[y>>0]|0)<0){a[c[A>>2]>>0]=0;c[m>>2]=0}else{a[A>>0]=0;a[y>>0]=0}D0a(A,0);c[A>>2]=c[r>>2];c[A+4>>2]=c[r+4>>2];c[A+8>>2]=c[r+8>>2];tAa(r,A);i=c[r>>2]|0;h=c[r+4>>2]|0;x=a[y>>0]|0;w=x<<24>>24<0;switch(a[(w?c[A>>2]|0:A)+((w?c[m>>2]|0:x&255)+-1)>>0]|0){case 92:case 47:{j=0;break e}default:{}}j=1}while(0);if((a[s+11>>0]|0)<0)l0a(c[s>>2]|0);if((a[k>>0]|0)<0)l0a(c[z>>2]|0);w=1;v=j<<24>>24!=0;x=i}while(0);if((C|0)==67){c[s>>2]=0;c[s+4>>2]=0;c[s+8>>2]=0;a[s+11>>0]=1;a[s>>0]=46;a[s+1>>0]=0;tAa(z,s);w=0;v=0;x=c[z>>2]|0;h=c[z+4>>2]|0}u=x;t=(u|0)==(h|0);f:do if(t){i=B+11|0;C=128}else{i=B+11|0;s=B+4|0;g:do if((g|0)==1){j=u;while(1){if(Asa(B,j)|0)break g;m=a[i>>0]|0;p=m<<24>>24<0;m=m&255;f=p?c[s>>2]|0:m;g=a[j+11>>0]|0;k=g<<24>>24<0;do if((f|0)==((k?c[j+4>>2]|0:g&255)|0)){o=c[B>>2]|0;e=p?o:B;k=k?c[j>>2]|0:j;n=(f|0)==0;o=o&255;if(p){if(n)break g;if(!(cOa(e,k,f)|0))break g;else break}if(n)break g;if((a[k>>0]|0)==o<<24>>24){n=B;do{m=m+-1|0;n=n+1|0;if(!m)break g;k=k+1|0}while((a[n>>0]|0)==(a[k>>0]|0))}}while(0);j=j+12|0;if((j|0)==(h|0)){C=128;break f}}}else{r=a[i>>0]|0;q=r<<24>>24<0;r=r&255;o=q?c[s>>2]|0:r;e=c[B>>2]|0;p=q?e:B;f=(o|0)==0;e=e&255;j=u;while(1){g=a[j+11>>0]|0;k=g<<24>>24<0;do if((o|0)==((k?c[j+4>>2]|0:g&255)|0)){k=k?c[j>>2]|0:j;if(q){if(f)break g;if(!(cOa(p,k,o)|0))break g;else break}if(f)break g;if((a[k>>0]|0)==e<<24>>24){m=B;n=r;do{n=n+-1|0;m=m+1|0;if(!n)break g;k=k+1|0}while((a[m>>0]|0)==(a[k>>0]|0))}}while(0);j=j+12|0;if((j|0)==(h|0)){C=128;break f}}}while(0);if(!w){t0a(d,j);break}if(!v){xM(d,A,j);break}uma(z,A,47);g=a[j+11>>0]|0;w=g<<24>>24<0;g=I0a(z,w?c[j>>2]|0:j,w?c[j+4>>2]|0:g&255)|0;c[d>>2]=c[g>>2];c[d+4>>2]=c[g+4>>2];c[d+8>>2]=c[g+8>>2];c[g>>2]=0;c[g+4>>2]=0;c[g+8>>2]=0;if((a[z+11>>0]|0)<0)l0a(c[z>>2]|0)}while(0);if((C|0)==128){c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0}if((a[i>>0]|0)<0)l0a(c[B>>2]|0);if((a[y>>0]|0)<0)l0a(c[A>>2]|0);if(!x){l=D;return}if(!t)do{h=h+-12|0;if((a[h+11>>0]|0)<0)l0a(c[h>>2]|0)}while((h|0)!=(u|0));l0a(x);l=D;return}function tAa(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0;p=l;l=l+16|0;k=p;c[b>>2]=0;m=b+4|0;c[m>>2]=0;n=b+8|0;c[n>>2]=0;g=uQa((a[d+11>>0]|0)<0?c[d>>2]|0:d)|0;if(!g){l=p;return}h=k+11|0;i=k+8|0;j=k+4|0;while(1){d=wQa(g)|0;if(!d)break;e=d+11|0;c[k>>2]=0;c[k+4>>2]=0;c[k+8>>2]=0;f=VNa(e)|0;if(f>>>0>4294967279){o=5;break}if(f>>>0<11){a[h>>0]=f;if(!f)d=k;else{d=k;o=9}}else{o=f+16&-16;d=j0a(o)|0;c[k>>2]=d;c[i>>2]=o|-2147483648;c[j>>2]=f;o=9}if((o|0)==9){o=0;x2a(d|0,e|0,f|0)|0}a[d+f>>0]=0;d=c[m>>2]|0;if(d>>>0>=(c[n>>2]|0)>>>0){Zp(b,k);if((a[h>>0]|0)<0)l0a(c[k>>2]|0)}else{c[d>>2]=c[k>>2];c[d+4>>2]=c[k+4>>2];c[d+8>>2]=c[k+8>>2];c[k>>2]=0;c[k+4>>2]=0;c[k+8>>2]=0;c[m>>2]=(c[m>>2]|0)+12}}if((o|0)==5)r0a(k);vQa(g)|0;l=p;return}function uAa(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;f=Rla(0)|0;g=c[(Rla(0)|0)+160>>2]|0;if(g|0?(e=c[g+112>>2]|0,e|0):0){Sk[c[(c[e>>2]|0)+4>>2]&63](a,e,b,g,d);return}e=c[f+44>>2]|0;if(!e){Lsa(a,f,b,g,d);return}else{Sk[c[(c[e>>2]|0)+4>>2]&63](a,e,b,g,d);return}}function vAa(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=l;l=l+16|0;h=i;e=Jh(191353)|0;if(e|0){c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;f=VNa(e)|0;if(f>>>0>4294967279)r0a(h);if(f>>>0<11){a[h+11>>0]=f;if(!f)d=h;else{d=h;g=7}}else{g=f+16&-16;d=j0a(g)|0;c[h>>2]=d;c[h+8>>2]=g|-2147483648;c[h+4>>2]=f;g=7}if((g|0)==7)x2a(d|0,e|0,f|0)|0;a[d+f>>0]=0;qAa(h,b);if((a[h+11>>0]|0)<0)l0a(c[h>>2]|0)}d=j0a(32)|0;c[h>>2]=d;c[h+8>>2]=-2147483616;c[h+4>>2]=25;e=d;f=191369;g=e+25|0;do{a[e>>0]=a[f>>0]|0;e=e+1|0;f=f+1|0}while((e|0)<(g|0));a[d+25>>0]=0;qAa(h,b);if((a[h+11>>0]|0)>=0){l=i;return}l0a(c[h>>2]|0);l=i;return}function wAa(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=a+80|0;d=c[a+84>>2]|0;a:do if((d|0)==(h|0)){e=d;g=5}else{f=d;do{if((c[d+8>>2]|0)==(b|0)){e=f;g=5;break a}d=c[f+4>>2]|0;f=d}while((h|0)!=(f|0))}while(0);if((g|0)==5?(e|0)!=(h|0):0)return;d=(b|0)==0;if(!d){g=b+(c[(c[b>>2]|0)+-16>>2]|0)+8|0;c[g>>2]=(c[g>>2]|0)+1}e=j0a(12)|0;c[e>>2]=0;c[e+8>>2]=b;if(!d){g=b+(c[(c[b>>2]|0)+-16>>2]|0)+8|0;c[g>>2]=(c[g>>2]|0)+1}c[e+4>>2]=h;g=c[h>>2]|0;c[e>>2]=g;c[g+4>>2]=e;c[h>>2]=e;h=a+88|0;c[h>>2]=(c[h>>2]|0)+1;if(d)return;d=b+(c[(c[b>>2]|0)+-16>>2]|0)|0;b=d+8|0;h=c[b>>2]|0;c[b>>2]=h-1;if((h|0)!=1)return;UU(d,1,1);return}function xAa(){yAa(0);return}function yAa(a){a=a|0;Qb(66032,191395);Fb(66048,191400,1,1,0);Mb(66056,191405,1,-128,127);Mb(66072,191410,1,-128,127);Mb(66064,191422,1,0,255);Mb(66080,191436,2,-32768,32767);Mb(66088,191442,2,0,65535);Mb(66096,191457,4,-2147483648,2147483647);Mb(66104,191461,4,0,-1);Mb(66112,191474,4,-2147483648,2147483647);Mb(66120,191479,4,0,-1);Kb(66128,191493,4);Kb(66136,191499,8);Ob(42536,191506);Ob(64312,191518);Pb(64336,4,191551);Jb(42520,191564);Nb(64360,0,191580);Nb(64368,0,191610);Nb(64376,1,191647);Nb(64384,2,191686);Nb(64392,3,191717);Nb(64400,4,191757);Nb(64408,5,191786);Nb(64416,4,191824);Nb(64424,5,191854);Nb(64368,0,191893);Nb(64376,1,191925);Nb(64384,2,191958);Nb(64392,3,191991);Nb(64400,4,192025);Nb(64408,5,192058);Nb(64432,6,192092);Nb(64440,7,192123);Nb(64448,7,192155);return}function zAa(a){a=a|0;return _Na(c[a+4>>2]|0)|0}function AAa(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;A=l;l=l+64|0;y=A+8|0;k=A;q=A+52|0;s=A+56|0;t=A+48|0;m=A+44|0;u=A+40|0;v=A+36|0;w=A+32|0;c[u>>2]=0;c[v>>2]=0;c[w>>2]=0;if((BAa(21,u)|0)<0){z=0;l=A;return z|0}if((BAa(17,v)|0)<0){z=0;l=A;return z|0}if((BAa(18,w)|0)<0){z=0;l=A;return z|0}p=CAa(b)|0;if((p&2|0)==0|(c[u>>2]|0)!=4|(c[v>>2]|0)!=2|(c[w>>2]|0)!=0){DAa(21,4)|0;DAa(17,2)|0;DAa(18,0)|0;if((EAa(b,p|2)|0)>=0){o=1;z=6}}else{o=0;z=6}if((z|0)==6){f=FAa(1,324)|0;do if(!f)GAa(0)|0;else{r=FAa(1,308)|0;if(!r){HAa(f);GAa(0)|0;break}g=f+104|0;h=105744;i=g+84|0;do{c[g>>2]=c[h>>2];g=g+4|0;h=h+4|0}while((g|0)<(i|0));g=f+108|0;c[g>>2]=10;x=f+320|0;c[x>>2]=r;n=f+188|0;c[n>>2]=b;h=IAa(b)|0;c[r>>2]=h;if(!h){HAa(f);break}if((JAa(b,h)|0)<0){HAa(f);break}i=KAa(211466)|0;c[r+16>>2]=i;do if(i){i=KAa(209052)|0;c[r+20>>2]=i;if(i){i=KAa(210522)|0;c[r+24>>2]=i;if(i){i=KAa(209357)|0;c[r+28>>2]=i;if(i){i=KAa(211729)|0;c[r+32>>2]=i;if(i){i=KAa(211363)|0;c[r+36>>2]=i;if(i){i=KAa(211672)|0;c[r+40>>2]=i;if(i){i=KAa(210340)|0;c[r+44>>2]=i;if(i){i=KAa(208953)|0;c[r+48>>2]=i;if(i){i=KAa(209022)|0;c[r+52>>2]=i;if(!i){j=209022;z=68;break}i=KAa(210415)|0;c[r+56>>2]=i;if(!i){j=210415;z=68;break}i=KAa(210271)|0;c[r+60>>2]=i;if(!i){j=210271;z=68;break}i=KAa(209190)|0;c[r+64>>2]=i;if(!i){j=209190;z=68;break}i=KAa(211330)|0;c[r+68>>2]=i;if(!i){j=211330;z=68;break}i=KAa(211092)|0;c[r+72>>2]=i;if(!i){j=211092;z=68;break}i=KAa(211119)|0;c[r+76>>2]=i;if(!i){j=211119;z=68;break}i=KAa(211321)|0;c[r+80>>2]=i;if(!i){j=211321;z=68;break}i=KAa(211066)|0;c[r+84>>2]=i;if(!i){j=211066;z=68;break}i=KAa(211265)|0;c[r+88>>2]=i;if(!i){j=211265;z=68;break}i=KAa(210561)|0;c[r+92>>2]=i;if(!i){j=210561;z=68;break}i=KAa(209176)|0;c[r+96>>2]=i;if(!i){j=209176;z=68;break}i=KAa(209162)|0;c[r+100>>2]=i;if(!i){j=209162;z=68;break}i=KAa(209111)|0;c[r+104>>2]=i;if(!i){j=209111;z=68;break}i=KAa(211186)|0;c[r+108>>2]=i;if(!i){j=211186;z=68;break}i=KAa(209136)|0;c[r+112>>2]=i;if(!i){j=209136;z=68;break}i=KAa(210389)|0;c[r+116>>2]=i;if(!i){j=210389;z=68;break}i=KAa(210356)|0;c[r+120>>2]=i;if(!i){j=210356;z=68;break}i=KAa(210375)|0;c[r+124>>2]=i;if(!i){j=210375;z=68;break}i=KAa(209717)|0;c[r+128>>2]=i;if(!i){j=209717;z=68;break}i=KAa(210458)|0;c[r+132>>2]=i;if(!i){j=210458;z=68;break}i=KAa(209097)|0;c[r+136>>2]=i;if(!i){j=209097;z=68;break}i=KAa(209344)|0;c[r+140>>2]=i;if(!i){j=209344;z=68;break}i=KAa(211685)|0;c[r+144>>2]=i;if(!i){j=211685;z=68;break}i=KAa(211147)|0;c[r+148>>2]=i;if(!i){j=211147;z=68;break}i=KAa(210307)|0;c[r+152>>2]=i;if(!i){j=210307;z=68;break}i=KAa(209256)|0;c[r+156>>2]=i;if(!i){j=209256;z=68;break}i=KAa(209411)|0;c[r+160>>2]=i;if(!i){j=209411;z=68;break}i=KAa(209269)|0;c[r+164>>2]=i;if(!i){j=209269;z=68;break}i=KAa(209871)|0;c[r+168>>2]=i;if(!i){j=209871;z=68;break}i=KAa(209859)|0;c[r+172>>2]=i;if(!i){j=209859;z=68;break}i=KAa(210061)|0;c[r+176>>2]=i;if(!i){j=210061;z=68;break}i=KAa(208988)|0;c[r+180>>2]=i;if(!i){j=208988;z=68;break}i=KAa(211044)|0;c[r+184>>2]=i;if(!i){j=211044;z=68;break}i=KAa(211661)|0;c[r+188>>2]=i;if(!i){j=211661;z=68;break}i=KAa(210543)|0;c[r+192>>2]=i;if(!i){j=210543;z=68;break}i=KAa(210626)|0;c[r+196>>2]=i;if(!i){j=210626;z=68;break}i=KAa(211424)|0;c[r+200>>2]=i;if(!i){j=211424;z=68;break}i=KAa(210579)|0;c[r+204>>2]=i;if(!i){j=210579;z=68;break}i=KAa(210233)|0;c[r+208>>2]=i;if(!i){j=210233;z=68;break}i=KAa(210472)|0;c[r+212>>2]=i;if(!i){j=210472;z=68;break}i=KAa(209489)|0;c[r+216>>2]=i;if(!i){j=209489;z=68;break}i=KAa(210080)|0;c[r+220>>2]=i;if(!i){j=210080;z=68;break}i=KAa(209541)|0;c[r+224>>2]=i;if(!i){j=209541;z=68;break}i=KAa(209554)|0;c[r+228>>2]=i;if(!i){j=209554;z=68}}else{j=208953;z=68}}else{j=210340;z=68}}else{j=211672;z=68}}else{j=211363;z=68}}else{j=211729;z=68}}else{j=209357;z=68}}else{j=210522;z=68}}else{j=209052;z=68}}else{j=211466;z=68}while(0);if((z|0)==68?(i=LAa()|0,c[k>>2]=j,c[k+4>>2]=i,(MAa(192700,k)|0)<0):0){HAa(f);break}if(!(e&4))NAa(0)|0;else NAa(1)|0;if((OAa()|0)>0)c[g>>2]=c[g>>2]|4;if((BAa(20,m)|0)==0?c[m>>2]&1|0:0)c[r+4>>2]=1;c[m>>2]=0;i=r+112|0;Jk[c[i>>2]&1023](3379,m);c[f+180>>2]=c[m>>2];c[m>>2]=0;Jk[c[i>>2]&1023](3379,m);c[f+184>>2]=c[m>>2];Jk[c[i>>2]&1023](36345,q);Jk[c[r+100>>2]&1023](36346,s);g=c[q>>2]|0;if(a[s>>0]|0){g=g+1|0;c[q>>2]=g}g=FAa(g,4)|0;h=r+244|0;c[h>>2]=g;if(!g){HAa(f);GAa(0)|0;break}c[r+240>>2]=c[q>>2];Jk[c[i>>2]&1023](36344,g);if(a[s>>0]|0)c[(c[h>>2]|0)+((c[q>>2]|0)+-1<<2)>>2]=-1;c[r+232>>2]=0;Jk[c[i>>2]&1023](36006,t);c[r+236>>2]=c[t>>2];c[f+4>>2]=492;c[f+8>>2]=95;c[f+12>>2]=350;c[f+28>>2]=29;c[f+32>>2]=1;c[f+36>>2]=30;c[f+40>>2]=493;c[f+44>>2]=351;c[f+48>>2]=790;c[f+52>>2]=791;c[f+56>>2]=792;c[f+60>>2]=96;c[f+64>>2]=97;c[f+68>>2]=98;c[f+72>>2]=18;c[f+76>>2]=1;c[f+80>>2]=31;c[f+84>>2]=1080;c[f+88>>2]=494;c[f+92>>2]=1081;c[f+96>>2]=19;c[f+100>>2]=352;g=f+116|0;w=f+112|0;h=c[w>>2]|0;c[w>>2]=h+1;c[g+(h<<2)>>2]=842094169;h=c[w>>2]|0;c[w>>2]=h+1;c[g+(h<<2)>>2]=1448433993;h=c[w>>2]|0;c[w>>2]=h+1;c[g+(h<<2)>>2]=842094158;h=c[w>>2]|0;c[w>>2]=h+1;c[g+(h<<2)>>2]=825382478;h=c[x>>2]|0;g=c[h>>2]|0;do if((c[56497]|0)!=(g|0)){c[h+268>>2]=0;if((JAa(c[n>>2]|0,g)|0)>=0){c[56497]=c[h>>2];XAa(f)|0;g=c[x>>2]|0;if(!(c[g+4>>2]|0))break;g=g+108|0;do{}while((fk[c[g>>2]&7]()|0)!=0)}}else XAa(f)|0;while(0);c[h+8>>2]=-1;c[h+12>>2]=0;Bk[c[h+16>>2]&2047](33984);g=h+136|0;Jk[c[g>>2]&1023](3333,1);Jk[c[g>>2]&1023](3317,1);yk[c[h+40>>2]&3](+(d[h+272>>0]|0)*.003921568859368563,+(d[h+273>>0]|0)*.003921568859368563,+(d[h+274>>0]|0)*.003921568859368563,+(d[h+275>>0]|0)*.003921568859368563);Bk[c[h+84>>2]&2047](0);Bk[c[h+72>>2]&2047](1);g=c[x>>2]|0;if(!(c[g+4>>2]|0)){z=f;l=A;return z|0}j=g+108|0;g=fk[c[j>>2]&7]()|0;if(!g){z=f;l=A;return z|0}h=231036;do{a:do if(!h)z=100;else{if(!(a[h>>0]|0)){z=100;break}switch(g|0){case 1280:{i=192745;break a}case 1281:{i=192761;break a}case 1282:{i=192778;break a}case 1285:{i=192799;break a}default:{i=192816;break a}}}while(0);b:do if((z|0)==100){z=0;switch(g|0){case 1280:{h=192737;i=192745;break b}case 1281:{h=192737;i=192761;break b}case 1282:{h=192737;i=192778;break b}case 1285:{h=192737;i=192799;break b}default:{h=192737;i=192816;break b}}}while(0);c[y>>2]=h;c[y+4>>2]=192850;c[y+8>>2]=1954;c[y+12>>2]=192943;c[y+16>>2]=i;c[y+20>>2]=g;MAa(192824,y)|0;g=fk[c[j>>2]&7]()|0}while((g|0)!=0);l=A;return f|0}while(0);if(!o){z=0;l=A;return z|0}}DAa(21,c[u>>2]|0)|0;DAa(17,c[v>>2]|0)|0;DAa(18,c[w>>2]|0)|0;EAa(b,p)|0;z=0;l=A;return z|0}function BAa(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;u=l;l=l+112|0;t=u+88|0;s=u+80|0;r=u+72|0;q=u+64|0;p=u+56|0;o=u+48|0;n=u+40|0;m=u+32|0;k=u+24|0;j=u+16|0;i=u+8|0;h=u;d=u+104|0;e=u+100|0;f=u+96|0;g=u+92|0;c[b>>2]=0;do switch(a|0){case 0:{e=3410;break}case 2:{e=3412;break}case 1:{e=3411;break}case 3:{e=3413;break}case 5:{c[b>>2]=c[(c[56498]|0)+320>>2];t=0;l=u;return t|0}case 6:{e=3414;break}case 7:{e=3415;break}case 12:case 11:case 10:case 9:case 8:{c[b>>2]=0;t=0;l=u;return t|0}case 13:{e=32936;break}case 14:{e=32937;break}case 24:{e=33531;break}case 4:{c[d>>2]=0;c[e>>2]=0;c[f>>2]=0;c[g>>2]=0;if((((BAa(0,d)|0)>=0?(BAa(1,e)|0)>=0:0)?(BAa(2,f)|0)>=0:0)?(BAa(3,g)|0)>=0:0){c[b>>2]=(c[e>>2]|0)+(c[d>>2]|0)+(c[f>>2]|0)+(c[g>>2]|0);a=0}else a=-1;t=a;l=u;return t|0}case 15:{c[b>>2]=(c[(c[56498]|0)+352>>2]|0)!=0&1;t=0;l=u;return t|0}case 16:{c[b>>2]=c[(c[56498]|0)+384>>2];t=0;l=u;return t|0}case 17:{c[b>>2]=c[(c[56498]|0)+356>>2];t=0;l=u;return t|0}case 18:{c[b>>2]=c[(c[56498]|0)+360>>2];t=0;l=u;return t|0}case 19:{c[b>>2]=(c[(c[56498]|0)+368>>2]|0)==4&1;t=0;l=u;return t|0}case 20:{c[b>>2]=c[(c[56498]|0)+364>>2];t=0;l=u;return t|0}case 21:{c[b>>2]=c[(c[56498]|0)+368>>2];t=0;l=u;return t|0}case 22:{c[b>>2]=c[(c[56498]|0)+372>>2];t=0;l=u;return t|0}case 23:{c[b>>2]=c[(c[56498]|0)+380>>2];t=0;l=u;return t|0}default:{t=MAa(195749,h)|0;l=u;return t|0}}while(0);d=c[56498]|0;do if(d){a=c[d+168>>2]|0;if(!a){MAa(195009,k)|0;break}if(!(c[d+388>>2]|0)){MAa(194980,j)|0;break}a=kk[a&511](d,209136)|0;if(a|0){Jk[a&1023](e,b);d=c[56498]|0;do if(d){a=c[d+168>>2]|0;if(!a){MAa(195009,p)|0;break}if(!(c[d+388>>2]|0)){MAa(194980,o)|0;break}a=kk[a&511](d,211186)|0;if(a|0){a=fk[a&7]()|0;switch(a|0){case 1280:{t=MAa(195867,r)|0;l=u;return t|0}case 1281:{t=MAa(195897,s)|0;l=u;return t|0}case 0:{t=a;l=u;return t|0}default:{c[t>>2]=a;t=MAa(195928,t)|0;l=u;return t|0}}}}else MAa(192981,n)|0;while(0);t=MAa(195822,q)|0;l=u;return t|0}}else MAa(192981,i)|0;while(0);t=MAa(195774,m)|0;l=u;return t|0}function CAa(a){a=a|0;var b=0,d=0,e=0;e=l;l=l+16|0;d=e+8|0;b=c[56498]|0;if(!b){MAa(192981,e)|0;d=0;l=e;return d|0}if(a|0?(c[a>>2]|0)==(b+280|0):0){d=c[a+48>>2]|0;l=e;return d|0}MAa(208472,d)|0;d=0;l=e;return d|0}function DAa(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=l;l=l+32|0;g=h+24|0;f=h+16|0;e=h+8|0;d=c[56498]|0;a:do if(!d)a=MAa(192981,h)|0;else do switch(a|0){case 0:{c[d+292>>2]=b;a=0;break a}case 1:{c[d+296>>2]=b;a=0;break a}case 2:{c[d+300>>2]=b;a=0;break a}case 3:{c[d+304>>2]=b;a=0;break a}case 5:{c[d+320>>2]=b;a=0;break a}case 4:{c[d+312>>2]=b;a=0;break a}case 6:{c[d+308>>2]=b;a=0;break a}case 7:{c[d+316>>2]=b;a=0;break a}case 8:{c[d+324>>2]=b;a=0;break a}case 9:{c[d+328>>2]=b;a=0;break a}case 10:{c[d+332>>2]=b;a=0;break a}case 11:{c[d+336>>2]=b;a=0;break a}case 12:{c[d+340>>2]=b;a=0;break a}case 13:{c[d+344>>2]=b;a=0;break a}case 14:{c[d+348>>2]=b;a=0;break a}case 15:{c[d+352>>2]=b;a=0;break a}case 16:{c[d+384>>2]=b;a=0;break a}case 17:{c[d+356>>2]=b;a=0;break a}case 18:{c[d+360>>2]=b;a=0;break a}case 19:{a=d+368|0;if(!b){c[a>>2]=0;a=0;break a}else{c[a>>2]=4;a=0;break a}}case 20:if(b>>>0>15){c[e>>2]=b;a=MAa(195684,e)|0;break a}else{c[d+364>>2]=b;a=0;break a}case 21:switch(b|0){case 0:case 1:case 2:case 4:{c[d+368>>2]=b;a=0;break a}default:{c[f>>2]=b;a=MAa(195715,f)|0;break a}}case 22:{c[d+372>>2]=b;a=0;break a}case 23:{c[d+380>>2]=b;a=0;break a}case 24:{c[d+376>>2]=b;a=0;break a}default:{a=MAa(195749,g)|0;break a}}while(0);while(0);l=h;return a|0}
  6569. function Zk(a){a=a|0;var b=0;b=l;l=l+a|0;l=l+15&-16;return b|0}function _k(){return l|0}function $k(a){a=a|0;l=a}function al(a,b){a=a|0;b=b|0;l=a;m=b}function bl(a,b){a=a|0;b=b|0;if(!n){n=a;o=b}}function cl(a){a=a|0;y=a}function dl(){return y|0}function el(a){a=a|0;var b=0,d=0,e=0;b=l;l=l+16|0;e=b;d=Wb(111064)|0;Aq(e,d,111068,a);Vb(c[e>>2]|0);Vb(d|0);l=b;return}function fl(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;g=l;l=l+4112|0;h=g+4096|0;f=g;c[h>>2]=e;VOa(f,4096,d,h)|0;c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;d=VNa(f)|0;if(d>>>0>4294967279)r0a(b);if(d>>>0<11){a[b+11>>0]=d;if(!d){h=b;h=h+d|0;a[h>>0]=0;l=g;return}}else{e=d+16&-16;h=j0a(e)|0;c[b>>2]=h;c[b+8>>2]=e|-2147483648;c[b+4>>2]=d;b=h}x2a(b|0,f|0,d|0)|0;h=b;h=h+d|0;a[h>>0]=0;l=g;return}function gl(a,b){a=a|0;b=b|0;var d=0,e=0;d=a+4|0;e=c[d>>2]|0;if((e|0)==(c[a+8>>2]|0)){zq(a,b);return}else{t0a(e,b);c[d>>2]=(c[d>>2]|0)+12;return}}function hl(){var b=0,d=0,e=0,f=0,g=0,h=0;h=l;l=l+64|0;f=h;if(!(c[56335]|0)){l=h;return}e=(CNa(f)|0)==0;d=c[c[56335]>>2]|0;b=d+20|0;if(!e)do{b=c[(c[(c[b>>2]|0)+120>>2]|0)+624>>2]|0;do if(b|0?(g=y1a(b,44864,58744,0)|0,g|0):0){b=c[g+136>>2]|0;e=d+12|0;if(((c[f>>2]|0)+-1792|0)>>>0>=3){if(!(a[e>>0]|0)){ql(d,f,b)|0;break}}else a[e>>0]=1;rl(d,f,b)|0}while(0);e=(CNa(f)|0)==0;d=c[c[56335]>>2]|0;b=d+20|0}while(!e);g=c[b>>2]|0;Ck[c[(c[g>>2]|0)+64>>2]&15](g,1797693134862315708145274.0e284);l=h;return}function il(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;j=l;l=l+16|0;i=j+8|0;g=j;h=c[(c[c[56335]>>2]|0)+24>>2]|0;f=tl(h+12|0,d)|0;if((f|0)==(h+16|0)){c[g>>2]=(a[d+11>>0]|0)<0?c[d>>2]|0:d;sl(h,111130,g);c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;l=j;return}f=c[(c[f+28>>2]|0)+16>>2]|0;if(!f){c[i>>2]=(a[d+11>>0]|0)<0?c[d>>2]|0:d;sl(h,111165,i);c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;l=j;return}else{Qk[c[(c[f>>2]|0)+24>>2]&127](b,f,d,e);l=j;return}}function jl(a){a=a|0;Gb(42592,42616,42632,0,115128,786,115131,0,115131,0,a|0,115133,1074);Hb(42592,1,67716,115128,787,3);a=j0a(8)|0;c[a>>2]=490;c[a+4>>2]=0;Ib(42592,114706,3,67720,115136,134,a|0,0);a=j0a(8)|0;c[a>>2]=135;c[a+4>>2]=0;Ib(42592,114716,4,16,115141,58,a|0,0);a=j0a(8)|0;c[a>>2]=788;c[a+4>>2]=0;Ib(42592,114723,2,67732,115147,349,a|0,0);a=j0a(4)|0;c[a>>2]=136;Ib(42592,114728,3,67740,115151,91,a|0,0);a=j0a(4)|0;c[a>>2]=92;Ib(42592,114732,4,32,115156,17,a|0,0);return}function kl(){var a=0,b=0,d=0;a=l;l=l+16|0;d=a;b=Wb(111064)|0;Rq(d,b,111102);Vb(c[d>>2]|0);Vb(b|0);l=a;return}function ll(a,b){a=a|0;b=b|0;var d=0,e=0;e=l;l=l+16|0;b=e+4|0;c[b+4>>2]=0;c[b+8>>2]=0;d=b+4|0;c[b>>2]=d;a=j0a(28)|0;ml(a,b);c[56335]=a;if(nl(c[a>>2]|0,a+4|0,800,600)|0){ol(c[c[56335]>>2]|0);kl();vh(3,-1,0);a=0}else{PQa(111117,e)|0;a=1}yq(b,c[d>>2]|0);l=e;return a|0}function ml(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=l;l=l+144|0;s=t+96|0;j=t+120|0;o=t+72|0;p=t+48|0;q=t+24|0;r=t;e=b+4|0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;d=j0a(32)|0;c[e>>2]=d;c[b+12>>2]=-2147483616;c[b+8>>2]=18;k=d;m=111200;n=k+18|0;do{a[k>>0]=a[m>>0]|0;k=k+1|0;m=m+1|0}while((k|0)<(n|0));a[d+18>>0]=0;g=b+16|0;h=b+20|0;c[h>>2]=0;i=b+24|0;c[i>>2]=0;c[g>>2]=b+20;d=j0a(80)|0;vl(d,e);c[b>>2]=d;c[j>>2]=0;c[j+4>>2]=0;c[j+8>>2]=0;d=j0a(64)|0;c[j>>2]=d;c[j+8>>2]=-2147483584;c[j+4>>2]=54;k=d;m=111437;n=k+54|0;do{a[k>>0]=a[m>>0]|0;k=k+1|0;m=m+1|0}while((k|0)<(n|0));a[d+54>>0]=0;f=ep(g,s,j)|0;d=c[f>>2]|0;if(!d){d=j0a(40)|0;e=d+16|0;c[e>>2]=c[j>>2];c[e+4>>2]=c[j+4>>2];c[e+8>>2]=c[j+8>>2];c[j>>2]=0;c[j+4>>2]=0;c[j+8>>2]=0;e=d+28|0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;e=c[s>>2]|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=e;c[f>>2]=d;e=c[c[g>>2]>>2]|0;if(!e)e=d;else{c[g>>2]=e;e=c[f>>2]|0}fp(c[h>>2]|0,e);c[i>>2]=(c[i>>2]|0)+1}E0a(d+28|0,111219)|0;if((a[j+11>>0]|0)<0)l0a(c[j>>2]|0);e=c[b>>2]|0;c[s>>2]=0;c[s+4>>2]=0;c[s+8>>2]=0;d=j0a(32)|0;c[s>>2]=d;c[s+8>>2]=-2147483616;c[s+4>>2]=17;k=d;m=111492;n=k+17|0;do{a[k>>0]=a[m>>0]|0;k=k+1|0;m=m+1|0}while((k|0)<(n|0));a[d+17>>0]=0;f=b;d=o+16|0;c[o>>2]=67400;c[o+4>>2]=f;c[d>>2]=o;wl(e,s,o);d=c[d>>2]|0;if((o|0)!=(d|0)){if(d|0)Bk[c[(c[d>>2]|0)+20>>2]&2047](d)}else Bk[c[(c[d>>2]|0)+16>>2]&2047](d);if((a[s+11>>0]|0)<0)l0a(c[s>>2]|0);d=c[b>>2]|0;c[s>>2]=0;c[s+4>>2]=0;c[s+8>>2]=0;e=j0a(16)|0;c[s>>2]=e;c[s+8>>2]=-2147483632;c[s+4>>2]=14;k=e;m=111510;n=k+14|0;do{a[k>>0]=a[m>>0]|0;k=k+1|0;m=m+1|0}while((k|0)<(n|0));a[e+14>>0]=0;o=p+16|0;c[p>>2]=67444;c[p+4>>2]=f;c[o>>2]=p;wl(d,s,p);d=c[o>>2]|0;if((p|0)!=(d|0)){if(d|0)Bk[c[(c[d>>2]|0)+20>>2]&2047](d)}else Bk[c[(c[d>>2]|0)+16>>2]&2047](d);if((a[s+11>>0]|0)<0)l0a(c[s>>2]|0);p=(c[(c[b>>2]|0)+16>>2]|0)+32|0;d=s+16|0;c[s>>2]=67488;c[d>>2]=s;Fp(s,p);d=c[d>>2]|0;if((s|0)!=(d|0)){if(d|0)Bk[c[(c[d>>2]|0)+20>>2]&2047](d)}else Bk[c[(c[d>>2]|0)+16>>2]&2047](d);e=c[b>>2]|0;c[s>>2]=0;c[s+4>>2]=0;c[s+8>>2]=0;d=j0a(32)|0;c[s>>2]=d;c[s+8>>2]=-2147483616;c[s+4>>2]=20;k=d;m=111525;n=k+20|0;do{a[k>>0]=a[m>>0]|0;k=k+1|0;m=m+1|0}while((k|0)<(n|0));a[d+20>>0]=0;d=q+16|0;c[q>>2]=67532;c[q+4>>2]=f;c[d>>2]=q;wl(e,s,q);d=c[d>>2]|0;if((q|0)!=(d|0)){if(d|0)Bk[c[(c[d>>2]|0)+20>>2]&2047](d)}else Bk[c[(c[d>>2]|0)+16>>2]&2047](d);if((a[s+11>>0]|0)<0)l0a(c[s>>2]|0);q=(c[(c[b>>2]|0)+16>>2]|0)+72|0;d=s+16|0;c[s>>2]=67576;c[d>>2]=s;Fp(s,q);d=c[d>>2]|0;if((s|0)!=(d|0)){if(d|0)Bk[c[(c[d>>2]|0)+20>>2]&2047](d)}else Bk[c[(c[d>>2]|0)+16>>2]&2047](d);d=c[b>>2]|0;c[s>>2]=0;c[s+4>>2]=0;c[s+8>>2]=0;e=j0a(16)|0;c[s>>2]=e;c[s+8>>2]=-2147483632;c[s+4>>2]=11;k=e;m=111546;n=k+11|0;do{a[k>>0]=a[m>>0]|0;k=k+1|0;m=m+1|0}while((k|0)<(n|0));a[e+11>>0]=0;q=r+16|0;c[r>>2]=67620;c[r+4>>2]=f;c[q>>2]=r;wl(d,s,r);d=c[q>>2]|0;if((r|0)!=(d|0)){if(d|0)Bk[c[(c[d>>2]|0)+20>>2]&2047](d)}else Bk[c[(c[d>>2]|0)+16>>2]&2047](d);if((a[s+11>>0]|0)<0)l0a(c[s>>2]|0);b=(c[b>>2]|0)+40|0;d=s+16|0;c[s>>2]=67664;c[d>>2]=s;Fp(s,b);d=c[d>>2]|0;if((s|0)==(d|0)){Bk[c[(c[d>>2]|0)+16>>2]&2047](d);l=t;return}if(!d){l=t;return}Bk[c[(c[d>>2]|0)+20>>2]&2047](d);l=t;return}function nl(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0;h=l;l=l+16|0;g=h;DAa(0,5)|0;DAa(1,5)|0;DAa(2,5)|0;DAa(6,16)|0;DAa(5,1)|0;d=DNa((a[d+11>>0]|0)<0?c[d>>2]|0:d,805240832,805240832,e,f,2)|0;c[b+72>>2]=d;if(!d){c[g>>2]=LAa()|0;xq(b,111625,g);g=0;l=h;return g|0}else{IAa(d)|0;g=c[b+20>>2]|0;pk[c[(c[g>>2]|0)+168>>2]&63](g,0,0,e,f)|0;c[b+64>>2]=e;c[b+68>>2]=f;g=1;l=h;return g|0}return 0}function ol(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,i=0,j=0;j=l;l=l+16|0;b=j+8|0;d=j;if((Lc(114575,b|0,d|0)|0)<=-1){l=j;return}f=~~+h[b>>3];g=~~+h[d>>3];i=a+72|0;HFa(c[i>>2]|0,b,d);if(!((c[b>>2]|0)==(f|0)?(c[d>>2]|0)==(g|0):0)?(ENa(c[i>>2]|0,f,g),e=c[a+20>>2]|0,pk[c[(c[e>>2]|0)+168>>2]&63](e,0,0,f,g)|0,c[a+64>>2]=f,c[a+68>>2]=g,e=c[a+56>>2]|0,e|0):0)Bk[c[(c[e>>2]|0)+24>>2]&2047](e);l=j;return}function pl(a){a=a|0;eb(a|0)|0;G1a()}function ql(a,b,e){a=a|0;b=b|0;e=e|0;var f=0.0,g=0,i=0,j=0,k=0.0,l=0,m=0.0;switch(c[b>>2]|0){case 1024:{m=+(c[b+20>>2]|0);k=+((c[b+24>>2]|0)-(c[a+68>>2]|0)|0);a=fia()|0;g=e+24|0;b=c[g>>2]|0;g=c[g+4>>2]|0;i=gia(fia()|0)|0;j=y;if(j>>>0>g>>>0|(j|0)==(g|0)&i>>>0>b>>>0){l=q2a(i|0,j|0,b|0,g|0)|0;f=+h[a+8>>3]*(+(l>>>0)+4294967296.0*+(y>>>0))}else{l=q2a(b|0,g|0,i|0,j|0)|0;f=-(+h[a+8>>3]*(+(l>>>0)+4294967296.0*+(y>>>0)))}Fja(e,m,k,f)|0;e=1;return e|0}case 1025:{m=+(c[b+20>>2]|0);k=+((c[b+24>>2]|0)-(c[a+68>>2]|0)|0);l=d[b+16>>0]|0;a=fia()|0;g=e+24|0;b=c[g>>2]|0;g=c[g+4>>2]|0;i=gia(fia()|0)|0;j=y;if(j>>>0>g>>>0|(j|0)==(g|0)&i>>>0>b>>>0){j=q2a(i|0,j|0,b|0,g|0)|0;f=+h[a+8>>3]*(+(j>>>0)+4294967296.0*+(y>>>0))}else{j=q2a(b|0,g|0,i|0,j|0)|0;f=-(+h[a+8>>3]*(+(j>>>0)+4294967296.0*+(y>>>0)))}Gja(e,m,k,l,f)|0;e=1;return e|0}case 1026:{m=+(c[b+20>>2]|0);k=+((c[b+24>>2]|0)-(c[a+68>>2]|0)|0);l=d[b+16>>0]|0;j=fia()|0;b=e+24|0;a=c[b>>2]|0;b=c[b+4>>2]|0;g=gia(fia()|0)|0;i=y;if(i>>>0>b>>>0|(i|0)==(b|0)&g>>>0>a>>>0){i=q2a(g|0,i|0,a|0,b|0)|0;f=+h[j+8>>3]*(+(i>>>0)+4294967296.0*+(y>>>0))}else{i=q2a(a|0,b|0,g|0,i|0)|0;f=-(+h[j+8>>3]*(+(i>>>0)+4294967296.0*+(y>>>0)))}Hja(e,m,k,l,f)|0;e=1;return e|0}default:{e=0;return e|0}}return 0}function rl(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,f=0,i=0,j=0,k=0,l=0;l=~~(+g[b+24>>2]*+(c[a+64>>2]|0));k=c[a+68>>2]|0;k=~~(+g[b+28>>2]*+(k|0))-k|0;switch(c[b>>2]|0){case 1794:{a=fia()|0;f=d+24|0;b=c[f>>2]|0;f=c[f+4>>2]|0;i=gia(fia()|0)|0;j=y;if(j>>>0>f>>>0|(j|0)==(f|0)&i>>>0>b>>>0){j=q2a(i|0,j|0,b|0,f|0)|0;e=+h[a+8>>3]*(+(j>>>0)+4294967296.0*+(y>>>0))}else{j=q2a(b|0,f|0,i|0,j|0)|0;e=-(+h[a+8>>3]*(+(j>>>0)+4294967296.0*+(y>>>0)))}Fja(d,+(l|0),+(k|0),e)|0;l=1;return l|0}case 1792:{a=fia()|0;f=d+24|0;b=c[f>>2]|0;f=c[f+4>>2]|0;i=gia(fia()|0)|0;j=y;if(j>>>0>f>>>0|(j|0)==(f|0)&i>>>0>b>>>0){j=q2a(i|0,j|0,b|0,f|0)|0;e=+h[a+8>>3]*(+(j>>>0)+4294967296.0*+(y>>>0))}else{j=q2a(b|0,f|0,i|0,j|0)|0;e=-(+h[a+8>>3]*(+(j>>>0)+4294967296.0*+(y>>>0)))}Gja(d,+(l|0),+(k|0),1,e)|0;l=1;return l|0}case 1793:{a=fia()|0;f=d+24|0;b=c[f>>2]|0;f=c[f+4>>2]|0;i=gia(fia()|0)|0;j=y;if(j>>>0>f>>>0|(j|0)==(f|0)&i>>>0>b>>>0){j=q2a(i|0,j|0,b|0,f|0)|0;e=+h[a+8>>3]*(+(j>>>0)+4294967296.0*+(y>>>0))}else{j=q2a(b|0,f|0,i|0,j|0)|0;e=-(+h[a+8>>3]*(+(j>>>0)+4294967296.0*+(y>>>0)))}Hja(d,+(l|0),+(k|0),1,e)|0;l=1;return l|0}default:{l=0;return l|0}}return 0}function sl(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;k=l;l=l+32|0;i=k+16|0;j=k;c[i>>2]=0;c[i+4>>2]=0;c[i+8>>2]=0;g=VNa(d)|0;if(g>>>0>4294967279)r0a(i);if(g>>>0<11){a[i+11>>0]=g;if(!g)f=i;else{f=i;h=6}}else{h=g+16&-16;f=j0a(h)|0;c[i>>2]=f;c[i+8>>2]=h|-2147483648;c[i+4>>2]=g;h=6}if((h|0)==6)x2a(f|0,d|0,g|0)|0;a[f+g>>0]=0;f=ul(b,i)|0;if((a[i+11>>0]|0)<0)l0a(c[i>>2]|0);if((f|0)==(b+4|0)){XQa(d)|0;l=k;return}t0a(i,f+28|0);c[j>>2]=e;e=i+11|0;cRa((a[e>>0]|0)<0?c[i>>2]|0:i,j)|0;ZQa(10)|0;if((a[e>>0]|0)<0)l0a(c[i>>2]|0);l=k;return}function tl(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;m=b+4|0;e=c[m>>2]|0;do if(e|0){l=a[d+11>>0]|0;k=l<<24>>24<0;l=k?c[d+4>>2]|0:l&255;k=k?c[d>>2]|0:d;b=m;do{f=e+16|0;h=a[f+11>>0]|0;g=h<<24>>24<0;h=g?c[e+20>>2]|0:h&255;i=l>>>0<h>>>0;d=i?l:h;if((d|0)!=0?(j=cOa(g?c[f>>2]|0:f,k,d)|0,(j|0)!=0):0)d=j;else d=h>>>0<l>>>0?-1:i&1;i=(d|0)<0;b=i?b:e;e=c[(i?e+4|0:e)>>2]|0}while((e|0)!=0);if((b|0)!=(m|0)){e=b+16|0;g=a[e+11>>0]|0;f=g<<24>>24<0;g=f?c[b+20>>2]|0:g&255;d=g>>>0<l>>>0?g:l;if(d|0?(n=cOa(k,f?c[e>>2]|0:e,d)|0,n|0):0){if((n|0)<0)break;return b|0}if(l>>>0>=g>>>0){n=b;return n|0}}}while(0);n=m;return n|0}function ul(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;m=b+4|0;e=c[m>>2]|0;do if(e|0){l=a[d+11>>0]|0;k=l<<24>>24<0;l=k?c[d+4>>2]|0:l&255;k=k?c[d>>2]|0:d;b=m;do{f=e+16|0;h=a[f+11>>0]|0;g=h<<24>>24<0;h=g?c[e+20>>2]|0:h&255;i=l>>>0<h>>>0;d=i?l:h;if((d|0)!=0?(j=cOa(g?c[f>>2]|0:f,k,d)|0,(j|0)!=0):0)d=j;else d=h>>>0<l>>>0?-1:i&1;i=(d|0)<0;b=i?b:e;e=c[(i?e+4|0:e)>>2]|0}while((e|0)!=0);if((b|0)!=(m|0)){e=b+16|0;g=a[e+11>>0]|0;f=g<<24>>24<0;g=f?c[b+20>>2]|0:g&255;d=g>>>0<l>>>0?g:l;if(d|0?(n=cOa(k,f?c[e>>2]|0:e,d)|0,n|0):0){if((n|0)<0)break;return b|0}if(l>>>0>=g>>>0){n=b;return n|0}}}while(0);n=m;return n|0}function vl(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0;n=l;l=l+16|0;h=n+12|0;k=n;i=b+4|0;c[i>>2]=0;j=b+8|0;c[j>>2]=0;c[b>>2]=b+4;a[b+12>>0]=0;m=b+16|0;c[m>>2]=0;c[b+28>>2]=0;c[b+32>>2]=0;c[b+36>>2]=0;c[b+56>>2]=0;c[b+72>>2]=0;c[k>>2]=0;c[k+4>>2]=0;c[k+8>>2]=0;d=j0a(32)|0;c[k>>2]=d;c[k+8>>2]=-2147483616;c[k+4>>2]=25;e=d;f=111625;g=e+25|0;do{a[e>>0]=a[f>>0]|0;e=e+1|0;f=f+1|0}while((e|0)<(g|0));a[d+25>>0]=0;f=ep(b,h,k)|0;d=c[f>>2]|0;if(!d){d=j0a(40)|0;e=d+16|0;c[e>>2]=c[k>>2];c[e+4>>2]=c[k+4>>2];c[e+8>>2]=c[k+8>>2];c[k>>2]=0;c[k+4>>2]=0;c[k+8>>2]=0;e=d+28|0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;e=c[h>>2]|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=e;c[f>>2]=d;e=c[c[b>>2]>>2]|0;if(!e)e=d;else{c[b>>2]=e;e=c[f>>2]|0}fp(c[i>>2]|0,e);c[j>>2]=(c[j>>2]|0)+1}E0a(d+28|0,111558)|0;if((a[k+11>>0]|0)<0)l0a(c[k>>2]|0);xl(b);d=j0a(24)|0;e=d+4|0;c[e>>2]=0;c[d+8>>2]=0;c[d>>2]=e;e=d+16|0;c[e>>2]=0;c[d+20>>2]=0;c[d+12>>2]=e;c[b+24>>2]=d;d=j0a(136)|0;e=d+104|0;Tha(e);k=d+116|0;c[k>>2]=0;c[k+4>>2]=0;c[k+8>>2]=0;c[d+128>>2]=2;c[d+132>>2]=0;c[d+100>>2]=0;c[d>>2]=66176;c[d+96>>2]=66428;c[e>>2]=66700;c[d+4>>2]=66272;e=d+12|0;c[e>>2]=0;c[d+16>>2]=0;c[d+8>>2]=e;c[d+20>>2]=0;c[d+24>>2]=0;c[d+48>>2]=0;c[d+56>>2]=0;c[d+60>>2]=0;c[d+64>>2]=0;c[d+88>>2]=0;e=c[m>>2]|0;if((e|0)==(d|0)){k=b+20|0;k=c[k>>2]|0;k=k+104|0;m=c[m>>2]|0;wAa(k,m);Ch(0,b|0,0,93)|0;l=n;return}c[m>>2]=d;k=d+112|0;c[k>>2]=(c[k>>2]|0)+1;if(!e){k=b+20|0;k=c[k>>2]|0;k=k+104|0;m=c[m>>2]|0;wAa(k,m);Ch(0,b|0,0,93)|0;l=n;return}d=e+(c[(c[e>>2]|0)+-16>>2]|0)|0;j=d+8|0;k=c[j>>2]|0;c[j>>2]=k-1;if((k|0)!=1){k=b+20|0;k=c[k>>2]|0;k=k+104|0;m=c[m>>2]|0;wAa(k,m);Ch(0,b|0,0,93)|0;l=n;return}UU(d,1,1);k=b+20|0;k=c[k>>2]|0;k=k+104|0;m=c[m>>2]|0;wAa(k,m);Ch(0,b|0,0,93)|0;l=n;return}function wl(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;k=l;l=l+48|0;i=k;h=k+36|0;j=k+24|0;g=j0a(24)|0;c[g+16>>2]=0;c[h>>2]=g;f=c[e+16>>2]|0;do if(f)if((e|0)==(f|0)){e=i+16|0;c[e>>2]=i;Jk[c[(c[f>>2]|0)+12>>2]&1023](f,i);break}else{e=i+16|0;c[e>>2]=gk[c[(c[f>>2]|0)+8>>2]&1023](f)|0;break}else{e=i+16|0;c[e>>2]=0}while(0);hp(i,g);e=c[e>>2]|0;if((i|0)!=(e|0)){if(e|0)Bk[c[(c[e>>2]|0)+20>>2]&2047](e)}else Bk[c[(c[e>>2]|0)+16>>2]&2047](e);e=b+32|0;f=c[e>>2]|0;if((f|0)==(c[b+36>>2]|0))ip(b+28|0,h);else{c[f>>2]=c[h>>2];c[e>>2]=(c[e>>2]|0)+4}f=c[b+24>>2]|0;t0a(j,d);c[i>>2]=0;g=i+4|0;c[g>>2]=0;b=i+8|0;c[b>>2]=0;d=j0a(12)|0;c[g>>2]=d;c[i>>2]=d;c[b>>2]=d+12;t0a(d,j);c[g>>2]=d+12;gp(f,i,c[h>>2]|0);f=c[i>>2]|0;if(f|0){e=c[g>>2]|0;if((e|0)==(f|0))e=f;else{do{e=e+-12|0;if((a[e+11>>0]|0)<0)l0a(c[e>>2]|0)}while((e|0)!=(f|0));e=c[i>>2]|0}c[g>>2]=f;l0a(e)}if((a[j+11>>0]|0)>=0){l=k;return}l0a(c[j>>2]|0);l=k;return}function xl(a){a=a|0;var b=0,d=0;d=j0a(272)|0;bza(d);b=a+20|0;c[b>>2]=d;Jk[c[(c[d>>2]|0)+32>>2]&1023](d,0);b=c[b>>2]|0;a=j0a(288)|0;Qja(a,5);xta(b+104|0,a,1);return}function yl(a){a=a|0;var b=0,d=0;b=j0a(48)|0;a=b+16|0;Tha(a);d=b+28|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[b+40>>2]=2;c[b+44>>2]=0;c[b+12>>2]=0;c[b>>2]=87792;c[b+8>>2]=88044;c[a>>2]=88316;c[b+4>>2]=87888;return a|0}function zl(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;e=j0a(48)|0;f=e+16|0;Or(f,a+(c[(c[a>>2]|0)+-16>>2]|0)|0,b);d=e+8|0;b=a+(c[(c[a>>2]|0)+-12>>2]|0)|0;c[d>>2]=61744;c[f>>2]=62016;b=c[b+4>>2]|0;c[e+12>>2]=b;if(!b){c[e>>2]=87792;c[d>>2]=88044;c[f>>2]=88316;e=e+4|0;c[e>>2]=87888;return f|0}a=b+(c[(c[b>>2]|0)+-12>>2]|0)+8|0;c[a>>2]=(c[a>>2]|0)+1;c[e>>2]=87792;c[d>>2]=88044;c[f>>2]=88316;e=e+4|0;c[e>>2]=87888;return f|0}function Al(a,b){a=a|0;b=b|0;if(!b){b=0;return b|0}b=(y1a(b,42800,48424,-1)|0)!=0;return b|0}function Bl(a){a=a|0;return 160078}function Cl(a){a=a|0;return 111682}function Dl(a){a=a|0;return a|0}function El(a){a=a|0;return a|0}function Fl(a,b,d){a=a|0;b=b|0;d=d|0;b=gk[c[(c[b>>2]|0)+32>>2]&1023](b)|0;d=gk[c[(c[d>>2]|0)+40>>2]&1023](d)|0;Nk[c[(c[a>>2]|0)+32>>2]&255](a,b,d);return 1}function Gl(a){a=a|0;return a+4|0}function Hl(a){a=a|0;return a+4|0}function Il(a){a=a|0;return a|0}function Jl(a){a=a|0;return a|0}function Kl(a,b){a=a|0;b=b|0;return}function Ll(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;return lk[c[(c[a>>2]|0)+76>>2]&127](a,b,d)|0}function Ml(a,b,c){a=a|0;b=b|0;c=c|0;return 0}function Nl(a){a=a|0;var b=0,d=0;b=j0a(48)|0;a=b+16|0;Tha(a);d=b+28|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[b+40>>2]=2;c[b+44>>2]=0;c[b+12>>2]=0;c[b>>2]=87792;c[b+8>>2]=88044;c[a>>2]=88316;c[b+4>>2]=87888;return a|0}function Ol(a,b){a=a|0;b=b|0;var d=0,e=0;a=a+-4|0;d=j0a(48)|0;e=d+16|0;Or(e,a+(c[(c[a>>2]|0)+-16>>2]|0)|0,b);b=d+8|0;a=a+(c[(c[a>>2]|0)+-12>>2]|0)|0;c[b>>2]=61744;c[e>>2]=62016;a=c[a+4>>2]|0;c[d+12>>2]=a;if(!a){c[d>>2]=87792;c[b>>2]=88044;c[e>>2]=88316;d=d+4|0;c[d>>2]=87888;return e|0}a=a+(c[(c[a>>2]|0)+-12>>2]|0)+8|0;c[a>>2]=(c[a>>2]|0)+1;c[d>>2]=87792;c[b>>2]=88044;c[e>>2]=88316;d=d+4|0;c[d>>2]=87888;return e|0}function Pl(a,b){a=a|0;b=b|0;if(!b){b=0;return b|0}b=(y1a(b,42800,48424,-1)|0)!=0;return b|0}function Ql(a){a=a|0;return 160078}function Rl(a){a=a|0;return 111682}function Sl(a){a=a|0;return a+-4+4|0}function Tl(a){a=a|0;return a+-4+4|0}function Ul(a,b,d){a=a|0;b=b|0;d=d|0;a=a+-4|0;b=gk[c[(c[b>>2]|0)+32>>2]&1023](b)|0;d=gk[c[(c[d>>2]|0)+40>>2]&1023](d)|0;Nk[c[(c[a>>2]|0)+32>>2]&255](a,b,d);return 1}function Vl(a){a=a|0;var b=0,d=0;b=j0a(48)|0;a=b+16|0;Tha(a);d=b+28|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[b+40>>2]=2;c[b+44>>2]=0;c[b+12>>2]=0;c[b>>2]=87792;c[b+8>>2]=88044;c[a>>2]=88316;c[b+4>>2]=87888;return a|0}function Wl(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=a+(c[(c[a>>2]|0)+-20>>2]|0)|0;d=j0a(48)|0;e=d+16|0;Or(e,f+(c[(c[f>>2]|0)+-16>>2]|0)|0,b);a=d+8|0;b=f+(c[(c[f>>2]|0)+-12>>2]|0)|0;c[a>>2]=61744;c[e>>2]=62016;b=c[b+4>>2]|0;c[d+12>>2]=b;if(!b){c[d>>2]=87792;c[a>>2]=88044;c[e>>2]=88316;f=d+4|0;c[f>>2]=87888;return e|0}f=b+(c[(c[b>>2]|0)+-12>>2]|0)+8|0;c[f>>2]=(c[f>>2]|0)+1;c[d>>2]=87792;c[a>>2]=88044;c[e>>2]=88316;f=d+4|0;c[f>>2]=87888;return e|0}function Xl(a,b){a=a|0;b=b|0;if(!b){b=0;return b|0}b=(y1a(b,42800,48424,-1)|0)!=0;return b|0}function Yl(a){a=a|0;return 160078}function Zl(a){a=a|0;return 111682}function _l(a){a=a|0;return a|0}function $l(a){a=a|0;return a|0}function am(a){a=a|0;return 0}function bm(a){a=a|0;return 0}function cm(a){a=a|0;return a+(c[(c[a>>2]|0)+-52>>2]|0)|0}function dm(a){a=a|0;return a+(c[(c[a>>2]|0)+-56>>2]|0)|0}function em(a){a=a|0;return 0}function fm(a){a=a|0;return 0}function gm(a){a=a|0;return 0}function hm(a){a=a|0;return 0}function im(a){a=a|0;return 0}function jm(a){a=a|0;return 0}function km(a){a=a|0;return a+(c[(c[a>>2]|0)+-84>>2]|0)+4|0}function lm(a){a=a|0;return a+(c[(c[a>>2]|0)+-88>>2]|0)+4|0}function mm(a){a=a|0;return 0}function nm(a){a=a|0;return 0}function om(a){a=a|0;return a+(c[(c[a>>2]|0)+-100>>2]|0)|0}function pm(a){a=a|0;return a+(c[(c[a>>2]|0)+-104>>2]|0)|0}function qm(a,b,d){a=a|0;b=b|0;d=d|0;a=a+(c[(c[a>>2]|0)+-108>>2]|0)|0;b=gk[c[(c[b>>2]|0)+32>>2]&1023](b)|0;d=gk[c[(c[d>>2]|0)+40>>2]&1023](d)|0;Nk[c[(c[a>>2]|0)+32>>2]&255](a,b,d);return 1}function rm(a){a=a|0;var b=0,d=0;b=j0a(48)|0;a=b+16|0;Tha(a);d=b+28|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[b+40>>2]=2;c[b+44>>2]=0;c[b+12>>2]=0;c[b>>2]=87792;c[b+8>>2]=88044;c[a>>2]=88316;c[b+4>>2]=87888;return a|0}function sm(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=a+(c[(c[a>>2]|0)+-24>>2]|0)|0;d=j0a(48)|0;e=d+16|0;Or(e,f+(c[(c[f>>2]|0)+-16>>2]|0)|0,b);a=d+8|0;b=f+(c[(c[f>>2]|0)+-12>>2]|0)|0;c[a>>2]=61744;c[e>>2]=62016;b=c[b+4>>2]|0;c[d+12>>2]=b;if(!b){c[d>>2]=87792;c[a>>2]=88044;c[e>>2]=88316;f=d+4|0;c[f>>2]=87888;return e|0}f=b+(c[(c[b>>2]|0)+-12>>2]|0)+8|0;c[f>>2]=(c[f>>2]|0)+1;c[d>>2]=87792;c[a>>2]=88044;c[e>>2]=88316;f=d+4|0;c[f>>2]=87888;return e|0}function tm(a,b){a=a|0;b=b|0;if(!b){b=0;return b|0}b=(y1a(b,42800,48424,-1)|0)!=0;return b|0}function um(a){a=a|0;return 160078}function vm(a){a=a|0;return 111682}function wm(a){a=a|0;return 0}function xm(a){a=a|0;return 0}function ym(a){a=a|0;return 0}function zm(a){a=a|0;return 0}function Am(a){a=a|0;return 0}function Bm(a){a=a|0;return 0}function Cm(a){a=a|0;return 0}function Dm(a){a=a|0;return 0}function Em(a){a=a|0;return 0}function Fm(a){a=a|0;return 0}function Gm(a){a=a|0;return 0}function Hm(a){a=a|0;return 0}function Im(a){a=a|0;return 0}function Jm(a){a=a|0;return 0}function Km(a){a=a|0;return 0}function Lm(a){a=a|0;return 0}function Mm(a){a=a|0;return a+(c[(c[a>>2]|0)+-104>>2]|0)|0}function Nm(a){a=a|0;return a+(c[(c[a>>2]|0)+-108>>2]|0)|0}function Om(a){a=a|0;return 0}function Pm(a){a=a|0;return 0}function Qm(a){a=a|0;return 0}function Rm(a){a=a|0;return 0}function Sm(a){a=a|0;return 0}function Tm(a){a=a|0;return 0}function Um(a){a=a|0;return 0}function Vm(a){a=a|0;return 0}function Wm(a,b){a=a|0;b=b|0;z0a(a+12|0,b)|0;return}function Xm(a){a=a|0;return}function Ym(a,b){a=a|0;b=b|0;return}function Zm(a,b){a=a|0;b=b|0;return}function _m(a){a=a|0;var b=0,d=0;b=j0a(48)|0;a=b+16|0;Tha(a);d=b+28|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[b+40>>2]=2;c[b+44>>2]=0;c[b+12>>2]=0;c[b>>2]=93984;c[b+8>>2]=94228;c[a>>2]=94500;c[b+4>>2]=94072;return a|0}function $m(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;e=j0a(48)|0;f=e+16|0;Or(f,a+(c[(c[a>>2]|0)+-16>>2]|0)|0,b);d=e+8|0;b=a+(c[(c[a>>2]|0)+-12>>2]|0)|0;c[d>>2]=61744;c[f>>2]=62016;b=c[b+4>>2]|0;c[e+12>>2]=b;if(!b){c[e>>2]=93984;c[d>>2]=94228;c[f>>2]=94500;e=e+4|0;c[e>>2]=94072;return f|0}a=b+(c[(c[b>>2]|0)+-12>>2]|0)+8|0;c[a>>2]=(c[a>>2]|0)+1;c[e>>2]=93984;c[d>>2]=94228;c[f>>2]=94500;e=e+4|0;c[e>>2]=94072;return f|0}function an(a,b){a=a|0;b=b|0;if(!b){b=0;return b|0}b=(y1a(b,42800,48440,-1)|0)!=0;return b|0}function bn(a){a=a|0;return 160078}function cn(a){a=a|0;return 111698}function dn(a){a=a|0;var b=0,d=0,e=0,f=0;b=a+8|0;c[b>>2]=61744;c[b+8>>2]=62016;b=a+12|0;d=c[b>>2]|0;if(d|0?(e=d+(c[(c[d>>2]|0)+-12>>2]|0)|0,f=e+8|0,d=c[f>>2]|0,c[f>>2]=d-1,(d|0)==1):0)UU(e,1,1);c[b>>2]=0;Pr(a+16|0);return}function en(a){a=a|0;var b=0,d=0,e=0,f=0;b=a+8|0;c[b>>2]=61744;c[b+8>>2]=62016;b=a+12|0;d=c[b>>2]|0;if(d|0?(e=d+(c[(c[d>>2]|0)+-12>>2]|0)|0,f=e+8|0,d=c[f>>2]|0,c[f>>2]=d-1,(d|0)==1):0)UU(e,1,1);c[b>>2]=0;Pr(a+16|0);l0a(a);return}function fn(a){a=a|0;var b=0,d=0;b=j0a(48)|0;a=b+16|0;Tha(a);d=b+28|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[b+40>>2]=2;c[b+44>>2]=0;c[b+12>>2]=0;c[b>>2]=93984;c[b+8>>2]=94228;c[a>>2]=94500;c[b+4>>2]=94072;return a|0}function gn(a,b){a=a|0;b=b|0;var d=0,e=0;a=a+-4|0;d=j0a(48)|0;e=d+16|0;Or(e,a+(c[(c[a>>2]|0)+-16>>2]|0)|0,b);b=d+8|0;a=a+(c[(c[a>>2]|0)+-12>>2]|0)|0;c[b>>2]=61744;c[e>>2]=62016;a=c[a+4>>2]|0;c[d+12>>2]=a;if(!a){c[d>>2]=93984;c[b>>2]=94228;c[e>>2]=94500;d=d+4|0;c[d>>2]=94072;return e|0}a=a+(c[(c[a>>2]|0)+-12>>2]|0)+8|0;c[a>>2]=(c[a>>2]|0)+1;c[d>>2]=93984;c[b>>2]=94228;c[e>>2]=94500;d=d+4|0;c[d>>2]=94072;return e|0}function hn(a,b){a=a|0;b=b|0;if(!b){b=0;return b|0}b=(y1a(b,42800,48440,-1)|0)!=0;return b|0}function jn(a){a=a|0;return 160078}function kn(a){a=a|0;return 111698}function ln(a){a=a|0;var b=0,d=0,e=0,f=0;b=a+-4|0;c[b+8>>2]=61744;a=b+16|0;c[a>>2]=62016;b=b+12|0;d=c[b>>2]|0;if(d|0?(e=d+(c[(c[d>>2]|0)+-12>>2]|0)|0,f=e+8|0,d=c[f>>2]|0,c[f>>2]=d-1,(d|0)==1):0)UU(e,1,1);c[b>>2]=0;Pr(a);return}function mn(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;a=a+-4|0;c[a+8>>2]=61744;b=a+16|0;c[b>>2]=62016;d=a+12|0;e=c[d>>2]|0;if(e|0?(f=e+(c[(c[e>>2]|0)+-12>>2]|0)|0,g=f+8|0,e=c[g>>2]|0,c[g>>2]=e-1,(e|0)==1):0)UU(f,1,1);c[d>>2]=0;Pr(b);l0a(a);return}function nn(a){a=a|0;var b=0,d=0;b=j0a(48)|0;a=b+16|0;Tha(a);d=b+28|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[b+40>>2]=2;c[b+44>>2]=0;c[b+12>>2]=0;c[b>>2]=93984;c[b+8>>2]=94228;c[a>>2]=94500;c[b+4>>2]=94072;return a|0}function on(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=a+(c[(c[a>>2]|0)+-20>>2]|0)|0;d=j0a(48)|0;e=d+16|0;Or(e,f+(c[(c[f>>2]|0)+-16>>2]|0)|0,b);a=d+8|0;b=f+(c[(c[f>>2]|0)+-12>>2]|0)|0;c[a>>2]=61744;c[e>>2]=62016;b=c[b+4>>2]|0;c[d+12>>2]=b;if(!b){c[d>>2]=93984;c[a>>2]=94228;c[e>>2]=94500;f=d+4|0;c[f>>2]=94072;return e|0}f=b+(c[(c[b>>2]|0)+-12>>2]|0)+8|0;c[f>>2]=(c[f>>2]|0)+1;c[d>>2]=93984;c[a>>2]=94228;c[e>>2]=94500;f=d+4|0;c[f>>2]=94072;return e|0}function pn(a,b){a=a|0;b=b|0;if(!b){b=0;return b|0}b=(y1a(b,42800,48440,-1)|0)!=0;return b|0}function qn(a){a=a|0;return 160078}function rn(a){a=a|0;return 111698}function sn(a){a=a|0;var b=0,d=0,e=0,f=0;a=a+(c[(c[a>>2]|0)+-112>>2]|0)|0;b=a+8|0;c[b>>2]=61744;c[b+8>>2]=62016;b=a+12|0;d=c[b>>2]|0;if(d|0?(e=d+(c[(c[d>>2]|0)+-12>>2]|0)|0,f=e+8|0,d=c[f>>2]|0,c[f>>2]=d-1,(d|0)==1):0)UU(e,1,1);c[b>>2]=0;Pr(a+16|0);return}function tn(a){a=a|0;var b=0,d=0,e=0,f=0;a=a+(c[(c[a>>2]|0)+-112>>2]|0)|0;b=a+8|0;c[b>>2]=61744;c[b+8>>2]=62016;b=a+12|0;d=c[b>>2]|0;if(d|0?(e=d+(c[(c[d>>2]|0)+-12>>2]|0)|0,f=e+8|0,d=c[f>>2]|0,c[f>>2]=d-1,(d|0)==1):0)UU(e,1,1);c[b>>2]=0;Pr(a+16|0);l0a(a);return}function un(a){a=a|0;var b=0,d=0,e=0,f=0;a=a+(c[(c[a>>2]|0)+-16>>2]|0)|0;b=a+8|0;c[b>>2]=61744;c[b+8>>2]=62016;b=a+12|0;d=c[b>>2]|0;if(d|0?(e=d+(c[(c[d>>2]|0)+-12>>2]|0)|0,f=e+8|0,d=c[f>>2]|0,c[f>>2]=d-1,(d|0)==1):0)UU(e,1,1);c[b>>2]=0;Pr(a+16|0);return}function vn(a){a=a|0;var b=0,d=0,e=0,f=0;a=a+(c[(c[a>>2]|0)+-16>>2]|0)|0;b=a+8|0;c[b>>2]=61744;c[b+8>>2]=62016;b=a+12|0;d=c[b>>2]|0;if(d|0?(e=d+(c[(c[d>>2]|0)+-12>>2]|0)|0,f=e+8|0,d=c[f>>2]|0,c[f>>2]=d-1,(d|0)==1):0)UU(e,1,1);c[b>>2]=0;Pr(a+16|0);l0a(a);return}function wn(a){a=a|0;var b=0,d=0;b=j0a(48)|0;a=b+16|0;Tha(a);d=b+28|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[b+40>>2]=2;c[b+44>>2]=0;c[b+12>>2]=0;c[b>>2]=93984;c[b+8>>2]=94228;c[a>>2]=94500;c[b+4>>2]=94072;return a|0}function xn(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=a+(c[(c[a>>2]|0)+-24>>2]|0)|0;d=j0a(48)|0;e=d+16|0;Or(e,f+(c[(c[f>>2]|0)+-16>>2]|0)|0,b);a=d+8|0;b=f+(c[(c[f>>2]|0)+-12>>2]|0)|0;c[a>>2]=61744;c[e>>2]=62016;b=c[b+4>>2]|0;c[d+12>>2]=b;if(!b){c[d>>2]=93984;c[a>>2]=94228;c[e>>2]=94500;f=d+4|0;c[f>>2]=94072;return e|0}f=b+(c[(c[b>>2]|0)+-12>>2]|0)+8|0;c[f>>2]=(c[f>>2]|0)+1;c[d>>2]=93984;c[a>>2]=94228;c[e>>2]=94500;f=d+4|0;c[f>>2]=94072;return e|0}function yn(a,b){a=a|0;b=b|0;if(!b){b=0;return b|0}b=(y1a(b,42800,48440,-1)|0)!=0;return b|0}function zn(a){a=a|0;return 160078}function An(a){a=a|0;return 111698}function Bn(a){a=a|0;var b=0,d=0;b=j0a(44)|0;a=b+12|0;Tha(a);d=b+24|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[b+36>>2]=2;c[b+40>>2]=0;c[b+8>>2]=0;c[b>>2]=78904;c[b+4>>2]=79060;c[a>>2]=79332;return a|0}function Cn(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;e=j0a(44)|0;f=e+12|0;Or(f,a+(c[(c[a>>2]|0)+-16>>2]|0)|0,b);d=e+4|0;b=a+(c[(c[a>>2]|0)+-12>>2]|0)|0;c[d>>2]=61744;c[f>>2]=62016;b=c[b+4>>2]|0;c[e+8>>2]=b;if(!b){c[e>>2]=78904;c[d>>2]=79060;c[f>>2]=79332;return f|0}a=b+(c[(c[b>>2]|0)+-12>>2]|0)+8|0;c[a>>2]=(c[a>>2]|0)+1;c[e>>2]=78904;c[d>>2]=79060;c[f>>2]=79332;return f|0}function Dn(a,b){a=a|0;b=b|0;if(!b){b=0;return b|0}b=(y1a(b,42800,46288,-1)|0)!=0;return b|0}function En(a){a=a|0;return 186332}function Fn(a){a=a|0;return 111711}function Gn(a){a=a|0;return a|0}function Hn(a){a=a|0;return a|0}function In(a){a=a|0;var b=0,d=0,e=0,f=0;b=a+4|0;c[b>>2]=61744;c[b+8>>2]=62016;b=a+8|0;d=c[b>>2]|0;if(d|0?(e=d+(c[(c[d>>2]|0)+-12>>2]|0)|0,f=e+8|0,d=c[f>>2]|0,c[f>>2]=d-1,(d|0)==1):0)UU(e,1,1);c[b>>2]=0;Pr(a+12|0);return}function Jn(a){a=a|0;var b=0,d=0,e=0,f=0;b=a+4|0;c[b>>2]=61744;c[b+8>>2]=62016;b=a+8|0;d=c[b>>2]|0;if(d|0?(e=d+(c[(c[d>>2]|0)+-12>>2]|0)|0,f=e+8|0,d=c[f>>2]|0,c[f>>2]=d-1,(d|0)==1):0)UU(e,1,1);c[b>>2]=0;Pr(a+12|0);l0a(a);return}function Kn(a){a=a|0;var b=0,d=0;b=j0a(44)|0;a=b+12|0;Tha(a);d=b+24|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[b+36>>2]=2;c[b+40>>2]=0;c[b+8>>2]=0;c[b>>2]=78904;c[b+4>>2]=79060;c[a>>2]=79332;return a|0}function Ln(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=a+(c[(c[a>>2]|0)+-20>>2]|0)|0;d=j0a(44)|0;e=d+12|0;Or(e,f+(c[(c[f>>2]|0)+-16>>2]|0)|0,b);a=d+4|0;b=f+(c[(c[f>>2]|0)+-12>>2]|0)|0;c[a>>2]=61744;c[e>>2]=62016;b=c[b+4>>2]|0;c[d+8>>2]=b;if(!b){c[d>>2]=78904;c[a>>2]=79060;c[e>>2]=79332;return e|0}f=b+(c[(c[b>>2]|0)+-12>>2]|0)+8|0;c[f>>2]=(c[f>>2]|0)+1;c[d>>2]=78904;c[a>>2]=79060;c[e>>2]=79332;return e|0}function Mn(a,b){a=a|0;b=b|0;if(!b){b=0;return b|0}b=(y1a(b,42800,46288,-1)|0)!=0;return b|0}function Nn(a){a=a|0;return 186332}function On(a){a=a|0;return 111711}function Pn(a){a=a|0;return a+(c[(c[a>>2]|0)+-52>>2]|0)|0}function Qn(a){a=a|0;return a+(c[(c[a>>2]|0)+-56>>2]|0)|0}function Rn(a){a=a|0;return 0}function Sn(a){a=a|0;return 0}function Tn(a){a=a|0;return 0}function Un(a){a=a|0;return 0}function Vn(a){a=a|0;var b=0,d=0,e=0,f=0;a=a+(c[(c[a>>2]|0)+-112>>2]|0)|0;b=a+4|0;c[b>>2]=61744;c[b+8>>2]=62016;b=a+8|0;d=c[b>>2]|0;if(d|0?(e=d+(c[(c[d>>2]|0)+-12>>2]|0)|0,f=e+8|0,d=c[f>>2]|0,c[f>>2]=d-1,(d|0)==1):0)UU(e,1,1);c[b>>2]=0;Pr(a+12|0);return}function Wn(a){a=a|0;var b=0,d=0,e=0,f=0;a=a+(c[(c[a>>2]|0)+-112>>2]|0)|0;b=a+4|0;c[b>>2]=61744;c[b+8>>2]=62016;b=a+8|0;d=c[b>>2]|0;if(d|0?(e=d+(c[(c[d>>2]|0)+-12>>2]|0)|0,f=e+8|0,d=c[f>>2]|0,c[f>>2]=d-1,(d|0)==1):0)UU(e,1,1);c[b>>2]=0;Pr(a+12|0);l0a(a);return}function Xn(a){a=a|0;var b=0,d=0,e=0,f=0;a=a+(c[(c[a>>2]|0)+-16>>2]|0)|0;b=a+4|0;c[b>>2]=61744;c[b+8>>2]=62016;b=a+8|0;d=c[b>>2]|0;if(d|0?(e=d+(c[(c[d>>2]|0)+-12>>2]|0)|0,f=e+8|0,d=c[f>>2]|0,c[f>>2]=d-1,(d|0)==1):0)UU(e,1,1);c[b>>2]=0;Pr(a+12|0);return}function Yn(a){a=a|0;var b=0,d=0,e=0,f=0;a=a+(c[(c[a>>2]|0)+-16>>2]|0)|0;b=a+4|0;c[b>>2]=61744;c[b+8>>2]=62016;b=a+8|0;d=c[b>>2]|0;if(d|0?(e=d+(c[(c[d>>2]|0)+-12>>2]|0)|0,f=e+8|0,d=c[f>>2]|0,c[f>>2]=d-1,(d|0)==1):0)UU(e,1,1);c[b>>2]=0;Pr(a+12|0);l0a(a);return}function Zn(a){a=a|0;var b=0,d=0;b=j0a(44)|0;a=b+12|0;Tha(a);d=b+24|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[b+36>>2]=2;c[b+40>>2]=0;c[b+8>>2]=0;c[b>>2]=78904;c[b+4>>2]=79060;c[a>>2]=79332;return a|0}function _n(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=a+(c[(c[a>>2]|0)+-24>>2]|0)|0;d=j0a(44)|0;e=d+12|0;Or(e,f+(c[(c[f>>2]|0)+-16>>2]|0)|0,b);a=d+4|0;b=f+(c[(c[f>>2]|0)+-12>>2]|0)|0;c[a>>2]=61744;c[e>>2]=62016;b=c[b+4>>2]|0;c[d+8>>2]=b;if(!b){c[d>>2]=78904;c[a>>2]=79060;c[e>>2]=79332;return e|0}f=b+(c[(c[b>>2]|0)+-12>>2]|0)+8|0;c[f>>2]=(c[f>>2]|0)+1;c[d>>2]=78904;c[a>>2]=79060;c[e>>2]=79332;return e|0}function $n(a,b){a=a|0;b=b|0;if(!b){b=0;return b|0}b=(y1a(b,42800,46288,-1)|0)!=0;return b|0}function ao(a){a=a|0;return 186332}function bo(a){a=a|0;return 111711}function co(a){a=a|0;var b=0,d=0;b=j0a(44)|0;a=b+12|0;Tha(a);d=b+24|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[b+36>>2]=2;c[b+40>>2]=0;c[b+8>>2]=0;c[b>>2]=79512;c[b+4>>2]=79668;c[a>>2]=79940;return a|0}function eo(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;e=j0a(44)|0;f=e+12|0;Or(f,a+(c[(c[a>>2]|0)+-16>>2]|0)|0,b);d=e+4|0;b=a+(c[(c[a>>2]|0)+-12>>2]|0)|0;c[d>>2]=61744;c[f>>2]=62016;b=c[b+4>>2]|0;c[e+8>>2]=b;if(!b){c[e>>2]=79512;c[d>>2]=79668;c[f>>2]=79940;return f|0}a=b+(c[(c[b>>2]|0)+-12>>2]|0)+8|0;c[a>>2]=(c[a>>2]|0)+1;c[e>>2]=79512;c[d>>2]=79668;c[f>>2]=79940;return f|0}function fo(a,b){a=a|0;b=b|0;if(!b){b=0;return b|0}b=(y1a(b,42800,46336,-1)|0)!=0;return b|0}function go(a){a=a|0;return 186332}function ho(a){a=a|0;return 111724}function io(a){a=a|0;return a|0}function jo(a){a=a|0;return a|0}function ko(a,b,c){a=a|0;b=b|0;c=c|0;return}function lo(a){a=a|0;var b=0,d=0,e=0,f=0;b=a+4|0;c[b>>2]=61744;c[b+8>>2]=62016;b=a+8|0;d=c[b>>2]|0;if(d|0?(e=d+(c[(c[d>>2]|0)+-12>>2]|0)|0,f=e+8|0,d=c[f>>2]|0,c[f>>2]=d-1,(d|0)==1):0)UU(e,1,1);c[b>>2]=0;Pr(a+12|0);return}function mo(a){a=a|0;var b=0,d=0,e=0,f=0;b=a+4|0;c[b>>2]=61744;c[b+8>>2]=62016;b=a+8|0;d=c[b>>2]|0;if(d|0?(e=d+(c[(c[d>>2]|0)+-12>>2]|0)|0,f=e+8|0,d=c[f>>2]|0,c[f>>2]=d-1,(d|0)==1):0)UU(e,1,1);c[b>>2]=0;Pr(a+12|0);l0a(a);return}function no(a){a=a|0;var b=0,d=0;b=j0a(44)|0;a=b+12|0;Tha(a);d=b+24|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[b+36>>2]=2;c[b+40>>2]=0;c[b+8>>2]=0;c[b>>2]=79512;c[b+4>>2]=79668;c[a>>2]=79940;return a|0}function oo(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=a+(c[(c[a>>2]|0)+-20>>2]|0)|0;d=j0a(44)|0;e=d+12|0;Or(e,f+(c[(c[f>>2]|0)+-16>>2]|0)|0,b);a=d+4|0;b=f+(c[(c[f>>2]|0)+-12>>2]|0)|0;c[a>>2]=61744;c[e>>2]=62016;b=c[b+4>>2]|0;c[d+8>>2]=b;if(!b){c[d>>2]=79512;c[a>>2]=79668;c[e>>2]=79940;return e|0}f=b+(c[(c[b>>2]|0)+-12>>2]|0)+8|0;c[f>>2]=(c[f>>2]|0)+1;c[d>>2]=79512;c[a>>2]=79668;c[e>>2]=79940;return e|0}function po(a,b){a=a|0;b=b|0;if(!b){b=0;return b|0}b=(y1a(b,42800,46336,-1)|0)!=0;return b|0}function qo(a){a=a|0;return 186332}function ro(a){a=a|0;return 111724}function so(a){a=a|0;return 0}function to(a){a=a|0;return 0}function uo(a){a=a|0;return a+(c[(c[a>>2]|0)+-84>>2]|0)|0}function vo(a){a=a|0;return a+(c[(c[a>>2]|0)+-88>>2]|0)|0}function wo(a){a=a|0;var b=0,d=0,e=0,f=0;a=a+(c[(c[a>>2]|0)+-112>>2]|0)|0;b=a+4|0;c[b>>2]=61744;c[b+8>>2]=62016;b=a+8|0;d=c[b>>2]|0;if(d|0?(e=d+(c[(c[d>>2]|0)+-12>>2]|0)|0,f=e+8|0,d=c[f>>2]|0,c[f>>2]=d-1,(d|0)==1):0)UU(e,1,1);c[b>>2]=0;Pr(a+12|0);return}function xo(a){a=a|0;var b=0,d=0,e=0,f=0;a=a+(c[(c[a>>2]|0)+-112>>2]|0)|0;b=a+4|0;c[b>>2]=61744;c[b+8>>2]=62016;b=a+8|0;d=c[b>>2]|0;if(d|0?(e=d+(c[(c[d>>2]|0)+-12>>2]|0)|0,f=e+8|0,d=c[f>>2]|0,c[f>>2]=d-1,(d|0)==1):0)UU(e,1,1);c[b>>2]=0;Pr(a+12|0);l0a(a);return}function yo(a){a=a|0;var b=0,d=0,e=0,f=0;a=a+(c[(c[a>>2]|0)+-16>>2]|0)|0;b=a+4|0;c[b>>2]=61744;c[b+8>>2]=62016;b=a+8|0;d=c[b>>2]|0;if(d|0?(e=d+(c[(c[d>>2]|0)+-12>>2]|0)|0,f=e+8|0,d=c[f>>2]|0,c[f>>2]=d-1,(d|0)==1):0)UU(e,1,1);c[b>>2]=0;Pr(a+12|0);return}function zo(a){a=a|0;var b=0,d=0,e=0,f=0;a=a+(c[(c[a>>2]|0)+-16>>2]|0)|0;b=a+4|0;c[b>>2]=61744;c[b+8>>2]=62016;b=a+8|0;d=c[b>>2]|0;if(d|0?(e=d+(c[(c[d>>2]|0)+-12>>2]|0)|0,f=e+8|0,d=c[f>>2]|0,c[f>>2]=d-1,(d|0)==1):0)UU(e,1,1);c[b>>2]=0;Pr(a+12|0);l0a(a);return}function Ao(a){a=a|0;var b=0,d=0;b=j0a(44)|0;a=b+12|0;Tha(a);d=b+24|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[b+36>>2]=2;c[b+40>>2]=0;c[b+8>>2]=0;c[b>>2]=79512;c[b+4>>2]=79668;c[a>>2]=79940;return a|0}function Bo(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=a+(c[(c[a>>2]|0)+-24>>2]|0)|0;d=j0a(44)|0;e=d+12|0;Or(e,f+(c[(c[f>>2]|0)+-16>>2]|0)|0,b);a=d+4|0;b=f+(c[(c[f>>2]|0)+-12>>2]|0)|0;c[a>>2]=61744;c[e>>2]=62016;b=c[b+4>>2]|0;c[d+8>>2]=b;if(!b){c[d>>2]=79512;c[a>>2]=79668;c[e>>2]=79940;return e|0}f=b+(c[(c[b>>2]|0)+-12>>2]|0)+8|0;c[f>>2]=(c[f>>2]|0)+1;c[d>>2]=79512;c[a>>2]=79668;c[e>>2]=79940;return e|0}function Co(a,b){a=a|0;b=b|0;if(!b){b=0;return b|0}b=(y1a(b,42800,46336,-1)|0)!=0;return b|0}function Do(a){a=a|0;return 186332}function Eo(a){a=a|0;return 111724}function Fo(a){a=a|0;var b=0,d=0;b=j0a(40)|0;a=b+8|0;Tha(a);d=b+20|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[b+32>>2]=2;c[b+36>>2]=0;c[b>>2]=66956;c[a>>2]=67228;c[b+4>>2]=0;return a|0}function Go(a,b){a=a|0;b=b|0;var d=0,e=0;d=j0a(40)|0;e=d+8|0;Or(e,a+(c[(c[a>>2]|0)+-12>>2]|0)|0,b);c[d>>2]=66956;c[e>>2]=67228;a=c[a+4>>2]|0;c[d+4>>2]=a;if(!a){e=66956;e=e+-12|0;e=c[e>>2]|0;e=d+e|0;return e|0}e=a+(c[(c[a>>2]|0)+-12>>2]|0)+8|0;c[e>>2]=(c[e>>2]|0)+1;e=c[d>>2]|0;e=e+-12|0;e=c[e>>2]|0;e=d+e|0;return e|0}function Ho(a,b){a=a|0;b=b|0;if(!b){b=0;return b|0}b=(y1a(b,42800,42296,-1)|0)!=0;return b|0}function Io(a){a=a|0;return 186332}function Jo(a){a=a|0;return 111746}function Ko(a,b,c){a=a|0;b=b|0;c=c|0;return mR(a,b,c)|0}function Lo(a){a=a|0;var b=0,d=0,e=0,f=0;c[a>>2]=66956;d=a+8|0;c[d>>2]=67228;a=a+4|0;b=c[a>>2]|0;if(b|0?(e=b+(c[(c[b>>2]|0)+-12>>2]|0)|0,f=e+8|0,b=c[f>>2]|0,c[f>>2]=b-1,(b|0)==1):0)UU(e,1,1);c[a>>2]=0;Pr(d);return}function Mo(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;c[a>>2]=66956;b=a+8|0;c[b>>2]=67228;d=a+4|0;e=c[d>>2]|0;if(e|0?(f=e+(c[(c[e>>2]|0)+-12>>2]|0)|0,g=f+8|0,e=c[g>>2]|0,c[g>>2]=e-1,(e|0)==1):0)UU(f,1,1);c[d>>2]=0;Pr(b);l0a(a);return}function No(a){a=a|0;var b=0,d=0,e=0,f=0;d=a+(c[(c[a>>2]|0)+-16>>2]|0)|0;c[d>>2]=66956;b=d+8|0;c[b>>2]=67228;d=d+4|0;a=c[d>>2]|0;if(!a){c[d>>2]=0;Pr(b);return}a=a+(c[(c[a>>2]|0)+-12>>2]|0)|0;f=a+8|0;e=c[f>>2]|0;c[f>>2]=e-1;if((e|0)!=1){c[d>>2]=0;Pr(b);return}UU(a,1,1);c[d>>2]=0;Pr(b);return}function Oo(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;a=a+(c[(c[a>>2]|0)+-16>>2]|0)|0;c[a>>2]=66956;b=a+8|0;c[b>>2]=67228;d=a+4|0;e=c[d>>2]|0;if(e|0?(f=e+(c[(c[e>>2]|0)+-12>>2]|0)|0,g=f+8|0,e=c[g>>2]|0,c[g>>2]=e-1,(e|0)==1):0)UU(f,1,1);c[d>>2]=0;Pr(b);l0a(a);return}function Po(a){a=a|0;var b=0,d=0;b=j0a(40)|0;a=b+8|0;Tha(a);d=b+20|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[b+32>>2]=2;c[b+36>>2]=0;c[b>>2]=66956;c[a>>2]=67228;c[b+4>>2]=0;return a|0}function Qo(a,b){a=a|0;b=b|0;var d=0,e=0;a=a+(c[(c[a>>2]|0)+-24>>2]|0)|0;d=j0a(40)|0;e=d+8|0;Or(e,a+(c[(c[a>>2]|0)+-12>>2]|0)|0,b);c[d>>2]=66956;c[e>>2]=67228;a=c[a+4>>2]|0;c[d+4>>2]=a;if(!a){e=66956;e=e+-12|0;e=c[e>>2]|0;e=d+e|0;return e|0}e=a+(c[(c[a>>2]|0)+-12>>2]|0)+8|0;c[e>>2]=(c[e>>2]|0)+1;e=c[d>>2]|0;e=e+-12|0;e=c[e>>2]|0;e=d+e|0;return e|0}function Ro(a,b){a=a|0;b=b|0;if(!b){b=0;return b|0}b=(y1a(b,42800,42296,-1)|0)!=0;return b|0}function So(a){a=a|0;return 186332}function To(a){a=a|0;return 111746}function Uo(a){a=a|0;var b=0,d=0,e=0,f=0;c[a>>2]=66176;d=a+96|0;c[d>>2]=66428;e=a+104|0;c[e>>2]=66700;c[a+4>>2]=66272;b=c[a+88>>2]|0;if((a+72|0)!=(b|0)){if(b|0)Bk[c[(c[b>>2]|0)+20>>2]&2047](b)}else Bk[c[(c[b>>2]|0)+16>>2]&2047](b);b=c[a+56>>2]|0;if(b|0){c[a+60>>2]=b;l0a(b)}b=c[a+48>>2]|0;if((a+32|0)!=(b|0)){if(b|0)Bk[c[(c[b>>2]|0)+20>>2]&2047](b)}else Bk[c[(c[b>>2]|0)+16>>2]&2047](b);yq(a+8|0,c[a+12>>2]|0);c[d>>2]=61744;c[d+8>>2]=62016;a=a+100|0;b=c[a>>2]|0;if(!b){c[a>>2]=0;Pr(e);return}b=b+(c[(c[b>>2]|0)+-12>>2]|0)|0;f=b+8|0;d=c[f>>2]|0;c[f>>2]=d-1;if((d|0)!=1){c[a>>2]=0;Pr(e);return}UU(b,1,1);c[a>>2]=0;Pr(e);return}function Vo(a){a=a|0;Uo(a);l0a(a);return}function Wo(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var h=0,i=0;f=~~+g[b+104>>2];d=~~+g[b+108>>2];e=a+20|0;if(!((c[e>>2]|0)==(f|0)?(c[a+24>>2]|0)==(d|0):0))i=3;if((i|0)==3?(h=e,c[h>>2]=f,c[h+4>>2]=d,h=c[a+48>>2]|0,h|0):0)Bk[c[(c[h>>2]|0)+24>>2]&2047](h);if((gk[c[(c[b>>2]|0)+172>>2]&1023](b)|0)!=1)if((gk[c[(c[b>>2]|0)+172>>2]&1023](b)|0)==2)e=0;else return 1;else e=1;d=c[b+84>>2]|0;switch(d|0){case 1:break;case 2:{d=3;break}case 4:{d=2;break}default:d=0}bp(a,d,e);return 1}function Xo(a){a=a|0;Uo(a+-4|0);return}function Yo(a){a=a|0;a=a+-4|0;Uo(a);l0a(a);return}function Zo(a){a=a|0;Uo(a+(c[(c[a>>2]|0)+-112>>2]|0)|0);return}function _o(a){a=a|0;a=a+(c[(c[a>>2]|0)+-112>>2]|0)|0;Uo(a);l0a(a);return}function $o(a){a=a|0;Uo(a+(c[(c[a>>2]|0)+-16>>2]|0)|0);return}function ap(a){a=a|0;a=a+(c[(c[a>>2]|0)+-16>>2]|0)|0;Uo(a);l0a(a);return}function bp(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0;o=l;l=l+16|0;k=o;c[k>>2]=b;h=a+56|0;e=c[h>>2]|0;m=a+60|0;n=c[m>>2]|0;i=(e|0)==(n|0);a:do if(i){f=e;j=5}else{g=e;do{if((c[g>>2]|0)==(b|0)){f=g;j=5;break a}g=g+4|0}while((g|0)!=(n|0))}while(0);if((j|0)==5?(f|0)!=(n|0):0){if(d){l=o;return}b:do if(i)j=11;else while(1){if((c[e>>2]|0)==(b|0)){j=11;break b}e=e+4|0;if((e|0)==(n|0)){e=n;break}}while(0);c:do if((j|0)==11)if((e|0)!=(n|0)){f=e+4|0;if((f|0)!=(n|0))while(1){g=c[f>>2]|0;if((g|0)!=(b|0)){c[e>>2]=g;e=e+4|0}f=f+4|0;if((f|0)==(n|0))break c;b=c[k>>2]|0}}else e=n;while(0);if((n|0)!=(e|0))c[m>>2]=e;e=c[a+88>>2]|0;if(!e){l=o;return}Bk[c[(c[e>>2]|0)+24>>2]&2047](e);l=o;return}if(!d){l=o;return}if((n|0)==(c[a+64>>2]|0))cp(h,k);else{c[n>>2]=b;c[m>>2]=n+4}e=c[a+88>>2]|0;if(!e){l=o;return}Bk[c[(c[e>>2]|0)+24>>2]&2047](e);l=o;return}function cp(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;i=a+4|0;j=c[a>>2]|0;k=(c[i>>2]|0)-j|0;g=k>>2;d=g+1|0;if(d>>>0>1073741823)g1a(a);l=a+8|0;f=(c[l>>2]|0)-j|0;h=f>>1;h=f>>2>>>0<536870911?(h>>>0<d>>>0?d:h):1073741823;do if(h)if(h>>>0>1073741823){l=db(8)|0;p0a(l,183738);c[l>>2]=110936;hb(l|0,65952,1066)}else{f=j0a(h<<2)|0;e=f;break}else{e=0;f=0}while(0);d=e+(g<<2)|0;c[d>>2]=c[b>>2];if((k|0)>0)x2a(f|0,j|0,k|0)|0;c[a>>2]=e;c[i>>2]=d+4;c[l>>2]=e+(h<<2);if(!j)return;l0a(j);return}function dp(a,b,c){a=a|0;b=b|0;c=c|0;if(!c){c=0;return c|0}ol(c);c=1;return c|0}function ep(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;f=b+4|0;h=c[f>>2]|0;if(!h){c[d>>2]=f;o=f;return o|0}m=a[e+11>>0]|0;l=m<<24>>24<0;m=l?c[e+4>>2]|0:m&255;l=l?c[e>>2]|0:e;g=b+4|0;f=h;while(1){e=f+16|0;h=a[e+11>>0]|0;b=h<<24>>24<0;h=b?c[f+20>>2]|0:h&255;k=h>>>0<m>>>0;j=k?h:m;i=(j|0)==0;if(!i?(n=b?c[e>>2]|0:e,o=cOa(l,n,j)|0,(o|0)!=0):0)if((o|0)<0)b=7;else{e=n;b=11}else if(m>>>0>=h>>>0)if(i)b=12;else{e=b?c[e>>2]|0:e;b=11}else b=7;if((b|0)==7){b=0;e=c[f>>2]|0;if(!e){b=8;break}else{g=f;f=e}}else if((b|0)==11){e=cOa(e,l,j)|0;if(e)if((e|0)<0)b=14;else{b=16;break}else b=12}if((b|0)==12)if(k)b=14;else{b=16;break}if((b|0)==14){e=f+4|0;b=c[e>>2]|0;if(!b){b=15;break}else{g=e;f=b}}}if((b|0)==8){c[d>>2]=f;o=f;return o|0}else if((b|0)==15){c[d>>2]=f;o=e;return o|0}else if((b|0)==16){c[d>>2]=f;o=g;return o|0}return 0}function fp(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;i=(d|0)==(b|0);a[d+12>>0]=i&1;if(i)return;while(1){h=d+8|0;i=c[h>>2]|0;e=i+12|0;if(a[e>>0]|0){g=24;break}f=c[i+8>>2]|0;g=c[f>>2]|0;if((g|0)==(i|0)){g=c[f+4>>2]|0;if(!g){g=7;break}g=g+12|0;if(!(a[g>>0]|0))d=g;else{g=7;break}}else{if(!g){g=16;break}g=g+12|0;if(!(a[g>>0]|0))d=g;else{g=16;break}}a[e>>0]=1;a[f+12>>0]=(f|0)==(b|0)&1;a[d>>0]=1;if((f|0)==(b|0)){g=24;break}else d=f}if((g|0)==7){g=i+8|0;if((c[i>>2]|0)==(d|0)){d=e;g=f}else{h=i+4|0;e=c[h>>2]|0;d=c[e>>2]|0;c[h>>2]=d;if(!d)d=f;else{c[d+8>>2]=i;d=c[g>>2]|0}c[e+8>>2]=d;d=c[g>>2]|0;c[((c[d>>2]|0)==(i|0)?d:d+4|0)>>2]=e;c[e>>2]=i;c[g>>2]=e;d=e+12|0;g=c[e+8>>2]|0}a[d>>0]=1;a[g+12>>0]=0;d=c[g>>2]|0;e=d+4|0;f=c[e>>2]|0;c[g>>2]=f;if(f|0)c[f+8>>2]=g;i=g+8|0;c[d+8>>2]=c[i>>2];h=c[i>>2]|0;c[((c[h>>2]|0)==(g|0)?h:h+4|0)>>2]=d;c[e>>2]=g;c[i>>2]=d;return}else if((g|0)==16){b=i+8|0;if((c[i>>2]|0)==(d|0)){g=d+4|0;e=c[g>>2]|0;c[i>>2]=e;if(e){c[e+8>>2]=i;f=c[b>>2]|0}c[h>>2]=f;e=c[b>>2]|0;c[((c[e>>2]|0)==(i|0)?e:e+4|0)>>2]=d;c[g>>2]=i;c[b>>2]=d;e=d+12|0;f=c[d+8>>2]|0}a[e>>0]=1;a[f+12>>0]=0;i=f+4|0;d=c[i>>2]|0;e=c[d>>2]|0;c[i>>2]=e;if(e|0)c[e+8>>2]=f;i=f+8|0;c[d+8>>2]=c[i>>2];h=c[i>>2]|0;c[((c[h>>2]|0)==(f|0)?h:h+4|0)>>2]=d;c[d>>2]=f;c[i>>2]=d;return}else if((g|0)==24)return}function gp(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0;m=l;l=l+32|0;k=m+8|0;g=m;j=m+20|0;f=c[d>>2]|0;if((a[f+11>>0]|0)<0)f=c[f>>2]|0;c[g>>2]=f;fl(j,111755,g);i=j+11|0;sl(b,(a[i>>0]|0)<0?c[j>>2]|0:j,k);f=c[d>>2]|0;h=c[d+4>>2]|0;if((f|0)!=(h|0)){g=b+12|0;d=k+11|0;do{t0a(k,f);c[(jp(g,k)|0)>>2]=e;if((a[d>>0]|0)<0)l0a(c[k>>2]|0);f=f+12|0}while((f|0)!=(h|0))}if((a[i>>0]|0)>=0){l=m;return}l0a(c[j>>2]|0);l=m;return}function hp(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=l;l=l+16|0;d=i;if((b|0)==(a|0)){l=i;return}f=a+16|0;e=c[f>>2]|0;g=e;h=b+16|0;if((e|0)==(a|0))if((c[h>>2]|0)==(b|0)){Jk[c[(c[e>>2]|0)+12>>2]&1023](e,d);g=c[f>>2]|0;Bk[c[(c[g>>2]|0)+16>>2]&2047](g);c[f>>2]=0;g=c[h>>2]|0;Jk[c[(c[g>>2]|0)+12>>2]&1023](g,a);g=c[h>>2]|0;Bk[c[(c[g>>2]|0)+16>>2]&2047](g);c[h>>2]=0;c[f>>2]=a;Jk[c[(c[d>>2]|0)+12>>2]&1023](d,b);Bk[c[(c[d>>2]|0)+16>>2]&2047](d);c[h>>2]=b;l=i;return}else{Jk[c[(c[e>>2]|0)+12>>2]&1023](e,b);h=c[f>>2]|0;Bk[c[(c[h>>2]|0)+16>>2]&2047](h);h=b+16|0;c[f>>2]=c[h>>2];c[h>>2]=b;l=i;return}else{d=c[h>>2]|0;if((b|0)==(d|0)){Jk[c[(c[d>>2]|0)+12>>2]&1023](d,a);g=c[h>>2]|0;Bk[c[(c[g>>2]|0)+16>>2]&2047](g);c[h>>2]=c[f>>2];c[f>>2]=a;l=i;return}else{c[f>>2]=d;c[h>>2]=g;l=i;return}}}function ip(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;i=a+4|0;j=c[a>>2]|0;k=(c[i>>2]|0)-j|0;g=k>>2;d=g+1|0;if(d>>>0>1073741823)g1a(a);l=a+8|0;f=(c[l>>2]|0)-j|0;h=f>>1;h=f>>2>>>0<536870911?(h>>>0<d>>>0?d:h):1073741823;do if(h)if(h>>>0>1073741823){l=db(8)|0;p0a(l,183738);c[l>>2]=110936;hb(l|0,65952,1066)}else{f=j0a(h<<2)|0;e=f;break}else{e=0;f=0}while(0);d=e+(g<<2)|0;c[d>>2]=c[b>>2];if((k|0)>0)x2a(f|0,j|0,k|0)|0;c[a>>2]=e;c[i>>2]=d+4;c[l>>2]=e+(h<<2);if(!j)return;l0a(j);return}function jp(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=l;l=l+16|0;e=h;f=kp(a,e,b)|0;d=c[f>>2]|0;if(d|0){a=d;a=a+28|0;l=h;return a|0}g=j0a(32)|0;t0a(g+16|0,b);c[g+28>>2]=0;d=c[e>>2]|0;c[g>>2]=0;c[g+4>>2]=0;c[g+8>>2]=d;c[f>>2]=g;d=c[c[a>>2]>>2]|0;if(!d)d=g;else{c[a>>2]=d;d=c[f>>2]|0}fp(c[a+4>>2]|0,d);a=a+8|0;c[a>>2]=(c[a>>2]|0)+1;a=g;a=a+28|0;l=h;return a|0}function kp(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;f=b+4|0;h=c[f>>2]|0;if(!h){c[d>>2]=f;o=f;return o|0}m=a[e+11>>0]|0;l=m<<24>>24<0;m=l?c[e+4>>2]|0:m&255;l=l?c[e>>2]|0:e;g=b+4|0;f=h;while(1){e=f+16|0;h=a[e+11>>0]|0;b=h<<24>>24<0;h=b?c[f+20>>2]|0:h&255;k=h>>>0<m>>>0;j=k?h:m;i=(j|0)==0;if(!i?(n=b?c[e>>2]|0:e,o=cOa(l,n,j)|0,(o|0)!=0):0)if((o|0)<0)b=7;else{e=n;b=11}else if(m>>>0>=h>>>0)if(i)b=12;else{e=b?c[e>>2]|0:e;b=11}else b=7;if((b|0)==7){b=0;e=c[f>>2]|0;if(!e){b=8;break}else{g=f;f=e}}else if((b|0)==11){e=cOa(e,l,j)|0;if(e)if((e|0)<0)b=14;else{b=16;break}else b=12}if((b|0)==12)if(k)b=14;else{b=16;break}if((b|0)==14){e=f+4|0;b=c[e>>2]|0;if(!b){b=15;break}else{g=e;f=b}}}if((b|0)==8){c[d>>2]=f;o=f;return o|0}else if((b|0)==15){c[d>>2]=f;o=e;return o|0}else if((b|0)==16){c[d>>2]=f;o=g;return o|0}return 0}function lp(a){a=a|0;l0a(a);return}function mp(a){a=a|0;var b=0;b=j0a(8)|0;c[b>>2]=67400;c[b+4>>2]=c[a+4>>2];return b|0}function np(a,b){a=a|0;b=b|0;c[b>>2]=67400;c[b+4>>2]=c[a+4>>2];return}function op(a){a=a|0;return}function pp(a){a=a|0;l0a(a);return}function qp(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;tp(a,b+4|0,c,d);return}function rp(a,b){a=a|0;b=b|0;return ((c[b+4>>2]|0)==112120?a+4|0:0)|0}function sp(a){a=a|0;return 42360}function tp(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var i=0.0,j=0.0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0.0;t=l;l=l+80|0;r=t+32|0;q=t+24|0;p=t+16|0;m=t;s=t+40|0;k=c[d>>2]|0;o=c[(c[(c[k>>2]|0)+20>>2]|0)+120>>2]|0;n=c[f>>2]|0;d=c[f+4>>2]|0;do if((n|0)!=(d|0)){d=d-n|0;if((d|0)!=36){c[m>>2]=(a[e+11>>0]|0)<0?c[e>>2]|0:e;c[m+4>>2]=(d|0)/12|0;c[m+8>>2]=3;vp(k,111437,m);break}if((a[n+11>>0]|0)<0)d=c[n>>2]|0;else d=n;j=+OPa(d);d=n+12|0;if((a[d+11>>0]|0)<0)d=c[d>>2]|0;i=+OPa(d);d=n+24|0;if((a[d+11>>0]|0)<0)d=c[d>>2]|0;u=+OPa(d);g[o+240>>2]=j;g[o+244>>2]=i;g[o+248>>2]=u;d=o+148|0;if(!(c[o+152>>2]|0))c[d>>2]=c[d>>2]&-8193}while(0);j=+g[o+244>>2];u=+g[o+248>>2];h[p>>3]=+g[o+240>>2];fl(s,112117,p);h[q>>3]=j;fl(s+12|0,112117,q);h[r>>3]=u;fl(s+24|0,112117,r);c[b>>2]=0;d=b+4|0;c[d>>2]=0;q=b+8|0;c[q>>2]=0;r=j0a(36)|0;c[d>>2]=r;c[b>>2]=r;c[q>>2]=r+36;t0a(r,s);q=r+12|0;c[d>>2]=q;t0a(q,s+12|0);q=r+24|0;c[d>>2]=q;t0a(q,s+24|0);c[d>>2]=r+36;d=s+24|0;if((a[d+11>>0]|0)<0)l0a(c[d>>2]|0);d=s+12|0;if((a[d+11>>0]|0)<0)l0a(c[d>>2]|0);if((a[s+11>>0]|0)>=0){l=t;return}l0a(c[s>>2]|0);l=t;return}function up(a){a=a|0;return ((c[a+4>>2]|0)-(c[a>>2]|0)|0)/12|0|0}function vp(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;k=l;l=l+32|0;i=k+16|0;j=k;c[i>>2]=0;c[i+4>>2]=0;c[i+8>>2]=0;g=VNa(d)|0;if(g>>>0>4294967279)r0a(i);if(g>>>0<11){a[i+11>>0]=g;if(!g)f=i;else{f=i;h=6}}else{h=g+16&-16;f=j0a(h)|0;c[i>>2]=f;c[i+8>>2]=h|-2147483648;c[i+4>>2]=g;h=6}if((h|0)==6)x2a(f|0,d|0,g|0)|0;a[f+g>>0]=0;f=ul(b+16|0,i)|0;if((a[i+11>>0]|0)<0)l0a(c[i>>2]|0);if((f|0)==(b+20|0)){XQa(d)|0;l=k;return}t0a(i,f+28|0);c[j>>2]=e;e=i+11|0;cRa((a[e>>0]|0)<0?c[i>>2]|0:i,j)|0;ZQa(10)|0;if((a[e>>0]|0)<0)l0a(c[i>>2]|0);l=k;return}function wp(a){a=a|0;l0a(a);return}function xp(a){a=a|0;var b=0;b=j0a(8)|0;c[b>>2]=67444;c[b+4>>2]=c[a+4>>2];return b|0}function yp(a,b){a=a|0;b=b|0;c[b>>2]=67444;c[b+4>>2]=c[a+4>>2];return}function zp(a){a=a|0;return}function Ap(a){a=a|0;l0a(a);return}function Bp(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ep(a,b+4|0,c,d);return}function Cp(a,b){a=a|0;b=b|0;return ((c[b+4>>2]|0)==112522?a+4|0:0)|0}function Dp(a){a=a|0;return 42384}function Ep(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0;g=l;l=l+48|0;e=g+8|0;i=g;f=g+16|0;d=(c[(c[c[d>>2]>>2]|0)+16>>2]|0)+20|0;h=c[d+4>>2]|0;c[i>>2]=c[d>>2];fl(f,112519,i);c[e>>2]=h;fl(f+12|0,112519,e);c[b>>2]=0;e=b+4|0;c[e>>2]=0;h=b+8|0;c[h>>2]=0;d=j0a(24)|0;c[e>>2]=d;c[b>>2]=d;c[h>>2]=d+24;t0a(d,f);b=d+12|0;c[e>>2]=b;t0a(b,f+12|0);c[e>>2]=d+24;e=f+12|0;if((a[e+11>>0]|0)<0)l0a(c[e>>2]|0);if((a[f+11>>0]|0)>=0){l=g;return}l0a(c[f>>2]|0);l=g;return}function Fp(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=l;l=l+16|0;d=i;if((b|0)==(a|0)){l=i;return}f=a+16|0;e=c[f>>2]|0;g=e;h=b+16|0;if((e|0)==(a|0))if((c[h>>2]|0)==(b|0)){Jk[c[(c[e>>2]|0)+12>>2]&1023](e,d);g=c[f>>2]|0;Bk[c[(c[g>>2]|0)+16>>2]&2047](g);c[f>>2]=0;g=c[h>>2]|0;Jk[c[(c[g>>2]|0)+12>>2]&1023](g,a);g=c[h>>2]|0;Bk[c[(c[g>>2]|0)+16>>2]&2047](g);c[h>>2]=0;c[f>>2]=a;Jk[c[(c[d>>2]|0)+12>>2]&1023](d,b);Bk[c[(c[d>>2]|0)+16>>2]&2047](d);c[h>>2]=b;l=i;return}else{Jk[c[(c[e>>2]|0)+12>>2]&1023](e,b);h=c[f>>2]|0;Bk[c[(c[h>>2]|0)+16>>2]&2047](h);h=b+16|0;c[f>>2]=c[h>>2];c[h>>2]=b;l=i;return}else{d=c[h>>2]|0;if((b|0)==(d|0)){Jk[c[(c[d>>2]|0)+12>>2]&1023](d,a);g=c[h>>2]|0;Bk[c[(c[g>>2]|0)+16>>2]&2047](g);c[h>>2]=c[f>>2];c[f>>2]=a;l=i;return}else{c[f>>2]=d;c[h>>2]=g;l=i;return}}}function Gp(a){a=a|0;l0a(a);return}function Hp(a){a=a|0;a=j0a(8)|0;c[a>>2]=67488;return a|0}function Ip(a,b){a=a|0;b=b|0;c[b>>2]=67488;return}function Jp(a){a=a|0;return}function Kp(a){a=a|0;l0a(a);return}function Lp(b){b=b|0;var d=0,e=0,f=0,g=0,h=0;f=l;l=l+16|0;b=f;d=j0a(16)|0;c[b>>2]=d;c[b+8>>2]=-2147483632;c[b+4>>2]=14;e=d;g=111510;h=e+14|0;do{a[e>>0]=a[g>>0]|0;e=e+1|0;g=g+1|0}while((e|0)<(h|0));a[d+14>>0]=0;el(b);if((a[b+11>>0]|0)>=0){l=f;return}l0a(c[b>>2]|0);l=f;return}function Mp(a,b){a=a|0;b=b|0;return ((c[b+4>>2]|0)==112917?a+4|0:0)|0}function Np(a){a=a|0;return 42416}function Op(a){a=a|0;return}function Pp(a){a=a|0;return}function Qp(a){a=a|0;l0a(a);return}function Rp(a){a=a|0;var b=0;b=j0a(8)|0;c[b>>2]=67532;c[b+4>>2]=c[a+4>>2];return b|0}function Sp(a,b){a=a|0;b=b|0;c[b>>2]=67532;c[b+4>>2]=c[a+4>>2];return}function Tp(a){a=a|0;return}function Up(a){a=a|0;l0a(a);return}function Vp(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Yp(a,b+4|0,c,d);return}function Wp(a,b){a=a|0;b=b|0;return ((c[b+4>>2]|0)==113335?a+4|0:0)|0}function Xp(a){a=a|0;return 42440}function Yp(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;r=l;l=l+32|0;p=r+12|0;q=r;h=c[(c[c[d>>2]>>2]|0)+16>>2]|0;f=h+56|0;c[p>>2]=0;o=p+4|0;c[o>>2]=0;d=p+8|0;c[d>>2]=0;h=h+60|0;e=(c[h>>2]|0)-(c[f>>2]|0)|0;g=e>>2;if(e){if(g>>>0>1073741823)g1a(p);i=j0a(e)|0;c[o>>2]=i;c[p>>2]=i;c[d>>2]=i+(g<<2);f=c[f>>2]|0;e=(c[h>>2]|0)-f|0;if((e|0)>0){n=i+(e>>>2<<2)|0;x2a(i|0,f|0,e|0)|0;c[o>>2]=n;f=i;e=i}else{f=i;n=i;e=i}}else{f=0;n=0;e=0}c[b>>2]=0;k=b+4|0;c[k>>2]=0;m=b+8|0;c[m>>2]=0;do if((f|0)!=(n|0)){h=q+11|0;i=q+8|0;j=q+4|0;while(1){switch(c[f>>2]|0){case 1:{d=113284;break}case 2:{d=113296;break}case 3:{d=113309;break}default:d=113323}c[q>>2]=0;c[q+4>>2]=0;c[q+8>>2]=0;g=VNa(d)|0;if(g>>>0>4294967279){u=17;break}if(g>>>0<11){a[h>>0]=g;if(!g)e=q;else{e=q;u=21}}else{u=g+16&-16;e=j0a(u)|0;c[q>>2]=e;c[i>>2]=u|-2147483648;c[j>>2]=g;u=21}if((u|0)==21){u=0;x2a(e|0,d|0,g|0)|0}a[e+g>>0]=0;e=c[k>>2]|0;if(e>>>0>=(c[m>>2]|0)>>>0){Zp(b,q);if((a[h>>0]|0)<0)l0a(c[q>>2]|0)}else{c[e>>2]=c[q>>2];c[e+4>>2]=c[q+4>>2];c[e+8>>2]=c[q+8>>2];c[q>>2]=0;c[q+4>>2]=0;c[q+8>>2]=0;c[k>>2]=(c[k>>2]|0)+12}f=f+4|0;if((f|0)==(n|0)){u=8;break}}if((u|0)==8){t=c[p>>2]|0;s=t;break}else if((u|0)==17)r0a(q)}else{s=f;t=e}while(0);if(!s){l=r;return}c[o>>2]=s;l0a(t);l=r;return}function Zp(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;j=b+4|0;e=c[b>>2]|0;h=((c[j>>2]|0)-e|0)/12|0;f=h+1|0;if(f>>>0>357913941)g1a(b);k=b+8|0;i=((c[k>>2]|0)-e|0)/12|0;g=i<<1;g=i>>>0<178956970?(g>>>0<f>>>0?f:g):357913941;do if(g)if(g>>>0>357913941){k=db(8)|0;p0a(k,183738);c[k>>2]=110936;hb(k|0,65952,1066)}else{e=j0a(g*12|0)|0;break}else e=0;while(0);f=e+(h*12|0)|0;i=e+(g*12|0)|0;c[f>>2]=c[d>>2];c[f+4>>2]=c[d+4>>2];c[f+8>>2]=c[d+8>>2];c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;d=f+12|0;h=c[b>>2]|0;e=c[j>>2]|0;if((e|0)==(h|0)){g=h;e=h}else{do{f=f+-12|0;e=e+-12|0;c[f>>2]=c[e>>2];c[f+4>>2]=c[e+4>>2];c[f+8>>2]=c[e+8>>2];c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0}while((e|0)!=(h|0));g=c[b>>2]|0;e=c[j>>2]|0}c[b>>2]=f;c[j>>2]=d;c[k>>2]=i;f=g;if((e|0)!=(f|0))do{e=e+-12|0;if((a[e+11>>0]|0)<0)l0a(c[e>>2]|0)}while((e|0)!=(f|0));if(!g)return;l0a(g);return}function _p(a){a=a|0;l0a(a);return}function $p(a){a=a|0;a=j0a(8)|0;c[a>>2]=67576;return a|0}function aq(a,b){a=a|0;b=b|0;c[b>>2]=67576;return}function bq(a){a=a|0;return}function cq(a){a=a|0;l0a(a);return}function dq(b){b=b|0;var d=0,e=0,f=0,g=0,h=0;f=l;l=l+16|0;b=f;d=j0a(32)|0;c[b>>2]=d;c[b+8>>2]=-2147483616;c[b+4>>2]=20;e=d;g=111525;h=e+20|0;do{a[e>>0]=a[g>>0]|0;e=e+1|0;g=g+1|0}while((e|0)<(h|0));a[d+20>>0]=0;el(b);if((a[b+11>>0]|0)>=0){l=f;return}l0a(c[b>>2]|0);l=f;return}function eq(a,b){a=a|0;b=b|0;return ((c[b+4>>2]|0)==113697?a+4|0:0)|0}function fq(a){a=a|0;return 42464}function gq(a){a=a|0;l0a(a);return}function hq(a){a=a|0;var b=0;b=j0a(8)|0;c[b>>2]=67620;c[b+4>>2]=c[a+4>>2];return b|0}function iq(a,b){a=a|0;b=b|0;c[b>>2]=67620;c[b+4>>2]=c[a+4>>2];return}function jq(a){a=a|0;return}function kq(a){a=a|0;l0a(a);return}function lq(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;oq(a,b+4|0,c,d);return}function mq(a,b){a=a|0;b=b|0;return ((c[b+4>>2]|0)==114065?a+4|0:0)|0}function nq(a){a=a|0;return 42488}function oq(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0;g=l;l=l+48|0;e=g+8|0;i=g;f=g+16|0;h=c[d>>2]|0;c[i>>2]=c[(c[h>>2]|0)+64>>2];fl(f,112519,i);c[e>>2]=c[(c[h>>2]|0)+68>>2];fl(f+12|0,112519,e);c[b>>2]=0;e=b+4|0;c[e>>2]=0;h=b+8|0;c[h>>2]=0;d=j0a(24)|0;c[e>>2]=d;c[b>>2]=d;c[h>>2]=d+24;t0a(d,f);b=d+12|0;c[e>>2]=b;t0a(b,f+12|0);c[e>>2]=d+24;e=f+12|0;if((a[e+11>>0]|0)<0)l0a(c[e>>2]|0);if((a[f+11>>0]|0)>=0){l=g;return}l0a(c[f>>2]|0);l=g;return}function pq(a){a=a|0;l0a(a);return}function qq(a){a=a|0;a=j0a(8)|0;c[a>>2]=67664;return a|0}function rq(a,b){a=a|0;b=b|0;c[b>>2]=67664;return}function sq(a){a=a|0;return}function tq(a){a=a|0;l0a(a);return}function uq(b){b=b|0;var d=0,e=0,f=0,g=0,h=0;f=l;l=l+16|0;b=f;d=j0a(16)|0;c[b>>2]=d;c[b+8>>2]=-2147483632;c[b+4>>2]=11;e=d;g=111546;h=e+11|0;do{a[e>>0]=a[g>>0]|0;e=e+1|0;g=g+1|0}while((e|0)<(h|0));a[d+11>>0]=0;el(b);if((a[b+11>>0]|0)>=0){l=f;return}l0a(c[b>>2]|0);l=f;return}function vq(a,b){a=a|0;b=b|0;return ((c[b+4>>2]|0)==114427?a+4|0:0)|0}function wq(a){a=a|0;return 42512}function xq(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;k=l;l=l+32|0;i=k+16|0;j=k;c[i>>2]=0;c[i+4>>2]=0;c[i+8>>2]=0;g=VNa(d)|0;if(g>>>0>4294967279)r0a(i);if(g>>>0<11){a[i+11>>0]=g;if(!g)f=i;else{f=i;h=6}}else{h=g+16&-16;f=j0a(h)|0;c[i>>2]=f;c[i+8>>2]=h|-2147483648;c[i+4>>2]=g;h=6}if((h|0)==6)x2a(f|0,d|0,g|0)|0;a[f+g>>0]=0;f=ul(b,i)|0;if((a[i+11>>0]|0)<0)l0a(c[i>>2]|0);if((f|0)==(b+4|0)){XQa(d)|0;l=k;return}t0a(i,f+28|0);c[j>>2]=e;e=i+11|0;cRa((a[e>>0]|0)<0?c[i>>2]|0:i,j)|0;ZQa(10)|0;if((a[e>>0]|0)<0)l0a(c[i>>2]|0);l=k;return}function yq(b,d){b=b|0;d=d|0;var e=0;if(!d)return;yq(b,c[d>>2]|0);yq(b,c[d+4>>2]|0);b=d+16|0;e=d+28|0;if((a[e+11>>0]|0)<0)l0a(c[e>>2]|0);if((a[b+11>>0]|0)<0)l0a(c[b>>2]|0);l0a(d);return}function zq(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;j=b+4|0;e=c[b>>2]|0;h=((c[j>>2]|0)-e|0)/12|0;f=h+1|0;if(f>>>0>357913941)g1a(b);k=b+8|0;i=((c[k>>2]|0)-e|0)/12|0;g=i<<1;g=i>>>0<178956970?(g>>>0<f>>>0?f:g):357913941;do if(g)if(g>>>0>357913941){k=db(8)|0;p0a(k,183738);c[k>>2]=110936;hb(k|0,65952,1066)}else{e=j0a(g*12|0)|0;break}else e=0;while(0);f=e+(h*12|0)|0;i=e+(g*12|0)|0;t0a(f,d);d=f+12|0;h=c[b>>2]|0;e=c[j>>2]|0;if((e|0)==(h|0)){g=h;e=h}else{do{f=f+-12|0;e=e+-12|0;c[f>>2]=c[e>>2];c[f+4>>2]=c[e+4>>2];c[f+8>>2]=c[e+8>>2];c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0}while((e|0)!=(h|0));g=c[b>>2]|0;e=c[j>>2]|0}c[b>>2]=f;c[j>>2]=d;c[k>>2]=i;f=g;if((e|0)!=(f|0))do{e=e+-12|0;if((a[e+11>>0]|0)<0)l0a(c[e>>2]|0)}while((e|0)!=(f|0));if(!g)return;l0a(g);return}function Aq(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0.0;m=l;l=l+16|0;j=m;k=m+8|0;if((a[223616]|0)==0?g2a(223616)|0:0)c[56336]=Xb(2,67700)|0;i=c[56336]|0;g=a[f+11>>0]|0;if(g<<24>>24<0){n=c[f+4>>2]|0;h=GNa(n+4|0)|0;c[h>>2]=n;g=c[f>>2]|0;f=n}else{n=g&255;h=GNa(n+4|0)|0;c[h>>2]=n;g=f;f=n}x2a(h+4|0,g|0,f|0)|0;c[j>>2]=h;o=+Ub(i|0,d|0,e|0,k|0,j|0);n=c[k>>2]|0;c[b>>2]=~~o>>>0;$b(n|0);l=m;return}function Bq(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;i=l;l=l+16|0;g=i;e=d+4|0;f=c[d>>2]|0;c[g>>2]=0;c[g+4>>2]=0;c[g+8>>2]=0;if(f>>>0>4294967279)r0a(g);if(f>>>0<11){a[g+11>>0]=f;if(!f)d=g;else{d=g;h=6}}else{h=f+16&-16;d=j0a(h)|0;c[g>>2]=d;c[g+8>>2]=h|-2147483648;c[g+4>>2]=f;h=6}if((h|0)==6)x2a(d|0,e|0,f|0)|0;a[d+f>>0]=0;Bk[b&2047](g);if((a[g+11>>0]|0)>=0){l=i;return}l0a(c[g>>2]|0);l=i;return}function Cq(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;i=b+4|0;f=c[i>>2]|0;g=c[b>>2]|0;h=(f-g|0)/12|0;if(h>>>0<d>>>0){Fq(b,d-h|0,e);return}if(h>>>0<=d>>>0)return;b=g+(d*12|0)|0;if((b|0)!=(f|0))do{f=f+-12|0;if((a[f+11>>0]|0)<0)l0a(c[f>>2]|0)}while((f|0)!=(b|0));c[i>>2]=b;return}function Dq(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;i=l;l=l+16|0;h=i;f=c[d>>2]|0;g=f;if((((c[d+4>>2]|0)-f|0)/12|0)>>>0<=e>>>0){c[b>>2]=1;l=i;return}d=g+(e*12|0)|0;f=a[d+11>>0]|0;if(f<<24>>24<0){f=c[g+(e*12|0)+4>>2]|0;g=GNa(f+4|0)|0;c[g>>2]=f;d=c[d>>2]|0}else{f=f&255;g=GNa(f+4|0)|0;c[g>>2]=f}x2a(g+4|0,d|0,f|0)|0;c[h>>2]=g;c[b>>2]=ac(42536,h|0)|0;l=i;return}function Eq(a,b,d){a=a|0;b=b|0;d=d|0;z0a((c[a>>2]|0)+(b*12|0)|0,d)|0;return 1}function Fq(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;l=b+8|0;h=c[l>>2]|0;m=b+4|0;f=c[m>>2]|0;if(((h-f|0)/12|0)>>>0>=d>>>0){do{t0a(f,e);f=(c[m>>2]|0)+12|0;c[m>>2]=f;d=d+-1|0}while((d|0)!=0);return}g=c[b>>2]|0;i=(f-g|0)/12|0;f=i+d|0;if(f>>>0>357913941)g1a(b);k=(h-g|0)/12|0;h=k<<1;h=k>>>0<178956970?(h>>>0<f>>>0?f:h):357913941;do if(h)if(h>>>0>357913941){m=db(8)|0;p0a(m,183738);c[m>>2]=110936;hb(m|0,65952,1066)}else{g=j0a(h*12|0)|0;break}else g=0;while(0);f=g+(i*12|0)|0;j=f;k=g+(h*12|0)|0;h=j;g=f;while(1){t0a(g,e);g=h+12|0;d=d+-1|0;if(!d)break;else h=g}i=c[b>>2]|0;d=c[m>>2]|0;if((d|0)==(i|0)){d=j;h=i;f=i}else{do{f=f+-12|0;d=d+-12|0;c[f>>2]=c[d>>2];c[f+4>>2]=c[d+4>>2];c[f+8>>2]=c[d+8>>2];c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0}while((d|0)!=(i|0));d=f;h=c[b>>2]|0;f=c[m>>2]|0}c[b>>2]=d;c[m>>2]=g;c[l>>2]=k;d=h;if((f|0)!=(d|0))do{f=f+-12|0;if((a[f+11>>0]|0)<0)l0a(c[f>>2]|0)}while((f|0)!=(d|0));if(!h)return;l0a(h);return}function Gq(a){a=a|0;return 42592}function Hq(b){b=b|0;var d=0,e=0,f=0;if(!b)return;e=c[b>>2]|0;if(e|0){f=b+4|0;d=c[f>>2]|0;if((d|0)==(e|0))d=e;else{do{d=d+-12|0;if((a[d+11>>0]|0)<0)l0a(c[d>>2]|0)}while((d|0)!=(e|0));d=c[b>>2]|0}c[f>>2]=e;l0a(d)}l0a(b);return}function Iq(){var a=0;a=j0a(12)|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;return a|0}function Jq(a){a=a|0;return fk[a&7]()|0}function Kq(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;j=l;l=l+16|0;h=j;f=c[b>>2]|0;b=c[b+4>>2]|0;g=d+(b>>1)|0;if(b&1)f=c[(c[g>>2]|0)+f>>2]|0;d=e+4|0;e=c[e>>2]|0;c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;if(e>>>0>4294967279)r0a(h);if(e>>>0<11){a[h+11>>0]=e;if(!e)b=h;else{b=h;i=9}}else{i=e+16&-16;b=j0a(i)|0;c[h>>2]=b;c[h+8>>2]=i|-2147483648;c[h+4>>2]=e;i=9}if((i|0)==9)x2a(b|0,d|0,e|0)|0;a[b+e>>0]=0;Jk[f&1023](g,h);if((a[h+11>>0]|0)>=0){l=j;return}l0a(c[h>>2]|0);l=j;return}function Lq(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0;k=l;l=l+16|0;i=k;g=c[b>>2]|0;b=c[b+4>>2]|0;h=d+(b>>1)|0;if(b&1)g=c[(c[h>>2]|0)+g>>2]|0;d=f+4|0;f=c[f>>2]|0;c[i>>2]=0;c[i+4>>2]=0;c[i+8>>2]=0;if(f>>>0>4294967279)r0a(i);if(f>>>0<11){a[i+11>>0]=f;if(!f)b=i;else{b=i;j=9}}else{j=f+16&-16;b=j0a(j)|0;c[i>>2]=b;c[i+8>>2]=j|-2147483648;c[i+4>>2]=f;j=9}if((j|0)==9)x2a(b|0,d|0,f|0)|0;a[b+f>>0]=0;Nk[g&255](h,e,i);if((a[i+11>>0]|0)>=0){l=k;return}l0a(c[i>>2]|0);l=k;return}function Mq(a,b){a=a|0;b=b|0;var d=0,e=0;d=c[a>>2]|0;e=c[a+4>>2]|0;a=b+(e>>1)|0;if(e&1)d=c[(c[a>>2]|0)+d>>2]|0;return gk[d&1023](a)|0}function Nq(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=l;l=l+16|0;f=e;Nk[c[a>>2]&255](f,b,d);Yb(c[f>>2]|0);d=c[f>>2]|0;Vb(d|0);l=e;return d|0}function Oq(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0;k=l;l=l+16|0;j=k;h=c[b>>2]|0;g=f+4|0;f=c[f>>2]|0;c[j>>2]=0;c[j+4>>2]=0;c[j+8>>2]=0;if(f>>>0>4294967279)r0a(j);if(f>>>0<11){a[j+11>>0]=f;if(!f)b=j;else{b=j;i=6}}else{i=f+16&-16;b=j0a(i)|0;c[j>>2]=b;c[j+8>>2]=i|-2147483648;c[j+4>>2]=f;i=6}if((i|0)==6)x2a(b|0,g|0,f|0)|0;a[b+f>>0]=0;b=lk[h&127](d,e,j)|0;if((a[j+11>>0]|0)>=0){l=k;return b|0}l0a(c[j>>2]|0);l=k;return b|0}function Pq(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0;m=l;l=l+48|0;i=m+24|0;k=m+12|0;j=m;f=d+4|0;g=c[d>>2]|0;c[k>>2]=0;c[k+4>>2]=0;c[k+8>>2]=0;if(g>>>0>4294967279)r0a(k);if(g>>>0<11){a[k+11>>0]=g;if(!g)d=k;else{d=k;h=6}}else{h=g+16&-16;d=j0a(h)|0;c[k>>2]=d;c[k+8>>2]=h|-2147483648;c[k+4>>2]=g;h=6}if((h|0)==6)x2a(d|0,f|0,g|0)|0;a[d+g>>0]=0;Qq(j,e);Nk[b&255](i,k,j);b=j0a(12)|0;c[b>>2]=c[i>>2];f=i+4|0;c[b+4>>2]=c[f>>2];h=i+8|0;c[b+8>>2]=c[h>>2];c[h>>2]=0;c[f>>2]=0;c[i>>2]=0;f=c[j>>2]|0;if(f|0){g=j+4|0;d=c[g>>2]|0;if((d|0)==(f|0))d=f;else{do{d=d+-12|0;if((a[d+11>>0]|0)<0)l0a(c[d>>2]|0)}while((d|0)!=(f|0));d=c[j>>2]|0}c[g>>2]=f;l0a(d)}if((a[k+11>>0]|0)>=0){l=m;return b|0}l0a(c[k>>2]|0);l=m;return b|0}function Qq(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;c[a>>2]=0;h=a+4|0;c[h>>2]=0;e=a+8|0;c[e>>2]=0;g=b+4|0;d=(c[g>>2]|0)-(c[b>>2]|0)|0;f=(d|0)/12|0;if(!d)return;if(f>>>0>357913941)g1a(a);d=j0a(d)|0;c[h>>2]=d;c[a>>2]=d;c[e>>2]=d+(f*12|0);a=c[b>>2]|0;b=c[g>>2]|0;if((a|0)==(b|0))return;do{t0a(d,a);a=a+12|0;d=(c[h>>2]|0)+12|0;c[h>>2]=d}while((a|0)!=(b|0));return}function Rq(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0.0;h=l;l=l+16|0;f=h;g=h+8|0;if((a[223624]|0)==0?g2a(223624)|0:0)c[56337]=Xb(1,67764)|0;i=+Ub(c[56337]|0,d|0,e|0,g|0,f|0);g=c[g>>2]|0;c[b>>2]=~~i>>>0;$b(g|0);l=h;return}function Sq(a){a=a|0;vk[a&15]();return}function Tq(){g[56326]=1.0;g[56327]=0.0;g[56328]=0.0;g[56329]=0.0;g[56330]=1.0;g[56331]=0.0;g[56332]=0.0;g[56333]=0.0;g[56334]=1.0;Lb(111074,2,67708,114702,491,1075);jl(111083);Lb(111094,3,67752,115151,94,137);Lb(111108,1,67768,115133,1076,4);return}function Uq(a,b){a=a|0;b=b|0;a=c[a+28>>2]|0;if(!a)return;Jk[c[c[a>>2]>>2]&1023](a,b);return}function Vq(a){a=a|0;return a|0}function Wq(a){a=a|0;return a|0}function Xq(a){a=a|0;return 0}function Yq(a){a=a|0;return 0}function Zq(a){a=a|0;return 0}function _q(a){a=a|0;return 0}function $q(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;if((gk[c[(c[a>>2]|0)+148>>2]&1023](a)|0)==(b|0))return;e=a+28|0;a=c[e>>2]|0;if(!a){a=j0a(60)|0;Ria(a);d=c[e>>2]|0;if((d|0)!=(a|0)){if(d|0?(g=d+8|0,f=c[g>>2]|0,c[g>>2]=f-1,(f|0)==1):0)UU(d,1,1);c[e>>2]=a;a=a+8|0;c[a>>2]=(c[a>>2]|0)+1;a=c[e>>2]|0}}Jk[c[(c[a>>2]|0)+144>>2]&1023](a,b);return}function ar(a){a=a|0;a=c[a+28>>2]|0;if(!a){a=0;return a|0}a=gk[c[(c[a>>2]|0)+148>>2]&1023](a)|0;return a|0}function br(a){a=a|0;a=c[a+28>>2]|0;if(!a){a=0;return a|0}a=gk[c[(c[a>>2]|0)+148>>2]&1023](a)|0;return a|0}function cr(a,b){a=a|0;b=b|0;return}function dr(a,b){a=a|0;b=b|0;return}function er(a){a=a|0;return 0}function fr(a){a=a|0;return 0}function gr(a){a=a|0;return 0}function hr(a){a=a|0;return 0}function ir(a,b){a=a|0;b=b|0;return 1}function jr(a,b){a=a|0;b=b|0;return}function kr(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;A=l;l=l+32|0;s=A+24|0;v=A+12|0;t=A;e=b+4|0;u=b+12|0;c[u>>2]=107532;q=j0a(32)|0;ESa(q);c[q>>2]=67892;c[e>>2]=42676;c[u>>2]=42696;zSa(b+12|0,q);c[b+84>>2]=0;c[b+88>>2]=-1;c[e>>2]=67840;c[u>>2]=67860;c[b+8>>2]=c[b+36>>2];u=b+92|0;e=b+100|0;c[e>>2]=107532;q=j0a(60)|0;wr(q);c[u>>2]=42676;c[e>>2]=42696;zSa(b+100|0,q);c[b+172>>2]=0;c[b+176>>2]=-1;c[u>>2]=67784;c[e>>2]=67804;c[b+96>>2]=c[b+124>>2];c[b>>2]=3;c[v>>2]=0;c[v+4>>2]=0;c[v+8>>2]=0;e=Jh(115202)|0;if(!e){e=Jh(115219)|0;if(!e)d=67784;else{d=0;while(1){if(!(a[e+d>>0]|0))break;d=d+1|0;if(d>>>0>=4096){d=4096;break}}A0a(v,e,d)|0;r=11}}else{d=0;while(1){if(!(a[e+d>>0]|0))break;d=d+1|0;if(d>>>0>=4096){d=4096;break}}A0a(v,e,d)|0;r=11}if((r|0)==11){t0a(t,v);p=t+11|0;o=a[p>>0]|0;d=o<<24>>24<0;q=t+4|0;a:do if((d?c[q>>2]|0:o&255)|0){e=d?c[t>>2]|0:t;do{a[e>>0]=zOa(a[e>>0]|0)|0;e=e+1|0;d=a[p>>0]|0;k=d<<24>>24<0;f=k?c[t>>2]|0:t;k=k?c[q>>2]|0:d&255;o=f+k|0}while((e|0)!=(o|0));m=o;n=f;h=(k|0)<6;b:do if(!h){g=f;e=k;while(1){e=e+-5|0;if(!e)break b;e=aOa(g,65,e)|0;if(!e)break b;if(!(cOa(e,174292,6)|0))break;g=e+1|0;e=m-g|0;if((e|0)<6)break b}if(!((e|0)==(o|0)|(e-n|0)==-1)){c[b>>2]=0;break a}}else h=1;while(0);i=(k|0)<5;c:do if(!i){g=f;e=k;while(1){e=e+-4|0;if(!e)break c;e=aOa(g,70,e)|0;if(!e)break c;if(!(cOa(e,115234,5)|0))break;g=e+1|0;e=m-g|0;if((e|0)<5)break c}if(!((e|0)==(o|0)|(e-n|0)==-1)){c[b>>2]=1;break a}}else i=1;while(0);j=(k|0)<4;d:do if(!j){g=f;e=k;while(1){e=e+-3|0;if(!e)break d;e=aOa(g,87,e)|0;if(!e)break d;if(!(cOa(e,194960,4)|0))break;g=e+1|0;e=m-g|0;if((e|0)<4)break d}if(!((e|0)==(o|0)|(e-n|0)==-1)){c[b>>2]=2;break a}}else j=1;while(0);e:do if(!h){g=f;e=k;while(1){e=e+-5|0;if(!e)break e;e=aOa(g,78,e)|0;if(!e)break e;if(!(cOa(e,115240,6)|0))break;g=e+1|0;e=m-g|0;if((e|0)<6)break e}if(!((e|0)==(o|0)|(e-n|0)==-1)){c[b>>2]=3;break a}}while(0);f:do if((k|0)>=10){g=f;e=k;while(1){e=e+-9|0;if(!e)break f;e=aOa(g,68,e)|0;if(!e)break f;if(!(cOa(e,115247,10)|0))break;g=e+1|0;e=m-g|0;if((e|0)<10)break f}if(!((e|0)==(o|0)|(e-n|0)==-1)){c[b>>2]=5;break a}}while(0);g:do if((k|0)>=8){g=f;e=k;while(1){e=e+-7|0;if(!e)break g;e=aOa(g,68,e)|0;if(!e)break g;if(!(cOa(e,115258,8)|0))break;g=e+1|0;e=m-g|0;if((e|0)<8)break g}if(!((e|0)==(o|0)|(e-n|0)==-1)){c[b>>2]=6;break a}}while(0);h:do if(!i){g=f;e=k;while(1){e=e+-4|0;if(!e)break h;e=aOa(g,68,e)|0;if(!e)break h;if(!(cOa(e,194949,5)|0))break;g=e+1|0;e=m-g|0;if((e|0)<5)break h}if(!((e|0)==(o|0)|(e-n|0)==-1)){c[b>>2]=5;break a}}while(0);if(!j){e=k;while(1){e=e+-3|0;if(!e){r=78;break a}e=aOa(f,73,e)|0;if(!e){r=78;break a}if(!(cOa(e,194955,4)|0))break;f=e+1|0;e=m-f|0;if((e|0)<4){r=78;break a}}if(!((e|0)==(o|0)|(e-n|0)==-1))c[b>>2]=4;else r=78}else r=78}else r=78;while(0);if((r|0)==78){r=mr(229708,115267,39)|0;d=a[p>>0]|0;b=d<<24>>24<0;d=mr(mr(r,b?c[t>>2]|0:t,b?c[q>>2]|0:d&255)|0,184787,1)|0;BSa(s,d+(c[(c[d>>2]|0)+-12>>2]|0)|0);b=cUa(s,230580)|0;b=kk[c[(c[b>>2]|0)+28>>2]&511](b,10)|0;dUa(s);VSa(d,b)|0;HSa(d)|0;d=a[p>>0]|0}if(d<<24>>24<0)l0a(c[t>>2]|0);d=c[u>>2]|0}d=c[u+(c[d+-12>>2]|0)+24>>2]|0;if(((((d|0?(w=y1a(d,64496,42720,0)|0,w|0):0)?(x=w+52|0,(c[x>>2]|0)==0):0)?(y=j0a(12)|0,Tha(y),c[y>>2]=67956,z=c[x>>2]|0,(z|0)!=(y|0)):0)?(c[x>>2]=y,y=y+8|0,c[y>>2]=(c[y>>2]|0)+1,z|0):0)?(x=z+8|0,y=c[x>>2]|0,c[x>>2]=y-1,(y|0)==1):0)UU(z,1,1);if((a[v+11>>0]|0)>=0){l=A;return}l0a(c[v>>2]|0);l=A;return}function lr(b){b=b|0;var d=0,e=0;if((a[223632]|0)==0?g2a(223632)|0:0)kr(225352);d=(c[56338]|0)<(b|0);if((a[223632]|0)==0?g2a(223632)|0:0)kr(225352);if(d){b=225356;return b|0}d=c[56362]|0;e=d+56|0;if((c[e>>2]|0)!=(b|0)){gk[c[(c[d>>2]|0)+24>>2]&1023](d)|0;c[e>>2]=b}if(a[223632]|0){b=225444;return b|0}if(!(g2a(223632)|0)){b=225444;return b|0}kr(225352);b=225444;return b|0}function mr(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0;n=l;l=l+16|0;h=n+12|0;k=n;m=n+8|0;ISa(k,b);if(!(a[k>>0]|0)){JSa(k);l=n;return b|0}i=(c[b>>2]|0)+-12|0;c[m>>2]=c[b+(c[i>>2]|0)+24>>2];i=b+(c[i>>2]|0)|0;j=c[i+4>>2]|0;g=d+e|0;f=i+76|0;e=c[f>>2]|0;if((e|0)==-1){BSa(h,i);e=cUa(h,230580)|0;e=kk[c[(c[e>>2]|0)+28>>2]&511](e,32)|0;dUa(h);e=e<<24>>24;c[f>>2]=e}c[h>>2]=c[m>>2];if(nr(h,d,(j&176|0)==32?g:d,g,i,e&255)|0){JSa(k);l=n;return b|0}m=b+(c[(c[b>>2]|0)+-12>>2]|0)|0;ySa(m,c[m+16>>2]|5);JSa(k);l=n;return b|0}function nr(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,m=0,n=0,o=0,p=0;p=l;l=l+16|0;n=p;o=c[b>>2]|0;if(!o){o=0;l=p;return o|0}i=d;j=f-i|0;m=g+12|0;k=c[m>>2]|0;j=(k|0)>(j|0)?k-j|0:0;k=e;g=k-i|0;if((g|0)>0?(lk[c[(c[o>>2]|0)+48>>2]&127](o,d,g)|0)!=(g|0):0){c[b>>2]=0;o=0;l=p;return o|0}do if((j|0)>0){c[n>>2]=0;c[n+4>>2]=0;c[n+8>>2]=0;if(j>>>0<11){d=n+11|0;a[d>>0]=j;g=n;i=n}else{d=j+16&-16;g=j0a(d)|0;c[n>>2]=g;c[n+8>>2]=d|-2147483648;c[n+4>>2]=j;d=n+11|0;i=n}z2a(g|0,h|0,j|0)|0;a[g+j>>0]=0;if((lk[c[(c[o>>2]|0)+48>>2]&127](o,(a[d>>0]|0)<0?c[i>>2]|0:n,j)|0)==(j|0)){if((a[d>>0]|0)<0)l0a(c[i>>2]|0);break}c[b>>2]=0;if((a[d>>0]|0)<0)l0a(c[i>>2]|0);o=0;l=p;return o|0}while(0);f=f-k|0;if((f|0)>0?(lk[c[(c[o>>2]|0)+48>>2]&127](o,e,f)|0)!=(f|0):0){c[b>>2]=0;o=0;l=p;return o|0}c[m>>2]=0;l=p;return o|0}function or(a){a=a|0;var b=0,d=0;c[a>>2]=67840;b=a+8|0;c[b>>2]=67860;c[a+32>>2]=0;ySa(a+8|0,0);d=c[a+4>>2]|0;if(d|0)Bk[c[(c[d>>2]|0)+4>>2]&2047](d);kSa(a,67872);iRa(b);return}function pr(a){a=a|0;var b=0,d=0;c[a>>2]=67840;b=a+8|0;c[b>>2]=67860;c[a+32>>2]=0;ySa(a+8|0,0);d=c[a+4>>2]|0;if(d|0)Bk[c[(c[d>>2]|0)+4>>2]&2047](d);kSa(a,67872);iRa(b);l0a(a);return}function qr(a){a=a|0;var b=0,d=0;a=a+(c[(c[a>>2]|0)+-12>>2]|0)|0;c[a>>2]=67840;b=a+8|0;c[b>>2]=67860;c[a+32>>2]=0;ySa(b,0);d=c[a+4>>2]|0;if(d|0)Bk[c[(c[d>>2]|0)+4>>2]&2047](d);kSa(a,67872);iRa(b);return}function rr(a){a=a|0;pr(a+(c[(c[a>>2]|0)+-12>>2]|0)|0);return}function sr(a){a=a|0;var b=0,d=0;c[a>>2]=67784;b=a+8|0;c[b>>2]=67804;c[a+32>>2]=0;ySa(a+8|0,0);d=c[a+4>>2]|0;if(d|0)Bk[c[(c[d>>2]|0)+4>>2]&2047](d);kSa(a,67816);iRa(b);return}function tr(a){a=a|0;var b=0,d=0;c[a>>2]=67784;b=a+8|0;c[b>>2]=67804;c[a+32>>2]=0;ySa(a+8|0,0);d=c[a+4>>2]|0;if(d|0)Bk[c[(c[d>>2]|0)+4>>2]&2047](d);kSa(a,67816);iRa(b);l0a(a);return}function ur(a){a=a|0;var b=0,d=0;a=a+(c[(c[a>>2]|0)+-12>>2]|0)|0;c[a>>2]=67784;b=a+8|0;c[b>>2]=67804;c[a+32>>2]=0;ySa(b,0);d=c[a+4>>2]|0;if(d|0)Bk[c[(c[d>>2]|0)+4>>2]&2047](d);kSa(a,67816);iRa(b);return}function vr(a){a=a|0;tr(a+(c[(c[a>>2]|0)+-12>>2]|0)|0);return}function wr(b){b=b|0;var d=0,e=0,f=0,g=0;f=l;l=l+48|0;d=f+32|0;e=f+16|0;ESa(b);g=b+32|0;c[g>>2]=0;c[g+4>>2]=0;c[g+8>>2]=0;c[g+12>>2]=0;c[b+48>>2]=24;c[b>>2]=67980;c[b+52>>2]=0;c[b+56>>2]=3;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;g=j0a(4096)|0;c[d>>2]=g;c[d+8>>2]=-2147479552;c[d+4>>2]=4095;z2a(g|0,0,4096)|0;Ar(b,d);if((a[d+11>>0]|0)<0)l0a(c[d>>2]|0);c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[e+12>>2]=0;g=c[(c[b>>2]|0)+20>>2]|0;c[d>>2]=c[e>>2];c[d+4>>2]=c[e+4>>2];c[d+8>>2]=c[e+8>>2];c[d+12>>2]=c[e+12>>2];Qk[g&127](f,b,d,16);l=f;return}function xr(a,b){a=a|0;b=b|0;return}function yr(a){a=a|0;SU(a);l0a(a);return}function zr(a,b,d){a=a|0;b=b|0;d=d|0;if((b|0)<3){YQa(d,c[26719]|0)|0;return}else{YQa(d,c[26751]|0)|0;return}}function Ar(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;h=b+32|0;z0a(h,d)|0;g=b+44|0;c[g>>2]=0;i=b+48|0;f=c[i>>2]|0;if(f&8|0){d=a[h+11>>0]|0;if(d<<24>>24<0){d=c[h>>2]|0;e=d;d=d+(c[b+36>>2]|0)|0}else{e=h;d=h+(d&255)|0}c[g>>2]=d;c[b+8>>2]=e;c[b+12>>2]=e;c[b+16>>2]=d}if(!(f&16))return;f=h+11|0;d=a[f>>0]|0;if(d<<24>>24<0){e=c[b+36>>2]|0;c[g>>2]=(c[h>>2]|0)+e;d=(c[b+40>>2]&2147483647)+-1|0}else{e=d&255;c[g>>2]=h+e;d=10}F0a(h,d,0);f=a[f>>0]|0;if(f<<24>>24<0){d=c[h>>2]|0;f=c[b+36>>2]|0}else{d=h;f=f&255}g=b+24|0;c[g>>2]=d;c[b+20>>2]=d;c[b+28>>2]=d+f;if(!(c[i>>2]&3))return;if((e|0)>=0){if(!e)return}else{d=d+2147483647|0;e=e+-2147483647|0;b=(e|0)<0;d=b?d+2147483647|0:d;c[g>>2]=d;e=b?1:e}c[g>>2]=d+e;return}function Br(b){b=b|0;var d=0;c[b>>2]=68044;d=b+32|0;if((a[d+11>>0]|0)<0)l0a(c[d>>2]|0);oRa(b);return}function Cr(b){b=b|0;var d=0;c[b>>2]=68044;d=b+32|0;if((a[d+11>>0]|0)<0)l0a(c[d>>2]|0);oRa(b);l0a(b);return}function Dr(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0;i=d+44|0;j=c[i>>2]|0;n=d+24|0;o=c[n>>2]|0;if(j>>>0<o>>>0){c[i>>2]=o;m=o}else m=j;l=h&24;a:do if((l|0)!=0?!((g|0)==1&(l|0)==24):0){if(!m){k=0;l=0}else{i=d+32|0;if((a[i+11>>0]|0)<0)i=c[i>>2]|0;l=m-i|0;k=((l|0)<0)<<31>>31}b:do switch(g|0){case 0:{i=0;j=0;break}case 1:if(!(h&8)){j=o-(c[d+20>>2]|0)|0;i=j;j=((j|0)<0)<<31>>31;break b}else{j=(c[d+12>>2]|0)-(c[d+8>>2]|0)|0;i=j;j=((j|0)<0)<<31>>31;break b}case 2:{i=l;j=k;break}default:{j=-1;i=-1;break a}}while(0);j=p2a(i|0,j|0,e|0,f|0)|0;i=y;if(!((i|0)<0|((k|0)<(i|0)|(k|0)==(i|0)&l>>>0<j>>>0))){g=h&8;if(!((j|0)==0&(i|0)==0)){if(g|0?(c[d+12>>2]|0)==0:0){j=-1;i=-1;break}if((h&16|0)!=0&(o|0)==0){j=-1;i=-1;break}}if(g|0){c[d+12>>2]=(c[d+8>>2]|0)+j;c[d+16>>2]=m}if(h&16)c[n>>2]=(c[d+20>>2]|0)+j}else{j=-1;i=-1}}else{j=-1;i=-1}while(0);o=b;c[o>>2]=0;c[o+4>>2]=0;b=b+8|0;c[b>>2]=j;c[b+4>>2]=i;return}function Er(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;d=d+8|0;Tk[c[(c[b>>2]|0)+16>>2]&15](a,b,c[d>>2]|0,c[d+4>>2]|0,0,e);return}function Fr(a){a=a|0;var b=0,e=0,f=0;b=a+44|0;f=c[b>>2]|0;e=c[a+24>>2]|0;if(f>>>0<e>>>0){c[b>>2]=e;f=e}if(!(c[a+48>>2]&8)){a=-1;return a|0}b=a+16|0;e=c[b>>2]|0;if(e>>>0<f>>>0){c[b>>2]=f;e=f}b=c[a+12>>2]|0;if(b>>>0>=e>>>0){a=-1;return a|0}a=d[b>>0]|0;return a|0}function Gr(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;f=b+44|0;e=c[f>>2]|0;g=c[b+24>>2]|0;if(e>>>0<g>>>0){c[f>>2]=g;e=g}h=b+12|0;f=c[h>>2]|0;if((c[b+8>>2]|0)>>>0>=f>>>0){d=-1;return d|0}if((d|0)==-1){c[h>>2]=f+-1;c[b+16>>2]=e;d=0;return d|0}if(!(c[b+48>>2]&16)){g=d&255;f=f+-1|0;if((a[f>>0]|0)!=g<<24>>24){d=-1;return d|0}}else{g=d&255;f=f+-1|0}c[h>>2]=f;c[b+16>>2]=e;a[f>>0]=g;return d|0}function Hr(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;u=l;l=l+16|0;p=u;if((d|0)==-1){t=0;l=u;return t|0}q=b+12|0;r=b+8|0;s=(c[q>>2]|0)-(c[r>>2]|0)|0;t=b+24|0;k=c[t>>2]|0;n=b+28|0;e=c[n>>2]|0;if((k|0)==(e|0)){j=b+48|0;if(!(c[j>>2]&16)){t=-1;l=u;return t|0}h=b+20|0;i=c[h>>2]|0;o=b+44|0;m=(c[o>>2]|0)-i|0;g=b+32|0;K0a(g,0);e=g+11|0;if((a[e>>0]|0)<0)f=(c[b+40>>2]&2147483647)+-1|0;else f=10;F0a(g,f,0);e=a[e>>0]|0;if(e<<24>>24<0){f=c[g>>2]|0;e=c[b+36>>2]|0}else{f=g;e=e&255}e=f+e|0;c[h>>2]=f;c[n>>2]=e;k=f+(k-i)|0;c[t>>2]=k;f=f+m|0;c[o>>2]=f;m=o;g=o;i=e}else{f=b+44|0;m=f;j=b+48|0;g=f;f=c[f>>2]|0;i=e}h=k+1|0;c[p>>2]=h;f=c[(h>>>0<f>>>0?g:p)>>2]|0;c[m>>2]=f;if(c[j>>2]&8|0){e=b+32|0;if((a[e+11>>0]|0)<0)e=c[e>>2]|0;c[r>>2]=e;c[q>>2]=e+s;c[b+16>>2]=f}if((k|0)==(i|0)){t=kk[c[(c[b>>2]|0)+52>>2]&511](b,d&255)|0;l=u;return t|0}else{c[t>>2]=h;a[k>>0]=d;t=d&255;l=u;return t|0}return 0}function Ir(b){b=b|0;var d=0,e=0,f=0,g=0;c[b>>2]=67980;d=b+52|0;e=c[d>>2]|0;if(e|0?(g=e+8|0,f=c[g>>2]|0,c[g>>2]=f-1,(f|0)==1):0)UU(e,1,1);c[d>>2]=0;c[b>>2]=68044;d=b+32|0;if((a[d+11>>0]|0)>=0){oRa(b);return}l0a(c[d>>2]|0);oRa(b);return}function Jr(b){b=b|0;var d=0,e=0,f=0,g=0;c[b>>2]=67980;d=b+52|0;e=c[d>>2]|0;if(e|0?(g=e+8|0,f=c[g>>2]|0,c[g>>2]=f-1,(f|0)==1):0)UU(e,1,1);c[d>>2]=0;c[b>>2]=68044;d=b+32|0;if((a[d+11>>0]|0)>=0){oRa(b);l0a(b);return}l0a(c[d>>2]|0);oRa(b);l0a(b);return}function Kr(b){b=b|0;var d=0,e=0,f=0,g=0,h=0;h=l;l=l+48|0;f=h+32|0;g=h+16|0;d=b+24|0;e=c[d>>2]|0;if((e|0)==(c[b+28>>2]|0))kk[c[(c[b>>2]|0)+52>>2]&511](b,0)|0;else{c[d>>2]=e+1;a[e>>0]=0}d=c[b+52>>2]|0;if(d|0)Nk[c[(c[d>>2]|0)+12>>2]&255](d,c[b+56>>2]|0,c[b+20>>2]|0);c[g>>2]=0;c[g+4>>2]=0;c[g+8>>2]=0;c[g+12>>2]=0;e=c[(c[b>>2]|0)+20>>2]|0;c[f>>2]=c[g>>2];c[f+4>>2]=c[g+4>>2];c[f+8>>2]=c[g+8>>2];c[f+12>>2]=c[g+12>>2];Qk[e&127](h,b,f,16);l=h;return 0}function Lr(a){a=a|0;oRa(a);l0a(a);return}function Mr(a,b,c){a=a|0;b=b|0;c=c|0;return c|0}function Nr(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;Or(a,b,d);c[a>>2]=68108;c[a+32>>2]=0;c[a+36>>2]=0;c[a+40>>2]=0;e=c[b+44>>2]|0;c[a+44>>2]=e;if(e|0){e=e+8|0;c[e>>2]=(c[e>>2]|0)+1}e=kk[c[(c[d>>2]|0)+64>>2]&511](d,c[b+48>>2]|0)|0;c[a+48>>2]=e;if(e|0){e=e+(c[(c[e>>2]|0)+-16>>2]|0)+8|0;c[e>>2]=(c[e>>2]|0)+1}e=kk[c[(c[d>>2]|0)+64>>2]&511](d,c[b+52>>2]|0)|0;c[a+52>>2]=e;if(!e)return;a=e+(c[(c[e>>2]|0)+-16>>2]|0)+8|0;c[a>>2]=(c[a>>2]|0)+1;return}function Or(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;Tha(a);c[a>>2]=68320;t0a(a+12|0,b+12|0);c[a+24>>2]=c[b+24>>2];e=a+28|0;c[e>>2]=0;a=c[b+28>>2]|0;if(!a)return;if(!(c[d+4>>2]&4096)){c[e>>2]=a;e=a+8|0;c[e>>2]=(c[e>>2]|0)+1;return}a=Zr(a,d)|0;b=c[e>>2]|0;if((b|0)==(a|0))return;if(b|0?(f=b+8|0,d=c[f>>2]|0,c[f>>2]=d-1,(d|0)==1):0)UU(b,1,1);c[e>>2]=a;if(!a)return;f=a+8|0;c[f>>2]=(c[f>>2]|0)+1;return}function Pr(b){b=b|0;var d=0,e=0,f=0;c[b>>2]=68320;d=c[b+28>>2]|0;if(d|0?(f=d+8|0,e=c[f>>2]|0,c[f>>2]=e-1,(e|0)==1):0)UU(d,1,1);d=b+12|0;if((a[d+11>>0]|0)>=0){SU(b);return}l0a(c[d>>2]|0);SU(b);return}function Qr(a){a=a|0;Di()}function Rr(a,b){a=a|0;b=b|0;return 1}function Sr(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;c[a>>2]=68108;b=a+52|0;d=c[b>>2]|0;if(d|0?(e=d+(c[(c[d>>2]|0)+-16>>2]|0)|0,g=e+8|0,d=c[g>>2]|0,c[g>>2]=d-1,(d|0)==1):0)UU(e,1,1);c[b>>2]=0;b=a+48|0;d=c[b>>2]|0;if(d|0?(f=d+(c[(c[d>>2]|0)+-16>>2]|0)|0,e=f+8|0,g=c[e>>2]|0,c[e>>2]=g-1,(g|0)==1):0)UU(f,1,1);c[b>>2]=0;b=a+44|0;d=c[b>>2]|0;if(d|0?(f=d+8|0,g=c[f>>2]|0,c[f>>2]=g-1,(g|0)==1):0)UU(d,1,1);c[b>>2]=0;b=c[a+32>>2]|0;if(!b){Pr(a);return}c[a+36>>2]=b;l0a(b);Pr(a);return}function Tr(a){a=a|0;Di()}function Ur(a,b){a=a|0;b=b|0;if(!b){b=0;return b|0}b=(y1a(b,42800,42816,0)|0)!=0;return b|0}function Vr(a){a=a|0;return 186332}function Wr(a){a=a|0;return 115491}function Xr(a,b){a=a|0;b=b|0;return 0}function Yr(a,b){a=a|0;b=b|0;return}function Zr(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;g=l;l=l+16|0;f=g;if(!b){if((a[223632]|0)==0?g2a(223632)|0:0)kr(225352);if((c[56338]|0)<=1){f=0;l=g;return f|0}e=mr(lr(2)|0,172255,88)|0;BSa(f,e+(c[(c[e>>2]|0)+-12>>2]|0)|0);d=cUa(f,230580)|0;d=kk[c[(c[d>>2]|0)+28>>2]&511](d,10)|0;dUa(f);VSa(e,d)|0;HSa(e)|0;f=0;l=g;return f|0}b=kk[c[(c[b>>2]|0)+16>>2]&511](b,d)|0;d=(b|0)==0;if(!d?(e=b+8|0,c[e>>2]=(c[e>>2]|0)+1,e=y1a(b,42800,47696,0)|0,e|0):0){Wha(b)|0;f=e;l=g;return f|0}if((a[223632]|0)==0?g2a(223632)|0:0)kr(225352);if((c[56338]|0)>1){e=mr(lr(2)|0,172166,88)|0;BSa(f,e+(c[(c[e>>2]|0)+-12>>2]|0)|0);h=cUa(f,230580)|0;h=kk[c[(c[h>>2]|0)+28>>2]&511](h,10)|0;dUa(f);VSa(e,h)|0;HSa(e)|0}if(d){h=0;l=g;return h|0}f=b+8|0;h=c[f>>2]|0;c[f>>2]=h-1;if((h|0)!=1){h=0;l=g;return h|0}UU(b,1,1);h=0;l=g;return h|0}function _r(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;c[a>>2]=68492;e=c[a+20>>2]|0;if(e|0){f=c[e>>2]|0;if(f|0){g=e+4|0;b=c[g>>2]|0;if((b|0)==(f|0))b=f;else{do{b=b+-4|0;d=c[b>>2]|0;if(d|0?(i=d+8|0,j=c[i>>2]|0,c[i>>2]=j-1,(j|0)==1):0)UU(d,1,1);c[b>>2]=0}while((b|0)!=(f|0));b=c[e>>2]|0}c[g>>2]=f;l0a(b)}l0a(e)}e=c[a+24>>2]|0;if(e|0){f=c[e>>2]|0;if(f|0){g=e+4|0;b=c[g>>2]|0;if((b|0)==(f|0))b=f;else{do{b=b+-4|0;d=c[b>>2]|0;if(d|0?(i=d+8|0,j=c[i>>2]|0,c[i>>2]=j-1,(j|0)==1):0)UU(d,1,1);c[b>>2]=0}while((b|0)!=(f|0));b=c[e>>2]|0}c[g>>2]=f;l0a(b)}l0a(e)}e=c[a+28>>2]|0;if(e|0){f=c[e>>2]|0;if(f|0){g=e+4|0;b=c[g>>2]|0;if((b|0)==(f|0))b=f;else{do{b=b+-4|0;d=c[b>>2]|0;if(d|0?(i=d+8|0,j=c[i>>2]|0,c[i>>2]=j-1,(j|0)==1):0)UU(d,1,1);c[b>>2]=0}while((b|0)!=(f|0));b=c[e>>2]|0}c[g>>2]=f;l0a(b)}l0a(e)}e=c[a+32>>2]|0;if(e|0){f=c[e>>2]|0;if(f|0){g=e+4|0;b=c[g>>2]|0;if((b|0)==(f|0))b=f;else{do{b=b+-4|0;d=c[b>>2]|0;if(d|0?(i=d+8|0,j=c[i>>2]|0,c[i>>2]=j-1,(j|0)==1):0)UU(d,1,1);c[b>>2]=0}while((b|0)!=(f|0));b=c[e>>2]|0}c[g>>2]=f;l0a(b)}l0a(e)}i=a+36|0;d=c[i>>2]|0;j=a+40|0;b=c[j>>2]|0;if((d|0)!=(b|0))do{h=c[d>>2]|0;if(h){f=c[h>>2]|0;if(f|0){g=h+4|0;b=c[g>>2]|0;if((b|0)==(f|0))b=f;else{do{b=b+-4|0;e=c[b>>2]|0;if(e|0?(l=e+8|0,k=c[l>>2]|0,c[l>>2]=k-1,(k|0)==1):0)UU(e,1,1);c[b>>2]=0}while((b|0)!=(f|0));b=c[h>>2]|0}c[g>>2]=f;l0a(b)}l0a(h);b=c[j>>2]|0}d=d+4|0}while((d|0)!=(b|0));b=c[a+48>>2]|0;if(b|0){c[a+52>>2]=b;l0a(b)}b=c[i>>2]|0;if(!b){SU(a);return}c[j>>2]=b;l0a(b);SU(a);return}function $r(a){a=a|0;_r(a);l0a(a);return}function as(a){a=a|0;Sr(a);return}function bs(a){a=a|0;Sr(a);l0a(a);return}function cs(a){a=a|0;a=j0a(72)|0;hia(a);c[a>>2]=68512;c[a+56>>2]=770;c[a+60>>2]=771;c[a+64>>2]=770;c[a+68>>2]=771;return a|0}function ds(a,b){a=a|0;b=b|0;var d=0;d=j0a(72)|0;Nr(d,a,b);c[d>>2]=68512;c[d+56>>2]=c[a+56>>2];c[d+60>>2]=c[a+60>>2];c[d+64>>2]=c[a+64>>2];c[d+68>>2]=c[a+68>>2];return d|0}function es(a,b){a=a|0;b=b|0;if(!b){b=0;return b|0}b=(y1a(b,42800,42848,0)|0)!=0;return b|0}function fs(a){a=a|0;return 186332}function gs(a){a=a|0;return 115674}function hs(a){a=a|0;return 21}function is(a,b){a=a|0;b=b|0;var d=0,e=0;if((a|0)==(b|0)){b=0;return b|0}if(!a)e2a();d=c[(c[(c[a>>2]|0)+-4>>2]|0)+4>>2]|0;e=c[(c[(c[b>>2]|0)+-4>>2]|0)+4>>2]|0;if(d>>>0<e>>>0){b=-1;return b|0}if((d|0)!=(e|0)){b=1;return b|0}d=c[a+56>>2]|0;e=c[b+56>>2]|0;if(d>>>0<e>>>0){b=-1;return b|0}if(e>>>0<d>>>0){b=1;return b|0}d=c[a+60>>2]|0;e=c[b+60>>2]|0;if(d>>>0<e>>>0){b=-1;return b|0}if(e>>>0<d>>>0){b=1;return b|0}d=c[a+64>>2]|0;e=c[b+64>>2]|0;if(d>>>0<e>>>0){b=-1;return b|0}if(e>>>0<d>>>0){b=1;return b|0}else{a=c[a+68>>2]|0;b=c[b+68>>2]|0;return (a>>>0<b>>>0?-1:b>>>0<a>>>0&1)|0}return 0}function js(a,b){a=a|0;b=b|0;Jk[c[(c[b>>2]|0)+8>>2]&1023](b,3042);return 1}function ks(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;i=l;l=l+16|0;e=i;f=b+56|0;g=c[f>>2]|0;h=c[b+64>>2]|0;if(!((g|0)==(h|0)?(c[b+60>>2]|0)==(c[b+68>>2]|0):0)){d=c[d+832>>2]|0;if(a[d+792>>0]|0){Qk[c[d+796>>2]&127](g,c[b+60>>2]|0,h,c[b+68>>2]|0);l=i;return}if((a[223632]|0)==0?g2a(223632)|0:0)kr(225352);if((c[56338]|0)>1){h=mr(lr(2)|0,115558,115)|0;BSa(e,h+(c[(c[h>>2]|0)+-12>>2]|0)|0);g=cUa(e,230580)|0;g=kk[c[(c[g>>2]|0)+28>>2]&511](g,10)|0;dUa(e);VSa(h,g)|0;HSa(h)|0}}Mh(c[f>>2]|0,c[b+60>>2]|0);l=i;return}function ls(a){a=a|0;var b=0;c[a>>2]=68724;b=c[a+40>>2]|0;if(!b){SU(a);return}c[a+44>>2]=b;l0a(b);SU(a);return}function ms(a){a=a|0;var b=0;c[a>>2]=68724;b=c[a+40>>2]|0;if(b|0){c[a+44>>2]=b;l0a(b)}SU(a);l0a(a);return}function ns(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;c[a>>2]=68744;f=a+60|0;b=a+68|0;if(c[b>>2]|0?(d=c[a+64>>2]|0,e=(c[f>>2]|0)+4|0,g=c[d>>2]|0,c[g+4>>2]=c[e>>2],c[c[e>>2]>>2]=g,c[b>>2]=0,(d|0)!=(f|0)):0)do{b=d;d=c[d+4>>2]|0;e=c[b+8>>2]|0;if(e|0?(h=e+8|0,g=c[h>>2]|0,c[h>>2]=g-1,(g|0)==1):0)UU(e,1,1);l0a(b)}while((d|0)!=(f|0));f=a+48|0;b=a+56|0;if(!(c[b>>2]|0)){h=a+12|0;oX(h);SU(a);return}d=c[a+52>>2]|0;h=(c[f>>2]|0)+4|0;g=c[d>>2]|0;c[g+4>>2]=c[h>>2];c[c[h>>2]>>2]=g;c[b>>2]=0;if((d|0)==(f|0)){h=a+12|0;oX(h);SU(a);return}do{b=d;d=c[d+4>>2]|0;e=c[b+8>>2]|0;if(e|0?(g=e+8|0,h=c[g>>2]|0,c[g>>2]=h-1,(h|0)==1):0)UU(e,1,1);l0a(b)}while((d|0)!=(f|0));h=a+12|0;oX(h);SU(a);return}function os(a){a=a|0;ns(a);l0a(a);return}function ps(a){a=a|0;c[a>>2]=68764;Hs(a+44|0,c[a+48>>2]|0);Is(a);return}function qs(a){a=a|0;c[a>>2]=68764;Hs(a+44|0,c[a+48>>2]|0);Is(a);l0a(a);return}function rs(a,b){a=a|0;b=b|0;if(!b){b=a+56|0;c[b>>2]=(c[b>>2]|0)+1}else c[a+56>>2]=c[b+12>>2];b=a+60|0;c[b>>2]=(c[b>>2]|0)+1;return}function ss(a){a=a|0;c[a+60>>2]=0;c[a+64>>2]=0;h[a+72>>3]=0.0;c[a+80>>2]=0;h[a+88>>3]=0.0;c[a+96>>2]=0;h[a+104>>3]=0.0;return}function ts(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,i=0,j=0.0;d=l;l=l+16|0;g=d;e=c[a+60>>2]|0;j=(e|0)==0?1.0:+(e>>>0);e=mr(b,116078,37)|0;BSa(g,e+(c[(c[e>>2]|0)+-12>>2]|0)|0);f=cUa(g,230580)|0;f=kk[c[(c[f>>2]|0)+28>>2]&511](f,10)|0;dUa(g);VSa(e,f)|0;HSa(e)|0;e=mr(b,116116,31)|0;e=mr(QSa(e,c[a+28>>2]|0)|0,116148,30)|0;e=mr(QSa(e,c[a+32>>2]|0)|0,116179,29)|0;f=a+36|0;e=QSa(e,c[f>>2]|0)|0;BSa(g,e+(c[(c[e>>2]|0)+-12>>2]|0)|0);i=cUa(g,230580)|0;i=kk[c[(c[i>>2]|0)+28>>2]&511](i,10)|0;dUa(g);VSa(e,i)|0;HSa(e)|0;e=mr(b,154025,23)|0;e=mr(QSa(e,c[a+80>>2]|0)|0,154049,16)|0;i=a+88|0;e=mr(TSa(e,+h[i>>3])|0,154066,18)|0;i=mr(TSa(e,+h[i>>3]/j*1.0e3)|0,180469,2)|0;BSa(g,i+(c[(c[i>>2]|0)+-12>>2]|0)|0);e=cUa(g,230580)|0;e=kk[c[(c[e>>2]|0)+28>>2]&511](e,10)|0;dUa(g);VSa(i,e)|0;HSa(i)|0;i=mr(b,154085,21)|0;i=mr(QSa(i,c[a+64>>2]|0)|0,154107,14)|0;e=a+72|0;i=mr(TSa(i,+h[e>>3])|0,154066,18)|0;e=mr(TSa(i,+h[e>>3]/j*1.0e3)|0,180469,2)|0;BSa(g,e+(c[(c[e>>2]|0)+-12>>2]|0)|0);i=cUa(g,230580)|0;i=kk[c[(c[i>>2]|0)+28>>2]&511](i,10)|0;dUa(g);VSa(e,i)|0;HSa(e)|0;e=mr(b,116209,21)|0;e=mr(QSa(e,c[a+96>>2]|0)|0,116231,13)|0;i=a+104|0;e=mr(TSa(e,+h[i>>3])|0,154066,18)|0;i=mr(TSa(e,+h[i>>3]/j*1.0e3)|0,180469,2)|0;BSa(g,i+(c[(c[i>>2]|0)+-12>>2]|0)|0);e=cUa(g,230580)|0;e=kk[c[(c[e>>2]|0)+28>>2]&511](e,10)|0;dUa(g);VSa(i,e)|0;HSa(i)|0;i=mr(b,115971,34)|0;e=a+40|0;i=mr(QSa(i,c[e>>2]|0)|0,153692,20)|0;e=TSa(i,+((c[f>>2]|0)>>>0)/+((c[e>>2]|0)>>>0))|0;BSa(g,e+(c[(c[e>>2]|0)+-12>>2]|0)|0);f=cUa(g,230580)|0;f=kk[c[(c[f>>2]|0)+28>>2]&511](f,10)|0;dUa(g);VSa(e,f)|0;HSa(e)|0;Jk[c[(c[a>>2]|0)+24>>2]&1023](a,b);l=d;return}function us(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;w=l;l=l+16|0;v=w;g=mr(b,115930,40)|0;BSa(v,g+(c[(c[g>>2]|0)+-12>>2]|0)|0);u=cUa(v,230580)|0;u=kk[c[(c[u>>2]|0)+28>>2]&511](u,10)|0;dUa(v);VSa(g,u)|0;HSa(g)|0;g=c[a+44>>2]|0;u=a+48|0;if((g|0)==(u|0)){g=0;f=0;e=0;d=0}else{f=0;e=0;d=0;j=0;do{k=c[g+28>>2]|0;s=k+72|0;p=c[s>>2]|0;o=(p|0)==0;if(o)h=0;else{h=0;i=p;do{h=h+1|0;i=c[i+64>>2]|0}while((i|0)!=0)}j=h+j|0;t=k+44|0;d=(c[t>>2]|0)+d|0;r=k+56|0;n=c[r>>2]|0;e=n+e|0;q=k+68|0;m=k+40|0;k=c[m>>2]|0;if(o)h=0;else{h=0;i=p;do{h=h+1|0;i=c[i+64>>2]|0}while((i|0)!=0)}f=(N(h+n|0,k)|0)+f|0;k=mr(b,153713,8)|0;k=mr(QSa(k,c[m>>2]|0)|0,116006,39)|0;i=c[s>>2]|0;if(!i)h=0;else{h=0;do{h=h+1|0;i=c[i+64>>2]|0}while((i|0)!=0)}h=mr(QSa(k,h)|0,116046,31)|0;h=mr(QSa(h,c[t>>2]|0)|0,153792,21)|0;h=mr(QSa(h,c[r>>2]|0)|0,153814,28)|0;h=QSa(h,c[q>>2]|0)|0;BSa(v,h+(c[(c[h>>2]|0)+-12>>2]|0)|0);t=cUa(v,230580)|0;t=kk[c[(c[t>>2]|0)+28>>2]&511](t,10)|0;dUa(v);VSa(h,t)|0;HSa(h)|0;h=c[g+4>>2]|0;if(!h){h=g+8|0;i=c[h>>2]|0;if((c[i>>2]|0)==(g|0))g=i;else do{t=c[h>>2]|0;h=t+8|0;g=c[h>>2]|0}while((c[g>>2]|0)!=(t|0))}else{g=h;while(1){h=c[g>>2]|0;if(!h)break;else g=h}}}while((g|0)!=(u|0));g=j}u=QSa(mr(QSa(mr(QSa(mr(QSa(mr(b,153601,21)|0,g)|0,153623,12)|0,d)|0,153636,13)|0,e)|0,153650,13)|0,f)|0;BSa(v,u+(c[(c[u>>2]|0)+-12>>2]|0)|0);t=cUa(v,230580)|0;t=kk[c[(c[t>>2]|0)+28>>2]&511](t,10)|0;dUa(v);VSa(u,t)|0;HSa(u)|0;u=mr(b,115971,34)|0;b=a+40|0;a=mr(QSa(u,c[b>>2]|0)|0,153692,20)|0;b=TSa(a,+(f>>>0)/+((c[b>>2]|0)>>>0))|0;BSa(v,b+(c[(c[b>>2]|0)+-12>>2]|0)|0);a=cUa(v,230580)|0;a=kk[c[(c[a>>2]|0)+28>>2]&511](a,10)|0;dUa(v);VSa(b,a)|0;HSa(b)|0;l=w;return}function vs(a,b,d){a=a|0;b=+b;d=d|0;var e=0,f=0,g=0,i=0,j=0,k=0,l=0,m=0.0;i=a+72|0;j=fia()|0;k=gia(j)|0;l=y;e=c[a+44>>2]|0;g=a+48|0;if((e|0)!=(g|0)&+h[d>>3]>0.0){f=e;while(1){Gs(c[f+28>>2]|0,0.0,d);a=c[f+4>>2]|0;if(!a){e=f+8|0;a=c[e>>2]|0;if((c[a>>2]|0)!=(f|0))do{f=c[e>>2]|0;e=f+8|0;a=c[e>>2]|0}while((c[a>>2]|0)!=(f|0))}else while(1){e=c[a>>2]|0;if(!e)break;else a=e}if((a|0)!=(g|0)&+h[d>>3]>0.0)f=a;else break}}a=gia(j)|0;e=y;if(e>>>0>l>>>0|(e|0)==(l|0)&a>>>0>k>>>0){l=q2a(a|0,e|0,k|0,l|0)|0;m=+h[j+8>>3]*(+(l>>>0)+4294967296.0*+(y>>>0));b=+h[i>>3];b=m+b;h[i>>3]=b;return}else{l=q2a(k|0,l|0,a|0,e|0)|0;b=-(+h[j+8>>3]*(+(l>>>0)+4294967296.0*+(y>>>0)));m=+h[i>>3];m=b+m;h[i>>3]=m;return}}function ws(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,i=0,j=0,k=0.0,l=0.0;f=a+72|0;g=fia()|0;i=gia(g)|0;j=y;b=c[a+44>>2]|0;e=a+48|0;if((b|0)!=(e|0)){d=b;while(1){Es(c[d+28>>2]|0);a=c[d+4>>2]|0;if(!a){b=d+8|0;a=c[b>>2]|0;if((c[a>>2]|0)!=(d|0))do{d=c[b>>2]|0;b=d+8|0;a=c[b>>2]|0}while((c[a>>2]|0)!=(d|0))}else while(1){b=c[a>>2]|0;if(!b)break;else a=b}if((a|0)==(e|0))break;else d=a}}b=gia(g)|0;a=y;if(a>>>0>j>>>0|(a|0)==(j|0)&b>>>0>i>>>0){j=q2a(b|0,a|0,i|0,j|0)|0;l=+h[g+8>>3]*(+(j>>>0)+4294967296.0*+(y>>>0));k=+h[f>>3];k=l+k;h[f>>3]=k;return}else{j=q2a(i|0,j|0,b|0,a|0)|0;k=-(+h[g+8>>3]*(+(j>>>0)+4294967296.0*+(y>>>0)));l=+h[f>>3];l=k+l;h[f>>3]=l;return}}function xs(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,i=0,j=0,k=0.0,l=0.0;f=a+72|0;g=fia()|0;i=gia(g)|0;j=y;b=c[a+44>>2]|0;e=a+48|0;if((b|0)!=(e|0)){d=b;while(1){Cs(c[d+28>>2]|0);a=c[d+4>>2]|0;if(!a){b=d+8|0;a=c[b>>2]|0;if((c[a>>2]|0)!=(d|0))do{d=c[b>>2]|0;b=d+8|0;a=c[b>>2]|0}while((c[a>>2]|0)!=(d|0))}else while(1){b=c[a>>2]|0;if(!b)break;else a=b}if((a|0)==(e|0))break;else d=a}}b=gia(g)|0;a=y;if(a>>>0>j>>>0|(a|0)==(j|0)&b>>>0>i>>>0){j=q2a(b|0,a|0,i|0,j|0)|0;l=+h[g+8>>3]*(+(j>>>0)+4294967296.0*+(y>>>0));k=+h[f>>3];k=l+k;h[f>>3]=k;return}else{j=q2a(i|0,j|0,b|0,a|0)|0;k=-(+h[g+8>>3]*(+(j>>>0)+4294967296.0*+(y>>>0)));l=+h[f>>3];l=k+l;h[f>>3]=l;return}}function ys(a){a=a|0;var b=0,d=0,e=0;b=c[a+44>>2]|0;e=a+48|0;if((b|0)==(e|0))return;d=b;while(1){zs(c[d+28>>2]|0);a=c[d+4>>2]|0;if(!a){b=d+8|0;a=c[b>>2]|0;if((c[a>>2]|0)!=(d|0))do{d=c[b>>2]|0;b=d+8|0;a=c[b>>2]|0}while((c[a>>2]|0)!=(d|0))}else while(1){b=c[a>>2]|0;if(!b)break;else a=b}if((a|0)==(e|0))break;else d=a}return}function zs(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;g=a+72|0;b=c[g>>2]|0;if(b|0){h=a+28|0;do{f=b+8|0;c[f>>2]=(c[f>>2]|0)+1;d=b;b=c[b+64>>2]|0;e=c[d+52>>2]|0;if(e|0?(l=e+8|0,c[l>>2]=(c[l>>2]|0)+1,As(e,c[h>>2]|0,0),k=c[l>>2]|0,c[l>>2]=k-1,(k|0)==1):0)UU(e,1,1);l=c[f>>2]|0;c[f>>2]=l-1;if((l|0)==1)UU(d,1,1)}while((b|0)!=0)}c[g>>2]=0;c[a+76>>2]=0;f=a+60|0;b=a+68|0;if(c[b>>2]|0?(i=c[a+64>>2]|0,l=(c[f>>2]|0)+4|0,k=c[i>>2]|0,c[k+4>>2]=c[l>>2],c[c[l>>2]>>2]=k,c[b>>2]=0,(i|0)!=(f|0)):0){b=i;do{d=b;b=c[b+4>>2]|0;e=c[d+8>>2]|0;if(e|0?(k=e+8|0,l=c[k>>2]|0,c[k>>2]=l-1,(l|0)==1):0)UU(e,1,1);l0a(d)}while((b|0)!=(f|0))}f=a+48|0;b=a+56|0;if(c[b>>2]|0?(j=c[a+52>>2]|0,l=(c[f>>2]|0)+4|0,k=c[j>>2]|0,c[k+4>>2]=c[l>>2],c[c[l>>2]>>2]=k,c[b>>2]=0,(j|0)!=(f|0)):0){b=j;do{d=b;b=c[b+4>>2]|0;e=c[d+8>>2]|0;if(e|0?(k=e+8|0,l=c[k>>2]|0,c[k>>2]=l-1,(l|0)==1):0)UU(e,1,1);l0a(d)}while((b|0)!=(f|0))}j=a+44|0;k=c[j>>2]|0;c[j>>2]=0;j=N(c[a+40>>2]|0,k)|0;l=c[a+24>>2]|0;a=l+36|0;c[a>>2]=(c[a>>2]|0)-j;a=l+32|0;c[a>>2]=(c[a>>2]|0)-k;l=l+64|0;c[l>>2]=(c[l>>2]|0)+k;return}function As(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;i=a+60|0;h=a+64|0;a=c[h>>2]|0;f=c[i>>2]|0;g=a-f>>2;do if(g>>>0<=b>>>0){e=b+1|0;if(e>>>0>g>>>0){Bs(i,e-g|0);break}if(e>>>0<g>>>0){f=f+(e<<2)|0;if((f|0)!=(a|0))do{a=a+-4|0;e=c[a>>2]|0;if(e|0?(j=e+8|0,g=c[j>>2]|0,c[j>>2]=g-1,(g|0)==1):0)UU(e,1,1);c[a>>2]=0}while((a|0)!=(f|0));c[h>>2]=f}}while(0);a=(c[i>>2]|0)+(b<<2)|0;e=c[a>>2]|0;if((e|0)==(d|0))return;c[a>>2]=d;if(d|0){j=d+8|0;c[j>>2]=(c[j>>2]|0)+1}if(!e)return;d=e+8|0;j=c[d>>2]|0;c[d>>2]=j-1;if((j|0)!=1)return;UU(e,1,1);return}function Bs(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;m=a+8|0;f=c[m>>2]|0;n=a+4|0;e=c[n>>2]|0;d=e;if(f-e>>2>>>0>=b>>>0){z2a(e|0,0,b<<2|0)|0;c[n>>2]=d+(b<<2);return}j=c[a>>2]|0;h=e-j>>2;e=h+b|0;g=j;if(e>>>0>1073741823)g1a(a);l=f-j|0;f=l>>1;f=l>>2>>>0<536870911?(f>>>0<e>>>0?e:f):1073741823;do if(f)if(f>>>0>1073741823){n=db(8)|0;p0a(n,183738);c[n>>2]=110936;hb(n|0,65952,1066)}else{i=j0a(f<<2)|0;break}else i=0;while(0);e=i+(h<<2)|0;l=i+(f<<2)|0;z2a(e|0,0,b<<2|0)|0;k=e+(b<<2)|0;if((d|0)==(g|0))f=j;else{b=h+-1-((d+-4+(0-j)|0)>>>2)|0;while(1){d=d+-4|0;f=c[d>>2]|0;c[e+-4>>2]=f;if(f|0){j=f+8|0;c[j>>2]=(c[j>>2]|0)+1}if((d|0)==(g|0))break;else e=e+-4|0}f=c[a>>2]|0;e=i+(b<<2)|0;g=f;d=c[n>>2]|0}c[a>>2]=e;c[n>>2]=k;c[m>>2]=l;if((d|0)!=(g|0))do{d=d+-4|0;e=c[d>>2]|0;if(e|0?(m=e+8|0,n=c[m>>2]|0,c[m>>2]=n-1,(n|0)==1):0)UU(e,1,1);c[d>>2]=0}while((d|0)!=(g|0));if(!f)return;l0a(f);return}function Cs(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;b=a+12|0;gk[c[(c[b>>2]|0)+8>>2]&1023](b)|0;if(c[a+68>>2]|0)Ds(a);gk[c[(c[b>>2]|0)+12>>2]&1023](b)|0;k=a+72|0;d=c[k>>2]|0;if(!d){n=0;o=a+24|0;o=c[o>>2]|0;m=o+32|0;l=c[m>>2]|0;l=l+n|0;c[m>>2]=l;o=o+28|0;m=c[o>>2]|0;n=m-n|0;c[o>>2]=n;Es(a);return}l=a+48|0;m=a+56|0;n=a+76|0;o=a+28|0;b=0;do{j=d+8|0;c[j>>2]=(c[j>>2]|0)+1;f=d+64|0;i=d;d=c[f>>2]|0;c[j>>2]=(c[j>>2]|0)+1;h=j0a(12)|0;c[h>>2]=0;c[h+8>>2]=i;c[j>>2]=(c[j>>2]|0)+1;c[h+4>>2]=l;g=c[l>>2]|0;c[h>>2]=g;c[g+4>>2]=h;c[l>>2]=h;c[m>>2]=(c[m>>2]|0)+1;h=c[j>>2]|0;c[j>>2]=h-1;if((h|0)==1)UU(i,1,1);g=i+60|0;h=c[g>>2]|0;e=c[f>>2]|0;if(!h)c[k>>2]=e;else{c[h+64>>2]=e;e=c[f>>2]|0}c[((e|0)==0?n:e+60|0)>>2]=h;c[f>>2]=0;c[g>>2]=0;b=b+1|0;e=c[i+52>>2]|0;if(e|0?(g=e+8|0,c[g>>2]=(c[g>>2]|0)+1,As(e,c[o>>2]|0,0),h=c[g>>2]|0,c[g>>2]=h-1,(h|0)==1):0)UU(e,1,1);h=c[j>>2]|0;c[j>>2]=h-1;if((h|0)==1)UU(i,1,1)}while((d|0)!=0);o=a+24|0;o=c[o>>2]|0;n=o+32|0;m=c[n>>2]|0;m=m+b|0;c[n>>2]=m;o=o+28|0;n=c[o>>2]|0;n=n-b|0;c[o>>2]=n;Es(a);return}function Ds(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=a+60|0;o=a+68|0;m=c[o>>2]|0;if(!m)return;n=a+64|0;b=c[n>>2]|0;d=b;if((p|0)==(d|0))b=m;else{k=a+48|0;l=a+56|0;i=a+72|0;j=a+76|0;do{f=c[b+8>>2]|0;b=(f|0)==0;if(!b){h=f+8|0;c[h>>2]=(c[h>>2]|0)+1}e=j0a(12)|0;c[e>>2]=0;c[e+8>>2]=f;if(!b){h=f+8|0;c[h>>2]=(c[h>>2]|0)+1}c[e+4>>2]=k;h=c[k>>2]|0;c[e>>2]=h;c[h+4>>2]=e;c[k>>2]=e;c[l>>2]=(c[l>>2]|0)+1;if(!b?(g=f+8|0,h=c[g>>2]|0,c[g>>2]=h-1,(h|0)==1):0)UU(f,1,1);g=f+60|0;h=c[g>>2]|0;e=f+64|0;b=c[e>>2]|0;if(!h)c[i>>2]=b;else{c[h+64>>2]=b;b=c[e>>2]|0}c[((b|0)==0?j:b+60|0)>>2]=h;c[e>>2]=0;c[g>>2]=0;b=c[d+4>>2]|0;d=b}while((p|0)!=(d|0));b=c[o>>2]|0}a=c[a+24>>2]|0;l=a+32|0;c[l>>2]=(c[l>>2]|0)+m;a=a+28|0;c[a>>2]=(c[a>>2]|0)-m;if(!b)return;b=c[n>>2]|0;n=(c[p>>2]|0)+4|0;m=c[b>>2]|0;c[m+4>>2]=c[n>>2];c[c[n>>2]>>2]=m;c[o>>2]=0;if((b|0)==(p|0))return;do{d=b;b=c[b+4>>2]|0;e=c[d+8>>2]|0;if(e|0?(n=e+8|0,o=c[n>>2]|0,c[n>>2]=o-1,(o|0)==1):0)UU(e,1,1);l0a(d)}while((b|0)!=(p|0));return}function Es(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;b=a+12|0;gk[c[(c[b>>2]|0)+8>>2]&1023](b)|0;if(c[a+68>>2]|0)Ds(a);gk[c[(c[b>>2]|0)+12>>2]&1023](b)|0;f=a+48|0;e=a+52|0;b=c[e>>2]|0;d=b;if((f|0)!=(d|0))do{Fs(c[b+8>>2]|0);b=c[d+4>>2]|0;d=b}while((f|0)!=(d|0));d=a+56|0;b=c[d>>2]|0;h=a+44|0;c[h>>2]=(c[h>>2]|0)-b;h=N(c[a+40>>2]|0,b)|0;a=c[a+24>>2]|0;g=a+36|0;c[g>>2]=(c[g>>2]|0)-h;g=a+32|0;c[g>>2]=(c[g>>2]|0)-b;a=a+64|0;c[a>>2]=(c[a>>2]|0)+b;if(!b)return;b=c[e>>2]|0;h=(c[f>>2]|0)+4|0;g=c[b>>2]|0;c[g+4>>2]=c[h>>2];c[c[h>>2]>>2]=g;c[d>>2]=0;if((b|0)==(f|0))return;do{d=b;b=c[b+4>>2]|0;e=c[d+8>>2]|0;if(e|0?(g=e+8|0,h=c[g>>2]|0,c[g>>2]=h-1,(h|0)==1):0)UU(e,1,1);l0a(d)}while((b|0)!=(f|0));return}function Fs(b){b=b|0;var d=0,e=0,f=0,g=0,h=0;e=l;l=l+16|0;d=e;if((a[223632]|0)==0?g2a(223632)|0:0)kr(225352);if((c[56338]|0)>4){g=mr(lr(5)|0,115773,33)|0;f=b+16|0;g=QSa(g,c[f>>2]|0)|0;BSa(d,g+(c[(c[g>>2]|0)+-12>>2]|0)|0);h=cUa(d,230580)|0;h=kk[c[(c[h>>2]|0)+28>>2]&511](h,10)|0;dUa(d);VSa(g,h)|0;HSa(g)|0;d=f}else d=b+16|0;if(!(c[d>>2]|0)){l=e;return}Jk[c[(c[b+72>>2]|0)+736>>2]&1023](1,d);c[d>>2]=0;c[b+32>>2]=0;c[b+44>>2]=c[b+40>>2];l=e;return}function Gs(b,d,e){b=b|0;d=+d;e=e|0;var f=0,g=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;w=l;l=l+16|0;i=w;f=b+12|0;gk[c[(c[f>>2]|0)+8>>2]&1023](f)|0;if(c[b+68>>2]|0)Ds(b);gk[c[(c[f>>2]|0)+12>>2]&1023](f)|0;u=b+24|0;g=c[u>>2]|0;f=c[g+36>>2]|0;g=c[g+40>>2]|0;if(f>>>0<=g>>>0){if((a[223632]|0)==0?g2a(223632)|0:0)kr(225352);if((c[56338]|0)<=3){l=w;return}e=mr(lr(4)|0,115807,38)|0;BSa(i,e+(c[(c[e>>2]|0)+-12>>2]|0)|0);b=cUa(i,230580)|0;b=kk[c[(c[b>>2]|0)+28>>2]&511](b,10)|0;dUa(i);VSa(e,b)|0;HSa(e)|0;l=w;return}v=b+56|0;if(!((c[v>>2]|0)!=0&!(+h[e>>3]<=0.0))){l=w;return}f=f-g|0;s=b+40|0;p=~~+M(+(+(f>>>0)/+((c[s>>2]|0)>>>0)))>>>0;if((a[223632]|0)==0?g2a(223632)|0:0)kr(225352);if((c[56338]|0)>3){t=mr(lr(4)|0,115846,41)|0;t=mr(QSa(t,c[(c[u>>2]|0)+36>>2]|0)|0,115888,41)|0;t=QSa(t,c[(c[u>>2]|0)+40>>2]|0)|0;BSa(i,t+(c[(c[t>>2]|0)+-12>>2]|0)|0);r=cUa(i,230580)|0;r=kk[c[(c[r>>2]|0)+28>>2]&511](r,10)|0;dUa(i);VSa(t,r)|0;HSa(t)|0}if((a[223632]|0)==0?g2a(223632)|0:0)kr(225352);if((c[56338]|0)>3){t=mr(QSa(mr(QSa(mr(lr(4)|0,153499,19)|0,f)|0,153519,26)|0,p)|0,153546,6)|0;t=mr(RSa(t,c[v>>2]|0)|0,153553,8)|0;BSa(i,t+(c[(c[t>>2]|0)+-12>>2]|0)|0);r=cUa(i,230580)|0;r=kk[c[(c[r>>2]|0)+28>>2]&511](r,10)|0;dUa(i);VSa(t,r)|0;HSa(t)|0}t=fia()|0;q=gia(t)|0;r=y;o=b+52|0;f=c[o>>2]|0;j=b+48|0;i=f;a:do if((j|0)==(i|0))k=0;else{n=t+8|0;g=0;while(1){k=gia(t)|0;m=y;if(m>>>0>r>>>0|(m|0)==(r|0)&k>>>0>q>>>0){m=q2a(k|0,m|0,q|0,r|0)|0;d=+h[n>>3]*(+(m>>>0)+4294967296.0*+(y>>>0))}else{m=q2a(q|0,r|0,k|0,m|0)|0;d=-(+h[n>>3]*(+(m>>>0)+4294967296.0*+(y>>>0)))}if(!(g>>>0<p>>>0?d<+h[e>>3]:0)){k=g;j=i;break a}Fs(c[f+8>>2]|0);g=g+1|0;f=c[i+4>>2]|0;i=f;if((j|0)==(i|0)){k=g;break}}}while(0);f=c[o>>2]|0;if((f|0)!=(j|0)){p=(c[j>>2]|0)+4|0;o=c[f>>2]|0;c[o+4>>2]=c[p>>2];c[c[p>>2]>>2]=o;do{g=f;f=c[f+4>>2]|0;c[v>>2]=(c[v>>2]|0)+-1;i=c[g+8>>2]|0;if(i|0?(o=i+8|0,p=c[o>>2]|0,c[o>>2]=p-1,(p|0)==1):0)UU(i,1,1);l0a(g)}while((f|0)!=(j|0))}f=b+44|0;c[f>>2]=(c[f>>2]|0)-k;f=c[u>>2]|0;g=f+36|0;c[g>>2]=(c[g>>2]|0)-(N(c[s>>2]|0,k)|0);g=f+32|0;c[g>>2]=(c[g>>2]|0)-k;f=f+64|0;c[f>>2]=(c[f>>2]|0)+k;f=gia(t)|0;g=y;if(g>>>0>r>>>0|(g|0)==(r|0)&f>>>0>q>>>0){b=q2a(f|0,g|0,q|0,r|0)|0;d=+h[t+8>>3]*(+(b>>>0)+4294967296.0*+(y>>>0))}else{b=q2a(q|0,r|0,f|0,g|0)|0;d=-(+h[t+8>>3]*(+(b>>>0)+4294967296.0*+(y>>>0)))}h[e>>3]=+h[e>>3]-d;gia(t)|0;l=w;return}function Hs(a,b){a=a|0;b=b|0;var d=0,e=0;if(!b)return;Hs(a,c[b>>2]|0);Hs(a,c[b+4>>2]|0);a=c[b+28>>2]|0;if(a|0?(e=a+8|0,d=c[e>>2]|0,c[e>>2]=d-1,(d|0)==1):0)UU(a,1,1);l0a(b);return}function Is(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;e=l;l=l+16|0;d=e;c[b>>2]=68816;if((a[223632]|0)==0?g2a(223632)|0:0)kr(225352);if((c[56338]|0)>3){i=lr(4)|0;j=b+12|0;f=j+11|0;k=a[f>>0]|0;g=k<<24>>24<0;h=b+16|0;k=mr(mr(i,g?c[j>>2]|0:j,g?c[h>>2]|0:k&255)|0,116245,3)|0;g=a[f>>0]|0;i=g<<24>>24<0;g=USa(mr(mr(k,i?c[j>>2]|0:j,i?c[h>>2]|0:g&255)|0,116249,2)|0,b)|0;BSa(d,g+(c[(c[g>>2]|0)+-12>>2]|0)|0);h=cUa(d,230580)|0;h=kk[c[(c[h>>2]|0)+28>>2]&511](h,10)|0;dUa(d);VSa(g,h)|0;HSa(g)|0;d=f}else d=b+12+11|0;if((a[d>>0]|0)>=0){SU(b);l=e;return}l0a(c[b+12>>2]|0);SU(b);l=e;return}function Js(a){a=a|0;Di()}function Ks(a,b){a=a|0;b=b|0;return}function Ls(a){a=a|0;return}function Ms(a,b){a=a|0;b=b|0;return}function Ns(a,b){a=a|0;b=b|0;return}function Os(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0;c[a>>2]=68868;Us(a,0);e=a+60|0;f=c[e>>2]|0;if(f|0){g=a+64|0;b=c[g>>2]|0;if((b|0)==(f|0))b=f;else{do{b=b+-4|0;d=c[b>>2]|0;if(d|0?(i=d+8|0,h=c[i>>2]|0,c[i>>2]=h-1,(h|0)==1):0)UU(d,1,1);c[b>>2]=0}while((b|0)!=(f|0));b=c[e>>2]|0}c[g>>2]=f;l0a(b)}b=c[a+48>>2]|0;if(!b){Pr(a);return}c[a+52>>2]=b;l0a(b);Pr(a);return}function Ps(a){a=a|0;Di()}function Qs(a,b){a=a|0;b=b|0;if(!b){b=0;return b|0}b=(y1a(b,42800,42944,0)|0)!=0;return b|0}function Rs(a){a=a|0;return 186332}function Ss(a){a=a|0;return 116344}function Ts(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;f=a+60|0;g=a+64|0;a=c[g>>2]|0;d=c[f>>2]|0;e=a-d>>2;if(e>>>0<b>>>0){Bs(f,b-e|0);return}if(e>>>0<=b>>>0)return;e=d+(b<<2)|0;if((e|0)!=(a|0))do{a=a+-4|0;d=c[a>>2]|0;if(d|0?(b=d+8|0,f=c[b>>2]|0,c[b>>2]=f-1,(f|0)==1):0)UU(d,1,1);c[a>>2]=0}while((a|0)!=(e|0));c[g>>2]=e;return}function Us(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;j=l;l=l+16|0;e=j;if((a[223632]|0)==0?g2a(223632)|0:0)kr(225352);if((c[56338]|0)>4){i=mr(USa(mr(lr(5)|0,116312,31)|0,d)|0,184787,1)|0;BSa(e,i+(c[(c[i>>2]|0)+-12>>2]|0)|0);h=cUa(e,230580)|0;h=kk[c[(c[h>>2]|0)+28>>2]&511](h,10)|0;dUa(e);VSa(i,h)|0;HSa(i)|0}if(!d){h=b+60|0;g=b+64|0;e=c[g>>2]|0;d=c[h>>2]|0;if((e|0)==(d|0)){l=j;return}f=0;do{if(c[d+(f<<2)>>2]|0){d=e-d>>2;if(d>>>0<=f>>>0)Bs(h,f+1-d|0);d=c[h>>2]|0;e=c[d+(f<<2)>>2]|0;b=c[e+56>>2]|0;if(b){Vs(b,e);d=c[h>>2]|0}d=(c[g>>2]|0)-d>>2;if(d>>>0<=f>>>0)Bs(h,f+1-d|0);d=(c[h>>2]|0)+(f<<2)|0;e=c[d>>2]|0;if(e|0?(c[d>>2]=0,b=e+8|0,i=c[b>>2]|0,c[b>>2]=i-1,(i|0)==1):0)UU(e,1,1)}f=f+1|0;e=c[g>>2]|0;d=c[h>>2]|0}while(f>>>0<e-d>>2>>>0);l=j;return}h=c[d+124>>2]|0;i=b+60|0;g=b+64|0;d=c[g>>2]|0;e=c[i>>2]|0;b=d-e>>2;do if(b>>>0<=h>>>0){f=h+1|0;if(f>>>0>b>>>0){Bs(i,f-b|0);break}if(f>>>0<b>>>0){b=e+(f<<2)|0;if((b|0)!=(d|0))do{d=d+-4|0;e=c[d>>2]|0;if(e|0?(k=e+8|0,f=c[k>>2]|0,c[k>>2]=f-1,(f|0)==1):0)UU(e,1,1);c[d>>2]=0}while((d|0)!=(b|0));c[g>>2]=b}}while(0);e=c[i>>2]|0;if(!(c[e+(h<<2)>>2]|0)){l=j;return}d=c[g>>2]|0;b=d-e>>2;do if(b>>>0<=h>>>0){f=h+1|0;if(f>>>0>b>>>0){Bs(i,f-b|0);break}if(f>>>0<b>>>0){b=e+(f<<2)|0;if((b|0)!=(d|0))do{d=d+-4|0;e=c[d>>2]|0;if(e|0?(f=e+8|0,k=c[f>>2]|0,c[f>>2]=k-1,(k|0)==1):0)UU(e,1,1);c[d>>2]=0}while((d|0)!=(b|0));c[g>>2]=b}}while(0);d=c[i>>2]|0;e=c[d+(h<<2)>>2]|0;b=c[e+56>>2]|0;if(!b)e=d;else{Vs(b,e);e=c[i>>2]|0}d=c[g>>2]|0;b=d-e>>2;do if(b>>>0<=h>>>0){f=h+1|0;if(f>>>0>b>>>0){Bs(i,f-b|0);break}if(f>>>0<b>>>0){b=e+(f<<2)|0;if((b|0)!=(d|0))do{d=d+-4|0;e=c[d>>2]|0;if(e|0?(f=e+8|0,k=c[f>>2]|0,c[f>>2]=k-1,(k|0)==1):0)UU(e,1,1);c[d>>2]=0}while((d|0)!=(b|0));c[g>>2]=b}}while(0);d=(c[i>>2]|0)+(h<<2)|0;e=c[d>>2]|0;if(!e){l=j;return}c[d>>2]=0;i=e+8|0;k=c[i>>2]|0;c[i>>2]=k-1;if((k|0)!=1){l=j;return}UU(e,1,1);l=j;return}function Vs(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;g=a+12|0;gk[c[(c[g>>2]|0)+8>>2]&1023](g)|0;c[b+52>>2]=0;c[b+20>>2]=0;c[b+24>>2]=0;c[b+28>>2]=0;c[b+44>>2]=c[b+40>>2];d=(b|0)==0;if(!d){f=b+8|0;c[f>>2]=(c[f>>2]|0)+1}e=a+60|0;f=j0a(12)|0;c[f>>2]=0;c[f+8>>2]=b;if(!d){h=b+8|0;c[h>>2]=(c[h>>2]|0)+1}c[f+4>>2]=e;h=c[e>>2]|0;c[f>>2]=h;c[h+4>>2]=f;c[e>>2]=f;h=a+68|0;c[h>>2]=(c[h>>2]|0)+1;if(d){h=c[g>>2]|0;h=h+12|0;h=c[h>>2]|0;gk[h&1023](g)|0;return}f=b+8|0;h=c[f>>2]|0;c[f>>2]=h-1;if((h|0)!=1){h=c[g>>2]|0;h=h+12|0;h=c[h>>2]|0;gk[h&1023](g)|0;return}UU(b,1,1);h=c[g>>2]|0;h=h+12|0;h=c[h>>2]|0;gk[h&1023](g)|0;return}function Ws(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;e=c[a>>2]|0;if(!e)return;f=a+4|0;b=c[f>>2]|0;if((b|0)==(e|0))b=e;else{do{b=b+-4|0;d=c[b>>2]|0;if(d|0?(h=d+8|0,g=c[h>>2]|0,c[h>>2]=g-1,(g|0)==1):0)UU(d,1,1);c[b>>2]=0}while((b|0)!=(e|0));b=c[a>>2]|0}c[f>>2]=e;l0a(b);return}function Xs(a){a=a|0;var b=0;b=c[a>>2]|0;if(!b)return;c[a+4>>2]=b;l0a(b);return}function Ys(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;c[a>>2]=69040;f=a+40|0;b=c[f>>2]|0;if(b|0){d=a+36|0;jt(b,c[d>>2]|0);b=c[f>>2]|0;if(b){c[f>>2]=0;h=b+8|0;g=c[h>>2]|0;c[h>>2]=g-1;if((g|0)==1)UU(b,1,1);b=c[f>>2]|0;if(b)b=kt(b,a)|0;else b=0}else b=0;c[d>>2]=b}b=a+44|0;d=c[b>>2]|0;if(d|0?(e=d+(c[(c[d>>2]|0)+-12>>2]|0)|0,g=e+8|0,h=c[g>>2]|0,c[g>>2]=h-1,(h|0)==1):0)UU(e,1,1);c[b>>2]=0;b=c[f>>2]|0;if(!b){c[f>>2]=0;Pr(a);return}g=b+8|0;h=c[g>>2]|0;c[g>>2]=h-1;if((h|0)!=1){c[f>>2]=0;Pr(a);return}UU(b,1,1);c[f>>2]=0;Pr(a);return}function Zs(a){a=a|0;Di()}function _s(a,b){a=a|0;b=b|0;if(!b){b=0;return b|0}b=(y1a(b,42800,42960,0)|0)!=0;return b|0}function $s(a){a=a|0;return 186332}function at(a){a=a|0;return 116408}function bt(a){a=a|0;return 0}function ct(a){a=a|0;return 0}function dt(a,b){a=a|0;b=b|0;a=c[a+40>>2]|0;if(!a)return;Jk[c[(c[a>>2]|0)+156>>2]&1023](a,b);return}function et(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;f=l;l=l+16|0;e=f;if((a[223632]|0)==0?g2a(223632)|0:0)kr(225352);if((c[56338]|0)>4){g=mr(USa(mr(lr(5)|0,116378,29)|0,d)|0,184787,1)|0;BSa(e,g+(c[(c[g>>2]|0)+-12>>2]|0)|0);h=cUa(e,230580)|0;h=kk[c[(c[h>>2]|0)+28>>2]&511](h,10)|0;dUa(e);VSa(g,h)|0;HSa(g)|0}b=c[b+40>>2]|0;if(!b){l=f;return}Jk[c[(c[b>>2]|0)+160>>2]&1023](b,d);l=f;return}function ft(a){a=a|0;return 0}function gt(a){a=a|0;return 0}function ht(a){a=a|0;return 0}function it(a){a=a|0;return 0}function jt(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0;k=l;l=l+16|0;e=k;j=b+52|0;i=c[j>>2]|0;g=c[b+48>>2]|0;h=i-g>>2;if(h>>>0<=d>>>0){if((a[223632]|0)==0?g2a(223632)|0:0)kr(225352);if((c[56338]|0)<=1){l=k;return}j=mr(lr(2)|0,116419,6)|0;b=gk[c[(c[b>>2]|0)+28>>2]&1023](b)|0;b=mr(QSa(mr(mr(j,b,VNa(b)|0)|0,116426,19)|0,d)|0,116446,15)|0;BSa(e,b+(c[(c[b>>2]|0)+-12>>2]|0)|0);j=cUa(e,230580)|0;j=kk[c[(c[j>>2]|0)+28>>2]&511](j,10)|0;dUa(e);VSa(b,j)|0;HSa(b)|0;l=k;return}e=d+1|0;if(e>>>0<h>>>0?(c[(c[g+(e<<2)>>2]|0)+36>>2]=d,f=d+2|0,(f|0)!=(h|0)):0)while(1){c[(c[g+(f<<2)>>2]|0)+36>>2]=e;e=f+1|0;if((e|0)==(h|0))break;else{m=f;f=e;e=m}}f=g+(d<<2)|0;d=f+4|0;e=i-d|0;if(e|0)y2a(f|0,d|0,e|0)|0;c[j>>2]=f+(e>>2<<2);h=b+60|0;g=b+64|0;e=c[g>>2]|0;f=c[h>>2]|0;if((e|0)==(f|0)){l=k;return}d=0;do{if(c[f+(d<<2)>>2]|0){f=e-f>>2;if(f>>>0<=d>>>0){Bs(h,d+1-f|0);e=c[g>>2]|0}f=c[h>>2]|0;m=c[f+(d<<2)>>2]|0;c[m+44>>2]=c[m+40>>2];a[m+36>>0]=1}d=d+1|0}while(d>>>0<e-f>>2>>>0);l=k;return}function kt(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0;m=l;l=l+16|0;g=m;c[g>>2]=d;h=d;if(!d){k=0;l=m;return k|0}j=b+48|0;e=c[j>>2]|0;k=b+52|0;f=c[k>>2]|0;a:do if((e|0)!=(f|0)){while(1){if((c[e>>2]|0)==(d|0))break;e=e+4|0;if((e|0)==(f|0)){e=f;break a}}k=c[d+36>>2]|0;l=m;return k|0}while(0);if((e|0)==(c[b+56>>2]|0))nt(j,g);else{c[e>>2]=h;c[k>>2]=(c[k>>2]|0)+4}i=b+60|0;b=b+64|0;e=c[b>>2]|0;d=c[i>>2]|0;if((e|0)!=(d|0)){h=0;f=d;g=d;while(1){if(!(c[f+(h<<2)>>2]|0))d=g;else{d=e-f>>2;if(d>>>0>h>>>0)d=g;else{Bs(i,h+1-d|0);e=c[b>>2]|0;d=c[i>>2]|0}a[(c[d+(h<<2)>>2]|0)+36>>0]=1;f=d}h=h+1|0;if(h>>>0>=e-f>>2>>>0)break;else g=d}}k=((c[k>>2]|0)-(c[j>>2]|0)>>2)+-1|0;l=m;return k|0}function lt(a){a=a|0;var b=0,d=0,e=0;b=c[a>>2]|0;if(!b){c[a>>2]=0;return}b=b+(c[(c[b>>2]|0)+-12>>2]|0)|0;e=b+8|0;d=c[e>>2]|0;c[e>>2]=d-1;if((d|0)!=1){c[a>>2]=0;return}UU(b,1,1);c[a>>2]=0;return}function mt(a){a=a|0;var b=0,d=0,e=0;b=c[a>>2]|0;if(b|0?(e=b+8|0,d=c[e>>2]|0,c[e>>2]=d-1,(d|0)==1):0)UU(b,1,1);c[a>>2]=0;return}function nt(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;i=a+4|0;j=c[a>>2]|0;k=(c[i>>2]|0)-j|0;g=k>>2;d=g+1|0;if(d>>>0>1073741823)g1a(a);l=a+8|0;f=(c[l>>2]|0)-j|0;h=f>>1;h=f>>2>>>0<536870911?(h>>>0<d>>>0?d:h):1073741823;do if(h)if(h>>>0>1073741823){l=db(8)|0;p0a(l,183738);c[l>>2]=110936;hb(l|0,65952,1066)}else{f=j0a(h<<2)|0;e=f;break}else{e=0;f=0}while(0);d=e+(g<<2)|0;c[d>>2]=c[b>>2];if((k|0)>0)x2a(f|0,j|0,k|0)|0;c[a>>2]=e;c[i>>2]=d+4;c[l>>2]=e+(h<<2);if(!j)return;l0a(j);return}function ot(a){a=a|0;Os(a);l0a(a);return}function pt(b){b=b|0;var d=0;b=j0a(72)|0;Tha(b);d=b+12|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[b+24>>2]=2;c[b+28>>2]=0;c[b>>2]=68868;d=b+32|0;c[b+48>>2]=0;c[b+52>>2]=0;c[b+56>>2]=0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;a[d+12>>0]=0;ut(b+60|0);c[b>>2]=69236;c[d>>2]=34962;c[b+36>>2]=35044;return b|0}function qt(b,d){b=b|0;d=d|0;var e=0;e=j0a(72)|0;Or(e,b,d);c[e>>2]=68868;c[e+32>>2]=0;c[e+36>>2]=0;c[e+40>>2]=0;a[e+44>>0]=a[b+44>>0]|0;c[e+48>>2]=0;c[e+52>>2]=0;c[e+56>>2]=0;ut(e+60|0);c[e>>2]=69236;return e|0}function rt(a,b){a=a|0;b=b|0;if(!b){b=0;return b|0}b=(y1a(b,42800,42976,0)|0)!=0;return b|0}function st(a){a=a|0;return 186332}function tt(a){a=a|0;return 116481}function ut(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;vt()|0;b=c[(c[56383]|0)+84>>2]|0;c[a>>2]=0;d=a+4|0;c[d>>2]=0;e=a+8|0;c[e>>2]=0;if(!b)return;if(b>>>0>1073741823)g1a(a);f=b<<2;g=j0a(f)|0;c[a>>2]=g;b=g+(b<<2)|0;c[e>>2]=b;z2a(g|0,0,f|0)|0;c[d>>2]=b;return}function vt(){var b=0;if(a[223640]|0)return 225532;if(!(g2a(223640)|0))return 225532;b=j0a(268)|0;wt(b);c[56383]=b;b=b+8|0;c[b>>2]=(c[b>>2]|0)+1;return 225532}function wt(b){b=b|0;var d=0,e=0;Uha(b,1);c[b>>2]=69408;d=b+104|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;d=b+132|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;e=b+168|0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;e=b+184|0;c[b+216>>2]=0;c[b+220>>2]=0;c[b+224>>2]=0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[e+12>>2]=0;c[e+16>>2]=0;c[e+20>>2]=0;xla(b+232|0,0);c[b+248>>2]=0;c[b+252>>2]=0;c[b+244>>2]=b+248;c[b+260>>2]=0;c[b+264>>2]=0;c[b+256>>2]=b+260;c[b+12>>2]=0;a[b+16>>0]=0;c[b+20>>2]=1;g[b+24>>2]=.05000000074505806;g[b+28>>2]=.32499998807907104;g[b+32>>2]=.25999999046325684;g[b+36>>2]=.5;e=b+40|0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[e+12>>2]=0;a[e+16>>0]=0;a[b+57>>0]=1;a[b+58>>0]=1;a[b+59>>0]=1;e=b+60|0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[e+12>>2]=0;c[e+16>>2]=0;c[e+20>>2]=0;c[b+84>>2]=32;c[b+88>>2]=0;a[b+92>>0]=0;a[b+93>>0]=0;a[b+94>>0]=1;c[b+96>>2]=2;c[b+100>>2]=1;c[b+116>>2]=0;c[b+120>>2]=0;c[b+124>>2]=5;c[b+128>>2]=5;E0a(d,116500)|0;d=b+144|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[d+12>>2]=0;c[d+16>>2]=0;yt(b,2,1);a[b+180>>0]=0;c[b+208>>2]=0;a[b+212>>0]=0;c[b+228>>2]=4;zt(b);return}function xt(a){a=a|0;var b=0,d=0,e=0;b=c[a>>2]|0;if(b|0?(e=b+8|0,d=c[e>>2]|0,c[e>>2]=d-1,(d|0)==1):0)UU(b,1,1);c[a>>2]=0;return}function yt(d,e,f){d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0;n=l;l=l+32|0;k=n+12|0;m=n;c[d+164>>2]=e;if(!f){l=n;return}switch(e|0){case 4:{e=j0a(32)|0;c[k>>2]=e;c[k+8>>2]=-2147483616;c[k+4>>2]=16;h=e;i=118179;j=h+16|0;do{a[h>>0]=a[i>>0]|0;h=h+1|0;i=i+1|0}while((h|0)<(j|0));a[e+16>>0]=0;c[m>>2]=0;c[m+4>>2]=0;c[m+8>>2]=0;e=j0a(16)|0;c[m>>2]=e;c[m+8>>2]=-2147483632;c[m+4>>2]=15;h=e;i=118196;j=h+15|0;do{a[h>>0]=a[i>>0]|0;h=h+1|0;i=i+1|0}while((h|0)<(j|0));a[e+15>>0]=0;g=d+232|0;gk[c[(c[g>>2]|0)+8>>2]&1023](g)|0;f=d+244|0;z0a(It(f,k)|0,m)|0;gk[c[(c[g>>2]|0)+12>>2]&1023](g)|0;if((a[m+11>>0]|0)<0)l0a(c[m>>2]|0);if((a[k+11>>0]|0)<0)l0a(c[k>>2]|0);e=j0a(32)|0;c[k>>2]=e;c[k+8>>2]=-2147483616;c[k+4>>2]=19;h=e;i=118212;j=h+19|0;do{a[h>>0]=a[i>>0]|0;h=h+1|0;i=i+1|0}while((h|0)<(j|0));a[e+19>>0]=0;c[m>>2]=0;c[m+4>>2]=0;c[m+8>>2]=0;e=j0a(32)|0;c[m>>2]=e;c[m+8>>2]=-2147483616;c[m+4>>2]=22;h=e;i=118232;j=h+22|0;do{a[h>>0]=a[i>>0]|0;h=h+1|0;i=i+1|0}while((h|0)<(j|0));a[e+22>>0]=0;gk[c[(c[g>>2]|0)+8>>2]&1023](g)|0;z0a(It(f,k)|0,m)|0;gk[c[(c[g>>2]|0)+12>>2]&1023](g)|0;if((a[m+11>>0]|0)<0)l0a(c[m>>2]|0);if((a[k+11>>0]|0)<0)l0a(c[k>>2]|0);e=j0a(16)|0;c[k>>2]=e;c[k+8>>2]=-2147483632;c[k+4>>2]=14;h=e;i=118255;j=h+14|0;do{a[h>>0]=a[i>>0]|0;h=h+1|0;i=i+1|0}while((h|0)<(j|0));a[e+14>>0]=0;c[m>>2]=0;c[m+4>>2]=0;c[m+8>>2]=0;j=m+11|0;a[j>>0]=2;b[m>>1]=28265;a[m+2>>0]=0;gk[c[(c[g>>2]|0)+8>>2]&1023](g)|0;z0a(It(f,k)|0,m)|0;gk[c[(c[g>>2]|0)+12>>2]&1023](g)|0;if((a[j>>0]|0)<0)l0a(c[m>>2]|0);if((a[k+11>>0]|0)<0)l0a(c[k>>2]|0);e=j0a(16)|0;c[k>>2]=e;c[k+8>>2]=-2147483632;c[k+4>>2]=15;h=e;i=118270;j=h+15|0;do{a[h>>0]=a[i>>0]|0;h=h+1|0;i=i+1|0}while((h|0)<(j|0));a[e+15>>0]=0;j=m+4|0;c[j>>2]=0;c[j+4>>2]=0;j=m+11|0;a[j>>0]=3;a[m>>0]=a[118286]|0;a[m+1>>0]=a[118287]|0;a[m+2>>0]=a[118288]|0;a[m+3>>0]=0;gk[c[(c[g>>2]|0)+8>>2]&1023](g)|0;z0a(It(f,k)|0,m)|0;gk[c[(c[g>>2]|0)+12>>2]&1023](g)|0;if((a[j>>0]|0)<0)l0a(c[m>>2]|0);if((a[k+11>>0]|0)<0)l0a(c[k>>2]|0);if((a[223632]|0)==0?g2a(223632)|0:0)kr(225352);if((c[56338]|0)<=3){l=n;return}m=mr(lr(4)|0,118290,29)|0;BSa(k,m+(c[(c[m>>2]|0)+-12>>2]|0)|0);j=cUa(k,230580)|0;j=kk[c[(c[j>>2]|0)+28>>2]&511](j,10)|0;dUa(k);VSa(m,j)|0;HSa(m)|0;l=n;return}case 2:{e=j0a(32)|0;c[k>>2]=e;c[k+8>>2]=-2147483616;c[k+4>>2]=16;h=e;i=118179;j=h+16|0;do{a[h>>0]=a[i>>0]|0;h=h+1|0;i=i+1|0}while((h|0)<(j|0));a[e+16>>0]=0;g=d+232|0;c[m>>2]=0;c[m+4>>2]=0;c[m+8>>2]=0;gk[c[(c[g>>2]|0)+8>>2]&1023](g)|0;f=d+244|0;z0a(It(f,k)|0,m)|0;gk[c[(c[g>>2]|0)+12>>2]&1023](g)|0;if((a[m+11>>0]|0)<0)l0a(c[m>>2]|0);if((a[k+11>>0]|0)<0)l0a(c[k>>2]|0);e=j0a(32)|0;c[k>>2]=e;c[k+8>>2]=-2147483616;c[k+4>>2]=19;h=e;i=118212;j=h+19|0;do{a[h>>0]=a[i>>0]|0;h=h+1|0;i=i+1|0}while((h|0)<(j|0));a[e+19>>0]=0;c[m>>2]=0;c[m+4>>2]=0;c[m+8>>2]=0;e=j0a(32)|0;c[m>>2]=e;c[m+8>>2]=-2147483616;c[m+4>>2]=22;h=e;i=118232;j=h+22|0;do{a[h>>0]=a[i>>0]|0;h=h+1|0;i=i+1|0}while((h|0)<(j|0));a[e+22>>0]=0;gk[c[(c[g>>2]|0)+8>>2]&1023](g)|0;z0a(It(f,k)|0,m)|0;gk[c[(c[g>>2]|0)+12>>2]&1023](g)|0;if((a[m+11>>0]|0)<0)l0a(c[m>>2]|0);if((a[k+11>>0]|0)<0)l0a(c[k>>2]|0);e=j0a(16)|0;c[k>>2]=e;c[k+8>>2]=-2147483632;c[k+4>>2]=14;h=e;i=118255;j=h+14|0;do{a[h>>0]=a[i>>0]|0;h=h+1|0;i=i+1|0}while((h|0)<(j|0));a[e+14>>0]=0;c[m+8>>2]=0;j=m+11|0;a[j>>0]=7;a[m>>0]=a[118320]|0;a[m+1>>0]=a[118321]|0;a[m+2>>0]=a[118322]|0;a[m+3>>0]=a[118323]|0;a[m+4>>0]=a[118324]|0;a[m+5>>0]=a[118325]|0;a[m+6>>0]=a[118326]|0;a[m+7>>0]=0;gk[c[(c[g>>2]|0)+8>>2]&1023](g)|0;z0a(It(f,k)|0,m)|0;gk[c[(c[g>>2]|0)+12>>2]&1023](g)|0;if((a[j>>0]|0)<0)l0a(c[m>>2]|0);if((a[k+11>>0]|0)<0)l0a(c[k>>2]|0);e=j0a(16)|0;c[k>>2]=e;c[k+8>>2]=-2147483632;c[k+4>>2]=15;h=e;i=118270;j=h+15|0;do{a[h>>0]=a[i>>0]|0;h=h+1|0;i=i+1|0}while((h|0)<(j|0));a[e+15>>0]=0;c[m+8>>2]=0;j=m+11|0;a[j>>0]=7;a[m>>0]=a[118320]|0;a[m+1>>0]=a[118321]|0;a[m+2>>0]=a[118322]|0;a[m+3>>0]=a[118323]|0;a[m+4>>0]=a[118324]|0;a[m+5>>0]=a[118325]|0;a[m+6>>0]=a[118326]|0;a[m+7>>0]=0;gk[c[(c[g>>2]|0)+8>>2]&1023](g)|0;z0a(It(f,k)|0,m)|0;gk[c[(c[g>>2]|0)+12>>2]&1023](g)|0;if((a[j>>0]|0)<0)l0a(c[m>>2]|0);if((a[k+11>>0]|0)<0)l0a(c[k>>2]|0);if((a[223632]|0)==0?g2a(223632)|0:0)kr(225352);if((c[56338]|0)<=3){l=n;return}m=mr(lr(4)|0,118328,29)|0;BSa(k,m+(c[(c[m>>2]|0)+-12>>2]|0)|0);j=cUa(k,230580)|0;j=kk[c[(c[j>>2]|0)+28>>2]&511](j,10)|0;dUa(k);VSa(m,j)|0;HSa(m)|0;l=n;return}case 3:{e=j0a(32)|0;c[k>>2]=e;c[k+8>>2]=-2147483616;c[k+4>>2]=16;h=e;i=118179;j=h+16|0;do{a[h>>0]=a[i>>0]|0;h=h+1|0;i=i+1|0}while((h|0)<(j|0));a[e+16>>0]=0;c[m>>2]=0;c[m+4>>2]=0;c[m+8>>2]=0;e=j0a(16)|0;c[m>>2]=e;c[m+8>>2]=-2147483632;c[m+4>>2]=12;h=e;i=118358;j=h+12|0;do{a[h>>0]=a[i>>0]|0;h=h+1|0;i=i+1|0}while((h|0)<(j|0));a[e+12>>0]=0;g=d+232|0;gk[c[(c[g>>2]|0)+8>>2]&1023](g)|0;f=d+244|0;z0a(It(f,k)|0,m)|0;gk[c[(c[g>>2]|0)+12>>2]&1023](g)|0;if((a[m+11>>0]|0)<0)l0a(c[m>>2]|0);if((a[k+11>>0]|0)<0)l0a(c[k>>2]|0);e=j0a(32)|0;c[k>>2]=e;c[k+8>>2]=-2147483616;c[k+4>>2]=19;h=e;i=118212;j=h+19|0;do{a[h>>0]=a[i>>0]|0;h=h+1|0;i=i+1|0}while((h|0)<(j|0));a[e+19>>0]=0;c[m>>2]=0;c[m+4>>2]=0;c[m+8>>2]=0;gk[c[(c[g>>2]|0)+8>>2]&1023](g)|0;z0a(It(f,k)|0,m)|0;gk[c[(c[g>>2]|0)+12>>2]&1023](g)|0;if((a[m+11>>0]|0)<0)l0a(c[m>>2]|0);if((a[k+11>>0]|0)<0)l0a(c[k>>2]|0);e=j0a(16)|0;c[k>>2]=e;c[k+8>>2]=-2147483632;c[k+4>>2]=14;h=e;i=118255;j=h+14|0;do{a[h>>0]=a[i>>0]|0;h=h+1|0;i=i+1|0}while((h|0)<(j|0));a[e+14>>0]=0;c[m>>2]=0;c[m+4>>2]=0;c[m+8>>2]=0;j=m+11|0;a[j>>0]=2;b[m>>1]=28265;a[m+2>>0]=0;gk[c[(c[g>>2]|0)+8>>2]&1023](g)|0;z0a(It(f,k)|0,m)|0;gk[c[(c[g>>2]|0)+12>>2]&1023](g)|0;if((a[j>>0]|0)<0)l0a(c[m>>2]|0);if((a[k+11>>0]|0)<0)l0a(c[k>>2]|0);e=j0a(16)|0;c[k>>2]=e;c[k+8>>2]=-2147483632;c[k+4>>2]=15;h=e;i=118270;j=h+15|0;do{a[h>>0]=a[i>>0]|0;h=h+1|0;i=i+1|0}while((h|0)<(j|0));a[e+15>>0]=0;j=m+4|0;c[j>>2]=0;c[j+4>>2]=0;j=m+11|0;a[j>>0]=3;a[m>>0]=a[118286]|0;a[m+1>>0]=a[118287]|0;a[m+2>>0]=a[118288]|0;a[m+3>>0]=0;gk[c[(c[g>>2]|0)+8>>2]&1023](g)|0;z0a(It(f,k)|0,m)|0;gk[c[(c[g>>2]|0)+12>>2]&1023](g)|0;if((a[j>>0]|0)<0)l0a(c[m>>2]|0);if((a[k+11>>0]|0)<0)l0a(c[k>>2]|0);if((a[223632]|0)==0?g2a(223632)|0:0)kr(225352);if((c[56338]|0)<=3){l=n;return}m=mr(lr(4)|0,118371,27)|0;BSa(k,m+(c[(c[m>>2]|0)+-12>>2]|0)|0);j=cUa(k,230580)|0;j=kk[c[(c[j>>2]|0)+28>>2]&511](j,10)|0;dUa(k);VSa(m,j)|0;HSa(m)|0;l=n;return}case 1:{e=j0a(32)|0;c[k>>2]=e;c[k+8>>2]=-2147483616;c[k+4>>2]=16;h=e;i=118179;j=h+16|0;do{a[h>>0]=a[i>>0]|0;h=h+1|0;i=i+1|0}while((h|0)<(j|0));a[e+16>>0]=0;g=d+232|0;c[m>>2]=0;c[m+4>>2]=0;c[m+8>>2]=0;gk[c[(c[g>>2]|0)+8>>2]&1023](g)|0;f=d+244|0;z0a(It(f,k)|0,m)|0;gk[c[(c[g>>2]|0)+12>>2]&1023](g)|0;if((a[m+11>>0]|0)<0)l0a(c[m>>2]|0);if((a[k+11>>0]|0)<0)l0a(c[k>>2]|0);e=j0a(32)|0;c[k>>2]=e;c[k+8>>2]=-2147483616;c[k+4>>2]=19;h=e;i=118212;j=h+19|0;do{a[h>>0]=a[i>>0]|0;h=h+1|0;i=i+1|0}while((h|0)<(j|0));a[e+19>>0]=0;c[m>>2]=0;c[m+4>>2]=0;c[m+8>>2]=0;gk[c[(c[g>>2]|0)+8>>2]&1023](g)|0;z0a(It(f,k)|0,m)|0;gk[c[(c[g>>2]|0)+12>>2]&1023](g)|0;if((a[m+11>>0]|0)<0)l0a(c[m>>2]|0);if((a[k+11>>0]|0)<0)l0a(c[k>>2]|0);e=j0a(16)|0;c[k>>2]=e;c[k+8>>2]=-2147483632;c[k+4>>2]=14;h=e;i=118255;j=h+14|0;do{a[h>>0]=a[i>>0]|0;h=h+1|0;i=i+1|0}while((h|0)<(j|0));a[e+14>>0]=0;c[m+8>>2]=0;j=m+11|0;a[j>>0]=7;a[m>>0]=a[118320]|0;a[m+1>>0]=a[118321]|0;a[m+2>>0]=a[118322]|0;a[m+3>>0]=a[118323]|0;a[m+4>>0]=a[118324]|0;a[m+5>>0]=a[118325]|0;a[m+6>>0]=a[118326]|0;a[m+7>>0]=0;gk[c[(c[g>>2]|0)+8>>2]&1023](g)|0;z0a(It(f,k)|0,m)|0;gk[c[(c[g>>2]|0)+12>>2]&1023](g)|0;if((a[j>>0]|0)<0)l0a(c[m>>2]|0);if((a[k+11>>0]|0)<0)l0a(c[k>>2]|0);e=j0a(16)|0;c[k>>2]=e;c[k+8>>2]=-2147483632;c[k+4>>2]=15;h=e;i=118270;j=h+15|0;do{a[h>>0]=a[i>>0]|0;h=h+1|0;i=i+1|0}while((h|0)<(j|0));a[e+15>>0]=0;c[m+8>>2]=0;j=m+11|0;a[j>>0]=7;a[m>>0]=a[118320]|0;a[m+1>>0]=a[118321]|0;a[m+2>>0]=a[118322]|0;a[m+3>>0]=a[118323]|0;a[m+4>>0]=a[118324]|0;a[m+5>>0]=a[118325]|0;a[m+6>>0]=a[118326]|0;a[m+7>>0]=0;gk[c[(c[g>>2]|0)+8>>2]&1023](g)|0;z0a(It(f,k)|0,m)|0;gk[c[(c[g>>2]|0)+12>>2]&1023](g)|0;if((a[j>>0]|0)<0)l0a(c[m>>2]|0);if((a[k+11>>0]|0)<0)l0a(c[k>>2]|0);if((a[223632]|0)==0?g2a(223632)|0:0)kr(225352);if((c[56338]|0)<=3){l=n;return}m=mr(lr(4)|0,118399,27)|0;BSa(k,m+(c[(c[m>>2]|0)+-12>>2]|0)|0);j=cUa(k,230580)|0;j=kk[c[(c[j>>2]|0)+28>>2]&511](j,10)|0;dUa(k);VSa(m,j)|0;HSa(m)|0;l=n;return}case 0:{e=j0a(32)|0;c[k>>2]=e;c[k+8>>2]=-2147483616;c[k+4>>2]=16;h=e;i=118179;j=h+16|0;do{a[h>>0]=a[i>>0]|0;h=h+1|0;i=i+1|0}while((h|0)<(j|0));a[e+16>>0]=0;g=d+232|0;c[m>>2]=0;c[m+4>>2]=0;c[m+8>>2]=0;gk[c[(c[g>>2]|0)+8>>2]&1023](g)|0;f=d+244|0;z0a(It(f,k)|0,m)|0;gk[c[(c[g>>2]|0)+12>>2]&1023](g)|0;if((a[m+11>>0]|0)<0)l0a(c[m>>2]|0);if((a[k+11>>0]|0)<0)l0a(c[k>>2]|0);e=j0a(32)|0;c[k>>2]=e;c[k+8>>2]=-2147483616;c[k+4>>2]=19;h=e;i=118212;j=h+19|0;do{a[h>>0]=a[i>>0]|0;h=h+1|0;i=i+1|0}while((h|0)<(j|0));a[e+19>>0]=0;c[m>>2]=0;c[m+4>>2]=0;c[m+8>>2]=0;gk[c[(c[g>>2]|0)+8>>2]&1023](g)|0;z0a(It(f,k)|0,m)|0;gk[c[(c[g>>2]|0)+12>>2]&1023](g)|0;if((a[m+11>>0]|0)<0)l0a(c[m>>2]|0);if((a[k+11>>0]|0)<0)l0a(c[k>>2]|0);e=j0a(16)|0;c[k>>2]=e;c[k+8>>2]=-2147483632;c[k+4>>2]=14;h=e;i=118255;j=h+14|0;do{a[h>>0]=a[i>>0]|0;h=h+1|0;i=i+1|0}while((h|0)<(j|0));a[e+14>>0]=0;c[m+8>>2]=0;j=m+11|0;a[j>>0]=7;a[m>>0]=a[118320]|0;a[m+1>>0]=a[118321]|0;a[m+2>>0]=a[118322]|0;a[m+3>>0]=a[118323]|0;a[m+4>>0]=a[118324]|0;a[m+5>>0]=a[118325]|0;a[m+6>>0]=a[118326]|0;a[m+7>>0]=0;gk[c[(c[g>>2]|0)+8>>2]&1023](g)|0;z0a(It(f,k)|0,m)|0;gk[c[(c[g>>2]|0)+12>>2]&1023](g)|0;if((a[j>>0]|0)<0)l0a(c[m>>2]|0);if((a[k+11>>0]|0)<0)l0a(c[k>>2]|0);e=j0a(16)|0;c[k>>2]=e;c[k+8>>2]=-2147483632;c[k+4>>2]=15;h=e;i=118270;j=h+15|0;do{a[h>>0]=a[i>>0]|0;h=h+1|0;i=i+1|0}while((h|0)<(j|0));a[e+15>>0]=0;c[m+8>>2]=0;j=m+11|0;a[j>>0]=7;a[m>>0]=a[118320]|0;a[m+1>>0]=a[118321]|0;a[m+2>>0]=a[118322]|0;a[m+3>>0]=a[118323]|0;a[m+4>>0]=a[118324]|0;a[m+5>>0]=a[118325]|0;a[m+6>>0]=a[118326]|0;a[m+7>>0]=0;gk[c[(c[g>>2]|0)+8>>2]&1023](g)|0;z0a(It(f,k)|0,m)|0;gk[c[(c[g>>2]|0)+12>>2]&1023](g)|0;if((a[j>>0]|0)<0)l0a(c[m>>2]|0);if((a[k+11>>0]|0)<0)l0a(c[k>>2]|0);if((a[223632]|0)==0?g2a(223632)|0:0)kr(225352);if((c[56338]|0)<=3){l=n;return}m=mr(lr(4)|0,118427,21)|0;BSa(k,m+(c[(c[m>>2]|0)+-12>>2]|0)|0);j=cUa(k,230580)|0;j=kk[c[(c[j>>2]|0)+28>>2]&511](j,10)|0;dUa(k);VSa(m,j)|0;HSa(m)|0;l=n;return}default:{l=n;return}}}function zt(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;w=l;l=l+64|0;u=w+36|0;v=w+24|0;r=w+12|0;t=w;s=w+48|0;c[v>>2]=0;c[v+4>>2]=0;c[v+8>>2]=0;e=Jh(116504)|0;a:do if(e|0){d=0;while(1){if(!(a[e+d>>0]|0))break;d=d+1|0;if(d>>>0>=4096){d=4096;break}}A0a(v,e,d)|0;g=v+11|0;f=a[g>>0]|0;h=v+4|0;d=c[h>>2]|0;e=f&255;do if(((f<<24>>24<0?d:e)|0)==7)if(!(S0a(v,0,-1,116521,7)|0)){c[b+12>>2]=0;break a}else{f=a[g>>0]|0;e=f&255;d=c[h>>2]|0;break}while(0);do if(((f<<24>>24<0?d:e)|0)==9)if(!(S0a(v,0,-1,116529,9)|0)){c[b+12>>2]=1;break a}else{f=a[g>>0]|0;e=f&255;d=c[h>>2]|0;break}while(0);do if(((f<<24>>24<0?d:e)|0)==14)if(!(S0a(v,0,-1,116539,14)|0)){c[b+12>>2]=2;break a}else{f=a[g>>0]|0;e=f&255;d=c[h>>2]|0;break}while(0);if(((f<<24>>24<0?d:e)|0)==20?(S0a(v,0,-1,116554,20)|0)==0:0)c[b+12>>2]=3}while(0);e=Jh(116575)|0;b:do if(e|0){d=0;while(1){if(!(a[e+d>>0]|0))break;d=d+1|0;if(d>>>0>=4096){d=4096;break}}A0a(v,e,d)|0;g=v+11|0;e=a[g>>0]|0;h=v+4|0;d=c[h>>2]|0;f=e&255;do if(((e<<24>>24<0?d:f)|0)==11)if(!(S0a(v,0,-1,116591,11)|0)){c[b+20>>2]=0;break b}else{e=a[g>>0]|0;f=e&255;d=c[h>>2]|0;break}while(0);do if(((e<<24>>24<0?d:f)|0)==10)if(!(S0a(v,0,-1,116603,10)|0)){c[b+20>>2]=1;break b}else{e=a[g>>0]|0;f=e&255;d=c[h>>2]|0;break}while(0);do if(((e<<24>>24<0?d:f)|0)==16)if(!(S0a(v,0,-1,116614,16)|0)){c[b+20>>2]=2;break b}else{e=a[g>>0]|0;f=e&255;d=c[h>>2]|0;break}while(0);do if(((e<<24>>24<0?d:f)|0)==14)if(!(S0a(v,0,-1,116631,14)|0)){c[b+20>>2]=3;break b}else{e=a[g>>0]|0;f=e&255;d=c[h>>2]|0;break}while(0);do if(((e<<24>>24<0?d:f)|0)==8)if(!(S0a(v,0,-1,116646,8)|0)){c[b+20>>2]=4;break b}else{e=a[g>>0]|0;f=e&255;d=c[h>>2]|0;break}while(0);do if(((e<<24>>24<0?d:f)|0)==9)if(!(S0a(v,0,-1,116655,9)|0)){c[b+20>>2]=5;break b}else{e=a[g>>0]|0;f=e&255;d=c[h>>2]|0;break}while(0);do if(((e<<24>>24<0?d:f)|0)==20)if(!(S0a(v,0,-1,116665,20)|0)){c[b+20>>2]=6;break b}else{e=a[g>>0]|0;f=e&255;d=c[h>>2]|0;break}while(0);do if(((e<<24>>24<0?d:f)|0)==18)if(!(S0a(v,0,-1,116686,18)|0)){c[b+20>>2]=7;break b}else{e=a[g>>0]|0;f=e&255;d=c[h>>2]|0;break}while(0);if(((e<<24>>24<0?d:f)|0)==12?(S0a(v,0,-1,116705,12)|0)==0:0)c[b+20>>2]=8}while(0);e=Jh(116718)|0;c:do if(e|0){d=0;while(1){if(!(a[e+d>>0]|0))break;d=d+1|0;if(d>>>0>=4096){d=4096;break}}A0a(v,e,d)|0;e=v+11|0;g=a[e>>0]|0;h=v+4|0;d=c[h>>2]|0;f=g&255;do if(((g<<24>>24<0?d:f)|0)==3)if(!(S0a(v,0,-1,173088,3)|0)){a[b+16>>0]=0;break c}else{e=a[e>>0]|0;f=e&255;d=c[h>>2]|0;break}else e=g;while(0);if(((e<<24>>24<0?d:f)|0)==2?(S0a(v,0,-1,181840,2)|0)==0:0)a[b+16>>0]=1}while(0);Bt(116729,b+24|0)|0;Bt(116748,b+28|0)|0;Bt(116765,b+32|0)|0;Bt(116783,b+36|0)|0;e=Jh(116803)|0;d:do if(e|0){d=0;while(1){if(!(a[e+d>>0]|0))break;d=d+1|0;if(d>>>0>=4096){d=4096;break}}A0a(v,e,d)|0;e=v+11|0;g=a[e>>0]|0;h=v+4|0;d=c[h>>2]|0;f=g&255;do if(((g<<24>>24<0?d:f)|0)==22)if(!(S0a(v,0,-1,116843,22)|0)){c[b+40>>2]=0;break d}else{e=a[e>>0]|0;f=e&255;d=c[h>>2]|0;break}else e=g;while(0);if(((e<<24>>24<0?d:f)|0)==23?(S0a(v,0,-1,116866,23)|0)==0:0)c[b+40>>2]=1}while(0);Ct(116890,b+44|0)|0;e=Jh(116929)|0;e:do if(e|0){d=0;while(1){if(!(a[e+d>>0]|0))break;d=d+1|0;if(d>>>0>=4096){d=4096;break}}A0a(v,e,d)|0;e=v+11|0;g=a[e>>0]|0;h=v+4|0;d=c[h>>2]|0;f=g&255;do if(((g<<24>>24<0?d:f)|0)==21)if(!(S0a(v,0,-1,116967,21)|0)){c[b+48>>2]=0;break e}else{e=a[e>>0]|0;f=e&255;d=c[h>>2]|0;break}else e=g;while(0);if(((e<<24>>24<0?d:f)|0)==24?(S0a(v,0,-1,116989,24)|0)==0:0)c[b+48>>2]=1}while(0);e=Jh(117014)|0;f:do if(e|0){d=0;while(1){if(!(a[e+d>>0]|0))break;d=d+1|0;if(d>>>0>=4096){d=4096;break}}A0a(v,e,d)|0;e=v+11|0;g=a[e>>0]|0;h=v+4|0;d=c[h>>2]|0;f=g&255;do if(((g<<24>>24<0?d:f)|0)==3)if(!(S0a(v,0,-1,173088,3)|0)){a[b+56>>0]=0;break f}else{e=a[e>>0]|0;f=e&255;d=c[h>>2]|0;break}else e=g;while(0);if(((e<<24>>24<0?d:f)|0)==2?(S0a(v,0,-1,181840,2)|0)==0:0)a[b+56>>0]=1}while(0);Ct(117056,b+52|0)|0;Dt(117093,b+84|0)|0;e=Jh(117129)|0;g:do if(e|0){d=0;while(1){if(!(a[e+d>>0]|0))break;d=d+1|0;if(d>>>0>=4096){d=4096;break}}A0a(v,e,d)|0;e=v+11|0;g=a[e>>0]|0;h=v+4|0;d=c[h>>2]|0;f=g&255;do if(((g<<24>>24<0?d:f)|0)==3)if(!(S0a(v,0,-1,173088,3)|0)){a[b+92>>0]=0;break g}else{e=a[e>>0]|0;f=e&255;d=c[h>>2]|0;break}else e=g;while(0);if(((e<<24>>24<0?d:f)|0)==2?(S0a(v,0,-1,181840,2)|0)==0:0)a[b+92>>0]=1}while(0);e=Jh(117150)|0;h:do if(e|0){d=0;while(1){if(!(a[e+d>>0]|0))break;d=d+1|0;if(d>>>0>=4096){d=4096;break}}A0a(v,e,d)|0;e=v+11|0;g=a[e>>0]|0;h=v+4|0;d=c[h>>2]|0;f=g&255;do if(((g<<24>>24<0?d:f)|0)==3)if(!(S0a(v,0,-1,173088,3)|0)){a[b+93>>0]=0;break h}else{e=a[e>>0]|0;f=e&255;d=c[h>>2]|0;break}else e=g;while(0);if(((e<<24>>24<0?d:f)|0)==2?(S0a(v,0,-1,181840,2)|0)==0:0)a[b+93>>0]=1}while(0);e=Jh(117178)|0;i:do if(e|0){d=0;while(1){if(!(a[e+d>>0]|0))break;d=d+1|0;if(d>>>0>=4096){d=4096;break}}A0a(v,e,d)|0;e=v+11|0;g=a[e>>0]|0;h=v+4|0;d=c[h>>2]|0;f=g&255;do if(((g<<24>>24<0?d:f)|0)==3)if(!(S0a(v,0,-1,173088,3)|0)){a[b+94>>0]=0;break i}else{e=a[e>>0]|0;f=e&255;d=c[h>>2]|0;break}else e=g;while(0);if(((e<<24>>24<0?d:f)|0)==2?(S0a(v,0,-1,181840,2)|0)==0:0)a[b+94>>0]=1}while(0);Dt(117207,b+96|0)|0;Dt(117232,b+100|0)|0;Dt(117262,b+88|0)|0;Dt(117280,b+116|0)|0;Dt(117302,b+120|0)|0;c[u>>2]=b+124;c[u+4>>2]=b+128;o=r+11|0;p=r+4|0;n=0;do{c[r>>2]=0;c[r+4>>2]=0;c[r+8>>2]=0;e=Jh(c[69436+(n<<2)>>2]|0)|0;j:do if(e|0){d=0;while(1){if(!(a[e+d>>0]|0))break;d=d+1|0;if(d>>>0>=4096){d=4096;break}}A0a(r,e,d)|0;f=a[o>>0]|0;i=f<<24>>24<0;d=c[r>>2]|0;h=i?d:r;e=c[p>>2]|0;g=f&255;i=i?e:g;j=h+i|0;k=j;m=h;k:do if((i|0)>=3){while(1){i=i+-2|0;if(!i)break k;h=aOa(h,79,i)|0;if(!h)break k;if(!(cOa(h,173088,3)|0))break;h=h+1|0;i=k-h|0;if((i|0)<3)break k}if((h|0)!=(j|0)?(h-m|0)!=-1:0){c[c[u+(n<<2)>>2]>>2]=0;f=a[o>>0]|0;g=f&255;d=c[r>>2]|0;e=c[p>>2]|0}}while(0);i=f<<24>>24<0;h=i?d:r;d=i?e:g;g=h+d|0;i=g;j=h;l:do if((d|0)>=8){f=h;e=d;while(1){e=e+-7|0;if(!e){q=163;break l}e=aOa(f,126,e)|0;if(!e){q=163;break l}if(!(cOa(e,117345,8)|0))break;f=e+1|0;e=i-f|0;if((e|0)<8){q=163;break l}}if(!((e|0)==(g|0)|(e-j|0)==-1)){m=c[u+(n<<2)>>2]|0;c[m>>2]=c[m>>2]^5}else q=163}else q=163;while(0);m:do if((q|0)==163?(q=0,(d|0)>=7):0){e=h;while(1){d=d+-6|0;if(!d)break m;d=aOa(e,68,d)|0;if(!d)break m;if(!(cOa(d,183038,7)|0))break;e=d+1|0;d=i-e|0;if((d|0)<7)break m}if((d|0)!=(g|0)?(d-j|0)!=-1:0){m=c[u+(n<<2)>>2]|0;c[m>>2]=c[m>>2]|5}}while(0);d=a[o>>0]|0;h=d<<24>>24<0;g=h?c[r>>2]|0:r;d=h?c[p>>2]|0:d&255;h=g+d|0;i=h;j=g;n:do if((d|0)>=6){f=g;e=d;while(1){e=e+-5|0;if(!e){q=180;break n}e=aOa(f,126,e)|0;if(!e){q=180;break n}if(!(cOa(e,117354,6)|0))break;f=e+1|0;e=i-f|0;if((e|0)<6){q=180;break n}}if(!((e|0)==(h|0)|(e-j|0)==-1)){m=c[u+(n<<2)>>2]|0;c[m>>2]=c[m>>2]^4}else q=180}else q=180;while(0);o:do if((q|0)==180?(q=0,(d|0)>=5):0){e=g;while(1){d=d+-4|0;if(!d)break o;d=aOa(e,67,d)|0;if(!d)break o;if(!(cOa(d,117361,5)|0))break;e=d+1|0;d=i-e|0;if((d|0)<5)break o}if((d|0)!=(h|0)?(d-j|0)!=-1:0){m=c[u+(n<<2)>>2]|0;c[m>>2]=c[m>>2]|4}}while(0);d=a[o>>0]|0;h=d<<24>>24<0;g=h?c[r>>2]|0:r;d=h?c[p>>2]|0:d&255;h=g+d|0;i=h;j=g;p:do if((d|0)>=6){f=g;e=d;while(1){e=e+-5|0;if(!e){q=197;break p}e=aOa(f,126,e)|0;if(!e){q=197;break p}if(!(cOa(e,117367,6)|0))break;f=e+1|0;e=i-f|0;if((e|0)<6){q=197;break p}}if(!((e|0)==(h|0)|(e-j|0)==-1)){m=c[u+(n<<2)>>2]|0;c[m>>2]=c[m>>2]^1}else q=197}else q=197;while(0);q:do if((q|0)==197?(q=0,(d|0)>=5):0){e=g;while(1){d=d+-4|0;if(!d)break q;d=aOa(e,68,d)|0;if(!d)break q;if(!(cOa(d,175794,5)|0))break;e=d+1|0;d=i-e|0;if((d|0)<5)break q}if((d|0)!=(h|0)?(d-j|0)!=-1:0){m=c[u+(n<<2)>>2]|0;c[m>>2]=c[m>>2]|1}}while(0);d=a[o>>0]|0;h=d<<24>>24<0;g=h?c[r>>2]|0:r;d=h?c[p>>2]|0:d&255;h=g+d|0;i=h;j=g;r:do if((d|0)>=8){f=g;e=d;while(1){e=e+-7|0;if(!e)break r;e=aOa(f,126,e)|0;if(!e)break r;if(!(cOa(e,117374,8)|0))break;f=e+1|0;e=i-f|0;if((e|0)<8)break r}if(!((e|0)==(h|0)|(e-j|0)==-1)){m=c[u+(n<<2)>>2]|0;c[m>>2]=c[m>>2]^2;break j}}while(0);if((d|0)>=7){e=g;while(1){d=d+-6|0;if(!d)break j;d=aOa(e,83,d)|0;if(!d)break j;if(!(cOa(d,117383,7)|0))break;e=d+1|0;d=i-e|0;if((d|0)<7)break j}if((d|0)!=(h|0)?(d-j|0)!=-1:0){m=c[u+(n<<2)>>2]|0;c[m>>2]=c[m>>2]|2}}}while(0);if((a[o>>0]|0)<0)l0a(c[r>>2]|0);n=n+1|0}while(n>>>0<2);e=Jh(117330)|0;if(!e){e=Jh(117391)|0;if(e|0){d=0;while(1){if(!(a[e+d>>0]|0))break;d=d+1|0;if(d>>>0>=4096){d=4096;break}}A0a(v,e,d)|0;q=231}}else{d=0;while(1){if(!(a[e+d>>0]|0))break;d=d+1|0;if(d>>>0>=4096){d=4096;break}}A0a(v,e,d)|0;q=231}if((q|0)==231)z0a(b+132|0,v)|0;Dt(117414,b+144|0)|0;Dt(117435,b+148|0)|0;e=Jh(117463)|0;s:do if(e|0){d=0;while(1){if(!(a[e+d>>0]|0))break;d=d+1|0;if(d>>>0>=4096){d=4096;break}}A0a(v,e,d)|0;g=v+11|0;f=a[g>>0]|0;h=v+4|0;d=c[h>>2]|0;e=f&255;do if(((f<<24>>24<0?d:e)|0)==7)if(!(S0a(v,0,-1,183038,7)|0)){c[b+152>>2]=0;break s}else{f=a[g>>0]|0;e=f&255;d=c[h>>2]|0;break}while(0);do if(((f<<24>>24<0?d:e)|0)==8)if(!(S0a(v,0,-1,117479,8)|0)){c[b+152>>2]=1;break s}else{f=a[g>>0]|0;e=f&255;d=c[h>>2]|0;break}while(0);do if(((f<<24>>24<0?d:e)|0)==4)if(!(S0a(v,0,-1,117488,4)|0)){c[b+152>>2]=2;break s}else{f=a[g>>0]|0;e=f&255;d=c[h>>2]|0;break}while(0);if(((f<<24>>24<0?d:e)|0)==9?(S0a(v,0,-1,149437,9)|0)==0:0)c[b+152>>2]=3}while(0);e=Jh(117493)|0;if(e|0){d=0;while(1){if(!(a[e+d>>0]|0))break;d=d+1|0;if(d>>>0>=4096){d=4096;break}}A0a(v,e,d)|0;h=v+11|0;d=a[h>>0]|0;g=v+4|0;e=c[g>>2]|0;f=d&255;if(((d<<24>>24<0?e:f)|0)==3)if(!(S0a(v,0,-1,173088,3)|0))d=0;else{d=a[h>>0]|0;f=d&255;e=c[g>>2]|0;q=258}else q=258;do if((q|0)==258){if(((d<<24>>24<0?e:f)|0)==2){if(!(S0a(v,0,-1,181840,2)|0)){d=1;break}d=a[h>>0]|0}d=TOa(d<<24>>24<0?c[v>>2]|0:v)|0}while(0);c[b+156>>2]=d}e=Jh(117515)|0;if(e|0){d=0;while(1){if(!(a[e+d>>0]|0))break;d=d+1|0;if(d>>>0>=4096){d=4096;break}}A0a(v,e,d)|0;g=v+11|0;f=a[g>>0]|0;h=v+4|0;d=c[h>>2]|0;e=f&255;if(((f<<24>>24<0?d:e)|0)==20)if(!(S0a(v,0,-1,117538,20)|0))q=273;else{f=a[g>>0]|0;e=f&255;d=c[h>>2]|0;q=270}else q=270;t:do if((q|0)==270){if(((f<<24>>24<0?d:e)|0)==3){if(!(S0a(v,0,-1,182822,3)|0)){q=273;break}f=a[g>>0]|0;e=f&255;d=c[h>>2]|0}if(((f<<24>>24<0?d:e)|0)==19){if(S0a(v,0,-1,117610,19)|0){f=a[g>>0]|0;e=f&255;d=c[h>>2]|0;q=281}}else q=281;do if((q|0)==281){if(((f<<24>>24<0?d:e)|0)==3?(S0a(v,0,-1,117630,3)|0)==0:0)break;do if(!(a[223632]|0)){if(!(g2a(223632)|0))break;kr(225352)}while(0);if((c[56338]|0)<=3){d=0;break t}d=mr(lr(4)|0,117684,43)|0;BSa(u,d+(c[(c[d>>2]|0)+-12>>2]|0)|0);p=cUa(u,230580)|0;p=kk[c[(c[p>>2]|0)+28>>2]&511](p,10)|0;dUa(u);VSa(d,p)|0;HSa(d)|0;d=0;break t}while(0);do if(!(a[223632]|0)){if(!(g2a(223632)|0))break;kr(225352)}while(0);if((c[56338]|0)>3){d=mr(lr(4)|0,117634,49)|0;BSa(u,d+(c[(c[d>>2]|0)+-12>>2]|0)|0);p=cUa(u,230580)|0;p=kk[c[(c[p>>2]|0)+28>>2]&511](p,10)|0;dUa(u);VSa(d,p)|0;HSa(d)|0;d=2}else d=2}while(0);if((q|0)==273){if((a[223632]|0)==0?g2a(223632)|0:0)kr(225352);if((c[56338]|0)>3){d=mr(lr(4)|0,117559,50)|0;BSa(u,d+(c[(c[d>>2]|0)+-12>>2]|0)|0);q=cUa(u,230580)|0;q=kk[c[(c[q>>2]|0)+28>>2]&511](q,10)|0;dUa(u);VSa(d,q)|0;HSa(d)|0;d=1}else d=1}c[b+160>>2]=d}e=Jh(117728)|0;u:do if(e|0){d=0;while(1){if(!(a[e+d>>0]|0))break;d=d+1|0;if(d>>>0>=4096){d=4096;break}}A0a(v,e,d)|0;g=v+11|0;f=a[g>>0]|0;h=v+4|0;d=c[h>>2]|0;e=f&255;do if(((f<<24>>24<0?d:e)|0)==3)if(!(S0a(v,0,-1,117744,3)|0)){yt(b,1,1);break u}else{f=a[g>>0]|0;e=f&255;d=c[h>>2]|0;break}while(0);do if(((f<<24>>24<0?d:e)|0)==3)if(!(S0a(v,0,-1,117748,3)|0)){yt(b,3,1);break u}else{f=a[g>>0]|0;e=f&255;d=c[h>>2]|0;break}while(0);do if(((f<<24>>24<0?d:e)|0)==5)if(!(S0a(v,0,-1,117752,5)|0)){yt(b,2,1);break u}else{f=a[g>>0]|0;e=f&255;d=c[h>>2]|0;break}while(0);do if(((f<<24>>24<0?d:e)|0)==5)if(!(S0a(v,0,-1,117758,5)|0)){yt(b,4,1);break u}else{f=a[g>>0]|0;e=f&255;d=c[h>>2]|0;break}while(0);if(((f<<24>>24<0?d:e)|0)==4){if(S0a(v,0,-1,117764,4)|0)break;yt(b,0,1)}}while(0);e=Jh(117769)|0;if(e|0){d=0;while(1){if(!(a[e+d>>0]|0))break;d=d+1|0;if(d>>>0>=4096){d=4096;break}}A0a(v,e,d)|0;z0a(b+168|0,v)|0}e=Jh(117795)|0;v:do if(e|0){d=0;while(1){if(!(a[e+d>>0]|0))break;d=d+1|0;if(d>>>0>=4096){d=4096;break}}A0a(v,e,d)|0;e=v+11|0;g=a[e>>0]|0;h=v+4|0;d=c[h>>2]|0;f=g&255;do if(((g<<24>>24<0?d:f)|0)==3)if(!(S0a(v,0,-1,173088,3)|0)){a[b+180>>0]=0;break v}else{e=a[e>>0]|0;f=e&255;d=c[h>>2]|0;break}else e=g;while(0);if(((e<<24>>24<0?d:f)|0)==2?(S0a(v,0,-1,181840,2)|0)==0:0)a[b+180>>0]=1}while(0);e=Jh(117808)|0;if(e|0){d=0;while(1){if(!(a[e+d>>0]|0))break;d=d+1|0;if(d>>>0>=4096){d=4096;break}}A0a(v,e,d)|0;t0a(u,v);j=u+11|0;d=a[j>>0]|0;if((d<<24>>24<0?c[u+4>>2]|0:d&255)|0){e=Q0a(u,58,0)|0;if((e|0)==-1)d=0;else{f=b+188|0;g=b+192|0;h=r+11|0;i=b+184|0;d=0;do{x0a(r,u,d,e-d|0,t);d=c[f>>2]|0;do if(d>>>0<(c[g>>2]|0)>>>0){c[d>>2]=c[r>>2];c[d+4>>2]=c[r+4>>2];c[d+8>>2]=c[r+8>>2];c[r>>2]=0;c[r+4>>2]=0;c[r+8>>2]=0;c[f>>2]=(c[f>>2]|0)+12}else{Zp(i,r);if((a[h>>0]|0)>=0)break;l0a(c[r>>2]|0)}while(0);d=e+1|0;e=Q0a(u,58,d)|0}while((e|0)!=-1)}x0a(r,u,d,-1,t);d=r+11|0;q=a[d>>0]|0;do if((q<<24>>24<0?c[r+4>>2]|0:q&255)|0){e=b+188|0;f=c[e>>2]|0;if((f|0)==(c[b+192>>2]|0)){zq(b+184|0,r);break}else{t0a(f,r);c[e>>2]=(c[e>>2]|0)+12;break}}while(0);if((a[d>>0]|0)<0)l0a(c[r>>2]|0);d=a[j>>0]|0}if(d<<24>>24<0)l0a(c[u>>2]|0)}e=Jh(117827)|0;w:do if(e|0){d=0;while(1){if(!(a[e+d>>0]|0))break;d=d+1|0;if(d>>>0>=4096){d=4096;break}}A0a(v,e,d)|0;g=v+11|0;f=a[g>>0]|0;h=v+4|0;d=c[h>>2]|0;e=f&255;do if(((f<<24>>24<0?d:e)|0)==9)if(!(S0a(v,0,-1,117848,9)|0)){c[b+208>>2]=0;break w}else{f=a[g>>0]|0;e=f&255;d=c[h>>2]|0;break}while(0);do if(((f<<24>>24<0?d:e)|0)==10)if(!(S0a(v,0,-1,117858,10)|0)){c[b+208>>2]=1;break w}else{f=a[g>>0]|0;e=f&255;d=c[h>>2]|0;break}while(0);if(((f<<24>>24<0?d:e)|0)!=10)break;if(S0a(v,0,-1,117869,10)|0)break;c[b+208>>2]=2}while(0);c[r>>2]=0;Ct(117880,r)|0;e=Jh(117904)|0;x:do if(e|0){d=0;while(1){if(!(a[e+d>>0]|0))break;d=d+1|0;if(d>>>0>=4096){d=4096;break}}A0a(v,e,d)|0;e=v+11|0;g=a[e>>0]|0;h=v+4|0;d=c[h>>2]|0;f=g&255;do if(((g<<24>>24<0?d:f)|0)==3)if(!(S0a(v,0,-1,173088,3)|0)){a[b+212>>0]=0;break x}else{e=a[e>>0]|0;f=e&255;d=c[h>>2]|0;break}else e=g;while(0);if(((e<<24>>24<0?d:f)|0)!=2)break;if(S0a(v,0,-1,181840,2)|0)break;a[b+212>>0]=1}while(0);e=Jh(117924)|0;if(e|0){d=0;while(1){if(!(a[e+d>>0]|0))break;d=d+1|0;if(d>>>0>=4096){d=4096;break}}A0a(v,e,d)|0;i=b+216|0;e=c[i>>2]|0;j=b+220|0;d=c[j>>2]|0;if((d|0)!=(e|0))do{d=d+-12|0;if((a[d+11>>0]|0)<0)l0a(c[d>>2]|0)}while((d|0)!=(e|0));c[j>>2]=e;t0a(u,v);h=u+11|0;d=a[h>>0]|0;if((d<<24>>24<0?c[u+4>>2]|0:d&255)|0){e=Q0a(u,58,0)|0;if((e|0)==-1)d=0;else{f=b+224|0;g=t+11|0;d=0;do{x0a(t,u,d,e-d|0,s);d=c[j>>2]|0;do if(d>>>0<(c[f>>2]|0)>>>0){c[d>>2]=c[t>>2];c[d+4>>2]=c[t+4>>2];c[d+8>>2]=c[t+8>>2];c[t>>2]=0;c[t+4>>2]=0;c[t+8>>2]=0;c[j>>2]=(c[j>>2]|0)+12}else{Zp(i,t);if((a[g>>0]|0)>=0)break;l0a(c[t>>2]|0)}while(0);d=e+1|0;e=Q0a(u,58,d)|0}while((e|0)!=-1)}x0a(t,u,d,-1,s);d=t+11|0;s=a[d>>0]|0;do if((s<<24>>24<0?c[t+4>>2]|0:s&255)|0){e=c[j>>2]|0;if((e|0)==(c[b+224>>2]|0)){zq(i,t);break}else{t0a(e,t);c[j>>2]=(c[j>>2]|0)+12;break}}while(0);if((a[d>>0]|0)<0)l0a(c[t>>2]|0);d=a[h>>0]|0}if(d<<24>>24<0)l0a(c[u>>2]|0)}e=Jh(117950)|0;if(e|0){d=0;while(1){if(!(a[e+d>>0]|0))break;d=d+1|0;if(d>>>0>=4096){d=4096;break}}A0a(v,e,d)|0;c[b+228>>2]=TOa((a[v+11>>0]|0)<0?c[v>>2]|0:v)|0}do if(!(a[223632]|0)){if(!(g2a(223632)|0))break;kr(225352)}while(0);if((c[56338]|0)>3){t=mr(lr(4)|0,117988,33)|0;b=QSa(t,c[b+228>>2]|0)|0;BSa(u,b+(c[(c[b>>2]|0)+-12>>2]|0)|0);t=cUa(u,230580)|0;t=kk[c[(c[t>>2]|0)+28>>2]&511](t,10)|0;dUa(u);VSa(b,t)|0;HSa(b)|0}if((a[v+11>>0]|0)>=0){l=w;return}l0a(c[v>>2]|0);l=w;return}function At(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;if(!d)return;At(b,c[d>>2]|0);At(b,c[d+4>>2]|0);b=d+16|0;e=d+28|0;f=c[e>>2]|0;if(f|0?(h=f+8|0,g=c[h>>2]|0,c[h>>2]=g-1,(g|0)==1):0)UU(f,1,1);c[e>>2]=0;if((a[b+11>>0]|0)<0)l0a(c[b>>2]|0);l0a(d);return}function Bt(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;j=l;l=l+160|0;i=j+12|0;h=j;f=Jh(b|0)|0;if(!f){i=0;l=j;return i|0}b=0;while(1){if(!(a[f+b>>0]|0)){g=6;break}b=b+1|0;if(b>>>0>=4096){g=5;break}}if((g|0)==5){c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;b=4096;g=7}else if((g|0)==6){c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;if(b>>>0<11){a[h+11>>0]=b;if(!b){b=0;e=h}else{e=h;g=9}}else g=7}if((g|0)==7){k=b+16&-16;e=j0a(k)|0;c[h>>2]=e;c[h+8>>2]=k|-2147483648;c[h+4>>2]=b;g=9}if((g|0)==9)x2a(e|0,f|0,b|0)|0;a[e+b>>0]=0;e=i+60|0;f=i+8|0;c[i>>2]=43004;c[e>>2]=43024;c[i+4>>2]=0;zSa(i+60|0,f);c[i+132>>2]=0;c[i+136>>2]=-1;c[i>>2]=69456;c[e>>2]=69476;ESa(f);c[f>>2]=68044;g=i+40|0;c[g>>2]=0;c[g+4>>2]=0;c[g+8>>2]=0;c[g+12>>2]=0;c[i+56>>2]=8;Ar(f,h);if((a[h+11>>0]|0)<0)l0a(c[h>>2]|0);MSa(i,d)|0;b=(c[i+(c[(c[i>>2]|0)+-12>>2]|0)+16>>2]&5|0)==0;c[i>>2]=69456;c[e>>2]=69476;c[f>>2]=68044;if((a[g+11>>0]|0)<0)l0a(c[g>>2]|0);oRa(f);aSa(i,69488);iRa(e);k=b;l=j;return k|0}function Ct(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;j=l;l=l+160|0;i=j+12|0;h=j;f=Jh(b|0)|0;if(!f){i=0;l=j;return i|0}b=0;while(1){if(!(a[f+b>>0]|0)){g=6;break}b=b+1|0;if(b>>>0>=4096){g=5;break}}if((g|0)==5){c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;b=4096;g=7}else if((g|0)==6){c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;if(b>>>0<11){a[h+11>>0]=b;if(!b){b=0;e=h}else{e=h;g=9}}else g=7}if((g|0)==7){k=b+16&-16;e=j0a(k)|0;c[h>>2]=e;c[h+8>>2]=k|-2147483648;c[h+4>>2]=b;g=9}if((g|0)==9)x2a(e|0,f|0,b|0)|0;a[e+b>>0]=0;e=i+60|0;f=i+8|0;c[i>>2]=43004;c[e>>2]=43024;c[i+4>>2]=0;zSa(i+60|0,f);c[i+132>>2]=0;c[i+136>>2]=-1;c[i>>2]=69456;c[e>>2]=69476;ESa(f);c[f>>2]=68044;g=i+40|0;c[g>>2]=0;c[g+4>>2]=0;c[g+8>>2]=0;c[g+12>>2]=0;c[i+56>>2]=8;Ar(f,h);if((a[h+11>>0]|0)<0)l0a(c[h>>2]|0);KSa(i,d)|0;b=(c[i+(c[(c[i>>2]|0)+-12>>2]|0)+16>>2]&5|0)==0;c[i>>2]=69456;c[e>>2]=69476;c[f>>2]=68044;if((a[g+11>>0]|0)<0)l0a(c[g>>2]|0);oRa(f);aSa(i,69488);iRa(e);k=b;l=j;return k|0}function Dt(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;j=l;l=l+160|0;i=j+12|0;h=j;f=Jh(b|0)|0;if(!f){i=0;l=j;return i|0}b=0;while(1){if(!(a[f+b>>0]|0)){g=6;break}b=b+1|0;if(b>>>0>=4096){g=5;break}}if((g|0)==5){c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;b=4096;g=7}else if((g|0)==6){c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;if(b>>>0<11){a[h+11>>0]=b;if(!b){b=0;e=h}else{e=h;g=9}}else g=7}if((g|0)==7){k=b+16&-16;e=j0a(k)|0;c[h>>2]=e;c[h+8>>2]=k|-2147483648;c[h+4>>2]=b;g=9}if((g|0)==9)x2a(e|0,f|0,b|0)|0;a[e+b>>0]=0;e=i+60|0;f=i+8|0;c[i>>2]=43004;c[e>>2]=43024;c[i+4>>2]=0;zSa(i+60|0,f);c[i+132>>2]=0;c[i+136>>2]=-1;c[i>>2]=69456;c[e>>2]=69476;ESa(f);c[f>>2]=68044;g=i+40|0;c[g>>2]=0;c[g+4>>2]=0;c[g+8>>2]=0;c[g+12>>2]=0;c[i+56>>2]=8;Ar(f,h);if((a[h+11>>0]|0)<0)l0a(c[h>>2]|0);LSa(i,d)|0;b=(c[i+(c[(c[i>>2]|0)+-12>>2]|0)+16>>2]&5|0)==0;c[i>>2]=69456;c[e>>2]=69476;c[f>>2]=68044;if((a[g+11>>0]|0)<0)l0a(c[g>>2]|0);oRa(f);aSa(i,69488);iRa(e);k=b;l=j;return k|0}function Et(b){b=b|0;var d=0,e=0,f=0;c[b>>2]=69456;d=b+60|0;c[d>>2]=69476;e=b+8|0;c[e>>2]=68044;f=b+40|0;if((a[f+11>>0]|0)<0)l0a(c[f>>2]|0);oRa(e);aSa(b,69488);iRa(d);return}function Ft(b){b=b|0;var d=0,e=0,f=0;c[b>>2]=69456;d=b+60|0;c[d>>2]=69476;e=b+8|0;c[e>>2]=68044;f=b+40|0;if((a[f+11>>0]|0)<0)l0a(c[f>>2]|0);oRa(e);aSa(b,69488);iRa(d);l0a(b);return}function Gt(b){b=b|0;var d=0,e=0,f=0;b=b+(c[(c[b>>2]|0)+-12>>2]|0)|0;c[b>>2]=69456;d=b+60|0;c[d>>2]=69476;e=b+8|0;c[e>>2]=68044;f=b+40|0;if((a[f+11>>0]|0)<0)l0a(c[f>>2]|0);oRa(e);aSa(b,69488);iRa(d);return}function Ht(b){b=b|0;var d=0,e=0,f=0;b=b+(c[(c[b>>2]|0)+-12>>2]|0)|0;c[b>>2]=69456;d=b+60|0;c[d>>2]=69476;e=b+8|0;c[e>>2]=68044;f=b+40|0;if((a[f+11>>0]|0)<0)l0a(c[f>>2]|0);oRa(e);aSa(b,69488);iRa(d);l0a(b);return}function It(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=l;l=l+16|0;e=h;f=ep(a,e,b)|0;d=c[f>>2]|0;if(d|0){a=d;a=a+28|0;l=h;return a|0}g=j0a(40)|0;t0a(g+16|0,b);d=g+28|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;d=c[e>>2]|0;c[g>>2]=0;c[g+4>>2]=0;c[g+8>>2]=d;c[f>>2]=g;d=c[c[a>>2]>>2]|0;if(!d)d=g;else{c[a>>2]=d;d=c[f>>2]|0}fp(c[a+4>>2]|0,d);a=a+8|0;c[a>>2]=(c[a>>2]|0)+1;a=g;a=a+28|0;l=h;return a|0}function Jt(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;c[b>>2]=69408;At(b+256|0,c[b+260>>2]|0);yq(b+244|0,c[b+248>>2]|0);oX(b+232|0);e=b+216|0;g=c[e>>2]|0;if(g|0){f=b+220|0;d=c[f>>2]|0;if((d|0)==(g|0))d=g;else{do{d=d+-12|0;if((a[d+11>>0]|0)<0)l0a(c[d>>2]|0)}while((d|0)!=(g|0));d=c[e>>2]|0}c[f>>2]=g;l0a(d)}f=b+196|0;g=c[f>>2]|0;if(g|0){h=b+200|0;d=c[h>>2]|0;if((d|0)==(g|0))d=g;else{do{d=d+-4|0;e=c[d>>2]|0;if(e|0?(j=e+8|0,i=c[j>>2]|0,c[j>>2]=i-1,(i|0)==1):0)UU(e,1,1);c[d>>2]=0}while((d|0)!=(g|0));d=c[f>>2]|0}c[h>>2]=g;l0a(d)}e=b+184|0;f=c[e>>2]|0;if(f|0){g=b+188|0;d=c[g>>2]|0;if((d|0)==(f|0))d=f;else{do{d=d+-12|0;if((a[d+11>>0]|0)<0)l0a(c[d>>2]|0)}while((d|0)!=(f|0));d=c[e>>2]|0}c[g>>2]=f;l0a(d)}d=b+168|0;if((a[d+11>>0]|0)<0)l0a(c[d>>2]|0);d=b+132|0;if((a[d+11>>0]|0)<0)l0a(c[d>>2]|0);d=b+104|0;if((a[d+11>>0]|0)>=0){SU(b);return}l0a(c[d>>2]|0);SU(b);return}function Kt(a){a=a|0;Jt(a);l0a(a);return}function Lt(b,d,e){b=b|0;d=d|0;e=e|0;var f=0.0,h=0.0,i=0.0,j=0,k=0,m=0,n=0,o=0.0,p=0;p=l;l=l+512|0;j=p+256|0;k=p+128|0;m=p;n=p+384|0;o=+g[d+24>>2];i=+g[d+36>>2];a:do if(!(a[d+56>>0]|0)){f=1.0;h=1.0}else switch(c[d+20>>2]|0){case 2:{f=1.0;h=2.0;break a}case 3:{f=2.0;h=1.0;break a}default:{f=1.0;h=1.0;break a}}while(0);if((c[d+12>>2]|0)==3){Qra(j);Rra(j,h,f,1.0);Qra(b);Ura(b,j,e);l=p;return}else{Lra(m,1.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,o/(i*2.0),0.0,1.0,0.0,0.0,0.0,0.0,1.0);Qra(n);Rra(n,h,f,1.0);Qra(k);Ura(k,m,n);Qra(b);Ura(b,k,e);l=p;return}}function Mt(a,b,c,d){a=a|0;b=b|0;c=c|0;d=+d;var e=0,f=0;e=l;l=l+128|0;f=e;Lra(f,1.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,1.0,0.0,+g[b+24>>2]*.5*d,0.0,0.0,1.0);Qra(a);Ura(a,c,f);l=e;return}function Nt(b,d,e){b=b|0;d=d|0;e=e|0;var f=0.0,h=0.0,i=0.0,j=0,k=0,m=0,n=0,o=0.0,p=0;p=l;l=l+512|0;j=p+256|0;k=p+128|0;m=p;n=p+384|0;o=+g[d+24>>2];i=+g[d+36>>2];a:do if(!(a[d+56>>0]|0)){f=1.0;h=1.0}else switch(c[d+20>>2]|0){case 2:{f=1.0;h=2.0;break a}case 3:{f=2.0;h=1.0;break a}default:{f=1.0;h=1.0;break a}}while(0);if((c[d+12>>2]|0)==3){Qra(j);Rra(j,h,f,1.0);Qra(b);Ura(b,j,e);l=p;return}else{Lra(m,1.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,-o/(i*2.0),0.0,1.0,0.0,0.0,0.0,0.0,1.0);Qra(n);Rra(n,h,f,1.0);Qra(k);Ura(k,m,n);Qra(b);Ura(b,k,e);l=p;return}}function Ot(a,b,c,d){a=a|0;b=b|0;c=c|0;d=+d;var e=0,f=0;e=l;l=l+128|0;f=e;Lra(f,1.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,1.0,0.0,-(+g[b+24>>2]*.5*d),0.0,0.0,1.0);Qra(a);Ura(a,c,f);l=e;return}function Pt(a){a=a|0;Os(a);l0a(a);return}function Qt(b){b=b|0;var d=0;b=j0a(72)|0;Tha(b);d=b+12|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[b+24>>2]=2;c[b+28>>2]=0;c[b>>2]=68868;d=b+32|0;c[b+48>>2]=0;c[b+52>>2]=0;c[b+56>>2]=0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;a[d+12>>0]=0;ut(b+60|0);c[b>>2]=69508;c[d>>2]=34963;c[b+36>>2]=35044;return b|0}function Rt(b,d){b=b|0;d=d|0;var e=0;e=j0a(72)|0;Or(e,b,d);c[e>>2]=68868;c[e+32>>2]=0;c[e+36>>2]=0;c[e+40>>2]=0;a[e+44>>0]=a[b+44>>0]|0;c[e+48>>2]=0;c[e+52>>2]=0;c[e+56>>2]=0;ut(e+60|0);c[e>>2]=69508;return e|0}function St(a,b){a=a|0;b=b|0;if(!b){b=0;return b|0}b=(y1a(b,42800,43080,0)|0)!=0;return b|0}function Tt(a){a=a|0;return 186332}function Ut(a){a=a|0;return 118513}function Vt(a){a=a|0;Os(a);l0a(a);return}function Wt(a){a=a|0;a=j0a(72)|0;$t(a,0);return a|0}function Xt(b,d){b=b|0;d=d|0;var e=0;e=j0a(72)|0;Or(e,b,d);c[e>>2]=68868;c[e+32>>2]=0;c[e+36>>2]=0;c[e+40>>2]=0;a[e+44>>0]=a[b+44>>0]|0;c[e+48>>2]=0;c[e+52>>2]=0;c[e+56>>2]=0;ut(e+60|0);c[e>>2]=69680;return e|0}function Yt(a,b){a=a|0;b=b|0;if(!b){b=0;return b|0}b=(y1a(b,42800,43096,0)|0)!=0;return b|0}function Zt(a){a=a|0;return 186332}function _t(a){a=a|0;return 118561}function $t(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;g=l;l=l+16|0;e=g;Tha(b);h=b+12|0;c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;c[b+24>>2]=2;c[b+28>>2]=0;c[b>>2]=68868;h=b+32|0;c[b+48>>2]=0;f=b+52|0;c[f>>2]=0;c[b+56>>2]=0;c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;a[h+12>>0]=0;ut(b+60|0);c[b>>2]=69680;c[h>>2]=35052;c[b+36>>2]=35040;if((a[223632]|0)==0?g2a(223632)|0:0)kr(225352);if((c[56338]|0)>4){h=USa(mr(lr(5)|0,118579,41)|0,d)|0;BSa(e,h+(c[(c[h>>2]|0)+-12>>2]|0)|0);i=cUa(e,230580)|0;i=kk[c[(c[i>>2]|0)+28>>2]&511](i,10)|0;dUa(e);VSa(h,i)|0;HSa(h)|0}if(!d){l=g;return}e=b+48|0;b=c[e>>2]|0;if((c[f>>2]|0)==(b|0)){au(e,1);b=c[e>>2]|0}c[b>>2]=d;l=g;return}function au(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;k=a+8|0;e=c[k>>2]|0;l=a+4|0;d=c[l>>2]|0;if(e-d>>2>>>0>=b>>>0){do{c[d>>2]=0;d=(c[l>>2]|0)+4|0;c[l>>2]=d;b=b+-1|0}while((b|0)!=0);return}j=c[a>>2]|0;g=d-j|0;h=g>>2;i=h+b|0;if(i>>>0>1073741823)g1a(a);e=e-j|0;f=e>>1;f=e>>2>>>0<536870911?(f>>>0<i>>>0?i:f):1073741823;do if(f)if(f>>>0>1073741823){l=db(8)|0;p0a(l,183738);c[l>>2]=110936;hb(l|0,65952,1066)}else{e=j0a(f<<2)|0;d=e;break}else{d=0;e=0}while(0);z2a(d+(h<<2)|0,0,b<<2|0)|0;if((g|0)>0)x2a(e|0,j|0,g|0)|0;c[a>>2]=d;c[l>>2]=d+(i<<2);c[k>>2]=d+(f<<2);if(!j)return;l0a(j);return}function bu(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;d=c[56385]|0;e=c[56384]|0;f=d-e>>2;do if(f>>>0<=a>>>0){g=a+1|0;if(g>>>0>f>>>0){du(225536,g-f|0);break}if(g>>>0<f>>>0){f=e+(g<<2)|0;if((f|0)!=(d|0))do{d=d+-4|0;e=c[d>>2]|0;if(e|0?(h=e+8|0,g=c[h>>2]|0,c[h>>2]=g-1,(g|0)==1):0)UU(e,1,1);c[d>>2]=0}while((d|0)!=(f|0));c[56385]=f}}while(0);if(!((c[(c[56384]|0)+(a<<2)>>2]|0)!=0|b^1)){b=j0a(1752)|0;eu(b,a);d=c[56385]|0;e=c[56384]|0;f=d-e>>2;do if(f>>>0<=a>>>0){g=a+1|0;if(g>>>0>f>>>0){du(225536,g-f|0);break}if(g>>>0<f>>>0){f=e+(g<<2)|0;if((f|0)!=(d|0))do{d=d+-4|0;e=c[d>>2]|0;if(e|0?(g=e+8|0,h=c[g>>2]|0,c[g>>2]=h-1,(h|0)==1):0)UU(e,1,1);c[d>>2]=0}while((d|0)!=(f|0));c[56385]=f}}while(0);d=(c[56384]|0)+(a<<2)|0;e=c[d>>2]|0;if(((e|0)!=(b|0)?(c[d>>2]=b,h=b+8|0,c[h>>2]=(c[h>>2]|0)+1,e|0):0)?(b=e+8|0,h=c[b>>2]|0,c[b>>2]=h-1,(h|0)==1):0)UU(e,1,1)}d=c[56385]|0;e=c[56384]|0;f=d-e>>2;if(f>>>0>a>>>0){h=c[56384]|0;h=h+(a<<2)|0;h=c[h>>2]|0;return h|0}g=a+1|0;if(g>>>0>f>>>0){du(225536,g-f|0);h=c[56384]|0;h=h+(a<<2)|0;h=c[h>>2]|0;return h|0}if(g>>>0>=f>>>0){h=c[56384]|0;h=h+(a<<2)|0;h=c[h>>2]|0;return h|0}f=e+(g<<2)|0;if((f|0)!=(d|0))do{d=d+-4|0;e=c[d>>2]|0;if(e|0?(b=e+8|0,h=c[b>>2]|0,c[b>>2]=h-1,(h|0)==1):0)UU(e,1,1);c[d>>2]=0}while((d|0)!=(f|0));c[56385]=f;h=c[56384]|0;h=h+(a<<2)|0;h=c[h>>2]|0;return h|0}function cu(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;m=a+8|0;f=c[m>>2]|0;n=a+4|0;e=c[n>>2]|0;g=e;if(f-e>>2>>>0>=b>>>0){e=b;f=g;while(1){c[f>>2]=c[d>>2];e=e+-1|0;if(!e)break;else f=f+4|0}c[n>>2]=g+(b<<2);return}l=c[a>>2]|0;k=e-l|0;g=k>>2;e=g+b|0;if(e>>>0>1073741823)g1a(a);i=f-l|0;j=i>>1;e=i>>2>>>0<536870911?(j>>>0<e>>>0?e:j):1073741823;do if(e)if(e>>>0>1073741823){n=db(8)|0;p0a(n,183738);c[n>>2]=110936;hb(n|0,65952,1066)}else{j=j0a(e<<2)|0;i=j;break}else{i=0;j=0}while(0);h=i+(g<<2)|0;f=i+(e<<2)|0;e=b;g=h;while(1){c[g>>2]=c[d>>2];e=e+-1|0;if(!e)break;else g=g+4|0}if((k|0)>0)x2a(j|0,l|0,k|0)|0;c[a>>2]=i;c[n>>2]=h+(b<<2);c[m>>2]=f;if(!l)return;l0a(l);return}function du(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;m=a+8|0;f=c[m>>2]|0;n=a+4|0;e=c[n>>2]|0;d=e;if(f-e>>2>>>0>=b>>>0){z2a(e|0,0,b<<2|0)|0;c[n>>2]=d+(b<<2);return}j=c[a>>2]|0;h=e-j>>2;e=h+b|0;g=j;if(e>>>0>1073741823)g1a(a);l=f-j|0;f=l>>1;f=l>>2>>>0<536870911?(f>>>0<e>>>0?e:f):1073741823;do if(f)if(f>>>0>1073741823){n=db(8)|0;p0a(n,183738);c[n>>2]=110936;hb(n|0,65952,1066)}else{i=j0a(f<<2)|0;break}else i=0;while(0);e=i+(h<<2)|0;l=i+(f<<2)|0;z2a(e|0,0,b<<2|0)|0;k=e+(b<<2)|0;if((d|0)==(g|0))f=j;else{b=h+-1-((d+-4+(0-j)|0)>>>2)|0;while(1){d=d+-4|0;f=c[d>>2]|0;c[e+-4>>2]=f;if(f|0){j=f+8|0;c[j>>2]=(c[j>>2]|0)+1}if((d|0)==(g|0))break;else e=e+-4|0}f=c[a>>2]|0;e=i+(b<<2)|0;g=f;d=c[n>>2]|0}c[a>>2]=e;c[n>>2]=k;c[m>>2]=l;if((d|0)!=(g|0))do{d=d+-4|0;e=c[d>>2]|0;if(e|0?(m=e+8|0,n=c[m>>2]|0,c[m>>2]=n-1,(n|0)==1):0)UU(e,1,1);c[d>>2]=0}while((d|0)!=(g|0));if(!f)return;l0a(f);return}function eu(d,e){d=d|0;e=e|0;var f=0,h=0.0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;E=l;l=l+32|0;s=E+24|0;D=E+12|0;t=E;Tha(d);c[d>>2]=69852;C=d+12|0;c[C>>2]=e;e=di(7938)|0;A=(e|0)!=0;a:do if(A){f=a[e>>0]|0;if(!(f<<24>>24))h=0.0;else{while(1){if((f+-48&255)<10)break;e=e+1|0;f=a[e>>0]|0;if(!(f<<24>>24)){h=0.0;break a}}h=+fu(e)}}else{if((a[223632]|0)==0?g2a(223632)|0:0)kr(225352);if((c[56338]|0)>0){z=mr(lr(1)|0,118647,67)|0;BSa(s,z+(c[(c[z>>2]|0)+-12>>2]|0)|0);y=cUa(s,230580)|0;y=kk[c[(c[y>>2]|0)+28>>2]&511](y,10)|0;dUa(s);VSa(z,y)|0;HSa(z)|0;h=0.0}else h=0.0}while(0);y=d+16|0;g[y>>2]=h;m=d+20|0;g[m>>2]=0.0;x=A&1;f=d+25|0;i=d+26|0;j=d+27|0;k=d+28|0;z2a(f|0,x|0,4)|0;do if(A){if(!(gu(c[C>>2]|0,118715,3402823466385288598117041.0e14)|0)?!(gu(c[C>>2]|0,118739,3402823466385288598117041.0e14)|0):0)e=gu(c[C>>2]|0,118762,3.200000047683716)|0;else e=1;a[d+29>>0]=e&1;a[d+31>>0]=(gu(c[C>>2]|0,118786,3.0)|0)&1;if(gu(c[C>>2]|0,118805,4.0)|0)e=1;else e=gu(c[C>>2]|0,118832,3402823466385288598117041.0e14)|0;a[d+30>>0]=e&1;a[d+32>>0]=(gu(c[C>>2]|0,118859,3.0999999046325684)|0)&1;a[d+33>>0]=(gu(c[C>>2]|0,118888,4.099999904632568)|0)&1;a[d+34>>0]=(gu(c[C>>2]|0,118914,4.0)|0)&1;a[d+35>>0]=(gu(c[C>>2]|0,118937,4.199999809265137)|0)&1;if(!(gu(c[C>>2]|0,118967,3402823466385288598117041.0e14)|0)?!(gu(c[C>>2]|0,118992,3402823466385288598117041.0e14)|0):0)e=gu(c[C>>2]|0,119017,3402823466385288598117041.0e14)|0;else e=1;a[d+36>>0]=e&1;a[d+37>>0]=1;z=gu(c[C>>2]|0,119041,3402823466385288598117041.0e14)|0;h=+g[y>>2];a[d+38>>0]=(z|h>=4.5)&1;if(!(h>=2.0)){if(!(a[f>>0]|0)){f=1;B=27;break}if(!(a[i>>0]|0)){f=1;B=27;break}if(!(a[j>>0]|0)){f=1;B=27;break}z=a[k>>0]|0;e=d+24|0;a[e>>0]=z;if(!(z<<24>>24)){z=1;break}}else{e=d+24|0;a[e>>0]=1}do{}while((bi()|0)!=0);f=di(35724)|0;b:do if((f|0)!=0&(bi()|0)==0){i=a[f>>0]|0;if(!(i<<24>>24))h=0.0;else{while(1){if((i+-48&255)<10)break;f=f+1|0;i=a[f>>0]|0;if(!(i<<24>>24)){h=0.0;break b}}h=+fu(f)}}else h=1.0;while(0);g[m>>2]=h;z=1}else{i=d+29|0;j=i+10|0;do{a[i>>0]=0;i=i+1|0}while((i|0)<(j|0));f=0;B=27}while(0);if((B|0)==27){e=d+24|0;a[e>>0]=0;z=f}if((a[223632]|0)==0?g2a(223632)|0:0)kr(225352);if((c[56338]|0)>3){v=mr(lr(4)|0,119061,10)|0;v=mr(mr(SSa(v,+g[y>>2])|0,184688,2)|0,119072,16)|0;w=(a[e>>0]|0)==0;w=mr(mr(mr(v,w?119089:182871,w?2:3)|0,184688,2)|0,119092,20)|0;w=SSa(w,+g[m>>2])|0;BSa(s,w+(c[(c[w>>2]|0)+-12>>2]|0)|0);v=cUa(s,230580)|0;v=kk[c[(c[v>>2]|0)+28>>2]&511](v,10)|0;dUa(s);VSa(w,v)|0;HSa(w)|0}f=d+40|0;if(A){e=sc(211841)|0;if(!e)e=sc(119113)|0;c[f>>2]=e;e=sc(209052)|0;if(!e)e=sc(119130)|0;c[d+44>>2]=e;e=sc(210522)|0;if(!e)e=sc(119148)|0;c[d+48>>2]=e;e=sc(210340)|0;if(!e)e=sc(119172)|0;c[d+52>>2]=e;e=sc(208953)|0;if(!e)e=sc(119191)|0;c[d+56>>2]=e;e=sc(209022)|0;if(!e)e=sc(119216)|0;c[d+60>>2]=e;c[d+64>>2]=sc(210415)|0;c[d+72>>2]=sc(210271)|0;e=sc(209082)|0;if(!e)e=sc(119240)|0;c[d+76>>2]=e;c[d+80>>2]=sc(211092)|0;c[d+84>>2]=sc(211066)|0;e=sc(210253)|0;if(!e)e=sc(119258)|0;c[d+88>>2]=e;e=sc(209804)|0;if(!e)e=sc(119279)|0;c[d+92>>2]=e;e=sc(210286)|0;if(!e)e=sc(119301)|0;c[d+96>>2]=e;e=sc(210233)|0;if(!e)e=sc(119325)|0;c[d+100>>2]=e;c[d+104>>2]=sc(210389)|0;c[d+112>>2]=sc(210472)|0;c[d+120>>2]=sc(210375)|0;c[d+124>>2]=sc(210356)|0;e=sc(210322)|0;if(!e)e=sc(119348)|0;c[d+128>>2]=e;e=sc(209717)|0;if(!e)e=sc(119369)|0;c[d+132>>2]=e;e=sc(209687)|0;if(!e)e=sc(119393)|0;c[d+136>>2]=e;e=sc(209702)|0;if(!e)e=sc(119411)|0;c[d+140>>2]=e;c[d+144>>2]=sc(119429)|0;c[d+148>>2]=sc(209738)|0;c[d+152>>2]=sc(209758)|0;c[d+156>>2]=sc(209778)|0;c[d+160>>2]=sc(210510)|0;c[d+164>>2]=sc(210404)|0;e=sc(210458)|0;if(!e)e=sc(119449)|0;c[d+168>>2]=e;e=sc(210307)|0;if(!e)e=sc(119466)|0;c[d+172>>2]=e;e=sc(208988)|0;if(!e)e=sc(119484)|0;c[d+176>>2]=e;e=sc(209823)|0;if(!e)e=sc(119506)|0;c[d+180>>2]=e;e=sc(209835)|0;if(!e)e=sc(119521)|0;c[d+184>>2]=e;e=sc(209847)|0;if(!e)e=sc(119536)|0;c[d+188>>2]=e;e=sc(209859)|0;if(!e)e=sc(119551)|0;c[d+192>>2]=e;e=sc(209871)|0;if(!e)e=sc(119566)|0;c[d+196>>2]=e;e=sc(209883)|0;if(!e)e=sc(119581)|0;c[d+200>>2]=e;e=sc(209895)|0;if(!e)e=sc(119596)|0;c[d+204>>2]=e;e=sc(209907)|0;if(!e)e=sc(119611)|0;c[d+208>>2]=e;e=sc(209971)|0;if(!e)e=sc(119626)|0;c[d+212>>2]=e;e=sc(209984)|0;if(!e)e=sc(119642)|0;c[d+216>>2]=e;e=sc(209997)|0;if(!e)e=sc(119658)|0;c[d+220>>2]=e;e=sc(210010)|0;if(!e)e=sc(119674)|0;c[d+224>>2]=e;e=sc(209919)|0;if(!e)e=sc(119690)|0;c[d+228>>2]=e;e=sc(209932)|0;if(!e)e=sc(119706)|0;c[d+232>>2]=e;e=sc(209945)|0;if(!e)e=sc(119722)|0;c[d+236>>2]=e;e=sc(209958)|0;if(!e)e=sc(119738)|0;c[d+240>>2]=e;e=sc(210023)|0;if(!e)e=sc(119754)|0;c[d+244>>2]=e;e=sc(210042)|0;if(!e)e=sc(119776)|0;c[d+248>>2]=e;e=sc(210061)|0;if(!e)e=sc(119798)|0;c[d+252>>2]=e;e=sc(210492)|0;if(!e)e=sc(119820)|0;c[d+256>>2]=e;e=sc(119841)|0;if(!e)e=sc(119858)|0;c[d+260>>2]=e;c[d+264>>2]=sc(119878)|0;e=sc(210093)|0;if(!e)e=sc(119896)|0;c[d+268>>2]=e;e=sc(210161)|0;if(!e)e=sc(119916)|0;c[d+272>>2]=e;e=sc(119937)|0;if(!e)e=sc(119954)|0;c[d+276>>2]=e;c[d+280>>2]=sc(119974)|0;c[d+284>>2]=sc(119992)|0;e=sc(120009)|0;if(!e)e=sc(120027)|0;c[d+288>>2]=e;c[d+292>>2]=sc(210110)|0;e=sc(210179)|0;if(!e)e=sc(120048)|0;c[d+296>>2]=e;c[d+300>>2]=sc(120069)|0;c[d+304>>2]=sc(120086)|0;c[d+308>>2]=sc(120104)|0;e=sc(120121)|0;if(!e)e=sc(120139)|0;c[d+312>>2]=e;c[d+316>>2]=sc(210127)|0;e=sc(210197)|0;if(!e)e=sc(120160)|0;c[d+320>>2]=e;c[d+324>>2]=sc(120181)|0;c[d+328>>2]=sc(120198)|0;c[d+332>>2]=sc(120216)|0;c[d+336>>2]=sc(120235)|0;c[d+340>>2]=sc(120254)|0;c[d+344>>2]=sc(120273)|0;e=sc(120292)|0;if(!e)e=sc(120312)|0;c[d+348>>2]=e;c[d+352>>2]=sc(120335)|0;c[d+356>>2]=sc(120355)|0;c[d+360>>2]=sc(120375)|0;c[d+364>>2]=sc(120393)|0;e=sc(120410)|0;if(!e)e=sc(120428)|0;c[d+368>>2]=e;c[d+372>>2]=sc(210144)|0;e=sc(210215)|0;if(!e)e=sc(120449)|0;c[d+376>>2]=e;c[d+380>>2]=sc(120470)|0;c[d+384>>2]=sc(120488)|0;c[d+388>>2]=sc(120505)|0;e=sc(120523)|0;if(!e)e=sc(120542)|0;c[d+392>>2]=e;c[d+396>>2]=sc(120564)|0;c[d+400>>2]=sc(120583)|0;e=sc(211044)|0;if(!e)e=sc(152557)|0;c[d+404>>2]=e;e=sc(212300)|0;if(!e)e=sc(120602)|0;c[d+408>>2]=e;e=sc(152582)|0;if(!e)e=sc(120628)|0;c[d+412>>2]=e;c[d+416>>2]=sc(211197)|0;c[d+116>>2]=sc(120654)|0;c[d+108>>2]=sc(120670)|0;c[d+68>>2]=sc(120696)|0;c[d+576>>2]=sc(120714)|0;c[d+420>>2]=sc(120729)|0;c[d+424>>2]=sc(120750)|0;c[d+428>>2]=sc(120771)|0;c[d+432>>2]=sc(120792)|0;c[d+436>>2]=sc(120813)|0;c[d+440>>2]=sc(120834)|0;c[d+444>>2]=sc(120855)|0;e=sc(120869)|0;if(!e)e=sc(120889)|0;c[d+448>>2]=e;c[d+452>>2]=sc(120912)|0;c[d+456>>2]=sc(120930)|0;e=sc(212748)|0;if(!e)e=sc(120949)|0;c[d+460>>2]=e;e=sc(212764)|0;if(!e)e=sc(120968)|0;c[d+464>>2]=e;e=sc(120994)|0;if(!e)e=sc(121024)|0;c[d+468>>2]=e;e=sc(121057)|0;if(!e)e=sc(121076)|0;c[d+472>>2]=e;e=sc(212787)|0;if(!e)e=sc(121098)|0;c[d+476>>2]=e;e=sc(212809)|0;if(!e)e=sc(121123)|0;c[d+480>>2]=e;e=sc(212822)|0;if(!e)e=sc(121139)|0;c[d+484>>2]=e;e=sc(212835)|0;if(!e)e=sc(121155)|0;c[d+488>>2]=e;e=sc(212848)|0;if(!e)e=sc(121171)|0;c[d+492>>2]=e;e=sc(121187)|0;if(!e)e=sc(121201)|0;c[d+496>>2]=e;e=sc(121218)|0;if(!e)e=sc(121232)|0;c[d+500>>2]=e;e=sc(121249)|0;if(!e)e=sc(121263)|0;c[d+504>>2]=e;e=sc(121280)|0;if(!e)e=sc(121294)|0;c[d+508>>2]=e;e=sc(121311)|0;if(!e)e=sc(121325)|0;c[d+512>>2]=e;e=sc(121342)|0;if(!e)e=sc(121357)|0;c[d+520>>2]=e;e=sc(121375)|0;if(!e)e=sc(121389)|0;c[d+528>>2]=e;e=sc(121406)|0;if(!e)e=sc(121421)|0;c[d+536>>2]=e;e=sc(121439)|0;if(!e)e=sc(121453)|0;c[d+544>>2]=e;e=sc(121470)|0;if(!e)e=sc(121485)|0;c[d+552>>2]=e;e=sc(121503)|0;if(!e)e=sc(121517)|0;c[d+560>>2]=e;e=sc(121534)|0;if(!e)e=sc(121549)|0;c[d+568>>2]=e;e=sc(121567)|0;if(!e)e=sc(121582)|0;c[d+516>>2]=e;e=sc(121600)|0;if(!e)e=sc(121616)|0;c[d+524>>2]=e;e=sc(121635)|0;if(!e)e=sc(121650)|0;c[d+532>>2]=e;e=sc(121668)|0;if(!e)e=sc(121684)|0;c[d+540>>2]=e;e=sc(121703)|0;if(!e)e=sc(121718)|0;c[d+548>>2]=e;e=sc(121736)|0;if(!e)e=sc(121752)|0;c[d+556>>2]=e;e=sc(121771)|0;if(!e)e=sc(121786)|0;c[d+564>>2]=e;e=sc(121804)|0;if(!e)e=sc(121820)|0;c[d+572>>2]=e;c[d+580>>2]=sc(211855)|0;c[d+584>>2]=sc(211875)|0;c[d+588>>2]=sc(211897)|0;c[d+592>>2]=sc(211920)|0;c[d+596>>2]=sc(211943)|0;c[d+600>>2]=sc(211969)|0;c[d+604>>2]=sc(211997)|0;c[d+608>>2]=sc(121839)|0;c[d+612>>2]=sc(121858)|0;c[d+616>>2]=sc(121874)|0;c[d+620>>2]=sc(121886)|0;c[d+624>>2]=sc(121898)|0;c[d+628>>2]=sc(121910)|0;c[d+632>>2]=sc(121922)|0;c[d+636>>2]=sc(121935)|0;c[d+640>>2]=sc(121948)|0;c[d+644>>2]=sc(121961)|0;c[d+648>>2]=sc(121974)|0;c[d+652>>2]=sc(121993)|0;c[d+656>>2]=sc(122012)|0;c[d+660>>2]=sc(122031)|0;c[d+664>>2]=sc(122052)|0;c[d+668>>2]=sc(122073)|0;c[d+672>>2]=sc(122094)|0;c[d+676>>2]=sc(122115)|0;c[d+680>>2]=sc(122136)|0;c[d+684>>2]=sc(122157)|0;c[d+688>>2]=sc(122190)|0;e=sc(122208)|0;if(!e)e=sc(122224)|0;c[d+788>>2]=e;e=sc(209489)|0;if(!e)e=sc(122243)|0;c[d+720>>2]=e;e=sc(210080)|0;if(!e)e=sc(152703)|0;c[d+724>>2]=e;e=sc(209541)|0;if(!e)e=sc(122259)|0;c[d+728>>2]=e;e=sc(209554)|0;if(!e)e=sc(122275)|0;c[d+732>>2]=e;e=sc(209502)|0;if(!e)e=sc(122294)|0;c[d+736>>2]=e;e=sc(209570)|0;if(!e)e=sc(122313)|0;c[d+740>>2]=e;e=sc(122327)|0;if(!e)e=sc(122346)|0;c[d+744>>2]=e;e=sc(122368)|0;if(!e)e=sc(122384)|0;c[d+748>>2]=e;e=sc(122403)|0;if(!e)e=sc(122424)|0;c[d+752>>2]=e;e=sc(122448)|0;if(!e)e=sc(122460)|0;c[d+756>>2]=e;e=sc(122475)|0;if(!e)e=sc(122492)|0;c[d+760>>2]=e;e=sc(122512)|0;if(!e)e=sc(122526)|0;c[d+764>>2]=e;e=sc(209518)|0;if(!e)e=sc(122543)|0;c[d+768>>2]=e;e=sc(122569)|0;if(!e)e=sc(122589)|0;c[d+772>>2]=e;c[d+776>>2]=sc(212146)|0;f=d+780|0;e=sc(212164)|0;do if(!e){e=sc(122612)|0;if(e|0)break;e=sc(122632)|0}while(0);c[f>>2]=e;e=sc(122651)|0;if(!e)e=sc(122663)|0;c[d+784>>2]=e;f=d+713|0;a[f>>0]=z;j=d+714|0;a[j>>0]=(gu(c[C>>2]|0,122678,3402823466385288598117041.0e14)|0)&1;a[d+715>>0]=(gu(c[C>>2]|0,122705,3402823466385288598117041.0e14)|0)&1;e=c[C>>2]|0;if(gu(e,122734,3402823466385288598117041.0e14)|0)e=1;else e=gu(e,122761,3402823466385288598117041.0e14)|0;a[d+716>>0]=e&1;i=gu(c[C>>2]|0,122788,3402823466385288598117041.0e14)|0;f=a[f>>0]|0;e=j}else{e=d+713|0;z2a(f|0,0,652)|0;i=d+720|0;j=i+72|0;do{c[i>>2]=0;i=i+4|0}while((i|0)<(j|0));a[e>>0]=z;e=d+714|0;a[e>>0]=0;a[d+715>>0]=0;a[d+716>>0]=0;i=0;f=z}a[d+717>>0]=i&1;if(!(f<<24>>24))e=(a[e>>0]|0)!=0;else e=1;a[d+712>>0]=e&1;a[d+792>>0]=z;f=d+796|0;if(A){e=sc(211729)|0;if(!e)e=sc(122815)|0;c[f>>2]=e;e=sc(122838)|0;if(!e)e=sc(122851)|0;c[d+800>>2]=e;e=sc(122867)|0;if(!e)e=sc(122888)|0;c[d+804>>2]=e;a[d+808>>0]=(gu(c[C>>2]|0,152250,3402823466385288598117041.0e14)|0)&1;a[d+809>>0]=(gu(c[C>>2]|0,152273,3402823466385288598117041.0e14)|0)&1;a[d+810>>0]=(gu(c[C>>2]|0,122912,3402823466385288598117041.0e14)|0)&1;a[d+811>>0]=(gu(c[C>>2]|0,122932,3402823466385288598117041.0e14)|0)&1;a[d+812>>0]=(gu(c[C>>2]|0,122954,3402823466385288598117041.0e14)|0)&1;a[d+813>>0]=(gu(c[C>>2]|0,122977,3402823466385288598117041.0e14)|0)&1;a[d+814>>0]=(gu(c[C>>2]|0,122996,3402823466385288598117041.0e14)|0)&1;f=d+816|0;e=sc(211219)|0;if(!e){e=sc(152719)|0;if(!e)e=sc(152744)|0}c[f>>2]=e;f=d+820|0;e=sc(211241)|0;if(!e){e=sc(152769)|0;if(!e)e=sc(152796)|0}c[f>>2]=e;e=sc(123015)|0;if(!e)e=sc(123028)|0;c[d+832>>2]=e;e=sc(123044)|0;if(!e)e=sc(123065)|0;c[d+824>>2]=e;e=sc(123089)|0;if(!e)e=sc(123109)|0;c[d+828>>2]=e;e=sc(123132)|0;if(!e)e=sc(123150)|0;c[d+836>>2]=e;e=sc(152634)|0;if(!e)e=sc(152652)|0;c[d+840>>2]=e;e=sc(123171)|0;if(!e)e=sc(123190)|0;c[d+844>>2]=e;e=sc(123212)|0;if(!e)e=sc(123231)|0;c[d+848>>2]=e;e=sc(123253)|0;if(!e)e=sc(123272)|0;c[d+852>>2]=e;e=sc(123294)|0;if(!e)e=sc(123313)|0;c[d+856>>2]=e;e=sc(123335)|0;if(!e)e=sc(123353)|0;c[d+860>>2]=e;e=sc(123374)|0;if(!e)e=sc(123393)|0;c[d+864>>2]=e;e=sc(123415)|0;if(!e)e=sc(123434)|0;c[d+868>>2]=e;e=sc(123456)|0;if(!e)e=sc(123475)|0;c[d+872>>2]=e;e=sc(123497)|0;if(!e)e=sc(123516)|0;c[d+876>>2]=e;e=sc(123538)|0;if(!e)e=sc(123560)|0;c[d+880>>2]=e;e=sc(123584)|0;if(!e)e=sc(123609)|0;c[d+884>>2]=e;e=sc(123636)|0;if(!e)e=sc(123655)|0;c[d+888>>2]=e;e=sc(123676)|0;if(!e)e=sc(123698)|0;c[d+892>>2]=e;e=sc(123722)|0;if(!e)e=sc(123742)|0;c[d+896>>2]=e;e=sc(123764)|0;if(!e)e=sc(123786)|0;c[d+900>>2]=e;e=sc(123810)|0;if(!e)e=sc(123833)|0;c[d+904>>2]=e;e=sc(123858)|0;if(!e)e=sc(123871)|0;c[d+912>>2]=e;e=sc(123887)|0;if(!e)e=sc(123903)|0;c[d+940>>2]=e;e=sc(123922)|0;if(!e)e=sc(123932)|0;c[d+936>>2]=e;e=sc(123945)|0;if(!e)e=sc(123958)|0;c[d+916>>2]=e;e=sc(123974)|0;if(!e)e=sc(123985)|0;c[d+920>>2]=e;e=sc(123999)|0;if(!e)e=sc(124019)|0;c[d+924>>2]=e;e=sc(124042)|0;if(!e)e=sc(124060)|0;c[d+928>>2]=e;e=sc(124081)|0;if(!e)e=sc(124094)|0;c[d+908>>2]=e;e=sc(124110)|0;if(!e)e=sc(124129)|0;c[d+944>>2]=e;e=sc(124151)|0;if(!e)e=sc(124171)|0;c[d+948>>2]=e;e=sc(124194)|0;if(!e)e=sc(124216)|0;c[d+952>>2]=e;c[d+932>>2]=sc(124241)|0;c[d+956>>2]=sc(124256)|0;e=gu(c[C>>2]|0,124272,3402823466385288598117041.0e14)|0}else{c[f>>2]=0;c[f+4>>2]=0;c[f+8>>2]=0;c[f+12>>2]=0;b[f+16>>1]=0;a[f+18>>0]=0;z2a(d+816|0,0,144)|0;e=0}a[d+961>>0]=e&1;e=d+960|0;a[e>>0]=+g[y>>2]>=3.200000047683716&1;f=d+964|0;if(A){c[f>>2]=sc(124299)|0;if(!(a[e>>0]|0))e=gu(c[C>>2]|0,124313,3402823466385288598117041.0e14)|0;else e=1;a[d+962>>0]=e&1;a[d+968>>0]=(gu(c[C>>2]|0,124337,3402823466385288598117041.0e14)|0)&1;a[d+969>>0]=(gu(c[C>>2]|0,124359,3402823466385288598117041.0e14)|0)&1;c[d+972>>2]=sc(124383)|0;c[d+976>>2]=sc(124400)|0;c[d+980>>2]=sc(124417)|0;c[d+984>>2]=sc(124437)|0;c[d+988>>2]=sc(124456)|0;e=sc(124486)|0;if(!e)e=sc(124506)|0;c[d+992>>2]=e;e=sc(124529)|0;if(!e)e=sc(124549)|0;c[d+996>>2]=e;e=sc(124572)|0;if(!e)e=sc(124593)|0;c[d+1e3>>2]=e;e=sc(124617)|0;if(!e)e=sc(124638)|0;c[d+1004>>2]=e;e=sc(124662)|0;if(!e)e=sc(124684)|0;c[d+1008>>2]=e;e=sc(124709)|0;if(!e)e=sc(124732)|0;c[d+1012>>2]=e;e=sc(124758)|0;if(!e)e=sc(124782)|0;c[d+1016>>2]=e;e=sc(124809)|0;if(!e)e=sc(124833)|0;c[d+1020>>2]=e;e=sc(124860)|0;if(!e)e=sc(124885)|0;c[d+1024>>2]=e;e=sc(124913)|0;if(!e)e=sc(124939)|0;c[d+1028>>2]=e;e=sc(124968)|0;if(!e)e=sc(124982)|0;c[d+1032>>2]=e;e=sc(124999)|0;if(!e)e=sc(125016)|0;c[d+1036>>2]=e;e=sc(125036)|0;if(!e)e=sc(125050)|0;c[d+1040>>2]=e;e=sc(125067)|0;if(!e)e=sc(125079)|0;c[d+1044>>2]=e;e=di(7937)|0}else{c[f>>2]=0;a[d+962>>0]=0;a[d+968>>0]=0;a[d+969>>0]=0;i=d+972|0;j=i+76|0;do{c[i>>2]=0;i=i+4|0}while((i|0)<(j|0));e=0}i=(e|0)==0?231036:e;c[D>>2]=0;c[D+4>>2]=0;c[D+8>>2]=0;j=VNa(i)|0;if(j>>>0>4294967279)r0a(D);if(j>>>0<11){f=D+11|0;a[f>>0]=j;if(!j){e=D;w=f}else{e=D;B=368}}else{f=j+16&-16;e=j0a(f)|0;c[D>>2]=e;c[D+8>>2]=f|-2147483648;c[D+4>>2]=j;f=D+11|0;B=368}if((B|0)==368){x2a(e|0,i|0,j|0)|0;w=f}a[e+j>>0]=0;f=a[w>>0]|0;o=f<<24>>24<0;i=o?c[D>>2]|0:D;q=D+4|0;f=o?c[q>>2]|0:f&255;o=i+f|0;e=o;p=i;m=(f|0)<6;c:do if(!m){k=i;j=f;do{j=j+-5|0;if(!j)break;n=aOa(k,82,j)|0;if(!n)break;if(!(cOa(n,152844,6)|0)){B=375;break}k=n+1|0;j=e-k|0}while((j|0)>=6);if((B|0)==375?!((n|0)==(o|0)|(n-p|0)==-1):0){n=1;break}if(!m){k=i;j=f;while(1){j=j+-5|0;if(!j){k=o;j=e;B=383;break c}j=aOa(k,82,j)|0;if(!j){k=o;j=e;B=383;break c}if(!(cOa(j,152851,6)|0))break;k=j+1|0;j=e-k|0;if((j|0)<6){k=o;j=e;B=383;break c}}k=j;B=383}else{k=o;j=e;B=383}}else{k=o;j=e;B=383}while(0);if((B|0)==383)n=(j-p|0)!=-1&(k|0)!=(o|0);d:do if(!m){k=i;j=f;do{j=j+-5|0;if(!j)break;r=aOa(k,70,j)|0;if(!r)break;if(!(cOa(r,125094,6)|0)){B=390;break}k=r+1|0;j=e-k|0}while((j|0)>=6);if((B|0)==390?!((r|0)==(o|0)|(r-p|0)==-1):0){i=1;break}if(!m){while(1){f=f+-5|0;if(!f){i=o;B=398;break d}f=aOa(i,70,f)|0;if(!f){i=o;B=398;break d}if(!(cOa(f,125101,6)|0))break;i=f+1|0;f=e-i|0;if((f|0)<6){i=o;B=398;break d}}i=f;e=f;B=398}else{i=o;B=398}}else{i=o;B=398}while(0);if((B|0)==398)i=(e-p|0)!=-1&(i|0)!=(o|0);a[d+1048>>0]=x;if(A){a[d+1049>>0]=(gu(c[C>>2]|0,125108,3402823466385288598117041.0e14)|0)&1;a[d+1050>>0]=(gu(c[C>>2]|0,125142,3402823466385288598117041.0e14)|0)&1;a[d+1051>>0]=x;if(gu(c[C>>2]|0,125165,3402823466385288598117041.0e14)|0)e=1;else e=gu(c[C>>2]|0,125197,3402823466385288598117041.0e14)|0;a[d+1052>>0]=e&1;e=(gu(c[C>>2]|0,125208,3402823466385288598117041.0e14)|0)&1;a[d+1053>>0]=e;a[d+1054>>0]=e;a[d+1055>>0]=(gu(c[C>>2]|0,125241,3402823466385288598117041.0e14)|0)&1;a[d+1056>>0]=(gu(c[C>>2]|0,125277,3402823466385288598117041.0e14)|0)&1;a[d+1057>>0]=(gu(c[C>>2]|0,125302,3402823466385288598117041.0e14)|0)&1;e=gu(c[C>>2]|0,125208,3402823466385288598117041.0e14)|0}else{a[d+1049>>0]=0;a[d+1050>>0]=0;a[d+1051>>0]=x;e=d+1052|0;c[e>>2]=0;b[e+4>>1]=0;e=0}a[d+1058>>0]=e&1;a[d+1059>>0]=x;a[d+1060>>0]=x;if(A){e=1;f=gu(c[C>>2]|0,125334,3402823466385288598117041.0e14)|0}else{e=0;f=0}a[d+1061>>0]=f&1;a[d+1062>>0]=x;a[d+1063>>0]=((n|i)^1)&1;if(e){a[d+1064>>0]=(gu(c[C>>2]|0,124272,3402823466385288598117041.0e14)|0)&1;a[d+1065>>0]=(gu(c[C>>2]|0,125362,3402823466385288598117041.0e14)|0)&1;a[d+1066>>0]=(gu(c[C>>2]|0,125376,3402823466385288598117041.0e14)|0)&1;e=gu(c[C>>2]|0,125398,3402823466385288598117041.0e14)|0}else{a[d+1064>>0]=0;a[d+1065>>0]=0;a[d+1066>>0]=0;e=0}a[d+1072>>0]=e&1;m=d+1075|0;a[m>>0]=x;a[d+1076>>0]=x;if(A)e=gu(c[C>>2]|0,125422,3402823466385288598117041.0e14)|0;else e=0;a[d+1073>>0]=e&1;e=a[w>>0]|0;i=e<<24>>24<0;f=i?c[D>>2]|0:D;e=i?c[q>>2]|0:e&255;i=f+e|0;j=i;k=f;e:do if((e|0)>=10){while(1){e=e+-9|0;if(!e)break e;e=aOa(f,71,e)|0;if(!e)break e;if(!(cOa(e,125445,10)|0))break;f=e+1|0;e=j-f|0;if((e|0)<10)break e}if(!((e|0)==(i|0)|(e-k|0)==-1)){a[m>>0]=0;do if(!(a[223632]|0)){if(!(g2a(223632)|0))break;kr(225352)}while(0);if((c[56338]|0)<=3)break;v=mr(lr(4)|0,125456,76)|0;BSa(s,v+(c[(c[v>>2]|0)+-12>>2]|0)|0);u=cUa(s,230580)|0;u=kk[c[(c[u>>2]|0)+28>>2]&511](u,10)|0;dUa(s);VSa(v,u)|0;HSa(v)|0}}while(0);f=d+1068|0;c[f>>2]=0;if(A){ci(3379,f|0);e=c[f>>2]|0}else e=0;c[s>>2]=e;do if(Ct(168706,s)|0){e=c[s>>2]|0;if((e|0)>=(c[f>>2]|0))break;c[f>>2]=e}while(0);h=+g[y>>2];a[d+1067>>0]=h>=1.2000000476837158&1;if(A){if(!(h>=4.199999809265137)){v=gu(c[C>>2]|0,125533,3402823466385288598117041.0e14)|0;e=d+1074|0;a[e>>0]=v&1;if(v){m=e;B=432}}else{m=d+1074|0;a[m>>0]=1;B=432}if((B|0)==432){c[t>>2]=0;c[t+4>>2]=0;c[t+8>>2]=0;f=Jh(168761)|0;f:do if(!f)e=t+11|0;else{e=0;while(1){if(!(a[f+e>>0]|0))break;e=e+1|0;if(e>>>0>=4096){e=4096;break}}A0a(t,f,e)|0;e=t+11|0;j=a[e>>0]|0;k=t+4|0;f=c[k>>2]|0;i=j&255;do if(((j<<24>>24<0?f:i)|0)==3){if(!(S0a(t,0,-1,173088,3)|0))break;j=a[e>>0]|0;i=j&255;f=c[k>>2]|0;B=440}else B=440;while(0);do if((B|0)==440){if(((j<<24>>24<0?f:i)|0)==7?(S0a(t,0,-1,125556,7)|0)==0:0)break;a[m>>0]=1;break f}while(0);a[m>>0]=0}while(0);if((a[e>>0]|0)<0)l0a(c[t>>2]|0)}e=sc(125564)|0;if(!e)e=sc(125579)|0;c[d+1080>>2]=e;e=sc(125597)|0;if(!e)e=sc(125616)|0;c[d+1084>>2]=e;e=sc(209314)|0;if(!e)e=sc(125638)|0;c[d+1088>>2]=e;e=sc(125656)|0;if(!e)e=sc(125675)|0;c[d+1092>>2]=e;e=sc(209329)|0;if(!e)e=sc(125697)|0;c[d+1096>>2]=e;e=sc(125715)|0;if(!e)e=sc(125734)|0;c[d+1100>>2]=e;e=sc(125756)|0;if(!e)e=sc(125786)|0;c[d+1104>>2]=e;e=sc(125819)|0;if(!e)e=sc(125849)|0;c[d+1108>>2]=e;e=sc(125882)|0;if(!e)e=sc(125896)|0;c[d+1112>>2]=e;e=sc(209207)|0;if(!e)e=sc(125913)|0;c[d+1116>>2]=e;e=sc(209230)|0;if(!e)e=sc(125939)|0;c[d+1120>>2]=e;e=sc(125968)|0;if(!e)e=sc(125992)|0;c[d+1124>>2]=e;e=sc(126019)|0;if(!e)e=sc(126043)|0;c[d+1128>>2]=e;f=d+1132|0;e=sc(212861)|0;do if(!e){e=sc(126070)|0;if(e|0)break;e=sc(126091)|0}while(0);c[f>>2]=e;f=d+1136|0;e=sc(212879)|0;do if(!e){e=sc(126112)|0;if(e|0)break;e=sc(126134)|0}while(0);c[f>>2]=e;e=sc(126156)|0;if(!e)e=sc(126175)|0;c[d+1140>>2]=e;v=gu(c[C>>2]|0,126197,3402823466385288598117041.0e14)|0;a[d+1145>>0]=v&1;if(v){a[d+1144>>0]=1;e=d+1148|0}else{a[d+1144>>0]=+g[y>>2]>=1.2000000476837158&1;e=d+1148|0}c[e>>2]=0;ci(32883,e|0);e=sc(209285)|0;if(!e)e=sc(126214)|0;c[d+1152>>2]=e;e=sc(209298)|0;if(!e)e=sc(126230)|0;c[d+1156>>2]=e;e=sc(126249)|0;if(!e)e=sc(126272)|0;c[d+1164>>2]=e;e=sc(126298)|0;if(!e)e=sc(126324)|0;c[d+1168>>2]=e;c[d+1172>>2]=sc(126353)|0;c[d+1176>>2]=sc(126377)|0;e=sc(126396)|0;if(!e)e=sc(126416)|0}else{a[d+1074>>0]=0;c[d+1080>>2]=0;e=d+1084|0;c[d+1148>>2]=0;c[d+1152>>2]=0;c[d+1156>>2]=0;f=d+1164|0;i=e;j=i+60|0;do{c[i>>2]=0;i=i+4|0}while((i|0)<(j|0));b[e+60>>1]=0;c[f>>2]=0;c[f+4>>2]=0;c[f+8>>2]=0;c[f+12>>2]=0;e=0}c[d+1160>>2]=e;u=d+1640|0;e=sc(212252)|0;if(!e)e=sc(126439)|0;c[u>>2]=e;v=d+1644|0;e=sc(212277)|0;if(!e)e=sc(126467)|0;c[v>>2]=e;if(A){a[d+1180>>0]=(gu(c[C>>2]|0,126493,3402823466385288598117041.0e14)|0)&1;f=d+1188|0;c[f>>2]=0;ci(3379,f|0);f=d+1184|0;c[f>>2]=0;ci(35071,f|0);f=d+692|0;e=sc(126514)|0;do if(!e){e=sc(126533)|0;if(e|0)break;e=sc(126555)|0}while(0);c[f>>2]=e;f=d+696|0;e=sc(126576)|0;do if(!e){e=sc(126604)|0;if(e|0)break;e=sc(126635)|0}while(0);c[f>>2]=e;f=d+700|0;e=sc(126665)|0;do if(!e){e=sc(126696)|0;if(e|0)break;e=sc(126730)|0}while(0);c[f>>2]=e;f=d+704|0;e=sc(126763)|0;do if(!e){e=sc(126783)|0;if(e|0)break;e=sc(126806)|0}while(0);c[f>>2]=e;f=d+708|0;e=sc(126828)|0;do if(!e){e=sc(126854)|0;if(e|0)break;e=sc(126883)|0}while(0);c[f>>2]=e;a[d+1192>>0]=z;e=sc(211749)|0;if(!e)e=sc(126911)|0;c[d+1200>>2]=e;a[d+1193>>0]=x;a[d+1194>>0]=x;a[d+1195>>0]=(gu(c[C>>2]|0,126927,3402823466385288598117041.0e14)|0)&1;a[d+1196>>0]=(gu(c[C>>2]|0,126954,3402823466385288598117041.0e14)|0)&1;e=sc(211482)|0;if(!e)e=sc(126976)|0;c[d+1204>>2]=e;e=sc(211522)|0;if(!e)e=sc(126995)|0;c[d+1208>>2]=e;e=sc(127022)|0;if(!e)e=sc(127039)|0;c[d+1212>>2]=e;e=sc(127059)|0;if(!e)e=sc(127084)|0;c[d+1216>>2]=e;c[d+1220>>2]=sc(212064)|0;c[d+1224>>2]=sc(212074)|0;a[d+1228>>0]=(gu(c[C>>2]|0,127112,1.399999976158142)|0)&1;a[d+1229>>0]=(gu(c[C>>2]|0,127132,3402823466385288598117041.0e14)|0)&1;a[d+1230>>0]=+g[y>>2]>=2.0&1;a[d+1231>>0]=(gu(c[C>>2]|0,127156,3402823466385288598117041.0e14)|0)&1;c[d+1232>>2]=sc(127180)|0;e=sc(211784)|0;if(!e)e=sc(127203)|0;c[d+1236>>2]=e;c[d+1240>>2]=sc(211573)|0;e=sc(211762)|0;if(!e)e=sc(127226)|0;c[d+1244>>2]=e;c[d+1248>>2]=sc(127226)|0;e=sc(212019)|0;if(!e)e=sc(127251)|0;c[d+1252>>2]=e;if(gu(c[C>>2]|0,127267,3402823466385288598117041.0e14)|0)e=1;else e=+g[y>>2]>=2.0;a[d+1256>>0]=e&1;e=sc(212239)|0;if(!e)e=sc(127293)|0;c[d+1260>>2]=e;e=sc(127309)|0;if(!e)e=sc(127333)|0;c[d+1264>>2]=e;do if(!(+g[y>>2]>=1.399999976158142)){if(gu(c[C>>2]|0,127359,3402823466385288598117041.0e14)|0){e=1;break}if(gu(c[C>>2]|0,127383,3402823466385288598117041.0e14)|0){e=1;break}e=gu(c[C>>2]|0,127407,3402823466385288598117041.0e14)|0}else e=1;while(0);a[d+1276>>0]=e&1;a[d+1277>>0]=z;a[d+1279>>0]=+g[y>>2]>=2.0&1;e=sc(127432)|0;if(!e)e=sc(127450)|0;f=d+1280|0;c[f>>2]=e;if(!e){e=sc(127471)|0;if(!e)e=sc(127492)|0;c[f>>2]=e}f=d+1284|0;e=sc(127514)|0;if(!e)e=sc(127532)|0;c[f>>2]=e;if(!e){e=sc(127553)|0;if(!e)e=sc(127574)|0;c[f>>2]=e}f=d+1288|0;e=sc(127596)|0;if(!e)e=sc(127615)|0;c[f>>2]=e;if(!e){e=sc(127637)|0;if(!e)e=sc(127659)|0;c[f>>2]=e}a[d+1268>>0]=z;a[d+1269>>0]=(gu(c[C>>2]|0,127682,3402823466385288598117041.0e14)|0)&1;e=sc(211618)|0;if(!e)e=sc(127712)|0;c[d+1272>>2]=e;t=d+1296|0;e=sc(209622)|0;do if(!e){e=sc(127732)|0;if(e|0)break;e=sc(127754)|0}while(0);c[t>>2]=e;s=d+1300|0;e=sc(209600)|0;do if(!e){e=sc(127776)|0;if(e|0)break;e=sc(127801)|0}while(0);c[s>>2]=e;r=d+1304|0;e=sc(209581)|0;do if(!e){e=sc(127826)|0;if(e|0)break;e=sc(127848)|0}while(0);c[r>>2]=e;q=d+1308|0;e=sc(211707)|0;do if(!e){e=sc(127870)|0;if(e|0)break;e=sc(127895)|0}while(0);c[q>>2]=e;f=d+1312|0;e=sc(127920)|0;do if(!e){e=sc(127953)|0;if(e|0)break;e=sc(127989)|0}while(0);c[f>>2]=e;c[d+1316>>2]=sc(128025)|0;p=d+1320|0;e=sc(210543)|0;do if(!e){e=sc(128068)|0;if(e|0)break;e=sc(128089)|0}while(0);c[p>>2]=e;o=d+1324|0;e=sc(210579)|0;do if(!e){e=sc(128110)|0;if(e|0)break;e=sc(128134)|0}while(0);c[o>>2]=e;n=d+1328|0;e=sc(210561)|0;do if(!e){e=sc(128158)|0;if(e|0)break;e=sc(128179)|0}while(0);c[n>>2]=e;m=d+1332|0;e=sc(211424)|0;do if(!e){e=sc(128200)|0;if(e|0)break;e=sc(128228)|0}while(0);c[m>>2]=e;f=d+1336|0;e=sc(128256)|0;do if(!e){e=sc(128279)|0;if(e|0)break;e=sc(128305)|0}while(0);c[f>>2]=e;k=d+1340|0;e=sc(210626)|0;do if(!e){e=sc(128331)|0;if(e|0)break;e=sc(128357)|0}while(0);c[k>>2]=e;f=d+1344|0;e=sc(128383)|0;do if(!e){e=sc(128406)|0;if(e|0)break;e=sc(128432)|0}while(0);c[f>>2]=e;f=d+1348|0;e=sc(128458)|0;do if(!e){e=sc(128479)|0;if(e|0)break;e=sc(128503)|0}while(0);c[f>>2]=e;f=d+1352|0;e=sc(128527)|0;do if(!e){e=sc(128553)|0;if(e|0)break;e=sc(128582)|0}while(0);c[f>>2]=e;f=d+1356|0;e=sc(128611)|0;do if(!e){e=sc(128636)|0;if(e|0)break;e=sc(128664)|0}while(0);c[f>>2]=e;j=d+1360|0;e=sc(210600)|0;do if(!e){e=sc(128692)|0;if(e|0)break;e=sc(128721)|0}while(0);c[j>>2]=e;f=d+1376|0;e=sc(128750)|0;do if(!e){e=sc(128774)|0;if(e|0)break;e=sc(128801)|0}while(0);c[f>>2]=e;f=d+1380|0;e=sc(128828)|0;do if(!e){e=sc(128856)|0;if(e|0)break;e=sc(128887)|0}while(0);c[f>>2]=e;f=d+1384|0;e=sc(128918)|0;do if(!e){e=sc(128947)|0;if(e|0)break;e=sc(128979)|0}while(0);c[f>>2]=e;f=d+1388|0;e=sc(129011)|0;do if(!e){e=sc(129044)|0;if(e|0)break;e=sc(129080)|0}while(0);c[f>>2]=e;i=d+1364|0;e=sc(211449)|0;do if(!e){e=sc(129116)|0;if(e|0)break;e=sc(129136)|0}while(0);c[i>>2]=e;f=d+1368|0;e=sc(129156)|0;do if(!e){e=sc(129174)|0;if(e|0)break;e=sc(129195)|0}while(0);c[f>>2]=e;e=sc(209641)|0;do if(!e){e=sc(129216)|0;if(e|0)break;e=sc(129248)|0}while(0);z=c[t>>2]|0;c[d+1372>>2]=e;do if(!z)e=0;else{if(!(c[s>>2]|0)){e=0;break}if(!(c[r>>2]|0)){e=0;break}if(!(c[q>>2]|0)){e=0;break}if(!(c[p>>2]|0)){e=0;break}if(!(c[o>>2]|0)){e=0;break}if(!(c[n>>2]|0)){e=0;break}if(!(c[m>>2]|0)){e=0;break}if(!(c[k>>2]|0)){e=0;break}if(!(c[j>>2]|0)){e=0;break}e=(e|0)!=0&(c[i>>2]|0)!=0}while(0);a[d+1292>>0]=e&1;if(gu(c[C>>2]|0,129280,3402823466385288598117041.0e14)|0)e=1;else e=gu(c[C>>2]|0,129308,3402823466385288598117041.0e14)|0;a[d+1293>>0]=e&1;c[d+1392>>2]=sc(129336)|0;c[d+1396>>2]=sc(129367)|0;c[d+1400>>2]=sc(129400)|0;c[d+1404>>2]=sc(129431)|0;c[d+1408>>2]=sc(129452)|0;c[d+1412>>2]=sc(129478)|0;c[d+1416>>2]=sc(129498)|0;c[d+1420>>2]=sc(129522)|0;c[d+1424>>2]=sc(129548)|0;c[d+1428>>2]=sc(129560)|0;c[d+1432>>2]=sc(129569)|0;c[d+1436>>2]=sc(129582)|0;c[d+1440>>2]=sc(129599)|0;c[d+1444>>2]=sc(129610)|0;e=sc(129622)|0;if(!e)e=sc(129643)|0;c[d+1448>>2]=e;e=sc(129667)|0;if(!e)e=sc(129693)|0;c[d+1452>>2]=e;e=sc(129722)|0;if(!e)e=sc(129745)|0;c[d+1456>>2]=e;e=sc(129771)|0;if(!e)e=sc(129799)|0;c[d+1460>>2]=e;f=d+1464|0;e=sc(129830)|0;do if(!e){e=sc(129850)|0;if(e|0)break;e=sc(129873)|0}while(0);c[f>>2]=e;e=sc(212098)|0;if(!e)e=sc(129896)|0;c[d+1468>>2]=e;e=sc(212123)|0;if(!e)e=sc(129924)|0;c[d+1472>>2]=e;e=sc(212181)|0;if(!e)e=sc(129950)|0;c[d+1476>>2]=e;e=sc(212209)|0;if(!e)e=sc(129981)|0;c[d+1480>>2]=e;c[d+1484>>2]=sc(130014)|0;c[d+1488>>2]=sc(130038)|0;c[d+1492>>2]=sc(130065)|0;c[d+1496>>2]=sc(130089)|0;c[d+1500>>2]=sc(130111)|0;c[d+1504>>2]=sc(130136)|0;c[d+1508>>2]=sc(130162)|0;c[d+1512>>2]=sc(130186)|0;c[d+1516>>2]=sc(130216)|0;c[d+1520>>2]=sc(130249)|0;c[d+1524>>2]=sc(130288)|0;c[d+1528>>2]=sc(130315)|0;c[d+1532>>2]=sc(130345)|0;c[d+1536>>2]=sc(130376)|0;c[d+1540>>2]=sc(130401)|0;c[d+1544>>2]=sc(130427)|0;e=sc(210925)|0;if(!e)e=sc(130455)|0;c[d+1552>>2]=e;e=sc(210964)|0;if(!e)e=sc(130476)|0;c[d+1560>>2]=e;e=sc(210943)|0;if(!e)e=sc(130497)|0;c[d+1548>>2]=e;e=sc(210909)|0;if(!e)e=sc(130521)|0;c[d+1556>>2]=e;a[d+1564>>0]=(gu(c[C>>2]|0,130540,4.300000190734863)|0)&1;e=sc(130569)|0;if(!e)e=sc(130588)|0;c[d+1568>>2]=e;e=sc(130610)|0;if(!e)e=sc(130636)|0;c[d+1572>>2]=e;e=sc(130665)|0;if(!e)e=sc(130687)|0;c[d+1576>>2]=e;e=sc(130712)|0;if(!e)e=sc(130739)|0;c[d+1580>>2]=e;e=sc(130665)|0;if(!e)e=sc(130687)|0;c[d+1584>>2]=e;e=sc(130665)|0;if(!e)e=sc(130687)|0;c[d+1588>>2]=e;e=sc(130769)|0;if(!e)e=sc(130791)|0;c[d+1592>>2]=e;e=sc(130816)|0;if(!e)e=sc(130842)|0;c[d+1596>>2]=e;e=sc(130871)|0;if(!e)e=sc(130898)|0;c[d+1600>>2]=e;e=sc(130928)|0;if(!e)e=sc(130955)|0;c[d+1604>>2]=e;e=sc(130985)|0;if(!e)e=sc(131003)|0}else{a[d+1180>>0]=0;c[d+1188>>2]=0;c[d+1184>>2]=0;e=d+692|0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[e+12>>2]=0;c[e+16>>2]=0;a[d+1192>>0]=z;c[d+1200>>2]=0;a[d+1193>>0]=x;a[d+1194>>0]=x;a[d+1195>>0]=0;a[d+1196>>0]=0;e=d+1204|0;c[d+1260>>2]=0;c[d+1264>>2]=0;a[d+1276>>0]=0;f=d+1277|0;i=e;j=i+52|0;do{c[i>>2]=0;i=i+4|0}while((i|0)<(j|0));a[e+52>>0]=0;a[f>>0]=z;a[d+1279>>0]=0;c[d+1280>>2]=0;c[d+1284>>2]=0;c[d+1288>>2]=0;a[d+1268>>0]=z;a[d+1269>>0]=0;c[d+1272>>2]=0;e=d+1376|0;i=d+1296|0;j=i+76|0;do{c[i>>2]=0;i=i+4|0}while((i|0)<(j|0));c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[e+12>>2]=0;c[d+1372>>2]=0;a[d+1292>>0]=0;a[d+1293>>0]=0;z2a(d+1392|0,0,173)|0;i=d+1568|0;j=i+40|0;do{c[i>>2]=0;i=i+4|0}while((i|0)<(j|0));e=0}c[d+1608>>2]=e;e=sc(131024)|0;if(!e)e=sc(131044)|0;c[d+1612>>2]=e;e=sc(131067)|0;if(!e)e=sc(131101)|0;c[d+1648>>2]=e;e=sc(131138)|0;if(!e)e=sc(131174)|0;c[d+1652>>2]=e;e=sc(131213)|0;if(!e)e=sc(131259)|0;c[d+1656>>2]=e;c[d+1620>>2]=sc(210782)|0;e=sc(131308)|0;if(!e)e=sc(131333)|0;c[d+1624>>2]=e;e=sc(131361)|0;if(!e)e=sc(131391)|0;c[d+1632>>2]=e;e=sc(131424)|0;if(!e)e=sc(131458)|0;c[d+1628>>2]=e;e=sc(131495)|0;if(!e)e=sc(131525)|0;c[d+1616>>2]=e;e=sc(131558)|0;if(!e)e=sc(131576)|0;c[d+1636>>2]=e;e=sc(212252)|0;if(!e)e=sc(131597)|0;c[u>>2]=e;e=sc(212277)|0;if(!e)e=sc(131625)|0;c[v>>2]=e;if(A){a[d+1660>>0]=(gu(c[C>>2]|0,131651,4.099999904632568)|0)&1;c[d+1664>>2]=sc(131673)|0;c[d+1668>>2]=sc(131690)|0;c[d+1672>>2]=sc(131709)|0;c[d+1676>>2]=sc(131729)|0;c[d+1680>>2]=sc(131745)|0;c[d+1684>>2]=sc(131762)|0;c[d+1688>>2]=sc(131780)|0;c[d+1692>>2]=sc(131799)|0;e=sc(131819)|0;if(!e)e=sc(131843)|0;c[d+1696>>2]=e;c[d+1700>>2]=sc(131866)|0;c[d+1704>>2]=sc(131880)|0;c[d+1708>>2]=sc(131895)|0;c[d+1712>>2]=sc(131919)|0;c[d+1716>>2]=sc(131938)|0;c[d+1720>>2]=sc(131958)|0;e=sc(210887)|0;if(!e)e=sc(152423)|0;c[d+1724>>2]=e;e=sc(211466)|0;if(!e)e=sc(152448)|0;c[d+1728>>2]=e;e=sc(152467)|0;if(!e)e=sc(152485)|0;c[d+1732>>2]=e;e=sc(152506)|0;if(!e)e=sc(152530)|0;c[d+1736>>2]=e;e=di(7938)|0;g:do if(e){f=a[e>>0]|0;if(!(f<<24>>24)){B=734;break}while(1){if((f+-48&255)<10)break;e=e+1|0;f=a[e>>0]|0;if(!(f<<24>>24)){B=734;break g}}if(!(+fu(e)>=2.0))B=734}else B=734;while(0);if((B|0)==734)gu(c[C>>2]|0,152823,3402823466385288598117041.0e14)|0;e=d+1744|0;ci(35661,e|0);c[d+1740>>2]=c[e>>2];e=sc(131980)|0}else{a[d+1660>>0]=0;i=d+1664|0;j=i+84|0;do{c[i>>2]=0;i=i+4|0}while((i|0)<(j|0));e=0}c[d+1748>>2]=e;if((a[w>>0]|0)>=0){l=E;return}l0a(c[D>>2]|0);l=E;return}function fu(b){b=b|0;var d=0.0,e=0,f=0,g=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0.0;s=l;l=l+64|0;k=s+48|0;m=s+32|0;p=s+16|0;q=s;if(!(fOa(b,132233,2)|0)){e=b+2|0;b=a[e>>0]|0;if(!(b<<24>>24)){d=0.0;l=s;return +d}d=0.0;f=b;while(1){if((f+-48&255)>=10)if((f+-97&255)>=6)if((f+-65&255)<6)b=-55;else{r=26;break}else b=-87;else b=-48;d=d*16.0+ +(b+(f<<24>>24)|0);e=e+1|0;f=a[e>>0]|0;if(!(f<<24>>24)){r=26;break}}if((r|0)==26){l=s;return +d}}a[k+1>>0]=0;a[k>>0]=0;n=p+8|0;h[n>>3]=1.0;h[p>>3]=1.0;o=m+8|0;c[m>>2]=0;c[m+4>>2]=0;c[m+8>>2]=0;c[m+12>>2]=0;h[q+8>>3]=.1;h[q>>3]=.1;f=a[b>>0]|0;do if(!(f<<24>>24))r=23;else{e=0;g=f;i=f<<24>>24;a:while(1){b:do switch(g<<24>>24){case 43:{h[p+(e<<3)>>3]=1.0;break}case 45:{h[p+(e<<3)>>3]=-1.0;break}default:{if((g+-48&255)<10){f=m+(e<<3)|0;d=+h[f>>3];if(!(a[k+e>>0]|0)){h[f>>3]=d*10.0+ +(i+-48|0);break b}else{g=q+(e<<3)|0;t=+h[g>>3];h[f>>3]=d+t*+(i+-48|0);h[g>>3]=t*.1;break b}}switch(g<<24>>24){case 46:{a[k+e>>0]=1;break b}case 101:if((e|0)==1)break a;else{e=1;break b}default:if((e|0)==1|g<<24>>24!=69){j=e;r=22;break a}else{e=1;break b}}}}while(0);b=b+1|0;f=a[b>>0]|0;if(!((e|0)<2&f<<24>>24!=0)){j=e;r=22;break}else{g=f;i=f<<24>>24}}if((r|0)==22?(j|0)==0:0){r=23;break}d=+h[m>>3]*+h[p>>3]*+C(10.0,+(+h[o>>3]*+h[n>>3]))}while(0);if((r|0)==23)d=+h[m>>3]*+h[p>>3];t=d;l=s;return +t}function gu(b,e,f){b=b|0;e=e|0;f=+f;var g=0,h=0,i=0,j=0.0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;B=l;l=l+32|0;A=B+12|0;z=B;g=c[56388]|0;i=c[56387]|0;k=(g-i|0)/12|0;do if(k>>>0<=b>>>0){h=b+1|0;if(h>>>0>k>>>0){hu(225548,h-k|0);break}if(h>>>0<k>>>0){h=i+(h*12|0)|0;if((h|0)!=(g|0))do{y=g;g=g+-12|0;iu(g,c[y+-8>>2]|0)}while((g|0)!=(h|0));c[56388]=h}}while(0);u=c[56387]|0;v=u+(b*12|0)|0;g=c[56391]|0;h=c[56390]|0;i=(g-h|0)/12|0;do if(i>>>0<=b>>>0){k=b+1|0;if(k>>>0>i>>>0){ju(225560,k-i|0);break}if(k>>>0<i>>>0){h=h+(k*12|0)|0;if((h|0)!=(g|0))do{g=g+-12|0;if((a[g+11>>0]|0)<0)l0a(c[g>>2]|0)}while((g|0)!=(h|0));c[56391]=h}}while(0);t=c[56390]|0;y=t+(b*12|0)|0;g=di(7938)|0;a:do if((g|0)!=0?(m=a[g>>0]|0,m<<24>>24!=0):0){h=m;while(1){if((h+-48&255)<10)break;g=g+1|0;h=a[g>>0]|0;if(!(h<<24>>24)){j=0.0;break a}}j=+fu(g)}else j=0.0;while(0);if(!(j>=f)){g=c[56393]|0;i=(c[56394]|0)-g>>2;h=g;if(i>>>0<=b>>>0){k=b+1|0;c[A>>2]=0;if(k>>>0<=i>>>0){if(k>>>0<i>>>0)c[56394]=h+(k<<2)}else{ku(225572,k-i|0,A);g=c[56393]|0;h=g}}if(!(c[h+(b<<2)>>2]|0)){i=(c[56394]|0)-g>>2;if(i>>>0<=b>>>0){h=b+1|0;c[A>>2]=0;if(h>>>0<=i>>>0){if(h>>>0<i>>>0)c[56394]=g+(h<<2)}else{ku(225572,h-i|0,A);g=c[56393]|0}}c[g+(b<<2)>>2]=1;g=di(7937)|0;E0a(y,(g|0)==0?231036:g)|0;g=di(7939)|0;if(!g){A=0;l=B;return A|0}h=$Na(g,32)|0;b:do if(!h)s=g;else{n=z+11|0;o=z+8|0;p=z+4|0;q=u+(b*12|0)+4|0;r=u+(b*12|0)+8|0;i=g;while(1){c[z>>2]=0;c[z+4>>2]=0;c[z+8>>2]=0;m=h-i|0;if(m>>>0>4294967279)break;if(m>>>0<11){a[n>>0]=m;g=z}else{w=m+16&-16;g=j0a(w)|0;c[z>>2]=g;c[o>>2]=w|-2147483648;c[p>>2]=m}if((i|0)!=(h|0)){k=g;while(1){a[k>>0]=a[i>>0]|0;i=i+1|0;if((i|0)==(h|0))break;else k=k+1|0}g=g+m|0}a[g>>0]=0;i=lu(v,A,z)|0;if(!(c[i>>2]|0)){g=j0a(28)|0;k=g+16|0;c[k>>2]=c[z>>2];c[k+4>>2]=c[z+4>>2];c[k+8>>2]=c[z+8>>2];c[z>>2]=0;c[z+4>>2]=0;c[z+8>>2]=0;k=c[A>>2]|0;c[g>>2]=0;c[g+4>>2]=0;c[g+8>>2]=k;c[i>>2]=g;k=c[c[v>>2]>>2]|0;if(k){c[v>>2]=k;g=c[i>>2]|0}fp(c[q>>2]|0,g);c[r>>2]=(c[r>>2]|0)+1}if((a[n>>0]|0)<0)l0a(c[z>>2]|0);g=h+1|0;h=$Na(g,32)|0;if(!h){s=g;break b}else i=g}r0a(z)}while(0);if(a[s>>0]|0){c[z>>2]=0;c[z+4>>2]=0;c[z+8>>2]=0;h=VNa(s)|0;if(h>>>0>4294967279)r0a(z);if(h>>>0<11){a[z+11>>0]=h;if(!h)g=z;else{g=z;x=64}}else{x=h+16&-16;g=j0a(x)|0;c[z>>2]=g;c[z+8>>2]=x|-2147483648;c[z+4>>2]=h;x=64}if((x|0)==64)x2a(g|0,s|0,h|0)|0;a[g+h>>0]=0;h=lu(v,A,z)|0;if(!(c[h>>2]|0)){g=j0a(28)|0;i=g+16|0;c[i>>2]=c[z>>2];c[i+4>>2]=c[z+4>>2];c[i+8>>2]=c[z+8>>2];c[z>>2]=0;c[z+4>>2]=0;c[z+8>>2]=0;i=c[A>>2]|0;c[g>>2]=0;c[g+4>>2]=0;c[g+8>>2]=i;c[h>>2]=g;i=c[c[v>>2]>>2]|0;if(i){c[v>>2]=i;g=c[h>>2]|0}fp(c[u+(b*12|0)+4>>2]|0,g);w=u+(b*12|0)+8|0;c[w>>2]=(c[w>>2]|0)+1}if((a[z+11>>0]|0)<0)l0a(c[z>>2]|0)}if((a[223632]|0)==0?g2a(223632)|0:0)kr(225352);if((c[56338]|0)>3){w=mr(lr(4)|0,131994,60)|0;BSa(A,w+(c[(c[w>>2]|0)+-12>>2]|0)|0);s=cUa(A,230580)|0;s=kk[c[(c[s>>2]|0)+28>>2]&511](s,10)|0;dUa(A);VSa(w,s)|0;HSa(w)|0}g=c[v>>2]|0;k=u+(b*12|0)+4|0;if((g|0)!=(k|0)){i=g;while(1){if((a[223632]|0)==0?g2a(223632)|0:0)kr(225352);if((c[56338]|0)>3){q=mr(lr(4)|0,132055,4)|0;r=i+16|0;w=a[r+11>>0]|0;s=w<<24>>24<0;w=mr(q,s?c[r>>2]|0:r,s?c[i+20>>2]|0:w&255)|0;BSa(A,w+(c[(c[w>>2]|0)+-12>>2]|0)|0);s=cUa(A,230580)|0;s=kk[c[(c[s>>2]|0)+28>>2]&511](s,10)|0;dUa(A);VSa(w,s)|0;HSa(w)|0}g=c[i+4>>2]|0;do if(!g){h=i+8|0;g=c[h>>2]|0;if((c[g>>2]|0)==(i|0))break;do{w=c[h>>2]|0;h=w+8|0;g=c[h>>2]|0}while((c[g>>2]|0)!=(w|0))}else while(1){h=c[g>>2]|0;if(!h)break;else g=h}while(0);if((g|0)==(k|0))break;else i=g}}};c[A>>2]=0;c[A+4>>2]=0;c[A+8>>2]=0;h=VNa(e)|0;if(h>>>0>4294967279)r0a(A);if(h>>>0<11){a[A+11>>0]=h;if(!h)g=A;else{g=A;x=97}}else{x=h+16&-16;g=j0a(x)|0;c[A>>2]=g;c[A+8>>2]=x|-2147483648;c[A+4>>2]=h;x=97}if((x|0)==97)x2a(g|0,e|0,h|0)|0;a[g+h>>0]=0;g=(mu(v,A)|0)==(u+(b*12|0)+4|0);if((a[A+11>>0]|0)<0)l0a(c[A>>2]|0);if(g){i=0;h=0}else x=101}else x=101;if((x|0)==101){nu()|0;i=a[225595]|0;k=c[56397]|0;c:do if(!((i<<24>>24<0?k:i&255)|0))g=0;else{u=A+11|0;v=A+4|0;w=y+11|0;t=t+(b*12|0)+4|0;x=i<<24>>24<0;p=x?c[56396]|0:225584;h=0;g=0;o=VNa(e)|0;k=x?k:i&255;while(1){if(o){i=p+h|0;n=p+k|0;k=n;h=k-i|0;if((h|0)<(o|0))break c;m=d[e>>0]|0;while(1){h=h-o+1|0;if(!h)break c;i=aOa(i,m,h)|0;if(!i)break c;if(!(cOa(i,e,o)|0))break;i=i+1|0;h=k-i|0;if((h|0)<(o|0))break c}h=i-p|0;if((i|0)==(n|0)|(h|0)==-1)break c}i=R0a(225584,58,h)|0;k=R0a(225584,59,h)|0;c[A>>2]=0;c[A+4>>2]=0;c[A+8>>2]=0;do if((i|0)!=-1){if((k|0)==-1){x0a(z,225584,0,i,225584);if((a[u>>0]|0)<0){a[c[A>>2]>>0]=0;c[v>>2]=0}else{a[A>>0]=0;a[u>>0]=0}D0a(A,0);c[A>>2]=c[z>>2];c[A+4>>2]=c[z+4>>2];c[A+8>>2]=c[z+8>>2];break}if(i>>>0>k>>>0){x0a(z,225584,k+1|0,i+-1-k|0,225584);if((a[u>>0]|0)<0){a[c[A>>2]>>0]=0;c[v>>2]=0}else{a[A>>0]=0;a[u>>0]=0}D0a(A,0);c[A>>2]=c[z>>2];c[A+4>>2]=c[z+4>>2];c[A+8>>2]=c[z+8>>2]}}while(0);n=a[u>>0]|0;k=n<<24>>24<0;i=c[v>>2]|0;m=n&255;o=k?i:m;d:do if(o){m=k?c[A>>2]|0:A;k=m+o|0;i=m;while(1){if((a[i>>0]|0)!=32){x=127;break}i=i+1|0;if((i|0)==(k|0)){x=128;break}}e:do if((x|0)==127){x=0;i=i-m|0;switch(i|0){case -1:{x=128;break e}case 0:break e;default:{}}N0a(A,0,i)|0}while(0);if((x|0)==128)E0a(A,231036)|0;k=a[u>>0]|0;i=k<<24>>24<0;o=c[v>>2]|0;m=k&255;n=i?c[A>>2]|0:A;i=i?o:m;if(i){i=n+i|0;while(1){i=i+-1|0;if((a[i>>0]|0)!=32)break;if((i|0)==(n|0)){i=o;break d}}i=i-n|0;if((i|0)!=-1){N0a(A,i+1|0,-1)|0;k=a[u>>0]|0;m=k&255;i=c[v>>2]|0}else i=o}else i=o}else k=n;while(0);s=k<<24>>24<0;p=s?i:m;if(!p){i=h;g=1;h=0}else{i=a[w>>0]|0;if(i<<24>>24<0){m=c[y>>2]|0;k=c[t>>2]|0}else{m=y;k=i&255}n=s?c[A>>2]|0:A;q=m+k|0;i=q;r=m;f:do if((k|0)<(p|0))k=q;else{o=d[n>>0]|0;while(1){k=k-p+1|0;if(!k){k=q;break f}m=aOa(m,o,k)|0;if(!m){k=q;break f}if(!(cOa(m,n,p)|0))break;m=m+1|0;k=i-m|0;if((k|0)<(p|0)){k=q;break f}}k=m;i=m}while(0);x=(k|0)==(q|0)|(i-r|0)==-1;i=h+(x&1)|0;g=x?g:1;h=x}if(s)l0a(c[A>>2]|0);if((i|0)==-1|h^1)break c;k=a[225595]|0;o=k<<24>>24<0;p=o?c[56396]|0:225584;k=o?c[56397]|0:k&255;o=VNa(e)|0;if(k>>>0<i>>>0)break;else h=i}}while(0);i=1;h=(g&1)!=0}if((a[223632]|0)==0?g2a(223632)|0:0)kr(225352);g=(c[56338]|0)>3;do if(i)if(h){if(!g)break;z=mr(lr(4)|0,132060,18)|0;e=mr(mr(z,e,VNa(e)|0)|0,132095,92)|0;BSa(A,e+(c[(c[e>>2]|0)+-12>>2]|0)|0);z=cUa(A,230580)|0;z=kk[c[(c[z>>2]|0)+28>>2]&511](z,10)|0;dUa(A);VSa(e,z)|0;HSa(e)|0;break}else{if(!g)break;z=mr(lr(4)|0,132060,18)|0;e=mr(mr(z,e,VNa(e)|0)|0,132079,15)|0;BSa(A,e+(c[(c[e>>2]|0)+-12>>2]|0)|0);z=cUa(A,230580)|0;z=kk[c[(c[z>>2]|0)+28>>2]&511](z,10)|0;dUa(A);VSa(e,z)|0;HSa(e)|0;break}else if(g){z=mr(lr(4)|0,132060,18)|0;e=mr(mr(z,e,VNa(e)|0)|0,132188,19)|0;BSa(A,e+(c[(c[e>>2]|0)+-12>>2]|0)|0);z=cUa(A,230580)|0;z=kk[c[(c[z>>2]|0)+28>>2]&511](z,10)|0;dUa(A);VSa(e,z)|0;HSa(e)|0}while(0);A=i&(h^1);l=B;return A|0}function hu(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;l=a+8|0;f=c[l>>2]|0;m=a+4|0;d=c[m>>2]|0;if(((f-d|0)/12|0)>>>0>=b>>>0){do{c[d+4>>2]=0;c[d+8>>2]=0;c[d>>2]=d+4;d=(c[m>>2]|0)+12|0;c[m>>2]=d;b=b+-1|0}while((b|0)!=0);return}e=c[a>>2]|0;g=(d-e|0)/12|0;h=g+b|0;if(h>>>0>357913941)g1a(a);k=(f-e|0)/12|0;d=k<<1;d=k>>>0<178956970?(d>>>0<h>>>0?h:d):357913941;do if(d)if(d>>>0>357913941){m=db(8)|0;p0a(m,183738);c[m>>2]=110936;hb(m|0,65952,1066)}else{f=j0a(d*12|0)|0;break}else f=0;while(0);g=f+(g*12|0)|0;e=f+(d*12|0)|0;d=g;while(1){c[d+4>>2]=0;c[d+8>>2]=0;c[d>>2]=d+4;b=b+-1|0;if(!b)break;else d=d+12|0}k=f+(h*12|0)|0;j=c[a>>2]|0;d=c[m>>2]|0;if((d|0)==(j|0)){b=g;f=j;d=j}else{b=g;do{i=b;b=b+-12|0;f=d;d=d+-12|0;c[b>>2]=c[d>>2];g=c[f+-8>>2]|0;c[i+-8>>2]=g;h=f+-4|0;n=c[h>>2]|0;c[i+-4>>2]=n;i=i+-8|0;if(!n)c[b>>2]=i;else{c[g+8>>2]=i;n=f+-8|0;c[d>>2]=n;c[n>>2]=0;c[h>>2]=0}}while((d|0)!=(j|0));f=c[a>>2]|0;d=c[m>>2]|0}c[a>>2]=b;c[m>>2]=k;c[l>>2]=e;b=f;if((d|0)!=(b|0))do{n=d;d=d+-12|0;iu(d,c[n+-8>>2]|0)}while((d|0)!=(b|0));if(!f)return;l0a(f);return}function iu(b,d){b=b|0;d=d|0;if(!d)return;iu(b,c[d>>2]|0);iu(b,c[d+4>>2]|0);b=d+16|0;if((a[b+11>>0]|0)<0)l0a(c[b>>2]|0);l0a(d);return}function ju(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;m=b+8|0;f=c[m>>2]|0;n=b+4|0;e=c[n>>2]|0;k=e;if(((f-e|0)/12|0)>>>0>=d>>>0){do{c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;e=(c[n>>2]|0)+12|0;c[n>>2]=e;d=d+-1|0}while((d|0)!=0);return}l=c[b>>2]|0;e=(e-l|0)/12|0;i=e+d|0;g=l;if(i>>>0>357913941)g1a(b);j=(f-l|0)/12|0;f=j<<1;f=j>>>0<178956970?(f>>>0<i>>>0?i:f):357913941;do if(f)if(f>>>0>357913941){n=db(8)|0;p0a(n,183738);c[n>>2]=110936;hb(n|0,65952,1066)}else{h=j0a(f*12|0)|0;break}else h=0;while(0);e=h+(e*12|0)|0;z2a(e|0,0,d*12|0)|0;j=h+(f*12|0)|0;h=h+(i*12|0)|0;if((k|0)==(g|0)){f=e;e=k;d=l}else{d=k;do{e=e+-12|0;d=d+-12|0;c[e>>2]=c[d>>2];c[e+4>>2]=c[d+4>>2];c[e+8>>2]=c[d+8>>2];c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0}while((d|0)!=(g|0));d=c[b>>2]|0;f=e;g=d;e=c[n>>2]|0}c[b>>2]=f;c[n>>2]=h;c[m>>2]=j;if((e|0)!=(g|0))do{e=e+-12|0;if((a[e+11>>0]|0)<0)l0a(c[e>>2]|0)}while((e|0)!=(g|0));if(!d)return;l0a(d);return}function ku(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;m=a+8|0;f=c[m>>2]|0;n=a+4|0;e=c[n>>2]|0;g=e;if(f-e>>2>>>0>=b>>>0){e=b;f=g;while(1){c[f>>2]=c[d>>2];e=e+-1|0;if(!e)break;else f=f+4|0}c[n>>2]=g+(b<<2);return}l=c[a>>2]|0;k=e-l|0;g=k>>2;e=g+b|0;if(e>>>0>1073741823)g1a(a);i=f-l|0;j=i>>1;e=i>>2>>>0<536870911?(j>>>0<e>>>0?e:j):1073741823;do if(e)if(e>>>0>1073741823){n=db(8)|0;p0a(n,183738);c[n>>2]=110936;hb(n|0,65952,1066)}else{j=j0a(e<<2)|0;i=j;break}else{i=0;j=0}while(0);h=i+(g<<2)|0;f=i+(e<<2)|0;e=b;g=h;while(1){c[g>>2]=c[d>>2];e=e+-1|0;if(!e)break;else g=g+4|0}if((k|0)>0)x2a(j|0,l|0,k|0)|0;c[a>>2]=i;c[n>>2]=h+(b<<2);c[m>>2]=f;if(!l)return;l0a(l);return}function lu(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;f=b+4|0;h=c[f>>2]|0;if(!h){c[d>>2]=f;o=f;return o|0}m=a[e+11>>0]|0;l=m<<24>>24<0;m=l?c[e+4>>2]|0:m&255;l=l?c[e>>2]|0:e;g=b+4|0;f=h;while(1){e=f+16|0;h=a[e+11>>0]|0;b=h<<24>>24<0;h=b?c[f+20>>2]|0:h&255;k=h>>>0<m>>>0;j=k?h:m;i=(j|0)==0;if(!i?(n=b?c[e>>2]|0:e,o=cOa(l,n,j)|0,(o|0)!=0):0)if((o|0)<0)b=7;else{e=n;b=11}else if(m>>>0>=h>>>0)if(i)b=12;else{e=b?c[e>>2]|0:e;b=11}else b=7;if((b|0)==7){b=0;e=c[f>>2]|0;if(!e){b=8;break}else{g=f;f=e}}else if((b|0)==11){e=cOa(e,l,j)|0;if(e)if((e|0)<0)b=14;else{b=16;break}else b=12}if((b|0)==12)if(k)b=14;else{b=16;break}if((b|0)==14){e=f+4|0;b=c[e>>2]|0;if(!b){b=15;break}else{g=e;f=b}}}if((b|0)==8){c[d>>2]=f;o=f;return o|0}else if((b|0)==15){c[d>>2]=f;o=e;return o|0}else if((b|0)==16){c[d>>2]=f;o=g;return o|0}return 0}function mu(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;m=b+4|0;e=c[m>>2]|0;do if(e|0){l=a[d+11>>0]|0;k=l<<24>>24<0;l=k?c[d+4>>2]|0:l&255;k=k?c[d>>2]|0:d;b=m;do{f=e+16|0;h=a[f+11>>0]|0;g=h<<24>>24<0;h=g?c[e+20>>2]|0:h&255;i=l>>>0<h>>>0;d=i?l:h;if((d|0)!=0?(j=cOa(g?c[f>>2]|0:f,k,d)|0,(j|0)!=0):0)d=j;else d=h>>>0<l>>>0?-1:i&1;i=(d|0)<0;b=i?b:e;e=c[(i?e+4|0:e)>>2]|0}while((e|0)!=0);if((b|0)!=(m|0)){e=b+16|0;g=a[e+11>>0]|0;f=g<<24>>24<0;g=f?c[b+20>>2]|0:g&255;d=g>>>0<l>>>0?g:l;if(d|0?(n=cOa(k,f?c[e>>2]|0:e,d)|0,n|0):0){if((n|0)<0)break;return b|0}if(l>>>0>=g>>>0){n=b;return n|0}}}while(0);n=m;return n|0}function nu(){var b=0,d=0;if(a[223648]|0)return 225584;if(!(g2a(223648)|0))return 225584;c[56396]=0;c[56397]=0;c[56398]=0;d=Jh(132208)|0;if(d|0){b=0;while(1){if(!(a[d+b>>0]|0))break;b=b+1|0;if(b>>>0>=4096){b=4096;break}}A0a(225584,d,b)|0}return 225584}function ou(a){a=a|0;SU(a);l0a(a);return}function pu(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0;k=l;l=l+16|0;h=k;i=a+60|0;j=a+64|0;d=c[j>>2]|0;f=c[i>>2]|0;g=d-f>>2;do if(g>>>0<=b>>>0){e=b+1|0;if(e>>>0>g>>>0){Bs(i,e-g|0);break}if(e>>>0<g>>>0){f=f+(e<<2)|0;if((f|0)!=(d|0))do{d=d+-4|0;e=c[d>>2]|0;if(e|0?(m=e+8|0,g=c[m>>2]|0,c[m>>2]=g-1,(g|0)==1):0)UU(e,1,1);c[d>>2]=0}while((d|0)!=(f|0));c[j>>2]=f}}while(0);m=c[i>>2]|0;d=m;if(!(c[m+(b<<2)>>2]|0)){su(h,ru(qu(b)|0)|0,a);d=c[j>>2]|0;e=c[i>>2]|0;f=d-e>>2;do if(f>>>0<=b>>>0){g=b+1|0;if(g>>>0>f>>>0){Bs(i,g-f|0);break}if(g>>>0<f>>>0){f=e+(g<<2)|0;if((f|0)!=(d|0))do{d=d+-4|0;e=c[d>>2]|0;if(e|0?(a=e+8|0,m=c[a>>2]|0,c[a>>2]=m-1,(m|0)==1):0)UU(e,1,1);c[d>>2]=0}while((d|0)!=(f|0));c[j>>2]=f}}while(0);e=(c[i>>2]|0)+(b<<2)|0;d=c[e>>2]|0;f=c[h>>2]|0;if((d|0)!=(f|0)){c[e>>2]=f;if(f|0){m=f+8|0;c[m>>2]=(c[m>>2]|0)+1}if(d|0?(a=d+8|0,m=c[a>>2]|0,c[a>>2]=m-1,(m|0)==1):0)UU(d,1,1);d=c[h>>2]|0}if(d|0?(h=d+8|0,m=c[h>>2]|0,c[h>>2]=m-1,(m|0)==1):0)UU(d,1,1);e=c[i>>2]|0}else e=d;d=c[j>>2]|0;f=d-e>>2;if(f>>>0>b>>>0){m=c[i>>2]|0;m=m+(b<<2)|0;m=c[m>>2]|0;l=k;return m|0}g=b+1|0;if(g>>>0>f>>>0){Bs(i,g-f|0);m=c[i>>2]|0;m=m+(b<<2)|0;m=c[m>>2]|0;l=k;return m|0}if(g>>>0>=f>>>0){m=c[i>>2]|0;m=m+(b<<2)|0;m=c[m>>2]|0;l=k;return m|0}f=e+(g<<2)|0;if((f|0)!=(d|0))do{d=d+-4|0;e=c[d>>2]|0;if(e|0?(h=e+8|0,m=c[h>>2]|0,c[h>>2]=m-1,(m|0)==1):0)UU(e,1,1);c[d>>2]=0}while((d|0)!=(f|0));c[j>>2]=f;m=c[i>>2]|0;m=m+(b<<2)|0;m=c[m>>2]|0;l=k;return m|0}function qu(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;k=l;l=l+16|0;j=k;d=c[56400]|0;do if(d){f=225600;while(1){e=c[d+16>>2]|0;if(e>>>0>b>>>0){e=c[d>>2]|0;if(!e){e=5;break}}else{if(e>>>0>=b>>>0){e=9;break}f=d+4|0;e=c[f>>2]|0;if(!e){e=8;break}else d=f}f=d;d=e}if((e|0)==5){g=d;f=d;break}else if((e|0)==8){g=d;break}else if((e|0)==9){g=d;break}}else{g=225600;f=225600}while(0);d=c[f>>2]|0;if(!d){d=j0a(24)|0;c[d+16>>2]=b;c[d+20>>2]=0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=g;c[f>>2]=d;e=c[c[56399]>>2]|0;if(!e)e=d;else{c[56399]=e;e=c[f>>2]|0}fp(c[56400]|0,e);c[56401]=(c[56401]|0)+1}h=d+20|0;if(c[h>>2]|0){j=c[h>>2]|0;l=k;return j|0}i=j0a(48)|0;d=j0a(16)|0;c[j>>2]=d;c[j+8>>2]=-2147483632;c[j+4>>2]=11;e=d;f=132558;g=e+11|0;do{a[e>>0]=a[f>>0]|0;e=e+1|0;f=f+1|0}while((e|0)<(g|0));a[d+11>>0]=0;Cu(i,j,b);if((a[j+11>>0]|0)<0)l0a(c[j>>2]|0);c[i>>2]=69872;c[i+28>>2]=0;c[i+32>>2]=0;d=i+40|0;c[d>>2]=0;c[i+44>>2]=0;c[i+36>>2]=d;d=c[h>>2]|0;if((d|0)==(i|0)){j=c[h>>2]|0;l=k;return j|0}c[h>>2]=i;j=i+8|0;c[j>>2]=(c[j>>2]|0)+1;if(!d){j=c[h>>2]|0;l=k;return j|0}b=d+8|0;j=c[b>>2]|0;c[b>>2]=j-1;if((j|0)!=1){j=c[h>>2]|0;l=k;return j|0}UU(d,1,1);j=c[h>>2]|0;l=k;return j|0}function ru(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;g=a+36|0;d=a+40|0;b=c[d>>2]|0;do if(b){e=a+40|0;while(1){d=c[b+16>>2]|0;if(d>>>0>42912>>>0){d=c[b>>2]|0;if(!d){d=5;break}else{e=b;b=d}}else{if(d>>>0>=42912>>>0){d=9;break}e=b+4|0;d=c[e>>2]|0;if(!d){d=8;break}else b=d}}if((d|0)==5){f=b;e=b;break}else if((d|0)==8){f=b;break}else if((d|0)==9){f=b;break}}else{f=d;e=d}while(0);b=c[e>>2]|0;if(!b){b=j0a(24)|0;c[b+16>>2]=42912;c[b+20>>2]=0;c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=f;c[e>>2]=b;d=c[c[g>>2]>>2]|0;if(!d)d=b;else{c[g>>2]=d;d=c[e>>2]|0}fp(c[a+40>>2]|0,d);g=a+44|0;c[g>>2]=(c[g>>2]|0)+1}d=b+20|0;if(c[d>>2]|0){a=c[d>>2]|0;return a|0}e=j0a(112)|0;Bu(e,c[a+24>>2]|0);b=c[d>>2]|0;if((b|0)==(e|0)){a=c[d>>2]|0;return a|0}c[d>>2]=e;a=e+8|0;c[a>>2]=(c[a>>2]|0)+1;if(!b){a=c[d>>2]|0;return a|0}g=b+8|0;a=c[g>>2]|0;c[g>>2]=a-1;if((a|0)!=1){a=c[d>>2]|0;return a|0}UU(b,1,1);a=c[d>>2]|0;return a|0}function su(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0.0,q=0.0;j=l;l=l+16|0;k=j;e=b+88|0;f=fia()|0;g=gia(f)|0;i=y;n=b+80|0;c[n>>2]=(c[n>>2]|0)+1;n=tu(d)|0;m=c[d+40>>2]|0;o=c[d+36>>2]|0;c[k>>2]=c[d+32>>2];c[k+4>>2]=o;c[k+8>>2]=n>>>0>m>>>0?n:m;vu(a,uu(b,k)|0,d);a=gia(f)|0;b=y;if(b>>>0>i>>>0|(b|0)==(i|0)&a>>>0>g>>>0){o=q2a(a|0,b|0,g|0,i|0)|0;q=+h[f+8>>3]*(+(o>>>0)+4294967296.0*+(y>>>0));p=+h[e>>3];p=q+p;h[e>>3]=p;l=j;return}else{o=q2a(g|0,i|0,a|0,b|0)|0;p=-(+h[f+8>>3]*(+(o>>>0)+4294967296.0*+(y>>>0)));q=+h[e>>3];q=p+q;h[e>>3]=q;l=j;return}}function tu(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;i=l;l=l+16|0;g=i;e=c[b+48>>2]|0;h=b+52|0;if((e|0)==(c[h>>2]|0)){h=0;l=i;return h|0}d=0;do{f=c[e>>2]|0;if(!f){if((a[223632]|0)==0?g2a(223632)|0:0)kr(225352);if((c[56338]|0)>2){j=mr(USa(mr(lr(3)|0,132447,14)|0,b)|0,132462,1)|0;f=gk[c[(c[b>>2]|0)+28>>2]&1023](b)|0;f=mr(mr(j,f,VNa(f)|0)|0,132464,68)|0;BSa(g,f+(c[(c[f>>2]|0)+-12>>2]|0)|0);j=cUa(g,230580)|0;j=kk[c[(c[j>>2]|0)+28>>2]&511](j,10)|0;dUa(g);VSa(f,j)|0;HSa(f)|0}}else{d=(gk[c[(c[f>>2]|0)+168>>2]&1023](f)|0)+d|0;if(d&3)d=d+4&-4}e=e+4|0}while((e|0)!=(c[h>>2]|0));l=i;return d|0}function uu(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;g=l;l=l+32|0;f=g+8|0;h=g;c[h>>2]=b;zu(f,a+44|0,b,231020,h,g+16|0);f=(c[f>>2]|0)+28|0;if((((c[f>>2]|0)==0?(d=j0a(80)|0,Au(d,a,b),e=c[f>>2]|0,(e|0)!=(d|0)):0)?(c[f>>2]=d,h=d+8|0,c[h>>2]=(c[h>>2]|0)+1,e|0):0)?(d=e+8|0,h=c[d>>2]|0,c[d>>2]=h-1,(h|0)==1):0)UU(e,1,1);l=g;return c[f>>2]|0}function vu(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0;q=l;l=l+16|0;m=q;p=d+12|0;gk[c[(c[p>>2]|0)+8>>2]&1023](p)|0;if(c[d+68>>2]|0){Ds(d);wu(b,d,e);gk[c[(c[p>>2]|0)+12>>2]&1023](p)|0;l=q;return}gk[c[(c[p>>2]|0)+12>>2]&1023](p)|0;if(c[d+56>>2]|0){wu(b,d,e);l=q;return}k=d+24|0;f=c[k>>2]|0;g=c[f+56>>2]|0;h=c[f+40>>2]|0;if((((h|0?(o=d+40|0,((c[f+36>>2]|0)+(c[o>>2]|0)|0)>>>0>h>>>0):0)?(n=d+44|0,(c[n>>2]|0)>>>0>1):0)?(i=d+72|0,j=c[i>>2]|0,j|0):0)?(c[j+68>>2]|0)>>>0<g>>>0:0){gk[c[(c[p>>2]|0)+8>>2]&1023](p)|0;j=c[i>>2]|0;c[b>>2]=j;j=j+8|0;c[j>>2]=(c[j>>2]|0)+1;j=c[(c[b>>2]|0)+52>>2]|0;k=(j|0)==0;if(k){if((a[223632]|0)==0?g2a(223632)|0:0)kr(225352);if((c[56338]|0)>3){n=mr(lr(4)|0,132343,50)|0;n=USa(n,c[b>>2]|0)|0;BSa(m,n+(c[(c[n>>2]|0)+-12>>2]|0)|0);i=cUa(m,230580)|0;i=kk[c[(c[i>>2]|0)+28>>2]&511](i,10)|0;dUa(m);VSa(n,i)|0;HSa(n)|0}}else{i=j+8|0;c[i>>2]=(c[i>>2]|0)+1;As(j,c[d+28>>2]|0,0);if((a[223632]|0)==0?g2a(223632)|0:0)kr(225352);if((c[56338]|0)>3){i=mr(USa(mr(lr(4)|0,132257,18)|0,d)|0,132276,35)|0;i=mr(USa(i,c[b>>2]|0)|0,132312,23)|0;n=mr(QSa(i,c[n>>2]|0)|0,132336,6)|0;n=QSa(n,c[o>>2]|0)|0;BSa(m,n+(c[(c[n>>2]|0)+-12>>2]|0)|0);i=cUa(m,230580)|0;i=kk[c[(c[i>>2]|0)+28>>2]&511](i,10)|0;dUa(m);VSa(n,i)|0;HSa(n)|0}}i=c[b>>2]|0;xu(d,i);c[i+52>>2]=e;if(!e){h=i+20|0;c[h>>2]=0;f=i+24|0;c[f>>2]=0;g=i+28|0;c[g>>2]=0}else{h=i+20|0;c[h>>2]=c[e+32>>2];f=i+24|0;c[f>>2]=c[e+36>>2];g=i+28|0;c[g>>2]=c[e+40>>2];a[i+36>>0]=1}c[i+44>>2]=c[i+40>>2];c[h>>2]=c[d+32>>2];c[f>>2]=c[d+36>>2];c[g>>2]=c[o>>2];if(!k?(b=j+8|0,d=c[b>>2]|0,c[b>>2]=d-1,(d|0)==1):0)UU(j,1,1);gk[c[(c[p>>2]|0)+12>>2]&1023](p)|0;l=q;return}i=j0a(76)|0;yu(i,c[d+28>>2]|0,e,0);c[i+20>>2]=c[d+32>>2];c[i+24>>2]=c[d+36>>2];p=c[d+40>>2]|0;c[i+28>>2]=p;c[i+56>>2]=d;f=d+44|0;c[f>>2]=(c[f>>2]|0)+1;f=c[k>>2]|0;g=f+36|0;c[g>>2]=(c[g>>2]|0)+p;g=f+28|0;c[g>>2]=(c[g>>2]|0)+1;g=i+60|0;if((c[g>>2]|0)==0?(c[i+64>>2]|0)==0:0){c[i+68>>2]=c[f+56>>2];h=d+76|0;f=c[h>>2]|0;if(f|0)c[f+64>>2]=i;c[g>>2]=f;f=d+72|0;if(!(c[f>>2]|0))c[f>>2]=i;c[h>>2]=i}else xu(d,i);c[b>>2]=i;d=i+8|0;c[d>>2]=(c[d>>2]|0)+1;l=q;return}function wu(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;g=d+52|0;f=c[g>>2]|0;h=c[f+8>>2]|0;c[b>>2]=h;if(h){f=h+8|0;c[f>>2]=(c[f>>2]|0)+1;f=c[g>>2]|0}g=f+4|0;h=c[f>>2]|0;c[h+4>>2]=c[g>>2];c[c[g>>2]>>2]=h;g=d+56|0;c[g>>2]=(c[g>>2]|0)+-1;g=c[f+8>>2]|0;if(g|0?(i=g+8|0,h=c[i>>2]|0,c[i>>2]=h-1,(h|0)==1):0)UU(g,1,1);l0a(f);b=c[b>>2]|0;c[b+52>>2]=e;if(!e){h=b+20|0;c[h>>2]=0;f=b+24|0;c[f>>2]=0;g=b+28|0;c[g>>2]=0}else{h=b+20|0;c[h>>2]=c[e+32>>2];f=b+24|0;c[f>>2]=c[e+36>>2];g=b+28|0;c[g>>2]=c[e+40>>2];a[b+36>>0]=1}c[b+44>>2]=c[b+40>>2];c[h>>2]=c[d+32>>2];c[f>>2]=c[d+36>>2];c[g>>2]=c[d+40>>2];f=c[d+24>>2]|0;g=f+32|0;c[g>>2]=(c[g>>2]|0)+-1;g=f+28|0;c[g>>2]=(c[g>>2]|0)+1;g=b+60|0;if((c[g>>2]|0)==0?(c[b+64>>2]|0)==0:0){c[b+68>>2]=c[f+56>>2];h=d+76|0;f=c[h>>2]|0;if(f|0)c[f+64>>2]=b;c[g>>2]=f;f=d+72|0;if(!(c[f>>2]|0))c[f>>2]=b;c[h>>2]=b;return}xu(d,b);return}function xu(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0;n=l;l=l+16|0;e=n;c[d+68>>2]=c[(c[b+24>>2]|0)+56>>2];k=b+76|0;m=c[k>>2]|0;i=m;if((m|0)==(d|0)){l=n;return}if(!m){if((a[223632]|0)==0?g2a(223632)|0:0)kr(225352);if((c[56338]|0)>2){m=mr(lr(3)|0,154232,53)|0;BSa(e,m+(c[(c[m>>2]|0)+-12>>2]|0)|0);j=cUa(e,230580)|0;j=kk[c[(c[j>>2]|0)+28>>2]&511](j,10)|0;dUa(e);VSa(m,j)|0;HSa(m)|0}c[b+72>>2]=d;c[k>>2]=d;l=n;return}j=d+64|0;f=c[j>>2]|0;if(f|0){g=d+60|0;h=c[g>>2]|0;if(!h){c[b+72>>2]=f;e=f}else{c[h+64>>2]=f;e=c[j>>2]|0}c[e+60>>2]=h;c[m+64>>2]=d;c[g>>2]=i;c[j>>2]=0;c[k>>2]=d;l=n;return}if((a[223632]|0)==0?g2a(223632)|0:0)kr(225352);if((c[56338]|0)<=2){l=n;return}m=mr(lr(3)|0,154286,60)|0;BSa(e,m+(c[(c[m>>2]|0)+-12>>2]|0)|0);k=cUa(e,230580)|0;k=kk[c[(c[k>>2]|0)+28>>2]&511](k,10)|0;dUa(e);VSa(m,k)|0;HSa(m)|0;l=n;return}function yu(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;Tha(b);c[b>>2]=68724;c[b+12>>2]=d;o=b+16|0;c[o>>2]=f;j=b+20|0;k=b+24|0;l=b+28|0;m=b+36|0;c[j>>2]=0;c[j+4>>2]=0;c[j+8>>2]=0;c[j+12>>2]=0;a[m>>0]=1;h=b+44|0;i=b+52|0;n=b+72|0;b=b+40|0;g=b+36|0;do{c[b>>2]=0;b=b+4|0}while((b|0)<(g|0));c[i>>2]=e;if(!e){c[j>>2]=0;c[k>>2]=0;c[l>>2]=0}else{c[j>>2]=c[e+32>>2];c[k>>2]=c[e+36>>2];c[l>>2]=c[e+40>>2];a[m>>0]=1}c[h>>2]=0;b=bu(d,1)|0;c[n>>2]=b;if(f|0)return;Jk[c[b+720>>2]&1023](1,o);return}function zu(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0;f=d+4|0;h=c[f>>2]|0;do if(h){j=c[e>>2]|0;k=c[e+4>>2]|0;i=c[e+8>>2]|0;e=d+4|0;f=h;a:while(1){h=c[f+16>>2]|0;do if(j>>>0>=h>>>0){if(j>>>0<=h>>>0){h=c[f+20>>2]|0;if(k>>>0<h>>>0){l=8;break}if(k>>>0<=h>>>0){h=c[f+24>>2]|0;if(i>>>0<h>>>0){l=8;break}if(h>>>0>=i>>>0){l=13;break a}}}e=f+4|0;h=c[e>>2]|0;if(!h){l=12;break a}else f=h}else l=8;while(0);if((l|0)==8){l=0;h=c[f>>2]|0;if(!h){l=9;break}else{e=f;f=h}}}if((l|0)==9){i=f;e=f;break}else if((l|0)==12){i=f;break}else if((l|0)==13){i=f;break}}else{i=f;e=f}while(0);f=c[e>>2]|0;if(f|0){d=f;g=0;c[b>>2]=d;d=b+4|0;a[d>>0]=g;return}h=j0a(32)|0;f=c[g>>2]|0;c[h+16>>2]=c[f>>2];c[h+20>>2]=c[f+4>>2];c[h+24>>2]=c[f+8>>2];c[h+28>>2]=0;c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=i;c[e>>2]=h;f=c[c[d>>2]>>2]|0;if(!f)f=h;else{c[d>>2]=f;f=c[e>>2]|0}fp(c[d+4>>2]|0,f);d=d+8|0;c[d>>2]=(c[d>>2]|0)+1;d=h;g=1;c[b>>2]=d;d=b+4|0;a[d>>0]=g;return}function Au(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0;g=l;l=l+16|0;f=g;Tha(b);c[b>>2]=68744;xla(b+12|0,0);c[b+24>>2]=d;c[b+28>>2]=c[d+24>>2];c[b+32>>2]=c[e>>2];c[b+36>>2]=c[e+4>>2];d=b+40|0;c[d>>2]=c[e+8>>2];c[b+44>>2]=0;e=b+48|0;c[e>>2]=e;c[b+52>>2]=e;c[b+56>>2]=0;e=b+60|0;c[e>>2]=e;c[b+64>>2]=e;c[b+68>>2]=0;c[b+72>>2]=0;c[b+76>>2]=0;if((a[223632]|0)==0?g2a(223632)|0:0)kr(225352);if((c[56338]|0)<=3){l=g;return}e=mr(lr(4)|0,132394,52)|0;e=QSa(e,c[d>>2]|0)|0;BSa(f,e+(c[(c[e>>2]|0)+-12>>2]|0)|0);b=cUa(f,230580)|0;b=kk[c[(c[b>>2]|0)+28>>2]&511](b,10)|0;dUa(f);VSa(e,b)|0;HSa(e)|0;l=g;return}function Bu(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,i=0,j=0,k=0;i=l;l=l+16|0;e=i;f=j0a(32)|0;c[e>>2]=f;c[e+8>>2]=-2147483616;c[e+4>>2]=21;g=f;j=132533;k=g+21|0;do{a[g>>0]=a[j>>0]|0;g=g+1|0;j=j+1|0}while((g|0)<(k|0));a[f+21>>0]=0;Cu(b,e,d);if((a[e+11>>0]|0)<0)l0a(c[e>>2]|0);c[b>>2]=68764;k=b+28|0;c[b+48>>2]=0;c[b+52>>2]=0;c[k>>2]=0;c[k+4>>2]=0;c[k+8>>2]=0;c[k+12>>2]=0;c[b+44>>2]=b+48;c[b+56>>2]=0;c[b+60>>2]=0;c[b+64>>2]=0;h[b+72>>3]=0.0;c[b+80>>2]=0;h[b+88>>3]=0.0;c[b+96>>2]=0;h[b+104>>3]=0.0;l=i;return}function Cu(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;h=l;l=l+16|0;f=h;Tha(b);c[b>>2]=68816;g=b+12|0;t0a(g,d);c[b+24>>2]=e;if((a[223632]|0)==0?g2a(223632)|0:0)kr(225352);if((c[56338]|0)<=3){l=h;return}k=lr(4)|0;e=g+11|0;j=a[e>>0]|0;i=j<<24>>24<0;d=b+16|0;j=mr(mr(k,i?c[g>>2]|0:g,i?c[d>>2]|0:j&255)|0,132555,2)|0;e=a[e>>0]|0;i=e<<24>>24<0;g=USa(mr(mr(j,i?c[g>>2]|0:g,i?c[d>>2]|0:e&255)|0,116249,2)|0,b)|0;BSa(f,g+(c[(c[g>>2]|0)+-12>>2]|0)|0);e=cUa(f,230580)|0;e=kk[c[(c[e>>2]|0)+28>>2]&511](e,10)|0;dUa(f);VSa(g,e)|0;HSa(g)|0;l=h;return}function Du(a){a=a|0;var b=0,d=0,e=0,f=0;c[a>>2]=69872;Nu(a+36|0,c[a+40>>2]|0);b=a+32|0;d=c[b>>2]|0;if(d|0?(f=d+8|0,e=c[f>>2]|0,c[f>>2]=e-1,(e|0)==1):0)UU(d,1,1);c[b>>2]=0;Is(a);return}function Eu(a){a=a|0;var b=0,d=0,e=0,f=0;c[a>>2]=69872;Nu(a+36|0,c[a+40>>2]|0);b=a+32|0;d=c[b>>2]|0;if(d|0?(f=d+8|0,e=c[f>>2]|0,c[f>>2]=e-1,(e|0)==1):0)UU(d,1,1);c[b>>2]=0;Is(a);l0a(a);return}function Fu(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=c[a+36>>2]|0;f=a+40|0;if((d|0)==(f|0))return;e=d;while(1){a=c[e+20>>2]|0;if(a|0?(g=y1a(a,47048,42928,0)|0,g|0):0)Jk[c[(c[g>>2]|0)+12>>2]&1023](g,b);a=c[e+4>>2]|0;if(!a){d=e+8|0;a=c[d>>2]|0;if((c[a>>2]|0)!=(e|0))do{e=c[d>>2]|0;d=e+8|0;a=c[d>>2]|0}while((c[a>>2]|0)!=(e|0))}else while(1){d=c[a>>2]|0;if(!d)break;else a=d}if((a|0)==(f|0))break;else e=a}return}function Gu(a){a=a|0;var b=0,d=0,e=0,f=0;b=c[a+36>>2]|0;e=a+40|0;if((b|0)==(e|0))return;while(1){a=c[b+20>>2]|0;if(a|0?(f=y1a(a,47048,42928,0)|0,f|0):0)Bk[c[(c[f>>2]|0)+16>>2]&2047](f);a=c[b+4>>2]|0;if(!a){d=b+8|0;a=c[d>>2]|0;if((c[a>>2]|0)!=(b|0)){b=d;do{d=c[b>>2]|0;b=d+8|0;a=c[b>>2]|0}while((c[a>>2]|0)!=(d|0))}}else while(1){b=c[a>>2]|0;if(!b)break;else a=b}if((a|0)==(e|0))break;else b=a}return}function Hu(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=c[a+36>>2]|0;f=a+40|0;if((d|0)==(f|0))return;e=d;while(1){a=c[e+20>>2]|0;if(a|0?(g=y1a(a,47048,42928,0)|0,g|0):0)Jk[c[(c[g>>2]|0)+20>>2]&1023](g,b);a=c[e+4>>2]|0;if(!a){d=e+8|0;a=c[d>>2]|0;if((c[a>>2]|0)!=(e|0))do{e=c[d>>2]|0;d=e+8|0;a=c[d>>2]|0}while((c[a>>2]|0)!=(e|0))}else while(1){d=c[a>>2]|0;if(!d)break;else a=d}if((a|0)==(f|0))break;else e=a}return}function Iu(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=c[a+36>>2]|0;f=a+40|0;if((d|0)==(f|0))return;e=d;while(1){a=c[e+20>>2]|0;if(a|0?(g=y1a(a,47048,42928,0)|0,g|0):0)Jk[c[(c[g>>2]|0)+24>>2]&1023](g,b);a=c[e+4>>2]|0;if(!a){d=e+8|0;a=c[d>>2]|0;if((c[a>>2]|0)!=(e|0))do{e=c[d>>2]|0;d=e+8|0;a=c[d>>2]|0}while((c[a>>2]|0)!=(e|0))}else while(1){d=c[a>>2]|0;if(!d)break;else a=d}if((a|0)==(f|0))break;else e=a}return}function Ju(a,b,d){a=a|0;b=+b;d=d|0;var e=0,f=0,g=0,h=0;e=c[a+36>>2]|0;g=a+40|0;if((e|0)==(g|0))return;f=e;while(1){a=c[f+20>>2]|0;if(a|0?(h=y1a(a,47048,42928,0)|0,h|0):0)Ik[c[(c[h>>2]|0)+28>>2]&7](h,b,d);a=c[f+4>>2]|0;if(!a){e=f+8|0;a=c[e>>2]|0;if((c[a>>2]|0)!=(f|0))do{f=c[e>>2]|0;e=f+8|0;a=c[e>>2]|0}while((c[a>>2]|0)!=(f|0))}else while(1){e=c[a>>2]|0;if(!e)break;else a=e}if((a|0)==(g|0))break;else f=a}return}function Ku(a){a=a|0;var b=0,d=0,e=0,f=0;b=c[a+36>>2]|0;e=a+40|0;if((b|0)==(e|0))return;while(1){a=c[b+20>>2]|0;if(a|0?(f=y1a(a,47048,42928,0)|0,f|0):0)Bk[c[(c[f>>2]|0)+32>>2]&2047](f);a=c[b+4>>2]|0;if(!a){d=b+8|0;a=c[d>>2]|0;if((c[a>>2]|0)!=(b|0)){b=d;do{d=c[b>>2]|0;b=d+8|0;a=c[b>>2]|0}while((c[a>>2]|0)!=(d|0))}}else while(1){b=c[a>>2]|0;if(!b)break;else a=b}if((a|0)==(e|0))break;else b=a}return}function Lu(a){a=a|0;var b=0,d=0,e=0,f=0;b=c[a+36>>2]|0;e=a+40|0;if((b|0)==(e|0))return;while(1){a=c[b+20>>2]|0;if(a|0?(f=y1a(a,47048,42928,0)|0,f|0):0)Bk[c[(c[f>>2]|0)+36>>2]&2047](f);a=c[b+4>>2]|0;if(!a){d=b+8|0;a=c[d>>2]|0;if((c[a>>2]|0)!=(b|0)){b=d;do{d=c[b>>2]|0;b=d+8|0;a=c[b>>2]|0}while((c[a>>2]|0)!=(d|0))}}else while(1){b=c[a>>2]|0;if(!b)break;else a=b}if((a|0)==(e|0))break;else b=a}return}function Mu(a){a=a|0;var b=0,d=0,e=0,f=0;b=c[a+36>>2]|0;e=a+40|0;if((b|0)==(e|0))return;while(1){a=c[b+20>>2]|0;if(a|0?(f=y1a(a,47048,42928,0)|0,f|0):0)Bk[c[(c[f>>2]|0)+40>>2]&2047](f);a=c[b+4>>2]|0;if(!a){d=b+8|0;a=c[d>>2]|0;if((c[a>>2]|0)!=(b|0)){b=d;do{d=c[b>>2]|0;b=d+8|0;a=c[b>>2]|0}while((c[a>>2]|0)!=(d|0))}}else while(1){b=c[a>>2]|0;if(!b)break;else a=b}if((a|0)==(e|0))break;else b=a}return}function Nu(a,b){a=a|0;b=b|0;var d=0,e=0;if(!b)return;Nu(a,c[b>>2]|0);Nu(a,c[b+4>>2]|0);a=c[b+20>>2]|0;if(a|0?(e=a+8|0,d=c[e>>2]|0,c[e>>2]=d-1,(d|0)==1):0)UU(a,1,1);l0a(b);return}function Ou(a,b){a=a|0;b=b|0;var d=0,e=0;d=c[a+28>>2]|0;if(d|0)Jk[c[c[d>>2]>>2]&1023](d,b);d=c[a+120>>2]|0;if(d|0)Jk[c[c[d>>2]>>2]&1023](d,b);d=c[a+84>>2]|0;if(d|0){d=d+(c[(c[d>>2]|0)+-12>>2]|0)|0;Jk[c[c[d>>2]>>2]&1023](d,b)}d=c[a+92>>2]|0;if(d|0){d=d+(c[(c[d>>2]|0)+-12>>2]|0)|0;Jk[c[c[d>>2]>>2]&1023](d,b)}d=c[a+100>>2]|0;if(d|0){d=d+(c[(c[d>>2]|0)+-12>>2]|0)|0;Jk[c[c[d>>2]>>2]&1023](d,b)}d=c[a+124>>2]|0;a=a+128|0;if((d|0)==(c[a>>2]|0))return;do{e=c[d>>2]|0;Jk[c[c[e>>2]>>2]&1023](e,b);d=d+4|0}while((d|0)!=(c[a>>2]|0));return}function Pu(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;c[a>>2]=69924;k=a+144|0;c[k>>2]=70232;Dw(a,0);j=a+624|0;b=c[j>>2]|0;if(b|0)Ew(b,a);b=a+648|0;d=c[b>>2]|0;if(d|0?(e=d+(c[(c[d>>2]|0)+-12>>2]|0)|0,l=e+8|0,d=c[l>>2]|0,c[l>>2]=d-1,(d|0)==1):0)UU(e,1,1);c[b>>2]=0;b=a+644|0;d=c[b>>2]|0;if(d|0?(f=d+(c[(c[d>>2]|0)+-12>>2]|0)|0,e=f+8|0,l=c[e>>2]|0,c[e>>2]=l-1,(l|0)==1):0)UU(f,1,1);c[b>>2]=0;b=a+640|0;d=c[b>>2]|0;if(d|0?(g=d+(c[(c[d>>2]|0)+-12>>2]|0)|0,f=g+8|0,l=c[f>>2]|0,c[f>>2]=l-1,(l|0)==1):0)UU(g,1,1);c[b>>2]=0;b=a+636|0;d=c[b>>2]|0;if(d|0?(h=d+(c[(c[d>>2]|0)+-12>>2]|0)|0,g=h+8|0,l=c[g>>2]|0,c[g>>2]=l-1,(l|0)==1):0)UU(h,1,1);c[b>>2]=0;b=a+632|0;d=c[b>>2]|0;if(d|0?(h=d+8|0,l=c[h>>2]|0,c[h>>2]=l-1,(l|0)==1):0)UU(d,1,1);c[b>>2]=0;b=a+628|0;d=c[b>>2]|0;if(d|0?(i=d+(c[(c[d>>2]|0)+-12>>2]|0)|0,h=i+8|0,l=c[h>>2]|0,c[h>>2]=l-1,(l|0)==1):0)UU(i,1,1);c[b>>2]=0;b=c[j>>2]|0;if(b|0?(i=b+8|0,l=c[i>>2]|0,c[i>>2]=l-1,(l|0)==1):0)UU(b,1,1);c[j>>2]=0;b=a+620|0;d=c[b>>2]|0;if(d|0?(j=d+8|0,l=c[j>>2]|0,c[j>>2]=l-1,(l|0)==1):0)UU(d,1,1);c[b>>2]=0;vw(a+608|0,c[a+612>>2]|0);tw(a+584|0,c[a+588>>2]|0);b=a+288|0;d=c[b>>2]|0;if(d|0?(j=d+8|0,l=c[j>>2]|0,c[j>>2]=l-1,(l|0)==1):0)UU(d,1,1);c[b>>2]=0;b=a+284|0;d=c[b>>2]|0;if(d|0?(j=d+8|0,l=c[j>>2]|0,c[j>>2]=l-1,(l|0)==1):0)UU(d,1,1);c[b>>2]=0;b=a+232|0;d=c[b>>2]|0;if(d|0?(j=d+8|0,l=c[j>>2]|0,c[j>>2]=l-1,(l|0)==1):0)UU(d,1,1);c[b>>2]=0;b=a+224|0;d=c[b>>2]|0;if(d|0?(j=d+8|0,l=c[j>>2]|0,c[j>>2]=l-1,(l|0)==1):0)UU(d,1,1);c[b>>2]=0;oX(a+208|0);c[k>>2]=70260;b=a+172|0;d=c[b>>2]|0;if(!d){c[b>>2]=0;z$(a);return}k=d+8|0;l=c[k>>2]|0;c[k>>2]=l-1;if((l|0)!=1){c[b>>2]=0;z$(a);return}UU(d,1,1);c[b>>2]=0;z$(a);return}function Qu(a){a=a|0;Pu(a);l0a(a);return}function Ru(a){a=a|0;a=j0a(656)|0;zw(a);return a|0}function Su(a,b){a=a|0;b=b|0;var c=0;c=j0a(656)|0;qw(c,a,b);return c|0}function Tu(a,b){a=a|0;b=b|0;if(!b){b=0;return b|0}b=(y1a(b,42800,43144,0)|0)!=0;return b|0}function Uu(a){a=a|0;return 186332}function Vu(a){a=a|0;return 188636}function Wu(a){a=a|0;return a|0}function Xu(a){a=a|0;return a|0}function Yu(a){a=a|0;return a|0}function Zu(a){a=a|0;return a|0}function _u(a){a=a|0;return 0}function $u(a){a=a|0;return 0}function av(a,b){a=a|0;b=b|0;var d=0,e=0;d=c[a+632>>2]|0;if(d|0)Jk[c[(c[d>>2]|0)+156>>2]&1023](d,b);d=c[a+120>>2]|0;if(d|0)Jk[c[(c[d>>2]|0)+156>>2]&1023](d,b);d=c[a+84>>2]|0;if(d|0){d=d+(c[(c[d>>2]|0)+-12>>2]|0)|0;Jk[c[(c[d>>2]|0)+156>>2]&1023](d,b)}d=c[a+92>>2]|0;if(d|0){d=d+(c[(c[d>>2]|0)+-12>>2]|0)|0;Jk[c[(c[d>>2]|0)+156>>2]&1023](d,b)}d=c[a+100>>2]|0;if(d|0){d=d+(c[(c[d>>2]|0)+-12>>2]|0)|0;Jk[c[(c[d>>2]|0)+156>>2]&1023](d,b)}d=c[a+124>>2]|0;a=a+128|0;if((d|0)==(c[a>>2]|0))return;do{e=c[d>>2]|0;Jk[c[(c[e>>2]|0)+156>>2]&1023](e,b);d=d+4|0}while((d|0)!=(c[a>>2]|0));return}function bv(a,b){a=a|0;b=b|0;var d=0,e=0;d=c[a+632>>2]|0;if(d|0)Jk[c[(c[d>>2]|0)+160>>2]&1023](d,b);d=c[a+120>>2]|0;if(d|0)Jk[c[(c[d>>2]|0)+160>>2]&1023](d,b);d=c[a+84>>2]|0;if(d|0){d=d+(c[(c[d>>2]|0)+-12>>2]|0)|0;Jk[c[(c[d>>2]|0)+160>>2]&1023](d,b)}d=c[a+92>>2]|0;if(d|0){d=d+(c[(c[d>>2]|0)+-12>>2]|0)|0;Jk[c[(c[d>>2]|0)+160>>2]&1023](d,b)}d=c[a+100>>2]|0;if(d|0){d=d+(c[(c[d>>2]|0)+-12>>2]|0)|0;Jk[c[(c[d>>2]|0)+160>>2]&1023](d,b)}d=c[a+124>>2]|0;a=a+128|0;if((d|0)==(c[a>>2]|0))return;do{e=c[d>>2]|0;Jk[c[(c[e>>2]|0)+160>>2]&1023](e,b);d=d+4|0}while((d|0)!=(c[a>>2]|0));return}function cv(a){a=a|0;return 0}function dv(a){a=a|0;return 0}function ev(a){a=a|0;return a|0}function fv(a){a=a|0;return a|0}function gv(a){a=a|0;return a|0}function hv(a){a=a|0;return a|0}function iv(a){a=a|0;return 0}function jv(a){a=a|0;return 0}function kv(a){a=a|0;return 0}function lv(a){a=a|0;return 0}function mv(a){a=a|0;return 0}function nv(a){a=a|0;return 0}function ov(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;j=l;l=l+16|0;d=j+8|0;i=j+4|0;e=j;if(!((c[a+116>>2]|c[b+24>>2])&c[b+20>>2])){l=j;return}c[i>>2]=a;f=b+16|0;g=b+28|0;h=a;do if((c[f>>2]|0)!=1){d=b+32|0;e=c[d>>2]|0;if((e|0)==(c[b+36>>2]|0)){ow(g,i);break}else{c[e>>2]=h;c[d>>2]=(c[d>>2]|0)+4;break}}else{c[e>>2]=c[g>>2];c[d>>2]=c[e>>2];pw(g,d,i)|0}while(0);Jk[c[(c[b>>2]|0)+152>>2]&1023](b,a);if((c[f>>2]|0)==1){a=c[b+28>>2]|0;f=a+4|0;d=b+32|0;e=(c[d>>2]|0)-f|0;if(e|0)y2a(a|0,f|0,e|0)|0;e=a+(e>>2<<2)|0}else{d=b+32|0;e=(c[d>>2]|0)+-4|0}c[d>>2]=e;l=j;return}function pv(a,b){a=a|0;b=b|0;var d=0,e=0;d=c[a+72>>2]|0;e=c[a+76>>2]|0;if((d|0)==(e|0))return;a=d;do{d=c[a>>2]|0;Jk[c[(c[d>>2]|0)+212>>2]&1023](d,b);a=a+4|0}while((a|0)!=(e|0));return}function qv(a,b){a=a|0;b=b|0;var d=0,e=0;d=c[a+124>>2]|0;a=a+128|0;if((d|0)==(c[a>>2]|0))return;do{e=c[d>>2]|0;Jk[c[(c[e>>2]|0)+212>>2]&1023](e,b);d=d+4|0}while((d|0)!=(c[a>>2]|0));return}function rv(a,b){a=a|0;b=b|0;return sv(a,(c[a+128>>2]|0)-(c[a+124>>2]|0)>>2,b)|0}function sv(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0;n=l;l=l+16|0;k=n+8|0;h=n+4|0;i=n;if(!e){e=0;l=n;return e|0}f=gk[c[(c[e>>2]|0)+164>>2]&1023](e)|0;if(f|0?a[f+276>>0]|0:0)Xv(f);g=b+124|0;j=b+128|0;f=c[g>>2]|0;m=(c[j>>2]|0)-f>>2;if(m>>>0>d>>>0){c[h>>2]=f+(d<<2);c[i>>2]=e;f=e+8|0;c[f>>2]=(c[f>>2]|0)+1;c[k>>2]=c[h>>2];Zv(g,k,i)|0;f=c[i>>2]|0;if(f|0?(k=f+8|0,m=c[k>>2]|0,c[k>>2]=m-1,(m|0)==1):0)UU(f,1,1)}else{c[k>>2]=e;d=e+8|0;c[d>>2]=(c[d>>2]|0)+1;d=c[j>>2]|0;if(d>>>0<(c[b+132>>2]|0)>>>0){f=c[k>>2]|0;c[d>>2]=f;if(f){d=f+8|0;c[d>>2]=(c[d>>2]|0)+1;d=c[j>>2]|0}c[j>>2]=d+4}else Yv(g,k);d=c[k>>2]|0;if(d|0?(j=d+8|0,k=c[j>>2]|0,c[j>>2]=k-1,(k|0)==1):0)UU(d,1,1);d=m}Pv(e,b);Jk[c[(c[b>>2]|0)+260>>2]&1023](b,d);Qv(b);if(!((c[e+88>>2]|0)==0?!(c[e+84>>2]|0):0))Rv(b,(c[b+88>>2]|0)+1|0);if(!((c[e+96>>2]|0)==0?!(c[e+92>>2]|0):0))Sv(b,(c[b+96>>2]|0)+1|0);if(!((c[e+108>>2]|0)==0?(a[e+104>>0]|0)!=0:0))Tv(b,(c[b+108>>2]|0)+1|0);if((c[e+112>>2]|0)==0?(y1a(e,43184,43200,0)|0)==0:0){e=1;l=n;return e|0}Uv(b,(c[b+112>>2]|0)+1|0);e=1;l=n;return e|0}function tv(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;e=c[a+124>>2]|0;d=(c[a+128>>2]|0)-e|0;f=d>>2;a:do if(!d)d=0;else{d=0;while(1){if((c[e+(d<<2)>>2]|0)==(b|0))break a;d=d+1|0;if(d>>>0>=f>>>0){d=0;break}}return d|0}while(0);if(d>>>0>=f>>>0){f=0;return f|0}f=lk[c[(c[a>>2]|0)+240>>2]&127](a,d,1)|0;return f|0}function uv(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;z=l;l=l+16|0;v=z+12|0;u=z+8|0;w=z+4|0;x=z;y=b+124|0;g=b+128|0;h=c[y>>2]|0;f=(c[g>>2]|0)-h>>2;if(!((e|0)!=0&f>>>0>d>>>0)){y=0;l=z;return y|0}e=e+d|0;if(e>>>0>f>>>0){if((a[223632]|0)==0?g2a(223632)|0:0)kr(225352);if((c[56338]|0)>4){t=mr(lr(5)|0,132657,86)|0;BSa(v,t+(c[(c[t>>2]|0)+-12>>2]|0)|0);q=cUa(v,230580)|0;q=kk[c[(c[q>>2]|0)+28>>2]&511](q,10)|0;dUa(v);VSa(t,q)|0;HSa(t)|0}if((a[223632]|0)==0?g2a(223632)|0:0)kr(225352);if((c[56338]|0)>4){t=mr(lr(5)|0,132744,66)|0;BSa(v,t+(c[(c[t>>2]|0)+-12>>2]|0)|0);q=cUa(v,230580)|0;q=kk[c[(c[q>>2]|0)+28>>2]&511](q,10)|0;dUa(v);VSa(t,q)|0;HSa(t)|0}j=c[y>>2]|0;t=(c[g>>2]|0)-j>>2}else{t=e;j=h}a:do if(t>>>0>d>>>0){f=d;i=0;h=0;g=0;e=0;while(1){q=c[j+(f<<2)>>2]|0;n=kX()|0;o=(n|0)==0;if(!o)gk[c[(c[n>>2]|0)+8>>2]&1023](n)|0;j=c[q+72>>2]|0;p=q+76|0;k=c[p>>2]|0;m=k;b:do if((j|0)==(k|0)){r=j;s=24}else do{if((c[j>>2]|0)==(b|0)){r=j;s=24;break b}j=j+4|0}while((j|0)!=(k|0));while(0);if((s|0)==24?(s=0,(r|0)!=(k|0)):0){k=r+4|0;j=m-k|0;if(j|0)y2a(r|0,k|0,j|0)|0;c[p>>2]=r+(j>>2<<2)}if(!o)gk[c[(c[n>>2]|0)+12>>2]&1023](n)|0;if(!((c[q+88>>2]|0)==0?(c[q+84>>2]|0)==0:0))e=e+1|0;if(!((c[q+96>>2]|0)==0?(c[q+92>>2]|0)==0:0))g=g+1|0;if(!((c[q+108>>2]|0)==0?(a[q+104>>0]|0)!=0:0))h=h+1|0;if(!((c[q+112>>2]|0)==0?(y1a(q,43184,43200,0)|0)==0:0))i=i+1|0;f=f+1|0;if(f>>>0>=t>>>0){f=y;break a}j=c[y>>2]|0}}else{i=0;h=0;g=0;e=0;f=y}while(0);Nk[c[(c[b>>2]|0)+256>>2]&255](b,d,t-d|0);s=c[f>>2]|0;c[w>>2]=s+(d<<2);c[x>>2]=s+(t<<2);c[u>>2]=c[w>>2];c[v>>2]=c[x>>2];Wv(y,u,v)|0;if(e|0)Rv(b,(c[b+88>>2]|0)-e|0);if(g|0)Sv(b,(c[b+96>>2]|0)-g|0);if(h|0)Tv(b,(c[b+108>>2]|0)-h|0);if(i|0)Uv(b,(c[b+112>>2]|0)-i|0);Qv(b);y=1;l=z;return y|0}function vv(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;if((d|0)==0|(b|0)==(d|0)){d=0;return d|0}f=c[a+124>>2]|0;e=(c[a+128>>2]|0)-f|0;g=e>>2;a:do if(!e)e=0;else{e=0;while(1){if((c[f+(e<<2)>>2]|0)==(b|0))break a;e=e+1|0;if(e>>>0>=g>>>0){e=0;break}}return e|0}while(0);if(e>>>0>=g>>>0){d=0;return d|0}d=lk[c[(c[a>>2]|0)+252>>2]&127](a,e,d)|0;return d|0}function wv(a){a=a|0;return (c[a+128>>2]|0)-(c[a+124>>2]|0)>>2|0}function xv(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;n=b+124|0;f=c[n>>2]|0;if(!(e|0?(c[b+128>>2]|0)-f>>2>>>0>d>>>0:0)){b=0;return b|0}o=c[f+(d<<2)>>2]|0;if(o|0){l=o+8|0;c[l>>2]=(c[l>>2]|0)+1}j=kX()|0;k=(j|0)==0;if(!k)gk[c[(c[j>>2]|0)+8>>2]&1023](j)|0;f=c[o+72>>2]|0;l=o+76|0;g=c[l>>2]|0;h=g;a:do if((f|0)==(g|0)){m=f;i=10}else do{if((c[f>>2]|0)==(b|0)){m=f;i=10;break a}f=f+4|0}while((f|0)!=(g|0));while(0);if((i|0)==10?(m|0)!=(g|0):0){g=m+4|0;f=h-g|0;if(f|0)y2a(m|0,g|0,f|0)|0;c[l>>2]=m+(f>>2<<2)}if(!k)gk[c[(c[j>>2]|0)+12>>2]&1023](j)|0;f=(c[n>>2]|0)+(d<<2)|0;g=c[f>>2]|0;if(((g|0)!=(e|0)?(c[f>>2]=e,n=e+8|0,c[n>>2]=(c[n>>2]|0)+1,g|0):0)?(d=g+8|0,n=c[d>>2]|0,c[d>>2]=n-1,(n|0)==1):0)UU(g,1,1);Pv(e,b);Qv(b);if((c[o+88>>2]|0)==0?(c[o+84>>2]|0)==0:0)f=0;else f=-1;if(!((c[e+88>>2]|0)==0?(c[e+84>>2]|0)==0:0))f=f+1|0;if(f|0)Rv(b,(c[b+88>>2]|0)+f|0);if((c[o+96>>2]|0)==0?(c[o+92>>2]|0)==0:0)f=0;else f=-1;if(!((c[e+96>>2]|0)==0?(c[e+92>>2]|0)==0:0))f=f+1|0;if(f|0)Sv(b,(c[b+96>>2]|0)+f|0);if((c[o+108>>2]|0)==0?(a[o+104>>0]|0)!=0:0)f=0;else f=-1;if(!((c[e+108>>2]|0)==0?(a[e+104>>0]|0)!=0:0))f=f+1|0;if(f|0)Tv(b,(c[b+108>>2]|0)+f|0);if((c[o+112>>2]|0)==0?(y1a(o,43184,43200,0)|0)==0:0)f=0;else f=-1;if(!((c[e+112>>2]|0)==0?(y1a(e,43184,43200,0)|0)==0:0))f=f+1|0;if(f|0)Uv(b,(c[b+112>>2]|0)+f|0);e=o+8|0;b=c[e>>2]|0;c[e>>2]=b-1;if((b|0)!=1){b=1;return b|0}UU(o,1,1);b=1;return b|0}function yv(a,b,c){a=a|0;b=b|0;c=c|0;return}function zv(a,b){a=a|0;b=b|0;return}function Av(a){a=a|0;return 0}function Bv(a){a=a|0;return 0}function Cv(a){a=a|0;return 0}function Dv(a){a=a|0;return 0}function Ev(a){a=a|0;return 0}function Fv(a){a=a|0;return 0}function Gv(a,b,d){a=a|0;b=b|0;d=d|0;if(c[a+136>>2]|0){d=a+432|0;if((d|0)==(b|0))return 1;h[b>>3]=+h[d>>3];h[b+8>>3]=+h[a+440>>3];h[b+16>>3]=+h[a+448>>3];h[b+24>>3]=+h[a+456>>3];h[b+32>>3]=+h[a+464>>3];h[b+40>>3]=+h[a+472>>3];h[b+48>>3]=+h[a+480>>3];h[b+56>>3]=+h[a+488>>3];h[b+64>>3]=+h[a+496>>3];h[b+72>>3]=+h[a+504>>3];h[b+80>>3]=+h[a+512>>3];h[b+88>>3]=+h[a+520>>3];h[b+96>>3]=+h[a+528>>3];h[b+104>>3]=+h[a+536>>3];h[b+112>>3]=+h[a+544>>3];h[b+120>>3]=+h[a+552>>3];return 1}d=a+432|0;if(!(c[a+292>>2]|0)){Wra(b,d);return 1}else{Vra(b,d);return 1}return 0}function Hv(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;f=l;l=l+128|0;d=f;Qra(d);e=a+432|0;if(((+h[a+456>>3]==0.0?+h[a+488>>3]==0.0:0)?+h[a+520>>3]==0.0:0)?+h[a+552>>3]==1.0:0)Xra(d,e)|0;else Yra(d,e)|0;if(c[a+136>>2]|0){if((d|0)==(b|0)){l=f;return 1}h[b>>3]=+h[d>>3];h[b+8>>3]=+h[d+8>>3];h[b+16>>3]=+h[d+16>>3];h[b+24>>3]=+h[d+24>>3];h[b+32>>3]=+h[d+32>>3];h[b+40>>3]=+h[d+40>>3];h[b+48>>3]=+h[d+48>>3];h[b+56>>3]=+h[d+56>>3];h[b+64>>3]=+h[d+64>>3];h[b+72>>3]=+h[d+72>>3];h[b+80>>3]=+h[d+80>>3];h[b+88>>3]=+h[d+88>>3];h[b+96>>3]=+h[d+96>>3];h[b+104>>3]=+h[d+104>>3];h[b+112>>3]=+h[d+112>>3];h[b+120>>3]=+h[d+120>>3];l=f;return 1}if(!(c[a+292>>2]|0)){Vra(b,d);l=f;return 1}else{Wra(b,d);l=f;return 1}return 0}function Iv(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;Ov(a+144|0,b,d);b=y1a(b,43176,43144,144)|0;if(!b)return;if(d&8192|0){f=b+240|0;e=a+240|0;c[e>>2]=c[f>>2];c[e+4>>2]=c[f+4>>2];c[e+8>>2]=c[f+8>>2];c[e+12>>2]=c[f+12>>2]}if(d&16384|0)c[a+236>>2]=c[b+236>>2];if(d&131072|0)c[a+568>>2]=c[b+568>>2];if(!(d&262144))return;c[a+572>>2]=c[b+572>>2];return}function Jv(a){a=a|0;Pu(a+-144|0);return}function Kv(a){a=a|0;a=a+-144|0;Pu(a);l0a(a);return}function Lv(b){b=b|0;c[b+4>>2]=2147483647;c[b+8>>2]=0;c[b+16>>2]=57;g[b+20>>2]=1.0;g[b+24>>2]=2.0;c[b+12>>2]=1;h[b+32>>3]=.0005;a[b+40>>0]=1;a[b+41>>0]=0;g[b+44>>2]=4.0;c[b+48>>2]=10;c[b+52>>2]=-1;c[b+56>>2]=-1;c[b+60>>2]=-1;return}function Mv(a,b){a=a|0;b=b|0;Nk[c[(c[a>>2]|0)+16>>2]&255](a,b,c[a+4>>2]|0);return}function Nv(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;e=a+-144|0;Ov(a,b,d);b=y1a(b,43176,43144,144)|0;if(!b)return;if(d&8192|0){g=b+240|0;f=a+96|0;c[f>>2]=c[g>>2];c[f+4>>2]=c[g+4>>2];c[f+8>>2]=c[g+8>>2];c[f+12>>2]=c[g+12>>2]}if(d&16384|0)c[e+236>>2]=c[b+236>>2];if(d&131072|0)c[a+424>>2]=c[b+568>>2];if(!(d&262144))return;c[e+572>>2]=c[b+572>>2];return}function Ov(b,d,e){b=b|0;d=d|0;e=e|0;var f=0;if(e&1|0)c[b+12>>2]=c[d+12>>2];if(e&32|0)h[b+32>>3]=+h[d+32>>3];if(e&64|0)a[b+40>>0]=a[d+40>>0]|0;if(e&128|0)a[b+41>>0]=a[d+41>>0]|0;if(e&256|0)c[b+44>>2]=c[d+44>>2];if(e&512|0)c[b+48>>2]=c[d+48>>2];if(e&1024|0)c[b+52>>2]=c[d+52>>2];if(e&2048|0)c[b+56>>2]=c[d+56>>2];if(e&4096|0)c[b+60>>2]=c[d+60>>2];if(e&2|0)c[b+16>>2]=c[d+16>>2];if(e&4|0)c[b+20>>2]=c[d+20>>2];if(e&8|0)c[b+24>>2]=c[d+24>>2];if(!(e&16))return;e=b+28|0;f=c[e>>2]|0;b=c[d+28>>2]|0;if((f|0)==(b|0))return;c[e>>2]=b;if(b|0){d=b+8|0;c[d>>2]=(c[d>>2]|0)+1}if(!f)return;e=f+8|0;d=c[e>>2]|0;c[e>>2]=d-1;if((d|0)!=1)return;UU(f,1,1);return}function Pv(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=l;l=l+16|0;e=i;c[e>>2]=b;f=kX()|0;g=(f|0)==0;if(!g)gk[c[(c[f>>2]|0)+8>>2]&1023](f)|0;h=a+76|0;d=c[h>>2]|0;if((d|0)==(c[a+80>>2]|0))Vv(a+72|0,e);else{c[d>>2]=b;c[h>>2]=(c[h>>2]|0)+4}if(g){l=i;return}gk[c[(c[f>>2]|0)+12>>2]&1023](f)|0;l=i;return}function Qv(b){b=b|0;var d=0;d=b+68|0;if(!(a[d>>0]|0))return;a[d>>0]=0;d=c[b+72>>2]|0;b=b+76|0;if((d|0)==(c[b>>2]|0))return;do{Qv(c[d>>2]|0);d=d+4|0}while((d|0)!=(c[b>>2]|0));return}function Rv(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=a+88|0;e=c[h>>2]|0;if((e|0)==(b|0))return;if(((c[a+84>>2]|0)==0?(d=c[a+72>>2]|0,g=a+76|0,(d|0)!=(c[g>>2]|0)):0)?(f=(((e|0)!=0)<<31>>31)+((b|0)!=0&1)|0,f|0):0)do{e=c[d>>2]|0;Rv(e,(c[e+88>>2]|0)+f|0);d=d+4|0}while((d|0)!=(c[g>>2]|0));c[h>>2]=b;return}function Sv(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=a+96|0;e=c[h>>2]|0;if((e|0)==(b|0))return;if(((c[a+92>>2]|0)==0?(d=c[a+72>>2]|0,g=a+76|0,(d|0)!=(c[g>>2]|0)):0)?(f=(((e|0)!=0)<<31>>31)+((b|0)!=0&1)|0,f|0):0)do{e=c[d>>2]|0;Sv(e,(c[e+96>>2]|0)+f|0);d=d+4|0}while((d|0)!=(c[g>>2]|0));c[h>>2]=b;return}function Tv(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;i=b+108|0;f=c[i>>2]|0;if((f|0)==(d|0))return;if((a[b+104>>0]|0?(e=c[b+72>>2]|0,h=b+76|0,(e|0)!=(c[h>>2]|0)):0)?(g=(((f|0)!=0)<<31>>31)+((d|0)!=0&1)|0,g|0):0)do{f=c[e>>2]|0;Tv(f,(c[f+108>>2]|0)+g|0);e=e+4|0}while((e|0)!=(c[h>>2]|0));c[i>>2]=d;return}function Uv(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;g=a+112|0;e=c[g>>2]|0;if((e|0)==(b|0))return;if(((y1a(a,43184,43200,0)|0)==0?(d=c[a+72>>2]|0,h=a+76|0,(d|0)!=(c[h>>2]|0)):0)?(f=(((e|0)!=0)<<31>>31)+((b|0)!=0&1)|0,f|0):0)do{e=c[d>>2]|0;Uv(e,(c[e+112>>2]|0)+f|0);d=d+4|0}while((d|0)!=(c[h>>2]|0));c[g>>2]=b;return}function Vv(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;i=a+4|0;j=c[a>>2]|0;k=(c[i>>2]|0)-j|0;g=k>>2;d=g+1|0;if(d>>>0>1073741823)g1a(a);l=a+8|0;f=(c[l>>2]|0)-j|0;h=f>>1;h=f>>2>>>0<536870911?(h>>>0<d>>>0?d:h):1073741823;do if(h)if(h>>>0>1073741823){l=db(8)|0;p0a(l,183738);c[l>>2]=110936;hb(l|0,65952,1066)}else{f=j0a(h<<2)|0;e=f;break}else{e=0;f=0}while(0);d=e+(g<<2)|0;c[d>>2]=c[b>>2];if((k|0)>0)x2a(f|0,j|0,k|0)|0;c[a>>2]=e;c[i>>2]=d+4;c[l>>2]=e+(h<<2);if(!j)return;l0a(j);return}function Wv(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;h=c[a>>2]|0;e=c[b>>2]|0;h=h+(e-h>>2<<2)|0;b=c[d>>2]|0;if((b|0)==(e|0))return h|0;b=h+(b-e>>2<<2)|0;g=a+4|0;f=c[g>>2]|0;if((b|0)==(f|0))e=h;else{e=h;do{d=c[e>>2]|0;a=c[b>>2]|0;if((d|0)!=(a|0)){c[e>>2]=a;if(a|0){a=a+8|0;c[a>>2]=(c[a>>2]|0)+1}if(d|0?(i=d+8|0,a=c[i>>2]|0,c[i>>2]=a-1,(a|0)==1):0)UU(d,1,1)}b=b+4|0;e=e+4|0}while((b|0)!=(f|0));b=c[g>>2]|0}if((b|0)!=(e|0))do{b=b+-4|0;d=c[b>>2]|0;if(d|0?(f=d+8|0,i=c[f>>2]|0,c[f>>2]=i-1,(i|0)==1):0)UU(d,1,1);c[b>>2]=0}while((b|0)!=(e|0));c[g>>2]=e;return h|0}function Xv(f){f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0;L=l;l=l+64|0;J=L+48|0;K=L+36|0;I=L+24|0;G=L+12|0;F=L;H=f+276|0;if(!(a[H>>0]|0)){l=L;return}E=f+232|0;g=c[E>>2]|0;if((g|0?(h=gk[c[(c[g>>2]|0)+148>>2]&1023](g)|0,h|0):0)?(i=y1a(h,47048,43232,0)|0,i|0):0)aw(f,$v(c[E>>2]|0,i)|0);D=f+236|0;h=c[D>>2]|0;if(h){g=(c[h+64>>2]|0)==3;h=gk[c[(c[h>>2]|0)+148>>2]&1023](h)|0;if((h|0)!=0?(j=y1a(h,47048,43232,0)|0,(j|0)!=0):0){k=f+236|0;h=$v(c[k>>2]|0,j)|0;i=(h|0)==0;j=c[k>>2]|0;if((j|0)!=(h|0)){c[k>>2]=h;if(!i){z=h+8|0;c[z>>2]=(c[z>>2]|0)+1}if(j|0?(y=j+8|0,z=c[y>>2]|0,c[y>>2]=z-1,(z|0)==1):0)UU(j,1,1)}Bk[c[(c[f>>2]|0)+240>>2]&2047](f);if(!i){lja(f+200|0);bw(f,h)}}}else g=0;k=f+240|0;h=c[k>>2]|0;if(h){g=g|(c[h+64>>2]|0)==3;m=f+240|0;h=gk[c[(c[h>>2]|0)+148>>2]&1023](h)|0;if((h|0)!=0?(n=y1a(h,47048,43232,0)|0,(n|0)!=0):0){h=$v(c[k>>2]|0,n)|0;i=(h|0)==0;j=c[k>>2]|0;if((j|0)!=(h|0)){c[k>>2]=h;if(!i){z=h+8|0;c[z>>2]=(c[z>>2]|0)+1}if(j|0?(y=j+8|0,z=c[y>>2]|0,c[y>>2]=z-1,(z|0)==1):0)UU(j,1,1)}Bk[c[(c[f>>2]|0)+240>>2]&2047](f);if(!i){mja(f+200|0);bw(f,h);y=m;z=m}else{y=m;z=m}}else{y=m;z=m}}else{z=f+240|0;y=z}k=f+244|0;h=c[k>>2]|0;if(h){g=g|(c[h+64>>2]|0)==3;m=f+244|0;h=gk[c[(c[h>>2]|0)+148>>2]&1023](h)|0;if((h|0)!=0?(o=y1a(h,47048,43232,0)|0,(o|0)!=0):0){h=$v(c[k>>2]|0,o)|0;i=(h|0)==0;j=c[k>>2]|0;if((j|0)!=(h|0)){c[k>>2]=h;if(!i){x=h+8|0;c[x>>2]=(c[x>>2]|0)+1}if(j|0?(w=j+8|0,x=c[w>>2]|0,c[w>>2]=x-1,(x|0)==1):0)UU(j,1,1)}Bk[c[(c[f>>2]|0)+240>>2]&2047](f);if(!i){nja(f+200|0);bw(f,h);w=m;x=m}else{w=m;x=m}}else{w=m;x=m}}else{x=f+244|0;w=x}k=f+248|0;h=c[k>>2]|0;if(h){g=g|(c[h+64>>2]|0)==3;m=f+248|0;h=gk[c[(c[h>>2]|0)+148>>2]&1023](h)|0;if((h|0)!=0?(p=y1a(h,47048,43232,0)|0,(p|0)!=0):0){h=$v(c[k>>2]|0,p)|0;i=(h|0)==0;j=c[k>>2]|0;if((j|0)!=(h|0)){c[k>>2]=h;if(!i){u=h+8|0;c[u>>2]=(c[u>>2]|0)+1}if(j|0?(t=j+8|0,u=c[t>>2]|0,c[t>>2]=u-1,(u|0)==1):0)UU(j,1,1)}Bk[c[(c[f>>2]|0)+240>>2]&2047](f);if(!i){oja(f+200|0);bw(f,h);s=m;t=m}else{s=m;t=m}}else{s=m;t=m}}else{t=f+248|0;s=t}r=f+252|0;u=f+256|0;h=c[r>>2]|0;if((c[u>>2]|0)!=(h|0)){i=0;do{h=c[h+(i<<2)>>2]|0;if((h|0?(q=gk[c[(c[h>>2]|0)+148>>2]&1023](h)|0,q|0):0)?(v=y1a(q,47048,43232,0)|0,v|0):0){h=c[r>>2]|0;if((c[u>>2]|0)-h>>2>>>0>i>>>0)h=c[h+(i<<2)>>2]|0;else h=0;cw(f,i,$v(h,v)|0,-1)}i=i+1|0;h=c[r>>2]|0}while(i>>>0<(c[u>>2]|0)-h>>2>>>0)}m=f+264|0;n=f+268|0;i=c[n>>2]|0;h=c[m>>2]|0;if((i|0)!=(h|0)){k=0;do{j=h;if(i-h>>2>>>0>k>>>0?(A=c[h+(k<<2)>>2]|0,(A|0)!=0):0)g=g|(c[A+64>>2]|0)==3;h=c[j+(k<<2)>>2]|0;if((h|0?(B=gk[c[(c[h>>2]|0)+148>>2]&1023](h)|0,B|0):0)?(C=y1a(B,47048,43232,0)|0,C|0):0){h=c[m>>2]|0;if((c[n>>2]|0)-h>>2>>>0>k>>>0)h=c[h+(k<<2)>>2]|0;else h=0;dw(f,k,$v(h,C)|0,-1)}k=k+1|0;i=c[n>>2]|0;h=c[m>>2]|0}while(k>>>0<i-h>>2>>>0)}if(!g){a[H>>0]=0;l=L;return}q=f+220|0;h=c[q>>2]|0;A=f+224|0;a:do if((h|0)==(c[A>>2]|0))i=0;else{g=0;while(1){i=c[h>>2]|0;switch(c[i+52>>2]|0){case 1:{g=(c[i+68>>2]|0)+g|0;break}case 2:{j=c[i+68>>2]|0;k=c[i+72>>2]|0;if((j|0)!=(k|0)){i=j;do{g=(c[i>>2]|0)+g|0;i=i+4|0}while((i|0)!=(k|0))}break}case 3:{g=(gk[c[(c[i>>2]|0)+216>>2]&1023](i)|0)+g|0;break}case 4:{g=(gk[c[(c[i>>2]|0)+216>>2]&1023](i)|0)+g|0;break}case 5:{g=(gk[c[(c[i>>2]|0)+216>>2]&1023](i)|0)+g|0;break}default:{}}h=h+4|0;if((h|0)==(c[A>>2]|0)){i=g;break a}}}while(0);c[J>>2]=0;o=J+4|0;c[o>>2]=0;c[J+8>>2]=0;c[K>>2]=0;p=K+4|0;c[p>>2]=0;c[K+8>>2]=0;if(c[E>>2]|0)ew(J,E,i);g=c[D>>2]|0;b:do if(g|0)switch(c[g+64>>2]|0){case 4:{ew(J,D,i);break b}case 3:{ew(K,D,i);break b}default:break b}while(0);g=c[y>>2]|0;c:do if(g|0)switch(c[g+64>>2]|0){case 4:{ew(J,z,i);break c}case 3:{ew(K,z,i);break c}default:break c}while(0);g=c[w>>2]|0;d:do if(g|0)switch(c[g+64>>2]|0){case 4:{ew(J,x,i);break d}case 3:{ew(K,x,i);break d}default:break d}while(0);g=c[s>>2]|0;e:do if(g|0)switch(c[g+64>>2]|0){case 4:{ew(J,t,i);break e}case 3:{ew(K,t,i);break e}default:break e}while(0);g=c[r>>2]|0;if((g|0)!=(c[u>>2]|0))do{h=c[g>>2]|0;f:do if(h|0)switch(c[h+64>>2]|0){case 4:{ew(J,g,i);break f}case 3:{ew(K,g,i);break f}default:break f}while(0);g=g+4|0}while((g|0)!=(c[u>>2]|0));g=c[m>>2]|0;if((g|0)!=(c[n>>2]|0))do{h=c[g>>2]|0;g:do if(h|0)switch(c[h+64>>2]|0){case 4:{ew(J,g,i);break g}case 3:{ew(K,g,i);break g}default:break g}while(0);g=g+4|0}while((g|0)!=(c[n>>2]|0));c[I>>2]=0;x=I+4|0;c[x>>2]=0;j=I+8|0;c[j>>2]=0;c[G>>2]=0;w=G+4|0;c[w>>2]=0;n=G+8|0;c[n>>2]=0;g=c[J>>2]|0;if((g|0)!=(c[o>>2]|0)){k=F+4|0;m=F+8|0;do{h=c[g>>2]|0;i=c[g+4>>2]|0;c[F>>2]=gk[c[(c[h>>2]|0)+164>>2]&1023](h)|0;c[k>>2]=gk[c[(c[i>>2]|0)+164>>2]&1023](i)|0;h=gk[c[(c[h>>2]|0)+208>>2]&1023](h)|0;c[m>>2]=h;i=c[x>>2]|0;if(i>>>0<(c[j>>2]|0)>>>0){c[i>>2]=c[F>>2];c[i+4>>2]=c[k>>2];c[i+8>>2]=h;c[x>>2]=i+12}else fw(I,F);g=g+8|0}while((g|0)!=(c[o>>2]|0))}g=c[K>>2]|0;if((g|0)!=(c[p>>2]|0)){j=F+4|0;k=F+8|0;do{h=c[g>>2]|0;i=c[g+4>>2]|0;c[F>>2]=gk[c[(c[h>>2]|0)+164>>2]&1023](h)|0;c[j>>2]=gk[c[(c[i>>2]|0)+164>>2]&1023](i)|0;h=gk[c[(c[h>>2]|0)+208>>2]&1023](h)|0;c[k>>2]=h;i=c[w>>2]|0;if(i>>>0<(c[n>>2]|0)>>>0){c[i>>2]=c[F>>2];c[i+4>>2]=c[j>>2];c[i+8>>2]=h;c[w>>2]=i+12}else fw(G,F);g=g+8|0}while((g|0)!=(c[p>>2]|0))}h=c[q>>2]|0;h:do if((h|0)!=(c[A>>2]|0)){g=0;o=-1;while(1){j=c[h>>2]|0;switch(c[j+60>>2]|0){case 0:{i=1;break}case 1:{i=2;break}case 4:{i=3;break}case 7:{i=4;break}default:i=0}i:do switch(c[j+52>>2]|0){case 1:{do if(!i){i=gk[c[(c[j>>2]|0)+216>>2]&1023](j)|0;if(i|0)break;i=c[j+68>>2]|0}while(0);u=j+64|0;k=c[u>>2]|0;c[u>>2]=g;u=c[j+68>>2]|0;if(k>>>0>=(u+k|0)>>>0){j=o;break i}t=0;s=g;j=o;while(1){j=j+(((t>>>0)%(i>>>0)|0|0)==0&1)|0;m=c[I>>2]|0;n=c[x>>2]|0;if((m|0)!=(n|0))do{q=m+8|0;o=c[q>>2]|0;if(o){p=(c[m+4>>2]|0)+(N(o,s)|0)|0;n=(c[m>>2]|0)+(N(o,k)|0)|0;o=p;p=0;while(1){a[o>>0]=a[n>>0]|0;p=p+1|0;if(p>>>0>=(c[q>>2]|0)>>>0)break;else{n=n+1|0;o=o+1|0}}n=c[x>>2]|0}m=m+12|0}while((m|0)!=(n|0));m=c[G>>2]|0;n=c[w>>2]|0;if((m|0)!=(n|0))do{r=m+8|0;q=c[r>>2]|0;if(q){p=(c[m+4>>2]|0)+(N(q,s)|0)|0;o=0;n=(c[m>>2]|0)+(N(q,j)|0)|0;while(1){a[p>>0]=a[n>>0]|0;o=o+1|0;if(o>>>0>=(c[r>>2]|0)>>>0)break;else{p=p+1|0;n=n+1|0}}n=c[w>>2]|0}m=m+12|0}while((m|0)!=(n|0));t=t+1|0;if((t|0)==(u|0))break;else{k=k+1|0;s=s+1|0}}g=g+u|0;break}case 2:{v=j+80|0;k=c[v>>2]|0;n=c[j+68>>2]|0;u=j+72|0;m=c[u>>2]|0;if((n|0)==(m|0)){j=o;break i}if(!i){j=o;t=n;i=m;do{s=c[t>>2]|0;c[v>>2]=g;if((c[t>>2]|0)>0){r=0;do{j=j+(((r>>>0)%(s>>>0)|0|0)==0&1)|0;i=c[I>>2]|0;m=c[x>>2]|0;if((i|0)!=(m|0))do{q=i+8|0;p=c[q>>2]|0;if(p){o=(c[i+4>>2]|0)+(N(p,g)|0)|0;n=0;m=(c[i>>2]|0)+(N(p,k)|0)|0;while(1){a[o>>0]=a[m>>0]|0;n=n+1|0;if(n>>>0>=(c[q>>2]|0)>>>0)break;else{o=o+1|0;m=m+1|0}}m=c[x>>2]|0}i=i+12|0}while((i|0)!=(m|0));i=c[G>>2]|0;m=c[w>>2]|0;if((i|0)!=(m|0))do{q=i+8|0;p=c[q>>2]|0;if(p){o=(c[i+4>>2]|0)+(N(p,g)|0)|0;n=0;m=(c[i>>2]|0)+(N(p,j)|0)|0;while(1){a[o>>0]=a[m>>0]|0;n=n+1|0;if(n>>>0>=(c[q>>2]|0)>>>0)break;else{o=o+1|0;m=m+1|0}}m=c[w>>2]|0}i=i+12|0}while((i|0)!=(m|0));k=k+1|0;g=g+1|0;r=r+1|0}while((r|0)<(c[t>>2]|0));i=c[u>>2]|0}t=t+4|0}while((t|0)!=(i|0))}else{j=o;t=n;do{c[v>>2]=g;if((c[t>>2]|0)>0){s=0;do{j=j+(((s>>>0)%(i>>>0)|0|0)==0&1)|0;m=c[I>>2]|0;n=c[x>>2]|0;if((m|0)!=(n|0))do{r=m+8|0;q=c[r>>2]|0;if(q){p=(c[m+4>>2]|0)+(N(q,g)|0)|0;o=0;n=(c[m>>2]|0)+(N(q,k)|0)|0;while(1){a[p>>0]=a[n>>0]|0;o=o+1|0;if(o>>>0>=(c[r>>2]|0)>>>0)break;else{p=p+1|0;n=n+1|0}}n=c[x>>2]|0}m=m+12|0}while((m|0)!=(n|0));m=c[G>>2]|0;n=c[w>>2]|0;if((m|0)!=(n|0))do{r=m+8|0;q=c[r>>2]|0;if(q){p=(c[m+4>>2]|0)+(N(q,g)|0)|0;o=0;n=(c[m>>2]|0)+(N(q,j)|0)|0;while(1){a[p>>0]=a[n>>0]|0;o=o+1|0;if(o>>>0>=(c[r>>2]|0)>>>0)break;else{p=p+1|0;n=n+1|0}}n=c[w>>2]|0}m=m+12|0}while((m|0)!=(n|0));k=k+1|0;g=g+1|0;s=s+1|0}while((s|0)<(c[t>>2]|0));m=c[u>>2]|0}t=t+4|0}while((t|0)!=(m|0))}break}case 3:{if(!i)i=gk[c[(c[j>>2]|0)+216>>2]&1023](j)|0;k=c[j+68>>2]|0;u=j+72|0;if((k|0)==(c[u>>2]|0)){j=o;break i}t=0;j=o;s=k;while(1){j=j+(((t>>>0)%(i>>>0)|0|0)==0&1)|0;r=d[s>>0]|0;a[s>>0]=g;k=c[I>>2]|0;m=c[x>>2]|0;if((k|0)!=(m|0))do{q=k+8|0;p=c[q>>2]|0;if(p){o=(c[k+4>>2]|0)+(N(p,g)|0)|0;n=0;m=(c[k>>2]|0)+(N(p,r)|0)|0;while(1){a[o>>0]=a[m>>0]|0;n=n+1|0;if(n>>>0>=(c[q>>2]|0)>>>0)break;else{o=o+1|0;m=m+1|0}}m=c[x>>2]|0}k=k+12|0}while((k|0)!=(m|0));k=c[G>>2]|0;m=c[w>>2]|0;if((k|0)!=(m|0))do{q=k+8|0;p=c[q>>2]|0;if(p){o=(c[k+4>>2]|0)+(N(p,g)|0)|0;n=0;m=(c[k>>2]|0)+(N(p,j)|0)|0;while(1){a[o>>0]=a[m>>0]|0;n=n+1|0;if(n>>>0>=(c[q>>2]|0)>>>0)break;else{o=o+1|0;m=m+1|0}}m=c[w>>2]|0}k=k+12|0}while((k|0)!=(m|0));g=g+1|0;s=s+1|0;if((s|0)==(c[u>>2]|0))break;else t=t+1|0}break}case 4:{if(!i)i=gk[c[(c[j>>2]|0)+216>>2]&1023](j)|0;k=c[j+68>>2]|0;u=j+72|0;if((k|0)==(c[u>>2]|0)){j=o;break i}t=0;j=o;s=k;while(1){j=j+(((t>>>0)%(i>>>0)|0|0)==0&1)|0;r=e[s>>1]|0;b[s>>1]=g;k=c[I>>2]|0;m=c[x>>2]|0;if((k|0)!=(m|0))do{q=k+8|0;p=c[q>>2]|0;if(p){o=(c[k+4>>2]|0)+(N(p,g)|0)|0;n=0;m=(c[k>>2]|0)+(N(p,r)|0)|0;while(1){a[o>>0]=a[m>>0]|0;n=n+1|0;if(n>>>0>=(c[q>>2]|0)>>>0)break;else{o=o+1|0;m=m+1|0}}m=c[x>>2]|0}k=k+12|0}while((k|0)!=(m|0));k=c[G>>2]|0;m=c[w>>2]|0;if((k|0)!=(m|0))do{q=k+8|0;p=c[q>>2]|0;if(p){o=(c[k+4>>2]|0)+(N(p,g)|0)|0;n=0;m=(c[k>>2]|0)+(N(p,j)|0)|0;while(1){a[o>>0]=a[m>>0]|0;n=n+1|0;if(n>>>0>=(c[q>>2]|0)>>>0)break;else{o=o+1|0;m=m+1|0}}m=c[w>>2]|0}k=k+12|0}while((k|0)!=(m|0));g=g+1|0;s=s+2|0;if((s|0)==(c[u>>2]|0))break;else t=t+1|0}break}case 5:{if(!i)i=gk[c[(c[j>>2]|0)+216>>2]&1023](j)|0;k=c[j+68>>2]|0;u=j+72|0;if((k|0)==(c[u>>2]|0)){j=o;break i}t=0;j=o;s=k;while(1){j=j+(((t>>>0)%(i>>>0)|0|0)==0&1)|0;r=c[s>>2]|0;c[s>>2]=g;k=c[I>>2]|0;m=c[x>>2]|0;if((k|0)!=(m|0))do{q=k+8|0;p=c[q>>2]|0;if(p){o=(c[k+4>>2]|0)+(N(p,g)|0)|0;n=0;m=(c[k>>2]|0)+(N(p,r)|0)|0;while(1){a[o>>0]=a[m>>0]|0;n=n+1|0;if(n>>>0>=(c[q>>2]|0)>>>0)break;else{o=o+1|0;m=m+1|0}}m=c[x>>2]|0}k=k+12|0}while((k|0)!=(m|0));k=c[G>>2]|0;m=c[w>>2]|0;if((k|0)!=(m|0))do{p=k+8|0;n=c[p>>2]|0;if(n){o=(c[k+4>>2]|0)+(N(n,g)|0)|0;m=(c[k>>2]|0)+(N(n,j)|0)|0;n=0;while(1){a[o>>0]=a[m>>0]|0;n=n+1|0;if(n>>>0>=(c[p>>2]|0)>>>0)break;else{o=o+1|0;m=m+1|0}}m=c[w>>2]|0}k=k+12|0}while((k|0)!=(m|0));g=g+1|0;s=s+4|0;if((s|0)==(c[u>>2]|0))break;else t=t+1|0}break}default:j=o}while(0);h=h+4|0;if((h|0)==(c[A>>2]|0))break h;else o=j}}while(0);a[H>>0]=0;g=c[G>>2]|0;if(g|0){c[w>>2]=g;l0a(g)}g=c[I>>2]|0;if(g|0){c[x>>2]=g;l0a(g)}gw(K);gw(J);l=L;return}function Yv(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;m=a+4|0;d=c[m>>2]|0;e=c[a>>2]|0;i=d-e>>2;f=i+1|0;g=e;if(f>>>0>1073741823)g1a(a);l=a+8|0;j=(c[l>>2]|0)-e|0;k=j>>1;f=j>>2>>>0<536870911?(k>>>0<f>>>0?f:k):1073741823;do if(f)if(f>>>0>1073741823){m=db(8)|0;p0a(m,183738);c[m>>2]=110936;hb(m|0,65952,1066)}else{j=j0a(f<<2)|0;break}else j=0;while(0);e=j+(i<<2)|0;k=j+(f<<2)|0;f=c[b>>2]|0;c[e>>2]=f;if(f){g=f+8|0;c[g>>2]=(c[g>>2]|0)+1;g=c[a>>2]|0;d=c[m>>2]|0}h=e+4|0;f=g;if((d|0)==(g|0))b=f;else{b=i+-1-((d+-4-f|0)>>>2)|0;while(1){d=d+-4|0;f=c[d>>2]|0;c[e+-4>>2]=f;if(f|0){i=f+8|0;c[i>>2]=(c[i>>2]|0)+1}if((d|0)==(g|0))break;else e=e+-4|0}e=j+(b<<2)|0;b=c[a>>2]|0;d=c[m>>2]|0}c[a>>2]=e;c[m>>2]=h;c[l>>2]=k;f=b;if((d|0)!=(f|0))do{d=d+-4|0;e=c[d>>2]|0;if(e|0?(l=e+8|0,m=c[l>>2]|0,c[l>>2]=m-1,(m|0)==1):0)UU(e,1,1);c[d>>2]=0}while((d|0)!=(f|0));if(!b)return;l0a(b);return}function Zv(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0;r=l;l=l+32|0;o=r;p=c[a>>2]|0;g=p;h=(c[b>>2]|0)-g|0;p=p+(h>>2<<2)|0;q=a+4|0;b=c[q>>2]|0;n=a+8|0;m=c[n>>2]|0;e=b;f=m;if(b>>>0<m>>>0){if((p|0)==(b|0)){b=c[d>>2]|0;c[p>>2]=b;if(!b)b=p;else{b=b+8|0;c[b>>2]=(c[b>>2]|0)+1;b=c[q>>2]|0}c[q>>2]=b+4;q=p;l=r;return q|0}i=e-(p+4)|0;g=p+(i>>2<<2)|0;if(g>>>0<b>>>0){h=g;e=b;do{f=c[h>>2]|0;c[e>>2]=f;if(f){e=f+8|0;c[e>>2]=(c[e>>2]|0)+1;e=c[q>>2]|0}h=h+4|0;e=e+4|0;c[q>>2]=e}while(h>>>0<b>>>0)}if(i|0)do{g=g+-4|0;b=b+-4|0;e=c[b>>2]|0;f=c[g>>2]|0;if((e|0)!=(f|0)){c[b>>2]=f;if(f|0){q=f+8|0;c[q>>2]=(c[q>>2]|0)+1}if(e|0?(o=e+8|0,q=c[o>>2]|0,c[o>>2]=q-1,(q|0)==1):0)UU(e,1,1)}}while((g|0)!=(p|0));e=c[p>>2]|0;b=c[d>>2]|0;if((e|0)==(b|0)){q=p;l=r;return q|0}c[p>>2]=b;if(b|0){q=b+8|0;c[q>>2]=(c[q>>2]|0)+1}if(!e){q=p;l=r;return q|0}o=e+8|0;q=c[o>>2]|0;c[o>>2]=q-1;if((q|0)!=1){q=p;l=r;return q|0}UU(e,1,1);q=p;l=r;return q|0}else{b=(e-g>>2)+1|0;if(b>>>0>1073741823)g1a(a);k=f-g|0;f=k>>1;f=k>>2>>>0<536870911?(f>>>0<b>>>0?b:f):1073741823;b=h>>2;k=o+12|0;c[k>>2]=0;c[o+16>>2]=a+8;do if(f)if(f>>>0>1073741823){r=db(8)|0;p0a(r,183738);c[r>>2]=110936;hb(r|0,65952,1066)}else{e=j0a(f<<2)|0;break}else e=0;while(0);c[o>>2]=e;g=e+(b<<2)|0;m=o+8|0;c[m>>2]=g;j=o+4|0;c[j>>2]=g;c[k>>2]=e+(f<<2);_v(o,d);d=c[j>>2]|0;g=c[a>>2]|0;if((g|0)==(p|0))b=d;else{f=p;b=d;do{f=f+-4|0;e=c[f>>2]|0;c[b+-4>>2]=e;if(e|0){i=e+8|0;c[i>>2]=(c[i>>2]|0)+1}b=(c[j>>2]|0)+-4|0;c[j>>2]=b}while((f|0)!=(g|0))}e=c[q>>2]|0;if((e|0)==(p|0)){h=j;i=m;f=c[m>>2]|0}else{b=p;g=c[m>>2]|0;do{f=c[b>>2]|0;c[g>>2]=f;if(f|0){p=f+8|0;c[p>>2]=(c[p>>2]|0)+1}b=b+4|0;g=(c[m>>2]|0)+4|0;c[m>>2]=g}while((b|0)!=(e|0));h=j;i=m;b=c[j>>2]|0;f=g;e=c[q>>2]|0}p=c[a>>2]|0;c[a>>2]=b;c[h>>2]=p;c[q>>2]=f;c[i>>2]=e;b=c[n>>2]|0;c[n>>2]=c[k>>2];c[k>>2]=b;c[o>>2]=p;b=p;if((e|0)!=(b|0)){do{e=e+-4|0;c[m>>2]=e;f=c[e>>2]|0;if(f|0?(p=f+8|0,q=c[p>>2]|0,c[p>>2]=q-1,(q|0)==1):0)UU(f,1,1);c[e>>2]=0;e=c[m>>2]|0}while((e|0)!=(b|0));b=c[o>>2]|0}if(b|0)l0a(b);q=d;l=r;return q|0}return 0}function _v(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;o=a+8|0;m=c[o>>2]|0;l=a+12|0;n=c[l>>2]|0;f=n;do if((m|0)==(n|0)){n=a+4|0;g=c[n>>2]|0;d=c[a>>2]|0;e=d;if(g>>>0>d>>>0){h=((g-e>>2)+1|0)/-2|0;e=g+(h<<2)|0;if((g|0)==(m|0))d=m;else{do{d=c[e>>2]|0;f=c[g>>2]|0;if((d|0)!=(f|0)){c[e>>2]=f;if(f|0){l=f+8|0;c[l>>2]=(c[l>>2]|0)+1}if(d|0?(a=d+8|0,l=c[a>>2]|0,c[a>>2]=l-1,(l|0)==1):0)UU(d,1,1)}g=g+4|0;e=e+4|0}while((g|0)!=(m|0));d=c[n>>2]|0}c[o>>2]=e;c[n>>2]=d+(h<<2);break}h=f-e|0;h=(h|0)==0?1:h>>1;e=h>>>2;do if(h)if(h>>>0>1073741823){o=db(8)|0;p0a(o,183738);c[o>>2]=110936;hb(o|0,65952,1066)}else{i=j0a(h<<2)|0;break}else i=0;while(0);k=i;f=i+(e<<2)|0;j=f;h=i+(h<<2)|0;if((g|0)!=(m|0)){d=j;while(1){e=c[g>>2]|0;c[f>>2]=e;if(!e)d=f;else{i=e+8|0;c[i>>2]=(c[i>>2]|0)+1}f=d+4|0;g=g+4|0;if((g|0)==(m|0))break;else d=f}d=c[a>>2]|0;g=c[n>>2]|0;e=c[o>>2]|0;c[a>>2]=k;c[n>>2]=j;c[o>>2]=f;c[l>>2]=h;if((e|0)!=(g|0))do{e=e+-4|0;f=c[e>>2]|0;if(f|0?(m=f+8|0,n=c[m>>2]|0,c[m>>2]=n-1,(n|0)==1):0)UU(f,1,1);c[e>>2]=0}while((e|0)!=(g|0))}else{c[a>>2]=k;c[n>>2]=j;c[o>>2]=j;c[l>>2]=h}if(d|0)l0a(d)}while(0);e=c[o>>2]|0;d=c[b>>2]|0;c[e>>2]=d;if(!d){b=e;b=b+4|0;c[o>>2]=b;return}b=d+8|0;c[b>>2]=(c[b>>2]|0)+1;b=c[o>>2]|0;b=b+4|0;c[o>>2]=b;return}function $v(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;k=hw(b)|0;l=(k|0)==0;if(!l){j=k+8|0;c[j>>2]=(c[j>>2]|0)+1}c[k+64>>2]=c[b+64>>2];a[k+68>>0]=a[b+68>>0]|0;a[k+69>>0]=a[b+69>>0]|0;h=c[(c[k>>2]|0)+224>>2]|0;j=gk[c[(c[d>>2]|0)+216>>2]&1023](d)|0;Jk[h&1023](k,j);j=gk[c[(c[b>>2]|0)+208>>2]&1023](b)|0;h=gk[c[(c[b>>2]|0)+164>>2]&1023](b)|0;i=gk[c[(c[k>>2]|0)+164>>2]&1023](k)|0;a:do if(!j){b=0;while(1){if(b>>>0>=(gk[c[(c[d>>2]|0)+216>>2]&1023](d)|0)>>>0)break a;kk[c[(c[d>>2]|0)+232>>2]&511](d,b)|0;b=b+1|0}}else{f=0;while(1){if(f>>>0>=(gk[c[(c[d>>2]|0)+216>>2]&1023](d)|0)>>>0)break a;b=i+(N(f,j)|0)|0;e=h+(N(kk[c[(c[d>>2]|0)+232>>2]&511](d,f)|0,j)|0)|0;g=0;while(1){a[b>>0]=a[e>>0]|0;g=g+1|0;if((g|0)==(j|0))break;else{b=b+1|0;e=e+1|0}}f=f+1|0}}while(0);if(l)return k|0;Wha(k)|0;return k|0}function aw(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;if(!b){d=a+232|0;e=c[d>>2]|0;if(e|0?(c[d>>2]=0,d=e+8|0,b=c[d>>2]|0,c[d>>2]=b-1,(b|0)==1):0)UU(e,1,1);Bk[c[(c[a>>2]|0)+240>>2]&2047](a);Qv(a);return}d=b+64|0;if((c[d>>2]|0)==-1)c[d>>2]=4;d=a+232|0;e=c[d>>2]|0;if(((e|0)!=(b|0)?(c[d>>2]=b,d=b+8|0,c[d>>2]=(c[d>>2]|0)+1,e|0):0)?(f=e+8|0,d=c[f>>2]|0,c[f>>2]=d-1,(d|0)==1):0)UU(e,1,1);Bk[c[(c[a>>2]|0)+240>>2]&2047](a);Qv(a);kja(a+200|0);bw(a,b);return}function bw(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;switch(c[b+64>>2]|0){case -1:case 4:break;default:return}e=b+40|0;d=c[e>>2]|0;if(d|0?y1a(d,42944,42976,0)|0:0)return;d=lw(a)|0;a=c[e>>2]|0;if((a|0)==(d|0))return;if(!a)a=0;else{jt(a,c[b+36>>2]|0);a=c[e>>2]|0}if((a|0)!=(d|0)){c[e>>2]=d;if(d|0){d=d+8|0;c[d>>2]=(c[d>>2]|0)+1}if(a|0?(f=a+8|0,d=c[f>>2]|0,c[f>>2]=d-1,(d|0)==1):0)UU(a,1,1)}a=c[e>>2]|0;if(!a)a=0;else a=kt(a,b)|0;c[b+36>>2]=a;return}function cw(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0;j=a+252|0;k=a+256|0;f=c[k>>2]|0;h=c[j>>2]|0;i=f-h>>2;do if(i>>>0<=b>>>0){g=b+1|0;if(g>>>0>i>>>0){kw(j,g-i|0);break}if(g>>>0<i>>>0){h=h+(g<<2)|0;if((h|0)!=(f|0))do{f=f+-4|0;g=c[f>>2]|0;if(g|0?(l=g+8|0,i=c[l>>2]|0,c[l>>2]=i-1,(i|0)==1):0)UU(g,1,1);c[f>>2]=0}while((f|0)!=(h|0));c[k>>2]=h}}while(0);if(!d){f=(c[j>>2]|0)+(b<<2)|0;g=c[f>>2]|0;if(g|0?(c[f>>2]=0,k=g+8|0,l=c[k>>2]|0,c[k>>2]=l-1,(l|0)==1):0)UU(g,1,1);Bk[c[(c[a>>2]|0)+240>>2]&2047](a);return}c[d+64>>2]=(e|0)==-1?4:e;f=(c[j>>2]|0)+(b<<2)|0;g=c[f>>2]|0;if(((g|0)!=(d|0)?(c[f>>2]=d,l=d+8|0,c[l>>2]=(c[l>>2]|0)+1,g|0):0)?(e=g+8|0,l=c[e>>2]|0,c[e>>2]=l-1,(l|0)==1):0)UU(g,1,1);Bk[c[(c[a>>2]|0)+240>>2]&2047](a);pja(a+200|0,(c[k>>2]|0)-(c[j>>2]|0)>>2);bw(a,d);return}function dw(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0;j=a+264|0;k=a+268|0;f=c[k>>2]|0;h=c[j>>2]|0;i=f-h>>2;do if(i>>>0<=b>>>0){g=b+1|0;if(g>>>0>i>>>0){kw(j,g-i|0);break}if(g>>>0<i>>>0){h=h+(g<<2)|0;if((h|0)!=(f|0))do{f=f+-4|0;g=c[f>>2]|0;if(g|0?(l=g+8|0,i=c[l>>2]|0,c[l>>2]=i-1,(i|0)==1):0)UU(g,1,1);c[f>>2]=0}while((f|0)!=(h|0));c[k>>2]=h}}while(0);h=(d|0)!=0;if(h&(e|0)!=-1)c[d+64>>2]=e;f=(c[j>>2]|0)+(b<<2)|0;g=c[f>>2]|0;if((g|0)!=(d|0)){c[f>>2]=d;if(d|0){l=d+8|0;c[l>>2]=(c[l>>2]|0)+1}if(g|0?(e=g+8|0,l=c[e>>2]|0,c[e>>2]=l-1,(l|0)==1):0)UU(g,1,1)}Bk[c[(c[a>>2]|0)+240>>2]&2047](a);if(!h)return;qja(a+200|0,(c[k>>2]|0)-(c[j>>2]|0)>>2);bw(a,d);return}function ew(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0;m=l;l=l+16|0;j=m;k=hw(c[d>>2]|0)|0;c[k+64>>2]=4;i=c[d>>2]|0;a[k+68>>0]=a[i+68>>0]|0;a[k+69>>0]=a[i+69>>0]|0;Jk[c[(c[k>>2]|0)+224>>2]&1023](k,e);e=c[d>>2]|0;c[j>>2]=e;if(e|0){i=e+8|0;c[i>>2]=(c[i>>2]|0)+1}h=j+4|0;c[h>>2]=k;i=(k|0)==0;if(!i){g=k+8|0;c[g>>2]=(c[g>>2]|0)+1}f=b+4|0;g=c[f>>2]|0;if(g>>>0<(c[b+8>>2]|0)>>>0){e=c[j>>2]|0;c[g>>2]=e;if(e|0){b=e+8|0;c[b>>2]=(c[b>>2]|0)+1}e=c[h>>2]|0;c[g+4>>2]=e;if(e|0){g=e+8|0;c[g>>2]=(c[g>>2]|0)+1}c[f>>2]=(c[f>>2]|0)+8}else iw(b,j);e=c[h>>2]|0;if(e|0?(f=e+8|0,g=c[f>>2]|0,c[f>>2]=g-1,(g|0)==1):0)UU(e,1,1);c[h>>2]=0;e=c[j>>2]|0;if(e|0?(h=e+8|0,j=c[h>>2]|0,c[h>>2]=j-1,(j|0)==1):0)UU(e,1,1);e=c[d>>2]|0;if((e|0)==(k|0)){l=m;return}c[d>>2]=k;if(!i){k=k+8|0;c[k>>2]=(c[k>>2]|0)+1}if(!e){l=m;return}d=e+8|0;k=c[d>>2]|0;c[d>>2]=k-1;if((k|0)!=1){l=m;return}UU(e,1,1);l=m;return}function fw(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;m=a+4|0;i=c[m>>2]|0;d=c[a>>2]|0;h=(i-d|0)/12|0;e=h+1|0;k=d;if(e>>>0>357913941)g1a(a);l=a+8|0;j=((c[l>>2]|0)-d|0)/12|0;f=j<<1;f=j>>>0<178956970?(f>>>0<e>>>0?e:f):357913941;do if(f)if(f>>>0>357913941){m=db(8)|0;p0a(m,183738);c[m>>2]=110936;hb(m|0,65952,1066)}else{g=j0a(f*12|0)|0;break}else g=0;while(0);e=g+(h*12|0)|0;j=g+(f*12|0)|0;c[e>>2]=c[b>>2];c[g+(h*12|0)+4>>2]=c[b+4>>2];c[g+(h*12|0)+8>>2]=c[b+8>>2];f=e+12|0;if((i|0)!=(k|0)){d=i;do{i=e;e=e+-12|0;h=d;d=d+-12|0;c[e>>2]=c[d>>2];c[i+-8>>2]=c[h+-8>>2];c[i+-4>>2]=c[h+-4>>2]}while((d|0)!=(k|0));d=c[a>>2]|0}c[a>>2]=e;c[m>>2]=f;c[l>>2]=j;if(!d)return;l0a(d);return}function gw(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0;f=c[a>>2]|0;if(!f)return;g=a+4|0;b=c[g>>2]|0;if((b|0)==(f|0))b=f;else{do{d=b+-4|0;b=b+-8|0;e=c[d>>2]|0;if(e|0?(i=e+8|0,h=c[i>>2]|0,c[i>>2]=h-1,(h|0)==1):0)UU(e,1,1);c[d>>2]=0;d=c[b>>2]|0;if(d|0?(h=d+8|0,i=c[h>>2]|0,c[h>>2]=i-1,(i|0)==1):0)UU(d,1,1);c[b>>2]=0}while((b|0)!=(f|0));b=c[a>>2]|0}c[g>>2]=f;l0a(b);return}function hw(b){b=b|0;var d=0,e=0,f=0,g=0,h=0;g=l;l=l+16|0;e=g;if(!b){if((a[223632]|0)==0?g2a(223632)|0:0)kr(225352);if((c[56338]|0)<=1){f=0;l=g;return f|0}f=mr(lr(2)|0,164961,78)|0;BSa(e,f+(c[(c[f>>2]|0)+-12>>2]|0)|0);d=cUa(e,230580)|0;d=kk[c[(c[d>>2]|0)+28>>2]&511](d,10)|0;dUa(e);VSa(f,d)|0;HSa(f)|0;f=0;l=g;return f|0}b=gk[c[(c[b>>2]|0)+12>>2]&1023](b)|0;d=(b|0)==0;if(!d?(f=b+8|0,c[f>>2]=(c[f>>2]|0)+1,f=y1a(b,42800,43064,0)|0,f|0):0){Wha(b)|0;l=g;return f|0}if((a[223632]|0)==0?g2a(223632)|0:0)kr(225352);if((c[56338]|0)>1){f=mr(lr(2)|0,164882,78)|0;BSa(e,f+(c[(c[f>>2]|0)+-12>>2]|0)|0);h=cUa(e,230580)|0;h=kk[c[(c[h>>2]|0)+28>>2]&511](h,10)|0;dUa(e);VSa(f,h)|0;HSa(f)|0}if(d){h=0;l=g;return h|0}f=b+8|0;h=c[f>>2]|0;c[f>>2]=h-1;if((h|0)!=1){h=0;l=g;return h|0}UU(b,1,1);h=0;l=g;return h|0}function iw(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0;o=l;l=l+32|0;m=o;n=a+4|0;d=c[a>>2]|0;f=(c[n>>2]|0)-d>>3;e=f+1|0;if(e>>>0>536870911)g1a(a);k=a+8|0;h=(c[k>>2]|0)-d|0;d=h>>2;d=h>>3>>>0<268435455?(d>>>0<e>>>0?e:d):536870911;h=m+12|0;c[h>>2]=0;c[m+16>>2]=a+8;do if(d)if(d>>>0>536870911){o=db(8)|0;p0a(o,183738);c[o>>2]=110936;hb(o|0,65952,1066)}else{e=j0a(d<<3)|0;break}else e=0;while(0);c[m>>2]=e;g=e+(f<<3)|0;i=m+8|0;c[i>>2]=g;j=m+4|0;c[j>>2]=g;c[h>>2]=e+(d<<3);d=c[b>>2]|0;c[g>>2]=d;if(d|0){g=d+8|0;c[g>>2]=(c[g>>2]|0)+1}d=c[b+4>>2]|0;c[e+(f<<3)+4>>2]=d;if(d|0){g=d+8|0;c[g>>2]=(c[g>>2]|0)+1}d=(c[i>>2]|0)+8|0;c[i>>2]=d;g=c[a>>2]|0;e=c[n>>2]|0;if((e|0)==(g|0)){b=j;p=c[j>>2]|0;j=g;f=d;g=e;c[a>>2]=p;c[b>>2]=j;c[n>>2]=f;c[i>>2]=g;n=c[k>>2]|0;a=c[h>>2]|0;c[k>>2]=a;c[h>>2]=n;c[m>>2]=j;jw(m);l=o;return}f=c[j>>2]|0;do{d=e;e=e+-8|0;b=c[e>>2]|0;c[f+-8>>2]=b;if(b|0){p=b+8|0;c[p>>2]=(c[p>>2]|0)+1}d=c[d+-4>>2]|0;c[f+-4>>2]=d;if(d|0){p=d+8|0;c[p>>2]=(c[p>>2]|0)+1}f=(c[j>>2]|0)+-8|0;c[j>>2]=f}while((e|0)!=(g|0));b=j;j=i;p=c[a>>2]|0;g=c[i>>2]|0;i=c[n>>2]|0;c[a>>2]=f;c[b>>2]=p;c[n>>2]=g;c[j>>2]=i;n=c[k>>2]|0;a=c[h>>2]|0;c[k>>2]=a;c[h>>2]=n;c[m>>2]=p;jw(m);l=o;return}function jw(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0;f=c[a+4>>2]|0;g=a+8|0;b=c[g>>2]|0;if((b|0)!=(f|0))do{e=b+-8|0;c[g>>2]=e;b=b+-4|0;d=c[b>>2]|0;if(d|0?(i=d+8|0,h=c[i>>2]|0,c[i>>2]=h-1,(h|0)==1):0)UU(d,1,1);c[b>>2]=0;b=c[e>>2]|0;if(b|0?(h=b+8|0,i=c[h>>2]|0,c[h>>2]=i-1,(i|0)==1):0)UU(b,1,1);c[e>>2]=0;b=c[g>>2]|0}while((b|0)!=(f|0));b=c[a>>2]|0;if(!b)return;l0a(b);return}function kw(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;m=a+8|0;f=c[m>>2]|0;n=a+4|0;e=c[n>>2]|0;d=e;if(f-e>>2>>>0>=b>>>0){z2a(e|0,0,b<<2|0)|0;c[n>>2]=d+(b<<2);return}j=c[a>>2]|0;h=e-j>>2;e=h+b|0;g=j;if(e>>>0>1073741823)g1a(a);l=f-j|0;f=l>>1;f=l>>2>>>0<536870911?(f>>>0<e>>>0?e:f):1073741823;do if(f)if(f>>>0>1073741823){n=db(8)|0;p0a(n,183738);c[n>>2]=110936;hb(n|0,65952,1066)}else{i=j0a(f<<2)|0;break}else i=0;while(0);e=i+(h<<2)|0;l=i+(f<<2)|0;z2a(e|0,0,b<<2|0)|0;k=e+(b<<2)|0;if((d|0)==(g|0))f=j;else{b=h+-1-((d+-4+(0-j)|0)>>>2)|0;while(1){d=d+-4|0;f=c[d>>2]|0;c[e+-4>>2]=f;if(f|0){j=f+8|0;c[j>>2]=(c[j>>2]|0)+1}if((d|0)==(g|0))break;else e=e+-4|0}f=c[a>>2]|0;e=i+(b<<2)|0;g=f;d=c[n>>2]|0}c[a>>2]=e;c[n>>2]=k;c[m>>2]=l;if((d|0)!=(g|0))do{d=d+-4|0;e=c[d>>2]|0;if(e|0?(m=e+8|0,n=c[m>>2]|0,c[m>>2]=n-1,(n|0)==1):0)UU(e,1,1);c[d>>2]=0}while((d|0)!=(g|0));if(!f)return;l0a(f);return}function lw(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;k=l;l=l+16|0;i=k;c[i>>2]=0;j=i+4|0;c[j>>2]=0;c[i+8>>2]=0;mw(b,i)|0;g=c[i>>2]|0;d=c[j>>2]|0;a:do if((g|0)==(d|0))h=6;else{b=g;while(1){e=c[(c[b>>2]|0)+40>>2]|0;if(e|0?(f=y1a(e,42944,42976,0)|0,f|0):0){e=g;break a}b=b+4|0;if((b|0)==(d|0)){h=6;break}}}while(0);if((h|0)==6){f=j0a(72)|0;Tha(f);e=f+12|0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[f+24>>2]=2;c[f+28>>2]=0;c[f>>2]=68868;e=f+32|0;c[f+48>>2]=0;c[f+52>>2]=0;c[f+56>>2]=0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;a[e+12>>0]=0;ut(f+60|0);c[f>>2]=69236;c[e>>2]=34962;c[f+36>>2]=35044;e=c[i>>2]|0}if(!e){l=k;return f|0}b=c[j>>2]|0;if((b|0)==(e|0))b=e;else{do{b=b+-4|0;d=c[b>>2]|0;if(d|0?(g=d+8|0,h=c[g>>2]|0,c[g>>2]=h-1,(h|0)==1):0)UU(d,1,1);c[b>>2]=0}while((b|0)!=(e|0));b=c[i>>2]|0}c[j>>2]=e;l0a(b);l=k;return f|0}function mw(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0;o=l;l=l+16|0;k=o;m=b+4|0;n=(c[m>>2]|0)-(c[b>>2]|0)|0;d=c[a+232>>2]|0;if(d|0){c[k>>2]=d;d=d+8|0;c[d>>2]=(c[d>>2]|0)+1;d=c[m>>2]|0;if(d>>>0<(c[b+8>>2]|0)>>>0){e=c[k>>2]|0;c[d>>2]=e;if(e){d=e+8|0;c[d>>2]=(c[d>>2]|0)+1;d=c[m>>2]|0}c[m>>2]=d+4}else nw(b,k);d=c[k>>2]|0;if(d|0?(i=d+8|0,j=c[i>>2]|0,c[i>>2]=j-1,(j|0)==1):0)UU(d,1,1)}d=c[a+236>>2]|0;if(d|0){c[k>>2]=d;d=d+8|0;c[d>>2]=(c[d>>2]|0)+1;d=c[m>>2]|0;if(d>>>0<(c[b+8>>2]|0)>>>0){e=c[k>>2]|0;c[d>>2]=e;if(e){d=e+8|0;c[d>>2]=(c[d>>2]|0)+1;d=c[m>>2]|0}c[m>>2]=d+4}else nw(b,k);d=c[k>>2]|0;if(d|0?(i=d+8|0,j=c[i>>2]|0,c[i>>2]=j-1,(j|0)==1):0)UU(d,1,1)}d=c[a+240>>2]|0;if(d|0){c[k>>2]=d;d=d+8|0;c[d>>2]=(c[d>>2]|0)+1;d=c[m>>2]|0;if(d>>>0<(c[b+8>>2]|0)>>>0){e=c[k>>2]|0;c[d>>2]=e;if(e){d=e+8|0;c[d>>2]=(c[d>>2]|0)+1;d=c[m>>2]|0}c[m>>2]=d+4}else nw(b,k);d=c[k>>2]|0;if(d|0?(i=d+8|0,j=c[i>>2]|0,c[i>>2]=j-1,(j|0)==1):0)UU(d,1,1)}d=c[a+244>>2]|0;if(d|0){c[k>>2]=d;d=d+8|0;c[d>>2]=(c[d>>2]|0)+1;d=c[m>>2]|0;if(d>>>0<(c[b+8>>2]|0)>>>0){e=c[k>>2]|0;c[d>>2]=e;if(e){d=e+8|0;c[d>>2]=(c[d>>2]|0)+1;d=c[m>>2]|0}c[m>>2]=d+4}else nw(b,k);d=c[k>>2]|0;if(d|0?(i=d+8|0,j=c[i>>2]|0,c[i>>2]=j-1,(j|0)==1):0)UU(d,1,1)}d=c[a+248>>2]|0;if(d|0){c[k>>2]=d;d=d+8|0;c[d>>2]=(c[d>>2]|0)+1;d=c[m>>2]|0;if(d>>>0<(c[b+8>>2]|0)>>>0){e=c[k>>2]|0;c[d>>2]=e;if(e){d=e+8|0;c[d>>2]=(c[d>>2]|0)+1;d=c[m>>2]|0}c[m>>2]=d+4}else nw(b,k);d=c[k>>2]|0;if(d|0?(i=d+8|0,j=c[i>>2]|0,c[i>>2]=j-1,(j|0)==1):0)UU(d,1,1)}h=a+252|0;i=a+256|0;e=c[i>>2]|0;d=c[h>>2]|0;if((e|0)!=(d|0)){j=b+8|0;g=0;do{f=c[d+(g<<2)>>2]|0;if(f){c[k>>2]=f;d=f+8|0;c[d>>2]=(c[d>>2]|0)+1;d=c[m>>2]|0;if(d>>>0<(c[j>>2]|0)>>>0){e=c[k>>2]|0;c[d>>2]=e;if(e){d=e+8|0;c[d>>2]=(c[d>>2]|0)+1;d=c[m>>2]|0}c[m>>2]=d+4}else nw(b,k);d=c[k>>2]|0;if(d|0?(e=d+8|0,f=c[e>>2]|0,c[e>>2]=f-1,(f|0)==1):0)UU(d,1,1);d=c[h>>2]|0;e=c[i>>2]|0}g=g+1|0}while(g>>>0<e-d>>2>>>0)}j=a+264|0;h=a+268|0;e=c[h>>2]|0;d=c[j>>2]|0;if((e|0)==(d|0)){k=c[m>>2]|0;m=c[b>>2]|0;m=k-m|0;n=(m|0)!=(n|0);l=o;return n|0}i=b+8|0;g=0;do{f=c[d+(g<<2)>>2]|0;if(f){c[k>>2]=f;d=f+8|0;c[d>>2]=(c[d>>2]|0)+1;d=c[m>>2]|0;if(d>>>0<(c[i>>2]|0)>>>0){e=c[k>>2]|0;c[d>>2]=e;if(e){d=e+8|0;c[d>>2]=(c[d>>2]|0)+1;d=c[m>>2]|0}c[m>>2]=d+4}else nw(b,k);d=c[k>>2]|0;if(d|0?(f=d+8|0,a=c[f>>2]|0,c[f>>2]=a-1,(a|0)==1):0)UU(d,1,1);d=c[j>>2]|0;e=c[h>>2]|0}g=g+1|0}while(g>>>0<e-d>>2>>>0);k=c[m>>2]|0;m=c[b>>2]|0;m=k-m|0;n=(m|0)!=(n|0);l=o;return n|0}function nw(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;m=a+4|0;d=c[m>>2]|0;e=c[a>>2]|0;i=d-e>>2;f=i+1|0;g=e;if(f>>>0>1073741823)g1a(a);l=a+8|0;j=(c[l>>2]|0)-e|0;k=j>>1;f=j>>2>>>0<536870911?(k>>>0<f>>>0?f:k):1073741823;do if(f)if(f>>>0>1073741823){m=db(8)|0;p0a(m,183738);c[m>>2]=110936;hb(m|0,65952,1066)}else{j=j0a(f<<2)|0;break}else j=0;while(0);e=j+(i<<2)|0;k=j+(f<<2)|0;f=c[b>>2]|0;c[e>>2]=f;if(f){g=f+8|0;c[g>>2]=(c[g>>2]|0)+1;g=c[a>>2]|0;d=c[m>>2]|0}h=e+4|0;f=g;if((d|0)==(g|0))b=f;else{b=i+-1-((d+-4-f|0)>>>2)|0;while(1){d=d+-4|0;f=c[d>>2]|0;c[e+-4>>2]=f;if(f|0){i=f+8|0;c[i>>2]=(c[i>>2]|0)+1}if((d|0)==(g|0))break;else e=e+-4|0}e=j+(b<<2)|0;b=c[a>>2]|0;d=c[m>>2]|0}c[a>>2]=e;c[m>>2]=h;c[l>>2]=k;f=b;if((d|0)!=(f|0))do{d=d+-4|0;e=c[d>>2]|0;if(e|0?(l=e+8|0,m=c[l>>2]|0,c[l>>2]=m-1,(m|0)==1):0)UU(e,1,1);c[d>>2]=0}while((d|0)!=(f|0));if(!b)return;l0a(b);return}function ow(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;i=a+4|0;j=c[a>>2]|0;k=(c[i>>2]|0)-j|0;g=k>>2;d=g+1|0;if(d>>>0>1073741823)g1a(a);l=a+8|0;f=(c[l>>2]|0)-j|0;h=f>>1;h=f>>2>>>0<536870911?(h>>>0<d>>>0?d:h):1073741823;do if(h)if(h>>>0>1073741823){l=db(8)|0;p0a(l,183738);c[l>>2]=110936;hb(l|0,65952,1066)}else{f=j0a(h<<2)|0;e=f;break}else{e=0;f=0}while(0);d=e+(g<<2)|0;c[d>>2]=c[b>>2];if((k|0)>0)x2a(f|0,j|0,k|0)|0;c[a>>2]=e;c[i>>2]=d+4;c[l>>2]=e+(h<<2);if(!j)return;l0a(j);return}function pw(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;m=c[a>>2]|0;f=m;k=(c[b>>2]|0)-f|0;o=m+(k>>2<<2)|0;p=a+4|0;h=c[p>>2]|0;n=a+8|0;l=c[n>>2]|0;b=h;e=l;if(h>>>0<l>>>0){if((o|0)==(h|0)){c[o>>2]=c[d>>2];c[p>>2]=(c[p>>2]|0)+4;p=o;return p|0}f=b-(o+4)|0;g=f>>2;b=o+(g<<2)|0;if(b>>>0<h>>>0){e=h;do{c[e>>2]=c[b>>2];b=b+4|0;e=(c[p>>2]|0)+4|0;c[p>>2]=e}while(b>>>0<h>>>0)}if(f|0)y2a(h+(0-g<<2)|0,o|0,f|0)|0;if(o>>>0<=d>>>0)d=(c[p>>2]|0)>>>0>d>>>0?d+4|0:d;c[o>>2]=c[d>>2];p=o;return p|0}b=(b-f>>2)+1|0;if(b>>>0>1073741823)g1a(a);l=e-f|0;e=l>>1;e=l>>2>>>0<536870911?(e>>>0<b>>>0?b:e):1073741823;l=o;j=k>>2;b=(e|0)==0;do if(!b)if(e>>>0>1073741823){p=db(8)|0;p0a(p,183738);c[p>>2]=110936;hb(p|0,65952,1066)}else{i=j0a(e<<2)|0;h=i;break}else{h=0;i=0}while(0);g=h+(j<<2)|0;f=h+(e<<2)|0;do if((j|0)==(e|0)){if((k|0)>0){b=g+(((e+1|0)/-2|0)<<2)|0;h=k;e=j;j=b;i=f;f=m;break}e=b?1:e<<2>>1;b=e>>>2;do if(e)if(e>>>0>1073741823){p=db(8)|0;p0a(p,183738);c[p>>2]=110936;hb(p|0,65952,1066)}else{f=j0a(e<<2)|0;break}else f=0;while(0);g=f+(b<<2)|0;b=f+(e<<2)|0;if(!h){h=k;e=j;j=g;i=b;b=g;f=m}else{l0a(i);f=c[a>>2]|0;e=l-f|0;h=e;e=e>>2;j=g;i=b;b=g}}else{h=k;e=j;j=g;i=f;b=g;f=m}while(0);c[b>>2]=c[d>>2];d=j+4|0;e=j+(0-e<<2)|0;if((h|0)>0)x2a(e|0,f|0,h|0)|0;b=(c[p>>2]|0)-l|0;if((b|0)>0){x2a(d|0,o|0,b|0)|0;d=d+(b>>>2<<2)|0}b=c[a>>2]|0;c[a>>2]=e;c[p>>2]=d;c[n>>2]=i;if(!b){p=j;return p|0}l0a(b);p=j;return p|0}function qw(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,i=0,j=0,k=0,m=0,n=0,o=0;o=l;l=l+16|0;m=o+4|0;n=o;Pia(b,d,e);f=b+144|0;c[f>>2]=70260;g=b+172|0;c[g>>2]=0;c[b+148>>2]=c[d+148>>2];c[b+152>>2]=c[d+152>>2];c[b+156>>2]=c[d+156>>2];c[b+160>>2]=c[d+160>>2];c[b+164>>2]=c[d+164>>2];c[b+168>>2]=c[d+168>>2];e=c[d+172>>2]|0;if(e|0){c[g>>2]=e;k=e+8|0;c[k>>2]=(c[k>>2]|0)+1}h[b+176>>3]=+h[d+176>>3];a[b+184>>0]=a[d+184>>0]|0;a[b+185>>0]=a[d+185>>0]|0;c[b+188>>2]=c[d+188>>2];c[b+192>>2]=c[d+192>>2];c[b+196>>2]=c[d+196>>2];c[b+200>>2]=c[d+200>>2];c[b+204>>2]=c[d+204>>2];c[b>>2]=69924;c[f>>2]=70232;xla(b+208|0,0);c[b+220>>2]=c[d+220>>2];c[b+224>>2]=0;a[b+228>>0]=a[d+228>>0]|0;e=c[d+232>>2]|0;c[b+232>>2]=e;if(e|0){k=e+8|0;c[k>>2]=(c[k>>2]|0)+1}c[b+236>>2]=c[d+236>>2];e=b+240|0;k=d+240|0;c[e>>2]=c[k>>2];c[e+4>>2]=c[k+4>>2];c[e+8>>2]=c[k+8>>2];c[e+12>>2]=c[k+12>>2];e=b+256|0;k=d+256|0;c[e>>2]=c[k>>2];c[e+4>>2]=c[k+4>>2];c[e+8>>2]=c[k+8>>2];c[e+12>>2]=c[k+12>>2];h[b+272>>3]=+h[d+272>>3];c[b+280>>2]=c[d+280>>2];e=c[d+284>>2]|0;c[b+284>>2]=e;if(e|0){k=e+8|0;c[k>>2]=(c[k>>2]|0)+1}e=c[d+288>>2]|0;c[b+288>>2]=e;if(e|0){k=e+8|0;c[k>>2]=(c[k>>2]|0)+1}c[b+292>>2]=c[d+292>>2];c[b+296>>2]=c[d+296>>2];h[b+304>>3]=+h[d+304>>3];h[b+312>>3]=+h[d+312>>3];h[b+320>>3]=+h[d+320>>3];h[b+328>>3]=+h[d+328>>3];h[b+336>>3]=+h[d+336>>3];h[b+344>>3]=+h[d+344>>3];h[b+352>>3]=+h[d+352>>3];h[b+360>>3]=+h[d+360>>3];h[b+368>>3]=+h[d+368>>3];h[b+376>>3]=+h[d+376>>3];h[b+384>>3]=+h[d+384>>3];h[b+392>>3]=+h[d+392>>3];h[b+400>>3]=+h[d+400>>3];h[b+408>>3]=+h[d+408>>3];h[b+416>>3]=+h[d+416>>3];h[b+424>>3]=+h[d+424>>3];h[b+432>>3]=+h[d+432>>3];h[b+440>>3]=+h[d+440>>3];h[b+448>>3]=+h[d+448>>3];h[b+456>>3]=+h[d+456>>3];h[b+464>>3]=+h[d+464>>3];h[b+472>>3]=+h[d+472>>3];h[b+480>>3]=+h[d+480>>3];h[b+488>>3]=+h[d+488>>3];h[b+496>>3]=+h[d+496>>3];h[b+504>>3]=+h[d+504>>3];h[b+512>>3]=+h[d+512>>3];h[b+520>>3]=+h[d+520>>3];h[b+528>>3]=+h[d+528>>3];h[b+536>>3]=+h[d+536>>3];h[b+544>>3]=+h[d+544>>3];h[b+552>>3]=+h[d+552>>3];c[b+560>>2]=c[d+560>>2];c[b+564>>2]=c[d+564>>2];c[b+568>>2]=c[d+568>>2];c[b+572>>2]=c[d+572>>2];c[b+576>>2]=c[d+576>>2];c[b+580>>2]=c[d+580>>2];j=b+584|0;c[b+588>>2]=0;c[b+592>>2]=0;e=b+588|0;c[j>>2]=e;f=c[d+584>>2]|0;k=d+588|0;if((f|0)!=(k|0)){i=e;while(1){e=f+16|0;c[n>>2]=i;c[m>>2]=c[n>>2];rw(j,m,e,e)|0;e=c[f+4>>2]|0;if(!e){g=f+8|0;e=c[g>>2]|0;if((c[e>>2]|0)!=(f|0)){f=g;do{g=c[f>>2]|0;f=g+8|0;e=c[f>>2]|0}while((c[e>>2]|0)!=(g|0))}}else while(1){f=c[e>>2]|0;if(!f)break;else e=f}if((e|0)==(k|0))break;else f=e}}c[b+596>>2]=c[d+596>>2];c[b+600>>2]=c[d+600>>2];c[b+604>>2]=c[d+604>>2];sw(b+608|0,d+608|0);e=b+620|0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[e+12>>2]=0;e=c[d+636>>2]|0;c[b+636>>2]=e;if(e|0){n=e+(c[(c[e>>2]|0)+-12>>2]|0)+8|0;c[n>>2]=(c[n>>2]|0)+1}e=c[d+640>>2]|0;c[b+640>>2]=e;if(e|0){n=e+(c[(c[e>>2]|0)+-12>>2]|0)+8|0;c[n>>2]=(c[n>>2]|0)+1}e=c[d+644>>2]|0;c[b+644>>2]=e;if(e|0){n=e+(c[(c[e>>2]|0)+-12>>2]|0)+8|0;c[n>>2]=(c[n>>2]|0)+1}e=c[d+648>>2]|0;c[b+648>>2]=e;if(!e){l=o;return}b=e+(c[(c[e>>2]|0)+-12>>2]|0)+8|0;c[b>>2]=(c[b>>2]|0)+1;l=o;return}function rw(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;h=l;l=l+16|0;f=h+12|0;g=h+8|0;i=h;c[i>>2]=c[b>>2];c[f>>2]=c[i>>2];f=ww(a,f,g,h+4|0,d)|0;b=c[f>>2]|0;if(b|0){i=b;l=h;return i|0}d=j0a(52)|0;c[d+16>>2]=c[e>>2];c[d+20>>2]=c[e+4>>2];b=c[e+8>>2]|0;c[d+24>>2]=b;if(b|0){i=b+8|0;c[i>>2]=(c[i>>2]|0)+1}b=c[e+12>>2]|0;c[d+28>>2]=b;if(b|0){i=b+8|0;c[i>>2]=(c[i>>2]|0)+1}b=d+32|0;i=e+16|0;c[b>>2]=c[i>>2];c[b+4>>2]=c[i+4>>2];c[b+8>>2]=c[i+8>>2];c[b+12>>2]=c[i+12>>2];c[b+16>>2]=c[i+16>>2];b=c[g>>2]|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=b;c[f>>2]=d;b=c[c[a>>2]>>2]|0;if(!b)b=d;else{c[a>>2]=b;b=c[f>>2]|0}fp(c[a+4>>2]|0,b);i=a+8|0;c[i>>2]=(c[i>>2]|0)+1;i=d;l=h;return i|0}function sw(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0;p=l;l=l+16|0;i=p+12|0;j=p+8|0;k=p+4|0;m=p;n=a+4|0;c[n>>2]=0;o=a+8|0;c[o>>2]=0;d=a+4|0;c[a>>2]=d;e=c[b>>2]|0;h=b+4|0;if((e|0)==(h|0)){l=p;return}g=d;while(1){d=e+16|0;c[m>>2]=g;c[i>>2]=c[m>>2];f=uw(a,i,j,k,d)|0;if(!(c[f>>2]|0)){b=j0a(20)|0;c[b+16>>2]=c[d>>2];d=c[j>>2]|0;c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=d;c[f>>2]=b;d=c[c[a>>2]>>2]|0;if(d){c[a>>2]=d;b=c[f>>2]|0}fp(c[n>>2]|0,b);c[o>>2]=(c[o>>2]|0)+1}b=c[e+4>>2]|0;if(!b){d=e+8|0;b=c[d>>2]|0;if((c[b>>2]|0)!=(e|0))do{f=c[d>>2]|0;d=f+8|0;b=c[d>>2]|0}while((c[b>>2]|0)!=(f|0))}else while(1){d=c[b>>2]|0;if(!d)break;else b=d}if((b|0)==(h|0))break;else e=b}l=p;return}function tw(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;if(!b)return;tw(a,c[b>>2]|0);tw(a,c[b+4>>2]|0);a=b+28|0;d=c[a>>2]|0;if(d|0?(f=d+8|0,e=c[f>>2]|0,c[f>>2]=e-1,(e|0)==1):0)UU(d,1,1);c[a>>2]=0;a=c[b+24>>2]|0;if(a|0?(e=a+8|0,f=c[e>>2]|0,c[e>>2]=f-1,(f|0)==1):0)UU(a,1,1);l0a(b);return}function uw(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0;i=a+4|0;h=c[b>>2]|0;b=h;if((h|0)!=(i|0)?(j=c[f>>2]|0,g=c[h+16>>2]|0,j>>>0>=g>>>0):0){if(g>>>0>=j>>>0){c[d>>2]=b;c[e>>2]=b;d=e;return d|0}g=c[h+4>>2]|0;if(!g){e=h+8|0;g=c[e>>2]|0;if((c[g>>2]|0)!=(h|0))do{f=c[e>>2]|0;e=f+8|0;g=c[e>>2]|0}while((c[g>>2]|0)!=(f|0))}else while(1){e=c[g>>2]|0;if(!e)break;else g=e}if((g|0)!=(i|0)?j>>>0>=(c[g+16>>2]|0)>>>0:0){b=c[i>>2]|0;if(!b){c[d>>2]=i;d=i;return d|0}e=a+4|0;while(1){g=c[b+16>>2]|0;if(j>>>0<g>>>0){g=c[b>>2]|0;if(!g){f=42;break}else{e=b;b=g}}else{if(g>>>0>=j>>>0){f=46;break}e=b+4|0;g=c[e>>2]|0;if(!g){f=45;break}else b=g}}if((f|0)==42){c[d>>2]=b;d=b;return d|0}else if((f|0)==45){c[d>>2]=b;d=e;return d|0}else if((f|0)==46){c[d>>2]=b;d=e;return d|0}}if(!(c[h+4>>2]|0)){c[d>>2]=b;d=h+4|0;return d|0}else{c[d>>2]=g;d=g;return d|0}}e=c[h>>2]|0;if((c[a>>2]|0)!=(h|0)){if(!e){b=h;do{j=b;b=c[b+8>>2]|0}while((c[b>>2]|0)==(j|0))}else{b=e;while(1){g=c[b+4>>2]|0;if(!g)break;else b=g}}f=c[f>>2]|0;if((c[b+16>>2]|0)>>>0>=f>>>0){b=c[i>>2]|0;if(!b){c[d>>2]=i;d=i;return d|0}e=a+4|0;while(1){g=c[b+16>>2]|0;if(f>>>0<g>>>0){g=c[b>>2]|0;if(!g){f=18;break}else{e=b;b=g}}else{if(g>>>0>=f>>>0){f=22;break}e=b+4|0;g=c[e>>2]|0;if(!g){f=21;break}else b=g}}if((f|0)==18){c[d>>2]=b;d=b;return d|0}else if((f|0)==21){c[d>>2]=b;d=e;return d|0}else if((f|0)==22){c[d>>2]=b;d=e;return d|0}}}if(!e){c[d>>2]=h;d=h;return d|0}else{c[d>>2]=b;d=b+4|0;return d|0}return 0}function vw(a,b){a=a|0;b=b|0;if(!b)return;else{vw(a,c[b>>2]|0);vw(a,c[b+4>>2]|0);l0a(b);return}}function ww(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0;i=a+4|0;h=c[b>>2]|0;b=h;if((h|0)!=(i|0)?(j=c[f>>2]|0,g=c[h+16>>2]|0,(j|0)>=(g|0)):0){if((g|0)>=(j|0)){c[d>>2]=b;c[e>>2]=b;d=e;return d|0}g=c[h+4>>2]|0;if(!g){e=h+8|0;g=c[e>>2]|0;if((c[g>>2]|0)!=(h|0))do{f=c[e>>2]|0;e=f+8|0;g=c[e>>2]|0}while((c[g>>2]|0)!=(f|0))}else while(1){e=c[g>>2]|0;if(!e)break;else g=e}if((g|0)!=(i|0)?(j|0)>=(c[g+16>>2]|0):0){b=c[i>>2]|0;if(!b){c[d>>2]=i;d=i;return d|0}e=a+4|0;while(1){g=c[b+16>>2]|0;if((j|0)<(g|0)){g=c[b>>2]|0;if(!g){f=42;break}else{e=b;b=g}}else{if((g|0)>=(j|0)){f=46;break}e=b+4|0;g=c[e>>2]|0;if(!g){f=45;break}else b=g}}if((f|0)==42){c[d>>2]=b;d=b;return d|0}else if((f|0)==45){c[d>>2]=b;d=e;return d|0}else if((f|0)==46){c[d>>2]=b;d=e;return d|0}}if(!(c[h+4>>2]|0)){c[d>>2]=b;d=h+4|0;return d|0}else{c[d>>2]=g;d=g;return d|0}}e=c[h>>2]|0;if((c[a>>2]|0)!=(h|0)){if(!e){b=h;do{j=b;b=c[b+8>>2]|0}while((c[b>>2]|0)==(j|0))}else{b=e;while(1){g=c[b+4>>2]|0;if(!g)break;else b=g}}f=c[f>>2]|0;if((c[b+16>>2]|0)>=(f|0)){b=c[i>>2]|0;if(!b){c[d>>2]=i;d=i;return d|0}e=a+4|0;while(1){g=c[b+16>>2]|0;if((f|0)<(g|0)){g=c[b>>2]|0;if(!g){f=18;break}else{e=b;b=g}}else{if((g|0)>=(f|0)){f=22;break}e=b+4|0;g=c[e>>2]|0;if(!g){f=21;break}else b=g}}if((f|0)==18){c[d>>2]=b;d=b;return d|0}else if((f|0)==21){c[d>>2]=b;d=e;return d|0}else if((f|0)==22){c[d>>2]=b;d=e;return d|0}}}if(!e){c[d>>2]=h;d=h;return d|0}else{c[d>>2]=b;d=b+4|0;return d|0}return 0}function xw(a){a=a|0;var b=0,d=0,e=0;c[a>>2]=70260;a=a+28|0;b=c[a>>2]|0;if(!b){c[a>>2]=0;return}e=b+8|0;d=c[e>>2]|0;c[e>>2]=d-1;if((d|0)!=1){c[a>>2]=0;return}UU(b,1,1);c[a>>2]=0;return}function yw(a){a=a|0;var b=0,d=0,e=0;c[a>>2]=70260;b=c[a+28>>2]|0;if(!b){l0a(a);return}e=b+8|0;d=c[e>>2]|0;c[e>>2]=d-1;if((d|0)!=1){l0a(a);return}UU(b,1,1);l0a(a);return}function zw(b){b=b|0;var d=0;Oia(b);d=b+144|0;c[d>>2]=70260;c[b+172>>2]=0;c[b+148>>2]=2147483647;c[b+152>>2]=0;c[b+160>>2]=57;g[b+164>>2]=1.0;g[b+168>>2]=2.0;c[b+156>>2]=1;h[b+176>>3]=.0005;a[b+184>>0]=1;a[b+185>>0]=0;g[b+188>>2]=4.0;c[b+192>>2]=10;c[b+196>>2]=-1;c[b+200>>2]=-1;c[b+204>>2]=-1;Aw(d);c[b>>2]=69924;c[d>>2]=70232;xla(b+208|0,0);c[b+220>>2]=0;c[b+224>>2]=0;a[b+228>>0]=1;c[b+232>>2]=0;c[b+236>>2]=16640;g[b+240>>2]=0.0;g[b+244>>2]=0.0;g[b+248>>2]=0.0;g[b+252>>2]=1.0;g[b+256>>2]=0.0;g[b+260>>2]=0.0;g[b+264>>2]=0.0;g[b+268>>2]=1.0;h[b+272>>3]=1.0;d=b+280|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[d+12>>2]=0;c[b+296>>2]=1;Qra(b+304|0);Qra(b+432|0);c[b+560>>2]=2;c[b+564>>2]=0;c[b+568>>2]=0;c[b+572>>2]=0;c[b+576>>2]=3;c[b+580>>2]=3;c[b+588>>2]=0;c[b+592>>2]=0;c[b+584>>2]=b+588;c[b+596>>2]=-1;c[b+600>>2]=-1;c[b+604>>2]=0;c[b+612>>2]=0;c[b+616>>2]=0;c[b+608>>2]=b+612;d=b+620|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[d+12>>2]=0;c[d+16>>2]=0;c[d+20>>2]=0;c[d+24>>2]=0;c[d+28>>2]=0;d=j0a(160)|0;DY(d);Bw(b,d);return}function Aw(b){b=b|0;var d=0,e=0,f=0,g=0,i=0,j=0,k=0,m=0,n=0;n=l;l=l+16|0;k=n+12|0;m=n;if((a[223632]|0)==0?g2a(223632)|0:0)kr(225352);if((c[56338]|0)>3){i=mr(lr(4)|0,132830,42)|0;BSa(k,i+(c[(c[i>>2]|0)+-12>>2]|0)|0);g=cUa(k,230580)|0;g=kk[c[(c[g>>2]|0)+28>>2]&511](g,10)|0;dUa(k);VSa(i,g)|0;HSa(i)|0};c[m>>2]=0;c[m+4>>2]=0;c[m+8>>2]=0;e=Jh(132873)|0;if(e|0){d=0;while(1){if(!(a[e+d>>0]|0))break;d=d+1|0;if(d>>>0>=4096){d=4096;break}}A0a(m,e,d)|0;g=m+11|0;e=a[g>>0]|0;i=m+4|0;d=c[i>>2]|0;f=e&255;do if(((e<<24>>24<0?d:f)|0)==23)if(!(S0a(m,0,-1,132899,23)|0)){c[b+12>>2]=0;break}else{e=a[g>>0]|0;f=e&255;d=c[i>>2]|0;j=14;break}else j=14;while(0);a:do if((j|0)==14){do if(((e<<24>>24<0?d:f)|0)==39)if(!(S0a(m,0,-1,132923,39)|0)){c[b+12>>2]=1;break a}else{e=a[g>>0]|0;f=e&255;d=c[i>>2]|0;break}while(0);if(((e<<24>>24<0?d:f)|0)==33?(S0a(m,0,-1,132963,33)|0)==0:0)c[b+12>>2]=2}while(0);if((a[223632]|0)==0?g2a(223632)|0:0)kr(225352);if((c[56338]|0)>3){j=mr(lr(4)|0,132997,29)|0;j=PSa(j,c[b+12>>2]|0)|0;BSa(k,j+(c[(c[j>>2]|0)+-12>>2]|0)|0);i=cUa(k,230580)|0;i=kk[c[(c[i>>2]|0)+28>>2]&511](i,10)|0;dUa(k);VSa(j,i)|0;HSa(j)|0}}d=b+32|0;if(Cw(133027,d)|0){if((a[223632]|0)==0?g2a(223632)|0:0)kr(225352);if((c[56338]|0)>3){b=mr(lr(4)|0,133046,22)|0;b=TSa(b,+h[d>>3])|0;BSa(k,b+(c[(c[b>>2]|0)+-12>>2]|0)|0);j=cUa(k,230580)|0;j=kk[c[(c[j>>2]|0)+28>>2]&511](j,10)|0;dUa(k);VSa(b,j)|0;HSa(b)|0}}if((a[m+11>>0]|0)>=0){l=n;return}l0a(c[m>>2]|0);l=n;return}function Bw(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;g=a+120|0;d=c[g>>2]|0;if((d|0)==(b|0))return;do if(!d){e=0;d=0;f=0}else{pia(d,a);f=c[g>>2]|0;if((c[f+144>>2]|0)==0?(c[f+148>>2]|0)==0:0)d=0;else d=-1;if((c[f+152>>2]|0)==0?(c[f+156>>2]|0)==0:0){e=0;break}e=-1}while(0);if((f|0)!=(b|0)){c[g>>2]=b;if(b|0){b=b+8|0;c[b>>2]=(c[b>>2]|0)+1}if(f|0?(h=f+8|0,b=c[h>>2]|0,c[h>>2]=b-1,(b|0)==1):0)UU(f,1,1)}f=c[g>>2]|0;do if(f){oia(f,a);f=c[g>>2]|0;if(!((c[f+144>>2]|0)==0?(c[f+148>>2]|0)==0:0))d=d+1|0;if((c[f+152>>2]|0)==0?(c[f+156>>2]|0)==0:0)break;e=e+1|0}while(0);if(d|0)Rv(a,(c[a+88>>2]|0)+d|0);if(!e)return;Sv(a,(c[a+96>>2]|0)+e|0);return}function Cw(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;j=l;l=l+160|0;i=j+12|0;h=j;f=Jh(b|0)|0;if(!f){i=0;l=j;return i|0}b=0;while(1){if(!(a[f+b>>0]|0)){g=6;break}b=b+1|0;if(b>>>0>=4096){g=5;break}}if((g|0)==5){c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;b=4096;g=7}else if((g|0)==6){c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;if(b>>>0<11){a[h+11>>0]=b;if(!b){b=0;e=h}else{e=h;g=9}}else g=7}if((g|0)==7){k=b+16&-16;e=j0a(k)|0;c[h>>2]=e;c[h+8>>2]=k|-2147483648;c[h+4>>2]=b;g=9}if((g|0)==9)x2a(e|0,f|0,b|0)|0;a[e+b>>0]=0;e=i+60|0;f=i+8|0;c[i>>2]=43004;c[e>>2]=43024;c[i+4>>2]=0;zSa(i+60|0,f);c[i+132>>2]=0;c[i+136>>2]=-1;c[i>>2]=69456;c[e>>2]=69476;ESa(f);c[f>>2]=68044;g=i+40|0;c[g>>2]=0;c[g+4>>2]=0;c[g+8>>2]=0;c[g+12>>2]=0;c[i+56>>2]=8;Ar(f,h);if((a[h+11>>0]|0)<0)l0a(c[h>>2]|0);NSa(i,d)|0;b=(c[i+(c[(c[i>>2]|0)+-12>>2]|0)+16>>2]&5|0)==0;c[i>>2]=69456;c[e>>2]=69476;c[f>>2]=68044;if((a[g+11>>0]|0)<0)l0a(c[g>>2]|0);oRa(f);aSa(i,69488);iRa(e);k=b;l=j;return k|0}function Dw(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;g=a+620|0;d=c[g>>2]|0;if((d|0)==(b|0))return;if(!d)d=0;else{gk[c[(c[d>>2]|0)+16>>2]&1023](d)|0;f=c[g>>2]|0;d=f+20|0;e=c[d>>2]|0;if(e|0?(c[d>>2]=0,h=e+8|0,d=c[h>>2]|0,c[h>>2]=d-1,(d|0)==1):0)UU(e,1,1);c[f+24>>2]=0;d=c[g>>2]|0}if((d|0)!=(b|0)){c[g>>2]=b;if(b|0){h=b+8|0;c[h>>2]=(c[h>>2]|0)+1}if(d|0?(b=d+8|0,h=c[b>>2]|0,c[b>>2]=h-1,(h|0)==1):0)UU(d,1,1)}d=c[g>>2]|0;if(!d)return;kla(d+12|0,a+608|0)|0;b=c[g>>2]|0;d=Vha(a)|0;e=b+20|0;f=c[e>>2]|0;if((f|0)!=(d|0)){c[e>>2]=d;if(d|0){h=d+8|0;c[h>>2]=(c[h>>2]|0)+1}if(f|0?(g=f+8|0,h=c[g>>2]|0,c[g>>2]=h-1,(h|0)==1):0)UU(f,1,1);d=c[e>>2]|0}if(!d)d=0;else d=(c[d+24>>2]|0)==0?0:a;c[b+24>>2]=d;return}function Ew(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=l;l=l+16|0;r=s;m=a+36|0;d=c[m>>2]|0;o=a+32|0;a:do if((d|0)==(o|0))p=d;else{e=d;do{if((c[d+8>>2]|0)==(b|0)){p=e;break a}d=c[e+4>>2]|0;e=d}while((o|0)!=(e|0));l=s;return}while(0);if((p|0)==(o|0)){l=s;return}j=r+4|0;c[j>>2]=0;n=r+8|0;c[n>>2]=0;q=r+4|0;c[r>>2]=q;k=b+124|0;i=0;while(1){if(i>>>0>=(gk[c[(c[b>>2]|0)+248>>2]&1023](b)|0)>>>0)break;g=c[(c[k>>2]|0)+(i<<2)>>2]|0;h=g;d=c[q>>2]|0;do if(d){f=j;while(1){e=c[d+16>>2]|0;if(g>>>0<e>>>0){e=c[d>>2]|0;if(!e){e=14;break}}else{if(e>>>0>=g>>>0){e=18;break}f=d+4|0;e=c[f>>2]|0;if(!e){e=17;break}else d=f}f=d;d=e}if((e|0)==14){g=d;f=d;break}else if((e|0)==17){g=d;break}else if((e|0)==18){g=d;break}}else{g=q;f=q}while(0);if(!(c[f>>2]|0)){d=j0a(20)|0;c[d+16>>2]=h;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=g;c[f>>2]=d;e=c[c[r>>2]>>2]|0;if(e){c[r>>2]=e;d=c[f>>2]|0}fp(c[j>>2]|0,d);c[n>>2]=(c[n>>2]|0)+1}i=i+1|0}d=c[m>>2]|0;e=d;if((o|0)!=(e|0))do{b:do if((p|0)!=(e|0)){i=c[d+8>>2]|0;j=i+124|0;h=0;while(1){if(h>>>0>=(gk[c[(c[i>>2]|0)+248>>2]&1023](i)|0)>>>0)break b;f=c[(c[j>>2]|0)+(h<<2)>>2]|0;k=c[q>>2]|0;if(k|0){g=q;d=k;do{m=(c[d+16>>2]|0)>>>0<f>>>0;g=m?g:d;d=c[(m?d+4|0:d)>>2]|0}while((d|0)!=0);if((g|0)!=(q|0)?f>>>0>=(c[g+16>>2]|0)>>>0:0){d=c[g+4>>2]|0;if(!d){f=g+8|0;d=c[f>>2]|0;if((c[d>>2]|0)!=(g|0))do{m=c[f>>2]|0;f=m+8|0;d=c[f>>2]|0}while((c[d>>2]|0)!=(m|0))}else while(1){f=c[d>>2]|0;if(!f)break;else d=f}if((c[r>>2]|0)==(g|0))c[r>>2]=d;c[n>>2]=(c[n>>2]|0)+-1;Pw(k,g);l0a(g)}}h=h+1|0}}while(0);d=c[e+4>>2]|0;e=d}while((o|0)!=(e|0));d=c[r>>2]|0;if((d|0)!=(q|0)){g=a+48|0;f=d;while(1){d=c[f+16>>2]|0;Jk[c[(c[d>>2]|0)+160>>2]&1023](d,c[g>>2]|0);d=c[f+4>>2]|0;if(!d){e=f+8|0;d=c[e>>2]|0;if((c[d>>2]|0)!=(f|0))do{o=c[e>>2]|0;e=o+8|0;d=c[e>>2]|0}while((c[d>>2]|0)!=(o|0))}else while(1){e=c[d>>2]|0;if(!e)break;else d=e}if((d|0)==(q|0))break;else f=d}}d=c[b+632>>2]|0;if(d|0)Jk[c[(c[d>>2]|0)+160>>2]&1023](d,c[a+48>>2]|0);b=p+4|0;o=c[p>>2]|0;c[o+4>>2]=c[b>>2];c[c[b>>2]>>2]=o;a=a+40|0;c[a>>2]=(c[a>>2]|0)+-1;l0a(p);Qw(r,c[q>>2]|0);l=s;return}function Fw(a){a=a|0;var b=0,d=0,e=0;b=c[a>>2]|0;if(!b){c[a>>2]=0;return}b=b+(c[(c[b>>2]|0)+-12>>2]|0)|0;e=b+8|0;d=c[e>>2]|0;c[e>>2]=d-1;if((d|0)!=1){c[a>>2]=0;return}UU(b,1,1);c[a>>2]=0;return}function Gw(a){a=a|0;var b=0,d=0,e=0;b=c[a>>2]|0;if(b|0?(e=b+8|0,d=c[e>>2]|0,c[e>>2]=d-1,(d|0)==1):0)UU(b,1,1);c[a>>2]=0;return}function Hw(a){a=a|0;var b=0,d=0,e=0;b=c[a>>2]|0;if(!b){c[a>>2]=0;return}b=b+(c[(c[b>>2]|0)+-12>>2]|0)|0;e=b+8|0;d=c[e>>2]|0;c[e>>2]=d-1;if((d|0)!=1){c[a>>2]=0;return}UU(b,1,1);c[a>>2]=0;return}function Iw(a){a=a|0;var b=0,d=0,e=0;b=c[a>>2]|0;if(b|0?(e=b+8|0,d=c[e>>2]|0,c[e>>2]=d-1,(d|0)==1):0)UU(b,1,1);c[a>>2]=0;return}function Jw(a){a=a|0;var b=0,d=0,e=0;b=c[a>>2]|0;if(b|0?(e=b+8|0,d=c[e>>2]|0,c[e>>2]=d-1,(d|0)==1):0)UU(b,1,1);c[a>>2]=0;return}function Kw(a){a=a|0;vw(a,c[a+4>>2]|0);return}function Lw(a){a=a|0;tw(a,c[a+4>>2]|0);return}function Mw(a){a=a|0;var b=0,d=0,e=0;b=c[a>>2]|0;if(b|0?(e=b+8|0,d=c[e>>2]|0,c[e>>2]=d-1,(d|0)==1):0)UU(b,1,1);c[a>>2]=0;return}function Nw(a){a=a|0;var b=0,d=0,e=0;b=c[a>>2]|0;if(b|0?(e=b+8|0,d=c[e>>2]|0,c[e>>2]=d-1,(d|0)==1):0)UU(b,1,1);c[a>>2]=0;return}function Ow(a){a=a|0;var b=0,d=0,e=0;b=c[a>>2]|0;if(b|0?(e=b+8|0,d=c[e>>2]|0,c[e>>2]=d-1,(d|0)==1):0)UU(b,1,1);c[a>>2]=0;return}function Pw(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;f=c[d>>2]|0;if(f){e=c[d+4>>2]|0;if(!e){e=d;g=d;m=8}else{while(1){f=c[e>>2]|0;if(!f)break;else e=f}g=e;m=6}}else{g=d;e=d;m=6}if((m|0)==6){f=c[g+4>>2]|0;if(!f){k=g+8|0;l=0;j=g;f=0}else m=8}if((m|0)==8){k=g+8|0;c[f+8>>2]=c[k>>2];l=1;j=g}g=c[k>>2]|0;h=c[g>>2]|0;if((h|0)==(j|0)){c[g>>2]=f;if((j|0)==(b|0)){b=f;h=0}else h=c[g+4>>2]|0}else c[g+4>>2]=f;g=j+12|0;i=(a[g>>0]|0)!=0;if((j|0)!=(d|0)){n=d+8|0;m=c[n>>2]|0;c[k>>2]=m;c[((c[c[n>>2]>>2]|0)==(d|0)?m:m+4|0)>>2]=j;m=c[d>>2]|0;c[e>>2]=m;c[m+8>>2]=j;e=c[d+4>>2]|0;c[j+4>>2]=e;if(e|0)c[e+8>>2]=j;a[g>>0]=a[d+12>>0]|0;b=(b|0)==(d|0)?j:b}if(!(i&(b|0)!=0))return;if(l){a[f+12>>0]=1;return}k=h;while(1){i=k+8|0;j=c[i>>2]|0;e=k+12|0;f=(a[e>>0]|0)!=0;if((c[j>>2]|0)==(k|0)){if(f)i=k;else{a[e>>0]=1;a[j+12>>0]=0;g=k+4|0;e=c[g>>2]|0;c[j>>2]=e;if(e|0)c[e+8>>2]=j;h=j+8|0;c[i>>2]=c[h>>2];f=c[h>>2]|0;if((c[f>>2]|0)==(j|0)){c[f>>2]=k;e=c[j>>2]|0}else c[f+4>>2]=k;c[g>>2]=j;c[h>>2]=k;i=e;b=(b|0)==(j|0)?k:b}e=c[i>>2]|0;g=(e|0)==0;if(!g?(a[e+12>>0]|0)==0:0){m=58;break}f=c[i+4>>2]|0;if(f|0?(a[f+12>>0]|0)==0:0){m=56;break}a[i+12>>0]=0;e=c[i+8>>2]|0;if((e|0)==(b|0)|(a[e+12>>0]|0)==0){m=55;break}}else{if(f)j=k;else{a[e>>0]=1;a[j+12>>0]=0;n=j+4|0;e=c[n>>2]|0;f=c[e>>2]|0;c[n>>2]=f;if(f|0)c[f+8>>2]=j;n=j+8|0;c[e+8>>2]=c[n>>2];m=c[n>>2]|0;c[((c[m>>2]|0)==(j|0)?m:m+4|0)>>2]=e;c[e>>2]=j;c[n>>2]=e;n=c[k>>2]|0;j=c[n+4>>2]|0;b=(b|0)==(n|0)?k:b}i=c[j>>2]|0;if(i|0?(a[i+12>>0]|0)==0:0){m=33;break}e=c[j+4>>2]|0;if(e|0?(a[e+12>>0]|0)==0:0){m=34;break}a[j+12>>0]=0;e=c[j+8>>2]|0;if((e|0)==(b|0)){m=32;break}if(!(a[e+12>>0]|0)){b=e;m=32;break}}k=c[e+8>>2]|0;k=c[((c[k>>2]|0)==(e|0)?k+4|0:k)>>2]|0}do if((m|0)==32){a[b+12>>0]=1;return}else if((m|0)==33){b=c[j+4>>2]|0;if(!b){h=j;m=37}else{h=j;m=35}}else if((m|0)==34){h=j;b=e;m=35}else if((m|0)==55){a[e+12>>0]=1;return}else if((m|0)==56){if(g)h=i+4|0;else{b=e+12|0;if(!(a[b>>0]|0)){m=59;break}f=i+4|0;h=f;f=c[f>>2]|0}e=f+12|0;a[e>>0]=1;b=i+12|0;a[b>>0]=0;g=c[f>>2]|0;c[h>>2]=g;if(g|0)c[g+8>>2]=i;n=i+8|0;m=f+8|0;c[m>>2]=c[n>>2];d=c[n>>2]|0;c[((c[d>>2]|0)==(i|0)?d:d+4|0)>>2]=f;c[f>>2]=i;c[n>>2]=f;f=m;m=64}else if((m|0)==58){b=e+12|0;m=59}while(0);if((m|0)==35){b=b+12|0;if(!(a[b>>0]|0)){g=b;e=j+8|0;b=j+12|0}else m=37}else if((m|0)==59){f=i+8|0;e=i+12|0;m=64}if((m|0)==37){b=i+12|0;a[b>>0]=1;g=j+12|0;a[g>>0]=0;f=i+4|0;e=c[f>>2]|0;c[h>>2]=e;if(e|0)c[e+8>>2]=j;n=j+8|0;e=i+8|0;c[e>>2]=c[n>>2];m=c[n>>2]|0;c[((c[m>>2]|0)==(j|0)?m:m+4|0)>>2]=i;c[f>>2]=j;c[n>>2]=i}else if((m|0)==64){g=c[f>>2]|0;f=g+12|0;a[e>>0]=a[f>>0]|0;a[f>>0]=1;a[b>>0]=1;b=c[g>>2]|0;e=b+4|0;f=c[e>>2]|0;c[g>>2]=f;if(f|0)c[f+8>>2]=g;n=g+8|0;c[b+8>>2]=c[n>>2];m=c[n>>2]|0;c[((c[m>>2]|0)==(g|0)?m:m+4|0)>>2]=b;c[e>>2]=g;c[n>>2]=b;return}f=c[e>>2]|0;n=f+12|0;a[b>>0]=a[n>>0]|0;a[n>>0]=1;a[g>>0]=1;n=f+4|0;b=c[n>>2]|0;e=c[b>>2]|0;c[n>>2]=e;if(e|0)c[e+8>>2]=f;n=f+8|0;c[b+8>>2]=c[n>>2];m=c[n>>2]|0;c[((c[m>>2]|0)==(f|0)?m:m+4|0)>>2]=b;c[b>>2]=f;c[n>>2]=b;return}function Qw(a,b){a=a|0;b=b|0;if(!b)return;else{Qw(a,c[b>>2]|0);Qw(a,c[b+4>>2]|0);l0a(b);return}}function Rw(a,b){a=a|0;b=b|0;var d=0,e=0;d=c[a+120>>2]|0;if(d|0)Jk[c[(c[d>>2]|0)+156>>2]&1023](d,b);d=c[a+84>>2]|0;if(d|0){d=d+(c[(c[d>>2]|0)+-12>>2]|0)|0;Jk[c[(c[d>>2]|0)+156>>2]&1023](d,b)}d=c[a+92>>2]|0;if(d|0){d=d+(c[(c[d>>2]|0)+-12>>2]|0)|0;Jk[c[(c[d>>2]|0)+156>>2]&1023](d,b)}d=c[a+100>>2]|0;if(d|0){d=d+(c[(c[d>>2]|0)+-12>>2]|0)|0;Jk[c[(c[d>>2]|0)+156>>2]&1023](d,b)}d=c[a+124>>2]|0;a=a+128|0;if((d|0)==(c[a>>2]|0))return;do{e=c[d>>2]|0;Jk[c[(c[e>>2]|0)+156>>2]&1023](e,b);d=d+4|0}while((d|0)!=(c[a>>2]|0));return}function Sw(a,b){a=a|0;b=b|0;var d=0,e=0;d=c[a+120>>2]|0;if(d|0)Jk[c[(c[d>>2]|0)+160>>2]&1023](d,b);d=c[a+84>>2]|0;if(d|0){d=d+(c[(c[d>>2]|0)+-12>>2]|0)|0;Jk[c[(c[d>>2]|0)+160>>2]&1023](d,b)}d=c[a+92>>2]|0;if(d|0){d=d+(c[(c[d>>2]|0)+-12>>2]|0)|0;Jk[c[(c[d>>2]|0)+160>>2]&1023](d,b)}d=c[a+100>>2]|0;if(d|0){d=d+(c[(c[d>>2]|0)+-12>>2]|0)|0;Jk[c[(c[d>>2]|0)+160>>2]&1023](d,b)}d=c[a+124>>2]|0;a=a+128|0;if((d|0)==(c[a>>2]|0))return;do{e=c[d>>2]|0;Jk[c[(c[e>>2]|0)+160>>2]&1023](e,b);d=d+4|0}while((d|0)!=(c[a>>2]|0));return}function Tw(a){a=a|0;Sr(a);return}function Uw(a){a=a|0;Sr(a);l0a(a);return}function Vw(a){a=a|0;a=j0a(60)|0;hia(a);c[a>>2]=70288;c[a+56>>2]=16843009;return a|0}function Ww(b,d){b=b|0;d=d|0;var e=0;e=j0a(60)|0;Nr(e,b,d);c[e>>2]=70288;a[e+56>>0]=a[b+56>>0]|0;a[e+57>>0]=a[b+57>>0]|0;a[e+58>>0]=a[b+58>>0]|0;a[e+59>>0]=a[b+59>>0]|0;return e|0}function Xw(a,b){a=a|0;b=b|0;if(!b){b=0;return b|0}b=(y1a(b,42800,43248,0)|0)!=0;return b|0}function Yw(a){a=a|0;return 186332}function Zw(a){a=a|0;return 133083}function _w(a){a=a|0;return 25}function $w(b,d){b=b|0;d=d|0;var e=0,f=0;if((b|0)==(d|0)){d=0;return d|0}if(!b)e2a();e=c[(c[(c[b>>2]|0)+-4>>2]|0)+4>>2]|0;f=c[(c[(c[d>>2]|0)+-4>>2]|0)+4>>2]|0;if(e>>>0<f>>>0){d=-1;return d|0}if((e|0)!=(f|0)){d=1;return d|0}e=a[b+56>>0]|0;f=a[d+56>>0]|0;if((e&255)<(f&255)){d=-1;return d|0}if((f&255)<(e&255)){d=1;return d|0}e=a[b+57>>0]|0;f=a[d+57>>0]|0;if((e&255)<(f&255)){d=-1;return d|0}if((f&255)<(e&255)){d=1;return d|0}e=a[b+58>>0]|0;f=a[d+58>>0]|0;if((e&255)<(f&255)){d=-1;return d|0}if((f&255)<(e&255)){d=1;return d|0}else{b=a[b+59>>0]|0;d=a[d+59>>0]|0;return ((b&255)<(d&255)?-1:(d&255)<(b&255)&1)|0}return 0}function ax(b,c){b=b|0;c=c|0;Rh(a[b+56>>0]|0,a[b+57>>0]|0,a[b+58>>0]|0,a[b+59>>0]|0);return}function bx(a){a=a|0;var b=0,d=0;c[a>>2]=70504;b=a+396|0;c[b>>2]=70900;d=a+56|0;c[d>>2]=70712;Dz(a+384|0,c[a+388>>2]|0);tz(d);Cy(a,71076);Pr(b);return}function cx(a){a=a|0;var b=0,d=0;c[a>>2]=70504;b=a+396|0;c[b>>2]=70900;d=a+56|0;c[d>>2]=70712;Dz(a+384|0,c[a+388>>2]|0);tz(d);Cy(a,71076);Pr(b);l0a(a);return}function dx(a){a=a|0;a=j0a(432)|0;Dy(a);return a+(c[(c[a>>2]|0)+-12>>2]|0)|0}function ex(a,b){a=a|0;b=b|0;var d=0,e=0;e=j0a(88)|0;d=e+56|0;Or(d,a+(c[(c[a>>2]|0)+-12>>2]|0)|0,b);c[e>>2]=10268;c[d>>2]=10636;c[e+4>>2]=c[a+4>>2];c[e+8>>2]=c[a+8>>2];c[e+12>>2]=0;c[e+16>>2]=c[a+16>>2];c[e+20>>2]=c[a+20>>2];c[e+24>>2]=c[a+24>>2];b=e+28|0;c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;c[b+12>>2]=0;c[b+16>>2]=0;c[b+20>>2]=0;c[b+24>>2]=0;return d|0}function fx(a,b){a=a|0;b=b|0;if(!b){b=0;return b|0}b=(y1a(b,42800,43296,-1)|0)!=0;return b|0}function gx(a){a=a|0;return 186332}function hx(a){a=a|0;return 133110}function ix(a){a=a|0;return a|0}function jx(a){a=a|0;return a|0}function kx(a){a=a|0;return 0}function lx(a){a=a|0;return 0}function mx(a){a=a|0;return 0}function nx(a){a=a|0;return 0}function ox(a){a=a|0;return 0}function px(a){a=a|0;return 0}function qx(a){a=a|0;return 0}function rx(a){a=a|0;return 0}function sx(a){a=a|0;return 0}function tx(a){a=a|0;return 0}function ux(a){a=a|0;var b=0,d=0;vz(a+56|0);d=a+384|0;b=a+388|0;Dz(d,c[b>>2]|0);c[a+392>>2]=0;c[d>>2]=b;c[b>>2]=0;return}function vx(a,b){a=a|0;b=b|0;g[a>>2]=0.0;g[a+4>>2]=0.0;g[a+8>>2]=0.0;return}function wx(a,b){a=a|0;b=b|0;Jk[c[(c[b>>2]|0)+80>>2]&1023](a,b);return}function xx(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0,e=0.0,f=0.0;f=+g[b>>2]-+g[a+240>>2];e=+g[b+4>>2]-+g[a+244>>2];d=+g[b+8>>2]-+g[a+248>>2];d=+B(+(f*f+e*e+d*d));if(!c){f=d;return +f}f=d*+g[a+76>>2];return +f}function yx(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,f=0;f=c[a+152>>2]|0;e=-(+h[f+144>>3]+(+h[f+48>>3]*+g[b>>2]+ +h[f+80>>3]*+g[b+4>>2]+ +h[f+112>>3]*+g[b+8>>2]));if(!d)return +e;e=+g[a+76>>2]*e;return +e}function zx(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0,e=0.0,f=0.0;f=+g[b>>2]-+g[a+268>>2];e=+g[b+4>>2]-+g[a+272>>2];d=+g[b+8>>2]-+g[a+276>>2];d=+B(+(f*f+e*e+d*d));if(!c){f=d;return +f}f=d*+g[a+76>>2];return +f}function Ax(a,b){a=a|0;b=b|0;Jk[c[(c[a>>2]|0)+108>>2]&1023](a,b);return}function Bx(a,b){a=a|0;b=b|0;Jk[c[(c[a>>2]|0)+100>>2]&1023](a,b);return}function Cx(b,d){b=b|0;d=d|0;var e=0,f=0,h=0,i=0,j=0,k=0;do if((c[d+108>>2]|0)==0?(a[d+104>>0]|0)!=0:0){k=!(+g[(Fz(d)|0)+12>>2]>=0.0);h=b+336|0;e=c[h>>2]|0;if(!k)if(Gz(e,Fz(d)|0)|0)return;else{f=h;e=c[h>>2]|0;break}else{f=h;i=5}}else i=3;while(0);if((i|0)==3){e=b+336|0;f=e;e=c[e>>2]|0;i=5}if((i|0)==5)c[e+36>>2]=c[e+16>>2];Hz(e);a:do if(c[d+112>>2]|0)switch(c[b+16>>2]|0){case 0:break a;case 1:{Jk[c[(c[d>>2]|0)+216>>2]&1023](d,b);break a}default:{Jk[c[(c[d>>2]|0)+220>>2]&1023](d,b);break a}}while(0);j=c[f>>2]|0;e=j+32|0;f=c[e>>2]|0;if(f|0){h=j+24|0;b=c[h>>2]|0;if((c[j+20>>2]|0)!=(b|0)){k=b+-4|0;c[j+16>>2]=c[k>>2];c[h>>2]=k}c[e>>2]=f+-1}e=c[j+64>>2]|0;i=c[j+68>>2]|0;if((e|0)!=(i|0))do{f=e+20|0;h=c[f>>2]|0;if(h|0){b=e+12|0;d=c[b>>2]|0;if((c[e+8>>2]|0)!=(d|0)){k=d+-4|0;c[e+4>>2]=c[k>>2];c[b>>2]=k}c[f>>2]=h+-1}e=e+52|0}while((e|0)!=(i|0));e=c[j+76>>2]|0;k=c[j+80>>2]|0;if((e|0)==(k|0))return;do{f=e+36|0;h=c[f>>2]|0;if(h|0){b=e+28|0;d=c[b>>2]|0;if((c[e+24>>2]|0)!=(d|0)){j=d+-4|0;c[e+20>>2]=c[j>>2];c[b>>2]=j}c[f>>2]=h+-1}f=c[e+68>>2]|0;j=c[e+72>>2]|0;if((f|0)!=(j|0))do{h=f+16|0;b=c[h>>2]|0;if(b|0){d=f+8|0;i=c[d>>2]|0;if((c[f+4>>2]|0)!=(i|0)){i=i+-4|0;c[f>>2]=c[i>>2];c[d>>2]=i}c[h>>2]=b+-1}f=f+48|0}while((f|0)!=(j|0));e=e+80|0}while((e|0)!=(k|0));return}function Dx(a,b){a=a|0;b=b|0;Jk[c[(c[a>>2]|0)+120>>2]&1023](a,b);return}function Ex(a,b){a=a|0;b=b|0;Jk[c[(c[a>>2]|0)+112>>2]&1023](a,b);return}function Fx(a,b){a=a|0;b=b|0;Jk[c[(c[a>>2]|0)+108>>2]&1023](a,b);return}function Gx(a,b){a=a|0;b=b|0;Jk[c[(c[a>>2]|0)+120>>2]&1023](a,b);return}function Hx(b,d){b=b|0;d=d|0;var e=0,f=0,h=0,i=0,j=0,k=0,l=0,m=0;j=b+56|0;do if((c[d+108>>2]|0)==0?(a[d+104>>0]|0)!=0:0){m=!(+g[(Fz(d)|0)+12>>2]>=0.0);h=b+336|0;e=c[h>>2]|0;if(!m)if(Gz(e,Fz(d)|0)|0)return;else{f=h;e=c[h>>2]|0;break}else{f=h;i=5}}else i=3;while(0);if((i|0)==3){e=b+336|0;f=e;e=c[e>>2]|0;i=5}if((i|0)==5)c[e+36>>2]=c[e+16>>2];Hz(e);l=Oz(j,d+136|0)|0;m=(l|0)==0;if(!m){k=l+8|0;c[k>>2]=(c[k>>2]|0)+1}oA(j,l);a:do if(c[d+112>>2]|0)switch(c[b+16>>2]|0){case 0:break a;case 1:{Jk[c[(c[d>>2]|0)+216>>2]&1023](d,b);break a}default:{Jk[c[(c[d>>2]|0)+220>>2]&1023](d,b);break a}}while(0);pA(j);j=c[f>>2]|0;e=j+32|0;f=c[e>>2]|0;if(f|0){h=j+24|0;i=c[h>>2]|0;if((c[j+20>>2]|0)!=(i|0)){k=i+-4|0;c[j+16>>2]=c[k>>2];c[h>>2]=k}c[e>>2]=f+-1}e=c[j+64>>2]|0;d=c[j+68>>2]|0;if((e|0)!=(d|0))do{f=e+20|0;h=c[f>>2]|0;if(h|0){i=e+12|0;b=c[i>>2]|0;if((c[e+8>>2]|0)!=(b|0)){k=b+-4|0;c[e+4>>2]=c[k>>2];c[i>>2]=k}c[f>>2]=h+-1}e=e+52|0}while((e|0)!=(d|0));e=c[j+76>>2]|0;k=c[j+80>>2]|0;if((e|0)!=(k|0))do{f=e+36|0;h=c[f>>2]|0;if(h|0){i=e+28|0;b=c[i>>2]|0;if((c[e+24>>2]|0)!=(b|0)){j=b+-4|0;c[e+20>>2]=c[j>>2];c[i>>2]=j}c[f>>2]=h+-1}f=c[e+68>>2]|0;j=c[e+72>>2]|0;if((f|0)!=(j|0))do{b=f+16|0;d=c[b>>2]|0;if(d|0){h=f+8|0;i=c[h>>2]|0;if((c[f+4>>2]|0)!=(i|0)){i=i+-4|0;c[f>>2]=c[i>>2];c[h>>2]=i}c[b>>2]=d+-1}f=f+48|0}while((f|0)!=(j|0));e=e+80|0}while((e|0)!=(k|0));if(m)return;k=l+8|0;m=c[k>>2]|0;c[k>>2]=m-1;if((m|0)!=1)return;UU(l,1,1);return}function Ix(a,b){a=a|0;b=b|0;Jk[c[(c[a>>2]|0)+120>>2]&1023](a,b);return}function Jx(a,b){a=a|0;b=b|0;Jk[c[(c[a>>2]|0)+120>>2]&1023](a,b);return}function Kx(a,b){a=a|0;b=b|0;Jk[c[(c[a>>2]|0)+120>>2]&1023](a,b);return}function Lx(a,b){a=a|0;b=b|0;Jk[c[(c[a>>2]|0)+120>>2]&1023](a,b);return}function Mx(b,d){b=b|0;d=d|0;var e=0,f=0,h=0,i=0,j=0,k=0,l=0,m=0;j=b+56|0;do if((c[d+108>>2]|0)==0?(a[d+104>>0]|0)!=0:0){m=!(+g[(Fz(d)|0)+12>>2]>=0.0);h=b+336|0;e=c[h>>2]|0;if(!m)if(Gz(e,Fz(d)|0)|0)return;else{f=h;e=c[h>>2]|0;break}else{f=h;i=5}}else i=3;while(0);if((i|0)==3){e=b+336|0;f=e;e=c[e>>2]|0;i=5}if((i|0)==5)c[e+36>>2]=c[e+16>>2];Hz(e);l=Oz(j,(c[((c[b+168>>2]|0)==0?b+352|0:b+152|0)>>2]|0)+32|0)|0;m=(l|0)==0;if(!m){k=l+8|0;c[k>>2]=(c[k>>2]|0)+1}lk[c[(c[d>>2]|0)+288>>2]&127](d,l+32|0,b)|0;Pz(j,l,c[d+136>>2]|0);a:do if(c[d+112>>2]|0)switch(c[b+16>>2]|0){case 0:break a;case 1:{Jk[c[(c[d>>2]|0)+216>>2]&1023](d,b);break a}default:{Jk[c[(c[d>>2]|0)+220>>2]&1023](d,b);break a}}while(0);Qz(j);j=c[f>>2]|0;e=j+32|0;f=c[e>>2]|0;if(f|0){h=j+24|0;i=c[h>>2]|0;if((c[j+20>>2]|0)!=(i|0)){k=i+-4|0;c[j+16>>2]=c[k>>2];c[h>>2]=k}c[e>>2]=f+-1}e=c[j+64>>2]|0;d=c[j+68>>2]|0;if((e|0)!=(d|0))do{f=e+20|0;h=c[f>>2]|0;if(h|0){i=e+12|0;b=c[i>>2]|0;if((c[e+8>>2]|0)!=(b|0)){k=b+-4|0;c[e+4>>2]=c[k>>2];c[i>>2]=k}c[f>>2]=h+-1}e=e+52|0}while((e|0)!=(d|0));e=c[j+76>>2]|0;k=c[j+80>>2]|0;if((e|0)!=(k|0))do{f=e+36|0;h=c[f>>2]|0;if(h|0){i=e+28|0;b=c[i>>2]|0;if((c[e+24>>2]|0)!=(b|0)){j=b+-4|0;c[e+20>>2]=c[j>>2];c[i>>2]=j}c[f>>2]=h+-1}f=c[e+68>>2]|0;j=c[e+72>>2]|0;if((f|0)!=(j|0))do{h=f+16|0;i=c[h>>2]|0;if(i|0){b=f+8|0;d=c[b>>2]|0;if((c[f+4>>2]|0)!=(d|0)){d=d+-4|0;c[f>>2]=c[d>>2];c[b>>2]=d}c[h>>2]=i+-1}f=f+48|0}while((f|0)!=(j|0));e=e+80|0}while((e|0)!=(k|0));if(m)return;k=l+8|0;m=c[k>>2]|0;c[k>>2]=m-1;if((m|0)!=1)return;UU(l,1,1);return}function Nx(a,b){a=a|0;b=b|0;Jk[c[(c[a>>2]|0)+148>>2]&1023](a,b);return}function Ox(a,b){a=a|0;b=b|0;Jk[c[(c[a>>2]|0)+148>>2]&1023](a,b);return}function Px(a,b){a=a|0;b=b|0;Jk[c[(c[a>>2]|0)+148>>2]&1023](a,b);return}function Qx(a,b){a=a|0;b=b|0;Jk[c[(c[a>>2]|0)+148>>2]&1023](a,b);return}function Rx(a,b){a=a|0;b=b|0;Jk[c[(c[a>>2]|0)+148>>2]&1023](a,b);return}function Sx(a,b){a=a|0;b=b|0;Jk[c[(c[a>>2]|0)+108>>2]&1023](a,b);return}function Tx(a,b){a=a|0;b=b|0;Jk[c[(c[a>>2]|0)+120>>2]&1023](a,b);return}function Ux(b,d){b=b|0;d=d|0;var e=0,f=0,h=0,i=0,j=0,k=0;do if((c[d+108>>2]|0)==0?(a[d+104>>0]|0)!=0:0){k=!(+g[(Fz(d)|0)+12>>2]>=0.0);h=b+336|0;e=c[h>>2]|0;if(!k)if(Gz(e,Fz(d)|0)|0)return;else{f=h;e=c[h>>2]|0;break}else{f=h;i=5}}else i=3;while(0);if((i|0)==3){e=b+336|0;f=e;e=c[e>>2]|0;i=5}if((i|0)==5)c[e+36>>2]=c[e+16>>2];Hz(e);a:do if(c[d+112>>2]|0)switch(c[b+16>>2]|0){case 0:break a;case 1:{Jk[c[(c[d>>2]|0)+216>>2]&1023](d,b);break a}default:{Jk[c[(c[d>>2]|0)+220>>2]&1023](d,b);break a}}while(0);j=c[f>>2]|0;e=j+32|0;f=c[e>>2]|0;if(f|0){h=j+24|0;b=c[h>>2]|0;if((c[j+20>>2]|0)!=(b|0)){k=b+-4|0;c[j+16>>2]=c[k>>2];c[h>>2]=k}c[e>>2]=f+-1}e=c[j+64>>2]|0;i=c[j+68>>2]|0;if((e|0)!=(i|0))do{f=e+20|0;h=c[f>>2]|0;if(h|0){b=e+12|0;d=c[b>>2]|0;if((c[e+8>>2]|0)!=(d|0)){k=d+-4|0;c[e+4>>2]=c[k>>2];c[b>>2]=k}c[f>>2]=h+-1}e=e+52|0}while((e|0)!=(i|0));e=c[j+76>>2]|0;k=c[j+80>>2]|0;if((e|0)==(k|0))return;do{f=e+36|0;h=c[f>>2]|0;if(h|0){b=e+28|0;d=c[b>>2]|0;if((c[e+24>>2]|0)!=(d|0)){j=d+-4|0;c[e+20>>2]=c[j>>2];c[b>>2]=j}c[f>>2]=h+-1}f=c[e+68>>2]|0;j=c[e+72>>2]|0;if((f|0)!=(j|0))do{h=f+16|0;b=c[h>>2]|0;if(b|0){d=f+8|0;i=c[d>>2]|0;if((c[f+4>>2]|0)!=(i|0)){i=i+-4|0;c[f>>2]=c[i>>2];c[d>>2]=i}c[h>>2]=b+-1}f=f+48|0}while((f|0)!=(j|0));e=e+80|0}while((e|0)!=(k|0));return}function Vx(a,b){a=a|0;b=b|0;Jk[c[(c[a>>2]|0)+180>>2]&1023](a,b);return}function Wx(a,b){a=a|0;b=b|0;Jk[c[(c[a>>2]|0)+120>>2]&1023](a,b);return}function Xx(b,d){b=b|0;d=d|0;var e=0,f=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0;r=l;l=l+96|0;j=r+80|0;k=r;m=b+56|0;q=b+28|0;n=b+336|0;Ez(c[n>>2]|0,q);if((c[d+108>>2]|0)==0?(a[d+104>>0]|0)!=0:0){p=!(+g[(Fz(d)|0)+12>>2]>=0.0);e=c[n>>2]|0;if(!p){p=Gz(e,Fz(d)|0)|0;f=c[n>>2]|0;if(p){e=c[f+76>>2]|0;o=c[f+80>>2]|0;if((e|0)==(o|0)){l=r;return}n=c[q>>2]|0;m=(c[b+32>>2]|0)-n|0;k=e;do{b=c[k+8>>2]|0;q=c[k+4>>2]|0;e=q;h=b;a:do if((b-q|0)==(m|0)){if((e|0)!=(h|0)){f=n;while(1){if((c[e>>2]|0)!=(c[f>>2]|0))break a;e=e+4|0;if((e|0)==(h|0))break;else f=f+4|0}}e=k+36|0;f=c[e>>2]|0;if(f|0){h=k+28|0;i=c[h>>2]|0;if((c[k+24>>2]|0)!=(i|0)){q=i+-4|0;c[k+20>>2]=c[q>>2];c[h>>2]=q}c[e>>2]=f+-1}e=c[k+68>>2]|0;j=c[k+72>>2]|0;if((e|0)!=(j|0))do{f=e+16|0;h=c[f>>2]|0;if(h|0){i=e+8|0;d=c[i>>2]|0;if((c[e+4>>2]|0)!=(d|0)){q=d+-4|0;c[e>>2]=c[q>>2];c[i>>2]=q}c[f>>2]=h+-1}e=e+48|0}while((e|0)!=(j|0))}while(0);k=k+80|0}while((k|0)!=(o|0));l=r;return}else e=f}else h=5}else{e=c[n>>2]|0;h=5}if((h|0)==5)c[e+36>>2]=c[e+16>>2];Hz(e);e=c[d+136>>2]|0;if(e|0){f=k+36|0;h=k;i=h+68|0;do{c[h>>2]=0;h=h+4|0}while((h|0)<(i|0));c[f>>2]=1;c[k+68>>2]=0;c[k+72>>2]=0;c[k+76>>2]=0;if(msa(k,q,e,m,(a[b+380>>0]|0)!=0)|0?+g[k>>2]>+g[b+372>>2]:0)Iz(j,b+384|0,k,k);Gy(k)}b:do if(c[d+112>>2]|0)switch(c[b+16>>2]|0){case 0:break b;case 1:{Jk[c[(c[d>>2]|0)+216>>2]&1023](d,b);break b}default:{Jk[c[(c[d>>2]|0)+220>>2]&1023](d,b);break b}}while(0);k=c[n>>2]|0;e=k+32|0;f=c[e>>2]|0;if(f|0){h=k+24|0;i=c[h>>2]|0;if((c[k+20>>2]|0)!=(i|0)){p=i+-4|0;c[k+16>>2]=c[p>>2];c[h>>2]=p}c[e>>2]=f+-1}e=c[k+64>>2]|0;j=c[k+68>>2]|0;if((e|0)!=(j|0))do{f=e+20|0;h=c[f>>2]|0;if(h|0){i=e+12|0;d=c[i>>2]|0;if((c[e+8>>2]|0)!=(d|0)){p=d+-4|0;c[e+4>>2]=c[p>>2];c[i>>2]=p}c[f>>2]=h+-1}e=e+52|0}while((e|0)!=(j|0));m=c[k+76>>2]|0;p=c[k+80>>2]|0;if((m|0)==(p|0)){l=r;return}k=m;do{e=k+36|0;f=c[e>>2]|0;if(f|0){h=k+28|0;i=c[h>>2]|0;if((c[k+24>>2]|0)!=(i|0)){o=i+-4|0;c[k+20>>2]=c[o>>2];c[h>>2]=o}c[e>>2]=f+-1}e=c[k+68>>2]|0;j=c[k+72>>2]|0;if((e|0)!=(j|0))do{f=e+16|0;h=c[f>>2]|0;if(h|0){i=e+8|0;d=c[i>>2]|0;if((c[e+4>>2]|0)!=(d|0)){o=d+-4|0;c[e>>2]=c[o>>2];c[i>>2]=o}c[f>>2]=h+-1}e=e+48|0}while((e|0)!=(j|0));k=k+80|0}while((k|0)!=(p|0));o=c[q>>2]|0;n=(c[b+32>>2]|0)-o|0;k=m;do{b=c[k+8>>2]|0;q=c[k+4>>2]|0;e=q;h=b;c:do if((b-q|0)==(n|0)){if((e|0)!=(h|0)){f=o;while(1){if((c[e>>2]|0)!=(c[f>>2]|0))break c;e=e+4|0;if((e|0)==(h|0))break;else f=f+4|0}}e=k+36|0;f=c[e>>2]|0;if(f|0){h=k+28|0;i=c[h>>2]|0;if((c[k+24>>2]|0)!=(i|0)){q=i+-4|0;c[k+20>>2]=c[q>>2];c[h>>2]=q}c[e>>2]=f+-1}e=c[k+68>>2]|0;j=c[k+72>>2]|0;if((e|0)!=(j|0))do{f=e+16|0;h=c[f>>2]|0;if(h|0){i=e+8|0;d=c[i>>2]|0;if((c[e+4>>2]|0)!=(d|0)){q=d+-4|0;c[e>>2]=c[q>>2];c[i>>2]=q}c[f>>2]=h+-1}e=e+48|0}while((e|0)!=(j|0))}while(0);k=k+80|0}while((k|0)!=(p|0));l=r;return}function Yx(a,b){a=a|0;b=b|0;Jk[c[(c[a>>2]|0)+120>>2]&1023](a,b);return}function Zx(a){a=a|0;var b=0,d=0;b=a+-56|0;c[b>>2]=70504;a=b+396|0;c[a>>2]=70900;d=b+56|0;c[d>>2]=70712;Dz(b+384|0,c[b+388>>2]|0);tz(d);Cy(b,71076);Pr(a);return}function _x(a){a=a|0;var b=0,d=0;a=a+-56|0;c[a>>2]=70504;b=a+396|0;c[b>>2]=70900;d=a+56|0;c[d>>2]=70712;Dz(a+384|0,c[a+388>>2]|0);tz(d);Cy(a,71076);Pr(b);l0a(a);return}function $x(a){a=a|0;var b=0,d=0;b=a+(c[(c[a>>2]|0)+-16>>2]|0)|0;c[b>>2]=70504;a=b+396|0;c[a>>2]=70900;d=b+56|0;c[d>>2]=70712;Dz(b+384|0,c[b+388>>2]|0);tz(d);Cy(b,71076);Pr(a);return}function ay(a){a=a|0;var b=0,d=0;a=a+(c[(c[a>>2]|0)+-16>>2]|0)|0;c[a>>2]=70504;b=a+396|0;c[b>>2]=70900;d=a+56|0;c[d>>2]=70712;Dz(a+384|0,c[a+388>>2]|0);tz(d);Cy(a,71076);Pr(b);l0a(a);return}function by(a){a=a|0;a=j0a(432)|0;Dy(a);return a+(c[(c[a>>2]|0)+-12>>2]|0)|0}function cy(a,b){a=a|0;b=b|0;var d=0,e=0;e=a+(c[(c[a>>2]|0)+-24>>2]|0)|0;d=j0a(88)|0;a=d+56|0;Or(a,e+(c[(c[e>>2]|0)+-12>>2]|0)|0,b);c[d>>2]=10268;c[a>>2]=10636;c[d+4>>2]=c[e+4>>2];c[d+8>>2]=c[e+8>>2];c[d+12>>2]=0;c[d+16>>2]=c[e+16>>2];c[d+20>>2]=c[e+20>>2];c[d+24>>2]=c[e+24>>2];b=d+28|0;c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;c[b+12>>2]=0;c[b+16>>2]=0;c[b+20>>2]=0;c[b+24>>2]=0;return a|0}function dy(a,b){a=a|0;b=b|0;if(!b){b=0;return b|0}b=(y1a(b,42800,43296,-1)|0)!=0;return b|0}function ey(a){a=a|0;return 186332}function fy(a){a=a|0;return 133110}function gy(a){a=a|0;return a+(c[(c[a>>2]|0)+-48>>2]|0)|0}function hy(a){a=a|0;return a+(c[(c[a>>2]|0)+-52>>2]|0)|0}function iy(a){a=a|0;Cy(a,71064);Pr(a+56|0);return}function jy(a){a=a|0;Cy(a,71064);Pr(a+56|0);l0a(a);return}function ky(a){a=a|0;var b=0,d=0;b=j0a(88)|0;a=b+56|0;Uha(a,1);d=b+68|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[b+80>>2]=2;c[b+84>>2]=0;c[b>>2]=10268;c[a>>2]=10636;c[b+12>>2]=0;d=b+28|0;c[b+4>>2]=0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[d+12>>2]=0;c[d+16>>2]=0;c[d+20>>2]=0;c[d+24>>2]=0;c[b+8>>2]=-1;c[b+16>>2]=0;c[b+20>>2]=-1;c[b+24>>2]=0;return a|0}function ly(a){a=a|0;return 186332}function my(a){a=a|0;return 133154}function ny(a){a=a|0;return}function oy(a,b,c){a=a|0;b=b|0;c=c|0;return 0.0}function py(a,b,c){a=a|0;b=b|0;c=c|0;return 0.0}function qy(a,b,c){a=a|0;b=b|0;c=c|0;return 0.0}function ry(a,b){a=a|0;b=b|0;switch(c[a+16>>2]|0){case 1:{Jk[c[(c[b>>2]|0)+216>>2]&1023](b,a);return}case 0:return;default:{Jk[c[(c[b>>2]|0)+220>>2]&1023](b,a);return}}}function sy(a,b){a=a|0;b=b|0;Jk[c[(c[a>>2]|0)+120>>2]&1023](a,b);return}function ty(a,b){a=a|0;b=b|0;Jk[c[(c[a>>2]|0)+120>>2]&1023](a,b);return}function uy(a,b){a=a|0;b=b|0;Jk[c[(c[a>>2]|0)+120>>2]&1023](a,b);return}function vy(a,b){a=a|0;b=b|0;Jk[c[(c[a>>2]|0)+120>>2]&1023](a,b);return}function wy(a,b){a=a|0;b=b|0;Jk[c[(c[a>>2]|0)+120>>2]&1023](a,b);return}function xy(a){a=a|0;a=a+(c[(c[a>>2]|0)+-16>>2]|0)|0;Cy(a,71064);Pr(a+56|0);return}function yy(a){a=a|0;a=a+(c[(c[a>>2]|0)+-16>>2]|0)|0;Cy(a,71064);Pr(a+56|0);l0a(a);return}function zy(a){a=a|0;var b=0,d=0;b=j0a(88)|0;a=b+56|0;Uha(a,1);d=b+68|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[b+80>>2]=2;c[b+84>>2]=0;c[b>>2]=10268;c[a>>2]=10636;c[b+12>>2]=0;d=b+28|0;c[b+4>>2]=0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[d+12>>2]=0;c[d+16>>2]=0;c[d+20>>2]=0;c[d+24>>2]=0;c[b+8>>2]=-1;c[b+16>>2]=0;c[b+20>>2]=-1;c[b+24>>2]=0;return a|0}function Ay(a){a=a|0;return 186332}function By(a){a=a|0;return 133154}function Cy(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=c[b>>2]|0;c[a>>2]=d;c[a+(c[d+-12>>2]|0)>>2]=c[b+4>>2];b=a+52|0;d=c[b>>2]|0;if(d|0?(f=d+8|0,e=c[f>>2]|0,c[f>>2]=e-1,(e|0)==1):0)UU(d,1,1);c[b>>2]=0;b=a+48|0;d=c[b>>2]|0;if(d|0?(e=d+8|0,f=c[e>>2]|0,c[e>>2]=f-1,(f|0)==1):0)UU(d,1,1);c[b>>2]=0;b=a+44|0;d=c[b>>2]|0;if(d|0?(e=d+8|0,f=c[e>>2]|0,c[e>>2]=f-1,(f|0)==1):0)UU(d,1,1);c[b>>2]=0;b=a+40|0;d=c[b>>2]|0;if(d|0?(e=d+8|0,f=c[e>>2]|0,c[e>>2]=f-1,(f|0)==1):0)UU(d,1,1);c[b>>2]=0;b=c[a+28>>2]|0;if(b|0){c[a+32>>2]=b;l0a(b)}b=a+12|0;d=c[b>>2]|0;if(!d){c[b>>2]=0;return}e=d+8|0;f=c[e>>2]|0;c[e>>2]=f-1;if((f|0)!=1){c[b>>2]=0;return}UU(d,1,1);c[b>>2]=0;return}function Dy(b){b=b|0;var d=0,e=0;e=b+396|0;Tha(e);d=b+408|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[b+420>>2]=2;c[b+424>>2]=0;c[b>>2]=43332;c[e>>2]=43700;c[b+12>>2]=0;d=b+28|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[d+12>>2]=0;c[d+16>>2]=0;c[d+20>>2]=0;c[d+24>>2]=0;c[b+4>>2]=3;c[b+8>>2]=-1;c[b+16>>2]=3;c[b+20>>2]=-1;c[b+24>>2]=0;d=b+56|0;Ey(d);c[b>>2]=70504;c[e>>2]=70900;c[d>>2]=70712;c[b+388>>2]=0;c[b+392>>2]=0;c[b+384>>2]=b+388;c[b+72>>2]=15;d=b+60|0;if(c[b+64>>2]|0){e=b+372|0;g[e>>2]=.004999999888241291;e=b+376|0;c[e>>2]=10;e=b+380|0;a[e>>0]=0;return}c[d>>2]=c[d>>2]&-3;e=b+372|0;g[e>>2]=.004999999888241291;e=b+376|0;c[e>>2]=10;e=b+380|0;a[e>>0]=0;return}function Ey(b){b=b|0;var d=0,e=0,f=0,i=0;c[b>>2]=70260;c[b+28>>2]=0;c[b+4>>2]=2147483647;c[b+8>>2]=0;c[b+16>>2]=57;g[b+20>>2]=1.0;g[b+24>>2]=2.0;c[b+12>>2]=1;h[b+32>>3]=.0005;a[b+40>>0]=1;a[b+41>>0]=0;g[b+44>>2]=4.0;c[b+48>>2]=10;c[b+52>>2]=-1;c[b+56>>2]=-1;c[b+60>>2]=-1;Aw(b);c[b>>2]=71096;i=b+156|0;d=b+296|0;z2a(b+64|0,0,212)|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[d+12>>2]=0;g[b+284>>2]=-1.0;c[b+288>>2]=0;c[b+292>>2]=7;c[b+312>>2]=0;e=j0a(160)|0;Uha(e,0);c[e>>2]=68320;f=e+12|0;c[f>>2]=0;c[f+4>>2]=0;c[f+8>>2]=0;c[e+24>>2]=2;c[e+28>>2]=0;Qra(e+32|0);c[e>>2]=71124;f=c[d>>2]|0;if(((f|0)!=(e|0)?(c[d>>2]=e,e=e+8|0,c[e>>2]=(c[e>>2]|0)+1,f|0):0)?(d=f+8|0,e=c[d>>2]|0,c[d>>2]=e-1,(e|0)==1):0)UU(f,1,1);c[b+276>>2]=0;c[b+280>>2]=0;d=b+180|0;do if(c[d>>2]|0){e=b+172|0;f=c[e>>2]|0;if((f|0)==(c[b+176>>2]|0)){Fy(b+168|0,i);break}else{c[f>>2]=c[i>>2];c[f+4>>2]=c[i+4>>2];c[f+8>>2]=c[i+8>>2];c[e>>2]=(c[e>>2]|0)+12;break}}while(0);g[b+156>>2]=0.0;g[b+160>>2]=0.0;g[b+164>>2]=0.0;c[d>>2]=(c[d>>2]|0)+1;return}function Fy(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;h=a+4|0;i=c[a>>2]|0;j=(c[h>>2]|0)-i|0;e=(j|0)/12|0;d=e+1|0;if(d>>>0>357913941)g1a(a);k=a+8|0;f=((c[k>>2]|0)-i|0)/12|0;g=f<<1;g=f>>>0<178956970?(g>>>0<d>>>0?d:g):357913941;do if(g)if(g>>>0>357913941){k=db(8)|0;p0a(k,183738);c[k>>2]=110936;hb(k|0,65952,1066)}else{f=j0a(g*12|0)|0;break}else f=0;while(0);e=f+(e*12|0)|0;c[e>>2]=c[b>>2];c[e+4>>2]=c[b+4>>2];c[e+8>>2]=c[b+8>>2];d=e+(((j|0)/-12|0)*12|0)|0;if((j|0)>0)x2a(d|0,i|0,j|0)|0;c[a>>2]=d;c[h>>2]=e+12;c[k>>2]=f+(g*12|0);if(!i)return;l0a(i);return}function Gy(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;e=a+68|0;f=c[e>>2]|0;if(f|0){g=a+72|0;b=c[g>>2]|0;if((b|0)==(f|0))b=f;else{do{d=c[b+-12>>2]|0;if(d|0){c[b+-8>>2]=d;l0a(d)}d=c[b+-24>>2]|0;if(d|0){c[b+-20>>2]=d;l0a(d)}d=c[b+-44>>2]|0;if(d|0){c[b+-40>>2]=d;l0a(d)}b=b+-48|0}while((b|0)!=(f|0));b=c[e>>2]|0}c[g>>2]=f;l0a(b)}b=c[a+56>>2]|0;if(b|0){c[a+60>>2]=b;l0a(b)}b=c[a+44>>2]|0;if(b|0){c[a+48>>2]=b;l0a(b)}b=c[a+24>>2]|0;if(b|0){c[a+28>>2]=b;l0a(b)}b=a+16|0;d=c[b>>2]|0;if(d|0?(f=d+8|0,g=c[f>>2]|0,c[f>>2]=g-1,(g|0)==1):0)UU(d,1,1);c[b>>2]=0;b=c[a+4>>2]|0;if(!b)return;c[a+8>>2]=b;l0a(b);return}function Hy(a){a=a|0;Pr(a);return}function Iy(a){a=a|0;Pr(a);l0a(a);return}function Jy(a){a=a|0;var b=0;a=j0a(160)|0;Uha(a,0);c[a>>2]=68320;b=a+12|0;c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;c[a+24>>2]=2;c[a+28>>2]=0;Qra(a+32|0);c[a>>2]=71124;return a|0}function Ky(a,b){a=a|0;b=b|0;var d=0,e=0;d=l;l=l+16|0;e=d;b=j0a(160)|0;c[e>>2]=71296;c[e+4>>2]=0;Or(b,a,e);h[b+32>>3]=+h[a+32>>3];h[b+40>>3]=+h[a+40>>3];h[b+48>>3]=+h[a+48>>3];h[b+56>>3]=+h[a+56>>3];h[b+64>>3]=+h[a+64>>3];h[b+72>>3]=+h[a+72>>3];h[b+80>>3]=+h[a+80>>3];h[b+88>>3]=+h[a+88>>3];h[b+96>>3]=+h[a+96>>3];h[b+104>>3]=+h[a+104>>3];h[b+112>>3]=+h[a+112>>3];h[b+120>>3]=+h[a+120>>3];h[b+128>>3]=+h[a+128>>3];h[b+136>>3]=+h[a+136>>3];h[b+144>>3]=+h[a+144>>3];h[b+152>>3]=+h[a+152>>3];c[b>>2]=71124;l=d;return b|0}function Ly(a,b){a=a|0;b=b|0;if(!b){b=0;return b|0}b=(y1a(b,42800,43864,0)|0)!=0;return b|0}function My(a){a=a|0;return 186332}function Ny(a){a=a|0;return 133166}function Oy(a){a=a|0;return}function Py(a){a=a|0;l0a(a);return}function Qy(a,b){a=a|0;b=b|0;return b|0}function Ry(a,b){a=a|0;b=b|0;if(!b){b=0;return b|0}if(!(c[a+4>>2]&1))return b|0;b=sz(b,a)|0;return b|0}function Sy(a,b){a=a|0;b=b|0;var d=0;if(!b){d=0;return d|0}d=gk[c[(c[b>>2]|0)+92>>2]&1023](b)|0;if(d|0){d=kk[c[(c[a>>2]|0)+20>>2]&511](a,d)|0;return d|0}if(!(c[a+4>>2]&2)){d=b;return d|0}d=rz(b,a)|0;return d|0}function Ty(a,b){a=a|0;b=b|0;if(!b){b=0;return b|0}if(!(c[a+4>>2]&4))return b|0;b=qz(b,a)|0;return b|0}function Uy(a,b){a=a|0;b=b|0;if(!b){b=0;return b|0}if(!(c[a+4>>2]&8))return b|0;b=pz(b,a)|0;return b|0}function Vy(a,b){a=a|0;b=b|0;var d=0;if(!b){d=0;return d|0}if(!(c[a+4>>2]&16)){d=b;return d|0}d=y1a(b,42816,47416,0)|0;if(!d){d=oz(b,a)|0;return d|0}else{d=kk[c[(c[a>>2]|0)+32>>2]&511](a,d)|0;return d|0}return 0}function Wy(a,b){a=a|0;b=b|0;if(!b){b=0;return b|0}if(!(c[a+4>>2]&32))return b|0;b=nz(b,a)|0;return b|0}function Xy(a,b){a=a|0;b=b|0;if(!b){b=0;return b|0}if(!(c[a+4>>2]&64))return b|0;b=mz(b,a)|0;return b|0}function Yy(a,b){a=a|0;b=b|0;if(!b){b=0;return b|0}if(!(c[a+4>>2]&128))return b|0;b=lz(b,a)|0;return b|0}function Zy(a,b){a=a|0;b=b|0;if(!b){b=0;return b|0}if(!(c[a+4>>2]&256))return b|0;b=kz(b,a)|0;return b|0}function _y(a,b){a=a|0;b=b|0;if(!b){b=0;return b|0}if(!(c[a+4>>2]&512))return b|0;b=jz(b,a)|0;return b|0}function $y(a,b){a=a|0;b=b|0;if(!b){b=0;return b|0}if(!(c[a+4>>2]&1024))return b|0;b=iz(b,a)|0;return b|0}function az(a,b){a=a|0;b=b|0;if(!b){b=0;return b|0}if(!(c[a+4>>2]&1024))return b|0;b=hz(b,a)|0;return b|0}function bz(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;if(!b){h=0;return h|0}if(!(c[a+4>>2]&2048)){h=b;return h|0}d=gz(b,a)|0;if(!d){h=0;return h|0}g=d+4|0;e=c[g>>2]|0;if(e|0?(c[g>>2]=0,f=e+(c[(c[e>>2]|0)+-12>>2]|0)|0,e=f+8|0,g=c[e>>2]|0,c[e>>2]=g-1,(g|0)==1):0)UU(f,1,1);b=c[b+4>>2]|0;if(!b){h=d;return h|0}do{g=gz(b,a)|0;if(g|0){e=g+4|0;f=c[e>>2]|0;if(f|0?(c[e>>2]=0,h=f+(c[(c[f>>2]|0)+-12>>2]|0)|0,e=h+8|0,f=c[e>>2]|0,c[e>>2]=f-1,(f|0)==1):0)UU(h,1,1);e=d;while(1){f=c[e+4>>2]|0;if(!f)break;else e=f}c[e+4>>2]=g;g=g+(c[(c[g>>2]|0)+-12>>2]|0)+8|0;c[g>>2]=(c[g>>2]|0)+1}b=c[b+4>>2]|0}while((b|0)!=0);return d|0}function cz(a,b){a=a|0;b=b|0;if(!b){b=0;return b|0}if(!(c[a+4>>2]&2048))return b|0;b=fz(b,a)|0;return b|0}function dz(a,b){a=a|0;b=b|0;if(!b){b=0;return b|0}if(!(c[a+4>>2]&2048))return b|0;b=ez(b,a)|0;return b|0}function ez(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;g=l;l=l+16|0;f=g;if(!b){if((a[223632]|0)==0?g2a(223632)|0:0)kr(225352);if((c[56338]|0)<=1){f=0;l=g;return f|0}e=mr(lr(2)|0,172255,88)|0;BSa(f,e+(c[(c[e>>2]|0)+-12>>2]|0)|0);d=cUa(f,230580)|0;d=kk[c[(c[d>>2]|0)+28>>2]&511](d,10)|0;dUa(f);VSa(e,d)|0;HSa(e)|0;f=0;l=g;return f|0}b=kk[c[(c[b>>2]|0)+4>>2]&511](b,d)|0;d=(b|0)==0;if(!d?(e=b+8|0,c[e>>2]=(c[e>>2]|0)+1,e=y1a(b,42800,43904,-1)|0,e|0):0){Wha(b)|0;f=e;l=g;return f|0}if((a[223632]|0)==0?g2a(223632)|0:0)kr(225352);if((c[56338]|0)>1){e=mr(lr(2)|0,172166,88)|0;BSa(f,e+(c[(c[e>>2]|0)+-12>>2]|0)|0);h=cUa(f,230580)|0;h=kk[c[(c[h>>2]|0)+28>>2]&511](h,10)|0;dUa(f);VSa(e,h)|0;HSa(e)|0}if(d){h=0;l=g;return h|0}f=b+8|0;h=c[f>>2]|0;c[f>>2]=h-1;if((h|0)!=1){h=0;l=g;return h|0}UU(b,1,1);h=0;l=g;return h|0}function fz(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;g=l;l=l+16|0;f=g;if(!b){if((a[223632]|0)==0?g2a(223632)|0:0)kr(225352);if((c[56338]|0)<=1){f=0;l=g;return f|0}e=mr(lr(2)|0,172255,88)|0;BSa(f,e+(c[(c[e>>2]|0)+-12>>2]|0)|0);d=cUa(f,230580)|0;d=kk[c[(c[d>>2]|0)+28>>2]&511](d,10)|0;dUa(f);VSa(e,d)|0;HSa(e)|0;f=0;l=g;return f|0}b=kk[c[(c[b>>2]|0)+4>>2]&511](b,d)|0;d=(b|0)==0;if(!d?(e=b+8|0,c[e>>2]=(c[e>>2]|0)+1,e=y1a(b,42800,43928,-1)|0,e|0):0){Wha(b)|0;f=e;l=g;return f|0}if((a[223632]|0)==0?g2a(223632)|0:0)kr(225352);if((c[56338]|0)>1){e=mr(lr(2)|0,172166,88)|0;BSa(f,e+(c[(c[e>>2]|0)+-12>>2]|0)|0);h=cUa(f,230580)|0;h=kk[c[(c[h>>2]|0)+28>>2]&511](h,10)|0;dUa(f);VSa(e,h)|0;HSa(e)|0}if(d){h=0;l=g;return h|0}f=b+8|0;h=c[f>>2]|0;c[f>>2]=h-1;if((h|0)!=1){h=0;l=g;return h|0}UU(b,1,1);h=0;l=g;return h|0}function gz(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;g=l;l=l+16|0;f=g;if(!b){if((a[223632]|0)==0?g2a(223632)|0:0)kr(225352);if((c[56338]|0)<=1){f=0;l=g;return f|0}e=mr(lr(2)|0,172255,88)|0;BSa(f,e+(c[(c[e>>2]|0)+-12>>2]|0)|0);d=cUa(f,230580)|0;d=kk[c[(c[d>>2]|0)+28>>2]&511](d,10)|0;dUa(f);VSa(e,d)|0;HSa(e)|0;f=0;l=g;return f|0}b=kk[c[(c[b>>2]|0)+4>>2]&511](b,d)|0;d=(b|0)==0;if(!d?(e=b+8|0,c[e>>2]=(c[e>>2]|0)+1,e=y1a(b,42800,42296,-1)|0,e|0):0){Wha(b)|0;f=e;l=g;return f|0}if((a[223632]|0)==0?g2a(223632)|0:0)kr(225352);if((c[56338]|0)>1){e=mr(lr(2)|0,172166,88)|0;BSa(f,e+(c[(c[e>>2]|0)+-12>>2]|0)|0);h=cUa(f,230580)|0;h=kk[c[(c[h>>2]|0)+28>>2]&511](h,10)|0;dUa(f);VSa(e,h)|0;HSa(e)|0}if(d){h=0;l=g;return h|0}f=b+8|0;h=c[f>>2]|0;c[f>>2]=h-1;if((h|0)!=1){h=0;l=g;return h|0}UU(b,1,1);h=0;l=g;return h|0}function hz(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;g=l;l=l+16|0;f=g;if(!b){if((a[223632]|0)==0?g2a(223632)|0:0)kr(225352);if((c[56338]|0)<=1){f=0;l=g;return f|0}e=mr(lr(2)|0,172255,88)|0;BSa(f,e+(c[(c[e>>2]|0)+-12>>2]|0)|0);d=cUa(f,230580)|0;d=kk[c[(c[d>>2]|0)+28>>2]&511](d,10)|0;dUa(f);VSa(e,d)|0;HSa(e)|0;f=0;l=g;return f|0}b=kk[c[(c[b>>2]|0)+16>>2]&511](b,d)|0;d=(b|0)==0;if(!d?(e=b+8|0,c[e>>2]=(c[e>>2]|0)+1,e=y1a(b,42800,47576,0)|0,e|0):0){Wha(b)|0;f=e;l=g;return f|0}if((a[223632]|0)==0?g2a(223632)|0:0)kr(225352);if((c[56338]|0)>1){e=mr(lr(2)|0,172166,88)|0;BSa(f,e+(c[(c[e>>2]|0)+-12>>2]|0)|0);h=cUa(f,230580)|0;h=kk[c[(c[h>>2]|0)+28>>2]&511](h,10)|0;dUa(f);VSa(e,h)|0;HSa(e)|0}if(d){h=0;l=g;return h|0}f=b+8|0;h=c[f>>2]|0;c[f>>2]=h-1;if((h|0)!=1){h=0;l=g;return h|0}UU(b,1,1);h=0;l=g;return h|0}function iz(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;g=l;l=l+16|0;f=g;if(!b){if((a[223632]|0)==0?g2a(223632)|0:0)kr(225352);if((c[56338]|0)<=1){f=0;l=g;return f|0}e=mr(lr(2)|0,172255,88)|0;BSa(f,e+(c[(c[e>>2]|0)+-12>>2]|0)|0);d=cUa(f,230580)|0;d=kk[c[(c[d>>2]|0)+28>>2]&511](d,10)|0;dUa(f);VSa(e,d)|0;HSa(e)|0;f=0;l=g;return f|0}b=kk[c[(c[b>>2]|0)+16>>2]&511](b,d)|0;d=(b|0)==0;if(!d?(e=b+8|0,c[e>>2]=(c[e>>2]|0)+1,e=y1a(b,42800,47224,0)|0,e|0):0){Wha(b)|0;f=e;l=g;return f|0}if((a[223632]|0)==0?g2a(223632)|0:0)kr(225352);if((c[56338]|0)>1){e=mr(lr(2)|0,172166,88)|0;BSa(f,e+(c[(c[e>>2]|0)+-12>>2]|0)|0);h=cUa(f,230580)|0;h=kk[c[(c[h>>2]|0)+28>>2]&511](h,10)|0;dUa(f);VSa(e,h)|0;HSa(e)|0}if(d){h=0;l=g;return h|0}f=b+8|0;h=c[f>>2]|0;c[f>>2]=h-1;if((h|0)!=1){h=0;l=g;return h|0}UU(b,1,1);h=0;l=g;return h|0}function jz(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;g=l;l=l+16|0;f=g;if(!b){if((a[223632]|0)==0?g2a(223632)|0:0)kr(225352);if((c[56338]|0)<=1){f=0;l=g;return f|0}e=mr(lr(2)|0,172255,88)|0;BSa(f,e+(c[(c[e>>2]|0)+-12>>2]|0)|0);d=cUa(f,230580)|0;d=kk[c[(c[d>>2]|0)+28>>2]&511](d,10)|0;dUa(f);VSa(e,d)|0;HSa(e)|0;f=0;l=g;return f|0}b=kk[c[(c[b>>2]|0)+16>>2]&511](b,d)|0;d=(b|0)==0;if(!d?(e=b+8|0,c[e>>2]=(c[e>>2]|0)+1,e=y1a(b,42800,47136,0)|0,e|0):0){Wha(b)|0;f=e;l=g;return f|0}if((a[223632]|0)==0?g2a(223632)|0:0)kr(225352);if((c[56338]|0)>1){e=mr(lr(2)|0,172166,88)|0;BSa(f,e+(c[(c[e>>2]|0)+-12>>2]|0)|0);h=cUa(f,230580)|0;h=kk[c[(c[h>>2]|0)+28>>2]&511](h,10)|0;dUa(f);VSa(e,h)|0;HSa(e)|0}if(d){h=0;l=g;return h|0}f=b+8|0;h=c[f>>2]|0;c[f>>2]=h-1;if((h|0)!=1){h=0;l=g;return h|0}UU(b,1,1);h=0;l=g;return h|0}function kz(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;g=l;l=l+16|0;f=g;if(!b){if((a[223632]|0)==0?g2a(223632)|0:0)kr(225352);if((c[56338]|0)<=1){f=0;l=g;return f|0}e=mr(lr(2)|0,172255,88)|0;BSa(f,e+(c[(c[e>>2]|0)+-12>>2]|0)|0);d=cUa(f,230580)|0;d=kk[c[(c[d>>2]|0)+28>>2]&511](d,10)|0;dUa(f);VSa(e,d)|0;HSa(e)|0;f=0;l=g;return f|0}b=kk[c[(c[b>>2]|0)+16>>2]&511](b,d)|0;d=(b|0)==0;if(!d?(e=b+8|0,c[e>>2]=(c[e>>2]|0)+1,e=y1a(b,42800,43952,0)|0,e|0):0){Wha(b)|0;f=e;l=g;return f|0}if((a[223632]|0)==0?g2a(223632)|0:0)kr(225352);if((c[56338]|0)>1){e=mr(lr(2)|0,172166,88)|0;BSa(f,e+(c[(c[e>>2]|0)+-12>>2]|0)|0);h=cUa(f,230580)|0;h=kk[c[(c[h>>2]|0)+28>>2]&511](h,10)|0;dUa(f);VSa(e,h)|0;HSa(e)|0}if(d){h=0;l=g;return h|0}f=b+8|0;h=c[f>>2]|0;c[f>>2]=h-1;if((h|0)!=1){h=0;l=g;return h|0}UU(b,1,1);h=0;l=g;return h|0}function lz(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;g=l;l=l+16|0;f=g;if(!b){if((a[223632]|0)==0?g2a(223632)|0:0)kr(225352);if((c[56338]|0)<=1){f=0;l=g;return f|0}e=mr(lr(2)|0,172255,88)|0;BSa(f,e+(c[(c[e>>2]|0)+-12>>2]|0)|0);d=cUa(f,230580)|0;d=kk[c[(c[d>>2]|0)+28>>2]&511](d,10)|0;dUa(f);VSa(e,d)|0;HSa(e)|0;f=0;l=g;return f|0}b=kk[c[(c[b>>2]|0)+16>>2]&511](b,d)|0;d=(b|0)==0;if(!d?(e=b+8|0,c[e>>2]=(c[e>>2]|0)+1,e=y1a(b,42800,43064,0)|0,e|0):0){Wha(b)|0;f=e;l=g;return f|0}if((a[223632]|0)==0?g2a(223632)|0:0)kr(225352);if((c[56338]|0)>1){e=mr(lr(2)|0,172166,88)|0;BSa(f,e+(c[(c[e>>2]|0)+-12>>2]|0)|0);h=cUa(f,230580)|0;h=kk[c[(c[h>>2]|0)+28>>2]&511](h,10)|0;dUa(f);VSa(e,h)|0;HSa(e)|0}if(d){h=0;l=g;return h|0}f=b+8|0;h=c[f>>2]|0;c[f>>2]=h-1;if((h|0)!=1){h=0;l=g;return h|0}UU(b,1,1);h=0;l=g;return h|0}function mz(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;g=l;l=l+16|0;f=g;if(!b){if((a[223632]|0)==0?g2a(223632)|0:0)kr(225352);if((c[56338]|0)<=1){f=0;l=g;return f|0}e=mr(lr(2)|0,172255,88)|0;BSa(f,e+(c[(c[e>>2]|0)+-12>>2]|0)|0);d=cUa(f,230580)|0;d=kk[c[(c[d>>2]|0)+28>>2]&511](d,10)|0;dUa(f);VSa(e,d)|0;HSa(e)|0;f=0;l=g;return f|0}b=kk[c[(c[b>>2]|0)+16>>2]&511](b,d)|0;d=(b|0)==0;if(!d?(e=b+8|0,c[e>>2]=(c[e>>2]|0)+1,e=y1a(b,42800,43968,0)|0,e|0):0){Wha(b)|0;f=e;l=g;return f|0}if((a[223632]|0)==0?g2a(223632)|0:0)kr(225352);if((c[56338]|0)>1){e=mr(lr(2)|0,172166,88)|0;BSa(f,e+(c[(c[e>>2]|0)+-12>>2]|0)|0);h=cUa(f,230580)|0;h=kk[c[(c[h>>2]|0)+28>>2]&511](h,10)|0;dUa(f);VSa(e,h)|0;HSa(e)|0}if(d){h=0;l=g;return h|0}f=b+8|0;h=c[f>>2]|0;c[f>>2]=h-1;if((h|0)!=1){h=0;l=g;return h|0}UU(b,1,1);h=0;l=g;return h|0}function nz(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;g=l;l=l+16|0;f=g;if(!b){if((a[223632]|0)==0?g2a(223632)|0:0)kr(225352);if((c[56338]|0)<=1){f=0;l=g;return f|0}e=mr(lr(2)|0,172255,88)|0;BSa(f,e+(c[(c[e>>2]|0)+-12>>2]|0)|0);d=cUa(f,230580)|0;d=kk[c[(c[d>>2]|0)+28>>2]&511](d,10)|0;dUa(f);VSa(e,d)|0;HSa(e)|0;f=0;l=g;return f|0}b=kk[c[(c[b>>2]|0)+16>>2]&511](b,d)|0;d=(b|0)==0;if(!d?(e=b+8|0,c[e>>2]=(c[e>>2]|0)+1,e=y1a(b,42800,47416,0)|0,e|0):0){Wha(b)|0;f=e;l=g;return f|0}if((a[223632]|0)==0?g2a(223632)|0:0)kr(225352);if((c[56338]|0)>1){e=mr(lr(2)|0,172166,88)|0;BSa(f,e+(c[(c[e>>2]|0)+-12>>2]|0)|0);h=cUa(f,230580)|0;h=kk[c[(c[h>>2]|0)+28>>2]&511](h,10)|0;dUa(f);VSa(e,h)|0;HSa(e)|0}if(d){h=0;l=g;return h|0}f=b+8|0;h=c[f>>2]|0;c[f>>2]=h-1;if((h|0)!=1){h=0;l=g;return h|0}UU(b,1,1);h=0;l=g;return h|0}function oz(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;g=l;l=l+16|0;f=g;if(!b){if((a[223632]|0)==0?g2a(223632)|0:0)kr(225352);if((c[56338]|0)<=1){f=0;l=g;return f|0}e=mr(lr(2)|0,172255,88)|0;BSa(f,e+(c[(c[e>>2]|0)+-12>>2]|0)|0);d=cUa(f,230580)|0;d=kk[c[(c[d>>2]|0)+28>>2]&511](d,10)|0;dUa(f);VSa(e,d)|0;HSa(e)|0;f=0;l=g;return f|0}b=kk[c[(c[b>>2]|0)+16>>2]&511](b,d)|0;d=(b|0)==0;if(!d?(e=b+8|0,c[e>>2]=(c[e>>2]|0)+1,e=y1a(b,42800,42816,0)|0,e|0):0){Wha(b)|0;f=e;l=g;return f|0}if((a[223632]|0)==0?g2a(223632)|0:0)kr(225352);if((c[56338]|0)>1){e=mr(lr(2)|0,172166,88)|0;BSa(f,e+(c[(c[e>>2]|0)+-12>>2]|0)|0);h=cUa(f,230580)|0;h=kk[c[(c[h>>2]|0)+28>>2]&511](h,10)|0;dUa(f);VSa(e,h)|0;HSa(e)|0}if(d){h=0;l=g;return h|0}f=b+8|0;h=c[f>>2]|0;c[f>>2]=h-1;if((h|0)!=1){h=0;l=g;return h|0}UU(b,1,1);h=0;l=g;return h|0}function pz(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;g=l;l=l+16|0;f=g;if(!b){if((a[223632]|0)==0?g2a(223632)|0:0)kr(225352);if((c[56338]|0)<=1){f=0;l=g;return f|0}e=mr(lr(2)|0,172255,88)|0;BSa(f,e+(c[(c[e>>2]|0)+-12>>2]|0)|0);d=cUa(f,230580)|0;d=kk[c[(c[d>>2]|0)+28>>2]&511](d,10)|0;dUa(f);VSa(e,d)|0;HSa(e)|0;f=0;l=g;return f|0}b=kk[c[(c[b>>2]|0)+16>>2]&511](b,d)|0;d=(b|0)==0;if(!d?(e=b+8|0,c[e>>2]=(c[e>>2]|0)+1,e=y1a(b,42800,47320,0)|0,e|0):0){Wha(b)|0;f=e;l=g;return f|0}if((a[223632]|0)==0?g2a(223632)|0:0)kr(225352);if((c[56338]|0)>1){e=mr(lr(2)|0,172166,88)|0;BSa(f,e+(c[(c[e>>2]|0)+-12>>2]|0)|0);h=cUa(f,230580)|0;h=kk[c[(c[h>>2]|0)+28>>2]&511](h,10)|0;dUa(f);VSa(e,h)|0;HSa(e)|0}if(d){h=0;l=g;return h|0}f=b+8|0;h=c[f>>2]|0;c[f>>2]=h-1;if((h|0)!=1){h=0;l=g;return h|0}UU(b,1,1);h=0;l=g;return h|0}function qz(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;g=l;l=l+16|0;f=g;if(!b){if((a[223632]|0)==0?g2a(223632)|0:0)kr(225352);if((c[56338]|0)<=1){f=0;l=g;return f|0}e=mr(lr(2)|0,172255,88)|0;BSa(f,e+(c[(c[e>>2]|0)+-12>>2]|0)|0);d=cUa(f,230580)|0;d=kk[c[(c[d>>2]|0)+28>>2]&511](d,10)|0;dUa(f);VSa(e,d)|0;HSa(e)|0;f=0;l=g;return f|0}b=kk[c[(c[b>>2]|0)+16>>2]&511](b,d)|0;d=(b|0)==0;if(!d?(e=b+8|0,c[e>>2]=(c[e>>2]|0)+1,e=y1a(b,42800,43984,0)|0,e|0):0){Wha(b)|0;f=e;l=g;return f|0}if((a[223632]|0)==0?g2a(223632)|0:0)kr(225352);if((c[56338]|0)>1){e=mr(lr(2)|0,172166,88)|0;BSa(f,e+(c[(c[e>>2]|0)+-12>>2]|0)|0);h=cUa(f,230580)|0;h=kk[c[(c[h>>2]|0)+28>>2]&511](h,10)|0;dUa(f);VSa(e,h)|0;HSa(e)|0}if(d){h=0;l=g;return h|0}f=b+8|0;h=c[f>>2]|0;c[f>>2]=h-1;if((h|0)!=1){h=0;l=g;return h|0}UU(b,1,1);h=0;l=g;return h|0}function rz(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;g=l;l=l+16|0;f=g;if(!b){if((a[223632]|0)==0?g2a(223632)|0:0)kr(225352);if((c[56338]|0)<=1){f=0;l=g;return f|0}e=mr(lr(2)|0,172255,88)|0;BSa(f,e+(c[(c[e>>2]|0)+-12>>2]|0)|0);d=cUa(f,230580)|0;d=kk[c[(c[d>>2]|0)+28>>2]&511](d,10)|0;dUa(f);VSa(e,d)|0;HSa(e)|0;f=0;l=g;return f|0}b=kk[c[(c[b>>2]|0)+16>>2]&511](b,d)|0;d=(b|0)==0;if(!d?(e=b+8|0,c[e>>2]=(c[e>>2]|0)+1,e=y1a(b,42800,43184,0)|0,e|0):0){Wha(b)|0;f=e;l=g;return f|0}if((a[223632]|0)==0?g2a(223632)|0:0)kr(225352);if((c[56338]|0)>1){e=mr(lr(2)|0,172166,88)|0;BSa(f,e+(c[(c[e>>2]|0)+-12>>2]|0)|0);h=cUa(f,230580)|0;h=kk[c[(c[h>>2]|0)+28>>2]&511](h,10)|0;dUa(f);VSa(e,h)|0;HSa(e)|0}if(d){h=0;l=g;return h|0}f=b+8|0;h=c[f>>2]|0;c[f>>2]=h-1;if((h|0)!=1){h=0;l=g;return h|0}UU(b,1,1);h=0;l=g;return h|0}function sz(b,d){b=b|0;d=d|0;var e=0,f=0;f=l;l=l+16|0;e=f;if(!b){if((a[223632]|0)==0?g2a(223632)|0:0)kr(225352);if((c[56338]|0)<=1){e=0;l=f;return e|0}d=mr(lr(2)|0,172255,88)|0;BSa(e,d+(c[(c[d>>2]|0)+-12>>2]|0)|0);b=cUa(e,230580)|0;b=kk[c[(c[b>>2]|0)+28>>2]&511](b,10)|0;dUa(e);VSa(d,b)|0;HSa(d)|0;e=0;l=f;return e|0}b=kk[c[(c[b>>2]|0)+16>>2]&511](b,d)|0;if(b|0){e=b+8|0;c[e>>2]=(c[e>>2]|0)+1;Wha(b)|0;e=b;l=f;return e|0}if((a[223632]|0)==0?g2a(223632)|0:0)kr(225352);if((c[56338]|0)<=1){e=0;l=f;return e|0}d=mr(lr(2)|0,172166,88)|0;BSa(e,d+(c[(c[d>>2]|0)+-12>>2]|0)|0);b=cUa(e,230580)|0;b=kk[c[(c[b>>2]|0)+28>>2]&511](b,10)|0;dUa(e);VSa(d,b)|0;HSa(d)|0;e=0;l=f;return e|0}function tz(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0;c[a>>2]=71096;vz(a);e=a+300|0;f=c[e>>2]|0;if(f|0){g=a+304|0;b=c[g>>2]|0;if((b|0)==(f|0))b=f;else{do{b=b+-4|0;d=c[b>>2]|0;if(d|0?(i=d+8|0,h=c[i>>2]|0,c[i>>2]=h-1,(h|0)==1):0)UU(d,1,1);c[b>>2]=0}while((b|0)!=(f|0));b=c[e>>2]|0}c[g>>2]=f;l0a(b)}b=a+296|0;d=c[b>>2]|0;if(d|0?(h=d+8|0,i=c[h>>2]|0,c[h>>2]=i-1,(i|0)==1):0)UU(d,1,1);c[b>>2]=0;d=a+264|0;e=c[d>>2]|0;if(e|0){f=a+268|0;b=c[f>>2]|0;if((b|0)==(e|0))b=e;else{do{b=b+-108|0;Bk[c[(c[b>>2]|0)+4>>2]&2047](b)}while((b|0)!=(e|0));b=c[d>>2]|0}c[f>>2]=e;l0a(b)}d=a+252|0;e=c[d>>2]|0;if(e|0){f=a+256|0;b=c[f>>2]|0;if((b|0)==(e|0))b=e;else{do{b=b+-108|0;Bk[c[(c[b>>2]|0)+4>>2]&2047](b)}while((b|0)!=(e|0));b=c[d>>2]|0}c[f>>2]=e;l0a(b)}d=a+240|0;e=c[d>>2]|0;if(e|0){f=a+244|0;b=c[f>>2]|0;if((b|0)==(e|0))b=e;else{do{b=b+-108|0;Bk[c[(c[b>>2]|0)+4>>2]&2047](b)}while((b|0)!=(e|0));b=c[d>>2]|0}c[f>>2]=e;l0a(b)}b=c[a+224>>2]|0;if(b|0){c[a+228>>2]=b;l0a(b)}b=c[a+196>>2]|0;if(b|0){c[a+200>>2]=b;l0a(b)}b=c[a+168>>2]|0;if(b|0){c[a+172>>2]=b;l0a(b)}e=a+140|0;f=c[e>>2]|0;if(f|0){g=a+144|0;b=c[g>>2]|0;if((b|0)==(f|0))b=f;else{do{b=b+-4|0;d=c[b>>2]|0;if(d|0?(h=d+8|0,i=c[h>>2]|0,c[h>>2]=i-1,(i|0)==1):0)UU(d,1,1);c[b>>2]=0}while((b|0)!=(f|0));b=c[e>>2]|0}c[g>>2]=f;l0a(b)}b=a+136|0;d=c[b>>2]|0;if(d|0?(h=d+8|0,i=c[h>>2]|0,c[h>>2]=i-1,(i|0)==1):0)UU(d,1,1);c[b>>2]=0;e=a+120|0;f=c[e>>2]|0;if(f|0){g=a+124|0;b=c[g>>2]|0;if((b|0)==(f|0))b=f;else{do{b=b+-4|0;d=c[b>>2]|0;if(d|0?(h=d+8|0,i=c[h>>2]|0,c[h>>2]=i-1,(i|0)==1):0)UU(d,1,1);c[b>>2]=0}while((b|0)!=(f|0));b=c[e>>2]|0}c[g>>2]=f;l0a(b)}b=a+116|0;d=c[b>>2]|0;if(d|0?(h=d+8|0,i=c[h>>2]|0,c[h>>2]=i-1,(i|0)==1):0)UU(d,1,1);c[b>>2]=0;e=a+100|0;f=c[e>>2]|0;if(f|0){g=a+104|0;b=c[g>>2]|0;if((b|0)==(f|0))b=f;else{do{b=b+-4|0;d=c[b>>2]|0;if(d|0?(h=d+8|0,i=c[h>>2]|0,c[h>>2]=i-1,(i|0)==1):0)UU(d,1,1);c[b>>2]=0}while((b|0)!=(f|0));b=c[e>>2]|0}c[g>>2]=f;l0a(b)}b=a+96|0;d=c[b>>2]|0;if(d|0?(h=d+8|0,i=c[h>>2]|0,c[h>>2]=i-1,(i|0)==1):0)UU(d,1,1);c[b>>2]=0;e=a+80|0;f=c[e>>2]|0;if(f|0){g=a+84|0;b=c[g>>2]|0;if((b|0)==(f|0))b=f;else{do{b=b+-4|0;d=c[b>>2]|0;do if(d|0){h=d+8|0;i=c[h>>2]|0;c[h>>2]=i-1;if((i|0)!=1)break;UU(d,1,1)}while(0);c[b>>2]=0}while((b|0)!=(f|0));b=c[e>>2]|0}c[g>>2]=f;l0a(b)}b=a+76|0;d=c[b>>2]|0;if(d|0?(h=d+8|0,i=c[h>>2]|0,c[h>>2]=i-1,(i|0)==1):0)UU(d,1,1);c[b>>2]=0;d=a+64|0;e=c[d>>2]|0;if(e|0){f=a+68|0;b=c[f>>2]|0;if((b|0)==(e|0))b=e;else{do{b=b+-80|0;Gy(b)}while((b|0)!=(e|0));b=c[d>>2]|0}c[f>>2]=e;l0a(b)}c[a>>2]=70260;b=a+28|0;d=c[b>>2]|0;if(!d){c[b>>2]=0;return}h=d+8|0;i=c[h>>2]|0;c[h>>2]=i-1;if((i|0)!=1){c[b>>2]=0;return}UU(d,1,1);c[b>>2]=0;return}function uz(a){a=a|0;tz(a);l0a(a);return}function vz(a){a=a|0;var b=0,d=0,e=0,f=0,h=0,i=0;e=c[a+80>>2]|0;f=a+84|0;b=c[f>>2]|0;if((b|0)!=(e|0))do{b=b+-4|0;d=c[b>>2]|0;if(d|0?(i=d+8|0,h=c[i>>2]|0,c[i>>2]=h-1,(h|0)==1):0)UU(d,1,1);c[b>>2]=0}while((b|0)!=(e|0));c[f>>2]=e;c[a+92>>2]=0;e=c[a+100>>2]|0;f=a+104|0;b=c[f>>2]|0;if((b|0)!=(e|0))do{b=b+-4|0;d=c[b>>2]|0;if(d|0?(h=d+8|0,i=c[h>>2]|0,c[h>>2]=i-1,(i|0)==1):0)UU(d,1,1);c[b>>2]=0}while((b|0)!=(e|0));c[f>>2]=e;c[a+112>>2]=0;e=c[a+140>>2]|0;f=a+144|0;b=c[f>>2]|0;if((b|0)!=(e|0))do{b=b+-4|0;d=c[b>>2]|0;if(d|0?(h=d+8|0,i=c[h>>2]|0,c[h>>2]=i-1,(i|0)==1):0)UU(d,1,1);c[b>>2]=0}while((b|0)!=(e|0));c[f>>2]=e;c[a+152>>2]=0;c[a+172>>2]=c[a+168>>2];g[a+156>>2]=0.0;g[a+160>>2]=0.0;g[a+164>>2]=0.0;c[a+180>>2]=1;c[a+200>>2]=c[a+196>>2];c[a+208>>2]=0;c[a+228>>2]=c[a+224>>2];c[a+236>>2]=0;d=c[a+240>>2]|0;e=a+244|0;b=c[e>>2]|0;if((b|0)!=(d|0))do{b=b+-108|0;Bk[c[(c[b>>2]|0)+4>>2]&2047](b)}while((b|0)!=(d|0));c[e>>2]=d;d=c[a+252>>2]|0;e=a+256|0;b=c[e>>2]|0;if((b|0)==(d|0)){c[e>>2]=d;i=a+276|0;c[i>>2]=0;i=a+280|0;c[i>>2]=0;i=a+292|0;c[i>>2]=3;i=a+288|0;c[i>>2]=4;i=a+312|0;c[i>>2]=0;return}do{b=b+-108|0;Bk[c[(c[b>>2]|0)+4>>2]&2047](b)}while((b|0)!=(d|0));c[e>>2]=d;i=a+276|0;c[i>>2]=0;i=a+280|0;c[i>>2]=0;i=a+292|0;c[i>>2]=3;i=a+288|0;c[i>>2]=4;i=a+312|0;c[i>>2]=0;return}function wz(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;e=c[a>>2]|0;if(!e)return;f=a+4|0;b=c[f>>2]|0;if((b|0)==(e|0))b=e;else{do{b=b+-4|0;d=c[b>>2]|0;if(d|0?(h=d+8|0,g=c[h>>2]|0,c[h>>2]=g-1,(g|0)==1):0)UU(d,1,1);c[b>>2]=0}while((b|0)!=(e|0));b=c[a>>2]|0}c[f>>2]=e;l0a(b);return}function xz(a){a=a|0;var b=0,d=0,e=0;b=c[a>>2]|0;if(b|0?(e=b+8|0,d=c[e>>2]|0,c[e>>2]=d-1,(d|0)==1):0)UU(b,1,1);c[a>>2]=0;return}function yz(a){a=a|0;var b=0,d=0,e=0;d=c[a>>2]|0;if(!d)return;e=a+4|0;b=c[e>>2]|0;if((b|0)==(d|0))b=d;else{do{b=b+-108|0;Bk[c[(c[b>>2]|0)+4>>2]&2047](b)}while((b|0)!=(d|0));b=c[a>>2]|0}c[e>>2]=d;l0a(b);return}function zz(a){a=a|0;var b=0;b=c[a+12>>2]|0;if(!b)return;c[a+16>>2]=b;l0a(b);return}function Az(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0;e=a+4|0;f=c[e>>2]|0;if(f|0){g=a+8|0;b=c[g>>2]|0;if((b|0)==(f|0))b=f;else{do{b=b+-4|0;d=c[b>>2]|0;if(d|0?(i=d+8|0,h=c[i>>2]|0,c[i>>2]=h-1,(h|0)==1):0)UU(d,1,1);c[b>>2]=0}while((b|0)!=(f|0));b=c[e>>2]|0}c[g>>2]=f;l0a(b)}b=c[a>>2]|0;if(!b){c[a>>2]=0;return}h=b+8|0;i=c[h>>2]|0;c[h>>2]=i-1;if((i|0)!=1){c[a>>2]=0;return}UU(b,1,1);c[a>>2]=0;return}function Bz(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0;e=a+4|0;f=c[e>>2]|0;if(f|0){g=a+8|0;b=c[g>>2]|0;if((b|0)==(f|0))b=f;else{do{b=b+-4|0;d=c[b>>2]|0;if(d|0?(i=d+8|0,h=c[i>>2]|0,c[i>>2]=h-1,(h|0)==1):0)UU(d,1,1);c[b>>2]=0}while((b|0)!=(f|0));b=c[e>>2]|0}c[g>>2]=f;l0a(b)}b=c[a>>2]|0;if(!b){c[a>>2]=0;return}h=b+8|0;i=c[h>>2]|0;c[h>>2]=i-1;if((i|0)!=1){c[a>>2]=0;return}UU(b,1,1);c[a>>2]=0;return}function Cz(a){a=a|0;var b=0,d=0,e=0;d=c[a>>2]|0;if(!d)return;e=a+4|0;b=c[e>>2]|0;if((b|0)==(d|0))b=d;else{do{b=b+-80|0;Gy(b)}while((b|0)!=(d|0));b=c[a>>2]|0}c[e>>2]=d;l0a(b);return}function Dz(a,b){a=a|0;b=b|0;if(!b)return;else{Dz(a,c[b>>2]|0);Dz(a,c[b+4>>2]|0);Gy(b+16|0);l0a(b);return}}function Ez(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;d=c[a+76>>2]|0;m=a+80|0;if((d|0)==(c[m>>2]|0))return;n=b+4|0;do{k=c[d+8>>2]|0;l=c[d+4>>2]|0;e=c[b>>2]|0;a=l;f=k;a:do if((k-l|0)==((c[n>>2]|0)-e|0)){if((a|0)!=(f|0))while(1){if((c[a>>2]|0)!=(c[e>>2]|0))break a;a=a+4|0;if((a|0)==(f|0))break;else e=e+4|0}k=d+40|0;c[k>>2]=0;g=d+68|0;h=c[g>>2]|0;l=d+72|0;a=c[l>>2]|0;if((h|0)!=(a|0)){e=h;do{c[e+20>>2]=0;e=e+48|0}while((e|0)!=(a|0))}j=d+36|0;i=d+20|0;do if(c[j>>2]|0){e=d+28|0;f=c[e>>2]|0;if((f|0)==(c[d+32>>2]|0)){Nz(d+24|0,i);e=c[g>>2]|0;a=c[l>>2]|0;break}else{c[f>>2]=c[i>>2];c[e>>2]=f+4;e=h;break}}else e=h;while(0);c[i>>2]=c[k>>2];c[j>>2]=(c[j>>2]|0)+1;if((e|0)!=(a|0))do{h=e+20|0;i=e+16|0;do if(c[i>>2]|0){f=e+8|0;g=c[f>>2]|0;if((g|0)==(c[e+12>>2]|0)){Nz(e+4|0,e);a=c[l>>2]|0;break}else{c[g>>2]=c[e>>2];c[f>>2]=g+4;break}}while(0);c[e>>2]=c[h>>2];c[i>>2]=(c[i>>2]|0)+1;e=e+48|0}while((e|0)!=(a|0))}while(0);d=d+80|0}while((d|0)!=(c[m>>2]|0));return}function Fz(b){b=b|0;var d=0,e=0.0,f=0.0,h=0.0,i=0.0,j=0.0,k=0.0,m=0.0,n=0,o=0.0,p=0.0,q=0,r=0.0,s=0.0,t=0,u=0,v=0,w=0;w=l;l=l+16|0;t=w;u=b+68|0;if(a[u>>0]|0){v=b+52|0;l=w;return v|0}d=b+32|0;v=b+52|0;c[v>>2]=c[d>>2];c[v+4>>2]=c[d+4>>2];c[v+8>>2]=c[d+8>>2];c[v+12>>2]=c[d+12>>2];d=c[b+48>>2]|0;if(!d){Jk[c[(c[b>>2]|0)+224>>2]&1023](t,b);m=+g[t+12>>2];do if(m>=0.0){n=b+64|0;e=+g[n>>2];if(!(e>=0.0)){c[v>>2]=c[t>>2];c[v+4>>2]=c[t+4>>2];c[v+8>>2]=c[t+8>>2];g[n>>2]=m;break}o=+g[v>>2];p=+g[t>>2];f=o-p;q=b+56|0;r=+g[q>>2];s=+g[t+4>>2];k=r-s;d=b+60|0;h=+g[d>>2];i=+g[t+8>>2];j=h-i;j=+B(+(f*f+k*k+j*j));k=m;f=e;if(!(k+j<=f)){e=f+j;if(!(e<=k)){m=(e+k)*.5;k=(m-f)/j;g[v>>2]=k*(p-o)+o;g[q>>2]=k*(s-r)+r;g[d>>2]=k*(i-h)+h;g[n>>2]=m;break}else{c[v>>2]=c[t>>2];c[v+4>>2]=c[t+4>>2];c[v+8>>2]=c[t+8>>2];g[n>>2]=m;break}}}while(0)}else{Nk[c[(c[d>>2]|0)+164>>2]&255](t,d,b);m=+g[t+12>>2];do if(m>=0.0){n=b+64|0;e=+g[n>>2];if(!(e>=0.0)){c[v>>2]=c[t>>2];c[v+4>>2]=c[t+4>>2];c[v+8>>2]=c[t+8>>2];g[n>>2]=m;break}o=+g[v>>2];p=+g[t>>2];f=o-p;q=b+56|0;r=+g[q>>2];s=+g[t+4>>2];k=r-s;d=b+60|0;h=+g[d>>2];i=+g[t+8>>2];j=h-i;j=+B(+(f*f+k*k+j*j));k=m;if(!(k+j<=e)){f=e+j;if(!(f<=k)){m=(f+k)*.5;k=(m-e)/j;g[v>>2]=k*(p-o)+o;g[q>>2]=k*(s-r)+r;g[d>>2]=k*(i-h)+h;g[n>>2]=m;break}else{c[v>>2]=c[t>>2];c[v+4>>2]=c[t+4>>2];c[v+8>>2]=c[t+8>>2];g[n>>2]=m;break}}}while(0)}a[u>>0]=1;l=w;return v|0}function Gz(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,i=0,j=0,k=0,l=0.0,m=0.0,n=0.0,o=0.0,p=0.0,q=0,r=0,s=0.0;q=c[a+12>>2]|0;a:do if((q&7|0?(e=c[a+16>>2]|0,e|0):0)?(r=a+36|0,c[r>>2]=e,d=c[a+40>>2]|0,k=c[a+44>>2]|0,(d|0)!=(k|0)):0){l=+g[b>>2];m=+g[b+4>>2];n=+g[b+8>>2];o=+g[b+12>>2];p=-o;j=1;while(1){if(j&e){s=+h[d+24>>3]+(+h[d>>3]*l+ +h[d+8>>3]*m+ +h[d+16>>3]*n);f=o<s?1:(s<p)<<31>>31;if((f|0)<0){d=1;break}i=j^e;if(f){c[r>>2]=i;e=i}}d=d+40|0;if((d|0)==(k|0))break a;else j=j<<1}return d|0}while(0);if(q&8|0?+g[a+104>>2]*(+g[a+100>>2]+(+g[b>>2]*+g[a+88>>2]+ +g[b+4>>2]*+g[a+92>>2]+ +g[b+8>>2]*+g[a+96>>2]))>+g[b+12>>2]:0){b=1;return b|0}if(!(q&16)){b=0;return b|0}d=c[a+76>>2]|0;e=a+80|0;if((d|0)==(c[e>>2]|0)){b=0;return b|0}while(1){if(psa(d,b)|0){d=1;e=17;break}d=d+80|0;if((d|0)==(c[e>>2]|0)){d=0;e=17;break}}if((e|0)==17)return d|0;return 0}function Hz(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;d=a+36|0;e=a+32|0;b=a+16|0;do if(c[e>>2]|0){f=a+24|0;g=c[f>>2]|0;if((g|0)==(c[a+28>>2]|0)){Nz(a+20|0,b);break}else{c[g>>2]=c[b>>2];c[f>>2]=g+4;break}}while(0);c[b>>2]=c[d>>2];c[e>>2]=(c[e>>2]|0)+1;b=c[a+64>>2]|0;j=a+68|0;d=c[j>>2]|0;if((b|0)!=(d|0))do{h=b+24|0;i=b+20|0;g=b+4|0;do if(c[i>>2]|0){e=b+12|0;f=c[e>>2]|0;if((f|0)==(c[b+16>>2]|0)){Nz(b+8|0,g);d=c[j>>2]|0;break}else{c[f>>2]=c[g>>2];c[e>>2]=f+4;break}}while(0);c[g>>2]=c[h>>2];c[i>>2]=(c[i>>2]|0)+1;b=b+52|0}while((b|0)!=(d|0));b=c[a+76>>2]|0;a=a+80|0;if((b|0)==(c[a>>2]|0))return;do{e=b+40|0;f=b+36|0;d=b+20|0;do if(c[f>>2]|0){g=b+28|0;h=c[g>>2]|0;if((h|0)==(c[b+32>>2]|0)){Nz(b+24|0,d);break}else{c[h>>2]=c[d>>2];c[g>>2]=h+4;break}}while(0);c[d>>2]=c[e>>2];c[f>>2]=(c[f>>2]|0)+1;d=c[b+68>>2]|0;j=b+72|0;e=c[j>>2]|0;if((d|0)!=(e|0))do{h=d+20|0;i=d+16|0;do if(c[i>>2]|0){f=d+8|0;g=c[f>>2]|0;if((g|0)==(c[d+12>>2]|0)){Nz(d+4|0,d);e=c[j>>2]|0;break}else{c[g>>2]=c[d>>2];c[f>>2]=g+4;break}}while(0);c[d>>2]=c[h>>2];c[i>>2]=(c[i>>2]|0)+1;d=d+48|0}while((d|0)!=(e|0));b=b+80|0}while((b|0)!=(c[a>>2]|0));return}function Iz(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var h=0.0,i=0,j=0,k=0,l=0.0;i=d+4|0;k=c[i>>2]|0;do if(k){l=+g[e>>2];j=d+4|0;e=k;while(1){h=+g[e+16>>2];if(l>h){i=c[e>>2]|0;if(!i){i=5;break}else{j=e;e=i}}else{if(!(h>l)){i=9;break}j=e+4|0;i=c[j>>2]|0;if(!i){i=8;break}else e=i}}if((i|0)==5){k=e;j=e;break}else if((i|0)==8){k=e;break}else if((i|0)==9){k=e;break}}else{k=i;j=i}while(0);e=c[j>>2]|0;if(e|0){d=e;f=0;c[b>>2]=d;d=b+4|0;a[d>>0]=f;return}i=j0a(96)|0;Jz(i+16|0,f);c[i>>2]=0;c[i+4>>2]=0;c[i+8>>2]=k;c[j>>2]=i;e=c[c[d>>2]>>2]|0;if(!e)e=i;else{c[d>>2]=e;e=c[j>>2]|0}fp(c[d+4>>2]|0,e);d=d+8|0;c[d>>2]=(c[d>>2]|0)+1;d=i;f=1;c[b>>2]=d;d=b+4|0;a[d>>0]=f;return}function Jz(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;c[a>>2]=c[b>>2];f=a+4|0;g=b+4|0;c[f>>2]=0;k=a+8|0;c[k>>2]=0;h=a+12|0;c[h>>2]=0;j=b+8|0;d=(c[j>>2]|0)-(c[g>>2]|0)|0;e=d>>2;if(d|0){if(e>>>0>1073741823)g1a(f);i=j0a(d)|0;c[k>>2]=i;c[f>>2]=i;c[h>>2]=i+(e<<2);e=c[g>>2]|0;d=(c[j>>2]|0)-e|0;if((d|0)>0){x2a(i|0,e|0,d|0)|0;c[k>>2]=i+(d>>>2<<2)}}d=c[b+16>>2]|0;c[a+16>>2]=d;if(!d){j=a+20|0;k=b+20|0;Kz(j,k);a=a+68|0;b=b+68|0;Lz(a,b);return}j=d+8|0;c[j>>2]=(c[j>>2]|0)+1;j=a+20|0;k=b+20|0;Kz(j,k);a=a+68|0;b=b+68|0;Lz(a,b);return}function Kz(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;c[a>>2]=c[b>>2];f=a+4|0;g=b+4|0;c[f>>2]=0;k=a+8|0;c[k>>2]=0;h=a+12|0;c[h>>2]=0;j=b+8|0;d=(c[j>>2]|0)-(c[g>>2]|0)|0;e=d>>2;if(d|0){if(e>>>0>1073741823)g1a(f);i=j0a(d)|0;c[k>>2]=i;c[f>>2]=i;c[h>>2]=i+(e<<2);e=c[g>>2]|0;d=(c[j>>2]|0)-e|0;if((d|0)>0){x2a(i|0,e|0,d|0)|0;c[k>>2]=i+(d>>>2<<2)}}c[a+16>>2]=c[b+16>>2];c[a+20>>2]=c[b+20>>2];Mz(a+24|0,b+24|0);i=a+36|0;j=b+36|0;c[i>>2]=0;k=a+40|0;c[k>>2]=0;f=a+44|0;c[f>>2]=0;g=b+40|0;d=(c[g>>2]|0)-(c[j>>2]|0)|0;e=(d|0)/12|0;if(!d)return;if(e>>>0>357913941)g1a(i);h=j0a(d)|0;c[k>>2]=h;c[i>>2]=h;c[f>>2]=h+(e*12|0);e=c[j>>2]|0;d=(c[g>>2]|0)-e|0;if((d|0)<=0)return;x2a(h|0,e|0,d|0)|0;c[k>>2]=h+(((d>>>0)/12|0)*12|0);return}function Lz(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;c[a>>2]=0;h=a+4|0;c[h>>2]=0;e=a+8|0;c[e>>2]=0;g=b+4|0;d=(c[g>>2]|0)-(c[b>>2]|0)|0;f=(d|0)/48|0;if(!d)return;if(f>>>0>89478485)g1a(a);d=j0a(d)|0;c[h>>2]=d;c[a>>2]=d;c[e>>2]=d+(f*48|0);a=c[b>>2]|0;b=c[g>>2]|0;if((a|0)==(b|0))return;do{Kz(d,a);a=a+48|0;d=(c[h>>2]|0)+48|0;c[h>>2]=d}while((a|0)!=(b|0));return}function Mz(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,i=0,j=0.0,k=0.0,l=0.0;c[a>>2]=0;i=a+4|0;c[i>>2]=0;e=a+8|0;c[e>>2]=0;g=b+4|0;d=(c[g>>2]|0)-(c[b>>2]|0)|0;f=(d|0)/40|0;if(!d)return;if(f>>>0>107374182)g1a(a);d=j0a(d)|0;c[i>>2]=d;c[a>>2]=d;c[e>>2]=d+(f*40|0);a=c[b>>2]|0;b=c[g>>2]|0;if((a|0)==(b|0))return;do{k=+h[a>>3];h[d>>3]=k;l=+h[a+8>>3];h[d+8>>3]=l;j=+h[a+16>>3];h[d+16>>3]=j;h[d+24>>3]=+h[a+24>>3];g=(l>=0.0?2:0)|k>=0.0|(j>=0.0?4:0);c[d+32>>2]=g;c[d+36>>2]=g^7;a=a+40|0;d=d+40|0}while((a|0)!=(b|0));c[i>>2]=d;return}function Nz(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;i=a+4|0;j=c[a>>2]|0;k=(c[i>>2]|0)-j|0;g=k>>2;d=g+1|0;if(d>>>0>1073741823)g1a(a);l=a+8|0;f=(c[l>>2]|0)-j|0;h=f>>1;h=f>>2>>>0<536870911?(h>>>0<d>>>0?d:h):1073741823;do if(h)if(h>>>0>1073741823){l=db(8)|0;p0a(l,183738);c[l>>2]=110936;hb(l|0,65952,1066)}else{f=j0a(h<<2)|0;e=f;break}else{e=0;f=0}while(0);d=e+(g<<2)|0;c[d>>2]=c[b>>2];if((k|0)>0)x2a(f|0,j|0,k|0)|0;c[a>>2]=e;c[i>>2]=d+4;c[l>>2]=e+(h<<2);if(!j)return;l0a(j);return}function Oz(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0;p=l;l=l+16|0;m=p;o=a+312|0;g=c[o>>2]|0;k=a+300|0;n=a+304|0;e=c[n>>2]|0;d=c[k>>2]|0;f=d;do if(g>>>0<e-d>>2>>>0){i=g;while(1){g=c[o>>2]|0;if((c[(c[f+(i<<2)>>2]|0)+8>>2]|0)<=1){j=5;break}i=g+1|0;c[o>>2]=i;e=c[n>>2]|0;f=c[k>>2]|0;if(i>>>0>=e-f>>2>>>0){j=6;break}}if((j|0)==5){f=c[k>>2]|0;d=f;e=c[n>>2]|0;break}else if((j|0)==6){d=f;g=i;break}}while(0);if(g>>>0<e-d>>2>>>0){c[o>>2]=g+1;o=c[f+(g<<2)>>2]|0;h[o+32>>3]=+h[b>>3];h[o+40>>3]=+h[b+8>>3];h[o+48>>3]=+h[b+16>>3];h[o+56>>3]=+h[b+24>>3];h[o+64>>3]=+h[b+32>>3];h[o+72>>3]=+h[b+40>>3];h[o+80>>3]=+h[b+48>>3];h[o+88>>3]=+h[b+56>>3];h[o+96>>3]=+h[b+64>>3];h[o+104>>3]=+h[b+72>>3];h[o+112>>3]=+h[b+80>>3];h[o+120>>3]=+h[b+88>>3];h[o+128>>3]=+h[b+96>>3];h[o+136>>3]=+h[b+104>>3];h[o+144>>3]=+h[b+112>>3];h[o+152>>3]=+h[b+120>>3];l=p;return o|0}f=j0a(160)|0;Uha(f,0);d=f+12|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[f+24>>2]=2;c[f+28>>2]=0;h[f+32>>3]=+h[b>>3];h[f+40>>3]=+h[b+8>>3];h[f+48>>3]=+h[b+16>>3];h[f+56>>3]=+h[b+24>>3];h[f+64>>3]=+h[b+32>>3];h[f+72>>3]=+h[b+40>>3];h[f+80>>3]=+h[b+48>>3];h[f+88>>3]=+h[b+56>>3];h[f+96>>3]=+h[b+64>>3];h[f+104>>3]=+h[b+72>>3];h[f+112>>3]=+h[b+80>>3];h[f+120>>3]=+h[b+88>>3];h[f+128>>3]=+h[b+96>>3];h[f+136>>3]=+h[b+104>>3];h[f+144>>3]=+h[b+112>>3];h[f+152>>3]=+h[b+120>>3];c[f>>2]=71124;c[m>>2]=f;d=f+8|0;c[d>>2]=(c[d>>2]|0)+1;d=c[n>>2]|0;if(d>>>0<(c[a+308>>2]|0)>>>0){e=c[m>>2]|0;c[d>>2]=e;if(e){d=e+8|0;c[d>>2]=(c[d>>2]|0)+1;d=c[n>>2]|0}c[n>>2]=d+4}else nA(k,m);d=c[m>>2]|0;if(d|0?(m=d+8|0,n=c[m>>2]|0,c[m>>2]=n-1,(n|0)==1):0)UU(d,1,1);c[o>>2]=(c[o>>2]|0)+1;o=f;l=p;return o|0}function Pz(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,i=0,j=0,k=0.0,m=0.0,n=0.0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0.0,y=0.0,z=0.0;w=l;l=l+256|0;v=w+128|0;u=w;o=a+96|0;p=a+112|0;e=c[p>>2]|0;if(!e)t=0;else t=c[o>>2]|0;j=(b|0)==0;if(!j){e=b+8|0;c[e>>2]=(c[e>>2]|0)+1;e=c[p>>2]|0}do if(e|0){i=a+104|0;e=c[i>>2]|0;if((e|0)==(c[a+108>>2]|0)){Sz(a+100|0,o);break}f=c[o>>2]|0;c[e>>2]=f;if(f){e=f+8|0;c[e>>2]=(c[e>>2]|0)+1;e=c[i>>2]|0}c[i>>2]=e+4}while(0);e=c[o>>2]|0;if((e|0)!=(b|0)){c[o>>2]=b;if(!j){s=b+8|0;c[s>>2]=(c[s>>2]|0)+1}if(e|0?(r=e+8|0,s=c[r>>2]|0,c[r>>2]=s-1,(s|0)==1):0)UU(e,1,1)}c[p>>2]=(c[p>>2]|0)+1;if(!j?(r=b+8|0,s=c[r>>2]|0,c[r>>2]=s-1,(s|0)==1):0)UU(b,1,1);Tz(a);Qra(v);q=b+32|0;if(((+h[b+56>>3]==0.0?+h[b+88>>3]==0.0:0)?+h[b+120>>3]==0.0:0)?+h[b+152>>3]==1.0:0)Xra(v,q)|0;else Yra(v,q)|0;switch(d|0){case 0:{e=a+184|0;p=v+96|0;b=v+104|0;d=v+112|0;k=+h[p>>3];m=+h[b>>3];n=+h[d>>3];f=a+208|0;do if(c[f>>2]|0){i=a+200|0;j=c[i>>2]|0;if((j|0)==(c[a+204>>2]|0)){Fy(a+196|0,e);break}else{c[j>>2]=c[e>>2];c[j+4>>2]=c[e+4>>2];c[j+8>>2]=c[e+8>>2];c[i>>2]=(c[i>>2]|0)+12;break}}while(0);g[a+184>>2]=k;g[a+188>>2]=m;g[a+192>>2]=n;c[f>>2]=(c[f>>2]|0)+1;e=a+156|0;f=a+156|0;i=a+180|0;do if(c[i>>2]|0){j=a+172|0;o=c[j>>2]|0;if((o|0)==(c[a+176>>2]|0)){Fy(a+168|0,e);break}else{c[o>>2]=c[e>>2];c[o+4>>2]=c[e+4>>2];c[o+8>>2]=c[e+8>>2];c[j>>2]=(c[j>>2]|0)+12;break}}while(0);c[e>>2]=c[f>>2];c[e+4>>2]=c[f+4>>2];c[e+8>>2]=c[f+8>>2];c[i>>2]=(c[i>>2]|0)+1;y=+g[f>>2];x=+g[a+160>>2];k=+g[a+164>>2];z=1.0/(+h[v+120>>3]+(+h[v+24>>3]*y+ +h[v+56>>3]*x+ +h[v+88>>3]*k));n=z*(+h[p>>3]+(+h[v>>3]*y+ +h[v+32>>3]*x+ +h[v+64>>3]*k));m=z*(+h[b>>3]+(+h[v+8>>3]*y+ +h[v+40>>3]*x+ +h[v+72>>3]*k));k=z*(+h[d>>3]+(+h[v+16>>3]*y+ +h[v+48>>3]*x+ +h[v+80>>3]*k));f=a+212|0;e=a+236|0;do if(c[e>>2]|0){i=a+228|0;j=c[i>>2]|0;if((j|0)==(c[a+232>>2]|0)){Fy(a+224|0,f);break}else{c[j>>2]=c[f>>2];c[j+4>>2]=c[f+4>>2];c[j+8>>2]=c[f+8>>2];c[i>>2]=(c[i>>2]|0)+12;break}}while(0);g[a+212>>2]=n;g[a+216>>2]=m;g[a+220>>2]=k;break}case 1:{o=a+184|0;m=+h[v+96>>3];n=+h[v+104>>3];k=+h[v+112>>3];e=a+208|0;do if(c[e>>2]|0){f=a+200|0;i=c[f>>2]|0;if((i|0)==(c[a+204>>2]|0)){Fy(a+196|0,o);break}else{c[i>>2]=c[o>>2];c[i+4>>2]=c[o+4>>2];c[i+8>>2]=c[o+8>>2];c[f>>2]=(c[f>>2]|0)+12;break}}while(0);g[a+184>>2]=m;g[a+188>>2]=n;g[a+192>>2]=k;c[e>>2]=(c[e>>2]|0)+1;e=a+156|0;f=a+180|0;do if(c[f>>2]|0){i=a+172|0;j=c[i>>2]|0;if((j|0)==(c[a+176>>2]|0)){Fy(a+168|0,e);break}else{c[j>>2]=c[e>>2];c[j+4>>2]=c[e+4>>2];c[j+8>>2]=c[e+8>>2];c[i>>2]=(c[i>>2]|0)+12;break}}while(0);g[a+156>>2]=0.0;g[a+160>>2]=0.0;g[a+164>>2]=0.0;c[f>>2]=(c[f>>2]|0)+1;f=a+212|0;e=a+236|0;do if(c[e>>2]|0){i=a+228|0;j=c[i>>2]|0;if((j|0)==(c[a+232>>2]|0)){Fy(a+224|0,f);break}else{c[j>>2]=c[f>>2];c[j+4>>2]=c[f+4>>2];c[j+8>>2]=c[f+8>>2];c[i>>2]=(c[i>>2]|0)+12;break}}while(0);c[f>>2]=c[o>>2];c[f+4>>2]=c[o+4>>2];c[f+8>>2]=c[o+8>>2];break}case 2:{e=a+184|0;d=v+96|0;r=v+104|0;s=v+112|0;k=+h[d>>3];m=+h[r>>3];n=+h[s>>3];f=a+208|0;do if(c[f>>2]|0){i=a+200|0;j=c[i>>2]|0;if((j|0)==(c[a+204>>2]|0)){Fy(a+196|0,e);break}else{c[j>>2]=c[e>>2];c[j+4>>2]=c[e+4>>2];c[j+8>>2]=c[e+8>>2];c[i>>2]=(c[i>>2]|0)+12;break}}while(0);g[a+184>>2]=k;g[a+188>>2]=m;g[a+192>>2]=n;c[f>>2]=(c[f>>2]|0)+1;o=a+156|0;k=+g[o>>2];p=a+160|0;n=+g[p>>2];b=a+164|0;m=+g[b>>2];if(t){Qra(u);e=t+32|0;if(((+h[t+56>>3]==0.0?+h[t+88>>3]==0.0:0)?+h[t+120>>3]==0.0:0)?+h[t+152>>3]==1.0:0)Xra(u,e)|0;else Yra(u,e)|0;Vra(u,q);y=k;z=n;x=1.0/(+h[u+120>>3]+(+h[u+24>>3]*y+ +h[u+56>>3]*z+ +h[u+88>>3]*m));k=x*(+h[u+96>>3]+(+h[u>>3]*y+ +h[u+32>>3]*z+ +h[u+64>>3]*m));n=x*(+h[u+104>>3]+(+h[u+8>>3]*y+ +h[u+40>>3]*z+ +h[u+72>>3]*m));m=x*(+h[u+112>>3]+(+h[u+16>>3]*y+ +h[u+48>>3]*z+ +h[u+80>>3]*m))}e=a+156|0;f=a+180|0;do if(c[f>>2]|0){i=a+172|0;j=c[i>>2]|0;if((j|0)==(c[a+176>>2]|0)){Fy(a+168|0,e);break}else{c[j>>2]=c[e>>2];c[j+4>>2]=c[e+4>>2];c[j+8>>2]=c[e+8>>2];c[i>>2]=(c[i>>2]|0)+12;break}}while(0);g[o>>2]=k;g[p>>2]=n;g[b>>2]=m;c[f>>2]=(c[f>>2]|0)+1;y=k;z=n;k=m;x=1.0/(+h[v+120>>3]+(+h[v+24>>3]*y+ +h[v+56>>3]*z+ +h[v+88>>3]*k));n=x*(+h[d>>3]+(+h[v>>3]*y+ +h[v+32>>3]*z+ +h[v+64>>3]*k));m=x*(+h[r>>3]+(+h[v+8>>3]*y+ +h[v+40>>3]*z+ +h[v+72>>3]*k));k=x*(+h[s>>3]+(+h[v+16>>3]*y+ +h[v+48>>3]*z+ +h[v+80>>3]*k));f=a+212|0;e=a+236|0;do if(c[e>>2]|0){i=a+228|0;j=c[i>>2]|0;if((j|0)==(c[a+232>>2]|0)){Fy(a+224|0,f);break}else{c[j>>2]=c[f>>2];c[j+4>>2]=c[f+4>>2];c[j+8>>2]=c[f+8>>2];c[i>>2]=(c[i>>2]|0)+12;break}}while(0);g[a+212>>2]=n;g[a+216>>2]=m;g[a+220>>2]=k;break}default:{u=a+96|0;u=c[u>>2]|0;v=u+48|0;x=+h[v>>3];v=u+80|0;y=+h[v>>3];u=u+112|0;z=+h[u>>3];u=x<=-0.0;u=u&1;v=y<=-0.0;v=v?2:0;u=v|u;v=z<=-0.0;v=v?4:0;v=u|v;u=a+292|0;c[u>>2]=v;v=v^7;a=a+288|0;c[a>>2]=v;l=w;return}}c[e>>2]=(c[e>>2]|0)+1;u=a+96|0;u=c[u>>2]|0;v=u+48|0;x=+h[v>>3];v=u+80|0;y=+h[v>>3];u=u+112|0;z=+h[u>>3];u=x<=-0.0;u=u&1;v=y<=-0.0;v=v?2:0;u=v|u;v=z<=-0.0;v=v?4:0;v=u|v;u=a+292|0;c[u>>2]=v;v=v^7;a=a+288|0;c[a>>2]=v;l=w;return}function Qz(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,i=0;i=a+112|0;b=c[i>>2]|0;if(b|0){g=a+104|0;e=c[g>>2]|0;if((c[a+100>>2]|0)!=(e|0)){f=a+96|0;d=c[f>>2]|0;b=c[e+-4>>2]|0;if((d|0)!=(b|0)){c[f>>2]=b;if(b|0){f=b+8|0;c[f>>2]=(c[f>>2]|0)+1}if(d|0?(e=d+8|0,f=c[e>>2]|0,c[e>>2]=f-1,(f|0)==1):0)UU(d,1,1)}b=(c[g>>2]|0)+-4|0;d=c[b>>2]|0;if(d|0?(e=d+8|0,f=c[e>>2]|0,c[e>>2]=f-1,(f|0)==1):0)UU(d,1,1);c[b>>2]=0;c[g>>2]=b;b=c[i>>2]|0}c[i>>2]=b+-1}b=a+184|0;d=a+208|0;e=c[d>>2]|0;if(e|0){f=a+200|0;g=c[f>>2]|0;if((c[a+196>>2]|0)!=(g|0)){g=g+-12|0;c[b>>2]=c[g>>2];c[b+4>>2]=c[g+4>>2];c[b+8>>2]=c[g+8>>2];c[f>>2]=g}c[d>>2]=e+-1}b=a+156|0;d=a+180|0;e=c[d>>2]|0;if(e|0){f=a+172|0;g=c[f>>2]|0;if((c[a+168>>2]|0)!=(g|0)){g=g+-12|0;c[b>>2]=c[g>>2];c[b+4>>2]=c[g+4>>2];c[b+8>>2]=c[g+8>>2];c[f>>2]=g}c[d>>2]=e+-1}b=a+212|0;d=a+236|0;e=c[d>>2]|0;if(e|0){f=a+228|0;g=c[f>>2]|0;if((c[a+224>>2]|0)!=(g|0)){g=g+-12|0;c[b>>2]=c[g>>2];c[b+4>>2]=c[g+4>>2];c[b+8>>2]=c[g+8>>2];c[f>>2]=g}c[d>>2]=e+-1}Rz(a);if(!(c[i>>2]|0)){i=1;f=2;g=0;i=f|i;g=i|g;i=a+292|0;c[i>>2]=g;g=g^7;i=a+288|0;c[i>>2]=g;return}g=c[a+96>>2]|0;i=+h[g+48>>3]<=-0.0&1;f=+h[g+80>>3]<=-0.0?2:0;g=+h[g+112>>3]<=-0.0?4:0;i=f|i;g=i|g;i=a+292|0;c[i>>2]=g;g=g^7;i=a+288|0;c[i>>2]=g;return}function Rz(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;h=a+132|0;b=c[h>>2]|0;if(b|0){g=a+124|0;e=c[g>>2]|0;if((c[a+120>>2]|0)!=(e|0)){f=a+116|0;d=c[f>>2]|0;b=c[e+-4>>2]|0;if((d|0)!=(b|0)){c[f>>2]=b;if(b|0){f=b+8|0;c[f>>2]=(c[f>>2]|0)+1}if(d|0?(e=d+8|0,f=c[e>>2]|0,c[e>>2]=f-1,(f|0)==1):0)UU(d,1,1)}b=(c[g>>2]|0)+-4|0;d=c[b>>2]|0;if(d|0?(e=d+8|0,f=c[e>>2]|0,c[e>>2]=f-1,(f|0)==1):0)UU(d,1,1);c[b>>2]=0;c[g>>2]=b;b=c[h>>2]|0}c[h>>2]=b+-1}g=a+276|0;b=c[g>>2]|0;h=b+-1|0;c[g>>2]=h;if(!h)return;c[a+280>>2]=(c[a+264>>2]|0)+((b+-2|0)*108|0);return}function Sz(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;m=a+4|0;d=c[m>>2]|0;e=c[a>>2]|0;i=d-e>>2;f=i+1|0;g=e;if(f>>>0>1073741823)g1a(a);l=a+8|0;j=(c[l>>2]|0)-e|0;k=j>>1;f=j>>2>>>0<536870911?(k>>>0<f>>>0?f:k):1073741823;do if(f)if(f>>>0>1073741823){m=db(8)|0;p0a(m,183738);c[m>>2]=110936;hb(m|0,65952,1066)}else{j=j0a(f<<2)|0;break}else j=0;while(0);e=j+(i<<2)|0;k=j+(f<<2)|0;f=c[b>>2]|0;c[e>>2]=f;if(f){g=f+8|0;c[g>>2]=(c[g>>2]|0)+1;g=c[a>>2]|0;d=c[m>>2]|0}h=e+4|0;f=g;if((d|0)==(g|0))b=f;else{b=i+-1-((d+-4-f|0)>>>2)|0;while(1){d=d+-4|0;f=c[d>>2]|0;c[e+-4>>2]=f;if(f|0){i=f+8|0;c[i>>2]=(c[i>>2]|0)+1}if((d|0)==(g|0))break;else e=e+-4|0}e=j+(b<<2)|0;b=c[a>>2]|0;d=c[m>>2]|0}c[a>>2]=e;c[m>>2]=h;c[l>>2]=k;f=b;if((d|0)!=(f|0))do{d=d+-4|0;e=c[d>>2]|0;if(e|0?(l=e+8|0,m=c[l>>2]|0,c[l>>2]=m-1,(m|0)==1):0)UU(e,1,1);c[d>>2]=0}while((d|0)!=(f|0));if(!b)return;l0a(b);return}function Tz(a){a=a|0;var b=0,d=0,e=0,f=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0;o=l;l=l+224|0;n=o+108|0;k=o;f=a+116|0;h=a+132|0;do if(c[h>>2]|0){e=a+124|0;b=c[e>>2]|0;if((b|0)==(c[a+128>>2]|0)){Sz(a+120|0,f);break}d=c[f>>2]|0;c[b>>2]=d;if(d){b=d+8|0;c[b>>2]=(c[b>>2]|0)+1;b=c[e>>2]|0}c[e>>2]=b+4}while(0);b=c[f>>2]|0;if(b|0?(c[f>>2]=0,j=b+8|0,m=c[j>>2]|0,c[j>>2]=m-1,(m|0)==1):0)UU(b,1,1);c[h>>2]=(c[h>>2]|0)+1;m=a+276|0;if(c[m>>2]|0){j=a+96|0;aA(n,c[a+136>>2]|0,(c[a+76>>2]|0)+32|0,(c[j>>2]|0)+32|0);d=c[m>>2]|0;f=a+264|0;e=a+268|0;b=c[f>>2]|0;if(d>>>0>=(((c[e>>2]|0)-b|0)/108|0)>>>0){Tha(k);c[k>>2]=71376;b=k+32|0;h=k+16|0;i=h+48|0;do{c[h>>2]=0;h=h+4|0}while((h|0)<(i|0));c[b>>2]=1;b=k+64|0;c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;c[b+12>>2]=0;c[b+16>>2]=0;c[b+20>>2]=0;c[k+12>>2]=31;g[k+88>>2]=0.0;g[k+92>>2]=0.0;g[k+96>>2]=0.0;g[k+100>>2]=1.0;g[k+104>>2]=2.0;b=c[e>>2]|0;if(b>>>0<(c[a+272>>2]|0)>>>0){Uz(b,k);c[e>>2]=(c[e>>2]|0)+108}else Vz(f,k);Wz(k);d=c[m>>2]|0;b=c[f>>2]|0}c[m>>2]=d+1;bA(b+(d*108|0)|0,(c[a+256>>2]|0)+-108|0,(c[j>>2]|0)+32|0,n);n=c[m>>2]|0;n=n+-1|0;m=a+264|0;m=c[m>>2]|0;n=m+(n*108|0)|0;a=a+280|0;c[a>>2]=n;l=o;return}f=a+264|0;b=c[f>>2]|0;d=a+268|0;if((b|0)==(c[d>>2]|0)){Tha(n);c[n>>2]=71376;b=n+32|0;h=n+16|0;i=h+48|0;do{c[h>>2]=0;h=h+4|0}while((h|0)<(i|0));c[b>>2]=1;b=n+64|0;c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;c[b+12>>2]=0;c[b+16>>2]=0;c[b+20>>2]=0;c[n+12>>2]=31;g[n+88>>2]=0.0;g[n+92>>2]=0.0;g[n+96>>2]=0.0;g[n+100>>2]=1.0;g[n+104>>2]=2.0;b=c[d>>2]|0;if(b>>>0<(c[a+272>>2]|0)>>>0){Uz(b,n);c[d>>2]=(c[d>>2]|0)+108}else Vz(f,n);Wz(n);e=c[m>>2]|0;b=c[f>>2]|0}else e=0;c[m>>2]=e+1;d=c[a+256>>2]|0;c[b+(e*108|0)+12>>2]=c[d+-96>>2];if((d+-108|0)!=(b+(e*108|0)|0)){c[b+(e*108|0)+16>>2]=c[d+-92>>2];Xz(b+(e*108|0)+20|0,c[d+-88>>2]|0,c[d+-84>>2]|0);c[b+(e*108|0)+32>>2]=c[d+-76>>2];c[b+(e*108|0)+36>>2]=c[d+-72>>2];Yz(b+(e*108|0)+40|0,c[d+-68>>2]|0,c[d+-64>>2]|0);Zz(b+(e*108|0)+52|0,c[d+-56>>2]|0,c[d+-52>>2]|0);_z(b+(e*108|0)+64|0,c[d+-44>>2]|0,c[d+-40>>2]|0);$z(b+(e*108|0)+76|0,c[d+-32>>2]|0,c[d+-28>>2]|0)}k=d+-20|0;n=b+(e*108|0)+88|0;c[n>>2]=c[k>>2];c[n+4>>2]=c[k+4>>2];c[n+8>>2]=c[k+8>>2];c[n+12>>2]=c[k+12>>2];c[b+(e*108|0)+104>>2]=c[d+-4>>2];n=c[m>>2]|0;n=n+-1|0;m=a+264|0;m=c[m>>2]|0;n=m+(n*108|0)|0;a=a+280|0;c[a>>2]=n;l=o;return}function Uz(a,b){a=a|0;b=b|0;var d=0,e=0;Tha(a);c[a>>2]=71376;c[a+12>>2]=c[b+12>>2];Kz(a+16|0,b+16|0);kA(a+64|0,b+64|0);lA(a+76|0,b+76|0);d=a+88|0;e=b+88|0;c[d>>2]=c[e>>2];c[d+4>>2]=c[e+4>>2];c[d+8>>2]=c[e+8>>2];c[d+12>>2]=c[e+12>>2];c[a+104>>2]=c[b+104>>2];return}function Vz(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;i=a+4|0;d=c[a>>2]|0;f=((c[i>>2]|0)-d|0)/108|0;e=f+1|0;if(e>>>0>39768215)g1a(a);j=a+8|0;h=((c[j>>2]|0)-d|0)/108|0;g=h<<1;g=h>>>0<19884107?(g>>>0<e>>>0?e:g):39768215;do if(g)if(g>>>0>39768215){j=db(8)|0;p0a(j,183738);c[j>>2]=110936;hb(j|0,65952,1066)}else{d=j0a(g*108|0)|0;break}else d=0;while(0);f=d+(f*108|0)|0;e=f;h=d+(g*108|0)|0;Uz(f,b);b=f+108|0;g=c[a>>2]|0;d=c[i>>2]|0;if((d|0)==(g|0)){f=g;d=g}else{while(1){d=d+-108|0;Uz(f+-108|0,d);f=e+-108|0;if((d|0)==(g|0))break;else e=f}e=f;f=c[a>>2]|0;d=c[i>>2]|0}c[a>>2]=e;c[i>>2]=b;c[j>>2]=h;e=f;if((d|0)!=(e|0))do{d=d+-108|0;Bk[c[(c[d>>2]|0)+4>>2]&2047](d)}while((d|0)!=(e|0));if(!f)return;l0a(f);return}function Wz(a){a=a|0;var b=0,d=0,e=0,f=0;c[a>>2]=71376;d=a+76|0;e=c[d>>2]|0;if(e|0){f=a+80|0;b=c[f>>2]|0;if((b|0)==(e|0))b=e;else{do{b=b+-80|0;Gy(b)}while((b|0)!=(e|0));b=c[d>>2]|0}c[f>>2]=e;l0a(b)}jA(a+64|0);b=c[a+52>>2]|0;if(b|0){c[a+56>>2]=b;l0a(b)}b=c[a+40>>2]|0;if(b|0){c[a+44>>2]=b;l0a(b)}b=c[a+20>>2]|0;if(!b){SU(a);return}c[a+24>>2]=b;l0a(b);SU(a);return}function Xz(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;k=d;h=b;g=k-h|0;f=g>>2;i=a+8|0;e=c[i>>2]|0;l=c[a>>2]|0;j=l;if(f>>>0<=e-l>>2>>>0){g=a+4|0;a=(c[g>>2]|0)-l>>2;f=f>>>0>a>>>0;a=f?b+(a<<2)|0:d;d=a;e=d-h|0;if(e|0)y2a(l|0,b|0,e|0)|0;if(!f){c[g>>2]=j+(e>>2<<2);return}e=k-d|0;if((e|0)<=0)return;x2a(c[g>>2]|0,a|0,e|0)|0;c[g>>2]=(c[g>>2]|0)+(e>>>2<<2);return}if(l){e=a+4|0;c[e>>2]=l;l0a(l);c[i>>2]=0;c[e>>2]=0;c[a>>2]=0;e=0}if(f>>>0>1073741823)g1a(a);l=e>>1;f=e>>2>>>0<536870911?(l>>>0<f>>>0?f:l):1073741823;if(f>>>0>1073741823)g1a(a);e=j0a(f<<2)|0;d=a+4|0;c[d>>2]=e;c[a>>2]=e;c[i>>2]=e+(f<<2);if((g|0)<=0)return;x2a(e|0,b|0,g|0)|0;c[d>>2]=e+(g>>>2<<2);return}function Yz(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,i=0,j=0,k=0.0,l=0.0,m=0.0,n=0;i=(d-b|0)/40|0;j=a+8|0;e=c[j>>2]|0;g=c[a>>2]|0;f=g;if(i>>>0>((e-g|0)/40|0)>>>0){if(g){e=a+4|0;c[e>>2]=g;l0a(g);c[j>>2]=0;c[e>>2]=0;c[a>>2]=0;e=0}if(i>>>0>107374182)g1a(a);g=(e|0)/40|0;f=g<<1;f=g>>>0<53687091?(f>>>0<i>>>0?i:f):107374182;if(f>>>0>107374182)g1a(a);e=j0a(f*40|0)|0;g=a+4|0;c[g>>2]=e;c[a>>2]=e;c[j>>2]=e+(f*40|0);if((b|0)==(d|0))return;do{l=+h[b>>3];h[e>>3]=l;m=+h[b+8>>3];h[e+8>>3]=m;k=+h[b+16>>3];h[e+16>>3]=k;h[e+24>>3]=+h[b+24>>3];j=(m>=0.0?2:0)|l>=0.0|(k>=0.0?4:0);c[e+32>>2]=j;c[e+36>>2]=j^7;b=b+40|0;e=e+40|0}while((b|0)!=(d|0));c[g>>2]=e;return}j=a+4|0;e=c[j>>2]|0;a=(e-g|0)/40|0;g=i>>>0>a>>>0;i=b+(a*40|0)|0;a=g?i:d;if((a|0)==(b|0))b=f;else{do{if((b|0)!=(f|0)){l=+h[b>>3];h[f>>3]=l;k=+h[b+8>>3];h[f+8>>3]=k;m=+h[b+16>>3];h[f+16>>3]=m;h[f+24>>3]=+h[b+24>>3];n=(k>=0.0?2:0)|l>=0.0|(m>=0.0?4:0);c[f+32>>2]=n;c[f+36>>2]=n^7}b=b+40|0;f=f+40|0}while((b|0)!=(a|0));b=f}if(!g){c[j>>2]=b;return}if((a|0)==(d|0))return;b=i;do{l=+h[b>>3];h[e>>3]=l;k=+h[b+8>>3];h[e+8>>3]=k;m=+h[b+16>>3];h[e+16>>3]=m;h[e+24>>3]=+h[b+24>>3];n=(k>=0.0?2:0)|l>=0.0|(m>=0.0?4:0);c[e+32>>2]=n;c[e+36>>2]=n^7;b=b+40|0;e=e+40|0}while((b|0)!=(d|0));c[j>>2]=e;return}function Zz(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;k=d;h=b;g=k-h|0;f=(g|0)/12|0;i=a+8|0;e=c[i>>2]|0;l=c[a>>2]|0;j=l;if(f>>>0<=((e-l|0)/12|0)>>>0){g=a+4|0;a=((c[g>>2]|0)-l|0)/12|0;f=f>>>0>a>>>0;a=f?b+(a*12|0)|0:d;d=a;e=d-h|0;if(e|0)y2a(l|0,b|0,e|0)|0;if(!f){c[g>>2]=j+(((e|0)/12|0)*12|0);return}e=k-d|0;if((e|0)<=0)return;x2a(c[g>>2]|0,a|0,e|0)|0;c[g>>2]=(c[g>>2]|0)+(((e>>>0)/12|0)*12|0);return}if(l){e=a+4|0;c[e>>2]=l;l0a(l);c[i>>2]=0;c[e>>2]=0;c[a>>2]=0;e=0}if(f>>>0>357913941)g1a(a);k=(e|0)/12|0;l=k<<1;f=k>>>0<178956970?(l>>>0<f>>>0?f:l):357913941;if(f>>>0>357913941)g1a(a);e=j0a(f*12|0)|0;d=a+4|0;c[d>>2]=e;c[a>>2]=e;c[i>>2]=e+(f*12|0);if((g|0)<=0)return;x2a(e|0,b|0,g|0)|0;c[d>>2]=e+(((g>>>0)/12|0)*12|0);return}function _z(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;e=(d-b|0)/52|0;h=a+8|0;g=c[a>>2]|0;f=g;if(e>>>0>(((c[h>>2]|0)-g|0)/52|0)>>>0){iA(a);if(e>>>0>82595524)g1a(a);i=((c[h>>2]|0)-(c[a>>2]|0)|0)/52|0;j=i<<1;e=i>>>0<41297762?(j>>>0<e>>>0?e:j):82595524;if(e>>>0>82595524)g1a(a);f=j0a(e*52|0)|0;g=a+4|0;c[g>>2]=f;c[a>>2]=f;c[h>>2]=f+(e*52|0);if((b|0)==(d|0))return;do{e=c[b>>2]|0;c[f>>2]=e;if(e|0){j=e+8|0;c[j>>2]=(c[j>>2]|0)+1}Kz(f+4|0,b+4|0);b=b+52|0;f=(c[g>>2]|0)+52|0;c[g>>2]=f}while((b|0)!=(d|0));return}j=a+4|0;i=((c[j>>2]|0)-g|0)/52|0;h=e>>>0>i>>>0;e=b+(i*52|0)|0;i=h?e:d;if((i|0)==(b|0))b=f;else{do{g=c[f>>2]|0;a=c[b>>2]|0;if((g|0)!=(a|0)){c[f>>2]=a;if(a|0){a=a+8|0;c[a>>2]=(c[a>>2]|0)+1}if(g|0?(k=g+8|0,a=c[k>>2]|0,c[k>>2]=a-1,(a|0)==1):0)UU(g,1,1)}if((b|0)!=(f|0)){c[f+4>>2]=c[b+4>>2];Xz(f+8|0,c[b+8>>2]|0,c[b+12>>2]|0);c[f+20>>2]=c[b+20>>2];c[f+24>>2]=c[b+24>>2];Yz(f+28|0,c[b+28>>2]|0,c[b+32>>2]|0);Zz(f+40|0,c[b+40>>2]|0,c[b+44>>2]|0)}b=b+52|0;f=f+52|0}while((b|0)!=(i|0));b=f}if(h){if((i|0)==(d|0))return;b=c[j>>2]|0;do{f=c[e>>2]|0;c[b>>2]=f;if(f|0){k=f+8|0;c[k>>2]=(c[k>>2]|0)+1}Kz(b+4|0,e+4|0);e=e+52|0;b=(c[j>>2]|0)+52|0;c[j>>2]=b}while((e|0)!=(d|0));return}e=c[j>>2]|0;if((e|0)!=(b|0))do{f=c[e+-12>>2]|0;if(f|0){c[e+-8>>2]=f;l0a(f)}f=c[e+-24>>2]|0;if(f|0){c[e+-20>>2]=f;l0a(f)}f=c[e+-44>>2]|0;if(f|0){c[e+-40>>2]=f;l0a(f)}e=e+-52|0;f=c[e>>2]|0;if(f|0?(d=f+8|0,k=c[d>>2]|0,c[d>>2]=k-1,(k|0)==1):0)UU(f,1,1);c[e>>2]=0}while((e|0)!=(b|0));c[j>>2]=b;return}function $z(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;i=(d-b|0)/80|0;j=a+8|0;e=c[j>>2]|0;h=c[a>>2]|0;f=h;if(i>>>0<=((e-h|0)/80|0)>>>0){a=a+4|0;e=((c[a>>2]|0)-h|0)/80|0;g=i>>>0>e>>>0;e=b+(e*80|0)|0;h=g?e:d;if((h|0)!=(b|0))do{fA(f,b)|0;b=b+80|0;f=f+80|0}while((b|0)!=(h|0));if(g){if((h|0)==(d|0))return;b=c[a>>2]|0;do{Jz(b,e);e=e+80|0;b=(c[a>>2]|0)+80|0;c[a>>2]=b}while((e|0)!=(d|0));return}else{e=c[a>>2]|0;if((e|0)!=(f|0))do{e=e+-80|0;Gy(e)}while((e|0)!=(f|0));c[a>>2]=f;return}}if(h){g=a+4|0;e=c[g>>2]|0;if((e|0)==(f|0))e=h;else{do{e=e+-80|0;Gy(e)}while((e|0)!=(f|0));e=c[a>>2]|0}c[g>>2]=f;l0a(e);c[j>>2]=0;c[g>>2]=0;c[a>>2]=0;e=0}if(i>>>0>53687091)g1a(a);h=(e|0)/80|0;f=h<<1;f=h>>>0<26843545?(f>>>0<i>>>0?i:f):53687091;if(f>>>0>53687091)g1a(a);e=j0a(f*80|0)|0;g=a+4|0;c[g>>2]=e;c[a>>2]=e;c[j>>2]=e+(f*80|0);if((b|0)==(d|0))return;do{Jz(e,b);b=b+80|0;e=(c[g>>2]|0)+80|0;c[g>>2]=e}while((b|0)!=(d|0));return}function aA(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0.0,f=0.0,i=0.0,j=0.0,k=0.0,l=0.0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0;o=+h[b+72>>3];i=+h[c+88>>3];n=+h[c>>3]*o*.5;l=+h[d+16>>3];o=o*+h[c+64>>3]*.5+o*i*.5;q=+h[d>>3]*n+l*o;k=+h[d+48>>3];p=+h[d+32>>3]*n+k*o;j=+h[d+80>>3];o=+h[d+64>>3]*n+j*o;n=+h[b+80>>3];e=+h[c+40>>3]*n*.5;n=i*n*.5+n*+h[c+72>>3]*.5;m=+h[d+8>>3]*e+l*n;f=+h[d+40>>3]*e+k*n;n=+h[d+72>>3]*e+j*n;e=+h[d+112>>3]*i+ +h[d+120>>3]*+h[c+120>>3];f=.7071067690849304/+B(+(q*q+p*p+o*o+(n*n+(m*m+f*f))));g[a>>2]=f*(l*i);g[a+4>>2]=f*(k*i);g[a+8>>2]=f*(j*i);g[a+12>>2]=f*e;return}function bA(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;c[a+12>>2]=c[b+12>>2];f=a+64|0;if((a|0)!=(b|0)){_z(f,c[b+64>>2]|0,c[b+68>>2]|0);$z(a+76|0,c[b+76>>2]|0,c[b+80>>2]|0)}g=a+88|0;c[g>>2]=c[e>>2];c[g+4>>2]=c[e+4>>2];c[g+8>>2]=c[e+8>>2];c[g+12>>2]=c[e+12>>2];c[a+104>>2]=c[b+104>>2];cA(a+16|0,b+16|0,d);b=c[f>>2]|0;e=a+68|0;if((b|0)!=(c[e>>2]|0))do{dA(b+4|0,d);b=b+52|0}while((b|0)!=(c[e>>2]|0));b=c[a+76>>2]|0;a=a+80|0;if((b|0)==(c[a>>2]|0))return;do{dA(b+20|0,d);e=c[b+68>>2]|0;f=b+72|0;if((e|0)!=(c[f>>2]|0))do{dA(e,d);e=e+48|0}while((e|0)!=(c[f>>2]|0));b=b+80|0}while((b|0)!=(c[a>>2]|0));return}function cA(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,i=0,j=0,k=0,l=0.0,m=0.0,n=0.0,o=0,p=0,q=0.0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0.0,Q=0.0,R=0.0;if((a|0)!=(b|0))Zz(a+36|0,c[b+36>>2]|0,c[b+40>>2]|0);L=c[b>>2]|0;if(!L){c[a>>2]=0;c[a+20>>2]=0;c[a+28>>2]=c[a+24>>2];return}i=b+24|0;j=c[i>>2]|0;k=b+28|0;g=c[k>>2]|0;if((j|0)==(g|0))b=0;else{e=1;b=0;f=j;while(1){b=b+((e&L|0)!=0&1)|0;f=f+40|0;if((f|0)==(g|0))break;else e=e<<1}}K=a+24|0;e=a+28|0;f=c[K>>2]|0;g=((c[e>>2]|0)-f|0)/40|0;if(b>>>0<=g>>>0){if(b>>>0<g>>>0)c[e>>2]=f+(b*40|0)}else{eA(K,b-g|0);j=c[i>>2]|0}J=a+20|0;c[J>>2]=0;s=c[k>>2]|0;if((j|0)==(s|0))b=0;else{t=d+8|0;u=d+16|0;v=d+24|0;w=d+32|0;x=d+40|0;y=d+48|0;z=d+56|0;A=d+64|0;C=d+72|0;D=d+80|0;E=d+88|0;F=d+96|0;G=d+104|0;H=d+112|0;I=d+120|0;e=0;r=1;b=0;while(1){if(r&L){f=c[K>>2]|0;g=f+(e*40|0)|0;q=+h[j>>3];if((j|0)==(g|0)){O=f+(e*40|0)+8|0;N=f+(e*40|0)+16|0;M=f+(e*40|0)+24|0;i=O;k=N;o=M;p=f+(e*40|0)+32|0;f=f+(e*40|0)+36|0;l=+h[O>>3];m=+h[N>>3];n=+h[M>>3]}else{h[g>>3]=q;l=+h[j+8>>3];i=f+(e*40|0)+8|0;h[i>>3]=l;m=+h[j+16>>3];k=f+(e*40|0)+16|0;h[k>>3]=m;n=+h[j+24>>3];o=f+(e*40|0)+24|0;h[o>>3]=n;O=(l>=0.0?2:0)|q>=0.0|(m>=0.0?4:0);p=f+(e*40|0)+32|0;c[p>>2]=O;f=f+(e*40|0)+36|0;c[f>>2]=O^7}R=q*+h[d>>3]+l*+h[t>>3]+m*+h[u>>3]+n*+h[v>>3];Q=q*+h[w>>3]+l*+h[x>>3]+m*+h[y>>3]+n*+h[z>>3];P=q*+h[A>>3]+l*+h[C>>3]+m*+h[D>>3]+n*+h[E>>3];n=q*+h[F>>3]+l*+h[G>>3]+m*+h[H>>3]+n*+h[I>>3];O=(Q>=0.0?2:0)|R>=0.0|(P>=0.0?4:0);c[p>>2]=O;c[f>>2]=O^7;q=1.0/+B(+(R*R+Q*Q+P*P));h[g>>3]=R*q;h[i>>3]=Q*q;h[k>>3]=P*q;h[o>>3]=n*q;b=b<<1|1;c[J>>2]=b;e=e+1|0}j=j+40|0;if((j|0)==(s|0))break;else r=r<<1}}c[a>>2]=b;return}function dA(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0.0,y=0.0,z=0,A=0.0,C=0,D=0.0,E=0.0,F=0,G=0.0,H=0.0;w=c[a>>2]|0;if(!w)return;c[a+20>>2]=w;u=c[a+24>>2]|0;v=c[a+28>>2]|0;if((u|0)==(v|0))return;e=b+8|0;f=b+16|0;g=b+24|0;i=b+32|0;j=b+40|0;k=b+48|0;l=b+56|0;m=b+64|0;n=b+72|0;o=b+80|0;p=b+88|0;q=b+96|0;r=b+104|0;s=b+112|0;t=b+120|0;d=1;a=u;while(1){if(d&w|0){H=+h[a>>3];C=a+8|0;G=+h[C>>3];z=a+16|0;x=+h[z>>3];u=a+24|0;y=+h[u>>3];E=H*+h[b>>3]+G*+h[e>>3]+x*+h[f>>3]+y*+h[g>>3];D=H*+h[i>>3]+G*+h[j>>3]+x*+h[k>>3]+y*+h[l>>3];A=H*+h[m>>3]+G*+h[n>>3]+x*+h[o>>3]+y*+h[p>>3];y=H*+h[q>>3]+G*+h[r>>3]+x*+h[s>>3]+y*+h[t>>3];F=(D>=0.0?2:0)|E>=0.0|(A>=0.0?4:0);c[a+32>>2]=F;c[a+36>>2]=F^7;x=1.0/+B(+(E*E+D*D+A*A));h[a>>3]=E*x;h[C>>3]=D*x;h[z>>3]=A*x;h[u>>3]=y*x}a=a+40|0;if((a|0)==(v|0))break;else d=d<<1}return}function eA(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0.0,p=0.0,q=0.0;m=a+8|0;e=c[m>>2]|0;n=a+4|0;d=c[n>>2]|0;j=d;if(((e-d|0)/40|0)>>>0>=b>>>0){do{e=d+40|0;do{c[d>>2]=0;d=d+4|0}while((d|0)<(e|0));d=(c[n>>2]|0)+40|0;c[n>>2]=d;b=b+-1|0}while((b|0)!=0);return}k=c[a>>2]|0;d=(d-k|0)/40|0;i=d+b|0;l=k;if(i>>>0>107374182)g1a(a);g=(e-k|0)/40|0;f=g<<1;f=g>>>0<53687091?(f>>>0<i>>>0?i:f):107374182;do if(f)if(f>>>0>107374182){n=db(8)|0;p0a(n,183738);c[n>>2]=110936;hb(n|0,65952,1066)}else{g=j0a(f*40|0)|0;break}else g=0;while(0);e=g+(d*40|0)|0;z2a(e|0,0,b*40|0)|0;f=g+(f*40|0)|0;b=g+(i*40|0)|0;if((j|0)==(l|0))d=k;else{d=j;do{k=e;e=e+-40|0;j=d;d=d+-40|0;p=+h[d>>3];h[e>>3]=p;q=+h[j+-32>>3];h[k+-32>>3]=q;o=+h[j+-24>>3];h[k+-24>>3]=o;h[k+-16>>3]=+h[j+-16>>3];j=(q>=0.0?2:0)|p>=0.0|(o>=0.0?4:0);c[k+-8>>2]=j;c[k+-4>>2]=j^7}while((d|0)!=(l|0));d=c[a>>2]|0}c[a>>2]=e;c[n>>2]=b;c[m>>2]=f;if(!d)return;l0a(d);return}function fA(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;c[a>>2]=c[b>>2];f=(a|0)==(b|0);if(!f)gA(a+4|0,c[b+4>>2]|0,c[b+8>>2]|0);g=a+16|0;d=c[g>>2]|0;e=c[b+16>>2]|0;if((d|0)!=(e|0)){c[g>>2]=e;if(e|0){g=e+8|0;c[g>>2]=(c[g>>2]|0)+1}if(d|0?(e=d+8|0,g=c[e>>2]|0,c[e>>2]=g-1,(g|0)==1):0)UU(d,1,1)}if(f)return a|0;c[a+20>>2]=c[b+20>>2];Xz(a+24|0,c[b+24>>2]|0,c[b+28>>2]|0);c[a+36>>2]=c[b+36>>2];c[a+40>>2]=c[b+40>>2];Yz(a+44|0,c[b+44>>2]|0,c[b+48>>2]|0);Zz(a+56|0,c[b+56>>2]|0,c[b+60>>2]|0);hA(a+68|0,c[b+68>>2]|0,c[b+72>>2]|0);return a|0}function gA(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;k=d;h=b;g=k-h|0;f=g>>2;i=a+8|0;e=c[i>>2]|0;l=c[a>>2]|0;j=l;if(f>>>0<=e-l>>2>>>0){g=a+4|0;a=(c[g>>2]|0)-l>>2;f=f>>>0>a>>>0;a=f?b+(a<<2)|0:d;d=a;e=d-h|0;if(e|0)y2a(l|0,b|0,e|0)|0;if(!f){c[g>>2]=j+(e>>2<<2);return}e=k-d|0;if((e|0)<=0)return;x2a(c[g>>2]|0,a|0,e|0)|0;c[g>>2]=(c[g>>2]|0)+(e>>>2<<2);return}if(l){e=a+4|0;c[e>>2]=l;l0a(l);c[i>>2]=0;c[e>>2]=0;c[a>>2]=0;e=0}if(f>>>0>1073741823)g1a(a);l=e>>1;f=e>>2>>>0<536870911?(l>>>0<f>>>0?f:l):1073741823;if(f>>>0>1073741823)g1a(a);e=j0a(f<<2)|0;d=a+4|0;c[d>>2]=e;c[a>>2]=e;c[i>>2]=e+(f<<2);if((g|0)<=0)return;x2a(e|0,b|0,g|0)|0;c[d>>2]=e+(g>>>2<<2);return}function hA(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;i=(d-b|0)/48|0;j=a+8|0;e=c[j>>2]|0;g=c[a>>2]|0;f=g;if(i>>>0>((e-g|0)/48|0)>>>0){if(g){h=a+4|0;e=c[h>>2]|0;if((e|0)==(f|0))e=g;else{do{g=c[e+-12>>2]|0;if(g|0){c[e+-8>>2]=g;l0a(g)}g=c[e+-24>>2]|0;if(g|0){c[e+-20>>2]=g;l0a(g)}g=c[e+-44>>2]|0;if(g|0){c[e+-40>>2]=g;l0a(g)}e=e+-48|0}while((e|0)!=(f|0));e=c[a>>2]|0}c[h>>2]=f;l0a(e);c[j>>2]=0;c[h>>2]=0;c[a>>2]=0;e=0}if(i>>>0>89478485)g1a(a);h=(e|0)/48|0;f=h<<1;f=h>>>0<44739242?(f>>>0<i>>>0?i:f):89478485;if(f>>>0>89478485)g1a(a);e=j0a(f*48|0)|0;g=a+4|0;c[g>>2]=e;c[a>>2]=e;c[j>>2]=e+(f*48|0);if((b|0)==(d|0))return;do{Kz(e,b);b=b+48|0;e=(c[g>>2]|0)+48|0;c[g>>2]=e}while((b|0)!=(d|0));return}a=a+4|0;e=((c[a>>2]|0)-g|0)/48|0;g=i>>>0>e>>>0;e=b+(e*48|0)|0;h=g?e:d;if((h|0)!=(b|0))do{if((b|0)!=(f|0)){c[f>>2]=c[b>>2];Xz(f+4|0,c[b+4>>2]|0,c[b+8>>2]|0);c[f+16>>2]=c[b+16>>2];c[f+20>>2]=c[b+20>>2];Yz(f+24|0,c[b+24>>2]|0,c[b+28>>2]|0);Zz(f+36|0,c[b+36>>2]|0,c[b+40>>2]|0)}b=b+48|0;f=f+48|0}while((b|0)!=(h|0));if(g){if((h|0)==(d|0))return;b=c[a>>2]|0;do{Kz(b,e);e=e+48|0;b=(c[a>>2]|0)+48|0;c[a>>2]=b}while((e|0)!=(d|0));return}e=c[a>>2]|0;if((e|0)!=(f|0))do{b=c[e+-12>>2]|0;if(b|0){c[e+-8>>2]=b;l0a(b)}b=c[e+-24>>2]|0;if(b|0){c[e+-20>>2]=b;l0a(b)}b=c[e+-44>>2]|0;if(b|0){c[e+-40>>2]=b;l0a(b)}e=e+-48|0}while((e|0)!=(f|0));c[a>>2]=f;return}function iA(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;e=c[a>>2]|0;if(!e)return;f=a+4|0;b=c[f>>2]|0;if((b|0)==(e|0))b=e;else{do{d=c[b+-12>>2]|0;if(d|0){c[b+-8>>2]=d;l0a(d)}d=c[b+-24>>2]|0;if(d|0){c[b+-20>>2]=d;l0a(d)}d=c[b+-44>>2]|0;if(d|0){c[b+-40>>2]=d;l0a(d)}b=b+-52|0;d=c[b>>2]|0;if(d|0?(h=d+8|0,g=c[h>>2]|0,c[h>>2]=g-1,(g|0)==1):0)UU(d,1,1);c[b>>2]=0}while((b|0)!=(e|0));b=c[a>>2]|0}c[f>>2]=e;l0a(b);c[a+8>>2]=0;c[f>>2]=0;c[a>>2]=0;return}function jA(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;e=c[a>>2]|0;if(!e)return;f=a+4|0;b=c[f>>2]|0;if((b|0)==(e|0))b=e;else{do{d=c[b+-12>>2]|0;if(d|0){c[b+-8>>2]=d;l0a(d)}d=c[b+-24>>2]|0;if(d|0){c[b+-20>>2]=d;l0a(d)}d=c[b+-44>>2]|0;if(d|0){c[b+-40>>2]=d;l0a(d)}b=b+-52|0;d=c[b>>2]|0;if(d|0?(h=d+8|0,g=c[h>>2]|0,c[h>>2]=g-1,(g|0)==1):0)UU(d,1,1);c[b>>2]=0}while((b|0)!=(e|0));b=c[a>>2]|0}c[f>>2]=e;l0a(b);return}function kA(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;c[a>>2]=0;i=a+4|0;c[i>>2]=0;f=a+8|0;c[f>>2]=0;h=b+4|0;d=(c[h>>2]|0)-(c[b>>2]|0)|0;g=(d|0)/52|0;if(!d)return;if(g>>>0>82595524)g1a(a);e=j0a(d)|0;c[i>>2]=e;c[a>>2]=e;c[f>>2]=e+(g*52|0);d=c[b>>2]|0;b=c[h>>2]|0;if((d|0)==(b|0))return;do{a=c[d>>2]|0;c[e>>2]=a;if(a|0){h=a+8|0;c[h>>2]=(c[h>>2]|0)+1}Kz(e+4|0,d+4|0);d=d+52|0;e=(c[i>>2]|0)+52|0;c[i>>2]=e}while((d|0)!=(b|0));return}function lA(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;c[a>>2]=0;h=a+4|0;c[h>>2]=0;e=a+8|0;c[e>>2]=0;g=b+4|0;d=(c[g>>2]|0)-(c[b>>2]|0)|0;f=(d|0)/80|0;if(!d)return;if(f>>>0>53687091)g1a(a);d=j0a(d)|0;c[h>>2]=d;c[a>>2]=d;c[e>>2]=d+(f*80|0);a=c[b>>2]|0;b=c[g>>2]|0;if((a|0)==(b|0))return;do{Jz(d,a);a=a+80|0;d=(c[h>>2]|0)+80|0;c[h>>2]=d}while((a|0)!=(b|0));return}function mA(a){a=a|0;Wz(a);l0a(a);return}function nA(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;m=a+4|0;d=c[m>>2]|0;e=c[a>>2]|0;i=d-e>>2;f=i+1|0;g=e;if(f>>>0>1073741823)g1a(a);l=a+8|0;j=(c[l>>2]|0)-e|0;k=j>>1;f=j>>2>>>0<536870911?(k>>>0<f>>>0?f:k):1073741823;do if(f)if(f>>>0>1073741823){m=db(8)|0;p0a(m,183738);c[m>>2]=110936;hb(m|0,65952,1066)}else{j=j0a(f<<2)|0;break}else j=0;while(0);e=j+(i<<2)|0;k=j+(f<<2)|0;f=c[b>>2]|0;c[e>>2]=f;if(f){g=f+8|0;c[g>>2]=(c[g>>2]|0)+1;g=c[a>>2]|0;d=c[m>>2]|0}h=e+4|0;f=g;if((d|0)==(g|0))b=f;else{b=i+-1-((d+-4-f|0)>>>2)|0;while(1){d=d+-4|0;f=c[d>>2]|0;c[e+-4>>2]=f;if(f|0){i=f+8|0;c[i>>2]=(c[i>>2]|0)+1}if((d|0)==(g|0))break;else e=e+-4|0}e=j+(b<<2)|0;b=c[a>>2]|0;d=c[m>>2]|0}c[a>>2]=e;c[m>>2]=h;c[l>>2]=k;f=b;if((d|0)!=(f|0))do{d=d+-4|0;e=c[d>>2]|0;if(e|0?(l=e+8|0,m=c[l>>2]|0,c[l>>2]=m-1,(m|0)==1):0)UU(e,1,1);c[d>>2]=0}while((d|0)!=(f|0));if(!b)return;l0a(b);return}function oA(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,h=0,i=0,j=0,k=0,m=0;m=l;l=l+112|0;k=m;h=a+76|0;i=(b|0)==0;if(!i){j=b+8|0;c[j>>2]=(c[j>>2]|0)+1}j=a+92|0;do if(c[j>>2]|0){f=a+84|0;d=c[f>>2]|0;if((d|0)==(c[a+88>>2]|0)){Sz(a+80|0,h);break}e=c[h>>2]|0;c[d>>2]=e;if(e){d=e+8|0;c[d>>2]=(c[d>>2]|0)+1;d=c[f>>2]|0}c[f>>2]=d+4}while(0);d=c[h>>2]|0;if((d|0)!=(b|0)){c[h>>2]=b;if(!i){h=b+8|0;c[h>>2]=(c[h>>2]|0)+1}if(d|0?(f=d+8|0,h=c[f>>2]|0,c[f>>2]=h-1,(h|0)==1):0)UU(d,1,1)}c[j>>2]=(c[j>>2]|0)+1;if(!i?(i=b+8|0,j=c[i>>2]|0,c[i>>2]=j-1,(j|0)==1):0)UU(b,1,1);Tha(k);c[k>>2]=71376;d=k+32|0;e=k+16|0;f=e+48|0;do{c[e>>2]=0;e=e+4|0}while((e|0)<(f|0));c[d>>2]=1;d=k+64|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[d+12>>2]=0;c[d+16>>2]=0;c[d+20>>2]=0;c[k+12>>2]=31;g[k+88>>2]=0.0;g[k+92>>2]=0.0;g[k+96>>2]=0.0;g[k+100>>2]=1.0;g[k+104>>2]=2.0;d=a+256|0;e=c[d>>2]|0;if(e>>>0<(c[a+260>>2]|0)>>>0){Uz(e,k);c[d>>2]=(c[d>>2]|0)+108}else Vz(a+252|0,k);Wz(k);d=c[d>>2]|0;i=d+-92|0;e=a+16|0;h=c[e>>2]|0;qA(i,(h&2|0)!=0,(h&4|0)!=0);h=b+32|0;dA(i,h);c[d+-96>>2]=c[e>>2];c[d+-4>>2]=c[a+24>>2];e=c[a+64>>2]|0;i=a+68|0;if((e|0)==(c[i>>2]|0)){b=a+284|0;g[b>>2]=-1.0;Tz(a);l=m;return}j=d+-28|0;k=d+-24|0;f=d+-32|0;do{d=c[e+16>>2]|0;do if(d|0?(Nra(h,d+32|0)|0)==0:0){d=c[j>>2]|0;if((d|0)==(c[k>>2]|0)){rA(f,e);break}else{Jz(d,e);c[j>>2]=(c[j>>2]|0)+80;break}}while(0);e=e+80|0}while((e|0)!=(c[i>>2]|0));b=a+284|0;g[b>>2]=-1.0;Tz(a);l=m;return}function pA(a){a=a|0;var b=0,d=0,e=0,f=0,h=0,i=0;i=a+92|0;b=c[i>>2]|0;if(b|0){h=a+84|0;e=c[h>>2]|0;if((c[a+80>>2]|0)!=(e|0)){f=a+76|0;d=c[f>>2]|0;b=c[e+-4>>2]|0;if((d|0)!=(b|0)){c[f>>2]=b;if(b|0){f=b+8|0;c[f>>2]=(c[f>>2]|0)+1}if(d|0?(e=d+8|0,f=c[e>>2]|0,c[e>>2]=f-1,(f|0)==1):0)UU(d,1,1)}b=(c[h>>2]|0)+-4|0;d=c[b>>2]|0;if(d|0?(e=d+8|0,f=c[e>>2]|0,c[e>>2]=f-1,(f|0)==1):0)UU(d,1,1);c[b>>2]=0;c[h>>2]=b;b=c[i>>2]|0}c[i>>2]=b+-1}i=a+256|0;h=(c[i>>2]|0)+-108|0;Bk[c[(c[h>>2]|0)+4>>2]&2047](h);c[i>>2]=h;g[a+284>>2]=-1.0;Rz(a);return}function qA(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0.0,r=0.0;p=l;l=l+48|0;m=p;o=a+24|0;e=c[o>>2]|0;n=a+28|0;c[n>>2]=e;h[m>>3]=1.0;f=m+8|0;g=m+24|0;c[f>>2]=0;c[f+4>>2]=0;c[f+8>>2]=0;c[f+12>>2]=0;h[g>>3]=1.0;c[m+32>>2]=7;c[m+36>>2]=0;k=a+32|0;i=c[k>>2]|0;if(i>>>0>e>>>0){h[e>>3]=1.0;q=+h[f>>3];h[e+8>>3]=q;r=+h[m+16>>3];h[e+16>>3]=r;h[e+24>>3]=+h[g>>3];g=(r>=0.0?4:0)|(q>=0.0?3:1);c[e+32>>2]=g;c[e+36>>2]=g^7;g=e+40|0;c[n>>2]=g}else{sA(o,m);g=c[n>>2]|0;i=c[k>>2]|0}h[m>>3]=-1.0;e=m+8|0;f=m+24|0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[e+12>>2]=0;h[f>>3]=1.0;c[m+32>>2]=6;c[m+36>>2]=1;if(g>>>0<i>>>0){h[g>>3]=-1.0;r=+h[e>>3];h[g+8>>3]=r;q=+h[m+16>>3];h[g+16>>3]=q;h[g+24>>3]=+h[f>>3];j=(q>=0.0?4:0)|(r>=0.0?2:0);c[g+32>>2]=j;c[g+36>>2]=j^7;j=g+40|0;c[n>>2]=j}else{sA(o,m);j=c[n>>2]|0;i=c[k>>2]|0}h[m>>3]=0.0;e=m+8|0;h[e>>3]=1.0;f=m+16|0;h[f>>3]=0.0;g=m+24|0;h[g>>3]=1.0;c[m+32>>2]=7;c[m+36>>2]=0;if(j>>>0<i>>>0){h[j>>3]=0.0;r=+h[e>>3];h[j+8>>3]=r;q=+h[f>>3];h[j+16>>3]=q;h[j+24>>3]=+h[g>>3];g=(q>=0.0?4:0)|(r>=0.0?3:1);c[j+32>>2]=g;c[j+36>>2]=g^7;j=j+40|0;c[n>>2]=j}else{sA(o,m);j=c[n>>2]|0;i=c[k>>2]|0}h[m>>3]=0.0;e=m+8|0;h[e>>3]=-1.0;f=m+16|0;h[f>>3]=0.0;g=m+24|0;h[g>>3]=1.0;c[m+32>>2]=5;c[m+36>>2]=2;if(j>>>0<i>>>0){h[j>>3]=0.0;r=+h[e>>3];h[j+8>>3]=r;q=+h[f>>3];h[j+16>>3]=q;h[j+24>>3]=+h[g>>3];i=(q>=0.0?4:0)|(r>=0.0?3:1);c[j+32>>2]=i;c[j+36>>2]=i^7;c[n>>2]=j+40}else sA(o,m);if(b){e=m+16|0;c[m>>2]=0;c[m+4>>2]=0;c[m+8>>2]=0;c[m+12>>2]=0;h[e>>3]=1.0;f=m+24|0;h[f>>3]=1.0;c[m+32>>2]=7;c[m+36>>2]=0;g=c[n>>2]|0;if(g>>>0<(c[k>>2]|0)>>>0){h[g>>3]=0.0;r=+h[m+8>>3];h[g+8>>3]=r;q=+h[e>>3];h[g+16>>3]=q;h[g+24>>3]=+h[f>>3];b=(q>=0.0?4:0)|(r>=0.0?3:1);c[g+32>>2]=b;c[g+36>>2]=b^7;c[n>>2]=g+40}else sA(o,m)}if(d){e=m+16|0;c[m>>2]=0;c[m+4>>2]=0;c[m+8>>2]=0;c[m+12>>2]=0;h[e>>3]=-1.0;f=m+24|0;h[f>>3]=1.0;c[m+32>>2]=3;c[m+36>>2]=4;g=c[n>>2]|0;if(g>>>0<(c[k>>2]|0)>>>0){h[g>>3]=0.0;r=+h[m+8>>3];h[g+8>>3]=r;q=+h[e>>3];h[g+16>>3]=q;h[g+24>>3]=+h[f>>3];m=(q>=0.0?4:0)|(r>=0.0?3:1);c[g+32>>2]=m;c[g+36>>2]=m^7;c[n>>2]=g+40}else sA(o,m)}i=a+20|0;c[i>>2]=0;f=c[n>>2]|0;e=c[o>>2]|0;if((f|0)!=(e|0)){f=(f-e|0)/40|0;e=0;g=0;do{g=g<<1|1;e=e+1|0}while(e>>>0<f>>>0);c[i>>2]=g}e=a+16|0;if(!(c[e>>2]|0)){o=c[i>>2]|0;c[a>>2]=o;a=c[e>>2]|0;a=a+1|0;c[e>>2]=a;l=p;return}f=a+8|0;g=c[f>>2]|0;if((g|0)==(c[a+12>>2]|0)){Nz(a+4|0,a);o=c[i>>2]|0;c[a>>2]=o;a=c[e>>2]|0;a=a+1|0;c[e>>2]=a;l=p;return}else{c[g>>2]=c[a>>2];c[f>>2]=g+4;o=c[i>>2]|0;c[a>>2]=o;a=c[e>>2]|0;a=a+1|0;c[e>>2]=a;l=p;return}}function rA(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;i=a+4|0;d=c[a>>2]|0;f=((c[i>>2]|0)-d|0)/80|0;e=f+1|0;if(e>>>0>53687091)g1a(a);j=a+8|0;h=((c[j>>2]|0)-d|0)/80|0;g=h<<1;g=h>>>0<26843545?(g>>>0<e>>>0?e:g):53687091;do if(g)if(g>>>0>53687091){j=db(8)|0;p0a(j,183738);c[j>>2]=110936;hb(j|0,65952,1066)}else{d=j0a(g*80|0)|0;break}else d=0;while(0);f=d+(f*80|0)|0;e=f;h=d+(g*80|0)|0;Jz(f,b);b=f+80|0;g=c[a>>2]|0;d=c[i>>2]|0;if((d|0)==(g|0)){f=g;d=g}else{while(1){d=d+-80|0;Jz(f+-80|0,d);f=e+-80|0;if((d|0)==(g|0))break;else e=f}e=f;f=c[a>>2]|0;d=c[i>>2]|0}c[a>>2]=e;c[i>>2]=b;c[j>>2]=h;e=f;if((d|0)!=(e|0))do{d=d+-80|0;Gy(d)}while((d|0)!=(e|0));if(!f)return;l0a(f);return}function sA(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0.0,p=0.0,q=0.0;m=a+4|0;f=c[m>>2]|0;n=c[a>>2]|0;i=(f-n|0)/40|0;d=i+1|0;k=n;if(d>>>0>107374182)g1a(a);l=a+8|0;j=((c[l>>2]|0)-n|0)/40|0;e=j<<1;e=j>>>0<53687091?(e>>>0<d>>>0?d:e):107374182;do if(e)if(e>>>0>107374182){n=db(8)|0;p0a(n,183738);c[n>>2]=110936;hb(n|0,65952,1066)}else{g=j0a(e*40|0)|0;break}else g=0;while(0);d=g+(i*40|0)|0;j=g+(e*40|0)|0;p=+h[b>>3];h[d>>3]=p;q=+h[b+8>>3];h[g+(i*40|0)+8>>3]=q;o=+h[b+16>>3];h[g+(i*40|0)+16>>3]=o;h[g+(i*40|0)+24>>3]=+h[b+24>>3];b=(q>=0.0?2:0)|p>=0.0|(o>=0.0?4:0);c[g+(i*40|0)+32>>2]=b;c[g+(i*40|0)+36>>2]=b^7;g=d+40|0;if((f|0)!=(k|0))while(1){e=d+-40|0;i=f;f=f+-40|0;p=+h[f>>3];h[e>>3]=p;o=+h[i+-32>>3];h[d+-32>>3]=o;q=+h[i+-24>>3];h[d+-24>>3]=q;h[d+-16>>3]=+h[i+-16>>3];i=(o>=0.0?2:0)|p>=0.0|(q>=0.0?4:0);c[d+-8>>2]=i;c[d+-4>>2]=i^7;if((f|0)==(k|0)){d=e;break}else d=e}c[a>>2]=d;c[m>>2]=g;c[l>>2]=j;if(!n)return;l0a(n);return}function tA(a){a=a|0;var b=0,d=0;c[a>>2]=71400;b=a+92|0;c[b>>2]=71768;d=c[a+56>>2]|0;if(d|0){c[a+60>>2]=d;l0a(d)}Cy(a,71936);Pr(b);return}function uA(a){a=a|0;var b=0,d=0;c[a>>2]=71400;b=a+92|0;c[b>>2]=71768;d=c[a+56>>2]|0;if(d|0){c[a+60>>2]=d;l0a(d)}Cy(a,71936);Pr(b);l0a(a);return}function vA(a){a=a|0;return 186332}function wA(a){a=a|0;return 133394}function xA(a){a=a|0;c[a+60>>2]=c[a+56>>2];g[a+68>>2]=3402823466385288598117041.0e14;g[a+72>>2]=3402823466385288598117041.0e14;g[a+76>>2]=3402823466385288598117041.0e14;g[a+80>>2]=-3402823466385288598117041.0e14;g[a+84>>2]=-3402823466385288598117041.0e14;g[a+88>>2]=-3402823466385288598117041.0e14;return}function yA(a,b){a=a|0;b=b|0;GA(a,FA(b)|0);return}function zA(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,i=0,j=0;j=l;l=l+128|0;f=j;Qra(f);g=a+56|0;i=a+60|0;d=c[i>>2]|0;if((c[g>>2]|0)!=(d|0)?(e=d+-128|0,(e|0)!=(f|0)):0){h[f>>3]=+h[e>>3];h[f+8>>3]=+h[d+-120>>3];h[f+16>>3]=+h[d+-112>>3];h[f+24>>3]=+h[d+-104>>3];h[f+32>>3]=+h[d+-96>>3];h[f+40>>3]=+h[d+-88>>3];h[f+48>>3]=+h[d+-80>>3];h[f+56>>3]=+h[d+-72>>3];h[f+64>>3]=+h[d+-64>>3];h[f+72>>3]=+h[d+-56>>3];h[f+80>>3]=+h[d+-48>>3];h[f+88>>3]=+h[d+-40>>3];h[f+96>>3]=+h[d+-32>>3];h[f+104>>3]=+h[d+-24>>3];h[f+112>>3]=+h[d+-16>>3];h[f+120>>3]=+h[d+-8>>3]}lk[c[(c[b>>2]|0)+288>>2]&127](b,f,a)|0;d=c[i>>2]|0;if((d|0)==(c[a+64>>2]|0))EA(g,f);else{h[d>>3]=+h[f>>3];h[d+8>>3]=+h[f+8>>3];h[d+16>>3]=+h[f+16>>3];h[d+24>>3]=+h[f+24>>3];h[d+32>>3]=+h[f+32>>3];h[d+40>>3]=+h[f+40>>3];h[d+48>>3]=+h[f+48>>3];h[d+56>>3]=+h[f+56>>3];h[d+64>>3]=+h[f+64>>3];h[d+72>>3]=+h[f+72>>3];h[d+80>>3]=+h[f+80>>3];h[d+88>>3]=+h[f+88>>3];h[d+96>>3]=+h[f+96>>3];h[d+104>>3]=+h[f+104>>3];h[d+112>>3]=+h[f+112>>3];h[d+120>>3]=+h[f+120>>3];c[i>>2]=d+128}switch(c[a+16>>2]|0){case 1:{Jk[c[(c[b>>2]|0)+216>>2]&1023](b,a);g=c[i>>2]|0;g=g+-128|0;c[i>>2]=g;l=j;return}case 0:{g=c[i>>2]|0;g=g+-128|0;c[i>>2]=g;l=j;return}default:{Jk[c[(c[b>>2]|0)+220>>2]&1023](b,a);g=c[i>>2]|0;g=g+-128|0;c[i>>2]=g;l=j;return}}}function AA(a){a=a|0;var b=0,d=0;a=a+(c[(c[a>>2]|0)+-16>>2]|0)|0;c[a>>2]=71400;b=a+92|0;c[b>>2]=71768;d=c[a+56>>2]|0;if(!d){Cy(a,71936);Pr(b);return}c[a+60>>2]=d;l0a(d);Cy(a,71936);Pr(b);return}function BA(a){a=a|0;var b=0,d=0;a=a+(c[(c[a>>2]|0)+-16>>2]|0)|0;c[a>>2]=71400;b=a+92|0;c[b>>2]=71768;d=c[a+56>>2]|0;if(d|0){c[a+60>>2]=d;l0a(d)}Cy(a,71936);Pr(b);l0a(a);return}function CA(a){a=a|0;return 186332}function DA(a){a=a|0;return 133394}function EA(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;m=a+4|0;e=c[m>>2]|0;n=c[a>>2]|0;i=e-n>>7;d=i+1|0;k=n;if(d>>>0>33554431)g1a(a);l=a+8|0;j=(c[l>>2]|0)-n|0;f=j>>6;f=j>>7>>>0<16777215?(f>>>0<d>>>0?d:f):33554431;do if(f)if(f>>>0>33554431){n=db(8)|0;p0a(n,183738);c[n>>2]=110936;hb(n|0,65952,1066)}else{g=j0a(f<<7)|0;break}else g=0;while(0);d=g+(i<<7)|0;j=g+(f<<7)|0;h[d>>3]=+h[b>>3];h[g+(i<<7)+8>>3]=+h[b+8>>3];h[g+(i<<7)+16>>3]=+h[b+16>>3];h[g+(i<<7)+24>>3]=+h[b+24>>3];h[g+(i<<7)+32>>3]=+h[b+32>>3];h[g+(i<<7)+40>>3]=+h[b+40>>3];h[g+(i<<7)+48>>3]=+h[b+48>>3];h[g+(i<<7)+56>>3]=+h[b+56>>3];h[g+(i<<7)+64>>3]=+h[b+64>>3];h[g+(i<<7)+72>>3]=+h[b+72>>3];h[g+(i<<7)+80>>3]=+h[b+80>>3];h[g+(i<<7)+88>>3]=+h[b+88>>3];h[g+(i<<7)+96>>3]=+h[b+96>>3];h[g+(i<<7)+104>>3]=+h[b+104>>3];h[g+(i<<7)+112>>3]=+h[b+112>>3];h[g+(i<<7)+120>>3]=+h[b+120>>3];b=d+128|0;if((e|0)!=(k|0)){g=e+-128-n|0;f=d;do{i=f;f=f+-128|0;o=e;e=e+-128|0;h[f>>3]=+h[e>>3];h[i+-120>>3]=+h[o+-120>>3];h[i+-112>>3]=+h[o+-112>>3];h[i+-104>>3]=+h[o+-104>>3];h[i+-96>>3]=+h[o+-96>>3];h[i+-88>>3]=+h[o+-88>>3];h[i+-80>>3]=+h[o+-80>>3];h[i+-72>>3]=+h[o+-72>>3];h[i+-64>>3]=+h[o+-64>>3];h[i+-56>>3]=+h[o+-56>>3];h[i+-48>>3]=+h[o+-48>>3];h[i+-40>>3]=+h[o+-40>>3];h[i+-32>>3]=+h[o+-32>>3];h[i+-24>>3]=+h[o+-24>>3];h[i+-16>>3]=+h[o+-16>>3];h[i+-8>>3]=+h[o+-8>>3]}while((e|0)!=(k|0));d=d+(~(g>>>7)<<7)|0}c[a>>2]=d;c[m>>2]=b;c[l>>2]=j;if(!n)return;l0a(n);return}function FA(b){b=b|0;var d=0.0,e=0.0,f=0,h=0.0,i=0.0,j=0.0,k=0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0.0,s=0.0,t=0.0,u=0.0,v=0,w=0,x=0;x=l;l=l+32|0;k=x;v=b+68|0;if(a[v>>0]|0){w=b+152|0;l=x;return w|0}f=b+124|0;w=b+152|0;c[w>>2]=c[f>>2];c[w+4>>2]=c[f+4>>2];c[w+8>>2]=c[f+8>>2];c[w+12>>2]=c[f+12>>2];c[w+16>>2]=c[f+16>>2];c[w+20>>2]=c[f+20>>2];f=c[b+148>>2]|0;if(!f){Jk[c[(c[b>>2]|0)+228>>2]&1023](k,b);e=+g[k+12>>2];d=+g[k>>2];if((e>=d?(m=+g[k+16>>2],i=+g[k+4>>2],m>=i):0)?(q=+g[k+20>>2],o=+g[k+8>>2],q>=o):0){if(d<+g[w>>2])g[w>>2]=d;f=b+164|0;if(e>+g[f>>2])g[f>>2]=e;f=b+156|0;if(i<+g[f>>2])g[f>>2]=i;f=b+168|0;if(m>+g[f>>2])g[f>>2]=m;f=b+160|0;if(o<+g[f>>2])g[f>>2]=o;f=b+172|0;if(q>+g[f>>2])g[f>>2]=q}}else{Nk[c[(c[f>>2]|0)+164>>2]&255](k,f,b);e=+g[k+12>>2];d=+g[k>>2];if((e>=d?(j=+g[k+16>>2],h=+g[k+4>>2],j>=h):0)?(p=+g[k+20>>2],n=+g[k+8>>2],p>=n):0){if(d<+g[w>>2])g[w>>2]=d;f=b+164|0;if(e>+g[f>>2])g[f>>2]=e;f=b+156|0;if(h<+g[f>>2])g[f>>2]=h;f=b+168|0;if(j>+g[f>>2])g[f>>2]=j;f=b+160|0;if(n<+g[f>>2])g[f>>2]=n;f=b+172|0;if(p>+g[f>>2])g[f>>2]=p}}d=+g[b+164>>2];i=+g[w>>2];if((d>=i?(t=+g[b+168>>2],u=+g[b+156>>2],t>=u):0)?(r=+g[b+172>>2],s=+g[b+160>>2],r>=s):0){e=d-i;h=t-u;j=r-s;j=+B(+((e*e+h*h+j*j)*.25));h=(s+r)*.5;e=(u+t)*.5;d=(d+i)*.5}else{j=-1.0;h=0.0;e=0.0;d=0.0}g[b+52>>2]=d;g[b+56>>2]=e;g[b+60>>2]=h;g[b+64>>2]=j;a[v>>0]=1;l=x;return w|0}function GA(a,b){a=a|0;b=b|0;var d=0,e=0.0,f=0,i=0,j=0.0,k=0,l=0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0.0,s=0.0,t=0.0,u=0.0,v=0,w=0.0,x=0.0,y=0.0,z=0.0,A=0.0,B=0.0,C=0.0,D=0,E=0.0,F=0.0,G=0.0,H=0.0,I=0.0,J=0.0,K=0.0,L=0,M=0.0,N=0,O=0,P=0.0,Q=0,R=0.0;f=c[a+60>>2]|0;Q=b+12|0;e=+g[Q>>2];m=+g[b>>2];d=!(e>=m);if((c[a+56>>2]|0)==(f|0)){if(d)return;i=b+16|0;f=b+4|0;if(!(+g[i>>2]>=+g[f>>2]))return;l=b+20|0;k=b+8|0;if(!(+g[l>>2]>=+g[k>>2]))return;d=a+68|0;if(m<+g[d>>2]){g[d>>2]=m;e=+g[Q>>2]}d=a+80|0;if(e>+g[d>>2])g[d>>2]=e;e=+g[f>>2];d=a+72|0;if(e<+g[d>>2])g[d>>2]=e;e=+g[i>>2];d=a+84|0;if(e>+g[d>>2])g[d>>2]=e;e=+g[k>>2];d=a+76|0;if(e<+g[d>>2])g[d>>2]=e;e=+g[l>>2];d=a+88|0;if(!(e>+g[d>>2]))return;g[d>>2]=e;return}if(d)return;N=b+16|0;i=b+4|0;e=+g[i>>2];if(!(+g[N>>2]>=e))return;O=b+20|0;d=b+8|0;j=+g[d>>2];if(!(+g[O>>2]>=j))return;P=+h[f+-104>>3];u=m;M=+h[f+-72>>3];E=+h[f+-40>>3];q=j;w=+h[f+-8>>3];t=1.0/(w+(P*u+M*e+E*q));x=+h[f+-128>>3];y=+h[f+-96>>3];z=+h[f+-64>>3];A=+h[f+-32>>3];m=t*(A+(x*u+y*e+z*q));F=+h[f+-120>>3];G=+h[f+-88>>3];H=+h[f+-56>>3];B=+h[f+-24>>3];o=t*(B+(F*u+G*e+H*q));I=+h[f+-112>>3];J=+h[f+-80>>3];K=+h[f+-48>>3];C=+h[f+-16>>3];q=t*(C+(I*u+J*e+K*q));L=a+68|0;e=+g[L>>2];if(e>m){g[L>>2]=m;e=m}D=a+80|0;j=+g[D>>2];if(j<m){g[D>>2]=m;j=m}v=a+72|0;m=+g[v>>2];if(m>o){g[v>>2]=o;m=o}l=a+84|0;n=+g[l>>2];if(n<o){g[l>>2]=o;n=o}k=a+76|0;o=+g[k>>2];if(o>q){g[k>>2]=q;o=q}f=a+88|0;p=+g[f>>2];if(p<q){g[f>>2]=q;p=q}R=+g[Q>>2];t=+g[i>>2];u=+g[d>>2];s=1.0/(w+(P*R+M*t+E*u));q=(A+(x*R+y*t+z*u))*s;r=(B+(F*R+G*t+H*u))*s;s=(C+(I*R+J*t+K*u))*s;if(e>q){g[L>>2]=q;e=q}if(j<q){g[D>>2]=q;j=q}if(m>r){g[v>>2]=r;m=r}if(n<r){g[l>>2]=r;n=r}if(o>s){g[k>>2]=s;o=s}if(p<s){g[f>>2]=s;p=s}t=+g[b>>2];u=+g[N>>2];R=+g[d>>2];s=1.0/(w+(P*t+M*u+E*R));q=(A+(x*t+y*u+z*R))*s;r=(B+(F*t+G*u+H*R))*s;s=(C+(I*t+J*u+K*R))*s;if(e>q){g[L>>2]=q;e=q}if(j<q){g[D>>2]=q;j=q}if(m>r){g[v>>2]=r;m=r}if(n<r){g[l>>2]=r;n=r}if(o>s){g[k>>2]=s;o=s}if(p<s){g[f>>2]=s;p=s}t=+g[Q>>2];u=+g[N>>2];R=+g[d>>2];s=1.0/(w+(P*t+M*u+E*R));q=(A+(x*t+y*u+z*R))*s;r=(B+(F*t+G*u+H*R))*s;s=(C+(I*t+J*u+K*R))*s;if(e>q){g[L>>2]=q;e=q}if(j<q){g[D>>2]=q;j=q}if(m>r){g[v>>2]=r;m=r}if(n<r){g[l>>2]=r;n=r}if(o>s){g[k>>2]=s;o=s}if(p<s){g[f>>2]=s;p=s}t=+g[b>>2];u=+g[i>>2];R=+g[O>>2];s=1.0/(w+(P*t+M*u+E*R));q=(A+(x*t+y*u+z*R))*s;r=(B+(F*t+G*u+H*R))*s;s=(C+(I*t+J*u+K*R))*s;if(e>q){g[L>>2]=q;e=q}if(j<q){g[D>>2]=q;j=q}if(m>r){g[v>>2]=r;m=r}if(n<r){g[l>>2]=r;n=r}if(o>s){g[k>>2]=s;o=s}if(p<s){g[f>>2]=s;p=s}t=+g[Q>>2];u=+g[i>>2];R=+g[O>>2];s=1.0/(w+(P*t+M*u+E*R));q=(A+(x*t+y*u+z*R))*s;r=(B+(F*t+G*u+H*R))*s;s=(C+(I*t+J*u+K*R))*s;if(e>q){g[L>>2]=q;e=q}if(j<q){g[D>>2]=q;j=q}if(m>r){g[v>>2]=r;m=r}if(n<r){g[l>>2]=r;n=r}if(o>s){g[k>>2]=s;o=s}if(p<s){g[f>>2]=s;t=s}else t=p;s=+g[b>>2];u=+g[N>>2];R=+g[O>>2];p=1.0/(w+(P*s+M*u+E*R));q=(A+(x*s+y*u+z*R))*p;r=(B+(F*s+G*u+H*R))*p;p=(C+(I*s+J*u+K*R))*p;if(e>q){g[L>>2]=q;u=q}else u=e;if(j<q)g[D>>2]=q;else q=j;if(m>r){g[v>>2]=r;s=r}else s=m;if(n<r){g[l>>2]=r;n=r}if(o>p){g[k>>2]=p;o=p}if(t<p)g[f>>2]=p;else p=t;r=+g[Q>>2];t=+g[N>>2];R=+g[O>>2];e=1.0/(w+(P*r+M*t+E*R));m=(A+(x*r+y*t+z*R))*e;j=(B+(F*r+G*t+H*R))*e;e=(C+(I*r+J*t+K*R))*e;if(u>m)g[L>>2]=m;if(q<m)g[D>>2]=m;if(s>j)g[v>>2]=j;if(n<j)g[l>>2]=j;if(o>e)g[k>>2]=e;if(!(p<e))return;g[f>>2]=e;return}function HA(a,b){a=a|0;b=b|0;var d=0;d=c[a+28>>2]|0;if(d|0)Jk[c[c[d>>2]>>2]&1023](d,b);d=c[a+120>>2]|0;if(d|0)Jk[c[c[d>>2]>>2]&1023](d,b);d=c[a+212>>2]|0;if(!d)return;a=d+(c[(c[d>>2]|0)+-12>>2]|0)|0;Jk[c[c[a>>2]>>2]&1023](a,b);return}function IA(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0;c[a>>2]=71956;g=a+200|0;h=a+204|0;if((c[h>>2]|0)!=(c[g>>2]|0)){b=0;do{d=c[(qB(g,b)|0)>>2]|0;if(d|0)ija(d);b=b+1|0}while(b>>>0<(c[h>>2]|0)-(c[g>>2]|0)>>2>>>0)}b=a+216|0;d=c[b>>2]|0;if(d|0?(e=d+(c[(c[d>>2]|0)+-12>>2]|0)|0,i=e+8|0,d=c[i>>2]|0,c[i>>2]=d-1,(d|0)==1):0)UU(e,1,1);c[b>>2]=0;b=a+212|0;d=c[b>>2]|0;if(d|0?(f=d+(c[(c[d>>2]|0)+-12>>2]|0)|0,e=f+8|0,i=c[e>>2]|0,c[e>>2]=i-1,(i|0)==1):0)UU(f,1,1);c[b>>2]=0;e=c[g>>2]|0;if(e|0){b=c[h>>2]|0;if((b|0)==(e|0))b=e;else{do{b=b+-4|0;d=c[b>>2]|0;if(d|0?(f=d+8|0,i=c[f>>2]|0,c[f>>2]=i-1,(i|0)==1):0)UU(d,1,1);c[b>>2]=0}while((b|0)!=(e|0));b=c[g>>2]|0}c[h>>2]=e;l0a(b)}b=c[a+188>>2]|0;if(b|0){c[a+192>>2]=b;l0a(b)}b=a+176|0;d=c[b>>2]|0;if(d|0?(h=d+8|0,i=c[h>>2]|0,c[h>>2]=i-1,(i|0)==1):0)UU(d,1,1);c[b>>2]=0;b=a+148|0;d=c[b>>2]|0;if(!d){c[b>>2]=0;eC(a);return}h=d+8|0;i=c[h>>2]|0;c[h>>2]=i-1;if((i|0)!=1){c[b>>2]=0;eC(a);return}UU(d,1,1);c[b>>2]=0;eC(a);return}function JA(a){a=a|0;IA(a);l0a(a);return}function KA(a){a=a|0;a=j0a(220)|0;uC(a);return a|0}function LA(a,b){a=a|0;b=b|0;var c=0;c=j0a(220)|0;cC(c,a,b);return c|0}function MA(a,b){a=a|0;b=b|0;if(!b){b=0;return b|0}b=(y1a(b,42800,43984,0)|0)!=0;return b|0}function NA(a){a=a|0;return 186332}function OA(a){a=a|0;return 133810}function PA(a){a=a|0;return a|0}function QA(a){a=a|0;return a|0}function RA(a){a=a|0;var b=0;b=a+24|0;if((c[b>>2]|0)!=2)return;if(((c[a+84>>2]|0)==0?(c[a+92>>2]|0)==0:0)?(c[a+100>>2]|0)==0:0)a=1;else a=0;c[b>>2]=a;return}function SA(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=l;l=l+16|0;h=i;d=c[a+120>>2]|0;if(d|0)Jk[c[(c[d>>2]|0)+156>>2]&1023](d,b);d=c[a+212>>2]|0;if(d|0){g=d+(c[(c[d>>2]|0)+-12>>2]|0)|0;Jk[c[(c[g>>2]|0)+156>>2]&1023](g,b)}d=a+188|0;c[h>>2]=0;e=a+192|0;f=c[d>>2]|0;g=(c[e>>2]|0)-f>>2;if(g>>>0>=b>>>0){if(g>>>0>b>>>0)c[e>>2]=f+(b<<2)}else cu(d,b-g|0,h);g=a+200|0;h=a+204|0;d=c[h>>2]|0;e=c[g>>2]|0;f=d-e>>2;if(f>>>0<b>>>0){bC(g,b-f|0);l=i;return}if(f>>>0<=b>>>0){l=i;return}f=e+(b<<2)|0;if((f|0)!=(d|0))do{d=d+-4|0;e=c[d>>2]|0;if(e|0?(a=e+8|0,b=c[a>>2]|0,c[a>>2]=b-1,(b|0)==1):0)UU(e,1,1);c[d>>2]=0}while((d|0)!=(f|0));c[h>>2]=f;l=i;return}function TA(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;k=l;l=l+16|0;i=k;e=c[b+120>>2]|0;if(e|0)Jk[c[(c[e>>2]|0)+160>>2]&1023](e,d);e=c[b+212>>2]|0;if(e|0){j=e+(c[(c[e>>2]|0)+-12>>2]|0)|0;Jk[c[(c[j>>2]|0)+160>>2]&1023](j,d)}if(!d){Bk[c[(c[b>>2]|0)+240>>2]&2047](b);l=k;return}j=c[d+124>>2]|0;if(a[b+181>>0]|0){d=b+188|0;f=b+192|0;e=c[d>>2]|0;g=(c[f>>2]|0)-e>>2;if(g>>>0<=j>>>0){h=j+1|0;c[i>>2]=0;if(h>>>0<=g>>>0){if(h>>>0<g>>>0)c[f>>2]=e+(h<<2)}else{cu(d,h-g|0,i);e=c[d>>2]|0}}e=e+(j<<2)|0;d=c[e>>2]|0;if(d|0){i=gk[c[(c[b>>2]|0)+244>>2]&1023](b)|0;UB(TB(qu(j)|0)|0,d,i);c[e>>2]=0}}d=b+200|0;if(j>>>0>=(c[b+204>>2]|0)-(c[d>>2]|0)>>2>>>0){l=k;return}e=c[(qB(d,j)|0)>>2]|0;if(!e){l=k;return}Yia(e);e=qB(d,j)|0;d=c[e>>2]|0;if(!d){l=k;return}c[e>>2]=0;j=d+8|0;b=c[j>>2]|0;c[j>>2]=b-1;if((b|0)!=1){l=k;return}UU(d,1,1);l=k;return}function UA(a){a=a|0;return 0}function VA(a){a=a|0;return 0}function WA(a){a=a|0;return 0}function XA(a){a=a|0;return 0}function YA(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;j=l;l=l+16|0;d=j+8|0;i=j+4|0;e=j;if(!((c[a+116>>2]|c[b+24>>2])&c[b+20>>2])){l=j;return}c[i>>2]=a;f=b+16|0;g=b+28|0;h=a;do if((c[f>>2]|0)!=1){d=b+32|0;e=c[d>>2]|0;if((e|0)==(c[b+36>>2]|0)){ow(g,i);break}else{c[e>>2]=h;c[d>>2]=(c[d>>2]|0)+4;break}}else{c[e>>2]=c[g>>2];c[d>>2]=c[e>>2];pw(g,d,i)|0}while(0);Jk[c[(c[b>>2]|0)+100>>2]&1023](b,a);if((c[f>>2]|0)==1){a=c[b+28>>2]|0;f=a+4|0;d=b+32|0;e=(c[d>>2]|0)-f|0;if(e|0)y2a(a|0,f|0,e|0)|0;e=a+(e>>2<<2)|0}else{d=b+32|0;e=(c[d>>2]|0)+-4|0}c[d>>2]=e;l=j;return}function ZA(a,b){a=a|0;b=b|0;return}function _A(a,b){a=a|0;b=b|0;b=FA(b)|0;g[a>>2]=0.0;g[a+4>>2]=0.0;g[a+8>>2]=0.0;g[a+12>>2]=-1.0;SB(a,b);return}function $A(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=l;l=l+64|0;e=d;c[e>>2]=72260;g[e+28>>2]=3402823466385288598117041.0e14;g[e+32>>2]=3402823466385288598117041.0e14;g[e+36>>2]=3402823466385288598117041.0e14;g[e+40>>2]=-3402823466385288598117041.0e14;g[e+44>>2]=-3402823466385288598117041.0e14;g[e+48>>2]=-3402823466385288598117041.0e14;f=e+4|0;c[f>>2]=0;c[f+4>>2]=0;c[f+8>>2]=0;c[f+12>>2]=0;c[f+16>>2]=0;c[f+20>>2]=0;Jk[c[(c[b>>2]|0)+284>>2]&1023](b,e);b=e+28|0;c[a>>2]=c[b>>2];c[a+4>>2]=c[b+4>>2];c[a+8>>2]=c[b+8>>2];c[a+12>>2]=c[b+12>>2];c[a+16>>2]=c[b+16>>2];c[a+20>>2]=c[b+20>>2];l=d;return}function aB(a,b){a=a|0;b=b|0;var d=0;a=a+176|0;d=c[a>>2]|0;if((d|0)==(b|0))return;c[a>>2]=b;if(b|0){b=b+8|0;c[b>>2]=(c[b>>2]|0)+1}if(!d)return;a=d+8|0;b=c[a>>2]|0;c[a>>2]=b-1;if((b|0)!=1)return;UU(d,1,1);return}function bB(b,d){b=b|0;d=d|0;var e=0,f=0;e=b+183|0;f=a[e>>0]|0;if((f&255|0)==(d&1|0))return;if(f<<24>>24)Bk[c[(c[b>>2]|0)+240>>2]&2047](b);a[e>>0]=d&1;return}function cB(a){a=a|0;var b=0,d=0,e=0;e=a+200|0;b=a+204|0;if((c[b>>2]|0)==(c[e>>2]|0))return;a=0;do{d=c[(qB(e,a)|0)>>2]|0;if(d|0)ija(d);a=a+1|0}while(a>>>0<(c[b>>2]|0)-(c[e>>2]|0)>>2>>>0);return}function dB(a){a=a|0;return 0}function eB(a,b){a=a|0;b=b|0;return}function fB(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;f=l;l=l+16|0;e=f;if((a[223632]|0)==0?g2a(223632)|0:0)kr(225352);if((c[56338]|0)<=3){e=j0a(108)|0;d=c[d>>2]|0;Tia(e,d);JX(e);l=f;return e|0}b=USa(mr(lr(4)|0,133444,95)|0,b)|0;BSa(e,b+(c[(c[b>>2]|0)+-12>>2]|0)|0);g=cUa(e,230580)|0;g=kk[c[(c[g>>2]|0)+28>>2]&511](g,10)|0;dUa(e);VSa(b,g)|0;HSa(b)|0;e=j0a(108)|0;d=c[d>>2]|0;Tia(e,d);JX(e);l=f;return e|0}function gB(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;e=a+212|0;f=c[e>>2]|0;if((f|0)!=(b|0)){c[e>>2]=b;if(b|0){e=b+(c[(c[b>>2]|0)+-12>>2]|0)+8|0;c[e>>2]=(c[e>>2]|0)+1}if(f|0?(d=f+(c[(c[f>>2]|0)+-12>>2]|0)|0,e=d+8|0,f=c[e>>2]|0,c[e>>2]=f-1,(f|0)==1):0)UU(d,1,1)}Bk[c[(c[a>>2]|0)+240>>2]&2047](a);return}function hB(a,b){a=a|0;b=b|0;return}function iB(a,b){a=a|0;b=b|0;return 0}function jB(a,b){a=a|0;b=b|0;return}function kB(a,b){a=a|0;b=b|0;return 0}function lB(a,b){a=a|0;b=b|0;return}function mB(a,b){a=a|0;b=b|0;return 0}function nB(a,b){a=a|0;b=b|0;return}function oB(a,b){a=a|0;b=b|0;return 0}function pB(a,b){a=a|0;b=b|0;return}function qB(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0;m=l;l=l+16|0;j=m;k=a+4|0;d=c[k>>2]|0;g=c[a>>2]|0;f=d-g>>2;if(f>>>0>b>>>0){k=g;k=k+(b<<2)|0;l=m;return k|0}e=b+1|0;c[j>>2]=0;if(e>>>0<=f>>>0){if(e>>>0<f>>>0){f=g+(e<<2)|0;if((f|0)!=(d|0))do{d=d+-4|0;e=c[d>>2]|0;if(e|0?(g=e+8|0,h=c[g>>2]|0,c[g>>2]=h-1,(h|0)==1):0)UU(e,1,1);c[d>>2]=0}while((d|0)!=(f|0));c[k>>2]=f;h=12}}else{rB(a,e-f|0,j);h=12}if(((h|0)==12?(i=c[j>>2]|0,i|0):0)?(j=i+8|0,k=c[j>>2]|0,c[j>>2]=k-1,(k|0)==1):0)UU(i,1,1);k=c[a>>2]|0;k=k+(b<<2)|0;l=m;return k|0}function rB(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;m=a+8|0;g=c[m>>2]|0;n=a+4|0;e=c[n>>2]|0;if(g-e>>2>>>0>=b>>>0){do{f=c[d>>2]|0;c[e>>2]=f;if(f){e=f+8|0;c[e>>2]=(c[e>>2]|0)+1;e=c[n>>2]|0}e=e+4|0;c[n>>2]=e;b=b+-1|0}while((b|0)!=0);return}f=c[a>>2]|0;k=e-f>>2;e=k+b|0;if(e>>>0>1073741823)g1a(a);j=g-f|0;l=j>>1;e=j>>2>>>0<536870911?(l>>>0<e>>>0?e:l):1073741823;do if(e)if(e>>>0>1073741823){n=db(8)|0;p0a(n,183738);c[n>>2]=110936;hb(n|0,65952,1066)}else{l=j0a(e<<2)|0;break}else l=0;while(0);j=l+(k<<2)|0;f=j;i=l+(e<<2)|0;e=f;h=j;while(1){g=c[d>>2]|0;c[h>>2]=g;if(!g)e=h;else{h=g+8|0;c[h>>2]=(c[h>>2]|0)+1}g=e+4|0;b=b+-1|0;if(!b)break;else{e=g;h=g}}d=g;e=c[a>>2]|0;b=e;g=c[n>>2]|0;if((g|0)==(e|0))g=b;else{h=k+-1-((g+-4-b|0)>>>2)|0;f=j;while(1){g=g+-4|0;b=c[g>>2]|0;c[f+-4>>2]=b;if(b|0){k=b+8|0;c[k>>2]=(c[k>>2]|0)+1}if((g|0)==(e|0))break;else f=f+-4|0}f=l+(h<<2)|0;g=c[a>>2]|0;e=c[n>>2]|0}c[a>>2]=f;c[n>>2]=d;c[m>>2]=i;b=g;if((e|0)!=(b|0))do{e=e+-4|0;f=c[e>>2]|0;if(f|0?(m=f+8|0,n=c[m>>2]|0,c[m>>2]=n-1,(n|0)==1):0)UU(f,1,1);c[e>>2]=0}while((e|0)!=(b|0));if(!g)return;l0a(g);return}function sB(a){a=a|0;return}function tB(a){a=a|0;l0a(a);return}function uB(a,b,d){a=a|0;b=b|0;d=d|0;c[a+4>>2]=d;return}function vB(a,b,d){a=a|0;b=b|0;d=d|0;c[a+8>>2]=d;return}function wB(a,b,d){a=a|0;b=b|0;d=d|0;c[a+12>>2]=d;return}function xB(a,b,d){a=a|0;b=b|0;d=d|0;c[a+16>>2]=d;return}function yB(a,b,d){a=a|0;b=b|0;d=d|0;c[a+20>>2]=d;return}function zB(a,b,d){a=a|0;b=b|0;d=d|0;c[a+24>>2]=d;return}function AB(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;b=c[a+8>>2]|0;if(b|0){f=b+((e+d|0)*12|0)|0;if((e|0)<=0)return;b=b+(d*12|0)|0;do{Jk[c[(c[a>>2]|0)+56>>2]&1023](a,b);b=b+12|0}while(b>>>0<f>>>0);return}b=c[a+4>>2]|0;if(b|0){f=b+(e+d<<3)|0;if((e|0)<=0)return;b=b+(d<<3)|0;do{Jk[c[(c[a>>2]|0)+52>>2]&1023](a,b);b=b+8|0}while(b>>>0<f>>>0);return}b=c[a+12>>2]|0;if(b|0){f=b+(e+d<<4)|0;if((e|0)<=0)return;b=b+(d<<4)|0;do{Jk[c[(c[a>>2]|0)+60>>2]&1023](a,b);b=b+16|0}while(b>>>0<f>>>0);return}b=c[a+16>>2]|0;if(b|0){f=b+(e+d<<4)|0;if((e|0)<=0)return;b=b+(d<<4)|0;do{Jk[c[(c[a>>2]|0)+64>>2]&1023](a,b);b=b+16|0}while(b>>>0<f>>>0);return}b=c[a+20>>2]|0;if(b|0){f=b+((e+d|0)*24|0)|0;if((e|0)<=0)return;b=b+(d*24|0)|0;do{Jk[c[(c[a>>2]|0)+68>>2]&1023](a,b);b=b+24|0}while(b>>>0<f>>>0);return}b=c[a+24>>2]|0;if(!b)return;f=b+(e+d<<5)|0;if((e|0)<=0)return;b=b+(d<<5)|0;do{Jk[c[(c[a>>2]|0)+72>>2]&1023](a,b);b=b+32|0}while(b>>>0<f>>>0);return}function BB(a,b,e,f){a=a|0;b=b|0;e=e|0;f=f|0;var g=0;b=c[a+8>>2]|0;if(b|0){g=f+e|0;if((e|0)<=0)return;do{Jk[c[(c[a>>2]|0)+56>>2]&1023](a,b+((d[f>>0]|0)*12|0)|0);f=f+1|0}while((f|0)!=(g|0));return}b=c[a+4>>2]|0;if(b|0){g=f+e|0;if((e|0)<=0)return;do{Jk[c[(c[a>>2]|0)+52>>2]&1023](a,b+((d[f>>0]|0)<<3)|0);f=f+1|0}while((f|0)!=(g|0));return}b=c[a+12>>2]|0;if(b|0){g=f+e|0;if((e|0)<=0)return;do{Jk[c[(c[a>>2]|0)+60>>2]&1023](a,b+((d[f>>0]|0)<<4)|0);f=f+1|0}while((f|0)!=(g|0));return}b=c[a+16>>2]|0;if(b|0){g=f+e|0;if((e|0)<=0)return;do{Jk[c[(c[a>>2]|0)+64>>2]&1023](a,b+((d[f>>0]|0)<<4)|0);f=f+1|0}while((f|0)!=(g|0));return}b=c[a+20>>2]|0;if(b|0){g=f+e|0;if((e|0)<=0)return;do{Jk[c[(c[a>>2]|0)+68>>2]&1023](a,b+((d[f>>0]|0)*24|0)|0);f=f+1|0}while((f|0)!=(g|0));return}b=c[a+24>>2]|0;if(!b)return;g=f+e|0;if((e|0)<=0)return;do{Jk[c[(c[a>>2]|0)+72>>2]&1023](a,b+((d[f>>0]|0)<<5)|0);f=f+1|0}while((f|0)!=(g|0));return}function CB(a,b,d,f){a=a|0;b=b|0;d=d|0;f=f|0;var g=0;b=c[a+8>>2]|0;if(b|0){g=f+(d<<1)|0;if((d|0)<=0)return;do{Jk[c[(c[a>>2]|0)+56>>2]&1023](a,b+((e[f>>1]|0)*12|0)|0);f=f+2|0}while(f>>>0<g>>>0);return}b=c[a+4>>2]|0;if(b|0){g=f+(d<<1)|0;if((d|0)<=0)return;do{Jk[c[(c[a>>2]|0)+52>>2]&1023](a,b+((e[f>>1]|0)<<3)|0);f=f+2|0}while(f>>>0<g>>>0);return}b=c[a+12>>2]|0;if(b|0){g=f+(d<<1)|0;if((d|0)<=0)return;do{Jk[c[(c[a>>2]|0)+60>>2]&1023](a,b+((e[f>>1]|0)<<4)|0);f=f+2|0}while(f>>>0<g>>>0);return}b=c[a+16>>2]|0;if(b|0){g=f+(d<<1)|0;if((d|0)<=0)return;do{Jk[c[(c[a>>2]|0)+64>>2]&1023](a,b+((e[f>>1]|0)<<4)|0);f=f+2|0}while(f>>>0<g>>>0);return}b=c[a+20>>2]|0;if(b|0){g=f+(d<<1)|0;if((d|0)<=0)return;do{Jk[c[(c[a>>2]|0)+68>>2]&1023](a,b+((e[f>>1]|0)*24|0)|0);f=f+2|0}while(f>>>0<g>>>0);return}b=c[a+24>>2]|0;if(!b)return;g=f+(d<<1)|0;if((d|0)<=0)return;do{Jk[c[(c[a>>2]|0)+72>>2]&1023](a,b+((e[f>>1]|0)<<5)|0);f=f+2|0}while(f>>>0<g>>>0);return}function DB(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;b=c[a+8>>2]|0;if(b|0){f=e+(d<<2)|0;if((d|0)<=0)return;do{Jk[c[(c[a>>2]|0)+56>>2]&1023](a,b+((c[e>>2]|0)*12|0)|0);e=e+4|0}while(e>>>0<f>>>0);return}b=c[a+4>>2]|0;if(b|0){f=e+(d<<2)|0;if((d|0)<=0)return;do{Jk[c[(c[a>>2]|0)+52>>2]&1023](a,b+(c[e>>2]<<3)|0);e=e+4|0}while(e>>>0<f>>>0);return}b=c[a+12>>2]|0;if(b|0){f=e+(d<<2)|0;if((d|0)<=0)return;do{Jk[c[(c[a>>2]|0)+60>>2]&1023](a,b+(c[e>>2]<<4)|0);e=e+4|0}while(e>>>0<f>>>0);return}b=c[a+16>>2]|0;if(b|0){f=e+(d<<2)|0;if((d|0)<=0)return;do{Jk[c[(c[a>>2]|0)+64>>2]&1023](a,b+(c[e>>2]<<4)|0);e=e+4|0}while(e>>>0<f>>>0);return}b=c[a+20>>2]|0;if(b|0){f=e+(d<<2)|0;if((d|0)<=0)return;do{Jk[c[(c[a>>2]|0)+68>>2]&1023](a,b+((c[e>>2]|0)*24|0)|0);e=e+4|0}while(e>>>0<f>>>0);return}b=c[a+24>>2]|0;if(!b)return;f=e+(d<<2)|0;if((d|0)<=0)return;do{Jk[c[(c[a>>2]|0)+72>>2]&1023](a,b+(c[e>>2]<<5)|0);e=e+4|0}while(e>>>0<f>>>0);return}function EB(a,b){a=a|0;b=b|0;return}function FB(a,b){a=a|0;b=b|0;var c=0.0,d=0.0;c=+g[b>>2];d=+g[b+4>>2];b=a+28|0;if(c<+g[b>>2])g[b>>2]=c;b=a+40|0;if(c>+g[b>>2])g[b>>2]=c;b=a+32|0;if(d<+g[b>>2])g[b>>2]=d;b=a+44|0;if(d>+g[b>>2])g[b>>2]=d;b=a+36|0;if(+g[b>>2]>0.0)g[b>>2]=0.0;b=a+48|0;if(!(+g[b>>2]<0.0))return;g[b>>2]=0.0;return}function GB(a,b){a=a|0;b=b|0;var c=0,d=0.0,e=0;d=+g[b>>2];c=a+28|0;if(d<+g[c>>2]){g[c>>2]=d;d=+g[b>>2]}c=a+40|0;if(d>+g[c>>2])g[c>>2]=d;c=b+4|0;d=+g[c>>2];e=a+32|0;if(d<+g[e>>2]){g[e>>2]=d;d=+g[c>>2]}c=a+44|0;if(d>+g[c>>2])g[c>>2]=d;c=b+8|0;d=+g[c>>2];e=a+36|0;if(d<+g[e>>2]){g[e>>2]=d;d=+g[c>>2]}c=a+48|0;if(!(d>+g[c>>2]))return;g[c>>2]=d;return}function HB(a,b){a=a|0;b=b|0;var c=0.0,d=0.0,e=0.0;c=+g[b+12>>2];if(!(c!=0.0))return;d=+g[b>>2]/c;e=+g[b+4>>2]/c;c=+g[b+8>>2]/c;b=a+28|0;if(d<+g[b>>2])g[b>>2]=d;b=a+40|0;if(d>+g[b>>2])g[b>>2]=d;b=a+32|0;if(e<+g[b>>2])g[b>>2]=e;b=a+44|0;if(e>+g[b>>2])g[b>>2]=e;b=a+36|0;if(c<+g[b>>2])g[b>>2]=c;b=a+48|0;if(!(c>+g[b>>2]))return;g[b>>2]=c;return}function IB(a,b){a=a|0;b=b|0;var c=0.0,d=0.0;c=+h[b>>3];d=+h[b+8>>3];b=a+28|0;if(+g[b>>2]>c)g[b>>2]=c;b=a+40|0;if(+g[b>>2]<c)g[b>>2]=c;b=a+32|0;if(+g[b>>2]>d)g[b>>2]=d;b=a+44|0;if(+g[b>>2]<d)g[b>>2]=d;b=a+36|0;if(+g[b>>2]>0.0)g[b>>2]=0.0;b=a+48|0;if(!(+g[b>>2]<0.0))return;g[b>>2]=0.0;return}function JB(a,b){a=a|0;b=b|0;var c=0.0,d=0.0,e=0.0;c=+h[b>>3];d=+h[b+8>>3];e=+h[b+16>>3];b=a+28|0;if(+g[b>>2]>c)g[b>>2]=c;b=a+40|0;if(+g[b>>2]<c)g[b>>2]=c;b=a+32|0;if(+g[b>>2]>d)g[b>>2]=d;b=a+44|0;if(+g[b>>2]<d)g[b>>2]=d;b=a+36|0;if(+g[b>>2]>e)g[b>>2]=e;b=a+48|0;if(!(+g[b>>2]<e))return;g[b>>2]=e;return}function KB(a,b){a=a|0;b=b|0;var c=0.0,d=0.0,e=0.0;c=+h[b+24>>3];if(!(c!=0.0))return;e=c;c=+h[b>>3]/e;d=+h[b+8>>3]/e;e=+h[b+16>>3]/e;b=a+28|0;if(c<+g[b>>2])g[b>>2]=c;b=a+40|0;if(c>+g[b>>2])g[b>>2]=c;b=a+32|0;if(d<+g[b>>2])g[b>>2]=d;b=a+44|0;if(d>+g[b>>2])g[b>>2]=d;b=a+36|0;if(e<+g[b>>2])g[b>>2]=e;b=a+48|0;if(!(e>+g[b>>2]))return;g[b>>2]=e;return}function LB(a,b,c){a=a|0;b=+b;c=+c;var d=0;d=a+28|0;if(+g[d>>2]>b)g[d>>2]=b;d=a+40|0;if(+g[d>>2]<b)g[d>>2]=b;d=a+32|0;if(+g[d>>2]>c)g[d>>2]=c;d=a+44|0;if(+g[d>>2]<c)g[d>>2]=c;d=a+36|0;if(+g[d>>2]>1.0)g[d>>2]=1.0;d=a+48|0;if(!(+g[d>>2]<1.0))return;g[d>>2]=1.0;return}function MB(a,b,c,d){a=a|0;b=+b;c=+c;d=+d;var e=0;e=a+28|0;if(+g[e>>2]>b)g[e>>2]=b;e=a+40|0;if(+g[e>>2]<b)g[e>>2]=b;e=a+32|0;if(+g[e>>2]>c)g[e>>2]=c;e=a+44|0;if(+g[e>>2]<c)g[e>>2]=c;e=a+36|0;if(+g[e>>2]>d)g[e>>2]=d;e=a+48|0;if(!(+g[e>>2]<d))return;g[e>>2]=d;return}function NB(a,b,c,d,e){a=a|0;b=+b;c=+c;d=+d;e=+e;var f=0;if(!(e!=0.0))return;b=b/e;c=c/e;d=d/e;f=a+28|0;if(+g[f>>2]>b)g[f>>2]=b;f=a+40|0;if(+g[f>>2]<b)g[f>>2]=b;f=a+32|0;if(+g[f>>2]>c)g[f>>2]=c;f=a+44|0;if(+g[f>>2]<c)g[f>>2]=c;f=a+36|0;if(+g[f>>2]>d)g[f>>2]=d;f=a+48|0;if(!(+g[f>>2]<d))return;g[f>>2]=d;return}function OB(a,b,c){a=a|0;b=+b;c=+c;var d=0;d=a+28|0;if(+g[d>>2]>b)g[d>>2]=b;d=a+40|0;if(+g[d>>2]<b)g[d>>2]=b;d=a+32|0;if(+g[d>>2]>c)g[d>>2]=c;d=a+44|0;if(+g[d>>2]<c)g[d>>2]=c;d=a+36|0;if(+g[d>>2]>1.0)g[d>>2]=1.0;d=a+48|0;if(!(+g[d>>2]<1.0))return;g[d>>2]=1.0;return}function PB(a,b,c,d){a=a|0;b=+b;c=+c;d=+d;var e=0;e=a+28|0;if(+g[e>>2]>b)g[e>>2]=b;e=a+40|0;if(+g[e>>2]<b)g[e>>2]=b;e=a+32|0;if(+g[e>>2]>c)g[e>>2]=c;e=a+44|0;if(+g[e>>2]<c)g[e>>2]=c;e=a+36|0;if(+g[e>>2]>d)g[e>>2]=d;e=a+48|0;if(!(+g[e>>2]<d))return;g[e>>2]=d;return}function QB(a,b,c,d,e){a=a|0;b=+b;c=+c;d=+d;e=+e;var f=0,h=0.0;if(!(e!=0.0))return;b=b/e;h=c/e;c=d/e;f=a+28|0;if(+g[f>>2]>b)g[f>>2]=b;f=a+40|0;if(+g[f>>2]<b)g[f>>2]=b;f=a+32|0;if(+g[f>>2]>h)g[f>>2]=h;f=a+44|0;if(+g[f>>2]<h)g[f>>2]=h;f=a+36|0;if(+g[f>>2]>c)g[f>>2]=c;f=a+48|0;if(!(+g[f>>2]<c))return;g[f>>2]=c;return}function RB(a){a=a|0;return}function SB(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,h=0,i=0.0,j=0.0,k=0.0,l=0.0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0.0,s=0.0,t=0.0,u=0,v=0.0,w=0.0,x=0.0,y=0.0,z=0.0,A=0.0,C=0.0,D=0.0;e=b+12|0;v=+g[e>>2];w=+g[b>>2];if(!(v>=w))return;f=b+16|0;x=+g[f>>2];h=b+4|0;y=+g[h>>2];if(!(x>=y))return;c=b+20|0;s=+g[c>>2];d=b+8|0;t=+g[d>>2];if(!(s>=t))return;u=a+12|0;i=+g[u>>2];if(!(i>=0.0)){g[a>>2]=(v+w)*.5;g[a+4>>2]=(y+x)*.5;g[a+8>>2]=(t+s)*.5;w=+g[e>>2]-+g[b>>2];x=+g[f>>2]-+g[h>>2];y=+g[c>>2]-+g[d>>2];g[u>>2]=+B(+((w*w+x*x+y*y)*.25));return}p=+g[a>>2];c=a+4|0;q=+g[c>>2];d=a+8|0;r=+g[d>>2];o=-i;b=0;i=w;j=t;k=v;l=x;m=s;n=y;do{C=((b&1|0)==0?w:v)-p;A=((b&2|0)==0?y:x)-q;z=((b&4|0)==0?t:s)-r;D=+B(+(C*C+A*A+z*z));h=D>0.0;D=1.0/D;C=p+(h?C*D:C)*o;A=q+(h?A*D:A)*o;z=r+(h?z*D:z)*o;i=C<i?C:i;k=C>k?C:k;n=A<n?A:n;l=A>l?A:l;j=z<j?z:j;m=z>m?z:m;b=b+1|0}while((b|0)!=8);g[a>>2]=(i+k)*.5;g[c>>2]=(n+l)*.5;g[d>>2]=(j+m)*.5;A=k-i;C=l-n;D=m-j;g[u>>2]=+B(+((A*A+C*C+D*D)*.25));return}function TB(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;g=a+36|0;d=a+40|0;b=c[d>>2]|0;do if(b){e=a+40|0;while(1){d=c[b+16>>2]|0;if(d>>>0>44624>>>0){d=c[b>>2]|0;if(!d){d=5;break}else{e=b;b=d}}else{if(d>>>0>=44624>>>0){d=9;break}e=b+4|0;d=c[e>>2]|0;if(!d){d=8;break}else b=d}}if((d|0)==5){f=b;e=b;break}else if((d|0)==8){f=b;break}else if((d|0)==9){f=b;break}}else{f=d;e=d}while(0);b=c[e>>2]|0;if(!b){b=j0a(24)|0;c[b+16>>2]=44624;c[b+20>>2]=0;c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=f;c[e>>2]=b;d=c[c[g>>2]>>2]|0;if(!d)d=b;else{c[g>>2]=d;d=c[e>>2]|0}fp(c[a+40>>2]|0,d);g=a+44|0;c[g>>2]=(c[g>>2]|0)+1}d=b+20|0;if(c[d>>2]|0){a=c[d>>2]|0;return a|0}e=j0a(64)|0;VB(e,c[a+24>>2]|0);b=c[d>>2]|0;if((b|0)==(e|0)){a=c[d>>2]|0;return a|0}c[d>>2]=e;a=e+8|0;c[a>>2]=(c[a>>2]|0)+1;if(!b){a=c[d>>2]|0;return a|0}g=b+8|0;a=c[g>>2]|0;c[g>>2]=a-1;if((a|0)!=1){a=c[d>>2]|0;return a|0}UU(b,1,1);a=c[d>>2]|0;return a|0}function UB(b,d,e){b=b|0;d=d|0;e=e|0;var f=0;d=l;l=l+16|0;b=d;if((a[223632]|0)==0?g2a(223632)|0:0)kr(225352);if((c[56338]|0)<=3){l=d;return}e=mr(lr(4)|0,133580,57)|0;BSa(b,e+(c[(c[e>>2]|0)+-12>>2]|0)|0);f=cUa(b,230580)|0;f=kk[c[(c[f>>2]|0)+28>>2]&511](f,10)|0;dUa(b);VSa(e,f)|0;HSa(e)|0;l=d;return}function VB(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;h=l;l=l+16|0;e=h;f=j0a(32)|0;c[e>>2]=f;c[e+8>>2]=-2147483616;c[e+4>>2]=18;g=f;i=133638;j=g+18|0;do{a[g>>0]=a[i>>0]|0;g=g+1|0;i=i+1|0}while((g|0)<(j|0));a[f+18>>0]=0;Cu(b,e,d);if((a[e+11>>0]|0)<0)l0a(c[e>>2]|0);c[b>>2]=72372;c[b+28>>2]=0;c[b+32>>2]=0;c[b+36>>2]=0;xla(b+40|0,0);c[b+56>>2]=0;c[b+60>>2]=0;c[b+52>>2]=b+56;l=h;return}function WB(a){a=a|0;c[a>>2]=72372;aC(a+52|0,c[a+56>>2]|0);oX(a+40|0);Is(a);return}function XB(a){a=a|0;c[a>>2]=72372;aC(a+52|0,c[a+56>>2]|0);oX(a+40|0);Is(a);l0a(a);return}function YB(b,d,e){b=b|0;d=+d;e=e|0;var f=0,g=0;e=l;l=l+16|0;b=e;if((a[223632]|0)==0?g2a(223632)|0:0)kr(225352);if((c[56338]|0)<=3){l=e;return}f=mr(lr(4)|0,133724,64)|0;BSa(b,f+(c[(c[f>>2]|0)+-12>>2]|0)|0);g=cUa(b,230580)|0;g=kk[c[(c[g>>2]|0)+28>>2]&511](g,10)|0;dUa(b);VSa(f,g)|0;HSa(f)|0;l=e;return}function ZB(b){b=b|0;var d=0,e=0,f=0;d=l;l=l+16|0;b=d;if((a[223632]|0)==0?g2a(223632)|0:0)kr(225352);if((c[56338]|0)<=3){l=d;return}e=mr(lr(4)|0,133580,57)|0;BSa(b,e+(c[(c[e>>2]|0)+-12>>2]|0)|0);f=cUa(b,230580)|0;f=kk[c[(c[f>>2]|0)+28>>2]&511](f,10)|0;dUa(b);VSa(e,f)|0;HSa(e)|0;l=d;return}function _B(b){b=b|0;var d=0,e=0,f=0;d=l;l=l+16|0;b=d;if((a[223632]|0)==0?g2a(223632)|0:0)kr(225352);if((c[56338]|0)<=3){l=d;return}e=mr(lr(4)|0,133657,66)|0;BSa(b,e+(c[(c[e>>2]|0)+-12>>2]|0)|0);f=cUa(b,230580)|0;f=kk[c[(c[f>>2]|0)+28>>2]&511](f,10)|0;dUa(b);VSa(e,f)|0;HSa(e)|0;l=d;return}function $B(a){a=a|0;var b=0,d=0,e=0;b=a+40|0;gk[c[(c[b>>2]|0)+8>>2]&1023](b)|0;e=a+52|0;d=a+56|0;aC(e,c[d>>2]|0);c[a+60>>2]=0;c[e>>2]=d;c[d>>2]=0;gk[c[(c[b>>2]|0)+12>>2]&1023](b)|0;return}function aC(a,b){a=a|0;b=b|0;if(!b)return;else{aC(a,c[b>>2]|0);aC(a,c[b+4>>2]|0);l0a(b);return}}function bC(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;m=a+8|0;f=c[m>>2]|0;n=a+4|0;e=c[n>>2]|0;d=e;if(f-e>>2>>>0>=b>>>0){z2a(e|0,0,b<<2|0)|0;c[n>>2]=d+(b<<2);return}j=c[a>>2]|0;h=e-j>>2;e=h+b|0;g=j;if(e>>>0>1073741823)g1a(a);l=f-j|0;f=l>>1;f=l>>2>>>0<536870911?(f>>>0<e>>>0?e:f):1073741823;do if(f)if(f>>>0>1073741823){n=db(8)|0;p0a(n,183738);c[n>>2]=110936;hb(n|0,65952,1066)}else{i=j0a(f<<2)|0;break}else i=0;while(0);e=i+(h<<2)|0;l=i+(f<<2)|0;z2a(e|0,0,b<<2|0)|0;k=e+(b<<2)|0;if((d|0)==(g|0))f=j;else{b=h+-1-((d+-4+(0-j)|0)>>>2)|0;while(1){d=d+-4|0;f=c[d>>2]|0;c[e+-4>>2]=f;if(f|0){j=f+8|0;c[j>>2]=(c[j>>2]|0)+1}if((d|0)==(g|0))break;else e=e+-4|0}f=c[a>>2]|0;e=i+(b<<2)|0;g=f;d=c[n>>2]|0}c[a>>2]=e;c[n>>2]=k;c[m>>2]=l;if((d|0)!=(g|0))do{d=d+-4|0;e=c[d>>2]|0;if(e|0?(m=e+8|0,n=c[m>>2]|0,c[m>>2]=n-1,(n|0)==1):0)UU(e,1,1);c[d>>2]=0}while((d|0)!=(g|0));if(!f)return;l0a(f);return}function cC(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;dC(b,d,e);c[b>>2]=71956;f=b+124|0;h=d+124|0;c[f>>2]=c[h>>2];c[f+4>>2]=c[h+4>>2];c[f+8>>2]=c[h+8>>2];c[f+12>>2]=c[h+12>>2];c[f+16>>2]=c[h+16>>2];c[f+20>>2]=c[h+20>>2];f=c[d+148>>2]|0;c[b+148>>2]=f;if(f|0){h=f+8|0;c[h>>2]=(c[h>>2]|0)+1}h=b+152|0;g=d+152|0;c[h>>2]=c[g>>2];c[h+4>>2]=c[g+4>>2];c[h+8>>2]=c[g+8>>2];c[h+12>>2]=c[g+12>>2];c[h+16>>2]=c[g+16>>2];c[h+20>>2]=c[g+20>>2];e=kk[c[(c[e>>2]|0)+48>>2]&511](e,c[d+176>>2]|0)|0;c[b+176>>2]=e;if(e|0){h=e+8|0;c[h>>2]=(c[h>>2]|0)+1}a[b+180>>0]=a[d+180>>0]|0;a[b+181>>0]=a[d+181>>0]|0;a[b+182>>0]=a[d+182>>0]|0;a[b+183>>0]=a[d+183>>0]|0;a[b+184>>0]=a[d+184>>0]|0;e=b+188|0;vt()|0;f=c[(c[56383]|0)+84>>2]|0;c[e>>2]=0;g=b+192|0;c[g>>2]=0;h=b+196|0;c[h>>2]=0;do if(f|0)if(f>>>0>1073741823)g1a(e);else{i=f<<2;j=j0a(i)|0;c[e>>2]=j;f=j+(f<<2)|0;c[h>>2]=f;z2a(j|0,0,i|0)|0;c[g>>2]=f;break}while(0);jja(b+200|0);e=c[d+212>>2]|0;c[b+212>>2]=e;if(e|0){j=e+(c[(c[e>>2]|0)+-12>>2]|0)+8|0;c[j>>2]=(c[j>>2]|0)+1}e=c[d+216>>2]|0;c[b+216>>2]=e;if(!e)return;j=e+(c[(c[e>>2]|0)+-12>>2]|0)+8|0;c[j>>2]=(c[j>>2]|0)+1;return}function dC(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0;Or(b,d,e);c[b>>2]=72424;f=b+32|0;g=d+32|0;c[f>>2]=c[g>>2];c[f+4>>2]=c[g+4>>2];c[f+8>>2]=c[g+8>>2];c[b+44>>2]=c[d+44>>2];c[b+48>>2]=0;f=b+52|0;g=d+52|0;c[f>>2]=c[g>>2];c[f+4>>2]=c[g+4>>2];c[f+8>>2]=c[g+8>>2];c[b+64>>2]=c[d+64>>2];a[b+68>>0]=a[d+68>>0]|0;c[b+72>>2]=0;c[b+76>>2]=0;c[b+80>>2]=0;f=kk[c[(c[e>>2]|0)+60>>2]&511](e,c[d+84>>2]|0)|0;c[b+84>>2]=f;if(f|0){g=f+(c[(c[f>>2]|0)+-12>>2]|0)+8|0;c[g>>2]=(c[g>>2]|0)+1}c[b+88>>2]=0;c[b+92>>2]=0;c[b+96>>2]=0;f=kk[c[(c[e>>2]|0)+60>>2]&511](e,c[d+100>>2]|0)|0;c[b+100>>2]=f;if(f|0){g=f+(c[(c[f>>2]|0)+-12>>2]|0)+8|0;c[g>>2]=(c[g>>2]|0)+1}a[b+104>>0]=a[d+104>>0]|0;c[b+108>>2]=0;c[b+112>>2]=0;c[b+116>>2]=c[d+116>>2];c[b+120>>2]=0;Bw(b,kk[c[(c[e>>2]|0)+24>>2]&511](e,c[d+120>>2]|0)|0);return}function eC(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0;c[a>>2]=72424;Bw(a,0);b=a+120|0;d=c[b>>2]|0;if(d|0?(i=d+8|0,h=c[i>>2]|0,c[i>>2]=h-1,(h|0)==1):0)UU(d,1,1);c[b>>2]=0;b=a+100|0;d=c[b>>2]|0;if(d|0?(e=d+(c[(c[d>>2]|0)+-12>>2]|0)|0,h=e+8|0,i=c[h>>2]|0,c[h>>2]=i-1,(i|0)==1):0)UU(e,1,1);c[b>>2]=0;b=a+92|0;d=c[b>>2]|0;if(d|0?(f=d+(c[(c[d>>2]|0)+-12>>2]|0)|0,h=f+8|0,i=c[h>>2]|0,c[h>>2]=i-1,(i|0)==1):0)UU(f,1,1);c[b>>2]=0;b=a+84|0;d=c[b>>2]|0;if(d|0?(g=d+(c[(c[d>>2]|0)+-12>>2]|0)|0,h=g+8|0,i=c[h>>2]|0,c[h>>2]=i-1,(i|0)==1):0)UU(g,1,1);c[b>>2]=0;b=c[a+72>>2]|0;if(b|0){c[a+76>>2]=b;l0a(b)}b=a+48|0;d=c[b>>2]|0;if(!d){c[b>>2]=0;Pr(a);return}h=d+8|0;i=c[h>>2]|0;c[h>>2]=i-1;if((i|0)!=1){c[b>>2]=0;Pr(a);return}UU(d,1,1);c[b>>2]=0;Pr(a);return}function fC(a){a=a|0;var b=0,d=0,e=0;b=c[a>>2]|0;if(b|0?(e=b+8|0,d=c[e>>2]|0,c[e>>2]=d-1,(d|0)==1):0)UU(b,1,1);c[a>>2]=0;return}function gC(a){a=a|0;var b=0,d=0,e=0;b=c[a>>2]|0;if(!b){c[a>>2]=0;return}b=b+(c[(c[b>>2]|0)+-12>>2]|0)|0;e=b+8|0;d=c[e>>2]|0;c[e>>2]=d-1;if((d|0)!=1){c[a>>2]=0;return}UU(b,1,1);c[a>>2]=0;return}function hC(a){a=a|0;var b=0;b=c[a>>2]|0;if(!b)return;c[a+4>>2]=b;l0a(b);return}function iC(a){a=a|0;var b=0,d=0,e=0;b=c[a>>2]|0;if(b|0?(e=b+8|0,d=c[e>>2]|0,c[e>>2]=d-1,(d|0)==1):0)UU(b,1,1);c[a>>2]=0;return}function jC(a,b){a=a|0;b=b|0;var d=0;d=c[a+28>>2]|0;if(d|0)Jk[c[c[d>>2]>>2]&1023](d,b);d=c[a+120>>2]|0;if(d|0)Jk[c[c[d>>2]>>2]&1023](d,b);d=c[a+84>>2]|0;if(d|0){d=d+(c[(c[d>>2]|0)+-12>>2]|0)|0;Jk[c[c[d>>2]>>2]&1023](d,b)}d=c[a+92>>2]|0;if(d|0){d=d+(c[(c[d>>2]|0)+-12>>2]|0)|0;Jk[c[c[d>>2]>>2]&1023](d,b)}d=c[a+100>>2]|0;if(!d)return;a=d+(c[(c[d>>2]|0)+-12>>2]|0)|0;Jk[c[c[a>>2]>>2]&1023](a,b);return}function kC(a){a=a|0;eC(a);l0a(a);return}function lC(b){b=b|0;var d=0;b=j0a(124)|0;Uha(b,1);d=b+12|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[b+24>>2]=2;c[b+28>>2]=0;c[b>>2]=72424;g[b+32>>2]=0.0;g[b+36>>2]=0.0;g[b+40>>2]=0.0;g[b+44>>2]=-1.0;d=b+48|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[d+12>>2]=0;g[b+64>>2]=-1.0;d=b+72|0;c[b+92>>2]=0;c[b+100>>2]=0;c[b+120>>2]=0;a[b+68>>0]=0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[d+12>>2]=0;c[b+116>>2]=-1;c[b+88>>2]=0;c[b+96>>2]=0;a[b+104>>0]=1;c[b+108>>2]=0;c[b+112>>2]=0;return b|0}function mC(a,b){a=a|0;b=b|0;var c=0;c=j0a(124)|0;dC(c,a,b);return c|0}function nC(a,b){a=a|0;b=b|0;if(!b){b=0;return b|0}b=(y1a(b,42800,43184,0)|0)!=0;return b|0}function oC(a){a=a|0;return 186332}function pC(a){a=a|0;return 133819}function qC(a,b){a=a|0;b=b|0;var d=0;d=c[a+120>>2]|0;if(d|0)Jk[c[(c[d>>2]|0)+156>>2]&1023](d,b);d=c[a+84>>2]|0;if(d|0){d=d+(c[(c[d>>2]|0)+-12>>2]|0)|0;Jk[c[(c[d>>2]|0)+156>>2]&1023](d,b)}d=c[a+92>>2]|0;if(d|0){d=d+(c[(c[d>>2]|0)+-12>>2]|0)|0;Jk[c[(c[d>>2]|0)+156>>2]&1023](d,b)}d=c[a+100>>2]|0;if(!d)return;a=d+(c[(c[d>>2]|0)+-12>>2]|0)|0;Jk[c[(c[a>>2]|0)+156>>2]&1023](a,b);return}function rC(a,b){a=a|0;b=b|0;var d=0;d=c[a+120>>2]|0;if(d|0)Jk[c[(c[d>>2]|0)+160>>2]&1023](d,b);d=c[a+84>>2]|0;if(d|0){d=d+(c[(c[d>>2]|0)+-12>>2]|0)|0;Jk[c[(c[d>>2]|0)+160>>2]&1023](d,b)}d=c[a+92>>2]|0;if(d|0){d=d+(c[(c[d>>2]|0)+-12>>2]|0)|0;Jk[c[(c[d>>2]|0)+160>>2]&1023](d,b)}d=c[a+100>>2]|0;if(!d)return;a=d+(c[(c[d>>2]|0)+-12>>2]|0)|0;Jk[c[(c[a>>2]|0)+160>>2]&1023](a,b);return}function sC(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;j=l;l=l+16|0;d=j+8|0;i=j+4|0;e=j;if(!((c[a+116>>2]|c[b+24>>2])&c[b+20>>2])){l=j;return}c[i>>2]=a;f=b+16|0;g=b+28|0;h=a;do if((c[f>>2]|0)!=1){d=b+32|0;e=c[d>>2]|0;if((e|0)==(c[b+36>>2]|0)){ow(g,i);break}else{c[e>>2]=h;c[d>>2]=(c[d>>2]|0)+4;break}}else{c[e>>2]=c[g>>2];c[d>>2]=c[e>>2];pw(g,d,i)|0}while(0);Jk[c[(c[b>>2]|0)+108>>2]&1023](b,a);if((c[f>>2]|0)==1){a=c[b+28>>2]|0;f=a+4|0;d=b+32|0;e=(c[d>>2]|0)-f|0;if(e|0)y2a(a|0,f|0,e|0)|0;e=a+(e>>2<<2)|0}else{d=b+32|0;e=(c[d>>2]|0)+-4|0}c[d>>2]=e;l=j;return}function tC(a,b){a=a|0;b=b|0;g[a>>2]=0.0;g[a+4>>2]=0.0;g[a+8>>2]=0.0;g[a+12>>2]=-1.0;return}function uC(b){b=b|0;var d=0,e=0,f=0,h=0,i=0,j=0;Uha(b,1);d=b+12|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[b+24>>2]=2;c[b+28>>2]=0;g[b+32>>2]=0.0;g[b+36>>2]=0.0;g[b+40>>2]=0.0;g[b+44>>2]=-1.0;d=b+48|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[d+12>>2]=0;g[b+64>>2]=-1.0;d=b+72|0;c[b+92>>2]=0;c[b+100>>2]=0;c[b+120>>2]=0;a[b+68>>0]=0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[d+12>>2]=0;c[b+116>>2]=-1;c[b+88>>2]=0;c[b+96>>2]=0;a[b+104>>0]=1;c[b+108>>2]=0;c[b+112>>2]=0;c[b>>2]=71956;g[b+124>>2]=3402823466385288598117041.0e14;g[b+128>>2]=3402823466385288598117041.0e14;g[b+132>>2]=3402823466385288598117041.0e14;g[b+136>>2]=-3402823466385288598117041.0e14;g[b+140>>2]=-3402823466385288598117041.0e14;g[b+144>>2]=-3402823466385288598117041.0e14;c[b+148>>2]=0;g[b+152>>2]=3402823466385288598117041.0e14;g[b+156>>2]=3402823466385288598117041.0e14;g[b+160>>2]=3402823466385288598117041.0e14;g[b+164>>2]=-3402823466385288598117041.0e14;g[b+168>>2]=-3402823466385288598117041.0e14;g[b+172>>2]=-3402823466385288598117041.0e14;c[b+176>>2]=0;d=b+188|0;vt()|0;e=c[(c[56383]|0)+84>>2]|0;c[d>>2]=0;f=b+192|0;c[f>>2]=0;h=b+196|0;c[h>>2]=0;if(!e){h=b+200|0;jja(h);h=b+212|0;c[h>>2]=0;h=b+216|0;c[h>>2]=0;h=b+180|0;a[h>>0]=0;h=b+181|0;a[h>>0]=0;h=b+182|0;a[h>>0]=1;h=b+183|0;a[h>>0]=1;h=b+184|0;a[h>>0]=0;return}if(e>>>0>1073741823)g1a(d);i=e<<2;j=j0a(i)|0;c[d>>2]=j;e=j+(e<<2)|0;c[h>>2]=e;z2a(j|0,0,i|0)|0;c[f>>2]=e;h=b+200|0;jja(h);h=b+212|0;c[h>>2]=0;h=b+216|0;c[h>>2]=0;h=b+180|0;a[h>>0]=0;h=b+181|0;a[h>>0]=0;h=b+182|0;a[h>>0]=1;h=b+183|0;a[h>>0]=1;h=b+184|0;a[h>>0]=0;return}function vC(a){a=a|0;var b=0,d=0,e=0;b=c[a>>2]|0;if(!b){c[a>>2]=0;return}b=b+(c[(c[b>>2]|0)+-12>>2]|0)|0;e=b+8|0;d=c[e>>2]|0;c[e>>2]=d-1;if((d|0)!=1){c[a>>2]=0;return}UU(b,1,1);c[a>>2]=0;return}function wC(a){a=a|0;var b=0,d=0,e=0;b=c[a>>2]|0;if(!b){c[a>>2]=0;return}b=b+(c[(c[b>>2]|0)+-12>>2]|0)|0;e=b+8|0;d=c[e>>2]|0;c[e>>2]=d-1;if((d|0)!=1){c[a>>2]=0;return}UU(b,1,1);c[a>>2]=0;return}function xC(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;e=c[a>>2]|0;if(!e)return;f=a+4|0;b=c[f>>2]|0;if((b|0)==(e|0))b=e;else{do{b=b+-4|0;d=c[b>>2]|0;if(d|0?(h=d+8|0,g=c[h>>2]|0,c[h>>2]=g-1,(g|0)==1):0)UU(d,1,1);c[b>>2]=0}while((b|0)!=(e|0));b=c[a>>2]|0}c[f>>2]=e;l0a(b);return}function yC(a){a=a|0;var b=0;b=c[a>>2]|0;if(!b)return;c[a+4>>2]=b;l0a(b);return}function zC(a){a=a|0;var b=0,d=0,e=0;b=c[a>>2]|0;if(b|0?(e=b+8|0,d=c[e>>2]|0,c[e>>2]=d-1,(d|0)==1):0)UU(b,1,1);c[a>>2]=0;return}function AC(a){a=a|0;var b=0,d=0,e=0;b=c[a>>2]|0;if(b|0?(e=b+8|0,d=c[e>>2]|0,c[e>>2]=d-1,(d|0)==1):0)UU(b,1,1);c[a>>2]=0;return}function BC(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;c[a>>2]=72724;e=a+40|0;d=a+48|0;if(c[d>>2]|0?(b=c[a+44>>2]|0,f=(c[e>>2]|0)+4|0,g=c[b>>2]|0,c[g+4>>2]=c[f>>2],c[c[f>>2]>>2]=g,c[d>>2]=0,(b|0)!=(e|0)):0)do{g=b;b=c[b+4>>2]|0;l0a(g)}while((b|0)!=(e|0));oX(a+28|0);Is(a);return}function CC(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;c[a>>2]=72724;e=a+40|0;d=a+48|0;if(c[d>>2]|0?(b=c[a+44>>2]|0,f=(c[e>>2]|0)+4|0,g=c[b>>2]|0,c[g+4>>2]=c[f>>2],c[c[f>>2]>>2]=g,c[d>>2]=0,(b|0)!=(e|0)):0)do{g=b;b=c[b+4>>2]|0;l0a(g)}while((b|0)!=(e|0));oX(a+28|0);Is(a);l0a(a);return}function DC(a,b,d){a=a|0;b=+b;d=d|0;var e=0.0,f=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;if(+h[d>>3]<=0.0)return;m=fia()|0;n=gia(m)|0;o=y;p=a+28|0;gk[c[(c[p>>2]|0)+8>>2]&1023](p)|0;f=c[a+44>>2]|0;l=a+40|0;g=f;b=+h[d>>3];if((l|0)!=(g|0)&b>0.0){j=a+48|0;k=m+8|0;do{Jk[c[(c[a>>2]|0)+52>>2]&1023](a,c[f+8>>2]|0);q=g+4|0;i=f;f=c[q>>2]|0;g=c[g>>2]|0;c[g+4>>2]=f;c[c[q>>2]>>2]=g;c[j>>2]=(c[j>>2]|0)+-1;l0a(i);g=gia(m)|0;i=y;if(i>>>0>o>>>0|(i|0)==(o|0)&g>>>0>n>>>0){q=q2a(g|0,i|0,n|0,o|0)|0;e=+h[k>>3]*(+(q>>>0)+4294967296.0*+(y>>>0))}else{q=q2a(n|0,o|0,g|0,i|0)|0;e=-(+h[k>>3]*(+(q>>>0)+4294967296.0*+(y>>>0)))}g=f;b=+h[d>>3]}while((l|0)!=(g|0)&e<b)}else e=0.0;h[d>>3]=b-e;gk[c[(c[p>>2]|0)+12>>2]&1023](p)|0;return}function EC(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;g=a+28|0;gk[c[(c[g>>2]|0)+8>>2]&1023](g)|0;h=a+40|0;f=a+44|0;d=c[f>>2]|0;e=d;if((h|0)!=(e|0))do{Jk[c[(c[a>>2]|0)+52>>2]&1023](a,c[d+8>>2]|0);d=c[e+4>>2]|0;e=d}while((h|0)!=(e|0));d=a+48|0;if(c[d>>2]|0?(b=c[f>>2]|0,f=(c[h>>2]|0)+4|0,a=c[b>>2]|0,c[a+4>>2]=c[f>>2],c[c[f>>2]>>2]=a,c[d>>2]=0,(b|0)!=(h|0)):0)do{f=b;b=c[b+4>>2]|0;l0a(f)}while((b|0)!=(h|0));gk[c[(c[g>>2]|0)+12>>2]&1023](g)|0;return}function FC(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;e=l;l=l+16|0;d=e;if((a[223632]|0)==0?g2a(223632)|0:0)kr(225352);if((c[56338]|0)<=3){l=e;return}i=mr(lr(4)|0,133824,5)|0;h=b+12|0;f=a[h+11>>0]|0;g=f<<24>>24<0;b=mr(mr(i,g?c[h>>2]|0:h,g?c[b+16>>2]|0:f&255)|0,133867,40)|0;BSa(d,b+(c[(c[b>>2]|0)+-12>>2]|0)|0);f=cUa(d,230580)|0;f=kk[c[(c[f>>2]|0)+28>>2]&511](f,10)|0;dUa(d);VSa(b,f)|0;HSa(b)|0;l=e;return}function GC(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;e=a+28|0;gk[c[(c[e>>2]|0)+8>>2]&1023](e)|0;f=a+40|0;d=a+48|0;if(c[d>>2]|0?(b=c[a+44>>2]|0,a=(c[f>>2]|0)+4|0,g=c[b>>2]|0,c[g+4>>2]=c[a>>2],c[c[a>>2]>>2]=g,c[d>>2]=0,(b|0)!=(f|0)):0)do{g=b;b=c[b+4>>2]|0;l0a(g)}while((b|0)!=(f|0));gk[c[(c[e>>2]|0)+12>>2]&1023](e)|0;return}function HC(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=a+28|0;gk[c[(c[d>>2]|0)+8>>2]&1023](d)|0;e=a+40|0;f=j0a(12)|0;c[f+8>>2]=b;c[f+4>>2]=e;b=c[e>>2]|0;c[f>>2]=b;c[b+4>>2]=f;c[e>>2]=f;b=a+48|0;c[b>>2]=(c[b>>2]|0)+1;gk[c[(c[d>>2]|0)+12>>2]&1023](d)|0;return}function IC(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;e=l;l=l+16|0;d=e;if((a[223632]|0)==0?g2a(223632)|0:0)kr(225352);if((c[56338]|0)<=3){l=e;return 0}i=mr(lr(4)|0,133824,5)|0;h=b+12|0;f=a[h+11>>0]|0;g=f<<24>>24<0;b=mr(mr(i,g?c[h>>2]|0:h,g?c[b+16>>2]|0:f&255)|0,133830,36)|0;BSa(d,b+(c[(c[b>>2]|0)+-12>>2]|0)|0);f=cUa(d,230580)|0;f=kk[c[(c[f>>2]|0)+28>>2]&511](f,10)|0;dUa(d);VSa(b,f)|0;HSa(b)|0;l=e;return 0}function JC(b,d){b=b|0;d=d|0;var e=0,f=0;f=l;l=l+16|0;e=f;c[e>>2]=d;b=bu(c[b+24>>2]|0,1)|0;if(!(a[b+24>>0]|0)){l=f;return}Jk[c[b+1300>>2]&1023](1,e);l=f;return}function KC(a){a=a|0;Di()}function LC(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;c[a>>2]=72724;e=a+40|0;d=a+48|0;if(c[d>>2]|0?(b=c[a+44>>2]|0,f=(c[e>>2]|0)+4|0,g=c[b>>2]|0,c[g+4>>2]=c[f>>2],c[c[f>>2]>>2]=g,c[d>>2]=0,(b|0)!=(e|0)):0)do{g=b;b=c[b+4>>2]|0;l0a(g)}while((b|0)!=(e|0));oX(a+28|0);Is(a);l0a(a);return}function MC(b,d){b=b|0;d=d|0;var e=0,f=0;f=l;l=l+16|0;e=f;c[e>>2]=d;b=bu(c[b+24>>2]|0,1)|0;if(!(a[b+24>>0]|0)){l=f;return}Jk[c[b+1324>>2]&1023](1,e);l=f;return}function NC(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;k=l;l=l+16|0;h=k;c[a>>2]=72852;i=a+32|0;j=a+36|0;e=c[j>>2]|0;d=c[i>>2]|0;b=d;if((e|0)!=(d|0)){g=0;do{if(c[d+(g<<2)>>2]|0){e=WC(qu(g)|0)|0;f=c[(c[e>>2]|0)+44>>2]|0;b=c[i>>2]|0;d=(c[j>>2]|0)-b>>2;if(d>>>0<=g>>>0){c[h>>2]=0;cu(i,g+1-d|0,h);b=c[i>>2]|0}Jk[f&1023](e,c[b+(g<<2)>>2]|0);b=c[i>>2]|0;d=b;e=c[j>>2]|0}g=g+1|0}while(g>>>0<e-d>>2>>>0)}d=c[a+44>>2]|0;if(d){c[a+48>>2]=d;l0a(d);b=c[i>>2]|0}if(!b){Pr(a);l=k;return}c[j>>2]=b;l0a(b);Pr(a);l=k;return}function OC(a){a=a|0;NC(a);l0a(a);return}function PC(a){a=a|0;a=j0a(76)|0;ZC(a);return a|0}function QC(a,b){a=a|0;b=b|0;var c=0;c=j0a(76)|0;YC(c,a,b);return c|0}function RC(a,b){a=a|0;b=b|0;if(!b){b=0;return b|0}b=(y1a(b,42800,44688,0)|0)!=0;return b|0}function SC(a){a=a|0;return 186332}function TC(a){a=a|0;return 134019}function UC(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=l;l=l+16|0;h=i;d=a+32|0;c[h>>2]=0;e=a+36|0;f=c[d>>2]|0;g=(c[e>>2]|0)-f>>2;if(g>>>0>=b>>>0){if(g>>>0>b>>>0)c[e>>2]=f+(b<<2)}else cu(d,b-g|0,h);g=a+44|0;c[h>>2]=0;d=a+48|0;e=c[g>>2]|0;f=(c[d>>2]|0)-e>>2;if(f>>>0<b>>>0){ku(g,b-f|0,h);l=i;return}if(f>>>0<=b>>>0){l=i;return}c[d>>2]=e+(b<<2);l=i;return}function VC(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;k=l;l=l+16|0;j=k;if(!b){h=a+32|0;g=a+36|0;a=c[g>>2]|0;b=c[h>>2]|0;if((a|0)==(b|0)){l=k;return}f=0;do{if(c[b+(f<<2)>>2]|0){d=WC(qu(f)|0)|0;e=c[(c[d>>2]|0)+44>>2]|0;b=c[h>>2]|0;a=(c[g>>2]|0)-b>>2;if(a>>>0<=f>>>0){c[j>>2]=0;cu(h,f+1-a|0,j);b=c[h>>2]|0}Jk[e&1023](d,c[b+(f<<2)>>2]|0);a=c[g>>2]|0;e=c[h>>2]|0;b=a-e>>2;if(b>>>0>f>>>0){d=e;b=e}else{c[j>>2]=0;cu(h,f+1-b|0,j);b=c[h>>2]|0;a=c[g>>2]|0;d=b}c[d+(f<<2)>>2]=0}f=f+1|0}while(f>>>0<a-b>>2>>>0);l=k;return}i=c[b+124>>2]|0;h=a+32|0;g=a+36|0;b=c[h>>2]|0;a=(c[g>>2]|0)-b>>2;if(a>>>0<=i>>>0){d=i+1|0;c[j>>2]=0;if(d>>>0<=a>>>0){if(d>>>0<a>>>0)c[g>>2]=b+(d<<2)}else{cu(h,d-a|0,j);b=c[h>>2]|0}}if(!(c[b+(i<<2)>>2]|0)){l=k;return}e=WC(qu(i)|0)|0;f=c[(c[e>>2]|0)+44>>2]|0;b=c[h>>2]|0;a=(c[g>>2]|0)-b>>2;if(a>>>0<=i>>>0){d=i+1|0;c[j>>2]=0;if(d>>>0<=a>>>0){if(d>>>0<a>>>0)c[g>>2]=b+(d<<2)}else{cu(h,d-a|0,j);b=c[h>>2]|0}}Jk[f&1023](e,c[b+(i<<2)>>2]|0);b=c[h>>2]|0;a=(c[g>>2]|0)-b>>2;if(a>>>0<=i>>>0){d=i+1|0;c[j>>2]=0;if(d>>>0<=a>>>0){if(d>>>0<a>>>0)c[g>>2]=b+(d<<2)}else{cu(h,d-a|0,j);b=c[h>>2]|0}}c[b+(i<<2)>>2]=0;l=k;return}function WC(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;g=a+36|0;d=a+40|0;b=c[d>>2]|0;do if(b){e=a+40|0;while(1){d=c[b+16>>2]|0;if(d>>>0>44640>>>0){d=c[b>>2]|0;if(!d){d=5;break}else{e=b;b=d}}else{if(d>>>0>=44640>>>0){d=9;break}e=b+4|0;d=c[e>>2]|0;if(!d){d=8;break}else b=d}}if((d|0)==5){f=b;e=b;break}else if((d|0)==8){f=b;break}else if((d|0)==9){f=b;break}}else{f=d;e=d}while(0);b=c[e>>2]|0;if(!b){b=j0a(24)|0;c[b+16>>2]=44640;c[b+20>>2]=0;c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=f;c[e>>2]=b;d=c[c[g>>2]>>2]|0;if(!d)d=b;else{c[g>>2]=d;d=c[e>>2]|0}fp(c[a+40>>2]|0,d);g=a+44|0;c[g>>2]=(c[g>>2]|0)+1}d=b+20|0;if(c[d>>2]|0){a=c[d>>2]|0;return a|0}e=j0a(52)|0;XC(e,c[a+24>>2]|0);b=c[d>>2]|0;if((b|0)==(e|0)){a=c[d>>2]|0;return a|0}c[d>>2]=e;a=e+8|0;c[a>>2]=(c[a>>2]|0)+1;if(!b){a=c[d>>2]|0;return a|0}g=b+8|0;a=c[g>>2]|0;c[g>>2]=a-1;if((a|0)!=1){a=c[d>>2]|0;return a|0}UU(b,1,1);a=c[d>>2]|0;return a|0}function XC(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;h=l;l=l+16|0;e=h;f=j0a(32)|0;c[e>>2]=f;c[e+8>>2]=-2147483616;c[e+4>>2]=21;g=f;i=133997;j=g+21|0;do{a[g>>0]=a[i>>0]|0;g=g+1|0;i=i+1|0}while((g|0)<(j|0));a[f+21>>0]=0;Cu(b,e,d);c[b>>2]=72724;xla(b+28|0,0);j=b+40|0;c[j>>2]=j;c[b+44>>2]=j;c[b+48>>2]=0;if((a[e+11>>0]|0)>=0){c[b>>2]=72660;l=h;return}l0a(c[e>>2]|0);c[b>>2]=72660;l=h;return}function YC(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;Or(a,b,d);c[a>>2]=72852;d=a+32|0;vt()|0;e=c[(c[56383]|0)+84>>2]|0;c[d>>2]=0;f=a+36|0;c[f>>2]=0;g=a+40|0;c[g>>2]=0;do if(e|0)if(e>>>0>1073741823)g1a(d);else{h=e<<2;i=j0a(h)|0;c[d>>2]=i;e=i+(e<<2)|0;c[g>>2]=e;z2a(i|0,0,h|0)|0;c[f>>2]=e;break}while(0);d=a+44|0;vt()|0;e=c[(c[56383]|0)+84>>2]|0;c[d>>2]=0;f=a+48|0;c[f>>2]=0;g=a+52|0;c[g>>2]=0;do if(e|0)if(e>>>0>1073741823)g1a(d);else{h=e<<2;j=j0a(h)|0;c[d>>2]=j;i=j+(e<<2)|0;c[g>>2]=i;z2a(j|0,0,h|0)|0;c[f>>2]=i;break}while(0);c[a+56>>2]=c[b+56>>2];c[a+60>>2]=c[b+60>>2];c[a+64>>2]=c[b+64>>2];c[a+68>>2]=c[b+68>>2];c[a+72>>2]=c[b+72>>2];return}function ZC(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0;Tha(a);b=a+12|0;c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;c[a+24>>2]=2;c[a+28>>2]=0;c[a>>2]=72852;b=a+32|0;vt()|0;d=c[(c[56383]|0)+84>>2]|0;c[b>>2]=0;e=a+36|0;c[e>>2]=0;f=a+40|0;c[f>>2]=0;do if(d|0)if(d>>>0>1073741823)g1a(b);else{g=d<<2;h=j0a(g)|0;c[b>>2]=h;d=h+(d<<2)|0;c[f>>2]=d;z2a(h|0,0,g|0)|0;c[e>>2]=d;break}while(0);b=a+44|0;vt()|0;d=c[(c[56383]|0)+84>>2]|0;c[b>>2]=0;e=a+48|0;c[e>>2]=0;f=a+52|0;c[f>>2]=0;if(!d){h=a+56|0;c[h>>2]=33190;h=a+60|0;c[h>>2]=512;h=a+64|0;c[h>>2]=512;h=a+68|0;c[h>>2]=0;h=a+72|0;c[h>>2]=0;return}if(d>>>0>1073741823)g1a(b);g=d<<2;i=j0a(g)|0;c[b>>2]=i;h=i+(d<<2)|0;c[f>>2]=h;z2a(i|0,0,g|0)|0;c[e>>2]=h;h=a+56|0;c[h>>2]=33190;h=a+60|0;c[h>>2]=512;h=a+64|0;c[h>>2]=512;h=a+68|0;c[h>>2]=0;h=a+72|0;c[h>>2]=0;return}function _C(a){a=a|0;var b=0;b=c[a>>2]|0;if(!b)return;c[a+4>>2]=b;l0a(b);return}function $C(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;k=l;l=l+16|0;h=k;c[a>>2]=73024;i=a+104|0;j=a+108|0;e=c[j>>2]|0;d=c[i>>2]|0;b=d;if((e|0)!=(d|0)){g=0;do{if(c[d+(g<<2)>>2]|0){e=vD(qu(g)|0)|0;f=c[(c[e>>2]|0)+44>>2]|0;b=c[i>>2]|0;d=(c[j>>2]|0)-b>>2;if(d>>>0<=g>>>0){c[h>>2]=0;cu(i,g+1-d|0,h);b=c[i>>2]|0}Jk[f&1023](e,c[b+(g<<2)>>2]|0);b=c[i>>2]|0;d=b;e=c[j>>2]|0}g=g+1|0}while(g>>>0<e-d>>2>>>0)}if(b|0){c[j>>2]=b;l0a(b)}b=c[a+92>>2]|0;if(b|0){c[a+96>>2]=b;l0a(b)}b=c[a+80>>2]|0;if(b|0){c[a+84>>2]=b;l0a(b)}b=c[a+68>>2]|0;if(!b){i=a+56|0;j=a+60|0;j=c[j>>2]|0;zD(i,j);Sr(a);l=k;return}c[a+72>>2]=b;l0a(b);i=a+56|0;j=a+60|0;j=c[j>>2]|0;zD(i,j);Sr(a);l=k;return}function aD(a){a=a|0;$C(a);l0a(a);return}function bD(a){a=a|0;a=j0a(116)|0;CD(a);return a|0}function cD(a,b){a=a|0;b=b|0;var c=0;c=j0a(116)|0;xD(c,a,b);return c|0}function dD(a,b){a=a|0;b=b|0;if(!b){b=0;return b|0}b=(y1a(b,42800,44704,0)|0)!=0;return b|0}function eD(a){a=a|0;return 186332}function fD(a){a=a|0;return 134501}function gD(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;j=l;l=l+16|0;g=j;h=a+104|0;c[g>>2]=0;i=a+108|0;d=c[h>>2]|0;e=(c[i>>2]|0)-d>>2;if(e>>>0>=b>>>0){if(e>>>0>b>>>0)c[i>>2]=d+(b<<2)}else cu(h,b-e|0,g);f=a+92|0;c[g>>2]=0;d=a+96|0;e=c[f>>2]|0;a=(c[d>>2]|0)-e>>2;if(a>>>0>=b>>>0){if(a>>>0>b>>>0)c[d>>2]=e+(b<<2)}else ku(f,b-a|0,g);c[g>>2]=0;d=c[h>>2]|0;e=(c[i>>2]|0)-d>>2;if(e>>>0<b>>>0){cu(h,b-e|0,g);l=j;return}if(e>>>0<=b>>>0){l=j;return}c[i>>2]=d+(b<<2);l=j;return}function hD(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;k=l;l=l+16|0;j=k;if(!b){h=a+104|0;g=a+108|0;a=c[g>>2]|0;b=c[h>>2]|0;if((a|0)==(b|0)){l=k;return}f=0;do{if(c[b+(f<<2)>>2]|0){d=vD(qu(f)|0)|0;e=c[(c[d>>2]|0)+44>>2]|0;b=c[h>>2]|0;a=(c[g>>2]|0)-b>>2;if(a>>>0<=f>>>0){c[j>>2]=0;cu(h,f+1-a|0,j);b=c[h>>2]|0}Jk[e&1023](d,c[b+(f<<2)>>2]|0);a=c[g>>2]|0;e=c[h>>2]|0;b=a-e>>2;if(b>>>0>f>>>0){d=e;b=e}else{c[j>>2]=0;cu(h,f+1-b|0,j);b=c[h>>2]|0;a=c[g>>2]|0;d=b}c[d+(f<<2)>>2]=0}f=f+1|0}while(f>>>0<a-b>>2>>>0);l=k;return}i=c[b+124>>2]|0;h=a+104|0;g=a+108|0;b=c[h>>2]|0;a=(c[g>>2]|0)-b>>2;if(a>>>0<=i>>>0){d=i+1|0;c[j>>2]=0;if(d>>>0<=a>>>0){if(d>>>0<a>>>0)c[g>>2]=b+(d<<2)}else{cu(h,d-a|0,j);b=c[h>>2]|0}}if(!(c[b+(i<<2)>>2]|0)){l=k;return}e=vD(qu(i)|0)|0;f=c[(c[e>>2]|0)+44>>2]|0;b=c[h>>2]|0;a=(c[g>>2]|0)-b>>2;if(a>>>0<=i>>>0){d=i+1|0;c[j>>2]=0;if(d>>>0<=a>>>0){if(d>>>0<a>>>0)c[g>>2]=b+(d<<2)}else{cu(h,d-a|0,j);b=c[h>>2]|0}}Jk[f&1023](e,c[b+(i<<2)>>2]|0);b=c[h>>2]|0;a=(c[g>>2]|0)-b>>2;if(a>>>0<=i>>>0){d=i+1|0;c[j>>2]=0;if(d>>>0<=a>>>0){if(d>>>0<a>>>0)c[g>>2]=b+(d<<2)}else{cu(h,d-a|0,j);b=c[h>>2]|0}}c[b+(i<<2)>>2]=0;l=k;return}function iD(a){a=a|0;return 55}function jD(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;if((a|0)==(b|0)){h=0;return h|0}if(!a)e2a();d=c[(c[(c[a>>2]|0)+-4>>2]|0)+4>>2]|0;e=c[(c[(c[b>>2]|0)+-4>>2]|0)+4>>2]|0;if(d>>>0<e>>>0){h=-1;return h|0}if((d|0)!=(e|0)){h=1;return h|0}d=c[a+64>>2]|0;e=c[b+64>>2]|0;if(d>>>0<e>>>0){h=-1;return h|0}if(e>>>0<d>>>0){h=1;return h|0}e=c[a+56>>2]|0;h=a+60|0;if((e|0)==(h|0)){h=0;return h|0}g=c[b+56>>2]|0;while(1){if((g|0)!=(e|0)){b=c[e+20>>2]|0;d=c[b>>2]|0;f=c[g+20>>2]|0;a=c[f>>2]|0;if((d|0)<(a|0)){d=-1;e=37;break}if((d|0)>(a|0)){d=1;e=37;break}d=c[b+4>>2]|0;a=c[f+4>>2]|0;if(d>>>0<a>>>0){d=-1;e=37;break}if(d>>>0>a>>>0){d=1;e=37;break}d=c[b+8>>2]|0;a=c[f+8>>2]|0;if(d>>>0<a>>>0){d=-1;e=37;break}if(d>>>0>a>>>0){d=1;e=37;break}d=c[b+12>>2]|0;a=c[f+12>>2]|0;if(d>>>0<a>>>0){d=-1;e=37;break}if(d>>>0>a>>>0){d=1;e=37;break}d=c[b+16>>2]|0;a=c[f+16>>2]|0;if(d>>>0<a>>>0){d=-1;e=37;break}if(d>>>0>a>>>0){d=1;e=37;break}b=c[b+20>>2]|0;d=c[f+20>>2]|0;d=b>>>0<d>>>0?-1:b>>>0>d>>>0&1;if(d|0){e=37;break}}d=c[e+4>>2]|0;if(!d){d=e+8|0;a=c[d>>2]|0;if((c[a>>2]|0)==(e|0))e=a;else do{f=c[d>>2]|0;d=f+8|0;e=c[d>>2]|0}while((c[e>>2]|0)!=(f|0))}else{while(1){e=c[d>>2]|0;if(!e)break;else d=e}e=d}d=c[g+4>>2]|0;if(!d){a=g+8|0;d=c[a>>2]|0;if((c[d>>2]|0)!=(g|0))do{g=c[a>>2]|0;a=g+8|0;d=c[a>>2]|0}while((c[d>>2]|0)!=(g|0))}else while(1){a=c[d>>2]|0;if(!a)break;else d=a}if((e|0)==(h|0)){d=0;e=37;break}else g=d}if((e|0)==37)return d|0;return 0}function kD(a,b){a=a|0;b=b|0;lD(a,b,36160);return}function lD(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=l;l=l+16|0;s=t;m=c[d+124>>2]|0;j=b+92|0;k=b+96|0;f=c[j>>2]|0;h=(c[k>>2]|0)-f>>2;g=f;if(h>>>0<=m>>>0){i=m+1|0;c[s>>2]=0;if(i>>>0<=h>>>0){if(i>>>0<h>>>0)c[k>>2]=g+(i<<2)}else{ku(j,i-h|0,s);f=c[j>>2]|0;g=f}}if(c[g+(m<<2)>>2]|0){l=t;return}n=d+832|0;q=c[n>>2]|0;if(!(a[q+1292>>0]|0)){h=(c[k>>2]|0)-f>>2;if(h>>>0<=m>>>0){g=m+1|0;c[s>>2]=0;if(g>>>0<=h>>>0){if(g>>>0<h>>>0)c[k>>2]=f+(g<<2)}else{ku(j,g-h|0,s);f=c[j>>2]|0}}c[f+(m<<2)>>2]=1;if((a[223632]|0)==0?g2a(223632)|0:0)kr(225352);if((c[56338]|0)<=1){l=t;return}r=mr(lr(2)|0,134053,48)|0;BSa(s,r+(c[(c[r>>2]|0)+-12>>2]|0)|0);e=cUa(s,230580)|0;e=kk[c[(c[e>>2]|0)+28>>2]&511](e,10)|0;dUa(s);VSa(r,e)|0;HSa(r)|0;l=t;return}k=b+56|0;if(!(c[b+64>>2]|0)){Jk[c[q+1320>>2]&1023](e,0);l=t;return}g=b+80|0;h=b+84|0;f=c[g>>2]|0;i=(c[h>>2]|0)-f>>2;if(i>>>0<=m>>>0){j=m+1|0;c[s>>2]=0;if(j>>>0<=i>>>0){if(j>>>0<i>>>0)c[h>>2]=f+(j<<2)}else{ku(g,j-i|0,s);f=c[g>>2]|0}}o=f+(m<<2)|0;g=b+104|0;h=b+108|0;f=c[g>>2]|0;i=(c[h>>2]|0)-f>>2;if(i>>>0<=m>>>0){j=m+1|0;c[s>>2]=0;if(j>>>0<=i>>>0){if(j>>>0<i>>>0)c[h>>2]=f+(j<<2)}else{cu(g,j-i|0,s);f=c[g>>2]|0}}j=f+(m<<2)|0;f=c[j>>2]|0;do if(f){if(c[o>>2]|0)r=43}else{Jk[c[q+1328>>2]&1023](1,j);if(c[j>>2]|0){c[o>>2]=1;r=43;break}if((a[223632]|0)==0?g2a(223632)|0:0)kr(225352);if((c[56338]|0)<=1){l=t;return}r=mr(lr(2)|0,134102,52)|0;BSa(s,r+(c[(c[r>>2]|0)+-12>>2]|0)|0);e=cUa(s,230580)|0;e=kk[c[(c[e>>2]|0)+28>>2]&511](e,10)|0;dUa(s);VSa(r,e)|0;HSa(r)|0;l=t;return}while(0);if((r|0)==43){if((a[223656]|0)==0?g2a(223656)|0:0)xla(225608,0);gk[c[(c[56402]|0)+8>>2]&1023](225608)|0;f=c[k>>2]|0;i=b+60|0;if((f|0)!=(i|0)){h=f;while(1){mD(h+20|0,d,q);f=c[h+4>>2]|0;if(!f){g=h+8|0;f=c[g>>2]|0;if((c[f>>2]|0)!=(h|0))do{m=c[g>>2]|0;g=m+8|0;f=c[g>>2]|0}while((c[f>>2]|0)!=(m|0))}else while(1){g=c[f>>2]|0;if(!g)break;else f=g}if((f|0)==(i|0))break;else h=f}}gk[c[(c[56402]|0)+12>>2]&1023](225608)|0;f=c[j>>2]|0}Jk[c[q+1320>>2]&1023](e,f);a:do switch(e|0){case 36009:case 36160:{h=c[b+68>>2]|0;m=(c[b+72>>2]|0)-h|0;g=m>>2;if(m|0){f=c[n>>2]|0;if(f|0?(p=c[f+40>>2]|0,p|0):0){Jk[p&1023](g,h);break a}if((a[223632]|0)==0?g2a(223632)|0:0)kr(225352);if((c[56338]|0)>1){p=mr(lr(2)|0,134155,87)|0;BSa(s,p+(c[(c[p>>2]|0)+-12>>2]|0)|0);n=cUa(s,230580)|0;n=kk[c[(c[n>>2]|0)+28>>2]&511](n,10)|0;dUa(s);VSa(p,n)|0;HSa(p)|0}}break}default:{}}while(0);if(!(c[o>>2]|0)){l=t;return}f=c[k>>2]|0;i=b+60|0;b:do if((f|0)!=(i|0)){j=q+1293|0;h=f;while(1){g=h+20|0;f=c[h+16>>2]|0;c:do switch(f|0){case 2:{if(a[j>>0]|0){nD(g,d,e,36096,q);nD(g,d,e,36128,q);break c}if((a[223632]|0)==0?g2a(223632)|0:0)kr(225352);if((c[56338]|0)>1){b=mr(lr(2)|0,134243,116)|0;BSa(s,b+(c[(c[b>>2]|0)+-12>>2]|0)|0);p=cUa(s,230580)|0;p=kk[c[(c[p>>2]|0)+28>>2]&511](p,10)|0;dUa(s);VSa(b,p)|0;HSa(b)|0}break}case 0:{f=36096;r=82;break}case 1:{f=36128;r=82;break}case 3:{f=36064;r=82;break}default:{f=f+36060|0;r=82}}while(0);if((r|0)==82){r=0;nD(g,d,e,f,q)}f=c[h+4>>2]|0;if(!f){g=h+8|0;f=c[g>>2]|0;if((c[f>>2]|0)!=(h|0))do{b=c[g>>2]|0;g=b+8|0;f=c[g>>2]|0}while((c[f>>2]|0)!=(b|0))}else while(1){g=c[f>>2]|0;if(!g)break;else f=g}if((f|0)==(i|0))break b;else h=f}}while(0);c[o>>2]=0;l=t;return}function mD(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;k=c[b+124>>2]|0;e=c[(c[a>>2]|0)+8>>2]|0;if(!e)return;j=e+216|0;i=e+220|0;e=c[i>>2]|0;f=c[j>>2]|0;g=e-f>>2;do if(g>>>0<=k>>>0){h=k+1|0;if(h>>>0>g>>>0){pD(j,h-g|0);break}if(h>>>0<g>>>0){g=f+(h<<2)|0;if((g|0)!=(e|0))do{e=e+-4|0;f=c[e>>2]|0;if(f|0?(m=f+8|0,h=c[m>>2]|0,c[m>>2]=h-1,(h|0)==1):0)UU(f,1,1);c[e>>2]=0}while((e|0)!=(g|0));c[i>>2]=g}}while(0);m=c[(c[j>>2]|0)+(k<<2)>>2]|0;if(!((m|0)!=0?(c[m+12>>2]|0)!=0:0)){j=c[(c[a>>2]|0)+8>>2]|0;Jk[c[(c[j>>2]|0)+200>>2]&1023](j,b);j=c[(c[a>>2]|0)+8>>2]|0;i=j+216|0;j=j+220|0;e=c[j>>2]|0;f=c[i>>2]|0;g=e-f>>2;do if(g>>>0<=k>>>0){h=k+1|0;if(h>>>0>g>>>0){pD(i,h-g|0);break}if(h>>>0<g>>>0){g=f+(h<<2)|0;if((g|0)!=(e|0))do{e=e+-4|0;f=c[e>>2]|0;if(f|0?(h=f+8|0,m=c[h>>2]|0,c[h>>2]=m-1,(m|0)==1):0)UU(f,1,1);c[e>>2]=0}while((e|0)!=(g|0));c[j>>2]=g}}while(0);e=c[(c[i>>2]|0)+(k<<2)>>2]|0;if(!e)return;if(!(c[e+12>>2]|0))return}if(((Fia(c[(c[a>>2]|0)+8>>2]|0,0)|0)&-4|0)!=9984)return;e=b+732|0;if((c[e>>2]|0?(l=c[b+776>>2]|0,l|0):0)?(k=c[b+764>>2]|0,m=c[b+768>>2]|0,((k|0)>(m|0)?k:m)|0):0){Bk[l&2047](33984);c[e>>2]=0}rD(b,0,c[(c[a>>2]|0)+8>>2]|0)|0;l=c[d+1364>>2]|0;m=c[(c[a>>2]|0)+8>>2]|0;m=gk[c[(c[m>>2]|0)+212>>2]&1023](m)|0;Bk[l&2047](m);return}function nD(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;n=c[b+124>>2]|0;h=c[a>>2]|0;if(!(c[h>>2]|0)){a=c[f+1360>>2]|0;f=oD(c[h+4>>2]|0,n,f)|0;Qk[a&127](d,e,36161,f);return}h=c[h+8>>2]|0;if(!h)return;m=h+216|0;l=h+220|0;h=c[l>>2]|0;i=c[m>>2]|0;j=h-i>>2;do if(j>>>0<=n>>>0){k=n+1|0;if(k>>>0>j>>>0){pD(m,k-j|0);break}if(k>>>0<j>>>0){j=i+(k<<2)|0;if((j|0)!=(h|0))do{h=h+-4|0;i=c[h>>2]|0;if(i|0?(o=i+8|0,k=c[o>>2]|0,c[o>>2]=k-1,(k|0)==1):0)UU(i,1,1);c[h>>2]=0}while((h|0)!=(j|0));c[l>>2]=j}}while(0);h=c[(c[m>>2]|0)+(n<<2)>>2]|0;if(!((h|0)!=0?(g=c[h+12>>2]|0,(g|0)!=0):0)){l=c[(c[a>>2]|0)+8>>2]|0;Jk[c[(c[l>>2]|0)+200>>2]&1023](l,b);l=c[(c[a>>2]|0)+8>>2]|0;k=l+216|0;l=l+220|0;g=c[l>>2]|0;h=c[k>>2]|0;i=g-h>>2;do if(i>>>0<=n>>>0){j=n+1|0;if(j>>>0>i>>>0){pD(k,j-i|0);break}if(j>>>0<i>>>0){i=h+(j<<2)|0;if((i|0)!=(g|0))do{g=g+-4|0;h=c[g>>2]|0;if(h|0?(b=h+8|0,o=c[b>>2]|0,c[b>>2]=o-1,(o|0)==1):0)UU(h,1,1);c[g>>2]=0}while((g|0)!=(i|0));c[l>>2]=i}}while(0);g=c[(c[k>>2]|0)+(n<<2)>>2]|0;if(!g)return;g=c[g+12>>2]|0;if(!g)return}i=c[a>>2]|0;switch(c[i>>2]|0){case 4:{h=c[i+12>>2]|0;if((h|0)==-1){Qk[c[f+1348>>2]&127](d,e,g,c[i+16>>2]|0);return}else{Sk[c[f+1340>>2]&63](d,e,h+34069|0,g,c[i+16>>2]|0);return}}case 1:{Sk[c[f+1336>>2]&63](d,e,3552,g,c[i+16>>2]|0);return}case 2:{Sk[c[f+1340>>2]&63](d,e,3553,g,c[i+16>>2]|0);return}case 7:{Sk[c[f+1340>>2]&63](d,e,37120,g,c[i+16>>2]|0);return}case 3:{h=c[i+20>>2]|0;if((h|0)==-1){Qk[c[f+1348>>2]&127](d,e,g,c[i+16>>2]|0);return}else{Tk[c[f+1344>>2]&15](d,e,32879,g,c[i+16>>2]|0,h);return}}case 6:{h=c[i+20>>2]|0;if((h|0)==-1){Qk[c[f+1348>>2]&127](d,e,g,c[i+16>>2]|0);return}else{Sk[c[f+1352>>2]&63](d,e,g,c[i+16>>2]|0,h);return}}case 5:{Sk[c[f+1340>>2]&63](d,e,34037,g,0);return}default:return}}function oD(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0;q=l;l=l+16|0;n=q;h=b+32|0;i=b+36|0;f=c[h>>2]|0;j=(c[i>>2]|0)-f>>2;if(j>>>0<=d>>>0){g=d+1|0;c[n>>2]=0;if(g>>>0<=j>>>0){if(g>>>0<j>>>0)c[i>>2]=f+(g<<2)}else{cu(h,g-j|0,n);f=c[h>>2]|0}}o=f+(d<<2)|0;g=b+44|0;k=b+48|0;f=c[g>>2]|0;h=(c[k>>2]|0)-f>>2;if(h>>>0<=d>>>0){i=d+1|0;c[n>>2]=0;if(i>>>0<=h>>>0){if(i>>>0<h>>>0)c[k>>2]=f+(i<<2)}else{ku(g,i-h|0,n);f=c[g>>2]|0}}m=f+(d<<2)|0;f=c[o>>2]|0;do if(!f){Jk[c[e+1304>>2]&1023](1,o);if(!(c[o>>2]|0)){p=0;l=q;return p|0}else{c[m>>2]=1;f=c[o>>2]|0;break}}else if(!(c[m>>2]|0)){p=f;l=q;return p|0}while(0);Jk[c[e+1296>>2]&1023](36161,f);i=b+68|0;g=c[i>>2]|0;j=b+72|0;if((g|0)<(c[j>>2]|0)){if((a[223632]|0)==0?g2a(223632)|0:0)kr(225352);if((c[56338]|0)>1){h=mr(lr(2)|0,134360,113)|0;BSa(n,h+(c[(c[h>>2]|0)+-12>>2]|0)|0);g=cUa(n,230580)|0;g=kk[c[(c[g>>2]|0)+28>>2]&511](g,10)|0;dUa(n);VSa(h,g)|0;HSa(h)|0}g=c[j>>2]|0;c[i>>2]=g;f=c[b+44>>2]|0;h=(c[k>>2]|0)-f|0;if((h|0)>0){g=h>>>2;while(1){c[f>>2]=1;if((g|0)>1){g=g+-1|0;f=f+4|0}else break}g=c[i>>2]|0}}do if((g|0)>0){f=e+1316|0;if(c[f>>2]|0){e=qD(d,e)|0;e=(g|0)<(e|0)?g:e;d=c[j>>2]|0;Tk[c[f>>2]&15](36161,e,(d|0)<(e|0)?d:e,c[b+56>>2]|0,c[b+60>>2]|0,c[b+64>>2]|0);break}f=e+1312|0;if(c[f>>2]|0){e=qD(d,e)|0;Sk[c[f>>2]&63](36161,(g|0)<(e|0)?g:e,c[b+56>>2]|0,c[b+60>>2]|0,c[b+64>>2]|0)}else p=32}else p=32;while(0);if((p|0)==32)Qk[c[e+1308>>2]&127](36161,c[b+56>>2]|0,c[b+60>>2]|0,c[b+64>>2]|0);c[m>>2]=0;p=c[o>>2]|0;l=q;return p|0}function pD(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;m=a+8|0;f=c[m>>2]|0;n=a+4|0;e=c[n>>2]|0;d=e;if(f-e>>2>>>0>=b>>>0){z2a(e|0,0,b<<2|0)|0;c[n>>2]=d+(b<<2);return}j=c[a>>2]|0;h=e-j>>2;e=h+b|0;g=j;if(e>>>0>1073741823)g1a(a);l=f-j|0;f=l>>1;f=l>>2>>>0<536870911?(f>>>0<e>>>0?e:f):1073741823;do if(f)if(f>>>0>1073741823){n=db(8)|0;p0a(n,183738);c[n>>2]=110936;hb(n|0,65952,1066)}else{i=j0a(f<<2)|0;break}else i=0;while(0);e=i+(h<<2)|0;l=i+(f<<2)|0;z2a(e|0,0,b<<2|0)|0;k=e+(b<<2)|0;if((d|0)==(g|0))f=j;else{b=h+-1-((d+-4+(0-j)|0)>>>2)|0;while(1){d=d+-4|0;f=c[d>>2]|0;c[e+-4>>2]=f;if(f|0){j=f+8|0;c[j>>2]=(c[j>>2]|0)+1}if((d|0)==(g|0))break;else e=e+-4|0}f=c[a>>2]|0;e=i+(b<<2)|0;g=f;d=c[n>>2]|0}c[a>>2]=e;c[n>>2]=k;c[m>>2]=l;if((d|0)!=(g|0))do{d=d+-4|0;e=c[d>>2]|0;if(e|0?(m=e+8|0,n=c[m>>2]|0,c[m>>2]=n-1,(n|0)==1):0)UU(e,1,1);c[d>>2]=0}while((d|0)!=(g|0));if(!f)return;l0a(f);return}function qD(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;i=l;l=l+16|0;h=i;if((a[223664]|0)==0?g2a(223664)|0:0){vt()|0;e=c[(c[56383]|0)+84>>2]|0;c[56405]=0;c[56406]=0;c[56407]=0;do if(e|0)if(e>>>0>1073741823)g1a(225620);else{f=e<<2;j=j0a(f)|0;c[56405]=j;g=j+(e<<2)|0;c[56407]=g;z2a(j|0,0,f|0)|0;c[56406]=g;break}while(0)}e=c[56405]|0;f=(c[56406]|0)-e>>2;if(f>>>0<=b>>>0){g=b+1|0;c[h>>2]=0;if(g>>>0<=f>>>0){if(g>>>0<f>>>0)c[56406]=e+(g<<2)}else{ku(225620,g-f|0,h);e=c[56405]|0}}e=e+(b<<2)|0;f=c[e>>2]|0;if(f|0){j=f;l=i;return j|0}if(!(a[d+1268>>0]|0)){j=0;l=i;return j|0}ci(36183,e|0);j=c[e>>2]|0;l=i;return j|0}function rD(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;j=b+696|0;k=b+700|0;f=c[k>>2]|0;h=c[j>>2]|0;i=(f-h|0)/12|0;do if(i>>>0<=d>>>0){g=d+1|0;if(g>>>0>i>>>0){sD(j,g-i|0);break}if(g>>>0<i>>>0){g=h+(g*12|0)|0;if((g|0)!=(f|0))do{m=f;f=f+-12|0;tD(f,c[m+-8>>2]|0)}while((f|0)!=(g|0));c[k>>2]=g}}while(0);m=c[j>>2]|0;l=m+(d*12|0)|0;j=gk[c[(c[e>>2]|0)+172>>2]&1023](e)|0;k=gk[c[(c[e>>2]|0)+176>>2]&1023](e)|0;g=m+(d*12|0)+4|0;f=c[g>>2]|0;do if(f){h=m+(d*12|0)+4|0;a:while(1){g=c[f+16>>2]|0;do if((j|0)>=(g|0)){if((g|0)>=(j|0)){g=c[f+20>>2]|0;if(k>>>0<g>>>0){n=14;break}if(g>>>0>=k>>>0){n=19;break a}}h=f+4|0;g=c[h>>2]|0;if(!g){n=18;break a}else f=g}else n=14;while(0);if((n|0)==14){n=0;g=c[f>>2]|0;if(!g){n=15;break}else{h=f;f=g}}}if((n|0)==15){i=f;h=f;break}else if((n|0)==18){i=f;break}else if((n|0)==19){i=f;break}}else{i=g;h=g}while(0);f=c[h>>2]|0;if(f|0){n=f;n=n+24|0;a[n>>0]=1;e=uD(b,d,e,n)|0;return e|0}g=j0a(52)|0;f=g+16|0;c[f>>2]=j;c[f+4>>2]=k;a[g+24>>0]=0;f=g+28|0;c[f>>2]=0;c[f+4>>2]=0;c[f+8>>2]=0;c[f+12>>2]=0;c[f+16>>2]=0;c[f+20>>2]=0;c[g>>2]=0;c[g+4>>2]=0;c[g+8>>2]=i;c[h>>2]=g;f=c[c[l>>2]>>2]|0;if(!f)f=g;else{c[l>>2]=f;f=c[h>>2]|0}fp(c[m+(d*12|0)+4>>2]|0,f);n=m+(d*12|0)+8|0;c[n>>2]=(c[n>>2]|0)+1;n=g;n=n+24|0;a[n>>0]=1;e=uD(b,d,e,n)|0;return e|0}function sD(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;l=a+8|0;f=c[l>>2]|0;m=a+4|0;d=c[m>>2]|0;if(((f-d|0)/12|0)>>>0>=b>>>0){do{c[d+4>>2]=0;c[d+8>>2]=0;c[d>>2]=d+4;d=(c[m>>2]|0)+12|0;c[m>>2]=d;b=b+-1|0}while((b|0)!=0);return}e=c[a>>2]|0;g=(d-e|0)/12|0;h=g+b|0;if(h>>>0>357913941)g1a(a);k=(f-e|0)/12|0;d=k<<1;d=k>>>0<178956970?(d>>>0<h>>>0?h:d):357913941;do if(d)if(d>>>0>357913941){m=db(8)|0;p0a(m,183738);c[m>>2]=110936;hb(m|0,65952,1066)}else{f=j0a(d*12|0)|0;break}else f=0;while(0);g=f+(g*12|0)|0;e=f+(d*12|0)|0;d=g;while(1){c[d+4>>2]=0;c[d+8>>2]=0;c[d>>2]=d+4;b=b+-1|0;if(!b)break;else d=d+12|0}k=f+(h*12|0)|0;j=c[a>>2]|0;d=c[m>>2]|0;if((d|0)==(j|0)){b=g;f=j;d=j}else{b=g;do{i=b;b=b+-12|0;f=d;d=d+-12|0;c[b>>2]=c[d>>2];g=c[f+-8>>2]|0;c[i+-8>>2]=g;h=f+-4|0;n=c[h>>2]|0;c[i+-4>>2]=n;i=i+-8|0;if(!n)c[b>>2]=i;else{c[g+8>>2]=i;n=f+-8|0;c[d>>2]=n;c[n>>2]=0;c[h>>2]=0}}while((d|0)!=(j|0));f=c[a>>2]|0;d=c[m>>2]|0}c[a>>2]=b;c[m>>2]=k;c[l>>2]=e;b=f;if((d|0)!=(b|0))do{n=d;d=d+-12|0;tD(d,c[n+-8>>2]|0)}while((d|0)!=(b|0));if(!f)return;l0a(f);return}function tD(a,b){a=a|0;b=b|0;var d=0,e=0;if(!b)return;tD(a,c[b>>2]|0);tD(a,c[b+4>>2]|0);a=c[b+40>>2]|0;if(a|0){c[b+44>>2]=a;l0a(a)}a=c[b+36>>2]|0;if(a|0?(e=a+8|0,d=c[e>>2]|0,c[e>>2]=d-1,(d|0)==1):0)UU(a,1,1);l0a(b);return}function uD(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0;k=f+4|0;if((c[k>>2]|0)==(e|0)){e=0;return e|0}h=b+732|0;do if((c[h>>2]|0)!=(d|0)){g=c[b+776>>2]|0;if(g|0?(m=c[b+764>>2]|0,l=c[b+768>>2]|0,((m|0)>(l|0)?m:l)>>>0>d>>>0):0){Bk[g&2047](d+33984|0);c[h>>2]=d;break}if(d|0){m=0;return m|0}}while(0);d=f+12|0;if((c[d>>2]|0)==0?(i=gk[c[(c[e>>2]|0)+12>>2]&1023](e)|0,i=gk[c[(c[i>>2]|0)+56>>2]&1023](i)|0,j=c[d>>2]|0,(j|0)!=(i|0)):0){c[d>>2]=i;if(i|0){m=i+8|0;c[m>>2]=(c[m>>2]|0)+1}if(j|0?(l=j+8|0,m=c[l>>2]|0,c[l>>2]=m-1,(m|0)==1):0)UU(j,1,1)}c[k>>2]=e;Jk[c[(c[e>>2]|0)+196>>2]&1023](e,b);g=c[e+44>>2]|0;d=f+8|0;if((c[d>>2]|0)!=(g|0)){c[d>>2]=g;a[b+145>>0]=1}if((c[b+368>>2]|0)!=2){m=1;return m|0}Aca(b,e)|0;m=1;return m|0}function vD(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;g=a+36|0;d=a+40|0;b=c[d>>2]|0;do if(b){e=a+40|0;while(1){d=c[b+16>>2]|0;if(d>>>0>44672>>>0){d=c[b>>2]|0;if(!d){d=5;break}else{e=b;b=d}}else{if(d>>>0>=44672>>>0){d=9;break}e=b+4|0;d=c[e>>2]|0;if(!d){d=8;break}else b=d}}if((d|0)==5){f=b;e=b;break}else if((d|0)==8){f=b;break}else if((d|0)==9){f=b;break}}else{f=d;e=d}while(0);b=c[e>>2]|0;if(!b){b=j0a(24)|0;c[b+16>>2]=44672;c[b+20>>2]=0;c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=f;c[e>>2]=b;d=c[c[g>>2]>>2]|0;if(!d)d=b;else{c[g>>2]=d;d=c[e>>2]|0}fp(c[a+40>>2]|0,d);g=a+44|0;c[g>>2]=(c[g>>2]|0)+1}d=b+20|0;if(c[d>>2]|0){a=c[d>>2]|0;return a|0}e=j0a(52)|0;wD(e,c[a+24>>2]|0);b=c[d>>2]|0;if((b|0)==(e|0)){a=c[d>>2]|0;return a|0}c[d>>2]=e;a=e+8|0;c[a>>2]=(c[a>>2]|0)+1;if(!b){a=c[d>>2]|0;return a|0}g=b+8|0;a=c[g>>2]|0;c[g>>2]=a-1;if((a|0)!=1){a=c[d>>2]|0;return a|0}UU(b,1,1);a=c[d>>2]|0;return a|0}function wD(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;h=l;l=l+16|0;e=h;f=j0a(32)|0;c[e>>2]=f;c[e+8>>2]=-2147483616;c[e+4>>2]=26;g=f;i=134474;j=g+26|0;do{a[g>>0]=a[i>>0]|0;g=g+1|0;i=i+1|0}while((g|0)<(j|0));a[f+26>>0]=0;Cu(b,e,d);c[b>>2]=72724;xla(b+28|0,0);j=b+40|0;c[j>>2]=j;c[b+44>>2]=j;c[b+48>>2]=0;if((a[e+11>>0]|0)>=0){c[b>>2]=72788;l=h;return}l0a(c[e>>2]|0);c[b>>2]=72788;l=h;return}function xD(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0;m=l;l=l+16|0;j=m+4|0;k=m;Nr(a,b,d);c[a>>2]=73024;i=a+56|0;c[a+60>>2]=0;c[a+64>>2]=0;d=a+60|0;c[i>>2]=d;e=c[b+56>>2]|0;h=b+60|0;if((e|0)!=(h|0)){g=d;f=e;while(1){d=f+16|0;c[k>>2]=g;c[j>>2]=c[k>>2];yD(i,j,d,d)|0;d=c[f+4>>2]|0;if(!d){e=f+8|0;d=c[e>>2]|0;if((c[d>>2]|0)!=(f|0))do{f=c[e>>2]|0;e=f+8|0;d=c[e>>2]|0}while((c[d>>2]|0)!=(f|0))}else while(1){e=c[d>>2]|0;if(!e)break;else d=e}if((d|0)==(h|0))break;else f=d}}f=a+68|0;g=b+68|0;c[f>>2]=0;k=a+72|0;c[k>>2]=0;h=a+76|0;c[h>>2]=0;i=b+72|0;d=(c[i>>2]|0)-(c[g>>2]|0)|0;e=d>>2;if(d|0){if(e>>>0>1073741823)g1a(f);j=j0a(d)|0;c[k>>2]=j;c[f>>2]=j;c[h>>2]=j+(e<<2);e=c[g>>2]|0;d=(c[i>>2]|0)-e|0;if((d|0)>0){x2a(j|0,e|0,d|0)|0;c[k>>2]=j+(d>>>2<<2)}}d=a+80|0;vt()|0;e=c[(c[56383]|0)+84>>2]|0;c[d>>2]=0;f=a+84|0;c[f>>2]=0;g=a+88|0;c[g>>2]=0;do if(e|0)if(e>>>0>1073741823)g1a(d);else{k=e<<2;j=j0a(k)|0;c[d>>2]=j;b=j+(e<<2)|0;c[g>>2]=b;z2a(j|0,0,k|0)|0;c[f>>2]=b;break}while(0);d=a+92|0;vt()|0;e=c[(c[56383]|0)+84>>2]|0;c[d>>2]=0;f=a+96|0;c[f>>2]=0;g=a+100|0;c[g>>2]=0;do if(e|0)if(e>>>0>1073741823)g1a(d);else{k=e<<2;j=j0a(k)|0;c[d>>2]=j;b=j+(e<<2)|0;c[g>>2]=b;z2a(j|0,0,k|0)|0;c[f>>2]=b;break}while(0);e=a+104|0;vt()|0;f=c[(c[56383]|0)+84>>2]|0;c[e>>2]=0;g=a+108|0;c[g>>2]=0;d=a+112|0;c[d>>2]=0;if(!f){l=m;return}if(f>>>0>1073741823)g1a(e);b=f<<2;k=j0a(b)|0;c[e>>2]=k;a=k+(f<<2)|0;c[d>>2]=a;z2a(k|0,0,b|0)|0;c[g>>2]=a;l=m;return}function yD(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;j=l;l=l+16|0;h=j+12|0;i=j+8|0;g=j;c[g>>2]=c[b>>2];c[h>>2]=c[g>>2];h=BD(a,h,i,j+4|0,d)|0;b=c[h>>2]|0;if(b|0){a=b;l=j;return a|0}g=j0a(24)|0;c[g+16>>2]=c[e>>2];f=j0a(24)|0;d=c[e+4>>2]|0;c[f>>2]=c[d>>2];b=c[d+4>>2]|0;c[f+4>>2]=b;if(b|0){e=b+8|0;c[e>>2]=(c[e>>2]|0)+1}b=c[d+8>>2]|0;c[f+8>>2]=b;if(b|0){e=b+8|0;c[e>>2]=(c[e>>2]|0)+1}c[f+12>>2]=c[d+12>>2];c[f+16>>2]=c[d+16>>2];c[f+20>>2]=c[d+20>>2];c[g+20>>2]=f;b=c[i>>2]|0;c[g>>2]=0;c[g+4>>2]=0;c[g+8>>2]=b;c[h>>2]=g;b=c[c[a>>2]>>2]|0;if(!b)b=g;else{c[a>>2]=b;b=c[h>>2]|0}fp(c[a+4>>2]|0,b);a=a+8|0;c[a>>2]=(c[a>>2]|0)+1;a=g;l=j;return a|0}function zD(a,b){a=a|0;b=b|0;if(!b)return;else{zD(a,c[b>>2]|0);zD(a,c[b+4>>2]|0);AD(b+20|0);l0a(b);return}}function AD(a){a=a|0;var b=0,d=0,e=0,f=0;d=c[a>>2]|0;if(!d)return;a=d+8|0;b=c[a>>2]|0;if(b|0?(f=b+8|0,e=c[f>>2]|0,c[f>>2]=e-1,(e|0)==1):0)UU(b,1,1);c[a>>2]=0;a=c[d+4>>2]|0;if(a|0?(e=a+8|0,f=c[e>>2]|0,c[e>>2]=f-1,(f|0)==1):0)UU(a,1,1);l0a(d);return}function BD(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0;i=a+4|0;h=c[b>>2]|0;b=h;if((h|0)!=(i|0)?(j=c[f>>2]|0,g=c[h+16>>2]|0,(j|0)>=(g|0)):0){if((g|0)>=(j|0)){c[d>>2]=b;c[e>>2]=b;d=e;return d|0}g=c[h+4>>2]|0;if(!g){e=h+8|0;g=c[e>>2]|0;if((c[g>>2]|0)!=(h|0))do{f=c[e>>2]|0;e=f+8|0;g=c[e>>2]|0}while((c[g>>2]|0)!=(f|0))}else while(1){e=c[g>>2]|0;if(!e)break;else g=e}if((g|0)!=(i|0)?(j|0)>=(c[g+16>>2]|0):0){b=c[i>>2]|0;if(!b){c[d>>2]=i;d=i;return d|0}e=a+4|0;while(1){g=c[b+16>>2]|0;if((j|0)<(g|0)){g=c[b>>2]|0;if(!g){f=42;break}else{e=b;b=g}}else{if((g|0)>=(j|0)){f=46;break}e=b+4|0;g=c[e>>2]|0;if(!g){f=45;break}else b=g}}if((f|0)==42){c[d>>2]=b;d=b;return d|0}else if((f|0)==45){c[d>>2]=b;d=e;return d|0}else if((f|0)==46){c[d>>2]=b;d=e;return d|0}}if(!(c[h+4>>2]|0)){c[d>>2]=b;d=h+4|0;return d|0}else{c[d>>2]=g;d=g;return d|0}}e=c[h>>2]|0;if((c[a>>2]|0)!=(h|0)){if(!e){b=h;do{j=b;b=c[b+8>>2]|0}while((c[b>>2]|0)==(j|0))}else{b=e;while(1){g=c[b+4>>2]|0;if(!g)break;else b=g}}f=c[f>>2]|0;if((c[b+16>>2]|0)>=(f|0)){b=c[i>>2]|0;if(!b){c[d>>2]=i;d=i;return d|0}e=a+4|0;while(1){g=c[b+16>>2]|0;if((f|0)<(g|0)){g=c[b>>2]|0;if(!g){f=18;break}else{e=b;b=g}}else{if((g|0)>=(f|0)){f=22;break}e=b+4|0;g=c[e>>2]|0;if(!g){f=21;break}else b=g}}if((f|0)==18){c[d>>2]=b;d=b;return d|0}else if((f|0)==21){c[d>>2]=b;d=e;return d|0}else if((f|0)==22){c[d>>2]=b;d=e;return d|0}}}if(!e){c[d>>2]=h;d=h;return d|0}else{c[d>>2]=b;d=b+4|0;return d|0}return 0}function CD(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0;hia(a);c[a>>2]=73024;c[a+60>>2]=0;c[a+64>>2]=0;c[a+56>>2]=a+60;c[a+68>>2]=0;c[a+72>>2]=0;c[a+76>>2]=0;f=a+80|0;vt()|0;b=c[(c[56383]|0)+84>>2]|0;c[f>>2]=0;d=a+84|0;c[d>>2]=0;e=a+88|0;c[e>>2]=0;do if(b|0)if(b>>>0>1073741823)g1a(f);else{g=b<<2;h=j0a(g)|0;c[f>>2]=h;f=h+(b<<2)|0;c[e>>2]=f;z2a(h|0,0,g|0)|0;c[d>>2]=f;break}while(0);b=a+92|0;vt()|0;d=c[(c[56383]|0)+84>>2]|0;c[b>>2]=0;e=a+96|0;c[e>>2]=0;f=a+100|0;c[f>>2]=0;do if(d|0)if(d>>>0>1073741823)g1a(b);else{g=d<<2;i=j0a(g)|0;c[b>>2]=i;h=i+(d<<2)|0;c[f>>2]=h;z2a(i|0,0,g|0)|0;c[e>>2]=h;break}while(0);d=a+104|0;vt()|0;e=c[(c[56383]|0)+84>>2]|0;c[d>>2]=0;f=a+108|0;c[f>>2]=0;b=a+112|0;c[b>>2]=0;if(!e)return;if(e>>>0>1073741823)g1a(d);h=e<<2;g=j0a(h)|0;c[d>>2]=g;i=g+(e<<2)|0;c[b>>2]=i;z2a(g|0,0,h|0)|0;c[f>>2]=i;return}function DD(a){a=a|0;var b=0;b=c[a>>2]|0;if(!b)return;c[a+4>>2]=b;l0a(b);return}function ED(a){a=a|0;zD(a,c[a+4>>2]|0);return}function FD(a){a=a|0;SU(a);return}function GD(a){a=a|0;SU(a);l0a(a);return}function HD(a){a=a|0;YD(a);return}function ID(a){a=a|0;YD(a);l0a(a);return}function JD(b){b=b|0;var d=0;b=j0a(160)|0;Uha(b,1);d=b+12|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[b+24>>2]=2;d=b+28|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[d+12>>2]=0;g[b+44>>2]=-1.0;d=b+48|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[d+12>>2]=0;g[b+64>>2]=-1.0;d=b+72|0;c[b+92>>2]=0;c[b+100>>2]=0;c[b+120>>2]=0;a[b+68>>0]=0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[d+12>>2]=0;c[b+116>>2]=-1;c[b+88>>2]=0;c[b+96>>2]=0;a[b+104>>0]=1;c[b+108>>2]=0;c[b+112>>2]=0;c[b+124>>2]=0;c[b+128>>2]=0;c[b+132>>2]=0;c[b>>2]=73256;g[b+136>>2]=3402823466385288598117041.0e14;g[b+140>>2]=3402823466385288598117041.0e14;g[b+144>>2]=3402823466385288598117041.0e14;g[b+148>>2]=-3402823466385288598117041.0e14;g[b+152>>2]=-3402823466385288598117041.0e14;g[b+156>>2]=-3402823466385288598117041.0e14;return b|0}function KD(a,b){a=a|0;b=b|0;var d=0;d=j0a(160)|0;XD(d,a,b);c[d>>2]=73256;g[d+136>>2]=3402823466385288598117041.0e14;g[d+140>>2]=3402823466385288598117041.0e14;g[d+144>>2]=3402823466385288598117041.0e14;g[d+148>>2]=-3402823466385288598117041.0e14;g[d+152>>2]=-3402823466385288598117041.0e14;g[d+156>>2]=-3402823466385288598117041.0e14;return d|0}function LD(a,b){a=a|0;b=b|0;if(!b){b=0;return b|0}b=(y1a(b,42800,44736,0)|0)!=0;return b|0}function MD(a){a=a|0;return 186332}function ND(a){a=a|0;return 134564}function OD(a){a=a|0;return a|0}function PD(a){a=a|0;return a|0}function QD(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;j=l;l=l+16|0;d=j+8|0;i=j+4|0;e=j;if(!((c[a+116>>2]|c[b+24>>2])&c[b+20>>2])){l=j;return}c[i>>2]=a;f=b+16|0;g=b+28|0;h=a;do if((c[f>>2]|0)!=1){d=b+32|0;e=c[d>>2]|0;if((e|0)==(c[b+36>>2]|0)){ow(g,i);break}else{c[e>>2]=h;c[d>>2]=(c[d>>2]|0)+4;break}}else{c[e>>2]=c[g>>2];c[d>>2]=c[e>>2];pw(g,d,i)|0}while(0);Jk[c[(c[b>>2]|0)+112>>2]&1023](b,a);if((c[f>>2]|0)==1){a=c[b+28>>2]|0;f=a+4|0;d=b+32|0;e=(c[d>>2]|0)-f|0;if(e|0)y2a(a|0,f|0,e|0)|0;e=a+(e>>2<<2)|0}else{d=b+32|0;e=(c[d>>2]|0)+-4|0}c[d>>2]=e;l=j;return}function RD(a,b){a=a|0;b=b|0;var d=0,e=0.0,f=0,h=0.0,i=0.0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;g[a>>2]=0.0;g[a+4>>2]=0.0;g[a+8>>2]=0.0;g[a+12>>2]=-1.0;q=b+136|0;g[q>>2]=3402823466385288598117041.0e14;r=b+140|0;g[r>>2]=3402823466385288598117041.0e14;s=b+144|0;g[s>>2]=3402823466385288598117041.0e14;t=b+148|0;g[t>>2]=-3402823466385288598117041.0e14;u=b+152|0;g[u>>2]=-3402823466385288598117041.0e14;l=b+156|0;g[l>>2]=-3402823466385288598117041.0e14;d=c[b+124>>2]|0;k=b+128|0;if((d|0)==(c[k>>2]|0))return;do{b=c[d>>2]|0;do if(b|0){b=gk[c[(c[b>>2]|0)+88>>2]&1023](b)|0;if(!b){f=Fz(c[d>>2]|0)|0;j=f+12|0;e=+g[j>>2];if(!(e>=0.0))break;h=+g[f>>2];i=h-e;if(i<+g[q>>2]){g[q>>2]=i;h=+g[f>>2];e=+g[j>>2]}h=e+h;if(h>+g[t>>2]){g[t>>2]=h;e=+g[j>>2]}b=f+4|0;h=+g[b>>2];i=h-e;if(i<+g[r>>2]){g[r>>2]=i;h=+g[b>>2];e=+g[j>>2]}h=e+h;if(h>+g[u>>2]){g[u>>2]=h;e=+g[j>>2]}b=f+8|0;h=+g[b>>2];i=h-e;if(i<+g[s>>2]){g[s>>2]=i;h=+g[b>>2];e=+g[j>>2]}e=e+h;if(!(e>+g[l>>2]))break;g[l>>2]=e;break}b=FA(b)|0;f=b+12|0;e=+g[f>>2];h=+g[b>>2];if((e>=h?(m=b+16|0,n=b+4|0,+g[m>>2]>=+g[n>>2]):0)?(o=b+20|0,p=b+8|0,+g[o>>2]>=+g[p>>2]):0){if(h<+g[q>>2]){g[q>>2]=h;e=+g[f>>2]}if(e>+g[t>>2])g[t>>2]=e;e=+g[n>>2];if(e<+g[r>>2])g[r>>2]=e;e=+g[m>>2];if(e>+g[u>>2])g[u>>2]=e;e=+g[p>>2];if(e<+g[s>>2])g[s>>2]=e;e=+g[o>>2];if(e>+g[l>>2])g[l>>2]=e}}while(0);d=d+4|0}while((d|0)!=(c[k>>2]|0));if(!(+g[t>>2]>=+g[q>>2]))return;if(!(+g[u>>2]>=+g[r>>2]))return;if(!(+g[l>>2]>=+g[s>>2]))return;SB(a,q);return}function SD(a,b){a=a|0;b=b|0;return kk[c[(c[a>>2]|0)+228>>2]&511](a,b)|0}function TD(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=c[(c[a>>2]|0)+272>>2]|0;f=c[a+124>>2]|0;d=(c[a+128>>2]|0)-f|0;e=d>>2;a:do if(!d)d=0;else{d=0;while(1){if((c[f+(d<<2)>>2]|0)==(b|0))break a;d=d+1|0;if(d>>>0>=e>>>0){d=e;break}}}while(0);return lk[g&127](a,d,1)|0}function UD(a,b,d){a=a|0;b=b|0;d=d|0;return lk[c[(c[a>>2]|0)+240>>2]&127](a,b,d)|0}function VD(a,b,d){a=a|0;b=b|0;d=d|0;return lk[c[(c[a>>2]|0)+244>>2]&127](a,b,d)|0}function WD(a,b,d){a=a|0;b=b|0;d=d|0;return lk[c[(c[a>>2]|0)+252>>2]&127](a,b,d)|0}function XD(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;dC(a,b,d);c[a>>2]=73548;c[a+124>>2]=0;c[a+128>>2]=0;c[a+132>>2]=0;e=c[b+124>>2]|0;f=b+128|0;if((e|0)==(c[f>>2]|0))return;b=e;do{e=kk[c[(c[d>>2]|0)+16>>2]&511](d,c[b>>2]|0)|0;if(e|0)kk[c[(c[a>>2]|0)+228>>2]&511](a,e)|0;b=b+4|0}while((b|0)!=(c[f>>2]|0));return}function YD(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;c[a>>2]=73548;m=a+124|0;b=c[m>>2]|0;n=a+128|0;if((b|0)==(c[n>>2]|0))e=b;else{do{d=c[b>>2]|0;i=kX()|0;j=(i|0)==0;if(!j)gk[c[(c[i>>2]|0)+8>>2]&1023](i)|0;e=c[d+72>>2]|0;h=d+76|0;f=c[h>>2]|0;g=f;a:do if((e|0)==(f|0)){k=e;l=20}else{d=e;do{if((c[d>>2]|0)==(a|0)){k=d;l=20;break a}d=d+4|0}while((d|0)!=(f|0))}while(0);if((l|0)==20?(l=0,(k|0)!=(f|0)):0){e=k+4|0;d=g-e|0;if(d|0)y2a(k|0,e|0,d|0)|0;c[h>>2]=k+(d>>2<<2)}if(!j)gk[c[(c[i>>2]|0)+12>>2]&1023](i)|0;b=b+4|0}while((b|0)!=(c[n>>2]|0));e=c[m>>2]|0}if(!e){eC(a);return}if((b|0)==(e|0))b=e;else{do{b=b+-4|0;d=c[b>>2]|0;if(d|0?(k=d+8|0,l=c[k>>2]|0,c[k>>2]=l-1,(l|0)==1):0)UU(d,1,1);c[b>>2]=0}while((b|0)!=(e|0));b=c[m>>2]|0}c[n>>2]=e;l0a(b);eC(a);return}function ZD(a){a=a|0;YD(a);l0a(a);return}function _D(b){b=b|0;var d=0;b=j0a(136)|0;Uha(b,1);d=b+12|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[b+24>>2]=2;d=b+28|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[d+12>>2]=0;g[b+44>>2]=-1.0;d=b+48|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[d+12>>2]=0;g[b+64>>2]=-1.0;d=b+72|0;c[b+92>>2]=0;c[b+100>>2]=0;c[b+120>>2]=0;a[b+68>>0]=0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[d+12>>2]=0;c[b+116>>2]=-1;c[b+88>>2]=0;c[b+96>>2]=0;a[b+104>>0]=1;c[b+108>>2]=0;c[b+112>>2]=0;c[b>>2]=73548;c[b+124>>2]=0;c[b+128>>2]=0;c[b+132>>2]=0;return b|0}function $D(a,b){a=a|0;b=b|0;var c=0;c=j0a(136)|0;XD(c,a,b);return c|0}function aE(a,b){a=a|0;b=b|0;if(!b){b=0;return b|0}b=(y1a(b,42800,43216,0)|0)!=0;return b|0}function bE(a){a=a|0;return 186332}function cE(a){a=a|0;return 134570}function dE(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;j=l;l=l+16|0;d=j+8|0;i=j+4|0;e=j;if(!((c[a+116>>2]|c[b+24>>2])&c[b+20>>2])){l=j;return}c[i>>2]=a;f=b+16|0;g=b+28|0;h=a;do if((c[f>>2]|0)!=1){d=b+32|0;e=c[d>>2]|0;if((e|0)==(c[b+36>>2]|0)){ow(g,i);break}else{c[e>>2]=h;c[d>>2]=(c[d>>2]|0)+4;break}}else{c[e>>2]=c[g>>2];c[d>>2]=c[e>>2];pw(g,d,i)|0}while(0);Jk[c[(c[b>>2]|0)+120>>2]&1023](b,a);if((c[f>>2]|0)==1){a=c[b+28>>2]|0;f=a+4|0;d=b+32|0;e=(c[d>>2]|0)-f|0;if(e|0)y2a(a|0,f|0,e|0)|0;e=a+(e>>2<<2)|0}else{d=b+32|0;e=(c[d>>2]|0)+-4|0}c[d>>2]=e;l=j;return}function eE(a,b){a=a|0;b=b|0;var d=0.0,e=0,f=0.0,h=0,i=0.0,j=0.0,k=0.0,l=0.0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0.0,s=0.0,t=0,u=0,v=0,w=0,x=0,y=0;g[a>>2]=0.0;v=a+4|0;g[v>>2]=0.0;w=a+8|0;g[w>>2]=0.0;x=a+12|0;g[x>>2]=-1.0;t=b+124|0;e=c[t>>2]|0;u=b+128|0;if((e|0)==(c[u>>2]|0))return;n=3402823466385288598117041.0e14;f=3402823466385288598117041.0e14;d=3402823466385288598117041.0e14;l=-3402823466385288598117041.0e14;o=-3402823466385288598117041.0e14;k=-3402823466385288598117041.0e14;while(1){b=c[e>>2]|0;h=gk[c[(c[b>>2]|0)+180>>2]&1023](b)|0;if((h|0)!=0?(c[h+136>>2]|0)!=0:0){i=n;j=o}else y=5;do if((y|0)==5){y=0;h=gk[c[(c[b>>2]|0)+88>>2]&1023](b)|0;if(!h){b=Fz(b)|0;m=+g[b+12>>2];if(!(m>=0.0)){i=n;j=o;break}j=+g[b>>2];i=j-m;i=i<n?i:n;j=m+j;l=j>l?j:l;j=+g[b+4>>2];n=j-m;f=n<f?n:f;j=m+j;j=j>o?j:o;o=+g[b+8>>2];n=o-m;d=n<d?n:d;m=m+o;if(!(m>k))break;k=m;break}b=FA(h)|0;j=+g[b+12>>2];i=+g[b>>2];if((j>=i?(p=+g[b+16>>2],q=+g[b+4>>2],p>=q):0)?(r=+g[b+20>>2],s=+g[b+8>>2],r>=s):0){i=i<n?i:n;l=j>l?j:l;f=q<f?q:f;j=p>o?p:o;d=s<d?s:d;if(r>k)k=r}else{i=n;j=o}}while(0);e=e+4|0;if((e|0)==(c[u>>2]|0))break;else{n=i;o=j}}if(!(l>=i))return;if(!(j>=f)|!(k>=d))return;g[a>>2]=(i+l)*.5;g[v>>2]=(f+j)*.5;g[w>>2]=(d+k)*.5;g[x>>2]=0.0;b=c[t>>2]|0;if((b|0)==(e|0))return;f=0.0;while(1){e=c[b>>2]|0;t=gk[c[(c[e>>2]|0)+180>>2]&1023](e)|0;if((t|0)!=0?(c[t+136>>2]|0)!=0:0)d=f;else y=21;do if((y|0)==21){y=0;e=Fz(e)|0;d=+g[e+12>>2];if(d>=0.0){if(!(f>=0.0)){c[a>>2]=c[e>>2];c[a+4>>2]=c[e+4>>2];c[a+8>>2]=c[e+8>>2];g[x>>2]=d;break}q=+g[e>>2]-+g[a>>2];r=+g[e+4>>2]-+g[v>>2];s=+g[e+8>>2]-+g[w>>2];d=d+ +B(+(q*q+r*r+s*s));if(d>f)g[x>>2]=d;else d=f}else d=f}while(0);b=b+4|0;if((b|0)==(c[u>>2]|0))break;else f=d}return}function fE(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;e=c[a>>2]|0;if(!e)return;f=a+4|0;b=c[f>>2]|0;if((b|0)==(e|0))b=e;else{do{b=b+-4|0;d=c[b>>2]|0;if(d|0?(h=d+8|0,g=c[h>>2]|0,c[h>>2]=g-1,(g|0)==1):0)UU(d,1,1);c[b>>2]=0}while((b|0)!=(e|0));b=c[a>>2]|0}c[f>>2]=e;l0a(b);return}function gE(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0;c[a>>2]=73820;d=a+200|0;e=a+204|0;if((c[e>>2]|0)!=(c[d>>2]|0)){b=0;do{f=c[(qB(d,b)|0)>>2]|0;if(f|0)ija(f);b=b+1|0}while(b>>>0<(c[e>>2]|0)-(c[d>>2]|0)>>2>>>0)}e=a+264|0;f=c[e>>2]|0;if(f|0){g=a+268|0;b=c[g>>2]|0;if((b|0)==(f|0))b=f;else{do{b=b+-4|0;d=c[b>>2]|0;if(d|0?(i=d+8|0,h=c[i>>2]|0,c[i>>2]=h-1,(h|0)==1):0)UU(d,1,1);c[b>>2]=0}while((b|0)!=(f|0));b=c[e>>2]|0}c[g>>2]=f;l0a(b)}e=a+252|0;f=c[e>>2]|0;if(f|0){g=a+256|0;b=c[g>>2]|0;if((b|0)==(f|0))b=f;else{do{b=b+-4|0;d=c[b>>2]|0;if(d|0?(h=d+8|0,i=c[h>>2]|0,c[h>>2]=i-1,(i|0)==1):0)UU(d,1,1);c[b>>2]=0}while((b|0)!=(f|0));b=c[e>>2]|0}c[g>>2]=f;l0a(b)}b=a+248|0;d=c[b>>2]|0;if(d|0?(h=d+8|0,i=c[h>>2]|0,c[h>>2]=i-1,(i|0)==1):0)UU(d,1,1);c[b>>2]=0;b=a+244|0;d=c[b>>2]|0;if(d|0?(h=d+8|0,i=c[h>>2]|0,c[h>>2]=i-1,(i|0)==1):0)UU(d,1,1);c[b>>2]=0;b=a+240|0;d=c[b>>2]|0;if(d|0?(h=d+8|0,i=c[h>>2]|0,c[h>>2]=i-1,(i|0)==1):0)UU(d,1,1);c[b>>2]=0;b=a+236|0;d=c[b>>2]|0;if(d|0?(h=d+8|0,i=c[h>>2]|0,c[h>>2]=i-1,(i|0)==1):0)UU(d,1,1);c[b>>2]=0;b=a+232|0;d=c[b>>2]|0;if(d|0?(h=d+8|0,i=c[h>>2]|0,c[h>>2]=i-1,(i|0)==1):0)UU(d,1,1);c[b>>2]=0;e=a+220|0;f=c[e>>2]|0;if(!f){IA(a);return}g=a+224|0;b=c[g>>2]|0;if((b|0)==(f|0))b=f;else{do{b=b+-4|0;d=c[b>>2]|0;if(d|0?(h=d+8|0,i=c[h>>2]|0,c[h>>2]=i-1,(i|0)==1):0)UU(d,1,1);c[b>>2]=0}while((b|0)!=(f|0));b=c[e>>2]|0}c[g>>2]=f;l0a(b);IA(a);return}function hE(a){a=a|0;gE(a);l0a(a);return}function iE(b){b=b|0;var d=0,e=0,f=0,g=0;b=j0a(280)|0;uC(b);c[b>>2]=73820;d=b+220|0;e=b+182|0;f=d;g=f+56|0;do{c[f>>2]=0;f=f+4|0}while((f|0)<(g|0));a[d+56>>0]=0;a[e>>0]=1;a[b+183>>0]=0;return b|0}function jE(a,b){a=a|0;b=b|0;var c=0;c=j0a(280)|0;FG(c,a,b);return c|0}function kE(a,b){a=a|0;b=b|0;if(!b){b=0;return b|0}b=(y1a(b,42800,44752,0)|0)!=0;return b|0}function lE(a){a=a|0;return 186332}function mE(a){a=a|0;return 136122}function nE(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0;n=l;l=l+32|0;h=n+24|0;k=n+12|0;j=n;SA(a,b);c[k>>2]=0;m=k+4|0;c[m>>2]=0;c[k+8>>2]=0;if(mw(a,k)|0?(d=c[k>>2]|0,(d|0)!=(c[m>>2]|0)):0)do{i=c[d>>2]|0;Jk[c[(c[i>>2]|0)+156>>2]&1023](i,b);d=d+4|0}while((d|0)!=(c[m>>2]|0));c[j>>2]=0;i=j+4|0;c[i>>2]=0;g=j+8|0;c[g>>2]=0;d=c[a+220>>2]|0;f=a+224|0;if((d|0)!=(c[f>>2]|0)){do{e=c[d>>2]|0;e=gk[c[(c[e>>2]|0)+192>>2]&1023](e)|0;c[h>>2]=e;a=e;do if(e|0){e=c[i>>2]|0;if((e|0)==(c[g>>2]|0)){EG(j,h);break}else{c[e>>2]=a;c[i>>2]=(c[i>>2]|0)+4;break}}while(0);d=d+4|0}while((d|0)!=(c[f>>2]|0));h=c[i>>2]|0;g=c[j>>2]|0;d=g;if(!((h|0)==(g|0)|(d|0)==(h|0))){do{h=c[d>>2]|0;Jk[c[(c[h>>2]|0)+156>>2]&1023](h,b);d=d+4|0}while((d|0)!=(c[i>>2]|0));d=c[j>>2]|0}if(d|0){c[i>>2]=d;l0a(d)}}e=c[k>>2]|0;if(!e){l=n;return}d=c[m>>2]|0;if((d|0)==(e|0))d=e;else{do{d=d+-4|0;a=c[d>>2]|0;if(a|0?(b=a+8|0,j=c[b>>2]|0,c[b>>2]=j-1,(j|0)==1):0)UU(a,1,1);c[d>>2]=0}while((d|0)!=(e|0));d=c[k>>2]|0}c[m>>2]=e;l0a(d);l=n;return}function oE(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0;o=l;l=l+32|0;k=o+24|0;n=o+12|0;m=o;TA(a,b);g=a+200|0;if(b){h=b+124|0;if((c[(qB(g,c[h>>2]|0)|0)>>2]|0?(Yia(c[(qB(g,c[h>>2]|0)|0)>>2]|0),e=qB(g,c[h>>2]|0)|0,f=c[e>>2]|0,f|0):0)?(c[e>>2]=0,i=f+8|0,j=c[i>>2]|0,c[i>>2]=j-1,(j|0)==1):0)UU(f,1,1)}else{g=c[g>>2]|0;h=a+204|0;e=c[h>>2]|0;if((e|0)!=(g|0))do{e=e+-4|0;f=c[e>>2]|0;if(f|0?(i=f+8|0,j=c[i>>2]|0,c[i>>2]=j-1,(j|0)==1):0)UU(f,1,1);c[e>>2]=0}while((e|0)!=(g|0));c[h>>2]=g}c[n>>2]=0;j=n+4|0;c[j>>2]=0;c[n+8>>2]=0;if(mw(a,n)|0?(d=c[n>>2]|0,(d|0)!=(c[j>>2]|0)):0)do{i=c[d>>2]|0;Jk[c[(c[i>>2]|0)+160>>2]&1023](i,b);d=d+4|0}while((d|0)!=(c[j>>2]|0));c[m>>2]=0;i=m+4|0;c[i>>2]=0;h=m+8|0;c[h>>2]=0;d=c[a+220>>2]|0;g=a+224|0;if((d|0)!=(c[g>>2]|0)){do{a=c[d>>2]|0;a=gk[c[(c[a>>2]|0)+192>>2]&1023](a)|0;c[k>>2]=a;e=a;do if(a|0){f=c[i>>2]|0;if((f|0)==(c[h>>2]|0)){EG(m,k);break}else{c[f>>2]=e;c[i>>2]=(c[i>>2]|0)+4;break}}while(0);d=d+4|0}while((d|0)!=(c[g>>2]|0));k=c[i>>2]|0;a=c[m>>2]|0;d=a;if(!((k|0)==(a|0)|(d|0)==(k|0))){do{k=c[d>>2]|0;Jk[c[(c[k>>2]|0)+160>>2]&1023](k,b);d=d+4|0}while((d|0)!=(c[i>>2]|0));d=c[m>>2]|0}if(d|0){c[i>>2]=d;l0a(d)}}f=c[n>>2]|0;if(!f){l=o;return}d=c[j>>2]|0;if((d|0)==(f|0))d=f;else{do{d=d+-4|0;e=c[d>>2]|0;if(e|0?(b=e+8|0,m=c[b>>2]|0,c[b>>2]=m-1,(m|0)==1):0)UU(e,1,1);c[d>>2]=0}while((d|0)!=(f|0));d=c[n>>2]|0}c[j>>2]=f;l0a(d);l=o;return}function pE(a){a=a|0;return a|0}function qE(a){a=a|0;return a|0}function rE(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;j=l;l=l+16|0;d=j+8|0;i=j+4|0;e=j;if(!((c[a+116>>2]|c[b+24>>2])&c[b+20>>2])){l=j;return}c[i>>2]=a;f=b+16|0;g=b+28|0;h=a;do if((c[f>>2]|0)!=1){d=b+32|0;e=c[d>>2]|0;if((e|0)==(c[b+36>>2]|0)){ow(g,i);break}else{c[e>>2]=h;c[d>>2]=(c[d>>2]|0)+4;break}}else{c[e>>2]=c[g>>2];c[d>>2]=c[e>>2];pw(g,d,i)|0}while(0);Jk[c[(c[b>>2]|0)+104>>2]&1023](b,a);if((c[f>>2]|0)==1){a=c[b+28>>2]|0;f=a+4|0;d=b+32|0;e=(c[d>>2]|0)-f|0;if(e|0)y2a(a|0,f|0,e|0)|0;e=a+(e>>2<<2)|0}else{d=b+32|0;e=(c[d>>2]|0)+-4|0}c[d>>2]=e;l=j;return}function sE(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0;r=l;l=l+32|0;h=r+24|0;q=r+12|0;n=r;e=b+183|0;f=a[e>>0]|0;if((f&255|0)==(d&1|0)){l=r;return}if(f<<24>>24)Bk[c[(c[b>>2]|0)+240>>2]&2047](b);a[e>>0]=d&1;c[q>>2]=0;p=q+4|0;c[p>>2]=0;c[q+8>>2]=0;mw(b,q)|0;c[n>>2]=0;m=n+4|0;c[m>>2]=0;g=n+8|0;c[g>>2]=0;d=c[b+220>>2]|0;b=b+224|0;if((d|0)!=(c[b>>2]|0))do{j=c[d>>2]|0;j=gk[c[(c[j>>2]|0)+192>>2]&1023](j)|0;c[h>>2]=j;e=j;do if(j|0){f=c[m>>2]|0;if((f|0)==(c[g>>2]|0)){EG(n,h);break}else{c[f>>2]=e;c[m>>2]=(c[m>>2]|0)+4;break}}while(0);d=d+4|0}while((d|0)!=(c[b>>2]|0));e=c[q>>2]|0;f=c[p>>2]|0;if((e|0)!=(f|0)){d=0;g=1;while(1){if(!g)break;b=c[(c[e>>2]|0)+40>>2]|0;if(((b|0)!=0?(i=y1a(b,42944,42976,0)|0,(i|0)!=0):0)?(d|0)!=(i|0):0){b=i+8|0;c[b>>2]=(c[b>>2]|0)+1;b=i;f=c[p>>2]|0}else b=0;e=e+4|0;g=(b|0)==0;if((e|0)==(f|0)){o=19;break}else d=b}if((o|0)==19)if(g){d=j0a(72)|0;Tha(d);j=d+12|0;c[j>>2]=0;c[j+4>>2]=0;c[j+8>>2]=0;c[d+24>>2]=2;c[d+28>>2]=0;c[d>>2]=68868;j=d+32|0;c[d+48>>2]=0;c[d+52>>2]=0;c[d+56>>2]=0;c[j>>2]=0;c[j+4>>2]=0;c[j+8>>2]=0;a[j+12>>0]=0;ut(d+60|0);c[d>>2]=69236;c[j>>2]=34962;c[d+36>>2]=35044;if((b|0)==(d|0))d=0;else{j=d+8|0;c[j>>2]=(c[j>>2]|0)+1}}else d=b;f=c[q>>2]|0;e=c[p>>2]|0;a:do if((f|0)!=(e|0)){j=d+8|0;if(d|0)while(1){i=c[f>>2]|0;h=i+40|0;b=c[h>>2]|0;g=(b|0)==0;if(!(!g?(y1a(b,42944,42976,0)|0)!=0:0))if((b|0)!=(d|0)){if(g)e=0;else{jt(b,c[i+36>>2]|0);e=c[h>>2]|0}if(((e|0)!=(d|0)?(c[h>>2]=d,c[j>>2]=(c[j>>2]|0)+1,e|0):0)?(b=e+8|0,g=c[b>>2]|0,c[b>>2]=g-1,(g|0)==1):0)UU(e,1,1);e=c[h>>2]|0;if(!e)e=0;else e=kt(e,i)|0;c[i+36>>2]=e;e=c[p>>2]|0}f=f+4|0;if((f|0)==(e|0))break a}do{i=c[f>>2]|0;h=i+40|0;b=c[h>>2]|0;g=(b|0)==0;if(!(!g?(y1a(b,42944,42976,0)|0)!=0:0))if((b|0)!=(d|0)){if(g)e=0;else{jt(b,c[i+36>>2]|0);e=c[h>>2]|0}if((e|0)!=(d|0)){c[h>>2]=d;if(e){j=e+8|0;o=c[j>>2]|0;c[j>>2]=o-1;if((o|0)==1){UU(e,1,1);o=35}else o=35}else e=d}else o=35;if((o|0)==35){o=0;e=c[h>>2]|0}if(!e)e=0;else e=kt(e,i)|0;c[i+36>>2]=e;e=c[p>>2]|0}f=f+4|0}while((f|0)!=(e|0))}while(0);if(d|0?(i=d+8|0,j=c[i>>2]|0,c[i>>2]=j-1,(j|0)==1):0)UU(d,1,1)}d=c[n>>2]|0;if((d|0)!=(c[m>>2]|0)){e=0;do{f=c[(c[d>>2]|0)+40>>2]|0;if(((f|0)!=0?(k=y1a(f,42944,43080,0)|0,(k|0)!=0):0)?(e|0)!=(k|0):0){j=k+8|0;c[j>>2]=(c[j>>2]|0)+1;if((e|0)!=0?(i=e+8|0,j=c[i>>2]|0,c[i>>2]=j-1,(j|0)==1):0){UU(e,1,1);e=k}else e=k}d=d+4|0}while((d|0)!=(c[m>>2]|0));if(!e){e=j0a(72)|0;Tha(e);k=e+12|0;c[k>>2]=0;c[k+4>>2]=0;c[k+8>>2]=0;c[e+24>>2]=2;c[e+28>>2]=0;c[e>>2]=68868;k=e+32|0;c[e+48>>2]=0;c[e+52>>2]=0;c[e+56>>2]=0;c[k>>2]=0;c[k+4>>2]=0;c[k+8>>2]=0;a[k+12>>0]=0;ut(e+60|0);c[e>>2]=69508;c[k>>2]=34963;c[e+36>>2]=35044;k=e+8|0;c[k>>2]=(c[k>>2]|0)+1}d=c[n>>2]|0;f=c[m>>2]|0;if((d|0)!=(f|0)){j=e+8|0;do{i=c[d>>2]|0;h=i+40|0;b=c[h>>2]|0;g=(b|0)==0;if(!(!g?(y1a(b,42944,43080,0)|0)!=0:0))if((b|0)!=(e|0)){if(g)f=0;else{jt(b,c[i+36>>2]|0);f=c[h>>2]|0}if(((f|0)!=(e|0)?(c[h>>2]=e,c[j>>2]=(c[j>>2]|0)+1,f|0):0)?(g=f+8|0,k=c[g>>2]|0,c[g>>2]=k-1,(k|0)==1):0)UU(f,1,1);f=c[h>>2]|0;if(!f)f=0;else f=kt(f,i)|0;c[i+36>>2]=f;f=c[m>>2]|0}d=d+4|0}while((d|0)!=(f|0));if(e|0)o=83}else o=83;if((o|0)==83?(k=e+8|0,o=c[k>>2]|0,c[k>>2]=o-1,(o|0)==1):0)UU(e,1,1);d=c[n>>2]|0}if(d|0){c[m>>2]=d;l0a(d)}f=c[q>>2]|0;if(f|0){d=c[p>>2]|0;if((d|0)==(f|0))d=f;else{do{d=d+-4|0;e=c[d>>2]|0;if(e|0?(n=e+8|0,o=c[n>>2]|0,c[n>>2]=o-1,(o|0)==1):0)UU(e,1,1);c[d>>2]=0}while((d|0)!=(f|0));d=c[q>>2]|0}c[p>>2]=f;l0a(d)}l=r;return}function tE(a){a=a|0;var b=0,d=0,e=0;e=a+200|0;b=a+204|0;if((c[b>>2]|0)==(c[e>>2]|0))return;a=0;do{d=c[(qB(e,a)|0)>>2]|0;if(d|0)ija(d);a=a+1|0}while(a>>>0<(c[b>>2]|0)-(c[e>>2]|0)>>2>>>0);return}function uE(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0;b=c[a+232>>2]|0;if(!b)b=0;else b=gk[c[(c[b>>2]|0)+168>>2]&1023](b)|0;d=c[a+236>>2]|0;if(d)b=(gk[c[(c[d>>2]|0)+168>>2]&1023](d)|0)+b|0;d=c[a+240>>2]|0;if(d)b=(gk[c[(c[d>>2]|0)+168>>2]&1023](d)|0)+b|0;d=c[a+244>>2]|0;if(d)b=(gk[c[(c[d>>2]|0)+168>>2]&1023](d)|0)+b|0;d=c[a+248>>2]|0;if(d)b=(gk[c[(c[d>>2]|0)+168>>2]&1023](d)|0)+b|0;h=a+252|0;i=a+256|0;e=c[i>>2]|0;d=c[h>>2]|0;if((e|0)!=(d|0)){g=0;f=e;while(1){e=c[d+(g<<2)>>2]|0;if(!e)e=f;else{b=(gk[c[(c[e>>2]|0)+168>>2]&1023](e)|0)+b|0;d=c[h>>2]|0;e=c[i>>2]|0}g=g+1|0;if(g>>>0>=e-d>>2>>>0)break;else f=e}}h=a+264|0;i=a+268|0;e=c[i>>2]|0;d=c[h>>2]|0;if((e|0)!=(d|0)){g=0;f=e;while(1){e=c[d+(g<<2)>>2]|0;if(!e)e=f;else{b=(gk[c[(c[e>>2]|0)+168>>2]&1023](e)|0)+b|0;d=c[h>>2]|0;e=c[i>>2]|0}g=g+1|0;if(g>>>0>=e-d>>2>>>0)break;else f=e}}d=c[a+220>>2]|0;e=a+224|0;if((d|0)==(c[e>>2]|0)){a=b;return a|0}do{a=c[d>>2]|0;b=((gk[c[(c[a>>2]|0)+216>>2]&1023](a)|0)<<2)+b|0;d=d+4|0}while((d|0)!=(c[e>>2]|0));return b|0}function vE(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;z=l;l=l+16|0;x=z;y=c[d>>2]|0;if(!(a[b+182>>0]|0))e=0;else e=(a[b+183>>0]|0)!=0;if((a[y+760>>0]|0)==0?!(e&(a[y+758>>0]|0)!=0):0){l=z;return}t=c[y+124>>2]|0;u=y+832|0;v=c[u>>2]|0;if(!v){l=z;return}r=x+4|0;c[r>>2]=0;s=x+8|0;c[s>>2]=0;w=x+4|0;c[x>>2]=w;e=c[b+232>>2]|0;if(((e|0)!=0?(f=c[e+40>>2]|0,(f|0)!=0):0)?(c[w>>2]|0)==0:0){e=j0a(20)|0;c[e+16>>2]=f;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=w;c[w>>2]=e;c[x>>2]=e;fp(e,e);e=(c[s>>2]|0)+1|0;c[s>>2]=e}else e=0;f=c[b+236>>2]|0;if((f|0)!=0?(i=c[f+40>>2]|0,(i|0)!=0):0){j=i;f=c[w>>2]|0;do if(f){h=r;while(1){g=c[f+16>>2]|0;if(i>>>0<g>>>0){g=c[f>>2]|0;if(!g){o=16;break}}else{if(g>>>0>=i>>>0){o=20;break}h=f+4|0;g=c[h>>2]|0;if(!g){o=19;break}else f=h}h=f;f=g}if((o|0)==16){i=f;g=f;break}else if((o|0)==19){i=f;g=h;break}else if((o|0)==20){i=f;g=h;break}}else{i=w;g=w}while(0);if(!(c[g>>2]|0)){e=j0a(20)|0;c[e+16>>2]=j;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=i;c[g>>2]=e;f=c[c[x>>2]>>2]|0;if(f){c[x>>2]=f;e=c[g>>2]|0}fp(c[r>>2]|0,e);e=(c[s>>2]|0)+1|0;c[s>>2]=e}}f=c[b+240>>2]|0;if((f|0)!=0?(k=c[f+40>>2]|0,(k|0)!=0):0){j=k;f=c[w>>2]|0;do if(f){h=r;while(1){g=c[f+16>>2]|0;if(k>>>0<g>>>0){g=c[f>>2]|0;if(!g){o=33;break}}else{if(g>>>0>=k>>>0){o=37;break}h=f+4|0;g=c[h>>2]|0;if(!g){o=36;break}else f=h}h=f;f=g}if((o|0)==33){i=f;g=f;break}else if((o|0)==36){i=f;g=h;break}else if((o|0)==37){i=f;g=h;break}}else{i=w;g=w}while(0);if(!(c[g>>2]|0)){e=j0a(20)|0;c[e+16>>2]=j;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=i;c[g>>2]=e;f=c[c[x>>2]>>2]|0;if(f){c[x>>2]=f;e=c[g>>2]|0}fp(c[r>>2]|0,e);e=(c[s>>2]|0)+1|0;c[s>>2]=e}}f=c[b+244>>2]|0;if((f|0)!=0?(m=c[f+40>>2]|0,(m|0)!=0):0){j=m;f=c[w>>2]|0;do if(f){h=r;while(1){g=c[f+16>>2]|0;if(m>>>0<g>>>0){g=c[f>>2]|0;if(!g){o=50;break}}else{if(g>>>0>=m>>>0){o=54;break}h=f+4|0;g=c[h>>2]|0;if(!g){o=53;break}else f=h}h=f;f=g}if((o|0)==50){i=f;g=f;break}else if((o|0)==53){i=f;g=h;break}else if((o|0)==54){i=f;g=h;break}}else{i=w;g=w}while(0);if(!(c[g>>2]|0)){e=j0a(20)|0;c[e+16>>2]=j;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=i;c[g>>2]=e;f=c[c[x>>2]>>2]|0;if(f){c[x>>2]=f;e=c[g>>2]|0}fp(c[r>>2]|0,e);e=(c[s>>2]|0)+1|0;c[s>>2]=e}}f=c[b+248>>2]|0;if((f|0)!=0?(n=c[f+40>>2]|0,(n|0)!=0):0){j=n;f=c[w>>2]|0;do if(f){h=r;while(1){g=c[f+16>>2]|0;if(n>>>0<g>>>0){g=c[f>>2]|0;if(!g){o=67;break}}else{if(g>>>0>=n>>>0){o=71;break}h=f+4|0;g=c[h>>2]|0;if(!g){o=70;break}else f=h}h=f;f=g}if((o|0)==67){i=f;g=f;break}else if((o|0)==70){i=f;g=h;break}else if((o|0)==71){i=f;g=h;break}}else{i=w;g=w}while(0);if(!(c[g>>2]|0)){e=j0a(20)|0;c[e+16>>2]=j;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=i;c[g>>2]=e;f=c[c[x>>2]>>2]|0;if(f){c[x>>2]=f;e=c[g>>2]|0}fp(c[r>>2]|0,e);e=(c[s>>2]|0)+1|0;c[s>>2]=e}}f=c[b+252>>2]|0;n=b+256|0;g=c[n>>2]|0;if((f|0)!=(g|0)){m=g;while(1){g=c[f>>2]|0;if((g|0)!=0?(p=c[g+40>>2]|0,(p|0)!=0):0){k=p;g=c[w>>2]|0;do if(g){i=r;while(1){h=c[g+16>>2]|0;if(p>>>0<h>>>0){h=c[g>>2]|0;if(!h){o=88;break}}else{if(h>>>0>=p>>>0){o=92;break}i=g+4|0;h=c[i>>2]|0;if(!h){o=91;break}else g=i}i=g;g=h}if((o|0)==88){j=g;h=g;break}else if((o|0)==91){j=g;h=i;break}else if((o|0)==92){j=g;h=i;break}}else{j=w;h=w}while(0);if(!(c[h>>2]|0)){e=j0a(20)|0;c[e+16>>2]=k;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=j;c[h>>2]=e;g=c[c[x>>2]>>2]|0;if(g){c[x>>2]=g;e=c[h>>2]|0}fp(c[r>>2]|0,e);e=(c[s>>2]|0)+1|0;c[s>>2]=e;g=c[n>>2]|0}else g=m}else g=m;f=f+4|0;if((f|0)==(g|0))break;else m=g}}f=c[b+264>>2]|0;n=b+268|0;g=c[n>>2]|0;if((f|0)!=(g|0)){m=g;while(1){g=c[f>>2]|0;if((g|0)!=0?(q=c[g+40>>2]|0,(q|0)!=0):0){k=q;g=c[w>>2]|0;do if(g){i=r;while(1){h=c[g+16>>2]|0;if(q>>>0<h>>>0){h=c[g>>2]|0;if(!h){o=107;break}}else{if(h>>>0>=q>>>0){o=111;break}i=g+4|0;h=c[i>>2]|0;if(!h){o=110;break}else g=i}i=g;g=h}if((o|0)==107){j=g;h=g;break}else if((o|0)==110){j=g;h=i;break}else if((o|0)==111){j=g;h=i;break}}else{j=w;h=w}while(0);if(!(c[h>>2]|0)){e=j0a(20)|0;c[e+16>>2]=k;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=j;c[h>>2]=e;g=c[c[x>>2]>>2]|0;if(g){c[x>>2]=g;e=c[h>>2]|0}fp(c[r>>2]|0,e);e=(c[s>>2]|0)+1|0;c[s>>2]=e;g=c[n>>2]|0}else g=m}else g=m;f=f+4|0;if((f|0)==(g|0))break;else m=g}}f=c[b+220>>2]|0;n=b+224|0;g=c[n>>2]|0;if((f|0)!=(g|0))do{k=c[(c[f>>2]|0)+40>>2]|0;if(k){m=k;h=c[w>>2]|0;do if(h){j=r;while(1){i=c[h+16>>2]|0;if(k>>>0<i>>>0){i=c[h>>2]|0;if(!i){o=124;break}}else{if(i>>>0>=k>>>0){o=128;break}j=h+4|0;i=c[j>>2]|0;if(!i){o=127;break}else h=j}j=h;h=i}if((o|0)==124){i=h;break}else if((o|0)==127){i=h;h=j;break}else if((o|0)==128){i=h;h=j;break}}else{i=w;h=w}while(0);if(!(c[h>>2]|0)){e=j0a(20)|0;c[e+16>>2]=m;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=i;c[h>>2]=e;g=c[c[x>>2]>>2]|0;if(g){c[x>>2]=g;e=c[h>>2]|0}fp(c[r>>2]|0,e);e=(c[s>>2]|0)+1|0;c[s>>2]=e;g=c[n>>2]|0}}f=f+4|0}while((f|0)!=(g|0));if(e|0){e=c[x>>2]|0;if((e|0)!=(w|0)){g=e;while(1){e=pu(c[g+16>>2]|0,t)|0;if(e|0?a[e+36>>0]|0:0)tG(e);e=c[g+4>>2]|0;if(!e){f=g+8|0;e=c[f>>2]|0;if((c[e>>2]|0)!=(g|0))do{s=c[f>>2]|0;f=s+8|0;e=c[f>>2]|0}while((c[e>>2]|0)!=(s|0))}else while(1){f=c[e>>2]|0;if(!f)break;else e=f}if((e|0)==(w|0))break;else g=e}}if(!((a[y+761>>0]|0)==0?!((a[b+184>>0]|0)!=0&(a[y+759>>0]|0)!=0):0)){e=c[b+216>>2]|0;if(!e)h=kk[c[(c[b>>2]|0)+252>>2]&511](b,d)|0;else h=lk[c[(c[e>>2]|0)+20>>2]&127](e,d,b)|0;e=qB(b+200|0,t)|0;f=c[e>>2]|0;do if((f|0)!=(h|0)){c[e>>2]=h;if(h|0){t=h+8|0;c[t>>2]=(c[t>>2]|0)+1}if(!f)break;s=f+8|0;t=c[s>>2]|0;c[s>>2]=t-1;if((t|0)!=1)break;UU(f,1,1)}while(0);g=y+140|0;c[g>>2]=h;e=c[h+24>>2]|0;f=y+748|0;if((c[f>>2]|0)!=(e|0)){Bk[c[(c[u>>2]|0)+1560>>2]&2047](e);c[f>>2]=e}cG(b,d);if(c[f>>2]|0){Bk[c[(c[u>>2]|0)+1560>>2]&2047](0);c[f>>2]=0}c[g>>2]=c[y+136>>2]}y=v+724|0;Jk[c[y>>2]&1023](34962,0);Jk[c[y>>2]&1023](34963,0)}uG(x,c[w>>2]|0);l=z;return}function wE(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;f=c[d>>2]|0;g=j0a(108)|0;Tia(g,f);if(c[b+232>>2]|0)KX(g);if(c[b+240>>2]|0)MX(g);if(c[b+236>>2]|0)LX(g);if(c[b+244>>2]|0)Wia(g);if(c[b+248>>2]|0)Xia(g);d=c[b+252>>2]|0;e=c[b+256>>2]|0;if((d|0)!=(e|0))NX(g,e-d>>2);d=c[b+264>>2]|0;e=c[b+268>>2]|0;if((d|0)!=(e|0))OX(g,e-d>>2);if((a[f+761>>0]|0)==0?!((a[b+184>>0]|0)!=0&(a[f+759>>0]|0)!=0):0)return g|0;Uia(g);return g|0}function xE(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;j=l;l=l+16|0;e=j;if(a[b+276>>0]|0){if((a[223632]|0)==0?g2a(223632)|0:0)kr(225352);if((c[56338]|0)<=1){l=j;return}i=mr(lr(2)|0,135376,107)|0;BSa(e,i+(c[(c[i>>2]|0)+-12>>2]|0)|0);h=cUa(e,230580)|0;h=kk[c[(c[h>>2]|0)+28>>2]&511](h,10)|0;dUa(e);VSa(i,h)|0;HSa(i)|0;l=j;return}i=c[d>>2]|0;if(!(a[b+182>>0]|0))e=0;else e=(a[b+183>>0]|0)!=0;if((a[i+760>>0]|0)==0?!(e&(a[i+758>>0]|0)!=0):0){e=0;f=0}else if(!(a[i+761>>0]|0)){e=1;f=(a[b+184>>0]|0)!=0&(a[i+759>>0]|0)!=0}else{e=1;f=1}g=c[i+140>>2]|0;a[g+20>>0]=e&1;h=(c[i+368>>2]|0)==2;if(h){qca(i,135484,0)|0;cG(b,d);qca(i,135524,0)|0}else cG(b,d);dG(b,d);if(!(f|e^1)){e=g+96|0;if(c[e>>2]|0){Jk[c[(c[g+16>>2]|0)+724>>2]&1023](34962,0);c[e>>2]=0}e=g+100|0;if(c[e>>2]|0){Jk[c[(c[g+16>>2]|0)+724>>2]&1023](34963,0);c[e>>2]=0}}if(!h){l=j;return}qca(i,135582,0)|0;l=j;return}function yE(a,b){a=a|0;b=b|0;return 1}function zE(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0;m=l;l=l+16|0;e=m+12|0;k=m;c[k>>2]=74288;c[k+4>>2]=d;j=k+8|0;c[j>>2]=0;d=c[b+232>>2]|0;if(!d){d=b+264|0;if((c[b+268>>2]|0)!=(c[d>>2]|0)){if((a[223632]|0)==0?g2a(223632)|0:0)kr(225352);if((c[56338]|0)>3){i=mr(lr(4)|0,135247,70)|0;BSa(e,i+(c[(c[i>>2]|0)+-12>>2]|0)|0);h=cUa(e,230580)|0;h=kk[c[(c[h>>2]|0)+28>>2]&511](h,10)|0;dUa(e);VSa(i,h)|0;HSa(i)|0}d=c[c[d>>2]>>2]|0;if(d|0){c[j>>2]=0;Jk[c[(c[d>>2]|0)+188>>2]&1023](d,k)}}}else{c[j>>2]=0;Jk[c[(c[d>>2]|0)+188>>2]&1023](d,k)}d=c[b+236>>2]|0;if(d|0){c[j>>2]=2;Jk[c[(c[d>>2]|0)+188>>2]&1023](d,k)}d=c[b+240>>2]|0;if(d|0){c[j>>2]=3;Jk[c[(c[d>>2]|0)+188>>2]&1023](d,k)}d=c[b+244>>2]|0;if(d|0){c[j>>2]=4;Jk[c[(c[d>>2]|0)+188>>2]&1023](d,k)}d=c[b+248>>2]|0;if(d|0){c[j>>2]=5;Jk[c[(c[d>>2]|0)+188>>2]&1023](d,k)}h=b+252|0;i=b+256|0;d=c[i>>2]|0;e=c[h>>2]|0;if((d|0)!=(e|0)){g=0;do{f=c[e+(g<<2)>>2]|0;if(f){c[j>>2]=g+8;Jk[c[(c[f>>2]|0)+188>>2]&1023](f,k);e=c[h>>2]|0;d=c[i>>2]|0}g=g+1|0}while(g>>>0<d-e>>2>>>0)}i=b+264|0;h=b+268|0;d=c[h>>2]|0;e=c[i>>2]|0;if((d|0)==(e|0)){l=m;return}g=0;do{f=c[e+(g<<2)>>2]|0;if(f){c[j>>2]=g;Jk[c[(c[f>>2]|0)+188>>2]&1023](f,k);d=c[h>>2]|0;e=c[i>>2]|0}g=g+1|0}while(g>>>0<d-e>>2>>>0);l=m;return}function AE(a,b){a=a|0;b=b|0;return 1}function BE(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0;m=l;l=l+16|0;e=m+12|0;k=m;c[k>>2]=74124;c[k+4>>2]=d;j=k+8|0;c[j>>2]=0;d=c[b+232>>2]|0;if(!d){d=b+264|0;if((c[b+268>>2]|0)!=(c[d>>2]|0)){if((a[223632]|0)==0?g2a(223632)|0:0)kr(225352);if((c[56338]|0)>3){i=mr(lr(4)|0,135103,75)|0;BSa(e,i+(c[(c[i>>2]|0)+-12>>2]|0)|0);h=cUa(e,230580)|0;h=kk[c[(c[h>>2]|0)+28>>2]&511](h,10)|0;dUa(e);VSa(i,h)|0;HSa(i)|0}d=c[c[d>>2]>>2]|0;if(d|0){c[j>>2]=0;Jk[c[(c[d>>2]|0)+192>>2]&1023](d,k)}}}else{c[j>>2]=0;Jk[c[(c[d>>2]|0)+192>>2]&1023](d,k)}d=c[b+236>>2]|0;if(d|0){c[j>>2]=2;Jk[c[(c[d>>2]|0)+192>>2]&1023](d,k)}d=c[b+240>>2]|0;if(d|0){c[j>>2]=3;Jk[c[(c[d>>2]|0)+192>>2]&1023](d,k)}d=c[b+244>>2]|0;if(d|0){c[j>>2]=4;Jk[c[(c[d>>2]|0)+192>>2]&1023](d,k)}d=c[b+248>>2]|0;if(d|0){c[j>>2]=5;Jk[c[(c[d>>2]|0)+192>>2]&1023](d,k)}h=b+252|0;i=b+256|0;d=c[i>>2]|0;e=c[h>>2]|0;if((d|0)!=(e|0)){g=0;do{f=c[e+(g<<2)>>2]|0;if(f){c[j>>2]=g+8;Jk[c[(c[f>>2]|0)+192>>2]&1023](f,k);e=c[h>>2]|0;d=c[i>>2]|0}g=g+1|0}while(g>>>0<d-e>>2>>>0)}i=b+264|0;h=b+268|0;d=c[h>>2]|0;e=c[i>>2]|0;if((d|0)==(e|0)){l=m;return}g=0;do{f=c[e+(g<<2)>>2]|0;if(f){c[j>>2]=g;Jk[c[(c[f>>2]|0)+192>>2]&1023](f,k);d=c[h>>2]|0;e=c[i>>2]|0}g=g+1|0}while(g>>>0<d-e>>2>>>0);l=m;return}function CE(a,b){a=a|0;b=b|0;return 1}function DE(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;h=l;l=l+16|0;g=h;e=c[b+232>>2]|0;if(!e){e=b+264|0;if((c[b+268>>2]|0)==(c[e>>2]|0)){l=h;return}if((a[223632]|0)==0?g2a(223632)|0:0)kr(225352);if((c[56338]|0)>3){i=mr(lr(4)|0,134876,30)|0;BSa(g,i+(c[(c[i>>2]|0)+-12>>2]|0)|0);j=cUa(g,230580)|0;j=kk[c[(c[j>>2]|0)+28>>2]&511](j,10)|0;dUa(g);VSa(i,j)|0;HSa(i)|0}e=c[c[e>>2]>>2]|0;if(!e){l=h;return}}if(!(gk[c[(c[e>>2]|0)+216>>2]&1023](e)|0)){l=h;return}if((a[b+276>>0]|0?(f=gk[c[(c[e>>2]|0)+152>>2]&1023](e)|0,f|0):0)?y1a(f,47048,43232,0)|0:0){if((a[223632]|0)==0?g2a(223632)|0:0)kr(225352);if((c[56338]|0)<=1){l=h;return}j=mr(lr(2)|0,134907,118)|0;BSa(g,j+(c[(c[j>>2]|0)+-12>>2]|0)|0);i=cUa(g,230580)|0;i=kk[c[(c[i>>2]|0)+28>>2]&511](i,10)|0;dUa(g);VSa(j,i)|0;HSa(j)|0;l=h;return}f=e+52|0;switch(c[f>>2]|0){case 27:{g=c[(c[d>>2]|0)+8>>2]|0;i=gk[c[(c[e>>2]|0)+216>>2]&1023](e)|0;j=gk[c[(c[e>>2]|0)+164>>2]&1023](e)|0;Nk[g&255](d,i,j);break}case 28:{g=c[(c[d>>2]|0)+12>>2]|0;i=gk[c[(c[e>>2]|0)+216>>2]&1023](e)|0;j=gk[c[(c[e>>2]|0)+164>>2]&1023](e)|0;Nk[g&255](d,i,j);break}case 29:{g=c[(c[d>>2]|0)+16>>2]|0;i=gk[c[(c[e>>2]|0)+216>>2]&1023](e)|0;j=gk[c[(c[e>>2]|0)+164>>2]&1023](e)|0;Nk[g&255](d,i,j);break}case 30:{g=c[(c[d>>2]|0)+20>>2]|0;i=gk[c[(c[e>>2]|0)+216>>2]&1023](e)|0;j=gk[c[(c[e>>2]|0)+164>>2]&1023](e)|0;Nk[g&255](d,i,j);break}case 31:{g=c[(c[d>>2]|0)+24>>2]|0;i=gk[c[(c[e>>2]|0)+216>>2]&1023](e)|0;j=gk[c[(c[e>>2]|0)+164>>2]&1023](e)|0;Nk[g&255](d,i,j);break}case 32:{g=c[(c[d>>2]|0)+28>>2]|0;i=gk[c[(c[e>>2]|0)+216>>2]&1023](e)|0;j=gk[c[(c[e>>2]|0)+164>>2]&1023](e)|0;Nk[g&255](d,i,j);break}default:{if((a[223632]|0)==0?g2a(223632)|0:0)kr(225352);if((c[56338]|0)<=1){l=h;return}j=PSa(mr(lr(2)|0,135026,76)|0,c[f>>2]|0)|0;BSa(g,j+(c[(c[j>>2]|0)+-12>>2]|0)|0);i=cUa(g,230580)|0;i=kk[c[(c[i>>2]|0)+28>>2]&511](i,10)|0;dUa(g);VSa(j,i)|0;HSa(j)|0;l=h;return}}e=c[b+220>>2]|0;f=b+224|0;if((e|0)==(c[f>>2]|0)){l=h;return}do{j=c[e>>2]|0;Jk[c[(c[j>>2]|0)+204>>2]&1023](j,d);e=e+4|0}while((e|0)!=(c[f>>2]|0));l=h;return}function EE(a,b){a=a|0;b=b|0;return 1}function FE(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;h=l;l=l+16|0;g=h;e=c[b+232>>2]|0;if(!e){e=b+264|0;if((c[b+268>>2]|0)==(c[e>>2]|0)){l=h;return}if((a[223632]|0)==0?g2a(223632)|0:0)kr(225352);if((c[56338]|0)>3){i=mr(lr(4)|0,134589,80)|0;BSa(g,i+(c[(c[i>>2]|0)+-12>>2]|0)|0);j=cUa(g,230580)|0;j=kk[c[(c[j>>2]|0)+28>>2]&511](j,10)|0;dUa(g);VSa(i,j)|0;HSa(i)|0}e=c[c[e>>2]>>2]|0;if(!e){l=h;return}}if(!(gk[c[(c[e>>2]|0)+216>>2]&1023](e)|0)){l=h;return}if((a[b+276>>0]|0?(f=gk[c[(c[e>>2]|0)+152>>2]&1023](e)|0,f|0):0)?y1a(f,47048,43232,0)|0:0){if((a[223632]|0)==0?g2a(223632)|0:0)kr(225352);if((c[56338]|0)<=1){l=h;return}j=mr(lr(2)|0,134670,123)|0;BSa(g,j+(c[(c[j>>2]|0)+-12>>2]|0)|0);i=cUa(g,230580)|0;i=kk[c[(c[i>>2]|0)+28>>2]&511](i,10)|0;dUa(g);VSa(j,i)|0;HSa(j)|0;l=h;return}f=e+52|0;switch(c[f>>2]|0){case 27:{g=c[(c[d>>2]|0)+8>>2]|0;i=gk[c[(c[e>>2]|0)+216>>2]&1023](e)|0;j=gk[c[(c[e>>2]|0)+164>>2]&1023](e)|0;Nk[g&255](d,i,j);break}case 28:{g=c[(c[d>>2]|0)+12>>2]|0;i=gk[c[(c[e>>2]|0)+216>>2]&1023](e)|0;j=gk[c[(c[e>>2]|0)+164>>2]&1023](e)|0;Nk[g&255](d,i,j);break}case 29:{g=c[(c[d>>2]|0)+16>>2]|0;i=gk[c[(c[e>>2]|0)+216>>2]&1023](e)|0;j=gk[c[(c[e>>2]|0)+164>>2]&1023](e)|0;Nk[g&255](d,i,j);break}case 30:{g=c[(c[d>>2]|0)+20>>2]|0;i=gk[c[(c[e>>2]|0)+216>>2]&1023](e)|0;j=gk[c[(c[e>>2]|0)+164>>2]&1023](e)|0;Nk[g&255](d,i,j);break}case 31:{g=c[(c[d>>2]|0)+24>>2]|0;i=gk[c[(c[e>>2]|0)+216>>2]&1023](e)|0;j=gk[c[(c[e>>2]|0)+164>>2]&1023](e)|0;Nk[g&255](d,i,j);break}case 32:{g=c[(c[d>>2]|0)+28>>2]|0;i=gk[c[(c[e>>2]|0)+216>>2]&1023](e)|0;j=gk[c[(c[e>>2]|0)+164>>2]&1023](e)|0;Nk[g&255](d,i,j);break}default:{if((a[223632]|0)==0?g2a(223632)|0:0)kr(225352);if((c[56338]|0)<=1){l=h;return}j=PSa(mr(lr(2)|0,134794,81)|0,c[f>>2]|0)|0;BSa(g,j+(c[(c[j>>2]|0)+-12>>2]|0)|0);i=cUa(g,230580)|0;i=kk[c[(c[i>>2]|0)+28>>2]&511](i,10)|0;dUa(g);VSa(j,i)|0;HSa(j)|0;l=h;return}}e=c[b+220>>2]|0;f=b+224|0;if((e|0)==(c[f>>2]|0)){l=h;return}do{j=c[e>>2]|0;Jk[c[(c[j>>2]|0)+208>>2]&1023](j,d);e=e+4|0}while((e|0)!=(c[f>>2]|0));l=h;return}function GE(a){a=a|0;return}function HE(a){a=a|0;l0a(a);return}function IE(a,b){a=a|0;b=b|0;return}function JE(a,b){a=a|0;b=b|0;var d=0,e=0;d=c[b+76>>2]|0;b=c[b+80>>2]|0;if((d|0)==(b|0))return;e=c[a+4>>2]|0;Qk[c[(c[e>>2]|0)+8>>2]&127](e,c[a+8>>2]|0,b-d|0,d);return}function KE(a,b){a=a|0;b=b|0;var d=0,e=0;d=c[b+76>>2]|0;b=c[b+80>>2]|0;if((d|0)==(b|0))return;e=c[a+4>>2]|0;Qk[c[(c[e>>2]|0)+12>>2]&127](e,c[a+8>>2]|0,b-d>>1,d);return}function LE(a,b){a=a|0;b=b|0;var d=0,e=0;d=c[b+76>>2]|0;b=c[b+80>>2]|0;if((d|0)==(b|0))return;e=c[a+4>>2]|0;Qk[c[(c[e>>2]|0)+16>>2]&127](e,c[a+8>>2]|0,b-d>>2,d);return}function ME(a,b){a=a|0;b=b|0;var d=0,e=0;d=c[b+76>>2]|0;b=c[b+80>>2]|0;if((d|0)==(b|0))return;e=c[a+4>>2]|0;Qk[c[(c[e>>2]|0)+20>>2]&127](e,c[a+8>>2]|0,b-d|0,d);return}function NE(a,b){a=a|0;b=b|0;var d=0,e=0;d=c[b+76>>2]|0;b=c[b+80>>2]|0;if((d|0)==(b|0))return;e=c[a+4>>2]|0;Qk[c[(c[e>>2]|0)+24>>2]&127](e,c[a+8>>2]|0,b-d>>1,d);return}function OE(a,b){a=a|0;b=b|0;var d=0,e=0;d=c[b+76>>2]|0;b=c[b+80>>2]|0;if((d|0)==(b|0))return;e=c[a+4>>2]|0;Qk[c[(c[e>>2]|0)+28>>2]&127](e,c[a+8>>2]|0,b-d>>2,d);return}function PE(a,b){a=a|0;b=b|0;var d=0,e=0;d=c[b+76>>2]|0;b=c[b+80>>2]|0;if((d|0)==(b|0))return;e=c[a+4>>2]|0;Qk[c[(c[e>>2]|0)+32>>2]&127](e,c[a+8>>2]|0,b-d>>2,d);return}function QE(a,b){a=a|0;b=b|0;var d=0,e=0;d=c[b+76>>2]|0;b=c[b+80>>2]|0;if((d|0)==(b|0))return;e=c[a+4>>2]|0;Qk[c[(c[e>>2]|0)+52>>2]&127](e,c[a+8>>2]|0,b-d>>3,d);return}function RE(a,b){a=a|0;b=b|0;return}function SE(a,b){a=a|0;b=b|0;return}function TE(a,b){a=a|0;b=b|0;return}function UE(a,b){a=a|0;b=b|0;return}function VE(a,b){a=a|0;b=b|0;return}function WE(a,b){a=a|0;b=b|0;return}function XE(a,b){a=a|0;b=b|0;return}function YE(a,b){a=a|0;b=b|0;return}function ZE(a,b){a=a|0;b=b|0;return}function _E(a,b){a=a|0;b=b|0;return}function $E(a,b){a=a|0;b=b|0;return}function aF(a,b){a=a|0;b=b|0;var d=0,e=0;d=c[b+76>>2]|0;b=c[b+80>>2]|0;if((d|0)==(b|0))return;e=c[a+4>>2]|0;Qk[c[(c[e>>2]|0)+48>>2]&127](e,c[a+8>>2]|0,b-d>>2,d);return}function bF(a,b){a=a|0;b=b|0;return}function cF(a,b){a=a|0;b=b|0;return}function dF(a,b){a=a|0;b=b|0;return}function eF(a,b){a=a|0;b=b|0;return}function fF(a,b){a=a|0;b=b|0;return}function gF(a,b){a=a|0;b=b|0;return}function hF(a,b){a=a|0;b=b|0;var d=0,e=0;d=c[b+76>>2]|0;b=c[b+80>>2]|0;if((d|0)==(b|0))return;e=c[a+4>>2]|0;Qk[c[(c[e>>2]|0)+36>>2]&127](e,c[a+8>>2]|0,b-d>>3,d);return}function iF(a,b){a=a|0;b=b|0;var d=0,e=0;d=c[b+76>>2]|0;b=c[b+80>>2]|0;if((d|0)==(b|0))return;e=c[a+4>>2]|0;Qk[c[(c[e>>2]|0)+40>>2]&127](e,c[a+8>>2]|0,(b-d|0)/12|0,d);return}function jF(a,b){a=a|0;b=b|0;var d=0,e=0;d=c[b+76>>2]|0;b=c[b+80>>2]|0;if((d|0)==(b|0))return;e=c[a+4>>2]|0;Qk[c[(c[e>>2]|0)+44>>2]&127](e,c[a+8>>2]|0,b-d>>4,d);return}function kF(a,b){a=a|0;b=b|0;var d=0,e=0;d=c[b+76>>2]|0;b=c[b+80>>2]|0;if((d|0)==(b|0))return;e=c[a+4>>2]|0;Qk[c[(c[e>>2]|0)+56>>2]&127](e,c[a+8>>2]|0,b-d>>4,d);return}function lF(a,b){a=a|0;b=b|0;var d=0,e=0;d=c[b+76>>2]|0;b=c[b+80>>2]|0;if((d|0)==(b|0))return;e=c[a+4>>2]|0;Qk[c[(c[e>>2]|0)+60>>2]&127](e,c[a+8>>2]|0,(b-d|0)/24|0,d);return}function mF(a,b){a=a|0;b=b|0;var d=0,e=0;d=c[b+76>>2]|0;b=c[b+80>>2]|0;if((d|0)==(b|0))return;e=c[a+4>>2]|0;Qk[c[(c[e>>2]|0)+64>>2]&127](e,c[a+8>>2]|0,b-d>>5,d);return}function nF(a,b){a=a|0;b=b|0;return}function oF(a,b){a=a|0;b=b|0;return}function pF(a,b){a=a|0;b=b|0;return}function qF(a,b){a=a|0;b=b|0;return}function rF(a){a=a|0;return}function sF(a){a=a|0;l0a(a);return}function tF(a,b){a=a|0;b=b|0;return}function uF(a,b){a=a|0;b=b|0;var d=0,e=0;d=c[b+76>>2]|0;b=c[b+80>>2]|0;if((d|0)==(b|0))return;e=c[a+4>>2]|0;Qk[c[(c[e>>2]|0)+8>>2]&127](e,c[a+8>>2]|0,b-d|0,d);return}function vF(a,b){a=a|0;b=b|0;var d=0,e=0;d=c[b+76>>2]|0;b=c[b+80>>2]|0;if((d|0)==(b|0))return;e=c[a+4>>2]|0;Qk[c[(c[e>>2]|0)+12>>2]&127](e,c[a+8>>2]|0,b-d>>1,d);return}function wF(a,b){a=a|0;b=b|0;var d=0,e=0;d=c[b+76>>2]|0;b=c[b+80>>2]|0;if((d|0)==(b|0))return;e=c[a+4>>2]|0;Qk[c[(c[e>>2]|0)+16>>2]&127](e,c[a+8>>2]|0,b-d>>2,d);return}function xF(a,b){a=a|0;b=b|0;var d=0,e=0;d=c[b+76>>2]|0;b=c[b+80>>2]|0;if((d|0)==(b|0))return;e=c[a+4>>2]|0;Qk[c[(c[e>>2]|0)+20>>2]&127](e,c[a+8>>2]|0,b-d|0,d);return}function yF(a,b){a=a|0;b=b|0;var d=0,e=0;d=c[b+76>>2]|0;b=c[b+80>>2]|0;if((d|0)==(b|0))return;e=c[a+4>>2]|0;Qk[c[(c[e>>2]|0)+24>>2]&127](e,c[a+8>>2]|0,b-d>>1,d);return}function zF(a,b){a=a|0;b=b|0;var d=0,e=0;d=c[b+76>>2]|0;b=c[b+80>>2]|0;if((d|0)==(b|0))return;e=c[a+4>>2]|0;Qk[c[(c[e>>2]|0)+28>>2]&127](e,c[a+8>>2]|0,b-d>>2,d);return}function AF(a,b){a=a|0;b=b|0;var d=0,e=0;d=c[b+76>>2]|0;b=c[b+80>>2]|0;if((d|0)==(b|0))return;e=c[a+4>>2]|0;Qk[c[(c[e>>2]|0)+32>>2]&127](e,c[a+8>>2]|0,b-d>>2,d);return}function BF(a,b){a=a|0;b=b|0;var d=0,e=0;d=c[b+76>>2]|0;b=c[b+80>>2]|0;if((d|0)==(b|0))return;e=c[a+4>>2]|0;Qk[c[(c[e>>2]|0)+52>>2]&127](e,c[a+8>>2]|0,b-d>>3,d);return}function CF(a,b){a=a|0;b=b|0;return}function DF(a,b){a=a|0;b=b|0;return}function EF(a,b){a=a|0;b=b|0;return}function FF(a,b){a=a|0;b=b|0;return}function GF(a,b){a=a|0;b=b|0;return}function HF(a,b){a=a|0;b=b|0;return}function IF(a,b){a=a|0;b=b|0;return}function JF(a,b){a=a|0;b=b|0;return}function KF(a,b){a=a|0;b=b|0;return}function LF(a,b){a=a|0;b=b|0;return}function MF(a,b){a=a|0;b=b|0;return}function NF(a,b){a=a|0;b=b|0;var d=0,e=0;d=c[b+76>>2]|0;b=c[b+80>>2]|0;if((d|0)==(b|0))return;e=c[a+4>>2]|0;Qk[c[(c[e>>2]|0)+48>>2]&127](e,c[a+8>>2]|0,b-d>>2,d);return}function OF(a,b){a=a|0;b=b|0;return}function PF(a,b){a=a|0;b=b|0;return}function QF(a,b){a=a|0;b=b|0;return}function RF(a,b){a=a|0;b=b|0;return}function SF(a,b){a=a|0;b=b|0;return}function TF(a,b){a=a|0;b=b|0;return}function UF(a,b){a=a|0;b=b|0;var d=0,e=0;d=c[b+76>>2]|0;b=c[b+80>>2]|0;if((d|0)==(b|0))return;e=c[a+4>>2]|0;Qk[c[(c[e>>2]|0)+36>>2]&127](e,c[a+8>>2]|0,b-d>>3,d);return}function VF(a,b){a=a|0;b=b|0;var d=0,e=0;d=c[b+76>>2]|0;b=c[b+80>>2]|0;if((d|0)==(b|0))return;e=c[a+4>>2]|0;Qk[c[(c[e>>2]|0)+40>>2]&127](e,c[a+8>>2]|0,(b-d|0)/12|0,d);return}function WF(a,b){a=a|0;b=b|0;var d=0,e=0;d=c[b+76>>2]|0;b=c[b+80>>2]|0;if((d|0)==(b|0))return;e=c[a+4>>2]|0;Qk[c[(c[e>>2]|0)+44>>2]&127](e,c[a+8>>2]|0,b-d>>4,d);return}function XF(a,b){a=a|0;b=b|0;var d=0,e=0;d=c[b+76>>2]|0;b=c[b+80>>2]|0;if((d|0)==(b|0))return;e=c[a+4>>2]|0;Qk[c[(c[e>>2]|0)+56>>2]&127](e,c[a+8>>2]|0,b-d>>4,d);return}function YF(a,b){a=a|0;b=b|0;var d=0,e=0;d=c[b+76>>2]|0;b=c[b+80>>2]|0;if((d|0)==(b|0))return;e=c[a+4>>2]|0;Qk[c[(c[e>>2]|0)+60>>2]&127](e,c[a+8>>2]|0,(b-d|0)/24|0,d);return}function ZF(a,b){a=a|0;b=b|0;var d=0,e=0;d=c[b+76>>2]|0;b=c[b+80>>2]|0;if((d|0)==(b|0))return;e=c[a+4>>2]|0;Qk[c[(c[e>>2]|0)+64>>2]&127](e,c[a+8>>2]|0,b-d>>5,d);return}function _F(a,b){a=a|0;b=b|0;return}function $F(a,b){a=a|0;b=b|0;return}function aG(a,b){a=a|0;b=b|0;return}function bG(a,b){a=a|0;b=b|0;return}function cG(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;w=l;l=l+16|0;n=w;v=c[d>>2]|0;s=c[v+140>>2]|0;t=b+264|0;u=b+268|0;r=(c[t>>2]|0)==(c[u>>2]|0);i=v+844|0;if(!(a[v+856>>0]|0))eG(i);k=v+892|0;m=v+896|0;c[m>>2]=c[k>>2];a[v+904>>0]=a[v+131>>0]|0;if(!r?(h=c[t>>2]|0,(c[u>>2]|0)!=(h|0)):0){g=0;d=h;do{fG(i,g,c[d+(g<<2)>>2]|0);g=g+1|0;d=c[t>>2]|0}while(g>>>0<(c[u>>2]|0)-d>>2>>>0)}q=b+236|0;d=c[q>>2]|0;a:do if(d|0){switch(c[d+64>>2]|0){case 1:{d=gG(i,d)|0;if(!d)break a;Jk[c[(c[d>>2]|0)+16>>2]&1023](d,0);break a}case 2:break;default:break a}o=gG(i,d)|0;c[n>>2]=o;d=o;do if(o|0){g=c[m>>2]|0;if((g|0)==(c[v+900>>2]|0)){hG(k,n);break}else{c[g>>2]=d;c[m>>2]=(c[m>>2]|0)+4;break}}while(0)}while(0);o=b+240|0;d=c[o>>2]|0;b:do if(d|0){switch(c[d+64>>2]|0){case 1:{d=iG(i,d)|0;if(!d)break b;Jk[c[(c[d>>2]|0)+16>>2]&1023](d,0);break b}case 2:break;default:break b}j=iG(i,d)|0;c[n>>2]=j;d=j;do if(j|0){g=c[m>>2]|0;if((g|0)==(c[v+900>>2]|0)){hG(k,n);break}else{c[g>>2]=d;c[m>>2]=(c[m>>2]|0)+4;break}}while(0)}while(0);j=b+244|0;d=c[j>>2]|0;c:do if(d|0){switch(c[d+64>>2]|0){case 1:{d=jG(i,d)|0;if(!d)break c;Jk[c[(c[d>>2]|0)+16>>2]&1023](d,0);break c}case 2:break;default:break c}h=jG(i,d)|0;c[n>>2]=h;d=h;do if(h|0){g=c[m>>2]|0;if((g|0)==(c[v+900>>2]|0)){hG(k,n);break}else{c[g>>2]=d;c[m>>2]=(c[m>>2]|0)+4;break}}while(0)}while(0);h=b+248|0;d=c[h>>2]|0;d:do if(d|0){switch(c[d+64>>2]|0){case 1:{d=kG(i,d)|0;if(!d)break d;Jk[c[(c[d>>2]|0)+16>>2]&1023](d,0);break d}case 2:break;default:break d}i=kG(i,d)|0;c[n>>2]=i;d=i;do if(i|0){g=c[m>>2]|0;if((g|0)==(c[v+900>>2]|0)){hG(k,n);break}else{c[g>>2]=d;c[m>>2]=(c[m>>2]|0)+4;break}}while(0)}while(0);if(!((a[v+761>>0]|0)==0?!((a[b+184>>0]|0)!=0&(a[v+759>>0]|0)!=0):0))p=45;if((p|0)==45?(a[s+104>>0]|0)==0:0){l=w;return}m=s+72|0;n=s+84|0;d=c[m>>2]|0;k=c[n>>2]|0;c[m>>2]=k;c[n>>2]=d;m=s+76|0;p=s+88|0;g=c[m>>2]|0;c[p>>2]=g;y=s+80|0;i=s+92|0;x=c[y>>2]|0;c[y>>2]=c[i>>2];c[i>>2]=x;c[m>>2]=k;if((d|0)!=(g|0))do{a[(c[d>>2]|0)+20>>0]=0;d=d+4|0}while((d|0)!=(g|0));d=c[b+232>>2]|0;if(d|0)gja(s,c[s+28>>2]|0,v,d);d=c[q>>2]|0;if(d|0?(c[d+64>>2]|0)==4:0)gja(s,c[s+32>>2]|0,v,d);d=c[o>>2]|0;if(d|0?(c[d+64>>2]|0)==4:0)gja(s,c[s+36>>2]|0,v,d);d=c[j>>2]|0;if(d|0?(c[d+64>>2]|0)==4:0)gja(s,c[s+40>>2]|0,v,d);d=c[h>>2]|0;if(d|0?(c[d+64>>2]|0)==4:0)gja(s,c[s+44>>2]|0,v,d);m=b+252|0;j=b+256|0;g=c[j>>2]|0;d=c[m>>2]|0;if((g|0)!=(d|0)){k=s+48|0;i=0;do{h=c[d+(i<<2)>>2]|0;if(h){gja(s,c[(c[k>>2]|0)+(i<<2)>>2]|0,v,h);d=c[m>>2]|0;g=c[j>>2]|0}i=i+1|0}while(i>>>0<g-d>>2>>>0)}if(!r?(e=c[u>>2]|0,f=c[t>>2]|0,(e|0)!=(f|0)):0){h=s+60|0;g=0;while(1){d=c[f+(g<<2)>>2]|0;do if(!d)d=f;else{if((c[d+64>>2]|0)!=4){d=f;break}gja(s,c[(c[h>>2]|0)+(g<<2)>>2]|0,v,d);d=c[t>>2]|0;e=c[u>>2]|0}while(0);g=g+1|0;if(g>>>0>=e-d>>2>>>0)break;else f=d}}d=c[n>>2]|0;e=c[p>>2]|0;if((d|0)!=(e|0)){do{f=c[d>>2]|0;if(!(a[f+20>>0]|0)){Jk[c[(c[f>>2]|0)+44>>2]&1023](f,v);c[f+12>>2]=0;c[f+16>>2]=-1;e=c[p>>2]|0}d=d+4|0}while((d|0)!=(e|0));d=c[n>>2]|0}c[p>>2]=d;l=w;return}function dG(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;l=c[d>>2]|0;if(!(a[b+182>>0]|0))d=0;else d=(a[b+183>>0]|0)!=0;if(!(a[l+760>>0]|0))k=d&(a[l+758>>0]|0)!=0;else k=1;g=l+892|0;h=l+896|0;j=b+220|0;i=b+224|0;f=c[j>>2]|0;d=f;if((c[i>>2]|0)==(f|0))return;e=c[g>>2]|0;f=c[h>>2]|0;if((e|0)==(f|0)){b=0;do{h=c[d+(b<<2)>>2]|0;Nk[c[(c[h>>2]|0)+200>>2]&255](h,l,k);b=b+1|0;d=c[j>>2]|0}while((b|0)!=((c[i>>2]|0)-d>>2|0));return}b=0;while(1){if((e|0)!=(f|0)){d=e;do{f=c[d>>2]|0;Jk[c[(c[f>>2]|0)+16>>2]&1023](f,b);d=d+4|0}while((d|0)!=(c[h>>2]|0));d=c[j>>2]|0}d=c[d+(b<<2)>>2]|0;Nk[c[(c[d>>2]|0)+200>>2]&255](d,l,k);b=b+1|0;d=c[j>>2]|0;if((b|0)==((c[i>>2]|0)-d>>2|0))break;e=c[g>>2]|0;f=c[h>>2]|0}return}function eG(b){b=b|0;var d=0,e=0,f=0,g=0;d=b+12|0;if(a[d>>0]|0)return;a[d>>0]=1;g=j0a(12)|0;c[g>>2]=0;c[g+4>>2]=0;c[g+8>>2]=0;c[b+20>>2]=g;g=j0a(12)|0;c[g>>2]=0;c[g+4>>2]=0;c[g+8>>2]=0;c[b+24>>2]=g;g=j0a(12)|0;c[g>>2]=0;c[g+4>>2]=0;c[g+8>>2]=0;c[b+28>>2]=g;g=j0a(12)|0;c[g>>2]=0;c[g+4>>2]=0;c[g+8>>2]=0;c[b+32>>2]=g;g=b+48|0;d=b+52|0;b=c[g>>2]|0;e=(c[d>>2]|0)-b|0;f=e>>2;if(f>>>0<5){sG(g,5-f|0);return}if((e|0)==20)return;c[d>>2]=b+20;return}function fG(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;j=l;l=l+16|0;g=j;if(!d){l=j;return}switch(c[d+64>>2]|0){case 1:{f=a+36|0;e=c[f>>2]|0;if((c[a+40>>2]|0)-e>>2>>>0<=b>>>0){lG(a,b);e=c[f>>2]|0}a=c[e+(b<<2)>>2]|0;e=c[d+52>>2]|0;f=c[a>>2]|0;if(e>>>0>=(c[a+4>>2]|0)-f>>2>>>0){l=j;return}e=c[f+(e<<2)>>2]|0;if(!e){l=j;return}a=c[(c[e>>2]|0)+12>>2]|0;d=gk[c[(c[d>>2]|0)+164>>2]&1023](d)|0;Jk[a&1023](e,d);Jk[c[(c[e>>2]|0)+16>>2]&1023](e,0);l=j;return}case 2:{f=a+36|0;e=c[f>>2]|0;if((c[a+40>>2]|0)-e>>2>>>0<=b>>>0){lG(a,b);e=c[f>>2]|0}b=c[e+(b<<2)>>2]|0;e=c[d+52>>2]|0;f=c[b>>2]|0;do if(e>>>0<(c[b+4>>2]|0)-f>>2>>>0?(h=c[f+(e<<2)>>2]|0,(h|0)!=0):0){f=c[(c[h>>2]|0)+12>>2]|0;e=gk[c[(c[d>>2]|0)+164>>2]&1023](d)|0;Jk[f&1023](h,e);c[g>>2]=h;e=a+52|0;f=c[e>>2]|0;if((f|0)==(c[a+56>>2]|0)){hG(a+48|0,g);break}else{c[f>>2]=h;c[e>>2]=(c[e>>2]|0)+4;break}}else i=14;while(0);if((i|0)==14)c[g>>2]=0;l=j;return}default:{l=j;return}}}function gG(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;if(!(a[b+60>>0]|0)){e=c[b+20>>2]|0;if(!d){d=0;return d|0}b=c[d+52>>2]|0;f=c[e>>2]|0;if(b>>>0>=(c[e+4>>2]|0)-f>>2>>>0){d=0;return d|0}e=c[f+(b<<2)>>2]|0;if(!e){d=0;return d|0}g=c[(c[e>>2]|0)+12>>2]|0;d=gk[c[(c[d>>2]|0)+164>>2]&1023](d)|0;Jk[g&1023](e,d);d=e;return d|0}g=c[(c[b+16>>2]|0)+412>>2]|0;f=b+36|0;e=c[f>>2]|0;if((c[b+40>>2]|0)-e>>2>>>0<=g>>>0){lG(b,g);e=c[f>>2]|0}e=c[e+(g<<2)>>2]|0;if(!d){d=0;return d|0}b=c[d+52>>2]|0;f=c[e>>2]|0;if(b>>>0>=(c[e+4>>2]|0)-f>>2>>>0){d=0;return d|0}e=c[f+(b<<2)>>2]|0;if(!e){d=0;return d|0}g=c[(c[e>>2]|0)+12>>2]|0;d=gk[c[(c[d>>2]|0)+164>>2]&1023](d)|0;Jk[g&1023](e,d);d=e;return d|0}function hG(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;i=a+4|0;j=c[a>>2]|0;k=(c[i>>2]|0)-j|0;g=k>>2;d=g+1|0;if(d>>>0>1073741823)g1a(a);l=a+8|0;f=(c[l>>2]|0)-j|0;h=f>>1;h=f>>2>>>0<536870911?(h>>>0<d>>>0?d:h):1073741823;do if(h)if(h>>>0>1073741823){l=db(8)|0;p0a(l,183738);c[l>>2]=110936;hb(l|0,65952,1066)}else{f=j0a(h<<2)|0;e=f;break}else{e=0;f=0}while(0);d=e+(g<<2)|0;c[d>>2]=c[b>>2];if((k|0)>0)x2a(f|0,j|0,k|0)|0;c[a>>2]=e;c[i>>2]=d+4;c[l>>2]=e+(h<<2);if(!j)return;l0a(j);return}function iG(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;if(!(a[b+60>>0]|0)){e=c[b+24>>2]|0;if(!d){d=0;return d|0}b=c[d+52>>2]|0;f=c[e>>2]|0;if(b>>>0>=(c[e+4>>2]|0)-f>>2>>>0){d=0;return d|0}e=c[f+(b<<2)>>2]|0;if(!e){d=0;return d|0}g=c[(c[e>>2]|0)+12>>2]|0;d=gk[c[(c[d>>2]|0)+164>>2]&1023](d)|0;Jk[g&1023](e,d);d=e;return d|0}g=c[(c[b+16>>2]|0)+452>>2]|0;f=b+36|0;e=c[f>>2]|0;if((c[b+40>>2]|0)-e>>2>>>0<=g>>>0){lG(b,g);e=c[f>>2]|0}e=c[e+(g<<2)>>2]|0;if(!d){d=0;return d|0}b=c[d+52>>2]|0;f=c[e>>2]|0;if(b>>>0>=(c[e+4>>2]|0)-f>>2>>>0){d=0;return d|0}e=c[f+(b<<2)>>2]|0;if(!e){d=0;return d|0}g=c[(c[e>>2]|0)+12>>2]|0;d=gk[c[(c[d>>2]|0)+164>>2]&1023](d)|0;Jk[g&1023](e,d);d=e;return d|0}function jG(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;if(!(a[b+60>>0]|0)){e=c[b+28>>2]|0;if(!d){d=0;return d|0}b=c[d+52>>2]|0;f=c[e>>2]|0;if(b>>>0>=(c[e+4>>2]|0)-f>>2>>>0){d=0;return d|0}e=c[f+(b<<2)>>2]|0;if(!e){d=0;return d|0}g=c[(c[e>>2]|0)+12>>2]|0;d=gk[c[(c[d>>2]|0)+164>>2]&1023](d)|0;Jk[g&1023](e,d);d=e;return d|0}g=c[(c[b+16>>2]|0)+492>>2]|0;f=b+36|0;e=c[f>>2]|0;if((c[b+40>>2]|0)-e>>2>>>0<=g>>>0){lG(b,g);e=c[f>>2]|0}e=c[e+(g<<2)>>2]|0;if(!d){d=0;return d|0}b=c[d+52>>2]|0;f=c[e>>2]|0;if(b>>>0>=(c[e+4>>2]|0)-f>>2>>>0){d=0;return d|0}e=c[f+(b<<2)>>2]|0;if(!e){d=0;return d|0}g=c[(c[e>>2]|0)+12>>2]|0;d=gk[c[(c[d>>2]|0)+164>>2]&1023](d)|0;Jk[g&1023](e,d);d=e;return d|0}function kG(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;if(!(a[b+60>>0]|0)){e=c[b+32>>2]|0;if(!d){d=0;return d|0}b=c[d+52>>2]|0;f=c[e>>2]|0;if(b>>>0>=(c[e+4>>2]|0)-f>>2>>>0){d=0;return d|0}e=c[f+(b<<2)>>2]|0;if(!e){d=0;return d|0}g=c[(c[e>>2]|0)+12>>2]|0;d=gk[c[(c[d>>2]|0)+164>>2]&1023](d)|0;Jk[g&1023](e,d);d=e;return d|0}g=c[(c[b+16>>2]|0)+532>>2]|0;f=b+36|0;e=c[f>>2]|0;if((c[b+40>>2]|0)-e>>2>>>0<=g>>>0){lG(b,g);e=c[f>>2]|0}e=c[e+(g<<2)>>2]|0;if(!d){d=0;return d|0}b=c[d+52>>2]|0;f=c[e>>2]|0;if(b>>>0>=(c[e+4>>2]|0)-f>>2>>>0){d=0;return d|0}e=c[f+(b<<2)>>2]|0;if(!e){d=0;return d|0}g=c[(c[e>>2]|0)+12>>2]|0;d=gk[c[(c[d>>2]|0)+164>>2]&1023](d)|0;Jk[g&1023](e,d);d=e;return d|0}function lG(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0;o=l;l=l+16|0;k=o;d=c[(c[a+16>>2]|0)+832>>2]|0;m=a+36|0;n=a+40|0;e=(c[n>>2]|0)-(c[m>>2]|0)>>2;if(e>>>0>b>>>0){l=o;return}g=a+44|0;h=d+272|0;i=d+296|0;j=d+320|0;f=d+376|0;a=e;do{d=j0a(12)|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[k>>2]=d;e=c[n>>2]|0;if(e>>>0<(c[g>>2]|0)>>>0){c[e>>2]=d;c[n>>2]=(c[n>>2]|0)+4}else mG(m,k);e=c[(c[m>>2]|0)+(a<<2)>>2]|0;nG(e,a,7,c[h>>2]|0,1);nG(e,a,27,c[i>>2]|0,2);nG(e,a,28,c[j>>2]|0,3);nG(e,a,29,c[f>>2]|0,4);a=a+1|0}while(a>>>0<=b>>>0);l=o;return}function mG(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;i=a+4|0;j=c[a>>2]|0;k=(c[i>>2]|0)-j|0;g=k>>2;d=g+1|0;if(d>>>0>1073741823)g1a(a);l=a+8|0;f=(c[l>>2]|0)-j|0;h=f>>1;h=f>>2>>>0<536870911?(h>>>0<d>>>0?d:h):1073741823;do if(h)if(h>>>0>1073741823){l=db(8)|0;p0a(l,183738);c[l>>2]=110936;hb(l|0,65952,1066)}else{f=j0a(h<<2)|0;e=f;break}else{e=0;f=0}while(0);d=e+(g<<2)|0;c[d>>2]=c[b>>2];if((k|0)>0)x2a(f|0,j|0,k|0)|0;c[a>>2]=e;c[i>>2]=d+4;c[l>>2]=e+(h<<2);if(!j)return;l0a(j);return}function nG(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0;k=a+4|0;g=c[k>>2]|0;i=c[a>>2]|0;j=g-i>>2;do if(j>>>0<=d>>>0){h=d+1|0;if(h>>>0>j>>>0){oG(a,h-j|0);break}if(h>>>0<j>>>0){i=i+(h<<2)|0;if((i|0)!=(g|0))do{g=g+-4|0;h=c[g>>2]|0;if(h|0?(l=h+8|0,j=c[l>>2]|0,c[l>>2]=j-1,(j|0)==1):0)UU(h,1,1);c[g>>2]=0}while((g|0)!=(i|0));c[k>>2]=i}}while(0);if(!e)i=0;else{i=j0a(28)|0;Tha(i);c[i>>2]=74452;c[i+12>>2]=e;c[i+16>>2]=b;c[i+20>>2]=f;c[i+24>>2]=0}g=(c[a>>2]|0)+(d<<2)|0;h=c[g>>2]|0;if((h|0)==(i|0))return;c[g>>2]=i;if(i|0){l=i+8|0;c[l>>2]=(c[l>>2]|0)+1}if(!h)return;d=h+8|0;l=c[d>>2]|0;c[d>>2]=l-1;if((l|0)!=1)return;UU(h,1,1);return}function oG(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;m=a+8|0;f=c[m>>2]|0;n=a+4|0;e=c[n>>2]|0;d=e;if(f-e>>2>>>0>=b>>>0){z2a(e|0,0,b<<2|0)|0;c[n>>2]=d+(b<<2);return}j=c[a>>2]|0;h=e-j>>2;e=h+b|0;g=j;if(e>>>0>1073741823)g1a(a);l=f-j|0;f=l>>1;f=l>>2>>>0<536870911?(f>>>0<e>>>0?e:f):1073741823;do if(f)if(f>>>0>1073741823){n=db(8)|0;p0a(n,183738);c[n>>2]=110936;hb(n|0,65952,1066)}else{i=j0a(f<<2)|0;break}else i=0;while(0);e=i+(h<<2)|0;l=i+(f<<2)|0;z2a(e|0,0,b<<2|0)|0;k=e+(b<<2)|0;if((d|0)==(g|0))f=j;else{b=h+-1-((d+-4+(0-j)|0)>>>2)|0;while(1){d=d+-4|0;f=c[d>>2]|0;c[e+-4>>2]=f;if(f|0){j=f+8|0;c[j>>2]=(c[j>>2]|0)+1}if((d|0)==(g|0))break;else e=e+-4|0}f=c[a>>2]|0;e=i+(b<<2)|0;g=f;d=c[n>>2]|0}c[a>>2]=e;c[n>>2]=k;c[m>>2]=l;if((d|0)!=(g|0))do{d=d+-4|0;e=c[d>>2]|0;if(e|0?(m=e+8|0,n=c[m>>2]|0,c[m>>2]=n-1,(n|0)==1):0)UU(e,1,1);c[d>>2]=0}while((d|0)!=(g|0));if(!f)return;l0a(f);return}function pG(a){a=a|0;SU(a);l0a(a);return}function qG(a,b){a=a|0;b=b|0;c[a+24>>2]=b;return}function rG(a,b){a=a|0;b=b|0;b=(c[a+24>>2]|0)+((N(c[a+20>>2]|0,b)|0)<<2)|0;Jk[c[a+12>>2]&1023](c[a+16>>2]|0,b);return}function sG(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;k=a+8|0;e=c[k>>2]|0;l=a+4|0;d=c[l>>2]|0;if(e-d>>2>>>0>=b>>>0){do{c[d>>2]=0;d=(c[l>>2]|0)+4|0;c[l>>2]=d;b=b+-1|0}while((b|0)!=0);return}j=c[a>>2]|0;g=d-j|0;h=g>>2;i=h+b|0;if(i>>>0>1073741823)g1a(a);e=e-j|0;f=e>>1;f=e>>2>>>0<536870911?(f>>>0<i>>>0?i:f):1073741823;do if(f)if(f>>>0>1073741823){l=db(8)|0;p0a(l,183738);c[l>>2]=110936;hb(l|0,65952,1066)}else{e=j0a(f<<2)|0;d=e;break}else{d=0;e=0}while(0);z2a(d+(h<<2)|0,0,b<<2|0)|0;if((g|0)>0)x2a(e|0,j|0,g|0)|0;c[a>>2]=d;c[l>>2]=d+(i<<2);c[k>>2]=d+(f<<2);if(!j)return;l0a(j);return}function tG(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;A=l;l=l+32|0;y=A;a[b+36>>0]=0;w=b+40|0;r=b+52|0;f=c[r>>2]|0;vG(w,(c[f+52>>2]|0)-(c[f+48>>2]|0)>>2);f=c[r>>2]|0;x=b+44|0;if((c[f+52>>2]|0)==(c[f+48>>2]|0)){i=0;d=0}else{j=y+12|0;k=y+4|0;m=y+8|0;n=y+16|0;o=b+48|0;g=0;e=0;d=0;do{i=c[(c[f+48>>2]|0)+(d<<2)>>2]|0;f=c[x>>2]|0;v=c[w>>2]|0;h=v;do if(d>>>0<((f-v|0)/20|0)>>>0){f=h+(d*20|0)+16|0;if((!g?(c[f>>2]|0)==(i|0):0)?(p=h+(d*20|0)+8|0,v=c[p>>2]|0,(v|0)==(gk[c[(c[i>>2]|0)+168>>2]&1023](i)|0)):0){e=(c[p>>2]|0)+e|0;if(!(e&3)){g=0;break}e=e+4&-4;g=0;break}v=h+(d*20|0)+12|0;B=h+(d*20|0)+8|0;u=(c[B>>2]|0)+(c[v>>2]|0)|0;c[h+(d*20|0)>>2]=0;c[h+(d*20|0)+4>>2]=16777215;c[v>>2]=e;v=gk[c[(c[i>>2]|0)+168>>2]&1023](i)|0;c[B>>2]=v;c[f>>2]=i;v=v+e|0;e=v;g=g|(((u&3|0)==0?u:u+4&-4)|0)!=(v|0)}else{c[y>>2]=0;c[y+4>>2]=0;c[y+8>>2]=0;c[y+12>>2]=0;c[y+16>>2]=0;c[j>>2]=e;c[k>>2]=16777215;if(!i)h=0;else{h=gk[c[(c[i>>2]|0)+168>>2]&1023](i)|0;f=c[x>>2]|0}c[m>>2]=h;c[n>>2]=i;e=h+e|0;if((f|0)==(c[o>>2]|0))wG(w,y);else{c[f>>2]=c[y>>2];c[f+4>>2]=c[k>>2];c[f+8>>2]=h;c[f+12>>2]=c[j>>2];c[f+16>>2]=i;c[x>>2]=f+20}e=(e&3|0)==0?e:e+4&-4}while(0);d=d+1|0;f=c[r>>2]|0}while(d>>>0<(c[f+52>>2]|0)-(c[f+48>>2]|0)>>2>>>0);i=e}f=c[x>>2]|0;e=c[w>>2]|0;if(d>>>0<((f-e|0)/20|0)>>>0?(q=e+(d*20|0)|0,(q|0)!=(f|0)):0)c[x>>2]=q;u=b+72|0;v=b+20|0;g=b+16|0;Jk[c[(c[u>>2]|0)+724>>2]&1023](c[v>>2]|0,c[g>>2]|0);g=c[g>>2]|0;d=c[r>>2]|0;e=d+12|0;f=c[(c[u>>2]|0)+1748>>2]|0;if(f|0?(t=a[e+11>>0]|0,s=t<<24>>24<0,t=s?c[d+16>>2]|0:t&255,t|0):0)Qk[f&127](33504,g,t,s?c[e>>2]|0:e);m=b+28|0;d=c[m>>2]|0;if(i>>>0>d>>>0){if((a[223632]|0)==0?g2a(223632)|0:0)kr(225352);if((c[56338]|0)>3){B=mr(QSa(mr(lr(4)|0,135691,13)|0,i)|0,135705,17)|0;B=QSa(B,c[m>>2]|0)|0;BSa(y,B+(c[(c[B>>2]|0)+-12>>2]|0)|0);t=cUa(y,230580)|0;t=kk[c[(c[t>>2]|0)+28>>2]&511](t,10)|0;dUa(y);VSa(B,t)|0;HSa(B)|0}d=c[m>>2]|0;c[m>>2]=i;g=b+56|0;h=c[g>>2]|0;if(!h)d=i;else{k=i-d|0;i=uu(c[h+24>>2]|0,v)|0;if((i|0)!=(h|0)&(i|0)!=0){j=h+44|0;c[j>>2]=(c[j>>2]|0)+-1;j=b+60|0;e=c[j>>2]|0;f=b+64|0;d=c[f>>2]|0;if(!e)c[h+72>>2]=d;else{c[e+64>>2]=d;d=c[f>>2]|0}c[((d|0)==0?h+76|0:d+60|0)>>2]=e;c[f>>2]=0;c[j>>2]=0;c[g>>2]=i;d=i+44|0;c[d>>2]=(c[d>>2]|0)+1;d=c[i+24>>2]|0;c[b+68>>2]=c[d+56>>2];f=i+76|0;e=c[f>>2]|0;if(e|0)c[e+64>>2]=b;c[j>>2]=e;e=i+72|0;if(!(c[e>>2]|0))c[e>>2]=b;c[f>>2]=b}else d=c[(c[g>>2]|0)+24>>2]|0;d=d+36|0;c[d>>2]=k+(c[d>>2]|0);d=c[m>>2]|0}}e=b+32|0;if((c[e>>2]|0)==(d|0))q=0;else{c[e>>2]=d;if((a[223632]|0)==0?g2a(223632)|0:0)kr(225352);if((c[56338]|0)>3){B=mr(lr(4)|0,135723,50)|0;B=QSa(B,c[e>>2]|0)|0;BSa(y,B+(c[(c[B>>2]|0)+-12>>2]|0)|0);t=cUa(y,230580)|0;t=kk[c[(c[t>>2]|0)+28>>2]&511](t,10)|0;dUa(y);VSa(B,t)|0;HSa(B)|0}Qk[c[(c[u>>2]|0)+728>>2]&127](c[v>>2]|0,c[m>>2]|0,0,c[b+24>>2]|0);q=1}d=c[w>>2]|0;if((d|0)==(c[x>>2]|0)){l=A;return}k=y+4|0;m=y+16|0;n=y+20|0;o=y+8|0;p=y+12|0;do{h=d+16|0;g=c[h>>2]|0;do if(g|0){if(!q){e=d+4|0;f=c[g+32>>2]|0;if((c[e>>2]|0)==(f|0))break}else{e=d+4|0;f=c[g+32>>2]|0}c[d>>2]=0;c[e>>2]=f;e=gk[c[(c[g>>2]|0)+128>>2]&1023](g)|0;if((e|0?(z=c[e+84>>2]|0,z|0):0)?(z|0)!=(c[e+72>>2]|0):0){f=c[d+12>>2]|0;c[y>>2]=e;c[k>>2]=0;c[k+4>>2]=0;c[k+8>>2]=0;c[k+12>>2]=0;c[k+16>>2]=0;xG(y);e=c[m>>2]|0;a:do if(e|0){b:while(1){j=c[n>>2]|0;Qk[c[(c[u>>2]|0)+732>>2]&127](c[v>>2]|0,f,j,e);i=c[y>>2]|0;if(!i){e=64;break}e=c[i+84>>2]|0;if(!e){e=64;break}if((e|0)==(c[i+72>>2]|0)){e=64;break}w=c[i+116>>2]|0;B=c[i+120>>2]|0;e=(c[k>>2]|0)+1|0;c[k>>2]=e;e=(e|0)>=(c[i+76>>2]|0);g=B;h=w;do if((w|0)==(B|0)){if(!e)break;c[k>>2]=0;B=(c[o>>2]|0)+1|0;c[o>>2]=B;if((B|0)>=(c[i+80>>2]|0)){e=72;break b}}else{if(!e)break;c[k>>2]=0;B=(c[o>>2]|0)+1|0;c[o>>2]=B;if((B|0)<(c[i+80>>2]|0))break;c[o>>2]=0;B=(c[p>>2]|0)+1|0;c[p>>2]=B;if(B>>>0>=((g-h>>2)+1|0)>>>0){e=69;break b}}while(0);xG(y);e=c[m>>2]|0;if(!e)break a;else f=j+f|0}if((e|0)==64){c[m>>2]=0;c[n>>2]=0;break}else if((e|0)==69){c[m>>2]=0;c[n>>2]=0;break}else if((e|0)==72){c[m>>2]=0;c[n>>2]=0;break}}while(0);break}s=c[(c[u>>2]|0)+732>>2]|0;t=c[v>>2]|0;b=c[d+12>>2]|0;w=c[d+8>>2]|0;B=c[h>>2]|0;B=gk[c[(c[B>>2]|0)+164>>2]&1023](B)|0;Qk[s&127](t,b,w,B)}while(0);d=d+20|0}while((d|0)!=(c[x>>2]|0));l=A;return}function uG(a,b){a=a|0;b=b|0;if(!b)return;else{uG(a,c[b>>2]|0);uG(a,c[b+4>>2]|0);l0a(b);return}}function vG(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;i=a+8|0;d=c[a>>2]|0;f=d;if((((c[i>>2]|0)-d|0)/20|0)>>>0>=b>>>0)return;j=a+4|0;if(b>>>0>214748364){j=db(8)|0;p0a(j,183738);c[j>>2]=110936;hb(j|0,65952,1066)}k=c[j>>2]|0;g=j0a(b*20|0)|0;e=g+(((k-d|0)/20|0)*20|0)|0;h=e;g=g+(b*20|0)|0;b=k;if((b|0)==(f|0))b=h;else{d=e;do{k=b;b=b+-20|0;c[d+-20>>2]=c[b>>2];c[d+-16>>2]=c[k+-16>>2];c[d+-12>>2]=c[k+-12>>2];c[d+-8>>2]=c[k+-8>>2];c[d+-4>>2]=c[k+-4>>2];d=d+-20|0}while((b|0)!=(f|0));b=d;d=c[a>>2]|0}c[a>>2]=b;c[j>>2]=h;c[i>>2]=g;if(!d)return;l0a(d);return}function wG(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;m=a+4|0;i=c[m>>2]|0;d=c[a>>2]|0;h=(i-d|0)/20|0;e=h+1|0;k=d;if(e>>>0>214748364)g1a(a);l=a+8|0;j=((c[l>>2]|0)-d|0)/20|0;f=j<<1;f=j>>>0<107374182?(f>>>0<e>>>0?e:f):214748364;do if(f)if(f>>>0>214748364){m=db(8)|0;p0a(m,183738);c[m>>2]=110936;hb(m|0,65952,1066)}else{g=j0a(f*20|0)|0;break}else g=0;while(0);e=g+(h*20|0)|0;j=g+(f*20|0)|0;c[e>>2]=c[b>>2];c[g+(h*20|0)+4>>2]=c[b+4>>2];c[g+(h*20|0)+8>>2]=c[b+8>>2];c[g+(h*20|0)+12>>2]=c[b+12>>2];c[g+(h*20|0)+16>>2]=c[b+16>>2];f=e+20|0;if((i|0)!=(k|0)){d=i;do{i=d;d=d+-20|0;c[e+-20>>2]=c[d>>2];c[e+-16>>2]=c[i+-16>>2];c[e+-12>>2]=c[i+-12>>2];c[e+-8>>2]=c[i+-8>>2];c[e+-4>>2]=c[i+-4>>2];e=e+-20|0}while((d|0)!=(k|0));d=c[a>>2]|0}c[a>>2]=e;c[m>>2]=f;c[l>>2]=j;if(!d)return;l0a(d);return}function xG(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;d=c[a>>2]|0;if(!d){c[a+16>>2]=0;l=0;a=a+20|0;c[a>>2]=l;return}i=d+84|0;h=c[i>>2]|0;if(h|0?(j=d+72|0,b=c[j>>2]|0,(h|0)!=(b|0)):0){f=c[d+116>>2]|0;g=c[d+120>>2]|0;if((f|0)!=(g|0)){e=c[a+12>>2]|0;if(e>>>0>=((g-f>>2)+1|0)>>>0){c[a+16>>2]=0;l=0;a=a+20|0;c[a>>2]=l;return}if(!e)b=0;else b=c[f+(e+-1<<2)>>2]|0;j=(c[d+112>>2]|0)+b|0;g=h>>e;k=c[d+76>>2]>>e;l=c[d+100>>2]|0;g=N(zG(c[d+92>>2]|0,c[d+96>>2]|0)|0,(g|0)==0?1:g)|0;i=(l|0)==0?8:l<<3;h=(g|0)/(i|0)|0;l=N(h+((g-(N(h,i)|0)|0)!=0&1)|0,l)|0;j=j+(N(l,c[a+4>>2]|0)|0)|0;c[a+16>>2]=j+(N(N(c[a+8>>2]|0,(k|0)==0?1:k)|0,l)|0);a=a+20|0;c[a>>2]=l;return}g=c[a+8>>2]|0;if((g|0)<(c[d+80>>2]|0)?(k=c[a+4>>2]|0,l=d+76|0,(k|0)<(c[l>>2]|0)):0){h=c[d+112>>2]|0;if(!h)e=0;else{e=d+92|0;f=d+96|0;zG(c[e>>2]|0,c[f>>2]|0)|0;b=c[i>>2]|0;if(!b)b=c[j>>2]|0;i=d+100|0;n=c[i>>2]|0;m=N(zG(c[e>>2]|0,c[f>>2]|0)|0,b)|0;d=(n|0)==0?8:n<<3;b=(m|0)/(d|0)|0;d=h+(N(N(n,k)|0,b+((m-(N(b,d)|0)|0)!=0&1)|0)|0)|0;j=c[j>>2]|0;b=c[i>>2]|0;j=N(zG(c[e>>2]|0,c[f>>2]|0)|0,j)|0;e=(b|0)==0?8:b<<3;k=(j|0)/(e|0)|0;e=k+((j-(N(k,e)|0)|0)!=0&1)|0;e=d+(N(N(N(b,g)|0,c[l>>2]|0)|0,e)|0)|0;b=c[a>>2]|0;d=b;b=c[b+72>>2]|0}c[a+16>>2]=e;m=c[d+100>>2]|0;k=N(zG(c[d+92>>2]|0,c[d+96>>2]|0)|0,b)|0;n=(m|0)==0?8:m<<3;l=(k|0)/(n|0)|0;m=N(l+((k-(N(l,n)|0)|0)!=0&1)|0,m)|0;n=a+20|0;c[n>>2]=m;return}c[a+16>>2]=0;m=0;n=a+20|0;c[n>>2]=m;return}c[a+16>>2]=c[d+112>>2];m=yG(d)|0;n=a+20|0;c[n>>2]=m;return}function yG(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;k=a+116|0;b=c[k>>2]|0;l=a+120|0;d=c[l>>2]|0;f=c[a+72>>2]|0;if((b|0)==(d|0)){k=c[a+100>>2]|0;i=N(zG(c[a+92>>2]|0,c[a+96>>2]|0)|0,f)|0;l=(k|0)==0?8:k<<3;j=(i|0)/(l|0)|0;l=j+((i-(N(j,l)|0)|0)!=0&1)|0;k=N(c[a+76>>2]|0,k)|0;l=N(N(k,c[a+80>>2]|0)|0,l)|0;return l|0}if((d-b|0)==-4){l=0;return l|0}h=a+92|0;i=a+96|0;j=a+100|0;b=0;g=c[a+80>>2]|0;e=c[a+76>>2]|0;d=f;a=0;while(1){b=(DG(d,e,g,c[h>>2]|0,c[i>>2]|0,c[j>>2]|0,1,1)|0)+b|0;a=a+1|0;if(a>>>0>=(((c[l>>2]|0)-(c[k>>2]|0)>>2)+1|0)>>>0)break;else{g=(g|0)<2?1:g>>1;e=(e|0)<2?1:e>>1;d=(d|0)<2?1:d>>1}}return b|0}function zG(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;k=l;l=l+16|0;j=k+12|0;i=k;a:do switch(b|0){case 37489:case 37488:case 37495:case 37494:case 37493:case 37492:case 36196:case 35842:case 35840:case 36283:case 36284:case 33777:case 33776:{e=4;break}case 33778:{e=8;break}case 33779:{e=8;break}case 36286:{e=8;break}case 36285:{e=8;break}case 35841:{e=2;break}case 35843:{e=2;break}case 37496:{e=8;break}case 37497:{e=8;break}case 37490:{e=8;break}case 37491:{e=8;break}default:{if((b+-34025|0)>>>0<6){if((a[223632]|0)==0?g2a(223632)|0:0)kr(225352);if((c[56338]|0)<=1){e=0;break a}e=mr(QSa(mr(lr(2)|0,135774,95)|0,b)|0,154801,14)|0;BSa(j,e+(c[(c[e>>2]|0)+-12>>2]|0)|0);i=cUa(j,230580)|0;i=kk[c[(c[i>>2]|0)+28>>2]&511](i,10)|0;dUa(j);VSa(e,i)|0;HSa(e)|0;e=0;break a}do switch(b|0){case 32842:case 32831:{e=4;break a}case 37853:case 37852:case 37851:case 37850:case 37849:case 37848:case 37847:case 37846:case 37845:case 37844:case 37843:case 37842:case 37841:case 37840:case 37821:case 37820:case 37819:case 37818:case 37817:case 37816:case 37815:case 37814:case 37813:case 37812:case 37811:case 37810:case 37809:case 37808:{AG(i,b);g=i+4|0;h=N(c[g>>2]|0,c[i>>2]|0)|0;d=BG(b,0)|0;e=(d>>>0)/(h>>>0)|0;b=(d|0)==(N(e,h)|0);if((a[223632]|0)==0?g2a(223632)|0:0)kr(225352);f=(c[56338]|0)>1;if(b){if(f){i=mr(QSa(mr(lr(2)|0,135870,61)|0,e)|0,135932,89)|0;BSa(j,i+(c[(c[i>>2]|0)+-12>>2]|0)|0);h=cUa(j,230580)|0;h=kk[c[(c[h>>2]|0)+28>>2]&511](h,10)|0;dUa(j);VSa(i,h)|0;HSa(i)|0}}else if(f){e=mr(QSa(mr(QSa(mr(lr(2)|0,135870,61)|0,d)|0,191233,1)|0,h)|0,136022,64)|0;e=mr(PSa(e,c[i>>2]|0)|0,207266,1)|0;e=mr(PSa(e,c[g>>2]|0)|0,213063,1)|0;BSa(j,e+(c[(c[e>>2]|0)+-12>>2]|0)|0);i=cUa(j,230580)|0;i=kk[c[(c[i>>2]|0)+28>>2]&511](i,10)|0;dUa(j);VSa(e,i)|0;HSa(e)|0;e=0}else e=0;break a}case 32832:{e=8;break a}case 32833:{e=12;break a}case 32834:{e=16;break a}case 32835:{e=8;break a}case 32836:{e=8;break a}case 32837:{e=16;break a}case 32838:{e=16;break a}case 32839:{e=24;break a}case 32840:{e=32;break a}case 32843:{e=8;break a}case 32844:{e=12;break a}case 32845:{e=16;break a}default:{b:do if((d|0)<32819){c:do if((d|0)<5125){switch(d|0){case 5123:case 5122:{e=43;break c}case 5124:{e=44;break c}case 5121:case 5120:break;default:break b}e=(CG(b)|0)<<3;break a}else{if((d|0)<5131)switch(d|0){case 5126:case 5125:{e=44;break c}default:break b}if((d|0)<6656)switch(d|0){case 5131:{e=43;break c}default:break b}if((d|0)>=32818)switch(d|0){case 32818:{e=8;break a}default:break b}switch(d|0){case 6656:break;default:break b}e=CG(b)|0;break a}while(0);if((e|0)==43){e=(CG(b)|0)<<4;break a}else if((e|0)==44){e=(CG(b)|0)<<5;break a}}else switch(d|0){case 33634:{e=8;break a}case 33638:case 32820:case 33637:case 32819:case 33636:case 33635:{e=16;break a}case 33640:case 32822:case 33639:case 32821:{e=32;break a}default:break b}while(0);if((a[223632]|0)==0?g2a(223632)|0:0)kr(225352);if((c[56338]|0)<=1){e=0;break a}e=QSa(mr(lr(2)|0,136087,13)|0,d)|0;BSa(j,e+(c[(c[e>>2]|0)+-12>>2]|0)|0);i=cUa(j,230580)|0;i=kk[c[(c[i>>2]|0)+28>>2]&511](i,10)|0;dUa(j);VSa(e,i)|0;HSa(e)|0;e=0;break a}}while(0)}}while(0);l=k;return e|0}function AG(a,b){a=a|0;b=b|0;var d=0,e=0;do switch(b|0){case 33779:case 33778:case 33777:case 33776:{b=4;d=4;e=4;break}case 37491:case 37490:case 37489:case 37488:case 37497:case 37496:case 37495:case 37494:case 37493:case 37492:case 36196:case 35842:case 35840:case 36285:case 36286:case 36283:case 36284:{b=1;d=4;e=4;break}case 35843:case 35841:{b=1;d=4;e=8;break}case 37808:{b=1;d=4;e=4;break}case 37809:{b=1;d=4;e=5;break}case 37810:{b=1;d=5;e=5;break}case 37811:{b=1;d=5;e=6;break}case 37812:{b=1;d=6;e=6;break}case 37813:{b=1;d=5;e=8;break}case 37814:{b=1;d=6;e=8;break}case 37815:{b=1;d=8;e=8;break}case 37816:{b=1;d=5;e=10;break}case 37817:{b=1;d=6;e=10;break}case 37818:{b=1;d=8;e=10;break}case 37819:{b=1;d=10;e=10;break}case 37820:{b=1;d=10;e=12;break}case 37821:{b=1;d=12;e=12;break}case 37840:{b=1;d=4;e=4;break}case 37841:{b=1;d=4;e=5;break}case 37842:{b=1;d=5;e=5;break}case 37843:{b=1;d=5;e=6;break}case 37844:{b=1;d=6;e=6;break}case 37845:{b=1;d=5;e=8;break}case 37846:{b=1;d=6;e=8;break}case 37847:{b=1;d=8;e=8;break}case 37848:{b=1;d=5;e=10;break}case 37849:{b=1;d=6;e=10;break}case 37850:{b=1;d=8;e=10;break}case 37851:{b=1;d=10;e=10;break}case 37852:{b=1;d=10;e=12;break}case 37853:{b=1;d=12;e=12;break}default:{b=1;d=1;e=1}}while(0);c[a>>2]=e;c[a+4>>2]=d;c[a+8>>2]=b;return}function BG(a,b){a=a|0;b=b|0;switch(a|0){case 33777:case 33776:{b=b>>>0>8?b:8;break}case 36196:case 35842:case 35840:case 35843:case 35841:case 33779:case 33778:{b=b>>>0>16?b:16;break}case 36283:case 36284:{b=b>>>0>8?b:8;break}case 36285:case 36286:{b=b>>>0>16?b:16;break}case 37489:case 37488:case 37495:case 37494:case 37493:case 37492:{b=b>>>0>8?b:8;break}case 37491:case 37490:case 37497:case 37496:{b=b>>>0>16?b:16;break}case 37853:case 37852:case 37851:case 37850:case 37849:case 37848:case 37847:case 37846:case 37845:case 37844:case 37843:case 37842:case 37841:case 37840:case 37821:case 37820:case 37819:case 37818:case 37817:case 37816:case 37815:case 37814:case 37813:case 37812:case 37811:case 37810:case 37809:case 37808:{b=b>>>0>16?b:16;break}default:{}}return b|0}function CG(b){b=b|0;var d=0,e=0,f=0,g=0;f=l;l=l+16|0;d=f;a:do if((b|0)<36221){if((b|0)>=33777)do switch(b|0){case 35905:case 34550:case 34837:case 34843:case 36209:case 36215:case 36196:case 35841:case 35840:{b=3;break a}case 33777:{b=4;break a}case 33778:{b=4;break a}case 33779:{b=4;break a}case 35842:{b=4;break a}case 35843:{b=4;break a}case 36012:{b=1;break a}case 36216:{b=1;break a}case 36210:{b=1;break a}case 34844:{b=1;break a}case 34838:{b=1;break a}case 34842:{b=4;break a}case 34836:{b=4;break a}case 36218:{b=1;break a}case 36212:{b=1;break a}case 34846:{b=1;break a}case 34840:{b=1;break a}case 36217:{b=1;break a}case 36211:{b=1;break a}case 34845:{b=1;break a}case 34839:{b=1;break a}case 36219:{b=2;break a}case 36213:{b=2;break a}case 34847:{b=2;break a}case 34841:{b=2;break a}case 34548:{b=2;break a}case 34549:{b=2;break a}case 34551:{b=4;break a}case 35907:{b=4;break a}default:{e=128;break a}}while(0);if((b|0)>=32838)do switch(b|0){case 32992:case 33776:{b=3;break a}case 33189:{b=1;break a}case 33190:{b=1;break a}case 33191:{b=1;break a}case 33326:{b=1;break a}case 33319:{b=2;break a}case 33328:{b=2;break a}case 32993:{b=4;break a}case 32856:{b=4;break a}case 32838:{b=2;break a}case 32839:{b=2;break a}case 32840:{b=2;break a}case 32841:{b=1;break a}case 32842:{b=1;break a}case 32843:{b=1;break a}case 32844:{b=1;break a}case 32845:{b=1;break a}default:{e=128;break a}}while(0);if((b|0)<6409)switch(b|0){case 6407:{b=3;break a}case 6400:{b=1;break a}case 6401:{b=1;break a}case 6402:{b=1;break a}case 6403:{b=1;break a}case 6404:{b=1;break a}case 6405:{b=1;break a}case 6406:{b=1;break a}case 6408:{b=4;break a}default:{e=128;break a}}if((b|0)>=32833)switch(b|0){case 32833:{b=1;break a}case 32834:{b=1;break a}case 32835:{b=2;break a}case 32836:{b=2;break a}case 32837:{b=2;break a}default:{e=128;break a}}if((b|0)<32831)switch(b|0){case 6409:{b=1;break a}case 6410:{b=2;break a}default:{e=128;break a}}else switch(b|0){case 32831:{b=1;break a}case 32832:{b=1;break a}default:{e=128;break a}}}else do switch(b|0){case 36250:case 36248:case 36227:case 36233:case 36221:case 36239:case 37493:case 37492:{b=3;break a}case 36284:{b=1;break a}case 36283:{b=1;break a}case 36286:{b=2;break a}case 36285:{b=2;break a}case 37494:{b=4;break a}case 37495:{b=4;break a}case 37496:{b=4;break a}case 37497:{b=4;break a}case 37488:{b=1;break a}case 37489:{b=1;break a}case 37490:{b=2;break a}case 37491:{b=2;break a}case 36267:{b=1;break a}case 36240:{b=1;break a}case 36222:{b=1;break a}case 36234:{b=1;break a}case 36228:{b=1;break a}case 36242:{b=1;break a}case 36224:{b=1;break a}case 36236:{b=1;break a}case 36230:{b=1;break a}case 36223:{b=1;break a}case 36241:{b=1;break a}case 36235:{b=1;break a}case 36229:{b=1;break a}case 36243:{b=2;break a}case 36225:{b=2;break a}case 36237:{b=2;break a}case 36231:{b=2;break a}case 36244:{b=1;break a}case 36245:{b=1;break a}case 36246:{b=1;break a}case 36247:{b=1;break a}case 36249:{b=4;break a}case 36251:{b=4;break a}case 36252:{b=1;break a}case 36253:{b=2;break a}case 37808:{b=4;break a}case 37809:{b=4;break a}case 37810:{b=4;break a}case 37811:{b=4;break a}case 37812:{b=4;break a}case 37813:{b=4;break a}case 37814:{b=4;break a}case 37815:{b=4;break a}case 37816:{b=4;break a}case 37817:{b=4;break a}case 37818:{b=4;break a}case 37819:{b=4;break a}case 37820:{b=4;break a}case 37821:{b=4;break a}case 37840:{b=4;break a}case 37841:{b=4;break a}case 37842:{b=4;break a}case 37843:{b=4;break a}case 37844:{b=4;break a}case 37845:{b=4;break a}case 37846:{b=4;break a}case 37847:{b=4;break a}case 37848:{b=4;break a}case 37849:{b=4;break a}case 37850:{b=4;break a}case 37851:{b=4;break a}case 37852:{b=4;break a}case 37853:{b=4;break a}default:{e=128;break a}}while(0);while(0);if((e|0)==128){if((a[223632]|0)==0?g2a(223632)|0:0)kr(225352);if((c[56338]|0)>1){e=mr(lr(2)|0,136101,20)|0;g=e+(c[(c[e>>2]|0)+-12>>2]|0)+4|0;c[g>>2]=c[g>>2]&-75|8;b=QSa(e,b)|0;e=(c[b>>2]|0)+-12|0;g=b+(c[e>>2]|0)+4|0;c[g>>2]=c[g>>2]&-75|2;BSa(d,b+(c[e>>2]|0)|0);e=cUa(d,230580)|0;e=kk[c[(c[e>>2]|0)+28>>2]&511](e,10)|0;dUa(d);VSa(b,e)|0;HSa(b)|0;b=0}else b=0}l=f;return b|0}function DG(a,b,d,e,f,g,h,i){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,m=0;m=l;l=l+16|0;j=m;if((a|0)<1|(b|0)<1|(d|0)<1){i=0;l=m;return i|0}k=BG(e,0)|0;if((k|0)<=0){j=N(zG(e,f)|0,a)|0;k=(g|0)==0?8:g<<3;a=(j|0)/(k|0)|0;b=h+-1+(N(N(g,b)|0,a+((j-(N(a,k)|0)|0)!=0&1)|0)|0)|0;d=i+-1+(N(b-((b>>>0)%(h>>>0)|0)|0,d)|0)|0;d=d-((d>>>0)%(i>>>0)|0)|0;i=BG(e,g)|0;i=d>>>0>i>>>0?d:i;l=m;return i|0}AG(j,e);e=c[j>>2]|0;j=c[j+4>>2]|0;e=N((a+-1+e|0)/(e|0)|0,k)|0;f=g+-1+e|0;if((g|0)>=2)e=f-((f|0)%(g|0)|0)|0;e=N(e,(b+-1+j|0)/(j|0)|0)|0;f=h+-1+e|0;if((h|0)>=2)e=f-((f|0)%(h|0)|0)|0;e=N(e,d)|0;f=i+-1+e|0;if((i|0)>=2)e=f-((f|0)%(i|0)|0)|0;i=e;l=m;return i|0}function EG(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;i=a+4|0;j=c[a>>2]|0;k=(c[i>>2]|0)-j|0;g=k>>2;d=g+1|0;if(d>>>0>1073741823)g1a(a);l=a+8|0;f=(c[l>>2]|0)-j|0;h=f>>1;h=f>>2>>>0<536870911?(h>>>0<d>>>0?d:h):1073741823;do if(h)if(h>>>0>1073741823){l=db(8)|0;p0a(l,183738);c[l>>2]=110936;hb(l|0,65952,1066)}else{f=j0a(h<<2)|0;e=f;break}else{e=0;f=0}while(0);d=e+(g<<2)|0;c[d>>2]=c[b>>2];if((k|0)>0)x2a(f|0,j|0,k|0)|0;c[a>>2]=e;c[i>>2]=d+4;c[l>>2]=e+(h<<2);if(!j)return;l0a(j);return}function FG(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;u=l;l=l+16|0;t=u;cC(b,d,e);c[b>>2]=73820;j=b+220|0;c[j>>2]=0;k=b+224|0;c[k>>2]=0;m=b+228|0;c[m>>2]=0;f=kk[c[(c[e>>2]|0)+40>>2]&511](e,c[d+232>>2]|0)|0;c[b+232>>2]=f;if(f|0){s=f+8|0;c[s>>2]=(c[s>>2]|0)+1}f=kk[c[(c[e>>2]|0)+40>>2]&511](e,c[d+236>>2]|0)|0;c[b+236>>2]=f;if(f|0){s=f+8|0;c[s>>2]=(c[s>>2]|0)+1}f=kk[c[(c[e>>2]|0)+40>>2]&511](e,c[d+240>>2]|0)|0;c[b+240>>2]=f;if(f|0){s=f+8|0;c[s>>2]=(c[s>>2]|0)+1}f=kk[c[(c[e>>2]|0)+40>>2]&511](e,c[d+244>>2]|0)|0;c[b+244>>2]=f;if(f|0){s=f+8|0;c[s>>2]=(c[s>>2]|0)+1}f=kk[c[(c[e>>2]|0)+40>>2]&511](e,c[d+248>>2]|0)|0;c[b+248>>2]=f;if(f|0){s=f+8|0;c[s>>2]=(c[s>>2]|0)+1}n=b+252|0;o=b+256|0;p=b+260|0;q=b+264|0;r=b+268|0;s=b+272|0;c[n>>2]=0;c[n+4>>2]=0;c[n+8>>2]=0;c[n+12>>2]=0;c[n+16>>2]=0;c[n+20>>2]=0;a[b+276>>0]=a[d+276>>0]|0;a[b+182>>0]=1;f=c[d+220>>2]|0;i=d+224|0;if((f|0)!=(c[i>>2]|0))do{g=kk[c[(c[e>>2]|0)+44>>2]&511](e,c[f>>2]|0)|0;if(g|0){c[t>>2]=g;g=g+8|0;c[g>>2]=(c[g>>2]|0)+1;g=c[k>>2]|0;if(g>>>0<(c[m>>2]|0)>>>0){h=c[t>>2]|0;c[g>>2]=h;if(h){g=h+8|0;c[g>>2]=(c[g>>2]|0)+1;g=c[k>>2]|0}c[k>>2]=g+4}else GG(j,t);g=c[t>>2]|0;if(g|0?(v=g+8|0,h=c[v>>2]|0,c[v>>2]=h-1,(h|0)==1):0)UU(g,1,1)}f=f+4|0}while((f|0)!=(c[i>>2]|0));f=c[d+252>>2]|0;i=d+256|0;if((f|0)!=(c[i>>2]|0))do{g=kk[c[(c[e>>2]|0)+40>>2]&511](e,c[f>>2]|0)|0;c[t>>2]=g;if(g|0){v=g+8|0;c[v>>2]=(c[v>>2]|0)+1}g=c[o>>2]|0;if(g>>>0<(c[p>>2]|0)>>>0){h=c[t>>2]|0;c[g>>2]=h;if(h){g=h+8|0;c[g>>2]=(c[g>>2]|0)+1;g=c[o>>2]|0}c[o>>2]=g+4}else nw(n,t);g=c[t>>2]|0;if(g|0?(m=g+8|0,v=c[m>>2]|0,c[m>>2]=v-1,(v|0)==1):0)UU(g,1,1);f=f+4|0}while((f|0)!=(c[i>>2]|0));f=c[d+264>>2]|0;i=d+268|0;if((f|0)!=(c[i>>2]|0))do{g=kk[c[(c[e>>2]|0)+40>>2]&511](e,c[f>>2]|0)|0;c[t>>2]=g;if(g|0){v=g+8|0;c[v>>2]=(c[v>>2]|0)+1}g=c[r>>2]|0;if(g>>>0<(c[s>>2]|0)>>>0){h=c[t>>2]|0;c[g>>2]=h;if(h){g=h+8|0;c[g>>2]=(c[g>>2]|0)+1;g=c[r>>2]|0}c[r>>2]=g+4}else nw(q,t);g=c[t>>2]|0;if(g|0?(d=g+8|0,v=c[d>>2]|0,c[d>>2]=v-1,(v|0)==1):0)UU(g,1,1);f=f+4|0}while((f|0)!=(c[i>>2]|0));if(!(c[e+4>>2]&384)){l=u;return}a[b+183>>0]=0;Jk[c[(c[b>>2]|0)+236>>2]&1023](b,1);l=u;return}function GG(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;m=a+4|0;d=c[m>>2]|0;e=c[a>>2]|0;i=d-e>>2;f=i+1|0;g=e;if(f>>>0>1073741823)g1a(a);l=a+8|0;j=(c[l>>2]|0)-e|0;k=j>>1;f=j>>2>>>0<536870911?(k>>>0<f>>>0?f:k):1073741823;do if(f)if(f>>>0>1073741823){m=db(8)|0;p0a(m,183738);c[m>>2]=110936;hb(m|0,65952,1066)}else{j=j0a(f<<2)|0;break}else j=0;while(0);e=j+(i<<2)|0;k=j+(f<<2)|0;f=c[b>>2]|0;c[e>>2]=f;if(f){g=f+8|0;c[g>>2]=(c[g>>2]|0)+1;g=c[a>>2]|0;d=c[m>>2]|0}h=e+4|0;f=g;if((d|0)==(g|0))b=f;else{b=i+-1-((d+-4-f|0)>>>2)|0;while(1){d=d+-4|0;f=c[d>>2]|0;c[e+-4>>2]=f;if(f|0){i=f+8|0;c[i>>2]=(c[i>>2]|0)+1}if((d|0)==(g|0))break;else e=e+-4|0}e=j+(b<<2)|0;b=c[a>>2]|0;d=c[m>>2]|0}c[a>>2]=e;c[m>>2]=h;c[l>>2]=k;f=b;if((d|0)!=(f|0))do{d=d+-4|0;e=c[d>>2]|0;if(e|0?(l=e+8|0,m=c[l>>2]|0,c[l>>2]=m-1,(m|0)==1):0)UU(e,1,1);c[d>>2]=0}while((d|0)!=(f|0));if(!b)return;l0a(b);return}function HG(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;e=c[a>>2]|0;if(!e)return;f=a+4|0;b=c[f>>2]|0;if((b|0)==(e|0))b=e;else{do{b=b+-4|0;d=c[b>>2]|0;if(d|0?(h=d+8|0,g=c[h>>2]|0,c[h>>2]=g-1,(g|0)==1):0)UU(d,1,1);c[b>>2]=0}while((b|0)!=(e|0));b=c[a>>2]|0}c[f>>2]=e;l0a(b);return}function IG(a){a=a|0;var b=0,d=0,e=0;b=c[a>>2]|0;if(b|0?(e=b+8|0,d=c[e>>2]|0,c[e>>2]=d-1,(d|0)==1):0)UU(b,1,1);c[a>>2]=0;return}function JG(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;e=c[a>>2]|0;if(!e)return;f=a+4|0;b=c[f>>2]|0;if((b|0)==(e|0))b=e;else{do{b=b+-4|0;d=c[b>>2]|0;if(d|0?(h=d+8|0,g=c[h>>2]|0,c[h>>2]=g-1,(g|0)==1):0)UU(d,1,1);c[b>>2]=0}while((b|0)!=(e|0));b=c[a>>2]|0}c[f>>2]=e;l0a(b);return}function KG(a){a=a|0;SU(a);return}function LG(a){a=a|0;SU(a);l0a(a);return}function MG(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0;c[a>>2]=74500;e=a+12|0;f=c[e>>2]|0;if(!f){SU(a);return}g=a+16|0;b=c[g>>2]|0;if((b|0)==(f|0))b=f;else{do{b=b+-4|0;d=c[b>>2]|0;if(d|0?(i=d+8|0,h=c[i>>2]|0,c[i>>2]=h-1,(h|0)==1):0)UU(d,1,1);c[b>>2]=0}while((b|0)!=(f|0));b=c[e>>2]|0}c[g>>2]=f;l0a(b);SU(a);return}function NG(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0;c[a>>2]=74500;e=a+12|0;f=c[e>>2]|0;if(!f){SU(a);l0a(a);return}g=a+16|0;b=c[g>>2]|0;if((b|0)==(f|0))b=f;else{do{b=b+-4|0;d=c[b>>2]|0;if(d|0?(i=d+8|0,h=c[i>>2]|0,c[i>>2]=h-1,(h|0)==1):0)UU(d,1,1);c[b>>2]=0}while((b|0)!=(f|0));b=c[e>>2]|0}c[g>>2]=f;l0a(b);SU(a);l0a(a);return}function OG(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;c[a>>2]=74520;dH(a,0);eH(a);b=a+116|0;d=c[b>>2]|0;if(d|0?(j=d+8|0,f=c[j>>2]|0,c[j>>2]=f-1,(f|0)==1):0)UU(d,1,1);c[b>>2]=0;b=a+112|0;d=c[b>>2]|0;if(d|0?(f=d+8|0,j=c[f>>2]|0,c[f>>2]=j-1,(j|0)==1):0)UU(d,1,1);c[b>>2]=0;b=a+108|0;d=c[b>>2]|0;if(d|0?(f=d+8|0,j=c[f>>2]|0,c[f>>2]=j-1,(j|0)==1):0)UU(d,1,1);c[b>>2]=0;b=a+104|0;d=c[b>>2]|0;if(d|0?(e=d+(c[(c[d>>2]|0)+-12>>2]|0)|0,f=e+8|0,j=c[f>>2]|0,c[f>>2]=j-1,(j|0)==1):0)UU(e,1,1);c[b>>2]=0;f=a+92|0;b=a+100|0;if(c[b>>2]|0?(g=c[a+96>>2]|0,j=(c[f>>2]|0)+4|0,e=c[g>>2]|0,c[e+4>>2]=c[j>>2],c[c[j>>2]>>2]=e,c[b>>2]=0,(g|0)!=(f|0)):0){b=g;do{d=b;b=c[b+4>>2]|0;e=c[d+8>>2]|0;if(e|0?(h=e+(c[(c[e>>2]|0)+-12>>2]|0)|0,g=h+8|0,j=c[g>>2]|0,c[g>>2]=j-1,(j|0)==1):0)UU(h,1,1);l0a(d)}while((b|0)!=(f|0))}b=a+88|0;d=c[b>>2]|0;if(d|0?(i=d+(c[(c[d>>2]|0)+-12>>2]|0)|0,h=i+8|0,j=c[h>>2]|0,c[h>>2]=j-1,(j|0)==1):0)UU(i,1,1);c[b>>2]=0;oX(a+76|0);b=a+48|0;d=c[b>>2]|0;if(d|0?(i=d+8|0,j=c[i>>2]|0,c[i>>2]=j-1,(j|0)==1):0)UU(d,1,1);c[b>>2]=0;b=a+44|0;d=c[b>>2]|0;if(d|0?(i=d+8|0,j=c[i>>2]|0,c[i>>2]=j-1,(j|0)==1):0)UU(d,1,1);c[b>>2]=0;e=a+32|0;d=a+40|0;if(!(c[d>>2]|0)){Pr(a);return}b=c[a+36>>2]|0;j=(c[e>>2]|0)+4|0;i=c[b>>2]|0;c[i+4>>2]=c[j>>2];c[c[j>>2]>>2]=i;c[d>>2]=0;if((b|0)==(e|0)){Pr(a);return}do{j=b;b=c[b+4>>2]|0;l0a(j)}while((b|0)!=(e|0));Pr(a);return}function PG(a){a=a|0;Di()}function QG(a){a=a|0;return 0}function RG(a,b){a=a|0;b=b|0;return 0}function SG(a,b){a=a|0;b=b|0;if(!b){b=0;return b|0}b=(y1a(b,42800,44864,0)|0)!=0;return b|0}function TG(a){a=a|0;return 186332}function UG(a){a=a|0;return 136198}function VG(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;u=l;l=l+16|0;j=u;q=u+4|0;c[q>>2]=0;t=q+4|0;c[t>>2]=0;h=q+8|0;c[h>>2]=0;e=c[b+36>>2]|0;i=b+32|0;if((e|0)==(i|0)){d=0;e=0}else{d=e;f=0;g=0;while(1){d=d+8|0;if((f|0)==(g|0))ZG(q,d);else{c[f>>2]=c[d>>2];c[t>>2]=(c[t>>2]|0)+4}d=c[e+4>>2]|0;e=d;if((i|0)==(e|0))break;f=c[t>>2]|0;g=c[h>>2]|0}d=c[q>>2]|0;e=c[t>>2]|0}_G(d,e,j);d=c[q>>2]|0;e=c[t>>2]|0;if((d|0)!=(e|0))do{f=c[(c[d>>2]|0)+628>>2]|0;if(f){Jk[c[(c[f>>2]|0)+16>>2]&1023](f,b);e=c[t>>2]|0}d=d+4|0}while((d|0)!=(e|0));d=c[b+96>>2]|0;h=b+92|0;e=d;if((h|0)!=(e|0)){i=b+76|0;j=b+104|0;k=b+100|0;m=b+88|0;g=d;do{gk[c[(c[i>>2]|0)+8>>2]&1023](i)|0;d=c[j>>2]|0;f=c[g+8>>2]|0;if((d|0)!=(f|0)){c[j>>2]=f;if(f|0){f=f+(c[(c[f>>2]|0)+-12>>2]|0)+8|0;c[f>>2]=(c[f>>2]|0)+1}if(d|0?(r=d+(c[(c[d>>2]|0)+-12>>2]|0)|0,d=r+8|0,f=c[d>>2]|0,c[d>>2]=f-1,(f|0)==1):0)UU(r,1,1)}d=e+4|0;f=g;g=c[d>>2]|0;if(!(a[(c[j>>2]|0)+16>>0]|0)){v=c[e>>2]|0;c[v+4>>2]=g;c[c[d>>2]>>2]=v;c[k>>2]=(c[k>>2]|0)+-1;d=c[e+8>>2]|0;if(d|0?(s=d+(c[(c[d>>2]|0)+-12>>2]|0)|0,e=s+8|0,v=c[e>>2]|0,c[e>>2]=v-1,(v|0)==1):0)UU(s,1,1);l0a(f);if((c[k>>2]|0)==0?(o=c[m>>2]|0,n=o+4|0,o=o+24|0,a[o>>0]|0):0){gk[c[(c[n>>2]|0)+8>>2]&1023](n)|0;a[o>>0]=0;gk[c[(c[n>>2]|0)+12>>2]&1023](n)|0}}gk[c[(c[i>>2]|0)+12>>2]&1023](i)|0;d=c[j>>2]|0;if(d|0){Jk[c[(c[d>>2]|0)+4>>2]&1023](d,b);gk[c[(c[i>>2]|0)+8>>2]&1023](i)|0;d=c[j>>2]|0;if(d|0?(c[j>>2]=0,p=d+(c[(c[d>>2]|0)+-12>>2]|0)|0,f=p+8|0,v=c[f>>2]|0,c[f>>2]=v-1,(v|0)==1):0)UU(p,1,1);gk[c[(c[i>>2]|0)+12>>2]&1023](i)|0}e=g}while((h|0)!=(e|0))}d=c[q>>2]|0;if(!d){l=u;return}c[t>>2]=d;l0a(d);l=u;return}function WG(a){a=a|0;var b=0,d=0,e=0;d=gia(fia()|0)|0;e=a+120|0;c[e>>2]=d;c[e+4>>2]=y;e=a+68|0;if(!(c[e>>2]|0))return;b=a+44|0;d=c[b>>2]|0;if(!d)return;ri(0,0,c[d+40>>2]|0,c[d+44>>2]|0);d=c[b>>2]|0;gi(0,0,c[d+40>>2]|0,c[d+44>>2]|0);Oh(+(+g[a+52>>2]),+(+g[a+56>>2]),+(+g[a+60>>2]),+(+g[a+64>>2]));Nh(c[e>>2]|0);return}function XG(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,i=0,j=0,k=0,m=0.0,n=0.0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0.0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0,Ga=0,Ha=0,Ia=0,Ja=0,Ka=0,La=0,Ma=0,Na=0,Oa=0,Pa=0,Qa=0,Ra=0,Sa=0,Ta=0,Ua=0,Va=0,Wa=0,Xa=0,Ya=0,Za=0,_a=0,$a=0,ab=0,bb=0,cb=0,db=0,eb=0,fb=0,gb=0,hb=0,ib=0,jb=0,kb=0,lb=0,mb=0,nb=0,ob=0,pb=0,qb=0,rb=0,sb=0,tb=0,ub=0,vb=0,wb=0,xb=0,yb=0,zb=0,Ab=0,Bb=0,Cb=0,Db=0,Eb=0,Fb=0,Gb=0,Hb=0.0,Ib=0.0,Jb=0.0,Kb=0,Lb=0,Mb=0,Nb=0.0,Ob=0.0,Pb=0,Qb=0,Rb=0,Sb=0,Tb=0,Ub=0,Vb=0,Wb=0,Xb=0,Yb=0;Yb=l;l=l+272|0;Sb=Yb+128|0;Xb=Yb+256|0;Tb=Yb;Ub=Xb+4|0;c[Ub>>2]=0;Vb=Xb+8|0;c[Vb>>2]=0;Wb=Xb+4|0;c[Xb>>2]=Wb;Gb=a+44|0;g=c[Gb>>2]|0;if(!g){f=0;YG(Xb,f);l=Yb;return}Hb=+(e|0);i=g+40|0;Ib=Hb/+(c[i>>2]|0);Jb=+(f|0);j=g+44|0;Nb=Jb/+(c[j>>2]|0);Ob=Ib/Nb;k=c[a+36>>2]|0;Fb=a+32|0;a=k;if((Fb|0)==(a|0))a=0;else{oa=Ob!=1.0;pa=1.0/Ob;qa=Sb+8|0;ra=Sb+16|0;sa=Sb+24|0;ta=Sb+32|0;ua=Sb+40|0;va=Sb+48|0;wa=Sb+56|0;xa=Sb+64|0;ya=Sb+72|0;za=Sb+80|0;Aa=Sb+88|0;Ba=Sb+96|0;Ca=Sb+104|0;Da=Sb+112|0;Ea=Sb+120|0;Fa=Sb+8|0;Ga=Sb+16|0;Ha=Sb+24|0;Ia=Sb+32|0;Ja=Sb+40|0;Ka=Sb+48|0;La=Sb+56|0;Ma=Sb+64|0;Na=Sb+72|0;Oa=Sb+80|0;Pa=Sb+88|0;Qa=Sb+96|0;Ra=Sb+104|0;Sa=Sb+112|0;Ta=Sb+120|0;Ua=Sb+8|0;Va=Sb+16|0;Wa=Sb+24|0;Xa=Sb+32|0;Ya=Sb+40|0;Za=Sb+48|0;_a=Sb+56|0;$a=Sb+64|0;ab=Sb+72|0;bb=Sb+80|0;cb=Sb+88|0;db=Sb+96|0;eb=Sb+104|0;fb=Sb+112|0;gb=Sb+120|0;hb=Sb+8|0;ib=Sb+16|0;jb=Sb+24|0;kb=Sb+32|0;lb=Sb+40|0;mb=Sb+48|0;nb=Sb+56|0;ob=Sb+64|0;pb=Sb+72|0;qb=Sb+80|0;rb=Sb+88|0;sb=Sb+96|0;tb=Sb+104|0;ub=Sb+112|0;vb=Sb+120|0;wb=Sb+8|0;xb=Sb+16|0;yb=Sb+24|0;zb=Sb+32|0;Ab=Sb+40|0;Bb=Sb+48|0;Cb=Sb+56|0;Db=Sb+64|0;Eb=Sb+72|0;r=Sb+80|0;s=Sb+88|0;t=Sb+96|0;u=Sb+104|0;v=Sb+112|0;w=Sb+120|0;x=Sb+8|0;y=Sb+16|0;z=Sb+24|0;A=Sb+32|0;B=Sb+40|0;C=Sb+48|0;D=Sb+56|0;E=Sb+64|0;F=Sb+72|0;G=Sb+80|0;H=Sb+88|0;I=Sb+96|0;J=Sb+104|0;K=Sb+112|0;L=Sb+120|0;M=Sb+8|0;N=Sb+16|0;O=Sb+24|0;P=Sb+32|0;Q=Sb+40|0;R=Sb+48|0;S=Sb+56|0;T=Sb+64|0;U=Sb+72|0;V=Sb+80|0;W=Sb+88|0;X=Sb+96|0;Y=Sb+104|0;Z=Sb+112|0;_=Sb+120|0;$=Sb+8|0;aa=Sb+16|0;ba=Sb+24|0;ca=Sb+32|0;da=Sb+40|0;ea=Sb+48|0;fa=Sb+56|0;ga=Sb+64|0;ha=Sb+72|0;ia=Sb+80|0;ja=Sb+88|0;ka=Sb+96|0;la=Sb+104|0;ma=Sb+112|0;na=Sb+120|0;g=k;q=a;do{p=c[g+8>>2]|0;a:do if(c[p+576>>2]|0){o=c[p+288>>2]|0;k=o;b:do if(o|0){j=c[Wb>>2]|0;do if(j){g=j;do{a=c[g+16>>2]|0;if(o>>>0>=a>>>0){if(a>>>0>=o>>>0)break b;g=g+4|0}g=c[g>>2]|0}while((g|0)!=0);i=Ub;g=j;while(1){a=c[g+16>>2]|0;if(o>>>0<a>>>0){a=c[g>>2]|0;if(!a){a=18;break}else{i=g;g=a}}else{if(a>>>0>=o>>>0){a=22;break}i=g+4|0;a=c[i>>2]|0;if(!a){a=21;break}else g=a}}if((a|0)==18){j=g;i=g;break}else if((a|0)==21){j=g;break}else if((a|0)==22){j=g;break}}else{j=Wb;i=Wb}while(0);if(!(c[i>>2]|0)){g=j0a(20)|0;c[g+16>>2]=k;c[g>>2]=0;c[g+4>>2]=0;c[g+8>>2]=j;c[i>>2]=g;a=c[c[Xb>>2]>>2]|0;if(a){c[Xb>>2]=a;g=c[i>>2]|0}fp(c[Ub>>2]|0,g);c[Vb>>2]=(c[Vb>>2]|0)+1}g=o+56|0;m=+h[g>>3];a=o+64|0;n=+h[a>>3];if((m==0.0&n==0.0?(Kb=o+72|0,Lb=c[Gb>>2]|0,+h[Kb>>3]>=+(c[Lb+40>>2]|0)):0)?(Mb=o+80|0,+h[Mb>>3]>=+(c[Lb+44>>2]|0)):0){c[g>>2]=0;c[g+4>>2]=0;c[g+8>>2]=0;c[g+12>>2]=0;h[Kb>>3]=Hb;h[Mb>>3]=Jb;break}h[g>>3]=Ib*m;h[a>>3]=Nb*n;k=o+72|0;h[k>>3]=Ib*+h[k>>3];o=o+80|0;h[o>>3]=Nb*+h[o>>3]}while(0);if(oa){i=c[p+220>>2]|0;j=(i|0)!=0;do if(j){a=wja(i,p)|0;if(!a){g=c[i+16>>2]|0;break}if(!(c[p+136>>2]|0))switch(c[(c[i+16>>2]|0)+296>>2]|0){case 1:{Qra(Tb);Rra(Tb,pa,1.0,1.0);g=a+8|0;if((g|0)==(Tb|0)){h[Sb>>3]=+h[Tb>>3];h[wb>>3]=+h[a+16>>3];h[xb>>3]=+h[a+24>>3];h[yb>>3]=+h[a+32>>3];h[zb>>3]=+h[a+40>>3];h[Ab>>3]=+h[a+48>>3];h[Bb>>3]=+h[a+56>>3];h[Cb>>3]=+h[a+64>>3];h[Db>>3]=+h[a+72>>3];h[Eb>>3]=+h[a+80>>3];h[r>>3]=+h[a+88>>3];h[s>>3]=+h[a+96>>3];h[t>>3]=+h[a+104>>3];h[u>>3]=+h[a+112>>3];h[v>>3]=+h[a+120>>3];h[w>>3]=+h[a+128>>3];Vra(Tb,Sb)}else Vra(g,Tb);break a}case 2:{Qra(Tb);Rra(Tb,1.0,Ob,1.0);g=a+8|0;if((g|0)==(Tb|0)){h[Sb>>3]=+h[Tb>>3];h[x>>3]=+h[a+16>>3];h[y>>3]=+h[a+24>>3];h[z>>3]=+h[a+32>>3];h[A>>3]=+h[a+40>>3];h[B>>3]=+h[a+48>>3];h[C>>3]=+h[a+56>>3];h[D>>3]=+h[a+64>>3];h[E>>3]=+h[a+72>>3];h[F>>3]=+h[a+80>>3];h[G>>3]=+h[a+88>>3];h[H>>3]=+h[a+96>>3];h[I>>3]=+h[a+104>>3];h[J>>3]=+h[a+112>>3];h[K>>3]=+h[a+120>>3];h[L>>3]=+h[a+128>>3];Vra(Tb,Sb)}else Vra(g,Tb);break a}default:break a}else switch(c[p+296>>2]|0){case 1:{Qra(Tb);Rra(Tb,pa,1.0,1.0);g=p+304|0;if((g|0)==(Tb|0)){h[Sb>>3]=+h[Tb>>3];h[M>>3]=+h[p+312>>3];h[N>>3]=+h[p+320>>3];h[O>>3]=+h[p+328>>3];h[P>>3]=+h[p+336>>3];h[Q>>3]=+h[p+344>>3];h[R>>3]=+h[p+352>>3];h[S>>3]=+h[p+360>>3];h[T>>3]=+h[p+368>>3];h[U>>3]=+h[p+376>>3];h[V>>3]=+h[p+384>>3];h[W>>3]=+h[p+392>>3];h[X>>3]=+h[p+400>>3];h[Y>>3]=+h[p+408>>3];h[Z>>3]=+h[p+416>>3];h[_>>3]=+h[p+424>>3];Vra(Tb,Sb)}else Vra(g,Tb);break a}case 2:{Qra(Tb);Rra(Tb,1.0,Ob,1.0);g=p+304|0;if((g|0)==(Tb|0)){h[Sb>>3]=+h[Tb>>3];h[$>>3]=+h[p+312>>3];h[aa>>3]=+h[p+320>>3];h[ba>>3]=+h[p+328>>3];h[ca>>3]=+h[p+336>>3];h[da>>3]=+h[p+344>>3];h[ea>>3]=+h[p+352>>3];h[fa>>3]=+h[p+360>>3];h[ga>>3]=+h[p+368>>3];h[ha>>3]=+h[p+376>>3];h[ia>>3]=+h[p+384>>3];h[ja>>3]=+h[p+392>>3];h[ka>>3]=+h[p+400>>3];h[la>>3]=+h[p+408>>3];h[ma>>3]=+h[p+416>>3];h[na>>3]=+h[p+424>>3];Vra(Tb,Sb)}else Vra(g,Tb);break a}default:break a}}else g=p;while(0);k=c[g+296>>2]|0;switch(k|0){case 1:{Qra(Tb);Rra(Tb,pa,1.0,1.0);g=p+304|0;if((g|0)==(Tb|0)){h[Sb>>3]=+h[Tb>>3];h[Ua>>3]=+h[p+312>>3];h[Va>>3]=+h[p+320>>3];h[Wa>>3]=+h[p+328>>3];h[Xa>>3]=+h[p+336>>3];h[Ya>>3]=+h[p+344>>3];h[Za>>3]=+h[p+352>>3];h[_a>>3]=+h[p+360>>3];h[$a>>3]=+h[p+368>>3];h[ab>>3]=+h[p+376>>3];h[bb>>3]=+h[p+384>>3];h[cb>>3]=+h[p+392>>3];h[db>>3]=+h[p+400>>3];h[eb>>3]=+h[p+408>>3];h[fb>>3]=+h[p+416>>3];h[gb>>3]=+h[p+424>>3];Vra(Tb,Sb)}else Vra(g,Tb);break}case 2:{Qra(Tb);Rra(Tb,1.0,Ob,1.0);g=p+304|0;if((g|0)==(Tb|0)){h[Sb>>3]=+h[Tb>>3];h[hb>>3]=+h[p+312>>3];h[ib>>3]=+h[p+320>>3];h[jb>>3]=+h[p+328>>3];h[kb>>3]=+h[p+336>>3];h[lb>>3]=+h[p+344>>3];h[mb>>3]=+h[p+352>>3];h[nb>>3]=+h[p+360>>3];h[ob>>3]=+h[p+368>>3];h[pb>>3]=+h[p+376>>3];h[qb>>3]=+h[p+384>>3];h[rb>>3]=+h[p+392>>3];h[sb>>3]=+h[p+400>>3];h[tb>>3]=+h[p+408>>3];h[ub>>3]=+h[p+416>>3];h[vb>>3]=+h[p+424>>3];Vra(Tb,Sb)}else Vra(g,Tb);break}default:{}}if((j?(p|0)==(c[i+16>>2]|0):0)?(Pb=i+20|0,Qb=i+24|0,Rb=c[Pb>>2]|0,(c[Qb>>2]|0)!=(Rb|0)):0){i=0;g=Rb;do{p=c[g+(i*272|0)+4>>2]|0;c:do if(p|0?(c[p+136>>2]|0)==0:0)switch(k|0){case 1:{Qra(Tb);Rra(Tb,Ob,1.0,1.0);a=g+(i*272|0)+8|0;if((a|0)==(Tb|0)){h[Sb>>3]=+h[Tb>>3];h[qa>>3]=+h[g+(i*272|0)+16>>3];h[ra>>3]=+h[g+(i*272|0)+24>>3];h[sa>>3]=+h[g+(i*272|0)+32>>3];h[ta>>3]=+h[g+(i*272|0)+40>>3];h[ua>>3]=+h[g+(i*272|0)+48>>3];h[va>>3]=+h[g+(i*272|0)+56>>3];h[wa>>3]=+h[g+(i*272|0)+64>>3];h[xa>>3]=+h[g+(i*272|0)+72>>3];h[ya>>3]=+h[g+(i*272|0)+80>>3];h[za>>3]=+h[g+(i*272|0)+88>>3];h[Aa>>3]=+h[g+(i*272|0)+96>>3];h[Ba>>3]=+h[g+(i*272|0)+104>>3];h[Ca>>3]=+h[g+(i*272|0)+112>>3];h[Da>>3]=+h[g+(i*272|0)+120>>3];h[Ea>>3]=+h[g+(i*272|0)+128>>3];Vra(Tb,Sb)}else Vra(a,Tb);break c}case 2:{Qra(Tb);Rra(Tb,1.0,pa,1.0);a=g+(i*272|0)+8|0;if((a|0)==(Tb|0)){h[Sb>>3]=+h[Tb>>3];h[Fa>>3]=+h[g+(i*272|0)+16>>3];h[Ga>>3]=+h[g+(i*272|0)+24>>3];h[Ha>>3]=+h[g+(i*272|0)+32>>3];h[Ia>>3]=+h[g+(i*272|0)+40>>3];h[Ja>>3]=+h[g+(i*272|0)+48>>3];h[Ka>>3]=+h[g+(i*272|0)+56>>3];h[La>>3]=+h[g+(i*272|0)+64>>3];h[Ma>>3]=+h[g+(i*272|0)+72>>3];h[Na>>3]=+h[g+(i*272|0)+80>>3];h[Oa>>3]=+h[g+(i*272|0)+88>>3];h[Pa>>3]=+h[g+(i*272|0)+96>>3];h[Qa>>3]=+h[g+(i*272|0)+104>>3];h[Ra>>3]=+h[g+(i*272|0)+112>>3];h[Sa>>3]=+h[g+(i*272|0)+120>>3];h[Ta>>3]=+h[g+(i*272|0)+128>>3];Vra(Tb,Sb)}else Vra(a,Tb);break c}default:break c}while(0);i=i+1|0;g=c[Pb>>2]|0}while(i>>>0<(((c[Qb>>2]|0)-g|0)/272|0)>>>0)}}}while(0);g=c[q+4>>2]|0;q=g}while((Fb|0)!=(q|0));g=c[Gb>>2]|0;j=g+44|0;i=g+40|0;a=c[Wb>>2]|0}c[g+32>>2]=b;c[g+36>>2]=d;c[i>>2]=e;c[j>>2]=f;f=a;YG(Xb,f);l=Yb;return}function YG(a,b){a=a|0;b=b|0;if(!b)return;else{YG(a,c[b>>2]|0);YG(a,c[b+4>>2]|0);l0a(b);return}}function ZG(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;i=a+4|0;j=c[a>>2]|0;k=(c[i>>2]|0)-j|0;g=k>>2;d=g+1|0;if(d>>>0>1073741823)g1a(a);l=a+8|0;f=(c[l>>2]|0)-j|0;h=f>>1;h=f>>2>>>0<536870911?(h>>>0<d>>>0?d:h):1073741823;do if(h)if(h>>>0>1073741823){l=db(8)|0;p0a(l,183738);c[l>>2]=110936;hb(l|0,65952,1066)}else{f=j0a(h<<2)|0;e=f;break}else{e=0;f=0}while(0);d=e+(g<<2)|0;c[d>>2]=c[b>>2];if((k|0)>0)x2a(f|0,j|0,k|0)|0;c[a>>2]=e;c[i>>2]=d+4;c[l>>2]=e+(h<<2);if(!j)return;l0a(j);return}function _G(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;a:while(1){q=b;f=b+-4|0;r=b+-8|0;s=b;b:while(1){e=q-a|0;g=e>>2;switch(g|0){case 2:{e=4;break a}case 3:{e=8;break a}case 4:{e=26;break a}case 5:{e=27;break a}case 1:case 0:{e=112;break a}default:{}}if((e|0)<124){e=29;break a}n=a+(((g|0)/2|0)<<2)|0;do if((e|0)>3996){e=(g|0)/4|0;e=aH(a,a+(e<<2)|0,n,n+(e<<2)|0,f,d)|0}else{h=c[n>>2]|0;p=c[a>>2]|0;i=c[h+560>>2]|0;m=c[p+560>>2]|0;k=h;o=p;if((i|0)>=(m|0))if((m|0)<(i|0))j=0;else j=(c[h+564>>2]|0)<(c[p+564>>2]|0);else j=1;e=c[f>>2]|0;g=c[e+560>>2]|0;l=e;if((g|0)>=(i|0))if((i|0)<(g|0))e=0;else e=(c[e+564>>2]|0)<(c[h+564>>2]|0);else e=1;if(!j){if(!e){e=0;break}c[n>>2]=l;c[f>>2]=k;e=c[n>>2]|0;g=c[a>>2]|0;h=c[e+560>>2]|0;i=c[g+560>>2]|0;j=g;k=e;if((h|0)>=(i|0)){if((i|0)<(h|0)){e=1;break}if((c[e+564>>2]|0)>=(c[g+564>>2]|0)){e=1;break}}c[a>>2]=k;c[n>>2]=j;e=2;break}if(e){c[a>>2]=l;c[f>>2]=o;e=1;break}c[a>>2]=k;c[n>>2]=o;e=c[f>>2]|0;g=c[e+560>>2]|0;h=e;if((g|0)>=(m|0)){if((m|0)<(g|0)){e=1;break}if((c[e+564>>2]|0)>=(c[p+564>>2]|0)){e=1;break}}c[n>>2]=h;c[f>>2]=o;e=2}while(0);m=c[a>>2]|0;g=c[n>>2]|0;o=c[m+560>>2]|0;k=c[g+560>>2]|0;l=m;do if((o|0)<(k|0))g=f;else{if((k|0)>=(o|0)?(c[m+564>>2]|0)<(c[g+564>>2]|0):0){g=f;break}if((a|0)==(r|0)){e=55;break b}j=g+564|0;g=r;while(1){h=c[g>>2]|0;i=c[h+560>>2]|0;if((i|0)<(k|0))break;if((k|0)>=(i|0)?(c[h+564>>2]|0)<(c[j>>2]|0):0)break;g=g+-4|0;if((a|0)==(g|0)){e=55;break b}}c[a>>2]=h;c[g>>2]=l;e=e+1|0}while(0);h=a+4|0;c:do if(h>>>0<g>>>0)while(1){m=c[n>>2]|0;l=c[m+560>>2]|0;m=m+564|0;while(1){i=c[h>>2]|0;j=c[i+560>>2]|0;if((j|0)>=(l|0)){if((l|0)<(j|0))break;if((c[i+564>>2]|0)>=(c[m>>2]|0))break}h=h+4|0}g=g+-4|0;k=c[g>>2]|0;j=c[k+560>>2]|0;d:do if((j|0)>=(l|0))do{if((l|0)>=(j|0)?(c[k+564>>2]|0)<(c[m>>2]|0):0)break d;g=g+-4|0;k=c[g>>2]|0;j=c[k+560>>2]|0}while((j|0)>=(l|0));while(0);if(h>>>0>g>>>0)break c;c[h>>2]=c[g>>2];c[g>>2]=i;n=(n|0)==(h|0)?g:n;h=h+4|0;e=e+1|0}while(0);do if((h|0)!=(n|0)){g=c[n>>2]|0;i=c[h>>2]|0;j=c[g+560>>2]|0;k=c[i+560>>2]|0;l=i;m=g;if((j|0)>=(k|0)){if((k|0)<(j|0))break;if((c[g+564>>2]|0)>=(c[i+564>>2]|0))break}c[h>>2]=m;c[n>>2]=l;e=e+1|0}while(0);if(!e){g=cH(a,h,d)|0;e=h+4|0;if(cH(e,b,d)|0){e=105;break}if(g){f=2;a=e;e=110;break}}p=h;if((p-a|0)>=(s-p|0)){e=109;break}_G(a,h,d);a=h+4|0}e:do if((e|0)==55){e=a+4|0;g=c[f>>2]|0;h=c[g+560>>2]|0;j=g;do if((o|0)>=(h|0)){if((h|0)>=(o|0)?(c[m+564>>2]|0)<(c[g+564>>2]|0):0)break;if((e|0)==(f|0)){e=112;break a}i=m+564|0;while(1){g=c[e>>2]|0;h=c[g+560>>2]|0;if((o|0)<(h|0))break;if((h|0)>=(o|0)?(c[i>>2]|0)<(c[g+564>>2]|0):0)break;e=e+4|0;if((e|0)==(f|0)){e=112;break a}}c[e>>2]=j;c[f>>2]=g;e=e+4|0}while(0);if((e|0)==(f|0)){e=112;break a}while(1){j=c[a>>2]|0;h=c[e>>2]|0;k=c[j+560>>2]|0;g=c[h+560>>2]|0;f:do if((k|0)>=(g|0)){i=j+564|0;do{if((g|0)>=(k|0)?(c[i>>2]|0)<(c[h+564>>2]|0):0)break f;e=e+4|0;h=c[e>>2]|0;g=c[h+560>>2]|0}while((k|0)>=(g|0))}while(0);i=j+564|0;while(1){f=f+-4|0;g=c[f>>2]|0;h=c[g+560>>2]|0;if((k|0)>=(h|0)){if((h|0)<(k|0))break;if((c[i>>2]|0)>=(c[g+564>>2]|0))break}}if(e>>>0>=f>>>0){f=4;a=e;e=110;break e}s=c[e>>2]|0;c[e>>2]=g;c[f>>2]=s;e=e+4|0}}else if((e|0)==105){f=g?1:2;b=g?b:h;e=110}else if((e|0)==109){e=0;_G(h+4|0,b,d);b=h}while(0);if((e|0)==110)switch(f&7){case 2:case 4:case 0:break;default:{e=112;break a}}}if((e|0)==4){b=b+-4|0;e=c[b>>2]|0;f=c[a>>2]|0;g=c[e+560>>2]|0;h=c[f+560>>2]|0;i=f;j=e;if((g|0)>=(h|0)){if((h|0)<(g|0))return;if((c[e+564>>2]|0)>=(c[f+564>>2]|0))return}c[a>>2]=j;c[b>>2]=i;return}else if((e|0)==8){o=a+4|0;k=b+-4|0;b=c[o>>2]|0;l=c[a>>2]|0;e=c[b+560>>2]|0;m=c[l+560>>2]|0;i=b;n=l;if((e|0)>=(m|0))if((m|0)<(e|0))h=0;else h=(c[b+564>>2]|0)<(c[l+564>>2]|0);else h=1;f=c[k>>2]|0;g=c[f+560>>2]|0;j=f;if((g|0)>=(e|0))if((e|0)<(g|0))b=0;else b=(c[f+564>>2]|0)<(c[b+564>>2]|0);else b=1;if(!h){if(!b)return;c[o>>2]=j;c[k>>2]=i;b=c[o>>2]|0;e=c[a>>2]|0;f=c[b+560>>2]|0;g=c[e+560>>2]|0;h=e;i=b;if((f|0)>=(g|0)){if((g|0)<(f|0))return;if((c[b+564>>2]|0)>=(c[e+564>>2]|0))return}c[a>>2]=i;c[o>>2]=h;return}if(b){c[a>>2]=j;c[k>>2]=n;return}c[a>>2]=i;c[o>>2]=n;a=c[k>>2]|0;b=c[a+560>>2]|0;e=a;if((b|0)>=(m|0)){if((m|0)<(b|0))return;if((c[a+564>>2]|0)>=(c[l+564>>2]|0))return}c[o>>2]=e;c[k>>2]=n;return}else if((e|0)==26){$G(a,a+4|0,a+8|0,b+-4|0,d)|0;return}else if((e|0)==27){aH(a,a+4|0,a+8|0,a+12|0,b+-4|0,d)|0;return}else if((e|0)==29){bH(a,b,d);return}else if((e|0)==112)return}function $G(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=c[b>>2]|0;o=c[a>>2]|0;q=r+560|0;h=c[q>>2]|0;n=o+560|0;m=c[n>>2]|0;j=r;p=o;if((h|0)>=(m|0))if((m|0)<(h|0))i=0;else i=(c[r+564>>2]|0)<(c[o+564>>2]|0);else i=1;k=c[d>>2]|0;g=k+560|0;f=c[g>>2]|0;l=k;if((f|0)>=(h|0))if((h|0)<(f|0))f=0;else f=(c[k+564>>2]|0)<(c[r+564>>2]|0);else f=1;do if(!i)if(f){c[b>>2]=l;c[d>>2]=j;f=c[b>>2]|0;g=c[a>>2]|0;h=c[f+560>>2]|0;i=c[g+560>>2]|0;k=g;l=f;if((h|0)>=(i|0)){if((i|0)<(h|0)){m=1;g=q;k=r;break}if((c[f+564>>2]|0)>=(c[g+564>>2]|0)){m=1;g=q;k=r;break}}c[a>>2]=l;c[b>>2]=k;j=c[d>>2]|0;m=2;g=j+560|0;k=j}else{m=0;j=l}else{if(f){c[a>>2]=l;c[d>>2]=p;m=1;g=n;k=o;j=p;break}c[a>>2]=j;c[b>>2]=p;h=c[d>>2]|0;g=h+560|0;f=c[g>>2]|0;j=h;if((f|0)>=(m|0)){if((m|0)<(f|0)){m=1;k=h;break}if((c[h+564>>2]|0)>=(c[o+564>>2]|0)){m=1;k=h;break}}c[b>>2]=j;c[d>>2]=p;m=2;g=n;k=o;j=p}while(0);h=c[e>>2]|0;i=c[h+560>>2]|0;f=c[g>>2]|0;g=h;if((i|0)>=(f|0)){if((f|0)<(i|0)){b=m;return b|0}if((c[h+564>>2]|0)>=(c[k+564>>2]|0)){b=m;return b|0}}c[d>>2]=g;c[e>>2]=j;f=m+1|0;g=c[d>>2]|0;h=c[b>>2]|0;i=c[g+560>>2]|0;j=c[h+560>>2]|0;k=h;l=g;if((i|0)>=(j|0)){if((j|0)<(i|0)){b=f;return b|0}if((c[g+564>>2]|0)>=(c[h+564>>2]|0)){b=f;return b|0}}c[b>>2]=l;c[d>>2]=k;f=m+2|0;g=c[b>>2]|0;h=c[a>>2]|0;i=c[g+560>>2]|0;j=c[h+560>>2]|0;k=h;l=g;if((i|0)>=(j|0)){if((j|0)<(i|0)){b=f;return b|0}if((c[g+564>>2]|0)>=(c[h+564>>2]|0)){b=f;return b|0}}c[a>>2]=l;c[b>>2]=k;b=m+3|0;return b|0}function aH(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0;m=$G(a,b,d,e,g)|0;k=c[f>>2]|0;l=c[e>>2]|0;g=c[k+560>>2]|0;h=c[l+560>>2]|0;i=l;j=k;if((g|0)>=(h|0)){if((h|0)<(g|0)){b=m;return b|0}if((c[k+564>>2]|0)>=(c[l+564>>2]|0)){b=m;return b|0}}c[e>>2]=j;c[f>>2]=i;g=m+1|0;h=c[e>>2]|0;i=c[d>>2]|0;j=c[h+560>>2]|0;k=c[i+560>>2]|0;l=i;f=h;if((j|0)>=(k|0)){if((k|0)<(j|0)){b=g;return b|0}if((c[h+564>>2]|0)>=(c[i+564>>2]|0)){b=g;return b|0}}c[d>>2]=f;c[e>>2]=l;g=m+2|0;h=c[d>>2]|0;i=c[b>>2]|0;j=c[h+560>>2]|0;k=c[i+560>>2]|0;l=i;f=h;if((j|0)>=(k|0)){if((k|0)<(j|0)){b=g;return b|0}if((c[h+564>>2]|0)>=(c[i+564>>2]|0)){b=g;return b|0}}c[b>>2]=f;c[d>>2]=l;g=m+3|0;h=c[b>>2]|0;i=c[a>>2]|0;j=c[h+560>>2]|0;k=c[i+560>>2]|0;l=i;f=h;if((j|0)>=(k|0)){if((k|0)<(j|0)){b=g;return b|0}if((c[h+564>>2]|0)>=(c[i+564>>2]|0)){b=g;return b|0}}c[a>>2]=f;c[b>>2]=l;b=m+4|0;return b|0}function bH(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;d=a+8|0;m=a+4|0;n=c[m>>2]|0;o=c[a>>2]|0;e=c[n+560>>2]|0;h=c[o+560>>2]|0;i=n;j=o;if((e|0)>=(h|0))if((h|0)<(e|0))g=0;else g=(c[n+564>>2]|0)<(c[o+564>>2]|0);else g=1;f=c[d>>2]|0;k=c[f+560>>2]|0;l=f;if((k|0)>=(e|0))if((e|0)<(k|0))e=0;else e=(c[f+564>>2]|0)<(c[n+564>>2]|0);else e=1;do if(!g)if(e){c[m>>2]=l;c[d>>2]=i;if((k|0)>=(h|0)){if((h|0)<(k|0)){f=n;break}if((c[f+564>>2]|0)>=(c[o+564>>2]|0)){f=n;break}}c[a>>2]=l;c[m>>2]=j;f=n}else i=l;else{if(e){c[a>>2]=l;c[d>>2]=j;i=j;f=o;break}c[a>>2]=i;c[m>>2]=j;if((k|0)>=(h|0)){if((h|0)<(k|0)){i=l;break}if((c[f+564>>2]|0)>=(c[o+564>>2]|0)){i=l;break}}c[m>>2]=l;c[d>>2]=j;i=j;f=o}while(0);e=a+12|0;if((e|0)==(b|0))return;while(1){g=c[e>>2]|0;k=c[g+560>>2]|0;h=c[f+560>>2]|0;l=g;if((k|0)>=(h|0)){if((h|0)>=(k|0)?(p=g+564|0,(c[p>>2]|0)<(c[f+564>>2]|0)):0){j=p;q=26}}else{j=g+564|0;q=26}if((q|0)==26){q=0;c[e>>2]=i;a:do if((d|0)!=(a|0)){f=d;while(1){i=f+-4|0;f=c[i>>2]|0;g=c[f+560>>2]|0;h=f;if((k|0)>=(g|0)){if((g|0)<(k|0))break a;if((c[j>>2]|0)>=(c[f+564>>2]|0))break a}c[d>>2]=h;if((i|0)==(a|0)){d=a;break}else{f=i;d=i}}}while(0);c[d>>2]=l}d=e+4|0;if((d|0)==(b|0))break;i=c[e>>2]|0;o=e;e=d;f=i;d=o}return}function cH(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;switch(b-a>>2|0){case 2:{h=b+-4|0;i=c[h>>2]|0;j=c[a>>2]|0;d=c[i+560>>2]|0;e=c[j+560>>2]|0;f=j;g=i;if((d|0)>=(e|0)){if((e|0)<(d|0)){a=1;return a|0}if((c[i+564>>2]|0)>=(c[j+564>>2]|0)){a=1;return a|0}}c[a>>2]=g;c[h>>2]=f;a=1;return a|0}case 3:{o=a+4|0;k=b+-4|0;d=c[o>>2]|0;l=c[a>>2]|0;e=c[d+560>>2]|0;m=c[l+560>>2]|0;i=d;n=l;if((e|0)>=(m|0))if((m|0)<(e|0))h=0;else h=(c[d+564>>2]|0)<(c[l+564>>2]|0);else h=1;f=c[k>>2]|0;g=c[f+560>>2]|0;j=f;if((g|0)>=(e|0))if((e|0)<(g|0))d=0;else d=(c[f+564>>2]|0)<(c[d+564>>2]|0);else d=1;if(!h){if(!d){a=1;return a|0}c[o>>2]=j;c[k>>2]=i;d=c[o>>2]|0;e=c[a>>2]|0;f=c[d+560>>2]|0;g=c[e+560>>2]|0;h=e;i=d;if((f|0)>=(g|0)){if((g|0)<(f|0)){a=1;return a|0}if((c[d+564>>2]|0)>=(c[e+564>>2]|0)){a=1;return a|0}}c[a>>2]=i;c[o>>2]=h;a=1;return a|0}if(d){c[a>>2]=j;c[k>>2]=n;a=1;return a|0}c[a>>2]=i;c[o>>2]=n;d=c[k>>2]|0;e=c[d+560>>2]|0;f=d;if((e|0)>=(m|0)){if((m|0)<(e|0)){a=1;return a|0}if((c[d+564>>2]|0)>=(c[l+564>>2]|0)){a=1;return a|0}}c[o>>2]=f;c[k>>2]=n;a=1;return a|0}case 4:{$G(a,a+4|0,a+8|0,b+-4|0,d)|0;a=1;return a|0}case 5:{aH(a,a+4|0,a+8|0,a+12|0,b+-4|0,d)|0;a=1;return a|0}case 1:case 0:{a=1;return a|0}default:{e=a+8|0;j=a+4|0;k=c[j>>2]|0;l=c[a>>2]|0;d=c[k+560>>2]|0;m=c[l+560>>2]|0;n=k;o=l;if((d|0)>=(m|0))if((m|0)<(d|0))g=0;else g=(c[k+564>>2]|0)<(c[l+564>>2]|0);else g=1;f=c[e>>2]|0;h=c[f+560>>2]|0;i=f;if((h|0)>=(d|0))if((d|0)<(h|0))d=0;else d=(c[f+564>>2]|0)<(c[k+564>>2]|0);else d=1;do if(!g){if(d){c[j>>2]=i;c[e>>2]=n;if((h|0)>=(m|0)){if((m|0)<(h|0)){f=k;break}if((c[f+564>>2]|0)>=(c[l+564>>2]|0)){f=k;break}}c[a>>2]=i;c[j>>2]=o;f=k}}else{if(d){c[a>>2]=i;c[e>>2]=o;f=l;break}c[a>>2]=n;c[j>>2]=o;if((h|0)>=(m|0)){if((m|0)<(h|0))break;if((c[f+564>>2]|0)>=(c[l+564>>2]|0))break}c[j>>2]=i;c[e>>2]=o;f=l}while(0);d=a+12|0;if((d|0)==(b|0)){a=1;return a|0}m=d;d=0;while(1){g=c[m>>2]|0;k=c[g+560>>2]|0;h=c[f+560>>2]|0;l=g;if((k|0)>=(h|0)){if((h|0)>=(k|0)?(p=g+564|0,(c[p>>2]|0)<(c[f+564>>2]|0)):0){j=p;q=50}}else{j=g+564|0;q=50}if((q|0)==50){q=0;c[m>>2]=c[e>>2];a:do if((e|0)!=(a|0)){f=e;while(1){i=f+-4|0;f=c[i>>2]|0;g=c[f+560>>2]|0;h=f;if((k|0)>=(g|0)){if((g|0)<(k|0))break a;if((c[j>>2]|0)>=(c[f+564>>2]|0))break a}c[e>>2]=h;if((i|0)==(a|0)){e=a;break}else{f=i;e=i}}}while(0);c[e>>2]=l;d=d+1|0;if((d|0)==8)break}e=m+4|0;if((e|0)==(b|0)){d=1;q=60;break}f=c[m>>2]|0;o=m;m=e;e=o}if((q|0)==60)return d|0;a=(m+4|0)==(b|0);return a|0}}return 0}function dH(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0;k=l;l=l+16|0;i=k;if((a[223632]|0)==0?g2a(223632)|0:0)kr(225352);if((c[56338]|0)>3){j=USa(mr(OSa(mr(lr(4)|0,136254,6)|0,d)|0,184787,1)|0,b)|0;BSa(i,j+(c[(c[j>>2]|0)+-12>>2]|0)|0);h=cUa(i,230580)|0;h=kk[c[(c[h>>2]|0)+28>>2]&511](h,10)|0;dUa(i);VSa(j,h)|0;HSa(j)|0}oH(b,0);j=b+48|0;e=c[j>>2]|0;if(e){g=c[e+124>>2]|0;gk[c[(c[56408]|0)+8>>2]&1023](225632)|0;e=c[56400]|0;if(e){f=225600;do{h=(c[e+16>>2]|0)>>>0<g>>>0;f=h?f:e;e=c[(h?e+4|0:e)>>2]|0}while((e|0)!=0);if((f|0)!=225600?(c[f+16>>2]|0)>>>0<=g>>>0:0)e=c[f+20>>2]|0;else e=0}else e=0;gk[c[(c[56408]|0)+12>>2]&1023](225632)|0;if(e)h=(c[e+28>>2]|0)>>>0>1;else h=0}else h=0;e=c[b+36>>2]|0;g=b+32|0;f=e;if((g|0)!=(f|0))do{e=c[e+8>>2]|0;if(e|0){if((a[223632]|0)==0?g2a(223632)|0:0)kr(225352);if((c[56338]|0)>3){m=mr(USa(mr(lr(4)|0,136261,32)|0,e)|0,136294,8)|0;m=USa(m,c[j>>2]|0)|0;BSa(i,m+(c[(c[m>>2]|0)+-12>>2]|0)|0);n=cUa(i,230580)|0;n=kk[c[(c[n>>2]|0)+28>>2]&511](n,10)|0;dUa(i);VSa(m,n)|0;HSa(m)|0}Jk[c[(c[e>>2]|0)+160>>2]&1023](e,c[j>>2]|0)}e=c[f+4>>2]|0;f=e}while((g|0)!=(f|0));e=c[j>>2]|0;if(e|0)$ha(e);if(d){do if(c[j>>2]|0?gk[c[(c[b>>2]|0)+180>>2]&1023](b)|0:0){if((a[223632]|0)==0?g2a(223632)|0:0)kr(225352);if((c[56338]|0)>3){n=mr(OSa(mr(lr(4)|0,136303,28)|0,h)|0,136332,24)|0;n=QSa(n,c[(c[j>>2]|0)+124>>2]|0)|0;BSa(i,n+(c[(c[n>>2]|0)+-12>>2]|0)|0);m=cUa(i,230580)|0;m=kk[c[(c[m>>2]|0)+28>>2]&511](m,10)|0;dUa(i);VSa(n,m)|0;HSa(n)|0}d=b+72|0;c[d>>2]=ila()|0;if(!(gk[c[(c[b>>2]|0)+188>>2]&1023](b)|0)){if((a[223632]|0)==0?g2a(223632)|0:0)kr(225352);if((c[56338]|0)<=3)break;n=mr(lr(4)|0,136410,75)|0;BSa(i,n+(c[(c[n>>2]|0)+-12>>2]|0)|0);m=cUa(i,230580)|0;m=kk[c[(c[m>>2]|0)+28>>2]&511](m,10)|0;dUa(i);VSa(n,m)|0;HSa(n)|0;break}n=c[j>>2]|0;Bk[c[(c[n>>2]|0)+12>>2]&2047](n);do if(h){g=c[(c[j>>2]|0)+124>>2]|0;gk[c[(c[56408]|0)+8>>2]&1023](225632)|0;e=c[56400]|0;if(e){f=225600;do{n=(c[e+16>>2]|0)>>>0<g>>>0;f=n?f:e;e=c[(n?e+4|0:e)>>2]|0}while((e|0)!=0);if((f|0)!=225600?(c[f+16>>2]|0)>>>0<=g>>>0:0){f=c[f+20>>2]|0;e=f}else{e=0;f=0}}else{e=0;f=0}gk[c[(c[56408]|0)+12>>2]&1023](225632)|0;Bk[c[(c[e>>2]|0)+32>>2]&2047](f)}else{if((a[223632]|0)==0?g2a(223632)|0:0)kr(225352);if((c[56338]|0)>3){n=mr(lr(4)|0,136357,26)|0;BSa(i,n+(c[(c[n>>2]|0)+-12>>2]|0)|0);m=cUa(i,230580)|0;m=kk[c[(c[m>>2]|0)+28>>2]&511](m,10)|0;dUa(i);VSa(n,m)|0;HSa(n)|0}g=c[(c[j>>2]|0)+124>>2]|0;gk[c[(c[56408]|0)+8>>2]&1023](225632)|0;e=c[56400]|0;do if(e){f=225600;do{n=(c[e+16>>2]|0)>>>0<g>>>0;f=n?f:e;e=c[(n?e+4|0:e)>>2]|0}while((e|0)!=0);if((f|0)!=225600){if((c[f+16>>2]|0)>>>0>g>>>0){e=0;f=0;break}f=c[f+20>>2]|0;e=f}else{e=0;f=0}}else{e=0;f=0}while(0);gk[c[(c[56408]|0)+12>>2]&1023](225632)|0;Bk[c[(c[e>>2]|0)+36>>2]&2047](f);g=c[(c[j>>2]|0)+124>>2]|0;gk[c[(c[56408]|0)+8>>2]&1023](225632)|0;e=c[56400]|0;do if(!e){e=0;f=0}else{f=225600;do{n=(c[e+16>>2]|0)>>>0<g>>>0;f=n?f:e;e=c[(n?e+4|0:e)>>2]|0}while((e|0)!=0);if((f|0)==225600){e=0;f=0;break}if((c[f+16>>2]|0)>>>0>g>>>0){e=0;f=0;break}f=c[f+20>>2]|0;e=f}while(0);gk[c[(c[56408]|0)+12>>2]&1023](225632)|0;Bk[c[(c[e>>2]|0)+32>>2]&2047](f);do if(!(a[223632]|0)){if(!(g2a(223632)|0))break;kr(225352)}while(0);if((c[56338]|0)<=3)break;n=mr(lr(4)|0,136384,25)|0;BSa(i,n+(c[(c[n>>2]|0)+-12>>2]|0)|0);m=cUa(i,230580)|0;m=kk[c[(c[m>>2]|0)+28>>2]&511](m,10)|0;dUa(i);VSa(n,m)|0;HSa(n)|0}while(0);gk[c[(c[b>>2]|0)+196>>2]&1023](b)|0;c[d>>2]=-1}while(0);Bk[c[(c[b>>2]|0)+184>>2]&2047](b)}if(!h){if(!(c[j>>2]|0)){l=k;return}if((a[223632]|0)==0?g2a(223632)|0:0)kr(225352);if((c[56338]|0)>3){n=mr(lr(4)|0,136486,40)|0;BSa(i,n+(c[(c[n>>2]|0)+-12>>2]|0)|0);m=cUa(i,230580)|0;m=kk[c[(c[m>>2]|0)+28>>2]&511](m,10)|0;dUa(i);VSa(n,m)|0;HSa(n)|0}g=c[(c[j>>2]|0)+124>>2]|0;gk[c[(c[56408]|0)+8>>2]&1023](225632)|0;e=c[56400]|0;if(e){f=225600;do{n=(c[e+16>>2]|0)>>>0<g>>>0;f=n?f:e;e=c[(n?e+4|0:e)>>2]|0}while((e|0)!=0);if((f|0)!=225600?(c[f+16>>2]|0)>>>0<=g>>>0:0){f=c[f+20>>2]|0;e=f}else{e=0;f=0}}else{e=0;f=0}gk[c[(c[56408]|0)+12>>2]&1023](225632)|0;Bk[c[(c[e>>2]|0)+40>>2]&2047](f)}e=c[j>>2]|0;if(!e){l=k;return}pH(c[e+124>>2]|0);e=c[j>>2]|0;if(!e){l=k;return}c[j>>2]=0;m=e+8|0;n=c[m>>2]|0;c[m>>2]=n-1;if((n|0)!=1){l=k;return}UU(e,1,1);l=k;return}function eH(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=l;l=l+16|0;d=i;if((a[223632]|0)==0?g2a(223632)|0:0)kr(225352);if((c[56338]|0)>3){f=USa(mr(lr(4)|0,136214,39)|0,b)|0;BSa(d,f+(c[(c[f>>2]|0)+-12>>2]|0)|0);e=cUa(d,230580)|0;e=kk[c[(c[e>>2]|0)+28>>2]&511](e,10)|0;dUa(d);VSa(f,e)|0;HSa(f)|0}if(!b){l=i;return}gk[c[(c[56408]|0)+8>>2]&1023](225632)|0;d=c[56411]|0;e=c[56412]|0;f=e;a:do if((d|0)==(e|0)){h=d;g=11}else do{if((c[d>>2]|0)==(b|0)){h=d;g=11;break a}d=d+4|0}while((d|0)!=(e|0));while(0);if((g|0)==11?(h|0)!=(e|0):0){e=h+4|0;d=f-e|0;if(d|0)y2a(h|0,e|0,d|0)|0;c[56412]=h+(d>>2<<2)}gk[c[(c[56408]|0)+12>>2]&1023](225632)|0;l=i;return}function fH(a){a=a|0;var b=0,d=0,e=0;b=c[a>>2]|0;if(b|0?(e=b+8|0,d=c[e>>2]|0,c[e>>2]=d-1,(d|0)==1):0)UU(b,1,1);c[a>>2]=0;return}function gH(a){a=a|0;var b=0,d=0,e=0;b=c[a>>2]|0;if(b|0?(e=b+8|0,d=c[e>>2]|0,c[e>>2]=d-1,(d|0)==1):0)UU(b,1,1);c[a>>2]=0;return}function hH(a){a=a|0;var b=0,d=0,e=0;b=c[a>>2]|0;if(b|0?(e=b+8|0,d=c[e>>2]|0,c[e>>2]=d-1,(d|0)==1):0)UU(b,1,1);c[a>>2]=0;return}function iH(a){a=a|0;var b=0,d=0,e=0;b=c[a>>2]|0;if(!b){c[a>>2]=0;return}b=b+(c[(c[b>>2]|0)+-12>>2]|0)|0;e=b+8|0;d=c[e>>2]|0;c[e>>2]=d-1;if((d|0)!=1){c[a>>2]=0;return}UU(b,1,1);c[a>>2]=0;return}function jH(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;b=a+8|0;if(!(c[b>>2]|0))return;d=c[a+4>>2]|0;e=(c[a>>2]|0)+4|0;g=c[d>>2]|0;c[g+4>>2]=c[e>>2];c[c[e>>2]>>2]=g;c[b>>2]=0;if((d|0)==(a|0))return;do{b=d;d=c[d+4>>2]|0;e=c[b+8>>2]|0;if(e|0?(f=e+(c[(c[e>>2]|0)+-12>>2]|0)|0,e=f+8|0,g=c[e>>2]|0,c[e>>2]=g-1,(g|0)==1):0)UU(f,1,1);l0a(b)}while((d|0)!=(a|0));return}function kH(a){a=a|0;var b=0,d=0,e=0;b=c[a>>2]|0;if(!b){c[a>>2]=0;return}b=b+(c[(c[b>>2]|0)+-12>>2]|0)|0;e=b+8|0;d=c[e>>2]|0;c[e>>2]=d-1;if((d|0)!=1){c[a>>2]=0;return}UU(b,1,1);c[a>>2]=0;return}function lH(a){a=a|0;var b=0,d=0,e=0;b=c[a>>2]|0;if(b|0?(e=b+8|0,d=c[e>>2]|0,c[e>>2]=d-1,(d|0)==1):0)UU(b,1,1);c[a>>2]=0;return}function mH(a){a=a|0;var b=0,d=0,e=0;b=c[a>>2]|0;if(b|0?(e=b+8|0,d=c[e>>2]|0,c[e>>2]=d-1,(d|0)==1):0)UU(b,1,1);c[a>>2]=0;return}function nH(a){a=a|0;var b=0,d=0,e=0,f=0;d=a+8|0;if(!(c[d>>2]|0))return;b=c[a+4>>2]|0;e=(c[a>>2]|0)+4|0;f=c[b>>2]|0;c[f+4>>2]=c[e>>2];c[c[e>>2]>>2]=f;c[d>>2]=0;if((b|0)==(a|0))return;do{f=b;b=c[b+4>>2]|0;l0a(f)}while((b|0)!=(a|0));return}function oH(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;g=a+108|0;d=c[g>>2]|0;if((d|0)==(b|0))return;if(!d)d=0;else{gk[c[(c[d>>2]|0)+16>>2]&1023](d)|0;f=c[g>>2]|0;d=f+20|0;e=c[d>>2]|0;if(e|0?(c[d>>2]=0,h=e+8|0,d=c[h>>2]|0,c[h>>2]=d-1,(d|0)==1):0)UU(e,1,1);c[f+24>>2]=0;d=c[g>>2]|0}if((d|0)!=(b|0)){c[g>>2]=b;if(b|0){h=b+8|0;c[h>>2]=(c[h>>2]|0)+1}if(d|0?(b=d+8|0,h=c[b>>2]|0,c[b>>2]=h-1,(h|0)==1):0)UU(d,1,1)}b=c[g>>2]|0;if(!b)return;d=Vha(a)|0;e=b+20|0;f=c[e>>2]|0;if((f|0)!=(d|0)){c[e>>2]=d;if(d|0){h=d+8|0;c[h>>2]=(c[h>>2]|0)+1}if(f|0?(g=f+8|0,h=c[g>>2]|0,c[g>>2]=h-1,(h|0)==1):0)UU(f,1,1);d=c[e>>2]|0}if(!d)d=0;else d=(c[d+24>>2]|0)==0?0:a;c[b+24>>2]=d;return}function pH(a){a=a|0;var b=0,d=0,e=0,f=0;gk[c[(c[56408]|0)+8>>2]&1023](225632)|0;b=c[56400]|0;do if(b){e=225600;while(1){d=c[b+16>>2]|0;if(d>>>0>a>>>0){d=c[b>>2]|0;if(!d){f=5;break}}else{if(d>>>0>=a>>>0){f=9;break}e=b+4|0;d=c[e>>2]|0;if(!d){f=8;break}else b=e}e=b;b=d}if((f|0)==5){d=b;e=b;break}else if((f|0)==8){d=b;break}else if((f|0)==9){d=b;break}}else{d=225600;e=225600}while(0);b=c[e>>2]|0;if(!b){b=j0a(24)|0;c[b+16>>2]=a;c[b+20>>2]=0;c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=d;c[e>>2]=b;d=c[c[56399]>>2]|0;if(!d)d=b;else{c[56399]=d;d=c[e>>2]|0}fp(c[56400]|0,d);c[56401]=(c[56401]|0)+1}if(!(c[b+20>>2]|0)){a=c[56408]|0;a=a+12|0;a=c[a>>2]|0;gk[a&1023](225632)|0;return}b=c[56400]|0;do if(b){e=225600;while(1){d=c[b+16>>2]|0;if(d>>>0>a>>>0){d=c[b>>2]|0;if(!d){f=20;break}}else{if(d>>>0>=a>>>0){f=24;break}e=b+4|0;d=c[e>>2]|0;if(!d){f=23;break}else b=e}e=b;b=d}if((f|0)==20){d=b;e=b;break}else if((f|0)==23){d=b;break}else if((f|0)==24){d=b;break}}else{d=225600;e=225600}while(0);b=c[e>>2]|0;if(!b){b=j0a(24)|0;c[b+16>>2]=a;c[b+20>>2]=0;c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=d;c[e>>2]=b;d=c[c[56399]>>2]|0;if(!d)d=b;else{c[56399]=d;d=c[e>>2]|0}fp(c[56400]|0,d);c[56401]=(c[56401]|0)+1}if(c[(c[b+20>>2]|0)+28>>2]|0){b=c[56400]|0;do if(b){e=225600;while(1){d=c[b+16>>2]|0;if(d>>>0>a>>>0){d=c[b>>2]|0;if(!d){f=35;break}}else{if(d>>>0>=a>>>0){f=39;break}e=b+4|0;d=c[e>>2]|0;if(!d){f=38;break}else b=e}e=b;b=d}if((f|0)==35){d=b;e=b;break}else if((f|0)==38){d=b;break}else if((f|0)==39){d=b;break}}else{d=225600;e=225600}while(0);b=c[e>>2]|0;if(!b){b=j0a(24)|0;c[b+16>>2]=a;c[b+20>>2]=0;c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=d;c[e>>2]=b;d=c[c[56399]>>2]|0;if(!d)d=b;else{c[56399]=d;d=c[e>>2]|0}fp(c[56400]|0,d);c[56401]=(c[56401]|0)+1}f=(c[b+20>>2]|0)+28|0;c[f>>2]=(c[f>>2]|0)+-1}b=c[56400]|0;do if(b){e=225600;while(1){d=c[b+16>>2]|0;if(d>>>0>a>>>0){d=c[b>>2]|0;if(!d){f=50;break}}else{if(d>>>0>=a>>>0){f=54;break}e=b+4|0;d=c[e>>2]|0;if(!d){f=53;break}else b=e}e=b;b=d}if((f|0)==50){d=b;e=b;break}else if((f|0)==53){d=b;break}else if((f|0)==54){d=b;break}}else{d=225600;e=225600}while(0);b=c[e>>2]|0;if(!b){b=j0a(24)|0;c[b+16>>2]=a;c[b+20>>2]=0;c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=d;c[e>>2]=b;d=c[c[56399]>>2]|0;if(!d)d=b;else{c[56399]=d;d=c[e>>2]|0}fp(c[56400]|0,d);c[56401]=(c[56401]|0)+1}if(c[(c[b+20>>2]|0)+28>>2]|0){a=c[56408]|0;a=a+12|0;a=c[a>>2]|0;gk[a&1023](225632)|0;return}b=c[56400]|0;do if(b){e=225600;while(1){d=c[b+16>>2]|0;if(d>>>0>a>>>0){d=c[b>>2]|0;if(!d){f=65;break}}else{if(d>>>0>=a>>>0){f=69;break}e=b+4|0;d=c[e>>2]|0;if(!d){f=68;break}else b=e}e=b;b=d}if((f|0)==65){d=b;e=b;break}else if((f|0)==68){d=b;break}else if((f|0)==69){d=b;break}}else{d=225600;e=225600}while(0);b=c[e>>2]|0;if(!b){b=j0a(24)|0;c[b+16>>2]=a;c[b+20>>2]=0;c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=d;c[e>>2]=b;d=c[c[56399]>>2]|0;if(!d)d=b;else{c[56399]=d;d=c[e>>2]|0}fp(c[56400]|0,d);c[56401]=(c[56401]|0)+1}b=b+20|0;d=c[b>>2]|0;if(!d){a=c[56408]|0;a=a+12|0;a=c[a>>2]|0;gk[a&1023](225632)|0;return}c[b>>2]=0;f=d+8|0;a=c[f>>2]|0;c[f>>2]=a-1;if((a|0)!=1){a=c[56408]|0;a=a+12|0;a=c[a>>2]|0;gk[a&1023](225632)|0;return}UU(d,1,1);a=c[56408]|0;a=a+12|0;a=c[a>>2]|0;gk[a&1023](225632)|0;return}function qH(a){a=a|0;SU(a);l0a(a);return}function rH(a,b){a=a|0;b=b|0;var d=0,e=0;Bk[c[(c[b>>2]|0)+204>>2]&2047](b);e=c[(c[b+48>>2]|0)+832>>2]|0;d=c[e+1436>>2]|0;if(!d)return;b=a+12|0;a=c[b>>2]|0;if(a|0){mk[d&63](a,0,1e9,0)|0;Bk[c[e+1432>>2]&2047](c[b>>2]|0)}c[b>>2]=kk[c[e+1424>>2]&511](37143,0)|0;return}function sH(a){a=a|0;var b=0,d=0,e=0,f=0;c[a>>2]=74764;b=a+20|0;d=c[b>>2]|0;if(d|0?(f=d+8|0,e=c[f>>2]|0,c[f>>2]=e-1,(e|0)==1):0)UU(d,1,1);c[b>>2]=0;b=a+16|0;d=c[b>>2]|0;if(d|0?(e=d+8|0,f=c[e>>2]|0,c[e>>2]=f-1,(f|0)==1):0)UU(d,1,1);c[b>>2]=0;b=a+12|0;d=c[b>>2]|0;if(!d){c[b>>2]=0;SU(a);return}e=d+8|0;f=c[e>>2]|0;c[e>>2]=f-1;if((f|0)!=1){c[b>>2]=0;SU(a);return}UU(d,1,1);c[b>>2]=0;SU(a);return}function tH(a){a=a|0;sH(a);l0a(a);return}function uH(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;c[a>>2]=74840;f=a+12|0;c[f>>2]=74868;xH(a)|0;b=a+48|0;d=c[b>>2]|0;if(d|0?(e=d+(c[(c[d>>2]|0)+-12>>2]|0)|0,g=e+8|0,d=c[g>>2]|0,c[g>>2]=d-1,(d|0)==1):0)UU(e,1,1);c[b>>2]=0;b=a+44|0;d=c[b>>2]|0;if(d|0?(e=d+8|0,g=c[e>>2]|0,c[e>>2]=g-1,(g|0)==1):0)UU(d,1,1);c[b>>2]=0;oX(a+32|0);b=a+20|0;d=c[b>>2]|0;if(!d){c[b>>2]=0;pha(f);SU(a);return}e=d+8|0;g=c[e>>2]|0;c[e>>2]=g-1;if((g|0)!=1){c[b>>2]=0;pha(f);SU(a);return}UU(d,1,1);c[b>>2]=0;pha(f);SU(a);return}function vH(a){a=a|0;uH(a);l0a(a);return}function wH(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;f=c[a+20>>2]|0;if(((f|0?c[f+24>>2]|0:0)?(b=c[a+24>>2]|0,b|0):0)?(g=y1a(b,42800,44864,0)|0,g|0):0){f=g+72|0;c[f>>2]=ila()|0;b=g+48|0;if(gk[c[(c[g>>2]|0)+188>>2]&1023](g)|0){e=c[b>>2]|0;Bk[c[(c[e>>2]|0)+12>>2]&2047](e)}e=c[b>>2]|0;Bk[c[(c[e>>2]|0)+12>>2]&2047](e);DH(a);e=c[a+44>>2]|0;d=e+12|0;gk[c[(c[d>>2]|0)+8>>2]&1023](d)|0;b=c[e+32>>2]|0;e=e+28|0;a=b;if((e|0)!=(a|0))do{h=c[b+8>>2]|0;Bk[c[c[h>>2]>>2]&2047](h);b=c[a+4>>2]|0;a=b}while((e|0)!=(a|0));gk[c[(c[d>>2]|0)+12>>2]&1023](d)|0;gk[c[(c[g>>2]|0)+196>>2]&1023](g)|0;c[f>>2]=-1;return}DH(a);e=c[a+44>>2]|0;d=e+12|0;gk[c[(c[d>>2]|0)+8>>2]&1023](d)|0;b=c[e+32>>2]|0;e=e+28|0;a=b;if((e|0)!=(a|0))do{h=c[b+8>>2]|0;Bk[c[c[h>>2]>>2]&2047](h);b=c[a+4>>2]|0;a=b}while((e|0)!=(a|0));gk[c[(c[d>>2]|0)+12>>2]&1023](d)|0;return}function xH(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0;m=l;l=l+16|0;i=m;if((a[223632]|0)==0?g2a(223632)|0:0)kr(225352);if((c[56338]|0)>3){h=mr(USa(mr(lr(4)|0,136651,27)|0,b)|0,136679,13)|0;g=b+12|0;h=OSa(h,lla(g)|0)|0;BSa(i,h+(c[(c[h>>2]|0)+-12>>2]|0)|0);k=cUa(i,230580)|0;k=kk[c[(c[k>>2]|0)+28>>2]&511](k,10)|0;dUa(i);VSa(h,k)|0;HSa(h)|0;h=b}else{g=b+12|0;h=b}if(lla(g)|0){c[b+28>>2]=1;if((a[223632]|0)==0?g2a(223632)|0:0)kr(225352);if((c[56338]|0)>3){k=USa(mr(lr(4)|0,136693,16)|0,h)|0;BSa(i,k+(c[(c[k>>2]|0)+-12>>2]|0)|0);j=cUa(i,230580)|0;j=kk[c[(c[j>>2]|0)+28>>2]&511](j,10)|0;dUa(i);VSa(k,j)|0;HSa(k)|0}j=b+32|0;gk[c[(c[j>>2]|0)+8>>2]&1023](j)|0;k=b+44|0;d=c[k>>2]|0;if(d|0){d=c[d+24>>2]|0;e=d+4|0;gk[c[(c[e>>2]|0)+8>>2]&1023](e)|0;f=d+24|0;if(!(a[f>>0]|0)){a[f>>0]=1;Eha(d+16|0)|0}gk[c[(c[e>>2]|0)+12>>2]&1023](e)|0}b=b+48|0;d=c[b>>2]|0;if(d|0)Bk[c[c[d>>2]>>2]&2047](d);gk[c[(c[j>>2]|0)+12>>2]&1023](j)|0;if(lla(g)|0)do{gk[c[(c[j>>2]|0)+8>>2]&1023](j)|0;d=c[k>>2]|0;if(d|0){d=c[d+24>>2]|0;e=d+4|0;gk[c[(c[e>>2]|0)+8>>2]&1023](e)|0;f=d+24|0;if(!(a[f>>0]|0)){a[f>>0]=1;Eha(d+16|0)|0}gk[c[(c[e>>2]|0)+12>>2]&1023](e)|0}d=c[b>>2]|0;if(d|0)Bk[c[c[d>>2]>>2]&2047](d);gk[c[(c[j>>2]|0)+12>>2]&1023](j)|0;if((a[223632]|0)==0?g2a(223632)|0:0)kr(225352);if((c[56338]|0)>4){f=USa(mr(lr(5)|0,136710,41)|0,h)|0;BSa(i,f+(c[(c[f>>2]|0)+-12>>2]|0)|0);e=cUa(i,230580)|0;e=kk[c[(c[e>>2]|0)+28>>2]&511](e,10)|0;dUa(i);VSa(f,e)|0;HSa(f)|0}}while(lla(g)|0);hla(g)|0}if((a[223632]|0)==0?g2a(223632)|0:0)kr(225352);if((c[56338]|0)<=3){l=m;return 0}k=mr(USa(mr(lr(4)|0,136752,45)|0,h)|0,136679,13)|0;k=OSa(k,lla(g)|0)|0;BSa(i,k+(c[(c[k>>2]|0)+-12>>2]|0)|0);j=cUa(i,230580)|0;j=kk[c[(c[j>>2]|0)+28>>2]&511](j,10)|0;dUa(i);VSa(k,j)|0;HSa(k)|0;l=m;return 0}function yH(a){a=a|0;uH(a+-12|0);return}function zH(a){a=a|0;a=a+-12|0;uH(a);l0a(a);return}function AH(a){a=a|0;xH(a+-12|0)|0;return 0}function BH(a){a=a|0;wH(a+-12|0);return}function CH(a){a=a|0;return}function DH(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;v=l;l=l+16|0;j=v;if((a[223632]|0)==0?g2a(223632)|0:0)kr(225352);if((c[56338]|0)>3){s=mr(USa(mr(lr(4)|0,136798,10)|0,b)|0,136679,13)|0;i=b+12|0;s=OSa(s,lla(i)|0)|0;BSa(j,s+(c[(c[s>>2]|0)+-12>>2]|0)|0);r=cUa(j,230580)|0;r=kk[c[(c[r>>2]|0)+28>>2]&511](r,10)|0;dUa(j);VSa(s,r)|0;HSa(s)|0}else i=b+12|0;n=b+32|0;o=b+44|0;p=b+28|0;q=b+48|0;r=b+20|0;s=b+24|0;g=1;do{gk[c[(c[n>>2]|0)+8>>2]&1023](n)|0;d=c[o>>2]|0;if(!d)d=0;else{h=d+8|0;c[h>>2]=(c[h>>2]|0)+1}gk[c[(c[n>>2]|0)+12>>2]&1023](n)|0;EH(j,d,1);f=c[j>>2]|0;if(f){e=f+(c[(c[f>>2]|0)+-12>>2]|0)+8|0;c[e>>2]=(c[e>>2]|0)+1;e=c[j>>2]|0;if((e|0)!=0?(t=e+(c[(c[e>>2]|0)+-12>>2]|0)|0,e=t+8|0,h=c[e>>2]|0,c[e>>2]=h-1,(h|0)==1):0)UU(t,1,1)}else f=0;if(!(c[p>>2]|0))if(!f){h=1;g=0;e=0}else{gk[c[(c[n>>2]|0)+8>>2]&1023](n)|0;e=c[q>>2]|0;if(((e|0)!=(f|0)?(c[q>>2]=f,h=f+(c[(c[f>>2]|0)+-12>>2]|0)+8|0,c[h>>2]=(c[h>>2]|0)+1,e|0):0)?(u=e+(c[(c[e>>2]|0)+-12>>2]|0)|0,g=u+8|0,h=c[g>>2]|0,c[g>>2]=h-1,(h|0)==1):0)UU(u,1,1);gk[c[(c[n>>2]|0)+12>>2]&1023](n)|0;e=c[(c[f>>2]|0)+4>>2]|0;h=c[r>>2]|0;if((h|0)!=0?(c[h+24>>2]|0)!=0:0)g=c[s>>2]|0;else g=0;Jk[e&1023](f,g);gk[c[(c[n>>2]|0)+8>>2]&1023](n)|0;e=c[q>>2]|0;if(e|0?(c[q>>2]=0,k=e+(c[(c[e>>2]|0)+-12>>2]|0)|0,g=k+8|0,h=c[g>>2]|0,c[g>>2]=h-1,(h|0)==1):0)UU(k,1,1);gk[c[(c[n>>2]|0)+12>>2]&1023](n)|0;h=1;g=0;e=f}else{h=0;e=f}if(d|0?(w=d+8|0,f=c[w>>2]|0,c[w>>2]=f-1,(f|0)==1):0)UU(d,1,1);if(e|0?(m=e+(c[(c[e>>2]|0)+-12>>2]|0)|0,f=m+8|0,w=c[f>>2]|0,c[f>>2]=w-1,(w|0)==1):0)UU(m,1,1);if(!h)break;if(pla(i)|0)break}while((c[p>>2]|0)==0);if((a[223632]|0)==0?g2a(223632)|0:0)kr(225352);if((c[56338]|0)<=3){l=v;return}w=mr(USa(mr(lr(4)|0,136809,10)|0,b)|0,136679,13)|0;w=OSa(w,lla(i)|0)|0;BSa(j,w+(c[(c[w>>2]|0)+-12>>2]|0)|0);u=cUa(j,230580)|0;u=kk[c[(c[u>>2]|0)+28>>2]&511](u,10)|0;dUa(j);VSa(w,u)|0;HSa(w)|0;l=v;return}function EH(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;j=d+36|0;if(e?(c[j>>2]|0)==0:0){e=c[d+24>>2]|0;f=e+4|0;gk[c[(c[f>>2]|0)+8>>2]&1023](f)|0;if(!(a[e+24>>0]|0))Bha(e+16|0,f)|0;gk[c[(c[f>>2]|0)+12>>2]&1023](f)|0}i=d+12|0;gk[c[(c[i>>2]|0)+8>>2]&1023](i)|0;if(!(c[j>>2]|0)){c[b>>2]=0;m=c[i>>2]|0;m=m+12|0;m=c[m>>2]|0;gk[m&1023](i)|0;return}f=d+40|0;e=c[f>>2]|0;if((e|0)==(d+28|0)){e=c[d+32>>2]|0;c[d+40>>2]=e}g=c[e+8>>2]|0;if(g|0){h=g+(c[(c[g>>2]|0)+-12>>2]|0)+8|0;c[h>>2]=(c[h>>2]|0)+1}h=c[f>>2]|0;e=h+4|0;if(!(a[g+16>>0]|0)){f=c[e>>2]|0;n=c[h>>2]|0;c[n+4>>2]=f;c[c[e>>2]>>2]=n;c[j>>2]=(c[j>>2]|0)+-1;e=c[h+8>>2]|0;if(e|0?(k=e+(c[(c[e>>2]|0)+-12>>2]|0)|0,e=k+8|0,n=c[e>>2]|0,c[e>>2]=n-1,(n|0)==1):0)UU(k,1,1);l0a(h);c[d+40>>2]=f;if((c[j>>2]|0)==0?(m=c[d+24>>2]|0,l=m+4|0,m=m+24|0,a[m>>0]|0):0){gk[c[(c[l>>2]|0)+8>>2]&1023](l)|0;a[m>>0]=0;gk[c[(c[l>>2]|0)+12>>2]&1023](l)|0}}else c[f>>2]=c[e>>2];c[b>>2]=g;e=g+(c[(c[g>>2]|0)+-12>>2]|0)+8|0;c[e>>2]=(c[e>>2]|0)+1;e=g+(c[(c[g>>2]|0)+-12>>2]|0)|0;m=e+8|0;n=c[m>>2]|0;c[m>>2]=n-1;if((n|0)!=1){n=c[i>>2]|0;n=n+12|0;n=c[n>>2]|0;gk[n&1023](i)|0;return}UU(e,1,1);n=c[i>>2]|0;n=n+12|0;n=c[n>>2]|0;gk[n&1023](i)|0;return}function FH(a){a=a|0;var b=0,d=0,e=0;b=c[a>>2]|0;if(b|0?(e=b+8|0,d=c[e>>2]|0,c[e>>2]=d-1,(d|0)==1):0)UU(b,1,1);c[a>>2]=0;return}function GH(a){a=a|0;var b=0,d=0,e=0;b=c[a>>2]|0;if(b|0?(e=b+8|0,d=c[e>>2]|0,c[e>>2]=d-1,(d|0)==1):0)UU(b,1,1);c[a>>2]=0;return}function HH(a){a=a|0;uH(a);l0a(a);return}function IH(a){a=a|0;uH(a+-12|0);return}function JH(a){a=a|0;a=a+-12|0;uH(a);l0a(a);return}function KH(a){a=a|0;DH(a+-12|0);return}function LH(b){b=b|0;var d=0,e=0;d=b+20|0;gk[c[(c[d>>2]|0)+8>>2]&1023](d)|0;e=b+40|0;if(!(a[e>>0]|0)){a[e>>0]=1;Eha(b+32|0)|0}gk[c[(c[d>>2]|0)+12>>2]&1023](d)|0;return}function MH(a,b){a=a|0;b=b|0;if(!b)return;b=y1a(b,42800,44864,0)|0;if(!b)return;Jk[c[(c[a>>2]|0)+16>>2]&1023](a,b);return}function NH(b){b=b|0;var d=0;SH(b+20|0);c[b>>2]=45020;d=b+44|0;c[d>>2]=45052;b=b+4|0;if((a[b+11>>0]|0)>=0){SU(d);return}l0a(c[b>>2]|0);SU(d);return}function OH(b){b=b|0;var d=0,e=0;SH(b+20|0);c[b>>2]=45020;d=b+44|0;c[d>>2]=45052;e=b+4|0;if((a[e+11>>0]|0)>=0){SU(d);l0a(b);return}l0a(c[e>>2]|0);SU(d);l0a(b);return}function PH(b,d){b=b|0;d=d|0;var e=0;$h();d=b+20|0;gk[c[(c[d>>2]|0)+8>>2]&1023](d)|0;e=b+40|0;if(!(a[e>>0]|0)){a[e>>0]=1;Eha(b+32|0)|0}gk[c[(c[d>>2]|0)+12>>2]&1023](d)|0;return}function QH(b){b=b|0;var d=0;d=b+(c[(c[b>>2]|0)+-16>>2]|0)|0;SH(d+20|0);c[d>>2]=45020;b=d+44|0;c[b>>2]=45052;d=d+4|0;if((a[d+11>>0]|0)>=0){SU(b);return}l0a(c[d>>2]|0);SU(b);return}function RH(b){b=b|0;var d=0,e=0;b=b+(c[(c[b>>2]|0)+-16>>2]|0)|0;SH(b+20|0);c[b>>2]=45020;d=b+44|0;c[d>>2]=45052;e=b+4|0;if((a[e+11>>0]|0)>=0){SU(d);l0a(b);return}l0a(c[e>>2]|0);SU(d);l0a(b);return}function SH(b){b=b|0;var d=0;gk[c[(c[b>>2]|0)+8>>2]&1023](b)|0;d=b+20|0;if(!(a[d>>0]|0)){a[d>>0]=1;Eha(b+12|0)|0}gk[c[(c[b>>2]|0)+12>>2]&1023](b)|0;zha(b+12|0);oX(b);return}function TH(a){a=a|0;return}function UH(a){a=a|0;Di()}function VH(a){a=a|0;Di()}function WH(a){a=a|0;Di()}function XH(a){a=a|0;Di()}function YH(a){a=a|0;Di()}function ZH(a){a=a|0;Di()}function _H(a){a=a|0;Di()}function $H(a){a=a|0;Di()}function aI(a){a=a|0;SU(a);dI(a+12|0);return}function bI(a){a=a|0;SU(a);dI(a+12|0);l0a(a);return}function cI(a,b){a=a|0;b=b|0;var d=0,e=0;b=a+12|0;gk[c[(c[b>>2]|0)+8>>2]&1023](b)|0;d=a+36|0;e=c[d>>2]|0;if(e|0?(e=e+-1|0,c[d>>2]=e,(e|0)==0):0)Eha(a+24|0)|0;gk[c[(c[b>>2]|0)+12>>2]&1023](b)|0;return}function dI(a){a=a|0;var b=0;c[a+20>>2]=0;gk[c[(c[a>>2]|0)+8>>2]&1023](a)|0;b=a+24|0;if(c[b>>2]|0){c[b>>2]=0;Eha(a+12|0)|0}gk[c[(c[a>>2]|0)+12>>2]&1023](a)|0;zha(a+12|0);oX(a);return}function eI(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;c[b>>2]=74980;d=b+112|0;e=c[d>>2]|0;if(e|0){switch(c[b+108>>2]|0){case 1:{m0a(e);break}case 2:{HNa(e);break}default:{}}c[d>>2]=0}f=b+128|0;g=c[f>>2]|0;if(g|0){h=b+132|0;d=c[h>>2]|0;if((d|0)==(g|0))d=g;else{do{d=d+-4|0;e=c[d>>2]|0;if(e|0?(j=e+8|0,i=c[j>>2]|0,c[j>>2]=i-1,(i|0)==1):0)UU(e,1,1);c[d>>2]=0}while((d|0)!=(g|0));d=c[f>>2]|0}c[h>>2]=g;l0a(d)}d=c[b+116>>2]|0;if(d|0){c[b+120>>2]=d;l0a(d)}d=b+52|0;if((a[d+11>>0]|0)>=0){Ys(b);return}l0a(c[d>>2]|0);Ys(b);return}function fI(a){a=a|0;eI(a);l0a(a);return}function gI(b){b=b|0;var d=0,e=0,f=0,h=0;b=j0a(140)|0;Uha(b,1);d=b+12|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;d=b+24|0;e=b+28|0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[e+12>>2]=0;c[e+16>>2]=0;c[e+20>>2]=0;c[b>>2]=74980;e=b+100|0;f=b+52|0;h=f+48|0;do{a[f>>0]=0;f=f+1|0}while((f|0)<(h|0));c[e>>2]=4;g[b+104>>2]=1.0;c[b+108>>2]=1;h=b+112|0;c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;c[h+12>>2]=0;c[h+16>>2]=0;c[h+20>>2]=0;c[h+24>>2]=0;c[d>>2]=1;return b|0}function hI(a,b){a=a|0;b=b|0;var c=0;c=j0a(140)|0;XI(c,a,b);return c|0}function iI(a,b){a=a|0;b=b|0;if(!b){b=0;return b|0}b=(y1a(b,42800,43968,0)|0)!=0;return b|0}function jI(a){a=a|0;return 186332}function kI(a){a=a|0;return 139273}function lI(a){a=a|0;return a|0}function mI(a){a=a|0;return a|0}function nI(a){a=a|0;return c[a+112>>2]|0}function oI(a){a=a|0;return yG(a)|0}function pI(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;r=b+52|0;n=a[r+11>>0]|0;s=n<<24>>24<0;if(s)e=c[b+56>>2]|0;else e=n&255;if(!((e|0)!=0?(m=a[d+52+11>>0]|0,((m<<24>>24<0?c[d+56>>2]|0:m&255)|0)!=0):0)){e=c[b+112>>2]|0;f=c[d+112>>2]|0;if(e>>>0<f>>>0){t=-1;return t|0}if(e>>>0>f>>>0){t=1;return t|0}}e=c[b+72>>2]|0;f=c[d+72>>2]|0;if((e|0)<(f|0)){t=-1;return t|0}if((f|0)<(e|0)){t=1;return t|0}e=c[b+76>>2]|0;f=c[d+76>>2]|0;if((e|0)<(f|0)){t=-1;return t|0}if((f|0)<(e|0)){t=1;return t|0}e=c[b+88>>2]|0;f=c[d+88>>2]|0;if((e|0)<(f|0)){t=-1;return t|0}if((f|0)<(e|0)){t=1;return t|0}e=c[b+92>>2]|0;f=c[d+92>>2]|0;if(e>>>0<f>>>0){t=-1;return t|0}if(f>>>0<e>>>0){t=1;return t|0}e=c[b+96>>2]|0;f=c[d+96>>2]|0;if(e>>>0<f>>>0){t=-1;return t|0}if(f>>>0<e>>>0){t=1;return t|0}e=c[b+100>>2]|0;f=c[d+100>>2]|0;if(e>>>0<f>>>0){t=-1;return t|0}if(f>>>0<e>>>0){t=1;return t|0}k=c[b+120>>2]|0;h=c[d+116>>2]|0;l=c[d+120>>2]|0;g=c[b+116>>2]|0;a:do if((h|0)!=(l|0)){e=g;j=h;while(1){if((e|0)==(k|0)){e=-1;f=44;break}f=c[e>>2]|0;i=c[j>>2]|0;if(f>>>0<i>>>0){e=-1;f=44;break}if(i>>>0<f>>>0)break a;j=j+4|0;if((j|0)==(l|0))break a;else e=e+4|0}if((f|0)==44)return e|0}while(0);b:do if((g|0)!=(k|0)){while(1){if((h|0)==(l|0)){e=1;f=44;break}e=c[h>>2]|0;f=c[g>>2]|0;if(e>>>0<f>>>0){e=1;f=44;break}if(f>>>0<e>>>0)break b;g=g+4|0;if((g|0)==(k|0))break b;else h=h+4|0}if((f|0)==44)return e|0}while(0);e=c[b+32>>2]|0;f=c[d+32>>2]|0;if(e>>>0<f>>>0){t=-1;return t|0}if(f>>>0<e>>>0){t=1;return t|0}l=c[b+112>>2]|0;m=c[d+112>>2]|0;if(((m|0)!=0|(l|0)!=0)&(l|0)==(m|0)){t=0;return t|0}l=d+52|0;k=a[l+11>>0]|0;m=k<<24>>24<0;k=m?c[d+56>>2]|0:k&255;h=s?c[b+56>>2]|0:n&255;j=k>>>0<h>>>0;g=j?k:h;i=(g|0)==0;do if(i)f=37;else{e=m?c[l>>2]|0:l;f=cOa(s?c[r>>2]|0:r,e,g)|0;if(!f){f=37;break}if((f|0)<0)e=-1;else{o=e;p=r;q=r;f=41;break}return e|0}while(0);do if((f|0)==37){if(h>>>0<k>>>0){t=-1;return t|0}if(i){f=42;break}o=m?c[l>>2]|0:l;p=r;q=r;f=41}while(0);if((f|0)==41){e=cOa(o,s?c[p>>2]|0:q,g)|0;if(!e)f=42;else t=e}if((f|0)==42)t=j<<31>>31;t=t>>>31;return t|0}function qI(b,d,e,f,g,h,i){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0;c[b+120>>2]=c[b+116>>2];n=b+112|0;if(!(c[n>>2]|0))k=0;else{l=c[b+72>>2]|0;o=c[b+100>>2]|0;l=N(zG(c[b+92>>2]|0,c[b+96>>2]|0)|0,l)|0;k=(o|0)==0?8:o<<3;m=(l|0)/(k|0)|0;k=m+((l-(N(m,k)|0)|0)!=0&1)|0;k=N(N(N(c[b+76>>2]|0,o)|0,c[b+80>>2]|0)|0,k)|0}m=N(zG(g,h)|0,d)|0;l=(i|0)==0?8:i<<3;o=(m|0)/(l|0)|0;l=N(N(N(f,e)|0,i)|0,o+((m-(N(o,l)|0)|0)!=0&1)|0)|0;do if((l|0)==(k|0))o=12;else{if(l|0){WI(b,k0a(l)|0,1);o=12;break}k=c[n>>2]|0;if(k|0){switch(c[b+108>>2]|0){case 1:{m0a(k);break}case 2:{HNa(k);break}default:{}}c[n>>2]=0}m=b+72|0;k=c[m>>2]|0;o=18}while(0);do if((o|0)==12){m=b+72|0;k=c[m>>2]|0;if(c[n>>2]|0){n=b+76|0;if((k|0)==(d|0)?(c[n>>2]|0)==(e|0):0)l=(c[b+80>>2]|0)!=(f|0);else l=1;c[m>>2]=d;c[n>>2]=e;c[b+80>>2]=f;c[b+92>>2]=g;c[b+96>>2]=h;c[b+100>>2]=i;c[b+84>>2]=0;k=b+88|0;if(!(c[k>>2]|0)){c[k>>2]=g;if(l){o=23;break}else break}else if(l){o=23;break}else break}else o=18}while(0);if((o|0)==18){l=b+76|0;if((k|0)==0?(c[l>>2]|0)==0:0)k=(c[b+80>>2]|0)!=0;else k=1;c[m>>2]=0;c[l>>2]=0;c[b+80>>2]=0;c[b+92>>2]=0;c[b+96>>2]=0;c[b+100>>2]=0;c[b+84>>2]=0;if(k)o=23}if((o|0)==23?(j=c[b+128>>2]|0,p=b+132|0,(j|0)!=(c[p>>2]|0)):0)do{o=c[j>>2]|0;Jk[c[(c[o>>2]|0)+12>>2]&1023](o,b);j=j+4|0}while((j|0)!=(c[p>>2]|0));j=b+32|0;c[j>>2]=(c[j>>2]|0)+1;j=c[b+44>>2]|0;if(j|0)Jk[c[(c[j>>2]|0)+20>>2]&1023](j,b);j=c[b+40>>2]|0;if(!j)return;e=j+60|0;d=j+64|0;j=c[d>>2]|0;k=c[e>>2]|0;if((j|0)==(k|0))return;n=0;l=k;m=k;while(1){if(!(c[l+(n<<2)>>2]|0))k=m;else{k=j-l>>2;if(k>>>0>n>>>0)k=m;else{Bs(e,n+1-k|0);j=c[d>>2]|0;k=c[e>>2]|0}a[(c[k+(n<<2)>>2]|0)+36>>0]=1;l=k}n=n+1|0;if(n>>>0>=j-l>>2>>>0)break;else m=k}return}function rI(b,d,e,f,g,h,i,j,k,l,m){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;var n=0,o=0,p=0,q=0,r=0,s=0,t=0;c[b+120>>2]=c[b+116>>2];n=b+72|0;p=b+76|0;if((c[n>>2]|0)==(d|0)?(c[p>>2]|0)==(e|0):0)t=(c[b+80>>2]|0)!=(f|0);else t=1;c[n>>2]=d;c[p>>2]=e;c[b+80>>2]=f;c[b+88>>2]=g;c[b+92>>2]=h;c[b+96>>2]=i;WI(b,j,k);c[b+100>>2]=l;c[b+84>>2]=m;d=b+32|0;c[d>>2]=(c[d>>2]|0)+1;d=c[b+44>>2]|0;if(d|0)Jk[c[(c[d>>2]|0)+20>>2]&1023](d,b);d=c[b+40>>2]|0;if(d|0?(r=d+60|0,s=d+64|0,o=c[s>>2]|0,q=c[r>>2]|0,(o|0)!=(q|0)):0){p=0;n=q;m=q;while(1){if(!(c[n+(p<<2)>>2]|0))d=o;else{d=o-n>>2;if(d>>>0>p>>>0)d=o;else{Bs(r,p+1-d|0);d=c[s>>2]|0;m=c[r>>2]|0}a[(c[m+(p<<2)>>2]|0)+36>>0]=1;n=m}p=p+1|0;if(p>>>0>=d-n>>2>>>0)break;else o=d}}if(!t)return;d=c[b+128>>2]|0;m=b+132|0;if((d|0)==(c[m>>2]|0))return;do{t=c[d>>2]|0;Jk[c[(c[t>>2]|0)+12>>2]&1023](t,b);d=d+4|0}while((d|0)!=(c[m>>2]|0));return}function sI(a,b,d,e,f,g,h,i){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;Uk[c[(c[a>>2]|0)+192>>2]&15](a,e,f,1,g,h,i);ei(3333,c[a+100>>2]|0);ei(3330,c[a+84>>2]|0);fi(b|0,d|0,e|0,f|0,g|0,h|0,c[a+112>>2]|0);return}function tI(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;d=l;l=l+16|0;b=d;if((a[223632]|0)==0?g2a(223632)|0:0)kr(225352);if((c[56338]|0)<=2){l=d;return}g=mr(lr(3)|0,139212,60)|0;BSa(b,g+(c[(c[g>>2]|0)+-12>>2]|0)|0);f=cUa(b,230580)|0;f=kk[c[(c[f>>2]|0)+28>>2]&511](f,10)|0;dUa(b);VSa(g,f)|0;HSa(g)|0;l=d;return}function uI(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;u=l;l=l+80|0;q=u+64|0;i=u;p=b+72|0;if(((c[p>>2]|0)==(d|0)?(c[b+76>>2]|0)==(e|0):0)?(c[b+80>>2]|0)==(f|0):0){l=u;return}h=b+112|0;if(!(c[h>>2]|0)){if((a[223632]|0)==0?g2a(223632)|0:0)kr(225352);if((c[56338]|0)<=1){l=u;return}t=mr(lr(2)|0,139065,67)|0;BSa(q,t+(c[(c[t>>2]|0)+-12>>2]|0)|0);s=cUa(q,230580)|0;s=kk[c[(c[s>>2]|0)+28>>2]&511](s,10)|0;dUa(q);VSa(t,s)|0;HSa(t)|0;l=u;return}if((f|0)!=1?1:(c[b+80>>2]|0)!=1){if((a[223632]|0)==0?g2a(223632)|0:0)kr(225352);if((c[56338]|0)<=1){l=u;return}t=mr(lr(2)|0,139133,78)|0;BSa(q,t+(c[(c[t>>2]|0)+-12>>2]|0)|0);s=cUa(q,230580)|0;s=kk[c[(c[s>>2]|0)+28>>2]&511](s,10)|0;dUa(q);VSa(t,s)|0;HSa(t)|0;l=u;return}o=b+92|0;m=b+100|0;v=c[m>>2]|0;k=N(zG(c[o>>2]|0,g)|0,d)|0;f=(v|0)==0?8:v<<3;n=(k|0)/(f|0)|0;f=k0a(N(N(v,e)|0,n+((k-(N(n,f)|0)|0)!=0&1)|0)|0)|0;n=i+4|0;k=n+4|0;c[k>>2]=0;c[k+4>>2]=0;c[k+8>>2]=0;c[k+12>>2]=0;c[k+16>>2]=0;c[k+20>>2]=0;k=i+36|0;c[k>>2]=0;c[k+4>>2]=0;c[k+8>>2]=0;c[k+12>>2]=0;c[k+16>>2]=0;c[k+20>>2]=0;c[k+24>>2]=0;m=c[m>>2]|0;c[i>>2]=m;k=b+84|0;c[n>>2]=c[k>>2];c[i+32>>2]=m;m=b+76|0;n=b+96|0;o=FI(i,c[o>>2]|0,c[p>>2]|0,c[m>>2]|0,c[n>>2]|0,c[h>>2]|0,d,e,g,f)|0;if(o){m0a(f);if((a[223632]|0)==0?g2a(223632)|0:0)kr(225352);if((c[56338]|0)>1){h=mr(lr(2)|0,137499,58)|0;a:do if((o|0)>=1286){if((o|0)>=100901)switch(o|0){case 100904:{f=13;i=36;break a}case 100901:{f=10;i=36;break a}case 100902:{f=11;i=36;break a}case 100903:{f=12;i=36;break a}default:{i=37;break a}}if((o|0)<32817){switch(o|0){case 1286:break;default:{i=37;break a}}f=8;i=36;break}if((o|0)<100900){switch(o|0){case 32817:break;default:{i=37;break a}}f=7;i=36;break}else{switch(o|0){case 100900:break;default:{i=37;break a}}f=9;i=36;break}}else switch(o|0){case 1280:{f=1;i=36;break a}case 1281:{f=2;i=36;break a}case 1282:{f=3;i=36;break a}case 1283:{f=4;i=36;break a}case 1284:{f=5;i=36;break a}case 1285:{f=6;i=36;break a}default:{i=37;break a}}while(0);if((i|0)==36){f=80+(f<<3)+4|0;i=38}else if((i|0)==37)if((o+-100151|0)>>>0<6){f=48+(o+-100150<<2)|0;i=38}else f=0;if((i|0)==38)f=c[f>>2]|0;v=mr(mr(h,f,VNa(f)|0)|0,137558,39)|0;BSa(q,v+(c[(c[v>>2]|0)+-12>>2]|0)|0);p=cUa(q,230580)|0;p=kk[c[(c[p>>2]|0)+28>>2]&511](p,10)|0;dUa(q);VSa(v,p)|0;HSa(v)|0}}else{c[p>>2]=d;c[m>>2]=e;c[k>>2]=0;c[n>>2]=g;WI(b,f,1)}f=b+32|0;c[f>>2]=(c[f>>2]|0)+1;f=c[b+44>>2]|0;if(f|0)Jk[c[(c[f>>2]|0)+20>>2]&1023](f,b);f=c[b+40>>2]|0;if(f|0?(s=f+60|0,t=f+64|0,j=c[t>>2]|0,r=c[s>>2]|0,(j|0)!=(r|0)):0){k=0;i=r;h=r;while(1){if(!(c[i+(k<<2)>>2]|0))f=j;else{f=j-i>>2;if(f>>>0>k>>>0)f=j;else{Bs(s,k+1-f|0);f=c[t>>2]|0;h=c[s>>2]|0}a[(c[h+(k<<2)>>2]|0)+36>>0]=1;i=h}k=k+1|0;if(k>>>0>=f-i>>2>>>0)break;else j=f}}l=u;return}function vI(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;y=l;l=l+80|0;w=y+64|0;p=y;if(!g){l=y;return}m=e|d;if((m|f|0)<0){if((a[223632]|0)==0?g2a(223632)|0:0)kr(225352);if((c[56338]|0)<=1){l=y;return}g=mr(lr(2)|0,137075,93)|0;BSa(w,g+(c[(c[g>>2]|0)+-12>>2]|0)|0);x=cUa(w,230580)|0;x=kk[c[(c[x>>2]|0)+28>>2]&511](x,10)|0;dUa(w);VSa(g,x)|0;HSa(g)|0;l=y;return}r=b+112|0;if(!(c[r>>2]|0)){if((a[223632]|0)==0?g2a(223632)|0:0)kr(225352);if((c[56338]|0)>3){x=mr(lr(4)|0,137169,16)|0;BSa(w,x+(c[(c[x>>2]|0)+-12>>2]|0)|0);v=cUa(w,230580)|0;v=kk[c[(c[v>>2]|0)+28>>2]&511](v,10)|0;dUa(w);VSa(x,v)|0;HSa(x)|0}Uk[c[(c[b>>2]|0)+192>>2]&15](b,(c[g+72>>2]|0)+d|0,(c[g+76>>2]|0)+e|0,(c[g+80>>2]|0)+f|0,c[g+92>>2]|0,c[g+96>>2]|0,c[g+100>>2]|0)}s=b+72|0;if(((c[s>>2]|0)>(d|0)?(t=b+76|0,(c[t>>2]|0)>(e|0)):0)?(c[b+80>>2]|0)>(f|0):0){v=b+92|0;i=c[v>>2]|0;x=g+92|0;if((i|0)!=(c[x>>2]|0)){if((a[223632]|0)==0?g2a(223632)|0:0)kr(225352);if((c[56338]|0)<=1){l=y;return}g=mr(lr(2)|0,137283,103)|0;BSa(w,g+(c[(c[g>>2]|0)+-12>>2]|0)|0);x=cUa(w,230580)|0;x=kk[c[(c[x>>2]|0)+28>>2]&511](x,10)|0;dUa(w);VSa(g,x)|0;HSa(g)|0;l=y;return}h=c[r>>2]|0;if(!h)f=0;else{j=b+96|0;i=h+((N(zG(i,c[j>>2]|0)|0,d)|0)>>>3)|0;h=c[b+84>>2]|0;if(!h)h=c[s>>2]|0;q=b+100|0;B=c[q>>2]|0;A=N(zG(c[v>>2]|0,c[j>>2]|0)|0,h)|0;h=(B|0)==0?8:B<<3;z=(A|0)/(h|0)|0;h=i+(N(N(B,e)|0,z+((A-(N(z,h)|0)|0)!=0&1)|0)|0)|0;z=c[s>>2]|0;i=c[q>>2]|0;z=N(zG(c[v>>2]|0,c[j>>2]|0)|0,z)|0;q=(i|0)==0?8:i<<3;j=(z|0)/(q|0)|0;q=j+((z-(N(j,q)|0)|0)!=0&1)|0;f=h+(N(N(N(i,f)|0,c[t>>2]|0)|0,q)|0)|0}if(EI(b)|0){AG(p,c[v>>2]|0);q=c[p>>2]|0;do if((q|0)==4?(c[p+4>>2]|0)==4:0){h=g+72|0;i=c[h>>2]|0;if((i&3|0)==0?(k=c[g+76>>2]|0,((m|k)&3|0)==0):0){p=i;h=4;u=52;break}if((a[223632]|0)==0?g2a(223632)|0:0)kr(225352);if((c[56338]|0)>1){B=mr(lr(2)|0,137387,51)|0;B=mr(PSa(B,c[h>>2]|0)|0,207266,1)|0;B=mr(PSa(mr(PSa(mr(PSa(B,c[g+76>>2]|0)|0,137439,11)|0,d)|0,188047,1)|0,e)|0,137451,19)|0;BSa(w,B+(c[(c[B>>2]|0)+-12>>2]|0)|0);A=cUa(w,230580)|0;A=kk[c[(c[A>>2]|0)+28>>2]&511](A,10)|0;dUa(w);VSa(B,A)|0;HSa(B)|0}}else u=43;while(0);do if((u|0)==43){h=g+72|0;i=c[h>>2]|0;if(((((i|0)%(q|0)|0|0)==0?(n=c[g+76>>2]|0,o=c[p+4>>2]|0,((n|0)%(o|0)|0|0)==0):0)?((d|0)%(q|0)|0|0)==0:0)?((e|0)%(o|0)|0|0)==0:0){p=i;k=n;h=o;u=52;break}if((a[223632]|0)==0?g2a(223632)|0:0)kr(225352);if((c[56338]|0)>1){B=mr(lr(2)|0,137387,51)|0;B=mr(PSa(B,c[h>>2]|0)|0,207266,1)|0;B=mr(PSa(mr(PSa(mr(PSa(B,c[g+76>>2]|0)|0,137439,11)|0,d)|0,188047,1)|0,e)|0,137471,27)|0;B=mr(PSa(B,c[p>>2]|0)|0,207266,1)|0;B=PSa(B,c[p+4>>2]|0)|0;BSa(w,B+(c[(c[B>>2]|0)+-12>>2]|0)|0);A=cUa(w,230580)|0;A=kk[c[(c[A>>2]|0)+28>>2]&511](A,10)|0;dUa(w);VSa(B,A)|0;HSa(B)|0}}while(0);if((u|0)==52){j=c[s>>2]|0;o=q+-1|0;m=(o+j|0)/(q|0)|0;b=BG(c[v>>2]|0,0)|0;i=(c[r>>2]|0)+(N(((d|0)/(q|0)|0)+(N(m,e)|0)|0,b)|0)|0;j=j-d|0;f=(c[t>>2]|0)-e|0;f=(h+-1+((k|0)<(f|0)?k:f)|0)/(h|0)|0;m=N(b,m)|0;n=((N(o+p|0,b)|0)>>>0)/(q>>>0)|0;h=c[g+112>>2]|0;if(!h)h=0;else{B=g+96|0;zG(c[x>>2]|0,c[B>>2]|0)|0;zG(c[x>>2]|0,c[B>>2]|0)|0;zG(c[x>>2]|0,c[B>>2]|0)|0}if(f|0){k=N((o+((p|0)<(j|0)?p:j)|0)/(q|0)|0,b)|0;j=0;while(1){x2a(i|0,h|0,k|0)|0;j=j+1|0;if((j|0)==(f|0))break;else{i=i+m|0;h=h+n|0}}}}l=y;return}i=p+4|0;j=p+32|0;c[i>>2]=0;c[i+4>>2]=0;c[i+8>>2]=0;c[i+12>>2]=0;c[i+16>>2]=0;c[i+20>>2]=0;c[i+24>>2]=0;c[j>>2]=4;k=p+36|0;c[k>>2]=0;c[k+4>>2]=0;c[k+8>>2]=0;c[k+12>>2]=0;c[k+16>>2]=0;c[k+20>>2]=0;c[k+24>>2]=0;c[p>>2]=c[b+100>>2];h=c[b+84>>2]|0;if(!h)h=c[s>>2]|0;c[i>>2]=h;c[j>>2]=c[g+100>>2];c[k>>2]=c[g+84>>2];B=c[g+72>>2]|0;h=c[g+76>>2]|0;h=FI(p,c[v>>2]|0,B,h,c[g+96>>2]|0,c[g+112>>2]|0,B,h,c[b+96>>2]|0,f)|0;if(h|0){if((a[223632]|0)==0?g2a(223632)|0:0)kr(225352);if((c[56338]|0)>1){i=mr(lr(2)|0,137499,58)|0;a:do if((h|0)>=1286){if((h|0)>=100901)switch(h|0){case 100904:{h=13;u=79;break a}case 100901:{h=10;u=79;break a}case 100902:{h=11;u=79;break a}case 100903:{h=12;u=79;break a}default:{u=80;break a}}if((h|0)<32817){switch(h|0){case 1286:break;default:{u=80;break a}}h=8;u=79;break}if((h|0)<100900){switch(h|0){case 32817:break;default:{u=80;break a}}h=7;u=79;break}else{switch(h|0){case 100900:break;default:{u=80;break a}}h=9;u=79;break}}else switch(h|0){case 1280:{h=1;u=79;break a}case 1281:{h=2;u=79;break a}case 1282:{h=3;u=79;break a}case 1283:{h=4;u=79;break a}case 1284:{h=5;u=79;break a}case 1285:{h=6;u=79;break a}default:{u=80;break a}}while(0);if((u|0)==79){h=80+(h<<3)+4|0;u=81}else if((u|0)==80)if((h+-100151|0)>>>0<6){h=48+(h+-100150<<2)|0;u=81}else h=0;if((u|0)==81)h=c[h>>2]|0;B=mr(mr(i,h,VNa(h)|0)|0,137558,39)|0;BSa(w,B+(c[(c[B>>2]|0)+-12>>2]|0)|0);A=cUa(w,230580)|0;A=kk[c[(c[A>>2]|0)+28>>2]&511](A,10)|0;dUa(w);VSa(B,A)|0;HSa(B)|0}}l=y;return}if((a[223632]|0)==0?g2a(223632)|0:0)kr(225352);if((c[56338]|0)<=1){l=y;return}B=mr(lr(2)|0,137186,96)|0;BSa(w,B+(c[(c[B>>2]|0)+-12>>2]|0)|0);A=cUa(w,230580)|0;A=kk[c[(c[A>>2]|0)+28>>2]&511](A,10)|0;dUa(w);VSa(B,A)|0;HSa(B)|0;l=y;return}function wI(d){d=d|0;var f=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;v=d+92|0;f=c[v>>2]|0;a:do if((f|0)<32993)switch(f|0){case 6406:{n=1;o=0;break a}case 6410:{n=2;o=1;break a}case 6408:{n=4;o=3;break a}default:{v=0;return v|0}}else switch(f|0){case 32993:{n=4;o=3;break a}case 33777:case 33778:case 33779:{v=DI(c[d+72>>2]|0,c[d+76>>2]|0,f,c[d+112>>2]|0)|0;return v|0}default:{v=0;return v|0}}while(0);p=d+80|0;if((c[p>>2]|0)<=0){v=0;return v|0}q=d+76|0;r=d+112|0;s=d+96|0;t=d+84|0;u=d+72|0;m=d+100|0;l=0;f=c[q>>2]|0;b:while(1){if((f|0)>0){k=0;do{d=c[r>>2]|0;if(!d)j=0;else{zG(c[v>>2]|0,c[s>>2]|0)|0;f=c[t>>2]|0;if(!f)f=c[u>>2]|0;w=c[m>>2]|0;j=N(zG(c[v>>2]|0,c[s>>2]|0)|0,f)|0;h=(w|0)==0?8:w<<3;i=(j|0)/(h|0)|0;h=d+(N(N(w,k)|0,i+((j-(N(i,h)|0)|0)!=0&1)|0)|0)|0;d=c[u>>2]|0;i=c[m>>2]|0;d=N(zG(c[v>>2]|0,c[s>>2]|0)|0,d)|0;j=(i|0)==0?8:i<<3;f=(d|0)/(j|0)|0;j=f+((d-(N(f,j)|0)|0)!=0&1)|0;f=c[q>>2]|0;j=h+(N(N(N(i,l)|0,f)|0,j)|0)|0}d=c[s>>2]|0;c:do if((d|0)<5131)switch(d|0){case 5120:{i=c[u>>2]|0;if(!i)break c;d=j+o|0;h=0;while(1){if((a[d>>0]|0)!=127){f=1;d=73;break b}h=h+1|0;if(h>>>0>=i>>>0)break;else d=d+n|0}break}case 5121:{i=c[u>>2]|0;if(!i)break c;d=j+o|0;h=0;while(1){if((a[d>>0]|0)!=-1){f=1;d=73;break b}h=h+1|0;if(h>>>0>=i>>>0)break;else d=d+n|0}break}case 5122:{i=c[u>>2]|0;if(!i)break c;d=j+(o<<1)|0;h=0;while(1){if((b[d>>1]|0)!=32767){f=1;d=73;break b}h=h+1|0;if(h>>>0>=i>>>0)break;else d=d+(n<<1)|0}break}case 5123:{i=c[u>>2]|0;if(!i)break c;d=j+(o<<1)|0;h=0;while(1){if((b[d>>1]|0)!=-1){f=1;d=73;break b}h=h+1|0;if(h>>>0>=i>>>0)break;else d=d+(n<<1)|0}break}case 5124:{i=c[u>>2]|0;if(!i)break c;d=j+(o<<2)|0;h=0;while(1){if((c[d>>2]|0)!=2147483647){f=1;d=73;break b}h=h+1|0;if(h>>>0>=i>>>0)break;else d=d+(n<<2)|0}break}case 5125:{i=c[u>>2]|0;if(!i)break c;d=j+(o<<2)|0;h=0;while(1){if((c[d>>2]|0)!=-1){f=1;d=73;break b}h=h+1|0;if(h>>>0>=i>>>0)break;else d=d+(n<<2)|0}break}case 5126:{i=c[u>>2]|0;if(!i)break c;d=j+(o<<2)|0;h=0;while(1){if(+g[d>>2]<1.0){f=1;d=73;break b}h=h+1|0;if(h>>>0>=i>>>0)break;else d=d+(n<<2)|0}break}default:break c}else{if((d|0)<32822){if((d|0)<32819){switch(d|0){case 5131:break;default:break c}i=c[u>>2]|0;if(!i)break;d=j+(o<<1)|0;h=0;while(1){if((e[d>>1]|0)<15360){f=1;d=73;break b}h=h+1|0;if(h>>>0>=i>>>0)break c;else d=d+(n<<1)|0}}switch(d|0){case 32820:{i=c[u>>2]|0;if(!i)break c;h=0;d=j;while(1){if(!(b[d>>1]&1)){f=1;d=73;break b}h=h+1|0;if(h>>>0>=i>>>0)break c;else d=d+2|0}}case 32819:{i=c[u>>2]|0;if(!i)break c;h=0;d=j;while(1){if((b[d>>1]&15)!=15){f=1;d=73;break b}h=h+1|0;if(h>>>0>=i>>>0)break c;else d=d+2|0}}default:break c}}switch(d|0){case 33638:{i=c[u>>2]|0;if(!i)break c;h=0;d=j;while(1){if((b[d>>1]|0)>-1){f=1;d=73;break b}h=h+1|0;if(h>>>0>=i>>>0)break;else d=d+2|0}break}case 33637:{i=c[u>>2]|0;if(!i)break c;h=0;d=j;while(1){if((e[d>>1]|0)<61440){f=1;d=73;break b}h=h+1|0;if(h>>>0>=i>>>0)break;else d=d+2|0}break}case 32822:{i=c[u>>2]|0;if(!i)break c;h=0;d=j;while(1){if((c[d>>2]&3|0)!=3){f=1;d=73;break b}h=h+1|0;if(h>>>0>=i>>>0)break;else d=d+4|0}break}case 33640:{i=c[u>>2]|0;if(!i)break c;h=0;d=j;while(1){if((c[d>>2]|0)>>>0<3221225472){f=1;d=73;break b}h=h+1|0;if(h>>>0>=i>>>0)break;else d=d+4|0}break}default:break c}}while(0);k=k+1|0}while((k|0)<(f|0))}l=l+1|0;if((l|0)>=(c[p>>2]|0)){f=0;d=73;break}}if((d|0)==73)return f|0;return 0}function xI(a){a=a|0;return 0}function yI(a,b){a=a|0;b=b|0;return}function zI(a,b){a=a|0;b=b|0;return 0}function AI(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return 0}function BI(a,b,c){a=a|0;b=b|0;c=c|0;return 0}function CI(a,b){a=a|0;b=b|0;return}function DI(f,g,h,i){f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;u=l;l=l+16|0;t=u;f=N((g+3|0)>>>2,(f+3|0)>>>2)|0;switch(h|0){case 33779:{a:do if((f|0)>0){m=t+1|0;n=t+2|0;o=t+3|0;p=t+4|0;q=t+5|0;r=t+6|0;s=t+7|0;while(1){g=a[i>>0]|0;h=a[i+1>>0]|0;a[t>>0]=g;a[m>>0]=h;if((g&255)>(h&255)){if(g<<24>>24!=-1){i=1;break a}g=h&255;a[n>>0]=((g+1533|0)>>>0)/7|0;a[o>>0]=(((g<<1)+1278|0)>>>0)/7|0;a[p>>0]=(((g*3|0)+1023|0)>>>0)/7|0;a[q>>0]=(((g<<2)+768|0)>>>0)/7|0;a[r>>0]=(((g*5|0)+513|0)>>>0)/7|0;g=((((g*6|0)+258|0)>>>0)/7|0)&255}else{k=g&255;g=h&255;a[n>>0]=((g+2+(k<<2)|0)>>>0)/5|0;a[o>>0]=(((k*3|0)+2+(g<<1)|0)>>>0)/5|0;a[p>>0]=(((k<<1)+2+(g*3|0)|0)>>>0)/5|0;a[q>>0]=((k+2+(g<<2)|0)>>>0)/5|0;a[r>>0]=0;g=-1}a[s>>0]=g;k=0;g=(d[i+3>>0]<<8|d[i+2>>0])&65535;h=1;do{if((a[t+(g&7)>>0]|0)!=-1){i=1;break a}g=(g&65535)>>>3;j=k*3|0;if((j>>>3|0)==(h|0)){h=h+1|0;g=(d[i+2+h>>0]<<8-(j&7))+(g&65535)&65535}k=k+1|0}while(k>>>0<16);if((f|0)>1){f=f+-1|0;i=i+16|0}else{i=0;break}}}else i=0;while(0);t=i;l=u;return t|0}case 33777:{if((f|0)<=0){t=0;l=u;return t|0}while(1){if((e[i>>1]|0)<=(e[i+2>>1]|0)){g=c[i+4>>2]|0;if((g&3|0)==3|(g&12|0)==12|(g&48|0)==48|(g&192|0)==192|(g&768|0)==768|(g&3072|0)==3072|(g&12288|0)==12288|(g&49152|0)==49152|(g&196608|0)==196608|(g&786432|0)==786432|(g&3145728|0)==3145728|(g&12582912|0)==12582912|(g&50331648|0)==50331648|(g&201326592|0)==201326592){i=1;f=24;break}if((g&805306368|0)==805306368|g>>>0>3221225471){i=1;f=24;break}}if((f|0)>1){f=f+-1|0;i=i+8|0}else{i=0;f=24;break}}if((f|0)==24){l=u;return i|0}break}case 33778:{if((f|0)<=0){t=0;l=u;return t|0}while(1){if((b[i>>1]|0)!=-1){i=1;f=24;break}if((b[i+2>>1]|0)!=-1){i=1;f=24;break}if((b[i+4>>1]|0)!=-1){i=1;f=24;break}if((b[i+6>>1]|0)!=-1){i=1;f=24;break}if((f|0)>1){f=f+-1|0;i=i+16|0}else{i=0;f=24;break}}if((f|0)==24){l=u;return i|0}break}default:{t=0;l=u;return t|0}}return 0}function EI(a){a=a|0;switch(c[a+92>>2]|0){case 37853:case 37852:case 37851:case 37850:case 37849:case 37848:case 37847:case 37846:case 37845:case 37844:case 37843:case 37842:case 37841:case 37840:case 37821:case 37820:case 37819:case 37818:case 37817:case 37816:case 37815:case 37814:case 37813:case 37812:case 37811:case 37810:case 37809:case 37808:case 37491:case 37490:case 37489:case 37488:case 37497:case 37496:case 37495:case 37494:case 37493:case 37492:case 36196:case 35843:case 35842:case 35841:case 35840:case 36285:case 36286:case 36283:case 36284:case 33779:case 33778:case 33777:case 33776:case 34029:case 34030:case 34026:case 34027:case 34028:case 34025:{a=1;break}default:a=0}return a|0}function FI(f,h,i,k,m,n,o,p,q,r){f=f|0;h=h|0;i=i|0;k=k|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;var s=0,t=0,u=0,v=0,w=0,x=0.0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0;W=l;l=l+32|0;Q=W;R=W+16|0;if((i|0)==0|(k|0)==0|(o|0)==0|(p|0)==0){V=0;l=W;return V|0}if((k|i|o|p|0)<0){V=100901;l=W;return V|0}a:do if((h|0)>=6407){if((h|0)<6410){switch(h|0){case 6409:case 6408:case 6407:break a;default:s=100900}l=W;return s|0}if((h|0)>=32993){switch(h|0){case 32993:case 33319:break a;default:s=100900}l=W;return s|0}if((h|0)<32992){switch(h|0){case 6410:break a;default:s=100900}l=W;return s|0}else{switch(h|0){case 32992:break a;default:s=100900}l=W;return s|0}}else{switch(h|0){case 6406:case 6405:case 6404:case 6403:case 6402:case 6401:case 6400:break a;default:s=100900}l=W;return s|0}while(0);if(!((GI(m)|0)<<24>>24)){V=100900;l=W;return V|0}if(!((GI(q)|0)<<24>>24)){V=100900;l=W;return V|0}b:do switch(m|0){case 32818:case 32819:case 32820:case 32821:case 32822:case 33634:case 33635:case 33636:case 33637:case 33638:case 33639:case 33640:{if((h|0)!=6407&((m|0)==33636|((m|0)==32818|(m|1|0)==33635))){V=100904;l=W;return V|0}switch(m|0){case 32819:case 32820:case 32821:case 32822:case 33637:case 33638:case 33639:case 33640:break;default:break b}if((h|0)<32993){switch(h|0){case 6408:break b;default:s=100904}l=W;return s|0}else{switch(h|0){case 32993:break b;default:s=100904}l=W;return s|0}}default:{}}while(0);c:do switch(q|0){case 32818:case 32819:case 32820:case 32821:case 32822:case 33634:case 33635:case 33636:case 33637:case 33638:case 33639:case 33640:{if((h|0)!=6407&((q|0)==33636|((q|0)==32818|(q|1|0)==33635))){V=100904;l=W;return V|0}switch(q|0){case 32819:case 32820:case 32821:case 32822:case 33637:case 33638:case 33639:case 33640:break;default:break c}if((h|0)<32993){switch(h|0){case 6408:break c;default:s=100904}l=W;return s|0}else{switch(h|0){case 32993:break c;default:s=100904}l=W;return s|0}}default:{}}while(0);if((i|0)<=0)bb(138046,138056,4944,138170);if((k|0)<=0)bb(138181,138056,4945,138170);if((h|0)<32992)switch(h|0){case 6407:{s=3;break}case 6410:{V=19;break}case 6408:{V=20;break}default:V=21}else switch(h|0){case 32992:{s=3;break}case 33319:{V=19;break}case 32993:{V=20;break}default:V=21}if((V|0)==19)s=2;else if((V|0)==20)s=4;else if((V|0)==21)s=1;U=GNa(N(N(~~(+(i|0)*2.0)>>>0,k)|0,s)|0)|0;if((o|0)<=0)bb(138046,138056,4944,138170);if((p|0)<=0)bb(138181,138056,4945,138170);if((h|0)<32992)switch(h|0){case 6407:{s=3;break}case 6410:{V=27;break}case 6408:{V=28;break}default:V=29}else switch(h|0){case 32992:{s=3;break}case 33319:{V=27;break}case 32993:{V=28;break}default:V=29}if((V|0)==27)s=2;else if((V|0)==28)s=4;else if((V|0)==29)s=1;T=GNa(N(N(~~(+(o|0)*2.0)>>>0,p)|0,s)|0)|0;if((U|0)==0|(T|0)==0){HNa(U);HNa(T);V=100902;l=W;return V|0}S=(h|1|0)==6401;HI(f,i,k,h,m,S&1,n,U);if((h|0)<32992)switch(h|0){case 6407:{s=3;break}case 6410:{V=33;break}case 6408:{V=34;break}default:V=35}else switch(h|0){case 32992:{s=3;break}case 33319:{V=33;break}case 32993:{V=34;break}default:V=35}if((V|0)==33)s=2;else if((V|0)==34)s=4;else if((V|0)==35)s=1;II(s,i,k,U,o,p,T);m=c[f+20>>2]|0;d:do switch(q|0){case 32818:case 32819:case 32820:case 32821:case 32822:case 33634:case 33635:case 33636:case 33637:case 33638:case 33639:case 33640:{s=c[f+4>>2]|0;B=1;s=(s|0)>0?s:o;V=68;break}default:{if((h|0)<32992)switch(h|0){case 6407:{B=3;break}case 6410:{V=38;break}case 6408:{V=39;break}default:V=40}else switch(h|0){case 32992:{B=3;break}case 33319:{V=38;break}case 32993:{V=39;break}default:V=40}if((V|0)==38)B=2;else if((V|0)==39)B=4;else if((V|0)==40)B=1;s=c[f+4>>2]|0;s=(s|0)>0?s:o;if((q|0)==6656){z=((N(s,B)|0)+7|0)/8|0;y=c[f>>2]|0;A=(z|0)%(y|0)|0;z=((A|0)==0?0:y-A|0)+z|0;A=f+12|0;y=N(B,o)|0;u=r+(N(z,c[f+8>>2]|0)|0)|0;n=c[A>>2]|0;w=(y|0)>0;v=f+16|0;s=0;m=T;u=u+((N(n,B)|0)/8|0)|0;while(1){n=(N(n,B)|0)%8|0;do if(w)if(S){k=0;f=u;t=m;while(1){i=(c[v>>2]|0)!=0;do if(!(b[t>>1]&1))if(i){i=(1<<n^255)&d[f>>0];break}else{i=(1<<7-n^255)&d[f>>0];break}else if(i){i=1<<n|d[f>>0];break}else{i=1<<7-n|d[f>>0];break}while(0);a[f>>0]=i;n=n+1|0;i=(n|0)==8;k=k+1|0;if((k|0)==(y|0))break;else{n=i?0:n;f=i?f+1|0:f;t=t+2|0}}m=m+(y<<1)|0;break}else{k=0;f=u;t=m;while(1){i=(c[v>>2]|0)!=0;do if((b[t>>1]|0)>-1)if(i){i=(1<<n^255)&d[f>>0];break}else{i=(1<<7-n^255)&d[f>>0];break}else if(i){i=1<<n|d[f>>0];break}else{i=1<<7-n|d[f>>0];break}while(0);a[f>>0]=i;n=n+1|0;i=(n|0)==8;k=k+1|0;if((k|0)==(y|0))break;else{n=i?0:n;f=i?f+1|0:f;t=t+2|0}}m=m+(y<<1)|0;break}while(0);s=s+1|0;if((s|0)==(p|0))break d;u=u+z|0;n=c[A>>2]|0}}else V=68}}while(0);do if((V|0)==68){J=~~+JI(q);O=N(B,J)|0;M=N(O,s)|0;P=c[f>>2]|0;K=(M|0)%(P|0)|0;K=(K|0)==0?0:P-K|0;M=K+M|0;P=f+8|0;L=f+12|0;H=N(B,o)|0;w=c[P>>2]|0;f=r+(N(M,w)|0)|0;u=c[L>>2]|0;I=(H|0)>0;C=(m|0)==0|(J|0)==1;D=(q|0)==5125;E=R+1|0;F=R+2|0;G=R+3|0;v=N(u+s|0,O)|0;w=N(M,p+-1+w|0)|0;y=Q+4|0;z=Q+8|0;A=Q+12|0;t=0;u=f+(N(u,O)|0)|0;s=T;while(1){if(I){f=0;k=u;while(1){e:do if((q|0)<32820){if((q|0)<5124){f:do switch(q|0){case 5121:{m=s+2|0;s=b[s>>1]|0;if(S){a[k>>0]=s;s=m;break e}else{a[k>>0]=(s&65535)>>>8;s=m;break e}}case 5120:{m=s+2|0;s=b[s>>1]|0;if(S){a[k>>0]=s;s=m;break e}else{a[k>>0]=(s&65535)>>>9;s=m;break e}}case 5123:{m=b[s>>1]|0;b[R>>1]=m;s=s+2|0;n=m&255;m=(m&65535)>>>8&255;break}case 5122:{m=s+2|0;i=b[s>>1]|0;if(S){b[R>>1]=i;s=m;n=i&255;m=(i&65535)>>>8&255;break f}else{n=(i&65535)>>>1;b[R>>1]=n;s=m;n=n&255;m=(i&65535)>>>9&255;break f}}default:break e}while(0);if(C){a[k>>0]=n;a[k+1>>0]=a[E>>0]|0;break}else{a[k>>0]=m;a[k+1>>0]=a[R>>0]|0;break}}do if((q|0)<5126){switch(q|0){case 5125:case 5124:break;default:break e}n=s+2|0;m=e[s>>1]|0;if(D)if(S){c[R>>2]=m;s=n;n=m>>>8;break}else{m=m*65537|0;c[R>>2]=m;s=n;n=m>>>8;break}else if(S){c[R>>2]=m;s=n;n=m>>>8;break}else{i=m*65537|0;m=i>>>1;c[R>>2]=m;s=n;n=i>>>9;break}}else{if((q|0)<32818){switch(q|0){case 5126:break;default:break e}m=s+2|0;x=+(e[s>>1]|0);if(S){g[R>>2]=x;i=(g[j>>2]=x,c[j>>2]|0);s=m;n=i>>>8;m=i;break}else{x=x/65535.0;g[R>>2]=x;i=(g[j>>2]=x,c[j>>2]|0);s=m;n=i>>>8;m=i;break}}switch(q|0){case 32818:{g[Q>>2]=+(e[s>>1]|0)/65535.0;g[y>>2]=+(e[s+2>>1]|0)/65535.0;g[z>>2]=+(e[s+4>>1]|0)/65535.0;KI(Q,0,k);s=s+6|0;break e}case 32819:break;default:break e}g[Q>>2]=+(e[s>>1]|0)/65535.0;g[y>>2]=+(e[s+2>>1]|0)/65535.0;g[z>>2]=+(e[s+4>>1]|0)/65535.0;g[A>>2]=+(e[s+6>>1]|0)/65535.0;s=s+8|0;OI(Q,0,R);if(C){b[k>>1]=b[R>>1]|0;break e}else{a[k>>0]=a[E>>0]|0;a[k+1>>0]=a[R>>0]|0;break e}}while(0);m=m&255;if(C){a[k>>0]=m;a[k+1>>0]=a[E>>0]|0;a[k+2>>0]=a[F>>0]|0;a[k+3>>0]=a[G>>0]|0;break}else{a[k+3>>0]=m;a[k+2>>0]=n;a[k+1>>0]=a[F>>0]|0;a[k>>0]=a[G>>0]|0;break}}else do switch(q|0){case 33634:{g[Q>>2]=+(e[s>>1]|0)/65535.0;g[y>>2]=+(e[s+2>>1]|0)/65535.0;g[z>>2]=+(e[s+4>>1]|0)/65535.0;LI(Q,0,k);s=s+6|0;break e}case 33635:{g[Q>>2]=+(e[s>>1]|0)/65535.0;g[y>>2]=+(e[s+2>>1]|0)/65535.0;g[z>>2]=+(e[s+4>>1]|0)/65535.0;s=s+6|0;MI(Q,0,R);if(C){b[k>>1]=b[R>>1]|0;break e}else{a[k>>0]=a[E>>0]|0;a[k+1>>0]=a[R>>0]|0;break e}}case 33636:{g[Q>>2]=+(e[s>>1]|0)/65535.0;g[y>>2]=+(e[s+2>>1]|0)/65535.0;g[z>>2]=+(e[s+4>>1]|0)/65535.0;s=s+6|0;NI(Q,0,R);if(C){b[k>>1]=b[R>>1]|0;break e}else{a[k>>0]=a[E>>0]|0;a[k+1>>0]=a[R>>0]|0;break e}}case 33637:{g[Q>>2]=+(e[s>>1]|0)/65535.0;g[y>>2]=+(e[s+2>>1]|0)/65535.0;g[z>>2]=+(e[s+4>>1]|0)/65535.0;g[A>>2]=+(e[s+6>>1]|0)/65535.0;s=s+8|0;PI(Q,0,R);if(C){b[k>>1]=b[R>>1]|0;break e}else{a[k>>0]=a[E>>0]|0;a[k+1>>0]=a[R>>0]|0;break e}}case 32820:{g[Q>>2]=+(e[s>>1]|0)/65535.0;g[y>>2]=+(e[s+2>>1]|0)/65535.0;g[z>>2]=+(e[s+4>>1]|0)/65535.0;g[A>>2]=+(e[s+6>>1]|0)/65535.0;s=s+8|0;QI(Q,0,R);if(C){b[k>>1]=b[R>>1]|0;break e}else{a[k>>0]=a[E>>0]|0;a[k+1>>0]=a[R>>0]|0;break e}}case 33638:{g[Q>>2]=+(e[s>>1]|0)/65535.0;g[y>>2]=+(e[s+2>>1]|0)/65535.0;g[z>>2]=+(e[s+4>>1]|0)/65535.0;g[A>>2]=+(e[s+6>>1]|0)/65535.0;s=s+8|0;RI(Q,0,R);if(C){b[k>>1]=b[R>>1]|0;break e}else{a[k>>0]=a[E>>0]|0;a[k+1>>0]=a[R>>0]|0;break e}}case 32821:{g[Q>>2]=+(e[s>>1]|0)/65535.0;g[y>>2]=+(e[s+2>>1]|0)/65535.0;g[z>>2]=+(e[s+4>>1]|0)/65535.0;g[A>>2]=+(e[s+6>>1]|0)/65535.0;s=s+8|0;SI(Q,0,R);if(C){c[k>>2]=c[R>>2];break e}else{a[k+3>>0]=a[R>>0]|0;a[k+2>>0]=a[E>>0]|0;a[k+1>>0]=a[F>>0]|0;a[k>>0]=a[G>>0]|0;break e}}case 33639:{g[Q>>2]=+(e[s>>1]|0)/65535.0;g[y>>2]=+(e[s+2>>1]|0)/65535.0;g[z>>2]=+(e[s+4>>1]|0)/65535.0;g[A>>2]=+(e[s+6>>1]|0)/65535.0;s=s+8|0;TI(Q,0,R);if(C){c[k>>2]=c[R>>2];break e}else{a[k+3>>0]=a[R>>0]|0;a[k+2>>0]=a[E>>0]|0;a[k+1>>0]=a[F>>0]|0;a[k>>0]=a[G>>0]|0;break e}}case 32822:{g[Q>>2]=+(e[s>>1]|0)/65535.0;g[y>>2]=+(e[s+2>>1]|0)/65535.0;g[z>>2]=+(e[s+4>>1]|0)/65535.0;g[A>>2]=+(e[s+6>>1]|0)/65535.0;s=s+8|0;UI(Q,0,R);if(C){c[k>>2]=c[R>>2];break e}else{a[k+3>>0]=a[R>>0]|0;a[k+2>>0]=a[E>>0]|0;a[k+1>>0]=a[F>>0]|0;a[k>>0]=a[G>>0]|0;break e}}case 33640:{g[Q>>2]=+(e[s>>1]|0)/65535.0;g[y>>2]=+(e[s+2>>1]|0)/65535.0;g[z>>2]=+(e[s+4>>1]|0)/65535.0;g[A>>2]=+(e[s+6>>1]|0)/65535.0;s=s+8|0;VI(Q,0,R);if(C){c[k>>2]=c[R>>2];break e}else{a[k+3>>0]=a[R>>0]|0;a[k+2>>0]=a[E>>0]|0;a[k+1>>0]=a[F>>0]|0;a[k>>0]=a[G>>0]|0;break e}}default:break e}while(0);while(0);f=f+1|0;if((f|0)==(H|0)){i=s;break}else k=k+J|0}}else i=s;t=t+1|0;if((t|0)==(p|0))break;else{u=u+M|0;s=i}}n=r+(v+K+w)|0;switch(q|0){case 32818:case 32819:case 32820:case 32821:case 32822:case 33634:case 33635:case 33636:case 33637:case 33638:case 33639:case 33640:{m=N(p,o)|0;if((h|0)<32992)switch(h|0){case 6407:{s=3;break}case 6410:{V=136;break}case 6408:{V=137;break}default:V=138}else switch(h|0){case 32992:{s=3;break}case 33319:{V=136;break}case 32993:{V=137;break}default:V=138}if((V|0)==136)s=2;else if((V|0)==137)s=4;else if((V|0)==138)s=1;if((i|0)!=(T+((N(m,s)|0)<<1)|0))bb(138248,138056,5550,138236);break}default:if((i|0)!=(T+((N(N(p,o)|0,B)|0)<<1)|0))bb(138192,138056,5546,138236)}V=N((c[P>>2]|0)+p|0,M)|0;if((n|0)==(r+(V+(N(c[L>>2]|0,O)|0))|0))break;else bb(138311,138056,5554,138236)}while(0);HNa(U);HNa(T);V=0;l=W;return V|0}function GI(a){a=a|0;var b=0;a:do if((a|0)<32820){if((a|0)<5125)switch(a|0){case 5124:case 5123:case 5122:case 5121:case 5120:{a=1;break a}default:{b=2;break a}}if((a|0)<6656)switch(a|0){case 5126:case 5125:{a=1;break a}default:{b=2;break a}}if((a|0)<32818)switch(a|0){case 6656:{a=1;break a}default:{b=2;break a}}else switch(a|0){case 32819:case 32818:{a=1;break a}default:{b=2;break a}}}else switch(a|0){case 33640:case 32822:case 33639:case 32821:case 33638:case 32820:case 33637:case 33636:case 33635:case 33634:{a=1;break}default:b=2}while(0);if((b|0)==2)a=0;return a|0}function HI(e,f,h,i,k,l,m,n){e=e|0;f=f|0;h=h|0;i=i|0;k=k|0;l=l|0;m=m|0;n=n|0;var o=0,p=0,q=0,r=0,s=0,t=0.0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0;q=c[e+52>>2]|0;switch(k|0){case 32818:case 32819:case 32820:case 32821:case 32822:case 33634:case 33635:case 33636:case 33637:case 33638:case 33639:case 33640:{o=c[e+36>>2]|0;p=1;o=(o|0)>0?o:f;break}default:{if((i|0)<32992)switch(i|0){case 6407:{p=3;break}case 6410:{G=3;break}case 6408:{G=4;break}default:G=5}else switch(i|0){case 32992:{p=3;break}case 33319:{G=3;break}case 32993:{G=4;break}default:G=5}if((G|0)==3)p=2;else if((G|0)==4)p=4;else if((G|0)==5)p=1;o=c[e+36>>2]|0;o=(o|0)>0?o:f;if((k|0)==6656){z=((N(o,p)|0)+7|0)/8|0;y=c[e+32>>2]|0;o=(z|0)%(y|0)|0;z=((o|0)==0?0:y-o|0)+z|0;o=N(c[e+44>>2]|0,p)|0;y=N(p,f)|0;if((h|0)<=0)return;p=(o|0)/8|0;w=o-(p<<3)|0;x=e+48|0;v=l<<24>>24==0;if((y|0)<=0)return;u=0;s=m+(N(z,c[e+40>>2]|0)|0)+p|0;while(1){l=(c[x>>2]|0)==0;if(v){o=w;p=0;e=s;q=n;while(1){b[q>>1]=((1<<(l?7-o|0:o)&(d[e>>0]|0)|0)!=0)<<31>>31;o=o+1|0;r=(o|0)==8;p=p+1|0;if((p|0)==(y|0))break;else{o=r?0:o;e=r?e+1|0:e;q=q+2|0}}}else{o=w;p=0;e=s;q=n;while(1){b[q>>1]=(1<<(l?7-o|0:o)&(d[e>>0]|0)|0)!=0&1;o=o+1|0;r=(o|0)==8;p=p+1|0;if((p|0)==(y|0))break;else{o=r?0:o;e=r?e+1|0:e;q=q+2|0}}}u=u+1|0;if((u|0)==(h|0))break;else{n=n+(y<<1)|0;s=s+z|0}}return}}}C=~~+JI(k);r=N(p,C)|0;E=N(r,o)|0;F=c[e+32>>2]|0;s=(E|0)%(F|0)|0;s=(s|0)==0?0:F-s|0;E=s+E|0;F=c[e+40>>2]|0;e=c[e+44>>2]|0;D=N(e,r)|0;z=N(p,f)|0;if((h|0)>0){A=(z|0)>0;B=l<<24>>24==0;x=(C|0)==1|(q|0)==0;y=(k|0)==5122;w=l<<24>>24!=0;v=s+(N(r,o+e|0)|0)+(N(F+h+-1|0,E)|0)|0;l=0;u=m+(N(E,F)|0)+D|0;q=n;while(1){if(A){s=0;r=u;while(1){a:do if((k|0)<32820){if((k|0)<5124)switch(k|0){case 5121:{o=a[r>>0]|0;if(B){b[q>>1]=(o&255)*257;q=q+2|0;break a}else{b[q>>1]=o&255;q=q+2|0;break a}}case 5120:{o=a[r>>0]|0;if(B){b[q>>1]=(o<<24>>24)*516;q=q+2|0;break a}else{b[q>>1]=o<<24>>24;q=q+2|0;break a}}case 5122:case 5123:{if(x){o=r+1|0;e=d[r>>0]|0}else{o=r;e=d[r+1>>0]|0}o=(d[o>>0]|0)<<8|e;if(!y){b[q>>1]=o;q=q+2|0;break a}if(B){b[q>>1]=o<<1;q=q+2|0;break a}else{b[q>>1]=o;q=q+2|0;break a}}default:break a}b:do if((k|0)<5126)switch(k|0){case 5125:case 5124:break;default:break a}else{if((k|0)<32818)switch(k|0){case 5126:break b;default:break a}switch(k|0){case 32818:{e=d[r>>0]|0;b[q>>1]=~~(+(e>>>5|0)/7.0*65535.0);b[q+2>>1]=~~(+(e>>>2&7|0)/7.0*65535.0);b[q+4>>1]=~~(+(e&3|0)/3.0*65535.0);q=q+6|0;break a}case 32819:break;default:break a}if(x)o=b[r>>1]|0;else o=((d[r+1>>0]|0)<<8|(d[r>>0]|0))&65535;e=o&65535;b[q>>1]=~~(+(e>>>12|0)/15.0*65535.0);b[q+2>>1]=~~(+(e>>>8&15|0)/15.0*65535.0);b[q+4>>1]=~~(+(e>>>4&15|0)/15.0*65535.0);b[q+6>>1]=~~(+(e&15|0)/15.0*65535.0);q=q+8|0;break a}while(0);if(x){o=r+3|0;e=(d[r+1>>0]|0)<<8|(d[r>>0]|0)|(d[r+2>>0]|0)<<16}else{o=r;e=(d[r+2>>0]|0)<<8|(d[r+3>>0]|0)|(d[r+1>>0]|0)<<16}o=e|(d[o>>0]|0)<<24;switch(k|0){case 5126:{t=(c[j>>2]=o,+g[j>>2]);if(B){b[q>>1]=~~(t*65535.0);q=q+2|0;break a}else{b[q>>1]=~~t;q=q+2|0;break a}}case 5125:if(w){b[q>>1]=e;q=q+2|0;break a}else{b[q>>1]=o>>>16;q=q+2|0;break a}default:if(w){b[q>>1]=e;q=q+2|0;break a}else{b[q>>1]=o>>>15;q=q+2|0;break a}}}else do switch(k|0){case 33634:{e=d[r>>0]|0;b[q>>1]=~~(+(e&7|0)/7.0*65535.0);b[q+2>>1]=~~(+(e>>>3&7|0)/7.0*65535.0);b[q+4>>1]=~~(+(e>>>6|0)/3.0*65535.0);q=q+6|0;break a}case 33635:{if(x)o=b[r>>1]|0;else o=((d[r+1>>0]|0)<<8|(d[r>>0]|0))&65535;e=o&65535;b[q>>1]=~~(+(e>>>11|0)/31.0*65535.0);b[q+2>>1]=~~(+(e>>>5&63|0)/63.0*65535.0);b[q+4>>1]=~~(+(e&31|0)/31.0*65535.0);q=q+6|0;break a}case 33636:{if(x)o=b[r>>1]|0;else o=((d[r+1>>0]|0)<<8|(d[r>>0]|0))&65535;e=o&65535;b[q>>1]=~~(+(e&31|0)/31.0*65535.0);b[q+2>>1]=~~(+(e>>>5&63|0)/63.0*65535.0);b[q+4>>1]=~~(+(e>>>11|0)/31.0*65535.0);q=q+6|0;break a}case 33637:{if(x)o=b[r>>1]|0;else o=((d[r+1>>0]|0)<<8|(d[r>>0]|0))&65535;e=o&65535;b[q>>1]=~~(+(e&15|0)/15.0*65535.0);b[q+2>>1]=~~(+(e>>>4&15|0)/15.0*65535.0);b[q+4>>1]=~~(+(e>>>8&15|0)/15.0*65535.0);b[q+6>>1]=~~(+(e>>>12|0)/15.0*65535.0);q=q+8|0;break a}case 32820:{if(x)o=b[r>>1]|0;else o=((d[r+1>>0]|0)<<8|(d[r>>0]|0))&65535;e=o&65535;b[q>>1]=~~(+(e>>>11|0)/31.0*65535.0);b[q+2>>1]=~~(+(e>>>6&31|0)/31.0*65535.0);b[q+4>>1]=~~(+(e>>>1&31|0)/31.0*65535.0);b[q+6>>1]=~~(+(e&1|0)*65535.0);q=q+8|0;break a}case 33638:{if(x)o=b[r>>1]|0;else o=((d[r+1>>0]|0)<<8|(d[r>>0]|0))&65535;e=o&65535;b[q>>1]=~~(+(e&31|0)/31.0*65535.0);b[q+2>>1]=~~(+(e>>>5&31|0)/31.0*65535.0);b[q+4>>1]=~~(+(e>>>10&31|0)/31.0*65535.0);b[q+6>>1]=~~(+(e>>>15|0)*65535.0);q=q+8|0;break a}case 32821:{if(x)o=c[r>>2]|0;else o=(d[r+2>>0]|0)<<16|(d[r+3>>0]|0)<<24|(d[r+1>>0]|0)<<8|(d[r>>0]|0);b[q>>1]=~~(+(o>>>24>>>0)/255.0*65535.0);b[q+2>>1]=~~(+((o>>>16&255)>>>0)/255.0*65535.0);b[q+4>>1]=~~(+((o>>>8&255)>>>0)/255.0*65535.0);b[q+6>>1]=~~(+((o&255)>>>0)/255.0*65535.0);q=q+8|0;break a}case 33639:{if(x)o=c[r>>2]|0;else o=(d[r+2>>0]|0)<<16|(d[r+3>>0]|0)<<24|(d[r+1>>0]|0)<<8|(d[r>>0]|0);b[q>>1]=~~(+((o&255)>>>0)/255.0*65535.0);b[q+2>>1]=~~(+((o>>>8&255)>>>0)/255.0*65535.0);b[q+4>>1]=~~(+((o>>>16&255)>>>0)/255.0*65535.0);b[q+6>>1]=~~(+(o>>>24>>>0)/255.0*65535.0);q=q+8|0;break a}case 32822:{if(x)o=c[r>>2]|0;else o=(d[r+2>>0]|0)<<16|(d[r+3>>0]|0)<<24|(d[r+1>>0]|0)<<8|(d[r>>0]|0);b[q>>1]=~~(+(o>>>22>>>0)/1023.0*65535.0);b[q+2>>1]=~~(+((o>>>12&1023)>>>0)/1023.0*65535.0);b[q+4>>1]=~~(+((o>>>2&1023)>>>0)/1023.0*65535.0);b[q+6>>1]=~~(+((o&3)>>>0)/3.0*65535.0);q=q+8|0;break a}case 33640:{if(x)o=c[r>>2]|0;else o=(d[r+2>>0]|0)<<16|(d[r+3>>0]|0)<<24|(d[r+1>>0]|0)<<8|(d[r>>0]|0);b[q>>1]=~~(+((o&1023)>>>0)/1023.0*65535.0);b[q+2>>1]=~~(+((o>>>10&1023)>>>0)/1023.0*65535.0);b[q+4>>1]=~~(+((o>>>20&1023)>>>0)/1023.0*65535.0);b[q+6>>1]=~~(+(o>>>30>>>0)/3.0*65535.0);q=q+8|0;break a}default:break a}while(0);while(0);s=s+1|0;if((s|0)==(z|0))break;else r=r+C|0}}l=l+1|0;if((l|0)==(h|0))break;else u=u+E|0}e=m+v|0}else{q=n;e=0}if(!((GI(k)|0)<<24>>24))bb(138787,138056,3368,138803);switch(k|0){case 32818:case 32819:case 32820:case 32821:case 32822:case 33634:case 33635:case 33636:case 33637:case 33638:case 33639:case 33640:{p=N(h,f)|0;if((i|0)<32992)switch(i|0){case 6407:{o=3;break}case 6410:{G=100;break}case 6408:{G=101;break}default:G=102}else switch(i|0){case 32992:{o=3;break}case 33319:{G=100;break}case 32993:{G=101;break}default:G=102}if((G|0)==100)o=2;else if((G|0)==101)o=4;else if((G|0)==102)o=1;if((q|0)!=(n+((N(p,o)|0)<<1)|0))bb(138876,138056,5208,138865);break}default:if((q|0)!=(n+((N(N(h,f)|0,p)|0)<<1)|0))bb(138821,138056,5204,138865)}if((e|0)==(m+((N(E,F+h|0)|0)+D)|0))return;else bb(138939,138056,5212,138865)}function II(a,d,f,h,i,j,k){a=a|0;d=d|0;f=f|0;h=h|0;i=i|0;j=j|0;k=k|0;var m=0.0,n=0.0,o=0,p=0,q=0,r=0,s=0,t=0,u=0.0,v=0,w=0,x=0,y=0,A=0,B=0.0,C=0,D=0,E=0.0,F=0.0,G=0.0,H=0.0,I=0.0,J=0.0,K=0.0,L=0.0,M=0.0,O=0.0,P=0.0,Q=0,R=0,S=0;R=l;l=l+16|0;Q=R;if((i<<1|0)==(d|0)&(j<<1|0)==(f|0)){D=d>>>1;C=f>>>1;w=N(d,a)|0;if(!C){l=R;return}x=w+a|0;if(!D){l=R;return}y=N(D,a)|0;A=N((D<<2)+-2|0,a)|0;if((a|0)<=0){l=R;return}v=0;while(1){o=0;q=k;r=h;while(1){p=0;s=q;t=r;while(1){b[s>>1]=((e[t>>1]|0)+2+(e[t+(a<<1)>>1]|0)+(e[t+(w<<1)>>1]|0)+(e[t+(x<<1)>>1]|0)|0)>>>2;p=p+1|0;if((p|0)==(a|0))break;else{s=s+2|0;t=t+2|0}}o=o+1|0;if((o|0)==(D|0))break;else{q=q+(a<<1)|0;r=r+(a<<1)+(a<<1)|0}}v=v+1|0;if((v|0)==(C|0))break;else{k=k+(y<<1)|0;h=h+A+(a<<1)+(w<<1)|0}}l=R;return}m=+(f|0)/+(j|0);u=+(d|0)/+(i|0);B=u*.5;n=m*.5;if((j|0)<=0){l=R;return}D=(f|0)>(j|0);P=D?n:.5;O=D?-n:-.5;D=(i|0)>0;x=(d|0)>(i|0);M=x?B:.5;J=x?-B:-.5;x=(a|0)>0;w=0;do{L=(+(w|0)+.5)*m;K=O+L;L=P+L;if(D){y=~~+z(+K);A=K<L;C=N(w,i)|0;v=0;do{H=(+(v|0)+.5)*u;G=J+H;H=M+H;c[Q>>2]=0;c[Q+4>>2]=0;c[Q+8>>2]=0;c[Q+12>>2]=0;a:do if(A){t=~~+z(+G);if(!(G<H)){o=y;while(1){o=o+1|0;if(!(L>+(o|0))){n=0.0;break a}}}s=y;n=0.0;I=K;do{r=s;s=s+1|0;F=I;I=+(s|0);F=(L<I?L:I)-F;r=N((r+f|0)%(f|0)|0,d)|0;if(x){q=t;E=G;do{p=q;q=q+1|0;B=E;E=+(q|0);B=F*((H<E?H:E)-B);p=N(((p+d|0)%(d|0)|0)+r|0,a)|0;o=0;do{S=Q+(o<<2)|0;g[S>>2]=+g[S>>2]+B*+(e[h+(o+p<<1)>>1]|0);o=o+1|0}while((o|0)!=(a|0));n=n+B}while(H>E)}else{o=t;B=G;do{o=o+1|0;E=B;B=+(o|0);n=n+F*((H<B?H:B)-E)}while(H>B)}}while(L>I)}else n=0.0;while(0);p=N(v+C|0,a)|0;if(x){o=0;do{b[k+(o+p<<1)>>1]=~~((+g[Q+(o<<2)>>2]+.5)/n);o=o+1|0}while((o|0)!=(a|0))}v=v+1|0}while((v|0)!=(i|0))}w=w+1|0}while((w|0)!=(j|0));l=R;return}function JI(a){a=a|0;var b=0.0,c=0;a:do if((a|0)<32820){if((a|0)<5125)switch(a|0){case 5123:{b=2.0;break a}case 5122:{b=2.0;break a}case 5121:{b=1.0;break a}case 5120:{b=1.0;break a}case 5124:{b=4.0;break a}default:{c=12;break a}}if((a|0)>=6656)if((a|0)<32818)switch(a|0){case 6656:{b=.125;break a}default:{c=12;break a}}else switch(a|0){case 32818:{c=9;break a}case 32819:{c=10;break a}default:{c=12;break a}}else switch(a|0){case 5125:{b=4.0;break a}case 5126:{b=4.0;break a}default:{c=12;break a}}}else{switch(a|0){case 33634:{c=9;break a}case 33638:case 32820:case 33637:case 33636:case 33635:{c=10;break a}case 33640:case 32822:case 33639:case 32821:break;default:{c=12;break a}}b=4.0}while(0);if((c|0)==9)b=1.0;else if((c|0)==10)b=2.0;else if((c|0)==12)b=4.0;return +b}function KI(b,c,d){b=b|0;c=c|0;d=d|0;var e=0.0,f=0,h=0.0,i=0;e=+g[b>>2];if(!(e>=0.0)|!(e<=1.0))bb(138427,138056,5584,138778);f=b+4|0;h=+g[f>>2];if(!(h>=0.0)|!(h<=1.0))bb(138498,138056,5585,138778);b=b+8|0;h=+g[b>>2];if(!(h>=0.0)|!(h<=1.0))bb(138553,138056,5586,138778);else{i=(~~(e*7.0+.5)&255)<<5;d=d+c|0;a[d>>0]=i;f=(~~(+g[f>>2]*7.0+.5)&255)<<2&28|i;a[d>>0]=f;a[d>>0]=f|~~(+g[b>>2]*3.0+.5)&3;return}}function LI(b,c,d){b=b|0;c=c|0;d=d|0;var e=0.0,f=0,h=0.0,i=0;e=+g[b>>2];if(!(e>=0.0)|!(e<=1.0))bb(138427,138056,5618,138766);f=b+4|0;h=+g[f>>2];if(!(h>=0.0)|!(h<=1.0))bb(138498,138056,5619,138766);b=b+8|0;h=+g[b>>2];if(!(h>=0.0)|!(h<=1.0))bb(138553,138056,5620,138766);else{i=~~(e*7.0+.5)&7;d=d+c|0;a[d>>0]=i;f=(~~(+g[f>>2]*7.0+.5)&255)<<3&56|i&255;a[d>>0]=f;a[d>>0]=f|(~~(+g[b>>2]*3.0+.5)&255)<<6;return}}function MI(a,c,d){a=a|0;c=c|0;d=d|0;var e=0.0,f=0.0,h=0.0;f=+g[a>>2];if(!(f>=0.0)|!(f<=1.0))bb(138427,138056,5659,138757);h=+g[a+4>>2];if(!(h>=0.0)|!(h<=1.0))bb(138498,138056,5660,138757);e=+g[a+8>>2];if(!(e>=0.0)|!(e<=1.0))bb(138553,138056,5661,138757);else{b[d+(c<<1)>>1]=(~~(h*63.0+.5)&65535)<<5&2016|(~~(f*31.0+.5)&65535)<<11|~~(e*31.0+.5)&31;return}}function NI(a,c,d){a=a|0;c=c|0;d=d|0;var e=0.0,f=0.0,h=0.0;f=+g[a>>2];if(!(f>=0.0)|!(f<=1.0))bb(138427,138056,5700,138745);h=+g[a+4>>2];if(!(h>=0.0)|!(h<=1.0))bb(138498,138056,5701,138745);e=+g[a+8>>2];if(!(e>=0.0)|!(e<=1.0))bb(138553,138056,5702,138745);else{b[d+(c<<1)>>1]=(~~(h*63.0+.5)&65535)<<5&2016|~~(f*31.0+.5)&31|(~~(e*31.0+.5)&65535)<<11;return}}function OI(a,c,d){a=a|0;c=c|0;d=d|0;var e=0.0,f=0.0,h=0.0,i=0.0;h=+g[a>>2];if(!(h>=0.0)|!(h<=1.0))bb(138427,138056,5739,138735);i=+g[a+4>>2];if(!(i>=0.0)|!(i<=1.0))bb(138498,138056,5740,138735);f=+g[a+8>>2];if(!(f>=0.0)|!(f<=1.0))bb(138553,138056,5741,138735);e=+g[a+12>>2];if(!(e>=0.0)|!(e<=1.0))bb(138608,138056,5742,138735);else{b[d+(c<<1)>>1]=(~~(i*15.0+.5)&65535)<<8&3840|(~~(h*15.0+.5)&65535)<<12|(~~(f*15.0+.5)&65535)<<4&240|~~(e*15.0+.5)&15;return}}function PI(a,c,d){a=a|0;c=c|0;d=d|0;var e=0.0,f=0.0,h=0.0,i=0.0;h=+g[a>>2];if(!(h>=0.0)|!(h<=1.0))bb(138427,138056,5787,138722);i=+g[a+4>>2];if(!(i>=0.0)|!(i<=1.0))bb(138498,138056,5788,138722);f=+g[a+8>>2];if(!(f>=0.0)|!(f<=1.0))bb(138553,138056,5789,138722);e=+g[a+12>>2];if(!(e>=0.0)|!(e<=1.0))bb(138608,138056,5790,138722);else{b[d+(c<<1)>>1]=(~~(i*15.0+.5)&65535)<<4&240|~~(h*15.0+.5)&15|(~~(f*15.0+.5)&65535)<<8&3840|(~~(e*15.0+.5)&65535)<<12;return}}function QI(a,c,d){a=a|0;c=c|0;d=d|0;var e=0.0,f=0.0,h=0.0,i=0.0;h=+g[a>>2];if(!(h>=0.0)|!(h<=1.0))bb(138427,138056,5834,138712);i=+g[a+4>>2];if(!(i>=0.0)|!(i<=1.0))bb(138498,138056,5835,138712);f=+g[a+8>>2];if(!(f>=0.0)|!(f<=1.0))bb(138553,138056,5836,138712);e=+g[a+12>>2];if(!(e>=0.0)|!(e<=1.0))bb(138608,138056,5837,138712);else{b[d+(c<<1)>>1]=(~~(i*31.0+.5)&65535)<<6&1984|(~~(h*31.0+.5)&65535)<<11|(~~(f*31.0+.5)&65535)<<1&62|~~(e+.5)&1;return}}function RI(a,c,d){a=a|0;c=c|0;d=d|0;var e=0.0,f=0.0,h=0.0,i=0.0;h=+g[a>>2];if(!(h>=0.0)|!(h<=1.0))bb(138427,138056,5882,138699);i=+g[a+4>>2];if(!(i>=0.0)|!(i<=1.0))bb(138498,138056,5883,138699);f=+g[a+8>>2];if(!(f>=0.0)|!(f<=1.0))bb(138553,138056,5884,138699);e=+g[a+12>>2];if(!(e>=0.0)|!(e<=1.0))bb(138608,138056,5885,138699);else{b[d+(c<<1)>>1]=(~~(i*31.0+.5)&65535)<<5&992|~~(h*31.0+.5)&31|(~~(f*31.0+.5)&65535)<<10&31744|(~~(e+.5)&65535)<<15;return}}function SI(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,f=0.0,h=0.0,i=0.0;h=+g[a>>2];if(!(h>=0.0)|!(h<=1.0))bb(138427,138056,5930,138689);i=+g[a+4>>2];if(!(i>=0.0)|!(i<=1.0))bb(138498,138056,5931,138689);f=+g[a+8>>2];if(!(f>=0.0)|!(f<=1.0))bb(138553,138056,5932,138689);e=+g[a+12>>2];if(!(e>=0.0)|!(e<=1.0))bb(138608,138056,5933,138689);else{c[d+(b<<2)>>2]=~~(i*255.0+.5)>>>0<<16&16711680|~~(h*255.0+.5)>>>0<<24|~~(f*255.0+.5)>>>0<<8&65280|~~(e*255.0+.5)>>>0&255;return}}function TI(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,f=0.0,h=0.0,i=0.0;h=+g[a>>2];if(!(h>=0.0)|!(h<=1.0))bb(138427,138056,5978,138676);i=+g[a+4>>2];if(!(i>=0.0)|!(i<=1.0))bb(138498,138056,5979,138676);f=+g[a+8>>2];if(!(f>=0.0)|!(f<=1.0))bb(138553,138056,5980,138676);e=+g[a+12>>2];if(!(e>=0.0)|!(e<=1.0))bb(138608,138056,5981,138676);else{c[d+(b<<2)>>2]=~~(i*255.0+.5)>>>0<<8&65280|~~(h*255.0+.5)>>>0&255|~~(f*255.0+.5)>>>0<<16&16711680|~~(e*255.0+.5)>>>0<<24;return}}function UI(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,f=0.0,h=0.0,i=0.0;h=+g[a>>2];if(!(h>=0.0)|!(h<=1.0))bb(138427,138056,6026,138663);i=+g[a+4>>2];if(!(i>=0.0)|!(i<=1.0))bb(138498,138056,6027,138663);f=+g[a+8>>2];if(!(f>=0.0)|!(f<=1.0))bb(138553,138056,6028,138663);e=+g[a+12>>2];if(!(e>=0.0)|!(e<=1.0))bb(138608,138056,6029,138663);else{c[d+(b<<2)>>2]=~~(i*1023.0+.5)>>>0<<12&4190208|~~(h*1023.0+.5)>>>0<<22|~~(f*1023.0+.5)>>>0<<2&4092|~~(e*3.0+.5)>>>0&3;return}}function VI(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,f=0.0,h=0.0,i=0.0;h=+g[a>>2];if(!(h>=0.0)|!(h<=1.0))bb(138427,138056,6076,138482);i=+g[a+4>>2];if(!(i>=0.0)|!(i<=1.0))bb(138498,138056,6077,138482);f=+g[a+8>>2];if(!(f>=0.0)|!(f<=1.0))bb(138553,138056,6078,138482);e=+g[a+12>>2];if(!(e>=0.0)|!(e<=1.0))bb(138608,138056,6079,138482);else{c[d+(b<<2)>>2]=~~(i*1023.0+.5)>>>0<<10&1047552|~~(h*1023.0+.5)>>>0&1023|~~(f*1023.0+.5)>>>0<<20&1072693248|~~(e*3.0+.5)>>>0<<30;return}}function WI(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;g=b+112|0;h=c[g>>2]|0;f=b+108|0;if(h|0){switch(c[f>>2]|0){case 1:{m0a(h);break}case 2:{HNa(h);break}default:{}}c[g>>2]=0}c[g>>2]=d;c[f>>2]=e;f=b+32|0;c[f>>2]=(c[f>>2]|0)+1;f=c[b+44>>2]|0;if(f|0)Jk[c[(c[f>>2]|0)+20>>2]&1023](f,b);f=c[b+40>>2]|0;if(!f)return;i=f+60|0;b=f+64|0;f=c[b>>2]|0;d=c[i>>2]|0;if((f|0)==(d|0))return;h=0;e=d;g=d;while(1){if(!(c[e+(h<<2)>>2]|0))d=g;else{d=f-e>>2;if(d>>>0>h>>>0)d=g;else{Bs(i,h+1-d|0);f=c[b>>2]|0;d=c[i>>2]|0}a[(c[d+(h<<2)>>2]|0)+36>>0]=1;e=d}h=h+1|0;if(h>>>0>=f-e>>2>>>0)break;else g=d}return}function XI(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0;p=l;l=l+32|0;o=p;Or(b,d,e);c[b>>2]=69040;c[b+32>>2]=0;c[b+36>>2]=0;c[b+40>>2]=0;e=c[d+44>>2]|0;c[b+44>>2]=e;if(e|0){n=e+(c[(c[e>>2]|0)+-12>>2]|0)+8|0;c[n>>2]=(c[n>>2]|0)+1}c[b+48>>2]=0;c[b>>2]=74980;t0a(b+52|0,d+52|0);c[b+64>>2]=c[d+64>>2];c[b+68>>2]=c[d+68>>2];c[b+72>>2]=c[d+72>>2];c[b+76>>2]=c[d+76>>2];c[b+80>>2]=c[d+80>>2];c[b+84>>2]=0;c[b+88>>2]=c[d+88>>2];c[b+92>>2]=c[d+92>>2];c[b+96>>2]=c[d+96>>2];c[b+100>>2]=c[d+100>>2];c[b+104>>2]=c[d+104>>2];c[b+108>>2]=1;m=b+112|0;f=b+116|0;g=d+116|0;n=b+120|0;h=b+124|0;j=d+120|0;c[m>>2]=0;c[m+4>>2]=0;c[m+8>>2]=0;c[m+12>>2]=0;e=(c[j>>2]|0)-(c[g>>2]|0)|0;i=e>>2;if(e|0){if(i>>>0>1073741823)g1a(f);k=j0a(e)|0;c[n>>2]=k;c[f>>2]=k;c[h>>2]=k+(i<<2);f=c[g>>2]|0;e=(c[j>>2]|0)-f|0;if((e|0)>0){x2a(k|0,f|0,e|0)|0;c[n>>2]=k+(e>>>2<<2)}}YI(b+128|0,d+128|0);if(!(c[d+112>>2]|0)){l=p;return}WI(b,k0a(yG(d)|0)|0,1);e=c[m>>2]|0;if(!e){if((a[223632]|0)==0?g2a(223632)|0:0)kr(225352);if((c[56338]|0)<=1){l=p;return}d=mr(lr(2)|0,139279,85)|0;BSa(o,d+(c[(c[d>>2]|0)+-12>>2]|0)|0);b=cUa(o,230580)|0;b=kk[c[(c[b>>2]|0)+28>>2]&511](b,10)|0;dUa(o);VSa(d,b)|0;HSa(d)|0;l=p;return}c[o>>2]=d;k=o+4|0;c[k>>2]=0;c[k+4>>2]=0;c[k+8>>2]=0;c[k+12>>2]=0;c[k+16>>2]=0;xG(o);b=o+16|0;f=c[b>>2]|0;a:do if(f|0){d=o+20|0;m=o+8|0;n=o+12|0;while(1){j=c[d>>2]|0;x2a(e|0,f|0,j|0)|0;i=c[o>>2]|0;if(!i){e=16;break}f=c[i+84>>2]|0;if(!f){e=16;break}if((f|0)==(c[i+72>>2]|0)){e=16;break}r=c[i+116>>2]|0;q=c[i+120>>2]|0;f=(c[k>>2]|0)+1|0;c[k>>2]=f;f=(f|0)>=(c[i+76>>2]|0);g=q;h=r;if((r|0)==(q|0)){if(f?(c[k>>2]=0,r=(c[m>>2]|0)+1|0,c[m>>2]=r,(r|0)>=(c[i+80>>2]|0)):0){e=24;break}}else if((f?(c[k>>2]=0,r=(c[m>>2]|0)+1|0,c[m>>2]=r,(r|0)>=(c[i+80>>2]|0)):0)?(c[m>>2]=0,r=(c[n>>2]|0)+1|0,c[n>>2]=r,r>>>0>=((g-h>>2)+1|0)>>>0):0){e=21;break}xG(o);f=c[b>>2]|0;if(!f)break a;else e=e+j|0}if((e|0)==16){c[b>>2]=0;c[d>>2]=0;break}else if((e|0)==21){c[b>>2]=0;c[d>>2]=0;break}else if((e|0)==24){c[b>>2]=0;c[d>>2]=0;break}}while(0);l=p;return}function YI(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;c[a>>2]=0;i=a+4|0;c[i>>2]=0;f=a+8|0;c[f>>2]=0;h=b+4|0;d=(c[h>>2]|0)-(c[b>>2]|0)|0;g=d>>2;if(!d)return;if(g>>>0>1073741823)g1a(a);e=j0a(d)|0;c[i>>2]=e;c[a>>2]=e;c[f>>2]=e+(g<<2);d=c[b>>2]|0;b=c[h>>2]|0;if((d|0)==(b|0))return;do{a=c[d>>2]|0;c[e>>2]=a;if(a|0){h=a+8|0;c[h>>2]=(c[h>>2]|0)+1}d=d+4|0;e=(c[i>>2]|0)+4|0;c[i>>2]=e}while((d|0)!=(b|0));return}function ZI(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0;m=l;l=l+16|0;j=m;if((d|0)<=-1){l=m;return}e=c[b+212>>2]|0;if((((c[b+216>>2]|0)-e|0)/20|0|0)<=(d|0)){l=m;return}k=c[e+(d*20|0)+12>>2]|0;if(!k){l=m;return}i=k+112|0;if((c[i>>2]|0)==(c[b+112>>2]|0)){l=m;return}a:do switch(c[b+176>>2]|0){case 2:case 4:{e=b+224|0;f=c[e>>2]|0;if((f|0)>-1){if((f|0)<(d|0)){if((a[223632]|0)==0?g2a(223632)|0:0)kr(225352);if((c[56338]|0)>3){h=mr(lr(4)|0,139365,20)|0;h=PSa(mr(PSa(h,c[e>>2]|0)|0,168513,4)|0,d)|0;BSa(j,h+(c[(c[h>>2]|0)+-12>>2]|0)|0);g=cUa(j,230580)|0;g=kk[c[(c[g>>2]|0)+28>>2]&511](g,10)|0;dUa(j);VSa(h,g)|0;HSa(h)|0}f=c[e>>2]|0;if((f|0)>=(d|0))break a;h=b+212|0;while(1){f=(c[h>>2]|0)+(f*20|0)+12|0;g=c[f>>2]|0;if(g|0?(c[f>>2]=0,n=g+8|0,f=c[n>>2]|0,c[n>>2]=f-1,(f|0)==1):0)UU(g,1,1);if((a[223632]|0)==0?g2a(223632)|0:0)kr(225352);if((c[56338]|0)>3){n=mr(lr(4)|0,139386,12)|0;n=PSa(n,c[e>>2]|0)|0;BSa(j,n+(c[(c[n>>2]|0)+-12>>2]|0)|0);g=cUa(j,230580)|0;g=kk[c[(c[g>>2]|0)+28>>2]&511](g,10)|0;dUa(j);VSa(n,g)|0;HSa(n)|0}f=(c[e>>2]|0)+1|0;c[e>>2]=f;if((f|0)>=(d|0))break a}}if((f|0)>(d|0)){if((a[223632]|0)==0?g2a(223632)|0:0)kr(225352);if((c[56338]|0)>3){n=mr(lr(4)|0,139399,17)|0;n=PSa(mr(PSa(n,c[e>>2]|0)|0,168513,4)|0,d)|0;BSa(j,n+(c[(c[n>>2]|0)+-12>>2]|0)|0);h=cUa(j,230580)|0;h=kk[c[(c[h>>2]|0)+28>>2]&511](h,10)|0;dUa(j);VSa(n,h)|0;HSa(n)|0}f=c[e>>2]|0;if((f|0)>(d|0)){h=b+212|0;do{f=(c[h>>2]|0)+(f*20|0)+12|0;g=c[f>>2]|0;if(g|0?(c[f>>2]=0,f=g+8|0,n=c[f>>2]|0,c[f>>2]=n-1,(n|0)==1):0)UU(g,1,1);if((a[223632]|0)==0?g2a(223632)|0:0)kr(225352);if((c[56338]|0)>3){n=mr(lr(4)|0,139386,12)|0;n=PSa(n,c[e>>2]|0)|0;BSa(j,n+(c[(c[n>>2]|0)+-12>>2]|0)|0);g=cUa(j,230580)|0;g=kk[c[(c[g>>2]|0)+28>>2]&511](g,10)|0;dUa(j);VSa(n,g)|0;HSa(n)|0}f=(c[e>>2]|0)+-1|0;c[e>>2]=f}while((f|0)>(d|0))}}}break}default:e=b+224|0}while(0);c[e>>2]=d;rI(b,c[k+72>>2]|0,c[k+76>>2]|0,c[k+80>>2]|0,c[k+88>>2]|0,c[k+92>>2]|0,c[k+96>>2]|0,c[i>>2]|0,0,c[k+100>>2]|0,0);f=k+116|0;e=b+116|0;if((e|0)==(f|0)){l=m;return}Xz(e,c[f>>2]|0,c[k+120>>2]|0);l=m;return}function _I(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;h=b+4|0;g=c[h>>2]|0;e=c[b>>2]|0;f=(g-e|0)/20|0;if(f>>>0<d>>>0){$I(b,d-f|0);return}if(f>>>0<=d>>>0)return;f=e+(d*20|0)|0;if((f|0)!=(g|0)){e=g;do{b=e+-4|0;d=c[b>>2]|0;if(d|0?(i=d+8|0,g=c[i>>2]|0,c[i>>2]=g-1,(g|0)==1):0)UU(d,1,1);c[b>>2]=0;b=e+-8|0;e=e+-20|0;d=c[b>>2]|0;if(d|0?(g=d+8|0,i=c[g>>2]|0,c[g>>2]=i-1,(i|0)==1):0)UU(d,1,1);c[b>>2]=0;if((a[e+11>>0]|0)<0)l0a(c[e>>2]|0)}while((e|0)!=(f|0))}c[h>>2]=f;return}function $I(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;u=l;l=l+32|0;r=u;s=a+8|0;o=c[s>>2]|0;t=a+4|0;d=c[t>>2]|0;f=d;if(((o-d|0)/20|0)>>>0>=b>>>0){do{c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[d+12>>2]=0;c[d+16>>2]=0;d=(c[t>>2]|0)+20|0;c[t>>2]=d;b=b+-1|0}while((b|0)!=0);l=u;return}e=c[a>>2]|0;g=(d-e|0)/20|0;j=g+b|0;m=e;if(j>>>0>214748364)g1a(a);p=(o-e|0)/20|0;h=p<<1;h=p>>>0<107374182?(h>>>0<j>>>0?j:h):214748364;p=r+12|0;c[p>>2]=0;c[r+16>>2]=a+8;do if(h)if(h>>>0>214748364){u=db(8)|0;p0a(u,183738);c[u>>2]=110936;hb(u|0,65952,1066)}else{i=j0a(h*20|0)|0;break}else i=0;while(0);c[r>>2]=i;e=i+(g*20|0)|0;n=r+8|0;q=r+4|0;c[q>>2]=e;k=i+(h*20|0)|0;c[p>>2]=k;z2a(e|0,0,b*20|0)|0;g=i+(j*20|0)|0;c[n>>2]=g;if((f|0)==(m|0)){h=p;i=n;j=d;f=d;b=k;d=o}else{do{d=f;f=f+-20|0;t0a(e+-20|0,f);b=c[d+-8>>2]|0;c[e+-8>>2]=b;if(b|0){o=b+8|0;c[o>>2]=(c[o>>2]|0)+1}d=c[d+-4>>2]|0;c[e+-4>>2]=d;if(d|0){o=d+8|0;c[o>>2]=(c[o>>2]|0)+1}e=(c[q>>2]|0)+-20|0;c[q>>2]=e}while((f|0)!=(m|0));h=p;i=n;j=c[a>>2]|0;g=c[n>>2]|0;f=c[t>>2]|0;b=c[p>>2]|0;d=c[s>>2]|0}c[a>>2]=e;c[q>>2]=j;c[t>>2]=g;c[i>>2]=f;c[s>>2]=b;c[h>>2]=d;c[r>>2]=j;aJ(r);l=u;return}function aJ(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;h=c[b+4>>2]|0;i=b+8|0;d=c[i>>2]|0;if((d|0)!=(h|0))do{g=d+-20|0;c[i>>2]=g;e=d+-4|0;f=c[e>>2]|0;if(f|0?(k=f+8|0,j=c[k>>2]|0,c[k>>2]=j-1,(j|0)==1):0)UU(f,1,1);c[e>>2]=0;d=d+-8|0;e=c[d>>2]|0;if(e|0?(j=e+8|0,k=c[j>>2]|0,c[j>>2]=k-1,(k|0)==1):0)UU(e,1,1);c[d>>2]=0;if((a[g+11>>0]|0)<0)l0a(c[g>>2]|0);d=c[i>>2]|0}while((d|0)!=(h|0));d=c[b>>2]|0;if(!d)return;l0a(d);return}function bJ(a){a=a|0;var b=0,d=0,e=0,f=0;c[a>>2]=75232;b=c[a+64>>2]|0;if(b|0){c[a+68>>2]=b;l0a(b)}b=c[a+52>>2]|0;if(b|0){c[a+56>>2]=b;l0a(b)}b=c[a+40>>2]|0;if(b|0){c[a+44>>2]=b;l0a(b)}b=a+36|0;d=c[b>>2]|0;if(!d){c[b>>2]=0;Fha(a);return}f=d+8|0;e=c[f>>2]|0;c[f>>2]=e-1;if((e|0)!=1){c[b>>2]=0;Fha(a);return}UU(d,1,1);c[b>>2]=0;Fha(a);return}function cJ(a){a=a|0;var b=0,d=0,e=0,f=0;c[a>>2]=75232;b=c[a+64>>2]|0;if(b|0){c[a+68>>2]=b;l0a(b)}b=c[a+52>>2]|0;if(b|0){c[a+56>>2]=b;l0a(b)}b=c[a+40>>2]|0;if(b|0){c[a+44>>2]=b;l0a(b)}b=a+36|0;d=c[b>>2]|0;if(!d){c[b>>2]=0;Fha(a);l0a(a);return}f=d+8|0;e=c[f>>2]|0;c[f>>2]=e-1;if((e|0)!=1){c[b>>2]=0;Fha(a);l0a(a);return}UU(d,1,1);c[b>>2]=0;Fha(a);l0a(a);return}function dJ(a){a=a|0;var b=0,d=0;a=j0a(76)|0;Tha(a);b=a+12|0;c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;c[a+24>>2]=2;c[a+28>>2]=0;c[a>>2]=75232;b=a+32|0;d=b+44|0;do{c[b>>2]=0;b=b+4|0}while((b|0)<(d|0));return a|0}function eJ(a,b){a=a|0;b=b|0;var c=0;c=j0a(76)|0;NJ(c,a,b);return c|0}function fJ(a,b){a=a|0;b=b|0;if(!b){b=0;return b|0}b=(y1a(b,42800,45264,0)|0)!=0;return b|0}function gJ(a){a=a|0;return 186332}function hJ(a){a=a|0;return 139971}function iJ(a,b){a=a|0;b=b|0;Jk[c[(c[b>>2]|0)+8>>2]&1023](b,a);return}function jJ(a,b){a=a|0;b=b|0;Jk[c[(c[b>>2]|0)+8>>2]&1023](b,a);return}function kJ(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,h=0,i=0;i=l;l=l+64|0;h=i;c[h>>2]=a;g[h+4>>2]=3402823466385288598117041.0e14;g[h+8>>2]=3402823466385288598117041.0e14;g[h+12>>2]=3402823466385288598117041.0e14;g[h+16>>2]=-3402823466385288598117041.0e14;g[h+20>>2]=-3402823466385288598117041.0e14;g[h+24>>2]=-3402823466385288598117041.0e14;f=h+28|0;a=f;e=a+36|0;do{c[a>>2]=0;a=a+4|0}while((a|0)<(e|0));e=lJ(h,b,d)|0;a=c[h+52>>2]|0;if(a|0){c[h+56>>2]=a;l0a(a)}a=c[h+40>>2]|0;if(a|0){c[h+44>>2]=a;l0a(a)}a=c[f>>2]|0;if(!a){l=i;return e|0}c[h+32>>2]=a;l0a(a);l=i;return e|0}function lJ(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=l;l=l+80|0;k=s+72|0;o=s+40|0;p=s+16|0;r=s;e=c[d+232>>2]|0;if(!e){r=0;l=s;return r|0}e=y1a(e,43064,45280,0)|0;if(!e){r=0;l=s;return r|0}i=e+76|0;j=e+80|0;f=b+4|0;if((((c[j>>2]|0)-(c[i>>2]|0)|0)/12|0)>>>0<=(c[f>>2]|0)>>>0){r=0;l=s;return r|0}g=FA(d)|0;m=a+4|0;c[m>>2]=c[g>>2];c[m+4>>2]=c[g+4>>2];c[m+8>>2]=c[g+8>>2];c[m+12>>2]=c[g+12>>2];c[m+16>>2]=c[g+16>>2];c[m+20>>2]=c[g+20>>2];g=(c[a>>2]|0)+36|0;h=c[g>>2]|0;if(((h|0)!=(e|0)?(c[g>>2]=e,q=e+8|0,c[q>>2]=(c[q>>2]|0)+1,h|0):0)?(n=h+8|0,q=c[n>>2]|0,c[n>>2]=q-1,(q|0)==1):0)UU(h,1,1);mJ((c[a>>2]|0)+64|0,(~~(+((((c[j>>2]|0)-(c[i>>2]|0)|0)/12|0)>>>0)*2.0/+((c[f>>2]|0)>>>0))>>>0)*5|0);nJ(a,b);q=((c[j>>2]|0)-(c[i>>2]|0)|0)/12|0;c[b>>2]=q+(c[b>>2]|0);q=q<<1;n=a+40|0;oJ(n,q);pJ(a+52|0,q);c[k>>2]=75416;c[k+4>>2]=a;Jk[c[(c[d>>2]|0)+292>>2]&1023](d,k);oJ(n,((c[j>>2]|0)-(c[i>>2]|0)|0)/12|0);q=a+44|0;k=(c[q>>2]|0)-(c[n>>2]|0)>>2;c[o+24>>2]=-1;c[o+28>>2]=k;c[o>>2]=c[m>>2];c[o+4>>2]=c[m+4>>2];c[o+8>>2]=c[m+8>>2];c[o+12>>2]=c[m+12>>2];c[o+16>>2]=c[m+16>>2];c[o+20>>2]=c[m+20>>2];k=c[a>>2]|0;e=k+64|0;f=k+68|0;g=c[f>>2]|0;h=g-(c[e>>2]|0)>>5;if((c[k+72>>2]|0)==(g|0))qJ(e,o);else{k=g;c[k>>2]=c[o>>2];c[k+4>>2]=c[o+4>>2];c[k+8>>2]=c[o+8>>2];c[k+12>>2]=c[o+12>>2];c[k+16>>2]=c[o+16>>2];c[k+20>>2]=c[o+20>>2];c[k+24>>2]=c[o+24>>2];c[k+28>>2]=c[o+28>>2];c[f>>2]=(c[f>>2]|0)+32};c[p>>2]=c[m>>2];c[p+4>>2]=c[m+4>>2];c[p+8>>2]=c[m+8>>2];c[p+12>>2]=c[m+12>>2];c[p+16>>2]=c[m+16>>2];c[p+20>>2]=c[m+20>>2];rJ(a,b,p,h,0)|0;i=c[a>>2]|0;j=i+40|0;c[r>>2]=0;k=r+4|0;c[k>>2]=0;d=r+8|0;c[d>>2]=0;oJ(r,(c[q>>2]|0)-(c[n>>2]|0)>>2);f=c[n>>2]|0;e=c[q>>2]|0;if((f|0)!=(e|0))do{g=(c[j>>2]|0)+(c[f>>2]<<2)|0;h=c[k>>2]|0;if((h|0)==(c[d>>2]|0)){Nz(r,g);e=c[q>>2]|0}else{c[h>>2]=c[g>>2];c[k>>2]=h+4}f=f+4|0}while((f|0)!=(e|0));f=c[j>>2]|0;c[j>>2]=c[r>>2];c[r>>2]=f;e=i+44|0;r=c[e>>2]|0;c[e>>2]=c[k>>2];c[k>>2]=r;r=i+48|0;e=c[r>>2]|0;c[r>>2]=c[d>>2];c[d>>2]=e;e=c[a>>2]|0;e=(c[e+64>>2]|0)!=(c[e+68>>2]|0);if(f|0){c[k>>2]=f;l0a(f)}r=e;l=s;return r|0}function mJ(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;f=a+8|0;g=c[a>>2]|0;if((c[f>>2]|0)-g>>5>>>0>=b>>>0)return;h=a+4|0;if(b>>>0>134217727){h=db(8)|0;p0a(h,183738);c[h>>2]=110936;hb(h|0,65952,1066)}d=(c[h>>2]|0)-g|0;e=j0a(b<<5)|0;if((d|0)>0)x2a(e|0,g|0,d|0)|0;c[a>>2]=e;c[h>>2]=e+(d>>5<<5);c[f>>2]=e+(b<<5);if(!g)return;l0a(g);return}function nJ(a,b){a=a|0;b=b|0;var d=0,e=0.0,f=0.0,h=0.0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0;r=l;l=l+16|0;n=r+4|0;q=r;f=+g[a+16>>2]-+g[a+4>>2];h=+g[a+20>>2]-+g[a+8>>2];e=+g[a+24>>2]-+g[a+12>>2];g[n>>2]=f;m=n+4|0;g[m>>2]=h;o=n+8|0;g[o>>2]=e;p=a+28|0;j=b+8|0;oJ(p,c[j>>2]|0);if(!(c[j>>2]|0)){l=r;return}k=a+32|0;i=a+36|0;b=0;while(1){a=!(f>=h)?(!(h>=e)?2:1):!(f>=e)?2:0;c[q>>2]=a;d=c[k>>2]|0;if(d>>>0<(c[i>>2]|0)>>>0){c[d>>2]=a;c[k>>2]=d+4}else JJ(p,q);d=n+(a<<2)|0;g[d>>2]=+g[d>>2]*.5;b=b+1|0;if(b>>>0>=(c[j>>2]|0)>>>0)break;h=+g[m>>2];f=+g[n>>2];e=+g[o>>2]}l=r;return}function oJ(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;f=a+8|0;g=c[a>>2]|0;if((c[f>>2]|0)-g>>2>>>0>=b>>>0)return;h=a+4|0;if(b>>>0>1073741823){h=db(8)|0;p0a(h,183738);c[h>>2]=110936;hb(h|0,65952,1066)}d=(c[h>>2]|0)-g|0;e=j0a(b<<2)|0;if((d|0)>0)x2a(e|0,g|0,d|0)|0;c[a>>2]=e;c[h>>2]=e+(d>>2<<2);c[f>>2]=e+(b<<2);if(!g)return;l0a(g);return}function pJ(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;g=a+8|0;i=c[a>>2]|0;if((((c[g>>2]|0)-i|0)/12|0)>>>0>=b>>>0)return;j=a+4|0;if(b>>>0>357913941){j=db(8)|0;p0a(j,183738);c[j>>2]=110936;hb(j|0,65952,1066)}d=(c[j>>2]|0)-i|0;e=j0a(b*12|0)|0;f=e+(((d|0)/12|0)*12|0)|0;h=f+(((d|0)/-12|0)*12|0)|0;if((d|0)>0)x2a(h|0,i|0,d|0)|0;c[a>>2]=h;c[j>>2]=f;c[g>>2]=e+(b*12|0);if(!i)return;l0a(i);return}function qJ(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;i=a+4|0;j=c[a>>2]|0;k=(c[i>>2]|0)-j|0;g=k>>5;d=g+1|0;if(d>>>0>134217727)g1a(a);l=a+8|0;f=(c[l>>2]|0)-j|0;h=f>>4;h=f>>5>>>0<67108863?(h>>>0<d>>>0?d:h):134217727;do if(h)if(h>>>0>134217727){l=db(8)|0;p0a(l,183738);c[l>>2]=110936;hb(l|0,65952,1066)}else{f=j0a(h<<5)|0;e=f;break}else{e=0;f=0}while(0);d=e+(g<<5)|0;c[d>>2]=c[b>>2];c[d+4>>2]=c[b+4>>2];c[d+8>>2]=c[b+8>>2];c[d+12>>2]=c[b+12>>2];c[d+16>>2]=c[b+16>>2];c[d+20>>2]=c[b+20>>2];c[d+24>>2]=c[b+24>>2];c[d+28>>2]=c[b+28>>2];if((k|0)>0)x2a(f|0,j|0,k|0)|0;c[a>>2]=e;c[i>>2]=d+32;c[l>>2]=e+(h<<5);if(!j)return;l0a(j);return}function rJ(b,d,e,f,h){b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;var i=0,j=0.0,k=0.0,m=0,n=0.0,o=0,p=0.0,q=0.0,r=0.0,s=0.0,t=0,u=0,v=0.0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0.0,I=0,J=0.0,K=0.0,L=0.0,M=0.0,N=0,O=0;O=l;l=l+64|0;N=O+32|0;E=O;I=c[b>>2]|0;o=c[I+64>>2]|0;G=c[b+28>>2]|0;m=G;D=o;C=c[o+(f<<5)+24>>2]|0;i=(C|0)<0;if((c[b+32>>2]|0)-G>>2>>>0>h>>>0){if(!i){l=O;return f|0}i=c[o+(f<<5)+28>>2]|0;if(i>>>0>(c[d+4>>2]|0)>>>0){z=c[m+(h<<2)>>2]|0;B=~C;A=-2-C+i|0;G=e+(z<<2)|0;F=e+12+(z<<2)|0;H=(+g[G>>2]+ +g[F>>2])*.5;if((A|0)>(B|0)){x=b+40|0;y=b+52|0;i=A;m=B;do{a:do if((m|0)<(i|0)){o=c[x>>2]|0;t=c[y>>2]|0;do{if(!(+g[t+((c[o+(m<<2)>>2]|0)*12|0)+(z<<2)>>2]<=H))break a;m=m+1|0}while((m|0)<(i|0))}while(0);b:do if((m|0)<(i|0)){u=c[x>>2]|0;w=c[y>>2]|0;while(1){o=u+(i<<2)|0;t=c[o>>2]|0;if(!(+g[w+(t*12|0)+(z<<2)>>2]>H))break;i=i+-1|0;if((m|0)>=(i|0))break b}u=u+(m<<2)|0;w=c[u>>2]|0;c[u>>2]=t;c[o>>2]=w;i=i+-1|0;m=m+1|0}while(0)}while((m|0)<(i|0))}else{i=A;m=B}do if((m|0)==(i|0))if(!(+g[(c[b+52>>2]|0)+((c[(c[b+40>>2]|0)+(m<<2)>>2]|0)*12|0)+(z<<2)>>2]<=H)){i=m+-1|0;break}else{i=m;m=m+1|0;break}while(0);B=i-B|0;g[N>>2]=3402823466385288598117041.0e14;g[N+4>>2]=3402823466385288598117041.0e14;g[N+8>>2]=3402823466385288598117041.0e14;g[N+12>>2]=-3402823466385288598117041.0e14;g[N+16>>2]=-3402823466385288598117041.0e14;g[N+20>>2]=-3402823466385288598117041.0e14;c[N+24>>2]=C;c[N+28>>2]=B+1;i=A-m|0;g[E>>2]=3402823466385288598117041.0e14;g[E+4>>2]=3402823466385288598117041.0e14;g[E+8>>2]=3402823466385288598117041.0e14;g[E+12>>2]=-3402823466385288598117041.0e14;g[E+16>>2]=-3402823466385288598117041.0e14;g[E+20>>2]=-3402823466385288598117041.0e14;c[E+24>>2]=~m;c[E+28>>2]=i+1;do if((B|0)>=0)if((i|0)>=0){i=I+68|0;m=c[i>>2]|0;u=m-D>>5;if((c[I+72>>2]|0)==(m|0))qJ(I+64|0,N);else{I=m;c[I>>2]=c[N>>2];c[I+4>>2]=c[N+4>>2];c[I+8>>2]=c[N+8>>2];c[I+12>>2]=c[N+12>>2];c[I+16>>2]=c[N+16>>2];c[I+20>>2]=c[N+20>>2];c[I+24>>2]=c[N+24>>2];c[I+28>>2]=c[N+28>>2];c[i>>2]=(c[i>>2]|0)+32}I=c[b>>2]|0;i=I+64|0;m=I+68|0;o=c[m>>2]|0;t=o-(c[i>>2]|0)>>5;if((c[I+72>>2]|0)==(o|0)){qJ(i,E);m=0;break}else{I=o;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[m>>2]=(c[m>>2]|0)+32;m=0;break}}else{m=1;t=0;u=f}else{m=1;t=f;u=0}while(0);i=c[F>>2]|0;g[F>>2]=H;if(!u)D=0;else D=rJ(b,d,e,u,h+1|0)|0;c[F>>2]=i;i=c[G>>2]|0;g[G>>2]=H;if(!t)C=0;else C=rJ(b,d,e,t,h+1|0)|0;c[G>>2]=i;if(m){l=O;return f|0}i=c[(c[b>>2]|0)+64>>2]|0;c[i+(f<<5)+24>>2]=D;c[i+(f<<5)+28>>2]=C;o=i+(f<<5)|0;g[o>>2]=3402823466385288598117041.0e14;w=i+(f<<5)+4|0;g[w>>2]=3402823466385288598117041.0e14;x=i+(f<<5)+8|0;g[x>>2]=3402823466385288598117041.0e14;y=i+(f<<5)+12|0;g[y>>2]=-3402823466385288598117041.0e14;z=i+(f<<5)+16|0;g[z>>2]=-3402823466385288598117041.0e14;A=i+(f<<5)+20|0;g[A>>2]=-3402823466385288598117041.0e14;B=(D|0)!=0;do if(((B?(q=+g[i+(D<<5)+12>>2],s=+g[i+(D<<5)>>2],q>=s):0)?(n=+g[i+(D<<5)+16>>2],p=+g[i+(D<<5)+4>>2],n>=p):0)?(v=+g[i+(D<<5)+20>>2],k=+g[i+(D<<5)+8>>2],v>=k):0){if(s<3402823466385288598117041.0e14)g[o>>2]=s;else s=3402823466385288598117041.0e14;if(q>-3402823466385288598117041.0e14)g[y>>2]=q;else q=-3402823466385288598117041.0e14;if(p<3402823466385288598117041.0e14)g[w>>2]=p;else p=3402823466385288598117041.0e14;if(n>-3402823466385288598117041.0e14)g[z>>2]=n;else n=-3402823466385288598117041.0e14;if(k<3402823466385288598117041.0e14)g[x>>2]=k;else k=3402823466385288598117041.0e14;if(!(v>-3402823466385288598117041.0e14)){v=-3402823466385288598117041.0e14;break}g[A>>2]=v}else{s=3402823466385288598117041.0e14;q=-3402823466385288598117041.0e14;p=3402823466385288598117041.0e14;n=-3402823466385288598117041.0e14;k=3402823466385288598117041.0e14;v=-3402823466385288598117041.0e14}while(0);m=(C|0)!=0;do if(((m?(J=+g[i+(C<<5)+12>>2],r=+g[i+(C<<5)>>2],J>=r):0)?(L=+g[i+(C<<5)+16>>2],K=+g[i+(C<<5)+4>>2],L>=K):0)?(j=+g[i+(C<<5)+20>>2],M=+g[i+(C<<5)+8>>2],j>=M):0){if(r<s)g[o>>2]=r;else r=s;if(J>q){g[y>>2]=J;q=J}if(K<p){g[w>>2]=K;p=K}if(L>n){g[z>>2]=L;n=L}if(M<k){g[x>>2]=M;k=M}if(!(j>v)){j=v;break}g[A>>2]=j}else{r=s;j=v}while(0);if(!(!(q>=r)|!(n>=p)|!(j>=k))){l=O;return f|0}if((a[223632]|0)==0?g2a(223632)|0:0)kr(225352);if((c[56338]|0)>2){I=PSa(mr(PSa(mr(lr(3)|0,139459,15)|0,D)|0,139475,27)|0,u)|0;BSa(N,I+(c[(c[I>>2]|0)+-12>>2]|0)|0);h=cUa(N,230580)|0;h=kk[c[(c[h>>2]|0)+28>>2]&511](h,10)|0;dUa(N);VSa(I,h)|0;HSa(I)|0}if((a[223632]|0)==0?g2a(223632)|0:0)kr(225352);if((c[56338]|0)>2){I=PSa(mr(PSa(mr(lr(3)|0,139503,16)|0,C)|0,139520,28)|0,t)|0;BSa(N,I+(c[(c[I>>2]|0)+-12>>2]|0)|0);h=cUa(N,230580)|0;h=kk[c[(c[h>>2]|0)+28>>2]&511](h,10)|0;dUa(N);VSa(I,h)|0;HSa(I)|0}if((a[223632]|0)==0?g2a(223632)|0:0)kr(225352);if((c[56338]|0)>2){I=PSa(mr(PSa(mr(lr(3)|0,139549,26)|0,D)|0,184688,2)|0,C)|0;BSa(N,I+(c[(c[I>>2]|0)+-12>>2]|0)|0);h=cUa(N,230580)|0;h=kk[c[(c[h>>2]|0)+28>>2]&511](h,10)|0;dUa(N);VSa(I,h)|0;HSa(I)|0}do if(!(a[223632]|0)){if(!(g2a(223632)|0))break;kr(225352)}while(0);if((c[56338]|0)>2){I=mr(lr(3)|0,139576,11)|0;h=mr(SSa(I,+g[o>>2])|0,184785,1)|0;h=mr(SSa(h,+g[w>>2])|0,184785,1)|0;SSa(h,+g[x>>2])|0;I=mr(I,184787,1)|0;BSa(N,I+(c[(c[I>>2]|0)+-12>>2]|0)|0);h=cUa(N,230580)|0;h=kk[c[(c[h>>2]|0)+28>>2]&511](h,10)|0;dUa(N);VSa(I,h)|0;HSa(I)|0}do if(!(a[223632]|0)){if(!(g2a(223632)|0))break;kr(225352)}while(0);if((c[56338]|0)>2){I=mr(lr(3)|0,139588,11)|0;h=mr(SSa(I,+g[y>>2])|0,184785,1)|0;h=mr(SSa(h,+g[z>>2])|0,184785,1)|0;SSa(h,+g[A>>2])|0;I=mr(I,184787,1)|0;BSa(N,I+(c[(c[I>>2]|0)+-12>>2]|0)|0);h=cUa(N,230580)|0;h=kk[c[(c[h>>2]|0)+28>>2]&511](h,10)|0;dUa(N);VSa(I,h)|0;HSa(I)|0}do if(B){do if(!(a[223632]|0)){if(!(g2a(223632)|0))break;kr(225352)}while(0);if((c[56338]|0)>2){I=mr(lr(3)|0,139600,35)|0;h=c[(c[b>>2]|0)+64>>2]|0;e=mr(SSa(I,+g[h+(D<<5)>>2])|0,184785,1)|0;e=mr(SSa(e,+g[h+(D<<5)+4>>2])|0,184785,1)|0;SSa(e,+g[h+(D<<5)+8>>2])|0;BSa(N,I+(c[(c[I>>2]|0)+-12>>2]|0)|0);h=cUa(N,230580)|0;h=kk[c[(c[h>>2]|0)+28>>2]&511](h,10)|0;dUa(N);VSa(I,h)|0;HSa(I)|0}do if(!(a[223632]|0)){if(!(g2a(223632)|0))break;kr(225352)}while(0);if((c[56338]|0)<=2)break;I=mr(lr(3)|0,139636,39)|0;h=c[(c[b>>2]|0)+64>>2]|0;e=mr(SSa(I,+g[h+(D<<5)+12>>2])|0,184785,1)|0;e=mr(SSa(e,+g[h+(D<<5)+16>>2])|0,184785,1)|0;SSa(e,+g[h+(D<<5)+20>>2])|0;BSa(N,I+(c[(c[I>>2]|0)+-12>>2]|0)|0);h=cUa(N,230580)|0;h=kk[c[(c[h>>2]|0)+28>>2]&511](h,10)|0;dUa(N);VSa(I,h)|0;HSa(I)|0}while(0);if(!m){l=O;return f|0}do if(!(a[223632]|0)){if(!(g2a(223632)|0))break;kr(225352)}while(0);if((c[56338]|0)>2){I=mr(lr(3)|0,139676,36)|0;h=c[(c[b>>2]|0)+64>>2]|0;e=mr(SSa(I,+g[h+(C<<5)>>2])|0,184785,1)|0;e=mr(SSa(e,+g[h+(C<<5)+4>>2])|0,184785,1)|0;SSa(e,+g[h+(C<<5)+8>>2])|0;BSa(N,I+(c[(c[I>>2]|0)+-12>>2]|0)|0);h=cUa(N,230580)|0;h=kk[c[(c[h>>2]|0)+28>>2]&511](h,10)|0;dUa(N);VSa(I,h)|0;HSa(I)|0}do if(!(a[223632]|0)){if(!(g2a(223632)|0))break;kr(225352)}while(0);if((c[56338]|0)<=2){l=O;return f|0}I=mr(lr(3)|0,139713,36)|0;b=c[(c[b>>2]|0)+64>>2]|0;h=mr(SSa(I,+g[b+(C<<5)+12>>2])|0,184785,1)|0;h=mr(SSa(h,+g[b+(C<<5)+16>>2])|0,184785,1)|0;SSa(h,+g[b+(C<<5)+20>>2])|0;BSa(N,I+(c[(c[I>>2]|0)+-12>>2]|0)|0);b=cUa(N,230580)|0;b=kk[c[(c[b>>2]|0)+28>>2]&511](b,10)|0;dUa(N);VSa(I,b)|0;HSa(I)|0;l=O;return f|0}}else if(!i){l=O;return f|0}i=~C;N=c[o+(f<<5)+28>>2]|0;C=N+i|0;D=o+(f<<5)|0;g[D>>2]=3402823466385288598117041.0e14;E=o+(f<<5)+4|0;g[E>>2]=3402823466385288598117041.0e14;F=o+(f<<5)+8|0;g[F>>2]=3402823466385288598117041.0e14;G=o+(f<<5)+12|0;g[G>>2]=-3402823466385288598117041.0e14;d=o+(f<<5)+16|0;g[d>>2]=-3402823466385288598117041.0e14;B=o+(f<<5)+20|0;g[B>>2]=-3402823466385288598117041.0e14;if((N|0)<=0){l=O;return f|0}y=c[b+40>>2]|0;z=c[I+40>>2]|0;A=c[I+52>>2]|0;x=I+36|0;j=-3402823466385288598117041.0e14;k=3402823466385288598117041.0e14;n=-3402823466385288598117041.0e14;q=3402823466385288598117041.0e14;r=-3402823466385288598117041.0e14;p=3402823466385288598117041.0e14;do{m=c[z+(c[y+(i<<2)>>2]<<2)>>2]|0;o=c[A+(m+1<<2)>>2]|0;if(o){w=c[(c[x>>2]|0)+76>>2]|0;u=m+2|0;while(1){t=c[A+(u<<2)>>2]|0;m=w+(t*12|0)|0;s=+g[m>>2];if(s<p){g[D>>2]=s;v=s;p=+g[m>>2]}else{v=p;p=s}if(p>r){g[G>>2]=p;r=p}m=w+(t*12|0)+4|0;p=+g[m>>2];if(p<q){g[E>>2]=p;q=p;p=+g[m>>2]}if(p>n){g[d>>2]=p;n=p}m=w+(t*12|0)+8|0;p=+g[m>>2];if(p<k){g[F>>2]=p;k=p;p=+g[m>>2]}if(p>j){g[B>>2]=p;j=p}o=o+-1|0;if(!o){p=v;break}else{u=u+1|0;p=v}}}i=i+1|0}while((i|0)<(C|0));if(!(r>=p)|!(n>=q)|!(j>=k)){l=O;return f|0}g[D>>2]=p+-9.999999974752427e-07;g[E>>2]=q+-9.999999974752427e-07;g[F>>2]=k+-9.999999974752427e-07;g[G>>2]=r+9.999999974752427e-07;g[d>>2]=n+9.999999974752427e-07;g[B>>2]=j+9.999999974752427e-07;l=O;return f|0}function sJ(a){a=a|0;return}function tJ(a){a=a|0;l0a(a);return}function uJ(a,b,c){a=a|0;b=b|0;c=c|0;return}function vJ(a,b,c){a=a|0;b=b|0;c=c|0;return}function wJ(a,b,c){a=a|0;b=b|0;c=c|0;return}function xJ(a,b,c){a=a|0;b=b|0;c=c|0;return}function yJ(a,b,c){a=a|0;b=b|0;c=c|0;return}function zJ(a,b,c){a=a|0;b=b|0;c=c|0;return}function AJ(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0;do switch(b|0){case 4:{if((d|0)<=2)return;b=a+4|0;a=2;while(1){EJ(b,c,c+1|0,c+2|0);a=a+3|0;if((a|0)>=(d|0))break;else c=c+3|0}return}case 5:{if((d|0)<=2)return;b=a+4|0;a=2;do{if(!(a&1)){e=c+1|0;EJ(b,c,e,c+2|0);c=e}else{e=c+1|0;EJ(b,c,c+2|0,e);c=e}a=a+1|0}while((a|0)!=(d|0));return}case 7:{if((d|0)<=3)return;b=a+4|0;a=3;while(1){FJ(b,c,c+1|0,c+2|0,c+3|0);a=a+4|0;if((a|0)>=(d|0))break;else c=c+4|0}return}case 8:{if((d|0)<=3)return;b=a+4|0;a=3;do{e=c;c=c+2|0;FJ(b,e,e+1|0,c,e+3|0);a=a+2|0}while((a|0)<(d|0));return}case 6:case 9:{if((d|0)<=2)return;e=a+4|0;a=2;b=c+1|0;do{f=b;b=b+1|0;EJ(e,c,f,b);a=a+1|0}while((a|0)!=(d|0));return}case 0:{if((d|0)<=0)return;b=a+4|0;a=0;while(1){GJ(b,c);a=a+1|0;if((a|0)==(d|0))break;else c=c+1|0}return}case 1:{if((d|0)<=1)return;b=a+4|0;a=1;while(1){HJ(b,c,c+1|0);a=a+2|0;if((a|0)>=(d|0))break;else c=c+2|0}return}case 3:{if((d|0)<=1)return;b=a+4|0;a=1;do{f=c;c=c+1|0;HJ(b,f,c);a=a+1|0}while((a|0)!=(d|0));return}case 2:{e=a+4|0;if((d|0)>1){a=c;b=1;do{f=a;a=a+1|0;HJ(e,f,a);b=b+1|0}while((b|0)!=(d|0))}HJ(e,c+-1+d|0,c);return}default:return}while(0)}function BJ(b,c,e,f){b=b|0;c=c|0;e=e|0;f=f|0;var g=0,h=0,i=0;if((e|0)==0|(f|0)==0)return;do switch(c|0){case 4:{g=f+e|0;if((e|0)<=0)return;c=b+4|0;do{EJ(c,d[f>>0]|0,d[f+1>>0]|0,d[f+2>>0]|0);f=f+3|0}while(f>>>0<g>>>0);return}case 5:{if((e|0)<=2)return;b=b+4|0;g=2;do{c=d[f>>0]|0;if(!(g&1)){i=f+1|0;EJ(b,c,d[i>>0]|0,d[f+2>>0]|0);f=i}else{i=f+1|0;EJ(b,c,d[f+2>>0]|0,d[i>>0]|0);f=i}g=g+1|0}while((g|0)!=(e|0));return}case 7:{if((e|0)<=3)return;g=b+4|0;c=3;while(1){FJ(g,d[f>>0]|0,d[f+1>>0]|0,d[f+2>>0]|0,d[f+3>>0]|0);c=c+4|0;if((c|0)>=(e|0))break;else f=f+4|0}return}case 8:{if((e|0)<=3)return;g=b+4|0;c=3;do{i=f;f=f+2|0;FJ(g,d[i>>0]|0,d[i+1>>0]|0,d[f>>0]|0,d[i+3>>0]|0);c=c+2|0}while((c|0)<(e|0));return}case 6:case 9:{if((e|0)<=2)return;g=b+4|0;b=d[f>>0]|0;c=2;f=f+1|0;do{i=f;f=f+1|0;EJ(g,b,d[i>>0]|0,d[f>>0]|0);c=c+1|0}while((c|0)!=(e|0));return}case 0:{g=f+e|0;if((e|0)<=0)return;c=b+4|0;do{GJ(c,d[f>>0]|0);f=f+1|0}while(f>>>0<g>>>0);return}case 1:{g=f+e|0;if((e|0)<=0)return;c=b+4|0;do{HJ(c,d[f>>0]|0,d[f+1>>0]|0);f=f+2|0}while(f>>>0<g>>>0);return}case 3:{if((e|0)<=1)return;g=b+4|0;c=1;do{i=f;f=f+1|0;HJ(g,d[i>>0]|0,d[f>>0]|0);c=c+1|0}while((c|0)!=(e|0));return}case 2:{i=b+4|0;g=d[f>>0]|0;if((e|0)>1){b=f;h=1;c=g;while(1){b=b+1|0;HJ(i,c,d[b>>0]|0);h=h+1|0;c=a[b>>0]|0;if((h|0)==(e|0))break;else c=c&255}c=c&255;f=d[f>>0]|0}else{c=g;f=g}HJ(i,c,f);return}default:return}while(0)}function CJ(a,c,d,f){a=a|0;c=c|0;d=d|0;f=f|0;var g=0,h=0,i=0;if((d|0)==0|(f|0)==0)return;do switch(c|0){case 4:{g=f+(d<<1)|0;if((d|0)<=0)return;c=a+4|0;do{EJ(c,e[f>>1]|0,e[f+2>>1]|0,e[f+4>>1]|0);f=f+6|0}while(f>>>0<g>>>0);return}case 5:{if((d|0)<=2)return;a=a+4|0;g=2;do{c=e[f>>1]|0;if(!(g&1)){i=f+2|0;EJ(a,c,e[i>>1]|0,e[f+4>>1]|0);f=i}else{i=f+2|0;EJ(a,c,e[f+4>>1]|0,e[i>>1]|0);f=i}g=g+1|0}while((g|0)!=(d|0));return}case 7:{if((d|0)<=3)return;g=a+4|0;c=3;while(1){FJ(g,e[f>>1]|0,e[f+2>>1]|0,e[f+4>>1]|0,e[f+6>>1]|0);c=c+4|0;if((c|0)>=(d|0))break;else f=f+8|0}return}case 8:{if((d|0)<=3)return;g=a+4|0;c=3;do{i=f;f=f+4|0;FJ(g,e[i>>1]|0,e[i+2>>1]|0,e[f>>1]|0,e[i+6>>1]|0);c=c+2|0}while((c|0)<(d|0));return}case 6:case 9:{if((d|0)<=2)return;g=a+4|0;a=e[f>>1]|0;c=2;f=f+2|0;do{i=f;f=f+2|0;EJ(g,a,e[i>>1]|0,e[f>>1]|0);c=c+1|0}while((c|0)!=(d|0));return}case 0:{g=f+(d<<1)|0;if((d|0)<=0)return;c=a+4|0;do{GJ(c,e[f>>1]|0);f=f+2|0}while(f>>>0<g>>>0);return}case 1:{g=f+(d<<1)|0;if((d|0)<=0)return;c=a+4|0;do{HJ(c,e[f>>1]|0,e[f+2>>1]|0);f=f+4|0}while(f>>>0<g>>>0);return}case 3:{if((d|0)<=1)return;g=a+4|0;c=1;do{i=f;f=f+2|0;HJ(g,e[i>>1]|0,e[f>>1]|0);c=c+1|0}while((c|0)!=(d|0));return}case 2:{i=a+4|0;g=e[f>>1]|0;if((d|0)>1){a=f;h=1;c=g;while(1){a=a+2|0;HJ(i,c,e[a>>1]|0);h=h+1|0;c=b[a>>1]|0;if((h|0)==(d|0))break;else c=c&65535}c=c&65535;f=e[f>>1]|0}else{c=g;f=g}HJ(i,c,f);return}default:return}while(0)}function DJ(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;if((d|0)==0|(e|0)==0)return;do switch(b|0){case 4:{f=e+(d<<2)|0;if((d|0)<=0)return;b=a+4|0;do{EJ(b,c[e>>2]|0,c[e+4>>2]|0,c[e+8>>2]|0);e=e+12|0}while(e>>>0<f>>>0);return}case 5:{if((d|0)<=2)return;g=a+4|0;f=2;do{b=c[e>>2]|0;if(!(f&1)){h=e+4|0;EJ(g,b,c[h>>2]|0,c[e+8>>2]|0);e=h}else{h=e+4|0;EJ(g,b,c[e+8>>2]|0,c[h>>2]|0);e=h}f=f+1|0}while((f|0)!=(d|0));return}case 7:{if((d|0)<=3)return;f=a+4|0;b=3;while(1){FJ(f,c[e>>2]|0,c[e+4>>2]|0,c[e+8>>2]|0,c[e+12>>2]|0);b=b+4|0;if((b|0)>=(d|0))break;else e=e+16|0}return}case 8:{if((d|0)<=3)return;f=a+4|0;b=3;do{h=e;e=e+8|0;FJ(f,c[h>>2]|0,c[h+4>>2]|0,c[e>>2]|0,c[h+12>>2]|0);b=b+2|0}while((b|0)<(d|0));return}case 6:case 9:{g=c[e>>2]|0;if((d|0)<=2)return;f=a+4|0;b=2;e=e+4|0;do{h=e;e=e+4|0;EJ(f,g,c[h>>2]|0,c[e>>2]|0);b=b+1|0}while((b|0)!=(d|0));return}case 0:{f=e+(d<<2)|0;if((d|0)<=0)return;b=a+4|0;do{GJ(b,c[e>>2]|0);e=e+4|0}while(e>>>0<f>>>0);return}case 1:{f=e+(d<<2)|0;if((d|0)<=0)return;b=a+4|0;do{HJ(b,c[e>>2]|0,c[e+4>>2]|0);e=e+8|0}while(e>>>0<f>>>0);return}case 3:{if((d|0)<=1)return;f=a+4|0;b=1;do{h=e;e=e+4|0;HJ(f,c[h>>2]|0,c[e>>2]|0);b=b+1|0}while((b|0)!=(d|0));return}case 2:{h=a+4|0;a=c[e>>2]|0;if((d|0)>1){f=e;g=1;b=a;do{f=f+4|0;HJ(h,b,c[f>>2]|0);g=g+1|0;b=c[f>>2]|0}while((g|0)!=(d|0));e=c[e>>2]|0}else{b=a;e=a}HJ(h,b,e);return}default:return}while(0)}function EJ(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,h=0.0,i=0,j=0.0,k=0.0,m=0,n=0,o=0,p=0,q=0.0,r=0.0,s=0.0,t=0.0,u=0.0,v=0.0,w=0,x=0,y=0;y=l;l=l+16|0;x=y;o=c[c[a>>2]>>2]|0;w=c[(c[o+36>>2]|0)+76>>2]|0;m=w+(b*12|0)|0;j=+g[m>>2];n=w+(d*12|0)|0;k=+g[n>>2];if(!((j==k?+g[w+(b*12|0)+4>>2]==+g[w+(d*12|0)+4>>2]:0)?+g[w+(b*12|0)+8>>2]==+g[w+(d*12|0)+8>>2]:0))f=4;do if((f|0)==4){p=w+(e*12|0)|0;h=+g[p>>2];if((k==h?+g[w+(d*12|0)+4>>2]==+g[w+(e*12|0)+4>>2]:0)?+g[w+(d*12|0)+8>>2]==+g[w+(e*12|0)+8>>2]:0)break;if(h==j){i=w+(e*12|0)+4|0;f=w+(b*12|0)+4|0;if(+g[i>>2]==+g[f>>2]?+g[w+(e*12|0)+8>>2]==+g[w+(b*12|0)+8>>2]:0)break}else{f=w+(b*12|0)+4|0;i=w+(e*12|0)+4|0}MJ(o,b,d,e)|0;u=+g[m>>2];s=u<3402823466385288598117041.0e14?u:3402823466385288598117041.0e14;u=u>-3402823466385288598117041.0e14?u:-3402823466385288598117041.0e14;v=+g[f>>2];t=v<3402823466385288598117041.0e14?v:3402823466385288598117041.0e14;v=v>-3402823466385288598117041.0e14?v:-3402823466385288598117041.0e14;r=+g[w+(b*12|0)+8>>2];q=r<3402823466385288598117041.0e14?r:3402823466385288598117041.0e14;r=r>-3402823466385288598117041.0e14?r:-3402823466385288598117041.0e14;k=+g[n>>2];s=k<s?k:s;u=k>u?k:u;k=+g[w+(d*12|0)+4>>2];t=k<t?k:t;v=k>v?k:v;k=+g[w+(d*12|0)+8>>2];q=k<q?k:q;r=k>r?k:r;k=+g[p>>2];j=+g[i>>2];h=+g[w+(e*12|0)+8>>2];i=c[a>>2]|0;b=i+56|0;f=c[b>>2]|0;m=(f-(c[i+52>>2]|0)|0)/12|0;c[x>>2]=m;n=i+44|0;o=c[n>>2]|0;if(o>>>0<(c[i+48>>2]|0)>>>0){c[o>>2]=m;c[n>>2]=o+4}else{JJ(i+40|0,x);i=c[a>>2]|0;f=i+56|0;b=f;f=c[f>>2]|0}g[x>>2]=((k<s?k:s)+(k>u?k:u))*.5;g[x+4>>2]=((j<t?j:t)+(j>v?j:v))*.5;g[x+8>>2]=((h<q?h:q)+(h>r?h:r))*.5;if((f|0)==(c[i+60>>2]|0))Fy(i+52|0,x);else{c[f>>2]=c[x>>2];c[f+4>>2]=c[x+4>>2];c[f+8>>2]=c[x+8>>2];c[b>>2]=(c[b>>2]|0)+12}l=y;return}while(0);x=o+32|0;c[x>>2]=(c[x>>2]|0)+1;l=y;return}function FJ(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var h=0,i=0,j=0,k=0.0,m=0.0,n=0.0,o=0,p=0,q=0.0,r=0,s=0.0,t=0.0,u=0.0,v=0.0,w=0.0,x=0,y=0,z=0,A=0;A=l;l=l+16|0;z=A;r=c[c[a>>2]>>2]|0;y=c[(c[r+36>>2]|0)+76>>2]|0;o=y+(b*12|0)|0;n=+g[o>>2];p=y+(d*12|0)|0;q=+g[p>>2];if(!((n==q?+g[y+(b*12|0)+4>>2]==+g[y+(d*12|0)+4>>2]:0)?+g[y+(b*12|0)+8>>2]==+g[y+(d*12|0)+8>>2]:0))h=4;do if((h|0)==4){j=y+(e*12|0)|0;k=+g[j>>2];if((q==k?+g[y+(d*12|0)+4>>2]==+g[y+(e*12|0)+4>>2]:0)?+g[y+(d*12|0)+8>>2]==+g[y+(e*12|0)+8>>2]:0)break;if((k==n?+g[y+(e*12|0)+4>>2]==+g[y+(b*12|0)+4>>2]:0)?+g[y+(e*12|0)+8>>2]==+g[y+(b*12|0)+8>>2]:0)break;x=y+(f*12|0)|0;m=+g[x>>2];if((m==n?+g[y+(f*12|0)+4>>2]==+g[y+(b*12|0)+4>>2]:0)?+g[y+(f*12|0)+8>>2]==+g[y+(b*12|0)+8>>2]:0)break;if((m==q?+g[y+(f*12|0)+4>>2]==+g[y+(d*12|0)+4>>2]:0)?+g[y+(f*12|0)+8>>2]==+g[y+(d*12|0)+8>>2]:0)break;if(m==k){i=y+(f*12|0)+4|0;h=y+(e*12|0)+4|0;if(+g[i>>2]==+g[h>>2]?+g[y+(f*12|0)+8>>2]==+g[y+(e*12|0)+8>>2]:0)break}else{h=y+(e*12|0)+4|0;i=y+(f*12|0)+4|0}LJ(r,b,d,e,f)|0;w=+g[o>>2];v=w<3402823466385288598117041.0e14?w:3402823466385288598117041.0e14;w=w>-3402823466385288598117041.0e14?w:-3402823466385288598117041.0e14;u=+g[y+(b*12|0)+4>>2];t=u<3402823466385288598117041.0e14?u:3402823466385288598117041.0e14;u=u>-3402823466385288598117041.0e14?u:-3402823466385288598117041.0e14;s=+g[y+(b*12|0)+8>>2];q=s<3402823466385288598117041.0e14?s:3402823466385288598117041.0e14;s=s>-3402823466385288598117041.0e14?s:-3402823466385288598117041.0e14;n=+g[p>>2];v=n<v?n:v;w=n>w?n:w;n=+g[y+(d*12|0)+4>>2];t=n<t?n:t;u=n>u?n:u;n=+g[y+(d*12|0)+8>>2];q=n<q?n:q;s=n>s?n:s;n=+g[j>>2];v=n<v?n:v;w=n>w?n:w;n=+g[h>>2];t=n<t?n:t;u=n>u?n:u;n=+g[y+(e*12|0)+8>>2];q=n<q?n:q;s=n>s?n:s;n=+g[x>>2];m=+g[i>>2];k=+g[y+(f*12|0)+8>>2];i=c[a>>2]|0;j=i+56|0;h=c[j>>2]|0;b=(h-(c[i+52>>2]|0)|0)/12|0;c[z>>2]=b;o=i+44|0;p=c[o>>2]|0;if(p>>>0<(c[i+48>>2]|0)>>>0){c[p>>2]=b;c[o>>2]=p+4}else{JJ(i+40|0,z);i=c[a>>2]|0;h=i+56|0;j=h;h=c[h>>2]|0}g[z>>2]=((n<v?n:v)+(n>w?n:w))*.5;g[z+4>>2]=((m<t?m:t)+(m>u?m:u))*.5;g[z+8>>2]=((k<q?k:q)+(k>s?k:s))*.5;if((h|0)==(c[i+60>>2]|0))Fy(i+52|0,z);else{c[h>>2]=c[z>>2];c[h+4>>2]=c[z+4>>2];c[h+8>>2]=c[z+8>>2];c[j>>2]=(c[j>>2]|0)+12}l=A;return}while(0);z=r+32|0;c[z>>2]=(c[z>>2]|0)+1;l=A;return}function GJ(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,h=0,i=0,j=0.0,k=0.0,m=0.0,n=0,o=0;o=l;l=l+16|0;n=o;e=c[c[a>>2]>>2]|0;d=c[(c[e+36>>2]|0)+76>>2]|0;KJ(e,b)|0;k=+g[d+(b*12|0)>>2];m=+g[d+(b*12|0)+4>>2];j=+g[d+(b*12|0)+8>>2];d=c[a>>2]|0;e=d+56|0;b=c[e>>2]|0;f=(b-(c[d+52>>2]|0)|0)/12|0;c[n>>2]=f;h=d+44|0;i=c[h>>2]|0;if(i>>>0<(c[d+48>>2]|0)>>>0){c[i>>2]=f;c[h>>2]=i+4}else{JJ(d+40|0,n);d=c[a>>2]|0;b=d+56|0;e=b;b=c[b>>2]|0}g[n>>2]=((k<3402823466385288598117041.0e14?k:3402823466385288598117041.0e14)+(k>-3402823466385288598117041.0e14?k:-3402823466385288598117041.0e14))*.5;g[n+4>>2]=((m<3402823466385288598117041.0e14?m:3402823466385288598117041.0e14)+(m>-3402823466385288598117041.0e14?m:-3402823466385288598117041.0e14))*.5;g[n+8>>2]=((j<3402823466385288598117041.0e14?j:3402823466385288598117041.0e14)+(j>-3402823466385288598117041.0e14?j:-3402823466385288598117041.0e14))*.5;if((b|0)==(c[d+60>>2]|0)){Fy(d+52|0,n);l=o;return}else{c[b>>2]=c[n>>2];c[b+4>>2]=c[n+4>>2];c[b+8>>2]=c[n+8>>2];c[e>>2]=(c[e>>2]|0)+12;l=o;return}}function HJ(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,h=0,i=0,j=0,k=0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0.0,s=0.0,t=0.0,u=0.0,v=0,w=0;w=l;l=l+16|0;v=w;h=c[c[a>>2]>>2]|0;k=c[(c[h+36>>2]|0)+76>>2]|0;f=k+(b*12|0)|0;j=k+(d*12|0)|0;i=k+(b*12|0)+4|0;if(+g[f>>2]==+g[j>>2]){e=k+(d*12|0)+4|0;if(+g[i>>2]==+g[e>>2]?+g[k+(b*12|0)+8>>2]==+g[k+(d*12|0)+8>>2]:0){v=h+32|0;c[v>>2]=(c[v>>2]|0)+1;l=w;return}}else e=k+(d*12|0)+4|0;IJ(h,b,d)|0;u=+g[f>>2];t=u<3402823466385288598117041.0e14?u:3402823466385288598117041.0e14;u=u>-3402823466385288598117041.0e14?u:-3402823466385288598117041.0e14;r=+g[i>>2];s=r<3402823466385288598117041.0e14?r:3402823466385288598117041.0e14;r=r>-3402823466385288598117041.0e14?r:-3402823466385288598117041.0e14;q=+g[k+(b*12|0)+8>>2];p=q<3402823466385288598117041.0e14?q:3402823466385288598117041.0e14;q=q>-3402823466385288598117041.0e14?q:-3402823466385288598117041.0e14;o=+g[j>>2];n=+g[e>>2];m=+g[k+(d*12|0)+8>>2];f=c[a>>2]|0;h=f+56|0;e=c[h>>2]|0;i=(e-(c[f+52>>2]|0)|0)/12|0;c[v>>2]=i;b=f+44|0;j=c[b>>2]|0;if(j>>>0<(c[f+48>>2]|0)>>>0){c[j>>2]=i;c[b>>2]=j+4}else{JJ(f+40|0,v);f=c[a>>2]|0;e=f+56|0;h=e;e=c[e>>2]|0}g[v>>2]=((o<t?o:t)+(o>u?o:u))*.5;g[v+4>>2]=((n<s?n:s)+(n>r?n:r))*.5;g[v+8>>2]=((m<p?m:p)+(m>q?m:q))*.5;if((e|0)==(c[f+60>>2]|0))Fy(f+52|0,v);else{c[e>>2]=c[v>>2];c[e+4>>2]=c[v+4>>2];c[e+8>>2]=c[v+8>>2];c[h>>2]=(c[h>>2]|0)+12}l=w;return}function IJ(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0;p=l;l=l+16|0;h=p+8|0;n=p;o=p+12|0;f=p+4|0;c[h>>2]=b;c[n>>2]=d;i=a+52|0;j=a+56|0;e=c[j>>2]|0;c[o>>2]=e-(c[i>>2]|0)>>2;k=a+40|0;m=a+44|0;d=((c[m>>2]|0)-(c[k>>2]|0)>>2)+(c[a+32>>2]|0)|0;c[f>>2]=d;g=a+60|0;b=c[g>>2]|0;if(b>>>0>e>>>0){c[e>>2]=d;d=e+4|0;c[j>>2]=d}else{JJ(i,f);d=c[j>>2]|0;b=c[g>>2]|0}c[f>>2]=2;if(d>>>0<b>>>0){c[d>>2]=2;d=d+4|0;c[j>>2]=d}else{JJ(i,f);d=c[j>>2]|0;b=c[g>>2]|0}if((d|0)==(b|0)){Nz(i,h);d=c[j>>2]|0;b=c[g>>2]|0}else{c[d>>2]=c[h>>2];d=d+4|0;c[j>>2]=d}if((d|0)==(b|0))Nz(i,n);else{c[d>>2]=c[n>>2];c[j>>2]=d+4}b=c[m>>2]|0;if((b|0)==(c[a+48>>2]|0)){Nz(k,o);o=c[o>>2]|0;l=p;return o|0}else{c[b>>2]=c[o>>2];c[m>>2]=b+4;o=c[o>>2]|0;l=p;return o|0}return 0}function JJ(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;i=a+4|0;j=c[a>>2]|0;k=(c[i>>2]|0)-j|0;g=k>>2;d=g+1|0;if(d>>>0>1073741823)g1a(a);l=a+8|0;f=(c[l>>2]|0)-j|0;h=f>>1;h=f>>2>>>0<536870911?(h>>>0<d>>>0?d:h):1073741823;do if(h)if(h>>>0>1073741823){l=db(8)|0;p0a(l,183738);c[l>>2]=110936;hb(l|0,65952,1066)}else{f=j0a(h<<2)|0;e=f;break}else{e=0;f=0}while(0);d=e+(g<<2)|0;c[d>>2]=c[b>>2];if((k|0)>0)x2a(f|0,j|0,k|0)|0;c[a>>2]=e;c[i>>2]=d+4;c[l>>2]=e+(h<<2);if(!j)return;l0a(j);return}function KJ(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0;o=l;l=l+16|0;m=o+4|0;n=o+8|0;g=o;c[m>>2]=b;h=a+52|0;i=a+56|0;e=c[i>>2]|0;c[n>>2]=e-(c[h>>2]|0)>>2;j=a+40|0;k=a+44|0;d=((c[k>>2]|0)-(c[j>>2]|0)>>2)+(c[a+32>>2]|0)|0;c[g>>2]=d;f=a+60|0;b=c[f>>2]|0;if(b>>>0>e>>>0){c[e>>2]=d;d=e+4|0;c[i>>2]=d}else{JJ(h,g);d=c[i>>2]|0;b=c[f>>2]|0}c[g>>2]=1;if(d>>>0<b>>>0){c[d>>2]=1;d=d+4|0;c[i>>2]=d}else{JJ(h,g);d=c[i>>2]|0;b=c[f>>2]|0}if((d|0)==(b|0))Nz(h,m);else{c[d>>2]=c[m>>2];c[i>>2]=d+4}b=c[k>>2]|0;if((b|0)==(c[a+48>>2]|0)){Nz(j,n);n=c[n>>2]|0;l=o;return n|0}else{c[b>>2]=c[n>>2];c[k>>2]=b+4;n=c[n>>2]|0;l=o;return n|0}return 0}function LJ(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0;r=l;l=l+32|0;h=r+16|0;k=r+8|0;o=r+4|0;p=r;q=r+20|0;g=r+12|0;c[h>>2]=b;c[k>>2]=d;c[o>>2]=e;c[p>>2]=f;i=a+52|0;j=a+56|0;e=c[j>>2]|0;c[q>>2]=e-(c[i>>2]|0)>>2;m=a+40|0;n=a+44|0;d=((c[n>>2]|0)-(c[m>>2]|0)>>2)+(c[a+32>>2]|0)|0;c[g>>2]=d;f=a+60|0;b=c[f>>2]|0;if(b>>>0>e>>>0){c[e>>2]=d;d=e+4|0;c[j>>2]=d}else{JJ(i,g);d=c[j>>2]|0;b=c[f>>2]|0}c[g>>2]=4;if(d>>>0<b>>>0){c[d>>2]=4;d=d+4|0;c[j>>2]=d}else{JJ(i,g);d=c[j>>2]|0;b=c[f>>2]|0}if((d|0)==(b|0)){Nz(i,h);d=c[j>>2]|0;b=c[f>>2]|0}else{c[d>>2]=c[h>>2];d=d+4|0;c[j>>2]=d}if((d|0)==(b|0)){Nz(i,k);d=c[j>>2]|0;b=c[f>>2]|0}else{c[d>>2]=c[k>>2];d=d+4|0;c[j>>2]=d}if((d|0)==(b|0)){Nz(i,o);d=c[j>>2]|0;b=c[f>>2]|0}else{c[d>>2]=c[o>>2];d=d+4|0;c[j>>2]=d}if((d|0)==(b|0))Nz(i,p);else{c[d>>2]=c[p>>2];c[j>>2]=d+4}b=c[n>>2]|0;if((b|0)==(c[a+48>>2]|0)){Nz(m,q);q=c[q>>2]|0;l=r;return q|0}else{c[b>>2]=c[q>>2];c[n>>2]=b+4;q=c[q>>2]|0;l=r;return q|0}return 0}function MJ(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0;q=l;l=l+32|0;h=q+12|0;n=q+4|0;o=q;p=q+16|0;f=q+8|0;c[h>>2]=b;c[n>>2]=d;c[o>>2]=e;j=a+52|0;i=a+56|0;e=c[i>>2]|0;c[p>>2]=e-(c[j>>2]|0)>>2;k=a+40|0;m=a+44|0;d=((c[m>>2]|0)-(c[k>>2]|0)>>2)+(c[a+32>>2]|0)|0;c[f>>2]=d;g=a+60|0;b=c[g>>2]|0;if(b>>>0>e>>>0){c[e>>2]=d;d=e+4|0;c[i>>2]=d}else{JJ(j,f);d=c[i>>2]|0;b=c[g>>2]|0}c[f>>2]=3;if(d>>>0<b>>>0){c[d>>2]=3;d=d+4|0;c[i>>2]=d}else{JJ(j,f);d=c[i>>2]|0;b=c[g>>2]|0}if((d|0)==(b|0)){Nz(j,h);d=c[i>>2]|0;b=c[g>>2]|0}else{c[d>>2]=c[h>>2];d=d+4|0;c[i>>2]=d}if((d|0)==(b|0)){Nz(j,n);d=c[i>>2]|0;b=c[g>>2]|0}else{c[d>>2]=c[n>>2];d=d+4|0;c[i>>2]=d}if((d|0)==(b|0))Nz(j,o);else{c[d>>2]=c[o>>2];c[i>>2]=d+4}b=c[m>>2]|0;if((b|0)==(c[a+48>>2]|0)){Nz(k,p);p=c[p>>2]|0;l=q;return p|0}else{c[b>>2]=c[p>>2];c[m>>2]=b+4;p=c[p>>2]|0;l=q;return p|0}return 0}function NJ(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;Or(a,b,d);c[a>>2]=75232;c[a+32>>2]=c[b+32>>2];d=c[b+36>>2]|0;c[a+36>>2]=d;if(d|0){i=d+8|0;c[i>>2]=(c[i>>2]|0)+1}e=a+64|0;f=b+64|0;i=a+68|0;g=a+72|0;h=b+68|0;d=a+40|0;b=d+36|0;do{c[d>>2]=0;d=d+4|0}while((d|0)<(b|0));d=(c[h>>2]|0)-(c[f>>2]|0)|0;b=d>>5;if(!d)return;if(b>>>0>134217727)g1a(e);a=j0a(d)|0;c[i>>2]=a;c[e>>2]=a;c[g>>2]=a+(b<<5);b=c[f>>2]|0;d=(c[h>>2]|0)-b|0;if((d|0)<=0)return;x2a(a|0,b|0,d|0)|0;c[i>>2]=a+(d>>>5<<5);return}function OJ(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;c[a>>2]=75476;b=a+72|0;c[b>>2]=75848;d=a+68|0;e=c[d>>2]|0;if(e|0?(g=e+8|0,f=c[g>>2]|0,c[g>>2]=f-1,(f|0)==1):0)UU(e,1,1);c[d>>2]=0;Cy(a,76016);Pr(b);return}function PJ(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;c[a>>2]=75476;b=a+72|0;c[b>>2]=75848;d=a+68|0;e=c[d>>2]|0;if(e|0?(g=e+8|0,f=c[g>>2]|0,c[g>>2]=f-1,(f|0)==1):0)UU(e,1,1);c[d>>2]=0;Cy(a,76016);Pr(b);l0a(a);return}function QJ(a){a=a|0;return 186332}function RJ(a){a=a|0;return 139992}function SJ(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=l;l=l+16|0;d=f;e=c[b+176>>2]|0;if(e|0?y1a(e,47136,45264,0)|0:0){l=f;return}e=c[a+68>>2]|0;c[d>>2]=71296;c[d+4>>2]=0;d=YJ(e,d)|0;if(d|0){e=d+8|0;c[e>>2]=(c[e>>2]|0)+1}if(lk[c[(c[d>>2]|0)+172>>2]&127](d,a+56|0,b)|0)Jk[c[(c[b>>2]|0)+232>>2]&1023](b,d);a=d+8|0;b=c[a>>2]|0;c[a>>2]=b-1;if((b|0)!=1){l=f;return}UU(d,1,1);l=f;return}function TJ(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;d=l;l=l+16|0;f=d;b=j0a(104)|0;e=b+72|0;g=a+(c[(c[a>>2]|0)+-12>>2]|0)|0;c[f>>2]=71296;c[f+4>>2]=0;Or(e,g,f);c[b+12>>2]=0;f=b+28|0;c[b+4>>2]=0;c[f>>2]=0;c[f+4>>2]=0;c[f+8>>2]=0;c[f+12>>2]=0;c[f+16>>2]=0;c[f+20>>2]=0;c[f+24>>2]=0;c[b+8>>2]=-1;c[b+16>>2]=2;c[b+20>>2]=-1;c[b+24>>2]=0;c[b>>2]=75476;c[e>>2]=75848;e=b+56|0;f=a+56|0;c[e>>2]=c[f>>2];c[e+4>>2]=c[f+4>>2];c[e+8>>2]=c[f+8>>2];a=c[a+68>>2]|0;c[b+68>>2]=a;if(!a){l=d;return b|0}g=a+8|0;c[g>>2]=(c[g>>2]|0)+1;l=d;return b|0}function UJ(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;a=a+(c[(c[a>>2]|0)+-16>>2]|0)|0;c[a>>2]=75476;b=a+72|0;c[b>>2]=75848;d=a+68|0;e=c[d>>2]|0;if(e|0?(g=e+8|0,f=c[g>>2]|0,c[g>>2]=f-1,(f|0)==1):0)UU(e,1,1);c[d>>2]=0;Cy(a,76016);Pr(b);return}function VJ(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;a=a+(c[(c[a>>2]|0)+-16>>2]|0)|0;c[a>>2]=75476;b=a+72|0;c[b>>2]=75848;d=a+68|0;e=c[d>>2]|0;if(e|0?(g=e+8|0,f=c[g>>2]|0,c[g>>2]=f-1,(f|0)==1):0)UU(e,1,1);c[d>>2]=0;Cy(a,76016);Pr(b);l0a(a);return}function WJ(a){a=a|0;return 186332}function XJ(a){a=a|0;return 139992}function YJ(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;g=l;l=l+16|0;f=g;if(!b){if((a[223632]|0)==0?g2a(223632)|0:0)kr(225352);if((c[56338]|0)<=1){f=0;l=g;return f|0}e=mr(lr(2)|0,172255,88)|0;BSa(f,e+(c[(c[e>>2]|0)+-12>>2]|0)|0);d=cUa(f,230580)|0;d=kk[c[(c[d>>2]|0)+28>>2]&511](d,10)|0;dUa(f);VSa(e,d)|0;HSa(e)|0;f=0;l=g;return f|0}b=kk[c[(c[b>>2]|0)+16>>2]&511](b,d)|0;d=(b|0)==0;if(!d?(e=b+8|0,c[e>>2]=(c[e>>2]|0)+1,e=y1a(b,42800,45264,0)|0,e|0):0){Wha(b)|0;f=e;l=g;return f|0}if((a[223632]|0)==0?g2a(223632)|0:0)kr(225352);if((c[56338]|0)>1){e=mr(lr(2)|0,172166,88)|0;BSa(f,e+(c[(c[e>>2]|0)+-12>>2]|0)|0);h=cUa(f,230580)|0;h=kk[c[(c[h>>2]|0)+28>>2]&511](h,10)|0;dUa(f);VSa(e,h)|0;HSa(e)|0}if(d){h=0;l=g;return h|0}f=b+8|0;h=c[f>>2]|0;c[f>>2]=h-1;if((h|0)!=1){h=0;l=g;return h|0}UU(b,1,1);h=0;l=g;return h|0}function ZJ(a){a=a|0;Sr(a);return}function _J(a){a=a|0;Sr(a);l0a(a);return}function $J(a){a=a|0;var b=0;b=j0a(156)|0;a=c[a+56>>2]|0;hia(b);c[b>>2]=76036;g[b+60>>2]=.05000000074505806;g[b+64>>2]=.05000000074505806;g[b+68>>2]=.05000000074505806;g[b+72>>2]=1.0;g[b+76>>2]=.800000011920929;g[b+80>>2]=.800000011920929;g[b+84>>2]=.800000011920929;g[b+88>>2]=1.0;g[b+92>>2]=.05000000074505806;g[b+96>>2]=.05000000074505806;g[b+100>>2]=.05000000074505806;g[b+104>>2]=1.0;g[b+108>>2]=0.0;g[b+112>>2]=0.0;g[b+116>>2]=1.0;g[b+120>>2]=0.0;g[b+124>>2]=0.0;g[b+128>>2]=0.0;g[b+132>>2]=-1.0;g[b+148>>2]=0.0;g[b+152>>2]=180.0;g[b+136>>2]=1.0;g[b+140>>2]=0.0;g[b+144>>2]=0.0;c[b+56>>2]=a;return b|0}function aK(a,b){a=a|0;b=b|0;var d=0,e=0;d=j0a(156)|0;Nr(d,a,b);c[d>>2]=76036;c[d+56>>2]=c[a+56>>2];b=d+60|0;e=a+60|0;c[b>>2]=c[e>>2];c[b+4>>2]=c[e+4>>2];c[b+8>>2]=c[e+8>>2];c[b+12>>2]=c[e+12>>2];b=d+76|0;e=a+76|0;c[b>>2]=c[e>>2];c[b+4>>2]=c[e+4>>2];c[b+8>>2]=c[e+8>>2];c[b+12>>2]=c[e+12>>2];b=d+92|0;e=a+92|0;c[b>>2]=c[e>>2];c[b+4>>2]=c[e+4>>2];c[b+8>>2]=c[e+8>>2];c[b+12>>2]=c[e+12>>2];b=d+108|0;e=a+108|0;c[b>>2]=c[e>>2];c[b+4>>2]=c[e+4>>2];c[b+8>>2]=c[e+8>>2];c[b+12>>2]=c[e+12>>2];b=d+124|0;e=a+124|0;c[b>>2]=c[e>>2];c[b+4>>2]=c[e+4>>2];c[b+8>>2]=c[e+8>>2];c[d+136>>2]=c[a+136>>2];c[d+140>>2]=c[a+140>>2];c[d+144>>2]=c[a+144>>2];c[d+148>>2]=c[a+148>>2];c[d+152>>2]=c[a+152>>2];return d|0}function bK(a,b){a=a|0;b=b|0;if(!b){b=0;return b|0}b=(y1a(b,42800,45928,0)|0)!=0;return b|0}function cK(a){a=a|0;return 186332}function dK(a){a=a|0;return 140075}function eK(a){a=a|0;return 10}function fK(a){a=a|0;return c[a+56>>2]|0}function gK(a,b){a=a|0;b=b|0;var d=0,e=0.0,f=0.0,h=0;if((a|0)==(b|0)){b=0;return b|0}if(!a)e2a();d=c[(c[(c[a>>2]|0)+-4>>2]|0)+4>>2]|0;h=c[(c[(c[b>>2]|0)+-4>>2]|0)+4>>2]|0;if(d>>>0<h>>>0){b=-1;return b|0}if((d|0)!=(h|0)){b=1;return b|0}d=c[a+56>>2]|0;h=c[b+56>>2]|0;if((d|0)<(h|0)){b=-1;return b|0}if((h|0)<(d|0)){b=1;return b|0}d=b+60|0;e=+g[a+60>>2];f=+g[d>>2];if(e<f){b=-1;return b|0}if(e>f){b=1;return b|0}e=+g[a+64>>2];f=+g[d+4>>2];if(e<f){b=-1;return b|0}if(!(e>f)){e=+g[a+68>>2];f=+g[d+8>>2];if(e<f){b=-1;return b|0}if(!(e>f)?+g[a+72>>2]<+g[d+12>>2]:0){b=-1;return b|0}}e=+g[d+4>>2];f=+g[a+64>>2];if(e<f){b=1;return b|0}if(!(e>f)){e=+g[d+8>>2];f=+g[a+68>>2];if(e<f){b=1;return b|0}if(!(e>f)?+g[d+12>>2]<+g[a+72>>2]:0){b=1;return b|0}}d=b+76|0;e=+g[a+76>>2];f=+g[d>>2];if(e<f){b=-1;return b|0}if(e>f){b=1;return b|0}e=+g[a+80>>2];f=+g[d+4>>2];if(e<f){b=-1;return b|0}if(!(e>f)){e=+g[a+84>>2];f=+g[d+8>>2];if(e<f){b=-1;return b|0}if(!(e>f)?+g[a+88>>2]<+g[d+12>>2]:0){b=-1;return b|0}}e=+g[d+4>>2];f=+g[a+80>>2];if(e<f){b=1;return b|0}do if(!(e>f)){e=+g[d+8>>2];f=+g[a+84>>2];if(e<f){b=1;return b|0}if(e>f)break;if(+g[d+12>>2]<+g[a+88>>2])d=1;else break;return d|0}while(0);d=b+92|0;e=+g[a+92>>2];f=+g[d>>2];if(e<f){b=-1;return b|0}if(e>f){b=1;return b|0}e=+g[a+96>>2];f=+g[d+4>>2];if(e<f){b=-1;return b|0}do if(!(e>f)){e=+g[a+100>>2];f=+g[d+8>>2];if(e<f){b=-1;return b|0}if(e>f)break;if(+g[a+104>>2]<+g[d+12>>2])d=-1;else break;return d|0}while(0);e=+g[d+4>>2];f=+g[a+96>>2];if(e<f){b=1;return b|0}do if(!(e>f)){e=+g[d+8>>2];f=+g[a+100>>2];if(e<f){b=1;return b|0}if(e>f)break;if(+g[d+12>>2]<+g[a+104>>2])d=1;else break;return d|0}while(0);d=b+108|0;e=+g[a+108>>2];f=+g[d>>2];if(e<f){b=-1;return b|0}if(e>f){b=1;return b|0}e=+g[a+112>>2];f=+g[d+4>>2];if(e<f){b=-1;return b|0}do if(!(e>f)){e=+g[a+116>>2];f=+g[d+8>>2];if(e<f){b=-1;return b|0}if(e>f)break;if(+g[a+120>>2]<+g[d+12>>2])d=-1;else break;return d|0}while(0);e=+g[d+4>>2];f=+g[a+112>>2];if(e<f){b=1;return b|0}do if(!(e>f)){e=+g[d+8>>2];f=+g[a+116>>2];if(e<f){b=1;return b|0}if(e>f)break;if(+g[d+12>>2]<+g[a+120>>2])d=1;else break;return d|0}while(0);e=+g[a+124>>2];f=+g[b+124>>2];if(e<f){b=-1;return b|0}if(e>f){b=1;return b|0}e=+g[a+128>>2];f=+g[b+128>>2];if(e<f){b=-1;return b|0}do if(!(e>f)){if(+g[a+132>>2]<+g[b+132>>2])d=-1;else break;return d|0}while(0);e=+g[b+128>>2];f=+g[a+128>>2];if(e<f){b=1;return b|0}do if(!(e>f)){if(+g[b+132>>2]<+g[a+132>>2])d=1;else break;return d|0}while(0);e=+g[a+136>>2];f=+g[b+136>>2];if(e<f){b=-1;return b|0}if(f<e){b=1;return b|0}e=+g[a+140>>2];f=+g[b+140>>2];if(e<f){b=-1;return b|0}if(f<e){b=1;return b|0}e=+g[a+144>>2];f=+g[b+144>>2];if(e<f){b=-1;return b|0}if(f<e){b=1;return b|0}e=+g[a+148>>2];f=+g[b+148>>2];if(e<f){b=-1;return b|0}if(f<e){b=1;return b|0}f=+g[a+152>>2];e=+g[b+152>>2];if(f<e){b=-1;return b|0}b=e<f&1;return b|0}function hK(a,b){a=a|0;b=b|0;Jk[c[(c[b>>2]|0)+8>>2]&1023](b,(c[a+56>>2]|0)+16384|0);return 1}function iK(b,d){b=b|0;d=d|0;var e=0,f=0;d=l;l=l+16|0;b=d;if((a[223632]|0)==0?g2a(223632)|0:0)kr(225352);if((c[56338]|0)<=2){l=d;return}e=mr(lr(3)|0,140028,46)|0;BSa(b,e+(c[(c[e>>2]|0)+-12>>2]|0)|0);f=cUa(b,230580)|0;f=kk[c[(c[f>>2]|0)+28>>2]&511](f,10)|0;dUa(b);VSa(e,f)|0;HSa(e)|0;l=d;return}function jK(a){a=a|0;return}function kK(a){a=a|0;l0a(a);return}function lK(a,b){a=a|0;b=b|0;return}function mK(a){a=a|0;c[a>>2]=76268;oK(a+28|0,c[a+32>>2]|0);oX(a+12|0);SU(a);return}function nK(a){a=a|0;c[a>>2]=76268;oK(a+28|0,c[a+32>>2]|0);oX(a+12|0);SU(a);l0a(a);return}function oK(a,b){a=a|0;b=b|0;if(!b)return;else{oK(a,c[b>>2]|0);oK(a,c[b+4>>2]|0);l0a(b);return}}function pK(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;j=l;l=l+16|0;f=j;g=c[(c[b>>2]|0)+136>>2]|0;if(!d){c[f>>2]=0;c[f+4>>2]=0;c[f+8>>2]=0;Jk[g&1023](b,f);if((a[f+11>>0]|0)<0)l0a(c[f>>2]|0);l=j;return};c[f>>2]=0;c[f+4>>2]=0;c[f+8>>2]=0;h=VNa(d)|0;if(h>>>0>4294967279)r0a(f);if(h>>>0<11){a[f+11>>0]=h;if(!h)e=f;else{e=f;i=7}}else{i=h+16&-16;e=j0a(i)|0;c[f>>2]=e;c[f+8>>2]=i|-2147483648;c[f+4>>2]=h;i=7}if((i|0)==7)x2a(e|0,d|0,h|0)|0;a[e+h>>0]=0;Jk[g&1023](b,f);if((a[f+11>>0]|0)<0)l0a(c[f>>2]|0);l=j;return}function qK(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=l;l=l+16|0;g=h;if(!d){if((a[223632]|0)==0?g2a(223632)|0:0)kr(225352);if((c[56338]|0)<=1){b=0;l=h;return b|0}b=mr(lr(2)|0,140472,103)|0;BSa(g,b+(c[(c[b>>2]|0)+-12>>2]|0)|0);f=cUa(g,230580)|0;f=kk[c[(c[f>>2]|0)+28>>2]&511](f,10)|0;dUa(g);VSa(b,f)|0;HSa(b)|0;b=0;l=h;return b|0}fL(b,d);c[g>>2]=d;f=d+8|0;c[f>>2]=(c[f>>2]|0)+1;f=b+224|0;d=c[f>>2]|0;if(d>>>0<(c[b+228>>2]|0)>>>0){e=c[g>>2]|0;c[d>>2]=e;if(e){d=e+8|0;c[d>>2]=(c[d>>2]|0)+1;d=c[f>>2]|0}c[f>>2]=d+4}else GG(b+220|0,g);d=c[g>>2]|0;if(d|0?(f=d+8|0,g=c[f>>2]|0,c[f>>2]=g-1,(g|0)==1):0)UU(d,1,1);Bk[c[(c[b>>2]|0)+240>>2]&2047](b);Qv(b);b=1;l=h;return b|0}function rK(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;i=a+4|0;j=c[a>>2]|0;k=(c[i>>2]|0)-j|0;g=k>>4;d=g+1|0;if(d>>>0>268435455)g1a(a);l=a+8|0;f=(c[l>>2]|0)-j|0;h=f>>3;h=f>>4>>>0<134217727?(h>>>0<d>>>0?d:h):268435455;do if(h)if(h>>>0>268435455){l=db(8)|0;p0a(l,183738);c[l>>2]=110936;hb(l|0,65952,1066)}else{f=j0a(h<<4)|0;e=f;break}else{e=0;f=0}while(0);d=e+(g<<4)|0;c[d>>2]=c[b>>2];c[d+4>>2]=c[b+4>>2];c[d+8>>2]=c[b+8>>2];c[d+12>>2]=c[b+12>>2];if((k|0)>0)x2a(f|0,j|0,k|0)|0;c[a>>2]=e;c[i>>2]=d+16;c[l>>2]=e+(h<<4);if(!j)return;l0a(j);return}function sK(a){a=a|0;Sr(a);return}function tK(a){a=a|0;Sr(a);l0a(a);return}function uK(a){a=a|0;a=j0a(64)|0;hia(a);c[a>>2]=77104;c[a+56>>2]=6914;c[a+60>>2]=6914;return a|0}function vK(a,b){a=a|0;b=b|0;var d=0;d=j0a(64)|0;Nr(d,a,b);c[d>>2]=77104;c[d+56>>2]=c[a+56>>2];c[d+60>>2]=c[a+60>>2];return d|0}function wK(a,b){a=a|0;b=b|0;if(!b){b=0;return b|0}b=(y1a(b,42800,45984,0)|0)!=0;return b|0}function xK(a){a=a|0;return 186332}function yK(a){a=a|0;return 140197}function zK(a){a=a|0;return 1}function AK(a,b){a=a|0;b=b|0;var d=0,e=0;if((a|0)==(b|0)){b=0;return b|0}if(!a)e2a();d=c[(c[(c[a>>2]|0)+-4>>2]|0)+4>>2]|0;e=c[(c[(c[b>>2]|0)+-4>>2]|0)+4>>2]|0;if(d>>>0<e>>>0){b=-1;return b|0}if((d|0)!=(e|0)){b=1;return b|0}d=c[a+56>>2]|0;e=c[b+56>>2]|0;if((d|0)<(e|0)){b=-1;return b|0}if((e|0)<(d|0)){b=1;return b|0}else{a=c[a+60>>2]|0;b=c[b+60>>2]|0;return ((a|0)<(b|0)?-1:(b|0)<(a|0)&1)|0}return 0}function BK(b,d){b=b|0;d=d|0;var e=0,f=0;d=l;l=l+16|0;b=d;if((a[223632]|0)==0?g2a(223632)|0:0)kr(225352);if((c[56338]|0)<=2){l=d;return}e=mr(lr(3)|0,140141,55)|0;BSa(b,e+(c[(c[e>>2]|0)+-12>>2]|0)|0);f=cUa(b,230580)|0;f=kk[c[(c[f>>2]|0)+28>>2]&511](f,10)|0;dUa(b);VSa(e,f)|0;HSa(e)|0;l=d;return}function CK(a){a=a|0;var b=0;c[a+72>>2]=77316;b=c[a+76>>2]|0;if(!b){Ys(a);return}c[a+80>>2]=b;l0a(b);Ys(a);return}function DK(a){a=a|0;var b=0;c[a+72>>2]=77316;b=c[a+76>>2]|0;if(b|0){c[a+80>>2]=b;l0a(b)}Ys(a);l0a(a);return}function EK(b){b=b|0;var d=0;b=j0a(88)|0;Uha(b,1);d=b+12|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[b+24>>2]=2;d=b+28|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[d+12>>2]=0;c[d+16>>2]=0;c[d+20>>2]=0;c[b+52>>2]=29;c[b+56>>2]=4;c[b+60>>2]=5126;c[b+64>>2]=-1;a[b+68>>0]=0;a[b+69>>0]=0;c[b+76>>2]=0;c[b+80>>2]=0;c[b+84>>2]=0;c[b>>2]=76848;c[b+72>>2]=77088;return b|0}function FK(a,b){a=a|0;b=b|0;var c=0;c=j0a(88)|0;cL(c,a,b);return c|0}function GK(a,b){a=a|0;b=b|0;if(!b){b=0;return b|0}b=(y1a(b,42800,43064,0)|0)!=0;return b|0}function HK(a){a=a|0;return 186332}function IK(b){b=b|0;var d=0,e=0,f=0;f=l;l=l+16|0;e=f;b=b+52|0;d=c[b>>2]|0;if(d>>>0<38){e=c[208+(d<<2)>>2]|0;l=f;return e|0}if((a[223632]|0)==0?g2a(223632)|0:0)kr(225352);if((c[56338]|0)<=4){e=140301;l=f;return e|0}d=mr(lr(5)|0,140261,39)|0;d=PSa(d,c[b>>2]|0)|0;BSa(e,d+(c[(c[d>>2]|0)+-12>>2]|0)|0);b=cUa(e,230580)|0;b=kk[c[(c[b>>2]|0)+28>>2]&511](b,10)|0;dUa(e);VSa(d,b)|0;HSa(d)|0;e=140301;l=f;return e|0}function JK(a){a=a|0;var b=0;b=c[a+76>>2]|0;return ((b|0)==(c[a+80>>2]|0)?0:b)|0}function KK(a){a=a|0;return (c[a+80>>2]|0)-(c[a+76>>2]|0)|0}function LK(a){a=a|0;return a|0}function MK(a){a=a|0;return a|0}function NK(a,b){a=a|0;b=b|0;Jk[c[(c[b>>2]|0)+124>>2]&1023](b,a);return}function OK(a,b){a=a|0;b=b|0;Jk[c[(c[b>>2]|0)+124>>2]&1023](b,a);return}function PK(a,b,d){a=a|0;b=b|0;d=d|0;Jk[c[(c[d>>2]|0)+120>>2]&1023](d,(c[a+76>>2]|0)+(b<<4)|0);return}function QK(a,b,d){a=a|0;b=b|0;d=d|0;Jk[c[(c[d>>2]|0)+120>>2]&1023](d,(c[a+76>>2]|0)+(b<<4)|0);return}function RK(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,f=0.0;a=c[a+76>>2]|0;e=+g[a+(b<<4)>>2];f=+g[a+(d<<4)>>2];if(e<f){d=-1;return d|0}if(!(e>f)){e=+g[a+(b<<4)+4>>2];f=+g[a+(d<<4)+4>>2];if(e<f){d=-1;return d|0}if(!(e>f)){e=+g[a+(b<<4)+8>>2];f=+g[a+(d<<4)+8>>2];if(e<f){d=-1;return d|0}if(!(e>f)?+g[a+(b<<4)+12>>2]<+g[a+(d<<4)+12>>2]:0){d=-1;return d|0}}e=+g[a+(d<<4)+4>>2];f=+g[a+(b<<4)+4>>2];if(!(e<f)){if(e>f){d=0;return d|0}e=+g[a+(d<<4)+8>>2];f=+g[a+(b<<4)+8>>2];if(!(e<f)){if(e>f){d=0;return d|0}if(!(+g[a+(d<<4)+12>>2]<+g[a+(b<<4)+12>>2])){d=0;return d|0}}}}d=1;return d|0}function SK(a){a=a|0;return 16}function TK(a,b){a=a|0;b=b|0;var d=0;d=c[a+76>>2]|0;return ((d|0)==(c[a+80>>2]|0)?0:d+(b<<4)|0)|0}function UK(a){a=a|0;return (c[a+80>>2]|0)-(c[a+76>>2]|0)>>4|0}function VK(a,b){a=a|0;b=b|0;bL(a+76|0,b);return}function WK(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=l;l=l+16|0;f=h;c[f>>2]=0;c[f+4>>2]=0;c[f+8>>2]=0;c[f+12>>2]=0;g=a+76|0;a=a+80|0;d=c[g>>2]|0;e=(c[a>>2]|0)-d>>4;if(e>>>0<b>>>0){aL(g,b-e|0,f);l=h;return}if(e>>>0<=b>>>0){l=h;return}c[a>>2]=d+(b<<4);l=h;return}function XK(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0;p=l;l=l+16|0;g=p;c[g>>2]=77316;h=g+4|0;i=a+76|0;c[h>>2]=0;j=g+8|0;c[j>>2]=0;k=g+12|0;c[k>>2]=0;m=a+80|0;n=c[m>>2]|0;o=c[i>>2]|0;f=n-o|0;b=f>>4;if(f){if(b>>>0>268435455)g1a(h);d=j0a(f)|0;c[j>>2]=d;c[h>>2]=d;b=d+(b<<4)|0;c[k>>2]=b;e=d;if((f|0)>0){q=d+(f>>>4<<4)|0;x2a(d|0,o|0,f|0)|0;c[j>>2]=q;f=e;d=q}else{f=e;d=e}}else{f=0;d=0;b=0}c[h>>2]=o;c[i>>2]=f;c[j>>2]=n;c[m>>2]=d;q=a+84|0;c[k>>2]=c[q>>2];c[q>>2]=b;c[g>>2]=77316;if(!o){l=p;return}c[j>>2]=o;l0a(o);l=p;return}function YK(a){a=a|0;var b=0;a=a+-72|0;c[a+72>>2]=77316;b=c[a+76>>2]|0;if(!b){Ys(a);return}c[a+80>>2]=b;l0a(b);Ys(a);return}function ZK(a){a=a|0;var b=0;a=a+-72|0;c[a+72>>2]=77316;b=c[a+76>>2]|0;if(b|0){c[a+80>>2]=b;l0a(b)}Ys(a);l0a(a);return}function _K(a){a=a|0;var b=0;c[a>>2]=77316;b=c[a+4>>2]|0;if(!b)return;c[a+8>>2]=b;l0a(b);return}function $K(a){a=a|0;var b=0;c[a>>2]=77316;b=c[a+4>>2]|0;if(!b){l0a(a);return}c[a+8>>2]=b;l0a(b);l0a(a);return}function aL(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;k=a+8|0;g=c[k>>2]|0;l=a+4|0;e=c[l>>2]|0;if(g-e>>4>>>0>=b>>>0){do{c[e>>2]=c[d>>2];c[e+4>>2]=c[d+4>>2];c[e+8>>2]=c[d+8>>2];c[e+12>>2]=c[d+12>>2];e=(c[l>>2]|0)+16|0;c[l>>2]=e;b=b+-1|0}while((b|0)!=0);return}f=c[a>>2]|0;h=e-f>>4;j=h+b|0;if(j>>>0>268435455)g1a(a);i=g-f|0;e=i>>3;e=i>>4>>>0<134217727?(e>>>0<j>>>0?j:e):268435455;do if(e)if(e>>>0>268435455){l=db(8)|0;p0a(l,183738);c[l>>2]=110936;hb(l|0,65952,1066)}else{i=j0a(e<<4)|0;break}else i=0;while(0);g=i+(h<<4)|0;h=i+(e<<4)|0;e=g;while(1){c[e>>2]=c[d>>2];c[e+4>>2]=c[d+4>>2];c[e+8>>2]=c[d+8>>2];c[e+12>>2]=c[d+12>>2];b=b+-1|0;if(!b)break;else e=e+16|0}b=c[a>>2]|0;f=(c[l>>2]|0)-b|0;e=g+(0-(f>>4)<<4)|0;if((f|0)>0)x2a(e|0,b|0,f|0)|0;c[a>>2]=e;c[l>>2]=i+(j<<4);c[k>>2]=h;if(!b)return;l0a(b);return}function bL(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;f=a+8|0;g=c[a>>2]|0;if((c[f>>2]|0)-g>>4>>>0>=b>>>0)return;h=a+4|0;if(b>>>0>268435455){h=db(8)|0;p0a(h,183738);c[h>>2]=110936;hb(h|0,65952,1066)}d=(c[h>>2]|0)-g|0;e=j0a(b<<4)|0;if((d|0)>0)x2a(e|0,g|0,d|0)|0;c[a>>2]=e;c[h>>2]=e+(d>>4<<4);c[f>>2]=e+(b<<4);if(!g)return;l0a(g);return}function cL(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0;Or(b,d,e);c[b>>2]=69040;c[b+32>>2]=0;c[b+36>>2]=0;c[b+40>>2]=0;e=c[d+44>>2]|0;c[b+44>>2]=e;if(e|0){l=e+(c[(c[e>>2]|0)+-12>>2]|0)+8|0;c[l>>2]=(c[l>>2]|0)+1}c[b+48>>2]=0;c[b>>2]=77332;c[b+52>>2]=c[d+52>>2];c[b+56>>2]=c[d+56>>2];c[b+60>>2]=c[d+60>>2];c[b+64>>2]=c[d+64>>2];a[b+68>>0]=a[d+68>>0]|0;a[b+69>>0]=a[d+69>>0]|0;k=b+72|0;c[k>>2]=77316;f=b+76|0;g=d+76|0;c[f>>2]=0;l=b+80|0;c[l>>2]=0;h=b+84|0;c[h>>2]=0;i=d+80|0;e=(c[i>>2]|0)-(c[g>>2]|0)|0;d=e>>4;if(!e){c[b>>2]=76848;c[k>>2]=77088;return}if(d>>>0>268435455)g1a(f);j=j0a(e)|0;c[l>>2]=j;c[f>>2]=j;c[h>>2]=j+(d<<4);d=c[g>>2]|0;e=(c[i>>2]|0)-d|0;if((e|0)<=0){c[b>>2]=76848;c[k>>2]=77088;return}x2a(j|0,d|0,e|0)|0;c[l>>2]=j+(e>>>4<<4);c[b>>2]=76848;c[k>>2]=77088;return}function dL(a){a=a|0;Di()}function eL(a){a=a|0;return}function fL(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;e=gk[c[(c[b>>2]|0)+192>>2]&1023](b)|0;if(!e)return;d=e+40|0;b=c[d>>2]|0;if(b|0?y1a(b,42944,43080,0)|0:0)return;a=gL(a)|0;b=c[d>>2]|0;if((b|0)==(a|0))return;if(!b)b=0;else{jt(b,c[e+36>>2]|0);b=c[d>>2]|0}if((b|0)!=(a|0)){c[d>>2]=a;if(a|0){a=a+8|0;c[a>>2]=(c[a>>2]|0)+1}if(b|0?(f=b+8|0,a=c[f>>2]|0,c[f>>2]=a-1,(a|0)==1):0)UU(b,1,1)}b=c[d>>2]|0;if(!b)b=0;else b=kt(b,e)|0;c[e+36>>2]=b;return}function gL(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0;n=l;l=l+16|0;h=n+12|0;j=n;c[j>>2]=0;k=j+4|0;c[k>>2]=0;i=j+8|0;c[i>>2]=0;e=c[b+220>>2]|0;g=b+224|0;a:do if((e|0)!=(c[g>>2]|0)){do{f=c[e>>2]|0;f=gk[c[(c[f>>2]|0)+192>>2]&1023](f)|0;c[h>>2]=f;b=f;do if(f|0){f=c[k>>2]|0;if((f|0)==(c[i>>2]|0)){EG(j,h);break}else{c[f>>2]=b;c[k>>2]=(c[k>>2]|0)+4;break}}while(0);e=e+4|0}while((e|0)!=(c[g>>2]|0));b=c[j>>2]|0;e=c[k>>2]|0;if((b|0)!=(e|0)){f=b;while(1){g=c[(c[f>>2]|0)+40>>2]|0;if(g|0?(d=y1a(g,42944,43080,0)|0,d|0):0)break a;f=f+4|0;if((f|0)==(e|0)){m=13;break}}}else m=13}else m=13;while(0);if((m|0)==13){d=j0a(72)|0;Tha(d);b=d+12|0;c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;c[d+24>>2]=2;c[d+28>>2]=0;c[d>>2]=68868;b=d+32|0;c[d+48>>2]=0;c[d+52>>2]=0;c[d+56>>2]=0;c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;a[b+12>>0]=0;ut(d+60|0);c[d>>2]=69508;c[b>>2]=34963;c[d+36>>2]=35044;b=c[j>>2]|0}if(!b){l=n;return d|0}c[k>>2]=b;l0a(b);l=n;return d|0}function hL(a){a=a|0;var b=0;c[a>>2]=76568;b=a+64|0;c[b>>2]=76832;et(a,0);c[b>>2]=76552;b=c[a+68>>2]|0;if(!b){Ys(a);return}c[a+72>>2]=b;l0a(b);Ys(a);return}function iL(a){a=a|0;var b=0;c[a>>2]=76568;b=a+64|0;c[b>>2]=76832;et(a,0);c[b>>2]=76552;b=c[a+68>>2]|0;if(!b){Ys(a);l0a(a);return}c[a+72>>2]=b;l0a(b);Ys(a);l0a(a);return}function jL(a){a=a|0;var b=0;a=j0a(80)|0;Uha(a,1);b=a+12|0;c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;c[a+24>>2]=2;b=a+28|0;c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;c[b+12>>2]=0;c[b+16>>2]=0;c[b+20>>2]=0;c[a+52>>2]=4;c[a+56>>2]=0;c[a+60>>2]=0;c[a+68>>2]=0;c[a+72>>2]=0;c[a+76>>2]=0;c[a>>2]=76568;c[a+64>>2]=76832;return a|0}function kL(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=j0a(80)|0;Or(i,a,b);c[i>>2]=69040;c[i+32>>2]=0;c[i+36>>2]=0;c[i+40>>2]=0;b=c[a+44>>2]|0;c[i+44>>2]=b;if(b|0){h=b+(c[(c[b>>2]|0)+-12>>2]|0)+8|0;c[h>>2]=(c[h>>2]|0)+1}c[i+48>>2]=0;c[i+52>>2]=c[a+52>>2];c[i+56>>2]=c[a+56>>2];c[i+60>>2]=c[a+60>>2];c[i>>2]=76288;d=i+64|0;c[d>>2]=76552;e=i+68|0;c[e>>2]=0;f=i+72|0;c[f>>2]=0;g=i+76|0;c[g>>2]=0;h=c[a+68>>2]|0;b=(c[a+72>>2]|0)-h|0;if(!b){c[i>>2]=76568;c[d>>2]=76832;return i|0}if((b|0)<0)g1a(e);a=j0a(b)|0;c[f>>2]=a;c[e>>2]=a;c[g>>2]=a+(b>>1<<1);x2a(a|0,h|0,b|0)|0;c[f>>2]=a+(b>>>1<<1);c[i>>2]=76568;c[d>>2]=76832;return i|0}function lL(a,b){a=a|0;b=b|0;if(!b){b=0;return b|0}b=(y1a(b,42800,46040,0)|0)!=0;return b|0}function mL(a){a=a|0;return 186332}function nL(a){a=a|0;return 176477}function oL(a){a=a|0;var b=0;b=c[a+68>>2]|0;return ((b|0)==(c[a+72>>2]|0)?0:b)|0}function pL(a){a=a|0;return (c[a+72>>2]|0)-(c[a+68>>2]|0)|0}function qL(a){a=a|0;return a|0}function rL(a){a=a|0;return a|0}function sL(a){a=a|0;return 0}function tL(a){a=a|0;return a|0}function uL(a){a=a|0;return a|0}function vL(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;j=c[b+60>>2]|0;j=(j|0)==9?6:j;j=(j|0)==8?5:j;if(!e){h=c[b+56>>2]|0;g=c[b+68>>2]|0;f=(c[b+72>>2]|0)-g>>1;if((h|0)<=0){Yh(j|0,f|0,5123,g|0);return}e=c[d+828>>2]|0;if(!e){Yh(j|0,f|0,5123,g|0);return}else{Sk[e&63](j,f,5123,g,h);return}}e=c[b+40>>2]|0;if(e){i=pu(e,c[d+124>>2]|0)|0;f=c[d+140>>2]|0;if(i){if(!(a[i+36>>0]|0)){e=f+100|0;if((c[e>>2]|0)!=(i|0)){Jk[c[(c[i+72>>2]|0)+724>>2]&1023](c[i+20>>2]|0,c[i+16>>2]|0);f=c[i+56>>2]|0;if(!f)g=10;else{xu(f,i);g=10}}}else{tG(i);e=f+100|0;g=10}if((g|0)==10)c[e>>2]=i;g=c[b+56>>2]|0;h=(c[b+72>>2]|0)-(c[b+68>>2]|0)>>1;f=c[(c[i+40>>2]|0)+((c[b+36>>2]|0)*20|0)+12>>2]|0;if((g|0)<=0){Yh(j|0,h|0,5123,f|0);return}e=c[d+828>>2]|0;if(!e){Yh(j|0,h|0,5123,f|0);return}else{Sk[e&63](j,h,5123,f,g);return}}}else f=c[d+140>>2]|0;e=f+100|0;if(c[e>>2]|0){Jk[c[(c[f+16>>2]|0)+724>>2]&1023](34963,0);c[e>>2]=0}h=c[b+56>>2]|0;g=c[b+68>>2]|0;f=(c[b+72>>2]|0)-g>>1;if((h|0)<=0){Yh(j|0,f|0,5123,g|0);return}e=c[d+828>>2]|0;if(!e){Yh(j|0,f|0,5123,g|0);return}else{Sk[e&63](j,f,5123,g,h);return}}function wL(a,b){a=a|0;b=b|0;var d=0,e=0;d=c[a+68>>2]|0;e=c[a+72>>2]|0;if((d|0)==(e|0))return;Qk[c[(c[b>>2]|0)+40>>2]&127](b,c[a+60>>2]|0,e-d>>1,d);return}function xL(a,b){a=a|0;b=b|0;var d=0,e=0;d=c[a+68>>2]|0;e=c[a+72>>2]|0;if((d|0)==(e|0))return;Qk[c[(c[b>>2]|0)+40>>2]&127](b,c[a+60>>2]|0,e-d>>1,d);return}function yL(a,b){a=a|0;b=b|0;return e[(c[a+68>>2]|0)+(b<<1)>>1]|0|0}function zL(a){a=a|0;return (c[a+72>>2]|0)-(c[a+68>>2]|0)>>1|0}function AL(a,d){a=a|0;d=d|0;var f=0;f=c[a+68>>2]|0;a=c[a+72>>2]|0;if((f|0)==(a|0))return;do{b[f>>1]=(e[f>>1]|0)+d;f=f+2|0}while((f|0)!=(a|0));return}function BL(a){a=a|0;switch(c[a+60>>2]|0){case 0:{a=gk[c[(c[a>>2]|0)+216>>2]&1023](a)|0;return a|0}case 1:{a=(gk[c[(c[a>>2]|0)+216>>2]&1023](a)|0)>>>1;return a|0}case 4:{a=((gk[c[(c[a>>2]|0)+216>>2]&1023](a)|0)>>>0)/3|0;return a|0}case 7:{a=(gk[c[(c[a>>2]|0)+216>>2]&1023](a)|0)>>>2;return a|0}case 9:case 14:case 8:case 6:case 5:case 2:case 3:{a=(gk[c[(c[a>>2]|0)+216>>2]&1023](a)|0)!=0&1;return a|0}default:{a=0;return a|0}}return 0}function CL(a){a=a|0;return}function DL(a){a=a|0;return 5123}function EL(a,d){a=a|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;i=l;l=l+16|0;g=i;b[g>>1]=0;h=a+68|0;a=a+72|0;e=c[h>>2]|0;f=(c[a>>2]|0)-e>>1;if(f>>>0<d>>>0){OL(h,d-f|0,g);l=i;return}if(f>>>0<=d>>>0){l=i;return}c[a>>2]=e+(d<<1);l=i;return}function FL(a,b){a=a|0;b=b|0;NL(a+68|0,b);return}function GL(a,d,e){a=a|0;d=d|0;e=e|0;b[(c[a+68>>2]|0)+(d<<1)>>1]=e;return}function HL(a,b){a=a|0;b=b|0;return e[(c[a+68>>2]|0)+(b<<1)>>1]|0|0}function IL(a,d){a=a|0;d=d|0;var e=0,f=0,g=0,h=0;h=l;l=l+16|0;g=h;d=d&65535;b[g>>1]=d;e=a+72|0;f=c[e>>2]|0;if((f|0)==(c[a+76>>2]|0)){ML(a+68|0,g);l=h;return}else{b[f>>1]=d;c[e>>2]=f+2;l=h;return}}function JL(a){a=a|0;var b=0;a=a+-64|0;c[a>>2]=76568;b=a+64|0;c[b>>2]=76832;et(a,0);c[b>>2]=76552;b=c[a+68>>2]|0;if(!b){Ys(a);return}c[a+72>>2]=b;l0a(b);Ys(a);return}function KL(a){a=a|0;iL(a+-64|0);return}function LL(a){a=a|0;var b=0;c[a>>2]=76552;b=c[a+4>>2]|0;if(!b)return;c[a+8>>2]=b;l0a(b);return}function ML(a,d){a=a|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;j=a+4|0;k=c[a>>2]|0;l=(c[j>>2]|0)-k|0;h=l>>1;e=h+1|0;if((l|0)<-2)g1a(a);m=a+8|0;i=(c[m>>2]|0)-k|0;i=i>>1>>>0<1073741823?(i>>>0<e>>>0?e:i):2147483647;do if(i)if((i|0)<0){m=db(8)|0;p0a(m,183738);c[m>>2]=110936;hb(m|0,65952,1066)}else{g=j0a(i<<1)|0;f=g;break}else{f=0;g=0}while(0);e=f+(h<<1)|0;b[e>>1]=b[d>>1]|0;if((l|0)>0)x2a(g|0,k|0,l|0)|0;c[a>>2]=f;c[j>>2]=e+2;c[m>>2]=f+(i<<1);if(!k)return;l0a(k);return}function NL(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;f=a+8|0;g=c[a>>2]|0;if((c[f>>2]|0)-g>>1>>>0>=b>>>0)return;h=a+4|0;if((b|0)<0){h=db(8)|0;p0a(h,183738);c[h>>2]=110936;hb(h|0,65952,1066)}d=(c[h>>2]|0)-g|0;e=j0a(b<<1)|0;if((d|0)>0)x2a(e|0,g|0,d|0)|0;c[a>>2]=e;c[h>>2]=e+(d>>1<<1);c[f>>2]=e+(b<<1);if(!g)return;l0a(g);return}function OL(a,d,e){a=a|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;n=a+8|0;g=c[n>>2]|0;o=a+4|0;f=c[o>>2]|0;h=f;if(g-f>>1>>>0>=d>>>0){f=d;g=h;while(1){b[g>>1]=b[e>>1]|0;f=f+-1|0;if(!f)break;else g=g+2|0}c[o>>2]=h+(d<<1);return}m=c[a>>2]|0;l=f-m|0;h=l>>1;f=h+d|0;if((f|0)<0)g1a(a);k=g-m|0;f=k>>1>>>0<1073741823?(k>>>0<f>>>0?f:k):2147483647;do if(f)if((f|0)<0){o=db(8)|0;p0a(o,183738);c[o>>2]=110936;hb(o|0,65952,1066)}else{k=j0a(f<<1)|0;j=k;break}else{j=0;k=0}while(0);i=j+(h<<1)|0;g=j+(f<<1)|0;f=d;h=i;while(1){b[h>>1]=b[e>>1]|0;f=f+-1|0;if(!f)break;else h=h+2|0}if((l|0)>0)x2a(k|0,m|0,l|0)|0;c[a>>2]=j;c[o>>2]=i+(d<<1);c[n>>2]=g;if(!m)return;l0a(m);return}function PL(a){a=a|0;var b=0;c[a>>2]=76552;b=c[a+4>>2]|0;if(!b){l0a(a);return}c[a+8>>2]=b;l0a(b);l0a(a);return}function QL(a){a=a|0;Di()}function RL(a,b){a=a|0;b=b|0;if(!b){b=0;return b|0}b=(y1a(b,42800,43952,0)|0)!=0;return b|0}function SL(a){a=a|0;return 186332}function TL(a){a=a|0;return 140647}function UL(a){a=a|0;return 0}function VL(a){a=a|0;return 0}function WL(a){a=a|0;return 0}function XL(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;k=a+8|0;g=c[k>>2]|0;l=a+4|0;e=c[l>>2]|0;if(((g-e|0)/12|0)>>>0>=b>>>0){do{c[e>>2]=c[d>>2];c[e+4>>2]=c[d+4>>2];c[e+8>>2]=c[d+8>>2];e=(c[l>>2]|0)+12|0;c[l>>2]=e;b=b+-1|0}while((b|0)!=0);return}f=c[a>>2]|0;h=(e-f|0)/12|0;j=h+b|0;if(j>>>0>357913941)g1a(a);i=(g-f|0)/12|0;e=i<<1;e=i>>>0<178956970?(e>>>0<j>>>0?j:e):357913941;do if(e)if(e>>>0>357913941){l=db(8)|0;p0a(l,183738);c[l>>2]=110936;hb(l|0,65952,1066)}else{i=j0a(e*12|0)|0;break}else i=0;while(0);g=i+(h*12|0)|0;h=i+(e*12|0)|0;e=g;while(1){c[e>>2]=c[d>>2];c[e+4>>2]=c[d+4>>2];c[e+8>>2]=c[d+8>>2];b=b+-1|0;if(!b)break;else e=e+12|0}b=c[a>>2]|0;f=(c[l>>2]|0)-b|0;e=g+(((f|0)/-12|0)*12|0)|0;if((f|0)>0)x2a(e|0,b|0,f|0)|0;c[a>>2]=e;c[l>>2]=i+(j*12|0);c[k>>2]=h;if(!b)return;l0a(b);return}function YL(a){a=a|0;var b=0;c[a+72>>2]=77828;b=c[a+76>>2]|0;if(!b){Ys(a);return}c[a+80>>2]=b;l0a(b);Ys(a);return}function ZL(a){a=a|0;var b=0;c[a+72>>2]=77828;b=c[a+76>>2]|0;if(b|0){c[a+80>>2]=b;l0a(b)}Ys(a);l0a(a);return}function _L(b){b=b|0;var d=0;b=j0a(88)|0;Uha(b,1);d=b+12|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[b+24>>2]=2;d=b+28|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[d+12>>2]=0;c[d+16>>2]=0;c[d+20>>2]=0;c[b+52>>2]=28;c[b+56>>2]=3;c[b+60>>2]=5126;c[b+64>>2]=-1;a[b+68>>0]=0;a[b+69>>0]=0;c[b+76>>2]=0;c[b+80>>2]=0;c[b+84>>2]=0;c[b>>2]=77572;c[b+72>>2]=77812;return b|0}function $L(a,b){a=a|0;b=b|0;var c=0;c=j0a(88)|0;rM(c,a,b);return c|0}function aM(a){a=a|0;var b=0;b=c[a+76>>2]|0;return ((b|0)==(c[a+80>>2]|0)?0:b)|0}function bM(a){a=a|0;return (c[a+80>>2]|0)-(c[a+76>>2]|0)|0}function cM(a,b){a=a|0;b=b|0;Jk[c[(c[b>>2]|0)+120>>2]&1023](b,a);return}function dM(a,b){a=a|0;b=b|0;Jk[c[(c[b>>2]|0)+120>>2]&1023](b,a);return}function eM(a,b,d){a=a|0;b=b|0;d=d|0;Jk[c[(c[d>>2]|0)+116>>2]&1023](d,(c[a+76>>2]|0)+(b*12|0)|0);return}function fM(a,b,d){a=a|0;b=b|0;d=d|0;Jk[c[(c[d>>2]|0)+116>>2]&1023](d,(c[a+76>>2]|0)+(b*12|0)|0);return}function gM(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,f=0.0;a=c[a+76>>2]|0;e=+g[a+(b*12|0)>>2];f=+g[a+(d*12|0)>>2];if(e<f){d=-1;return d|0}if(!(e>f)){e=+g[a+(b*12|0)+4>>2];f=+g[a+(d*12|0)+4>>2];if(e<f){d=-1;return d|0}if(!(e>f)?+g[a+(b*12|0)+8>>2]<+g[a+(d*12|0)+8>>2]:0){d=-1;return d|0}e=+g[a+(d*12|0)+4>>2];f=+g[a+(b*12|0)+4>>2];if(!(e<f)){if(e>f){d=0;return d|0}if(!(+g[a+(d*12|0)+8>>2]<+g[a+(b*12|0)+8>>2])){d=0;return d|0}}}d=1;return d|0}function hM(a){a=a|0;return 12}function iM(a,b){a=a|0;b=b|0;var d=0;d=c[a+76>>2]|0;return ((d|0)==(c[a+80>>2]|0)?0:d+(b*12|0)|0)|0}function jM(a){a=a|0;return ((c[a+80>>2]|0)-(c[a+76>>2]|0)|0)/12|0|0}function kM(a,b){a=a|0;b=b|0;pJ(a+76|0,b);return}function lM(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,h=0,i=0;i=l;l=l+16|0;f=i;g[f>>2]=0.0;g[f+4>>2]=0.0;g[f+8>>2]=0.0;h=a+76|0;d=a+80|0;e=c[h>>2]|0;a=((c[d>>2]|0)-e|0)/12|0;if(a>>>0<b>>>0){XL(h,b-a|0,f);l=i;return}if(a>>>0<=b>>>0){l=i;return}c[d>>2]=e+(b*12|0);l=i;return}function mM(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0;p=l;l=l+16|0;g=p;c[g>>2]=77828;h=g+4|0;i=a+76|0;c[h>>2]=0;j=g+8|0;c[j>>2]=0;k=g+12|0;c[k>>2]=0;m=a+80|0;n=c[m>>2]|0;o=c[i>>2]|0;f=n-o|0;b=(f|0)/12|0;if(f){if(b>>>0>357913941)g1a(h);d=j0a(f)|0;c[j>>2]=d;c[h>>2]=d;b=d+(b*12|0)|0;c[k>>2]=b;e=d;if((f|0)>0){x2a(d|0,o|0,f|0)|0;d=d+(((f>>>0)/12|0)*12|0)|0;c[j>>2]=d;f=e}else{f=e;d=e}}else{f=0;d=0;b=0}c[h>>2]=o;c[i>>2]=f;c[j>>2]=n;c[m>>2]=d;n=a+84|0;c[k>>2]=c[n>>2];c[n>>2]=b;c[g>>2]=77828;if(!o){l=p;return}c[j>>2]=o;l0a(o);l=p;return}function nM(a){a=a|0;var b=0;a=a+-72|0;c[a+72>>2]=77828;b=c[a+76>>2]|0;if(!b){Ys(a);return}c[a+80>>2]=b;l0a(b);Ys(a);return}function oM(a){a=a|0;var b=0;a=a+-72|0;c[a+72>>2]=77828;b=c[a+76>>2]|0;if(b|0){c[a+80>>2]=b;l0a(b)}Ys(a);l0a(a);return}function pM(a){a=a|0;var b=0;c[a>>2]=77828;b=c[a+4>>2]|0;if(!b)return;c[a+8>>2]=b;l0a(b);return}function qM(a){a=a|0;var b=0;c[a>>2]=77828;b=c[a+4>>2]|0;if(!b){l0a(a);return}c[a+8>>2]=b;l0a(b);l0a(a);return}function rM(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0;Or(b,d,e);c[b>>2]=69040;c[b+32>>2]=0;c[b+36>>2]=0;c[b+40>>2]=0;e=c[d+44>>2]|0;c[b+44>>2]=e;if(e|0){l=e+(c[(c[e>>2]|0)+-12>>2]|0)+8|0;c[l>>2]=(c[l>>2]|0)+1}c[b+48>>2]=0;c[b>>2]=77332;c[b+52>>2]=c[d+52>>2];c[b+56>>2]=c[d+56>>2];c[b+60>>2]=c[d+60>>2];c[b+64>>2]=c[d+64>>2];a[b+68>>0]=a[d+68>>0]|0;a[b+69>>0]=a[d+69>>0]|0;k=b+72|0;c[k>>2]=77828;f=b+76|0;g=d+76|0;c[f>>2]=0;l=b+80|0;c[l>>2]=0;h=b+84|0;c[h>>2]=0;i=d+80|0;e=(c[i>>2]|0)-(c[g>>2]|0)|0;d=(e|0)/12|0;if(!e){c[b>>2]=77572;c[k>>2]=77812;return}if(d>>>0>357913941)g1a(f);j=j0a(e)|0;c[l>>2]=j;c[f>>2]=j;c[h>>2]=j+(d*12|0);d=c[g>>2]|0;e=(c[i>>2]|0)-d|0;if((e|0)<=0){c[b>>2]=77572;c[k>>2]=77812;return}x2a(j|0,d|0,e|0)|0;c[l>>2]=j+(((e>>>0)/12|0)*12|0);c[b>>2]=77572;c[k>>2]=77812;return}function sM(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;c[a>>2]=77844;uM(a+44|0,c[a+48>>2]|0);g=a+28|0;b=a+36|0;if(c[b>>2]|0?(d=c[a+32>>2]|0,e=(c[g>>2]|0)+4|0,h=c[d>>2]|0,c[h+4>>2]=c[e>>2],c[c[e>>2]>>2]=h,c[b>>2]=0,(d|0)!=(g|0)):0)do{b=d;d=c[d+4>>2]|0;e=c[b+8>>2]|0;if(e|0?(f=e+(c[(c[e>>2]|0)+-12>>2]|0)|0,e=f+8|0,h=c[e>>2]|0,c[e>>2]=h-1,(h|0)==1):0)UU(f,1,1);l0a(b)}while((d|0)!=(g|0));d=a+24|0;b=c[d>>2]|0;if(!b){c[d>>2]=0;h=a+12|0;oX(h);SU(a);return}b=b+(c[(c[b>>2]|0)+-12>>2]|0)|0;g=b+8|0;h=c[g>>2]|0;c[g>>2]=h-1;if((h|0)!=1){c[d>>2]=0;h=a+12|0;oX(h);SU(a);return}UU(b,1,1);c[d>>2]=0;h=a+12|0;oX(h);SU(a);return}function tM(a){a=a|0;sM(a);l0a(a);return}function uM(a,b){a=a|0;b=b|0;if(!b)return;else{uM(a,c[b>>2]|0);uM(a,c[b+4>>2]|0);l0a(b);return}}function vM(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;h=b+4|0;e=c[h>>2]|0;f=c[b>>2]|0;g=e-f>>6;if(g>>>0<d>>>0){wM(b,d-g|0);return}if(g>>>0<=d>>>0)return;f=f+(d<<6)|0;if((f|0)!=(e|0))do{b=e+-8|0;e=e+-64|0;d=c[b>>2]|0;if(d|0?(i=d+8|0,g=c[i>>2]|0,c[i>>2]=g-1,(g|0)==1):0)UU(d,1,1);c[b>>2]=0;if((a[e+11>>0]|0)<0)l0a(c[e>>2]|0)}while((e|0)!=(f|0));c[h>>2]=f;return}function wM(b,d){b=b|0;d=d|0;var e=0,f=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;n=b+8|0;i=c[n>>2]|0;o=b+4|0;e=c[o>>2]|0;if(i-e>>6>>>0>=d>>>0){do{c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[e+12>>2]=0;g[e+16>>2]=1.0;h[e+24>>3]=0.0;c[e+32>>2]=0;n=e+40|0;c[n>>2]=0;c[n+4>>2]=0;c[n+8>>2]=0;c[n+12>>2]=0;c[n+16>>2]=0;e=(c[o>>2]|0)+64|0;c[o>>2]=e;d=d+-1|0}while((d|0)!=0);return}f=c[b>>2]|0;j=e-f>>6;l=j+d|0;if(l>>>0>67108863)g1a(b);m=i-f|0;e=m>>5;e=m>>6>>>0<33554431?(e>>>0<l>>>0?l:e):67108863;do if(e)if(e>>>0>67108863){o=db(8)|0;p0a(o,183738);c[o>>2]=110936;hb(o|0,65952,1066)}else{k=j0a(e<<6)|0;break}else k=0;while(0);i=k+(j<<6)|0;f=k+(e<<6)|0;e=i;while(1){c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[e+12>>2]=0;g[e+16>>2]=1.0;h[e+24>>3]=0.0;c[e+32>>2]=0;m=e+40|0;c[m>>2]=0;c[m+4>>2]=0;c[m+8>>2]=0;c[m+12>>2]=0;c[m+16>>2]=0;d=d+-1|0;if(!d)break;else e=e+64|0}d=i;m=f;l=k+(l<<6)|0;k=c[b>>2]|0;e=c[o>>2]|0;if((e|0)==(k|0)){j=k;e=k}else{while(1){f=e;e=e+-64|0;t0a(i+-64|0,e);c[i+-52>>2]=c[f+-52>>2];c[i+-48>>2]=c[f+-48>>2];h[i+-40>>3]=+h[f+-40>>3];c[i+-32>>2]=c[f+-32>>2];h[i+-24>>3]=+h[f+-24>>3];c[i+-16>>2]=c[f+-16>>2];c[i+-12>>2]=c[f+-12>>2];f=c[f+-8>>2]|0;c[i+-8>>2]=f;if(f|0){j=f+8|0;c[j>>2]=(c[j>>2]|0)+1}f=d+-64|0;if((e|0)==(k|0))break;else{d=f;i=f}}d=f;j=c[b>>2]|0;e=c[o>>2]|0}c[b>>2]=d;c[o>>2]=l;c[n>>2]=m;i=j;if((e|0)!=(i|0))do{d=e+-8|0;e=e+-64|0;f=c[d>>2]|0;if(f|0?(n=f+8|0,o=c[n>>2]|0,c[n>>2]=o-1,(o|0)==1):0)UU(f,1,1);c[d>>2]=0;if((a[e+11>>0]|0)<0)l0a(c[e>>2]|0)}while((e|0)!=(i|0));if(!j)return;l0a(j);return}function xM(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;i=a[d+11>>0]|0;f=i<<24>>24<0;i=f?c[d+4>>2]|0:i&255;h=a[e+11>>0]|0;g=h<<24>>24<0;h=g?c[e+4>>2]|0:h&255;f=f?c[d>>2]|0:d;d=h+i|0;if(d>>>0>4294967279)r0a(b);if(d>>>0<11){a[b+11>>0]=i;d=b}else{j=d+16&-16;d=j0a(j)|0;c[b>>2]=d;c[b+8>>2]=j|-2147483648;c[b+4>>2]=i}if(!i){j=d+i|0;a[j>>0]=0;j=c[e>>2]|0;j=g?j:e;I0a(b,j,h)|0;return}x2a(d|0,f|0,i|0)|0;j=d+i|0;a[j>>0]=0;j=c[e>>2]|0;j=g?j:e;I0a(b,j,h)|0;return}function yM(a){a=a|0;Sr(a);return}function zM(a){a=a|0;Sr(a);l0a(a);return}function AM(b){b=b|0;var d=0,e=0,f=0;b=j0a(184)|0;hia(b);c[b>>2]=77864;d=b+56|0;e=368;f=d+128|0;do{a[d>>0]=a[e>>0]|0;d=d+1|0;e=e+1|0}while((d|0)<(f|0));return b|0}function BM(b,d){b=b|0;d=d|0;var e=0,f=0;f=j0a(184)|0;Nr(f,b,d);c[f>>2]=77864;e=f+56|0;d=b+56|0;b=e+128|0;do{a[e>>0]=a[d>>0]|0;e=e+1|0;d=d+1|0}while((e|0)<(b|0));return f|0}function CM(a,b){a=a|0;b=b|0;if(!b){b=0;return b|0}b=(y1a(b,42800,46128,0)|0)!=0;return b|0}function DM(a){a=a|0;return 186332}function EM(a){a=a|0;return 140755}function FM(a){a=a|0;return 14}function GM(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;if((b|0)==(d|0)){b=0;return b|0}if(!b)e2a();e=c[(c[(c[b>>2]|0)+-4>>2]|0)+4>>2]|0;f=c[(c[(c[d>>2]|0)+-4>>2]|0)+4>>2]|0;if(e>>>0<f>>>0){b=-1;return b|0}if((e|0)!=(f|0)){b=1;return b|0}e=d+56|0;d=0;while(1){f=a[b+56+d>>0]|0;g=a[e+d>>0]|0;if((f&255)<(g&255)){d=-1;e=10;break}d=d+1|0;if((f&255)>(g&255)){d=1;e=10;break}if(d>>>0>=128){d=0;e=10;break}}if((e|0)==10)return d|0;return 0}function HM(a,b){a=a|0;b=b|0;Jk[c[(c[b>>2]|0)+8>>2]&1023](b,2882);return 1}function IM(b,d){b=b|0;d=d|0;var e=0,f=0;d=l;l=l+16|0;b=d;if((a[223632]|0)==0?g2a(223632)|0:0)kr(225352);if((c[56338]|0)<=2){l=d;return}e=mr(lr(3)|0,140699,55)|0;BSa(b,e+(c[(c[e>>2]|0)+-12>>2]|0)|0);f=cUa(b,230580)|0;f=kk[c[(c[f>>2]|0)+28>>2]&511](f,10)|0;dUa(b);VSa(e,f)|0;HSa(e)|0;l=d;return}function JM(a){a=a|0;var b=0;c[a>>2]=78076;b=a+64|0;c[b>>2]=78340;et(a,0);c[b>>2]=78356;b=c[a+68>>2]|0;if(!b){Ys(a);return}c[a+72>>2]=b;l0a(b);Ys(a);return}function KM(a){a=a|0;var b=0;c[a>>2]=78076;b=a+64|0;c[b>>2]=78340;et(a,0);c[b>>2]=78356;b=c[a+68>>2]|0;if(!b){Ys(a);l0a(a);return}c[a+72>>2]=b;l0a(b);Ys(a);l0a(a);return}function LM(a){a=a|0;var b=0;a=j0a(80)|0;Uha(a,1);b=a+12|0;c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;c[a+24>>2]=2;b=a+28|0;c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;c[b+12>>2]=0;c[b+16>>2]=0;c[b+20>>2]=0;c[a+52>>2]=3;c[a+56>>2]=0;c[a+60>>2]=0;c[a+68>>2]=0;c[a+72>>2]=0;c[a+76>>2]=0;c[a>>2]=78076;c[a+64>>2]=78340;return a|0}function MM(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;i=j0a(80)|0;Or(i,a,b);c[i>>2]=69040;c[i+32>>2]=0;c[i+36>>2]=0;c[i+40>>2]=0;b=c[a+44>>2]|0;c[i+44>>2]=b;if(b|0){h=b+(c[(c[b>>2]|0)+-12>>2]|0)+8|0;c[h>>2]=(c[h>>2]|0)+1}c[i+48>>2]=0;c[i+52>>2]=c[a+52>>2];c[i+56>>2]=c[a+56>>2];c[i+60>>2]=c[a+60>>2];c[i>>2]=76288;d=i+64|0;c[d>>2]=78356;e=i+68|0;c[e>>2]=0;f=i+72|0;c[f>>2]=0;g=i+76|0;c[g>>2]=0;h=c[a+68>>2]|0;b=(c[a+72>>2]|0)-h|0;if(!b){c[i>>2]=78076;c[d>>2]=78340;return i|0}if((b|0)<0)g1a(e);j=j0a(b)|0;c[f>>2]=j;c[e>>2]=j;a=j+b|0;c[g>>2]=a;x2a(j|0,h|0,b|0)|0;c[f>>2]=a;c[i>>2]=78076;c[d>>2]=78340;return i|0}function NM(a,b){a=a|0;b=b|0;if(!b){b=0;return b|0}b=(y1a(b,42800,46144,0)|0)!=0;return b|0}function OM(a){a=a|0;return 186332}function PM(a){a=a|0;return 176459}function QM(a){a=a|0;var b=0;b=c[a+68>>2]|0;return ((b|0)==(c[a+72>>2]|0)?0:b)|0}function RM(a){a=a|0;return (c[a+72>>2]|0)-(c[a+68>>2]|0)|0}function SM(a){a=a|0;return 0}function TM(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;j=c[b+60>>2]|0;j=(j|0)==9?6:j;j=(j|0)==8?5:j;if(!e){h=c[b+56>>2]|0;g=c[b+68>>2]|0;f=(c[b+72>>2]|0)-g|0;if((h|0)<=0){Yh(j|0,f|0,5121,g|0);return}e=c[d+828>>2]|0;if(!e){Yh(j|0,f|0,5121,g|0);return}else{Sk[e&63](j,f,5121,g,h);return}}e=c[b+40>>2]|0;if(e){i=pu(e,c[d+124>>2]|0)|0;f=c[d+140>>2]|0;if(i){if(!(a[i+36>>0]|0)){e=f+100|0;if((c[e>>2]|0)!=(i|0)){Jk[c[(c[i+72>>2]|0)+724>>2]&1023](c[i+20>>2]|0,c[i+16>>2]|0);f=c[i+56>>2]|0;if(!f)g=10;else{xu(f,i);g=10}}}else{tG(i);e=f+100|0;g=10}if((g|0)==10)c[e>>2]=i;g=c[b+56>>2]|0;h=(c[b+72>>2]|0)-(c[b+68>>2]|0)|0;f=c[(c[i+40>>2]|0)+((c[b+36>>2]|0)*20|0)+12>>2]|0;if((g|0)<=0){Yh(j|0,h|0,5121,f|0);return}e=c[d+828>>2]|0;if(!e){Yh(j|0,h|0,5121,f|0);return}else{Sk[e&63](j,h,5121,f,g);return}}}else f=c[d+140>>2]|0;e=f+100|0;if(c[e>>2]|0){Jk[c[(c[f+16>>2]|0)+724>>2]&1023](34963,0);c[e>>2]=0}h=c[b+56>>2]|0;g=c[b+68>>2]|0;f=(c[b+72>>2]|0)-g|0;if((h|0)<=0){Yh(j|0,f|0,5121,g|0);return}e=c[d+828>>2]|0;if(!e){Yh(j|0,f|0,5121,g|0);return}else{Sk[e&63](j,f,5121,g,h);return}}function UM(a,b){a=a|0;b=b|0;var d=0,e=0;d=c[a+68>>2]|0;e=c[a+72>>2]|0;if((d|0)==(e|0))return;Qk[c[(c[b>>2]|0)+36>>2]&127](b,c[a+60>>2]|0,e-d|0,d);return}function VM(a,b){a=a|0;b=b|0;var d=0,e=0;d=c[a+68>>2]|0;e=c[a+72>>2]|0;if((d|0)==(e|0))return;Qk[c[(c[b>>2]|0)+36>>2]&127](b,c[a+60>>2]|0,e-d|0,d);return}function WM(a,b){a=a|0;b=b|0;return d[(c[a+68>>2]|0)+b>>0]|0|0}function XM(a){a=a|0;return (c[a+72>>2]|0)-(c[a+68>>2]|0)|0}function YM(b,e){b=b|0;e=e|0;var f=0;f=c[b+68>>2]|0;b=b+72|0;if((f|0)==(c[b>>2]|0))return;do{a[f>>0]=(d[f>>0]|0)+e;f=f+1|0}while((f|0)!=(c[b>>2]|0));return}function ZM(a){a=a|0;return 5121}function _M(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;i=l;l=l+16|0;g=i;a[g>>0]=0;h=b+68|0;b=b+72|0;e=c[h>>2]|0;f=(c[b>>2]|0)-e|0;if(f>>>0<d>>>0){hN(h,d-f|0,g);l=i;return}if(f>>>0<=d>>>0){l=i;return}c[b>>2]=e+d;l=i;return}function $M(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;f=a+68|0;g=a+76|0;h=c[f>>2]|0;i=h;if(((c[g>>2]|0)-h|0)>>>0>=b>>>0)return;e=a+72|0;a=(c[e>>2]|0)-h|0;d=j0a(b)|0;if((a|0)>0)x2a(d|0,i|0,a|0)|0;c[f>>2]=d;c[e>>2]=d+a;c[g>>2]=d+b;if(!h)return;l0a(i);return}function aN(b,d,e){b=b|0;d=d|0;e=e|0;a[(c[b+68>>2]|0)+d>>0]=e;return}function bN(a,b){a=a|0;b=b|0;return d[(c[a+68>>2]|0)+b>>0]|0|0}function cN(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;j=d&255;k=b+68|0;l=b+72|0;d=c[l>>2]|0;i=b+76|0;b=c[i>>2]|0;if((d|0)!=(b|0)){a[d>>0]=j;c[l>>2]=(c[l>>2]|0)+1;return}h=c[k>>2]|0;f=d-h|0;d=f+1|0;g=h;if((d|0)<0)g1a(k);b=b-h|0;e=b<<1;e=b>>>0<1073741823?(e>>>0<d>>>0?d:e):2147483647;if(!e)b=0;else b=j0a(e)|0;d=b+f|0;a[d>>0]=j;if((f|0)>0)x2a(b|0,g|0,f|0)|0;c[k>>2]=b;c[l>>2]=d+1;c[i>>2]=b+e;if(!h)return;l0a(g);return}function dN(a){a=a|0;var b=0;a=a+-64|0;c[a>>2]=78076;b=a+64|0;c[b>>2]=78340;et(a,0);c[b>>2]=78356;b=c[a+68>>2]|0;if(!b){Ys(a);return}c[a+72>>2]=b;l0a(b);Ys(a);return}function eN(a){a=a|0;KM(a+-64|0);return}function fN(a){a=a|0;var b=0;c[a>>2]=78356;b=c[a+4>>2]|0;if(!b)return;c[a+8>>2]=b;l0a(b);return}function gN(a){a=a|0;var b=0;c[a>>2]=78356;b=c[a+4>>2]|0;if(!b){l0a(a);return}c[a+8>>2]=b;l0a(b);l0a(a);return}function hN(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;m=b+8|0;h=c[m>>2]|0;n=b+4|0;f=c[n>>2]|0;if((h-f|0)>>>0>=d>>>0){do{a[f>>0]=a[e>>0]|0;f=(c[n>>2]|0)+1|0;c[n>>2]=f;d=d+-1|0}while((d|0)!=0);return}j=c[b>>2]|0;i=f-j|0;g=i+d|0;if((g|0)<0)g1a(b);k=h-j|0;l=k<<1;g=k>>>0<1073741823?(l>>>0<g>>>0?g:l):2147483647;if(!g)l=0;else l=j0a(g)|0;i=l+i|0;k=l+g|0;h=f+d-j|0;f=i;while(1){a[f>>0]=a[e>>0]|0;d=d+-1|0;if(!d)break;else f=f+1|0}d=c[b>>2]|0;g=(c[n>>2]|0)-d|0;f=i+(0-g)|0;if((g|0)>0)x2a(f|0,d|0,g|0)|0;c[b>>2]=f;c[n>>2]=l+h;c[m>>2]=k;if(!d)return;l0a(d);return}function iN(a){a=a|0;var b=0;c[a>>2]=78372;b=c[a+4>>2]|0;if(!b)return;c[a+8>>2]=b;l0a(b);return}function jN(a){a=a|0;var b=0;c[a>>2]=78372;b=c[a+4>>2]|0;if(!b){l0a(a);return}c[a+8>>2]=b;l0a(b);l0a(a);return}function kN(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;d=c[a+28>>2]|0;if(d|0)Jk[c[c[d>>2]>>2]&1023](d,b);h=a+104|0;g=a+108|0;a=c[g>>2]|0;d=c[h>>2]|0;if((a|0)==(d|0))return;f=0;e=a;while(1){a=c[d+(f<<2)>>2]|0;if(!a)a=e;else{Jk[c[c[a>>2]>>2]&1023](a,b);d=c[h>>2]|0;a=c[g>>2]|0}f=f+1|0;if(f>>>0>=a-d>>2>>>0)break;else e=a}return}function lN(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;c[b>>2]=78388;h=b+104|0;i=b+108|0;d=c[h>>2]|0;if((c[i>>2]|0)!=(d|0)){e=0;do{_ha(c[d+(e<<2)>>2]|0,b)|0;e=e+1|0;d=c[h>>2]|0}while(e>>>0<(c[i>>2]|0)-d>>2>>>0)}e=b+184|0;f=c[e>>2]|0;if(f|0){g=b+188|0;d=c[g>>2]|0;if((d|0)==(f|0))d=f;else{do{j=d;d=d+-12|0;iu(d,c[j+-8>>2]|0)}while((d|0)!=(f|0));d=c[e>>2]|0}c[g>>2]=f;l0a(d)}iu(b+172|0,c[b+176>>2]|0);iu(b+160|0,c[b+164>>2]|0);iu(b+148|0,c[b+152>>2]|0);e=b+136|0;f=c[e>>2]|0;if(f|0){g=b+140|0;d=c[g>>2]|0;if((d|0)==(f|0))d=f;else{do{d=d+-12|0;if((a[d+11>>0]|0)<0)l0a(c[d>>2]|0)}while((d|0)!=(f|0));d=c[e>>2]|0}c[g>>2]=f;l0a(d)}d=b+116|0;e=c[d>>2]|0;if(e|0?(g=e+8|0,j=c[g>>2]|0,c[g>>2]=j-1,(j|0)==1):0)UU(e,1,1);c[d>>2]=0;f=c[h>>2]|0;if(f|0){d=c[i>>2]|0;if((d|0)==(f|0))d=f;else{do{d=d+-4|0;e=c[d>>2]|0;if(e|0?(g=e+8|0,j=c[g>>2]|0,c[g>>2]=j-1,(j|0)==1):0)UU(e,1,1);c[d>>2]=0}while((d|0)!=(f|0));d=c[h>>2]|0}c[i>>2]=f;l0a(d)}yO(b+92|0,c[b+96>>2]|0);yO(b+80|0,c[b+84>>2]|0);yO(b+68|0,c[b+72>>2]|0);f=b+56|0;g=c[f>>2]|0;if(!g){Sr(b);return}h=b+60|0;d=c[h>>2]|0;if((d|0)==(g|0))d=g;else{do{d=d+-4|0;e=c[d>>2]|0;if(e|0?(i=e+8|0,j=c[i>>2]|0,c[i>>2]=j-1,(j|0)==1):0)UU(e,1,1);c[d>>2]=0}while((d|0)!=(g|0));d=c[f>>2]|0}c[h>>2]=g;l0a(d);Sr(b);return}function mN(a){a=a|0;lN(a);l0a(a);return}function nN(a){a=a|0;a=j0a(196)|0;DO(a);return a|0}function oN(a,b){a=a|0;b=b|0;var c=0;c=j0a(196)|0;sO(c,a,b);return c|0}function pN(a,b){a=a|0;b=b|0;if(!b){b=0;return b|0}b=(y1a(b,42800,46192,0)|0)!=0;return b|0}function qN(a){a=a|0;return 186332}function rN(a){a=a|0;return 141455}function sN(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;h=a+104|0;i=a+108|0;d=c[i>>2]|0;e=c[h>>2]|0;if((d|0)!=(e|0)){g=0;f=e;while(1){e=c[f+(g<<2)>>2]|0;if(!e)e=f;else{Jk[c[(c[e>>2]|0)+156>>2]&1023](e,b);e=c[h>>2]|0;d=c[i>>2]|0}g=g+1|0;if(g>>>0>=d-e>>2>>>0)break;else f=e}}rO(a+56|0,b);return}function tN(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;h=a+104|0;i=a+108|0;d=c[i>>2]|0;e=c[h>>2]|0;if((d|0)!=(e|0)){g=0;f=e;while(1){e=c[f+(g<<2)>>2]|0;if(!e)e=f;else{Jk[c[(c[e>>2]|0)+160>>2]&1023](e,b);e=c[h>>2]|0;d=c[i>>2]|0}g=g+1|0;if(g>>>0>=d-e>>2>>>0)break;else f=e}}if(b|0){d=zN(a+56|0,c[b+124>>2]|0)|0;e=c[d>>2]|0;if(!e)return;c[d>>2]=0;i=e+8|0;a=c[i>>2]|0;c[i>>2]=a-1;if((a|0)!=1)return;UU(e,1,1);return}e=c[a+56>>2]|0;d=(c[a+60>>2]|0)-e|0;if((d|0)<=0)return;f=d>>>2;while(1){d=c[e>>2]|0;if(d|0?(c[e>>2]=0,i=d+8|0,a=c[i>>2]|0,c[i>>2]=a-1,(a|0)==1):0)UU(d,1,1);if((f|0)>1){f=f+-1|0;e=e+4|0}else break}return}function uN(a){a=a|0;return 36}function vN(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;if((b|0)==(d|0)){A=0;return A|0}if(!b)e2a();e=c[(c[(c[b>>2]|0)+-4>>2]|0)+4>>2]|0;f=c[(c[(c[d>>2]|0)+-4>>2]|0)+4>>2]|0;if(e>>>0<f>>>0){A=-1;return A|0}if((e|0)!=(f|0)){A=1;return A|0}A=b+108|0;u=c[A>>2]|0;e=c[b+104>>2]|0;f=u-e>>2;h=d+104|0;g=c[h>>2]|0;h=(c[h+4>>2]|0)-g>>2;if(f>>>0<h>>>0){A=-1;return A|0}if(h>>>0<f>>>0){A=1;return A|0}f=b+12|0;h=d+12|0;j=a[h+11>>0]|0;i=j<<24>>24<0;j=i?c[d+16>>2]|0:j&255;l=a[f+11>>0]|0;k=l<<24>>24<0;l=k?c[b+16>>2]|0:l&255;o=j>>>0<l>>>0;n=o?j:l;m=(n|0)==0;if(!m?(p=k?c[f>>2]|0:f,q=i?c[h>>2]|0:h,r=cOa(p,q,n)|0,(r|0)!=0):0)if((r|0)<0){A=-1;return A|0}else{s=q;t=p;r=14}else{if(l>>>0<j>>>0){A=-1;return A|0}if(m)r=15;else{s=i?c[h>>2]|0:h;t=k?c[f>>2]|0:f;r=14}}if((r|0)==14){f=cOa(s,t,n)|0;if(f){if((f|0)<0){A=1;return A|0}}else r=15}if((r|0)==15?o:0){A=1;return A|0}f=c[b+120>>2]|0;h=c[d+120>>2]|0;if((f|0)<(h|0)){A=-1;return A|0}if((h|0)<(f|0)){A=1;return A|0}f=c[b+124>>2]|0;h=c[d+124>>2]|0;if((f|0)<(h|0)){A=-1;return A|0}if((h|0)<(f|0)){A=1;return A|0}f=c[b+128>>2]|0;h=c[d+128>>2]|0;if((f|0)<(h|0)){A=-1;return A|0}if((h|0)<(f|0)){A=1;return A|0}p=d+136|0;o=c[b+140>>2]|0;f=c[p>>2]|0;p=c[p+4>>2]|0;a:do if((f|0)!=(p|0)){q=c[b+136>>2]|0;b:while(1){if((q|0)==(o|0)){f=-1;r=41;break}m=a[f+11>>0]|0;l=m<<24>>24<0;m=l?c[f+4>>2]|0:m&255;j=a[q+11>>0]|0;i=j<<24>>24<0;j=i?c[q+4>>2]|0:j&255;n=m>>>0<j>>>0;h=n?m:j;k=(h|0)==0;if(!k?(x=i?c[q>>2]|0:q,y=l?c[f>>2]|0:f,z=cOa(x,y,h)|0,(z|0)!=0):0)if((z|0)<0){f=-1;r=41;break}else{v=y;w=x;r=32}else r=28;do if((r|0)==28){if(j>>>0<m>>>0){f=-1;r=41;break b}if(k){r=33;break}v=l?c[f>>2]|0:f;w=i?c[q>>2]|0:q;r=32}while(0);if((r|0)==32){r=0;h=cOa(v,w,h)|0;if(h){if((h|0)<0)break a}else r=33}if((r|0)==33?(0,n):0)break a;f=f+12|0;if((f|0)==(p|0))break a;else q=q+12|0}if((r|0)==41)return f|0}while(0);if((c[b+132>>2]|0)>>>0<(c[d+132>>2]|0)>>>0){A=-1;return A|0}if((e|0)==(u|0)){A=0;return A|0}while(1){f=Yha(c[e>>2]|0,c[g>>2]|0)|0;if(f|0){r=41;break}e=e+4|0;if((e|0)==(c[A>>2]|0)){f=0;r=41;break}else g=g+4|0}if((r|0)==41)return f|0;return 0}function wN(b,d){b=b|0;d=d|0;var e=0,f=0;e=c[d+832>>2]|0;if(!(a[e+24>>0]|0))return;if((c[b+104>>2]|0)==(c[b+108>>2]|0)){Bk[c[e+176>>2]&2047](0);b=d+708|0;if(!(c[b>>2]|0))return;c[b>>2]=0;return}f=yN(b,d)|0;if(a[f+36>>0]|0)Jk[c[(c[b>>2]|0)+200>>2]&1023](b,d);if(!(a[f+37>>0]|0)){Bk[c[e+176>>2]&2047](0);b=d+708|0;if(!(c[b>>2]|0))return;c[b>>2]=0;return}if((a[223632]|0)==0?g2a(223632)|0:0)kr(225352);if((c[56338]|0)>3)gk[c[(c[f>>2]|0)+16>>2]&1023](f)|0;Bk[c[(c[f>>2]|0)+28>>2]&2047](f);b=d+708|0;if((c[b>>2]|0)==(f|0))return;c[b>>2]=f;return}function xN(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;g=b+104|0;e=c[g>>2]|0;h=b+108|0;if((e|0)==(c[h>>2]|0))return;f=0;do{Xha(c[e+(f<<2)>>2]|0,d);f=f+1|0;e=c[g>>2]|0}while(f>>>0<(c[h>>2]|0)-e>>2>>>0);e=b+136|0;l=b+140|0;if((c[e>>2]|0)!=(c[l>>2]|0)){j=yN(b,d)|0;k=c[d+832>>2]|0;g=c[l>>2]|0;e=c[e>>2]|0;h=(g-e|0)/12|0;i=k0a(h>>>0>1073741823?-1:h<<2)|0;if((e|0)!=(g|0)){g=i;while(1){if((a[e+11>>0]|0)<0)f=c[e>>2]|0;else f=e;c[g>>2]=f;e=e+12|0;if((e|0)==(c[l>>2]|0))break;else g=g+4|0}}Qk[c[k+1476>>2]&127](c[j+20>>2]|0,h,i,c[b+132>>2]|0);m0a(i)}b=yN(b,d)|0;Jk[c[(c[b>>2]|0)+12>>2]&1023](b,d);return}function yN(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0;r=l;l=l+16|0;q=r;o=c[d+124>>2]|0;c[q>>2]=0;c[q+4>>2]=0;c[q+8>>2]=0;gV(d,q,b+148|0);n=b+56|0;if((((c[(zN(n,o)|0)>>2]|0)==0?(e=j0a(32)|0,Tha(e),c[e>>2]=78600,c[e+12>>2]=o,c[e+16>>2]=b,c[e+20>>2]=0,c[e+24>>2]=0,c[e+28>>2]=0,f=zN(n,o)|0,g=c[f>>2]|0,(g|0)!=(e|0)):0)?(c[f>>2]=e,m=e+8|0,c[m>>2]=(c[m>>2]|0)+1,g|0):0)?(k=g+8|0,m=c[k>>2]|0,c[k>>2]=m-1,(m|0)==1):0)UU(g,1,1);m=c[(zN(n,o)|0)>>2]|0;e=c[m+20>>2]|0;m=c[m+24>>2]|0;a:do if((e|0)!=(m|0)){j=a[q+11>>0]|0;k=j<<24>>24<0;j=k?c[q+4>>2]|0:j&255;k=k?c[q>>2]|0:q;if(!j)while(1){d=c[e>>2]|0;k=a[d+24+11>>0]|0;if(!((k<<24>>24<0?c[d+28>>2]|0:k&255)|0))break a;e=e+4|0;if((e|0)==(m|0)){p=21;break a}}b:while(1){d=c[e>>2]|0;h=d+24|0;f=a[h+11>>0]|0;g=f<<24>>24<0;f=f&255;do if(((g?c[d+28>>2]|0:f)|0)==(j|0)){i=c[h>>2]|0;if(g)if(!(cOa(i,k,j)|0))break a;else break;if((a[k>>0]|0)==(i&255)<<24>>24){g=k;do{f=f+-1|0;h=h+1|0;if(!f)break b;g=g+1|0}while((a[h>>0]|0)==(a[g>>0]|0))}}while(0);e=e+4|0;if((e|0)==(m|0)){p=21;break a}}if(!d)p=21}else p=21;while(0);if((p|0)==21){d=AN(c[(zN(n,o)|0)>>2]|0,q)|0;h=b+104|0;g=b+108|0;e=c[h>>2]|0;if((c[g>>2]|0)!=(e|0)){f=0;do{BN(d,c[e+(f<<2)>>2]|0);f=f+1|0;e=c[h>>2]|0}while(f>>>0<(c[g>>2]|0)-e>>2>>>0)}}if((a[q+11>>0]|0)>=0){l=r;return d|0}l0a(c[q>>2]|0);l=r;return d|0}function zN(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0;m=l;l=l+16|0;j=m;k=a+4|0;d=c[k>>2]|0;g=c[a>>2]|0;f=d-g>>2;if(f>>>0>b>>>0){k=g;k=k+(b<<2)|0;l=m;return k|0}e=b+1|0;c[j>>2]=0;if(e>>>0<=f>>>0){if(e>>>0<f>>>0){f=g+(e<<2)|0;if((f|0)!=(d|0))do{d=d+-4|0;e=c[d>>2]|0;if(e|0?(g=e+8|0,h=c[g>>2]|0,c[g>>2]=h-1,(h|0)==1):0)UU(e,1,1);c[d>>2]=0}while((d|0)!=(f|0));c[k>>2]=f;h=12}}else{qO(a,e-f|0,j);h=12}if(((h|0)==12?(i=c[j>>2]|0,i|0):0)?(j=i+8|0,k=c[j>>2]|0,c[j>>2]=k-1,(k|0)==1):0)UU(i,1,1);k=c[a>>2]|0;k=k+(b<<2)|0;l=m;return k|0}function AN(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=l;l=l+16|0;f=h;g=j0a(120)|0;DN(g,c[a+16>>2]|0,c[a+12>>2]|0,0);c[f>>2]=g;e=g+8|0;c[e>>2]=(c[e>>2]|0)+1;e=a+24|0;d=c[e>>2]|0;if(d>>>0<(c[a+28>>2]|0)>>>0){a=c[f>>2]|0;c[d>>2]=a;if(a){d=a+8|0;c[d>>2]=(c[d>>2]|0)+1;d=c[e>>2]|0}c[e>>2]=d+4}else EN(a+20|0,f);d=c[f>>2]|0;if(d|0?(e=d+8|0,f=c[e>>2]|0,c[e>>2]=f-1,(f|0)==1):0)UU(d,1,1);z0a(g+24|0,b)|0;l=h;return g|0}function BN(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=l;l=l+16|0;f=g;d=a+108|0;c[f>>2]=b;if(b|0){e=b+8|0;c[e>>2]=(c[e>>2]|0)+1}e=a+112|0;b=c[e>>2]|0;if(b>>>0<(c[a+116>>2]|0)>>>0){a=c[f>>2]|0;c[b>>2]=a;if(a){b=a+8|0;c[b>>2]=(c[b>>2]|0)+1;b=c[e>>2]|0}c[e>>2]=b+4}else CN(d,f);b=c[f>>2]|0;if(!b){l=g;return}e=b+8|0;f=c[e>>2]|0;c[e>>2]=f-1;if((f|0)!=1){l=g;return}UU(b,1,1);l=g;return}function CN(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;m=a+4|0;d=c[m>>2]|0;e=c[a>>2]|0;i=d-e>>2;f=i+1|0;g=e;if(f>>>0>1073741823)g1a(a);l=a+8|0;j=(c[l>>2]|0)-e|0;k=j>>1;f=j>>2>>>0<536870911?(k>>>0<f>>>0?f:k):1073741823;do if(f)if(f>>>0>1073741823){m=db(8)|0;p0a(m,183738);c[m>>2]=110936;hb(m|0,65952,1066)}else{j=j0a(f<<2)|0;break}else j=0;while(0);e=j+(i<<2)|0;k=j+(f<<2)|0;f=c[b>>2]|0;c[e>>2]=f;if(f){g=f+8|0;c[g>>2]=(c[g>>2]|0)+1;g=c[a>>2]|0;d=c[m>>2]|0}h=e+4|0;f=g;if((d|0)==(g|0))b=f;else{b=i+-1-((d+-4-f|0)>>>2)|0;while(1){d=d+-4|0;f=c[d>>2]|0;c[e+-4>>2]=f;if(f|0){i=f+8|0;c[i>>2]=(c[i>>2]|0)+1}if((d|0)==(g|0))break;else e=e+-4|0}e=j+(b<<2)|0;b=c[a>>2]|0;d=c[m>>2]|0}c[a>>2]=e;c[m>>2]=h;c[l>>2]=k;f=b;if((d|0)!=(f|0))do{d=d+-4|0;e=c[d>>2]|0;if(e|0?(l=e+8|0,m=c[l>>2]|0,c[l>>2]=m-1,(m|0)==1):0)UU(e,1,1);c[d>>2]=0}while((d|0)!=(f|0));if(!b)return;l0a(b);return}function DN(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0;n=l;l=l+16|0;i=n;Tha(b);c[b>>2]=78620;j=b+16|0;c[j>>2]=0;k=b+20|0;c[k>>2]=f;m=b+24|0;c[m>>2]=0;c[m+4>>2]=0;c[m+8>>2]=0;a[b+38>>0]=0;m=b+40|0;c[m>>2]=e;g=b+44|0;a[g>>0]=0;c[b+52>>2]=0;c[b+56>>2]=0;c[b+48>>2]=b+52;c[b+64>>2]=0;c[b+68>>2]=0;c[b+60>>2]=b+64;c[b+76>>2]=0;c[b+80>>2]=0;c[b+72>>2]=b+76;c[b+88>>2]=0;c[b+92>>2]=0;c[b+84>>2]=b+88;o=b+96|0;h=b+12|0;c[o>>2]=0;c[o+4>>2]=0;c[o+8>>2]=0;c[o+12>>2]=0;c[o+16>>2]=0;c[o+20>>2]=0;c[h>>2]=d;if(f|0){o=b+36|0;a[o>>0]=1;o=b+37|0;a[o>>0]=0;l=n;return}d=bu(e,1)|0;e=c[j>>2]|0;if((e|0)!=(d|0)){c[j>>2]=d;if(d|0){o=d+8|0;c[o>>2]=(c[o>>2]|0)+1}if(e|0?(f=e+8|0,o=c[f>>2]|0,c[f>>2]=o-1,(o|0)==1):0)UU(e,1,1)}o=fk[c[(c[j>>2]|0)+56>>2]&7]()|0;c[k>>2]=o;if(o|0){a[g>>0]=1;o=b+36|0;a[o>>0]=1;o=b+37|0;a[o>>0]=0;l=n;return}if((a[223632]|0)==0?g2a(223632)|0:0)kr(225352);if((c[56338]|0)<=1){o=b+36|0;a[o>>0]=1;o=b+37|0;a[o>>0]=0;l=n;return}g=mr(lr(2)|0,140865,31)|0;k=c[h>>2]|0;h=k+12|0;o=a[h+11>>0]|0;j=o<<24>>24<0;o=mr(mr(mr(g,j?c[h>>2]|0:h,j?c[k+16>>2]|0:o&255)|0,172651,1)|0,140897,11)|0;o=QSa(o,c[m>>2]|0)|0;BSa(i,o+(c[(c[o>>2]|0)+-12>>2]|0)|0);m=cUa(i,230580)|0;m=kk[c[(c[m>>2]|0)+28>>2]&511](m,10)|0;dUa(i);VSa(o,m)|0;HSa(o)|0;o=b+36|0;a[o>>0]=1;o=b+37|0;a[o>>0]=0;l=n;return}function EN(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;m=a+4|0;d=c[m>>2]|0;e=c[a>>2]|0;i=d-e>>2;f=i+1|0;g=e;if(f>>>0>1073741823)g1a(a);l=a+8|0;j=(c[l>>2]|0)-e|0;k=j>>1;f=j>>2>>>0<536870911?(k>>>0<f>>>0?f:k):1073741823;do if(f)if(f>>>0>1073741823){m=db(8)|0;p0a(m,183738);c[m>>2]=110936;hb(m|0,65952,1066)}else{j=j0a(f<<2)|0;break}else j=0;while(0);e=j+(i<<2)|0;k=j+(f<<2)|0;f=c[b>>2]|0;c[e>>2]=f;if(f){g=f+8|0;c[g>>2]=(c[g>>2]|0)+1;g=c[a>>2]|0;d=c[m>>2]|0}h=e+4|0;f=g;if((d|0)==(g|0))b=f;else{b=i+-1-((d+-4-f|0)>>>2)|0;while(1){d=d+-4|0;f=c[d>>2]|0;c[e+-4>>2]=f;if(f|0){i=f+8|0;c[i>>2]=(c[i>>2]|0)+1}if((d|0)==(g|0))break;else e=e+-4|0}e=j+(b<<2)|0;b=c[a>>2]|0;d=c[m>>2]|0}c[a>>2]=e;c[m>>2]=h;c[l>>2]=k;f=b;if((d|0)!=(f|0))do{d=d+-4|0;e=c[d>>2]|0;if(e|0?(l=e+8|0,m=c[l>>2]|0,c[l>>2]=m-1,(m|0)==1):0)UU(e,1,1);c[d>>2]=0}while((d|0)!=(f|0));if(!b)return;l0a(b);return}function FN(a,b){a=a|0;b=b|0;var d=0,e=0;if(!b)return;FN(a,c[b>>2]|0);FN(a,c[b+4>>2]|0);a=c[b+20>>2]|0;if(a|0?(e=a+8|0,d=c[e>>2]|0,c[e>>2]=d-1,(d|0)==1):0)UU(a,1,1);l0a(b);return}function GN(b,d){b=b|0;d=d|0;if(!d)return;GN(b,c[d>>2]|0);GN(b,c[d+4>>2]|0);b=d+16|0;if((a[b+11>>0]|0)<0)l0a(c[b>>2]|0);l0a(d);return}function HN(b,d){b=b|0;d=d|0;if(!d)return;HN(b,c[d>>2]|0);HN(b,c[d+4>>2]|0);b=d+16|0;if((a[b+11>>0]|0)<0)l0a(c[b>>2]|0);l0a(d);return}function IN(a,b){a=a|0;b=b|0;if(!b)return;else{IN(a,c[b>>2]|0);IN(a,c[b+4>>2]|0);l0a(b);return}}function JN(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;c[b>>2]=78620;if(a[b+44>>0]|0){h=eO(qu(c[b+40>>2]|0)|0)|0;Jk[c[(c[h>>2]|0)+44>>2]&1023](h,c[b+20>>2]|0)}f=b+108|0;g=c[f>>2]|0;if(g|0){h=b+112|0;d=c[h>>2]|0;if((d|0)==(g|0))d=g;else{do{d=d+-4|0;e=c[d>>2]|0;if(e|0?(j=e+8|0,i=c[j>>2]|0,c[j>>2]=i-1,(i|0)==1):0)UU(e,1,1);c[d>>2]=0}while((d|0)!=(g|0));d=c[f>>2]|0}c[h>>2]=g;l0a(d)}f=b+96|0;g=c[f>>2]|0;if(g|0){h=b+100|0;d=c[h>>2]|0;if((d|0)==(g|0))d=g;else{do{d=d+-4|0;e=c[d>>2]|0;if(e|0?(i=e+8|0,j=c[i>>2]|0,c[i>>2]=j-1,(j|0)==1):0)UU(e,1,1);c[d>>2]=0}while((d|0)!=(g|0));d=c[f>>2]|0}c[h>>2]=g;l0a(d)}FN(b+84|0,c[b+88>>2]|0);GN(b+72|0,c[b+76>>2]|0);HN(b+60|0,c[b+64>>2]|0);IN(b+48|0,c[b+52>>2]|0);d=b+24|0;if((a[d+11>>0]|0)<0)l0a(c[d>>2]|0);d=b+16|0;e=c[d>>2]|0;if(!e){c[d>>2]=0;SU(b);return}i=e+8|0;j=c[i>>2]|0;c[i>>2]=j-1;if((j|0)!=1){c[d>>2]=0;SU(b);return}UU(e,1,1);c[d>>2]=0;SU(b);return}function KN(a){a=a|0;JN(a);l0a(a);return}
  6570. function E2(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0;m=l;l=l+16|0;f=m;if(!d){l=m;return}if(!(gk[c[(c[d>>2]|0)+180>>2]&1023](d)|0)){if(ZQ(3)|0){k=mr(lr(3)|0,158860,28)|0;b=gk[c[(c[d>>2]|0)+28>>2]&1023](d)|0;b=mr(mr(k,b,VNa(b)|0)|0,159054,50)|0;BSa(f,b+(c[(c[b>>2]|0)+-12>>2]|0)|0);k=cUa(f,230580)|0;k=kk[c[(c[k>>2]|0)+28>>2]&511](k,10)|0;dUa(f);VSa(b,k)|0;HSa(b)|0}if(ZQ(3)|0){b=mr(lr(3)|0,159105,51)|0;BSa(f,b+(c[(c[b>>2]|0)+-12>>2]|0)|0);k=cUa(f,230580)|0;k=kk[c[(c[k>>2]|0)+28>>2]&511](k,10)|0;dUa(f);VSa(b,k)|0;HSa(b)|0}if(ZQ(3)|0){b=mr(lr(3)|0,158993,60)|0;BSa(f,b+(c[(c[b>>2]|0)+-12>>2]|0)|0);k=cUa(f,230580)|0;k=kk[c[(c[k>>2]|0)+28>>2]&511](k,10)|0;dUa(f);VSa(b,k)|0;HSa(b)|0}F2(a,d,e);l=m;return}j=a+80|0;k=a+84|0;f=c[k>>2]|0;g=c[j>>2]|0;h=(f-g|0)/12|0;do if(h>>>0<=b>>>0){i=b+1|0;if(i>>>0>h>>>0){xY(j,i-h|0);break}if(i>>>0<h>>>0){g=g+(i*12|0)|0;if((g|0)!=(f|0))do{i=f;f=f+-12|0;yY(f,c[i+-8>>2]|0)}while((f|0)!=(g|0));c[k>>2]=g}}while(0);K2(a,(c[j>>2]|0)+(b*12|0)|0,d,e);f=y1a(d,42816,47352,0)|0;if(!f){l=m;return}Jk[c[(c[f>>2]|0)+204>>2]&1023](f,b);l=m;return}function F2(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;f=l;l=l+16|0;e=f;if(!b){l=f;return}if(!(gk[c[(c[b>>2]|0)+180>>2]&1023](b)|0)){K2(a,a+56|0,b,d);l=f;return}if(ZQ(3)|0){h=mr(lr(3)|0,158860,28)|0;g=gk[c[(c[b>>2]|0)+28>>2]&1023](b)|0;g=mr(mr(h,g,VNa(g)|0)|0,158889,37)|0;BSa(e,g+(c[(c[g>>2]|0)+-12>>2]|0)|0);h=cUa(e,230580)|0;h=kk[c[(c[h>>2]|0)+28>>2]&511](h,10)|0;dUa(e);VSa(g,h)|0;HSa(g)|0}if(ZQ(3)|0){h=mr(lr(3)|0,158927,65)|0;BSa(e,h+(c[(c[h>>2]|0)+-12>>2]|0)|0);g=cUa(e,230580)|0;g=kk[c[(c[g>>2]|0)+28>>2]&511](g,10)|0;dUa(e);VSa(h,g)|0;HSa(h)|0}if(ZQ(3)|0){h=mr(lr(3)|0,158993,60)|0;BSa(e,h+(c[(c[h>>2]|0)+-12>>2]|0)|0);g=cUa(e,230580)|0;g=kk[c[(c[g>>2]|0)+28>>2]&511](g,10)|0;dUa(e);VSa(h,g)|0;HSa(h)|0}E2(a,0,b,d);l=f;return}function G2(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0;n=l;l=l+16|0;h=n;c[b+4>>2]=0;c[b+8>>2]=0;k=b+12|0;c[k>>2]=0;c[k+4>>2]=0;c[k+8>>2]=0;c[b+24>>2]=2;k=b+28|0;c[k>>2]=0;c[k+4>>2]=0;c[k+8>>2]=0;c[k+12>>2]=0;c[b+44>>2]=-1;k=b+48|0;c[k>>2]=0;c[b+52>>2]=0;c[b+56>>2]=0;c[b>>2]=84916;c[b+60>>2]=5124;j=b+64|0;c[j>>2]=1;g=b+68|0;m=b+76|0;c[g>>2]=0;c[g+4>>2]=0;c[g+8>>2]=0;c[g+12>>2]=0;c[g+16>>2]=0;c[g+20>>2]=0;c[g+24>>2]=0;c[g+28>>2]=0;c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;g=VNa(d)|0;if(g>>>0>4294967279)r0a(h);if(g>>>0<11){a[h+11>>0]=g;if(!g)f=h;else{f=h;i=6}}else{i=g+16&-16;f=j0a(i)|0;c[h>>2]=f;c[h+8>>2]=i|-2147483648;c[h+4>>2]=g;i=6}if((i|0)==6)x2a(f|0,d|0,g|0)|0;a[f+g>>0]=0;bX(b,h);if((a[h+11>>0]|0)<0)l0a(c[h>>2]|0);X$(b);f=c[j>>2]|0;if(!f){H2(b,1);f=c[j>>2]|0}if((f|0)!=1){l=n;return}if(!(I2(b,5124)|0)){l=n;return}c[c[(c[m>>2]|0)+76>>2]>>2]=e;c[k>>2]=(c[k>>2]|0)+1;l=n;return}function H2(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=l;l=l+16|0;f=g;if(!b){if(!(ZQ(2)|0)){l=g;return}e=mr(lr(2)|0,158735,34)|0;BSa(f,e+(c[(c[e>>2]|0)+-12>>2]|0)|0);d=cUa(f,230580)|0;d=kk[c[(c[d>>2]|0)+28>>2]&511](d,10)|0;dUa(f);VSa(e,d)|0;HSa(e)|0;l=g;return}d=a+64|0;e=c[d>>2]|0;if((e|0)==(b|0)){l=g;return}if(!e){c[d>>2]=b;X$(a);l=g;return}if(!(ZQ(2)|0)){l=g;return}e=mr(lr(2)|0,158770,89)|0;BSa(f,e+(c[(c[e>>2]|0)+-12>>2]|0)|0);d=cUa(f,230580)|0;d=kk[c[(c[d>>2]|0)+28>>2]&511](d,10)|0;dUa(f);VSa(e,d)|0;HSa(e)|0;l=g;return}function I2(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;f=l;l=l+16|0;e=f;if(!b){e=0;l=f;return e|0}a=a+60|0;d=c[a>>2]|0;if(!d){e=0;l=f;return e|0}if((d|0)==(b|0)){e=1;l=f;return e|0}g=r1(b)|0;if((g|0)==(r1(d)|0)){g=1;l=f;return g|0}if(!(ZQ(2)|0)){g=0;l=f;return g|0}g=mr(lr(2)|0,157462,36)|0;b=J2(b)|0;b=mr(mr(g,b,VNa(b)|0)|0,176915,5)|0;g=J2(c[a>>2]|0)|0;g=mr(b,g,VNa(g)|0)|0;BSa(e,g+(c[(c[g>>2]|0)+-12>>2]|0)|0);b=cUa(e,230580)|0;b=kk[c[(c[b>>2]|0)+28>>2]&511](b,10)|0;dUa(e);VSa(g,b)|0;HSa(g)|0;g=0;l=f;return g|0}function J2(a){a=a|0;var b=0;a:do if((a|0)<36311){if((a|0)>=35686)do switch(a|0){case 36294:{a=158672;break a}case 36295:{a=158665;break a}case 36296:{a=158658;break a}case 35686:{a=158594;break a}case 35687:{a=158587;break a}case 35688:{a=158580;break a}case 35689:{a=158573;break a}case 35690:{a=158566;break a}case 36288:{a=158411;break a}case 36289:{a=158396;break a}case 36291:{a=158355;break a}case 36292:{a=158334;break a}case 36293:{a=158287;break a}case 36290:{a=158247;break a}case 36297:{a=158202;break a}case 36298:{a=158191;break a}case 36299:{a=158180;break a}case 36300:{a=158167;break a}case 36302:{a=158151;break a}case 36303:{a=158135;break a}case 36304:{a=158068;break a}case 36301:{a=158053;break a}case 36305:{a=158042;break a}case 36306:{a=158031;break a}case 36307:{a=158020;break a}case 36308:{a=158007;break a}case 36310:{a=157991;break a}case 36309:{a=157893;break a}default:{b=114;break a}}while(0);if((a|0)>=35672)do switch(a|0){case 35672:{a=158646;break a}case 35673:{a=158640;break a}case 35674:{a=158618;break a}case 35675:{a=158613;break a}case 35676:{a=158608;break a}case 35685:{a=158601;break a}case 35677:{a=158490;break a}case 35678:{a=158480;break a}case 35679:{a=158470;break a}case 35680:{a=158458;break a}case 35681:{a=158442;break a}case 35682:{a=158426;break a}case 35683:{a=158233;break a}case 35684:{a=158213;break a}default:{b=114;break a}}while(0);if((a|0)>=35665)switch(a|0){case 35665:{a=158725;break a}case 35666:{a=158720;break a}case 35667:{a=158696;break a}case 35668:{a=158690;break a}case 35669:{a=158684;break a}case 35670:{a=191400;break a}case 35671:{a=158652;break a}default:{b=114;break a}}if((a|0)<5130)switch(a|0){case 5126:{a=191493;break a}case 5124:{a=191457;break a}case 5125:{a=158679;break a}default:{b=114;break a}}if((a|0)<5135)switch(a|0){case 5130:{a=191499;break a}case 5134:{a=158632;break a}default:{b=114;break a}}if((a|0)<35664){switch(a|0){case 5135:break;default:{b=114;break a}}a=158623;break}else{switch(a|0){case 35664:break;default:{b=114;break a}}a=158730;break}}else do switch(a|0){case 36860:{a=158714;break a}case 36861:{a=158708;break a}case 36862:{a=158702;break a}case 36678:{a=158560;break a}case 36679:{a=158554;break a}case 36680:{a=158548;break a}case 36681:{a=158540;break a}case 36682:{a=158532;break a}case 36683:{a=158524;break a}case 36684:{a=158516;break a}case 36685:{a=158508;break a}case 36686:{a=158500;break a}case 36876:{a=158376;break a}case 37128:{a=158322;break a}case 37131:{a=158305;break a}case 36877:{a=158261;break a}case 36878:{a=158114;break a}case 37129:{a=158101;break a}case 37132:{a=158083;break a}case 36311:{a=157975;break a}case 36879:{a=157954;break a}case 37130:{a=157941;break a}case 37133:{a=157923;break a}case 36312:{a=157908;break a}case 36940:{a=157885;break a}case 36941:{a=157877;break a}case 36942:{a=157869;break a}case 36943:{a=157857;break a}case 36944:{a=157847;break a}case 36945:{a=157835;break a}case 36946:{a=157822;break a}case 36947:{a=157809;break a}case 36948:{a=157794;break a}case 36949:{a=157784;break a}case 36950:{a=157769;break a}case 36951:{a=157760;break a}case 36952:{a=157751;break a}case 36953:{a=157742;break a}case 36954:{a=157729;break a}case 36955:{a=157718;break a}case 36956:{a=157705;break a}case 36957:{a=157691;break a}case 36958:{a=157677;break a}case 36959:{a=157661;break a}case 36960:{a=157650;break a}case 36961:{a=157634;break a}case 36962:{a=157625;break a}case 36963:{a=157616;break a}case 36964:{a=157607;break a}case 36965:{a=157594;break a}case 36966:{a=157583;break a}case 36967:{a=157570;break a}case 36968:{a=157556;break a}case 36969:{a=157542;break a}case 36970:{a=157526;break a}case 36971:{a=157515;break a}case 36972:{a=157499;break a}default:{b=114;break a}}while(0);while(0);if((b|0)==114)a=149437;return a|0}function K2(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;if(!d)return;m=gk[c[(c[d>>2]|0)+172>>2]&1023](d)|0;k=gk[c[(c[d>>2]|0)+176>>2]&1023](d)|0;n=b+4|0;g=c[n>>2]|0;do if(g){j=n;while(1){i=c[g+16>>2]|0;do if((i|0)<(m|0)){i=g+4|0;q=j}else{if((m|0)>=(i|0)?(c[g+20>>2]|0)>>>0<k>>>0:0){i=g+4|0;q=j;break}i=g;q=g}while(0);g=c[i>>2]|0;if(!g)break;else j=q}if((q|0)!=(n|0)?(l=c[q+16>>2]|0,(m|0)>=(l|0)):0){if((l|0)>=(m|0)?k>>>0<(c[q+20>>2]|0)>>>0:0){r=14;break}o=q+24|0;g=c[o>>2]|0;if((g|0)==(d|0)){c[q+28>>2]=e&6;return}m=kX()|0;n=(m|0)==0;if(!n)gk[c[(c[m>>2]|0)+8>>2]&1023](m)|0;i=c[g+32>>2]|0;l=g+36|0;j=c[l>>2]|0;k=j;a:do if((i|0)==(j|0)){p=i;r=46}else{g=i;do{if((c[g>>2]|0)==(a|0)){p=g;r=46;break a}g=g+4|0}while((g|0)!=(j|0))}while(0);if((r|0)==46?(p|0)!=(j|0):0){i=p+4|0;g=k-i|0;if(g|0)y2a(p|0,i|0,g|0)|0;c[l>>2]=p+(g>>2<<2)}if(!n)gk[c[(c[m>>2]|0)+12>>2]&1023](m)|0;j=c[o>>2]|0;i=((c[j+48>>2]|0)!=0)<<31>>31;j=((c[j+52>>2]|0)!=0)<<31>>31;wY(d,a);g=c[o>>2]|0;if(((g|0)!=(d|0)?(c[o>>2]=d,d=d+8|0,c[d>>2]=(c[d>>2]|0)+1,g|0):0)?(b=g+8|0,d=c[b>>2]|0,c[b>>2]=d-1,(d|0)==1):0)UU(g,1,1);g=c[o>>2]|0;i=((c[g+48>>2]|0)!=0&1)+i|0;g=((c[g+52>>2]|0)!=0&1)+j|0;c[q+28>>2]=e&6;if(i)r=57}else r=14}else r=14;while(0);if((r|0)==14){m=e&6;o=d+8|0;c[o>>2]=(c[o>>2]|0)+1;k=gk[c[(c[d>>2]|0)+172>>2]&1023](d)|0;l=gk[c[(c[d>>2]|0)+176>>2]&1023](d)|0;g=c[n>>2]|0;do if(g){j=b+4|0;b:while(1){i=c[g+16>>2]|0;do if((k|0)>=(i|0)){if((i|0)>=(k|0)){i=c[g+20>>2]|0;if(l>>>0<i>>>0){r=19;break}if(i>>>0>=l>>>0){r=24;break b}}j=g+4|0;i=c[j>>2]|0;if(!i){r=23;break b}else g=i}else r=19;while(0);if((r|0)==19){r=0;i=c[g>>2]|0;if(!i){r=20;break}else{j=g;g=i}}}if((r|0)==20){i=g;j=g;break}else if((r|0)==23){i=g;break}else if((r|0)==24){i=g;break}}else{i=n;j=n}while(0);g=c[j>>2]|0;if(!g){g=j0a(32)|0;e=g+16|0;c[e>>2]=k;c[e+4>>2]=l;c[g+24>>2]=0;c[g+28>>2]=0;c[g>>2]=0;c[g+4>>2]=0;c[g+8>>2]=i;c[j>>2]=g;i=c[c[b>>2]>>2]|0;if(!i)i=g;else{c[b>>2]=i;i=c[j>>2]|0}fp(c[b+4>>2]|0,i);b=b+8|0;c[b>>2]=(c[b>>2]|0)+1}i=g+24|0;j=c[i>>2]|0;if(((j|0)!=(d|0)?(c[i>>2]=d,c[o>>2]=(c[o>>2]|0)+1,j|0):0)?(e=j+8|0,b=c[e>>2]|0,c[e>>2]=b-1,(b|0)==1):0)UU(j,1,1);c[g+28>>2]=m;b=c[o>>2]|0;c[o>>2]=b-1;if((b|0)==1)UU(d,1,1);wY(d,a);g=(c[d+52>>2]|0)!=0&1;if(c[d+48>>2]|0){i=1;r=57}}if((r|0)==57){k=a+148|0;j=c[k>>2]|0;i=j+i|0;if(((c[a+144>>2]|0)==0?(h=c[a+32>>2]|0,t=a+36|0,(h|0)!=(c[t>>2]|0)):0)?(s=((i|0)!=0&1)+(((j|0)!=0)<<31>>31)|0,s|0):0)do{r=c[h>>2]|0;Rv(r,(c[r+88>>2]|0)+s|0);h=h+4|0}while((h|0)!=(c[t>>2]|0));c[k>>2]=i}if(!g)return;i=a+156|0;h=c[i>>2]|0;g=h+g|0;if(((c[a+152>>2]|0)==0?(f=c[a+32>>2]|0,v=a+36|0,(f|0)!=(c[v>>2]|0)):0)?(u=((g|0)!=0&1)+(((h|0)!=0)<<31>>31)|0,u|0):0)do{a=c[f>>2]|0;Sv(a,(c[a+96>>2]|0)+u|0);f=f+4|0}while((f|0)!=(c[v>>2]|0));c[i>>2]=g;return}function L2(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;a_(b);c[b>>2]=84064;f=b+232|0;e=b+252|0;c[f>>2]=0;c[f+4>>2]=0;c[f+8>>2]=0;c[f+12>>2]=0;c[f+16>>2]=0;f=gS(c[(vt()|0)>>2]|0)|0;c[e>>2]=0;g=b+256|0;c[g>>2]=0;h=b+260|0;c[h>>2]=0;if(!f){h=b+136|0;a[h>>0]=1;A_(b,d);return}if(f>>>0>1073741823)g1a(e);i=f<<2;j=j0a(i)|0;c[e>>2]=j;f=j+(f<<2)|0;c[h>>2]=f;z2a(j|0,0,i|0)|0;c[g>>2]=f;h=b+136|0;a[h>>0]=1;A_(b,d);return}function M2(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;v=l;l=l+32|0;s=v+8|0;u=v;h=a+60|0;e=c[h>>2]|0;if(!e){l=v;return}g=h;do{f=c[e+16>>2]|0;do if((f|0)<(b|0))f=e+4|0;else{if((f|0)<=(b|0)?(c[e+20>>2]|0)>>>0<d>>>0:0){f=e+4|0;break}f=e;g=e}while(0);e=c[f>>2]|0}while((e|0)!=0);if((g|0)==(h|0)){l=v;return}e=c[g+16>>2]|0;if((e|0)>(b|0)){l=v;return}if((e|0)>=(b|0)?(c[g+20>>2]|0)>>>0>d>>>0:0){l=v;return}q=g;p=g+24|0;e=c[p>>2]|0;if(c[e+48>>2]|0){g=a+148|0;f=c[g>>2]|0;h=f+-1|0;if(((c[a+144>>2]|0)==0?(i=c[a+32>>2]|0,k=a+36|0,(i|0)!=(c[k>>2]|0)):0)?(j=((h|0)!=0&1)+(((f|0)!=0)<<31>>31)|0,(j|0)!=0):0){e=i;do{i=c[e>>2]|0;Rv(i,(c[i+88>>2]|0)+j|0);e=e+4|0}while((e|0)!=(c[k>>2]|0));e=c[p>>2]|0}c[g>>2]=h}if(c[e+52>>2]|0){g=a+156|0;f=c[g>>2]|0;h=f+-1|0;if(((c[a+152>>2]|0)==0?(m=c[a+32>>2]|0,o=a+36|0,(m|0)!=(c[o>>2]|0)):0)?(n=((h|0)!=0&1)+(((f|0)!=0)<<31>>31)|0,(n|0)!=0):0){e=m;do{m=c[e>>2]|0;Sv(m,(c[m+96>>2]|0)+n|0);e=e+4|0}while((e|0)!=(c[o>>2]|0));e=c[p>>2]|0}c[g>>2]=h}d=kX()|0;i=(d|0)==0;if(!i)gk[c[(c[d>>2]|0)+8>>2]&1023](d)|0;f=c[e+32>>2]|0;b=e+36|0;g=c[b>>2]|0;h=g;a:do if((f|0)==(g|0)){t=f;r=35}else{e=f;do{if((c[e>>2]|0)==(a|0)){t=e;r=35;break a}e=e+4|0}while((e|0)!=(g|0))}while(0);if((r|0)==35?(t|0)!=(g|0):0){f=t+4|0;e=h-f|0;if(e|0)y2a(t|0,f|0,e|0)|0;c[b>>2]=t+(e>>2<<2)}if(!i)gk[c[(c[d>>2]|0)+12>>2]&1023](d)|0;t=c[p>>2]|0;c[s>>2]=86772;c[s+4>>2]=a;c[s+8>>2]=8;c[s+12>>2]=0;kk[c[(c[t>>2]|0)+188>>2]&511](t,s)|0;c[u>>2]=q;c[s>>2]=c[u>>2];P2(a+56|0,s)|0;l=v;return}function N2(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0;n=l;l=l+16|0;m=n;if(!d){l=n;return}if(!(gk[c[(c[d>>2]|0)+180>>2]&1023](d)|0)){if(ZQ(3)|0){k=mr(lr(3)|0,159278,32)|0;b=gk[c[(c[d>>2]|0)+28>>2]&1023](d)|0;b=mr(mr(k,b,VNa(b)|0)|0,159311,58)|0;BSa(m,b+(c[(c[b>>2]|0)+-12>>2]|0)|0);k=cUa(m,230580)|0;k=kk[c[(c[k>>2]|0)+28>>2]&511](k,10)|0;dUa(m);VSa(b,k)|0;HSa(b)|0}if(ZQ(3)|0){b=mr(lr(3)|0,159370,59)|0;BSa(m,b+(c[(c[b>>2]|0)+-12>>2]|0)|0);k=cUa(m,230580)|0;k=kk[c[(c[k>>2]|0)+28>>2]&511](k,10)|0;dUa(m);VSa(b,k)|0;HSa(b)|0}if(ZQ(3)|0){b=mr(lr(3)|0,158993,60)|0;BSa(m,b+(c[(c[b>>2]|0)+-12>>2]|0)|0);k=cUa(m,230580)|0;k=kk[c[(c[k>>2]|0)+28>>2]&511](k,10)|0;dUa(m);VSa(b,k)|0;HSa(b)|0}B2(a,d,e);l=n;return}if(e&8|0){O2(a,b,gk[c[(c[d>>2]|0)+172>>2]&1023](d)|0);l=n;return}j=a+80|0;k=a+84|0;f=c[k>>2]|0;g=c[j>>2]|0;h=(f-g|0)/12|0;do if(h>>>0<=b>>>0){i=b+1|0;if(i>>>0>h>>>0){xY(j,i-h|0);break}if(i>>>0<h>>>0){g=g+(i*12|0)|0;if((g|0)!=(f|0))do{i=f;f=f+-12|0;yY(f,c[i+-8>>2]|0)}while((f|0)!=(g|0));c[k>>2]=g}}while(0);K2(a,(c[j>>2]|0)+(b*12|0)|0,d,e);c[m>>2]=86772;c[m+4>>2]=a;c[m+8>>2]=e;c[m+12>>2]=b;kk[c[(c[d>>2]|0)+188>>2]&511](d,m)|0;f=y1a(d,42816,47352,0)|0;if(!f){l=n;return}Jk[c[(c[f>>2]|0)+204>>2]&1023](f,b);l=n;return}function O2(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;v=l;l=l+32|0;r=v+8|0;u=v;p=c[a+80>>2]|0;t=p;if((((c[a+84>>2]|0)-p|0)/12|0)>>>0<=b>>>0){l=v;return}f=t+(b*12|0)+4|0;e=c[f>>2]|0;if(!e){l=v;return}g=f;do{p=(c[e+16>>2]|0)<(d|0);g=p?g:e;e=c[(p?e+4|0:e)>>2]|0}while((e|0)!=0);if((g|0)==(f|0)){l=v;return}e=c[g+16>>2]|0;if((e|0)>(d|0)){l=v;return}if((e|0)>=(d|0)?c[g+20>>2]|0:0){l=v;return}p=g;j=g+24|0;if((((c[a+72>>2]|0)-(c[a+68>>2]|0)|0)/12|0)>>>0>b>>>0){g=c[j>>2]|0;c[r>>2]=86772;c[r+4>>2]=a;c[r+8>>2]=8;c[r+12>>2]=b;kk[c[(c[g>>2]|0)+188>>2]&511](g,r)|0}e=c[j>>2]|0;if(c[e+48>>2]|0){d=a+148|0;f=c[d>>2]|0;g=f+-1|0;if(((c[a+144>>2]|0)==0?(h=c[a+32>>2]|0,k=a+36|0,(h|0)!=(c[k>>2]|0)):0)?(i=((g|0)!=0&1)+(((f|0)!=0)<<31>>31)|0,(i|0)!=0):0){e=h;do{h=c[e>>2]|0;Rv(h,(c[h+88>>2]|0)+i|0);e=e+4|0}while((e|0)!=(c[k>>2]|0));e=c[j>>2]|0}c[d>>2]=g}if(c[e+52>>2]|0){d=a+156|0;f=c[d>>2]|0;g=f+-1|0;if(((c[a+152>>2]|0)==0?(m=c[a+32>>2]|0,o=a+36|0,(m|0)!=(c[o>>2]|0)):0)?(n=((g|0)!=0&1)+(((f|0)!=0)<<31>>31)|0,(n|0)!=0):0){e=m;do{m=c[e>>2]|0;Sv(m,(c[m+96>>2]|0)+n|0);e=e+4|0}while((e|0)!=(c[o>>2]|0));e=c[j>>2]|0}c[d>>2]=g}i=kX()|0;j=(i|0)==0;if(!j)gk[c[(c[i>>2]|0)+8>>2]&1023](i)|0;f=c[e+32>>2]|0;h=e+36|0;d=c[h>>2]|0;g=d;a:do if((f|0)==(d|0)){s=f;q=33}else{e=f;do{if((c[e>>2]|0)==(a|0)){s=e;q=33;break a}e=e+4|0}while((e|0)!=(d|0))}while(0);if((q|0)==33?(s|0)!=(d|0):0){f=s+4|0;e=g-f|0;if(e|0)y2a(s|0,f|0,e|0)|0;c[h>>2]=s+(e>>2<<2)}if(!j)gk[c[(c[i>>2]|0)+12>>2]&1023](i)|0;c[u>>2]=p;c[r>>2]=c[u>>2];P2(t+(b*12|0)|0,r)|0;l=v;return}function P2(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;e=c[b>>2]|0;b=c[e+4>>2]|0;if(!b){b=e+8|0;d=c[b>>2]|0;if((c[d>>2]|0)!=(e|0))do{f=c[b>>2]|0;b=f+8|0;d=c[b>>2]|0}while((c[d>>2]|0)!=(f|0))}else{while(1){d=c[b>>2]|0;if(!d)break;else b=d}d=b}if((c[a>>2]|0)==(e|0))c[a>>2]=d;b=a+8|0;c[b>>2]=(c[b>>2]|0)+-1;Pw(c[a+4>>2]|0,e);b=c[e+24>>2]|0;if(!b){l0a(e);return d|0}a=b+8|0;f=c[a>>2]|0;c[a>>2]=f-1;if((f|0)!=1){l0a(e);return d|0}UU(b,1,1);l0a(e);return d|0}function Q2(a){a=a|0;return}function R2(a){a=a|0;l0a(a);return}function S2(a,b){a=a|0;b=b|0;A2(c[a+4>>2]|0,b,c[a+8>>2]|0);return}function T2(a,b){a=a|0;b=b|0;U2(c[a+4>>2]|0,c[a+12>>2]|0,b,c[a+8>>2]|0);return}function U2(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0;n=l;l=l+16|0;i=n;if((a[223736]|0)==0?g2a(223736)|0:0)V2(225776);g=c[56445]|0;if(g|0){h=225780;do{m=(c[g+16>>2]|0)>>>0<e>>>0;h=m?h:g;g=c[(m?g+4|0:g)>>2]|0}while((g|0)!=0);if((h|0)!=225780?(c[h+16>>2]|0)>>>0<=e>>>0:0){k=b+68|0;m=b+72|0;g=c[m>>2]|0;h=c[k>>2]|0;i=(g-h|0)/12|0;do if(i>>>0<=d>>>0){j=d+1|0;if(j>>>0>i>>>0){W2(k,j-i|0);break}if(j>>>0<i>>>0){h=h+(j*12|0)|0;if((h|0)!=(g|0))do{j=g;g=g+-12|0;aC(g,c[j+-8>>2]|0)}while((g|0)!=(h|0));c[m>>2]=h}}while(0);X2(b,(c[k>>2]|0)+(d*12|0)|0,e,f);l=n;return}}if(ZQ(3)|0){d=mr(QSa(mr(lr(3)|0,159430,27)|0,e)|0,159458,44)|0;BSa(i,d+(c[(c[d>>2]|0)+-12>>2]|0)|0);m=cUa(i,230580)|0;m=kk[c[(c[m>>2]|0)+28>>2]&511](m,10)|0;dUa(i);VSa(d,m)|0;HSa(d)|0}if(ZQ(3)|0){d=mr(lr(3)|0,159503,46)|0;BSa(i,d+(c[(c[d>>2]|0)+-12>>2]|0)|0);m=cUa(i,230580)|0;m=kk[c[(c[m>>2]|0)+28>>2]&511](m,10)|0;dUa(i);VSa(d,m)|0;HSa(d)|0}if(ZQ(3)|0){d=mr(lr(3)|0,158993,60)|0;BSa(i,d+(c[(c[d>>2]|0)+-12>>2]|0)|0);m=cUa(i,230580)|0;m=kk[c[(c[m>>2]|0)+28>>2]&511](m,10)|0;dUa(i);VSa(d,m)|0;HSa(d)|0}A2(b,e,f);l=n;return}function V2(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;i=a+4|0;c[i>>2]=0;j=a+8|0;c[j>>2]=0;h=a+4|0;c[a>>2]=h;do if((c[h>>2]|0)==0?(b=j0a(20)|0,c[b+16>>2]=3552,c[b>>2]=0,c[b+4>>2]=0,c[b+8>>2]=h,c[h>>2]=b,c[a>>2]=b,fp(b,b),c[j>>2]=(c[j>>2]|0)+1,b=c[h>>2]|0,(b|0)!=0):0){f=i;d=b;while(1){e=c[d+16>>2]|0;if(e>>>0>3553){e=c[d>>2]|0;if(!e){g=6;break}else{f=d;d=e}}else{if((e|0)==3553){g=10;break}f=d+4|0;e=c[f>>2]|0;if(!e){g=9;break}else d=e}}if((g|0)==6){e=d;f=d;break}else if((g|0)==9){e=d;break}else if((g|0)==10){e=d;break}}else g=12;while(0);if((g|0)==12){e=h;f=h;b=0}if(!(c[f>>2]|0)){b=j0a(20)|0;c[b+16>>2]=3553;c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=e;c[f>>2]=b;d=c[c[a>>2]>>2]|0;if(d){c[a>>2]=d;b=c[f>>2]|0}fp(c[i>>2]|0,b);c[j>>2]=(c[j>>2]|0)+1;b=c[h>>2]|0}do if(b){f=i;d=b;while(1){e=c[d+16>>2]|0;if(e>>>0>32879){e=c[d>>2]|0;if(!e){g=21;break}else{f=d;d=e}}else{if((e|0)==32879){g=25;break}f=d+4|0;e=c[f>>2]|0;if(!e){g=24;break}else d=e}}if((g|0)==21){e=d;f=d;break}else if((g|0)==24){e=d;break}else if((g|0)==25){e=d;break}}else{e=h;f=h}while(0);if(!(c[f>>2]|0)){b=j0a(20)|0;c[b+16>>2]=32879;c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=e;c[f>>2]=b;d=c[c[a>>2]>>2]|0;if(d){c[a>>2]=d;b=c[f>>2]|0}fp(c[i>>2]|0,b);c[j>>2]=(c[j>>2]|0)+1;b=c[h>>2]|0}do if(b){f=i;d=b;while(1){e=c[d+16>>2]|0;if(e>>>0>35882){e=c[d>>2]|0;if(!e){g=36;break}else{f=d;d=e}}else{if((e|0)==35882){g=40;break}f=d+4|0;e=c[f>>2]|0;if(!e){g=39;break}else d=e}}if((g|0)==36){e=d;f=d;break}else if((g|0)==39){e=d;break}else if((g|0)==40){e=d;break}}else{e=h;f=h}while(0);if(!(c[f>>2]|0)){b=j0a(20)|0;c[b+16>>2]=35882;c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=e;c[f>>2]=b;d=c[c[a>>2]>>2]|0;if(d){c[a>>2]=d;b=c[f>>2]|0}fp(c[i>>2]|0,b);c[j>>2]=(c[j>>2]|0)+1;b=c[h>>2]|0}do if(b){f=i;d=b;while(1){e=c[d+16>>2]|0;if(e>>>0>34067){e=c[d>>2]|0;if(!e){g=51;break}else{f=d;d=e}}else{if((e|0)==34067){g=55;break}f=d+4|0;e=c[f>>2]|0;if(!e){g=54;break}else d=e}}if((g|0)==51){e=d;f=d;break}else if((g|0)==54){e=d;break}else if((g|0)==55){e=d;break}}else{e=h;f=h}while(0);if(!(c[f>>2]|0)){b=j0a(20)|0;c[b+16>>2]=34067;c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=e;c[f>>2]=b;d=c[c[a>>2]>>2]|0;if(d){c[a>>2]=d;b=c[f>>2]|0}fp(c[i>>2]|0,b);c[j>>2]=(c[j>>2]|0)+1;b=c[h>>2]|0}do if(b){f=i;d=b;while(1){e=c[d+16>>2]|0;if(e>>>0>34037){e=c[d>>2]|0;if(!e){g=66;break}else{f=d;d=e}}else{if((e|0)==34037){g=70;break}f=d+4|0;e=c[f>>2]|0;if(!e){g=69;break}else d=e}}if((g|0)==66){e=d;f=d;break}else if((g|0)==69){e=d;break}else if((g|0)==70){e=d;break}}else{e=h;f=h}while(0);if(!(c[f>>2]|0)){b=j0a(20)|0;c[b+16>>2]=34037;c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=e;c[f>>2]=b;d=c[c[a>>2]>>2]|0;if(d){c[a>>2]=d;b=c[f>>2]|0}fp(c[i>>2]|0,b);c[j>>2]=(c[j>>2]|0)+1;b=c[h>>2]|0}do if(b){f=i;d=b;while(1){e=c[d+16>>2]|0;if(e>>>0>35866){e=c[d>>2]|0;if(!e){g=81;break}else{f=d;d=e}}else{if((e|0)==35866){g=85;break}f=d+4|0;e=c[f>>2]|0;if(!e){g=84;break}else d=e}}if((g|0)==81){e=d;f=d;break}else if((g|0)==84){e=d;break}else if((g|0)==85){e=d;break}}else{e=h;f=h}while(0);if(!(c[f>>2]|0)){b=j0a(20)|0;c[b+16>>2]=35866;c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=e;c[f>>2]=b;d=c[c[a>>2]>>2]|0;if(d){c[a>>2]=d;b=c[f>>2]|0}fp(c[i>>2]|0,b);c[j>>2]=(c[j>>2]|0)+1;b=c[h>>2]|0}do if(b){f=i;d=b;while(1){e=c[d+16>>2]|0;if(e>>>0>37120){e=c[d>>2]|0;if(!e){g=96;break}else{f=d;d=e}}else{if((e|0)==37120){g=100;break}f=d+4|0;e=c[f>>2]|0;if(!e){g=99;break}else d=e}}if((g|0)==96){e=d;f=d;break}else if((g|0)==99){e=d;break}else if((g|0)==100){e=d;break}}else{e=h;f=h}while(0);if(!(c[f>>2]|0)){b=j0a(20)|0;c[b+16>>2]=37120;c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=e;c[f>>2]=b;d=c[c[a>>2]>>2]|0;if(d){c[a>>2]=d;b=c[f>>2]|0}fp(c[i>>2]|0,b);c[j>>2]=(c[j>>2]|0)+1;b=c[h>>2]|0}do if(b){f=i;d=b;while(1){e=c[d+16>>2]|0;if(e>>>0>3171){e=c[d>>2]|0;if(!e){g=111;break}else{f=d;d=e}}else{if((e|0)==3171){g=115;break}f=d+4|0;e=c[f>>2]|0;if(!e){g=114;break}else d=e}}if((g|0)==111){e=d;f=d;break}else if((g|0)==114){e=d;break}else if((g|0)==115){e=d;break}}else{e=h;f=h}while(0);if(!(c[f>>2]|0)){b=j0a(20)|0;c[b+16>>2]=3171;c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=e;c[f>>2]=b;d=c[c[a>>2]>>2]|0;if(d){c[a>>2]=d;b=c[f>>2]|0}fp(c[i>>2]|0,b);c[j>>2]=(c[j>>2]|0)+1;b=c[h>>2]|0}do if(b){f=i;d=b;while(1){e=c[d+16>>2]|0;if(e>>>0>3170){e=c[d>>2]|0;if(!e){g=126;break}else{f=d;d=e}}else{if((e|0)==3170){g=130;break}f=d+4|0;e=c[f>>2]|0;if(!e){g=129;break}else d=e}}if((g|0)==126){e=d;f=d;break}else if((g|0)==129){e=d;break}else if((g|0)==130){e=d;break}}else{e=h;f=h}while(0);if(!(c[f>>2]|0)){b=j0a(20)|0;c[b+16>>2]=3170;c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=e;c[f>>2]=b;d=c[c[a>>2]>>2]|0;if(d){c[a>>2]=d;b=c[f>>2]|0}fp(c[i>>2]|0,b);c[j>>2]=(c[j>>2]|0)+1;b=c[h>>2]|0}do if(b){f=i;d=b;while(1){e=c[d+16>>2]|0;if(e>>>0>3168){e=c[d>>2]|0;if(!e){g=141;break}else{f=d;d=e}}else{if((e|0)==3168){g=145;break}f=d+4|0;e=c[f>>2]|0;if(!e){g=144;break}else d=e}}if((g|0)==141){e=d;f=d;break}else if((g|0)==144){e=d;break}else if((g|0)==145){e=d;break}}else{e=h;f=h}while(0);if(!(c[f>>2]|0)){b=j0a(20)|0;c[b+16>>2]=3168;c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=e;c[f>>2]=b;d=c[c[a>>2]>>2]|0;if(d){c[a>>2]=d;b=c[f>>2]|0}fp(c[i>>2]|0,b);c[j>>2]=(c[j>>2]|0)+1;b=c[h>>2]|0}do if(b){e=i;while(1){d=c[b+16>>2]|0;if(d>>>0>3169){d=c[b>>2]|0;if(!d){g=156;break}else{e=b;b=d}}else{if((d|0)==3169){g=160;break}e=b+4|0;d=c[e>>2]|0;if(!d){g=159;break}else b=d}}if((g|0)==156){d=b;e=b;break}else if((g|0)==159){d=b;break}else if((g|0)==160){d=b;break}}else{d=h;e=h}while(0);if(c[e>>2]|0)return;b=j0a(20)|0;c[b+16>>2]=3169;c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=d;c[e>>2]=b;d=c[c[a>>2]>>2]|0;if(d){c[a>>2]=d;b=c[e>>2]|0}fp(c[i>>2]|0,b);c[j>>2]=(c[j>>2]|0)+1;return}function W2(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;l=a+8|0;f=c[l>>2]|0;m=a+4|0;d=c[m>>2]|0;if(((f-d|0)/12|0)>>>0>=b>>>0){do{c[d+4>>2]=0;c[d+8>>2]=0;c[d>>2]=d+4;d=(c[m>>2]|0)+12|0;c[m>>2]=d;b=b+-1|0}while((b|0)!=0);return}e=c[a>>2]|0;g=(d-e|0)/12|0;h=g+b|0;if(h>>>0>357913941)g1a(a);k=(f-e|0)/12|0;d=k<<1;d=k>>>0<178956970?(d>>>0<h>>>0?h:d):357913941;do if(d)if(d>>>0>357913941){m=db(8)|0;p0a(m,183738);c[m>>2]=110936;hb(m|0,65952,1066)}else{f=j0a(d*12|0)|0;break}else f=0;while(0);g=f+(g*12|0)|0;e=f+(d*12|0)|0;d=g;while(1){c[d+4>>2]=0;c[d+8>>2]=0;c[d>>2]=d+4;b=b+-1|0;if(!b)break;else d=d+12|0}k=f+(h*12|0)|0;j=c[a>>2]|0;d=c[m>>2]|0;if((d|0)==(j|0)){b=g;f=j;d=j}else{b=g;do{i=b;b=b+-12|0;f=d;d=d+-12|0;c[b>>2]=c[d>>2];g=c[f+-8>>2]|0;c[i+-8>>2]=g;h=f+-4|0;n=c[h>>2]|0;c[i+-4>>2]=n;i=i+-8|0;if(!n)c[b>>2]=i;else{c[g+8>>2]=i;n=f+-8|0;c[d>>2]=n;c[n>>2]=0;c[h>>2]=0}}while((d|0)!=(j|0));f=c[a>>2]|0;d=c[m>>2]|0}c[a>>2]=b;c[m>>2]=k;c[l>>2]=e;b=f;if((d|0)!=(b|0))do{n=d;d=d+-12|0;aC(d,c[n+-8>>2]|0)}while((d|0)!=(b|0));if(!f)return;l0a(f);return}function X2(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;f=b+4|0;h=c[f>>2]|0;a=(h|0)==0;if(!(e&8)){do if(!a){g=b+4|0;a=h;while(1){f=c[a+16>>2]|0;if(f>>>0>d>>>0){f=c[a>>2]|0;if(!f){f=21;break}else{g=a;a=f}}else{if(f>>>0>=d>>>0){f=25;break}g=a+4|0;f=c[g>>2]|0;if(!f){f=24;break}else a=f}}if((f|0)==21){h=a;g=a;break}else if((f|0)==24){h=a;break}else if((f|0)==25){h=a;break}}else{h=f;g=f}while(0);a=c[g>>2]|0;if(!a){a=j0a(24)|0;c[a+16>>2]=d;c[a+20>>2]=0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=h;c[g>>2]=a;f=c[c[b>>2]>>2]|0;if(!f)f=a;else{c[b>>2]=f;f=c[g>>2]|0}fp(c[b+4>>2]|0,f);b=b+8|0;c[b>>2]=(c[b>>2]|0)+1}c[a+20>>2]=e;return}if(a)return;g=f;a=h;do{e=(c[a+16>>2]|0)>>>0<d>>>0;g=e?g:a;a=c[(e?a+4|0:a)>>2]|0}while((a|0)!=0);if((g|0)==(f|0))return;if((c[g+16>>2]|0)>>>0>d>>>0)return;a=c[g+4>>2]|0;if(!a){f=g+8|0;a=c[f>>2]|0;if((c[a>>2]|0)!=(g|0))do{e=c[f>>2]|0;f=e+8|0;a=c[f>>2]|0}while((c[a>>2]|0)!=(e|0))}else while(1){f=c[a>>2]|0;if(!f)break;else a=f}if((c[b>>2]|0)==(g|0))c[b>>2]=a;b=b+8|0;c[b>>2]=(c[b>>2]|0)+-1;Pw(h,g);l0a(g);return}function Y2(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;k=l;l=l+16|0;h=k;j=c[b>>2]|0;c[a>>2]=j;c[a+(c[j+-12>>2]|0)>>2]=c[b+4>>2];if(ZQ(4)|0){j=mr(lr(4)|0,159958,21)|0;BSa(h,j+(c[(c[j>>2]|0)+-12>>2]|0)|0);i=cUa(h,230580)|0;i=kk[c[(c[i>>2]|0)+28>>2]&511](i,10)|0;dUa(h);VSa(j,i)|0;HSa(j)|0}j=a+16|0;b=c[j>>2]|0;if((b|0?(c[b+220>>2]=0,d=b+100|0,e=c[d>>2]|0,e|0):0)?(c[d>>2]=0,f=e+(c[(c[e>>2]|0)+-12>>2]|0)|0,e=f+8|0,i=c[e>>2]|0,c[e>>2]=i-1,(i|0)==1):0)UU(f,1,1);f=a+20|0;b=c[f>>2]|0;i=a+24|0;if((b|0)!=(c[i>>2]|0))do{d=c[b+4>>2]|0;c[d+220>>2]=0;d=d+100|0;e=c[d>>2]|0;if(e|0?(c[d>>2]=0,g=e+(c[(c[e>>2]|0)+-12>>2]|0)|0,d=g+8|0,e=c[d>>2]|0,c[d>>2]=e-1,(e|0)==1):0)UU(g,1,1);b=b+272|0}while((b|0)!=(c[i>>2]|0));b=c[j>>2]|0;if(b|0?(c[j>>2]=0,e=b+8|0,g=c[e>>2]|0,c[e>>2]=g-1,(g|0)==1):0)UU(b,1,1);d=c[f>>2]|0;b=c[i>>2]|0;if((b|0)!=(d|0))do{b=b+-272|0;Bk[c[c[b>>2]>>2]&2047](b)}while((b|0)!=(d|0));c[i>>2]=d;e=a+12|0;b=c[e>>2]|0;if(b|0?(c[e>>2]=0,d=b+8|0,g=c[d>>2]|0,c[d>>2]=g-1,(g|0)==1):0)UU(b,1,1);if(ZQ(4)|0){g=mr(lr(4)|0,159980,26)|0;BSa(h,g+(c[(c[g>>2]|0)+-12>>2]|0)|0);d=cUa(h,230580)|0;d=kk[c[(c[d>>2]|0)+28>>2]&511](d,10)|0;dUa(h);VSa(g,d)|0;HSa(g)|0}b=a+32|0;d=c[b>>2]|0;if(d|0?(g=d+8|0,h=c[g>>2]|0,c[g>>2]=h-1,(h|0)==1):0)UU(d,1,1);c[b>>2]=0;d=c[f>>2]|0;if(d|0){b=c[i>>2]|0;if((b|0)==(d|0))b=d;else{do{b=b+-272|0;Bk[c[c[b>>2]>>2]&2047](b)}while((b|0)!=(d|0));b=c[f>>2]|0}c[i>>2]=d;l0a(b)}b=c[j>>2]|0;if(b|0?(h=b+8|0,i=c[h>>2]|0,c[h>>2]=i-1,(i|0)==1):0)UU(b,1,1);c[j>>2]=0;b=c[e>>2]|0;if(b|0?(i=b+8|0,j=c[i>>2]|0,c[i>>2]=j-1,(j|0)==1):0)UU(b,1,1);c[e>>2]=0;b=a+4|0;d=c[b>>2]|0;if(!d){c[b>>2]=0;l=k;return}j=d+8|0;a=c[j>>2]|0;c[j>>2]=a-1;if((a|0)!=1){c[b>>2]=0;l=k;return}UU(d,1,1);c[b>>2]=0;l=k;return}function Z2(a){a=a|0;var b=0,d=0,e=0;b=c[a>>2]|0;if(b|0?(e=b+8|0,d=c[e>>2]|0,c[e>>2]=d-1,(d|0)==1):0)UU(b,1,1);c[a>>2]=0;return}function _2(a){a=a|0;var b=0,d=0,e=0;d=c[a>>2]|0;if(!d)return;e=a+4|0;b=c[e>>2]|0;if((b|0)==(d|0))b=d;else{do{b=b+-272|0;Bk[c[c[b>>2]>>2]&2047](b)}while((b|0)!=(d|0));b=c[a>>2]|0}c[e>>2]=d;l0a(b);return}function $2(a){a=a|0;var b=0,d=0,e=0;b=c[a>>2]|0;if(b|0?(e=b+8|0,d=c[e>>2]|0,c[e>>2]=d-1,(d|0)==1):0)UU(b,1,1);c[a>>2]=0;return}function a3(a){a=a|0;var b=0,d=0,e=0;b=c[a>>2]|0;if(b|0?(e=b+8|0,d=c[e>>2]|0,c[e>>2]=d-1,(d|0)==1):0)UU(b,1,1);c[a>>2]=0;return}function b3(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;i=(d-b|0)/272|0;j=a+8|0;e=c[j>>2]|0;h=c[a>>2]|0;f=h;if(i>>>0<=((e-h|0)/272|0)>>>0){a=a+4|0;e=((c[a>>2]|0)-h|0)/272|0;g=i>>>0>e>>>0;e=b+(e*272|0)|0;h=g?e:d;if((h|0)!=(b|0))do{c3(f,b)|0;b=b+272|0;f=f+272|0}while((b|0)!=(h|0));if(g){if((h|0)==(d|0))return;b=c[a>>2]|0;do{t2(b,e);e=e+272|0;b=(c[a>>2]|0)+272|0;c[a>>2]=b}while((e|0)!=(d|0));return}else{e=c[a>>2]|0;if((e|0)!=(f|0))do{e=e+-272|0;Bk[c[c[e>>2]>>2]&2047](e)}while((e|0)!=(f|0));c[a>>2]=f;return}}if(h){g=a+4|0;e=c[g>>2]|0;if((e|0)==(f|0))e=h;else{do{e=e+-272|0;Bk[c[c[e>>2]>>2]&2047](e)}while((e|0)!=(f|0));e=c[a>>2]|0}c[g>>2]=f;l0a(e);c[j>>2]=0;c[g>>2]=0;c[a>>2]=0;e=0}if(i>>>0>15790320)g1a(a);h=(e|0)/272|0;f=h<<1;f=h>>>0<7895160?(f>>>0<i>>>0?i:f):15790320;if(f>>>0>15790320)g1a(a);e=j0a(f*272|0)|0;g=a+4|0;c[g>>2]=e;c[a>>2]=e;c[j>>2]=e+(f*272|0);if((b|0)==(d|0))return;do{t2(e,b);b=b+272|0;e=(c[g>>2]|0)+272|0;c[g>>2]=e}while((b|0)!=(d|0));return}function c3(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;e=b+4|0;f=c[e>>2]|0;g=c[d+4>>2]|0;if((f|0)!=(g|0)){c[e>>2]=g;if(g|0){g=g+8|0;c[g>>2]=(c[g>>2]|0)+1}if(f|0?(e=f+8|0,g=c[e>>2]|0,c[e>>2]=g-1,(g|0)==1):0)UU(f,1,1)}if((d|0)!=(b|0)){h[b+8>>3]=+h[d+8>>3];h[b+16>>3]=+h[d+16>>3];h[b+24>>3]=+h[d+24>>3];h[b+32>>3]=+h[d+32>>3];h[b+40>>3]=+h[d+40>>3];h[b+48>>3]=+h[d+48>>3];h[b+56>>3]=+h[d+56>>3];h[b+64>>3]=+h[d+64>>3];h[b+72>>3]=+h[d+72>>3];h[b+80>>3]=+h[d+80>>3];h[b+88>>3]=+h[d+88>>3];h[b+96>>3]=+h[d+96>>3];h[b+104>>3]=+h[d+104>>3];h[b+112>>3]=+h[d+112>>3];h[b+120>>3]=+h[d+120>>3];h[b+128>>3]=+h[d+128>>3];h[b+136>>3]=+h[d+136>>3];h[b+144>>3]=+h[d+144>>3];h[b+152>>3]=+h[d+152>>3];h[b+160>>3]=+h[d+160>>3];h[b+168>>3]=+h[d+168>>3];h[b+176>>3]=+h[d+176>>3];h[b+184>>3]=+h[d+184>>3];h[b+192>>3]=+h[d+192>>3];h[b+200>>3]=+h[d+200>>3];h[b+208>>3]=+h[d+208>>3];h[b+216>>3]=+h[d+216>>3];h[b+224>>3]=+h[d+224>>3];h[b+232>>3]=+h[d+232>>3];h[b+240>>3]=+h[d+240>>3];h[b+248>>3]=+h[d+248>>3];h[b+256>>3]=+h[d+256>>3]}a[b+264>>0]=a[d+264>>0]|0;f=b+268|0;g=c[f>>2]|0;e=c[d+268>>2]|0;if((g|0)==(e|0))return b|0;c[f>>2]=e;if(e|0){d=e+(c[(c[e>>2]|0)+-12>>2]|0)+8|0;c[d>>2]=(c[d>>2]|0)+1}if(!g)return b|0;e=g+(c[(c[g>>2]|0)+-12>>2]|0)|0;g=e+8|0;d=c[g>>2]|0;c[g>>2]=d-1;if((d|0)!=1)return b|0;UU(e,1,1);return b|0}function d3(a){a=a|0;Sr(a);return}function e3(a){a=a|0;Sr(a);l0a(a);return}function f3(a){a=a|0;var b=0;a=j0a(88)|0;c[a+4>>2]=0;c[a+8>>2]=0;b=a+12|0;c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;c[a+24>>2]=2;b=a+28|0;c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;c[b+12>>2]=0;c[b+16>>2]=0;c[b+20>>2]=0;c[b+24>>2]=0;c[a>>2]=86804;b=a+56|0;c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;c[b+12>>2]=0;h[a+72>>3]=800.0;h[a+80>>3]=600.0;return a|0}function g3(a,b){a=a|0;b=b|0;var d=0;d=j0a(88)|0;Nr(d,a,b);c[d>>2]=86804;h[d+56>>3]=+h[a+56>>3];h[d+64>>3]=+h[a+64>>3];h[d+72>>3]=+h[a+72>>3];h[d+80>>3]=+h[a+80>>3];return d|0}function h3(a,b){a=a|0;b=b|0;if(!b){b=0;return b|0}b=(y1a(b,42800,47784,0)|0)!=0;return b|0}function i3(a){a=a|0;return 186332}function j3(a){a=a|0;return 160019}function k3(a){a=a|0;return 27}function l3(a,b){a=a|0;b=b|0;var d=0.0,e=0.0,f=0,g=0;if((a|0)==(b|0)){b=0;return b|0}if(!a)e2a();f=c[(c[(c[a>>2]|0)+-4>>2]|0)+4>>2]|0;g=c[(c[(c[b>>2]|0)+-4>>2]|0)+4>>2]|0;if(f>>>0<g>>>0){b=-1;return b|0}if((f|0)!=(g|0)){b=1;return b|0}d=+h[a+56>>3];e=+h[b+56>>3];if(d<e){b=-1;return b|0}if(e<d){b=1;return b|0}d=+h[a+64>>3];e=+h[b+64>>3];if(d<e){b=-1;return b|0}if(e<d){b=1;return b|0}d=+h[a+72>>3];e=+h[b+72>>3];if(d<e){b=-1;return b|0}if(e<d){b=1;return b|0}e=+h[a+80>>3];d=+h[b+80>>3];if(e<d){b=-1;return b|0}b=d<e&1;return b|0}function m3(a,b){a=a|0;b=b|0;ri(~~+h[a+56>>3]|0,~~+h[a+64>>3]|0,~~+h[a+72>>3]|0,~~+h[a+80>>3]|0);return}function n3(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;c[a>>2]=87016;f=a+44|0;b=a+52|0;if(c[b>>2]|0?(d=c[a+48>>2]|0,e=(c[f>>2]|0)+4|0,g=c[d>>2]|0,c[g+4>>2]=c[e>>2],c[c[e>>2]>>2]=g,c[b>>2]=0,(d|0)!=(f|0)):0)do{b=d;d=c[d+4>>2]|0;e=c[b+8>>2]|0;if(e|0?(h=e+8|0,g=c[h>>2]|0,c[h>>2]=g-1,(g|0)==1):0)UU(e,1,1);l0a(b)}while((d|0)!=(f|0));c[a+32>>2]=83012;b=c[a+36>>2]|0;Ti(b+4|0)|0;if(b|0)Bk[c[(c[b>>2]|0)+4>>2]&2047](b);b=a+12|0;d=c[b>>2]|0;if(!d){c[b>>2]=0;SU(a);return}g=d+8|0;h=c[g>>2]|0;c[g>>2]=h-1;if((h|0)!=1){c[b>>2]=0;SU(a);return}UU(d,1,1);c[b>>2]=0;SU(a);return}function o3(a){a=a|0;n3(a);l0a(a);return}function p3(a){a=a|0;L3(a,87572);Pr(a+80|0);return}function q3(a){a=a|0;L3(a,87572);Pr(a+80|0);l0a(a);return}function r3(a){a=a|0;return 160078}function s3(a){a=a|0;return 160065}function t3(a){a=a|0;return a|0}function u3(a){a=a|0;return a|0}function v3(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;g=b+68|0;d=b+76|0;if(!(c[d>>2]|0)){g=b+64|0;a[g>>0]=0;return}e=c[b+72>>2]|0;f=(c[g>>2]|0)+4|0;h=c[e>>2]|0;c[h+4>>2]=c[f>>2];c[c[f>>2]>>2]=h;c[d>>2]=0;if((e|0)==(g|0)){h=b+64|0;a[h>>0]=0;return}do{d=e;e=c[e+4>>2]|0;f=c[d+8>>2]|0;if(f|0?(i=f+8|0,h=c[i>>2]|0,c[i>>2]=h-1,(h|0)==1):0)UU(f,1,1);l0a(d)}while((e|0)!=(g|0));i=b+64|0;a[i>>0]=0;return}function w3(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=c[b+92>>2]|0;do if(h|0){if(gk[c[(c[h>>2]|0)+84>>2]&1023](h)|0){lk[c[(c[h>>2]|0)+92>>2]&127](h,b,a+(c[(c[a>>2]|0)+-12>>2]|0)|0)|0;break}d=gk[c[(c[h>>2]|0)+68>>2]&1023](h)|0;e=gk[c[(c[h>>2]|0)+36>>2]&1023](h)|0;f=gk[c[(c[h>>2]|0)+28>>2]&1023](h)|0;g=(d|0)!=0;if(g)Nk[c[(c[d>>2]|0)+32>>2]&255](d,a,b);d=(e|0)!=0;if(d)Nk[c[(c[e>>2]|0)+32>>2]&255](e,b,a);if(f|0){lk[c[(c[f>>2]|0)+28>>2]&127](f,b,a+(c[(c[a>>2]|0)+-12>>2]|0)|0)|0;break}if(!(g|d))lk[c[(c[h>>2]|0)+92>>2]&127](h,b,a+(c[(c[a>>2]|0)+-12>>2]|0)|0)|0}while(0);d=c[b+120>>2]|0;if(!d)return;if((c[d+152>>2]|0)==0?(c[d+156>>2]|0)==0:0)return;M3(d,a);return}function x3(a,b){a=a|0;b=b|0;var d=0;d=c[b+120>>2]|0;do if(d|0){if((c[d+152>>2]|0)==0?(c[d+156>>2]|0)==0:0)break;M3(d,a)}while(0);d=c[b+92>>2]|0;if(d|0){lk[c[(c[d>>2]|0)+92>>2]&127](d,b,a+(c[(c[a>>2]|0)+-12>>2]|0)|0)|0;return}if(!(c[b+96>>2]|0))return;switch(c[a+16>>2]|0){case 1:{Jk[c[(c[b>>2]|0)+216>>2]&1023](b,a);return}case 0:return;default:{Jk[c[(c[b>>2]|0)+220>>2]&1023](b,a);return}}}function y3(a,b){a=a|0;b=b|0;var d=0;d=c[b+120>>2]|0;do if(d|0){if((c[d+152>>2]|0)==0?(c[d+156>>2]|0)==0:0)break;M3(d,a)}while(0);d=c[b+92>>2]|0;if(d|0){lk[c[(c[d>>2]|0)+92>>2]&127](d,b,a+(c[(c[a>>2]|0)+-12>>2]|0)|0)|0;return}if(!(c[b+96>>2]|0))return;switch(c[a+16>>2]|0){case 1:{Jk[c[(c[b>>2]|0)+216>>2]&1023](b,a);return}case 0:return;default:{Jk[c[(c[b>>2]|0)+220>>2]&1023](b,a);return}}}function z3(a,b){a=a|0;b=b|0;var d=0;d=c[b+120>>2]|0;do if(d|0){if((c[d+152>>2]|0)==0?(c[d+156>>2]|0)==0:0)break;M3(d,a)}while(0);d=c[b+92>>2]|0;if(d|0){lk[c[(c[d>>2]|0)+92>>2]&127](d,b,a+(c[(c[a>>2]|0)+-12>>2]|0)|0)|0;return}if(!(c[b+96>>2]|0))return;switch(c[a+16>>2]|0){case 1:{Jk[c[(c[b>>2]|0)+216>>2]&1023](b,a);return}case 0:return;default:{Jk[c[(c[b>>2]|0)+220>>2]&1023](b,a);return}}}function A3(a,b){a=a|0;b=b|0;var d=0;d=c[b+120>>2]|0;do if(d|0){if((c[d+152>>2]|0)==0?(c[d+156>>2]|0)==0:0)break;M3(d,a)}while(0);d=c[b+92>>2]|0;if(d|0){lk[c[(c[d>>2]|0)+92>>2]&127](d,b,a+(c[(c[a>>2]|0)+-12>>2]|0)|0)|0;return}if(!(c[b+96>>2]|0))return;switch(c[a+16>>2]|0){case 1:{Jk[c[(c[b>>2]|0)+216>>2]&1023](b,a);return}case 0:return;default:{Jk[c[(c[b>>2]|0)+220>>2]&1023](b,a);return}}}function B3(a,b){a=a|0;b=b|0;var d=0;d=c[b+120>>2]|0;do if(d|0){if((c[d+152>>2]|0)==0?(c[d+156>>2]|0)==0:0)break;M3(d,a)}while(0);d=c[b+92>>2]|0;if(d|0){lk[c[(c[d>>2]|0)+92>>2]&127](d,b,a+(c[(c[a>>2]|0)+-12>>2]|0)|0)|0;return}if(!(c[b+96>>2]|0))return;switch(c[a+16>>2]|0){case 1:{Jk[c[(c[b>>2]|0)+216>>2]&1023](b,a);return}case 0:return;default:{Jk[c[(c[b>>2]|0)+220>>2]&1023](b,a);return}}}function C3(a,b){a=a|0;b=b|0;var d=0;d=c[b+120>>2]|0;do if(d|0){if((c[d+152>>2]|0)==0?(c[d+156>>2]|0)==0:0)break;M3(d,a)}while(0);d=c[b+92>>2]|0;if(d|0){lk[c[(c[d>>2]|0)+92>>2]&127](d,b,a+(c[(c[a>>2]|0)+-12>>2]|0)|0)|0;return}if(!(c[b+96>>2]|0))return;switch(c[a+16>>2]|0){case 1:{Jk[c[(c[b>>2]|0)+216>>2]&1023](b,a);return}case 0:return;default:{Jk[c[(c[b>>2]|0)+220>>2]&1023](b,a);return}}}function D3(a,b){a=a|0;b=b|0;var d=0;d=c[b+120>>2]|0;do if(d|0){if((c[d+152>>2]|0)==0?(c[d+156>>2]|0)==0:0)break;M3(d,a)}while(0);d=c[b+92>>2]|0;if(d|0){lk[c[(c[d>>2]|0)+92>>2]&127](d,b,a+(c[(c[a>>2]|0)+-12>>2]|0)|0)|0;return}if(!(c[b+96>>2]|0))return;switch(c[a+16>>2]|0){case 1:{Jk[c[(c[b>>2]|0)+216>>2]&1023](b,a);return}case 0:return;default:{Jk[c[(c[b>>2]|0)+220>>2]&1023](b,a);return}}}function E3(a,b){a=a|0;b=b|0;var d=0;d=c[b+120>>2]|0;do if(d|0){if((c[d+152>>2]|0)==0?(c[d+156>>2]|0)==0:0)break;M3(d,a)}while(0);d=c[b+92>>2]|0;if(d|0){lk[c[(c[d>>2]|0)+92>>2]&127](d,b,a+(c[(c[a>>2]|0)+-12>>2]|0)|0)|0;return}if(!(c[b+96>>2]|0))return;switch(c[a+16>>2]|0){case 1:{Jk[c[(c[b>>2]|0)+216>>2]&1023](b,a);return}case 0:return;default:{Jk[c[(c[b>>2]|0)+220>>2]&1023](b,a);return}}}function F3(a,b){a=a|0;b=b|0;var d=0;d=c[b+120>>2]|0;do if(d|0){if((c[d+152>>2]|0)==0?(c[d+156>>2]|0)==0:0)break;M3(d,a)}while(0);d=c[b+92>>2]|0;if(d|0){lk[c[(c[d>>2]|0)+92>>2]&127](d,b,a+(c[(c[a>>2]|0)+-12>>2]|0)|0)|0;return}if(!(c[b+96>>2]|0))return;switch(c[a+16>>2]|0){case 1:{Jk[c[(c[b>>2]|0)+216>>2]&1023](b,a);return}case 0:return;default:{Jk[c[(c[b>>2]|0)+220>>2]&1023](b,a);return}}}function G3(a,b){a=a|0;b=b|0;var d=0;d=c[b+120>>2]|0;do if(d|0){if((c[d+152>>2]|0)==0?(c[d+156>>2]|0)==0:0)break;M3(d,a)}while(0);d=c[b+92>>2]|0;if(d|0){lk[c[(c[d>>2]|0)+92>>2]&127](d,b,a+(c[(c[a>>2]|0)+-12>>2]|0)|0)|0;return}if(!(c[b+96>>2]|0))return;switch(c[a+16>>2]|0){case 1:{Jk[c[(c[b>>2]|0)+216>>2]&1023](b,a);return}case 0:return;default:{Jk[c[(c[b>>2]|0)+220>>2]&1023](b,a);return}}}function H3(a){a=a|0;a=a+(c[(c[a>>2]|0)+-16>>2]|0)|0;L3(a,87572);Pr(a+80|0);return}function I3(a){a=a|0;a=a+(c[(c[a>>2]|0)+-16>>2]|0)|0;L3(a,87572);Pr(a+80|0);l0a(a);return}function J3(a){a=a|0;return 160078}function K3(a){a=a|0;return 160065}function L3(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;g=c[b>>2]|0;c[a>>2]=g;c[a+(c[g+-12>>2]|0)>>2]=c[b+12>>2];g=a+68|0;e=a+76|0;if(c[e>>2]|0?(d=c[a+72>>2]|0,f=(c[g>>2]|0)+4|0,h=c[d>>2]|0,c[h+4>>2]=c[f>>2],c[c[f>>2]>>2]=h,c[e>>2]=0,(d|0)!=(g|0)):0)do{e=d;d=c[d+4>>2]|0;f=c[e+8>>2]|0;if(f|0?(i=f+8|0,h=c[i>>2]|0,c[i>>2]=h-1,(h|0)==1):0)UU(f,1,1);l0a(e)}while((d|0)!=(g|0));d=a+60|0;e=c[d>>2]|0;if(!e){c[d>>2]=0;i=b+4|0;Cy(a,i);return}h=e+8|0;i=c[h>>2]|0;c[h>>2]=i-1;if((i|0)!=1){c[d>>2]=0;i=b+4|0;Cy(a,i);return}UU(e,1,1);c[d>>2]=0;i=b+4|0;Cy(a,i);return}function M3(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;d=c[a+152>>2]|0;if(d|0)Nk[c[(c[d>>2]|0)+24>>2]&255](d,a,b);if(!(c[a+156>>2]|0))return;d=c[a+56>>2]|0;g=a+60|0;if((d|0)!=(g|0)){f=d;while(1){d=c[f+24>>2]|0;e=c[d+52>>2]|0;if(e|0)Nk[c[(c[e>>2]|0)+32>>2]&255](e,d,b);d=c[f+4>>2]|0;if(!d){e=f+8|0;d=c[e>>2]|0;if((c[d>>2]|0)!=(f|0))do{j=c[e>>2]|0;e=j+8|0;d=c[e>>2]|0}while((c[d>>2]|0)!=(j|0))}else while(1){e=c[d>>2]|0;if(!e)break;else d=e}if((d|0)==(g|0))break;else f=d}}i=a+80|0;j=a+84|0;d=c[i>>2]|0;if((c[j>>2]|0)!=(d|0)){h=0;do{g=d;d=c[g+(h*12|0)>>2]|0;g=g+(h*12|0)+4|0;if((d|0)!=(g|0)){f=d;while(1){d=c[f+24>>2]|0;e=c[d+52>>2]|0;if(e|0)Nk[c[(c[e>>2]|0)+32>>2]&255](e,d,b);d=c[f+4>>2]|0;if(!d){e=f+8|0;d=c[e>>2]|0;if((c[d>>2]|0)!=(f|0))do{f=c[e>>2]|0;e=f+8|0;d=c[e>>2]|0}while((c[d>>2]|0)!=(f|0))}else while(1){e=c[d>>2]|0;if(!e)break;else d=e}if((d|0)==(g|0))break;else f=d}}h=h+1|0;d=c[i>>2]|0}while(h>>>0<(((c[j>>2]|0)-d|0)/12|0)>>>0)}d=c[a+92>>2]|0;g=a+96|0;if((d|0)==(g|0))return;f=d;while(1){d=c[f+28>>2]|0;e=c[d+56>>2]|0;if(e|0)Nk[c[(c[e>>2]|0)+32>>2]&255](e,d,b);d=c[f+4>>2]|0;if(!d){e=f+8|0;d=c[e>>2]|0;if((c[d>>2]|0)!=(f|0))do{a=c[e>>2]|0;e=a+8|0;d=c[e>>2]|0}while((c[d>>2]|0)!=(a|0))}else while(1){e=c[d>>2]|0;if(!e)break;else d=e}if((d|0)==(g|0))break;else f=d}return}function N3(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0;c[a>>2]=87596;e=a+160|0;f=c[e>>2]|0;if(f|0){g=a+164|0;b=c[g>>2]|0;if((b|0)==(f|0))b=f;else{do{b=b+-4|0;d=c[b>>2]|0;if(d|0?(i=d+8|0,h=c[i>>2]|0,c[i>>2]=h-1,(h|0)==1):0)UU(d,1,1);c[b>>2]=0}while((b|0)!=(f|0));b=c[e>>2]|0}c[g>>2]=f;l0a(b)}b=a+156|0;d=c[b>>2]|0;if(d|0?(h=d+8|0,i=c[h>>2]|0,c[h>>2]=i-1,(i|0)==1):0)UU(d,1,1);c[b>>2]=0;b=a+52|0;d=c[b>>2]|0;if(!d){c[b>>2]=0;Pr(a);return}h=d+8|0;i=c[h>>2]|0;c[h>>2]=i-1;if((i|0)!=1){c[b>>2]=0;Pr(a);return}UU(d,1,1);c[b>>2]=0;Pr(a);return}function O3(a){a=a|0;N3(a);l0a(a);return}function P3(b){b=b|0;var d=0,e=0;b=j0a(176)|0;c[b+4>>2]=0;c[b+8>>2]=0;d=b+12|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[b+24>>2]=2;c[b+28>>2]=0;a[b+32>>0]=0;h[b+40>>3]=0.0;c[b>>2]=87596;d=b+48|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[d+12>>2]=0;c[d+16>>2]=0;c[b+68>>2]=1280;c[b+72>>2]=1024;c[b+76>>2]=0;c[b+80>>2]=0;c[b+84>>2]=0;g[b+88>>2]=-1.0;g[b+92>>2]=1.0;g[b+96>>2]=-1.0;g[b+100>>2]=1.0;d=b+104|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[d+12>>2]=0;c[b+120>>2]=1;d=b+124|0;e=d+48|0;do{c[d>>2]=0;d=d+4|0}while((d|0)<(e|0));return b|0}function Q3(a,b){a=a|0;b=b|0;var c=0;c=j0a(176)|0;Y3(c,a,b);return c|0}function R3(a,b){a=a|0;b=b|0;if(!b){b=0;return b|0}b=(y1a(b,42800,48376,0)|0)!=0;return b|0}function S3(a){a=a|0;return 160078}function T3(a){a=a|0;return 160107}function U3(a){a=a|0;return a|0}function V3(a){a=a|0;return a|0}function W3(a){a=a|0;return c[a+48>>2]|0}function X3(a){a=a|0;return c[a+76>>2]|0}function Y3(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0;Or(b,d,e);a[b+32>>0]=a[d+32>>0]|0;h[b+40>>3]=+h[d+40>>3];c[b>>2]=87596;c[b+48>>2]=c[d+48>>2];f=c[d+52>>2]|0;c[b+52>>2]=f;if(f|0){g=f+8|0;c[g>>2]=(c[g>>2]|0)+1}c[b+56>>2]=c[d+56>>2];c[b+60>>2]=c[d+60>>2];c[b+64>>2]=c[d+64>>2];c[b+68>>2]=c[d+68>>2];c[b+72>>2]=c[d+72>>2];c[b+76>>2]=c[d+76>>2];c[b+80>>2]=c[d+80>>2];c[b+84>>2]=c[d+84>>2];c[b+88>>2]=c[d+88>>2];c[b+92>>2]=c[d+92>>2];c[b+96>>2]=c[d+96>>2];c[b+100>>2]=c[d+100>>2];c[b+104>>2]=c[d+104>>2];c[b+108>>2]=c[d+108>>2];c[b+112>>2]=c[d+112>>2];c[b+116>>2]=c[d+116>>2];c[b+120>>2]=c[d+120>>2];c[b+124>>2]=c[d+124>>2];c[b+128>>2]=c[d+128>>2];c[b+132>>2]=c[d+132>>2];c[b+136>>2]=c[d+136>>2];c[b+140>>2]=c[d+140>>2];c[b+144>>2]=c[d+144>>2];c[b+148>>2]=c[d+148>>2];c[b+152>>2]=c[d+152>>2];g=b+156|0;c[g>>2]=0;c[g+4>>2]=0;c[g+8>>2]=0;c[g+12>>2]=0;b=c[d+156>>2]|0;if(!b)return;b=Z3(b,e)|0;f=c[g>>2]|0;if((f|0)==(b|0))return;c[g>>2]=b;if(b|0){g=b+8|0;c[g>>2]=(c[g>>2]|0)+1}if(!f)return;e=f+8|0;g=c[e>>2]|0;c[e>>2]=g-1;if((g|0)!=1)return;UU(f,1,1);return}function Z3(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=l;l=l+16|0;e=g;if(!a){if(!(ZQ(2)|0)){f=0;l=g;return f|0}f=mr(lr(2)|0,172255,88)|0;BSa(e,f+(c[(c[f>>2]|0)+-12>>2]|0)|0);d=cUa(e,230580)|0;d=kk[c[(c[d>>2]|0)+28>>2]&511](d,10)|0;dUa(e);VSa(f,d)|0;HSa(f)|0;f=0;l=g;return f|0}a=kk[c[(c[a>>2]|0)+16>>2]&511](a,b)|0;b=(a|0)==0;if(!b?(f=a+8|0,c[f>>2]=(c[f>>2]|0)+1,d=y1a(a,42800,48392,0)|0,d|0):0){c[f>>2]=(c[f>>2]|0)-1;f=d;l=g;return f|0}if(ZQ(2)|0){f=mr(lr(2)|0,172166,88)|0;BSa(e,f+(c[(c[f>>2]|0)+-12>>2]|0)|0);d=cUa(e,230580)|0;d=kk[c[(c[d>>2]|0)+28>>2]&511](d,10)|0;dUa(e);VSa(f,d)|0;HSa(f)|0}if(b){f=0;l=g;return f|0}e=a+8|0;f=c[e>>2]|0;c[e>>2]=f-1;if((f|0)!=1){f=0;l=g;return f|0}UU(a,1,1);f=0;l=g;return f|0}function _3(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;g=gk[c[(c[d>>2]|0)+52>>2]&1023](d)|0;if(((g|0?c[g+56>>2]|0:0)?c[g+76>>2]|0:0)?(f=c[g+72>>2]|0,h=g+68|0,e=f,(h|0)!=(e|0)):0)do{mk[c[(c[a>>2]|0)+64>>2]&63](a,c[f+8>>2]|0,b,d)|0;f=c[e+4>>2]|0;e=f}while((h|0)!=(e|0));f=a+(c[(c[a>>2]|0)+-12>>2]|0)|0;if((c[b+96>>2]|0)==0?(c[f+4>>2]|0)==0:0)return;if(!d)e=0;else e=d+(c[(c[d>>2]|0)+-12>>2]|0)|0;mR(f,b,e)|0;return}function $3(a){a=a|0;var b=0,d=0,e=0,f=0;b=a+8|0;c[b>>2]=61744;c[b+8>>2]=62016;b=a+12|0;d=c[b>>2]|0;if(d|0?(e=d+(c[(c[d>>2]|0)+-12>>2]|0)|0,f=e+8|0,d=c[f>>2]|0,c[f>>2]=d-1,(d|0)==1):0)UU(e,1,1);c[b>>2]=0;Pr(a+16|0);return}function a4(a){a=a|0;var b=0,d=0,e=0,f=0;b=a+8|0;c[b>>2]=61744;c[b+8>>2]=62016;b=a+12|0;d=c[b>>2]|0;if(d|0?(e=d+(c[(c[d>>2]|0)+-12>>2]|0)|0,f=e+8|0,d=c[f>>2]|0,c[f>>2]=d-1,(d|0)==1):0)UU(e,1,1);c[b>>2]=0;Pr(a+16|0);l0a(a);return}function b4(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;e=gk[c[(c[b>>2]|0)+52>>2]&1023](b)|0;if(!e)return;if(!(c[e+56>>2]|0))return;if(!(c[e+76>>2]|0))return;f=c[e+72>>2]|0;g=e+68|0;e=f;if((g|0)==(e|0))return;do{mk[c[(c[a>>2]|0)+64>>2]&63](a,c[f+8>>2]|0,d,b)|0;f=c[e+4>>2]|0;e=f}while((g|0)!=(e|0));return}function c4(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0;h=gk[c[(c[f>>2]|0)+52>>2]&1023](f)|0;g=gk[c[(c[d>>2]|0)+164>>2]&1023](d)|0;if(!((h|0)!=0&(g|0)!=0)){f=0;return f|0}d=c[h+56>>2]|0;if(!d){f=0;return f|0}if(!(pk[c[(c[b>>2]|0)+72>>2]&63](b,g,d,e,f)|0)){f=0;return f|0}a[g+32>>0]=1;f=1;return f|0}function d4(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;g=a+-4|0;a=gk[c[(c[b>>2]|0)+52>>2]&1023](b)|0;if(!a)return;if(!(c[a+56>>2]|0))return;if(!(c[a+76>>2]|0))return;e=c[a+72>>2]|0;f=a+68|0;a=e;if((f|0)==(a|0))return;do{mk[c[(c[g>>2]|0)+64>>2]&63](g,c[e+8>>2]|0,d,b)|0;e=c[a+4>>2]|0;a=e}while((f|0)!=(a|0));return}function e4(a){a=a|0;var b=0,d=0,e=0,f=0;b=a+-4|0;c[b+8>>2]=61744;a=b+16|0;c[a>>2]=62016;b=b+12|0;d=c[b>>2]|0;if(d|0?(e=d+(c[(c[d>>2]|0)+-12>>2]|0)|0,f=e+8|0,d=c[f>>2]|0,c[f>>2]=d-1,(d|0)==1):0)UU(e,1,1);c[b>>2]=0;Pr(a);return}function f4(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;a=a+-4|0;c[a+8>>2]=61744;b=a+16|0;c[b>>2]=62016;d=a+12|0;e=c[d>>2]|0;if(e|0?(f=e+(c[(c[e>>2]|0)+-12>>2]|0)|0,g=f+8|0,e=c[g>>2]|0,c[g>>2]=e-1,(e|0)==1):0)UU(f,1,1);c[d>>2]=0;Pr(b);l0a(a);return}function g4(a){a=a|0;var b=0,d=0,e=0,f=0;a=a+(c[(c[a>>2]|0)+-112>>2]|0)|0;b=a+8|0;c[b>>2]=61744;c[b+8>>2]=62016;b=a+12|0;d=c[b>>2]|0;if(d|0?(e=d+(c[(c[d>>2]|0)+-12>>2]|0)|0,f=e+8|0,d=c[f>>2]|0,c[f>>2]=d-1,(d|0)==1):0)UU(e,1,1);c[b>>2]=0;Pr(a+16|0);return}function h4(a){a=a|0;var b=0,d=0,e=0,f=0;a=a+(c[(c[a>>2]|0)+-112>>2]|0)|0;b=a+8|0;c[b>>2]=61744;c[b+8>>2]=62016;b=a+12|0;d=c[b>>2]|0;if(d|0?(e=d+(c[(c[d>>2]|0)+-12>>2]|0)|0,f=e+8|0,d=c[f>>2]|0,c[f>>2]=d-1,(d|0)==1):0)UU(e,1,1);c[b>>2]=0;Pr(a+16|0);l0a(a);return}function i4(a){a=a|0;var b=0,d=0,e=0,f=0;a=a+(c[(c[a>>2]|0)+-16>>2]|0)|0;b=a+8|0;c[b>>2]=61744;c[b+8>>2]=62016;b=a+12|0;d=c[b>>2]|0;if(d|0?(e=d+(c[(c[d>>2]|0)+-12>>2]|0)|0,f=e+8|0,d=c[f>>2]|0,c[f>>2]=d-1,(d|0)==1):0)UU(e,1,1);c[b>>2]=0;Pr(a+16|0);return}function j4(a){a=a|0;var b=0,d=0,e=0,f=0;a=a+(c[(c[a>>2]|0)+-16>>2]|0)|0;b=a+8|0;c[b>>2]=61744;c[b+8>>2]=62016;b=a+12|0;d=c[b>>2]|0;if(d|0?(e=d+(c[(c[d>>2]|0)+-12>>2]|0)|0,f=e+8|0,d=c[f>>2]|0,c[f>>2]=d-1,(d|0)==1):0)UU(e,1,1);c[b>>2]=0;Pr(a+16|0);l0a(a);return}function k4(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;d=l;l=l+16|0;a=d;if(!(ZQ(3)|0)){l=d;return 0}b=USa(mr(lr(3)|0,160249,13)|0,b)|0;BSa(a,b+(c[(c[b>>2]|0)+-12>>2]|0)|0);e=cUa(a,230580)|0;e=kk[c[(c[e>>2]|0)+28>>2]&511](e,10)|0;dUa(a);VSa(b,e)|0;HSa(b)|0;l=d;return 0}function l4(b){b=b|0;var d=0,e=0,f=0,g=0,i=0,j=0;f=j0a(288)|0;g=f+256|0;c[f+260>>2]=0;c[f+264>>2]=0;e=f+268|0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[f+280>>2]=2;c[f+284>>2]=0;e=f+248|0;c[f+252>>2]=0;c[f+88>>2]=0;c[f+8>>2]=-1;a[f+12>>0]=1;h[f+16>>3]=0.0;h[f+24>>3]=-1.0;b=f+80|0;i=f+32|0;j=i+48|0;do{c[i>>2]=0;i=i+4|0}while((i|0)<(j|0));h[b>>3]=1.0;a[f+92>>0]=0;a[f+93>>0]=1;d=f+96|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[d+12>>2]=0;h[f+112>>3]=.01;h[f+120>>3]=0.0;c[f+128>>2]=0;h[f+136>>3]=0.0;a[f+144>>0]=1;c[f+148>>2]=0;c[f+152>>2]=5;d=f+156|0;c[f>>2]=11360;c[e>>2]=11848;c[g>>2]=12120;c[f+4>>2]=11692;b=f+208|0;i=f+160|0;j=i+48|0;do{c[i>>2]=0;i=i+4|0}while((i|0)<(j|0));h[b>>3]=1.0;h[f+216>>3]=1.0;h[f+224>>3]=.8;h[f+240>>3]=.05;c[d>>2]=1<<c[56447];h[f+232>>3]=.1;return g|0}function m4(a,b){a=a|0;b=b|0;var d=0;d=j0a(288)|0;V5(d,a,b);return d+(c[(c[d>>2]|0)+-16>>2]|0)|0}function n4(a,b){a=a|0;b=b|0;if(!b){b=0;return b|0}b=(y1a(b,42800,48472,-1)|0)!=0;return b|0}function o4(a){a=a|0;return 160078}function p4(a){a=a|0;return 160263}function q4(a){a=a|0;var b=0,d=0,e=0,f=0;N6(a,88484);b=a+248|0;c[b>>2]=61744;c[b+8>>2]=62016;b=a+252|0;d=c[b>>2]|0;if(d|0?(e=d+(c[(c[d>>2]|0)+-12>>2]|0)|0,f=e+8|0,d=c[f>>2]|0,c[f>>2]=d-1,(d|0)==1):0)UU(e,1,1);c[b>>2]=0;Pr(a+256|0);return}function r4(a){a=a|0;var b=0,d=0,e=0,f=0;N6(a,88484);b=a+248|0;c[b>>2]=61744;c[b+8>>2]=62016;b=a+252|0;d=c[b>>2]|0;if(d|0?(e=d+(c[(c[d>>2]|0)+-12>>2]|0)|0,f=e+8|0,d=c[f>>2]|0,c[f>>2]=d-1,(d|0)==1):0)UU(e,1,1);c[b>>2]=0;Pr(a+256|0);l0a(a);return}function s4(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0;h=gk[c[(c[f>>2]|0)+52>>2]&1023](f)|0;g=gk[c[(c[d>>2]|0)+164>>2]&1023](d)|0;if(!((h|0)!=0&(g|0)!=0)){f=0;return f|0}d=c[h+56>>2]|0;if(!d){f=0;return f|0}if(!(pk[c[(c[b>>2]|0)+72>>2]&63](b,g,d,e,f)|0)){f=0;return f|0}a[g+32>>0]=1;f=1;return f|0}function t4(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;k=l;l=l+48|0;h=k+24|0;i=k+12|0;j=k;E8(i,b);b=J0a(i,161807)|0;c[h>>2]=c[b>>2];c[h+4>>2]=c[b+4>>2];c[h+8>>2]=c[b+8>>2];c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;c[j>>2]=0;c[j+4>>2]=0;c[j+8>>2]=0;b=j0a(48)|0;c[j>>2]=b;c[j+8>>2]=-2147483600;c[j+4>>2]=34;e=b;f=161815;g=e+34|0;do{a[e>>0]=a[f>>0]|0;e=e+1|0;f=f+1|0}while((e|0)<(g|0));a[b+34>>0]=0;dR(d,h,j);if((a[j+11>>0]|0)<0)l0a(c[j>>2]|0);if((a[h+11>>0]|0)<0)l0a(c[h>>2]|0);if((a[i+11>>0]|0)>=0){l=k;return}l0a(c[i>>2]|0);l=k;return}function u4(b,d,e){b=b|0;d=d|0;e=e|0;switch(gk[c[(c[d>>2]|0)+172>>2]&1023](d)|0){case 128:{e=lk[c[(c[b>>2]|0)+184>>2]&127](b,d,e)|0;return e|0}case 256:{e=lk[c[(c[b>>2]|0)+188>>2]&127](b,d,e)|0;return e|0}default:{if(a[d+32>>0]|0){e=0;return e|0}switch(gk[c[(c[d>>2]|0)+172>>2]&1023](d)|0){case 16:{e=lk[c[(c[b>>2]|0)+192>>2]&127](b,d,e)|0;return e|0}case 8:{e=lk[c[(c[b>>2]|0)+196>>2]&127](b,d,e)|0;return e|0}case 1:{e=lk[c[(c[b>>2]|0)+200>>2]&127](b,d,e)|0;return e|0}case 2:{e=lk[c[(c[b>>2]|0)+204>>2]&127](b,d,e)|0;return e|0}case 32:{e=lk[c[(c[b>>2]|0)+208>>2]&127](b,d,e)|0;return e|0}case 64:{e=lk[c[(c[b>>2]|0)+212>>2]&127](b,d,e)|0;return e|0}case 512:{if(!(c[b+152>>2]&4)){e=0;return e|0}e=lk[c[(c[b>>2]|0)+216>>2]&127](b,d,e)|0;return e|0}default:{e=0;return e|0}}}}return 0}function v4(a,b){a=a|0;b=b|0;var d=0;a=a+88|0;d=c[a>>2]|0;if((d|0)==(b|0))return;c[a>>2]=b;if(b|0){b=b+8|0;c[b>>2]=(c[b>>2]|0)+1}if(!d)return;a=d+8|0;b=c[a>>2]|0;c[a>>2]=b-1;if((b|0)!=1)return;UU(d,1,1);return}function w4(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,i=0,j=0.0,k=0.0,m=0.0,n=0.0;i=l;l=l+160|0;f=i+24|0;g=i;m=-+h[b+216>>3];n=1.0/(+h[d+120>>3]+(+h[d+24>>3]*0.0+ +h[d+56>>3]*0.0+ +h[d+88>>3]*m));k=n*(+h[d+104>>3]+(+h[d+8>>3]*0.0+ +h[d+40>>3]*0.0+ +h[d+72>>3]*m));j=n*(+h[d+112>>3]+(+h[d+16>>3]*0.0+ +h[d+48>>3]*0.0+ +h[d+80>>3]*m));h[b+160>>3]=n*(+h[d+96>>3]+(+h[d>>3]*0.0+ +h[d+32>>3]*0.0+ +h[d+64>>3]*m));h[b+168>>3]=k;h[b+176>>3]=j;Mra(f,d);d=b+184|0;h[d>>3]=+h[f>>3];h[b+192>>3]=+h[f+8>>3];h[b+200>>3]=+h[f+16>>3];h[b+208>>3]=+h[f+24>>3];if(!(a[b+144>>0]|0)){l=i;return}e=c[b+88>>2]|0;if(!e)Qra(f);else Nk[c[(c[e>>2]|0)+12>>2]&255](f,e,b+160|0);m=+h[f+72>>3];n=+h[f+80>>3];h[g>>3]=+h[f+64>>3];h[g+8>>3]=m;h[g+16>>3]=n;P6(d,g,1);l=i;return}function x4(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=l;l=l+128|0;d=f;e=c[(c[a>>2]|0)+84>>2]|0;Qra(d);if(((+h[b+24>>3]==0.0?+h[b+56>>3]==0.0:0)?+h[b+88>>3]==0.0:0)?+h[b+120>>3]==1.0:0){Xra(d,b)|0;Jk[e&1023](a,d);l=f;return}Yra(d,b)|0;Jk[e&1023](a,d);l=f;return}function y4(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0.0,g=0.0,i=0.0,j=0,k=0;c=l;l=l+512|0;e=c+256|0;k=c;j=c+384|0;d=c+128|0;i=+h[b+216>>3];Qra(k);Sra(k,0.0,0.0,i);Tra(j,b+184|0);Qra(e);Ura(e,k,j);i=+h[b+160>>3];g=+h[b+168>>3];f=+h[b+176>>3];Qra(d);Sra(d,i,g,f);Qra(a);Ura(a,e,d);l=c;return}function z4(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0.0,g=0,i=0,j=0,k=0.0,m=0.0,n=0.0,o=0.0;c=l;l=l+544|0;e=c+288|0;i=c+128|0;g=c+416|0;j=c+256|0;d=c;m=-+h[b+160>>3];n=-+h[b+168>>3];o=-+h[b+176>>3];Qra(i);Sra(i,m,n,o);o=+h[b+184>>3];n=+h[b+192>>3];m=+h[b+200>>3];k=+h[b+208>>3];f=1.0/(o*o+n*n+m*m+k*k);h[j>>3]=-(o*f);h[j+8>>3]=-(n*f);h[j+16>>3]=-(m*f);h[j+24>>3]=k*f;Tra(g,j);Qra(e);Ura(e,i,g);f=+h[b+216>>3];Qra(d);Sra(d,0.0,0.0,-f);Qra(a);Ura(a,e,d);l=c;return}function A4(a,b){a=a|0;b=b|0;var d=0,e=0;d=l;l=l+128|0;e=d;Jk[c[(c[a>>2]|0)+96>>2]&1023](e,a);h[b+432>>3]=+h[e>>3];h[b+440>>3]=+h[e+8>>3];h[b+448>>3]=+h[e+16>>3];h[b+456>>3]=+h[e+24>>3];h[b+464>>3]=+h[e+32>>3];h[b+472>>3]=+h[e+40>>3];h[b+480>>3]=+h[e+48>>3];h[b+488>>3]=+h[e+56>>3];h[b+496>>3]=+h[e+64>>3];h[b+504>>3]=+h[e+72>>3];h[b+512>>3]=+h[e+80>>3];h[b+520>>3]=+h[e+88>>3];h[b+528>>3]=+h[e+96>>3];h[b+536>>3]=+h[e+104>>3];h[b+544>>3]=+h[e+112>>3];h[b+552>>3]=+h[e+120>>3];Qv(b);l=d;return}function B4(a){a=a|0;return 0}function C4(a){a=a|0;return +(+h[a+216>>3])}function D4(b,d){b=b|0;d=d|0;var e=0.0,f=0,i=0,j=0;f=b+128|0;i=c[f>>2]|0;if((i|0)!=(d|0)){c[f>>2]=d;if(d|0){d=d+8|0;c[d>>2]=(c[d>>2]|0)+1}if(i|0?(j=i+8|0,d=c[j>>2]|0,c[j>>2]=d-1,(d|0)==1):0)UU(i,1,1);d=c[f>>2]|0}if(!d)e=0.0;else e=+g[(Fz(d)|0)+12>>2];h[b+136>>3]=e;if(!(a[b+12>>0]|0))return;Nk[c[(c[b>>2]|0)+136>>2]&255](b,0,(c[b+152>>2]&2|0)!=0);return}function E4(a){a=a|0;return c[a+128>>2]|0}function F4(a){a=a|0;return c[a+128>>2]|0}function G4(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;Jk[c[(c[a>>2]|0)+132>>2]&1023](a,f);f=a+16|0;c[f>>2]=c[b>>2];c[f+4>>2]=c[b+4>>2];c[f+8>>2]=c[b+8>>2];c[f+12>>2]=c[b+12>>2];c[f+16>>2]=c[b+16>>2];c[f+20>>2]=c[b+20>>2];f=a+40|0;c[f>>2]=c[d>>2];c[f+4>>2]=c[d+4>>2];c[f+8>>2]=c[d+8>>2];c[f+12>>2]=c[d+12>>2];c[f+16>>2]=c[d+16>>2];c[f+20>>2]=c[d+20>>2];f=a+64|0;c[f>>2]=c[e>>2];c[f+4>>2]=c[e+4>>2];c[f+8>>2]=c[e+8>>2];c[f+12>>2]=c[e+12>>2];c[f+16>>2]=c[e+16>>2];c[f+20>>2]=c[e+20>>2];return}function H4(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=a+16|0;c[b>>2]=c[f>>2];c[b+4>>2]=c[f+4>>2];c[b+8>>2]=c[f+8>>2];c[b+12>>2]=c[f+12>>2];c[b+16>>2]=c[f+16>>2];c[b+20>>2]=c[f+20>>2];b=a+40|0;c[d>>2]=c[b>>2];c[d+4>>2]=c[b+4>>2];c[d+8>>2]=c[b+8>>2];c[d+12>>2]=c[b+12>>2];c[d+16>>2]=c[b+16>>2];c[d+20>>2]=c[b+20>>2];d=a+64|0;c[e>>2]=c[d>>2];c[e+4>>2]=c[d+4>>2];c[e+8>>2]=c[d+8>>2];c[e+12>>2]=c[d+12>>2];c[e+16>>2]=c[d+16>>2];c[e+20>>2]=c[d+20>>2];return}function I4(b,c){b=b|0;c=c|0;a[b+12>>0]=c&1;return}function J4(b,d,e){b=b|0;d=d|0;e=e|0;var f=0.0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0.0,x=0.0,y=0.0;t=l;l=l+224|0;p=t+72|0;q=t+200|0;r=t+48|0;s=t+24|0;j=t+16|0;k=t+8|0;m=t;if(!(gk[c[(c[b>>2]|0)+120>>2]&1023](b)|0)){l=t;return}g[q>>2]=0.0;n=q+4|0;g[n>>2]=0.0;o=q+8|0;g[o>>2]=0.0;i=q+12|0;g[i>>2]=-1.0;if(ZQ(4)|0){u=mr(OSa(mr(USa(mr(lr(4)|0,161703,40)|0,d)|0,184688,2)|0,e)|0,184787,1)|0;BSa(p,u+(c[(c[u>>2]|0)+-12>>2]|0)|0);v=cUa(p,230580)|0;v=kk[c[(c[v>>2]|0)+28>>2]&511](v,10)|0;dUa(p);VSa(u,v)|0;HSa(u)|0}if(e){JR(p,2);e=gk[c[(c[b>>2]|0)+120>>2]&1023](b)|0;Jk[c[(c[e>>2]|0)+212>>2]&1023](e,p);e=p+68|0;if((+g[p+80>>2]>=+g[e>>2]?+g[p+84>>2]>=+g[p+72>>2]:0)?+g[p+88>>2]>=+g[p+76>>2]:0)SB(q,e);else{v=Fz(gk[c[(c[b>>2]|0)+120>>2]&1023](b)|0)|0;c[q>>2]=c[v>>2];c[q+4>>2]=c[v+4>>2];c[q+8>>2]=c[v+8>>2];c[q+12>>2]=c[v+12>>2]}e=c[17983]|0;c[p>>2]=e;c[p+(c[e+-12>>2]|0)>>2]=c[17986];e=c[p+56>>2]|0;if(e|0){c[p+60>>2]=e;l0a(e)}Cy(p,71936);Pr(p+92|0)}else{v=Fz(gk[c[(c[b>>2]|0)+120>>2]&1023](b)|0)|0;c[q>>2]=c[v>>2];c[q+4>>2]=c[v+4>>2];c[q+8>>2]=c[v+8>>2];c[q+12>>2]=c[v+12>>2]}if(ZQ(4)|0){v=mr(lr(4)|0,161744,31)|0;u=mr(SSa(v,+g[q>>2])|0,184785,1)|0;u=mr(SSa(u,+g[n>>2])|0,184785,1)|0;SSa(u,+g[o>>2])|0;v=mr(v,184787,1)|0;BSa(p,v+(c[(c[v>>2]|0)+-12>>2]|0)|0);u=cUa(p,230580)|0;u=kk[c[(c[u>>2]|0)+28>>2]&511](u,10)|0;dUa(p);VSa(v,u)|0;HSa(v)|0}if(ZQ(4)|0){v=mr(lr(4)|0,161776,30)|0;v=SSa(v,+g[i>>2])|0;BSa(p,v+(c[(c[v>>2]|0)+-12>>2]|0)|0);u=cUa(p,230580)|0;u=kk[c[(c[u>>2]|0)+28>>2]&511](u,10)|0;dUa(p);VSa(v,u)|0;HSa(v)|0}f=+g[i>>2]*3.5;if(d)if(!(vR(d,p,r,s,j,k,m)|0)){if(uR(d,p,r,s,j,k,m)|0)f=+A(+(+h[m>>3]-+h[k>>3]))*.5}else{f=+A(+(+h[r>>3]-+h[p>>3]));w=+h[k>>3];f=f/w*.5;w=+A(+(+h[j>>3]-+h[s>>3]))/w*.5;f=+J(+(w<f?w:f),1.0);f=+g[i>>2]/+E(+f)}v=c[(c[b>>2]|0)+124>>2]|0;y=+g[q>>2];x=+g[n>>2];w=+g[o>>2];h[p>>3]=y+0.0;h[p+8>>3]=x-f;h[p+16>>3]=w+0.0;h[r>>3]=y;h[r+8>>3]=x;h[r+16>>3]=w;c[s>>2]=0;c[s+4>>2]=0;c[s+8>>2]=0;c[s+12>>2]=0;h[s+16>>3]=1.0;Sk[v&63](b,p,r,s,(a[b+12>>0]|0)!=0);l=t;return}function K4(b){b=b|0;var d=0;a[b+92>>0]=0;d=c[b+148>>2]|0;if(!d)return;if(!(a[d+24>>0]|0))return;Dk[c[(c[b>>2]|0)+248>>2]&15](b,1.0,+h[d+40>>3]);return}function L4(b,d,e){b=b|0;d=d|0;e=e|0;var f=0;if(a[b+12>>0]|0){if(!(gk[c[(c[e>>2]|0)+8>>2]&1023](e)|0))d=0;else d=c[(gk[c[(c[e>>2]|0)+8>>2]&1023](e)|0)+16>>2]|0;Nk[c[(c[b>>2]|0)+136>>2]&255](b,d,(c[b+152>>2]&2|0)!=0)}a[b+92>>0]=0;Qk[c[(c[b>>2]|0)+160>>2]&127](b,b+16|0,b+40|0,b+64|0);Bk[c[(c[e>>2]|0)+12>>2]&2047](e);Jk[c[(c[e>>2]|0)+16>>2]&1023](e,0);d=b+104|0;e=c[d>>2]|0;if(e|0?(c[d>>2]=0,f=e+8|0,d=c[f>>2]|0,c[f>>2]=d-1,(d|0)==1):0)UU(e,1,1);d=b+108|0;e=c[d>>2]|0;if(!e)return;c[d>>2]=0;b=e+8|0;f=c[b>>2]|0;c[b>>2]=f-1;if((f|0)!=1)return;UU(e,1,1);return}function M4(b,d){b=b|0;d=+d;var e=0,f=0,g=0;if(a[b+12>>0]|0)Nk[c[(c[b>>2]|0)+136>>2]&255](b,0,(c[b+152>>2]&2|0)!=0);a[b+92>>0]=0;Qk[c[(c[b>>2]|0)+160>>2]&127](b,b+16|0,b+40|0,b+64|0);e=b+104|0;f=c[e>>2]|0;if(f|0?(c[e>>2]=0,g=f+8|0,e=c[g>>2]|0,c[g>>2]=e-1,(e|0)==1):0)UU(f,1,1);e=b+108|0;f=c[e>>2]|0;if(!f)return;c[e>>2]=0;b=f+8|0;g=c[b>>2]|0;c[b>>2]=g-1;if((g|0)!=1)return;UU(f,1,1);return}function N4(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0;d=b+104|0;f=c[d>>2]|0;if(f|0?(c[d>>2]=0,g=f+8|0,d=c[g>>2]|0,c[g>>2]=d-1,(d|0)==1):0)UU(f,1,1);d=b+108|0;f=c[d>>2]|0;if(f|0?(c[d>>2]=0,d=f+8|0,g=c[d>>2]|0,c[d>>2]=g-1,(g|0)==1):0)UU(f,1,1);a[b+92>>0]=0;Jk[c[(c[e>>2]|0)+16>>2]&1023](e,0);return}function O4(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,i=0,j=0,k=0,m=0,n=0,o=0.0,p=0.0,q=0.0,r=0.0,s=0.0,t=0.0,u=0.0,v=0.0,w=0.0;j=l;l=l+160|0;g=j+24|0;i=j;w=+h[b+216>>3];q=-w;o=+h[e>>3];n=e+8|0;t=+h[n>>3];m=e+16|0;r=+h[m>>3];s=r*0.0;v=t*q-s;q=s-o*q;s=o*0.0-t*0.0;k=e+24|0;u=+h[k>>3]*2.0;p=+h[d+8>>3]+(q*u+0.0+(r*v-o*s)*2.0);o=+h[d+16>>3]+(s*u-w+(o*q-t*v)*2.0);h[b+160>>3]=+h[d>>3]+(v*u+0.0+(t*s-r*q)*2.0);h[b+168>>3]=p;h[b+176>>3]=o;f=b+184|0;h[f>>3]=+h[e>>3];h[b+192>>3]=+h[n>>3];h[b+200>>3]=+h[m>>3];h[b+208>>3]=+h[k>>3];if(!(a[b+144>>0]|0)){l=j;return}d=c[b+88>>2]|0;if(!d)Qra(g);else Nk[c[(c[d>>2]|0)+12>>2]&255](g,d,b+160|0);v=+h[g+72>>3];w=+h[g+80>>3];h[i>>3]=+h[g+64>>3];h[i+8>>3]=v;h[i+16>>3]=w;P6(f,i,1);l=j;return}function P4(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,i=0,j=0,k=0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0,s=0.0,t=0.0,u=0.0,v=0.0,w=0.0,x=0.0;k=l;l=l+288|0;i=k+152|0;j=k+128|0;r=k;v=+h[e>>3]-+h[d>>3];s=+h[e+8>>3]-+h[d+8>>3];p=+h[e+16>>3]-+h[d+16>>3];q=+B(+(v*v+s*s+p*p));g=q>0.0;u=1.0/q;v=g?v*u:v;s=g?s*u:s;p=g?p*u:p;u=+h[f+16>>3];w=+h[f+8>>3];x=u*s-w*p;m=+h[f>>3];u=m*p-u*v;m=w*v-m*s;w=+B(+(m*m+(x*x+u*u)));g=w>0.0;w=1.0/w;u=g?u*w:u;x=g?x*w:x;m=g?m*w:m;w=p*u-s*m;t=v*m-p*x;o=s*x-v*u;n=+B(+(o*o+(w*w+t*t)));g=n>0.0;n=1.0/n;Lra(r,x,g?w*n:w,-v,0.0,u,g?t*n:t,-s,0.0,m,g?o*n:o,-p,0.0,0.0,0.0,0.0,1.0);g=b+160|0;c[g>>2]=c[e>>2];c[g+4>>2]=c[e+4>>2];c[g+8>>2]=c[e+8>>2];c[g+12>>2]=c[e+12>>2];c[g+16>>2]=c[e+16>>2];c[g+20>>2]=c[e+20>>2];h[b+216>>3]=q;Mra(i,r);q=+h[i>>3];p=+h[i+8>>3];o=+h[i+16>>3];n=+h[i+24>>3];m=1.0/(q*q+p*p+o*o+n*n);f=b+184|0;h[f>>3]=-(q*m);h[b+192>>3]=-(p*m);h[b+200>>3]=-(o*m);h[b+208>>3]=n*m;if(!(a[b+144>>0]|0)){l=k;return}d=c[b+88>>2]|0;if(!d)Qra(i);else Nk[c[(c[d>>2]|0)+12>>2]&255](i,d,g);w=+h[i+72>>3];x=+h[i+80>>3];h[j>>3]=+h[i+64>>3];h[j+8>>3]=w;h[j+16>>3]=x;P6(f,j,1);l=k;return}function Q4(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,i=0.0,j=0.0,k=0.0,l=0.0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0;q=+h[a+216>>3];k=-q;g=a+184|0;i=+h[g>>3];f=a+192|0;n=+h[f>>3];e=a+200|0;l=+h[e>>3];m=l*0.0;p=n*k-m;k=m-i*k;m=i*0.0-n*0.0;d=a+208|0;o=+h[d>>3]*2.0;j=+h[a+168>>3]-(k*o+0.0+(l*p-i*m)*2.0);i=+h[a+176>>3]-(m*o-q+(i*k-n*p)*2.0);h[b>>3]=+h[a+160>>3]-(p*o+0.0+(n*m-l*k)*2.0);h[b+8>>3]=j;h[b+16>>3]=i;h[c>>3]=+h[g>>3];h[c+8>>3]=+h[f>>3];h[c+16>>3]=+h[e>>3];h[c+24>>3]=+h[d>>3];return}function R4(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0.0,g=0.0,i=0.0,j=0.0,k=0.0,l=0.0,m=0.0,n=0,o=0,p=0,q=0.0,r=0,s=0.0;r=a+160|0;c[d>>2]=c[r>>2];c[d+4>>2]=c[r+4>>2];c[d+8>>2]=c[r+8>>2];c[d+12>>2]=c[r+12>>2];c[d+16>>2]=c[r+16>>2];c[d+20>>2]=c[r+20>>2];s=+h[a+216>>3];p=a+184|0;j=+h[p>>3];o=a+192|0;i=+h[o>>3];n=a+200|0;l=+h[n>>3];m=l*0.0;q=s*i-m;m=m-s*j;f=j*0.0-i*0.0;d=a+208|0;k=+h[d>>3]*2.0;g=+h[a+168>>3]+(m*k+0.0+(l*q-j*f)*2.0);j=+h[a+176>>3]+(s+f*k+(j*m-i*q)*2.0);h[b>>3]=+h[r>>3]+(q*k+0.0+(i*f-l*m)*2.0);h[b+8>>3]=g;h[b+16>>3]=j;j=+h[p>>3];g=+h[o>>3];m=+h[n>>3];l=g*0.0;f=l-m;i=m*0.0-j*0.0;l=j-l;k=+h[d>>3]*2.0;h[e>>3]=f*k+0.0+(g*l-m*i)*2.0;h[e+8>>3]=i*k+1.0+(m*f-j*l)*2.0;h[e+16>>3]=l*k+0.0+(j*i-g*f)*2.0;return}function S4(b,c){b=b|0;c=c|0;a[b+144>>0]=c&1;return}function T4(b,c){b=b|0;c=c|0;a[b+93>>0]=c&1;return}function U4(a,b){a=a|0;b=+b;var d=0,e=0;if(!(b<=0.0)){e=a+148|0;d=c[e>>2]|0;if(!d){Bk[c[(c[a>>2]|0)+268>>2]&2047](a);d=c[e>>2]|0}h[d+16>>3]=b;return}Bk[c[(c[a>>2]|0)+140>>2]&2047](a);d=a+148|0;a=c[d>>2]|0;if(!a)return;c[d>>2]=0;d=a+8|0;e=c[d>>2]|0;c[d>>2]=e-1;if((e|0)!=1)return;UU(a,1,1);return}function V4(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0.0;g=+h[d+40>>3];f=b+120|0;h[b+112>>3]=g-+h[f>>3];h[f>>3]=g;if(a[b+92>>0]|0?gk[c[(c[b>>2]|0)+224>>2]&1023](b)|0:0)Bk[c[(c[e>>2]|0)+12>>2]&2047](e);f=c[b+148>>2]|0;if(!f)return 0;if(!(a[f+24>>0]|0))return 0;lk[c[(c[b>>2]|0)+244>>2]&127](b,d,e)|0;return 0}function W4(a,b,d){a=a|0;b=b|0;d=d|0;Nk[c[(c[a>>2]|0)+152>>2]&255](a,b,d);Bk[c[(c[d>>2]|0)+12>>2]&2047](d);return 1}function X4(a,b,c){a=a|0;b=b|0;c=c|0;return 0}function Y4(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;g=b+104|0;f=c[g>>2]|0;i=b+108|0;h=c[i>>2]|0;if((f|0)!=(h|0)){c[g>>2]=h;if(h|0){h=h+8|0;c[h>>2]=(c[h>>2]|0)+1}if(f|0?(g=f+8|0,h=c[g>>2]|0,c[g>>2]=h-1,(h|0)==1):0)UU(f,1,1);f=c[i>>2]|0}if(((f|0)!=(d|0)?(c[i>>2]=d,i=d+8|0,c[i>>2]=(c[i>>2]|0)+1,f|0):0)?(d=f+8|0,i=c[d>>2]|0,c[d>>2]=i-1,(i|0)==1):0)UU(f,1,1);if(!(gk[c[(c[b>>2]|0)+224>>2]&1023](b)|0)){i=c[e>>2]|0;i=i+16|0;i=c[i>>2]|0;Jk[i&1023](e,0);i=b+92|0;a[i>>0]=0;return 1}Bk[c[(c[e>>2]|0)+12>>2]&2047](e);i=c[e>>2]|0;i=i+16|0;i=c[i>>2]|0;Jk[i&1023](e,0);i=b+92|0;a[i>>0]=0;return 1}function Z4(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;i=b+104|0;f=c[i>>2]|0;if(f|0?(c[i>>2]=0,g=f+8|0,h=c[g>>2]|0,c[g>>2]=h-1,(h|0)==1):0)UU(f,1,1);h=b+108|0;f=c[h>>2]|0;if(!f)f=0;else{c[h>>2]=0;j=f+8|0;g=c[j>>2]|0;c[j>>2]=g-1;if((g|0)==1)UU(f,1,1);f=c[h>>2]|0}g=c[i>>2]|0;if((g|0)!=(f|0)){c[i>>2]=f;if(f|0){j=f+8|0;c[j>>2]=(c[j>>2]|0)+1}if(g|0?(i=g+8|0,j=c[i>>2]|0,c[i>>2]=j-1,(j|0)==1):0)UU(g,1,1);f=c[h>>2]|0}if(((f|0)!=(d|0)?(c[h>>2]=d,j=d+8|0,c[j>>2]=(c[j>>2]|0)+1,f|0):0)?(d=f+8|0,j=c[d>>2]|0,c[d>>2]=j-1,(j|0)==1):0)UU(f,1,1);if(!(gk[c[(c[b>>2]|0)+224>>2]&1023](b)|0)){j=c[e>>2]|0;j=j+16|0;j=c[j>>2]|0;Jk[j&1023](e,0);j=b+92|0;a[j>>0]=0;return 1}Bk[c[(c[e>>2]|0)+12>>2]&2047](e);j=c[e>>2]|0;j=j+16|0;j=c[j>>2]|0;Jk[j&1023](e,0);j=b+92|0;a[j>>0]=0;return 1}function _4(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,i=0,j=0,k=0;if(!(c[d+112>>2]|0)){i=b+108|0;j=c[i>>2]|0;if(!((j|0)!=0?!(+h[d+40>>3]-+h[j+40>>3]>.02):0)){f=b+104|0;g=c[f>>2]|0;if(g|0?(c[f>>2]=0,f=g+8|0,j=c[f>>2]|0,c[f>>2]=j-1,(j|0)==1):0)UU(g,1,1);f=c[i>>2]|0;if(f|0?(c[i>>2]=0,i=f+8|0,j=c[i>>2]|0,c[i>>2]=j-1,(j|0)==1):0)UU(f,1,1)}if(gk[c[(c[b>>2]|0)+252>>2]&1023](b)|0){if(!(gk[c[(c[b>>2]|0)+224>>2]&1023](b)|0))return 1;if(!(a[b+93>>0]|0))return 1;Bk[c[(c[e>>2]|0)+12>>2]&2047](e);Jk[c[(c[e>>2]|0)+16>>2]&1023](e,1);a[b+92>>0]=1;return 1}}i=b+104|0;f=c[i>>2]|0;if(f|0?(c[i>>2]=0,g=f+8|0,j=c[g>>2]|0,c[g>>2]=j-1,(j|0)==1):0)UU(f,1,1);j=b+108|0;f=c[j>>2]|0;if(!f)f=0;else{c[j>>2]=0;k=f+8|0;g=c[k>>2]|0;c[k>>2]=g-1;if((g|0)==1)UU(f,1,1);f=c[j>>2]|0}g=c[i>>2]|0;if((g|0)!=(f|0)){c[i>>2]=f;if(f|0){k=f+8|0;c[k>>2]=(c[k>>2]|0)+1}if(g|0?(i=g+8|0,k=c[i>>2]|0,c[i>>2]=k-1,(k|0)==1):0)UU(g,1,1);f=c[j>>2]|0}if(((f|0)!=(d|0)?(c[j>>2]=d,k=d+8|0,c[k>>2]=(c[k>>2]|0)+1,f|0):0)?(d=f+8|0,k=c[d>>2]|0,c[d>>2]=k-1,(k|0)==1):0)UU(f,1,1);if(gk[c[(c[b>>2]|0)+224>>2]&1023](b)|0)Bk[c[(c[e>>2]|0)+12>>2]&2047](e);Jk[c[(c[e>>2]|0)+16>>2]&1023](e,0);a[b+92>>0]=0;return 1}function $4(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;if((gk[c[(c[d>>2]|0)+176>>2]&1023](d)|0)!=32){e=0;return e|0}f=b+104|0;g=c[f>>2]|0;if(g|0?(c[f>>2]=0,h=g+8|0,f=c[h>>2]|0,c[h>>2]=f-1,(f|0)==1):0)UU(g,1,1);f=b+108|0;g=c[f>>2]|0;if(g|0?(c[f>>2]=0,f=g+8|0,h=c[f>>2]|0,c[f>>2]=h-1,(h|0)==1):0)UU(g,1,1);a[b+92>>0]=0;Nk[c[(c[b>>2]|0)+144>>2]&255](b,d,e);h=1;return h|0}function a5(a,b,c){a=a|0;b=b|0;c=c|0;return 0}function b5(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0.0,i=0;i=c[d+124>>2]|0;a:do if(!(c[b+152>>2]&8))f=10;else{switch(i|0){case 4:{g=+h[b+232>>3];if(!(g>0.0)){f=17;break a}break}case 3:{g=+h[b+232>>3];if(!(g<0.0)){f=13;break a}break}default:{e=0;return e|0}}f=c[b+148>>2]|0;if(f|0?!(+h[f+16>>3]<=0.0):0){if(a[f+24>>0]|0){f=10;break}lk[c[(c[b>>2]|0)+264>>2]&127](b,d,e)|0;f=10;break}lk[c[(c[b>>2]|0)+260>>2]&127](b,d,e)|0;f=10}while(0);b:do if((f|0)==10)switch(i|0){case 3:{g=+h[b+232>>3];f=13;break b}case 4:{g=+h[b+232>>3];f=17;break b}default:{e=0;return e|0}}while(0);if((f|0)==13){Ik[c[(c[b>>2]|0)+312>>2]&7](b,g,1);Bk[c[(c[e>>2]|0)+12>>2]&2047](e);d=c[(c[e>>2]|0)+16>>2]|0;i=c[b+148>>2]|0;if((i|0)!=0?(a[i+24>>0]|0)!=0:0)f=1;else f=(a[b+92>>0]|0)!=0;Jk[d&1023](e,f);e=1;return e|0}else if((f|0)==17){Ik[c[(c[b>>2]|0)+312>>2]&7](b,-g,1);Bk[c[(c[e>>2]|0)+12>>2]&2047](e);d=c[(c[e>>2]|0)+16>>2]|0;i=c[b+148>>2]|0;if((i|0)!=0?(a[i+24>>0]|0)!=0:0)f=1;else f=(a[b+92>>0]|0)!=0;Jk[d&1023](e,f);e=1;return e|0}return 0}function c5(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,h=0,i=0.0,j=0,k=0.0;k=+g[b+104>>2]-+g[a+96>>2];i=+g[b+108>>2]-+g[a+100>>2];if(k==0.0&i==0.0){d=0;return d|0}f=a+104|0;e=c[f>>2]|0;j=a+108|0;h=c[j>>2]|0;if((e|0)!=(h|0)){c[f>>2]=h;if(h|0){h=h+8|0;c[h>>2]=(c[h>>2]|0)+1}if(e|0?(f=e+8|0,h=c[f>>2]|0,c[f>>2]=h-1,(h|0)==1):0)UU(e,1,1);e=c[j>>2]|0}if(((e|0)!=(b|0)?(c[j>>2]=b,j=b+8|0,c[j>>2]=(c[j>>2]|0)+1,e|0):0)?(h=e+8|0,j=c[h>>2]|0,c[h>>2]=j-1,(j|0)==1):0)UU(e,1,1);Nk[c[(c[a>>2]|0)+256>>2]&255](a,b,d);d=hk[c[(c[a>>2]|0)+240>>2]&3](a,k,i)|0;return d|0}function d5(a){a=a|0;var b=0.0,d=0.0,e=0.0,f=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0.0,q=0,r=0,s=0;r=l;l=l+16|0;j=r;k=a+108|0;f=c[k>>2]|0;if(!f){a=0;l=r;return a|0}m=a+104|0;i=c[m>>2]|0;if(!i){a=0;l=r;return a|0}b=+h[f+40>>3]-+h[i+40>>3];if(b<0.0)if(ZQ(2)|0){q=TSa(mr(lr(2)|0,161664,38)|0,b)|0;BSa(j,q+(c[(c[q>>2]|0)+-12>>2]|0)|0);o=cUa(j,230580)|0;o=kk[c[(c[o>>2]|0)+28>>2]&511](o,10)|0;dUa(j);VSa(q,o)|0;HSa(q)|0;b=0.0}else b=0.0;f=c[k>>2]|0;i=c[f+160>>2]|0;j=(c[f+164>>2]|0)-i|0;k=(j|0)==0;if(k){e=+g[f+88>>2];e=(+g[f+104>>2]-e)*2.0/(+g[f+92>>2]-e)}else{q=c[i+((j>>2)+-1<<2)>>2]|0;e=+g[q+24>>2];e=(+g[q+20>>2]-e)/(+g[q+28>>2]-e)*2.0}q=c[m>>2]|0;m=c[q+160>>2]|0;n=(c[q+164>>2]|0)-m|0;o=(n|0)==0;if(o){d=+g[q+88>>2];d=(+g[q+104>>2]-d)*2.0/(+g[q+92>>2]-d)}else{s=c[m+((n>>2)+-1<<2)>>2]|0;d=+g[s+24>>2];d=(+g[s+20>>2]-d)/(+g[s+28>>2]-d)*2.0}p=e+-1.0-(d+-1.0);if(k){e=+g[f+96>>2];e=(+g[f+108>>2]-e)*2.0/(+g[f+100>>2]-e)+-1.0;e=(c[f+120>>2]|0)==0?e:-e}else{s=c[i+((j>>2)+-1<<2)>>2]|0;e=+g[s+36>>2];e=(+g[s+32>>2]-e)/(+g[s+40>>2]-e)*2.0+-1.0}if(o){d=+g[q+96>>2];d=(+g[q+108>>2]-d)*2.0/(+g[q+100>>2]-d)+-1.0;d=(c[q+120>>2]|0)==0?d:-d}else{s=c[m+((n>>2)+-1<<2)>>2]|0;d=+g[s+36>>2];d=(+g[s+32>>2]-d)/(+g[s+40>>2]-d)*2.0+-1.0}d=e-d;e=p;if(p==0.0&d==0.0){s=0;l=r;return s|0}switch(c[q+112>>2]|0){case 1:{s=ik[c[(c[a>>2]|0)+228>>2]&7](a,b,e,d)|0;l=r;return s|0}case 5:case 2:break;case 4:{if(!(c[q+116>>2]&12)){s=ik[c[(c[a>>2]|0)+236>>2]&7](a,b,e,d)|0;l=r;return s|0}break}default:{s=0;l=r;return s|0}}s=ik[c[(c[a>>2]|0)+232>>2]&7](a,b,e,d)|0;l=r;return s|0}function e5(b,d,e,f){b=b|0;d=+d;e=+e;f=+f;var i=0,j=0,k=0,l=0.0,m=0.0,n=0.0,o=0;if(a[b+144>>0]|0){Dk[c[(c[b>>2]|0)+300>>2]&15](b,e,f);return 1}o=c[(c[b>>2]|0)+296>>2]|0;k=c[b+108>>2]|0;i=c[k+160>>2]|0;j=(c[k+164>>2]|0)-i|0;if(!j){e=+g[k+88>>2];n=+g[k+96>>2];n=(+g[k+108>>2]-n)*2.0/(+g[k+100>>2]-n)+-1.0;e=(+g[k+104>>2]-e)*2.0/(+g[k+92>>2]-e);n=(c[k+120>>2]|0)==0?n:-n}else{k=c[i+((j>>2)+-1<<2)>>2]|0;e=+g[k+24>>2];n=+g[k+36>>2];e=(+g[k+20>>2]-e)/(+g[k+28>>2]-e)*2.0;n=(+g[k+32>>2]-n)/(+g[k+40>>2]-n)*2.0+-1.0}m=e+-1.0;k=c[b+104>>2]|0;i=c[k+160>>2]|0;j=(c[k+164>>2]|0)-i|0;if(!j){e=+g[k+88>>2];l=+g[k+96>>2];l=(+g[k+108>>2]-l)*2.0/(+g[k+100>>2]-l)+-1.0;e=(+g[k+104>>2]-e)*2.0/(+g[k+92>>2]-e);l=(c[k+120>>2]|0)==0?l:-l}else{k=c[i+((j>>2)+-1<<2)>>2]|0;e=+g[k+24>>2];l=+g[k+36>>2];e=(+g[k+20>>2]-e)/(+g[k+28>>2]-e)*2.0;l=(+g[k+32>>2]-l)/(+g[k+40>>2]-l)*2.0+-1.0}f=e+-1.0;if(a[b+92>>0]|0)if(d==0.0)e=0.0;else e=+h[b+112>>3]/d;else e=1.0;Gk[o&1](b,m,n,f,l,e);return 1}function f5(b,d,e,f){b=b|0;d=+d;e=+e;f=+f;var g=0.0;g=+h[b+216>>3]*-.30000001192092896;if(a[b+92>>0]|0)if(d==0.0)d=0.0;else d=+h[b+112>>3]/d;else d=1.0;g=g*d;Ek[c[(c[b>>2]|0)+308>>2]&7](b,g*e,g*f,0.0);return 1}function g5(b,d,e,f){b=b|0;d=+d;e=+e;f=+f;var g=0;g=c[(c[b>>2]|0)+312>>2]|0;if(a[b+92>>0]|0)if(d==0.0)e=0.0;else e=+h[b+112>>3]/d;else e=1.0;Ik[g&7](b,e*f,1);return 1}function h5(b,d,e){b=b|0;d=+d;e=+e;if(!(a[b+144>>0]|0)){Gk[c[(c[b>>2]|0)+296>>2]&1](b,0.0,0.0,d,e,1.0);return 1}else{Dk[c[(c[b>>2]|0)+300>>2]&15](b,d,e);return 1}return 0}function i5(b,d,e){b=b|0;d=d|0;e=e|0;var f=0.0,g=0,i=0;i=b+148|0;g=c[i>>2]|0;f=(+h[d+40>>3]-+h[g+32>>3])/+h[g+16>>3];if(f>=1.0){a[g+24>>0]=0;if(!(a[b+92>>0]|0)){Jk[c[(c[e>>2]|0)+16>>2]&1023](e,0);f=1.0;d=c[i>>2]|0}else{f=1.0;d=g}}else d=g;Dk[c[(c[b>>2]|0)+248>>2]&15](b,f,+h[d+40>>3]);h[(c[i>>2]|0)+40>>3]=f;Bk[c[(c[e>>2]|0)+12>>2]&2047](e);return (a[(c[i>>2]|0)+24>>0]|0)!=0|0}function j5(b,d,e){b=b|0;d=+d;e=+e;var f=0,g=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0.0;q=l;l=l+272|0;g=q+248|0;j=q+224|0;k=q+200|0;m=q+176|0;n=q+48|0;o=q+24|0;p=q;f=c[b+148>>2]|0;if(!f)bb(161528,161531,325,161645);f=y1a(f,48536,48552,0)|0;if(!f)bb(161528,161531,325,161645);c[g>>2]=0;c[g+4>>2]=0;c[g+8>>2]=0;c[g+12>>2]=0;c[g+16>>2]=0;c[g+20>>2]=0;c[j>>2]=0;c[j+4>>2]=0;c[j+8>>2]=0;c[j+12>>2]=0;c[j+16>>2]=0;c[j+20>>2]=0;c[k>>2]=0;c[k+4>>2]=0;c[k+8>>2]=0;c[k+12>>2]=0;c[k+16>>2]=0;c[k+20>>2]=0;Qk[c[(c[b>>2]|0)+168>>2]&127](b,j,g,k);r=d-e;d=+h[g+8>>3]+r*+h[f+56>>3];e=+h[g+16>>3]+r*+h[f+64>>3];h[m>>3]=+h[g>>3]+r*+h[f+48>>3];f=m+8|0;h[f>>3]=d;g=m+16|0;h[g>>3]=e;if(!(a[b+144>>0]|0)){p=c[b>>2]|0;p=p+160|0;p=c[p>>2]|0;Qk[p&127](b,j,m,k);l=q;return}i=c[b+88>>2]|0;if(!i)Qra(n);else Nk[c[(c[i>>2]|0)+12>>2]&255](n,i,m);r=+h[n+72>>3];e=+h[n+80>>3];h[o>>3]=+h[n+64>>3];h[o+8>>3]=r;h[o+16>>3]=e;e=+h[f>>3]-+h[j+8>>3];r=+h[g>>3]-+h[j+16>>3];h[p>>3]=+h[m>>3]-+h[j>>3];h[p+8>>3]=e;h[p+16>>3]=r;V6(p,k,k,o,0);p=c[b>>2]|0;p=p+160|0;p=c[p>>2]|0;Qk[p&127](b,j,m,k);l=q;return}function k5(a){a=a|0;var b=0.0,d=0.0,e=0,f=0,i=0.0,j=0,k=0,l=0,m=0,n=0,o=0;n=c[a+108>>2]|0;if(!n){n=0;return n|0}m=c[a+104>>2]|0;if(!m){n=0;return n|0}a=c[n+160>>2]|0;e=(c[n+164>>2]|0)-a|0;f=(e|0)==0;if(f){d=+g[n+88>>2];d=(+g[n+104>>2]-d)*2.0/(+g[n+92>>2]-d)}else{l=c[a+((e>>2)+-1<<2)>>2]|0;d=+g[l+24>>2];d=(+g[l+20>>2]-d)/(+g[l+28>>2]-d)*2.0}j=c[m+160>>2]|0;k=(c[m+164>>2]|0)-j|0;l=(k|0)==0;if(l){b=+g[m+88>>2];b=(+g[m+104>>2]-b)*2.0/(+g[m+92>>2]-b)}else{o=c[j+((k>>2)+-1<<2)>>2]|0;b=+g[o+24>>2];b=(+g[o+20>>2]-b)/(+g[o+28>>2]-b)*2.0}i=d+-1.0-(b+-1.0);if(f){d=+g[n+96>>2];d=(+g[n+108>>2]-d)*2.0/(+g[n+100>>2]-d)+-1.0;d=(c[n+120>>2]|0)==0?d:-d}else{o=c[a+((e>>2)+-1<<2)>>2]|0;d=+g[o+36>>2];d=(+g[o+32>>2]-d)/(+g[o+40>>2]-d)*2.0+-1.0}if(l){b=+g[m+96>>2];b=(+g[m+108>>2]-b)*2.0/(+g[m+100>>2]-b)+-1.0;b=(c[m+120>>2]|0)==0?b:-b}else{o=c[j+((k>>2)+-1<<2)>>2]|0;b=+g[o+36>>2];b=(+g[o+32>>2]-b)/(+g[o+40>>2]-b)*2.0+-1.0}d=d-b;i=+B(+(i*i+d*d));o=i>(+h[n+40>>3]-+h[m+40>>3])*.10000000149011612;return o|0}function l5(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,f=0.0;f=(+g[b+88>>2]+ +g[b+92>>2])*.5;g[a+96>>2]=f;e=(+g[b+96>>2]+ +g[b+100>>2])*.5;g[a+100>>2]=e;Dk[c[(c[d>>2]|0)+20>>2]&15](d,f,e);return}function m5(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,i=0,j=0,k=0.0,m=0.0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0.0,F=0.0,G=0.0,H=0.0;D=l;l=l+464|0;C=D+272|0;x=D+248|0;u=D+224|0;y=D+200|0;z=D+176|0;A=D+48|0;B=D+24|0;w=D;f=gk[c[(c[e>>2]|0)+8>>2]&1023](e)|0;if(!f){C=0;l=D;return C|0}s=c[f+16>>2]|0;if(!s){C=0;l=D;return C|0}k=+g[d+88>>2];k=(+g[d+104>>2]-k)/(+g[d+92>>2]-k);m=+g[d+96>>2];m=(+g[d+108>>2]-m)/(+g[d+100>>2]-m);f=c[s+288>>2]|0;if(!f)r=1;else{r=0;m=+h[f+80>>3]*m;k=+h[f+72>>3]*k}v=j0a(96)|0;c[v+4>>2]=0;t=v+8|0;c[t>>2]=0;c[v+12>>2]=r;c[v+16>>2]=0;c[v+20>>2]=0;c[v+24>>2]=0;c[v>>2]=88640;f=v+28|0;i=v+32|0;j=v+56|0;n=v+84|0;c[n>>2]=0;c[v+88>>2]=0;o=v+80|0;p=f;q=p+52|0;do{c[p>>2]=0;p=p+4|0}while((p|0)<(q|0));c[o>>2]=n;h[i>>3]=k;h[v+40>>3]=m;h[v+48>>3]=(r|0)==1?-1.0:0.0;h[j>>3]=k;h[v+64>>3]=m;h[v+72>>3]=1.0;c[t>>2]=(c[t>>2]|0)+1;U6(C,v,0);Jk[c[(c[s>>2]|0)+212>>2]&1023](s,C);if(gk[c[(c[v>>2]|0)+32>>2]&1023](v)|0){f=c[f>>2]|0;c[x>>2]=0;c[x+4>>2]=0;c[x+8>>2]=0;c[x+12>>2]=0;c[x+16>>2]=0;c[x+20>>2]=0;c[u>>2]=0;c[u+4>>2]=0;c[u+8>>2]=0;c[u+12>>2]=0;c[u+16>>2]=0;c[u+20>>2]=0;c[y>>2]=0;c[y+4>>2]=0;c[y+8>>2]=0;c[y+12>>2]=0;c[y+16>>2]=0;c[y+20>>2]=0;Qk[c[(c[b>>2]|0)+168>>2]&127](b,x,u,y);f=c[((f|0)==0?v:f)+80>>2]|0;i=c[f+40>>2]|0;j=f+48|0;if(!i){c[z>>2]=c[j>>2];c[z+4>>2]=c[j+4>>2];c[z+8>>2]=c[j+8>>2];c[z+12>>2]=c[j+12>>2];c[z+16>>2]=c[j+16>>2];c[z+20>>2]=c[j+20>>2]}else{G=+h[j>>3];F=+h[f+56>>3];E=+h[f+64>>3];H=1.0/(+h[i+152>>3]+(+h[i+56>>3]*G+ +h[i+88>>3]*F+ +h[i+120>>3]*E));k=H*(+h[i+136>>3]+(G*+h[i+40>>3]+F*+h[i+72>>3]+E*+h[i+104>>3]));m=H*(+h[i+144>>3]+(G*+h[i+48>>3]+F*+h[i+80>>3]+E*+h[i+112>>3]));h[z>>3]=H*(+h[i+128>>3]+(G*+h[i+32>>3]+F*+h[i+64>>3]+E*+h[i+96>>3]));h[z+8>>3]=k;h[z+16>>3]=m}if(a[b+144>>0]|0){f=c[b+88>>2]|0;if(!f)Qra(A);else Nk[c[(c[f>>2]|0)+12>>2]&255](A,f,z);H=+h[A+72>>3];G=+h[A+80>>3];h[B>>3]=+h[A+64>>3];h[B+8>>3]=H;h[B+16>>3]=G;G=+h[z+8>>3]-+h[x+8>>3];H=+h[z+16>>3]-+h[x+16>>3];h[w>>3]=+h[z>>3]-+h[x>>3];h[w+8>>3]=G;h[w+16>>3]=H;V6(w,y,y,B,0)}Qk[c[(c[b>>2]|0)+160>>2]&127](b,x,z,y);Nk[c[(c[b>>2]|0)+256>>2]&255](b,d,e);f=1}else f=0;W6(C,88680);Pr(C+160|0);C=c[t>>2]|0;c[t>>2]=C-1;if((C|0)!=1){C=f;l=D;return C|0}UU(v,1,1);C=f;l=D;return C|0}function n5(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,i=0,j=0,k=0.0,m=0.0,n=0.0,o=0.0;j=l;l=l+80|0;f=j+48|0;g=j+24|0;i=j;c[f>>2]=0;c[f+4>>2]=0;c[f+8>>2]=0;c[f+12>>2]=0;c[f+16>>2]=0;c[f+20>>2]=0;c[g>>2]=0;c[g+4>>2]=0;c[g+8>>2]=0;c[g+12>>2]=0;c[g+16>>2]=0;c[g+20>>2]=0;c[i>>2]=0;c[i+4>>2]=0;c[i+8>>2]=0;c[i+12>>2]=0;c[i+16>>2]=0;c[i+20>>2]=0;Qk[c[(c[b>>2]|0)+168>>2]&127](b,g,f,i);if(!(lk[c[(c[b>>2]|0)+260>>2]&127](b,d,e)|0)){i=0;l=j;return i|0}e=c[b+148>>2]|0;if(!e){i=0;l=j;return i|0}e=y1a(e,48536,48552,0)|0;if(!e){i=0;l=j;return i|0}n=+h[b+160>>3]-+h[f>>3];m=+h[b+168>>3]-+h[f+8>>3];k=+h[b+176>>3]-+h[f+16>>3];o=+h[d+40>>3];a[e+24>>0]=1;h[e+32>>3]=o;h[e+40>>3]=0.0;h[e+48>>3]=n;h[e+56>>3]=m;h[e+64>>3]=k;Qk[c[(c[b>>2]|0)+160>>2]&127](b,g,f,i);i=1;l=j;return i|0}function o5(b){b=b|0;var d=0,e=0,f=0;e=j0a(72)|0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[e+12>>2]=0;c[e+16>>2]=0;c[e+20>>2]=0;c[e+24>>2]=0;c[e+28>>2]=0;c[e+4>>2]=0;f=e+8|0;c[f>>2]=0;h[e+16>>3]=0.0;a[e+24>>0]=0;d=e+32|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[d+12>>2]=0;c[e>>2]=88620;d=e+48|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[d+12>>2]=0;c[d+16>>2]=0;c[d+20>>2]=0;b=b+148|0;d=c[b>>2]|0;if((d|0)==(e|0))return;c[b>>2]=e;c[f>>2]=(c[f>>2]|0)+1;if(!d)return;e=d+8|0;f=c[e>>2]|0;c[e>>2]=f-1;if((f|0)!=1)return;UU(d,1,1);return}function p5(a,b){a=a|0;b=b|0;a=a+160|0;c[a>>2]=c[b>>2];c[a+4>>2]=c[b+4>>2];c[a+8>>2]=c[b+8>>2];c[a+12>>2]=c[b+12>>2];c[a+16>>2]=c[b+16>>2];c[a+20>>2]=c[b+20>>2];return}function q5(a,b){a=a|0;b=b|0;h[a+184>>3]=+h[b>>3];h[a+192>>3]=+h[b+8>>3];h[a+200>>3]=+h[b+16>>3];h[a+208>>3]=+h[b+24>>3];return}function r5(a,b){a=a|0;b=+b;h[a+216>>3]=b;return}function s5(a,b){a=a|0;b=b|0;a=a+224|0;h[a>>3]=+h[b>>3];S6(a,.1,1.0,160474);return}function t5(a,b){a=a|0;b=+b;h[a+232>>3]=b;return}function u5(a,b,d){a=a|0;b=b|0;d=d|0;h[a+240>>3]=+h[b>>3];b=1<<c[56447];if(d){d=a+156|0;c[d>>2]=c[d>>2]|b;return}else{d=a+156|0;c[d>>2]=c[d>>2]&~b;return}}function v5(a,b,d,e,f,i){a=a|0;b=+b;d=+d;e=+e;f=+f;i=+i;var j=0.0,k=0,m=0,n=0,o=0.0,p=0.0,q=0;m=l;l=l+32|0;n=m;k=m+24|0;c[n>>2]=0;c[n+4>>2]=0;c[n+8>>2]=0;c[n+12>>2]=0;c[n+16>>2]=0;c[n+20>>2]=0;R6(a,n,k,(e-b)*i+b,(f-d)*i+d,b,d);j=+h[n>>3];i=+h[n+8>>3];d=+h[n+16>>3];b=+B(+(j*j+i*i+d*d));if(b<1.0e-07){f=1.0;e=0.0;d=0.0;b=0.0}else{o=1.0/b;f=+g[k>>2]*.5;b=+E(+f);f=+D(+f);e=o*(d*b);d=o*(i*b);b=o*(j*b)}q=a+184|0;i=+h[q>>3];n=a+208|0;p=+h[n>>3];k=a+200|0;o=+h[k>>3];a=a+192|0;j=+h[a>>3];h[q>>3]=f*i+b*p+d*o-e*j;h[a>>3]=e*i+(d*p+(f*j-b*o));h[k>>3]=e*p+(f*o+b*j-d*i);h[n>>3]=f*p-b*i-d*j-e*o;l=m;return}function w5(a,b,d){a=a|0;b=+b;d=+d;var e=0,f=0,g=0,i=0,j=0.0,k=0.0;i=l;l=l+160|0;e=i+24|0;f=i;g=c[a+88>>2]|0;if(!g)Qra(e);else Nk[c[(c[g>>2]|0)+12>>2]&255](e,g,a+160|0);k=+h[e+72>>3];j=+h[e+80>>3];h[f>>3]=+h[e+64>>3];h[f+8>>3]=k;h[f+16>>3]=j;O6(a+184|0,b,d,f);l=i;return}function x5(a,b,c,d){a=a|0;b=+b;c=+c;d=d|0;var e=0,f=0;e=l;l=l+32|0;f=e;h[f>>3]=+g[d>>2];h[f+8>>3]=+g[d+4>>2];h[f+16>>3]=+g[d+8>>2];O6(a+184|0,b,c,f);l=e;return}function y5(a,b,c,d){a=a|0;b=+b;c=+c;d=+d;var e=0,f=0,g=0,i=0.0,j=0.0,k=0.0;e=l;l=l+128|0;g=e;Qra(g);Tra(g,a+184|0);j=b;i=c;b=d;k=1.0/(+h[g+120>>3]+(+h[g+24>>3]*j+ +h[g+56>>3]*i+ +h[g+88>>3]*b));c=k*(+h[g+104>>3]+(+h[g+8>>3]*j+ +h[g+40>>3]*i+ +h[g+72>>3]*b));d=k*(+h[g+112>>3]+(+h[g+16>>3]*j+ +h[g+48>>3]*i+ +h[g+80>>3]*b));f=a+160|0;h[f>>3]=k*(+h[g+96>>3]+(+h[g>>3]*j+ +h[g+32>>3]*i+ +h[g+64>>3]*b))+ +h[f>>3];f=a+168|0;h[f>>3]=c+ +h[f>>3];a=a+176|0;h[a>>3]=d+ +h[a>>3];l=e;return}function z5(a,b,d){a=a|0;b=+b;d=d|0;var e=0.0,f=0,g=0.0,i=0.0,j=0,k=0;k=l;l=l+128|0;j=k;e=+h[a+240>>3];if(c[a+156>>2]&1<<c[56447])e=+h[a+136>>3]*e;f=a+216|0;g=+h[f>>3];i=g*(b+1.0);if(i>e){h[f>>3]=i;l=k;return}if(d){Tra(j,a+184|0);e=1.0/(+h[j+120>>3]+(+h[j+24>>3]*0.0+ +h[j+56>>3]*0.0-+h[j+88>>3]));g=-(g*b);i=e*(+h[j+104>>3]+(+h[j+8>>3]*0.0+ +h[j+40>>3]*0.0-+h[j+72>>3]))*g;b=e*(+h[j+112>>3]+(+h[j+16>>3]*0.0+ +h[j+48>>3]*0.0-+h[j+80>>3]))*g;d=a+160|0;h[d>>3]=e*(+h[j+96>>3]+(+h[j>>3]*0.0+ +h[j+32>>3]*0.0-+h[j+64>>3]))*g+ +h[d>>3];j=a+168|0;h[j>>3]=i+ +h[j>>3];j=a+176|0;h[j>>3]=b+ +h[j>>3];l=k;return}else{h[f>>3]=e;l=k;return}}function A5(b){b=b|0;var d=0,e=0,f=0,g=0,i=0,j=0;f=j0a(288)|0;g=f+256|0;c[f+260>>2]=0;c[f+264>>2]=0;e=f+268|0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[f+280>>2]=2;c[f+284>>2]=0;e=f+248|0;c[f+252>>2]=0;c[f+88>>2]=0;c[f+8>>2]=-1;a[f+12>>0]=1;h[f+16>>3]=0.0;h[f+24>>3]=-1.0;b=f+80|0;i=f+32|0;j=i+48|0;do{c[i>>2]=0;i=i+4|0}while((i|0)<(j|0));h[b>>3]=1.0;a[f+92>>0]=0;a[f+93>>0]=1;d=f+96|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[d+12>>2]=0;h[f+112>>3]=.01;h[f+120>>3]=0.0;c[f+128>>2]=0;h[f+136>>3]=0.0;a[f+144>>0]=1;c[f+148>>2]=0;c[f+152>>2]=5;d=f+156|0;c[f>>2]=11360;c[e>>2]=11848;c[g>>2]=12120;c[f+4>>2]=11692;b=f+208|0;i=f+160|0;j=i+48|0;do{c[i>>2]=0;i=i+4|0}while((i|0)<(j|0));h[b>>3]=1.0;h[f+216>>3]=1.0;h[f+224>>3]=.8;h[f+240>>3]=.05;c[d>>2]=1<<c[56447];h[f+232>>3]=.1;return g|0}function B5(a,b){a=a|0;b=b|0;var d=0;d=j0a(288)|0;V5(d,a+-4|0,b);return d+(c[(c[d>>2]|0)+-16>>2]|0)|0}function C5(a,b){a=a|0;b=b|0;if(!b){b=0;return b|0}b=(y1a(b,42800,48472,-1)|0)!=0;return b|0}function D5(a){a=a|0;return 160078}function E5(a){a=a|0;return 160263}function F5(a){a=a|0;var b=0,d=0,e=0,f=0;d=a+-4|0;N6(d,88484);c[d+248>>2]=61744;b=d+256|0;c[b>>2]=62016;d=d+252|0;a=c[d>>2]|0;if(!a){c[d>>2]=0;Pr(b);return}a=a+(c[(c[a>>2]|0)+-12>>2]|0)|0;f=a+8|0;e=c[f>>2]|0;c[f>>2]=e-1;if((e|0)!=1){c[d>>2]=0;Pr(b);return}UU(a,1,1);c[d>>2]=0;Pr(b);return}function G5(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;a=a+-4|0;N6(a,88484);c[a+248>>2]=61744;b=a+256|0;c[b>>2]=62016;d=a+252|0;e=c[d>>2]|0;if(e|0?(f=e+(c[(c[e>>2]|0)+-12>>2]|0)|0,g=f+8|0,e=c[g>>2]|0,c[g>>2]=e-1,(e|0)==1):0)UU(f,1,1);c[d>>2]=0;Pr(b);l0a(a);return}function H5(b){b=b|0;var d=0,e=0,f=0,g=0,i=0,j=0;f=j0a(288)|0;g=f+256|0;c[f+260>>2]=0;c[f+264>>2]=0;e=f+268|0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[f+280>>2]=2;c[f+284>>2]=0;e=f+248|0;c[f+252>>2]=0;c[f+88>>2]=0;c[f+8>>2]=-1;a[f+12>>0]=1;h[f+16>>3]=0.0;h[f+24>>3]=-1.0;b=f+80|0;i=f+32|0;j=i+48|0;do{c[i>>2]=0;i=i+4|0}while((i|0)<(j|0));h[b>>3]=1.0;a[f+92>>0]=0;a[f+93>>0]=1;d=f+96|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[d+12>>2]=0;h[f+112>>3]=.01;h[f+120>>3]=0.0;c[f+128>>2]=0;h[f+136>>3]=0.0;a[f+144>>0]=1;c[f+148>>2]=0;c[f+152>>2]=5;d=f+156|0;c[f>>2]=11360;c[e>>2]=11848;c[g>>2]=12120;c[f+4>>2]=11692;b=f+208|0;i=f+160|0;j=i+48|0;do{c[i>>2]=0;i=i+4|0}while((i|0)<(j|0));h[b>>3]=1.0;h[f+216>>3]=1.0;h[f+224>>3]=.8;h[f+240>>3]=.05;c[d>>2]=1<<c[56447];h[f+232>>3]=.1;return g|0}function I5(a,b){a=a|0;b=b|0;var d=0;d=a+(c[(c[a>>2]|0)+-20>>2]|0)|0;a=j0a(288)|0;V5(a,d,b);return a+(c[(c[a>>2]|0)+-16>>2]|0)|0}function J5(a,b){a=a|0;b=b|0;if(!b){b=0;return b|0}b=(y1a(b,42800,48472,-1)|0)!=0;return b|0}function K5(a){a=a|0;return 160078}function L5(a){a=a|0;return 160263}function M5(a){a=a|0;var b=0,d=0,e=0,f=0;a=a+(c[(c[a>>2]|0)+-112>>2]|0)|0;N6(a,88484);b=a+248|0;c[b>>2]=61744;c[b+8>>2]=62016;b=a+252|0;d=c[b>>2]|0;if(d|0?(e=d+(c[(c[d>>2]|0)+-12>>2]|0)|0,f=e+8|0,d=c[f>>2]|0,c[f>>2]=d-1,(d|0)==1):0)UU(e,1,1);c[b>>2]=0;Pr(a+256|0);return}function N5(a){a=a|0;var b=0,d=0,e=0,f=0;a=a+(c[(c[a>>2]|0)+-112>>2]|0)|0;N6(a,88484);b=a+248|0;c[b>>2]=61744;c[b+8>>2]=62016;b=a+252|0;d=c[b>>2]|0;if(d|0?(e=d+(c[(c[d>>2]|0)+-12>>2]|0)|0,f=e+8|0,d=c[f>>2]|0,c[f>>2]=d-1,(d|0)==1):0)UU(e,1,1);c[b>>2]=0;Pr(a+256|0);l0a(a);return}function O5(a){a=a|0;var b=0,d=0,e=0,f=0;a=a+(c[(c[a>>2]|0)+-16>>2]|0)|0;N6(a,88484);b=a+248|0;c[b>>2]=61744;c[b+8>>2]=62016;b=a+252|0;d=c[b>>2]|0;if(d|0?(e=d+(c[(c[d>>2]|0)+-12>>2]|0)|0,f=e+8|0,d=c[f>>2]|0,c[f>>2]=d-1,(d|0)==1):0)UU(e,1,1);c[b>>2]=0;Pr(a+256|0);return}function P5(a){a=a|0;var b=0,d=0,e=0,f=0;a=a+(c[(c[a>>2]|0)+-16>>2]|0)|0;N6(a,88484);b=a+248|0;c[b>>2]=61744;c[b+8>>2]=62016;b=a+252|0;d=c[b>>2]|0;if(d|0?(e=d+(c[(c[d>>2]|0)+-12>>2]|0)|0,f=e+8|0,d=c[f>>2]|0,c[f>>2]=d-1,(d|0)==1):0)UU(e,1,1);c[b>>2]=0;Pr(a+256|0);l0a(a);return}function Q5(b){b=b|0;var d=0,e=0,f=0,g=0,i=0,j=0;f=j0a(288)|0;g=f+256|0;c[f+260>>2]=0;c[f+264>>2]=0;e=f+268|0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[f+280>>2]=2;c[f+284>>2]=0;e=f+248|0;c[f+252>>2]=0;c[f+88>>2]=0;c[f+8>>2]=-1;a[f+12>>0]=1;h[f+16>>3]=0.0;h[f+24>>3]=-1.0;b=f+80|0;i=f+32|0;j=i+48|0;do{c[i>>2]=0;i=i+4|0}while((i|0)<(j|0));h[b>>3]=1.0;a[f+92>>0]=0;a[f+93>>0]=1;d=f+96|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[d+12>>2]=0;h[f+112>>3]=.01;h[f+120>>3]=0.0;c[f+128>>2]=0;h[f+136>>3]=0.0;a[f+144>>0]=1;c[f+148>>2]=0;c[f+152>>2]=5;d=f+156|0;c[f>>2]=11360;c[e>>2]=11848;c[g>>2]=12120;c[f+4>>2]=11692;b=f+208|0;i=f+160|0;j=i+48|0;do{c[i>>2]=0;i=i+4|0}while((i|0)<(j|0));h[b>>3]=1.0;h[f+216>>3]=1.0;h[f+224>>3]=.8;h[f+240>>3]=.05;c[d>>2]=1<<c[56447];h[f+232>>3]=.1;return g|0}function R5(a,b){a=a|0;b=b|0;var d=0;d=a+(c[(c[a>>2]|0)+-24>>2]|0)|0;a=j0a(288)|0;V5(a,d,b);return a+(c[(c[a>>2]|0)+-16>>2]|0)|0}function S5(a,b){a=a|0;b=b|0;if(!b){b=0;return b|0}b=(y1a(b,42800,48472,-1)|0)!=0;return b|0}function T5(a){a=a|0;return 160078}function U5(a){a=a|0;return 160263}function V5(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;f=a+256|0;Or(f,b+(c[(c[b>>2]|0)+-16>>2]|0)|0,d);g=a+248|0;e=b+(c[(c[b>>2]|0)+-12>>2]|0)|0;c[g>>2]=61744;c[g+8>>2]=62016;e=c[e+4>>2]|0;c[a+252>>2]=e;if(e|0){e=e+(c[(c[e>>2]|0)+-12>>2]|0)+8|0;c[e>>2]=(c[e>>2]|0)+1}W5(a,88484,b,d);c[a>>2]=11360;c[g>>2]=11848;c[f>>2]=12120;c[a+4>>2]=11692;g=a+160|0;f=b+160|0;c[g>>2]=c[f>>2];c[g+4>>2]=c[f+4>>2];c[g+8>>2]=c[f+8>>2];c[g+12>>2]=c[f+12>>2];c[g+16>>2]=c[f+16>>2];c[g+20>>2]=c[f+20>>2];g=a+184|0;f=b+184|0;c[g>>2]=c[f>>2];c[g+4>>2]=c[f+4>>2];c[g+8>>2]=c[f+8>>2];c[g+12>>2]=c[f+12>>2];c[g+16>>2]=c[f+16>>2];c[g+20>>2]=c[f+20>>2];c[g+24>>2]=c[f+24>>2];c[g+28>>2]=c[f+28>>2];h[a+216>>3]=+h[b+216>>3];h[a+224>>3]=+h[b+224>>3];h[a+232>>3]=+h[b+232>>3];h[a+240>>3]=+h[b+240>>3];return}function W5(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var i=0;X5(b,d+4|0,e,f);i=c[d>>2]|0;c[b>>2]=i;c[b+(c[i+-12>>2]|0)>>2]=c[d+76>>2];c[b+(c[(c[b>>2]|0)+-16>>2]|0)>>2]=c[d+80>>2];c[b+4>>2]=c[d+84>>2];a[b+92>>0]=a[e+92>>0]|0;a[b+93>>0]=a[e+93>>0]|0;g[b+96>>2]=0.0;g[b+100>>2]=0.0;i=b+104|0;d=kk[c[(c[f>>2]|0)+12>>2]&511](f,c[e+104>>2]|0)|0;if(d){d=y1a(d,42800,48376,0)|0;c[i>>2]=d;if(d|0){i=d+8|0;c[i>>2]=(c[i>>2]|0)+1}}else c[i>>2]=0;i=b+108|0;d=kk[c[(c[f>>2]|0)+12>>2]&511](f,c[e+108>>2]|0)|0;if(d){d=y1a(d,42800,48376,0)|0;c[i>>2]=d;if(d|0){f=d+8|0;c[f>>2]=(c[f>>2]|0)+1}}else c[i>>2]=0;h[b+112>>3]=.01;h[b+120>>3]=0.0;c[b+128>>2]=0;h[b+136>>3]=+h[e+136>>3];a[b+144>>0]=a[e+144>>0]|0;c[b+148>>2]=0;c[b+152>>2]=c[e+152>>2];c[b+156>>2]=c[e+156>>2];return}function X5(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0;g=c[d+12>>2]|0;c[b>>2]=g;c[b+(c[g+-12>>2]|0)>>2]=c[d+16>>2];c[b+(c[(c[b>>2]|0)+-16>>2]|0)>>2]=c[d+20>>2];g=b+4|0;h=c[d+24>>2]|0;c[g>>2]=h;c[g+(c[h+-12>>2]|0)>>2]=c[d+28>>2];c[g+(c[(c[g>>2]|0)+-16>>2]|0)>>2]=c[d+32>>2];h=c[d+8>>2]|0;c[b>>2]=h;c[b+(c[h+-12>>2]|0)>>2]=c[d+36>>2];c[b+(c[(c[b>>2]|0)+-16>>2]|0)>>2]=c[d+40>>2];c[g>>2]=c[d+44>>2];h=c[d+4>>2]|0;c[b>>2]=h;c[b+(c[h+-12>>2]|0)>>2]=c[d+48>>2];c[b+(c[(c[b>>2]|0)+-16>>2]|0)>>2]=c[d+52>>2];c[g>>2]=c[d+56>>2];h=c[d>>2]|0;c[b>>2]=h;c[b+(c[h+-12>>2]|0)>>2]=c[d+60>>2];c[b+(c[(c[b>>2]|0)+-16>>2]|0)>>2]=c[d+64>>2];c[g>>2]=c[d+68>>2];c[b+8>>2]=c[e+8>>2];a[b+12>>0]=a[e+12>>0]|0;d=b+16|0;g=e+16|0;c[d>>2]=c[g>>2];c[d+4>>2]=c[g+4>>2];c[d+8>>2]=c[g+8>>2];c[d+12>>2]=c[g+12>>2];c[d+16>>2]=c[g+16>>2];c[d+20>>2]=c[g+20>>2];d=b+40|0;g=e+40|0;c[d>>2]=c[g>>2];c[d+4>>2]=c[g+4>>2];c[d+8>>2]=c[g+8>>2];c[d+12>>2]=c[g+12>>2];c[d+16>>2]=c[g+16>>2];c[d+20>>2]=c[g+20>>2];d=b+64|0;g=e+64|0;c[d>>2]=c[g>>2];c[d+4>>2]=c[g+4>>2];c[d+8>>2]=c[g+8>>2];c[d+12>>2]=c[g+12>>2];c[d+16>>2]=c[g+16>>2];c[d+20>>2]=c[g+20>>2];d=b+88|0;b=kk[c[(c[f>>2]|0)+8>>2]&511](f,c[e+88>>2]|0)|0;if(!b){c[d>>2]=0;return}b=y1a(b,47048,48488,0)|0;c[d>>2]=b;if(!b)return;h=b+8|0;c[h>>2]=(c[h>>2]|0)+1;return}function Y5(a){a=a|0;return 160333}function Z5(a){a=a|0;Di()}function _5(a){a=a|0;Di()}function $5(a,b,c){a=a|0;b=b|0;c=c|0;return 0}function a6(a){a=a|0;return 1}function b6(a){a=a|0;return 1.0}function c6(a,b){a=a|0;b=b|0;return}function d6(a){a=a|0;return 0}function e6(a){a=a|0;return 0}function f6(a){a=a|0;return}function g6(a,b,c){a=a|0;b=b|0;c=c|0;return}function h6(a,b){a=a|0;b=+b;return}function i6(a,b,c){a=a|0;b=b|0;c=c|0;return}function j6(a){a=a|0;return 160333}function k6(a){a=a|0;Di()}function l6(a){a=a|0;Di()}function m6(a){a=a|0;return 160333}function n6(a){a=a|0;Di()}function o6(a){a=a|0;Di()}function p6(a){a=a|0;Di()}function q6(a){a=a|0;Di()}function r6(a){a=a|0;return 160333}function s6(a){a=a|0;return 160379}function t6(a){a=a|0;Di()}function u6(a){a=a|0;Di()}function v6(a,b,c){a=a|0;b=b|0;c=c|0;return 0}function w6(a,b,c,d){a=a|0;b=+b;c=+c;d=+d;return 0}function x6(a,b,c,d){a=a|0;b=+b;c=+c;d=+d;return 0}function y6(a,b,c,d){a=a|0;b=+b;c=+c;d=+d;return 0}function z6(a,b,c){a=a|0;b=+b;c=+c;return 0}function A6(a,b,c){a=a|0;b=+b;c=+c;return}function B6(a,b,c){a=a|0;b=b|0;c=c|0;return 0}function C6(b){b=b|0;var d=0,e=0,f=0;e=j0a(48)|0;c[e+4>>2]=0;f=e+8|0;c[f>>2]=0;c[e>>2]=88600;h[e+16>>3]=0.0;a[e+24>>0]=0;d=e+32|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[d+12>>2]=0;b=b+148|0;d=c[b>>2]|0;if((d|0)==(e|0))return;c[b>>2]=e;c[f>>2]=(c[f>>2]|0)+1;if(!d)return;e=d+8|0;f=c[e>>2]|0;c[e>>2]=f-1;if((f|0)!=1)return;UU(d,1,1);return}function D6(a){a=a|0;return 160379}function E6(a){a=a|0;Di()}function F6(a){a=a|0;Di()}function G6(a){a=a|0;return 160379}function H6(a){a=a|0;Di()}function I6(a){a=a|0;Di()}function J6(a){a=a|0;Di()}function K6(a){a=a|0;Di()}function L6(a){a=a|0;return 160379}function M6(a){a=a|0;SU(a);l0a(a);return}function N6(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;f=c[b>>2]|0;c[a>>2]=f;c[a+(c[f+-12>>2]|0)>>2]=c[b+76>>2];c[a+(c[(c[a>>2]|0)+-16>>2]|0)>>2]=c[b+80>>2];f=a+4|0;c[f>>2]=c[b+84>>2];d=a+148|0;e=c[d>>2]|0;if(e|0?(h=e+8|0,g=c[h>>2]|0,c[h>>2]=g-1,(g|0)==1):0)UU(e,1,1);c[d>>2]=0;d=a+128|0;e=c[d>>2]|0;if(e|0?(g=e+8|0,h=c[g>>2]|0,c[g>>2]=h-1,(h|0)==1):0)UU(e,1,1);c[d>>2]=0;d=a+108|0;e=c[d>>2]|0;if(e|0?(g=e+8|0,h=c[g>>2]|0,c[g>>2]=h-1,(h|0)==1):0)UU(e,1,1);c[d>>2]=0;d=a+104|0;e=c[d>>2]|0;if(e|0?(g=e+8|0,h=c[g>>2]|0,c[g>>2]=h-1,(h|0)==1):0)UU(e,1,1);c[d>>2]=0;d=c[b+4>>2]|0;c[a>>2]=d;c[a+(c[d+-12>>2]|0)>>2]=c[b+64>>2];c[a+(c[(c[a>>2]|0)+-16>>2]|0)>>2]=c[b+68>>2];c[f>>2]=c[b+72>>2];d=a+88|0;e=c[d>>2]|0;if(!e){c[d>>2]=0;return}g=e+8|0;h=c[g>>2]|0;c[g>>2]=h-1;if((h|0)!=1){c[d>>2]=0;return}UU(e,1,1);c[d>>2]=0;return}function O6(a,b,d,e){a=a|0;b=+b;d=+d;e=e|0;var f=0.0,g=0.0,i=0.0,j=0,k=0.0,m=0.0,n=0.0,o=0.0,p=0,q=0.0,r=0.0,s=0.0,t=0.0,u=0.0,v=0,w=0,x=0,y=0.0,z=0,A=0,C=0,F=0,G=0,H=0.0,I=0.0,J=0.0,K=0.0,L=0,M=0,N=0,O=0,P=0.0,Q=0.0,R=0.0,S=0.0;O=l;l=l+32|0;M=O;k=+h[e>>3];L=e+8|0;if((!(k!=0.0)?(o=+h[L>>3],!(o!=0.0)):0)?(j=e+16|0,n=+h[j>>3],!(n!=0.0)):0){J=+h[a>>3];f=+h[a+8>>3];m=+h[a+16>>3];H=f*0.0;i=H-m;K=m*0.0-J*0.0;H=J-H;I=+h[a+24>>3]*2.0;g=i*I+0.0+(f*H-m*K)*2.0;m=K*I+1.0+(m*i-J*H)*2.0;i=H*I+0.0+(J*K-f*i)*2.0;f=+B(+(i*i+(m*m+g*g)));if(f<1.0e-07){K=0.0;I=0.0;J=1.0;H=0.0;g=n;i=o;z=0}else{H=1.0/f;J=b*-.5;y=+E(+J);K=y*g*H;I=y*i*H;J=+D(+J);H=y*m*H;g=n;i=o;z=0}}else{P6(a,e,1);k=+h[e>>3];i=+h[L>>3];j=e+16|0;g=+h[j>>3];f=+B(+(k*k+i*i+g*g));if(f<1.0e-07){K=0.0;I=0.0;J=1.0;H=0.0;z=1}else{H=1.0/f;J=b*-.5;y=+E(+J);K=y*k*H;I=y*g*H;J=+D(+J);H=y*i*H;z=1}}A=M+24|0;c[M>>2]=0;c[M+4>>2]=0;c[M+8>>2]=0;c[M+12>>2]=0;c[M+16>>2]=0;c[M+20>>2]=0;h[A>>3]=1.0;m=+h[a>>3];F=a+8|0;y=+h[F>>3];G=a+16|0;t=+h[G>>3];u=y*0.0-t*0.0;q=m*0.0;r=t-q;q=q-y;C=a+24|0;b=+h[C>>3]*2.0;s=u*b+1.0+(y*q-t*r)*2.0;t=r*b+0.0+(t*u-m*q)*2.0;u=q*b+0.0+(m*r-y*u)*2.0;y=+B(+(u*u+(s*s+t*t)));v=y<1.0e-07;w=M+8|0;x=M+16|0;y=1.0/y;p=0;r=d;m=g;b=i;q=k;while(1){if(v){k=1.0;n=0.0;o=0.0;d=0.0}else{k=r*.5;d=+E(+k);k=+D(+k);n=y*(u*d);o=y*(t*d);d=y*(s*d)}g=+h[a>>3];i=+h[C>>3];S=+h[G>>3];f=+h[F>>3];R=J*g+K*i+H*S-I*f;Q=I*g+(H*i+(J*f-K*S));P=I*i+(J*S+K*f-H*g);S=J*i-K*g-H*f-I*S;f=k*R+d*S+o*P-n*Q;g=n*R+(o*S+(k*Q-d*P));i=n*S+(k*P+d*Q-o*R);k=k*S-d*R-o*Q-n*P;h[M>>3]=f;h[w>>3]=g;h[x>>3]=i;h[A>>3]=k;if(z){P6(M,e,0);g=+h[w>>3];i=+h[x>>3];f=+h[M>>3];k=+h[A>>3];n=+h[e>>3];b=+h[L>>3];m=+h[j>>3]}else n=q;R=g*0.0;P=R-i;S=i*0.0-f*0.0;R=f-R;Q=k*2.0;if(m*(R*Q+0.0+(f*S-g*P)*2.0)+(b*(S*Q+1.0+(i*P-f*R)*2.0)+n*(P*Q+0.0+(g*R-i*S)*2.0))>0.0){N=17;break}p=p+1|0;if((p|0)==20)break;r=r*.5;q=n}if((N|0)==17){h[a>>3]=f;h[F>>3]=g;h[G>>3]=i;h[C>>3]=k;l=O;return}t=+h[a>>3];u=+h[C>>3];y=+h[G>>3];P=+h[F>>3];S=J*u-K*t-H*P-I*y;R=I*u+(J*y+K*P-H*t);Q=I*t+(H*u+(J*P-K*y));P=J*t+K*u+H*y-I*P;h[a>>3]=P;h[F>>3]=Q;h[G>>3]=R;h[C>>3]=S;l=O;return}function P6(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,f=0.0,g=0.0,i=0.0,j=0,k=0,m=0.0,n=0.0,o=0,p=0,q=0,r=0.0,s=0,t=0,u=0,v=0.0,w=0.0,x=0.0,y=0,z=0,A=0,B=0.0,C=0.0,D=0.0,E=0.0,F=0.0,G=0.0,H=0.0;A=l;l=l+128|0;o=A+104|0;k=A+80|0;j=A+56|0;p=A+32|0;q=A;B=+h[a>>3];u=a+8|0;g=+h[u>>3];s=a+16|0;w=+h[s>>3];i=g*0.0;G=i-w;E=w*0.0;v=B*0.0;r=E-v;x=B-i;t=a+24|0;f=+h[t>>3]*2.0;F=G*f+0.0+(g*x-w*r)*2.0;D=r*f+1.0+(w*G-B*x)*2.0;G=x*f+0.0+(B*r-g*G)*2.0;r=i-E;x=w-v;C=v-g;m=r*f+1.0+(g*C-w*x)*2.0;n=x*f+0.0+(w*r-B*C)*2.0;r=C*f+0.0+(B*x-g*r)*2.0;h[o>>3]=m;h[o+8>>3]=n;h[o+16>>3]=r;x=-g-E;E=B+E;i=v-i;v=x*f+0.0+(g*i-w*E)*2.0;w=E*f+0.0+(w*x-B*i)*2.0;x=i*f+-1.0+(B*E-g*x)*2.0;y=b+16|0;g=+h[y>>3];z=b+8|0;E=+h[z>>3];B=w*g-x*E;f=+h[b>>3];i=x*f-v*g;C=v*E-w*f;h[k>>3]=B;h[k+8>>3]=i;h[k+16>>3]=C;e=D*g-G*E;g=G*f-F*g;f=F*E-D*f;h[j>>3]=e;h[j+8>>3]=g;h[j+16>>3]=f;j=C*C+(B*B+i*i)>f*f+(e*e+g*g)?k:j;c[p>>2]=c[j>>2];c[p+4>>2]=c[j+4>>2];c[p+8>>2]=c[j+8>>2];c[p+12>>2]=c[j+12>>2];c[p+16>>2]=c[j+16>>2];c[p+20>>2]=c[j+20>>2];g=+h[p>>3];j=p+8|0;e=+h[j>>3];k=p+16|0;f=+h[k>>3];if(m*g+n*e+r*f<0.0){n=-f;r=-e;m=-g;h[p>>3]=m;h[j>>3]=r;h[k>>3]=n}else{r=e;n=f;m=g}k=q+24|0;c[q>>2]=0;c[q+4>>2]=0;c[q+8>>2]=0;c[q+12>>2]=0;c[q+16>>2]=0;c[q+20>>2]=0;h[k>>3]=1.0;Q6(q,o,p);H=+h[k>>3];C=+h[a>>3];D=+h[q>>3];B=+h[t>>3];E=+h[q+8>>3];G=+h[s>>3];i=+h[q+16>>3];F=+h[u>>3];e=H*C+D*B+E*G-i*F;f=C*i+(B*E+(H*F-D*G));g=B*i+(H*G+D*F-C*E);i=H*B-C*D-E*F-G*i;h[t>>3]=i;h[s>>3]=g;h[u>>3]=f;h[a>>3]=e;if(!d){l=A;return}if(!((x*r-w*n)*+h[b>>3]+(v*n-x*m)*+h[z>>3]+(w*m-v*r)*+h[y>>3]<0.0)){l=A;return}F=i*0.0;E=g*0.0;G=e*0.0;H=f*0.0;h[a>>3]=f+(e*6.123233995736766e-17+F)-E;h[u>>3]=E+(f*6.123233995736766e-17+(F-e));h[s>>3]=g*6.123233995736766e-17+(i+G-H);h[t>>3]=i*6.123233995736766e-17-G-H-g;l=A;return}function Q6(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,f=0.0,g=0.0,i=0.0,j=0.0,k=0.0,l=0.0,m=0.0,n=0.0,o=0.0;f=+h[b>>3];j=+h[b+8>>3];k=+h[b+16>>3];i=+h[d>>3];e=+h[d+8>>3];g=+h[d+16>>3];m=f*f+j*j+k*k;if(m<.9999999|m>1.0000001){o=+B(+m);l=o;n=f/o;j=j/o;k=k/o}else{l=1.0;n=f}f=i*i+e*e+g*g;if(f<.9999999|f>1.0000001){o=+B(+f);o=f>m+-1.0e-07&f<m+1.0e-07?l:o;i=i/o;g=g/o;e=e/o}f=n*i+j*e+k*g+1.0;if(!(f<1.0e-07)){o=+B(+(f*.5));f=o*2.0;m=i/f;l=e/f;i=g/f;h[a>>3]=j*i-k*l;h[a+8>>3]=k*m-n*i;h[a+16>>3]=n*l-j*m;h[a+24>>3]=o;return}if(+A(+n)<.6){o=+B(+(1.0-n*n));h[a>>3]=0.0;h[a+8>>3]=k/o;h[a+16>>3]=-j/o;h[a+24>>3]=0.0;return}if(+A(+j)<.6){o=+B(+(1.0-j*j));h[a>>3]=-k/o;h[a+8>>3]=0.0;h[a+16>>3]=n/o;h[a+24>>3]=0.0;return}else{o=+B(+(1.0-k*k));h[a>>3]=j/o;h[a+8>>3]=-n/o;a=a+16|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;c[a+12>>2]=0;return}}function R6(a,b,c,d,e,f,i){a=a|0;b=b|0;c=c|0;d=+d;e=+e;f=+f;i=+i;var j=0,k=0.0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0.0,s=0.0,t=0.0,u=0.0,v=0.0,w=0.0,x=0.0,y=0.0,z=0.0,A=0.0,C=0.0,D=0,E=0,F=0.0,G=0.0,I=0.0,J=0.0,K=0.0,L=0.0,M=0.0,N=0.0,O=0.0,P=0.0;E=l;l=l+128|0;D=E;Tra(D,a+184|0);P=+h[D+24>>3];J=P*0.0;I=+h[D+56>>3];n=+h[D+88>>3];M=n*0.0;K=+h[D+120>>3];x=1.0/(K+(J+I+M));O=+h[D>>3];F=O*0.0;w=+h[D+32>>3];s=+h[D+64>>3];r=s*0.0;G=+h[D+96>>3];q=x*(G+(F+w+r));N=+h[D+8>>3];C=N*0.0;o=+h[D+40>>3];v=+h[D+72>>3];u=v*0.0;A=+h[D+104>>3];t=x*(A+(C+o+u));L=+h[D+16>>3];m=L*0.0;k=+h[D+48>>3];z=+h[D+80>>3];y=z*0.0;p=+h[D+112>>3];x=x*(p+(m+k+y));I=I*0.0;M=1.0/(K+(P+I+M));w=w*0.0;r=M*(G+(O+w+r));o=o*0.0;u=M*(A+(N+o+u));k=k*0.0;y=M*(p+(L+k+y));n=1.0/(K+(J+I-n));s=n*(G+(F+w-s));v=n*(A+(C+o-v));z=n*(p+(m+k-z));k=d;m=e;D=a+224|0;p=+h[D>>3];d=+B(+(d*d+e*e));n=p;o=n*.7071067811865476;if(o>d)d=+B(+(p*p-d*d));else{P=n/1.4142135623730951;d=P*P/d}w=d;A=r*k+q*m-s*w;C=u*k+t*m-v*w;w=y*k+x*m-z*w;e=f;k=i;d=+B(+(f*f+i*i));if(o>d)d=+B(+(p*p-d*d));else{P=n/1.4142135623730951;d=P*P/d}p=r*e+q*k-s*d;o=u*e+t*k-v*d;d=y*e+x*k-z*d;e=w*o-C*d;k=A*d-w*p;m=C*p-A*o;h[b>>3]=e;a=b+8|0;h[a>>3]=k;j=b+16|0;h[j>>3]=m;P=+B(+(m*m+(e*e+k*k)));n=1.0/P;if(!(P>0.0)){N=p-A;O=o-C;P=d-w;N=N*N;O=O*O;O=N+O;P=P*P;O=P+O;O=+B(+O);P=+h[D>>3];P=P*2.0;P=O/P;b=P>1.0;P=b?1.0:P;b=P<-1.0;P=b?-1.0:P;P=+H(+P);g[c>>2]=P;l=E;return}h[b>>3]=e*n;h[a>>3]=k*n;h[j>>3]=m*n;N=p-A;O=o-C;P=d-w;N=N*N;O=O*O;O=N+O;P=P*P;O=P+O;O=+B(+O);P=+h[D>>3];P=P*2.0;P=O/P;b=P>1.0;P=b?1.0:P;b=P<-1.0;P=b?-1.0:P;P=+H(+P);g[c>>2]=P;l=E;return}function S6(a,b,d,e){a=a|0;b=+b;d=+d;e=e|0;var f=0,g=0.0,i=0,j=0;i=l;l=l+16|0;f=i;g=+h[a>>3];do if(!(g<b))if(g>d){j=mr(lr(2)|0,160520,9)|0;e=mr(mr(j,e,VNa(e)|0)|0,160530,4)|0;e=mr(TSa(mr(TSa(e,+h[a>>3])|0,160577,41)|0,d)|0,213063,1)|0;BSa(f,e+(c[(c[e>>2]|0)+-12>>2]|0)|0);j=cUa(f,230580)|0;j=kk[c[(c[j>>2]|0)+28>>2]&511](j,10)|0;dUa(f);VSa(e,j)|0;HSa(e)|0;b=d;break}else{l=i;return}else{j=mr(lr(2)|0,160520,9)|0;j=mr(mr(j,e,VNa(e)|0)|0,160530,4)|0;j=mr(TSa(mr(TSa(j,+h[a>>3])|0,160535,41)|0,b)|0,213063,1)|0;BSa(f,j+(c[(c[j>>2]|0)+-12>>2]|0)|0);e=cUa(f,230580)|0;e=kk[c[(c[e>>2]|0)+28>>2]&511](e,10)|0;dUa(f);VSa(j,e)|0;HSa(j)|0}while(0);h[a>>3]=b;l=i;return}function T6(a){a=a|0;SU(a);l0a(a);return}function U6(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,i=0,j=0,k=0,l=0,m=0,n=0.0,o=0.0;m=b+160|0;c[b+164>>2]=0;c[b+168>>2]=0;c[m>>2]=68320;k=b+172|0;c[k>>2]=0;c[k+4>>2]=0;c[k+8>>2]=0;c[b+184>>2]=2;c[b+188>>2]=0;FR(b,88684,5,3);c[b>>2]=88708;c[m>>2]=89076;m=b+56|0;c[m>>2]=m;c[b+60>>2]=m;c[b+64>>2]=0;m=b+72|0;c[m>>2]=0;k=b+76|0;c[k>>2]=k;c[b+80>>2]=k;c[b+84>>2]=0;k=b+88|0;c[k>>2]=k;c[b+92>>2]=k;c[b+96>>2]=0;k=b+100|0;c[k>>2]=k;c[b+104>>2]=k;c[b+108>>2]=0;k=b+112|0;c[k>>2]=k;c[b+116>>2]=k;k=b+120|0;f=b+124|0;i=b+128|0;j=b+132|0;g[b+148>>2]=0.0;g[b+152>>2]=0.0;g[b+156>>2]=0.0;c[k>>2]=0;c[k+4>>2]=0;c[k+8>>2]=0;c[k+12>>2]=0;a[b+68>>0]=1;a[b+69>>0]=0;c[b+140>>2]=0;k=b+144|0;a[k>>0]=1;if((d|0)!=0?(l=y1a(d,49128,49144,0)|0,(l|0)!=0):0){o=+h[l+40>>3];n=+h[l+48>>3];g[f>>2]=+h[l+32>>3];g[i>>2]=o;g[j>>2]=n;a[k>>0]=1;f=c[l+12>>2]|0}else{g[f>>2]=0.0;g[i>>2]=0.0;g[j>>2]=0.0;a[k>>0]=1;f=2}c[b+136>>2]=f;y7(b,d);f=c[m>>2]|0;if((f|0)==(e|0))return;c[m>>2]=e;if(e|0){e=e+8|0;c[e>>2]=(c[e>>2]|0)+1}if(!f)return;m=f+8|0;e=c[m>>2]|0;c[m>>2]=e-1;if((e|0)!=1)return;UU(f,1,1);return}function V6(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0.0,i=0.0,j=0.0,k=0.0,m=0,n=0,o=0.0,p=0.0,q=0.0,r=0,s=0.0,t=0.0,u=0.0,v=0.0,w=0.0,x=0.0;n=l;l=l+64|0;m=n+48|0;r=n+24|0;f=n;p=+h[a+8>>3];k=+h[e+16>>3];i=+h[a+16>>3];w=+h[e+8>>3];s=p*k-i*w;u=+h[e>>3];o=+h[a>>3];g=i*u-k*o;t=w*o-p*u;h[r>>3]=s;h[r+8>>3]=g;h[r+16>>3]=t;q=+h[b+8>>3];x=+h[b+16>>3];j=k*q-w*x;v=+h[b>>3];k=u*x-k*v;q=w*v-u*q;h[f>>3]=j;h[f+8>>3]=k;h[f+16>>3]=q;f=t*t+(s*s+g*g)>q*q+(j*j+k*k)?r:f;k=+h[f>>3];j=+h[f+8>>3];q=+h[f+16>>3];g=i*j-p*q;i=o*q-i*k;j=p*k-o*j;o=+B(+(j*j+(g*g+i*i)));f=o>0.0;k=1.0/o;if(o>=0.0){h[d>>3]=f?g*k:g;h[d+8>>3]=f?i*k:i;h[d+16>>3]=f?j*k:j;l=n;return}if(ZQ(2)|0){r=mr(lr(2)|0,160726,75)|0;BSa(m,r+(c[(c[r>>2]|0)+-12>>2]|0)|0);e=cUa(m,230580)|0;e=kk[c[(c[e>>2]|0)+28>>2]&511](e,10)|0;dUa(m);VSa(r,e)|0;HSa(r)|0};c[d>>2]=c[b>>2];c[d+4>>2]=c[b+4>>2];c[d+8>>2]=c[b+8>>2];c[d+12>>2]=c[b+12>>2];c[d+16>>2]=c[b+16>>2];c[d+20>>2]=c[b+20>>2];l=n;return}function W6(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;g=c[b>>2]|0;c[a>>2]=g;c[a+(c[g+-12>>2]|0)>>2]=c[b+12>>2];g=a+112|0;e=a+120|0;if(c[e>>2]|0?(d=c[a+116>>2]|0,f=(c[g>>2]|0)+4|0,k=c[d>>2]|0,c[k+4>>2]=c[f>>2],c[c[f>>2]>>2]=k,c[e>>2]=0,(d|0)!=(g|0)):0)do{e=d;d=c[d+4>>2]|0;f=c[e+8>>2]|0;if(f|0?(l=f+8|0,k=c[l>>2]|0,c[l>>2]=k-1,(k|0)==1):0)UU(f,1,1);l0a(e)}while((d|0)!=(g|0));g=a+100|0;d=a+108|0;if(c[d>>2]|0?(h=c[a+104>>2]|0,l=(c[g>>2]|0)+4|0,k=c[h>>2]|0,c[k+4>>2]=c[l>>2],c[c[l>>2]>>2]=k,c[d>>2]=0,(h|0)!=(g|0)):0){d=h;do{e=d;d=c[d+4>>2]|0;f=c[e+8>>2]|0;if(f|0?(k=f+8|0,l=c[k>>2]|0,c[k>>2]=l-1,(l|0)==1):0)UU(f,1,1);l0a(e)}while((d|0)!=(g|0))}g=a+88|0;d=a+96|0;if(c[d>>2]|0?(i=c[a+92>>2]|0,l=(c[g>>2]|0)+4|0,k=c[i>>2]|0,c[k+4>>2]=c[l>>2],c[c[l>>2]>>2]=k,c[d>>2]=0,(i|0)!=(g|0)):0){d=i;do{e=d;d=c[d+4>>2]|0;f=c[e+8>>2]|0;if(f|0?(k=f+8|0,l=c[k>>2]|0,c[k>>2]=l-1,(l|0)==1):0)UU(f,1,1);l0a(e)}while((d|0)!=(g|0))}g=a+76|0;d=a+84|0;if(c[d>>2]|0?(j=c[a+80>>2]|0,l=(c[g>>2]|0)+4|0,k=c[j>>2]|0,c[k+4>>2]=c[l>>2],c[c[l>>2]>>2]=k,c[d>>2]=0,(j|0)!=(g|0)):0){d=j;do{e=d;d=c[d+4>>2]|0;f=c[e+8>>2]|0;if(f|0?(k=f+8|0,l=c[k>>2]|0,c[k>>2]=l-1,(l|0)==1):0)UU(f,1,1);l0a(e)}while((d|0)!=(g|0))}d=a+72|0;e=c[d>>2]|0;if(e|0?(k=e+8|0,l=c[k>>2]|0,c[k>>2]=l-1,(l|0)==1):0)UU(e,1,1);c[d>>2]=0;g=a+56|0;d=a+64|0;if(!(c[d>>2]|0)){l=b+4|0;Cy(a,l);return}e=c[a+60>>2]|0;l=(c[g>>2]|0)+4|0;k=c[e>>2]|0;c[k+4>>2]=c[l>>2];c[c[l>>2]>>2]=k;c[d>>2]=0;if((e|0)==(g|0)){l=b+4|0;Cy(a,l);return}do{d=e;e=c[e+4>>2]|0;f=c[d+8>>2]|0;if(f|0?(k=f+8|0,l=c[k>>2]|0,c[k>>2]=l-1,(l|0)==1):0)UU(f,1,1);l0a(d)}while((e|0)!=(g|0));l=b+4|0;Cy(a,l);return}function X6(a){a=a|0;W6(a,88680);Pr(a+160|0);return}function Y6(a){a=a|0;W6(a,88680);Pr(a+160|0);l0a(a);return}function Z6(a){a=a|0;return 160686}function _6(a){a=a|0;return 160666}function $6(a){a=a|0;return a|0}function a7(a){a=a|0;return a|0}function b7(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;g=a+56|0;h=a+64|0;if(!(c[h>>2]|0))return;a=a+60|0;e=c[(c[a>>2]|0)+8>>2]|0;f=(e|0)==0;if(!f){d=e+8|0;c[d>>2]=(c[d>>2]|0)+1}Bk[c[(c[e>>2]|0)+28>>2]&2047](e);if(c[h>>2]|0?(b=c[a>>2]|0,d=(c[g>>2]|0)+4|0,a=c[b>>2]|0,c[a+4>>2]=c[d>>2],c[c[d>>2]>>2]=a,c[h>>2]=0,(b|0)!=(g|0)):0){a=b;do{b=a;a=c[a+4>>2]|0;d=c[b+8>>2]|0;if(d|0?(j=d+8|0,i=c[j>>2]|0,c[j>>2]=i-1,(i|0)==1):0)UU(d,1,1);l0a(b)}while((a|0)!=(g|0))}a=j0a(12)|0;c[a>>2]=0;c[a+8>>2]=e;if(!f){j=e+8|0;c[j>>2]=(c[j>>2]|0)+1}c[a+4>>2]=g;j=c[g>>2]|0;c[a>>2]=j;c[j+4>>2]=a;c[g>>2]=a;c[h>>2]=(c[h>>2]|0)+1;if(f)return;i=e+8|0;j=c[i>>2]|0;c[i>>2]=j-1;if((j|0)!=1)return;UU(e,1,1);return}function c7(b,d){b=b|0;d=d|0;var e=0,f=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0.0,x=0.0,y=0.0,z=0.0,A=0.0,B=0.0;v=l;l=l+256|0;f=v+128|0;j=v;m=d+144|0;if(!(a[m>>0]|0)){u=d+148|0;c[b>>2]=c[u>>2];c[b+4>>2]=c[u+4>>2];c[b+8>>2]=c[u+8>>2];l=v;return}Qra(f);switch(c[d+136>>2]|0){case 0:{if(c[d+84>>2]|0?(e=c[(c[d+76>>2]|0)+8>>2]|0,e|0):0)Wra(f,e+32|0);if(c[d+96>>2]|0?(i=c[(c[d+88>>2]|0)+8>>2]|0,i|0):0)Wra(f,i+32|0);if(c[d+108>>2]|0?(k=c[(c[d+100>>2]|0)+8>>2]|0,k|0):0)Wra(f,k+32|0);if(c[d+120>>2]|0?(n=c[(c[d+112>>2]|0)+8>>2]|0,n|0):0)Wra(f,n+32|0);break}case 1:{if(c[d+96>>2]|0?(o=c[(c[d+88>>2]|0)+8>>2]|0,o|0):0)Wra(f,o+32|0);if(c[d+108>>2]|0?(p=c[(c[d+100>>2]|0)+8>>2]|0,p|0):0)Wra(f,p+32|0);if(c[d+120>>2]|0?(q=c[(c[d+112>>2]|0)+8>>2]|0,q|0):0)Wra(f,q+32|0);break}case 2:{if(c[d+108>>2]|0?(r=c[(c[d+100>>2]|0)+8>>2]|0,r|0):0)Wra(f,r+32|0);if(c[d+120>>2]|0?(s=c[(c[d+112>>2]|0)+8>>2]|0,s|0):0)Wra(f,s+32|0);break}case 3:{if((c[d+120>>2]|0?(t=c[(c[d+112>>2]|0)+8>>2]|0,t|0):0)?(u=t+32|0,(u|0)!=(f|0)):0){h[f>>3]=+h[u>>3];h[f+8>>3]=+h[t+40>>3];h[f+16>>3]=+h[t+48>>3];h[f+24>>3]=+h[t+56>>3];h[f+32>>3]=+h[t+64>>3];h[f+40>>3]=+h[t+72>>3];h[f+48>>3]=+h[t+80>>3];h[f+56>>3]=+h[t+88>>3];h[f+64>>3]=+h[t+96>>3];h[f+72>>3]=+h[t+104>>3];h[f+80>>3]=+h[t+112>>3];h[f+88>>3]=+h[t+120>>3];h[f+96>>3]=+h[t+128>>3];h[f+104>>3]=+h[t+136>>3];h[f+112>>3]=+h[t+144>>3];h[f+120>>3]=+h[t+152>>3]}break}default:{}}Qra(j);if(((+h[f+24>>3]==0.0?+h[f+56>>3]==0.0:0)?+h[f+88>>3]==0.0:0)?+h[f+120>>3]==1.0:0)Xra(j,f)|0;else Yra(j,f)|0;A=+g[d+124>>2];z=+g[d+128>>2];y=+g[d+132>>2];B=1.0/(+h[j+120>>3]+(+h[j+24>>3]*A+ +h[j+56>>3]*z+ +h[j+88>>3]*y));x=B*(+h[j+104>>3]+(+h[j+8>>3]*A+ +h[j+40>>3]*z+ +h[j+72>>3]*y));w=B*(+h[j+112>>3]+(+h[j+16>>3]*A+ +h[j+48>>3]*z+ +h[j+80>>3]*y));u=d+148|0;g[d+148>>2]=B*(+h[j+96>>3]+(+h[j>>3]*A+ +h[j+32>>3]*z+ +h[j+64>>3]*y));g[d+152>>2]=x;g[d+156>>2]=w;a[m>>0]=0;c[b>>2]=c[u>>2];c[b+4>>2]=c[u+4>>2];c[b+8>>2]=c[u+8>>2];l=v;return}function d7(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0.0,h=0.0,i=0.0;e=l;l=l+16|0;d=e;if((c[a+140>>2]|0)!=1){f=0.0;l=e;return +f}Jk[c[(c[a>>2]|0)+80>>2]&1023](d,a);i=+g[b>>2]-+g[d>>2];h=+g[b+4>>2]-+g[d+4>>2];f=+g[b+8>>2]-+g[d+8>>2];f=+B(+(i*i+h*h+f*f));l=e;return +f}function e7(a,b){a=a|0;b=b|0;var d=0;d=c[(c[a+56>>2]|0)+8>>2]|0;Nk[c[(c[d>>2]|0)+24>>2]&255](d,a,b);return}function f7(a,b){a=a|0;b=b|0;var d=0,e=0;if(!(c[a+64>>2]|0))return;d=a+56|0;e=c[(c[d>>2]|0)+8>>2]|0;if(!(kk[c[(c[e>>2]|0)+16>>2]&511](e,b)|0))return;switch(c[a+16>>2]|0){case 1:{Jk[c[(c[b>>2]|0)+216>>2]&1023](b,a);break}case 0:break;default:Jk[c[(c[b>>2]|0)+220>>2]&1023](b,a)}e=c[(c[d>>2]|0)+8>>2]|0;Bk[c[(c[e>>2]|0)+20>>2]&2047](e);return}function g7(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;if(!(c[a+64>>2]|0))return;g=a+56|0;f=c[(c[g>>2]|0)+8>>2]|0;if(!(kk[c[(c[f>>2]|0)+16>>2]&511](f,b)|0))return;if(gk[c[(c[b>>2]|0)+248>>2]&1023](b)|0){f=b+124|0;e=0;do{d=c[(c[f>>2]|0)+(e<<2)>>2]|0;if(!d)d=0;else d=gk[c[(c[d>>2]|0)+88>>2]&1023](d)|0;h=c[(c[g>>2]|0)+8>>2]|0;Nk[c[(c[h>>2]|0)+24>>2]&255](h,a,d);e=e+1|0}while(e>>>0<(gk[c[(c[b>>2]|0)+248>>2]&1023](b)|0)>>>0)}h=c[(c[g>>2]|0)+8>>2]|0;Bk[c[(c[h>>2]|0)+20>>2]&2047](h);return}function h7(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;B=l;l=l+144|0;s=B;w=b+64|0;if(!(c[w>>2]|0)){l=B;return}z=b+56|0;v=c[(c[z>>2]|0)+8>>2]|0;if(!(kk[c[(c[v>>2]|0)+16>>2]&511](v,d)|0)){l=B;return}Jk[c[(c[b>>2]|0)+80>>2]&1023](B+128|0,b);if(gk[c[(c[d>>2]|0)+248>>2]&1023](d)|0){k=b+108|0;m=b+120|0;n=b+100|0;o=b+112|0;p=d+124|0;q=b+56|0;r=b+112|0;t=b+144|0;g=0;do{u=j0a(160)|0;c[u+4>>2]=0;v=u+8|0;c[v>>2]=0;c[u>>2]=68320;f=u+12|0;c[f>>2]=0;c[f+4>>2]=0;c[f+8>>2]=0;c[u+24>>2]=2;c[u+28>>2]=0;f=u+32|0;Qra(f);c[u>>2]=71124;c[v>>2]=(c[v>>2]|0)+1;do if((c[k>>2]|0)!=0?(x=c[(c[n>>2]|0)+8>>2]|0,(x|0)!=0):0){if(c[m>>2]|0?(y=c[(c[o>>2]|0)+8>>2]|0,y|0):0){Ura(f,y+32|0,x+32|0);break}h[f>>3]=+h[x+32>>3];h[u+40>>3]=+h[x+40>>3];h[u+48>>3]=+h[x+48>>3];h[u+56>>3]=+h[x+56>>3];h[u+64>>3]=+h[x+64>>3];h[u+72>>3]=+h[x+72>>3];h[u+80>>3]=+h[x+80>>3];h[u+88>>3]=+h[x+88>>3];h[u+96>>3]=+h[x+96>>3];h[u+104>>3]=+h[x+104>>3];h[u+112>>3]=+h[x+112>>3];h[u+120>>3]=+h[x+120>>3];h[u+128>>3]=+h[x+128>>3];h[u+136>>3]=+h[x+136>>3];h[u+144>>3]=+h[x+144>>3];h[u+152>>3]=+h[x+152>>3]}else A=12;while(0);if(((A|0)==12?(A=0,c[m>>2]|0):0)?(i=c[(c[o>>2]|0)+8>>2]|0,i|0):0){h[f>>3]=+h[i+32>>3];h[u+40>>3]=+h[i+40>>3];h[u+48>>3]=+h[i+48>>3];h[u+56>>3]=+h[i+56>>3];h[u+64>>3]=+h[i+64>>3];h[u+72>>3]=+h[i+72>>3];h[u+80>>3]=+h[i+80>>3];h[u+88>>3]=+h[i+88>>3];h[u+96>>3]=+h[i+96>>3];h[u+104>>3]=+h[i+104>>3];h[u+112>>3]=+h[i+112>>3];h[u+120>>3]=+h[i+120>>3];h[u+128>>3]=+h[i+128>>3];h[u+136>>3]=+h[i+136>>3];h[u+144>>3]=+h[i+144>>3];h[u+152>>3]=+h[i+152>>3]}if(c[k>>2]|0?(j=c[(c[n>>2]|0)+8>>2]|0,j|0):0){e=j+32|0;Qra(s);if(((+h[j+56>>3]==0.0?+h[j+88>>3]==0.0:0)?+h[j+120>>3]==0.0:0)?+h[j+152>>3]==1.0:0)Xra(s,e)|0;else Yra(s,e)|0;Vra(f,s)}v7(b,u);w7(b);e=c[(c[p>>2]|0)+(g<<2)>>2]|0;if(!e)e=0;else e=gk[c[(c[e>>2]|0)+88>>2]&1023](e)|0;f=c[(c[z>>2]|0)+8>>2]|0;Nk[c[(c[f>>2]|0)+24>>2]&255](f,b,e);e=c[w>>2]|0;if(e>>>0>1){f=c[q>>2]|0;C=f+4|0;D=c[f>>2]|0;c[D+4>>2]=c[C>>2];c[c[C>>2]>>2]=D;c[w>>2]=e+-1;e=c[f+8>>2]|0;if(e|0?(C=e+8|0,D=c[C>>2]|0,c[C>>2]=D-1,(D|0)==1):0)UU(e,1,1);l0a(f)}e=c[r>>2]|0;f=e+4|0;D=c[e>>2]|0;c[D+4>>2]=c[f>>2];c[c[f>>2]>>2]=D;c[m>>2]=(c[m>>2]|0)+-1;f=c[e+8>>2]|0;if(f|0?(C=f+8|0,D=c[C>>2]|0,c[C>>2]=D-1,(D|0)==1):0)UU(f,1,1);l0a(e);a[t>>0]=1;D=c[v>>2]|0;c[v>>2]=D-1;if((D|0)==1)UU(u,1,1);g=g+1|0}while(g>>>0<(gk[c[(c[d>>2]|0)+248>>2]&1023](d)|0)>>>0)}D=c[(c[z>>2]|0)+8>>2]|0;Bk[c[(c[D>>2]|0)+20>>2]&2047](D);l=B;return}function i7(a,b){a=a|0;b=b|0;var d=0,e=0;if(!(c[a+64>>2]|0))return;d=a+56|0;e=c[(c[d>>2]|0)+8>>2]|0;if(!(kk[c[(c[e>>2]|0)+16>>2]&511](e,b)|0))return;switch(c[a+16>>2]|0){case 1:{Jk[c[(c[b>>2]|0)+216>>2]&1023](b,a);break}case 0:break;default:Jk[c[(c[b>>2]|0)+220>>2]&1023](b,a)}e=c[(c[d>>2]|0)+8>>2]|0;Bk[c[(c[e>>2]|0)+20>>2]&2047](e);return}function j7(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,i=0,j=0;e=b+64|0;if(!(c[e>>2]|0))return;g=b+56|0;f=c[(c[g>>2]|0)+8>>2]|0;if(!(kk[c[(c[f>>2]|0)+16>>2]&511](f,d)|0))return;f=j0a(160)|0;c[f+4>>2]=0;c[f+8>>2]=0;i=f+12|0;c[i>>2]=0;c[i+4>>2]=0;c[i+8>>2]=0;c[f+24>>2]=2;c[f+28>>2]=0;h[f+32>>3]=+h[d+136>>3];h[f+40>>3]=+h[d+144>>3];h[f+48>>3]=+h[d+152>>3];h[f+56>>3]=+h[d+160>>3];h[f+64>>3]=+h[d+168>>3];h[f+72>>3]=+h[d+176>>3];h[f+80>>3]=+h[d+184>>3];h[f+88>>3]=+h[d+192>>3];h[f+96>>3]=+h[d+200>>3];h[f+104>>3]=+h[d+208>>3];h[f+112>>3]=+h[d+216>>3];h[f+120>>3]=+h[d+224>>3];h[f+128>>3]=+h[d+232>>3];h[f+136>>3]=+h[d+240>>3];h[f+144>>3]=+h[d+248>>3];h[f+152>>3]=+h[d+256>>3];c[f>>2]=71124;t7(b,f);w7(b);switch(c[b+16>>2]|0){case 1:{Jk[c[(c[d>>2]|0)+216>>2]&1023](d,b);break}case 0:break;default:Jk[c[(c[d>>2]|0)+220>>2]&1023](d,b)}d=c[e>>2]|0;if(d>>>0>1){f=c[b+56>>2]|0;i=f+4|0;j=c[f>>2]|0;c[j+4>>2]=c[i>>2];c[c[i>>2]>>2]=j;c[e>>2]=d+-1;d=c[f+8>>2]|0;if(d|0?(i=d+8|0,j=c[i>>2]|0,c[i>>2]=j-1,(j|0)==1):0)UU(d,1,1);l0a(f)}e=c[b+88>>2]|0;d=e+4|0;j=c[e>>2]|0;c[j+4>>2]=c[d>>2];c[c[d>>2]>>2]=j;d=b+96|0;c[d>>2]=(c[d>>2]|0)+-1;d=c[e+8>>2]|0;if(d|0?(i=d+8|0,j=c[i>>2]|0,c[i>>2]=j-1,(j|0)==1):0)UU(d,1,1);l0a(e);a[b+144>>0]=1;j=c[(c[g>>2]|0)+8>>2]|0;Bk[c[(c[j>>2]|0)+20>>2]&2047](j);return}function k7(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0;n=l;l=l+16|0;e=n;f=b+64|0;if(!(c[f>>2]|0)){l=n;return}m=b+56|0;k=c[(c[m>>2]|0)+8>>2]|0;if(!(kk[c[(c[k>>2]|0)+16>>2]&511](k,d)|0)){l=n;return}g=b+120|0;j=(c[g>>2]|0)==0;k=j0a(160)|0;if(j){c[k+4>>2]=0;j=k+8|0;c[j>>2]=0;c[k>>2]=68320;e=k+12|0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[k+24>>2]=2;c[k+28>>2]=0;e=k+32|0;Qra(e);c[k>>2]=71124}else{j=c[(c[b+112>>2]|0)+8>>2]|0;c[e>>2]=71296;c[e+4>>2]=0;Or(k,j,e);e=k+32|0;h[e>>3]=+h[j+32>>3];h[k+40>>3]=+h[j+40>>3];h[k+48>>3]=+h[j+48>>3];h[k+56>>3]=+h[j+56>>3];h[k+64>>3]=+h[j+64>>3];h[k+72>>3]=+h[j+72>>3];h[k+80>>3]=+h[j+80>>3];h[k+88>>3]=+h[j+88>>3];h[k+96>>3]=+h[j+96>>3];h[k+104>>3]=+h[j+104>>3];h[k+112>>3]=+h[j+112>>3];h[k+120>>3]=+h[j+120>>3];h[k+128>>3]=+h[j+128>>3];h[k+136>>3]=+h[j+136>>3];h[k+144>>3]=+h[j+144>>3];h[k+152>>3]=+h[j+152>>3];c[k>>2]=71124;j=k+8|0}c[j>>2]=(c[j>>2]|0)+1;lk[c[(c[d>>2]|0)+288>>2]&127](d,e,b)|0;i=d+136|0;if(c[i>>2]|0){e=j0a(160)|0;c[e+4>>2]=0;c[e+8>>2]=0;c[e>>2]=68320;o=e+12|0;c[o>>2]=0;c[o+4>>2]=0;c[o+8>>2]=0;c[e+24>>2]=2;c[e+28>>2]=0;Qra(e+32|0);c[e>>2]=71124;u7(b,e)}v7(b,k);w7(b);switch(c[b+16>>2]|0){case 1:{Jk[c[(c[d>>2]|0)+216>>2]&1023](d,b);break}case 0:break;default:Jk[c[(c[d>>2]|0)+220>>2]&1023](d,b)}e=c[f>>2]|0;if(e>>>0>1){d=c[b+56>>2]|0;o=d+4|0;p=c[d>>2]|0;c[p+4>>2]=c[o>>2];c[c[o>>2]>>2]=p;c[f>>2]=e+-1;e=c[d+8>>2]|0;if(e|0?(o=e+8|0,p=c[o>>2]|0,c[o>>2]=p-1,(p|0)==1):0)UU(e,1,1);l0a(d)}d=c[b+112>>2]|0;e=d+4|0;p=c[d>>2]|0;c[p+4>>2]=c[e>>2];c[c[e>>2]>>2]=p;c[g>>2]=(c[g>>2]|0)+-1;e=c[d+8>>2]|0;if(e|0?(o=e+8|0,p=c[o>>2]|0,c[o>>2]=p-1,(p|0)==1):0)UU(e,1,1);l0a(d);f=b+144|0;a[f>>0]=1;if(c[i>>2]|0){d=c[b+100>>2]|0;e=d+4|0;p=c[d>>2]|0;c[p+4>>2]=c[e>>2];c[c[e>>2]>>2]=p;e=b+108|0;c[e>>2]=(c[e>>2]|0)+-1;e=c[d+8>>2]|0;if(e|0?(o=e+8|0,p=c[o>>2]|0,c[o>>2]=p-1,(p|0)==1):0)UU(e,1,1);l0a(d);a[f>>0]=1}p=c[(c[m>>2]|0)+8>>2]|0;Bk[c[(c[p>>2]|0)+20>>2]&2047](p);p=c[j>>2]|0;c[j>>2]=p-1;if((p|0)!=1){l=n;return}UU(k,1,1);l=n;return}function l7(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,i=0,j=0,k=0,m=0,n=0;n=l;l=l+128|0;k=n;do if(((((c[d+136>>2]|0)==0?(c[b+96>>2]|0)!=0:0)?(e=(c[b+88>>2]|0)+8|0,(c[e>>2]|0)!=0):0)?(g=b+108|0,(c[g>>2]|0)!=0):0)?(i=b+100|0,(c[(c[i>>2]|0)+8>>2]|0)!=0):0){j=(c[d+292>>2]|0)==1;f=j0a(160)|0;if(j){j=c[e>>2]|0;Qra(k);Ura(k,j+32|0,d+304|0);c[f+4>>2]=0;c[f+8>>2]=0;j=f+12|0;c[j>>2]=0;c[j+4>>2]=0;c[j+8>>2]=0;c[f+24>>2]=2;c[f+28>>2]=0;h[f+32>>3]=+h[k>>3];h[f+40>>3]=+h[k+8>>3];h[f+48>>3]=+h[k+16>>3];h[f+56>>3]=+h[k+24>>3];h[f+64>>3]=+h[k+32>>3];h[f+72>>3]=+h[k+40>>3];h[f+80>>3]=+h[k+48>>3];h[f+88>>3]=+h[k+56>>3];h[f+96>>3]=+h[k+64>>3];h[f+104>>3]=+h[k+72>>3];h[f+112>>3]=+h[k+80>>3];h[f+120>>3]=+h[k+88>>3];h[f+128>>3]=+h[k+96>>3];h[f+136>>3]=+h[k+104>>3];h[f+144>>3]=+h[k+112>>3];h[f+152>>3]=+h[k+120>>3];c[f>>2]=71124;j=j0a(160)|0;if(!(c[g>>2]|0))e=0;else e=c[(c[i>>2]|0)+8>>2]|0;Qra(k);Ura(k,e+32|0,d+432|0);c[j+4>>2]=0;c[j+8>>2]=0;e=j+12|0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[j+24>>2]=2;c[j+28>>2]=0;h[j+32>>3]=+h[k>>3];h[j+40>>3]=+h[k+8>>3];h[j+48>>3]=+h[k+16>>3];h[j+56>>3]=+h[k+24>>3];h[j+64>>3]=+h[k+32>>3];h[j+72>>3]=+h[k+40>>3];h[j+80>>3]=+h[k+48>>3];h[j+88>>3]=+h[k+56>>3];h[j+96>>3]=+h[k+64>>3];h[j+104>>3]=+h[k+72>>3];h[j+112>>3]=+h[k+80>>3];h[j+120>>3]=+h[k+88>>3];h[j+128>>3]=+h[k+96>>3];h[j+136>>3]=+h[k+104>>3];h[j+144>>3]=+h[k+112>>3];h[j+152>>3]=+h[k+120>>3];c[j>>2]=71124;e=j0a(160)|0;if(!(c[b+120>>2]|0))g=0;else g=c[(c[b+112>>2]|0)+8>>2]|0;c[k>>2]=71296;c[k+4>>2]=0;Or(e,g,k);h[e+32>>3]=+h[g+32>>3];h[e+40>>3]=+h[g+40>>3];h[e+48>>3]=+h[g+48>>3];h[e+56>>3]=+h[g+56>>3];h[e+64>>3]=+h[g+64>>3];h[e+72>>3]=+h[g+72>>3];h[e+80>>3]=+h[g+80>>3];h[e+88>>3]=+h[g+88>>3];h[e+96>>3]=+h[g+96>>3];h[e+104>>3]=+h[g+104>>3];h[e+112>>3]=+h[g+112>>3];h[e+120>>3]=+h[g+120>>3];h[e+128>>3]=+h[g+128>>3];h[e+136>>3]=+h[g+136>>3];h[e+144>>3]=+h[g+144>>3];h[e+152>>3]=+h[g+152>>3];c[e>>2]=71124;i=e;g=j;break}else{j=c[e>>2]|0;Qra(k);Ura(k,d+304|0,j+32|0);c[f+4>>2]=0;c[f+8>>2]=0;j=f+12|0;c[j>>2]=0;c[j+4>>2]=0;c[j+8>>2]=0;c[f+24>>2]=2;c[f+28>>2]=0;h[f+32>>3]=+h[k>>3];h[f+40>>3]=+h[k+8>>3];h[f+48>>3]=+h[k+16>>3];h[f+56>>3]=+h[k+24>>3];h[f+64>>3]=+h[k+32>>3];h[f+72>>3]=+h[k+40>>3];h[f+80>>3]=+h[k+48>>3];h[f+88>>3]=+h[k+56>>3];h[f+96>>3]=+h[k+64>>3];h[f+104>>3]=+h[k+72>>3];h[f+112>>3]=+h[k+80>>3];h[f+120>>3]=+h[k+88>>3];h[f+128>>3]=+h[k+96>>3];h[f+136>>3]=+h[k+104>>3];h[f+144>>3]=+h[k+112>>3];h[f+152>>3]=+h[k+120>>3];c[f>>2]=71124;j=j0a(160)|0;if(!(c[g>>2]|0))e=0;else e=c[(c[i>>2]|0)+8>>2]|0;c[k>>2]=71296;c[k+4>>2]=0;Or(j,e,k);h[j+32>>3]=+h[e+32>>3];h[j+40>>3]=+h[e+40>>3];h[j+48>>3]=+h[e+48>>3];h[j+56>>3]=+h[e+56>>3];h[j+64>>3]=+h[e+64>>3];h[j+72>>3]=+h[e+72>>3];h[j+80>>3]=+h[e+80>>3];h[j+88>>3]=+h[e+88>>3];h[j+96>>3]=+h[e+96>>3];h[j+104>>3]=+h[e+104>>3];h[j+112>>3]=+h[e+112>>3];h[j+120>>3]=+h[e+120>>3];h[j+128>>3]=+h[e+128>>3];h[j+136>>3]=+h[e+136>>3];h[j+144>>3]=+h[e+144>>3];h[j+152>>3]=+h[e+152>>3];c[j>>2]=71124;e=j0a(160)|0;if(!(c[b+120>>2]|0))g=0;else g=c[(c[b+112>>2]|0)+8>>2]|0;Qra(k);Ura(k,d+432|0,g+32|0);c[e+4>>2]=0;c[e+8>>2]=0;i=e+12|0;c[i>>2]=0;c[i+4>>2]=0;c[i+8>>2]=0;c[e+24>>2]=2;c[e+28>>2]=0;h[e+32>>3]=+h[k>>3];h[e+40>>3]=+h[k+8>>3];h[e+48>>3]=+h[k+16>>3];h[e+56>>3]=+h[k+24>>3];h[e+64>>3]=+h[k+32>>3];h[e+72>>3]=+h[k+40>>3];h[e+80>>3]=+h[k+48>>3];h[e+88>>3]=+h[k+56>>3];h[e+96>>3]=+h[k+64>>3];h[e+104>>3]=+h[k+72>>3];h[e+112>>3]=+h[k+80>>3];h[e+120>>3]=+h[k+88>>3];h[e+128>>3]=+h[k+96>>3];h[e+136>>3]=+h[k+104>>3];h[e+144>>3]=+h[k+112>>3];h[e+152>>3]=+h[k+120>>3];c[e>>2]=71124;i=e;g=j;break}}else m=17;while(0);if((m|0)==17){f=j0a(160)|0;c[f+4>>2]=0;c[f+8>>2]=0;g=f+12|0;c[g>>2]=0;c[g+4>>2]=0;c[g+8>>2]=0;c[f+24>>2]=2;c[f+28>>2]=0;h[f+32>>3]=+h[d+304>>3];h[f+40>>3]=+h[d+312>>3];h[f+48>>3]=+h[d+320>>3];h[f+56>>3]=+h[d+328>>3];h[f+64>>3]=+h[d+336>>3];h[f+72>>3]=+h[d+344>>3];h[f+80>>3]=+h[d+352>>3];h[f+88>>3]=+h[d+360>>3];h[f+96>>3]=+h[d+368>>3];h[f+104>>3]=+h[d+376>>3];h[f+112>>3]=+h[d+384>>3];h[f+120>>3]=+h[d+392>>3];h[f+128>>3]=+h[d+400>>3];h[f+136>>3]=+h[d+408>>3];h[f+144>>3]=+h[d+416>>3];h[f+152>>3]=+h[d+424>>3];c[f>>2]=71124;g=j0a(160)|0;c[g+4>>2]=0;c[g+8>>2]=0;i=g+12|0;c[i>>2]=0;c[i+4>>2]=0;c[i+8>>2]=0;c[g+24>>2]=2;c[g+28>>2]=0;h[g+32>>3]=+h[d+432>>3];h[g+40>>3]=+h[d+440>>3];h[g+48>>3]=+h[d+448>>3];h[g+56>>3]=+h[d+456>>3];h[g+64>>3]=+h[d+464>>3];h[g+72>>3]=+h[d+472>>3];h[g+80>>3]=+h[d+480>>3];h[g+88>>3]=+h[d+488>>3];h[g+96>>3]=+h[d+496>>3];h[g+104>>3]=+h[d+504>>3];h[g+112>>3]=+h[d+512>>3];h[g+120>>3]=+h[d+520>>3];h[g+128>>3]=+h[d+528>>3];h[g+136>>3]=+h[d+536>>3];h[g+144>>3]=+h[d+544>>3];h[g+152>>3]=+h[d+552>>3];c[g>>2]=71124;i=j0a(160)|0;c[i+4>>2]=0;c[i+8>>2]=0;c[i>>2]=68320;m=i+12|0;c[m>>2]=0;c[m+4>>2]=0;c[m+8>>2]=0;c[i+24>>2]=2;c[i+28>>2]=0;Qra(i+32|0);c[i>>2]=71124}j=d+288|0;e=c[j>>2]|0;if(e|0)s7(b,e);t7(b,f);u7(b,g);v7(b,i);w7(b);switch(c[b+16>>2]|0){case 1:{Jk[c[(c[d>>2]|0)+216>>2]&1023](d,b);break}case 0:break;default:Jk[c[(c[d>>2]|0)+220>>2]&1023](d,b)}e=b+64|0;f=c[e>>2]|0;if(f>>>0>1){g=c[b+56>>2]|0;d=g+4|0;m=c[g>>2]|0;c[m+4>>2]=c[d>>2];c[c[d>>2]>>2]=m;c[e>>2]=f+-1;e=c[g+8>>2]|0;if(e|0?(m=e+8|0,d=c[m>>2]|0,c[m>>2]=d-1,(d|0)==1):0)UU(e,1,1);l0a(g)}e=c[b+112>>2]|0;f=e+4|0;d=c[e>>2]|0;c[d+4>>2]=c[f>>2];c[c[f>>2]>>2]=d;f=b+120|0;c[f>>2]=(c[f>>2]|0)+-1;f=c[e+8>>2]|0;if(f|0?(m=f+8|0,d=c[m>>2]|0,c[m>>2]=d-1,(d|0)==1):0)UU(f,1,1);l0a(e);g=b+144|0;a[g>>0]=1;e=c[b+100>>2]|0;f=e+4|0;d=c[e>>2]|0;c[d+4>>2]=c[f>>2];c[c[f>>2]>>2]=d;f=b+108|0;c[f>>2]=(c[f>>2]|0)+-1;f=c[e+8>>2]|0;if(f|0?(m=f+8|0,d=c[m>>2]|0,c[m>>2]=d-1,(d|0)==1):0)UU(f,1,1);l0a(e);a[g>>0]=1;e=c[b+88>>2]|0;f=e+4|0;d=c[e>>2]|0;c[d+4>>2]=c[f>>2];c[c[f>>2]>>2]=d;f=b+96|0;c[f>>2]=(c[f>>2]|0)+-1;f=c[e+8>>2]|0;if(f|0?(m=f+8|0,d=c[m>>2]|0,c[m>>2]=d-1,(d|0)==1):0)UU(f,1,1);l0a(e);a[g>>0]=1;if(!(c[j>>2]|0)){l=n;return}f=c[b+76>>2]|0;e=f+4|0;d=c[f>>2]|0;c[d+4>>2]=c[e>>2];c[c[e>>2]>>2]=d;e=b+84|0;c[e>>2]=(c[e>>2]|0)+-1;e=c[f+8>>2]|0;if(e|0?(d=e+8|0,b=c[d>>2]|0,c[d>>2]=b-1,(b|0)==1):0)UU(e,1,1);l0a(f);a[g>>0]=1;l=n;return}function m7(a,b){a=a|0;b=b|0;var d=0,e=0;if(!(c[a+64>>2]|0))return;d=a+56|0;e=c[(c[d>>2]|0)+8>>2]|0;if(!(kk[c[(c[e>>2]|0)+16>>2]&511](e,b)|0))return;switch(c[a+16>>2]|0){case 1:{Jk[c[(c[b>>2]|0)+216>>2]&1023](b,a);break}case 0:break;default:Jk[c[(c[b>>2]|0)+220>>2]&1023](b,a)}e=c[(c[d>>2]|0)+8>>2]|0;Bk[c[(c[e>>2]|0)+20>>2]&2047](e);return}function n7(b,d){b=b|0;d=d|0;var e=0,f=0,h=0.0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0.0,B=0;z=l;l=l+32|0;s=z+16|0;t=z+12|0;u=z;if(!(c[b+64>>2]|0)){l=z;return}y=b+56|0;x=c[(c[y>>2]|0)+8>>2]|0;if(!(kk[c[(c[x>>2]|0)+16>>2]&511](x,d)|0)){l=z;return}q=d+200|0;r=d+204|0;if((c[r>>2]|0)!=(c[q>>2]|0)){i=(c[d+156>>2]|0)==0;h=i?1.0e6:0.0;c[s>>2]=0;x=s+4|0;c[x>>2]=0;e=s+8|0;c[e>>2]=0;j=c[d+160>>2]|0;k=(c[d+164>>2]|0)-j|0;f=k>>3;do if(k|0){if(f>>>0>536870911)g1a(s);p=j0a(k)|0;c[x>>2]=p;c[s>>2]=p;c[e>>2]=p+(f<<3);if((k|0)>0){f=p+(k>>>3<<3)|0;x2a(p|0,j|0,k|0)|0;c[x>>2]=f;if((f|0)!=(p|0))if(i){h=1.0e6;e=p;do{A=+g[e>>2];h=A<h?A:h;e=e+8|0}while((e|0)!=(f|0))}else{h=0.0;e=p;do{A=+g[e>>2];h=A>h?A:h;e=e+8|0}while((e|0)!=(f|0))}if((f|0)!=(p|0)){k=d+124|0;m=b+72|0;n=d+176|0;o=u+11|0;j=0;i=p;while(1){a:do if(!(+g[i>>2]!=h)){if((gk[c[(c[d>>2]|0)+248>>2]&1023](d)|0)>>>0>j>>>0?(v=c[(c[k>>2]|0)+(j<<2)>>2]|0,(v|0)!=0):0){e=v+8|0;c[e>>2]=(c[e>>2]|0)+1;e=v}else w=20;do if((w|0)==20){w=0;e=c[m>>2]|0;if(e|0){B=c[q>>2]|0;f=(c[r>>2]|0)-B>>6;p=c[(c[e>>2]|0)+12>>2]|0;xM(u,n,B+((f>>>0>j>>>0?j:f+-1|0)<<6)|0);Nk[p&255](t,e,u);e=c[t>>2]|0;do if(!e)e=0;else{f=e+8|0;c[f>>2]=(c[f>>2]|0)+1;f=c[t>>2]|0;if(!f)break;p=f+8|0;B=c[p>>2]|0;c[p>>2]=B-1;if((B|0)!=1)break;UU(f,1,1)}while(0);c[t>>2]=0;if((a[o>>0]|0)<0)l0a(c[u>>2]|0);if(e|0)break}if(!(gk[c[(c[d>>2]|0)+248>>2]&1023](d)|0))break a;e=(gk[c[(c[d>>2]|0)+248>>2]&1023](d)|0)+-1|0;e=c[(c[k>>2]|0)+(e<<2)>>2]|0;if(!e)break a;B=e+8|0;c[B>>2]=(c[B>>2]|0)+1}while(0);Jk[c[(c[e>>2]|0)+212>>2]&1023](e,b);p=e+8|0;B=c[p>>2]|0;c[p>>2]=B-1;if((B|0)==1)UU(e,1,1)}while(0);i=i+8|0;if((i|0)==(c[x>>2]|0))break;else j=j+1|0}e=c[s>>2]|0;if(!e)break;else f=e}else{f=p;e=p}}else{f=p;e=p}c[x>>2]=f;l0a(e)}while(0)}B=c[(c[y>>2]|0)+8>>2]|0;Bk[c[(c[B>>2]|0)+20>>2]&2047](B);l=z;return}function o7(a){a=a|0;a=a+(c[(c[a>>2]|0)+-16>>2]|0)|0;W6(a,88680);Pr(a+160|0);return}function p7(a){a=a|0;a=a+(c[(c[a>>2]|0)+-16>>2]|0)|0;W6(a,88680);Pr(a+160|0);l0a(a);return}function q7(a){a=a|0;return 160686}function r7(a){a=a|0;return 160666}function s7(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,i=0,j=0;f=l;l=l+128|0;j=f;i=b+76|0;e=j0a(160)|0;x7(j,d);c[e+4>>2]=0;g=e+8|0;c[g>>2]=0;d=e+12|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[e+24>>2]=2;c[e+28>>2]=0;h[e+32>>3]=+h[j>>3];h[e+40>>3]=+h[j+8>>3];h[e+48>>3]=+h[j+16>>3];h[e+56>>3]=+h[j+24>>3];h[e+64>>3]=+h[j+32>>3];h[e+72>>3]=+h[j+40>>3];h[e+80>>3]=+h[j+48>>3];h[e+88>>3]=+h[j+56>>3];h[e+96>>3]=+h[j+64>>3];h[e+104>>3]=+h[j+72>>3];h[e+112>>3]=+h[j+80>>3];h[e+120>>3]=+h[j+88>>3];h[e+128>>3]=+h[j+96>>3];h[e+136>>3]=+h[j+104>>3];h[e+144>>3]=+h[j+112>>3];h[e+152>>3]=+h[j+120>>3];c[e>>2]=71124;c[g>>2]=(c[g>>2]|0)+1;d=j0a(12)|0;c[d>>2]=0;c[d+8>>2]=e;c[g>>2]=(c[g>>2]|0)+1;c[d+4>>2]=i;j=c[i>>2]|0;c[d>>2]=j;c[j+4>>2]=d;c[i>>2]=d;d=b+84|0;c[d>>2]=(c[d>>2]|0)+1;d=c[g>>2]|0;c[g>>2]=d-1;if((d|0)!=1){j=b+144|0;a[j>>0]=1;l=f;return}UU(e,1,1);j=b+144|0;a[j>>0]=1;l=f;return}function t7(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=b+88|0;f=(d|0)==0;if(!f){g=d+8|0;c[g>>2]=(c[g>>2]|0)+1}g=j0a(12)|0;c[g>>2]=0;c[g+8>>2]=d;if(!f){h=d+8|0;c[h>>2]=(c[h>>2]|0)+1}c[g+4>>2]=e;h=c[e>>2]|0;c[g>>2]=h;c[h+4>>2]=g;c[e>>2]=g;h=b+96|0;c[h>>2]=(c[h>>2]|0)+1;if(f){h=b+144|0;a[h>>0]=1;return}g=d+8|0;h=c[g>>2]|0;c[g>>2]=h-1;if((h|0)!=1){h=b+144|0;a[h>>0]=1;return}UU(d,1,1);h=b+144|0;a[h>>0]=1;return}function u7(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=b+100|0;f=(d|0)==0;if(!f){g=d+8|0;c[g>>2]=(c[g>>2]|0)+1}g=j0a(12)|0;c[g>>2]=0;c[g+8>>2]=d;if(!f){h=d+8|0;c[h>>2]=(c[h>>2]|0)+1}c[g+4>>2]=e;h=c[e>>2]|0;c[g>>2]=h;c[h+4>>2]=g;c[e>>2]=g;h=b+108|0;c[h>>2]=(c[h>>2]|0)+1;if(f){h=b+144|0;a[h>>0]=1;return}g=d+8|0;h=c[g>>2]|0;c[g>>2]=h-1;if((h|0)!=1){h=b+144|0;a[h>>0]=1;return}UU(d,1,1);h=b+144|0;a[h>>0]=1;return}function v7(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=b+112|0;f=(d|0)==0;if(!f){g=d+8|0;c[g>>2]=(c[g>>2]|0)+1}g=j0a(12)|0;c[g>>2]=0;c[g+8>>2]=d;if(!f){h=d+8|0;c[h>>2]=(c[h>>2]|0)+1}c[g+4>>2]=e;h=c[e>>2]|0;c[g>>2]=h;c[h+4>>2]=g;c[e>>2]=g;h=b+120|0;c[h>>2]=(c[h>>2]|0)+1;if(f){h=b+144|0;a[h>>0]=1;return}g=d+8|0;h=c[g>>2]|0;c[g>>2]=h-1;if((h|0)!=1){h=b+144|0;a[h>>0]=1;return}UU(d,1,1);h=b+144|0;a[h>>0]=1;return}function w7(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;b=a+56|0;f=c[(c[a+60>>2]|0)+8>>2]|0;f=kk[c[(c[f>>2]|0)+12>>2]&511](f,a)|0;d=(f|0)==0;if(!d){e=f+8|0;c[e>>2]=(c[e>>2]|0)+1}e=j0a(12)|0;c[e>>2]=0;c[e+8>>2]=f;if(!d){g=f+8|0;c[g>>2]=(c[g>>2]|0)+1}c[e+4>>2]=b;g=c[b>>2]|0;c[e>>2]=g;c[g+4>>2]=e;c[b>>2]=e;g=a+64|0;c[g>>2]=(c[g>>2]|0)+1;if(d)return;e=f+8|0;g=c[e>>2]|0;c[e>>2]=g-1;if((g|0)!=1)return;UU(f,1,1);return}function x7(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0.0,g=0.0,i=0,j=0;c=l;l=l+512|0;e=c+256|0;j=c;i=c+384|0;d=c+128|0;Qra(j);Sra(j,1.0,1.0,1.0);f=+h[b+72>>3];g=+h[b+80>>3];Qra(i);Rra(i,f*.5,g*.5,.5);Qra(e);Ura(e,j,i);g=+h[b+56>>3];f=+h[b+64>>3];Qra(d);Sra(d,g,f,0.0);Qra(a);Ura(a,e,d);l=c;return}function y7(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;f=(b|0)==0;if(!f){h=b+8|0;c[h>>2]=(c[h>>2]|0)+1}g=a+56|0;h=a+64|0;if(c[h>>2]|0?(d=c[a+60>>2]|0,e=(c[g>>2]|0)+4|0,a=c[d>>2]|0,c[a+4>>2]=c[e>>2],c[c[e>>2]>>2]=a,c[h>>2]=0,(d|0)!=(g|0)):0)do{a=d;d=c[d+4>>2]|0;e=c[a+8>>2]|0;if(e|0?(j=e+8|0,i=c[j>>2]|0,c[j>>2]=i-1,(i|0)==1):0)UU(e,1,1);l0a(a)}while((d|0)!=(g|0));if(f)return;a=b+8|0;c[a>>2]=(c[a>>2]|0)+1;j=j0a(12)|0;c[j>>2]=0;c[j+8>>2]=b;c[a>>2]=(c[a>>2]|0)+1;c[j+4>>2]=g;i=c[g>>2]|0;c[j>>2]=i;c[i+4>>2]=j;c[g>>2]=j;c[h>>2]=(c[h>>2]|0)+1;j=c[a>>2]|0;c[a>>2]=j-1;if((j|0)==1)UU(b,1,1);j=c[a>>2]|0;c[a>>2]=j-1;if((j|0)!=1)return;UU(b,1,1);return}function z7(a){a=a|0;c[a>>2]=88640;A8(a+80|0,c[a+84>>2]|0);SU(a);return}function A7(a){a=a|0;c[a>>2]=88640;A8(a+80|0,c[a+84>>2]|0);SU(a);l0a(a);return}function B7(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,i=0,j=0,k=0,m=0,n=0.0,o=0.0,p=0.0,q=0.0,r=0.0,s=0.0,t=0.0,u=0.0,v=0.0,w=0.0,x=0.0,y=0.0,z=0.0,A=0.0,B=0.0,C=0.0,D=0.0,E=0.0,F=0.0,G=0.0,H=0.0,I=0.0,J=0.0;f=l;l=l+128|0;d=f;e=c[a+12>>2]|0;do if((e|0)==3){if(c[b+120>>2]|0?c[(c[b+112>>2]|0)+8>>2]|0:0)break;e=j0a(96)|0;m=a+32|0;k=a+56|0;c[e+4>>2]=0;d=e+8|0;c[d>>2]=0;c[e+12>>2]=3;g=e+16|0;c[g>>2]=0;c[e+20>>2]=0;b=e+24|0;c[b>>2]=0;c[e>>2]=88640;i=e+28|0;c[i>>2]=0;j=e+32|0;c[j>>2]=c[m>>2];c[j+4>>2]=c[m+4>>2];c[j+8>>2]=c[m+8>>2];c[j+12>>2]=c[m+12>>2];c[j+16>>2]=c[m+16>>2];c[j+20>>2]=c[m+20>>2];j=e+56|0;c[j>>2]=c[k>>2];c[j+4>>2]=c[k+4>>2];c[j+8>>2]=c[k+8>>2];c[j+12>>2]=c[k+12>>2];c[j+16>>2]=c[k+16>>2];c[j+20>>2]=c[k+20>>2];j=e+84|0;c[j>>2]=0;c[e+88>>2]=0;c[e+80>>2]=j;c[d>>2]=(c[d>>2]|0)+1;c[i>>2]=a;c[g>>2]=c[a+16>>2];c[b>>2]=c[a+24>>2];c[d>>2]=(c[d>>2]|0)-1;l=f;return e|0}while(0);D8(d,b,e);m=j0a(96)|0;I=+h[d+24>>3];F=+h[a+32>>3];H=+h[d+56>>3];E=+h[a+40>>3];n=+h[d+88>>3];D=+h[a+48>>3];J=+h[d+120>>3];G=1.0/(J+(I*F+H*E+n*D));B=+h[d>>3];A=+h[d+32>>3];z=+h[d+64>>3];C=+h[d+96>>3];x=+h[d+8>>3];w=+h[d+40>>3];v=+h[d+72>>3];y=+h[d+104>>3];t=+h[d+16>>3];r=+h[d+48>>3];p=+h[d+80>>3];u=+h[d+112>>3];s=+h[a+56>>3];q=+h[a+64>>3];o=+h[a+72>>3];n=1.0/(J+(I*s+H*q+n*o));c[m+4>>2]=0;k=m+8|0;c[k>>2]=0;c[m+12>>2]=3;i=m+16|0;c[i>>2]=0;c[m+20>>2]=0;j=m+24|0;c[j>>2]=0;c[m>>2]=88640;g=m+28|0;c[g>>2]=0;h[m+32>>3]=G*(C+(F*B+E*A+D*z));h[m+40>>3]=G*(y+(F*x+E*w+D*v));h[m+48>>3]=G*(u+(F*t+E*r+D*p));h[m+56>>3]=(C+(B*s+A*q+z*o))*n;h[m+64>>3]=(y+(x*s+w*q+v*o))*n;h[m+72>>3]=(u+(t*s+r*q+p*o))*n;e=m+84|0;c[e>>2]=0;c[m+88>>2]=0;c[m+80>>2]=e;c[k>>2]=(c[k>>2]|0)+1;c[g>>2]=a;c[i>>2]=c[a+16>>2];c[j>>2]=c[a+24>>2];c[k>>2]=(c[k>>2]|0)-1;l=f;return m|0}function C7(b,d){b=b|0;d=d|0;if((c[b+16>>2]|0)==2?gk[c[(c[b>>2]|0)+32>>2]&1023](b)|0:0){d=0;return d|0}if(c[d+108>>2]|0){d=1;return d|0}if(!(a[d+104>>0]|0)){d=1;return d|0}if(!(+g[(Fz(d)|0)+12>>2]>=0.0)){d=1;return d|0}d=C8(b,Fz(d)|0)|0;return d|0}function D7(a){a=a|0;return}function E7(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,h=0,i=0,j=0,k=0;j=l;l=l+48|0;f=j+24|0;h=j;if((c[b+16>>2]|0)==2?gk[c[(c[b>>2]|0)+32>>2]&1023](b)|0:0){l=j;return}k=b+32|0;c[f>>2]=c[k>>2];c[f+4>>2]=c[k+4>>2];c[f+8>>2]=c[k+8>>2];c[f+12>>2]=c[k+12>>2];c[f+16>>2]=c[k+16>>2];c[f+20>>2]=c[k+20>>2];k=b+56|0;c[h>>2]=c[k>>2];c[h+4>>2]=c[k+4>>2];c[h+8>>2]=c[k+8>>2];c[h+12>>2]=c[k+12>>2];c[h+16>>2]=c[k+16>>2];c[h+20>>2]=c[k+20>>2];if(!((((c[e+108>>2]|0)==0?(a[e+104>>0]|0)!=0:0)?+g[(Fz(e)|0)+12>>2]>=0.0:0)?!(B8(0,f,h,FA(e)|0)|0):0))i=7;if((i|0)==7?(a[d+69>>0]|0)==0:0)Sk[c[(c[b>>2]|0)+36>>2]&63](b,d,e,f,h);l=j;return}function F7(a){a=a|0;var b=0,d=0;c[a+20>>2]=0;d=a+80|0;b=a+84|0;A8(d,c[b>>2]|0);c[a+88>>2]=0;c[d>>2]=b;c[b>>2]=0;return}function G7(a){a=a|0;var b=0;b=c[a+28>>2]|0;return (c[((b|0)==0?a:b)+88>>2]|0)!=0|0}function H7(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0;p=l;l=l+240|0;n=p+208|0;o=p;i=b+16|0;h=c[i>>2]|0;do if((h|0)==2)if(gk[c[(c[b>>2]|0)+32>>2]&1023](b)|0){l=p;return}else{h=c[i>>2]|0;break}while(0);c[n+12>>2]=0;c[n>>2]=b;c[n+4>>2]=d;c[n+8>>2]=e;a[n+16>>0]=(h+-1|0)>>>0<2&1;h=gk[c[(c[e>>2]|0)+164>>2]&1023](e)|0;if((h|0?(j=c[h+232>>2]|0,j|0):0)?(k=y1a(j,43064,45280,0)|0,k|0):0){c[n+12>>2]=k;k=k+8|0;c[k>>2]=(c[k>>2]|0)+1}if((a[d+68>>0]|0)!=0?(m=c[e+176>>2]|0,(m|0)!=0):0)j=y1a(m,47136,45264,0)|0;else j=0;if(!(c[b+24>>2]|0)){h=o+80|0;i=o+12|0;d=i+64|0;do{c[i>>2]=0;i=i+4|0}while((i|0)<(d|0));i=h;d=i+112|0;do{c[i>>2]=0;i=i+4|0}while((i|0)<(d|0));a[h+112>>0]=0;c[o>>2]=89248;c[o+196>>2]=0;c[o+200>>2]=0;I7(o+8|0,f,g,n);if(!j)Jk[c[(c[e>>2]|0)+284>>2]&1023](e,o);else J7(j,o,c[j+64>>2]|0);h=c[o+64>>2]|0;if(h|0){c[o+68>>2]=h;l0a(h)}}else{h=o+8|0;i=h;d=i+96|0;do{c[i>>2]=0;i=i+4|0}while((i|0)<(d|0));a[h+96>>0]=0;c[o>>2]=89304;c[o+108>>2]=0;c[o+112>>2]=0;K7(o+4|0,f,g,n);if(!j)Jk[c[(c[e>>2]|0)+284>>2]&1023](e,o);else L7(j,o,c[j+64>>2]|0);h=c[o+36>>2]|0;if(h|0){c[o+40>>2]=h;l0a(h)}}h=c[n+12>>2]|0;if(h|0?(n=h+8|0,o=c[n>>2]|0,c[n>>2]=o-1,(o|0)==1):0)UU(h,1,1);l=p;return}function I7(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0.0,g=0.0,i=0.0,j=0,k=0,m=0,n=0.0,o=0.0,p=0.0,q=0;q=l;l=l+48|0;j=q;c[a>>2]=e;m=a+8|0;c[m>>2]=c[b>>2];c[m+4>>2]=c[b+4>>2];c[m+8>>2]=c[b+8>>2];c[m+12>>2]=c[b+12>>2];c[m+16>>2]=c[b+16>>2];c[m+20>>2]=c[b+20>>2];e=a+32|0;c[e>>2]=c[d>>2];c[e+4>>2]=c[d+4>>2];c[e+8>>2]=c[d+8>>2];c[e+12>>2]=c[d+12>>2];c[e+16>>2]=c[d+16>>2];c[e+20>>2]=c[d+20>>2];c[j>>2]=c[m>>2];c[j+4>>2]=c[m+4>>2];c[j+8>>2]=c[m+8>>2];c[j+12>>2]=c[m+12>>2];c[j+16>>2]=c[m+16>>2];c[j+20>>2]=c[m+20>>2];m=j+24|0;c[m>>2]=c[e>>2];c[m+4>>2]=c[e+4>>2];c[m+8>>2]=c[e+8>>2];c[m+12>>2]=c[e+12>>2];c[m+16>>2]=c[e+16>>2];c[m+20>>2]=c[e+20>>2];m=a+60|0;e=c[m>>2]|0;if(e>>>0<(c[a+64>>2]|0)>>>0){k=e+48|0;do{c[e>>2]=c[j>>2];e=e+4|0;j=j+4|0}while((e|0)<(k|0));c[m>>2]=(c[m>>2]|0)+48}else k8(a+56|0,j);n=+h[d>>3]-+h[b>>3];o=+h[d+8>>3]-+h[b+8>>3];i=+h[d+16>>3]-+h[b+16>>3];p=+B(+(n*n+o*o+i*i));h[a+96>>3]=p;p=p!=0.0?1.0/p:0.0;h[a+104>>3]=p;n=n*p;h[a+72>>3]=n;o=o*p;h[a+80>>3]=o;p=i*p;h[a+88>>3]=p;if(n!=0.0){f=n/n;g=o/n;i=p/n}else{f=0.0;g=0.0;i=0.0}h[a+112>>3]=f;h[a+120>>3]=g;h[a+128>>3]=i;if(o!=0.0){f=n/o;g=o/o;i=p/o}else{f=0.0;g=0.0;i=0.0}h[a+136>>3]=f;h[a+144>>3]=g;h[a+152>>3]=i;if(!(p!=0.0)){n=0.0;o=0.0;p=0.0;d=a+160|0;h[d>>3]=n;d=a+168|0;h[d>>3]=o;a=a+176|0;h[a>>3]=p;l=q;return}n=n/p;o=o/p;p=p/p;d=a+160|0;h[d>>3]=n;d=a+168|0;h[d>>3]=o;a=a+176|0;h[a>>3]=p;l=q;return}function J7(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;u=l;l=l+16|0;t=u;f=e+24|0;g=c[f>>2]|0;if((g|0)>=0){if(!(i8(d+8|0,e)|0)){l=u;return}f=c[f>>2]|0;if((f|0)>0)J7(b,d,(c[b+64>>2]|0)+(f<<5)|0);f=c[e+28>>2]|0;if((f|0)>0)J7(b,d,(c[b+64>>2]|0)+(f<<5)|0);t=d+68|0;c[t>>2]=(c[t>>2]|0)+-48;l=u;return}f=~g;s=c[e+28>>2]|0;p=s+f|0;if((s|0)<=0){l=u;return}q=b+40|0;r=b+52|0;s=d+8|0;n=b+36|0;o=d+12|0;m=d+192|0;do{i=c[(c[q>>2]|0)+(f<<2)>>2]|0;j=c[r>>2]|0;k=c[j+(i<<2)>>2]|0;e=i+2|0;g=c[j+(i+1<<2)>>2]|0;a:do switch(g|0){case 2:case 1:break;case 3:{d=c[n>>2]|0;e=c[j+(e<<2)>>2]|0;b=c[j+(i+3<<2)>>2]|0;g=c[j+(i+4<<2)>>2]|0;if(a[(c[s>>2]|0)+16>>0]|0?a[m>>0]|0:0)break a;c[o>>2]=k;k=c[d+76>>2]|0;h8(s,k+(e*12|0)|0,k+(b*12|0)|0,k+(g*12|0)|0);break}case 4:{h=c[n>>2]|0;e=c[j+(e<<2)>>2]|0;b=c[j+(i+3<<2)>>2]|0;d=c[j+(i+4<<2)>>2]|0;g=c[j+(i+5<<2)>>2]|0;if(a[(c[s>>2]|0)+16>>0]|0?a[m>>0]|0:0)break a;c[o>>2]=k;k=h+76|0;j=c[k>>2]|0;h8(s,j+(e*12|0)|0,j+(b*12|0)|0,j+(g*12|0)|0);k=c[k>>2]|0;h8(s,k+(b*12|0)|0,k+(d*12|0)|0,k+(g*12|0)|0);break}default:if(ZQ(3)|0){k=QSa(mr(lr(3)|0,160861,69)|0,g)|0;BSa(t,k+(c[(c[k>>2]|0)+-12>>2]|0)|0);j=cUa(t,230580)|0;j=kk[c[(c[j>>2]|0)+28>>2]&511](j,10)|0;dUa(t);VSa(k,j)|0;HSa(k)|0}}while(0);f=f+1|0}while((f|0)<(p|0));l=u;return}function K7(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0.0,i=0.0,j=0.0,k=0,m=0,n=0,o=0,p=0.0,q=0.0,r=0.0,s=0,t=0,u=0;u=l;l=l+32|0;t=u;c[a>>2]=e;s=b+8|0;r=+h[s>>3];e=b+16|0;q=+h[e>>3];n=a+8|0;g[a+8>>2]=+h[b>>3];g[a+12>>2]=r;g[a+16>>2]=q;k=d+8|0;q=+h[k>>3];m=d+16|0;r=+h[m>>3];o=a+20|0;g[a+20>>2]=+h[d>>3];g[a+24>>2]=q;g[a+28>>2]=r;c[t>>2]=c[n>>2];c[t+4>>2]=c[n+4>>2];c[t+8>>2]=c[n+8>>2];n=t+12|0;c[n>>2]=c[o>>2];c[n+4>>2]=c[o+4>>2];c[n+8>>2]=c[o+8>>2];n=a+36|0;o=c[n>>2]|0;if(o>>>0<(c[a+40>>2]|0)>>>0){c[o>>2]=c[t>>2];c[o+4>>2]=c[t+4>>2];c[o+8>>2]=c[t+8>>2];c[o+12>>2]=c[t+12>>2];c[o+16>>2]=c[t+16>>2];c[o+20>>2]=c[t+20>>2];c[n>>2]=(c[n>>2]|0)+24}else T7(a+32|0,t);p=+h[d>>3]-+h[b>>3];q=+h[k>>3]-+h[s>>3];r=+h[m>>3]-+h[e>>3];j=+B(+(p*p+q*q+r*r));g[a+56>>2]=j;j=j!=0.0?1.0/j:0.0;g[a+60>>2]=j;p=j*p;g[a+44>>2]=p;q=j*q;g[a+48>>2]=q;r=j*r;g[a+52>>2]=r;if(p!=0.0){f=p/p;i=q/p;j=r/p}else{f=0.0;i=0.0;j=0.0}g[a+64>>2]=f;g[a+68>>2]=i;g[a+72>>2]=j;if(q!=0.0){f=p/q;i=q/q;j=r/q}else{f=0.0;i=0.0;j=0.0}g[a+76>>2]=f;g[a+80>>2]=i;g[a+84>>2]=j;if(!(r!=0.0)){p=0.0;q=0.0;r=0.0;t=a+88|0;g[t>>2]=p;t=a+92|0;g[t>>2]=q;a=a+96|0;g[a>>2]=r;l=u;return}p=p/r;q=q/r;r=r/r;t=a+88|0;g[t>>2]=p;t=a+92|0;g[t>>2]=q;a=a+96|0;g[a>>2]=r;l=u;return}function L7(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=l;l=l+16|0;r=s;f=e+24|0;g=c[f>>2]|0;if((g|0)>=0){if(!(N7(d+4|0,e)|0)){l=s;return}f=c[f>>2]|0;if((f|0)>0)L7(b,d,(c[b+64>>2]|0)+(f<<5)|0);f=c[e+28>>2]|0;if((f|0)>0)L7(b,d,(c[b+64>>2]|0)+(f<<5)|0);r=d+40|0;c[r>>2]=(c[r>>2]|0)+-24;l=s;return}f=~g;q=c[e+28>>2]|0;n=q+f|0;if((q|0)<=0){l=s;return}o=b+40|0;p=b+52|0;q=d+4|0;k=b+36|0;m=d+8|0;j=d+104|0;do{b=c[(c[o>>2]|0)+(f<<2)>>2]|0;d=c[p>>2]|0;h=c[d+(b<<2)>>2]|0;i=b+2|0;g=c[d+(b+1<<2)>>2]|0;switch(g|0){case 2:case 1:break;case 3:{if((a[j>>0]|0)==0?1:(a[(c[q>>2]|0)+16>>0]|0)==0){e=c[d+(b+4<<2)>>2]|0;b=c[d+(b+3<<2)>>2]|0;d=c[d+(i<<2)>>2]|0;i=c[k>>2]|0;c[m>>2]=h;i=c[i+76>>2]|0;M7(q,i+(d*12|0)|0,i+(b*12|0)|0,i+(e*12|0)|0)}break}case 4:{g=c[d+(b+3<<2)>>2]|0;e=c[d+(b+5<<2)>>2]|0;if((a[j>>0]|0)==0?1:(a[(c[q>>2]|0)+16>>0]|0)==0){b=c[d+(b+4<<2)>>2]|0;d=c[d+(i<<2)>>2]|0;i=c[k>>2]|0;c[m>>2]=h;i=i+76|0;h=c[i>>2]|0;M7(q,h+(d*12|0)|0,h+(g*12|0)|0,h+(e*12|0)|0);i=c[i>>2]|0;M7(q,i+(g*12|0)|0,i+(b*12|0)|0,i+(e*12|0)|0)}break}default:if(ZQ(3)|0){i=QSa(mr(lr(3)|0,160861,69)|0,g)|0;BSa(r,i+(c[(c[i>>2]|0)+-12>>2]|0)|0);h=cUa(r,230580)|0;h=kk[c[(c[h>>2]|0)+28>>2]&511](h,10)|0;dUa(r);VSa(i,h)|0;HSa(i)|0}}f=f+1|0}while((f|0)<(n|0));l=s;return}function M7(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var i=0.0,j=0,k=0,m=0,n=0.0,o=0.0,p=0,q=0.0,r=0.0,s=0.0,t=0.0,u=0.0,v=0,w=0.0,x=0.0,y=0.0,z=0,A=0,C=0,D=0,E=0.0,F=0.0,G=0.0,H=0.0,I=0.0,J=0.0,K=0.0,L=0.0,M=0.0,N=0.0,O=0,P=0,Q=0;Q=l;l=l+112|0;O=Q+8|0;P=Q;j=c[b>>2]|0;if(a[j+16>>0]|0?a[b+100>>0]|0:0){l=Q;return}F=+g[b+8>>2];L=+g[d>>2];s=F-L;G=+g[b+12>>2];M=+g[d+4>>2];t=G-M;H=+g[b+16>>2];N=+g[d+8>>2];q=H-N;I=+g[f>>2]-L;J=+g[f+4>>2]-M;K=+g[f+8>>2]-N;L=+g[e>>2]-L;M=+g[e+4>>2]-M;N=+g[e+8>>2]-N;w=+g[b+48>>2];x=+g[b+52>>2];i=K*w-J*x;y=+g[b+44>>2];n=I*x-K*y;o=J*y-I*w;E=N*o+(L*i+M*n);if(E>1.000000013351432e-10){u=q*o+(s*i+t*n);if(u<0.0|u>E){l=Q;return}r=t*N-q*M;q=q*L-s*N;i=s*M-t*L;n=i*x+(r*y+w*q);if(n<0.0|n>E|n+u>E){l=Q;return}o=1.0/E;i=(K*i+(I*r+J*q))*o;if(i<0.0){l=Q;return}q=+g[b+56>>2];if(i>q){l=Q;return}else{r=i;i=n*o;n=u*o}}else{if(!(E<-1.000000013351432e-10)){l=Q;return}u=q*o+(s*i+t*n);if(u>0.0|u<E){l=Q;return}r=t*N-q*M;q=q*L-s*N;i=s*M-t*L;n=i*x+(r*y+w*q);if(n>0.0|n<E|n+u<E){l=Q;return}o=1.0/E;i=(K*i+(I*r+J*q))*o;if(i<0.0){l=Q;return}q=+g[b+56>>2];if(i>q){l=Q;return}else{r=i;i=n*o;n=u*o}}o=1.0-n-i;k=c[j>>2]|0;u=+h[k+32>>3];w=+h[k+40>>3];t=+h[k+48>>3];s=F-u;G=G-w;F=H-t;F=r*+g[b+60>>2]*q+ +B(+(s*s+G*G+F*F));H=+h[k+56>>3];G=H-u;s=+h[k+64>>3];x=s-w;r=+h[k+72>>3];q=r-t;q=F/+B(+(G*G+x*x+q*q));x=1.0-q;u=H*q+u*x;w=s*q+w*x;x=r*q+t*x;r=K*M-J*N;t=I*N-K*L;s=J*L-I*M;N=+B(+(s*s+(r*r+t*t)));k=N>0.0;N=1.0/N;r=k?r*N:r;t=k?t*N:t;s=k?s*N:s;k=O+8|0;c[k>>2]=0;c[k+4>>2]=0;c[k+8>>2]=0;c[k+12>>2]=0;c[k+16>>2]=0;k=O+32|0;m=k+64|0;do{c[k>>2]=0;k=k+4|0}while((k|0)<(m|0));h[O>>3]=q;k=c[j+4>>2]|0;if((c[k+120>>2]|0)!=0?(p=c[(c[k+112>>2]|0)+8>>2]|0,(p|0)!=0):0){c[O+24>>2]=p;j=p+8|0;c[j>>2]=(c[j>>2]|0)+1;j=c[b>>2]|0}k=c[j+4>>2]|0;m=k+28|0;p=O+8|0;if((p|0)!=(m|0)){gA(p,c[m>>2]|0,c[k+32>>2]|0);j=c[b>>2]|0}j=c[j+8>>2]|0;k=O+20|0;m=c[k>>2]|0;if((m|0)!=(j|0)){c[k>>2]=j;if(j|0){D=j+8|0;c[D>>2]=(c[D>>2]|0)+1}if(m|0?(C=m+8|0,D=c[C>>2]|0,c[C>>2]=D-1,(D|0)==1):0)UU(m,1,1)}c[O+92>>2]=c[b+4>>2];h[O+32>>3]=u;h[O+40>>3]=w;h[O+48>>3]=x;g[O+56>>2]=r;g[O+60>>2]=t;g[O+64>>2]=s;j=c[(c[b>>2]|0)+12>>2]|0;if(j|0){v=c[j+76>>2]|0;C=O+68|0;D=O+76|0;j=c[C>>2]|0;if((c[D>>2]|0)-j>>2>>>0<3){k=O+72|0;m=(c[k>>2]|0)-j|0;p=j0a(12)|0;if((m|0)>0)x2a(p|0,j|0,m|0)|0;c[C>>2]=p;c[k>>2]=p+(m>>2<<2);c[D>>2]=p+12;if(j|0)l0a(j)}z=O+80|0;A=O+88|0;j=c[z>>2]|0;if((c[A>>2]|0)-j>>3>>>0<3){k=O+84|0;m=(c[k>>2]|0)-j|0;p=j0a(24)|0;if((m|0)>0)x2a(p|0,j|0,m|0)|0;c[z>>2]=p;c[k>>2]=p+(m>>3<<3);c[A>>2]=p+24;if(j|0)l0a(j)}if(o!=0.0){j=(d-v|0)/12|0;c[P>>2]=j;k=O+72|0;m=c[k>>2]|0;if(m>>>0<(c[D>>2]|0)>>>0){c[m>>2]=j;c[k>>2]=m+4}else JJ(C,P);h[P>>3]=o;j=O+84|0;k=c[j>>2]|0;if(k>>>0<(c[A>>2]|0)>>>0){h[k>>3]=o;c[j>>2]=k+8}else P7(z,P)}if(n!=0.0){j=(e-v|0)/12|0;c[P>>2]=j;k=O+72|0;m=c[k>>2]|0;if(m>>>0<(c[D>>2]|0)>>>0){c[m>>2]=j;c[k>>2]=m+4}else JJ(C,P);h[P>>3]=n;j=O+84|0;k=c[j>>2]|0;if(k>>>0<(c[A>>2]|0)>>>0){h[k>>3]=n;c[j>>2]=k+8}else P7(z,P)}if(i!=0.0){j=(f-v|0)/12|0;c[P>>2]=j;k=O+72|0;m=c[k>>2]|0;if(m>>>0<(c[D>>2]|0)>>>0){c[m>>2]=j;c[k>>2]=m+4}else JJ(C,P);h[P>>3]=i;j=O+84|0;k=c[j>>2]|0;if(k>>>0<(c[A>>2]|0)>>>0){h[k>>3]=i;c[j>>2]=k+8}else P7(z,P)}}f=c[c[b>>2]>>2]|0;P=c[f+28>>2]|0;Q7(((P|0)==0?f:P)+80|0,O)|0;a[b+100>>0]=1;R7(O);l=Q;return}function N7(a,b){a=a|0;b=b|0;var d=0.0,e=0.0,f=0.0,h=0.0,i=0.0,j=0,k=0,m=0.0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0.0;u=l;l=l+32|0;p=u;q=a+32|0;r=a+36|0;s=c[r>>2]|0;t=s+-24|0;c[p>>2]=c[t>>2];c[p+4>>2]=c[t+4>>2];c[p+8>>2]=c[t+8>>2];c[p+12>>2]=c[t+12>>2];c[p+16>>2]=c[t+16>>2];c[p+20>>2]=c[t+20>>2];d=+g[p>>2];t=p+12|0;h=+g[t>>2];f=+g[b>>2];if(!(d<=h)){if(d<f){t=0;l=u;return t|0}e=+g[b+12>>2];if(h>e){t=0;l=u;return t|0}if(h<f){h=f-d;i=h*+g[a+68>>2]+ +g[p+4>>2];m=h*+g[a+72>>2]+ +g[p+8>>2];g[t>>2]=d+h*+g[a+64>>2];g[p+16>>2]=i;g[p+20>>2]=m}if(d>e){m=e-d;d=d+m*+g[a+64>>2];n=p+4|0;i=m*+g[a+68>>2]+ +g[n>>2];o=p+8|0;m=m*+g[a+72>>2]+ +g[o>>2];g[p>>2]=d;g[n>>2]=i;g[o>>2]=m}}else{if(h<f){t=0;l=u;return t|0}e=+g[b+12>>2];if(d>e){t=0;l=u;return t|0}if(d<f){m=f-d;d=d+m*+g[a+64>>2];n=p+4|0;i=m*+g[a+68>>2]+ +g[n>>2];o=p+8|0;m=m*+g[a+72>>2]+ +g[o>>2];g[p>>2]=d;g[n>>2]=i;g[o>>2]=m}if(h>e){h=e-d;i=h*+g[a+68>>2]+ +g[p+4>>2];m=h*+g[a+72>>2]+ +g[p+8>>2];g[t>>2]=d+ +g[a+64>>2]*h;g[p+16>>2]=i;g[p+20>>2]=m}}n=p+4|0;e=+g[n>>2];o=p+16|0;i=+g[o>>2];h=+g[b+4>>2];if(!(e<=i)){if(e<h){t=0;l=u;return t|0}f=+g[b+16>>2];if(i>f){t=0;l=u;return t|0}if(i<h){h=h-e;i=e+h*+g[a+80>>2];m=h*+g[a+84>>2]+ +g[p+8>>2];g[t>>2]=h*+g[a+76>>2]+d;g[o>>2]=i;g[p+20>>2]=m}if(e>f){m=f-e;d=m*+g[a+76>>2]+d;e=e+m*+g[a+80>>2];k=p+8|0;m=m*+g[a+84>>2]+ +g[k>>2];g[p>>2]=d;g[n>>2]=e;g[k>>2]=m}}else{if(i<h){t=0;l=u;return t|0}f=+g[b+16>>2];if(e>f){t=0;l=u;return t|0}if(e<h){m=h-e;d=m*+g[a+76>>2]+d;e=e+m*+g[a+80>>2];k=p+8|0;m=m*+g[a+84>>2]+ +g[k>>2];g[p>>2]=d;g[n>>2]=e;g[k>>2]=m}if(i>f){h=f-e;i=e+h*+g[a+80>>2];m=h*+g[a+84>>2]+ +g[p+8>>2];g[t>>2]=+g[a+76>>2]*h+d;g[o>>2]=i;g[p+20>>2]=m}}j=p+8|0;f=+g[j>>2];k=p+20|0;m=+g[k>>2];i=+g[b+8>>2];if(!(f<=m)){if(f<i){t=0;l=u;return t|0}h=+g[b+20>>2];if(m>h){t=0;l=u;return t|0}if(m<i){v=i-f;i=v*+g[a+92>>2]+e;m=f+v*+g[a+96>>2];g[t>>2]=v*+g[a+88>>2]+d;g[o>>2]=i;g[k>>2]=m}if(f>h){i=h-f;m=i*+g[a+92>>2]+e;v=f+i*+g[a+96>>2];g[p>>2]=i*+g[a+88>>2]+d;g[n>>2]=m;g[j>>2]=v}}else{if(m<i){t=0;l=u;return t|0}h=+g[b+20>>2];if(f>h){t=0;l=u;return t|0}if(f<i){v=i-f;d=v*+g[a+88>>2]+d;e=v*+g[a+92>>2]+e;f=f+v*+g[a+96>>2];g[p>>2]=d;g[n>>2]=e;g[j>>2]=f}if(m>h){i=h-f;m=i*+g[a+92>>2]+e;v=f+i*+g[a+96>>2];g[t>>2]=+g[a+88>>2]*i+d;g[o>>2]=m;g[k>>2]=v}}if((s|0)==(c[a+40>>2]|0)){O7(q,p);t=1;l=u;return t|0}else{c[s>>2]=c[p>>2];c[s+4>>2]=c[p+4>>2];c[s+8>>2]=c[p+8>>2];c[s+12>>2]=c[p+12>>2];c[s+16>>2]=c[p+16>>2];c[s+20>>2]=c[p+20>>2];c[r>>2]=(c[r>>2]|0)+24;t=1;l=u;return t|0}return 0}function O7(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;h=a+4|0;i=c[a>>2]|0;j=(c[h>>2]|0)-i|0;e=(j|0)/24|0;d=e+1|0;if(d>>>0>178956970)g1a(a);k=a+8|0;f=((c[k>>2]|0)-i|0)/24|0;g=f<<1;g=f>>>0<89478485?(g>>>0<d>>>0?d:g):178956970;do if(g)if(g>>>0>178956970){k=db(8)|0;p0a(k,183738);c[k>>2]=110936;hb(k|0,65952,1066)}else{f=j0a(g*24|0)|0;break}else f=0;while(0);e=f+(e*24|0)|0;c[e>>2]=c[b>>2];c[e+4>>2]=c[b+4>>2];c[e+8>>2]=c[b+8>>2];c[e+12>>2]=c[b+12>>2];c[e+16>>2]=c[b+16>>2];c[e+20>>2]=c[b+20>>2];d=e+(((j|0)/-24|0)*24|0)|0;if((j|0)>0)x2a(d|0,i|0,j|0)|0;c[a>>2]=d;c[h>>2]=e+24;c[k>>2]=f+(g*24|0);if(!i)return;l0a(i);return}function P7(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,i=0,j=0,k=0,l=0,m=0;j=a+4|0;k=c[a>>2]|0;l=(c[j>>2]|0)-k|0;g=l>>3;d=g+1|0;if(d>>>0>536870911)g1a(a);m=a+8|0;f=(c[m>>2]|0)-k|0;i=f>>2;i=f>>3>>>0<268435455?(i>>>0<d>>>0?d:i):536870911;do if(i)if(i>>>0>536870911){m=db(8)|0;p0a(m,183738);c[m>>2]=110936;hb(m|0,65952,1066)}else{f=j0a(i<<3)|0;e=f;break}else{e=0;f=0}while(0);d=e+(g<<3)|0;h[d>>3]=+h[b>>3];if((l|0)>0)x2a(f|0,k|0,l|0)|0;c[a>>2]=e;c[j>>2]=d+8;c[m>>2]=e+(i<<3);if(!k)return;l0a(k);return}function Q7(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0.0,i=0;i=j0a(112)|0;d=i+16|0;S7(d,b);e=a+4|0;b=c[e>>2]|0;do if(b){g=+h[d>>3];while(1)if(g<+h[b+16>>3]){d=c[b>>2]|0;if(!d){e=5;break}else b=d}else{d=c[b+4>>2]|0;if(!d){e=7;break}else b=d}if((e|0)==5){f=b;d=b;break}else if((e|0)==7){f=b;d=b+4|0;break}}else{f=e;d=e}while(0);c[i>>2]=0;c[i+4>>2]=0;c[i+8>>2]=f;c[d>>2]=i;b=c[c[a>>2]>>2]|0;if(!b)b=i;else{c[a>>2]=b;b=c[d>>2]|0}fp(c[a+4>>2]|0,b);a=a+8|0;c[a>>2]=(c[a>>2]|0)+1;return i|0}function R7(a){a=a|0;var b=0,d=0,e=0,f=0;b=c[a+80>>2]|0;if(b|0){c[a+84>>2]=b;l0a(b)}b=c[a+68>>2]|0;if(b|0){c[a+72>>2]=b;l0a(b)}b=a+24|0;d=c[b>>2]|0;if(d|0?(f=d+8|0,e=c[f>>2]|0,c[f>>2]=e-1,(e|0)==1):0)UU(d,1,1);c[b>>2]=0;b=a+20|0;d=c[b>>2]|0;if(d|0?(e=d+8|0,f=c[e>>2]|0,c[e>>2]=f-1,(f|0)==1):0)UU(d,1,1);c[b>>2]=0;b=c[a+8>>2]|0;if(!b)return;c[a+12>>2]=b;l0a(b);return}function S7(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,i=0,j=0,k=0,l=0;h[a>>3]=+h[b>>3];f=a+8|0;g=b+8|0;c[f>>2]=0;l=a+12|0;c[l>>2]=0;i=a+16|0;c[i>>2]=0;k=b+12|0;d=(c[k>>2]|0)-(c[g>>2]|0)|0;e=d>>2;if(d|0){if(e>>>0>1073741823)g1a(f);j=j0a(d)|0;c[l>>2]=j;c[f>>2]=j;c[i>>2]=j+(e<<2);e=c[g>>2]|0;d=(c[k>>2]|0)-e|0;if((d|0)>0){x2a(j|0,e|0,d|0)|0;c[l>>2]=j+(d>>>2<<2)}}d=c[b+20>>2]|0;c[a+20>>2]=d;if(d|0){l=d+8|0;c[l>>2]=(c[l>>2]|0)+1}d=c[b+24>>2]|0;c[a+24>>2]=d;if(d|0){l=d+8|0;c[l>>2]=(c[l>>2]|0)+1}d=a+32|0;e=b+32|0;f=d+36|0;do{c[d>>2]=c[e>>2];d=d+4|0;e=e+4|0}while((d|0)<(f|0));e=a+68|0;f=b+68|0;c[e>>2]=0;l=a+72|0;c[l>>2]=0;g=a+76|0;c[g>>2]=0;j=b+72|0;d=(c[j>>2]|0)-(c[f>>2]|0)|0;i=d>>2;if(d|0){if(i>>>0>1073741823)g1a(e);k=j0a(d)|0;c[l>>2]=k;c[e>>2]=k;c[g>>2]=k+(i<<2);e=c[f>>2]|0;d=(c[j>>2]|0)-e|0;if((d|0)>0){x2a(k|0,e|0,d|0)|0;c[l>>2]=k+(d>>>2<<2)}}e=a+80|0;f=b+80|0;c[e>>2]=0;l=a+84|0;c[l>>2]=0;g=a+88|0;c[g>>2]=0;j=b+84|0;d=(c[j>>2]|0)-(c[f>>2]|0)|0;i=d>>3;if(!d){a=a+92|0;b=b+92|0;b=c[b>>2]|0;c[a>>2]=b;return}if(i>>>0>536870911)g1a(e);k=j0a(d)|0;c[l>>2]=k;c[e>>2]=k;c[g>>2]=k+(i<<3);e=c[f>>2]|0;d=(c[j>>2]|0)-e|0;if((d|0)<=0){a=a+92|0;b=b+92|0;b=c[b>>2]|0;c[a>>2]=b;return}x2a(k|0,e|0,d|0)|0;c[l>>2]=k+(d>>>3<<3);a=a+92|0;b=b+92|0;b=c[b>>2]|0;c[a>>2]=b;return}function T7(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;h=a+4|0;i=c[a>>2]|0;j=(c[h>>2]|0)-i|0;e=(j|0)/24|0;d=e+1|0;if(d>>>0>178956970)g1a(a);k=a+8|0;f=((c[k>>2]|0)-i|0)/24|0;g=f<<1;g=f>>>0<89478485?(g>>>0<d>>>0?d:g):178956970;do if(g)if(g>>>0>178956970){k=db(8)|0;p0a(k,183738);c[k>>2]=110936;hb(k|0,65952,1066)}else{f=j0a(g*24|0)|0;break}else f=0;while(0);e=f+(e*24|0)|0;c[e>>2]=c[b>>2];c[e+4>>2]=c[b+4>>2];c[e+8>>2]=c[b+8>>2];c[e+12>>2]=c[b+12>>2];c[e+16>>2]=c[b+16>>2];c[e+20>>2]=c[b+20>>2];d=e+(((j|0)/-24|0)*24|0)|0;if((j|0)>0)x2a(d|0,i|0,j|0)|0;c[a>>2]=d;c[h>>2]=e+24;c[k>>2]=f+(g*24|0);if(!i)return;l0a(i);return}function U7(a){a=a|0;var b=0;b=c[a+36>>2]|0;if(!b)return;c[a+40>>2]=b;l0a(b);return}function V7(a){a=a|0;var b=0;b=c[a+36>>2]|0;if(!b){l0a(a);return}c[a+40>>2]=b;l0a(b);l0a(a);return}function W7(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;d=l;l=l+16|0;e=d;b=mr(lr(2)|0,161150,53)|0;BSa(e,b+(c[(c[b>>2]|0)+-12>>2]|0)|0);a=cUa(e,230580)|0;a=kk[c[(c[a>>2]|0)+28>>2]&511](a,10)|0;dUa(e);VSa(b,a)|0;HSa(b)|0;l=d;return}function X7(a,b,d){a=a|0;b=b|0;d=d|0;c[a+108>>2]=b;c[a+112>>2]=d;return}function Y7(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;d=l;l=l+16|0;e=d;b=mr(lr(2)|0,161096,53)|0;BSa(e,b+(c[(c[b>>2]|0)+-12>>2]|0)|0);a=cUa(e,230580)|0;a=kk[c[(c[a>>2]|0)+28>>2]&511](a,10)|0;dUa(e);VSa(b,a)|0;HSa(b)|0;l=d;return}function Z7(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;d=l;l=l+16|0;e=d;b=mr(lr(2)|0,161041,54)|0;BSa(e,b+(c[(c[b>>2]|0)+-12>>2]|0)|0);a=cUa(e,230580)|0;a=kk[c[(c[a>>2]|0)+28>>2]&511](a,10)|0;dUa(e);VSa(b,a)|0;HSa(b)|0;l=d;return}function _7(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;d=l;l=l+16|0;e=d;b=mr(lr(2)|0,160986,54)|0;BSa(e,b+(c[(c[b>>2]|0)+-12>>2]|0)|0);a=cUa(e,230580)|0;a=kk[c[(c[a>>2]|0)+28>>2]&511](a,10)|0;dUa(e);VSa(b,a)|0;HSa(b)|0;l=d;return}function $7(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;d=l;l=l+16|0;e=d;b=mr(lr(2)|0,160931,54)|0;BSa(e,b+(c[(c[b>>2]|0)+-12>>2]|0)|0);a=cUa(e,230580)|0;a=kk[c[(c[a>>2]|0)+28>>2]&511](a,10)|0;dUa(e);VSa(b,a)|0;HSa(b)|0;l=d;return}function a8(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;i=c[a+112>>2]|0;h=i;if((e|0)==0|(i|0)==0)return;do switch(b|0){case 4:{h=i+((e+d|0)*12|0)|0;if((e|0)<=0)return;g=a+4|0;f=a+8|0;b=i+(d*12|0)|0;do{M7(g,b,b+12|0,b+24|0);c[f>>2]=(c[f>>2]|0)+1;b=b+36|0}while(b>>>0<h>>>0);return}case 5:{if((e|0)<=2)return;h=a+4|0;g=a+8|0;b=i+(d*12|0)|0;f=2;do{if(!(f&1)){i=b+12|0;M7(h,b,i,b+24|0);b=i}else{i=b+12|0;M7(h,b,b+24|0,i);b=i}c[g>>2]=(c[g>>2]|0)+1;f=f+1|0}while((f|0)!=(e|0));return}case 7:{if((e|0)<=3)return;h=a+4|0;g=a+8|0;b=i+(d*12|0)|0;f=3;while(1){a=b+12|0;i=b+36|0;M7(h,b,a,i);M7(h,a,b+24|0,i);c[g>>2]=(c[g>>2]|0)+1;f=f+4|0;if((f|0)>=(e|0))break;else b=b+48|0}return}case 8:{if((e|0)<=3)return;h=a+4|0;g=a+8|0;b=i+(d*12|0)|0;f=3;do{a=b+12|0;i=b;b=b+24|0;M7(h,i,a,b);M7(h,a,i+36|0,b);c[g>>2]=(c[g>>2]|0)+1;f=f+2|0}while((f|0)<(e|0));return}case 6:case 9:{h=i+(d*12|0)|0;if((e|0)<=2)return;d=a+4|0;g=a+8|0;b=2;f=h+12|0;do{i=f;f=f+12|0;M7(d,h,i,f);c[g>>2]=(c[g>>2]|0)+1;b=b+1|0}while((b|0)!=(e|0));return}case 0:{b=i+((e+d|0)*12|0)|0;if((e|0)<=0)return;e=a+8|0;i=i+((d+1|0)*12|0)|0;c[e>>2]=(c[e>>2]|0)+((((i>>>0>b>>>0?i:b)+((0-d|0)*12|0)+~h|0)>>>0)/12|0)+1;return}case 1:{e=e+d+-1|0;b=i+(e*12|0)|0;if((e|0)<=(d|0))return;e=a+8|0;i=i+((d+2|0)*12|0)|0;c[e>>2]=(c[e>>2]|0)+((((b>>>0>i>>>0?b:i)+((0-d|0)*12|0)+~h|0)>>>0)/24|0)+1;return}case 3:{e=e+d+-1|0;b=i+(e*12|0)|0;if((e|0)<=(d|0))return;e=a+8|0;i=i+((d+1|0)*12|0)|0;c[e>>2]=(c[e>>2]|0)+((((b>>>0>i>>>0?b:i)+((0-d|0)*12|0)+~h|0)>>>0)/12|0)+1;return}case 11:{e=e+d+-2|0;b=i+(e*12|0)|0;if((d+1|0)>=(e|0))return;e=a+8|0;i=i+((d+2|0)*12|0)|0;c[e>>2]=(c[e>>2]|0)+((((b>>>0>i>>>0?b:i)+(~d*12|0)+~h|0)>>>0)/12|0)+1;return}case 2:{e=e+d+-1|0;f=i+(e*12|0)|0;g=a+8|0;b=c[g>>2]|0;if((e|0)>(d|0)){e=i+((d+1|0)*12|0)|0;b=b+((((f>>>0>e>>>0?f:e)+((0-d|0)*12|0)+~h|0)>>>0)/12|0)+1|0;c[g>>2]=b}c[g>>2]=b+1;return}default:return}while(0)}function b8(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;g8(a,b,c,d);return}function c8(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;f8(a,b,c,d);return}function d8(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;e8(a,b,c,d);return}function e8(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0;h=e;if((d|0)==0|(e|0)==0)return;do switch(b|0){case 4:{i=e+(d<<2)|0;if((d|0)<=0)return;h=a+4|0;g=a+112|0;f=a+8|0;b=e;do{d=c[g>>2]|0;M7(h,d+((c[b>>2]|0)*12|0)|0,d+((c[b+4>>2]|0)*12|0)|0,d+((c[b+8>>2]|0)*12|0)|0);c[f>>2]=(c[f>>2]|0)+1;b=b+12|0}while(b>>>0<i>>>0);return}case 5:{if((d|0)<=2)return;j=a+4|0;k=a+112|0;i=a+8|0;b=e;h=2;do{f=c[k>>2]|0;g=f+((c[b>>2]|0)*12|0)|0;if(!(h&1)){e=b+4|0;M7(j,g,f+((c[e>>2]|0)*12|0)|0,f+((c[b+8>>2]|0)*12|0)|0);b=e}else{e=b+4|0;M7(j,g,f+((c[b+8>>2]|0)*12|0)|0,f+((c[e>>2]|0)*12|0)|0);b=e}c[i>>2]=(c[i>>2]|0)+1;h=h+1|0}while((h|0)!=(d|0));return}case 7:{if((d|0)<=3)return;h=a+4|0;i=a+112|0;g=a+8|0;b=e;f=3;while(1){j=c[i>>2]|0;k=j+((c[b+4>>2]|0)*12|0)|0;a=j+((c[b+8>>2]|0)*12|0)|0;e=j+((c[b+12>>2]|0)*12|0)|0;M7(h,j+((c[b>>2]|0)*12|0)|0,k,e);M7(h,k,a,e);c[g>>2]=(c[g>>2]|0)+1;f=f+4|0;if((f|0)>=(d|0))break;else b=b+16|0}return}case 8:{if((d|0)<=3)return;h=a+4|0;i=a+112|0;g=a+8|0;b=e;f=3;do{l=c[i>>2]|0;k=l+((c[b+4>>2]|0)*12|0)|0;a=l+((c[b+12>>2]|0)*12|0)|0;j=b;b=b+8|0;e=l+((c[b>>2]|0)*12|0)|0;M7(h,l+((c[j>>2]|0)*12|0)|0,k,e);M7(h,k,a,e);c[g>>2]=(c[g>>2]|0)+1;f=f+2|0}while((f|0)<(d|0));return}case 6:case 9:{h=a+112|0;f=c[h>>2]|0;i=f+((c[e>>2]|0)*12|0)|0;if((d|0)<=2)return;j=a+4|0;g=a+8|0;b=e+8|0;M7(j,i,f+((c[e+4>>2]|0)*12|0)|0,f+((c[b>>2]|0)*12|0)|0);c[g>>2]=(c[g>>2]|0)+1;if((d|0)==3)return;f=3;do{l=c[h>>2]|0;e=b;b=b+4|0;M7(j,i,l+((c[e>>2]|0)*12|0)|0,l+((c[b>>2]|0)*12|0)|0);c[g>>2]=(c[g>>2]|0)+1;f=f+1|0}while((f|0)!=(d|0));return}case 0:{b=e+(d<<2)|0;if((d|0)<=0)return;l=a+8|0;d=e+4|0;c[l>>2]=(c[l>>2]|0)+(((b>>>0>d>>>0?b:d)+~h|0)>>>2)+1;return}case 1:{b=e+(d+-1<<2)|0;if((d|0)<=1)return;l=a+8|0;d=e+8|0;c[l>>2]=(c[l>>2]|0)+(((b>>>0>d>>>0?b:d)+~h|0)>>>3)+1;return}case 3:{b=e+(d+-1<<2)|0;if((d|0)<=1)return;l=a+8|0;d=e+4|0;c[l>>2]=(c[l>>2]|0)+(((b>>>0>d>>>0?b:d)+~h|0)>>>2)+1;return}case 11:{b=e+(d+-2<<2)|0;if((d|0)<=3)return;l=a+8|0;d=e+8|0;c[l>>2]=(c[l>>2]|0)+(((b>>>0>d>>>0?b:d)+-4+~h|0)>>>2)+1;return}case 2:{f=e+(d+-1<<2)|0;g=a+8|0;b=c[g>>2]|0;if((d|0)>1){l=e+4|0;b=b+(((f>>>0>l>>>0?f:l)+~h|0)>>>2)+1|0;c[g>>2]=b}c[g>>2]=b+1;return}default:return}while(0)}function f8(a,b,d,f){a=a|0;b=b|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0;i=f;if((d|0)==0|(f|0)==0)return;do switch(b|0){case 4:{j=f+(d<<1)|0;if((d|0)<=0)return;i=a+4|0;h=a+112|0;g=a+8|0;b=f;do{d=c[h>>2]|0;M7(i,d+((e[b>>1]|0)*12|0)|0,d+((e[b+2>>1]|0)*12|0)|0,d+((e[b+4>>1]|0)*12|0)|0);c[g>>2]=(c[g>>2]|0)+1;b=b+6|0}while(b>>>0<j>>>0);return}case 5:{if((d|0)<=2)return;k=a+4|0;l=a+112|0;j=a+8|0;b=f;i=2;do{g=c[l>>2]|0;h=g+((e[b>>1]|0)*12|0)|0;if(!(i&1)){f=b+2|0;M7(k,h,g+((e[f>>1]|0)*12|0)|0,g+((e[b+4>>1]|0)*12|0)|0);b=f}else{f=b+2|0;M7(k,h,g+((e[b+4>>1]|0)*12|0)|0,g+((e[f>>1]|0)*12|0)|0);b=f}c[j>>2]=(c[j>>2]|0)+1;i=i+1|0}while((i|0)!=(d|0));return}case 7:{if((d|0)<=3)return;i=a+4|0;j=a+112|0;h=a+8|0;b=f;g=3;while(1){k=c[j>>2]|0;l=k+((e[b+2>>1]|0)*12|0)|0;a=k+((e[b+4>>1]|0)*12|0)|0;f=k+((e[b+6>>1]|0)*12|0)|0;M7(i,k+((e[b>>1]|0)*12|0)|0,l,f);M7(i,l,a,f);c[h>>2]=(c[h>>2]|0)+1;g=g+4|0;if((g|0)>=(d|0))break;else b=b+8|0}return}case 8:{if((d|0)<=3)return;i=a+4|0;j=a+112|0;h=a+8|0;b=f;g=3;do{m=c[j>>2]|0;l=m+((e[b+2>>1]|0)*12|0)|0;a=m+((e[b+6>>1]|0)*12|0)|0;k=b;b=b+4|0;f=m+((e[b>>1]|0)*12|0)|0;M7(i,m+((e[k>>1]|0)*12|0)|0,l,f);M7(i,l,a,f);c[h>>2]=(c[h>>2]|0)+1;g=g+2|0}while((g|0)<(d|0));return}case 6:case 9:{i=a+112|0;g=c[i>>2]|0;j=g+((e[f>>1]|0)*12|0)|0;if((d|0)<=2)return;k=a+4|0;h=a+8|0;b=f+4|0;M7(k,j,g+((e[f+2>>1]|0)*12|0)|0,g+((e[b>>1]|0)*12|0)|0);c[h>>2]=(c[h>>2]|0)+1;if((d|0)==3)return;g=3;do{m=c[i>>2]|0;f=b;b=b+2|0;M7(k,j,m+((e[f>>1]|0)*12|0)|0,m+((e[b>>1]|0)*12|0)|0);c[h>>2]=(c[h>>2]|0)+1;g=g+1|0}while((g|0)!=(d|0));return}case 0:{b=f+(d<<1)|0;if((d|0)<=0)return;m=a+8|0;d=f+2|0;c[m>>2]=(c[m>>2]|0)+(((b>>>0>d>>>0?b:d)+~i|0)>>>1)+1;return}case 1:{b=f+(d+-1<<1)|0;if((d|0)<=1)return;m=a+8|0;d=f+4|0;c[m>>2]=(c[m>>2]|0)+(((b>>>0>d>>>0?b:d)+~i|0)>>>2)+1;return}case 3:{b=f+(d+-1<<1)|0;if((d|0)<=1)return;m=a+8|0;d=f+2|0;c[m>>2]=(c[m>>2]|0)+(((b>>>0>d>>>0?b:d)+~i|0)>>>1)+1;return}case 11:{b=f+(d+-2<<1)|0;if((d|0)<=3)return;m=a+8|0;d=f+4|0;c[m>>2]=(c[m>>2]|0)+(((b>>>0>d>>>0?b:d)+-2+~i|0)>>>1)+1;return}case 2:{g=f+(d+-1<<1)|0;h=a+8|0;b=c[h>>2]|0;if((d|0)>1){m=f+2|0;b=b+(((g>>>0>m>>>0?g:m)+~i|0)>>>1)+1|0;c[h>>2]=b}c[h>>2]=b+1;return}default:return}while(0)}function g8(a,b,e,f){a=a|0;b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0;i=f;if((e|0)==0|(f|0)==0)return;do switch(b|0){case 4:{j=f+e|0;if((e|0)<=0)return;i=a+4|0;h=a+112|0;g=a+8|0;b=f;do{e=c[h>>2]|0;M7(i,e+((d[b>>0]|0)*12|0)|0,e+((d[b+1>>0]|0)*12|0)|0,e+((d[b+2>>0]|0)*12|0)|0);c[g>>2]=(c[g>>2]|0)+1;b=b+3|0}while(b>>>0<j>>>0);return}case 5:{if((e|0)<=2)return;k=a+4|0;l=a+112|0;j=a+8|0;b=f;i=2;do{g=c[l>>2]|0;h=g+((d[b>>0]|0)*12|0)|0;if(!(i&1)){f=b+1|0;M7(k,h,g+((d[f>>0]|0)*12|0)|0,g+((d[b+2>>0]|0)*12|0)|0);b=f}else{f=b+1|0;M7(k,h,g+((d[b+2>>0]|0)*12|0)|0,g+((d[f>>0]|0)*12|0)|0);b=f}c[j>>2]=(c[j>>2]|0)+1;i=i+1|0}while((i|0)!=(e|0));return}case 7:{if((e|0)<=3)return;i=a+4|0;j=a+112|0;h=a+8|0;b=f;g=3;while(1){k=c[j>>2]|0;l=k+((d[b+1>>0]|0)*12|0)|0;a=k+((d[b+2>>0]|0)*12|0)|0;f=k+((d[b+3>>0]|0)*12|0)|0;M7(i,k+((d[b>>0]|0)*12|0)|0,l,f);M7(i,l,a,f);c[h>>2]=(c[h>>2]|0)+1;g=g+4|0;if((g|0)>=(e|0))break;else b=b+4|0}return}case 8:{if((e|0)<=3)return;i=a+4|0;j=a+112|0;h=a+8|0;b=f;g=3;do{m=c[j>>2]|0;l=m+((d[b+1>>0]|0)*12|0)|0;a=m+((d[b+3>>0]|0)*12|0)|0;k=b;b=b+2|0;f=m+((d[b>>0]|0)*12|0)|0;M7(i,m+((d[k>>0]|0)*12|0)|0,l,f);M7(i,l,a,f);c[h>>2]=(c[h>>2]|0)+1;g=g+2|0}while((g|0)<(e|0));return}case 6:case 9:{i=a+112|0;g=c[i>>2]|0;j=g+((d[f>>0]|0)*12|0)|0;if((e|0)<=2)return;k=a+4|0;h=a+8|0;b=f+2|0;M7(k,j,g+((d[f+1>>0]|0)*12|0)|0,g+((d[b>>0]|0)*12|0)|0);c[h>>2]=(c[h>>2]|0)+1;if((e|0)==3)return;g=3;do{m=c[i>>2]|0;f=b;b=b+1|0;M7(k,j,m+((d[f>>0]|0)*12|0)|0,m+((d[b>>0]|0)*12|0)|0);c[h>>2]=(c[h>>2]|0)+1;g=g+1|0}while((g|0)!=(e|0));return}case 0:{b=f+e|0;if((e|0)<=0)return;m=a+8|0;e=f+1|0;c[m>>2]=(b>>>0>e>>>0?b:e)+((c[m>>2]|0)-i);return}case 1:{b=f+(e+-1)|0;if((e|0)<=1)return;m=a+8|0;e=f+2|0;c[m>>2]=(c[m>>2]|0)+(((b>>>0>e>>>0?b:e)+~i|0)>>>1)+1;return}case 3:{b=f+(e+-1)|0;if((e|0)<=1)return;m=a+8|0;e=f+1|0;c[m>>2]=(b>>>0>e>>>0?b:e)+((c[m>>2]|0)-i);return}case 11:{b=f+(e+-2)|0;if((e|0)<=3)return;m=a+8|0;e=f+2|0;c[m>>2]=(b>>>0>e>>>0?b:e)+((c[m>>2]|0)+-1-i);return}case 2:{g=f+(e+-1)|0;h=a+8|0;b=c[h>>2]|0;if((e|0)>1){m=f+1|0;b=(g>>>0>m>>>0?g:m)+(b-i)|0;c[h>>2]=b}c[h>>2]=b+1;return}default:return}while(0)}function h8(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var i=0,j=0,k=0,m=0,n=0.0,o=0.0,p=0.0,q=0.0,r=0.0,s=0,t=0,u=0,v=0.0,w=0.0,x=0,y=0,z=0.0,A=0.0,C=0.0,D=0.0,E=0.0,F=0.0,G=0.0,H=0.0,I=0.0,J=0.0,K=0.0,L=0.0,M=0.0,N=0.0,O=0.0,P=0.0,Q=0.0,R=0.0,S=0.0,T=0.0,U=0.0,V=0.0,W=0.0,X=0.0,Y=0.0,Z=0.0,_=0.0,$=0.0,aa=0.0,ba=0.0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0;ha=l;l=l+128|0;ca=ha+112|0;da=ha+104|0;fa=ha+96|0;ga=ha;ea=ha+120|0;i=c[b>>2]|0;if(a[i+16>>0]|0?a[b+184>>0]|0:0){l=ha;return}$=+g[d>>2];aa=+g[d+4>>2];ba=+g[d+8>>2];V=+h[b+8>>3];I=V-$;W=+h[b+16>>3];J=W-aa;X=+h[b+24>>3];K=X-ba;L=+g[f>>2]-$;M=+g[f+4>>2]-aa;N=+g[f+8>>2]-ba;Y=L;Z=M;_=N;$=+g[e>>2]-$;aa=+g[e+4>>2]-aa;ba=+g[e+8>>2]-ba;O=+h[b+80>>3];P=+h[b+88>>3];C=O*_-P*Z;Q=+h[b+72>>3];D=P*Y-Q*_;E=Q*Z-O*Y;R=E*ba+(C*$+D*aa);if(R>1.0e-10){o=K*E+(I*C+J*D);if(((!(o<0.0|o>R)?(S=J*ba-K*aa,T=K*$-I*ba,U=I*aa-J*$,Q=P*U+(Q*S+O*T),F=Q,!(Q<0.0|R<F|o+F>R)):0)?(G=1.0/R,r=G*(N*U+(L*S+M*T)),!(r<0.0)):0)?(n=+h[b+96>>3],!(r>n)):0){U=o*G;q=G*F;o=q;p=U;q=1.0-U-q;j=15}}else if((((R<-1.0e-10?(o=K*E+(I*C+J*D),!(o>0.0|o<R)):0)?(p=J*ba-K*aa,q=K*$-I*ba,v=I*aa-J*$,w=P*v+(Q*p+O*q),!(w>0.0|w<R|w+o<R)):0)?(z=1.0/R,A=(v*_+(p*Y+q*Z))*z,!(A<0.0)):0)?(H=+h[b+96>>3],!(A>H)):0){U=o*z;q=w*z;r=A;n=H;o=q;p=U;q=1.0-U-q;j=15}if((j|0)==15){h[ca>>3]=q;h[da>>3]=p;h[fa>>3]=o;j=c[i>>2]|0;U=+h[j+32>>3];w=V-U;v=+h[j+40>>3];p=W-v;o=+h[j+48>>3];W=X-o;W=r*+h[b+104>>3]*n+ +B(+(w*w+p*p+W*W));r=+h[j+56>>3];X=r-U;p=+h[j+64>>3];w=p-v;q=+h[j+72>>3];n=q-o;n=W/+B(+(X*X+w*w+n*n));w=1.0-n;r=r*n+U*w;v=p*n+v*w;w=q*n+o*w;o=_*aa-Z*ba;q=Y*ba-_*$;p=Z*$-Y*aa;ba=+B(+(p*p+(o*o+q*q)));j=ba>0.0;ba=1.0/ba;o=j?o*ba:o;q=j?q*ba:q;p=j?p*ba:p;j=ga+8|0;c[j>>2]=0;c[j+4>>2]=0;c[j+8>>2]=0;c[j+12>>2]=0;c[j+16>>2]=0;j=ga+32|0;k=j+64|0;do{c[j>>2]=0;j=j+4|0}while((j|0)<(k|0));h[ga>>3]=n;j=c[i+4>>2]|0;if((c[j+120>>2]|0)!=0?(m=c[(c[j+112>>2]|0)+8>>2]|0,(m|0)!=0):0){c[ga+24>>2]=m;i=m+8|0;c[i>>2]=(c[i>>2]|0)+1;i=c[b>>2]|0}j=c[i+4>>2]|0;k=j+28|0;m=ga+8|0;if((m|0)!=(k|0)){gA(m,c[k>>2]|0,c[j+32>>2]|0);i=c[b>>2]|0}i=c[i+8>>2]|0;j=ga+20|0;k=c[j>>2]|0;if((k|0)!=(i|0)){c[j>>2]=i;if(i|0){y=i+8|0;c[y>>2]=(c[y>>2]|0)+1}if(k|0?(x=k+8|0,y=c[x>>2]|0,c[x>>2]=y-1,(y|0)==1):0)UU(k,1,1)}c[ga+92>>2]=c[b+4>>2];h[ga+32>>3]=r;h[ga+40>>3]=v;h[ga+48>>3]=w;g[ga+56>>2]=o;g[ga+60>>2]=q;g[ga+64>>2]=p;i=c[(c[b>>2]|0)+12>>2]|0;do if(i|0){s=c[i+76>>2]|0;x=ga+68|0;y=ga+76|0;i=c[x>>2]|0;if((c[y>>2]|0)-i>>2>>>0<3){j=ga+72|0;k=(c[j>>2]|0)-i|0;m=j0a(12)|0;if((k|0)>0)x2a(m|0,i|0,k|0)|0;c[x>>2]=m;c[j>>2]=m+(k>>2<<2);c[y>>2]=m+12;if(i|0)l0a(i)}t=ga+80|0;u=ga+88|0;i=c[t>>2]|0;if((c[u>>2]|0)-i>>3>>>0<3){j=ga+84|0;k=(c[j>>2]|0)-i|0;m=j0a(24)|0;if((k|0)>0)x2a(m|0,i|0,k|0)|0;c[t>>2]=m;c[j>>2]=m+(k>>3<<3);c[u>>2]=m+24;if(i|0)l0a(i)}do if(+h[ca>>3]!=0.0){i=(d-s|0)/12|0;c[ea>>2]=i;j=ga+72|0;k=c[j>>2]|0;if(k>>>0<(c[y>>2]|0)>>>0){c[k>>2]=i;c[j>>2]=k+4}else JJ(x,ea);i=ga+84|0;j=c[i>>2]|0;if((j|0)==(c[u>>2]|0)){VU(t,ca);break}else{h[j>>3]=+h[ca>>3];c[i>>2]=j+8;break}}while(0);do if(+h[da>>3]!=0.0){i=(e-s|0)/12|0;c[ea>>2]=i;j=ga+72|0;k=c[j>>2]|0;if(k>>>0<(c[y>>2]|0)>>>0){c[k>>2]=i;c[j>>2]=k+4}else JJ(x,ea);i=ga+84|0;j=c[i>>2]|0;if((j|0)==(c[u>>2]|0)){VU(t,da);break}else{h[j>>3]=+h[da>>3];c[i>>2]=j+8;break}}while(0);if(+h[fa>>3]!=0.0){i=(f-s|0)/12|0;c[ea>>2]=i;j=ga+72|0;k=c[j>>2]|0;if(k>>>0<(c[y>>2]|0)>>>0){c[k>>2]=i;c[j>>2]=k+4}else JJ(x,ea);i=ga+84|0;j=c[i>>2]|0;if((j|0)==(c[u>>2]|0)){VU(t,fa);break}else{h[j>>3]=+h[fa>>3];c[i>>2]=j+8;break}}}while(0);ea=c[c[b>>2]>>2]|0;fa=c[ea+28>>2]|0;Q7(((fa|0)==0?ea:fa)+80|0,ga)|0;a[b+184>>0]=1;R7(ga)}l=ha;return}function i8(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,i=0.0,j=0.0,k=0.0,m=0.0,n=0.0,o=0.0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0.0;v=l;l=l+48|0;r=v;s=a+56|0;t=a+60|0;u=c[t>>2]|0;d=r;e=u+-48|0;f=d+48|0;do{c[d>>2]=c[e>>2];d=d+4|0;e=e+4|0}while((d|0)<(f|0));i=+h[r>>3];q=r+24|0;m=+h[q>>3];k=+g[b>>2];if(!(i<=m)){if(i<k){u=0;l=v;return u|0}j=+g[b+12>>2];if(m>j){u=0;l=v;return u|0}if(m<k){m=k-i;n=m*+h[a+120>>3]+ +h[r+8>>3];o=m*+h[a+128>>3]+ +h[r+16>>3];h[q>>3]=i+m*+h[a+112>>3];h[r+32>>3]=n;h[r+40>>3]=o}if(i>j){o=j-i;i=i+o*+h[a+112>>3];f=r+8|0;n=o*+h[a+120>>3]+ +h[f>>3];p=r+16|0;o=o*+h[a+128>>3]+ +h[p>>3];h[r>>3]=i;h[f>>3]=n;h[p>>3]=o}}else{if(m<k){u=0;l=v;return u|0}j=+g[b+12>>2];if(i>j){u=0;l=v;return u|0}if(i<k){o=k-i;i=i+o*+h[a+112>>3];f=r+8|0;n=o*+h[a+120>>3]+ +h[f>>3];p=r+16|0;o=o*+h[a+128>>3]+ +h[p>>3];h[r>>3]=i;h[f>>3]=n;h[p>>3]=o}if(m>j){m=j-i;n=m*+h[a+120>>3]+ +h[r+8>>3];o=m*+h[a+128>>3]+ +h[r+16>>3];h[q>>3]=i+ +h[a+112>>3]*m;h[r+32>>3]=n;h[r+40>>3]=o}}f=r+8|0;j=+h[f>>3];p=r+32|0;n=+h[p>>3];m=+g[b+4>>2];if(!(j<=n)){if(j<m){u=0;l=v;return u|0}k=+g[b+16>>2];if(n>k){u=0;l=v;return u|0}if(n<m){m=m-j;n=j+m*+h[a+144>>3];o=m*+h[a+152>>3]+ +h[r+16>>3];h[q>>3]=m*+h[a+136>>3]+i;h[p>>3]=n;h[r+40>>3]=o}if(j>k){o=k-j;i=o*+h[a+136>>3]+i;j=j+o*+h[a+144>>3];e=r+16|0;o=o*+h[a+152>>3]+ +h[e>>3];h[r>>3]=i;h[f>>3]=j;h[e>>3]=o}}else{if(n<m){u=0;l=v;return u|0}k=+g[b+16>>2];if(j>k){u=0;l=v;return u|0}if(j<m){o=m-j;i=o*+h[a+136>>3]+i;j=j+o*+h[a+144>>3];e=r+16|0;o=o*+h[a+152>>3]+ +h[e>>3];h[r>>3]=i;h[f>>3]=j;h[e>>3]=o}if(n>k){m=k-j;n=j+m*+h[a+144>>3];o=m*+h[a+152>>3]+ +h[r+16>>3];h[q>>3]=+h[a+136>>3]*m+i;h[p>>3]=n;h[r+40>>3]=o}}d=r+16|0;k=+h[d>>3];e=r+40|0;o=+h[e>>3];n=+g[b+8>>2];if(!(k<=o)){if(k<n){u=0;l=v;return u|0}m=+g[b+20>>2];if(o>m){u=0;l=v;return u|0}if(o<n){w=n-k;n=w*+h[a+168>>3]+j;o=k+w*+h[a+176>>3];h[q>>3]=w*+h[a+160>>3]+i;h[p>>3]=n;h[e>>3]=o}if(k>m){n=m-k;o=n*+h[a+168>>3]+j;w=k+n*+h[a+176>>3];h[r>>3]=n*+h[a+160>>3]+i;h[f>>3]=o;h[d>>3]=w}}else{if(o<n){u=0;l=v;return u|0}m=+g[b+20>>2];if(k>m){u=0;l=v;return u|0}if(k<n){w=n-k;i=w*+h[a+160>>3]+i;j=w*+h[a+168>>3]+j;k=k+w*+h[a+176>>3];h[r>>3]=i;h[f>>3]=j;h[d>>3]=k}if(o>m){n=m-k;o=n*+h[a+168>>3]+j;w=k+n*+h[a+176>>3];h[q>>3]=+h[a+160>>3]*n+i;h[p>>3]=o;h[e>>3]=w}}if((u|0)==(c[a+64>>2]|0)){j8(s,r);u=1;l=v;return u|0}else{d=u;e=r;f=d+48|0;do{c[d>>2]=c[e>>2];d=d+4|0;e=e+4|0}while((d|0)<(f|0));c[t>>2]=(c[t>>2]|0)+48;u=1;l=v;return u|0}return 0}function j8(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;i=a+4|0;j=c[a>>2]|0;k=(c[i>>2]|0)-j|0;e=(k|0)/48|0;d=e+1|0;if(d>>>0>89478485)g1a(a);l=a+8|0;h=((c[l>>2]|0)-j|0)/48|0;f=h<<1;f=h>>>0<44739242?(f>>>0<d>>>0?d:f):89478485;do if(f)if(f>>>0>89478485){l=db(8)|0;p0a(l,183738);c[l>>2]=110936;hb(l|0,65952,1066)}else{d=j0a(f*48|0)|0;break}else d=0;while(0);h=d+(e*48|0)|0;g=d+(f*48|0)|0;f=h;d=b;e=f+48|0;do{c[f>>2]=c[d>>2];f=f+4|0;d=d+4|0}while((f|0)<(e|0));d=h+(((k|0)/-48|0)*48|0)|0;if((k|0)>0)x2a(d|0,j|0,k|0)|0;c[a>>2]=d;c[i>>2]=h+48;c[l>>2]=g;if(!j)return;l0a(j);return}function k8(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;i=a+4|0;j=c[a>>2]|0;k=(c[i>>2]|0)-j|0;e=(k|0)/48|0;d=e+1|0;if(d>>>0>89478485)g1a(a);l=a+8|0;h=((c[l>>2]|0)-j|0)/48|0;f=h<<1;f=h>>>0<44739242?(f>>>0<d>>>0?d:f):89478485;do if(f)if(f>>>0>89478485){l=db(8)|0;p0a(l,183738);c[l>>2]=110936;hb(l|0,65952,1066)}else{d=j0a(f*48|0)|0;break}else d=0;while(0);h=d+(e*48|0)|0;g=d+(f*48|0)|0;f=h;d=b;e=f+48|0;do{c[f>>2]=c[d>>2];f=f+4|0;d=d+4|0}while((f|0)<(e|0));d=h+(((k|0)/-48|0)*48|0)|0;if((k|0)>0)x2a(d|0,j|0,k|0)|0;c[a>>2]=d;c[i>>2]=h+48;c[l>>2]=g;if(!j)return;l0a(j);return}function l8(a){a=a|0;var b=0;b=c[a+64>>2]|0;if(!b)return;c[a+68>>2]=b;l0a(b);return}function m8(a){a=a|0;var b=0;b=c[a+64>>2]|0;if(!b){l0a(a);return}c[a+68>>2]=b;l0a(b);l0a(a);return}function n8(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;d=l;l=l+16|0;e=d;b=mr(lr(2)|0,161150,53)|0;BSa(e,b+(c[(c[b>>2]|0)+-12>>2]|0)|0);a=cUa(e,230580)|0;a=kk[c[(c[a>>2]|0)+28>>2]&511](a,10)|0;dUa(e);VSa(b,a)|0;HSa(b)|0;l=d;return}function o8(a,b,d){a=a|0;b=b|0;d=d|0;c[a+196>>2]=b;c[a+200>>2]=d;return}function p8(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;d=l;l=l+16|0;e=d;b=mr(lr(2)|0,161096,53)|0;BSa(e,b+(c[(c[b>>2]|0)+-12>>2]|0)|0);a=cUa(e,230580)|0;a=kk[c[(c[a>>2]|0)+28>>2]&511](a,10)|0;dUa(e);VSa(b,a)|0;HSa(b)|0;l=d;return}function q8(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;d=l;l=l+16|0;e=d;b=mr(lr(2)|0,161041,54)|0;BSa(e,b+(c[(c[b>>2]|0)+-12>>2]|0)|0);a=cUa(e,230580)|0;a=kk[c[(c[a>>2]|0)+28>>2]&511](a,10)|0;dUa(e);VSa(b,a)|0;HSa(b)|0;l=d;return}function r8(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;d=l;l=l+16|0;e=d;b=mr(lr(2)|0,160986,54)|0;BSa(e,b+(c[(c[b>>2]|0)+-12>>2]|0)|0);a=cUa(e,230580)|0;a=kk[c[(c[a>>2]|0)+28>>2]&511](a,10)|0;dUa(e);VSa(b,a)|0;HSa(b)|0;l=d;return}function s8(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;d=l;l=l+16|0;e=d;b=mr(lr(2)|0,160931,54)|0;BSa(e,b+(c[(c[b>>2]|0)+-12>>2]|0)|0);a=cUa(e,230580)|0;a=kk[c[(c[a>>2]|0)+28>>2]&511](a,10)|0;dUa(e);VSa(b,a)|0;HSa(b)|0;l=d;return}function t8(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;i=c[a+200>>2]|0;h=i;if((e|0)==0|(i|0)==0)return;do switch(b|0){case 4:{h=i+((e+d|0)*12|0)|0;if((e|0)<=0)return;g=a+8|0;f=a+12|0;b=i+(d*12|0)|0;do{h8(g,b,b+12|0,b+24|0);c[f>>2]=(c[f>>2]|0)+1;b=b+36|0}while(b>>>0<h>>>0);return}case 5:{if((e|0)<=2)return;h=a+8|0;g=a+12|0;b=i+(d*12|0)|0;f=2;do{if(!(f&1)){i=b+12|0;h8(h,b,i,b+24|0);b=i}else{i=b+12|0;h8(h,b,b+24|0,i);b=i}c[g>>2]=(c[g>>2]|0)+1;f=f+1|0}while((f|0)!=(e|0));return}case 7:{if((e|0)<=3)return;h=a+8|0;g=a+12|0;b=i+(d*12|0)|0;f=3;while(1){a=b+12|0;i=b+36|0;h8(h,b,a,i);h8(h,a,b+24|0,i);c[g>>2]=(c[g>>2]|0)+1;f=f+4|0;if((f|0)>=(e|0))break;else b=b+48|0}return}case 8:{if((e|0)<=3)return;h=a+8|0;g=a+12|0;b=i+(d*12|0)|0;f=3;do{a=b+12|0;i=b;b=b+24|0;h8(h,i,a,b);h8(h,a,i+36|0,b);c[g>>2]=(c[g>>2]|0)+1;f=f+2|0}while((f|0)<(e|0));return}case 6:case 9:{h=i+(d*12|0)|0;if((e|0)<=2)return;d=a+8|0;g=a+12|0;b=2;f=h+12|0;do{i=f;f=f+12|0;h8(d,h,i,f);c[g>>2]=(c[g>>2]|0)+1;b=b+1|0}while((b|0)!=(e|0));return}case 0:{b=i+((e+d|0)*12|0)|0;if((e|0)<=0)return;e=a+12|0;i=i+((d+1|0)*12|0)|0;c[e>>2]=(c[e>>2]|0)+((((i>>>0>b>>>0?i:b)+((0-d|0)*12|0)+~h|0)>>>0)/12|0)+1;return}case 1:{e=e+d+-1|0;b=i+(e*12|0)|0;if((e|0)<=(d|0))return;e=a+12|0;i=i+((d+2|0)*12|0)|0;c[e>>2]=(c[e>>2]|0)+((((b>>>0>i>>>0?b:i)+((0-d|0)*12|0)+~h|0)>>>0)/24|0)+1;return}case 3:{e=e+d+-1|0;b=i+(e*12|0)|0;if((e|0)<=(d|0))return;e=a+12|0;i=i+((d+1|0)*12|0)|0;c[e>>2]=(c[e>>2]|0)+((((b>>>0>i>>>0?b:i)+((0-d|0)*12|0)+~h|0)>>>0)/12|0)+1;return}case 11:{e=e+d+-2|0;b=i+(e*12|0)|0;if((d+1|0)>=(e|0))return;e=a+12|0;i=i+((d+2|0)*12|0)|0;c[e>>2]=(c[e>>2]|0)+((((b>>>0>i>>>0?b:i)+(~d*12|0)+~h|0)>>>0)/12|0)+1;return}case 2:{e=e+d+-1|0;f=i+(e*12|0)|0;g=a+12|0;b=c[g>>2]|0;if((e|0)>(d|0)){e=i+((d+1|0)*12|0)|0;b=b+((((f>>>0>e>>>0?f:e)+((0-d|0)*12|0)+~h|0)>>>0)/12|0)+1|0;c[g>>2]=b}c[g>>2]=b+1;return}default:return}while(0)}function u8(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;z8(a,b,c,d);return}function v8(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;y8(a,b,c,d);return}function w8(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;x8(a,b,c,d);return}function x8(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0;h=e;if((d|0)==0|(e|0)==0)return;do switch(b|0){case 4:{i=e+(d<<2)|0;if((d|0)<=0)return;h=a+8|0;g=a+200|0;f=a+12|0;b=e;do{d=c[g>>2]|0;h8(h,d+((c[b>>2]|0)*12|0)|0,d+((c[b+4>>2]|0)*12|0)|0,d+((c[b+8>>2]|0)*12|0)|0);c[f>>2]=(c[f>>2]|0)+1;b=b+12|0}while(b>>>0<i>>>0);return}case 5:{if((d|0)<=2)return;j=a+8|0;k=a+200|0;i=a+12|0;b=e;h=2;do{f=c[k>>2]|0;g=f+((c[b>>2]|0)*12|0)|0;if(!(h&1)){e=b+4|0;h8(j,g,f+((c[e>>2]|0)*12|0)|0,f+((c[b+8>>2]|0)*12|0)|0);b=e}else{e=b+4|0;h8(j,g,f+((c[b+8>>2]|0)*12|0)|0,f+((c[e>>2]|0)*12|0)|0);b=e}c[i>>2]=(c[i>>2]|0)+1;h=h+1|0}while((h|0)!=(d|0));return}case 7:{if((d|0)<=3)return;h=a+8|0;i=a+200|0;g=a+12|0;b=e;f=3;while(1){j=c[i>>2]|0;k=j+((c[b+4>>2]|0)*12|0)|0;a=j+((c[b+8>>2]|0)*12|0)|0;e=j+((c[b+12>>2]|0)*12|0)|0;h8(h,j+((c[b>>2]|0)*12|0)|0,k,e);h8(h,k,a,e);c[g>>2]=(c[g>>2]|0)+1;f=f+4|0;if((f|0)>=(d|0))break;else b=b+16|0}return}case 8:{if((d|0)<=3)return;h=a+8|0;i=a+200|0;g=a+12|0;b=e;f=3;do{l=c[i>>2]|0;k=l+((c[b+4>>2]|0)*12|0)|0;a=l+((c[b+12>>2]|0)*12|0)|0;j=b;b=b+8|0;e=l+((c[b>>2]|0)*12|0)|0;h8(h,l+((c[j>>2]|0)*12|0)|0,k,e);h8(h,k,a,e);c[g>>2]=(c[g>>2]|0)+1;f=f+2|0}while((f|0)<(d|0));return}case 6:case 9:{h=a+200|0;f=c[h>>2]|0;i=f+((c[e>>2]|0)*12|0)|0;if((d|0)<=2)return;j=a+8|0;g=a+12|0;b=e+8|0;h8(j,i,f+((c[e+4>>2]|0)*12|0)|0,f+((c[b>>2]|0)*12|0)|0);c[g>>2]=(c[g>>2]|0)+1;if((d|0)==3)return;f=3;do{l=c[h>>2]|0;e=b;b=b+4|0;h8(j,i,l+((c[e>>2]|0)*12|0)|0,l+((c[b>>2]|0)*12|0)|0);c[g>>2]=(c[g>>2]|0)+1;f=f+1|0}while((f|0)!=(d|0));return}case 0:{b=e+(d<<2)|0;if((d|0)<=0)return;l=a+12|0;d=e+4|0;c[l>>2]=(c[l>>2]|0)+(((b>>>0>d>>>0?b:d)+~h|0)>>>2)+1;return}case 1:{b=e+(d+-1<<2)|0;if((d|0)<=1)return;l=a+12|0;d=e+8|0;c[l>>2]=(c[l>>2]|0)+(((b>>>0>d>>>0?b:d)+~h|0)>>>3)+1;return}case 3:{b=e+(d+-1<<2)|0;if((d|0)<=1)return;l=a+12|0;d=e+4|0;c[l>>2]=(c[l>>2]|0)+(((b>>>0>d>>>0?b:d)+~h|0)>>>2)+1;return}case 11:{b=e+(d+-2<<2)|0;if((d|0)<=3)return;l=a+12|0;d=e+8|0;c[l>>2]=(c[l>>2]|0)+(((b>>>0>d>>>0?b:d)+-4+~h|0)>>>2)+1;return}case 2:{f=e+(d+-1<<2)|0;g=a+12|0;b=c[g>>2]|0;if((d|0)>1){l=e+4|0;b=b+(((f>>>0>l>>>0?f:l)+~h|0)>>>2)+1|0;c[g>>2]=b}c[g>>2]=b+1;return}default:return}while(0)}function y8(a,b,d,f){a=a|0;b=b|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0;i=f;if((d|0)==0|(f|0)==0)return;do switch(b|0){case 4:{j=f+(d<<1)|0;if((d|0)<=0)return;i=a+8|0;h=a+200|0;g=a+12|0;b=f;do{d=c[h>>2]|0;h8(i,d+((e[b>>1]|0)*12|0)|0,d+((e[b+2>>1]|0)*12|0)|0,d+((e[b+4>>1]|0)*12|0)|0);c[g>>2]=(c[g>>2]|0)+1;b=b+6|0}while(b>>>0<j>>>0);return}case 5:{if((d|0)<=2)return;k=a+8|0;l=a+200|0;j=a+12|0;b=f;i=2;do{g=c[l>>2]|0;h=g+((e[b>>1]|0)*12|0)|0;if(!(i&1)){f=b+2|0;h8(k,h,g+((e[f>>1]|0)*12|0)|0,g+((e[b+4>>1]|0)*12|0)|0);b=f}else{f=b+2|0;h8(k,h,g+((e[b+4>>1]|0)*12|0)|0,g+((e[f>>1]|0)*12|0)|0);b=f}c[j>>2]=(c[j>>2]|0)+1;i=i+1|0}while((i|0)!=(d|0));return}case 7:{if((d|0)<=3)return;i=a+8|0;j=a+200|0;h=a+12|0;b=f;g=3;while(1){k=c[j>>2]|0;l=k+((e[b+2>>1]|0)*12|0)|0;a=k+((e[b+4>>1]|0)*12|0)|0;f=k+((e[b+6>>1]|0)*12|0)|0;h8(i,k+((e[b>>1]|0)*12|0)|0,l,f);h8(i,l,a,f);c[h>>2]=(c[h>>2]|0)+1;g=g+4|0;if((g|0)>=(d|0))break;else b=b+8|0}return}case 8:{if((d|0)<=3)return;i=a+8|0;j=a+200|0;h=a+12|0;b=f;g=3;do{m=c[j>>2]|0;l=m+((e[b+2>>1]|0)*12|0)|0;a=m+((e[b+6>>1]|0)*12|0)|0;k=b;b=b+4|0;f=m+((e[b>>1]|0)*12|0)|0;h8(i,m+((e[k>>1]|0)*12|0)|0,l,f);h8(i,l,a,f);c[h>>2]=(c[h>>2]|0)+1;g=g+2|0}while((g|0)<(d|0));return}case 6:case 9:{i=a+200|0;g=c[i>>2]|0;j=g+((e[f>>1]|0)*12|0)|0;if((d|0)<=2)return;k=a+8|0;h=a+12|0;b=f+4|0;h8(k,j,g+((e[f+2>>1]|0)*12|0)|0,g+((e[b>>1]|0)*12|0)|0);c[h>>2]=(c[h>>2]|0)+1;if((d|0)==3)return;g=3;do{m=c[i>>2]|0;f=b;b=b+2|0;h8(k,j,m+((e[f>>1]|0)*12|0)|0,m+((e[b>>1]|0)*12|0)|0);c[h>>2]=(c[h>>2]|0)+1;g=g+1|0}while((g|0)!=(d|0));return}case 0:{b=f+(d<<1)|0;if((d|0)<=0)return;m=a+12|0;d=f+2|0;c[m>>2]=(c[m>>2]|0)+(((b>>>0>d>>>0?b:d)+~i|0)>>>1)+1;return}case 1:{b=f+(d+-1<<1)|0;if((d|0)<=1)return;m=a+12|0;d=f+4|0;c[m>>2]=(c[m>>2]|0)+(((b>>>0>d>>>0?b:d)+~i|0)>>>2)+1;return}case 3:{b=f+(d+-1<<1)|0;if((d|0)<=1)return;m=a+12|0;d=f+2|0;c[m>>2]=(c[m>>2]|0)+(((b>>>0>d>>>0?b:d)+~i|0)>>>1)+1;return}case 11:{b=f+(d+-2<<1)|0;if((d|0)<=3)return;m=a+12|0;d=f+4|0;c[m>>2]=(c[m>>2]|0)+(((b>>>0>d>>>0?b:d)+-2+~i|0)>>>1)+1;return}case 2:{g=f+(d+-1<<1)|0;h=a+12|0;b=c[h>>2]|0;if((d|0)>1){m=f+2|0;b=b+(((g>>>0>m>>>0?g:m)+~i|0)>>>1)+1|0;c[h>>2]=b}c[h>>2]=b+1;return}default:return}while(0)}function z8(a,b,e,f){a=a|0;b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0;i=f;if((e|0)==0|(f|0)==0)return;do switch(b|0){case 4:{j=f+e|0;if((e|0)<=0)return;i=a+8|0;h=a+200|0;g=a+12|0;b=f;do{e=c[h>>2]|0;h8(i,e+((d[b>>0]|0)*12|0)|0,e+((d[b+1>>0]|0)*12|0)|0,e+((d[b+2>>0]|0)*12|0)|0);c[g>>2]=(c[g>>2]|0)+1;b=b+3|0}while(b>>>0<j>>>0);return}case 5:{if((e|0)<=2)return;k=a+8|0;l=a+200|0;j=a+12|0;b=f;i=2;do{g=c[l>>2]|0;h=g+((d[b>>0]|0)*12|0)|0;if(!(i&1)){f=b+1|0;h8(k,h,g+((d[f>>0]|0)*12|0)|0,g+((d[b+2>>0]|0)*12|0)|0);b=f}else{f=b+1|0;h8(k,h,g+((d[b+2>>0]|0)*12|0)|0,g+((d[f>>0]|0)*12|0)|0);b=f}c[j>>2]=(c[j>>2]|0)+1;i=i+1|0}while((i|0)!=(e|0));return}case 7:{if((e|0)<=3)return;i=a+8|0;j=a+200|0;h=a+12|0;b=f;g=3;while(1){k=c[j>>2]|0;l=k+((d[b+1>>0]|0)*12|0)|0;a=k+((d[b+2>>0]|0)*12|0)|0;f=k+((d[b+3>>0]|0)*12|0)|0;h8(i,k+((d[b>>0]|0)*12|0)|0,l,f);h8(i,l,a,f);c[h>>2]=(c[h>>2]|0)+1;g=g+4|0;if((g|0)>=(e|0))break;else b=b+4|0}return}case 8:{if((e|0)<=3)return;i=a+8|0;j=a+200|0;h=a+12|0;b=f;g=3;do{m=c[j>>2]|0;l=m+((d[b+1>>0]|0)*12|0)|0;a=m+((d[b+3>>0]|0)*12|0)|0;k=b;b=b+2|0;f=m+((d[b>>0]|0)*12|0)|0;h8(i,m+((d[k>>0]|0)*12|0)|0,l,f);h8(i,l,a,f);c[h>>2]=(c[h>>2]|0)+1;g=g+2|0}while((g|0)<(e|0));return}case 6:case 9:{i=a+200|0;g=c[i>>2]|0;j=g+((d[f>>0]|0)*12|0)|0;if((e|0)<=2)return;k=a+8|0;h=a+12|0;b=f+2|0;h8(k,j,g+((d[f+1>>0]|0)*12|0)|0,g+((d[b>>0]|0)*12|0)|0);c[h>>2]=(c[h>>2]|0)+1;if((e|0)==3)return;g=3;do{m=c[i>>2]|0;f=b;b=b+1|0;h8(k,j,m+((d[f>>0]|0)*12|0)|0,m+((d[b>>0]|0)*12|0)|0);c[h>>2]=(c[h>>2]|0)+1;g=g+1|0}while((g|0)!=(e|0));return}case 0:{b=f+e|0;if((e|0)<=0)return;m=a+12|0;e=f+1|0;c[m>>2]=(b>>>0>e>>>0?b:e)+((c[m>>2]|0)-i);return}case 1:{b=f+(e+-1)|0;if((e|0)<=1)return;m=a+12|0;e=f+2|0;c[m>>2]=(c[m>>2]|0)+(((b>>>0>e>>>0?b:e)+~i|0)>>>1)+1;return}case 3:{b=f+(e+-1)|0;if((e|0)<=1)return;m=a+12|0;e=f+1|0;c[m>>2]=(b>>>0>e>>>0?b:e)+((c[m>>2]|0)-i);return}case 11:{b=f+(e+-2)|0;if((e|0)<=3)return;m=a+12|0;e=f+2|0;c[m>>2]=(b>>>0>e>>>0?b:e)+((c[m>>2]|0)+-1-i);return}case 2:{g=f+(e+-1)|0;h=a+12|0;b=c[h>>2]|0;if((e|0)>1){m=f+1|0;b=(g>>>0>m>>>0?g:m)+(b-i)|0;c[h>>2]=b}c[h>>2]=b+1;return}default:return}while(0)}function A8(a,b){a=a|0;b=b|0;if(!b)return;else{A8(a,c[b>>2]|0);A8(a,c[b+4>>2]|0);R7(b+16|0);l0a(b);return}}function B8(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0.0,f=0.0,i=0.0,j=0.0,k=0.0,l=0.0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0.0,s=0,t=0,u=0.0,v=0.0,w=0.0,x=0.0,y=0.0,z=0.0,A=0.0,B=0.0,C=0.0,D=0.0,E=0.0,F=0.0,G=0.0,H=0.0,I=0.0,J=0.0;i=+g[d>>2];u=+g[d+4>>2];E=+g[d+8>>2];r=+g[d+12>>2];D=+g[d+16>>2];J=+g[d+20>>2];e=+h[b>>3];f=+h[c>>3];if(!(e<=f)){if(e<i|f>r){c=0;return c|0}if(f<i?(l=e-f,m=(i-f)/l+-1.0e-05,m>0.0):0){s=c+8|0;q=+h[s>>3];t=c+16|0;e=+h[t>>3];f=f+l*m;q=q+m*(+h[b+8>>3]-q);e=e+m*(+h[b+16>>3]-e);h[c>>3]=f;h[s>>3]=q;h[t>>3]=e;e=+h[b>>3]}if(e>r?(n=e-f,o=(r-f)/n+1.0e-05,o<1.0):0){s=b+8|0;q=+h[c+8>>3];t=b+16|0;r=+h[c+16>>3];q=q+o*(+h[s>>3]-q);r=r+o*(+h[t>>3]-r);h[b>>3]=f+n*o;h[s>>3]=q;h[t>>3]=r}}else{if(e>r|f<i){c=0;return c|0}if(e<i?(j=f-e,k=(i-e)/j+-1.0e-05,k>0.0):0){s=b+8|0;o=+h[s>>3];t=b+16|0;f=+h[t>>3];e=e+j*k;o=o+k*(+h[c+8>>3]-o);f=f+k*(+h[c+16>>3]-f);h[b>>3]=e;h[s>>3]=o;h[t>>3]=f;f=+h[c>>3]}if(f>r?(p=f-e,q=(r-e)/p+1.0e-05,q<1.0):0){s=c+8|0;o=+h[b+8>>3];t=c+16|0;r=+h[b+16>>3];o=o+q*(+h[s>>3]-o);r=r+q*(+h[t>>3]-r);h[c>>3]=e+p*q;h[s>>3]=o;h[t>>3]=r}}s=b+8|0;e=+h[s>>3];t=c+8|0;f=+h[t>>3];if(!(e<=f)){if(e<u|f>D){c=0;return c|0}if(f<u?(x=e-f,y=(u-f)/x+-1.0e-05,y>0.0):0){A=+h[c>>3];d=c+16|0;e=+h[d>>3];f=f+x*y;e=e+y*(+h[b+16>>3]-e);h[c>>3]=A+y*(+h[b>>3]-A);h[t>>3]=f;h[d>>3]=e;e=+h[s>>3]}if(e>D?(B=e-f,C=(D-f)/B+1.0e-05,C<1.0):0){A=+h[c>>3];d=b+16|0;D=+h[c+16>>3];D=D+C*(+h[d>>3]-D);h[b>>3]=A+C*(+h[b>>3]-A);h[s>>3]=f+B*C;h[d>>3]=D}}else{if(e>D|f<u){c=0;return c|0}if(e<u?(v=f-e,w=(u-e)/v+-1.0e-05,w>0.0):0){C=+h[b>>3];d=b+16|0;f=+h[d>>3];e=e+v*w;f=f+w*(+h[c+16>>3]-f);h[b>>3]=C+w*(+h[c>>3]-C);h[s>>3]=e;h[d>>3]=f;f=+h[t>>3]}if(f>D?(z=f-e,A=(D-e)/z+1.0e-05,A<1.0):0){C=+h[b>>3];d=c+16|0;D=+h[b+16>>3];D=D+A*(+h[d>>3]-D);h[c>>3]=C+A*(+h[c>>3]-C);h[t>>3]=e+z*A;h[d>>3]=D}}a=b+16|0;f=+h[a>>3];d=c+16|0;e=+h[d>>3];if(!(f<=e)){if(f<E|e>J){c=0;return c|0}if(e<E?(H=f-e,I=(E-e)/H+-1.0e-05,I>0.0):0){G=+h[c>>3];f=+h[t>>3];f=f+I*(+h[s>>3]-f);i=e+H*I;h[c>>3]=G+I*(+h[b>>3]-G);h[t>>3]=f;h[d>>3]=i;f=+h[a>>3]}else i=e;if(!(f>J)){c=1;return c|0}f=f-i;e=(J-i)/f+1.0e-05;if(!(e<1.0)){c=1;return c|0}I=+h[c>>3];J=+h[t>>3];J=J+e*(+h[s>>3]-J);h[b>>3]=I+e*(+h[b>>3]-I);h[s>>3]=J;h[a>>3]=i+f*e;c=1;return c|0}else{if(f>J|e<E){c=0;return c|0}if(f<E?(F=e-f,G=(E-f)/F+-1.0e-05,G>0.0):0){I=+h[b>>3];e=+h[s>>3];e=e+G*(+h[t>>3]-e);i=f+F*G;h[b>>3]=I+G*(+h[c>>3]-I);h[s>>3]=e;h[a>>3]=i;e=+h[d>>3]}else i=f;if(!(e>J)){c=1;return c|0}f=e-i;e=(J-i)/f+1.0e-05;if(!(e<1.0)){c=1;return c|0}I=+h[b>>3];J=+h[s>>3];J=J+e*(+h[t>>3]-J);h[c>>3]=I+e*(+h[c>>3]-I);h[t>>3]=J;h[d>>3]=i+f*e;c=1;return c|0}return 0}function C8(a,b){a=a|0;b=b|0;var d=0.0,e=0.0,f=0.0,i=0.0,j=0.0,k=0.0,l=0.0,m=0.0,n=0.0,o=0,p=0.0,q=0.0;p=+g[b+12>>2];if(!(p>=0.0)){a=1;return a|0}d=+h[a+32>>3];j=d-+g[b>>2];e=+h[a+40>>3];k=e-+g[b+4>>2];f=+h[a+48>>3];i=f-+g[b+8>>2];n=j*j+k*k+i*i;l=n-p*p;if(l<0.0){a=1;return a|0}q=+h[a+56>>3]-d;d=+h[a+64>>3]-e;f=+h[a+72>>3]-f;m=q*q+d*d+f*f;f=(j*q+k*d+i*f)*2.0;d=f*f-l*(m*4.0);if(d<0.0){a=0;return a|0}d=+B(+d);q=1.0/(m*2.0);e=q*(-f-d);d=q*(d-f);if(e<=0.0&d<=0.0){a=0;return a|0}if(e>=1.0&d>=1.0){a=0;return a|0}if(((c[a+16>>2]|0)==3?(o=c[a+28>>2]|0,o=(o|0)==0?a:o,c[o+88>>2]|0):0)?(q=(+B(+n)-p)/+B(+m),q>=+h[(c[o+80>>2]|0)+16>>3]):0){a=0;return a|0}a=1;return a|0}function D8(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=l;l=l+128|0;i=s;Qra(i);switch(d|0){case 0:{if(c[b+84>>2]|0?(e=c[(c[b+76>>2]|0)+8>>2]|0,e|0):0)Wra(i,e+32|0);if(c[b+96>>2]|0?(f=c[(c[b+88>>2]|0)+8>>2]|0,f|0):0)Wra(i,f+32|0);if(c[b+108>>2]|0?(g=c[(c[b+100>>2]|0)+8>>2]|0,g|0):0)Wra(i,g+32|0);if(c[b+120>>2]|0?(j=c[(c[b+112>>2]|0)+8>>2]|0,j|0):0)Wra(i,j+32|0);break}case 1:{if(c[b+96>>2]|0?(k=c[(c[b+88>>2]|0)+8>>2]|0,k|0):0)Wra(i,k+32|0);if(c[b+108>>2]|0?(m=c[(c[b+100>>2]|0)+8>>2]|0,m|0):0)Wra(i,m+32|0);if(c[b+120>>2]|0?(n=c[(c[b+112>>2]|0)+8>>2]|0,n|0):0)Wra(i,n+32|0);break}case 2:{if(c[b+108>>2]|0?(o=c[(c[b+100>>2]|0)+8>>2]|0,o|0):0)Wra(i,o+32|0);if(c[b+120>>2]|0?(p=c[(c[b+112>>2]|0)+8>>2]|0,p|0):0)Wra(i,p+32|0);break}case 3:{if((c[b+120>>2]|0?(q=c[(c[b+112>>2]|0)+8>>2]|0,q|0):0)?(r=q+32|0,(r|0)!=(i|0)):0){h[i>>3]=+h[r>>3];h[i+8>>3]=+h[q+40>>3];h[i+16>>3]=+h[q+48>>3];h[i+24>>3]=+h[q+56>>3];h[i+32>>3]=+h[q+64>>3];h[i+40>>3]=+h[q+72>>3];h[i+48>>3]=+h[q+80>>3];h[i+56>>3]=+h[q+88>>3];h[i+64>>3]=+h[q+96>>3];h[i+72>>3]=+h[q+104>>3];h[i+80>>3]=+h[q+112>>3];h[i+88>>3]=+h[q+120>>3];h[i+96>>3]=+h[q+128>>3];h[i+104>>3]=+h[q+136>>3];h[i+112>>3]=+h[q+144>>3];h[i+120>>3]=+h[q+152>>3]}break}default:{}}Qra(a);if(((+h[i+24>>3]==0.0?+h[i+56>>3]==0.0:0)?+h[i+88>>3]==0.0:0)?+h[i+120>>3]==1.0:0){Xra(a,i)|0;l=s;return}Yra(a,i)|0;l=s;return}function E8(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;e=gk[c[(c[d>>2]|0)+16>>2]&1023](d)|0;d=jOa(e,161850)|0;if(!d){c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;d=VNa(e)|0;if(d>>>0>4294967279)r0a(b);if(d>>>0<11){a[b+11>>0]=d;if(d)f=7}else{g=d+16&-16;f=j0a(g)|0;c[b>>2]=f;c[b+8>>2]=g|-2147483648;c[b+4>>2]=d;b=f;f=7}if((f|0)==7)x2a(b|0,e|0,d|0)|0;g=b+d|0;a[g>>0]=0;return}else{d=d-e|0;c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;if(d>>>0>4294967279)r0a(b);if(d>>>0<11){a[b+11>>0]=d;if(d)f=14}else{g=d+16&-16;f=j0a(g)|0;c[b>>2]=f;c[b+8>>2]=g|-2147483648;c[b+4>>2]=d;b=f;f=14}if((f|0)==14)x2a(b|0,e|0,d|0)|0;g=b+d|0;a[g>>0]=0;return}}function F8(a){a=a|0;r9(a,89940);Pr(a+504|0);return}function G8(a){a=a|0;r9(a,89940);Pr(a+504|0);l0a(a);return}function H8(a){a=a|0;return 160686}function I8(a){a=a|0;return 161889}function J8(a){a=a|0;return a|0}function K8(a){a=a|0;return a|0}function L8(a){a=a|0;return a+56|0}function M8(a){a=a|0;return a+56|0}function N8(b){b=b|0;var d=0,e=0,f=0,i=0,j=0,k=0,l=0;vz(b+56|0);c[b+392>>2]=c[b+388>>2];c[b+436>>2]=0;c[b+416>>2]=0;h[b+400>>3]=3402823466385288598117041.0e14;h[b+408>>3]=-3402823466385288598117041.0e14;c[b+348>>2]=3;c[b+344>>2]=4;d=c[b+420>>2]|0;j=b+432|0;i=c[j>>2]|0;k=d+(i<<2)|0;if(i|0)do{i=c[d>>2]|0;c[i+12>>2]=0;e=i+16|0;f=c[e>>2]|0;if(f|0?(c[e>>2]=0,l=f+8|0,e=c[l>>2]|0,c[l>>2]=e-1,(e|0)==1):0)UU(f,1,1);e=i+20|0;f=c[e>>2]|0;if(f|0?(c[e>>2]=0,e=f+8|0,l=c[e>>2]|0,c[e>>2]=l-1,(l|0)==1):0)UU(f,1,1);e=i+24|0;f=c[e>>2]|0;if(f|0?(c[e>>2]=0,e=f+8|0,l=c[e>>2]|0,c[e>>2]=l-1,(l|0)==1):0)UU(f,1,1);g[i+28>>2]=0.0;a[i+32>>0]=0;c[i+36>>2]=0;d=d+4|0}while((d|0)!=(k|0));c[j>>2]=0;l=b+476|0;k=b+480|0;s9(l,c[k>>2]|0);c[b+484>>2]=0;c[l>>2]=k;c[k>>2]=0;k=b+488|0;l=b+492|0;s9(k,c[l>>2]|0);c[b+496>>2]=0;c[k>>2]=l;c[l>>2]=0;return}function O8(a,b){a=a|0;b=b|0;b=b+240|0;c[a>>2]=c[b>>2];c[a+4>>2]=c[b+4>>2];c[a+8>>2]=c[b+8>>2];return}function P8(a,b){a=a|0;b=b|0;b=b+268|0;c[a>>2]=c[b>>2];c[a+4>>2]=c[b+4>>2];c[a+8>>2]=c[b+8>>2];return}function Q8(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0,e=0.0,f=0.0;f=+g[b>>2]-+g[a+240>>2];e=+g[b+4>>2]-+g[a+244>>2];d=+g[b+8>>2]-+g[a+248>>2];d=+B(+(f*f+e*e+d*d));if(!c){f=d;return +f}f=d*+g[a+76>>2];return +f}function R8(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,f=0;f=c[a+152>>2]|0;e=-(+h[f+144>>3]+(+h[f+48>>3]*+g[b>>2]+ +h[f+80>>3]*+g[b+4>>2]+ +h[f+112>>3]*+g[b+8>>2]));if(!d)return +e;e=+g[a+76>>2]*e;return +e}function S8(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0,e=0.0,f=0.0;f=+g[b>>2]-+g[a+268>>2];e=+g[b+4>>2]-+g[a+272>>2];d=+g[b+8>>2]-+g[a+276>>2];d=+B(+(f*f+e*e+d*d));if(!c){f=d;return +f}f=d*+g[a+76>>2];return +f}function T8(b,d){b=b|0;d=d|0;var e=0,f=0,i=0,k=0,m=0,n=0.0,o=0.0,p=0,q=0,r=0,s=0,t=0,u=0,v=0.0,w=0.0,x=0.0,y=0.0,z=0.0,A=0.0,B=0.0,C=0.0,D=0,E=0,F=0,G=0,H=0,I=0.0,J=0.0,K=0.0,L=0.0,M=0,N=0,O=0,P=0,Q=0;P=l;l=l+16|0;O=P;N=c[((c[b+168>>2]|0)==0?b+352|0:b+152|0)>>2]|0;M=FA(d)|0;f=d+100|0;e=c[f>>2]|0;do if(e|0){e=gk[c[(c[e>>2]|0)+76>>2]&1023](e)|0;if(!e){D=c[f>>2]|0;lk[c[(c[D>>2]|0)+92>>2]&127](D,d,b+(c[(c[b>>2]|0)+-12>>2]|0)|0)|0;break}if(mk[c[(c[e>>2]|0)+32>>2]&63](e,b,d,b+440|0)|0){l=P;return}}while(0);if(((((((c[d+108>>2]|0)==0?a[d+104>>0]|0:0)?+g[(Fz(d)|0)+12>>2]>=0.0:0)?+g[M+12>>2]>=+g[M>>2]:0)?+g[M+16>>2]>=+g[M+4>>2]:0)?+g[M+20>>2]>=+g[M+8>>2]:0)?cea(c[b+336>>2]|0,M)|0:0){l=P;return}if((((c[b+68>>2]|0?+g[M+12>>2]>=+g[M>>2]:0)?+g[M+16>>2]>=+g[M+4>>2]:0)?+g[M+20>>2]>=+g[M+8>>2]:0)?!(Jda(b,N+32|0,d,0)|0):0){l=P;return}e=c[d+120>>2]|0;if(!e)e=0;else{paa(b,e);e=1}q=c[b+336>>2]|0;i=c[q+64>>2]|0;q=q+68|0;f=c[q>>2]|0;if((i|0)==(f|0))u=e;else{r=M+12|0;s=M+16|0;t=M+4|0;u=M+20|0;D=M+8|0;while(1){k=c[i+4>>2]|0;a:do if((k|0)!=0?(E=i+24|0,c[E>>2]=k,F=c[i+28>>2]|0,G=c[i+32>>2]|0,(F|0)!=(G|0)):0){m=1;p=F;while(1){do if(m&k){Q=c[p+36>>2]|0;n=+g[M>>2];o=+g[r>>2];v=+g[t>>2];w=+g[s>>2];x=+g[D>>2];y=+g[u>>2];z=+h[p>>3];A=+h[p+8>>3];B=+h[p+16>>3];C=+h[p+24>>3];if(!(C+(z*((Q&1|0)==0?n:o)+A*((Q&2|0)==0?v:w)+B*((Q&4|0)==0?x:y))>0.0)){Q=c[p+32>>2]|0;if(C+(B*((Q&4|0)==0?x:y)+(z*((Q&1|0)==0?n:o)+A*((Q&2|0)==0?v:w)))<0.0)break a;else break}else{k=m^k;c[E>>2]=k;break}}while(0);p=p+40|0;if((p|0)==(G|0)){H=29;break}else m=m<<1}}else H=29;while(0);if((H|0)==29){H=0;paa(b,c[i>>2]|0);e=e+1|0;f=c[q>>2]|0}i=i+52|0;if((i|0)==(f|0)){u=e;break}}}e=M+12|0;n=+g[e>>2];o=+g[M>>2];if((n>=o?(I=+g[M+16>>2],J=+g[M+4>>2],I>=J):0)?(K=+g[M+20>>2],L=+g[M+8>>2],K>=L):0)n=-(+h[N+144>>3]+(+h[N+48>>3]*((n+o)*.5)+ +h[N+80>>3]*((J+I)*.5)+ +h[N+112>>3]*((L+K)*.5)));else n=0.0;if(((g[j>>2]=n,c[j>>2]|0)&2147483647)>>>0>2139095040){if(ZQ(3)|0){Q=mr(lr(3)|0,165574,40)|0;BSa(O,Q+(c[(c[Q>>2]|0)+-12>>2]|0)|0);d=cUa(O,230580)|0;d=kk[c[(c[d>>2]|0)+28>>2]&511](d,10)|0;dUa(O);VSa(Q,d)|0;HSa(Q)|0;Q=mr(SSa(mr(Q,165131,10)|0,n)|0,165615,10)|0;K=(+g[M+4>>2]+ +g[M+16>>2])*.5;L=(+g[M+8>>2]+ +g[M+20>>2])*.5;SSa(mr(SSa(mr(SSa(Q,(+g[M>>2]+ +g[e>>2])*.5)|0,184785,1)|0,K)|0,184785,1)|0,L)|0;Q=mr(Q,165150,2)|0;BSa(O,Q+(c[(c[Q>>2]|0)+-12>>2]|0)|0);d=cUa(O,230580)|0;d=kk[c[(c[d>>2]|0)+28>>2]&511](d,10)|0;dUa(O);VSa(Q,d)|0;HSa(Q)|0;Q=Kda(mr(Q,165626,11)|0,N+32|0)|0;BSa(O,Q+(c[(c[Q>>2]|0)+-12>>2]|0)|0);N=cUa(O,230580)|0;N=kk[c[(c[N>>2]|0)+28>>2]&511](N,10)|0;dUa(O);VSa(Q,N)|0;HSa(Q)|0}if(ZQ(5)|0){Q=mr(lr(5)|0,165176,13)|0;BSa(O,Q+(c[(c[Q>>2]|0)+-12>>2]|0)|0);N=cUa(O,230580)|0;N=kk[c[(c[N>>2]|0)+28>>2]&511](N,10)|0;dUa(O);VSa(Q,N)|0;HSa(Q)|0}e=c[b+28>>2]|0;f=b+32|0;if((e|0)!=(c[f>>2]|0))do{if(ZQ(5)|0){H=mr(lr(5)|0,165190,9)|0;N=c[e>>2]|0;M=N+12|0;Q=a[M+11>>0]|0;d=Q<<24>>24<0;Q=mr(mr(H,d?c[M>>2]|0:M,d?c[N+16>>2]|0:Q&255)|0,172651,1)|0;BSa(O,Q+(c[(c[Q>>2]|0)+-12>>2]|0)|0);N=cUa(O,230580)|0;N=kk[c[(c[N>>2]|0)+28>>2]&511](N,10)|0;dUa(O);VSa(Q,N)|0;HSa(Q)|0}e=e+4|0}while((e|0)!=(c[f>>2]|0))}else{f=b+376|0;e=c[f>>2]|0;if((c[e+36>>2]|0)==(c[e+40>>2]|0)){i=c[b+384>>2]|0;c[O>>2]=e;k=i+64|0;m=c[k>>2]|0;if((m|0)==(c[i+68>>2]|0))Lda(i+60|0,O);else{c[m>>2]=e;c[k>>2]=(c[k>>2]|0)+4}e=c[f>>2]|0}Nda(e,Mda(b,d,c[b+132>>2]|0,N,n)|0)}if(!u){l=P;return}q=b+376|0;r=b+436|0;s=b+388|0;t=b+392|0;m=b+384|0;k=0;p=c[q>>2]|0;do{e=c[p+16>>2]|0;i=c[e+120>>2]|0;if(i&2|0)c[r>>2]=(c[r>>2]|0)+-1;do if(i|0){f=a[e+128+11>>0]|0;if(f<<24>>24<0)e=c[e+132>>2]|0;else e=f&255;if(e|0?(i&4|0)!=0|(c[r>>2]|0)==0:0){e=c[t>>2]|0;if((c[s>>2]|0)==(e|0)){c[m>>2]=c[(c[m>>2]|0)+44>>2];break}else{Q=e+-4|0;c[m>>2]=c[Q>>2];c[t>>2]=Q;break}}}while(0);p=c[p+12>>2]|0;c[q>>2]=p;k=k+1|0}while((k|0)!=(u|0));l=P;return}function U8(b,d){b=b|0;d=d|0;var e=0,f=0,h=0,i=0,j=0,k=0;do if((c[d+108>>2]|0)==0?(a[d+104>>0]|0)!=0:0){k=!(+g[(Fz(d)|0)+12>>2]>=0.0);h=b+336|0;e=c[h>>2]|0;if(!k)if(Gz(e,Fz(d)|0)|0)return;else{f=h;e=c[h>>2]|0;break}else{f=h;i=5}}else i=3;while(0);if((i|0)==3){e=b+336|0;f=e;e=c[e>>2]|0;i=5}if((i|0)==5)c[e+36>>2]=c[e+16>>2];Hz(e);e=c[d+120>>2]|0;a:do if(!e){e=c[d+100>>2]|0;if(e|0){lk[c[(c[e>>2]|0)+92>>2]&127](e,d,b+(c[(c[b>>2]|0)+-12>>2]|0)|0)|0;break}switch(c[b+16>>2]|0){case 0:break a;case 1:{Jk[c[(c[d>>2]|0)+216>>2]&1023](d,b);break a}default:{Jk[c[(c[d>>2]|0)+220>>2]&1023](d,b);break a}}}else{paa(b,e);e=c[d+100>>2]|0;b:do if(!e)switch(c[b+16>>2]|0){case 0:break b;case 1:{Jk[c[(c[d>>2]|0)+216>>2]&1023](d,b);break b}default:{Jk[c[(c[d>>2]|0)+220>>2]&1023](d,b);break b}}else lk[c[(c[e>>2]|0)+92>>2]&127](e,d,b+(c[(c[b>>2]|0)+-12>>2]|0)|0)|0;while(0);d=b+376|0;j=c[d>>2]|0;e=c[j+16>>2]|0;i=c[e+120>>2]|0;if(i&2|0){k=b+436|0;c[k>>2]=(c[k>>2]|0)+-1}do if(i|0){h=a[e+128+11>>0]|0;if(h<<24>>24<0)e=c[e+132>>2]|0;else e=h&255;if(e|0?(i&4|0)!=0|(c[b+436>>2]|0)==0:0){e=b+392|0;h=c[e>>2]|0;if((c[b+388>>2]|0)==(h|0)){k=b+384|0;c[k>>2]=c[(c[k>>2]|0)+44>>2];break}else{k=h+-4|0;c[b+384>>2]=c[k>>2];c[e>>2]=k;break}}}while(0);c[d>>2]=c[j+12>>2]}while(0);b=c[f>>2]|0;e=b+32|0;f=c[e>>2]|0;if(f|0){h=b+24|0;i=c[h>>2]|0;if((c[b+20>>2]|0)!=(i|0)){k=i+-4|0;c[b+16>>2]=c[k>>2];c[h>>2]=k}c[e>>2]=f+-1}e=c[b+64>>2]|0;j=c[b+68>>2]|0;if((e|0)!=(j|0))do{f=e+20|0;h=c[f>>2]|0;if(h|0){i=e+12|0;d=c[i>>2]|0;if((c[e+8>>2]|0)!=(d|0)){k=d+-4|0;c[e+4>>2]=c[k>>2];c[i>>2]=k}c[f>>2]=h+-1}e=e+52|0}while((e|0)!=(j|0));e=c[b+76>>2]|0;k=c[b+80>>2]|0;if((e|0)==(k|0))return;do{f=e+36|0;h=c[f>>2]|0;if(h|0){i=e+28|0;d=c[i>>2]|0;if((c[e+24>>2]|0)!=(d|0)){b=d+-4|0;c[e+20>>2]=c[b>>2];c[i>>2]=b}c[f>>2]=h+-1}f=c[e+68>>2]|0;b=c[e+72>>2]|0;if((f|0)!=(b|0))do{h=f+16|0;i=c[h>>2]|0;if(i|0){d=f+8|0;j=c[d>>2]|0;if((c[f+4>>2]|0)!=(j|0)){j=j+-4|0;c[f>>2]=c[j>>2];c[d>>2]=j}c[h>>2]=i+-1}f=f+48|0}while((f|0)!=(b|0));e=e+80|0}while((e|0)!=(k|0));return}function V8(b,d){b=b|0;d=d|0;var e=0,f=0,h=0,i=0,j=0,k=0;do if((c[d+108>>2]|0)==0?(a[d+104>>0]|0)!=0:0){k=!(+g[(Fz(d)|0)+12>>2]>=0.0);h=b+336|0;e=c[h>>2]|0;if(!k)if(Gz(e,Fz(d)|0)|0)return;else{f=h;e=c[h>>2]|0;break}else{f=h;i=5}}else i=3;while(0);if((i|0)==3){e=b+336|0;f=e;e=c[e>>2]|0;i=5}if((i|0)==5)c[e+36>>2]=c[e+16>>2];Hz(e);e=c[d+120>>2]|0;a:do if(!e){e=c[d+100>>2]|0;if(e|0){lk[c[(c[e>>2]|0)+92>>2]&127](e,d,b+(c[(c[b>>2]|0)+-12>>2]|0)|0)|0;break}switch(c[b+16>>2]|0){case 0:break a;case 1:{Jk[c[(c[d>>2]|0)+216>>2]&1023](d,b);break a}default:{Jk[c[(c[d>>2]|0)+220>>2]&1023](d,b);break a}}}else{paa(b,e);e=c[d+100>>2]|0;b:do if(!e)switch(c[b+16>>2]|0){case 0:break b;case 1:{Jk[c[(c[d>>2]|0)+216>>2]&1023](d,b);break b}default:{Jk[c[(c[d>>2]|0)+220>>2]&1023](d,b);break b}}else lk[c[(c[e>>2]|0)+92>>2]&127](e,d,b+(c[(c[b>>2]|0)+-12>>2]|0)|0)|0;while(0);d=b+376|0;j=c[d>>2]|0;e=c[j+16>>2]|0;i=c[e+120>>2]|0;if(i&2|0){k=b+436|0;c[k>>2]=(c[k>>2]|0)+-1}do if(i|0){h=a[e+128+11>>0]|0;if(h<<24>>24<0)e=c[e+132>>2]|0;else e=h&255;if(e|0?(i&4|0)!=0|(c[b+436>>2]|0)==0:0){e=b+392|0;h=c[e>>2]|0;if((c[b+388>>2]|0)==(h|0)){k=b+384|0;c[k>>2]=c[(c[k>>2]|0)+44>>2];break}else{k=h+-4|0;c[b+384>>2]=c[k>>2];c[e>>2]=k;break}}}while(0);c[d>>2]=c[j+12>>2]}while(0);b=c[f>>2]|0;e=b+32|0;f=c[e>>2]|0;if(f|0){h=b+24|0;i=c[h>>2]|0;if((c[b+20>>2]|0)!=(i|0)){k=i+-4|0;c[b+16>>2]=c[k>>2];c[h>>2]=k}c[e>>2]=f+-1}e=c[b+64>>2]|0;j=c[b+68>>2]|0;if((e|0)!=(j|0))do{f=e+20|0;h=c[f>>2]|0;if(h|0){i=e+12|0;d=c[i>>2]|0;if((c[e+8>>2]|0)!=(d|0)){k=d+-4|0;c[e+4>>2]=c[k>>2];c[i>>2]=k}c[f>>2]=h+-1}e=e+52|0}while((e|0)!=(j|0));e=c[b+76>>2]|0;k=c[b+80>>2]|0;if((e|0)==(k|0))return;do{f=e+36|0;h=c[f>>2]|0;if(h|0){i=e+28|0;d=c[i>>2]|0;if((c[e+24>>2]|0)!=(d|0)){b=d+-4|0;c[e+20>>2]=c[b>>2];c[i>>2]=b}c[f>>2]=h+-1}f=c[e+68>>2]|0;b=c[e+72>>2]|0;if((f|0)!=(b|0))do{h=f+16|0;i=c[h>>2]|0;if(i|0){d=f+8|0;j=c[d>>2]|0;if((c[f+4>>2]|0)!=(j|0)){j=j+-4|0;c[f>>2]=c[j>>2];c[d>>2]=j}c[h>>2]=i+-1}f=f+48|0}while((f|0)!=(b|0));e=e+80|0}while((e|0)!=(k|0));return}function W8(b,d){b=b|0;d=d|0;var e=0,f=0,i=0,k=0,m=0,n=0.0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0;O=l;l=l+16|0;K=O;L=b+56|0;if((c[d+108>>2]|0)==0?(a[d+104>>0]|0)!=0:0){J=!(+g[(Fz(d)|0)+12>>2]>=0.0);e=c[b+336>>2]|0;if(!J){if(Gz(e,Fz(d)|0)|0){l=O;return}}else f=5}else{e=c[b+336>>2]|0;f=5}if((f|0)==5)c[e+36>>2]=c[e+16>>2];e=c[d+120>>2]|0;J=(e|0)!=0;if(J)paa(b,e);e=c[((c[b+168>>2]|0)==0?b+352|0:b+152|0)>>2]|0;if(gk[c[(c[d>>2]|0)+248>>2]&1023](d)|0){C=d+320|0;D=d+124|0;E=e+32|0;F=b+68|0;G=e+48|0;H=e+80|0;I=e+112|0;s=e+144|0;t=b+440|0;u=b+376|0;v=b+384|0;w=b+132|0;x=b+28|0;y=b+32|0;z=b+436|0;A=b+388|0;B=b+392|0;r=0;do{f=c[C>>2]|0;m=f+(r*12|0)|0;e=c[(c[D>>2]|0)+(r<<2)>>2]|0;if(!e)q=0;else q=gk[c[(c[e>>2]|0)+88>>2]&1023](e)|0;e=c[q+100>>2]|0;if(!(((e|0)!=0?(M=gk[c[(c[e>>2]|0)+76>>2]&1023](e)|0,(M|0)!=0):0)?mk[c[(c[M>>2]|0)+32>>2]&63](M,b,q,t)|0:0)){o=Oz(L,E)|0;k=o+32|0;if(((c[F>>2]|0?(N=FA(q)|0,+g[N+12>>2]>=+g[N>>2]):0)?+g[N+16>>2]>=+g[N+4>>2]:0)?+g[N+20>>2]>=+g[N+8>>2]:0)Jda(b,k,q,1)|0;i=f+(r*12|0)+4|0;e=f+(r*12|0)+8|0;n=-(+h[s>>3]+(+h[G>>3]*+g[m>>2]+ +h[H>>3]*+g[i>>2]+ +h[I>>3]*+g[e>>2]));f=c[q+120>>2]|0;p=(f|0)!=0;if(p)paa(b,f);if(((g[j>>2]=n,c[j>>2]|0)&2147483647)>>>0>2139095040){if(ZQ(3)|0){q=mr(lr(3)|0,165086,44)|0;BSa(K,q+(c[(c[q>>2]|0)+-12>>2]|0)|0);o=cUa(K,230580)|0;o=kk[c[(c[o>>2]|0)+28>>2]&511](o,10)|0;dUa(K);VSa(q,o)|0;HSa(q)|0;q=mr(SSa(mr(q,165131,10)|0,n)|0,165142,7)|0;o=mr(SSa(q,+g[m>>2])|0,184785,1)|0;o=mr(SSa(o,+g[i>>2])|0,184785,1)|0;SSa(o,+g[e>>2])|0;q=mr(q,165150,2)|0;BSa(K,q+(c[(c[q>>2]|0)+-12>>2]|0)|0);o=cUa(K,230580)|0;o=kk[c[(c[o>>2]|0)+28>>2]&511](o,10)|0;dUa(K);VSa(q,o)|0;HSa(q)|0;q=Kda(mr(q,165153,22)|0,k)|0;BSa(K,q+(c[(c[q>>2]|0)+-12>>2]|0)|0);o=cUa(K,230580)|0;o=kk[c[(c[o>>2]|0)+28>>2]&511](o,10)|0;dUa(K);VSa(q,o)|0;HSa(q)|0}if(ZQ(5)|0){q=mr(lr(5)|0,165176,13)|0;BSa(K,q+(c[(c[q>>2]|0)+-12>>2]|0)|0);o=cUa(K,230580)|0;o=kk[c[(c[o>>2]|0)+28>>2]&511](o,10)|0;dUa(K);VSa(q,o)|0;HSa(q)|0}e=c[x>>2]|0;if((e|0)!=(c[y>>2]|0))do{if(ZQ(5)|0){i=mr(lr(5)|0,165190,9)|0;o=c[e>>2]|0;k=o+12|0;q=a[k+11>>0]|0;m=q<<24>>24<0;q=mr(mr(i,m?c[k>>2]|0:k,m?c[o+16>>2]|0:q&255)|0,172651,1)|0;BSa(K,q+(c[(c[q>>2]|0)+-12>>2]|0)|0);o=cUa(K,230580)|0;o=kk[c[(c[o>>2]|0)+28>>2]&511](o,10)|0;dUa(K);VSa(q,o)|0;HSa(q)|0}e=e+4|0}while((e|0)!=(c[y>>2]|0))}else{e=c[u>>2]|0;if((c[e+36>>2]|0)==(c[e+40>>2]|0)){f=c[v>>2]|0;c[K>>2]=e;i=f+64|0;k=c[i>>2]|0;if((k|0)==(c[f+68>>2]|0))Lda(f+60|0,K);else{c[k>>2]=e;c[i>>2]=(c[i>>2]|0)+4}e=c[u>>2]|0}Nda(e,Mda(b,q,c[w>>2]|0,o,n)|0)}if(p){k=c[u>>2]|0;e=c[k+16>>2]|0;i=c[e+120>>2]|0;if(i&2|0)c[z>>2]=(c[z>>2]|0)+-1;do if(i|0){f=a[e+128+11>>0]|0;if(f<<24>>24<0)e=c[e+132>>2]|0;else e=f&255;if(e|0?(i&4|0)!=0|(c[z>>2]|0)==0:0){e=c[B>>2]|0;if((c[A>>2]|0)==(e|0)){c[v>>2]=c[(c[v>>2]|0)+44>>2];break}else{q=e+-4|0;c[v>>2]=c[q>>2];c[B>>2]=q;break}}}while(0);c[u>>2]=c[k+12>>2]}}r=r+1|0}while(r>>>0<(gk[c[(c[d>>2]|0)+248>>2]&1023](d)|0)>>>0)}if(!J){l=O;return}k=b+376|0;m=c[k>>2]|0;e=c[m+16>>2]|0;i=c[e+120>>2]|0;if(i&2|0){N=b+436|0;c[N>>2]=(c[N>>2]|0)+-1}do if(i|0){f=a[e+128+11>>0]|0;if(f<<24>>24<0)e=c[e+132>>2]|0;else e=f&255;if(e|0?(i&4|0)!=0|(c[b+436>>2]|0)==0:0){e=b+392|0;f=c[e>>2]|0;if((c[b+388>>2]|0)==(f|0)){b=b+384|0;c[b>>2]=c[(c[b>>2]|0)+44>>2];break}else{N=f+-4|0;c[b+384>>2]=c[N>>2];c[e>>2]=N;break}}}while(0);c[k>>2]=c[m+12>>2];l=O;return}function X8(b,d){b=b|0;d=d|0;var e=0,f=0,h=0,i=0,j=0,k=0;do if((c[d+108>>2]|0)==0?(a[d+104>>0]|0)!=0:0){k=!(+g[(Fz(d)|0)+12>>2]>=0.0);h=b+336|0;e=c[h>>2]|0;if(!k)if(Gz(e,Fz(d)|0)|0)return;else{f=h;e=c[h>>2]|0;break}else{f=h;i=5}}else i=3;while(0);if((i|0)==3){e=b+336|0;f=e;e=c[e>>2]|0;i=5}if((i|0)==5)c[e+36>>2]=c[e+16>>2];Hz(e);e=c[d+120>>2]|0;a:do if(!e){e=c[d+100>>2]|0;if(e|0){lk[c[(c[e>>2]|0)+92>>2]&127](e,d,b+(c[(c[b>>2]|0)+-12>>2]|0)|0)|0;break}switch(c[b+16>>2]|0){case 0:break a;case 1:{Jk[c[(c[d>>2]|0)+216>>2]&1023](d,b);break a}default:{Jk[c[(c[d>>2]|0)+220>>2]&1023](d,b);break a}}}else{paa(b,e);e=c[d+100>>2]|0;b:do if(!e)switch(c[b+16>>2]|0){case 0:break b;case 1:{Jk[c[(c[d>>2]|0)+216>>2]&1023](d,b);break b}default:{Jk[c[(c[d>>2]|0)+220>>2]&1023](d,b);break b}}else lk[c[(c[e>>2]|0)+92>>2]&127](e,d,b+(c[(c[b>>2]|0)+-12>>2]|0)|0)|0;while(0);d=b+376|0;j=c[d>>2]|0;e=c[j+16>>2]|0;i=c[e+120>>2]|0;if(i&2|0){k=b+436|0;c[k>>2]=(c[k>>2]|0)+-1}do if(i|0){h=a[e+128+11>>0]|0;if(h<<24>>24<0)e=c[e+132>>2]|0;else e=h&255;if(e|0?(i&4|0)!=0|(c[b+436>>2]|0)==0:0){e=b+392|0;h=c[e>>2]|0;if((c[b+388>>2]|0)==(h|0)){k=b+384|0;c[k>>2]=c[(c[k>>2]|0)+44>>2];break}else{k=h+-4|0;c[b+384>>2]=c[k>>2];c[e>>2]=k;break}}}while(0);c[d>>2]=c[j+12>>2]}while(0);b=c[f>>2]|0;e=b+32|0;f=c[e>>2]|0;if(f|0){h=b+24|0;i=c[h>>2]|0;if((c[b+20>>2]|0)!=(i|0)){k=i+-4|0;c[b+16>>2]=c[k>>2];c[h>>2]=k}c[e>>2]=f+-1}e=c[b+64>>2]|0;j=c[b+68>>2]|0;if((e|0)!=(j|0))do{f=e+20|0;h=c[f>>2]|0;if(h|0){i=e+12|0;d=c[i>>2]|0;if((c[e+8>>2]|0)!=(d|0)){k=d+-4|0;c[e+4>>2]=c[k>>2];c[i>>2]=k}c[f>>2]=h+-1}e=e+52|0}while((e|0)!=(j|0));e=c[b+76>>2]|0;k=c[b+80>>2]|0;if((e|0)==(k|0))return;do{f=e+36|0;h=c[f>>2]|0;if(h|0){i=e+28|0;d=c[i>>2]|0;if((c[e+24>>2]|0)!=(d|0)){b=d+-4|0;c[e+20>>2]=c[b>>2];c[i>>2]=b}c[f>>2]=h+-1}f=c[e+68>>2]|0;b=c[e+72>>2]|0;if((f|0)!=(b|0))do{h=f+16|0;i=c[h>>2]|0;if(i|0){d=f+8|0;j=c[d>>2]|0;if((c[f+4>>2]|0)!=(j|0)){j=j+-4|0;c[f>>2]=c[j>>2];c[d>>2]=j}c[h>>2]=i+-1}f=f+48|0}while((f|0)!=(b|0));e=e+80|0}while((e|0)!=(k|0));return}function Y8(b,d){b=b|0;d=d|0;var e=0,f=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0.0,q=0.0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;C=l;l=l+32|0;A=C+12|0;B=C;f=b+56|0;y=b+336|0;Hz(c[y>>2]|0);e=c[d+120>>2]|0;x=(e|0)!=0;if(x)paa(b,e);i=b+400|0;p=+h[i>>3];j=b+408|0;q=+h[j>>3];k=A+8|0;z=A+4|0;m=b+476|0;c[A>>2]=c[m>>2];c[m>>2]=z;n=b+480|0;r=c[n>>2]|0;c[z>>2]=r;c[n>>2]=0;o=b+484|0;u=c[o>>2]|0;c[k>>2]=u;c[o>>2]=0;c[((u|0)==0?A:r+8|0)>>2]=z;c[m>>2]=n;r=B+8|0;u=B+4|0;v=b+488|0;c[B>>2]=c[v>>2];c[v>>2]=u;w=b+492|0;e=c[w>>2]|0;c[u>>2]=e;c[w>>2]=0;s=b+496|0;D=c[s>>2]|0;c[r>>2]=D;c[s>>2]=0;c[((D|0)==0?B:e+8|0)>>2]=u;c[v>>2]=w;h[i>>3]=3402823466385288598117041.0e14;h[j>>3]=-3402823466385288598117041.0e14;oA(f,Oz(f,d+136|0)|0);if((c[d+108>>2]|0)==0?(a[d+104>>0]|0)!=0:0){D=!(+g[(Fz(d)|0)+12>>2]>=0.0);e=c[y>>2]|0;if(!D){if(!(Gz(e,Fz(d)|0)|0))t=9}else t=8}else{e=c[y>>2]|0;t=8}if((t|0)==8){c[e+36>>2]=c[e+16>>2];t=9}a:do if((t|0)==9){e=c[d+100>>2]|0;if(e|0){lk[c[(c[e>>2]|0)+92>>2]&127](e,d,b+(c[(c[b>>2]|0)+-12>>2]|0)|0)|0;break}switch(c[b+16>>2]|0){case 0:break a;case 1:{Jk[c[(c[d>>2]|0)+216>>2]&1023](d,b);break a}default:{Jk[c[(c[d>>2]|0)+220>>2]&1023](d,b);break a}}}while(0);Bk[c[(c[b>>2]|0)+204>>2]&2047](b);h[i>>3]=p;h[j>>3]=q;D=c[A>>2]|0;c[A>>2]=c[m>>2];c[m>>2]=D;D=c[z>>2]|0;d=c[n>>2]|0;c[z>>2]=d;c[n>>2]=D;t=c[k>>2]|0;j=c[o>>2]|0;c[k>>2]=j;c[o>>2]=t;c[((j|0)==0?A:d+8|0)>>2]=z;c[((t|0)==0?m:D+8|0)>>2]=n;D=c[B>>2]|0;c[B>>2]=c[v>>2];c[v>>2]=D;D=c[u>>2]|0;t=c[w>>2]|0;c[u>>2]=t;c[w>>2]=D;d=c[r>>2]|0;o=c[s>>2]|0;c[r>>2]=o;c[s>>2]=d;r=t;c[((o|0)==0?B:t+8|0)>>2]=u;c[((d|0)==0?v:D+8|0)>>2]=w;if(x){j=b+376|0;k=c[j>>2]|0;e=c[k+16>>2]|0;i=c[e+120>>2]|0;if(i&2|0){D=b+436|0;c[D>>2]=(c[D>>2]|0)+-1}do if(i|0){f=a[e+128+11>>0]|0;if(f<<24>>24<0)e=c[e+132>>2]|0;else e=f&255;if(e|0?(i&4|0)!=0|(c[b+436>>2]|0)==0:0){e=b+392|0;f=c[e>>2]|0;if((c[b+388>>2]|0)==(f|0)){D=b+384|0;c[D>>2]=c[(c[D>>2]|0)+44>>2];break}else{D=f+-4|0;c[b+384>>2]=c[D>>2];c[e>>2]=D;break}}}while(0);c[j>>2]=c[k+12>>2]}n=c[y>>2]|0;e=n+32|0;f=c[e>>2]|0;if(f|0){i=n+24|0;j=c[i>>2]|0;if((c[n+20>>2]|0)!=(j|0)){D=j+-4|0;c[n+16>>2]=c[D>>2];c[i>>2]=D}c[e>>2]=f+-1}e=c[n+64>>2]|0;m=c[n+68>>2]|0;if((e|0)!=(m|0))do{f=e+20|0;i=c[f>>2]|0;if(i|0){j=e+12|0;k=c[j>>2]|0;if((c[e+8>>2]|0)!=(k|0)){D=k+-4|0;c[e+4>>2]=c[D>>2];c[j>>2]=D}c[f>>2]=i+-1}e=e+52|0}while((e|0)!=(m|0));e=c[n+76>>2]|0;o=c[n+80>>2]|0;if((e|0)==(o|0)){s9(B,r);D=c[z>>2]|0;s9(A,D);l=C;return}do{f=e+36|0;i=c[f>>2]|0;if(i|0){j=e+28|0;k=c[j>>2]|0;if((c[e+24>>2]|0)!=(k|0)){D=k+-4|0;c[e+20>>2]=c[D>>2];c[j>>2]=D}c[f>>2]=i+-1}f=c[e+68>>2]|0;n=c[e+72>>2]|0;if((f|0)!=(n|0))do{i=f+16|0;j=c[i>>2]|0;if(j|0){k=f+8|0;m=c[k>>2]|0;if((c[f+4>>2]|0)!=(m|0)){D=m+-4|0;c[f>>2]=c[D>>2];c[k>>2]=D}c[i>>2]=j+-1}f=f+48|0}while((f|0)!=(n|0));e=e+80|0}while((e|0)!=(o|0));s9(B,r);D=c[z>>2]|0;s9(A,D);l=C;return}function Z8(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;e=c[d+120>>2]|0;m=(e|0)!=0;if(m)paa(b,e);i=c[((c[b+168>>2]|0)==0?b+352|0:b+152|0)>>2]|0;e=c[d+140>>2]|0;j=d+144|0;if((e|0)!=(c[j>>2]|0)){k=d+152|0;l=b+384|0;do{f=c[e>>2]|0;g=c[(c[l>>2]|0)+44>>2]|0;h=c[(c[g>>2]|0)+208>>2]|0;if(!(c[k>>2]|0))Nk[h&255](g,i,f);else Nk[h&255](g,0,f);e=e+4|0}while((e|0)!=(c[j>>2]|0))}e=c[d+100>>2]|0;a:do if(!e)switch(c[b+16>>2]|0){case 0:break a;case 1:{Jk[c[(c[d>>2]|0)+216>>2]&1023](d,b);break a}default:{Jk[c[(c[d>>2]|0)+220>>2]&1023](d,b);break a}}else lk[c[(c[e>>2]|0)+92>>2]&127](e,d,b+(c[(c[b>>2]|0)+-12>>2]|0)|0)|0;while(0);if(!m)return;h=b+376|0;i=c[h>>2]|0;e=c[i+16>>2]|0;g=c[e+120>>2]|0;if(g&2|0){m=b+436|0;c[m>>2]=(c[m>>2]|0)+-1}do if(g|0){f=a[e+128+11>>0]|0;if(f<<24>>24<0)e=c[e+132>>2]|0;else e=f&255;if(e|0?(g&4|0)!=0|(c[b+436>>2]|0)==0:0){e=b+392|0;f=c[e>>2]|0;if((c[b+388>>2]|0)==(f|0)){b=b+384|0;c[b>>2]=c[(c[b>>2]|0)+44>>2];break}else{m=f+-4|0;c[b+384>>2]=c[m>>2];c[e>>2]=m;break}}}while(0);c[h>>2]=c[i+12>>2];return}function _8(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=c[d+120>>2]|0;f=(e|0)!=0;if(f)paa(b,e);if(!(c[d+144>>2]|0)){h=c[(c[b+384>>2]|0)+44>>2]|0;Qk[c[(c[h>>2]|0)+212>>2]&127](h,c[d+136>>2]|0,c[((c[b+168>>2]|0)==0?b+352|0:b+152|0)>>2]|0,c[d+140>>2]|0)}else{h=c[(c[b+384>>2]|0)+44>>2]|0;Qk[c[(c[h>>2]|0)+212>>2]&127](h,c[d+136>>2]|0,0,c[d+140>>2]|0)}e=c[d+100>>2]|0;a:do if(!e)switch(c[b+16>>2]|0){case 0:break a;case 1:{Jk[c[(c[d>>2]|0)+216>>2]&1023](d,b);break a}default:{Jk[c[(c[d>>2]|0)+220>>2]&1023](d,b);break a}}else lk[c[(c[e>>2]|0)+92>>2]&127](e,d,b+(c[(c[b>>2]|0)+-12>>2]|0)|0)|0;while(0);if(!f)return;g=b+376|0;h=c[g>>2]|0;e=c[h+16>>2]|0;f=c[e+120>>2]|0;if(f&2|0){d=b+436|0;c[d>>2]=(c[d>>2]|0)+-1}do if(f|0){d=a[e+128+11>>0]|0;if(d<<24>>24<0)e=c[e+132>>2]|0;else e=d&255;if(e|0?(f&4|0)!=0|(c[b+436>>2]|0)==0:0){e=b+392|0;d=c[e>>2]|0;if((c[b+388>>2]|0)==(d|0)){b=b+384|0;c[b>>2]=c[(c[b>>2]|0)+44>>2];break}else{f=d+-4|0;c[b+384>>2]=c[f>>2];c[e>>2]=f;break}}}while(0);c[g>>2]=c[h+12>>2];return}function $8(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=c[d+120>>2]|0;f=(e|0)!=0;if(f)paa(b,e);e=c[d+140>>2]|0;do if(e|0)if(!(c[d+144>>2]|0)){h=c[(c[b+384>>2]|0)+44>>2]|0;Nk[c[(c[h>>2]|0)+208>>2]&255](h,c[((c[b+168>>2]|0)==0?b+352|0:b+152|0)>>2]|0,e);break}else{h=c[(c[b+384>>2]|0)+44>>2]|0;Nk[c[(c[h>>2]|0)+208>>2]&255](h,0,e);break}while(0);e=c[d+100>>2]|0;a:do if(!e)switch(c[b+16>>2]|0){case 0:break a;case 1:{Jk[c[(c[d>>2]|0)+216>>2]&1023](d,b);break a}default:{Jk[c[(c[d>>2]|0)+220>>2]&1023](d,b);break a}}else lk[c[(c[e>>2]|0)+92>>2]&127](e,d,b+(c[(c[b>>2]|0)+-12>>2]|0)|0)|0;while(0);if(!f)return;g=b+376|0;h=c[g>>2]|0;e=c[h+16>>2]|0;f=c[e+120>>2]|0;if(f&2|0){d=b+436|0;c[d>>2]=(c[d>>2]|0)+-1}do if(f|0){d=a[e+128+11>>0]|0;if(d<<24>>24<0)e=c[e+132>>2]|0;else e=d&255;if(e|0?(f&4|0)!=0|(c[b+436>>2]|0)==0:0){e=b+392|0;d=c[e>>2]|0;if((c[b+388>>2]|0)==(d|0)){b=b+384|0;c[b>>2]=c[(c[b>>2]|0)+44>>2];break}else{f=d+-4|0;c[b+384>>2]=c[f>>2];c[e>>2]=f;break}}}while(0);c[g>>2]=c[h+12>>2];return}function a9(b,d){b=b|0;d=d|0;var e=0,f=0,h=0,i=0,j=0,k=0;i=b+56|0;do if((c[d+108>>2]|0)==0?(a[d+104>>0]|0)!=0:0){k=!(+g[(Fz(d)|0)+12>>2]>=0.0);f=b+336|0;e=c[f>>2]|0;if(!k)if(Gz(e,Fz(d)|0)|0)return;else{j=f;e=c[f>>2]|0;break}else h=5}else h=3;while(0);if((h|0)==3){e=b+336|0;f=e;e=c[e>>2]|0;h=5}if((h|0)==5){c[e+36>>2]=c[e+16>>2];j=f}Hz(e);e=c[d+120>>2]|0;f=(e|0)!=0;if(f)paa(b,e);e=Oz(i,(c[((c[b+168>>2]|0)==0?b+352|0:b+152|0)>>2]|0)+32|0)|0;lk[c[(c[d>>2]|0)+288>>2]&127](d,e+32|0,b)|0;Pz(i,e,c[d+136>>2]|0);e=c[d+100>>2]|0;a:do if(!e)switch(c[b+16>>2]|0){case 0:break a;case 1:{Jk[c[(c[d>>2]|0)+216>>2]&1023](d,b);break a}default:{Jk[c[(c[d>>2]|0)+220>>2]&1023](d,b);break a}}else lk[c[(c[e>>2]|0)+92>>2]&127](e,d,b+(c[(c[b>>2]|0)+-12>>2]|0)|0)|0;while(0);Qz(i);if(f){d=b+376|0;i=c[d>>2]|0;e=c[i+16>>2]|0;h=c[e+120>>2]|0;if(h&2|0){k=b+436|0;c[k>>2]=(c[k>>2]|0)+-1}do if(h|0){f=a[e+128+11>>0]|0;if(f<<24>>24<0)e=c[e+132>>2]|0;else e=f&255;if(e|0?(h&4|0)!=0|(c[b+436>>2]|0)==0:0){e=b+392|0;f=c[e>>2]|0;if((c[b+388>>2]|0)==(f|0)){k=b+384|0;c[k>>2]=c[(c[k>>2]|0)+44>>2];break}else{k=f+-4|0;c[b+384>>2]=c[k>>2];c[e>>2]=k;break}}}while(0);c[d>>2]=c[i+12>>2]}b=c[j>>2]|0;e=b+32|0;f=c[e>>2]|0;if(f|0){h=b+24|0;d=c[h>>2]|0;if((c[b+20>>2]|0)!=(d|0)){k=d+-4|0;c[b+16>>2]=c[k>>2];c[h>>2]=k}c[e>>2]=f+-1}e=c[b+64>>2]|0;j=c[b+68>>2]|0;if((e|0)!=(j|0))do{f=e+20|0;h=c[f>>2]|0;if(h|0){d=e+12|0;i=c[d>>2]|0;if((c[e+8>>2]|0)!=(i|0)){k=i+-4|0;c[e+4>>2]=c[k>>2];c[d>>2]=k}c[f>>2]=h+-1}e=e+52|0}while((e|0)!=(j|0));e=c[b+76>>2]|0;k=c[b+80>>2]|0;if((e|0)==(k|0))return;do{f=e+36|0;h=c[f>>2]|0;if(h|0){d=e+28|0;i=c[d>>2]|0;if((c[e+24>>2]|0)!=(i|0)){b=i+-4|0;c[e+20>>2]=c[b>>2];c[d>>2]=b}c[f>>2]=h+-1}f=c[e+68>>2]|0;b=c[e+72>>2]|0;if((f|0)!=(b|0))do{h=f+16|0;d=c[h>>2]|0;if(d|0){i=f+8|0;j=c[i>>2]|0;if((c[f+4>>2]|0)!=(j|0)){j=j+-4|0;c[f>>2]=c[j>>2];c[i>>2]=j}c[h>>2]=d+-1}f=f+48|0}while((f|0)!=(b|0));e=e+80|0}while((e|0)!=(k|0));return}function b9(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0.0,G=0,H=0.0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0;$=l;l=l+336|0;Y=$+256|0;Z=$+128|0;_=$+324|0;B=$;m=$+320|0;e=c[d+120>>2]|0;V=(e|0)!=0;if(V)paa(b,e);Q=b+56|0;nR(Y,Q);ZR(Q,d+144|0);t=d+148|0;Nk[c[(c[Q>>2]|0)+16>>2]&255](Q,Y,c[t>>2]|0);R=b+20|0;S=c[R>>2]|0;T=(c[t>>2]&1024|0)==0;if(T)c[R>>2]=c[d+196>>2];x=b+168|0;y=b+352|0;z=b+152|0;A=c[((c[x>>2]|0)==0?y:z)>>2]|0;g=d+136|0;do if(!(c[g>>2]|0))if((c[d+292>>2]|0)==1){f=c[((c[b+148>>2]|0)==0?y:b+132|0)>>2]|0;Qra(Z);Ura(Z,f+32|0,d+304|0);f=Oz(Q,Z)|0;w=c[((c[x>>2]|0)==0?y:z)>>2]|0;Qra(Z);Ura(Z,w+32|0,d+432|0);w=Oz(Q,Z)|0;break}else{f=c[((c[b+148>>2]|0)==0?y:b+132|0)>>2]|0;Qra(Z);Ura(Z,d+304|0,f+32|0);f=Oz(Q,Z)|0;w=c[((c[x>>2]|0)==0?y:z)>>2]|0;Qra(Z);Ura(Z,d+432|0,w+32|0);w=Oz(Q,Z)|0;break}else{f=Oz(Q,d+304|0)|0;w=Oz(Q,d+432|0)|0}while(0);U=d+288|0;e=c[U>>2]|0;if(e|0)$R(Q,e);E=b+400|0;F=+h[E>>3];G=b+408|0;H=+h[G>>3];I=Z+8|0;W=Z+4|0;J=b+476|0;c[Z>>2]=c[J>>2];c[J>>2]=W;K=b+480|0;M=c[K>>2]|0;c[W>>2]=M;c[K>>2]=0;L=b+484|0;X=c[L>>2]|0;c[I>>2]=X;c[L>>2]=0;c[((X|0)==0?Z:M+8|0)>>2]=W;c[J>>2]=K;M=_+8|0;X=_+4|0;N=b+488|0;c[_>>2]=c[N>>2];c[N>>2]=X;O=b+492|0;D=c[O>>2]|0;c[X>>2]=D;c[O>>2]=0;P=b+496|0;C=c[P>>2]|0;c[M>>2]=C;c[P>>2]=0;c[((C|0)==0?_:D+8|0)>>2]=X;c[N>>2]=O;h[E>>3]=3402823466385288598117041.0e14;h[G>>3]=-3402823466385288598117041.0e14;oA(Q,f);Pz(Q,w,c[g>>2]|0);D=d+560|0;a:do if((c[D>>2]|0)==1){e=c[d+100>>2]|0;if(e|0){lk[c[(c[e>>2]|0)+92>>2]&127](e,d,b+(c[(c[b>>2]|0)+-12>>2]|0)|0)|0;break}switch(c[b+16>>2]|0){case 0:break a;case 1:{Jk[c[(c[d>>2]|0)+216>>2]&1023](d,b);break a}default:{Jk[c[(c[d>>2]|0)+220>>2]&1023](d,b);break a}}}else{C=b+384|0;v=c[(c[C>>2]|0)+44>>2]|0;i=d+632|0;e=c[i>>2]|0;if((e|0)!=0?(j=y1a(e,42800,5e4,0)|0,(j|0)!=0):0){s=j+8|0;c[s>>2]=(c[s>>2]|0)+1}else{e=j0a(60)|0;Pba(e);f=e+8|0;c[f>>2]=(c[f>>2]|0)+1;g=c[i>>2]|0;if(((g|0)!=(e|0)?(c[i>>2]=e,c[f>>2]=(c[f>>2]|0)+1,(g|0)!=0):0)?(r=g+8|0,s=c[r>>2]|0,c[r>>2]=s-1,(s|0)==1):0){UU(g,1,1);j=e}else j=e}g=b+(c[(c[b>>2]|0)+-12>>2]|0)|0;k=j+36|0;gk[c[(c[k>>2]|0)+8>>2]&1023](k)|0;i=j+52|0;e=c[i>>2]|0;if(e){f=i;do{s=(c[e+16>>2]|0)>>>0<g>>>0;f=s?f:e;e=c[(s?e+4|0:e)>>2]|0}while((e|0)!=0);if((f|0)!=(i|0)?(c[f+16>>2]|0)>>>0<=g>>>0:0){f=c[f+20>>2]|0;e=f}else{e=0;f=0}}else{e=0;f=0}gk[c[(c[k>>2]|0)+12>>2]&1023](k)|0;if(!e){k=d+208|0;gk[c[(c[k>>2]|0)+8>>2]&1023](k)|0;e=c[b+380>>2]|0;if(e){e=Qba(e)|0;if(!e)e=0;else u=35}else{e=j0a(424)|0;Rba(e);u=35}if((u|0)==35){s=e+8|0;c[s>>2]=(c[s>>2]|0)+1}Sba(j,b+(c[(c[b>>2]|0)+-12>>2]|0)|0,e);if((c[e+232>>2]|0)!=(d|0)){Tba(e+228|0,d)|0;a[e+220>>0]=1}i=c[t>>2]|0;if(!(i&131072)){f=1;g=d+568|0}else{f=a[v+156>>0]|0;g=v+152|0}c[e+152>>2]=c[g>>2];a[e+156>>0]=f;if(!(i&262144)){f=1;g=d+572|0}else{f=a[v+164>>0]|0;g=v+160|0}c[e+160>>2]=c[g>>2];a[e+164>>0]=f;gk[c[(c[k>>2]|0)+12>>2]&1023](k)|0;q=e}else{q=e+8|0;c[q>>2]=(c[q>>2]|0)+1;Bk[c[(c[f>>2]|0)+164>>2]&2047](e);q=e}n=b+372|0;r=c[n>>2]|0;s=(r|0)==0;if(!s){p=r+8|0;c[p>>2]=(c[p>>2]|0)+1}o=b+376|0;p=c[o>>2]|0;c[B>>2]=0;k=B+4|0;c[k>>2]=0;i=B+8|0;c[i>>2]=0;if(p|0){g=p;do{c[m>>2]=g;e=g+8|0;c[e>>2]=(c[e>>2]|0)+1;e=c[k>>2]|0;if(e>>>0<(c[i>>2]|0)>>>0){f=c[m>>2]|0;c[e>>2]=f;if(f){e=f+8|0;c[e>>2]=(c[e>>2]|0)+1;e=c[k>>2]|0}c[k>>2]=e+4}else Uba(B,m);e=c[m>>2]|0;if(e|0?(aa=e+8|0,f=c[aa>>2]|0,c[aa>>2]=f-1,(f|0)==1):0)UU(e,1,1);g=c[g+12>>2]|0}while((g|0)!=0)}g=q+32|0;e=c[g>>2]|0;f=c[n>>2]|0;if((f|0)!=(e|0)){c[n>>2]=e;if(e|0){aa=e+8|0;c[aa>>2]=(c[aa>>2]|0)+1}if(f|0?(m=f+8|0,aa=c[m>>2]|0,c[m>>2]=aa-1,(aa|0)==1):0)UU(f,1,1);e=c[n>>2]|0}if(!e){f=j0a(64)|0;c[f+4>>2]=0;e=f+8|0;c[e>>2]=0;c[f>>2]=90368;c[f+12>>2]=0;c[f+16>>2]=0;c[f+20>>2]=0;aa=f+28|0;c[aa>>2]=0;c[f+32>>2]=0;c[f+24>>2]=aa;aa=f+36|0;c[aa>>2]=0;c[aa+4>>2]=0;c[aa+8>>2]=0;c[aa+12>>2]=0;c[aa+16>>2]=0;c[aa+20>>2]=0;a[aa+24>>0]=0;c[n>>2]=f;c[e>>2]=(c[e>>2]|0)+1;e=c[n>>2]|0;f=c[g>>2]|0;if((f|0)!=(e|0)){c[g>>2]=e;if(e|0){aa=e+8|0;c[aa>>2]=(c[aa>>2]|0)+1}if(f|0?(m=f+8|0,aa=c[m>>2]|0,c[m>>2]=aa-1,(aa|0)==1):0)UU(f,1,1)}}else Vba(e);f=c[n>>2]|0;c[o>>2]=f;e=c[k>>2]|0;if((e|0)==(c[B>>2]|0)){if(e|0)u=85}else{e=e+-4|0;i=c[(c[e>>2]|0)+16>>2]|0;f=f+16|0;g=c[f>>2]|0;if((g|0)!=(i|0)){c[f>>2]=i;if(i|0){aa=i+8|0;c[aa>>2]=(c[aa>>2]|0)+1}if(g|0?(u=g+8|0,aa=c[u>>2]|0,c[u>>2]=aa-1,(aa|0)==1):0)UU(g,1,1)}if((e|0)==(c[B>>2]|0))u=85;else{f=c[o>>2]|0;do{e=e+-4|0;f=qaa(f,c[(c[e>>2]|0)+16>>2]|0)|0;c[o>>2]=f}while((e|0)!=(c[B>>2]|0));u=85}}if((u|0)==85){f=c[k>>2]|0;if((f|0)==(e|0))f=e;else{do{f=f+-4|0;g=c[f>>2]|0;do if(g|0){m=g+8|0;aa=c[m>>2]|0;c[m>>2]=aa-1;if((aa|0)!=1)break;UU(g,1,1)}while(0);c[f>>2]=0}while((f|0)!=(e|0));f=c[B>>2]|0}c[k>>2]=e;l0a(f)}h[q+208>>3]=+h[d+272>>3];e=d+256|0;aa=q+192|0;c[aa>>2]=c[e>>2];c[aa+4>>2]=c[e+4>>2];c[aa+8>>2]=c[e+8>>2];c[aa+12>>2]=c[e+12>>2];c[q+216>>2]=c[d+280>>2];aa=c[t>>2]|0;c[q+168>>2]=c[((aa&16384|0)==0?d+236|0:v+168|0)>>2];aa=(aa&8192|0)==0?d+240|0:v+176|0;e=q+176|0;c[e>>2]=c[aa>>2];c[e+4>>2]=c[aa+4>>2];c[e+8>>2]=c[aa+8>>2];c[e+12>>2]=c[aa+12>>2];e=c[d+284>>2]|0;if(!e)e=c[v+172>>2]|0;f=q+172|0;g=c[f>>2]|0;if((g|0)!=(e|0)){c[f>>2]=e;if(e|0){aa=e+8|0;c[aa>>2]=(c[aa>>2]|0)+1}if(g|0?(t=g+8|0,aa=c[t>>2]|0,c[t>>2]=aa-1,(aa|0)==1):0)UU(g,1,1)}e=c[U>>2]|0;if(!e)e=c[v+144>>2]|0;f=q+144|0;g=c[f>>2]|0;do if((g|0)!=(e|0)){c[f>>2]=e;if(e|0){aa=e+8|0;c[aa>>2]=(c[aa>>2]|0)+1}if(!g)break;t=g+8|0;aa=c[t>>2]|0;c[t>>2]=aa-1;if((aa|0)!=1)break;UU(g,1,1)}while(0);e=q+148|0;f=c[e>>2]|0;do if((f|0)!=(w|0)){c[e>>2]=w;if(w|0){aa=w+8|0;c[aa>>2]=(c[aa>>2]|0)+1}if(!f)break;w=f+8|0;aa=c[w>>2]|0;c[w>>2]=aa-1;if((aa|0)!=1)break;UU(f,1,1)}while(0);Qra(B);e=A+32|0;do if(+h[A+56>>3]==0.0){if(!(+h[A+88>>3]==0.0)){u=120;break}if(!(+h[A+120>>3]==0.0)){u=120;break}if(!(+h[A+152>>3]==1.0)){u=120;break}Xra(B,e)|0}else u=120;while(0);if((u|0)==120)Yra(B,e)|0;Vra(B,(c[((c[x>>2]|0)==0?y:z)>>2]|0)+32|0);e=q+288|0;if((e|0)!=(B|0)){h[e>>3]=+h[B>>3];h[q+296>>3]=+h[B+8>>3];h[q+304>>3]=+h[B+16>>3];h[q+312>>3]=+h[B+24>>3];h[q+320>>3]=+h[B+32>>3];h[q+328>>3]=+h[B+40>>3];h[q+336>>3]=+h[B+48>>3];h[q+344>>3]=+h[B+56>>3];h[q+352>>3]=+h[B+64>>3];h[q+360>>3]=+h[B+72>>3];h[q+368>>3]=+h[B+80>>3];h[q+376>>3]=+h[B+88>>3];h[q+384>>3]=+h[B+96>>3];h[q+392>>3]=+h[B+104>>3];h[q+400>>3]=+h[B+112>>3];h[q+408>>3]=+h[B+120>>3]}e=v+420|0;f=c[e>>2]|0;if(!f){aa=j0a(56)|0;c[aa+4>>2]=0;f=aa+8|0;c[f>>2]=0;B=aa+12|0;c[B>>2]=0;c[B+4>>2]=0;c[B+8>>2]=0;c[aa+24>>2]=2;c[aa+28>>2]=0;c[aa>>2]=90388;c[aa+32>>2]=0;c[aa+36>>2]=0;c[aa+40>>2]=0;B=aa+48|0;c[B>>2]=0;c[aa+52>>2]=0;c[aa+44>>2]=B;c[e>>2]=aa;c[f>>2]=(c[f>>2]|0)+1;f=c[e>>2]|0}e=q+416|0;g=c[e>>2]|0;do if((g|0)!=(f|0)){c[e>>2]=f;if(f|0){aa=f+8|0;c[aa>>2]=(c[aa>>2]|0)+1}if(!g)break;B=g+8|0;aa=c[B>>2]|0;c[B>>2]=aa-1;if((aa|0)!=1)break;UU(g,1,1)}while(0);e=c[C>>2]|0;c[C>>2]=q;f=c[d+100>>2]|0;b:do if(!f)switch(c[b+16>>2]|0){case 0:break b;case 1:{Jk[c[(c[d>>2]|0)+216>>2]&1023](d,b);break b}default:{Jk[c[(c[d>>2]|0)+220>>2]&1023](d,b);break b}}else lk[c[(c[f>>2]|0)+92>>2]&127](f,d,b+(c[(c[b>>2]|0)+-12>>2]|0)|0)|0;while(0);c[C>>2]=e;Wba(c[n>>2]|0);e=c[n>>2]|0;do if((e|0)!=(r|0)){c[n>>2]=r;if(!s){aa=r+8|0;c[aa>>2]=(c[aa>>2]|0)+1}if(!e)break;B=e+8|0;aa=c[B>>2]|0;c[B>>2]=aa-1;if((aa|0)!=1)break;UU(e,1,1)}while(0);c[o>>2]=p;f=c[(c[C>>2]|0)+44>>2]|0;e=c[d+564>>2]|0;if(!(c[D>>2]|0))uaa(f,q,e);else Xba(f,q,e);do if(!s){d=r+8|0;aa=c[d>>2]|0;c[d>>2]=aa-1;if((aa|0)!=1)break;UU(r,1,1)}while(0);d=q+8|0;aa=c[d>>2]|0;c[d>>2]=aa-1;if((aa|0)==1)UU(q,1,1);if(!j)break;d=j+8|0;aa=c[d>>2]|0;c[d>>2]=aa-1;if((aa|0)!=1)break;UU(j,1,1)}while(0);Qz(Q);Bk[c[(c[b>>2]|0)+204>>2]&2047](b);h[E>>3]=F;h[G>>3]=H;aa=c[Z>>2]|0;c[Z>>2]=c[J>>2];c[J>>2]=aa;aa=c[W>>2]|0;G=c[K>>2]|0;c[W>>2]=G;c[K>>2]=aa;d=c[I>>2]|0;E=c[L>>2]|0;c[I>>2]=E;c[L>>2]=d;c[((E|0)==0?Z:G+8|0)>>2]=W;c[((d|0)==0?J:aa+8|0)>>2]=K;aa=c[_>>2]|0;c[_>>2]=c[N>>2];c[N>>2]=aa;aa=c[X>>2]|0;L=c[O>>2]|0;c[X>>2]=L;c[O>>2]=aa;d=c[M>>2]|0;K=c[P>>2]|0;c[M>>2]=K;c[P>>2]=d;c[((K|0)==0?_:L+8|0)>>2]=X;c[((d|0)==0?N:aa+8|0)>>2]=O;if(c[U>>2]|0)bS(Q);if(T)c[R>>2]=S;ZR(Q,Y);if(V){i=b+376|0;j=c[i>>2]|0;e=c[j+16>>2]|0;g=c[e+120>>2]|0;if(g&2|0){aa=b+436|0;c[aa>>2]=(c[aa>>2]|0)+-1}do if(g|0){f=a[e+128+11>>0]|0;if(f<<24>>24<0)e=c[e+132>>2]|0;else e=f&255;if(e|0?(g&4|0)!=0|(c[b+436>>2]|0)==0:0){e=b+392|0;f=c[e>>2]|0;if((c[b+388>>2]|0)==(f|0)){aa=b+384|0;c[aa>>2]=c[(c[aa>>2]|0)+44>>2];break}else{aa=f+-4|0;c[b+384>>2]=c[aa>>2];c[e>>2]=aa;break}}}while(0);c[i>>2]=c[j+12>>2]}s9(_,c[X>>2]|0);s9(Z,c[W>>2]|0);c[Y>>2]=70260;e=c[Y+28>>2]|0;if(!e){l=$;return}_=e+8|0;aa=c[_>>2]|0;c[_>>2]=aa-1;if((aa|0)!=1){l=$;return}UU(e,1,1);l=$;return}function c9(a,b){a=a|0;b=b|0;Jk[c[(c[a>>2]|0)+120>>2]&1023](a,b);return}function d9(b,d){b=b|0;d=d|0;var e=0,f=0,h=0,i=0,j=0,k=0;do if((c[d+108>>2]|0)==0?(a[d+104>>0]|0)!=0:0){k=!(+g[(Fz(d)|0)+12>>2]>=0.0);h=b+336|0;e=c[h>>2]|0;if(!k)if(Gz(e,Fz(d)|0)|0)return;else{f=h;e=c[h>>2]|0;break}else{f=h;i=5}}else i=3;while(0);if((i|0)==3){e=b+336|0;f=e;e=c[e>>2]|0;i=5}if((i|0)==5)c[e+36>>2]=c[e+16>>2];Hz(e);e=c[d+120>>2]|0;a:do if(!e){e=c[d+100>>2]|0;if(e|0){lk[c[(c[e>>2]|0)+92>>2]&127](e,d,b+(c[(c[b>>2]|0)+-12>>2]|0)|0)|0;break}switch(c[b+16>>2]|0){case 0:break a;case 1:{Jk[c[(c[d>>2]|0)+216>>2]&1023](d,b);break a}default:{Jk[c[(c[d>>2]|0)+220>>2]&1023](d,b);break a}}}else{paa(b,e);e=c[d+100>>2]|0;b:do if(!e)switch(c[b+16>>2]|0){case 0:break b;case 1:{Jk[c[(c[d>>2]|0)+216>>2]&1023](d,b);break b}default:{Jk[c[(c[d>>2]|0)+220>>2]&1023](d,b);break b}}else lk[c[(c[e>>2]|0)+92>>2]&127](e,d,b+(c[(c[b>>2]|0)+-12>>2]|0)|0)|0;while(0);d=b+376|0;j=c[d>>2]|0;e=c[j+16>>2]|0;i=c[e+120>>2]|0;if(i&2|0){k=b+436|0;c[k>>2]=(c[k>>2]|0)+-1}do if(i|0){h=a[e+128+11>>0]|0;if(h<<24>>24<0)e=c[e+132>>2]|0;else e=h&255;if(e|0?(i&4|0)!=0|(c[b+436>>2]|0)==0:0){e=b+392|0;h=c[e>>2]|0;if((c[b+388>>2]|0)==(h|0)){k=b+384|0;c[k>>2]=c[(c[k>>2]|0)+44>>2];break}else{k=h+-4|0;c[b+384>>2]=c[k>>2];c[e>>2]=k;break}}}while(0);c[d>>2]=c[j+12>>2]}while(0);b=c[f>>2]|0;e=b+32|0;f=c[e>>2]|0;if(f|0){h=b+24|0;i=c[h>>2]|0;if((c[b+20>>2]|0)!=(i|0)){k=i+-4|0;c[b+16>>2]=c[k>>2];c[h>>2]=k}c[e>>2]=f+-1}e=c[b+64>>2]|0;j=c[b+68>>2]|0;if((e|0)!=(j|0))do{f=e+20|0;h=c[f>>2]|0;if(h|0){i=e+12|0;d=c[i>>2]|0;if((c[e+8>>2]|0)!=(d|0)){k=d+-4|0;c[e+4>>2]=c[k>>2];c[i>>2]=k}c[f>>2]=h+-1}e=e+52|0}while((e|0)!=(j|0));e=c[b+76>>2]|0;k=c[b+80>>2]|0;if((e|0)==(k|0))return;do{f=e+36|0;h=c[f>>2]|0;if(h|0){i=e+28|0;d=c[i>>2]|0;if((c[e+24>>2]|0)!=(d|0)){b=d+-4|0;c[e+20>>2]=c[b>>2];c[i>>2]=b}c[f>>2]=h+-1}f=c[e+68>>2]|0;b=c[e+72>>2]|0;if((f|0)!=(b|0))do{h=f+16|0;i=c[h>>2]|0;if(i|0){d=f+8|0;j=c[d>>2]|0;if((c[f+4>>2]|0)!=(j|0)){j=j+-4|0;c[f>>2]=c[j>>2];c[d>>2]=j}c[h>>2]=i+-1}f=f+48|0}while((f|0)!=(b|0));e=e+80|0}while((e|0)!=(k|0));return}function e9(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;i=b+384|0;e=c[(c[i>>2]|0)+44>>2]|0;if(!(a[d+136>>0]|0))f=0;else{h=d+140|0;f=e+176|0;c[f>>2]=c[h>>2];c[f+4>>2]=c[h+4>>2];c[f+8>>2]=c[h+8>>2];c[f+12>>2]=c[h+12>>2];f=c[d+156>>2]|0;e=c[(c[i>>2]|0)+44>>2]|0}c[e+168>>2]=f;e=c[d+120>>2]|0;if(!e){e=c[d+100>>2]|0;if(e|0){lk[c[(c[e>>2]|0)+92>>2]&127](e,d,b+(c[(c[b>>2]|0)+-12>>2]|0)|0)|0;return}switch(c[b+16>>2]|0){case 1:{Jk[c[(c[d>>2]|0)+216>>2]&1023](d,b);return}case 0:return;default:{Jk[c[(c[d>>2]|0)+220>>2]&1023](d,b);return}}}paa(b,e);e=c[d+100>>2]|0;a:do if(!e)switch(c[b+16>>2]|0){case 0:break a;case 1:{Jk[c[(c[d>>2]|0)+216>>2]&1023](d,b);break a}default:{Jk[c[(c[d>>2]|0)+220>>2]&1023](d,b);break a}}else lk[c[(c[e>>2]|0)+92>>2]&127](e,d,b+(c[(c[b>>2]|0)+-12>>2]|0)|0)|0;while(0);g=b+376|0;h=c[g>>2]|0;e=c[h+16>>2]|0;d=c[e+120>>2]|0;if(d&2|0){f=b+436|0;c[f>>2]=(c[f>>2]|0)+-1}do if(d|0){f=a[e+128+11>>0]|0;if(f<<24>>24<0)e=c[e+132>>2]|0;else e=f&255;if(e|0?(d&4|0)!=0|(c[b+436>>2]|0)==0:0){e=b+392|0;f=c[e>>2]|0;if((c[b+388>>2]|0)==(f|0)){c[i>>2]=c[(c[i>>2]|0)+44>>2];break}else{b=f+-4|0;c[i>>2]=c[b>>2];c[e>>2]=b;break}}}while(0);c[g>>2]=c[h+12>>2];return}function f9(b,d){b=b|0;d=d|0;var e=0,f=0,h=0,i=0,j=0,k=0,l=0,m=0;m=b+28|0;j=b+336|0;Ez(c[j>>2]|0,m);if((c[d+108>>2]|0)==0?(a[d+104>>0]|0)!=0:0){l=!(+g[(Fz(d)|0)+12>>2]>=0.0);e=c[j>>2]|0;if(!l){l=Gz(e,Fz(d)|0)|0;e=c[j>>2]|0;if(l){YR(e,m);return}}else f=5}else{e=c[j>>2]|0;f=5}if((f|0)==5)c[e+36>>2]=c[e+16>>2];Hz(e);e=c[d+120>>2]|0;a:do if(!e){e=c[d+100>>2]|0;if(e|0){lk[c[(c[e>>2]|0)+92>>2]&127](e,d,b+(c[(c[b>>2]|0)+-12>>2]|0)|0)|0;break}switch(c[b+16>>2]|0){case 0:break a;case 1:{Jk[c[(c[d>>2]|0)+216>>2]&1023](d,b);break a}default:{Jk[c[(c[d>>2]|0)+220>>2]&1023](d,b);break a}}}else{paa(b,e);e=c[d+100>>2]|0;b:do if(!e)switch(c[b+16>>2]|0){case 0:break b;case 1:{Jk[c[(c[d>>2]|0)+216>>2]&1023](d,b);break b}default:{Jk[c[(c[d>>2]|0)+220>>2]&1023](d,b);break b}}else lk[c[(c[e>>2]|0)+92>>2]&127](e,d,b+(c[(c[b>>2]|0)+-12>>2]|0)|0)|0;while(0);h=b+376|0;i=c[h>>2]|0;e=c[i+16>>2]|0;d=c[e+120>>2]|0;if(d&2|0){l=b+436|0;c[l>>2]=(c[l>>2]|0)+-1}do if(d|0){f=a[e+128+11>>0]|0;if(f<<24>>24<0)e=c[e+132>>2]|0;else e=f&255;if(e|0?(d&4|0)!=0|(c[b+436>>2]|0)==0:0){e=b+392|0;f=c[e>>2]|0;if((c[b+388>>2]|0)==(f|0)){l=b+384|0;c[l>>2]=c[(c[l>>2]|0)+44>>2];break}else{l=f+-4|0;c[b+384>>2]=c[l>>2];c[e>>2]=l;break}}}while(0);c[h>>2]=c[i+12>>2]}while(0);l=c[j>>2]|0;e=l+32|0;f=c[e>>2]|0;if(f|0){d=l+24|0;h=c[d>>2]|0;if((c[l+20>>2]|0)!=(h|0)){k=h+-4|0;c[l+16>>2]=c[k>>2];c[d>>2]=k}c[e>>2]=f+-1}e=c[l+64>>2]|0;b=c[l+68>>2]|0;if((e|0)!=(b|0))do{f=e+20|0;d=c[f>>2]|0;if(d|0){h=e+12|0;i=c[h>>2]|0;if((c[e+8>>2]|0)!=(i|0)){k=i+-4|0;c[e+4>>2]=c[k>>2];c[h>>2]=k}c[f>>2]=d+-1}e=e+52|0}while((e|0)!=(b|0));e=c[l+76>>2]|0;k=c[l+80>>2]|0;if((e|0)!=(k|0))do{f=e+36|0;d=c[f>>2]|0;if(d|0){h=e+28|0;i=c[h>>2]|0;if((c[e+24>>2]|0)!=(i|0)){j=i+-4|0;c[e+20>>2]=c[j>>2];c[h>>2]=j}c[f>>2]=d+-1}f=c[e+68>>2]|0;j=c[e+72>>2]|0;if((f|0)!=(j|0))do{d=f+16|0;h=c[d>>2]|0;if(h|0){i=f+8|0;b=c[i>>2]|0;if((c[f+4>>2]|0)!=(b|0)){b=b+-4|0;c[f>>2]=c[b>>2];c[i>>2]=b}c[d>>2]=h+-1}f=f+48|0}while((f|0)!=(j|0));e=e+80|0}while((e|0)!=(k|0));YR(l,m);return}function g9(b,d){b=b|0;d=d|0;var e=0,f=0,h=0,i=0,j=0,k=0;do if((c[d+108>>2]|0)==0?(a[d+104>>0]|0)!=0:0){k=!(+g[(Fz(d)|0)+12>>2]>=0.0);h=b+336|0;e=c[h>>2]|0;if(!k)if(Gz(e,Fz(d)|0)|0)return;else{f=h;e=c[h>>2]|0;break}else{f=h;i=5}}else i=3;while(0);if((i|0)==3){e=b+336|0;f=e;e=c[e>>2]|0;i=5}if((i|0)==5)c[e+36>>2]=c[e+16>>2];Hz(e);e=c[d+120>>2]|0;i=(e|0)!=0;if(i)paa(b,e);k=b+384|0;e=c[(c[k>>2]|0)+44>>2]|0;j=c[e+228>>2]|0;if((j|0)!=0?(c[j+24>>2]|0)!=0:0)e=c[e+232>>2]|0;else e=0;a:do if(lk[c[(c[d>>2]|0)+264>>2]&127](d,e,b)|0){h=c[d+100>>2]|0;if(h|0){lk[c[(c[h>>2]|0)+92>>2]&127](h,d,b+(c[(c[b>>2]|0)+-12>>2]|0)|0)|0;break}switch(c[b+16>>2]|0){case 0:break a;case 1:{Jk[c[(c[d>>2]|0)+216>>2]&1023](d,b);break a}default:{Jk[c[(c[d>>2]|0)+220>>2]&1023](d,b);break a}}}while(0);KU(d,e,b);LU(d,b);if(i){d=b+376|0;j=c[d>>2]|0;e=c[j+16>>2]|0;i=c[e+120>>2]|0;if(i&2|0){h=b+436|0;c[h>>2]=(c[h>>2]|0)+-1}do if(i|0){h=a[e+128+11>>0]|0;if(h<<24>>24<0)e=c[e+132>>2]|0;else e=h&255;if(e|0?(i&4|0)!=0|(c[b+436>>2]|0)==0:0){e=b+392|0;h=c[e>>2]|0;if((c[b+388>>2]|0)==(h|0)){c[k>>2]=c[(c[k>>2]|0)+44>>2];break}else{b=h+-4|0;c[k>>2]=c[b>>2];c[e>>2]=b;break}}}while(0);c[d>>2]=c[j+12>>2]}k=c[f>>2]|0;e=k+32|0;f=c[e>>2]|0;if(f|0){h=k+24|0;i=c[h>>2]|0;if((c[k+20>>2]|0)!=(i|0)){b=i+-4|0;c[k+16>>2]=c[b>>2];c[h>>2]=b}c[e>>2]=f+-1}e=c[k+64>>2]|0;j=c[k+68>>2]|0;if((e|0)!=(j|0))do{f=e+20|0;h=c[f>>2]|0;if(h|0){i=e+12|0;d=c[i>>2]|0;if((c[e+8>>2]|0)!=(d|0)){b=d+-4|0;c[e+4>>2]=c[b>>2];c[i>>2]=b}c[f>>2]=h+-1}e=e+52|0}while((e|0)!=(j|0));e=c[k+76>>2]|0;b=c[k+80>>2]|0;if((e|0)==(b|0))return;do{f=e+36|0;h=c[f>>2]|0;if(h|0){i=e+28|0;d=c[i>>2]|0;if((c[e+24>>2]|0)!=(d|0)){k=d+-4|0;c[e+20>>2]=c[k>>2];c[i>>2]=k}c[f>>2]=h+-1}f=c[e+68>>2]|0;k=c[e+72>>2]|0;if((f|0)!=(k|0))do{h=f+16|0;i=c[h>>2]|0;if(i|0){d=f+8|0;j=c[d>>2]|0;if((c[f+4>>2]|0)!=(j|0)){j=j+-4|0;c[f>>2]=c[j>>2];c[d>>2]=j}c[h>>2]=i+-1}f=f+48|0}while((f|0)!=(k|0));e=e+80|0}while((e|0)!=(b|0));return}function h9(a){a=a|0;var b=0;b=j0a(536)|0;oaa(b,a);return b|0}function i9(a){a=a|0;var b=0,d=0.0,e=0.0,f=0,g=0,i=0,j=0,k=0;k=l;l=l+16|0;f=k+8|0;i=k;C9(a);j=a+56|0;if(!(c[a+68>>2]|0)){pA(j);l=k;return}e=+h[a+408>>3];d=+h[a+400>>3];if(!(e>=d)){pA(j);l=k;return}g=(c[a+132>>2]|0)+32|0;h[f>>3]=d;h[i>>3]=e;b=c[a+84>>2]|0;if(!b)mk[c[(c[a>>2]|0)+212>>2]&63](a,g,f,i)|0;else mk[c[(c[b>>2]|0)+16>>2]&63](b,g,f,i)|0;pA(j);l=k;return}function j9(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return B9(b,c,d,+h[a+88>>3])|0}function k9(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return A9(b,c,d,+h[a+88>>3])|0}function l9(a){a=a|0;a=a+-56|0;r9(a,89940);Pr(a+504|0);return}function m9(a){a=a|0;a=a+-56|0;r9(a,89940);Pr(a+504|0);l0a(a);return}function n9(a){a=a|0;a=a+(c[(c[a>>2]|0)+-16>>2]|0)|0;r9(a,89940);Pr(a+504|0);return}function o9(a){a=a|0;a=a+(c[(c[a>>2]|0)+-16>>2]|0)|0;r9(a,89940);Pr(a+504|0);l0a(a);return}function p9(a){a=a|0;return 160686}function q9(a){a=a|0;return 161889}function r9(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;i=c[b>>2]|0;c[a>>2]=i;c[a+(c[i+-12>>2]|0)>>2]=c[b+12>>2];i=a+56|0;c[i>>2]=89588;Bk[c[(c[a>>2]|0)+76>>2]&2047](a);d=a+500|0;e=c[d>>2]|0;if(e|0?(g=e+8|0,h=c[g>>2]|0,c[g>>2]=h-1,(h|0)==1):0)UU(e,1,1);c[d>>2]=0;s9(a+488|0,c[a+492>>2]|0);s9(a+476|0,c[a+480>>2]|0);t9(a+440|0);f=a+420|0;g=c[f>>2]|0;if(g|0){h=a+424|0;d=c[h>>2]|0;if((d|0)==(g|0))d=g;else{do{d=d+-4|0;e=c[d>>2]|0;if(e|0?(k=e+8|0,j=c[k>>2]|0,c[k>>2]=j-1,(j|0)==1):0)UU(e,1,1);c[d>>2]=0}while((d|0)!=(g|0));d=c[f>>2]|0}c[h>>2]=g;l0a(d)}d=c[a+388>>2]|0;if(d|0){c[a+392>>2]=d;l0a(d)}d=a+380|0;e=c[d>>2]|0;if(e|0?(j=e+8|0,k=c[j>>2]|0,c[j>>2]=k-1,(k|0)==1):0)UU(e,1,1);c[d>>2]=0;d=a+372|0;e=c[d>>2]|0;if(!e){c[d>>2]=0;tz(i);k=b+4|0;Cy(a,k);return}j=e+8|0;k=c[j>>2]|0;c[j>>2]=k-1;if((k|0)!=1){c[d>>2]=0;tz(i);k=b+4|0;Cy(a,k);return}UU(e,1,1);c[d>>2]=0;tz(i);k=b+4|0;Cy(a,k);return}function s9(a,b){a=a|0;b=b|0;if(!b)return;s9(a,c[b>>2]|0);s9(a,c[b+4>>2]|0);a=c[b+156>>2]|0;if(a|0){c[b+160>>2]=a;l0a(a)}l0a(b);return}function t9(a){a=a|0;var b=0,d=0,e=0,f=0;b=a+32|0;d=c[b>>2]|0;if(d|0?(f=d+8|0,e=c[f>>2]|0,c[f>>2]=e-1,(e|0)==1):0)UU(d,1,1);c[b>>2]=0;b=c[a+20>>2]|0;if(b|0){c[a+24>>2]=b;l0a(b)}b=c[a+8>>2]|0;if(b|0){c[a+12>>2]=b;l0a(b)}b=c[a>>2]|0;if(!b){c[a>>2]=0;return}e=b+8|0;f=c[e>>2]|0;c[e>>2]=f-1;if((f|0)!=1){c[a>>2]=0;return}UU(b,1,1);c[a>>2]=0;return}function u9(a){a=a|0;var b=0,d=0,e=0;b=c[a>>2]|0;if(b|0?(e=b+8|0,d=c[e>>2]|0,c[e>>2]=d-1,(d|0)==1):0)UU(b,1,1);c[a>>2]=0;return}function v9(a){a=a|0;s9(a,c[a+4>>2]|0);return}function w9(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;e=c[a>>2]|0;if(!e)return;f=a+4|0;b=c[f>>2]|0;if((b|0)==(e|0))b=e;else{do{b=b+-4|0;d=c[b>>2]|0;if(d|0?(h=d+8|0,g=c[h>>2]|0,c[h>>2]=g-1,(g|0)==1):0)UU(d,1,1);c[b>>2]=0}while((b|0)!=(e|0));b=c[a>>2]|0}c[f>>2]=e;l0a(b);return}function x9(a){a=a|0;var b=0;b=c[a>>2]|0;if(!b)return;c[a+4>>2]=b;l0a(b);return}function y9(a){a=a|0;var b=0,d=0,e=0;b=c[a>>2]|0;if(b|0?(e=b+8|0,d=c[e>>2]|0,c[e>>2]=d-1,(d|0)==1):0)UU(b,1,1);c[a>>2]=0;return}function z9(a){a=a|0;var b=0,d=0,e=0;b=c[a>>2]|0;if(b|0?(e=b+8|0,d=c[e>>2]|0,c[e>>2]=d-1,(d|0)==1):0)UU(b,1,1);c[a>>2]=0;return}function A9(a,b,d,e){a=a|0;b=b|0;d=d|0;e=+e;var f=0.0,g=0.0,i=0.0,j=0,k=0,m=0.0,n=0.0,o=0.0;k=l;l=l+128|0;j=k;f=+h[d>>3];i=+h[b>>3];if(f<i+-1.0e-06){if(!(f!=-3402823466385288598117041.0e14|i!=3402823466385288598117041.0e14)){j=0;l=k;return j|0}if(!(ZQ(4)|0)){j=0;l=k;return j|0}a=mr(lr(4)|0,161901,65)|0;b=mr(TSa(a,+h[b>>3])|0,161967,9)|0;d=TSa(b,+h[d>>3])|0;BSa(j,d+(c[(c[d>>2]|0)+-12>>2]|0)|0);b=cUa(j,230580)|0;b=kk[c[(c[b>>2]|0)+28>>2]&511](b,10)|0;dUa(j);VSa(d,b)|0;HSa(d)|0;j=0;l=k;return j|0}g=(f+i)*.5;if(f<i+1.0e-06){f=g+1.0e-06;h[b>>3]=g+-1.0e-06;h[d>>3]=f}if((+A(+(+h[a+24>>3]))<1.0e-06?+A(+(+h[a+56>>3]))<1.0e-06:0)?+A(+(+h[a+88>>3]))<1.0e-06:0){i=+h[b>>3];g=(f-i)*.02;g=g<1.0?1.0:g;i=i-g;g=f+g;h[b>>3]=i;h[d>>3]=g;e=g-i;h[a+80>>3]=-2.0/e;h[a+112>>3]=-(g+i)/e;j=1;l=k;return j|0}g=+h[b>>3]*.98;o=f*1.02;n=f*e;g=g<n?n:g;h[b>>3]=g;h[d>>3]=o;g=-g;n=+h[a+80>>3];m=+h[a+112>>3];f=+h[a+88>>3];i=+h[a+120>>3];g=(n*g+m)/(f*g+i);e=-o;i=(n*e+m)/(f*e+i);e=+A(+(2.0/(g-i)));Lra(j,1.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,e,0.0,0.0,0.0,(g+i)*-.5*e,1.0);Vra(a,j);j=1;l=k;return j|0}function B9(a,b,d,e){a=a|0;b=b|0;d=d|0;e=+e;var f=0.0,i=0.0,j=0.0,k=0,m=0,n=0,o=0.0,p=0.0,q=0.0;n=l;l=l+192|0;k=n+128|0;m=n;f=+h[d>>3];j=+h[b>>3];if(f<j+-1.0e-06){if(!(f!=-3402823466385288598117041.0e14|j!=3402823466385288598117041.0e14)){m=0;l=n;return m|0}if(!(ZQ(4)|0)){m=0;l=n;return m|0}m=mr(lr(4)|0,161901,65)|0;m=mr(TSa(m,+h[b>>3])|0,161967,9)|0;m=TSa(m,+h[d>>3])|0;BSa(k,m+(c[(c[m>>2]|0)+-12>>2]|0)|0);d=cUa(k,230580)|0;d=kk[c[(c[d>>2]|0)+28>>2]&511](d,10)|0;dUa(k);VSa(m,d)|0;HSa(m)|0;m=0;l=n;return m|0}i=(f+j)*.5;if(f<j+1.0e-06){f=i+1.0e-06;h[b>>3]=i+-1.0e-06;h[d>>3]=f}if((+A(+(+g[a+12>>2]))<1.0e-06?+A(+(+g[a+28>>2]))<1.0e-06:0)?+A(+(+g[a+44>>2]))<1.0e-06:0){j=+h[b>>3];i=(f-j)*.02;i=i<1.0?1.0:i;j=j-i;i=f+i;h[b>>3]=j;h[d>>3]=i;e=i-j;g[a+40>>2]=-2.0/e;g[a+56>>2]=-(i+j)/e;m=1;l=n;return m|0}i=+h[b>>3]*.98;q=f*1.02;p=f*e;i=i<p?p:i;h[b>>3]=i;h[d>>3]=q;i=-i;p=+g[a+40>>2];o=+g[a+56>>2];e=+g[a+44>>2];j=+g[a+60>>2];i=(i*p+o)/(i*e+j);f=-q;j=(f*p+o)/(f*e+j);e=+A(+(2.0/(i-j)));Lra(m,1.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,e,0.0,0.0,0.0,(i+j)*-.5*e,1.0);jU(k,m);kU(a,k);m=1;l=n;return m|0}function C9(a){a=a|0;var b=0,d=0.0,e=0,f=0.0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;i=a+476|0;j=a+484|0;if(c[j>>2]|0){b=c[i>>2]|0;k=a+480|0;a:do if((b|0)!=(k|0)){l=a+400|0;d=+h[l>>3];do{if(!(+h[b+16>>3]<d))break a;d=+D9(0,b+24|0,b+156|0,c[b+152>>2]|0);f=+h[l>>3];if(d<f)h[l>>3]=d;else d=f;e=c[b+4>>2]|0;if(!e){e=b+8|0;g=c[e>>2]|0;if((c[g>>2]|0)==(b|0))b=g;else do{o=c[e>>2]|0;e=o+8|0;b=c[e>>2]|0}while((c[b>>2]|0)!=(o|0))}else{b=e;while(1){e=c[b>>2]|0;if(!e)break;else b=e}}}while((b|0)!=(k|0))}while(0);s9(i,c[k>>2]|0);c[j>>2]=0;c[i>>2]=k;c[k>>2]=0}m=a+488|0;n=a+496|0;if(!(c[n>>2]|0))return;o=a+492|0;b:do if((o|0)!=(c[m>>2]|0)){l=a+408|0;k=o;while(1){b=c[k>>2]|0;j=(b|0)==0;if(j){e=k;do{a=e;e=c[e+8>>2]|0}while((c[e>>2]|0)==(a|0))}else{e=b;while(1){g=c[e+4>>2]|0;if(!g)break;else e=g}}if(!(+h[e+16>>3]>+h[l>>3]))break b;if(j){e=k;do{a=e;e=c[e+8>>2]|0}while((c[e>>2]|0)==(a|0))}else{e=b;while(1){g=c[e+4>>2]|0;if(!g)break;else e=g}}i=e+24|0;if(j){e=k;do{a=e;e=c[e+8>>2]|0}while((c[e>>2]|0)==(a|0))}else{e=b;while(1){g=c[e+4>>2]|0;if(!g)break;else e=g}}g=e+156|0;if(j){b=k;do{a=b;b=c[b+8>>2]|0}while((c[b>>2]|0)==(a|0))}else while(1){e=c[b+4>>2]|0;if(!e)break;else b=e}d=+E9(0,i,g,c[b+152>>2]|0);if(d>+h[l>>3])h[l>>3]=d;b=c[k>>2]|0;if(!b){b=k;do{a=b;b=c[b+8>>2]|0}while((c[b>>2]|0)==(a|0))}else while(1){e=c[b+4>>2]|0;if(!e)break;else b=e}if((b|0)==(c[m>>2]|0))break;else k=b}}while(0);s9(m,c[o>>2]|0);c[n>>2]=0;c[m>>2]=o;c[o>>2]=0;return}function D9(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0.0,g=0,i=0,j=0,k=0,m=0,n=0,o=0;o=l;l=l+208|0;a=o;c[a>>2]=89964;n=a+8|0;g=n+8|0;h[g>>3]=0.0;i=n+16|0;Qra(i);j=n+144|0;k=j;m=k+40|0;do{c[k>>2]=0;k=k+4|0}while((k|0)<(m|0));c[a>>2]=90076;c[a+192>>2]=0;c[a+196>>2]=0;h[g>>3]=3402823466385288598117041.0e14;if((i|0)!=(b|0)){h[i>>3]=+h[b>>3];h[n+24>>3]=+h[b+8>>3];h[n+32>>3]=+h[b+16>>3];h[n+40>>3]=+h[b+24>>3];h[n+48>>3]=+h[b+32>>3];h[n+56>>3]=+h[b+40>>3];h[n+64>>3]=+h[b+48>>3];h[n+72>>3]=+h[b+56>>3];h[n+80>>3]=+h[b+64>>3];h[n+88>>3]=+h[b+72>>3];h[n+96>>3]=+h[b+80>>3];h[n+104>>3]=+h[b+88>>3];h[n+112>>3]=+h[b+96>>3];h[n+120>>3]=+h[b+104>>3];h[n+128>>3]=+h[b+112>>3];h[n+136>>3]=+h[b+120>>3]}c[j>>2]=d;Jk[c[(c[e>>2]|0)+284>>2]&1023](e,a);f=+h[g>>3];a=c[n+172>>2]|0;if(a|0){c[n+176>>2]=a;l0a(a)}a=c[n+160>>2]|0;if(a|0){c[n+164>>2]=a;l0a(a)}a=c[n+148>>2]|0;if(!a){l=o;return +f}c[n+152>>2]=a;l0a(a);l=o;return +f}function E9(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0.0,g=0,i=0,j=0,k=0,m=0,n=0,o=0;o=l;l=l+208|0;a=o;c[a>>2]=89964;n=a+8|0;g=n+8|0;h[g>>3]=0.0;i=n+16|0;Qra(i);j=n+144|0;k=j;m=k+40|0;do{c[k>>2]=0;k=k+4|0}while((k|0)<(m|0));c[a>>2]=90020;c[a+192>>2]=0;c[a+196>>2]=0;h[g>>3]=-3402823466385288598117041.0e14;if((i|0)!=(b|0)){h[i>>3]=+h[b>>3];h[n+24>>3]=+h[b+8>>3];h[n+32>>3]=+h[b+16>>3];h[n+40>>3]=+h[b+24>>3];h[n+48>>3]=+h[b+32>>3];h[n+56>>3]=+h[b+40>>3];h[n+64>>3]=+h[b+48>>3];h[n+72>>3]=+h[b+56>>3];h[n+80>>3]=+h[b+64>>3];h[n+88>>3]=+h[b+72>>3];h[n+96>>3]=+h[b+80>>3];h[n+104>>3]=+h[b+88>>3];h[n+112>>3]=+h[b+96>>3];h[n+120>>3]=+h[b+104>>3];h[n+128>>3]=+h[b+112>>3];h[n+136>>3]=+h[b+120>>3]}c[j>>2]=d;Jk[c[(c[e>>2]|0)+284>>2]&1023](e,a);f=+h[g>>3];a=c[n+172>>2]|0;if(a|0){c[n+176>>2]=a;l0a(a)}a=c[n+160>>2]|0;if(a|0){c[n+164>>2]=a;l0a(a)}a=c[n+148>>2]|0;if(!a){l=o;return +f}c[n+152>>2]=a;l0a(a);l=o;return +f}function F9(a){a=a|0;var b=0;b=a+8|0;a=c[b+172>>2]|0;if(a|0){c[b+176>>2]=a;l0a(a)}a=c[b+160>>2]|0;if(a|0){c[b+164>>2]=a;l0a(a)}a=c[b+148>>2]|0;if(!a)return;c[b+152>>2]=a;l0a(a);return}function G9(a){a=a|0;var b=0,d=0;d=a+8|0;b=c[d+172>>2]|0;if(b|0){c[d+176>>2]=b;l0a(b)}b=c[d+160>>2]|0;if(b|0){c[d+164>>2]=b;l0a(b)}b=c[d+148>>2]|0;if(!b){l0a(a);return}c[d+152>>2]=b;l0a(b);l0a(a);return}function H9(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;d=l;l=l+16|0;e=d;b=mr(lr(2)|0,161150,53)|0;BSa(e,b+(c[(c[b>>2]|0)+-12>>2]|0)|0);a=cUa(e,230580)|0;a=kk[c[(c[a>>2]|0)+28>>2]&511](a,10)|0;dUa(e);VSa(b,a)|0;HSa(b)|0;l=d;return}function I9(a,b,d){a=a|0;b=b|0;d=d|0;c[a+192>>2]=b;c[a+196>>2]=d;return}function J9(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;d=l;l=l+16|0;e=d;b=mr(lr(2)|0,161096,53)|0;BSa(e,b+(c[(c[b>>2]|0)+-12>>2]|0)|0);a=cUa(e,230580)|0;a=kk[c[(c[a>>2]|0)+28>>2]&511](a,10)|0;dUa(e);VSa(b,a)|0;HSa(b)|0;l=d;return}function K9(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;d=l;l=l+16|0;e=d;b=mr(lr(2)|0,161041,54)|0;BSa(e,b+(c[(c[b>>2]|0)+-12>>2]|0)|0);a=cUa(e,230580)|0;a=kk[c[(c[a>>2]|0)+28>>2]&511](a,10)|0;dUa(e);VSa(b,a)|0;HSa(b)|0;l=d;return}function L9(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;d=l;l=l+16|0;e=d;b=mr(lr(2)|0,160986,54)|0;BSa(e,b+(c[(c[b>>2]|0)+-12>>2]|0)|0);a=cUa(e,230580)|0;a=kk[c[(c[a>>2]|0)+28>>2]&511](a,10)|0;dUa(e);VSa(b,a)|0;HSa(b)|0;l=d;return}function M9(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;d=l;l=l+16|0;e=d;b=mr(lr(2)|0,160931,54)|0;BSa(e,b+(c[(c[b>>2]|0)+-12>>2]|0)|0);a=cUa(e,230580)|0;a=kk[c[(c[a>>2]|0)+28>>2]&511](a,10)|0;dUa(e);VSa(b,a)|0;HSa(b)|0;l=d;return}function N9(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,i=0,j=0,k=0.0,l=0.0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0.0,s=0.0,t=0,u=0.0;j=a+196|0;f=c[j>>2]|0;if((e|0)==0|(f|0)==0)return;do switch(b|0){case 4:{i=f+((e+d|0)*12|0)|0;if((e|0)<=0)return;b=a+8|0;f=f+(d*12|0)|0;do{S9(b,f,f+12|0,f+24|0,0);f=f+36|0}while(f>>>0<i>>>0);return}case 5:{if((e|0)<=2)return;i=a+8|0;f=f+(d*12|0)|0;b=2;do{if(!(b&1)){d=f+12|0;S9(i,f,d,f+24|0,0);f=d}else{d=f+12|0;S9(i,f,f+24|0,d,0);f=d}b=b+1|0}while((b|0)!=(e|0));return}case 7:{if((e|0)<=3)return;i=a+8|0;f=f+(d*12|0)|0;b=3;while(1){d=f+24|0;S9(i,f,f+12|0,d,0);S9(i,f,d,f+36|0,0);b=b+4|0;if((b|0)>=(e|0))break;else f=f+48|0}return}case 8:{if((e|0)<=3)return;i=a+8|0;f=f+(d*12|0)|0;b=3;do{d=f+36|0;t=f;f=f+24|0;S9(i,t,t+12|0,d,0);S9(i,t,d,f,0);b=b+2|0}while((b|0)<(e|0));return}case 6:case 9:{j=f+(d*12|0)|0;if((e|0)<=2)return;i=a+8|0;f=2;b=j+12|0;do{d=b;b=b+12|0;S9(i,j,d,b,0);f=f+1|0}while((f|0)!=(e|0));return}case 0:{t=f+((e+d|0)*12|0)|0;if((e|0)<=0)return;i=a+8|0;j=i+8|0;a=i+144|0;p=+h[i+32>>3];q=+h[i+64>>3];r=+h[i+96>>3];s=+h[i+128>>3];i=f+(d*12|0)|0;o=+h[j>>3];while(1){l=+g[i>>2];m=+g[i+4>>2];n=+g[i+8>>2];u=s+(p*l+q*m+r*n);k=-u;a:do if(o>=k|u>-0.0)k=o;else{b=c[a>>2]|0;f=c[b>>2]|0;b=c[b+4>>2]|0;if((f|0)!=(b|0))do{if(+h[f+24>>3]+(+h[f>>3]*l+ +h[f+8>>3]*m+ +h[f+16>>3]*n)<0.0){k=o;break a}f=f+40|0}while((f|0)!=(b|0));h[j>>3]=k}while(0);i=i+12|0;if(i>>>0>=t>>>0)break;else o=k}return}case 1:{e=e+d+-1|0;i=f+(e*12|0)|0;if((e|0)<=(d|0))return;b=a+8|0;f=f+(d*12|0)|0;do{T9(b,f,f+12|0,0);f=f+24|0}while(f>>>0<i>>>0);return}case 3:{e=e+d+-1|0;i=f+(e*12|0)|0;if((e|0)<=(d|0))return;b=a+8|0;f=f+(d*12|0)|0;do{d=f;f=f+12|0;T9(b,d,f,0)}while(f>>>0<i>>>0);return}case 11:{e=e+d+-2|0;j=f+(e*12|0)|0;b=d+1|0;if((b|0)>=(e|0))return;i=a+8|0;f=f+(b*12|0)|0;do{d=f;f=f+12|0;T9(i,d,f,0)}while(f>>>0<j>>>0);return}case 2:{e=e+d+-1|0;i=f+(e*12|0)|0;b=a+8|0;if((e|0)>(d|0)){f=f+(d*12|0)|0;do{e=f;f=f+12|0;T9(b,e,f,0)}while(f>>>0<i>>>0);f=c[j>>2]|0}T9(b,i,f+(d*12|0)|0,0);return}default:return}while(0)}function O9(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;X9(a,b,c,d);return}function P9(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;W9(a,b,c,d);return}function Q9(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;R9(a,b,c,d);return}function R9(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,i=0,j=0,k=0.0,l=0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0.0,s=0.0,t=0.0,u=0,v=0,w=0.0;if((d|0)==0|(e|0)==0)return;do switch(b|0){case 4:{i=e+(d<<2)|0;if((d|0)<=0)return;f=a+8|0;b=a+196|0;do{d=c[b>>2]|0;S9(f,d+((c[e>>2]|0)*12|0)|0,d+((c[e+4>>2]|0)*12|0)|0,d+((c[e+8>>2]|0)*12|0)|0,0);e=e+12|0}while(e>>>0<i>>>0);return}case 5:{if((d|0)<=2)return;l=a+8|0;j=a+196|0;i=2;do{b=c[j>>2]|0;f=b+((c[e>>2]|0)*12|0)|0;if(!(i&1)){u=e+4|0;S9(l,f,b+((c[u>>2]|0)*12|0)|0,b+((c[e+8>>2]|0)*12|0)|0,0);e=u}else{u=e+4|0;S9(l,f,b+((c[e+8>>2]|0)*12|0)|0,b+((c[u>>2]|0)*12|0)|0,0);e=u}i=i+1|0}while((i|0)!=(d|0));return}case 7:{if((d|0)<=3)return;i=a+8|0;f=a+196|0;b=3;while(1){j=c[f>>2]|0;l=j+((c[e>>2]|0)*12|0)|0;a=j+((c[e+8>>2]|0)*12|0)|0;u=j+((c[e+12>>2]|0)*12|0)|0;S9(i,l,j+((c[e+4>>2]|0)*12|0)|0,a,0);S9(i,l,a,u,0);b=b+4|0;if((b|0)>=(d|0))break;else e=e+16|0}return}case 8:{if((d|0)<=3)return;i=a+8|0;f=a+196|0;b=3;do{v=c[f>>2]|0;l=v+((c[e>>2]|0)*12|0)|0;a=v+((c[e+12>>2]|0)*12|0)|0;j=e;e=e+8|0;u=v+((c[e>>2]|0)*12|0)|0;S9(i,l,v+((c[j+4>>2]|0)*12|0)|0,a,0);S9(i,l,a,u,0);b=b+2|0}while((b|0)<(d|0));return}case 6:case 9:{j=a+196|0;f=c[j>>2]|0;l=f+((c[e>>2]|0)*12|0)|0;if((d|0)<=2)return;i=a+8|0;b=e+8|0;S9(i,l,f+((c[e+4>>2]|0)*12|0)|0,f+((c[b>>2]|0)*12|0)|0,0);if((d|0)==3)return;e=b;b=3;do{v=c[j>>2]|0;u=e;e=e+4|0;S9(i,l,v+((c[u>>2]|0)*12|0)|0,v+((c[e>>2]|0)*12|0)|0,0);b=b+1|0}while((b|0)!=(d|0));return}case 0:{u=e+(d<<2)|0;if((d|0)<=0)return;v=a+8|0;i=c[a+196>>2]|0;j=v+8|0;l=v+144|0;q=+h[v+32>>3];r=+h[v+64>>3];s=+h[v+96>>3];t=+h[v+128>>3];p=+h[j>>3];while(1){v=c[e>>2]|0;m=+g[i+(v*12|0)>>2];n=+g[i+(v*12|0)+4>>2];o=+g[i+(v*12|0)+8>>2];w=t+(q*m+r*n+s*o);k=-w;a:do if(p>=k|w>-0.0)k=p;else{f=c[l>>2]|0;b=c[f>>2]|0;f=c[f+4>>2]|0;if((b|0)!=(f|0))do{if(+h[b+24>>3]+(+h[b>>3]*m+ +h[b+8>>3]*n+ +h[b+16>>3]*o)<0.0){k=p;break a}b=b+40|0}while((b|0)!=(f|0));h[j>>3]=k}while(0);e=e+4|0;if(e>>>0>=u>>>0)break;else p=k}return}case 1:{i=e+(d+-1<<2)|0;if((d|0)<=1)return;f=a+8|0;b=a+196|0;do{v=c[b>>2]|0;T9(f,v+((c[e>>2]|0)*12|0)|0,v+((c[e+4>>2]|0)*12|0)|0,0);e=e+8|0}while(e>>>0<i>>>0);return}case 3:{i=e+(d+-1<<2)|0;if((d|0)<=1)return;f=a+8|0;b=a+196|0;do{v=c[b>>2]|0;d=e;e=e+4|0;T9(f,v+((c[d>>2]|0)*12|0)|0,v+((c[e>>2]|0)*12|0)|0,0)}while(e>>>0<i>>>0);return}case 11:{i=e+(d+-2<<2)|0;if((d|0)<=3)return;f=a+8|0;b=a+196|0;e=e+4|0;do{v=c[b>>2]|0;d=e;e=e+4|0;T9(f,v+((c[d>>2]|0)*12|0)|0,v+((c[e>>2]|0)*12|0)|0,0)}while(e>>>0<i>>>0);return}case 2:{j=e+(d+-1<<2)|0;l=a+8|0;i=a+196|0;b=c[i>>2]|0;if((d|0)>1){f=e;do{v=f;f=f+4|0;T9(l,b+((c[v>>2]|0)*12|0)|0,b+((c[f>>2]|0)*12|0)|0,0);b=c[i>>2]|0}while(f>>>0<j>>>0)}T9(l,b+((c[j>>2]|0)*12|0)|0,b+((c[e>>2]|0)*12|0)|0,0);return}default:return}while(0)}function S9(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var i=0.0,j=0.0,k=0,m=0.0,n=0.0,o=0.0,p=0.0,q=0,r=0.0,s=0.0,t=0.0,u=0.0,v=0.0,w=0.0,x=0.0,y=0.0,z=0.0,A=0.0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0.0,$=0.0,aa=0.0;Z=l;l=l+16|0;S=Z;A=+g[b>>2];U=a+32|0;z=+h[U>>3];n=+g[b+4>>2];V=a+64|0;y=+h[V>>3];o=+g[b+8>>2];W=a+96|0;m=+h[W>>3];X=a+128|0;_=+h[X>>3];i=_+(z*A+y*n+m*o);p=-i;r=+g[d>>2];s=+g[d+4>>2];t=+g[d+8>>2];j=_+(z*r+y*s+m*t);u=-j;v=+g[e>>2];w=+g[e+4>>2];x=+g[e+8>>2];m=_+(z*v+y*w+m*x);y=-m;Y=a+8|0;z=+h[Y>>3];if(z>=p&z>=u&z>=y){l=Z;return}if(i>-0.0&j>-0.0&m>-0.0){l=Z;return}R=a+144|0;q=c[R>>2]|0;f=c[q>>2]|0;q=c[q+4>>2]|0;if((f|0)!=(q|0)){k=1;Q=0;while(1){$=+h[f>>3];_=+h[f+8>>3];i=+h[f+16>>3];aa=+h[f+24>>3];j=aa+($*A+_*n+i*o);m=aa+($*r+_*s+i*t);i=aa+($*v+_*w+i*x);if(((j<0.0&1)+(m<0.0&1)+(i<0.0&1)|0)==3){T=48;break}Q=(((j>=0.0&1)+(m>=0.0&1)+(i>=0.0&1)|0)>>>0<3?k:0)|Q;f=f+40|0;if((f|0)==(q|0))break;else k=k<<1}if((T|0)==48){l=Z;return}if(Q|0){O=a+148|0;f=c[O>>2]|0;P=a+152|0;c[P>>2]=f;g[S>>2]=0.0;N=S+4|0;c[N>>2]=c[b>>2];c[N+4>>2]=c[b+4>>2];c[N+8>>2]=c[b+8>>2];N=a+156|0;if((c[N>>2]|0)>>>0>f>>>0){c[f>>2]=c[S>>2];c[f+4>>2]=c[S+4>>2];c[f+8>>2]=c[S+8>>2];c[f+12>>2]=c[S+12>>2];f=(c[P>>2]|0)+16|0;c[P>>2]=f}else{U9(O,S);f=c[P>>2]|0}g[S>>2]=0.0;M=S+4|0;c[M>>2]=c[d>>2];c[M+4>>2]=c[d+4>>2];c[M+8>>2]=c[d+8>>2];if(f>>>0<(c[N>>2]|0)>>>0){c[f>>2]=c[S>>2];c[f+4>>2]=c[S+4>>2];c[f+8>>2]=c[S+8>>2];c[f+12>>2]=c[S+12>>2];f=(c[P>>2]|0)+16|0;c[P>>2]=f}else{U9(O,S);f=c[P>>2]|0}g[S>>2]=0.0;M=S+4|0;c[M>>2]=c[e>>2];c[M+4>>2]=c[e+4>>2];c[M+8>>2]=c[e+8>>2];if(f>>>0<(c[N>>2]|0)>>>0){c[f>>2]=c[S>>2];c[f+4>>2]=c[S+4>>2];c[f+8>>2]=c[S+8>>2];c[f+12>>2]=c[S+12>>2];c[P>>2]=(c[P>>2]|0)+16}else U9(O,S);b=c[R>>2]|0;f=c[b>>2]|0;a:do if((f|0)==(c[b+4>>2]|0)){q=c[P>>2]|0;f=c[O>>2]|0;k=q}else{L=a+160|0;M=a+164|0;K=a+168|0;H=S+4|0;I=S+8|0;J=S+12|0;D=c[O>>2]|0;k=c[P>>2]|0;G=1;F=f;E=D;d=k;a=D;e=k;q=k;f=D;B=b;C=D;while(1){if((E|0)==(d|0))break a;if(!(G&Q))b=E;else{b=c[L>>2]|0;c[M>>2]=b;i=+h[F>>3];j=+h[F+8>>3];m=+h[F+16>>3];n=+h[F+24>>3];f=E;do{g[f>>2]=n+(i*+g[f+4>>2]+j*+g[f+8>>2]+m*+g[f+12>>2]);f=f+16|0}while((f|0)!=(d|0));E=e-a|0;a=E>>4;if(!E)f=B;else{e=0;f=D;q=C;while(1){d=e+1|0;b=(d>>>0)%(a>>>0)|0;k=f+(e<<4)|0;if(!(+g[k>>2]>=0.0)){if(+g[f+(b<<4)>>2]>0.0){f=q;i=+g[q+(b<<4)>>2];T=36}}else{f=c[M>>2]|0;if((f|0)==(c[K>>2]|0))V9(L,k);else{c[f>>2]=c[k>>2];c[f+4>>2]=c[k+4>>2];c[f+8>>2]=c[k+8>>2];c[f+12>>2]=c[k+12>>2];c[M>>2]=(c[M>>2]|0)+16}f=c[O>>2]|0;i=+g[f+(b<<4)>>2];if(i<0.0)T=36}if((T|0)==36){T=0;aa=+g[f+(e<<4)>>2];aa=aa/(aa-i);A=1.0-aa;_=+g[f+(e<<4)+4>>2]*A+aa*+g[f+(b<<4)+4>>2];$=+g[f+(e<<4)+8>>2]*A+aa*+g[f+(b<<4)+8>>2];aa=A*+g[f+(e<<4)+12>>2]+aa*+g[f+(b<<4)+12>>2];c[S>>2]=0;g[H>>2]=_;g[I>>2]=$;g[J>>2]=aa;f=c[M>>2]|0;if(f>>>0<(c[K>>2]|0)>>>0){c[f>>2]=c[S>>2];c[f+4>>2]=c[S+4>>2];c[f+8>>2]=c[S+8>>2];c[f+12>>2]=c[S+12>>2];c[M>>2]=(c[M>>2]|0)+16}else U9(L,S)}if(d>>>0>=a>>>0)break;q=c[O>>2]|0;e=d;f=q}f=c[R>>2]|0;b=c[M>>2]|0}E=c[O>>2]|0;a=c[L>>2]|0;c[O>>2]=a;c[L>>2]=E;E=c[P>>2]|0;c[P>>2]=b;c[M>>2]=E;E=c[N>>2]|0;c[N>>2]=c[K>>2];c[K>>2]=E;E=a;d=b;B=f;q=d;k=d;f=E;C=E;D=E;e=b;b=E}F=F+40|0;if((F|0)==(c[B+4>>2]|0))break;else{G=G<<1;E=b}}}while(0);if((f|0)==(k|0)){l=Z;return}p=+h[U>>3];o=+h[V>>3];n=+h[W>>3];m=+h[X>>3];j=+h[Y>>3];while(1){i=-(m+(p*+g[f+4>>2]+o*+g[f+8>>2]+n*+g[f+12>>2]));if(j<i)h[Y>>3]=i;else i=j;f=f+16|0;if((f|0)==(q|0))break;else j=i}l=Z;return}}aa=z>p?z:p;aa=aa>u?aa:u;h[Y>>3]=aa>y?aa:y;l=Z;return}function T9(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0.0,i=0.0,j=0.0,k=0.0,l=0.0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0.0,s=0.0,t=0.0,u=0.0,v=0.0,w=0.0,x=0,y=0,z=0.0,A=0.0,B=0,C=0.0,D=0.0,E=0.0,F=0.0,G=0.0,H=0.0;j=+g[b>>2];w=j;E=+h[a+32>>3];p=+g[b+4>>2];v=p;D=+h[a+64>>3];n=+g[b+8>>2];s=n;z=+h[a+96>>3];A=+h[a+128>>3];l=A+(E*w+D*v+z*s);i=-l;o=+g[d>>2];t=o;r=+g[d+4>>2];u=r;q=+g[d+8>>2];m=q;k=A+(E*t+D*u+z*m);f=-k;B=a+8|0;C=+h[B>>3];if(C>=i&C>=f)return;if(l>-0.0&k>-0.0)return;y=c[a+144>>2]|0;d=c[y>>2]|0;y=c[y+4>>2]|0;if((d|0)!=(y|0)){e=1;a=0;b=d;while(1){G=+h[b>>3];F=+h[b+8>>3];l=+h[b+16>>3];H=+h[b+24>>3];k=H+(G*w+F*v+l*s);l=H+(G*t+F*u+l*m);if(((k<0.0&1)+(l<0.0&1)|0)==2){x=20;break}a=(((k>=0.0&1)+(l>=0.0&1)|0)>>>0<2?e:0)|a;b=b+40|0;if((b|0)==(y|0))break;else e=e<<1}if((x|0)==20)return;if(a|0){if((d|0)!=(y|0)){e=1;while(1){do if(e&a){G=+h[d>>3];H=+h[d+8>>3];i=+h[d+16>>3];F=+h[d+24>>3];f=F+(G*j+H*p+i*n);i=F+(G*o+H*r+i*q);if(!(f>=0.0)){if(!(i>=0.0)){k=r;f=p;l=q;i=n;m=o;break}G=f/(f-i);H=1.0-G;k=r;f=r*G+p*H;l=q;i=q*G+n*H;m=o;j=o*G+j*H;break}else{if(!(i<0.0)){k=r;f=p;l=q;i=n;m=o;break}H=f/(f-i);m=1.0-H;k=r*H+p*m;f=p;l=q*H+n*m;i=n;m=o*H+j*m;break}}else{k=r;f=p;l=q;i=n;m=o}while(0);d=d+40|0;if((d|0)==(y|0))break;else{e=e<<1;r=k;p=f;q=l;n=i;o=m}}i=-(A+(E*j+D*f+z*i));f=-(A+(E*m+D*k+z*l))}H=C>i?C:i;h[B>>3]=H>f?H:f;return}}H=C<i?C:i;h[B>>3]=H<f?H:f;return}function U9(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;i=a+4|0;j=c[a>>2]|0;k=(c[i>>2]|0)-j|0;g=k>>4;d=g+1|0;if(d>>>0>268435455)g1a(a);l=a+8|0;f=(c[l>>2]|0)-j|0;h=f>>3;h=f>>4>>>0<134217727?(h>>>0<d>>>0?d:h):268435455;do if(h)if(h>>>0>268435455){l=db(8)|0;p0a(l,183738);c[l>>2]=110936;hb(l|0,65952,1066)}else{f=j0a(h<<4)|0;e=f;break}else{e=0;f=0}while(0);d=e+(g<<4)|0;c[d>>2]=c[b>>2];c[d+4>>2]=c[b+4>>2];c[d+8>>2]=c[b+8>>2];c[d+12>>2]=c[b+12>>2];if((k|0)>0)x2a(f|0,j|0,k|0)|0;c[a>>2]=e;c[i>>2]=d+16;c[l>>2]=e+(h<<4);if(!j)return;l0a(j);return}function V9(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;i=a+4|0;j=c[a>>2]|0;k=(c[i>>2]|0)-j|0;g=k>>4;d=g+1|0;if(d>>>0>268435455)g1a(a);l=a+8|0;f=(c[l>>2]|0)-j|0;h=f>>3;h=f>>4>>>0<134217727?(h>>>0<d>>>0?d:h):268435455;do if(h)if(h>>>0>268435455){l=db(8)|0;p0a(l,183738);c[l>>2]=110936;hb(l|0,65952,1066)}else{f=j0a(h<<4)|0;e=f;break}else{e=0;f=0}while(0);d=e+(g<<4)|0;c[d>>2]=c[b>>2];c[d+4>>2]=c[b+4>>2];c[d+8>>2]=c[b+8>>2];c[d+12>>2]=c[b+12>>2];if((k|0)>0)x2a(f|0,j|0,k|0)|0;c[a>>2]=e;c[i>>2]=d+16;c[l>>2]=e+(h<<4);if(!j)return;l0a(j);return}function W9(a,b,d,f){a=a|0;b=b|0;d=d|0;f=f|0;var i=0,j=0,k=0,l=0.0,m=0,n=0.0,o=0.0,p=0.0,q=0.0,r=0.0,s=0.0,t=0.0,u=0.0,v=0,w=0,x=0.0;if((d|0)==0|(f|0)==0)return;do switch(b|0){case 4:{j=f+(d<<1)|0;if((d|0)<=0)return;i=a+8|0;b=a+196|0;do{d=c[b>>2]|0;S9(i,d+((e[f>>1]|0)*12|0)|0,d+((e[f+2>>1]|0)*12|0)|0,d+((e[f+4>>1]|0)*12|0)|0,0);f=f+6|0}while(f>>>0<j>>>0);return}case 5:{if((d|0)<=2)return;m=a+8|0;k=a+196|0;j=2;do{b=c[k>>2]|0;i=b+((e[f>>1]|0)*12|0)|0;if(!(j&1)){v=f+2|0;S9(m,i,b+((e[v>>1]|0)*12|0)|0,b+((e[f+4>>1]|0)*12|0)|0,0);f=v}else{v=f+2|0;S9(m,i,b+((e[f+4>>1]|0)*12|0)|0,b+((e[v>>1]|0)*12|0)|0,0);f=v}j=j+1|0}while((j|0)!=(d|0));return}case 7:{if((d|0)<=3)return;j=a+8|0;i=a+196|0;b=3;while(1){k=c[i>>2]|0;m=k+((e[f>>1]|0)*12|0)|0;a=k+((e[f+4>>1]|0)*12|0)|0;v=k+((e[f+6>>1]|0)*12|0)|0;S9(j,m,k+((e[f+2>>1]|0)*12|0)|0,a,0);S9(j,m,a,v,0);b=b+4|0;if((b|0)>=(d|0))break;else f=f+8|0}return}case 8:{if((d|0)<=3)return;j=a+8|0;i=a+196|0;b=3;do{w=c[i>>2]|0;m=w+((e[f>>1]|0)*12|0)|0;a=w+((e[f+6>>1]|0)*12|0)|0;k=f;f=f+4|0;v=w+((e[f>>1]|0)*12|0)|0;S9(j,m,w+((e[k+2>>1]|0)*12|0)|0,a,0);S9(j,m,a,v,0);b=b+2|0}while((b|0)<(d|0));return}case 6:case 9:{k=a+196|0;i=c[k>>2]|0;m=i+((e[f>>1]|0)*12|0)|0;if((d|0)<=2)return;j=a+8|0;b=f+4|0;S9(j,m,i+((e[f+2>>1]|0)*12|0)|0,i+((e[b>>1]|0)*12|0)|0,0);if((d|0)==3)return;f=b;b=3;do{w=c[k>>2]|0;v=f;f=f+2|0;S9(j,m,w+((e[v>>1]|0)*12|0)|0,w+((e[f>>1]|0)*12|0)|0,0);b=b+1|0}while((b|0)!=(d|0));return}case 0:{v=f+(d<<1)|0;if((d|0)<=0)return;w=a+8|0;j=c[a+196>>2]|0;k=w+8|0;m=w+144|0;r=+h[w+32>>3];s=+h[w+64>>3];t=+h[w+96>>3];u=+h[w+128>>3];q=+h[k>>3];while(1){w=e[f>>1]|0;n=+g[j+(w*12|0)>>2];o=+g[j+(w*12|0)+4>>2];p=+g[j+(w*12|0)+8>>2];x=u+(r*n+s*o+t*p);l=-x;a:do if(q>=l|x>-0.0)l=q;else{i=c[m>>2]|0;b=c[i>>2]|0;i=c[i+4>>2]|0;if((b|0)!=(i|0))do{if(+h[b+24>>3]+(+h[b>>3]*n+ +h[b+8>>3]*o+ +h[b+16>>3]*p)<0.0){l=q;break a}b=b+40|0}while((b|0)!=(i|0));h[k>>3]=l}while(0);f=f+2|0;if(f>>>0>=v>>>0)break;else q=l}return}case 1:{j=f+(d+-1<<1)|0;if((d|0)<=1)return;i=a+8|0;b=a+196|0;do{w=c[b>>2]|0;T9(i,w+((e[f>>1]|0)*12|0)|0,w+((e[f+2>>1]|0)*12|0)|0,0);f=f+4|0}while(f>>>0<j>>>0);return}case 3:{j=f+(d+-1<<1)|0;if((d|0)<=1)return;i=a+8|0;b=a+196|0;do{w=c[b>>2]|0;d=f;f=f+2|0;T9(i,w+((e[d>>1]|0)*12|0)|0,w+((e[f>>1]|0)*12|0)|0,0)}while(f>>>0<j>>>0);return}case 11:{j=f+(d+-2<<1)|0;if((d|0)<=3)return;i=a+8|0;b=a+196|0;f=f+2|0;do{w=c[b>>2]|0;d=f;f=f+2|0;T9(i,w+((e[d>>1]|0)*12|0)|0,w+((e[f>>1]|0)*12|0)|0,0)}while(f>>>0<j>>>0);return}case 2:{k=f+(d+-1<<1)|0;m=a+8|0;j=a+196|0;b=c[j>>2]|0;if((d|0)>1){i=f;do{w=i;i=i+2|0;T9(m,b+((e[w>>1]|0)*12|0)|0,b+((e[i>>1]|0)*12|0)|0,0);b=c[j>>2]|0}while(i>>>0<k>>>0)}T9(m,b+((e[k>>1]|0)*12|0)|0,b+((e[f>>1]|0)*12|0)|0,0);return}default:return}while(0)}function X9(a,b,e,f){a=a|0;b=b|0;e=e|0;f=f|0;var i=0,j=0,k=0,l=0.0,m=0,n=0.0,o=0.0,p=0.0,q=0.0,r=0.0,s=0.0,t=0.0,u=0.0,v=0,w=0,x=0.0;if((e|0)==0|(f|0)==0)return;do switch(b|0){case 4:{j=f+e|0;if((e|0)<=0)return;i=a+8|0;b=a+196|0;do{e=c[b>>2]|0;S9(i,e+((d[f>>0]|0)*12|0)|0,e+((d[f+1>>0]|0)*12|0)|0,e+((d[f+2>>0]|0)*12|0)|0,0);f=f+3|0}while(f>>>0<j>>>0);return}case 5:{if((e|0)<=2)return;m=a+8|0;k=a+196|0;j=2;do{b=c[k>>2]|0;i=b+((d[f>>0]|0)*12|0)|0;if(!(j&1)){a=f+1|0;S9(m,i,b+((d[a>>0]|0)*12|0)|0,b+((d[f+2>>0]|0)*12|0)|0,0);f=a}else{a=f+1|0;S9(m,i,b+((d[f+2>>0]|0)*12|0)|0,b+((d[a>>0]|0)*12|0)|0,0);f=a}j=j+1|0}while((j|0)!=(e|0));return}case 7:{if((e|0)<=3)return;j=a+8|0;i=a+196|0;b=3;while(1){k=c[i>>2]|0;m=k+((d[f>>0]|0)*12|0)|0;v=k+((d[f+2>>0]|0)*12|0)|0;a=k+((d[f+3>>0]|0)*12|0)|0;S9(j,m,k+((d[f+1>>0]|0)*12|0)|0,v,0);S9(j,m,v,a,0);b=b+4|0;if((b|0)>=(e|0))break;else f=f+4|0}return}case 8:{if((e|0)<=3)return;j=a+8|0;i=a+196|0;b=3;do{w=c[i>>2]|0;m=w+((d[f>>0]|0)*12|0)|0;v=w+((d[f+3>>0]|0)*12|0)|0;k=f;f=f+2|0;a=w+((d[f>>0]|0)*12|0)|0;S9(j,m,w+((d[k+1>>0]|0)*12|0)|0,v,0);S9(j,m,v,a,0);b=b+2|0}while((b|0)<(e|0));return}case 6:case 9:{k=a+196|0;i=c[k>>2]|0;m=i+((d[f>>0]|0)*12|0)|0;if((e|0)<=2)return;j=a+8|0;b=f+2|0;S9(j,m,i+((d[f+1>>0]|0)*12|0)|0,i+((d[b>>0]|0)*12|0)|0,0);if((e|0)==3)return;f=b;b=3;do{w=c[k>>2]|0;a=f;f=f+1|0;S9(j,m,w+((d[a>>0]|0)*12|0)|0,w+((d[f>>0]|0)*12|0)|0,0);b=b+1|0}while((b|0)!=(e|0));return}case 0:{v=f+e|0;if((e|0)<=0)return;w=a+8|0;k=w+8|0;m=w+144|0;j=c[a+196>>2]|0;r=+h[w+32>>3];s=+h[w+64>>3];t=+h[w+96>>3];u=+h[w+128>>3];q=+h[k>>3];while(1){w=d[f>>0]|0;n=+g[j+(w*12|0)>>2];o=+g[j+(w*12|0)+4>>2];p=+g[j+(w*12|0)+8>>2];x=u+(r*n+s*o+t*p);l=-x;a:do if(q>=l|x>-0.0)l=q;else{i=c[m>>2]|0;b=c[i>>2]|0;i=c[i+4>>2]|0;if((b|0)!=(i|0))do{if(+h[b+24>>3]+(+h[b>>3]*n+ +h[b+8>>3]*o+ +h[b+16>>3]*p)<0.0){l=q;break a}b=b+40|0}while((b|0)!=(i|0));h[k>>3]=l}while(0);f=f+1|0;if(f>>>0>=v>>>0)break;else q=l}return}case 1:{j=f+(e+-1)|0;if((e|0)<=1)return;i=a+8|0;b=a+196|0;do{w=c[b>>2]|0;T9(i,w+((d[f>>0]|0)*12|0)|0,w+((d[f+1>>0]|0)*12|0)|0,0);f=f+2|0}while(f>>>0<j>>>0);return}case 3:{j=f+(e+-1)|0;if((e|0)<=1)return;i=a+8|0;b=a+196|0;do{w=c[b>>2]|0;e=f;f=f+1|0;T9(i,w+((d[e>>0]|0)*12|0)|0,w+((d[f>>0]|0)*12|0)|0,0)}while(f>>>0<j>>>0);return}case 11:{j=f+(e+-2)|0;if((e|0)<=3)return;i=a+8|0;b=a+196|0;f=f+1|0;do{w=c[b>>2]|0;e=f;f=f+1|0;T9(i,w+((d[e>>0]|0)*12|0)|0,w+((d[f>>0]|0)*12|0)|0,0)}while(f>>>0<j>>>0);return}case 2:{k=f+(e+-1)|0;m=a+8|0;j=a+196|0;b=c[j>>2]|0;if((e|0)>1){i=f;do{w=i;i=i+1|0;T9(m,b+((d[w>>0]|0)*12|0)|0,b+((d[i>>0]|0)*12|0)|0,0);b=c[j>>2]|0}while(i>>>0<k>>>0)}T9(m,b+((d[k>>0]|0)*12|0)|0,b+((d[f>>0]|0)*12|0)|0,0);return}default:return}while(0)}function Y9(a){a=a|0;Di()}function Z9(a){a=a|0;var b=0;b=a+8|0;a=c[b+172>>2]|0;if(a|0){c[b+176>>2]=a;l0a(a)}a=c[b+160>>2]|0;if(a|0){c[b+164>>2]=a;l0a(a)}a=c[b+148>>2]|0;if(!a)return;c[b+152>>2]=a;l0a(a);return}function _9(a){a=a|0;var b=0,d=0;d=a+8|0;b=c[d+172>>2]|0;if(b|0){c[d+176>>2]=b;l0a(b)}b=c[d+160>>2]|0;if(b|0){c[d+164>>2]=b;l0a(b)}b=c[d+148>>2]|0;if(!b){l0a(a);return}c[d+152>>2]=b;l0a(b);l0a(a);return}function $9(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;d=l;l=l+16|0;e=d;b=mr(lr(2)|0,161150,53)|0;BSa(e,b+(c[(c[b>>2]|0)+-12>>2]|0)|0);a=cUa(e,230580)|0;a=kk[c[(c[a>>2]|0)+28>>2]&511](a,10)|0;dUa(e);VSa(b,a)|0;HSa(b)|0;l=d;return}function aaa(a,b,d){a=a|0;b=b|0;d=d|0;c[a+192>>2]=b;c[a+196>>2]=d;return}function baa(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;d=l;l=l+16|0;e=d;b=mr(lr(2)|0,161096,53)|0;BSa(e,b+(c[(c[b>>2]|0)+-12>>2]|0)|0);a=cUa(e,230580)|0;a=kk[c[(c[a>>2]|0)+28>>2]&511](a,10)|0;dUa(e);VSa(b,a)|0;HSa(b)|0;l=d;return}function caa(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;d=l;l=l+16|0;e=d;b=mr(lr(2)|0,161041,54)|0;BSa(e,b+(c[(c[b>>2]|0)+-12>>2]|0)|0);a=cUa(e,230580)|0;a=kk[c[(c[a>>2]|0)+28>>2]&511](a,10)|0;dUa(e);VSa(b,a)|0;HSa(b)|0;l=d;return}function daa(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;d=l;l=l+16|0;e=d;b=mr(lr(2)|0,160986,54)|0;BSa(e,b+(c[(c[b>>2]|0)+-12>>2]|0)|0);a=cUa(e,230580)|0;a=kk[c[(c[a>>2]|0)+28>>2]&511](a,10)|0;dUa(e);VSa(b,a)|0;HSa(b)|0;l=d;return}function eaa(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;d=l;l=l+16|0;e=d;b=mr(lr(2)|0,160931,54)|0;BSa(e,b+(c[(c[b>>2]|0)+-12>>2]|0)|0);a=cUa(e,230580)|0;a=kk[c[(c[a>>2]|0)+28>>2]&511](a,10)|0;dUa(e);VSa(b,a)|0;HSa(b)|0;l=d;return}function faa(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,i=0,j=0,k=0.0,l=0.0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0.0,s=0.0,t=0,u=0.0;j=a+196|0;f=c[j>>2]|0;if((e|0)==0|(f|0)==0)return;do switch(b|0){case 4:{i=f+((e+d|0)*12|0)|0;if((e|0)<=0)return;b=a+8|0;f=f+(d*12|0)|0;do{kaa(b,f,f+12|0,f+24|0,0);f=f+36|0}while(f>>>0<i>>>0);return}case 5:{if((e|0)<=2)return;i=a+8|0;f=f+(d*12|0)|0;b=2;do{if(!(b&1)){d=f+12|0;kaa(i,f,d,f+24|0,0);f=d}else{d=f+12|0;kaa(i,f,f+24|0,d,0);f=d}b=b+1|0}while((b|0)!=(e|0));return}case 7:{if((e|0)<=3)return;i=a+8|0;f=f+(d*12|0)|0;b=3;while(1){d=f+24|0;kaa(i,f,f+12|0,d,0);kaa(i,f,d,f+36|0,0);b=b+4|0;if((b|0)>=(e|0))break;else f=f+48|0}return}case 8:{if((e|0)<=3)return;i=a+8|0;f=f+(d*12|0)|0;b=3;do{d=f+36|0;t=f;f=f+24|0;kaa(i,t,t+12|0,d,0);kaa(i,t,d,f,0);b=b+2|0}while((b|0)<(e|0));return}case 6:case 9:{j=f+(d*12|0)|0;if((e|0)<=2)return;i=a+8|0;f=2;b=j+12|0;do{d=b;b=b+12|0;kaa(i,j,d,b,0);f=f+1|0}while((f|0)!=(e|0));return}case 0:{t=f+((e+d|0)*12|0)|0;if((e|0)<=0)return;i=a+8|0;j=i+8|0;a=i+144|0;p=+h[i+32>>3];q=+h[i+64>>3];r=+h[i+96>>3];s=+h[i+128>>3];i=f+(d*12|0)|0;o=+h[j>>3];while(1){l=+g[i>>2];m=+g[i+4>>2];n=+g[i+8>>2];u=s+(p*l+q*m+r*n);k=-u;a:do if(o<=k|u>-0.0)k=o;else{b=c[a>>2]|0;f=c[b>>2]|0;b=c[b+4>>2]|0;if((f|0)!=(b|0))do{if(+h[f+24>>3]+(+h[f>>3]*l+ +h[f+8>>3]*m+ +h[f+16>>3]*n)<0.0){k=o;break a}f=f+40|0}while((f|0)!=(b|0));h[j>>3]=k}while(0);i=i+12|0;if(i>>>0>=t>>>0)break;else o=k}return}case 1:{e=e+d+-1|0;i=f+(e*12|0)|0;if((e|0)<=(d|0))return;b=a+8|0;f=f+(d*12|0)|0;do{laa(b,f,f+12|0,0);f=f+24|0}while(f>>>0<i>>>0);return}case 3:{e=e+d+-1|0;i=f+(e*12|0)|0;if((e|0)<=(d|0))return;b=a+8|0;f=f+(d*12|0)|0;do{d=f;f=f+12|0;laa(b,d,f,0)}while(f>>>0<i>>>0);return}case 11:{e=e+d+-2|0;j=f+(e*12|0)|0;b=d+1|0;if((b|0)>=(e|0))return;i=a+8|0;f=f+(b*12|0)|0;do{d=f;f=f+12|0;laa(i,d,f,0)}while(f>>>0<j>>>0);return}case 2:{e=e+d+-1|0;i=f+(e*12|0)|0;b=a+8|0;if((e|0)>(d|0)){f=f+(d*12|0)|0;do{e=f;f=f+12|0;laa(b,e,f,0)}while(f>>>0<i>>>0);f=c[j>>2]|0}laa(b,i,f+(d*12|0)|0,0);return}default:return}while(0)}function gaa(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;naa(a,b,c,d);return}function haa(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;maa(a,b,c,d);return}function iaa(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;jaa(a,b,c,d);return}function jaa(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,i=0,j=0,k=0.0,l=0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0.0,s=0.0,t=0.0,u=0,v=0,w=0.0;if((d|0)==0|(e|0)==0)return;do switch(b|0){case 4:{i=e+(d<<2)|0;if((d|0)<=0)return;f=a+8|0;b=a+196|0;do{d=c[b>>2]|0;kaa(f,d+((c[e>>2]|0)*12|0)|0,d+((c[e+4>>2]|0)*12|0)|0,d+((c[e+8>>2]|0)*12|0)|0,0);e=e+12|0}while(e>>>0<i>>>0);return}case 5:{if((d|0)<=2)return;l=a+8|0;j=a+196|0;i=2;do{b=c[j>>2]|0;f=b+((c[e>>2]|0)*12|0)|0;if(!(i&1)){u=e+4|0;kaa(l,f,b+((c[u>>2]|0)*12|0)|0,b+((c[e+8>>2]|0)*12|0)|0,0);e=u}else{u=e+4|0;kaa(l,f,b+((c[e+8>>2]|0)*12|0)|0,b+((c[u>>2]|0)*12|0)|0,0);e=u}i=i+1|0}while((i|0)!=(d|0));return}case 7:{if((d|0)<=3)return;i=a+8|0;f=a+196|0;b=3;while(1){j=c[f>>2]|0;l=j+((c[e>>2]|0)*12|0)|0;a=j+((c[e+8>>2]|0)*12|0)|0;u=j+((c[e+12>>2]|0)*12|0)|0;kaa(i,l,j+((c[e+4>>2]|0)*12|0)|0,a,0);kaa(i,l,a,u,0);b=b+4|0;if((b|0)>=(d|0))break;else e=e+16|0}return}case 8:{if((d|0)<=3)return;i=a+8|0;f=a+196|0;b=3;do{v=c[f>>2]|0;l=v+((c[e>>2]|0)*12|0)|0;a=v+((c[e+12>>2]|0)*12|0)|0;j=e;e=e+8|0;u=v+((c[e>>2]|0)*12|0)|0;kaa(i,l,v+((c[j+4>>2]|0)*12|0)|0,a,0);kaa(i,l,a,u,0);b=b+2|0}while((b|0)<(d|0));return}case 6:case 9:{j=a+196|0;f=c[j>>2]|0;l=f+((c[e>>2]|0)*12|0)|0;if((d|0)<=2)return;i=a+8|0;b=e+8|0;kaa(i,l,f+((c[e+4>>2]|0)*12|0)|0,f+((c[b>>2]|0)*12|0)|0,0);if((d|0)==3)return;e=b;b=3;do{v=c[j>>2]|0;u=e;e=e+4|0;kaa(i,l,v+((c[u>>2]|0)*12|0)|0,v+((c[e>>2]|0)*12|0)|0,0);b=b+1|0}while((b|0)!=(d|0));return}case 0:{u=e+(d<<2)|0;if((d|0)<=0)return;v=a+8|0;i=c[a+196>>2]|0;j=v+8|0;l=v+144|0;q=+h[v+32>>3];r=+h[v+64>>3];s=+h[v+96>>3];t=+h[v+128>>3];p=+h[j>>3];while(1){v=c[e>>2]|0;m=+g[i+(v*12|0)>>2];n=+g[i+(v*12|0)+4>>2];o=+g[i+(v*12|0)+8>>2];w=t+(q*m+r*n+s*o);k=-w;a:do if(p<=k|w>-0.0)k=p;else{f=c[l>>2]|0;b=c[f>>2]|0;f=c[f+4>>2]|0;if((b|0)!=(f|0))do{if(+h[b+24>>3]+(+h[b>>3]*m+ +h[b+8>>3]*n+ +h[b+16>>3]*o)<0.0){k=p;break a}b=b+40|0}while((b|0)!=(f|0));h[j>>3]=k}while(0);e=e+4|0;if(e>>>0>=u>>>0)break;else p=k}return}case 1:{i=e+(d+-1<<2)|0;if((d|0)<=1)return;f=a+8|0;b=a+196|0;do{v=c[b>>2]|0;laa(f,v+((c[e>>2]|0)*12|0)|0,v+((c[e+4>>2]|0)*12|0)|0,0);e=e+8|0}while(e>>>0<i>>>0);return}case 3:{i=e+(d+-1<<2)|0;if((d|0)<=1)return;f=a+8|0;b=a+196|0;do{v=c[b>>2]|0;d=e;e=e+4|0;laa(f,v+((c[d>>2]|0)*12|0)|0,v+((c[e>>2]|0)*12|0)|0,0)}while(e>>>0<i>>>0);return}case 11:{i=e+(d+-2<<2)|0;if((d|0)<=3)return;f=a+8|0;b=a+196|0;e=e+4|0;do{v=c[b>>2]|0;d=e;e=e+4|0;laa(f,v+((c[d>>2]|0)*12|0)|0,v+((c[e>>2]|0)*12|0)|0,0)}while(e>>>0<i>>>0);return}case 2:{j=e+(d+-1<<2)|0;l=a+8|0;i=a+196|0;b=c[i>>2]|0;if((d|0)>1){f=e;do{v=f;f=f+4|0;laa(l,b+((c[v>>2]|0)*12|0)|0,b+((c[f>>2]|0)*12|0)|0,0);b=c[i>>2]|0}while(f>>>0<j>>>0)}laa(l,b+((c[j>>2]|0)*12|0)|0,b+((c[e>>2]|0)*12|0)|0,0);return}default:return}while(0)}function kaa(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var i=0.0,j=0.0,k=0,m=0.0,n=0.0,o=0.0,p=0.0,q=0,r=0.0,s=0.0,t=0.0,u=0.0,v=0.0,w=0.0,x=0.0,y=0.0,z=0.0,A=0.0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0.0,$=0.0,aa=0.0;Z=l;l=l+16|0;S=Z;A=+g[b>>2];U=a+32|0;z=+h[U>>3];n=+g[b+4>>2];V=a+64|0;y=+h[V>>3];o=+g[b+8>>2];W=a+96|0;m=+h[W>>3];X=a+128|0;_=+h[X>>3];i=_+(z*A+y*n+m*o);p=-i;r=+g[d>>2];s=+g[d+4>>2];t=+g[d+8>>2];j=_+(z*r+y*s+m*t);u=-j;v=+g[e>>2];w=+g[e+4>>2];x=+g[e+8>>2];m=_+(z*v+y*w+m*x);y=-m;Y=a+8|0;z=+h[Y>>3];if(z<=p&z<=u&z<=y){l=Z;return}if(i>-0.0&j>-0.0&m>-0.0){l=Z;return}R=a+144|0;q=c[R>>2]|0;f=c[q>>2]|0;q=c[q+4>>2]|0;if((f|0)!=(q|0)){k=1;Q=0;while(1){$=+h[f>>3];_=+h[f+8>>3];i=+h[f+16>>3];aa=+h[f+24>>3];j=aa+($*A+_*n+i*o);m=aa+($*r+_*s+i*t);i=aa+($*v+_*w+i*x);if(((j<0.0&1)+(m<0.0&1)+(i<0.0&1)|0)==3){T=48;break}Q=(((j>=0.0&1)+(m>=0.0&1)+(i>=0.0&1)|0)>>>0<3?k:0)|Q;f=f+40|0;if((f|0)==(q|0))break;else k=k<<1}if((T|0)==48){l=Z;return}if(Q|0){O=a+148|0;f=c[O>>2]|0;P=a+152|0;c[P>>2]=f;g[S>>2]=0.0;N=S+4|0;c[N>>2]=c[b>>2];c[N+4>>2]=c[b+4>>2];c[N+8>>2]=c[b+8>>2];N=a+156|0;if((c[N>>2]|0)>>>0>f>>>0){c[f>>2]=c[S>>2];c[f+4>>2]=c[S+4>>2];c[f+8>>2]=c[S+8>>2];c[f+12>>2]=c[S+12>>2];f=(c[P>>2]|0)+16|0;c[P>>2]=f}else{U9(O,S);f=c[P>>2]|0}g[S>>2]=0.0;M=S+4|0;c[M>>2]=c[d>>2];c[M+4>>2]=c[d+4>>2];c[M+8>>2]=c[d+8>>2];if(f>>>0<(c[N>>2]|0)>>>0){c[f>>2]=c[S>>2];c[f+4>>2]=c[S+4>>2];c[f+8>>2]=c[S+8>>2];c[f+12>>2]=c[S+12>>2];f=(c[P>>2]|0)+16|0;c[P>>2]=f}else{U9(O,S);f=c[P>>2]|0}g[S>>2]=0.0;M=S+4|0;c[M>>2]=c[e>>2];c[M+4>>2]=c[e+4>>2];c[M+8>>2]=c[e+8>>2];if(f>>>0<(c[N>>2]|0)>>>0){c[f>>2]=c[S>>2];c[f+4>>2]=c[S+4>>2];c[f+8>>2]=c[S+8>>2];c[f+12>>2]=c[S+12>>2];c[P>>2]=(c[P>>2]|0)+16}else U9(O,S);b=c[R>>2]|0;f=c[b>>2]|0;a:do if((f|0)==(c[b+4>>2]|0)){q=c[P>>2]|0;f=c[O>>2]|0;k=q}else{L=a+160|0;M=a+164|0;K=a+168|0;H=S+4|0;I=S+8|0;J=S+12|0;D=c[O>>2]|0;k=c[P>>2]|0;G=1;F=f;E=D;d=k;a=D;e=k;q=k;f=D;B=b;C=D;while(1){if((E|0)==(d|0))break a;if(!(G&Q))b=E;else{b=c[L>>2]|0;c[M>>2]=b;i=+h[F>>3];j=+h[F+8>>3];m=+h[F+16>>3];n=+h[F+24>>3];f=E;do{g[f>>2]=n+(i*+g[f+4>>2]+j*+g[f+8>>2]+m*+g[f+12>>2]);f=f+16|0}while((f|0)!=(d|0));E=e-a|0;a=E>>4;if(!E)f=B;else{e=0;f=D;q=C;while(1){d=e+1|0;b=(d>>>0)%(a>>>0)|0;k=f+(e<<4)|0;if(!(+g[k>>2]>=0.0)){if(+g[f+(b<<4)>>2]>0.0){f=q;i=+g[q+(b<<4)>>2];T=36}}else{f=c[M>>2]|0;if((f|0)==(c[K>>2]|0))V9(L,k);else{c[f>>2]=c[k>>2];c[f+4>>2]=c[k+4>>2];c[f+8>>2]=c[k+8>>2];c[f+12>>2]=c[k+12>>2];c[M>>2]=(c[M>>2]|0)+16}f=c[O>>2]|0;i=+g[f+(b<<4)>>2];if(i<0.0)T=36}if((T|0)==36){T=0;aa=+g[f+(e<<4)>>2];aa=aa/(aa-i);A=1.0-aa;_=+g[f+(e<<4)+4>>2]*A+aa*+g[f+(b<<4)+4>>2];$=+g[f+(e<<4)+8>>2]*A+aa*+g[f+(b<<4)+8>>2];aa=A*+g[f+(e<<4)+12>>2]+aa*+g[f+(b<<4)+12>>2];c[S>>2]=0;g[H>>2]=_;g[I>>2]=$;g[J>>2]=aa;f=c[M>>2]|0;if(f>>>0<(c[K>>2]|0)>>>0){c[f>>2]=c[S>>2];c[f+4>>2]=c[S+4>>2];c[f+8>>2]=c[S+8>>2];c[f+12>>2]=c[S+12>>2];c[M>>2]=(c[M>>2]|0)+16}else U9(L,S)}if(d>>>0>=a>>>0)break;q=c[O>>2]|0;e=d;f=q}f=c[R>>2]|0;b=c[M>>2]|0}E=c[O>>2]|0;a=c[L>>2]|0;c[O>>2]=a;c[L>>2]=E;E=c[P>>2]|0;c[P>>2]=b;c[M>>2]=E;E=c[N>>2]|0;c[N>>2]=c[K>>2];c[K>>2]=E;E=a;d=b;B=f;q=d;k=d;f=E;C=E;D=E;e=b;b=E}F=F+40|0;if((F|0)==(c[B+4>>2]|0))break;else{G=G<<1;E=b}}}while(0);if((f|0)==(k|0)){l=Z;return}p=+h[U>>3];o=+h[V>>3];n=+h[W>>3];m=+h[X>>3];j=+h[Y>>3];while(1){i=-(m+(p*+g[f+4>>2]+o*+g[f+8>>2]+n*+g[f+12>>2]));if(j>i)h[Y>>3]=i;else i=j;f=f+16|0;if((f|0)==(q|0))break;else j=i}l=Z;return}}aa=z<p?z:p;aa=aa<u?aa:u;h[Y>>3]=aa<y?aa:y;l=Z;return}function laa(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0.0,i=0.0,j=0.0,k=0.0,l=0.0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0.0,s=0.0,t=0.0,u=0.0,v=0.0,w=0.0,x=0,y=0,z=0.0,A=0.0,B=0,C=0.0,D=0.0,E=0.0,F=0.0,G=0.0,H=0.0;j=+g[b>>2];w=j;E=+h[a+32>>3];p=+g[b+4>>2];v=p;D=+h[a+64>>3];n=+g[b+8>>2];s=n;z=+h[a+96>>3];A=+h[a+128>>3];l=A+(E*w+D*v+z*s);i=-l;o=+g[d>>2];t=o;r=+g[d+4>>2];u=r;q=+g[d+8>>2];m=q;k=A+(E*t+D*u+z*m);f=-k;B=a+8|0;C=+h[B>>3];if(C<=i&C<=f)return;if(l>-0.0&k>-0.0)return;y=c[a+144>>2]|0;d=c[y>>2]|0;y=c[y+4>>2]|0;if((d|0)!=(y|0)){e=1;a=0;b=d;while(1){G=+h[b>>3];F=+h[b+8>>3];l=+h[b+16>>3];H=+h[b+24>>3];k=H+(G*w+F*v+l*s);l=H+(G*t+F*u+l*m);if(((k<0.0&1)+(l<0.0&1)|0)==2){x=20;break}a=(((k>=0.0&1)+(l>=0.0&1)|0)>>>0<2?e:0)|a;b=b+40|0;if((b|0)==(y|0))break;else e=e<<1}if((x|0)==20)return;if(a|0){if((d|0)!=(y|0)){e=1;while(1){do if(e&a){G=+h[d>>3];H=+h[d+8>>3];i=+h[d+16>>3];F=+h[d+24>>3];f=F+(G*j+H*p+i*n);i=F+(G*o+H*r+i*q);if(!(f>=0.0)){if(!(i>=0.0)){k=r;f=p;l=q;i=n;m=o;break}G=f/(f-i);H=1.0-G;k=r;f=r*G+p*H;l=q;i=q*G+n*H;m=o;j=o*G+j*H;break}else{if(!(i<0.0)){k=r;f=p;l=q;i=n;m=o;break}H=f/(f-i);m=1.0-H;k=r*H+p*m;f=p;l=q*H+n*m;i=n;m=o*H+j*m;break}}else{k=r;f=p;l=q;i=n;m=o}while(0);d=d+40|0;if((d|0)==(y|0))break;else{e=e<<1;r=k;p=f;q=l;n=i;o=m}}i=-(A+(E*j+D*f+z*i));f=-(A+(E*m+D*k+z*l))}H=C<i?C:i;h[B>>3]=H<f?H:f;return}}H=C<i?C:i;h[B>>3]=H<f?H:f;return}function maa(a,b,d,f){a=a|0;b=b|0;d=d|0;f=f|0;var i=0,j=0,k=0,l=0.0,m=0,n=0.0,o=0.0,p=0.0,q=0.0,r=0.0,s=0.0,t=0.0,u=0.0,v=0,w=0,x=0.0;if((d|0)==0|(f|0)==0)return;do switch(b|0){case 4:{j=f+(d<<1)|0;if((d|0)<=0)return;i=a+8|0;b=a+196|0;do{d=c[b>>2]|0;kaa(i,d+((e[f>>1]|0)*12|0)|0,d+((e[f+2>>1]|0)*12|0)|0,d+((e[f+4>>1]|0)*12|0)|0,0);f=f+6|0}while(f>>>0<j>>>0);return}case 5:{if((d|0)<=2)return;m=a+8|0;k=a+196|0;j=2;do{b=c[k>>2]|0;i=b+((e[f>>1]|0)*12|0)|0;if(!(j&1)){v=f+2|0;kaa(m,i,b+((e[v>>1]|0)*12|0)|0,b+((e[f+4>>1]|0)*12|0)|0,0);f=v}else{v=f+2|0;kaa(m,i,b+((e[f+4>>1]|0)*12|0)|0,b+((e[v>>1]|0)*12|0)|0,0);f=v}j=j+1|0}while((j|0)!=(d|0));return}case 7:{if((d|0)<=3)return;j=a+8|0;i=a+196|0;b=3;while(1){k=c[i>>2]|0;m=k+((e[f>>1]|0)*12|0)|0;a=k+((e[f+4>>1]|0)*12|0)|0;v=k+((e[f+6>>1]|0)*12|0)|0;kaa(j,m,k+((e[f+2>>1]|0)*12|0)|0,a,0);kaa(j,m,a,v,0);b=b+4|0;if((b|0)>=(d|0))break;else f=f+8|0}return}case 8:{if((d|0)<=3)return;j=a+8|0;i=a+196|0;b=3;do{w=c[i>>2]|0;m=w+((e[f>>1]|0)*12|0)|0;a=w+((e[f+6>>1]|0)*12|0)|0;k=f;f=f+4|0;v=w+((e[f>>1]|0)*12|0)|0;kaa(j,m,w+((e[k+2>>1]|0)*12|0)|0,a,0);kaa(j,m,a,v,0);b=b+2|0}while((b|0)<(d|0));return}case 6:case 9:{k=a+196|0;i=c[k>>2]|0;m=i+((e[f>>1]|0)*12|0)|0;if((d|0)<=2)return;j=a+8|0;b=f+4|0;kaa(j,m,i+((e[f+2>>1]|0)*12|0)|0,i+((e[b>>1]|0)*12|0)|0,0);if((d|0)==3)return;f=b;b=3;do{w=c[k>>2]|0;v=f;f=f+2|0;kaa(j,m,w+((e[v>>1]|0)*12|0)|0,w+((e[f>>1]|0)*12|0)|0,0);b=b+1|0}while((b|0)!=(d|0));return}case 0:{v=f+(d<<1)|0;if((d|0)<=0)return;w=a+8|0;j=c[a+196>>2]|0;k=w+8|0;m=w+144|0;r=+h[w+32>>3];s=+h[w+64>>3];t=+h[w+96>>3];u=+h[w+128>>3];q=+h[k>>3];while(1){w=e[f>>1]|0;n=+g[j+(w*12|0)>>2];o=+g[j+(w*12|0)+4>>2];p=+g[j+(w*12|0)+8>>2];x=u+(r*n+s*o+t*p);l=-x;a:do if(q<=l|x>-0.0)l=q;else{i=c[m>>2]|0;b=c[i>>2]|0;i=c[i+4>>2]|0;if((b|0)!=(i|0))do{if(+h[b+24>>3]+(+h[b>>3]*n+ +h[b+8>>3]*o+ +h[b+16>>3]*p)<0.0){l=q;break a}b=b+40|0}while((b|0)!=(i|0));h[k>>3]=l}while(0);f=f+2|0;if(f>>>0>=v>>>0)break;else q=l}return}case 1:{j=f+(d+-1<<1)|0;if((d|0)<=1)return;i=a+8|0;b=a+196|0;do{w=c[b>>2]|0;laa(i,w+((e[f>>1]|0)*12|0)|0,w+((e[f+2>>1]|0)*12|0)|0,0);f=f+4|0}while(f>>>0<j>>>0);return}case 3:{j=f+(d+-1<<1)|0;if((d|0)<=1)return;i=a+8|0;b=a+196|0;do{w=c[b>>2]|0;d=f;f=f+2|0;laa(i,w+((e[d>>1]|0)*12|0)|0,w+((e[f>>1]|0)*12|0)|0,0)}while(f>>>0<j>>>0);return}case 11:{j=f+(d+-2<<1)|0;if((d|0)<=3)return;i=a+8|0;b=a+196|0;f=f+2|0;do{w=c[b>>2]|0;d=f;f=f+2|0;laa(i,w+((e[d>>1]|0)*12|0)|0,w+((e[f>>1]|0)*12|0)|0,0)}while(f>>>0<j>>>0);return}case 2:{k=f+(d+-1<<1)|0;m=a+8|0;j=a+196|0;b=c[j>>2]|0;if((d|0)>1){i=f;do{w=i;i=i+2|0;laa(m,b+((e[w>>1]|0)*12|0)|0,b+((e[i>>1]|0)*12|0)|0,0);b=c[j>>2]|0}while(i>>>0<k>>>0)}laa(m,b+((e[k>>1]|0)*12|0)|0,b+((e[f>>1]|0)*12|0)|0,0);return}default:return}while(0)}function naa(a,b,e,f){a=a|0;b=b|0;e=e|0;f=f|0;var i=0,j=0,k=0,l=0.0,m=0,n=0.0,o=0.0,p=0.0,q=0.0,r=0.0,s=0.0,t=0.0,u=0.0,v=0,w=0,x=0.0;if((e|0)==0|(f|0)==0)return;do switch(b|0){case 4:{j=f+e|0;if((e|0)<=0)return;i=a+8|0;b=a+196|0;do{e=c[b>>2]|0;kaa(i,e+((d[f>>0]|0)*12|0)|0,e+((d[f+1>>0]|0)*12|0)|0,e+((d[f+2>>0]|0)*12|0)|0,0);f=f+3|0}while(f>>>0<j>>>0);return}case 5:{if((e|0)<=2)return;m=a+8|0;k=a+196|0;j=2;do{b=c[k>>2]|0;i=b+((d[f>>0]|0)*12|0)|0;if(!(j&1)){a=f+1|0;kaa(m,i,b+((d[a>>0]|0)*12|0)|0,b+((d[f+2>>0]|0)*12|0)|0,0);f=a}else{a=f+1|0;kaa(m,i,b+((d[f+2>>0]|0)*12|0)|0,b+((d[a>>0]|0)*12|0)|0,0);f=a}j=j+1|0}while((j|0)!=(e|0));return}case 7:{if((e|0)<=3)return;j=a+8|0;i=a+196|0;b=3;while(1){k=c[i>>2]|0;m=k+((d[f>>0]|0)*12|0)|0;v=k+((d[f+2>>0]|0)*12|0)|0;a=k+((d[f+3>>0]|0)*12|0)|0;kaa(j,m,k+((d[f+1>>0]|0)*12|0)|0,v,0);kaa(j,m,v,a,0);b=b+4|0;if((b|0)>=(e|0))break;else f=f+4|0}return}case 8:{if((e|0)<=3)return;j=a+8|0;i=a+196|0;b=3;do{w=c[i>>2]|0;m=w+((d[f>>0]|0)*12|0)|0;v=w+((d[f+3>>0]|0)*12|0)|0;k=f;f=f+2|0;a=w+((d[f>>0]|0)*12|0)|0;kaa(j,m,w+((d[k+1>>0]|0)*12|0)|0,v,0);kaa(j,m,v,a,0);b=b+2|0}while((b|0)<(e|0));return}case 6:case 9:{k=a+196|0;i=c[k>>2]|0;m=i+((d[f>>0]|0)*12|0)|0;if((e|0)<=2)return;j=a+8|0;b=f+2|0;kaa(j,m,i+((d[f+1>>0]|0)*12|0)|0,i+((d[b>>0]|0)*12|0)|0,0);if((e|0)==3)return;f=b;b=3;do{w=c[k>>2]|0;a=f;f=f+1|0;kaa(j,m,w+((d[a>>0]|0)*12|0)|0,w+((d[f>>0]|0)*12|0)|0,0);b=b+1|0}while((b|0)!=(e|0));return}case 0:{v=f+e|0;if((e|0)<=0)return;w=a+8|0;k=w+8|0;m=w+144|0;j=c[a+196>>2]|0;r=+h[w+32>>3];s=+h[w+64>>3];t=+h[w+96>>3];u=+h[w+128>>3];q=+h[k>>3];while(1){w=d[f>>0]|0;n=+g[j+(w*12|0)>>2];o=+g[j+(w*12|0)+4>>2];p=+g[j+(w*12|0)+8>>2];x=u+(r*n+s*o+t*p);l=-x;a:do if(q<=l|x>-0.0)l=q;else{i=c[m>>2]|0;b=c[i>>2]|0;i=c[i+4>>2]|0;if((b|0)!=(i|0))do{if(+h[b+24>>3]+(+h[b>>3]*n+ +h[b+8>>3]*o+ +h[b+16>>3]*p)<0.0){l=q;break a}b=b+40|0}while((b|0)!=(i|0));h[k>>3]=l}while(0);f=f+1|0;if(f>>>0>=v>>>0)break;else q=l}return}case 1:{j=f+(e+-1)|0;if((e|0)<=1)return;i=a+8|0;b=a+196|0;do{w=c[b>>2]|0;laa(i,w+((d[f>>0]|0)*12|0)|0,w+((d[f+1>>0]|0)*12|0)|0,0);f=f+2|0}while(f>>>0<j>>>0);return}case 3:{j=f+(e+-1)|0;if((e|0)<=1)return;i=a+8|0;b=a+196|0;do{w=c[b>>2]|0;e=f;f=f+1|0;laa(i,w+((d[e>>0]|0)*12|0)|0,w+((d[f>>0]|0)*12|0)|0,0)}while(f>>>0<j>>>0);return}case 11:{j=f+(e+-2)|0;if((e|0)<=3)return;i=a+8|0;b=a+196|0;f=f+1|0;do{w=c[b>>2]|0;e=f;f=f+1|0;laa(i,w+((d[e>>0]|0)*12|0)|0,w+((d[f>>0]|0)*12|0)|0,0)}while(f>>>0<j>>>0);return}case 2:{k=f+(e+-1)|0;m=a+8|0;j=a+196|0;b=c[j>>2]|0;if((e|0)>1){i=f;do{w=i;i=i+1|0;laa(m,b+((d[w>>0]|0)*12|0)|0,b+((d[i>>0]|0)*12|0)|0,0);b=c[j>>2]|0}while(i>>>0<k>>>0)}laa(m,b+((d[k>>0]|0)*12|0)|0,b+((d[f>>0]|0)*12|0)|0,0);return}default:return}while(0)}function oaa(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,i=0;i=l;l=l+16|0;d=i;e=a+504|0;f=b+(c[(c[b>>2]|0)+-12>>2]|0)|0;c[d>>2]=71296;c[d+4>>2]=0;Or(e,f,d);c[d>>2]=71296;c[d+4>>2]=0;qU(a,89944,b,d);d=a+56|0;_R(d,b+56|0);c[a>>2]=89364;c[e>>2]=89776;c[d>>2]=89588;d=a+372|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[d+12>>2]=0;c[d+16>>2]=0;c[d+20>>2]=0;c[d+24>>2]=0;h[a+400>>3]=3402823466385288598117041.0e14;h[a+408>>3]=-3402823466385288598117041.0e14;c[a+480>>2]=0;c[a+484>>2]=0;d=a+480|0;e=a+476|0;f=a+416|0;g=f+60|0;do{c[f>>2]=0;f=f+4|0}while((f|0)<(g|0));c[e>>2]=d;c[a+492>>2]=0;c[a+496>>2]=0;c[a+488>>2]=a+492;b=c[b+500>>2]|0;c[a+500>>2]=b;if(!b){l=i;return}a=b+8|0;c[a>>2]=(c[a>>2]|0)+1;l=i;return}function paa(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;h=b+376|0;c[h>>2]=qaa(c[h>>2]|0,d)|0;h=d+120|0;e=c[h>>2]|0;if(!e)return;i=d+128|0;f=a[i+11>>0]|0;if(f<<24>>24<0)f=c[d+132>>2]|0;else f=f&255;if((f|0)!=0?(e&4|0)!=0|(c[b+436>>2]|0)==0:0){g=b+384|0;e=b+392|0;f=c[e>>2]|0;if((f|0)==(c[b+396>>2]|0))raa(b+388|0,g);else{c[f>>2]=c[g>>2];c[e>>2]=(c[e>>2]|0)+4}e=c[g>>2]|0;if(!(a[d+140>>0]|0))e=c[e+44>>2]|0;c[g>>2]=saa(e,c[d+124>>2]|0,i)|0;e=c[h>>2]|0}if(!(e&2))return;b=b+436|0;c[b>>2]=(c[b>>2]|0)+1;return}function qaa(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;i=d;j=b+24|0;h=b+28|0;e=c[h>>2]|0;if(e|0){f=h;do{l=(c[e+16>>2]|0)>>>0<d>>>0;f=l?f:e;e=c[(l?e+4|0:e)>>2]|0}while((e|0)!=0);if((f|0)!=(h|0)?(c[f+16>>2]|0)>>>0<=d>>>0:0){l=c[f+20>>2]|0;return l|0}}k=j0a(64)|0;c[k+4>>2]=0;l=k+8|0;c[l>>2]=0;c[k>>2]=90368;e=k+12|0;c[e>>2]=b;c[k+16>>2]=d;if(!d)f=b;else{f=d+8|0;c[f>>2]=(c[f>>2]|0)+1;f=c[e>>2]|0}e=k+20|0;c[e>>2]=0;m=k+28|0;c[m>>2]=0;c[k+32>>2]=0;c[k+24>>2]=m;m=k+36|0;g=k+60|0;c[m>>2]=0;c[m+4>>2]=0;c[m+8>>2]=0;c[m+12>>2]=0;c[m+16>>2]=0;c[m+20>>2]=0;a[m+24>>0]=0;if((f|0)!=0?(c[e>>2]=(c[f+20>>2]|0)+1,(a[f+60>>0]|0)!=0):0)e=1;else e=(c[d+24>>2]|0)==0&1;a[g>>0]=e;e=c[h>>2]|0;do if(e){g=b+28|0;while(1){f=c[e+16>>2]|0;if(f>>>0>d>>>0){f=c[e>>2]|0;if(!f){f=16;break}else{g=e;e=f}}else{if(f>>>0>=d>>>0){f=20;break}g=e+4|0;f=c[g>>2]|0;if(!f){f=19;break}else e=f}}if((f|0)==16){d=e;g=e;break}else if((f|0)==19){d=e;break}else if((f|0)==20){d=e;break}}else{d=h;g=h}while(0);e=c[g>>2]|0;if(!e){e=j0a(24)|0;c[e+16>>2]=i;c[e+20>>2]=0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=d;c[g>>2]=e;f=c[c[j>>2]>>2]|0;if(!f)f=e;else{c[j>>2]=f;f=c[g>>2]|0}fp(c[b+28>>2]|0,f);m=b+32|0;c[m>>2]=(c[m>>2]|0)+1}e=e+20|0;f=c[e>>2]|0;if((f|0)==(k|0)){m=k;return m|0}c[e>>2]=k;c[l>>2]=(c[l>>2]|0)+1;if(!f){m=k;return m|0}l=f+8|0;m=c[l>>2]|0;c[l>>2]=m-1;if((m|0)!=1){m=k;return m|0}UU(f,1,1);m=k;return m|0}function raa(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;i=a+4|0;j=c[a>>2]|0;k=(c[i>>2]|0)-j|0;g=k>>2;d=g+1|0;if(d>>>0>1073741823)g1a(a);l=a+8|0;f=(c[l>>2]|0)-j|0;h=f>>1;h=f>>2>>>0<536870911?(h>>>0<d>>>0?d:h):1073741823;do if(h)if(h>>>0>1073741823){l=db(8)|0;p0a(l,183738);c[l>>2]=110936;hb(l|0,65952,1066)}else{f=j0a(h<<2)|0;e=f;break}else{e=0;f=0}while(0);d=e+(g<<2)|0;c[d>>2]=c[b>>2];if((k|0)>0)x2a(f|0,j|0,k|0)|0;c[a>>2]=e;c[i>>2]=d+4;c[l>>2]=e+(h<<2);if(!j)return;l0a(j);return}function saa(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;j=a+48|0;g=a+52|0;e=c[g>>2]|0;if(e|0){f=g;do{i=(c[e+16>>2]|0)<(b|0);f=i?f:e;e=c[(i?e+4|0:e)>>2]|0}while((e|0)!=0);if((f|0)!=(g|0)?(c[f+16>>2]|0)<=(b|0):0){a=c[f+20>>2]|0;return a|0}}i=taa(d)|0;if(!i){a=0;return a|0}e=y1a(i,49896,49912,0)|0;if(e|0){c[e+36>>2]=b;c[e+40>>2]=0;c[e+44>>2]=e;uaa(c[a+44>>2]|0,e,0);a=i;return a|0}c[i+36>>2]=b;c[i+40>>2]=a;c[i+44>>2]=c[a+44>>2];e=c[g>>2]|0;do if(e){d=a+52|0;while(1){f=c[e+16>>2]|0;if((f|0)>(b|0)){f=c[e>>2]|0;if(!f){f=14;break}else{d=e;e=f}}else{if((f|0)>=(b|0)){f=18;break}d=e+4|0;f=c[d>>2]|0;if(!f){f=17;break}else e=f}}if((f|0)==14){h=e;d=e;break}else if((f|0)==17){h=e;break}else if((f|0)==18){h=e;break}}else{h=g;d=g}while(0);e=c[d>>2]|0;if(!e){e=j0a(24)|0;c[e+16>>2]=b;c[e+20>>2]=0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=h;c[d>>2]=e;f=c[c[j>>2]>>2]|0;if(!f)f=e;else{c[j>>2]=f;f=c[d>>2]|0}fp(c[a+52>>2]|0,f);a=a+56|0;c[a>>2]=(c[a>>2]|0)+1}e=e+20|0;f=c[e>>2]|0;if((f|0)==(i|0)){a=i;return a|0}c[e>>2]=i;a=i+8|0;c[a>>2]=(c[a>>2]|0)+1;if(!f){a=i;return a|0}j=f+8|0;a=c[j>>2]|0;c[j>>2]=a-1;if((a|0)!=1){a=i;return a|0}UU(f,1,1);a=i;return a|0}function taa(b){b=b|0;var d=0,e=0,f=0,g=0,h=0;h=l;l=l+16|0;d=h;if(((vaa()|0?(f=vaa()|0,f|0):0)?(g=waa(f+12|0,b)|0,(g|0)!=(f+16|0)):0)?(e=c[g+28>>2]|0,e|0):0){b=c[(c[e>>2]|0)+16>>2]|0;c[d>>2]=71296;c[d+4>>2]=2147483647;b=kk[b&511](e,d)|0;if(!b)b=0;else b=y1a(b,42800,49896,0)|0;g=b;l=h;return g|0}if(ZQ(2)|0){e=mr(lr(2)|0,162264,20)|0;g=a[b+11>>0]|0;f=g<<24>>24<0;g=mr(mr(e,f?c[b>>2]|0:b,f?c[b+4>>2]|0:g&255)|0,162285,66)|0;BSa(d,g+(c[(c[g>>2]|0)+-12>>2]|0)|0);f=cUa(d,230580)|0;f=kk[c[(c[f>>2]|0)+28>>2]&511](f,10)|0;dUa(d);VSa(g,f)|0;HSa(g)|0}g=j0a(104)|0;c[g+4>>2]=0;c[g+8>>2]=0;f=g+12|0;c[f>>2]=0;c[f+4>>2]=0;c[f+8>>2]=0;c[g+24>>2]=2;c[g+28>>2]=0;c[g>>2]=90132;c[g+32>>2]=0;f=g+52|0;c[f>>2]=0;c[g+56>>2]=0;c[g+48>>2]=f;f=g+60|0;c[g+92>>2]=0;c[g+96>>2]=0;c[g+100>>2]=0;c[g+36>>2]=0;c[g+40>>2]=0;c[g+44>>2]=0;c[f>>2]=0;c[f+4>>2]=0;c[f+8>>2]=0;c[f+12>>2]=0;c[f+16>>2]=0;c[f+20>>2]=0;a[f+24>>0]=0;c[g+88>>2]=xaa()|0;l=h;return g|0}function uaa(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;if(!b)return;i=a+108|0;e=c[a+112>>2]|0;f=e;a:do if((i|0)==(f|0))f=i;else while(1){if((c[e+8>>2]|0)>(d|0))break a;e=c[f+4>>2]|0;f=e;if((i|0)==(f|0)){f=i;break}}while(0);g=b+8|0;c[g>>2]=(c[g>>2]|0)+1;h=j0a(16)|0;c[h>>2]=0;c[h+8>>2]=d;c[h+12>>2]=b;c[g>>2]=(c[g>>2]|0)+1;if((i|0)==(f|0)){c[h+4>>2]=i;d=c[i>>2]|0;c[h>>2]=d;c[d+4>>2]=h;c[i>>2]=h;i=a+116|0;c[i>>2]=(c[i>>2]|0)+1;i=c[g>>2]|0;c[g>>2]=i-1;if((i|0)!=1)return;UU(b,1,1);return}else{i=c[f>>2]|0;c[i+4>>2]=h;c[h>>2]=i;c[e>>2]=h;c[h+4>>2]=f;i=a+116|0;c[i>>2]=(c[i>>2]|0)+1;i=c[g>>2]|0;c[g>>2]=i-1;if((i|0)!=1)return;UU(b,1,1);return}}function vaa(){var b=0;if((a[223744]|0)==0?g2a(223744)|0:0){b=j0a(24)|0;Fba(b);c[56450]=b;b=b+8|0;c[b>>2]=(c[b>>2]|0)+1}return c[56450]|0}function waa(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;m=b+4|0;e=c[m>>2]|0;do if(e|0){l=a[d+11>>0]|0;k=l<<24>>24<0;l=k?c[d+4>>2]|0:l&255;k=k?c[d>>2]|0:d;b=m;do{f=e+16|0;h=a[f+11>>0]|0;g=h<<24>>24<0;h=g?c[e+20>>2]|0:h&255;i=l>>>0<h>>>0;d=i?l:h;if((d|0)!=0?(j=cOa(g?c[f>>2]|0:f,k,d)|0,(j|0)!=0):0)d=j;else d=h>>>0<l>>>0?-1:i&1;i=(d|0)<0;b=i?b:e;e=c[(i?e+4|0:e)>>2]|0}while((e|0)!=0);if((b|0)!=(m|0)){e=b+16|0;g=a[e+11>>0]|0;f=g<<24>>24<0;g=f?c[b+20>>2]|0:g&255;d=g>>>0<l>>>0?g:l;if(d|0?(n=cOa(k,f?c[e>>2]|0:e,d)|0,n|0):0){if((n|0)<0)break;return b|0}if(l>>>0>=g>>>0){n=b;return n|0}}}while(0);n=m;return n|0}function xaa(){var b=0;do if((a[231022]|0)==0?(a[231022]=1,b=Jh(162352)|0,b|0):0){if(!(eOa(b,162378)|0)){c[56449]=0;break}if(!(eOa(b,162392)|0)){c[56449]=1;break}if(!(eOa(b,162425)|0)){c[56449]=2;break}if(!(eOa(b,162444)|0)){c[56449]=3;break}if(!(eOa(b,162463)|0))c[56449]=4}while(0);return c[56449]|0}function yaa(a){a=a|0;var b=0,d=0,e=0,f=0;c[a>>2]=90132;b=a+100|0;d=c[b>>2]|0;if(d|0?(f=d+8|0,e=c[f>>2]|0,c[f>>2]=e-1,(e|0)==1):0)UU(d,1,1);c[b>>2]=0;b=a+96|0;d=c[b>>2]|0;if(d|0?(e=d+8|0,f=c[e>>2]|0,c[e>>2]=f-1,(f|0)==1):0)UU(d,1,1);c[b>>2]=0;b=a+92|0;d=c[b>>2]|0;if(d|0?(e=d+8|0,f=c[e>>2]|0,c[e>>2]=f-1,(f|0)==1):0)UU(d,1,1);c[b>>2]=0;b=c[a+72>>2]|0;if(b|0){c[a+76>>2]=b;l0a(b)}b=c[a+60>>2]|0;if(b|0){c[a+64>>2]=b;l0a(b)}Cba(a+48|0,c[a+52>>2]|0);b=a+32|0;d=c[b>>2]|0;if(!d){c[b>>2]=0;Pr(a);return}e=d+8|0;f=c[e>>2]|0;c[e>>2]=f-1;if((f|0)!=1){c[b>>2]=0;Pr(a);return}UU(d,1,1);c[b>>2]=0;Pr(a);return}function zaa(a){a=a|0;yaa(a);l0a(a);return}function Aaa(b){b=b|0;var d=0;b=j0a(104)|0;c[b+4>>2]=0;c[b+8>>2]=0;d=b+12|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[b+24>>2]=2;c[b+28>>2]=0;c[b>>2]=90132;c[b+32>>2]=0;d=b+52|0;c[d>>2]=0;c[b+56>>2]=0;c[b+48>>2]=d;d=b+60|0;c[b+92>>2]=0;c[b+96>>2]=0;c[b+100>>2]=0;c[b+36>>2]=0;c[b+40>>2]=0;c[b+44>>2]=0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[d+12>>2]=0;c[d+16>>2]=0;c[d+20>>2]=0;a[d+24>>0]=0;c[b+88>>2]=xaa()|0;return b|0}function Baa(a,b){a=a|0;b=b|0;var c=0;c=j0a(104)|0;Dba(c,a,b);return c|0}function Caa(a,b){a=a|0;b=b|0;if(!b){b=0;return b|0}b=(y1a(b,42800,49896,0)|0)!=0;return b|0}function Daa(a){a=a|0;return 160686}function Eaa(a){a=a|0;return 186301}function Faa(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=c[a+100>>2]|0;if(d|0)Jk[c[(c[d>>2]|0)+160>>2]&1023](d,b);d=c[a+48>>2]|0;f=a+52|0;if((d|0)==(f|0))return;e=d;while(1){d=c[e+20>>2]|0;Jk[c[(c[d>>2]|0)+160>>2]&1023](d,b);d=c[e+4>>2]|0;if(!d){a=e+8|0;d=c[a>>2]|0;if((c[d>>2]|0)!=(e|0))do{e=c[a>>2]|0;a=e+8|0;d=c[a>>2]|0}while((c[d>>2]|0)!=(e|0))}else while(1){a=c[d>>2]|0;if(!a)break;else d=a}if((d|0)==(f|0))break;else e=d}return}function Gaa(b){b=b|0;var d=0,e=0;c[b+64>>2]=c[b+60>>2];c[b+76>>2]=c[b+72>>2];e=b+48|0;d=b+52|0;Cba(e,c[d>>2]|0);c[b+56>>2]=0;c[e>>2]=d;c[d>>2]=0;a[b+84>>0]=0;return}function Haa(b){b=b|0;var d=0,e=0,f=0,g=0,h=0;h=b+84|0;if(a[h>>0]|0)return;d=c[b+48>>2]|0;g=b+52|0;if((d|0)!=(g|0)){f=d;while(1){d=c[f+20>>2]|0;Bk[c[(c[d>>2]|0)+168>>2]&2047](d);d=c[f+4>>2]|0;if(!d){e=f+8|0;d=c[e>>2]|0;if((c[d>>2]|0)!=(f|0))do{f=c[e>>2]|0;e=f+8|0;d=c[e>>2]|0}while((c[d>>2]|0)!=(f|0))}else while(1){e=c[d>>2]|0;if(!e)break;else d=e}if((d|0)==(g|0))break;else f=d}}d=c[b+92>>2]|0;if(!d)Bk[c[(c[b>>2]|0)+172>>2]&2047](b);else Jk[c[(c[d>>2]|0)+12>>2]&1023](d,b);a[h>>0]=1;return}function Iaa(a){a=a|0;switch(c[a+88>>2]|0){case 0:{Bk[c[(c[a>>2]|0)+176>>2]&2047](a);return}case 1:{Bk[c[(c[a>>2]|0)+180>>2]&2047](a);return}case 2:{Bk[c[(c[a>>2]|0)+184>>2]&2047](a);return}case 3:{Bk[c[(c[a>>2]|0)+188>>2]&2047](a);return}case 4:{Bk[c[(c[a>>2]|0)+192>>2]&2047](a);return}default:return}}function Jaa(a){a=a|0;return}function Kaa(a){a=a|0;var b=0,d=0.0,e=0.0,f=0,h=0,i=0,k=0,m=0,n=0,o=0,p=0,q=0;q=l;l=l+16|0;k=q;n=a+60|0;b=c[n>>2]|0;h=a+64|0;if((b|0)==(c[h>>2]|0)){p=b;o=b;vba(o,p,k);l=q;return}do{a=c[b>>2]|0;wba(c[a+36>>2]|0,c[a+40>>2]|0,k);a=c[b>>2]|0;f=a+52|0;if((+g[f>>2]==3402823466385288598117041.0e14?(m=c[a+36>>2]|0,o=c[a+40>>2]|0,(m|0)!=(o|0)):0)?(p=c[(c[m>>2]|0)+28>>2]|0,c[f>>2]=p,i=m+4|0,(i|0)!=(o|0)):0){a=i;e=(c[j>>2]=p,+g[j>>2]);while(1){d=+g[(c[a>>2]|0)+28>>2];if(d<e)g[f>>2]=d;else d=e;a=a+4|0;if((a|0)==(o|0))break;else e=d}}b=b+4|0}while((b|0)!=(c[h>>2]|0));p=b;o=c[n>>2]|0;vba(o,p,k);l=q;return}function Laa(a){a=a|0;var b=0;b=l;l=l+16|0;jba(a);sba(c[a+72>>2]|0,c[a+76>>2]|0,b);l=b;return}function Maa(a){a=a|0;var b=0;b=l;l=l+16|0;jba(a);pba(c[a+72>>2]|0,c[a+76>>2]|0,b);l=b;return}function Naa(a){a=a|0;var b=0;b=l;l=l+16|0;jba(a);kba(c[a+72>>2]|0,c[a+76>>2]|0,b);l=b;return}function Oaa(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=l;l=l+16|0;e=h;c[e>>2]=a;g=b+24|0;f=c[g>>2]|0;if((f|0)==(c[b+28>>2]|0))raa(b+20|0,e);else{c[f>>2]=a;c[g>>2]=(c[g>>2]|0)+4}e=c[a+96>>2]|0;if(!e){Nk[c[(c[a>>2]|0)+200>>2]&255](a,b,d);d=c[g>>2]|0;d=d+-4|0;c[g>>2]=d;l=h;return}else{Qk[c[(c[e>>2]|0)+12>>2]&127](e,a,b,d);d=c[g>>2]|0;d=d+-4|0;c[g>>2]=d;l=h;return}}function Paa(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;l=c[b>>2]|0;f=c[d>>2]|0;if((f|0)!=0?(e=c[f+12>>2]|0,(e|0)!=0):0){f=0;do{f=f+((c[e+16>>2]|0)!=0&1)|0;e=c[e+12>>2]|0}while((e|0)!=0);e=f+((f>>>0>1)<<31>>31)|0}else e=0;j=((c[l+716>>2]|0)-(c[l+712>>2]|0)>>2)-e|0;k=a+100|0;e=c[k>>2]|0;if(e|0)Raa(l,j,e);e=c[a+48>>2]|0;i=a+52|0;a:do if((e|0)!=(i|0)){g=e;while(1){if((c[g+16>>2]|0)>=0){e=g;break a}e=c[g+20>>2]|0;Nk[c[(c[e>>2]|0)+196>>2]&255](e,b,d);e=c[g+4>>2]|0;if(!e){f=g+8|0;e=c[f>>2]|0;if((c[e>>2]|0)!=(g|0))do{h=c[f>>2]|0;f=h+8|0;e=c[f>>2]|0}while((c[e>>2]|0)!=(h|0))}else while(1){f=c[e>>2]|0;if(!f)break;else e=f}if((e|0)==(i|0)){e=i;break}else g=e}}while(0);f=c[a+72>>2]|0;g=a+76|0;if((f|0)!=(c[g>>2]|0))do{h=c[f>>2]|0;Nk[c[(c[h>>2]|0)+12>>2]&255](h,b,c[d>>2]|0);c[d>>2]=h;f=f+4|0}while((f|0)!=(c[g>>2]|0));f=c[a+60>>2]|0;h=a+64|0;g=c[h>>2]|0;if((f|0)!=(g|0)){a=f;while(1){m=c[a>>2]|0;f=c[m+36>>2]|0;if((f|0)==(c[m+40>>2]|0))f=g;else{do{m=c[f>>2]|0;Nk[c[(c[m>>2]|0)+12>>2]&255](m,b,c[d>>2]|0);c[d>>2]=m;f=f+4|0}while((f|0)!=(c[(c[a>>2]|0)+40>>2]|0));f=c[h>>2]|0}a=a+4|0;if((a|0)==(f|0))break;else g=f}}if((e|0)!=(i|0)){g=e;while(1){e=c[g+20>>2]|0;Nk[c[(c[e>>2]|0)+196>>2]&255](e,b,d);e=c[g+4>>2]|0;if(!e){f=g+8|0;e=c[f>>2]|0;if((c[e>>2]|0)!=(g|0))do{m=c[f>>2]|0;f=m+8|0;e=c[f>>2]|0}while((c[e>>2]|0)!=(m|0))}else while(1){f=c[e>>2]|0;if(!f)break;else e=f}if((e|0)==(i|0))break;else g=e}}if(!(c[k>>2]|0))return;Saa(l,j);return}function Qaa(a){a=a|0;var b=0,e=0,f=0,g=0,h=0,i=0;e=c[a+48>>2]|0;i=a+52|0;a:do if((e|0)==(i|0))b=0;else{b=0;while(1){if((c[e+16>>2]|0)>=0)break a;f=c[e+20>>2]|0;b=(gk[c[(c[f>>2]|0)+204>>2]&1023](f)|0)+b|0;f=c[e+4>>2]|0;if(!f){f=e+8|0;g=c[f>>2]|0;if((c[g>>2]|0)==(e|0))e=g;else do{h=c[f>>2]|0;f=h+8|0;e=c[f>>2]|0}while((c[e>>2]|0)!=(h|0))}else{e=f;while(1){f=c[e>>2]|0;if(!f)break;else e=f}}if((e|0)==(i|0)){e=i;break}}}while(0);f=c[a+72>>2]|0;g=c[a+76>>2]|0;if((f|0)!=(g|0))do{b=b+(d[(c[f>>2]|0)+32>>0]|0)|0;f=f+4|0}while((f|0)!=(g|0));f=c[a+60>>2]|0;h=c[a+64>>2]|0;if((f|0)!=(h|0))do{a=c[f>>2]|0;g=c[a+36>>2]|0;a=c[a+40>>2]|0;if((g|0)!=(a|0))do{b=b+(d[(c[g>>2]|0)+32>>0]|0)|0;g=g+4|0}while((g|0)!=(a|0));f=f+4|0}while((f|0)!=(h|0));if((e|0)==(i|0)){i=b;return i|0}do{f=c[e+20>>2]|0;b=(gk[c[(c[f>>2]|0)+204>>2]&1023](f)|0)+b|0;f=c[e+4>>2]|0;if(!f){f=e+8|0;g=c[f>>2]|0;if((c[g>>2]|0)==(e|0))e=g;else do{h=c[f>>2]|0;f=h+8|0;e=c[f>>2]|0}while((c[e>>2]|0)!=(h|0))}else{e=f;while(1){f=c[e>>2]|0;if(!f)break;else e=f}}}while((e|0)!=(i|0));return b|0}function Raa(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0;n=l;l=l+16|0;k=n;c[k>>2]=0;m=k+4|0;c[m>>2]=0;h=k+8|0;c[h>>2]=0;i=a+712|0;j=a+716|0;e=c[j>>2]|0;a:do if(e-(c[i>>2]|0)>>2>>>0>b>>>0){f=0;g=0;while(1){e=e+-4|0;if((f|0)==(g|0))Taa(k,e);else{c[f>>2]=c[e>>2];c[m>>2]=(c[m>>2]|0)+4}Uaa(a);e=c[j>>2]|0;if(e-(c[i>>2]|0)>>2>>>0<=b>>>0)break a;f=c[m>>2]|0;g=c[h>>2]|0}}while(0);Vaa(a,d);e=c[m>>2]|0;if((e|0)==(c[k>>2]|0)){if(!e){l=n;return}}else do{e=e+-4|0;Vaa(a,c[e>>2]|0)}while((e|0)!=(c[k>>2]|0));c[m>>2]=e;l0a(e);l=n;return}function Saa(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0;n=l;l=l+16|0;k=n;h=a+712|0;i=a+716|0;d=c[i>>2]|0;e=d-(c[h>>2]|0)>>2;if(e>>>0<=b>>>0){if(!(ZQ(3)|0)){l=n;return}m=mr(QSa(mr(lr(3)|0,162479,31)|0,b)|0,162511,14)|0;BSa(k,m+(c[(c[m>>2]|0)+-12>>2]|0)|0);a=cUa(k,230580)|0;a=kk[c[(c[a>>2]|0)+28>>2]&511](a,10)|0;dUa(k);VSa(m,a)|0;HSa(m)|0;l=n;return}c[k>>2]=0;m=k+4|0;c[m>>2]=0;g=k+8|0;c[g>>2]=0;a:do if((e+-1|0)>>>0>b>>>0){e=0;f=0;while(1){d=d+-4|0;if((e|0)==(f|0))Taa(k,d);else{c[e>>2]=c[d>>2];c[m>>2]=(c[m>>2]|0)+4}Uaa(a);d=c[i>>2]|0;if(((d-(c[h>>2]|0)>>2)+-1|0)>>>0<=b>>>0)break a;e=c[m>>2]|0;f=c[g>>2]|0}}while(0);Uaa(a);d=c[m>>2]|0;if((d|0)==(c[k>>2]|0)){if(d|0)j=14}else{do{d=d+-4|0;Vaa(a,c[d>>2]|0)}while((d|0)!=(c[k>>2]|0));j=14}if((j|0)==14){c[m>>2]=d;l0a(d)}l=n;return}function Taa(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;i=a+4|0;j=c[a>>2]|0;k=(c[i>>2]|0)-j|0;g=k>>2;d=g+1|0;if(d>>>0>1073741823)g1a(a);l=a+8|0;f=(c[l>>2]|0)-j|0;h=f>>1;h=f>>2>>>0<536870911?(h>>>0<d>>>0?d:h):1073741823;do if(h)if(h>>>0>1073741823){l=db(8)|0;p0a(l,183738);c[l>>2]=110936;hb(l|0,65952,1066)}else{f=j0a(h<<2)|0;e=f;break}else{e=0;f=0}while(0);d=e+(g<<2)|0;c[d>>2]=c[b>>2];if((k|0)>0)x2a(f|0,j|0,k|0)|0;c[a>>2]=e;c[i>>2]=d+4;c[l>>2]=e+(h<<2);if(!j)return;l0a(j);return}function Uaa(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0;p=l;l=l+32|0;k=p+8|0;m=p;n=p+16|0;o=a+716|0;b=c[o>>2]|0;if((c[a+712>>2]|0)==(b|0)){l=p;return}b=b+-4|0;j=c[b>>2]|0;if(j){gba(a,a+620|0,j+44|0);e=j+68|0;f=j+72|0;if((c[f>>2]|0)!=(c[e>>2]|0)){g=a+684|0;h=a+688|0;b=0;do{i=((c[h>>2]|0)-(c[g>>2]|0)|0)/12|0;d=b;b=b+1|0;if(i>>>0<=d>>>0)Xaa(g,b-i|0);gba(a,(c[g>>2]|0)+(d*12|0)|0,(c[e>>2]|0)+(d*12|0)|0)}while(b>>>0<(((c[f>>2]|0)-(c[e>>2]|0)|0)/12|0)>>>0)}hba(a,a+632|0,j+56|0);e=j+80|0;f=j+84|0;if((c[f>>2]|0)!=(c[e>>2]|0)){g=a+696|0;h=a+700|0;b=0;do{i=((c[h>>2]|0)-(c[g>>2]|0)|0)/12|0;d=b;b=b+1|0;if(i>>>0<=d>>>0)sD(g,b-i|0);hba(a,(c[g>>2]|0)+(d*12|0)|0,(c[e>>2]|0)+(d*12|0)|0)}while(b>>>0<(((c[f>>2]|0)-(c[e>>2]|0)|0)/12|0)>>>0)}b=c[j+92>>2]|0;f=j+96|0;if((b|0)!=(f|0)){g=a+644|0;e=b;while(1){i=e+16|0;c[m>>2]=i;aba(k,g,i,231021,m,n);i=c[k>>2]|0;b=i+32|0;d=c[b>>2]|0;if((c[i+28>>2]|0)!=(d|0))c[b>>2]=d+-8;b=c[e+4>>2]|0;if(!b){d=e+8|0;b=c[d>>2]|0;if((c[b>>2]|0)!=(e|0))do{i=c[d>>2]|0;d=i+8|0;b=c[d>>2]|0}while((c[b>>2]|0)!=(i|0))}else while(1){d=c[b>>2]|0;if(!d)break;else b=d}if((b|0)==(f|0))break;else e=b}}iba(a,a+656|0,j+104|0);b=(c[o>>2]|0)+-4|0}c[o>>2]=b;l=p;return}function Vaa(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;k=l;l=l+16|0;j=k;c[j>>2]=b;d=a+716|0;e=c[d>>2]|0;if((e|0)==(c[a+720>>2]|0))Taa(a+712|0,j);else{c[e>>2]=b;c[d>>2]=(c[d>>2]|0)+4}b=c[j>>2]|0;if(!b){l=k;return}Waa(a,a+620|0,b+44|0);b=c[j>>2]|0;h=b+68|0;i=b+72|0;if((c[i>>2]|0)!=(c[h>>2]|0)){e=a+684|0;f=a+688|0;b=0;do{g=((c[f>>2]|0)-(c[e>>2]|0)|0)/12|0;d=b;b=b+1|0;if(g>>>0<=d>>>0)Xaa(e,b-g|0);Waa(a,(c[e>>2]|0)+(d*12|0)|0,(c[h>>2]|0)+(d*12|0)|0)}while(b>>>0<(((c[i>>2]|0)-(c[h>>2]|0)|0)/12|0)>>>0);b=c[j>>2]|0}Yaa(a,a+632|0,b+56|0);b=c[j>>2]|0;h=b+80|0;i=b+84|0;if((c[i>>2]|0)!=(c[h>>2]|0)){e=a+696|0;f=a+700|0;b=0;do{g=((c[f>>2]|0)-(c[e>>2]|0)|0)/12|0;d=b;b=b+1|0;if(g>>>0<=d>>>0)sD(e,b-g|0);Yaa(a,(c[e>>2]|0)+(d*12|0)|0,(c[h>>2]|0)+(d*12|0)|0)}while(b>>>0<(((c[i>>2]|0)-(c[h>>2]|0)|0)/12|0)>>>0);b=c[j>>2]|0}Zaa(a,a+644|0,b+92|0);_aa(a,a+656|0,(c[j>>2]|0)+104|0);l=k;return}function Waa(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;b=c[e>>2]|0;l=e+4|0;if((b|0)==(l|0))return;m=d+4|0;n=d+4|0;o=d+8|0;k=b;while(1){h=k+16|0;b=c[m>>2]|0;do if(b){g=c[h>>2]|0;f=n;while(1){e=c[b+16>>2]|0;if(g>>>0<e>>>0){e=c[b>>2]|0;if(!e){e=8;break}}else{if(e>>>0>=g>>>0){e=12;break}f=b+4|0;e=c[f>>2]|0;if(!e){e=11;break}else b=f}f=b;b=e}if((e|0)==8){g=b;f=b;break}else if((e|0)==11){g=b;break}else if((e|0)==12){g=b;break}}else{g=m;f=m}while(0);b=c[f>>2]|0;if(!b){e=j0a(36)|0;c[e+16>>2]=c[h>>2];c[e+24>>2]=0;c[e+28>>2]=0;c[e+32>>2]=0;a[e+20>>0]=1;a[e+21>>0]=0;a[e+22>>0]=0;a[e+23>>0]=0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=g;c[f>>2]=e;b=c[c[d>>2]>>2]|0;if(!b)b=e;else{c[d>>2]=b;b=c[f>>2]|0}fp(c[n>>2]|0,b);c[o>>2]=(c[o>>2]|0)+1;b=e}i=b+24|0;f=c[i>>2]|0;j=b+28|0;h=c[j>>2]|0;do if((f|0)==(h|0)){e=k+20|0;if((f|0)==(c[b+32>>2]|0)){Nz(i,e);break}else{c[f>>2]=c[e>>2];c[j>>2]=f+4;break}}else{f=h+-4|0;g=c[f>>2]|0;e=k+20|0;if(g&2|0?(c[e>>2]&4|0)==0:0)if((h|0)==(c[b+32>>2]|0)){Nz(i,f);break}else{c[h>>2]=g;c[j>>2]=h+4;break}if((h|0)==(c[b+32>>2]|0)){Nz(i,e);break}else{c[h>>2]=c[e>>2];c[j>>2]=h+4;break}}while(0);a[b+21>>0]=1;b=c[k+4>>2]|0;if(!b){e=k+8|0;b=c[e>>2]|0;if((c[b>>2]|0)!=(k|0))do{k=c[e>>2]|0;e=k+8|0;b=c[e>>2]|0}while((c[b>>2]|0)!=(k|0))}else while(1){e=c[b>>2]|0;if(!e)break;else b=e}if((b|0)==(l|0))break;else k=b}return}function Xaa(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;l=a+8|0;f=c[l>>2]|0;m=a+4|0;d=c[m>>2]|0;if(((f-d|0)/12|0)>>>0>=b>>>0){do{c[d+4>>2]=0;c[d+8>>2]=0;c[d>>2]=d+4;d=(c[m>>2]|0)+12|0;c[m>>2]=d;b=b+-1|0}while((b|0)!=0);return}e=c[a>>2]|0;g=(d-e|0)/12|0;h=g+b|0;if(h>>>0>357913941)g1a(a);k=(f-e|0)/12|0;d=k<<1;d=k>>>0<178956970?(d>>>0<h>>>0?h:d):357913941;do if(d)if(d>>>0>357913941){m=db(8)|0;p0a(m,183738);c[m>>2]=110936;hb(m|0,65952,1066)}else{f=j0a(d*12|0)|0;break}else f=0;while(0);g=f+(g*12|0)|0;e=f+(d*12|0)|0;d=g;while(1){c[d+4>>2]=0;c[d+8>>2]=0;c[d>>2]=d+4;b=b+-1|0;if(!b)break;else d=d+12|0}k=f+(h*12|0)|0;j=c[a>>2]|0;d=c[m>>2]|0;if((d|0)==(j|0)){b=g;f=j;d=j}else{b=g;do{i=b;b=b+-12|0;f=d;d=d+-12|0;c[b>>2]=c[d>>2];g=c[f+-8>>2]|0;c[i+-8>>2]=g;h=f+-4|0;n=c[h>>2]|0;c[i+-4>>2]=n;i=i+-8|0;if(!n)c[b>>2]=i;else{c[g+8>>2]=i;n=f+-8|0;c[d>>2]=n;c[n>>2]=0;c[h>>2]=0}}while((d|0)!=(j|0));f=c[a>>2]|0;d=c[m>>2]|0}c[a>>2]=b;c[m>>2]=k;c[l>>2]=e;b=f;if((d|0)!=(b|0))do{n=d;d=d+-12|0;bY(d,c[n+-8>>2]|0)}while((d|0)!=(b|0));if(!f)return;l0a(f);return}function Yaa(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;s=l;l=l+16|0;r=s;b=c[e>>2]|0;n=e+4|0;if((b|0)==(n|0)){l=s;return}o=d+4|0;p=d+4|0;q=d+8|0;k=r+4|0;m=r+4|0;j=b;while(1){i=j+16|0;b=c[o>>2]|0;do if(b){g=c[i>>2]|0;h=c[j+20>>2]|0;e=p;a:while(1){f=c[b+16>>2]|0;do if((g|0)>=(f|0)){if((f|0)>=(g|0)){f=c[b+20>>2]|0;if(h>>>0<f>>>0){t=9;break}if(f>>>0>=h>>>0){t=14;break a}}e=b+4|0;f=c[e>>2]|0;if(!f){t=13;break a}else b=e}else t=9;while(0);if((t|0)==9){t=0;f=c[b>>2]|0;if(!f){t=10;break}}e=b;b=f}if((t|0)==10){t=0;g=b;e=b;break}else if((t|0)==13){t=0;g=b;break}else if((t|0)==14){t=0;g=b;break}}else{g=o;e=o}while(0);b=c[e>>2]|0;if(!b){f=j0a(52)|0;h=i;i=c[h+4>>2]|0;b=f+16|0;c[b>>2]=c[h>>2];c[b+4>>2]=i;a[f+24>>0]=0;b=f+28|0;c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;c[b+12>>2]=0;c[b+16>>2]=0;c[b+20>>2]=0;c[f>>2]=0;c[f+4>>2]=0;c[f+8>>2]=g;c[e>>2]=f;b=c[c[d>>2]>>2]|0;if(!b)b=f;else{c[d>>2]=b;b=c[e>>2]|0}fp(c[p>>2]|0,b);c[q>>2]=(c[q>>2]|0)+1;b=f}g=b+40|0;e=c[g>>2]|0;h=b+44|0;i=c[h>>2]|0;do if((e|0)==(i|0)){c[r>>2]=c[j+24>>2];c[k>>2]=c[j+28>>2];if(e>>>0<(c[b+48>>2]|0)>>>0){f=r;g=c[f+4>>2]|0;i=e;c[i>>2]=c[f>>2];c[i+4>>2]=g;c[h>>2]=(c[h>>2]|0)+8}else eba(g,r)}else{f=i+-8|0;e=c[j+28>>2]|0;if((e&4|0)==0?(c[i+-4>>2]&2|0)!=0:0)if((i|0)==(c[b+48>>2]|0)){fba(g,f);break}else{g=c[f+4>>2]|0;c[i>>2]=c[f>>2];c[i+4>>2]=g;c[h>>2]=(c[h>>2]|0)+8;break}c[r>>2]=c[j+24>>2];c[m>>2]=e;if(i>>>0<(c[b+48>>2]|0)>>>0){f=r;g=c[f+4>>2]|0;c[i>>2]=c[f>>2];c[i+4>>2]=g;c[h>>2]=(c[h>>2]|0)+8}else eba(g,r)}while(0);a[b+24>>0]=1;b=c[j+4>>2]|0;if(!b){e=j+8|0;b=c[e>>2]|0;if((c[b>>2]|0)!=(j|0))do{j=c[e>>2]|0;e=j+8|0;b=c[e>>2]|0}while((c[b>>2]|0)!=(j|0))}else while(1){e=c[b>>2]|0;if(!e)break;else b=e}if((b|0)==(n|0))break;else j=b}l=s;return}function Zaa(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0;q=l;l=l+16|0;n=q;o=q+8|0;p=q+12|0;a=c[d>>2]|0;k=d+4|0;if((a|0)==(k|0)){l=q;return}m=n+4|0;j=n+4|0;i=a;while(1){e=i+16|0;c[o>>2]=e;aba(n,b,e,231021,o,p);e=c[n>>2]|0;f=e+28|0;a=c[f>>2]|0;g=e+32|0;h=c[g>>2]|0;do if((a|0)==(h|0)){c[n>>2]=c[i+28>>2];c[m>>2]=c[i+32>>2];if(a>>>0<(c[e+36>>2]|0)>>>0){e=n;f=c[e+4>>2]|0;h=a;c[h>>2]=c[e>>2];c[h+4>>2]=f;c[g>>2]=(c[g>>2]|0)+8}else bba(f,n)}else{d=h+-8|0;a=c[i+32>>2]|0;if((a&4|0)==0?(c[h+-4>>2]&2|0)!=0:0)if((h|0)==(c[e+36>>2]|0)){cba(f,d);break}else{e=d;f=c[e+4>>2]|0;c[h>>2]=c[e>>2];c[h+4>>2]=f;c[g>>2]=(c[g>>2]|0)+8;break}c[n>>2]=c[i+28>>2];c[j>>2]=a;if(h>>>0<(c[e+36>>2]|0)>>>0){e=n;f=c[e+4>>2]|0;c[h>>2]=c[e>>2];c[h+4>>2]=f;c[g>>2]=(c[g>>2]|0)+8}else bba(f,n)}while(0);a=c[i+4>>2]|0;if(!a){d=i+8|0;a=c[d>>2]|0;if((c[a>>2]|0)!=(i|0))do{i=c[d>>2]|0;d=i+8|0;a=c[d>>2]|0}while((c[a>>2]|0)!=(i|0))}else while(1){d=c[a>>2]|0;if(!d)break;else a=d}if((a|0)==(k|0))break;else i=a}l=q;return}function _aa(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;A=l;l=l+32|0;x=A+8|0;y=A;z=A+24|0;b=c[e>>2]|0;v=e+4|0;if((b|0)==(v|0)){l=A;return}w=x+12|0;r=x+11|0;s=x+12|0;t=d+12|0;u=x+11|0;q=b;while(1){h=q+16|0;c[y>>2]=h;HX(x,d,h,231021,y,z);h=c[x>>2]|0;p=h+28|0;i=h+32|0;j=h+36|0;e=c[j>>2]|0;a:do if((c[i>>2]|0)==(e|0)){t0a(x,q+28|0);c[w>>2]=c[q+40>>2];b=c[j>>2]|0;if(b>>>0>=(c[h+40>>2]|0)>>>0){IX(i,x);if((a[r>>0]|0)<0)l0a(c[x>>2]|0)}else{c[b>>2]=c[x>>2];c[b+4>>2]=c[x+4>>2];c[b+8>>2]=c[x+8>>2];c[x>>2]=0;c[x+4>>2]=0;c[x+8>>2]=0;c[b+12>>2]=c[w>>2];c[j>>2]=(c[j>>2]|0)+16}a[p>>0]=1;a[t>>0]=1}else{f=e+-16|0;g=e+-4|0;b=q+40|0;if(c[g>>2]&2|0?(c[b>>2]&4|0)==0:0)if((e|0)==(c[h+40>>2]|0)){$aa(i,f);break}else{t0a(e,f);c[e+12>>2]=c[g>>2];c[j>>2]=(c[j>>2]|0)+16;break}t0a(x,q+28|0);c[s>>2]=c[b>>2];b=c[j>>2]|0;if(b>>>0>=(c[h+40>>2]|0)>>>0){IX(i,x);if((a[u>>0]|0)<0)l0a(c[x>>2]|0)}else{c[b>>2]=c[x>>2];c[b+4>>2]=c[x+4>>2];c[b+8>>2]=c[x+8>>2];c[x>>2]=0;c[x+4>>2]=0;c[x+8>>2]=0;c[b+12>>2]=c[s>>2];c[j>>2]=(c[j>>2]|0)+16}o=c[j>>2]|0;m=c[i>>2]|0;n=(o-m>>4)+-2|0;f=m+(n<<4)|0;b=o+-16|0;e=a[f+11>>0]|0;i=e<<24>>24<0;e=e&255;j=i?c[m+(n<<4)+4>>2]|0:e;k=a[b+11>>0]|0;g=k<<24>>24<0;b:do if((j|0)==((g?c[o+-12>>2]|0:k&255)|0)){h=c[f>>2]|0;k=i?h:f;b=g?c[b>>2]|0:b;g=(j|0)==0;h=h&255;c:do if(i){if(!g?cOa(k,b,j)|0:0)break b}else if(!g){if((a[b>>0]|0)!=h<<24>>24)break b;while(1){e=e+-1|0;f=f+1|0;if(!e)break c;b=b+1|0;if((a[f>>0]|0)!=(a[b>>0]|0))break b}}while(0);if((c[m+(n<<4)+12>>2]|0)==(c[o+-4>>2]|0))break a}while(0);a[p>>0]=1;a[t>>0]=1}while(0);b=c[q+4>>2]|0;if(!b){e=q+8|0;b=c[e>>2]|0;if((c[b>>2]|0)!=(q|0))do{q=c[e>>2]|0;e=q+8|0;b=c[e>>2]|0}while((c[b>>2]|0)!=(q|0))}else while(1){e=c[b>>2]|0;if(!e)break;else b=e}if((b|0)==(v|0))break;else q=b}l=A;return}function $aa(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;l=b+4|0;e=c[b>>2]|0;h=(c[l>>2]|0)-e>>4;f=h+1|0;if(f>>>0>268435455)g1a(b);m=b+8|0;k=(c[m>>2]|0)-e|0;e=k>>3;e=k>>4>>>0<134217727?(e>>>0<f>>>0?f:e):268435455;do if(e)if(e>>>0>268435455){m=db(8)|0;p0a(m,183738);c[m>>2]=110936;hb(m|0,65952,1066)}else{i=j0a(e<<4)|0;break}else i=0;while(0);f=i+(h<<4)|0;k=i+(e<<4)|0;t0a(f,d);c[i+(h<<4)+12>>2]=c[d+12>>2];j=f+16|0;e=c[b>>2]|0;g=e;d=c[l>>2]|0;if((d|0)==(e|0))d=g;else{g=h+-1-((d+-16-g|0)>>>4)|0;do{h=f;f=f+-16|0;n=d;d=d+-16|0;c[f>>2]=c[d>>2];c[f+4>>2]=c[d+4>>2];c[f+8>>2]=c[d+8>>2];c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[h+-4>>2]=c[n+-4>>2]}while((d|0)!=(e|0));f=i+(g<<4)|0;d=c[b>>2]|0;e=c[l>>2]|0}c[b>>2]=f;c[l>>2]=j;c[m>>2]=k;f=d;if((e|0)!=(f|0))do{e=e+-16|0;if((a[e+11>>0]|0)<0)l0a(c[e>>2]|0)}while((e|0)!=(f|0));if(!d)return;l0a(d);return}function aba(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0;j=l;l=l+16|0;i=j;e=dba(d,i,e)|0;f=c[e>>2]|0;if(f|0){d=f;g=0;c[b>>2]=d;d=b+4|0;a[d>>0]=g;l=j;return}h=j0a(40)|0;t0a(h+16|0,c[g>>2]|0);c[h+28>>2]=0;c[h+32>>2]=0;c[h+36>>2]=0;f=c[i>>2]|0;c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=f;c[e>>2]=h;f=c[c[d>>2]>>2]|0;if(!f)f=h;else{c[d>>2]=f;f=c[e>>2]|0}fp(c[d+4>>2]|0,f);d=d+8|0;c[d>>2]=(c[d>>2]|0)+1;d=h;g=1;c[b>>2]=d;d=b+4|0;a[d>>0]=g;l=j;return}function bba(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;i=a+4|0;j=c[a>>2]|0;k=(c[i>>2]|0)-j|0;g=k>>3;d=g+1|0;if(d>>>0>536870911)g1a(a);l=a+8|0;f=(c[l>>2]|0)-j|0;h=f>>2;h=f>>3>>>0<268435455?(h>>>0<d>>>0?d:h):536870911;do if(h)if(h>>>0>536870911){l=db(8)|0;p0a(l,183738);c[l>>2]=110936;hb(l|0,65952,1066)}else{f=j0a(h<<3)|0;e=f;break}else{e=0;f=0}while(0);d=e+(g<<3)|0;m=b;g=c[m+4>>2]|0;b=d;c[b>>2]=c[m>>2];c[b+4>>2]=g;if((k|0)>0)x2a(f|0,j|0,k|0)|0;c[a>>2]=e;c[i>>2]=d+8;c[l>>2]=e+(h<<3);if(!j)return;l0a(j);return}function cba(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;i=a+4|0;j=c[a>>2]|0;k=(c[i>>2]|0)-j|0;g=k>>3;d=g+1|0;if(d>>>0>536870911)g1a(a);l=a+8|0;f=(c[l>>2]|0)-j|0;h=f>>2;h=f>>3>>>0<268435455?(h>>>0<d>>>0?d:h):536870911;do if(h)if(h>>>0>536870911){l=db(8)|0;p0a(l,183738);c[l>>2]=110936;hb(l|0,65952,1066)}else{f=j0a(h<<3)|0;e=f;break}else{e=0;f=0}while(0);d=e+(g<<3)|0;m=b;g=c[m+4>>2]|0;b=d;c[b>>2]=c[m>>2];c[b+4>>2]=g;if((k|0)>0)x2a(f|0,j|0,k|0)|0;c[a>>2]=e;c[i>>2]=d+8;c[l>>2]=e+(h<<3);if(!j)return;l0a(j);return}function dba(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;f=b+4|0;h=c[f>>2]|0;if(!h){c[d>>2]=f;o=f;return o|0}m=a[e+11>>0]|0;l=m<<24>>24<0;m=l?c[e+4>>2]|0:m&255;l=l?c[e>>2]|0:e;g=b+4|0;f=h;while(1){e=f+16|0;h=a[e+11>>0]|0;b=h<<24>>24<0;h=b?c[f+20>>2]|0:h&255;k=h>>>0<m>>>0;j=k?h:m;i=(j|0)==0;if(!i?(n=b?c[e>>2]|0:e,o=cOa(l,n,j)|0,(o|0)!=0):0)if((o|0)<0)b=7;else{e=n;b=11}else if(m>>>0>=h>>>0)if(i)b=12;else{e=b?c[e>>2]|0:e;b=11}else b=7;if((b|0)==7){b=0;e=c[f>>2]|0;if(!e){b=8;break}else{g=f;f=e}}else if((b|0)==11){e=cOa(e,l,j)|0;if(e)if((e|0)<0)b=14;else{b=16;break}else b=12}if((b|0)==12)if(k)b=14;else{b=16;break}if((b|0)==14){e=f+4|0;b=c[e>>2]|0;if(!b){b=15;break}else{g=e;f=b}}}if((b|0)==8){c[d>>2]=f;o=f;return o|0}else if((b|0)==15){c[d>>2]=f;o=e;return o|0}else if((b|0)==16){c[d>>2]=f;o=g;return o|0}return 0}function eba(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;i=a+4|0;j=c[a>>2]|0;k=(c[i>>2]|0)-j|0;g=k>>3;d=g+1|0;if(d>>>0>536870911)g1a(a);l=a+8|0;f=(c[l>>2]|0)-j|0;h=f>>2;h=f>>3>>>0<268435455?(h>>>0<d>>>0?d:h):536870911;do if(h)if(h>>>0>536870911){l=db(8)|0;p0a(l,183738);c[l>>2]=110936;hb(l|0,65952,1066)}else{f=j0a(h<<3)|0;e=f;break}else{e=0;f=0}while(0);d=e+(g<<3)|0;m=b;g=c[m+4>>2]|0;b=d;c[b>>2]=c[m>>2];c[b+4>>2]=g;if((k|0)>0)x2a(f|0,j|0,k|0)|0;c[a>>2]=e;c[i>>2]=d+8;c[l>>2]=e+(h<<3);if(!j)return;l0a(j);return}function fba(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;i=a+4|0;j=c[a>>2]|0;k=(c[i>>2]|0)-j|0;g=k>>3;d=g+1|0;if(d>>>0>536870911)g1a(a);l=a+8|0;f=(c[l>>2]|0)-j|0;h=f>>2;h=f>>3>>>0<268435455?(h>>>0<d>>>0?d:h):536870911;do if(h)if(h>>>0>536870911){l=db(8)|0;p0a(l,183738);c[l>>2]=110936;hb(l|0,65952,1066)}else{f=j0a(h<<3)|0;e=f;break}else{e=0;f=0}while(0);d=e+(g<<3)|0;m=b;g=c[m+4>>2]|0;b=d;c[b>>2]=c[m>>2];c[b+4>>2]=g;if((k|0)>0)x2a(f|0,j|0,k|0)|0;c[a>>2]=e;c[i>>2]=d+8;c[l>>2]=e+(h<<3);if(!j)return;l0a(j);return}function gba(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;b=c[e>>2]|0;j=e+4|0;if((b|0)==(j|0))return;k=d+4|0;l=d+4|0;m=d+8|0;i=b;while(1){h=i+16|0;b=c[k>>2]|0;do if(b){g=c[h>>2]|0;f=l;while(1){e=c[b+16>>2]|0;if(g>>>0<e>>>0){e=c[b>>2]|0;if(!e){e=8;break}}else{if(e>>>0>=g>>>0){e=12;break}f=b+4|0;e=c[f>>2]|0;if(!e){e=11;break}else b=f}f=b;b=e}if((e|0)==8){g=b;f=b;break}else if((e|0)==11){g=b;break}else if((e|0)==12){g=b;break}}else{g=k;f=k}while(0);b=c[f>>2]|0;if(!b){e=j0a(36)|0;c[e+16>>2]=c[h>>2];c[e+24>>2]=0;c[e+28>>2]=0;c[e+32>>2]=0;a[e+20>>0]=1;a[e+21>>0]=0;a[e+22>>0]=0;a[e+23>>0]=0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=g;c[f>>2]=e;b=c[c[d>>2]>>2]|0;if(!b)b=e;else{c[d>>2]=b;b=c[f>>2]|0}fp(c[l>>2]|0,b);c[m>>2]=(c[m>>2]|0)+1;b=e}e=b+28|0;f=c[e>>2]|0;if((c[b+24>>2]|0)!=(f|0))c[e>>2]=f+-4;a[b+21>>0]=1;b=c[i+4>>2]|0;if(!b){e=i+8|0;b=c[e>>2]|0;if((c[b>>2]|0)!=(i|0))do{i=c[e>>2]|0;e=i+8|0;b=c[e>>2]|0}while((c[b>>2]|0)!=(i|0))}else while(1){e=c[b>>2]|0;if(!e)break;else b=e}if((b|0)==(j|0))break;else i=b}return}function hba(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;b=c[e>>2]|0;k=e+4|0;if((b|0)==(k|0))return;l=d+4|0;m=d+4|0;n=d+8|0;j=b;while(1){i=j+16|0;b=c[l>>2]|0;do if(b){g=c[i>>2]|0;h=c[j+20>>2]|0;e=m;a:while(1){f=c[b+16>>2]|0;do if((g|0)>=(f|0)){if((f|0)>=(g|0)){f=c[b+20>>2]|0;if(h>>>0<f>>>0){o=9;break}if(f>>>0>=h>>>0){o=14;break a}}e=b+4|0;f=c[e>>2]|0;if(!f){o=13;break a}else b=e}else o=9;while(0);if((o|0)==9){o=0;f=c[b>>2]|0;if(!f){o=10;break}}e=b;b=f}if((o|0)==10){o=0;g=b;e=b;break}else if((o|0)==13){o=0;g=b;break}else if((o|0)==14){o=0;g=b;break}}else{g=l;e=l}while(0);b=c[e>>2]|0;if(!b){f=j0a(52)|0;h=i;i=c[h+4>>2]|0;b=f+16|0;c[b>>2]=c[h>>2];c[b+4>>2]=i;a[f+24>>0]=0;b=f+28|0;c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;c[b+12>>2]=0;c[b+16>>2]=0;c[b+20>>2]=0;c[f>>2]=0;c[f+4>>2]=0;c[f+8>>2]=g;c[e>>2]=f;b=c[c[d>>2]>>2]|0;if(!b)b=f;else{c[d>>2]=b;b=c[e>>2]|0}fp(c[m>>2]|0,b);c[n>>2]=(c[n>>2]|0)+1;b=f}e=b+44|0;f=c[e>>2]|0;if((c[b+40>>2]|0)!=(f|0))c[e>>2]=f+-8;a[b+24>>0]=1;b=c[j+4>>2]|0;if(!b){e=j+8|0;b=c[e>>2]|0;if((c[b>>2]|0)!=(j|0))do{j=c[e>>2]|0;e=j+8|0;b=c[e>>2]|0}while((c[b>>2]|0)!=(j|0))}else while(1){e=c[b>>2]|0;if(!e)break;else b=e}if((b|0)==(k|0))break;else j=b}return}function iba(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;A=l;l=l+32|0;x=A+8|0;y=A;z=A+16|0;b=c[e>>2]|0;v=e+4|0;if((b|0)==(v|0)){l=A;return}w=d+12|0;u=b;while(1){s=u+16|0;c[y>>2]=s;HX(x,d,s,231021,y,z);s=c[x>>2]|0;q=c[s+32>>2]|0;t=s+36|0;r=c[t>>2]|0;if((q|0)!=(r|0)){b=r-q>>4;a:do if(b>>>0>=2){p=b+-2|0;i=q+(p<<4)|0;f=r+-16|0;h=a[i+11>>0]|0;m=h<<24>>24<0;h=h&255;n=m?c[q+(p<<4)+4>>2]|0:h;e=f+11|0;b=a[e>>0]|0;g=b<<24>>24<0;if((n|0)==((g?c[r+-12>>2]|0:b&255)|0)){k=c[i>>2]|0;o=m?k:i;g=g?c[f>>2]|0:f;j=(n|0)==0;k=k&255;b:do if(m){if(!j?cOa(o,g,n)|0:0){b=f;B=17;break a}}else if(!j){if((a[g>>0]|0)!=k<<24>>24){b=f;B=17;break a}while(1){h=h+-1|0;i=i+1|0;if(!h)break b;g=g+1|0;if((a[i>>0]|0)!=(a[g>>0]|0)){b=f;B=17;break a}}}while(0);if((c[q+(p<<4)+12>>2]|0)!=(c[r+-4>>2]|0)){b=f;B=17}}else{b=f;B=17}}else{e=r+-16|0;b=e;e=e+11|0;B=17}while(0);if((B|0)==17){B=0;a[s+28>>0]=1;a[w>>0]=1;f=b;b=a[e>>0]|0}if(b<<24>>24<0)l0a(c[f>>2]|0);c[t>>2]=f}b=c[u+4>>2]|0;if(!b){e=u+8|0;b=c[e>>2]|0;if((c[b>>2]|0)!=(u|0))do{u=c[e>>2]|0;e=u+8|0;b=c[e>>2]|0}while((c[b>>2]|0)!=(u|0))}else while(1){e=c[b>>2]|0;if(!e)break;else b=e}if((b|0)==(v|0))break;else u=b}l=A;return}function jba(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0;n=l;l=l+16|0;h=n;i=a+72|0;j=a+76|0;c[j>>2]=c[i>>2];k=a+60|0;d=c[k>>2]|0;m=a+64|0;e=c[m>>2]|0;if((d|0)==(e|0))b=0;else{b=0;do{g=c[d>>2]|0;b=((c[g+40>>2]|0)-(c[g+36>>2]|0)>>2)+b|0;d=d+4|0}while((d|0)!=(e|0))}nba(i,b);d=c[k>>2]|0;if((d|0)==(c[m>>2]|0)){k=c[k>>2]|0;c[m>>2]=k;l=n;return}g=a+80|0;b=0;do{a=c[d>>2]|0;e=c[a+36>>2]|0;if((e|0)!=(c[a+40>>2]|0))do{f=c[e>>2]|0;if((c[f+28>>2]&2147483647)>>>0>2139095040)b=1;else{c[h>>2]=f;a=c[j>>2]|0;if(a>>>0<(c[g>>2]|0)>>>0){c[a>>2]=f;c[j>>2]=(c[j>>2]|0)+4}else oba(i,h);a=c[d>>2]|0}e=e+4|0}while((e|0)!=(c[a+40>>2]|0));d=d+4|0}while((d|0)!=(c[m>>2]|0));if(!b){k=c[k>>2]|0;c[m>>2]=k;l=n;return}if(!(ZQ(3)|0)){k=c[k>>2]|0;c[m>>2]=k;l=n;return}j=mr(lr(3)|0,162526,120)|0;BSa(h,j+(c[(c[j>>2]|0)+-12>>2]|0)|0);i=cUa(h,230580)|0;i=kk[c[(c[i>>2]|0)+28>>2]&511](i,10)|0;dUa(h);VSa(j,i)|0;HSa(j)|0;k=c[k>>2]|0;c[m>>2]=k;l=n;return}function kba(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;q=b;a:while(1){l=q;e=q+-4|0;m=q+-8|0;n=q;r=a;b:while(1){a=l-r|0;b=a>>2;switch(b|0){case 2:{g=4;break a}case 3:{g=6;break a}case 4:{g=14;break a}case 5:{g=26;break a}case 1:case 0:{g=95;break a}default:{}}if((a|0)<124){g=28;break a}k=r+(((b|0)/2|0)<<2)|0;do if((a|0)<=3996){b=c[k>>2]|0;h=c[r>>2]|0;j=c[b+36>>2]|0;g=c[h+36>>2]|0;f=c[e>>2]|0;a=(c[f+36>>2]|0)>>>0<j>>>0;if(j>>>0>=g>>>0){if(!a){a=0;break}c[k>>2]=f;c[e>>2]=b;a=c[k>>2]|0;b=c[r>>2]|0;if((c[a+36>>2]|0)>>>0>=(c[b+36>>2]|0)>>>0){a=1;break}c[r>>2]=a;c[k>>2]=b;a=2;break}if(a){c[r>>2]=f;c[e>>2]=h;a=1;break}c[r>>2]=b;c[k>>2]=h;a=c[e>>2]|0;if((c[a+36>>2]|0)>>>0<g>>>0){c[k>>2]=a;c[e>>2]=h;a=2}else a=1}else{a=(b|0)/4|0;a=lba(r,r+(a<<2)|0,k,k+(a<<2)|0,e,d)|0}while(0);h=c[r>>2]|0;i=c[h+36>>2]|0;g=c[(c[k>>2]|0)+36>>2]|0;if(i>>>0<g>>>0)f=e;else{if((r|0)==(m|0)){g=59;break}f=m;while(1){b=c[f>>2]|0;if((c[b+36>>2]|0)>>>0<g>>>0)break;f=f+-4|0;if((r|0)==(f|0)){g=59;break b}}c[r>>2]=b;c[f>>2]=h;a=a+1|0}b=r+4|0;c:do if(b>>>0<f>>>0)while(1){j=c[(c[k>>2]|0)+36>>2]|0;while(1){g=c[b>>2]|0;i=b+4|0;if((c[g+36>>2]|0)>>>0<j>>>0)b=i;else break}do{f=f+-4|0;h=c[f>>2]|0}while((c[h+36>>2]|0)>>>0>=j>>>0);if(b>>>0>f>>>0){f=k;break c}c[b>>2]=h;c[f>>2]=g;k=(k|0)==(b|0)?f:k;b=i;a=a+1|0}else f=k;while(0);if((b|0)!=(f|0)?(o=c[f>>2]|0,p=c[b>>2]|0,(c[o+36>>2]|0)>>>0<(c[p+36>>2]|0)>>>0):0){c[b>>2]=o;c[f>>2]=p;a=a+1|0}if(!a){f=mba(r,b,d)|0;a=b+4|0;if(mba(a,q,d)|0){g=88;break}if(f){e=2;b=q;g=93;break}}k=b;if((k-r|0)>=(n-k|0)){g=92;break}kba(r,b,d);r=b+4|0}d:do if((g|0)==59){a=r+4|0;n=c[e>>2]|0;f=n;if(i>>>0>=(c[n+36>>2]|0)>>>0){if((a|0)==(e|0)){g=95;break a}while(1){b=c[a>>2]|0;if(i>>>0<(c[b+36>>2]|0)>>>0)break;a=a+4|0;if((a|0)==(e|0)){g=95;break a}}c[a>>2]=f;c[e>>2]=b;a=a+4|0}if((a|0)==(e|0)){g=95;break a}while(1){h=c[(c[r>>2]|0)+36>>2]|0;while(1){b=c[a>>2]|0;g=a+4|0;if(h>>>0<(c[b+36>>2]|0)>>>0)break;else a=g}do{e=e+-4|0;f=c[e>>2]|0}while(h>>>0<(c[f+36>>2]|0)>>>0);if(a>>>0>=e>>>0){e=4;b=q;g=93;break d}c[a>>2]=f;c[e>>2]=b;a=g}}else if((g|0)==88){e=f?1:2;a=r;b=f?q:b;g=93}else if((g|0)==92){g=0;kba(b+4|0,q,d);a=r}while(0);if((g|0)==93)switch(e&7){case 2:case 4:case 0:break;default:{g=95;break a}}q=b}if((g|0)==4){a=q+-4|0;b=c[a>>2]|0;e=c[r>>2]|0;if((c[b+36>>2]|0)>>>0>=(c[e+36>>2]|0)>>>0)return;c[r>>2]=b;c[a>>2]=e;return}else if((g|0)==6){i=r+4|0;f=q+-4|0;b=c[i>>2]|0;h=c[r>>2]|0;q=c[b+36>>2]|0;g=c[h+36>>2]|0;e=c[f>>2]|0;a=(c[e+36>>2]|0)>>>0<q>>>0;if(q>>>0>=g>>>0){if(!a)return;c[i>>2]=e;c[f>>2]=b;a=c[i>>2]|0;b=c[r>>2]|0;if((c[a+36>>2]|0)>>>0>=(c[b+36>>2]|0)>>>0)return;c[r>>2]=a;c[i>>2]=b;return}if(a){c[r>>2]=e;c[f>>2]=h;return}c[r>>2]=b;c[i>>2]=h;a=c[f>>2]|0;if((c[a+36>>2]|0)>>>0>=g>>>0)return;c[i>>2]=a;c[f>>2]=h;return}else if((g|0)==14){n=r+4|0;m=r+8|0;l=q+-4|0;b=c[n>>2]|0;k=c[r>>2]|0;e=b+36|0;q=c[e>>2]|0;a=k+36|0;f=c[a>>2]|0;j=c[m>>2]|0;g=j+36|0;h=c[g>>2]|0;i=h>>>0<q>>>0;do if(q>>>0<f>>>0){if(i){c[r>>2]=j;c[m>>2]=k;e=a;b=k;break}c[r>>2]=b;c[n>>2]=k;if(h>>>0<f>>>0){c[n>>2]=j;c[m>>2]=k;e=a;b=k}else{e=g;b=j}}else if(i){c[n>>2]=j;c[m>>2]=b;if(h>>>0<f>>>0){c[r>>2]=j;c[n>>2]=k}}else{e=g;b=j}while(0);a=c[l>>2]|0;if((c[a+36>>2]|0)>>>0>=(c[e>>2]|0)>>>0)return;c[m>>2]=a;c[l>>2]=b;a=c[m>>2]|0;b=c[n>>2]|0;f=c[a+36>>2]|0;if(f>>>0>=(c[b+36>>2]|0)>>>0)return;e=a;c[n>>2]=e;c[m>>2]=b;a=c[r>>2]|0;if(f>>>0>=(c[a+36>>2]|0)>>>0)return;c[r>>2]=e;c[n>>2]=a;return}else if((g|0)==26){lba(r,r+4|0,r+8|0,r+12|0,q+-4|0,d)|0;return}else if((g|0)==28){a=r+8|0;k=r+4|0;l=c[k>>2]|0;m=c[r>>2]|0;p=c[l+36>>2]|0;b=c[m+36>>2]|0;e=c[a>>2]|0;f=c[e+36>>2]|0;g=f>>>0<p>>>0;h=l;i=e;j=m;do if(p>>>0<b>>>0){if(g){c[r>>2]=i;c[a>>2]=j;e=m;break}c[r>>2]=h;c[k>>2]=j;if(f>>>0<b>>>0){c[k>>2]=i;c[a>>2]=j;e=m}}else if(g){c[k>>2]=i;c[a>>2]=h;if(f>>>0<b>>>0){c[r>>2]=i;c[k>>2]=j;e=l}else e=l}while(0);b=r+12|0;if((b|0)==(q|0))return;while(1){g=c[b>>2]|0;f=c[g+36>>2]|0;if(f>>>0<(c[e+36>>2]|0)>>>0){e=b;while(1){c[e>>2]=c[a>>2];if((a|0)==(r|0)){a=r;break}e=a+-4|0;if(f>>>0<(c[(c[e>>2]|0)+36>>2]|0)>>>0){p=a;a=e;e=p}else break}c[a>>2]=g}a=b+4|0;if((a|0)==(q|0))break;e=c[b>>2]|0;p=b;b=a;a=p}return}else if((g|0)==95)return}function lba(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;m=c[b>>2]|0;n=c[a>>2]|0;l=m+36|0;o=c[l>>2]|0;i=n+36|0;k=c[i>>2]|0;h=c[d>>2]|0;j=h+36|0;g=(c[j>>2]|0)>>>0<o>>>0;do if(o>>>0<k>>>0){if(g){c[a>>2]=h;c[d>>2]=n;k=1;h=n;break}c[a>>2]=m;c[b>>2]=n;h=c[d>>2]|0;g=h+36|0;if((c[g>>2]|0)>>>0<k>>>0){c[b>>2]=h;c[d>>2]=n;k=2;h=n}else{k=1;i=g}}else if(g){c[b>>2]=h;c[d>>2]=m;g=c[b>>2]|0;h=c[a>>2]|0;if((c[g+36>>2]|0)>>>0<(c[h+36>>2]|0)>>>0){c[a>>2]=g;c[b>>2]=h;h=c[d>>2]|0;k=2;i=h+36|0}else{k=1;i=l;h=m}}else{k=0;i=j}while(0);g=c[e>>2]|0;if((c[g+36>>2]|0)>>>0<(c[i>>2]|0)>>>0){c[d>>2]=g;c[e>>2]=h;g=k+1|0;h=c[d>>2]|0;i=c[b>>2]|0;if((c[h+36>>2]|0)>>>0<(c[i+36>>2]|0)>>>0){c[b>>2]=h;c[d>>2]=i;g=c[b>>2]|0;h=c[a>>2]|0;if((c[g+36>>2]|0)>>>0<(c[h+36>>2]|0)>>>0){c[a>>2]=g;c[b>>2]=h;i=k+3|0}else i=k+2|0}else i=g}else i=k;g=c[f>>2]|0;h=c[e>>2]|0;if((c[g+36>>2]|0)>>>0>=(c[h+36>>2]|0)>>>0){o=i;return o|0}c[e>>2]=g;c[f>>2]=h;g=c[e>>2]|0;h=c[d>>2]|0;if((c[g+36>>2]|0)>>>0>=(c[h+36>>2]|0)>>>0){o=i+1|0;return o|0}c[d>>2]=g;c[e>>2]=h;g=c[d>>2]|0;h=c[b>>2]|0;if((c[g+36>>2]|0)>>>0>=(c[h+36>>2]|0)>>>0){o=i+2|0;return o|0}c[b>>2]=g;c[d>>2]=h;g=c[b>>2]|0;h=c[a>>2]|0;if((c[g+36>>2]|0)>>>0>=(c[h+36>>2]|0)>>>0){o=i+3|0;return o|0}c[a>>2]=g;c[b>>2]=h;o=i+4|0;return o|0}function mba(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;switch(b-a>>2|0){case 2:{d=b+-4|0;e=c[d>>2]|0;f=c[a>>2]|0;if((c[e+36>>2]|0)>>>0>=(c[f+36>>2]|0)>>>0){a=1;return a|0}c[a>>2]=e;c[d>>2]=f;a=1;return a|0}case 3:{j=a+4|0;g=b+-4|0;e=c[j>>2]|0;i=c[a>>2]|0;b=c[e+36>>2]|0;h=c[i+36>>2]|0;f=c[g>>2]|0;d=(c[f+36>>2]|0)>>>0<b>>>0;if(b>>>0>=h>>>0){if(!d){a=1;return a|0}c[j>>2]=f;c[g>>2]=e;d=c[j>>2]|0;e=c[a>>2]|0;if((c[d+36>>2]|0)>>>0>=(c[e+36>>2]|0)>>>0){a=1;return a|0}c[a>>2]=d;c[j>>2]=e;a=1;return a|0}if(d){c[a>>2]=f;c[g>>2]=i;a=1;return a|0}c[a>>2]=e;c[j>>2]=i;d=c[g>>2]|0;if((c[d+36>>2]|0)>>>0>=h>>>0){a=1;return a|0}c[j>>2]=d;c[g>>2]=i;a=1;return a|0}case 4:{o=a+4|0;n=a+8|0;m=b+-4|0;e=c[o>>2]|0;l=c[a>>2]|0;f=e+36|0;b=c[f>>2]|0;d=l+36|0;g=c[d>>2]|0;k=c[n>>2]|0;h=k+36|0;i=c[h>>2]|0;j=i>>>0<b>>>0;do if(b>>>0<g>>>0){if(j){c[a>>2]=k;c[n>>2]=l;f=d;e=l;break}c[a>>2]=e;c[o>>2]=l;if(i>>>0<g>>>0){c[o>>2]=k;c[n>>2]=l;f=d;e=l}else{f=h;e=k}}else if(j){c[o>>2]=k;c[n>>2]=e;if(i>>>0<g>>>0){c[a>>2]=k;c[o>>2]=l}}else{f=h;e=k}while(0);d=c[m>>2]|0;if((c[d+36>>2]|0)>>>0>=(c[f>>2]|0)>>>0){a=1;return a|0}c[n>>2]=d;c[m>>2]=e;d=c[n>>2]|0;e=c[o>>2]|0;g=c[d+36>>2]|0;if(g>>>0>=(c[e+36>>2]|0)>>>0){a=1;return a|0}f=d;c[o>>2]=f;c[n>>2]=e;d=c[a>>2]|0;if(g>>>0>=(c[d+36>>2]|0)>>>0){a=1;return a|0}c[a>>2]=f;c[o>>2]=d;a=1;return a|0}case 5:{lba(a,a+4|0,a+8|0,a+12|0,b+-4|0,d)|0;a=1;return a|0}case 1:case 0:{a=1;return a|0}default:{e=a+8|0;k=a+4|0;l=c[k>>2]|0;m=c[a>>2]|0;p=c[l+36>>2]|0;n=c[m+36>>2]|0;f=c[e>>2]|0;d=c[f+36>>2]|0;g=d>>>0<p>>>0;h=l;i=f;j=m;do if(p>>>0<n>>>0){if(g){c[a>>2]=i;c[e>>2]=j;f=m;break}c[a>>2]=h;c[k>>2]=j;if(d>>>0<n>>>0){c[k>>2]=i;c[e>>2]=j;f=m}}else if(g){c[k>>2]=i;c[e>>2]=h;if(d>>>0<n>>>0){c[a>>2]=i;c[k>>2]=j;f=l}else f=l}while(0);d=a+12|0;if((d|0)==(b|0)){p=1;return p|0}i=d;d=0;while(1){h=c[i>>2]|0;g=c[h+36>>2]|0;if(g>>>0<(c[f+36>>2]|0)>>>0){f=i;while(1){c[f>>2]=c[e>>2];if((e|0)==(a|0)){e=a;break}f=e+-4|0;if(g>>>0<(c[(c[f>>2]|0)+36>>2]|0)>>>0){p=e;e=f;f=p}else break}c[e>>2]=h;d=d+1|0;if((d|0)==8)break}e=i+4|0;if((e|0)==(b|0)){d=1;o=43;break}f=c[i>>2]|0;p=i;i=e;e=p}if((o|0)==43)return d|0;p=(i+4|0)==(b|0);return p|0}}return 0}function nba(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;f=a+8|0;g=c[a>>2]|0;if((c[f>>2]|0)-g>>2>>>0>=b>>>0)return;h=a+4|0;if(b>>>0>1073741823){h=db(8)|0;p0a(h,183738);c[h>>2]=110936;hb(h|0,65952,1066)}d=(c[h>>2]|0)-g|0;e=j0a(b<<2)|0;if((d|0)>0)x2a(e|0,g|0,d|0)|0;c[a>>2]=e;c[h>>2]=e+(d>>2<<2);c[f>>2]=e+(b<<2);if(!g)return;l0a(g);return}function oba(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;i=a+4|0;j=c[a>>2]|0;k=(c[i>>2]|0)-j|0;g=k>>2;d=g+1|0;if(d>>>0>1073741823)g1a(a);l=a+8|0;f=(c[l>>2]|0)-j|0;h=f>>1;h=f>>2>>>0<536870911?(h>>>0<d>>>0?d:h):1073741823;do if(h)if(h>>>0>1073741823){l=db(8)|0;p0a(l,183738);c[l>>2]=110936;hb(l|0,65952,1066)}else{f=j0a(h<<2)|0;e=f;break}else{e=0;f=0}while(0);d=e+(g<<2)|0;c[d>>2]=c[b>>2];if((k|0)>0)x2a(f|0,j|0,k|0)|0;c[a>>2]=e;c[i>>2]=d+4;c[l>>2]=e+(h<<2);if(!j)return;l0a(j);return}function pba(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0.0,h=0,i=0,j=0,k=0.0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0.0;s=b;a:while(1){n=s;e=s+-4|0;o=s+-8|0;p=s;t=a;b:while(1){a=n-t|0;b=a>>2;switch(b|0){case 2:{i=4;break a}case 3:{i=6;break a}case 4:{i=14;break a}case 5:{i=26;break a}case 1:case 0:{i=95;break a}default:{}}if((a|0)<124){i=28;break a}m=t+(((b|0)/2|0)<<2)|0;do if((a|0)<=3996){b=c[m>>2]|0;i=c[t>>2]|0;f=+g[i+28>>2];k=+g[b+28>>2];h=c[e>>2]|0;a=k<+g[h+28>>2];if(!(f<k)){if(!a){a=0;break}c[m>>2]=h;c[e>>2]=b;a=c[m>>2]|0;b=c[t>>2]|0;if(!(+g[b+28>>2]<+g[a+28>>2])){a=1;break}c[t>>2]=a;c[m>>2]=b;a=2;break}if(a){c[t>>2]=h;c[e>>2]=i;a=1;break}c[t>>2]=b;c[m>>2]=i;a=c[e>>2]|0;if(f<+g[a+28>>2]){c[m>>2]=a;c[e>>2]=i;a=2}else a=1}else{a=(b|0)/4|0;a=qba(t,t+(a<<2)|0,m,m+(a<<2)|0,e,d)|0}while(0);i=c[t>>2]|0;f=+g[(c[m>>2]|0)+28>>2];k=+g[i+28>>2];if(f<k)h=e;else{if((t|0)==(o|0)){i=59;break}h=o;while(1){b=c[h>>2]|0;if(f<+g[b+28>>2])break;h=h+-4|0;if((t|0)==(h|0)){i=59;break b}}c[t>>2]=b;c[h>>2]=i;a=a+1|0}b=t+4|0;c:do if(b>>>0<h>>>0)while(1){f=+g[(c[m>>2]|0)+28>>2];while(1){i=c[b>>2]|0;l=b+4|0;if(f<+g[i+28>>2])b=l;else break}do{h=h+-4|0;j=c[h>>2]|0}while(!(f<+g[j+28>>2]));if(b>>>0>h>>>0){h=m;break c}c[b>>2]=j;c[h>>2]=i;m=(m|0)==(b|0)?h:m;b=l;a=a+1|0}else h=m;while(0);if((b|0)!=(h|0)?(q=c[h>>2]|0,r=c[b>>2]|0,+g[r+28>>2]<+g[q+28>>2]):0){c[b>>2]=q;c[h>>2]=r;a=a+1|0}if(!a){h=rba(t,b,d)|0;a=b+4|0;if(rba(a,s,d)|0){i=88;break}if(h){e=2;b=s;i=93;break}}m=b;if((m-t|0)>=(p-m|0)){i=92;break}pba(t,b,d);t=b+4|0}d:do if((i|0)==59){a=t+4|0;p=c[e>>2]|0;h=p;if(!(+g[p+28>>2]<k)){if((a|0)==(e|0)){i=95;break a}while(1){b=c[a>>2]|0;if(+g[b+28>>2]<k)break;a=a+4|0;if((a|0)==(e|0)){i=95;break a}}c[a>>2]=h;c[e>>2]=b;a=a+4|0}if((a|0)==(e|0)){i=95;break a}while(1){f=+g[(c[t>>2]|0)+28>>2];while(1){b=c[a>>2]|0;i=a+4|0;if(+g[b+28>>2]<f)break;else a=i}do{e=e+-4|0;h=c[e>>2]|0}while(+g[h+28>>2]<f);if(a>>>0>=e>>>0){e=4;b=s;i=93;break d}c[a>>2]=h;c[e>>2]=b;a=i}}else if((i|0)==88){e=h?1:2;a=t;b=h?s:b;i=93}else if((i|0)==92){i=0;pba(b+4|0,s,d);a=t}while(0);if((i|0)==93)switch(e&7){case 2:case 4:case 0:break;default:{i=95;break a}}s=b}if((i|0)==4){a=s+-4|0;b=c[a>>2]|0;e=c[t>>2]|0;if(!(+g[e+28>>2]<+g[b+28>>2]))return;c[t>>2]=b;c[a>>2]=e;return}else if((i|0)==6){j=t+4|0;h=s+-4|0;b=c[j>>2]|0;i=c[t>>2]|0;f=+g[i+28>>2];k=+g[b+28>>2];e=c[h>>2]|0;a=k<+g[e+28>>2];if(!(f<k)){if(!a)return;c[j>>2]=e;c[h>>2]=b;a=c[j>>2]|0;b=c[t>>2]|0;if(!(+g[b+28>>2]<+g[a+28>>2]))return;c[t>>2]=a;c[j>>2]=b;return}if(a){c[t>>2]=e;c[h>>2]=i;return}c[t>>2]=b;c[j>>2]=i;a=c[h>>2]|0;if(!(f<+g[a+28>>2]))return;c[j>>2]=a;c[h>>2]=i;return}else if((i|0)==14){o=t+4|0;n=t+8|0;m=s+-4|0;b=c[o>>2]|0;l=c[t>>2]|0;e=l+28|0;f=+g[e>>2];a=b+28|0;u=+g[a>>2];j=c[n>>2]|0;h=j+28|0;k=+g[h>>2];i=u<k;do if(f<u){if(i){c[t>>2]=j;c[n>>2]=l;b=l;break}c[t>>2]=b;c[o>>2]=l;if(f<k){c[o>>2]=j;c[n>>2]=l;b=l}else{e=h;b=j}}else if(i){c[o>>2]=j;c[n>>2]=b;if(f<k){c[t>>2]=j;c[o>>2]=l;e=a}else e=a}else{e=h;b=j}while(0);a=c[m>>2]|0;if(!(+g[e>>2]<+g[a+28>>2]))return;c[n>>2]=a;c[m>>2]=b;a=c[n>>2]|0;b=c[o>>2]|0;f=+g[a+28>>2];if(!(+g[b+28>>2]<f))return;e=a;c[o>>2]=e;c[n>>2]=b;a=c[t>>2]|0;if(!(+g[a+28>>2]<f))return;c[t>>2]=e;c[o>>2]=a;return}else if((i|0)==26){qba(t,t+4|0,t+8|0,t+12|0,s+-4|0,d)|0;return}else if((i|0)==28){a=t+8|0;l=t+4|0;m=c[l>>2]|0;n=c[t>>2]|0;f=+g[n+28>>2];u=+g[m+28>>2];e=c[a>>2]|0;k=+g[e+28>>2];b=u<k;h=m;i=e;j=n;do if(f<u){if(b){c[t>>2]=i;c[a>>2]=j;e=n;break}c[t>>2]=h;c[l>>2]=j;if(f<k){c[l>>2]=i;c[a>>2]=j;e=n}}else if(b){c[l>>2]=i;c[a>>2]=h;if(f<k){c[t>>2]=i;c[l>>2]=j;e=m}else e=m}while(0);b=t+12|0;if((b|0)==(s|0))return;while(1){h=c[b>>2]|0;f=+g[h+28>>2];if(+g[e+28>>2]<f){e=b;while(1){c[e>>2]=c[a>>2];if((a|0)==(t|0)){a=t;break}e=a+-4|0;if(+g[(c[e>>2]|0)+28>>2]<f){r=a;a=e;e=r}else break}c[a>>2]=h}a=b+4|0;if((a|0)==(s|0))break;e=c[b>>2]|0;r=b;b=a;a=r}return}else if((i|0)==95)return}function qba(a,b,d,e,f,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;var i=0,j=0,k=0,l=0.0,m=0,n=0,o=0,p=0,q=0.0;n=c[b>>2]|0;o=c[a>>2]|0;m=o+28|0;l=+g[m>>2];j=n+28|0;q=+g[j>>2];i=c[d>>2]|0;k=i+28|0;h=q<+g[k>>2];do if(l<q){if(h){c[a>>2]=i;c[d>>2]=o;p=1;j=m;i=o;break}c[a>>2]=n;c[b>>2]=o;i=c[d>>2]|0;h=i+28|0;if(l<+g[h>>2]){c[b>>2]=i;c[d>>2]=o;p=2;j=m;i=o}else{p=1;j=h}}else if(h){c[b>>2]=i;c[d>>2]=n;h=c[b>>2]|0;i=c[a>>2]|0;if(+g[i+28>>2]<+g[h+28>>2]){c[a>>2]=h;c[b>>2]=i;i=c[d>>2]|0;p=2;j=i+28|0}else{p=1;i=n}}else{p=0;j=k}while(0);h=c[e>>2]|0;if(+g[j>>2]<+g[h+28>>2]){c[d>>2]=h;c[e>>2]=i;h=p+1|0;i=c[d>>2]|0;j=c[b>>2]|0;if(+g[j+28>>2]<+g[i+28>>2]){c[b>>2]=i;c[d>>2]=j;h=c[b>>2]|0;i=c[a>>2]|0;if(+g[i+28>>2]<+g[h+28>>2]){c[a>>2]=h;c[b>>2]=i;j=p+3|0}else j=p+2|0}else j=h}else j=p;h=c[f>>2]|0;i=c[e>>2]|0;if(!(+g[i+28>>2]<+g[h+28>>2])){b=j;return b|0}c[e>>2]=h;c[f>>2]=i;h=c[e>>2]|0;i=c[d>>2]|0;if(!(+g[i+28>>2]<+g[h+28>>2])){b=j+1|0;return b|0}c[d>>2]=h;c[e>>2]=i;h=c[d>>2]|0;i=c[b>>2]|0;if(!(+g[i+28>>2]<+g[h+28>>2])){b=j+2|0;return b|0}c[b>>2]=h;c[d>>2]=i;h=c[b>>2]|0;i=c[a>>2]|0;if(!(+g[i+28>>2]<+g[h+28>>2])){b=j+3|0;return b|0}c[a>>2]=h;c[b>>2]=i;b=j+4|0;return b|0}function rba(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,h=0.0,i=0,j=0,k=0,l=0.0,m=0,n=0,o=0,p=0,q=0.0;switch(b-a>>2|0){case 2:{d=b+-4|0;e=c[d>>2]|0;f=c[a>>2]|0;if(!(+g[f+28>>2]<+g[e+28>>2])){a=1;return a|0}c[a>>2]=e;c[d>>2]=f;a=1;return a|0}case 3:{k=a+4|0;i=b+-4|0;e=c[k>>2]|0;j=c[a>>2]|0;h=+g[j+28>>2];l=+g[e+28>>2];f=c[i>>2]|0;d=l<+g[f+28>>2];if(!(h<l)){if(!d){a=1;return a|0}c[k>>2]=f;c[i>>2]=e;d=c[k>>2]|0;e=c[a>>2]|0;if(!(+g[e+28>>2]<+g[d+28>>2])){a=1;return a|0}c[a>>2]=d;c[k>>2]=e;a=1;return a|0}if(d){c[a>>2]=f;c[i>>2]=j;a=1;return a|0}c[a>>2]=e;c[k>>2]=j;d=c[i>>2]|0;if(!(h<+g[d+28>>2])){a=1;return a|0}c[k>>2]=d;c[i>>2]=j;a=1;return a|0}case 4:{p=a+4|0;o=a+8|0;n=b+-4|0;e=c[p>>2]|0;m=c[a>>2]|0;f=m+28|0;h=+g[f>>2];d=e+28|0;q=+g[d>>2];k=c[o>>2]|0;i=k+28|0;l=+g[i>>2];j=q<l;do if(h<q){if(j){c[a>>2]=k;c[o>>2]=m;e=m;break}c[a>>2]=e;c[p>>2]=m;if(h<l){c[p>>2]=k;c[o>>2]=m;e=m}else{f=i;e=k}}else if(j){c[p>>2]=k;c[o>>2]=e;if(h<l){c[a>>2]=k;c[p>>2]=m;f=d}else f=d}else{f=i;e=k}while(0);d=c[n>>2]|0;if(!(+g[f>>2]<+g[d+28>>2])){a=1;return a|0}c[o>>2]=d;c[n>>2]=e;d=c[o>>2]|0;e=c[p>>2]|0;h=+g[d+28>>2];if(!(+g[e+28>>2]<h)){a=1;return a|0}f=d;c[p>>2]=f;c[o>>2]=e;d=c[a>>2]|0;if(!(+g[d+28>>2]<h)){a=1;return a|0}c[a>>2]=f;c[p>>2]=d;a=1;return a|0}case 5:{qba(a,a+4|0,a+8|0,a+12|0,b+-4|0,d)|0;a=1;return a|0}case 1:case 0:{a=1;return a|0}default:{e=a+8|0;m=a+4|0;n=c[m>>2]|0;o=c[a>>2]|0;l=+g[o+28>>2];q=+g[n+28>>2];f=c[e>>2]|0;h=+g[f+28>>2];d=q<h;i=n;j=f;k=o;do if(l<q){if(d){c[a>>2]=j;c[e>>2]=k;f=o;break}c[a>>2]=i;c[m>>2]=k;if(l<h){c[m>>2]=j;c[e>>2]=k;f=o}}else if(d){c[m>>2]=j;c[e>>2]=i;if(l<h){c[a>>2]=j;c[m>>2]=k;f=n}else f=n}while(0);d=a+12|0;if((d|0)==(b|0)){a=1;return a|0}j=d;d=0;while(1){i=c[j>>2]|0;h=+g[i+28>>2];if(+g[f+28>>2]<h){f=j;while(1){c[f>>2]=c[e>>2];if((e|0)==(a|0)){e=a;break}f=e+-4|0;if(+g[(c[f>>2]|0)+28>>2]<h){o=e;e=f;f=o}else break}c[e>>2]=i;d=d+1|0;if((d|0)==8)break}e=j+4|0;if((e|0)==(b|0)){d=1;p=43;break}f=c[j>>2]|0;o=j;j=e;e=o}if((p|0)==43)return d|0;a=(j+4|0)==(b|0);return a|0}}return 0}function sba(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0.0,h=0,i=0,j=0,k=0.0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0.0;s=b;a:while(1){n=s;e=s+-4|0;o=s+-8|0;p=s;t=a;b:while(1){a=n-t|0;b=a>>2;switch(b|0){case 2:{i=4;break a}case 3:{i=6;break a}case 4:{i=14;break a}case 5:{i=26;break a}case 1:case 0:{i=95;break a}default:{}}if((a|0)<124){i=28;break a}m=t+(((b|0)/2|0)<<2)|0;do if((a|0)<=3996){b=c[m>>2]|0;i=c[t>>2]|0;k=+g[b+28>>2];f=+g[i+28>>2];h=c[e>>2]|0;a=+g[h+28>>2]<k;if(!(k<f)){if(!a){a=0;break}c[m>>2]=h;c[e>>2]=b;a=c[m>>2]|0;b=c[t>>2]|0;if(!(+g[a+28>>2]<+g[b+28>>2])){a=1;break}c[t>>2]=a;c[m>>2]=b;a=2;break}if(a){c[t>>2]=h;c[e>>2]=i;a=1;break}c[t>>2]=b;c[m>>2]=i;a=c[e>>2]|0;if(+g[a+28>>2]<f){c[m>>2]=a;c[e>>2]=i;a=2}else a=1}else{a=(b|0)/4|0;a=tba(t,t+(a<<2)|0,m,m+(a<<2)|0,e,d)|0}while(0);i=c[t>>2]|0;k=+g[i+28>>2];f=+g[(c[m>>2]|0)+28>>2];if(k<f)h=e;else{if((t|0)==(o|0)){i=59;break}h=o;while(1){b=c[h>>2]|0;if(+g[b+28>>2]<f)break;h=h+-4|0;if((t|0)==(h|0)){i=59;break b}}c[t>>2]=b;c[h>>2]=i;a=a+1|0}b=t+4|0;c:do if(b>>>0<h>>>0)while(1){f=+g[(c[m>>2]|0)+28>>2];while(1){i=c[b>>2]|0;l=b+4|0;if(+g[i+28>>2]<f)b=l;else break}do{h=h+-4|0;j=c[h>>2]|0}while(!(+g[j+28>>2]<f));if(b>>>0>h>>>0){h=m;break c}c[b>>2]=j;c[h>>2]=i;m=(m|0)==(b|0)?h:m;b=l;a=a+1|0}else h=m;while(0);if((b|0)!=(h|0)?(q=c[h>>2]|0,r=c[b>>2]|0,+g[q+28>>2]<+g[r+28>>2]):0){c[b>>2]=q;c[h>>2]=r;a=a+1|0}if(!a){h=uba(t,b,d)|0;a=b+4|0;if(uba(a,s,d)|0){i=88;break}if(h){e=2;b=s;i=93;break}}m=b;if((m-t|0)>=(p-m|0)){i=92;break}sba(t,b,d);t=b+4|0}d:do if((i|0)==59){a=t+4|0;p=c[e>>2]|0;h=p;if(!(k<+g[p+28>>2])){if((a|0)==(e|0)){i=95;break a}while(1){b=c[a>>2]|0;if(k<+g[b+28>>2])break;a=a+4|0;if((a|0)==(e|0)){i=95;break a}}c[a>>2]=h;c[e>>2]=b;a=a+4|0}if((a|0)==(e|0)){i=95;break a}while(1){f=+g[(c[t>>2]|0)+28>>2];while(1){b=c[a>>2]|0;i=a+4|0;if(f<+g[b+28>>2])break;else a=i}do{e=e+-4|0;h=c[e>>2]|0}while(f<+g[h+28>>2]);if(a>>>0>=e>>>0){e=4;b=s;i=93;break d}c[a>>2]=h;c[e>>2]=b;a=i}}else if((i|0)==88){e=h?1:2;a=t;b=h?s:b;i=93}else if((i|0)==92){i=0;sba(b+4|0,s,d);a=t}while(0);if((i|0)==93)switch(e&7){case 2:case 4:case 0:break;default:{i=95;break a}}s=b}if((i|0)==4){a=s+-4|0;b=c[a>>2]|0;e=c[t>>2]|0;if(!(+g[b+28>>2]<+g[e+28>>2]))return;c[t>>2]=b;c[a>>2]=e;return}else if((i|0)==6){j=t+4|0;h=s+-4|0;b=c[j>>2]|0;i=c[t>>2]|0;k=+g[b+28>>2];f=+g[i+28>>2];e=c[h>>2]|0;a=+g[e+28>>2]<k;if(!(k<f)){if(!a)return;c[j>>2]=e;c[h>>2]=b;a=c[j>>2]|0;b=c[t>>2]|0;if(!(+g[a+28>>2]<+g[b+28>>2]))return;c[t>>2]=a;c[j>>2]=b;return}if(a){c[t>>2]=e;c[h>>2]=i;return}c[t>>2]=b;c[j>>2]=i;a=c[h>>2]|0;if(!(+g[a+28>>2]<f))return;c[j>>2]=a;c[h>>2]=i;return}else if((i|0)==14){o=t+4|0;n=t+8|0;m=s+-4|0;b=c[o>>2]|0;l=c[t>>2]|0;e=b+28|0;u=+g[e>>2];a=l+28|0;f=+g[a>>2];j=c[n>>2]|0;h=j+28|0;k=+g[h>>2];i=k<u;do if(u<f){if(i){c[t>>2]=j;c[n>>2]=l;e=a;b=l;break}c[t>>2]=b;c[o>>2]=l;if(k<f){c[o>>2]=j;c[n>>2]=l;e=a;b=l}else{e=h;b=j}}else if(i){c[o>>2]=j;c[n>>2]=b;if(k<f){c[t>>2]=j;c[o>>2]=l}}else{e=h;b=j}while(0);a=c[m>>2]|0;if(!(+g[a+28>>2]<+g[e>>2]))return;c[n>>2]=a;c[m>>2]=b;a=c[n>>2]|0;b=c[o>>2]|0;f=+g[a+28>>2];if(!(f<+g[b+28>>2]))return;e=a;c[o>>2]=e;c[n>>2]=b;a=c[t>>2]|0;if(!(f<+g[a+28>>2]))return;c[t>>2]=e;c[o>>2]=a;return}else if((i|0)==26){tba(t,t+4|0,t+8|0,t+12|0,s+-4|0,d)|0;return}else if((i|0)==28){a=t+8|0;l=t+4|0;m=c[l>>2]|0;n=c[t>>2]|0;u=+g[m+28>>2];f=+g[n+28>>2];e=c[a>>2]|0;k=+g[e+28>>2];b=k<u;h=m;i=e;j=n;do if(u<f){if(b){c[t>>2]=i;c[a>>2]=j;e=n;break}c[t>>2]=h;c[l>>2]=j;if(k<f){c[l>>2]=i;c[a>>2]=j;e=n}}else if(b){c[l>>2]=i;c[a>>2]=h;if(k<f){c[t>>2]=i;c[l>>2]=j;e=m}else e=m}while(0);b=t+12|0;if((b|0)==(s|0))return;while(1){h=c[b>>2]|0;f=+g[h+28>>2];if(f<+g[e+28>>2]){e=b;while(1){c[e>>2]=c[a>>2];if((a|0)==(t|0)){a=t;break}e=a+-4|0;if(f<+g[(c[e>>2]|0)+28>>2]){r=a;a=e;e=r}else break}c[a>>2]=h}a=b+4|0;if((a|0)==(s|0))break;e=c[b>>2]|0;r=b;b=a;a=r}return}else if((i|0)==95)return}function tba(a,b,d,e,f,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;var i=0,j=0,k=0,l=0.0,m=0,n=0,o=0,p=0,q=0.0;n=c[b>>2]|0;o=c[a>>2]|0;m=n+28|0;q=+g[m>>2];j=o+28|0;l=+g[j>>2];i=c[d>>2]|0;k=i+28|0;h=+g[k>>2]<q;do if(q<l){if(h){c[a>>2]=i;c[d>>2]=o;p=1;i=o;break}c[a>>2]=n;c[b>>2]=o;i=c[d>>2]|0;h=i+28|0;if(+g[h>>2]<l){c[b>>2]=i;c[d>>2]=o;p=2;i=o}else{p=1;j=h}}else if(h){c[b>>2]=i;c[d>>2]=n;h=c[b>>2]|0;i=c[a>>2]|0;if(+g[h+28>>2]<+g[i+28>>2]){c[a>>2]=h;c[b>>2]=i;i=c[d>>2]|0;p=2;j=i+28|0}else{p=1;j=m;i=n}}else{p=0;j=k}while(0);h=c[e>>2]|0;if(+g[h+28>>2]<+g[j>>2]){c[d>>2]=h;c[e>>2]=i;h=p+1|0;i=c[d>>2]|0;j=c[b>>2]|0;if(+g[i+28>>2]<+g[j+28>>2]){c[b>>2]=i;c[d>>2]=j;h=c[b>>2]|0;i=c[a>>2]|0;if(+g[h+28>>2]<+g[i+28>>2]){c[a>>2]=h;c[b>>2]=i;j=p+3|0}else j=p+2|0}else j=h}else j=p;h=c[f>>2]|0;i=c[e>>2]|0;if(!(+g[h+28>>2]<+g[i+28>>2])){b=j;return b|0}c[e>>2]=h;c[f>>2]=i;h=c[e>>2]|0;i=c[d>>2]|0;if(!(+g[h+28>>2]<+g[i+28>>2])){b=j+1|0;return b|0}c[d>>2]=h;c[e>>2]=i;h=c[d>>2]|0;i=c[b>>2]|0;if(!(+g[h+28>>2]<+g[i+28>>2])){b=j+2|0;return b|0}c[b>>2]=h;c[d>>2]=i;h=c[b>>2]|0;i=c[a>>2]|0;if(!(+g[h+28>>2]<+g[i+28>>2])){b=j+3|0;return b|0}c[a>>2]=h;c[b>>2]=i;b=j+4|0;return b|0}function uba(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,h=0.0,i=0,j=0,k=0,l=0.0,m=0,n=0,o=0,p=0,q=0.0;switch(b-a>>2|0){case 2:{d=b+-4|0;e=c[d>>2]|0;f=c[a>>2]|0;if(!(+g[e+28>>2]<+g[f+28>>2])){a=1;return a|0}c[a>>2]=e;c[d>>2]=f;a=1;return a|0}case 3:{k=a+4|0;i=b+-4|0;e=c[k>>2]|0;j=c[a>>2]|0;l=+g[e+28>>2];h=+g[j+28>>2];f=c[i>>2]|0;d=+g[f+28>>2]<l;if(!(l<h)){if(!d){a=1;return a|0}c[k>>2]=f;c[i>>2]=e;d=c[k>>2]|0;e=c[a>>2]|0;if(!(+g[d+28>>2]<+g[e+28>>2])){a=1;return a|0}c[a>>2]=d;c[k>>2]=e;a=1;return a|0}if(d){c[a>>2]=f;c[i>>2]=j;a=1;return a|0}c[a>>2]=e;c[k>>2]=j;d=c[i>>2]|0;if(!(+g[d+28>>2]<h)){a=1;return a|0}c[k>>2]=d;c[i>>2]=j;a=1;return a|0}case 4:{p=a+4|0;o=a+8|0;n=b+-4|0;e=c[p>>2]|0;m=c[a>>2]|0;f=e+28|0;q=+g[f>>2];d=m+28|0;h=+g[d>>2];k=c[o>>2]|0;i=k+28|0;l=+g[i>>2];j=l<q;do if(q<h){if(j){c[a>>2]=k;c[o>>2]=m;f=d;e=m;break}c[a>>2]=e;c[p>>2]=m;if(l<h){c[p>>2]=k;c[o>>2]=m;f=d;e=m}else{f=i;e=k}}else if(j){c[p>>2]=k;c[o>>2]=e;if(l<h){c[a>>2]=k;c[p>>2]=m}}else{f=i;e=k}while(0);d=c[n>>2]|0;if(!(+g[d+28>>2]<+g[f>>2])){a=1;return a|0}c[o>>2]=d;c[n>>2]=e;d=c[o>>2]|0;e=c[p>>2]|0;h=+g[d+28>>2];if(!(h<+g[e+28>>2])){a=1;return a|0}f=d;c[p>>2]=f;c[o>>2]=e;d=c[a>>2]|0;if(!(h<+g[d+28>>2])){a=1;return a|0}c[a>>2]=f;c[p>>2]=d;a=1;return a|0}case 5:{tba(a,a+4|0,a+8|0,a+12|0,b+-4|0,d)|0;a=1;return a|0}case 1:case 0:{a=1;return a|0}default:{e=a+8|0;m=a+4|0;n=c[m>>2]|0;o=c[a>>2]|0;q=+g[n+28>>2];l=+g[o+28>>2];f=c[e>>2]|0;h=+g[f+28>>2];d=h<q;i=n;j=f;k=o;do if(q<l){if(d){c[a>>2]=j;c[e>>2]=k;f=o;break}c[a>>2]=i;c[m>>2]=k;if(h<l){c[m>>2]=j;c[e>>2]=k;f=o}}else if(d){c[m>>2]=j;c[e>>2]=i;if(h<l){c[a>>2]=j;c[m>>2]=k;f=n}else f=n}while(0);d=a+12|0;if((d|0)==(b|0)){a=1;return a|0}j=d;d=0;while(1){i=c[j>>2]|0;h=+g[i+28>>2];if(h<+g[f+28>>2]){f=j;while(1){c[f>>2]=c[e>>2];if((e|0)==(a|0)){e=a;break}f=e+-4|0;if(h<+g[(c[f>>2]|0)+28>>2]){o=e;e=f;f=o}else break}c[e>>2]=i;d=d+1|0;if((d|0)==8)break}e=j+4|0;if((e|0)==(b|0)){d=1;p=43;break}f=c[j>>2]|0;o=j;j=e;e=o}if((p|0)==43)return d|0;a=(j+4|0)==(b|0);return a|0}}return 0}function vba(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0.0,h=0,i=0,j=0,k=0.0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0.0;s=b;a:while(1){n=s;e=s+-4|0;o=s+-8|0;p=s;t=a;b:while(1){a=n-t|0;b=a>>2;switch(b|0){case 2:{i=4;break a}case 3:{i=6;break a}case 4:{i=14;break a}case 5:{i=26;break a}case 1:case 0:{i=95;break a}default:{}}if((a|0)<124){i=28;break a}m=t+(((b|0)/2|0)<<2)|0;do if((a|0)<=3996){b=c[m>>2]|0;i=c[t>>2]|0;k=+g[b+52>>2];f=+g[i+52>>2];h=c[e>>2]|0;a=+g[h+52>>2]<k;if(!(k<f)){if(!a){a=0;break}c[m>>2]=h;c[e>>2]=b;a=c[m>>2]|0;b=c[t>>2]|0;if(!(+g[a+52>>2]<+g[b+52>>2])){a=1;break}c[t>>2]=a;c[m>>2]=b;a=2;break}if(a){c[t>>2]=h;c[e>>2]=i;a=1;break}c[t>>2]=b;c[m>>2]=i;a=c[e>>2]|0;if(+g[a+52>>2]<f){c[m>>2]=a;c[e>>2]=i;a=2}else a=1}else{a=(b|0)/4|0;a=Aba(t,t+(a<<2)|0,m,m+(a<<2)|0,e,d)|0}while(0);i=c[t>>2]|0;k=+g[i+52>>2];f=+g[(c[m>>2]|0)+52>>2];if(k<f)h=e;else{if((t|0)==(o|0)){i=59;break}h=o;while(1){b=c[h>>2]|0;if(+g[b+52>>2]<f)break;h=h+-4|0;if((t|0)==(h|0)){i=59;break b}}c[t>>2]=b;c[h>>2]=i;a=a+1|0}b=t+4|0;c:do if(b>>>0<h>>>0)while(1){f=+g[(c[m>>2]|0)+52>>2];while(1){i=c[b>>2]|0;l=b+4|0;if(+g[i+52>>2]<f)b=l;else break}do{h=h+-4|0;j=c[h>>2]|0}while(!(+g[j+52>>2]<f));if(b>>>0>h>>>0){h=m;break c}c[b>>2]=j;c[h>>2]=i;m=(m|0)==(b|0)?h:m;b=l;a=a+1|0}else h=m;while(0);if((b|0)!=(h|0)?(q=c[h>>2]|0,r=c[b>>2]|0,+g[q+52>>2]<+g[r+52>>2]):0){c[b>>2]=q;c[h>>2]=r;a=a+1|0}if(!a){h=Bba(t,b,d)|0;a=b+4|0;if(Bba(a,s,d)|0){i=88;break}if(h){e=2;b=s;i=93;break}}m=b;if((m-t|0)>=(p-m|0)){i=92;break}vba(t,b,d);t=b+4|0}d:do if((i|0)==59){a=t+4|0;p=c[e>>2]|0;h=p;if(!(k<+g[p+52>>2])){if((a|0)==(e|0)){i=95;break a}while(1){b=c[a>>2]|0;if(k<+g[b+52>>2])break;a=a+4|0;if((a|0)==(e|0)){i=95;break a}}c[a>>2]=h;c[e>>2]=b;a=a+4|0}if((a|0)==(e|0)){i=95;break a}while(1){f=+g[(c[t>>2]|0)+52>>2];while(1){b=c[a>>2]|0;i=a+4|0;if(f<+g[b+52>>2])break;else a=i}do{e=e+-4|0;h=c[e>>2]|0}while(f<+g[h+52>>2]);if(a>>>0>=e>>>0){e=4;b=s;i=93;break d}c[a>>2]=h;c[e>>2]=b;a=i}}else if((i|0)==88){e=h?1:2;a=t;b=h?s:b;i=93}else if((i|0)==92){i=0;vba(b+4|0,s,d);a=t}while(0);if((i|0)==93)switch(e&7){case 2:case 4:case 0:break;default:{i=95;break a}}s=b}if((i|0)==4){a=s+-4|0;b=c[a>>2]|0;e=c[t>>2]|0;if(!(+g[b+52>>2]<+g[e+52>>2]))return;c[t>>2]=b;c[a>>2]=e;return}else if((i|0)==6){j=t+4|0;h=s+-4|0;b=c[j>>2]|0;i=c[t>>2]|0;k=+g[b+52>>2];f=+g[i+52>>2];e=c[h>>2]|0;a=+g[e+52>>2]<k;if(!(k<f)){if(!a)return;c[j>>2]=e;c[h>>2]=b;a=c[j>>2]|0;b=c[t>>2]|0;if(!(+g[a+52>>2]<+g[b+52>>2]))return;c[t>>2]=a;c[j>>2]=b;return}if(a){c[t>>2]=e;c[h>>2]=i;return}c[t>>2]=b;c[j>>2]=i;a=c[h>>2]|0;if(!(+g[a+52>>2]<f))return;c[j>>2]=a;c[h>>2]=i;return}else if((i|0)==14){o=t+4|0;n=t+8|0;m=s+-4|0;b=c[o>>2]|0;l=c[t>>2]|0;e=b+52|0;u=+g[e>>2];a=l+52|0;f=+g[a>>2];j=c[n>>2]|0;h=j+52|0;k=+g[h>>2];i=k<u;do if(u<f){if(i){c[t>>2]=j;c[n>>2]=l;e=a;b=l;break}c[t>>2]=b;c[o>>2]=l;if(k<f){c[o>>2]=j;c[n>>2]=l;e=a;b=l}else{e=h;b=j}}else if(i){c[o>>2]=j;c[n>>2]=b;if(k<f){c[t>>2]=j;c[o>>2]=l}}else{e=h;b=j}while(0);a=c[m>>2]|0;if(!(+g[a+52>>2]<+g[e>>2]))return;c[n>>2]=a;c[m>>2]=b;a=c[n>>2]|0;b=c[o>>2]|0;f=+g[a+52>>2];if(!(f<+g[b+52>>2]))return;e=a;c[o>>2]=e;c[n>>2]=b;a=c[t>>2]|0;if(!(f<+g[a+52>>2]))return;c[t>>2]=e;c[o>>2]=a;return}else if((i|0)==26){Aba(t,t+4|0,t+8|0,t+12|0,s+-4|0,d)|0;return}else if((i|0)==28){a=t+8|0;l=t+4|0;m=c[l>>2]|0;n=c[t>>2]|0;u=+g[m+52>>2];f=+g[n+52>>2];e=c[a>>2]|0;k=+g[e+52>>2];b=k<u;h=m;i=e;j=n;do if(u<f){if(b){c[t>>2]=i;c[a>>2]=j;e=n;break}c[t>>2]=h;c[l>>2]=j;if(k<f){c[l>>2]=i;c[a>>2]=j;e=n}}else if(b){c[l>>2]=i;c[a>>2]=h;if(k<f){c[t>>2]=i;c[l>>2]=j;e=m}else e=m}while(0);b=t+12|0;if((b|0)==(s|0))return;while(1){h=c[b>>2]|0;f=+g[h+52>>2];if(f<+g[e+52>>2]){e=b;while(1){c[e>>2]=c[a>>2];if((a|0)==(t|0)){a=t;break}e=a+-4|0;if(f<+g[(c[e>>2]|0)+52>>2]){r=a;a=e;e=r}else break}c[a>>2]=h}a=b+4|0;if((a|0)==(s|0))break;e=c[b>>2]|0;r=b;b=a;a=r}return}else if((i|0)==95)return}function wba(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0.0,h=0,i=0,j=0,k=0.0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0.0;a:while(1){o=b;h=b+-4|0;p=b+-8|0;q=b;t=a;b:while(1){a=o-t|0;e=a>>2;switch(e|0){case 2:{l=4;break a}case 3:{l=6;break a}case 4:{l=14;break a}case 5:{l=26;break a}case 1:case 0:{l=79;break a}default:{}}if((a|0)<28){l=28;break a}n=t+(((e|0)/2|0)<<2)|0;do if((a|0)<=3996){e=c[n>>2]|0;k=+g[e+28>>2];j=c[t>>2]|0;f=+g[j+28>>2];i=c[h>>2]|0;a=+g[i+28>>2]<k;if(!(k<f)){if(!a){a=0;e=n;m=t;break}c[n>>2]=i;c[h>>2]=e;a=c[n>>2]|0;e=c[t>>2]|0;if(!(+g[a+28>>2]<+g[e+28>>2])){a=1;e=n;m=t;break}c[t>>2]=a;c[n>>2]=e;a=2;e=n;m=t;break}if(a){c[t>>2]=i;c[h>>2]=j;a=1;e=n;m=t;break}c[t>>2]=e;c[n>>2]=j;a=c[h>>2]|0;if(+g[a+28>>2]<f){c[n>>2]=a;c[h>>2]=j;a=2;e=n;m=t}else{a=1;e=n;m=t}}else{a=(e|0)/4|0;a=xba(t,t+(a<<2)|0,n,n+(a<<2)|0,h,d)|0;e=n;m=t}while(0);j=c[m>>2]|0;k=+g[j+28>>2];f=+g[(c[e>>2]|0)+28>>2];if(k<f)e=h;else{if((t|0)==(p|0)){l=43;break}e=p;while(1){i=c[e>>2]|0;if(+g[i+28>>2]<f)break;e=e+-4|0;if((t|0)==(e|0)){l=43;break b}}c[t>>2]=i;c[e>>2]=j;a=a+1|0}i=t+4|0;c:do if(i>>>0<e>>>0)while(1){f=+g[(c[n>>2]|0)+28>>2];while(1){j=c[i>>2]|0;m=i+4|0;if(+g[j+28>>2]<f)i=m;else break}do{e=e+-4|0;l=c[e>>2]|0}while(!(+g[l+28>>2]<f));if(i>>>0>e>>>0){e=n;break c}c[i>>2]=l;c[e>>2]=j;n=(n|0)==(i|0)?e:n;i=m;a=a+1|0}else e=n;while(0);if((i|0)!=(e|0)?(r=c[e>>2]|0,s=c[i>>2]|0,+g[r+28>>2]<+g[s+28>>2]):0){c[i>>2]=r;c[e>>2]=s;a=a+1|0}if(!a){j=zba(t,i,d)|0;a=i+4|0;if(zba(a,b,d)|0){l=72;break}if(j){e=2;l=77;break}}n=i;if((n-t|0)>=(q-n|0)){l=76;break}wba(t,i,d);t=i+4|0}d:do if((l|0)==43){a=t+4|0;t=c[h>>2]|0;i=t;if(!(k<+g[t+28>>2])){if((a|0)==(h|0)){l=79;break a}while(1){e=c[a>>2]|0;if(k<+g[e+28>>2])break;a=a+4|0;if((a|0)==(h|0)){l=79;break a}}c[a>>2]=i;c[h>>2]=e;a=a+4|0}if((a|0)==(h|0)){l=79;break a}while(1){f=+g[(c[m>>2]|0)+28>>2];while(1){e=c[a>>2]|0;j=a+4|0;if(f<+g[e+28>>2])break;else a=j}do{h=h+-4|0;i=c[h>>2]|0}while(f<+g[i+28>>2]);if(a>>>0>=h>>>0){e=4;l=77;break d}c[a>>2]=i;c[h>>2]=e;a=j}}else if((l|0)==72){e=j?1:2;a=t;b=j?b:i;l=77}else if((l|0)==76){l=0;wba(i+4|0,b,d);a=t;b=i}while(0);if((l|0)==77)switch(e&7){case 2:case 4:case 0:break;default:{l=79;break a}}}if((l|0)==4){a=b+-4|0;b=c[a>>2]|0;e=c[t>>2]|0;if(!(+g[b+28>>2]<+g[e+28>>2]))return;c[t>>2]=b;c[a>>2]=e;return}else if((l|0)==6){j=t+4|0;h=b+-4|0;b=c[j>>2]|0;k=+g[b+28>>2];i=c[t>>2]|0;f=+g[i+28>>2];e=c[h>>2]|0;a=+g[e+28>>2]<k;if(!(k<f)){if(!a)return;c[j>>2]=e;c[h>>2]=b;a=c[j>>2]|0;b=c[t>>2]|0;if(!(+g[a+28>>2]<+g[b+28>>2]))return;c[t>>2]=a;c[j>>2]=b;return}if(a){c[t>>2]=e;c[h>>2]=i;return}c[t>>2]=b;c[j>>2]=i;a=c[h>>2]|0;if(!(+g[a+28>>2]<f))return;c[j>>2]=a;c[h>>2]=i;return}else if((l|0)==14){o=t+4|0;n=t+8|0;m=b+-4|0;b=c[o>>2]|0;e=b+28|0;u=+g[e>>2];l=c[t>>2]|0;a=l+28|0;f=+g[a>>2];j=c[n>>2]|0;h=j+28|0;k=+g[h>>2];i=k<u;do if(u<f){if(i){c[t>>2]=j;c[n>>2]=l;e=a;b=l;break}c[t>>2]=b;c[o>>2]=l;if(k<f){c[o>>2]=j;c[n>>2]=l;e=a;b=l}else{e=h;b=j}}else if(i){c[o>>2]=j;c[n>>2]=b;if(k<f){c[t>>2]=j;c[o>>2]=l}}else{e=h;b=j}while(0);a=c[m>>2]|0;if(!(+g[a+28>>2]<+g[e>>2]))return;c[n>>2]=a;c[m>>2]=b;a=c[n>>2]|0;f=+g[a+28>>2];b=c[o>>2]|0;if(!(f<+g[b+28>>2]))return;e=a;c[o>>2]=e;c[n>>2]=b;a=c[t>>2]|0;if(!(f<+g[a+28>>2]))return;c[t>>2]=e;c[o>>2]=a;return}else if((l|0)==26){xba(t,t+4|0,t+8|0,t+12|0,b+-4|0,d)|0;return}else if((l|0)==28){yba(t,b,d);return}else if((l|0)==79)return}function xba(a,b,d,e,f,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;var i=0,j=0,k=0,l=0.0,m=0,n=0,o=0,p=0,q=0.0;n=c[b>>2]|0;m=n+28|0;q=+g[m>>2];o=c[a>>2]|0;j=o+28|0;l=+g[j>>2];i=c[d>>2]|0;k=i+28|0;h=+g[k>>2]<q;do if(q<l){if(h){c[a>>2]=i;c[d>>2]=o;p=1;i=o;break}c[a>>2]=n;c[b>>2]=o;i=c[d>>2]|0;h=i+28|0;if(+g[h>>2]<l){c[b>>2]=i;c[d>>2]=o;p=2;i=o}else{p=1;j=h}}else if(h){c[b>>2]=i;c[d>>2]=n;h=c[b>>2]|0;i=c[a>>2]|0;if(+g[h+28>>2]<+g[i+28>>2]){c[a>>2]=h;c[b>>2]=i;i=c[d>>2]|0;p=2;j=i+28|0}else{p=1;j=m;i=n}}else{p=0;j=k}while(0);h=c[e>>2]|0;if(+g[h+28>>2]<+g[j>>2]){c[d>>2]=h;c[e>>2]=i;h=p+1|0;i=c[d>>2]|0;j=c[b>>2]|0;if(+g[i+28>>2]<+g[j+28>>2]){c[b>>2]=i;c[d>>2]=j;h=c[b>>2]|0;i=c[a>>2]|0;if(+g[h+28>>2]<+g[i+28>>2]){c[a>>2]=h;c[b>>2]=i;j=p+3|0}else j=p+2|0}else j=h}else j=p;h=c[f>>2]|0;i=c[e>>2]|0;if(!(+g[h+28>>2]<+g[i+28>>2])){b=j;return b|0}c[e>>2]=h;c[f>>2]=i;h=c[e>>2]|0;i=c[d>>2]|0;if(!(+g[h+28>>2]<+g[i+28>>2])){b=j+1|0;return b|0}c[d>>2]=h;c[e>>2]=i;h=c[d>>2]|0;i=c[b>>2]|0;if(!(+g[h+28>>2]<+g[i+28>>2])){b=j+2|0;return b|0}c[b>>2]=h;c[d>>2]=i;h=c[b>>2]|0;i=c[a>>2]|0;if(!(+g[h+28>>2]<+g[i+28>>2])){b=j+3|0;return b|0}c[a>>2]=h;c[b>>2]=i;b=j+4|0;return b|0}function yba(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,h=0,i=0.0,j=0.0,k=0,l=0,m=0,n=0,o=0,p=0,q=0.0;o=a+8|0;l=a+4|0;m=c[l>>2]|0;q=+g[m+28>>2];n=c[a>>2]|0;i=+g[n+28>>2];e=c[o>>2]|0;j=+g[e+28>>2];d=j<q;f=m;h=e;k=n;do if(q<i){if(d){c[a>>2]=h;c[o>>2]=k;e=n;break}c[a>>2]=f;c[l>>2]=k;if(j<i){c[l>>2]=h;c[o>>2]=k;e=n}}else if(d){c[l>>2]=h;c[o>>2]=f;if(j<i){c[a>>2]=h;c[l>>2]=k;e=m}else e=m}while(0);d=a+12|0;if((d|0)==(b|0))return;n=d;d=o;while(1){l=c[n>>2]|0;k=l+28|0;if(+g[k>>2]<+g[e+28>>2]){m=(l|0)==0;if(!m){e=l+8|0;c[e>>2]=(c[e>>2]|0)+1;e=c[d>>2]|0}h=n;while(1){f=c[h>>2]|0;if((f|0)!=(e|0)){c[h>>2]=e;if(e|0){o=e+8|0;c[o>>2]=(c[o>>2]|0)+1}if(f|0?(h=f+8|0,o=c[h>>2]|0,c[h>>2]=o-1,(o|0)==1):0)UU(f,1,1)}if((d|0)==(a|0)){d=a;break}f=d+-4|0;e=c[f>>2]|0;if(!(+g[k>>2]<+g[e+28>>2])){p=24;break}else{h=d;d=f}}if((p|0)==24)p=0;e=c[d>>2]|0;if((e|0)!=(l|0)){c[d>>2]=l;if(!m){o=l+8|0;c[o>>2]=(c[o>>2]|0)+1}if(e|0?(k=e+8|0,o=c[k>>2]|0,c[k>>2]=o-1,(o|0)==1):0)UU(e,1,1)}if(!m?(m=l+8|0,o=c[m>>2]|0,c[m>>2]=o-1,(o|0)==1):0)UU(l,1,1)}d=n+4|0;if((d|0)==(b|0))break;e=c[n>>2]|0;o=n;n=d;d=o}return}function zba(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,h=0.0,i=0,j=0,k=0,l=0.0,m=0,n=0,o=0,p=0,q=0.0;switch(b-a>>2|0){case 2:{e=b+-4|0;f=c[e>>2]|0;d=c[a>>2]|0;if(!(+g[f+28>>2]<+g[d+28>>2])){a=1;return a|0}c[a>>2]=f;c[e>>2]=d;a=1;return a|0}case 3:{k=a+4|0;i=b+-4|0;e=c[k>>2]|0;l=+g[e+28>>2];j=c[a>>2]|0;h=+g[j+28>>2];f=c[i>>2]|0;d=+g[f+28>>2]<l;if(!(l<h)){if(!d){a=1;return a|0}c[k>>2]=f;c[i>>2]=e;d=c[k>>2]|0;e=c[a>>2]|0;if(!(+g[d+28>>2]<+g[e+28>>2])){a=1;return a|0}c[a>>2]=d;c[k>>2]=e;a=1;return a|0}if(d){c[a>>2]=f;c[i>>2]=j;a=1;return a|0}c[a>>2]=e;c[k>>2]=j;d=c[i>>2]|0;if(!(+g[d+28>>2]<h)){a=1;return a|0}c[k>>2]=d;c[i>>2]=j;a=1;return a|0}case 4:{p=a+4|0;o=a+8|0;n=b+-4|0;e=c[p>>2]|0;f=e+28|0;q=+g[f>>2];m=c[a>>2]|0;d=m+28|0;h=+g[d>>2];k=c[o>>2]|0;i=k+28|0;l=+g[i>>2];j=l<q;do if(q<h){if(j){c[a>>2]=k;c[o>>2]=m;f=d;e=m;break}c[a>>2]=e;c[p>>2]=m;if(l<h){c[p>>2]=k;c[o>>2]=m;f=d;e=m}else{f=i;e=k}}else if(j){c[p>>2]=k;c[o>>2]=e;if(l<h){c[a>>2]=k;c[p>>2]=m}}else{f=i;e=k}while(0);d=c[n>>2]|0;if(!(+g[d+28>>2]<+g[f>>2])){a=1;return a|0}c[o>>2]=d;c[n>>2]=e;d=c[o>>2]|0;h=+g[d+28>>2];e=c[p>>2]|0;if(!(h<+g[e+28>>2])){a=1;return a|0}f=d;c[p>>2]=f;c[o>>2]=e;d=c[a>>2]|0;if(!(h<+g[d+28>>2])){a=1;return a|0}c[a>>2]=f;c[p>>2]=d;a=1;return a|0}case 5:{xba(a,a+4|0,a+8|0,a+12|0,b+-4|0,d)|0;a=1;return a|0}case 1:case 0:{a=1;return a|0}default:{e=a+8|0;m=a+4|0;n=c[m>>2]|0;q=+g[n+28>>2];o=c[a>>2]|0;l=+g[o+28>>2];f=c[e>>2]|0;h=+g[f+28>>2];d=h<q;i=n;j=f;k=o;do if(q<l){if(d){c[a>>2]=j;c[e>>2]=k;f=o;break}c[a>>2]=i;c[m>>2]=k;if(h<l){c[m>>2]=j;c[e>>2]=k;f=o}}else if(d){c[m>>2]=j;c[e>>2]=i;if(h<l){c[a>>2]=j;c[m>>2]=k;f=n}else f=n}while(0);d=a+12|0;if((d|0)==(b|0)){a=1;return a|0}o=d;d=0;while(1){m=c[o>>2]|0;k=m+28|0;if(+g[k>>2]<+g[f+28>>2]){n=(m|0)==0;if(!n){f=m+8|0;c[f>>2]=(c[f>>2]|0)+1;f=c[e>>2]|0}j=o;while(1){i=c[j>>2]|0;if((i|0)!=(f|0)){c[j>>2]=f;if(f|0){j=f+8|0;c[j>>2]=(c[j>>2]|0)+1}if(i|0?(f=i+8|0,j=c[f>>2]|0,c[f>>2]=j-1,(j|0)==1):0)UU(i,1,1)}if((e|0)==(a|0)){e=a;break}i=e+-4|0;f=c[i>>2]|0;if(!(+g[k>>2]<+g[f+28>>2])){p=47;break}else{j=e;e=i}}if((p|0)==47)p=0;f=c[e>>2]|0;if((f|0)!=(m|0)){c[e>>2]=m;if(!n){k=m+8|0;c[k>>2]=(c[k>>2]|0)+1}if(f|0?(j=f+8|0,k=c[j>>2]|0,c[j>>2]=k-1,(k|0)==1):0)UU(f,1,1)}d=d+1|0;e=(d|0)==8;if(!n?(k=m+8|0,n=c[k>>2]|0,c[k>>2]=n-1,(n|0)==1):0)UU(m,1,1);if(e)break}e=o+4|0;if((e|0)==(b|0)){d=1;p=61;break}f=c[o>>2]|0;n=o;o=e;e=n}if((p|0)==61)return d|0;a=(o+4|0)==(b|0);return a|0}}return 0}function Aba(a,b,d,e,f,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;var i=0,j=0,k=0,l=0.0,m=0,n=0,o=0,p=0,q=0.0;n=c[b>>2]|0;o=c[a>>2]|0;m=n+52|0;q=+g[m>>2];j=o+52|0;l=+g[j>>2];i=c[d>>2]|0;k=i+52|0;h=+g[k>>2]<q;do if(q<l){if(h){c[a>>2]=i;c[d>>2]=o;p=1;i=o;break}c[a>>2]=n;c[b>>2]=o;i=c[d>>2]|0;h=i+52|0;if(+g[h>>2]<l){c[b>>2]=i;c[d>>2]=o;p=2;i=o}else{p=1;j=h}}else if(h){c[b>>2]=i;c[d>>2]=n;h=c[b>>2]|0;i=c[a>>2]|0;if(+g[h+52>>2]<+g[i+52>>2]){c[a>>2]=h;c[b>>2]=i;i=c[d>>2]|0;p=2;j=i+52|0}else{p=1;j=m;i=n}}else{p=0;j=k}while(0);h=c[e>>2]|0;if(+g[h+52>>2]<+g[j>>2]){c[d>>2]=h;c[e>>2]=i;h=p+1|0;i=c[d>>2]|0;j=c[b>>2]|0;if(+g[i+52>>2]<+g[j+52>>2]){c[b>>2]=i;c[d>>2]=j;h=c[b>>2]|0;i=c[a>>2]|0;if(+g[h+52>>2]<+g[i+52>>2]){c[a>>2]=h;c[b>>2]=i;j=p+3|0}else j=p+2|0}else j=h}else j=p;h=c[f>>2]|0;i=c[e>>2]|0;if(!(+g[h+52>>2]<+g[i+52>>2])){b=j;return b|0}c[e>>2]=h;c[f>>2]=i;h=c[e>>2]|0;i=c[d>>2]|0;if(!(+g[h+52>>2]<+g[i+52>>2])){b=j+1|0;return b|0}c[d>>2]=h;c[e>>2]=i;h=c[d>>2]|0;i=c[b>>2]|0;if(!(+g[h+52>>2]<+g[i+52>>2])){b=j+2|0;return b|0}c[b>>2]=h;c[d>>2]=i;h=c[b>>2]|0;i=c[a>>2]|0;if(!(+g[h+52>>2]<+g[i+52>>2])){b=j+3|0;return b|0}c[a>>2]=h;c[b>>2]=i;b=j+4|0;return b|0}function Bba(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,h=0.0,i=0,j=0,k=0,l=0.0,m=0,n=0,o=0,p=0,q=0.0;switch(b-a>>2|0){case 2:{d=b+-4|0;e=c[d>>2]|0;f=c[a>>2]|0;if(!(+g[e+52>>2]<+g[f+52>>2])){a=1;return a|0}c[a>>2]=e;c[d>>2]=f;a=1;return a|0}case 3:{k=a+4|0;i=b+-4|0;e=c[k>>2]|0;j=c[a>>2]|0;l=+g[e+52>>2];h=+g[j+52>>2];f=c[i>>2]|0;d=+g[f+52>>2]<l;if(!(l<h)){if(!d){a=1;return a|0}c[k>>2]=f;c[i>>2]=e;d=c[k>>2]|0;e=c[a>>2]|0;if(!(+g[d+52>>2]<+g[e+52>>2])){a=1;return a|0}c[a>>2]=d;c[k>>2]=e;a=1;return a|0}if(d){c[a>>2]=f;c[i>>2]=j;a=1;return a|0}c[a>>2]=e;c[k>>2]=j;d=c[i>>2]|0;if(!(+g[d+52>>2]<h)){a=1;return a|0}c[k>>2]=d;c[i>>2]=j;a=1;return a|0}case 4:{p=a+4|0;o=a+8|0;n=b+-4|0;e=c[p>>2]|0;m=c[a>>2]|0;f=e+52|0;q=+g[f>>2];d=m+52|0;h=+g[d>>2];k=c[o>>2]|0;i=k+52|0;l=+g[i>>2];j=l<q;do if(q<h){if(j){c[a>>2]=k;c[o>>2]=m;f=d;e=m;break}c[a>>2]=e;c[p>>2]=m;if(l<h){c[p>>2]=k;c[o>>2]=m;f=d;e=m}else{f=i;e=k}}else if(j){c[p>>2]=k;c[o>>2]=e;if(l<h){c[a>>2]=k;c[p>>2]=m}}else{f=i;e=k}while(0);d=c[n>>2]|0;if(!(+g[d+52>>2]<+g[f>>2])){a=1;return a|0}c[o>>2]=d;c[n>>2]=e;d=c[o>>2]|0;e=c[p>>2]|0;h=+g[d+52>>2];if(!(h<+g[e+52>>2])){a=1;return a|0}f=d;c[p>>2]=f;c[o>>2]=e;d=c[a>>2]|0;if(!(h<+g[d+52>>2])){a=1;return a|0}c[a>>2]=f;c[p>>2]=d;a=1;return a|0}case 5:{Aba(a,a+4|0,a+8|0,a+12|0,b+-4|0,d)|0;a=1;return a|0}case 1:case 0:{a=1;return a|0}default:{e=a+8|0;m=a+4|0;n=c[m>>2]|0;o=c[a>>2]|0;q=+g[n+52>>2];l=+g[o+52>>2];f=c[e>>2]|0;h=+g[f+52>>2];d=h<q;i=n;j=f;k=o;do if(q<l){if(d){c[a>>2]=j;c[e>>2]=k;f=o;break}c[a>>2]=i;c[m>>2]=k;if(h<l){c[m>>2]=j;c[e>>2]=k;f=o}}else if(d){c[m>>2]=j;c[e>>2]=i;if(h<l){c[a>>2]=j;c[m>>2]=k;f=n}else f=n}while(0);d=a+12|0;if((d|0)==(b|0)){a=1;return a|0}j=d;d=0;while(1){i=c[j>>2]|0;h=+g[i+52>>2];if(h<+g[f+52>>2]){f=j;while(1){c[f>>2]=c[e>>2];if((e|0)==(a|0)){e=a;break}f=e+-4|0;if(h<+g[(c[f>>2]|0)+52>>2]){o=e;e=f;f=o}else break}c[e>>2]=i;d=d+1|0;if((d|0)==8)break}e=j+4|0;if((e|0)==(b|0)){d=1;p=43;break}f=c[j>>2]|0;o=j;j=e;e=o}if((p|0)==43)return d|0;a=(j+4|0)==(b|0);return a|0}}return 0}function Cba(a,b){a=a|0;b=b|0;var d=0,e=0;if(!b)return;Cba(a,c[b>>2]|0);Cba(a,c[b+4>>2]|0);a=c[b+20>>2]|0;if(a|0?(e=a+8|0,d=c[e>>2]|0,c[e>>2]=d-1,(d|0)==1):0)UU(a,1,1);l0a(b);return}function Dba(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=l;l=l+16|0;o=s+12|0;p=s+8|0;q=s+4|0;r=s;Or(b,d,e);c[b>>2]=90132;c[b+32>>2]=0;c[b+36>>2]=c[d+36>>2];c[b+40>>2]=c[d+40>>2];c[b+44>>2]=c[d+44>>2];j=b+48|0;k=b+52|0;c[k>>2]=0;m=b+56|0;c[m>>2]=0;e=b+52|0;c[j>>2]=e;f=c[d+48>>2]|0;n=d+52|0;if((f|0)!=(n|0)){i=e;while(1){g=f+16|0;c[r>>2]=i;c[o>>2]=c[r>>2];h=Eba(j,o,p,q,g)|0;if(!(c[h>>2]|0)){e=j0a(24)|0;c[e+16>>2]=c[g>>2];g=c[f+20>>2]|0;c[e+20>>2]=g;if(g|0){g=g+8|0;c[g>>2]=(c[g>>2]|0)+1}g=c[p>>2]|0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=g;c[h>>2]=e;g=c[c[j>>2]>>2]|0;if(g){c[j>>2]=g;e=c[h>>2]|0}fp(c[k>>2]|0,e);c[m>>2]=(c[m>>2]|0)+1}e=c[f+4>>2]|0;if(!e){g=f+8|0;e=c[g>>2]|0;if((c[e>>2]|0)!=(f|0)){f=g;do{h=c[f>>2]|0;f=h+8|0;e=c[f>>2]|0}while((c[e>>2]|0)!=(h|0))}}else while(1){f=c[e>>2]|0;if(!f)break;else e=f}if((e|0)==(n|0))break;else f=e}}f=b+60|0;g=d+60|0;c[f>>2]=0;m=b+64|0;c[m>>2]=0;h=b+68|0;c[h>>2]=0;j=d+64|0;e=(c[j>>2]|0)-(c[g>>2]|0)|0;i=e>>2;if(e|0){if(i>>>0>1073741823)g1a(f);k=j0a(e)|0;c[m>>2]=k;c[f>>2]=k;c[h>>2]=k+(i<<2);f=c[g>>2]|0;e=(c[j>>2]|0)-f|0;if((e|0)>0){x2a(k|0,f|0,e|0)|0;c[m>>2]=k+(e>>>2<<2)}}f=b+72|0;g=d+72|0;c[f>>2]=0;m=b+76|0;c[m>>2]=0;h=b+80|0;c[h>>2]=0;j=d+76|0;e=(c[j>>2]|0)-(c[g>>2]|0)|0;i=e>>2;if(e|0){if(i>>>0>1073741823)g1a(f);k=j0a(e)|0;c[m>>2]=k;c[f>>2]=k;c[h>>2]=k+(i<<2);f=c[g>>2]|0;e=(c[j>>2]|0)-f|0;if((e|0)>0){x2a(k|0,f|0,e|0)|0;c[m>>2]=k+(e>>>2<<2)}}a[b+84>>0]=a[d+84>>0]|0;c[b+88>>2]=c[d+88>>2];e=c[d+92>>2]|0;c[b+92>>2]=e;if(e|0){r=e+8|0;c[r>>2]=(c[r>>2]|0)+1}e=c[d+96>>2]|0;c[b+96>>2]=e;if(e|0){r=e+8|0;c[r>>2]=(c[r>>2]|0)+1}e=c[d+100>>2]|0;c[b+100>>2]=e;if(!e){l=s;return}b=e+8|0;c[b>>2]=(c[b>>2]|0)+1;l=s;return}function Eba(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0;i=a+4|0;h=c[b>>2]|0;b=h;if((h|0)!=(i|0)?(j=c[f>>2]|0,g=c[h+16>>2]|0,(j|0)>=(g|0)):0){if((g|0)>=(j|0)){c[d>>2]=b;c[e>>2]=b;d=e;return d|0}g=c[h+4>>2]|0;if(!g){e=h+8|0;g=c[e>>2]|0;if((c[g>>2]|0)!=(h|0))do{f=c[e>>2]|0;e=f+8|0;g=c[e>>2]|0}while((c[g>>2]|0)!=(f|0))}else while(1){e=c[g>>2]|0;if(!e)break;else g=e}if((g|0)!=(i|0)?(j|0)>=(c[g+16>>2]|0):0){b=c[i>>2]|0;if(!b){c[d>>2]=i;d=i;return d|0}e=a+4|0;while(1){g=c[b+16>>2]|0;if((j|0)<(g|0)){g=c[b>>2]|0;if(!g){f=42;break}else{e=b;b=g}}else{if((g|0)>=(j|0)){f=46;break}e=b+4|0;g=c[e>>2]|0;if(!g){f=45;break}else b=g}}if((f|0)==42){c[d>>2]=b;d=b;return d|0}else if((f|0)==45){c[d>>2]=b;d=e;return d|0}else if((f|0)==46){c[d>>2]=b;d=e;return d|0}}if(!(c[h+4>>2]|0)){c[d>>2]=b;d=h+4|0;return d|0}else{c[d>>2]=g;d=g;return d|0}}e=c[h>>2]|0;if((c[a>>2]|0)!=(h|0)){if(!e){b=h;do{j=b;b=c[b+8>>2]|0}while((c[b>>2]|0)==(j|0))}else{b=e;while(1){g=c[b+4>>2]|0;if(!g)break;else b=g}}f=c[f>>2]|0;if((c[b+16>>2]|0)>=(f|0)){b=c[i>>2]|0;if(!b){c[d>>2]=i;d=i;return d|0}e=a+4|0;while(1){g=c[b+16>>2]|0;if((f|0)<(g|0)){g=c[b>>2]|0;if(!g){f=18;break}else{e=b;b=g}}else{if((g|0)>=(f|0)){f=22;break}e=b+4|0;g=c[e>>2]|0;if(!g){f=21;break}else b=g}}if((f|0)==18){c[d>>2]=b;d=b;return d|0}else if((f|0)==21){c[d>>2]=b;d=e;return d|0}else if((f|0)==22){c[d>>2]=b;d=e;return d|0}}}if(!e){c[d>>2]=h;d=h;return d|0}else{c[d>>2]=b;d=b+4|0;return d|0}return 0}function Fba(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;j=l;l=l+16|0;i=j;kX()|0;c[b+4>>2]=0;c[b+8>>2]=0;h=b+12|0;c[b+16>>2]=0;c[b+20>>2]=0;c[h>>2]=b+16;c[b>>2]=90348;c[i>>2]=0;c[i+4>>2]=0;c[i+8>>2]=0;f=i+11|0;a[f>>0]=9;d=i;e=186301;g=d+9|0;do{a[d>>0]=a[e>>0]|0;d=d+1|0;e=e+1|0}while((d|0)<(g|0));a[i+9>>0]=0;b=j0a(104)|0;Gba(b,xaa()|0);d=Hba(h,i)|0;e=c[d>>2]|0;if(((e|0)!=(b|0)?(c[d>>2]=b,g=b+8|0,c[g>>2]=(c[g>>2]|0)+1,e|0):0)?(d=e+8|0,g=c[d>>2]|0,c[d>>2]=g-1,(g|0)==1):0)UU(e,1,1);if((a[f>>0]|0)<0)l0a(c[i>>2]|0);c[i>>2]=0;c[i+4>>2]=0;c[i+8>>2]=0;b=j0a(16)|0;c[i>>2]=b;c[i+8>>2]=-2147483632;c[i+4>>2]=14;d=b;e=162647;g=d+14|0;do{a[d>>0]=a[e>>0]|0;d=d+1|0;e=e+1|0}while((d|0)<(g|0));a[b+14>>0]=0;b=j0a(104)|0;c[b+4>>2]=0;d=b+8|0;c[d>>2]=0;f=b+12|0;c[f>>2]=0;c[f+4>>2]=0;c[f+8>>2]=0;c[b+24>>2]=2;c[b+28>>2]=0;c[b>>2]=90132;c[b+32>>2]=0;f=b+52|0;c[f>>2]=0;c[b+56>>2]=0;c[b+48>>2]=f;f=b+60|0;c[b+36>>2]=0;c[b+40>>2]=0;c[b+44>>2]=0;e=b+88|0;c[f>>2]=0;c[f+4>>2]=0;c[f+8>>2]=0;c[f+12>>2]=0;c[f+16>>2]=0;c[f+20>>2]=0;a[f+24>>0]=0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[e+12>>2]=0;e=Hba(h,i)|0;f=c[e>>2]|0;if(((f|0)!=(b|0)?(c[e>>2]=b,c[d>>2]=(c[d>>2]|0)+1,f|0):0)?(e=f+8|0,g=c[e>>2]|0,c[e>>2]=g-1,(g|0)==1):0)UU(f,1,1);if((a[i+11>>0]|0)<0)l0a(c[i>>2]|0);c[i>>2]=0;c[i+4>>2]=0;c[i+8>>2]=0;b=j0a(16)|0;c[i>>2]=b;c[i+8>>2]=-2147483632;c[i+4>>2]=14;d=b;e=162662;g=d+14|0;do{a[d>>0]=a[e>>0]|0;d=d+1|0;e=e+1|0}while((d|0)<(g|0));a[b+14>>0]=0;b=j0a(104)|0;Gba(b,3);d=Hba(h,i)|0;e=c[d>>2]|0;if(((e|0)!=(b|0)?(c[d>>2]=b,g=b+8|0,c[g>>2]=(c[g>>2]|0)+1,e|0):0)?(f=e+8|0,g=c[f>>2]|0,c[f>>2]=g-1,(g|0)==1):0)UU(e,1,1);if((a[i+11>>0]|0)<0)l0a(c[i>>2]|0);c[i>>2]=0;c[i+4>>2]=0;c[i+8>>2]=0;b=j0a(32)|0;c[i>>2]=b;c[i+8>>2]=-2147483616;c[i+4>>2]=18;d=b;e=162444;g=d+18|0;do{a[d>>0]=a[e>>0]|0;d=d+1|0;e=e+1|0}while((d|0)<(g|0));a[b+18>>0]=0;b=j0a(104)|0;Gba(b,3);d=Hba(h,i)|0;e=c[d>>2]|0;if(((e|0)!=(b|0)?(c[d>>2]=b,g=b+8|0,c[g>>2]=(c[g>>2]|0)+1,e|0):0)?(f=e+8|0,g=c[f>>2]|0,c[f>>2]=g-1,(g|0)==1):0)UU(e,1,1);if((a[i+11>>0]|0)<0)l0a(c[i>>2]|0);c[i>>2]=0;c[i+4>>2]=0;c[i+8>>2]=0;b=j0a(32)|0;c[i>>2]=b;c[i+8>>2]=-2147483616;c[i+4>>2]=18;d=b;e=162425;g=d+18|0;do{a[d>>0]=a[e>>0]|0;d=d+1|0;e=e+1|0}while((d|0)<(g|0));a[b+18>>0]=0;b=j0a(104)|0;c[b+4>>2]=0;d=b+8|0;c[d>>2]=0;e=b+12|0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[b+24>>2]=2;c[b+28>>2]=0;c[b>>2]=90132;c[b+32>>2]=0;e=b+52|0;c[e>>2]=0;c[b+56>>2]=0;c[b+48>>2]=e;e=b+60|0;c[b+92>>2]=0;c[b+96>>2]=0;c[b+100>>2]=0;c[b+36>>2]=0;c[b+40>>2]=0;c[b+44>>2]=0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[e+12>>2]=0;c[e+16>>2]=0;c[e+20>>2]=0;a[e+24>>0]=0;c[b+88>>2]=2;e=Hba(h,i)|0;f=c[e>>2]|0;if(((f|0)!=(b|0)?(c[e>>2]=b,c[d>>2]=(c[d>>2]|0)+1,f|0):0)?(e=f+8|0,g=c[e>>2]|0,c[e>>2]=g-1,(g|0)==1):0)UU(f,1,1);if((a[i+11>>0]|0)<0)l0a(c[i>>2]|0);c[i>>2]=0;c[i+4>>2]=0;c[i+8>>2]=0;b=j0a(32)|0;c[i>>2]=b;c[i+8>>2]=-2147483616;c[i+4>>2]=17;d=b;e=162677;g=d+17|0;do{a[d>>0]=a[e>>0]|0;d=d+1|0;e=e+1|0}while((d|0)<(g|0));a[b+17>>0]=0;e=j0a(104)|0;c[e+4>>2]=0;f=e+8|0;c[f>>2]=0;b=e+12|0;c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;c[e+24>>2]=2;c[e+28>>2]=0;c[e>>2]=90132;c[e+32>>2]=0;b=e+52|0;c[b>>2]=0;c[e+56>>2]=0;c[e+48>>2]=b;b=e+60|0;c[e+92>>2]=0;c[e+96>>2]=0;c[e+100>>2]=0;c[e+36>>2]=0;c[e+40>>2]=0;c[e+44>>2]=0;c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;c[b+12>>2]=0;c[b+16>>2]=0;c[b+20>>2]=0;a[b+24>>0]=0;c[e+88>>2]=4;b=Hba(h,i)|0;d=c[b>>2]|0;if(((d|0)!=(e|0)?(c[b>>2]=e,c[f>>2]=(c[f>>2]|0)+1,d|0):0)?(g=d+8|0,h=c[g>>2]|0,c[g>>2]=h-1,(h|0)==1):0)UU(d,1,1);if((a[i+11>>0]|0)>=0){l=j;return}l0a(c[i>>2]|0);l=j;return}function Gba(b,d){b=b|0;d=d|0;var e=0,f=0;c[b+4>>2]=0;c[b+8>>2]=0;f=b+12|0;c[f>>2]=0;c[f+4>>2]=0;c[f+8>>2]=0;c[b+24>>2]=2;c[b+28>>2]=0;c[b>>2]=90132;c[b+32>>2]=0;c[b+52>>2]=0;c[b+56>>2]=0;c[b+48>>2]=b+52;f=b+60|0;c[b+92>>2]=0;c[b+96>>2]=0;e=b+100|0;c[e>>2]=0;c[b+36>>2]=0;c[b+40>>2]=0;c[b+44>>2]=0;c[f>>2]=0;c[f+4>>2]=0;c[f+8>>2]=0;c[f+12>>2]=0;c[f+16>>2]=0;c[f+20>>2]=0;a[f+24>>0]=0;c[b+88>>2]=d;if((d|0)!=3)return;b=j0a(160)|0;DY(b);d=c[e>>2]|0;if(((d|0)!=(b|0)?(c[e>>2]=b,f=b+8|0,c[f>>2]=(c[f>>2]|0)+1,d|0):0)?(b=d+8|0,f=c[b>>2]|0,c[b>>2]=f-1,(f|0)==1):0)UU(d,1,1);f=c[e>>2]|0;Jk[c[c[f>>2]>>2]&1023](f,1);return}function Hba(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=l;l=l+16|0;e=h;f=Jba(a,e,b)|0;d=c[f>>2]|0;if(d|0){a=d;a=a+28|0;l=h;return a|0}g=j0a(32)|0;t0a(g+16|0,b);c[g+28>>2]=0;d=c[e>>2]|0;c[g>>2]=0;c[g+4>>2]=0;c[g+8>>2]=d;c[f>>2]=g;d=c[c[a>>2]>>2]|0;if(!d)d=g;else{c[a>>2]=d;d=c[f>>2]|0}fp(c[a+4>>2]|0,d);a=a+8|0;c[a>>2]=(c[a>>2]|0)+1;a=g;a=a+28|0;l=h;return a|0}function Iba(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;if(!d)return;Iba(b,c[d>>2]|0);Iba(b,c[d+4>>2]|0);b=d+16|0;e=d+28|0;f=c[e>>2]|0;if(f|0?(h=f+8|0,g=c[h>>2]|0,c[h>>2]=g-1,(g|0)==1):0)UU(f,1,1);c[e>>2]=0;if((a[b+11>>0]|0)<0)l0a(c[b>>2]|0);l0a(d);return}function Jba(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;f=b+4|0;h=c[f>>2]|0;if(!h){c[d>>2]=f;o=f;return o|0}m=a[e+11>>0]|0;l=m<<24>>24<0;m=l?c[e+4>>2]|0:m&255;l=l?c[e>>2]|0:e;g=b+4|0;f=h;while(1){e=f+16|0;h=a[e+11>>0]|0;b=h<<24>>24<0;h=b?c[f+20>>2]|0:h&255;k=h>>>0<m>>>0;j=k?h:m;i=(j|0)==0;if(!i?(n=b?c[e>>2]|0:e,o=cOa(l,n,j)|0,(o|0)!=0):0)if((o|0)<0)b=7;else{e=n;b=11}else if(m>>>0>=h>>>0)if(i)b=12;else{e=b?c[e>>2]|0:e;b=11}else b=7;if((b|0)==7){b=0;e=c[f>>2]|0;if(!e){b=8;break}else{g=f;f=e}}else if((b|0)==11){e=cOa(e,l,j)|0;if(e)if((e|0)<0)b=14;else{b=16;break}else b=12}if((b|0)==12)if(k)b=14;else{b=16;break}if((b|0)==14){e=f+4|0;b=c[e>>2]|0;if(!b){b=15;break}else{g=e;f=b}}}if((b|0)==8){c[d>>2]=f;o=f;return o|0}else if((b|0)==15){c[d>>2]=f;o=e;return o|0}else if((b|0)==16){c[d>>2]=f;o=g;return o|0}return 0}function Kba(a){a=a|0;Iba(a+12|0,c[a+16>>2]|0);SU(a);return}function Lba(a){a=a|0;Iba(a+12|0,c[a+16>>2]|0);SU(a);l0a(a);return}function Mba(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0;c[a>>2]=90368;b=a+56|0;d=c[b>>2]|0;if(d|0?(f=d+8|0,g=c[f>>2]|0,c[f>>2]=g-1,(g|0)==1):0)UU(d,1,1);c[b>>2]=0;e=a+36|0;g=c[e>>2]|0;if(g|0){f=a+40|0;b=c[f>>2]|0;if((b|0)==(g|0))b=g;else{do{b=b+-4|0;d=c[b>>2]|0;if(d|0?(i=d+8|0,h=c[i>>2]|0,c[i>>2]=h-1,(h|0)==1):0)UU(d,1,1);c[b>>2]=0}while((b|0)!=(g|0));b=c[e>>2]|0}c[f>>2]=g;l0a(b)}Oba(a+24|0,c[a+28>>2]|0);b=a+16|0;d=c[b>>2]|0;if(!d){c[b>>2]=0;SU(a);return}h=d+8|0;i=c[h>>2]|0;c[h>>2]=i-1;if((i|0)!=1){c[b>>2]=0;SU(a);return}UU(d,1,1);c[b>>2]=0;SU(a);return}function Nba(a){a=a|0;Mba(a);l0a(a);return}function Oba(a,b){a=a|0;b=b|0;var d=0,e=0;if(!b)return;Oba(a,c[b>>2]|0);Oba(a,c[b+4>>2]|0);a=c[b+20>>2]|0;if(a|0?(e=a+8|0,d=c[e>>2]|0,c[e>>2]=d-1,(d|0)==1):0)UU(a,1,1);l0a(b);return}function Pba(a){a=a|0;var b=0,d=0,e=0;b=l;l=l+16|0;e=b;c[a+4>>2]=0;c[a+8>>2]=0;c[a>>2]=68320;d=a+12|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[a+24>>2]=2;c[a+28>>2]=0;d=a+32|0;tU(d);c[a>>2]=90868;c[d>>2]=91044;c[a+36>>2]=83012;c[a+44>>2]=0;Vi(e|0)|0;d=j0a(32)|0;c[d>>2]=83040;Wi(e|0,2)|0;Ui(d+4|0,e|0)|0;c[a+40>>2]=d;c[a+52>>2]=0;c[a+56>>2]=0;c[a+48>>2]=a+52;l=b;return}function Qba(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;g=l;l=l+16|0;d=g;if(!a){if(!(ZQ(2)|0)){f=0;l=g;return f|0}f=mr(lr(2)|0,164961,78)|0;BSa(d,f+(c[(c[f>>2]|0)+-12>>2]|0)|0);e=cUa(d,230580)|0;e=kk[c[(c[e>>2]|0)+28>>2]&511](e,10)|0;dUa(d);VSa(f,e)|0;HSa(f)|0;f=0;l=g;return f|0}a=gk[c[(c[a>>2]|0)+12>>2]&1023](a)|0;b=(a|0)==0;if(!b?(f=a+8|0,c[f>>2]=(c[f>>2]|0)+1,e=y1a(a,42800,49912,0)|0,e|0):0){c[f>>2]=(c[f>>2]|0)-1;f=e;l=g;return f|0}if(ZQ(2)|0){f=mr(lr(2)|0,164882,78)|0;BSa(d,f+(c[(c[f>>2]|0)+-12>>2]|0)|0);e=cUa(d,230580)|0;e=kk[c[(c[e>>2]|0)+28>>2]&511](e,10)|0;dUa(d);VSa(f,e)|0;HSa(f)|0}if(b){f=0;l=g;return f|0}e=a+8|0;f=c[e>>2]|0;c[e>>2]=f-1;if((f|0)!=1){f=0;l=g;return f|0}UU(a,1,1);f=0;l=g;return f|0}function Rba(b){b=b|0;var d=0,e=0,f=0,g=0,i=0,j=0;Gba(b,xaa()|0);c[b>>2]=90576;f=b+108|0;c[f>>2]=f;c[b+112>>2]=f;c[b+116>>2]=0;f=b+120|0;c[f>>2]=f;c[b+124>>2]=f;f=b+128|0;j=b+228|0;c[j>>2]=0;i=b+232|0;c[i>>2]=0;c[b+236>>2]=0;c[b+248>>2]=0;d=b+260|0;c[b+264>>2]=0;c[b+268>>2]=0;e=b+264|0;c[f>>2]=0;c[f+4>>2]=0;c[f+8>>2]=0;c[f+12>>2]=0;c[f+16>>2]=0;c[f+20>>2]=0;f=b+172|0;g=f+36|0;do{c[f>>2]=0;f=f+4|0}while((f|0)<(g|0));c[d>>2]=e;c[b+272>>2]=0;c[b+276>>2]=0;c[b+280>>2]=0;a[b+284>>0]=1;Qra(b+288|0);c[b+416>>2]=0;c[b+420>>2]=0;c[b+44>>2]=b;a[b+104>>0]=0;c[b+152>>2]=0;a[b+156>>0]=0;c[b+160>>2]=0;a[b+164>>0]=0;c[b+168>>2]=16640;d=b+176|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[d+12>>2]=0;c[d+16>>2]=0;c[d+20>>2]=0;c[d+24>>2]=0;c[d+28>>2]=0;h[b+208>>3]=1.0;c[b+216>>2]=0;a[b+220>>0]=0;c[b+224>>2]=0;d=c[j>>2]|0;if(!d){c[i>>2]=0;j=b+240|0;c[j>>2]=0;j=b+244|0;c[j>>2]=0;j=b+252|0;c[j>>2]=6408;j=b+256|0;c[j>>2]=5121;return}c[j>>2]=0;g=d+8|0;j=c[g>>2]|0;c[g>>2]=j-1;if((j|0)!=1){c[i>>2]=0;j=b+240|0;c[j>>2]=0;j=b+244|0;c[j>>2]=0;j=b+252|0;c[j>>2]=6408;j=b+256|0;c[j>>2]=5121;return}UU(d,1,1);c[i>>2]=0;j=b+240|0;c[j>>2]=0;j=b+244|0;c[j>>2]=0;j=b+252|0;c[j>>2]=6408;j=b+256|0;c[j>>2]=5121;return}function Sba(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;j=b;l=a+36|0;gk[c[(c[l>>2]|0)+8>>2]&1023](l)|0;k=a+48|0;h=a+52|0;e=c[h>>2]|0;do if(e){f=h;g=e;do{i=(c[g+16>>2]|0)>>>0<b>>>0;f=i?f:g;g=c[(i?g+4|0:g)>>2]|0}while((g|0)!=0);if((f|0)!=(h|0)?(c[f+16>>2]|0)>>>0<=b>>>0:0){e=f+20|0;f=c[e>>2]|0;if((f|0)==(d|0)){b=c[l>>2]|0;b=b+12|0;b=c[b>>2]|0;gk[b&1023](l)|0;return}c[e>>2]=d;if(d|0){b=d+8|0;c[b>>2]=(c[b>>2]|0)+1}if(!f){b=c[l>>2]|0;b=b+12|0;b=c[b>>2]|0;gk[b&1023](l)|0;return}d=f+8|0;b=c[d>>2]|0;c[d>>2]=b-1;if((b|0)!=1){b=c[l>>2]|0;b=b+12|0;b=c[b>>2]|0;gk[b&1023](l)|0;return}UU(f,1,1);b=c[l>>2]|0;b=b+12|0;b=c[b>>2]|0;gk[b&1023](l)|0;return}g=a+52|0;while(1){f=c[e+16>>2]|0;if(f>>>0>b>>>0){f=c[e>>2]|0;if(!f){f=9;break}else{g=e;e=f}}else{if(f>>>0>=b>>>0){f=13;break}g=e+4|0;f=c[g>>2]|0;if(!f){f=12;break}else e=f}}if((f|0)==9){i=e;g=e;break}else if((f|0)==12){i=e;break}else if((f|0)==13){i=e;break}}else{i=h;g=h}while(0);e=c[g>>2]|0;if(!e){e=j0a(24)|0;c[e+16>>2]=j;c[e+20>>2]=0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=i;c[g>>2]=e;f=c[c[k>>2]>>2]|0;if(!f)f=e;else{c[k>>2]=f;f=c[g>>2]|0}fp(c[a+52>>2]|0,f);k=a+56|0;c[k>>2]=(c[k>>2]|0)+1}e=e+20|0;f=c[e>>2]|0;if((f|0)!=(d|0)){c[e>>2]=d;if(d|0){d=d+8|0;c[d>>2]=(c[d>>2]|0)+1}if(f|0?(k=f+8|0,d=c[k>>2]|0,c[k>>2]=d-1,(d|0)==1):0)UU(f,1,1)}i=a+32|0;h=b+4|0;e=c[h>>2]|0;if(!e)do{e=j0a(40)|0;uU(e,b);f=e+8|0;c[f>>2]=(c[f>>2]|0)+1;g=c[h>>2]|0;if(!g)c[h>>2]=e;if(g|0?(d=c[f>>2]|0,c[f>>2]=d-1,(d|0)==1):0)UU(e,1,1);e=c[h>>2]|0}while(!(e|0));vU(e,i);b=c[l>>2]|0;b=b+12|0;b=c[b>>2]|0;gk[b&1023](l)|0;return}function Tba(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;if(!b)d=0;else{g=b+4|0;d=c[g>>2]|0;if(!d)do{e=j0a(40)|0;uU(e,b);f=e+8|0;c[f>>2]=(c[f>>2]|0)+1;d=c[g>>2]|0;if(!d)c[g>>2]=e;if(d|0?(d=c[f>>2]|0,c[f>>2]=d-1,(d|0)==1):0)UU(e,1,1);d=c[g>>2]|0}while(!(d|0))}e=c[a>>2]|0;if((e|0)!=(d|0)){c[a>>2]=d;if(d|0){g=d+8|0;c[g>>2]=(c[g>>2]|0)+1}if(e|0?(f=e+8|0,g=c[f>>2]|0,c[f>>2]=g-1,(g|0)==1):0)UU(e,1,1);d=c[a>>2]|0}if(!d){g=0;b=a+4|0;c[b>>2]=g;return a|0}g=(c[d+24>>2]|0)==0?0:b;b=a+4|0;c[b>>2]=g;return a|0}function Uba(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;m=a+4|0;d=c[m>>2]|0;e=c[a>>2]|0;i=d-e>>2;f=i+1|0;g=e;if(f>>>0>1073741823)g1a(a);l=a+8|0;j=(c[l>>2]|0)-e|0;k=j>>1;f=j>>2>>>0<536870911?(k>>>0<f>>>0?f:k):1073741823;do if(f)if(f>>>0>1073741823){m=db(8)|0;p0a(m,183738);c[m>>2]=110936;hb(m|0,65952,1066)}else{j=j0a(f<<2)|0;break}else j=0;while(0);e=j+(i<<2)|0;k=j+(f<<2)|0;f=c[b>>2]|0;c[e>>2]=f;if(f){g=f+8|0;c[g>>2]=(c[g>>2]|0)+1;g=c[a>>2]|0;d=c[m>>2]|0}h=e+4|0;f=g;if((d|0)==(g|0))b=f;else{b=i+-1-((d+-4-f|0)>>>2)|0;while(1){d=d+-4|0;f=c[d>>2]|0;c[e+-4>>2]=f;if(f|0){i=f+8|0;c[i>>2]=(c[i>>2]|0)+1}if((d|0)==(g|0))break;else e=e+-4|0}e=j+(b<<2)|0;b=c[a>>2]|0;d=c[m>>2]|0}c[a>>2]=e;c[m>>2]=h;c[l>>2]=k;f=b;if((d|0)!=(f|0))do{d=d+-4|0;e=c[d>>2]|0;if(e|0?(l=e+8|0,m=c[l>>2]|0,c[l>>2]=m-1,(m|0)==1):0)UU(e,1,1);c[d>>2]=0}while((d|0)!=(f|0));if(!b)return;l0a(b);return}function Vba(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;e=c[a+36>>2]|0;f=a+40|0;b=c[f>>2]|0;if((b|0)!=(e|0))do{b=b+-4|0;d=c[b>>2]|0;if(d|0?(h=d+8|0,g=c[h>>2]|0,c[h>>2]=g-1,(g|0)==1):0)UU(d,1,1);c[b>>2]=0}while((b|0)!=(e|0));c[f>>2]=e;b=c[a+24>>2]|0;f=a+28|0;if((b|0)==(f|0))return;e=b;while(1){Vba(c[e+20>>2]|0);b=c[e+4>>2]|0;if(!b){d=e+8|0;b=c[d>>2]|0;if((c[b>>2]|0)!=(e|0))do{h=c[d>>2]|0;d=h+8|0;b=c[d>>2]|0}while((c[b>>2]|0)!=(h|0))}else while(1){d=c[b>>2]|0;if(!d)break;else b=d}if((b|0)==(f|0))break;else e=b}return}function Wba(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;j=l;l=l+16|0;f=j+4|0;g=j;h=a+24|0;b=c[h>>2]|0;e=a+28|0;if((b|0)==(e|0)){l=j;return}while(1){d=b+20|0;Wba(c[d>>2]|0);d=c[d>>2]|0;if((c[d+36>>2]|0)==(c[d+40>>2]|0)?(c[d+32>>2]|0)==0:0){a=c[b+4>>2]|0;if(!a){d=b+8|0;a=c[d>>2]|0;if((c[a>>2]|0)!=(b|0))do{k=c[d>>2]|0;d=k+8|0;a=c[d>>2]|0}while((c[a>>2]|0)!=(k|0))}else while(1){d=c[a>>2]|0;if(!d)break;else a=d}c[g>>2]=b;c[f>>2]=c[g>>2];Yba(h,f)|0}else i=13;do if((i|0)==13){i=0;a=c[b+4>>2]|0;if(!a){d=b+8|0;a=c[d>>2]|0;if((c[a>>2]|0)==(b|0))break;b=d;do{k=c[b>>2]|0;b=k+8|0;a=c[b>>2]|0}while((c[a>>2]|0)!=(k|0))}else{while(1){b=c[a>>2]|0;if(!b)break;else a=b}break}}while(0);if((a|0)==(e|0))break;else b=a}l=j;return}function Xba(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;if(!b)return;i=a+120|0;e=c[a+124>>2]|0;f=e;a:do if((i|0)==(f|0))f=i;else while(1){if((c[e+8>>2]|0)>(d|0))break a;e=c[f+4>>2]|0;f=e;if((i|0)==(f|0)){f=i;break}}while(0);g=b+8|0;c[g>>2]=(c[g>>2]|0)+1;h=j0a(16)|0;c[h>>2]=0;c[h+8>>2]=d;c[h+12>>2]=b;c[g>>2]=(c[g>>2]|0)+1;if((i|0)==(f|0)){c[h+4>>2]=i;d=c[i>>2]|0;c[h>>2]=d;c[d+4>>2]=h;c[i>>2]=h;i=a+128|0;c[i>>2]=(c[i>>2]|0)+1;i=c[g>>2]|0;c[g>>2]=i-1;if((i|0)!=1)return;UU(b,1,1);return}else{i=c[f>>2]|0;c[i+4>>2]=h;c[h>>2]=i;c[e>>2]=h;c[h+4>>2]=f;i=a+128|0;c[i>>2]=(c[i>>2]|0)+1;i=c[g>>2]|0;c[g>>2]=i-1;if((i|0)!=1)return;UU(b,1,1);return}}function Yba(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;e=c[b>>2]|0;b=c[e+4>>2]|0;if(!b){b=e+8|0;d=c[b>>2]|0;if((c[d>>2]|0)!=(e|0))do{f=c[b>>2]|0;b=f+8|0;d=c[b>>2]|0}while((c[d>>2]|0)!=(f|0))}else{while(1){d=c[b>>2]|0;if(!d)break;else b=d}d=b}if((c[a>>2]|0)==(e|0))c[a>>2]=d;b=a+8|0;c[b>>2]=(c[b>>2]|0)+-1;Pw(c[a+4>>2]|0,e);b=c[e+20>>2]|0;if(!b){l0a(e);return d|0}a=b+8|0;f=c[a>>2]|0;c[a>>2]=f-1;if((f|0)!=1){l0a(e);return d|0}UU(b,1,1);l0a(e);return d|0}function Zba(a){a=a|0;c[a>>2]=90388;Eca(a+44|0,c[a+48>>2]|0);lca(a+32|0);Pr(a);return}function _ba(a){a=a|0;c[a>>2]=90388;Eca(a+44|0,c[a+48>>2]|0);lca(a+32|0);Pr(a);l0a(a);return}function $ba(a){a=a|0;var b=0;a=j0a(56)|0;c[a+4>>2]=0;c[a+8>>2]=0;b=a+12|0;c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;c[a+24>>2]=2;c[a+28>>2]=0;c[a>>2]=90388;c[a+32>>2]=0;c[a+36>>2]=0;c[a+40>>2]=0;b=a+48|0;c[b>>2]=0;c[a+52>>2]=0;c[a+44>>2]=b;return a|0}function aca(a,b){a=a|0;b=b|0;b=j0a(56)|0;c[b+4>>2]=0;c[b+8>>2]=0;a=b+12|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;c[b+24>>2]=2;c[b+28>>2]=0;c[b>>2]=90388;c[b+32>>2]=0;c[b+36>>2]=0;c[b+40>>2]=0;a=b+48|0;c[a>>2]=0;c[b+52>>2]=0;c[b+44>>2]=a;return b|0}function bca(a,b){a=a|0;b=b|0;if(!b){b=0;return b|0}b=(y1a(b,42800,50032,0)|0)!=0;return b|0}function cca(a){a=a|0;return 160686}function dca(a){a=a|0;return 163270}function eca(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0;f=c[a+32>>2]|0;g=a+36|0;b=c[g>>2]|0;if((b|0)!=(f|0))do{d=b+-4|0;b=b+-8|0;e=c[d>>2]|0;if(e|0?(i=e+8|0,h=c[i>>2]|0,c[i>>2]=h-1,(h|0)==1):0)UU(e,1,1);c[d>>2]=0;d=c[b>>2]|0;if(d|0?(h=d+8|0,i=c[h>>2]|0,c[h>>2]=i-1,(i|0)==1):0)UU(d,1,1);c[b>>2]=0}while((b|0)!=(f|0));c[g>>2]=f;h=a+44|0;i=a+48|0;Eca(h,c[i>>2]|0);c[a+52>>2]=0;c[h>>2]=i;c[i>>2]=0;return}function fca(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;i=l;l=l+16|0;h=i;f=a+32|0;c[h>>2]=d;if(d|0){g=d+8|0;c[g>>2]=(c[g>>2]|0)+1}g=h+4|0;c[g>>2]=b;if(b|0){e=b+8|0;c[e>>2]=(c[e>>2]|0)+1}b=a+36|0;e=c[b>>2]|0;if(e>>>0<(c[a+40>>2]|0)>>>0){d=c[h>>2]|0;c[e>>2]=d;if(d|0){f=d+8|0;c[f>>2]=(c[f>>2]|0)+1}d=c[g>>2]|0;c[e+4>>2]=d;if(d|0){f=d+8|0;c[f>>2]=(c[f>>2]|0)+1}c[b>>2]=(c[b>>2]|0)+8}else Cca(f,h);d=c[g>>2]|0;if(d|0?(e=d+8|0,f=c[e>>2]|0,c[e>>2]=f-1,(f|0)==1):0)UU(d,1,1);c[g>>2]=0;d=c[h>>2]|0;if(!d){l=i;return}g=d+8|0;h=c[g>>2]|0;c[g>>2]=h-1;if((h|0)!=1){l=i;return}UU(d,1,1);l=i;return}function gca(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0;m=l;l=l+16|0;k=m;j=a+44|0;g=a+48|0;f=c[g>>2]|0;do if(f){h=a+48|0;while(1){g=c[f+16>>2]|0;if(g>>>0>b>>>0){g=c[f>>2]|0;if(!g){g=5;break}else{h=f;f=g}}else{if(g>>>0>=b>>>0){g=9;break}h=f+4|0;g=c[h>>2]|0;if(!g){g=8;break}else f=g}}if((g|0)==5){i=f;h=f;break}else if((g|0)==8){i=f;break}else if((g|0)==9){i=f;break}}else{i=g;h=g}while(0);f=c[h>>2]|0;if(!f){g=j0a(32)|0;c[g+16>>2]=b;c[g+20>>2]=0;c[g+24>>2]=0;c[g+28>>2]=0;c[g>>2]=0;c[g+4>>2]=0;c[g+8>>2]=i;c[h>>2]=g;f=c[c[j>>2]>>2]|0;if(!f)f=g;else{c[j>>2]=f;f=c[h>>2]|0}fp(c[a+48>>2]|0,f);f=a+52|0;c[f>>2]=(c[f>>2]|0)+1;f=g}g=f+20|0;c[k>>2]=e;if(e|0){e=e+8|0;c[e>>2]=(c[e>>2]|0)+1}b=k+4|0;c[b>>2]=d;if(d|0){d=d+8|0;c[d>>2]=(c[d>>2]|0)+1}h=f+24|0;i=c[h>>2]|0;if(i>>>0<(c[f+28>>2]|0)>>>0){f=c[k>>2]|0;c[i>>2]=f;if(f|0){d=f+8|0;c[d>>2]=(c[d>>2]|0)+1}f=c[b>>2]|0;c[i+4>>2]=f;if(f|0){d=f+8|0;c[d>>2]=(c[d>>2]|0)+1}c[h>>2]=(c[h>>2]|0)+8}else Cca(g,k);f=c[b>>2]|0;if(f|0?(e=f+8|0,d=c[e>>2]|0,c[e>>2]=d-1,(d|0)==1):0)UU(f,1,1);c[b>>2]=0;f=c[k>>2]|0;if(!f){l=m;return}d=f+8|0;k=c[d>>2]|0;c[d>>2]=k-1;if((k|0)!=1){l=m;return}UU(f,1,1);l=m;return}function hca(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0;da=l;l=l+256|0;ca=da+128|0;ba=da;f=c[d>>2]|0;if(f|0){f=c[f+12>>2]|0;if(f|0)do{if(c[f+16>>2]|0)Uaa(b);f=c[f+12>>2]|0}while((f|0)!=0);ica(b);c[d>>2]=0}f=c[a+32>>2]|0;j=a+36|0;if((f|0)!=(c[j>>2]|0)){k=(e|0)==0;m=b+632|0;n=e+8|0;o=e+16|0;p=e+24|0;q=e+32|0;r=e+40|0;s=e+48|0;t=e+56|0;u=e+64|0;v=e+72|0;w=e+80|0;x=e+88|0;y=e+96|0;z=e+104|0;A=e+112|0;B=e+120|0;C=ca+8|0;D=ca+16|0;E=ca+24|0;F=ca+32|0;G=ca+40|0;H=ca+48|0;I=ca+56|0;J=ca+64|0;K=ca+72|0;L=ca+80|0;M=ca+88|0;N=ca+96|0;O=ca+104|0;P=ca+112|0;Q=ca+120|0;do{g=f+4|0;i=c[g>>2]|0;do if(!k){d=j0a(160)|0;if(!i){c[d+4>>2]=0;c[d+8>>2]=0;$=d+12|0;c[$>>2]=0;c[$+4>>2]=0;c[$+8>>2]=0;c[d+24>>2]=2;c[d+28>>2]=0;h[d+32>>3]=+h[e>>3];h[d+40>>3]=+h[n>>3];h[d+48>>3]=+h[o>>3];h[d+56>>3]=+h[p>>3];h[d+64>>3]=+h[q>>3];h[d+72>>3]=+h[r>>3];h[d+80>>3]=+h[s>>3];h[d+88>>3]=+h[t>>3];h[d+96>>3]=+h[u>>3];h[d+104>>3]=+h[v>>3];h[d+112>>3]=+h[w>>3];h[d+120>>3]=+h[x>>3];h[d+128>>3]=+h[y>>3];h[d+136>>3]=+h[z>>3];h[d+144>>3]=+h[A>>3];h[d+152>>3]=+h[B>>3];c[d>>2]=71124;jca(b,d);break}else{$=c[g>>2]|0;Qra(ca);Ura(ca,$+32|0,e);c[d+4>>2]=0;c[d+8>>2]=0;$=d+12|0;c[$>>2]=0;c[$+4>>2]=0;c[$+8>>2]=0;c[d+24>>2]=2;c[d+28>>2]=0;h[d+32>>3]=+h[ca>>3];h[d+40>>3]=+h[C>>3];h[d+48>>3]=+h[D>>3];h[d+56>>3]=+h[E>>3];h[d+64>>3]=+h[F>>3];h[d+72>>3]=+h[G>>3];h[d+80>>3]=+h[H>>3];h[d+88>>3]=+h[I>>3];h[d+96>>3]=+h[J>>3];h[d+104>>3]=+h[K>>3];h[d+112>>3]=+h[L>>3];h[d+120>>3]=+h[M>>3];h[d+128>>3]=+h[N>>3];h[d+136>>3]=+h[O>>3];h[d+144>>3]=+h[P>>3];h[d+152>>3]=+h[Q>>3];c[d>>2]=71124;jca(b,d);break}}else jca(b,i);while(0);$=c[f>>2]|0;Jk[c[(c[$>>2]|0)+196>>2]&1023]($,b);y_(0,m,c[f>>2]|0);kca(b,c[f>>2]|0);f=f+8|0}while((f|0)!=(c[j>>2]|0))}f=c[a+44>>2]|0;p=a+48|0;if((f|0)==(p|0)){l=da;return}q=b+732|0;r=ca+4|0;s=ca+8|0;t=b+776|0;u=b+764|0;v=b+768|0;w=(e|0)==0;x=b+696|0;y=b+700|0;z=e+8|0;A=e+16|0;B=e+24|0;C=e+32|0;D=e+40|0;E=e+48|0;F=e+56|0;G=e+64|0;H=e+72|0;I=e+80|0;J=e+88|0;K=e+96|0;L=e+104|0;M=e+112|0;N=e+120|0;O=ba+8|0;P=ba+16|0;Q=ba+24|0;a=ba+32|0;R=ba+40|0;S=ba+48|0;T=ba+56|0;U=ba+64|0;V=ba+72|0;W=ba+80|0;X=ba+88|0;Y=ba+96|0;Z=ba+104|0;_=ba+112|0;$=ba+120|0;o=f;while(1){n=o+16|0;f=c[n>>2]|0;if(((c[q>>2]|0)!=(f|0)?(aa=c[t>>2]|0,aa|0):0)?(k=c[u>>2]|0,m=c[v>>2]|0,((k|0)>(m|0)?k:m)>>>0>f>>>0):0){Bk[aa&2047](f+33984|0);c[q>>2]=f}d=o+20|0;c[ca>>2]=0;c[r>>2]=0;c[s>>2]=0;i=o+24|0;f=(c[i>>2]|0)-(c[d>>2]|0)|0;g=f>>3;if(f|0){if(g>>>0>536870911){f=25;break}j=j0a(f)|0;c[r>>2]=j;c[ca>>2]=j;c[s>>2]=j+(g<<3);f=c[d>>2]|0;i=c[i>>2]|0;if((f|0)!=(i|0)){g=j;do{d=c[f>>2]|0;c[g>>2]=d;if(d|0){m=d+8|0;c[m>>2]=(c[m>>2]|0)+1}d=c[f+4>>2]|0;c[g+4>>2]=d;if(d|0){m=d+8|0;c[m>>2]=(c[m>>2]|0)+1}f=f+8|0;g=(c[r>>2]|0)+8|0;c[r>>2]=g}while((f|0)!=(i|0));f=c[ca>>2]|0;if((f|0)!=(g|0))do{d=f+4|0;g=c[d>>2]|0;do if(!w){i=j0a(160)|0;if(!g){c[i+4>>2]=0;c[i+8>>2]=0;m=i+12|0;c[m>>2]=0;c[m+4>>2]=0;c[m+8>>2]=0;c[i+24>>2]=2;c[i+28>>2]=0;h[i+32>>3]=+h[e>>3];h[i+40>>3]=+h[z>>3];h[i+48>>3]=+h[A>>3];h[i+56>>3]=+h[B>>3];h[i+64>>3]=+h[C>>3];h[i+72>>3]=+h[D>>3];h[i+80>>3]=+h[E>>3];h[i+88>>3]=+h[F>>3];h[i+96>>3]=+h[G>>3];h[i+104>>3]=+h[H>>3];h[i+112>>3]=+h[I>>3];h[i+120>>3]=+h[J>>3];h[i+128>>3]=+h[K>>3];h[i+136>>3]=+h[L>>3];h[i+144>>3]=+h[M>>3];h[i+152>>3]=+h[N>>3];c[i>>2]=71124;jca(b,i);break}else{m=c[d>>2]|0;Qra(ba);Ura(ba,m+32|0,e);c[i+4>>2]=0;c[i+8>>2]=0;m=i+12|0;c[m>>2]=0;c[m+4>>2]=0;c[m+8>>2]=0;c[i+24>>2]=2;c[i+28>>2]=0;h[i+32>>3]=+h[ba>>3];h[i+40>>3]=+h[O>>3];h[i+48>>3]=+h[P>>3];h[i+56>>3]=+h[Q>>3];h[i+64>>3]=+h[a>>3];h[i+72>>3]=+h[R>>3];h[i+80>>3]=+h[S>>3];h[i+88>>3]=+h[T>>3];h[i+96>>3]=+h[U>>3];h[i+104>>3]=+h[V>>3];h[i+112>>3]=+h[W>>3];h[i+120>>3]=+h[X>>3];h[i+128>>3]=+h[Y>>3];h[i+136>>3]=+h[Z>>3];h[i+144>>3]=+h[_>>3];h[i+152>>3]=+h[$>>3];c[i>>2]=71124;jca(b,i);break}}else jca(b,g);while(0);k=c[f>>2]|0;Jk[c[(c[k>>2]|0)+196>>2]&1023](k,b);k=c[n>>2]|0;m=c[f>>2]|0;d=c[y>>2]|0;g=c[x>>2]|0;i=(d-g|0)/12|0;do if(i>>>0<=k>>>0){j=k+1|0;if(j>>>0>i>>>0){sD(x,j-i|0);break}if(j>>>0<i>>>0){g=g+(j*12|0)|0;if((g|0)!=(d|0))do{j=d;d=d+-12|0;tD(d,c[j+-8>>2]|0)}while((d|0)!=(g|0));c[y>>2]=g}}while(0);y_(0,(c[x>>2]|0)+(k*12|0)|0,m);mca(b,c[n>>2]|0,c[f>>2]|0);f=f+8|0}while((f|0)!=(c[r>>2]|0))}}lca(ca);f=c[o+4>>2]|0;if(!f){d=o+8|0;f=c[d>>2]|0;if((c[f>>2]|0)!=(o|0))do{o=c[d>>2]|0;d=o+8|0;f=c[d>>2]|0}while((c[f>>2]|0)!=(o|0))}else while(1){d=c[f>>2]|0;if(!d)break;else f=d}if((f|0)==(p|0)){f=18;break}else o=f}if((f|0)==18){l=da;return}else if((f|0)==25)g1a(ca)}function ica(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;o=b+368|0;if((c[o>>2]|0)==2)qca(0,162990,0)|0;m=b+156|0;k=b+160|0;eY(m,c[k>>2]|0);n=b+164|0;c[n>>2]=0;c[m>>2]=k;c[k>>2]=0;k=b+684|0;l=b+688|0;g=c[l>>2]|0;e=c[k>>2]|0;d=(g-e|0)/12|0;h=b+696|0;i=b+700|0;j=((c[i>>2]|0)-(c[h>>2]|0)|0)/12|0;j=d>>>0>j>>>0?d:j;a:do if(j|0){d=0;while(1){if(d>>>0<((g-e|0)/12|0)>>>0)rca(b,d,e+(d*12|0)|0);e=c[h>>2]|0;if(d>>>0<(((c[i>>2]|0)-e|0)/12|0)>>>0)sca(b,d,e+(d*12|0)|0);d=d+1|0;if(d>>>0>=j>>>0)break a;e=c[k>>2]|0;g=c[l>>2]|0}}while(0);tca(b,b+620|0);g=b+708|0;d=c[g>>2]|0;uca(b,b+632|0);l=c[g>>2]|0;if((l|0)!=0&(d|0)==(l|0)?a[b+668>>0]|0:0){l=c[d+12>>2]|0;Jk[c[(c[l>>2]|0)+196>>2]&1023](l,b)}if(a[b+144>>0]|0)vca(b);if((c[o>>2]|0)==2)qca(0,163014,0)|0;d=b+644|0;if(!(c[n>>2]|0)){if(c[g>>2]|0?(f=c[d>>2]|0,p=b+648|0,(f|0)!=(p|0)):0)while(1){d=c[f+32>>2]|0;if((c[f+28>>2]|0)!=(d|0))wca(c[g>>2]|0,c[d+-8>>2]|0);d=c[f+4>>2]|0;if(!d){e=f+8|0;d=c[e>>2]|0;if((c[d>>2]|0)!=(f|0))do{n=c[e>>2]|0;e=n+8|0;d=c[e>>2]|0}while((c[d>>2]|0)!=(n|0))}else while(1){e=c[d>>2]|0;if(!e)break;else d=e}if((d|0)==(p|0))break;else f=d}}else xca(b,d,m);if((c[o>>2]|0)!=2)return;qca(0,163046,0)|0;return}function jca(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;f=b+204|0;e=c[f>>2]|0;if((e|0)==(d|0))return;if(!d){d=c[b+192>>2]|0;if((e|0)!=(d|0)){c[f>>2]=d;if(d|0){g=d+8|0;c[g>>2]=(c[g>>2]|0)+1}if(e|0?(d=e+8|0,g=c[d>>2]|0,c[d>>2]=g-1,(g|0)==1):0)UU(e,1,1)}}else{c[f>>2]=d;g=d+8|0;c[g>>2]=(c[g>>2]|0)+1;if(e|0?(d=e+8|0,g=c[d>>2]|0,c[d>>2]=g-1,(g|0)==1):0)UU(e,1,1)}if(!(a[b+130>>0]|0))return;g=c[b+212>>2]|0;if(g|0){f=(c[f>>2]|0)+32|0;e=g+64|0;d=c[e>>2]|0;if(!d){H2(g,1);d=c[e>>2]|0}if((d|0)==1)nca(g,0,f)|0}oca(b);return}function kca(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;l=b+632|0;k=gk[c[(c[d>>2]|0)+172>>2]&1023](d)|0;j=gk[c[(c[d>>2]|0)+176>>2]&1023](d)|0;f=b+636|0;e=c[f>>2]|0;do if(e){g=b+636|0;a:while(1){f=c[e+16>>2]|0;do if((k|0)>=(f|0)){if((f|0)>=(k|0)){f=c[e+20>>2]|0;if(j>>>0<f>>>0){i=6;break}if(f>>>0>=j>>>0){i=11;break a}}g=e+4|0;f=c[g>>2]|0;if(!f){i=10;break a}else e=f}else i=6;while(0);if((i|0)==6){i=0;f=c[e>>2]|0;if(!f){i=7;break}else{g=e;e=f}}}if((i|0)==7){h=e;g=e;break}else if((i|0)==10){h=e;break}else if((i|0)==11){h=e;break}}else{h=f;g=f}while(0);e=c[g>>2]|0;if(!e){e=j0a(52)|0;f=e+16|0;c[f>>2]=k;c[f+4>>2]=j;a[e+24>>0]=0;f=e+28|0;c[f>>2]=0;c[f+4>>2]=0;c[f+8>>2]=0;c[f+12>>2]=0;c[f+16>>2]=0;c[f+20>>2]=0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=h;c[g>>2]=e;f=c[c[l>>2]>>2]|0;if(!f)f=e;else{c[l>>2]=f;f=c[g>>2]|0}fp(c[b+636>>2]|0,f);b=b+640|0;c[b>>2]=(c[b>>2]|0)+1}e=e+36|0;f=c[e>>2]|0;if((f|0)==(d|0))return;c[e>>2]=d;if(d|0){d=d+8|0;c[d>>2]=(c[d>>2]|0)+1}if(!f)return;b=f+8|0;d=c[b>>2]|0;c[b>>2]=d-1;if((d|0)!=1)return;UU(f,1,1);return}function lca(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0;f=c[a>>2]|0;if(!f)return;g=a+4|0;b=c[g>>2]|0;if((b|0)==(f|0))b=f;else{do{d=b+-4|0;b=b+-8|0;e=c[d>>2]|0;if(e|0?(i=e+8|0,h=c[i>>2]|0,c[i>>2]=h-1,(h|0)==1):0)UU(e,1,1);c[d>>2]=0;d=c[b>>2]|0;if(d|0?(h=d+8|0,i=c[h>>2]|0,c[h>>2]=i-1,(i|0)==1):0)UU(d,1,1);c[b>>2]=0}while((b|0)!=(f|0));b=c[a>>2]|0}c[g>>2]=f;l0a(b);return}function mca(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;j=b+696|0;i=b+700|0;b=c[i>>2]|0;g=c[j>>2]|0;h=(b-g|0)/12|0;do if(h>>>0<=d>>>0){f=d+1|0;if(f>>>0>h>>>0){sD(j,f-h|0);break}if(f>>>0<h>>>0){f=g+(f*12|0)|0;if((f|0)!=(b|0))do{l=b;b=b+-12|0;tD(b,c[l+-8>>2]|0)}while((b|0)!=(f|0));c[i>>2]=f}}while(0);l=c[j>>2]|0;k=l+(d*12|0)|0;i=gk[c[(c[e>>2]|0)+172>>2]&1023](e)|0;j=gk[c[(c[e>>2]|0)+176>>2]&1023](e)|0;f=l+(d*12|0)+4|0;b=c[f>>2]|0;do if(b){g=l+(d*12|0)+4|0;a:while(1){f=c[b+16>>2]|0;do if((i|0)>=(f|0)){if((f|0)>=(i|0)){f=c[b+20>>2]|0;if(j>>>0<f>>>0){m=14;break}if(f>>>0>=j>>>0){m=19;break a}}g=b+4|0;f=c[g>>2]|0;if(!f){m=18;break a}else b=f}else m=14;while(0);if((m|0)==14){m=0;f=c[b>>2]|0;if(!f){m=15;break}else{g=b;b=f}}}if((m|0)==15){h=b;g=b;break}else if((m|0)==18){h=b;break}else if((m|0)==19){h=b;break}}else{h=f;g=f}while(0);b=c[g>>2]|0;if(!b){b=j0a(52)|0;f=b+16|0;c[f>>2]=i;c[f+4>>2]=j;a[b+24>>0]=0;f=b+28|0;c[f>>2]=0;c[f+4>>2]=0;c[f+8>>2]=0;c[f+12>>2]=0;c[f+16>>2]=0;c[f+20>>2]=0;c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=h;c[g>>2]=b;f=c[c[k>>2]>>2]|0;if(!f)f=b;else{c[k>>2]=f;f=c[g>>2]|0}fp(c[l+(d*12|0)+4>>2]|0,f);d=l+(d*12|0)+8|0;c[d>>2]=(c[d>>2]|0)+1}b=b+36|0;f=c[b>>2]|0;if((f|0)==(e|0))return;c[b>>2]=e;if(e|0){e=e+8|0;c[e>>2]=(c[e>>2]|0)+1}if(!f)return;d=f+8|0;e=c[d>>2]|0;c[d>>2]=e-1;if((e|0)!=1)return;UU(f,1,1);return}function nca(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;if((c[a+64>>2]|0)>>>0<=b>>>0){d=0;return d|0}if(!(pca(a,36680,35676)|0)){d=0;return d|0}e=c[a+60>>2]|0;b=N(Y$(e)|0,b)|0;if((e|0)==36680){e=c[(c[a+72>>2]|0)+76>>2]|0;h[e+(b<<3)>>3]=+h[d>>3];h[e+(b+1<<3)>>3]=+h[d+8>>3];h[e+(b+2<<3)>>3]=+h[d+16>>3];h[e+(b+3<<3)>>3]=+h[d+24>>3];h[e+(b+4<<3)>>3]=+h[d+32>>3];h[e+(b+5<<3)>>3]=+h[d+40>>3];h[e+(b+6<<3)>>3]=+h[d+48>>3];h[e+(b+7<<3)>>3]=+h[d+56>>3];h[e+(b+8<<3)>>3]=+h[d+64>>3];h[e+(b+9<<3)>>3]=+h[d+72>>3];h[e+(b+10<<3)>>3]=+h[d+80>>3];h[e+(b+11<<3)>>3]=+h[d+88>>3];h[e+(b+12<<3)>>3]=+h[d+96>>3];h[e+(b+13<<3)>>3]=+h[d+104>>3];h[e+(b+14<<3)>>3]=+h[d+112>>3];h[e+(b+15<<3)>>3]=+h[d+120>>3]}else{e=c[(c[a+68>>2]|0)+76>>2]|0;g[e+(b<<2)>>2]=+h[d>>3];g[e+(b+1<<2)>>2]=+h[d+8>>3];g[e+(b+2<<2)>>2]=+h[d+16>>3];g[e+(b+3<<2)>>2]=+h[d+24>>3];g[e+(b+4<<2)>>2]=+h[d+32>>3];g[e+(b+5<<2)>>2]=+h[d+40>>3];g[e+(b+6<<2)>>2]=+h[d+48>>3];g[e+(b+7<<2)>>2]=+h[d+56>>3];g[e+(b+8<<2)>>2]=+h[d+64>>3];g[e+(b+9<<2)>>2]=+h[d+72>>3];g[e+(b+10<<2)>>2]=+h[d+80>>3];g[e+(b+11<<2)>>2]=+h[d+88>>3];g[e+(b+12<<2)>>2]=+h[d+96>>3];g[e+(b+13<<2)>>2]=+h[d+104>>3];g[e+(b+14<<2)>>2]=+h[d+112>>3];g[e+(b+15<<2)>>2]=+h[d+120>>3]}e=a+48|0;c[e>>2]=(c[e>>2]|0)+1;e=1;return e|0}function oca(a){a=a|0;var b=0,d=0,e=0,f=0,i=0.0,j=0.0,k=0.0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0.0,s=0,t=0;t=l;l=l+256|0;f=t+128|0;s=t;e=c[a+220>>2]|0;if(e|0){b=(c[a+204>>2]|0)+32|0;d=(c[a+200>>2]|0)+32|0;Qra(f);Ura(f,b,d);d=e+64|0;b=c[d>>2]|0;if(!b){H2(e,1);b=c[d>>2]|0}if((b|0)==1)nca(e,0,f)|0}b=a+224|0;if(!(c[b>>2]|0)){l=t;return}e=c[a+204>>2]|0;h[f>>3]=+h[e+32>>3];h[f+8>>3]=+h[e+40>>3];h[f+16>>3]=+h[e+48>>3];a=f+24|0;h[a>>3]=+h[e+56>>3];h[f+32>>3]=+h[e+64>>3];h[f+40>>3]=+h[e+72>>3];h[f+48>>3]=+h[e+80>>3];h[f+56>>3]=+h[e+88>>3];h[f+64>>3]=+h[e+96>>3];h[f+72>>3]=+h[e+104>>3];h[f+80>>3]=+h[e+112>>3];h[f+88>>3]=+h[e+120>>3];h[f+96>>3]=+h[e+128>>3];h[f+104>>3]=+h[e+136>>3];h[f+112>>3]=+h[e+144>>3];h[f+120>>3]=+h[e+152>>3];Ora(f,0.0,0.0,0.0);Qra(s);if(((+h[a>>3]==0.0?+h[f+56>>3]==0.0:0)?+h[f+88>>3]==0.0:0)?+h[f+120>>3]==1.0:0)Xra(s,f)|0;else Yra(s,f)|0;k=+h[s>>3];m=+h[s+32>>3];n=+h[s+64>>3];o=+h[s+8>>3];p=+h[s+40>>3];q=+h[s+72>>3];r=+h[s+16>>3];j=+h[s+48>>3];i=+h[s+80>>3];e=c[b>>2]|0;d=e+64|0;b=c[d>>2]|0;if(!b){H2(e,1);b=c[d>>2]|0}if((b|0)==1?I2(e,35675)|0:0){s=c[(c[e+68>>2]|0)+76>>2]|0;g[s>>2]=k;g[s+4>>2]=m;g[s+8>>2]=n;g[s+12>>2]=o;g[s+16>>2]=p;g[s+20>>2]=q;g[s+24>>2]=r;g[s+28>>2]=j;g[s+32>>2]=i;s=e+48|0;c[s>>2]=(c[s>>2]|0)+1}l=t;return}function pca(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;g=l;l=l+16|0;f=g;if((b|0)==0|(d|0)==0){f=0;l=g;return f|0}e=a+60|0;a=c[e>>2]|0;if(!a){f=0;l=g;return f|0}if((a|0)==(b|0)|(a|0)==(d|0)){f=1;l=g;return f|0}h=r1(b)|0;a=r1(a)|0;if((h|0)==(a|0)){h=1;l=g;return h|0}if((r1(d)|0)==(a|0)){h=1;l=g;return h|0}if(!(ZQ(2)|0)){h=0;l=g;return h|0}a=mr(lr(2)|0,157462,36)|0;h=J2(b)|0;h=mr(mr(a,h,VNa(h)|0)|0,162985,4)|0;d=J2(d)|0;d=mr(mr(h,d,VNa(d)|0)|0,176915,5)|0;h=J2(c[e>>2]|0)|0;h=mr(d,h,VNa(h)|0)|0;BSa(f,h+(c[(c[h>>2]|0)+-12>>2]|0)|0);d=cUa(f,230580)|0;d=kk[c[(c[d>>2]|0)+28>>2]&511](d,10)|0;dUa(f);VSa(h,d)|0;HSa(h)|0;h=0;l=g;return h|0}function qca(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=l;l=l+16|0;g=h;a=bi()|0;if(!a){d=0;l=h;return d|0}e=CQ(a)|0;f=ZQ(3)|0;if(!e){if(f){f=mr(lr(3)|0,163129,40)|0;e=f+(c[(c[f>>2]|0)+-12>>2]|0)+4|0;c[e>>2]=c[e>>2]&-75|8;f=QSa(f,a)|0;f=f+(c[(c[f>>2]|0)+-12>>2]|0)+4|0;c[f>>2]=c[f>>2]&-75|2}}else if(f){f=mr(lr(3)|0,163068,32)|0;mr(mr(f,e,VNa(e)|0)|0,148796,1)|0}a=(b|0)!=0;e=(d|0)!=0;f=ZQ(3)|0;if(a|e){if(f)mr(lr(3)|0,163250,3)|0;if(a?ZQ(3)|0:0){f=mr(lr(3)|0,184785,1)|0;mr(f,b,VNa(b)|0)|0}if(e?ZQ(3)|0:0){b=mr(lr(3)|0,184785,1)|0;mr(b,d,VNa(d)|0)|0}}else if(f)mr(lr(3)|0,163254,15)|0;if(!(ZQ(3)|0)){d=1;l=h;return d|0}d=lr(3)|0;BSa(g,d+(c[(c[d>>2]|0)+-12>>2]|0)|0);b=cUa(g,230580)|0;b=kk[c[(c[b>>2]|0)+28>>2]&511](b,10)|0;dUa(g);VSa(d,b)|0;HSa(d)|0;d=1;l=h;return d|0}function rca(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;g=c[f>>2]|0;o=f+4|0;if((g|0)==(o|0))return;p=b+732|0;q=b+776|0;r=b+368|0;s=(e|0)==0;n=b+764|0;l=b+768|0;m=e+33984|0;while(1){b=g+16|0;k=g+20|0;f=b+5|0;a:do if(a[f>>0]|0){a[f>>0]=0;f=c[g+28>>2]|0;if((c[g+24>>2]|0)==(f|0)){j=c[b>>2]|0;h=a[b+7>>0]|0;i=h<<24>>24==0;if(!(a[k>>0]|0))break;f=k+2|0;if((a[f>>0]|0)==h<<24>>24)break;do if((c[p>>2]|0)!=(e|0)){b=c[q>>2]|0;if(b|0?(t=c[n>>2]|0,k=c[l>>2]|0,((t|0)>(k|0)?t:k)>>>0>e>>>0):0){Bk[b&2047](m);c[p>>2]=e;break}if(!s)break a}while(0);a[f>>0]=h;if(i)Wh(j|0);else Zh(j|0);if((c[r>>2]|0)!=2)break;Bca(0,j)|0;break}else{f=c[f+-4>>2]&1;j=(f|0)==0;h=c[b>>2]|0;i=f&255;if(!(a[k>>0]|0))break;b=k+2|0;if((f|0)==(d[b>>0]|0))break;do if((c[p>>2]|0)!=(e|0)){f=c[q>>2]|0;if(f|0?(k=c[n>>2]|0,t=c[l>>2]|0,((k|0)>(t|0)?k:t)>>>0>e>>>0):0){Bk[f&2047](m);c[p>>2]=e;break}if(!s)break a}while(0);a[b>>0]=i;if(j)Wh(h|0);else Zh(h|0);if((c[r>>2]|0)!=2)break;Bca(0,h)|0;break}}while(0);f=c[g+4>>2]|0;if(!f){b=g+8|0;f=c[b>>2]|0;if((c[f>>2]|0)!=(g|0))do{t=c[b>>2]|0;b=t+8|0;f=c[b>>2]|0}while((c[f>>2]|0)!=(t|0))}else while(1){b=c[f>>2]|0;if(!b)break;else f=b}if((f|0)==(o|0))break;else g=f}return}function sca(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;f=c[e>>2]|0;n=e+4|0;if((f|0)==(n|0))return;o=b+732|0;p=b+776|0;q=b+764|0;j=b+768|0;k=b+368|0;l=b+145|0;m=d+33984|0;if(!d){h=f;while(1){e=h+24|0;do if(a[e>>0]|0){a[e>>0]=0;f=c[h+44>>2]|0;if((c[h+40>>2]|0)!=(f|0)){uD(b,0,c[f+-8>>2]|0,e)|0;break}f=h+28|0;g=h+36|0;e=c[g>>2]|0;if((c[f>>2]|0)!=(e|0)){if(((c[o>>2]|0)!=0?(i=c[p>>2]|0,(i|0)!=0):0)?(r=c[q>>2]|0,d=c[j>>2]|0,(((r|0)>(d|0)?r:d)|0)!=0):0){Bk[i&2047](m);c[o>>2]=0;e=c[g>>2]|0}c[f>>2]=e;if(e|0){Jk[c[(c[e>>2]|0)+196>>2]&1023](e,b);e=c[g>>2]|0;f=c[e+44>>2]|0;g=h+32|0;if((c[g>>2]|0)!=(f|0)){c[g>>2]=f;a[l>>0]=1}if((c[k>>2]|0)==2)Aca(0,e)|0}}}while(0);e=c[h+4>>2]|0;if(!e){f=h+8|0;e=c[f>>2]|0;if((c[e>>2]|0)!=(h|0))do{r=c[f>>2]|0;f=r+8|0;e=c[f>>2]|0}while((c[e>>2]|0)!=(r|0))}else while(1){f=c[e>>2]|0;if(!f)break;else e=f}if((e|0)==(n|0))break;else h=e}return}else{h=f;while(1){e=h+24|0;do if(a[e>>0]|0){a[e>>0]=0;f=c[h+44>>2]|0;if((c[h+40>>2]|0)!=(f|0)){uD(b,d,c[f+-8>>2]|0,e)|0;break}f=h+28|0;g=h+36|0;e=c[g>>2]|0;if((c[f>>2]|0)!=(e|0)){if((c[o>>2]|0)!=(d|0)){e=c[p>>2]|0;if(!e)break;i=c[q>>2]|0;r=c[j>>2]|0;if(((i|0)>(r|0)?i:r)>>>0<=d>>>0)break;Bk[e&2047](m);c[o>>2]=d;e=c[g>>2]|0}c[f>>2]=e;if(e|0){Jk[c[(c[e>>2]|0)+196>>2]&1023](e,b);e=c[g>>2]|0;f=c[e+44>>2]|0;g=h+32|0;if((c[g>>2]|0)!=(f|0)){c[g>>2]=f;a[l>>0]=1}if((c[k>>2]|0)==2)Aca(0,e)|0}}}while(0);e=c[h+4>>2]|0;if(!e){f=h+8|0;e=c[f>>2]|0;if((c[e>>2]|0)!=(h|0))do{r=c[f>>2]|0;f=r+8|0;e=c[f>>2]|0}while((c[e>>2]|0)!=(r|0))}else while(1){f=c[e>>2]|0;if(!f)break;else e=f}if((e|0)==(n|0))break;else h=e}return}}function tca(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;f=c[e>>2]|0;j=e+4|0;if((f|0)==(j|0))return;i=b+368|0;while(1){b=f+16|0;h=f+20|0;e=b+5|0;do if(a[e>>0]|0){a[e>>0]=0;e=c[f+28>>2]|0;if((c[f+24>>2]|0)==(e|0)){g=c[b>>2]|0;b=a[b+7>>0]|0;if(!(a[h>>0]|0))break;e=h+2|0;if((a[e>>0]|0)==b<<24>>24)break;a[e>>0]=b;if(!(b<<24>>24))Wh(g|0);else Zh(g|0);if((c[i>>2]|0)!=2)break;Bca(0,g)|0;break}else{g=c[e+-4>>2]&1;b=c[b>>2]|0;if(!(a[h>>0]|0))break;e=h+2|0;if((g|0)==(d[e>>0]|0))break;a[e>>0]=g;if(!g)Wh(b|0);else Zh(b|0);if((c[i>>2]|0)!=2)break;Bca(0,b)|0;break}}while(0);e=c[f+4>>2]|0;if(!e){b=f+8|0;e=c[b>>2]|0;if((c[e>>2]|0)!=(f|0))do{h=c[b>>2]|0;b=h+8|0;e=c[b>>2]|0}while((c[e>>2]|0)!=(h|0))}else while(1){b=c[e>>2]|0;if(!b)break;else e=b}if((e|0)==(j|0))break;else f=e}return}function uca(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;e=c[d>>2]|0;h=d+4|0;if((e|0)==(h|0))return;i=b+368|0;j=b+145|0;while(1){d=e+24|0;do if(a[d>>0]|0){a[d>>0]=0;d=c[e+44>>2]|0;if((c[e+40>>2]|0)==(d|0)){d=e+28|0;f=e+36|0;g=c[f>>2]|0;if((c[d>>2]|0)==(g|0))break;c[d>>2]=g;if(!g)break;Jk[c[(c[g>>2]|0)+196>>2]&1023](g,b);d=c[f>>2]|0;f=c[d+44>>2]|0;g=e+32|0;if((c[g>>2]|0)!=(f|0)){c[g>>2]=f;a[j>>0]=1}if((c[i>>2]|0)!=2)break;Aca(0,d)|0;break}g=c[d+-8>>2]|0;d=e+28|0;if((c[d>>2]|0)!=(g|0)){f=e+36|0;if((c[f>>2]|0)==0?(k=gk[c[(c[g>>2]|0)+12>>2]&1023](g)|0,k=gk[c[(c[k>>2]|0)+56>>2]&1023](k)|0,l=c[f>>2]|0,(l|0)!=(k|0)):0){c[f>>2]=k;if(k|0){f=k+8|0;c[f>>2]=(c[f>>2]|0)+1}if(l|0?(m=l+8|0,f=c[m>>2]|0,c[m>>2]=f-1,(f|0)==1):0)UU(l,1,1)}c[d>>2]=g;Jk[c[(c[g>>2]|0)+196>>2]&1023](g,b);d=c[g+44>>2]|0;f=e+32|0;if((c[f>>2]|0)!=(d|0)){c[f>>2]=d;a[j>>0]=1}if((c[i>>2]|0)==2)Aca(0,g)|0}}while(0);d=c[e+4>>2]|0;if(!d){f=e+8|0;d=c[f>>2]|0;if((c[d>>2]|0)!=(e|0)){e=f;do{m=c[e>>2]|0;e=m+8|0;d=c[e>>2]|0}while((c[d>>2]|0)!=(m|0))}}else while(1){e=c[d>>2]|0;if(!e)break;else d=e}if((d|0)==(h|0))break;else e=d}return}function vca(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0;m=l;l=l+16|0;j=m+4|0;i=m;if(!(a[b+144>>0]|0)){l=m;return}if(!(a[b+145>>0]|0))d=b+152|0;else{c[j>>2]=0;k=j+4|0;c[k>>2]=0;g=j+8|0;c[g>>2]=0;d=c[b+632>>2]|0;h=b+636|0;if((d|0)!=(h|0)){f=d;while(1){e=c[f+32>>2]|0;d=e;if(e|0){c[i>>2]=d;e=c[k>>2]|0;if(e>>>0<(c[g>>2]|0)>>>0){c[e>>2]=d;c[k>>2]=(c[k>>2]|0)+4}else yca(j,i)}d=c[f+4>>2]|0;if(!d){e=f+8|0;d=c[e>>2]|0;if((c[d>>2]|0)!=(f|0))do{f=c[e>>2]|0;e=f+8|0;d=c[e>>2]|0}while((c[d>>2]|0)!=(f|0))}else while(1){e=c[d>>2]|0;if(!e)break;else d=e}if((d|0)==(h|0))break;else f=d}}e=c[b+148>>2]|0;d=b+152|0;c[d>>2]=kk[c[(c[e>>2]|0)+164>>2]&511](e,j)|0;e=c[j>>2]|0;if(e|0){c[k>>2]=e;l0a(e)}}e=c[d>>2]|0;if(!e){l=m;return}k=yN(e,b)|0;if((c[b+708>>2]|0)==(k|0)){l=m;return}zca(b,c[d>>2]|0)|0;l=m;return}function wca(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;f=c[b+44>>2]|0;g=a+52|0;d=c[g>>2]|0;if(!d)return;e=g;do{k=(c[d+16>>2]|0)>>>0<f>>>0;e=k?e:d;d=c[(k?d+4|0:d)>>2]|0}while((d|0)!=0);if((e|0)==(g|0))return;if((c[e+16>>2]|0)>>>0>f>>>0)return;j=c[e+20>>2]|0;if((j|0)<=-1)return;k=a+84|0;i=a+88|0;d=c[i>>2]|0;do if(d){f=a+88|0;while(1){e=c[d+16>>2]|0;if(j>>>0<e>>>0){e=c[d>>2]|0;if(!e){h=11;break}}else{if(e>>>0>=j>>>0){h=15;break}f=d+4|0;e=c[f>>2]|0;if(!e){h=14;break}else d=f}f=d;d=e}if((h|0)==11){e=d;f=d;break}else if((h|0)==14){e=d;break}else if((h|0)==15){e=d;break}}else{e=i;f=i}while(0);d=c[f>>2]|0;if(!d){d=j0a(28)|0;c[d+16>>2]=j;c[d+20>>2]=0;c[d+24>>2]=0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=e;c[f>>2]=d;e=c[c[k>>2]>>2]|0;if(!e)e=d;else{c[k>>2]=e;e=c[f>>2]|0}fp(c[a+88>>2]|0,e);h=a+92|0;c[h>>2]=(c[h>>2]|0)+1}if((c[d+20>>2]|0)!=(b|0)){Nk[c[(c[b>>2]|0)+172>>2]&255](b,c[a+16>>2]|0,j);d=c[i>>2]|0;do if(d){f=a+88|0;while(1){e=c[d+16>>2]|0;if(j>>>0<e>>>0){e=c[d>>2]|0;if(!e){h=27;break}}else{if(e>>>0>=j>>>0){h=31;break}f=d+4|0;e=c[f>>2]|0;if(!e){h=30;break}else d=f}f=d;d=e}if((h|0)==27){e=d;f=d;break}else if((h|0)==30){e=d;break}else if((h|0)==31){e=d;break}}else{e=i;f=i}while(0);d=c[f>>2]|0;if(!d){d=j0a(28)|0;c[d+16>>2]=j;c[d+20>>2]=0;c[d+24>>2]=0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=e;c[f>>2]=d;e=c[c[k>>2]>>2]|0;if(!e)e=d;else{c[k>>2]=e;e=c[f>>2]|0}fp(c[a+88>>2]|0,e);h=a+92|0;c[h>>2]=(c[h>>2]|0)+1}d=d+20|0;e=c[d>>2]|0;if(((e|0)!=(b|0)?(c[d>>2]=b,h=b+8|0,c[h>>2]=(c[h>>2]|0)+1,e|0):0)?(g=e+8|0,h=c[g>>2]|0,c[g>>2]=h-1,(h|0)==1):0)UU(e,1,1);g=c[b+48>>2]|0;d=c[i>>2]|0;do if(d){f=a+88|0;while(1){e=c[d+16>>2]|0;if(j>>>0<e>>>0){e=c[d>>2]|0;if(!e){h=46;break}else{f=d;d=e}}else{if(e>>>0>=j>>>0){h=50;break}f=d+4|0;e=c[f>>2]|0;if(!e){h=49;break}else d=e}}if((h|0)==46){e=d;f=d;break}else if((h|0)==49){e=d;break}else if((h|0)==50){e=d;break}}else{e=i;f=i}while(0);d=c[f>>2]|0;if(!d){d=j0a(28)|0;c[d+16>>2]=j;c[d+20>>2]=0;c[d+24>>2]=0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=e;c[f>>2]=d;e=c[c[k>>2]>>2]|0;if(!e)e=d;else{c[k>>2]=e;e=c[f>>2]|0}fp(c[a+88>>2]|0,e);a=a+92|0;c[a>>2]=(c[a>>2]|0)+1}c[d+24>>2]=g;return}d=c[i>>2]|0;do if(d){f=a+88|0;while(1){e=c[d+16>>2]|0;if(j>>>0<e>>>0){e=c[d>>2]|0;if(!e){h=62;break}}else{if(e>>>0>=j>>>0){h=66;break}f=d+4|0;e=c[f>>2]|0;if(!e){h=65;break}else d=f}f=d;d=e}if((h|0)==62){e=d;f=d;break}else if((h|0)==65){e=d;break}else if((h|0)==66){e=d;break}}else{e=i;f=i}while(0);d=c[f>>2]|0;if(!d){d=j0a(28)|0;c[d+16>>2]=j;c[d+20>>2]=0;c[d+24>>2]=0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=e;c[f>>2]=d;e=c[c[k>>2]>>2]|0;if(!e)e=d;else{c[k>>2]=e;e=c[f>>2]|0}fp(c[a+88>>2]|0,e);h=a+92|0;c[h>>2]=(c[h>>2]|0)+1}g=b+48|0;if((c[d+24>>2]|0)==(c[g>>2]|0))return;Nk[c[(c[b>>2]|0)+172>>2]&255](b,c[a+16>>2]|0,j);d=c[i>>2]|0;do if(d){f=a+88|0;while(1){e=c[d+16>>2]|0;if(j>>>0<e>>>0){e=c[d>>2]|0;if(!e){h=78;break}}else{if(e>>>0>=j>>>0){h=82;break}f=d+4|0;e=c[f>>2]|0;if(!e){h=81;break}else d=f}f=d;d=e}if((h|0)==78){e=d;f=d;break}else if((h|0)==81){e=d;break}else if((h|0)==82){e=d;break}}else{e=i;f=i}while(0);d=c[f>>2]|0;if(!d){d=j0a(28)|0;c[d+16>>2]=j;c[d+20>>2]=0;c[d+24>>2]=0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=e;c[f>>2]=d;e=c[c[k>>2]>>2]|0;if(!e)e=d;else{c[k>>2]=e;e=c[f>>2]|0}fp(c[a+88>>2]|0,e);h=a+92|0;c[h>>2]=(c[h>>2]|0)+1}d=d+20|0;e=c[d>>2]|0;if(((e|0)!=(b|0)?(c[d>>2]=b,b=b+8|0,c[b>>2]=(c[b>>2]|0)+1,e|0):0)?(h=e+8|0,b=c[h>>2]|0,c[h>>2]=b-1,(b|0)==1):0)UU(e,1,1);g=c[g>>2]|0;d=c[i>>2]|0;do if(d){f=a+88|0;while(1){e=c[d+16>>2]|0;if(j>>>0<e>>>0){e=c[d>>2]|0;if(!e){h=97;break}else{f=d;d=e}}else{if(e>>>0>=j>>>0){h=101;break}f=d+4|0;e=c[f>>2]|0;if(!e){h=100;break}else d=e}}if((h|0)==97){e=d;f=d;break}else if((h|0)==100){e=d;break}else if((h|0)==101){e=d;break}}else{e=i;f=i}while(0);d=c[f>>2]|0;if(!d){d=j0a(28)|0;c[d+16>>2]=j;c[d+20>>2]=0;c[d+24>>2]=0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=e;c[f>>2]=d;e=c[c[k>>2]>>2]|0;if(!e)e=d;else{c[k>>2]=e;e=c[f>>2]|0}fp(c[a+88>>2]|0,e);a=a+92|0;c[a>>2]=(c[a>>2]|0)+1}c[d+24>>2]=g;return}function xca(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=b+708|0;if(!(c[s>>2]|0))return;f=c[e>>2]|0;b=c[d>>2]|0;q=d+4|0;r=e+4|0;if(!((b|0)==(q|0)|(f|0)==(r|0))){l=b;m=f;while(1){h=l+16|0;b=m+16|0;f=a[b+11>>0]|0;d=f<<24>>24<0;f=d?c[m+20>>2]|0:f&255;e=a[h+11>>0]|0;i=e<<24>>24<0;e=i?c[l+20>>2]|0:e&255;k=f>>>0<e>>>0;j=k?f:e;g=(j|0)==0;if(!g?(n=i?c[h>>2]|0:h,o=d?c[b>>2]|0:b,p=cOa(n,o,j)|0,(p|0)!=0):0)if((p|0)<0)e=8;else{d=o;b=n;e=19}else if(e>>>0>=f>>>0)if(g)e=20;else{d=d?c[b>>2]|0:b;b=i?c[h>>2]|0:h;e=19}else e=8;do if((e|0)==8){e=0;b=c[l+32>>2]|0;if((c[l+28>>2]|0)!=(b|0))wca(c[s>>2]|0,c[b+-8>>2]|0);b=c[l+4>>2]|0;if(!b){d=l+8|0;b=c[d>>2]|0;if((c[b>>2]|0)==(l|0)){f=m;break}do{l=c[d>>2]|0;d=l+8|0;b=c[d>>2]|0}while((c[b>>2]|0)!=(l|0));f=m}else{while(1){d=c[b>>2]|0;if(!d)break;else b=d}f=m;break}}else if((e|0)==19){b=cOa(d,b,j)|0;if(b)if((b|0)<0)e=22;else e=29;else e=20}while(0);if((e|0)==20)if(k)e=22;else e=29;do if((e|0)==22){wca(c[s>>2]|0,c[m+28>>2]|0);f=c[m+4>>2]|0;if(!f){b=m+8|0;f=c[b>>2]|0;if((c[f>>2]|0)==(m|0)){b=l;break}do{m=c[b>>2]|0;b=m+8|0;f=c[b>>2]|0}while((c[f>>2]|0)!=(m|0));b=l}else{while(1){b=c[f>>2]|0;if(!b)break;else f=b}b=l;break}}else if((e|0)==29){b=c[l+32>>2]|0;if(((c[l+28>>2]|0)!=(b|0)?(c[b+-4>>2]&2|0)!=0:0)?(c[m+32>>2]&4|0)==0:0)wca(c[s>>2]|0,c[b+-8>>2]|0);else wca(c[s>>2]|0,c[m+28>>2]|0);b=c[l+4>>2]|0;if(!b){d=l+8|0;b=c[d>>2]|0;if((c[b>>2]|0)!=(l|0))do{l=c[d>>2]|0;d=l+8|0;b=c[d>>2]|0}while((c[b>>2]|0)!=(l|0))}else while(1){d=c[b>>2]|0;if(!d)break;else b=d}f=c[m+4>>2]|0;if(!f){d=m+8|0;f=c[d>>2]|0;if((c[f>>2]|0)==(m|0))break;do{m=c[d>>2]|0;d=m+8|0;f=c[d>>2]|0}while((c[f>>2]|0)!=(m|0))}else{while(1){d=c[f>>2]|0;if(!d)break;else f=d}break}}while(0);if((b|0)==(q|0)|(f|0)==(r|0))break;else{l=b;m=f}}}if((b|0)!=(q|0)){e=b;while(1){b=c[e+32>>2]|0;if((c[e+28>>2]|0)!=(b|0))wca(c[s>>2]|0,c[b+-8>>2]|0);b=c[e+4>>2]|0;if(!b){d=e+8|0;b=c[d>>2]|0;if((c[b>>2]|0)!=(e|0))do{p=c[d>>2]|0;d=p+8|0;b=c[d>>2]|0}while((c[b>>2]|0)!=(p|0))}else while(1){d=c[b>>2]|0;if(!d)break;else b=d}if((b|0)==(q|0))break;else e=b}}if((f|0)==(r|0))return;while(1){wca(c[s>>2]|0,c[f+28>>2]|0);b=c[f+4>>2]|0;if(!b){d=f+8|0;b=c[d>>2]|0;if((c[b>>2]|0)!=(f|0))do{q=c[d>>2]|0;d=q+8|0;b=c[d>>2]|0}while((c[b>>2]|0)!=(q|0))}else while(1){d=c[b>>2]|0;if(!d)break;else b=d}if((b|0)==(r|0))break;else f=b}return}function yca(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;i=a+4|0;j=c[a>>2]|0;k=(c[i>>2]|0)-j|0;g=k>>2;d=g+1|0;if(d>>>0>1073741823)g1a(a);l=a+8|0;f=(c[l>>2]|0)-j|0;h=f>>1;h=f>>2>>>0<536870911?(h>>>0<d>>>0?d:h):1073741823;do if(h)if(h>>>0>1073741823){l=db(8)|0;p0a(l,183738);c[l>>2]=110936;hb(l|0,65952,1066)}else{f=j0a(h<<2)|0;e=f;break}else{e=0;f=0}while(0);d=e+(g<<2)|0;c[d>>2]=c[b>>2];if((k|0)>0)x2a(f|0,j|0,k|0)|0;c[a>>2]=e;c[i>>2]=d+4;c[l>>2]=e+(h<<2);if(!j)return;l0a(j);return}function zca(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;l=b+632|0;k=gk[c[(c[d>>2]|0)+172>>2]&1023](d)|0;j=gk[c[(c[d>>2]|0)+176>>2]&1023](d)|0;f=b+636|0;e=c[f>>2]|0;do if(e){g=b+636|0;a:while(1){f=c[e+16>>2]|0;do if((k|0)>=(f|0)){if((f|0)>=(k|0)){f=c[e+20>>2]|0;if(j>>>0<f>>>0){i=6;break}if(f>>>0>=j>>>0){i=11;break a}}g=e+4|0;f=c[g>>2]|0;if(!f){i=10;break a}else e=f}else i=6;while(0);if((i|0)==6){i=0;f=c[e>>2]|0;if(!f){i=7;break}else{g=e;e=f}}}if((i|0)==7){h=e;f=e;break}else if((i|0)==10){h=e;f=g;break}else if((i|0)==11){h=e;f=g;break}}else h=f;while(0);g=c[f>>2]|0;if(!g){g=j0a(52)|0;e=g+16|0;c[e>>2]=k;c[e+4>>2]=j;a[g+24>>0]=0;e=g+28|0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[e+12>>2]=0;c[e+16>>2]=0;c[e+20>>2]=0;c[g>>2]=0;c[g+4>>2]=0;c[g+8>>2]=h;c[f>>2]=g;e=c[c[l>>2]>>2]|0;if(!e)e=g;else{c[l>>2]=e;e=c[f>>2]|0}fp(c[b+636>>2]|0,e);l=b+640|0;c[l>>2]=(c[l>>2]|0)+1}a[g+24>>0]=1;e=g+28|0;if((c[e>>2]|0)==(d|0)){d=0;return d|0}f=g+36|0;if((c[f>>2]|0)==0?(m=gk[c[(c[d>>2]|0)+12>>2]&1023](d)|0,m=gk[c[(c[m>>2]|0)+56>>2]&1023](m)|0,n=c[f>>2]|0,(n|0)!=(m|0)):0){c[f>>2]=m;if(m|0){m=m+8|0;c[m>>2]=(c[m>>2]|0)+1}if(n|0?(l=n+8|0,m=c[l>>2]|0,c[l>>2]=m-1,(m|0)==1):0)UU(n,1,1)}c[e>>2]=d;Jk[c[(c[d>>2]|0)+196>>2]&1023](d,b);f=c[d+44>>2]|0;e=g+32|0;if((c[e>>2]|0)!=(f|0)){c[e>>2]=f;a[b+145>>0]=1}if((c[b+368>>2]|0)!=2){d=1;return d|0}Aca(0,d)|0;d=1;return d|0}function Aca(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=l;l=l+16|0;a=g;d=bi()|0;if(!d){b=0;l=g;return b|0}e=CQ(d)|0;f=ZQ(2)|0;if(!e){if(!f){b=1;l=g;return b|0}e=mr(lr(2)|0,163129,40)|0;f=e+(c[(c[e>>2]|0)+-12>>2]|0)+4|0;c[f>>2]=c[f>>2]&-75|8;e=mr(QSa(e,d)|0,163170,26)|0;f=gk[c[(c[b>>2]|0)+28>>2]&1023](b)|0;b=USa(mr(mr(e,f,VNa(f)|0)|0,184785,1)|0,b)|0;f=(c[b>>2]|0)+-12|0;e=b+(c[f>>2]|0)+4|0;c[e>>2]=c[e>>2]&-75|2;BSa(a,b+(c[f>>2]|0)|0);f=cUa(a,230580)|0;f=kk[c[(c[f>>2]|0)+28>>2]&511](f,10)|0;dUa(a);VSa(b,f)|0;HSa(b)|0;b=1;l=g;return b|0}else{if(!f){b=1;l=g;return b|0}f=mr(lr(2)|0,163068,32)|0;e=mr(mr(f,e,VNa(e)|0)|0,163101,27)|0;f=gk[c[(c[b>>2]|0)+28>>2]&1023](b)|0;b=USa(mr(mr(e,f,VNa(f)|0)|0,184785,1)|0,b)|0;BSa(a,b+(c[(c[b>>2]|0)+-12>>2]|0)|0);f=cUa(a,230580)|0;f=kk[c[(c[f>>2]|0)+28>>2]&511](f,10)|0;dUa(a);VSa(b,f)|0;HSa(b)|0;b=1;l=g;return b|0}return 0}function Bca(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=l;l=l+16|0;a=g;d=bi()|0;if(!d){b=0;l=g;return b|0}e=CQ(d)|0;f=ZQ(2)|0;if(!e){if(!f){b=1;l=g;return b|0}f=mr(lr(2)|0,163129,40)|0;e=f+(c[(c[f>>2]|0)+-12>>2]|0)+4|0;c[e>>2]=c[e>>2]&-75|8;f=mr(QSa(f,d)|0,163224,25)|0;e=f+(c[(c[f>>2]|0)+-12>>2]|0)+4|0;c[e>>2]=c[e>>2]&-75|8;b=QSa(f,b)|0;f=(c[b>>2]|0)+-12|0;e=b+(c[f>>2]|0)+4|0;c[e>>2]=c[e>>2]&-75|2;BSa(a,b+(c[f>>2]|0)|0);f=cUa(a,230580)|0;f=kk[c[(c[f>>2]|0)+28>>2]&511](f,10)|0;dUa(a);VSa(b,f)|0;HSa(b)|0;b=1;l=g;return b|0}else{if(!f){b=1;l=g;return b|0}f=mr(lr(2)|0,163068,32)|0;f=mr(mr(f,e,VNa(e)|0)|0,163197,26)|0;e=f+(c[(c[f>>2]|0)+-12>>2]|0)+4|0;c[e>>2]=c[e>>2]&-75|8;b=QSa(f,b)|0;f=(c[b>>2]|0)+-12|0;e=b+(c[f>>2]|0)+4|0;c[e>>2]=c[e>>2]&-75|2;BSa(a,b+(c[f>>2]|0)|0);f=cUa(a,230580)|0;f=kk[c[(c[f>>2]|0)+28>>2]&511](f,10)|0;dUa(a);VSa(b,f)|0;HSa(b)|0;b=1;l=g;return b|0}return 0}function Cca(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0;o=l;l=l+32|0;m=o;n=a+4|0;d=c[a>>2]|0;f=(c[n>>2]|0)-d>>3;e=f+1|0;if(e>>>0>536870911)g1a(a);k=a+8|0;h=(c[k>>2]|0)-d|0;d=h>>2;d=h>>3>>>0<268435455?(d>>>0<e>>>0?e:d):536870911;h=m+12|0;c[h>>2]=0;c[m+16>>2]=a+8;do if(d)if(d>>>0>536870911){o=db(8)|0;p0a(o,183738);c[o>>2]=110936;hb(o|0,65952,1066)}else{e=j0a(d<<3)|0;break}else e=0;while(0);c[m>>2]=e;g=e+(f<<3)|0;i=m+8|0;c[i>>2]=g;j=m+4|0;c[j>>2]=g;c[h>>2]=e+(d<<3);d=c[b>>2]|0;c[g>>2]=d;if(d|0){g=d+8|0;c[g>>2]=(c[g>>2]|0)+1}d=c[b+4>>2]|0;c[e+(f<<3)+4>>2]=d;if(d|0){g=d+8|0;c[g>>2]=(c[g>>2]|0)+1}d=(c[i>>2]|0)+8|0;c[i>>2]=d;g=c[a>>2]|0;e=c[n>>2]|0;if((e|0)==(g|0)){b=j;p=c[j>>2]|0;j=g;f=d;g=e;c[a>>2]=p;c[b>>2]=j;c[n>>2]=f;c[i>>2]=g;n=c[k>>2]|0;a=c[h>>2]|0;c[k>>2]=a;c[h>>2]=n;c[m>>2]=j;Dca(m);l=o;return}f=c[j>>2]|0;do{d=e;e=e+-8|0;b=c[e>>2]|0;c[f+-8>>2]=b;if(b|0){p=b+8|0;c[p>>2]=(c[p>>2]|0)+1}d=c[d+-4>>2]|0;c[f+-4>>2]=d;if(d|0){p=d+8|0;c[p>>2]=(c[p>>2]|0)+1}f=(c[j>>2]|0)+-8|0;c[j>>2]=f}while((e|0)!=(g|0));b=j;j=i;p=c[a>>2]|0;g=c[i>>2]|0;i=c[n>>2]|0;c[a>>2]=f;c[b>>2]=p;c[n>>2]=g;c[j>>2]=i;n=c[k>>2]|0;a=c[h>>2]|0;c[k>>2]=a;c[h>>2]=n;c[m>>2]=p;Dca(m);l=o;return}function Dca(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0;f=c[a+4>>2]|0;g=a+8|0;b=c[g>>2]|0;if((b|0)!=(f|0))do{e=b+-8|0;c[g>>2]=e;b=b+-4|0;d=c[b>>2]|0;if(d|0?(i=d+8|0,h=c[i>>2]|0,c[i>>2]=h-1,(h|0)==1):0)UU(d,1,1);c[b>>2]=0;b=c[e>>2]|0;if(b|0?(h=b+8|0,i=c[h>>2]|0,c[h>>2]=i-1,(i|0)==1):0)UU(b,1,1);c[e>>2]=0;b=c[g>>2]|0}while((b|0)!=(f|0));b=c[a>>2]|0;if(!b)return;l0a(b);return}function Eca(a,b){a=a|0;b=b|0;if(!b)return;else{Eca(a,c[b>>2]|0);Eca(a,c[b+4>>2]|0);lca(b+20|0);l0a(b);return}}function Fca(a,b){a=a|0;b=b|0;var d=0,e=0;if(!b)return;Fca(a,c[b>>2]|0);Fca(a,c[b+4>>2]|0);a=c[b+20>>2]|0;if(a|0?(e=a+8|0,d=c[e>>2]|0,c[e>>2]=d-1,(d|0)==1):0)UU(a,1,1);l0a(b);return}function Gca(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;c[a>>2]=90576;b=a+420|0;d=c[b>>2]|0;if(d|0?(f=d+8|0,g=c[f>>2]|0,c[f>>2]=g-1,(g|0)==1):0)UU(d,1,1);c[b>>2]=0;b=a+416|0;d=c[b>>2]|0;if(d|0?(f=d+8|0,g=c[f>>2]|0,c[f>>2]=g-1,(g|0)==1):0)UU(d,1,1);c[b>>2]=0;b=a+280|0;d=c[b>>2]|0;if(d|0?(f=d+8|0,g=c[f>>2]|0,c[f>>2]=g-1,(g|0)==1):0)UU(d,1,1);c[b>>2]=0;b=a+276|0;d=c[b>>2]|0;if(d|0?(f=d+8|0,g=c[f>>2]|0,c[f>>2]=g-1,(g|0)==1):0)UU(d,1,1);c[b>>2]=0;b=a+272|0;d=c[b>>2]|0;if(d|0?(f=d+8|0,g=c[f>>2]|0,c[f>>2]=g-1,(g|0)==1):0)UU(d,1,1);c[b>>2]=0;Fca(a+260|0,c[a+264>>2]|0);b=a+248|0;d=c[b>>2]|0;if(d|0?(f=d+8|0,g=c[f>>2]|0,c[f>>2]=g-1,(g|0)==1):0)UU(d,1,1);c[b>>2]=0;b=a+236|0;d=c[b>>2]|0;if(d|0?(f=d+8|0,g=c[f>>2]|0,c[f>>2]=g-1,(g|0)==1):0)UU(d,1,1);c[b>>2]=0;b=a+228|0;d=c[b>>2]|0;if(d|0?(f=d+8|0,g=c[f>>2]|0,c[f>>2]=g-1,(g|0)==1):0)UU(d,1,1);c[b>>2]=0;b=a+172|0;d=c[b>>2]|0;if(d|0?(f=d+8|0,g=c[f>>2]|0,c[f>>2]=g-1,(g|0)==1):0)UU(d,1,1);c[b>>2]=0;b=a+148|0;d=c[b>>2]|0;if(d|0?(f=d+8|0,g=c[f>>2]|0,c[f>>2]=g-1,(g|0)==1):0)UU(d,1,1);c[b>>2]=0;b=a+144|0;d=c[b>>2]|0;if(d|0?(f=d+8|0,g=c[f>>2]|0,c[f>>2]=g-1,(g|0)==1):0)UU(d,1,1);c[b>>2]=0;e=a+132|0;f=c[e>>2]|0;if(f|0){g=a+136|0;b=c[g>>2]|0;if((b|0)==(f|0))b=f;else{do{b=b+-4|0;d=c[b>>2]|0;if(d|0?(j=d+8|0,i=c[j>>2]|0,c[j>>2]=i-1,(i|0)==1):0)UU(d,1,1);c[b>>2]=0}while((b|0)!=(f|0));b=c[e>>2]|0}c[g>>2]=f;l0a(b)}f=a+120|0;b=a+128|0;if(c[b>>2]|0?(h=c[a+124>>2]|0,j=(c[f>>2]|0)+4|0,i=c[h>>2]|0,c[i+4>>2]=c[j>>2],c[c[j>>2]>>2]=i,c[b>>2]=0,(h|0)!=(f|0)):0){b=h;do{d=b;b=c[b+4>>2]|0;e=c[d+12>>2]|0;if(e|0?(i=e+8|0,j=c[i>>2]|0,c[i>>2]=j-1,(j|0)==1):0)UU(e,1,1);l0a(d)}while((b|0)!=(f|0))}f=a+108|0;b=a+116|0;if(!(c[b>>2]|0)){yaa(a);return}d=c[a+112>>2]|0;j=(c[f>>2]|0)+4|0;i=c[d>>2]|0;c[i+4>>2]=c[j>>2];c[c[j>>2]>>2]=i;c[b>>2]=0;if((d|0)==(f|0)){yaa(a);return}do{b=d;d=c[d+4>>2]|0;e=c[b+12>>2]|0;if(e|0?(i=e+8|0,j=c[i>>2]|0,c[i>>2]=j-1,(j|0)==1):0)UU(e,1,1);l0a(b)}while((d|0)!=(f|0));yaa(a);return}function Hca(a){a=a|0;Gca(a);l0a(a);return}function Ica(a){a=a|0;a=j0a(424)|0;Rba(a);return a|0}function Jca(a,b){a=a|0;b=b|0;var c=0;c=j0a(424)|0;qda(c,a,b);return c|0}function Kca(a,b){a=a|0;b=b|0;if(!b){b=0;return b|0}b=(y1a(b,42800,49912,0)|0)!=0;return b|0}function Lca(a){a=a|0;return 164870}function Mca(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=c[a+100>>2]|0;if(d|0)Jk[c[(c[d>>2]|0)+160>>2]&1023](d,b);d=c[a+48>>2]|0;g=a+52|0;if((d|0)!=(g|0)){f=d;while(1){d=c[f+20>>2]|0;Jk[c[(c[d>>2]|0)+160>>2]&1023](d,b);d=c[f+4>>2]|0;if(!d){e=f+8|0;d=c[e>>2]|0;if((c[d>>2]|0)!=(f|0))do{f=c[e>>2]|0;e=f+8|0;d=c[e>>2]|0}while((c[d>>2]|0)!=(f|0))}else while(1){e=c[d>>2]|0;if(!e)break;else d=e}if((d|0)==(g|0))break;else f=d}}d=c[a+112>>2]|0;f=a+108|0;e=d;if((f|0)!=(e|0))do{g=c[d+12>>2]|0;Jk[c[(c[g>>2]|0)+160>>2]&1023](g,b);d=c[e+4>>2]|0;e=d}while((f|0)!=(e|0));d=c[a+124>>2]|0;f=a+120|0;e=d;if((f|0)!=(e|0))do{g=c[d+12>>2]|0;Jk[c[(c[g>>2]|0)+160>>2]&1023](g,b);d=c[e+4>>2]|0;e=d}while((f|0)!=(e|0));d=c[a+132>>2]|0;e=a+136|0;if((d|0)!=(c[e>>2]|0))do{g=c[d>>2]|0;Jk[c[(c[g>>2]|0)+160>>2]&1023](g,b);d=d+4|0}while((d|0)!=(c[e>>2]|0));d=c[a+236>>2]|0;if(d|0)Jk[c[(c[d>>2]|0)+160>>2]&1023](d,b);d=c[a+272>>2]|0;if(d|0)Jk[c[(c[d>>2]|0)+160>>2]&1023](d,b);d=c[a+276>>2]|0;if(d|0)Jk[c[(c[d>>2]|0)+160>>2]&1023](d,b);d=c[a+280>>2]|0;if(!d)return;Jk[c[(c[d>>2]|0)+160>>2]&1023](d,b);return}function Nca(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;a[b+104>>0]=0;d=c[b+420>>2]|0;if(d|0)Bk[c[(c[d>>2]|0)+164>>2]&2047](d);i=b+108|0;f=b+112|0;d=c[f>>2]|0;e=d;if((i|0)!=(e|0))do{j=c[d+12>>2]|0;Bk[c[(c[j>>2]|0)+164>>2]&2047](j);d=c[e+4>>2]|0;e=d}while((i|0)!=(e|0));c[b+64>>2]=c[b+60>>2];c[b+76>>2]=c[b+72>>2];g=b+48|0;j=b+52|0;Cba(g,c[j>>2]|0);c[b+56>>2]=0;c[g>>2]=j;c[j>>2]=0;a[b+84>>0]=0;j=b+120|0;g=b+124|0;d=c[g>>2]|0;e=d;if((j|0)!=(e|0))do{k=c[d+12>>2]|0;Bk[c[(c[k>>2]|0)+164>>2]&2047](k);d=c[e+4>>2]|0;e=d}while((j|0)!=(e|0));d=b+116|0;if(c[d>>2]|0?(h=c[f>>2]|0,k=(c[i>>2]|0)+4|0,f=c[h>>2]|0,c[f+4>>2]=c[k>>2],c[c[k>>2]>>2]=f,c[d>>2]=0,(h|0)!=(i|0)):0){d=h;do{e=d;d=c[d+4>>2]|0;f=c[e+12>>2]|0;if(f|0?(h=f+8|0,k=c[h>>2]|0,c[h>>2]=k-1,(k|0)==1):0)UU(f,1,1);l0a(e)}while((d|0)!=(i|0))}e=b+128|0;if(!(c[e>>2]|0))return;d=c[g>>2]|0;k=(c[j>>2]|0)+4|0;b=c[d>>2]|0;c[b+4>>2]=c[k>>2];c[c[k>>2]>>2]=b;c[e>>2]=0;if((d|0)==(j|0))return;do{e=d;d=c[d+4>>2]|0;f=c[e+12>>2]|0;if(f|0?(b=f+8|0,k=c[b>>2]|0,c[b>>2]=k-1,(k|0)==1):0)UU(f,1,1);l0a(e)}while((d|0)!=(j|0));return}function Oca(b){b=b|0;var d=0,e=0,f=0,g=0,h=0;d=c[b+112>>2]|0;f=b+108|0;e=d;if((f|0)!=(e|0))do{h=c[d+12>>2]|0;Bk[c[(c[h>>2]|0)+168>>2]&2047](h);d=c[e+4>>2]|0;e=d}while((f|0)!=(e|0));h=b+84|0;if(!(a[h>>0]|0)){d=c[b+48>>2]|0;g=b+52|0;if((d|0)!=(g|0)){f=d;while(1){d=c[f+20>>2]|0;Bk[c[(c[d>>2]|0)+168>>2]&2047](d);d=c[f+4>>2]|0;if(!d){e=f+8|0;d=c[e>>2]|0;if((c[d>>2]|0)!=(f|0))do{f=c[e>>2]|0;e=f+8|0;d=c[e>>2]|0}while((c[d>>2]|0)!=(f|0))}else while(1){e=c[d>>2]|0;if(!e)break;else d=e}if((d|0)==(g|0))break;else f=d}}d=c[b+92>>2]|0;if(!d)Bk[c[(c[b>>2]|0)+172>>2]&2047](b);else Jk[c[(c[d>>2]|0)+12>>2]&1023](d,b);a[h>>0]=1}e=c[b+124>>2]|0;f=b+120|0;d=e;if((f|0)==(d|0))return;do{b=c[e+12>>2]|0;Bk[c[(c[b>>2]|0)+168>>2]&2047](b);e=c[d+4>>2]|0;d=e}while((f|0)!=(d|0));return}function Pca(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0;I=l;l=l+48|0;H=I;B=I+36|0;m=b+104|0;if(a[m>>0]|0){l=I;return}i=c[b+148>>2]|0;if(i|0)fda(c[d>>2]|0,i);C=b+228|0;i=c[C>>2]|0;do if(i){if((c[i+24>>2]|0)!=0?(k=c[b+232>>2]|0,(k|0)!=0):0){c[H>>2]=k;i=d+12|0;j=c[i>>2]|0;if((j|0)==(c[d+16>>2]|0))ZG(d+8|0,H);else{c[j>>2]=k;c[i>>2]=(c[i>>2]|0)+4}i=c[C>>2]|0;a[m>>0]=1;if(!i)break}else a[m>>0]=1;if(((c[i+24>>2]|0?(n=c[b+232>>2]|0,n|0):0)?(o=c[n+636>>2]|0,o|0):0)?(Jk[c[(c[o>>2]|0)+104>>2]&1023](o,d),h=c[o+4>>2]|0,h|0):0)do{Jk[c[(c[h>>2]|0)+104>>2]&1023](h,d);h=c[h+4>>2]|0}while((h|0)!=0)}else a[m>>0]=1;while(0);Nk[c[(c[b>>2]|0)+216>>2]&255](b,d,e);if(!(a[b+220>>0]|0)){y=c[C>>2]|0;if(((y|0?c[y+24>>2]|0:0)?(p=c[b+232>>2]|0,p|0):0)?(c[b+224>>2]|0)!=(c[p+604>>2]|0):0)q=24}else q=24;if((q|0)==24)gda(b,d);s=c[d>>2]|0;w=c[s+120>>2]|0;hda(H,d);x=c[e>>2]|0;y=b+280|0;r=c[y>>2]|0;if(!((r|0)==0|(r|0)==(w|0))){xT(w)|0;m=c[y>>2]|0;k=c[m+48>>2]|0;n=c[m+108>>2]|0;h=c[H>>2]|0;if((h|0)!=(k|0)){c[H>>2]=k;if(k|0){r=k+8|0;c[r>>2]=(c[r>>2]|0)+1}if(h|0?(q=h+8|0,r=c[q>>2]|0,c[q>>2]=r-1,(r|0)==1):0)UU(h,1,1)}h=c[s+180>>2]|0;i=k+180|0;j=c[i>>2]|0;if((j|0)!=(h|0)){c[i>>2]=h;if(h|0){r=h+8|0;c[r>>2]=(c[r>>2]|0)+1}if(j|0?(q=j+8|0,r=c[q>>2]|0,c[q>>2]=r-1,(r|0)==1):0)UU(j,1,1)}h=c[s+836>>2]|0;i=k+836|0;if((c[i>>2]|0)!=(h|0))c[i>>2]=h;h=c[s+840>>2]|0;i=k+840|0;j=c[i>>2]|0;if((j|0)!=(h|0)){c[i>>2]=h;if(h|0){r=h+8|0;c[r>>2]=(c[r>>2]|0)+1}if(j|0?(q=j+8|0,r=c[q>>2]|0,c[q>>2]=r-1,(r|0)==1):0)UU(j,1,1)}if(!n){c[e>>2]=0;wT(m)|0;j=n}else j=n}else{k=s;m=w;j=0}p=k+712|0;q=k+716|0;r=(c[q>>2]|0)-(c[p>>2]|0)>>2;o=c[C>>2]|0;if((((o|0?c[o+24>>2]|0:0)?(t=c[b+232>>2]|0,t|0):0)?(u=c[t+640>>2]|0,u|0):0)?(Jk[c[(c[u>>2]|0)+104>>2]&1023](u,d),v=c[u+4>>2]|0,v|0):0){h=v;do{Jk[c[(c[h>>2]|0)+104>>2]&1023](h,d);h=c[h+4>>2]|0}while((h|0)!=0)}n=b+236|0;a[B>>0]=(w|0)!=(m|0)&(c[n>>2]|0)!=0&1;o=(j|0)!=0;if(o){i=j0a(56)|0;QT(i);h=i+(c[(c[i>>2]|0)+-12>>2]|0)+8|0;c[h>>2]=(c[h>>2]|0)+1;h=j0a(72)|0;ida(h,b,d);BT(j,h);BT(j,i);h=i+20|0;gk[c[(c[h>>2]|0)+8>>2]&1023](h)|0;if(!(a[i+40>>0]|0)){u=c[i+36>>2]|0;v=(c[i+24>>2]|0)+4|0;Ji(1077,v|0);Oi(u+4|0,v|0)|0;Ii(0)}gk[c[(c[h>>2]|0)+12>>2]&1023](h)|0;a[B>>0]=0;h=i+(c[(c[i>>2]|0)+-12>>2]|0)|0;u=h+8|0;v=c[u>>2]|0;c[u>>2]=v-1;if((v|0)==1)UU(h,1,1)}else{Qk[c[(c[b>>2]|0)+220>>2]&127](b,H,e,B);h=c[H+32>>2]|0;i=d+32|0;j=c[i>>2]|0;if((h|0)!=(j|0)){c[i>>2]=h;if(h|0){v=h+8|0;c[v>>2]=(c[v>>2]|0)+1}if(j|0?(u=j+8|0,v=c[u>>2]|0,c[u>>2]=v-1,(v|0)==1):0)UU(j,1,1)}}if((k|0)!=(s|0)){i=c[k+836>>2]|0;h=s+836|0;if((c[h>>2]|0)!=(i|0))c[h>>2]=i;h=k+840|0;i=c[h>>2]|0;if(i|0?(c[h>>2]=0,u=i+8|0,v=c[u>>2]|0,c[u>>2]=v-1,(v|0)==1):0)UU(i,1,1)}if((c[n>>2]|0)!=0&(a[B>>0]|0)==0){if(!((w|0)==0|(m|0)==(w|0)))yT(w,m)|0;Yca(b,d)}B=c[C>>2]|0;if((((B|0?c[B+24>>2]|0:0)?(z=c[b+232>>2]|0,z|0):0)?(A=c[z+644>>2]|0,A|0):0)?(Jk[c[(c[A>>2]|0)+104>>2]&1023](A,d),g=c[A+4>>2]|0,g|0):0)do{Jk[c[(c[g>>2]|0)+104>>2]&1023](g,d);g=c[g+4>>2]|0}while((g|0)!=0);B=c[y>>2]|0;if(!((B|0)==0|(B|0)==(w|0))){if((c[q>>2]|0)-(c[p>>2]|0)>>2>>>0>r>>>0)do Uaa(k);while((c[q>>2]|0)-(c[p>>2]|0)>>2>>>0>r>>>0);if(!o){$h();xT(m)|0}}if(!((w|0)==0|(m|0)==(w|0))){c[e>>2]=x;wT(w)|0}Nk[c[(c[b>>2]|0)+224>>2]&255](b,d,e);g=c[C>>2]|0;if(g|0){if(((c[g+24>>2]|0?(D=c[b+232>>2]|0,D|0):0)?(E=c[D+648>>2]|0,E|0):0)?(Jk[c[(c[E>>2]|0)+104>>2]&1023](E,d),f=c[E+4>>2]|0,f|0):0)do{Jk[c[(c[f>>2]|0)+104>>2]&1023](f,d);f=c[f+4>>2]|0}while((f|0)!=0);E=c[C>>2]|0;if(((E|0?c[E+24>>2]|0:0)?c[b+232>>2]|0:0)?(F=d+12|0,G=c[F>>2]|0,(c[d+8>>2]|0)!=(G|0)):0)c[F>>2]=G+-4}f=c[b+32>>2]|0;if(f|0)Vba(f);f=H+32|0;g=c[f>>2]|0;if(g|0?(F=g+8|0,G=c[F>>2]|0,c[F>>2]=G-1,(G|0)==1):0)UU(g,1,1);c[f>>2]=0;f=c[H+20>>2]|0;if(f|0){c[H+24>>2]=f;l0a(f)}f=c[H+8>>2]|0;if(f|0){c[H+12>>2]=f;l0a(f)}f=c[H>>2]|0;if(f|0?(G=f+8|0,H=c[G>>2]|0,c[G>>2]=H-1,(H|0)==1):0)UU(f,1,1);l=I;return}function Qca(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=l;l=l+16|0;i=s;r=c[d>>2]|0;j=b+144|0;k=c[j>>2]|0;if(!k){if(!(ZQ(1)|0)){l=s;return}r=mr(lr(1)|0,163963,51)|0;BSa(i,r+(c[(c[r>>2]|0)+-12>>2]|0)|0);e=cUa(i,230580)|0;e=kk[c[(c[e>>2]|0)+28>>2]&511](e,10)|0;dUa(i);VSa(r,e)|0;HSa(r)|0;l=s;return}zca(r,k)|0;i=c[j>>2]|0;gi(~~+h[i+56>>3]|0,~~+h[i+64>>3]|0,~~+h[i+72>>3]|0,~~+h[i+80>>3]|0);eda(r,3089,1)|0;i=c[b+172>>2]|0;if(!i)Rh(1,1,1,1);else Jk[c[(c[i>>2]|0)+196>>2]&1023](i,r);k=b+168|0;i=c[k>>2]|0;if(i|0){if(i&16384){Oh(+(+g[b+176>>2]),+(+g[b+180>>2]),+(+g[b+184>>2]),+(+g[b+188>>2]));i=c[k>>2]|0}do if(i&256|0?(Ph(+(+h[b+208>>3])),Vh(1),n=r+636|0,m=c[n>>2]|0,m|0):0){j=n;i=m;do{m=(c[i+16>>2]|0)<26;j=m?j:i;i=c[(m?i+4|0:i)>>2]|0}while((i|0)!=0);if((j|0)!=(n|0)?(o=c[j+16>>2]|0,(o|0)<=26):0){if((o|0)==26?c[j+20>>2]|0:0)break;c[j+28>>2]=0;a[j+24>>0]=1}}while(0);do if(c[k>>2]&1024|0?(Qh(c[b+216>>2]|0),ji(-1),p=r+636|0,f=c[p>>2]|0,f|0):0){i=p;do{o=(c[f+16>>2]|0)<24;i=o?i:f;f=c[(o?f+4|0:f)>>2]|0}while((f|0)!=0);if((i|0)!=(p|0)?(q=c[i+16>>2]|0,(q|0)<=24):0){if((q|0)==24?c[i+20>>2]|0:0)break;c[i+28>>2]=0;a[i+24>>0]=1}}while(0);Nh(c[k>>2]|0)}f=c[b+416>>2]|0;if(f|0)Qk[c[(c[f>>2]|0)+176>>2]&127](f,r,e,b+288|0);f=c[b+420>>2]|0;if(f|0)Qk[c[(c[f>>2]|0)+176>>2]&127](f,r,e,0);Paa(b,d,e);ica(r);l=s;return}function Rca(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;d=c[a+112>>2]|0;f=a+108|0;e=d;if((f|0)==(e|0))b=0;else{b=0;do{g=c[d+12>>2]|0;b=(gk[c[(c[g>>2]|0)+204>>2]&1023](g)|0)+b|0;d=c[e+4>>2]|0;e=d}while((f|0)!=(e|0))}b=(Qaa(a)|0)+b|0;e=c[a+124>>2]|0;f=a+120|0;d=e;if((f|0)==(d|0)){g=b;return g|0}do{g=c[e+12>>2]|0;b=(gk[c[(c[g>>2]|0)+204>>2]&1023](g)|0)+b|0;e=c[d+4>>2]|0;d=e}while((f|0)!=(d|0));return b|0}function Sca(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;a=a+420|0;e=c[a>>2]|0;if(e|0){a=c[e>>2]|0;a=a+168|0;a=c[a>>2]|0;Nk[a&255](e,b,d);return}f=j0a(56)|0;c[f+4>>2]=0;e=f+8|0;c[e>>2]=0;g=f+12|0;c[g>>2]=0;c[g+4>>2]=0;c[g+8>>2]=0;c[f+24>>2]=2;c[f+28>>2]=0;c[f>>2]=90388;c[f+32>>2]=0;c[f+36>>2]=0;c[f+40>>2]=0;g=f+48|0;c[g>>2]=0;c[f+52>>2]=0;c[f+44>>2]=g;c[a>>2]=f;c[e>>2]=(c[e>>2]|0)+1;e=c[a>>2]|0;a=c[e>>2]|0;a=a+168|0;a=c[a>>2]|0;Nk[a&255](e,b,d);return}function Tca(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;a=a+420|0;f=c[a>>2]|0;if(f|0){a=c[f>>2]|0;a=a+172|0;a=c[a>>2]|0;Qk[a&127](f,b,d,e);return}g=j0a(56)|0;c[g+4>>2]=0;f=g+8|0;c[f>>2]=0;h=g+12|0;c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;c[g+24>>2]=2;c[g+28>>2]=0;c[g>>2]=90388;c[g+32>>2]=0;c[g+36>>2]=0;c[g+40>>2]=0;h=g+48|0;c[h>>2]=0;c[g+52>>2]=0;c[g+44>>2]=h;c[a>>2]=g;c[f>>2]=(c[f>>2]|0)+1;f=c[a>>2]|0;a=c[f>>2]|0;a=a+172|0;a=c[a>>2]|0;Qk[a&127](f,b,d,e);return}function Uca(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;if(!(c[a+116>>2]|0))return;e=c[a+112>>2]|0;f=a+108|0;a=e;if((f|0)==(a|0))return;do{g=c[e+12>>2]|0;Nk[c[(c[g>>2]|0)+196>>2]&255](g,b,d);e=c[a+4>>2]|0;a=e}while((f|0)!=(a|0));return}function Vca(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0.0,w=0.0,x=0;u=l;l=l+16|0;p=u;t=c[d>>2]|0;m=b+272|0;g=c[m>>2]|0;if((g|0)!=0?(i=c[t+832>>2]|0,(i|0)!=0):0)if(!(a[i+1292>>0]|0)){q=0;j=1;r=i}else{Jk[c[(c[g>>2]|0)+196>>2]&1023](g,t);q=1;j=1;r=i}else{q=0;j=0;r=0}c[p>>2]=b;i=d+24|0;g=c[i>>2]|0;if((g|0)==(c[d+28>>2]|0))raa(d+20|0,p);else{c[g>>2]=b;c[i>>2]=(c[i>>2]|0)+4}g=c[b+96>>2]|0;if(!g)Nk[c[(c[b>>2]|0)+200>>2]&255](b,d,e);else Qk[c[(c[g>>2]|0)+12>>2]&127](g,b,d,e);c[i>>2]=(c[i>>2]|0)+-4;if(((c[t+368>>2]|0?j&(qca(0,163332,0)|0):0)?(k=gk[c[r+1332>>2]&1023](36160)|0,(k|0)!=36053):0)?ZQ(3)|0:0){n=mr(lr(3)|0,163358,41)|0;e=n+(c[(c[n>>2]|0)+-12>>2]|0)+4|0;c[e>>2]=c[e>>2]&-75|8;n=QSa(n,k)|0;k=(c[n>>2]|0)+-12|0;e=n+(c[k>>2]|0)+4|0;c[e>>2]=c[e>>2]&-75|2;BSa(p,n+(c[k>>2]|0)|0);k=cUa(p,230580)|0;k=kk[c[(c[k>>2]|0)+28>>2]&511](k,10)|0;dUa(p);VSa(n,k)|0;HSa(n)|0}if(q){m=c[m>>2]|0;a[p>>0]=0;n=b+276|0;g=c[n>>2]|0;if((g|0)!=0?(o=r+1368|0,(c[o>>2]|0)!=0):0){i=c[g+56>>2]|0;k=g+60|0;a:do if((i|0)==(k|0))g=0;else{g=0;while(1){switch(c[i+16>>2]|0){case 0:{g=g|256;break}case 1:{g=g|1024;break}case 2:{g=g|1280;break}case 3:{g=g|16384;break}default:{}}j=c[i+4>>2]|0;if(!j){j=i+8|0;e=c[j>>2]|0;if((c[e>>2]|0)==(i|0))i=e;else do{e=c[j>>2]|0;j=e+8|0;i=c[j>>2]|0}while((c[i>>2]|0)!=(e|0))}else{i=j;while(1){j=c[i>>2]|0;if(!j)break;else i=j}}if((i|0)==(k|0))break a}}while(0);lD(m,t,36008);lD(c[n>>2]|0,t,36009);if(g|0){m=c[b+144>>2]|0;w=+h[m+56>>3];j=~~w;v=+h[m+64>>3];e=~~v;k=~~(w+ +h[m+72>>3]);m=~~(v+ +h[m+80>>3]);Xk[c[o>>2]&1](j,e,k,m,j,e,k,m,g,9728)}a[p>>0]=1;m=c[n>>2]|0}}else{a[p>>0]=0;m=0}if(a[f>>0]|0){if(m|0)Xca(p,m,t);Yca(b,d)}g=c[b+260>>2]|0;k=b+264|0;if((k|0)!=(g|0)){n=b+252|0;o=b+256|0;d=b+144|0;if(!m)do{e=c[g+20>>2]|0;if(e|0){i=c[e+92>>2]|0;if(!i)i=c[n>>2]|0;j=c[e+96>>2]|0;if(!j)j=c[o>>2]|0;p=c[d>>2]|0;Vk[c[(c[e>>2]|0)+200>>2]&7](e,~~+h[p+56>>3],~~+h[p+64>>3],~~+h[p+72>>3],~~+h[p+80>>3],(i|0)==0?6407:i,(j|0)==0?5121:j,1)}j=g;g=c[j+4>>2]|0;if(!g){i=j+8|0;g=c[i>>2]|0;if((c[g>>2]|0)!=(j|0))do{p=c[i>>2]|0;i=p+8|0;g=c[i>>2]|0}while((c[g>>2]|0)!=(p|0))}else while(1){i=c[g>>2]|0;if(!i)break;else g=i}}while((k|0)!=(g|0));else do{i=g+20|0;if(c[i>>2]|0){Xca(p,m,t);e=c[i>>2]|0;i=c[e+92>>2]|0;if(!i)i=c[n>>2]|0;j=c[e+96>>2]|0;if(!j)j=c[o>>2]|0;x=c[d>>2]|0;Vk[c[(c[e>>2]|0)+200>>2]&7](e,~~+h[x+56>>3],~~+h[x+64>>3],~~+h[x+72>>3],~~+h[x+80>>3],(i|0)==0?6407:i,(j|0)==0?5121:j,1)}j=g;g=c[j+4>>2]|0;if(!g){i=j+8|0;g=c[i>>2]|0;if((c[g>>2]|0)!=(j|0))do{x=c[i>>2]|0;i=x+8|0;g=c[i>>2]|0}while((c[g>>2]|0)!=(x|0))}else while(1){i=c[g>>2]|0;if(!i)break;else g=i}}while((k|0)!=(g|0))}if(!q){l=u;return}if(a[b+284>>0]|0){g=c[t+120>>2]|0;if(!g)g=0;else g=c[g+128>>2]|0;Jk[c[r+1320>>2]&1023](36160,g)}a[f>>0]=1;g=c[b+228>>2]|0;if(!g){l=u;return}if(!(c[g+24>>2]|0)){l=u;return}g=c[b+232>>2]|0;if(!g){l=u;return}i=c[g+584>>2]|0;o=g+588|0;if((i|0)==(o|0)){l=u;return}d=t+732|0;e=r+1364|0;k=t+776|0;m=t+764|0;n=t+768|0;j=i;while(1){i=j+28|0;g=c[i>>2]|0;if(g|0?a[j+40>>0]|0:0){do if((c[d>>2]|0)!=0?(s=c[k>>2]|0,(s|0)!=0):0){r=c[m>>2]|0;x=c[n>>2]|0;if(!(((r|0)>(x|0)?r:x)|0))break;Bk[s&2047](33984);c[d>>2]=0;g=c[i>>2]|0}while(0);rD(t,0,g)|0;r=c[e>>2]|0;x=c[i>>2]|0;x=gk[c[(c[x>>2]|0)+212>>2]&1023](x)|0;Bk[r&2047](x)}g=c[j+4>>2]|0;if(!g){i=j+8|0;g=c[i>>2]|0;if((c[g>>2]|0)!=(j|0))do{x=c[i>>2]|0;i=x+8|0;g=c[i>>2]|0}while((c[g>>2]|0)!=(x|0))}else while(1){i=c[g>>2]|0;if(!i)break;else g=i}if((g|0)==(o|0))break;else j=g}l=u;return}function Wca(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;if(!(c[a+128>>2]|0))return;e=c[a+124>>2]|0;f=a+120|0;a=e;if((f|0)==(a|0))return;do{g=c[e+12>>2]|0;Nk[c[(c[g>>2]|0)+196>>2]&255](g,b,d);e=c[a+4>>2]|0;a=e}while((f|0)!=(a|0));return}function Xca(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;g=l;l=l+16|0;f=g;if(sS(d)|0?ZQ(2)|0:0){h=mr(lr(2)|0,163846,116)|0;BSa(f,h+(c[(c[h>>2]|0)+-12>>2]|0)|0);i=cUa(f,230580)|0;i=kk[c[(c[i>>2]|0)+28>>2]&511](i,10)|0;dUa(f);VSa(h,i)|0;HSa(h)|0}if(!(a[b>>0]|0)){l=g;return}lD(d,e,36008);a[b>>0]=0;l=g;return}function Yca(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;e=c[b>>2]|0;d=c[a+236>>2]|0;if(!d)return;b=y1a(d,47416,47448,0)|0;if(b|0){a=c[a+144>>2]|0;f=~~+h[a+56>>3];d=~~+h[a+64>>3];Zca(b,e,f,d,f,d,~~+h[a+72>>3],~~+h[a+80>>3]);return}b=y1a(d,47416,47544,0)|0;if(b|0){f=c[a+144>>2]|0;d=~~+h[f+56>>3];a=~~+h[f+64>>3];_ca(b,e,d,a,d,a,~~+h[f+72>>3],~~+h[f+80>>3]);return}if(y1a(d,47416,47432,0)|0){$ca(0,0,0,0,0,0);return}b=y1a(d,47416,47512,0)|0;if(b|0){f=c[a+144>>2]|0;g=~~+h[f+56>>3];d=~~+h[f+64>>3];ada(b,e,g,d,c[a+244>>2]|0,g,d,~~+h[f+72>>3],~~+h[f+80>>3]);return}b=y1a(d,47416,47528,0)|0;if(!b)return;g=c[a+144>>2]|0;d=~~+h[g+56>>3];f=~~+h[g+64>>3];bda(b,e,c[a+244>>2]|0,d,f,d,f,~~+h[g+72>>3],~~+h[g+80>>3]);return}function Zca(b,d,e,f,g,h,i,j){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;t=l;l=l+16|0;s=t;r=c[d+124>>2]|0;k=b+188|0;if(!(c[k>>2]|0))c[k>>2]=6408;p=b+216|0;q=b+220|0;k=c[q>>2]|0;m=c[p>>2]|0;n=k-m>>2;do if(n>>>0<=r>>>0){o=r+1|0;if(o>>>0>n>>>0){pD(p,o-n|0);break}if(o>>>0<n>>>0){n=m+(o<<2)|0;if((n|0)!=(k|0))do{k=k+-4|0;m=c[k>>2]|0;if(m|0?(u=m+8|0,o=c[u>>2]|0,c[u>>2]=o-1,(o|0)==1):0)UU(m,1,1);c[k>>2]=0}while((k|0)!=(n|0));c[q>>2]=n}}while(0);k=c[(c[p>>2]|0)+(r<<2)>>2]|0;if(!k){dda(b,d,g,h,i,j);l=t;return}x_(k,d);C_(b,3553,d);k=b+96|0;do if((c[k>>2]|1|0)==9729)k=0;else{if(a[b+136>>0]|0){m=c[d+832>>2]|0;if(a[m+1062>>0]|0){k=1;break}if(a[m+1292>>0]|0?c[m+1364>>2]|0:0){k=1;break}}if(ZQ(3)|0){u=mr(lr(3)|0,163747,98)|0;BSa(s,u+(c[(c[u>>2]|0)+-12>>2]|0)|0);r=cUa(s,230580)|0;r=kk[c[(c[r>>2]|0)+28>>2]&511](r,10)|0;dUa(s);VSa(u,r)|0;HSa(u)|0}c[k>>2]=9729;k=0}while(0);Th(3553,0,e|0,f|0,g|0,h|0,i|0,j|0);L_(b,d,k);q=c[d+732>>2]|0;r=d+696|0;p=d+700|0;k=c[p>>2]|0;m=c[r>>2]|0;n=(k-m|0)/12|0;do if(n>>>0<=q>>>0){o=q+1|0;if(o>>>0>n>>>0){sD(r,o-n|0);break}if(o>>>0<n>>>0){m=m+(o*12|0)|0;if((m|0)!=(k|0))do{u=k;k=k+-12|0;tD(k,c[u+-8>>2]|0)}while((k|0)!=(m|0));c[p>>2]=m}}while(0);y_(0,(c[r>>2]|0)+(q*12|0)|0,b);l=t;return}function _ca(a,b,d,e,f,g,h,i){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;p=c[b+124>>2]|0;j=a+188|0;if(!(c[j>>2]|0))c[j>>2]=6408;n=a+216|0;o=a+220|0;j=c[o>>2]|0;k=c[n>>2]|0;l=j-k>>2;do if(l>>>0<=p>>>0){m=p+1|0;if(m>>>0>l>>>0){pD(n,m-l|0);break}if(m>>>0<l>>>0){l=k+(m<<2)|0;if((l|0)!=(j|0))do{j=j+-4|0;k=c[j>>2]|0;if(k|0?(q=k+8|0,m=c[q>>2]|0,c[q>>2]=m-1,(m|0)==1):0)UU(k,1,1);c[j>>2]=0}while((j|0)!=(l|0));c[o>>2]=l}}while(0);j=c[(c[n>>2]|0)+(p<<2)>>2]|0;if(!j){cda(a,b,f,g,h,i);return}x_(j,b);C_(a,34037,b);Th(34037,0,d|0,e|0,f|0,g|0,h|0,i|0);o=c[b+732>>2]|0;p=b+696|0;n=b+700|0;j=c[n>>2]|0;k=c[p>>2]|0;l=(j-k|0)/12|0;do if(l>>>0<=o>>>0){m=o+1|0;if(m>>>0>l>>>0){sD(p,m-l|0);break}if(m>>>0<l>>>0){k=k+(m*12|0)|0;if((k|0)!=(j|0))do{q=j;j=j+-12|0;tD(j,c[q+-8>>2]|0)}while((j|0)!=(k|0));c[n>>2]=k}}while(0);y_(0,(c[p>>2]|0)+(o*12|0)|0,a);return}function $ca(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;b=l;l=l+16|0;a=b;if(!(ZQ(3)|0)){l=b;return}g=mr(lr(3)|0,163690,56)|0;BSa(a,g+(c[(c[g>>2]|0)+-12>>2]|0)|0);f=cUa(a,230580)|0;f=kk[c[(c[f>>2]|0)+28>>2]&511](f,10)|0;dUa(a);VSa(g,f)|0;HSa(g)|0;l=b;return}function ada(a,b,d,e,f,g,h,i,j){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;u=l;l=l+16|0;t=u;p=c[b+124>>2]|0;s=c[b+832>>2]|0;q=a+216|0;r=a+220|0;k=c[r>>2]|0;m=c[q>>2]|0;n=k-m>>2;do if(n>>>0<=p>>>0){o=p+1|0;if(o>>>0>n>>>0){pD(q,o-n|0);break}if(o>>>0<n>>>0){n=m+(o<<2)|0;if((n|0)!=(k|0))do{k=k+-4|0;m=c[k>>2]|0;if(m|0?(v=m+8|0,o=c[v>>2]|0,c[v>>2]=o-1,(o|0)==1):0)UU(m,1,1);c[k>>2]=0}while((k|0)!=(n|0));c[r>>2]=n}}while(0);k=c[(c[q>>2]|0)+(p<<2)>>2]|0;if(!k){if(!(ZQ(2)|0)){l=u;return}v=mr(lr(2)|0,163597,92)|0;BSa(t,v+(c[(c[v>>2]|0)+-12>>2]|0)|0);a=cUa(t,230580)|0;a=kk[c[(c[a>>2]|0)+28>>2]&511](a,10)|0;dUa(t);VSa(v,a)|0;HSa(v)|0;l=u;return}x_(k,b);C_(a,32879,b);Wk[c[s+1160>>2]&15](32879,0,d,e,f,g,h,i,j);q=c[b+732>>2]|0;r=b+696|0;p=b+700|0;k=c[p>>2]|0;m=c[r>>2]|0;n=(k-m|0)/12|0;do if(n>>>0<=q>>>0){o=q+1|0;if(o>>>0>n>>>0){sD(r,o-n|0);break}if(o>>>0<n>>>0){m=m+(o*12|0)|0;if((m|0)!=(k|0))do{v=k;k=k+-12|0;tD(k,c[v+-8>>2]|0)}while((k|0)!=(m|0));c[p>>2]=m}}while(0);y_(0,(c[r>>2]|0)+(q*12|0)|0,a);l=u;return}function bda(b,d,e,f,g,h,i,j,k){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;var m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;v=l;l=l+16|0;u=v;s=c[d+124>>2]|0;t=d+832|0;if(!(a[(c[t>>2]|0)+37>>0]|0)){l=v;return}m=b+188|0;if(!(c[m>>2]|0))c[m>>2]=6408;q=b+216|0;r=b+220|0;m=c[r>>2]|0;n=c[q>>2]|0;o=m-n>>2;do if(o>>>0<=s>>>0){p=s+1|0;if(p>>>0>o>>>0){pD(q,p-o|0);break}if(p>>>0<o>>>0){o=n+(p<<2)|0;if((o|0)!=(m|0))do{m=m+-4|0;n=c[m>>2]|0;if(n|0?(w=n+8|0,p=c[w>>2]|0,c[w>>2]=p-1,(p|0)==1):0)UU(n,1,1);c[m>>2]=0}while((m|0)!=(o|0));c[r>>2]=o}}while(0);m=c[(c[q>>2]|0)+(s<<2)>>2]|0;if(!m){m=b+256|0;if(!(c[m>>2]|0))c[m>>2]=j;m=b+260|0;if(!(c[m>>2]|0))c[m>>2]=k;Jk[c[(c[b>>2]|0)+196>>2]&1023](b,d);m=c[r>>2]|0;n=c[q>>2]|0;o=m-n>>2;do if(o>>>0<=s>>>0){p=s+1|0;if(p>>>0>o>>>0){pD(q,p-o|0);break}if(p>>>0<o>>>0){o=n+(p<<2)|0;if((o|0)!=(m|0))do{m=m+-4|0;n=c[m>>2]|0;if(n|0?(p=n+8|0,w=c[p>>2]|0,c[p>>2]=w-1,(w|0)==1):0)UU(n,1,1);c[m>>2]=0}while((m|0)!=(o|0));c[r>>2]=o}}while(0);m=c[(c[q>>2]|0)+(s<<2)>>2]|0;if(!m){if(!(ZQ(3)|0)){l=v;return}w=mr(lr(3)|0,163400,92)|0;BSa(u,w+(c[(c[w>>2]|0)+-12>>2]|0)|0);b=cUa(u,230580)|0;b=kk[c[(c[b>>2]|0)+28>>2]&511](b,10)|0;dUa(u);VSa(w,b)|0;HSa(w)|0;l=v;return}}o=c[1936+(e<<2)>>2]|0;x_(m,d);C_(b,34067,d);n=b+96|0;do if((c[n>>2]|1|0)==9729)m=0;else{if(a[b+136>>0]|0){m=c[t>>2]|0;if(a[m+1062>>0]|0){m=1;break}if(a[m+1292>>0]|0?c[m+1364>>2]|0:0){m=1;break}}if(ZQ(3)|0){w=mr(lr(3)|0,163493,103)|0;BSa(u,w+(c[(c[w>>2]|0)+-12>>2]|0)|0);t=cUa(u,230580)|0;t=kk[c[(c[t>>2]|0)+28>>2]&511](t,10)|0;dUa(u);VSa(w,t)|0;HSa(w)|0}c[n>>2]=9729;m=0}while(0);Th(o|0,0,f|0,g|0,h|0,i|0,j|0,k|0);L_(b,d,m);r=c[d+732>>2]|0;s=d+696|0;q=d+700|0;m=c[q>>2]|0;n=c[s>>2]|0;o=(m-n|0)/12|0;do if(o>>>0<=r>>>0){p=r+1|0;if(p>>>0>o>>>0){sD(s,p-o|0);break}if(p>>>0<o>>>0){n=n+(p*12|0)|0;if((n|0)!=(m|0))do{w=m;m=m+-12|0;tD(m,c[w+-8>>2]|0)}while((m|0)!=(n|0));c[q>>2]=n}}while(0);y_(0,(c[s>>2]|0)+(r*12|0)|0,b);l=v;return}function cda(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;n=c[b+124>>2]|0;o=a+188|0;if(!(c[o>>2]|0))c[o>>2]=6408;l=a+216|0;m=a+220|0;h=c[m>>2]|0;i=c[l>>2]|0;j=h-i>>2;do if(j>>>0<=n>>>0){k=n+1|0;if(k>>>0>j>>>0){pD(l,k-j|0);break}if(k>>>0<j>>>0){j=i+(k<<2)|0;if((j|0)!=(h|0))do{h=h+-4|0;i=c[h>>2]|0;if(i|0?(p=i+8|0,k=c[p>>2]|0,c[p>>2]=k-1,(k|0)==1):0)UU(i,1,1);c[h>>2]=0}while((h|0)!=(j|0));c[m>>2]=j}}while(0);if(c[(c[l>>2]|0)+(n<<2)>>2]|0){if((c[a+236>>2]|0)==(f|0)?(c[a+240>>2]|0)==(g|0):0){_ca(a,b,0,0,d,e,f,g);return}SZ(a)}h=a+232|0;i=c[h>>2]|0;if(i|0?(c[h>>2]=0,m=i+8|0,p=c[m>>2]|0,c[m>>2]=p-1,(p|0)==1):0)UU(i,1,1);m=Z_(a,n,34037)|0;x_(m,b);C_(a,34037,b);Sh(34037,0,c[o>>2]|0,d|0,e|0,f|0,g|0,0);c[a+236>>2]=f;c[a+240>>2]=g;E_(m,1,c[o>>2]|0,f,g,1,0);m=c[b+732>>2]|0;d=b+696|0;l=b+700|0;h=c[l>>2]|0;i=c[d>>2]|0;j=(h-i|0)/12|0;do if(j>>>0<=m>>>0){k=m+1|0;if(k>>>0>j>>>0){sD(d,k-j|0);break}if(k>>>0<j>>>0){i=i+(k*12|0)|0;if((i|0)!=(h|0))do{p=h;h=h+-12|0;tD(h,c[p+-8>>2]|0)}while((h|0)!=(i|0));c[l>>2]=i}}while(0);y_(0,(c[d>>2]|0)+(m*12|0)|0,a);return}function dda(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;t=l;l=l+16|0;p=t;r=c[d+124>>2]|0;s=b+188|0;if(!(c[s>>2]|0))c[s>>2]=6408;n=b+216|0;o=b+220|0;i=c[o>>2]|0;j=c[n>>2]|0;k=i-j>>2;do if(k>>>0<=r>>>0){m=r+1|0;if(m>>>0>k>>>0){pD(n,m-k|0);break}if(m>>>0<k>>>0){k=j+(m<<2)|0;if((k|0)!=(i|0))do{i=i+-4|0;j=c[i>>2]|0;if(j|0?(u=j+8|0,m=c[u>>2]|0,c[u>>2]=m-1,(m|0)==1):0)UU(j,1,1);c[i>>2]=0}while((i|0)!=(k|0));c[o>>2]=k}}while(0);if(c[(c[n>>2]|0)+(r<<2)>>2]|0){if((c[b+236>>2]|0)==(g|0)?(c[b+240>>2]|0)==(h|0):0){Zca(b,d,0,0,e,f,g,h);l=t;return}SZ(b)}i=b+232|0;j=c[i>>2]|0;if(j|0?(c[i>>2]=0,o=j+8|0,u=c[o>>2]|0,c[o>>2]=u-1,(u|0)==1):0)UU(j,1,1);i=b+96|0;if((c[i>>2]|1|0)!=9729){if(a[b+136>>0]|0){j=c[d+832>>2]|0;if(!(a[j+1062>>0]|0))if((a[j+1292>>0]|0)!=0?(c[j+1364>>2]|0)!=0:0)j=1;else q=27;else j=1}else q=27;if((q|0)==27){if(ZQ(3)|0){u=mr(lr(3)|0,163747,98)|0;BSa(p,u+(c[(c[u>>2]|0)+-12>>2]|0)|0);q=cUa(p,230580)|0;q=kk[c[(c[q>>2]|0)+28>>2]&511](q,10)|0;dUa(p);VSa(u,q)|0;HSa(u)|0}c[i>>2]=9729;j=0}c[b+236>>2]=g;c[b+240>>2]=h;m=b+244|0;c[m>>2]=1;if((g|0)>1|(h|0)>1){k=1;i=1;do{k=k<<1;i=i+1|0}while((k|0)<(g|0)|(k|0)<(h|0));c[m>>2]=i}else i=1}else{c[b+236>>2]=g;c[b+240>>2]=h;c[b+244>>2]=1;j=0;i=1}o=G_(b,r,3553,i,c[s>>2]|0,g,h,1,0)|0;x_(o,d);C_(b,3553,d);Sh(3553,0,c[s>>2]|0,e|0,f|0,g|0,h|0,0);L_(b,d,j&1);a[o+64>>0]=1;o=c[d+732>>2]|0;p=d+696|0;n=d+700|0;i=c[n>>2]|0;j=c[p>>2]|0;k=(i-j|0)/12|0;do if(k>>>0<=o>>>0){m=o+1|0;if(m>>>0>k>>>0){sD(p,m-k|0);break}if(m>>>0<k>>>0){j=j+(m*12|0)|0;if((j|0)!=(i|0))do{u=i;i=i+-12|0;tD(i,c[u+-8>>2]|0)}while((i|0)!=(j|0));c[n>>2]=j}}while(0);y_(0,(c[p>>2]|0)+(o*12|0)|0,b);l=t;return}function eda(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0;k=b+620|0;h=b+624|0;g=c[h>>2]|0;do if(g){i=b+624|0;while(1){h=c[g+16>>2]|0;if(h>>>0>e>>>0){h=c[g>>2]|0;if(!h){h=5;break}else{i=g;g=h}}else{if(h>>>0>=e>>>0){h=9;break}i=g+4|0;h=c[i>>2]|0;if(!h){h=8;break}else g=h}}if((h|0)==5){j=g;i=g;break}else if((h|0)==8){j=g;break}else if((h|0)==9){j=g;break}}else{j=h;i=h}while(0);g=c[i>>2]|0;if(!g){g=j0a(36)|0;c[g+16>>2]=e;c[g+24>>2]=0;c[g+28>>2]=0;c[g+32>>2]=0;a[g+20>>0]=1;a[g+21>>0]=0;a[g+22>>0]=0;a[g+23>>0]=0;c[g>>2]=0;c[g+4>>2]=0;c[g+8>>2]=j;c[i>>2]=g;h=c[c[k>>2]>>2]|0;if(!h)h=g;else{c[k>>2]=h;h=c[i>>2]|0}fp(c[b+624>>2]|0,h);k=b+628|0;c[k>>2]=(c[k>>2]|0)+1}a[g+21>>0]=1;if(!(a[g+20>>0]|0)){f=0;return f|0}g=g+22|0;if((d[g>>0]|0)==(f&1|0)){f=0;return f|0}a[g>>0]=f&1;if(f)Zh(e|0);else Wh(e|0);if((c[b+368>>2]|0)!=2){f=1;return f|0}Bca(0,e)|0;f=1;return f|0}function fda(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;e=a+196|0;d=c[e>>2]|0;if(!b){b=c[a+192>>2]|0;if((d|0)!=(b|0)){c[e>>2]=b;if(b|0){b=b+8|0;c[b>>2]=(c[b>>2]|0)+1}if(d|0?(f=d+8|0,b=c[f>>2]|0,c[f>>2]=b-1,(b|0)==1):0)UU(d,1,1)}}else if(((d|0)!=(b|0)?(c[e>>2]=b,f=b+8|0,c[f>>2]=(c[f>>2]|0)+1,d|0):0)?(b=d+8|0,f=c[b>>2]|0,c[b>>2]=f-1,(f|0)==1):0)UU(d,1,1);a=a+232|0;f=c[e>>2]|0;b=f+32|0;if(((+h[f+56>>3]==0.0?+h[f+88>>3]==0.0:0)?+h[f+120>>3]==0.0:0)?+h[f+152>>3]==1.0:0){Xra(a,b)|0;return}Yra(a,b)|0;return}function gda(b,e){b=b|0;e=e|0;var f=0,g=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0;S=l;l=l+16|0;P=S;a[b+220>>0]=0;f=c[b+228>>2]|0;if(!f){l=S;return}if(!(c[f+24>>2]|0)){l=S;return}z=b+232|0;if(!(c[z>>2]|0)){l=S;return}if(ZQ(4)|0){R=USa(mr(lr(4)|0,164051,57)|0,b)|0;BSa(P,R+(c[(c[R>>2]|0)+-12>>2]|0)|0);N=cUa(P,230580)|0;N=kk[c[(c[N>>2]|0)+28>>2]&511](N,10)|0;dUa(P);VSa(R,N)|0;HSa(R)|0}R=c[z>>2]|0;c[b+224>>2]=c[R+604>>2];B=c[e>>2]|0;f=c[R+576>>2]|0;M=c[R+580>>2]|0;v=b+260|0;w=b+264|0;Fca(v,c[w>>2]|0);x=b+268|0;c[x>>2]=0;c[v>>2]=w;c[w>>2]=0;g=c[b+144>>2]|0;e=~~(+h[g+56>>3]+ +h[g+72>>3]);g=~~(+h[g+64>>3]+ +h[g+80>>3]);N=R+584|0;i=c[N>>2]|0;R=R+588|0;if((i|0)==(R|0)){L=e;K=g;e=i}else{j=e;k=g;while(1){g=i+28|0;e=c[g>>2]|0;if(e){L=gk[c[(c[e>>2]|0)+216>>2]&1023](e)|0;e=c[g>>2]|0;j=(j|0)>(L|0)?j:L;if(e){e=gk[c[(c[e>>2]|0)+220>>2]&1023](e)|0;g=c[g>>2]|0;e=(k|0)>(e|0)?k:e;if(!g)k=e;else{gk[c[(c[g>>2]|0)+224>>2]&1023](g)|0;k=e}}else{g=j;J=16}}else{e=c[i+24>>2]|0;if(!e)e=0;else e=c[e+72>>2]|0;g=(j|0)>(e|0)?j:e;J=16}if((J|0)==16){J=0;e=c[i+24>>2]|0;if(!e)e=0;else e=c[e+76>>2]|0;k=(k|0)>(e|0)?k:e;j=g}e=c[i+4>>2]|0;if(!e){g=i+8|0;e=c[g>>2]|0;if((c[e>>2]|0)!=(i|0))do{L=c[g>>2]|0;g=L+8|0;e=c[g>>2]|0}while((c[e>>2]|0)!=(L|0))}else while(1){g=c[e>>2]|0;if(!g)break;else e=g}if((e|0)==(R|0))break;else i=e}L=j;K=k;e=c[N>>2]|0}if((e|0)!=(R|0)){s=b+264|0;t=b+252|0;u=b+256|0;r=e;while(1){p=r+16|0;q=c[r+24>>2]|0;if(q|0){g=c[q+92>>2]|0;e=c[q+96>>2]|0;if(!(c[q+112>>2]|0)){if(!g){g=c[r+20>>2]|0;if(!g)g=c[t>>2]|0}if(!e)e=c[u>>2]|0;e=(e|0)==0?5121:e;g=(g|0)==0?6408:g}j=c[w>>2]|0;do if(j){o=c[p>>2]|0;n=s;i=j;while(1){k=c[i+16>>2]|0;if((o|0)<(k|0)){k=c[i>>2]|0;if(!k){J=42;break}else{n=i;i=k}}else{if((k|0)>=(o|0)){J=46;break}n=i+4|0;k=c[n>>2]|0;if(!k){J=45;break}else i=k}}if((J|0)==42){J=0;k=i;n=i;break}else if((J|0)==45){J=0;k=i;break}else if((J|0)==46){J=0;k=i;break}}else{k=w;n=w}while(0);i=c[n>>2]|0;if(!i){j=j0a(32)|0;c[j+16>>2]=c[p>>2];i=j+20|0;c[i>>2]=0;c[i+4>>2]=0;c[i+8>>2]=0;c[j>>2]=0;c[j+4>>2]=0;c[j+8>>2]=k;c[n>>2]=j;i=c[c[v>>2]>>2]|0;if(!i)i=j;else{c[v>>2]=i;i=c[n>>2]|0}fp(c[s>>2]|0,i);c[x>>2]=(c[x>>2]|0)+1;i=j;j=c[w>>2]|0}c[i+24>>2]=g;do if(j){n=c[p>>2]|0;k=s;g=j;while(1){i=c[g+16>>2]|0;if((n|0)<(i|0)){i=c[g>>2]|0;if(!i){J=56;break}else{k=g;g=i}}else{if((i|0)>=(n|0)){J=60;break}k=g+4|0;i=c[k>>2]|0;if(!i){J=59;break}else g=i}}if((J|0)==56){J=0;n=g;k=g;break}else if((J|0)==59){J=0;n=g;break}else if((J|0)==60){J=0;n=g;break}}else{n=w;k=w}while(0);g=c[k>>2]|0;if(!g){i=j0a(32)|0;c[i+16>>2]=c[p>>2];g=i+20|0;c[g>>2]=0;c[g+4>>2]=0;c[g+8>>2]=0;c[i>>2]=0;c[i+4>>2]=0;c[i+8>>2]=n;c[k>>2]=i;g=c[c[v>>2]>>2]|0;if(!g)g=i;else{c[v>>2]=g;g=c[k>>2]|0}fp(c[s>>2]|0,g);c[x>>2]=(c[x>>2]|0)+1;g=i;j=c[w>>2]|0}c[g+28>>2]=e;do if(j){k=c[p>>2]|0;i=s;e=j;while(1){g=c[e+16>>2]|0;if((k|0)<(g|0)){g=c[e>>2]|0;if(!g){J=70;break}else{i=e;e=g}}else{if((g|0)>=(k|0)){J=74;break}i=e+4|0;g=c[i>>2]|0;if(!g){J=73;break}else e=g}}if((J|0)==70){J=0;g=e;i=e;break}else if((J|0)==73){J=0;g=e;break}else if((J|0)==74){J=0;g=e;break}}else{g=w;i=w}while(0);e=c[i>>2]|0;if(!e){e=j0a(32)|0;c[e+16>>2]=c[p>>2];I=e+20|0;c[I>>2]=0;c[I+4>>2]=0;c[I+8>>2]=0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=g;c[i>>2]=e;g=c[c[v>>2]>>2]|0;if(!g)g=e;else{c[v>>2]=g;g=c[i>>2]|0}fp(c[s>>2]|0,g);c[x>>2]=(c[x>>2]|0)+1}e=e+20|0;g=c[e>>2]|0;if(((g|0)!=(q|0)?(c[e>>2]=q,I=q+8|0,c[I>>2]=(c[I>>2]|0)+1,g|0):0)?(H=g+8|0,I=c[H>>2]|0,c[H>>2]=I-1,(I|0)==1):0)UU(g,1,1)}g=c[r+28>>2]|0;do if(g|0){e=y1a(g,47416,47432,0)|0;if(e|0){if(gk[c[(c[e>>2]|0)+216>>2]&1023](e)|0)break;c[e+236>>2]=L;break}e=y1a(g,47416,47448,0)|0;if(e|0){if(gk[c[(c[e>>2]|0)+216>>2]&1023](e)|0?gk[c[(c[e>>2]|0)+220>>2]&1023](e)|0:0)break;c[e+236>>2]=L;c[e+240>>2]=K;break}e=y1a(g,47416,47496,0)|0;if(e|0){if(gk[c[(c[e>>2]|0)+216>>2]&1023](e)|0?gk[c[(c[e>>2]|0)+220>>2]&1023](e)|0:0)break;c[e+232>>2]=L;c[e+236>>2]=K;break}e=y1a(g,47416,47512,0)|0;if(e|0){if((gk[c[(c[e>>2]|0)+216>>2]&1023](e)|0?gk[c[(c[e>>2]|0)+220>>2]&1023](e)|0:0)?gk[c[(c[e>>2]|0)+224>>2]&1023](e)|0:0)break;c[e+236>>2]=L;c[e+240>>2]=K;c[e+244>>2]=K;break}e=y1a(g,47416,47528,0)|0;if(e|0){if(gk[c[(c[e>>2]|0)+216>>2]&1023](e)|0?gk[c[(c[e>>2]|0)+220>>2]&1023](e)|0:0)break;c[e+256>>2]=L;c[e+260>>2]=K;break}e=y1a(g,47416,47544,0)|0;if(e|0){if(gk[c[(c[e>>2]|0)+216>>2]&1023](e)|0?gk[c[(c[e>>2]|0)+220>>2]&1023](e)|0:0)break;c[e+236>>2]=L;c[e+240>>2]=K}}while(0);e=c[r+4>>2]|0;if(!e){g=r+8|0;e=c[g>>2]|0;if((c[e>>2]|0)!=(r|0))do{I=c[g>>2]|0;g=I+8|0;e=c[g>>2]|0}while((c[e>>2]|0)!=(I|0))}else while(1){g=c[e>>2]|0;if(!g)break;else e=g}if((e|0)==(R|0))break;else r=e}}do if(!f){w=c[B+832>>2]|0;f=a[w+1292>>0]|0;if(!(f<<24>>24))if((M|0)>1){f=M;break}else{J=225;break}if(ZQ(4)|0){J=mr(lr(4)|0,164109,43)|0;BSa(P,J+(c[(c[J>>2]|0)+-12>>2]|0)|0);I=cUa(P,230580)|0;I=kk[c[(c[I>>2]|0)+28>>2]&511](I,10)|0;dUa(P);VSa(J,I)|0;HSa(J)|0}y=(c[z>>2]|0)+208|0;gk[c[(c[y>>2]|0)+8>>2]&1023](y)|0;e=j0a(116)|0;CD(e);x=e+8|0;c[x>>2]=(c[x>>2]|0)+1;g=c[z>>2]|0;j=c[g+596>>2]|0;do if((j|0)==-1){i=c[g+232>>2]|0;if(!i){i=c[(vt()|0)>>2]|0;g=c[z>>2]|0;j=c[g+596>>2]|0;i=c[i+124>>2]|0;if((j|0)!=-1)break}else i=c[i+124>>2]|0;g=c[g+232>>2]|0;if(!g)g=c[(vt()|0)>>2]|0;j=c[g+124>>2]|0}else i=j;while(0);if((c[w+1312>>2]|0)!=0?(m=c[N>>2]|0,(m|0)!=(R|0)):0){n=0;o=0;while(1){g=c[m+44>>2]|0;o=o>>>0>g>>>0?o:g;g=c[m+48>>2]|0;n=n>>>0>g>>>0?n:g;g=c[m+4>>2]|0;if(!g){k=m+8|0;g=c[k>>2]|0;if((c[g>>2]|0)!=(m|0))do{J=c[k>>2]|0;k=J+8|0;g=c[k>>2]|0}while((c[g>>2]|0)!=(J|0))}else while(1){k=c[g>>2]|0;if(!k)break;else g=k}if((g|0)==(R|0))break;else m=g}if(n>>>0>o>>>0)if(ZQ(2)|0){k=mr(lr(2)|0,164153,104)|0;BSa(P,k+(c[(c[k>>2]|0)+-12>>2]|0)|0);J=cUa(P,230580)|0;J=kk[c[(c[J>>2]|0)+28>>2]&511](J,10)|0;dUa(P);VSa(k,J)|0;HSa(k)|0;k=o}else k=o;else k=n;if(o){m=j0a(116)|0;CD(m);g=m+8|0;c[g>>2]=(c[g>>2]|0)+1;g=c[z>>2]|0;j=c[g+600>>2]|0;if((j|0)==-1){g=c[g+232>>2]|0;if(!g)g=c[(vt()|0)>>2]|0;j=c[g+128>>2]|0;u=o;t=k;v=m}else{u=o;t=k;v=m}}else{u=0;t=k;v=0}}else{u=0;t=0;v=0}m=c[N>>2]|0;if((m|0)!=(R|0)){s=(v|0)==0;k=0;r=0;g=0;while(1){q=c[m+16>>2]|0;n=m+20|0;o=m+28|0;if((c[o>>2]|0)==0?(c[m+24>>2]|0)==0:0){J=j0a(76)|0;mS(J,L,K,c[n>>2]|0,0,0);nS(P,J);qS(e,q,P);AD(P)}else{oS(P,n);qS(e,q,P);AD(P)}if(!s){n=c[n>>2]|0;a:do if(!n)switch(q|0){case 0:{n=33190;break a}case 1:{n=36168;break a}case 2:{n=34041;break a}default:{o=c[o>>2]|0;if(!o){n=6408;break a}p=o+188|0;n=c[p>>2]|0;if(n|0)break a;Bk[c[(c[o>>2]|0)+248>>2]&2047](o);n=c[p>>2]|0;break a}}while(0);J=j0a(76)|0;mS(J,L,K,n,u,t);nS(P,J);qS(v,q,P);AD(P)}switch(q|0){case 0:{p=1;break}case 1:{k=1;p=r;break}case 2:{k=1;p=1;break}default:{p=r;g=g|(q|0)>2}}n=c[m+4>>2]|0;if(!n){n=m+8|0;o=c[n>>2]|0;if((c[o>>2]|0)==(m|0))m=o;else do{J=c[n>>2]|0;n=J+8|0;m=c[n>>2]|0}while((c[m>>2]|0)!=(J|0))}else{m=n;while(1){n=c[m>>2]|0;if(!n)break;else m=n}}if((m|0)==(R|0))break;else r=p}if(p)J=179;else J=175}else{k=0;g=0;J=175}if((J|0)==175){if(j&1|0){J=j0a(76)|0;mS(J,L,K,33190,0,0);nS(P,J);qS(e,0,P);AD(P)}if(!((i&1|0)==0|(v|0)==0)){J=j0a(76)|0;mS(J,L,K,33190,u,t);nS(P,J);qS(v,0,P);AD(P);if(k){A=g;J=184}else J=180}else J=179}if((J|0)==179)if(k){A=g;J=184}else J=180;if((J|0)==180){if(j&2|0){I=j0a(76)|0;mS(I,L,K,36168,0,0);nS(P,I);qS(e,1,P);AD(P)}if(!((i&2|0)==0|(v|0)==0)){I=j0a(76)|0;mS(I,L,K,36168,u,t);nS(P,I);qS(v,1,P);AD(P);if(!g)J=185}else{A=g;J=184}}if((J|0)==184?!A:0)J=185;if((J|0)==185){if(j&4|0){I=j0a(76)|0;mS(I,L,K,6407,0,0);nS(P,I);qS(e,3,P);AD(P)}if(!((i&4|0)==0|(v|0)==0)){I=j0a(76)|0;mS(I,L,K,6407,u,t);nS(P,I);qS(v,3,P);AD(P)}}Jk[c[(c[e>>2]|0)+196>>2]&1023](e,B);i=w+1332|0;g=gk[c[i>>2]&1023](36160)|0;do if((g|0)!=36053){if(ZQ(3)|0){I=mr(lr(3)|0,164258,63)|0;H=I+(c[(c[I>>2]|0)+-12>>2]|0)+4|0;c[H>>2]=c[H>>2]&-75|8;I=QSa(I,g)|0;H=(c[I>>2]|0)+-12|0;G=I+(c[H>>2]|0)+4|0;c[G>>2]=c[G>>2]&-75|2;BSa(P,I+(c[H>>2]|0)|0);H=cUa(P,230580)|0;H=kk[c[(c[H>>2]|0)+28>>2]&511](H,10)|0;dUa(P);VSa(I,H)|0;HSa(I)|0}f=c[B+120>>2]|0;if(!f)f=0;else f=c[f+128>>2]|0;Jk[c[w+1320>>2]&1023](36160,f);I=c[x>>2]|0;c[x>>2]=I-1;if((I|0)==1)UU(e,1,1);I=B+124|0;H=WC(qu(c[I>>2]|0)|0)|0;Bk[c[(c[H>>2]|0)+32>>2]&2047](H);I=vD(qu(c[I>>2]|0)|0)|0;Bk[c[(c[I>>2]|0)+32>>2]&2047](I);if(!v)f=0;else{f=0;e=0;J=218}}else{c[b+152>>2]=0;a[b+156>>0]=0;c[b+160>>2]=0;a[b+164>>0]=0;j=b+272|0;g=c[j>>2]|0;if(((g|0)!=(e|0)?(c[j>>2]=e,c[x>>2]=(c[x>>2]|0)+1,g|0):0)?(I=g+8|0,J=c[I>>2]|0,c[I>>2]=J-1,(J|0)==1):0)UU(g,1,1);if(!v){g=b+276|0;i=c[g>>2]|0;if(!i){J=221;break}c[g>>2]=0;I=i+8|0;J=c[I>>2]|0;c[I>>2]=J-1;if((J|0)!=1){J=221;break}UU(i,1,1);J=221;break}Jk[c[(c[v>>2]|0)+196>>2]&1023](v,B);g=gk[c[i>>2]&1023](36160)|0;if((g|0)==36053){g=b+276|0;i=c[g>>2]|0;c[g>>2]=c[j>>2];c[j>>2]=i;g=i;if((v|0)==(g|0)){J=218;break}c[j>>2]=v;J=v+8|0;c[J>>2]=(c[J>>2]|0)+1;if(!i){J=218;break}I=g+8|0;J=c[I>>2]|0;c[I>>2]=J-1;if((J|0)!=1){J=218;break}UU(g,1,1);J=218;break}if(ZQ(3)|0){J=mr(lr(3)|0,164322,76)|0;I=J+(c[(c[J>>2]|0)+-12>>2]|0)+4|0;c[I>>2]=c[I>>2]&-75|8;J=QSa(J,g)|0;I=(c[J>>2]|0)+-12|0;H=J+(c[I>>2]|0)+4|0;c[H>>2]=c[H>>2]&-75|2;BSa(P,J+(c[I>>2]|0)|0);I=cUa(P,230580)|0;I=kk[c[(c[I>>2]|0)+28>>2]&511](I,10)|0;dUa(P);VSa(J,I)|0;HSa(J)|0}Jk[c[(c[e>>2]|0)+196>>2]&1023](e,B);I=v+8|0;J=c[I>>2]|0;c[I>>2]=J-1;if((J|0)==1)UU(v,1,1);g=b+276|0;i=c[g>>2]|0;do if(i|0){c[g>>2]=0;I=i+8|0;J=c[I>>2]|0;c[I>>2]=J-1;if((J|0)!=1)break;UU(i,1,1)}while(0);J=B+124|0;I=WC(qu(c[J>>2]|0)|0)|0;Bk[c[(c[I>>2]|0)+32>>2]&2047](I);J=vD(qu(c[J>>2]|0)|0)|0;Bk[c[(c[J>>2]|0)+32>>2]&2047](J);J=221}while(0);if((J|0)==218){H=v+8|0;I=c[H>>2]|0;c[H>>2]=I-1;if((I|0)==1)UU(v,1,1);if(e)J=221}if((J|0)==221){H=e+8|0;I=c[H>>2]|0;c[H>>2]=I-1;if((I|0)==1)UU(e,1,1)}gk[c[(c[y>>2]|0)+12>>2]&1023](y)|0;if(!(f<<24>>24)){f=(M|0)>1?M:1;J=224}else f=0}else J=224;while(0);if((J|0)==224)if((f|0)==1)J=225;if((J|0)==225){f=aT(c[B+124>>2]|0,164399)|0;f=f?1:(M|0)>2?M:2}I=b+280|0;b:do if(!(c[I>>2]|0)){A=B+120|0;B=b+152|0;C=b+156|0;D=b+160|0;E=b+164|0;F=b+236|0;G=b+240|0;H=b+244|0;c:while(1){x=(f|0)==1;p=(f|0)==4;switch(f|0){case 3:break b;case 1:case 2:case 4:break;default:break c}y=j0a(200)|0;qT(y,0);z=y+8|0;c[z>>2]=(c[z>>2]|0)+1;c[y+40>>2]=L;c[y+44>>2]=K;a[y+108>>0]=(f+-1|0)>>>0<2&1;k=p&1;a[y+72>>0]=k;a[y+110>>0]=k;k=c[N>>2]|0;if((k|0)!=(R|0)){q=y+92|0;r=y+96|0;s=y+112|0;t=y+116|0;u=y+120|0;v=y+124|0;w=y+128|0;o=0;g=0;i=0;e=0;j=0;do{switch(c[k+16>>2]|0){case 0:{c[q>>2]=24;o=1;break}case 1:{c[r>>2]=8;break}case 2:{c[q>>2]=24;c[r>>2]=8;o=1;break}case 3:{e=c[k+20>>2]|0;do if(!e){i=c[k+28>>2]|0;if(!i){e=c[k+24>>2]|0;if(!e){e=6408;break}e=c[e+88>>2]|0;break}else{g=i+188|0;e=c[g>>2]|0;if(e|0){j=i;break}Bk[c[(c[i>>2]|0)+248>>2]&2047](i);e=c[g>>2]|0;j=i;break}}while(0);i=c[k+32>>2]|0;g=c[k+36>>2]|0;if(x){m=c[k+28>>2]|0;if(!m)m=0;else m=gk[c[(c[m>>2]|0)+212>>2]&1023](m)|0;c[s>>2]=m;c[t>>2]=e;c[u>>2]=i;c[v>>2]=g;c[w>>2]=d[k+40>>0]}break}default:{m=ZQ(3)|0;if(p){if(m)mr(lr(3)|0,164422,52)|0}else if(m)mr(lr(3)|0,164475,53)|0;if(ZQ(3)|0){n=mr(lr(3)|0,164529,40)|0;BSa(P,n+(c[(c[n>>2]|0)+-12>>2]|0)|0);m=cUa(P,230580)|0;m=kk[c[(c[m>>2]|0)+28>>2]&511](m,10)|0;dUa(P);VSa(n,m)|0;HSa(n)|0}}}m=c[k+4>>2]|0;if(!m){m=k+8|0;n=c[m>>2]|0;if((c[n>>2]|0)==(k|0))k=n;else do{n=c[m>>2]|0;m=n+8|0;k=c[m>>2]|0}while((c[k>>2]|0)!=(n|0))}else{k=m;while(1){m=c[k>>2]|0;if(!m)break;else k=m}}}while((k|0)!=(R|0));if(o)k=g;else J=261}else{g=0;i=0;e=0;j=0;J=261}if((J|0)==261){J=0;c[y+92>>2]=24;k=g}c[y+76>>2]=8;c[y+84>>2]=8;c[y+80>>2]=8;c[y+88>>2]=(e|0)==6408?8:0;e=c[A>>2]|0;if(e|0?(pda(y+168|0,e)|0,Q=c[(c[y+172>>2]|0)+44>>2]|0,Q|0):0){z0a(y+12|0,Q+12|0)|0;c[y+24>>2]=c[Q+24>>2];c[y+28>>2]=c[Q+28>>2]}e=RR(y)|0;do if(e){w=e+8|0;c[w>>2]=(c[w>>2]|0)+1;if(VR(e)|0){if(ZQ(4)|0){w=mr(lr(4)|0,164570,62)|0;BSa(P,w+(c[(c[w>>2]|0)+-12>>2]|0)|0);v=cUa(P,230580)|0;v=kk[c[(c[v>>2]|0)+28>>2]&511](v,10)|0;dUa(P);VSa(w,v)|0;HSa(w)|0}g=c[I>>2]|0;if(((g|0)!=(e|0)?(c[I>>2]=e,w=e+8|0,c[w>>2]=(c[w>>2]|0)+1,g|0):0)?(v=g+8|0,w=c[v>>2]|0,c[v>>2]=w-1,(w|0)==1):0)UU(g,1,1);c[B>>2]=1028;a[C>>0]=1;c[D>>2]=1028;a[E>>0]=1;g=ZQ(4)|0;if(x&(j|0)!=0){if(g){x=mr(lr(4)|0,164633,70)|0;BSa(P,x+(c[(c[x>>2]|0)+-12>>2]|0)|0);w=cUa(P,230580)|0;w=kk[c[(c[w>>2]|0)+28>>2]&511](w,10)|0;dUa(P);VSa(x,w)|0;HSa(x)|0}f=j+228|0;g=c[f>>2]|0;if((g|0)==(e|0)){f=1;break}c[f>>2]=e;x=e+8|0;c[x>>2]=(c[x>>2]|0)+1;if(!g){f=1;break}w=g+8|0;x=c[w>>2]|0;c[w>>2]=x-1;if((x|0)!=1){f=1;break}UU(g,1,1);f=1;break}if(g){x=mr(lr(4)|0,164704,93)|0;BSa(P,x+(c[(c[x>>2]|0)+-12>>2]|0)|0);w=cUa(P,230580)|0;w=kk[c[(c[w>>2]|0)+28>>2]&511](w,10)|0;dUa(P);VSa(x,w)|0;HSa(x)|0}g=c[F>>2]|0;do if((g|0)!=(j|0)){c[F>>2]=j;if(j|0){x=j+8|0;c[x>>2]=(c[x>>2]|0)+1}if(!g)break;w=g+8|0;x=c[w>>2]|0;c[w>>2]=x-1;if((x|0)!=1)break;UU(g,1,1)}while(0);c[G>>2]=i;c[H>>2]=k}else J=289}else{e=0;J=289}while(0);if((J|0)==289){J=0;if(ZQ(4)|0){w=mr(lr(4)|0,164798,34)|0;BSa(P,w+(c[(c[w>>2]|0)+-12>>2]|0)|0);v=cUa(P,230580)|0;v=kk[c[(c[v>>2]|0)+28>>2]&511](v,10)|0;dUa(P);VSa(w,v)|0;HSa(w)|0}f=x?((f|0)<(M|0)?M:2):3}x=c[z>>2]|0;c[z>>2]=x-1;if((x|0)==1)UU(y,1,1);if(e|0?(y=e+8|0,z=c[y>>2]|0,c[y>>2]=z-1,(z|0)==1):0)UU(e,1,1);if(c[I>>2]|0){O=f;J=298;break b}}l=S;return}else{O=f;J=298}while(0);if((J|0)==298?(O|0)!=3:0){l=S;return}if(ZQ(4)|0){Q=mr(lr(4)|0,164833,36)|0;BSa(P,Q+(c[(c[Q>>2]|0)+-12>>2]|0)|0);O=cUa(P,230580)|0;O=kk[c[(c[O>>2]|0)+28>>2]&511](O,10)|0;dUa(P);VSa(Q,O)|0;HSa(Q)|0}f=c[N>>2]|0;if((f|0)==(R|0)){l=S;return}m=b+236|0;n=b+240|0;k=b+244|0;j=f;while(1){f=c[j+28>>2]|0;if(f|0){e=c[j+32>>2]|0;g=c[j+36>>2]|0;i=c[m>>2]|0;if(((i|0)!=(f|0)?(c[m>>2]=f,b=f+8|0,c[b>>2]=(c[b>>2]|0)+1,i|0):0)?(Q=i+8|0,b=c[Q>>2]|0,c[Q>>2]=b-1,(b|0)==1):0)UU(i,1,1);c[n>>2]=e;c[k>>2]=g}f=c[j+4>>2]|0;if(!f){e=j+8|0;f=c[e>>2]|0;if((c[f>>2]|0)!=(j|0))do{b=c[e>>2]|0;e=b+8|0;f=c[e>>2]|0}while((c[f>>2]|0)!=(b|0))}else while(1){e=c[f>>2]|0;if(!e)break;else f=e}if((f|0)==(R|0))break;else j=f}l=S;return}function hda(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;d=c[b>>2]|0;c[a>>2]=d;if(d|0){k=d+8|0;c[k>>2]=(c[k>>2]|0)+1}c[a+4>>2]=c[b+4>>2];e=a+8|0;f=b+8|0;c[e>>2]=0;k=a+12|0;c[k>>2]=0;g=a+16|0;c[g>>2]=0;i=b+12|0;d=(c[i>>2]|0)-(c[f>>2]|0)|0;h=d>>2;if(d|0){if(h>>>0>1073741823)g1a(e);j=j0a(d)|0;c[k>>2]=j;c[e>>2]=j;c[g>>2]=j+(h<<2);e=c[f>>2]|0;d=(c[i>>2]|0)-e|0;if((d|0)>0){x2a(j|0,e|0,d|0)|0;c[k>>2]=j+(d>>>2<<2)}}e=a+20|0;f=b+20|0;c[e>>2]=0;k=a+24|0;c[k>>2]=0;g=a+28|0;c[g>>2]=0;i=b+24|0;d=(c[i>>2]|0)-(c[f>>2]|0)|0;h=d>>2;if(d|0){if(h>>>0>1073741823)g1a(e);j=j0a(d)|0;c[k>>2]=j;c[e>>2]=j;c[g>>2]=j+(h<<2);e=c[f>>2]|0;d=(c[i>>2]|0)-e|0;if((d|0)>0){x2a(j|0,e|0,d|0)|0;c[k>>2]=j+(d>>>2<<2)}}d=c[b+32>>2]|0;c[a+32>>2]=d;if(!d)return;a=d+8|0;c[a>>2]=(c[a>>2]|0)+1;return}function ida(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0;j=l;l=l+16|0;f=j;g=b+60|0;c[g>>2]=81860;c[b+64>>2]=0;c[b+68>>2]=0;c[f>>2]=0;c[f+4>>2]=0;c[f+8>>2]=0;h=j0a(16)|0;c[f>>2]=h;c[f+8>>2]=-2147483632;c[f+4>>2]=14;i=h;k=164015;m=i+14|0;do{a[i>>0]=a[k>>0]|0;i=i+1|0;k=k+1|0}while((i|0)<(m|0));a[h+14>>0]=0;c[b>>2]=50060;c[g>>2]=50092;t0a(b+4|0,f);a[b+16>>0]=0;if((a[f+11>>0]|0)>=0){c[b>>2]=90816;c[g>>2]=90848;m=b+20|0;c[m>>2]=d;m=b+24|0;hda(m,e);l=j;return}l0a(c[f>>2]|0);c[b>>2]=90816;c[g>>2]=90848;m=b+20|0;c[m>>2]=d;m=b+24|0;hda(m,e);l=j;return}function jda(a){a=a|0;D2a(a|0)|0;return}function kda(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;i=l;l=l+16|0;g=i;h=i+4|0;if(!d){l=i;return}d=y1a(d,42800,44864,0)|0;if(!d){l=i;return}f=b+20|0;if(!(c[f>>2]|0)){l=i;return}c[g>>2]=0;a[h>>0]=0;e=b+24|0;d=c[d+48>>2]|0;b=c[e>>2]|0;if((b|0)!=(d|0)){c[e>>2]=d;if(d|0){d=d+8|0;c[d>>2]=(c[d>>2]|0)+1}if(b|0?(j=b+8|0,d=c[j>>2]|0,c[j>>2]=d-1,(d|0)==1):0)UU(b,1,1)}j=c[f>>2]|0;Qk[c[(c[j>>2]|0)+220>>2]&127](j,e,g,h);l=i;return}function lda(b){b=b|0;var d=0;c[b>>2]=90816;d=b+60|0;c[d>>2]=90848;t9(b+24|0);c[b>>2]=50060;c[d>>2]=50092;b=b+4|0;if((a[b+11>>0]|0)>=0){SU(d);return}l0a(c[b>>2]|0);SU(d);return}function mda(b){b=b|0;var d=0,e=0;c[b>>2]=90816;d=b+60|0;c[d>>2]=90848;t9(b+24|0);c[b>>2]=50060;c[d>>2]=50092;e=b+4|0;if((a[e+11>>0]|0)>=0){SU(d);l0a(b);return}l0a(c[e>>2]|0);SU(d);l0a(b);return}function nda(b){b=b|0;var d=0;d=b+(c[(c[b>>2]|0)+-16>>2]|0)|0;c[d>>2]=90816;b=d+60|0;c[b>>2]=90848;t9(d+24|0);c[d>>2]=50060;c[b>>2]=50092;d=d+4|0;if((a[d+11>>0]|0)>=0){SU(b);return}l0a(c[d>>2]|0);SU(b);return}function oda(b){b=b|0;var d=0,e=0;b=b+(c[(c[b>>2]|0)+-16>>2]|0)|0;c[b>>2]=90816;d=b+60|0;c[d>>2]=90848;t9(b+24|0);c[b>>2]=50060;c[d>>2]=50092;e=b+4|0;if((a[e+11>>0]|0)>=0){SU(d);l0a(b);return}l0a(c[e>>2]|0);SU(d);l0a(b);return}function pda(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;if(!b)d=0;else{g=b+4|0;d=c[g>>2]|0;if(!d)do{e=j0a(40)|0;uU(e,b);f=e+8|0;c[f>>2]=(c[f>>2]|0)+1;d=c[g>>2]|0;if(!d)c[g>>2]=e;if(d|0?(d=c[f>>2]|0,c[f>>2]=d-1,(d|0)==1):0)UU(e,1,1);d=c[g>>2]|0}while(!(d|0))}e=c[a>>2]|0;if((e|0)!=(d|0)){c[a>>2]=d;if(d|0){g=d+8|0;c[g>>2]=(c[g>>2]|0)+1}if(e|0?(f=e+8|0,g=c[f>>2]|0,c[f>>2]=g-1,(g|0)==1):0)UU(e,1,1);d=c[a>>2]|0}if(!d){g=0;b=a+4|0;c[b>>2]=g;return a|0}g=(c[d+24>>2]|0)==0?0:b;b=a+4|0;c[b>>2]=g;return a|0}function qda(b,d,e){b=b|0;d=d|0;e=e|0;var f=0;Dba(b,d,e);c[b>>2]=90576;a[b+104>>0]=0;rda(b+108|0,d+108|0);rda(b+120|0,d+120|0);c[b+132>>2]=0;c[b+136>>2]=0;c[b+140>>2]=0;e=c[d+144>>2]|0;c[b+144>>2]=e;if(e|0){e=e+8|0;c[e>>2]=(c[e>>2]|0)+1}c[b+148>>2]=0;c[b+152>>2]=c[d+152>>2];a[b+156>>0]=a[d+156>>0]|0;c[b+160>>2]=c[d+160>>2];a[b+164>>0]=a[d+164>>0]|0;c[b+168>>2]=c[d+168>>2];e=c[d+172>>2]|0;c[b+172>>2]=e;if(e|0){e=e+8|0;c[e>>2]=(c[e>>2]|0)+1}e=b+176|0;f=d+176|0;c[e>>2]=c[f>>2];c[e+4>>2]=c[f+4>>2];c[e+8>>2]=c[f+8>>2];c[e+12>>2]=c[f+12>>2];e=b+192|0;f=d+192|0;c[e>>2]=c[f>>2];c[e+4>>2]=c[f+4>>2];c[e+8>>2]=c[f+8>>2];c[e+12>>2]=c[f+12>>2];h[b+208>>3]=+h[d+208>>3];c[b+216>>2]=c[d+216>>2];a[b+220>>0]=a[d+220>>0]|0;c[b+224>>2]=c[d+224>>2];e=c[d+228>>2]|0;c[b+228>>2]=e;if(e|0){f=e+8|0;c[f>>2]=(c[f>>2]|0)+1}c[b+232>>2]=c[d+232>>2];c[b+236>>2]=0;c[b+240>>2]=c[d+240>>2];c[b+244>>2]=c[d+244>>2];c[b+248>>2]=0;c[b+252>>2]=c[d+252>>2];c[b+256>>2]=c[d+256>>2];c[b+264>>2]=0;c[b+268>>2]=0;c[b+260>>2]=b+264;c[b+272>>2]=0;c[b+276>>2]=0;c[b+280>>2]=0;a[b+284>>0]=a[d+284>>0]|0;Qra(b+288|0);c[b+416>>2]=0;e=c[d+420>>2]|0;c[b+420>>2]=e;if(!e){f=b+44|0;c[f>>2]=b;return}f=e+8|0;c[f>>2]=(c[f>>2]|0)+1;f=b+44|0;c[f>>2]=b;return}function rda(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;c[a>>2]=a;c[a+4>>2]=a;i=a+8|0;c[i>>2]=0;d=c[b+4>>2]|0;e=d;if((b|0)==(e|0))return;h=a;g=0;do{f=h;h=j0a(16)|0;c[h>>2]=0;c[h+8>>2]=c[d+8>>2];d=c[d+12>>2]|0;c[h+12>>2]=d;if(!d)d=g;else{f=d+8|0;c[f>>2]=(c[f>>2]|0)+1;f=c[a>>2]|0;d=c[i>>2]|0}c[h+4>>2]=a;c[h>>2]=f;c[f+4>>2]=h;c[a>>2]=h;g=d+1|0;c[i>>2]=g;d=c[e+4>>2]|0;e=d}while((b|0)!=(e|0));return}function sda(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;c[a>>2]=90868;i=a+32|0;c[i>>2]=91044;j=a+48|0;b=c[j>>2]|0;k=a+52|0;if((b|0)!=(k|0)){h=b;while(1){f=c[h+16>>2]|0;g=f+4|0;b=c[g>>2]|0;if(!b)do{b=j0a(40)|0;uU(b,f);d=b+8|0;c[d>>2]=(c[d>>2]|0)+1;e=c[g>>2]|0;if(!e)c[g>>2]=b;if(e|0?(e=c[d>>2]|0,c[d>>2]=e-1,(e|0)==1):0)UU(b,1,1);b=c[g>>2]|0}while(!(b|0));wU(b,i);b=c[h+4>>2]|0;if(!b){d=h+8|0;b=c[d>>2]|0;if((c[b>>2]|0)!=(h|0))do{h=c[d>>2]|0;d=h+8|0;b=c[d>>2]|0}while((c[b>>2]|0)!=(h|0))}else while(1){d=c[b>>2]|0;if(!d)break;else b=d}if((b|0)==(k|0))break;else h=b}}Hda(j,c[k>>2]|0);c[a+36>>2]=83012;b=c[a+40>>2]|0;Ti(b+4|0)|0;if(!b){Pr(a);return}Bk[c[(c[b>>2]|0)+4>>2]&2047](b);Pr(a);return}function tda(a){a=a|0;sda(a);l0a(a);return}function uda(a){a=a|0;a=j0a(60)|0;Pba(a);return a|0}function vda(a,b){a=a|0;b=b|0;var c=0;c=j0a(60)|0;Gda(c,a,b);return c|0}function wda(a,b){a=a|0;b=b|0;if(!b){b=0;return b|0}b=(y1a(b,42800,5e4,0)|0)!=0;return b|0}function xda(a){a=a|0;return 160686}function yda(a){a=a|0;return 165040}function zda(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=c[a+48>>2]|0;f=a+52|0;if((f|0)==(d|0))return;do{e=c[d+20>>2]|0;Jk[c[(c[e>>2]|0)+156>>2]&1023](e,b);e=d;d=c[e+4>>2]|0;if(!d){a=e+8|0;d=c[a>>2]|0;if((c[d>>2]|0)!=(e|0))do{e=c[a>>2]|0;a=e+8|0;d=c[a>>2]|0}while((c[d>>2]|0)!=(e|0))}else while(1){a=c[d>>2]|0;if(!a)break;else d=a}}while((f|0)!=(d|0));return}function Ada(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=c[a+48>>2]|0;f=a+52|0;if((d|0)==(f|0))return;e=d;while(1){a=c[e+20>>2]|0;Jk[c[(c[a>>2]|0)+160>>2]&1023](a,b);a=c[e+4>>2]|0;if(!a){d=e+8|0;a=c[d>>2]|0;if((c[a>>2]|0)!=(e|0))do{e=c[d>>2]|0;d=e+8|0;a=c[d>>2]|0}while((c[a>>2]|0)!=(e|0))}else while(1){d=c[a>>2]|0;if(!d)break;else a=d}if((a|0)==(f|0))break;else e=a}return}function Bda(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;j=l;l=l+16|0;f=j+4|0;g=j;h=a+36|0;gk[c[(c[h>>2]|0)+8>>2]&1023](h)|0;i=a+52|0;d=c[i>>2]|0;if(d|0){e=i;do{k=(c[d+16>>2]|0)>>>0<b>>>0;e=k?e:d;d=c[(k?d+4|0:d)>>2]|0}while((d|0)!=0);if((e|0)!=(i|0)?(c[e+16>>2]|0)>>>0<=b>>>0:0){c[g>>2]=e;c[f>>2]=c[g>>2];Fda(a+48|0,f)|0}}gk[c[(c[h>>2]|0)+12>>2]&1023](h)|0;l=j;return}function Cda(a){a=a|0;sda(a+-32|0);return}function Dda(a){a=a|0;a=a+-32|0;sda(a);l0a(a);return}function Eda(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;j=l;l=l+16|0;h=j+4|0;i=j;e=a+-32|0;f=e+36|0;gk[c[(c[f>>2]|0)+8>>2]&1023](f)|0;g=e+52|0;a=c[g>>2]|0;if(a|0){d=g;do{k=(c[a+16>>2]|0)>>>0<b>>>0;d=k?d:a;a=c[(k?a+4|0:a)>>2]|0}while((a|0)!=0);if((d|0)!=(g|0)?(c[d+16>>2]|0)>>>0<=b>>>0:0){c[i>>2]=d;c[h>>2]=c[i>>2];Fda(e+48|0,h)|0}}gk[c[(c[f>>2]|0)+12>>2]&1023](f)|0;l=j;return}function Fda(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;e=c[b>>2]|0;b=c[e+4>>2]|0;if(!b){b=e+8|0;d=c[b>>2]|0;if((c[d>>2]|0)!=(e|0))do{f=c[b>>2]|0;b=f+8|0;d=c[b>>2]|0}while((c[d>>2]|0)!=(f|0))}else{while(1){d=c[b>>2]|0;if(!d)break;else b=d}d=b}if((c[a>>2]|0)==(e|0))c[a>>2]=d;b=a+8|0;c[b>>2]=(c[b>>2]|0)+-1;Pw(c[a+4>>2]|0,e);b=c[e+20>>2]|0;if(!b){l0a(e);return d|0}a=b+8|0;f=c[a>>2]|0;c[a>>2]=f-1;if((f|0)!=1){l0a(e);return d|0}UU(b,1,1);l0a(e);return d|0}function Gda(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;d=l;l=l+16|0;e=d;c[a+4>>2]=0;c[a+8>>2]=0;c[a>>2]=68320;b=a+12|0;c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;c[a+24>>2]=2;c[a+28>>2]=0;b=a+32|0;tU(b);c[a>>2]=90868;c[b>>2]=91044;c[a+36>>2]=83012;c[a+44>>2]=0;Vi(e|0)|0;b=j0a(32)|0;c[b>>2]=83040;Wi(e|0,2)|0;Ui(b+4|0,e|0)|0;c[a+40>>2]=b;c[a+52>>2]=0;c[a+56>>2]=0;c[a+48>>2]=a+52;l=d;return}function Hda(a,b){a=a|0;b=b|0;var d=0,e=0;if(!b)return;Hda(a,c[b>>2]|0);Hda(a,c[b+4>>2]|0);a=c[b+20>>2]|0;if(a|0?(e=a+8|0,d=c[e>>2]|0,c[e>>2]=d-1,(d|0)==1):0)UU(a,1,1);l0a(b);return}function Ida(a){a=a|0;Hda(a,c[a+4>>2]|0);return}function Jda(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,i=0,j=0.0,k=0.0,m=0.0,n=0.0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0.0,x=0.0,y=0.0,z=0.0,B=0.0,C=0.0,D=0.0;v=l;l=l+352|0;q=v+296|0;u=v+152|0;t=v;f=FA(d)|0;if(e){C=+h[b+16>>3];y=+h[b+48>>3];m=+h[b+80>>3];o=C<=-0.0;p=y<=-0.0;s=m<=-0.0;i=((p?2:0)|o&1|(s?4:0))^7;z=+g[f>>2];B=+g[f+12>>2];w=+g[f+4>>2];x=+g[f+16>>2];k=+g[f+8>>2];n=+g[f+20>>2];D=+h[b+112>>3];j=-(D+(m*((i&4|0)==0?k:n)+(C*((i&1|0)==0?z:B)+y*((i&2|0)==0?w:x))));k=-(D+(C*(o?B:z)+y*(p?x:w)+m*(s?n:k)));if(ZQ(3)|0){s=lr(3)|0;c[s+(c[(c[s>>2]|0)+-12>>2]|0)+8>>2]=15}}else{p=c[a+344>>2]|0;w=+g[f>>2];x=+g[f+12>>2];z=+g[f+4>>2];B=+g[f+16>>2];D=+g[f+8>>2];k=+g[f+20>>2];n=+h[b+16>>3];y=+h[b+48>>3];C=+h[b+80>>3];m=+h[b+112>>3];s=c[a+348>>2]|0;j=-(m+(n*((p&1|0)==0?w:x)+y*((p&2|0)==0?z:B)+C*((p&4|0)==0?D:k)));k=-(m+(n*((s&1|0)==0?w:x)+y*((s&2|0)==0?z:B)+C*((s&4|0)==0?D:k)))}if(j>k){m=k;n=j;if(!(m==n)?(B=+A(+(m-n)),C=+A(+m),D=+A(+n),!(B<=(C>D?C:D)*1.0000000474974513e-03)):0){if(ZQ(2)|0){s=mr(lr(2)|0,165440,79)|0;BSa(q,s+(c[(c[s>>2]|0)+-12>>2]|0)|0);p=cUa(q,230580)|0;p=kk[c[(c[p>>2]|0)+28>>2]&511](p,10)|0;dUa(q);VSa(s,p)|0;HSa(s)|0}if(ZQ(2)|0){s=TSa(mr(TSa(mr(lr(2)|0,165520,46)|0,k)|0,165567,6)|0,j)|0;BSa(q,s+(c[(c[s>>2]|0)+-12>>2]|0)|0);p=cUa(q,230580)|0;p=kk[c[(c[p>>2]|0)+28>>2]&511](p,10)|0;dUa(q);VSa(s,p)|0;HSa(s)|0;m=k}else m=k}else m=k}else{m=j;j=k}if(j<0.0){u=0;l=v;return u|0}s=a+68|0;o=a+400|0;f=m<+h[o>>3];if((c[s>>2]&-2|0)!=2){if(f)h[o>>3]=m;f=a+408|0;if(!(j>+h[f>>3])){u=1;l=v;return u|0}h[f>>3]=j;u=1;l=v;return u|0}if(!f?!(j>+h[a+408>>3]):0){u=1;l=v;return u|0}p=c[a+336>>2]|0;i=p+16|0;if(!(c[p+36>>2]|0)){if(f)h[o>>3]=m;f=a+408|0;if(!(j>+h[f>>3])){u=1;l=v;return u|0}h[f>>3]=j;u=1;l=v;return u|0}Qra(u);p=u+128|0;c[p>>2]=0;c[p+4>>2]=0;c[p+8>>2]=0;c[p+12>>2]=0;if(e){f=q+16|0;i=q;e=i+48|0;do{c[i>>2]=0;i=i+4|0}while((i|0)<(e|0));c[f>>2]=1;cA(q,(c[a+312>>2]|0)+-92|0,b);aea(u,b,d,q);f=c[q+36>>2]|0;if(f|0){c[q+40>>2]=f;l0a(f)}f=c[q+24>>2]|0;if(f|0){c[q+28>>2]=f;l0a(f)}f=c[q+4>>2]|0;if(f|0){c[q+8>>2]=f;l0a(f)}}else aea(u,b,d,i);if(m<+h[o>>3]){h[t>>3]=m;h[t+8>>3]=+h[u>>3];h[t+16>>3]=+h[u+8>>3];h[t+24>>3]=+h[u+16>>3];h[t+32>>3]=+h[u+24>>3];h[t+40>>3]=+h[u+32>>3];h[t+48>>3]=+h[u+40>>3];h[t+56>>3]=+h[u+48>>3];h[t+64>>3]=+h[u+56>>3];h[t+72>>3]=+h[u+64>>3];h[t+80>>3]=+h[u+72>>3];h[t+88>>3]=+h[u+80>>3];h[t+96>>3]=+h[u+88>>3];h[t+104>>3]=+h[u+96>>3];h[t+112>>3]=+h[u+104>>3];h[t+120>>3]=+h[u+112>>3];h[t+128>>3]=+h[u+120>>3];c[t+136>>2]=c[p>>2];Mz(t+140|0,u+132|0);b=a+476|0;bea(q,b,t);f=c[q>>2]|0;e=a+480|0;i=c[e>>2]|0;do if(i){k=+h[f+16>>3];while(1)if(k<+h[i+16>>3]){e=c[i>>2]|0;if(!e){r=31;break}else i=e}else{e=c[i+4>>2]|0;if(!e){r=33;break}else i=e}if((r|0)==31){o=i;e=i;break}else if((r|0)==33){o=i;e=i+4|0;break}}else o=e;while(0);c[f>>2]=0;c[f+4>>2]=0;c[f+8>>2]=o;c[e>>2]=f;i=c[c[b>>2]>>2]|0;if(i){c[b>>2]=i;f=c[e>>2]|0}fp(c[a+480>>2]|0,f);f=a+484|0;c[f>>2]=(c[f>>2]|0)+1;f=c[t+140>>2]|0;if(f|0){c[t+144>>2]=f;l0a(f)}}d=a+408|0;if((c[s>>2]|0)==2){if(j>+h[d>>3]){h[t>>3]=j;h[t+8>>3]=+h[u>>3];h[t+16>>3]=+h[u+8>>3];h[t+24>>3]=+h[u+16>>3];h[t+32>>3]=+h[u+24>>3];h[t+40>>3]=+h[u+32>>3];h[t+48>>3]=+h[u+40>>3];h[t+56>>3]=+h[u+48>>3];h[t+64>>3]=+h[u+56>>3];h[t+72>>3]=+h[u+64>>3];h[t+80>>3]=+h[u+72>>3];h[t+88>>3]=+h[u+80>>3];h[t+96>>3]=+h[u+88>>3];h[t+104>>3]=+h[u+96>>3];h[t+112>>3]=+h[u+104>>3];h[t+120>>3]=+h[u+112>>3];h[t+128>>3]=+h[u+120>>3];c[t+136>>2]=c[p>>2];Mz(t+140|0,u+132|0);b=a+488|0;bea(q,b,t);f=c[q>>2]|0;e=a+492|0;i=c[e>>2]|0;do if(i){k=+h[f+16>>3];while(1)if(k<+h[i+16>>3]){e=c[i>>2]|0;if(!e){r=47;break}else i=e}else{e=c[i+4>>2]|0;if(!e){r=49;break}else i=e}if((r|0)==47){o=i;e=i;break}else if((r|0)==49){o=i;e=i+4|0;break}}else o=e;while(0);c[f>>2]=0;c[f+4>>2]=0;c[f+8>>2]=o;c[e>>2]=f;i=c[c[b>>2]>>2]|0;if(i){c[b>>2]=i;f=c[e>>2]|0}fp(c[a+492>>2]|0,f);f=a+496|0;c[f>>2]=(c[f>>2]|0)+1;f=c[t+140>>2]|0;if(f|0){c[t+144>>2]=f;l0a(f)}if((c[s>>2]|0)!=2)r=57}}else r=57;if((r|0)==57?j>+h[d>>3]:0)h[d>>3]=j;f=c[u+132>>2]|0;if(f|0){c[u+136>>2]=f;l0a(f)}u=1;l=v;return u|0}function Kda(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=l;l=l+16|0;f=d;e=mr(a,165434,1)|0;BSa(f,e+(c[(c[e>>2]|0)+-12>>2]|0)|0);g=cUa(f,230580)|0;g=kk[c[(c[g>>2]|0)+28>>2]&511](g,10)|0;dUa(f);VSa(e,g)|0;HSa(e)|0;mr(a,165436,1)|0;mr(TSa(a,+h[b>>3])|0,184785,1)|0;mr(TSa(a,+h[b+8>>3])|0,184785,1)|0;mr(TSa(a,+h[b+16>>3])|0,184785,1)|0;mr(TSa(a,+h[b+24>>3])|0,184785,1)|0;BSa(f,a+(c[(c[a>>2]|0)+-12>>2]|0)|0);e=cUa(f,230580)|0;e=kk[c[(c[e>>2]|0)+28>>2]&511](e,10)|0;dUa(f);VSa(a,e)|0;HSa(a)|0;mr(a,165436,1)|0;mr(TSa(a,+h[b+32>>3])|0,184785,1)|0;mr(TSa(a,+h[b+40>>3])|0,184785,1)|0;mr(TSa(a,+h[b+48>>3])|0,184785,1)|0;mr(TSa(a,+h[b+56>>3])|0,184785,1)|0;BSa(f,a+(c[(c[a>>2]|0)+-12>>2]|0)|0);e=cUa(f,230580)|0;e=kk[c[(c[e>>2]|0)+28>>2]&511](e,10)|0;dUa(f);VSa(a,e)|0;HSa(a)|0;mr(a,165436,1)|0;mr(TSa(a,+h[b+64>>3])|0,184785,1)|0;mr(TSa(a,+h[b+72>>3])|0,184785,1)|0;mr(TSa(a,+h[b+80>>3])|0,184785,1)|0;mr(TSa(a,+h[b+88>>3])|0,184785,1)|0;BSa(f,a+(c[(c[a>>2]|0)+-12>>2]|0)|0);e=cUa(f,230580)|0;e=kk[c[(c[e>>2]|0)+28>>2]&511](e,10)|0;dUa(f);VSa(a,e)|0;HSa(a)|0;mr(a,165436,1)|0;mr(TSa(a,+h[b+96>>3])|0,184785,1)|0;mr(TSa(a,+h[b+104>>3])|0,184785,1)|0;mr(TSa(a,+h[b+112>>3])|0,184785,1)|0;mr(TSa(a,+h[b+120>>3])|0,184785,1)|0;BSa(f,a+(c[(c[a>>2]|0)+-12>>2]|0)|0);b=cUa(f,230580)|0;b=kk[c[(c[b>>2]|0)+28>>2]&511](b,10)|0;dUa(f);VSa(a,b)|0;HSa(a)|0;b=mr(a,165438,1)|0;BSa(f,b+(c[(c[b>>2]|0)+-12>>2]|0)|0);e=cUa(f,230580)|0;e=kk[c[(c[e>>2]|0)+28>>2]&511](e,10)|0;dUa(f);VSa(b,e)|0;HSa(b)|0;l=d;return a|0}function Lda(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;i=a+4|0;j=c[a>>2]|0;k=(c[i>>2]|0)-j|0;g=k>>2;d=g+1|0;if(d>>>0>1073741823)g1a(a);l=a+8|0;f=(c[l>>2]|0)-j|0;h=f>>1;h=f>>2>>>0<536870911?(h>>>0<d>>>0?d:h):1073741823;do if(h)if(h>>>0>1073741823){l=db(8)|0;p0a(l,183738);c[l>>2]=110936;hb(l|0,65952,1066)}else{f=j0a(h<<2)|0;e=f;break}else{e=0;f=0}while(0);d=e+(g<<2)|0;c[d>>2]=c[b>>2];if((k|0)>0)x2a(f|0,j|0,k|0)|0;c[a>>2]=e;c[i>>2]=d+4;c[l>>2]=e+(h<<2);if(!j)return;l0a(j);return}function Mda(b,d,e,f,h){b=b|0;d=d|0;e=e|0;f=f|0;h=+h;var i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0;r=l;l=l+16|0;o=r;q=b+432|0;k=c[q>>2]|0;n=b+420|0;p=b+424|0;j=c[n>>2]|0;i=(c[p>>2]|0)-j>>2;do if(k>>>0<i>>>0){while(1){if((c[(c[j+(k<<2)>>2]|0)+8>>2]|0)<=1){m=4;break}k=mr(lr(4)|0,165200,102)|0;k=mr(RSa(k,(c[p>>2]|0)-(c[n>>2]|0)>>2)|0,165303,22)|0;k=mr(QSa(k,c[q>>2]|0)|0,165326,20)|0;k=PSa(k,c[(c[(c[n>>2]|0)+(c[q>>2]<<2)>>2]|0)+8>>2]|0)|0;BSa(o,k+(c[(c[k>>2]|0)+-12>>2]|0)|0);j=cUa(o,230580)|0;j=kk[c[(c[j>>2]|0)+28>>2]&511](j,10)|0;dUa(o);VSa(k,j)|0;HSa(k)|0;k=(c[q>>2]|0)+1|0;c[q>>2]=k;j=c[n>>2]|0;i=(c[p>>2]|0)-j>>2;if(k>>>0>=i>>>0){m=6;break}}if((m|0)==4){j=c[n>>2]|0;i=(c[p>>2]|0)-j>>2;k=c[q>>2]|0;break}else if((m|0)==6)break}while(0);if(k>>>0>=i>>>0){k=j0a(40)|0;j=b+416|0;i=c[j>>2]|0;c[j>>2]=i+1;c[k+4>>2]=0;j=k+8|0;c[j>>2]=0;c[k>>2]=91064;c[k+12>>2]=0;c[k+16>>2]=d;if(d|0){m=d+8|0;c[m>>2]=(c[m>>2]|0)+1}c[k+20>>2]=e;if(e|0){e=e+8|0;c[e>>2]=(c[e>>2]|0)+1}c[k+24>>2]=f;if(f|0){f=f+8|0;c[f>>2]=(c[f>>2]|0)+1}g[k+28>>2]=h;c[k+36>>2]=i;a[k+32>>0]=(c[d+24>>2]|0)==0&1;c[o>>2]=k;c[j>>2]=(c[j>>2]|0)+1;i=c[p>>2]|0;if(i>>>0<(c[b+428>>2]|0)>>>0){j=c[o>>2]|0;c[i>>2]=j;if(j){i=j+8|0;c[i>>2]=(c[i>>2]|0)+1;i=c[p>>2]|0}c[p>>2]=i+4}else Oda(n,o);i=c[o>>2]|0;if(i|0?(d=i+8|0,f=c[d>>2]|0,c[d>>2]=f-1,(f|0)==1):0)UU(i,1,1);c[q>>2]=(c[q>>2]|0)+1;f=k;l=r;return f|0}c[q>>2]=k+1;m=c[j+(k<<2)>>2]|0;i=b+416|0;k=c[i>>2]|0;c[i>>2]=k+1;c[m+12>>2]=0;i=m+16|0;j=c[i>>2]|0;if((j|0)!=(d|0)){c[i>>2]=d;if(d|0){q=d+8|0;c[q>>2]=(c[q>>2]|0)+1}if(j|0?(p=j+8|0,q=c[p>>2]|0,c[p>>2]=q-1,(q|0)==1):0)UU(j,1,1)}i=m+20|0;j=c[i>>2]|0;if((j|0)!=(e|0)){c[i>>2]=e;if(e|0){e=e+8|0;c[e>>2]=(c[e>>2]|0)+1}if(j|0?(q=j+8|0,e=c[q>>2]|0,c[q>>2]=e-1,(e|0)==1):0)UU(j,1,1)}i=m+24|0;j=c[i>>2]|0;if((j|0)!=(f|0)){c[i>>2]=f;if(f|0){f=f+8|0;c[f>>2]=(c[f>>2]|0)+1}if(j|0?(e=j+8|0,f=c[e>>2]|0,c[e>>2]=f-1,(f|0)==1):0)UU(j,1,1)}g[m+28>>2]=h;a[m+32>>0]=(c[d+24>>2]|0)==0&1;c[m+36>>2]=k;f=m;l=r;return f|0}function Nda(b,d){b=b|0;d=d|0;var e=0,f=0,h=0,i=0,j=0;j=l;l=l+16|0;h=j;if(!d){l=j;return}g[b+48>>2]=3402823466385288598117041.0e14;g[b+52>>2]=3402823466385288598117041.0e14;c[h>>2]=d;i=d+8|0;c[i>>2]=(c[i>>2]|0)+1;i=b+40|0;e=c[i>>2]|0;if(e>>>0<(c[b+44>>2]|0)>>>0){f=c[h>>2]|0;c[e>>2]=f;if(f){e=f+8|0;c[e>>2]=(c[e>>2]|0)+1;e=c[i>>2]|0}c[i>>2]=e+4}else Oda(b+36|0,h);e=c[h>>2]|0;if(e|0?(h=e+8|0,i=c[h>>2]|0,c[h>>2]=i-1,(i|0)==1):0)UU(e,1,1);c[d+12>>2]=b;if(!(a[b+60>>0]|0)){l=j;return}a[d+32>>0]=1;l=j;return}function Oda(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;m=a+4|0;d=c[m>>2]|0;e=c[a>>2]|0;i=d-e>>2;f=i+1|0;g=e;if(f>>>0>1073741823)g1a(a);l=a+8|0;j=(c[l>>2]|0)-e|0;k=j>>1;f=j>>2>>>0<536870911?(k>>>0<f>>>0?f:k):1073741823;do if(f)if(f>>>0>1073741823){m=db(8)|0;p0a(m,183738);c[m>>2]=110936;hb(m|0,65952,1066)}else{j=j0a(f<<2)|0;break}else j=0;while(0);e=j+(i<<2)|0;k=j+(f<<2)|0;f=c[b>>2]|0;c[e>>2]=f;if(f){g=f+8|0;c[g>>2]=(c[g>>2]|0)+1;g=c[a>>2]|0;d=c[m>>2]|0}h=e+4|0;f=g;if((d|0)==(g|0))b=f;else{b=i+-1-((d+-4-f|0)>>>2)|0;while(1){d=d+-4|0;f=c[d>>2]|0;c[e+-4>>2]=f;if(f|0){i=f+8|0;c[i>>2]=(c[i>>2]|0)+1}if((d|0)==(g|0))break;else e=e+-4|0}e=j+(b<<2)|0;b=c[a>>2]|0;d=c[m>>2]|0}c[a>>2]=e;c[m>>2]=h;c[l>>2]=k;f=b;if((d|0)!=(f|0))do{d=d+-4|0;e=c[d>>2]|0;if(e|0?(l=e+8|0,m=c[l>>2]|0,c[l>>2]=m-1,(m|0)==1):0)UU(e,1,1);c[d>>2]=0}while((d|0)!=(f|0));if(!b)return;l0a(b);return}function Pda(a){a=a|0;var b=0,d=0,e=0,f=0;c[a>>2]=91064;b=a+24|0;d=c[b>>2]|0;if(d|0?(f=d+8|0,e=c[f>>2]|0,c[f>>2]=e-1,(e|0)==1):0)UU(d,1,1);c[b>>2]=0;b=a+20|0;d=c[b>>2]|0;if(d|0?(e=d+8|0,f=c[e>>2]|0,c[e>>2]=f-1,(f|0)==1):0)UU(d,1,1);c[b>>2]=0;b=a+16|0;d=c[b>>2]|0;if(!d){c[b>>2]=0;SU(a);return}e=d+8|0;f=c[e>>2]|0;c[e>>2]=f-1;if((f|0)!=1){c[b>>2]=0;SU(a);return}UU(d,1,1);c[b>>2]=0;SU(a);return}function Qda(a){a=a|0;Pda(a);l0a(a);return}function Rda(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;k=c[d>>2]|0;h=c[k+364>>2]|0;if(h|0?a[h>>0]|0:0)return;Sda(k,c[b+20>>2]|0);jca(k,c[b+24>>2]|0);if(!e){j=b+12|0;Tda(k,0,c[(c[j>>2]|0)+12>>2]|0);Uda(k,c[(c[j>>2]|0)+16>>2]|0);if(a[k+130>>0]|0?(g=k+708|0,f=c[g>>2]|0,f|0):0){e=c[k+212>>2]|0;if(e|0)wca(f,e);e=c[k+216>>2]|0;if(e|0)wca(c[g>>2]|0,e);e=c[k+220>>2]|0;if(e|0)wca(c[g>>2]|0,e);e=c[k+224>>2]|0;if(e|0)wca(c[g>>2]|0,e)}kS(c[b+16>>2]|0,d)}else{e=c[e+12>>2]|0;f=c[e+12>>2]|0;g=c[b+12>>2]|0;h=c[g+12>>2]|0;if((f|0)==(h|0)){if((g|0)!=(e|0))Uda(k,c[g+16>>2]|0)}else{Tda(k,f,h);Uda(k,c[g+16>>2]|0)}if(a[k+130>>0]|0?(j=k+708|0,i=c[j>>2]|0,i|0):0){e=c[k+212>>2]|0;if(e|0)wca(i,e);e=c[k+216>>2]|0;if(e|0)wca(c[j>>2]|0,e);e=c[k+220>>2]|0;if(e|0)wca(c[j>>2]|0,e);e=c[k+224>>2]|0;if(e|0)wca(c[j>>2]|0,e)}kS(c[b+16>>2]|0,d)}if(!(a[b+32>>0]|0))return;b=k+836|0;d=(c[b>>2]|0)+-1|0;c[b>>2]=d;if(d|0)return;e=c[k+840>>2]|0;if(!e)return;Jk[c[(c[e>>2]|0)+12>>2]&1023](e,k);return}function Sda(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;f=b+200|0;e=c[f>>2]|0;if((e|0)==(d|0))return;if(!d){d=c[b+192>>2]|0;if((e|0)!=(d|0)){c[f>>2]=d;if(d|0){g=d+8|0;c[g>>2]=(c[g>>2]|0)+1}if(e|0?(d=e+8|0,g=c[d>>2]|0,c[d>>2]=g-1,(g|0)==1):0)UU(e,1,1)}}else{c[f>>2]=d;g=d+8|0;c[g>>2]=(c[g>>2]|0)+1;if(e|0?(d=e+8|0,g=c[d>>2]|0,c[d>>2]=g-1,(g|0)==1):0)UU(e,1,1)}if(!(a[b+130>>0]|0))return;g=c[b+216>>2]|0;if(g|0){f=(c[f>>2]|0)+32|0;e=g+64|0;d=c[e>>2]|0;if(!d){H2(g,1);d=c[e>>2]|0}if((d|0)==1)nca(g,0,f)|0}oca(b);return}function Tda(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0;n=l;l=l+16|0;j=n;m=n+4|0;c[j>>2]=d;if((d|0)==(b|0)|(d|0)==0){l=n;return}if(!b){c[m>>2]=0;f=m+4|0;c[f>>2]=0;b=m+8|0;c[b>>2]=0;$da(m,(c[d+20>>2]|0)+1|0);do{d=c[f>>2]|0;if((d|0)==(c[b>>2]|0))Lda(m,j);else{c[d>>2]=c[j>>2];c[f>>2]=(c[f>>2]|0)+4}i=c[(c[j>>2]|0)+12>>2]|0;c[j>>2]=i}while((i|0)!=0);d=c[f>>2]|0;e=c[m>>2]|0;if((d|0)==(e|0)){if(d|0)k=11}else while(1){d=d+-4|0;b=c[(c[d>>2]|0)+16>>2]|0;if(!b)b=e;else{Vaa(a,b);b=c[m>>2]|0}if((d|0)==(b|0)){k=11;break}else e=b}if((k|0)==11){c[f>>2]=d;l0a(d)}l=n;return}if((c[b+12>>2]|0)==(c[d+12>>2]|0)){if(c[b+16>>2]|0)Uaa(a);d=c[d+16>>2]|0;if(!d){l=n;return}Vaa(a,d);l=n;return}e=b+20|0;f=d+20|0;d=c[f>>2]|0;if((c[e>>2]|0)>(d|0)){e=b;do{if(c[e+16>>2]|0){Uaa(a);d=c[f>>2]|0}e=c[e+12>>2]|0}while((c[e+20>>2]|0)>(d|0));b=e;g=e+20|0}else g=e;c[m>>2]=0;i=m+4|0;c[i>>2]=0;h=m+8|0;c[h>>2]=0;$da(m,d+1|0);d=c[j>>2]|0;e=c[g>>2]|0;if((c[d+20>>2]|0)>(e|0))do{f=c[i>>2]|0;if((f|0)==(c[h>>2]|0)){Lda(m,j);e=c[g>>2]|0}else{c[f>>2]=d;c[i>>2]=(c[i>>2]|0)+4}d=c[(c[j>>2]|0)+12>>2]|0;c[j>>2]=d}while((c[d+20>>2]|0)>(e|0));if((b|0)!=(d|0)){d=b;do{if(c[d+16>>2]|0)Uaa(a);d=c[d+12>>2]|0;b=c[i>>2]|0;if((b|0)==(c[h>>2]|0))Lda(m,j);else{c[b>>2]=c[j>>2];c[i>>2]=(c[i>>2]|0)+4}g=c[(c[j>>2]|0)+12>>2]|0;c[j>>2]=g}while((d|0)!=(g|0))}d=c[i>>2]|0;b=c[m>>2]|0;if((d|0)==(b|0)){if(d|0)k=45}else{e=b;while(1){d=d+-4|0;b=c[(c[d>>2]|0)+16>>2]|0;if(!b)b=e;else{Vaa(a,b);b=c[m>>2]|0}if((d|0)==(b|0)){k=45;break}else e=b}}if((k|0)==45){c[i>>2]=d;l0a(d)}l=n;return}function Uda(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;C=l;l=l+16|0;x=C+8|0;y=C+4|0;A=C;c[A>>2]=d;B=b+368|0;e=d;if((c[B>>2]|0)==2)qca(0,165347,0)|0;if(!d)ica(b);else{z=b+716|0;d=c[z>>2]|0;if((d|0)==(c[b+720>>2]|0))Taa(b+712|0,A);else{c[d>>2]=e;c[z>>2]=(c[z>>2]|0)+4}v=b+156|0;u=b+160|0;eY(v,c[u>>2]|0);t=b+164|0;c[t>>2]=0;c[v>>2]=u;c[u>>2]=0;d=c[A>>2]|0;j=d+68|0;k=d+80|0;m=d+72|0;g=c[m>>2]|0;e=c[j>>2]|0;o=(g-e|0)/12|0;n=d+84|0;q=((c[n>>2]|0)-(c[k>>2]|0)|0)/12|0;q=o>>>0>q>>>0?o:q;o=b+684|0;p=b+688|0;i=((c[p>>2]|0)-(c[o>>2]|0)|0)/12|0;i=q>>>0>i>>>0?q:i;q=b+696|0;r=b+700|0;s=((c[r>>2]|0)-(c[q>>2]|0)|0)/12|0;s=i>>>0>s>>>0?i:s;if(s){d=0;while(1){h=c[o>>2]|0;i=((c[p>>2]|0)-h|0)/12|0;if(d>>>0>=((g-e|0)/12|0)>>>0){if(d>>>0<i>>>0)rca(b,d,h+(d*12|0)|0)}else{if(i>>>0<=d>>>0)Xaa(o,d+1-i|0);Vda(b,d,(c[o>>2]|0)+(d*12|0)|0,(c[j>>2]|0)+(d*12|0)|0)}e=c[q>>2]|0;g=((c[r>>2]|0)-e|0)/12|0;if(d>>>0>=(((c[n>>2]|0)-(c[k>>2]|0)|0)/12|0)>>>0){if(d>>>0<g>>>0)sca(b,d,e+(d*12|0)|0)}else{if(g>>>0<=d>>>0)sD(q,d+1-g|0);Wda(b,d,(c[q>>2]|0)+(d*12|0)|0,(c[k>>2]|0)+(d*12|0)|0)}d=d+1|0;if(d>>>0>=s>>>0)break;e=c[j>>2]|0;g=c[m>>2]|0}d=c[A>>2]|0}h=b+708|0;e=c[h>>2]|0;Xda(b,b+620|0,d+44|0);i=b+656|0;_aa(b,i,(c[A>>2]|0)+104|0);Yda(b,b+632|0,(c[A>>2]|0)+56|0);s=c[h>>2]|0;if((s|0)!=0&(e|0)==(s|0)?a[b+668>>0]|0:0){s=c[e+12>>2]|0;Jk[c[(c[s>>2]|0)+196>>2]&1023](s,b)}if(a[b+144>>0]|0?(s=c[h>>2]|0,(e|0)==(s|0)|(s|0)==0):0)vca(b);if((c[B>>2]|0)==2)qca(0,163014,0)|0;g=c[A>>2]|0;d=g+92|0;e=(c[t>>2]|0)==0;do if(!(c[g+100>>2]|0)){d=b+644|0;if(!e){xca(b,d,v);break}if(c[h>>2]|0?(f=c[d>>2]|0,w=b+648|0,(f|0)!=(w|0)):0)while(1){d=c[f+32>>2]|0;if((c[f+28>>2]|0)!=(d|0))wca(c[h>>2]|0,c[d+-8>>2]|0);d=c[f+4>>2]|0;if(!d){e=f+8|0;d=c[e>>2]|0;if((c[d>>2]|0)!=(f|0))do{y=c[e>>2]|0;e=y+8|0;d=c[e>>2]|0}while((c[d>>2]|0)!=(y|0))}else while(1){e=c[d>>2]|0;if(!e)break;else d=e}if((d|0)==(w|0))break;else f=d}}else{if(e){xca(b,b+644|0,d);break}d=c[d>>2]|0;h=g+96|0;if((d|0)!=(h|0)){g=u;f=d;while(1){d=f+16|0;c[y>>2]=g;c[x>>2]=c[y>>2];Zda(v,x,d,d)|0;d=c[f+4>>2]|0;if(!d){e=f+8|0;d=c[e>>2]|0;if((c[d>>2]|0)!=(f|0))do{w=c[e>>2]|0;e=w+8|0;d=c[e>>2]|0}while((c[d>>2]|0)!=(w|0))}else while(1){e=c[d>>2]|0;if(!e)break;else d=e}if((d|0)==(h|0))break;else f=d}}xca(b,b+644|0,v)}while(0);iba(b,i,(c[A>>2]|0)+104|0);c[z>>2]=(c[z>>2]|0)+-4}if((c[B>>2]|0)!=2){l=C;return}qca(0,165380,0)|0;l=C;return}function Vda(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0;i=c[g>>2]|0;h=c[f>>2]|0;L=f+4|0;J=g+4|0;if((h|0)==(L|0)|(i|0)==(J|0))u=i;else{p=f+4|0;q=b+732|0;r=f+8|0;s=b+776|0;t=b+368|0;u=(e|0)==0;v=b+764|0;w=b+768|0;x=e+33984|0;n=h;o=i;while(1){i=n+16|0;l=c[i>>2]|0;m=o+16|0;k=c[m>>2]|0;a:do if(l>>>0<k>>>0){g=n+20|0;h=i+5|0;b:do if(a[h>>0]|0){a[h>>0]=0;h=c[n+28>>2]|0;if((c[n+24>>2]|0)==(h|0)){i=a[i+7>>0]|0;j=i<<24>>24==0;if(!(a[g>>0]|0))break;h=g+2|0;if((a[h>>0]|0)==i<<24>>24)break;do if((c[q>>2]|0)!=(e|0)){g=c[s>>2]|0;if(g|0?(k=c[v>>2]|0,m=c[w>>2]|0,((k|0)>(m|0)?k:m)>>>0>e>>>0):0){Bk[g&2047](x);c[q>>2]=e;break}if(!u)break b}while(0);a[h>>0]=i;if(j)Wh(l|0);else Zh(l|0);if((c[t>>2]|0)!=2)break;Bca(0,l)|0;break}else{h=c[h+-4>>2]&1;i=(h|0)==0;j=h&255;if(!(a[g>>0]|0))break;g=g+2|0;if((h|0)==(d[g>>0]|0))break;do if((c[q>>2]|0)!=(e|0)){h=c[s>>2]|0;if(h|0?(k=c[v>>2]|0,m=c[w>>2]|0,((k|0)>(m|0)?k:m)>>>0>e>>>0):0){Bk[h&2047](x);c[q>>2]=e;break}if(!u)break b}while(0);a[g>>0]=j;if(i)Wh(l|0);else Zh(l|0);if((c[t>>2]|0)!=2)break;Bca(0,l)|0;break}}while(0);h=c[n+4>>2]|0;if(!h){g=n+8|0;h=c[g>>2]|0;if((c[h>>2]|0)==(n|0)){g=o;break}do{n=c[g>>2]|0;g=n+8|0;h=c[g>>2]|0}while((c[h>>2]|0)!=(n|0));g=o}else{while(1){g=c[h>>2]|0;if(!g)break;else h=g}g=o;break}}else{if(k>>>0<l>>>0){h=c[L>>2]|0;do if(h){i=p;while(1){g=c[h+16>>2]|0;if(k>>>0<g>>>0){g=c[h>>2]|0;if(!g){I=42;break}else{i=h;h=g}}else{if(g>>>0>=k>>>0){I=46;break}i=h+4|0;g=c[i>>2]|0;if(!g){I=45;break}else h=g}}if((I|0)==42){I=0;j=h;i=h;break}else if((I|0)==45){I=0;j=h;break}else if((I|0)==46){I=0;j=h;break}}else{j=L;i=L}while(0);h=c[i>>2]|0;if(!h){g=j0a(36)|0;c[g+16>>2]=c[m>>2];c[g+24>>2]=0;c[g+28>>2]=0;c[g+32>>2]=0;a[g+20>>0]=1;a[g+21>>0]=0;a[g+22>>0]=0;a[g+23>>0]=0;c[g>>2]=0;c[g+4>>2]=0;c[g+8>>2]=j;c[i>>2]=g;h=c[c[f>>2]>>2]|0;if(!h)h=g;else{c[f>>2]=h;h=c[i>>2]|0}fp(c[p>>2]|0,h);c[r>>2]=(c[r>>2]|0)+1;h=g;k=c[m>>2]|0}g=c[o+20>>2]&1;i=(g|0)==0;j=g&255;c:do if(a[h+20>>0]|0?(y=h+22|0,(g|0)!=(d[y>>0]|0)):0){do if((c[q>>2]|0)!=(e|0)){g=c[s>>2]|0;if(g|0?(l=c[v>>2]|0,m=c[w>>2]|0,((l|0)>(m|0)?l:m)>>>0>e>>>0):0){Bk[g&2047](x);c[q>>2]=e;break}if(!u)break c}while(0);a[y>>0]=j;if(i)Wh(k|0);else Zh(k|0);if((c[t>>2]|0)==2)Bca(0,k)|0}while(0);a[h+21>>0]=1;h=c[o+4>>2]|0;if(!h){h=o+8|0;g=c[h>>2]|0;if((c[g>>2]|0)==(o|0)){h=n;break}while(1){o=c[h>>2]|0;h=o+8|0;g=c[h>>2]|0;if((c[g>>2]|0)==(o|0)){h=n;break a}}}else{g=h;while(1){h=c[g>>2]|0;if(!h)break;else g=h}h=n;break}}g=n+20|0;h=c[n+28>>2]|0;d:do if(((c[n+24>>2]|0)!=(h|0)?(z=c[h+-4>>2]|0,(z&2|0)!=0):0)?(c[o+20>>2]&4|0)==0:0){h=i+5|0;if((a[h>>0]|0?(a[h>>0]=0,A=z&1,B=(A|0)==0,C=A&255,a[g>>0]|0):0)?(D=g+2|0,(A|0)!=(d[D>>0]|0)):0){do if((c[q>>2]|0)!=(e|0)){h=c[s>>2]|0;if(h|0?(j=c[v>>2]|0,m=c[w>>2]|0,((j|0)>(m|0)?j:m)>>>0>e>>>0):0){Bk[h&2047](x);c[q>>2]=e;break}if(!u)break d}while(0);a[D>>0]=C;if(B)Wh(l|0);else Zh(l|0);if((c[t>>2]|0)==2)Bca(0,l)|0}}else I=87;while(0);e:do if(((I|0)==87?(I=0,E=c[o+20>>2]&1,F=(E|0)==0,G=E&255,a[g>>0]|0):0)?(H=g+2|0,(E|0)!=(d[H>>0]|0)):0){do if((c[q>>2]|0)!=(e|0)){h=c[s>>2]|0;if(h|0?(l=c[v>>2]|0,m=c[w>>2]|0,((l|0)>(m|0)?l:m)>>>0>e>>>0):0){Bk[h&2047](x);c[q>>2]=e;break}if(!u)break e}while(0);a[H>>0]=G;if(F)Wh(k|0);else Zh(k|0);if((c[t>>2]|0)==2)Bca(0,k)|0;a[i+5>>0]=1}while(0);h=c[n+4>>2]|0;if(!h){g=n+8|0;h=c[g>>2]|0;if((c[h>>2]|0)!=(n|0))do{n=c[g>>2]|0;g=n+8|0;h=c[g>>2]|0}while((c[h>>2]|0)!=(n|0))}else while(1){g=c[h>>2]|0;if(!g)break;else h=g}g=c[o+4>>2]|0;if(!g){i=o+8|0;g=c[i>>2]|0;if((c[g>>2]|0)==(o|0))break;do{o=c[i>>2]|0;i=o+8|0;g=c[i>>2]|0}while((c[g>>2]|0)!=(o|0))}else{while(1){i=c[g>>2]|0;if(!i)break;else g=i}break}}while(0);if((h|0)==(L|0)|(g|0)==(J|0)){u=g;break}else{n=h;o=g}}}if((h|0)!=(L|0)){n=b+732|0;o=b+776|0;p=b+368|0;q=(e|0)==0;r=b+764|0;s=b+768|0;t=e+33984|0;m=h;while(1){g=m+16|0;l=m+20|0;h=g+5|0;f:do if(a[h>>0]|0){a[h>>0]=0;h=c[m+28>>2]|0;if((c[m+24>>2]|0)==(h|0)){k=c[g>>2]|0;i=a[g+7>>0]|0;j=i<<24>>24==0;if(!(a[l>>0]|0))break;h=l+2|0;if((a[h>>0]|0)==i<<24>>24)break;do if((c[n>>2]|0)!=(e|0)){g=c[o>>2]|0;if(g|0?(H=c[r>>2]|0,I=c[s>>2]|0,((H|0)>(I|0)?H:I)>>>0>e>>>0):0){Bk[g&2047](t);c[n>>2]=e;break}if(!q)break f}while(0);a[h>>0]=i;if(j)Wh(k|0);else Zh(k|0);if((c[p>>2]|0)!=2)break;Bca(0,k)|0;break}else{h=c[h+-4>>2]&1;k=(h|0)==0;i=c[g>>2]|0;j=h&255;if(!(a[l>>0]|0))break;g=l+2|0;if((h|0)==(d[g>>0]|0))break;do if((c[n>>2]|0)!=(e|0)){h=c[o>>2]|0;if(h|0?(H=c[r>>2]|0,I=c[s>>2]|0,((H|0)>(I|0)?H:I)>>>0>e>>>0):0){Bk[h&2047](t);c[n>>2]=e;break}if(!q)break f}while(0);a[g>>0]=j;if(k)Wh(i|0);else Zh(i|0);if((c[p>>2]|0)!=2)break;Bca(0,i)|0;break}}while(0);h=c[m+4>>2]|0;if(!h){g=m+8|0;h=c[g>>2]|0;if((c[h>>2]|0)!=(m|0))do{I=c[g>>2]|0;g=I+8|0;h=c[g>>2]|0}while((c[h>>2]|0)!=(I|0))}else while(1){g=c[h>>2]|0;if(!g)break;else h=g}if((h|0)==(L|0))break;else m=h}}if((u|0)==(J|0))return;p=f+4|0;q=f+8|0;r=b+732|0;s=b+776|0;t=b+368|0;v=(e|0)==0;w=b+764|0;n=b+768|0;o=e+33984|0;m=u;while(1){l=m+16|0;h=c[L>>2]|0;do if(h){j=c[l>>2]|0;i=p;while(1){g=c[h+16>>2]|0;if(j>>>0<g>>>0){g=c[h>>2]|0;if(!g){I=157;break}}else{if(g>>>0>=j>>>0){I=161;break}i=h+4|0;g=c[i>>2]|0;if(!g){I=160;break}else h=i}i=h;h=g}if((I|0)==157){j=h;i=h;break}else if((I|0)==160){j=h;break}else if((I|0)==161){j=h;break}}else{j=L;i=L}while(0);h=c[i>>2]|0;if(!h){g=j0a(36)|0;c[g+16>>2]=c[l>>2];c[g+24>>2]=0;c[g+28>>2]=0;c[g+32>>2]=0;a[g+20>>0]=1;a[g+21>>0]=0;a[g+22>>0]=0;a[g+23>>0]=0;c[g>>2]=0;c[g+4>>2]=0;c[g+8>>2]=j;c[i>>2]=g;h=c[c[f>>2]>>2]|0;if(!h)h=g;else{c[f>>2]=h;h=c[i>>2]|0}fp(c[p>>2]|0,h);c[q>>2]=(c[q>>2]|0)+1;h=g}g=c[m+20>>2]&1;k=(g|0)==0;i=c[l>>2]|0;j=g&255;g:do if(a[h+20>>0]|0?(K=h+22|0,(g|0)!=(d[K>>0]|0)):0){do if((c[r>>2]|0)!=(e|0)){g=c[s>>2]|0;if(g|0?(I=c[w>>2]|0,b=c[n>>2]|0,((I|0)>(b|0)?I:b)>>>0>e>>>0):0){Bk[g&2047](o);c[r>>2]=e;break}if(!v)break g}while(0);a[K>>0]=j;if(k)Wh(i|0);else Zh(i|0);if((c[t>>2]|0)==2)Bca(0,i)|0}while(0);a[h+21>>0]=1;h=c[m+4>>2]|0;if(!h){g=m+8|0;h=c[g>>2]|0;if((c[h>>2]|0)!=(m|0))do{b=c[g>>2]|0;g=b+8|0;h=c[g>>2]|0}while((c[h>>2]|0)!=(b|0))}else while(1){g=c[h>>2]|0;if(!g)break;else h=g}if((h|0)==(J|0))break;else m=h}return}function Wda(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;h=c[f>>2]|0;g=c[e>>2]|0;z=e+4|0;y=f+4|0;if((g|0)==(z|0)|(h|0)==(y|0)){f=g;l=h}else{n=b+732|0;o=e+4|0;p=b+776|0;q=(d|0)==0;r=b+764|0;s=b+768|0;t=e+8|0;u=b+368|0;v=b+145|0;w=d+33984|0;l=g;m=h;while(1){k=m+16|0;f=c[l+16>>2]|0;j=c[k>>2]|0;a:do if((f|0)>=(j|0)){if((j|0)>=(f|0)){if((c[l+20>>2]|0)>>>0<(c[m+20>>2]|0)>>>0){A=6;break}if((c[m+20>>2]|0)>>>0>=(c[l+20>>2]|0)>>>0){f=l+24|0;g=c[l+44>>2]|0;if(((c[l+40>>2]|0)!=(g|0)?(c[g+-4>>2]&2|0)!=0:0)?(c[m+28>>2]&4|0)==0:0){if(a[f>>0]|0){a[f>>0]=0;uD(b,d,c[g+-8>>2]|0,f)|0}}else A=56;if((A|0)==56?(A=0,uD(b,d,c[m+24>>2]|0,f)|0):0)a[f>>0]=1;f=c[l+4>>2]|0;if(!f){g=l+8|0;f=c[g>>2]|0;if((c[f>>2]|0)!=(l|0))do{l=c[g>>2]|0;g=l+8|0;f=c[g>>2]|0}while((c[f>>2]|0)!=(l|0))}else while(1){g=c[f>>2]|0;if(!g)break;else f=g}g=c[m+4>>2]|0;if(!g){h=m+8|0;g=c[h>>2]|0;if((c[g>>2]|0)==(m|0))break;while(1){m=c[h>>2]|0;h=m+8|0;g=c[h>>2]|0;if((c[g>>2]|0)==(m|0))break a}}else{while(1){h=c[g>>2]|0;if(!h)break;else g=h}break}}}f=c[z>>2]|0;do if(f){i=c[m+20>>2]|0;h=o;b:while(1){g=c[f+16>>2]|0;do if((j|0)>=(g|0)){if((g|0)>=(j|0)){g=c[f+20>>2]|0;if(i>>>0<g>>>0){A=33;break}if(g>>>0>=i>>>0){A=38;break b}}h=f+4|0;g=c[h>>2]|0;if(!g){A=37;break b}else f=h}else A=33;while(0);if((A|0)==33){A=0;g=c[f>>2]|0;if(!g){A=34;break}}h=f;f=g}if((A|0)==34){A=0;g=f;h=f;break}else if((A|0)==37){A=0;g=f;break}else if((A|0)==38){A=0;g=f;break}}else{g=z;h=z}while(0);f=c[h>>2]|0;if(!f){f=j0a(52)|0;i=k;j=c[i+4>>2]|0;k=f+16|0;c[k>>2]=c[i>>2];c[k+4>>2]=j;a[f+24>>0]=0;k=f+28|0;c[k>>2]=0;c[k+4>>2]=0;c[k+8>>2]=0;c[k+12>>2]=0;c[k+16>>2]=0;c[k+20>>2]=0;c[f>>2]=0;c[f+4>>2]=0;c[f+8>>2]=g;c[h>>2]=f;g=c[c[e>>2]>>2]|0;if(!g)g=f;else{c[e>>2]=g;g=c[h>>2]|0}fp(c[o>>2]|0,g);c[t>>2]=(c[t>>2]|0)+1}f=f+24|0;uD(b,d,c[m+24>>2]|0,f)|0;a[f>>0]=1;f=c[m+4>>2]|0;if(!f){f=m+8|0;g=c[f>>2]|0;if((c[g>>2]|0)==(m|0)){f=l;break}do{m=c[f>>2]|0;f=m+8|0;g=c[f>>2]|0}while((c[g>>2]|0)!=(m|0));f=l}else{g=f;while(1){f=c[g>>2]|0;if(!f)break;else g=f}f=l;break}}else A=6;while(0);do if((A|0)==6){A=0;f=l+24|0;c:do if(a[f>>0]|0){a[f>>0]=0;g=c[l+44>>2]|0;if((c[l+40>>2]|0)!=(g|0)){uD(b,d,c[g+-8>>2]|0,f)|0;break}h=l+28|0;i=l+36|0;f=c[i>>2]|0;if((c[h>>2]|0)!=(f|0)){do if((c[n>>2]|0)!=(d|0)){g=c[p>>2]|0;if(g|0?(j=c[r>>2]|0,k=c[s>>2]|0,((j|0)>(k|0)?j:k)>>>0>d>>>0):0){Bk[g&2047](w);c[n>>2]=d;f=c[i>>2]|0;break}if(!q)break c}while(0);c[h>>2]=f;if(f|0){Jk[c[(c[f>>2]|0)+196>>2]&1023](f,b);f=c[i>>2]|0;g=c[f+44>>2]|0;h=l+32|0;if((c[h>>2]|0)!=(g|0)){c[h>>2]=g;a[v>>0]=1}if((c[u>>2]|0)==2)Aca(0,f)|0}}}while(0);f=c[l+4>>2]|0;if(!f){g=l+8|0;f=c[g>>2]|0;if((c[f>>2]|0)==(l|0)){g=m;break}do{l=c[g>>2]|0;g=l+8|0;f=c[g>>2]|0}while((c[f>>2]|0)!=(l|0));g=m}else{while(1){g=c[f>>2]|0;if(!g)break;else f=g}g=m;break}}while(0);if((f|0)==(z|0)|(g|0)==(y|0)){l=g;break}else{l=f;m=g}}}if((f|0)!=(z|0)){j=b+732|0;k=b+776|0;m=b+764|0;n=b+768|0;o=b+368|0;p=b+145|0;q=d+33984|0;if(!d){i=f;while(1){f=i+24|0;do if(a[f>>0]|0){a[f>>0]=0;g=c[i+44>>2]|0;if((c[i+40>>2]|0)!=(g|0)){uD(b,0,c[g+-8>>2]|0,f)|0;break}g=i+28|0;h=i+36|0;f=c[h>>2]|0;if((c[g>>2]|0)!=(f|0)){if(((c[j>>2]|0)!=0?(x=c[k>>2]|0,(x|0)!=0):0)?(v=c[m>>2]|0,w=c[n>>2]|0,(((v|0)>(w|0)?v:w)|0)!=0):0){Bk[x&2047](q);c[j>>2]=0;f=c[h>>2]|0}c[g>>2]=f;if(f|0){Jk[c[(c[f>>2]|0)+196>>2]&1023](f,b);f=c[h>>2]|0;g=c[f+44>>2]|0;h=i+32|0;if((c[h>>2]|0)!=(g|0)){c[h>>2]=g;a[p>>0]=1}if((c[o>>2]|0)==2)Aca(0,f)|0}}}while(0);f=c[i+4>>2]|0;if(!f){g=i+8|0;f=c[g>>2]|0;if((c[f>>2]|0)!=(i|0))do{w=c[g>>2]|0;g=w+8|0;f=c[g>>2]|0}while((c[f>>2]|0)!=(w|0))}else while(1){g=c[f>>2]|0;if(!g)break;else f=g}if((f|0)==(z|0))break;else i=f}}else{i=f;while(1){f=i+24|0;do if(a[f>>0]|0){a[f>>0]=0;g=c[i+44>>2]|0;if((c[i+40>>2]|0)!=(g|0)){uD(b,d,c[g+-8>>2]|0,f)|0;break}g=i+28|0;h=i+36|0;f=c[h>>2]|0;if((c[g>>2]|0)!=(f|0)){if((c[j>>2]|0)!=(d|0)){f=c[k>>2]|0;if(!f)break;w=c[m>>2]|0;x=c[n>>2]|0;if(((w|0)>(x|0)?w:x)>>>0<=d>>>0)break;Bk[f&2047](q);c[j>>2]=d;f=c[h>>2]|0}c[g>>2]=f;if(f|0){Jk[c[(c[f>>2]|0)+196>>2]&1023](f,b);f=c[h>>2]|0;g=c[f+44>>2]|0;h=i+32|0;if((c[h>>2]|0)!=(g|0)){c[h>>2]=g;a[p>>0]=1}if((c[o>>2]|0)==2)Aca(0,f)|0}}}while(0);f=c[i+4>>2]|0;if(!f){g=i+8|0;f=c[g>>2]|0;if((c[f>>2]|0)!=(i|0))do{x=c[g>>2]|0;g=x+8|0;f=c[g>>2]|0}while((c[f>>2]|0)!=(x|0))}else while(1){g=c[f>>2]|0;if(!g)break;else f=g}if((f|0)==(z|0))break;else i=f}}}if((l|0)==(y|0))return;m=e+4|0;n=e+8|0;while(1){k=l+16|0;f=c[z>>2]|0;do if(f){i=c[k>>2]|0;j=c[l+20>>2]|0;h=m;d:while(1){g=c[f+16>>2]|0;do if((i|0)>=(g|0)){if((g|0)>=(i|0)){g=c[f+20>>2]|0;if(j>>>0<g>>>0){A=126;break}if(g>>>0>=j>>>0){A=131;break d}}h=f+4|0;g=c[h>>2]|0;if(!g){A=130;break d}else f=h}else A=126;while(0);if((A|0)==126){A=0;g=c[f>>2]|0;if(!g){A=127;break}}h=f;f=g}if((A|0)==127){A=0;g=f;h=f;break}else if((A|0)==130){A=0;g=f;break}else if((A|0)==131){A=0;g=f;break}}else{g=z;h=z}while(0);f=c[h>>2]|0;if(!f){f=j0a(52)|0;v=k;w=c[v+4>>2]|0;x=f+16|0;c[x>>2]=c[v>>2];c[x+4>>2]=w;a[f+24>>0]=0;x=f+28|0;c[x>>2]=0;c[x+4>>2]=0;c[x+8>>2]=0;c[x+12>>2]=0;c[x+16>>2]=0;c[x+20>>2]=0;c[f>>2]=0;c[f+4>>2]=0;c[f+8>>2]=g;c[h>>2]=f;g=c[c[e>>2]>>2]|0;if(!g)g=f;else{c[e>>2]=g;g=c[h>>2]|0}fp(c[m>>2]|0,g);c[n>>2]=(c[n>>2]|0)+1}f=f+24|0;uD(b,d,c[l+24>>2]|0,f)|0;a[f>>0]=1;f=c[l+4>>2]|0;if(!f){g=l+8|0;f=c[g>>2]|0;if((c[f>>2]|0)!=(l|0))do{x=c[g>>2]|0;g=x+8|0;f=c[g>>2]|0}while((c[f>>2]|0)!=(x|0))}else while(1){g=c[f>>2]|0;if(!g)break;else f=g}if((f|0)==(y|0))break;else l=f}return}function Xda(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;h=c[f>>2]|0;g=c[e>>2]|0;E=e+4|0;C=f+4|0;if((g|0)==(E|0)|(h|0)==(C|0))l=h;else{q=e+4|0;o=e+8|0;p=b+368|0;m=g;n=h;while(1){j=m+16|0;k=c[j>>2]|0;l=n+16|0;i=c[l>>2]|0;a:do if(k>>>0<i>>>0){h=m+20|0;g=j+5|0;do if(a[g>>0]|0){a[g>>0]=0;g=c[m+28>>2]|0;if((c[m+24>>2]|0)==(g|0)){f=a[j+7>>0]|0;if(!(a[h>>0]|0))break;g=h+2|0;if((a[g>>0]|0)==f<<24>>24)break;a[g>>0]=f;if(!(f<<24>>24))Wh(k|0);else Zh(k|0);if((c[p>>2]|0)!=2)break;Bca(0,k)|0;break}else{f=c[g+-4>>2]&1;if(!(a[h>>0]|0))break;g=h+2|0;if((f|0)==(d[g>>0]|0))break;a[g>>0]=f;if(!f)Wh(k|0);else Zh(k|0);if((c[p>>2]|0)!=2)break;Bca(0,k)|0;break}}while(0);g=c[m+4>>2]|0;if(!g){f=m+8|0;g=c[f>>2]|0;if((c[g>>2]|0)==(m|0)){f=n;break}do{m=c[f>>2]|0;f=m+8|0;g=c[f>>2]|0}while((c[g>>2]|0)!=(m|0));f=n}else{while(1){f=c[g>>2]|0;if(!f)break;else g=f}f=n;break}}else{if(i>>>0<k>>>0){g=c[E>>2]|0;do if(g){h=q;while(1){f=c[g+16>>2]|0;if(i>>>0<f>>>0){f=c[g>>2]|0;if(!f){B=32;break}else{h=g;g=f}}else{if(f>>>0>=i>>>0){B=36;break}h=g+4|0;f=c[h>>2]|0;if(!f){B=35;break}else g=f}}if((B|0)==32){B=0;j=g;h=g;break}else if((B|0)==35){B=0;j=g;break}else if((B|0)==36){B=0;j=g;break}}else{j=E;h=E}while(0);g=c[h>>2]|0;if(!g){f=j0a(36)|0;c[f+16>>2]=c[l>>2];c[f+24>>2]=0;c[f+28>>2]=0;c[f+32>>2]=0;a[f+20>>0]=1;a[f+21>>0]=0;a[f+22>>0]=0;a[f+23>>0]=0;c[f>>2]=0;c[f+4>>2]=0;c[f+8>>2]=j;c[h>>2]=f;g=c[c[e>>2]>>2]|0;if(!g)g=f;else{c[e>>2]=g;g=c[h>>2]|0}fp(c[q>>2]|0,g);c[o>>2]=(c[o>>2]|0)+1;j=f;i=c[l>>2]|0}else j=g;g=c[n+20>>2]&1;f=(g|0)==0;h=g&255;if(a[j+20>>0]|0?(r=j+22|0,(g|0)!=(d[r>>0]|0)):0){a[r>>0]=h;if(f)Wh(i|0);else Zh(i|0);if((c[p>>2]|0)==2)Bca(0,i)|0}a[j+21>>0]=1;g=c[n+4>>2]|0;if(!g){g=n+8|0;f=c[g>>2]|0;if((c[f>>2]|0)==(n|0)){g=m;break}while(1){n=c[g>>2]|0;g=n+8|0;f=c[g>>2]|0;if((c[f>>2]|0)==(n|0)){g=m;break a}}}else{f=g;while(1){g=c[f>>2]|0;if(!g)break;else f=g}g=m;break}}f=m+20|0;g=c[m+28>>2]|0;if(((c[m+24>>2]|0)!=(g|0)?(s=c[g+-4>>2]|0,(s&2|0)!=0):0)?(c[n+20>>2]&4|0)==0:0){g=j+5|0;if((a[g>>0]|0?(a[g>>0]=0,t=s&1,u=(t|0)==0,v=t&255,a[f>>0]|0):0)?(w=f+2|0,(t|0)!=(d[w>>0]|0)):0){a[w>>0]=v;if(u)Wh(k|0);else Zh(k|0);if((c[p>>2]|0)==2)Bca(0,k)|0}}else B=67;if(((B|0)==67?(B=0,x=c[n+20>>2]&1,y=(x|0)==0,z=x&255,a[f>>0]|0):0)?(A=f+2|0,(x|0)!=(d[A>>0]|0)):0){a[A>>0]=z;if(y)Wh(i|0);else Zh(i|0);if((c[p>>2]|0)==2)Bca(0,i)|0;a[j+5>>0]=1}g=c[m+4>>2]|0;if(!g){f=m+8|0;g=c[f>>2]|0;if((c[g>>2]|0)!=(m|0))do{m=c[f>>2]|0;f=m+8|0;g=c[f>>2]|0}while((c[g>>2]|0)!=(m|0))}else while(1){f=c[g>>2]|0;if(!f)break;else g=f}f=c[n+4>>2]|0;if(!f){h=n+8|0;f=c[h>>2]|0;if((c[f>>2]|0)==(n|0))break;do{n=c[h>>2]|0;h=n+8|0;f=c[h>>2]|0}while((c[f>>2]|0)!=(n|0))}else{while(1){h=c[f>>2]|0;if(!h)break;else f=h}break}}while(0);if((g|0)==(E|0)|(f|0)==(C|0)){l=f;break}else{m=g;n=f}}}if((g|0)!=(E|0)){k=b+368|0;j=g;while(1){f=j+16|0;i=j+20|0;g=f+5|0;do if(a[g>>0]|0){a[g>>0]=0;g=c[j+28>>2]|0;if((c[j+24>>2]|0)==(g|0)){h=c[f>>2]|0;f=a[f+7>>0]|0;if(!(a[i>>0]|0))break;g=i+2|0;if((a[g>>0]|0)==f<<24>>24)break;a[g>>0]=f;if(!(f<<24>>24))Wh(h|0);else Zh(h|0);if((c[k>>2]|0)!=2)break;Bca(0,h)|0;break}else{h=c[g+-4>>2]&1;f=c[f>>2]|0;if(!(a[i>>0]|0))break;g=i+2|0;if((h|0)==(d[g>>0]|0))break;a[g>>0]=h;if(!h)Wh(f|0);else Zh(f|0);if((c[k>>2]|0)!=2)break;Bca(0,f)|0;break}}while(0);g=c[j+4>>2]|0;if(!g){f=j+8|0;g=c[f>>2]|0;if((c[g>>2]|0)!=(j|0))do{B=c[f>>2]|0;f=B+8|0;g=c[f>>2]|0}while((c[g>>2]|0)!=(B|0))}else while(1){f=c[g>>2]|0;if(!f)break;else g=f}if((g|0)==(E|0))break;else j=g}}if((l|0)==(C|0))return;n=e+4|0;o=e+8|0;m=b+368|0;while(1){k=l+16|0;g=c[E>>2]|0;do if(g){i=c[k>>2]|0;h=n;while(1){f=c[g+16>>2]|0;if(i>>>0<f>>>0){f=c[g>>2]|0;if(!f){B=122;break}}else{if(f>>>0>=i>>>0){B=126;break}h=g+4|0;f=c[h>>2]|0;if(!f){B=125;break}else g=h}h=g;g=f}if((B|0)==122){i=g;h=g;break}else if((B|0)==125){i=g;break}else if((B|0)==126){i=g;break}}else{i=E;h=E}while(0);g=c[h>>2]|0;if(!g){f=j0a(36)|0;c[f+16>>2]=c[k>>2];c[f+24>>2]=0;c[f+28>>2]=0;c[f+32>>2]=0;a[f+20>>0]=1;a[f+21>>0]=0;a[f+22>>0]=0;a[f+23>>0]=0;c[f>>2]=0;c[f+4>>2]=0;c[f+8>>2]=i;c[h>>2]=f;g=c[c[e>>2]>>2]|0;if(!g)g=f;else{c[e>>2]=g;g=c[h>>2]|0}fp(c[n>>2]|0,g);c[o>>2]=(c[o>>2]|0)+1;g=f}i=c[l+20>>2]&1;j=(i|0)==0;f=c[k>>2]|0;h=i&255;if(a[g+20>>0]|0?(D=g+22|0,(i|0)!=(d[D>>0]|0)):0){a[D>>0]=h;if(j)Wh(f|0);else Zh(f|0);if((c[m>>2]|0)==2)Bca(0,f)|0}a[g+21>>0]=1;g=c[l+4>>2]|0;if(!g){f=l+8|0;g=c[f>>2]|0;if((c[g>>2]|0)!=(l|0))do{b=c[f>>2]|0;f=b+8|0;g=c[f>>2]|0}while((c[g>>2]|0)!=(b|0))}else while(1){f=c[g>>2]|0;if(!f)break;else g=f}if((g|0)==(C|0))break;else l=g}return}function Yda(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0;g=c[e>>2]|0;f=c[d>>2]|0;H=d+4|0;E=e+4|0;if((f|0)==(H|0)|(g|0)==(E|0))k=g;else{p=d+4|0;m=b+368|0;n=b+145|0;o=d+8|0;k=f;l=g;while(1){j=l+16|0;f=c[k+16>>2]|0;i=c[j>>2]|0;a:do if((f|0)>=(i|0)){if((i|0)>=(f|0)){if((c[k+20>>2]|0)>>>0<(c[l+20>>2]|0)>>>0){I=6;break}if((c[l+20>>2]|0)>>>0>=(c[k+20>>2]|0)>>>0){g=k+24|0;f=c[k+44>>2]|0;if(((c[k+40>>2]|0)!=(f|0)?(c[f+-4>>2]&2|0)!=0:0)?(c[l+28>>2]&4|0)==0:0){if(a[g>>0]|0?(a[g>>0]=0,s=c[f+-8>>2]|0,t=k+28|0,(c[t>>2]|0)!=(s|0)):0){f=k+36|0;do if((c[f>>2]|0)==0?(u=gk[c[(c[s>>2]|0)+12>>2]&1023](s)|0,u=gk[c[(c[u>>2]|0)+56>>2]&1023](u)|0,v=c[f>>2]|0,(v|0)!=(u|0)):0){c[f>>2]=u;if(u|0){j=u+8|0;c[j>>2]=(c[j>>2]|0)+1}if(v|0){i=v+8|0;j=c[i>>2]|0;c[i>>2]=j-1;if((j|0)!=1)break;UU(v,1,1)}}while(0);c[t>>2]=s;Jk[c[(c[s>>2]|0)+196>>2]&1023](s,b);f=c[s+44>>2]|0;e=k+32|0;if((c[e>>2]|0)!=(f|0)){c[e>>2]=f;a[n>>0]=1}if((c[m>>2]|0)==2)Aca(0,s)|0}}else I=85;if((I|0)==85?(I=0,w=c[l+24>>2]|0,x=k+28|0,(c[x>>2]|0)!=(w|0)):0){f=k+36|0;if((c[f>>2]|0)==0?(y=gk[c[(c[w>>2]|0)+12>>2]&1023](w)|0,y=gk[c[(c[y>>2]|0)+56>>2]&1023](y)|0,z=c[f>>2]|0,(z|0)!=(y|0)):0){c[f>>2]=y;if(y|0){j=y+8|0;c[j>>2]=(c[j>>2]|0)+1}if(z|0?(i=z+8|0,j=c[i>>2]|0,c[i>>2]=j-1,(j|0)==1):0)UU(z,1,1)}c[x>>2]=w;Jk[c[(c[w>>2]|0)+196>>2]&1023](w,b);f=c[w+44>>2]|0;e=k+32|0;if((c[e>>2]|0)!=(f|0)){c[e>>2]=f;a[n>>0]=1}if((c[m>>2]|0)==2)Aca(0,w)|0;a[g>>0]=1}f=c[k+4>>2]|0;if(!f){e=k+8|0;f=c[e>>2]|0;if((c[f>>2]|0)!=(k|0))do{k=c[e>>2]|0;e=k+8|0;f=c[e>>2]|0}while((c[f>>2]|0)!=(k|0))}else while(1){e=c[f>>2]|0;if(!e)break;else f=e}e=c[l+4>>2]|0;if(!e){g=l+8|0;e=c[g>>2]|0;if((c[e>>2]|0)==(l|0))break;while(1){l=c[g>>2]|0;g=l+8|0;e=c[g>>2]|0;if((c[e>>2]|0)==(l|0))break a}}else{while(1){g=c[e>>2]|0;if(!g)break;else e=g}break}}}f=c[H>>2]|0;do if(f){h=c[l+20>>2]|0;e=p;b:while(1){g=c[f+16>>2]|0;do if((i|0)>=(g|0)){if((g|0)>=(i|0)){g=c[f+20>>2]|0;if(h>>>0<g>>>0){I=39;break}if(g>>>0>=h>>>0){I=44;break b}}e=f+4|0;g=c[e>>2]|0;if(!g){I=43;break b}else f=e}else I=39;while(0);if((I|0)==39){I=0;g=c[f>>2]|0;if(!g){I=40;break}}e=f;f=g}if((I|0)==40){I=0;h=f;e=f;break}else if((I|0)==43){I=0;h=f;break}else if((I|0)==44){I=0;h=f;break}}else{h=H;e=H}while(0);f=c[e>>2]|0;if(!f){g=j0a(52)|0;i=j;j=c[i+4>>2]|0;f=g+16|0;c[f>>2]=c[i>>2];c[f+4>>2]=j;a[g+24>>0]=0;f=g+28|0;c[f>>2]=0;c[f+4>>2]=0;c[f+8>>2]=0;c[f+12>>2]=0;c[f+16>>2]=0;c[f+20>>2]=0;c[g>>2]=0;c[g+4>>2]=0;c[g+8>>2]=h;c[e>>2]=g;f=c[c[d>>2]>>2]|0;if(!f)f=g;else{c[d>>2]=f;f=c[e>>2]|0}fp(c[p>>2]|0,f);c[o>>2]=(c[o>>2]|0)+1;f=g}h=c[l+24>>2]|0;e=f+28|0;if((c[e>>2]|0)!=(h|0)){g=f+36|0;if((c[g>>2]|0)==0?(q=gk[c[(c[h>>2]|0)+12>>2]&1023](h)|0,q=gk[c[(c[q>>2]|0)+56>>2]&1023](q)|0,r=c[g>>2]|0,(r|0)!=(q|0)):0){c[g>>2]=q;if(q|0){j=q+8|0;c[j>>2]=(c[j>>2]|0)+1}if(r|0?(i=r+8|0,j=c[i>>2]|0,c[i>>2]=j-1,(j|0)==1):0)UU(r,1,1)}c[e>>2]=h;Jk[c[(c[h>>2]|0)+196>>2]&1023](h,b);e=c[h+44>>2]|0;g=f+32|0;if((c[g>>2]|0)!=(e|0)){c[g>>2]=e;a[n>>0]=1}if((c[m>>2]|0)==2)Aca(0,h)|0}a[f+24>>0]=1;f=c[l+4>>2]|0;if(!f){f=l+8|0;e=c[f>>2]|0;if((c[e>>2]|0)==(l|0)){f=k;break}do{l=c[f>>2]|0;f=l+8|0;e=c[f>>2]|0}while((c[e>>2]|0)!=(l|0));f=k}else{e=f;while(1){f=c[e>>2]|0;if(!f)break;else e=f}f=k;break}}else I=6;while(0);do if((I|0)==6){I=0;f=k+24|0;do if(a[f>>0]|0){a[f>>0]=0;f=c[k+44>>2]|0;if((c[k+40>>2]|0)==(f|0)){f=k+28|0;e=k+36|0;g=c[e>>2]|0;if((c[f>>2]|0)==(g|0))break;c[f>>2]=g;if(!g)break;Jk[c[(c[g>>2]|0)+196>>2]&1023](g,b);f=c[e>>2]|0;e=c[f+44>>2]|0;g=k+32|0;if((c[g>>2]|0)!=(e|0)){c[g>>2]=e;a[n>>0]=1}if((c[m>>2]|0)!=2)break;Aca(0,f)|0;break}g=c[f+-8>>2]|0;f=k+28|0;if((c[f>>2]|0)!=(g|0)){e=k+36|0;if((c[e>>2]|0)==0?(A=gk[c[(c[g>>2]|0)+12>>2]&1023](g)|0,A=gk[c[(c[A>>2]|0)+56>>2]&1023](A)|0,B=c[e>>2]|0,(B|0)!=(A|0)):0){c[e>>2]=A;if(A|0){j=A+8|0;c[j>>2]=(c[j>>2]|0)+1}if(B|0?(i=B+8|0,j=c[i>>2]|0,c[i>>2]=j-1,(j|0)==1):0)UU(B,1,1)}c[f>>2]=g;Jk[c[(c[g>>2]|0)+196>>2]&1023](g,b);f=c[g+44>>2]|0;e=k+32|0;if((c[e>>2]|0)!=(f|0)){c[e>>2]=f;a[n>>0]=1}if((c[m>>2]|0)==2)Aca(0,g)|0}}while(0);f=c[k+4>>2]|0;if(!f){e=k+8|0;f=c[e>>2]|0;if((c[f>>2]|0)==(k|0)){e=l;break}do{k=c[e>>2]|0;e=k+8|0;f=c[e>>2]|0}while((c[f>>2]|0)!=(k|0));e=l}else{while(1){e=c[f>>2]|0;if(!e)break;else f=e}e=l;break}}while(0);if((f|0)==(H|0)|(e|0)==(E|0)){k=e;break}else{k=f;l=e}}}if((f|0)!=(H|0)){i=b+368|0;j=b+145|0;h=f;while(1){f=h+24|0;do if(a[f>>0]|0){a[f>>0]=0;f=c[h+44>>2]|0;if((c[h+40>>2]|0)==(f|0)){f=h+28|0;e=h+36|0;g=c[e>>2]|0;if((c[f>>2]|0)==(g|0))break;c[f>>2]=g;if(!g)break;Jk[c[(c[g>>2]|0)+196>>2]&1023](g,b);f=c[e>>2]|0;e=c[f+44>>2]|0;g=h+32|0;if((c[g>>2]|0)!=(e|0)){c[g>>2]=e;a[j>>0]=1}if((c[i>>2]|0)!=2)break;Aca(0,f)|0;break}g=c[f+-8>>2]|0;f=h+28|0;if((c[f>>2]|0)!=(g|0)){e=h+36|0;if((c[e>>2]|0)==0?(C=gk[c[(c[g>>2]|0)+12>>2]&1023](g)|0,C=gk[c[(c[C>>2]|0)+56>>2]&1023](C)|0,D=c[e>>2]|0,(D|0)!=(C|0)):0){c[e>>2]=C;if(C|0){B=C+8|0;c[B>>2]=(c[B>>2]|0)+1}if(D|0?(A=D+8|0,B=c[A>>2]|0,c[A>>2]=B-1,(B|0)==1):0)UU(D,1,1)}c[f>>2]=g;Jk[c[(c[g>>2]|0)+196>>2]&1023](g,b);f=c[g+44>>2]|0;e=h+32|0;if((c[e>>2]|0)!=(f|0)){c[e>>2]=f;a[j>>0]=1}if((c[i>>2]|0)==2)Aca(0,g)|0}}while(0);f=c[h+4>>2]|0;if(!f){e=h+8|0;f=c[e>>2]|0;if((c[f>>2]|0)!=(h|0))do{B=c[e>>2]|0;e=B+8|0;f=c[e>>2]|0}while((c[f>>2]|0)!=(B|0))}else while(1){e=c[f>>2]|0;if(!e)break;else f=e}if((f|0)==(H|0))break;else h=f}}if((k|0)==(E|0))return;l=d+4|0;m=d+8|0;n=b+368|0;o=b+145|0;while(1){j=k+16|0;f=c[H>>2]|0;do if(f){h=c[j>>2]|0;i=c[k+20>>2]|0;e=l;c:while(1){g=c[f+16>>2]|0;do if((h|0)>=(g|0)){if((g|0)>=(h|0)){g=c[f+20>>2]|0;if(i>>>0<g>>>0){I=150;break}if(g>>>0>=i>>>0){I=155;break c}}e=f+4|0;g=c[e>>2]|0;if(!g){I=154;break c}else f=e}else I=150;while(0);if((I|0)==150){I=0;g=c[f>>2]|0;if(!g){I=151;break}}e=f;f=g}if((I|0)==151){I=0;h=f;e=f;break}else if((I|0)==154){I=0;h=f;break}else if((I|0)==155){I=0;h=f;break}}else{h=H;e=H}while(0);f=c[e>>2]|0;if(!f){g=j0a(52)|0;C=j;D=c[C+4>>2]|0;f=g+16|0;c[f>>2]=c[C>>2];c[f+4>>2]=D;a[g+24>>0]=0;f=g+28|0;c[f>>2]=0;c[f+4>>2]=0;c[f+8>>2]=0;c[f+12>>2]=0;c[f+16>>2]=0;c[f+20>>2]=0;c[g>>2]=0;c[g+4>>2]=0;c[g+8>>2]=h;c[e>>2]=g;f=c[c[d>>2]>>2]|0;if(!f)f=g;else{c[d>>2]=f;f=c[e>>2]|0}fp(c[l>>2]|0,f);c[m>>2]=(c[m>>2]|0)+1;f=g}h=c[k+24>>2]|0;e=f+28|0;if((c[e>>2]|0)!=(h|0)){g=f+36|0;if((c[g>>2]|0)==0?(F=gk[c[(c[h>>2]|0)+12>>2]&1023](h)|0,F=gk[c[(c[F>>2]|0)+56>>2]&1023](F)|0,G=c[g>>2]|0,(G|0)!=(F|0)):0){c[g>>2]=F;if(F|0){D=F+8|0;c[D>>2]=(c[D>>2]|0)+1}if(G|0?(C=G+8|0,D=c[C>>2]|0,c[C>>2]=D-1,(D|0)==1):0)UU(G,1,1)}c[e>>2]=h;Jk[c[(c[h>>2]|0)+196>>2]&1023](h,b);e=c[h+44>>2]|0;g=f+32|0;if((c[g>>2]|0)!=(e|0)){c[g>>2]=e;a[o>>0]=1}if((c[n>>2]|0)==2)Aca(0,h)|0}a[f+24>>0]=1;f=c[k+4>>2]|0;if(!f){e=k+8|0;f=c[e>>2]|0;if((c[f>>2]|0)!=(k|0))do{D=c[e>>2]|0;e=D+8|0;f=c[e>>2]|0}while((c[f>>2]|0)!=(D|0))}else while(1){e=c[f>>2]|0;if(!e)break;else f=e}if((f|0)==(E|0))break;else k=f}return}function Zda(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;h=l;l=l+16|0;f=h+12|0;g=h+8|0;i=h;c[i>>2]=c[b>>2];c[f>>2]=c[i>>2];f=_da(a,f,g,h+4|0,d)|0;b=c[f>>2]|0;if(b|0){i=b;l=h;return i|0}d=j0a(36)|0;t0a(d+16|0,e);b=c[e+12>>2]|0;c[d+28>>2]=b;if(b|0){i=b+8|0;c[i>>2]=(c[i>>2]|0)+1}c[d+32>>2]=c[e+16>>2];b=c[g>>2]|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=b;c[f>>2]=d;b=c[c[a>>2]>>2]|0;if(!b)b=d;else{c[a>>2]=b;b=c[f>>2]|0}fp(c[a+4>>2]|0,b);i=a+8|0;c[i>>2]=(c[i>>2]|0)+1;i=d;l=h;return i|0}function _da(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;q=b+4|0;v=c[d>>2]|0;d=v;do if((v|0)!=(q|0)){m=v+16|0;k=a[m+11>>0]|0;j=k<<24>>24<0;k=j?c[v+20>>2]|0:k&255;t=a[g+11>>0]|0;s=t<<24>>24<0;t=s?c[g+4>>2]|0:t&255;p=k>>>0<t>>>0;o=p?k:t;l=(o|0)==0;if(!l?(h=s?c[g>>2]|0:g,i=j?c[m>>2]|0:m,n=cOa(h,i,o)|0,(n|0)!=0):0)if((n|0)<0)break;else w=23;else{if(t>>>0<k>>>0)break;if(l)w=24;else{i=j?c[m>>2]|0:m;h=s?c[g>>2]|0:g;w=23}}if((w|0)==23){h=cOa(i,h,o)|0;if(h){if((h|0)>=0)w=42}else w=24}if((w|0)==24?!p:0)w=42;if((w|0)==42){c[e>>2]=d;c[f>>2]=d;e=f;return e|0}h=c[v+4>>2]|0;if(!h){i=v+8|0;h=c[i>>2]|0;if((c[h>>2]|0)!=(v|0))do{r=c[i>>2]|0;i=r+8|0;h=c[i>>2]|0}while((c[h>>2]|0)!=(r|0))}else while(1){i=c[h>>2]|0;if(!i)break;else h=i}do if((h|0)!=(q|0)){j=h+16|0;l=a[j+11>>0]|0;k=l<<24>>24<0;l=k?c[h+20>>2]|0:l&255;i=l>>>0<t>>>0?l:t;if((i|0)!=0?(u=cOa(s?c[g>>2]|0:g,k?c[j>>2]|0:j,i)|0,(u|0)!=0):0){if((u|0)<0)break}else w=36;if((w|0)==36?t>>>0<l>>>0:0)break;e=wX(b,e,g)|0;return e|0}while(0);if(!(c[v+4>>2]|0)){c[e>>2]=d;e=v+4|0;return e|0}else{c[e>>2]=h;e=h;return e|0}}while(0);n=c[v>>2]|0;do if((c[b>>2]|0)!=(v|0)){if(!n){d=v;do{u=d;d=c[d+8>>2]|0}while((c[d>>2]|0)==(u|0));h=d}else{d=n;while(1){h=c[d+4>>2]|0;if(!h){h=d;break}else d=h}}d=h;j=h+16|0;l=a[g+11>>0]|0;k=l<<24>>24<0;l=k?c[g+4>>2]|0:l&255;i=a[j+11>>0]|0;m=i<<24>>24<0;i=m?c[h+20>>2]|0:i&255;h=l>>>0<i>>>0?l:i;if((h|0)!=0?(r=cOa(m?c[j>>2]|0:j,k?c[g>>2]|0:g,h)|0,(r|0)!=0):0){if((r|0)<0)break}else w=15;if((w|0)==15?i>>>0<l>>>0:0)break;e=wX(b,e,g)|0;return e|0}while(0);if(!n){c[e>>2]=v;e=v;return e|0}else{c[e>>2]=d;e=d+4|0;return e|0}return 0}function $da(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;f=a+8|0;g=c[a>>2]|0;if((c[f>>2]|0)-g>>2>>>0>=b>>>0)return;h=a+4|0;if(b>>>0>1073741823){h=db(8)|0;p0a(h,183738);c[h>>2]=110936;hb(h|0,65952,1066)}d=(c[h>>2]|0)-g|0;e=j0a(b<<2)|0;if((d|0)>0)x2a(e|0,g|0,d|0)|0;c[a>>2]=e;c[h>>2]=e+(d>>2<<2);c[f>>2]=e+(b<<2);if(!g)return;l0a(g);return}function aea(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,i=0,j=0,k=0,l=0.0,m=0.0,n=0.0;if((a|0)!=(b|0)){h[a>>3]=+h[b>>3];h[a+8>>3]=+h[b+8>>3];h[a+16>>3]=+h[b+16>>3];h[a+24>>3]=+h[b+24>>3];h[a+32>>3]=+h[b+32>>3];h[a+40>>3]=+h[b+40>>3];h[a+48>>3]=+h[b+48>>3];h[a+56>>3]=+h[b+56>>3];h[a+64>>3]=+h[b+64>>3];h[a+72>>3]=+h[b+72>>3];h[a+80>>3]=+h[b+80>>3];h[a+88>>3]=+h[b+88>>3];h[a+96>>3]=+h[b+96>>3];h[a+104>>3]=+h[b+104>>3];h[a+112>>3]=+h[b+112>>3];h[a+120>>3]=+h[b+120>>3]}c[a+128>>2]=d;i=a+132|0;b=c[i>>2]|0;j=a+136|0;if((b|0)!=(c[j>>2]|0))c[j>>2]=b;g=c[e+20>>2]|0;b=c[e+24>>2]|0;f=e+28|0;if((b|0)==(c[f>>2]|0))return;a=a+140|0;e=1;while(1){do if(e&g|0){d=c[j>>2]|0;if((d|0)==(c[a>>2]|0)){KR(i,b);break}else{m=+h[b>>3];h[d>>3]=m;n=+h[b+8>>3];h[d+8>>3]=n;l=+h[b+16>>3];h[d+16>>3]=l;h[d+24>>3]=+h[b+24>>3];k=(n>=0.0?2:0)|m>=0.0|(l>=0.0?4:0);c[d+32>>2]=k;c[d+36>>2]=k^7;c[j>>2]=d+40;break}}while(0);b=b+40|0;if((b|0)==(c[f>>2]|0))break;else e=e<<1}return}function bea(b,d,e){b=b|0;d=d|0;e=e|0;var f=0;f=j0a(168)|0;c[b>>2]=f;c[b+4>>2]=d+4;d=b+8|0;a[d>>0]=0;h[f+16>>3]=+h[e>>3];h[f+24>>3]=+h[e+8>>3];h[f+32>>3]=+h[e+16>>3];h[f+40>>3]=+h[e+24>>3];h[f+48>>3]=+h[e+32>>3];h[f+56>>3]=+h[e+40>>3];h[f+64>>3]=+h[e+48>>3];h[f+72>>3]=+h[e+56>>3];h[f+80>>3]=+h[e+64>>3];h[f+88>>3]=+h[e+72>>3];h[f+96>>3]=+h[e+80>>3];h[f+104>>3]=+h[e+88>>3];h[f+112>>3]=+h[e+96>>3];h[f+120>>3]=+h[e+104>>3];h[f+128>>3]=+h[e+112>>3];h[f+136>>3]=+h[e+120>>3];h[f+144>>3]=+h[e+128>>3];c[f+152>>2]=c[e+136>>2];Mz(f+156|0,e+140|0);a[d>>0]=1;return}function cea(a,b){a=a|0;b=b|0;var d=0,e=0,f=0.0,i=0.0,j=0.0,k=0.0,l=0.0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;y=c[a+12>>2]|0;a:do if((y&7|0?(e=c[a+16>>2]|0,e|0):0)?(z=a+36|0,c[z>>2]=e,d=c[a+40>>2]|0,s=c[a+44>>2]|0,(d|0)!=(s|0)):0){t=b+12|0;u=b+16|0;v=b+4|0;w=b+20|0;x=b+8|0;r=1;b:while(1){do if(r&e){A=c[d+36>>2]|0;f=+g[b>>2];i=+g[t>>2];j=+g[v>>2];k=+g[u>>2];l=+g[x>>2];m=+g[w>>2];n=+h[d>>3];o=+h[d+8>>3];p=+h[d+16>>3];q=+h[d+24>>3];if(!(q+(n*((A&1|0)==0?f:i)+o*((A&2|0)==0?j:k)+p*((A&4|0)==0?l:m))>0.0)){A=c[d+32>>2]|0;if(q+(p*((A&4|0)==0?l:m)+(n*((A&1|0)==0?f:i)+o*((A&2|0)==0?j:k)))<0.0){d=1;break b}else break}else{e=r^e;c[z>>2]=e;break}}while(0);d=d+40|0;if((d|0)==(s|0))break a;else r=r<<1}return d|0}while(0);if(!(y&16)){A=0;return A|0}d=c[a+76>>2]|0;e=a+80|0;if((d|0)==(c[e>>2]|0)){A=0;return A|0}while(1){if(qsa(d,b)|0){d=1;e=15;break}d=d+80|0;if((d|0)==(c[e>>2]|0)){d=0;e=15;break}}if((e|0)==15)return d|0;return 0}function dea(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;c[a>>2]=91092;b=a+128|0;c[b>>2]=91460;d=a+124|0;e=c[d>>2]|0;if(e|0?(g=e+8|0,f=c[g>>2]|0,c[g>>2]=f-1,(f|0)==1):0)UU(e,1,1);c[d>>2]=0;PT(a+112|0,c[a+116>>2]|0);oea(a+100|0,c[a+104>>2]|0);t9(a+60|0);Cy(a,91628);Pr(b);return}function eea(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;c[a>>2]=91092;b=a+128|0;c[b>>2]=91460;d=a+124|0;e=c[d>>2]|0;if(e|0?(g=e+8|0,f=c[g>>2]|0,c[g>>2]=f-1,(f|0)==1):0)UU(e,1,1);c[d>>2]=0;PT(a+112|0,c[a+116>>2]|0);oea(a+100|0,c[a+104>>2]|0);t9(a+60|0);Cy(a,91628);Pr(b);l0a(a);return}function fea(a){a=a|0;return 160686}function gea(a){a=a|0;return 165662}function hea(a){a=a|0;var b=0,d=0;b=a+100|0;d=a+104|0;oea(b,c[d>>2]|0);c[a+108>>2]=0;c[b>>2]=d;c[d>>2]=0;d=a+112|0;b=a+116|0;PT(d,c[b>>2]|0);c[a+120>>2]=0;c[d>>2]=b;c[b>>2]=0;return}function iea(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;k=b+100|0;h=b+104|0;g=c[h>>2]|0;a:do if(g|0){e=g;while(1){f=c[e+16>>2]|0;if(f>>>0<=d>>>0){if(f>>>0>=d>>>0)break;e=e+4|0}e=c[e>>2]|0;if(!e)break a}return}while(0);l=b+96|0;if((c[l>>2]|0)==2){qca(0,166104,0)|0;e=c[h>>2]|0}else e=g;j=d;do if(e){g=b+104|0;while(1){f=c[e+16>>2]|0;if(f>>>0>d>>>0){f=c[e>>2]|0;if(!f){f=14;break}else{g=e;e=f}}else{if(f>>>0>=d>>>0){f=18;break}g=e+4|0;f=c[g>>2]|0;if(!f){f=17;break}else e=f}}if((f|0)==14){i=e;g=e;break}else if((f|0)==17){i=e;break}else if((f|0)==18){i=e;break}}else{i=h;g=h}while(0);if(!(c[g>>2]|0)){e=j0a(20)|0;c[e+16>>2]=j;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=i;c[g>>2]=e;f=c[c[k>>2]>>2]|0;if(f){c[k>>2]=f;e=c[g>>2]|0}fp(c[b+104>>2]|0,e);k=b+108|0;c[k>>2]=(c[k>>2]|0)+1}e=c[d+120>>2]|0;if(e|0)pea(b,e);f=b+56|0;e=c[f>>2]|0;if(e&2){jS(d,0);e=c[f>>2]|0}if(e&1){jS(d,1);e=c[f>>2]|0}if(e&64){Jk[c[(c[d>>2]|0)+236>>2]&1023](d,1);e=c[f>>2]|0}if(e&128){Jk[c[(c[d>>2]|0)+236>>2]&1023](d,0);e=c[f>>2]|0}do if(e&4|0?(m=b+60|0,c[m>>2]|0):0){if((a[d+181>>0]|0)==0?(a[d+183>>0]|0)==0:0)break;Jk[c[(c[d>>2]|0)+248>>2]&1023](d,m);if((c[l>>2]|0)==2)qca(0,166162,0)|0}while(0);if(!(c[f>>2]&16))return;Jk[c[(c[d>>2]|0)+160>>2]&1023](d,c[b+60>>2]|0);return}function jea(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=a+124|0;e=(c[f>>2]|0)==0;d=c[b+120>>2]|0;if(d|0)pea(a,d);switch(c[a+16>>2]|0){case 1:{Jk[c[(c[b>>2]|0)+216>>2]&1023](b,a);break}case 0:break;default:Jk[c[(c[b>>2]|0)+220>>2]&1023](b,a)}a=c[a+60>>2]|0;if(!a)b=0;else b=(c[a+708>>2]|0)!=0;if(e|b)return;Bk[c[(c[a+832>>2]|0)+176>>2]&2047](0);a=a+708|0;if(c[a>>2]|0)c[a>>2]=0;a=c[f>>2]|0;if(!a)return;c[f>>2]=0;e=a+8|0;f=c[e>>2]|0;c[e>>2]=f-1;if((f|0)!=1)return;UU(a,1,1);return}function kea(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;a=a+(c[(c[a>>2]|0)+-16>>2]|0)|0;c[a>>2]=91092;b=a+128|0;c[b>>2]=91460;d=a+124|0;e=c[d>>2]|0;if(e|0?(g=e+8|0,f=c[g>>2]|0,c[g>>2]=f-1,(f|0)==1):0)UU(e,1,1);c[d>>2]=0;PT(a+112|0,c[a+116>>2]|0);oea(a+100|0,c[a+104>>2]|0);t9(a+60|0);Cy(a,91628);Pr(b);return}function lea(a){a=a|0;eea(a+(c[(c[a>>2]|0)+-16>>2]|0)|0);return}function mea(a){a=a|0;return 160686}function nea(a){a=a|0;return 165662}function oea(a,b){a=a|0;b=b|0;if(!b)return;else{oea(a,c[b>>2]|0);oea(a,c[b+4>>2]|0);l0a(b);return}}function pea(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;k=b+112|0;h=b+116|0;g=c[h>>2]|0;a:do if(g|0){e=g;while(1){f=c[e+16>>2]|0;if(f>>>0<=d>>>0){if(f>>>0>=d>>>0)break;e=e+4|0}e=c[e>>2]|0;if(!e)break a}return}while(0);q=b+96|0;if((c[q>>2]|0)==2){qca(0,165679,0)|0;e=c[h>>2]|0}else e=g;j=d;do if(e){g=b+116|0;while(1){f=c[e+16>>2]|0;if(f>>>0>d>>>0){f=c[e>>2]|0;if(!f){f=14;break}else{g=e;e=f}}else{if(f>>>0>=d>>>0){f=18;break}g=e+4|0;f=c[g>>2]|0;if(!f){f=17;break}else e=f}}if((f|0)==14){i=e;g=e;break}else if((f|0)==17){i=e;break}else if((f|0)==18){i=e;break}}else{i=h;g=h}while(0);if(!(c[g>>2]|0)){e=j0a(20)|0;c[e+16>>2]=j;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=i;c[g>>2]=e;f=c[c[k>>2]>>2]|0;if(f){c[k>>2]=f;e=c[g>>2]|0}fp(c[b+116>>2]|0,e);k=b+120|0;c[k>>2]=(c[k>>2]|0)+1}j=b+56|0;b:do if(c[j>>2]&8|0?(p=b+60|0,l=c[p>>2]|0,l|0):0){qea(d,l);if((c[q>>2]|0)==2)qca(0,165737,0)|0;g=d+60|0;e=c[g>>2]|0;do if(e|0){f=g;do{l=(c[e+16>>2]|0)<36;f=l?f:e;e=c[(l?e+4|0:e)>>2]|0}while((e|0)!=0);if((f|0)!=(g|0)?(m=c[f+16>>2]|0,(m|0)<=36):0){if((m|0)==36?c[f+20>>2]|0:0)break;e=c[f+24>>2]|0;if(e|0?(n=y1a(e,42816,46192,0)|0,n|0):0){m=RU(n)|0;e=b+124|0;f=c[e>>2]|0;if(m){if(!f)break;c[e>>2]=0;m=f+8|0;n=c[m>>2]|0;c[m>>2]=n-1;if((n|0)!=1)break;UU(f,1,1);break}if(((f|0)!=(n|0)?(c[e>>2]=n,n=n+8|0,c[n>>2]=(c[n>>2]|0)+1,f|0):0)?(m=f+8|0,n=c[m>>2]|0,c[m>>2]=n-1,(n|0)==1):0)UU(f,1,1)}}}while(0);e=c[b+124>>2]|0;if(e|0?c[d+100>>2]|0:0){i=yN(e,c[p>>2]|0)|0;if(!i)break;Bk[c[(c[i>>2]|0)+28>>2]&2047](i);e=(c[p>>2]|0)+708|0;if((c[e>>2]|0)!=(i|0))c[e>>2]=i;e=c[d+92>>2]|0;h=d+96|0;if((e|0)==(h|0))break;g=e;while(1){e=g+28|0;wca(i,c[e>>2]|0);if((c[q>>2]|0)==2){e=(c[e>>2]|0)+12|0;if((a[e+11>>0]|0)<0)e=c[e>>2]|0;qca(0,165821,e)|0}e=c[g+4>>2]|0;if(!e){f=g+8|0;e=c[f>>2]|0;if((c[e>>2]|0)!=(g|0))do{p=c[f>>2]|0;f=p+8|0;e=c[f>>2]|0}while((c[e>>2]|0)!=(p|0))}else while(1){f=c[e>>2]|0;if(!f)break;else e=f}if((e|0)==(h|0))break b;else g=e}}e=c[p>>2]|0;if(c[e+708>>2]|0?(Bk[c[(c[e+832>>2]|0)+176>>2]&2047](0),o=(c[p>>2]|0)+708|0,c[o>>2]|0):0)c[o>>2]=0}while(0);e=c[j>>2]|0;if(e&32){Jk[c[(c[d>>2]|0)+160>>2]&1023](d,c[b+60>>2]|0);e=c[j>>2]|0}if(e&256|0)rea(d,c[b+60>>2]|0)|0;if((c[q>>2]|0)!=2)return;qca(0,165916,0)|0;return}function qea(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;h=(c[b+368>>2]|0)==2;if(h)qca(0,165971,0)|0;d=c[a+56>>2]|0;g=a+60|0;if((d|0)!=(g|0))if(h){f=d;while(1){d=f+24|0;i=c[d>>2]|0;Jk[c[(c[i>>2]|0)+200>>2]&1023](i,b);d=c[d>>2]|0;qca(0,166007,gk[c[(c[d>>2]|0)+28>>2]&1023](d)|0)|0;d=c[f+4>>2]|0;if(!d){e=f+8|0;d=c[e>>2]|0;if((c[d>>2]|0)!=(f|0))do{i=c[e>>2]|0;e=i+8|0;d=c[e>>2]|0}while((c[d>>2]|0)!=(i|0))}else while(1){e=c[d>>2]|0;if(!e)break;else d=e}if((d|0)==(g|0))break;else f=d}}else{f=d;while(1){d=c[f+24>>2]|0;Jk[c[(c[d>>2]|0)+200>>2]&1023](d,b);d=c[f+4>>2]|0;if(!d){e=f+8|0;d=c[e>>2]|0;if((c[d>>2]|0)!=(f|0))do{i=c[e>>2]|0;e=i+8|0;d=c[e>>2]|0}while((c[d>>2]|0)!=(i|0))}else while(1){e=c[d>>2]|0;if(!e)break;else d=e}if((d|0)==(g|0))break;else f=d}}d=c[a+80>>2]|0;i=a+84|0;if((d|0)==(c[i>>2]|0))return;if(h){g=d;do{d=c[g>>2]|0;a=g+4|0;if((d|0)!=(a|0)){f=d;while(1){d=f+24|0;h=c[d>>2]|0;Jk[c[(c[h>>2]|0)+200>>2]&1023](h,b);d=c[d>>2]|0;qca(0,166047,gk[c[(c[d>>2]|0)+28>>2]&1023](d)|0)|0;d=c[f+4>>2]|0;if(!d){e=f+8|0;d=c[e>>2]|0;if((c[d>>2]|0)!=(f|0))do{h=c[e>>2]|0;e=h+8|0;d=c[e>>2]|0}while((c[d>>2]|0)!=(h|0))}else while(1){e=c[d>>2]|0;if(!e)break;else d=e}if((d|0)==(a|0))break;else f=d}}g=g+12|0}while((g|0)!=(c[i>>2]|0));return}else{g=d;do{d=c[g>>2]|0;a=g+4|0;if((d|0)!=(a|0)){f=d;while(1){d=c[f+24>>2]|0;Jk[c[(c[d>>2]|0)+200>>2]&1023](d,b);d=c[f+4>>2]|0;if(!d){e=f+8|0;d=c[e>>2]|0;if((c[d>>2]|0)!=(f|0))do{h=c[e>>2]|0;e=h+8|0;d=c[e>>2]|0}while((c[d>>2]|0)!=(h|0))}else while(1){e=c[d>>2]|0;if(!e)break;else d=e}if((d|0)==(a|0))break;else f=d}}g=g+12|0}while((g|0)!=(c[i>>2]|0));return}}function rea(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;e=c[a+56>>2]|0;h=a+60|0;if((e|0)==(h|0))d=1;else{d=1;do{f=c[e+24>>2]|0;d=d&(kk[c[(c[f>>2]|0)+192>>2]&511](f,b)|0);f=c[e+4>>2]|0;if(!f){f=e+8|0;g=c[f>>2]|0;if((c[g>>2]|0)==(e|0))e=g;else do{i=c[f>>2]|0;f=i+8|0;e=c[f>>2]|0}while((c[e>>2]|0)!=(i|0))}else{e=f;while(1){f=c[e>>2]|0;if(!f)break;else e=f}}}while((e|0)!=(h|0))}e=c[a+80>>2]|0;i=a+84|0;if((e|0)==(c[i>>2]|0)){b=d;return b|0}do{f=c[e>>2]|0;a=e+4|0;if((f|0)!=(a|0))do{g=c[f+24>>2]|0;d=d&(kk[c[(c[g>>2]|0)+192>>2]&511](g,b)|0);g=c[f+4>>2]|0;if(!g){g=f+8|0;h=c[g>>2]|0;if((c[h>>2]|0)==(f|0))f=h;else do{h=c[g>>2]|0;g=h+8|0;f=c[g>>2]|0}while((c[f>>2]|0)!=(h|0))}else{f=g;while(1){g=c[f>>2]|0;if(!g)break;else f=g}}}while((f|0)!=(a|0));e=e+12|0}while((e|0)!=(c[i>>2]|0));return d|0}function sea(a){a=a|0;Aea(a,92192);Pr(a+132|0);return}function tea(a){a=a|0;Aea(a,92192);Pr(a+132|0);l0a(a);return}function uea(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;j=b+56|0;e=b+60|0;h=c[e>>2]|0;do if(h){e=h;do{f=c[e+16>>2]|0;if(f>>>0<=d>>>0){if(f>>>0>=d>>>0){k=57;break}e=e+4|0}e=c[e>>2]|0}while((e|0)!=0);if((k|0)==57)return;i=d;g=b+60|0;e=h;while(1){f=c[e+16>>2]|0;if(f>>>0>d>>>0){f=c[e>>2]|0;if(!f){k=11;break}else{g=e;e=f}}else{if(f>>>0>=d>>>0){k=15;break}g=e+4|0;f=c[g>>2]|0;if(!f){k=14;break}else e=f}}if((k|0)==11){f=e;g=e;break}else if((k|0)==14){f=e;break}else if((k|0)==15){f=e;break}}else{f=e;g=e;i=d}while(0);if(!(c[g>>2]|0)){e=j0a(20)|0;c[e+16>>2]=i;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=f;c[g>>2]=e;f=c[c[j>>2]>>2]|0;if(f){c[j>>2]=f;e=c[g>>2]|0}fp(c[b+60>>2]|0,e);m=b+64|0;c[m>>2]=(c[m>>2]|0)+1}m=b+128|0;e=c[m>>2]|0;if((e|0)!=0?(e|0)==(gk[c[(c[d>>2]|0)+148>>2]&1023](d)|0):0)return;else l=d;f=b+80|0;if((c[d+24>>2]|0)!=1){e=c[f>>2]|0;if(e&2){jS(d,0);e=c[f>>2]|0}if(e&1){jS(d,1);e=c[f>>2]|0}if(e&64){Jk[c[(c[d>>2]|0)+236>>2]&1023](d,1);e=c[f>>2]|0}if(e&128|0)Jk[c[(c[d>>2]|0)+236>>2]&1023](d,0)}do if(c[f>>2]&4|0){if((a[d+181>>0]|0)==0?(a[d+183>>0]|0)==0:0)break;j=b+84|0;f=b+88|0;e=c[f>>2]|0;do if(e){g=b+88|0;while(1){f=c[e+16>>2]|0;if(f>>>0>d>>>0){f=c[e>>2]|0;if(!f){k=41;break}else{g=e;e=f}}else{if(f>>>0>=d>>>0){k=45;break}g=e+4|0;f=c[g>>2]|0;if(!f){k=44;break}else e=f}}if((k|0)==41){h=e;g=e;break}else if((k|0)==44){h=e;break}else if((k|0)==45){h=e;break}}else{h=f;g=f}while(0);if(!(c[g>>2]|0)){e=j0a(20)|0;c[e+16>>2]=i;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=h;c[g>>2]=e;f=c[c[j>>2]>>2]|0;if(f){c[j>>2]=f;e=c[g>>2]|0}fp(c[b+88>>2]|0,e);k=b+92|0;c[k>>2]=(c[k>>2]|0)+1}}while(0);e=c[d+120>>2]|0;if(e|0)Jk[c[(c[b>>2]|0)+200>>2]&1023](b,e);if(!(c[m>>2]|0))return;if(gk[c[(c[d>>2]|0)+148>>2]&1023](l)|0)return;Jk[c[(c[d>>2]|0)+144>>2]&1023](l,c[m>>2]|0);return}function vea(a,b){a=a|0;b=b|0;var d=0;d=c[b+120>>2]|0;if(d|0)Jk[c[(c[a>>2]|0)+200>>2]&1023](a,d);switch(c[a+16>>2]|0){case 1:{Jk[c[(c[b>>2]|0)+216>>2]&1023](b,a);return}case 0:return;default:{Jk[c[(c[b>>2]|0)+220>>2]&1023](b,a);return}}}function wea(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;i=a+68|0;d=a+72|0;g=c[d>>2]|0;do if(g){d=g;do{e=c[d+16>>2]|0;if(e>>>0<=b>>>0){if(e>>>0>=b>>>0){j=77;break}d=d+4|0}d=c[d>>2]|0}while((d|0)!=0);if((j|0)==77)return;h=b;f=a+72|0;d=g;while(1){e=c[d+16>>2]|0;if(e>>>0>b>>>0){e=c[d>>2]|0;if(!e){j=11;break}else{f=d;d=e}}else{if(e>>>0>=b>>>0){j=15;break}f=d+4|0;e=c[f>>2]|0;if(!e){j=14;break}else d=e}}if((j|0)==11){g=d;f=d;e=h;break}else if((j|0)==14){g=d;e=h;break}else if((j|0)==15){g=d;e=h;break}}else{g=d;f=d;e=b}while(0);if(!(c[f>>2]|0)){d=j0a(20)|0;c[d+16>>2]=e;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=g;c[f>>2]=d;e=c[c[i>>2]>>2]|0;if(e){c[i>>2]=e;d=c[f>>2]|0}fp(c[a+72>>2]|0,d);l=a+76|0;c[l>>2]=(c[l>>2]|0)+1}if(!(c[a+80>>2]&8))return;l=a+128|0;d=c[l>>2]|0;if(d|0?(d|0)==(gk[c[(c[b>>2]|0)+148>>2]&1023](b)|0):0)return;f=b+60|0;d=c[f>>2]|0;do if(d|0){e=f;do{j=(c[d+16>>2]|0)<36;e=j?e:d;d=c[(j?d+4|0:d)>>2]|0}while((d|0)!=0);if((e|0)!=(f|0)?(k=c[e+16>>2]|0,(k|0)<=36):0){if((k|0)==36?c[e+20>>2]|0:0)break;d=c[e+24>>2]|0;if(d|0?(n=y1a(d,42816,46192,0)|0,m=n,n|0):0){d=c[l>>2]|0;if(d|0?(d|0)==(gk[c[(c[n>>2]|0)+148>>2]&1023](n)|0):0)break;h=a+108|0;e=a+112|0;d=c[e>>2]|0;do if(d){f=a+112|0;while(1){e=c[d+16>>2]|0;if(e>>>0>n>>>0){e=c[d>>2]|0;if(!e){j=40;break}else{f=d;d=e}}else{if(e>>>0>=n>>>0){j=44;break}f=d+4|0;e=c[f>>2]|0;if(!e){j=43;break}else d=e}}if((j|0)==40){g=d;f=d;break}else if((j|0)==43){g=d;break}else if((j|0)==44){g=d;break}}else{g=e;f=e}while(0);if(!(c[f>>2]|0)){d=j0a(20)|0;c[d+16>>2]=m;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=g;c[f>>2]=d;e=c[c[h>>2]>>2]|0;if(e){c[h>>2]=e;d=c[f>>2]|0}fp(c[a+112>>2]|0,d);m=a+116|0;c[m>>2]=(c[m>>2]|0)+1}if(c[l>>2]|0?(gk[c[(c[n>>2]|0)+148>>2]&1023](n)|0)==0:0)Jk[c[(c[n>>2]|0)+144>>2]&1023](n,c[l>>2]|0)}}}while(0);d=c[b+80>>2]|0;i=b+84|0;e=c[i>>2]|0;if((d|0)!=(e|0)){j=a+100|0;do{h=d+4|0;f=c[h>>2]|0;a:do if(f){g=h;do{n=(c[f+16>>2]|0)<0;g=n?g:f;f=c[(n?f+4|0:f)>>2]|0}while((f|0)!=0);if((g|0)!=(h|0)?(o=c[g+16>>2]|0,(o|0)<=0):0){if((o|0)>=0?c[g+20>>2]|0:0)break;f=c[g+24>>2]|0;if((f|0)!=0?(p=y1a(f,42816,47416,0)|0,(p|0)!=0):0){f=c[j>>2]|0;if(f|0)do{g=c[f+16>>2]|0;if(g>>>0<=p>>>0){if(g>>>0>=p>>>0)break a;f=f+4|0}f=c[f>>2]|0}while((f|0)!=0);Jk[c[(c[a>>2]|0)+204>>2]&1023](a,p);e=c[i>>2]|0}}}while(0);d=d+12|0}while((d|0)!=(e|0))}if(!(c[l>>2]|0))return;if(gk[c[(c[b>>2]|0)+148>>2]&1023](b)|0)return;Jk[c[(c[b>>2]|0)+144>>2]&1023](b,c[l>>2]|0);return}function xea(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;k=b+128|0;e=c[k>>2]|0;if(e|0?(e|0)==(gk[c[(c[d>>2]|0)+148>>2]&1023](d)|0):0)return;if(a[b+120>>0]|0){f=0;h=0;e=0;while(1){if(h>>>0>=(gk[c[(c[d>>2]|0)+244>>2]&1023](d)|0)>>>0)break;g=kk[c[(c[d>>2]|0)+236>>2]&511](d,h)|0;do if(g){g=c[g+40>>2]|0;if(g|0?(i=y1a(g,42944,43096,0)|0,i|0):0){if((e|0)==(i|0))break;j=i+8|0;c[j>>2]=(c[j>>2]|0)+1;if(!e){e=i;break}g=e+8|0;j=c[g>>2]|0;c[g>>2]=j-1;if((j|0)!=1){e=i;break}UU(e,1,1);e=i;break}f=f+1|0}while(0);h=h+1|0}a:do if(f){do if(!e){g=b+124|0;e=c[g>>2]|0;if(!e){e=j0a(72)|0;$t(e,0);f=c[g>>2]|0;if((f|0)!=(e|0)){c[g>>2]=e;j=e+8|0;c[j>>2]=(c[j>>2]|0)+1;if(f|0?(i=f+8|0,j=c[i>>2]|0,c[i>>2]=j-1,(j|0)==1):0)UU(f,1,1);e=c[g>>2]|0;if(!e){e=0;break}}}j=e+8|0;c[j>>2]=(c[j>>2]|0)+1}while(0);g=e+44|0;h=e+36|0;f=0;while(1){if(f>>>0>=(gk[c[(c[d>>2]|0)+244>>2]&1023](d)|0)>>>0)break a;i=kk[c[(c[d>>2]|0)+236>>2]&511](d,f)|0;do if(i|0){j=c[i+40>>2]|0;if(j|0?y1a(j,42944,43096,0)|0:0)break;a[g>>0]=1;c[h>>2]=35048;lR(i,e)}while(0);f=f+1|0}}while(0);if(e|0?(i=e+8|0,j=c[i>>2]|0,c[i>>2]=j-1,(j|0)==1):0)UU(e,1,1)}if(c[k>>2]|0?(gk[c[(c[d>>2]|0)+148>>2]&1023](d)|0)==0:0)Jk[c[(c[d>>2]|0)+144>>2]&1023](d,c[k>>2]|0);j=b+96|0;i=d;f=b+100|0;e=c[f>>2]|0;do if(e){g=b+100|0;while(1){f=c[e+16>>2]|0;if(f>>>0>d>>>0){f=c[e>>2]|0;if(!f){f=41;break}else{g=e;e=f}}else{if(f>>>0>=d>>>0){f=45;break}g=e+4|0;f=c[g>>2]|0;if(!f){f=44;break}else e=f}}if((f|0)==41){h=e;g=e;break}else if((f|0)==44){h=e;break}else if((f|0)==45){h=e;break}}else{h=f;g=f}while(0);if(c[g>>2]|0)return;e=j0a(20)|0;c[e+16>>2]=i;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=h;c[g>>2]=e;f=c[c[j>>2]>>2]|0;if(f){c[j>>2]=f;e=c[g>>2]|0}fp(c[b+100>>2]|0,e);b=b+104|0;c[b>>2]=(c[b>>2]|0)+1;return}function yea(a){a=a|0;a=a+(c[(c[a>>2]|0)+-16>>2]|0)|0;Aea(a,92192);Pr(a+132|0);return}function zea(a){a=a|0;a=a+(c[(c[a>>2]|0)+-16>>2]|0)|0;Aea(a,92192);Pr(a+132|0);l0a(a);return}function Aea(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=c[b>>2]|0;c[a>>2]=d;c[a+(c[d+-12>>2]|0)>>2]=c[b+12>>2];d=a+128|0;e=c[d>>2]|0;if(e|0?(g=e+8|0,f=c[g>>2]|0,c[g>>2]=f-1,(f|0)==1):0)UU(e,1,1);c[d>>2]=0;d=a+124|0;e=c[d>>2]|0;if(e|0?(f=e+8|0,g=c[f>>2]|0,c[f>>2]=g-1,(g|0)==1):0)UU(e,1,1);c[d>>2]=0;KV(a+108|0,c[a+112>>2]|0);OT(a+96|0,c[a+100>>2]|0);oea(a+84|0,c[a+88>>2]|0);PT(a+68|0,c[a+72>>2]|0);oea(a+56|0,c[a+60>>2]|0);Cy(a,b+4|0);return}function Bea(a){a=a|0;var b=0,d=0,e=0,f=0;c[a>>2]=92216;b=a+12|0;d=c[b>>2]|0;if(d|0?(f=d+8|0,e=c[f>>2]|0,c[f>>2]=e-1,(e|0)==1):0)UU(d,1,1);c[b>>2]=0;SU(a);return}function Cea(a){a=a|0;var b=0,d=0,e=0,f=0;c[a>>2]=92216;b=a+12|0;d=c[b>>2]|0;if(d|0?(f=d+8|0,e=c[f>>2]|0,c[f>>2]=e-1,(e|0)==1):0)UU(d,1,1);c[b>>2]=0;SU(a);l0a(a);return}function Dea(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0.0;f=l;l=l+16|0;e=f;d=c[(c[b>>2]|0)+908>>2]|0;b=c[a+12>>2]|0;b=gk[c[(c[b>>2]|0)+164>>2]&1023](b)|0;if(!((d|0)!=0&(b|0)!=0)){g=0.0;l=f;return +g}HT(e,c[d+12>>2]|0,b);g=+h[e>>3];l=f;return +g}function Eea(a,b){a=a|0;b=b|0;a=c[a+12>>2]|0;Jk[c[(c[a>>2]|0)+248>>2]&1023](a,b);return 1}function Fea(a){a=a|0;var b=0,d=0,e=0,f=0;c[a>>2]=92244;b=a+12|0;d=c[b>>2]|0;if(d|0?(f=d+8|0,e=c[f>>2]|0,c[f>>2]=e-1,(e|0)==1):0)UU(d,1,1);c[b>>2]=0;SU(a);return}function Gea(a){a=a|0;var b=0,d=0,e=0,f=0;c[a>>2]=92244;b=a+12|0;d=c[b>>2]|0;if(d|0?(f=d+8|0,e=c[f>>2]|0,c[f>>2]=e-1,(e|0)==1):0)UU(d,1,1);c[b>>2]=0;SU(a);l0a(a);return}function Hea(a,b){a=a|0;b=b|0;var d=0,e=0,f=0.0;e=l;l=l+16|0;d=e;b=c[(c[b>>2]|0)+908>>2]|0;if(!b){f=0.0;l=e;return +f}JT(d,c[b+16>>2]|0,c[a+12>>2]|0);f=+h[d>>3];l=e;return +f}function Iea(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=c[(c[b+36>>2]|0)+72>>2]|0;if(!d){e=c[a+12>>2]|0;Jk[c[(c[e>>2]|0)+196>>2]&1023](e,c[b>>2]|0);return 1}e=c[d+120>>2]|0;if(e|0)Uda(c[b>>2]|0,e);f=c[b>>2]|0;e=a+12|0;a=c[e>>2]|0;Jea(f,0,gk[c[(c[a>>2]|0)+212>>2]&1023](a)|0,1)|0;rD(c[b>>2]|0,0,c[e>>2]|0)|0;kS(d,b);return 1}function Jea(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0;l=b+684|0;m=b+688|0;h=c[m>>2]|0;j=c[l>>2]|0;k=(h-j|0)/12|0;do if(k>>>0<=e>>>0){i=e+1|0;if(i>>>0>k>>>0){Xaa(l,i-k|0);break}if(i>>>0<k>>>0){i=j+(i*12|0)|0;if((i|0)!=(h|0))do{k=h;h=h+-12|0;bY(h,c[k+-8>>2]|0)}while((h|0)!=(i|0));c[m>>2]=i}}while(0);m=c[l>>2]|0;l=m+(e*12|0)|0;i=m+(e*12|0)+4|0;h=c[i>>2]|0;do if(h){j=m+(e*12|0)+4|0;while(1){i=c[h+16>>2]|0;if(i>>>0>f>>>0){i=c[h>>2]|0;if(!i){i=13;break}else{j=h;h=i}}else{if(i>>>0>=f>>>0){i=17;break}j=h+4|0;i=c[j>>2]|0;if(!i){i=16;break}else h=i}}if((i|0)==13){k=h;j=h;break}else if((i|0)==16){k=h;break}else if((i|0)==17){k=h;break}}else{k=i;j=i}while(0);h=c[j>>2]|0;if(!h){h=j0a(36)|0;c[h+16>>2]=f;c[h+24>>2]=0;c[h+28>>2]=0;c[h+32>>2]=0;a[h+20>>0]=1;a[h+21>>0]=0;a[h+22>>0]=0;a[h+23>>0]=0;c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=k;c[j>>2]=h;i=c[c[l>>2]>>2]|0;if(!i)i=h;else{c[l>>2]=i;i=c[j>>2]|0}fp(c[m+(e*12|0)+4>>2]|0,i);m=m+(e*12|0)+8|0;c[m>>2]=(c[m>>2]|0)+1}a[h+21>>0]=1;k=g&1;if(!(a[h+20>>0]|0)){g=0;return g|0}h=h+22|0;if((d[h>>0]|0)==(g&1|0)){g=0;return g|0}i=b+732|0;do if((c[i>>2]|0)!=(e|0)){j=c[b+776>>2]|0;if(j|0?(l=c[b+764>>2]|0,m=c[b+768>>2]|0,((l|0)>(m|0)?l:m)>>>0>e>>>0):0){Bk[j&2047](e+33984|0);c[i>>2]=e;break}if(e|0){g=0;return g|0}}while(0);a[h>>0]=k;if(g)Zh(f|0);else Wh(f|0);if((c[b+368>>2]|0)!=2){g=1;return g|0}Bca(0,f)|0;g=1;return g|0}function Kea(a){a=a|0;var b=0,d=0,e=0,f=0;c[a>>2]=92272;b=a+12|0;d=c[b>>2]|0;if(d|0?(f=d+8|0,e=c[f>>2]|0,c[f>>2]=e-1,(e|0)==1):0)UU(d,1,1);c[b>>2]=0;SU(a);return}function Lea(a){a=a|0;var b=0,d=0,e=0,f=0;c[a>>2]=92272;b=a+12|0;d=c[b>>2]|0;if(d|0?(f=d+8|0,e=c[f>>2]|0,c[f>>2]=e-1,(e|0)==1):0)UU(d,1,1);c[b>>2]=0;SU(a);l0a(a);return}function Mea(a,b){a=a|0;b=b|0;var d=0,e=0,f=0.0;e=l;l=l+16|0;d=e;b=c[(c[b>>2]|0)+908>>2]|0;if(!b){f=0.0;l=e;return +f}LT(d,c[b+20>>2]|0,c[a+12>>2]|0);f=+h[d>>3];l=e;return +f}function Nea(a,b){a=a|0;b=b|0;a=c[a+12>>2]|0;Jk[c[(c[a>>2]|0)+200>>2]&1023](a,c[b>>2]|0);return 1}function Oea(a,b){a=a|0;b=b|0;if(!b)return;else{Oea(a,c[b>>2]|0);Oea(a,c[b+4>>2]|0);l0a(b);return}}function Pea(a){a=a|0;c[a>>2]=92300;_ea(a+80|0,c[a+84>>2]|0);SU(a);return}function Qea(a){a=a|0;c[a>>2]=92300;_ea(a+80|0,c[a+84>>2]|0);SU(a);l0a(a);return}function Rea(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,i=0.0,j=0.0,k=0.0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0.0,s=0.0,t=0.0,u=0.0,v=0.0,w=0.0,x=0.0,y=0.0,z=0.0,A=0.0,B=0.0,C=0.0,D=0.0,E=0.0;f=l;l=l+128|0;d=f;e=c[a+12>>2]|0;do if((e|0)==3){if(c[b+120>>2]|0?c[(c[b+112>>2]|0)+8>>2]|0:0)break;e=j0a(96)|0;g=a+32|0;b=a+56|0;d=c[a+16>>2]|0;c[e+4>>2]=0;c[e+8>>2]=0;c[e+12>>2]=3;c[e+16>>2]=d;c[e+20>>2]=0;c[e>>2]=92300;c[e+28>>2]=a;d=e+32|0;c[d>>2]=c[g>>2];c[d+4>>2]=c[g+4>>2];c[d+8>>2]=c[g+8>>2];c[d+12>>2]=c[g+12>>2];c[d+16>>2]=c[g+16>>2];c[d+20>>2]=c[g+20>>2];d=e+56|0;c[d>>2]=c[b>>2];c[d+4>>2]=c[b+4>>2];c[d+8>>2]=c[b+8>>2];c[d+12>>2]=c[b+12>>2];c[d+16>>2]=c[b+16>>2];c[d+20>>2]=c[b+20>>2];d=e+84|0;c[d>>2]=0;c[e+88>>2]=0;c[e+80>>2]=d;c[e+24>>2]=c[a+24>>2];l=f;return e|0}while(0);D8(d,b,e);D=+h[d+24>>3];p=+h[a+32>>3];C=+h[d+56>>3];n=+h[a+40>>3];i=+h[d+88>>3];k=+h[a+48>>3];E=+h[d+120>>3];j=1.0/(E+(D*p+C*n+i*k));A=+h[d>>3];z=+h[d+32>>3];y=+h[d+64>>3];B=+h[d+96>>3];x=j*(B+(p*A+n*z+k*y));v=+h[d+8>>3];u=+h[d+40>>3];t=+h[d+72>>3];w=+h[d+104>>3];s=j*(w+(p*v+n*u+k*t));q=+h[d+16>>3];o=+h[d+48>>3];m=+h[d+80>>3];r=+h[d+112>>3];j=j*(r+(p*q+n*o+k*m));p=p+ +h[a+56>>3];n=n+ +h[a+64>>3];k=k+ +h[a+72>>3];i=E+(D*p+C*n+i*k);g=j0a(96)|0;e=c[a+16>>2]|0;c[g+4>>2]=0;c[g+8>>2]=0;c[g+12>>2]=3;c[g+16>>2]=e;c[g+20>>2]=0;c[g>>2]=92300;c[g+28>>2]=a;h[g+32>>3]=x;h[g+40>>3]=s;h[g+48>>3]=j;h[g+56>>3]=B+(A*p+z*n+y*k)-x*i;h[g+64>>3]=w+(v*p+u*n+t*k)-s*i;h[g+72>>3]=r+(q*p+o*n+m*k)-j*i;e=g+84|0;c[e>>2]=0;c[g+88>>2]=0;c[g+80>>2]=e;c[g+24>>2]=c[a+24>>2];l=f;return g|0}function Sea(b,d){b=b|0;d=d|0;var e=0;if((c[b+16>>2]|0)==2?gk[c[(c[b>>2]|0)+32>>2]&1023](b)|0:0){d=0;return d|0}if(c[d+108>>2]|0){d=1;return d|0}if(!(a[d+104>>0]|0)){d=1;return d|0}if(!(+g[(Fz(d)|0)+12>>2]>=0.0)){d=1;return d|0}e=c[(c[b>>2]|0)+44>>2]|0;d=Fz(d)|0;d=kk[e&511](b,d)|0;return d|0}function Tea(a){a=a|0;return}function Uea(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0.0,z=0.0,A=0,C=0.0,D=0.0,E=0.0,F=0.0;A=l;l=l+256|0;v=A+144|0;m=A+252|0;n=A+120|0;o=A+96|0;w=A;x=A+240|0;f=b+16|0;if((c[f>>2]|0)==2?gk[c[(c[b>>2]|0)+32>>2]&1023](b)|0:0){l=A;return}k=b+32|0;c[n>>2]=c[k>>2];c[n+4>>2]=c[k+4>>2];c[n+8>>2]=c[k+8>>2];c[n+12>>2]=c[k+12>>2];c[n+16>>2]=c[k+16>>2];c[n+20>>2]=c[k+20>>2];c[o>>2]=0;c[o+4>>2]=0;c[o+8>>2]=0;c[o+12>>2]=0;c[o+16>>2]=0;c[o+20>>2]=0;if(afa(0,n,b+56|0,o,FA(e)|0)|0?(a[d+69>>0]|0)==0:0){i=c[f>>2]|0;c[w+4>>2]=0;c[w+8>>2]=0;c[w+12>>2]=3;c[w+16>>2]=i;c[w+20>>2]=0;c[w>>2]=88640;i=w+28|0;c[i>>2]=0;u=w+32|0;c[u>>2]=c[n>>2];c[u+4>>2]=c[n+4>>2];c[u+8>>2]=c[n+8>>2];c[u+12>>2]=c[n+12>>2];c[u+16>>2]=c[n+16>>2];c[u+20>>2]=c[n+20>>2];u=w+56|0;c[u>>2]=c[o>>2];c[u+4>>2]=c[o+4>>2];c[u+8>>2]=c[o+8>>2];c[u+12>>2]=c[o+12>>2];c[u+16>>2]=c[o+16>>2];c[u+20>>2]=c[o+20>>2];c[w+84>>2]=0;c[w+88>>2]=0;u=w+84|0;c[w+80>>2]=u;c[w+24>>2]=c[b+24>>2];H7(w,d,e,n,o);i=c[i>>2]|0;i=(i|0)==0?w:i;c[x+4>>2]=0;g=x+8|0;c[g>>2]=0;t=x+4|0;c[x>>2]=t;f=c[i+80>>2]|0;i=i+84|0;if((f|0)!=(i|0)){j=t;e=f;while(1){c[m>>2]=j;c[v>>2]=c[m>>2];bfa(x,v,e+16|0)|0;f=c[e+4>>2]|0;if(!f){d=e+8|0;f=c[d>>2]|0;if((c[f>>2]|0)!=(e|0))do{r=c[d>>2]|0;d=r+8|0;f=c[d>>2]|0}while((c[f>>2]|0)!=(r|0))}else while(1){d=c[f>>2]|0;if(!d)break;else f=d}if((f|0)==(i|0))break;else e=f}if(c[g>>2]|0?(D=+h[n>>3],F=D-+h[k>>3],C=+h[n+8>>3],E=C-+h[b+40>>3],z=+h[n+16>>3],y=z-+h[b+48>>3],y=+B(+(F*F+E*E+y*y)),D=+h[o>>3]-D,C=+h[o+8>>3]-C,z=+h[o+16>>3]-z,z=+B(+(D*D+C*C+z*z)),s=c[x>>2]|0,(s|0)!=(t|0)):0){g=v+8|0;i=v+32|0;j=v+24|0;k=v+8|0;m=v+20|0;n=v+92|0;o=v+56|0;p=v+68|0;q=v+80|0;r=b+28|0;e=s;while(1){c[g>>2]=0;c[g+4>>2]=0;c[g+8>>2]=0;c[g+12>>2]=0;c[g+16>>2]=0;f=i;d=f+64|0;do{c[f>>2]=0;f=f+4|0}while((f|0)<(d|0));h[v>>3]=y+z*+h[e+16>>3];f=c[e+40>>2]|0;if(f|0){c[j>>2]=f;s=f+8|0;c[s>>2]=(c[s>>2]|0)+1}f=e+24|0;if((k|0)!=(f|0))gA(k,c[f>>2]|0,c[e+28>>2]|0);f=c[m>>2]|0;d=c[e+36>>2]|0;if((f|0)!=(d|0)){c[m>>2]=d;if(d|0){s=d+8|0;c[s>>2]=(c[s>>2]|0)+1}if(f|0?(d=f+8|0,s=c[d>>2]|0,c[d>>2]=s-1,(s|0)==1):0)UU(f,1,1)}c[n>>2]=c[e+108>>2];f=e+48|0;c[i>>2]=c[f>>2];c[i+4>>2]=c[f+4>>2];c[i+8>>2]=c[f+8>>2];c[i+12>>2]=c[f+12>>2];c[i+16>>2]=c[f+16>>2];c[i+20>>2]=c[f+20>>2];f=e+72|0;c[o>>2]=c[f>>2];c[o+4>>2]=c[f+4>>2];c[o+8>>2]=c[f+8>>2];f=e+84|0;if((p|0)!=(f|0))Xz(p,c[f>>2]|0,c[e+88>>2]|0);f=e+96|0;if((q|0)!=(f|0))cfa(q,c[f>>2]|0,c[e+100>>2]|0);f=c[r>>2]|0;dfa(((f|0)==0?b:f)+80|0,v)|0;$ea(v);f=c[e+4>>2]|0;if(!f){d=e+8|0;f=c[d>>2]|0;if((c[f>>2]|0)!=(e|0))do{s=c[d>>2]|0;d=s+8|0;f=c[d>>2]|0}while((c[f>>2]|0)!=(s|0))}else while(1){d=c[f>>2]|0;if(!d)break;else f=d}if((f|0)==(t|0))break;else e=f}}}A8(x,c[t>>2]|0);c[w>>2]=88640;A8(w+80|0,c[u>>2]|0);SU(w)}l=A;return}function Vea(a){a=a|0;var b=0,d=0;c[a+20>>2]=0;d=a+80|0;b=a+84|0;_ea(d,c[b>>2]|0);c[a+88>>2]=0;c[d>>2]=b;c[b>>2]=0;return}function Wea(a){a=a|0;var b=0;b=c[a+28>>2]|0;return (c[((b|0)==0?a:b)+88>>2]|0)!=0|0}function Xea(a,b){a=a|0;b=b|0;a=a+32|0;c[a>>2]=c[b>>2];c[a+4>>2]=c[b+4>>2];c[a+8>>2]=c[b+8>>2];c[a+12>>2]=c[b+12>>2];c[a+16>>2]=c[b+16>>2];c[a+20>>2]=c[b+20>>2];return}function Yea(a,b){a=a|0;b=b|0;a=a+56|0;c[a>>2]=c[b>>2];c[a+4>>2]=c[b+4>>2];c[a+8>>2]=c[b+8>>2];c[a+12>>2]=c[b+12>>2];c[a+16>>2]=c[b+16>>2];c[a+20>>2]=c[b+20>>2];return}function Zea(a,b){a=a|0;b=b|0;var d=0.0,e=0.0,f=0.0,i=0.0,j=0.0,k=0.0,l=0,m=0.0,n=0.0,o=0.0,p=0.0;m=+g[b+12>>2];if(!(m>=0.0)){a=1;return a|0}e=+h[a+32>>3]-+g[b>>2];f=+h[a+40>>3]-+g[b+4>>2];d=+h[a+48>>3]-+g[b+8>>2];j=e*e+f*f+d*d;i=j-m*m;if(i<0.0){a=1;return a|0}p=+h[a+56>>3];o=+h[a+64>>3];n=+h[a+72>>3];k=p*p+o*o+n*n;e=(e*p+f*o+d*n)*2.0;d=e*e-i*(k*4.0);if(d<0.0){a=0;return a|0}p=+B(+d);o=1.0/(k*2.0);if(o*(-e-p)<=0.0&o*(p-e)<=0.0){a=0;return a|0}if(((c[a+16>>2]|0)==3?(l=c[a+28>>2]|0,l=(l|0)==0?a:l,c[l+88>>2]|0):0)?(p=+B(+j)-m,p>=+h[(c[l+80>>2]|0)+16>>3]):0){a=0;return a|0}a=1;return a|0}function _ea(a,b){a=a|0;b=b|0;if(!b)return;else{_ea(a,c[b>>2]|0);_ea(a,c[b+4>>2]|0);$ea(b+16|0);l0a(b);return}}function $ea(a){a=a|0;var b=0,d=0,e=0,f=0;b=c[a+80>>2]|0;if(b|0){c[a+84>>2]=b;l0a(b)}b=c[a+68>>2]|0;if(b|0){c[a+72>>2]=b;l0a(b)}b=a+24|0;d=c[b>>2]|0;if(d|0?(f=d+8|0,e=c[f>>2]|0,c[f>>2]=e-1,(e|0)==1):0)UU(d,1,1);c[b>>2]=0;b=a+20|0;d=c[b>>2]|0;if(d|0?(e=d+8|0,f=c[e>>2]|0,c[e>>2]=f-1,(f|0)==1):0)UU(d,1,1);c[b>>2]=0;b=c[a+8>>2]|0;if(!b)return;c[a+12>>2]=b;l0a(b);return}function afa(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0.0,i=0.0,j=0.0,k=0.0,l=0.0,m=0.0,n=0.0,o=0.0,p=0.0,q=0,r=0.0,t=0.0,u=0,v=0.0,w=0.0,x=0.0;r=+g[e>>2];v=+g[e+4>>2];x=+g[e+8>>2];p=+g[e+12>>2];t=+g[e+16>>2];w=+g[e+20>>2];q=c+8|0;u=c+16|0;a=b+8|0;e=b+16|0;i=+h[c>>3];f=+h[b>>3];if(!(i>=0.0)){if(f<r){d=0;return d|0}if(i<-1.0e-06&f>p?(k=(p-f)/i+-1.0e-06,k>0.0):0){f=k*i+f;j=k*+h[q>>3]+ +h[a>>3];k=k*+h[u>>3]+ +h[e>>3];h[b>>3]=f;h[a>>3]=j;h[e>>3]=k}}else{if(f>p){d=0;return d|0}if(i>1.0e-06&f<r?(j=(r-f)/i+-1.0e-06,j>0.0):0){f=j*i+f;i=j*+h[q>>3]+ +h[a>>3];k=j*+h[u>>3]+ +h[e>>3];h[b>>3]=f;h[a>>3]=i;h[e>>3]=k}}i=+h[q>>3];j=+h[a>>3];if(!(i>=0.0)){if(j<v){d=0;return d|0}if(i<-1.0e-06&j>t?(m=(t-j)/i+-1.0e-06,m>0.0):0){l=m*+h[c>>3]+f;j=m*i+j;i=m*+h[u>>3]+ +h[e>>3];h[b>>3]=l;h[a>>3]=j;h[e>>3]=i;i=l}else i=f}else{if(j>t){d=0;return d|0}if(i>1.0e-06&j<v?(l=(v-j)/i+-1.0e-06,l>0.0):0){m=l*+h[c>>3]+f;j=l*i+j;i=l*+h[u>>3]+ +h[e>>3];h[b>>3]=m;h[a>>3]=j;h[e>>3]=i;i=m}else i=f}f=+h[u>>3];l=+h[e>>3];if(!(f>=0.0)){if(l<x){d=0;return d|0}if(f<-1.0e-06&l>w?(o=(w-l)/f+-1.0e-06,o>0.0):0){n=o*+h[c>>3]+i;m=o*+h[q>>3]+j;l=o*f+l;h[b>>3]=n;h[a>>3]=m;h[e>>3]=l}else{n=i;m=j}}else{if(l>w){d=0;return d|0}if(f>1.0e-06&l<x?(n=(x-l)/f+-1.0e-06,n>0.0):0){o=n*+h[c>>3]+i;m=n*+h[q>>3]+j;l=n*f+l;h[b>>3]=o;h[a>>3]=m;h[e>>3]=l;n=o}else{n=i;m=j}}k=+h[c>>3];if(!(k>=1.0e-06))if(!(k<=-1.0e-06))f=s;else{f=(r-n)/k+1.0e-06;f=f<s?f:s}else{f=(p-n)/k+1.0e-06;f=f<s?f:s}j=+h[q>>3];if(!(j>=1.0e-06)){if(j<=-1.0e-06){v=(v-m)/j+1.0e-06;f=v<f?v:f}}else{v=(t-m)/j+1.0e-06;f=v<f?v:f}i=+h[u>>3];if(!(i>=1.0e-06)){if(i<=-1.0e-06){x=(x-l)/i+1.0e-06;f=x<f?x:f}}else{x=(w-l)/i+1.0e-06;f=x<f?x:f}if(f==s){d=0;return d|0}h[d>>3]=f*k+n;h[d+8>>3]=f*j+m;h[d+16>>3]=f*i+l;d=1;return d|0}function bfa(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,f=0,g=0,i=0,j=0,k=0,l=0,m=0;m=j0a(112)|0;g=m+16|0;S7(g,d);j=c[b>>2]|0;l=a+4|0;i=j;do if((l|0)!=(i|0)?(e=+h[g>>3],+h[i+16>>3]<e):0){b=c[l>>2]|0;if(!b){d=l;b=l;break}while(1)if(+h[b+16>>3]<e){d=c[b+4>>2]|0;if(!d){k=26;break}else b=d}else{d=c[b>>2]|0;if(!d){k=28;break}else b=d}if((k|0)==26){d=b+4|0;break}else if((k|0)==28){d=b;break}}else k=3;while(0);do if((k|0)==3){f=c[i>>2]|0;if((c[a>>2]|0)!=(i|0)){if(!f){b=i;do{k=b;b=c[b+8>>2]|0}while((c[b>>2]|0)==(k|0));d=b}else{b=f;while(1){d=c[b+4>>2]|0;if(!d){d=b;break}else b=d}}b=d;e=+h[g>>3];if(e<+h[d+16>>3]){b=c[l>>2]|0;if(!b){d=l;b=l;break}while(1)if(e<+h[b+16>>3]){d=c[b>>2]|0;if(!d){k=17;break}else b=d}else{d=c[b+4>>2]|0;if(!d){k=19;break}else b=d}if((k|0)==17){d=b;break}else if((k|0)==19){d=b+4|0;break}}}else b=j;if(!f){d=i;b=j}else d=b+4|0}while(0);c[m>>2]=0;c[m+4>>2]=0;c[m+8>>2]=b;c[d>>2]=m;b=c[c[a>>2]>>2]|0;if(!b){l=m;k=a+4|0;k=c[k>>2]|0;fp(k,l);a=a+8|0;l=c[a>>2]|0;l=l+1|0;c[a>>2]=l;return m|0}c[a>>2]=b;l=c[d>>2]|0;k=a+4|0;k=c[k>>2]|0;fp(k,l);a=a+8|0;l=c[a>>2]|0;l=l+1|0;c[a>>2]=l;return m|0}function cfa(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;k=d;h=b;g=k-h|0;f=g>>3;i=a+8|0;e=c[i>>2]|0;l=c[a>>2]|0;j=l;if(f>>>0<=e-l>>3>>>0){g=a+4|0;a=(c[g>>2]|0)-l>>3;f=f>>>0>a>>>0;a=f?b+(a<<3)|0:d;d=a;e=d-h|0;if(e|0)y2a(l|0,b|0,e|0)|0;if(!f){c[g>>2]=j+(e>>3<<3);return}e=k-d|0;if((e|0)<=0)return;x2a(c[g>>2]|0,a|0,e|0)|0;c[g>>2]=(c[g>>2]|0)+(e>>>3<<3);return}if(l){e=a+4|0;c[e>>2]=l;l0a(l);c[i>>2]=0;c[e>>2]=0;c[a>>2]=0;e=0}if(f>>>0>536870911)g1a(a);l=e>>2;f=e>>3>>>0<268435455?(l>>>0<f>>>0?f:l):536870911;if(f>>>0>536870911)g1a(a);e=j0a(f<<3)|0;d=a+4|0;c[d>>2]=e;c[a>>2]=e;c[i>>2]=e+(f<<3);if((g|0)<=0)return;x2a(e|0,b|0,g|0)|0;c[d>>2]=e+(g>>>3<<3);return}function dfa(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0.0,i=0;i=j0a(112)|0;d=i+16|0;efa(d,b);e=a+4|0;b=c[e>>2]|0;do if(b){g=+h[d>>3];while(1)if(g<+h[b+16>>3]){d=c[b>>2]|0;if(!d){e=5;break}else b=d}else{d=c[b+4>>2]|0;if(!d){e=7;break}else b=d}if((e|0)==5){f=b;d=b;break}else if((e|0)==7){f=b;d=b+4|0;break}}else{f=e;d=e}while(0);c[i>>2]=0;c[i+4>>2]=0;c[i+8>>2]=f;c[d>>2]=i;b=c[c[a>>2]>>2]|0;if(!b)b=i;else{c[a>>2]=b;b=c[d>>2]|0}fp(c[a+4>>2]|0,b);a=a+8|0;c[a>>2]=(c[a>>2]|0)+1;return i|0}function efa(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,i=0,j=0,k=0,l=0;h[a>>3]=+h[b>>3];f=a+8|0;g=b+8|0;c[f>>2]=0;l=a+12|0;c[l>>2]=0;i=a+16|0;c[i>>2]=0;k=b+12|0;d=(c[k>>2]|0)-(c[g>>2]|0)|0;e=d>>2;if(d|0){if(e>>>0>1073741823)g1a(f);j=j0a(d)|0;c[l>>2]=j;c[f>>2]=j;c[i>>2]=j+(e<<2);e=c[g>>2]|0;d=(c[k>>2]|0)-e|0;if((d|0)>0){x2a(j|0,e|0,d|0)|0;c[l>>2]=j+(d>>>2<<2)}}d=c[b+20>>2]|0;c[a+20>>2]=d;if(d|0){l=d+8|0;c[l>>2]=(c[l>>2]|0)+1}d=c[b+24>>2]|0;c[a+24>>2]=d;if(d|0){l=d+8|0;c[l>>2]=(c[l>>2]|0)+1}d=a+32|0;e=b+32|0;f=d+36|0;do{c[d>>2]=c[e>>2];d=d+4|0;e=e+4|0}while((d|0)<(f|0));e=a+68|0;f=b+68|0;c[e>>2]=0;l=a+72|0;c[l>>2]=0;g=a+76|0;c[g>>2]=0;j=b+72|0;d=(c[j>>2]|0)-(c[f>>2]|0)|0;i=d>>2;if(d|0){if(i>>>0>1073741823)g1a(e);k=j0a(d)|0;c[l>>2]=k;c[e>>2]=k;c[g>>2]=k+(i<<2);e=c[f>>2]|0;d=(c[j>>2]|0)-e|0;if((d|0)>0){x2a(k|0,e|0,d|0)|0;c[l>>2]=k+(d>>>2<<2)}}e=a+80|0;f=b+80|0;c[e>>2]=0;l=a+84|0;c[l>>2]=0;g=a+88|0;c[g>>2]=0;j=b+84|0;d=(c[j>>2]|0)-(c[f>>2]|0)|0;i=d>>3;if(!d){a=a+92|0;b=b+92|0;b=c[b>>2]|0;c[a>>2]=b;return}if(i>>>0>536870911)g1a(e);k=j0a(d)|0;c[l>>2]=k;c[e>>2]=k;c[g>>2]=k+(i<<3);e=c[f>>2]|0;d=(c[j>>2]|0)-e|0;if((d|0)<=0){a=a+92|0;b=b+92|0;b=c[b>>2]|0;c[a>>2]=b;return}x2a(k|0,e|0,d|0)|0;c[l>>2]=k+(d>>>3<<3);a=a+92|0;b=b+92|0;b=c[b>>2]|0;c[a>>2]=b;return}function ffa(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;c[a>>2]=92356;h=a+32|0;c[h>>2]=92592;b=a+228|0;d=c[b>>2]|0;if(d|0?(j=d+8|0,i=c[j>>2]|0,c[j>>2]=i-1,(i|0)==1):0)UU(d,1,1);c[b>>2]=0;d=a+224|0;b=c[d>>2]|0;if(b|0?(i=b+8|0,j=c[i>>2]|0,c[i>>2]=j-1,(j|0)==1):0)UU(b,1,1);c[d>>2]=0;b=a+220|0;d=c[b>>2]|0;if(d|0?(i=d+8|0,j=c[i>>2]|0,c[i>>2]=j-1,(j|0)==1):0)UU(d,1,1);c[b>>2]=0;b=a+216|0;d=c[b>>2]|0;if(d|0?(i=d+8|0,j=c[i>>2]|0,c[i>>2]=j-1,(j|0)==1):0)UU(d,1,1);c[b>>2]=0;b=a+212|0;d=c[b>>2]|0;if(d|0?(i=d+8|0,j=c[i>>2]|0,c[i>>2]=j-1,(j|0)==1):0)UU(d,1,1);c[b>>2]=0;b=a+204|0;d=c[b>>2]|0;if(d|0?(i=d+8|0,j=c[i>>2]|0,c[i>>2]=j-1,(j|0)==1):0)UU(d,1,1);c[b>>2]=0;b=a+200|0;d=c[b>>2]|0;if(d|0?(i=d+8|0,j=c[i>>2]|0,c[i>>2]=j-1,(j|0)==1):0)UU(d,1,1);c[b>>2]=0;b=a+196|0;d=c[b>>2]|0;if(d|0?(e=d+(c[(c[d>>2]|0)+-12>>2]|0)|0,i=e+8|0,j=c[i>>2]|0,c[i>>2]=j-1,(j|0)==1):0)UU(e,1,1);c[b>>2]=0;b=a+192|0;d=c[b>>2]|0;if(d|0?(i=d+8|0,j=c[i>>2]|0,c[i>>2]=j-1,(j|0)==1):0)UU(d,1,1);c[b>>2]=0;b=a+188|0;d=c[b>>2]|0;if(d|0?(i=d+8|0,j=c[i>>2]|0,c[i>>2]=j-1,(j|0)==1):0)UU(d,1,1);c[b>>2]=0;b=a+184|0;d=c[b>>2]|0;if(d|0?(i=d+8|0,j=c[i>>2]|0,c[i>>2]=j-1,(j|0)==1):0)UU(d,1,1);c[b>>2]=0;b=a+180|0;d=c[b>>2]|0;if(d|0?(f=d+(c[(c[d>>2]|0)+-12>>2]|0)|0,i=f+8|0,j=c[i>>2]|0,c[i>>2]=j-1,(j|0)==1):0)UU(f,1,1);c[b>>2]=0;b=a+176|0;d=c[b>>2]|0;if(d|0?(i=d+8|0,j=c[i>>2]|0,c[i>>2]=j-1,(j|0)==1):0)UU(d,1,1);c[b>>2]=0;b=a+172|0;d=c[b>>2]|0;if(d|0?(i=d+8|0,j=c[i>>2]|0,c[i>>2]=j-1,(j|0)==1):0)UU(d,1,1);c[b>>2]=0;b=a+168|0;d=c[b>>2]|0;if(d|0?(i=d+8|0,j=c[i>>2]|0,c[i>>2]=j-1,(j|0)==1):0)UU(d,1,1);c[b>>2]=0;b=a+164|0;d=c[b>>2]|0;if(d|0?(g=d+(c[(c[d>>2]|0)+-12>>2]|0)|0,i=g+8|0,j=c[i>>2]|0,c[i>>2]=j-1,(j|0)==1):0)UU(g,1,1);c[b>>2]=0;b=a+160|0;d=c[b>>2]|0;if(d|0?(i=d+8|0,j=c[i>>2]|0,c[i>>2]=j-1,(j|0)==1):0)UU(d,1,1);c[b>>2]=0;b=a+156|0;d=c[b>>2]|0;if(d|0?(i=d+8|0,j=c[i>>2]|0,c[i>>2]=j-1,(j|0)==1):0)UU(d,1,1);c[b>>2]=0;b=a+152|0;d=c[b>>2]|0;do if(d|0){i=d+8|0;j=c[i>>2]|0;c[i>>2]=j-1;if((j|0)!=1)break;UU(d,1,1)}while(0);c[b>>2]=0;d=a+148|0;b=c[d>>2]|0;do if(b|0){b=b+(c[(c[b>>2]|0)+-12>>2]|0)|0;i=b+8|0;j=c[i>>2]|0;c[i>>2]=j-1;if((j|0)!=1)break;UU(b,1,1)}while(0);c[d>>2]=0;d=a+144|0;b=c[d>>2]|0;do if(b|0){b=b+(c[(c[b>>2]|0)+-12>>2]|0)|0;i=b+8|0;j=c[i>>2]|0;c[i>>2]=j-1;if((j|0)!=1)break;UU(b,1,1)}while(0);c[d>>2]=0;d=a+140|0;b=c[d>>2]|0;do if(b|0){b=b+(c[(c[b>>2]|0)+-12>>2]|0)|0;i=b+8|0;j=c[i>>2]|0;c[i>>2]=j-1;if((j|0)!=1)break;UU(b,1,1)}while(0);c[d>>2]=0;t9(a+100|0);b=a+96|0;d=c[b>>2]|0;do if(d|0){i=d+8|0;j=c[i>>2]|0;c[i>>2]=j-1;if((j|0)!=1)break;UU(d,1,1)}while(0);c[b>>2]=0;c[h>>2]=70260;b=a+60|0;d=c[b>>2]|0;if(!d){c[b>>2]=0;Pr(a);return}i=d+8|0;j=c[i>>2]|0;c[i>>2]=j-1;if((j|0)!=1){c[b>>2]=0;Pr(a);return}UU(d,1,1);c[b>>2]=0;Pr(a);return}function gfa(a){a=a|0;ffa(a);l0a(a);return}function hfa(a){a=a|0;a=j0a(296)|0;Aga(a,0);return a|0}function ifa(a,b){a=a|0;b=b|0;var c=0;c=j0a(296)|0;zga(c,a,b);return c|0}function jfa(a,b){a=a|0;b=b|0;if(!b){b=0;return b|0}b=(y1a(b,42800,51336,0)|0)!=0;return b|0}function kfa(a){a=a|0;return 160686}function lfa(a){a=a|0;return 167913}function mfa(a){a=a|0;Jk[c[(c[a>>2]|0)+168>>2]&1023](a,29);return}function nfa(b,d){b=b|0;d=d|0;var e=0,f=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;Lv(b+32|0);n=b+208|0;$ra((c[n>>2]|0)+304|0,50.0,1.399999976158142,1.0,1.0e4);Qra((c[n>>2]|0)+432|0);o=b+216|0;if((((c[o>>2]|0)==0?(e=j0a(160)|0,DY(e),f=c[o>>2]|0,(f|0)!=(e|0)):0)?(c[o>>2]=e,l=e+8|0,c[l>>2]=(c[l>>2]|0)+1,f|0):0)?(k=f+8|0,l=c[k>>2]|0,c[k>>2]=l-1,(l|0)==1):0)UU(f,1,1);if(d&16|0)EY(c[o>>2]|0);if(!(d&3))c[b+240>>2]=0;e=j0a(944)|0;Mfa(e);f=b+100|0;h=c[f>>2]|0;if(((h|0)!=(e|0)?(c[f>>2]=e,l=e+8|0,c[l>>2]=(c[l>>2]|0)+1,h|0):0)?(k=h+8|0,l=c[k>>2]|0,c[k>>2]=l-1,(l|0)==1):0)UU(h,1,1);e=j0a(64)|0;c[e+4>>2]=0;f=e+8|0;c[f>>2]=0;c[e>>2]=90368;c[e+12>>2]=0;c[e+16>>2]=0;c[e+20>>2]=0;k=e+28|0;c[k>>2]=0;c[e+32>>2]=0;c[e+24>>2]=k;k=e+36|0;c[k>>2]=0;c[k+4>>2]=0;c[k+8>>2]=0;c[k+12>>2]=0;c[k+16>>2]=0;c[k+20>>2]=0;a[k+24>>0]=0;k=b+152|0;h=c[k>>2]|0;if(((h|0)!=(e|0)?(c[k>>2]=e,c[f>>2]=(c[f>>2]|0)+1,h|0):0)?(f=h+8|0,l=c[f>>2]|0,c[f>>2]=l-1,(l|0)==1):0)UU(h,1,1);e=j0a(424)|0;Rba(e);l=b+156|0;f=c[l>>2]|0;if(((f|0)!=(e|0)?(c[l>>2]=e,h=e+8|0,c[h>>2]=(c[h>>2]|0)+1,f|0):0)?(e=f+8|0,h=c[e>>2]|0,c[e>>2]=h-1,(h|0)==1):0)UU(f,1,1);if(d&4|0){h=j0a(160)|0;e=h+128|0;c[h+132>>2]=0;c[h+136>>2]=0;c[e>>2]=68320;f=h+140|0;c[f>>2]=0;c[f+4>>2]=0;c[f+8>>2]=0;c[h+152>>2]=2;c[h+156>>2]=0;IR(h,91628,0);c[h>>2]=91092;c[e>>2]=91460;e=h+60|0;f=e+36|0;do{c[e>>2]=0;e=e+4|0}while((e|0)<(f|0));e=h+104|0;c[e>>2]=0;c[h+108>>2]=0;c[h+100>>2]=e;e=h+116|0;c[e>>2]=0;c[h+120>>2]=0;c[h+112>>2]=e;c[h+124>>2]=0;c[h+16>>2]=2;c[h+56>>2]=268;c[h+96>>2]=2;c[h+24>>2]=-1;e=b+140|0;f=c[e>>2]|0;if(((f|0)!=(h|0)?(c[e>>2]=h,h=h+136|0,c[h>>2]=(c[h>>2]|0)+1,f|0):0)?(i=f+(c[(c[f>>2]|0)+-12>>2]|0)|0,f=i+8|0,h=c[f>>2]|0,c[f>>2]=h-1,(h|0)==1):0)UU(i,1,1)}e=j0a(88)|0;f=e+56|0;c[e+60>>2]=0;c[e+64>>2]=0;c[f>>2]=68320;h=e+68|0;c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;c[e+80>>2]=2;c[e+84>>2]=0;FR(e,92660,1,2);c[e>>2]=92684;c[f>>2]=93052;f=b+144|0;h=c[f>>2]|0;if(((h|0)!=(e|0)?(c[f>>2]=e,i=e+64|0,c[i>>2]=(c[i>>2]|0)+1,h|0):0)?(j=h+(c[(c[h>>2]|0)+-12>>2]|0)|0,h=j+8|0,i=c[h>>2]|0,c[h>>2]=i-1,(i|0)==1):0)UU(j,1,1);Nfa()|0;if(!(c[56451]|0)){f=j0a(536)|0;Ofa(f)}else{Nfa()|0;f=c[56451]|0;f=gk[c[(c[f>>2]|0)+200>>2]&1023](f)|0}j=b+148|0;e=c[j>>2]|0;if((e|0)!=(f|0)){c[j>>2]=f;if(f|0){b=f+(c[(c[f>>2]|0)+-12>>2]|0)+8|0;c[b>>2]=(c[b>>2]|0)+1}if(e|0?(m=e+(c[(c[e>>2]|0)+-12>>2]|0)|0,i=m+8|0,b=c[i>>2]|0,c[i>>2]=b-1,(b|0)==1):0)UU(m,1,1)}i=c[j>>2]|0;e=c[k>>2]|0;f=i+372|0;h=c[f>>2]|0;if((h|0)!=(e|0)){c[f>>2]=e;if(e|0){m=e+8|0;c[m>>2]=(c[m>>2]|0)+1}if(h|0?(b=h+8|0,m=c[b>>2]|0,c[b>>2]=m-1,(m|0)==1):0)UU(h,1,1)}c[i+376>>2]=e;i=c[j>>2]|0;e=c[l>>2]|0;f=i+380|0;h=c[f>>2]|0;if((h|0)!=(e|0)){c[f>>2]=e;if(e|0){m=e+8|0;c[m>>2]=(c[m>>2]|0)+1}if(h|0?(b=h+8|0,m=c[b>>2]|0,c[b>>2]=m-1,(m|0)==1):0)UU(h,1,1)}c[i+384>>2]=e;if(!(d&8))return;z2(c[o>>2]|0);o=c[n>>2]|0;g[o+240>>2]=.20000000298023224;g[o+244>>2]=.20000000298023224;g[o+248>>2]=.4000000059604645;g[o+252>>2]=1.0;e=o+148|0;if(c[o+152>>2]|0)return;c[e>>2]=c[e>>2]&-8193;return}function ofa(a,b,d){a=a|0;b=b|0;d=d|0;b=c[b+224>>2]|0;if(!b){h[a>>3]=+h[d>>3];h[a+8>>3]=+h[d+8>>3];h[a+16>>3]=+h[d+16>>3];h[a+24>>3]=+h[d+24>>3];h[a+32>>3]=+h[d+32>>3];h[a+40>>3]=+h[d+40>>3];h[a+48>>3]=+h[d+48>>3];h[a+56>>3]=+h[d+56>>3];h[a+64>>3]=+h[d+64>>3];h[a+72>>3]=+h[d+72>>3];h[a+80>>3]=+h[d+80>>3];h[a+88>>3]=+h[d+88>>3];h[a+96>>3]=+h[d+96>>3];h[a+104>>3]=+h[d+104>>3];h[a+112>>3]=+h[d+112>>3];h[a+120>>3]=+h[d+120>>3];return}else{Nk[c[(c[b>>2]|0)+12>>2]&255](a,b,d);return}}function pfa(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,f=0,i=0.0;f=c[b+224>>2]|0;if(!f){h[a>>3]=+h[d>>3];h[a+8>>3]=+h[d+8>>3];h[a+16>>3]=+h[d+16>>3];h[a+24>>3]=+h[d+24>>3];h[a+32>>3]=+h[d+32>>3];h[a+40>>3]=+h[d+40>>3];h[a+48>>3]=+h[d+48>>3];h[a+56>>3]=+h[d+56>>3];h[a+64>>3]=+h[d+64>>3];h[a+72>>3]=+h[d+72>>3];h[a+80>>3]=+h[d+80>>3];h[a+88>>3]=+h[d+88>>3];h[a+96>>3]=+h[d+96>>3];h[a+104>>3]=+h[d+104>>3];h[a+112>>3]=+h[d+112>>3];h[a+120>>3]=+h[d+120>>3];return}i=+g[f+36>>2];switch(c[b+232>>2]|0){case 0:{e=+g[b+236>>2];break}case 1:{e=i*+g[b+236>>2];break}default:e=i}Ok[c[(c[f>>2]|0)+16>>2]&3](a,f,d,e/i);return}function qfa(a,b,d){a=a|0;b=b|0;d=d|0;b=c[b+224>>2]|0;if(!b){h[a>>3]=+h[d>>3];h[a+8>>3]=+h[d+8>>3];h[a+16>>3]=+h[d+16>>3];h[a+24>>3]=+h[d+24>>3];h[a+32>>3]=+h[d+32>>3];h[a+40>>3]=+h[d+40>>3];h[a+48>>3]=+h[d+48>>3];h[a+56>>3]=+h[d+56>>3];h[a+64>>3]=+h[d+64>>3];h[a+72>>3]=+h[d+72>>3];h[a+80>>3]=+h[d+80>>3];h[a+88>>3]=+h[d+88>>3];h[a+96>>3]=+h[d+96>>3];h[a+104>>3]=+h[d+104>>3];h[a+112>>3]=+h[d+112>>3];h[a+120>>3]=+h[d+120>>3];return}else{Nk[c[(c[b>>2]|0)+20>>2]&255](a,b,d);return}}function rfa(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,f=0,i=0.0;f=c[b+224>>2]|0;if(!f){h[a>>3]=+h[d>>3];h[a+8>>3]=+h[d+8>>3];h[a+16>>3]=+h[d+16>>3];h[a+24>>3]=+h[d+24>>3];h[a+32>>3]=+h[d+32>>3];h[a+40>>3]=+h[d+40>>3];h[a+48>>3]=+h[d+48>>3];h[a+56>>3]=+h[d+56>>3];h[a+64>>3]=+h[d+64>>3];h[a+72>>3]=+h[d+72>>3];h[a+80>>3]=+h[d+80>>3];h[a+88>>3]=+h[d+88>>3];h[a+96>>3]=+h[d+96>>3];h[a+104>>3]=+h[d+104>>3];h[a+112>>3]=+h[d+112>>3];h[a+120>>3]=+h[d+120>>3];return}i=+g[f+36>>2];switch(c[b+232>>2]|0){case 0:{e=+g[b+236>>2];break}case 1:{e=i*+g[b+236>>2];break}default:e=i}Ok[c[(c[f>>2]|0)+24>>2]&3](a,f,d,e/i);return}function sfa(a,b){a=a|0;b=b|0;Nk[c[(c[a>>2]|0)+192>>2]&255](a,b,c[a+36>>2]|0);return}function tfa(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0;q=l;l=l+16|0;k=q;r=c[a+204>>2]|0;if(((r|0?c[r+24>>2]|0:0)?(g=a+208|0,e=c[g>>2]|0,e|0):0)?(f=c[e+220>>2]|0,f|0):0){if(d&32768|0?(h=a+240|0,i=c[h>>2]|0,j=c[f+8>>2]|0,!(j>>>0>=3|(j|0)==(i|0))):0){e=c[a+228>>2]|0;if(!e)e=c[a+216>>2]|0;if(i|0?(Zfa(e,2896),m=c[a+220>>2]|0,m|0):0){c[k>>2]=92640;c[k+4>>2]=e;c[k+8>>2]=0;kk[c[(c[m>>2]|0)+188>>2]&511](m,k)|0}c[h>>2]=j}if(d&65536|0?(n=c[(c[(c[g>>2]|0)+220>>2]|0)+12>>2]|0,o=a+220|0,p=c[o>>2]|0,(p|0)!=(n|0)):0){c[o>>2]=n;if(n|0){r=n+8|0;c[r>>2]=(c[r>>2]|0)+1}if(p|0?(o=p+8|0,r=c[o>>2]|0,c[o>>2]=r-1,(r|0)==1):0)UU(p,1,1)}}Ov(a+32|0,b,d);l=q;return}function ufa(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;a[b+136>>0]=1;h=b+100|0;aT(c[(c[h>>2]|0)+124>>2]|0,231036)|0;d=c[b+204>>2]|0;if(!d)return;if(!(c[d+24>>2]|0))return;m=b+208|0;if(!(c[m>>2]|0))return;g=b+140|0;d=c[g>>2]|0;if(!d)return;Bk[c[(c[d>>2]|0)+76>>2]&2047](d);f=b+200|0;d=c[f>>2]|0;b=(c[g>>2]|0)+12|0;e=c[b>>2]|0;if((e|0)!=(d|0)){c[b>>2]=d;if(d|0){b=d+8|0;c[b>>2]=(c[b>>2]|0)+1}if(e|0?(d=e+8|0,b=c[d>>2]|0,c[d>>2]=b-1,(b|0)==1):0)UU(e,1,1)}d=c[g>>2]|0;if((d|0?(i=y1a(d,43296,50136,0)|0,i|0):0)?(j=c[h>>2]|0,k=i+60|0,l=c[k>>2]|0,(l|0)!=(j|0)):0){c[k>>2]=j;if(j|0){k=j+8|0;c[k>>2]=(c[k>>2]|0)+1}if(l|0?(j=l+8|0,k=c[j>>2]|0,c[j>>2]=k-1,(k|0)==1):0)UU(l,1,1)}b=c[f>>2]|0;d=c[g>>2]|0;if(b|0)c[d+8>>2]=c[b+12>>2];m=c[m>>2]|0;Jk[c[(c[m>>2]|0)+212>>2]&1023](m,d);return}function vfa(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;b=c[a+204>>2]|0;if(!b)return;if(!(c[b+24>>2]|0))return;g=a+208|0;if(!(c[g>>2]|0))return;f=a+144|0;b=c[f>>2]|0;if(!b)return;Bk[c[(c[b>>2]|0)+76>>2]&2047](b);b=a+200|0;a=c[b>>2]|0;d=(c[f>>2]|0)+12|0;e=c[d>>2]|0;if((e|0)!=(a|0)){c[d>>2]=a;if(a|0){d=a+8|0;c[d>>2]=(c[d>>2]|0)+1}if(e|0?(a=e+8|0,d=c[a>>2]|0,c[a>>2]=d-1,(d|0)==1):0)UU(e,1,1);a=c[b>>2]|0}b=c[f>>2]|0;if(a|0)c[b+8>>2]=c[a+12>>2];f=c[g>>2]|0;Jk[c[(c[f>>2]|0)+212>>2]&1023](f,b);Fz(c[g>>2]|0)|0;return}function wfa(b){b=b|0;var d=0,e=0,f=0,g=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0.0,B=0.0,C=0.0,D=0.0;z=l;l=l+256|0;x=z+128|0;y=z;c[b+284>>2]=0;w=b+208|0;d=c[w>>2]|0;if(!(c[d+116>>2]|0)){l=z;return}c[b+104>>2]=c[d+220>>2];Lfa(b);d=b+100|0;if(!(c[d>>2]|0)){if(ZQ(4)|0){v=mr(lr(4)|0,166781,94)|0;BSa(x,v+(c[(c[v>>2]|0)+-12>>2]|0)|0);u=cUa(x,230580)|0;u=kk[c[(c[u>>2]|0)+28>>2]&511](u,10)|0;dUa(x);VSa(v,u)|0;HSa(v)|0}e=j0a(944)|0;Mfa(e);f=c[d>>2]|0;if(((f|0)!=(e|0)?(c[d>>2]=e,v=e+8|0,c[v>>2]=(c[v>>2]|0)+1,f|0):0)?(u=f+8|0,v=c[u>>2]|0,c[u>>2]=v-1,(v|0)==1):0)UU(f,1,1)}d=b+96|0;if((((c[d>>2]|0)==0?(g=j0a(160)|0,DY(g),i=c[d>>2]|0,(i|0)!=(g|0)):0)?(c[d>>2]=g,v=g+8|0,c[v>>2]=(c[v>>2]|0)+1,i|0):0)?(u=i+8|0,v=c[u>>2]|0,c[u>>2]=v-1,(v|0)==1):0)UU(i,1,1);v=b+148|0;if(!(c[v>>2]|0)){if(ZQ(4)|0){u=mr(lr(4)|0,166876,94)|0;BSa(x,u+(c[(c[u>>2]|0)+-12>>2]|0)|0);t=cUa(x,230580)|0;t=kk[c[(c[t>>2]|0)+28>>2]&511](t,10)|0;dUa(x);VSa(u,t)|0;HSa(u)|0}Nfa()|0;if(!(c[56451]|0)){e=j0a(536)|0;Ofa(e)}else{Nfa()|0;e=c[56451]|0;e=gk[c[(c[e>>2]|0)+200>>2]&1023](e)|0}d=c[v>>2]|0;if((d|0)!=(e|0)){c[v>>2]=e;if(e|0){u=e+(c[(c[e>>2]|0)+-12>>2]|0)+8|0;c[u>>2]=(c[u>>2]|0)+1}if(d|0?(j=d+(c[(c[d>>2]|0)+-12>>2]|0)|0,t=j+8|0,u=c[t>>2]|0,c[t>>2]=u-1,(u|0)==1):0)UU(j,1,1)}}j=b+152|0;if(!(c[j>>2]|0)){if(ZQ(4)|0){u=mr(lr(4)|0,166971,100)|0;BSa(x,u+(c[(c[u>>2]|0)+-12>>2]|0)|0);t=cUa(x,230580)|0;t=kk[c[(c[t>>2]|0)+28>>2]&511](t,10)|0;dUa(x);VSa(u,t)|0;HSa(u)|0}d=j0a(64)|0;c[d+4>>2]=0;e=d+8|0;c[e>>2]=0;c[d>>2]=90368;c[d+12>>2]=0;c[d+16>>2]=0;c[d+20>>2]=0;f=d+28|0;c[f>>2]=0;c[d+32>>2]=0;c[d+24>>2]=f;f=d+36|0;c[f>>2]=0;c[f+4>>2]=0;c[f+8>>2]=0;c[f+12>>2]=0;c[f+16>>2]=0;c[f+20>>2]=0;a[f+24>>0]=0;f=c[j>>2]|0;if(((f|0)!=(d|0)?(c[j>>2]=d,c[e>>2]=(c[e>>2]|0)+1,f|0):0)?(t=f+8|0,u=c[t>>2]|0,c[t>>2]=u-1,(u|0)==1):0)UU(f,1,1)}t=b+156|0;if(!(c[t>>2]|0)){if(ZQ(4)|0){u=mr(lr(4)|0,167072,106)|0;BSa(x,u+(c[(c[u>>2]|0)+-12>>2]|0)|0);i=cUa(x,230580)|0;i=kk[c[(c[i>>2]|0)+28>>2]&511](i,10)|0;dUa(x);VSa(u,i)|0;HSa(u)|0}d=j0a(424)|0;Rba(d);e=c[t>>2]|0;if(((e|0)!=(d|0)?(c[t>>2]=d,u=d+8|0,c[u>>2]=(c[u>>2]|0)+1,e|0):0)?(i=e+8|0,u=c[i>>2]|0,c[i>>2]=u-1,(u|0)==1):0)UU(e,1,1)}d=c[b+224>>2]|0;if(d|0?a[d+16>>0]|0:0)switch(c[d+20>>2]|0){case 4:{c[(c[v>>2]|0)+20>>2]=c[b+88>>2];Pfa(b,c[(c[w>>2]|0)+288>>2]|0);d=c[b>>2]|0;i=c[d+224>>2]|0;e=(c[w>>2]|0)+304|0;g=b+160|0;f=c[g>>2]|0;if(!f)Nk[c[d+172>>2]&255](x,b,e);else Nk[c[(c[f>>2]|0)+12>>2]&255](x,f,e);e=(c[w>>2]|0)+432|0;d=c[g>>2]|0;if(!d)Nk[c[(c[b>>2]|0)+176>>2]&255](y,b,e);else Nk[c[(c[d>>2]|0)+16>>2]&255](y,d,e);if(!(sk[i&15](b,x,y,c[v>>2]|0,c[j>>2]|0,c[t>>2]|0,c[b+176>>2]|0)|0)){l=z;return}f=c[v>>2]|0;A=+h[f+408>>3];d=(c[w>>2]|0)+304|0;h[x>>3]=+h[f+400>>3];h[y>>3]=A;e=c[f+84>>2]|0;if(!e)mk[c[(c[f>>2]|0)+212>>2]&63](f,d,x,y)|0;else mk[c[(c[e>>2]|0)+16>>2]&63](e,d,x,y)|0;l=z;return}case 5:{c[(c[v>>2]|0)+20>>2]=c[b+92>>2];Qfa(b,c[(c[w>>2]|0)+288>>2]|0);d=c[b>>2]|0;i=c[d+224>>2]|0;e=(c[w>>2]|0)+304|0;g=b+160|0;f=c[g>>2]|0;if(!f)Nk[c[d+180>>2]&255](x,b,e);else Nk[c[(c[f>>2]|0)+20>>2]&255](x,f,e);e=(c[w>>2]|0)+432|0;d=c[g>>2]|0;if(!d)Nk[c[(c[b>>2]|0)+184>>2]&255](y,b,e);else Nk[c[(c[d>>2]|0)+24>>2]&255](y,d,e);if(!(sk[i&15](b,x,y,c[v>>2]|0,c[j>>2]|0,c[t>>2]|0,c[b+192>>2]|0)|0)){l=z;return}f=c[v>>2]|0;A=+h[f+408>>3];d=(c[w>>2]|0)+304|0;h[x>>3]=+h[f+400>>3];h[y>>3]=A;e=c[f+84>>2]|0;if(!e)mk[c[(c[f>>2]|0)+212>>2]&63](f,d,x,y)|0;else mk[c[(c[e>>2]|0)+16>>2]&63](e,d,x,y)|0;l=z;return}default:{u=b+164|0;if((c[u>>2]|0)==0?(k=c[v>>2]|0,k=gk[c[(c[k>>2]|0)+200>>2]&1023](k)|0,m=c[u>>2]|0,(m|0)!=(k|0)):0){c[u>>2]=k;if(k|0){k=k+(c[(c[k>>2]|0)+-12>>2]|0)+8|0;c[k>>2]=(c[k>>2]|0)+1}if(m|0?(n=m+(c[(c[m>>2]|0)+-12>>2]|0)|0,k=n+8|0,m=c[k>>2]|0,c[k>>2]=m-1,(m|0)==1):0)UU(n,1,1)}i=b+168|0;if(!(c[i>>2]|0)){m=j0a(64)|0;c[m+4>>2]=0;n=m+8|0;c[n>>2]=0;c[m>>2]=90368;c[m+12>>2]=0;c[m+16>>2]=0;c[m+20>>2]=0;k=m+28|0;c[k>>2]=0;c[m+32>>2]=0;c[m+24>>2]=k;k=m+36|0;c[k>>2]=0;c[k+4>>2]=0;c[k+8>>2]=0;c[k+12>>2]=0;c[k+16>>2]=0;c[k+20>>2]=0;a[k+24>>0]=0;c[i>>2]=m;c[n>>2]=(c[n>>2]|0)+1}k=b+172|0;if((c[k>>2]|0)==0?(o=c[t>>2]|0,c[x>>2]=71296,c[x+4>>2]=2147483647,o=Rfa(o,x)|0,p=c[k>>2]|0,(p|0)!=(o|0)):0){c[k>>2]=o;if(o|0){o=o+8|0;c[o>>2]=(c[o>>2]|0)+1}if(p|0?(n=p+8|0,o=c[n>>2]|0,c[n>>2]=o-1,(o|0)==1):0)UU(p,1,1)}o=b+180|0;if((c[o>>2]|0)==0?(q=c[v>>2]|0,q=gk[c[(c[q>>2]|0)+200>>2]&1023](q)|0,r=c[o>>2]|0,(r|0)!=(q|0)):0){c[o>>2]=q;if(q|0){q=q+(c[(c[q>>2]|0)+-12>>2]|0)+8|0;c[q>>2]=(c[q>>2]|0)+1}if(r|0?(s=r+(c[(c[r>>2]|0)+-12>>2]|0)|0,q=s+8|0,r=c[q>>2]|0,c[q>>2]=r-1,(r|0)==1):0)UU(s,1,1)}m=b+184|0;if(!(c[m>>2]|0)){r=j0a(64)|0;c[r+4>>2]=0;s=r+8|0;c[s>>2]=0;c[r>>2]=90368;c[r+12>>2]=0;c[r+16>>2]=0;c[r+20>>2]=0;q=r+28|0;c[q>>2]=0;c[r+32>>2]=0;c[r+24>>2]=q;q=r+36|0;c[q>>2]=0;c[q+4>>2]=0;c[q+8>>2]=0;c[q+12>>2]=0;c[q+16>>2]=0;c[q+20>>2]=0;a[q+24>>0]=0;c[m>>2]=r;c[s>>2]=(c[s>>2]|0)+1}n=b+188|0;if(!(c[n>>2]|0)){d=c[t>>2]|0;c[x>>2]=71296;c[x+4>>2]=2147483647;d=Rfa(d,x)|0;e=c[n>>2]|0;do if((e|0)!=(d|0)){c[n>>2]=d;if(d|0){t=d+8|0;c[t>>2]=(c[t>>2]|0)+1}if(!e)break;s=e+8|0;t=c[s>>2]|0;c[s>>2]=t-1;if((t|0)!=1)break;UU(e,1,1)}while(0)}d=c[(c[v>>2]|0)+40>>2]|0;e=(c[u>>2]|0)+40|0;f=c[e>>2]|0;do if((f|0)!=(d|0)){c[e>>2]=d;if(d|0){t=d+8|0;c[t>>2]=(c[t>>2]|0)+1}if(f|0){s=f+8|0;t=c[s>>2]|0;c[s>>2]=t-1;if((t|0)!=1)break;UU(f,1,1)}}while(0);g=c[u>>2]|0;d=c[(c[v>>2]|0)+84>>2]|0;e=g+84|0;f=c[e>>2]|0;do if((f|0)!=(d|0)){c[e>>2]=d;if(d|0){t=d+8|0;c[t>>2]=(c[t>>2]|0)+1}if(!f)break;s=f+8|0;t=c[s>>2]|0;c[s>>2]=t-1;if((t|0)!=1)break;UU(f,1,1)}while(0);d=g+60|0;if(!(c[g+64>>2]|0))c[d>>2]=c[d>>2]&-17;c[(c[u>>2]|0)+20>>2]=c[b+88>>2];Pfa(b,c[(c[w>>2]|0)+288>>2]|0);d=c[b>>2]|0;g=c[d+224>>2]|0;e=(c[w>>2]|0)+304|0;j=b+160|0;f=c[j>>2]|0;if(!f)Nk[c[d+172>>2]&255](x,b,e);else Nk[c[(c[f>>2]|0)+12>>2]&255](x,f,e);d=(c[w>>2]|0)+432|0;e=c[j>>2]|0;if(!e)Nk[c[(c[b>>2]|0)+176>>2]&255](y,b,d);else Nk[c[(c[e>>2]|0)+16>>2]&255](y,e,d);i=sk[g&15](b,x,y,c[u>>2]|0,c[i>>2]|0,c[k>>2]|0,c[b+176>>2]|0)|0;d=c[(c[v>>2]|0)+40>>2]|0;e=(c[o>>2]|0)+40|0;f=c[e>>2]|0;do if((f|0)!=(d|0)){c[e>>2]=d;if(d|0){t=d+8|0;c[t>>2]=(c[t>>2]|0)+1}if(!f)break;s=f+8|0;t=c[s>>2]|0;c[s>>2]=t-1;if((t|0)!=1)break;UU(f,1,1)}while(0);g=c[o>>2]|0;d=c[(c[v>>2]|0)+84>>2]|0;e=g+84|0;f=c[e>>2]|0;do if((f|0)!=(d|0)){c[e>>2]=d;if(d|0){t=d+8|0;c[t>>2]=(c[t>>2]|0)+1}if(!f)break;s=f+8|0;t=c[s>>2]|0;c[s>>2]=t-1;if((t|0)!=1)break;UU(f,1,1)}while(0);d=g+60|0;if(!(c[g+64>>2]|0))c[d>>2]=c[d>>2]&-17;c[(c[o>>2]|0)+20>>2]=c[b+92>>2];Qfa(b,c[(c[w>>2]|0)+288>>2]|0);d=c[b>>2]|0;g=c[d+224>>2]|0;e=(c[w>>2]|0)+304|0;f=c[j>>2]|0;if(!f)Nk[c[d+180>>2]&255](x,b,e);else Nk[c[(c[f>>2]|0)+20>>2]&255](x,f,e);e=(c[w>>2]|0)+432|0;d=c[j>>2]|0;if(!d)Nk[c[(c[b>>2]|0)+184>>2]&255](y,b,e);else Nk[c[(c[d>>2]|0)+24>>2]&255](y,d,e);if(!(i|(sk[g&15](b,x,y,c[o>>2]|0,c[m>>2]|0,c[n>>2]|0,c[b+192>>2]|0)|0))){l=z;return}d=c[u>>2]|0;D=+h[d+400>>3];f=c[o>>2]|0;C=+h[f+400>>3];B=+h[d+408>>3];A=+h[f+408>>3];f=c[v>>2]|0;d=(c[w>>2]|0)+304|0;h[x>>3]=D<C?D:C;h[y>>3]=B>A?B:A;e=c[f+84>>2]|0;if(!e)mk[c[(c[f>>2]|0)+212>>2]&63](f,d,x,y)|0;else mk[c[(c[e>>2]|0)+16>>2]&63](e,d,x,y)|0;l=z;return}}s=c[v>>2]|0;c[s+20>>2]=c[b+84>>2];u=c[w>>2]|0;if(!(sk[c[(c[b>>2]|0)+224>>2]&15](b,u+304|0,u+432|0,s,c[j>>2]|0,c[t>>2]|0,c[u+288>>2]|0)|0)){l=z;return}f=c[v>>2]|0;D=+h[f+408>>3];d=(c[w>>2]|0)+304|0;h[x>>3]=+h[f+400>>3];h[y>>3]=D;e=c[f+84>>2]|0;if(!e)mk[c[(c[f>>2]|0)+212>>2]&63](f,d,x,y)|0;else mk[c[(c[e>>2]|0)+16>>2]&63](e,d,x,y)|0;l=z;return}function xfa(b){b=b|0;var d=0,e=0,f=0,g=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;x=l;l=l+16|0;j=x;u=x+8|0;s=b+208|0;if(!(c[(c[s>>2]|0)+116>>2]|0)){l=x;return}v=b+100|0;w=c[v>>2]|0;d=c[b+200>>2]|0;f=w+180|0;e=c[f>>2]|0;if((e|0)!=(d|0)){c[f>>2]=d;if(d|0){r=d+8|0;c[r>>2]=(c[r>>2]|0)+1}if(e|0?(d=e+8|0,r=c[d>>2]|0,c[d>>2]=r-1,(r|0)==1):0)UU(e,1,1)}r=b+224|0;d=c[r>>2]|0;if(((d|0?(g=w+360|0,i=c[g>>2]|0,(i|0)!=(d|0)):0)?(c[g>>2]=d,g=d+8|0,c[g>>2]=(c[g>>2]|0)+1,i|0):0)?(e=i+8|0,g=c[e>>2]|0,c[e>>2]=g-1,(g|0)==1):0)UU(i,1,1);Bk[c[(c[w>>2]|0)+12>>2]&2047](w);i=qu(c[w+124>>2]|0)|0;Jk[c[(c[i>>2]|0)+12>>2]&1023](i,c[f>>2]|0);if(!(a[b+136>>0]|0))Bk[c[(c[b>>2]|0)+196>>2]&2047](b);d=b+246|0;if(a[d>>0]|0){h[j>>3]=.005;Jk[c[(c[b>>2]|0)+220>>2]&1023](b,j)}a[d>>0]=a[b+245>>0]|0;c[u>>2]=0;d=c[r>>2]|0;a:do if((d|0)!=0?(a[d+16>>0]|0)!=0:0)switch(c[d+20>>2]|0){case 0:{g=b+96|0;F2(c[g>>2]|0,c[(c[s>>2]|0)+288>>2]|0,0);g=c[g>>2]|0;f=g+60|0;d=c[f>>2]|0;do if(d){e=f;do{s=(c[d+16>>2]|0)<25;e=s?e:d;d=c[(s?d+4|0:d)>>2]|0}while((d|0)!=0);if((e|0)!=(f|0)?(k=c[e+16>>2]|0,(k|0)<=25):0){if((k|0)==25?c[e+20>>2]|0:0){t=29;break}d=c[e+24>>2]|0;if(d){a[d+56>>0]=1;a[d+57>>0]=1;a[d+58>>0]=1;a[d+59>>0]=1}else t=29}else t=29}else t=29;while(0);if((t|0)==29){d=j0a(60)|0;c[d+4>>2]=0;c[d+8>>2]=0;s=d+12|0;c[s>>2]=0;c[s+4>>2]=0;c[s+8>>2]=0;c[d+24>>2]=2;s=d+28|0;c[s>>2]=0;c[s+4>>2]=0;c[s+8>>2]=0;c[s+12>>2]=0;c[s+16>>2]=0;c[s+20>>2]=0;c[s+24>>2]=0;c[d>>2]=70288;c[d+56>>2]=16843009;F2(g,d,0)}i=b+172|0;e=(c[i>>2]|0)+172|0;f=c[e>>2]|0;if((f|0)!=(d|0)){c[e>>2]=d;if(d|0){s=d+8|0;c[s>>2]=(c[s>>2]|0)+1}if(f|0?(r=f+8|0,s=c[r>>2]|0,c[r>>2]=s-1,(s|0)==1):0)UU(f,1,1)}e=b+188|0;f=(c[e>>2]|0)+172|0;g=c[f>>2]|0;if((g|0)!=(d|0)){c[f>>2]=d;if(d|0){b=d+8|0;c[b>>2]=(c[b>>2]|0)+1}if(g|0?(s=g+8|0,b=c[s>>2]|0,c[s>>2]=b-1,(b|0)==1):0)UU(g,1,1)}b=c[i>>2]|0;c[b+152>>2]=1026;a[b+156>>0]=1;c[b+160>>2]=1026;a[b+164>>0]=1;s=c[e>>2]|0;c[s+152>>2]=1027;a[s+156>>0]=1;c[s+160>>2]=1027;a[s+164>>0]=1;Nk[c[(c[b>>2]|0)+216>>2]&255](b,v,u);b=c[e>>2]|0;Nk[c[(c[b>>2]|0)+216>>2]&255](b,v,u);b=c[i>>2]|0;Nk[c[(c[b>>2]|0)+196>>2]&255](b,v,u);b=c[e>>2]|0;Nk[c[(c[b>>2]|0)+196>>2]&255](b,v,u);break a}case 1:{d=c[s>>2]|0;if(!(c[d+148>>2]&131072)){r=c[b+172>>2]|0;q=c[d+568>>2]|0;c[r+152>>2]=q;a[r+156>>0]=1;c[r+160>>2]=q;a[r+164>>0]=1;r=c[b+188>>2]|0;c[r+152>>2]=q;a[r+156>>0]=1;c[r+160>>2]=q;a[r+164>>0]=1}j=b+96|0;g=c[j>>2]|0;f=g+60|0;d=c[f>>2]|0;do if(d){e=f;do{r=(c[d+16>>2]|0)<25;e=r?e:d;d=c[(r?d+4|0:d)>>2]|0}while((d|0)!=0);if((e|0)!=(f|0)?(m=c[e+16>>2]|0,(m|0)<=25):0){if((m|0)==25?c[e+20>>2]|0:0){t=54;break}d=c[e+24>>2]|0;if(d){a[d+56>>0]=1;a[d+57>>0]=1;a[d+58>>0]=1;a[d+59>>0]=1}else t=54}else t=54}else t=54;while(0);if((t|0)==54){d=j0a(60)|0;c[d+4>>2]=0;c[d+8>>2]=0;r=d+12|0;c[r>>2]=0;c[r+4>>2]=0;c[r+8>>2]=0;c[d+24>>2]=2;r=d+28|0;c[r>>2]=0;c[r+4>>2]=0;c[r+8>>2]=0;c[r+12>>2]=0;c[r+16>>2]=0;c[r+20>>2]=0;c[r+24>>2]=0;c[d>>2]=70288;c[d+56>>2]=16843009;F2(g,d,0)}g=b+172|0;e=(c[g>>2]|0)+172|0;f=c[e>>2]|0;if((f|0)!=(d|0)){c[e>>2]=d;if(d|0){r=d+8|0;c[r>>2]=(c[r>>2]|0)+1}if(f|0?(q=f+8|0,r=c[q>>2]|0,c[q>>2]=r-1,(r|0)==1):0)UU(f,1,1)}i=b+188|0;e=(c[i>>2]|0)+172|0;f=c[e>>2]|0;if((f|0)!=(d|0)){c[e>>2]=d;if(d|0){b=d+8|0;c[b>>2]=(c[b>>2]|0)+1}if(f|0?(r=f+8|0,b=c[r>>2]|0,c[r>>2]=b-1,(b|0)==1):0)UU(f,1,1)}F2(c[j>>2]|0,c[(c[s>>2]|0)+288>>2]|0,0);d=c[g>>2]|0;Nk[c[(c[d>>2]|0)+216>>2]&255](d,v,u);d=c[i>>2]|0;Nk[c[(c[d>>2]|0)+216>>2]&255](d,v,u);d=c[(c[g>>2]|0)+172>>2]|0;if(!d){d=j0a(60)|0;ER(d);e=(c[g>>2]|0)+172|0;f=c[e>>2]|0;if(((f|0)!=(d|0)?(c[e>>2]=d,b=d+8|0,c[b>>2]=(c[b>>2]|0)+1,(f|0)!=0):0)?(s=f+8|0,b=c[s>>2]|0,c[s>>2]=b-1,(b|0)==1):0)UU(f,1,1)}a[d+56>>0]=1;a[d+57>>0]=0;a[d+58>>0]=0;a[d+59>>0]=1;F2(c[j>>2]|0,d,0);d=c[g>>2]|0;Nk[c[(c[d>>2]|0)+196>>2]&255](d,v,u);d=c[(c[i>>2]|0)+172>>2]|0;if(!d){d=j0a(60)|0;ER(d);e=(c[i>>2]|0)+172|0;f=c[e>>2]|0;if(((f|0)!=(d|0)?(c[e>>2]=d,b=d+8|0,c[b>>2]=(c[b>>2]|0)+1,(f|0)!=0):0)?(s=f+8|0,b=c[s>>2]|0,c[s>>2]=b-1,(b|0)==1):0)UU(f,1,1)}a[d+56>>0]=0;a[d+57>>0]=1;a[d+58>>0]=1;a[d+59>>0]=1;F2(c[j>>2]|0,d,0);b=c[i>>2]|0;Nk[c[(c[b>>2]|0)+196>>2]&255](b,v,u);break a}case 2:{d=c[s>>2]|0;if(!(c[d+148>>2]&131072)){q=c[b+172>>2]|0;p=c[d+568>>2]|0;c[q+152>>2]=p;a[q+156>>0]=1;c[q+160>>2]=p;a[q+164>>0]=1;q=c[b+188>>2]|0;c[q+152>>2]=p;a[q+156>>0]=1;c[q+160>>2]=p;a[q+164>>0]=1}j=b+96|0;g=c[j>>2]|0;f=g+60|0;d=c[f>>2]|0;do if(d){e=f;do{q=(c[d+16>>2]|0)<25;e=q?e:d;d=c[(q?d+4|0:d)>>2]|0}while((d|0)!=0);if((e|0)!=(f|0)?(n=c[e+16>>2]|0,(n|0)<=25):0){if((n|0)==25?c[e+20>>2]|0:0){t=89;break}d=c[e+24>>2]|0;if(d){a[d+56>>0]=1;a[d+57>>0]=1;a[d+58>>0]=1;a[d+59>>0]=1}else t=89}else t=89}else t=89;while(0);if((t|0)==89){d=j0a(60)|0;c[d+4>>2]=0;c[d+8>>2]=0;q=d+12|0;c[q>>2]=0;c[q+4>>2]=0;c[q+8>>2]=0;c[d+24>>2]=2;q=d+28|0;c[q>>2]=0;c[q+4>>2]=0;c[q+8>>2]=0;c[q+12>>2]=0;c[q+16>>2]=0;c[q+20>>2]=0;c[q+24>>2]=0;c[d>>2]=70288;c[d+56>>2]=16843009;F2(g,d,0)}i=b+172|0;e=(c[i>>2]|0)+172|0;f=c[e>>2]|0;if((f|0)!=(d|0)){c[e>>2]=d;if(d|0){q=d+8|0;c[q>>2]=(c[q>>2]|0)+1}if(f|0?(p=f+8|0,q=c[p>>2]|0,c[p>>2]=q-1,(q|0)==1):0)UU(f,1,1)}g=b+188|0;e=(c[g>>2]|0)+172|0;f=c[e>>2]|0;if((f|0)!=(d|0)){c[e>>2]=d;if(d|0){q=d+8|0;c[q>>2]=(c[q>>2]|0)+1}if(f|0?(p=f+8|0,q=c[p>>2]|0,c[p>>2]=q-1,(q|0)==1):0)UU(f,1,1)}e=b+176|0;F2(c[j>>2]|0,c[e>>2]|0,0);f=c[i>>2]|0;Nk[c[(c[f>>2]|0)+216>>2]&255](f,v,u);f=b+192|0;F2(c[j>>2]|0,c[f>>2]|0,0);d=c[g>>2]|0;Nk[c[(c[d>>2]|0)+216>>2]&255](d,v,u);d=c[(c[r>>2]|0)+44>>2]|0;if((d|0)>0){s=c[(c[s>>2]|0)+288>>2]|0;Kfa(b,~~(+h[s+56>>3]+(+h[s+72>>3]-+(d|0))*.5),~~+h[s+64>>3],d,~~+h[s+80>>3],(c[i>>2]|0)+176|0)}F2(c[j>>2]|0,c[e>>2]|0,0);b=c[i>>2]|0;Nk[c[(c[b>>2]|0)+196>>2]&255](b,v,u);F2(c[j>>2]|0,c[f>>2]|0,0);b=c[g>>2]|0;Nk[c[(c[b>>2]|0)+196>>2]&255](b,v,u);break a}case 3:{d=c[s>>2]|0;if(!(c[d+148>>2]&131072)){q=c[b+172>>2]|0;p=c[d+568>>2]|0;c[q+152>>2]=p;a[q+156>>0]=1;c[q+160>>2]=p;a[q+164>>0]=1;q=c[b+188>>2]|0;c[q+152>>2]=p;a[q+156>>0]=1;c[q+160>>2]=p;a[q+164>>0]=1}j=b+96|0;g=c[j>>2]|0;f=g+60|0;d=c[f>>2]|0;do if(d){e=f;do{q=(c[d+16>>2]|0)<25;e=q?e:d;d=c[(q?d+4|0:d)>>2]|0}while((d|0)!=0);if((e|0)!=(f|0)?(o=c[e+16>>2]|0,(o|0)<=25):0){if((o|0)==25?c[e+20>>2]|0:0){t=116;break}d=c[e+24>>2]|0;if(d){a[d+56>>0]=1;a[d+57>>0]=1;a[d+58>>0]=1;a[d+59>>0]=1}else t=116}else t=116}else t=116;while(0);if((t|0)==116){d=j0a(60)|0;c[d+4>>2]=0;c[d+8>>2]=0;q=d+12|0;c[q>>2]=0;c[q+4>>2]=0;c[q+8>>2]=0;c[d+24>>2]=2;q=d+28|0;c[q>>2]=0;c[q+4>>2]=0;c[q+8>>2]=0;c[q+12>>2]=0;c[q+16>>2]=0;c[q+20>>2]=0;c[q+24>>2]=0;c[d>>2]=70288;c[d+56>>2]=16843009;F2(g,d,0)}i=b+172|0;e=(c[i>>2]|0)+172|0;f=c[e>>2]|0;if((f|0)!=(d|0)){c[e>>2]=d;if(d|0){q=d+8|0;c[q>>2]=(c[q>>2]|0)+1}if(f|0?(p=f+8|0,q=c[p>>2]|0,c[p>>2]=q-1,(q|0)==1):0)UU(f,1,1)}g=b+188|0;e=(c[g>>2]|0)+172|0;f=c[e>>2]|0;if((f|0)!=(d|0)){c[e>>2]=d;if(d|0){q=d+8|0;c[q>>2]=(c[q>>2]|0)+1}if(f|0?(p=f+8|0,q=c[p>>2]|0,c[p>>2]=q-1,(q|0)==1):0)UU(f,1,1)}e=b+176|0;F2(c[j>>2]|0,c[e>>2]|0,0);f=c[i>>2]|0;Nk[c[(c[f>>2]|0)+216>>2]&255](f,v,u);f=b+192|0;F2(c[j>>2]|0,c[f>>2]|0,0);d=c[g>>2]|0;Nk[c[(c[d>>2]|0)+216>>2]&255](d,v,u);d=c[(c[r>>2]|0)+52>>2]|0;if((d|0)>0){s=c[(c[s>>2]|0)+288>>2]|0;Kfa(b,~~+h[s+56>>3],~~(+h[s+64>>3]+(+h[s+80>>3]-+(d|0))*.5),~~+h[s+72>>3],d,(c[i>>2]|0)+176|0)}F2(c[j>>2]|0,c[e>>2]|0,0);b=c[i>>2]|0;Nk[c[(c[b>>2]|0)+196>>2]&255](b,v,u);F2(c[j>>2]|0,c[f>>2]|0,0);b=c[g>>2]|0;Nk[c[(c[b>>2]|0)+196>>2]&255](b,v,u);break a}case 4:case 5:{d=c[s>>2]|0;if(!(c[d+148>>2]&131072)){r=c[b+156>>2]|0;q=c[d+568>>2]|0;c[r+152>>2]=q;a[r+156>>0]=1;c[r+160>>2]=q;a[r+164>>0]=1}i=b+96|0;g=c[i>>2]|0;f=g+60|0;d=c[f>>2]|0;do if(d){e=f;do{r=(c[d+16>>2]|0)<25;e=r?e:d;d=c[(r?d+4|0:d)>>2]|0}while((d|0)!=0);if((e|0)!=(f|0)?(p=c[e+16>>2]|0,(p|0)<=25):0){if((p|0)==25?c[e+20>>2]|0:0){t=143;break}d=c[e+24>>2]|0;if(d){a[d+56>>0]=1;a[d+57>>0]=1;a[d+58>>0]=1;a[d+59>>0]=1}else t=143}else t=143}else t=143;while(0);if((t|0)==143){d=j0a(60)|0;c[d+4>>2]=0;c[d+8>>2]=0;r=d+12|0;c[r>>2]=0;c[r+4>>2]=0;c[r+8>>2]=0;c[d+24>>2]=2;r=d+28|0;c[r>>2]=0;c[r+4>>2]=0;c[r+8>>2]=0;c[r+12>>2]=0;c[r+16>>2]=0;c[r+20>>2]=0;c[r+24>>2]=0;c[d>>2]=70288;c[d+56>>2]=16843009;F2(g,d,0)}g=b+156|0;e=(c[g>>2]|0)+172|0;f=c[e>>2]|0;if((f|0)!=(d|0)){c[e>>2]=d;if(d|0){b=d+8|0;c[b>>2]=(c[b>>2]|0)+1}if(f|0?(r=f+8|0,b=c[r>>2]|0,c[r>>2]=b-1,(b|0)==1):0)UU(f,1,1)}e=(c[g>>2]|0)+172|0;f=c[e>>2]|0;if((f|0)!=(d|0)){c[e>>2]=d;if(d|0){b=d+8|0;c[b>>2]=(c[b>>2]|0)+1}if(f|0?(r=f+8|0,b=c[r>>2]|0,c[r>>2]=b-1,(b|0)==1):0)UU(f,1,1)}F2(c[i>>2]|0,c[(c[s>>2]|0)+288>>2]|0,0);b=c[g>>2]|0;Nk[c[(c[b>>2]|0)+216>>2]&255](b,v,u);b=c[g>>2]|0;Nk[c[(c[b>>2]|0)+196>>2]&255](b,v,u);break a}case 8:case 6:case 7:{if(!(ZQ(3)|0))break a;v=mr(lr(3)|0,166604,109)|0;BSa(j,v+(c[(c[v>>2]|0)+-12>>2]|0)|0);u=cUa(j,230580)|0;u=kk[c[(c[u>>2]|0)+28>>2]&511](u,10)|0;dUa(j);VSa(v,u)|0;HSa(v)|0;break a}default:{if(!(ZQ(3)|0))break a;v=mr(lr(3)|0,166714,41)|0;BSa(j,v+(c[(c[v>>2]|0)+-12>>2]|0)|0);u=cUa(j,230580)|0;u=kk[c[(c[u>>2]|0)+28>>2]&511](u,10)|0;dUa(j);VSa(v,u)|0;HSa(v)|0;break a}}else t=161;while(0);if((t|0)==161){e=c[s>>2]|0;d=c[e+148>>2]|0;if(!(d&131072)){s=c[b+156>>2]|0;r=c[e+568>>2]|0;c[s+152>>2]=r;a[s+156>>0]=1;c[s+160>>2]=r;a[s+164>>0]=1}if(!(d&262144)){s=c[b+156>>2]|0;c[s+160>>2]=c[e+572>>2];a[s+164>>0]=1}d=b+96|0;F2(c[d>>2]|0,c[e+288>>2]|0,0);if(a[b+288>>0]|0){g=c[d>>2]|0;f=g+60|0;d=c[f>>2]|0;do if(d){e=f;do{s=(c[d+16>>2]|0)<25;e=s?e:d;d=c[(s?d+4|0:d)>>2]|0}while((d|0)!=0);if((e|0)!=(f|0)?(q=c[e+16>>2]|0,(q|0)<=25):0){if((q|0)==25?c[e+20>>2]|0:0){t=176;break}d=c[e+24>>2]|0;if(d){a[d+56>>0]=1;a[d+57>>0]=1;a[d+58>>0]=1;a[d+59>>0]=1;g=d}else t=176}else t=176}else t=176;while(0);if((t|0)==176){t=j0a(60)|0;c[t+4>>2]=0;c[t+8>>2]=0;s=t+12|0;c[s>>2]=0;c[s+4>>2]=0;c[s+8>>2]=0;c[t+24>>2]=2;s=t+28|0;c[s>>2]=0;c[s+4>>2]=0;c[s+8>>2]=0;c[s+12>>2]=0;c[s+16>>2]=0;c[s+20>>2]=0;c[s+24>>2]=0;c[t>>2]=70288;c[t+56>>2]=16843009;F2(g,t,0);g=t}d=b+156|0;e=(c[d>>2]|0)+172|0;f=c[e>>2]|0;if((f|0)!=(g|0)){c[e>>2]=g;if(g|0){t=g+8|0;c[t>>2]=(c[t>>2]|0)+1}if((f|0)!=0?(b=f+8|0,t=c[b>>2]|0,c[b>>2]=t-1,(t|0)==1):0)UU(f,1,1)}}else d=b+156|0;t=c[d>>2]|0;Nk[c[(c[t>>2]|0)+216>>2]&255](t,v,u);t=c[d>>2]|0;Nk[c[(c[t>>2]|0)+196>>2]&255](t,v,u)}if(!(c[w+132>>2]|0)){d=w+712|0;e=w+716|0;if((c[d>>2]|0)!=(c[e>>2]|0))do Uaa(w);while((c[d>>2]|0)!=(c[e>>2]|0))}else{d=w+712|0;e=w+716|0;if((c[e>>2]|0)-(c[d>>2]|0)>>2>>>0>2)do Uaa(w);while((c[e>>2]|0)-(c[d>>2]|0)>>2>>>0>2)}ica(w);d=w+368|0;if(c[d>>2]|0?qca(0,166756,0)|0:0)c[d>>2]=2;l=x;return}function yfa(a){a=a|0;var b=0;b=c[a+204>>2]|0;if(!b)return;if(!(c[b+24>>2]|0))return;b=c[a+208>>2]|0;if(!b)return;Jk[c[(c[b>>2]|0)+160>>2]&1023](b,c[a+100>>2]|0);return}function zfa(b){b=b|0;a[b+246>>0]=0;fT(c[(c[b+100>>2]|0)+124>>2]|0);return}function Afa(b,d){b=b|0;d=d|0;var e=0.0,f=0;f=c[b+100>>2]|0;a[b+246>>0]=0;b=c[f+180>>2]|0;if(!b)e=0.0;else e=+h[b+16>>3];eT(c[f+124>>2]|0,e,d);return}function Bfa(b,d,e,f,g,i,j){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;i=i|0;j=j|0;var k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;y=l;l=l+16|0;p=y;s=b+204|0;k=c[s>>2]|0;if(!k){i=0;l=y;return i|0}if(!(c[k+24>>2]|0)){i=0;l=y;return i|0}t=b+208|0;if(!((j|0)!=0&(c[t>>2]|0)!=0)){i=0;l=y;return i|0}w=j0a(160)|0;c[w+4>>2]=0;x=w+8|0;c[x>>2]=0;u=w+12|0;c[u>>2]=0;c[u+4>>2]=0;c[u+8>>2]=0;c[w+24>>2]=2;c[w+28>>2]=0;h[w+32>>3]=+h[d>>3];h[w+40>>3]=+h[d+8>>3];h[w+48>>3]=+h[d+16>>3];h[w+56>>3]=+h[d+24>>3];h[w+64>>3]=+h[d+32>>3];h[w+72>>3]=+h[d+40>>3];h[w+80>>3]=+h[d+48>>3];h[w+88>>3]=+h[d+56>>3];h[w+96>>3]=+h[d+64>>3];h[w+104>>3]=+h[d+72>>3];h[w+112>>3]=+h[d+80>>3];h[w+120>>3]=+h[d+88>>3];h[w+128>>3]=+h[d+96>>3];h[w+136>>3]=+h[d+104>>3];h[w+144>>3]=+h[d+112>>3];h[w+152>>3]=+h[d+120>>3];c[w>>2]=71124;c[x>>2]=(c[x>>2]|0)+1;u=j0a(160)|0;c[u+4>>2]=0;v=u+8|0;c[v>>2]=0;r=u+12|0;c[r>>2]=0;c[r+4>>2]=0;c[r+8>>2]=0;c[u+24>>2]=2;c[u+28>>2]=0;h[u+32>>3]=+h[e>>3];h[u+40>>3]=+h[e+8>>3];h[u+48>>3]=+h[e+16>>3];h[u+56>>3]=+h[e+24>>3];h[u+64>>3]=+h[e+32>>3];h[u+72>>3]=+h[e+40>>3];h[u+80>>3]=+h[e+48>>3];h[u+88>>3]=+h[e+56>>3];h[u+96>>3]=+h[e+64>>3];h[u+104>>3]=+h[e+72>>3];h[u+112>>3]=+h[e+80>>3];h[u+120>>3]=+h[e+88>>3];h[u+128>>3]=+h[e+96>>3];h[u+136>>3]=+h[e+104>>3];h[u+144>>3]=+h[e+112>>3];h[u+152>>3]=+h[e+120>>3];c[u>>2]=71124;c[v>>2]=(c[v>>2]|0)+1;a:do if(oU(c[t>>2]|0)|0){q=b+196|0;if((((c[q>>2]|0)==0?(m=j0a(432)|0,Dy(m),n=c[q>>2]|0,(n|0)!=(m|0)):0)?(c[q>>2]=m,r=m+(c[(c[m>>2]|0)+-12>>2]|0)+8|0,c[r>>2]=(c[r>>2]|0)+1,n|0):0)?(o=n+(c[(c[n>>2]|0)+-12>>2]|0)|0,n=o+8|0,r=c[n>>2]|0,c[n>>2]=r-1,(r|0)==1):0)UU(o,1,1);d=(c[q>>2]|0)+56|0;Jk[c[(c[d>>2]|0)+12>>2]&1023](d,b+32|0);d=c[q>>2]|0;Bk[c[(c[d>>2]|0)+76>>2]&2047](d);d=b+200|0;k=c[d>>2]|0;e=(c[q>>2]|0)+12|0;m=c[e>>2]|0;if((m|0)!=(k|0)){c[e>>2]=k;if(k|0){r=k+8|0;c[r>>2]=(c[r>>2]|0)+1}if(m|0?(o=m+8|0,r=c[o>>2]|0,c[o>>2]=r-1,(r|0)==1):0)UU(m,1,1);k=c[d>>2]|0}if(!k)k=c[q>>2]|0;else{r=c[q>>2]|0;c[r+8>>2]=c[k+12>>2];k=r}$R(k+56|0,j);oA((c[q>>2]|0)+56|0,w);Pz((c[q>>2]|0)+56|0,u,1);k=c[q>>2]|0;d=c[t>>2]|0;switch(c[k+16>>2]|0){case 1:{Jk[c[(c[d>>2]|0)+216>>2]&1023](d,k);break}case 0:break;default:Jk[c[(c[d>>2]|0)+220>>2]&1023](d,k)}Qz((c[q>>2]|0)+56|0);pA((c[q>>2]|0)+56|0);bS((c[q>>2]|0)+56|0);GR(c[q>>2]|0);if(ZQ(5)|0){r=mr(lr(5)|0,166563,40)|0;r=RSa(r,c[(c[q>>2]|0)+392>>2]|0)|0;BSa(p,r+(c[(c[r>>2]|0)+-12>>2]|0)|0);o=cUa(p,230580)|0;o=kk[c[(c[o>>2]|0)+28>>2]&511](o,10)|0;dUa(p);VSa(r,o)|0;HSa(r)|0}o=f+120|0;d=c[o>>2]|0;p=f+124|0;k=c[p>>2]|0;if((k|0)!=(d|0))do{k=k+-80|0;Gy(k)}while((k|0)!=(d|0));c[p>>2]=d;m=c[q>>2]|0;k=c[m+384>>2]|0;m=m+388|0;if((k|0)!=(m|0)){n=f+128|0;e=k;while(1){k=e+16|0;if((d|0)==(c[n>>2]|0))rA(o,k);else{Jz(d,k);c[p>>2]=(c[p>>2]|0)+80}k=c[e+4>>2]|0;if(!k){d=e+8|0;k=c[d>>2]|0;if((c[k>>2]|0)!=(e|0))do{r=c[d>>2]|0;d=r+8|0;k=c[d>>2]|0}while((c[k>>2]|0)!=(r|0))}else while(1){d=c[k>>2]|0;if(!d)break;else k=d}if((k|0)==(m|0))break a;e=k;d=c[p>>2]|0}}}while(0);Bk[c[(c[f>>2]|0)+76>>2]&2047](f);d=b+200|0;k=c[d>>2]|0;e=f+12|0;m=c[e>>2]|0;if((m|0)!=(k|0)){c[e>>2]=k;if(k|0){r=k+8|0;c[r>>2]=(c[r>>2]|0)+1}if(m|0?(q=m+8|0,r=c[q>>2]|0,c[q>>2]=r-1,(r|0)==1):0)UU(m,1,1);k=c[d>>2]|0}if(k|0)c[f+8>>2]=c[k+12>>2];o=f+56|0;Jk[c[(c[o>>2]|0)+12>>2]&1023](o,b+32|0);k=f+372|0;d=c[k>>2]|0;if((d|0)!=(g|0)){c[k>>2]=g;if(g|0){r=g+8|0;c[r>>2]=(c[r>>2]|0)+1}if(d|0?(q=d+8|0,r=c[q>>2]|0,c[q>>2]=r-1,(r|0)==1):0)UU(d,1,1)}r=f+376|0;c[r>>2]=g;k=f+380|0;d=c[k>>2]|0;if((d|0)!=(i|0)){c[k>>2]=i;if(i|0){q=i+8|0;c[q>>2]=(c[q>>2]|0)+1}if(d|0?(p=d+8|0,q=c[p>>2]|0,c[p>>2]=q-1,(q|0)==1):0)UU(d,1,1)}q=f+384|0;c[q>>2]=i;Hfa(f+440|0,b+100|0)|0;Bk[c[(c[i>>2]|0)+164>>2]&2047](i);Vba(g);k=i+148|0;d=c[k>>2]|0;if(((d|0)!=(u|0)?(c[k>>2]=u,c[v>>2]=(c[v>>2]|0)+1,d|0):0)?(n=d+8|0,p=c[n>>2]|0,c[n>>2]=p-1,(p|0)==1):0)UU(d,1,1);k=i+144|0;d=c[k>>2]|0;if(((d|0)!=(j|0)?(c[k>>2]=j,p=j+8|0,c[p>>2]=(c[p>>2]|0)+1,d|0):0)?(n=d+8|0,p=c[n>>2]|0,c[n>>2]=p-1,(p|0)==1):0)UU(d,1,1);k=(c[t>>2]|0)+240|0;d=i+176|0;c[d>>2]=c[k>>2];c[d+4>>2]=c[k+4>>2];c[d+8>>2]=c[k+8>>2];c[d+12>>2]=c[k+12>>2];d=c[t>>2]|0;h[i+208>>3]=+h[d+272>>3];d=d+256|0;k=i+192|0;c[k>>2]=c[d>>2];c[k+4>>2]=c[d+4>>2];c[k+8>>2]=c[d+8>>2];c[k+12>>2]=c[d+12>>2];k=c[t>>2]|0;c[i+216>>2]=c[k+280>>2];c[i+168>>2]=c[k+236>>2];d=c[s>>2]|0;if(!d)k=0;else k=(c[d+24>>2]|0)==0?0:k;if((c[i+232>>2]|0)!=(k|0)){Tba(i+228|0,k)|0;a[i+220>>0]=1}p=b+216|0;k=c[p>>2]|0;if(k|0)paa(f,k);n=b+228|0;k=c[n>>2]|0;if(k|0)paa(f,k);m=b+96|0;k=c[m>>2]|0;if(k|0)paa(f,k);$R(o,j);oA(o,w);Pz(o,u,1);d=c[t>>2]|0;e=c[d+100>>2]|0;b:do if(!e)switch(c[f+16>>2]|0){case 0:break b;case 1:{Jk[c[(c[d>>2]|0)+216>>2]&1023](d,f);break b}default:{Jk[c[(c[d>>2]|0)+220>>2]&1023](d,f);break b}}else{k=c[s>>2]|0;if(!k)k=0;else k=(c[k+24>>2]|0)==0?0:d;lk[c[(c[e>>2]|0)+92>>2]&127](e,k,f+(c[(c[f>>2]|0)+-12>>2]|0)|0)|0}while(0);Qz(o);Bk[c[(c[f>>2]|0)+204>>2]&2047](f);bS(o);if(c[m>>2]|0){m=c[r>>2]|0;k=c[m+16>>2]|0;e=c[k+120>>2]|0;if(e&2|0){s=f+436|0;c[s>>2]=(c[s>>2]|0)+-1}do if(e|0){d=a[k+128+11>>0]|0;if(d<<24>>24<0)k=c[k+132>>2]|0;else k=d&255;if(!k)break;if(!((e&4|0)!=0|(c[f+436>>2]|0)==0))break;k=f+392|0;d=c[k>>2]|0;if((c[f+388>>2]|0)==(d|0)){c[q>>2]=c[(c[q>>2]|0)+44>>2];break}else{s=d+-4|0;c[q>>2]=c[s>>2];c[k>>2]=s;break}}while(0);c[r>>2]=c[m+12>>2]}if(c[n>>2]|0){m=c[r>>2]|0;k=c[m+16>>2]|0;e=c[k+120>>2]|0;if(e&2|0){s=f+436|0;c[s>>2]=(c[s>>2]|0)+-1}do if(e|0){d=a[k+128+11>>0]|0;if(d<<24>>24<0)k=c[k+132>>2]|0;else k=d&255;if(!k)break;if(!((e&4|0)!=0|(c[f+436>>2]|0)==0))break;k=f+392|0;d=c[k>>2]|0;if((c[f+388>>2]|0)==(d|0)){c[q>>2]=c[(c[q>>2]|0)+44>>2];break}else{s=d+-4|0;c[q>>2]=c[s>>2];c[k>>2]=s;break}}while(0);c[r>>2]=c[m+12>>2]}if(c[p>>2]|0){m=c[r>>2]|0;k=c[m+16>>2]|0;e=c[k+120>>2]|0;if(e&2|0){s=f+436|0;c[s>>2]=(c[s>>2]|0)+-1}do if(e|0){d=a[k+128+11>>0]|0;if(d<<24>>24<0)k=c[k+132>>2]|0;else k=d&255;if(!k)break;if(!((e&4|0)!=0|(c[f+436>>2]|0)==0))break;k=f+392|0;d=c[k>>2]|0;if((c[f+388>>2]|0)==(d|0)){c[q>>2]=c[(c[q>>2]|0)+44>>2];break}else{s=d+-4|0;c[q>>2]=c[s>>2];c[k>>2]=s;break}}while(0);c[r>>2]=c[m+12>>2]}Bk[c[(c[i>>2]|0)+168>>2]&2047](i);Wba(g);g=gk[c[(c[i>>2]|0)+204>>2]&1023](i)|0;i=b+284|0;c[i>>2]=(c[i>>2]|0)+g;do if(!(c[f+68>>2]|0))k=0;else{i=c[t>>2]|0;if(!(gk[c[(c[i>>2]|0)+248>>2]&1023](i)|0)){k=0;break}k=(c[c[(c[t>>2]|0)+124>>2]>>2]|0)!=0}while(0);i=c[v>>2]|0;c[v>>2]=i-1;if((i|0)==1)UU(u,1,1);i=c[x>>2]|0;c[x>>2]=i-1;if((i|0)!=1){i=k;l=y;return i|0}UU(w,1,1);i=k;l=y;return i|0}function Cfa(a){a=a|0;ffa(a+-32|0);return}function Dfa(a){a=a|0;a=a+-32|0;ffa(a);l0a(a);return}function Efa(a){a=a|0;a=a+-32|0;Jk[c[(c[a>>2]|0)+168>>2]&1023](a,29);return}function Ffa(a,b){a=a|0;b=b|0;a=a+-32|0;Nk[c[(c[a>>2]|0)+192>>2]&255](a,b,c[a+36>>2]|0);return}function Gfa(a,b,c){a=a|0;b=b|0;c=c|0;tfa(a+-32|0,b,c);return}function Hfa(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=c[a>>2]|0;e=c[b>>2]|0;if((d|0)!=(e|0)){c[a>>2]=e;if(e|0){f=e+8|0;c[f>>2]=(c[f>>2]|0)+1}if(d|0?(e=d+8|0,f=c[e>>2]|0,c[e>>2]=f-1,(f|0)==1):0)UU(d,1,1)}c[a+4>>2]=c[b+4>>2];if((a|0)!=(b|0)){Ifa(a+8|0,c[b+8>>2]|0,c[b+12>>2]|0);Jfa(a+20|0,c[b+20>>2]|0,c[b+24>>2]|0)}e=a+32|0;f=c[e>>2]|0;d=c[b+32>>2]|0;if((f|0)==(d|0))return a|0;c[e>>2]=d;if(d|0){b=d+8|0;c[b>>2]=(c[b>>2]|0)+1}if(!f)return a|0;e=f+8|0;b=c[e>>2]|0;c[e>>2]=b-1;if((b|0)!=1)return a|0;UU(f,1,1);return a|0}function Ifa(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;k=d;h=b;g=k-h|0;f=g>>2;i=a+8|0;e=c[i>>2]|0;l=c[a>>2]|0;j=l;if(f>>>0<=e-l>>2>>>0){g=a+4|0;a=(c[g>>2]|0)-l>>2;f=f>>>0>a>>>0;a=f?b+(a<<2)|0:d;d=a;e=d-h|0;if(e|0)y2a(l|0,b|0,e|0)|0;if(!f){c[g>>2]=j+(e>>2<<2);return}e=k-d|0;if((e|0)<=0)return;x2a(c[g>>2]|0,a|0,e|0)|0;c[g>>2]=(c[g>>2]|0)+(e>>>2<<2);return}if(l){e=a+4|0;c[e>>2]=l;l0a(l);c[i>>2]=0;c[e>>2]=0;c[a>>2]=0;e=0}if(f>>>0>1073741823)g1a(a);l=e>>1;f=e>>2>>>0<536870911?(l>>>0<f>>>0?f:l):1073741823;if(f>>>0>1073741823)g1a(a);e=j0a(f<<2)|0;d=a+4|0;c[d>>2]=e;c[a>>2]=e;c[i>>2]=e+(f<<2);if((g|0)<=0)return;x2a(e|0,b|0,g|0)|0;c[d>>2]=e+(g>>>2<<2);return}function Jfa(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;k=d;h=b;g=k-h|0;f=g>>2;i=a+8|0;e=c[i>>2]|0;l=c[a>>2]|0;j=l;if(f>>>0<=e-l>>2>>>0){g=a+4|0;a=(c[g>>2]|0)-l>>2;f=f>>>0>a>>>0;a=f?b+(a<<2)|0:d;d=a;e=d-h|0;if(e|0)y2a(l|0,b|0,e|0)|0;if(!f){c[g>>2]=j+(e>>2<<2);return}e=k-d|0;if((e|0)<=0)return;x2a(c[g>>2]|0,a|0,e|0)|0;c[g>>2]=(c[g>>2]|0)+(e>>>2<<2);return}if(l){e=a+4|0;c[e>>2]=l;l0a(l);c[i>>2]=0;c[e>>2]=0;c[a>>2]=0;e=0}if(f>>>0>1073741823)g1a(a);l=e>>1;f=e>>2>>>0<536870911?(l>>>0<f>>>0?f:l):1073741823;if(f>>>0>1073741823)g1a(a);e=j0a(f<<2)|0;d=a+4|0;c[d>>2]=e;c[a>>2]=e;c[i>>2]=e+(f<<2);if((g|0)<=0)return;x2a(e|0,b|0,g|0)|0;c[d>>2]=e+(g>>>2<<2);return}function Kfa(a,b,d,e,f,i){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;i=i|0;var j=0,k=0,l=0,m=0,n=0;j=j0a(88)|0;c[j+4>>2]=0;k=j+8|0;c[k>>2]=0;n=j+12|0;c[n>>2]=0;c[n+4>>2]=0;c[n+8>>2]=0;c[j+24>>2]=2;n=j+28|0;c[n>>2]=0;c[n+4>>2]=0;c[n+8>>2]=0;c[n+12>>2]=0;c[n+16>>2]=0;c[n+20>>2]=0;c[n+24>>2]=0;c[j>>2]=86804;n=j+56|0;m=j+72|0;c[n>>2]=0;c[n+4>>2]=0;c[n+8>>2]=0;c[n+12>>2]=0;h[m>>3]=800.0;l=j+80|0;h[l>>3]=600.0;c[k>>2]=(c[k>>2]|0)+1;h[n>>3]=+(b|0);h[j+64>>3]=+(d|0);h[m>>3]=+(e|0);h[l>>3]=+(f|0);zca(c[a+100>>2]|0,j)|0;gi(b|0,d|0,e|0,f|0);Zh(3089);Rh(1,1,1,1);Oh(+(+g[i>>2]),+(+g[i+4>>2]),+(+g[i+8>>2]),+(+g[i+12>>2]));Nh(16384);Wh(3089);i=c[k>>2]|0;c[k>>2]=i-1;if((i|0)!=1)return;UU(j,1,1);return}function Lfa(b){b=b|0;var d=0,e=0,f=0,i=0,j=0.0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0.0;u=l;l=l+128|0;t=u;s=b+96|0;d=c[s>>2]|0;if(!d){d=j0a(160)|0;DY(d);e=c[s>>2]|0;if((e|0)!=(d|0)){c[s>>2]=d;r=d+8|0;c[r>>2]=(c[r>>2]|0)+1;if(e|0?(n=e+8|0,r=c[n>>2]|0,c[n>>2]=r-1,(r|0)==1):0)UU(e,1,1);d=c[s>>2]|0;if(!d){l=u;return}}}r=b+248|0;if(c[r>>2]&1|0?(f=b+200|0,c[f>>2]|0):0){e=j0a(16)|0;c[t>>2]=e;c[t+8>>2]=-2147483632;c[t+4>>2]=15;i=e;m=167424;n=i+15|0;do{a[i>>0]=a[m>>0]|0;i=i+1|0;m=m+1|0}while((i|0)<(n|0));a[e+15>>0]=0;i=Yfa(d,t,5125,1)|0;if((a[t+11>>0]|0)<0)l0a(c[t>>2]|0);f=c[(c[f>>2]|0)+12>>2]|0;e=i+64|0;d=c[e>>2]|0;if(!d){H2(i,1);d=c[e>>2]|0}if((d|0)==1?I2(i,5125)|0:0){c[c[(c[i+80>>2]|0)+76>>2]>>2]=f;n=i+48|0;c[n>>2]=(c[n>>2]|0)+1}}if(c[r>>2]&2|0?(k=b+200|0,c[k>>2]|0):0){d=c[s>>2]|0;e=j0a(16)|0;c[t>>2]=e;c[t+8>>2]=-2147483632;c[t+4>>2]=13;i=e;m=167440;n=i+13|0;do{a[i>>0]=a[m>>0]|0;i=i+1|0;m=m+1|0}while((i|0)<(n|0));a[e+13>>0]=0;f=Yfa(d,t,5126,1)|0;if((a[t+11>>0]|0)<0)l0a(c[t>>2]|0);j=+h[(c[k>>2]|0)+16>>3];e=f+64|0;d=c[e>>2]|0;if(!d){H2(f,1);d=c[e>>2]|0}if((d|0)==1?I2(f,5126)|0:0){g[c[(c[f+68>>2]|0)+76>>2]>>2]=j;n=f+48|0;c[n>>2]=(c[n>>2]|0)+1}}if(c[r>>2]&4|0?(o=c[b+200>>2]|0,o|0):0){d=b+256|0;j=+h[d>>3];v=+h[o+16>>3];j=j!=0.0?v-j:0.0;h[d>>3]=v;d=c[s>>2]|0;e=j0a(32)|0;c[t>>2]=e;c[t+8>>2]=-2147483616;c[t+4>>2]=18;i=e;m=167454;n=i+18|0;do{a[i>>0]=a[m>>0]|0;i=i+1|0;m=m+1|0}while((i|0)<(n|0));a[e+18>>0]=0;f=Yfa(d,t,5126,1)|0;if((a[t+11>>0]|0)<0)l0a(c[t>>2]|0);e=f+64|0;d=c[e>>2]|0;if(!d){H2(f,1);d=c[e>>2]|0}if((d|0)==1?I2(f,5126)|0:0){g[c[(c[f+68>>2]|0)+76>>2]>>2]=j;o=f+48|0;c[o>>2]=(c[o>>2]|0)+1}}if(c[r>>2]&8|0?(p=b+200|0,c[p>>2]|0):0){d=c[s>>2]|0;e=j0a(32)|0;c[t>>2]=e;c[t+8>>2]=-2147483616;c[t+4>>2]=18;i=e;m=167473;n=i+18|0;do{a[i>>0]=a[m>>0]|0;i=i+1|0;m=m+1|0}while((i|0)<(n|0));a[e+18>>0]=0;f=Yfa(d,t,5126,1)|0;if((a[t+11>>0]|0)<0)l0a(c[t>>2]|0);j=+h[(c[p>>2]|0)+24>>3];e=f+64|0;d=c[e>>2]|0;if(!d){H2(f,1);d=c[e>>2]|0}if((d|0)==1?I2(f,5126)|0:0){g[c[(c[f+68>>2]|0)+76>>2]>>2]=j;p=f+48|0;c[p>>2]=(c[p>>2]|0)+1}}if(c[r>>2]&16|0?(q=c[b+200>>2]|0,q|0):0){d=b+264|0;j=+h[d>>3];v=+h[q+24>>3];j=j!=0.0?v-j:0.0;h[d>>3]=v;d=c[s>>2]|0;e=j0a(32)|0;c[t>>2]=e;c[t+8>>2]=-2147483616;c[t+4>>2]=23;i=e;m=167492;n=i+23|0;do{a[i>>0]=a[m>>0]|0;i=i+1|0;m=m+1|0}while((i|0)<(n|0));a[e+23>>0]=0;f=Yfa(d,t,5126,1)|0;if((a[t+11>>0]|0)<0)l0a(c[t>>2]|0);e=f+64|0;d=c[e>>2]|0;if(!d){H2(f,1);d=c[e>>2]|0}if((d|0)==1?I2(f,5126)|0:0){g[c[(c[f+68>>2]|0)+76>>2]>>2]=j;q=f+48|0;c[q>>2]=(c[q>>2]|0)+1}}if(c[r>>2]&32|0){d=c[s>>2]|0;e=j0a(16)|0;c[t>>2]=e;c[t+8>>2]=-2147483632;c[t+4>>2]=14;i=e;m=167516;n=i+14|0;do{a[i>>0]=a[m>>0]|0;i=i+1|0;m=m+1|0}while((i|0)<(n|0));a[e+14>>0]=0;f=Yfa(d,t,35676,1)|0;if((a[t+11>>0]|0)<0)l0a(c[t>>2]|0);i=(c[b+208>>2]|0)+432|0;e=f+64|0;d=c[e>>2]|0;if(!d){H2(f,1);d=c[e>>2]|0}if((d|0)==1)nca(f,0,i)|0}if(!(c[r>>2]&64)){l=u;return}d=c[s>>2]|0;e=j0a(32)|0;c[t>>2]=e;c[t+8>>2]=-2147483616;c[t+4>>2]=21;i=e;m=167531;n=i+21|0;do{a[i>>0]=a[m>>0]|0;i=i+1|0;m=m+1|0}while((i|0)<(n|0));a[e+21>>0]=0;f=Yfa(d,t,35676,1)|0;if((a[t+11>>0]|0)<0)l0a(c[t>>2]|0);b=c[b+208>>2]|0;d=b+432|0;Qra(t);if(((+h[b+456>>3]==0.0?+h[b+488>>3]==0.0:0)?+h[b+520>>3]==0.0:0)?+h[b+552>>3]==1.0:0)Xra(t,d)|0;else Yra(t,d)|0;e=f+64|0;d=c[e>>2]|0;if(!d){H2(f,1);d=c[e>>2]|0}if((d|0)==1)nca(f,0,t)|0;l=u;return}function Mfa(d){d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;x=l;l=l+16|0;w=x;c[d+4>>2]=0;c[d+8>>2]=0;c[d>>2]=82612;c[d+16>>2]=0;c[d+20>>2]=0;c[d+12>>2]=d+16;c[d+132>>2]=0;c[d+136>>2]=0;g=d+148|0;c[g>>2]=0;e=d+156|0;c[d+160>>2]=0;c[d+164>>2]=0;f=d+160|0;m=d+24|0;n=m+96|0;do{c[m>>2]=0;m=m+4|0}while((m|0)<(n|0));c[e>>2]=f;c[d+172>>2]=0;c[d+176>>2]=0;c[d+168>>2]=d+172;c[d+180>>2]=0;i=d+192|0;h=d+196|0;j=d+200|0;k=d+204|0;o=d+208|0;p=d+212|0;q=d+216|0;r=d+220|0;s=d+224|0;e=d+232|0;m=i;n=m+36|0;do{c[m>>2]=0;m=m+4|0}while((m|0)<(n|0));Qra(e);c[d+360>>2]=0;c[d+588>>2]=0;c[d+592>>2]=0;z2a(d+372|0,0,212)|0;c[d+584>>2]=d+588;c[d+600>>2]=0;c[d+604>>2]=0;c[d+596>>2]=d+600;c[d+608>>2]=0;c[d+612>>2]=0;c[d+616>>2]=0;c[d+624>>2]=0;c[d+628>>2]=0;c[d+620>>2]=d+624;c[d+636>>2]=0;c[d+640>>2]=0;c[d+632>>2]=d+636;c[d+648>>2]=0;c[d+652>>2]=0;c[d+644>>2]=d+648;c[d+660>>2]=0;c[d+664>>2]=0;c[d+656>>2]=d+660;a[d+668>>0]=0;c[d+676>>2]=0;c[d+680>>2]=0;c[d+672>>2]=d+676;u=d+684|0;c[d+712>>2]=0;c[d+716>>2]=0;c[d+720>>2]=0;c[d+752>>2]=0;c[d+832>>2]=0;c[d+840>>2]=0;t=d+844|0;c[u>>2]=0;c[u+4>>2]=0;c[u+8>>2]=0;c[u+12>>2]=0;c[u+16>>2]=0;c[u+20>>2]=0;eR(t);u=d+908|0;c[u>>2]=0;c[d+120>>2]=0;c[d+124>>2]=0;a[d+144>>0]=0;a[d+145>>0]=1;e=j0a(56)|0;lW(e);f=c[g>>2]|0;if(((f|0)!=(e|0)?(c[g>>2]=e,n=e+8|0,c[n>>2]=(c[n>>2]|0)+1,f|0):0)?(m=f+8|0,n=c[m>>2]|0,c[m>>2]=n-1,(n|0)==1):0)UU(f,1,1);c[d+152>>2]=0;c[d+184>>2]=1280;c[d+188>>2]=1280;f=j0a(160)|0;c[f+4>>2]=0;e=f+8|0;c[e>>2]=0;c[f>>2]=68320;g=f+12|0;c[g>>2]=0;c[g+4>>2]=0;c[g+8>>2]=0;c[f+24>>2]=2;c[f+28>>2]=0;Qra(f+32|0);c[f>>2]=71124;g=c[i>>2]|0;if((g|0)!=(f|0)){c[i>>2]=f;c[e>>2]=(c[e>>2]|0)+1;if(g|0?(m=g+8|0,n=c[m>>2]|0,c[m>>2]=n-1,(n|0)==1):0)UU(g,1,1);f=c[i>>2]|0}e=c[h>>2]|0;if((e|0)!=(f|0)){c[h>>2]=f;if(f|0){n=f+8|0;c[n>>2]=(c[n>>2]|0)+1}if(e|0?(m=e+8|0,n=c[m>>2]|0,c[m>>2]=n-1,(n|0)==1):0)UU(e,1,1)}f=c[j>>2]|0;e=c[i>>2]|0;if((f|0)!=(e|0)){c[j>>2]=e;if(e|0){n=e+8|0;c[n>>2]=(c[n>>2]|0)+1}if(f|0?(m=f+8|0,n=c[m>>2]|0,c[m>>2]=n-1,(n|0)==1):0)UU(f,1,1);f=c[i>>2]|0}e=c[k>>2]|0;if((e|0)!=(f|0)){c[k>>2]=f;if(f|0){n=f+8|0;c[n>>2]=(c[n>>2]|0)+1}if(e|0?(m=e+8|0,n=c[m>>2]|0,c[m>>2]=n-1,(n|0)==1):0)UU(e,1,1)}e=j0a(160)|0;c[e+4>>2]=0;f=e+8|0;c[f>>2]=0;c[e>>2]=68320;g=e+12|0;c[g>>2]=0;c[g+4>>2]=0;c[g+8>>2]=0;c[e+24>>2]=2;c[e+28>>2]=0;Qra(e+32|0);c[e>>2]=71124;g=c[o>>2]|0;if(((g|0)!=(e|0)?(c[o>>2]=e,c[f>>2]=(c[f>>2]|0)+1,g|0):0)?(n=g+8|0,o=c[n>>2]|0,c[n>>2]=o-1,(o|0)==1):0)UU(g,1,1);a[d+128>>0]=1;a[d+129>>0]=0;a[d+130>>0]=1;a[d+131>>0]=1;f=j0a(104)|0;c[w>>2]=0;c[w+4>>2]=0;c[w+8>>2]=0;e=j0a(32)|0;c[w>>2]=e;c[w+8>>2]=-2147483616;c[w+4>>2]=19;m=e;g=149902;n=m+19|0;do{a[m>>0]=a[g>>0]|0;m=m+1|0;g=g+1|0}while((m|0)<(n|0));a[e+19>>0]=0;Tfa(f,35676,w,1);e=c[p>>2]|0;if(((e|0)!=(f|0)?(c[p>>2]=f,p=f+8|0,c[p>>2]=(c[p>>2]|0)+1,e|0):0)?(o=e+8|0,p=c[o>>2]|0,c[o>>2]=p-1,(p|0)==1):0)UU(e,1,1);if((a[w+11>>0]|0)<0)l0a(c[w>>2]|0);f=j0a(104)|0;c[w>>2]=0;c[w+4>>2]=0;c[w+8>>2]=0;e=j0a(32)|0;c[w>>2]=e;c[w+8>>2]=-2147483616;c[w+4>>2]=20;m=e;g=150007;n=m+20|0;do{a[m>>0]=a[g>>0]|0;m=m+1|0;g=g+1|0}while((m|0)<(n|0));a[e+20>>0]=0;Tfa(f,35676,w,1);e=c[q>>2]|0;if(((e|0)!=(f|0)?(c[q>>2]=f,q=f+8|0,c[q>>2]=(c[q>>2]|0)+1,e|0):0)?(p=e+8|0,q=c[p>>2]|0,c[p>>2]=q-1,(q|0)==1):0)UU(e,1,1);if((a[w+11>>0]|0)<0)l0a(c[w>>2]|0);f=j0a(104)|0;c[w>>2]=0;c[w+4>>2]=0;c[w+8>>2]=0;e=j0a(32)|0;c[w>>2]=e;c[w+8>>2]=-2147483616;c[w+4>>2]=29;m=e;g=149957;n=m+29|0;do{a[m>>0]=a[g>>0]|0;m=m+1|0;g=g+1|0}while((m|0)<(n|0));a[e+29>>0]=0;Tfa(f,35676,w,1);e=c[r>>2]|0;if(((e|0)!=(f|0)?(c[r>>2]=f,r=f+8|0,c[r>>2]=(c[r>>2]|0)+1,e|0):0)?(q=e+8|0,r=c[q>>2]|0,c[q>>2]=r-1,(r|0)==1):0)UU(e,1,1);if((a[w+11>>0]|0)<0)l0a(c[w>>2]|0);f=j0a(104)|0;c[w>>2]=0;c[w+4>>2]=0;c[w+8>>2]=0;e=j0a(32)|0;c[w>>2]=e;c[w+8>>2]=-2147483616;c[w+4>>2]=16;m=e;g=150044;n=m+16|0;do{a[m>>0]=a[g>>0]|0;m=m+1|0;g=g+1|0}while((m|0)<(n|0));a[e+16>>0]=0;Tfa(f,35675,w,1);e=c[s>>2]|0;if(((e|0)!=(f|0)?(c[s>>2]=f,s=f+8|0,c[s>>2]=(c[s>>2]|0)+1,e|0):0)?(r=e+8|0,s=c[r>>2]|0,c[r>>2]=s-1,(s|0)==1):0)UU(e,1,1);if((a[w+11>>0]|0)<0)l0a(c[w>>2]|0);Ufa(d,1,8);c[d+364>>2]=0;j=d+368|0;c[j>>2]=1;c[w>>2]=0;c[w+4>>2]=0;c[w+8>>2]=0;f=Jh(167215)|0;a:do if(f|0){e=0;while(1){if(!(a[f+e>>0]|0))break;e=e+1|0;if(e>>>0>=4096){e=4096;break}}A0a(w,f,e)|0;h=w+11|0;g=a[h>>0]|0;i=w+4|0;e=c[i>>2]|0;f=g&255;if(((g<<24>>24<0?e:f)|0)==18){if(S0a(w,0,-1,167237,18)|0){g=a[h>>0]|0;f=g&255;e=c[i>>2]|0;v=64}}else v=64;do if((v|0)==64){if(((g<<24>>24<0?e:f)|0)==2){if(!(S0a(w,0,-1,181840,2)|0))break;g=a[h>>0]|0;f=g&255;e=c[i>>2]|0}if(((g<<24>>24<0?e:f)|0)==2){if(!(S0a(w,0,-1,182875,2)|0))break;g=a[h>>0]|0;f=g&255;e=c[i>>2]|0}do if(((g<<24>>24<0?e:f)|0)==3){if(!(S0a(w,0,-1,173088,3)|0))break;g=a[h>>0]|0;f=g&255;e=c[i>>2]|0;v=74}else v=74;while(0);if((v|0)==74){if(((g<<24>>24<0?e:f)|0)!=3)break a;if(S0a(w,0,-1,173084,3)|0)break a}c[j>>2]=0;break a}while(0);c[j>>2]=2}while(0);n=d+732|0;m=d+756|0;c[d+708>>2]=0;c[d+836>>2]=0;e=d+764|0;c[n>>2]=0;c[n+4>>2]=0;c[n+8>>2]=0;c[n+12>>2]=0;c[n+16>>2]=0;c[m>>2]=0;b[m+4>>1]=0;a[m+6>>0]=0;m=d+772|0;n=m+60|0;do{c[m>>2]=0;m=m+4|0}while((m|0)<(n|0));c[e>>2]=1;c[d+768>>2]=1;c[d+724>>2]=0;c[d+728>>2]=0;fR(t,d);e=j0a(24)|0;MT(e);f=c[u>>2]|0;if(((f|0)!=(e|0)?(c[u>>2]=e,v=e+8|0,c[v>>2]=(c[v>>2]|0)+1,f|0):0)?(u=f+8|0,v=c[u>>2]|0,c[u>>2]=v-1,(v|0)==1):0)UU(f,1,1);v=d+912|0;c[d+140>>2]=0;c[v>>2]=0;c[v+4>>2]=0;c[v+8>>2]=0;c[v+12>>2]=0;c[v+16>>2]=0;c[v+20>>2]=0;c[v+24>>2]=0;if((a[w+11>>0]|0)>=0){l=x;return}l0a(c[w>>2]|0);l=x;return}function Nfa(){var b=0;if(a[223752]|0)return 225804;if(!(g2a(223752)|0))return 225804;b=j0a(536)|0;Ofa(b);c[56451]=b;b=b+(c[(c[b>>2]|0)+-12>>2]|0)+8|0;c[b>>2]=(c[b>>2]|0)+1;return 225804}function Ofa(a){a=a|0;var b=0,d=0,e=0,f=0;d=a+504|0;c[a+508>>2]=0;c[a+512>>2]=0;c[d>>2]=68320;b=a+516|0;c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;c[a+528>>2]=2;c[a+532>>2]=0;FR(a,89944,4,3);b=a+56|0;Ey(b);c[a>>2]=89364;c[d>>2]=89776;c[b>>2]=89588;b=a+372|0;c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;c[b+12>>2]=0;c[b+16>>2]=0;c[b+20>>2]=0;c[b+24>>2]=0;h[a+400>>3]=3402823466385288598117041.0e14;h[a+408>>3]=-3402823466385288598117041.0e14;b=a+476|0;c[a+480>>2]=0;c[a+484>>2]=0;d=a+480|0;e=a+416|0;f=e+60|0;do{c[e>>2]=0;e=e+4|0}while((e|0)<(f|0));c[b>>2]=d;c[a+492>>2]=0;c[a+496>>2]=0;c[a+488>>2]=a+492;e=a+500|0;c[e>>2]=0;d=j0a(12)|0;c[d+4>>2]=0;f=d+8|0;c[f>>2]=0;c[d>>2]=92620;c[e>>2]=d;c[f>>2]=(c[f>>2]|0)+1;return}function Pfa(a,b){a=a|0;b=b|0;var d=0.0,e=0.0,f=0,g=0,i=0,j=0,k=0.0,l=0.0;if(!b)return;f=a+176|0;if(!(c[f>>2]|0)){i=j0a(88)|0;c[i+4>>2]=0;g=i+8|0;c[g>>2]=0;j=i+12|0;c[j>>2]=0;c[j+4>>2]=0;c[j+8>>2]=0;c[i+24>>2]=2;j=i+28|0;c[j>>2]=0;c[j+4>>2]=0;c[j+8>>2]=0;c[j+12>>2]=0;c[j+16>>2]=0;c[j+20>>2]=0;c[j+24>>2]=0;c[i>>2]=86804;j=i+56|0;c[j>>2]=0;c[j+4>>2]=0;c[j+8>>2]=0;c[j+12>>2]=0;h[i+72>>3]=800.0;h[i+80>>3]=600.0;c[f>>2]=i;c[g>>2]=(c[g>>2]|0)+1}a=c[a+224>>2]|0;if(!a){a=c[f>>2]|0;if((a|0)==(b|0))return;h[a+56>>3]=+h[b+56>>3];h[a+64>>3]=+h[b+64>>3];h[a+72>>3]=+h[b+72>>3];h[a+80>>3]=+h[b+80>>3];return}switch(c[a+20>>2]|0){case 2:{d=+(c[a+44>>2]|0);e=+h[b+72>>3];if(!(c[a+40>>2]|0)){j=c[f>>2]|0;l=+h[b+64>>3];k=+h[b+80>>3];h[j+56>>3]=+h[b+56>>3];h[j+64>>3]=l;h[j+72>>3]=(e-d)*.5;h[j+80>>3]=k;return}else{k=(e+d)*.5;j=c[f>>2]|0;d=+h[b+64>>3];l=+h[b+80>>3];h[j+56>>3]=k+ +h[b+56>>3];h[j+64>>3]=d;h[j+72>>3]=e-k;h[j+80>>3]=l;return}}case 3:{d=+(c[a+52>>2]|0);e=+h[b+80>>3];if(!(c[a+48>>2]|0)){l=(e+d)*.5;j=c[f>>2]|0;d=l+ +h[b+64>>3];k=+h[b+72>>3];h[j+56>>3]=+h[b+56>>3];h[j+64>>3]=d;h[j+72>>3]=k;h[j+80>>3]=e-l;return}else{j=c[f>>2]|0;k=+h[b+64>>3];l=+h[b+72>>3];h[j+56>>3]=+h[b+56>>3];h[j+64>>3]=k;h[j+72>>3]=l;h[j+80>>3]=(e-d)*.5;return}}default:{a=c[f>>2]|0;if((a|0)==(b|0))return;h[a+56>>3]=+h[b+56>>3];h[a+64>>3]=+h[b+64>>3];h[a+72>>3]=+h[b+72>>3];h[a+80>>3]=+h[b+80>>3];return}}}function Qfa(a,b){a=a|0;b=b|0;var d=0.0,e=0.0,f=0,g=0,i=0,j=0,k=0.0,l=0.0;if(!b)return;f=a+192|0;if(!(c[f>>2]|0)){i=j0a(88)|0;c[i+4>>2]=0;g=i+8|0;c[g>>2]=0;j=i+12|0;c[j>>2]=0;c[j+4>>2]=0;c[j+8>>2]=0;c[i+24>>2]=2;j=i+28|0;c[j>>2]=0;c[j+4>>2]=0;c[j+8>>2]=0;c[j+12>>2]=0;c[j+16>>2]=0;c[j+20>>2]=0;c[j+24>>2]=0;c[i>>2]=86804;j=i+56|0;c[j>>2]=0;c[j+4>>2]=0;c[j+8>>2]=0;c[j+12>>2]=0;h[i+72>>3]=800.0;h[i+80>>3]=600.0;c[f>>2]=i;c[g>>2]=(c[g>>2]|0)+1}a=c[a+224>>2]|0;if(!a){a=c[f>>2]|0;if((a|0)==(b|0))return;h[a+56>>3]=+h[b+56>>3];h[a+64>>3]=+h[b+64>>3];h[a+72>>3]=+h[b+72>>3];h[a+80>>3]=+h[b+80>>3];return}switch(c[a+20>>2]|0){case 2:{d=+(c[a+44>>2]|0);e=+h[b+72>>3];if(!(c[a+40>>2]|0)){k=(e+d)*.5;j=c[f>>2]|0;l=+h[b+64>>3];d=+h[b+80>>3];h[j+56>>3]=k+ +h[b+56>>3];h[j+64>>3]=l;h[j+72>>3]=e-k;h[j+80>>3]=d;return}else{j=c[f>>2]|0;k=+h[b+64>>3];l=+h[b+80>>3];h[j+56>>3]=+h[b+56>>3];h[j+64>>3]=k;h[j+72>>3]=(e-d)*.5;h[j+80>>3]=l;return}}case 3:{d=+(c[a+52>>2]|0);e=+h[b+80>>3];if(!(c[a+48>>2]|0)){j=c[f>>2]|0;k=+h[b+64>>3];l=+h[b+72>>3];h[j+56>>3]=+h[b+56>>3];h[j+64>>3]=k;h[j+72>>3]=l;h[j+80>>3]=(e-d)*.5;return}else{l=(e+d)*.5;j=c[f>>2]|0;d=l+ +h[b+64>>3];k=+h[b+72>>3];h[j+56>>3]=+h[b+56>>3];h[j+64>>3]=d;h[j+72>>3]=k;h[j+80>>3]=e-l;return}}default:{a=c[f>>2]|0;if((a|0)==(b|0))return;h[a+56>>3]=+h[b+56>>3];h[a+64>>3]=+h[b+64>>3];h[a+72>>3]=+h[b+72>>3];h[a+80>>3]=+h[b+80>>3];return}}}function Rfa(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=l;l=l+16|0;e=g;if(!a){if(!(ZQ(2)|0)){f=0;l=g;return f|0}f=mr(lr(2)|0,172255,88)|0;BSa(e,f+(c[(c[f>>2]|0)+-12>>2]|0)|0);d=cUa(e,230580)|0;d=kk[c[(c[d>>2]|0)+28>>2]&511](d,10)|0;dUa(e);VSa(f,d)|0;HSa(f)|0;f=0;l=g;return f|0}a=kk[c[(c[a>>2]|0)+16>>2]&511](a,b)|0;b=(a|0)==0;if(!b?(f=a+8|0,c[f>>2]=(c[f>>2]|0)+1,d=y1a(a,42800,49912,0)|0,d|0):0){c[f>>2]=(c[f>>2]|0)-1;f=d;l=g;return f|0}if(ZQ(2)|0){f=mr(lr(2)|0,172166,88)|0;BSa(e,f+(c[(c[f>>2]|0)+-12>>2]|0)|0);d=cUa(e,230580)|0;d=kk[c[(c[d>>2]|0)+28>>2]&511](d,10)|0;dUa(e);VSa(f,d)|0;HSa(f)|0}if(b){f=0;l=g;return f|0}e=a+8|0;f=c[e>>2]|0;c[e>>2]=f-1;if((f|0)!=1){f=0;l=g;return f|0}UU(a,1,1);f=0;l=g;return f|0}function Sfa(a){a=a|0;SU(a);l0a(a);return}function Tfa(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;SW(a,d);c[a>>2]=84916;c[a+60>>2]=b;b=a+64|0;d=b+36|0;do{c[b>>2]=0;b=b+4|0}while((b|0)<(d|0));H2(a,e);X$(a);return}function Ufa(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0;S=l;l=l+608|0;k=S+440|0;m=S+428|0;R=S+456|0;p=S+416|0;q=S+256|0;t=S+16|0;u=S+232|0;N=S+272|0;H=S+220|0;I=S+208|0;O=S+244|0;J=S+196|0;K=S+184|0;L=S+172|0;M=S+160|0;i=S+148|0;j=S+136|0;n=S+124|0;o=S+112|0;r=S;s=S+100|0;v=S+88|0;w=S+76|0;x=S+64|0;y=S+52|0;F=S+40|0;G=S+28|0;P=b+572|0;h=c[P>>2]|0;Q=b+576|0;f=c[Q>>2]|0;if((f|0)!=(h|0))do{g=f+-12|0;if((a[g+11>>0]|0)<0)l0a(c[g>>2]|0);g=f+-24|0;if((a[g+11>>0]|0)<0)l0a(c[g>>2]|0);g=f+-36|0;f=f+-40|0;if((a[g+11>>0]|0)<0)l0a(c[g>>2]|0)}while((f|0)!=(h|0));c[Q>>2]=h;E=b+584|0;h=b+588|0;yO(E,c[h>>2]|0);c[b+592>>2]=0;c[E>>2]=h;c[h>>2]=0;h=b+372|0;if(d){c[k>>2]=0;c[k+4>>2]=0;c[k+8>>2]=0;f=k+11|0;a[f>>0]=9;z=k;A=167256;B=z+9|0;do{a[z>>0]=a[A>>0]|0;z=z+1|0;A=A+1|0}while((z|0)<(B|0));a[k+9>>0]=0;g=m+11|0;a[g>>0]=10;z=m;A=167266;B=z+10|0;do{a[z>>0]=a[A>>0]|0;z=z+1|0;A=A+1|0}while((z|0)<(B|0));a[m+10>>0]=0;c[R>>2]=0;c[R+4>>2]=0;c[R+8>>2]=0;G=R+11|0;a[G>>0]=5;a[R>>0]=a[167277]|0;a[R+1>>0]=a[167278]|0;a[R+2>>0]=a[167279]|0;a[R+3>>0]=a[167280]|0;a[R+4>>0]=a[167281]|0;a[R+5>>0]=0;Vfa(b,h,0,k,m,R);if((a[G>>0]|0)<0)l0a(c[R>>2]|0);if((a[g>>0]|0)<0)l0a(c[m>>2]|0);if((a[f>>0]|0)<0)l0a(c[k>>2]|0);f=b+412|0;c[p>>2]=0;c[p+4>>2]=0;c[p+8>>2]=0;g=p+11|0;a[g>>0]=9;z=p;A=167283;B=z+9|0;do{a[z>>0]=a[A>>0]|0;z=z+1|0;A=A+1|0}while((z|0)<(B|0));a[p+9>>0]=0;h=q+11|0;a[h>>0]=10;z=q;A=167293;B=z+10|0;do{a[z>>0]=a[A>>0]|0;z=z+1|0;A=A+1|0}while((z|0)<(B|0));a[q+10>>0]=0;c[R>>2]=0;c[R+4>>2]=0;c[R+8>>2]=0;G=R+11|0;a[G>>0]=5;a[R>>0]=a[167304]|0;a[R+1>>0]=a[167305]|0;a[R+2>>0]=a[167306]|0;a[R+3>>0]=a[167307]|0;a[R+4>>0]=a[167308]|0;a[R+5>>0]=0;Vfa(b,f,1,p,q,R);if((a[G>>0]|0)<0)l0a(c[R>>2]|0);if((a[h>>0]|0)<0)l0a(c[q>>2]|0);if((a[g>>0]|0)<0)l0a(c[p>>2]|0);f=b+452|0;c[t>>2]=0;c[t+4>>2]=0;c[t+8>>2]=0;g=t+11|0;a[g>>0]=8;h=t;c[h>>2]=1130327143;c[h+4>>2]=1919904879;a[t+8>>0]=0;c[u>>2]=0;c[u+4>>2]=0;c[u+8>>2]=0;h=u+11|0;a[h>>0]=9;z=u;A=167310;B=z+9|0;do{a[z>>0]=a[A>>0]|0;z=z+1|0;A=A+1|0}while((z|0)<(B|0));a[u+9>>0]=0;c[R>>2]=0;c[R+4>>2]=0;c[R+8>>2]=0;G=R+11|0;a[G>>0]=5;a[R>>0]=a[167277]|0;a[R+1>>0]=a[167278]|0;a[R+2>>0]=a[167279]|0;a[R+3>>0]=a[167280]|0;a[R+4>>0]=a[167281]|0;a[R+5>>0]=0;Vfa(b,f,2,t,u,R);if((a[G>>0]|0)<0)l0a(c[R>>2]|0);if((a[h>>0]|0)<0)l0a(c[u>>2]|0);if((a[g>>0]|0)<0)l0a(c[t>>2]|0);f=c[Q>>2]|0;d=c[P>>2]|0;g=(f-d|0)/40|0;h=f;if(g>>>0>=e>>>0){if(g>>>0>e>>>0){f=d+(e*40|0)|0;if((f|0)!=(h|0))do{g=h+-12|0;if((a[g+11>>0]|0)<0)l0a(c[g>>2]|0);g=h+-24|0;if((a[g+11>>0]|0)<0)l0a(c[g>>2]|0);g=h+-36|0;h=h+-40|0;if((a[g+11>>0]|0)<0)l0a(c[g>>2]|0)}while((h|0)!=(f|0));c[Q>>2]=f}}else{Wfa(P,e-g|0);f=c[Q>>2]|0}if((f|0)==(c[P>>2]|0))h=3;else{d=R+64|0;i=R+8|0;j=R+12|0;k=R+4|0;m=R+64|0;n=R+136|0;o=R+140|0;p=R+44|0;q=R+60|0;r=N+64|0;s=N+8|0;t=N+12|0;u=N+4|0;v=N+64|0;w=N+136|0;x=N+140|0;y=N+44|0;z=N+60|0;A=R+8|0;B=N+8|0;e=O+11|0;C=O+5|0;D=I+11|0;E=H+11|0;F=y+11|0;G=p+11|0;f=3;g=0;while(1){c[i>>2]=81724;c[R>>2]=46852;c[d>>2]=46872;c[k>>2]=0;zSa(m,j);c[n>>2]=0;c[o>>2]=-1;c[R>>2]=81704;c[d>>2]=81744;c[i>>2]=81724;ESa(j);c[j>>2]=68044;c[p>>2]=0;c[p+4>>2]=0;c[p+8>>2]=0;c[p+12>>2]=0;c[q>>2]=24;c[s>>2]=81724;c[N>>2]=46852;c[r>>2]=46872;c[u>>2]=0;zSa(v,t);c[w>>2]=0;c[x>>2]=-1;c[N>>2]=81704;c[r>>2]=81744;c[s>>2]=81724;ESa(t);c[t>>2]=68044;c[y>>2]=0;c[y+4>>2]=0;c[y+8>>2]=0;c[y+12>>2]=0;c[z>>2]=24;QSa(mr(A,167357,16)|0,g)|0;QSa(mr(B,167374,17)|0,g)|0;T=(c[P>>2]|0)+(g*40|0)|0;h=f+1|0;_Q(H,j);_Q(I,t);c[O>>2]=0;c[O+4>>2]=0;c[O+8>>2]=0;a[e>>0]=5;a[O>>0]=a[167277]|0;a[O+1>>0]=a[167278]|0;a[O+2>>0]=a[167279]|0;a[O+3>>0]=a[167280]|0;a[O+4>>0]=a[167281]|0;a[C>>0]=0;Vfa(b,T,f,H,I,O);if((a[e>>0]|0)<0)l0a(c[O>>2]|0);if((a[D>>0]|0)<0)l0a(c[I>>2]|0);if((a[E>>0]|0)<0)l0a(c[H>>2]|0);c[N>>2]=81704;c[r>>2]=81744;c[B>>2]=81724;c[t>>2]=68044;if((a[F>>0]|0)<0)l0a(c[y>>2]|0);oRa(t);wSa(N,81756);iRa(r);c[R>>2]=81704;c[d>>2]=81744;c[A>>2]=81724;c[j>>2]=68044;if((a[G>>0]|0)<0)l0a(c[p>>2]|0);oRa(j);wSa(R,81756);iRa(d);g=g+1|0;if(g>>>0>=(((c[Q>>2]|0)-(c[P>>2]|0)|0)/40|0)>>>0)break;else f=h}}d=h+1|0;f=j0a(32)|0;c[J>>2]=f;c[J+8>>2]=-2147483616;c[J+4>>2]=17;z=f;A=167320;B=z+17|0;do{a[z>>0]=a[A>>0]|0;z=z+1|0;A=A+1|0}while((z|0)<(B|0));a[f+17>>0]=0;c[K>>2]=0;c[K+4>>2]=0;c[K+8>>2]=0;f=j0a(32)|0;g=b+492|0;c[K>>2]=f;c[K+8>>2]=-2147483616;c[K+4>>2]=18;z=f;A=167338;B=z+18|0;do{a[z>>0]=a[A>>0]|0;z=z+1|0;A=A+1|0}while((z|0)<(B|0));a[f+18>>0]=0;c[R>>2]=0;c[R+4>>2]=0;c[R+8>>2]=0;T=R+11|0;a[T>>0]=5;a[R>>0]=a[167277]|0;a[R+1>>0]=a[167278]|0;a[R+2>>0]=a[167279]|0;a[R+3>>0]=a[167280]|0;a[R+4>>0]=a[167281]|0;a[R+5>>0]=0;Vfa(b,g,h,J,K,R);if((a[T>>0]|0)<0)l0a(c[R>>2]|0);if((a[K+11>>0]|0)<0)l0a(c[K>>2]|0);if((a[J+11>>0]|0)<0)l0a(c[J>>2]|0);f=j0a(16)|0;c[L>>2]=f;c[L+8>>2]=-2147483632;c[L+4>>2]=11;z=f;A=167392;B=z+11|0;do{a[z>>0]=a[A>>0]|0;z=z+1|0;A=A+1|0}while((z|0)<(B|0));a[f+11>>0]=0;c[M>>2]=0;c[M+4>>2]=0;c[M+8>>2]=0;f=j0a(16)|0;g=b+532|0;c[M>>2]=f;c[M+8>>2]=-2147483632;c[M+4>>2]=12;z=f;A=167404;B=z+12|0;do{a[z>>0]=a[A>>0]|0;z=z+1|0;A=A+1|0}while((z|0)<(B|0));a[f+12>>0]=0;c[R>>2]=0;c[R+4>>2]=0;c[R+8>>2]=0;T=R+11|0;a[T>>0]=6;a[R>>0]=a[167417]|0;a[R+1>>0]=a[167418]|0;a[R+2>>0]=a[167419]|0;a[R+3>>0]=a[167420]|0;a[R+4>>0]=a[167421]|0;a[R+5>>0]=a[167422]|0;a[R+6>>0]=0;Vfa(b,g,d,L,M,R);if((a[T>>0]|0)<0)l0a(c[R>>2]|0);if((a[M+11>>0]|0)<0)l0a(c[M>>2]|0);if((a[L+11>>0]|0)>=0){l=S;return}l0a(c[L>>2]|0);l=S;return}else{c[i>>2]=0;c[i+4>>2]=0;c[i+8>>2]=0;f=i+11|0;a[f>>0]=9;z=i;A=167256;B=z+9|0;do{a[z>>0]=a[A>>0]|0;z=z+1|0;A=A+1|0}while((z|0)<(B|0));a[i+9>>0]=0;g=j+11|0;a[g>>0]=10;z=j;A=167266;B=z+10|0;do{a[z>>0]=a[A>>0]|0;z=z+1|0;A=A+1|0}while((z|0)<(B|0));a[j+10>>0]=0;c[R>>2]=0;c[R+4>>2]=0;c[R+8>>2]=0;T=R+11|0;a[T>>0]=5;a[R>>0]=a[167277]|0;a[R+1>>0]=a[167278]|0;a[R+2>>0]=a[167279]|0;a[R+3>>0]=a[167280]|0;a[R+4>>0]=a[167281]|0;a[R+5>>0]=0;Vfa(b,h,0,i,j,R);if((a[T>>0]|0)<0)l0a(c[R>>2]|0);if((a[g>>0]|0)<0)l0a(c[j>>2]|0);if((a[f>>0]|0)<0)l0a(c[i>>2]|0);f=b+412|0;c[n>>2]=0;c[n+4>>2]=0;c[n+8>>2]=0;g=n+11|0;a[g>>0]=9;z=n;A=167283;B=z+9|0;do{a[z>>0]=a[A>>0]|0;z=z+1|0;A=A+1|0}while((z|0)<(B|0));a[n+9>>0]=0;h=o+11|0;a[h>>0]=10;z=o;A=167293;B=z+10|0;do{a[z>>0]=a[A>>0]|0;z=z+1|0;A=A+1|0}while((z|0)<(B|0));a[o+10>>0]=0;c[R>>2]=0;c[R+4>>2]=0;c[R+8>>2]=0;T=R+11|0;a[T>>0]=5;a[R>>0]=a[167304]|0;a[R+1>>0]=a[167305]|0;a[R+2>>0]=a[167306]|0;a[R+3>>0]=a[167307]|0;a[R+4>>0]=a[167308]|0;a[R+5>>0]=0;Vfa(b,f,2,n,o,R);if((a[T>>0]|0)<0)l0a(c[R>>2]|0);if((a[h>>0]|0)<0)l0a(c[o>>2]|0);if((a[g>>0]|0)<0)l0a(c[n>>2]|0);f=b+452|0;c[r>>2]=0;c[r+4>>2]=0;c[r+8>>2]=0;g=r+11|0;a[g>>0]=8;h=r;c[h>>2]=1130327143;c[h+4>>2]=1919904879;a[r+8>>0]=0;c[s>>2]=0;c[s+4>>2]=0;c[s+8>>2]=0;h=s+11|0;a[h>>0]=9;z=s;A=167310;B=z+9|0;do{a[z>>0]=a[A>>0]|0;z=z+1|0;A=A+1|0}while((z|0)<(B|0));a[s+9>>0]=0;c[R>>2]=0;c[R+4>>2]=0;c[R+8>>2]=0;T=R+11|0;a[T>>0]=5;a[R>>0]=a[167277]|0;a[R+1>>0]=a[167278]|0;a[R+2>>0]=a[167279]|0;a[R+3>>0]=a[167280]|0;a[R+4>>0]=a[167281]|0;a[R+5>>0]=0;Vfa(b,f,3,r,s,R);if((a[T>>0]|0)<0)l0a(c[R>>2]|0);if((a[h>>0]|0)<0)l0a(c[s>>2]|0);if((a[g>>0]|0)<0)l0a(c[r>>2]|0);f=j0a(32)|0;c[v>>2]=f;c[v+8>>2]=-2147483616;c[v+4>>2]=17;z=f;A=167320;B=z+17|0;do{a[z>>0]=a[A>>0]|0;z=z+1|0;A=A+1|0}while((z|0)<(B|0));a[f+17>>0]=0;c[w>>2]=0;c[w+4>>2]=0;c[w+8>>2]=0;f=j0a(32)|0;g=b+492|0;c[w>>2]=f;c[w+8>>2]=-2147483616;c[w+4>>2]=18;z=f;A=167338;B=z+18|0;do{a[z>>0]=a[A>>0]|0;z=z+1|0;A=A+1|0}while((z|0)<(B|0));a[f+18>>0]=0;c[R>>2]=0;c[R+4>>2]=0;c[R+8>>2]=0;T=R+11|0;a[T>>0]=5;a[R>>0]=a[167277]|0;a[R+1>>0]=a[167278]|0;a[R+2>>0]=a[167279]|0;a[R+3>>0]=a[167280]|0;a[R+4>>0]=a[167281]|0;a[R+5>>0]=0;Vfa(b,g,4,v,w,R);if((a[T>>0]|0)<0)l0a(c[R>>2]|0);if((a[w+11>>0]|0)<0)l0a(c[w>>2]|0);if((a[v+11>>0]|0)<0)l0a(c[v>>2]|0);f=j0a(16)|0;c[x>>2]=f;c[x+8>>2]=-2147483632;c[x+4>>2]=11;z=f;A=167392;B=z+11|0;do{a[z>>0]=a[A>>0]|0;z=z+1|0;A=A+1|0}while((z|0)<(B|0));a[f+11>>0]=0;c[y>>2]=0;c[y+4>>2]=0;c[y+8>>2]=0;f=j0a(16)|0;g=b+532|0;c[y>>2]=f;c[y+8>>2]=-2147483632;c[y+4>>2]=12;z=f;A=167404;B=z+12|0;do{a[z>>0]=a[A>>0]|0;z=z+1|0;A=A+1|0}while((z|0)<(B|0));a[f+12>>0]=0;c[R>>2]=0;c[R+4>>2]=0;c[R+8>>2]=0;T=R+11|0;a[T>>0]=6;a[R>>0]=a[167417]|0;a[R+1>>0]=a[167418]|0;a[R+2>>0]=a[167419]|0;a[R+3>>0]=a[167420]|0;a[R+4>>0]=a[167421]|0;a[R+5>>0]=a[167422]|0;a[R+6>>0]=0;Vfa(b,g,5,x,y,R);if((a[T>>0]|0)<0)l0a(c[R>>2]|0);if((a[y+11>>0]|0)<0)l0a(c[y>>2]|0);if((a[x+11>>0]|0)<0)l0a(c[x>>2]|0);f=c[Q>>2]|0;d=c[P>>2]|0;g=(f-d|0)/40|0;h=f;do if(g>>>0<e>>>0){Wfa(P,e-g|0);f=c[Q>>2]|0}else{if(g>>>0<=e>>>0)break;f=d+(e*40|0)|0;if((f|0)!=(h|0))do{g=h+-12|0;if((a[g+11>>0]|0)<0)l0a(c[g>>2]|0);g=h+-24|0;if((a[g+11>>0]|0)<0)l0a(c[g>>2]|0);g=h+-36|0;h=h+-40|0;if((a[g+11>>0]|0)<0)l0a(c[g>>2]|0)}while((h|0)!=(f|0));c[Q>>2]=f}while(0);if((f|0)==(c[P>>2]|0)){l=S;return}g=R+64|0;h=R+8|0;d=R+12|0;i=R+4|0;j=R+64|0;k=R+136|0;m=R+140|0;n=R+44|0;o=R+60|0;p=N+64|0;q=N+8|0;r=N+12|0;s=N+4|0;t=N+64|0;u=N+136|0;v=N+140|0;w=N+44|0;x=N+60|0;y=R+8|0;z=N+8|0;A=O+11|0;B=O+5|0;e=G+11|0;C=F+11|0;D=w+11|0;E=n+11|0;f=0;do{c[h>>2]=81724;c[R>>2]=46852;c[g>>2]=46872;c[i>>2]=0;zSa(j,d);c[k>>2]=0;c[m>>2]=-1;c[R>>2]=81704;c[g>>2]=81744;c[h>>2]=81724;ESa(d);c[d>>2]=68044;c[n>>2]=0;c[n+4>>2]=0;c[n+8>>2]=0;c[n+12>>2]=0;c[o>>2]=24;c[q>>2]=81724;c[N>>2]=46852;c[p>>2]=46872;c[s>>2]=0;zSa(t,r);c[u>>2]=0;c[v>>2]=-1;c[N>>2]=81704;c[p>>2]=81744;c[q>>2]=81724;ESa(r);c[r>>2]=68044;c[w>>2]=0;c[w+4>>2]=0;c[w+8>>2]=0;c[w+12>>2]=0;c[x>>2]=24;QSa(mr(y,167357,16)|0,f)|0;QSa(mr(z,167374,17)|0,f)|0;T=(c[P>>2]|0)+(f*40|0)|0;_Q(F,d);_Q(G,r);c[O>>2]=0;c[O+4>>2]=0;c[O+8>>2]=0;a[A>>0]=5;a[O>>0]=a[167277]|0;a[O+1>>0]=a[167278]|0;a[O+2>>0]=a[167279]|0;a[O+3>>0]=a[167280]|0;a[O+4>>0]=a[167281]|0;a[B>>0]=0;Vfa(b,T,f+8|0,F,G,O);if((a[A>>0]|0)<0)l0a(c[O>>2]|0);if((a[e>>0]|0)<0)l0a(c[G>>2]|0);if((a[C>>0]|0)<0)l0a(c[F>>2]|0);c[N>>2]=81704;c[p>>2]=81744;c[z>>2]=81724;c[r>>2]=68044;if((a[D>>0]|0)<0)l0a(c[w>>2]|0);oRa(r);wSa(N,81756);iRa(p);c[R>>2]=81704;c[g>>2]=81744;c[y>>2]=81724;c[d>>2]=68044;if((a[E>>0]|0)<0)l0a(c[n>>2]|0);oRa(d);wSa(R,81756);iRa(g);f=f+1|0}while(f>>>0<(((c[Q>>2]|0)-(c[P>>2]|0)|0)/40|0)>>>0);l=S;return}}function Vfa(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,m=0,n=0,o=0;n=l;l=l+64|0;o=n+24|0;k=n+12|0;m=n;t0a(k,f);t0a(m,g);c[o>>2]=e;j=o+4|0;t0a(j,k);f=o+16|0;t0a(f,m);i=o+28|0;t0a(i,h);c[d>>2]=c[o>>2];z0a(d+4|0,j)|0;z0a(d+16|0,f)|0;z0a(d+28|0,i)|0;if((a[i+11>>0]|0)<0)l0a(c[i>>2]|0);if((a[f+11>>0]|0)<0)l0a(c[f>>2]|0);if((a[j+11>>0]|0)<0)l0a(c[j>>2]|0);if((a[m+11>>0]|0)<0)l0a(c[m>>2]|0);if((a[k+11>>0]|0)>=0){o=b+584|0;o=vO(o,g)|0;c[o>>2]=e;l=n;return}l0a(c[k>>2]|0);o=b+584|0;o=vO(o,g)|0;c[o>>2]=e;l=n;return}function Wfa(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0;k=l;l=l+32|0;j=k;g=c[b+8>>2]|0;h=b+4|0;e=c[h>>2]|0;if(((g-e|0)/40|0)>>>0>=d>>>0){do{f=e+40|0;do{c[e>>2]=0;e=e+4|0}while((e|0)<(f|0));e=(c[h>>2]|0)+40|0;c[h>>2]=e;d=d+-1|0}while((d|0)!=0);l=k;return}f=c[b>>2]|0;h=(e-f|0)/40|0;i=h+d|0;if(i>>>0>107374182)g1a(b);e=(g-f|0)/40|0;g=e<<1;g=e>>>0<53687091?(g>>>0<i>>>0?i:g):107374182;e=j+12|0;c[e>>2]=0;c[j+16>>2]=b+8;do if(g)if(g>>>0>107374182){k=db(8)|0;p0a(k,183738);c[k>>2]=110936;hb(k|0,65952,1066)}else{f=j0a(g*40|0)|0;break}else f=0;while(0);c[j>>2]=f;n=f+(h*40|0)|0;h=j+8|0;m=j+4|0;c[m>>2]=n;c[e>>2]=f+(g*40|0);z2a(n|0,0,d*40|0)|0;c[h>>2]=f+(i*40|0);Xfa(b,j);d=c[m>>2]|0;e=c[h>>2]|0;if((e|0)!=(d|0))do{c[h>>2]=e+-40;f=e+-12|0;if((a[f+11>>0]|0)<0)l0a(c[f>>2]|0);f=e+-24|0;if((a[f+11>>0]|0)<0)l0a(c[f>>2]|0);e=e+-36|0;if((a[e+11>>0]|0)<0)l0a(c[e>>2]|0);e=c[h>>2]|0}while((e|0)!=(d|0));e=c[j>>2]|0;if(e|0)l0a(e);l=k;return}function Xfa(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;i=c[a>>2]|0;j=a+4|0;d=c[j>>2]|0;h=b+4|0;if((d|0)==(i|0)){f=h;g=a;e=c[h>>2]|0;d=i}else{e=c[h>>2]|0;do{g=d;d=d+-40|0;c[e+-40>>2]=c[d>>2];t0a(e+-36|0,g+-36|0);t0a(e+-24|0,g+-24|0);t0a(e+-12|0,g+-12|0);e=(c[h>>2]|0)+-40|0;c[h>>2]=e}while((d|0)!=(i|0));f=h;g=a;d=c[a>>2]|0}c[g>>2]=e;c[f>>2]=d;i=b+8|0;h=c[j>>2]|0;c[j>>2]=c[i>>2];c[i>>2]=h;i=a+8|0;j=b+12|0;a=c[i>>2]|0;c[i>>2]=c[j>>2];c[j>>2]=a;c[b>>2]=c[f>>2];return}function Yfa(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;g=jX(a+92|0,b)|0;if((((g|0)!=(a+96|0)?(h=c[g+28>>2]|0,h|0):0)?(f=y1a(h,47224,47576,0)|0,f|0):0)?(c[f+60>>2]|0)==(d|0):0){h=f;return h|0}h=j0a(104)|0;Tfa(h,d,b,e);hX(a,h,1);return h|0}function Zfa(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;j=l;l=l+16|0;g=j;if((a[223736]|0)==0?g2a(223736)|0:0)V2(225776);e=c[56445]|0;if(e|0){f=225780;do{i=(c[e+16>>2]|0)>>>0<d>>>0;f=i?f:e;e=c[(i?e+4|0:e)>>2]|0}while((e|0)!=0);if((f|0)!=225780?(c[f+16>>2]|0)>>>0<=d>>>0:0){if(ZQ(3)|0){i=mr(QSa(mr(lr(3)|0,159609,23)|0,d)|0,167687,35)|0;BSa(g,i+(c[(c[i>>2]|0)+-12>>2]|0)|0);h=cUa(g,230580)|0;h=kk[c[(c[h>>2]|0)+28>>2]&511](h,10)|0;dUa(g);VSa(i,h)|0;HSa(i)|0}if(ZQ(3)|0){i=mr(lr(3)|0,167723,63)|0;BSa(g,i+(c[(c[i>>2]|0)+-12>>2]|0)|0);h=cUa(g,230580)|0;h=kk[c[(c[h>>2]|0)+28>>2]&511](h,10)|0;dUa(g);VSa(i,h)|0;HSa(i)|0}if(ZQ(3)|0){i=mr(lr(3)|0,158993,60)|0;BSa(g,i+(c[(c[i>>2]|0)+-12>>2]|0)|0);h=cUa(g,230580)|0;h=kk[c[(c[h>>2]|0)+28>>2]&511](h,10)|0;dUa(g);VSa(i,h)|0;HSa(i)|0}bga(b,0,d);l=j;return}}if((d|0)==2903){if(ZQ(3)|0)mr(lr(3)|0,167787,85)|0;if(ZQ(3)|0)mr(lr(3)|0,159816,80)|0;if(!(ZQ(3)|0)){l=j;return}b=mr(lr(3)|0,159897,60)|0;BSa(g,b+(c[(c[b>>2]|0)+-12>>2]|0)|0);i=cUa(g,230580)|0;i=kk[c[(c[i>>2]|0)+28>>2]&511](i,10)|0;dUa(g);VSa(b,i)|0;HSa(b)|0;l=j;return}h=b+44|0;f=b+48|0;i=c[f>>2]|0;if(!i){l=j;return}g=f;e=i;do{k=(c[e+16>>2]|0)>>>0<d>>>0;g=k?g:e;e=c[(k?e+4|0:e)>>2]|0}while((e|0)!=0);if((g|0)==(f|0)){l=j;return}if((c[g+16>>2]|0)>>>0>d>>>0){l=j;return}e=c[g+4>>2]|0;if(!e){f=g+8|0;e=c[f>>2]|0;if((c[e>>2]|0)!=(g|0))do{k=c[f>>2]|0;f=k+8|0;e=c[f>>2]|0}while((c[e>>2]|0)!=(k|0))}else while(1){f=c[e>>2]|0;if(!f)break;else e=f}if((c[h>>2]|0)==(g|0))c[h>>2]=e;k=b+52|0;c[k>>2]=(c[k>>2]|0)+-1;Pw(i,g);l0a(g);l=j;return}function _fa(a){a=a|0;l0a(a);return}function $fa(a,b){a=a|0;b=b|0;Zfa(c[a+4>>2]|0,b);return}function aga(a,b){a=a|0;b=b|0;bga(c[a+4>>2]|0,c[a+8>>2]|0,b);return}function bga(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0;k=l;l=l+16|0;h=k;if((a[223736]|0)==0?g2a(223736)|0:0)V2(225776);f=c[56445]|0;if(f|0){g=225780;do{j=(c[f+16>>2]|0)>>>0<e>>>0;g=j?g:f;f=c[(j?f+4|0:f)>>2]|0}while((f|0)!=0);if((g|0)!=225780?(c[g+16>>2]|0)>>>0<=e>>>0:0){i=c[b+68>>2]|0;j=i;if((((c[b+72>>2]|0)-i|0)/12|0)>>>0<=d>>>0){l=k;return}b=j+(d*12|0)|0;g=j+(d*12|0)+4|0;i=c[g>>2]|0;if(!i){l=k;return}h=g;f=i;do{m=(c[f+16>>2]|0)>>>0<e>>>0;h=m?h:f;f=c[(m?f+4|0:f)>>2]|0}while((f|0)!=0);if((h|0)==(g|0)){l=k;return}if((c[h+16>>2]|0)>>>0>e>>>0){l=k;return}f=c[h+4>>2]|0;if(!f){g=h+8|0;f=c[g>>2]|0;if((c[f>>2]|0)!=(h|0))do{m=c[g>>2]|0;g=m+8|0;f=c[g>>2]|0}while((c[f>>2]|0)!=(m|0))}else while(1){g=c[f>>2]|0;if(!g)break;else f=g}if((c[b>>2]|0)==(h|0))c[b>>2]=f;m=j+(d*12|0)+8|0;c[m>>2]=(c[m>>2]|0)+-1;Pw(i,h);l0a(h);l=k;return}}if(ZQ(3)|0){m=mr(QSa(mr(lr(3)|0,159430,27)|0,e)|0,167553,47)|0;BSa(h,m+(c[(c[m>>2]|0)+-12>>2]|0)|0);d=cUa(h,230580)|0;d=kk[c[(c[d>>2]|0)+28>>2]&511](d,10)|0;dUa(h);VSa(m,d)|0;HSa(m)|0}if(ZQ(3)|0){m=mr(lr(3)|0,167601,56)|0;BSa(h,m+(c[(c[m>>2]|0)+-12>>2]|0)|0);d=cUa(h,230580)|0;d=kk[c[(c[d>>2]|0)+28>>2]&511](d,10)|0;dUa(h);VSa(m,d)|0;HSa(m)|0}if(ZQ(3)|0){m=mr(lr(3)|0,158993,60)|0;BSa(h,m+(c[(c[m>>2]|0)+-12>>2]|0)|0);d=cUa(h,230580)|0;d=kk[c[(c[d>>2]|0)+28>>2]&511](d,10)|0;dUa(h);VSa(m,d)|0;HSa(m)|0}Zfa(b,e);l=k;return}function cga(a){a=a|0;Cy(a,92660);Pr(a+56|0);return}function dga(a){a=a|0;Cy(a,92660);Pr(a+56|0);l0a(a);return}function ega(a){a=a|0;return 160686}function fga(a){a=a|0;return 167873}function gga(a){a=a|0;return a|0}function hga(a){a=a|0;return a|0}function iga(a){a=a|0;return}function jga(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;f=c[b+84>>2]|0;do if(f|0){g=gk[c[(c[f>>2]|0)+60>>2]&1023](f)|0;d=gk[c[(c[f>>2]|0)+36>>2]&1023](f)|0;e=(g|0)!=0;if(e)Nk[c[(c[g>>2]|0)+32>>2]&255](g,a,b);if(d|0){Nk[c[(c[d>>2]|0)+32>>2]&255](d,b,a);break}if(!e)lk[c[(c[f>>2]|0)+92>>2]&127](f,b,a+(c[(c[a>>2]|0)+-12>>2]|0)|0)|0}while(0);b=c[b+120>>2]|0;if(!b)return;if((c[b+144>>2]|0)==0?(c[b+148>>2]|0)==0:0)return;yga(b,a);return}function kga(a,b){a=a|0;b=b|0;var d=0;d=c[b+120>>2]|0;do if(d|0){if((c[d+144>>2]|0)==0?(c[d+148>>2]|0)==0:0)break;yga(d,a)}while(0);d=c[b+84>>2]|0;if(d|0){lk[c[(c[d>>2]|0)+92>>2]&127](d,b,a+(c[(c[a>>2]|0)+-12>>2]|0)|0)|0;return}if(!(c[b+88>>2]|0))return;switch(c[a+16>>2]|0){case 1:{Jk[c[(c[b>>2]|0)+216>>2]&1023](b,a);return}case 0:return;default:{Jk[c[(c[b>>2]|0)+220>>2]&1023](b,a);return}}}function lga(a,b){a=a|0;b=b|0;var d=0;d=c[b+120>>2]|0;do if(d|0){if((c[d+144>>2]|0)==0?(c[d+148>>2]|0)==0:0)break;yga(d,a)}while(0);d=c[b+84>>2]|0;if(d|0){lk[c[(c[d>>2]|0)+92>>2]&127](d,b,a+(c[(c[a>>2]|0)+-12>>2]|0)|0)|0;return}if(!(c[b+88>>2]|0))return;switch(c[a+16>>2]|0){case 1:{Jk[c[(c[b>>2]|0)+216>>2]&1023](b,a);return}case 0:return;default:{Jk[c[(c[b>>2]|0)+220>>2]&1023](b,a);return}}}function mga(a,b){a=a|0;b=b|0;var d=0;d=c[b+120>>2]|0;do if(d|0){if((c[d+144>>2]|0)==0?(c[d+148>>2]|0)==0:0)break;yga(d,a)}while(0);d=c[b+84>>2]|0;if(d|0){lk[c[(c[d>>2]|0)+92>>2]&127](d,b,a+(c[(c[a>>2]|0)+-12>>2]|0)|0)|0;return}if(!(c[b+88>>2]|0))return;switch(c[a+16>>2]|0){case 1:{Jk[c[(c[b>>2]|0)+216>>2]&1023](b,a);return}case 0:return;default:{Jk[c[(c[b>>2]|0)+220>>2]&1023](b,a);return}}}function nga(a,b){a=a|0;b=b|0;var d=0;d=c[b+120>>2]|0;do if(d|0){if((c[d+144>>2]|0)==0?(c[d+148>>2]|0)==0:0)break;yga(d,a)}while(0);d=c[b+84>>2]|0;if(d|0){lk[c[(c[d>>2]|0)+92>>2]&127](d,b,a+(c[(c[a>>2]|0)+-12>>2]|0)|0)|0;return}if(!(c[b+88>>2]|0))return;switch(c[a+16>>2]|0){case 1:{Jk[c[(c[b>>2]|0)+216>>2]&1023](b,a);return}case 0:return;default:{Jk[c[(c[b>>2]|0)+220>>2]&1023](b,a);return}}}function oga(a,b){a=a|0;b=b|0;var d=0;d=c[b+120>>2]|0;do if(d|0){if((c[d+144>>2]|0)==0?(c[d+148>>2]|0)==0:0)break;yga(d,a)}while(0);d=c[b+84>>2]|0;if(d|0){lk[c[(c[d>>2]|0)+92>>2]&127](d,b,a+(c[(c[a>>2]|0)+-12>>2]|0)|0)|0;return}if(!(c[b+88>>2]|0))return;switch(c[a+16>>2]|0){case 1:{Jk[c[(c[b>>2]|0)+216>>2]&1023](b,a);return}case 0:return;default:{Jk[c[(c[b>>2]|0)+220>>2]&1023](b,a);return}}}function pga(a,b){a=a|0;b=b|0;var d=0;d=c[b+120>>2]|0;do if(d|0){if((c[d+144>>2]|0)==0?(c[d+148>>2]|0)==0:0)break;yga(d,a)}while(0);d=c[b+84>>2]|0;if(d|0){lk[c[(c[d>>2]|0)+92>>2]&127](d,b,a+(c[(c[a>>2]|0)+-12>>2]|0)|0)|0;return}if(!(c[b+88>>2]|0))return;switch(c[a+16>>2]|0){case 1:{Jk[c[(c[b>>2]|0)+216>>2]&1023](b,a);return}case 0:return;default:{Jk[c[(c[b>>2]|0)+220>>2]&1023](b,a);return}}}function qga(a,b){a=a|0;b=b|0;var d=0;d=c[b+120>>2]|0;do if(d|0){if((c[d+144>>2]|0)==0?(c[d+148>>2]|0)==0:0)break;yga(d,a)}while(0);d=c[b+84>>2]|0;if(d|0){lk[c[(c[d>>2]|0)+92>>2]&127](d,b,a+(c[(c[a>>2]|0)+-12>>2]|0)|0)|0;return}if(!(c[b+88>>2]|0))return;switch(c[a+16>>2]|0){case 1:{Jk[c[(c[b>>2]|0)+216>>2]&1023](b,a);return}case 0:return;default:{Jk[c[(c[b>>2]|0)+220>>2]&1023](b,a);return}}}function rga(a,b){a=a|0;b=b|0;var d=0;d=c[b+120>>2]|0;do if(d|0){if((c[d+144>>2]|0)==0?(c[d+148>>2]|0)==0:0)break;yga(d,a)}while(0);d=c[b+84>>2]|0;if(d|0){lk[c[(c[d>>2]|0)+92>>2]&127](d,b,a+(c[(c[a>>2]|0)+-12>>2]|0)|0)|0;return}if(!(c[b+88>>2]|0))return;switch(c[a+16>>2]|0){case 1:{Jk[c[(c[b>>2]|0)+216>>2]&1023](b,a);return}case 0:return;default:{Jk[c[(c[b>>2]|0)+220>>2]&1023](b,a);return}}}function sga(a,b){a=a|0;b=b|0;var d=0;d=c[b+120>>2]|0;do if(d|0){if((c[d+144>>2]|0)==0?(c[d+148>>2]|0)==0:0)break;yga(d,a)}while(0);d=c[b+84>>2]|0;if(d|0){lk[c[(c[d>>2]|0)+92>>2]&127](d,b,a+(c[(c[a>>2]|0)+-12>>2]|0)|0)|0;return}if(!(c[b+88>>2]|0))return;switch(c[a+16>>2]|0){case 1:{Jk[c[(c[b>>2]|0)+216>>2]&1023](b,a);return}case 0:return;default:{Jk[c[(c[b>>2]|0)+220>>2]&1023](b,a);return}}}function tga(a,b){a=a|0;b=b|0;var d=0;d=c[b+120>>2]|0;do if(d|0){if((c[d+144>>2]|0)==0?(c[d+148>>2]|0)==0:0)break;yga(d,a)}while(0);d=c[b+84>>2]|0;if(d|0){lk[c[(c[d>>2]|0)+92>>2]&127](d,b,a+(c[(c[a>>2]|0)+-12>>2]|0)|0)|0;return}if(!(c[b+88>>2]|0))return;switch(c[a+16>>2]|0){case 1:{Jk[c[(c[b>>2]|0)+216>>2]&1023](b,a);return}case 0:return;default:{Jk[c[(c[b>>2]|0)+220>>2]&1023](b,a);return}}}function uga(a){a=a|0;a=a+(c[(c[a>>2]|0)+-16>>2]|0)|0;Cy(a,92660);Pr(a+56|0);return}function vga(a){a=a|0;a=a+(c[(c[a>>2]|0)+-16>>2]|0)|0;Cy(a,92660);Pr(a+56|0);l0a(a);return}function wga(a){a=a|0;return 160686}function xga(a){a=a|0;return 167873}function yga(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;d=c[a+144>>2]|0;if(d|0)Nk[c[(c[d>>2]|0)+24>>2]&255](d,a,b);if(!(c[a+148>>2]|0))return;d=c[a+56>>2]|0;g=a+60|0;if((d|0)!=(g|0)){f=d;while(1){d=c[f+24>>2]|0;e=c[d+48>>2]|0;if(e|0)Nk[c[(c[e>>2]|0)+32>>2]&255](e,d,b);d=c[f+4>>2]|0;if(!d){e=f+8|0;d=c[e>>2]|0;if((c[d>>2]|0)!=(f|0))do{j=c[e>>2]|0;e=j+8|0;d=c[e>>2]|0}while((c[d>>2]|0)!=(j|0))}else while(1){e=c[d>>2]|0;if(!e)break;else d=e}if((d|0)==(g|0))break;else f=d}}i=a+80|0;j=a+84|0;d=c[i>>2]|0;if((c[j>>2]|0)!=(d|0)){h=0;do{g=d;d=c[g+(h*12|0)>>2]|0;g=g+(h*12|0)+4|0;if((d|0)!=(g|0)){f=d;while(1){d=c[f+24>>2]|0;e=c[d+48>>2]|0;if(e|0)Nk[c[(c[e>>2]|0)+32>>2]&255](e,d,b);d=c[f+4>>2]|0;if(!d){e=f+8|0;d=c[e>>2]|0;if((c[d>>2]|0)!=(f|0))do{f=c[e>>2]|0;e=f+8|0;d=c[e>>2]|0}while((c[d>>2]|0)!=(f|0))}else while(1){e=c[d>>2]|0;if(!e)break;else d=e}if((d|0)==(g|0))break;else f=d}}h=h+1|0;d=c[i>>2]|0}while(h>>>0<(((c[j>>2]|0)-d|0)/12|0)>>>0)}d=c[a+92>>2]|0;g=a+96|0;if((d|0)==(g|0))return;f=d;while(1){d=c[f+28>>2]|0;e=c[d+52>>2]|0;if(e|0)Nk[c[(c[e>>2]|0)+32>>2]&255](e,d,b);d=c[f+4>>2]|0;if(!d){e=f+8|0;d=c[e>>2]|0;if((c[d>>2]|0)!=(f|0))do{a=c[e>>2]|0;e=a+8|0;d=c[e>>2]|0}while((c[d>>2]|0)!=(a|0))}else while(1){e=c[d>>2]|0;if(!e)break;else d=e}if((d|0)==(g|0))break;else f=d}return}function zga(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0;Or(b,d,e);e=b+32|0;nR(e,d+32|0);c[b>>2]=92356;c[e>>2]=92592;e=b+140|0;h=b+200|0;j=b+204|0;k=b+208|0;l=b+212|0;i=b+224|0;f=b+96|0;g=f+40|0;do{c[f>>2]=0;f=f+4|0}while((f|0)<(g|0));f=e;g=f+92|0;do{c[f>>2]=0;f=f+4|0}while((f|0)<(g|0));e=j0a(72)|0;tS(e);f=c[h>>2]|0;if(((f|0)!=(e|0)?(c[h>>2]=e,h=e+8|0,c[h>>2]=(c[h>>2]|0)+1,f|0):0)?(g=f+8|0,h=c[g>>2]|0,c[g>>2]=h-1,(h|0)==1):0)UU(f,1,1);e=c[i>>2]|0;f=c[d+224>>2]|0;if((e|0)!=(f|0)){c[i>>2]=f;if(f|0){i=f+8|0;c[i>>2]=(c[i>>2]|0)+1}if(e|0?(h=e+8|0,i=c[h>>2]|0,c[h>>2]=i-1,(i|0)==1):0)UU(e,1,1)}c[b+232>>2]=c[d+232>>2];c[b+236>>2]=c[d+236>>2];c[b+240>>2]=c[d+240>>2];a[b+244>>0]=a[d+244>>0]|0;if((d|0)!=(b|0)){e=c[j>>2]|0;f=c[d+204>>2]|0;if((e|0)!=(f|0)){c[j>>2]=f;if(f|0){j=f+8|0;c[j>>2]=(c[j>>2]|0)+1}if(e|0?(i=e+8|0,j=c[i>>2]|0,c[i>>2]=j-1,(j|0)==1):0)UU(e,1,1)}c[k>>2]=c[d+208>>2]}e=c[l>>2]|0;f=c[d+212>>2]|0;if((e|0)!=(f|0)){c[l>>2]=f;if(f|0){l=f+8|0;c[l>>2]=(c[l>>2]|0)+1}if(e|0?(k=e+8|0,l=c[k>>2]|0,c[k>>2]=l-1,(l|0)==1):0)UU(e,1,1)}a[b+136>>0]=0;a[b+245>>0]=a[d+245>>0]|0;a[b+246>>0]=0;c[b+248>>2]=c[d+248>>2];l=b+256|0;c[l>>2]=0;c[l+4>>2]=0;c[l+8>>2]=0;c[l+12>>2]=0;a[b+272>>0]=a[d+272>>0]|0;c[b+276>>2]=c[d+276>>2];c[b+280>>2]=c[d+280>>2];c[b+284>>2]=0;a[b+288>>0]=a[d+288>>0]|0;return}function Aga(b,d){b=b|0;d=d|0;var e=0,f=0,i=0,j=0,k=0,l=0;c[b+4>>2]=0;c[b+8>>2]=0;c[b>>2]=68320;e=b+12|0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[b+24>>2]=2;c[b+28>>2]=0;e=b+32|0;c[e>>2]=70260;c[b+60>>2]=0;Bk[c[70268>>2]&2047](e);Aw(e);c[b>>2]=92356;c[e>>2]=92592;e=b+140|0;j=b+200|0;l=b+208|0;k=b+224|0;f=b+96|0;i=f+40|0;do{c[f>>2]=0;f=f+4|0}while((f|0)<(i|0));f=e;i=f+92|0;do{c[f>>2]=0;f=f+4|0}while((f|0)<(i|0));e=j0a(72)|0;tS(e);f=c[j>>2]|0;if(((f|0)!=(e|0)?(c[j>>2]=e,j=e+8|0,c[j>>2]=(c[j>>2]|0)+1,f|0):0)?(i=f+8|0,j=c[i>>2]|0,c[i>>2]=j-1,(j|0)==1):0)UU(f,1,1);e=c[k>>2]|0;if((e|0)!=(d|0)){c[k>>2]=d;if(d|0){k=d+8|0;c[k>>2]=(c[k>>2]|0)+1}if(e|0?(d=e+8|0,k=c[d>>2]|0,c[d>>2]=k-1,(k|0)==1):0)UU(e,1,1)}c[b+232>>2]=1;g[b+236>>2]=1.0;c[b+240>>2]=0;a[b+244>>0]=0;e=j0a(656)|0;zw(e);Bga(b,e,1);e=c[l>>2]|0;k=j0a(88)|0;c[k+4>>2]=0;c[k+8>>2]=0;d=k+12|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[k+24>>2]=2;d=k+28|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[d+12>>2]=0;c[d+16>>2]=0;c[d+20>>2]=0;c[d+24>>2]=0;c[k>>2]=86804;d=k+56|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[d+12>>2]=0;h[k+72>>3]=800.0;h[k+80>>3]=600.0;rR(e,k);k=c[l>>2]|0;g[k+240>>2]=.20000000298023224;g[k+244>>2]=.20000000298023224;g[k+248>>2]=.4000000059604645;g[k+252>>2]=1.0;e=k+148|0;if(!(c[k+152>>2]|0))c[e>>2]=c[e>>2]&-8193;a[b+136>>0]=0;l=c[l>>2]|0;c[l+568>>2]=1029;e=l+148|0;if(c[l+152>>2]|0){k=b+245|0;a[k>>0]=1;k=b+246|0;a[k>>0]=0;k=b+248|0;c[k>>2]=127;k=b+256|0;l=b+272|0;c[k>>2]=0;c[k+4>>2]=0;c[k+8>>2]=0;c[k+12>>2]=0;a[l>>0]=1;l=b+276|0;c[l>>2]=0;l=b+280|0;c[l>>2]=0;l=b+284|0;c[l>>2]=0;b=b+288|0;a[b>>0]=1;return}c[e>>2]=c[e>>2]&-131073;k=b+245|0;a[k>>0]=1;k=b+246|0;a[k>>0]=0;k=b+248|0;c[k>>2]=127;k=b+256|0;l=b+272|0;c[k>>2]=0;c[k+4>>2]=0;c[k+8>>2]=0;c[k+12>>2]=0;a[l>>0]=1;l=b+276|0;c[l>>2]=0;l=b+280|0;c[l>>2]=0;l=b+284|0;c[l>>2]=0;b=b+288|0;a[b>>0]=1;return}function Bga(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;f=l;l=l+16|0;e=f;if(!b){if(ZQ(3)|0){b=mr(lr(3)|0,167923,68)|0;BSa(e,b+(c[(c[b>>2]|0)+-12>>2]|0)|0);g=cUa(e,230580)|0;g=kk[c[(c[g>>2]|0)+28>>2]&511](g,10)|0;dUa(e);VSa(b,g)|0;HSa(b)|0}}else Tba(a+204|0,b)|0;if(!d){b=a+212|0;d=c[b>>2]|0;if(!d){l=f;return}c[b>>2]=0;a=d+8|0;g=c[a>>2]|0;c[a>>2]=g-1;if((g|0)!=1){l=f;return}UU(d,1,1);l=f;return}g=c[a+204>>2]|0;if((g|0)!=0?(c[g+24>>2]|0)!=0:0)e=c[a+208>>2]|0;else e=0;b=a+212|0;d=c[b>>2]|0;if((d|0)==(e|0)){l=f;return}c[b>>2]=e;if(e|0){g=e+8|0;c[g>>2]=(c[g>>2]|0)+1}if(!d){l=f;return}a=d+8|0;g=c[a>>2]|0;c[a>>2]=g-1;if((g|0)!=1){l=f;return}UU(d,1,1);l=f;return}function Cga(a){a=a|0;c[a>>2]=93224;aC(a+68|0,c[a+72>>2]|0);Wga(a+52|0,c[a+56>>2]|0);return}function Dga(a){a=a|0;c[a>>2]=93224;aC(a+68|0,c[a+72>>2]|0);Wga(a+52|0,c[a+56>>2]|0);l0a(a);return}function Ega(a,b,d){a=a|0;b=b|0;d=d|0;d=a+48|0;c[d>>2]=(c[d>>2]|0)+b;return}function Fga(a,b,d){a=a|0;b=b|0;d=d|0;d=a+48|0;c[d>>2]=(c[d>>2]|0)+b;return}function Gga(a,b,d){a=a|0;b=b|0;d=d|0;d=a+48|0;c[d>>2]=(c[d>>2]|0)+b;return}function Hga(a,b,d){a=a|0;b=b|0;d=d|0;d=a+48|0;c[d>>2]=(c[d>>2]|0)+b;return}function Iga(a,b,d){a=a|0;b=b|0;d=d|0;d=a+48|0;c[d>>2]=(c[d>>2]|0)+b;return}function Jga(a,b,d){a=a|0;b=b|0;d=d|0;d=a+48|0;c[d>>2]=(c[d>>2]|0)+b;return}function Kga(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;i=a+52|0;f=a+56|0;d=c[f>>2]|0;do if(d){g=a+56|0;while(1){f=c[d+16>>2]|0;if(f>>>0>b>>>0){f=c[d>>2]|0;if(!f){f=5;break}else{g=d;d=f}}else{if(f>>>0>=b>>>0){f=9;break}g=d+4|0;f=c[g>>2]|0;if(!f){f=8;break}else d=f}}if((f|0)==5){h=d;g=d;break}else if((f|0)==8){h=d;break}else if((f|0)==9){h=d;break}}else{h=f;g=f}while(0);d=c[g>>2]|0;if(!d){d=j0a(28)|0;c[d+16>>2]=b;c[d+20>>2]=0;c[d+24>>2]=0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=h;c[g>>2]=d;f=c[c[i>>2]>>2]|0;if(!f)f=d;else{c[i>>2]=f;f=c[g>>2]|0}fp(c[a+56>>2]|0,f);i=a+60|0;c[i>>2]=(c[i>>2]|0)+1}i=d+20|0;c[i>>2]=(c[i>>2]|0)+1;i=d+24|0;c[i>>2]=(c[i>>2]|0)+e;switch(b|0){case 9:case 2:case 0:break;case 1:{e=(e|0)/2|0;break}case 3:{e=e+-1|0;break}case 4:{e=(e|0)/3|0;break}case 6:case 5:{e=e+-2|0;break}case 7:{e=(e|0)/4|0;break}case 8:{e=((e|0)/2|0)+-1|0;break}default:e=0}i=a+68|0;f=a+72|0;d=c[f>>2]|0;do if(d){g=a+72|0;while(1){f=c[d+16>>2]|0;if(f>>>0>b>>>0){f=c[d>>2]|0;if(!f){f=28;break}else{g=d;d=f}}else{if(f>>>0>=b>>>0){f=32;break}g=d+4|0;f=c[g>>2]|0;if(!f){f=31;break}else d=f}}if((f|0)==28){h=d;g=d;break}else if((f|0)==31){h=d;break}else if((f|0)==32){h=d;break}}else{h=f;g=f}while(0);d=c[g>>2]|0;if(d|0){a=d;a=a+20|0;b=c[a>>2]|0;b=b+e|0;c[a>>2]=b;return}f=j0a(24)|0;c[f+16>>2]=b;c[f+20>>2]=0;c[f>>2]=0;c[f+4>>2]=0;c[f+8>>2]=h;c[g>>2]=f;d=c[c[i>>2]>>2]|0;if(!d)d=f;else{c[i>>2]=d;d=c[g>>2]|0}fp(c[a+72>>2]|0,d);a=a+76|0;c[a>>2]=(c[a>>2]|0)+1;a=f;a=a+20|0;b=c[a>>2]|0;b=b+e|0;c[a>>2]=b;return}function Lga(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;i=a+52|0;f=a+56|0;e=c[f>>2]|0;do if(e){g=a+56|0;while(1){f=c[e+16>>2]|0;if(f>>>0>b>>>0){f=c[e>>2]|0;if(!f){f=5;break}else{g=e;e=f}}else{if(f>>>0>=b>>>0){f=9;break}g=e+4|0;f=c[g>>2]|0;if(!f){f=8;break}else e=f}}if((f|0)==5){h=e;g=e;break}else if((f|0)==8){h=e;break}else if((f|0)==9){h=e;break}}else{h=f;g=f}while(0);e=c[g>>2]|0;if(!e){e=j0a(28)|0;c[e+16>>2]=b;c[e+20>>2]=0;c[e+24>>2]=0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=h;c[g>>2]=e;f=c[c[i>>2]>>2]|0;if(!f)f=e;else{c[i>>2]=f;f=c[g>>2]|0}fp(c[a+56>>2]|0,f);i=a+60|0;c[i>>2]=(c[i>>2]|0)+1}i=e+20|0;c[i>>2]=(c[i>>2]|0)+1;i=e+24|0;c[i>>2]=(c[i>>2]|0)+d;switch(b|0){case 9:case 2:case 0:break;case 1:{d=(d|0)/2|0;break}case 3:{d=d+-1|0;break}case 4:{d=(d|0)/3|0;break}case 6:case 5:{d=d+-2|0;break}case 7:{d=(d|0)/4|0;break}case 8:{d=((d|0)/2|0)+-1|0;break}default:d=0}i=a+68|0;f=a+72|0;e=c[f>>2]|0;do if(e){g=a+72|0;while(1){f=c[e+16>>2]|0;if(f>>>0>b>>>0){f=c[e>>2]|0;if(!f){f=28;break}else{g=e;e=f}}else{if(f>>>0>=b>>>0){f=32;break}g=e+4|0;f=c[g>>2]|0;if(!f){f=31;break}else e=f}}if((f|0)==28){h=e;g=e;break}else if((f|0)==31){h=e;break}else if((f|0)==32){h=e;break}}else{h=f;g=f}while(0);e=c[g>>2]|0;if(e|0){a=e;a=a+20|0;b=c[a>>2]|0;b=b+d|0;c[a>>2]=b;return}f=j0a(24)|0;c[f+16>>2]=b;c[f+20>>2]=0;c[f>>2]=0;c[f+4>>2]=0;c[f+8>>2]=h;c[g>>2]=f;e=c[c[i>>2]>>2]|0;if(!e)e=f;else{c[i>>2]=e;e=c[g>>2]|0}fp(c[a+72>>2]|0,e);a=a+76|0;c[a>>2]=(c[a>>2]|0)+1;a=f;a=a+20|0;b=c[a>>2]|0;b=b+d|0;c[a>>2]=b;return}function Mga(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;i=a+52|0;f=a+56|0;e=c[f>>2]|0;do if(e){g=a+56|0;while(1){f=c[e+16>>2]|0;if(f>>>0>b>>>0){f=c[e>>2]|0;if(!f){f=5;break}else{g=e;e=f}}else{if(f>>>0>=b>>>0){f=9;break}g=e+4|0;f=c[g>>2]|0;if(!f){f=8;break}else e=f}}if((f|0)==5){h=e;g=e;break}else if((f|0)==8){h=e;break}else if((f|0)==9){h=e;break}}else{h=f;g=f}while(0);e=c[g>>2]|0;if(!e){e=j0a(28)|0;c[e+16>>2]=b;c[e+20>>2]=0;c[e+24>>2]=0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=h;c[g>>2]=e;f=c[c[i>>2]>>2]|0;if(!f)f=e;else{c[i>>2]=f;f=c[g>>2]|0}fp(c[a+56>>2]|0,f);i=a+60|0;c[i>>2]=(c[i>>2]|0)+1}i=e+20|0;c[i>>2]=(c[i>>2]|0)+1;i=e+24|0;c[i>>2]=(c[i>>2]|0)+d;switch(b|0){case 9:case 2:case 0:break;case 1:{d=(d|0)/2|0;break}case 3:{d=d+-1|0;break}case 4:{d=(d|0)/3|0;break}case 6:case 5:{d=d+-2|0;break}case 7:{d=(d|0)/4|0;break}case 8:{d=((d|0)/2|0)+-1|0;break}default:d=0}i=a+68|0;f=a+72|0;e=c[f>>2]|0;do if(e){g=a+72|0;while(1){f=c[e+16>>2]|0;if(f>>>0>b>>>0){f=c[e>>2]|0;if(!f){f=28;break}else{g=e;e=f}}else{if(f>>>0>=b>>>0){f=32;break}g=e+4|0;f=c[g>>2]|0;if(!f){f=31;break}else e=f}}if((f|0)==28){h=e;g=e;break}else if((f|0)==31){h=e;break}else if((f|0)==32){h=e;break}}else{h=f;g=f}while(0);e=c[g>>2]|0;if(e|0){a=e;a=a+20|0;b=c[a>>2]|0;b=b+d|0;c[a>>2]=b;return}f=j0a(24)|0;c[f+16>>2]=b;c[f+20>>2]=0;c[f>>2]=0;c[f+4>>2]=0;c[f+8>>2]=h;c[g>>2]=f;e=c[c[i>>2]>>2]|0;if(!e)e=f;else{c[i>>2]=e;e=c[g>>2]|0}fp(c[a+72>>2]|0,e);a=a+76|0;c[a>>2]=(c[a>>2]|0)+1;a=f;a=a+20|0;b=c[a>>2]|0;b=b+d|0;c[a>>2]=b;return}function Nga(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;i=a+52|0;f=a+56|0;e=c[f>>2]|0;do if(e){g=a+56|0;while(1){f=c[e+16>>2]|0;if(f>>>0>b>>>0){f=c[e>>2]|0;if(!f){f=5;break}else{g=e;e=f}}else{if(f>>>0>=b>>>0){f=9;break}g=e+4|0;f=c[g>>2]|0;if(!f){f=8;break}else e=f}}if((f|0)==5){h=e;g=e;break}else if((f|0)==8){h=e;break}else if((f|0)==9){h=e;break}}else{h=f;g=f}while(0);e=c[g>>2]|0;if(!e){e=j0a(28)|0;c[e+16>>2]=b;c[e+20>>2]=0;c[e+24>>2]=0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=h;c[g>>2]=e;f=c[c[i>>2]>>2]|0;if(!f)f=e;else{c[i>>2]=f;f=c[g>>2]|0}fp(c[a+56>>2]|0,f);i=a+60|0;c[i>>2]=(c[i>>2]|0)+1}i=e+20|0;c[i>>2]=(c[i>>2]|0)+1;i=e+24|0;c[i>>2]=(c[i>>2]|0)+d;switch(b|0){case 9:case 2:case 0:break;case 1:{d=(d|0)/2|0;break}case 3:{d=d+-1|0;break}case 4:{d=(d|0)/3|0;break}case 6:case 5:{d=d+-2|0;break}case 7:{d=(d|0)/4|0;break}case 8:{d=((d|0)/2|0)+-1|0;break}default:d=0}i=a+68|0;f=a+72|0;e=c[f>>2]|0;do if(e){g=a+72|0;while(1){f=c[e+16>>2]|0;if(f>>>0>b>>>0){f=c[e>>2]|0;if(!f){f=28;break}else{g=e;e=f}}else{if(f>>>0>=b>>>0){f=32;break}g=e+4|0;f=c[g>>2]|0;if(!f){f=31;break}else e=f}}if((f|0)==28){h=e;g=e;break}else if((f|0)==31){h=e;break}else if((f|0)==32){h=e;break}}else{h=f;g=f}while(0);e=c[g>>2]|0;if(e|0){a=e;a=a+20|0;b=c[a>>2]|0;b=b+d|0;c[a>>2]=b;return}f=j0a(24)|0;c[f+16>>2]=b;c[f+20>>2]=0;c[f>>2]=0;c[f+4>>2]=0;c[f+8>>2]=h;c[g>>2]=f;e=c[c[i>>2]>>2]|0;if(!e)e=f;else{c[i>>2]=e;e=c[g>>2]|0}fp(c[a+72>>2]|0,e);a=a+76|0;c[a>>2]=(c[a>>2]|0)+1;a=f;a=a+20|0;b=c[a>>2]|0;b=b+d|0;c[a>>2]=b;return}function Oga(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;c[a+64>>2]=b;h=a+52|0;e=a+56|0;d=c[e>>2]|0;do if(d){f=a+56|0;while(1){e=c[d+16>>2]|0;if(e>>>0>b>>>0){e=c[d>>2]|0;if(!e){e=5;break}else{f=d;d=e}}else{if(e>>>0>=b>>>0){e=9;break}f=d+4|0;e=c[f>>2]|0;if(!e){e=8;break}else d=e}}if((e|0)==5){g=d;f=d;break}else if((e|0)==8){g=d;break}else if((e|0)==9){g=d;break}}else{g=e;f=e}while(0);d=c[f>>2]|0;if(d|0){h=d;h=h+20|0;b=c[h>>2]|0;b=b+1|0;c[h>>2]=b;a=a+84|0;c[a>>2]=0;return}e=j0a(28)|0;c[e+16>>2]=b;c[e+20>>2]=0;c[e+24>>2]=0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=g;c[f>>2]=e;d=c[c[h>>2]>>2]|0;if(!d)d=e;else{c[h>>2]=d;d=c[f>>2]|0}fp(c[a+56>>2]|0,d);h=a+60|0;c[h>>2]=(c[h>>2]|0)+1;h=e;h=h+20|0;b=c[h>>2]|0;b=b+1|0;c[h>>2]=b;a=a+84|0;c[a>>2]=0;return}function Pga(a,b,d,e){a=a|0;b=+b;d=+d;e=+e;var f=0,g=0,h=0,i=0,j=0,k=0;k=a+52|0;j=a+64|0;f=a+56|0;g=c[f>>2]|0;do if(g){i=c[j>>2]|0;h=a+56|0;f=g;while(1){g=c[f+16>>2]|0;if(i>>>0<g>>>0){g=c[f>>2]|0;if(!g){g=5;break}else{h=f;f=g}}else{if(g>>>0>=i>>>0){g=9;break}h=f+4|0;g=c[h>>2]|0;if(!g){g=8;break}else f=g}}if((g|0)==5){i=f;h=f;break}else if((g|0)==8){i=f;break}else if((g|0)==9){i=f;break}}else{i=f;h=f}while(0);f=c[h>>2]|0;if(f|0){k=f;k=k+24|0;j=c[k>>2]|0;j=j+1|0;c[k>>2]=j;a=a+84|0;k=c[a>>2]|0;k=k+1|0;c[a>>2]=k;return}g=j0a(28)|0;c[g+16>>2]=c[j>>2];c[g+20>>2]=0;c[g+24>>2]=0;c[g>>2]=0;c[g+4>>2]=0;c[g+8>>2]=i;c[h>>2]=g;f=c[c[k>>2]>>2]|0;if(!f)f=g;else{c[k>>2]=f;f=c[h>>2]|0}fp(c[a+56>>2]|0,f);k=a+60|0;c[k>>2]=(c[k>>2]|0)+1;k=g;k=k+24|0;j=c[k>>2]|0;j=j+1|0;c[k>>2]=j;a=a+84|0;k=c[a>>2]|0;k=k+1|0;c[a>>2]=k;return}function Qga(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=a+52|0;g=a+64|0;b=a+56|0;d=c[b>>2]|0;do if(d){f=c[g>>2]|0;e=a+56|0;b=d;while(1){d=c[b+16>>2]|0;if(f>>>0<d>>>0){d=c[b>>2]|0;if(!d){d=5;break}else{e=b;b=d}}else{if(d>>>0>=f>>>0){d=9;break}e=b+4|0;d=c[e>>2]|0;if(!d){d=8;break}else b=d}}if((d|0)==5){f=b;e=b;break}else if((d|0)==8){f=b;break}else if((d|0)==9){f=b;break}}else{f=b;e=b}while(0);b=c[e>>2]|0;if(b|0){h=b;h=h+24|0;g=c[h>>2]|0;g=g+1|0;c[h>>2]=g;a=a+84|0;h=c[a>>2]|0;h=h+1|0;c[a>>2]=h;return}d=j0a(28)|0;c[d+16>>2]=c[g>>2];c[d+20>>2]=0;c[d+24>>2]=0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=f;c[e>>2]=d;b=c[c[h>>2]>>2]|0;if(!b)b=d;else{c[h>>2]=b;b=c[e>>2]|0}fp(c[a+56>>2]|0,b);h=a+60|0;c[h>>2]=(c[h>>2]|0)+1;h=d;h=h+24|0;g=c[h>>2]|0;g=g+1|0;c[h>>2]=g;a=a+84|0;h=c[a>>2]|0;h=h+1|0;c[a>>2]=h;return}function Rga(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=a+52|0;g=a+64|0;b=a+56|0;d=c[b>>2]|0;do if(d){f=c[g>>2]|0;e=a+56|0;b=d;while(1){d=c[b+16>>2]|0;if(f>>>0<d>>>0){d=c[b>>2]|0;if(!d){d=5;break}else{e=b;b=d}}else{if(d>>>0>=f>>>0){d=9;break}e=b+4|0;d=c[e>>2]|0;if(!d){d=8;break}else b=d}}if((d|0)==5){f=b;e=b;break}else if((d|0)==8){f=b;break}else if((d|0)==9){f=b;break}}else{f=b;e=b}while(0);b=c[e>>2]|0;if(b|0){h=b;h=h+24|0;g=c[h>>2]|0;g=g+1|0;c[h>>2]=g;a=a+84|0;h=c[a>>2]|0;h=h+1|0;c[a>>2]=h;return}d=j0a(28)|0;c[d+16>>2]=c[g>>2];c[d+20>>2]=0;c[d+24>>2]=0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=f;c[e>>2]=d;b=c[c[h>>2]>>2]|0;if(!b)b=d;else{c[h>>2]=b;b=c[e>>2]|0}fp(c[a+56>>2]|0,b);h=a+60|0;c[h>>2]=(c[h>>2]|0)+1;h=d;h=h+24|0;g=c[h>>2]|0;g=g+1|0;c[h>>2]=g;a=a+84|0;h=c[a>>2]|0;h=h+1|0;c[a>>2]=h;return}function Sga(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=a+52|0;g=a+64|0;b=a+56|0;d=c[b>>2]|0;do if(d){f=c[g>>2]|0;e=a+56|0;b=d;while(1){d=c[b+16>>2]|0;if(f>>>0<d>>>0){d=c[b>>2]|0;if(!d){d=5;break}else{e=b;b=d}}else{if(d>>>0>=f>>>0){d=9;break}e=b+4|0;d=c[e>>2]|0;if(!d){d=8;break}else b=d}}if((d|0)==5){f=b;e=b;break}else if((d|0)==8){f=b;break}else if((d|0)==9){f=b;break}}else{f=b;e=b}while(0);b=c[e>>2]|0;if(b|0){h=b;h=h+24|0;g=c[h>>2]|0;g=g+1|0;c[h>>2]=g;a=a+84|0;h=c[a>>2]|0;h=h+1|0;c[a>>2]=h;return}d=j0a(28)|0;c[d+16>>2]=c[g>>2];c[d+20>>2]=0;c[d+24>>2]=0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=f;c[e>>2]=d;b=c[c[h>>2]>>2]|0;if(!b)b=d;else{c[h>>2]=b;b=c[e>>2]|0}fp(c[a+56>>2]|0,b);h=a+60|0;c[h>>2]=(c[h>>2]|0)+1;h=d;h=h+24|0;g=c[h>>2]|0;g=g+1|0;c[h>>2]=g;a=a+84|0;h=c[a>>2]|0;h=h+1|0;c[a>>2]=h;return}function Tga(a,b,d){a=a|0;b=+b;d=+d;var e=0,f=0,g=0,h=0,i=0,j=0;j=a+52|0;i=a+64|0;e=a+56|0;f=c[e>>2]|0;do if(f){h=c[i>>2]|0;g=a+56|0;e=f;while(1){f=c[e+16>>2]|0;if(h>>>0<f>>>0){f=c[e>>2]|0;if(!f){f=5;break}else{g=e;e=f}}else{if(f>>>0>=h>>>0){f=9;break}g=e+4|0;f=c[g>>2]|0;if(!f){f=8;break}else e=f}}if((f|0)==5){h=e;g=e;break}else if((f|0)==8){h=e;break}else if((f|0)==9){h=e;break}}else{h=e;g=e}while(0);e=c[g>>2]|0;if(e|0){j=e;j=j+24|0;i=c[j>>2]|0;i=i+1|0;c[j>>2]=i;a=a+84|0;j=c[a>>2]|0;j=j+1|0;c[a>>2]=j;return}f=j0a(28)|0;c[f+16>>2]=c[i>>2];c[f+20>>2]=0;c[f+24>>2]=0;c[f>>2]=0;c[f+4>>2]=0;c[f+8>>2]=h;c[g>>2]=f;e=c[c[j>>2]>>2]|0;if(!e)e=f;else{c[j>>2]=e;e=c[g>>2]|0}fp(c[a+56>>2]|0,e);j=a+60|0;c[j>>2]=(c[j>>2]|0)+1;j=f;j=j+24|0;i=c[j>>2]|0;i=i+1|0;c[j>>2]=i;a=a+84|0;j=c[a>>2]|0;j=j+1|0;c[a>>2]=j;return}function Uga(a,b,d,e,f){a=a|0;b=+b;d=+d;e=+e;f=+f;var g=0,h=0,i=0,j=0,k=0,l=0;l=a+52|0;k=a+64|0;g=a+56|0;h=c[g>>2]|0;do if(h){j=c[k>>2]|0;i=a+56|0;g=h;while(1){h=c[g+16>>2]|0;if(j>>>0<h>>>0){h=c[g>>2]|0;if(!h){h=5;break}else{i=g;g=h}}else{if(h>>>0>=j>>>0){h=9;break}i=g+4|0;h=c[i>>2]|0;if(!h){h=8;break}else g=h}}if((h|0)==5){j=g;i=g;break}else if((h|0)==8){j=g;break}else if((h|0)==9){j=g;break}}else{j=g;i=g}while(0);g=c[i>>2]|0;if(g|0){l=g;l=l+24|0;k=c[l>>2]|0;k=k+1|0;c[l>>2]=k;a=a+84|0;l=c[a>>2]|0;l=l+1|0;c[a>>2]=l;return}h=j0a(28)|0;c[h+16>>2]=c[k>>2];c[h+20>>2]=0;c[h+24>>2]=0;c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=j;c[i>>2]=h;g=c[c[l>>2]>>2]|0;if(!g)g=h;else{c[l>>2]=g;g=c[i>>2]|0}fp(c[a+56>>2]|0,g);l=a+60|0;c[l>>2]=(c[l>>2]|0)+1;l=h;l=l+24|0;k=c[l>>2]|0;k=k+1|0;c[l>>2]=k;a=a+84|0;l=c[a>>2]|0;l=l+1|0;c[a>>2]=l;return}function Vga(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;i=c[a+64>>2]|0;j=a+84|0;b=c[j>>2]|0;switch(i|0){case 9:case 2:case 0:break;case 1:{b=(b|0)/2|0;break}case 3:{b=b+-1|0;break}case 4:{b=(b|0)/3|0;break}case 6:case 5:{b=b+-2|0;break}case 7:{b=(b|0)/4|0;break}case 8:{b=((b|0)/2|0)+-1|0;break}default:b=0}h=a+68|0;e=a+72|0;d=c[e>>2]|0;do if(d){f=a+72|0;while(1){e=c[d+16>>2]|0;if(i>>>0<e>>>0){e=c[d>>2]|0;if(!e){e=13;break}else{f=d;d=e}}else{if(e>>>0>=i>>>0){e=17;break}f=d+4|0;e=c[f>>2]|0;if(!e){e=16;break}else d=e}}if((e|0)==13){g=d;f=d;break}else if((e|0)==16){g=d;break}else if((e|0)==17){g=d;break}}else{g=e;f=e}while(0);d=c[f>>2]|0;if(d|0){i=d;i=i+20|0;h=c[i>>2]|0;h=h+b|0;c[i>>2]=h;i=c[j>>2]|0;j=a+48|0;a=c[j>>2]|0;a=a+i|0;c[j>>2]=a;return}e=j0a(24)|0;c[e+16>>2]=i;c[e+20>>2]=0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=g;c[f>>2]=e;d=c[c[h>>2]>>2]|0;if(!d)d=e;else{c[h>>2]=d;d=c[f>>2]|0}fp(c[a+72>>2]|0,d);i=a+76|0;c[i>>2]=(c[i>>2]|0)+1;i=e;i=i+20|0;h=c[i>>2]|0;h=h+b|0;c[i>>2]=h;i=c[j>>2]|0;j=a+48|0;a=c[j>>2]|0;a=a+i|0;c[j>>2]=a;return}function Wga(a,b){a=a|0;b=b|0;if(!b)return;else{Wga(a,c[b>>2]|0);Wga(a,c[b+4>>2]|0);l0a(b);return}}function Xga(a){a=a|0;oha(a,93860);Pr(a+376|0);return}function Yga(a){a=a|0;oha(a,93860);Pr(a+376|0);l0a(a);return}function Zga(a){a=a|0;return 160686}function _ga(a){a=a|0;return 168036}function $ga(a){a=a|0;var b=0,d=0,e=0,f=0;b=a+92|0;d=a+96|0;e=a+56|0;f=e+36|0;do{c[e>>2]=0;e=e+4|0}while((e|0)<(f|0));Qw(b,c[d>>2]|0);c[a+100>>2]=0;c[b>>2]=d;c[d>>2]=0;b=a+104|0;d=a+108|0;Qw(b,c[d>>2]|0);c[a+112>>2]=0;c[b>>2]=d;c[d>>2]=0;d=a+116|0;b=a+120|0;Qw(d,c[b>>2]|0);c[a+124>>2]=0;c[d>>2]=b;c[b>>2]=0;b=a+128|0;d=a+132|0;Qw(b,c[d>>2]|0);c[a+136>>2]=0;c[b>>2]=d;c[d>>2]=0;d=a+140|0;b=a+144|0;Qw(d,c[b>>2]|0);c[a+148>>2]=0;c[d>>2]=b;c[b>>2]=0;b=a+152|0;d=a+156|0;oea(b,c[d>>2]|0);c[a+160>>2]=0;c[b>>2]=d;c[d>>2]=0;d=a+164|0;b=a+168|0;oea(d,c[b>>2]|0);c[a+172>>2]=0;c[d>>2]=b;c[b>>2]=0;b=a+176|0;d=a+180|0;oea(b,c[d>>2]|0);c[a+184>>2]=0;c[b>>2]=d;c[d>>2]=0;d=a+188|0;b=a+192|0;PT(d,c[b>>2]|0);c[a+196>>2]=0;c[d>>2]=b;c[b>>2]=0;b=a+252|0;d=a+256|0;e=a+204|0;f=e+48|0;do{c[e>>2]=0;e=e+4|0}while((e|0)<(f|0));Wga(b,c[d>>2]|0);c[a+260>>2]=0;c[b>>2]=d;c[d>>2]=0;c[a+264>>2]=0;d=a+268|0;b=a+272|0;aC(d,c[b>>2]|0);c[a+276>>2]=0;c[d>>2]=b;c[b>>2]=0;c[a+280>>2]=0;c[a+284>>2]=0;b=a+340|0;d=a+344|0;e=a+292|0;f=e+48|0;do{c[e>>2]=0;e=e+4|0}while((e|0)<(f|0));Wga(b,c[d>>2]|0);c[a+348>>2]=0;c[b>>2]=d;c[d>>2]=0;c[a+352>>2]=0;e=a+356|0;f=a+360|0;aC(e,c[f>>2]|0);c[a+364>>2]=0;c[e>>2]=f;c[f>>2]=0;c[a+368>>2]=0;c[a+372>>2]=0;return}function aha(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;d=c[b+120>>2]|0;if(d|0)Jk[c[(c[a>>2]|0)+200>>2]&1023](a,d);i=a+76|0;c[i>>2]=(c[i>>2]|0)+1;Jk[c[(c[b>>2]|0)+284>>2]&1023](b,a+288|0);i=a+152|0;h=b;e=a+156|0;d=c[e>>2]|0;do if(d){f=a+156|0;while(1){e=c[d+16>>2]|0;if(e>>>0>b>>>0){e=c[d>>2]|0;if(!e){e=7;break}else{f=d;d=e}}else{if(e>>>0>=b>>>0){e=11;break}f=d+4|0;e=c[f>>2]|0;if(!e){e=10;break}else d=e}}if((e|0)==7){g=d;f=d;break}else if((e|0)==10){g=d;break}else if((e|0)==11){g=d;break}}else{g=e;f=e}while(0);if(!(c[f>>2]|0)){d=j0a(20)|0;c[d+16>>2]=h;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=g;c[f>>2]=d;e=c[c[i>>2]>>2]|0;if(e){c[i>>2]=e;d=c[f>>2]|0}fp(c[a+156>>2]|0,d);i=a+160|0;c[i>>2]=(c[i>>2]|0)+1}i=gk[c[(c[b>>2]|0)+164>>2]&1023](b)|0;if(!i)return;h=a+80|0;c[h>>2]=(c[h>>2]|0)+1;h=a+164|0;b=i;e=a+168|0;d=c[e>>2]|0;do if(d){f=a+168|0;while(1){e=c[d+16>>2]|0;if(i>>>0<e>>>0){e=c[d>>2]|0;if(!e){e=23;break}else{f=d;d=e}}else{if(e>>>0>=i>>>0){e=27;break}f=d+4|0;e=c[f>>2]|0;if(!e){e=26;break}else d=e}}if((e|0)==23){g=d;f=d;break}else if((e|0)==26){g=d;break}else if((e|0)==27){g=d;break}}else{g=e;f=e}while(0);if(!(c[f>>2]|0)){d=j0a(20)|0;c[d+16>>2]=b;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=g;c[f>>2]=d;e=c[c[h>>2]>>2]|0;if(e){c[h>>2]=e;d=c[f>>2]|0}fp(c[a+168>>2]|0,d);h=a+172|0;c[h>>2]=(c[h>>2]|0)+1}h=a+84|0;c[h>>2]=(c[h>>2]|0)+1;h=a+176|0;e=a+180|0;d=c[e>>2]|0;do if(d){f=a+180|0;while(1){e=c[d+16>>2]|0;if(i>>>0<e>>>0){e=c[d>>2]|0;if(!e){e=38;break}else{f=d;d=e}}else{if(e>>>0>=i>>>0){e=42;break}f=d+4|0;e=c[f>>2]|0;if(!e){e=41;break}else d=e}}if((e|0)==38){g=d;f=d;break}else if((e|0)==41){g=d;break}else if((e|0)==42){g=d;break}}else{g=e;f=e}while(0);if(c[f>>2]|0)return;d=j0a(20)|0;c[d+16>>2]=b;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=g;c[f>>2]=d;e=c[c[h>>2]>>2]|0;if(e){c[h>>2]=e;d=c[f>>2]|0}fp(c[a+180>>2]|0,d);a=a+184|0;c[a>>2]=(c[a>>2]|0)+1;return}function bha(a,b){a=a|0;b=b|0;var d=0;d=c[b+120>>2]|0;if(d|0)Jk[c[(c[a>>2]|0)+200>>2]&1023](a,d);switch(c[a+16>>2]|0){case 1:{Jk[c[(c[b>>2]|0)+216>>2]&1023](b,a);return}case 0:return;default:{Jk[c[(c[b>>2]|0)+220>>2]&1023](b,a);return}}}function cha(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;d=c[b+120>>2]|0;if(d|0)Jk[c[(c[a>>2]|0)+200>>2]&1023](a,d);i=a+72|0;c[i>>2]=(c[i>>2]|0)+1;i=a+140|0;h=b;e=a+144|0;d=c[e>>2]|0;do if(d){f=a+144|0;while(1){e=c[d+16>>2]|0;if(b>>>0<e>>>0){e=c[d>>2]|0;if(!e){e=7;break}else{f=d;d=e}}else{if(e>>>0>=b>>>0){e=11;break}f=d+4|0;e=c[f>>2]|0;if(!e){e=10;break}else d=e}}if((e|0)==7){g=d;f=d;break}else if((e|0)==10){g=d;break}else if((e|0)==11){g=d;break}}else{g=e;f=e}while(0);if(!(c[f>>2]|0)){d=j0a(20)|0;c[d+16>>2]=h;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=g;c[f>>2]=d;e=c[c[i>>2]>>2]|0;if(e){c[i>>2]=e;d=c[f>>2]|0}fp(c[a+144>>2]|0,d);i=a+148|0;c[i>>2]=(c[i>>2]|0)+1}switch(c[a+16>>2]|0){case 1:{Jk[c[(c[b>>2]|0)+216>>2]&1023](b,a);return}case 0:return;default:{Jk[c[(c[b>>2]|0)+220>>2]&1023](b,a);return}}}function dha(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;d=c[b+120>>2]|0;if(d|0)Jk[c[(c[a>>2]|0)+200>>2]&1023](a,d);i=a+56|0;c[i>>2]=(c[i>>2]|0)+1;i=a+92|0;h=b;e=a+96|0;d=c[e>>2]|0;do if(d){f=a+96|0;while(1){e=c[d+16>>2]|0;if(b>>>0<e>>>0){e=c[d>>2]|0;if(!e){e=7;break}else{f=d;d=e}}else{if(e>>>0>=b>>>0){e=11;break}f=d+4|0;e=c[f>>2]|0;if(!e){e=10;break}else d=e}}if((e|0)==7){g=d;f=d;break}else if((e|0)==10){g=d;break}else if((e|0)==11){g=d;break}}else{g=e;f=e}while(0);if(!(c[f>>2]|0)){d=j0a(20)|0;c[d+16>>2]=h;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=g;c[f>>2]=d;e=c[c[i>>2]>>2]|0;if(e){c[i>>2]=e;d=c[f>>2]|0}fp(c[a+96>>2]|0,d);i=a+100|0;c[i>>2]=(c[i>>2]|0)+1}switch(c[a+16>>2]|0){case 1:{Jk[c[(c[b>>2]|0)+216>>2]&1023](b,a);return}case 0:return;default:{Jk[c[(c[b>>2]|0)+220>>2]&1023](b,a);return}}}function eha(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;d=c[b+120>>2]|0;if(d|0)Jk[c[(c[a>>2]|0)+200>>2]&1023](a,d);i=a+68|0;c[i>>2]=(c[i>>2]|0)+1;i=a+104|0;h=b;e=a+108|0;d=c[e>>2]|0;do if(d){f=a+108|0;while(1){e=c[d+16>>2]|0;if(b>>>0<e>>>0){e=c[d>>2]|0;if(!e){e=7;break}else{f=d;d=e}}else{if(e>>>0>=b>>>0){e=11;break}f=d+4|0;e=c[f>>2]|0;if(!e){e=10;break}else d=e}}if((e|0)==7){g=d;f=d;break}else if((e|0)==10){g=d;break}else if((e|0)==11){g=d;break}}else{g=e;f=e}while(0);if(!(c[f>>2]|0)){d=j0a(20)|0;c[d+16>>2]=h;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=g;c[f>>2]=d;e=c[c[i>>2]>>2]|0;if(e){c[i>>2]=e;d=c[f>>2]|0}fp(c[a+108>>2]|0,d);i=a+112|0;c[i>>2]=(c[i>>2]|0)+1}switch(c[a+16>>2]|0){case 1:{Jk[c[(c[b>>2]|0)+216>>2]&1023](b,a);return}case 0:return;default:{Jk[c[(c[b>>2]|0)+220>>2]&1023](b,a);return}}}function fha(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;d=c[b+120>>2]|0;if(d|0)Jk[c[(c[a>>2]|0)+200>>2]&1023](a,d);i=a+60|0;c[i>>2]=(c[i>>2]|0)+1;i=a+128|0;h=b;e=a+132|0;d=c[e>>2]|0;do if(d){f=a+132|0;while(1){e=c[d+16>>2]|0;if(b>>>0<e>>>0){e=c[d>>2]|0;if(!e){e=7;break}else{f=d;d=e}}else{if(e>>>0>=b>>>0){e=11;break}f=d+4|0;e=c[f>>2]|0;if(!e){e=10;break}else d=e}}if((e|0)==7){g=d;f=d;break}else if((e|0)==10){g=d;break}else if((e|0)==11){g=d;break}}else{g=e;f=e}while(0);if(!(c[f>>2]|0)){d=j0a(20)|0;c[d+16>>2]=h;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=g;c[f>>2]=d;e=c[c[i>>2]>>2]|0;if(e){c[i>>2]=e;d=c[f>>2]|0}fp(c[a+132>>2]|0,d);i=a+136|0;c[i>>2]=(c[i>>2]|0)+1}switch(c[a+16>>2]|0){case 1:{Jk[c[(c[b>>2]|0)+216>>2]&1023](b,a);return}case 0:return;default:{Jk[c[(c[b>>2]|0)+220>>2]&1023](b,a);return}}}function gha(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;d=c[b+120>>2]|0;if(d|0)Jk[c[(c[a>>2]|0)+200>>2]&1023](a,d);i=a+64|0;c[i>>2]=(c[i>>2]|0)+1;i=a+116|0;h=b;e=a+120|0;d=c[e>>2]|0;do if(d){f=a+120|0;while(1){e=c[d+16>>2]|0;if(b>>>0<e>>>0){e=c[d>>2]|0;if(!e){e=7;break}else{f=d;d=e}}else{if(e>>>0>=b>>>0){e=11;break}f=d+4|0;e=c[f>>2]|0;if(!e){e=10;break}else d=e}}if((e|0)==7){g=d;f=d;break}else if((e|0)==10){g=d;break}else if((e|0)==11){g=d;break}}else{g=e;f=e}while(0);if(!(c[f>>2]|0)){d=j0a(20)|0;c[d+16>>2]=h;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=g;c[f>>2]=d;e=c[c[i>>2]>>2]|0;if(e){c[i>>2]=e;d=c[f>>2]|0}fp(c[a+120>>2]|0,d);i=a+124|0;c[i>>2]=(c[i>>2]|0)+1}switch(c[a+16>>2]|0){case 1:{Jk[c[(c[b>>2]|0)+216>>2]&1023](b,a);return}case 0:return;default:{Jk[c[(c[b>>2]|0)+220>>2]&1023](b,a);return}}}function hha(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=a+88|0;c[h>>2]=(c[h>>2]|0)+1;h=a+188|0;g=b;e=a+192|0;d=c[e>>2]|0;do if(d){f=a+192|0;while(1){e=c[d+16>>2]|0;if(e>>>0>b>>>0){e=c[d>>2]|0;if(!e){e=5;break}else{f=d;d=e}}else{if(e>>>0>=b>>>0){e=9;break}f=d+4|0;e=c[f>>2]|0;if(!e){e=8;break}else d=e}}if((e|0)==5){b=d;f=d;break}else if((e|0)==8){b=d;break}else if((e|0)==9){b=d;break}}else{b=e;f=e}while(0);if(c[f>>2]|0)return;d=j0a(20)|0;c[d+16>>2]=g;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=b;c[f>>2]=d;e=c[c[h>>2]>>2]|0;if(e){c[h>>2]=e;d=c[f>>2]|0}fp(c[a+192>>2]|0,d);a=a+196|0;c[a>>2]=(c[a>>2]|0)+1;return}function iha(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;b=a+252|0;d=a+256|0;e=a+204|0;f=e+48|0;do{c[e>>2]=0;e=e+4|0}while((e|0)<(f|0));Wga(b,c[d>>2]|0);c[a+260>>2]=0;c[b>>2]=d;c[d>>2]=0;c[a+264>>2]=0;g=a+268|0;b=a+272|0;aC(g,c[b>>2]|0);c[a+276>>2]=0;c[g>>2]=b;c[b>>2]=0;c[a+280>>2]=0;c[a+284>>2]=0;b=c[a+152>>2]|0;g=a+156|0;if((b|0)==(g|0))return;f=a+200|0;e=b;while(1){b=c[e+16>>2]|0;Jk[c[(c[b>>2]|0)+284>>2]&1023](b,f);b=c[e+4>>2]|0;if(!b){d=e+8|0;b=c[d>>2]|0;if((c[b>>2]|0)!=(e|0))do{a=c[d>>2]|0;d=a+8|0;b=c[d>>2]|0}while((c[b>>2]|0)!=(a|0))}else while(1){d=c[b>>2]|0;if(!d)break;else b=d}if((b|0)==(g|0))break;else e=b}return}function jha(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0;p=l;l=l+16|0;o=p;d=c[a+268>>2]|0;h=a+272|0;if((d|0)==(h|0))n=0;else{e=0;while(1){g=(c[d+20>>2]|0)+e|0;e=c[d+4>>2]|0;if(!e){e=d+8|0;f=c[e>>2]|0;if((c[f>>2]|0)==(d|0))d=f;else do{n=c[e>>2]|0;e=n+8|0;d=c[e>>2]|0}while((c[d>>2]|0)!=(n|0))}else{d=e;while(1){e=c[d>>2]|0;if(!e)break;else d=e}}if((d|0)==(h|0)){n=g;break}else e=g}}d=c[a+356>>2]|0;h=a+360|0;if((d|0)==(h|0))m=0;else{e=0;while(1){g=(c[d+20>>2]|0)+e|0;e=c[d+4>>2]|0;if(!e){e=d+8|0;f=c[e>>2]|0;if((c[f>>2]|0)==(d|0))d=f;else do{m=c[e>>2]|0;e=m+8|0;d=c[e>>2]|0}while((c[d>>2]|0)!=(m|0))}else{d=e;while(1){e=c[d>>2]|0;if(!e)break;else d=e}}if((d|0)==(h|0)){m=g;break}else e=g}}d=c[a+188>>2]|0;i=a+192|0;if((d|0)==(i|0)){k=0;h=0;j=0}else{g=0;h=0;f=0;while(1){e=c[d+16>>2]|0;j=f+((c[e+24>>2]|0)==0&1)|0;if(c[e+120>>2]|0){g=g+((c[e+124>>2]|0)==10&1)|0;h=h+1|0}e=c[d+4>>2]|0;if(!e){e=d+8|0;f=c[e>>2]|0;if((c[f>>2]|0)==(d|0))d=f;else do{k=c[e>>2]|0;e=k+8|0;d=c[e>>2]|0}while((c[d>>2]|0)!=(k|0))}else{d=e;while(1){e=c[d>>2]|0;if(!e)break;else d=e}}if((d|0)==(i|0)){k=g;break}else f=j}}e=c[a+152>>2]|0;i=a+156|0;if((e|0)==(i|0))d=0;else{d=0;do{d=d+((c[(c[e+16>>2]|0)+24>>2]|0)==0&1)|0;f=c[e+4>>2]|0;if(!f){f=e+8|0;g=c[f>>2]|0;if((c[g>>2]|0)==(e|0))e=g;else do{g=c[f>>2]|0;f=g+8|0;e=c[f>>2]|0}while((c[e>>2]|0)!=(g|0))}else{e=f;while(1){f=c[e>>2]|0;if(!f)break;else e=f}}}while((e|0)!=(i|0))}c[b+(c[(c[b>>2]|0)+-12>>2]|0)+12>>2]=12;e=mr(b,168049,11)|0;c[e+(c[(c[e>>2]|0)+-12>>2]|0)+12>>2]=10;e=mr(e,168061,6)|0;c[e+(c[(c[e>>2]|0)+-12>>2]|0)+12>>2]=10;e=mr(e,168068,9)|0;f=e+(c[(c[e>>2]|0)+-12>>2]|0)|0;if(!(d|j)){BSa(o,f);i=cUa(o,230580)|0;i=kk[c[(c[i>>2]|0)+28>>2]&511](i,10)|0;dUa(o);VSa(e,i)|0;HSa(e)|0;c[b+(c[(c[b>>2]|0)+-12>>2]|0)+12>>2]=12;i=mr(b,168086,11)|0;c[i+(c[(c[i>>2]|0)+-12>>2]|0)+12>>2]=10;i=mr(i,168098,6)|0;c[i+(c[(c[i>>2]|0)+-12>>2]|0)+12>>2]=10;i=mr(i,168105,9)|0;BSa(o,i+(c[(c[i>>2]|0)+-12>>2]|0)|0);g=cUa(o,230580)|0;g=kk[c[(c[g>>2]|0)+28>>2]&511](g,10)|0;dUa(o);VSa(i,g)|0;HSa(i)|0}else{c[f+12>>2]=10;i=mr(e,168078,7)|0;BSa(o,i+(c[(c[i>>2]|0)+-12>>2]|0)|0);g=cUa(o,230580)|0;g=kk[c[(c[g>>2]|0)+28>>2]&511](g,10)|0;dUa(o);VSa(i,g)|0;HSa(i)|0;c[b+(c[(c[b>>2]|0)+-12>>2]|0)+12>>2]=12;i=mr(b,168086,11)|0;c[i+(c[(c[i>>2]|0)+-12>>2]|0)+12>>2]=10;i=mr(i,168098,6)|0;c[i+(c[(c[i>>2]|0)+-12>>2]|0)+12>>2]=10;i=mr(i,168105,9)|0;c[i+(c[(c[i>>2]|0)+-12>>2]|0)+12>>2]=10;i=mr(i,168105,9)|0;BSa(o,i+(c[(c[i>>2]|0)+-12>>2]|0)|0);g=cUa(o,230580)|0;g=kk[c[(c[g>>2]|0)+28>>2]&511](g,10)|0;dUa(o);VSa(i,g)|0;HSa(i)|0}c[b+(c[(c[b>>2]|0)+-12>>2]|0)+12>>2]=12;i=mr(b,168115,11)|0;c[i+(c[(c[i>>2]|0)+-12>>2]|0)+12>>2]=10;i=RSa(i,c[a+196>>2]|0)|0;c[i+(c[(c[i>>2]|0)+-12>>2]|0)+12>>2]=10;i=QSa(i,c[a+88>>2]|0)|0;c[i+(c[(c[i>>2]|0)+-12>>2]|0)+12>>2]=10;j=QSa(i,j)|0;BSa(o,j+(c[(c[j>>2]|0)+-12>>2]|0)|0);i=cUa(o,230580)|0;i=kk[c[(c[i>>2]|0)+28>>2]&511](i,10)|0;dUa(o);VSa(j,i)|0;HSa(j)|0;if(k|0){c[b+(c[(c[b>>2]|0)+-12>>2]|0)+12>>2]=12;j=mr(b,168127,11)|0;c[j+(c[(c[j>>2]|0)+-12>>2]|0)+12>>2]=10;j=QSa(j,k)|0;BSa(o,j+(c[(c[j>>2]|0)+-12>>2]|0)|0);i=cUa(o,230580)|0;i=kk[c[(c[i>>2]|0)+28>>2]&511](i,10)|0;dUa(o);VSa(j,i)|0;HSa(j)|0}if(h|0){c[b+(c[(c[b>>2]|0)+-12>>2]|0)+12>>2]=12;j=mr(b,168139,11)|0;c[j+(c[(c[j>>2]|0)+-12>>2]|0)+12>>2]=10;k=QSa(j,h-k|0)|0;BSa(o,k+(c[(c[k>>2]|0)+-12>>2]|0)|0);j=cUa(o,230580)|0;j=kk[c[(c[j>>2]|0)+28>>2]&511](j,10)|0;dUa(o);VSa(k,j)|0;HSa(k)|0}c[b+(c[(c[b>>2]|0)+-12>>2]|0)+12>>2]=12;k=mr(b,168151,11)|0;c[k+(c[(c[k>>2]|0)+-12>>2]|0)+12>>2]=10;k=RSa(k,c[a+100>>2]|0)|0;c[k+(c[(c[k>>2]|0)+-12>>2]|0)+12>>2]=10;k=QSa(k,c[a+56>>2]|0)|0;BSa(o,k+(c[(c[k>>2]|0)+-12>>2]|0)|0);j=cUa(o,230580)|0;j=kk[c[(c[j>>2]|0)+28>>2]&511](j,10)|0;dUa(o);VSa(k,j)|0;HSa(k)|0;c[b+(c[(c[b>>2]|0)+-12>>2]|0)+12>>2]=12;k=mr(b,168163,11)|0;c[k+(c[(c[k>>2]|0)+-12>>2]|0)+12>>2]=10;k=RSa(k,c[a+112>>2]|0)|0;c[k+(c[(c[k>>2]|0)+-12>>2]|0)+12>>2]=10;k=QSa(k,c[a+68>>2]|0)|0;BSa(o,k+(c[(c[k>>2]|0)+-12>>2]|0)|0);j=cUa(o,230580)|0;j=kk[c[(c[j>>2]|0)+28>>2]&511](j,10)|0;dUa(o);VSa(k,j)|0;HSa(k)|0;c[b+(c[(c[b>>2]|0)+-12>>2]|0)+12>>2]=12;k=mr(b,168175,11)|0;c[k+(c[(c[k>>2]|0)+-12>>2]|0)+12>>2]=10;k=RSa(k,c[a+124>>2]|0)|0;c[k+(c[(c[k>>2]|0)+-12>>2]|0)+12>>2]=10;k=QSa(k,c[a+64>>2]|0)|0;BSa(o,k+(c[(c[k>>2]|0)+-12>>2]|0)|0);j=cUa(o,230580)|0;j=kk[c[(c[j>>2]|0)+28>>2]&511](j,10)|0;dUa(o);VSa(k,j)|0;HSa(k)|0;c[b+(c[(c[b>>2]|0)+-12>>2]|0)+12>>2]=12;k=mr(b,168187,11)|0;c[k+(c[(c[k>>2]|0)+-12>>2]|0)+12>>2]=10;k=RSa(k,c[a+136>>2]|0)|0;c[k+(c[(c[k>>2]|0)+-12>>2]|0)+12>>2]=10;k=QSa(k,c[a+60>>2]|0)|0;BSa(o,k+(c[(c[k>>2]|0)+-12>>2]|0)|0);j=cUa(o,230580)|0;j=kk[c[(c[j>>2]|0)+28>>2]&511](j,10)|0;dUa(o);VSa(k,j)|0;HSa(k)|0;c[b+(c[(c[b>>2]|0)+-12>>2]|0)+12>>2]=12;k=mr(b,168199,11)|0;c[k+(c[(c[k>>2]|0)+-12>>2]|0)+12>>2]=10;k=RSa(k,c[a+148>>2]|0)|0;c[k+(c[(c[k>>2]|0)+-12>>2]|0)+12>>2]=10;k=QSa(k,c[a+72>>2]|0)|0;BSa(o,k+(c[(c[k>>2]|0)+-12>>2]|0)|0);j=cUa(o,230580)|0;j=kk[c[(c[j>>2]|0)+28>>2]&511](j,10)|0;dUa(o);VSa(k,j)|0;HSa(k)|0;c[b+(c[(c[b>>2]|0)+-12>>2]|0)+12>>2]=12;k=mr(b,168211,11)|0;c[k+(c[(c[k>>2]|0)+-12>>2]|0)+12>>2]=10;k=RSa(k,c[a+160>>2]|0)|0;c[k+(c[(c[k>>2]|0)+-12>>2]|0)+12>>2]=10;k=QSa(k,c[a+76>>2]|0)|0;c[k+(c[(c[k>>2]|0)+-12>>2]|0)+12>>2]=10;k=QSa(k,d)|0;BSa(o,k+(c[(c[k>>2]|0)+-12>>2]|0)|0);j=cUa(o,230580)|0;j=kk[c[(c[j>>2]|0)+28>>2]&511](j,10)|0;dUa(o);VSa(k,j)|0;HSa(k)|0;c[b+(c[(c[b>>2]|0)+-12>>2]|0)+12>>2]=12;k=mr(b,168223,11)|0;c[k+(c[(c[k>>2]|0)+-12>>2]|0)+12>>2]=10;k=RSa(k,c[a+172>>2]|0)|0;c[k+(c[(c[k>>2]|0)+-12>>2]|0)+12>>2]=10;k=QSa(k,c[a+80>>2]|0)|0;BSa(o,k+(c[(c[k>>2]|0)+-12>>2]|0)|0);j=cUa(o,230580)|0;j=kk[c[(c[j>>2]|0)+28>>2]&511](j,10)|0;dUa(o);VSa(k,j)|0;HSa(k)|0;c[b+(c[(c[b>>2]|0)+-12>>2]|0)+12>>2]=12;k=mr(b,168235,11)|0;c[k+(c[(c[k>>2]|0)+-12>>2]|0)+12>>2]=10;k=RSa(k,c[a+184>>2]|0)|0;c[k+(c[(c[k>>2]|0)+-12>>2]|0)+12>>2]=10;k=QSa(k,c[a+84>>2]|0)|0;BSa(o,k+(c[(c[k>>2]|0)+-12>>2]|0)|0);j=cUa(o,230580)|0;j=kk[c[(c[j>>2]|0)+28>>2]&511](j,10)|0;dUa(o);VSa(k,j)|0;HSa(k)|0;c[b+(c[(c[b>>2]|0)+-12>>2]|0)+12>>2]=12;k=mr(b,168247,11)|0;c[k+(c[(c[k>>2]|0)+-12>>2]|0)+12>>2]=10;k=QSa(k,c[a+248>>2]|0)|0;c[k+(c[(c[k>>2]|0)+-12>>2]|0)+12>>2]=10;a=QSa(k,c[a+336>>2]|0)|0;BSa(o,a+(c[(c[a>>2]|0)+-12>>2]|0)|0);k=cUa(o,230580)|0;k=kk[c[(c[k>>2]|0)+28>>2]&511](k,10)|0;dUa(o);VSa(a,k)|0;HSa(a)|0;c[b+(c[(c[b>>2]|0)+-12>>2]|0)+12>>2]=12;b=mr(b,168259,11)|0;c[b+(c[(c[b>>2]|0)+-12>>2]|0)+12>>2]=10;b=QSa(b,n)|0;c[b+(c[(c[b>>2]|0)+-12>>2]|0)+12>>2]=10;b=QSa(b,m)|0;BSa(o,b+(c[(c[b>>2]|0)+-12>>2]|0)|0);a=cUa(o,230580)|0;a=kk[c[(c[a>>2]|0)+28>>2]&511](a,10)|0;dUa(o);VSa(b,a)|0;HSa(b)|0;l=p;return}function kha(a){a=a|0;a=a+(c[(c[a>>2]|0)+-16>>2]|0)|0;oha(a,93860);Pr(a+376|0);return}function lha(a){a=a|0;a=a+(c[(c[a>>2]|0)+-16>>2]|0)|0;oha(a,93860);Pr(a+376|0);l0a(a);return}function mha(a){a=a|0;return 160686}function nha(a){a=a|0;return 168036}function oha(a,b){a=a|0;b=b|0;var d=0;d=c[b>>2]|0;c[a>>2]=d;c[a+(c[d+-12>>2]|0)>>2]=c[b+12>>2];c[a+288>>2]=93224;aC(a+356|0,c[a+360>>2]|0);Wga(a+340|0,c[a+344>>2]|0);c[a+200>>2]=93224;aC(a+268|0,c[a+272>>2]|0);Wga(a+252|0,c[a+256>>2]|0);PT(a+188|0,c[a+192>>2]|0);oea(a+176|0,c[a+180>>2]|0);oea(a+164|0,c[a+168>>2]|0);oea(a+152|0,c[a+156>>2]|0);Qw(a+140|0,c[a+144>>2]|0);Qw(a+128|0,c[a+132>>2]|0);Qw(a+116|0,c[a+120>>2]|0);Qw(a+104|0,c[a+108>>2]|0);Qw(a+92|0,c[a+96>>2]|0);Cy(a,b+4|0);return}function pha(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;f=l;l=l+16|0;b=f;c[a>>2]=93884;d=a+4|0;e=c[d>>2]|0;if(c[e+12>>2]|0){g=mr(USa(mr(229708,168296,14)|0,a)|0,168311,28)|0;BSa(b,g+(c[(c[g>>2]|0)+-12>>2]|0)|0);h=cUa(b,230580)|0;h=kk[c[(c[h>>2]|0)+28>>2]&511](h,10)|0;dUa(b);VSa(g,h)|0;HSa(g)|0;gk[c[(c[a>>2]|0)+8>>2]&1023](a)|0;c[b>>2]=0;Ri(c[(c[d>>2]|0)+52>>2]|0,b|0)|0}if(!e){c[d>>2]=0;l=f;return}Bk[c[(c[e>>2]|0)+4>>2]&2047](e);c[d>>2]=0;l=f;return}function qha(a){a=a|0;Di()}function rha(a){a=a|0;return 0}function sha(a){a=a|0;c[a>>2]=93912;a=c[a+4>>2]|0;Ti(a+52|0)|0;Ki(a+4|0)|0;if(!a)return;Bk[c[(c[a>>2]|0)+4>>2]&2047](a);return}function tha(a){a=a|0;var b=0;c[a>>2]=93912;b=c[a+4>>2]|0;Ti(b+52|0)|0;Ki(b+4|0)|0;if(!b){l0a(a);return}Bk[c[(c[b>>2]|0)+4>>2]&2047](b);l0a(a);return}function uha(a){a=a|0;a=c[a+4>>2]|0;c[a+84>>2]=0;c[a+88>>2]=0;return}function vha(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;f=c[b+4>>2]|0;if(d|0)c[f+80>>2]=d;g=f+52|0;B2a(g|0)|0;if(!(a[b+8>>0]|0)){D2a(g|0)|0;return}b=f+88|0;e=c[b>>2]|0;d=f+84|0;c[d>>2]=(c[d>>2]|0)+1;if((c[d>>2]|0)==(c[f+80>>2]|0)){c[d>>2]=0;c[b>>2]=1-e;A2a(f+4|0)|0;D2a(g|0)|0;return}if((c[b>>2]|0)!=(e|0)){D2a(g|0)|0;return}d=f+4|0;do{Ji(1078,g|0);Oi(d|0,g|0)|0;Ii(0)}while((c[b>>2]|0)==(e|0));D2a(g|0)|0;return}function wha(a){a=a|0;var b=0,d=0,e=0;b=c[a+4>>2]|0;a=b+52|0;B2a(a|0)|0;d=b+88|0;e=c[d>>2]|0;c[b+84>>2]=0;c[d>>2]=1-e;A2a(b+4|0)|0;D2a(a|0)|0;return}function xha(a){a=a|0;var b=0;a=c[a+4>>2]|0;b=a+52|0;B2a(b|0)|0;a=c[a+84>>2]|0;D2a(b|0)|0;return a|0}function yha(a){a=a|0;D2a(a|0)|0;return}function zha(a){a=a|0;var b=0,d=0,e=0;e=l;l=l+16|0;d=e;c[a>>2]=93944;a=c[a+4>>2]|0;b=Ki(a+4|0)|0;if(b|0){c[d>>2]=b;PQa(168387,d)|0}if(!a){l=e;return}Bk[c[(c[a>>2]|0)+4>>2]&2047](a);l=e;return}function Aha(a){a=a|0;var b=0,d=0,e=0,f=0;f=l;l=l+16|0;e=f;c[a>>2]=93944;b=c[a+4>>2]|0;d=Ki(b+4|0)|0;if(d|0){c[e>>2]=d;PQa(168387,e)|0}if(!b){l0a(a);l=f;return}Bk[c[(c[b>>2]|0)+4>>2]&2047](b);l0a(a);l=f;return}function Bha(a,b){a=a|0;b=b|0;a=c[a+4>>2]|0;b=(c[b+4>>2]|0)+4|0;Ji(1077,b|0);b=Oi(a+4|0,b|0)|0;Ii(0);return b|0}function Cha(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;e=l;l=l+16|0;i=e+8|0;f=e;a=c[a+4>>2]|0;b=c[b+4>>2]|0;h=(d>>>0)/1e3|0;Kh(i|0,0)|0;d=((c[i+4>>2]|0)*1e3|0)+((d-(h*1e3|0)|0)*1e6|0)|0;g=(d>>>0)/1e9|0;d=d-(N(g,1e9)|0)|0;c[f>>2]=(c[i>>2]|0)+h+g;c[f+4>>2]=d;d=b+4|0;Ji(1077,d|0);d=Ni(a+4|0,d|0,f|0)|0;Ii(0);l=e;return d|0}function Dha(a){a=a|0;return Mi((c[a+4>>2]|0)+4|0)|0}function Eha(a){a=a|0;return A2a((c[a+4>>2]|0)+4|0)|0}function Fha(a){a=a|0;Pr(a);return}function Gha(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;b=a+376|0;c[a+380>>2]=0;c[a+384>>2]=0;c[b>>2]=68320;d=a+388|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[a+400>>2]=2;c[a+404>>2]=0;IR(a,93864,2);c[a>>2]=93316;c[b>>2]=93696;c[a+96>>2]=0;c[a+100>>2]=0;b=a+96|0;d=a+92|0;i=a+56|0;j=i+36|0;do{c[i>>2]=0;i=i+4|0}while((i|0)<(j|0));c[d>>2]=b;c[a+108>>2]=0;c[a+112>>2]=0;c[a+104>>2]=a+108;c[a+120>>2]=0;c[a+124>>2]=0;c[a+116>>2]=a+120;c[a+132>>2]=0;c[a+136>>2]=0;c[a+128>>2]=a+132;c[a+144>>2]=0;c[a+148>>2]=0;c[a+140>>2]=a+144;c[a+156>>2]=0;c[a+160>>2]=0;c[a+152>>2]=a+156;c[a+168>>2]=0;c[a+172>>2]=0;c[a+164>>2]=a+168;c[a+180>>2]=0;c[a+184>>2]=0;c[a+176>>2]=a+180;c[a+192>>2]=0;c[a+196>>2]=0;c[a+188>>2]=a+192;c[a+200>>2]=93224;b=a+260|0;d=a+256|0;e=a+252|0;f=a+268|0;c[a+272>>2]=0;g=a+276|0;c[g>>2]=0;h=a+272|0;c[f>>2]=h;i=a+204|0;j=i+48|0;do{c[i>>2]=0;i=i+4|0}while((i|0)<(j|0));c[b>>2]=0;c[e>>2]=d;c[d>>2]=0;c[a+264>>2]=0;aC(f,0);c[g>>2]=0;c[f>>2]=h;c[h>>2]=0;c[a+280>>2]=0;c[a+284>>2]=0;c[a+288>>2]=93224;b=a+348|0;d=a+344|0;e=a+340|0;f=a+356|0;c[a+360>>2]=0;g=a+364|0;c[g>>2]=0;h=a+360|0;c[f>>2]=h;i=a+292|0;j=i+48|0;do{c[i>>2]=0;i=i+4|0}while((i|0)<(j|0));c[b>>2]=0;c[e>>2]=d;c[d>>2]=0;c[a+352>>2]=0;aC(f,0);c[g>>2]=0;c[f>>2]=h;c[h>>2]=0;c[a+368>>2]=0;c[a+372>>2]=0;return}function Hha(a){a=a|0;Cy(a,95236);Pr(a+64|0);return}function Iha(a){a=a|0;Cy(a,95236);Pr(a+64|0);l0a(a);return}function Jha(a){a=a|0;a=a+(c[(c[a>>2]|0)+-16>>2]|0)|0;Cy(a,95236);Pr(a+64|0);return}function Kha(a){a=a|0;a=a+(c[(c[a>>2]|0)+-16>>2]|0)|0;Cy(a,95236);Pr(a+64|0);l0a(a);return}function Lha(a){a=a|0;Cy(a,94672);Pr(a+64|0);return}function Mha(a){a=a|0;Cy(a,94672);Pr(a+64|0);l0a(a);return}function Nha(a,b){a=a|0;b=b|0;a=c[b+120>>2]|0;if(a|0)Bk[c[(c[a>>2]|0)+140>>2]&2047](a);Bk[c[(c[b>>2]|0)+140>>2]&2047](b);return}function Oha(a,b){a=a|0;b=b|0;var d=0;d=c[b+120>>2]|0;if(d|0)Bk[c[(c[d>>2]|0)+140>>2]&2047](d);switch(c[a+16>>2]|0){case 1:{Jk[c[(c[b>>2]|0)+216>>2]&1023](b,a);return}case 0:return;default:{Jk[c[(c[b>>2]|0)+220>>2]&1023](b,a);return}}}function Pha(a){a=a|0;a=a+(c[(c[a>>2]|0)+-16>>2]|0)|0;Cy(a,94672);Pr(a+64|0);return}function Qha(a){a=a|0;a=a+(c[(c[a>>2]|0)+-16>>2]|0)|0;Cy(a,94672);Pr(a+64|0);l0a(a);return}function Rha(){var b=0,d=0,e=0,f=0,h=0,i=0,j=0;h=l;l=l+32|0;d=h+12|0;e=h;g[56454]=1.0;g[56455]=0.0;g[56456]=0.0;g[56457]=0.0;g[56458]=1.0;g[56459]=0.0;g[56460]=0.0;g[56461]=0.0;g[56462]=1.0;kX()|0;b=j0a(32)|0;c[d>>2]=b;c[d+8>>2]=-2147483616;c[d+4>>2]=28;f=b;i=168569;j=f+28|0;do{a[f>>0]=a[i>>0]|0;f=f+1|0;i=i+1|0}while((f|0)<(j|0));a[b+28>>0]=0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;b=j0a(112)|0;c[e>>2]=b;c[e+8>>2]=-2147483536;c[e+4>>2]=107;f=b;i=168598;j=f+107|0;do{a[f>>0]=a[i>>0]|0;f=f+1|0;i=i+1|0}while((f|0)<(j|0));a[b+107>>0]=0;uQ(tQ()|0,2,d,e);if((a[e+11>>0]|0)<0)l0a(c[e>>2]|0);if((a[d+11>>0]|0)<0)l0a(c[d>>2]|0);b=j0a(32)|0;c[d>>2]=b;c[d+8>>2]=-2147483616;c[d+4>>2]=20;f=b;i=168706;j=f+20|0;do{a[f>>0]=a[i>>0]|0;f=f+1|0;i=i+1|0}while((f|0)<(j|0));a[b+20>>0]=0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;b=j0a(48)|0;c[e>>2]=b;c[e+8>>2]=-2147483600;c[e+4>>2]=33;f=b;i=168727;j=f+33|0;do{a[f>>0]=a[i>>0]|0;f=f+1|0;i=i+1|0}while((f|0)<(j|0));a[b+33>>0]=0;uQ(tQ()|0,2,d,e);if((a[e+11>>0]|0)<0)l0a(c[e>>2]|0);if((a[d+11>>0]|0)<0)l0a(c[d>>2]|0);b=j0a(32)|0;c[d>>2]=b;c[d+8>>2]=-2147483616;c[d+4>>2]=22;f=b;i=168761;j=f+22|0;do{a[f>>0]=a[i>>0]|0;f=f+1|0;i=i+1|0}while((f|0)<(j|0));a[b+22>>0]=0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;b=j0a(128)|0;c[e>>2]=b;c[e+8>>2]=-2147483520;c[e+4>>2]=114;f=b;i=168784;j=f+114|0;do{a[f>>0]=a[i>>0]|0;f=f+1|0;i=i+1|0}while((f|0)<(j|0));a[b+114>>0]=0;uQ(tQ()|0,2,d,e);if((a[e+11>>0]|0)<0)l0a(c[e>>2]|0);if((a[d+11>>0]|0)<0)l0a(c[d>>2]|0);c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;fX(d)|0;if((a[d+11>>0]|0)<0)l0a(c[d>>2]|0);b=c[56448]|0;c[56448]=b+1;c[56447]=b;b=j0a(48)|0;c[d>>2]=b;c[d+8>>2]=-2147483600;c[d+4>>2]=42;f=b;i=168899;j=f+42|0;do{a[f>>0]=a[i>>0]|0;f=f+1|0;i=i+1|0}while((f|0)<(j|0));a[b+42>>0]=0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;b=j0a(96)|0;c[e>>2]=b;c[e+8>>2]=-2147483552;c[e+4>>2]=85;f=b;i=168942;j=f+85|0;do{a[f>>0]=a[i>>0]|0;f=f+1|0;i=i+1|0}while((f|0)<(j|0));a[b+85>>0]=0;uQ(tQ()|0,2,d,e);if((a[e+11>>0]|0)<0)l0a(c[e>>2]|0);if((a[d+11>>0]|0)<0)l0a(c[d>>2]|0);b=j0a(48)|0;c[d>>2]=b;c[d+8>>2]=-2147483600;c[d+4>>2]=46;f=b;i=169028;j=f+46|0;do{a[f>>0]=a[i>>0]|0;f=f+1|0;i=i+1|0}while((f|0)<(j|0));a[b+46>>0]=0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;b=j0a(80)|0;c[e>>2]=b;c[e+8>>2]=-2147483568;c[e+4>>2]=72;f=b;i=169075;j=f+72|0;do{a[f>>0]=a[i>>0]|0;f=f+1|0;i=i+1|0}while((f|0)<(j|0));a[b+72>>0]=0;uQ(tQ()|0,2,d,e);if((a[e+11>>0]|0)<0)l0a(c[e>>2]|0);if((a[d+11>>0]|0)<0)l0a(c[d>>2]|0);b=j0a(48)|0;c[d>>2]=b;c[d+8>>2]=-2147483600;c[d+4>>2]=35;f=b;i=169148;j=f+35|0;do{a[f>>0]=a[i>>0]|0;f=f+1|0;i=i+1|0}while((f|0)<(j|0));a[b+35>>0]=0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;b=j0a(80)|0;c[e>>2]=b;c[e+8>>2]=-2147483568;c[e+4>>2]=73;f=b;i=169184;j=f+73|0;do{a[f>>0]=a[i>>0]|0;f=f+1|0;i=i+1|0}while((f|0)<(j|0));a[b+73>>0]=0;uQ(tQ()|0,2,d,e);if((a[e+11>>0]|0)<0)l0a(c[e>>2]|0);if((a[d+11>>0]|0)<0)l0a(c[d>>2]|0);b=j0a(32)|0;c[d>>2]=b;c[d+8>>2]=-2147483616;c[d+4>>2]=31;f=b;i=169258;j=f+31|0;do{a[f>>0]=a[i>>0]|0;f=f+1|0;i=i+1|0}while((f|0)<(j|0));a[b+31>>0]=0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;j=j0a(496)|0;c[e>>2]=j;c[e+8>>2]=-2147483152;c[e+4>>2]=494;x2a(j|0,169290,494)|0;a[j+494>>0]=0;uQ(tQ()|0,2,d,e);if((a[e+11>>0]|0)<0)l0a(c[e>>2]|0);if((a[d+11>>0]|0)<0)l0a(c[d>>2]|0);vaa()|0;b=j0a(48)|0;c[d>>2]=b;c[d+8>>2]=-2147483600;c[d+4>>2]=32;f=b;i=169785;j=f+32|0;do{a[f>>0]=a[i>>0]|0;f=f+1|0;i=i+1|0}while((f|0)<(j|0));a[b+32>>0]=0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;b=j0a(96)|0;c[e>>2]=b;c[e+8>>2]=-2147483552;c[e+4>>2]=90;f=b;i=169818;j=f+90|0;do{a[f>>0]=a[i>>0]|0;f=f+1|0;i=i+1|0}while((f|0)<(j|0));a[b+90>>0]=0;uQ(tQ()|0,2,d,e);if((a[e+11>>0]|0)<0)l0a(c[e>>2]|0);if((a[d+11>>0]|0)>=0){l=h;return}l0a(c[d>>2]|0);l=h;return}function Sha(){return 0}function Tha(a){a=a|0;c[a>>2]=81860;c[a+4>>2]=0;c[a+8>>2]=0;return}function Uha(a,b){a=a|0;b=b|0;c[a>>2]=81860;c[a+4>>2]=0;c[a+8>>2]=0;return}function Vha(a){a=a|0;var b=0,d=0,e=0,f=0;f=a+4|0;b=c[f>>2]|0;if(b|0){f=b;return f|0}do{b=j0a(40)|0;uU(b,a);d=b+8|0;c[d>>2]=(c[d>>2]|0)+1;e=c[f>>2]|0;if(!e)c[f>>2]=b;if(e|0?(e=c[d>>2]|0,c[d>>2]=e-1,(e|0)==1):0)UU(b,1,1);b=c[f>>2]|0}while(!(b|0));return b|0}function Wha(a){a=a|0;var b=0;b=a+8|0;a=c[b>>2]|0;c[b>>2]=a-1;return a+-1|0}function Xha(a,b){a=a|0;b=b|0;a=WU(a,b)|0;if(!a)return;XU(a,b);return}function Yha(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;if((b|0)==(d|0)){v=0;return v|0}h=c[b+32>>2]|0;i=c[d+32>>2]|0;if((h|0)<(i|0)){v=-1;return v|0}if((i|0)<(h|0)){v=1;return v|0}n=b+12|0;h=d+12|0;j=a[h+11>>0]|0;i=j<<24>>24<0;j=i?c[d+16>>2]|0:j&255;k=a[n+11>>0]|0;m=k<<24>>24<0;k=m?c[b+16>>2]|0:k&255;r=j>>>0<k>>>0;q=r?j:k;l=(q|0)==0;if(!l?(g=m?c[n>>2]|0:n,o=i?c[h>>2]|0:h,p=cOa(g,o,q)|0,(p|0)!=0):0)if((p|0)<0){v=-1;return v|0}else{h=o;i=10}else{if(k>>>0<j>>>0){v=-1;return v|0}if(l)i=11;else{h=i?c[h>>2]|0:h;g=m?c[n>>2]|0:n;i=10}}if((i|0)==10){g=cOa(h,g,q)|0;if(g){if((g|0)<0){v=1;return v|0}}else i=11}if((i|0)==11?r:0){v=1;return v|0}l=b+48|0;g=d+48|0;i=a[g+11>>0]|0;h=i<<24>>24<0;i=h?c[d+52>>2]|0:i&255;j=a[l+11>>0]|0;m=j<<24>>24<0;j=m?c[b+52>>2]|0:j&255;o=i>>>0<j>>>0;n=o?i:j;k=(n|0)==0;if(!k?(f=m?c[l>>2]|0:l,s=h?c[g>>2]|0:g,t=cOa(f,s,n)|0,(t|0)!=0):0)if((t|0)<0){v=-1;return v|0}else{g=s;i=19}else{if(j>>>0<i>>>0){v=-1;return v|0}if(k)i=20;else{g=h?c[g>>2]|0:g;f=m?c[l>>2]|0:l;i=19}}if((i|0)==19){f=cOa(g,f,n)|0;if(f){if((f|0)<0){v=1;return v|0}}else i=20}if((i|0)==20?o:0){v=1;return v|0}f=c[b+60>>2]|0;g=c[d+60>>2]|0;if(f>>>0<g>>>0){v=-1;return v|0}if(g>>>0<f>>>0){v=1;return v|0}m=b+36|0;i=d+36|0;h=a[i+11>>0]|0;j=h<<24>>24<0;h=j?c[d+40>>2]|0:h&255;f=a[m+11>>0]|0;k=f<<24>>24<0;f=k?c[b+40>>2]|0:f&255;n=h>>>0<f>>>0;l=n?h:f;g=(l|0)==0;if(!g?(e=k?c[m>>2]|0:m,u=j?c[i>>2]|0:i,v=cOa(e,u,l)|0,(v|0)!=0):0)if((v|0)<0){v=-1;return v|0}else{f=u;i=30}else{if(f>>>0<h>>>0){v=-1;return v|0}if(g)i=31;else{f=j?c[i>>2]|0:i;e=k?c[m>>2]|0:m;i=30}}if((i|0)==30){e=cOa(f,e,l)|0;if(!e)i=31}if((i|0)==31)e=n<<31>>31;v=e>>>31;return v|0}function Zha(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;h=b;i=a+128|0;g=a+132|0;d=c[g>>2]|0;do if(d){e=g;f=d;do{j=(c[f+16>>2]|0)>>>0<b>>>0;e=j?e:f;f=c[(j?f+4|0:f)>>2]|0}while((f|0)!=0);if((e|0)!=(g|0)?(c[e+16>>2]|0)>>>0<=b>>>0:0){j=0;return j|0}f=a+132|0;while(1){e=c[d+16>>2]|0;if(e>>>0>b>>>0){e=c[d>>2]|0;if(!e){e=9;break}else{f=d;d=e}}else{if(e>>>0>=b>>>0){e=13;break}f=d+4|0;e=c[f>>2]|0;if(!e){e=12;break}else d=e}}if((e|0)==9){b=d;f=d;break}else if((e|0)==12){b=d;break}else if((e|0)==13){b=d;break}}else{b=g;f=g}while(0);if(c[f>>2]|0){j=1;return j|0}d=j0a(20)|0;c[d+16>>2]=h;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=b;c[f>>2]=d;e=c[c[i>>2]>>2]|0;if(e){c[i>>2]=e;d=c[f>>2]|0}fp(c[a+132>>2]|0,d);j=a+136|0;c[j>>2]=(c[j>>2]|0)+1;j=1;return j|0}function _ha(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;g=a+128|0;e=a+132|0;h=c[e>>2]|0;if(!h){h=0;return h|0}f=e;d=h;do{i=(c[d+16>>2]|0)>>>0<b>>>0;f=i?f:d;d=c[(i?d+4|0:d)>>2]|0}while((d|0)!=0);if((f|0)==(e|0)){i=0;return i|0}if((c[f+16>>2]|0)>>>0>b>>>0){i=0;return i|0}d=c[f+4>>2]|0;if(!d){b=f+8|0;d=c[b>>2]|0;if((c[d>>2]|0)!=(f|0))do{i=c[b>>2]|0;b=i+8|0;d=c[b>>2]|0}while((c[d>>2]|0)!=(i|0))}else while(1){b=c[d>>2]|0;if(!b)break;else d=b}if((c[g>>2]|0)==(f|0))c[g>>2]=d;i=a+136|0;c[i>>2]=(c[i>>2]|0)+-1;Pw(h,f);l0a(f);i=1;return i|0}function $ha(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0;b=c[a+148>>2]|0;Jk[c[(c[b>>2]|0)+160>>2]&1023](b,a);b=c[a+712>>2]|0;d=a+716|0;if((b|0)!=(c[d>>2]|0))do{i=c[b>>2]|0;Jk[c[(c[i>>2]|0)+160>>2]&1023](i,a);b=b+4|0}while((b|0)!=(c[d>>2]|0));e=a+620|0;d=a+624|0;bY(e,c[d>>2]|0);c[a+628>>2]=0;c[e>>2]=d;c[d>>2]=0;d=c[a+684>>2]|0;e=a+688|0;b=c[e>>2]|0;if((b|0)!=(d|0))do{i=b;b=b+-12|0;bY(b,c[i+-8>>2]|0)}while((b|0)!=(d|0));c[e>>2]=d;f=a+632|0;b=c[f>>2]|0;g=a+636|0;if((b|0)!=(g|0)){e=b;while(1){b=c[e+36>>2]|0;if(b|0)Jk[c[(c[b>>2]|0)+160>>2]&1023](b,a);b=c[e+4>>2]|0;if(!b){d=e+8|0;b=c[d>>2]|0;if((c[b>>2]|0)!=(e|0))do{i=c[d>>2]|0;d=i+8|0;b=c[d>>2]|0}while((c[b>>2]|0)!=(i|0))}else while(1){d=c[b>>2]|0;if(!d)break;else b=d}if((b|0)==(g|0))break;else e=b}}tD(f,c[g>>2]|0);c[a+640>>2]=0;c[f>>2]=g;c[g>>2]=0;h=a+696|0;d=c[h>>2]|0;i=a+700|0;if((d|0)==(c[i>>2]|0)){a=d;c[i>>2]=a;return}do{b=c[d>>2]|0;g=d+4|0;if((b|0)!=(g|0)){f=b;while(1){b=c[f+36>>2]|0;if(b|0)Jk[c[(c[b>>2]|0)+160>>2]&1023](b,a);b=c[f+4>>2]|0;if(!b){e=f+8|0;b=c[e>>2]|0;if((c[b>>2]|0)!=(f|0))do{f=c[e>>2]|0;e=f+8|0;b=c[e>>2]|0}while((c[b>>2]|0)!=(f|0))}else while(1){e=c[b>>2]|0;if(!e)break;else b=e}if((b|0)==(g|0))break;else f=b}}d=d+12|0}while((d|0)!=(c[i>>2]|0));b=c[h>>2]|0;if((d|0)==(b|0)){a=b;c[i>>2]=a;return}do{a=d;d=d+-12|0;tD(d,c[a+-8>>2]|0)}while((d|0)!=(b|0));c[i>>2]=b;return}function aia(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=l;l=l+16|0;d=f;e=a+724|0;c[e>>2]=b;bia(M_(qu(c[a+124>>2]|0)|0)|0,b);if(!(ZQ(4)|0)){l=f;return}b=mr(lr(4)|0,169909,32)|0;e=QSa(b,c[e>>2]|0)|0;BSa(d,e+(c[(c[e>>2]|0)+-12>>2]|0)|0);b=cUa(d,230580)|0;b=kk[c[(c[b>>2]|0)+28>>2]&511](b,10)|0;dUa(d);VSa(e,b)|0;HSa(e)|0;l=f;return}function bia(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;f=l;l=l+16|0;d=f;e=a+40|0;if((c[e>>2]|0)==(b|0)){l=f;return}a=a+36|0;if((c[a>>2]|0)>>>0>b>>>0?ZQ(3)|0:0){g=mr(QSa(mr(lr(3)|0,169942,32)|0,b)|0,169975,41)|0;a=QSa(g,c[a>>2]|0)|0;BSa(d,a+(c[(c[a>>2]|0)+-12>>2]|0)|0);g=cUa(d,230580)|0;g=kk[c[(c[g>>2]|0)+28>>2]&511](g,10)|0;dUa(d);VSa(a,g)|0;HSa(a)|0}c[e>>2]=b;l=f;return}function cia(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=l;l=l+16|0;d=f;e=a+728|0;c[e>>2]=b;b=ru(qu(c[a+124>>2]|0)|0)|0;kR(b,c[e>>2]|0);if(!(ZQ(4)|0)){l=f;return}b=mr(lr(4)|0,170017,37)|0;e=QSa(b,c[e>>2]|0)|0;BSa(d,e+(c[(c[e>>2]|0)+-12>>2]|0)|0);b=cUa(d,230580)|0;b=kk[c[(c[b>>2]|0)+28>>2]&511](b,10)|0;dUa(d);VSa(e,b)|0;HSa(e)|0;l=f;return}function dia(a,d,e,f){a=a|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;v=l;l=l+16|0;t=v+4|0;m=v;u=(d|0)%4|0;r=((d-u|0)>>>2)*6|0;s=((e|0)/4|0)*6|0;e=r+s|0;if(e>>>0<65536){m=a+24+(u*12|0)|0;n=a+24+(u*12|0)+4|0;d=(c[n>>2]|0)-(c[m>>2]|0)>>1;if(e>>>0>=d>>>0?(g=(d>>>0)/6|0,o=(e>>>0)/6|0,NL(m,e),g>>>0<o>>>0):0){k=a+24+(u*12|0)+8|0;j=g;do{i=(j<<2)+u|0;e=i&65535;b[t>>1]=e;g=c[n>>2]|0;d=c[k>>2]|0;if(g>>>0<d>>>0){b[g>>1]=e;e=g+2|0;c[n>>2]=e}else{eia(m,t);e=c[n>>2]|0;d=c[k>>2]|0}g=i+1&65535;b[t>>1]=g;if(e>>>0<d>>>0){b[e>>1]=g;e=e+2|0;c[n>>2]=e}else{eia(m,t);e=c[n>>2]|0;d=c[k>>2]|0}h=i+3&65535;b[t>>1]=h;if(e>>>0<d>>>0){b[e>>1]=h;e=e+2|0;c[n>>2]=e}else{eia(m,t);e=c[n>>2]|0;d=c[k>>2]|0}b[t>>1]=g;if(e>>>0<d>>>0){b[e>>1]=g;g=e+2|0;c[n>>2]=g}else{eia(m,t);g=c[n>>2]|0;d=c[k>>2]|0}e=i+2&65535;b[t>>1]=e;if(g>>>0<d>>>0){b[g>>1]=e;e=g+2|0;c[n>>2]=e}else{eia(m,t);e=c[n>>2]|0;d=c[k>>2]|0}b[t>>1]=h;if(e>>>0<d>>>0){b[e>>1]=h;c[n>>2]=e+2}else eia(m,t);j=j+1|0}while(j>>>0<o>>>0)}d=(c[m>>2]|0)+(r<<1)|0;if((f|0)>0?(p=c[a+828>>2]|0,p|0):0){Sk[p&63](4,s,5123,d,f);l=v;return}Yh(4,s|0,5123,d|0);l=v;return}else{j=a+72+(u*12|0)|0;k=a+72+(u*12|0)+4|0;d=(c[k>>2]|0)-(c[j>>2]|0)>>2;if(e>>>0>=d>>>0?(h=(d>>>0)/6|0,n=(e>>>0)/6|0,oJ(j,e),h>>>0<n>>>0):0){i=a+72+(u*12|0)+8|0;do{d=(h<<2)+u|0;c[t>>2]=d;g=c[k>>2]|0;e=c[i>>2]|0;if((g|0)==(e|0)){Nz(j,t);g=c[k>>2]|0;e=c[i>>2]|0}else{c[g>>2]=d;g=g+4|0;c[k>>2]=g}d=(c[t>>2]|0)+1|0;c[m>>2]=d;if(g>>>0<e>>>0){c[g>>2]=d;g=g+4|0;c[k>>2]=g}else{JJ(j,m);g=c[k>>2]|0;e=c[i>>2]|0}d=(c[t>>2]|0)+3|0;c[m>>2]=d;if(g>>>0<e>>>0){c[g>>2]=d;g=g+4|0;c[k>>2]=g}else{JJ(j,m);g=c[k>>2]|0;e=c[i>>2]|0}d=(c[t>>2]|0)+1|0;c[m>>2]=d;if(g>>>0<e>>>0){c[g>>2]=d;g=g+4|0;c[k>>2]=g}else{JJ(j,m);g=c[k>>2]|0;e=c[i>>2]|0}d=(c[t>>2]|0)+2|0;c[m>>2]=d;if(g>>>0<e>>>0){c[g>>2]=d;g=g+4|0;c[k>>2]=g}else{JJ(j,m);g=c[k>>2]|0;e=c[i>>2]|0}d=(c[t>>2]|0)+3|0;c[m>>2]=d;if(g>>>0<e>>>0){c[g>>2]=d;c[k>>2]=g+4}else JJ(j,m);h=h+1|0}while(h>>>0<n>>>0)}d=(c[j>>2]|0)+(r<<2)|0;if((f|0)>0?(q=c[a+828>>2]|0,q|0):0){Sk[q&63](4,s,5125,d,f);l=v;return}Yh(4,s|0,5125,d|0);l=v;return}}function eia(a,d){a=a|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;j=a+4|0;k=c[a>>2]|0;l=(c[j>>2]|0)-k|0;h=l>>1;e=h+1|0;if((l|0)<-2)g1a(a);m=a+8|0;i=(c[m>>2]|0)-k|0;i=i>>1>>>0<1073741823?(i>>>0<e>>>0?e:i):2147483647;do if(i)if((i|0)<0){m=db(8)|0;p0a(m,183738);c[m>>2]=110936;hb(m|0,65952,1066)}else{g=j0a(i<<1)|0;f=g;break}else{f=0;g=0}while(0);e=f+(h<<1)|0;b[e>>1]=b[d>>1]|0;if((l|0)>0)x2a(g|0,k|0,l|0)|0;c[a>>2]=f;c[j>>2]=e+2;c[m>>2]=f+(i<<1);if(!k)return;l0a(k);return}function fia(){var b=0,d=0,e=0,f=0;d=l;l=l+16|0;b=d;if(a[223712]|0){l=d;return 223720}if(!(g2a(223712)|0)){l=d;return 223720}h[27966]=1.0e-06;fc(1,b|0)|0;f=c[b>>2]|0;f=o2a(f|0,((f|0)<0)<<31>>31|0,1e6,0)|0;e=y;b=c[b+4>>2]|0;b=t2a(b|0,((b|0)<0)<<31>>31|0,1e3,0)|0;e=p2a(b|0,y|0,f|0,e|0)|0;b=223720;c[b>>2]=e;c[b+4>>2]=y;l=d;return 223720}function gia(a){a=a|0;var b=0,d=0,e=0;b=l;l=l+16|0;e=b;fc(1,e|0)|0;d=c[e>>2]|0;d=o2a(d|0,((d|0)<0)<<31>>31|0,1e6,0)|0;a=y;e=c[e+4>>2]|0;e=t2a(e|0,((e|0)<0)<<31>>31|0,1e3,0)|0;a=p2a(e|0,y|0,d|0,a|0)|0;l=b;return a|0}function hia(a){a=a|0;var b=0;c[a+4>>2]=0;c[a+8>>2]=0;b=a+12|0;c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;c[a+24>>2]=2;c[a+28>>2]=0;c[a>>2]=68108;a=a+32|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;c[a+12>>2]=0;c[a+16>>2]=0;c[a+20>>2]=0;return}function iia(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;j=l;l=l+16|0;h=j;f=a+4|0;i=a+8|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;c[a+12>>2]=0;if(gk[c[(c[b>>2]|0)+180>>2]&1023](b)|0){l=j;return}g=b+32|0;d=b+36|0;if((c[g>>2]|0)==(c[d>>2]|0)){l=j;return}e=c[a>>2]|0;if(((e|0)!=(b|0)?(c[a>>2]=b,a=b+8|0,c[a>>2]=(c[a>>2]|0)+1,e|0):0)?(k=e+8|0,a=c[k>>2]|0,c[k>>2]=a-1,(a|0)==1):0)UU(e,1,1);if((f|0)!=(g|0))jia(f,c[g>>2]|0,c[d>>2]|0);a=c[f>>2]|0;if((a|0)==(c[i>>2]|0)){l=j;return}do{d=c[a>>2]|0;kia(d,b);if(ZQ(3)|0){k=USa(mr(lr(3)|0,170055,22)|0,d)|0;BSa(h,k+(c[(c[k>>2]|0)+-12>>2]|0)|0);g=cUa(h,230580)|0;g=kk[c[(c[g>>2]|0)+28>>2]&511](g,10)|0;dUa(h);VSa(k,g)|0;HSa(k)|0}a=a+4|0}while((a|0)!=(c[i>>2]|0));l=j;return}function jia(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;k=d;h=b;g=k-h|0;f=g>>2;i=a+8|0;e=c[i>>2]|0;l=c[a>>2]|0;j=l;if(f>>>0<=e-l>>2>>>0){g=a+4|0;a=(c[g>>2]|0)-l>>2;f=f>>>0>a>>>0;a=f?b+(a<<2)|0:d;d=a;e=d-h|0;if(e|0)y2a(l|0,b|0,e|0)|0;if(!f){c[g>>2]=j+(e>>2<<2);return}e=k-d|0;if((e|0)<=0)return;x2a(c[g>>2]|0,a|0,e|0)|0;c[g>>2]=(c[g>>2]|0)+(e>>>2<<2);return}if(l){e=a+4|0;c[e>>2]=l;l0a(l);c[i>>2]=0;c[e>>2]=0;c[a>>2]=0;e=0}if(f>>>0>1073741823)g1a(a);l=e>>1;f=e>>2>>>0<536870911?(l>>>0<f>>>0?f:l):1073741823;if(f>>>0>1073741823)g1a(a);e=j0a(f<<2)|0;d=a+4|0;c[d>>2]=e;c[a>>2]=e;c[i>>2]=e+(f<<2);if((g|0)<=0)return;x2a(e|0,b|0,g|0)|0;c[d>>2]=e+(g>>>2<<2);return}function kia(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;w=l;l=l+32|0;t=w+8|0;v=w;if(!b){l=w;return}i=gk[c[(c[b>>2]|0)+172>>2]&1023](b)|0;h=gk[c[(c[b>>2]|0)+176>>2]&1023](b)|0;g=a+60|0;d=c[g>>2]|0;if(!d){l=w;return}f=g;do{e=c[d+16>>2]|0;do if((e|0)<(i|0))e=d+4|0;else{if((i|0)>=(e|0)?(c[d+20>>2]|0)>>>0<h>>>0:0){e=d+4|0;break}e=d;f=d}while(0);d=c[e>>2]|0}while((d|0)!=0);if((f|0)==(g|0)){l=w;return}d=c[f+16>>2]|0;if((i|0)<(d|0)){l=w;return}if((d|0)>=(i|0)?h>>>0<(c[f+20>>2]|0)>>>0:0){l=w;return}r=f;q=f+24|0;if((c[q>>2]|0)!=(b|0)){l=w;return}if(c[b+48>>2]|0){e=a+148|0;d=c[e>>2]|0;f=d+-1|0;if(((c[a+144>>2]|0)==0?(j=c[a+32>>2]|0,m=a+36|0,(j|0)!=(c[m>>2]|0)):0)?(k=((f|0)!=0&1)+(((d|0)!=0)<<31>>31)|0,(k|0)!=0):0){b=j;do{j=c[b>>2]|0;Rv(j,(c[j+88>>2]|0)+k|0);b=b+4|0}while((b|0)!=(c[m>>2]|0));b=c[q>>2]|0}c[e>>2]=f}if(c[b+52>>2]|0){e=a+156|0;d=c[e>>2]|0;f=d+-1|0;if(((c[a+152>>2]|0)==0?(n=c[a+32>>2]|0,p=a+36|0,(n|0)!=(c[p>>2]|0)):0)?(o=((f|0)!=0&1)+(((d|0)!=0)<<31>>31)|0,(o|0)!=0):0){b=n;do{n=c[b>>2]|0;Sv(n,(c[n+96>>2]|0)+o|0);b=b+4|0}while((b|0)!=(c[p>>2]|0));b=c[q>>2]|0}c[e>>2]=f}h=kX()|0;i=(h|0)==0;if(!i)gk[c[(c[h>>2]|0)+8>>2]&1023](h)|0;d=c[b+32>>2]|0;g=b+36|0;e=c[g>>2]|0;f=e;a:do if((d|0)==(e|0)){u=d;s=37}else{b=d;do{if((c[b>>2]|0)==(a|0)){u=b;s=37;break a}b=b+4|0}while((b|0)!=(e|0))}while(0);if((s|0)==37?(u|0)!=(e|0):0){d=u+4|0;b=f-d|0;if(b|0)y2a(u|0,d|0,b|0)|0;c[g>>2]=u+(b>>2<<2)}if(!i)gk[c[(c[h>>2]|0)+12>>2]&1023](h)|0;u=c[q>>2]|0;c[t>>2]=86772;c[t+4>>2]=a;c[t+8>>2]=8;c[t+12>>2]=0;kk[c[(c[u>>2]|0)+188>>2]&511](u,t)|0;c[v>>2]=r;c[t>>2]=c[v>>2];P2(a+56|0,t)|0;l=w;return}function lia(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0;h=l;l=l+16|0;e=h;f=a+4|0;b=c[f>>2]|0;g=a+8|0;if((b|0)!=(c[g>>2]|0)){do{d=c[b>>2]|0;F2(d,c[a>>2]|0,0);if(ZQ(3)|0){d=USa(mr(lr(3)|0,170078,24)|0,d)|0;BSa(e,d+(c[(c[d>>2]|0)+-12>>2]|0)|0);i=cUa(e,230580)|0;i=kk[c[(c[i>>2]|0)+28>>2]&511](i,10)|0;dUa(e);VSa(d,i)|0;HSa(d)|0}b=b+4|0}while((b|0)!=(c[g>>2]|0));b=c[f>>2]|0}if(b|0){c[g>>2]=b;l0a(b)}b=c[a>>2]|0;if(!b){c[a>>2]=0;l=h;return}g=b+8|0;i=c[g>>2]|0;c[g>>2]=i-1;if((i|0)!=1){c[a>>2]=0;l=h;return}UU(b,1,1);c[a>>2]=0;l=h;return}function mia(a){a=a|0;var b=0;b=c[a>>2]|0;if(!b)return;c[a+4>>2]=b;l0a(b);return}function nia(a){a=a|0;var b=0,d=0,e=0;b=c[a>>2]|0;if(b|0?(e=b+8|0,d=c[e>>2]|0,c[e>>2]=d-1,(d|0)==1):0)UU(b,1,1);c[a>>2]=0;return}function oia(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=l;l=l+16|0;e=i;c[e>>2]=b;f=kX()|0;g=(f|0)==0;if(!g)gk[c[(c[f>>2]|0)+8>>2]&1023](f)|0;h=a+36|0;d=c[h>>2]|0;if((d|0)==(c[a+40>>2]|0))ow(a+32|0,e);else{c[d>>2]=b;c[h>>2]=(c[h>>2]|0)+4}if(g){l=i;return}gk[c[(c[f>>2]|0)+12>>2]&1023](f)|0;l=i;return}function pia(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;j=kX()|0;k=(j|0)==0;if(!k)gk[c[(c[j>>2]|0)+8>>2]&1023](j)|0;e=c[a+32>>2]|0;h=a+36|0;d=c[h>>2]|0;f=d;a:do if((e|0)==(d|0)){i=e;g=7}else{a=e;do{if((c[a>>2]|0)==(b|0)){i=a;g=7;break a}a=a+4|0}while((a|0)!=(d|0))}while(0);if((g|0)==7?(i|0)!=(d|0):0){d=i+4|0;a=f-d|0;if(a|0)y2a(i|0,d|0,a|0)|0;c[h>>2]=i+(a>>2<<2)}if(k)return;gk[c[(c[j>>2]|0)+12>>2]&1023](j)|0;return}function qia(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;f=l;l=l+16|0;e=f;switch(b|0){case 0:{c[a+84>>2]=d;e=c[a+60>>2]|0;b=(c[a+64>>2]|0)-e|0;if((b|0)<=0){l=f;return}d=b>>>2;b=e;while(1){c[b>>2]=1;if((d|0)>1){d=d+-1|0;b=b+4|0}else break}l=f;return}case 1:{c[a+88>>2]=d;e=c[a+60>>2]|0;b=(c[a+64>>2]|0)-e|0;if((b|0)<=0){l=f;return}d=b>>>2;b=e;while(1){c[b>>2]=1;if((d|0)>1){d=d+-1|0;b=b+4|0}else break}l=f;return}case 2:{c[a+92>>2]=d;e=c[a+60>>2]|0;b=(c[a+64>>2]|0)-e|0;if((b|0)<=0){l=f;return}d=b>>>2;b=e;while(1){c[b>>2]=1;if((d|0)>1){d=d+-1|0;b=b+4|0}else break}l=f;return}default:{if(!(ZQ(2)|0)){l=f;return}a=mr(QSa(mr(QSa(mr(lr(2)|0,170103,47)|0,b)|0,188047,1)|0,d)|0,184787,1)|0;BSa(e,a+(c[(c[a>>2]|0)+-12>>2]|0)|0);d=cUa(e,230580)|0;d=kk[c[(c[d>>2]|0)+28>>2]&511](d,10)|0;dUa(e);VSa(a,d)|0;HSa(a)|0;l=f;return}}}function ria(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;f=l;l=l+16|0;e=f;switch(b|0){case 0:{c[a+96>>2]=d;e=c[a+60>>2]|0;b=(c[a+64>>2]|0)-e|0;if((b|0)<=0){l=f;return}d=b>>>2;b=e;while(1){c[b>>2]=1;if((d|0)>1){d=d+-1|0;b=b+4|0}else break}l=f;return}case 1:{c[a+100>>2]=d;e=c[a+60>>2]|0;b=(c[a+64>>2]|0)-e|0;if((b|0)<=0){l=f;return}d=b>>>2;b=e;while(1){c[b>>2]=1;if((d|0)>1){d=d+-1|0;b=b+4|0}else break}l=f;return}default:{if(!(ZQ(2)|0)){l=f;return}a=mr(QSa(mr(QSa(mr(lr(2)|0,170151,49)|0,b)|0,188047,1)|0,d)|0,184787,1)|0;BSa(e,a+(c[(c[a>>2]|0)+-12>>2]|0)|0);d=cUa(e,230580)|0;d=kk[c[(c[d>>2]|0)+28>>2]&511](d,10)|0;dUa(e);VSa(a,d)|0;HSa(a)|0;l=f;return}}}function sia(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;c[a+120>>2]=e;c[a+124>>2]=b;z0a(a+128|0,d)|0;return}function tia(a,b){a=a|0;b=b|0;var d=0,e=0;d=l;l=l+16|0;e=d;c[a+4>>2]=0;c[a+8>>2]=0;c[a>>2]=95256;t0a(a+12|0,b);c[a+24>>2]=83012;c[a+32>>2]=0;Vi(e|0)|0;b=j0a(32)|0;c[b>>2]=83040;Wi(e|0,2)|0;Ui(b+4|0,e|0)|0;c[a+28>>2]=b;c[a+44>>2]=0;c[a+48>>2]=0;c[a+52>>2]=0;c[a+60>>2]=0;c[a+64>>2]=0;c[a+56>>2]=a+60;c[a+72>>2]=0;c[a+76>>2]=0;c[a+68>>2]=a+72;uia(a,25);l=d;return}function uia(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=a+24|0;gk[c[(c[i>>2]|0)+8>>2]&1023](i)|0;c[a+36>>2]=0;c[a+40>>2]=0;g=a+44|0;d=c[g>>2]|0;h=a+48|0;a=c[h>>2]|0;f=d;if((a|0)==(d|0))e=f;else{do{e=a;a=a+-12|0;wia(a,c[e+-8>>2]|0)}while((a|0)!=(d|0));e=c[g>>2]|0}c[h>>2]=d;a=(f-e|0)/12|0;if(a>>>0<b>>>0){xia(g,b-a|0);h=c[i>>2]|0;h=h+12|0;h=c[h>>2]|0;gk[h&1023](i)|0;return}if(a>>>0<=b>>>0){h=c[i>>2]|0;h=h+12|0;h=c[h>>2]|0;gk[h&1023](i)|0;return}a=e+(b*12|0)|0;if((a|0)!=(d|0))do{g=d;d=d+-12|0;wia(d,c[g+-8>>2]|0)}while((d|0)!=(a|0));c[h>>2]=a;h=c[i>>2]|0;h=h+12|0;h=c[h>>2]|0;gk[h&1023](i)|0;return}function via(b,d){b=b|0;d=d|0;if(!d)return;via(b,c[d>>2]|0);via(b,c[d+4>>2]|0);b=d+16|0;if((a[b+11>>0]|0)<0)l0a(c[b>>2]|0);l0a(d);return}function wia(b,d){b=b|0;d=d|0;if(!d)return;wia(b,c[d>>2]|0);wia(b,c[d+4>>2]|0);b=d+16|0;if((a[b+11>>0]|0)<0)l0a(c[b>>2]|0);l0a(d);return}function xia(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;l=a+8|0;f=c[l>>2]|0;m=a+4|0;d=c[m>>2]|0;if(((f-d|0)/12|0)>>>0>=b>>>0){do{c[d+4>>2]=0;c[d+8>>2]=0;c[d>>2]=d+4;d=(c[m>>2]|0)+12|0;c[m>>2]=d;b=b+-1|0}while((b|0)!=0);return}e=c[a>>2]|0;g=(d-e|0)/12|0;h=g+b|0;if(h>>>0>357913941)g1a(a);k=(f-e|0)/12|0;d=k<<1;d=k>>>0<178956970?(d>>>0<h>>>0?h:d):357913941;do if(d)if(d>>>0>357913941){m=db(8)|0;p0a(m,183738);c[m>>2]=110936;hb(m|0,65952,1066)}else{f=j0a(d*12|0)|0;break}else f=0;while(0);g=f+(g*12|0)|0;e=f+(d*12|0)|0;d=g;while(1){c[d+4>>2]=0;c[d+8>>2]=0;c[d>>2]=d+4;b=b+-1|0;if(!b)break;else d=d+12|0}k=f+(h*12|0)|0;j=c[a>>2]|0;d=c[m>>2]|0;if((d|0)==(j|0)){b=g;f=j;d=j}else{b=g;do{i=b;b=b+-12|0;f=d;d=d+-12|0;c[b>>2]=c[d>>2];g=c[f+-8>>2]|0;c[i+-8>>2]=g;h=f+-4|0;n=c[h>>2]|0;c[i+-4>>2]=n;i=i+-8|0;if(!n)c[b>>2]=i;else{c[g+8>>2]=i;n=f+-8|0;c[d>>2]=n;c[n>>2]=0;c[h>>2]=0}}while((d|0)!=(j|0));f=c[a>>2]|0;d=c[m>>2]|0}c[a>>2]=b;c[m>>2]=k;c[l>>2]=e;b=f;if((d|0)!=(b|0))do{n=d;d=d+-12|0;wia(d,c[n+-8>>2]|0)}while((d|0)!=(b|0));if(!f)return;l0a(f);return}function yia(b){b=b|0;var d=0,e=0,f=0,g=0,h=0;c[b>>2]=95256;via(b+68|0,c[b+72>>2]|0);wia(b+56|0,c[b+60>>2]|0);e=b+44|0;g=c[e>>2]|0;if(g|0){f=b+48|0;d=c[f>>2]|0;if((d|0)==(g|0))d=g;else{do{h=d;d=d+-12|0;wia(d,c[h+-8>>2]|0)}while((d|0)!=(g|0));d=c[e>>2]|0}c[f>>2]=g;l0a(d)}c[b+24>>2]=83012;d=c[b+28>>2]|0;Ti(d+4|0)|0;if(d|0)Bk[c[(c[d>>2]|0)+4>>2]&2047](d);d=b+12|0;if((a[d+11>>0]|0)>=0){SU(b);return}l0a(c[d>>2]|0);SU(b);return}function zia(a){a=a|0;yia(a);l0a(a);return}function Aia(b,d,e,f){b=b|0;d=d|0;e=e|0;f=+f;var g=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;r=l;l=l+16|0;o=r;k=b+40|0;j=c[k>>2]|0;m=b+44|0;n=b+48|0;q=((c[n>>2]|0)-(c[m>>2]|0)|0)/12|0;if((j>>>0<q>>>0?0:j+1-q|0)>>>0>d>>>0){q=0;l=r;return q|0}q=b+24|0;gk[c[(c[q>>2]|0)+8>>2]&1023](q)|0;g=c[k>>2]|0;if(g>>>0<d>>>0){g=g+1|0;j=b+36|0;i=c[j>>2]|0;if(g>>>0>d>>>0)g=i;else{do{u=c[m>>2]|0;t=((g-i|0)>>>0)%((((c[n>>2]|0)-u|0)/12|0)>>>0)|0;s=u+(t*12|0)|0;i=u+(t*12|0)+4|0;wia(s,c[i>>2]|0);c[u+(t*12|0)+8>>2]=0;c[s>>2]=i;c[i>>2]=0;g=g+1|0;i=c[j>>2]|0}while(g>>>0<=d>>>0);g=i}i=((c[n>>2]|0)-(c[m>>2]|0)|0)/12|0;if((d-g|0)>>>0>=i>>>0)c[j>>2]=d-((d>>>0)%(i>>>0)|0);c[k>>2]=d;j=d}else j=g;i=c[m>>2]|0;g=((c[n>>2]|0)-i|0)/12|0;if((j>>>0<g>>>0?0:j+1-g|0)>>>0<=d>>>0?(p=c[b+36>>2]|0,p=(p>>>0>d>>>0?g:0)+(d-p)|0,(p|0)>=0):0){h[(Bia(i+(p*12|0)|0,e)|0)>>3]=f;g=1}else if(ZQ(3)|0){t=mr(QSa(mr(lr(3)|0,170214,53)|0,d)|0,188047,1)|0;g=a[e+11>>0]|0;u=g<<24>>24<0;g=mr(TSa(mr(mr(t,u?c[e>>2]|0:e,u?c[e+4>>2]|0:g&255)|0,188047,1)|0,f)|0,184787,1)|0;BSa(o,g+(c[(c[g>>2]|0)+-12>>2]|0)|0);u=cUa(o,230580)|0;u=kk[c[(c[u>>2]|0)+28>>2]&511](u,10)|0;dUa(o);VSa(g,u)|0;HSa(g)|0;g=0}else g=0;gk[c[(c[q>>2]|0)+12>>2]&1023](q)|0;u=g;l=r;return u|0}function Bia(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,i=0;i=l;l=l+16|0;e=i;f=Cia(a,e,b)|0;d=c[f>>2]|0;if(d|0){a=d;a=a+32|0;l=i;return a|0}g=j0a(40)|0;t0a(g+16|0,b);h[g+32>>3]=0.0;d=c[e>>2]|0;c[g>>2]=0;c[g+4>>2]=0;c[g+8>>2]=d;c[f>>2]=g;d=c[c[a>>2]>>2]|0;if(!d)d=g;else{c[a>>2]=d;d=c[f>>2]|0}fp(c[a+4>>2]|0,d);a=a+8|0;c[a>>2]=(c[a>>2]|0)+1;a=g;a=a+32|0;l=i;return a|0}function Cia(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;f=b+4|0;h=c[f>>2]|0;if(!h){c[d>>2]=f;o=f;return o|0}m=a[e+11>>0]|0;l=m<<24>>24<0;m=l?c[e+4>>2]|0:m&255;l=l?c[e>>2]|0:e;g=b+4|0;f=h;while(1){e=f+16|0;h=a[e+11>>0]|0;b=h<<24>>24<0;h=b?c[f+20>>2]|0:h&255;k=h>>>0<m>>>0;j=k?h:m;i=(j|0)==0;if(!i?(n=b?c[e>>2]|0:e,o=cOa(l,n,j)|0,(o|0)!=0):0)if((o|0)<0)b=7;else{e=n;b=11}else if(m>>>0>=h>>>0)if(i)b=12;else{e=b?c[e>>2]|0:e;b=11}else b=7;if((b|0)==7){b=0;e=c[f>>2]|0;if(!e){b=8;break}else{g=f;f=e}}else if((b|0)==11){e=cOa(e,l,j)|0;if(e)if((e|0)<0)b=14;else{b=16;break}else b=12}if((b|0)==12)if(k)b=14;else{b=16;break}if((b|0)==14){e=f+4|0;b=c[e>>2]|0;if(!b){b=15;break}else{g=e;f=b}}}if((b|0)==8){c[d>>2]=f;o=f;return o|0}else if((b|0)==15){c[d>>2]=f;o=e;return o|0}else if((b|0)==16){c[d>>2]=f;o=g;return o|0}return 0}function Dia(a){a=a|0;var b=0;c[a+4>>2]=0;c[a+8>>2]=0;b=a+12|0;c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;c[a+24>>2]=2;c[a+28>>2]=0;b=a+32|0;c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;c[b+12>>2]=0;c[b+16>>2]=0;c[b+20>>2]=0;c[a>>2]=83304;c[a+56>>2]=519;c[a+60>>2]=0;c[a+64>>2]=-1;c[a+68>>2]=7680;c[a+72>>2]=7680;c[a+76>>2]=7680;c[a+80>>2]=-1;return}function Eia(b){b=b|0;var d=0;c[b+4>>2]=0;c[b+8>>2]=0;d=b+12|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[b+24>>2]=2;c[b+28>>2]=0;d=b+32|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[d+12>>2]=0;c[d+16>>2]=0;c[d+20>>2]=0;c[b>>2]=83516;Qra(b+56|0);a[b+184>>0]=0;return}function Fia(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;e=l;l=l+16|0;d=e;switch(b|0){case 0:{d=a+96|0;d=c[d>>2]|0;l=e;return d|0}case 1:{d=a+100|0;d=c[d>>2]|0;l=e;return d|0}default:{if(ZQ(2)|0){b=mr(lr(2)|0,170268,55)|0;BSa(d,b+(c[(c[b>>2]|0)+-12>>2]|0)|0);f=cUa(d,230580)|0;f=kk[c[(c[f>>2]|0)+28>>2]&511](f,10)|0;dUa(d);VSa(b,f)|0;HSa(b)|0}f=a+96|0;f=c[f>>2]|0;l=e;return f|0}}return 0}function Gia(a,b){a=a|0;b=+b;var d=0,e=0;d=a+104|0;if(!(+g[d>>2]!=b))return;g[d>>2]=b;e=c[a+60>>2]|0;d=(c[a+64>>2]|0)-e|0;if((d|0)<=0)return;a=d>>>2;d=e;while(1){c[d>>2]=1;if((a|0)>1){a=a+-1|0;d=d+4|0}else break}return}function Hia(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0;n=l;l=l+112|0;k=n;Qra(b);m=k+68|0;c[k+72>>2]=0;c[k+76>>2]=0;c[m>>2]=68320;f=k+80|0;c[f>>2]=0;c[f+4>>2]=0;c[f+8>>2]=0;c[k+92>>2]=2;c[k+96>>2]=0;IR(k,95272,0);c[k>>2]=95296;c[m>>2]=95664;c[k+56>>2]=1;c[k+60>>2]=b;a[k+64>>0]=e&1;f=c[d>>2]|0;j=d+4|0;g=c[j>>2]|0;i=g;h=f;if((f|0)==(g|0)){Cy(k,95272);Pr(m);l=n;return}if(e){b=i-h>>2;do{g=g+-4|0;f=c[g>>2]|0;f=gk[c[(c[f>>2]|0)+80>>2]&1023](f)|0;if(f|0){if(c[f+136>>2]|0)break;if((c[f+72>>2]|0)==(c[f+76>>2]|0))break}b=b+-1|0}while((g|0)!=(c[d>>2]|0));f=c[d>>2]|0;h=f;g=c[j>>2]|0}else{b=0;g=i}if(b>>>0>=g-h>>2>>>0){Cy(k,95272);Pr(m);l=n;return}do{i=c[f+(b<<2)>>2]|0;Jk[c[(c[i>>2]|0)+212>>2]&1023](i,k);b=b+1|0;f=c[d>>2]|0}while(b>>>0<(c[j>>2]|0)-f>>2>>>0);Cy(k,95272);Pr(m);l=n;return}function Iia(a){a=a|0;Cy(a,95272);Pr(a+68|0);return}function Jia(a){a=a|0;Cy(a,95272);Pr(a+68|0);l0a(a);return}function Kia(a,b){a=a|0;b=b|0;var d=0;d=c[b>>2]|0;if((c[a+56>>2]|0)==1){lk[c[d+288>>2]&127](b,c[a+60>>2]|0,a)|0;return}else{lk[c[d+292>>2]&127](b,c[a+60>>2]|0,a)|0;return}}function Lia(a){a=a|0;a=a+(c[(c[a>>2]|0)+-16>>2]|0)|0;Cy(a,95272);Pr(a+68|0);return}function Mia(a){a=a|0;a=a+(c[(c[a>>2]|0)+-16>>2]|0)|0;Cy(a,95272);Pr(a+68|0);l0a(a);return}function Nia(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0;n=l;l=l+112|0;k=n;Qra(b);m=k+68|0;c[k+72>>2]=0;c[k+76>>2]=0;c[m>>2]=68320;f=k+80|0;c[f>>2]=0;c[f+4>>2]=0;c[f+8>>2]=0;c[k+92>>2]=2;c[k+96>>2]=0;IR(k,95272,0);c[k>>2]=95296;c[m>>2]=95664;c[k+56>>2]=0;c[k+60>>2]=b;a[k+64>>0]=e&1;f=c[d>>2]|0;j=d+4|0;g=c[j>>2]|0;i=g;h=f;if((f|0)==(g|0)){Cy(k,95272);Pr(m);l=n;return}if(e){b=i-h>>2;do{g=g+-4|0;f=c[g>>2]|0;f=gk[c[(c[f>>2]|0)+80>>2]&1023](f)|0;if(f|0){if(c[f+136>>2]|0)break;if((c[f+72>>2]|0)==(c[f+76>>2]|0))break}b=b+-1|0}while((g|0)!=(c[d>>2]|0));f=c[d>>2]|0;h=f;g=c[j>>2]|0}else{b=0;g=i}if(b>>>0>=g-h>>2>>>0){Cy(k,95272);Pr(m);l=n;return}do{i=c[f+(b<<2)>>2]|0;Jk[c[(c[i>>2]|0)+212>>2]&1023](i,k);b=b+1|0;f=c[d>>2]|0}while(b>>>0<(c[j>>2]|0)-f>>2>>>0);Cy(k,95272);Pr(m);l=n;return}function Oia(a){a=a|0;WR(a);c[a>>2]=84612;c[a+136>>2]=0;return}function Pia(a,b,d){a=a|0;b=b|0;d=d|0;XD(a,b,d);c[a>>2]=84612;c[a+136>>2]=c[b+136>>2];return}function Qia(a,b){a=a|0;b=b|0;var d=0;d=a+136|0;if((c[d>>2]|0)==(b|0))return;c[d>>2]=b;nU(a,(b|0)==0);return}function Ria(a){a=a|0;var b=0;c[a+4>>2]=0;c[a+8>>2]=0;b=a+12|0;c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;c[a+24>>2]=2;c[a+28>>2]=0;c[a>>2]=86140;a=a+32|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;c[a+12>>2]=0;c[a+16>>2]=0;c[a+20>>2]=0;c[a+24>>2]=0;return}function Sia(){var a=0,b=0;b=l;l=l+16|0;a=b;if(!(c[23957]|0)){l=b;return 216608}c[a>>2]=3;c[a+4>>2]=7;c[a+8>>2]=0;SOa(216608,170343,a)|0;c[23957]=0;l=b;return 216608}function Tia(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;c[b+4>>2]=0;c[b+8>>2]=0;c[b>>2]=83056;c[b+12>>2]=d;e=b+16|0;c[e>>2]=0;f=b+104|0;g=b+24|0;h=g+80|0;do{c[g>>2]=0;g=g+4|0}while((g|0)<(h|0));a[f>>0]=1;h=c[d+832>>2]|0;c[e>>2]=h;h=h+8|0;c[h>>2]=(c[h>>2]|0)+1;a[b+20>>0]=a[(c[e>>2]|0)+712>>0]|0;return}function Uia(a){a=a|0;Jk[c[(c[a+16>>2]|0)+1552>>2]&1023](1,a+24|0);return}function Via(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;e=l;l=l+16|0;b=e;d=a+24|0;if(!(c[d>>2]|0)){l=e;return}if(ZQ(5)|0){f=mr(lr(5)|0,170352,46)|0;f=QSa(f,c[d>>2]|0)|0;BSa(b,f+(c[(c[f>>2]|0)+-12>>2]|0)|0);g=cUa(b,230580)|0;g=kk[c[(c[g>>2]|0)+28>>2]&511](g,10)|0;dUa(b);VSa(f,g)|0;HSa(f)|0}Jk[c[(c[a+16>>2]|0)+1548>>2]&1023](1,d);c[d>>2]=0;l=e;return}function Wia(b){b=b|0;var d=0,e=0,f=0;d=b+40|0;if(c[d>>2]|0)return;e=j0a(28)|0;f=c[(c[b+12>>2]|0)+492>>2]|0;c[e+4>>2]=0;b=e+8|0;c[b>>2]=0;c[e+12>>2]=0;c[e+16>>2]=-1;a[e+20>>0]=0;c[e>>2]=83076;c[e+24>>2]=f;c[d>>2]=e;c[b>>2]=(c[b>>2]|0)+1;return}function Xia(b){b=b|0;var d=0,e=0,f=0;d=b+44|0;if(c[d>>2]|0)return;e=j0a(28)|0;f=c[(c[b+12>>2]|0)+532>>2]|0;c[e+4>>2]=0;b=e+8|0;c[b>>2]=0;c[e+12>>2]=0;c[e+16>>2]=-1;a[e+20>>0]=0;c[e>>2]=83076;c[e+24>>2]=f;c[d>>2]=e;c[b>>2]=(c[b>>2]|0)+1;return}function Yia(a){a=a|0;var b=0,d=0,e=0,f=0;d=l;l=l+16|0;b=d;if(ZQ(5)|0){e=USa(mr(lr(5)|0,170399,28)|0,a)|0;BSa(b,e+(c[(c[e>>2]|0)+-12>>2]|0)|0);f=cUa(b,230580)|0;f=kk[c[(c[f>>2]|0)+28>>2]&511](f,10)|0;dUa(b);VSa(e,f)|0;HSa(e)|0}_ia(Zia(qu(c[(c[a+16>>2]|0)+12>>2]|0)|0)|0,a);l=d;return}function Zia(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;g=a+36|0;d=a+40|0;b=c[d>>2]|0;do if(b){e=a+40|0;while(1){d=c[b+16>>2]|0;if(d>>>0>52080>>>0){d=c[b>>2]|0;if(!d){d=5;break}else{e=b;b=d}}else{if(d>>>0>=52080>>>0){d=9;break}e=b+4|0;d=c[e>>2]|0;if(!d){d=8;break}else b=d}}if((d|0)==5){f=b;e=b;break}else if((d|0)==8){f=b;break}else if((d|0)==9){f=b;break}}else{f=d;e=d}while(0);b=c[e>>2]|0;if(!b){b=j0a(24)|0;c[b+16>>2]=52080;c[b+20>>2]=0;c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=f;c[e>>2]=b;d=c[c[g>>2]>>2]|0;if(!d)d=b;else{c[g>>2]=d;d=c[e>>2]|0}fp(c[a+40>>2]|0,d);g=a+44|0;c[g>>2]=(c[g>>2]|0)+1}d=b+20|0;if(c[d>>2]|0){a=c[d>>2]|0;return a|0}e=j0a(52)|0;$ia(e,c[a+24>>2]|0);b=c[d>>2]|0;if((b|0)==(e|0)){a=c[d>>2]|0;return a|0}c[d>>2]=e;a=e+8|0;c[a>>2]=(c[a>>2]|0)+1;if(!b){a=c[d>>2]|0;return a|0}g=b+8|0;a=c[g>>2]|0;c[g>>2]=a-1;if((a|0)!=1){a=c[d>>2]|0;return a|0}UU(b,1,1);a=c[d>>2]|0;return a|0}function _ia(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;h=l;l=l+16|0;d=h;if(ZQ(5)|0){g=mr(USa(mr(lr(5)|0,170428,33)|0,a)|0,184787,1)|0;BSa(d,g+(c[(c[g>>2]|0)+-12>>2]|0)|0);f=cUa(d,230580)|0;f=kk[c[(c[f>>2]|0)+28>>2]&511](f,10)|0;dUa(d);VSa(g,f)|0;HSa(g)|0}d=a+28|0;gk[c[(c[d>>2]|0)+8>>2]&1023](d)|0;e=(b|0)==0;if(!e){g=b+8|0;c[g>>2]=(c[g>>2]|0)+1}f=a+40|0;g=j0a(12)|0;c[g>>2]=0;c[g+8>>2]=b;if(!e){i=b+8|0;c[i>>2]=(c[i>>2]|0)+1}c[g+4>>2]=f;i=c[f>>2]|0;c[g>>2]=i;c[i+4>>2]=g;c[f>>2]=g;i=a+48|0;c[i>>2]=(c[i>>2]|0)+1;if(e){i=c[d>>2]|0;i=i+12|0;i=c[i>>2]|0;gk[i&1023](d)|0;l=h;return}a=b+8|0;i=c[a>>2]|0;c[a>>2]=i-1;if((i|0)!=1){i=c[d>>2]|0;i=i+12|0;i=c[i>>2]|0;gk[i&1023](d)|0;l=h;return}UU(b,1,1);i=c[d>>2]|0;i=i+12|0;i=c[i>>2]|0;gk[i&1023](d)|0;l=h;return}function $ia(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;h=l;l=l+16|0;e=h;f=j0a(32)|0;c[e>>2]=f;c[e+8>>2]=-2147483616;c[e+4>>2]=23;g=f;i=170462;j=g+23|0;do{a[g>>0]=a[i>>0]|0;g=g+1|0;i=i+1|0}while((g|0)<(j|0));a[f+23>>0]=0;Cu(b,e,d);if((a[e+11>>0]|0)<0)l0a(c[e>>2]|0);c[b>>2]=95840;c[b+28>>2]=83012;c[b+36>>2]=0;Vi(e|0)|0;j=j0a(32)|0;c[j>>2]=83040;Wi(e|0,2)|0;Ui(j+4|0,e|0)|0;c[b+32>>2]=j;j=b+40|0;c[j>>2]=j;c[b+44>>2]=j;c[b+48>>2]=0;l=h;return}function aja(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;c[a>>2]=95840;f=a+40|0;b=a+48|0;if(c[b>>2]|0?(d=c[a+44>>2]|0,e=(c[f>>2]|0)+4|0,g=c[d>>2]|0,c[g+4>>2]=c[e>>2],c[c[e>>2]>>2]=g,c[b>>2]=0,(d|0)!=(f|0)):0)do{b=d;d=c[d+4>>2]|0;e=c[b+8>>2]|0;if(e|0?(h=e+8|0,g=c[h>>2]|0,c[h>>2]=g-1,(g|0)==1):0)UU(e,1,1);l0a(b)}while((d|0)!=(f|0));c[a+28>>2]=83012;b=c[a+32>>2]|0;Ti(b+4|0)|0;if(!b){Is(a);return}Bk[c[(c[b>>2]|0)+4>>2]&2047](b);Is(a);return}function bja(a){a=a|0;aja(a);l0a(a);return}function cja(b,d,e){b=b|0;d=+d;e=e|0;var f=0,g=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;r=l;l=l+16|0;n=r;if(+h[e>>3]<=0.0){l=r;return}if(ZQ(5)|0){q=mr(lr(5)|0,170610,48)|0;BSa(n,q+(c[(c[q>>2]|0)+-12>>2]|0)|0);p=cUa(n,230580)|0;p=kk[c[(c[p>>2]|0)+28>>2]&511](p,10)|0;dUa(n);VSa(q,p)|0;HSa(q)|0}if((a[223712]|0)==0?g2a(223712)|0:0){h[27966]=1.0e-06;fc(1,n|0)|0;q=c[n>>2]|0;q=o2a(q|0,((q|0)<0)<<31>>31|0,1e6,0)|0;p=y;o=c[n+4>>2]|0;o=t2a(o|0,((o|0)<0)<<31>>31|0,1e3,0)|0;p=p2a(o|0,y|0,q|0,p|0)|0;q=223720;c[q>>2]=p;c[q+4>>2]=y}fc(1,n|0)|0;q=c[n>>2]|0;q=o2a(q|0,((q|0)<0)<<31>>31|0,1e6,0)|0;p=y;o=c[n+4>>2]|0;o=t2a(o|0,((o|0)<0)<<31>>31|0,1e3,0)|0;p=p2a(o|0,y|0,q|0,p|0)|0;q=y;o=b+28|0;gk[c[(c[o>>2]|0)+8>>2]&1023](o)|0;m=b+44|0;f=c[m>>2]|0;j=b+40|0;g=f;if((j|0)!=(g|0)&+h[e>>3]>0.0){k=n+4|0;do{Via(c[f+8>>2]|0);fc(1,n|0)|0;i=c[n>>2]|0;i=o2a(i|0,((i|0)<0)<<31>>31|0,1e6,0)|0;f=y;s=c[k>>2]|0;s=t2a(s|0,((s|0)<0)<<31>>31|0,1e3,0)|0;f=p2a(s|0,y|0,i|0,f|0)|0;i=y;if(i>>>0>q>>>0|(i|0)==(q|0)&f>>>0>p>>>0){s=q2a(f|0,i|0,p|0,q|0)|0;d=+h[27966]*(+(s>>>0)+4294967296.0*+(y>>>0))}else{s=q2a(p|0,q|0,f|0,i|0)|0;d=-(+h[27966]*(+(s>>>0)+4294967296.0*+(y>>>0)))}f=c[g+4>>2]|0;g=f}while((j|0)!=(g|0)?d<+h[e>>3]:0);k=f;f=c[m>>2]|0;if((f|0)!=(k|0)){j=(c[k>>2]|0)+4|0;s=c[f>>2]|0;c[s+4>>2]=c[j>>2];c[c[j>>2]>>2]=s;j=b+48|0;do{g=f;f=c[f+4>>2]|0;c[j>>2]=(c[j>>2]|0)+-1;i=c[g+8>>2]|0;if(i|0?(b=i+8|0,s=c[b>>2]|0,c[b>>2]=s-1,(s|0)==1):0)UU(i,1,1);l0a(g)}while((f|0)!=(k|0))}}gk[c[(c[o>>2]|0)+12>>2]&1023](o)|0;fc(1,n|0)|0;g=c[n>>2]|0;g=o2a(g|0,((g|0)<0)<<31>>31|0,1e6,0)|0;f=y;s=c[n+4>>2]|0;s=t2a(s|0,((s|0)<0)<<31>>31|0,1e3,0)|0;f=p2a(s|0,y|0,g|0,f|0)|0;g=y;if(g>>>0>q>>>0|(g|0)==(q|0)&f>>>0>p>>>0){s=q2a(f|0,g|0,p|0,q|0)|0;d=+h[27966]*(+(s>>>0)+4294967296.0*+(y>>>0))}else{s=q2a(p|0,q|0,f|0,g|0)|0;d=-(+h[27966]*(+(s>>>0)+4294967296.0*+(y>>>0)))}h[e>>3]=+h[e>>3]-d;l=r;return}function dja(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0;h=l;l=l+16|0;b=h;if(ZQ(5)|0){g=mr(lr(5)|0,170486,51)|0;BSa(b,g+(c[(c[g>>2]|0)+-12>>2]|0)|0);f=cUa(b,230580)|0;f=kk[c[(c[f>>2]|0)+28>>2]&511](f,10)|0;dUa(b);VSa(g,f)|0;HSa(g)|0}f=a+28|0;gk[c[(c[f>>2]|0)+8>>2]&1023](f)|0;g=a+40|0;e=a+44|0;b=c[e>>2]|0;d=b;if((g|0)!=(d|0))do{Via(c[b+8>>2]|0);b=c[d+4>>2]|0;d=b}while((g|0)!=(d|0));d=a+48|0;if(!(c[d>>2]|0)){g=c[f>>2]|0;g=g+12|0;g=c[g>>2]|0;gk[g&1023](f)|0;l=h;return}b=c[e>>2]|0;e=(c[g>>2]|0)+4|0;a=c[b>>2]|0;c[a+4>>2]=c[e>>2];c[c[e>>2]>>2]=a;c[d>>2]=0;if((b|0)==(g|0)){g=c[f>>2]|0;g=g+12|0;g=c[g>>2]|0;gk[g&1023](f)|0;l=h;return}do{d=b;b=c[b+4>>2]|0;a=c[d+8>>2]|0;if(a|0?(i=a+8|0,e=c[i>>2]|0,c[i>>2]=e-1,(e|0)==1):0)UU(a,1,1);l0a(d)}while((b|0)!=(g|0));i=c[f>>2]|0;i=i+12|0;i=c[i>>2]|0;gk[i&1023](f)|0;l=h;return}function eja(a){a=a|0;var b=0,d=0,e=0;b=l;l=l+16|0;a=b;if(!(ZQ(4)|0)){l=b;return}d=mr(lr(4)|0,170538,71)|0;BSa(a,d+(c[(c[d>>2]|0)+-12>>2]|0)|0);e=cUa(a,230580)|0;e=kk[c[(c[e>>2]|0)+28>>2]&511](e,10)|0;dUa(a);VSa(d,e)|0;HSa(d)|0;l=b;return}function fja(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0;g=l;l=l+16|0;b=g;if(ZQ(5)|0){f=mr(lr(5)|0,170486,51)|0;BSa(b,f+(c[(c[f>>2]|0)+-12>>2]|0)|0);e=cUa(b,230580)|0;e=kk[c[(c[e>>2]|0)+28>>2]&511](e,10)|0;dUa(b);VSa(f,e)|0;HSa(f)|0}e=a+28|0;gk[c[(c[e>>2]|0)+8>>2]&1023](e)|0;f=a+40|0;d=a+48|0;if(!(c[d>>2]|0)){f=c[e>>2]|0;f=f+12|0;f=c[f>>2]|0;gk[f&1023](e)|0;l=g;return}b=c[a+44>>2]|0;a=(c[f>>2]|0)+4|0;h=c[b>>2]|0;c[h+4>>2]=c[a>>2];c[c[a>>2]>>2]=h;c[d>>2]=0;if((b|0)==(f|0)){h=c[e>>2]|0;h=h+12|0;h=c[h>>2]|0;gk[h&1023](e)|0;l=g;return}do{a=b;b=c[b+4>>2]|0;d=c[a+8>>2]|0;if(d|0?(i=d+8|0,h=c[i>>2]|0,c[i>>2]=h-1,(h|0)==1):0)UU(d,1,1);l0a(a)}while((b|0)!=(f|0));i=c[e>>2]|0;i=i+12|0;i=c[i>>2]|0;gk[i&1023](e)|0;l=g;return}function gja(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0;p=l;l=l+16|0;o=p;c[o>>2]=d;h=d;if(!f){g=d+12|0;if(!(c[g>>2]|0)){l=p;return}Jk[c[(c[d>>2]|0)+44>>2]&1023](d,e);c[g>>2]=0;c[d+16>>2]=-1;a[d+20>>0]=0;l=p;return}g=d+20|0;do if(!(a[g>>0]|0)){a[g>>0]=1;g=b+76|0;d=c[g>>2]|0;if((d|0)==(c[b+80>>2]|0)){hja(b+72|0,o);break}else{c[d>>2]=h;c[g>>2]=(c[g>>2]|0)+4;break}}while(0);g=c[o>>2]|0;d=c[g+12>>2]|0;do if(!d){if((a[b+20>>0]|0?(i=c[f+40>>2]|0,i|0):0)?(k=pu(i,c[e+124>>2]|0)|0,k|0):0){if(!(a[k+36>>0]|0)){g=b+96|0;if((c[g>>2]|0)!=(k|0)){Jk[c[(c[k+72>>2]|0)+724>>2]&1023](c[k+20>>2]|0,c[k+16>>2]|0);d=c[k+56>>2]|0;if(!d)n=15;else{xu(d,k);n=15}}}else{tG(k);g=b+96|0;n=15}if((n|0)==15)c[g>>2]=k;n=c[o>>2]|0;Qk[c[(c[n>>2]|0)+24>>2]&127](n,e,f,k);break}g=b+96|0;if(c[g>>2]|0){Jk[c[(c[b+16>>2]|0)+724>>2]&1023](34962,0);c[g>>2]=0}n=c[o>>2]|0;Nk[c[(c[n>>2]|0)+20>>2]&255](n,e,f)}else{if((d|0)==(f|0)?(c[f+32>>2]|0)==(c[g+16>>2]|0):0)break;if((a[b+20>>0]|0?(j=c[f+40>>2]|0,j|0):0)?(m=pu(j,c[e+124>>2]|0)|0,m|0):0){if(!(a[m+36>>0]|0)){g=b+96|0;if((c[g>>2]|0)!=(m|0)){Jk[c[(c[m+72>>2]|0)+724>>2]&1023](c[m+20>>2]|0,c[m+16>>2]|0);d=c[m+56>>2]|0;if(!d)n=30;else{xu(d,m);n=30}}}else{tG(m);g=b+96|0;n=30}if((n|0)==30)c[g>>2]=m;n=c[o>>2]|0;Qk[c[(c[n>>2]|0)+36>>2]&127](n,e,f,m);break}g=b+96|0;if(c[g>>2]|0){Jk[c[(c[b+16>>2]|0)+724>>2]&1023](34962,0);c[g>>2]=0}n=c[o>>2]|0;Nk[c[(c[n>>2]|0)+32>>2]&255](n,e,f)}while(0);e=c[o>>2]|0;c[e+12>>2]=f;c[e+16>>2]=c[f+32>>2];l=p;return}function hja(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;i=a+4|0;j=c[a>>2]|0;k=(c[i>>2]|0)-j|0;g=k>>2;d=g+1|0;if(d>>>0>1073741823)g1a(a);l=a+8|0;f=(c[l>>2]|0)-j|0;h=f>>1;h=f>>2>>>0<536870911?(h>>>0<d>>>0?d:h):1073741823;do if(h)if(h>>>0>1073741823){l=db(8)|0;p0a(l,183738);c[l>>2]=110936;hb(l|0,65952,1066)}else{f=j0a(h<<2)|0;e=f;break}else{e=0;f=0}while(0);d=e+(g<<2)|0;c[d>>2]=c[b>>2];if((k|0)>0)x2a(f|0,j|0,k|0)|0;c[a>>2]=e;c[i>>2]=d+4;c[l>>2]=e+(h<<2);if(!j)return;l0a(j);return}function ija(b){b=b|0;a[b+104>>0]=1;return}function jja(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;b=gS(c[(vt()|0)>>2]|0)|0;c[a>>2]=0;d=a+4|0;c[d>>2]=0;e=a+8|0;c[e>>2]=0;if(!b)return;if(b>>>0>1073741823)g1a(a);f=b<<2;g=j0a(f)|0;c[a>>2]=g;b=g+(b<<2)|0;c[e>>2]=b;z2a(g|0,0,f|0)|0;c[d>>2]=b;return}function kja(a){a=a|0;var b=0,d=0,e=0;b=c[a>>2]|0;e=a+4|0;a=c[e>>2]|0;if((b|0)==(a|0))return;do{d=c[b>>2]|0;if(d){KX(d);a=c[e>>2]|0}b=b+4|0}while((b|0)!=(a|0));return}function lja(a){a=a|0;var b=0,d=0,e=0;b=c[a>>2]|0;e=a+4|0;a=c[e>>2]|0;if((b|0)==(a|0))return;do{d=c[b>>2]|0;if(d){LX(d);a=c[e>>2]|0}b=b+4|0}while((b|0)!=(a|0));return}function mja(a){a=a|0;var b=0,d=0,e=0;b=c[a>>2]|0;e=a+4|0;a=c[e>>2]|0;if((b|0)==(a|0))return;do{d=c[b>>2]|0;if(d){MX(d);a=c[e>>2]|0}b=b+4|0}while((b|0)!=(a|0));return}function nja(b){b=b|0;var d=0,e=0,f=0,g=0,h=0;d=c[b>>2]|0;f=b+4|0;b=c[f>>2]|0;if((d|0)==(b|0))return;do{e=c[d>>2]|0;if((e|0)!=0?(g=e+40|0,(c[g>>2]|0)==0):0){h=j0a(28)|0;e=c[(c[e+12>>2]|0)+492>>2]|0;c[h+4>>2]=0;b=h+8|0;c[b>>2]=0;c[h+12>>2]=0;c[h+16>>2]=-1;a[h+20>>0]=0;c[h>>2]=83076;c[h+24>>2]=e;c[g>>2]=h;c[b>>2]=(c[b>>2]|0)+1;b=c[f>>2]|0}d=d+4|0}while((d|0)!=(b|0));return}function oja(b){b=b|0;var d=0,e=0,f=0,g=0,h=0;d=c[b>>2]|0;f=b+4|0;b=c[f>>2]|0;if((d|0)==(b|0))return;do{e=c[d>>2]|0;if((e|0)!=0?(g=e+44|0,(c[g>>2]|0)==0):0){h=j0a(28)|0;e=c[(c[e+12>>2]|0)+532>>2]|0;c[h+4>>2]=0;b=h+8|0;c[b>>2]=0;c[h+12>>2]=0;c[h+16>>2]=-1;a[h+20>>0]=0;c[h>>2]=83076;c[h+24>>2]=e;c[g>>2]=h;c[b>>2]=(c[b>>2]|0)+1;b=c[f>>2]|0}d=d+4|0}while((d|0)!=(b|0));return}function pja(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=c[a>>2]|0;f=a+4|0;a=c[f>>2]|0;if((d|0)==(a|0))return;do{e=c[d>>2]|0;if(e){NX(e,b);a=c[f>>2]|0}d=d+4|0}while((d|0)!=(a|0));return}function qja(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=c[a>>2]|0;f=a+4|0;a=c[f>>2]|0;if((d|0)==(a|0))return;do{e=c[d>>2]|0;if(e){OX(e,b);a=c[f>>2]|0}d=d+4|0}while((d|0)!=(a|0));return}function rja(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,h=0.0,i=0.0,j=0.0;e=c[b>>2]|0;c[a>>2]=e;c[a+(c[e+-12>>2]|0)>>2]=c[b+4>>2];c[a+4>>2]=0;b=a+12|0;e=a+16|0;c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;c[b+12>>2]=0;c[b+16>>2]=0;c[b+20>>2]=0;y2(a,1);b=j0a(656)|0;zw(b);d=c[e>>2]|0;if(((d|0)!=(b|0)?(c[e>>2]=b,b=b+8|0,c[b>>2]=(c[b>>2]|0)+1,d|0):0)?(f=d+8|0,b=c[f>>2]|0,c[f>>2]=b-1,(b|0)==1):0)UU(d,1,1);c[(c[e>>2]|0)+220>>2]=a;h=+g[(c[(vt()|0)>>2]|0)+32>>2];i=+g[(c[(vt()|0)>>2]|0)+28>>2];j=+J(+(h*.5),+(+g[(c[(vt()|0)>>2]|0)+36>>2]))*2.0*180.0/3.141592653589793;tR(c[e>>2]|0,j,i/h,1.0,1.0e4);f=c[e>>2]|0;g[f+240>>2]=.20000000298023224;g[f+244>>2]=.20000000298023224;g[f+248>>2]=.4000000059604645;g[f+252>>2]=1.0;b=f+148|0;if(c[f+152>>2]|0){f=c[e>>2]|0;f=qR(f)|0;z2(f);return}c[b>>2]=c[b>>2]&-8193;f=c[e>>2]|0;f=qR(f)|0;z2(f);return}function sja(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;e=c[b>>2]|0;c[a>>2]=e;c[a+(c[e+-12>>2]|0)>>2]=c[b+4>>2];c[a+4>>2]=0;c[a+8>>2]=c[d+8>>2];b=c[d+12>>2]|0;c[a+12>>2]=b;if(b|0){e=b+8|0;c[e>>2]=(c[e>>2]|0)+1}b=c[d+16>>2]|0;c[a+16>>2]=b;if(!b){e=a+20|0;d=d+20|0;s2(e,d);d=a+32|0;c[d>>2]=0;return}e=b+8|0;c[e>>2]=(c[e>>2]|0)+1;e=a+20|0;d=d+20|0;s2(e,d);d=a+32|0;c[d>>2]=0;return}function tja(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;f=a+20|0;g=a+24|0;b=c[f>>2]|0;if((c[g>>2]|0)==(b|0))return;e=0;do{d=b;b=d+(e*272|0)|0;d=c[d+(e*272|0)+268>>2]|0;if(!d)Jk[c[(c[b>>2]|0)+8>>2]&1023](b,a);else Nk[c[c[d>>2]>>2]&255](d,a,b);e=e+1|0;b=c[f>>2]|0}while(e>>>0<(((c[g>>2]|0)-b|0)/272|0)>>>0);return}function uja(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0;X=l;l=l+272|0;V=X;if(!d){d=0;l=X;return d|0}c[d+220>>2]=b;if((g?(j=c[d>>2]|0,i=c[j+240>>2]|0,j=gk[c[j+248>>2]&1023](d)|0,lk[i&127](d,0,j)|0,j=b+16|0,i=c[j>>2]|0,i|0):0)?gk[c[(c[i>>2]|0)+248>>2]&1023](i)|0:0){i=0;do{kk[c[(c[d>>2]|0)+228>>2]&511](d,c[(c[(c[j>>2]|0)+124>>2]|0)+(i<<2)>>2]|0)|0;i=i+1|0;U=c[j>>2]|0}while(i>>>0<(gk[c[(c[U>>2]|0)+248>>2]&1023](U)|0)>>>0)}T=b+20|0;R=b+24|0;U=((c[R>>2]|0)-(c[T>>2]|0)|0)/272|0;i=g&1;c[V>>2]=86752;S=V+4|0;c[S>>2]=d;B=d+8|0;c[B>>2]=(c[B>>2]|0)+1;B=V+8|0;h[B>>3]=+h[e>>3];C=V+16|0;h[C>>3]=+h[e+8>>3];D=V+24|0;h[D>>3]=+h[e+16>>3];E=V+32|0;h[E>>3]=+h[e+24>>3];F=V+40|0;h[F>>3]=+h[e+32>>3];G=V+48|0;h[G>>3]=+h[e+40>>3];H=V+56|0;h[H>>3]=+h[e+48>>3];I=V+64|0;h[I>>3]=+h[e+56>>3];J=V+72|0;h[J>>3]=+h[e+64>>3];K=V+80|0;h[K>>3]=+h[e+72>>3];L=V+88|0;h[L>>3]=+h[e+80>>3];M=V+96|0;h[M>>3]=+h[e+88>>3];N=V+104|0;h[N>>3]=+h[e+96>>3];O=V+112|0;h[O>>3]=+h[e+104>>3];P=V+120|0;h[P>>3]=+h[e+112>>3];Q=V+128|0;h[Q>>3]=+h[e+120>>3];y=V+136|0;h[y>>3]=+h[f>>3];z=V+144|0;h[z>>3]=+h[f+8>>3];e=V+152|0;h[e>>3]=+h[f+16>>3];k=V+160|0;h[k>>3]=+h[f+24>>3];m=V+168|0;h[m>>3]=+h[f+32>>3];n=V+176|0;h[n>>3]=+h[f+40>>3];o=V+184|0;h[o>>3]=+h[f+48>>3];p=V+192|0;h[p>>3]=+h[f+56>>3];q=V+200|0;h[q>>3]=+h[f+64>>3];r=V+208|0;h[r>>3]=+h[f+72>>3];s=V+216|0;h[s>>3]=+h[f+80>>3];t=V+224|0;h[t>>3]=+h[f+88>>3];u=V+232|0;h[u>>3]=+h[f+96>>3];v=V+240|0;h[v>>3]=+h[f+104>>3];w=V+248|0;h[w>>3]=+h[f+112>>3];x=V+256|0;h[x>>3]=+h[f+120>>3];j=V+264|0;a[j>>0]=i;A=V+268|0;c[A>>2]=0;f=c[R>>2]|0;if(f>>>0<(c[b+28>>2]|0)>>>0){c[f>>2]=86752;g=c[S>>2]|0;c[f+4>>2]=g;if(g){i=g+8|0;c[i>>2]=(c[i>>2]|0)+1;i=a[j>>0]|0}h[f+8>>3]=+h[B>>3];h[f+16>>3]=+h[C>>3];h[f+24>>3]=+h[D>>3];h[f+32>>3]=+h[E>>3];h[f+40>>3]=+h[F>>3];h[f+48>>3]=+h[G>>3];h[f+56>>3]=+h[H>>3];h[f+64>>3]=+h[I>>3];h[f+72>>3]=+h[J>>3];h[f+80>>3]=+h[K>>3];h[f+88>>3]=+h[L>>3];h[f+96>>3]=+h[M>>3];h[f+104>>3]=+h[N>>3];h[f+112>>3]=+h[O>>3];h[f+120>>3]=+h[P>>3];h[f+128>>3]=+h[Q>>3];h[f+136>>3]=+h[y>>3];h[f+144>>3]=+h[z>>3];h[f+152>>3]=+h[e>>3];h[f+160>>3]=+h[k>>3];h[f+168>>3]=+h[m>>3];h[f+176>>3]=+h[n>>3];h[f+184>>3]=+h[o>>3];h[f+192>>3]=+h[p>>3];h[f+200>>3]=+h[q>>3];h[f+208>>3]=+h[r>>3];h[f+216>>3]=+h[s>>3];h[f+224>>3]=+h[t>>3];h[f+232>>3]=+h[u>>3];h[f+240>>3]=+h[v>>3];h[f+248>>3]=+h[w>>3];h[f+256>>3]=+h[x>>3];a[f+264>>0]=i;i=c[A>>2]|0;c[f+268>>2]=i;if(i|0){Q=i+(c[(c[i>>2]|0)+-12>>2]|0)+8|0;c[Q>>2]=(c[Q>>2]|0)+1}c[R>>2]=(c[R>>2]|0)+272}else vja(T,V);c[V>>2]=86752;i=c[A>>2]|0;if(i|0?(W=i+(c[(c[i>>2]|0)+-12>>2]|0)|0,R=W+8|0,V=c[R>>2]|0,c[R>>2]=V-1,(V|0)==1):0)UU(W,1,1);c[A>>2]=0;i=c[S>>2]|0;if(i|0?(V=i+8|0,W=c[V>>2]|0,c[V>>2]=W-1,(W|0)==1):0)UU(i,1,1);i=c[T>>2]|0;j=i+(U*272|0)|0;i=c[i+(U*272|0)+268>>2]|0;if(!i)Jk[c[(c[j>>2]|0)+8>>2]&1023](j,b);else Nk[c[c[i>>2]>>2]&255](i,b,j);g=kk[c[(c[b>>2]|0)+32>>2]&511](b,d)|0;i=d+628|0;j=c[i>>2]|0;if((j|0)==(g|0)){d=1;l=X;return d|0}c[i>>2]=g;if(g|0){d=g+(c[(c[g>>2]|0)+-12>>2]|0)+8|0;c[d>>2]=(c[d>>2]|0)+1}if(!j){d=1;l=X;return d|0}i=j+(c[(c[j>>2]|0)+-12>>2]|0)|0;b=i+8|0;d=c[b>>2]|0;c[b>>2]=d-1;if((d|0)!=1){d=1;l=X;return d|0}UU(i,1,1);d=1;l=X;return d|0}function vja(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;i=a+4|0;d=c[a>>2]|0;f=((c[i>>2]|0)-d|0)/272|0;e=f+1|0;if(e>>>0>15790320)g1a(a);j=a+8|0;h=((c[j>>2]|0)-d|0)/272|0;g=h<<1;g=h>>>0<7895160?(g>>>0<e>>>0?e:g):15790320;do if(g)if(g>>>0>15790320){j=db(8)|0;p0a(j,183738);c[j>>2]=110936;hb(j|0,65952,1066)}else{d=j0a(g*272|0)|0;break}else d=0;while(0);f=d+(f*272|0)|0;e=f;h=d+(g*272|0)|0;t2(f,b);b=f+272|0;g=c[a>>2]|0;d=c[i>>2]|0;if((d|0)==(g|0)){f=g;d=g}else{while(1){d=d+-272|0;t2(f+-272|0,d);f=e+-272|0;if((d|0)==(g|0))break;else e=f}e=f;f=c[a>>2]|0;d=c[i>>2]|0}c[a>>2]=e;c[i>>2]=b;c[j>>2]=h;e=f;if((d|0)!=(e|0))do{d=d+-272|0;Bk[c[c[d>>2]>>2]&2047](d)}while((d|0)!=(e|0));if(!f)return;l0a(f);return}function wja(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=c[a+20>>2]|0;d=(c[a+24>>2]|0)-f|0;e=(d|0)/272|0;if((c[a+16>>2]|0)==(b|0))return 0;a:do if(!d)a=0;else{a=0;do{if((c[f+(a*272|0)+4>>2]|0)==(b|0))break a;a=a+1|0}while(a>>>0<e>>>0);return 0}while(0);return (a>>>0<e>>>0?f+(a*272|0)|0:0)|0}function xja(a){a=a|0;var b=0;c[a+4>>2]=0;c[a+8>>2]=0;b=a+12|0;c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;c[a+24>>2]=2;c[a+28>>2]=0;b=a+32|0;c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;c[b+12>>2]=0;c[b+16>>2]=0;c[b+20>>2]=0;c[a>>2]=86804;b=a+56|0;c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;c[b+12>>2]=0;h[a+72>>3]=800.0;h[a+80>>3]=600.0;return}function yja(a,b){a=a|0;b=b|0;return}function zja(b,d){b=b|0;d=d|0;var e=0,f=0,i=0,j=0,k=0,m=0;m=l;l=l+16|0;e=m;c[b+4>>2]=0;c[b+8>>2]=0;c[b>>2]=87016;k=b+12|0;c[k>>2]=0;c[b+32>>2]=83012;c[b+40>>2]=0;Vi(e|0)|0;j=j0a(32)|0;c[j>>2]=83040;Wi(e|0,2)|0;Ui(j+4|0,e|0)|0;c[b+36>>2]=j;j=b+44|0;c[j>>2]=j;c[b+48>>2]=j;c[b+52>>2]=0;a[b+16>>0]=0;if((a[223712]|0)==0?g2a(223712)|0:0){h[27966]=1.0e-06;fc(1,e|0)|0;j=c[e>>2]|0;j=o2a(j|0,((j|0)<0)<<31>>31|0,1e6,0)|0;i=y;f=c[e+4>>2]|0;f=t2a(f|0,((f|0)<0)<<31>>31|0,1e3,0)|0;i=p2a(f|0,y|0,j|0,i|0)|0;j=223720;c[j>>2]=i;c[j+4>>2]=y}e=223720;j=c[e+4>>2]|0;i=b+24|0;c[i>>2]=c[e>>2];c[i+4>>2]=j;i=j0a(176)|0;c[i+4>>2]=0;j=i+8|0;c[j>>2]=0;e=i+12|0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[i+24>>2]=2;c[i+28>>2]=0;a[i+32>>0]=0;h[i+40>>3]=0.0;c[i>>2]=87596;e=i+48|0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[e+12>>2]=0;c[e+16>>2]=0;c[i+68>>2]=1280;c[i+72>>2]=1024;c[i+76>>2]=0;c[i+80>>2]=0;c[i+84>>2]=0;g[i+88>>2]=-1.0;g[i+92>>2]=1.0;g[i+96>>2]=-1.0;g[i+100>>2]=1.0;e=i+104|0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[e+12>>2]=0;c[i+120>>2]=1;e=i+124|0;f=e+48|0;do{c[e>>2]=0;e=e+4|0}while((e|0)<(f|0));e=c[k>>2]|0;if((e|0)==(i|0)){k=c[k>>2]|0;k=k+120|0;c[k>>2]=d;k=b+56|0;a[k>>0]=1;l=m;return}c[k>>2]=i;c[j>>2]=(c[j>>2]|0)+1;if(!e){k=c[k>>2]|0;k=k+120|0;c[k>>2]=d;k=b+56|0;a[k>>0]=1;l=m;return}i=e+8|0;j=c[i>>2]|0;c[i>>2]=j-1;if((j|0)!=1){k=c[k>>2]|0;k=k+120|0;c[k>>2]=d;k=b+56|0;a[k>>0]=1;l=m;return}UU(e,1,1);k=c[k>>2]|0;k=k+120|0;c[k>>2]=d;k=b+56|0;a[k>>0]=1;l=m;return}function Aja(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;e=a+32|0;gk[c[(c[e>>2]|0)+8>>2]&1023](e)|0;f=a+44|0;d=a+52|0;if(c[d>>2]|0?(b=c[a+48>>2]|0,a=(c[f>>2]|0)+4|0,g=c[b>>2]|0,c[g+4>>2]=c[a>>2],c[c[a>>2]>>2]=g,c[d>>2]=0,(b|0)!=(f|0)):0)do{a=b;b=c[b+4>>2]|0;d=c[a+8>>2]|0;if(d|0?(h=d+8|0,g=c[h>>2]|0,c[h>>2]=g-1,(g|0)==1):0)UU(d,1,1);l0a(a)}while((b|0)!=(f|0));gk[c[(c[e>>2]|0)+12>>2]&1023](e)|0;return}function Bja(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;f=a+32|0;gk[c[(c[f>>2]|0)+8>>2]&1023](f)|0;g=(b|0)==0;if(!g){e=b+8|0;c[e>>2]=(c[e>>2]|0)+1}d=a+44|0;e=j0a(12)|0;c[e>>2]=0;c[e+8>>2]=b;if(!g){h=b+8|0;c[h>>2]=(c[h>>2]|0)+1}c[e+4>>2]=d;h=c[d>>2]|0;c[e>>2]=h;c[h+4>>2]=e;c[d>>2]=e;h=a+52|0;c[h>>2]=(c[h>>2]|0)+1;if(!g?(g=b+8|0,h=c[g>>2]|0,c[g>>2]=h-1,(h|0)==1):0)UU(b,1,1);gk[c[(c[f>>2]|0)+12>>2]&1023](f)|0;return}function Cja(a,b,d){a=a|0;b=b|0;d=+d;var e=0,f=0,g=0.0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0;r=l;l=l+16|0;o=r;q=a+32|0;gk[c[(c[q>>2]|0)+8>>2]&1023](q)|0;p=a+52|0;if(!(c[p>>2]|0)){p=0;o=c[q>>2]|0;o=o+12|0;o=c[o>>2]|0;gk[o&1023](q)|0;l=r;return p|0}f=a+44|0;m=a+48|0;j=c[m>>2]|0;i=j;a:do if((j|0)==(f|0))n=j;else{e=f;a=f;while(1){if(!(+h[(c[(c[e>>2]|0)+8>>2]|0)+40>>3]>d)){n=a;break a}e=c[e>>2]|0;a=e;if((j|0)==(a|0)){n=j;break}}}while(0);if((j|0)==(n|0)){p=0;o=c[q>>2]|0;o=o+12|0;o=c[o>>2]|0;gk[o&1023](q)|0;l=r;return p|0}k=b+8|0;a=i;f=j;do{e=j0a(12)|0;c[e>>2]=0;a=c[a+8>>2]|0;c[e+8>>2]=a;if(a|0){j=a+8|0;c[j>>2]=(c[j>>2]|0)+1}c[e+4>>2]=b;a=c[b>>2]|0;c[e>>2]=a;c[a+4>>2]=e;c[b>>2]=e;c[k>>2]=(c[k>>2]|0)+1;a=c[f+4>>2]|0;f=a}while((n|0)!=(f|0));i=b+4|0;a=c[i>>2]|0;if((a|0)!=(b|0)){f=b;do{e=f;g=+h[(c[(c[e>>2]|0)+8>>2]|0)+40>>3];if(g>d){if(ZQ(4)|0){b=mr(lr(4)|0,170685,22)|0;b=TSa(mr(TSa(b,+h[(c[(c[e>>2]|0)+8>>2]|0)+40>>3])|0,168513,4)|0,d)|0;BSa(o,b+(c[(c[b>>2]|0)+-12>>2]|0)|0);k=cUa(o,230580)|0;k=kk[c[(c[k>>2]|0)+28>>2]&511](k,10)|0;dUa(o);VSa(b,k)|0;HSa(b)|0}h[(c[(c[e>>2]|0)+8>>2]|0)+40>>3]=d;a=c[i>>2]|0}else d=g;f=c[f>>2]|0}while((a|0)!=(f|0))}a=c[m>>2]|0;if((a|0)==(n|0)){p=1;o=c[q>>2]|0;o=o+12|0;o=c[o>>2]|0;gk[o&1023](q)|0;l=r;return p|0}o=(c[n>>2]|0)+4|0;m=c[a>>2]|0;c[m+4>>2]=c[o>>2];c[c[o>>2]>>2]=m;do{e=a;a=c[a+4>>2]|0;c[p>>2]=(c[p>>2]|0)+-1;f=c[e+8>>2]|0;if(f|0?(m=f+8|0,o=c[m>>2]|0,c[m>>2]=o-1,(o|0)==1):0)UU(f,1,1);l0a(e)}while((a|0)!=(n|0));a=1;p=c[q>>2]|0;p=p+12|0;p=c[p>>2]|0;gk[p&1023](q)|0;l=r;return a|0}function Dja(a,b,d,e,f,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;c[a+60>>2]=b;c[a+64>>2]=d;c[a+68>>2]=e;c[a+72>>2]=f;if(!h)return;g[a+88>>2]=0.0;g[a+96>>2]=0.0;g[a+92>>2]=+(e|0);g[a+100>>2]=+(f|0);return}function Eja(a,b,d){a=a|0;b=+b;d=+d;a=c[a+12>>2]|0;g[a+104>>2]=b;g[a+108>>2]=d;return}function Fja(a,b,d,e){a=a|0;b=+b;d=+d;e=+e;var f=0,i=0,j=0,k=0;i=l;l=l+16|0;j=i;k=c[a+12>>2]|0;g[k+104>>2]=b;g[k+108>>2]=d;f=j0a(176)|0;c[j>>2]=71296;c[j+4>>2]=0;Y3(f,k,j);c[f+48>>2]=(c[f+112>>2]|0)==0?16:8;h[f+40>>3]=e;Bja(a,f);l=i;return f|0}function Gja(a,b,d,e,f){a=a|0;b=+b;d=+d;e=e|0;f=+f;var i=0,j=0,k=0,m=0,n=0;n=l;l=l+16|0;k=n;m=c[a+12>>2]|0;g[m+104>>2]=b;g[m+108>>2]=d;switch(e|0){case 2:case 1:{i=e;j=3;break}case 3:{i=4;j=3;break}default:{}}if((j|0)==3){j=m+112|0;c[j>>2]=c[j>>2]|i}i=j0a(176)|0;c[k>>2]=71296;c[k+4>>2]=0;Y3(i,m,k);c[i+48>>2]=1;h[i+40>>3]=f;switch(e|0){case 2:case 1:break;case 3:{e=4;break}default:{Bja(a,i);l=n;return i|0}}c[i+84>>2]=e;Bja(a,i);l=n;return i|0}function Hja(a,b,d,e,f){a=a|0;b=+b;d=+d;e=e|0;f=+f;var i=0,j=0,k=0,m=0,n=0;n=l;l=l+16|0;k=n;m=c[a+12>>2]|0;g[m+104>>2]=b;g[m+108>>2]=d;switch(e|0){case 1:{i=-2;j=4;break}case 2:{i=-3;j=4;break}case 3:{i=-5;j=4;break}default:{}}if((j|0)==4){j=m+112|0;c[j>>2]=c[j>>2]&i}i=j0a(176)|0;c[k>>2]=71296;c[k+4>>2]=0;Y3(i,m,k);c[i+48>>2]=2;h[i+40>>3]=f;switch(e|0){case 2:case 1:break;case 3:{e=4;break}default:{Bja(a,i);l=n;return i|0}}c[i+84>>2]=e;Bja(a,i);l=n;return i|0}function Ija(a,b){a=a|0;b=+b;var d=0,e=0,f=0,g=0;e=l;l=l+16|0;f=e;d=j0a(176)|0;g=c[a+12>>2]|0;c[f>>2]=71296;c[f+4>>2]=0;Y3(d,g,f);c[d+48>>2]=128;h[d+40>>3]=b;Bja(a,d);l=e;return d|0}function Jja(b){b=b|0;var d=0,e=0,f=0;f=l;l=l+16|0;d=f;b=c[b+12>>2]|0;e=j0a(176)|0;if(!b){c[e+4>>2]=0;c[e+8>>2]=0;b=e+12|0;c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;c[e+24>>2]=2;c[e+28>>2]=0;a[e+32>>0]=0;h[e+40>>3]=0.0;c[e>>2]=87596;b=e+48|0;c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;c[b+12>>2]=0;c[b+16>>2]=0;c[e+68>>2]=1280;c[e+72>>2]=1024;c[e+76>>2]=0;c[e+80>>2]=0;c[e+84>>2]=0;g[e+88>>2]=-1.0;g[e+92>>2]=1.0;g[e+96>>2]=-1.0;g[e+100>>2]=1.0;b=e+104|0;c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;c[b+12>>2]=0;c[e+120>>2]=1;b=e+124|0;d=b+48|0;do{c[b>>2]=0;b=b+4|0}while((b|0)<(d|0));l=f;return e|0}else{c[d>>2]=71296;c[d+4>>2]=0;Y3(e,b,d);l=f;return e|0}return 0}
  6571. function RHa(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;a:do switch(a|0){case 4:{c=304088064;return c|0}case 8:{if(!b){c=318769153;return c|0}if((b|0)==224&(c|0)==28&(d|0)==3&(e|0)==0){c=336660481;return c|0}break}case 12:{if(!b){c=353504258;return c|0}if((b|0)==3840&(c|0)==240&(d|0)==15&(e|0)==0){c=353504258;return c|0}break}case 15:{if(!b){c=353570562;return c|0}else f=9;break}case 16:{if(!b){c=353701890;return c|0}else f=9;break}case 24:{if((b|0)<255){switch(b|0){case 0:{a=390076419;break}default:{f=24;break a}}return a|0}if((b|0)>=16711680){switch(b|0){case 16711680:{a=390076419;break}default:{f=24;break a}}return a|0}switch(b|0){case 255:break;default:{f=24;break a}}c=386930691;return c|0}case 32:{if(!b){c=370546692;return c|0}else f=24;break}case 1:{c=287310080;return c|0}default:{}}while(0);if((f|0)==9){a=(c|0)==992;k=(d|0)==31;i=(b|0)==31744&a&k;l=(e|0)==0;if(i&l){c=353570562;return c|0}m=(b|0)==31;j=m&a&(d|0)==31744;if(j&l){c=357764866;return c|0}a=(c|0)==240;f=(e|0)==61440;if((b|0)==3840&a&(d|0)==15&f){c=355602434;return c|0}g=(c|0)==3840;h=(e|0)==15;if((b|0)==61440&g&(d|0)==240&h){c=356651010;return c|0}if((b|0)==15&a&(d|0)==3840&f){c=359796738;return c|0}if((b|0)==240&g&(d|0)==61440&h){c=360845314;return c|0}f=(e|0)==32768;if(i&f){c=355667970;return c|0}h=(b|0)==63488;g=(c|0)==1984;a=(e|0)==1;if(h&g&(d|0)==62&a){c=356782082;return c|0}if(j&f){c=359862274;return c|0}f=(d|0)==63488;if((b|0)==62&g&f&a){c=360976386;return c|0}a=(c|0)==2016;if(h&a&k&l){c=353701890;return c|0}if(m&a&f&l){c=357896194;return c|0}}else if((f|0)==24){a=(c|0)==65280;i=(b|0)==16711680&a&(d|0)==255;g=(e|0)==0;if(i&g){c=370546692;return c|0}f=(c|0)==16711680;k=(b|0)==-16777216&f&(d|0)==65280;if(k&g){c=371595268;return c|0}j=(b|0)==255&a&(d|0)==16711680;if(j&g){c=374740996;return c|0}h=(b|0)==65280&f&(d|0)==-16777216;if(h&g){c=375789572;return c|0}f=(e|0)==-16777216;if(i&f){c=372645892;return c|0}a=(e|0)==255;if(k&a){c=373694468;return c|0}if(j&f){c=376840196;return c|0}if(h&a){c=377888772;return c|0}if((b|0)==1072693248&(c|0)==1047552&(d|0)==1023&(e|0)==-1073741824){c=372711428;return c|0}}c=0;return c|0}function SHa(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0;l=FAa(1,60)|0;if(!l){GAa(0)|0;l=0;return l|0}i=PHa(h)|0;j=l+4|0;c[j>>2]=i;if(!i){ABa(l);l=0;return l|0}h=l+8|0;c[h>>2]=e;i=l+12|0;c[i>>2]=f;e=l+16|0;c[e>>2]=VHa(l)|0;b=c[h>>2]|0;g=c[i>>2]|0;c[l+36>>2]=0;c[l+40>>2]=0;c[l+44>>2]=b;c[l+48>>2]=g;g=c[j>>2]|0;f=c[g>>2]|0;if((f|0)==0|(f&-268435456|0)==268435456?((f>>>24&15)+-1|0)>>>0<3:0){b=WHa(1<<(d[g+8>>0]|0))|0;if(!b){ABa(l);l=0;return l|0}if((c[b>>2]|0)==2){f=c[b+4>>2]|0;a[f>>0]=-1;a[f+1>>0]=-1;a[f+2>>0]=-1;a[f+4>>0]=0;a[f+5>>0]=0;a[f+6>>0]=0;if((yFa(c[j>>2]|0,b)|0)>=0)SBa(c[l+52>>2]|0)}else if((yFa(c[j>>2]|0,b)|0)>=0)SBa(c[l+52>>2]|0);XHa(b);b=c[h>>2]|0}do if(b|0?(k=c[i>>2]|0,k|0):0){b=sBa(N(c[e>>2]|0,k)|0)|0;c[l+20>>2]=b;if(b|0){xBa(b,0,N(c[e>>2]|0,c[i>>2]|0)|0)|0;break}ABa(l);GAa(0)|0;l=0;return l|0}while(0);b=YHa()|0;c[l+52>>2]=b;if(!b){ABa(l);l=0;return l|0}if(c[(c[j>>2]|0)+24>>2]|0?(i=b+68|0,k=c[i>>2]|0,j=k&-113|16,c[i>>2]=j,(j|0)!=(k|0)):0)SBa(b);c[l+56>>2]=1;return l|0}function THa(b,e,f,g,h,i){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0;j=e+4|0;k=c[j>>2]|0;if(!k){a[f>>0]=a[(c[16112+((d[e+28>>0]|0)<<2)>>2]|0)+((c[e+12>>2]&b)>>>(d[e+32>>0]|0))>>0]|0;a[g>>0]=a[(c[16112+((d[e+29>>0]|0)<<2)>>2]|0)+((c[e+16>>2]&b)>>>(d[e+33>>0]|0))>>0]|0;a[h>>0]=a[(c[16112+((d[e+30>>0]|0)<<2)>>2]|0)+((c[e+20>>2]&b)>>>(d[e+34>>0]|0))>>0]|0;a[i>>0]=a[(c[16112+((d[e+31>>0]|0)<<2)>>2]|0)+((c[e+24>>2]&b)>>>(d[e+35>>0]|0))>>0]|0;return}if((c[k>>2]|0)>>>0>b>>>0){a[f>>0]=a[(c[k+4>>2]|0)+(b<<2)>>0]|0;a[g>>0]=a[(c[(c[j>>2]|0)+4>>2]|0)+(b<<2)+1>>0]|0;a[h>>0]=a[(c[(c[j>>2]|0)+4>>2]|0)+(b<<2)+2>>0]|0;a[i>>0]=a[(c[(c[j>>2]|0)+4>>2]|0)+(b<<2)+3>>0]|0;return}else{a[i>>0]=0;a[h>>0]=0;a[g>>0]=0;a[f>>0]=0;return}}function UHa(a,b,e,f,g){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;h=c[a+4>>2]|0;if(!h){m=(e&255)>>>(d[a+29>>0]|0)<<(d[a+33>>0]|0)|(b&255)>>>(d[a+28>>0]|0)<<(d[a+32>>0]|0)|(f&255)>>>(d[a+30>>0]|0)<<(d[a+34>>0]|0)|(g&255)>>>(d[a+31>>0]|0)<<(d[a+35>>0]|0)&c[a+24>>2];return m|0}m=c[h>>2]|0;a:do if((m|0)>0){l=c[h+4>>2]|0;k=b&255;j=e&255;i=f&255;f=g&255;e=0;h=-1;a=0;do{n=(d[l+(e<<2)>>0]|0)-k|0;o=(d[l+(e<<2)+1>>0]|0)-j|0;g=(d[l+(e<<2)+2>>0]|0)-i|0;b=(d[l+(e<<2)+3>>0]|0)-f|0;b=(N(o,o)|0)+(N(n,n)|0)+(N(g,g)|0)+(N(b,b)|0)|0;if(b>>>0<h>>>0){a=e&255;if(!b)break a;else h=b}e=e+1|0}while((e|0)<(m|0))}else a=0;while(0);o=a&255;return o|0}function VHa(b){b=b|0;var e=0;e=c[b+4>>2]|0;b=N(c[b+8>>2]|0,d[e+9>>0]|0)|0;switch(a[e+8>>0]|0){case 1:{b=(b+7|0)/8|0;break}case 4:{b=(b+1|0)/2|0;break}default:{}}return b+3&-4|0}function WHa(a){a=a|0;var b=0,d=0,e=0,f=0;f=l;l=l+16|0;b=f;if((a|0)<1){c[b>>2]=196278;MAa(208008,b)|0;a=0;l=f;return a|0}b=sBa(16)|0;if(!b){GAa(0)|0;a=0;l=f;return a|0}d=a<<2;e=sBa(d)|0;c[b+4>>2]=e;if(!e){iBa(b);a=0;l=f;return a|0}else{c[b>>2]=a;c[b+8>>2]=1;c[b+12>>2]=1;xBa(e,255,d)|0;a=b;l=f;return a|0}return 0}function XHa(a){a=a|0;var b=0,d=0,e=0;d=l;l=l+16|0;b=d;if(!a){c[b>>2]=196270;MAa(208008,b)|0;l=d;return}e=a+12|0;b=c[e>>2]|0;c[e>>2]=b+-1;if((b|0)>1){l=d;return}iBa(c[a+4>>2]|0);iBa(a);l=d;return}function YHa(){var a=0;a=FAa(1,88)|0;if(!a){GAa(0)|0;a=0;return a|0}else{c[a+76>>2]=-1;return a|0}return 0}function ZHa(a){a=+a;return +(+z(+a))}function _Ha(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;j=a+52|0;f=c[j>>2]|0;h=f+68|0;g=c[h>>2]|0;if(!(g&512)){c[h>>2]=g|512;SBa(f);f=c[j>>2]|0;g=c[f+68>>2]|0}do if((g&371|0)==0?(i=c[c[a+4>>2]>>2]|0,(i|0)==(c[c[d+4>>2]>>2]|0)):0){if((i|0)==0|(i&-268435456|0)==268435456?((i>>>24&15)+-1|0)>>>0<3:0)break;k=$Ha(a,b,d,e)|0;return k|0}while(0);do if((c[f>>2]|0)==(d|0)){i=c[(c[d+4>>2]|0)+4>>2]|0;if(i|0?(c[f+80>>2]|0)!=(c[i+8>>2]|0):0){k=13;break}i=c[(c[a+4>>2]|0)+4>>2]|0;if((i|0)!=0?(c[f+84>>2]|0)!=(c[i+8>>2]|0):0)k=13}else k=13;while(0);do if((k|0)==13)if((yBa(a,d)|0)<0){k=-1;return k|0}else{f=c[j>>2]|0;break}while(0);k=mk[c[f+8>>2]&63](a,b,d,e)|0;return k|0}function $Ha(d,e,f,g){d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0;G=l;l=l+80|0;p=G+32|0;o=G+24|0;n=G+16|0;j=G+8|0;h=G+56|0;k=G+40|0;D=c[f+4>>2]|0;F=a[D+9>>0]|0;E=F&255;if((c[c[d+4>>2]>>2]|0)!=(c[D>>2]|0)){F=MAa(196329,G)|0;l=G;return F|0}do if(!e){c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=c[d+8>>2];c[h+12>>2]=c[d+12>>2];e=h}else{h=c[e>>2]|0;if((((h|0)>=0?(i=c[e+4>>2]|0,(i|0)>=0):0)?((c[e+8>>2]|0)+h|0)<=(c[d+8>>2]|0):0)?((c[e+12>>2]|0)+i|0)<=(c[d+12>>2]|0):0)break;F=MAa(196366,j)|0;l=G;return F|0}while(0);do if(!g){c[k>>2]=0;c[k+4>>2]=0;c[k+8>>2]=c[f+8>>2];c[k+12>>2]=c[f+12>>2]}else{h=c[g>>2]|0;if((((h|0)>=0?(m=c[g+4>>2]|0,(m|0)>=0):0)?((c[g+8>>2]|0)+h|0)<=(c[f+8>>2]|0):0)?((c[g+12>>2]|0)+m|0)<=(c[f+12>>2]|0):0){k=g;break}F=MAa(196396,n)|0;l=G;return F|0}while(0);if(c[f>>2]&2)if((rFa(f)|0)<0){F=MAa(196431,o)|0;l=G;return F|0}else D=1;else D=0;if(c[d>>2]&2)if((rFa(d)|0)<0){if(D|0)sFa(f);F=MAa(196466,p)|0;l=G;return F|0}else u=1;else u=0;C=c[k+12>>2]|0;v=(c[e+12>>2]<<16|0)/(C|0)|0;h=c[k+4>>2]|0;w=h+C|0;a:do if((C|0)>0){x=f+20|0;y=f+16|0;z=e+8|0;A=k+8|0;B=d+20|0;C=d+16|0;g=65536;i=0;j=c[e+4>>2]|0;while(1){q=(c[x>>2]|0)+(N(c[y>>2]|0,h)|0)|0;q=q+(N(c[k>>2]|0,E)|0)|0;if((g|0)>65535){s=~g;s=g+65536+((s|0)>-131072?s:-131072)|0;t=s>>>16;i=(c[B>>2]|0)+(N(c[C>>2]|0,j+t|0)|0)|0;i=i+(N(c[e>>2]|0,E)|0)|0;g=g+-65536-(s&-65536)|0;j=j+1+t|0}switch(F<<24>>24){case 1:{m=c[A>>2]|0;r=(c[z>>2]<<16|0)/(m|0)|0;if((m|0)>0){o=i;p=65536;n=0;while(1){if((p|0)>65535){t=~p;t=p+65536+((t|0)>-131072?t:-131072)|0;s=t>>>16;n=a[o+s>>0]|0;o=o+1+s|0;p=p+-65536-(t&-65536)|0}a[q>>0]=n;if((m|0)>1){p=p+r|0;m=m+-1|0;q=q+1|0}else break}}break}case 2:{m=c[A>>2]|0;r=(c[z>>2]<<16|0)/(m|0)|0;if((m|0)>0){o=i;p=65536;n=0;while(1){if((p|0)>65535){t=~p;t=p+65536+((t|0)>-131072?t:-131072)|0;s=t>>>16;n=b[o+(s<<1)>>1]|0;o=o+2+(s<<1)|0;p=p+-65536-(t&-65536)|0}b[q>>1]=n;if((m|0)>1){p=p+r|0;m=m+-1|0;q=q+2|0}else break}}break}case 3:{m=c[A>>2]|0;t=(c[z>>2]<<16|0)/(m|0)|0;if((m|0)>0){o=65536;n=i;p=0;r=0;s=0;while(1){if((o|0)>65535){p=~o;p=o+65536+((p|0)>-131072?p:-131072)|0;r=(p>>>16)*3|0;s=n+r|0;n=n+3+r|0;o=o+-65536-(p&-65536)|0;p=a[s>>0]|0;r=a[s+1>>0]|0;s=a[s+2>>0]|0}a[q>>0]=p;a[q+1>>0]=r;a[q+2>>0]=s;if((m|0)>1){o=o+t|0;m=m+-1|0;q=q+3|0}else break}}break}case 4:{m=c[A>>2]|0;r=(c[z>>2]<<16|0)/(m|0)|0;if((m|0)>0){o=i;p=65536;n=0;while(1){if((p|0)>65535){t=~p;t=p+65536+((t|0)>-131072?t:-131072)|0;s=t>>>16;n=c[o+(s<<2)>>2]|0;o=o+4+(s<<2)|0;p=p+-65536-(t&-65536)|0}c[q>>2]=n;if((m|0)>1){p=p+r|0;m=m+-1|0;q=q+4|0}else break}}break}default:{}}h=h+1|0;if((h|0)>=(w|0))break a;else g=g+v|0}}while(0);if(D|0)sFa(f);if(!u){F=0;l=G;return F|0}sFa(d);F=0;l=G;return F|0}function aIa(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0;g=l;l=l+16|0;if(b)if((c|0)>0){f=0;e=0;do{e=(BFa(a,b+(f<<4)|0,d)|0)+e|0;f=f+1|0}while((f|0)!=(c|0))}else e=0;else e=MAa(196553,g)|0;l=g;return e|0}function bIa(b,d,e,f,g,h,i,j){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,m=0,n=0,o=0,p=0,q=0,r=0;r=l;l=l+32|0;q=r+16|0;if(!b){q=MAa(196837,r)|0;l=r;return q|0}k=c[b+4>>2]|0;m=a[k+8>>0]|0;if((m&255)<8){q=MAa(196504,r+8|0)|0;l=r;return q|0}if((f+-1|0)>>>0<2){o=j&255;p=(((N(o,i&255)|0)>>>0)/255|0)&255;h=(((N(o,h&255)|0)>>>0)/255|0)&255;o=(((N(o,g&255)|0)>>>0)/255|0)&255}else{p=i;o=g}switch(m<<24>>24){case 15:{if((c[k+12>>2]|0)==31744)m=12;else n=12;break}case 16:{if((c[k+12>>2]|0)==63488)m=13;else n=12;break}case 32:{if((c[k+12>>2]|0)==16711680)m=(c[k+24>>2]|0)==0?9:8;else n=12;break}default:n=12}if((n|0)==12)m=(c[k+24>>2]|0)==0?11:10;if((e|0)<=0){q=0;l=r;return q|0}k=b+36|0;g=0;i=0;do{if(FFa(d+(g<<4)|0,k,q)|0)i=sk[m&15](b,q,f,o,h,p,j)|0;g=g+1|0}while((g|0)!=(e|0));l=r;return i|0}function cIa(a,b,e,f,g,h,i){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0;p=~i&255;switch(e|0){case 1:{i=c[b+8>>2]|0;e=c[b+12>>2]|0;j=(c[a+16>>2]|0)/(d[(c[a+4>>2]|0)+9>>0]|0|0)|0;n=j-i|0;if(!e)return 0;o=(i+3|0)/4|0;m=i&255;l=f&255;k=g&255;f=h&255;i=(c[a+20>>2]|0)+((N(c[b+4>>2]|0,j)|0)<<2)+(c[b>>2]<<2)|0;a:while(1){e=e+-1|0;switch(m&3){case 0:{q=o;s=i;i=5;break}case 3:{t=o;y=i;i=6;break}case 2:{z=o;E=i;i=7;break}case 1:{F=o;K=i;i=8;break}default:{i=9;break a}}while(1)if((i|0)==5){t=c[s>>2]|0;c[s>>2]=(((N(t>>>8&255,p)|0)>>>0)/255|0)+k<<8|(((N(t&255,p)|0)>>>0)/255|0)+f|(((N(t>>>16&255,p)|0)>>>0)/255|0)+l<<16;t=q;y=s+4|0;i=6;continue}else if((i|0)==6){z=c[y>>2]|0;c[y>>2]=(((N(z>>>8&255,p)|0)>>>0)/255|0)+k<<8|(((N(z&255,p)|0)>>>0)/255|0)+f|(((N(z>>>16&255,p)|0)>>>0)/255|0)+l<<16;z=t;E=y+4|0;i=7;continue}else if((i|0)==7){F=c[E>>2]|0;c[E>>2]=(((N(F>>>8&255,p)|0)>>>0)/255|0)+k<<8|(((N(F&255,p)|0)>>>0)/255|0)+f|(((N(F>>>16&255,p)|0)>>>0)/255|0)+l<<16;F=z;K=E+4|0;i=8;continue}else if((i|0)==8){i=c[K>>2]|0;c[K>>2]=(((N(i>>>8&255,p)|0)>>>0)/255|0)+k<<8|(((N(i&255,p)|0)>>>0)/255|0)+f|(((N(i>>>16&255,p)|0)>>>0)/255|0)+l<<16;i=K+4|0;if((F|0)>1){q=F+-1|0;s=i;i=5;continue}else break}if(!e){i=50;break}else i=i+(n<<2)|0}if((i|0)!=9)if((i|0)==50)return 0;break}case 2:{j=c[b+8>>2]|0;e=c[b+12>>2]|0;i=(c[a+16>>2]|0)/(d[(c[a+4>>2]|0)+9>>0]|0|0)|0;n=i-j|0;if(!e)return 0;i=(c[a+20>>2]|0)+((N(c[b+4>>2]|0,i)|0)<<2)|0;m=(j+3|0)/4|0;l=j&255;k=f&255;f=g&255;j=h&255;i=i+(c[b>>2]<<2)|0;b:while(1){e=e+-1|0;switch(l&3){case 0:{o=m;u=i;i=14;break}case 3:{v=m;A=i;i=15;break}case 2:{B=m;G=i;i=16;break}case 1:{H=m;L=i;i=17;break}default:{i=18;break b}}while(1)if((i|0)==14){A=c[u>>2]|0;v=(A>>>16&255)+k|0;i=(A>>>8&255)+f|0;A=(A&255)+j|0;c[u>>2]=(i>>>0<255?i:255)<<8|(A>>>0<255?A:255)|(v>>>0<255?v:255)<<16;v=o;A=u+4|0;i=15;continue}else if((i|0)==15){G=c[A>>2]|0;B=(G>>>16&255)+k|0;i=(G>>>8&255)+f|0;G=(G&255)+j|0;c[A>>2]=(i>>>0<255?i:255)<<8|(G>>>0<255?G:255)|(B>>>0<255?B:255)<<16;B=v;G=A+4|0;i=16;continue}else if((i|0)==16){L=c[G>>2]|0;H=(L>>>16&255)+k|0;i=(L>>>8&255)+f|0;L=(L&255)+j|0;c[G>>2]=(i>>>0<255?i:255)<<8|(L>>>0<255?L:255)|(H>>>0<255?H:255)<<16;H=B;L=G+4|0;i=17;continue}else if((i|0)==17){h=c[L>>2]|0;i=(h>>>16&255)+k|0;b=(h>>>8&255)+f|0;h=(h&255)+j|0;c[L>>2]=(b>>>0<255?b:255)<<8|(h>>>0<255?h:255)|(i>>>0<255?i:255)<<16;i=L+4|0;if((H|0)>1){o=H+-1|0;u=i;i=14;continue}else break}if(!e){i=50;break}else i=i+(n<<2)|0}if((i|0)!=18)if((i|0)==50)return 0;break}case 4:{j=c[b+8>>2]|0;e=c[b+12>>2]|0;i=(c[a+16>>2]|0)/(d[(c[a+4>>2]|0)+9>>0]|0|0)|0;n=i-j|0;if(!e)return 0;i=(c[a+20>>2]|0)+((N(c[b+4>>2]|0,i)|0)<<2)|0;m=(j+3|0)/4|0;l=j&255;k=f&255;f=g&255;j=h&255;i=i+(c[b>>2]<<2)|0;c:while(1){e=e+-1|0;switch(l&3){case 0:{r=m;w=i;i=23;break}case 3:{x=m;C=i;i=24;break}case 2:{D=m;I=i;i=25;break}case 1:{J=m;M=i;i=26;break}default:{i=27;break c}}while(1)if((i|0)==23){x=c[w>>2]|0;c[w>>2]=(((N(x>>>8&255,f)|0)>>>0)/255|0)<<8|(((N(x&255,j)|0)>>>0)/255|0)|(((N(x>>>16&255,k)|0)>>>0)/255|0)<<16;x=r;C=w+4|0;i=24;continue}else if((i|0)==24){D=c[C>>2]|0;c[C>>2]=(((N(D>>>8&255,f)|0)>>>0)/255|0)<<8|(((N(D&255,j)|0)>>>0)/255|0)|(((N(D>>>16&255,k)|0)>>>0)/255|0)<<16;D=x;I=C+4|0;i=25;continue}else if((i|0)==25){J=c[I>>2]|0;c[I>>2]=(((N(J>>>8&255,f)|0)>>>0)/255|0)<<8|(((N(J&255,j)|0)>>>0)/255|0)|(((N(J>>>16&255,k)|0)>>>0)/255|0)<<16;J=D;M=I+4|0;i=26;continue}else if((i|0)==26){i=c[M>>2]|0;c[M>>2]=(((N(i>>>8&255,f)|0)>>>0)/255|0)<<8|(((N(i&255,j)|0)>>>0)/255|0)|(((N(i>>>16&255,k)|0)>>>0)/255|0)<<16;i=M+4|0;if((J|0)>1){r=J+-1|0;w=i;i=23;continue}else break}if(!e){i=50;break}else i=i+(n<<2)|0}if((i|0)!=27)if((i|0)==50)return 0;break}default:{e=c[b+8>>2]|0;M=c[b+12>>2]|0;i=(c[a+16>>2]|0)/(d[(c[a+4>>2]|0)+9>>0]|0|0)|0;n=i-e|0;i=(c[a+20>>2]|0)+((N(c[b+4>>2]|0,i)|0)<<2)|0;i=i+(c[b>>2]<<2)|0;j=M+-1|0;if(!M)return 0;m=(e+3|0)/4|0;l=(g&255)<<8|(f&255)<<16|h&255;switch(e&3){case 0:{while(1){e=m;while(1){c[i>>2]=l;c[i+4>>2]=l;c[i+8>>2]=l;c[i+12>>2]=l;i=i+16|0;if((e|0)<=1)break;else e=e+-1|0}if(!j)break;else{i=i+(n<<2)|0;j=j+-1|0}}return 0}case 3:{k=(e|0)>4;while(1){c[i>>2]=l;c[i+4>>2]=l;c[i+8>>2]=l;e=i+12|0;if(k){f=m;while(1){c[e>>2]=l;e=i;i=i+16|0;c[i>>2]=l;c[e+20>>2]=l;c[e+24>>2]=l;e=e+28|0;if((f|0)<=2){i=e;break}else f=f+-1|0}}else i=e;if(!j)break;else{i=i+(n<<2)|0;j=j+-1|0}}return 0}case 2:{k=(e|0)>4;while(1){c[i>>2]=l;c[i+4>>2]=l;e=i+8|0;if(k){f=m;while(1){c[e>>2]=l;c[i+12>>2]=l;e=i;i=i+16|0;c[i>>2]=l;c[e+20>>2]=l;e=e+24|0;if((f|0)<=2){i=e;break}else f=f+-1|0}}else i=e;if(!j)break;else{i=i+(n<<2)|0;j=j+-1|0}}return 0}default:{k=(e|0)>4;while(1){c[i>>2]=l;e=i+4|0;if(k){f=m;while(1){c[e>>2]=l;c[i+8>>2]=l;c[i+12>>2]=l;e=i;i=i+16|0;c[i>>2]=l;e=e+20|0;if((f|0)<=2){i=e;break}else f=f+-1|0}}else i=e;if(!j)break;else{i=i+(n<<2)|0;j=j+-1|0}}return 0}}}}return 0}function dIa(a,b,e,f,g,h,i){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,O=0;O=i&255;p=O^255;switch(e|0){case 1:{i=c[b+8>>2]|0;e=c[b+12>>2]|0;j=(c[a+16>>2]|0)/(d[(c[a+4>>2]|0)+9>>0]|0|0)|0;n=j-i|0;if(!e)return 0;o=(i+3|0)/4|0;m=i&255;l=f&255;k=g&255;f=h&255;i=(c[a+20>>2]|0)+((N(c[b+4>>2]|0,j)|0)<<2)+(c[b>>2]<<2)|0;a:while(1){e=e+-1|0;switch(m&3){case 0:{q=o;s=i;i=5;break}case 3:{t=o;y=i;i=6;break}case 2:{z=o;E=i;i=7;break}case 1:{F=o;K=i;i=8;break}default:{i=9;break a}}while(1)if((i|0)==5){t=c[s>>2]|0;c[s>>2]=(((N(t>>>24,p)|0)>>>0)/255|0)+O<<24|(((N(t&255,p)|0)>>>0)/255|0)+f|(((N(t>>>16&255,p)|0)>>>0)/255|0)+l<<16|(((N(t>>>8&255,p)|0)>>>0)/255|0)+k<<8;t=q;y=s+4|0;i=6;continue}else if((i|0)==6){z=c[y>>2]|0;c[y>>2]=(((N(z>>>24,p)|0)>>>0)/255|0)+O<<24|(((N(z&255,p)|0)>>>0)/255|0)+f|(((N(z>>>16&255,p)|0)>>>0)/255|0)+l<<16|(((N(z>>>8&255,p)|0)>>>0)/255|0)+k<<8;z=t;E=y+4|0;i=7;continue}else if((i|0)==7){F=c[E>>2]|0;c[E>>2]=(((N(F>>>24,p)|0)>>>0)/255|0)+O<<24|(((N(F&255,p)|0)>>>0)/255|0)+f|(((N(F>>>16&255,p)|0)>>>0)/255|0)+l<<16|(((N(F>>>8&255,p)|0)>>>0)/255|0)+k<<8;F=z;K=E+4|0;i=8;continue}else if((i|0)==8){i=c[K>>2]|0;c[K>>2]=(((N(i>>>24,p)|0)>>>0)/255|0)+O<<24|(((N(i&255,p)|0)>>>0)/255|0)+f|(((N(i>>>16&255,p)|0)>>>0)/255|0)+l<<16|(((N(i>>>8&255,p)|0)>>>0)/255|0)+k<<8;i=K+4|0;if((F|0)>1){q=F+-1|0;s=i;i=5;continue}else break}if(!e){i=50;break}else i=i+(n<<2)|0}if((i|0)!=9)if((i|0)==50)return 0;break}case 2:{j=c[b+8>>2]|0;e=c[b+12>>2]|0;i=(c[a+16>>2]|0)/(d[(c[a+4>>2]|0)+9>>0]|0|0)|0;n=i-j|0;if(!e)return 0;i=(c[a+20>>2]|0)+((N(c[b+4>>2]|0,i)|0)<<2)|0;m=(j+3|0)/4|0;l=j&255;k=f&255;f=g&255;j=h&255;i=i+(c[b>>2]<<2)|0;b:while(1){e=e+-1|0;switch(l&3){case 0:{o=m;u=i;i=14;break}case 3:{v=m;A=i;i=15;break}case 2:{B=m;G=i;i=16;break}case 1:{H=m;L=i;i=17;break}default:{i=18;break b}}while(1)if((i|0)==14){i=c[u>>2]|0;A=(i>>>16&255)+k|0;v=(i>>>8&255)+f|0;h=(i&255)+j|0;c[u>>2]=(h>>>0<255?h:255)|i&-16777216|(A>>>0<255?A:255)<<16|(v>>>0<255?v:255)<<8;v=o;A=u+4|0;i=15;continue}else if((i|0)==15){i=c[A>>2]|0;G=(i>>>16&255)+k|0;B=(i>>>8&255)+f|0;h=(i&255)+j|0;c[A>>2]=(h>>>0<255?h:255)|i&-16777216|(G>>>0<255?G:255)<<16|(B>>>0<255?B:255)<<8;B=v;G=A+4|0;i=16;continue}else if((i|0)==16){i=c[G>>2]|0;L=(i>>>16&255)+k|0;H=(i>>>8&255)+f|0;h=(i&255)+j|0;c[G>>2]=(h>>>0<255?h:255)|i&-16777216|(L>>>0<255?L:255)<<16|(H>>>0<255?H:255)<<8;H=B;L=G+4|0;i=17;continue}else if((i|0)==17){b=c[L>>2]|0;h=(b>>>16&255)+k|0;i=(b>>>8&255)+f|0;g=(b&255)+j|0;c[L>>2]=(g>>>0<255?g:255)|b&-16777216|(h>>>0<255?h:255)<<16|(i>>>0<255?i:255)<<8;i=L+4|0;if((H|0)>1){o=H+-1|0;u=i;i=14;continue}else break}if(!e){i=50;break}else i=i+(n<<2)|0}if((i|0)!=18)if((i|0)==50)return 0;break}case 4:{j=c[b+8>>2]|0;e=c[b+12>>2]|0;i=(c[a+16>>2]|0)/(d[(c[a+4>>2]|0)+9>>0]|0|0)|0;n=i-j|0;if(!e)return 0;i=(c[a+20>>2]|0)+((N(c[b+4>>2]|0,i)|0)<<2)|0;m=(j+3|0)/4|0;l=j&255;k=f&255;f=g&255;j=h&255;i=i+(c[b>>2]<<2)|0;c:while(1){e=e+-1|0;switch(l&3){case 0:{r=m;w=i;i=23;break}case 3:{x=m;C=i;i=24;break}case 2:{D=m;I=i;i=25;break}case 1:{J=m;M=i;i=26;break}default:{i=27;break c}}while(1)if((i|0)==23){x=c[w>>2]|0;c[w>>2]=((N(x&255,j)|0)>>>0)/255|0|x&-16777216|(((N(x>>>16&255,k)|0)>>>0)/255|0)<<16|(((N(x>>>8&255,f)|0)>>>0)/255|0)<<8;x=r;C=w+4|0;i=24;continue}else if((i|0)==24){D=c[C>>2]|0;c[C>>2]=((N(D&255,j)|0)>>>0)/255|0|D&-16777216|(((N(D>>>16&255,k)|0)>>>0)/255|0)<<16|(((N(D>>>8&255,f)|0)>>>0)/255|0)<<8;D=x;I=C+4|0;i=25;continue}else if((i|0)==25){J=c[I>>2]|0;c[I>>2]=((N(J&255,j)|0)>>>0)/255|0|J&-16777216|(((N(J>>>16&255,k)|0)>>>0)/255|0)<<16|(((N(J>>>8&255,f)|0)>>>0)/255|0)<<8;J=D;M=I+4|0;i=26;continue}else if((i|0)==26){i=c[M>>2]|0;c[M>>2]=((N(i&255,j)|0)>>>0)/255|0|i&-16777216|(((N(i>>>16&255,k)|0)>>>0)/255|0)<<16|(((N(i>>>8&255,f)|0)>>>0)/255|0)<<8;i=M+4|0;if((J|0)>1){r=J+-1|0;w=i;i=23;continue}else break}if(!e){i=50;break}else i=i+(n<<2)|0}if((i|0)!=27)if((i|0)==50)return 0;break}default:{e=c[b+8>>2]|0;M=c[b+12>>2]|0;i=(c[a+16>>2]|0)/(d[(c[a+4>>2]|0)+9>>0]|0|0)|0;n=i-e|0;i=(c[a+20>>2]|0)+((N(c[b+4>>2]|0,i)|0)<<2)|0;i=i+(c[b>>2]<<2)|0;j=M+-1|0;if(!M)return 0;m=(e+3|0)/4|0;l=(g&255)<<8|(f&255)<<16|h&255|O<<24;switch(e&3){case 0:{while(1){e=m;while(1){c[i>>2]=l;c[i+4>>2]=l;c[i+8>>2]=l;c[i+12>>2]=l;i=i+16|0;if((e|0)<=1)break;else e=e+-1|0}if(!j)break;else{i=i+(n<<2)|0;j=j+-1|0}}return 0}case 3:{k=(e|0)>4;while(1){c[i>>2]=l;c[i+4>>2]=l;c[i+8>>2]=l;e=i+12|0;if(k){f=m;while(1){c[e>>2]=l;e=i;i=i+16|0;c[i>>2]=l;c[e+20>>2]=l;c[e+24>>2]=l;e=e+28|0;if((f|0)<=2){i=e;break}else f=f+-1|0}}else i=e;if(!j)break;else{i=i+(n<<2)|0;j=j+-1|0}}return 0}case 2:{k=(e|0)>4;while(1){c[i>>2]=l;c[i+4>>2]=l;e=i+8|0;if(k){f=m;while(1){c[e>>2]=l;c[i+12>>2]=l;e=i;i=i+16|0;c[i>>2]=l;c[e+20>>2]=l;e=e+24|0;if((f|0)<=2){i=e;break}else f=f+-1|0}}else i=e;if(!j)break;else{i=i+(n<<2)|0;j=j+-1|0}}return 0}default:{k=(e|0)>4;while(1){c[i>>2]=l;e=i+4|0;if(k){f=m;while(1){c[e>>2]=l;c[i+8>>2]=l;c[i+12>>2]=l;e=i;i=i+16|0;c[i>>2]=l;e=e+20|0;if((f|0)<=2){i=e;break}else f=f+-1|0}}else i=e;if(!j)break;else{i=i+(n<<2)|0;j=j+-1|0}}return 0}}}}return 0}function eIa(f,g,h,i,j,k,l){f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;var m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0,Ga=0,Ha=0,Ia=0,Ja=0,Ka=0,La=0,Ma=0,Na=0,Oa=0,Pa=0,Qa=0,Ra=0,Sa=0,Ta=0,Ua=0,Va=0,Wa=0,Xa=0,Ya=0,Za=0,_a=0,$a=0,ab=0,bb=0,cb=0,db=0,eb=0,fb=0,gb=0,hb=0,ib=0,jb=0,kb=0,lb=0,mb=0,nb=0,ob=0,pb=0,qb=0,rb=0,sb=0,tb=0,ub=0,vb=0,wb=0,xb=0,yb=0,zb=0,Ab=0,Bb=0,Cb=0,Db=0,Eb=0,Fb=0,Gb=0,Hb=0,Ib=0,Jb=0,Kb=0,Lb=0,Mb=0,Nb=0,Ob=0,Pb=0,Qb=0,Rb=0,Sb=0,Tb=0,Ub=0,Vb=0,Wb=0,Xb=0,Yb=0,Zb=0,_b=0,$b=0,ac=0,bc=0,cc=0,dc=0,ec=0,fc=0,gc=0,hc=0,ic=0,jc=0,kc=0,lc=0,mc=0,nc=0,oc=0,pc=0,qc=0,rc=0,sc=0,tc=0,uc=0,vc=0,wc=0,xc=0,yc=0,zc=0,Ac=0,Bc=0,Cc=0,Dc=0,Ec=0,Fc=0,Gc=0,Hc=0,Ic=0,Jc=0,Kc=0,Lc=0,Mc=0,Nc=0,Oc=0,Pc=0,Qc=0,Rc=0,Sc=0,Tc=0,Uc=0,Vc=0,Wc=0,Xc=0,Yc=0,Zc=0,_c=0,$c=0,ad=0,bd=0,cd=0,dd=0,ed=0,fd=0,gd=0,hd=0,id=0,jd=0,kd=0,ld=0,md=0,nd=0,od=0,pd=0,qd=0,rd=0,sd=0,td=0,ud=0,vd=0,wd=0,xd=0,yd=0,zd=0,Ad=0,Bd=0,Cd=0,Dd=0,Ed=0,Fd=0,Gd=0,Hd=0,Id=0,Jd=0,Kd=0,Ld=0,Md=0,Nd=0,Od=0,Pd=0,Qd=0,Rd=0,Sd=0,Td=0,Ud=0,Vd=0,Wd=0,Xd=0,Yd=0,Zd=0,_d=0,$d=0,ae=0,be=0,ce=0,de=0,ee=0,fe=0,ge=0,he=0,ie=0,je=0,ke=0,le=0,me=0,ne=0,oe=0,pe=0,qe=0,re=0,se=0,te=0,ue=0,ve=0,we=0,xe=0,ye=0,ze=0,Ae=0,Be=0,Ce=0,De=0,Ee=0,Fe=0,Ge=0,He=0,Ie=0,Je=0,Ke=0,Le=0,Me=0,Ne=0,Oe=0,Pe=0,Qe=0,Re=0,Se=0,Te=0,Ue=0,Ve=0,We=0,Xe=0,Ye=0,Ze=0,_e=0,$e=0,af=0,bf=0,cf=0,df=0,ef=0,ff=0,gf=0,hf=0,jf=0,kf=0,lf=0,mf=0,nf=0,of=0,pf=0,qf=0,rf=0,sf=0,tf=0,uf=0,vf=0,wf=0,xf=0,yf=0,zf=0,Af=0,Bf=0,Cf=0,Df=0,Ef=0,Ff=0,Gf=0,Hf=0,If=0,Jf=0,Kf=0,Lf=0,Mf=0,Nf=0,Of=0,Pf=0,Qf=0,Rf=0,Sf=0,Tf=0,Uf=0,Vf=0,Wf=0,Xf=0,Yf=0,Zf=0,_f=0,$f=0,ag=0,bg=0,cg=0,dg=0,eg=0,fg=0,gg=0,hg=0,ig=0,jg=0,kg=0,lg=0,mg=0,ng=0,og=0,pg=0,qg=0,rg=0,sg=0,tg=0,ug=0,vg=0,wg=0,xg=0,yg=0,zg=0,Ag=0,Bg=0,Cg=0,Dg=0,Eg=0,Fg=0,Gg=0,Hg=0,Ig=0,Jg=0,Kg=0,Lg=0,Mg=0,Ng=0,Og=0,Pg=0,Qg=0,Rg=0,Sg=0,Tg=0,Ug=0,Vg=0,Wg=0,Xg=0,Yg=0,Zg=0,_g=0,$g=0,ah=0,bh=0,ch=0,dh=0,eh=0,fh=0,gh=0,hh=0,ih=0,jh=0,kh=0,lh=0,mh=0,nh=0,oh=0,ph=0,qh=0,rh=0,sh=0,th=0,uh=0,vh=0,wh=0,xh=0,yh=0,zh=0,Ah=0,Bh=0,Ch=0,Dh=0,Eh=0,Fh=0,Gh=0,Hh=0,Ih=0,Jh=0,Kh=0,Lh=0,Mh=0,Nh=0,Oh=0,Ph=0,Qh=0,Rh=0,Sh=0,Th=0,Uh=0,Vh=0,Wh=0,Xh=0,Yh=0,Zh=0,_h=0,$h=0,ai=0,bi=0,ci=0,di=0,ei=0,fi=0,gi=0,hi=0,ii=0,ji=0,ki=0,li=0,mi=0,ni=0,oi=0,pi=0,qi=0,ri=0,si=0,ti=0,ui=0;ti=c[f+4>>2]|0;si=~l&255;y=a[ti+9>>0]|0;m=y&255;switch(y<<24>>24){case 2:{switch(h|0){case 1:{l=c[g+8>>2]|0;h=c[g+12>>2]|0;n=(c[f+16>>2]|0)/(m|0)|0;A=n-l|0;if(!h){ui=0;return ui|0}B=(l+3|0)/4|0;z=l&255;q=ti+28|0;r=ti+12|0;s=ti+32|0;t=ti+29|0;u=ti+16|0;v=ti+33|0;w=ti+30|0;x=ti+20|0;y=ti+34|0;p=i&255;o=j&255;i=k&255;m=ti+24|0;l=(c[f+20>>2]|0)+((N(c[g+4>>2]|0,n)|0)<<1)+(c[g>>2]<<1)|0;a:while(1){h=h+-1|0;switch(z&3){case 0:{Dh=a[q>>0]|0;Wh=a[t>>0]|0;$h=a[w>>0]|0;Da=B;Ja=l;hh=Dh;uh=c[r>>2]|0;wh=a[s>>0]|0;Dh=c[16112+((Dh&255)<<2)>>2]|0;Lh=Wh;Ph=c[u>>2]|0;Uh=a[v>>0]|0;Wh=c[16112+((Wh&255)<<2)>>2]|0;Xh=$h;Yh=c[x>>2]|0;Zh=a[y>>0]|0;$h=c[16112+(($h&255)<<2)>>2]|0;ri=c[m>>2]|0;l=10;break}case 3:{Ee=a[q>>0]|0;Kd=Ee&255;De=a[s>>0]|0;Ce=a[t>>0]|0;Sd=Ce&255;Be=a[v>>0]|0;Ae=a[w>>0]|0;Zd=Ae&255;ze=a[y>>0]|0;Ka=B;Va=l;xb=Kd;yb=De&255;zb=Sd;Ab=Be&255;Bb=Zd;Cb=ze&255;Gd=c[r>>2]|0;Kd=c[16112+(Kd<<2)>>2]|0;Od=c[u>>2]|0;Sd=c[16112+(Sd<<2)>>2]|0;Td=c[x>>2]|0;Zd=c[16112+(Zd<<2)>>2]|0;le=c[m>>2]|0;l=11;break}case 2:{ye=a[q>>0]|0;$e=ye&255;xe=a[s>>0]|0;ve=a[t>>0]|0;eg=ve&255;ue=a[v>>0]|0;te=a[w>>0]|0;sg=te&255;se=a[y>>0]|0;Wa=B;fb=l;Db=$e;Eb=xe&255;Fb=eg;Gb=ue&255;Hb=sg;Ib=se&255;we=c[r>>2]|0;$e=c[16112+($e<<2)>>2]|0;Bf=c[u>>2]|0;eg=c[16112+(eg<<2)>>2]|0;rg=c[x>>2]|0;sg=c[16112+(sg<<2)>>2]|0;tg=c[m>>2]|0;l=12;break}case 1:{re=a[q>>0]|0;vg=re&255;qe=a[s>>0]|0;pe=a[t>>0]|0;xg=pe&255;oe=a[v>>0]|0;ne=a[w>>0]|0;zg=ne&255;me=a[y>>0]|0;gb=B;rb=l;Jb=vg;Kb=qe&255;Lb=xg;Mb=oe&255;Nb=zg;Ob=me&255;ug=c[r>>2]|0;vg=c[16112+(vg<<2)>>2]|0;wg=c[u>>2]|0;xg=c[16112+(xg<<2)>>2]|0;yg=c[x>>2]|0;zg=c[16112+(zg<<2)>>2]|0;Ag=c[m>>2]|0;l=13;break}default:{l=14;break a}}while(1)if((l|0)==10){xb=hh&255;Ka=e[Ja>>1]|0;yb=wh&255;zb=Lh&255;Ab=Uh&255;Bb=Xh&255;Cb=Zh&255;b[Ja>>1]=((((N(d[Wh+((Ph&Ka)>>>Ab)>>0]|0,si)|0)>>>0)/255|0)+o|0)>>>zb<<Ab|((((N(d[Dh+((uh&Ka)>>>yb)>>0]|0,si)|0)>>>0)/255|0)+p|0)>>>xb<<yb|ri|((((N(d[$h+((Yh&Ka)>>>Cb)>>0]|0,si)|0)>>>0)/255|0)+i|0)>>>Bb<<Cb;Ka=Da;Va=Ja+2|0;Gd=uh;Kd=Dh;Od=Ph;Sd=Wh;Td=Yh;Zd=$h;le=ri;ze=Zh;Ae=Xh;Be=Uh;Ce=Lh;De=wh;Ee=hh;l=11;continue}else if((l|0)==11){Wa=e[Va>>1]|0;b[Va>>1]=((((N(d[Sd+((Od&Wa)>>>Ab)>>0]|0,si)|0)>>>0)/255|0)+o|0)>>>zb<<Ab|((((N(d[Kd+((Gd&Wa)>>>yb)>>0]|0,si)|0)>>>0)/255|0)+p|0)>>>xb<<yb|le|((((N(d[Zd+((Td&Wa)>>>Cb)>>0]|0,si)|0)>>>0)/255|0)+i|0)>>>Bb<<Cb;Wa=Ka;fb=Va+2|0;Db=xb;Eb=yb;Fb=zb;Gb=Ab;Hb=Bb;Ib=Cb;se=ze;te=Ae;ue=Be;ve=Ce;we=Gd;xe=De;ye=Ee;$e=Kd;Bf=Od;eg=Sd;rg=Td;sg=Zd;tg=le;l=12;continue}else if((l|0)==12){gb=e[fb>>1]|0;b[fb>>1]=((((N(d[eg+((Bf&gb)>>>Gb)>>0]|0,si)|0)>>>0)/255|0)+o|0)>>>Fb<<Gb|((((N(d[$e+((we&gb)>>>Eb)>>0]|0,si)|0)>>>0)/255|0)+p|0)>>>Db<<Eb|tg|((((N(d[sg+((rg&gb)>>>Ib)>>0]|0,si)|0)>>>0)/255|0)+i|0)>>>Hb<<Ib;gb=Wa;rb=fb+2|0;Jb=Db;Kb=Eb;Lb=Fb;Mb=Gb;Nb=Hb;Ob=Ib;me=se;ne=te;oe=ue;pe=ve;qe=xe;re=ye;ug=we;vg=$e;wg=Bf;xg=eg;yg=rg;zg=sg;Ag=tg;l=13;continue}else if((l|0)==13){l=e[rb>>1]|0;b[rb>>1]=((((N(d[xg+((wg&l)>>>Mb)>>0]|0,si)|0)>>>0)/255|0)+o|0)>>>Lb<<Mb|((((N(d[vg+((ug&l)>>>Kb)>>0]|0,si)|0)>>>0)/255|0)+p|0)>>>Jb<<Kb|Ag|((((N(d[zg+((yg&l)>>>Ob)>>0]|0,si)|0)>>>0)/255|0)+i|0)>>>Nb<<Ob;l=rb+2|0;if((gb|0)>1){Da=gb+-1|0;Ja=l;hh=re;uh=ug;wh=qe;Dh=vg;Lh=pe;Ph=wg;Uh=oe;Wh=xg;Xh=ne;Yh=yg;Zh=me;$h=zg;ri=Ag;l=10;continue}else break}if(!h){ui=0;l=117;break}else l=l+(A<<1)|0}if((l|0)!=14)if((l|0)==117)return ui|0;break}case 2:{h=c[g+8>>2]|0;z=c[g+12>>2]|0;l=(c[f+16>>2]|0)/(m|0)|0;B=l-h|0;if(!z){ui=0;return ui|0}l=(c[f+20>>2]|0)+((N(c[g+4>>2]|0,l)|0)<<1)|0;A=(h+3|0)/4|0;y=h&255;p=ti+28|0;q=ti+12|0;r=ti+32|0;s=ti+29|0;t=ti+16|0;u=ti+33|0;v=ti+30|0;w=ti+20|0;x=ti+34|0;o=i&255;i=j&255;n=k&255;m=ti+24|0;l=l+(c[g>>2]<<1)|0;h=z;b:while(1){h=h+-1|0;switch(y&3){case 0:{Eg=a[p>>0]|0;Ig=a[s>>0]|0;Mg=a[v>>0]|0;Ea=A;La=l;Bg=Eg;Cg=c[q>>2]|0;Dg=a[r>>0]|0;Eg=c[16112+((Eg&255)<<2)>>2]|0;Fg=Ig;Gg=c[t>>2]|0;Hg=a[u>>0]|0;Ig=c[16112+((Ig&255)<<2)>>2]|0;Jg=Mg;Kg=c[w>>2]|0;Lg=a[x>>0]|0;Mg=c[16112+((Mg&255)<<2)>>2]|0;Ng=c[m>>2]|0;l=23;break}case 3:{We=a[p>>0]|0;Pg=We&255;Ve=a[r>>0]|0;Ue=a[s>>0]|0;Rg=Ue&255;Te=a[u>>0]|0;Se=a[v>>0]|0;Tg=Se&255;Re=a[x>>0]|0;Ma=A;Xa=l;Pb=Pg;Qb=Ve&255;Rb=Rg;Sb=Te&255;Tb=Tg;Ub=Re&255;Og=c[q>>2]|0;Pg=c[16112+(Pg<<2)>>2]|0;Qg=c[t>>2]|0;Rg=c[16112+(Rg<<2)>>2]|0;Sg=c[w>>2]|0;Tg=c[16112+(Tg<<2)>>2]|0;Ug=c[m>>2]|0;l=24;break}case 2:{Qe=a[p>>0]|0;Wg=Qe&255;Pe=a[r>>0]|0;Oe=a[s>>0]|0;Yg=Oe&255;Ne=a[u>>0]|0;Me=a[v>>0]|0;_g=Me&255;Le=a[x>>0]|0;Ya=A;hb=l;Vb=Wg;Wb=Pe&255;Xb=Yg;Yb=Ne&255;Zb=_g;_b=Le&255;Vg=c[q>>2]|0;Wg=c[16112+(Wg<<2)>>2]|0;Xg=c[t>>2]|0;Yg=c[16112+(Yg<<2)>>2]|0;Zg=c[w>>2]|0;_g=c[16112+(_g<<2)>>2]|0;$g=c[m>>2]|0;l=25;break}case 1:{Ke=a[p>>0]|0;bh=Ke&255;Je=a[r>>0]|0;Ie=a[s>>0]|0;dh=Ie&255;He=a[u>>0]|0;Ge=a[v>>0]|0;fh=Ge&255;Fe=a[x>>0]|0;ib=A;sb=l;$b=bh;ac=Je&255;bc=dh;cc=He&255;dc=fh;ec=Fe&255;ah=c[q>>2]|0;bh=c[16112+(bh<<2)>>2]|0;ch=c[t>>2]|0;dh=c[16112+(dh<<2)>>2]|0;eh=c[w>>2]|0;fh=c[16112+(fh<<2)>>2]|0;gh=c[m>>2]|0;l=26;break}default:{l=27;break b}}while(1)if((l|0)==23){Pb=Bg&255;Ma=e[La>>1]|0;Qb=Dg&255;Rb=Fg&255;Sb=Hg&255;Tb=Jg&255;Ub=Lg&255;Xa=(d[Eg+((Cg&Ma)>>>Qb)>>0]|0)+o|0;Re=(d[Ig+((Gg&Ma)>>>Sb)>>0]|0)+i|0;Ma=(d[Mg+((Kg&Ma)>>>Ub)>>0]|0)+n|0;b[La>>1]=(Re>>>0<255?Re:255)>>>Rb<<Sb|(Xa>>>0<255?Xa:255)>>>Pb<<Qb|Ng|(Ma>>>0<255?Ma:255)>>>Tb<<Ub;Ma=Ea;Xa=La+2|0;Re=Lg;Se=Jg;Te=Hg;Ue=Fg;Ve=Dg;We=Bg;Og=Cg;Pg=Eg;Qg=Gg;Rg=Ig;Sg=Kg;Tg=Mg;Ug=Ng;l=24;continue}else if((l|0)==24){Ya=e[Xa>>1]|0;hb=(d[Pg+((Og&Ya)>>>Qb)>>0]|0)+o|0;Vb=(d[Rg+((Qg&Ya)>>>Sb)>>0]|0)+i|0;Ya=(d[Tg+((Sg&Ya)>>>Ub)>>0]|0)+n|0;b[Xa>>1]=(Vb>>>0<255?Vb:255)>>>Rb<<Sb|(hb>>>0<255?hb:255)>>>Pb<<Qb|Ug|(Ya>>>0<255?Ya:255)>>>Tb<<Ub;Ya=Ma;hb=Xa+2|0;Vb=Pb;Wb=Qb;Xb=Rb;Yb=Sb;Zb=Tb;_b=Ub;Le=Re;Me=Se;Ne=Te;Oe=Ue;Pe=Ve;Qe=We;Vg=Og;Wg=Pg;Xg=Qg;Yg=Rg;Zg=Sg;_g=Tg;$g=Ug;l=25;continue}else if((l|0)==25){ib=e[hb>>1]|0;sb=(d[Wg+((Vg&ib)>>>Wb)>>0]|0)+o|0;$b=(d[Yg+((Xg&ib)>>>Yb)>>0]|0)+i|0;ib=(d[_g+((Zg&ib)>>>_b)>>0]|0)+n|0;b[hb>>1]=($b>>>0<255?$b:255)>>>Xb<<Yb|(sb>>>0<255?sb:255)>>>Vb<<Wb|$g|(ib>>>0<255?ib:255)>>>Zb<<_b;ib=Ya;sb=hb+2|0;$b=Vb;ac=Wb;bc=Xb;cc=Yb;dc=Zb;ec=_b;Fe=Le;Ge=Me;He=Ne;Ie=Oe;Je=Pe;Ke=Qe;ah=Vg;bh=Wg;ch=Xg;dh=Yg;eh=Zg;fh=_g;gh=$g;l=26;continue}else if((l|0)==26){l=e[sb>>1]|0;ti=(d[bh+((ah&l)>>>ac)>>0]|0)+o|0;k=(d[dh+((ch&l)>>>cc)>>0]|0)+i|0;l=(d[fh+((eh&l)>>>ec)>>0]|0)+n|0;b[sb>>1]=(k>>>0<255?k:255)>>>bc<<cc|(ti>>>0<255?ti:255)>>>$b<<ac|gh|(l>>>0<255?l:255)>>>dc<<ec;l=sb+2|0;if((ib|0)>1){Ea=ib+-1|0;La=l;Bg=Ke;Cg=ah;Dg=Je;Eg=bh;Fg=Ie;Gg=ch;Hg=He;Ig=dh;Jg=Ge;Kg=eh;Lg=Fe;Mg=fh;Ng=gh;l=23;continue}else break}if(!h){ui=0;l=117;break}else l=l+(B<<1)|0}if((l|0)!=27)if((l|0)==117)return ui|0;break}case 4:{h=c[g+8>>2]|0;z=c[g+12>>2]|0;l=(c[f+16>>2]|0)/(m|0)|0;B=l-h|0;if(!z){ui=0;return ui|0}l=(c[f+20>>2]|0)+((N(c[g+4>>2]|0,l)|0)<<1)|0;A=(h+3|0)/4|0;y=h&255;p=ti+28|0;q=ti+12|0;r=ti+32|0;s=ti+29|0;t=ti+16|0;u=ti+33|0;v=ti+30|0;w=ti+20|0;x=ti+34|0;o=i&255;i=j&255;n=k&255;m=ti+24|0;l=l+(c[g>>2]<<1)|0;h=z;c:while(1){h=h+-1|0;switch(y&3){case 0:{lh=a[p>>0]|0;ph=a[s>>0]|0;th=a[v>>0]|0;Fa=A;Na=l;ih=lh;jh=c[q>>2]|0;kh=a[r>>0]|0;lh=c[16112+((lh&255)<<2)>>2]|0;mh=ph;nh=c[t>>2]|0;oh=a[u>>0]|0;ph=c[16112+((ph&255)<<2)>>2]|0;qh=th;rh=c[w>>2]|0;sh=a[x>>0]|0;th=c[16112+((th&255)<<2)>>2]|0;vh=c[m>>2]|0;l=36;break}case 3:{of=a[p>>0]|0;yh=of&255;nf=a[r>>0]|0;mf=a[s>>0]|0;Ah=mf&255;lf=a[u>>0]|0;kf=a[v>>0]|0;Ch=kf&255;jf=a[x>>0]|0;Oa=A;Za=l;fc=yh;gc=nf&255;hc=Ah;ic=lf&255;jc=Ch;kc=jf&255;xh=c[q>>2]|0;yh=c[16112+(yh<<2)>>2]|0;zh=c[t>>2]|0;Ah=c[16112+(Ah<<2)>>2]|0;Bh=c[w>>2]|0;Ch=c[16112+(Ch<<2)>>2]|0;Eh=c[m>>2]|0;l=37;break}case 2:{hf=a[p>>0]|0;Gh=hf&255;gf=a[r>>0]|0;ff=a[s>>0]|0;Ih=ff&255;ef=a[u>>0]|0;df=a[v>>0]|0;Kh=df&255;cf=a[x>>0]|0;_a=A;jb=l;lc=Gh;mc=gf&255;nc=Ih;oc=ef&255;pc=Kh;qc=cf&255;Fh=c[q>>2]|0;Gh=c[16112+(Gh<<2)>>2]|0;Hh=c[t>>2]|0;Ih=c[16112+(Ih<<2)>>2]|0;Jh=c[w>>2]|0;Kh=c[16112+(Kh<<2)>>2]|0;Mh=c[m>>2]|0;l=38;break}case 1:{bf=a[p>>0]|0;Oh=bf&255;af=a[r>>0]|0;_e=a[s>>0]|0;Rh=_e&255;Ze=a[u>>0]|0;Ye=a[v>>0]|0;Th=Ye&255;Xe=a[x>>0]|0;kb=A;tb=l;rc=Oh;sc=af&255;tc=Rh;uc=Ze&255;vc=Th;wc=Xe&255;Nh=c[q>>2]|0;Oh=c[16112+(Oh<<2)>>2]|0;Qh=c[t>>2]|0;Rh=c[16112+(Rh<<2)>>2]|0;Sh=c[w>>2]|0;Th=c[16112+(Th<<2)>>2]|0;Vh=c[m>>2]|0;l=39;break}default:{l=40;break c}}while(1)if((l|0)==36){fc=ih&255;Oa=e[Na>>1]|0;gc=kh&255;hc=mh&255;ic=oh&255;jc=qh&255;kc=sh&255;b[Na>>1]=(((N(d[ph+((nh&Oa)>>>ic)>>0]|0,i)|0)>>>0)/255|0)>>>hc<<ic|(((N(d[lh+((jh&Oa)>>>gc)>>0]|0,o)|0)>>>0)/255|0)>>>fc<<gc|vh|(((N(d[th+((rh&Oa)>>>kc)>>0]|0,n)|0)>>>0)/255|0)>>>jc<<kc;Oa=Fa;Za=Na+2|0;jf=sh;kf=qh;lf=oh;mf=mh;nf=kh;of=ih;xh=jh;yh=lh;zh=nh;Ah=ph;Bh=rh;Ch=th;Eh=vh;l=37;continue}else if((l|0)==37){_a=e[Za>>1]|0;b[Za>>1]=(((N(d[Ah+((zh&_a)>>>ic)>>0]|0,i)|0)>>>0)/255|0)>>>hc<<ic|(((N(d[yh+((xh&_a)>>>gc)>>0]|0,o)|0)>>>0)/255|0)>>>fc<<gc|Eh|(((N(d[Ch+((Bh&_a)>>>kc)>>0]|0,n)|0)>>>0)/255|0)>>>jc<<kc;_a=Oa;jb=Za+2|0;lc=fc;mc=gc;nc=hc;oc=ic;pc=jc;qc=kc;cf=jf;df=kf;ef=lf;ff=mf;gf=nf;hf=of;Fh=xh;Gh=yh;Hh=zh;Ih=Ah;Jh=Bh;Kh=Ch;Mh=Eh;l=38;continue}else if((l|0)==38){kb=e[jb>>1]|0;b[jb>>1]=(((N(d[Ih+((Hh&kb)>>>oc)>>0]|0,i)|0)>>>0)/255|0)>>>nc<<oc|(((N(d[Gh+((Fh&kb)>>>mc)>>0]|0,o)|0)>>>0)/255|0)>>>lc<<mc|Mh|(((N(d[Kh+((Jh&kb)>>>qc)>>0]|0,n)|0)>>>0)/255|0)>>>pc<<qc;kb=_a;tb=jb+2|0;rc=lc;sc=mc;tc=nc;uc=oc;vc=pc;wc=qc;Xe=cf;Ye=df;Ze=ef;_e=ff;af=gf;bf=hf;Nh=Fh;Oh=Gh;Qh=Hh;Rh=Ih;Sh=Jh;Th=Kh;Vh=Mh;l=39;continue}else if((l|0)==39){l=e[tb>>1]|0;b[tb>>1]=(((N(d[Rh+((Qh&l)>>>uc)>>0]|0,i)|0)>>>0)/255|0)>>>tc<<uc|(((N(d[Oh+((Nh&l)>>>sc)>>0]|0,o)|0)>>>0)/255|0)>>>rc<<sc|Vh|(((N(d[Th+((Sh&l)>>>wc)>>0]|0,n)|0)>>>0)/255|0)>>>vc<<wc;l=tb+2|0;if((kb|0)>1){Fa=kb+-1|0;Na=l;ih=bf;jh=Nh;kh=af;lh=Oh;mh=_e;nh=Qh;oh=Ze;ph=Rh;qh=Ye;rh=Sh;sh=Xe;th=Th;vh=Vh;l=36;continue}else break}if(!h){ui=0;l=117;break}else l=l+(B<<1)|0}if((l|0)!=40)if((l|0)==117)return ui|0;break}default:{h=c[g+8>>2]|0;si=c[g+12>>2]|0;l=(c[f+16>>2]|0)/(m|0)|0;y=l-h|0;l=(c[f+20>>2]|0)+((N(c[g+4>>2]|0,l)|0)<<1)|0;l=l+(c[g>>2]<<1)|0;m=si+-1|0;if(!si){ui=0;return ui|0}x=(h+3|0)/4|0;w=h&255;v=i&255;u=j&255;i=k&255;o=ti+28|0;p=ti+32|0;q=ti+29|0;r=ti+33|0;s=ti+30|0;t=ti+34|0;n=ti+24|0;if(!(w&3)){n=(u>>>(d[q>>0]|0)<<(d[r>>0]|0)|v>>>(d[o>>0]|0)<<(d[p>>0]|0)|c[n>>2]|i>>>(d[s>>0]|0)<<(d[t>>0]|0))&65535;while(1){h=x;while(1){b[l>>1]=n;b[l+2>>1]=n;b[l+4>>1]=n;b[l+6>>1]=n;l=l+8|0;if((h|0)<=1)break;else h=h+-1|0}if(!m){ui=0;break}else{l=l+(y<<1)|0;m=m+-1|0}}return ui|0}d:while(1){switch(w&3){case 1:{D=x;E=l;W=a[o>>0]|0;X=a[p>>0]|0;Y=a[q>>0]|0;Z=a[r>>0]|0;_=a[s>>0]|0;$=a[t>>0]|0;aa=c[n>>2]|0;l=56;break}case 3:{V=a[o>>0]|0;U=a[p>>0]|0;T=a[q>>0]|0;S=a[r>>0]|0;R=a[s>>0]|0;Q=a[t>>0]|0;P=c[n>>2]|0;z=x;A=l;F=(u>>>(T&255)<<(S&255)|v>>>(V&255)<<(U&255)|P|i>>>(R&255)<<(Q&255))&65535;l=54;break}case 2:{O=a[o>>0]|0;M=a[p>>0]|0;L=a[q>>0]|0;K=a[r>>0]|0;J=a[s>>0]|0;I=a[t>>0]|0;H=c[n>>2]|0;B=x;C=l;G=(u>>>(L&255)<<(K&255)|v>>>(O&255)<<(M&255)|H|i>>>(J&255)<<(I&255))&65535;l=55;break}default:{l=57;break d}}while(1)if((l|0)==54){b[A>>1]=F;B=z;C=A+2|0;G=F;H=P;I=Q;J=R;K=S;L=T;M=U;O=V;l=55;continue}else if((l|0)==55){b[C>>1]=G;D=B;E=C+2|0;W=O;X=M;Y=L;Z=K;_=J;$=I;aa=H;l=56;continue}else if((l|0)==56){l=(u>>>(Y&255)<<(Z&255)|v>>>(W&255)<<(X&255)|aa|i>>>(_&255)<<($&255))&65535;b[E>>1]=l;h=E+2|0;if((D|0)<=1)break;b[h>>1]=l;z=D+-1|0;A=E+4|0;F=l;P=aa;Q=$;R=_;S=Z;T=Y;U=X;V=W;l=54;continue}if(!m){ui=0;l=117;break}else{l=h+(y<<1)|0;m=m+-1|0}}if((l|0)!=57)if((l|0)==117)return ui|0}}break}case 4:{switch(h|0){case 1:{l=c[g+8>>2]|0;h=c[g+12>>2]|0;n=(c[f+16>>2]|0)/(m|0)|0;A=n-l|0;if(!h){ui=0;return ui|0}B=(l+3|0)/4|0;z=l&255;q=ti+28|0;r=ti+12|0;s=ti+32|0;t=ti+29|0;u=ti+16|0;v=ti+33|0;w=ti+30|0;x=ti+20|0;y=ti+34|0;p=i&255;o=j&255;i=k&255;m=ti+24|0;l=(c[f+20>>2]|0)+((N(c[g+4>>2]|0,n)|0)<<2)+(c[g>>2]<<2)|0;e:while(1){h=h+-1|0;switch(z&3){case 0:{bi=a[q>>0]|0;ei=a[t>>0]|0;hi=a[w>>0]|0;Ga=B;Pa=l;_h=bi;ai=a[s>>0]|0;bi=c[16112+((bi&255)<<2)>>2]|0;ci=ei;di=a[v>>0]|0;ei=c[16112+((ei&255)<<2)>>2]|0;fi=hi;gi=a[y>>0]|0;hi=c[16112+((hi&255)<<2)>>2]|0;l=67;break}case 3:{Hf=a[q>>0]|0;ii=Hf&255;Gf=a[s>>0]|0;Ff=a[t>>0]|0;ji=Ff&255;Ef=a[v>>0]|0;Df=a[w>>0]|0;ki=Df&255;Cf=a[y>>0]|0;Qa=B;$a=l;xc=ii;yc=Gf&255;zc=ji;Ac=Ef&255;Bc=ki;Cc=Cf&255;ii=c[16112+(ii<<2)>>2]|0;ji=c[16112+(ji<<2)>>2]|0;ki=c[16112+(ki<<2)>>2]|0;l=68;break}case 2:{Af=a[q>>0]|0;li=Af&255;zf=a[s>>0]|0;yf=a[t>>0]|0;mi=yf&255;xf=a[v>>0]|0;wf=a[w>>0]|0;ni=wf&255;vf=a[y>>0]|0;ab=B;lb=l;Dc=li;Ec=zf&255;Fc=mi;Gc=xf&255;Hc=ni;Ic=vf&255;li=c[16112+(li<<2)>>2]|0;mi=c[16112+(mi<<2)>>2]|0;ni=c[16112+(ni<<2)>>2]|0;l=69;break}case 1:{uf=a[q>>0]|0;oi=uf&255;tf=a[s>>0]|0;sf=a[t>>0]|0;pi=sf&255;rf=a[v>>0]|0;qf=a[w>>0]|0;qi=qf&255;pf=a[y>>0]|0;mb=B;ub=l;Jc=oi;Kc=tf&255;Lc=pi;Mc=rf&255;Nc=qi;Oc=pf&255;oi=c[16112+(oi<<2)>>2]|0;pi=c[16112+(pi<<2)>>2]|0;qi=c[16112+(qi<<2)>>2]|0;l=70;break}default:{l=71;break e}}while(1)if((l|0)==67){xc=_h&255;Qa=c[Pa>>2]|0;yc=ai&255;zc=ci&255;Ac=di&255;Bc=fi&255;Cc=gi&255;$a=((((N(d[ei+((c[u>>2]&Qa)>>>Ac)>>0]|0,si)|0)>>>0)/255|0)+o|0)>>>zc<<Ac|((((N(d[bi+((c[r>>2]&Qa)>>>yc)>>0]|0,si)|0)>>>0)/255|0)+p|0)>>>xc<<yc;Qa=((((N(d[hi+((c[x>>2]&Qa)>>>Cc)>>0]|0,si)|0)>>>0)/255|0)+i|0)>>>Bc<<Cc;c[Pa>>2]=$a|c[m>>2]|Qa;Qa=Ga;$a=Pa+4|0;Cf=gi;Df=fi;Ef=di;Ff=ci;Gf=ai;Hf=_h;ii=bi;ji=ei;ki=hi;l=68;continue}else if((l|0)==68){ab=c[$a>>2]|0;lb=((((N(d[ji+((c[u>>2]&ab)>>>Ac)>>0]|0,si)|0)>>>0)/255|0)+o|0)>>>zc<<Ac|((((N(d[ii+((c[r>>2]&ab)>>>yc)>>0]|0,si)|0)>>>0)/255|0)+p|0)>>>xc<<yc;ab=((((N(d[ki+((c[x>>2]&ab)>>>Cc)>>0]|0,si)|0)>>>0)/255|0)+i|0)>>>Bc<<Cc;c[$a>>2]=lb|c[m>>2]|ab;ab=Qa;lb=$a+4|0;Dc=xc;Ec=yc;Fc=zc;Gc=Ac;Hc=Bc;Ic=Cc;vf=Cf;wf=Df;xf=Ef;yf=Ff;zf=Gf;Af=Hf;li=ii;mi=ji;ni=ki;l=69;continue}else if((l|0)==69){mb=c[lb>>2]|0;ub=((((N(d[mi+((c[u>>2]&mb)>>>Gc)>>0]|0,si)|0)>>>0)/255|0)+o|0)>>>Fc<<Gc|((((N(d[li+((c[r>>2]&mb)>>>Ec)>>0]|0,si)|0)>>>0)/255|0)+p|0)>>>Dc<<Ec;mb=((((N(d[ni+((c[x>>2]&mb)>>>Ic)>>0]|0,si)|0)>>>0)/255|0)+i|0)>>>Hc<<Ic;c[lb>>2]=ub|c[m>>2]|mb;mb=ab;ub=lb+4|0;Jc=Dc;Kc=Ec;Lc=Fc;Mc=Gc;Nc=Hc;Oc=Ic;pf=vf;qf=wf;rf=xf;sf=yf;tf=zf;uf=Af;oi=li;pi=mi;qi=ni;l=70;continue}else if((l|0)==70){l=c[ub>>2]|0;ti=((((N(d[pi+((c[u>>2]&l)>>>Mc)>>0]|0,si)|0)>>>0)/255|0)+o|0)>>>Lc<<Mc|((((N(d[oi+((c[r>>2]&l)>>>Kc)>>0]|0,si)|0)>>>0)/255|0)+p|0)>>>Jc<<Kc;l=((((N(d[qi+((c[x>>2]&l)>>>Oc)>>0]|0,si)|0)>>>0)/255|0)+i|0)>>>Nc<<Oc;c[ub>>2]=ti|c[m>>2]|l;l=ub+4|0;if((mb|0)>1){Ga=mb+-1|0;Pa=l;_h=uf;ai=tf;bi=oi;ci=sf;di=rf;ei=pi;fi=qf;gi=pf;hi=qi;l=67;continue}else break}if(!h){ui=0;l=117;break}else l=l+(A<<2)|0}if((l|0)!=71)if((l|0)==117)return ui|0;break}case 2:{h=c[g+8>>2]|0;z=c[g+12>>2]|0;l=(c[f+16>>2]|0)/(m|0)|0;B=l-h|0;if(!z){ui=0;return ui|0}l=(c[f+20>>2]|0)+((N(c[g+4>>2]|0,l)|0)<<2)|0;A=(h+3|0)/4|0;y=h&255;p=ti+28|0;q=ti+12|0;r=ti+32|0;s=ti+29|0;t=ti+16|0;u=ti+33|0;v=ti+30|0;w=ti+20|0;x=ti+34|0;o=i&255;i=j&255;n=k&255;m=ti+24|0;l=l+(c[g>>2]<<2)|0;h=z;f:while(1){h=h+-1|0;switch(y&3){case 0:{zd=a[p>>0]|0;Cd=a[s>>0]|0;Fd=a[v>>0]|0;Ha=A;Ra=l;xd=zd;yd=a[r>>0]|0;zd=c[16112+((zd&255)<<2)>>2]|0;Ad=Cd;Bd=a[u>>0]|0;Cd=c[16112+((Cd&255)<<2)>>2]|0;Dd=Fd;Ed=a[x>>0]|0;Fd=c[16112+((Fd&255)<<2)>>2]|0;l=80;break}case 3:{Zf=a[p>>0]|0;Hd=Zf&255;Yf=a[r>>0]|0;Xf=a[s>>0]|0;Id=Xf&255;Wf=a[u>>0]|0;Vf=a[v>>0]|0;Jd=Vf&255;Uf=a[x>>0]|0;Sa=A;bb=l;Pc=Hd;Qc=Yf&255;Rc=Id;Sc=Wf&255;Tc=Jd;Uc=Uf&255;Hd=c[16112+(Hd<<2)>>2]|0;Id=c[16112+(Id<<2)>>2]|0;Jd=c[16112+(Jd<<2)>>2]|0;l=81;break}case 2:{Tf=a[p>>0]|0;Ld=Tf&255;Sf=a[r>>0]|0;Rf=a[s>>0]|0;Md=Rf&255;Qf=a[u>>0]|0;Pf=a[v>>0]|0;Nd=Pf&255;Of=a[x>>0]|0;cb=A;nb=l;Vc=Ld;Wc=Sf&255;Xc=Md;Yc=Qf&255;Zc=Nd;_c=Of&255;Ld=c[16112+(Ld<<2)>>2]|0;Md=c[16112+(Md<<2)>>2]|0;Nd=c[16112+(Nd<<2)>>2]|0;l=82;break}case 1:{Nf=a[p>>0]|0;Pd=Nf&255;Mf=a[r>>0]|0;Lf=a[s>>0]|0;Qd=Lf&255;Kf=a[u>>0]|0;Jf=a[v>>0]|0;Rd=Jf&255;If=a[x>>0]|0;ob=A;vb=l;$c=Pd;ad=Mf&255;bd=Qd;cd=Kf&255;dd=Rd;ed=If&255;Pd=c[16112+(Pd<<2)>>2]|0;Qd=c[16112+(Qd<<2)>>2]|0;Rd=c[16112+(Rd<<2)>>2]|0;l=83;break}default:{l=84;break f}}while(1)if((l|0)==80){Pc=xd&255;Sa=c[Ra>>2]|0;Qc=yd&255;Rc=Ad&255;Sc=Bd&255;Tc=Dd&255;Uc=Ed&255;bb=(d[zd+((c[q>>2]&Sa)>>>Qc)>>0]|0)+o|0;Hd=(d[Cd+((c[t>>2]&Sa)>>>Sc)>>0]|0)+i|0;Sa=(d[Fd+((c[w>>2]&Sa)>>>Uc)>>0]|0)+n|0;c[Ra>>2]=(Hd>>>0<255?Hd:255)>>>Rc<<Sc|(bb>>>0<255?bb:255)>>>Pc<<Qc|c[m>>2]|(Sa>>>0<255?Sa:255)>>>Tc<<Uc;Sa=Ha;bb=Ra+4|0;Hd=zd;Id=Cd;Jd=Fd;Uf=Ed;Vf=Dd;Wf=Bd;Xf=Ad;Yf=yd;Zf=xd;l=81;continue}else if((l|0)==81){cb=c[bb>>2]|0;nb=(d[Hd+((c[q>>2]&cb)>>>Qc)>>0]|0)+o|0;Vc=(d[Id+((c[t>>2]&cb)>>>Sc)>>0]|0)+i|0;cb=(d[Jd+((c[w>>2]&cb)>>>Uc)>>0]|0)+n|0;c[bb>>2]=(Vc>>>0<255?Vc:255)>>>Rc<<Sc|(nb>>>0<255?nb:255)>>>Pc<<Qc|c[m>>2]|(cb>>>0<255?cb:255)>>>Tc<<Uc;cb=Sa;nb=bb+4|0;Vc=Pc;Wc=Qc;Xc=Rc;Yc=Sc;Zc=Tc;_c=Uc;Ld=Hd;Md=Id;Nd=Jd;Of=Uf;Pf=Vf;Qf=Wf;Rf=Xf;Sf=Yf;Tf=Zf;l=82;continue}else if((l|0)==82){ob=c[nb>>2]|0;vb=(d[Ld+((c[q>>2]&ob)>>>Wc)>>0]|0)+o|0;$c=(d[Md+((c[t>>2]&ob)>>>Yc)>>0]|0)+i|0;ob=(d[Nd+((c[w>>2]&ob)>>>_c)>>0]|0)+n|0;c[nb>>2]=($c>>>0<255?$c:255)>>>Xc<<Yc|(vb>>>0<255?vb:255)>>>Vc<<Wc|c[m>>2]|(ob>>>0<255?ob:255)>>>Zc<<_c;ob=cb;vb=nb+4|0;$c=Vc;ad=Wc;bd=Xc;cd=Yc;dd=Zc;ed=_c;Pd=Ld;Qd=Md;Rd=Nd;If=Of;Jf=Pf;Kf=Qf;Lf=Rf;Mf=Sf;Nf=Tf;l=83;continue}else if((l|0)==83){l=c[vb>>2]|0;ti=(d[Pd+((c[q>>2]&l)>>>ad)>>0]|0)+o|0;k=(d[Qd+((c[t>>2]&l)>>>cd)>>0]|0)+i|0;l=(d[Rd+((c[w>>2]&l)>>>ed)>>0]|0)+n|0;c[vb>>2]=(k>>>0<255?k:255)>>>bd<<cd|(ti>>>0<255?ti:255)>>>$c<<ad|c[m>>2]|(l>>>0<255?l:255)>>>dd<<ed;l=vb+4|0;if((ob|0)>1){Ha=ob+-1|0;Ra=l;xd=Nf;yd=Mf;zd=Pd;Ad=Lf;Bd=Kf;Cd=Qd;Dd=Jf;Ed=If;Fd=Rd;l=80;continue}else break}if(!h){ui=0;l=117;break}else l=l+(B<<2)|0}if((l|0)!=84)if((l|0)==117)return ui|0;break}case 4:{h=c[g+8>>2]|0;z=c[g+12>>2]|0;l=(c[f+16>>2]|0)/(m|0)|0;B=l-h|0;if(!z){ui=0;return ui|0}l=(c[f+20>>2]|0)+((N(c[g+4>>2]|0,l)|0)<<2)|0;A=(h+3|0)/4|0;y=h&255;p=ti+28|0;q=ti+12|0;r=ti+32|0;s=ti+29|0;t=ti+16|0;u=ti+33|0;v=ti+30|0;w=ti+20|0;x=ti+34|0;o=i&255;i=j&255;n=k&255;m=ti+24|0;l=l+(c[g>>2]<<2)|0;h=z;g:while(1){h=h+-1|0;switch(y&3){case 0:{Wd=a[p>>0]|0;_d=a[s>>0]|0;be=a[v>>0]|0;Ia=A;Ta=l;Ud=Wd;Vd=a[r>>0]|0;Wd=c[16112+((Wd&255)<<2)>>2]|0;Xd=_d;Yd=a[u>>0]|0;_d=c[16112+((_d&255)<<2)>>2]|0;$d=be;ae=a[x>>0]|0;be=c[16112+((be&255)<<2)>>2]|0;l=93;break}case 3:{qg=a[p>>0]|0;ce=qg&255;pg=a[r>>0]|0;og=a[s>>0]|0;de=og&255;ng=a[u>>0]|0;mg=a[v>>0]|0;ee=mg&255;lg=a[x>>0]|0;Ua=A;db=l;fd=ce;gd=pg&255;hd=de;id=ng&255;jd=ee;kd=lg&255;ce=c[16112+(ce<<2)>>2]|0;de=c[16112+(de<<2)>>2]|0;ee=c[16112+(ee<<2)>>2]|0;l=94;break}case 2:{kg=a[p>>0]|0;fe=kg&255;jg=a[r>>0]|0;ig=a[s>>0]|0;ge=ig&255;hg=a[u>>0]|0;gg=a[v>>0]|0;he=gg&255;fg=a[x>>0]|0;eb=A;pb=l;ld=fe;md=jg&255;nd=ge;od=hg&255;pd=he;qd=fg&255;fe=c[16112+(fe<<2)>>2]|0;ge=c[16112+(ge<<2)>>2]|0;he=c[16112+(he<<2)>>2]|0;l=95;break}case 1:{dg=a[p>>0]|0;ie=dg&255;cg=a[r>>0]|0;bg=a[s>>0]|0;je=bg&255;ag=a[u>>0]|0;$f=a[v>>0]|0;ke=$f&255;_f=a[x>>0]|0;qb=A;wb=l;rd=ie;sd=cg&255;td=je;ud=ag&255;vd=ke;wd=_f&255;ie=c[16112+(ie<<2)>>2]|0;je=c[16112+(je<<2)>>2]|0;ke=c[16112+(ke<<2)>>2]|0;l=96;break}default:{l=97;break g}}while(1)if((l|0)==93){fd=Ud&255;Ua=c[Ta>>2]|0;gd=Vd&255;hd=Xd&255;id=Yd&255;jd=$d&255;kd=ae&255;db=(((N(d[_d+((c[t>>2]&Ua)>>>id)>>0]|0,i)|0)>>>0)/255|0)>>>hd<<id|(((N(d[Wd+((c[q>>2]&Ua)>>>gd)>>0]|0,o)|0)>>>0)/255|0)>>>fd<<gd;Ua=(((N(d[be+((c[w>>2]&Ua)>>>kd)>>0]|0,n)|0)>>>0)/255|0)>>>jd<<kd;c[Ta>>2]=db|c[m>>2]|Ua;Ua=Ia;db=Ta+4|0;ce=Wd;de=_d;ee=be;lg=ae;mg=$d;ng=Yd;og=Xd;pg=Vd;qg=Ud;l=94;continue}else if((l|0)==94){eb=c[db>>2]|0;pb=(((N(d[de+((c[t>>2]&eb)>>>id)>>0]|0,i)|0)>>>0)/255|0)>>>hd<<id|(((N(d[ce+((c[q>>2]&eb)>>>gd)>>0]|0,o)|0)>>>0)/255|0)>>>fd<<gd;eb=(((N(d[ee+((c[w>>2]&eb)>>>kd)>>0]|0,n)|0)>>>0)/255|0)>>>jd<<kd;c[db>>2]=pb|c[m>>2]|eb;eb=Ua;pb=db+4|0;ld=fd;md=gd;nd=hd;od=id;pd=jd;qd=kd;fe=ce;ge=de;he=ee;fg=lg;gg=mg;hg=ng;ig=og;jg=pg;kg=qg;l=95;continue}else if((l|0)==95){qb=c[pb>>2]|0;wb=(((N(d[ge+((c[t>>2]&qb)>>>od)>>0]|0,i)|0)>>>0)/255|0)>>>nd<<od|(((N(d[fe+((c[q>>2]&qb)>>>md)>>0]|0,o)|0)>>>0)/255|0)>>>ld<<md;qb=(((N(d[he+((c[w>>2]&qb)>>>qd)>>0]|0,n)|0)>>>0)/255|0)>>>pd<<qd;c[pb>>2]=wb|c[m>>2]|qb;qb=eb;wb=pb+4|0;rd=ld;sd=md;td=nd;ud=od;vd=pd;wd=qd;ie=fe;je=ge;ke=he;_f=fg;$f=gg;ag=hg;bg=ig;cg=jg;dg=kg;l=96;continue}else if((l|0)==96){l=c[wb>>2]|0;ti=(((N(d[je+((c[t>>2]&l)>>>ud)>>0]|0,i)|0)>>>0)/255|0)>>>td<<ud|(((N(d[ie+((c[q>>2]&l)>>>sd)>>0]|0,o)|0)>>>0)/255|0)>>>rd<<sd;l=(((N(d[ke+((c[w>>2]&l)>>>wd)>>0]|0,n)|0)>>>0)/255|0)>>>vd<<wd;c[wb>>2]=ti|c[m>>2]|l;l=wb+4|0;if((qb|0)>1){Ia=qb+-1|0;Ta=l;Ud=dg;Vd=cg;Wd=ie;Xd=bg;Yd=ag;_d=je;$d=$f;ae=_f;be=ke;l=93;continue}else break}if(!h){ui=0;l=117;break}else l=l+(B<<2)|0}if((l|0)!=97)if((l|0)==117)return ui|0;break}default:{h=c[g+8>>2]|0;si=c[g+12>>2]|0;l=(c[f+16>>2]|0)/(m|0)|0;z=l-h|0;l=(c[f+20>>2]|0)+((N(c[g+4>>2]|0,l)|0)<<2)|0;l=l+(c[g>>2]<<2)|0;m=si+-1|0;if(!si){ui=0;return ui|0}y=(h+3|0)/4|0;w=h&255;v=i&255;r=j&255;s=k&255;i=ti+28|0;o=ti+32|0;p=ti+29|0;q=ti+33|0;t=ti+30|0;u=ti+34|0;x=ti+24|0;if(!(w&3)){i=r>>>(d[p>>0]|0)<<(d[q>>0]|0)|v>>>(d[i>>0]|0)<<(d[o>>0]|0);n=s>>>(d[t>>0]|0)<<(d[u>>0]|0);while(1){h=y;while(1){c[l>>2]=i|c[x>>2]|n;c[l+4>>2]=i|c[x>>2]|n;c[l+8>>2]=i|c[x>>2]|n;c[l+12>>2]=i|c[x>>2]|n;l=l+16|0;if((h|0)<=1)break;else h=h+-1|0}if(!m){ui=0;break}else{l=l+(z<<2)|0;m=m+-1|0}}return ui|0}h:while(1){switch(w&3){case 1:{ea=y;ga=l;la=a[i>>0]|0;ma=a[o>>0]|0;na=a[p>>0]|0;oa=a[q>>0]|0;pa=a[t>>0]|0;qa=a[u>>0]|0;l=113;break}case 3:{Ca=a[i>>0]|0;Ba=a[o>>0]|0;Aa=a[p>>0]|0;za=a[q>>0]|0;ya=a[t>>0]|0;xa=a[u>>0]|0;ba=y;da=l;ha=r>>>(Aa&255)<<(za&255)|v>>>(Ca&255)<<(Ba&255);ia=s>>>(ya&255)<<(xa&255);l=111;break}case 2:{wa=a[i>>0]|0;va=a[o>>0]|0;ua=a[p>>0]|0;ta=a[q>>0]|0;sa=a[t>>0]|0;ra=a[u>>0]|0;ca=y;fa=l;ja=r>>>(ua&255)<<(ta&255)|v>>>(wa&255)<<(va&255);ka=s>>>(sa&255)<<(ra&255);l=112;break}default:{l=114;break h}}while(1)if((l|0)==111){c[da>>2]=ha|c[x>>2]|ia;ca=ba;fa=da+4|0;ja=ha;ka=ia;ra=xa;sa=ya;ta=za;ua=Aa;va=Ba;wa=Ca;l=112;continue}else if((l|0)==112){c[fa>>2]=ja|c[x>>2]|ka;ea=ca;ga=fa+4|0;la=wa;ma=va;na=ua;oa=ta;pa=sa;qa=ra;l=113;continue}else if((l|0)==113){l=r>>>(na&255)<<(oa&255)|v>>>(la&255)<<(ma&255);h=s>>>(pa&255)<<(qa&255);c[ga>>2]=l|c[x>>2]|h;n=ga+4|0;if((ea|0)<=1)break;c[n>>2]=l|c[x>>2]|h;ba=ea+-1|0;da=ga+8|0;ha=l;ia=h;xa=qa;ya=pa;za=oa;Aa=na;Ba=ma;Ca=la;l=111;continue}if(!m){ui=0;l=117;break}else{l=n+(z<<2)|0;m=m+-1|0}}if((l|0)!=114)if((l|0)==117)return ui|0}}break}default:{ui=GAa(4)|0;return ui|0}}return 0}function fIa(b,e,f,g,h,i,j){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0,Ga=0,Ha=0,Ia=0,Ja=0,Ka=0,La=0,Ma=0,Na=0,Oa=0,Pa=0,Qa=0,Ra=0,Sa=0,Ta=0,Ua=0,Va=0,Wa=0,Xa=0,Ya=0,Za=0,_a=0,$a=0,ab=0,bb=0,cb=0,db=0,eb=0,fb=0,gb=0,hb=0,ib=0,jb=0,kb=0,lb=0,mb=0,nb=0,ob=0,pb=0,qb=0,rb=0,sb=0,tb=0,ub=0,vb=0,wb=0,xb=0,yb=0,zb=0,Ab=0,Bb=0,Cb=0,Db=0,Eb=0,Fb=0,Gb=0,Hb=0,Ib=0,Jb=0,Kb=0,Lb=0,Mb=0,Nb=0,Ob=0,Pb=0,Qb=0,Rb=0,Sb=0,Tb=0,Ub=0,Vb=0,Wb=0,Xb=0,Yb=0,Zb=0,_b=0,$b=0,ac=0,bc=0,cc=0,dc=0,ec=0,fc=0,gc=0,hc=0,ic=0,jc=0,kc=0,lc=0,mc=0,nc=0,oc=0,pc=0,qc=0,rc=0,sc=0,tc=0,uc=0,vc=0,wc=0,xc=0,yc=0,zc=0,Ac=0,Bc=0,Cc=0,Dc=0,Ec=0,Fc=0,Gc=0,Hc=0,Ic=0,Jc=0,Kc=0,Lc=0,Mc=0,Nc=0,Oc=0,Pc=0,Qc=0,Rc=0,Sc=0,Tc=0,Uc=0,Vc=0,Wc=0,Xc=0,Yc=0,Zc=0,_c=0,$c=0,ad=0,bd=0,cd=0,dd=0,ed=0,fd=0,gd=0,hd=0,id=0,jd=0,kd=0,ld=0,md=0,nd=0,od=0,pd=0,qd=0,rd=0,sd=0,td=0,ud=0,vd=0,wd=0,xd=0,yd=0,zd=0,Ad=0,Bd=0,Cd=0,Dd=0,Ed=0,Fd=0,Gd=0,Hd=0,Id=0,Jd=0,Kd=0,Ld=0,Md=0,Nd=0,Od=0,Pd=0,Qd=0,Rd=0,Sd=0,Td=0,Ud=0,Vd=0,Wd=0,Xd=0,Yd=0,Zd=0,_d=0,$d=0,ae=0,be=0,ce=0,de=0,ee=0,fe=0,ge=0,he=0,ie=0,je=0,ke=0,le=0,me=0,ne=0,oe=0,pe=0,qe=0,re=0,se=0,te=0,ue=0,ve=0,we=0,xe=0,ye=0,ze=0,Ae=0,Be=0,Ce=0,De=0,Ee=0;De=c[b+4>>2]|0;Ce=j&255;da=Ce^255;x=a[De+9>>0]|0;k=x&255;if(x<<24>>24!=4){Ee=GAa(4)|0;return Ee|0}switch(f|0){case 1:{j=c[e+8>>2]|0;f=c[e+12>>2]|0;l=(c[b+16>>2]|0)/(k|0)|0;A=l-j|0;if(!f){Ee=0;return Ee|0}B=(j+3|0)/4|0;z=j&255;o=De+28|0;p=De+12|0;q=De+32|0;r=De+29|0;s=De+16|0;t=De+33|0;u=De+30|0;v=De+20|0;w=De+34|0;x=De+31|0;y=De+24|0;n=De+35|0;m=g&255;g=h&255;k=i&255;j=(c[b+20>>2]|0)+((N(c[e+4>>2]|0,l)|0)<<2)+(c[e>>2]<<2)|0;a:while(1){f=f+-1|0;switch(z&3){case 0:{Kc=a[o>>0]|0;_c=a[r>>0]|0;gd=a[u>>0]|0;$d=a[x>>0]|0;ea=B;ha=j;Cc=Kc;Dc=a[q>>0]|0;Kc=c[16112+((Kc&255)<<2)>>2]|0;Rc=_c;Wc=a[t>>0]|0;_c=c[16112+((_c&255)<<2)>>2]|0;cd=gd;fd=a[w>>0]|0;gd=c[16112+((gd&255)<<2)>>2]|0;hd=$d;wd=a[n>>0]|0;$d=c[16112+(($d&255)<<2)>>2]|0;j=10;break}case 3:{Gd=a[o>>0]|0;Ub=Gd&255;Fd=a[q>>0]|0;Ed=a[r>>0]|0;Vb=Ed&255;Dd=a[t>>0]|0;Cd=a[u>>0]|0;Wb=Cd&255;Bd=a[w>>0]|0;Ad=a[x>>0]|0;Xb=Ad&255;zd=a[n>>0]|0;ia=B;na=j;Ca=Ub;Da=Fd&255;Ea=Vb;Fa=Dd&255;Ga=Wb;Ha=Bd&255;Ia=Xb;Ja=zd&255;Ub=c[16112+(Ub<<2)>>2]|0;Vb=c[16112+(Vb<<2)>>2]|0;Wb=c[16112+(Wb<<2)>>2]|0;Xb=c[16112+(Xb<<2)>>2]|0;j=11;break}case 2:{yd=a[o>>0]|0;Yb=yd&255;xd=a[q>>0]|0;vd=a[r>>0]|0;Zb=vd&255;ud=a[t>>0]|0;td=a[u>>0]|0;_b=td&255;sd=a[w>>0]|0;rd=a[x>>0]|0;$b=rd&255;qd=a[n>>0]|0;oa=B;ta=j;Ka=Yb;La=xd&255;Ma=Zb;Na=ud&255;Oa=_b;Pa=sd&255;Qa=$b;Ra=qd&255;Yb=c[16112+(Yb<<2)>>2]|0;Zb=c[16112+(Zb<<2)>>2]|0;_b=c[16112+(_b<<2)>>2]|0;$b=c[16112+($b<<2)>>2]|0;j=12;break}case 1:{pd=a[o>>0]|0;ac=pd&255;od=a[q>>0]|0;nd=a[r>>0]|0;bc=nd&255;md=a[t>>0]|0;ld=a[u>>0]|0;cc=ld&255;kd=a[w>>0]|0;jd=a[x>>0]|0;dc=jd&255;id=a[n>>0]|0;ua=B;za=j;Sa=ac;Ta=od&255;Ua=bc;Va=md&255;Wa=cc;Xa=kd&255;Ya=dc;Za=id&255;ac=c[16112+(ac<<2)>>2]|0;bc=c[16112+(bc<<2)>>2]|0;cc=c[16112+(cc<<2)>>2]|0;dc=c[16112+(dc<<2)>>2]|0;j=13;break}default:{j=14;break a}}while(1)if((j|0)==10){Ca=Cc&255;ia=c[ha>>2]|0;Da=Dc&255;Ea=Rc&255;Fa=Wc&255;Ga=cd&255;Ha=fd&255;Ia=hd&255;Ja=wd&255;c[ha>>2]=((((N(da,d[_c+((c[s>>2]&ia)>>>Fa)>>0]|0)|0)>>>0)/255|0)+g|0)>>>Ea<<Fa|((((N(da,d[Kc+((c[p>>2]&ia)>>>Da)>>0]|0)|0)>>>0)/255|0)+m|0)>>>Ca<<Da|((((N(da,d[gd+((c[v>>2]&ia)>>>Ha)>>0]|0)|0)>>>0)/255|0)+k|0)>>>Ga<<Ha|((((N(da,d[$d+((c[y>>2]&ia)>>>Ja)>>0]|0)|0)>>>0)/255|0)+Ce|0)>>>Ia<<Ja;ia=ea;na=ha+4|0;Ub=Kc;Vb=_c;Wb=gd;Xb=$d;zd=wd;Ad=hd;Bd=fd;Cd=cd;Dd=Wc;Ed=Rc;Fd=Dc;Gd=Cc;j=11;continue}else if((j|0)==11){oa=c[na>>2]|0;c[na>>2]=((((N(da,d[Vb+((c[s>>2]&oa)>>>Fa)>>0]|0)|0)>>>0)/255|0)+g|0)>>>Ea<<Fa|((((N(da,d[Ub+((c[p>>2]&oa)>>>Da)>>0]|0)|0)>>>0)/255|0)+m|0)>>>Ca<<Da|((((N(da,d[Wb+((c[v>>2]&oa)>>>Ha)>>0]|0)|0)>>>0)/255|0)+k|0)>>>Ga<<Ha|((((N(da,d[Xb+((c[y>>2]&oa)>>>Ja)>>0]|0)|0)>>>0)/255|0)+Ce|0)>>>Ia<<Ja;oa=ia;ta=na+4|0;Ka=Ca;La=Da;Ma=Ea;Na=Fa;Oa=Ga;Pa=Ha;Qa=Ia;Ra=Ja;Yb=Ub;Zb=Vb;_b=Wb;$b=Xb;qd=zd;rd=Ad;sd=Bd;td=Cd;ud=Dd;vd=Ed;xd=Fd;yd=Gd;j=12;continue}else if((j|0)==12){ua=c[ta>>2]|0;c[ta>>2]=((((N(da,d[Zb+((c[s>>2]&ua)>>>Na)>>0]|0)|0)>>>0)/255|0)+g|0)>>>Ma<<Na|((((N(da,d[Yb+((c[p>>2]&ua)>>>La)>>0]|0)|0)>>>0)/255|0)+m|0)>>>Ka<<La|((((N(da,d[_b+((c[v>>2]&ua)>>>Pa)>>0]|0)|0)>>>0)/255|0)+k|0)>>>Oa<<Pa|((((N(da,d[$b+((c[y>>2]&ua)>>>Ra)>>0]|0)|0)>>>0)/255|0)+Ce|0)>>>Qa<<Ra;ua=oa;za=ta+4|0;Sa=Ka;Ta=La;Ua=Ma;Va=Na;Wa=Oa;Xa=Pa;Ya=Qa;Za=Ra;ac=Yb;bc=Zb;cc=_b;dc=$b;id=qd;jd=rd;kd=sd;ld=td;md=ud;nd=vd;od=xd;pd=yd;j=13;continue}else if((j|0)==13){j=c[za>>2]|0;c[za>>2]=((((N(da,d[bc+((c[s>>2]&j)>>>Va)>>0]|0)|0)>>>0)/255|0)+g|0)>>>Ua<<Va|((((N(da,d[ac+((c[p>>2]&j)>>>Ta)>>0]|0)|0)>>>0)/255|0)+m|0)>>>Sa<<Ta|((((N(da,d[cc+((c[v>>2]&j)>>>Xa)>>0]|0)|0)>>>0)/255|0)+k|0)>>>Wa<<Xa|((((N(da,d[dc+((c[y>>2]&j)>>>Za)>>0]|0)|0)>>>0)/255|0)+Ce|0)>>>Ya<<Za;j=za+4|0;if((ua|0)>1){ea=ua+-1|0;ha=j;Cc=pd;Dc=od;Kc=ac;Rc=nd;Wc=md;_c=bc;cd=ld;fd=kd;gd=cc;hd=jd;wd=id;$d=dc;j=10;continue}else break}if(!f){Ee=0;j=60;break}else j=j+(A<<2)|0}if((j|0)!=14)if((j|0)==60)return Ee|0;break}case 2:{f=c[e+8>>2]|0;z=c[e+12>>2]|0;j=(c[b+16>>2]|0)/(k|0)|0;B=j-f|0;if(!z){Ee=0;return Ee|0}j=(c[b+20>>2]|0)+((N(c[e+4>>2]|0,j)|0)<<2)|0;A=(f+3|0)/4|0;y=f&255;n=De+28|0;o=De+12|0;p=De+32|0;q=De+29|0;r=De+16|0;s=De+33|0;t=De+30|0;u=De+20|0;v=De+34|0;w=De+31|0;x=De+24|0;m=De+35|0;g=g&255;l=h&255;k=i&255;j=j+(c[e>>2]<<2)|0;f=z;b:while(1){f=f+-1|0;switch(y&3){case 0:{gc=a[n>>0]|0;jc=a[q>>0]|0;mc=a[t>>0]|0;pc=a[w>>0]|0;fa=A;ja=j;ec=gc;fc=a[p>>0]|0;gc=c[16112+((gc&255)<<2)>>2]|0;hc=jc;ic=a[s>>0]|0;jc=c[16112+((jc&255)<<2)>>2]|0;kc=mc;lc=a[v>>0]|0;mc=c[16112+((mc&255)<<2)>>2]|0;nc=pc;oc=a[m>>0]|0;pc=c[16112+((pc&255)<<2)>>2]|0;j=23;break}case 3:{de=a[n>>0]|0;qc=de&255;ce=a[p>>0]|0;be=a[q>>0]|0;rc=be&255;ae=a[s>>0]|0;_d=a[t>>0]|0;sc=_d&255;Zd=a[v>>0]|0;Yd=a[w>>0]|0;tc=Yd&255;Xd=a[m>>0]|0;ka=A;pa=j;_a=qc;$a=ce&255;ab=rc;bb=ae&255;cb=sc;db=Zd&255;eb=tc;fb=Xd&255;qc=c[16112+(qc<<2)>>2]|0;rc=c[16112+(rc<<2)>>2]|0;sc=c[16112+(sc<<2)>>2]|0;tc=c[16112+(tc<<2)>>2]|0;j=24;break}case 2:{Wd=a[n>>0]|0;uc=Wd&255;Vd=a[p>>0]|0;Ud=a[q>>0]|0;vc=Ud&255;Td=a[s>>0]|0;Sd=a[t>>0]|0;wc=Sd&255;Rd=a[v>>0]|0;Qd=a[w>>0]|0;xc=Qd&255;Pd=a[m>>0]|0;qa=A;va=j;gb=uc;hb=Vd&255;ib=vc;jb=Td&255;kb=wc;lb=Rd&255;mb=xc;nb=Pd&255;uc=c[16112+(uc<<2)>>2]|0;vc=c[16112+(vc<<2)>>2]|0;wc=c[16112+(wc<<2)>>2]|0;xc=c[16112+(xc<<2)>>2]|0;j=25;break}case 1:{Od=a[n>>0]|0;yc=Od&255;Nd=a[p>>0]|0;Md=a[q>>0]|0;zc=Md&255;Ld=a[s>>0]|0;Kd=a[t>>0]|0;Ac=Kd&255;Jd=a[v>>0]|0;Id=a[w>>0]|0;Bc=Id&255;Hd=a[m>>0]|0;wa=A;Aa=j;ob=yc;pb=Nd&255;qb=zc;rb=Ld&255;sb=Ac;tb=Jd&255;ub=Bc;vb=Hd&255;yc=c[16112+(yc<<2)>>2]|0;zc=c[16112+(zc<<2)>>2]|0;Ac=c[16112+(Ac<<2)>>2]|0;Bc=c[16112+(Bc<<2)>>2]|0;j=26;break}default:{j=27;break b}}while(1)if((j|0)==23){_a=ec&255;ka=c[ja>>2]|0;$a=fc&255;ab=hc&255;bb=ic&255;cb=kc&255;db=lc&255;eb=nc&255;fb=oc&255;qc=(d[gc+((c[o>>2]&ka)>>>$a)>>0]|0)+g|0;rc=(d[jc+((c[r>>2]&ka)>>>bb)>>0]|0)+l|0;pa=(d[mc+((c[u>>2]&ka)>>>db)>>0]|0)+k|0;c[ja>>2]=(rc>>>0<255?rc:255)>>>ab<<bb|(qc>>>0<255?qc:255)>>>_a<<$a|(pa>>>0<255?pa:255)>>>cb<<db|(d[pc+((c[x>>2]&ka)>>>fb)>>0]|0)>>>eb<<fb;ka=fa;pa=ja+4|0;qc=gc;rc=jc;sc=mc;tc=pc;Xd=oc;Yd=nc;Zd=lc;_d=kc;ae=ic;be=hc;ce=fc;de=ec;j=24;continue}else if((j|0)==24){qa=c[pa>>2]|0;gb=(d[qc+((c[o>>2]&qa)>>>$a)>>0]|0)+g|0;hb=(d[rc+((c[r>>2]&qa)>>>bb)>>0]|0)+l|0;va=(d[sc+((c[u>>2]&qa)>>>db)>>0]|0)+k|0;c[pa>>2]=(hb>>>0<255?hb:255)>>>ab<<bb|(gb>>>0<255?gb:255)>>>_a<<$a|(va>>>0<255?va:255)>>>cb<<db|(d[tc+((c[x>>2]&qa)>>>fb)>>0]|0)>>>eb<<fb;qa=ka;va=pa+4|0;gb=_a;hb=$a;ib=ab;jb=bb;kb=cb;lb=db;mb=eb;nb=fb;uc=qc;vc=rc;wc=sc;xc=tc;Pd=Xd;Qd=Yd;Rd=Zd;Sd=_d;Td=ae;Ud=be;Vd=ce;Wd=de;j=25;continue}else if((j|0)==25){wa=c[va>>2]|0;ob=(d[uc+((c[o>>2]&wa)>>>hb)>>0]|0)+g|0;pb=(d[vc+((c[r>>2]&wa)>>>jb)>>0]|0)+l|0;Aa=(d[wc+((c[u>>2]&wa)>>>lb)>>0]|0)+k|0;c[va>>2]=(pb>>>0<255?pb:255)>>>ib<<jb|(ob>>>0<255?ob:255)>>>gb<<hb|(Aa>>>0<255?Aa:255)>>>kb<<lb|(d[xc+((c[x>>2]&wa)>>>nb)>>0]|0)>>>mb<<nb;wa=qa;Aa=va+4|0;ob=gb;pb=hb;qb=ib;rb=jb;sb=kb;tb=lb;ub=mb;vb=nb;yc=uc;zc=vc;Ac=wc;Bc=xc;Hd=Pd;Id=Qd;Jd=Rd;Kd=Sd;Ld=Td;Md=Ud;Nd=Vd;Od=Wd;j=26;continue}else if((j|0)==26){j=c[Aa>>2]|0;De=(d[yc+((c[o>>2]&j)>>>pb)>>0]|0)+g|0;e=(d[zc+((c[r>>2]&j)>>>rb)>>0]|0)+l|0;i=(d[Ac+((c[u>>2]&j)>>>tb)>>0]|0)+k|0;c[Aa>>2]=(e>>>0<255?e:255)>>>qb<<rb|(De>>>0<255?De:255)>>>ob<<pb|(i>>>0<255?i:255)>>>sb<<tb|(d[Bc+((c[x>>2]&j)>>>vb)>>0]|0)>>>ub<<vb;j=Aa+4|0;if((wa|0)>1){fa=wa+-1|0;ja=j;ec=Od;fc=Nd;gc=yc;hc=Md;ic=Ld;jc=zc;kc=Kd;lc=Jd;mc=Ac;nc=Id;oc=Hd;pc=Bc;j=23;continue}else break}if(!f){Ee=0;j=60;break}else j=j+(B<<2)|0}if((j|0)!=27)if((j|0)==60)return Ee|0;break}case 4:{f=c[e+8>>2]|0;z=c[e+12>>2]|0;j=(c[b+16>>2]|0)/(k|0)|0;B=j-f|0;if(!z){Ee=0;return Ee|0}j=(c[b+20>>2]|0)+((N(c[e+4>>2]|0,j)|0)<<2)|0;A=(f+3|0)/4|0;y=f&255;n=De+28|0;o=De+12|0;p=De+32|0;q=De+29|0;r=De+16|0;s=De+33|0;t=De+30|0;u=De+20|0;v=De+34|0;w=De+31|0;x=De+24|0;m=De+35|0;g=g&255;l=h&255;k=i&255;j=j+(c[e>>2]<<2)|0;f=z;c:while(1){f=f+-1|0;switch(y&3){case 0:{Gc=a[n>>0]|0;Jc=a[q>>0]|0;Nc=a[t>>0]|0;Qc=a[w>>0]|0;ga=A;la=j;Ec=Gc;Fc=a[p>>0]|0;Gc=c[16112+((Gc&255)<<2)>>2]|0;Hc=Jc;Ic=a[s>>0]|0;Jc=c[16112+((Jc&255)<<2)>>2]|0;Lc=Nc;Mc=a[v>>0]|0;Nc=c[16112+((Nc&255)<<2)>>2]|0;Oc=Qc;Pc=a[m>>0]|0;Qc=c[16112+((Qc&255)<<2)>>2]|0;j=36;break}case 3:{Be=a[n>>0]|0;Sc=Be&255;Ae=a[p>>0]|0;ze=a[q>>0]|0;Tc=ze&255;ye=a[s>>0]|0;xe=a[t>>0]|0;Uc=xe&255;we=a[v>>0]|0;ve=a[w>>0]|0;Vc=ve&255;ue=a[m>>0]|0;ma=A;ra=j;wb=Sc;xb=Ae&255;yb=Tc;zb=ye&255;Ab=Uc;Bb=we&255;Cb=Vc;Db=ue&255;Sc=c[16112+(Sc<<2)>>2]|0;Tc=c[16112+(Tc<<2)>>2]|0;Uc=c[16112+(Uc<<2)>>2]|0;Vc=c[16112+(Vc<<2)>>2]|0;j=37;break}case 2:{te=a[n>>0]|0;Xc=te&255;se=a[p>>0]|0;re=a[q>>0]|0;Yc=re&255;qe=a[s>>0]|0;pe=a[t>>0]|0;Zc=pe&255;oe=a[v>>0]|0;ne=a[w>>0]|0;$c=ne&255;me=a[m>>0]|0;sa=A;xa=j;Eb=Xc;Fb=se&255;Gb=Yc;Hb=qe&255;Ib=Zc;Jb=oe&255;Kb=$c;Lb=me&255;Xc=c[16112+(Xc<<2)>>2]|0;Yc=c[16112+(Yc<<2)>>2]|0;Zc=c[16112+(Zc<<2)>>2]|0;$c=c[16112+($c<<2)>>2]|0;j=38;break}case 1:{le=a[n>>0]|0;ad=le&255;ke=a[p>>0]|0;je=a[q>>0]|0;bd=je&255;ie=a[s>>0]|0;he=a[t>>0]|0;dd=he&255;ge=a[v>>0]|0;fe=a[w>>0]|0;ed=fe&255;ee=a[m>>0]|0;ya=A;Ba=j;Mb=ad;Nb=ke&255;Ob=bd;Pb=ie&255;Qb=dd;Rb=ge&255;Sb=ed;Tb=ee&255;ad=c[16112+(ad<<2)>>2]|0;bd=c[16112+(bd<<2)>>2]|0;dd=c[16112+(dd<<2)>>2]|0;ed=c[16112+(ed<<2)>>2]|0;j=39;break}default:{j=40;break c}}while(1)if((j|0)==36){wb=Ec&255;ma=c[la>>2]|0;xb=Fc&255;yb=Hc&255;zb=Ic&255;Ab=Lc&255;Bb=Mc&255;Cb=Oc&255;Db=Pc&255;c[la>>2]=(((N(d[Jc+((c[r>>2]&ma)>>>zb)>>0]|0,l)|0)>>>0)/255|0)>>>yb<<zb|(((N(d[Gc+((c[o>>2]&ma)>>>xb)>>0]|0,g)|0)>>>0)/255|0)>>>wb<<xb|(((N(d[Nc+((c[u>>2]&ma)>>>Bb)>>0]|0,k)|0)>>>0)/255|0)>>>Ab<<Bb|(d[Qc+((c[x>>2]&ma)>>>Db)>>0]|0)>>>Cb<<Db;ma=ga;ra=la+4|0;Sc=Gc;Tc=Jc;Uc=Nc;Vc=Qc;ue=Pc;ve=Oc;we=Mc;xe=Lc;ye=Ic;ze=Hc;Ae=Fc;Be=Ec;j=37;continue}else if((j|0)==37){sa=c[ra>>2]|0;c[ra>>2]=(((N(d[Tc+((c[r>>2]&sa)>>>zb)>>0]|0,l)|0)>>>0)/255|0)>>>yb<<zb|(((N(d[Sc+((c[o>>2]&sa)>>>xb)>>0]|0,g)|0)>>>0)/255|0)>>>wb<<xb|(((N(d[Uc+((c[u>>2]&sa)>>>Bb)>>0]|0,k)|0)>>>0)/255|0)>>>Ab<<Bb|(d[Vc+((c[x>>2]&sa)>>>Db)>>0]|0)>>>Cb<<Db;sa=ma;xa=ra+4|0;Eb=wb;Fb=xb;Gb=yb;Hb=zb;Ib=Ab;Jb=Bb;Kb=Cb;Lb=Db;Xc=Sc;Yc=Tc;Zc=Uc;$c=Vc;me=ue;ne=ve;oe=we;pe=xe;qe=ye;re=ze;se=Ae;te=Be;j=38;continue}else if((j|0)==38){ya=c[xa>>2]|0;c[xa>>2]=(((N(d[Yc+((c[r>>2]&ya)>>>Hb)>>0]|0,l)|0)>>>0)/255|0)>>>Gb<<Hb|(((N(d[Xc+((c[o>>2]&ya)>>>Fb)>>0]|0,g)|0)>>>0)/255|0)>>>Eb<<Fb|(((N(d[Zc+((c[u>>2]&ya)>>>Jb)>>0]|0,k)|0)>>>0)/255|0)>>>Ib<<Jb|(d[$c+((c[x>>2]&ya)>>>Lb)>>0]|0)>>>Kb<<Lb;ya=sa;Ba=xa+4|0;Mb=Eb;Nb=Fb;Ob=Gb;Pb=Hb;Qb=Ib;Rb=Jb;Sb=Kb;Tb=Lb;ad=Xc;bd=Yc;dd=Zc;ed=$c;ee=me;fe=ne;ge=oe;he=pe;ie=qe;je=re;ke=se;le=te;j=39;continue}else if((j|0)==39){j=c[Ba>>2]|0;c[Ba>>2]=(((N(d[bd+((c[r>>2]&j)>>>Pb)>>0]|0,l)|0)>>>0)/255|0)>>>Ob<<Pb|(((N(d[ad+((c[o>>2]&j)>>>Nb)>>0]|0,g)|0)>>>0)/255|0)>>>Mb<<Nb|(((N(d[dd+((c[u>>2]&j)>>>Rb)>>0]|0,k)|0)>>>0)/255|0)>>>Qb<<Rb|(d[ed+((c[x>>2]&j)>>>Tb)>>0]|0)>>>Sb<<Tb;j=Ba+4|0;if((ya|0)>1){ga=ya+-1|0;la=j;Ec=le;Fc=ke;Gc=ad;Hc=je;Ic=ie;Jc=bd;Lc=he;Mc=ge;Nc=dd;Oc=fe;Pc=ee;Qc=ed;j=36;continue}else break}if(!f){Ee=0;j=60;break}else j=j+(B<<2)|0}if((j|0)!=40)if((j|0)==60)return Ee|0;break}default:{f=c[e+8>>2]|0;Be=c[e+12>>2]|0;j=(c[b+16>>2]|0)/(k|0)|0;x=j-f|0;j=(c[b+20>>2]|0)+((N(c[e+4>>2]|0,j)|0)<<2)|0;j=j+(c[e>>2]<<2)|0;k=Be+-1|0;if(!Be){Ee=0;return Ee|0}w=(f+3|0)/4|0;v=f&255;u=g&255;t=h&255;g=i&255;m=De+28|0;n=De+32|0;o=De+29|0;p=De+33|0;q=De+30|0;r=De+34|0;s=De+31|0;l=De+35|0;if(!(v&3)){l=t>>>(d[o>>0]|0)<<(d[p>>0]|0)|u>>>(d[m>>0]|0)<<(d[n>>0]|0)|g>>>(d[q>>0]|0)<<(d[r>>0]|0)|Ce>>>(d[s>>0]|0)<<(d[l>>0]|0);while(1){f=w;while(1){c[j>>2]=l;c[j+4>>2]=l;c[j+8>>2]=l;c[j+12>>2]=l;j=j+16|0;if((f|0)<=1)break;else f=f+-1|0}if(!k){Ee=0;break}else{j=j+(x<<2)|0;k=k+-1|0}}return Ee|0}d:while(1){switch(v&3){case 1:{B=w;D=j;G=a[m>>0]|0;H=a[n>>0]|0;I=a[o>>0]|0;J=a[p>>0]|0;K=a[q>>0]|0;L=a[r>>0]|0;M=a[s>>0]|0;O=a[l>>0]|0;j=56;break}case 3:{ca=a[m>>0]|0;ba=a[n>>0]|0;aa=a[o>>0]|0;$=a[p>>0]|0;_=a[q>>0]|0;Z=a[r>>0]|0;Y=a[s>>0]|0;X=a[l>>0]|0;y=w;A=j;E=t>>>(aa&255)<<($&255)|u>>>(ca&255)<<(ba&255)|g>>>(_&255)<<(Z&255)|Ce>>>(Y&255)<<(X&255);j=54;break}case 2:{W=a[m>>0]|0;V=a[n>>0]|0;U=a[o>>0]|0;T=a[p>>0]|0;S=a[q>>0]|0;R=a[r>>0]|0;Q=a[s>>0]|0;P=a[l>>0]|0;z=w;C=j;F=t>>>(U&255)<<(T&255)|u>>>(W&255)<<(V&255)|g>>>(S&255)<<(R&255)|Ce>>>(Q&255)<<(P&255);j=55;break}default:{j=57;break d}}while(1)if((j|0)==54){c[A>>2]=E;z=y;C=A+4|0;F=E;P=X;Q=Y;R=Z;S=_;T=$;U=aa;V=ba;W=ca;j=55;continue}else if((j|0)==55){c[C>>2]=F;B=z;D=C+4|0;G=W;H=V;I=U;J=T;K=S;L=R;M=Q;O=P;j=56;continue}else if((j|0)==56){j=t>>>(I&255)<<(J&255)|u>>>(G&255)<<(H&255)|g>>>(K&255)<<(L&255)|Ce>>>(M&255)<<(O&255);c[D>>2]=j;f=D+4|0;if((B|0)<=1)break;c[f>>2]=j;y=B+-1|0;A=D+8|0;E=j;X=O;Y=M;Z=L;_=K;$=J;aa=I;ba=H;ca=G;j=54;continue}if(!k){Ee=0;j=60;break}else{j=f+(x<<2)|0;k=k+-1|0}}if((j|0)!=57)if((j|0)==60)return Ee|0}}return 0}function gIa(a,f,g,h,i,j,k){a=a|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0;r=~k&255;switch(g|0){case 1:{k=c[f+8>>2]|0;g=c[f+12>>2]|0;l=(c[a+16>>2]|0)/(d[(c[a+4>>2]|0)+9>>0]|0|0)|0;p=l-k|0;if(!g)return 0;q=(k+3|0)/4|0;o=k&255;n=h&255;m=i&255;h=j&255;k=(c[a+20>>2]|0)+((N(c[f+4>>2]|0,l)|0)<<1)+(c[f>>2]<<1)|0;a:while(1){g=g+-1|0;switch(o&3){case 0:{s=q;u=k;Y=16608;k=6;break}case 3:{v=q;A=k;$=16608;k=7;break}case 2:{B=q;G=k;Q=16608;k=8;break}case 1:{H=q;M=k;R=16608;k=9;break}default:{k=10;break a}}while(1)if((k|0)==6){v=e[u>>1]|0;b[u>>1]=((((N(d[Y+(v>>>5&31)>>0]|0,r)|0)>>>0)/255|0)+m|0)>>>3<<5|((((N(d[Y+(v>>>10&31)>>0]|0,r)|0)>>>0)/255|0)+n|0)>>>3<<10|((((N(d[Y+(v&31)>>0]|0,r)|0)>>>0)/255|0)+h|0)>>>3;v=s;A=u+2|0;$=Y;k=7;continue}else if((k|0)==7){B=e[A>>1]|0;b[A>>1]=((((N(d[$+(B>>>5&31)>>0]|0,r)|0)>>>0)/255|0)+m|0)>>>3<<5|((((N(d[$+(B>>>10&31)>>0]|0,r)|0)>>>0)/255|0)+n|0)>>>3<<10|((((N(d[$+(B&31)>>0]|0,r)|0)>>>0)/255|0)+h|0)>>>3;B=v;G=A+2|0;Q=$;k=8;continue}else if((k|0)==8){H=e[G>>1]|0;b[G>>1]=((((N(d[Q+(H>>>5&31)>>0]|0,r)|0)>>>0)/255|0)+m|0)>>>3<<5|((((N(d[Q+(H>>>10&31)>>0]|0,r)|0)>>>0)/255|0)+n|0)>>>3<<10|((((N(d[Q+(H&31)>>0]|0,r)|0)>>>0)/255|0)+h|0)>>>3;H=B;M=G+2|0;R=Q;k=9;continue}else if((k|0)==9){k=e[M>>1]|0;b[M>>1]=((((N(d[R+(k>>>5&31)>>0]|0,r)|0)>>>0)/255|0)+m|0)>>>3<<5|((((N(d[R+(k>>>10&31)>>0]|0,r)|0)>>>0)/255|0)+n|0)>>>3<<10|((((N(d[R+(k&31)>>0]|0,r)|0)>>>0)/255|0)+h|0)>>>3;k=M+2|0;if((H|0)>1){s=H+-1|0;u=k;Y=R;k=6;continue}else break}if(!g){k=53;break}else k=k+(p<<1)|0}if((k|0)!=10)if((k|0)==53)return 0;break}case 2:{l=c[f+8>>2]|0;g=c[f+12>>2]|0;k=(c[a+16>>2]|0)/(d[(c[a+4>>2]|0)+9>>0]|0|0)|0;p=k-l|0;if(!g)return 0;k=(c[a+20>>2]|0)+((N(c[f+4>>2]|0,k)|0)<<1)|0;o=(l+3|0)/4|0;n=l&255;m=h&255;h=i&255;l=j&255;k=k+(c[f>>2]<<1)|0;b:while(1){g=g+-1|0;switch(n&3){case 0:{q=o;w=k;S=16608;k=16;break}case 3:{x=o;C=k;T=16608;k=17;break}case 2:{D=o;I=k;U=16608;k=18;break}case 1:{J=o;O=k;V=16608;k=19;break}default:{k=20;break b}}while(1)if((k|0)==16){x=e[w>>1]|0;C=(d[S+(x>>>10&31)>>0]|0)+m|0;T=(d[S+(x>>>5&31)>>0]|0)+h|0;x=(d[S+(x&31)>>0]|0)+l|0;b[w>>1]=(T>>>0<255?T:255)>>>3<<5|(C>>>0<255?C:255)>>>3<<10|(x>>>0<255?x:255)>>>3;x=q;C=w+2|0;T=S;k=17;continue}else if((k|0)==17){D=e[C>>1]|0;I=(d[T+(D>>>10&31)>>0]|0)+m|0;U=(d[T+(D>>>5&31)>>0]|0)+h|0;D=(d[T+(D&31)>>0]|0)+l|0;b[C>>1]=(U>>>0<255?U:255)>>>3<<5|(I>>>0<255?I:255)>>>3<<10|(D>>>0<255?D:255)>>>3;D=x;I=C+2|0;U=T;k=18;continue}else if((k|0)==18){J=e[I>>1]|0;O=(d[U+(J>>>10&31)>>0]|0)+m|0;V=(d[U+(J>>>5&31)>>0]|0)+h|0;J=(d[U+(J&31)>>0]|0)+l|0;b[I>>1]=(V>>>0<255?V:255)>>>3<<5|(O>>>0<255?O:255)>>>3<<10|(J>>>0<255?J:255)>>>3;J=D;O=I+2|0;V=U;k=19;continue}else if((k|0)==19){k=e[O>>1]|0;j=(d[V+(k>>>10&31)>>0]|0)+m|0;f=(d[V+(k>>>5&31)>>0]|0)+h|0;k=(d[V+(k&31)>>0]|0)+l|0;b[O>>1]=(f>>>0<255?f:255)>>>3<<5|(j>>>0<255?j:255)>>>3<<10|(k>>>0<255?k:255)>>>3;k=O+2|0;if((J|0)>1){q=J+-1|0;w=k;S=V;k=16;continue}else break}if(!g){k=53;break}else k=k+(p<<1)|0}if((k|0)!=20)if((k|0)==53)return 0;break}case 4:{l=c[f+8>>2]|0;g=c[f+12>>2]|0;k=(c[a+16>>2]|0)/(d[(c[a+4>>2]|0)+9>>0]|0|0)|0;p=k-l|0;if(!g)return 0;k=(c[a+20>>2]|0)+((N(c[f+4>>2]|0,k)|0)<<1)|0;o=(l+3|0)/4|0;n=l&255;m=h&255;h=i&255;l=j&255;k=k+(c[f>>2]<<1)|0;c:while(1){g=g+-1|0;switch(n&3){case 0:{t=o;y=k;W=16608;k=26;break}case 3:{z=o;E=k;X=16608;k=27;break}case 2:{F=o;K=k;Z=16608;k=28;break}case 1:{L=o;P=k;_=16608;k=29;break}default:{k=30;break c}}while(1)if((k|0)==26){z=e[y>>1]|0;b[y>>1]=(((N(d[W+(z>>>5&31)>>0]|0,h)|0)>>>0)/255|0)>>>3<<5|(((N(d[W+(z>>>10&31)>>0]|0,m)|0)>>>0)/255|0)>>>3<<10|(((N(d[W+(z&31)>>0]|0,l)|0)>>>0)/255|0)>>>3;z=t;E=y+2|0;X=W;k=27;continue}else if((k|0)==27){F=e[E>>1]|0;b[E>>1]=(((N(d[X+(F>>>5&31)>>0]|0,h)|0)>>>0)/255|0)>>>3<<5|(((N(d[X+(F>>>10&31)>>0]|0,m)|0)>>>0)/255|0)>>>3<<10|(((N(d[X+(F&31)>>0]|0,l)|0)>>>0)/255|0)>>>3;F=z;K=E+2|0;Z=X;k=28;continue}else if((k|0)==28){L=e[K>>1]|0;b[K>>1]=(((N(d[Z+(L>>>5&31)>>0]|0,h)|0)>>>0)/255|0)>>>3<<5|(((N(d[Z+(L>>>10&31)>>0]|0,m)|0)>>>0)/255|0)>>>3<<10|(((N(d[Z+(L&31)>>0]|0,l)|0)>>>0)/255|0)>>>3;L=F;P=K+2|0;_=Z;k=29;continue}else if((k|0)==29){k=e[P>>1]|0;b[P>>1]=(((N(d[_+(k>>>5&31)>>0]|0,h)|0)>>>0)/255|0)>>>3<<5|(((N(d[_+(k>>>10&31)>>0]|0,m)|0)>>>0)/255|0)>>>3<<10|(((N(d[_+(k&31)>>0]|0,l)|0)>>>0)/255|0)>>>3;k=P+2|0;if((L|0)>1){t=L+-1|0;y=k;W=_;k=26;continue}else break}if(!g){k=53;break}else k=k+(p<<1)|0}if((k|0)!=30)if((k|0)==53)return 0;break}default:{g=c[f+8>>2]|0;$=c[f+12>>2]|0;k=(c[a+16>>2]|0)/(d[(c[a+4>>2]|0)+9>>0]|0|0)|0;p=k-g|0;k=(c[a+20>>2]|0)+((N(c[f+4>>2]|0,k)|0)<<1)|0;k=k+(c[f>>2]<<1)|0;l=$+-1|0;if(!$)return 0;o=(g+3|0)/4|0;n=((i&255)>>>3<<5|(h&255)>>>3<<10|(j&255)>>>3)&65535;switch(g&3){case 0:{while(1){g=o;while(1){b[k>>1]=n;b[k+2>>1]=n;b[k+4>>1]=n;b[k+6>>1]=n;k=k+8|0;if((g|0)<=1)break;else g=g+-1|0}if(!l)break;else{k=k+(p<<1)|0;l=l+-1|0}}return 0}case 3:{m=(g|0)>4;while(1){b[k>>1]=n;b[k+2>>1]=n;b[k+4>>1]=n;g=k+6|0;if(m){h=o;while(1){b[g>>1]=n;g=k;k=k+8|0;b[k>>1]=n;b[g+10>>1]=n;b[g+12>>1]=n;g=g+14|0;if((h|0)<=2){k=g;break}else h=h+-1|0}}else k=g;if(!l)break;else{k=k+(p<<1)|0;l=l+-1|0}}return 0}case 2:{m=(g|0)>4;while(1){b[k>>1]=n;b[k+2>>1]=n;g=k+4|0;if(m){h=o;while(1){b[g>>1]=n;b[k+6>>1]=n;g=k;k=k+8|0;b[k>>1]=n;b[g+10>>1]=n;g=g+12|0;if((h|0)<=2){k=g;break}else h=h+-1|0}}else k=g;if(!l)break;else{k=k+(p<<1)|0;l=l+-1|0}}return 0}default:{m=(g|0)>4;while(1){b[k>>1]=n;g=k+2|0;if(m){h=o;while(1){b[g>>1]=n;b[k+4>>1]=n;b[k+6>>1]=n;g=k;k=k+8|0;b[k>>1]=n;g=g+10|0;if((h|0)<=2){k=g;break}else h=h+-1|0}}else k=g;if(!l)break;else{k=k+(p<<1)|0;l=l+-1|0}}return 0}}}}return 0}function hIa(a,f,g,h,i,j,k){a=a|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0;r=~k&255;switch(g|0){case 1:{k=c[f+8>>2]|0;g=c[f+12>>2]|0;l=(c[a+16>>2]|0)/(d[(c[a+4>>2]|0)+9>>0]|0|0)|0;p=l-k|0;if(!g)return 0;q=(k+3|0)/4|0;o=k&255;n=h&255;m=i&255;h=j&255;k=(c[a+20>>2]|0)+((N(c[f+4>>2]|0,l)|0)<<1)+(c[f>>2]<<1)|0;a:while(1){g=g+-1|0;switch(o&3){case 0:{s=q;u=k;da=16608;ia=16544;k=6;break}case 3:{v=q;A=k;ka=16608;la=16544;k=7;break}case 2:{B=q;G=k;Q=16608;R=16544;k=8;break}case 1:{H=q;M=k;S=16608;T=16544;k=9;break}default:{k=10;break a}}while(1)if((k|0)==6){v=e[u>>1]|0;b[u>>1]=((((N(d[ia+(v>>>5&63)>>0]|0,r)|0)>>>0)/255|0)+m|0)>>>2<<5|((((N(d[da+(v>>>11)>>0]|0,r)|0)>>>0)/255|0)+n|0)>>>3<<11|((((N(d[da+(v&31)>>0]|0,r)|0)>>>0)/255|0)+h|0)>>>3;v=s;A=u+2|0;ka=da;la=ia;k=7;continue}else if((k|0)==7){B=e[A>>1]|0;b[A>>1]=((((N(d[la+(B>>>5&63)>>0]|0,r)|0)>>>0)/255|0)+m|0)>>>2<<5|((((N(d[ka+(B>>>11)>>0]|0,r)|0)>>>0)/255|0)+n|0)>>>3<<11|((((N(d[ka+(B&31)>>0]|0,r)|0)>>>0)/255|0)+h|0)>>>3;B=v;G=A+2|0;Q=ka;R=la;k=8;continue}else if((k|0)==8){H=e[G>>1]|0;b[G>>1]=((((N(d[R+(H>>>5&63)>>0]|0,r)|0)>>>0)/255|0)+m|0)>>>2<<5|((((N(d[Q+(H>>>11)>>0]|0,r)|0)>>>0)/255|0)+n|0)>>>3<<11|((((N(d[Q+(H&31)>>0]|0,r)|0)>>>0)/255|0)+h|0)>>>3;H=B;M=G+2|0;S=Q;T=R;k=9;continue}else if((k|0)==9){k=e[M>>1]|0;b[M>>1]=((((N(d[T+(k>>>5&63)>>0]|0,r)|0)>>>0)/255|0)+m|0)>>>2<<5|((((N(d[S+(k>>>11)>>0]|0,r)|0)>>>0)/255|0)+n|0)>>>3<<11|((((N(d[S+(k&31)>>0]|0,r)|0)>>>0)/255|0)+h|0)>>>3;k=M+2|0;if((H|0)>1){s=H+-1|0;u=k;da=S;ia=T;k=6;continue}else break}if(!g){k=53;break}else k=k+(p<<1)|0}if((k|0)!=10)if((k|0)==53)return 0;break}case 2:{l=c[f+8>>2]|0;g=c[f+12>>2]|0;k=(c[a+16>>2]|0)/(d[(c[a+4>>2]|0)+9>>0]|0|0)|0;p=k-l|0;if(!g)return 0;k=(c[a+20>>2]|0)+((N(c[f+4>>2]|0,k)|0)<<1)|0;o=(l+3|0)/4|0;n=l&255;m=h&255;h=i&255;l=j&255;k=k+(c[f>>2]<<1)|0;b:while(1){g=g+-1|0;switch(n&3){case 0:{q=o;w=k;U=16608;V=16544;k=16;break}case 3:{x=o;C=k;W=16608;X=16544;k=17;break}case 2:{D=o;I=k;Y=16608;Z=16544;k=18;break}case 1:{J=o;O=k;_=16608;$=16544;k=19;break}default:{k=20;break b}}while(1)if((k|0)==16){x=e[w>>1]|0;C=(d[U+(x>>>11)>>0]|0)+m|0;W=(d[V+(x>>>5&63)>>0]|0)+h|0;x=(d[U+(x&31)>>0]|0)+l|0;b[w>>1]=(W>>>0<255?W:255)>>>2<<5|(C>>>0<255?C:255)>>>3<<11|(x>>>0<255?x:255)>>>3;x=q;C=w+2|0;W=U;X=V;k=17;continue}else if((k|0)==17){D=e[C>>1]|0;I=(d[W+(D>>>11)>>0]|0)+m|0;Y=(d[X+(D>>>5&63)>>0]|0)+h|0;D=(d[W+(D&31)>>0]|0)+l|0;b[C>>1]=(Y>>>0<255?Y:255)>>>2<<5|(I>>>0<255?I:255)>>>3<<11|(D>>>0<255?D:255)>>>3;D=x;I=C+2|0;Y=W;Z=X;k=18;continue}else if((k|0)==18){J=e[I>>1]|0;O=(d[Y+(J>>>11)>>0]|0)+m|0;_=(d[Z+(J>>>5&63)>>0]|0)+h|0;J=(d[Y+(J&31)>>0]|0)+l|0;b[I>>1]=(_>>>0<255?_:255)>>>2<<5|(O>>>0<255?O:255)>>>3<<11|(J>>>0<255?J:255)>>>3;J=D;O=I+2|0;_=Y;$=Z;k=19;continue}else if((k|0)==19){k=e[O>>1]|0;j=(d[_+(k>>>11)>>0]|0)+m|0;f=(d[$+(k>>>5&63)>>0]|0)+h|0;k=(d[_+(k&31)>>0]|0)+l|0;b[O>>1]=(f>>>0<255?f:255)>>>2<<5|(j>>>0<255?j:255)>>>3<<11|(k>>>0<255?k:255)>>>3;k=O+2|0;if((J|0)>1){q=J+-1|0;w=k;U=_;V=$;k=16;continue}else break}if(!g){k=53;break}else k=k+(p<<1)|0}if((k|0)!=20)if((k|0)==53)return 0;break}case 4:{l=c[f+8>>2]|0;g=c[f+12>>2]|0;k=(c[a+16>>2]|0)/(d[(c[a+4>>2]|0)+9>>0]|0|0)|0;p=k-l|0;if(!g)return 0;k=(c[a+20>>2]|0)+((N(c[f+4>>2]|0,k)|0)<<1)|0;o=(l+3|0)/4|0;n=l&255;m=h&255;h=i&255;l=j&255;k=k+(c[f>>2]<<1)|0;c:while(1){g=g+-1|0;switch(n&3){case 0:{t=o;y=k;aa=16608;ba=16544;k=26;break}case 3:{z=o;E=k;ca=16608;ea=16544;k=27;break}case 2:{F=o;K=k;fa=16608;ga=16544;k=28;break}case 1:{L=o;P=k;ha=16608;ja=16544;k=29;break}default:{k=30;break c}}while(1)if((k|0)==26){z=e[y>>1]|0;b[y>>1]=(((N(d[ba+(z>>>5&63)>>0]|0,h)|0)>>>0)/255|0)>>>2<<5|(((N(d[aa+(z>>>11)>>0]|0,m)|0)>>>0)/255|0)>>>3<<11|(((N(d[aa+(z&31)>>0]|0,l)|0)>>>0)/255|0)>>>3;z=t;E=y+2|0;ca=aa;ea=ba;k=27;continue}else if((k|0)==27){F=e[E>>1]|0;b[E>>1]=(((N(d[ea+(F>>>5&63)>>0]|0,h)|0)>>>0)/255|0)>>>2<<5|(((N(d[ca+(F>>>11)>>0]|0,m)|0)>>>0)/255|0)>>>3<<11|(((N(d[ca+(F&31)>>0]|0,l)|0)>>>0)/255|0)>>>3;F=z;K=E+2|0;fa=ca;ga=ea;k=28;continue}else if((k|0)==28){L=e[K>>1]|0;b[K>>1]=(((N(d[ga+(L>>>5&63)>>0]|0,h)|0)>>>0)/255|0)>>>2<<5|(((N(d[fa+(L>>>11)>>0]|0,m)|0)>>>0)/255|0)>>>3<<11|(((N(d[fa+(L&31)>>0]|0,l)|0)>>>0)/255|0)>>>3;L=F;P=K+2|0;ha=fa;ja=ga;k=29;continue}else if((k|0)==29){k=e[P>>1]|0;b[P>>1]=(((N(d[ja+(k>>>5&63)>>0]|0,h)|0)>>>0)/255|0)>>>2<<5|(((N(d[ha+(k>>>11)>>0]|0,m)|0)>>>0)/255|0)>>>3<<11|(((N(d[ha+(k&31)>>0]|0,l)|0)>>>0)/255|0)>>>3;k=P+2|0;if((L|0)>1){t=L+-1|0;y=k;aa=ha;ba=ja;k=26;continue}else break}if(!g){k=53;break}else k=k+(p<<1)|0}if((k|0)!=30)if((k|0)==53)return 0;break}default:{g=c[f+8>>2]|0;la=c[f+12>>2]|0;k=(c[a+16>>2]|0)/(d[(c[a+4>>2]|0)+9>>0]|0|0)|0;p=k-g|0;k=(c[a+20>>2]|0)+((N(c[f+4>>2]|0,k)|0)<<1)|0;k=k+(c[f>>2]<<1)|0;l=la+-1|0;if(!la)return 0;o=(g+3|0)/4|0;n=((i&255)>>>2<<5|(h&255)>>>3<<11|(j&255)>>>3)&65535;switch(g&3){case 0:{while(1){g=o;while(1){b[k>>1]=n;b[k+2>>1]=n;b[k+4>>1]=n;b[k+6>>1]=n;k=k+8|0;if((g|0)<=1)break;else g=g+-1|0}if(!l)break;else{k=k+(p<<1)|0;l=l+-1|0}}return 0}case 3:{m=(g|0)>4;while(1){b[k>>1]=n;b[k+2>>1]=n;b[k+4>>1]=n;g=k+6|0;if(m){h=o;while(1){b[g>>1]=n;g=k;k=k+8|0;b[k>>1]=n;b[g+10>>1]=n;b[g+12>>1]=n;g=g+14|0;if((h|0)<=2){k=g;break}else h=h+-1|0}}else k=g;if(!l)break;else{k=k+(p<<1)|0;l=l+-1|0}}return 0}case 2:{m=(g|0)>4;while(1){b[k>>1]=n;b[k+2>>1]=n;g=k+4|0;if(m){h=o;while(1){b[g>>1]=n;b[k+6>>1]=n;g=k;k=k+8|0;b[k>>1]=n;b[g+10>>1]=n;g=g+12|0;if((h|0)<=2){k=g;break}else h=h+-1|0}}else k=g;if(!l)break;else{k=k+(p<<1)|0;l=l+-1|0}}return 0}default:{m=(g|0)>4;while(1){b[k>>1]=n;g=k+2|0;if(m){h=o;while(1){b[g>>1]=n;b[k+4>>1]=n;b[k+6>>1]=n;g=k;k=k+8|0;b[k>>1]=n;g=g+10|0;if((h|0)<=2){k=g;break}else h=h+-1|0}}else k=g;if(!l)break;else{k=k+(p<<1)|0;l=l+-1|0}}return 0}}}}return 0}function iIa(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=l;l=l+32|0;i=t+8|0;p=t+24|0;q=t+20|0;r=t+16|0;s=t+12|0;if(!b){g=MAa(196744,t)|0;l=t;return g|0}h=c[b+4>>2]|0;switch(a[h+9>>0]|0){case 1:{if((d[h+8>>0]|0)<8)j=6;else o=5;break}case 2:{o=4;break}case 4:{o=6;break}default:j=6}if((j|0)==6){g=MAa(196793,i)|0;l=t;return g|0}if((f|0)>1){k=b+36|0;j=1;do{h=j+-1|0;c[p>>2]=c[e+(h<<3)>>2];c[q>>2]=c[e+(h<<3)+4>>2];h=e+(j<<3)|0;c[r>>2]=c[h>>2];i=e+(j<<3)+4|0;c[s>>2]=c[i>>2];if(rIa(k,p,q,r,s)|0){m=c[r>>2]|0;n=c[s>>2]|0;if((m|0)==(c[h>>2]|0))h=(n|0)!=(c[i>>2]|0);else h=1;Uk[o&15](b,c[p>>2]|0,c[q>>2]|0,m,n,g,h&1)}j=j+1|0}while((j|0)!=(f|0))}h=f+-1|0;i=c[e+(h<<3)>>2]|0;if((c[e>>2]|0)==(i|0)){h=c[e+(h<<3)+4>>2]|0;if((c[e+4>>2]|0)==(h|0)){g=0;l=t;return g|0}}else h=c[e+(h<<3)+4>>2]|0;CIa(b,i,h,g)|0;g=0;l=t;return g|0}function jIa(b,d,e,f,g,h,i,j){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;w=l;l=l+32|0;u=w+24|0;v=w+20|0;s=w+16|0;t=w+12|0;if(!b){j=MAa(196587,w)|0;l=w;return j|0}k=c[b+4>>2]|0;a:do switch(a[k+9>>0]|0){case 2:{n=c[k+12>>2]|0;n=(n|0)==31744?4:(n|0)==63488?3:2;break}case 4:{m=(c[k+24>>2]|0)!=0;if((c[k+12>>2]|0)==16711680){n=m?6:5;break a}else{n=m?8:7;break a}}default:{j=MAa(196637,w+8|0)|0;l=w;return j|0}}while(0);if((e|0)>1){p=b+36|0;o=1;do{k=o+-1|0;c[u>>2]=c[d+(k<<3)>>2];c[v>>2]=c[d+(k<<3)+4>>2];k=d+(o<<3)|0;c[s>>2]=c[k>>2];m=d+(o<<3)+4|0;c[t>>2]=c[m>>2];if(rIa(p,u,v,s,t)|0){q=c[s>>2]|0;r=c[t>>2]|0;if((q|0)==(c[k>>2]|0))k=(r|0)!=(c[m>>2]|0);else k=1;Yk[n&15](b,c[u>>2]|0,c[v>>2]|0,q,r,f,g,h,i,j,k&1)}o=o+1|0}while((o|0)!=(e|0))}k=e+-1|0;m=c[d+(k<<3)>>2]|0;if((c[d>>2]|0)==(m|0)){k=c[d+(k<<3)+4>>2]|0;if((c[d+4>>2]|0)==(k|0)){j=0;l=w;return j|0}}else k=c[d+(k<<3)+4>>2]|0;sIa(b,m,k,f,g,h,i,j)|0;j=0;l=w;return j|0}function kIa(a,f,g,h,i,j,k,l,m,n,o){a=a|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;var p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;k=k&255;if((j+-1|0)>>>0<2){w=n&255;z=((N(w,k)|0)>>>0)/255|0;y=((N(w,l&255)|0)>>>0)/255|0;x=((N(w,m&255)|0)>>>0)/255|0;k=w}else{z=k;y=l&255;x=m&255;k=n&255}w=k^255;if((i|0)==(g|0))switch(j|0){case 1:{k=(c[a+20>>2]|0)+((N((c[a+16>>2]|0)/(d[(c[a+4>>2]|0)+9>>0]|0|0)|0,i)|0)<<1)|0;if((h|0)<(f|0)){k=k+(h<<1)|0;l=(o|0)!=0;k=l?k:k+2|0;m=f-h|0}else{k=k+(f<<1)|0;m=h-f|0;l=(o|0)!=0}l=m+(l&1)|0;if(!l)return;while(1){l=l+-1|0;o=e[k>>1]|0;b[k>>1]=((((N(w,d[16544+(o>>>5&63)>>0]|0)|0)>>>0)/255|0)+y|0)>>>2<<5|((((N(w,d[16608+(o>>>11)>>0]|0)|0)>>>0)/255|0)+z|0)>>>3<<11|((((N(w,d[16608+(o&31)>>0]|0)|0)>>>0)/255|0)+x|0)>>>3;if(!l)break;else k=k+2|0}return}case 2:{k=(c[a+20>>2]|0)+((N((c[a+16>>2]|0)/(d[(c[a+4>>2]|0)+9>>0]|0|0)|0,i)|0)<<1)|0;if((h|0)<(f|0)){k=k+(h<<1)|0;l=(o|0)!=0;k=l?k:k+2|0;m=f-h|0}else{k=k+(f<<1)|0;m=h-f|0;l=(o|0)!=0}l=m+(l&1)|0;if(!l)return;while(1){l=l+-1|0;o=e[k>>1]|0;f=z+(d[16608+(o>>>11)>>0]|0)|0;a=y+(d[16544+(o>>>5&63)>>0]|0)|0;o=x+(d[16608+(o&31)>>0]|0)|0;b[k>>1]=(a>>>0<255?a:255)>>>2<<5|(f>>>0<255?f:255)>>>3<<11|(o>>>0<255?o:255)>>>3;if(!l)break;else k=k+2|0}return}case 4:{k=(c[a+20>>2]|0)+((N((c[a+16>>2]|0)/(d[(c[a+4>>2]|0)+9>>0]|0|0)|0,i)|0)<<1)|0;if((h|0)<(f|0)){k=k+(h<<1)|0;l=(o|0)!=0;k=l?k:k+2|0;m=f-h|0}else{k=k+(f<<1)|0;m=h-f|0;l=(o|0)!=0}l=m+(l&1)|0;if(!l)return;while(1){l=l+-1|0;o=e[k>>1]|0;b[k>>1]=(((N(y,d[16544+(o>>>5&63)>>0]|0)|0)>>>0)/255|0)>>>2<<5|(((N(z,d[16608+(o>>>11)>>0]|0)|0)>>>0)/255|0)>>>3<<11|(((N(x,d[16608+(o&31)>>0]|0)|0)>>>0)/255|0)>>>3;if(!l)break;else k=k+2|0}return}default:{k=(c[a+20>>2]|0)+((N((c[a+16>>2]|0)/(d[(c[a+4>>2]|0)+9>>0]|0|0)|0,i)|0)<<1)|0;if((h|0)<(f|0)){k=k+(h<<1)|0;l=(o|0)!=0;k=l?k:k+2|0;m=f-h|0}else{k=k+(f<<1)|0;m=h-f|0;l=(o|0)!=0}l=m+(l&1)|0;if(!l)return;m=(y>>>2<<5|x>>>3|z>>>3<<11)&65535;while(1){l=l+-1|0;b[k>>1]=m;if(!l)break;else k=k+2|0}return}}if((h|0)==(f|0))switch(j|0){case 1:{n=(c[a+16>>2]|0)/(d[(c[a+4>>2]|0)+9>>0]|0|0)|0;k=c[a+20>>2]|0;if((i|0)<(g|0)){k=k+((N(n,i)|0)<<1)+(h<<1)|0;l=(o|0)!=0;k=l?k:k+(n<<1)|0;m=g-i|0}else{k=k+((N(n,g)|0)<<1)+(h<<1)|0;m=i-g|0;l=(o|0)!=0}l=m+(l&1)|0;if(!l)return;while(1){l=l+-1|0;o=e[k>>1]|0;b[k>>1]=((((N(w,d[16544+(o>>>5&63)>>0]|0)|0)>>>0)/255|0)+y|0)>>>2<<5|((((N(w,d[16608+(o>>>11)>>0]|0)|0)>>>0)/255|0)+z|0)>>>3<<11|((((N(w,d[16608+(o&31)>>0]|0)|0)>>>0)/255|0)+x|0)>>>3;if(!l)break;else k=k+(n<<1)|0}return}case 2:{n=(c[a+16>>2]|0)/(d[(c[a+4>>2]|0)+9>>0]|0|0)|0;k=c[a+20>>2]|0;if((i|0)<(g|0)){k=k+((N(n,i)|0)<<1)+(h<<1)|0;l=(o|0)!=0;k=l?k:k+(n<<1)|0;m=g-i|0}else{k=k+((N(n,g)|0)<<1)+(h<<1)|0;m=i-g|0;l=(o|0)!=0}l=m+(l&1)|0;if(!l)return;while(1){l=l+-1|0;o=e[k>>1]|0;f=z+(d[16608+(o>>>11)>>0]|0)|0;a=y+(d[16544+(o>>>5&63)>>0]|0)|0;o=x+(d[16608+(o&31)>>0]|0)|0;b[k>>1]=(a>>>0<255?a:255)>>>2<<5|(f>>>0<255?f:255)>>>3<<11|(o>>>0<255?o:255)>>>3;if(!l)break;else k=k+(n<<1)|0}return}case 4:{n=(c[a+16>>2]|0)/(d[(c[a+4>>2]|0)+9>>0]|0|0)|0;k=c[a+20>>2]|0;if((i|0)<(g|0)){k=k+((N(n,i)|0)<<1)+(h<<1)|0;l=(o|0)!=0;k=l?k:k+(n<<1)|0;m=g-i|0}else{k=k+((N(n,g)|0)<<1)+(h<<1)|0;m=i-g|0;l=(o|0)!=0}l=m+(l&1)|0;if(!l)return;while(1){l=l+-1|0;o=e[k>>1]|0;b[k>>1]=(((N(y,d[16544+(o>>>5&63)>>0]|0)|0)>>>0)/255|0)>>>2<<5|(((N(z,d[16608+(o>>>11)>>0]|0)|0)>>>0)/255|0)>>>3<<11|(((N(x,d[16608+(o&31)>>0]|0)|0)>>>0)/255|0)>>>3;if(!l)break;else k=k+(n<<1)|0}return}default:{n=(c[a+16>>2]|0)/(d[(c[a+4>>2]|0)+9>>0]|0|0)|0;k=c[a+20>>2]|0;if((i|0)<(g|0)){k=k+((N(n,i)|0)<<1)+(h<<1)|0;l=(o|0)!=0;k=l?k:k+(n<<1)|0;m=g-i|0}else{k=k+((N(n,g)|0)<<1)+(h<<1)|0;m=i-g|0;l=(o|0)!=0}l=m+(l&1)|0;if(!l)return;m=(y>>>2<<5|x>>>3|z>>>3<<11)&65535;while(1){l=l+-1|0;b[k>>1]=m;if(!l)break;else k=k+(n<<1)|0}return}}v=f-h|0;l=g-i|0;if((((v|0)<0?0-v|0:v)|0)==(((l|0)<0?0-l|0:l)|0))switch(j|0){case 1:{m=(c[a+16>>2]|0)/(d[(c[a+4>>2]|0)+9>>0]|0|0)|0;k=c[a+20>>2]|0;if((i|0)<(g|0)){k=k+((N(m,i)|0)<<1)+(h<<1)|0;m=m+((h|0)>(f|0)?-1:1)|0;k=(o|0)==0?k+(m<<1)|0:k}else{k=k+((N(m,g)|0)<<1)+(f<<1)|0;l=i-g|0;m=m+((h|0)<(f|0)?-1:1)|0}l=l+((o|0)!=0&1)|0;if(!l)return;while(1){l=l+-1|0;o=e[k>>1]|0;b[k>>1]=((((N(w,d[16544+(o>>>5&63)>>0]|0)|0)>>>0)/255|0)+y|0)>>>2<<5|((((N(w,d[16608+(o>>>11)>>0]|0)|0)>>>0)/255|0)+z|0)>>>3<<11|((((N(w,d[16608+(o&31)>>0]|0)|0)>>>0)/255|0)+x|0)>>>3;if(!l)break;else k=k+(m<<1)|0}return}case 2:{m=(c[a+16>>2]|0)/(d[(c[a+4>>2]|0)+9>>0]|0|0)|0;k=c[a+20>>2]|0;if((i|0)<(g|0)){k=k+((N(m,i)|0)<<1)+(h<<1)|0;m=m+((h|0)>(f|0)?-1:1)|0;k=(o|0)==0?k+(m<<1)|0:k}else{k=k+((N(m,g)|0)<<1)+(f<<1)|0;l=i-g|0;m=m+((h|0)<(f|0)?-1:1)|0}l=l+((o|0)!=0&1)|0;if(!l)return;while(1){l=l+-1|0;o=e[k>>1]|0;f=z+(d[16608+(o>>>11)>>0]|0)|0;a=y+(d[16544+(o>>>5&63)>>0]|0)|0;o=x+(d[16608+(o&31)>>0]|0)|0;b[k>>1]=(a>>>0<255?a:255)>>>2<<5|(f>>>0<255?f:255)>>>3<<11|(o>>>0<255?o:255)>>>3;if(!l)break;else k=k+(m<<1)|0}return}case 4:{m=(c[a+16>>2]|0)/(d[(c[a+4>>2]|0)+9>>0]|0|0)|0;k=c[a+20>>2]|0;if((i|0)<(g|0)){k=k+((N(m,i)|0)<<1)+(h<<1)|0;m=m+((h|0)>(f|0)?-1:1)|0;k=(o|0)==0?k+(m<<1)|0:k}else{k=k+((N(m,g)|0)<<1)+(f<<1)|0;l=i-g|0;m=m+((h|0)<(f|0)?-1:1)|0}l=l+((o|0)!=0&1)|0;if(!l)return;while(1){l=l+-1|0;o=e[k>>1]|0;b[k>>1]=(((N(y,d[16544+(o>>>5&63)>>0]|0)|0)>>>0)/255|0)>>>2<<5|(((N(z,d[16608+(o>>>11)>>0]|0)|0)>>>0)/255|0)>>>3<<11|(((N(x,d[16608+(o&31)>>0]|0)|0)>>>0)/255|0)>>>3;if(!l)break;else k=k+(m<<1)|0}return}default:{m=(c[a+16>>2]|0)/(d[(c[a+4>>2]|0)+9>>0]|0|0)|0;k=c[a+20>>2]|0;if((i|0)<(g|0)){k=k+((N(m,i)|0)<<1)+(h<<1)|0;n=m+((h|0)>(f|0)?-1:1)|0;k=(o|0)==0?k+(n<<1)|0:k}else{k=k+((N(m,g)|0)<<1)+(f<<1)|0;l=i-g|0;n=m+((h|0)<(f|0)?-1:1)|0}l=l+((o|0)!=0&1)|0;if(!l)return;m=(y>>>2<<5|x>>>3|z>>>3<<11)&65535;while(1){l=l+-1|0;b[k>>1]=m;if(!l)break;else k=k+(n<<1)|0}return}}else switch(j|0){case 1:{k=h-f|0;k=(k|0)<0?0-k|0:k;l=i-g|0;l=(l|0)<0?0-l|0:l;if((k|0)<(l|0)){u=k<<1;j=1;n=0;m=k-l|0;v=u;u=u-l|0;k=l}else{u=l<<1;j=0;n=1;m=l-k|0;v=u;u=u-k|0}t=m<<1;s=(h|0)<(f|0);r=s?0-n|0:n;s=s?-1:1;h=(i|0)<(g|0);q=h?0-j|0:j;h=h?-1:1;i=k+((o|0)!=0&1)|0;if((i|0)<=0)return;p=c[a+20>>2]|0;j=c[a+16>>2]|0;m=f;n=0;k=u;while(1){l=p+(N(j,g)|0)+(m<<1)|0;o=e[l>>1]|0;b[l>>1]=((((N(w,d[16544+(o>>>5&63)>>0]|0)|0)>>>0)/255|0)+y|0)>>>2<<5|((((N(w,d[16608+(o>>>11)>>0]|0)|0)>>>0)/255|0)+z|0)>>>3<<11|((((N(w,d[16608+(o&31)>>0]|0)|0)>>>0)/255|0)+x|0)>>>3;l=(k|0)<0;n=n+1|0;if((n|0)>=(i|0))break;else{g=g+(l?q:h)|0;m=(l?r:s)+m|0;k=(l?v:t)+k|0}}return}case 2:{k=h-f|0;k=(k|0)<0?0-k|0:k;l=i-g|0;l=(l|0)<0?0-l|0:l;if((k|0)<(l|0)){u=k<<1;j=1;n=0;m=k-l|0;v=u;u=u-l|0;k=l}else{u=l<<1;j=0;n=1;m=l-k|0;v=u;u=u-k|0}t=m<<1;s=(h|0)<(f|0);r=s?0-n|0:n;s=s?-1:1;h=(i|0)<(g|0);q=h?0-j|0:j;h=h?-1:1;i=k+((o|0)!=0&1)|0;if((i|0)<=0)return;p=c[a+20>>2]|0;j=c[a+16>>2]|0;m=f;n=0;k=u;while(1){l=p+(N(j,g)|0)+(m<<1)|0;o=e[l>>1]|0;f=z+(d[16608+(o>>>11)>>0]|0)|0;a=y+(d[16544+(o>>>5&63)>>0]|0)|0;o=x+(d[16608+(o&31)>>0]|0)|0;b[l>>1]=(a>>>0<255?a:255)>>>2<<5|(f>>>0<255?f:255)>>>3<<11|(o>>>0<255?o:255)>>>3;l=(k|0)<0;n=n+1|0;if((n|0)>=(i|0))break;else{g=g+(l?q:h)|0;m=(l?r:s)+m|0;k=(l?v:t)+k|0}}return}case 4:{k=h-f|0;k=(k|0)<0?0-k|0:k;l=i-g|0;l=(l|0)<0?0-l|0:l;if((k|0)<(l|0)){u=k<<1;j=1;n=0;m=k-l|0;v=u;u=u-l|0;k=l}else{u=l<<1;j=0;n=1;m=l-k|0;v=u;u=u-k|0}t=m<<1;s=(h|0)<(f|0);r=s?0-n|0:n;s=s?-1:1;h=(i|0)<(g|0);q=h?0-j|0:j;h=h?-1:1;i=k+((o|0)!=0&1)|0;if((i|0)<=0)return;p=c[a+20>>2]|0;j=c[a+16>>2]|0;m=f;n=0;k=u;while(1){l=p+(N(j,g)|0)+(m<<1)|0;o=e[l>>1]|0;b[l>>1]=(((N(y,d[16544+(o>>>5&63)>>0]|0)|0)>>>0)/255|0)>>>2<<5|(((N(z,d[16608+(o>>>11)>>0]|0)|0)>>>0)/255|0)>>>3<<11|(((N(x,d[16608+(o&31)>>0]|0)|0)>>>0)/255|0)>>>3;l=(k|0)<0;n=n+1|0;if((n|0)>=(i|0))break;else{g=g+(l?q:h)|0;m=(l?r:s)+m|0;k=(l?v:t)+k|0}}return}default:{l=h-f|0;l=(l|0)<0?0-l|0:l;m=i-g|0;m=(m|0)<0?0-m|0:m;if((l|0)<(m|0)){k=l<<1;p=1;j=0;n=l-m|0;v=k;k=k-m|0;l=m}else{k=m<<1;p=0;j=1;n=m-l|0;v=k;k=k-l|0}u=n<<1;t=(h|0)<(f|0);s=t?0-j|0:j;t=t?-1:1;q=(i|0)<(g|0);r=q?0-p|0:p;q=q?-1:1;h=l+((o|0)!=0&1)|0;if((h|0)<=0)return;i=c[a+20>>2]|0;p=c[a+16>>2]|0;j=(y>>>2<<5|x>>>3|z>>>3<<11)&65535;m=f;n=0;while(1){b[i+(N(p,g)|0)+(m<<1)>>1]=j;l=(k|0)<0;n=n+1|0;if((n|0)>=(h|0))break;else{g=g+(l?r:q)|0;m=(l?s:t)+m|0;k=(l?v:u)+k|0}}return}}}function lIa(a,f,g,h,i,j,k,l,m,n,o){a=a|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;var p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0;I=c[a+4>>2]|0;k=k&255;if((j+-1|0)>>>0<2){H=n&255;L=((N(H,k)|0)>>>0)/255|0;K=((N(H,l&255)|0)>>>0)/255|0;J=((N(H,m&255)|0)>>>0)/255|0;k=H}else{L=k;K=l&255;J=m&255;k=n&255}H=k^255;if((i|0)==(g|0))switch(j|0){case 1:{k=(c[a+20>>2]|0)+((N((c[a+16>>2]|0)/(d[I+9>>0]|0|0)|0,i)|0)<<1)|0;if((h|0)<(f|0)){a=k+(h<<1)|0;k=(o|0)!=0;a=k?a:a+2|0;l=f-h|0}else{a=k+(f<<1)|0;l=h-f|0;k=(o|0)!=0}l=l+(k&1)|0;if(!l)return;n=d[I+28>>0]|0;p=c[16112+(n<<2)>>2]|0;i=c[I+12>>2]|0;g=d[I+29>>0]|0;h=c[16112+(g<<2)>>2]|0;q=c[I+16>>2]|0;j=d[I+30>>0]|0;r=c[16112+(j<<2)>>2]|0;s=c[I+20>>2]|0;t=c[I+24>>2]|0;u=d[I+32>>0]|0;v=d[I+33>>0]|0;m=d[I+34>>0]|0;k=a;while(1){l=l+-1|0;I=e[k>>1]|0;b[k>>1]=((((N(H,d[h+((q&I)>>>v)>>0]|0)|0)>>>0)/255|0)+K|0)>>>g<<v|((((N(H,d[p+((i&I)>>>u)>>0]|0)|0)>>>0)/255|0)+L|0)>>>n<<u|t|((((N(H,d[r+((s&I)>>>m)>>0]|0)|0)>>>0)/255|0)+J|0)>>>j<<m;if(!l)break;else k=k+2|0}return}case 2:{k=(c[a+20>>2]|0)+((N((c[a+16>>2]|0)/(d[I+9>>0]|0|0)|0,i)|0)<<1)|0;if((h|0)<(f|0)){a=k+(h<<1)|0;k=(o|0)!=0;a=k?a:a+2|0;l=f-h|0}else{a=k+(f<<1)|0;l=h-f|0;k=(o|0)!=0}l=l+(k&1)|0;if(!l)return;n=d[I+28>>0]|0;p=c[16112+(n<<2)>>2]|0;i=c[I+12>>2]|0;g=d[I+29>>0]|0;h=c[16112+(g<<2)>>2]|0;q=c[I+16>>2]|0;j=d[I+30>>0]|0;r=c[16112+(j<<2)>>2]|0;s=c[I+20>>2]|0;t=c[I+24>>2]|0;u=d[I+32>>0]|0;v=d[I+33>>0]|0;m=d[I+34>>0]|0;k=a;while(1){l=l+-1|0;I=e[k>>1]|0;f=L+(d[p+((i&I)>>>u)>>0]|0)|0;H=K+(d[h+((q&I)>>>v)>>0]|0)|0;I=J+(d[r+((s&I)>>>m)>>0]|0)|0;b[k>>1]=(H>>>0<255?H:255)>>>g<<v|(f>>>0<255?f:255)>>>n<<u|t|(I>>>0<255?I:255)>>>j<<m;if(!l)break;else k=k+2|0}return}case 4:{k=(c[a+20>>2]|0)+((N((c[a+16>>2]|0)/(d[I+9>>0]|0|0)|0,i)|0)<<1)|0;if((h|0)<(f|0)){a=k+(h<<1)|0;k=(o|0)!=0;a=k?a:a+2|0;l=f-h|0}else{a=k+(f<<1)|0;l=h-f|0;k=(o|0)!=0}l=l+(k&1)|0;if(!l)return;n=d[I+28>>0]|0;p=c[16112+(n<<2)>>2]|0;i=c[I+12>>2]|0;g=d[I+29>>0]|0;h=c[16112+(g<<2)>>2]|0;q=c[I+16>>2]|0;j=d[I+30>>0]|0;r=c[16112+(j<<2)>>2]|0;s=c[I+20>>2]|0;t=c[I+24>>2]|0;u=d[I+32>>0]|0;v=d[I+33>>0]|0;m=d[I+34>>0]|0;k=a;while(1){l=l+-1|0;I=e[k>>1]|0;b[k>>1]=(((N(K,d[h+((q&I)>>>v)>>0]|0)|0)>>>0)/255|0)>>>g<<v|(((N(L,d[p+((i&I)>>>u)>>0]|0)|0)>>>0)/255|0)>>>n<<u|t|(((N(J,d[r+((s&I)>>>m)>>0]|0)|0)>>>0)/255|0)>>>j<<m;if(!l)break;else k=k+2|0}return}default:{k=(c[a+20>>2]|0)+((N((c[a+16>>2]|0)/(d[I+9>>0]|0|0)|0,i)|0)<<1)|0;if((h|0)<(f|0)){k=k+(h<<1)|0;l=(o|0)!=0;k=l?k:k+2|0;m=f-h|0}else{k=k+(f<<1)|0;m=h-f|0;l=(o|0)!=0}l=m+(l&1)|0;if(!l)return;m=(K>>>(d[I+29>>0]|0)<<(d[I+33>>0]|0)|L>>>(d[I+28>>0]|0)<<(d[I+32>>0]|0)|c[I+24>>2]|J>>>(d[I+30>>0]|0)<<(d[I+34>>0]|0))&65535;while(1){l=l+-1|0;b[k>>1]=m;if(!l)break;else k=k+2|0}return}}if((h|0)==(f|0))switch(j|0){case 1:{w=(c[a+16>>2]|0)/(d[I+9>>0]|0|0)|0;k=c[a+20>>2]|0;if((i|0)<(g|0)){a=k+((N(w,i)|0)<<1)+(h<<1)|0;k=(o|0)!=0;a=k?a:a+(w<<1)|0;l=g-i|0}else{a=k+((N(w,g)|0)<<1)+(h<<1)|0;l=i-g|0;k=(o|0)!=0}l=l+(k&1)|0;if(!l)return;n=d[I+28>>0]|0;p=c[16112+(n<<2)>>2]|0;i=c[I+12>>2]|0;g=d[I+29>>0]|0;h=c[16112+(g<<2)>>2]|0;q=c[I+16>>2]|0;j=d[I+30>>0]|0;r=c[16112+(j<<2)>>2]|0;s=c[I+20>>2]|0;t=c[I+24>>2]|0;u=d[I+32>>0]|0;v=d[I+33>>0]|0;m=d[I+34>>0]|0;k=a;while(1){l=l+-1|0;I=e[k>>1]|0;b[k>>1]=((((N(H,d[h+((q&I)>>>v)>>0]|0)|0)>>>0)/255|0)+K|0)>>>g<<v|((((N(H,d[p+((i&I)>>>u)>>0]|0)|0)>>>0)/255|0)+L|0)>>>n<<u|t|((((N(H,d[r+((s&I)>>>m)>>0]|0)|0)>>>0)/255|0)+J|0)>>>j<<m;if(!l)break;else k=k+(w<<1)|0}return}case 2:{w=(c[a+16>>2]|0)/(d[I+9>>0]|0|0)|0;k=c[a+20>>2]|0;if((i|0)<(g|0)){a=k+((N(w,i)|0)<<1)+(h<<1)|0;k=(o|0)!=0;a=k?a:a+(w<<1)|0;l=g-i|0}else{a=k+((N(w,g)|0)<<1)+(h<<1)|0;l=i-g|0;k=(o|0)!=0}l=l+(k&1)|0;if(!l)return;n=d[I+28>>0]|0;p=c[16112+(n<<2)>>2]|0;i=c[I+12>>2]|0;g=d[I+29>>0]|0;h=c[16112+(g<<2)>>2]|0;q=c[I+16>>2]|0;j=d[I+30>>0]|0;r=c[16112+(j<<2)>>2]|0;s=c[I+20>>2]|0;t=c[I+24>>2]|0;u=d[I+32>>0]|0;v=d[I+33>>0]|0;m=d[I+34>>0]|0;k=a;while(1){l=l+-1|0;I=e[k>>1]|0;f=L+(d[p+((i&I)>>>u)>>0]|0)|0;H=K+(d[h+((q&I)>>>v)>>0]|0)|0;I=J+(d[r+((s&I)>>>m)>>0]|0)|0;b[k>>1]=(H>>>0<255?H:255)>>>g<<v|(f>>>0<255?f:255)>>>n<<u|t|(I>>>0<255?I:255)>>>j<<m;if(!l)break;else k=k+(w<<1)|0}return}case 4:{w=(c[a+16>>2]|0)/(d[I+9>>0]|0|0)|0;k=c[a+20>>2]|0;if((i|0)<(g|0)){a=k+((N(w,i)|0)<<1)+(h<<1)|0;k=(o|0)!=0;a=k?a:a+(w<<1)|0;l=g-i|0}else{a=k+((N(w,g)|0)<<1)+(h<<1)|0;l=i-g|0;k=(o|0)!=0}l=l+(k&1)|0;if(!l)return;n=d[I+28>>0]|0;p=c[16112+(n<<2)>>2]|0;i=c[I+12>>2]|0;g=d[I+29>>0]|0;h=c[16112+(g<<2)>>2]|0;q=c[I+16>>2]|0;j=d[I+30>>0]|0;r=c[16112+(j<<2)>>2]|0;s=c[I+20>>2]|0;t=c[I+24>>2]|0;u=d[I+32>>0]|0;v=d[I+33>>0]|0;m=d[I+34>>0]|0;k=a;while(1){l=l+-1|0;I=e[k>>1]|0;b[k>>1]=(((N(K,d[h+((q&I)>>>v)>>0]|0)|0)>>>0)/255|0)>>>g<<v|(((N(L,d[p+((i&I)>>>u)>>0]|0)|0)>>>0)/255|0)>>>n<<u|t|(((N(J,d[r+((s&I)>>>m)>>0]|0)|0)>>>0)/255|0)>>>j<<m;if(!l)break;else k=k+(w<<1)|0}return}default:{n=(c[a+16>>2]|0)/(d[I+9>>0]|0|0)|0;k=c[a+20>>2]|0;if((i|0)<(g|0)){k=k+((N(n,i)|0)<<1)+(h<<1)|0;l=(o|0)!=0;k=l?k:k+(n<<1)|0;m=g-i|0}else{k=k+((N(n,g)|0)<<1)+(h<<1)|0;m=i-g|0;l=(o|0)!=0}l=m+(l&1)|0;if(!l)return;m=(K>>>(d[I+29>>0]|0)<<(d[I+33>>0]|0)|L>>>(d[I+28>>0]|0)<<(d[I+32>>0]|0)|c[I+24>>2]|J>>>(d[I+30>>0]|0)<<(d[I+34>>0]|0))&65535;while(1){l=l+-1|0;b[k>>1]=m;if(!l)break;else k=k+(n<<1)|0}return}}G=f-h|0;k=g-i|0;if((((G|0)<0?0-G|0:G)|0)==(((k|0)<0?0-k|0:k)|0))switch(j|0){case 1:{m=(c[a+16>>2]|0)/(d[I+9>>0]|0|0)|0;l=c[a+20>>2]|0;if((i|0)<(g|0)){w=l+((N(m,i)|0)<<1)+(h<<1)|0;a=m+((h|0)>(f|0)?-1:1)|0;w=(o|0)==0?w+(a<<1)|0:w}else{w=l+((N(m,g)|0)<<1)+(f<<1)|0;k=i-g|0;a=m+((h|0)<(f|0)?-1:1)|0}l=k+((o|0)!=0&1)|0;if(!l)return;n=d[I+28>>0]|0;p=c[16112+(n<<2)>>2]|0;i=c[I+12>>2]|0;g=d[I+29>>0]|0;h=c[16112+(g<<2)>>2]|0;q=c[I+16>>2]|0;j=d[I+30>>0]|0;r=c[16112+(j<<2)>>2]|0;s=c[I+20>>2]|0;t=c[I+24>>2]|0;u=d[I+32>>0]|0;v=d[I+33>>0]|0;m=d[I+34>>0]|0;k=w;while(1){l=l+-1|0;I=e[k>>1]|0;b[k>>1]=((((N(H,d[h+((q&I)>>>v)>>0]|0)|0)>>>0)/255|0)+K|0)>>>g<<v|((((N(H,d[p+((i&I)>>>u)>>0]|0)|0)>>>0)/255|0)+L|0)>>>n<<u|t|((((N(H,d[r+((s&I)>>>m)>>0]|0)|0)>>>0)/255|0)+J|0)>>>j<<m;if(!l)break;else k=k+(a<<1)|0}return}case 2:{m=(c[a+16>>2]|0)/(d[I+9>>0]|0|0)|0;l=c[a+20>>2]|0;if((i|0)<(g|0)){w=l+((N(m,i)|0)<<1)+(h<<1)|0;a=m+((h|0)>(f|0)?-1:1)|0;w=(o|0)==0?w+(a<<1)|0:w}else{w=l+((N(m,g)|0)<<1)+(f<<1)|0;k=i-g|0;a=m+((h|0)<(f|0)?-1:1)|0}l=k+((o|0)!=0&1)|0;if(!l)return;n=d[I+28>>0]|0;p=c[16112+(n<<2)>>2]|0;i=c[I+12>>2]|0;g=d[I+29>>0]|0;h=c[16112+(g<<2)>>2]|0;q=c[I+16>>2]|0;j=d[I+30>>0]|0;r=c[16112+(j<<2)>>2]|0;s=c[I+20>>2]|0;t=c[I+24>>2]|0;u=d[I+32>>0]|0;v=d[I+33>>0]|0;m=d[I+34>>0]|0;k=w;while(1){l=l+-1|0;I=e[k>>1]|0;f=L+(d[p+((i&I)>>>u)>>0]|0)|0;H=K+(d[h+((q&I)>>>v)>>0]|0)|0;I=J+(d[r+((s&I)>>>m)>>0]|0)|0;b[k>>1]=(H>>>0<255?H:255)>>>g<<v|(f>>>0<255?f:255)>>>n<<u|t|(I>>>0<255?I:255)>>>j<<m;if(!l)break;else k=k+(a<<1)|0}return}case 4:{m=(c[a+16>>2]|0)/(d[I+9>>0]|0|0)|0;l=c[a+20>>2]|0;if((i|0)<(g|0)){w=l+((N(m,i)|0)<<1)+(h<<1)|0;a=m+((h|0)>(f|0)?-1:1)|0;w=(o|0)==0?w+(a<<1)|0:w}else{w=l+((N(m,g)|0)<<1)+(f<<1)|0;k=i-g|0;a=m+((h|0)<(f|0)?-1:1)|0}l=k+((o|0)!=0&1)|0;if(!l)return;n=d[I+28>>0]|0;p=c[16112+(n<<2)>>2]|0;i=c[I+12>>2]|0;g=d[I+29>>0]|0;h=c[16112+(g<<2)>>2]|0;q=c[I+16>>2]|0;j=d[I+30>>0]|0;r=c[16112+(j<<2)>>2]|0;s=c[I+20>>2]|0;t=c[I+24>>2]|0;u=d[I+32>>0]|0;v=d[I+33>>0]|0;m=d[I+34>>0]|0;k=w;while(1){l=l+-1|0;I=e[k>>1]|0;b[k>>1]=(((N(K,d[h+((q&I)>>>v)>>0]|0)|0)>>>0)/255|0)>>>g<<v|(((N(L,d[p+((i&I)>>>u)>>0]|0)|0)>>>0)/255|0)>>>n<<u|t|(((N(J,d[r+((s&I)>>>m)>>0]|0)|0)>>>0)/255|0)>>>j<<m;if(!l)break;else k=k+(a<<1)|0}return}default:{m=(c[a+16>>2]|0)/(d[I+9>>0]|0|0)|0;l=c[a+20>>2]|0;if((i|0)<(g|0)){H=l+((N(m,i)|0)<<1)+(h<<1)|0;n=m+((h|0)>(f|0)?-1:1)|0;l=k;k=(o|0)==0?H+(n<<1)|0:H}else{k=l+((N(m,g)|0)<<1)+(f<<1)|0;l=i-g|0;n=m+((h|0)<(f|0)?-1:1)|0}l=l+((o|0)!=0&1)|0;if(!l)return;m=(K>>>(d[I+29>>0]|0)<<(d[I+33>>0]|0)|L>>>(d[I+28>>0]|0)<<(d[I+32>>0]|0)|c[I+24>>2]|J>>>(d[I+30>>0]|0)<<(d[I+34>>0]|0))&65535;while(1){l=l+-1|0;b[k>>1]=m;if(!l)break;else k=k+(n<<1)|0}return}}else switch(j|0){case 1:{k=h-f|0;k=(k|0)<0?0-k|0:k;l=i-g|0;l=(l|0)<0?0-l|0:l;if((k|0)<(l|0)){F=k<<1;j=1;n=0;m=k-l|0;G=F;F=F-l|0;k=l}else{F=l<<1;j=0;n=1;m=l-k|0;G=F;F=F-k|0}E=m<<1;D=(h|0)<(f|0);C=D?0-n|0:n;D=D?-1:1;A=(i|0)<(g|0);B=A?0-j|0:j;A=A?-1:1;z=k+((o|0)!=0&1)|0;if((z|0)<=0)return;y=c[a+20>>2]|0;q=c[a+16>>2]|0;p=d[I+28>>0]|0;r=c[16112+(p<<2)>>2]|0;s=c[I+12>>2]|0;i=d[I+29>>0]|0;t=c[16112+(i<<2)>>2]|0;u=c[I+16>>2]|0;h=d[I+30>>0]|0;v=c[16112+(h<<2)>>2]|0;a=c[I+20>>2]|0;w=c[I+24>>2]|0;o=d[I+32>>0]|0;x=d[I+33>>0]|0;j=d[I+34>>0]|0;m=f;n=0;k=F;while(1){l=y+(N(q,g)|0)+(m<<1)|0;I=e[l>>1]|0;b[l>>1]=((((N(H,d[t+((u&I)>>>x)>>0]|0)|0)>>>0)/255|0)+K|0)>>>i<<x|((((N(H,d[r+((s&I)>>>o)>>0]|0)|0)>>>0)/255|0)+L|0)>>>p<<o|w|((((N(H,d[v+((a&I)>>>j)>>0]|0)|0)>>>0)/255|0)+J|0)>>>h<<j;l=(k|0)<0;n=n+1|0;if((n|0)>=(z|0))break;else{g=g+(l?B:A)|0;m=(l?C:D)+m|0;k=(l?G:E)+k|0}}return}case 2:{k=h-f|0;k=(k|0)<0?0-k|0:k;l=i-g|0;l=(l|0)<0?0-l|0:l;if((k|0)<(l|0)){F=k<<1;j=1;n=0;m=k-l|0;G=F;F=F-l|0;k=l}else{F=l<<1;j=0;n=1;m=l-k|0;G=F;F=F-k|0}E=m<<1;D=(h|0)<(f|0);C=D?0-n|0:n;D=D?-1:1;A=(i|0)<(g|0);B=A?0-j|0:j;A=A?-1:1;z=k+((o|0)!=0&1)|0;if((z|0)<=0)return;y=c[a+20>>2]|0;q=c[a+16>>2]|0;p=d[I+28>>0]|0;r=c[16112+(p<<2)>>2]|0;s=c[I+12>>2]|0;i=d[I+29>>0]|0;t=c[16112+(i<<2)>>2]|0;u=c[I+16>>2]|0;h=d[I+30>>0]|0;v=c[16112+(h<<2)>>2]|0;a=c[I+20>>2]|0;w=c[I+24>>2]|0;o=d[I+32>>0]|0;x=d[I+33>>0]|0;j=d[I+34>>0]|0;m=f;n=0;k=F;while(1){l=y+(N(q,g)|0)+(m<<1)|0;I=e[l>>1]|0;f=L+(d[r+((s&I)>>>o)>>0]|0)|0;H=K+(d[t+((u&I)>>>x)>>0]|0)|0;I=J+(d[v+((a&I)>>>j)>>0]|0)|0;b[l>>1]=(H>>>0<255?H:255)>>>i<<x|(f>>>0<255?f:255)>>>p<<o|w|(I>>>0<255?I:255)>>>h<<j;l=(k|0)<0;n=n+1|0;if((n|0)>=(z|0))break;else{g=g+(l?B:A)|0;m=(l?C:D)+m|0;k=(l?G:E)+k|0}}return}case 4:{k=h-f|0;k=(k|0)<0?0-k|0:k;l=i-g|0;l=(l|0)<0?0-l|0:l;if((k|0)<(l|0)){F=k<<1;j=1;n=0;m=k-l|0;G=F;F=F-l|0;k=l}else{F=l<<1;j=0;n=1;m=l-k|0;G=F;F=F-k|0}E=m<<1;D=(h|0)<(f|0);C=D?0-n|0:n;D=D?-1:1;A=(i|0)<(g|0);B=A?0-j|0:j;A=A?-1:1;z=k+((o|0)!=0&1)|0;if((z|0)<=0)return;y=c[a+20>>2]|0;q=c[a+16>>2]|0;p=d[I+28>>0]|0;r=c[16112+(p<<2)>>2]|0;s=c[I+12>>2]|0;i=d[I+29>>0]|0;t=c[16112+(i<<2)>>2]|0;u=c[I+16>>2]|0;h=d[I+30>>0]|0;v=c[16112+(h<<2)>>2]|0;a=c[I+20>>2]|0;w=c[I+24>>2]|0;o=d[I+32>>0]|0;x=d[I+33>>0]|0;j=d[I+34>>0]|0;m=f;n=0;k=F;while(1){l=y+(N(q,g)|0)+(m<<1)|0;I=e[l>>1]|0;b[l>>1]=(((N(K,d[t+((u&I)>>>x)>>0]|0)|0)>>>0)/255|0)>>>i<<x|(((N(L,d[r+((s&I)>>>o)>>0]|0)|0)>>>0)/255|0)>>>p<<o|w|(((N(J,d[v+((a&I)>>>j)>>0]|0)|0)>>>0)/255|0)>>>h<<j;l=(k|0)<0;n=n+1|0;if((n|0)>=(z|0))break;else{g=g+(l?B:A)|0;m=(l?C:D)+m|0;k=(l?G:E)+k|0}}return}default:{l=h-f|0;l=(l|0)<0?0-l|0:l;m=i-g|0;m=(m|0)<0?0-m|0:m;if((l|0)<(m|0)){k=l<<1;p=1;j=0;n=l-m|0;v=k;k=k-m|0;l=m}else{k=m<<1;p=0;j=1;n=m-l|0;v=k;k=k-l|0}u=n<<1;t=(h|0)<(f|0);s=t?0-j|0:j;t=t?-1:1;q=(i|0)<(g|0);r=q?0-p|0:p;q=q?-1:1;h=l+((o|0)!=0&1)|0;if((h|0)<=0)return;i=c[a+20>>2]|0;p=c[a+16>>2]|0;j=(K>>>(d[I+29>>0]|0)<<(d[I+33>>0]|0)|L>>>(d[I+28>>0]|0)<<(d[I+32>>0]|0)|c[I+24>>2]|J>>>(d[I+30>>0]|0)<<(d[I+34>>0]|0))&65535;m=f;n=0;while(1){b[i+(N(p,g)|0)+(m<<1)>>1]=j;l=(k|0)<0;n=n+1|0;if((n|0)>=(h|0))break;else{g=g+(l?r:q)|0;m=(l?s:t)+m|0;k=(l?v:u)+k|0}}return}}}function mIa(a,f,g,h,i,j,k,l,m,n,o){a=a|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;var p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;k=k&255;if((j+-1|0)>>>0<2){w=n&255;z=((N(w,k)|0)>>>0)/255|0;y=((N(w,l&255)|0)>>>0)/255|0;x=((N(w,m&255)|0)>>>0)/255|0;k=w}else{z=k;y=l&255;x=m&255;k=n&255}w=k^255;if((i|0)==(g|0))switch(j|0){case 1:{k=(c[a+20>>2]|0)+((N((c[a+16>>2]|0)/(d[(c[a+4>>2]|0)+9>>0]|0|0)|0,i)|0)<<1)|0;if((h|0)<(f|0)){k=k+(h<<1)|0;l=(o|0)!=0;k=l?k:k+2|0;m=f-h|0}else{k=k+(f<<1)|0;m=h-f|0;l=(o|0)!=0}l=m+(l&1)|0;if(!l)return;while(1){l=l+-1|0;o=e[k>>1]|0;b[k>>1]=((((N(w,d[16608+(o>>>5&31)>>0]|0)|0)>>>0)/255|0)+y|0)>>>3<<5|((((N(w,d[16608+(o>>>10&31)>>0]|0)|0)>>>0)/255|0)+z|0)>>>3<<10|((((N(w,d[16608+(o&31)>>0]|0)|0)>>>0)/255|0)+x|0)>>>3;if(!l)break;else k=k+2|0}return}case 2:{k=(c[a+20>>2]|0)+((N((c[a+16>>2]|0)/(d[(c[a+4>>2]|0)+9>>0]|0|0)|0,i)|0)<<1)|0;if((h|0)<(f|0)){k=k+(h<<1)|0;l=(o|0)!=0;k=l?k:k+2|0;m=f-h|0}else{k=k+(f<<1)|0;m=h-f|0;l=(o|0)!=0}l=m+(l&1)|0;if(!l)return;while(1){l=l+-1|0;o=e[k>>1]|0;f=z+(d[16608+(o>>>10&31)>>0]|0)|0;a=y+(d[16608+(o>>>5&31)>>0]|0)|0;o=x+(d[16608+(o&31)>>0]|0)|0;b[k>>1]=(a>>>0<255?a:255)>>>3<<5|(f>>>0<255?f:255)>>>3<<10|(o>>>0<255?o:255)>>>3;if(!l)break;else k=k+2|0}return}case 4:{k=(c[a+20>>2]|0)+((N((c[a+16>>2]|0)/(d[(c[a+4>>2]|0)+9>>0]|0|0)|0,i)|0)<<1)|0;if((h|0)<(f|0)){k=k+(h<<1)|0;l=(o|0)!=0;k=l?k:k+2|0;m=f-h|0}else{k=k+(f<<1)|0;m=h-f|0;l=(o|0)!=0}l=m+(l&1)|0;if(!l)return;while(1){l=l+-1|0;o=e[k>>1]|0;b[k>>1]=(((N(y,d[16608+(o>>>5&31)>>0]|0)|0)>>>0)/255|0)>>>3<<5|(((N(z,d[16608+(o>>>10&31)>>0]|0)|0)>>>0)/255|0)>>>3<<10|(((N(x,d[16608+(o&31)>>0]|0)|0)>>>0)/255|0)>>>3;if(!l)break;else k=k+2|0}return}default:{k=(c[a+20>>2]|0)+((N((c[a+16>>2]|0)/(d[(c[a+4>>2]|0)+9>>0]|0|0)|0,i)|0)<<1)|0;if((h|0)<(f|0)){k=k+(h<<1)|0;l=(o|0)!=0;k=l?k:k+2|0;m=f-h|0}else{k=k+(f<<1)|0;m=h-f|0;l=(o|0)!=0}l=m+(l&1)|0;if(!l)return;m=(y>>>3<<5|x>>>3|z>>>3<<10)&65535;while(1){l=l+-1|0;b[k>>1]=m;if(!l)break;else k=k+2|0}return}}if((h|0)==(f|0))switch(j|0){case 1:{n=(c[a+16>>2]|0)/(d[(c[a+4>>2]|0)+9>>0]|0|0)|0;k=c[a+20>>2]|0;if((i|0)<(g|0)){k=k+((N(n,i)|0)<<1)+(h<<1)|0;l=(o|0)!=0;k=l?k:k+(n<<1)|0;m=g-i|0}else{k=k+((N(n,g)|0)<<1)+(h<<1)|0;m=i-g|0;l=(o|0)!=0}l=m+(l&1)|0;if(!l)return;while(1){l=l+-1|0;o=e[k>>1]|0;b[k>>1]=((((N(w,d[16608+(o>>>5&31)>>0]|0)|0)>>>0)/255|0)+y|0)>>>3<<5|((((N(w,d[16608+(o>>>10&31)>>0]|0)|0)>>>0)/255|0)+z|0)>>>3<<10|((((N(w,d[16608+(o&31)>>0]|0)|0)>>>0)/255|0)+x|0)>>>3;if(!l)break;else k=k+(n<<1)|0}return}case 2:{n=(c[a+16>>2]|0)/(d[(c[a+4>>2]|0)+9>>0]|0|0)|0;k=c[a+20>>2]|0;if((i|0)<(g|0)){k=k+((N(n,i)|0)<<1)+(h<<1)|0;l=(o|0)!=0;k=l?k:k+(n<<1)|0;m=g-i|0}else{k=k+((N(n,g)|0)<<1)+(h<<1)|0;m=i-g|0;l=(o|0)!=0}l=m+(l&1)|0;if(!l)return;while(1){l=l+-1|0;o=e[k>>1]|0;f=z+(d[16608+(o>>>10&31)>>0]|0)|0;a=y+(d[16608+(o>>>5&31)>>0]|0)|0;o=x+(d[16608+(o&31)>>0]|0)|0;b[k>>1]=(a>>>0<255?a:255)>>>3<<5|(f>>>0<255?f:255)>>>3<<10|(o>>>0<255?o:255)>>>3;if(!l)break;else k=k+(n<<1)|0}return}case 4:{n=(c[a+16>>2]|0)/(d[(c[a+4>>2]|0)+9>>0]|0|0)|0;k=c[a+20>>2]|0;if((i|0)<(g|0)){k=k+((N(n,i)|0)<<1)+(h<<1)|0;l=(o|0)!=0;k=l?k:k+(n<<1)|0;m=g-i|0}else{k=k+((N(n,g)|0)<<1)+(h<<1)|0;m=i-g|0;l=(o|0)!=0}l=m+(l&1)|0;if(!l)return;while(1){l=l+-1|0;o=e[k>>1]|0;b[k>>1]=(((N(y,d[16608+(o>>>5&31)>>0]|0)|0)>>>0)/255|0)>>>3<<5|(((N(z,d[16608+(o>>>10&31)>>0]|0)|0)>>>0)/255|0)>>>3<<10|(((N(x,d[16608+(o&31)>>0]|0)|0)>>>0)/255|0)>>>3;if(!l)break;else k=k+(n<<1)|0}return}default:{n=(c[a+16>>2]|0)/(d[(c[a+4>>2]|0)+9>>0]|0|0)|0;k=c[a+20>>2]|0;if((i|0)<(g|0)){k=k+((N(n,i)|0)<<1)+(h<<1)|0;l=(o|0)!=0;k=l?k:k+(n<<1)|0;m=g-i|0}else{k=k+((N(n,g)|0)<<1)+(h<<1)|0;m=i-g|0;l=(o|0)!=0}l=m+(l&1)|0;if(!l)return;m=(y>>>3<<5|x>>>3|z>>>3<<10)&65535;while(1){l=l+-1|0;b[k>>1]=m;if(!l)break;else k=k+(n<<1)|0}return}}v=f-h|0;l=g-i|0;if((((v|0)<0?0-v|0:v)|0)==(((l|0)<0?0-l|0:l)|0))switch(j|0){case 1:{m=(c[a+16>>2]|0)/(d[(c[a+4>>2]|0)+9>>0]|0|0)|0;k=c[a+20>>2]|0;if((i|0)<(g|0)){k=k+((N(m,i)|0)<<1)+(h<<1)|0;m=m+((h|0)>(f|0)?-1:1)|0;k=(o|0)==0?k+(m<<1)|0:k}else{k=k+((N(m,g)|0)<<1)+(f<<1)|0;l=i-g|0;m=m+((h|0)<(f|0)?-1:1)|0}l=l+((o|0)!=0&1)|0;if(!l)return;while(1){l=l+-1|0;o=e[k>>1]|0;b[k>>1]=((((N(w,d[16608+(o>>>5&31)>>0]|0)|0)>>>0)/255|0)+y|0)>>>3<<5|((((N(w,d[16608+(o>>>10&31)>>0]|0)|0)>>>0)/255|0)+z|0)>>>3<<10|((((N(w,d[16608+(o&31)>>0]|0)|0)>>>0)/255|0)+x|0)>>>3;if(!l)break;else k=k+(m<<1)|0}return}case 2:{m=(c[a+16>>2]|0)/(d[(c[a+4>>2]|0)+9>>0]|0|0)|0;k=c[a+20>>2]|0;if((i|0)<(g|0)){k=k+((N(m,i)|0)<<1)+(h<<1)|0;m=m+((h|0)>(f|0)?-1:1)|0;k=(o|0)==0?k+(m<<1)|0:k}else{k=k+((N(m,g)|0)<<1)+(f<<1)|0;l=i-g|0;m=m+((h|0)<(f|0)?-1:1)|0}l=l+((o|0)!=0&1)|0;if(!l)return;while(1){l=l+-1|0;o=e[k>>1]|0;f=z+(d[16608+(o>>>10&31)>>0]|0)|0;a=y+(d[16608+(o>>>5&31)>>0]|0)|0;o=x+(d[16608+(o&31)>>0]|0)|0;b[k>>1]=(a>>>0<255?a:255)>>>3<<5|(f>>>0<255?f:255)>>>3<<10|(o>>>0<255?o:255)>>>3;if(!l)break;else k=k+(m<<1)|0}return}case 4:{m=(c[a+16>>2]|0)/(d[(c[a+4>>2]|0)+9>>0]|0|0)|0;k=c[a+20>>2]|0;if((i|0)<(g|0)){k=k+((N(m,i)|0)<<1)+(h<<1)|0;m=m+((h|0)>(f|0)?-1:1)|0;k=(o|0)==0?k+(m<<1)|0:k}else{k=k+((N(m,g)|0)<<1)+(f<<1)|0;l=i-g|0;m=m+((h|0)<(f|0)?-1:1)|0}l=l+((o|0)!=0&1)|0;if(!l)return;while(1){l=l+-1|0;o=e[k>>1]|0;b[k>>1]=(((N(y,d[16608+(o>>>5&31)>>0]|0)|0)>>>0)/255|0)>>>3<<5|(((N(z,d[16608+(o>>>10&31)>>0]|0)|0)>>>0)/255|0)>>>3<<10|(((N(x,d[16608+(o&31)>>0]|0)|0)>>>0)/255|0)>>>3;if(!l)break;else k=k+(m<<1)|0}return}default:{m=(c[a+16>>2]|0)/(d[(c[a+4>>2]|0)+9>>0]|0|0)|0;k=c[a+20>>2]|0;if((i|0)<(g|0)){k=k+((N(m,i)|0)<<1)+(h<<1)|0;n=m+((h|0)>(f|0)?-1:1)|0;k=(o|0)==0?k+(n<<1)|0:k}else{k=k+((N(m,g)|0)<<1)+(f<<1)|0;l=i-g|0;n=m+((h|0)<(f|0)?-1:1)|0}l=l+((o|0)!=0&1)|0;if(!l)return;m=(y>>>3<<5|x>>>3|z>>>3<<10)&65535;while(1){l=l+-1|0;b[k>>1]=m;if(!l)break;else k=k+(n<<1)|0}return}}else switch(j|0){case 1:{k=h-f|0;k=(k|0)<0?0-k|0:k;l=i-g|0;l=(l|0)<0?0-l|0:l;if((k|0)<(l|0)){u=k<<1;j=1;n=0;m=k-l|0;v=u;u=u-l|0;k=l}else{u=l<<1;j=0;n=1;m=l-k|0;v=u;u=u-k|0}t=m<<1;s=(h|0)<(f|0);r=s?0-n|0:n;s=s?-1:1;h=(i|0)<(g|0);q=h?0-j|0:j;h=h?-1:1;i=k+((o|0)!=0&1)|0;if((i|0)<=0)return;p=c[a+20>>2]|0;j=c[a+16>>2]|0;m=f;n=0;k=u;while(1){l=p+(N(j,g)|0)+(m<<1)|0;o=e[l>>1]|0;b[l>>1]=((((N(w,d[16608+(o>>>5&31)>>0]|0)|0)>>>0)/255|0)+y|0)>>>3<<5|((((N(w,d[16608+(o>>>10&31)>>0]|0)|0)>>>0)/255|0)+z|0)>>>3<<10|((((N(w,d[16608+(o&31)>>0]|0)|0)>>>0)/255|0)+x|0)>>>3;l=(k|0)<0;n=n+1|0;if((n|0)>=(i|0))break;else{g=g+(l?q:h)|0;m=(l?r:s)+m|0;k=(l?v:t)+k|0}}return}case 2:{k=h-f|0;k=(k|0)<0?0-k|0:k;l=i-g|0;l=(l|0)<0?0-l|0:l;if((k|0)<(l|0)){u=k<<1;j=1;n=0;m=k-l|0;v=u;u=u-l|0;k=l}else{u=l<<1;j=0;n=1;m=l-k|0;v=u;u=u-k|0}t=m<<1;s=(h|0)<(f|0);r=s?0-n|0:n;s=s?-1:1;h=(i|0)<(g|0);q=h?0-j|0:j;h=h?-1:1;i=k+((o|0)!=0&1)|0;if((i|0)<=0)return;p=c[a+20>>2]|0;j=c[a+16>>2]|0;m=f;n=0;k=u;while(1){l=p+(N(j,g)|0)+(m<<1)|0;o=e[l>>1]|0;f=z+(d[16608+(o>>>10&31)>>0]|0)|0;a=y+(d[16608+(o>>>5&31)>>0]|0)|0;o=x+(d[16608+(o&31)>>0]|0)|0;b[l>>1]=(a>>>0<255?a:255)>>>3<<5|(f>>>0<255?f:255)>>>3<<10|(o>>>0<255?o:255)>>>3;l=(k|0)<0;n=n+1|0;if((n|0)>=(i|0))break;else{g=g+(l?q:h)|0;m=(l?r:s)+m|0;k=(l?v:t)+k|0}}return}case 4:{k=h-f|0;k=(k|0)<0?0-k|0:k;l=i-g|0;l=(l|0)<0?0-l|0:l;if((k|0)<(l|0)){u=k<<1;j=1;n=0;m=k-l|0;v=u;u=u-l|0;k=l}else{u=l<<1;j=0;n=1;m=l-k|0;v=u;u=u-k|0}t=m<<1;s=(h|0)<(f|0);r=s?0-n|0:n;s=s?-1:1;h=(i|0)<(g|0);q=h?0-j|0:j;h=h?-1:1;i=k+((o|0)!=0&1)|0;if((i|0)<=0)return;p=c[a+20>>2]|0;j=c[a+16>>2]|0;m=f;n=0;k=u;while(1){l=p+(N(j,g)|0)+(m<<1)|0;o=e[l>>1]|0;b[l>>1]=(((N(y,d[16608+(o>>>5&31)>>0]|0)|0)>>>0)/255|0)>>>3<<5|(((N(z,d[16608+(o>>>10&31)>>0]|0)|0)>>>0)/255|0)>>>3<<10|(((N(x,d[16608+(o&31)>>0]|0)|0)>>>0)/255|0)>>>3;l=(k|0)<0;n=n+1|0;if((n|0)>=(i|0))break;else{g=g+(l?q:h)|0;m=(l?r:s)+m|0;k=(l?v:t)+k|0}}return}default:{l=h-f|0;l=(l|0)<0?0-l|0:l;m=i-g|0;m=(m|0)<0?0-m|0:m;if((l|0)<(m|0)){k=l<<1;p=1;j=0;n=l-m|0;v=k;k=k-m|0;l=m}else{k=m<<1;p=0;j=1;n=m-l|0;v=k;k=k-l|0}u=n<<1;t=(h|0)<(f|0);s=t?0-j|0:j;t=t?-1:1;q=(i|0)<(g|0);r=q?0-p|0:p;q=q?-1:1;h=l+((o|0)!=0&1)|0;if((h|0)<=0)return;i=c[a+20>>2]|0;p=c[a+16>>2]|0;j=(y>>>3<<5|x>>>3|z>>>3<<10)&65535;m=f;n=0;while(1){b[i+(N(p,g)|0)+(m<<1)>>1]=j;l=(k|0)<0;n=n+1|0;if((n|0)>=(h|0))break;else{g=g+(l?r:q)|0;m=(l?s:t)+m|0;k=(l?v:u)+k|0}}return}}}function nIa(a,b,e,f,g,h,i,j,k,l,m){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;var n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;i=i&255;if((h+-1|0)>>>0<2){v=l&255;y=((N(v,i)|0)>>>0)/255|0;x=((N(v,j&255)|0)>>>0)/255|0;w=((N(v,k&255)|0)>>>0)/255|0}else{y=i;x=j&255;w=k&255;v=l&255}u=v^255;if((g|0)==(e|0))switch(h|0){case 1:{i=(c[a+20>>2]|0)+((N((c[a+16>>2]|0)/(d[(c[a+4>>2]|0)+9>>0]|0|0)|0,g)|0)<<2)|0;if((f|0)<(b|0)){i=i+(f<<2)|0;j=(m|0)!=0;i=j?i:i+4|0;k=b-f|0}else{i=i+(b<<2)|0;k=f-b|0;j=(m|0)!=0}j=k+(j&1)|0;if(!j)return;while(1){j=j+-1|0;m=c[i>>2]|0;c[i>>2]=(((N(m>>>24,u)|0)>>>0)/255|0)+v<<24|(((N(m&255,u)|0)>>>0)/255|0)+w|(((N(m>>>16&255,u)|0)>>>0)/255|0)+y<<16|(((N(m>>>8&255,u)|0)>>>0)/255|0)+x<<8;if(!j)break;else i=i+4|0}return}case 2:{i=(c[a+20>>2]|0)+((N((c[a+16>>2]|0)/(d[(c[a+4>>2]|0)+9>>0]|0|0)|0,g)|0)<<2)|0;if((f|0)<(b|0)){i=i+(f<<2)|0;j=(m|0)!=0;i=j?i:i+4|0;k=b-f|0}else{i=i+(b<<2)|0;k=f-b|0;j=(m|0)!=0}j=k+(j&1)|0;if(!j)return;while(1){j=j+-1|0;v=c[i>>2]|0;b=(v>>>16&255)+y|0;m=(v>>>8&255)+x|0;a=(v&255)+w|0;c[i>>2]=(a>>>0<255?a:255)|v&-16777216|(b>>>0<255?b:255)<<16|(m>>>0<255?m:255)<<8;if(!j)break;else i=i+4|0}return}case 4:{i=(c[a+20>>2]|0)+((N((c[a+16>>2]|0)/(d[(c[a+4>>2]|0)+9>>0]|0|0)|0,g)|0)<<2)|0;if((f|0)<(b|0)){i=i+(f<<2)|0;j=(m|0)!=0;i=j?i:i+4|0;k=b-f|0}else{i=i+(b<<2)|0;k=f-b|0;j=(m|0)!=0}j=k+(j&1)|0;if(!j)return;while(1){j=j+-1|0;m=c[i>>2]|0;c[i>>2]=((N(m&255,w)|0)>>>0)/255|0|m&-16777216|(((N(m>>>16&255,y)|0)>>>0)/255|0)<<16|(((N(m>>>8&255,x)|0)>>>0)/255|0)<<8;if(!j)break;else i=i+4|0}return}default:{i=(c[a+20>>2]|0)+((N((c[a+16>>2]|0)/(d[(c[a+4>>2]|0)+9>>0]|0|0)|0,g)|0)<<2)|0;if((f|0)<(b|0)){i=i+(f<<2)|0;j=(m|0)!=0;i=j?i:i+4|0;k=b-f|0}else{i=i+(b<<2)|0;k=f-b|0;j=(m|0)!=0}j=k+(j&1)|0;if(!j)return;k=w|v<<24|x<<8|y<<16;while(1){j=j+-1|0;c[i>>2]=k;if(!j)break;else i=i+4|0}return}}if((f|0)==(b|0))switch(h|0){case 1:{l=(c[a+16>>2]|0)/(d[(c[a+4>>2]|0)+9>>0]|0|0)|0;i=c[a+20>>2]|0;if((g|0)<(e|0)){i=i+((N(l,g)|0)<<2)+(f<<2)|0;j=(m|0)!=0;i=j?i:i+(l<<2)|0;k=e-g|0}else{i=i+((N(l,e)|0)<<2)+(f<<2)|0;k=g-e|0;j=(m|0)!=0}j=k+(j&1)|0;if(!j)return;while(1){j=j+-1|0;m=c[i>>2]|0;c[i>>2]=(((N(m>>>24,u)|0)>>>0)/255|0)+v<<24|(((N(m&255,u)|0)>>>0)/255|0)+w|(((N(m>>>16&255,u)|0)>>>0)/255|0)+y<<16|(((N(m>>>8&255,u)|0)>>>0)/255|0)+x<<8;if(!j)break;else i=i+(l<<2)|0}return}case 2:{l=(c[a+16>>2]|0)/(d[(c[a+4>>2]|0)+9>>0]|0|0)|0;i=c[a+20>>2]|0;if((g|0)<(e|0)){i=i+((N(l,g)|0)<<2)+(f<<2)|0;j=(m|0)!=0;i=j?i:i+(l<<2)|0;k=e-g|0}else{i=i+((N(l,e)|0)<<2)+(f<<2)|0;k=g-e|0;j=(m|0)!=0}j=k+(j&1)|0;if(!j)return;while(1){j=j+-1|0;v=c[i>>2]|0;b=(v>>>16&255)+y|0;m=(v>>>8&255)+x|0;a=(v&255)+w|0;c[i>>2]=(a>>>0<255?a:255)|v&-16777216|(b>>>0<255?b:255)<<16|(m>>>0<255?m:255)<<8;if(!j)break;else i=i+(l<<2)|0}return}case 4:{l=(c[a+16>>2]|0)/(d[(c[a+4>>2]|0)+9>>0]|0|0)|0;i=c[a+20>>2]|0;if((g|0)<(e|0)){i=i+((N(l,g)|0)<<2)+(f<<2)|0;j=(m|0)!=0;i=j?i:i+(l<<2)|0;k=e-g|0}else{i=i+((N(l,e)|0)<<2)+(f<<2)|0;k=g-e|0;j=(m|0)!=0}j=k+(j&1)|0;if(!j)return;while(1){j=j+-1|0;m=c[i>>2]|0;c[i>>2]=((N(m&255,w)|0)>>>0)/255|0|m&-16777216|(((N(m>>>16&255,y)|0)>>>0)/255|0)<<16|(((N(m>>>8&255,x)|0)>>>0)/255|0)<<8;if(!j)break;else i=i+(l<<2)|0}return}default:{l=(c[a+16>>2]|0)/(d[(c[a+4>>2]|0)+9>>0]|0|0)|0;i=c[a+20>>2]|0;if((g|0)<(e|0)){i=i+((N(l,g)|0)<<2)+(f<<2)|0;j=(m|0)!=0;i=j?i:i+(l<<2)|0;k=e-g|0}else{i=i+((N(l,e)|0)<<2)+(f<<2)|0;k=g-e|0;j=(m|0)!=0}j=k+(j&1)|0;if(!j)return;k=w|v<<24|x<<8|y<<16;while(1){j=j+-1|0;c[i>>2]=k;if(!j)break;else i=i+(l<<2)|0}return}}t=b-f|0;j=e-g|0;if((((t|0)<0?0-t|0:t)|0)==(((j|0)<0?0-j|0:j)|0))switch(h|0){case 1:{k=(c[a+16>>2]|0)/(d[(c[a+4>>2]|0)+9>>0]|0|0)|0;i=c[a+20>>2]|0;if((g|0)<(e|0)){i=i+((N(k,g)|0)<<2)+(f<<2)|0;k=k+((f|0)>(b|0)?-1:1)|0;i=(m|0)==0?i+(k<<2)|0:i}else{i=i+((N(k,e)|0)<<2)+(b<<2)|0;j=g-e|0;k=k+((f|0)<(b|0)?-1:1)|0}j=j+((m|0)!=0&1)|0;if(!j)return;while(1){j=j+-1|0;m=c[i>>2]|0;c[i>>2]=(((N(m>>>24,u)|0)>>>0)/255|0)+v<<24|(((N(m&255,u)|0)>>>0)/255|0)+w|(((N(m>>>16&255,u)|0)>>>0)/255|0)+y<<16|(((N(m>>>8&255,u)|0)>>>0)/255|0)+x<<8;if(!j)break;else i=i+(k<<2)|0}return}case 2:{k=(c[a+16>>2]|0)/(d[(c[a+4>>2]|0)+9>>0]|0|0)|0;i=c[a+20>>2]|0;if((g|0)<(e|0)){i=i+((N(k,g)|0)<<2)+(f<<2)|0;k=k+((f|0)>(b|0)?-1:1)|0;i=(m|0)==0?i+(k<<2)|0:i}else{i=i+((N(k,e)|0)<<2)+(b<<2)|0;j=g-e|0;k=k+((f|0)<(b|0)?-1:1)|0}j=j+((m|0)!=0&1)|0;if(!j)return;while(1){j=j+-1|0;v=c[i>>2]|0;b=(v>>>16&255)+y|0;m=(v>>>8&255)+x|0;a=(v&255)+w|0;c[i>>2]=(a>>>0<255?a:255)|v&-16777216|(b>>>0<255?b:255)<<16|(m>>>0<255?m:255)<<8;if(!j)break;else i=i+(k<<2)|0}return}case 4:{k=(c[a+16>>2]|0)/(d[(c[a+4>>2]|0)+9>>0]|0|0)|0;i=c[a+20>>2]|0;if((g|0)<(e|0)){i=i+((N(k,g)|0)<<2)+(f<<2)|0;k=k+((f|0)>(b|0)?-1:1)|0;i=(m|0)==0?i+(k<<2)|0:i}else{i=i+((N(k,e)|0)<<2)+(b<<2)|0;j=g-e|0;k=k+((f|0)<(b|0)?-1:1)|0}j=j+((m|0)!=0&1)|0;if(!j)return;while(1){j=j+-1|0;m=c[i>>2]|0;c[i>>2]=((N(m&255,w)|0)>>>0)/255|0|m&-16777216|(((N(m>>>16&255,y)|0)>>>0)/255|0)<<16|(((N(m>>>8&255,x)|0)>>>0)/255|0)<<8;if(!j)break;else i=i+(k<<2)|0}return}default:{k=(c[a+16>>2]|0)/(d[(c[a+4>>2]|0)+9>>0]|0|0)|0;i=c[a+20>>2]|0;if((g|0)<(e|0)){a=i+((N(k,g)|0)<<2)+(f<<2)|0;l=k+((f|0)>(b|0)?-1:1)|0;i=j;j=(m|0)==0?a+(l<<2)|0:a}else{j=i+((N(k,e)|0)<<2)+(b<<2)|0;i=g-e|0;l=k+((f|0)<(b|0)?-1:1)|0}i=i+((m|0)!=0&1)|0;if(!i)return;k=w|v<<24|x<<8|y<<16;while(1){i=i+-1|0;c[j>>2]=k;if(!i)break;else j=j+(l<<2)|0}return}}else switch(h|0){case 1:{i=f-b|0;i=(i|0)<0?0-i|0:i;j=g-e|0;j=(j|0)<0?0-j|0:j;if((i|0)<(j|0)){s=i<<1;h=1;l=0;k=i-j|0;t=s;s=s-j|0;i=j}else{s=j<<1;h=0;l=1;k=j-i|0;t=s;s=s-i|0}r=k<<1;q=(f|0)<(b|0);p=q?0-l|0:l;q=q?-1:1;f=(g|0)<(e|0);o=f?0-h|0:h;f=f?-1:1;g=i+((m|0)!=0&1)|0;if((g|0)<=0)return;n=c[a+20>>2]|0;h=a+16|0;k=b;l=0;i=s;while(1){j=n+(N(c[h>>2]|0,e)|0)+(k<<2)|0;m=c[j>>2]|0;c[j>>2]=(((N(m>>>24,u)|0)>>>0)/255|0)+v<<24|(((N(m&255,u)|0)>>>0)/255|0)+w|(((N(m>>>16&255,u)|0)>>>0)/255|0)+y<<16|(((N(m>>>8&255,u)|0)>>>0)/255|0)+x<<8;j=(i|0)<0;l=l+1|0;if((l|0)>=(g|0))break;else{e=e+(j?o:f)|0;k=(j?p:q)+k|0;i=(j?t:r)+i|0}}return}case 2:{i=f-b|0;i=(i|0)<0?0-i|0:i;j=g-e|0;j=(j|0)<0?0-j|0:j;if((i|0)<(j|0)){s=i<<1;h=1;l=0;k=i-j|0;t=s;s=s-j|0;i=j}else{s=j<<1;h=0;l=1;k=j-i|0;t=s;s=s-i|0}r=k<<1;q=(f|0)<(b|0);p=q?0-l|0:l;q=q?-1:1;f=(g|0)<(e|0);o=f?0-h|0:h;f=f?-1:1;g=i+((m|0)!=0&1)|0;if((g|0)<=0)return;n=c[a+20>>2]|0;h=a+16|0;k=b;l=0;i=s;while(1){j=n+(N(c[h>>2]|0,e)|0)+(k<<2)|0;v=c[j>>2]|0;b=(v>>>16&255)+y|0;m=(v>>>8&255)+x|0;a=(v&255)+w|0;c[j>>2]=(a>>>0<255?a:255)|v&-16777216|(b>>>0<255?b:255)<<16|(m>>>0<255?m:255)<<8;j=(i|0)<0;l=l+1|0;if((l|0)>=(g|0))break;else{e=e+(j?o:f)|0;k=(j?p:q)+k|0;i=(j?t:r)+i|0}}return}case 4:{i=f-b|0;i=(i|0)<0?0-i|0:i;j=g-e|0;j=(j|0)<0?0-j|0:j;if((i|0)<(j|0)){s=i<<1;h=1;l=0;k=i-j|0;t=s;s=s-j|0;i=j}else{s=j<<1;h=0;l=1;k=j-i|0;t=s;s=s-i|0}r=k<<1;q=(f|0)<(b|0);p=q?0-l|0:l;q=q?-1:1;f=(g|0)<(e|0);o=f?0-h|0:h;f=f?-1:1;g=i+((m|0)!=0&1)|0;if((g|0)<=0)return;n=c[a+20>>2]|0;h=a+16|0;k=b;l=0;i=s;while(1){j=n+(N(c[h>>2]|0,e)|0)+(k<<2)|0;m=c[j>>2]|0;c[j>>2]=((N(m&255,w)|0)>>>0)/255|0|m&-16777216|(((N(m>>>16&255,y)|0)>>>0)/255|0)<<16|(((N(m>>>8&255,x)|0)>>>0)/255|0)<<8;j=(i|0)<0;l=l+1|0;if((l|0)>=(g|0))break;else{e=e+(j?o:f)|0;k=(j?p:q)+k|0;i=(j?t:r)+i|0}}return}default:{j=f-b|0;j=(j|0)<0?0-j|0:j;k=g-e|0;k=(k|0)<0?0-k|0:k;if((j|0)<(k|0)){i=j<<1;n=1;h=0;l=j-k|0;t=i;i=i-k|0;j=k}else{i=k<<1;n=0;h=1;l=k-j|0;t=i;i=i-j|0}s=l<<1;r=(f|0)<(b|0);q=r?0-h|0:h;r=r?-1:1;o=(g|0)<(e|0);p=o?0-n|0:n;o=o?-1:1;f=j+((m|0)!=0&1)|0;if((f|0)<=0)return;g=c[a+20>>2]|0;n=a+16|0;h=w|v<<24|x<<8|y<<16;k=b;l=0;while(1){c[g+(N(c[n>>2]|0,e)|0)+(k<<2)>>2]=h;j=(i|0)<0;l=l+1|0;if((l|0)>=(f|0))break;else{e=e+(j?p:o)|0;k=(j?q:r)+k|0;i=(j?t:s)+i|0}}return}}}function oIa(a,b,e,f,g,h,i,j,k,l,m){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;var n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;i=i&255;if((h+-1|0)>>>0<2){u=l&255;x=((N(u,i)|0)>>>0)/255|0;w=((N(u,j&255)|0)>>>0)/255|0;v=((N(u,k&255)|0)>>>0)/255|0;i=u}else{x=i;w=j&255;v=k&255;i=l&255}u=i^255;if((g|0)==(e|0))switch(h|0){case 1:{i=(c[a+20>>2]|0)+((N((c[a+16>>2]|0)/(d[(c[a+4>>2]|0)+9>>0]|0|0)|0,g)|0)<<2)|0;if((f|0)<(b|0)){i=i+(f<<2)|0;j=(m|0)!=0;i=j?i:i+4|0;k=b-f|0}else{i=i+(b<<2)|0;k=f-b|0;j=(m|0)!=0}j=k+(j&1)|0;if(!j)return;while(1){j=j+-1|0;m=c[i>>2]|0;c[i>>2]=(((N(m>>>8&255,u)|0)>>>0)/255|0)+w<<8|(((N(m&255,u)|0)>>>0)/255|0)+v|(((N(m>>>16&255,u)|0)>>>0)/255|0)+x<<16;if(!j)break;else i=i+4|0}return}case 2:{i=(c[a+20>>2]|0)+((N((c[a+16>>2]|0)/(d[(c[a+4>>2]|0)+9>>0]|0|0)|0,g)|0)<<2)|0;if((f|0)<(b|0)){i=i+(f<<2)|0;j=(m|0)!=0;i=j?i:i+4|0;k=b-f|0}else{i=i+(b<<2)|0;k=f-b|0;j=(m|0)!=0}j=k+(j&1)|0;if(!j)return;while(1){j=j+-1|0;b=c[i>>2]|0;m=(b>>>16&255)+x|0;a=(b>>>8&255)+w|0;b=(b&255)+v|0;c[i>>2]=(a>>>0<255?a:255)<<8|(b>>>0<255?b:255)|(m>>>0<255?m:255)<<16;if(!j)break;else i=i+4|0}return}case 4:{i=(c[a+20>>2]|0)+((N((c[a+16>>2]|0)/(d[(c[a+4>>2]|0)+9>>0]|0|0)|0,g)|0)<<2)|0;if((f|0)<(b|0)){i=i+(f<<2)|0;j=(m|0)!=0;i=j?i:i+4|0;k=b-f|0}else{i=i+(b<<2)|0;k=f-b|0;j=(m|0)!=0}j=k+(j&1)|0;if(!j)return;while(1){j=j+-1|0;m=c[i>>2]|0;c[i>>2]=(((N(m>>>8&255,w)|0)>>>0)/255|0)<<8|(((N(m&255,v)|0)>>>0)/255|0)|(((N(m>>>16&255,x)|0)>>>0)/255|0)<<16;if(!j)break;else i=i+4|0}return}default:{i=(c[a+20>>2]|0)+((N((c[a+16>>2]|0)/(d[(c[a+4>>2]|0)+9>>0]|0|0)|0,g)|0)<<2)|0;if((f|0)<(b|0)){i=i+(f<<2)|0;j=(m|0)!=0;i=j?i:i+4|0;k=b-f|0}else{i=i+(b<<2)|0;k=f-b|0;j=(m|0)!=0}j=k+(j&1)|0;if(!j)return;k=w<<8|v|x<<16;while(1){j=j+-1|0;c[i>>2]=k;if(!j)break;else i=i+4|0}return}}if((f|0)==(b|0))switch(h|0){case 1:{l=(c[a+16>>2]|0)/(d[(c[a+4>>2]|0)+9>>0]|0|0)|0;i=c[a+20>>2]|0;if((g|0)<(e|0)){i=i+((N(l,g)|0)<<2)+(f<<2)|0;j=(m|0)!=0;i=j?i:i+(l<<2)|0;k=e-g|0}else{i=i+((N(l,e)|0)<<2)+(f<<2)|0;k=g-e|0;j=(m|0)!=0}j=k+(j&1)|0;if(!j)return;while(1){j=j+-1|0;m=c[i>>2]|0;c[i>>2]=(((N(m>>>8&255,u)|0)>>>0)/255|0)+w<<8|(((N(m&255,u)|0)>>>0)/255|0)+v|(((N(m>>>16&255,u)|0)>>>0)/255|0)+x<<16;if(!j)break;else i=i+(l<<2)|0}return}case 2:{l=(c[a+16>>2]|0)/(d[(c[a+4>>2]|0)+9>>0]|0|0)|0;i=c[a+20>>2]|0;if((g|0)<(e|0)){i=i+((N(l,g)|0)<<2)+(f<<2)|0;j=(m|0)!=0;i=j?i:i+(l<<2)|0;k=e-g|0}else{i=i+((N(l,e)|0)<<2)+(f<<2)|0;k=g-e|0;j=(m|0)!=0}j=k+(j&1)|0;if(!j)return;while(1){j=j+-1|0;b=c[i>>2]|0;m=(b>>>16&255)+x|0;a=(b>>>8&255)+w|0;b=(b&255)+v|0;c[i>>2]=(a>>>0<255?a:255)<<8|(b>>>0<255?b:255)|(m>>>0<255?m:255)<<16;if(!j)break;else i=i+(l<<2)|0}return}case 4:{l=(c[a+16>>2]|0)/(d[(c[a+4>>2]|0)+9>>0]|0|0)|0;i=c[a+20>>2]|0;if((g|0)<(e|0)){i=i+((N(l,g)|0)<<2)+(f<<2)|0;j=(m|0)!=0;i=j?i:i+(l<<2)|0;k=e-g|0}else{i=i+((N(l,e)|0)<<2)+(f<<2)|0;k=g-e|0;j=(m|0)!=0}j=k+(j&1)|0;if(!j)return;while(1){j=j+-1|0;m=c[i>>2]|0;c[i>>2]=(((N(m>>>8&255,w)|0)>>>0)/255|0)<<8|(((N(m&255,v)|0)>>>0)/255|0)|(((N(m>>>16&255,x)|0)>>>0)/255|0)<<16;if(!j)break;else i=i+(l<<2)|0}return}default:{l=(c[a+16>>2]|0)/(d[(c[a+4>>2]|0)+9>>0]|0|0)|0;i=c[a+20>>2]|0;if((g|0)<(e|0)){i=i+((N(l,g)|0)<<2)+(f<<2)|0;j=(m|0)!=0;i=j?i:i+(l<<2)|0;k=e-g|0}else{i=i+((N(l,e)|0)<<2)+(f<<2)|0;k=g-e|0;j=(m|0)!=0}j=k+(j&1)|0;if(!j)return;k=w<<8|v|x<<16;while(1){j=j+-1|0;c[i>>2]=k;if(!j)break;else i=i+(l<<2)|0}return}}t=b-f|0;j=e-g|0;if((((t|0)<0?0-t|0:t)|0)==(((j|0)<0?0-j|0:j)|0))switch(h|0){case 1:{k=(c[a+16>>2]|0)/(d[(c[a+4>>2]|0)+9>>0]|0|0)|0;i=c[a+20>>2]|0;if((g|0)<(e|0)){i=i+((N(k,g)|0)<<2)+(f<<2)|0;k=k+((f|0)>(b|0)?-1:1)|0;i=(m|0)==0?i+(k<<2)|0:i}else{i=i+((N(k,e)|0)<<2)+(b<<2)|0;j=g-e|0;k=k+((f|0)<(b|0)?-1:1)|0}j=j+((m|0)!=0&1)|0;if(!j)return;while(1){j=j+-1|0;m=c[i>>2]|0;c[i>>2]=(((N(m>>>8&255,u)|0)>>>0)/255|0)+w<<8|(((N(m&255,u)|0)>>>0)/255|0)+v|(((N(m>>>16&255,u)|0)>>>0)/255|0)+x<<16;if(!j)break;else i=i+(k<<2)|0}return}case 2:{k=(c[a+16>>2]|0)/(d[(c[a+4>>2]|0)+9>>0]|0|0)|0;i=c[a+20>>2]|0;if((g|0)<(e|0)){i=i+((N(k,g)|0)<<2)+(f<<2)|0;k=k+((f|0)>(b|0)?-1:1)|0;i=(m|0)==0?i+(k<<2)|0:i}else{i=i+((N(k,e)|0)<<2)+(b<<2)|0;j=g-e|0;k=k+((f|0)<(b|0)?-1:1)|0}j=j+((m|0)!=0&1)|0;if(!j)return;while(1){j=j+-1|0;b=c[i>>2]|0;m=(b>>>16&255)+x|0;a=(b>>>8&255)+w|0;b=(b&255)+v|0;c[i>>2]=(a>>>0<255?a:255)<<8|(b>>>0<255?b:255)|(m>>>0<255?m:255)<<16;if(!j)break;else i=i+(k<<2)|0}return}case 4:{k=(c[a+16>>2]|0)/(d[(c[a+4>>2]|0)+9>>0]|0|0)|0;i=c[a+20>>2]|0;if((g|0)<(e|0)){i=i+((N(k,g)|0)<<2)+(f<<2)|0;k=k+((f|0)>(b|0)?-1:1)|0;i=(m|0)==0?i+(k<<2)|0:i}else{i=i+((N(k,e)|0)<<2)+(b<<2)|0;j=g-e|0;k=k+((f|0)<(b|0)?-1:1)|0}j=j+((m|0)!=0&1)|0;if(!j)return;while(1){j=j+-1|0;m=c[i>>2]|0;c[i>>2]=(((N(m>>>8&255,w)|0)>>>0)/255|0)<<8|(((N(m&255,v)|0)>>>0)/255|0)|(((N(m>>>16&255,x)|0)>>>0)/255|0)<<16;if(!j)break;else i=i+(k<<2)|0}return}default:{k=(c[a+16>>2]|0)/(d[(c[a+4>>2]|0)+9>>0]|0|0)|0;i=c[a+20>>2]|0;if((g|0)<(e|0)){i=i+((N(k,g)|0)<<2)+(f<<2)|0;l=k+((f|0)>(b|0)?-1:1)|0;i=(m|0)==0?i+(l<<2)|0:i}else{i=i+((N(k,e)|0)<<2)+(b<<2)|0;j=g-e|0;l=k+((f|0)<(b|0)?-1:1)|0}j=j+((m|0)!=0&1)|0;if(!j)return;k=w<<8|v|x<<16;while(1){j=j+-1|0;c[i>>2]=k;if(!j)break;else i=i+(l<<2)|0}return}}else switch(h|0){case 1:{i=f-b|0;i=(i|0)<0?0-i|0:i;j=g-e|0;j=(j|0)<0?0-j|0:j;if((i|0)<(j|0)){s=i<<1;h=1;l=0;k=i-j|0;t=s;s=s-j|0;i=j}else{s=j<<1;h=0;l=1;k=j-i|0;t=s;s=s-i|0}r=k<<1;q=(f|0)<(b|0);p=q?0-l|0:l;q=q?-1:1;f=(g|0)<(e|0);o=f?0-h|0:h;f=f?-1:1;g=i+((m|0)!=0&1)|0;if((g|0)<=0)return;n=c[a+20>>2]|0;h=a+16|0;k=b;l=0;i=s;while(1){j=n+(N(c[h>>2]|0,e)|0)+(k<<2)|0;m=c[j>>2]|0;c[j>>2]=(((N(m>>>8&255,u)|0)>>>0)/255|0)+w<<8|(((N(m&255,u)|0)>>>0)/255|0)+v|(((N(m>>>16&255,u)|0)>>>0)/255|0)+x<<16;j=(i|0)<0;l=l+1|0;if((l|0)>=(g|0))break;else{e=e+(j?o:f)|0;k=(j?p:q)+k|0;i=(j?t:r)+i|0}}return}case 2:{i=f-b|0;i=(i|0)<0?0-i|0:i;j=g-e|0;j=(j|0)<0?0-j|0:j;if((i|0)<(j|0)){s=i<<1;h=1;l=0;k=i-j|0;t=s;s=s-j|0;i=j}else{s=j<<1;h=0;l=1;k=j-i|0;t=s;s=s-i|0}r=k<<1;q=(f|0)<(b|0);p=q?0-l|0:l;q=q?-1:1;f=(g|0)<(e|0);o=f?0-h|0:h;f=f?-1:1;g=i+((m|0)!=0&1)|0;if((g|0)<=0)return;n=c[a+20>>2]|0;h=a+16|0;k=b;l=0;i=s;while(1){j=n+(N(c[h>>2]|0,e)|0)+(k<<2)|0;b=c[j>>2]|0;m=(b>>>16&255)+x|0;a=(b>>>8&255)+w|0;b=(b&255)+v|0;c[j>>2]=(a>>>0<255?a:255)<<8|(b>>>0<255?b:255)|(m>>>0<255?m:255)<<16;j=(i|0)<0;l=l+1|0;if((l|0)>=(g|0))break;else{e=e+(j?o:f)|0;k=(j?p:q)+k|0;i=(j?t:r)+i|0}}return}case 4:{i=f-b|0;i=(i|0)<0?0-i|0:i;j=g-e|0;j=(j|0)<0?0-j|0:j;if((i|0)<(j|0)){s=i<<1;h=1;l=0;k=i-j|0;t=s;s=s-j|0;i=j}else{s=j<<1;h=0;l=1;k=j-i|0;t=s;s=s-i|0}r=k<<1;q=(f|0)<(b|0);p=q?0-l|0:l;q=q?-1:1;f=(g|0)<(e|0);o=f?0-h|0:h;f=f?-1:1;g=i+((m|0)!=0&1)|0;if((g|0)<=0)return;n=c[a+20>>2]|0;h=a+16|0;k=b;l=0;i=s;while(1){j=n+(N(c[h>>2]|0,e)|0)+(k<<2)|0;m=c[j>>2]|0;c[j>>2]=(((N(m>>>8&255,w)|0)>>>0)/255|0)<<8|(((N(m&255,v)|0)>>>0)/255|0)|(((N(m>>>16&255,x)|0)>>>0)/255|0)<<16;j=(i|0)<0;l=l+1|0;if((l|0)>=(g|0))break;else{e=e+(j?o:f)|0;k=(j?p:q)+k|0;i=(j?t:r)+i|0}}return}default:{j=f-b|0;j=(j|0)<0?0-j|0:j;k=g-e|0;k=(k|0)<0?0-k|0:k;if((j|0)<(k|0)){i=j<<1;n=1;h=0;l=j-k|0;t=i;i=i-k|0;j=k}else{i=k<<1;n=0;h=1;l=k-j|0;t=i;i=i-j|0}s=l<<1;r=(f|0)<(b|0);q=r?0-h|0:h;r=r?-1:1;o=(g|0)<(e|0);p=o?0-n|0:n;o=o?-1:1;f=j+((m|0)!=0&1)|0;if((f|0)<=0)return;g=c[a+20>>2]|0;n=a+16|0;h=w<<8|v|x<<16;k=b;l=0;while(1){c[g+(N(c[n>>2]|0,e)|0)+(k<<2)>>2]=h;j=(i|0)<0;l=l+1|0;if((l|0)>=(f|0))break;else{e=e+(j?p:o)|0;k=(j?q:r)+k|0;i=(j?t:s)+i|0}}return}}}function pIa(a,b,e,f,g,h,i,j,k,l,m){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;var n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,O=0;K=c[a+4>>2]|0;i=i&255;if((h+-1|0)>>>0<2){J=l&255;O=((N(J,i)|0)>>>0)/255|0;M=((N(J,j&255)|0)>>>0)/255|0;L=((N(J,k&255)|0)>>>0)/255|0}else{O=i;M=j&255;L=k&255;J=l&255}I=J^255;if((g|0)==(e|0))switch(h|0){case 1:{i=(c[a+20>>2]|0)+((N((c[a+16>>2]|0)/(d[K+9>>0]|0|0)|0,g)|0)<<2)|0;if((f|0)<(b|0)){v=i+(f<<2)|0;i=(m|0)!=0;v=i?v:v+4|0;j=b-f|0}else{v=i+(b<<2)|0;j=f-b|0;i=(m|0)!=0}j=j+(i&1)|0;if(!j)return;q=K+12|0;r=K+16|0;s=K+20|0;t=K+24|0;l=d[K+28>>0]|0;g=c[16112+(l<<2)>>2]|0;e=d[K+29>>0]|0;f=c[16112+(e<<2)>>2]|0;h=d[K+30>>0]|0;o=c[16112+(h<<2)>>2]|0;n=d[K+31>>0]|0;p=c[16112+(n<<2)>>2]|0;a=d[K+32>>0]|0;m=d[K+33>>0]|0;u=d[K+34>>0]|0;k=d[K+35>>0]|0;i=v;while(1){j=j+-1|0;K=c[i>>2]|0;c[i>>2]=((((N(I,d[f+((c[r>>2]&K)>>>m)>>0]|0)|0)>>>0)/255|0)+M|0)>>>e<<m|((((N(I,d[g+((c[q>>2]&K)>>>a)>>0]|0)|0)>>>0)/255|0)+O|0)>>>l<<a|((((N(I,d[o+((c[s>>2]&K)>>>u)>>0]|0)|0)>>>0)/255|0)+L|0)>>>h<<u|((((N(I,d[p+((c[t>>2]&K)>>>k)>>0]|0)|0)>>>0)/255|0)+J|0)>>>n<<k;if(!j)break;else i=i+4|0}return}case 2:{i=(c[a+20>>2]|0)+((N((c[a+16>>2]|0)/(d[K+9>>0]|0|0)|0,g)|0)<<2)|0;if((f|0)<(b|0)){v=i+(f<<2)|0;i=(m|0)!=0;v=i?v:v+4|0;j=b-f|0}else{v=i+(b<<2)|0;j=f-b|0;i=(m|0)!=0}j=j+(i&1)|0;if(!j)return;q=K+12|0;r=K+16|0;s=K+20|0;t=K+24|0;l=d[K+28>>0]|0;g=c[16112+(l<<2)>>2]|0;e=d[K+29>>0]|0;f=c[16112+(e<<2)>>2]|0;h=d[K+30>>0]|0;o=c[16112+(h<<2)>>2]|0;n=d[K+31>>0]|0;p=c[16112+(n<<2)>>2]|0;a=d[K+32>>0]|0;m=d[K+33>>0]|0;u=d[K+34>>0]|0;k=d[K+35>>0]|0;i=v;while(1){j=j+-1|0;K=c[i>>2]|0;J=O+(d[g+((c[q>>2]&K)>>>a)>>0]|0)|0;I=M+(d[f+((c[r>>2]&K)>>>m)>>0]|0)|0;b=L+(d[o+((c[s>>2]&K)>>>u)>>0]|0)|0;c[i>>2]=(I>>>0<255?I:255)>>>e<<m|(J>>>0<255?J:255)>>>l<<a|(b>>>0<255?b:255)>>>h<<u|(d[p+((c[t>>2]&K)>>>k)>>0]|0)>>>n<<k;if(!j)break;else i=i+4|0}return}case 4:{i=(c[a+20>>2]|0)+((N((c[a+16>>2]|0)/(d[K+9>>0]|0|0)|0,g)|0)<<2)|0;if((f|0)<(b|0)){v=i+(f<<2)|0;i=(m|0)!=0;v=i?v:v+4|0;j=b-f|0}else{v=i+(b<<2)|0;j=f-b|0;i=(m|0)!=0}j=j+(i&1)|0;if(!j)return;q=K+12|0;r=K+16|0;s=K+20|0;t=K+24|0;l=d[K+28>>0]|0;g=c[16112+(l<<2)>>2]|0;e=d[K+29>>0]|0;f=c[16112+(e<<2)>>2]|0;h=d[K+30>>0]|0;o=c[16112+(h<<2)>>2]|0;n=d[K+31>>0]|0;p=c[16112+(n<<2)>>2]|0;a=d[K+32>>0]|0;m=d[K+33>>0]|0;u=d[K+34>>0]|0;k=d[K+35>>0]|0;i=v;while(1){j=j+-1|0;K=c[i>>2]|0;c[i>>2]=(((N(M,d[f+((c[r>>2]&K)>>>m)>>0]|0)|0)>>>0)/255|0)>>>e<<m|(((N(O,d[g+((c[q>>2]&K)>>>a)>>0]|0)|0)>>>0)/255|0)>>>l<<a|(((N(L,d[o+((c[s>>2]&K)>>>u)>>0]|0)|0)>>>0)/255|0)>>>h<<u|(d[p+((c[t>>2]&K)>>>k)>>0]|0)>>>n<<k;if(!j)break;else i=i+4|0}return}default:{i=(c[a+20>>2]|0)+((N((c[a+16>>2]|0)/(d[K+9>>0]|0|0)|0,g)|0)<<2)|0;if((f|0)<(b|0)){i=i+(f<<2)|0;j=(m|0)!=0;i=j?i:i+4|0;k=b-f|0}else{i=i+(b<<2)|0;k=f-b|0;j=(m|0)!=0}j=k+(j&1)|0;if(!j)return;k=M>>>(d[K+29>>0]|0)<<(d[K+33>>0]|0)|O>>>(d[K+28>>0]|0)<<(d[K+32>>0]|0)|L>>>(d[K+30>>0]|0)<<(d[K+34>>0]|0)|J>>>(d[K+31>>0]|0)<<(d[K+35>>0]|0);while(1){j=j+-1|0;c[i>>2]=k;if(!j)break;else i=i+4|0}return}}if((f|0)==(b|0))switch(h|0){case 1:{w=(c[a+16>>2]|0)/(d[K+9>>0]|0|0)|0;i=c[a+20>>2]|0;if((g|0)<(e|0)){v=i+((N(w,g)|0)<<2)+(f<<2)|0;i=(m|0)!=0;v=i?v:v+(w<<2)|0;j=e-g|0}else{v=i+((N(w,e)|0)<<2)+(f<<2)|0;j=g-e|0;i=(m|0)!=0}j=j+(i&1)|0;if(!j)return;q=K+12|0;r=K+16|0;s=K+20|0;t=K+24|0;l=d[K+28>>0]|0;g=c[16112+(l<<2)>>2]|0;e=d[K+29>>0]|0;f=c[16112+(e<<2)>>2]|0;h=d[K+30>>0]|0;o=c[16112+(h<<2)>>2]|0;n=d[K+31>>0]|0;p=c[16112+(n<<2)>>2]|0;a=d[K+32>>0]|0;m=d[K+33>>0]|0;u=d[K+34>>0]|0;k=d[K+35>>0]|0;i=v;while(1){j=j+-1|0;K=c[i>>2]|0;c[i>>2]=((((N(I,d[f+((c[r>>2]&K)>>>m)>>0]|0)|0)>>>0)/255|0)+M|0)>>>e<<m|((((N(I,d[g+((c[q>>2]&K)>>>a)>>0]|0)|0)>>>0)/255|0)+O|0)>>>l<<a|((((N(I,d[o+((c[s>>2]&K)>>>u)>>0]|0)|0)>>>0)/255|0)+L|0)>>>h<<u|((((N(I,d[p+((c[t>>2]&K)>>>k)>>0]|0)|0)>>>0)/255|0)+J|0)>>>n<<k;if(!j)break;else i=i+(w<<2)|0}return}case 2:{w=(c[a+16>>2]|0)/(d[K+9>>0]|0|0)|0;i=c[a+20>>2]|0;if((g|0)<(e|0)){v=i+((N(w,g)|0)<<2)+(f<<2)|0;i=(m|0)!=0;v=i?v:v+(w<<2)|0;j=e-g|0}else{v=i+((N(w,e)|0)<<2)+(f<<2)|0;j=g-e|0;i=(m|0)!=0}j=j+(i&1)|0;if(!j)return;q=K+12|0;r=K+16|0;s=K+20|0;t=K+24|0;l=d[K+28>>0]|0;g=c[16112+(l<<2)>>2]|0;e=d[K+29>>0]|0;f=c[16112+(e<<2)>>2]|0;h=d[K+30>>0]|0;o=c[16112+(h<<2)>>2]|0;n=d[K+31>>0]|0;p=c[16112+(n<<2)>>2]|0;a=d[K+32>>0]|0;m=d[K+33>>0]|0;u=d[K+34>>0]|0;k=d[K+35>>0]|0;i=v;while(1){j=j+-1|0;K=c[i>>2]|0;J=O+(d[g+((c[q>>2]&K)>>>a)>>0]|0)|0;I=M+(d[f+((c[r>>2]&K)>>>m)>>0]|0)|0;b=L+(d[o+((c[s>>2]&K)>>>u)>>0]|0)|0;c[i>>2]=(I>>>0<255?I:255)>>>e<<m|(J>>>0<255?J:255)>>>l<<a|(b>>>0<255?b:255)>>>h<<u|(d[p+((c[t>>2]&K)>>>k)>>0]|0)>>>n<<k;if(!j)break;else i=i+(w<<2)|0}return}case 4:{w=(c[a+16>>2]|0)/(d[K+9>>0]|0|0)|0;i=c[a+20>>2]|0;if((g|0)<(e|0)){v=i+((N(w,g)|0)<<2)+(f<<2)|0;i=(m|0)!=0;v=i?v:v+(w<<2)|0;j=e-g|0}else{v=i+((N(w,e)|0)<<2)+(f<<2)|0;j=g-e|0;i=(m|0)!=0}j=j+(i&1)|0;if(!j)return;q=K+12|0;r=K+16|0;s=K+20|0;t=K+24|0;l=d[K+28>>0]|0;g=c[16112+(l<<2)>>2]|0;e=d[K+29>>0]|0;f=c[16112+(e<<2)>>2]|0;h=d[K+30>>0]|0;o=c[16112+(h<<2)>>2]|0;n=d[K+31>>0]|0;p=c[16112+(n<<2)>>2]|0;a=d[K+32>>0]|0;m=d[K+33>>0]|0;u=d[K+34>>0]|0;k=d[K+35>>0]|0;i=v;while(1){j=j+-1|0;K=c[i>>2]|0;c[i>>2]=(((N(M,d[f+((c[r>>2]&K)>>>m)>>0]|0)|0)>>>0)/255|0)>>>e<<m|(((N(O,d[g+((c[q>>2]&K)>>>a)>>0]|0)|0)>>>0)/255|0)>>>l<<a|(((N(L,d[o+((c[s>>2]&K)>>>u)>>0]|0)|0)>>>0)/255|0)>>>h<<u|(d[p+((c[t>>2]&K)>>>k)>>0]|0)>>>n<<k;if(!j)break;else i=i+(w<<2)|0}return}default:{l=(c[a+16>>2]|0)/(d[K+9>>0]|0|0)|0;i=c[a+20>>2]|0;if((g|0)<(e|0)){i=i+((N(l,g)|0)<<2)+(f<<2)|0;j=(m|0)!=0;i=j?i:i+(l<<2)|0;k=e-g|0}else{i=i+((N(l,e)|0)<<2)+(f<<2)|0;k=g-e|0;j=(m|0)!=0}j=k+(j&1)|0;if(!j)return;k=M>>>(d[K+29>>0]|0)<<(d[K+33>>0]|0)|O>>>(d[K+28>>0]|0)<<(d[K+32>>0]|0)|L>>>(d[K+30>>0]|0)<<(d[K+34>>0]|0)|J>>>(d[K+31>>0]|0)<<(d[K+35>>0]|0);while(1){j=j+-1|0;c[i>>2]=k;if(!j)break;else i=i+(l<<2)|0}return}}H=b-f|0;i=e-g|0;if((((H|0)<0?0-H|0:H)|0)==(((i|0)<0?0-i|0:i)|0))switch(h|0){case 1:{k=(c[a+16>>2]|0)/(d[K+9>>0]|0|0)|0;j=c[a+20>>2]|0;if((g|0)<(e|0)){w=j+((N(k,g)|0)<<2)+(f<<2)|0;v=k+((f|0)>(b|0)?-1:1)|0;w=(m|0)==0?w+(v<<2)|0:w}else{w=j+((N(k,e)|0)<<2)+(b<<2)|0;i=g-e|0;v=k+((f|0)<(b|0)?-1:1)|0}j=i+((m|0)!=0&1)|0;if(!j)return;q=K+12|0;r=K+16|0;s=K+20|0;t=K+24|0;l=d[K+28>>0]|0;g=c[16112+(l<<2)>>2]|0;e=d[K+29>>0]|0;f=c[16112+(e<<2)>>2]|0;h=d[K+30>>0]|0;o=c[16112+(h<<2)>>2]|0;n=d[K+31>>0]|0;p=c[16112+(n<<2)>>2]|0;a=d[K+32>>0]|0;m=d[K+33>>0]|0;u=d[K+34>>0]|0;k=d[K+35>>0]|0;i=w;while(1){j=j+-1|0;K=c[i>>2]|0;c[i>>2]=((((N(I,d[f+((c[r>>2]&K)>>>m)>>0]|0)|0)>>>0)/255|0)+M|0)>>>e<<m|((((N(I,d[g+((c[q>>2]&K)>>>a)>>0]|0)|0)>>>0)/255|0)+O|0)>>>l<<a|((((N(I,d[o+((c[s>>2]&K)>>>u)>>0]|0)|0)>>>0)/255|0)+L|0)>>>h<<u|((((N(I,d[p+((c[t>>2]&K)>>>k)>>0]|0)|0)>>>0)/255|0)+J|0)>>>n<<k;if(!j)break;else i=i+(v<<2)|0}return}case 2:{k=(c[a+16>>2]|0)/(d[K+9>>0]|0|0)|0;j=c[a+20>>2]|0;if((g|0)<(e|0)){w=j+((N(k,g)|0)<<2)+(f<<2)|0;v=k+((f|0)>(b|0)?-1:1)|0;w=(m|0)==0?w+(v<<2)|0:w}else{w=j+((N(k,e)|0)<<2)+(b<<2)|0;i=g-e|0;v=k+((f|0)<(b|0)?-1:1)|0}j=i+((m|0)!=0&1)|0;if(!j)return;q=K+12|0;r=K+16|0;s=K+20|0;t=K+24|0;l=d[K+28>>0]|0;g=c[16112+(l<<2)>>2]|0;e=d[K+29>>0]|0;f=c[16112+(e<<2)>>2]|0;h=d[K+30>>0]|0;o=c[16112+(h<<2)>>2]|0;n=d[K+31>>0]|0;p=c[16112+(n<<2)>>2]|0;a=d[K+32>>0]|0;m=d[K+33>>0]|0;u=d[K+34>>0]|0;k=d[K+35>>0]|0;i=w;while(1){j=j+-1|0;K=c[i>>2]|0;J=O+(d[g+((c[q>>2]&K)>>>a)>>0]|0)|0;I=M+(d[f+((c[r>>2]&K)>>>m)>>0]|0)|0;b=L+(d[o+((c[s>>2]&K)>>>u)>>0]|0)|0;c[i>>2]=(I>>>0<255?I:255)>>>e<<m|(J>>>0<255?J:255)>>>l<<a|(b>>>0<255?b:255)>>>h<<u|(d[p+((c[t>>2]&K)>>>k)>>0]|0)>>>n<<k;if(!j)break;else i=i+(v<<2)|0}return}case 4:{k=(c[a+16>>2]|0)/(d[K+9>>0]|0|0)|0;j=c[a+20>>2]|0;if((g|0)<(e|0)){w=j+((N(k,g)|0)<<2)+(f<<2)|0;v=k+((f|0)>(b|0)?-1:1)|0;w=(m|0)==0?w+(v<<2)|0:w}else{w=j+((N(k,e)|0)<<2)+(b<<2)|0;i=g-e|0;v=k+((f|0)<(b|0)?-1:1)|0}j=i+((m|0)!=0&1)|0;if(!j)return;q=K+12|0;r=K+16|0;s=K+20|0;t=K+24|0;l=d[K+28>>0]|0;g=c[16112+(l<<2)>>2]|0;e=d[K+29>>0]|0;f=c[16112+(e<<2)>>2]|0;h=d[K+30>>0]|0;o=c[16112+(h<<2)>>2]|0;n=d[K+31>>0]|0;p=c[16112+(n<<2)>>2]|0;a=d[K+32>>0]|0;m=d[K+33>>0]|0;u=d[K+34>>0]|0;k=d[K+35>>0]|0;i=w;while(1){j=j+-1|0;K=c[i>>2]|0;c[i>>2]=(((N(M,d[f+((c[r>>2]&K)>>>m)>>0]|0)|0)>>>0)/255|0)>>>e<<m|(((N(O,d[g+((c[q>>2]&K)>>>a)>>0]|0)|0)>>>0)/255|0)>>>l<<a|(((N(L,d[o+((c[s>>2]&K)>>>u)>>0]|0)|0)>>>0)/255|0)>>>h<<u|(d[p+((c[t>>2]&K)>>>k)>>0]|0)>>>n<<k;if(!j)break;else i=i+(v<<2)|0}return}default:{k=(c[a+16>>2]|0)/(d[K+9>>0]|0|0)|0;j=c[a+20>>2]|0;if((g|0)<(e|0)){j=j+((N(k,g)|0)<<2)+(f<<2)|0;l=k+((f|0)>(b|0)?-1:1)|0;j=(m|0)==0?j+(l<<2)|0:j}else{j=j+((N(k,e)|0)<<2)+(b<<2)|0;i=g-e|0;l=k+((f|0)<(b|0)?-1:1)|0}i=i+((m|0)!=0&1)|0;if(!i)return;k=M>>>(d[K+29>>0]|0)<<(d[K+33>>0]|0)|O>>>(d[K+28>>0]|0)<<(d[K+32>>0]|0)|L>>>(d[K+30>>0]|0)<<(d[K+34>>0]|0)|J>>>(d[K+31>>0]|0)<<(d[K+35>>0]|0);while(1){i=i+-1|0;c[j>>2]=k;if(!i)break;else j=j+(l<<2)|0}return}}else switch(h|0){case 1:{i=f-b|0;i=(i|0)<0?0-i|0:i;j=g-e|0;j=(j|0)<0?0-j|0:j;if((i|0)<(j|0)){G=i<<1;h=1;l=0;k=i-j|0;H=G;G=G-j|0;i=j}else{G=j<<1;h=0;l=1;k=j-i|0;H=G;G=G-i|0}F=k<<1;E=(f|0)<(b|0);D=E?0-l|0:l;E=E?-1:1;B=(g|0)<(e|0);C=B?0-h|0:h;B=B?-1:1;A=i+((m|0)!=0&1)|0;if((A|0)<=0)return;v=a+16|0;w=K+12|0;x=K+16|0;y=K+20|0;z=K+24|0;p=c[a+20>>2]|0;n=d[K+28>>0]|0;q=c[16112+(n<<2)>>2]|0;g=d[K+29>>0]|0;r=c[16112+(g<<2)>>2]|0;f=d[K+30>>0]|0;s=c[16112+(f<<2)>>2]|0;o=d[K+31>>0]|0;t=c[16112+(o<<2)>>2]|0;a=d[K+32>>0]|0;m=d[K+33>>0]|0;u=d[K+34>>0]|0;h=d[K+35>>0]|0;k=b;l=0;i=G;while(1){j=p+(N(c[v>>2]|0,e)|0)+(k<<2)|0;K=c[j>>2]|0;c[j>>2]=((((N(I,d[r+((c[x>>2]&K)>>>m)>>0]|0)|0)>>>0)/255|0)+M|0)>>>g<<m|((((N(I,d[q+((c[w>>2]&K)>>>a)>>0]|0)|0)>>>0)/255|0)+O|0)>>>n<<a|((((N(I,d[s+((c[y>>2]&K)>>>u)>>0]|0)|0)>>>0)/255|0)+L|0)>>>f<<u|((((N(I,d[t+((c[z>>2]&K)>>>h)>>0]|0)|0)>>>0)/255|0)+J|0)>>>o<<h;j=(i|0)<0;l=l+1|0;if((l|0)>=(A|0))break;else{e=e+(j?C:B)|0;k=(j?D:E)+k|0;i=(j?H:F)+i|0}}return}case 2:{i=f-b|0;i=(i|0)<0?0-i|0:i;j=g-e|0;j=(j|0)<0?0-j|0:j;if((i|0)<(j|0)){G=i<<1;h=1;l=0;k=i-j|0;H=G;G=G-j|0;i=j}else{G=j<<1;h=0;l=1;k=j-i|0;H=G;G=G-i|0}F=k<<1;E=(f|0)<(b|0);D=E?0-l|0:l;E=E?-1:1;B=(g|0)<(e|0);C=B?0-h|0:h;B=B?-1:1;A=i+((m|0)!=0&1)|0;if((A|0)<=0)return;v=a+16|0;w=K+12|0;x=K+16|0;y=K+20|0;z=K+24|0;p=c[a+20>>2]|0;n=d[K+28>>0]|0;q=c[16112+(n<<2)>>2]|0;g=d[K+29>>0]|0;r=c[16112+(g<<2)>>2]|0;f=d[K+30>>0]|0;s=c[16112+(f<<2)>>2]|0;o=d[K+31>>0]|0;t=c[16112+(o<<2)>>2]|0;a=d[K+32>>0]|0;m=d[K+33>>0]|0;u=d[K+34>>0]|0;h=d[K+35>>0]|0;k=b;l=0;i=G;while(1){j=p+(N(c[v>>2]|0,e)|0)+(k<<2)|0;K=c[j>>2]|0;J=O+(d[q+((c[w>>2]&K)>>>a)>>0]|0)|0;I=M+(d[r+((c[x>>2]&K)>>>m)>>0]|0)|0;b=L+(d[s+((c[y>>2]&K)>>>u)>>0]|0)|0;c[j>>2]=(I>>>0<255?I:255)>>>g<<m|(J>>>0<255?J:255)>>>n<<a|(b>>>0<255?b:255)>>>f<<u|(d[t+((c[z>>2]&K)>>>h)>>0]|0)>>>o<<h;j=(i|0)<0;l=l+1|0;if((l|0)>=(A|0))break;else{e=e+(j?C:B)|0;k=(j?D:E)+k|0;i=(j?H:F)+i|0}}return}case 4:{i=f-b|0;i=(i|0)<0?0-i|0:i;j=g-e|0;j=(j|0)<0?0-j|0:j;if((i|0)<(j|0)){G=i<<1;h=1;l=0;k=i-j|0;H=G;G=G-j|0;i=j}else{G=j<<1;h=0;l=1;k=j-i|0;H=G;G=G-i|0}F=k<<1;E=(f|0)<(b|0);D=E?0-l|0:l;E=E?-1:1;B=(g|0)<(e|0);C=B?0-h|0:h;B=B?-1:1;A=i+((m|0)!=0&1)|0;if((A|0)<=0)return;v=a+16|0;w=K+12|0;x=K+16|0;y=K+20|0;z=K+24|0;p=c[a+20>>2]|0;n=d[K+28>>0]|0;q=c[16112+(n<<2)>>2]|0;g=d[K+29>>0]|0;r=c[16112+(g<<2)>>2]|0;f=d[K+30>>0]|0;s=c[16112+(f<<2)>>2]|0;o=d[K+31>>0]|0;t=c[16112+(o<<2)>>2]|0;a=d[K+32>>0]|0;m=d[K+33>>0]|0;u=d[K+34>>0]|0;h=d[K+35>>0]|0;k=b;l=0;i=G;while(1){j=p+(N(c[v>>2]|0,e)|0)+(k<<2)|0;K=c[j>>2]|0;c[j>>2]=(((N(M,d[r+((c[x>>2]&K)>>>m)>>0]|0)|0)>>>0)/255|0)>>>g<<m|(((N(O,d[q+((c[w>>2]&K)>>>a)>>0]|0)|0)>>>0)/255|0)>>>n<<a|(((N(L,d[s+((c[y>>2]&K)>>>u)>>0]|0)|0)>>>0)/255|0)>>>f<<u|(d[t+((c[z>>2]&K)>>>h)>>0]|0)>>>o<<h;j=(i|0)<0;l=l+1|0;if((l|0)>=(A|0))break;else{e=e+(j?C:B)|0;k=(j?D:E)+k|0;i=(j?H:F)+i|0}}return}default:{j=f-b|0;j=(j|0)<0?0-j|0:j;k=g-e|0;k=(k|0)<0?0-k|0:k;if((j|0)<(k|0)){i=j<<1;n=1;h=0;l=j-k|0;t=i;i=i-k|0;j=k}else{i=k<<1;n=0;h=1;l=k-j|0;t=i;i=i-j|0}s=l<<1;r=(f|0)<(b|0);q=r?0-h|0:h;r=r?-1:1;o=(g|0)<(e|0);p=o?0-n|0:n;o=o?-1:1;f=j+((m|0)!=0&1)|0;if((f|0)<=0)return;g=c[a+20>>2]|0;n=a+16|0;h=M>>>(d[K+29>>0]|0)<<(d[K+33>>0]|0)|O>>>(d[K+28>>0]|0)<<(d[K+32>>0]|0)|L>>>(d[K+30>>0]|0)<<(d[K+34>>0]|0)|J>>>(d[K+31>>0]|0)<<(d[K+35>>0]|0);k=b;l=0;while(1){c[g+(N(c[n>>2]|0,e)|0)+(k<<2)>>2]=h;j=(i|0)<0;l=l+1|0;if((l|0)>=(f|0))break;else{e=e+(j?p:o)|0;k=(j?q:r)+k|0;i=(j?t:s)+i|0}}return}}}function qIa(a,b,e,f,g,h,i,j,k,l,m){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;var n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0;H=c[a+4>>2]|0;i=i&255;if((h+-1|0)>>>0<2){G=l&255;J=((N(G,i)|0)>>>0)/255|0;I=((N(G,j&255)|0)>>>0)/255|0;K=((N(G,k&255)|0)>>>0)/255|0;i=G}else{J=i;I=j&255;K=k&255;i=l&255}G=i^255;if((g|0)==(e|0))switch(h|0){case 1:{i=(c[a+20>>2]|0)+((N((c[a+16>>2]|0)/(d[H+9>>0]|0|0)|0,g)|0)<<2)|0;if((f|0)<(b|0)){t=i+(f<<2)|0;i=(m|0)!=0;t=i?t:t+4|0;j=b-f|0}else{t=i+(b<<2)|0;j=f-b|0;i=(m|0)!=0}j=j+(i&1)|0;if(!j)return;m=H+12|0;o=H+16|0;p=H+20|0;q=H+24|0;l=d[H+28>>0]|0;n=c[16112+(l<<2)>>2]|0;e=d[H+29>>0]|0;g=c[16112+(e<<2)>>2]|0;h=d[H+30>>0]|0;f=c[16112+(h<<2)>>2]|0;r=d[H+32>>0]|0;s=d[H+33>>0]|0;k=d[H+34>>0]|0;i=t;while(1){j=j+-1|0;H=c[i>>2]|0;b=((((N(G,d[g+((c[o>>2]&H)>>>s)>>0]|0)|0)>>>0)/255|0)+I|0)>>>e<<s|((((N(G,d[n+((c[m>>2]&H)>>>r)>>0]|0)|0)>>>0)/255|0)+J|0)>>>l<<r;H=((((N(G,d[f+((c[p>>2]&H)>>>k)>>0]|0)|0)>>>0)/255|0)+K|0)>>>h<<k;c[i>>2]=b|c[q>>2]|H;if(!j)break;else i=i+4|0}return}case 2:{i=(c[a+20>>2]|0)+((N((c[a+16>>2]|0)/(d[H+9>>0]|0|0)|0,g)|0)<<2)|0;if((f|0)<(b|0)){t=i+(f<<2)|0;i=(m|0)!=0;t=i?t:t+4|0;j=b-f|0}else{t=i+(b<<2)|0;j=f-b|0;i=(m|0)!=0}j=j+(i&1)|0;if(!j)return;m=H+12|0;o=H+16|0;p=H+20|0;q=H+24|0;l=d[H+28>>0]|0;n=c[16112+(l<<2)>>2]|0;e=d[H+29>>0]|0;g=c[16112+(e<<2)>>2]|0;h=d[H+30>>0]|0;f=c[16112+(h<<2)>>2]|0;r=d[H+32>>0]|0;s=d[H+33>>0]|0;k=d[H+34>>0]|0;i=t;while(1){j=j+-1|0;H=c[i>>2]|0;b=J+(d[n+((c[m>>2]&H)>>>r)>>0]|0)|0;G=I+(d[g+((c[o>>2]&H)>>>s)>>0]|0)|0;H=K+(d[f+((c[p>>2]&H)>>>k)>>0]|0)|0;c[i>>2]=(G>>>0<255?G:255)>>>e<<s|(b>>>0<255?b:255)>>>l<<r|c[q>>2]|(H>>>0<255?H:255)>>>h<<k;if(!j)break;else i=i+4|0}return}case 4:{i=(c[a+20>>2]|0)+((N((c[a+16>>2]|0)/(d[H+9>>0]|0|0)|0,g)|0)<<2)|0;if((f|0)<(b|0)){t=i+(f<<2)|0;i=(m|0)!=0;t=i?t:t+4|0;j=b-f|0}else{t=i+(b<<2)|0;j=f-b|0;i=(m|0)!=0}j=j+(i&1)|0;if(!j)return;m=H+12|0;o=H+16|0;p=H+20|0;q=H+24|0;l=d[H+28>>0]|0;n=c[16112+(l<<2)>>2]|0;e=d[H+29>>0]|0;g=c[16112+(e<<2)>>2]|0;h=d[H+30>>0]|0;f=c[16112+(h<<2)>>2]|0;r=d[H+32>>0]|0;s=d[H+33>>0]|0;k=d[H+34>>0]|0;i=t;while(1){j=j+-1|0;H=c[i>>2]|0;b=(((N(I,d[g+((c[o>>2]&H)>>>s)>>0]|0)|0)>>>0)/255|0)>>>e<<s|(((N(J,d[n+((c[m>>2]&H)>>>r)>>0]|0)|0)>>>0)/255|0)>>>l<<r;H=(((N(K,d[f+((c[p>>2]&H)>>>k)>>0]|0)|0)>>>0)/255|0)>>>h<<k;c[i>>2]=b|c[q>>2]|H;if(!j)break;else i=i+4|0}return}default:{i=(c[a+20>>2]|0)+((N((c[a+16>>2]|0)/(d[H+9>>0]|0|0)|0,g)|0)<<2)|0;if((f|0)<(b|0)){i=i+(f<<2)|0;j=(m|0)!=0;i=j?i:i+4|0;k=b-f|0}else{i=i+(b<<2)|0;k=f-b|0;j=(m|0)!=0}j=k+(j&1)|0;if(!j)return;e=I>>>(d[H+29>>0]|0)<<(d[H+33>>0]|0)|J>>>(d[H+28>>0]|0)<<(d[H+32>>0]|0);l=K>>>(d[H+30>>0]|0)<<(d[H+34>>0]|0);k=H+24|0;while(1){j=j+-1|0;c[i>>2]=e|c[k>>2]|l;if(!j)break;else i=i+4|0}return}}if((f|0)==(b|0))switch(h|0){case 1:{u=(c[a+16>>2]|0)/(d[H+9>>0]|0|0)|0;i=c[a+20>>2]|0;if((g|0)<(e|0)){t=i+((N(u,g)|0)<<2)+(f<<2)|0;i=(m|0)!=0;t=i?t:t+(u<<2)|0;j=e-g|0}else{t=i+((N(u,e)|0)<<2)+(f<<2)|0;j=g-e|0;i=(m|0)!=0}j=j+(i&1)|0;if(!j)return;m=H+12|0;o=H+16|0;p=H+20|0;q=H+24|0;l=d[H+28>>0]|0;n=c[16112+(l<<2)>>2]|0;e=d[H+29>>0]|0;g=c[16112+(e<<2)>>2]|0;h=d[H+30>>0]|0;f=c[16112+(h<<2)>>2]|0;r=d[H+32>>0]|0;s=d[H+33>>0]|0;k=d[H+34>>0]|0;i=t;while(1){j=j+-1|0;H=c[i>>2]|0;b=((((N(G,d[g+((c[o>>2]&H)>>>s)>>0]|0)|0)>>>0)/255|0)+I|0)>>>e<<s|((((N(G,d[n+((c[m>>2]&H)>>>r)>>0]|0)|0)>>>0)/255|0)+J|0)>>>l<<r;H=((((N(G,d[f+((c[p>>2]&H)>>>k)>>0]|0)|0)>>>0)/255|0)+K|0)>>>h<<k;c[i>>2]=b|c[q>>2]|H;if(!j)break;else i=i+(u<<2)|0}return}case 2:{u=(c[a+16>>2]|0)/(d[H+9>>0]|0|0)|0;i=c[a+20>>2]|0;if((g|0)<(e|0)){t=i+((N(u,g)|0)<<2)+(f<<2)|0;i=(m|0)!=0;t=i?t:t+(u<<2)|0;j=e-g|0}else{t=i+((N(u,e)|0)<<2)+(f<<2)|0;j=g-e|0;i=(m|0)!=0}j=j+(i&1)|0;if(!j)return;m=H+12|0;o=H+16|0;p=H+20|0;q=H+24|0;l=d[H+28>>0]|0;n=c[16112+(l<<2)>>2]|0;e=d[H+29>>0]|0;g=c[16112+(e<<2)>>2]|0;h=d[H+30>>0]|0;f=c[16112+(h<<2)>>2]|0;r=d[H+32>>0]|0;s=d[H+33>>0]|0;k=d[H+34>>0]|0;i=t;while(1){j=j+-1|0;H=c[i>>2]|0;b=J+(d[n+((c[m>>2]&H)>>>r)>>0]|0)|0;G=I+(d[g+((c[o>>2]&H)>>>s)>>0]|0)|0;H=K+(d[f+((c[p>>2]&H)>>>k)>>0]|0)|0;c[i>>2]=(G>>>0<255?G:255)>>>e<<s|(b>>>0<255?b:255)>>>l<<r|c[q>>2]|(H>>>0<255?H:255)>>>h<<k;if(!j)break;else i=i+(u<<2)|0}return}case 4:{u=(c[a+16>>2]|0)/(d[H+9>>0]|0|0)|0;i=c[a+20>>2]|0;if((g|0)<(e|0)){t=i+((N(u,g)|0)<<2)+(f<<2)|0;i=(m|0)!=0;t=i?t:t+(u<<2)|0;j=e-g|0}else{t=i+((N(u,e)|0)<<2)+(f<<2)|0;j=g-e|0;i=(m|0)!=0}j=j+(i&1)|0;if(!j)return;m=H+12|0;o=H+16|0;p=H+20|0;q=H+24|0;l=d[H+28>>0]|0;n=c[16112+(l<<2)>>2]|0;e=d[H+29>>0]|0;g=c[16112+(e<<2)>>2]|0;h=d[H+30>>0]|0;f=c[16112+(h<<2)>>2]|0;r=d[H+32>>0]|0;s=d[H+33>>0]|0;k=d[H+34>>0]|0;i=t;while(1){j=j+-1|0;H=c[i>>2]|0;b=(((N(I,d[g+((c[o>>2]&H)>>>s)>>0]|0)|0)>>>0)/255|0)>>>e<<s|(((N(J,d[n+((c[m>>2]&H)>>>r)>>0]|0)|0)>>>0)/255|0)>>>l<<r;H=(((N(K,d[f+((c[p>>2]&H)>>>k)>>0]|0)|0)>>>0)/255|0)>>>h<<k;c[i>>2]=b|c[q>>2]|H;if(!j)break;else i=i+(u<<2)|0}return}default:{h=(c[a+16>>2]|0)/(d[H+9>>0]|0|0)|0;i=c[a+20>>2]|0;if((g|0)<(e|0)){i=i+((N(h,g)|0)<<2)+(f<<2)|0;j=(m|0)!=0;i=j?i:i+(h<<2)|0;k=e-g|0}else{i=i+((N(h,e)|0)<<2)+(f<<2)|0;k=g-e|0;j=(m|0)!=0}j=k+(j&1)|0;if(!j)return;e=I>>>(d[H+29>>0]|0)<<(d[H+33>>0]|0)|J>>>(d[H+28>>0]|0)<<(d[H+32>>0]|0);l=K>>>(d[H+30>>0]|0)<<(d[H+34>>0]|0);k=H+24|0;while(1){j=j+-1|0;c[i>>2]=e|c[k>>2]|l;if(!j)break;else i=i+(h<<2)|0}return}}F=b-f|0;i=e-g|0;if((((F|0)<0?0-F|0:F)|0)==(((i|0)<0?0-i|0:i)|0))switch(h|0){case 1:{k=(c[a+16>>2]|0)/(d[H+9>>0]|0|0)|0;j=c[a+20>>2]|0;if((g|0)<(e|0)){u=j+((N(k,g)|0)<<2)+(f<<2)|0;t=k+((f|0)>(b|0)?-1:1)|0;u=(m|0)==0?u+(t<<2)|0:u}else{u=j+((N(k,e)|0)<<2)+(b<<2)|0;i=g-e|0;t=k+((f|0)<(b|0)?-1:1)|0}j=i+((m|0)!=0&1)|0;if(!j)return;m=H+12|0;o=H+16|0;p=H+20|0;q=H+24|0;l=d[H+28>>0]|0;n=c[16112+(l<<2)>>2]|0;e=d[H+29>>0]|0;g=c[16112+(e<<2)>>2]|0;h=d[H+30>>0]|0;f=c[16112+(h<<2)>>2]|0;r=d[H+32>>0]|0;s=d[H+33>>0]|0;k=d[H+34>>0]|0;i=u;while(1){j=j+-1|0;H=c[i>>2]|0;b=((((N(G,d[g+((c[o>>2]&H)>>>s)>>0]|0)|0)>>>0)/255|0)+I|0)>>>e<<s|((((N(G,d[n+((c[m>>2]&H)>>>r)>>0]|0)|0)>>>0)/255|0)+J|0)>>>l<<r;H=((((N(G,d[f+((c[p>>2]&H)>>>k)>>0]|0)|0)>>>0)/255|0)+K|0)>>>h<<k;c[i>>2]=b|c[q>>2]|H;if(!j)break;else i=i+(t<<2)|0}return}case 2:{k=(c[a+16>>2]|0)/(d[H+9>>0]|0|0)|0;j=c[a+20>>2]|0;if((g|0)<(e|0)){u=j+((N(k,g)|0)<<2)+(f<<2)|0;t=k+((f|0)>(b|0)?-1:1)|0;u=(m|0)==0?u+(t<<2)|0:u}else{u=j+((N(k,e)|0)<<2)+(b<<2)|0;i=g-e|0;t=k+((f|0)<(b|0)?-1:1)|0}j=i+((m|0)!=0&1)|0;if(!j)return;m=H+12|0;o=H+16|0;p=H+20|0;q=H+24|0;l=d[H+28>>0]|0;n=c[16112+(l<<2)>>2]|0;e=d[H+29>>0]|0;g=c[16112+(e<<2)>>2]|0;h=d[H+30>>0]|0;f=c[16112+(h<<2)>>2]|0;r=d[H+32>>0]|0;s=d[H+33>>0]|0;k=d[H+34>>0]|0;i=u;while(1){j=j+-1|0;H=c[i>>2]|0;b=J+(d[n+((c[m>>2]&H)>>>r)>>0]|0)|0;G=I+(d[g+((c[o>>2]&H)>>>s)>>0]|0)|0;H=K+(d[f+((c[p>>2]&H)>>>k)>>0]|0)|0;c[i>>2]=(G>>>0<255?G:255)>>>e<<s|(b>>>0<255?b:255)>>>l<<r|c[q>>2]|(H>>>0<255?H:255)>>>h<<k;if(!j)break;else i=i+(t<<2)|0}return}case 4:{k=(c[a+16>>2]|0)/(d[H+9>>0]|0|0)|0;j=c[a+20>>2]|0;if((g|0)<(e|0)){u=j+((N(k,g)|0)<<2)+(f<<2)|0;t=k+((f|0)>(b|0)?-1:1)|0;u=(m|0)==0?u+(t<<2)|0:u}else{u=j+((N(k,e)|0)<<2)+(b<<2)|0;i=g-e|0;t=k+((f|0)<(b|0)?-1:1)|0}j=i+((m|0)!=0&1)|0;if(!j)return;m=H+12|0;o=H+16|0;p=H+20|0;q=H+24|0;l=d[H+28>>0]|0;n=c[16112+(l<<2)>>2]|0;e=d[H+29>>0]|0;g=c[16112+(e<<2)>>2]|0;h=d[H+30>>0]|0;f=c[16112+(h<<2)>>2]|0;r=d[H+32>>0]|0;s=d[H+33>>0]|0;k=d[H+34>>0]|0;i=u;while(1){j=j+-1|0;H=c[i>>2]|0;b=(((N(I,d[g+((c[o>>2]&H)>>>s)>>0]|0)|0)>>>0)/255|0)>>>e<<s|(((N(J,d[n+((c[m>>2]&H)>>>r)>>0]|0)|0)>>>0)/255|0)>>>l<<r;H=(((N(K,d[f+((c[p>>2]&H)>>>k)>>0]|0)|0)>>>0)/255|0)>>>h<<k;c[i>>2]=b|c[q>>2]|H;if(!j)break;else i=i+(t<<2)|0}return}default:{k=(c[a+16>>2]|0)/(d[H+9>>0]|0|0)|0;j=c[a+20>>2]|0;if((g|0)<(e|0)){G=j+((N(k,g)|0)<<2)+(f<<2)|0;h=k+((f|0)>(b|0)?-1:1)|0;j=i;i=(m|0)==0?G+(h<<2)|0:G}else{i=j+((N(k,e)|0)<<2)+(b<<2)|0;j=g-e|0;h=k+((f|0)<(b|0)?-1:1)|0}j=j+((m|0)!=0&1)|0;if(!j)return;e=I>>>(d[H+29>>0]|0)<<(d[H+33>>0]|0)|J>>>(d[H+28>>0]|0)<<(d[H+32>>0]|0);l=K>>>(d[H+30>>0]|0)<<(d[H+34>>0]|0);k=H+24|0;while(1){j=j+-1|0;c[i>>2]=e|c[k>>2]|l;if(!j)break;else i=i+(h<<2)|0}return}}else switch(h|0){case 1:{i=f-b|0;i=(i|0)<0?0-i|0:i;j=g-e|0;j=(j|0)<0?0-j|0:j;if((i|0)<(j|0)){E=i<<1;h=1;l=0;k=i-j|0;F=E;E=E-j|0;i=j}else{E=j<<1;h=0;l=1;k=j-i|0;F=E;E=E-i|0}D=k<<1;C=(f|0)<(b|0);B=C?0-l|0:l;C=C?-1:1;z=(g|0)<(e|0);A=z?0-h|0:h;z=z?-1:1;y=i+((m|0)!=0&1)|0;if((y|0)<=0)return;t=a+16|0;u=H+12|0;v=H+16|0;w=H+20|0;x=H+24|0;m=c[a+20>>2]|0;n=d[H+28>>0]|0;o=c[16112+(n<<2)>>2]|0;g=d[H+29>>0]|0;p=c[16112+(g<<2)>>2]|0;f=d[H+30>>0]|0;q=c[16112+(f<<2)>>2]|0;r=d[H+32>>0]|0;s=d[H+33>>0]|0;h=d[H+34>>0]|0;k=b;l=0;i=E;while(1){j=m+(N(c[t>>2]|0,e)|0)+(k<<2)|0;H=c[j>>2]|0;b=((((N(G,d[p+((c[v>>2]&H)>>>s)>>0]|0)|0)>>>0)/255|0)+I|0)>>>g<<s|((((N(G,d[o+((c[u>>2]&H)>>>r)>>0]|0)|0)>>>0)/255|0)+J|0)>>>n<<r;H=((((N(G,d[q+((c[w>>2]&H)>>>h)>>0]|0)|0)>>>0)/255|0)+K|0)>>>f<<h;c[j>>2]=b|c[x>>2]|H;j=(i|0)<0;l=l+1|0;if((l|0)>=(y|0))break;else{e=e+(j?A:z)|0;k=(j?B:C)+k|0;i=(j?F:D)+i|0}}return}case 2:{i=f-b|0;i=(i|0)<0?0-i|0:i;j=g-e|0;j=(j|0)<0?0-j|0:j;if((i|0)<(j|0)){E=i<<1;h=1;l=0;k=i-j|0;F=E;E=E-j|0;i=j}else{E=j<<1;h=0;l=1;k=j-i|0;F=E;E=E-i|0}D=k<<1;C=(f|0)<(b|0);B=C?0-l|0:l;C=C?-1:1;z=(g|0)<(e|0);A=z?0-h|0:h;z=z?-1:1;y=i+((m|0)!=0&1)|0;if((y|0)<=0)return;t=a+16|0;u=H+12|0;v=H+16|0;w=H+20|0;x=H+24|0;m=c[a+20>>2]|0;n=d[H+28>>0]|0;o=c[16112+(n<<2)>>2]|0;g=d[H+29>>0]|0;p=c[16112+(g<<2)>>2]|0;f=d[H+30>>0]|0;q=c[16112+(f<<2)>>2]|0;r=d[H+32>>0]|0;s=d[H+33>>0]|0;h=d[H+34>>0]|0;k=b;l=0;i=E;while(1){j=m+(N(c[t>>2]|0,e)|0)+(k<<2)|0;H=c[j>>2]|0;b=J+(d[o+((c[u>>2]&H)>>>r)>>0]|0)|0;G=I+(d[p+((c[v>>2]&H)>>>s)>>0]|0)|0;H=K+(d[q+((c[w>>2]&H)>>>h)>>0]|0)|0;c[j>>2]=(G>>>0<255?G:255)>>>g<<s|(b>>>0<255?b:255)>>>n<<r|c[x>>2]|(H>>>0<255?H:255)>>>f<<h;j=(i|0)<0;l=l+1|0;if((l|0)>=(y|0))break;else{e=e+(j?A:z)|0;k=(j?B:C)+k|0;i=(j?F:D)+i|0}}return}case 4:{i=f-b|0;i=(i|0)<0?0-i|0:i;j=g-e|0;j=(j|0)<0?0-j|0:j;if((i|0)<(j|0)){E=i<<1;h=1;l=0;k=i-j|0;F=E;E=E-j|0;i=j}else{E=j<<1;h=0;l=1;k=j-i|0;F=E;E=E-i|0}D=k<<1;C=(f|0)<(b|0);B=C?0-l|0:l;C=C?-1:1;z=(g|0)<(e|0);A=z?0-h|0:h;z=z?-1:1;y=i+((m|0)!=0&1)|0;if((y|0)<=0)return;t=a+16|0;u=H+12|0;v=H+16|0;w=H+20|0;x=H+24|0;m=c[a+20>>2]|0;n=d[H+28>>0]|0;o=c[16112+(n<<2)>>2]|0;g=d[H+29>>0]|0;p=c[16112+(g<<2)>>2]|0;f=d[H+30>>0]|0;q=c[16112+(f<<2)>>2]|0;r=d[H+32>>0]|0;s=d[H+33>>0]|0;h=d[H+34>>0]|0;k=b;l=0;i=E;while(1){j=m+(N(c[t>>2]|0,e)|0)+(k<<2)|0;H=c[j>>2]|0;b=(((N(I,d[p+((c[v>>2]&H)>>>s)>>0]|0)|0)>>>0)/255|0)>>>g<<s|(((N(J,d[o+((c[u>>2]&H)>>>r)>>0]|0)|0)>>>0)/255|0)>>>n<<r;H=(((N(K,d[q+((c[w>>2]&H)>>>h)>>0]|0)|0)>>>0)/255|0)>>>f<<h;c[j>>2]=b|c[x>>2]|H;j=(i|0)<0;l=l+1|0;if((l|0)>=(y|0))break;else{e=e+(j?A:z)|0;k=(j?B:C)+k|0;i=(j?F:D)+i|0}}return}default:{j=f-b|0;j=(j|0)<0?0-j|0:j;k=g-e|0;k=(k|0)<0?0-k|0:k;if((j|0)<(k|0)){i=j<<1;n=1;h=0;l=j-k|0;u=i;i=i-k|0;j=k}else{i=k<<1;n=0;h=1;l=k-j|0;u=i;i=i-j|0}t=l<<1;s=(f|0)<(b|0);r=s?0-h|0:h;s=s?-1:1;p=(g|0)<(e|0);q=p?0-n|0:n;p=p?-1:1;o=j+((m|0)!=0&1)|0;if((o|0)<=0)return;m=c[a+20>>2]|0;f=a+16|0;g=I>>>(d[H+29>>0]|0)<<(d[H+33>>0]|0)|J>>>(d[H+28>>0]|0)<<(d[H+32>>0]|0);n=K>>>(d[H+30>>0]|0)<<(d[H+34>>0]|0);h=H+24|0;k=b;l=0;while(1){j=m+(N(c[f>>2]|0,e)|0)+(k<<2)|0;c[j>>2]=g|c[h>>2]|n;j=(i|0)<0;l=l+1|0;if((l|0)>=(o|0))break;else{e=e+(j?q:p)|0;k=(j?r:s)+k|0;i=(j?u:t)+i|0}}return}}}function rIa(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;z=l;l=l+48|0;i=z+32|0;k=z+24|0;j=z+16|0;h=z+8|0;g=z;if(!a){c[g>>2]=196727;MAa(208008,g)|0;f=0;l=z;return f|0}if(!b){c[h>>2]=196732;MAa(208008,h)|0;f=0;l=z;return f|0}if(!d){c[j>>2]=196735;MAa(208008,j)|0;f=0;l=z;return f|0}if(!e){c[k>>2]=196738;MAa(208008,k)|0;f=0;l=z;return f|0}if(!f){c[i>>2]=196741;MAa(208008,i)|0;f=0;l=z;return f|0}j=c[a+8>>2]|0;if((j|0)<1){f=0;l=z;return f|0}k=c[a+12>>2]|0;if((k|0)<=0){f=0;l=z;return f|0}s=c[b>>2]|0;g=c[d>>2]|0;h=c[e>>2]|0;i=c[f>>2]|0;y=c[a>>2]|0;x=c[a+4>>2]|0;v=j+y|0;w=v+-1|0;t=k+x|0;u=t+-1|0;j=(s|0)<(v|0);p=(h|0)<(y|0);q=(h|0)<(v|0);k=(g|0)<(x|0);r=(i|0)<(x|0);a=(i|0)<(t|0);if(a&((g|0)<(t|0)&(q&((s|0)>=(y|0)&j&(p^1))&(k^1))&(r^1))){f=1;l=z;return f|0}m=(s|0)<(y|0);if(m&p){f=0;l=z;return f|0}n=(s|0)>=(v|0);if(k&r|n&(q^1)){f=0;l=z;return f|0}o=(g|0)>=(t|0);if(!(a|o^1)){f=0;l=z;return f|0}if((g|0)==(i|0)){if(m|n)c[b>>2]=m?y:w;if(p){c[e>>2]=y;f=1;l=z;return f|0}if(q){f=1;l=z;return f|0}c[e>>2]=w;f=1;l=z;return f|0}if((s|0)==(h|0)){if(k|o)c[d>>2]=k?x:u;if(r){c[f>>2]=x;f=1;l=z;return f|0}if(a){f=1;l=z;return f|0}c[f>>2]=u;f=1;l=z;return f|0}k=k?2:o&1;k=m?k|4:j?k:k|8;n=r?2:(t|0)<=(i|0)&1;n=p?n|4:q?n:n|8;a:do if(!(n|k))j=s;else{m=0;a=0;j=s;while(1){if(n&k|0){g=0;break}do if(!k){do if(!(n&2)){if(n&1|0){m=((N(h-j|0,u-g|0)|0)/(i-g|0)|0)+j|0;a=u;break}if(n&4|0){m=y;a=((N(y-j|0,i-g|0)|0)/(h-j|0)|0)+g|0;break}if(!(n&8))break;m=w;a=((N(w-j|0,i-g|0)|0)/(h-j|0)|0)+g|0}else{m=((N(h-j|0,x-g|0)|0)/(i-g|0)|0)+j|0;a=x}while(0);h=(x|0)>(a|0)?2:(t|0)<=(a|0)&1;if((y|0)>(m|0)){n=h|4;k=0;i=a;h=m;break}else{n=(v|0)>(m|0)?h:h|8;k=0;i=a;h=m;break}}else{do if(!(k&2)){if(k&1|0){m=((N(h-j|0,u-g|0)|0)/(i-g|0)|0)+j|0;a=u;break}if(k&4|0){m=y;a=((N(y-j|0,i-g|0)|0)/(h-j|0)|0)+g|0;break}if(!(k&8))break;m=w;a=((N(w-j|0,i-g|0)|0)/(h-j|0)|0)+g|0}else{m=((N(h-j|0,x-g|0)|0)/(i-g|0)|0)+j|0;a=x}while(0);g=(x|0)>(a|0)?2:(t|0)<=(a|0)&1;if((y|0)>(m|0)){k=g|4;j=m;g=a;break}else{k=(v|0)>(m|0)?g:g|8;j=m;g=a;break}}while(0);if(!(n|k))break a}l=z;return g|0}while(0);c[b>>2]=j;c[d>>2]=g;c[e>>2]=h;c[f>>2]=i;f=1;l=z;return f|0}function sIa(b,d,e,f,g,h,i,j){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,m=0,n=0,o=0,p=0;p=l;l=l+16|0;if(!b){j=MAa(196837,p)|0;l=p;return j|0}n=c[b+4>>2]|0;o=a[n+8>>0]|0;if((o&255)<8){j=MAa(196682,p+8|0)|0;l=p;return j|0}k=c[b+36>>2]|0;if((k|0)>(d|0)){j=0;l=p;return j|0}m=c[b+40>>2]|0;if((m|0)>(e|0)){j=0;l=p;return j|0}if(((c[b+44>>2]|0)+k|0)<=(d|0)){j=0;l=p;return j|0}if(((c[b+48>>2]|0)+m|0)<=(e|0)){j=0;l=p;return j|0}if((f+-1|0)>>>0<2){m=j&255;i=(((N(m,i&255)|0)>>>0)/255|0)&255;h=(((N(m,h&255)|0)>>>0)/255|0)&255;g=(((N(m,g&255)|0)>>>0)/255|0)&255}switch(o<<24>>24){case 15:{if((c[n+12>>2]|0)==31744){tIa(b,d,e,f,g,h,i,j)|0;j=0;l=p;return j|0}break}case 16:{if((c[n+12>>2]|0)==63488){uIa(b,d,e,f,g,h,i,j)|0;j=0;l=p;return j|0}break}case 32:{if((c[n+12>>2]|0)==16711680)if(!(c[n+24>>2]|0)){vIa(b,d,e,f,g,h,i,j)|0;j=0;l=p;return j|0}else{wIa(b,d,e,f,g,h,i,j)|0;j=0;l=p;return j|0}break}default:{}}if(!(c[n+24>>2]|0)){j=xIa(b,d,e,f,g,h,i,j)|0;l=p;return j|0}else{j=yIa(b,d,e,f,g,h,i,j)|0;l=p;return j|0}return 0}function tIa(a,f,g,h,i,j,k,l){a=a|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;l=~l&255;switch(h|0){case 1:{g=(c[a+20>>2]|0)+(N(c[a+16>>2]|0,g)|0)+(f<<1)|0;h=e[g>>1]|0;f=(((N(d[16608+(h&31)>>0]|0,l)|0)>>>0)/255|0)+(k&255)|0;a=(((N(d[16608+(h>>>5&31)>>0]|0,l)|0)>>>0)/255|0)+(j&255)|0;l=(((N(d[16608+(h>>>10&31)>>0]|0,l)|0)>>>0)/255|0)+(i&255)|0;break}case 2:{g=(c[a+20>>2]|0)+(N(c[a+16>>2]|0,g)|0)+(f<<1)|0;f=e[g>>1]|0;l=(d[16608+(f>>>10&31)>>0]|0)+(i&255)|0;a=(d[16608+(f>>>5&31)>>0]|0)+(j&255)|0;f=(d[16608+(f&31)>>0]|0)+(k&255)|0;f=f>>>0<255?f:255;a=a>>>0<255?a:255;l=l>>>0<255?l:255;break}case 4:{g=(c[a+20>>2]|0)+(N(c[a+16>>2]|0,g)|0)+(f<<1)|0;l=e[g>>1]|0;f=((N(d[16608+(l&31)>>0]|0,k&255)|0)>>>0)/255|0;a=((N(d[16608+(l>>>5&31)>>0]|0,j&255)|0)>>>0)/255|0;l=((N(d[16608+(l>>>10&31)>>0]|0,i&255)|0)>>>0)/255|0;break}default:{g=(c[a+20>>2]|0)+(N(c[a+16>>2]|0,g)|0)+(f<<1)|0;f=k&255;a=j&255;l=i&255}}b[g>>1]=a>>>3<<5|l>>>3<<10|f>>>3;return 0}function uIa(a,f,g,h,i,j,k,l){a=a|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;l=~l&255;switch(h|0){case 1:{g=(c[a+20>>2]|0)+(N(c[a+16>>2]|0,g)|0)+(f<<1)|0;h=e[g>>1]|0;f=(((N(d[16608+(h&31)>>0]|0,l)|0)>>>0)/255|0)+(k&255)|0;a=(((N(d[16544+(h>>>5&63)>>0]|0,l)|0)>>>0)/255|0)+(j&255)|0;l=(((N(d[16608+(h>>>11)>>0]|0,l)|0)>>>0)/255|0)+(i&255)|0;break}case 2:{g=(c[a+20>>2]|0)+(N(c[a+16>>2]|0,g)|0)+(f<<1)|0;f=e[g>>1]|0;l=(d[16608+(f>>>11)>>0]|0)+(i&255)|0;a=(d[16544+(f>>>5&63)>>0]|0)+(j&255)|0;f=(d[16608+(f&31)>>0]|0)+(k&255)|0;f=f>>>0<255?f:255;a=a>>>0<255?a:255;l=l>>>0<255?l:255;break}case 4:{g=(c[a+20>>2]|0)+(N(c[a+16>>2]|0,g)|0)+(f<<1)|0;l=e[g>>1]|0;f=((N(d[16608+(l&31)>>0]|0,k&255)|0)>>>0)/255|0;a=((N(d[16544+(l>>>5&63)>>0]|0,j&255)|0)>>>0)/255|0;l=((N(d[16608+(l>>>11)>>0]|0,i&255)|0)>>>0)/255|0;break}default:{g=(c[a+20>>2]|0)+(N(c[a+16>>2]|0,g)|0)+(f<<1)|0;f=k&255;a=j&255;l=i&255}}b[g>>1]=a>>>2<<5|l>>>3<<11|f>>>3;return 0}function vIa(a,b,d,e,f,g,h,i){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;i=~i&255;switch(e|0){case 1:{e=(c[a+20>>2]|0)+(N(c[a+16>>2]|0,d)|0)+(b<<2)|0;d=c[e>>2]|0;f=(((N(d>>>16&255,i)|0)>>>0)/255|0)+(f&255)<<16;h=(((N(d&255,i)|0)>>>0)/255|0)+(h&255)|0;g=(((N(d>>>8&255,i)|0)>>>0)/255|0)+(g&255)|0;g=g<<8;h=g|h;h=h|f;c[e>>2]=h;return 0}case 2:{b=(c[a+20>>2]|0)+(N(c[a+16>>2]|0,d)|0)+(b<<2)|0;a=c[b>>2]|0;d=(a>>>16&255)+(f&255)|0;e=(a>>>8&255)+(g&255)|0;f=(a&255)+(h&255)|0;h=b;g=(d>>>0<255?d:255)<<16;f=f>>>0<255?f:255;e=e>>>0<255?e:255;e=e<<8;f=e|f;g=f|g;c[h>>2]=g;return 0}case 4:{e=(c[a+20>>2]|0)+(N(c[a+16>>2]|0,d)|0)+(b<<2)|0;d=c[e>>2]|0;f=(((N(d>>>16&255,f&255)|0)>>>0)/255|0)<<16;h=((N(d&255,h&255)|0)>>>0)/255|0;g=((N(d>>>8&255,g&255)|0)>>>0)/255|0;g=g<<8;h=g|h;h=h|f;c[e>>2]=h;return 0}default:{e=(c[a+20>>2]|0)+(N(c[a+16>>2]|0,d)|0)+(b<<2)|0;h=h&255;f=(f&255)<<16;g=g&255;g=g<<8;g=g|f;h=g|h;c[e>>2]=h;return 0}}return 0}function wIa(a,b,d,e,f,g,h,i){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0;i=i&255;j=i^255;switch(e|0){case 1:{b=(c[a+20>>2]|0)+(N(c[a+16>>2]|0,d)|0)+(b<<2)|0;d=c[b>>2]|0;e=(((N(d>>>24,j)|0)>>>0)/255|0)+i<<24|(((N(d&255,j)|0)>>>0)/255|0)+(h&255);h=b;g=(((N(d>>>8&255,j)|0)>>>0)/255|0)+(g&255)<<8;f=(((N(d>>>16&255,j)|0)>>>0)/255|0)+(f&255)<<16;f=e|f;g=f|g;c[h>>2]=g;return 0}case 2:{d=(c[a+20>>2]|0)+(N(c[a+16>>2]|0,d)|0)+(b<<2)|0;e=c[d>>2]|0;f=(e>>>16&255)+(f&255)|0;g=(e>>>8&255)+(g&255)|0;h=(e&255)+(h&255)|0;e=(h>>>0<255?h:255)|e&-16777216;h=d;g=(g>>>0<255?g:255)<<8;f=(f>>>0<255?f:255)<<16;f=e|f;g=f|g;c[h>>2]=g;return 0}case 4:{b=(c[a+20>>2]|0)+(N(c[a+16>>2]|0,d)|0)+(b<<2)|0;d=c[b>>2]|0;e=((N(d&255,h&255)|0)>>>0)/255|0|d&-16777216;h=b;g=(((N(d>>>8&255,g&255)|0)>>>0)/255|0)<<8;f=(((N(d>>>16&255,f&255)|0)>>>0)/255|0)<<16;f=e|f;g=f|g;c[h>>2]=g;return 0}default:{e=(g&255)<<8|(f&255)<<16;g=(c[a+20>>2]|0)+(N(c[a+16>>2]|0,d)|0)+(b<<2)|0;f=i<<24;h=h&255;h=e|h;h=h|f;c[g>>2]=h;return 0}}return 0}function xIa(f,g,h,i,j,k,l,m){f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;var n=0,o=0,p=0,q=0,r=0;n=c[f+4>>2]|0;m=~m&255;switch(a[n+9>>0]|0){case 2:switch(i|0){case 1:{i=(c[f+20>>2]|0)+(N(c[f+16>>2]|0,h)|0)+(g<<1)|0;p=d[n+28>>0]|0;f=e[i>>1]|0;o=d[n+32>>0]|0;r=d[n+29>>0]|0;q=d[n+33>>0]|0;g=d[n+30>>0]|0;h=d[n+34>>0]|0;k=((((N(d[(c[16112+(r<<2)>>2]|0)+((c[n+16>>2]&f)>>>q)>>0]|0,m)|0)>>>0)/255|0)+(k&255)|0)>>>r<<q|((((N(d[(c[16112+(p<<2)>>2]|0)+((c[n+12>>2]&f)>>>o)>>0]|0,m)|0)>>>0)/255|0)+(j&255)|0)>>>p<<o;b[i>>1]=((((N(d[(c[16112+(g<<2)>>2]|0)+((c[n+20>>2]&f)>>>h)>>0]|0,m)|0)>>>0)/255|0)+(l&255)|0)>>>g<<h|(k|c[n+24>>2]);n=0;return n|0}case 2:{r=(c[f+20>>2]|0)+(N(c[f+16>>2]|0,h)|0)+(g<<1)|0;h=d[n+28>>0]|0;o=e[r>>1]|0;i=d[n+32>>0]|0;f=d[n+29>>0]|0;g=d[n+33>>0]|0;p=d[n+30>>0]|0;q=d[n+34>>0]|0;j=(d[(c[16112+(h<<2)>>2]|0)+((c[n+12>>2]&o)>>>i)>>0]|0)+(j&255)|0;k=(d[(c[16112+(f<<2)>>2]|0)+((c[n+16>>2]&o)>>>g)>>0]|0)+(k&255)|0;o=(d[(c[16112+(p<<2)>>2]|0)+((c[n+20>>2]&o)>>>q)>>0]|0)+(l&255)|0;b[r>>1]=(k>>>0<255?k:255)>>>f<<g|(j>>>0<255?j:255)>>>h<<i|c[n+24>>2]|(o>>>0<255?o:255)>>>p<<q;r=0;return r|0}case 4:{r=(c[f+20>>2]|0)+(N(c[f+16>>2]|0,h)|0)+(g<<1)|0;h=d[n+28>>0]|0;i=e[r>>1]|0;q=d[n+32>>0]|0;f=d[n+29>>0]|0;g=d[n+33>>0]|0;o=d[n+30>>0]|0;p=d[n+34>>0]|0;q=(((N(d[(c[16112+(f<<2)>>2]|0)+((c[n+16>>2]&i)>>>g)>>0]|0,k&255)|0)>>>0)/255|0)>>>f<<g|(((N(d[(c[16112+(h<<2)>>2]|0)+((c[n+12>>2]&i)>>>q)>>0]|0,j&255)|0)>>>0)/255|0)>>>h<<q;b[r>>1]=(((N(d[(c[16112+(o<<2)>>2]|0)+((c[n+20>>2]&i)>>>p)>>0]|0,l&255)|0)>>>0)/255|0)>>>o<<p|(q|c[n+24>>2]);r=0;return r|0}default:{b[(c[f+20>>2]|0)+(N(c[f+16>>2]|0,h)|0)+(g<<1)>>1]=(k&255)>>>(d[n+29>>0]|0)<<d[n+33>>0]|(j&255)>>>(d[n+28>>0]|0)<<d[n+32>>0]|c[n+24>>2]|(l&255)>>>(d[n+30>>0]|0)<<d[n+34>>0];r=0;return r|0}}case 4:switch(i|0){case 1:{r=(c[f+20>>2]|0)+(N(c[f+16>>2]|0,h)|0)+(g<<2)|0;h=d[n+28>>0]|0;i=c[r>>2]|0;q=d[n+32>>0]|0;f=d[n+29>>0]|0;g=d[n+33>>0]|0;o=d[n+30>>0]|0;p=d[n+34>>0]|0;q=((((N(d[(c[16112+(f<<2)>>2]|0)+((c[n+16>>2]&i)>>>g)>>0]|0,m)|0)>>>0)/255|0)+(k&255)|0)>>>f<<g|((((N(d[(c[16112+(h<<2)>>2]|0)+((c[n+12>>2]&i)>>>q)>>0]|0,m)|0)>>>0)/255|0)+(j&255)|0)>>>h<<q;c[r>>2]=((((N(d[(c[16112+(o<<2)>>2]|0)+((c[n+20>>2]&i)>>>p)>>0]|0,m)|0)>>>0)/255|0)+(l&255)|0)>>>o<<p|(q|c[n+24>>2]);r=0;return r|0}case 2:{r=(c[f+20>>2]|0)+(N(c[f+16>>2]|0,h)|0)+(g<<2)|0;h=d[n+28>>0]|0;o=c[r>>2]|0;i=d[n+32>>0]|0;f=d[n+29>>0]|0;g=d[n+33>>0]|0;p=d[n+30>>0]|0;q=d[n+34>>0]|0;j=(d[(c[16112+(h<<2)>>2]|0)+((c[n+12>>2]&o)>>>i)>>0]|0)+(j&255)|0;k=(d[(c[16112+(f<<2)>>2]|0)+((c[n+16>>2]&o)>>>g)>>0]|0)+(k&255)|0;o=(d[(c[16112+(p<<2)>>2]|0)+((c[n+20>>2]&o)>>>q)>>0]|0)+(l&255)|0;c[r>>2]=(k>>>0<255?k:255)>>>f<<g|(j>>>0<255?j:255)>>>h<<i|c[n+24>>2]|(o>>>0<255?o:255)>>>p<<q;r=0;return r|0}case 4:{r=(c[f+20>>2]|0)+(N(c[f+16>>2]|0,h)|0)+(g<<2)|0;h=d[n+28>>0]|0;i=c[r>>2]|0;q=d[n+32>>0]|0;f=d[n+29>>0]|0;g=d[n+33>>0]|0;o=d[n+30>>0]|0;p=d[n+34>>0]|0;q=(((N(d[(c[16112+(f<<2)>>2]|0)+((c[n+16>>2]&i)>>>g)>>0]|0,k&255)|0)>>>0)/255|0)>>>f<<g|(((N(d[(c[16112+(h<<2)>>2]|0)+((c[n+12>>2]&i)>>>q)>>0]|0,j&255)|0)>>>0)/255|0)>>>h<<q;c[r>>2]=(((N(d[(c[16112+(o<<2)>>2]|0)+((c[n+20>>2]&i)>>>p)>>0]|0,l&255)|0)>>>0)/255|0)>>>o<<p|(q|c[n+24>>2]);r=0;return r|0}default:{c[(c[f+20>>2]|0)+(N(c[f+16>>2]|0,h)|0)+(g<<2)>>2]=(k&255)>>>(d[n+29>>0]|0)<<d[n+33>>0]|(j&255)>>>(d[n+28>>0]|0)<<d[n+32>>0]|c[n+24>>2]|(l&255)>>>(d[n+30>>0]|0)<<d[n+34>>0];r=0;return r|0}}default:{r=GAa(4)|0;return r|0}}return 0}function yIa(b,e,f,g,h,i,j,k){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;m=c[b+4>>2]|0;k=k&255;l=k^255;if((a[m+9>>0]|0)!=4){m=GAa(4)|0;return m|0}switch(g|0){case 1:{g=(c[b+20>>2]|0)+(N(c[b+16>>2]|0,f)|0)+(e<<2)|0;q=d[m+28>>0]|0;b=c[g>>2]|0;p=d[m+32>>0]|0;s=d[m+29>>0]|0;r=d[m+33>>0]|0;o=d[m+30>>0]|0;n=d[m+34>>0]|0;e=d[m+31>>0]|0;f=d[m+35>>0]|0;c[g>>2]=((((N(l,d[(c[16112+(s<<2)>>2]|0)+((c[m+16>>2]&b)>>>r)>>0]|0)|0)>>>0)/255|0)+(i&255)|0)>>>s<<r|((((N(l,d[(c[16112+(q<<2)>>2]|0)+((c[m+12>>2]&b)>>>p)>>0]|0)|0)>>>0)/255|0)+(h&255)|0)>>>q<<p|((((N(l,d[(c[16112+(o<<2)>>2]|0)+((c[m+20>>2]&b)>>>n)>>0]|0)|0)>>>0)/255|0)+(j&255)|0)>>>o<<n|((((N(l,d[(c[16112+(e<<2)>>2]|0)+((c[m+24>>2]&b)>>>f)>>0]|0)|0)>>>0)/255|0)+k|0)>>>e<<f;m=0;return m|0}case 2:{s=(c[b+20>>2]|0)+(N(c[b+16>>2]|0,f)|0)+(e<<2)|0;f=d[m+28>>0]|0;p=c[s>>2]|0;g=d[m+32>>0]|0;b=d[m+29>>0]|0;e=d[m+33>>0]|0;n=d[m+30>>0]|0;o=d[m+34>>0]|0;q=d[m+31>>0]|0;r=d[m+35>>0]|0;h=(d[(c[16112+(f<<2)>>2]|0)+((c[m+12>>2]&p)>>>g)>>0]|0)+(h&255)|0;i=(d[(c[16112+(b<<2)>>2]|0)+((c[m+16>>2]&p)>>>e)>>0]|0)+(i&255)|0;j=(d[(c[16112+(n<<2)>>2]|0)+((c[m+20>>2]&p)>>>o)>>0]|0)+(j&255)|0;c[s>>2]=(i>>>0<255?i:255)>>>b<<e|(h>>>0<255?h:255)>>>f<<g|(j>>>0<255?j:255)>>>n<<o|(d[(c[16112+(q<<2)>>2]|0)+((c[m+24>>2]&p)>>>r)>>0]|0)>>>q<<r;s=0;return s|0}case 4:{s=(c[b+20>>2]|0)+(N(c[b+16>>2]|0,f)|0)+(e<<2)|0;f=d[m+28>>0]|0;p=c[s>>2]|0;g=d[m+32>>0]|0;b=d[m+29>>0]|0;e=d[m+33>>0]|0;n=d[m+30>>0]|0;o=d[m+34>>0]|0;q=d[m+31>>0]|0;r=d[m+35>>0]|0;c[s>>2]=(((N(d[(c[16112+(b<<2)>>2]|0)+((c[m+16>>2]&p)>>>e)>>0]|0,i&255)|0)>>>0)/255|0)>>>b<<e|(((N(d[(c[16112+(f<<2)>>2]|0)+((c[m+12>>2]&p)>>>g)>>0]|0,h&255)|0)>>>0)/255|0)>>>f<<g|(((N(d[(c[16112+(n<<2)>>2]|0)+((c[m+20>>2]&p)>>>o)>>0]|0,j&255)|0)>>>0)/255|0)>>>n<<o|(d[(c[16112+(q<<2)>>2]|0)+((c[m+24>>2]&p)>>>r)>>0]|0)>>>q<<r;s=0;return s|0}default:{c[(c[b+20>>2]|0)+(N(c[b+16>>2]|0,f)|0)+(e<<2)>>2]=(i&255)>>>(d[m+29>>0]|0)<<d[m+33>>0]|(h&255)>>>(d[m+28>>0]|0)<<d[m+32>>0]|(j&255)>>>(d[m+30>>0]|0)<<d[m+34>>0]|k>>>(d[m+31>>0]|0)<<d[m+35>>0];s=0;return s|0}}return 0}function zIa(a,e,f,g,h,i,j){a=a|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;z=l;l=l+16|0;n=z+3|0;o=z+2|0;p=z+1|0;k=z;if((h|0)==(f|0)){k=(c[a+20>>2]|0)+((N((c[a+16>>2]|0)/(d[(c[a+4>>2]|0)+9>>0]|0|0)|0,h)|0)<<1)|0;if((g|0)<(e|0)){k=k+(g<<1)|0;m=(j|0)!=0;k=m?k:k+2|0;n=e-g|0}else{k=k+(e<<1)|0;n=g-e|0;m=(j|0)!=0}m=n+(m&1)|0;if(!m){l=z;return}n=i&65535;while(1){m=m+-1|0;b[k>>1]=n;if(!m)break;else k=k+2|0}l=z;return}if((g|0)==(e|0)){o=(c[a+16>>2]|0)/(d[(c[a+4>>2]|0)+9>>0]|0|0)|0;k=c[a+20>>2]|0;if((h|0)<(f|0)){k=k+((N(o,h)|0)<<1)+(g<<1)|0;m=(j|0)!=0;k=m?k:k+(o<<1)|0;n=f-h|0}else{k=k+((N(o,f)|0)<<1)+(g<<1)|0;n=h-f|0;m=(j|0)!=0}m=n+(m&1)|0;if(!m){l=z;return}n=i&65535;while(1){m=m+-1|0;b[k>>1]=n;if(!m)break;else k=k+(o<<1)|0}l=z;return}x=e-g|0;m=f-h|0;if((((x|0)<0?0-x|0:x)|0)==(((m|0)<0?0-m|0:m)|0)){n=(c[a+16>>2]|0)/(d[(c[a+4>>2]|0)+9>>0]|0|0)|0;k=c[a+20>>2]|0;if((h|0)<(f|0)){k=k+((N(n,h)|0)<<1)+(g<<1)|0;o=n+((g|0)>(e|0)?-1:1)|0;k=(j|0)==0?k+(o<<1)|0:k}else{k=k+((N(n,f)|0)<<1)+(e<<1)|0;m=h-f|0;o=n+((g|0)<(e|0)?-1:1)|0}m=m+((j|0)!=0&1)|0;if(!m){l=z;return}n=i&65535;while(1){m=m+-1|0;b[k>>1]=n;if(!m)break;else k=k+(o<<1)|0}l=z;return}x=c[a+4>>2]|0;THa(i,x,n,o,p,k);k=c[x+12>>2]|0;a:do if((k|0)<63488){switch(k|0){case 31744:break;default:{y=35;break a}}k=g-e|0;k=(k|0)<0?0-k|0:k;m=h-f|0;m=(m|0)<0?0-m|0:m;if((k|0)<(m|0)){w=k<<1;p=1;o=0;n=k-m|0;x=w;w=w-m|0;k=m}else{w=m<<1;p=0;o=1;n=m-k|0;x=w;w=w-k|0}v=n<<1;u=(g|0)<(e|0);t=u?0-o|0:o;u=u?-1:1;r=(h|0)<(f|0);s=r?0-p|0:p;r=r?-1:1;q=k+((j|0)!=0&1)|0;if((q|0)>0){h=i&65535;j=c[a+20>>2]|0;g=c[a+16>>2]|0;p=f;n=e;o=0;k=w;while(1){b[j+(N(g,p)|0)+(n<<1)>>1]=h;m=(k|0)<0;o=o+1|0;if((o|0)>=(q|0))break;else{p=p+(m?s:r)|0;n=(m?t:u)+n|0;k=(m?x:v)+k|0}}}}else{switch(k|0){case 63488:break;default:{y=35;break a}}k=g-e|0;k=(k|0)<0?0-k|0:k;m=h-f|0;m=(m|0)<0?0-m|0:m;if((k|0)<(m|0)){w=k<<1;p=1;o=0;n=k-m|0;x=w;w=w-m|0;k=m}else{w=m<<1;p=0;o=1;n=m-k|0;x=w;w=w-k|0}v=n<<1;u=(g|0)<(e|0);t=u?0-o|0:o;u=u?-1:1;r=(h|0)<(f|0);s=r?0-p|0:p;r=r?-1:1;q=k+((j|0)!=0&1)|0;if((q|0)>0){h=i&65535;j=c[a+20>>2]|0;g=c[a+16>>2]|0;p=f;n=e;o=0;k=w;while(1){b[j+(N(g,p)|0)+(n<<1)>>1]=h;m=(k|0)<0;o=o+1|0;if((o|0)>=(q|0))break;else{p=p+(m?s:r)|0;n=(m?t:u)+n|0;k=(m?x:v)+k|0}}}}while(0);if((y|0)==35){k=g-e|0;k=(k|0)<0?0-k|0:k;m=h-f|0;m=(m|0)<0?0-m|0:m;if((k|0)<(m|0)){w=k<<1;p=1;o=0;n=k-m|0;x=w;w=w-m|0;k=m}else{w=m<<1;p=0;o=1;n=m-k|0;x=w;w=w-k|0}v=n<<1;u=(g|0)<(e|0);t=u?0-o|0:o;u=u?-1:1;r=(h|0)<(f|0);s=r?0-p|0:p;r=r?-1:1;q=k+((j|0)!=0&1)|0;if((q|0)>0){h=i&65535;j=c[a+20>>2]|0;g=c[a+16>>2]|0;p=f;n=e;o=0;k=w;while(1){b[j+(N(g,p)|0)+(n<<1)>>1]=h;m=(k|0)<0;o=o+1|0;if((o|0)>=(q|0))break;else{p=p+(m?s:r)|0;n=(m?t:u)+n|0;k=(m?x:v)+k|0}}}}l=z;return}function AIa(b,e,f,g,h,i,j){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;if((h|0)==(f|0)){k=(c[b+20>>2]|0)+(N((c[b+16>>2]|0)/(d[(c[b+4>>2]|0)+9>>0]|0|0)|0,h)|0)|0;if((e|0)>(g|0)){m=k+g|0;k=(j|0)!=0;m=k?m:m+1|0;l=e-g|0}else{m=k+e|0;l=g-e|0;k=(j|0)!=0}xBa(m,i,l+(k&1)|0)|0;return}if((e|0)==(g|0)){n=(c[b+16>>2]|0)/(d[(c[b+4>>2]|0)+9>>0]|0|0)|0;k=c[b+20>>2]|0;if((h|0)<(f|0)){k=k+(N(n,h)|0)+e|0;l=(j|0)!=0;k=l?k:k+n|0;m=f-h|0}else{k=k+(N(n,f)|0)+e|0;m=h-f|0;l=(j|0)!=0}l=m+(l&1)|0;if(!l)return;m=i&255;while(1){l=l+-1|0;a[k>>0]=m;if(!l)break;else k=k+n|0}return}v=e-g|0;k=f-h|0;if((((v|0)<0?0-v|0:v)|0)==(((k|0)<0?0-k|0:k)|0)){m=(c[b+16>>2]|0)/(d[(c[b+4>>2]|0)+9>>0]|0|0)|0;l=c[b+20>>2]|0;if((h|0)<(f|0)){l=l+(N(m,h)|0)+g|0;n=m+((g|0)>(e|0)?-1:1)|0;l=(j|0)==0?l+n|0:l}else{l=l+(N(m,f)|0)+e|0;k=h-f|0;n=m+((e|0)>(g|0)?-1:1)|0}k=k+((j|0)!=0&1)|0;if(!k)return;m=i&255;while(1){k=k+-1|0;a[l>>0]=m;if(!k)break;else l=l+n|0}return}else{k=g-e|0;k=(k|0)<0?0-k|0:k;l=h-f|0;l=(l|0)<0?0-l|0:l;if((k|0)<(l|0)){u=k<<1;o=1;n=0;m=k-l|0;v=u;u=u-l|0;k=l}else{u=l<<1;o=0;n=1;m=l-k|0;v=u;u=u-k|0}t=m<<1;s=(e|0)>(g|0);r=s?0-n|0:n;s=s?-1:1;p=(h|0)<(f|0);q=p?0-o|0:o;p=p?-1:1;j=k+((j|0)!=0&1)|0;if((j|0)<=0)return;g=i&255;h=b+20|0;o=b+16|0;m=e;n=0;k=u;while(1){a[(c[h>>2]|0)+(N(c[o>>2]|0,f)|0)+m>>0]=g;l=(k|0)<0;n=n+1|0;if((n|0)>=(j|0))break;else{f=f+(l?q:p)|0;m=(l?r:s)+m|0;k=(l?v:t)+k|0}}return}}function BIa(a,b,e,f,g,h,i){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;w=l;l=l+16|0;m=w+3|0;n=w+2|0;o=w+1|0;j=w;if((g|0)==(e|0)){j=(c[a+20>>2]|0)+((N((c[a+16>>2]|0)/(d[(c[a+4>>2]|0)+9>>0]|0|0)|0,g)|0)<<2)|0;if((f|0)<(b|0)){j=j+(f<<2)|0;k=(i|0)!=0;j=k?j:j+4|0;m=b-f|0}else{j=j+(b<<2)|0;m=f-b|0;k=(i|0)!=0}k=m+(k&1)|0;if(!k){l=w;return}while(1){k=k+-1|0;c[j>>2]=h;if(!k)break;else j=j+4|0}l=w;return}if((f|0)==(b|0)){n=(c[a+16>>2]|0)/(d[(c[a+4>>2]|0)+9>>0]|0|0)|0;j=c[a+20>>2]|0;if((g|0)<(e|0)){j=j+((N(n,g)|0)<<2)+(f<<2)|0;k=(i|0)!=0;j=k?j:j+(n<<2)|0;m=e-g|0}else{j=j+((N(n,e)|0)<<2)+(f<<2)|0;m=g-e|0;k=(i|0)!=0}k=m+(k&1)|0;if(!k){l=w;return}while(1){k=k+-1|0;c[j>>2]=h;if(!k)break;else j=j+(n<<2)|0}l=w;return}v=b-f|0;k=e-g|0;if((((v|0)<0?0-v|0:v)|0)==(((k|0)<0?0-k|0:k)|0)){m=(c[a+16>>2]|0)/(d[(c[a+4>>2]|0)+9>>0]|0|0)|0;j=c[a+20>>2]|0;if((g|0)<(e|0)){j=j+((N(m,g)|0)<<2)+(f<<2)|0;m=m+((f|0)>(b|0)?-1:1)|0;j=(i|0)==0?j+(m<<2)|0:j}else{j=j+((N(m,e)|0)<<2)+(b<<2)|0;k=g-e|0;m=m+((f|0)<(b|0)?-1:1)|0}k=k+((i|0)!=0&1)|0;if(!k){l=w;return}while(1){k=k+-1|0;c[j>>2]=h;if(!k)break;else j=j+(m<<2)|0}l=w;return}k=c[a+4>>2]|0;THa(h,k,m,n,o,j);do if((c[k+12>>2]|0)==16711680){n=f-b|0;n=(n|0)<0?0-n|0:n;o=g-e|0;o=(o|0)<0?0-o|0:o;j=(n|0)<(o|0);if(!(c[k+24>>2]|0)){if(j){u=n<<1;m=1;k=0;j=n-o|0;v=u;u=u-o|0;n=o}else{u=o<<1;m=0;k=1;j=o-n|0;v=u;u=u-n|0}t=j<<1;s=(f|0)<(b|0);r=s?0-k|0:k;s=s?-1:1;p=(g|0)<(e|0);q=p?0-m|0:m;p=p?-1:1;i=n+((i|0)!=0&1)|0;if((i|0)<=0)break;g=c[a+20>>2]|0;f=a+16|0;o=e;m=b;n=0;j=u;while(1){c[g+(N(c[f>>2]|0,o)|0)+(m<<2)>>2]=h;k=(j|0)<0;n=n+1|0;if((n|0)>=(i|0))break;else{o=o+(k?q:p)|0;m=(k?r:s)+m|0;j=(k?v:t)+j|0}}}else{if(j){u=n<<1;m=1;k=0;j=n-o|0;v=u;u=u-o|0;n=o}else{u=o<<1;m=0;k=1;j=o-n|0;v=u;u=u-n|0}t=j<<1;s=(f|0)<(b|0);r=s?0-k|0:k;s=s?-1:1;p=(g|0)<(e|0);q=p?0-m|0:m;p=p?-1:1;i=n+((i|0)!=0&1)|0;if((i|0)<=0)break;g=c[a+20>>2]|0;f=a+16|0;o=e;m=b;n=0;j=u;while(1){c[g+(N(c[f>>2]|0,o)|0)+(m<<2)>>2]=h;k=(j|0)<0;n=n+1|0;if((n|0)>=(i|0))break;else{o=o+(k?q:p)|0;m=(k?r:s)+m|0;j=(k?v:t)+j|0}}}}else{j=f-b|0;j=(j|0)<0?0-j|0:j;k=g-e|0;k=(k|0)<0?0-k|0:k;if((j|0)<(k|0)){u=j<<1;o=1;n=0;m=j-k|0;v=u;u=u-k|0;j=k}else{u=k<<1;o=0;n=1;m=k-j|0;v=u;u=u-j|0}t=m<<1;s=(f|0)<(b|0);r=s?0-n|0:n;s=s?-1:1;p=(g|0)<(e|0);q=p?0-o|0:o;p=p?-1:1;i=j+((i|0)!=0&1)|0;if((i|0)>0){g=c[a+20>>2]|0;f=a+16|0;o=e;m=b;n=0;j=u;while(1){c[g+(N(c[f>>2]|0,o)|0)+(m<<2)>>2]=h;k=(j|0)<0;n=n+1|0;if((n|0)>=(i|0))break;else{o=o+(k?q:p)|0;m=(k?r:s)+m|0;j=(k?v:t)+j|0}}}}while(0);l=w;return}function CIa(e,f,g,h){e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,m=0;m=l;l=l+16|0;i=m+8|0;a:do if(e){k=c[e+4>>2]|0;if((d[k+8>>0]|0)<8){i=MAa(196869,i)|0;break}i=c[e+36>>2]|0;if((((i|0)<=(f|0)?(j=c[e+40>>2]|0,(j|0)<=(g|0)):0)?((c[e+44>>2]|0)+i|0)>(f|0):0)?((c[e+48>>2]|0)+j|0)>(g|0):0)switch(a[k+9>>0]|0){case 1:{a[(c[e+20>>2]|0)+(N(c[e+16>>2]|0,g)|0)+f>>0]=h;i=0;break a}case 2:{b[(c[e+20>>2]|0)+(N(c[e+16>>2]|0,g)|0)+(f<<1)>>1]=h;i=0;break a}case 3:{i=GAa(4)|0;break a}case 4:{c[(c[e+20>>2]|0)+(N(c[e+16>>2]|0,g)|0)+(f<<2)>>2]=h;i=0;break a}default:{i=0;break a}}else i=0}else i=MAa(196837,m)|0;while(0);l=m;return i|0}function DIa(e,f,g,h){e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;v=l;l=l+16|0;if(!e){u=MAa(196837,v)|0;l=v;return u|0}t=e+4|0;if((d[(c[t>>2]|0)+8>>0]|0)<8){u=MAa(196959,v+8|0)|0;l=v;return u|0}n=c[e+36>>2]|0;o=(c[e+44>>2]|0)+n|0;p=c[e+40>>2]|0;q=(c[e+48>>2]|0)+p|0;if((g|0)<=0){u=0;l=v;return u|0}r=h&255;s=e+20|0;i=e+16|0;j=h&65535;e=0;a:while(1){k=c[f+(e<<3)>>2]|0;m=c[f+(e<<3)+4>>2]|0;b:do if((m|0)<(q|0)&(((k|0)>=(o|0)|(k|0)<(n|0)|(m|0)<(p|0))^1))switch(a[(c[t>>2]|0)+9>>0]|0){case 3:break a;case 1:{a[(c[s>>2]|0)+(N(c[i>>2]|0,m)|0)+k>>0]=r;break b}case 2:{b[(c[s>>2]|0)+(N(c[i>>2]|0,m)|0)+(k<<1)>>1]=j;break b}case 4:{c[(c[s>>2]|0)+(N(c[i>>2]|0,m)|0)+(k<<2)>>2]=h;break b}default:break b}while(0);e=e+1|0;if((e|0)>=(g|0)){e=0;u=14;break}}if((u|0)==14){l=v;return e|0}u=GAa(4)|0;l=v;return u|0}function EIa(b,d,e,f,g,h,i,j){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;u=l;l=l+16|0;if(!b){j=MAa(196837,u)|0;l=u;return j|0}k=c[b+4>>2]|0;m=a[k+8>>0]|0;if((m&255)<8){j=MAa(196913,u+8|0)|0;l=u;return j|0}if((f+-1|0)>>>0<2){s=j&255;t=(((N(s,g&255)|0)>>>0)/255|0)&255;h=(((N(s,h&255)|0)>>>0)/255|0)&255;i=(((N(s,i&255)|0)>>>0)/255|0)&255}else t=g;switch(m<<24>>24){case 15:{if((c[k+12>>2]|0)==31744)s=15;else n=12;break}case 16:{if((c[k+12>>2]|0)==63488)s=16;else n=12;break}case 32:{if((c[k+12>>2]|0)==16711680)s=(c[k+24>>2]|0)==0?12:11;else n=12;break}default:n=12}if((n|0)==12)s=(c[k+24>>2]|0)==0?14:13;o=c[b+36>>2]|0;p=(c[b+44>>2]|0)+o|0;q=c[b+40>>2]|0;r=(c[b+48>>2]|0)+q|0;if((e|0)<=0){j=0;l=u;return j|0}n=0;g=0;do{k=c[d+(n<<3)>>2]|0;m=c[d+(n<<3)+4>>2]|0;if((m|0)<(r|0)&(((k|0)>=(p|0)|(k|0)<(o|0)|(m|0)<(q|0))^1))g=tk[s&31](b,k,m,f,t,h,i,j)|0;n=n+1|0}while((n|0)!=(e|0));l=u;return g|0}function FIa(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0;n=l;l=l+32|0;b=n+28|0;e=n+24|0;f=n+20|0;g=n+16|0;h=n+12|0;i=n+8|0;j=n+4|0;k=n;m=c[56498]|0;d=c[m+132>>2]|0;if(!d){m=0;l=n;return m|0}if(!(c[m+136>>2]|0)){m=0;l=n;return m|0}if((pk[d&63](m,a,b,e,f)|0)<0){m=0;l=n;return m|0}if(!(GFa(c[b>>2]|0,g,h,i,j,k)|0)){m=0;l=n;return m|0}m=GIa(c[e>>2]|0,c[a+24>>2]|0,c[a+28>>2]|0,c[g>>2]|0,c[f>>2]|0,c[h>>2]|0,c[i>>2]|0,c[j>>2]|0,c[k>>2]|0)|0;l=n;return m|0}function GIa(a,b,d,e,f,g,h,i,j){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0;k=l;l=l+16|0;e=RHa(e,g,h,i,j)|0;if(!e){MAa(196245,k)|0;f=0;l=k;return f|0}e=SHa(0,0,0,0,e)|0;if(!e){f=0;l=k;return f|0}c[e>>2]=c[e>>2]|1;c[e+20>>2]=a;c[e+8>>2]=b;c[e+12>>2]=d;c[e+16>>2]=f;c[e+36>>2]=0;c[e+40>>2]=0;c[e+44>>2]=b;c[e+48>>2]=d;f=e;l=k;return f|0}function HIa(){return 1}function IIa(a){a=a|0;a=FAa(1,688)|0;if(!a){GAa(0)|0;a=0;return a|0}else{JIa(197104,197137)|0;c[a+4>>2]=796;c[a+8>>2]=1114;c[a+28>>2]=103;c[a+204>>2]=1115;c[a+32>>2]=363;c[a+40>>2]=498;c[a+52>>2]=499;c[a+128>>2]=500;c[a+112>>2]=60;c[a+132>>2]=42;c[a+136>>2]=24;c[a+140>>2]=501;c[a+164>>2]=364;c[a+168>>2]=365;c[a+172>>2]=1116;c[a+176>>2]=366;c[a+180>>2]=104;c[a+188>>2]=367;c[a+192>>2]=797;c[a+196>>2]=502;c[a+200>>2]=503;c[a+184>>2]=61;c[a+684>>2]=1117;return a|0}return 0}function JIa(a,b){a=a|0;b=b|0;return hKa(a,b,1)|0}function KIa(a){a=a|0;var b=0,d=0;d=l;l=l+32|0;b=d;c[b>>2]=370546692;c[b+4>>2]=Cc(0)|0;c[b+8>>2]=Cc(1)|0;c[b+12>>2]=0;c[b+16>>2]=0;if((WJa(b)|0)<0){b=-1;l=d;return b|0}xBa(b,0,20)|0;XJa(c[a+268>>2]|0,b)|0;YJa();b=0;l=d;return b|0}function LIa(a){a=a|0;VJa();return}function MIa(a,b,c){a=a|0;b=b|0;c=c|0;return 0}function NIa(a){a=a|0;return}function OIa(a,b){a=a|0;b=b|0;var d=0,e=0.0,f=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0.0;s=l;l=l+32|0;r=s+16|0;j=s+8|0;m=s;p=FAa(1,40)|0;if(!p){r=GAa(0)|0;l=s;return r|0}q=b+48|0;if(!(c[q>>2]&8192)){n=p+12|0;g[n>>2]=1.0;e=1.0}else{e=+Kc();n=p+12|0;g[n>>2]=e}o=b+24|0;t=+ZHa(e*+(c[o>>2]|0));k=b+28|0;e=+ZHa(+g[n>>2]*+(c[k>>2]|0));mh(~~t|0,~~e|0);Lc(0,j|0,m|0)|0;if(+ZHa(+h[j>>3])!=t)f=1;else f=+ZHa(+h[m>>3])!=e;d=f&1;i=p+16|0;c[i>>2]=d;if(!((c[q>>2]&32|0)==0|f^1)){t=+g[n>>2];mh(~~(+h[j>>3]*t)|0,~~(+h[m>>3]*t)|0);bGa(b,5,~~+h[j>>3],~~+h[m>>3])|0;d=c[i>>2]|0}if((d|0)==0?+g[n>>2]!=1.0:0)nh(0,+(+(c[o>>2]|0)),+(+(c[k>>2]|0)))|0;if(c[q>>2]&2|0){if((c[a+676>>2]|0)==0?(pJa(0)|0)<0:0){r=-1;l=s;return r|0}q=qJa(a,0)|0;c[p>>2]=q;if(!q){r=MAa(199146,r)|0;l=s;return r|0}}c[p+4>>2]=b;c[b+144>>2]=p;KGa(b);rJa(b);sJa(p);r=0;l=s;return r|0}function PIa(a,b){a=a|0;b=b|0;Dc(2,c[b+8>>2]|0)|0;return}function QIa(a,b){a=a|0;b=b|0;var d=0,e=0,f=0.0,h=0;h=c[b+144>>2]|0;if(!h)return;if(!(c[b+48>>2]&8192)){e=h+12|0;d=e;f=+g[e>>2]}else{f=+Kc();d=h+12|0;g[d>>2]=f}e=b+24|0;a=b+28|0;mh(~~(f*+(c[e>>2]|0))|0,~~(f*+(c[a>>2]|0))|0);if(c[h+16>>2]|0)return;if(!(+g[d>>2]!=1.0))return;nh(0,+(+(c[e>>2]|0)),+(+(c[a>>2]|0)))|0;return}function RIa(a,b){a=a|0;b=b|0;var d=0,e=0;b=b+144|0;d=c[b>>2]|0;if(!d)return;nJa(d);e=c[d>>2]|0;if(e|0){oJa(a,e);c[d>>2]=0}iBa(c[b>>2]|0);c[b>>2]=0;return}function SIa(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;i=l;l=l+32|0;g=i;h=c[b+144>>2]|0;if(!h){l=i;return}if(!e){Ic()|0;l=i;return}f=b+48|0;a=c[f>>2]|0;d=a&4097;e=(d|0)==4097;b=e&1;c[g>>2]=e?1:2;do if(e){e=g+4|0;if(!(a&8192)){c[e>>2]=1;break}else{c[e>>2]=2;break}}else c[g+4>>2]=0;while(0);c[g+8>>2]=0;c[g+12>>2]=105;c[g+16>>2]=h;c[h+20>>2]=d;c[h+24>>2]=b;if((jh(0,1,g|0)|0)>>>0>1)c[f>>2]=c[f>>2]&-4098;l=i;return}function TIa(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0;h=l;l=l+32|0;o=h+24|0;n=h+20|0;m=h+16|0;k=h+12|0;j=h+8|0;i=h+4|0;a=h;g=(c[b+144>>2]|0)+8|0;ABa(c[g>>2]|0);GFa(374740996,m,k,j,i,a)|0;HFa(b,o,n);a=xHa(0,c[o>>2]|0,c[n>>2]|0,c[m>>2]|0,c[k>>2]|0,c[j>>2]|0,c[i>>2]|0,c[a>>2]|0)|0;if(!a){o=-1;l=h;return o|0}c[g>>2]=a;c[d>>2]=374740996;c[e>>2]=c[a+20>>2];c[f>>2]=c[a+16>>2];o=0;l=h;return o|0}function UIa(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;d=l;l=l+16|0;a=c[(c[b+144>>2]|0)+8>>2]|0;if(!a){b=MAa(197458,d)|0;l=d;return b|0}else{Fc(3,c[a+8>>2]|0,c[a+12>>2]|0,c[a+20>>2]|0)|0;b=0;l=d;return b|0}return 0}function VIa(a,b){a=a|0;b=b|0;b=(c[b+144>>2]|0)+8|0;ABa(c[b>>2]|0);c[b>>2]=0;return}function WIa(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=l;l=l+16|0;e=FAa(1,88)|0;g=b+676|0;c[g>>2]=e;if(!e){d=GAa(0)|0;l=h;return d|0}c[e+20>>2]=798;c[e+24>>2]=106;c[e+28>>2]=799;c[e+32>>2]=800;c[e+36>>2]=43;c[e+72>>2]=25;c[e+40>>2]=26;c[e+44>>2]=368;c[e+48>>2]=27;c[e+52>>2]=369;c[e+56>>2]=28;c[e+60>>2]=370;c[e+64>>2]=371;c[e+76>>2]=801;c[e+80>>2]=4;c[e+84>>2]=802;f=rc(0)|0;e=c[g>>2]|0;c[e+8>>2]=f;if(!f){d=MAa(197407,h)|0;l=h;return d|0}if((lk[c[e+24>>2]&127](f,0,0)|0)!=1){d=MAa(197433,h+8|0)|0;l=h;return d|0}c[b+388>>2]=1;e=b+392|0;if(!d){a[e>>0]=0;d=0;l=h;return d|0}else{RFa(e,d,255)|0;d=0;l=h;return d|0}return 0}function XIa(b,d){b=b|0;d=d|0;var e=0,f=0;f=b+676|0;b=c[f>>2]|0;e=c[b+32>>2]|0;do if(e){b=gk[e&1023](d)|0;if(!b){b=c[f>>2]|0;break}else{d=b;return d|0}}while(0);b=lJa(c[b>>2]|0,d)|0;if(b|0){d=b;return d|0}if((kEa(d)|0)>>>0>=1023){d=0;return d|0}a[218912]=95;RFa(218913,d,1022)|0;d=lJa(c[c[f>>2]>>2]|0,218912)|0;return d|0}function YIa(a){a=a|0;var b=0,d=0;d=a+676|0;a=c[d>>2]|0;if(!a)return;b=c[a+8>>2]|0;if(b){gk[c[a+28>>2]&1023](b)|0;a=c[d>>2]|0;c[a+8>>2]=0}b=c[a+4>>2]|0;if(b){kJa(b);a=c[d>>2]|0;c[a+4>>2]=0}b=c[a>>2]|0;if(b){kJa(b);a=c[d>>2]|0;c[a>>2]=0}iBa(a);c[d>>2]=0;return}function ZIa(a,b){a=a|0;b=b|0;return iJa(a,c[c[b+144>>2]>>2]|0)|0}function _Ia(a,b,d){a=a|0;b=b|0;d=d|0;if((b|0)!=0&(d|0)!=0){d=hJa(a,c[c[b+144>>2]>>2]|0,d)|0;return d|0}else{d=hJa(a,0,0)|0;return d|0}return 0}function $Ia(a,b){a=a|0;b=b|0;var d=0,e=0;e=l;l=l+16|0;a=a+676|0;d=c[a>>2]|0;if(!d){b=MAa(197139,e)|0;l=e;return b|0}if((kk[c[d+64>>2]&511](c[d+8>>2]|0,b)|0)==1){c[(c[a>>2]|0)+16>>2]=b;b=0;l=e;return b|0}else{b=MAa(197159,e+8|0)|0;l=e;return b|0}return 0}function aJa(a){a=a|0;var b=0;b=l;l=l+16|0;a=c[a+676>>2]|0;if(!a){MAa(197139,b)|0;a=0;l=b;return a|0}else{a=c[a+16>>2]|0;l=b;return a|0}return 0}function bJa(a,b){a=a|0;b=b|0;gJa(a,c[c[b+144>>2]>>2]|0);return}function cJa(a,b){a=a|0;b=b|0;Nh(17664);fJa(a,b);return}function dJa(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;a=c[b+144>>2]|0;if(!a)return;if(d|0)c[d>>2]=~~(+g[a+12>>2]*+(c[b+24>>2]|0));if(!e)return;c[e>>2]=~~(+g[a+12>>2]*+(c[b+28>>2]|0));return}function eJa(a){a=a|0;iBa(a);return}function fJa(a,b){a=a|0;b=b|0;var d=0;a=a+676|0;d=c[a>>2]|0;if((b|0)==0|(d|0)==0)return;mk[c[d+56>>2]&63](c[d+8>>2]|0,0,0,0)|0;d=c[a>>2]|0;kk[c[d+44>>2]&511](c[d+8>>2]|0,b)|0;return}function gJa(a,b){a=a|0;b=b|0;a=c[a+676>>2]|0;kk[c[a+60>>2]&511](c[a+8>>2]|0,b)|0;return}function hJa(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;f=l;l=l+16|0;a=c[a+676>>2]|0;if(!a){d=MAa(197195,f)|0;l=f;return d|0}e=c[a+56>>2]|0;a=c[a+8>>2]|0;if(!((b|0)!=0&(d|0)!=0)){mk[e&63](a,0,0,0)|0;d=0;l=f;return d|0}if(mk[e&63](a,b,b,d)|0){d=0;l=f;return d|0}d=MAa(197218,f+8|0)|0;l=f;return d|0}function iJa(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0;p=l;l=l+96|0;o=p+88|0;m=p+80|0;k=p+72|0;h=p+64|0;j=p;d=c[a+368>>2]|0;e=c[a+356>>2]|0;f=c[a+360>>2]|0;g=(d|0)==4;n=a+676|0;if(!(c[n>>2]|0)){o=0;l=p;return o|0}if(!(c[a+372>>2]|0))i=0;else i=jJa()|0;if((e|0)<3|g&(f|0)==0?(d|4|0)==4&(c[a+364>>2]|0)==0:0){if(g){c[j+4>>2]=(e|0)>1?e:1;c[j+8>>2]=12344;gk[c[(c[n>>2]|0)+84>>2]&1023](12448)|0;a=12440}else{gk[c[(c[n>>2]|0)+84>>2]&1023](12450)|0;a=12344}c[j>>2]=a;a=c[n>>2]|0;a=mk[c[a+40>>2]&63](c[a+8>>2]|0,c[a+12>>2]|0,i,j)|0;if(!a){MAa(197321,k)|0;o=0;l=p;return o|0}d=c[n>>2]|0;c[d+16>>2]=0;do if(d){e=c[d+56>>2]|0;d=c[d+8>>2]|0;if(!b){mk[e&63](d,0,0,0)|0;o=a;l=p;return o|0}else{if(!(mk[e&63](d,b,b,a)|0)){d=197218;break}l=p;return a|0}}else d=197195;while(0);if((MAa(d,m)|0)>=0){o=a;l=p;return o|0}d=c[n>>2]|0;if(d|0){mk[c[d+56>>2]&63](c[d+8>>2]|0,0,0,0)|0;n=c[n>>2]|0;kk[c[n+44>>2]&511](c[n+8>>2]|0,a)|0}MAa(197350,o)|0;o=0;l=p;return o|0}MAa(197253,h)|0;o=0;l=p;return o|0}function jJa(){var a=0,b=0;b=l;l=l+16|0;a=c[56498]|0;if(!a){MAa(192981,b)|0;a=0;l=b;return a|0}else{a=kBa(c[a+664>>2]|0)|0;l=b;return a|0}return 0}function kJa(a){a=a|0;if(!a)return;gc(a|0)|0;return}function lJa(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;g=l;l=l+16|0;f=g;e=jc(b|0,d|0)|0;if(e|0){f=e;l=g;return f|0}h=(kEa(d)|0)+2|0;e=l;l=l+((1*h|0)+15&-16)|0;a[e>>0]=95;RFa(e+1|0,d,h)|0;b=jc(b|0,e|0)|0;if(b|0){h=b;l=g;return h|0}h=hc()|0;c[f>>2]=d;c[f+4>>2]=h;MAa(197385,f)|0;h=0;l=g;return h|0}function mJa(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;e=l;l=l+16|0;a=e+8|0;b=e;if(!(c[d+24>>2]|0)){l=e;return 0}Lc(0,a|0,b|0)|0;bGa(c[d+4>>2]|0,5,~~+h[a>>3],~~+h[b>>3])|0;l=e;return 0}function nJa(a){a=a|0;Ah(198958,0,0,0)|0;xh(198958,0,0,0)|0;Bh(198966,0,0,0)|0;yh(198958,0,0,0)|0;zh(198958,0,0,0)|0;Ih(198958,0,0,0)|0;oh(198976,0,0,0)|0;lh(198976,0,0,0)|0;Gh(198958,0,0,0)|0;Eh(198958,0,0,0)|0;Fh(198958,0,0,0)|0;Dh(198958,0,0,0)|0;a=OFa(198984)|0;a=(a|0)==0?198976:a;sh(a|0,0,0,0)|0;uh(a|0,0,0,0)|0;th(a|0,0,0,0)|0;ph(198966,0,0,0)|0;Ch(198976,0,0,0)|0;Hh(0,0,0)|0;return}function oJa(a,b){a=a|0;b=b|0;a=c[a+676>>2]|0;if(!((b|0)!=0&(a|0)!=0))return;kk[c[a+52>>2]&511](c[a+8>>2]|0,b)|0;return}function pJa(a){a=a|0;var b=0,d=0,e=0,f=0;f=l;l=l+32|0;e=f+16|0;d=f+8|0;b=c[56498]|0;if(!b){e=MAa(192981,f)|0;l=f;return e|0}do if(!(c[b+388>>2]|0)){d=c[b+164>>2]|0;if(!d){e=MAa(195009,e)|0;l=f;return e|0}d=kk[d&511](b,a)|0;b=c[56498]|0;if(d){a=c[b+172>>2]|0;if(!a){e=d;l=f;return e|0}Bk[a&2047](b);e=d;l=f;return e|0}}else if(a){if(!(QFa(a,b+392|0)|0)){b=c[56498]|0;break}e=MAa(199319,d)|0;l=f;return e|0}while(0);e=b+388|0;c[e>>2]=(c[e>>2]|0)+1;e=0;l=f;return e|0}function qJa(a,b){a=a|0;b=b|0;if(UJa(a)|0){b=0;return b|0}a=c[a+676>>2]|0;b=mk[c[a+48>>2]&63](c[a+8>>2]|0,c[a+12>>2]|0,b,0)|0;return b|0}function rJa(b){b=b|0;var d=0,e=0,f=0,g=0;d=c[56538]|0;g=(b|0)!=0;if(!(g|(d|0)==0)){d=0;do{if((a[226158+d>>0]|0)==1)GJa(0,d)|0;d=d+1|0}while((d|0)!=512);d=c[56538]|0}if(!((d|0)==0|(d|0)==(b|0))){if(c[d+48>>2]&16384){RJa(0)|0;d=c[56538]|0}bGa(d,13,0,0)|0;if(((nGa(771,-1)|0)<<24>>24?(e=SJa()|0,e|0):0)?(f=c[e+216>>2]|0,f|0):0)Bk[f&2047](e)}c[56538]=b;if(!g)return;bGa(b,12,0,0)|0;if(!((nGa(771,-1)|0)<<24>>24))return;d=SJa()|0;if(!d)return;b=c[d+212>>2]|0;if(!b)return;Bk[b&2047](d);return}function sJa(a){a=a|0;var b=0;Ah(198958,a|0,0,107)|0;xh(198958,a|0,0,108)|0;Bh(198966,a|0,0,108)|0;yh(198958,a|0,0,109)|0;zh(198958,a|0,0,109)|0;Ih(198958,a|0,0,110)|0;oh(198976,a|0,0,111)|0;lh(198976,a|0,0,111)|0;Gh(198958,a|0,0,112)|0;Eh(198958,a|0,0,112)|0;Fh(198958,a|0,0,112)|0;Dh(198958,a|0,0,112)|0;b=OFa(198984)|0;b=(b|0)==0?198976:b;sh(b|0,a|0,0,113)|0;uh(b|0,a|0,0,113)|0;th(b|0,a|0,0,114)|0;ph(198966,a|0,0,115)|0;Ch(198976,a|0,0,116)|0;Hh(a|0,0,117)|0;return}function tJa(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,f=0.0,g=0,i=0,j=0,k=0;g=l;l=l+288|0;a=g+16|0;k=g+8|0;i=g;Lc(0,k|0,i|0)|0;d=d+4|0;j=c[d>>2]|0;e=+(c[j+24>>2]|0)/+h[k>>3];f=+(c[j+28>>2]|0)/+h[i>>3];i=(Qc(a|0)|0)==0;a=i?c[a>>2]|0:0;if(!a){j=~~(e*+(c[b+60>>2]|0));k=~~(f*+(c[b+64>>2]|0));i=c[d>>2]|0;IJa(i,0,a,j,k)|0;l=g;return 0}else{e=+h[28079]+e*+(c[b+44>>2]|0);f=+h[28080]+f*+(c[b+48>>2]|0);j=~~e;h[28079]=e-+(j|0);k=~~f;h[28080]=f-+(k|0);i=c[d>>2]|0;IJa(i,0,a,j,k)|0;l=g;return 0}return 0}function uJa(a,d,e){a=a|0;d=d|0;e=e|0;d=b[d+40>>1]|0;if((d&65535)>=3){e=0;return e|0}a=(a|0)==5;JJa(c[e+4>>2]|0,0,a&1,(d&255)+1<<24>>24)|0;e=(nGa(a&1,-1)|0)<<24>>24==1&1;return e|0}function vJa(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,i=0,j=0,k=0;i=l;l=l+288|0;k=i+16|0;e=i+8|0;f=i;g=c[b+60>>2]|0;b=c[b+64>>2]|0;j=(Qc(k|0)|0)!=0;if((c[k>>2]|0)==0|j){Lc(0,e|0,f|0)|0;k=c[d+4>>2]|0;IJa(k,0,0,~~(+(c[k+24>>2]|0)/+h[e>>3]*+(g|0)),~~(+(c[k+28>>2]|0)/+h[f>>3]*+(b|0)))|0}if((a|0)!=33){k=0;KGa(k);k=nGa(512,-1)|0;k=k<<24>>24==1;k=k&1;l=i;return k|0}k=c[d+4>>2]|0;KGa(k);k=nGa(512,-1)|0;k=k<<24>>24==1;k=k&1;l=i;return k|0}function wJa(a,b,d){a=a|0;b=b|0;d=d|0;QJa(c[d+4>>2]|0,0,~~+h[b+72>>3],~~-+h[b+80>>3],0)|0;return (nGa(1027,-1)|0)<<24>>24==1|0}function xJa(a,b,d){a=a|0;b=b|0;d=d|0;if((a|0)==12)PJa();bGa(c[d+4>>2]|0,(a|0)==13?12:13,0,0)|0;return (nGa(512,-1)|0)<<24>>24==1|0}function yJa(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0.0,i=0.0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=l;l=l+16|0;p=s+8|0;q=s;if((HJa(1,0,231036)|0)<0){r=0;l=s;return r|0}Lc(0,p|0,q|0)|0;if((c[b>>2]|0)<=0){r=0;l=s;return r|0}r=(a|0)==22;o=d+28|0;m=(a|0)==24;n=d+32|0;k=d+4|0;j=0;a=0;do{do if(c[b+20+(j*52|0)+28>>2]|0){e=c[b+20+(j*52|0)>>2]|0;f=((e|0)<0)<<31>>31;g=+(c[b+20+(j*52|0)+44>>2]|0)/+h[p>>3];i=+(c[b+20+(j*52|0)+48>>2]|0)/+h[q>>3];d=c[o>>2]|0;if(r){if(!d){c[o>>2]=1;d=n;c[d>>2]=e;c[d+4>>2]=f;IJa(c[k>>2]|0,-1,0,~~g,~~i)|0;JJa(c[k>>2]|0,-1,1,1)|0}KJa(1,0,e,f,1,g,i,1.0)|0;if(a|0)break;a=(nGa(1792,-1)|0)<<24>>24==1&1;break}d=(d|0)!=0;if(m){if(d?(d=n,(c[d>>2]|0)==(e|0)?(c[d+4>>2]|0)==(f|0):0):0)IJa(c[k>>2]|0,-1,0,~~g,~~i)|0;LJa(1,0,e,f,g,i,1.0)|0;if(a|0)break;a=(nGa(1794,-1)|0)<<24>>24==1&1;break}else{if(d?(d=n,(c[d>>2]|0)==(e|0)?(c[d+4>>2]|0)==(f|0):0):0){JJa(c[k>>2]|0,-1,0,1)|0;c[o>>2]=0}KJa(1,0,e,f,0,g,i,1.0)|0;if(a|0)break;a=(nGa(1793,-1)|0)<<24>>24==1&1;break}}while(0);j=j+1|0}while((j|0)<(c[b>>2]|0));l=s;return a|0}function zJa(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;f=b+156|0;d=c[f>>2]|0;if(d>>>0<223?(e=c[29312+(d<<2)>>2]|0,e|0):0){a:do if((c[b+64>>2]|0)==2)switch(e|0){case 225:{e=229;break a}case 224:{e=228;break a}case 226:{e=230;break a}case 227:{e=231;break a}default:break a}while(0);GJa((a|0)==2&1,e)|0}a=(a|0)==2;e=(nGa(a?768:769,-1)|0)<<24>>24==1;d=e&1;if(!a)return d|0;if((nGa(771,-1)|0)<<24>>24==1)return e&(c[f>>2]&-2|0)==8&1|0;else return d|0;return 0}function AJa(b,d,e){b=b|0;d=d|0;e=e|0;var f=0;f=l;l=l+16|0;e=f;b=c[d+152>>2]|0;do if(b>>>0>=128){if(b>>>0<2048){a[e>>0]=b>>>6&31|192;a[e+1>>0]=b&63|128;b=2;break}if(b>>>0<65536){a[e>>0]=b>>>12&15|224;a[e+1>>0]=b>>>6&63|128;a[e+2>>0]=b&63|128;b=3;break}if(b>>>0<1114112){a[e>>0]=b>>>18|240;a[e+1>>0]=b>>>12&63|128;a[e+2>>0]=b>>>6&63|128;a[e+3>>0]=b&63|128;b=4;break}else{d=nGa(771,-1)|0;d=d<<24>>24==1;d=d&1;l=f;return d|0}}else{a[e>>0]=b;b=1}while(0);a[e+b>>0]=0;EJa(e)|0;d=nGa(771,-1)|0;d=d<<24>>24==1;d=d&1;l=f;return d|0}function BJa(a,b,d){a=a|0;b=b|0;d=d|0;if(!(c[b>>2]|0)){d=(c[d+4>>2]|0)+48|0;c[d>>2]=c[d>>2]&-4098;return 0}else{a=d+20|0;d=(c[d+4>>2]|0)+48|0;b=c[d>>2]|c[a>>2];c[a>>2]=0;c[d>>2]=b|1;return 0}return 0}function CJa(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,f=0.0,i=0,j=0,k=0,m=0,n=0.0;m=l;l=l+16|0;i=m+8|0;j=m;k=d+4|0;b=c[k>>2]|0;a=c[b+48>>2]|0;if(a&8192){g[d+12>>2]=+Kc();b=c[k>>2]|0;a=c[b+48>>2]|0}if((a&4129|0)!=32){l=m;return 0}f=+(c[b+24>>2]|0);h[i>>3]=f;e=+(c[b+28>>2]|0);h[j>>3]=e;a=d+16|0;if(c[a>>2]|0){Lc(0,i|0,j|0)|0;f=+h[i>>3];e=+h[j>>3]}d=d+12|0;n=+g[d>>2];mh(~~(f*n)|0,~~(e*n)|0);if((c[a>>2]|0)==0?+g[d>>2]!=1.0:0)nh(0,+(+h[i>>3]),+(+h[j>>3]))|0;bGa(c[k>>2]|0,5,~~+h[i>>3],~~+h[j>>3])|0;l=m;return 0}function DJa(a,b,d){a=a|0;b=b|0;d=d|0;bGa(c[d+4>>2]|0,(c[b>>2]|0)==0?1:2,0,0)|0;return 0}function EJa(b){b=b|0;var d=0,e=0,f=0;f=l;l=l+64|0;e=f;d=a[b>>0]|0;if((d&255)<32|d<<24>>24==127){e=0;l=f;return e|0}if((nGa(771,-1)|0)<<24>>24!=1){e=0;l=f;return e|0}c[e>>2]=771;d=c[56538]|0;if(!d)d=0;else d=c[d+4>>2]|0;c[e+8>>2]=d;FJa(e+12|0,b,32)|0;e=(tGa(e)|0)>0&1;l=f;return e|0}function FJa(b,c,d){b=b|0;c=c|0;d=d|0;var e=0,f=0;f=VNa(c)|0;d=d+-1|0;d=f>>>0<d>>>0?f:d;if(!d){c=0;b=b+c|0;a[b>>0]=0;return c|0}e=d+-1|0;f=a[c+e>>0]|0;a:do if((f+64&255)>=53){if(!((f&255)>191|f<<24>>24>-1|(e|0)==0)){b:do if((f&-32)<<24>>24==-64)f=2;else while(1){if((f&-16)<<24>>24==-32){f=3;break b}if((f+16&255)<5){f=4;break b}e=e+-1|0;if(!e)break a;f=a[c+e>>0]|0;if((f&-32)<<24>>24==-64){f=2;break}}while(0);d=(d-e|0)==(f|0)?d:e}}else d=e;while(0);x2a(b|0,c|0,d|0)|0;c=d;b=b+c|0;a[b>>0]=0;return c|0}function GJa(d,f){d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0;o=l;l=l+64|0;n=o;if(!f){n=0;l=o;return n|0}switch(d<<24>>24){case 1:{g=226158+f|0;m=a[g>>0]|0;k=768;h=m;m=m<<24>>24!=0&1;break}case 0:{h=226158+f|0;k=769;g=h;h=a[h>>0]|0;m=0;break}default:{n=0;l=o;return n|0}}if(!(m<<24>>24?1:h<<24>>24!=d<<24>>24)){n=0;l=o;return n|0}a[g>>0]=d;j=c[226672+(f<<2)>>2]|0;switch(j|0){case 1073742048:{g=64;break}case 1073742052:{g=128;break}case 1073742049:{g=1;break}case 1073742053:{g=2;break}case 1073742050:{g=256;break}case 1073742054:{g=512;break}case 1073742051:{g=1024;break}case 1073742055:{g=2048;break}case 1073742081:{g=16384;break}default:g=0}a:do if((k|0)==768){h=b[113078]|0;switch(j|0){case 1073741907:{i=h;g=h^4096;break a}case 1073741881:{i=h;g=h^8192;break a}default:{i=h;g=(g|h&65535)&65535;break a}}}else{g=(g^65535)&(e[113078]|0)&65535;i=g}while(0);b[113078]=g;if((nGa(k,-1)|0)<<24>>24!=1){n=0;l=o;return n|0}c[n>>2]=k;a[n+12>>0]=d;a[n+13>>0]=m;g=n+16|0;c[g>>2]=f;c[g+4>>2]=j;b[g+8>>1]=i;g=c[56538]|0;if(!g)g=0;else g=c[g+4>>2]|0;c[n+8>>2]=g;n=(tGa(n)|0)>0&1;l=o;return n|0}function HJa(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;f=c[57180]|0;a:do if((f|0)>0){e=c[57181]|0;d=0;while(1){g=c[e+(d<<2)>>2]|0;if((c[g>>2]|0)==(a|0)?(c[g+4>>2]|0)==(b|0):0)break;d=d+1|0;if((d|0)>=(f|0)){d=e;break a}}return d|0}else d=c[57181]|0;while(0);d=kFa(d,(f<<2)+4|0)|0;if(!d){g=GAa(0)|0;return g|0}c[57181]=d;d=c[57180]|0;e=sBa(24)|0;c[(c[57181]|0)+(d<<2)>>2]=e;if(!e){g=GAa(0)|0;return g|0}else{c[57180]=(c[57180]|0)+1;g=e;c[g>>2]=a;c[g+4>>2]=b;c[e+8>>2]=0;c[e+12>>2]=0;c[e+16>>2]=0;OJa(a,b)|0;g=d;return g|0}return 0}function IJa(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;if(!((a|0)==0|(c|0)!=0)?(MGa(a,d,e)|0)==0:0){e=0;return e|0}e=NGa(a,b,c,d,e)|0;return e|0}function JJa(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return MJa(a,b,c,d,-1)|0}function KJa(a,b,d,e,f,h,i,j){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;h=+h;i=+i;j=+j;var k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;y=l;l=l+64|0;o=y+56|0;u=y;n=c[57180]|0;a:do if((n|0)>0){m=c[57181]|0;k=0;while(1){p=c[m+(k<<2)>>2]|0;v=p;if((c[v>>2]|0)==(a|0)?(c[v+4>>2]|0)==(b|0):0)break;k=k+1|0;if((k|0)>=(n|0))break a}if((k|0)<(n|0)){if(!p){x=-1;l=y;return x|0}v=p+8|0;o=c[v>>2]|0;b:do if((o|0)>0){n=c[p+16>>2]|0;k=0;while(1){m=c[n+(k<<2)>>2]|0;z=m;if((c[z>>2]|0)==(d|0)?(c[z+4>>2]|0)==(e|0):0)break;k=k+1|0;if((k|0)>=(o|0)){k=0;break b}}k=(k|0)<(o|0)?m:0}else k=0;while(0);m=(k|0)!=0;if(f|0){if(m){z=0;l=y;return z|0}n=p+12|0;m=p+16|0;do if((o|0)==(c[n>>2]|0)){k=kFa(c[m>>2]|0,(o<<2)+4|0)|0;if(k|0?(c[m>>2]=k,r=sBa(24)|0,q=c[n>>2]|0,c[(c[m>>2]|0)+(q<<2)>>2]=r,r=c[m>>2]|0,c[r+(q<<2)>>2]|0):0){c[n>>2]=q+1;s=c[v>>2]|0;t=r;x=20;break}if((GAa(0)|0)<0){z=0;l=y;return z|0}}else{s=o;t=c[m>>2]|0;x=20}while(0);if((x|0)==20){c[v>>2]=s+1;z=c[t+(s<<2)>>2]|0;x=z;c[x>>2]=d;c[x+4>>2]=e;g[z+8>>2]=h;g[z+12>>2]=i;g[z+16>>2]=j}if((nGa(1792,-1)|0)<<24>>24!=1){z=0;l=y;return z|0}c[u>>2]=1792;z=u+8|0;c[z>>2]=a;c[z+4>>2]=b;z=u+16|0;c[z>>2]=d;c[z+4>>2]=e;g[u+24>>2]=h;g[u+28>>2]=i;g[u+32>>2]=0.0;g[u+36>>2]=0.0;g[u+40>>2]=j;z=(tGa(u)|0)>0&1;l=y;return z|0}if(!m){z=0;l=y;return z|0}if((nGa(1793,-1)|0)<<24>>24==1){c[u>>2]=1793;z=u+8|0;c[z>>2]=a;c[z+4>>2]=b;a=u+16|0;c[a>>2]=d;c[a+4>>2]=e;c[u+24>>2]=c[k+8>>2];c[u+28>>2]=c[k+12>>2];g[u+32>>2]=0.0;g[u+36>>2]=0.0;g[u+40>>2]=j;a=(tGa(u)|0)>0&1;b=c[v>>2]|0;if((b|0)<=0){z=a;l=y;return z|0}m=p+16|0;n=c[m>>2]|0;k=0;while(1){o=n+(k<<2)|0;f=c[o>>2]|0;z=f;if((c[z>>2]|0)==(d|0)?(c[z+4>>2]|0)==(e|0):0)break;k=k+1|0;if((k|0)>=(b|0)){w=a;x=36;break}}if((x|0)==36){l=y;return w|0}z=b+-1|0;c[v>>2]=z;c[o>>2]=c[n+(z<<2)>>2];c[(c[m>>2]|0)+(z<<2)>>2]=f;z=a;l=y;return z|0}else{a=c[v>>2]|0;if((a|0)<=0){z=0;l=y;return z|0}m=p+16|0;n=c[m>>2]|0;k=0;while(1){o=n+(k<<2)|0;f=c[o>>2]|0;z=f;if((c[z>>2]|0)==(d|0)?(c[z+4>>2]|0)==(e|0):0)break;k=k+1|0;if((k|0)>=(a|0)){w=0;x=36;break}}if((x|0)==36){l=y;return w|0}z=a+-1|0;c[v>>2]=z;c[o>>2]=c[n+(z<<2)>>2];c[(c[m>>2]|0)+(z<<2)>>2]=f;z=0;l=y;return z|0}}}while(0);MAa(199183,o)|0;z=-1;l=y;return z|0}function LJa(a,b,d,e,f,h,i){a=a|0;b=b|0;d=d|0;e=e|0;f=+f;h=+h;i=+i;var j=0,k=0,m=0,n=0,o=0.0,p=0.0,q=0,r=0,s=0,t=0;s=l;l=l+64|0;q=s+56|0;r=s;n=c[57180]|0;a:do if((n|0)>0){k=c[57181]|0;j=0;while(1){m=c[k+(j<<2)>>2]|0;t=m;if((c[t>>2]|0)==(a|0)?(c[t+4>>2]|0)==(b|0):0)break;j=j+1|0;if((j|0)>=(n|0))break a}if((j|0)<(n|0)){if(!m){t=-1;l=s;return t|0}n=c[m+8>>2]|0;b:do if((n|0)>0){k=c[m+16>>2]|0;j=0;while(1){q=c[k+(j<<2)>>2]|0;t=q;if((c[t>>2]|0)==(d|0)?(c[t+4>>2]|0)==(e|0):0)break;j=j+1|0;if((j|0)>=(n|0))break b}if(!((j|0)>=(n|0)|(q|0)==0)){k=q+8|0;o=f-+g[k>>2];m=q+12|0;p=h-+g[m>>2];j=q+16|0;if(!(o!=0.0|p!=0.0|i-+g[j>>2]!=0.0)){t=0;l=s;return t|0}g[k>>2]=f;g[m>>2]=h;g[j>>2]=i;if((nGa(1794,-1)|0)<<24>>24!=1){t=0;l=s;return t|0}c[r>>2]=1794;t=r+8|0;c[t>>2]=a;c[t+4>>2]=b;t=r+16|0;c[t>>2]=d;c[t+4>>2]=e;g[r+24>>2]=f;g[r+28>>2]=h;g[r+32>>2]=o;g[r+36>>2]=p;g[r+40>>2]=i;t=(tGa(r)|0)>0&1;l=s;return t|0}}while(0);t=KJa(a,b,d,e,1,f,h,i)|0;l=s;return t|0}}while(0);MAa(199183,q)|0;t=-1;l=s;return t|0}function MJa(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=l;l=l+64|0;r=s;i=c[56520]|0;switch(e<<24>>24){case 1:{h=i|1<<(f&255)+-1;if(!b){p=1025;q=0;j=1}else{MGa(b,c[56514]|0,c[56515]|0)|0;p=1025;i=c[56520]|0;q=1;j=1}break}case 0:{h=i&~(1<<(f&255)+-1);p=1026;q=(b|0)!=0;j=0;break}default:{e=0;l=s;return e|0}}if((h|0)==(i|0)){e=0;l=s;return e|0}c[56520]=h;do if((g|0)<0){m=f&255;if((c[56523]|0)<=(m|0)){i=m+1|0;g=kFa(c[56524]|0,i<<4)|0;if(!g){g=1;break}c[56524]=g;h=c[56523]|0;if((h|0)<=(m|0)?(xBa(g+(h<<4)|0,0,16)|0,(h|0)<(m|0)):0)do{h=h+1|0;xBa((c[56524]|0)+(h<<4)|0,0,16)|0}while((h|0)!=(m|0));c[56523]=i}g=c[56524]|0;i=g+(m<<4)|0;if(!i)g=1;else{do if(j){j=wGa()|0;k=g+(m<<4)+8|0;if((((c[k>>2]|0)-j+500|0)>=1?(NJa((c[56514]|0)-(c[i>>2]|0)|0)|0)<=1:0)?(n=g+(m<<4)+4|0,(NJa((c[56515]|0)-(c[n>>2]|0)|0)|0)<=1):0){g=g+(m<<4)+12|0;h=a[g>>0]|0;c[k>>2]=j;c[i>>2]=c[56514];c[n>>2]=c[56515];if(h<<24>>24==-1){h=-1;break}}else{h=i;o=21}if((o|0)==21){o=g+(m<<4)+12|0;a[o>>0]=0;c[k>>2]=j;c[h>>2]=c[56514];c[g+(m<<4)+4>>2]=c[56515];g=o;h=0}h=h+1<<24>>24;a[g>>0]=h}else h=a[g+(m<<4)+12>>0]|0;while(0);g=h&255}}while(0);if((nGa(p,-1)|0)<<24>>24==1){c[r>>2]=p;h=c[56513]|0;if(!h)h=0;else h=c[h+4>>2]|0;c[r+8>>2]=h;c[r+12>>2]=d;a[r+17>>0]=e;a[r+16>>0]=f;a[r+18>>0]=(g|0)<255?g:255;c[r+20>>2]=c[56514];c[r+24>>2]=c[56515];h=(tGa(r)|0)>0&1}else h=0;if(!(e<<24>>24==0&q)){e=h;l=s;return e|0}MGa(b,c[56514]|0,c[56515]|0)|0;e=h;l=s;return e|0}function NJa(a){a=a|0;return ((a|0)>-1?a:0-a|0)|0}function OJa(a,b){a=a|0;b=b|0;var d=0,e=0;d=kFa(c[56496]|0,((c[56495]|0)*8232|0)+8232|0)|0;if(!d){d=GAa(0)|0;return d|0}else{c[56496]=d;xBa(d+((c[56495]|0)*8232|0)|0,0,8232)|0;d=c[56495]|0;e=(c[56496]|0)+(d*8232|0)|0;c[e>>2]=a;c[e+4>>2]=b;c[56495]=d+1;d=0;return d|0}return 0}function PJa(){var b=0;b=0;do{if((a[226158+b>>0]|0)==1)GJa(0,b)|0;b=b+1|0}while((b|0)!=512);return}function QJa(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0;j=l;l=l+64|0;i=j;do if(a|0?(g=c[56513]|0,(g|0)!=(a|0)):0){if(g|0)bGa(g,11,0,0)|0;c[56513]=a;bGa(a,10,0,0)|0;a=(c[56513]|0)==0?c[56526]|0:c[56527]|0;g=c[56504]|0;h=(g|0)==0;if((a|0)!=0&(c[56528]|0)!=0&(c[56521]|0)==0){if(h)break;gk[g&1023](a)|0;break}else{if(h)break;gk[g&1023](0)|0;break}}while(0);if(!(e|d)){i=0;l=j;return i|0}if((nGa(1027,-1)|0)<<24>>24!=1){i=0;l=j;return i|0}c[i>>2]=1027;a=c[56513]|0;if(!a)a=0;else a=c[a+4>>2]|0;c[i+8>>2]=a;c[i+12>>2]=b;c[i+16>>2]=d;c[i+20>>2]=e;c[i+24>>2]=f;i=(tGa(i)|0)>0&1;l=j;return i|0}function RJa(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;g=l;l=l+16|0;f=g;do if(c[56510]|0){b=TJa()|0;d=(b|0)!=0;if(d)e=(c[b+48>>2]|0)>>>14&1;else e=0;if((e|0)!=(a|0)){if(!a){if((gk[c[226040>>2]&1023](0)|0)==-1){a=-1;break}a=b+48|0;c[a>>2]=c[a>>2]&-16385;a=0;break}if(!d){a=MAa(199204,f)|0;break}if((gk[c[226040>>2]&1023](b)|0)==-1)a=-1;else{a=b+48|0;c[a>>2]=c[a>>2]|16384;a=0}}else a=0}else a=GAa(4)|0;while(0);l=g;return a|0}function SJa(){return c[56498]|0}function TJa(){return c[56538]|0}function UJa(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0;o=l;l=l+800|0;i=o+512|0;j=o+784|0;k=o+780|0;m=o;c[j>>2]=0;n=a+676|0;f=c[n>>2]|0;if(!f){n=-1;l=o;return n|0}c[i>>2]=12324;c[i+4>>2]=c[a+292>>2];c[i+8>>2]=12323;c[i+12>>2]=c[a+296>>2];c[i+16>>2]=12322;c[i+20>>2]=c[a+300>>2];b=c[a+304>>2]|0;if(!b)b=6;else{c[i+24>>2]=12321;c[i+28>>2]=b;b=8}d=c[a+312>>2]|0;e=b|1;if(!d)d=b;else{c[i+(b<<2)>>2]=12320;c[i+(e<<2)>>2]=d;d=e+1|0}c[i+(d<<2)>>2]=12325;b=d+2|0;c[i+(d+1<<2)>>2]=c[a+308>>2];e=c[a+316>>2]|0;if(e){c[i+(b<<2)>>2]=12326;c[i+(d+3<<2)>>2]=e;b=d+4|0}d=c[a+344>>2]|0;if(d){c[i+(b<<2)>>2]=12338;c[i+(b+1<<2)>>2]=d;b=b+2|0}d=c[a+348>>2]|0;if(!d)d=b;else{c[i+(b<<2)>>2]=12337;c[i+(b+1<<2)>>2]=d;d=b+2|0}if(c[a+380>>2]|0){n=MAa(199224,o+768|0)|0;l=o;return n|0}c[i+(d<<2)>>2]=12352;if((c[a+368>>2]|0)==4){b=(c[a+356>>2]|0)>1?4:1;gk[c[f+84>>2]&1023](12448)|0}else{gk[c[f+84>>2]&1023](12450)|0;b=8}c[i+(d+1<<2)>>2]=b;c[i+(d+2<<2)>>2]=12344;h=c[n>>2]|0;h=(pk[c[h+36>>2]&63](c[h+8>>2]|0,i,m,128,j)|0)==0;b=c[j>>2]|0;if(h|(b|0)==0){n=MAa(199285,o+776|0)|0;l=o;return n|0}if((b|0)<=0){n=0;l=o;return n|0}b=-1;h=0;do{g=m+(h<<2)|0;f=0;d=0;do{e=c[i+(f<<2)>>2]|0;if((e|0)==12344)break;a=i+((f|1)<<2)|0;if((e+-12321|0)>>>0<6&(c[a>>2]|0)!=-1){p=c[n>>2]|0;mk[c[p+72>>2]&63](c[p+8>>2]|0,c[g>>2]|0,e,k)|0;d=(c[k>>2]|0)+d-(c[a>>2]|0)|0}f=f+2|0}while(f>>>0<63);if((b|0)==-1|(d|0)<(b|0)){c[(c[n>>2]|0)+12>>2]=c[g>>2];b=d}h=h+1|0}while(d|0?(h|0)<(c[j>>2]|0):0);b=0;l=o;return b|0}function VJa(){var a=0,b=0,d=0,e=0,f=0;d=dGa()|0;e=d+96|0;f=c[e>>2]|0;if(f|0){b=f+4|0;a=c[b>>2]|0;if(a|0){if(c[a+4>>2]|0){iBa(c[a>>2]|0);a=c[b>>2]|0}iBa(a)}iBa(f)}c[e>>2]=0;c[d>>2]=0;c[d+8>>2]=0;c[d+16>>2]=0;c[d+20>>2]=0;c[d+4>>2]=0;c[d+28>>2]=0;return}function WJa(a){a=a|0;var b=0,d=0,e=0;e=l;l=l+80|0;d=e;xBa(d,0,68)|0;b=d+16|0;if(a|0){c[b>>2]=c[a>>2];c[b+4>>2]=c[a+4>>2];c[b+8>>2]=c[a+8>>2];c[b+12>>2]=c[a+12>>2];c[b+16>>2]=c[a+16>>2]}a=d+36|0;c[a>>2]=c[b>>2];c[a+4>>2]=c[b+4>>2];c[a+8>>2]=c[b+8>>2];c[a+12>>2]=c[b+12>>2];c[a+16>>2]=c[b+16>>2];d=eKa(d)|0;l=e;return d|0}function XJa(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;d=a+12|0;e=c[d>>2]|0;n=a+8|0;o=c[n>>2]|0;a:do if((o|0)>0){k=b+4|0;l=b+8|0;m=b+12|0;j=0;b:while(1){i=e+(j*20|0)|0;if((i|0)==(b|0)){d=0;f=20;break}f=c[k>>2]|0;g=c[e+(j*20|0)+4>>2]|0;do if((g|0)==(f|0)){f=c[l>>2]|0;g=c[e+(j*20|0)+8>>2]|0;if((g|0)!=(f|0)){f=g-f|0;break}g=c[b>>2]|0;h=g>>>8&255;i=c[i>>2]|0;f=i>>>8&255;if((f|0)!=(h|0)){f=f-h|0;break}g=g>>>16&15;f=i>>>16&15;if((f|0)==(g|0)){f=c[m>>2]|0;g=c[e+(j*20|0)+12>>2]|0;if((g|0)==(f|0)){d=0;f=20;break b}else{f=g-f|0;break}}else{f=f-g|0;break}}else f=g-f|0;while(0);j=j+1|0;if(!f){d=0;f=20;break}if((j|0)>=(o|0))break a}if((f|0)==20)return d|0}while(0);f=a+4|0;do if((o|0)==(c[f>>2]|0)){e=kFa(e,(o*20|0)+640|0)|0;if(!e){o=0;return o|0}else{c[d>>2]=e;c[f>>2]=(c[f>>2]|0)+32;break}}while(0);o=e+(o*20|0)|0;c[o>>2]=c[b>>2];c[o+4>>2]=c[b+4>>2];c[o+8>>2]=c[b+8>>2];c[o+12>>2]=c[b+12>>2];c[o+16>>2]=c[b+16>>2];o=(c[n>>2]|0)+1|0;c[n>>2]=o;VGa(c[d>>2]|0,o,20,357);o=1;return o|0}function YJa(){var a=0,b=0;a=dGa()|0;c[a>>2]=118;c[a+8>>2]=803;c[a+16>>2]=1118;c[a+20>>2]=158;c[a+4>>2]=804;c[a+28>>2]=805;a=FAa(1,8)|0;if(!a){GAa(0)|0;b=a;dKa(b);return}b=FAa(1,8)|0;if(!b){GAa(0)|0;iBa(a);b=0;dKa(b);return}else{c[b>>2]=199404;c[b+4>>2]=0;c[a+4>>2]=b;b=a;dKa(b);return}}function ZJa(a,b,d){a=a|0;b=b|0;d=d|0;b=NHa(a,376840196,0)|0;if(!b){a=0;return a|0}a=Fc(4,c[a+8>>2]|0,c[a+12>>2]|0,c[b+20>>2]|0)|0;ABa(b);b=FAa(1,8)|0;if(!b){GAa(0)|0;a=b;return a|0}d=FAa(1,8)|0;if(!d){GAa(0)|0;iBa(b);a=0;return a|0}else{c[d>>2]=a;c[d+4>>2]=1;c[b+4>>2]=d;a=b;return a|0}return 0}function _Ja(a){a=a|0;var b=0;if(!(RGa()|0))return 0;if(a|0?(b=c[a+4>>2]|0,b|0):0){a=c[b>>2]|0;if(!a)return 0;Dc(5,a|0)|0;return 0}Cc(6)|0;return 0}function $Ja(a){a=a|0;var b=0,d=0;if(!a)return;d=a+4|0;b=c[d>>2]|0;if(b|0){if(c[b+4>>2]|0){iBa(c[b>>2]|0);b=c[d>>2]|0}iBa(b)}iBa(a);return}function aKa(a,b,c){a=a|0;b=b|0;c=c|0;GAa(4)|0;return}function bKa(a){a=a|0;var b=0,d=0;do switch(a|0){case 0:{a=199404;break}case 1:{a=199500;break}case 2:{a=199495;break}case 3:{a=199485;break}case 4:{a=199476;break}case 5:{a=199464;break}case 6:{a=199452;break}case 7:{a=199442;break}case 8:{a=199432;break}case 9:{a=0;break}case 10:{a=199420;break}case 11:{a=199412;break}default:{d=0;return d|0}}while(0);b=FAa(1,8)|0;if(!b){GAa(0)|0;d=b;return d|0}d=FAa(1,8)|0;if(!d){GAa(0)|0;iBa(b);d=0;return d|0}else{c[d>>2]=a;c[d+4>>2]=0;c[b+4>>2]=d;d=b;return d|0}return 0}function cKa(a){a=a|0;if(!a){if((Jc()|0)>-1){a=0;return a|0}}else if((kh(0,1)|0)>-1){a=0;return a|0}a=-1;return a|0}function dKa(a){a=a|0;var b=0,d=0;c[56526]=a;if(c[56527]|0)return;if(!a)a=0;else c[56527]=a;d=c[56504]|0;b=(d|0)==0;if((a|0)!=0&(c[56528]|0)!=0&(c[56521]|0)==0){if(b)return;gk[d&1023](a)|0;return}else{if(b)return;gk[d&1023](0)|0;return}}function eKa(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;k=l;l=l+32|0;h=k;d=c[56498]|0;d=kFa(c[d+268>>2]|0,((c[d+264>>2]|0)*68|0)+68|0)|0;if(!d){GAa(0)|0;j=-1;l=k;return j|0}b=c[56498]|0;j=b+264|0;i=c[j>>2]|0;c[j>>2]=i+1;j=d+(i*68|0)|0;e=j;f=a;g=e+68|0;do{c[e>>2]=c[f>>2];e=e+4|0;f=f+4|0}while((e|0)<(g|0));c[d+(i*68|0)+60>>2]=b;c[b+268>>2]=d;a=c[a>>2]|0;if(!a){gKa(i,h,10)|0;c[j>>2]=fKa(h)|0;j=i;l=k;return j|0}else{c[j>>2]=fKa(a)|0;j=i;l=k;return j|0}return 0}function fKa(a){a=a|0;return _Na(a)|0}function gKa(b,c,d){b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0;if((b|0)<0){g=c+1|0;a[c>>0]=45;b=0-b|0;e=g;do{f=b;b=(b>>>0)/(d>>>0)|0;h=e;e=e+1|0;a[h>>0]=a[30208+(f-(N(b,d)|0))>>0]|0}while(f>>>0>=d>>>0);a[e>>0]=0;e=VNa(g)|0;b=e>>>1;if(!b)return c|0;f=c+e|0;e=g;while(1){b=b+-1|0;h=a[e>>0]|0;a[e>>0]=a[f>>0]|0;a[f>>0]=h;if(!b)break;else{f=f+-1|0;e=e+1|0}}return c|0}if(!b){a[c>>0]=48;b=c+1|0}else{e=b;f=c;while(1){h=e;e=(e>>>0)/(d>>>0)|0;b=f+1|0;a[f>>0]=a[30208+(h-(N(e,d)|0))>>0]|0;if(h>>>0<d>>>0)break;else f=b}}a[b>>0]=0;b=VNa(c)|0;d=b>>>1;if(!d)return c|0;e=c+(b+-1)|0;f=c;b=d;while(1){b=b+-1|0;h=a[f>>0]|0;a[f>>0]=a[e>>0]|0;a[e>>0]=h;if(!b)break;else{e=e+-1|0;f=f+1|0}}return c|0}function hKa(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;if(!((a|0)!=0&(b|0)!=0)){d=0;return d|0}if(d>>>0<2&(JBa(a)|0)!=0){d=0;return d|0}e=c[56501]|0;a:do if(e|0){while(1){if(!(QFa(a,c[e>>2]|0)|0))break;e=c[e+16>>2]|0;if(!e)break a}g=e+8|0;if((c[g>>2]|0)>>>0>d>>>0){d=0;return d|0}h=e+4|0;f=c[h>>2]|0;if(!((f|0)!=0?!(QFa(f,b)|0):0)){e=c[e+12>>2]|0;if(e|0)do{f=e;e=c[e+8>>2]|0;Qk[c[f>>2]&127](c[f+4>>2]|0,a,c[h>>2]|0,b)}while((e|0)!=0);iBa(c[h>>2]|0);c[h>>2]=fKa(b)|0}c[g>>2]=d;d=1;return d|0}while(0);e=sBa(20)|0;if(!e){d=0;return d|0}c[e>>2]=fKa(a)|0;c[e+4>>2]=fKa(b)|0;c[e+8>>2]=d;c[e+12>>2]=0;c[e+16>>2]=c[56501];c[56501]=e;d=1;return d|0}function iKa(a){a=a|0;var b=0,d=0,e=0;e=l;l=l+16|0;c[a+4>>2]=29;c[a+40>>2]=1119;c[a+72>>2]=1;c[a+64>>2]=1;c[a+60>>2]=1;d=Cc(7)|0;if(!d){MAa(200707,e)|0;b=0}else b=(Cc(8)|0)!=0&1;c[a+68>>2]=b;c[a+76>>2]=b;l=e;return d|0}function jKa(a,f,g,h){a=a|0;f=f|0;g=g|0;h=h|0;var i=0.0,j=0,k=0,m=0,n=0.0,o=0,p=0;p=l;l=l+16|0;m=p+8|0;if((Dc(9,h|0)|0)<0){h=MAa(202481,p)|0;l=p;return h|0}o=a+4|0;k=a+8|0;f=lKa(b[k>>1]|0)|0;if(f<<16>>16){g=0;do{if(f<<16>>16==-32480){b[k>>1]=-32480;g=1}f=mKa()|0;j=(g|0)!=0}while(f<<16>>16!=0&(j^1));if(j){f=sBa(20)|0;m=a+180|0;c[m>>2]=f;if(!f){h=GAa(0)|0;l=p;return h|0}xBa(f,0,20)|0;j=Cc(10)|0;f=c[o>>2]|0;k=a+12|0;if((f|0)!=(j|0)){g=b[k>>1]|0;a:do if(g<<16>>16){n=+(j|0);i=+(g&65535)/n*+(f|0);if(!(+ZHa(i)==i)){f=g&65535;do{if((f|0)<=1)break a;f=f+-1|0;i=+(f|0)/n*+(c[o>>2]|0)}while(!(+ZHa(i)==i))}g=~~+ZHa(i)>>>0;c[(c[m>>2]|0)+8>>2]=g}while(0);c[o>>2]=j}nKa(o);g=d[a+10>>0]|0;f=e[k>>1]|0;if(!h){Gc(12,g|0,f|0,1121,a|0)|0;h=0;l=p;return h|0}else{Gc(11,g|0,f|0,1120,a|0)|0;h=0;l=p;return h|0}}}h=MAa(202513,m)|0;l=p;return h|0}function kKa(a){a=a|0;Dc(13,c[a+144>>2]|0)|0;a=a+180|0;iBa(c[c[a>>2]>>2]|0);iBa(c[a>>2]|0);return}function lKa(a){a=a|0;c[57182]=0;if(a<<16>>16!=8){c[57182]=1;if(a<<16>>16!=-32760){c[57182]=2;if(a<<16>>16!=-32752){c[57182]=3;if(a<<16>>16!=-28656){c[57182]=4;if(a<<16>>16!=16){c[57182]=5;if(a<<16>>16!=4112){c[57182]=6;if(a<<16>>16!=-32736){c[57182]=7;if(a<<16>>16!=-28640){c[57182]=8;if(a<<16>>16!=-32480){c[57182]=9;if(a<<16>>16==-28384)a=9;else{c[57182]=10;c[57183]=0;a=0;return a|0}}else a=8}else a=7}else a=6}else a=5}else a=4}else a=3}else a=2}else a=1}else a=0;c[57183]=1;a=b[30256+(a*20|0)>>1]|0;return a|0}function mKa(){var a=0,d=0;a=c[57182]|0;d=c[57183]|0;if((a|0)==10|(d|0)==10){d=0;return d|0}c[57183]=d+1;d=b[30256+(a*20|0)+(d<<1)>>1]|0;return d|0}function nKa(f){f=f|0;var g=0;g=b[f+4>>1]|0;a[f+7>>0]=g<<16>>16==8?-128:0;g=N(d[f+6>>0]|0,(g&65535)>>>3&31)|0;c[f+12>>2]=N(g,e[f+8>>1]|0)|0;return}function oKa(a){a=a|0;var b=0,e=0,f=0,g=0,h=0;if(!(GGa(a+136|0)|0))return;if(GGa(a+140|0)|0)return;h=a+28|0;if(!(c[h>>2]|0)){b=a+180|0;e=c[c[b>>2]>>2]|0;g=a+16|0;if(!e){e=sBa(c[g>>2]|0)|0;c[c[b>>2]>>2]=e;if(!e)return;else{b=g;f=e;e=g}}else{b=g;f=e;e=g}}else{b=a+52|0;f=c[a+44>>2]|0;e=a+16|0}b=c[b>>2]|0;Ec(14,f|0,((c[e>>2]|0)>>>2>>>0)/((d[a+10>>0]|0)>>>0)|0|0)|0;if(c[h>>2]|0)qKa(h)|0;Nk[c[a+20>>2]&255](c[a+24>>2]|0,f,b);return}function pKa(a){a=a|0;var b=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=(e[a+8>>1]|0)>>>3&31;if(!(GGa(a+136|0)|0))return;if(GGa(a+140|0)|0)return;r=a+28|0;s=a+180|0;f=c[s>>2]|0;if(c[r>>2]|0){b=c[f+8>>2]|0;if(!b){b=a+48|0;n=b;b=c[b>>2]|0}else{b=N(N(b,d[a+10>>0]|0)|0,(e[a+32>>1]|0)>>>3&31)|0;n=a+48|0;c[n>>2]=b}o=a+20|0;p=a+24|0;q=a+44|0;Nk[c[o>>2]&255](c[p>>2]|0,c[q>>2]|0,b);qKa(r)|0;l=a+52|0;b=c[l>>2]|0;m=a+16|0;g=c[m>>2]|0;if((b|0)==(g|0))f=c[q>>2]|0;else{h=c[s>>2]|0;f=c[h>>2]|0;if(!f){f=(g>>>0>b>>>0?g:b)<<1;c[h+4>>2]=f;f=sBa(f)|0;h=c[s>>2]|0;c[h>>2]=f;b=c[l>>2]|0}j=h+12|0;g=c[j>>2]|0;k=c[h+4>>2]|0;if((b+g|0)>>>0>k>>>0){h=h+16|0;i=c[h>>2]|0;if(g>>>0>i>>>0){TBa(f,f+i|0,k-i|0)|0;f=c[s>>2]|0;b=f+12|0;h=f+16|0;g=(c[b>>2]|0)-(c[h>>2]|0)|0;c[b>>2]=g;b=c[l>>2]|0;f=c[f>>2]|0}else{c[j>>2]=0;g=0}c[h>>2]=0}uBa(f+g|0,c[q>>2]|0,b)|0;g=c[s>>2]|0;h=g+12|0;k=(c[h>>2]|0)+(c[l>>2]|0)|0;c[h>>2]=k;h=g+16|0;f=c[h>>2]|0;b=c[m>>2]|0;if((k-f|0)>>>0<b>>>0){do{Nk[c[o>>2]&255](c[p>>2]|0,c[q>>2]|0,c[n>>2]|0);qKa(r)|0;f=c[s>>2]|0;j=f+12|0;g=c[j>>2]|0;b=c[l>>2]|0;k=c[f+4>>2]|0;if((b+g|0)>>>0>k>>>0){h=f+16|0;i=c[h>>2]|0;if(g>>>0>i>>>0){f=c[f>>2]|0;TBa(f,f+i|0,k-i|0)|0;f=c[s>>2]|0;b=f+12|0;h=f+16|0;g=(c[b>>2]|0)-(c[h>>2]|0)|0;c[b>>2]=g;b=c[l>>2]|0}else{c[j>>2]=0;g=0}c[h>>2]=0}uBa((c[f>>2]|0)+g|0,c[q>>2]|0,b)|0;g=c[s>>2]|0;f=g+12|0;k=(c[f>>2]|0)+(c[l>>2]|0)|0;c[f>>2]=k;f=c[g+16>>2]|0;b=c[m>>2]|0}while((k-f|0)>>>0<b>>>0);h=g+16|0}s=(c[g>>2]|0)+f|0;c[h>>2]=f+b;f=s}}else{b=c[f>>2]|0;if(!b){b=c[a+16>>2]|0;c[f+4>>2]=b;b=sBa(b)|0;f=c[s>>2]|0;c[f>>2]=b}Nk[c[a+20>>2]&255](c[a+24>>2]|0,b,c[f+4>>2]|0);b=c[s>>2]|0;f=c[b>>2]|0;b=c[b+4>>2]|0}if(!f)return;Ec(15,f|0,((b|0)/(t|0)|0|0)/(d[a+10>>0]|0|0)|0|0)|0;return}function qKa(b){b=b|0;var c=0,e=0,f=0;e=l;l=l+16|0;c=b+16|0;if(!(d[c>>0]|d[c+1>>0]<<8|d[c+2>>0]<<16|d[c+3>>0]<<24)){MAa(205069,e)|0;c=-1;l=e;return c|0}f=b+20|0;f=d[f>>0]|d[f+1>>0]<<8|d[f+2>>0]<<16|d[f+3>>0]<<24;c=b+24|0;a[c>>0]=f;a[c+1>>0]=f>>8;a[c+2>>0]=f>>16;a[c+3>>0]=f>>24;c=b+40|0;c=d[c>>0]|d[c+1>>0]<<8|d[c+2>>0]<<16|d[c+3>>0]<<24;if(!c){f=0;l=e;return f|0}f=b+80|0;a[f>>0]=0;a[f+1>>0]=0;a[f+2>>0]=0;a[f+3>>0]=0;f=b+4|0;Jk[c&1023](b,d[f>>0]|d[f+1>>0]<<8);f=0;l=e;return f|0}function rKa(){var a=0;a=JBa(207680)|0;if(a|0?(QFa(a,206421)|0)==0:0){a=1;return a|0}a=0;return a|0}function sKa(a){a=a|0;a=FAa(1,688)|0;if(!a){GAa(0)|0;a=0;return a|0}else{c[a+4>>2]=806;c[a+8>>2]=1122;c[a+28>>2]=119;c[a+204>>2]=1123;c[a+132>>2]=44;c[a+136>>2]=30;c[a+140>>2]=504;c[a+684>>2]=1124;return a|0}return 0}function tKa(a){a=a|0;var b=0,d=0;d=l;l=l+32|0;b=d;c[b>>2]=370546692;c[b+4>>2]=1024;c[b+8>>2]=768;c[b+12>>2]=0;c[b+16>>2]=0;if((WJa(b)|0)<0){b=-1;l=d;return b|0}xBa(b,0,20)|0;XJa(c[a+268>>2]|0,b)|0;b=0;l=d;return b|0}function uKa(a){a=a|0;return}function vKa(a,b,c){a=a|0;b=b|0;c=c|0;return 0}function wKa(a){a=a|0;return}function xKa(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0;g=l;l=l+32|0;n=g+24|0;m=g+20|0;k=g+16|0;j=g+12|0;i=g+8|0;h=g+4|0;a=g;ABa(CKa(b,205946)|0);GFa(370546692,k,j,i,h,a)|0;HFa(b,n,m);a=xHa(0,c[n>>2]|0,c[m>>2]|0,c[k>>2]|0,c[j>>2]|0,c[i>>2]|0,c[h>>2]|0,c[a>>2]|0)|0;if(!a){n=-1;l=g;return n|0}BKa(b,205946,a)|0;c[d>>2]=370546692;c[e>>2]=c[a+20>>2];c[f>>2]=c[a+16>>2];n=0;l=g;return n|0}function yKa(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;f=l;l=l+144|0;e=f+136|0;a=f;d=CKa(b,205946)|0;if(!d){b=MAa(205964,f+128|0)|0;l=f;return b|0}if(!(JBa(206003)|0)){b=0;l=f;return b|0}g=DKa(b)|0;b=(c[57184]|0)+1|0;c[57184]=b;c[e>>2]=g;c[e+4>>2]=b;WFa(a,128,206031,e)|0;FKa(d,EKa(a,206324)|0,1)|0;b=0;l=f;return b|0}function zKa(a,b){a=a|0;b=b|0;ABa(BKa(b,205946,0)|0);return}function AKa(a){a=a|0;iBa(a);return}function BKa(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;j=l;l=l+32|0;h=j+16|0;g=j+8|0;f=c[56498]|0;if(!f){MAa(192981,j)|0;e=0;l=j;return e|0}if(b|0?(c[b>>2]|0)==(f+280|0):0){if(d|0?a[d>>0]|0:0){i=b+140|0;b=c[i>>2]|0;a:do if(b|0){h=0;while(1){f=c[b>>2]|0;if(f|0?(QFa(f,d)|0)==0:0)break;f=c[b+8>>2]|0;if(!f)break a;else{h=b;b=f}}f=b+4|0;g=c[f>>2]|0;if(!e){c[((h|0)==0?i:h+8|0)>>2]=c[b+8>>2];iBa(c[b>>2]|0);iBa(b);e=g;l=j;return e|0}else{c[f>>2]=e;e=g;l=j;return e|0}}while(0);if(!e){e=0;l=j;return e|0}h=sBa(12)|0;c[h>>2]=fKa(d)|0;c[h+4>>2]=e;c[h+8>>2]=c[i>>2];c[i>>2]=h;e=0;l=j;return e|0}c[h>>2]=207503;MAa(208008,h)|0;e=0;l=j;return e|0}MAa(208472,g)|0;e=0;l=j;return e|0}function CKa(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=l;l=l+32|0;g=h+16|0;f=h+8|0;e=c[56498]|0;a:do if(!e){MAa(192981,h)|0;b=0}else{if(b|0?(c[b>>2]|0)==(e+280|0):0){if(d|0?a[d>>0]|0:0){b=c[b+140>>2]|0;if(!b){b=0;break}while(1){e=c[b>>2]|0;if(e|0?(QFa(e,d)|0)==0:0)break;b=c[b+8>>2]|0;if(!b){b=0;break a}}b=c[b+4>>2]|0;break}c[g>>2]=207503;MAa(208008,g)|0;b=0;break}MAa(208472,f)|0;b=0}while(0);l=h;return b|0}function DKa(a){a=a|0;var b=0,d=0,e=0;e=l;l=l+16|0;d=e+8|0;b=c[56498]|0;if(!b){MAa(192981,e)|0;d=0;l=e;return d|0}if(a|0?(c[a>>2]|0)==(b+280|0):0){d=c[a+4>>2]|0;l=e;return d|0}MAa(208472,d)|0;d=0;l=e;return d|0}function EKa(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;g=l;l=l+16|0;f=g+8|0;e=g;if((b|0?(d|0)!=0&(a[b>>0]|0)!=0:0)?a[d>>0]|0:0){e=JQa(b,d)|0;if(!e){c[f>>2]=b;MAa(206192,f)|0;f=0;l=g;return f|0}d=sBa(36)|0;if(!d){GAa(0)|0;f=d;l=g;return f|0}else{c[d>>2]=807;c[d+4>>2]=31;c[d+8>>2]=32;c[d+12>>2]=33;c[d+16>>2]=808;c[d+28>>2]=e;c[d+24>>2]=1;c[d+20>>2]=2;f=d;l=g;return f|0}}MAa(206145,e)|0;f=0;l=g;return f|0}function FKa(e,f,g){e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,z=0,A=0,B=0,C=0;C=l;l=l+64|0;m=C+8|0;k=C;o=C+56|0;A=C+12|0;b[o>>1]=19778;if(!f){g=-1;l=C;return g|0}i=c[e+4>>2]|0;j=a[i+8>>0]|0;do if((j&255)>7){if((c[i+24>>2]|0)==0?(c[(c[e+52>>2]|0)+68>>2]&256|0)==0:0){n=6;break}wBa(A,372645892)|0;i=1;h=1;n=14}else n=6;while(0);do if((n|0)==6){h=j&255;if(c[i+4>>2]|0){if(j<<24>>24==8){B=e;p=0;q=0;n=19;break}c[k>>2]=h;MAa(206054,k)|0;break}if(((j<<24>>24==24?(c[i+12>>2]|0)==16711680:0)?(c[i+16>>2]|0)==65280:0)?(c[i+20>>2]|0)==255:0){B=e;p=0;q=0;n=19;break}wBa(A,390076419)|0;i=0;h=0;n=14}while(0);if((n|0)==14){j=EHa(e,A,0)|0;k=(j|0)==0;if(k){c[m>>2]=d[A+8>>0];MAa(206085,m)|0}if(h)h=JGa(206118,0)|0;else h=0;if(!k){B=j;p=i;q=h;n=19}}if((n|0)==19?(rFa(B)|0)==0:0){i=B+8|0;n=B+4|0;u=N(c[i>>2]|0,d[(c[n>>2]|0)+9>>0]|0)|0;w=f+4|0;x=mk[c[w>>2]&63](f,0,0,1)|0;z=y;GKa();v=f+12|0;mk[c[v>>2]&63](f,o,2,1)|0;HKa(f,0)|0;IKa(f,0)|0;IKa(f,0)|0;HKa(f,0)|0;i=c[i>>2]|0;o=B+12|0;j=c[o>>2]|0;h=c[n>>2]|0;k=d[h+8>>0]|0;r=B+16|0;m=N(c[r>>2]|0,j)|0;h=c[h+4>>2]|0;if(!h)h=0;else h=c[h>>2]|0;q=(q|0)!=0|(p|0)==0;HKa(f,q?40:108)|0;HKa(f,i)|0;HKa(f,j)|0;IKa(f,1)|0;IKa(f,k)|0;HKa(f,q?0:3)|0;HKa(f,m)|0;HKa(f,0)|0;HKa(f,0)|0;HKa(f,h)|0;HKa(f,0)|0;if(!q){HKa(f,16711680)|0;HKa(f,65280)|0;HKa(f,255)|0;HKa(f,-16777216)|0;HKa(f,1466527264)|0;HKa(f,0)|0;HKa(f,0)|0;HKa(f,0)|0;HKa(f,0)|0;HKa(f,0)|0;HKa(f,0)|0;HKa(f,0)|0;HKa(f,0)|0;HKa(f,0)|0;HKa(f,0)|0;HKa(f,0)|0;HKa(f,0)|0}h=c[(c[n>>2]|0)+4>>2]|0;if(h|0?(s=c[h+4>>2]|0,t=c[h>>2]|0,(t|0)>0):0){h=0;do{mk[c[v>>2]&63](f,s+(h<<2)+2|0,1,1)|0;mk[c[v>>2]&63](f,s+(h<<2)+1|0,1,1)|0;mk[c[v>>2]&63](f,s+(h<<2)|0,1,1)|0;mk[c[v>>2]&63](f,s+(h<<2)+3|0,1,1)|0;h=h+1|0}while((h|0)!=(t|0))}h=mk[c[w>>2]&63](f,0,0,1)|0;h=q2a(h|0,y|0,x|0,z|0)|0;s=c[w>>2]|0;t=p2a(x|0,z|0,10,0)|0;mk[s&63](f,t,y,0)|0;if((y|0)<0)GAa(3)|0;HKa(f,h)|0;s=c[w>>2]|0;t=p2a(h|0,0,x|0,z|0)|0;mk[s&63](f,t,y,0)|0;if((y|0)<0)GAa(3)|0;k=B+20|0;i=c[r>>2]|0;t=N(i,c[o>>2]|0)|0;h=(c[k>>2]|0)+t|0;j=(u|0)%4|0;j=(j|0)==0?0:4-j|0;a:do if((t|0)>0){b:do if(!j){h=h+(0-i)|0;if((mk[c[v>>2]&63](f,h,1,u)|0)==(u|0))do{if(h>>>0<=(c[k>>2]|0)>>>0)break a;h=h+(0-(c[r>>2]|0))|0}while((mk[c[v>>2]&63](f,h,1,u)|0)==(u|0))}else{h=h+(0-i)|0;i=(mk[c[v>>2]&63](f,h,1,u)|0)==(u|0);if((j|0)<=0){if(!i)break;while(1){if(h>>>0<=(c[k>>2]|0)>>>0)break a;h=h+(0-(c[r>>2]|0))|0;if((mk[c[v>>2]&63](f,h,1,u)|0)!=(u|0))break b}}if(i)do{a[A>>0]=0;i=0;do{mk[c[v>>2]&63](f,A,1,1)|0;i=i+1|0}while((i|0)!=(j|0));if(h>>>0<=(c[k>>2]|0)>>>0)break a;h=h+(0-(c[r>>2]|0))|0}while((mk[c[v>>2]&63](f,h,1,u)|0)==(u|0))}while(0);GAa(2)|0}while(0);h=mk[c[w>>2]&63](f,0,0,1)|0;h=q2a(h|0,y|0,x|0,z|0)|0;v=c[w>>2]|0;A=p2a(x|0,z|0,2,0)|0;mk[v&63](f,A,y,0)|0;if((y|0)<0)GAa(3)|0;HKa(f,h)|0;w=c[w>>2]|0;A=p2a(h|0,0,x|0,z|0)|0;mk[w&63](f,A,y,0)|0;if((y|0)<0)GAa(3)|0;sFa(B);if((B|0)!=(e|0))ABa(B)}if(g|0)gk[c[f+16>>2]&1023](f)|0;g=((QFa(LAa()|0,231036)|0)!=0)<<31>>31;l=C;return g|0}function GKa(){c[55964]=0;return}function HKa(a,b){a=a|0;b=b|0;var d=0,e=0;d=l;l=l+16|0;e=d;c[e>>2]=b;b=mk[c[a+12>>2]&63](a,e,4,1)|0;l=d;return b|0}function IKa(a,d){a=a|0;d=d|0;var e=0,f=0;e=l;l=l+16|0;f=e;b[f>>1]=d;d=mk[c[a+12>>2]&63](a,f,2,1)|0;l=e;return d|0}function JKa(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;b=a+4|0;d=mk[c[b>>2]&63](a,0,0,1)|0;e=y;if((e|0)<0){d=-1;e=-1;y=d;return e|0}f=mk[c[b>>2]&63](a,0,0,2)|0;g=y;mk[c[b>>2]&63](a,d,e,0)|0;d=g;e=f;y=d;return e|0}function KKa(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;a=a+28|0;if(!(aRa(c[a>>2]|0,b,e)|0))a=$Qa(c[a>>2]|0)|0;else a=GAa(3)|0;y=((a|0)<0)<<31>>31;return a|0}function LKa(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=a+28|0;a=yQa(b,d,e,c[f>>2]|0)|0;if(a|0)return a|0;if(!(SQa(c[f>>2]|0)|0))return a|0;GAa(1)|0;return a|0}function MKa(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=a+28|0;a=NQa(b,d,e,c[f>>2]|0)|0;if(a|0)return a|0;if(!(SQa(c[f>>2]|0)|0))return a|0;GAa(2)|0;return a|0}function NKa(a){a=a|0;var b=0;if(!a){a=0;return a|0}if((c[a+24>>2]|0)!=0?(KQa(c[a+28>>2]|0)|0)!=0:0)b=GAa(2)|0;else b=0;iBa(a);a=b;return a|0}function OKa(a){a=a|0;c[a+4>>2]=34;c[a+12>>2]=1125;c[a+16>>2]=1126;c[a+24>>2]=809;c[a+28>>2]=120;c[a+32>>2]=1127;c[a+40>>2]=1128;c[a>>2]=5;c[a+80>>2]=1;c[a+68>>2]=1;return 1}function PKa(a,b,f,g){a=a|0;b=b|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0;k=l;l=l+16|0;j=k;i=(g|0)!=0;if((b|0)!=0|(f|0)==0){f=JBa(i?206264:206284)|0;f=(f|0)==0?(i?206235:206251):f}g=JBa(206302)|0;b=sBa(12)|0;h=a+180|0;c[h>>2]=b;if(!b){j=GAa(0)|0;l=k;return j|0}xBa(b,0,12)|0;if(!g)g=((e[a+12>>1]|0)*1e3|0)/(c[a+4>>2]|0)|0;else g=_Ka(g)|0;c[(c[h>>2]|0)+4>>2]=g;b=EKa(f,i?206321:206324)|0;c[c[h>>2]>>2]=b;if(!b){j=-1;l=k;return j|0}do if(!i){g=a+16|0;b=sBa(c[g>>2]|0)|0;c[(c[h>>2]|0)+8>>2]=b;if(b|0){xBa(b,d[a+11>>0]|0,c[g>>2]|0)|0;break}j=GAa(0)|0;l=k;return j|0}while(0);a=c[26719]|0;c[j>>2]=i?206327:206340;c[j+4>>2]=f;SPa(a,206351,j)|0;j=0;l=k;return j|0}function QKa(a){a=a|0;rBa(c[(c[a+180>>2]|0)+4>>2]|0);return}function RKa(a){a=a|0;var b=0,d=0,e=0;d=c[a+180>>2]|0;e=c[d>>2]|0;b=a+16|0;d=mk[c[e+12>>2]&63](e,c[d+8>>2]|0,1,c[b>>2]|0)|0;if((d|0)==(c[b>>2]|0))return;YKa(a);return}function SKa(a){a=a|0;return c[(c[a+180>>2]|0)+8>>2]|0}function TKa(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0;g=c[a+180>>2]|0;rBa(c[g+4>>2]|0);f=c[g>>2]|0;if(f){h=mk[c[f+8>>2]&63](f,b,1,e)|0;f=e-h|0;b=b+h|0;if((f|0)>0){h=c[g>>2]|0;gk[c[h+16>>2]&1023](h)|0;c[g>>2]=0}}else f=e;xBa(b,d[a+11>>0]|0,f)|0;return e|0}function UKa(a){a=a|0;return}function VKa(a){a=a|0;var b=0,d=0;d=a+180|0;a=c[d>>2]|0;b=c[a>>2]|0;if(b){gk[c[b+16>>2]&1023](b)|0;a=c[d>>2]|0}iBa(c[a+8>>2]|0);iBa(c[d>>2]|0);return}function WKa(){XKa(0,207591,1);XKa(1,207618,2);return}function XKa(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;j=l;l=l+64|0;i=j;f=kEa(d)|0;g=sBa(f+9|0)|0;h=(g|0)==0;do if(!b)if(h){l=j;return}else{c[g>>2]=e;RFa(g+8|0,d,f+1|0)|0;c[g+4>>2]=c[57213];c[57213]=g;d=c[57211]|0;c[57211]=d+1;break}else if(h){l=j;return}else{c[g>>2]=e;RFa(g+8|0,d,f+1|0)|0;c[g+4>>2]=c[57214];c[57214]=g;d=c[57212]|0;c[57212]=d+1;break}while(0);if((d|0)==-1){l=j;return}if((nGa(4352,-1)|0)<<24>>24!=1){l=j;return}xBa(i,0,56)|0;c[i>>2]=4352;c[i+8>>2]=d;a[i+12>>0]=b;tGa(i)|0;l=j;return}function YKa(b){b=b|0;var d=0,e=0,f=0;f=l;l=l+64|0;d=f;e=b+136|0;if(!(GGa(e)|0)){l=f;return}Bk[c[228792>>2]&2047](b);ZKa(e,0)|0;Bk[c[228796>>2]&2047](b);if((nGa(4353,-1)|0)<<24>>24!=1){l=f;return}xBa(d,0,56)|0;c[d>>2]=4353;c[d+8>>2]=c[b>>2];a[d+12>>0]=(c[b+144>>2]|0)!=0&1;tGa(d)|0;l=f;return}function ZKa(a,b){a=a|0;b=b|0;var d=0;d=c[a>>2]|0;c[a>>2]=b;return d|0}function _Ka(a){a=a|0;return TOa(a)|0}function $Ka(a){a=a|0;c[a+4>>2]=35;c[a+28>>2]=121;c[a+72>>2]=1;c[a+76>>2]=1;c[a+68>>2]=1;return 1}function aLa(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return 0}function bLa(a,b,f){a=a|0;b=b|0;f=f|0;rBa(((e[a+12>>1]|0)*1e3|0)/(c[a+4>>2]|0)|0);xBa(b,d[a+11>>0]|0,f)|0;return f|0}function cLa(b){b=b|0;var c=0,d=0,e=0;e=l;l=l+16|0;d=e;GKa();c=b>>>4&512|b;c=(c&544|0)==0?c:c|16384;dLa();if(c&16384|0){b=a[219950]|0;do if(!(b<<24>>24))if((eLa()|0)<0){d=-1;l=e;return d|0}else{fLa()|0;b=a[219950]|0;break}while(0);a[219950]=b+1<<24>>24}if(c&1|0){b=a[219936]|0;do if(!(b<<24>>24))if((gLa()|0)<0){d=-1;l=e;return d|0}else{b=a[219936]|0;break}while(0);a[219936]=b+1<<24>>24}if(c&32|0){b=a[219941]|0;do if(!(b<<24>>24))if((hLa(0)|0)<0){d=-1;l=e;return d|0}else{b=a[219941]|0;break}while(0);a[219941]=b+1<<24>>24}if(c&16|0){b=a[219940]|0;do if(!(b<<24>>24))if((iLa(0)|0)<0){d=-1;l=e;return d|0}else{b=a[219940]|0;break}while(0);a[219940]=b+1<<24>>24}if(c&512|0){b=a[219945]|0;do if(!(b<<24>>24))if((jLa()|0)<0){d=-1;l=e;return d|0}else{b=a[219945]|0;break}while(0);a[219945]=b+1<<24>>24}if(c&8192|0){b=a[219949]|0;do if(!(b<<24>>24))if((kLa()|0)<0){d=-1;l=e;return d|0}else{b=a[219949]|0;break}while(0);a[219949]=b+1<<24>>24}if(!(c&4096)){d=0;l=e;return d|0}d=MAa(206450,d)|0;l=e;return d|0}function dLa(){if(c[56532]|0)return;c[56532]=1;if(!(fc(4,226132)|0)){c[56535]=1;return}else{Kh(226144,0)|0;return}}function eLa(){var a=0,b=0,d=0,e=0,f=0;b=c[54475]|0;if(!b){d=FAa(1,32)|0;c[54475]=d;if(!d)e=6;else{b=d;d=c[d>>2]|0;e=5}}else{d=c[b>>2]|0;if(!(d&8))e=5;else{f=b;e=7}}if((e|0)==5){c[b>>2]=d|8;IGa(771,771);d=c[54475]|0;e=6}if((e|0)==6)if(!d){d=FAa(1,32)|0;c[54475]=d;if(d|0){b=d;a=c[d>>2]|0;e=10}}else{f=d;e=7}if((e|0)==7?(a=c[f>>2]|0,(a&4|0)==0):0){b=f;e=10}if((e|0)==10){c[b>>2]=a|4;IGa(770,770)}a=c[54474]|0;do if(!a){b=FAa(1,32)|0;c[54474]=b;if(!b){ZKa(106476,1)|0;return 0}else{a=b;b=c[b>>2]|0;break}}else{b=c[a>>2]|0;if(b&2){ZKa(106476,1)|0;return 0}}while(0);c[a>>2]=b|2;IGa(513,513);ZKa(106476,1)|0;return 0}function fLa(){var a=0,b=0;b=l;l=l+144|0;a=b;if(JGa(208803,0)|0){l=b;return 0}Zi(2,0,a|0)|0;if(!(c[a>>2]|0)){c[a>>2]=1129;Zi(2,a|0,0)|0}Zi(15,0,a|0)|0;if(!(c[a>>2]|0)){c[a>>2]=1129;Zi(15,a|0,0)|0}l=b;return 0}function gLa(){return 0}function hLa(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0;q=l;l=l+32|0;k=q+16|0;g=q+8|0;j=q;if(c[56498]|0)jMa();dLa();if((cLa(16384)|0)<0){p=-1;l=q;return p|0}if((kMa()|0)<0){p=-1;l=q;return p|0}if((lMa()|0)<0){p=-1;l=q;return p|0}if((mMa()|0)<0){p=-1;l=q;return p|0}do if(!b){b=JBa(207680)|0;if(!b){if(fk[c[106604>>2]&7]()|0?(f=gk[c[106608>>2]&1023](0)|0,f|0):0){e=f;d=0;break}if(fk[c[106636>>2]&7]()|0?(e=gk[c[106640>>2]&1023](0)|0,e|0):0){d=1;break}p=MAa(207713,g)|0;l=q;return p|0}else{e=b;p=9}}else{e=b;p=9}while(0);do if((p|0)==9){p=c[26649]|0;if((NLa(p,e,kEa(e)|0)|0)==0?(fk[c[106604>>2]&7]()|0)!=0:0){d=0;h=106596;p=15}else p=11;if(((p|0)==11?(g=c[26657]|0,(NLa(g,e,kEa(e)|0)|0)==0):0)?fk[c[106636>>2]&7]()|0:0){d=1;h=106628;p=15}if((p|0)==15?(i=gk[c[h+12>>2]&1023](0)|0,i|0):0){e=i;break}c[j>>2]=e;p=MAa(207696,j)|0;l=q;return p|0}while(0);c[56498]=e;c[e>>2]=c[c[106676+(d<<2)>>2]>>2];d=c[56498]|0;c[d+284>>2]=1;c[d+388>>2]=0;c[d+648>>2]=0;if(d|0){c[d+292>>2]=3;c[d+296>>2]=3;c[d+300>>2]=2;c[d+304>>2]=0;c[d+312>>2]=0;c[d+308>>2]=16;c[d+316>>2]=0;c[d+320>>2]=1;j=d+324|0;c[j>>2]=0;c[j+4>>2]=0;c[j+8>>2]=0;c[j+12>>2]=0;c[j+16>>2]=0;c[j+20>>2]=0;c[j+24>>2]=0;c[d+384>>2]=1;c[d+352>>2]=-1;c[d+356>>2]=2;c[d+360>>2]=0;c[d+368>>2]=4;c[d+364>>2]=0;c[d+380>>2]=0;c[d+376>>2]=1;c[d+372>>2]=0}i=nMa()|0;c[(c[56498]|0)+660>>2]=i;i=nMa()|0;j=c[56498]|0;c[j+664>>2]=i;if((gk[c[j+4>>2]&1023](j)|0)<0){jMa();p=-1;l=q;return p|0}e=c[56498]|0;if(!(c[e+264>>2]|0)){jMa();p=MAa(207739,k)|0;l=q;return p|0}d=e+132|0;do if(c[d>>2]|0){d=OFa(208544)|0;if(d|0?(PFa(d,207781)|0)==0:0)break;d=OFa(207790)|0;if((d|0?(a[d>>0]|0)!=48:0)?PFa(d,215828)|0:0){e=c[56498]|0;d=e+132|0;p=31}}else p=31;while(0);if((p|0)==31){c[d>>2]=45;c[e+136>>2]=36;c[e+140>>2]=505}if(!(JGa(207819,0)|0)){e=c[56498]|0;if(e|0){d=e+260|0;if((c[d>>2]|0)==0?(c[d>>2]=1,n=c[e+208>>2]|0,(n|0)!=0):0){Bk[n&2047](e);p=37}else p=37}}else p=37;if((((p|0)==37?(m=c[56498]|0,m|0):0)?(o=c[m+224>>2]|0,o|0):0)?gk[o&1023](m)|0:0){p=0;l=q;return p|0}nGa(771,1)|0;nGa(770,1)|0;d=c[56498]|0;if(!d){p=0;l=q;return p|0}e=c[d+272>>2]|0;do if(e){do{if(c[e+48>>2]&512|0){p=45;break}e=c[e+152>>2]|0}while((e|0)!=0);if((p|0)==45){b=c[d+228>>2]|0;if(!b)break;Jk[b&1023](d,e);d=c[56498]|0}if(!d){p=0;l=q;return p|0}}while(0);e=c[d+212>>2]|0;if(!e){p=0;l=q;return p|0}Bk[e&2047](d);p=0;l=q;return p|0}function iLa(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;j=l;l=l+16|0;h=j+8|0;g=j;if(LLa(16)|0)MLa();xBa(228740,0,120)|0;xBa(219968,0,64)|0;a:do if(!a){a=JBa(207517)|0;b=(a|0)==0;if(b){d=0;f=0;while(1){e=c[30464+(f<<2)>>2]|0;if((f|0)==3){i=15;break a}if(!(c[e+12>>2]|0)){xBa(228740,0,120)|0;c[57185]=c[e>>2];c[57186]=c[e+4>>2];d=1;e=gk[c[e+8>>2]&1023](228748)|0}else e=0;if(!e)f=f+1|0;else break}}else i=10}else i=10;while(0);b:do if((i|0)==10){b=0;e=0;while(1){d=c[30464+(e<<2)>>2]|0;if((e|0)==3){d=b;b=0;i=15;break b}f=c[d>>2]|0;if(!(NLa(f,a,kEa(a)|0)|0)){xBa(228740,0,120)|0;c[57185]=c[d>>2];c[57186]=c[d+4>>2];b=1;d=gk[c[d+8>>2]&1023](228748)|0}else d=0;if(!d)e=e+1|0;else break}}while(0);if((i|0)==15){do if(!d)if(b){MAa(207565,h)|0;break}else{c[g>>2]=a;MAa(207533,g)|0;break}while(0);xBa(228740,0,120)|0;i=-1;l=j;return i|0}c[57208]=OLa()|0;if(c[57203]|0){if(!(c[57198]|0))c[57198]=1130;if(!(c[57199]|0))c[57199]=1130}a=c[57187]|0;if(!a){c[57187]=6;a=6}if(!(c[57188]|0))c[57188]=37;if(!(c[57189]|0))c[57189]=1131;if(!(c[57190]|0))c[57190]=1132;if(!(c[57191]|0))c[57191]=1133;if(!(c[57192]|0))c[57192]=810;if(!(c[57193]|0))c[57193]=811;if(!(c[57194]|0))c[57194]=122;if(!(c[57195]|0))c[57195]=1134;if(!(c[57196]|0))c[57196]=1135;if(!(c[57197]|0))c[57197]=1136;if(!(c[57198]|0))c[57198]=1137;if(!(c[57199]|0))c[57199]=1138;if(!(c[57200]|0))c[57200]=1139;if(!(c[57201]|0))c[57201]=7;vk[a&15]();i=0;l=j;return i|0}function jLa(){var a=0;ELa(207362,62,0);if((cLa(16384)|0)<0){a=-1;return a|0}a=FLa()|0;a=(a|0)<0?a:0;return a|0}function kLa(){var b=0,d=0,e=0,f=0,g=0;g=l;l=l+64|0;f=g;lLa(206501)|0;b=OFa(206751)|0;if(b|0?a[b>>0]|0:0){d=kEa(b)|0;e=sBa(d+1|0)|0;uBa(e,b,d)|0;a[e+d>>0]=0;if(e|0){d=mLa(e,10)|0;if(!d)b=e;else{b=e;do{a[d>>0]=0;lLa(b)|0;b=d+1|0;d=mLa(b,10)|0}while((d|0)!=0)}lLa(b)|0}iBa(e)}oLa(372,0);if((pLa()|0)<=0){l=g;return 0}d=f+8|0;b=0;do{if(qLa(b)|0){c[f>>2]=1619;c[d>>2]=b;tGa(f)|0}b=b+1|0}while((b|0)<(pLa()|0));l=g;return 0}function lLa(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;y=l;l=l+160|0;v=y+136|0;n=y+96|0;k=y+88|0;e=y+80|0;d=y+72|0;w=y+16|0;r=y;h=y+120|0;g=y+104|0;if(!b){c[d>>2]=206968;x=MAa(208008,d)|0;l=y;return x|0}d=mLa(b,44)|0;do if(d|0){d=d-b|0;f=sBa(d+1|0)|0;if(!f){GAa(0)|0;break}uBa(f,b,d)|0;a[f+d>>0]=0;t=(PFa(f,207010)|0)==0;u=(PFa(f,207017)|0)==0;yLa(g,f);q=h;o=g;p=q+16|0;do{a[q>>0]=a[o>>0]|0;q=q+1|0;o=o+1|0}while((q|0)<(p|0));iBa(f);q=r;o=h;p=q+16|0;do{a[q>>0]=a[o>>0]|0;q=q+1|0;o=o+1|0}while((q|0)<(p|0));d=mLa(b,44)|0;a:do if((d|0)!=0?(j=d+1|0,i=mLa(j,44)|0,(i|0)!=0):0){d=i-d|0;e=sBa(d)|0;if(!e){GAa(0)|0;x=11;break}uBa(e,j,d)|0;a[e+(d+-1)>>0]=0;d=mLa(b,44)|0;if((d|0?(m=mLa(d+1|0,44)|0,m|0):0)?(s=fKa(m+1|0)|0,s|0):0){d=c[57215]|0;b:do if(!d)x=26;else{while(1){if(!(xFa(r,d,16)|0))break;d=c[d+24>>2]|0;if(!d){x=26;break b}}k=d+16|0;iBa(c[k>>2]|0);c[k>>2]=e;j=d+20|0;iBa(c[j>>2]|0);c[j>>2]=s;e=c[57220]|0;if(!e){x=0;l=y;return x|0}i=w+8|0;do{f=e+12|0;if(!(xFa(f,d,16)|0)){c[w>>2]=1621;c[i>>2]=c[c[e>>2]>>2];tGa(w)|0;g=c[k>>2]|0;h=c[j>>2]|0;q=v;o=d;p=q+16|0;do{a[q>>0]=a[o>>0]|0;q=q+1|0;o=o+1|0}while((q|0)<(p|0));zLa(f,v,g,h)}e=c[e+1344>>2]|0}while((e|0)!=0);e=1}while(0);do if((x|0)==26){d=sBa(28)|0;if(!d){iBa(e);iBa(s);GAa(0)|0;break a}else{q=d;o=r;p=q+16|0;do{a[q>>0]=a[o>>0]|0;q=q+1|0;o=o+1|0}while((q|0)<(p|0));c[d+16>>2]=e;c[d+20>>2]=s;c[d+24>>2]=c[57215];c[57215]=d;e=0;break}}while(0);if(!d){x=-1;l=y;return x|0}if(e|0){x=0;l=y;return x|0}if(t)c[57217]=d;if(!u){x=1;l=y;return x|0}c[57216]=d;x=1;l=y;return x|0}iBa(e);c[n>>2]=b;MAa(207056,n)|0}else x=11;while(0);if((x|0)==11){c[k>>2]=b;MAa(207028,k)|0}x=-1;l=y;return x|0}while(0);c[e>>2]=b;x=MAa(206982,e)|0;l=y;return x|0}function mLa(a,b){a=a|0;b=b|0;return $Na(a,b)|0}function nLa(e,f){e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;w=l;l=l+80|0;g=w+64|0;e=w+56|0;v=w;switch(c[f>>2]|0){case 1536:{h=a[f+12>>0]|0;if((h&255)>47){c[e>>2]=h&255;MAa(206820,e)|0;l=w;return 1}e=c[57220]|0;if(!e){l=w;return 1}g=c[f+8>>2]|0;i=e;while(1){if((c[c[i>>2]>>2]|0)==(g|0))break;e=c[i+1344>>2]|0;if(!e){u=18;break}else i=e}if((u|0)==18){l=w;return 1}e=h&255;h=c[i+320+(e<<2)>>2]|0;if((h|0)<=-1){g=c[i+896+(e<<2)>>2]|0;if((g|0)<=-1){l=w;return 1}e=b[f+16>>1]|0;e=(((e|0)<0?0-e|0:e)|0)>16384;f=e?1617:1618;c[v>>2]=f;if((nGa(f,-1)|0)<<24>>24==1){c[v+8>>2]=c[c[i>>2]>>2];a[v+12>>0]=g;a[v+13>>0]=e&1;tGa(v)|0}l=w;return 1}e=b[f+16>>1]|0;g=(nGa(1616,-1)|0)<<24>>24==1;if((h&-2|0)==4){if(!g){l=w;return 1}c[v>>2]=1616;c[v+8>>2]=c[c[i>>2]>>2];a[v+12>>0]=h;b[v+16>>1]=(((e<<16>>16)/2|0)&65535)+16384;tGa(v)|0;l=w;return 1}else{if(!g){l=w;return 1}c[v>>2]=1616;c[v+8>>2]=c[c[i>>2]>>2];a[v+12>>0]=h;b[v+16>>1]=e;tGa(v)|0;l=w;return 1}}case 1540:case 1539:{h=a[f+12>>0]|0;if((h&255)>47){c[g>>2]=h&255;MAa(206893,g)|0;l=w;return 1}e=c[57220]|0;if(!e){l=w;return 1}g=c[f+8>>2]|0;i=e;while(1){if((c[c[i>>2]>>2]|0)==(g|0))break;e=c[i+1344>>2]|0;if(!e){u=18;break}else i=e}if((u|0)==18){l=w;return 1}e=h&255;g=c[i+704+(e<<2)>>2]|0;if((g|0)>-1){e=a[f+13>>0]|0;switch(e<<24>>24){case 1:{j=1617;u=27;break}case 0:{j=1618;u=27;break}default:{}}if((u|0)==27?(c[v>>2]=j,(nGa(j,-1)|0)<<24>>24==1):0){c[v+8>>2]=c[c[i>>2]>>2];a[v+12>>0]=g;a[v+13>>0]=e;tGa(v)|0}l=w;return 1}else{g=c[i+512+(e<<2)>>2]|0;if((g|0)<=-1){l=w;return 1}e=a[f+13>>0]|0;if((nGa(1616,-1)|0)<<24>>24!=1){l=w;return 1}c[v>>2]=1616;c[v+8>>2]=c[c[i>>2]>>2];a[v+12>>0]=g;b[v+16>>1]=e<<24>>24==0?0:32767;tGa(v)|0;l=w;return 1}}case 1538:{k=f+12|0;g=a[k>>0]|0;if((g&255)>3){l=w;return 1}e=c[57220]|0;if(!e){l=w;return 1}h=c[f+8>>2]|0;j=e;while(1){if((c[c[j>>2]>>2]|0)==(h|0))break;e=c[j+1344>>2]|0;if(!e){u=18;break}else j=e}if((u|0)==18){l=w;return 1}i=g&255;g=a[j+8+i>>0]|0;h=f+13|0;e=a[h>>0]&g;i=i<<4;g=(e^g)&255;if((g&4|0?(m=c[j+1088+((i|4)<<2)>>2]|0,(m|0)!=-1):0)?(c[v>>2]=1618,(nGa(1618,-1)|0)<<24>>24==1):0){c[v+8>>2]=c[c[j>>2]>>2];a[v+12>>0]=m;a[v+13>>0]=0;tGa(v)|0}if((g&1|0?(n=c[j+1088+((i|1)<<2)>>2]|0,(n|0)!=-1):0)?(c[v>>2]=1618,(nGa(1618,-1)|0)<<24>>24==1):0){c[v+8>>2]=c[c[j>>2]>>2];a[v+12>>0]=n;a[v+13>>0]=0;tGa(v)|0}if((g&8|0?(o=c[j+1088+((i|8)<<2)>>2]|0,(o|0)!=-1):0)?(c[v>>2]=1618,(nGa(1618,-1)|0)<<24>>24==1):0){c[v+8>>2]=c[c[j>>2]>>2];a[v+12>>0]=o;a[v+13>>0]=0;tGa(v)|0}if((g&2|0?(p=c[j+1088+((i|2)<<2)>>2]|0,(p|0)!=-1):0)?(c[v>>2]=1618,(nGa(1618,-1)|0)<<24>>24==1):0){c[v+8>>2]=c[c[j>>2]>>2];a[v+12>>0]=p;a[v+13>>0]=0;tGa(v)|0}e=(a[h>>0]^e)&255;if((e&4|0?(q=c[j+1088+((i|4)<<2)>>2]|0,(q|0)!=-1):0)?(c[v>>2]=1617,(nGa(1617,-1)|0)<<24>>24==1):0){c[v+8>>2]=c[c[j>>2]>>2];a[v+12>>0]=q;a[v+13>>0]=1;tGa(v)|0}if((e&1|0?(r=c[j+1088+((i|1)<<2)>>2]|0,(r|0)!=-1):0)?(c[v>>2]=1617,(nGa(1617,-1)|0)<<24>>24==1):0){c[v+8>>2]=c[c[j>>2]>>2];a[v+12>>0]=r;a[v+13>>0]=1;tGa(v)|0}if((e&8|0?(s=c[j+1088+((i|8)<<2)>>2]|0,(s|0)!=-1):0)?(c[v>>2]=1617,(nGa(1617,-1)|0)<<24>>24==1):0){c[v+8>>2]=c[c[j>>2]>>2];a[v+12>>0]=s;a[v+13>>0]=1;tGa(v)|0}if((e&2|0?(t=c[j+1088+((i|2)<<2)>>2]|0,(t|0)!=-1):0)?(c[v>>2]=1617,(nGa(1617,-1)|0)<<24>>24==1):0){c[v+8>>2]=c[c[j>>2]>>2];a[v+12>>0]=t;a[v+13>>0]=1;tGa(v)|0}a[(d[k>>0]|0)+(j+8)>>0]=a[h>>0]|0;l=w;return 1}case 1541:{e=f+8|0;if(!(qLa(c[e>>2]|0)|0)){l=w;return 1}c[v>>2]=1619;c[v+8>>2]=c[e>>2];tGa(v)|0;l=w;return 1}case 1542:{e=c[57220]|0;if(!e){l=w;return 1}g=c[f+8>>2]|0;while(1){if((c[c[e>>2]>>2]|0)==(g|0))break;e=c[e+1344>>2]|0;if(!e){u=18;break}}if((u|0)==18){l=w;return 1}c[v>>2]=1620;c[v+8>>2]=g;tGa(v)|0;xLa();l=w;return 1}default:{l=w;return 1}}return 0}function oLa(a,b){a=a|0;b=b|0;var d=0;d=sBa(12)|0;if(!d)return;c[d>>2]=a;c[d+4>>2]=b;c[d+8>>2]=0;a=c[56531]|0;if(!a)a=226124;else{while(1){b=c[a+8>>2]|0;if(!b)break;else a=b}a=a+8|0}c[a>>2]=d;return}function pLa(){return uLa()|0}function qLa(a){a=a|0;var b=0,d=0,e=0;e=l;l=l+16|0;d=e;rLa(d,a);b=c[57215]|0;a:do if(!b)b=0;else while(1){if(!(xFa(d,b,16)|0))break a;b=c[b+24>>2]|0;if(!b){b=0;break}}while(0);d=c[57216]|0;b=(b|0)==0&(d|0)!=0?d:b;if(b|0){a=b;l=e;return a|0}b=sLa(a)|0;if(!b){a=0;l=e;return a|0}if((tLa(b,206776)|0)==0?(tLa(b,206781)|0)==0:0){a=0;l=e;return a|0}a=c[57217]|0;l=e;return a|0}function rLa(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;g=l;l=l+32|0;f=g;e=g+8|0;if((d|0)>=0?(uLa()|0)>(d|0):0){wLa(b,d);l=g;return}c[f>>2]=uLa()|0;MAa(206787,f)|0;xBa(e,0,16)|0;d=b;b=d+16|0;do{a[d>>0]=a[e>>0]|0;d=d+1|0;e=e+1|0}while((d|0)<(b|0));l=g;return}function sLa(a){a=a|0;var b=0,d=0;d=l;l=l+16|0;b=d;if((a|0)>=0?(uLa()|0)>(a|0):0){b=vLa(a)|0;l=d;return b|0}c[b>>2]=uLa()|0;MAa(206787,b)|0;b=0;l=d;return b|0}function tLa(a,b){a=a|0;b=b|0;return jOa(a,b)|0}function uLa(){return c[57219]|0}function vLa(a){a=a|0;var b=0;b=c[57218]|0;if((a|0)>0)while(1){b=c[b+1320>>2]|0;if((a|0)>1)a=a+-1|0;else break}return c[b+4>>2]|0}function wLa(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;g=l;l=l+16|0;f=g;e=c[57218]|0;if((d|0)>0)while(1){e=c[e+1320>>2]|0;if((d|0)>1)d=d+-1|0;else break}d=c[e+4>>2]|0;xBa(f,0,16)|0;if((kEa(d)|0)>>>0>16)e=16;else e=kEa(d)|0;uBa(f,d,e)|0;e=f;d=b+16|0;do{a[b>>0]=a[e>>0]|0;b=b+1|0;e=e+1|0}while((b|0)<(d|0));l=g;return}function xLa(){var a=0,b=0,d=0,e=0,f=0;e=l;a=xGa(0,0,1,1619,1619)|0;if((a|0)<1){l=e;return}d=l;l=l+((1*(a*56|0)|0)+15&-16)|0;b=xGa(d,a,2,1619,1619)|0;if((b|0)>0){a=0;do{f=d+(a*56|0)+8|0;c[f>>2]=(c[f>>2]|0)+-1;a=a+1|0}while((a|0)!=(b|0))}xGa(d,b,0,0,0)|0;l=e;return}function yLa(b,c){b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0;m=l;l=l+16|0;d=m;j=(kEa(c)|0)&-2;xBa(d,0,16)|0;a:do if(j|0){k=d;h=d;i=0;while(1){if((h-k|0)>=16)break a;e=a[c+i>>0]|0;f=e<<24>>24;do if((e+-48&255)>=10)if((e+-65&255)<6){e=f+201|0;break}else{e=(e+-97&255)<6?f+169|0:0;break}else e=f+208|0;while(0);g=e<<4;e=a[c+(i|1)>>0]|0;f=e<<24>>24;do if((e+-48&255)>=10)if((e+-65&255)<6){e=f+201|0;break}else{e=(e+-97&255)<6?f+169|0:0;break}else e=f+208|0;while(0);a[h>>0]=e|g;i=i+2|0;if(i>>>0>=j>>>0)break;else h=h+1|0}}while(0);e=b+16|0;do{a[b>>0]=a[d>>0]|0;b=b+1|0;d=d+1|0}while((b|0)<(e|0));l=m;return}function zLa(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0;n=l;l=l+80|0;m=n+64|0;k=n+56|0;i=n+32|0;j=n;h=b;g=h+16|0;do{a[h>>0]=a[d>>0]|0;h=h+1|0;d=d+1|0}while((h|0)<(g|0));c[b+16>>2]=e;c[b+196>>2]=-1;c[b+204>>2]=-1;c[b+212>>2]=-1;c[b+220>>2]=-1;c[b+228>>2]=-1;c[b+236>>2]=-1;c[b+244>>2]=-1;c[b+252>>2]=-1;c[b+260>>2]=-1;c[b+268>>2]=-1;c[b+276>>2]=-1;c[b+284>>2]=-1;c[b+292>>2]=-1;c[b+300>>2]=-1;z2a(b+20|0,-1,172)|0;z2a(b+308|0,-1,1024)|0;xBa(i,0,20)|0;xBa(j,0,20)|0;a:do if(f|0){d=0;g=1;b:while(1){e=a[f>>0]|0;c:do switch(e<<24>>24){case 0:break a;case 58:{d=0;g=0;break}case 32:break;case 44:{ALa(i,j,b);xBa(i,0,20)|0;xBa(j,0,20)|0;d=0;g=1;break}default:{h=d>>>0>19;if(!g){if(h){d=10;break b}a[j+d>>0]=e;d=d+1|0;g=0;break c}else{if(h){d=7;break b}a[i+d>>0]=e;d=d+1|0;break c}}}while(0);f=f+1|0}if((d|0)==7){c[k>>2]=i;MAa(207074,k)|0;l=n;return}else if((d|0)==10){c[m>>2]=j;MAa(207100,m)|0;l=n;return}}while(0);ALa(i,j,b);l=n;return}function ALa(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0;m=l;l=l+32|0;k=m+16|0;h=m+8|0;g=m;j=BLa(b)|0;b=CLa(b)|0;f=d+1|0;i=_Ka(f)|0;switch(a[d>>0]|0){case 97:{if((i|0)>47){c[g>>2]=i;MAa(207135,g)|0;l=m;return}if((b|0)!=-1){c[e+20+(b<<2)>>2]=i;c[e+308+(i<<2)>>2]=b;l=m;return}if((j|0)==-1){l=m;return}c[e+128+(j<<2)>>2]=i;c[e+884+(i<<2)>>2]=j;l=m;return}case 98:{if((i|0)>47){c[h>>2]=i;MAa(207160,h)|0;l=m;return}if((j|0)!=-1){c[e+68+(j<<2)>>2]=i;c[e+692+(i<<2)>>2]=j;l=m;return}if((b|0)==-1){l=m;return}c[e+44+(b<<2)>>2]=i;c[e+500+(i<<2)>>2]=b;l=m;return}case 104:{f=_Ka(f)|0;b=_Ka(d+3|0)|0;if((f|0)>3){c[k>>2]=i;MAa(207187,k)|0}if((j|0)==-1){l=m;return}c[e+188+(j<<3)>>2]=f;a[e+188+(j<<3)+4>>0]=b;c[e+1076+((f<<4|b)<<2)>>2]=j;l=m;return}default:{l=m;return}}}function BLa(b){b=b|0;if((b|0)!=0?(a[b>>0]|0)!=0:0)if(PFa(b,207262)|0)if(PFa(b,207264)|0)if(PFa(b,207266)|0)if(PFa(b,207268)|0)if(PFa(b,207270)|0)if(PFa(b,207275)|0)if(PFa(b,207281)|0)if(PFa(b,207287)|0)if(PFa(b,207297)|0)if(PFa(b,207308)|0)if(PFa(b,207321)|0)if(PFa(b,207335)|0)if(PFa(b,207340)|0)if(!(PFa(b,207347)|0))b=13;else{b=(PFa(b,207354)|0)==0;return (b?14:-1)|0}else b=12;else b=11;else b=10;else b=9;else b=8;else b=7;else b=6;else b=5;else b=4;else b=3;else b=2;else b=1;else b=0;else b=-1;return b|0}function CLa(b){b=b|0;if((b|0)!=0?(a[b>>0]|0)!=0:0)if(PFa(b,207211)|0)if(PFa(b,207217)|0)if(PFa(b,207223)|0)if(PFa(b,207230)|0)if(!(PFa(b,207237)|0))b=4;else{b=(PFa(b,207249)|0)==0;return (b?5:-1)|0}else b=3;else b=2;else b=1;else b=0;else b=-1;return b|0}function DLa(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;if((f|0)!=0?(a[f>>0]|0)==49:0)b=1;else b=0;c[57223]=b;return}function ELa(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;j=l;l=l+16|0;g=j+8|0;f=j;if(b|0?a[b>>0]|0:0){if(!d){c[g>>2]=207508;MAa(208008,g)|0;l=j;return}f=c[56501]|0;a:do if(f|0){while(1){if(!(QFa(b,c[f>>2]|0)|0))break;f=c[f+16>>2]|0;if(!f)break a}h=f+12|0;f=c[h>>2]|0;if(f|0){g=0;while(1){if((c[f>>2]|0)==(d|0)?(c[f+4>>2]|0)==(e|0):0)break;g=c[f+8>>2]|0;if(!g)break a;else{k=f;f=g;g=k}}c[((g|0)==0?h:g+8|0)>>2]=c[f+8>>2];iBa(f)}}while(0);g=sBa(12)|0;if(!g){GAa(0)|0;l=j;return}c[g>>2]=d;c[g+4>>2]=e;f=c[56501]|0;b:do if(!f)i=22;else while(1){if(!(QFa(b,c[f>>2]|0)|0))break b;f=c[f+16>>2]|0;if(!f){i=22;break}}while(0);do if((i|0)==22){f=sBa(20)|0;if(f|0){c[f>>2]=fKa(b)|0;c[f+4>>2]=0;c[f+8>>2]=0;c[f+12>>2]=0;c[f+16>>2]=c[56501];c[56501]=f;break}GAa(0)|0;iBa(g);l=j;return}while(0);f=f+12|0;c[g+8>>2]=c[f>>2];c[f>>2]=g;f=JBa(b)|0;g=c[56501]|0;c:do if(g){while(1){if(!(QFa(b,c[g>>2]|0)|0))break;g=c[g+16>>2]|0;if(!g)break c}if(f|0?(c[g+8>>2]|0)!=2:0)break;f=c[g+4>>2]|0}while(0);Qk[d&127](e,b,f,f);l=j;return}c[f>>2]=207503;MAa(208008,f)|0;l=j;return}function FLa(){var a=0,b=0,d=0,e=0,f=0,g=0;g=l;l=l+1456|0;f=g+1448|0;e=g+1440|0;b=g;c[57219]=0;d=Pc()|0;if((d|0)==-1){f=MAa(207399,g+1432|0)|0;l=g;return f|0}if((d|0)>0){a=0;do{if(!(Mc(a|0,b|0)|0))GLa(0,b,0)|0;a=a+1|0}while((a|0)!=(d|0))}if(qh(0,0,123)|0){a=c[57218]|0;if(a|0)do{f=a;a=c[a+1320>>2]|0;iBa(c[f+8>>2]|0);iBa(c[f+4>>2]|0);iBa(f)}while((a|0)!=0);c[57221]=0;c[57218]=0;c[57219]=0;c[57222]=0;qh(0,0,0)|0;rh(0,0,0)|0;f=MAa(207422,e)|0;l=g;return f|0}if(!(rh(0,0,124)|0)){f=0;l=g;return f|0}a=c[57218]|0;if(a|0)do{e=a;a=c[a+1320>>2]|0;iBa(c[e+8>>2]|0);iBa(c[e+4>>2]|0);iBa(e)}while((a|0)!=0);c[57221]=0;c[57218]=0;c[57219]=0;c[57222]=0;qh(0,0,0)|0;rh(0,0,0)|0;f=MAa(207461,f)|0;l=g;return f|0}function GLa(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;d=b+1300|0;a=c[d>>2]|0;a:do if((a|0)>=0?(e=c[57218]|0,e|0):0){while(1){if((c[e>>2]|0)==(a|0))break;e=c[e+1320>>2]|0;if(!e)break a}return 1}while(0);g=sBa(1328)|0;if(!g)return 1;xBa(g,0,1328)|0;c[g>>2]=c[d>>2];f=fKa(b+1304|0)|0;e=g+4|0;c[e>>2]=f;if(!f){iBa(g);return 1}f=fKa(b+1368|0)|0;c[g+8>>2]=f;if(!f){iBa(c[e>>2]|0);iBa(g);return 1}a=c[b+8>>2]|0;c[g+24>>2]=a;f=c[b+12>>2]|0;c[g+20>>2]=f;d=c[57222]|0;c[57222]=d+1;c[g+12>>2]=d;h[g+32>>3]=+h[b>>3];if((a|0)>0){d=g+40|0;e=0;do{h[d+(e<<3)>>3]=+h[b+16+(e<<3)>>3];e=e+1|0}while((e|0)!=(a|0))}if((f|0)>0){a=g+552|0;d=g+1064|0;e=0;do{h[a+(e<<3)>>3]=+h[b+528+(e<<3)>>3];c[d+(e<<2)>>2]=c[b+1040+(e<<2)>>2];e=e+1|0}while((e|0)!=(f|0))}e=c[57221]|0;if(!e){c[57221]=g;e=228872}else{c[e+1320>>2]=g;e=228884}c[e>>2]=g;b=c[57219]|0;c[57219]=b+1;KLa(b);return 1}function HLa(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;a=c[57218]|0;if(!a)return 1;b=c[b+1300>>2]|0;e=a;d=0;while(1){if((c[e>>2]|0)==(b|0))break;a=c[e+1320>>2]|0;if(!a){f=13;break}else{d=e;e=a}}if((f|0)==13)return 1;a=c[e+16>>2]|0;if(a|0)c[a+44>>2]=0;a=c[e+1320>>2]|0;if(!d)c[57218]=a;else c[d+1320>>2]=a;if((e|0)==(c[57221]|0))c[57221]=d;c[57219]=(c[57219]|0)+-1;ILa(c[e+12>>2]|0);iBa(c[e+4>>2]|0);iBa(c[e+8>>2]|0);iBa(e);return 1}function ILa(a){a=a|0;var b=0,d=0;d=l;l=l+64|0;b=d;c[b>>2]=1542;if((nGa(1542,-1)|0)<<24>>24==1){c[b+8>>2]=a;tGa(b)|0}JLa();l=d;return}function JLa(){var a=0,b=0,d=0,e=0,f=0;e=l;a=xGa(0,0,1,1541,1541)|0;if((a|0)<1){l=e;return}d=l;l=l+((1*(a*56|0)|0)+15&-16)|0;b=xGa(d,a,2,1541,1541)|0;if((b|0)>0){a=0;do{f=d+(a*56|0)+8|0;c[f>>2]=(c[f>>2]|0)+-1;a=a+1|0}while((a|0)!=(b|0))}xGa(d,b,0,0,0)|0;l=e;return}function KLa(a){a=a|0;var b=0,d=0;d=l;l=l+64|0;b=d;c[b>>2]=1541;if((nGa(1541,-1)|0)<<24>>24!=1){l=d;return}c[b+8>>2]=a;tGa(b)|0;l=d;return}function LLa(b){b=b|0;var c=0,d=0,e=0;c=(b|0)==0?29233:b;b=Q(c|0)|0;if(b>>>0>31){e=0;return e|0}e=32-b|0;d=0;b=0;while(1){if(c&1)b=((a[219936+d>>0]|0)==0?0:1<<d)|b;d=d+1|0;if((d|0)==(e|0))break;else c=c>>>1}return b|0}function MLa(){var a=0,b=0,d=0;if(!(c[57185]|0))return;eMa(c[54992]|0);eMa(c[54993]|0);eMa(c[54994]|0);eMa(c[54995]|0);eMa(c[54996]|0);eMa(c[54997]|0);eMa(c[54998]|0);eMa(c[54999]|0);eMa(c[55e3]|0);eMa(c[55001]|0);eMa(c[55002]|0);eMa(c[55003]|0);eMa(c[55004]|0);eMa(c[55005]|0);eMa(c[55006]|0);eMa(c[55007]|0);a=c[57213]|0;if(a|0)do{b=a;a=c[a+4>>2]|0;d=c[b>>2]|0;if(d|0)Bk[c[228800>>2]&2047](d);iBa(b)}while((a|0)!=0);c[57213]=0;c[57211]=0;a=c[57214]|0;if(a|0)do{b=a;a=c[a+4>>2]|0;d=c[b>>2]|0;if(d|0)Bk[c[228800>>2]&2047](d);iBa(b)}while((a|0)!=0);c[57214]=0;c[57212]=0;vk[c[228804>>2]&15]();fMa(c[57208]|0);xBa(228740,0,120)|0;xBa(219968,0,64)|0;return}function NLa(a,b,c){a=a|0;b=b|0;c=c|0;return oOa(a,b,c)|0}function OLa(){var a=0,b=0;a=sBa(12)|0;if(!a){GAa(0)|0;return a|0}b=dMa(1)|0;c[a+8>>2]=b;c[a>>2]=0;c[a+4>>2]=0;if(b|0){b=a;return b|0}iBa(a);b=0;return b|0}function PLa(a){a=a|0;return}function QLa(){XKa(0,207591,1);if(!(c[57204]|0))return;XKa(1,207618,2);return}function RLa(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return GAa(4)|0}function SLa(a){a=a|0;return}function TLa(a){a=a|0;return}function ULa(a){a=a|0;return}function VLa(a){a=a|0;return 0}function WLa(a){a=a|0;return 0}function XLa(a,b,c){a=a|0;b=b|0;c=c|0;return -1}function YLa(a){a=a|0;return}function ZLa(a){a=a|0;return}function _La(a){a=a|0;return}function $La(a){a=a|0;var b=0;if(c[a+156>>2]|0?(b=nBa()|0,(b|0)==(c[a+160>>2]|0)):0)return;return}function aMa(a){a=a|0;var b=0;if(c[a+156>>2]|0?(b=nBa()|0,(b|0)==(c[a+160>>2]|0)):0)return;return}function bMa(a){a=a|0;return}function cMa(){return}function dMa(a){a=a|0;a=l;l=l+16|0;MAa(207646,a)|0;l=a;return 0}function eMa(a){a=a|0;var b=0,d=0;if(!a)return;b=c[a>>2]|0;if(b|0?(d=219968+(b+-1<<2)|0,(c[d>>2]|0)==(a|0)):0)c[d>>2]=0;ZKa(a+132|0,1)|0;ZKa(a+136|0,0)|0;b=c[a+156>>2]|0;if(b|0)hMa(b,0);b=c[a+152>>2]|0;if(b|0)fMa(b);iBa(c[a+148>>2]|0);if(c[a+28>>2]|0)iBa(c[a+44>>2]|0);if(c[a+180>>2]|0)Bk[c[228788>>2]&2047](a);b=c[a+164>>2]|0;if(b|0)do{d=b;b=c[b+8200>>2]|0;iBa(d)}while((b|0)!=0);b=c[a+172>>2]|0;if(b|0)do{d=b;b=c[b+8200>>2]|0;iBa(d)}while((b|0)!=0);iBa(a);return}function fMa(a){a=a|0;if(!a)return;iBa(a);return}function gMa(a){a=a|0;return}function hMa(a,b){a=a|0;b=b|0;if(!a)return;if(b|0)c[b>>2]=c[a+8>>2];b=c[a+792>>2]|0;if(b|0)iBa(b);iBa(a);return}function iMa(a){a=a|0;return}function jMa(){var a=0,b=0,d=0,e=0,f=0;if(!(c[56498]|0))return;cNa();dNa();fNa(16384);a=c[56498]|0;b=a+260|0;if((c[b>>2]|0)!=0?(c[b>>2]=0,d=c[a+208>>2]|0,(d|0)!=0):0){Bk[d&2047](a);a=c[56498]|0}b=c[a+272>>2]|0;if(b)do{gNa(b);a=c[56498]|0;b=c[a+272>>2]|0}while((b|0)!=0);Bk[c[a+8>>2]&2047](a);b=c[56498]|0;d=c[b+264>>2]|0;a=c[b+268>>2]|0;if((d|0)>0){f=0;do{d=c[a+(f*68|0)+8>>2]|0;e=a+(f*68|0)+12|0;b=c[e>>2]|0;if(d)do{d=d+-1|0;iBa(c[b+(d*20|0)+16>>2]|0);b=c[e>>2]|0;c[b+(d*20|0)+16>>2]=0}while((d|0)!=0);iBa(b);c[e>>2]=0;b=a+(f*68|0)+32|0;iBa(c[b>>2]|0);c[b>>2]=0;b=a+(f*68|0)+64|0;iBa(c[b>>2]|0);c[b>>2]=0;f=f+1|0;b=c[56498]|0;d=c[b+264>>2]|0;a=c[b+268>>2]|0}while((f|0)<(d|0))}if(!a)a=b;else{if((d|0)>0){b=0;do{iBa(c[a+(b*68|0)>>2]|0);b=b+1|0;f=c[56498]|0;a=c[f+268>>2]|0}while((b|0)<(c[f+264>>2]|0))}iBa(a);a=c[56498]|0;c[a+268>>2]=0;c[a+264>>2]=0}iBa(c[a+288>>2]|0);f=c[56498]|0;c[f+288>>2]=0;Bk[c[f+684>>2]&2047](f);c[56498]=0;return}function kMa(){uBa(226672,30480,2048)|0;return 0}function lMa(){c[56528]=1;return 0}function mMa(){return 0}function nMa(){return (HGa(228896,1)|0)+1|0}function oMa(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0;q=l;l=l+112|0;i=q+16|0;h=q+8|0;p=q+20|0;b=c[56498]|0;a:do if(!b){MAa(192981,q)|0;k=12}else{if(d|0?(c[d>>2]|0)==(b+280|0):0){b=c[d+140>>2]|0;if(!b){k=12;break}while(1){h=c[b>>2]|0;if(h|0?(QFa(h,207847)|0)==0:0)break;b=c[b+8>>2]|0;if(!b){k=12;break a}}b=c[b+4>>2]|0;if(!b){k=12;break}else{o=b;break}}MAa(208472,h)|0;k=12}while(0);do if((k|0)==12){h=OFa(207790)|0;b:do if((((((h|0)!=0?(a[h>>0]&-2)<<24>>24!=48:0)?(PFa(h,215834)|0)!=0:0)?(PFa(h,215828)|0)!=0:0)?(PFa(h,207781)|0)!=0:0)?(XMa()|0)>0:0){b=0;while(1){YMa(b,p)|0;if(!(PFa(c[p>>2]|0,h)|0))break;b=b+1|0;if((b|0)>=(XMa()|0)){k=22;break b}}h=ZMa(d,b,0)|0;if(!h)k=22}else k=22;while(0);c:do if((k|0)==22){d:do if((XMa()|0)>0){b=0;while(1){YMa(b,p)|0;if(QFa(c[p>>2]|0,207781)|0?(j=ZMa(d,b,0)|0,j|0):0)break;b=b+1|0;if((b|0)>=(XMa()|0))break d}h=j;break c}while(0);g=MAa(208274,i)|0;l=q;return g|0}while(0);b=FAa(1,20)|0;if(b|0){BKa(d,207847,b)|0;c[b>>2]=h;o=b;break}sMa(h);g=GAa(0)|0;l=q;return g|0}while(0);m=o+4|0;b=c[m>>2]|0;if(b|0){rMa(b);c[m>>2]=0}n=o+8|0;iBa(c[n>>2]|0);c[n>>2]=0;if((_Ma(c[o>>2]|0,p)|0)<0){g=-1;l=q;return g|0}b=c[p+12>>2]|0;c[e>>2]=b;k=c[p+8>>2]|0;e:do if(k){j=0;h=b;f:while(1){g:do if((h|0)==0|(h&-268435456|0)==268435456){i=h>>>24&15;if((i+-4|0)>>>0<3)switch(h>>>20&15){case 8:case 7:case 4:case 3:break g;default:break f}if((i+-7|0)>>>0>=5)break f;switch(h>>>20&15){case 5:case 6:case 2:case 3:break;default:break f}}while(0);h=j+1|0;if(h>>>0>=k>>>0)break e;j=h;h=c[p+12+(h<<2)>>2]|0}c[e>>2]=h;b=h}while(0);h=d+24|0;i=d+28|0;d=$Ma(c[o>>2]|0,b,1,c[h>>2]|0,c[i>>2]|0)|0;c[m>>2]=d;if(!d){g=-1;l=q;return g|0}b=c[e>>2]|0;h:do if((b|0)==0|(b&-268435456|0)==268435456)b=b&255;else{if((b|0)<1498831189)switch(b|0){case 844715353:{b=2;break h}default:{}}else switch(b|0){case 1498831189:{b=2;break h}default:{}}b=(b|0)==1431918169?2:1}while(0);c[o+16>>2]=b;b=(N(c[h>>2]|0,b)|0)+3&-4;h=o+12|0;c[h>>2]=b;b=sBa(N(b,c[i>>2]|0)|0)|0;c[n>>2]=b;if(!b){g=GAa(0)|0;l=q;return g|0}else{c[f>>2]=b;c[g>>2]=c[h>>2];yMa(c[o>>2]|0,0)|0;g=0;l=q;return g|0}return 0}function pMa(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;i=l;l=l+48|0;h=i+16|0;f=i+8|0;g=i+24|0;a=c[56498]|0;a:do if(!a)MAa(192981,i)|0;else{if(b|0?(c[b>>2]|0)==(a+280|0):0){a=c[b+140>>2]|0;if(!a)break;while(1){f=c[a>>2]|0;if(f|0?(QFa(f,207847)|0)==0:0)break;a=c[a+8>>2]|0;if(!a)break a}a=c[a+4>>2]|0;if(!a)break;f=a+4|0;if(!(c[f>>2]|0))break;if(!(AMa(c[b+24>>2]|0,c[b+28>>2]|0,e,d,g)|0)){e=0;l=i;return e|0}e=c[a+12>>2]|0;d=(c[a+8>>2]|0)+(N(e,c[g+4>>2]|0)|0)|0;d=d+(N(c[a+16>>2]|0,c[g>>2]|0)|0)|0;if((BMa(c[f>>2]|0,g,d,e)|0)<0){e=-1;l=i;return e|0}if((CMa(c[a>>2]|0,c[f>>2]|0,0,0)|0)<0){e=-1;l=i;return e|0}DMa(c[a>>2]|0);e=0;l=i;return e|0}MAa(208472,f)|0}while(0);e=MAa(207985,h)|0;l=i;return e|0}function qMa(a,b){a=a|0;b=b|0;b=BKa(b,207847,0)|0;if(!b)return;a=c[b+4>>2]|0;if(a|0)rMa(a);a=c[b>>2]|0;if(a|0)sMa(a);iBa(c[b+8>>2]|0);iBa(b);return}function rMa(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;f=l;l=l+16|0;b=f;if(a|0?(c[a>>2]|0)==231027:0){e=c[a+32>>2]|0;b=e+308|0;do if((c[b>>2]|0)==(a|0)){if((e|0?(d=c[e+44>>2]|0,d|0):0)?c[e+108>>2]&8|0:0){c[b>>2]=0;if((kk[d&511](e,0)|0)<0)break;g=e+216|0;h=e+232|0;c[g>>2]=c[h>>2];c[g+4>>2]=c[h+4>>2];c[g+8>>2]=c[h+8>>2];c[g+12>>2]=c[h+12>>2];g=e+248|0;h=e+264|0;c[g>>2]=c[h>>2];c[g+4>>2]=c[h+4>>2];c[g+8>>2]=c[h+8>>2];c[g+12>>2]=c[h+12>>2];g=c[e+284>>2]|0;h=e+296|0;b=c[h+4>>2]|0;d=e+288|0;c[d>>2]=c[h>>2];c[d+4>>2]=b;d=c[e+208>>2]|0;b=c[e+204>>2]|0;c[e+280>>2]=g;c[e+196>>2]=b;c[e+200>>2]=d;if((gk[c[e+48>>2]&1023](e)|0)<0)break;gk[c[e+52>>2]&1023](e)|0;break}GAa(4)|0}while(0);c[a>>2]=0;d=c[a+76>>2]|0;b=a+72|0;if(d|0)c[d+72>>2]=c[b>>2];b=c[b>>2]|0;c[((b|0)==0?e+304|0:b+76|0)>>2]=d;b=c[a+36>>2]|0;if(b|0)rMa(b);b=c[a+40>>2]|0;if(b|0)zMa(b);iBa(c[a+44>>2]|0);Jk[c[e+88>>2]&1023](e,a);iBa(a);l=f;return}MAa(193640,b)|0;l=f;return}function sMa(a){a=a|0;var b=0,d=0,e=0;e=l;l=l+16|0;b=e;if(a|0?(c[a>>2]|0)==231026:0){uMa(373,a);d=a+304|0;b=c[d>>2]|0;if(b|0)do{rMa(b);b=c[d>>2]|0}while((b|0)!=0);b=c[a+188>>2]|0;if(b|0)BKa(b,207870,0)|0;c[a>>2]=0;Bk[c[a+92>>2]&2047](a);l=e;return}MAa(193623,b)|0;l=e;return}function tMa(b,d){b=b|0;d=d|0;var e=0,f=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0;n=l;l=l+16|0;k=n+4|0;m=n;switch(c[d>>2]|0){case 512:{f=vMa(c[d+8>>2]|0)|0;j=b+188|0;if((f|0)!=(c[j>>2]|0)){l=n;return 0}e=c[b+4>>2]|0;if(e|0)Jk[e&1023](b,d);switch(a[d+12>>0]|0){case 6:{f=b+308|0;h=c[f>>2]|0;i=(h|0)!=0;do if(i){e=c[b+44>>2]|0;if(e|0?c[b+108>>2]&8|0:0){c[f>>2]=0;if((kk[e&511](b,0)|0)<0)break;o=b+216|0;p=b+232|0;c[o>>2]=c[p>>2];c[o+4>>2]=c[p+4>>2];c[o+8>>2]=c[p+8>>2];c[o+12>>2]=c[p+12>>2];o=b+248|0;p=b+264|0;c[o>>2]=c[p>>2];c[o+4>>2]=c[p+4>>2];c[o+8>>2]=c[p+8>>2];c[o+12>>2]=c[p+12>>2];o=c[b+284>>2]|0;p=b+296|0;e=c[p+4>>2]|0;d=b+288|0;c[d>>2]=c[p>>2];c[d+4>>2]=e;d=c[b+208>>2]|0;e=c[b+204>>2]|0;c[b+280>>2]=o;c[b+196>>2]=e;c[b+200>>2]=d;if((gk[c[b+48>>2]&1023](b)|0)<0)break;gk[c[b+52>>2]&1023](b)|0;break}GAa(4)|0}while(0);if(!(c[b+196>>2]|0)){e=c[b+8>>2]|0;if(!e)HFa(c[j>>2]|0,k,m);else lk[e&127](b,k,m)|0;if(!(c[f>>2]|0)){c[b+216>>2]=0;c[b+220>>2]=0;c[b+224>>2]=c[k>>2];c[b+228>>2]=c[m>>2];gk[c[b+48>>2]&1023](b)|0}else{c[b+232>>2]=0;c[b+236>>2]=0;c[b+240>>2]=c[k>>2];c[b+244>>2]=c[m>>2]}}else wMa(b)|0;if(!i){l=n;return 0}xMa(b,h)|0;l=n;return 0}case 2:{c[b+192>>2]=1;l=n;return 0}case 1:{if((CAa(f)|0)&64|0){l=n;return 0}c[b+192>>2]=0;l=n;return 0}case 7:{c[b+192>>2]=1;l=n;return 0}case 8:case 9:{if((CAa(f)|0)&8|0){l=n;return 0}c[b+192>>2]=0;l=n;return 0}default:{l=n;return 0}}}case 1024:{e=vMa(c[d+8>>2]|0)|0;if(!(c[b+196>>2]|0)){l=n;return 0}if((e|0)!=(c[b+188>>2]|0)){l=n;return 0}i=d+20|0;p=(c[i>>2]|0)-(c[b+216>>2]|0)|0;c[i>>2]=p;h=d+24|0;e=(c[h>>2]|0)-(c[b+220>>2]|0)|0;c[h>>2]=e;f=b+288|0;c[i>>2]=~~(+(p|0)/+g[f>>2]);i=b+292|0;c[h>>2]=~~(+(e|0)/+g[i>>2]);h=d+28|0;e=c[h>>2]|0;if((e|0)<=0){if((e|0)<0){e=~~(+(e|0)/+g[f>>2]);e=(e|0)<-1?e:-1;j=36}}else{e=~~(+(e|0)/+g[f>>2]);e=(e|0)>1?e:1;j=36}if((j|0)==36)c[h>>2]=e;e=d+32|0;f=c[e>>2]|0;if((f|0)>0){p=~~(+(f|0)/+g[i>>2]);c[e>>2]=(p|0)>1?p:1;l=n;return 0}if((f|0)>=0){l=n;return 0}p=~~(+(f|0)/+g[i>>2]);c[e>>2]=(p|0)<-1?p:-1;l=n;return 0}case 1026:case 1025:{e=vMa(c[d+8>>2]|0)|0;if(!(c[b+196>>2]|0)){l=n;return 0}if((e|0)!=(c[b+188>>2]|0)){l=n;return 0}m=d+20|0;k=(c[m>>2]|0)-(c[b+216>>2]|0)|0;c[m>>2]=k;p=d+24|0;o=(c[p>>2]|0)-(c[b+220>>2]|0)|0;c[p>>2]=o;c[m>>2]=~~(+(k|0)/+g[b+288>>2]);c[p>>2]=~~(+(o|0)/+g[b+292>>2]);l=n;return 0}default:{l=n;return 0}}return 0}function uMa(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=c[56531]|0;if(!d)return;e=0;f=d;while(1){if((c[f>>2]|0)==(a|0)?(c[f+4>>2]|0)==(b|0):0)break;d=c[f+8>>2]|0;if(!d){g=7;break}else{e=f;f=d}}if((g|0)==7)return;c[((e|0)==0?226124:e+8|0)>>2]=c[f+8>>2];iBa(f);return}function vMa(a){a=a|0;var b=0;b=c[56498]|0;if(!b){a=0;return a|0}b=c[b+272>>2]|0;if(!b){a=0;return a|0}while(1){if((c[b+4>>2]|0)==(a|0)){a=6;break}b=c[b+152>>2]|0;if(!b){b=0;a=6;break}}if((a|0)==6)return b|0;return 0}function wMa(a){a=a|0;var b=0.0,d=0,e=0,f=0.0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0;q=l;l=l+64|0;p=q+32|0;i=q+24|0;h=q+16|0;e=q+8|0;k=q+60|0;m=q+56|0;n=q+40|0;c[k>>2]=1;c[m>>2]=1;j=a+196|0;if(!(c[j>>2]|0)){p=0;l=q;return p|0}o=a+200|0;if(!(c[o>>2]|0)){p=0;l=q;return p|0}if((c[a>>2]|0)!=231026){MAa(193623,q)|0;p=-1;l=q;return p|0}d=c[a+308>>2]|0;a:do if(!d){d=c[a+8>>2]|0;do if(!d){d=c[a+188>>2]|0;if(!d){d=MAa(193656,h)|0;break}else{HFa(d,k,m);break a}}else d=lk[d&127](a,k,m)|0;while(0);if((d|0)<0){p=-1;l=q;return p|0}}else{if((c[d>>2]|0)==231027){c[k>>2]=c[d+12>>2];c[m>>2]=c[d+16>>2];break}MAa(193640,e)|0;p=-1;l=q;return p|0}while(0);b=+(c[j>>2]|0)/+(c[o>>2]|0);f=+(c[k>>2]|0)/+(c[m>>2]|0);if((c[a>>2]|0)==231026){g[a+288>>2]=1.0;g[a+292>>2]=1.0}else MAa(193623,i)|0;do if(!(c[a+212>>2]|0)){if(+BGa(b-f)<.0001){b=+(c[k>>2]|0)/+(c[j>>2]|0);yMa(a,0)|0;break}if(b>f){k=c[k>>2]|0;b=+(k|0)/+(c[j>>2]|0);c[n>>2]=0;c[n+8>>2]=k;o=~~+QHa(b*+(c[o>>2]|0));c[n+12>>2]=o;c[n+4>>2]=((c[m>>2]|0)-o|0)/2|0;yMa(a,n)|0;break}else{m=c[m>>2]|0;b=+(m|0)/+(c[o>>2]|0);c[n+4>>2]=0;c[n+12>>2]=m;o=~~+QHa(b*+(c[j>>2]|0));c[n+8>>2]=o;c[n>>2]=((c[k>>2]|0)-o|0)/2|0;yMa(a,n)|0;break}}else{if(b>f){d=c[j>>2]|0;e=(c[k>>2]|0)/(d|0)|0}else{e=(c[m>>2]|0)/(c[o>>2]|0)|0;d=c[j>>2]|0}b=+(e|0);j=~~+QHa(b*+(d|0));c[n+8>>2]=j;c[n>>2]=((c[k>>2]|0)-j|0)/2|0;o=~~+QHa(b*+(c[o>>2]|0));c[n+12>>2]=o;c[n+4>>2]=((c[m>>2]|0)-o|0)/2|0;yMa(a,n)|0}while(0);if((c[a>>2]|0)==231026){g[a+288>>2]=b;g[a+292>>2]=b;p=0;l=q;return p|0}else{MAa(193623,p)|0;p=0;l=q;return p|0}return 0}function xMa(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,h=0,i=0,j=0,k=0;k=l;l=l+32|0;f=k+16|0;e=k+8|0;d=k;if((a|0?(j=c[a+44>>2]|0,j|0):0)?c[a+108>>2]&8|0:0){i=a+308|0;h=c[i>>2]|0;if((h|0)==(b|0)){a=0;l=k;return a|0}do if(b){if((c[b>>2]|0)!=231027){MAa(193640,d)|0;a=-1;l=k;return a|0}if((c[b+32>>2]|0)!=(a|0)){a=MAa(207892,e)|0;l=k;return a|0}if((c[b+8>>2]|0)==2){d=c[b+36>>2]|0;b=(d|0)==0?b:d;d=(b|0)!=0;if(h|0){e=b;break}f=a+232|0;h=a+216|0;c[f>>2]=c[h>>2];c[f+4>>2]=c[h+4>>2];c[f+8>>2]=c[h+8>>2];c[f+12>>2]=c[h+12>>2];f=a+264|0;h=a+248|0;c[f>>2]=c[h>>2];c[f+4>>2]=c[h+4>>2];c[f+8>>2]=c[h+8>>2];c[f+12>>2]=c[h+12>>2];c[a+284>>2]=c[a+280>>2];f=a+288|0;h=c[f+4>>2]|0;e=a+296|0;c[e>>2]=c[f>>2];c[e+4>>2]=h;c[a+204>>2]=c[a+196>>2];c[a+208>>2]=c[a+200>>2];e=b;break}else{a=MAa(207935,f)|0;l=k;return a|0}}else{e=0;d=0}while(0);c[i>>2]=e;if((kk[j&511](a,e)|0)<0){a=-1;l=k;return a|0}b=a+216|0;if(d){c[b>>2]=0;c[a+220>>2]=0;d=e+12|0;c[a+224>>2]=c[d>>2];b=e+16|0;c[a+228>>2]=c[b>>2];xBa(a+248|0,0,16)|0;g[a+288>>2]=1.0;g[a+292>>2]=1.0;e=0}else{e=a+232|0;c[b>>2]=c[e>>2];c[b+4>>2]=c[e+4>>2];c[b+8>>2]=c[e+8>>2];c[b+12>>2]=c[e+12>>2];e=a+248|0;j=a+264|0;c[e>>2]=c[j>>2];c[e+4>>2]=c[j+4>>2];c[e+8>>2]=c[j+8>>2];c[e+12>>2]=c[j+12>>2];e=c[a+284>>2]|0;j=a+296|0;d=c[j+4>>2]|0;b=a+288|0;c[b>>2]=c[j>>2];c[b+4>>2]=d;b=a+208|0;d=a+204|0}j=c[b>>2]|0;i=c[d>>2]|0;c[a+280>>2]=e;c[a+196>>2]=i;c[a+200>>2]=j;if((gk[c[a+48>>2]&1023](a)|0)<0){a=-1;l=k;return a|0}a=(gk[c[a+52>>2]&1023](a)|0)>>31;l=k;return a|0}a=GAa(4)|0;l=k;return a|0}function yMa(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,h=0,i=0;i=l;l=l+32|0;h=i+16|0;f=i+8|0;d=i;if(a|0?(c[a>>2]|0)==231026:0){a:do if(!b){c[a+216>>2]=0;c[a+220>>2]=0;d=a+224|0;e=a+228|0;b=c[a+308>>2]|0;if(b|0){if((c[b>>2]|0)==231027){c[d>>2]=c[b+12>>2];c[e>>2]=c[b+16>>2];break}MAa(193640,f)|0;a=-1;l=i;return a|0}b=c[a+8>>2]|0;do if(!b){b=c[a+188>>2]|0;if(!b){b=MAa(193656,h)|0;break}else{HFa(b,d,e);break a}}else b=lk[b&127](a,d,e)|0;while(0);if((b|0)<0){a=-1;l=i;return a|0}}else{f=a+288|0;c[a+216>>2]=~~+ZHa(+g[f>>2]*+(c[b>>2]|0));h=a+292|0;c[a+220>>2]=~~+ZHa(+g[h>>2]*+(c[b+4>>2]|0));c[a+224>>2]=~~+QHa(+g[f>>2]*+(c[b+8>>2]|0));c[a+228>>2]=~~+QHa(+g[h>>2]*+(c[b+12>>2]|0))}while(0);a=gk[c[a+48>>2]&1023](a)|0;l=i;return a|0}MAa(193623,d)|0;a=-1;l=i;return a|0}function zMa(a){a=a|0;if(!a)return;iBa(c[a+16>>2]|0);iBa(c[a+20>>2]|0);iBa(c[a+24>>2]|0);ABa(c[a+56>>2]|0);ABa(c[a+60>>2]|0);iBa(a);return}function AMa(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0;m=l;l=l+48|0;i=m+32|0;k=m+24|0;j=m+16|0;h=m+8|0;g=m;if((a|0)<1){c[g>>2]=208241;MAa(208008,g)|0;f=0;l=m;return f|0}if((b|0)<1){c[h>>2]=208247;MAa(208008,h)|0;f=0;l=m;return f|0}if(!e){c[j>>2]=208254;MAa(208008,j)|0;f=0;l=m;return f|0}if(!f){c[k>>2]=208260;MAa(208008,k)|0;f=0;l=m;return f|0}if((d|0)<1){c[i>>2]=208265;MAa(208008,i)|0;f=0;l=m;return f|0}g=0;h=0;i=b;do{j=c[e+(g<<4)+4>>2]|0;k=(c[e+(g<<4)+12>>2]|0)+j|0;i=(j|0)<0?0:(j|0)<(i|0)?j:i;h=(k|0)>(b|0)?b:(k|0)>(h|0)?k:h;g=g+1|0}while((g|0)!=(d|0));if((h|0)<=(i|0)){f=0;l=m;return f|0}c[f>>2]=0;c[f+4>>2]=i;c[f+8>>2]=a;c[f+12>>2]=h-i;f=1;l=m;return f|0}function BMa(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0;r=l;l=l+64|0;i=r+16|0;h=r+8|0;g=r;q=r+48|0;n=r+44|0;o=r+40|0;f=r+24|0;if(a|0?(c[a>>2]|0)==231027:0){if(!d){c[h>>2]=208034;q=MAa(208008,h)|0;l=r;return q|0}if(!e){c[i>>2]=208041;q=MAa(208008,i)|0;l=r;return q|0}if(!b){c[f>>2]=0;c[f+4>>2]=0;g=c[a+12>>2]|0;j=f+8|0;c[j>>2]=g;c[f+12>>2]=c[a+16>>2]}else{g=b+8|0;f=b;j=g;g=c[g>>2]|0}if(!g){q=0;l=r;return q|0}k=f+12|0;i=c[k>>2]|0;if(!i){q=0;l=r;return q|0}m=a+40|0;b=c[m>>2]|0;p=c[a+36>>2]|0;if(b|0){do if((FMa(b,f,d,e)|0)>=0){c[q>>2]=0;c[q+4>>2]=0;f=c[a+12>>2]|0;i=q+8|0;c[i>>2]=f;h=c[a+16>>2]|0;j=q+12|0;c[j>>2]=h;if((c[a+8>>2]|0)==1)if((GMa(p,q,n,o)|0)<0){b=-1;break}else{HMa(c[m>>2]|0,q,c[p+4>>2]|0,c[i>>2]|0,c[j>>2]|0,c[n>>2]|0,c[o>>2]|0)|0;IMa(p);b=0;break}g=p+4|0;b=c[g>>2]|0;a:do if((b|0)==0|(b&-268435456|0)==268435456)b=b&255;else{if((b|0)<1498831189)switch(b|0){case 844715353:{b=2;break a}default:{}}else switch(b|0){case 1498831189:{b=2;break a}default:{}}b=(b|0)==1431918169?2:1}while(0);f=(N(b,f)|0)+3&-4;b=sBa(N(f,h)|0)|0;if(!b){b=GAa(0)|0;break}else{HMa(c[m>>2]|0,q,c[g>>2]|0,c[i>>2]|0,c[j>>2]|0,b,f)|0;BMa(p,q,b,f)|0;iBa(b);b=0;break}}else b=-1;while(0);q=b;l=r;return q|0}if(!p){q=c[a+32>>2]|0;q=pk[c[q+28>>2]&63](q,a,f,d,e)|0;l=r;return q|0}if((c[a+8>>2]|0)==1)if((GMa(p,f,q,n)|0)<0){q=-1;l=r;return q|0}else{vBa(c[j>>2]|0,c[k>>2]|0,c[a+4>>2]|0,d,e,c[p+4>>2]|0,c[q>>2]|0,c[n>>2]|0)|0;IMa(p);q=0;l=r;return q|0}h=p+4|0;b=c[h>>2]|0;b:do if((b|0)==0|(b&-268435456|0)==268435456)b=b&255;else{if((b|0)<1498831189)switch(b|0){case 844715353:{b=2;break b}default:{}}else switch(b|0){case 1498831189:{b=2;break b}default:{}}b=(b|0)==1431918169?2:1}while(0);g=(N(b,g)|0)+3&-4;b=sBa(N(g,i)|0)|0;if(!b){q=GAa(0)|0;l=r;return q|0}else{vBa(c[j>>2]|0,c[k>>2]|0,c[a+4>>2]|0,d,e,c[h>>2]|0,b,g)|0;BMa(p,f,b,g)|0;iBa(b);q=0;l=r;return q|0}}MAa(193640,g)|0;q=-1;l=r;return q|0}function CMa(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0.0,h=0.0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0.0;q=l;l=l+80|0;m=q+24|0;k=q+16|0;j=q+8|0;i=q;n=q+64|0;o=q+48|0;p=q+32|0;c[n>>2]=0;c[n+4>>2]=0;c[n+8>>2]=0;c[n+12>>2]=0;c[o>>2]=0;c[o+4>>2]=0;c[o+8>>2]=0;c[o+12>>2]=0;if(a|0?(c[a>>2]|0)==231026:0){if(b|0?(c[b>>2]|0)==231027:0){if((c[b+32>>2]|0)!=(a|0)){p=MAa(207892,k)|0;l=q;return p|0}if(c[a+192>>2]|0){p=0;l=q;return p|0}c[n>>2]=0;c[n+4>>2]=0;c[n+8>>2]=c[b+12>>2];c[n+12>>2]=c[b+16>>2];do if(d){if(!(FFa(d,n,n)|0)){p=0;l=q;return p|0}if((c[a>>2]|0)==231026){f=+g[a+288>>2];c[o>>2]=~~(+(c[a+216>>2]|0)/f);h=+g[a+292>>2];i=o+4|0;c[i>>2]=~~(+(c[a+220>>2]|0)/h);c[o+8>>2]=~~(+(c[a+224>>2]|0)/f);c[o+12>>2]=~~(+(c[a+228>>2]|0)/h);d=o;break}else{MAa(193623,m)|0;i=o+4|0;d=o;break}}else{f=+g[a+288>>2];c[o>>2]=~~(+(c[a+216>>2]|0)/f);h=+g[a+292>>2];i=o+4|0;c[i>>2]=~~(+(c[a+220>>2]|0)/h);c[o+8>>2]=~~(+(c[a+224>>2]|0)/f);c[o+12>>2]=~~(+(c[a+228>>2]|0)/h);d=o}while(0);c[d>>2]=0;c[i>>2]=0;do if(e)if(!(EMa(e,o)|0)){p=0;l=q;return p|0}else{c[o>>2]=c[e>>2];c[o+4>>2]=c[e+4>>2];c[o+8>>2]=c[e+8>>2];c[o+12>>2]=c[e+12>>2];h=+(c[d>>2]|0);f=+(c[i>>2]|0);break}else{h=0.0;f=0.0}while(0);e=c[b+36>>2]|0;r=+g[a+288>>2];g[p>>2]=r*h;h=+g[a+292>>2];g[p+4>>2]=h*f;g[p+8>>2]=r*+(c[o+8>>2]|0);g[p+12>>2]=h*+(c[o+12>>2]|0);p=mk[c[a+72>>2]&63](a,(e|0)==0?b:e,n,p)|0;l=q;return p|0}MAa(193640,j)|0;p=-1;l=q;return p|0}MAa(193623,i)|0;p=-1;l=q;return p|0}function DMa(a){a=a|0;var b=0,d=0;d=l;l=l+16|0;b=d;if(a|0?(c[a>>2]|0)==231026:0){if(c[a+192>>2]|0){l=d;return}Bk[c[a+84>>2]&2047](a);l=d;return}MAa(193623,b)|0;l=d;return}function EMa(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;i=l;l=l+16|0;e=i+8|0;d=i;do if(a){if(!b){c[e>>2]=193575;MAa(208008,e)|0;d=0;break}d=c[a+8>>2]|0;if(((((d|0)>=1?(h=c[a+12>>2]|0,(h|0)>0):0)?(f=c[b+8>>2]|0,(f|0)>=1):0)?(g=c[b+12>>2]|0,(g|0)>0):0)?(e=c[a>>2]|0,j=d+e|0,d=c[b>>2]|0,f=f+d|0,(((f|0)<(j|0)?f:j)|0)>(((d|0)>(e|0)?d:e)|0)):0){d=c[a+4>>2]|0;h=h+d|0;j=c[b+4>>2]|0;g=g+j|0;d=(((g|0)<(h|0)?g:h)|0)>(((j|0)>(d|0)?j:d)|0)&1}else d=0}else{c[d>>2]=193573;MAa(208008,d)|0;d=0}while(0);l=i;return d|0}function FMa(a,b,d,f){a=a|0;b=b|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;g=c[a>>2]|0;a:do if((g|0)<1431918169)if((g|0)<844715353){switch(g|0){case 842094169:break a;default:{}}return 0}else{switch(g|0){case 844715353:{h=16;break a}default:{}}return 0}else{if((g|0)<1448433993){switch(g|0){case 1431918169:{h=16;break a}default:{}}return 0}if((g|0)<1498831189){switch(g|0){case 1448433993:break a;default:{}}return 0}else{switch(g|0){case 1498831189:{h=16;break a}default:{}}return 0}}while(0);if((h|0)==16){k=a+36|0;i=c[b+8>>2]<<1;j=b+12|0;if((c[j>>2]|0)<=0)return 0;g=(c[a+44>>2]|0)+(N(c[b+4>>2]|0,e[k>>1]|0)|0)|0;h=0;g=g+(c[b>>2]<<1)|0;while(1){uBa(g,d,i)|0;h=h+1|0;if((h|0)>=(c[j>>2]|0))break;else{g=g+(e[k>>1]|0)|0;d=d+f|0}}return 0}g=c[b>>2]|0;q=b+4|0;if((((g|0)==0?(c[q>>2]|0)==0:0)?(i=c[b+8>>2]|0,(i|0)==(c[a+8>>2]|0)):0)?(j=c[b+12>>2]|0,(j|0)==(c[a+12>>2]|0)):0){f=N(j,i)|0;uBa(c[a+16>>2]|0,d,((f|0)/2|0)+f|0)|0;return 0}p=a+16|0;r=a+8|0;o=b+8|0;j=c[o>>2]|0;s=b+12|0;if((c[s>>2]|0)<=0)return 0;i=0;g=(c[p>>2]|0)+(N(c[r>>2]|0,c[q>>2]|0)|0)+g|0;h=d;while(1){uBa(g,h,j)|0;k=c[r>>2]|0;i=i+1|0;l=c[s>>2]|0;if((i|0)>=(l|0))break;else{g=g+k|0;h=h+f|0}}n=a+12|0;a=(c[o>>2]|0)/2|0;if((l|0)<=1)return 0;g=(c[p>>2]|0)+(N(k,c[n>>2]|0)|0)|0;i=(N((c[q>>2]|0)/2|0,k)|0)/2|0;j=(f|0)/2|0;h=0;i=g+(i+((c[b>>2]|0)/2|0))|0;g=d+(N(l,f)|0)|0;while(1){uBa(i,g,a)|0;l=c[r>>2]|0;h=h+1|0;m=c[s>>2]|0;if((h|0)>=((m|0)/2|0|0))break;else{i=i+((l|0)/2|0)|0;g=g+j|0}}k=(c[o>>2]|0)/2|0;j=N(m,f)|0;g=N(l,c[n>>2]|0)|0;if((m|0)<=1)return 0;q=(N((c[q>>2]|0)/2|0,l)|0)/2|0;i=(f|0)/2|0;h=0;g=(c[p>>2]|0)+g+((g|0)/4|0)+(q+((c[b>>2]|0)/2|0))|0;d=d+j+((j|0)/4|0)|0;while(1){uBa(g,d,k)|0;h=h+1|0;if((h|0)>=((c[s>>2]|0)/2|0|0))break;else{g=g+((c[r>>2]|0)/2|0)|0;d=d+i|0}}return 0}function GMa(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;i=l;l=l+32|0;h=i+8|0;g=i;f=i+16|0;if(a|0?(c[a>>2]|0)==231027:0){if((c[a+8>>2]|0)!=1){e=MAa(208141,h)|0;l=i;return e|0}if(!b){c[f>>2]=0;c[f+4>>2]=0;c[f+8>>2]=c[a+12>>2];c[f+12>>2]=c[a+16>>2];b=f}f=c[a+40>>2]|0;if(f|0){e=WMa(f,b,d,e)|0;l=i;return e|0}if(!(c[a+36>>2]|0)){h=c[a+32>>2]|0;e=pk[c[h+36>>2]&63](h,a,b,d,e)|0;l=i;return e|0}g=a+52|0;c[g>>2]=c[b>>2];c[g+4>>2]=c[b+4>>2];c[g+8>>2]=c[b+8>>2];c[g+12>>2]=c[b+12>>2];g=c[a+48>>2]|0;h=(c[a+44>>2]|0)+(N(g,c[b+4>>2]|0)|0)|0;b=c[b>>2]|0;f=c[a+4>>2]|0;a:do if((f|0)==0|(f&-268435456|0)==268435456)f=f&255;else{if((f|0)<1498831189)switch(f|0){case 844715353:{f=2;break a}default:{}}else switch(f|0){case 1498831189:{f=2;break a}default:{}}f=(f|0)==1431918169?2:1}while(0);c[d>>2]=h+(N(f,b)|0);c[e>>2]=g;e=0;l=i;return e|0}MAa(193640,g)|0;e=-1;l=i;return e|0}function HMa(a,b,d,e,f,g,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0;E=l;l=l+64|0;A=E+16|0;k=E+8|0;j=E;D=E+40|0;y=E+32|0;z=E+28|0;w=E+24|0;x=E+20|0;v=(d|0)==0|(d&-268435456|0)==268435456;a:do if(v){i=d&255;if(!i){D=MAa(208047,j)|0;l=E;return D|0}else B=i}else{b:do if((d|0)>=1431918169)if((d|0)<1498831189)switch(d|0){case 1431918169:break b;default:{B=1;break a}}else switch(d|0){case 1498831189:break b;default:{B=1;break a}}else switch(d|0){case 844715353:break;default:{B=1;break a}}while(0);B=2}while(0);i=a+4|0;do if((c[i>>2]|0)!=(d|0)){s=(GFa(d,D,y,z,w,x)|0)==0;if(s|(c[D>>2]|0)<15){if((MAa(208075,k)|0)<0)i=-1;else break;l=E;return i|0}c[i>>2]=d;q=c[a+24>>2]|0;r=q+3072|0;s=q+6144|0;m=0;do{i=c[y>>2]|0;if(!i)i=0;else{j=0;do{j=(i&1)+j|0;i=i>>>1}while((i|0)!=0);i=j}p=m>>>(8-i|0);k=m+256|0;i=q+(k<<2)|0;c[i>>2]=p;p=p<<(JMa(c[y>>2]|0)|0);c[i>>2]=p;c[i>>2]=c[x>>2]|p;i=c[z>>2]|0;if(!i)i=0;else{j=0;do{j=(i&1)+j|0;i=i>>>1}while((i|0)!=0);i=j}p=m>>>(8-i|0);i=r+(k<<2)|0;c[i>>2]=p;p=p<<(JMa(c[z>>2]|0)|0);c[i>>2]=p;c[i>>2]=c[x>>2]|p;i=c[w>>2]|0;if(!i)i=0;else{j=0;do{j=(i&1)+j|0;i=i>>>1}while((i|0)!=0);i=j}o=m>>>(8-i|0);p=s+(k<<2)|0;c[p>>2]=o;o=o<<(JMa(c[w>>2]|0)|0);c[p>>2]=o;c[p>>2]=c[x>>2]|o;m=m+1|0}while((m|0)!=256);c:do if(v){if((d&255|0)==2)C=23}else{if((d|0)<1431918169)switch(d|0){case 844715353:{C=23;break c}default:break c}if((d|0)<1498831189)switch(d|0){case 1431918169:{C=23;break c}default:break c}else switch(d|0){case 1498831189:{C=23;break c}default:break c}}while(0);if((C|0)==23){i=0;do{p=i+256|0;o=q+(p<<2)|0;n=c[o>>2]|0;c[o>>2]=n<<16|n;o=r+(p<<2)|0;n=c[o>>2]|0;c[o>>2]=n<<16|n;p=s+(p<<2)|0;o=c[p>>2]|0;c[p>>2]=o<<16|o;i=i+1|0}while((i|0)!=256)}j=q+1024|0;k=q+2044|0;m=q+4096|0;n=q+5116|0;o=q+7168|0;p=q+8188|0;i=0;do{c[q+(i<<2)>>2]=c[j>>2];F=i+512|0;c[q+(F<<2)>>2]=c[k>>2];c[r+(i<<2)>>2]=c[m>>2];c[r+(F<<2)>>2]=c[n>>2];c[s+(i<<2)>>2]=c[o>>2];c[s+(F<<2)>>2]=c[p>>2];i=i+1|0}while((i|0)!=256);i=c[a>>2]|0;d:do if((i|0)<1431918169)if((i|0)<844715353)switch(i|0){case 842094169:{C=28;break d}default:break d}else switch(i|0){case 844715353:{C=35;break d}default:break d}else{if((i|0)<1448433993)switch(i|0){case 1431918169:{C=35;break d}default:break d}if((i|0)<1498831189)switch(i|0){case 1448433993:{C=28;break d}default:break d}else switch(i|0){case 1498831189:{C=35;break d}default:break d}}while(0);e:do if((C|0)==28){if(v)switch((d&255)<<24>>24){case 2:{c[a+28>>2]=1;c[a+32>>2]=2;break e}case 3:{c[a+28>>2]=3;c[a+32>>2]=4;break e}case 4:{c[a+28>>2]=5;c[a+32>>2]=6;break e}default:break e}f:do if((d|0)>=1431918169)if((d|0)<1498831189)switch(d|0){case 1431918169:break f;default:break e}else switch(d|0){case 1498831189:break f;default:break e}else switch(d|0){case 844715353:break;default:break e}while(0);c[a+28>>2]=1;c[a+32>>2]=2}else if((C|0)==35){if(v)switch((d&255)<<24>>24){case 2:{c[a+28>>2]=7;c[a+32>>2]=8;break e}case 3:{c[a+28>>2]=9;c[a+32>>2]=10;break e}case 4:{c[a+28>>2]=11;c[a+32>>2]=12;break e}default:break e}g:do if((d|0)>=1431918169)if((d|0)<1498831189)switch(d|0){case 1431918169:break g;default:break e}else switch(d|0){case 1498831189:break g;default:break e}else switch(d|0){case 844715353:break;default:break e}while(0);c[a+28>>2]=7;c[a+32>>2]=8}while(0);F=a+60|0;ABa(c[F>>2]|0);c[F>>2]=0}while(0);if((((c[b>>2]|0)==0?(c[b+4>>2]|0)==0:0)?(t=c[b+8>>2]|0,(t|0)>=(c[a+8>>2]|0)):0)?(u=c[b+12>>2]|0,(u|0)>=(c[a+12>>2]|0)):0)if(!((t|0)==(e|0)&(u|0)==(f|0)))if((t<<1|0)==(e|0)&(u<<1|0)==(f|0)){o=1;p=0}else C=49;else{o=0;p=0}else C=49;if((C|0)==49){i=a+60|0;j=c[i>>2]|0;if(!j){GFa(d,D,y,z,w,x)|0;F=GIa(g,e,f,c[D>>2]|0,h,c[y>>2]|0,c[z>>2]|0,c[w>>2]|0,c[x>>2]|0)|0;c[i>>2]=F;if(!F){j=0;i=g}else C=52}else{c[j+8>>2]=e;c[j+12>>2]=f;c[j+20>>2]=g;c[j+16>>2]=h;C=52}do if((C|0)==52){j=a+56|0;i=c[j>>2]|0;if(!i){GFa(d,D,y,z,w,x)|0;i=xHa(0,c[a+8>>2]|0,c[a+12>>2]|0,c[D>>2]|0,c[y>>2]|0,c[z>>2]|0,c[w>>2]|0,c[x>>2]|0)|0;c[j>>2]=i;if(!i){j=0;i=g;break}}j=1;h=c[i+16>>2]|0;i=c[i+20>>2]|0}while(0);if(j){o=0;p=1;g=i}else{F=-1;l=E;return F|0}}i=c[a>>2]|0;h:do if((i|0)<1431918169)if((i|0)<844715353){switch(i|0){case 842094169:break;default:{C=62;break h}}k=c[a+52>>2]|0;m=c[a+48>>2]|0;n=c[a+44>>2]|0;break}else{switch(i|0){case 844715353:break;default:{C=62;break h}}n=c[a+44>>2]|0;k=n+1|0;m=n+3|0;break}else{if((i|0)<1448433993){switch(i|0){case 1431918169:break;default:{C=62;break h}}n=c[a+44>>2]|0;k=n+3|0;m=n+1|0;break}if((i|0)<1498831189){switch(i|0){case 1448433993:break;default:{C=62;break h}}k=c[a+48>>2]|0;m=c[a+52>>2]|0;n=c[a+44>>2]|0;break}else{switch(i|0){case 1498831189:break;default:{C=62;break h}}n=c[a+44>>2]|0;k=n;m=n+2|0;n=n+1|0;break}}while(0);if((C|0)==62){F=MAa(208110,A)|0;l=E;return F|0}i=(h|0)/(B|0)|0;j=c[a+8>>2]|0;if(!o)Wk[c[a+28>>2]&15](c[a+20>>2]|0,c[a+24>>2]|0,n,m,k,g,c[a+12>>2]|0,j,i-j|0);else Wk[c[a+32>>2]&15](c[a+20>>2]|0,c[a+24>>2]|0,n,m,k,g,c[a+12>>2]|0,j,i-(j<<1)|0);if(!p){F=0;l=E;return F|0};c[D>>2]=c[b>>2];c[D+4>>2]=c[b+4>>2];c[D+8>>2]=c[b+8>>2];c[D+12>>2]=c[b+12>>2];$Ha(c[a+56>>2]|0,D,c[a+60>>2]|0,0)|0;F=0;l=E;return F|0}function IMa(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0;m=l;l=l+32|0;b=m;j=m+28|0;k=m+24|0;f=m+8|0;if(a|0?(c[a>>2]|0)==231027:0){if((c[a+8>>2]|0)!=1){l=m;return}b=a+40|0;i=c[a+36>>2]|0;if(c[b>>2]|0){c[j>>2]=0;c[k>>2]=0;c[f>>2]=0;c[f+4>>2]=0;d=f+8|0;c[d>>2]=c[a+12>>2];e=f+12|0;c[e>>2]=c[a+16>>2];if((GMa(i,f,j,k)|0)>=0){HMa(c[b>>2]|0,f,c[i+4>>2]|0,c[d>>2]|0,c[e>>2]|0,c[j>>2]|0,c[k>>2]|0)|0;IMa(i)}l=m;return}if(!i){k=c[a+32>>2]|0;Jk[c[k+40>>2]&1023](k,a);l=m;return}c[j>>2]=0;c[k>>2]=0;d=a+52|0;e=c[a+48>>2]|0;f=(c[a+44>>2]|0)+(N(e,c[a+56>>2]|0)|0)|0;g=c[d>>2]|0;h=a+4|0;b=c[h>>2]|0;a:do if((b|0)==0|(b&-268435456|0)==268435456)b=b&255;else{if((b|0)<1498831189)switch(b|0){case 844715353:{b=2;break a}default:{}}else switch(b|0){case 1498831189:{b=2;break a}default:{}}b=(b|0)==1431918169?2:1}while(0);if((GMa(i,d,j,k)|0)>=0){g=f+(N(b,g)|0)|0;vBa(c[a+60>>2]|0,c[a+64>>2]|0,c[h>>2]|0,g,e,c[i+4>>2]|0,c[j>>2]|0,c[k>>2]|0)|0;IMa(i)}l=m;return}MAa(193640,b)|0;l=m;return}function JMa(a){a=a|0;if(!a){a=32;return a|0}if(!(a&1))return (JMa(a>>>1)|0)+1|0;else{a=0;return a|0}return 0}function KMa(a,e,f,g,h,i,j,k,l){a=a|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;var m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;v=(k|0)/2|0;t=(l<<1)+k|0;if((j+1|0)>>>0<3|(k+1|0)>>>0<3)return;u=v<<1;s=i+(k<<1)+(l<<1)|0;r=(j|0)/2|0;while(1){r=r+-1|0;o=g;g=g+v|0;l=v;j=f+k|0;m=s;n=f;f=f+u+k|0;p=h;q=i;while(1){l=l+-1|0;z=d[o>>0]|0;y=(c[a+(z<<2)>>2]|0)+256|0;x=d[p>>0]|0;z=(c[a+((z|256)<<2)>>2]|0)+1024+(c[a+((x|512)<<2)>>2]|0)|0;x=(c[a+((x|768)<<2)>>2]|0)+1792|0;w=d[n>>0]|0;b[q>>1]=c[e+(z+w<<2)>>2]|c[e+(y+w<<2)>>2]|c[e+(x+w<<2)>>2];w=d[n+1>>0]|0;b[q+2>>1]=c[e+(z+w<<2)>>2]|c[e+(y+w<<2)>>2]|c[e+(x+w<<2)>>2];w=d[j>>0]|0;b[m>>1]=c[e+(z+w<<2)>>2]|c[e+(y+w<<2)>>2]|c[e+(x+w<<2)>>2];w=d[j+1>>0]|0;b[m+2>>1]=c[e+(z+w<<2)>>2]|c[e+(y+w<<2)>>2]|c[e+(x+w<<2)>>2];if(!l)break;else{j=j+2|0;m=m+4|0;n=n+2|0;o=o+1|0;p=p+1|0;q=q+4|0}}if(!r)break;else{s=s+(u<<1)+(t<<1)|0;h=h+v|0;i=i+(u<<1)+(t<<1)|0}}return}function LMa(a,b,e,f,g,h,i,j,k){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;u=(k|0)/2|0;s=u+j|0;t=(j|0)/2|0;u=(s*3|0)+u|0;if((i+1|0)>>>0<3|(j+1|0)>>>0<3)return;v=t<<1;r=h;q=h+(s<<1<<2)|0;p=(i|0)/2|0;while(1){p=p+-1|0;h=f;f=f+t|0;k=t;i=g;l=r;m=e+j|0;n=q;o=e;e=e+v+j|0;while(1){k=k+-1|0;A=d[h>>0]|0;z=(c[a+(A<<2)>>2]|0)+256|0;y=d[i>>0]|0;A=(c[a+((A|256)<<2)>>2]|0)+1024+(c[a+((y|512)<<2)>>2]|0)|0;y=(c[a+((y|768)<<2)>>2]|0)+1792|0;w=d[o>>0]|0;w=c[b+(A+w<<2)>>2]|c[b+(z+w<<2)>>2]|c[b+(y+w<<2)>>2];c[l+(s<<2)>>2]=w;c[l>>2]=w;w=l+4|0;x=d[o+1>>0]|0;x=c[b+(A+x<<2)>>2]|c[b+(z+x<<2)>>2]|c[b+(y+x<<2)>>2];c[w+(s<<2)>>2]=x;c[w>>2]=x;w=d[m>>0]|0;w=c[b+(A+w<<2)>>2]|c[b+(z+w<<2)>>2]|c[b+(y+w<<2)>>2];c[n+(s<<2)>>2]=w;c[n>>2]=w;w=n+4|0;x=d[m+1>>0]|0;x=c[b+(A+x<<2)>>2]|c[b+(z+x<<2)>>2]|c[b+(y+x<<2)>>2];c[w+(s<<2)>>2]=x;c[w>>2]=x;if(!k)break;else{h=h+1|0;i=i+1|0;l=l+8|0;m=m+2|0;n=n+8|0;o=o+2|0}}if(!p)break;else{g=g+t|0;r=r+(v<<2)+(u<<2)|0;q=q+(v<<2)+(u<<2)|0}}return}function MMa(b,e,f,g,h,i,j,k,l){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;var m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;A=(k|0)/2|0;v=((l<<1)+k|0)*3|0;if((j+1|0)>>>0<3)return;w=(k+1|0)>>>0<3;x=A<<1;y=A*6|0;z=x+k|0;u=i;i=i+(k*3|0)+(l*3|0)|0;s=f;t=(j|0)/2|0;l=f;while(1){t=t+-1|0;m=l+k|0;if(w){f=s;j=u;l=m}else{r=g+A|0;f=s+x|0;l=l+z|0;q=A;o=h;p=u;n=i;j=s;while(1){q=q+-1|0;D=d[g>>0]|0;C=(c[b+(D<<2)>>2]|0)+256|0;B=d[o>>0]|0;D=(c[b+((D|256)<<2)>>2]|0)+1024+(c[b+((B|512)<<2)>>2]|0)|0;B=(c[b+((B|768)<<2)>>2]|0)+1792|0;s=d[j>>0]|0;s=c[e+(D+s<<2)>>2]|c[e+(C+s<<2)>>2]|c[e+(B+s<<2)>>2];a[p>>0]=s;a[p+1>>0]=s>>>8;a[p+2>>0]=s>>>16;s=d[j+1>>0]|0;s=c[e+(D+s<<2)>>2]|c[e+(C+s<<2)>>2]|c[e+(B+s<<2)>>2];a[p+3>>0]=s;a[p+4>>0]=s>>>8;a[p+5>>0]=s>>>16;s=d[m>>0]|0;s=c[e+(D+s<<2)>>2]|c[e+(C+s<<2)>>2]|c[e+(B+s<<2)>>2];a[n>>0]=s;a[n+1>>0]=s>>>8;a[n+2>>0]=s>>>16;s=d[m+1>>0]|0;s=c[e+(D+s<<2)>>2]|c[e+(C+s<<2)>>2]|c[e+(B+s<<2)>>2];a[n+3>>0]=s;a[n+4>>0]=s>>>8;a[n+5>>0]=s>>>16;if(!q)break;else{g=g+1|0;o=o+1|0;p=p+6|0;m=m+2|0;n=n+6|0;j=j+2|0}}g=r;h=h+A|0;j=u+y|0;i=i+y|0}if(!t)break;else{u=j+v|0;i=i+v|0;s=f+k|0}}return}function NMa(b,e,f,g,h,i,j,k,l){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;var m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0;m=(k<<1)+l|0;E=m*3|0;F=(k|0)/2|0;u=(m*9|0)+(l*3|0)|0;if((j+1|0)>>>0<3)return;v=(k+1|0)>>>0<3;w=E+3|0;x=E+4|0;y=E+1|0;z=E+5|0;A=E+2|0;B=F<<1;C=F*12|0;D=B+k|0;t=i;l=i+(m*6|0)|0;i=f;s=(j|0)/2|0;m=f;while(1){s=s+-1|0;f=m+k|0;if(v){j=i;i=t;m=f}else{r=g+F|0;j=i+B|0;m=m+D|0;q=F;o=h;p=t;n=l;while(1){q=q+-1|0;K=d[g>>0]|0;J=(c[b+(K<<2)>>2]|0)+256|0;I=d[o>>0]|0;K=(c[b+((K|256)<<2)>>2]|0)+1024+(c[b+((I|512)<<2)>>2]|0)|0;I=(c[b+((I|768)<<2)>>2]|0)+1792|0;G=d[i>>0]|0;G=c[e+(K+G<<2)>>2]|c[e+(J+G<<2)>>2]|c[e+(I+G<<2)>>2];H=G&255;a[p+w>>0]=H;a[p+E>>0]=H;a[p+3>>0]=H;a[p>>0]=H;H=G>>>8&255;a[p+x>>0]=H;a[p+y>>0]=H;a[p+4>>0]=H;a[p+1>>0]=H;G=G>>>16&255;a[p+z>>0]=G;a[p+A>>0]=G;a[p+5>>0]=G;a[p+2>>0]=G;G=p+6|0;H=d[i+1>>0]|0;H=c[e+(K+H<<2)>>2]|c[e+(J+H<<2)>>2]|c[e+(I+H<<2)>>2];L=H&255;a[G+w>>0]=L;a[G+E>>0]=L;a[p+9>>0]=L;a[G>>0]=L;L=H>>>8&255;a[G+x>>0]=L;a[G+y>>0]=L;a[p+10>>0]=L;a[p+7>>0]=L;H=H>>>16&255;a[G+z>>0]=H;a[G+A>>0]=H;a[p+11>>0]=H;a[p+8>>0]=H;H=d[f>>0]|0;H=c[e+(K+H<<2)>>2]|c[e+(J+H<<2)>>2]|c[e+(I+H<<2)>>2];G=H&255;a[n+w>>0]=G;a[n+E>>0]=G;a[n+3>>0]=G;a[n>>0]=G;G=H>>>8&255;a[n+x>>0]=G;a[n+y>>0]=G;a[n+4>>0]=G;a[n+1>>0]=G;H=H>>>16&255;a[n+z>>0]=H;a[n+A>>0]=H;a[n+5>>0]=H;a[n+2>>0]=H;H=n+6|0;G=d[f+1>>0]|0;G=c[e+(K+G<<2)>>2]|c[e+(J+G<<2)>>2]|c[e+(I+G<<2)>>2];I=G&255;a[H+w>>0]=I;a[H+E>>0]=I;a[n+9>>0]=I;a[H>>0]=I;I=G>>>8&255;a[H+x>>0]=I;a[H+y>>0]=I;a[n+10>>0]=I;a[n+7>>0]=I;G=G>>>16&255;a[H+z>>0]=G;a[H+A>>0]=G;a[n+11>>0]=G;a[n+8>>0]=G;if(!q)break;else{g=g+1|0;o=o+1|0;p=p+12|0;f=f+2|0;n=n+12|0;i=i+2|0}}g=r;h=h+F|0;i=t+C|0;l=l+C|0}if(!s)break;else{t=i+u|0;l=l+u|0;i=j+k|0}}return}function OMa(a,b,e,f,g,h,i,j,k){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;u=(j|0)/2|0;s=(k<<1)+j|0;if((i+1|0)>>>0<3|(j+1|0)>>>0<3)return;t=u<<1;r=h+(j<<2)+(k<<2)|0;q=(i|0)/2|0;while(1){q=q+-1|0;n=f;f=f+u|0;k=u;i=e+j|0;l=r;m=e;e=e+t+j|0;o=g;p=h;while(1){k=k+-1|0;y=d[n>>0]|0;x=(c[a+(y<<2)>>2]|0)+256|0;w=d[o>>0]|0;y=(c[a+((y|256)<<2)>>2]|0)+1024+(c[a+((w|512)<<2)>>2]|0)|0;w=(c[a+((w|768)<<2)>>2]|0)+1792|0;v=d[m>>0]|0;c[p>>2]=c[b+(y+v<<2)>>2]|c[b+(x+v<<2)>>2]|c[b+(w+v<<2)>>2];v=d[m+1>>0]|0;c[p+4>>2]=c[b+(y+v<<2)>>2]|c[b+(x+v<<2)>>2]|c[b+(w+v<<2)>>2];v=d[i>>0]|0;c[l>>2]=c[b+(y+v<<2)>>2]|c[b+(x+v<<2)>>2]|c[b+(w+v<<2)>>2];v=d[i+1>>0]|0;c[l+4>>2]=c[b+(y+v<<2)>>2]|c[b+(x+v<<2)>>2]|c[b+(w+v<<2)>>2];if(!k)break;else{i=i+2|0;l=l+8|0;m=m+2|0;n=n+1|0;o=o+1|0;p=p+8|0}}if(!q)break;else{r=r+(t<<2)+(s<<2)|0;g=g+u|0;h=h+(t<<2)+(s<<2)|0}}return}function PMa(a,b,e,f,g,h,i,j,k){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;w=(j<<1)+k|0;x=(j|0)/2|0;s=(w*3|0)+k|0;if((i+1|0)>>>0<3)return;t=w+1|0;if((j+1|0)>>>0<3)return;u=x<<1;v=x<<2;r=h;q=h+(w<<1<<2)|0;p=(i|0)/2|0;while(1){p=p+-1|0;h=f;f=f+x|0;k=x;i=g;l=r;m=e+j|0;n=q;o=e;e=e+u+j|0;while(1){k=k+-1|0;C=d[h>>0]|0;B=(c[a+(C<<2)>>2]|0)+256|0;A=d[i>>0]|0;C=(c[a+((C|256)<<2)>>2]|0)+1024+(c[a+((A|512)<<2)>>2]|0)|0;A=(c[a+((A|768)<<2)>>2]|0)+1792|0;y=d[o>>0]|0;y=c[b+(C+y<<2)>>2]|c[b+(B+y<<2)>>2]|c[b+(A+y<<2)>>2];c[l+(t<<2)>>2]=y;c[l+(w<<2)>>2]=y;c[l+4>>2]=y;c[l>>2]=y;y=l+8|0;z=d[o+1>>0]|0;z=c[b+(C+z<<2)>>2]|c[b+(B+z<<2)>>2]|c[b+(A+z<<2)>>2];c[y+(t<<2)>>2]=z;c[y+(w<<2)>>2]=z;c[l+12>>2]=z;c[y>>2]=z;y=d[m>>0]|0;y=c[b+(C+y<<2)>>2]|c[b+(B+y<<2)>>2]|c[b+(A+y<<2)>>2];c[n+(t<<2)>>2]=y;c[n+(w<<2)>>2]=y;c[n+4>>2]=y;c[n>>2]=y;y=n+8|0;z=d[m+1>>0]|0;z=c[b+(C+z<<2)>>2]|c[b+(B+z<<2)>>2]|c[b+(A+z<<2)>>2];c[y+(t<<2)>>2]=z;c[y+(w<<2)>>2]=z;c[n+12>>2]=z;c[y>>2]=z;if(!k)break;else{h=h+1|0;i=i+1|0;l=l+16|0;m=m+2|0;n=n+16|0;o=o+2|0}}if(!p)break;else{g=g+x|0;r=r+(v<<2)+(s<<2)|0;q=q+(v<<2)+(s<<2)|0}}return}function QMa(a,e,f,g,h,i,j,k,l){a=a|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;var m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;s=(k|0)/2|0;if((j|0)==0|(k+1|0)>>>0<3)return;q=s<<2;r=s<<1;while(1){j=j+-1|0;m=g;g=g+q|0;k=s;n=h;o=i;p=f;f=f+q|0;while(1){k=k+-1|0;w=d[m>>0]|0;v=(c[a+(w<<2)>>2]|0)+256|0;u=d[n>>0]|0;w=(c[a+((w|256)<<2)>>2]|0)+1024+(c[a+((u|512)<<2)>>2]|0)|0;u=(c[a+((u|768)<<2)>>2]|0)+1792|0;t=d[p>>0]|0;b[o>>1]=c[e+(w+t<<2)>>2]|c[e+(v+t<<2)>>2]|c[e+(u+t<<2)>>2];t=d[p+2>>0]|0;b[o+2>>1]=c[e+(w+t<<2)>>2]|c[e+(v+t<<2)>>2]|c[e+(u+t<<2)>>2];if(!k)break;else{m=m+4|0;n=n+4|0;o=o+4|0;p=p+4|0}}if(!j)break;else{h=h+q|0;i=i+(r<<1)+(l<<1)|0}}return}function RMa(a,b,e,f,g,h,i,j,k){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;q=((k|0)/2|0)+j|0;r=(j|0)/2|0;if((i|0)==0|(j+1|0)>>>0<3)return;o=r<<2;p=r<<1;n=e;while(1){i=i+-1|0;j=f;f=f+o|0;k=r;e=g;l=h;m=n;n=n+o|0;while(1){k=k+-1|0;w=d[j>>0]|0;v=(c[a+(w<<2)>>2]|0)+256|0;u=d[e>>0]|0;w=(c[a+((w|256)<<2)>>2]|0)+1024+(c[a+((u|512)<<2)>>2]|0)|0;u=(c[a+((u|768)<<2)>>2]|0)+1792|0;s=d[m>>0]|0;s=c[b+(w+s<<2)>>2]|c[b+(v+s<<2)>>2]|c[b+(u+s<<2)>>2];c[l+(q<<2)>>2]=s;c[l>>2]=s;s=l+4|0;t=d[m+2>>0]|0;t=c[b+(w+t<<2)>>2]|c[b+(v+t<<2)>>2]|c[b+(u+t<<2)>>2];c[s+(q<<2)>>2]=t;c[s>>2]=t;if(!k)break;else{j=j+4|0;e=e+4|0;l=l+8|0;m=m+4|0}}if(!i)break;else{g=g+o|0;h=h+(p<<2)+(q<<2)|0}}return}function SMa(b,e,f,g,h,i,j,k,l){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;var m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;s=(k|0)/2|0;r=l*3|0;if((j|0)==0|(k+1|0)>>>0<3)return;p=s<<2;q=s*6|0;o=f;while(1){j=j+-1|0;k=g;g=g+p|0;l=s;f=h;m=i;n=o;o=o+p|0;while(1){l=l+-1|0;w=d[k>>0]|0;v=(c[b+(w<<2)>>2]|0)+256|0;u=d[f>>0]|0;w=(c[b+((w|256)<<2)>>2]|0)+1024+(c[b+((u|512)<<2)>>2]|0)|0;u=(c[b+((u|768)<<2)>>2]|0)+1792|0;t=d[n>>0]|0;t=c[e+(w+t<<2)>>2]|c[e+(v+t<<2)>>2]|c[e+(u+t<<2)>>2];a[m>>0]=t;a[m+1>>0]=t>>>8;a[m+2>>0]=t>>>16;t=d[n+2>>0]|0;t=c[e+(w+t<<2)>>2]|c[e+(v+t<<2)>>2]|c[e+(u+t<<2)>>2];a[m+3>>0]=t;a[m+4>>0]=t>>>8;a[m+5>>0]=t>>>16;if(!l)break;else{k=k+4|0;f=f+4|0;m=m+6|0;n=n+4|0}}if(!j)break;else{h=h+p|0;i=i+q+r|0}}return}function TMa(b,e,f,g,h,i,j,k,l){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;var m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;r=((k<<1)+l|0)*3|0;s=(k|0)/2|0;if(!j)return;t=r+3|0;u=r+4|0;v=r+1|0;w=r+5|0;x=r+2|0;if((k+1|0)>>>0<3)return;p=s<<2;q=s*12|0;o=f;while(1){j=j+-1|0;k=g;g=g+p|0;l=s;f=h;m=i;n=o;o=o+p|0;while(1){l=l+-1|0;C=d[k>>0]|0;B=(c[b+(C<<2)>>2]|0)+256|0;A=d[f>>0]|0;C=(c[b+((C|256)<<2)>>2]|0)+1024+(c[b+((A|512)<<2)>>2]|0)|0;A=(c[b+((A|768)<<2)>>2]|0)+1792|0;z=d[n>>0]|0;z=c[e+(C+z<<2)>>2]|c[e+(B+z<<2)>>2]|c[e+(A+z<<2)>>2];y=z&255;a[m+t>>0]=y;a[m+r>>0]=y;a[m+3>>0]=y;a[m>>0]=y;y=z>>>8&255;a[m+u>>0]=y;a[m+v>>0]=y;a[m+4>>0]=y;a[m+1>>0]=y;z=z>>>16&255;a[m+w>>0]=z;a[m+x>>0]=z;a[m+5>>0]=z;a[m+2>>0]=z;z=m+6|0;y=d[n+2>>0]|0;y=c[e+(C+y<<2)>>2]|c[e+(B+y<<2)>>2]|c[e+(A+y<<2)>>2];A=y&255;a[z+t>>0]=A;a[z+r>>0]=A;a[m+9>>0]=A;a[z>>0]=A;A=y>>>8&255;a[z+u>>0]=A;a[z+v>>0]=A;a[m+10>>0]=A;a[m+7>>0]=A;y=y>>>16&255;a[z+w>>0]=y;a[z+x>>0]=y;a[m+11>>0]=y;a[m+8>>0]=y;if(!l)break;else{k=k+4|0;f=f+4|0;m=m+12|0;n=n+4|0}}if(!j)break;else{h=h+p|0;i=i+q+r|0}}return}function UMa(a,b,e,f,g,h,i,j,k){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;r=(j|0)/2|0;if((i|0)==0|(j+1|0)>>>0<3)return;p=r<<2;q=r<<1;while(1){i=i+-1|0;l=f;f=f+p|0;j=r;m=g;n=h;o=e;e=e+p|0;while(1){j=j+-1|0;v=d[l>>0]|0;u=(c[a+(v<<2)>>2]|0)+256|0;t=d[m>>0]|0;v=(c[a+((v|256)<<2)>>2]|0)+1024+(c[a+((t|512)<<2)>>2]|0)|0;t=(c[a+((t|768)<<2)>>2]|0)+1792|0;s=d[o>>0]|0;c[n>>2]=c[b+(v+s<<2)>>2]|c[b+(u+s<<2)>>2]|c[b+(t+s<<2)>>2];s=d[o+2>>0]|0;c[n+4>>2]=c[b+(v+s<<2)>>2]|c[b+(u+s<<2)>>2]|c[b+(t+s<<2)>>2];if(!j)break;else{l=l+4|0;m=m+4|0;n=n+8|0;o=o+4|0}}if(!i)break;else{g=g+p|0;h=h+(q<<2)+(k<<2)|0}}return}function VMa(a,b,e,f,g,h,i,j,k){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;p=(j<<1)+k|0;q=(j|0)/2|0;if(!i)return;r=p+1|0;if((j+1|0)>>>0<3)return;o=q<<2;n=e;while(1){i=i+-1|0;j=f;f=f+o|0;k=q;e=g;l=h;m=n;n=n+o|0;while(1){k=k+-1|0;w=d[j>>0]|0;v=(c[a+(w<<2)>>2]|0)+256|0;u=d[e>>0]|0;w=(c[a+((w|256)<<2)>>2]|0)+1024+(c[a+((u|512)<<2)>>2]|0)|0;u=(c[a+((u|768)<<2)>>2]|0)+1792|0;s=d[m>>0]|0;s=c[b+(w+s<<2)>>2]|c[b+(v+s<<2)>>2]|c[b+(u+s<<2)>>2];c[l+(r<<2)>>2]=s;c[l+(p<<2)>>2]=s;c[l+4>>2]=s;c[l>>2]=s;s=l+8|0;t=d[m+2>>0]|0;t=c[b+(w+t<<2)>>2]|c[b+(v+t<<2)>>2]|c[b+(u+t<<2)>>2];c[s+(r<<2)>>2]=t;c[s+(p<<2)>>2]=t;c[l+12>>2]=t;c[s>>2]=t;if(!k)break;else{j=j+4|0;e=e+4|0;l=l+16|0;m=m+4|0}}if(!i)break;else{g=g+o|0;h=h+(o<<2)+(p<<2)|0}}return}function WMa(a,b,d,f){a=a|0;b=b|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0;k=l;l=l+16|0;h=k;g=c[a>>2]|0;if((g|0)<1448433993)switch(g|0){case 842094169:{j=2;break}default:j=10}else switch(g|0){case 1448433993:{j=2;break}default:j=10}do if((j|0)==2){if(!b){g=c[a+44>>2]|0;break}if((((c[b>>2]|0)==0?(c[b+4>>2]|0)==0:0)?(c[b+8>>2]|0)==(c[a+8>>2]|0):0)?(c[b+12>>2]|0)==(c[a+12>>2]|0):0){i=0;g=c[a+44>>2]|0;h=0;j=12;break}f=MAa(208186,h)|0;l=k;return f|0}else if((j|0)==10){g=c[a+44>>2]|0;if(b){i=c[b+4>>2]|0;h=c[b>>2]<<1;j=12}}while(0);if((j|0)==12)g=g+(N(i,e[a+36>>1]|0)|0)+h|0;c[d>>2]=g;c[f>>2]=e[a+36>>1];f=0;l=k;return f|0}function XMa(){return 2}function YMa(a,b){a=a|0;b=b|0;var d=0,e=0;e=l;l=l+16|0;d=e;if(a>>>0>1){c[d>>2]=1;a=MAa(208663,d)|0;l=e;return a|0}else{d=(c[106688+(a<<2)>>2]|0)+4|0;a=b+84|0;do{c[b>>2]=c[d>>2];b=b+4|0;d=d+4|0}while((b|0)<(a|0));a=0;l=e;return a|0}return 0}function ZMa(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,h=0,i=0,j=0,k=0,m=0;m=l;l=l+48|0;k=m+32|0;e=m+24|0;j=m+16|0;if(!a){MAa(208472,m)|0;k=0;l=m;return k|0}if(CKa(a,207870)|0){MAa(208487,m+8|0)|0;k=0;l=m;return k|0}do if(OFa(208527)|0)if(!(JGa(208527,1)|0)){f=d&-5;break}else{f=d|4;break}else f=d;while(0);a:do if((b|0)>=0)if((b|0)>1){c[e>>2]=1;MAa(208599,e)|0;k=0;l=m;return k|0}else{d=kk[c[c[106688+(b<<2)>>2]>>2]&511](a,f)|0;if(!d)d=0;else break;l=m;return d|0}else{d=OFa(208544)|0;do if(d|0){if(PFa(d,c[26436]|0)|0)if(!(PFa(d,c[26628]|0)|0))d=106508;else break;else d=105740;d=kk[c[d>>2]&511](a,f)|0;if(d|0)break a}while(0);if((c[26437]&f|0)==(f|0)?(h=kk[c[26435]&511](a,f)|0,h|0):0){d=h;break}if((c[26629]&f|0)==(f|0)?(i=kk[c[26627]&511](a,f)|0,i|0):0){d=i;break}MAa(208562,j)|0;k=0;l=m;return k|0}while(0);c[d>>2]=231026;c[d+188>>2]=a;g[d+288>>2]=1.0;g[d+292>>2]=1.0;c[d+192>>2]=((CAa(a)|0)&72|0)!=0&1;BKa(a,207870,d)|0;yMa(d,0)|0;oLa(373,d);c[k>>2]=c[d+104>>2];bNa(6,208642,k);k=d;l=m;return k|0}function _Ma(a,b){a=a|0;b=b|0;var d=0,e=0;e=l;l=l+16|0;d=e;if(a|0?(c[a>>2]|0)==231026:0){d=a+104|0;a=b+84|0;do{c[b>>2]=c[d>>2];b=b+4|0;d=d+4|0}while((b|0)<(a|0));a=0;l=e;return a|0}MAa(193623,d)|0;a=-1;l=e;return a|0}function $Ma(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=l;l=l+48|0;k=t+32|0;j=t+24|0;i=t+16|0;h=t+8|0;g=t;if(a|0?(c[a>>2]|0)==231026:0){if(!b)r=c[a+116>>2]|0;else r=b;s=(r|0)==0|(r&-268435456|0)==268435456;b=r&255;if((b|0)==0&s){MAa(208318,h)|0;f=0;l=t;return f|0}if(s?((r>>>24&15)+-1|0)>>>0<3:0){MAa(208341,i)|0;f=0;l=t;return f|0}if((e|0)<1|(f|0)<1){MAa(208379,j)|0;f=0;l=t;return f|0}h=c[a+180>>2]|0;g=c[a+184>>2]|0;if(!((h|0)!=0&(h|0)<(e|0))?!((g|0)!=0&(g|0)<(f|0)):0){p=FAa(1,80)|0;if(!p){GAa(0)|0;f=0;l=t;return f|0}c[p>>2]=231027;m=p+4|0;c[m>>2]=r;c[p+8>>2]=d;c[p+12>>2]=e;c[p+16>>2]=f;c[p+28>>2]=-1;c[p+32>>2]=a;n=a+304|0;g=c[n>>2]|0;o=p+76|0;c[o>>2]=g;if(g|0)c[g+72>>2]=p;c[n>>2]=p;k=c[a+112>>2]|0;h=(k|0)==0;a:do if(!h){g=0;while(1){if((c[a+116+(g<<2)>>2]|0)==(r|0))break;g=g+1|0;if(g>>>0>=k>>>0)break a}if((kk[c[a+12>>2]&511](a,p)|0)>=0){f=p;l=t;return f|0}rMa(p);f=0;l=t;return f|0}while(0);b:do if(s){g=r>>>24&15;c:do if((g+-4|0)>>>0>=3)if((g+-7|0)>>>0<5){switch(r>>>20&15){case 6:case 2:case 3:{j=1;break c}default:{}}j=(r&15728640|0)==5242880&1}else j=0;else{switch(r>>>20&15){case 8:case 7:case 4:case 3:{j=1;break c}default:{}}j=0}while(0);if(h)q=48;else{i=0;while(1){g=c[a+116+(i<<2)>>2]|0;if((g|0)==0|(g&-268435456|0)==268435456){h=g>>>24&15;d:do if((h+-4|0)>>>0<3){switch(g>>>20&15){case 8:case 7:case 4:case 3:{h=1;break d}default:{}}h=0}else{if((h+-7|0)>>>0>=5){h=0;break}switch(g>>>20&15){case 5:case 6:case 2:case 3:{h=1;break d}default:{}}h=0}while(0);if((j|0)==(h|0))break b}i=i+1|0;if(i>>>0>=k>>>0){q=48;break}}}}else if(h)q=48;else{g=0;while(1){if((c[a+116+(g<<2)>>2]|0)==(r|0)){g=r;break b}g=g+1|0;if(g>>>0>=k>>>0){q=48;break}}}while(0);if((q|0)==48)g=c[a+116>>2]|0;i=$Ma(a,g,d,e,f)|0;c[p+36>>2]=i;if(!i){rMa(p);f=0;l=t;return f|0}g=c[o>>2]|0;c[i+76>>2]=g;if(g|0)c[g+72>>2]=i;g=i+72|0;h=c[g>>2]|0;c[p+72>>2]=h;if(h|0)c[h+76>>2]=p;c[g>>2]=p;c[o>>2]=i;c[n>>2]=p;q=c[m>>2]|0;if(!((q|0)==0|(q&-268435456|0)==268435456)){f=aNa(r,e,f)|0;c[p+40>>2]=f;if(f|0){f=p;l=t;return f|0}rMa(p);f=0;l=t;return f|0}if((d|0)!=1){f=p;l=t;return f|0}e:do if(!s){if((r|0)<1498831189)switch(r|0){case 844715353:{b=2;break e}default:{}}else switch(r|0){case 1498831189:{b=2;break e}default:{}}b=(r|0)==1431918169?2:1}while(0);e=(N(b,e)|0)+3&-4;c[p+48>>2]=e;f=FAa(1,N(e,f)|0)|0;c[p+44>>2]=f;if(f|0){f=p;l=t;return f|0}rMa(p);f=0;l=t;return f|0}c[k>>2]=h;c[k+4>>2]=g;MAa(208409,k)|0;f=0;l=t;return f|0}MAa(193623,g)|0;f=0;l=t;return f|0}function aNa(a,d,e){a=a|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0.0;p=l;l=l+16|0;f=p;a:do if((a|0)<1431918169)if((a|0)<844715353)switch(a|0){case 842094169:break a;default:{g=2;break a}}else switch(a|0){case 844715353:break a;default:{g=2;break a}}else{if((a|0)<1448433993)switch(a|0){case 1431918169:break a;default:{g=2;break a}}if((a|0)<1498831189)switch(a|0){case 1448433993:break a;default:{g=2;break a}}else switch(a|0){case 1498831189:break a;default:{g=2;break a}}}while(0);if((g|0)==2){MAa(208449,f)|0;e=0;l=p;return e|0}f=FAa(1,64)|0;if(!f){GAa(0)|0;e=0;l=p;return e|0}c[f>>2]=a;c[f+4>>2]=0;c[f+8>>2]=d;c[f+12>>2]=e;n=d<<1;k=f+16|0;c[k>>2]=sBa(N(n,e)|0)|0;h=f+20|0;c[h>>2]=sBa(4096)|0;g=sBa(9216)|0;i=f+24|0;c[i>>2]=g;k=c[k>>2]|0;m=k;if(k|0?(o=c[h>>2]|0,!((g|0)==0|(o|0)==0)):0){h=o+1024|0;i=o+2048|0;j=o+3072|0;g=0;do{q=+(g+-128|0);c[o+(g<<2)>>2]=~~(q*1.4013377926421404);c[h+(g<<2)>>2]=~~(q*-.7136038186157518);c[i+(g<<2)>>2]=~~(q*-.34441087613293053);c[j+(g<<2)>>2]=~~(q*1.7734138972809665);g=g+1|0}while((g|0)!=256);b:do if((a|0)<1431918169)if((a|0)<844715353){switch(a|0){case 842094169:{g=11;break b}default:{}}l=p;return f|0}else{switch(a|0){case 844715353:{g=12;break b}default:{}}l=p;return f|0}else{if((a|0)<1448433993){switch(a|0){case 1431918169:{g=12;break b}default:{}}l=p;return f|0}if((a|0)<1498831189){switch(a|0){case 1448433993:{g=11;break b}default:{}}l=p;return f|0}else{switch(a|0){case 1498831189:{g=12;break b}default:{}}l=p;return f|0}}while(0);if((g|0)==11){a=d&65535;b[f+36>>1]=a;o=d>>>1&32767;b[f+38>>1]=o;b[f+40>>1]=(a&65535)>>>1;c[f+44>>2]=k;d=k+(N(d&65535,e)|0)|0;c[f+48>>2]=d;c[f+52>>2]=d+((N(o,e)|0)/2|0);e=f;l=p;return e|0}else if((g|0)==12){b[f+36>>1]=n;c[f+44>>2]=m;e=f;l=p;return e|0}}iBa(k);iBa(c[h>>2]|0);iBa(c[i>>2]|0);ABa(c[f+56>>2]|0);ABa(c[f+60>>2]|0);iBa(f);GAa(0)|0;e=0;l=p;return e|0}function bNa(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=l;l=l+16|0;f=e;c[f>>2]=d;TFa(a,3,b,f);l=e;return}function cNa(){var a=0,b=0;b=c[57180]|0;a=c[57181]|0;if(!b){b=a;iBa(b);c[57181]=0;return}do{b=b+-1|0;a=c[a+(b<<2)>>2]|0;uNa(c[a>>2]|0,c[a+4>>2]|0);a=c[57181]|0}while((b|0)!=0);iBa(a);c[57181]=0;return}function dNa(){var a=0,b=0,d=0,e=0,f=0,g=0;if(((c[56510]|0?(a=TJa()|0,a|0):0)?(b=a+48|0,c[b>>2]&16384|0):0)?(gk[c[226040>>2]&1023](0)|0)!=-1:0)c[b>>2]=c[b>>2]&-16385;rNa(0)|0;f=c[56528]|0;c[56528]=1;do if((f|0)!=1){a=(c[56513]|0)==0?c[56526]|0:c[56527]|0;b=c[56504]|0;d=(b|0)==0;if((c[56521]|0)==0&(a|0)!=0){if(d)break;gk[b&1023](a)|0;break}else{if(d)break;gk[b&1023](0)|0;break}}while(0);a=c[56525]|0;if(a|0)do{f=a;a=c[a>>2]|0;b=c[56526]|0;a:do if((b|0)!=(f|0)){do if((c[56527]|0)==(f|0)){if(!b)b=(c[56513]|0)==0?0:f;else c[56527]=b;d=c[56504]|0;e=(d|0)==0;if((b|0)!=0&(c[56528]|0)!=0&(c[56521]|0)==0){if(e)break;gk[d&1023](b)|0;break}else{if(e)break;gk[d&1023](0)|0;break}}while(0);b=c[56525]|0;if(b|0){d=0;while(1){if((b|0)==(f|0))break;d=c[b>>2]|0;if(!d)break a;else{e=b;b=d;d=e}}c[((d|0)==0?226100:d)>>2]=c[f>>2];b=c[56506]|0;if(b|0)Bk[b&2047](f)}}while(0)}while((a|0)!=0);a=c[56526]|0;if(a|0?(g=c[56506]|0,g|0):0)Bk[g&2047](a);a=c[56524]|0;if(!a){xBa(226008,0,112)|0;return}iBa(a);xBa(226008,0,112)|0;return}function eNa(){return}function fNa(b){b=b|0;var c=0;if(b&8192){b=b|512;c=a[219949]|0;if(!(c<<24>>24==0|(c<<24>>24==1|0)==0)){hNa();c=a[219949]|0}if(c<<24>>24)a[219949]=c+-1<<24>>24}if(b&512){b=b|16384;c=a[219945]|0;if(!(c<<24>>24==0|(c<<24>>24==1|0)==0)){iNa();c=a[219945]|0}if(c<<24>>24)a[219945]=c+-1<<24>>24}if(b&16|0){c=a[219940]|0;if(!(c<<24>>24==0|(c<<24>>24==1|0)==0)){MLa();c=a[219940]|0}if(c<<24>>24)a[219940]=c+-1<<24>>24}if(b&32){b=b|16384;c=a[219941]|0;if(!(c<<24>>24==0|(c<<24>>24==1|0)==0)){jMa();c=a[219941]|0}if(c<<24>>24)a[219941]=c+-1<<24>>24}if(b&1|0){c=a[219936]|0;if(!(c<<24>>24==0|(c<<24>>24==1|0)==0))c=a[219936]|0;if(c<<24>>24)a[219936]=c+-1<<24>>24}if(!(b&16384))return;b=a[219950]|0;if(!(b<<24>>24==0|(b<<24>>24==1|0)==0)){kNa();lNa();b=a[219950]|0}if(!(b<<24>>24))return;a[219950]=b+-1<<24>>24;return}function gNa(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0;i=l;l=l+32|0;g=i+16|0;d=i+8|0;b=c[56498]|0;if(!b){MAa(192981,i)|0;l=i;return}if(a|0?(c[a>>2]|0)==(b+280|0):0){c[a+120>>2]=1;f=a+48|0;if(c[f>>2]&4|0){b=a+116|0;c[b>>2]=1;aGa(a,0)|0;d=c[56498]|0;e=c[d+84>>2]|0;if(e|0)Jk[e&1023](d,a);c[b>>2]=0;bGa(a,2,0,0)|0}if((TJa()|0)==(a|0))rJa(0);if((RGa()|0)==(a|0))KGa(0);if(c[f>>2]&2|0?(c[(c[56498]|0)+652>>2]|0)==(a|0):0)JAa(a,0)|0;b=c[a+108>>2]|0;if(b|0){c[b>>2]=c[b>>2]&-5;ABa(b)}b=c[56498]|0;d=c[b+140>>2]|0;if(d){Jk[d&1023](b,a);b=c[56498]|0}d=c[b+128>>2]|0;if(d|0)Jk[d&1023](b,a);do if(c[f>>2]&2|0){e=c[56498]|0;if(!e){MAa(192981,g)|0;break}b=e+388|0;d=c[b>>2]|0;if(((d|0)>0?(c[b>>2]=d+-1,(d|0)==1):0)?(h=c[e+172>>2]|0,h|0):0)Bk[h&2047](e)}while(0);b=OGa(a)|0;if((b|0)>-1)b=(c[(c[56498]|0)+268>>2]|0)+(b*68|0)|0;else b=0;b=b+56|0;if((c[b>>2]|0)==(a|0))c[b>>2]=0;c[a>>2]=0;iBa(c[a+8>>2]|0);ABa(c[a+12>>2]|0);iBa(c[a+100>>2]|0);d=a+140|0;b=c[d>>2]|0;if(b|0)do{c[d>>2]=c[b+8>>2];iBa(c[b>>2]|0);iBa(b);b=c[d>>2]|0}while((b|0)!=0);d=c[a+152>>2]|0;b=a+148|0;if(d|0)c[d+148>>2]=c[b>>2];h=c[b>>2]|0;c[((h|0)==0?(c[56498]|0)+272|0:h+152|0)>>2]=d;iBa(a);l=i;return}MAa(208472,d)|0;l=i;return}function hNa(){var a=0,b=0,d=0,e=0;a=c[57220]|0;if(a|0)do{c[a+4>>2]=0;oNa(c[a>>2]|0);b=c[57220]|0;a:do if(b|0){d=0;while(1){if((b|0)==(a|0))break;d=c[b+1344>>2]|0;if(!d)break a;else{e=b;b=d;d=e}}b=c[a+1344>>2]|0;if(!d){c[57220]=b;break}else{c[d+1344>>2]=b;break}}while(0);iBa(a);a=c[57220]|0}while((a|0)!=0);a=c[57215]|0;if(!a){uMa(372,0);return}do{c[57215]=c[a+24>>2];iBa(c[a+16>>2]|0);iBa(c[a+20>>2]|0);iBa(a);a=c[57215]|0}while((a|0)!=0);uMa(372,0);return}function iNa(){var a=0;a=c[57225]|0;if(a|0)do{c[a+48>>2]=1;oNa(a);a=c[57225]|0}while((a|0)!=0);pNa();fNa(16384);return}function jNa(){return}function kNa(){var a=0,b=0;b=l;l=l+144|0;a=b;Zi(2,0,a|0)|0;if((c[a>>2]|0)==1129){c[a>>2]=0;Zi(2,a|0,0)|0}Zi(15,0,a|0)|0;if((c[a>>2]|0)!=1129){l=b;return}c[a>>2]=0;Zi(15,a|0,0)|0;l=b;return}function lNa(){var a=0,b=0,d=0;d=l;l=l+16|0;b=d;a=OFa(208700)|0;ZKa(106476,0)|0;if(a|0?_Ka(a)|0:0){c[b>>2]=c[26621];mNa(208727,b)}a=c[26622]|0;if(a|0)do{b=a;a=c[a+72>>2]|0;iBa(b)}while((a|0)!=0);a=c[26624]|0;if(a|0)do{b=a;a=c[a+72>>2]|0;iBa(b)}while((a|0)!=0);a=c[26625]|0;if(a|0)do{b=a;a=c[a+12>>2]|0;iBa(b)}while((a|0)!=0);a=c[26626]|0;if(a|0)do{b=a;a=c[a+12>>2]|0;iBa(b)}while((a|0)!=0);ZKa(106480,0)|0;c[26621]=0;c[26622]=0;c[26623]=0;c[26624]=0;c[26625]=0;c[26626]=0;a=0;do{b=217888+(a<<2)|0;iBa(c[b>>2]|0);c[b>>2]=0;a=a+1|0}while((a|0)!=256);a=c[56531]|0;if(a|0)do{c[56531]=c[a+8>>2];iBa(a);a=c[56531]|0}while((a|0)!=0);if(!(c[26618]|0)){l=d;return}fMa(c[26618]|0);c[26618]=0;l=d;return}function mNa(a,b){a=a|0;b=b|0;var d=0,e=0;d=l;l=l+16|0;e=d;c[e>>2]=b;TFa(0,3,a,e);l=d;return}function nNa(a){a=a|0;_i(a|0,1129)|0;c[56530]=1;return}function oNa(a){a=a|0;var b=0,d=0,e=0;if(!a)return;b=a+48|0;d=c[b>>2]|0;c[b>>2]=d+-1;if((d|0)>1|(c[57226]|0)==(a|0))return;qNa(a);c[a+44>>2]=0;b=c[57225]|0;a:do if(b|0){d=0;while(1){if((b|0)==(a|0))break;d=c[b+60>>2]|0;if(!d)break a;else{e=b;b=d;d=e}}b=c[a+60>>2]|0;if(!d){c[57225]=b;break}else{c[d+60>>2]=b;break}}while(0);iBa(c[a+4>>2]|0);iBa(c[a+12>>2]|0);iBa(c[a+24>>2]|0);iBa(c[a+32>>2]|0);iBa(c[a+40>>2]|0);iBa(a);return}function pNa(){var a=0,b=0;a=c[57218]|0;if(a|0)do{b=a;a=c[a+1320>>2]|0;iBa(c[b+8>>2]|0);iBa(c[b+4>>2]|0);iBa(b)}while((a|0)!=0);c[57221]=0;c[57218]=0;c[57219]=0;c[57222]=0;qh(0,0,0)|0;rh(0,0,0)|0;return}function qNa(a){a=a|0;a=c[a+44>>2]|0;if(!a)return;c[a+16>>2]=0;return}function rNa(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;f=TJa()|0;if((c[56521]|0)==(a|0))return 0;h=(a|0)!=0;do if(h&(f|0)!=0){b=c[56513]|0;do if((b|0)!=(f|0)){if(b|0)bGa(b,11,0,0)|0;c[56513]=f;bGa(f,10,0,0)|0;b=(c[56513]|0)==0?c[56526]|0:c[56527]|0;d=c[56504]|0;e=(d|0)==0;if((b|0)!=0&(c[56528]|0)!=0&(c[56521]|0)==0){if(e)break;gk[d&1023](b)|0;break}else{if(e)break;gk[d&1023](0)|0;break}}while(0);d=(c[f+24>>2]|0)/2|0;e=(c[f+28>>2]|0)/2|0;b=c[56507]|0;if(b|0){Nk[b&255](f,d,e);break}b=c[56512]|0;if(MGa(f,d,e)|0)NGa(f,b,0,d,e)|0}while(0);do if(h|(c[56522]|0)==0){if(h){if(!(c[56509]|0)){b=1;g=20;break}if(JGa(208774,0)|0){b=1;g=20;break}}if(h&(gk[c[226036>>2]&1023](a)|0)<0){b=1;g=20}}else{b=0;g=20}while(0);if((g|0)==20)c[56522]=b;c[56521]=a;b=c[56513]|0;do if((b|0?(sNa(b),!h):0)?(i=c[56513]|0,j=c[56514]|0,k=c[56515]|0,i|0):0){b=c[56507]|0;if(b|0){Nk[b&255](i,j,k);break}b=c[56512]|0;if(MGa(i,j,k)|0)NGa(i,b,0,j,k)|0}while(0);tNa(1024);b=(c[56513]|0)==0?c[56526]|0:c[56527]|0;d=c[56504]|0;e=(d|0)==0;if((b|0)!=0&(c[56528]|0)!=0&(c[56521]|0)==0){if(e)return 0;gk[d&1023](b)|0;return 0}else{if(e)return 0;gk[d&1023](0)|0;return 0}return 0}function sNa(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;h=c[(dGa()|0)+76>>2]|0;g=c[a+48>>2]|0;d=c[56498]|0;b=d+276|0;e=c[b>>2]|0;if((h|g&256|0)==0|(g&512|0)==0)if((e|0)==(a|0)){c[b>>2]=0;e=0;b=d}else{e=0;b=d}else{if(!((e|0)==0|(e|0)==(a|0))?(f=e+48|0,c[f>>2]=c[f>>2]&-257,f=c[d+124>>2]|0,(f|0)!=0):0){Nk[f&255](d,e,0);d=c[56498]|0;b=d+276|0}c[b>>2]=a;e=1;b=d}d=c[b+124>>2]|0;if(!d)return;Nk[d&255](b,a,e);return}function tNa(a){a=a|0;IGa(a,a);return}function uNa(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;j=l;l=l+16|0;g=j;e=c[57180]|0;a:do if((e|0)>0){f=c[57181]|0;d=0;while(1){i=c[f+(d<<2)>>2]|0;if((c[i>>2]|0)==(a|0)?(c[i+4>>2]|0)==(b|0):0){i=d;break}d=d+1|0;if((d|0)>=(e|0)){i=-1;break}}d=0;while(1){h=c[f+(d<<2)>>2]|0;k=h;if((c[k>>2]|0)==(a|0)?(c[k+4>>2]|0)==(b|0):0)break;d=d+1|0;if((d|0)>=(e|0))break a}if((d|0)<(e|0)){if(!h){l=j;return}b=h+12|0;e=h+16|0;d=c[e>>2]|0;if((c[b>>2]|0)>0){a=0;do{iBa(c[d+(a<<2)>>2]|0);a=a+1|0;d=c[e>>2]|0}while((a|0)<(c[b>>2]|0))}iBa(d);iBa(h);h=(c[57180]|0)+-1|0;c[57180]=h;k=c[57181]|0;c[k+(i<<2)>>2]=c[k+(h<<2)>>2];l=j;return}}while(0);MAa(199183,g)|0;l=j;return}function vNa(a){a=a|0;if((a|0)!=-1){nGa(1536,a)|0;nGa(1537,a)|0;nGa(1538,a)|0;nGa(1539,a)|0;nGa(1540,a)|0;nGa(1541,a)|0;nGa(1542,a)|0;return a|0}if((nGa(1536,-1)|0)<<24>>24==1){a=1;return a|0}if((nGa(1537,-1)|0)<<24>>24==1){a=1;return a|0}if((nGa(1538,-1)|0)<<24>>24==1){a=1;return a|0}if((nGa(1539,-1)|0)<<24>>24==1){a=1;return a|0}if((nGa(1540,-1)|0)<<24>>24==1){a=1;return a|0}if((nGa(1541,-1)|0)<<24>>24==1){a=1;return a|0}else return (nGa(1542,-1)|0)&255|0;return 0}function wNa(){var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;u=l;l=l+64|0;n=u;d=c[57225]|0;if(!d){l=u;return}o=n+8|0;p=n+12|0;q=n+13|0;r=n+8|0;s=n+12|0;t=n+13|0;do{k=d;d=c[d+60>>2]|0;c[57226]=k;yNa(k);m=k+52|0;if(c[m>>2]|0){f=k+8|0;if((c[f>>2]|0)>0){g=k+16|0;e=0;do{zNa(k,e&255,b[(c[g>>2]|0)+(e<<1)>>1]|0)|0;e=e+1|0}while((e|0)<(c[f>>2]|0))}i=k+36|0;e=c[i>>2]|0;if((e|0)>0){j=k+40|0;h=0;do{f=h&255;c[n>>2]=1540;g=h&255;if((e|0)>(g|0)?a[(c[j>>2]|0)+g>>0]|0:0){(c[57223]|0)==0?LLa(32)|0:0;a[(c[j>>2]|0)+g>>0]=0;if((nGa(c[n>>2]|0,-1)|0)<<24>>24==1){c[o>>2]=c[k>>2];a[p>>0]=f;a[q>>0]=0;tGa(n)|0}}h=h+1|0;e=c[i>>2]|0}while((h|0)<(e|0))}i=k+20|0;e=c[i>>2]|0;if((e|0)>0){j=k+24|0;h=0;do{f=h&255;g=h&255;if((e|0)>(g|0)?a[(c[j>>2]|0)+g>>0]|0:0){(c[57223]|0)==0?LLa(32)|0:0;a[(c[j>>2]|0)+g>>0]=0;if((nGa(1538,-1)|0)<<24>>24==1){c[n>>2]=1538;c[r>>2]=c[k>>2];a[s>>0]=f;a[t>>0]=0;tGa(n)|0}}h=h+1|0;e=c[i>>2]|0}while((h|0)<(e|0))}c[m>>2]=0}c[57226]=0;if((c[k+48>>2]|0)<1)oNa(k)}while((d|0)!=0);l=u;return}function xNa(){if(!(c[56530]|0))return;c[56530]=0;vGa(256)|0;return}function yNa(a){a=a|0;var b=0,d=0.0,e=0,f=0,g=0,i=0,j=0,k=0,m=0,n=0,o=0;o=l;l=l+1440|0;n=o;m=c[a+44>>2]|0;if(!m){l=o;return}if(Mc(c[m>>2]|0,n|0)|0){l=o;return}d=+h[n>>3];if(!(d==0.0)?!(d!=+h[m+32>>3]):0){l=o;return}j=m+20|0;a=c[j>>2]|0;if((a|0)>0){k=m+16|0;i=0;do{g=m+1064+(i<<2)|0;b=c[g>>2]|0;e=n+1040+(i<<2)|0;f=c[e>>2]|0;if((b|0)!=(f|0)){BNa(c[k>>2]|0,i&255,(f|0)!=0&1)|0;b=c[e>>2]|0;a=c[j>>2]|0}h[m+552+(i<<3)>>3]=+h[n+528+(i<<3)>>3];c[g>>2]=b;i=i+1|0}while((i|0)<(a|0))}g=m+24|0;a=c[g>>2]|0;if((a|0)>0){i=m+16|0;f=0;do{e=m+40+(f<<3)|0;b=n+16+(f<<3)|0;d=+h[b>>3];if(+h[e>>3]!=d){zNa(c[i>>2]|0,f&255,~~(d*32767.0))|0;d=+h[b>>3];a=c[g>>2]|0}h[e>>3]=d;f=f+1|0}while((f|0)<(a|0))}h[m+32>>3]=+h[n>>3];l=o;return}function zNa(d,e,f){d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0;k=l;l=l+64|0;h=k;i=e&255;if((c[d+8>>2]|0)<=(i|0)){j=0;l=k;return j|0}j=d+12|0;if((b[(c[j>>2]|0)+(i<<1)>>1]|0)==f<<16>>16){j=0;l=k;return j|0}if(((c[57223]|0)==0?LLa(32)|0:0)?(TJa()|0)==0:0){g=b[(c[d+16>>2]|0)+(i<<1)>>1]|0;if(g<<16>>16<f<<16>>16?(b[(c[j>>2]|0)+(i<<1)>>1]|0)<=f<<16>>16:0){j=0;l=k;return j|0}if(g<<16>>16>f<<16>>16?(b[(c[j>>2]|0)+(i<<1)>>1]|0)>=f<<16>>16:0){j=0;l=k;return j|0}}b[(c[j>>2]|0)+(i<<1)>>1]=f;if((nGa(1536,-1)|0)<<24>>24!=1){j=0;l=k;return j|0}c[h>>2]=1536;c[h+8>>2]=c[d>>2];a[h+12>>0]=e;b[h+16>>1]=f;j=(tGa(h)|0)==1&1;l=k;return j|0}function ANa(){return}function BNa(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;i=l;l=l+64|0;h=i;switch(e<<24>>24){case 1:{f=1539;break}case 0:{f=1540;break}default:{h=0;l=i;return h|0}}c[h>>2]=f;f=d&255;if((c[b+36>>2]|0)<=(f|0)){h=0;l=i;return h|0}g=b+40|0;if((a[(c[g>>2]|0)+f>>0]|0)==e<<24>>24){h=0;l=i;return h|0}if(((c[57223]|0)==0?LLa(32)|0:0)?e<<24>>24==1&(TJa()|0)==0:0){h=0;l=i;return h|0}a[(c[g>>2]|0)+f>>0]=e;if((nGa(c[h>>2]|0,-1)|0)<<24>>24!=1){h=0;l=i;return h|0}c[h+8>>2]=c[b>>2];a[h+12>>0]=d;a[h+13>>0]=e;h=(tGa(h)|0)==1&1;l=i;return h|0}function CNa(a){a=a|0;var b=0;b=SJa()|0;if(b|0)Bk[c[b+204>>2]&2047](b);if(!((c[54478]|0)!=0?!(vNa(-1)|0):0))wNa();xNa();switch(xGa(a,1,2,0,65535)|0){case 0:case -1:break;default:{b=1;return b|0}}b=0;return b|0}function DNa(a,b,d,e,f,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;var i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0;K=l;l=l+144|0;J=K+112|0;I=K+104|0;H=K+96|0;G=K+88|0;F=K+80|0;E=K+72|0;B=K+64|0;A=K+56|0;v=K+48|0;w=K+40|0;n=K+32|0;m=K+24|0;k=K+16|0;j=K+8|0;i=K;u=K+120|0;if((c[56498]|0)==0?(hLa(0)|0)<0:0){J=0;l=K;return J|0}if(((h>>>17&1)+(h>>>18&1)+(h>>>19&1)|0)>>>0>1){MAa(208826,i)|0;J=0;l=K;return J|0}r=(e|0)>1?e:1;s=(f|0)>1?f:1;if((r|0)>16384|(s|0)>16384){MAa(208861,j)|0;J=0;l=K;return J|0}a:do if(h&2|0){f=c[56498]|0;if(!(c[f+176>>2]|0)){MAa(195243,k)|0;J=0;l=K;return J|0}b:do if(!f)e=MAa(192981,m)|0;else{i=f+388|0;e=c[i>>2]|0;do if(!e){e=c[f+164>>2]|0;if(!e){e=MAa(195009,n)|0;break b}e=kk[e&511](f,0)|0;i=c[56498]|0;if(!e){e=i+388|0;i=e;e=c[e>>2]|0;break}f=c[i+172>>2]|0;if(!f)break b;Bk[f&2047](i);break b}while(0);c[i>>2]=e+1;break a}while(0);if((e|0)<0){J=0;l=K;return J|0}}while(0);if(h&8192){t=(JGa(208882,0)|0)==0;h=t?h:h&-8193}t=FAa(1,156)|0;if(!t){GAa(0)|0;J=0;l=K;return J|0}o=c[56498]|0;c[t>>2]=o+280;o=o+284|0;n=c[o>>2]|0;c[o>>2]=n+1;c[t+4>>2]=n;n=t+16|0;c[n>>2]=b;o=t+20|0;c[o>>2]=d;p=t+24|0;c[p>>2]=r;q=t+28|0;c[q>>2]=s;k=b&-65536;if((k|0)<805240832)switch(k|0){case 536805376:{m=27;break}default:m=26}else switch(k|0){case 805240832:{m=27;break}default:m=26}c:do if((m|0)==26){e=d&-65536;if((e|0)<805240832)switch(e|0){case 536805376:{m=27;break c}default:{j=b;e=d;f=r;i=s;break c}}else switch(e|0){case 805240832:{m=27;break c}default:{j=b;e=d;f=r;i=s;break c}}}while(0);if((m|0)==27){e=OGa(t)|0;i=c[56498]|0;if((e|0)>-1)f=(c[i+268>>2]|0)+(e*68|0)|0;else f=0;j=c[i+264>>2]|0;d:do if((j|0)>0){i=c[i+268>>2]|0;e=0;while(1){if((i+(e*68|0)|0)==(f|0))break d;e=e+1|0;if((e|0)>=(j|0)){e=0;break}}}else e=0;while(0);WGa(e,u)|0;if((k|0)<805240832)switch(k|0){case 536805376:{m=34;break}default:{}}else switch(k|0){case 805240832:{m=34;break}default:{}}if((m|0)==34)c[n>>2]=(((c[u+8>>2]|0)-r|0)/2|0)+(c[u>>2]|0);e=d&-65536;if((e|0)<805240832)switch(e|0){case 536805376:{m=37;break}default:m=36}else switch(e|0){case 805240832:{m=37;break}default:m=36}if((m|0)==36)e=c[o>>2]|0;else if((m|0)==37){e=(((c[u+12>>2]|0)-s|0)/2|0)+(c[u+4>>2]|0)|0;c[o>>2]=e}j=c[n>>2]|0;f=c[p>>2]|0;i=c[q>>2]|0}c[t+56>>2]=j;c[t+60>>2]=e;c[t+64>>2]=f;c[t+68>>2]=i;k=(h&1|0)==0;if(!k){e=OGa(t)|0;i=c[56498]|0;if((e|0)>-1)f=(c[i+268>>2]|0)+(e*68|0)|0;else f=0;j=c[i+264>>2]|0;e:do if((j|0)>0){i=c[i+268>>2]|0;e=0;while(1){if((i+(e*68|0)|0)==(f|0))break e;e=e+1|0;if((e|0)>=(j|0)){e=0;break}}}else e=0;while(0);WGa(e,u)|0;c[n>>2]=c[u>>2];c[o>>2]=c[u+4>>2];c[p>>2]=c[u+8>>2];c[q>>2]=c[u+12>>2]}f=h&1024050|8;j=t+48|0;c[j>>2]=f;c[t+52>>2]=f;g[t+92>>2]=1.0;g[t+96>>2]=1.0;f=c[56498]|0;e=f+272|0;i=c[e>>2]|0;c[t+152>>2]=i;c[t+120>>2]=0;if(i|0)c[i+148>>2]=t;c[e>>2]=t;e=c[f+32>>2]|0;if(e|0?(kk[e&511](f,t)|0)<0:0){gNa(t);J=0;l=K;return J|0}do if(a|0){e=c[56498]|0;if(!e){MAa(192981,w)|0;break}if((c[t>>2]|0)!=(e+280|0)){MAa(208472,v)|0;break}e=t+8|0;i=c[e>>2]|0;if((i|0)!=(a|0)?(iBa(i),c[e>>2]=fKa(a)|0,x=c[56498]|0,y=c[x+40>>2]|0,y|0):0)Jk[y&1023](x,t)}while(0);do if(h&128|0){e=c[56498]|0;if(!e){MAa(192981,A)|0;break}if((c[t>>2]|0)!=(e+280|0)){MAa(208472,B)|0;break}if((c[j>>2]&128|0)==0?(z=c[e+92>>2]|0,z|0):0)Jk[z&1023](e,t)}while(0);do if(h&64|0){e=c[56498]|0;if(!e){MAa(192981,E)|0;break}if((c[t>>2]|0)!=(e+280|0)){MAa(208472,F)|0;break}if((c[j>>2]&64|0)==0?(aGa(t,0)|0,C=c[56498]|0,D=c[C+96>>2]|0,D|0):0)Jk[D&1023](C,t)}while(0);do if(!k){e=c[56498]|0;if(!e){MAa(192981,G)|0;break}if((c[t>>2]|0)!=(e+280|0)){MAa(208472,H)|0;break}e=h&4097;i=c[j>>2]|0;f=i&4097;if((e|0)!=(f|0)?(c[j>>2]=i&-4098|e,aGa(t,(i&4|0)==0?0:i>>>6&1^1)|0):0)c[j>>2]=c[j>>2]&-4098|f}while(0);if(h&256|0)cGa(t,1);do if(!(h&8)){i=c[56498]|0;if(!i){MAa(192981,I)|0;break}if((c[t>>2]|0)!=(i+280|0)){MAa(208472,J)|0;break}if(!(c[j>>2]&4)){e=c[i+80>>2]|0;if(e|0)Jk[e&1023](i,t);bGa(t,1,0,0)|0}}while(0);J=c[j>>2]|0;aGa(t,(J&5|0)==5?J>>>6&1^1:0)|0;J=t;l=K;return J|0}function ENa(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;j=l;l=l+32|0;g=j+24|0;f=j+16|0;e=j+8|0;i=c[56498]|0;if(!i){MAa(192981,j)|0;l=j;return}if(a|0?(c[a>>2]|0)==(i+280|0):0){if((b|0)<1){c[f>>2]=208909;MAa(208008,f)|0;l=j;return}if((d|0)<1){c[g>>2]=208911;MAa(208008,g)|0;l=j;return}h=c[a+32>>2]|0;h=(h|0)!=0&(h|0)>(b|0)?h:b;g=c[a+40>>2]|0;h=(g|0)!=0&(h|0)>(g|0)?g:h;g=c[a+36>>2]|0;g=(g|0)!=0&(g|0)>(d|0)?g:d;b=c[a+44>>2]|0;g=(b|0)!=0&(g|0)>(b|0)?b:g;c[a+64>>2]=h;c[a+68>>2]=g;b=c[a+48>>2]|0;if(b&1|0){if((b&68|0)!=4|(b&4097|0)==4097){l=j;return}c[a+52>>2]=0;aGa(a,1)|0;l=j;return}b=a+24|0;c[b>>2]=h;e=a+28|0;c[e>>2]=g;f=c[i+52>>2]|0;if(f|0?(Jk[f&1023](i,a),(c[b>>2]|0)!=(h|0)):0){l=j;return}if((c[e>>2]|0)!=(g|0)){l=j;return}c[a+112>>2]=0;bGa(a,6,h,g)|0;l=j;return}MAa(208472,e)|0;l=j;return}function FNa(b){b=b|0;var d=0,e=0,f=0,g=0,h=0;g=l;l=l+16|0;d=g+12|0;h=g+8|0;e=g+4|0;f=g;c[h>>2]=b;c[e>>2]=GNa((VNa(c[h>>2]|0)|0)+1|0)|0;WNa(c[e>>2]|0,c[h>>2]|0)|0;c[f>>2]=jOa(c[e>>2]|0,208913)|0;if(c[f>>2]|0)a[c[f>>2]>>0]=0;c[f>>2]=jOa(c[e>>2]|0,208917)|0;if(c[f>>2]|0)a[c[f>>2]>>0]=0;c[f>>2]=jOa(c[e>>2]|0,208921)|0;if(c[f>>2]|0)a[c[f>>2]>>0]=0;c[f>>2]=jOa(c[e>>2]|0,208925)|0;if(c[f>>2]|0)a[c[f>>2]>>0]=0;do if(eOa(c[e>>2]|0,208931)|0){if(!(eOa(c[e>>2]|0,208969)|0)){c[e>>2]=208988;break}if(!(eOa(c[e>>2]|0,209001)|0)){c[e>>2]=209022;break}if(!(eOa(c[e>>2]|0,209037)|0)){c[e>>2]=209052;break}if(!(eOa(c[e>>2]|0,209067)|0))c[e>>2]=209082}else c[e>>2]=208953;while(0);do if(eOa(c[e>>2]|0,209097)|0){if(!(eOa(c[e>>2]|0,209111)|0)){c[d>>2]=812;break}if(!(eOa(c[e>>2]|0,209123)|0)){c[d>>2]=374;break}if(!(eOa(c[e>>2]|0,209136)|0)){c[d>>2]=507;break}if(!(eOa(c[e>>2]|0,209150)|0)){c[d>>2]=508;break}if(!(eOa(c[e>>2]|0,209162)|0)){c[d>>2]=509;break}if(!(eOa(c[e>>2]|0,209176)|0)){c[d>>2]=510;break}if(!(eOa(c[e>>2]|0,209190)|0)){c[d>>2]=511;break}if(!(eOa(c[e>>2]|0,209207)|0)){c[d>>2]=2;break}if(!(eOa(c[e>>2]|0,209230)|0)){c[d>>2]=13;break}if(!(eOa(c[e>>2]|0,209256)|0)){c[d>>2]=14;break}if(!(eOa(c[e>>2]|0,209269)|0)){c[d>>2]=15;break}if(!(eOa(c[e>>2]|0,209285)|0)){c[d>>2]=1;break}if(!(eOa(c[e>>2]|0,209298)|0)){c[d>>2]=9;break}if(!(eOa(c[e>>2]|0,209314)|0)){c[d>>2]=19;break}if(!(eOa(c[e>>2]|0,209329)|0)){c[d>>2]=9;break}if(!(eOa(c[e>>2]|0,209344)|0)){c[d>>2]=7;break}if(!(eOa(c[e>>2]|0,209357)|0)){c[d>>2]=512;break}if(!(eOa(c[e>>2]|0,209371)|0)){c[d>>2]=159;break}if(!(eOa(c[e>>2]|0,209391)|0)){c[d>>2]=160;break}if(!(eOa(c[e>>2]|0,209411)|0)){c[d>>2]=161;break}if(!(eOa(c[e>>2]|0,209427)|0)){c[d>>2]=1;break}if(!(eOa(c[e>>2]|0,209443)|0)){c[d>>2]=162;break}if(!(eOa(c[e>>2]|0,209460)|0)){c[d>>2]=163;break}if(!(eOa(c[e>>2]|0,209477)|0)){c[d>>2]=813;break}if(!(eOa(c[e>>2]|0,209489)|0)){c[d>>2]=513;break}if(!(eOa(c[e>>2]|0,209502)|0)){c[d>>2]=514;break}if(!(eOa(c[e>>2]|0,209518)|0)){c[d>>2]=164;break}if(!(eOa(c[e>>2]|0,209541)|0)){c[d>>2]=63;break}if(!(eOa(c[e>>2]|0,209554)|0)){c[d>>2]=64;break}if(!(eOa(c[e>>2]|0,209570)|0)){c[d>>2]=814;break}if(!(eOa(c[e>>2]|0,209581)|0)){c[d>>2]=515;break}if(!(eOa(c[e>>2]|0,209600)|0)){c[d>>2]=516;break}if(!(eOa(c[e>>2]|0,209622)|0)){c[d>>2]=517;break}if(!(eOa(c[e>>2]|0,209641)|0)){c[d>>2]=165;break}if(!(eOa(c[e>>2]|0,209670)|0)){c[d>>2]=815;break}if(!(eOa(c[e>>2]|0,209687)|0)){c[d>>2]=166;break}if(!(eOa(c[e>>2]|0,209702)|0)){c[d>>2]=167;break}if(!(eOa(c[e>>2]|0,209717)|0)){c[d>>2]=375;break}if(!(eOa(c[e>>2]|0,209738)|0)){c[d>>2]=168;break}if(!(eOa(c[e>>2]|0,209758)|0)){c[d>>2]=169;break}if(!(eOa(c[e>>2]|0,209778)|0)){c[d>>2]=170;break}if(!(eOa(c[e>>2]|0,209804)|0)){c[d>>2]=8;break}if(!(eOa(c[e>>2]|0,209823)|0)){c[d>>2]=8;break}if(!(eOa(c[e>>2]|0,209835)|0)){c[d>>2]=11;break}if(!(eOa(c[e>>2]|0,209847)|0)){c[d>>2]=5;break}if(!(eOa(c[e>>2]|0,209859)|0)){c[d>>2]=4;break}if(!(eOa(c[e>>2]|0,209871)|0)){c[d>>2]=518;break}if(!(eOa(c[e>>2]|0,209883)|0)){c[d>>2]=171;break}if(!(eOa(c[e>>2]|0,209895)|0)){c[d>>2]=65;break}if(!(eOa(c[e>>2]|0,209907)|0)){c[d>>2]=20;break}if(!(eOa(c[e>>2]|0,209919)|0)){c[d>>2]=172;break}if(!(eOa(c[e>>2]|0,209932)|0)){c[d>>2]=173;break}if(!(eOa(c[e>>2]|0,209945)|0)){c[d>>2]=174;break}if(!(eOa(c[e>>2]|0,209958)|0)){c[d>>2]=175;break}if(!(eOa(c[e>>2]|0,209971)|0)){c[d>>2]=176;break}if(!(eOa(c[e>>2]|0,209984)|0)){c[d>>2]=177;break}if(!(eOa(c[e>>2]|0,209997)|0)){c[d>>2]=178;break}if(!(eOa(c[e>>2]|0,210010)|0)){c[d>>2]=179;break}if(!(eOa(c[e>>2]|0,210023)|0)){c[d>>2]=66;break}if(!(eOa(c[e>>2]|0,210042)|0)){c[d>>2]=67;break}if(!(eOa(c[e>>2]|0,210061)|0)){c[d>>2]=68;break}if(!(eOa(c[e>>2]|0,210080)|0)){c[d>>2]=519;break}if(!(eOa(c[e>>2]|0,210093)|0)){c[d>>2]=9;break}if(!(eOa(c[e>>2]|0,210110)|0)){c[d>>2]=12;break}if(!(eOa(c[e>>2]|0,210127)|0)){c[d>>2]=6;break}if(!(eOa(c[e>>2]|0,210144)|0)){c[d>>2]=5;break}if(!(eOa(c[e>>2]|0,210161)|0)){c[d>>2]=520;break}if(!(eOa(c[e>>2]|0,210179)|0)){c[d>>2]=521;break}if(!(eOa(c[e>>2]|0,210197)|0)){c[d>>2]=522;break}if(!(eOa(c[e>>2]|0,210215)|0)){c[d>>2]=523;break}if(!(eOa(c[e>>2]|0,210233)|0)){c[d>>2]=376;break}if(!(eOa(c[e>>2]|0,210253)|0)){c[d>>2]=9;break}if(!(eOa(c[e>>2]|0,209022)|0)){c[d>>2]=816;break}if(!(eOa(c[e>>2]|0,210271)|0)){c[d>>2]=1140;break}if(!(eOa(c[e>>2]|0,210286)|0)){c[d>>2]=69;break}if(!(eOa(c[e>>2]|0,210307)|0)){c[d>>2]=70;break}if(!(eOa(c[e>>2]|0,210322)|0)){c[d>>2]=71;break}if(!(eOa(c[e>>2]|0,210340)|0)){c[d>>2]=1141;break}if(!(eOa(c[e>>2]|0,210356)|0)){c[d>>2]=72;break}if(!(eOa(c[e>>2]|0,210375)|0)){c[d>>2]=180;break}if(!(eOa(c[e>>2]|0,210389)|0)){c[d>>2]=181;break}if(!(eOa(c[e>>2]|0,210404)|0)){c[d>>2]=817;break}if(!(eOa(c[e>>2]|0,208953)|0)){c[d>>2]=5;break}if(!(eOa(c[e>>2]|0,210415)|0)){c[d>>2]=1142;break}if(!(eOa(c[e>>2]|0,209052)|0)){c[d>>2]=524;break}if(!(eOa(c[e>>2]|0,209082)|0)){c[d>>2]=525;break}if(!(eOa(c[e>>2]|0,210431)|0)){c[d>>2]=73;break}if(!(eOa(c[e>>2]|0,210458)|0)){c[d>>2]=1143;break}if(!(eOa(c[e>>2]|0,210472)|0)){c[d>>2]=74;break}if(!(eOa(c[e>>2]|0,208988)|0)){c[d>>2]=1144;break}if(!(eOa(c[e>>2]|0,210492)|0)){c[d>>2]=1145;break}if(!(eOa(c[e>>2]|0,210510)|0)){c[d>>2]=818;break}if(!(eOa(c[e>>2]|0,210522)|0)){c[d>>2]=182;break}if(!(eOa(c[e>>2]|0,210543)|0)){c[d>>2]=526;break}if(!(eOa(c[e>>2]|0,210561)|0)){c[d>>2]=527;break}if(!(eOa(c[e>>2]|0,210579)|0)){c[d>>2]=528;break}if(!(eOa(c[e>>2]|0,210600)|0)){c[d>>2]=75;break}if(!(eOa(c[e>>2]|0,210626)|0)){c[d>>2]=21;break}if(!(eOa(c[e>>2]|0,210649)|0)){c[d>>2]=76;break}if(!(eOa(c[e>>2]|0,210687)|0)){c[d>>2]=819;break}if(!(eOa(c[e>>2]|0,210703)|0)){c[d>>2]=1146;break}if(!(eOa(c[e>>2]|0,210718)|0)){c[d>>2]=183;break}if(!(eOa(c[e>>2]|0,210741)|0)){c[d>>2]=77;break}if(!(eOa(c[e>>2]|0,210754)|0)){c[d>>2]=529;break}if(!(eOa(c[e>>2]|0,210768)|0)){c[d>>2]=530;break}if(!(eOa(c[e>>2]|0,210782)|0)){c[d>>2]=10;break}if(!(eOa(c[e>>2]|0,210802)|0)){c[d>>2]=1147;break}if(!(eOa(c[e>>2]|0,210822)|0)){c[d>>2]=78;break}if(!(eOa(c[e>>2]|0,210838)|0)){c[d>>2]=79;break}if(!(eOa(c[e>>2]|0,210856)|0)){c[d>>2]=184;break}if(!(eOa(c[e>>2]|0,210872)|0)){c[d>>2]=80;break}if(!(eOa(c[e>>2]|0,210887)|0)){c[d>>2]=1148;break}if(!(eOa(c[e>>2]|0,210909)|0)){c[d>>2]=820;break}if(!(eOa(c[e>>2]|0,210925)|0)){c[d>>2]=531;break}if(!(eOa(c[e>>2]|0,210943)|0)){c[d>>2]=532;break}if(!(eOa(c[e>>2]|0,210964)|0)){c[d>>2]=1149;break}if(!(eOa(c[e>>2]|0,210982)|0)){c[d>>2]=1150;break}if(!(eOa(c[e>>2]|0,210995)|0)){c[d>>2]=8;break}if(!(eOa(c[e>>2]|0,211010)|0)){c[d>>2]=1151;break}if(!(eOa(c[e>>2]|0,211024)|0)){c[d>>2]=1;break}if(!(eOa(c[e>>2]|0,211034)|0)){c[d>>2]=1;break}if(!(eOa(c[e>>2]|0,211044)|0)){c[d>>2]=11;break}if(!(eOa(c[e>>2]|0,211066)|0)){c[d>>2]=1152;break}if(!(eOa(c[e>>2]|0,211092)|0)){c[d>>2]=1153;break}if(!(eOa(c[e>>2]|0,211119)|0)){c[d>>2]=185;break}if(!(eOa(c[e>>2]|0,211132)|0)){c[d>>2]=81;break}if(!(eOa(c[e>>2]|0,211147)|0)){c[d>>2]=22;break}if(!(eOa(c[e>>2]|0,211162)|0)){c[d>>2]=9;break}if(!(eOa(c[e>>2]|0,211186)|0)){c[d>>2]=6;break}if(!(eOa(c[e>>2]|0,211197)|0)){c[d>>2]=533;break}if(!(eOa(c[e>>2]|0,211219)|0)){c[d>>2]=82;break}if(!(eOa(c[e>>2]|0,211241)|0)){c[d>>2]=23;break}if(!(eOa(c[e>>2]|0,211265)|0)){c[d>>2]=10;break}if(!(eOa(c[e>>2]|0,211274)|0)){c[d>>2]=11;break}if(!(eOa(c[e>>2]|0,211282)|0)){c[d>>2]=1;break}if(!(eOa(c[e>>2]|0,211295)|0)){c[d>>2]=2;break}if(!(eOa(c[e>>2]|0,211309)|0)){c[d>>2]=1154;break}if(!(eOa(c[e>>2]|0,211321)|0)){c[d>>2]=1155;break}if(!(eOa(c[e>>2]|0,211330)|0)){c[d>>2]=1156;break}if(!(eOa(c[e>>2]|0,211340)|0)){c[d>>2]=1157;break}if(!(eOa(c[e>>2]|0,211352)|0)){c[d>>2]=1158;break}if(!(eOa(c[e>>2]|0,211363)|0)){c[d>>2]=1159;break}if(!(eOa(c[e>>2]|0,211371)|0)){c[d>>2]=3;break}if(!(eOa(c[e>>2]|0,211383)|0)){c[d>>2]=1160;break}if(!(eOa(c[e>>2]|0,211398)|0)){c[d>>2]=1161;break}if(!(eOa(c[e>>2]|0,211410)|0)){c[d>>2]=1162;break}if(!(eOa(c[e>>2]|0,211424)|0)){c[d>>2]=821;break}if(!(eOa(c[e>>2]|0,211449)|0)){c[d>>2]=1163;break}if(!(eOa(c[e>>2]|0,211466)|0)){c[d>>2]=1164;break}if(!(eOa(c[e>>2]|0,211482)|0)){c[d>>2]=1165;break}if(!(eOa(c[e>>2]|0,211498)|0)){c[d>>2]=822;break}if(!(eOa(c[e>>2]|0,211510)|0)){c[d>>2]=534;break}if(!(eOa(c[e>>2]|0,211522)|0)){c[d>>2]=535;break}if(!(eOa(c[e>>2]|0,211546)|0)){c[d>>2]=1;break}if(!(eOa(c[e>>2]|0,211559)|0)){c[d>>2]=2;break}if(!(eOa(c[e>>2]|0,211573)|0)){c[d>>2]=536;break}if(!(eOa(c[e>>2]|0,211595)|0)){c[d>>2]=537;break}if(!(eOa(c[e>>2]|0,211602)|0)){c[d>>2]=3;break}if(!(eOa(c[e>>2]|0,211618)|0)){c[d>>2]=1;break}if(!(eOa(c[e>>2]|0,211635)|0)){c[d>>2]=186;break}if(!(eOa(c[e>>2]|0,211649)|0)){c[d>>2]=187;break}if(!(eOa(c[e>>2]|0,211661)|0)){c[d>>2]=83;break}if(!(eOa(c[e>>2]|0,211672)|0)){c[d>>2]=2;break}if(!(eOa(c[e>>2]|0,211685)|0)){c[d>>2]=84;break}if(!(eOa(c[e>>2]|0,211695)|0)){c[d>>2]=85;break}if(!(eOa(c[e>>2]|0,211707)|0)){c[d>>2]=86;break}if(!(eOa(c[e>>2]|0,211729)|0)){c[d>>2]=87;break}if(!(eOa(c[e>>2]|0,211749)|0)){c[d>>2]=3;break}if(!(eOa(c[e>>2]|0,211762)|0)){c[d>>2]=88;break}if(!(eOa(c[e>>2]|0,211784)|0)){c[d>>2]=89;break}if(!(eOa(c[e>>2]|0,211804)|0)){c[d>>2]=3;break}if(!(eOa(c[e>>2]|0,211821)|0)){c[d>>2]=4;break}if(!(eOa(c[e>>2]|0,211841)|0)){c[d>>2]=538;break}if(!(eOa(c[e>>2]|0,211855)|0)){c[d>>2]=90;break}if(!(eOa(c[e>>2]|0,211875)|0)){c[d>>2]=24;break}if(!(eOa(c[e>>2]|0,211897)|0)){c[d>>2]=25;break}if(!(eOa(c[e>>2]|0,211920)|0)){c[d>>2]=377;break}if(!(eOa(c[e>>2]|0,211943)|0)){c[d>>2]=91;break}if(!(eOa(c[e>>2]|0,211969)|0)){c[d>>2]=26;break}if(!(eOa(c[e>>2]|0,211997)|0)){c[d>>2]=188;break}if(!(eOa(c[e>>2]|0,212019)|0)){c[d>>2]=27;break}if(!(eOa(c[e>>2]|0,212032)|0)){c[d>>2]=189;break}if(!(eOa(c[e>>2]|0,212048)|0)){c[d>>2]=190;break}if(!(eOa(c[e>>2]|0,212064)|0)){c[d>>2]=539;break}if(!(eOa(c[e>>2]|0,212074)|0)){c[d>>2]=540;break}if(!(eOa(c[e>>2]|0,212085)|0)){c[d>>2]=378;break}if(!(eOa(c[e>>2]|0,212098)|0)){c[d>>2]=1166;break}if(!(eOa(c[e>>2]|0,212123)|0)){c[d>>2]=12;break}if(!(eOa(c[e>>2]|0,212146)|0)){c[d>>2]=28;break}if(!(eOa(c[e>>2]|0,212164)|0)){c[d>>2]=191;break}if(!(eOa(c[e>>2]|0,212181)|0)){c[d>>2]=92;break}if(!(eOa(c[e>>2]|0,212209)|0)){c[d>>2]=10;break}if(!(eOa(c[e>>2]|0,212239)|0)){c[d>>2]=541;break}if(!(eOa(c[e>>2]|0,212252)|0)){c[d>>2]=542;break}if(!(eOa(c[e>>2]|0,212277)|0)){c[d>>2]=13;break}if(!(eOa(c[e>>2]|0,212300)|0)){c[d>>2]=29;break}if(!(eOa(c[e>>2]|0,212323)|0)){c[d>>2]=192;break}if(!(eOa(c[e>>2]|0,212344)|0)){c[d>>2]=193;break}if(!(eOa(c[e>>2]|0,212366)|0)){c[d>>2]=543;break}if(!(eOa(c[e>>2]|0,212384)|0)){c[d>>2]=194;break}if(!(eOa(c[e>>2]|0,212402)|0)){c[d>>2]=93;break}if(!(eOa(c[e>>2]|0,212420)|0)){c[d>>2]=30;break}if(!(eOa(c[e>>2]|0,212438)|0)){c[d>>2]=544;break}if(!(eOa(c[e>>2]|0,212457)|0)){c[d>>2]=195;break}if(!(eOa(c[e>>2]|0,212476)|0)){c[d>>2]=94;break}if(!(eOa(c[e>>2]|0,212495)|0)){c[d>>2]=31;break}if(!(eOa(c[e>>2]|0,212514)|0)){c[d>>2]=545;break}if(!(eOa(c[e>>2]|0,212533)|0)){c[d>>2]=546;break}if(!(eOa(c[e>>2]|0,212552)|0)){c[d>>2]=547;break}if(!(eOa(c[e>>2]|0,212571)|0)){c[d>>2]=548;break}if(!(eOa(c[e>>2]|0,212590)|0)){c[d>>2]=549;break}if(!(eOa(c[e>>2]|0,212610)|0)){c[d>>2]=550;break}if(!(eOa(c[e>>2]|0,212630)|0)){c[d>>2]=551;break}if(!(eOa(c[e>>2]|0,212650)|0)){c[d>>2]=552;break}if(!(eOa(c[e>>2]|0,212670)|0)){c[d>>2]=553;break}if(!(eOa(c[e>>2]|0,212689)|0)){c[d>>2]=554;break}if(!(eOa(c[e>>2]|0,212708)|0)){c[d>>2]=555;break}if(!(eOa(c[e>>2]|0,212728)|0)){c[d>>2]=556;break}if(!(eOa(c[e>>2]|0,212748)|0)){c[d>>2]=196;break}if(!(eOa(c[e>>2]|0,212764)|0)){c[d>>2]=197;break}if(!(eOa(c[e>>2]|0,212787)|0)){c[d>>2]=379;break}if(!(eOa(c[e>>2]|0,212809)|0)){c[d>>2]=557;break}if(!(eOa(c[e>>2]|0,212822)|0)){c[d>>2]=198;break}if(!(eOa(c[e>>2]|0,212835)|0)){c[d>>2]=95;break}if(!(eOa(c[e>>2]|0,212848)|0)){c[d>>2]=32;break}if(!(eOa(c[e>>2]|0,212809)|0)){c[d>>2]=557;break}if(!(eOa(c[e>>2]|0,212822)|0)){c[d>>2]=198;break}if(!(eOa(c[e>>2]|0,212835)|0)){c[d>>2]=95;break}if(!(eOa(c[e>>2]|0,212848)|0)){c[d>>2]=32;break}if(!(eOa(c[e>>2]|0,212861)|0)){c[d>>2]=199;break}if(!(eOa(c[e>>2]|0,212879)|0)){c[d>>2]=200;break}if(!(eOa(c[e>>2]|0,212898)|0)){c[d>>2]=201;break}if(!(eOa(c[e>>2]|0,212919)|0)){c[d>>2]=202;break}if(!(eOa(c[e>>2]|0,212941)|0)){c[d>>2]=203;break}if(!(eOa(c[e>>2]|0,212957)|0)){c[d>>2]=204;break}if(!(eOa(c[e>>2]|0,212974)|0)){c[d>>2]=205;break}if(eOa(c[e>>2]|0,212990)|0){c[d>>2]=0;break}else{c[d>>2]=1;break}}else c[d>>2]=506;while(0);l=g;return c[d>>2]|0}function GNa(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;x=l;l=l+16|0;o=x;do if(a>>>0<245){k=a>>>0<11?16:a+11&-8;a=k>>>3;n=c[57227]|0;d=n>>>a;if(d&3|0){b=(d&1^1)+a|0;a=228948+(b<<1<<2)|0;d=a+8|0;e=c[d>>2]|0;f=e+8|0;g=c[f>>2]|0;if((g|0)==(a|0))c[57227]=n&~(1<<b);else{c[g+12>>2]=a;c[d>>2]=g}w=b<<3;c[e+4>>2]=w|3;w=e+w+4|0;c[w>>2]=c[w>>2]|1;w=f;l=x;return w|0}m=c[57229]|0;if(k>>>0>m>>>0){if(d|0){b=2<<a;b=d<<a&(b|0-b);b=(b&0-b)+-1|0;i=b>>>12&16;b=b>>>i;d=b>>>5&8;b=b>>>d;g=b>>>2&4;b=b>>>g;a=b>>>1&2;b=b>>>a;e=b>>>1&1;e=(d|i|g|a|e)+(b>>>e)|0;b=228948+(e<<1<<2)|0;a=b+8|0;g=c[a>>2]|0;i=g+8|0;d=c[i>>2]|0;if((d|0)==(b|0)){a=n&~(1<<e);c[57227]=a}else{c[d+12>>2]=b;c[a>>2]=d;a=n}w=e<<3;h=w-k|0;c[g+4>>2]=k|3;f=g+k|0;c[f+4>>2]=h|1;c[g+w>>2]=h;if(m|0){e=c[57232]|0;b=m>>>3;d=228948+(b<<1<<2)|0;b=1<<b;if(!(a&b)){c[57227]=a|b;b=d;a=d+8|0}else{a=d+8|0;b=c[a>>2]|0}c[a>>2]=e;c[b+12>>2]=e;c[e+8>>2]=b;c[e+12>>2]=d}c[57229]=h;c[57232]=f;w=i;l=x;return w|0}g=c[57228]|0;if(g){d=(g&0-g)+-1|0;f=d>>>12&16;d=d>>>f;e=d>>>5&8;d=d>>>e;h=d>>>2&4;d=d>>>h;i=d>>>1&2;d=d>>>i;j=d>>>1&1;j=c[229212+((e|f|h|i|j)+(d>>>j)<<2)>>2]|0;d=j;i=j;j=(c[j+4>>2]&-8)-k|0;while(1){a=c[d+16>>2]|0;if(!a){a=c[d+20>>2]|0;if(!a)break}h=(c[a+4>>2]&-8)-k|0;f=h>>>0<j>>>0;d=a;i=f?a:i;j=f?h:j}h=i+k|0;if(h>>>0>i>>>0){f=c[i+24>>2]|0;b=c[i+12>>2]|0;do if((b|0)==(i|0)){a=i+20|0;b=c[a>>2]|0;if(!b){a=i+16|0;b=c[a>>2]|0;if(!b){d=0;break}}while(1){e=b+20|0;d=c[e>>2]|0;if(!d){e=b+16|0;d=c[e>>2]|0;if(!d)break;else{b=d;a=e}}else{b=d;a=e}}c[a>>2]=0;d=b}else{d=c[i+8>>2]|0;c[d+12>>2]=b;c[b+8>>2]=d;d=b}while(0);do if(f|0){b=c[i+28>>2]|0;a=229212+(b<<2)|0;if((i|0)==(c[a>>2]|0)){c[a>>2]=d;if(!d){c[57228]=g&~(1<<b);break}}else{w=f+16|0;c[((c[w>>2]|0)==(i|0)?w:f+20|0)>>2]=d;if(!d)break}c[d+24>>2]=f;b=c[i+16>>2]|0;if(b|0){c[d+16>>2]=b;c[b+24>>2]=d}b=c[i+20>>2]|0;if(b|0){c[d+20>>2]=b;c[b+24>>2]=d}}while(0);if(j>>>0<16){w=j+k|0;c[i+4>>2]=w|3;w=i+w+4|0;c[w>>2]=c[w>>2]|1}else{c[i+4>>2]=k|3;c[h+4>>2]=j|1;c[h+j>>2]=j;if(m|0){e=c[57232]|0;b=m>>>3;d=228948+(b<<1<<2)|0;b=1<<b;if(!(b&n)){c[57227]=b|n;b=d;a=d+8|0}else{a=d+8|0;b=c[a>>2]|0}c[a>>2]=e;c[b+12>>2]=e;c[e+8>>2]=b;c[e+12>>2]=d}c[57229]=j;c[57232]=h}w=i+8|0;l=x;return w|0}else n=k}else n=k}else n=k}else if(a>>>0<=4294967231){a=a+11|0;k=a&-8;e=c[57228]|0;if(e){f=0-k|0;a=a>>>8;if(a)if(k>>>0>16777215)j=31;else{n=(a+1048320|0)>>>16&8;r=a<<n;i=(r+520192|0)>>>16&4;r=r<<i;j=(r+245760|0)>>>16&2;j=14-(i|n|j)+(r<<j>>>15)|0;j=k>>>(j+7|0)&1|j<<1}else j=0;d=c[229212+(j<<2)>>2]|0;a:do if(!d){d=0;a=0;r=61}else{a=0;i=k<<((j|0)==31?0:25-(j>>>1)|0);g=0;while(1){h=(c[d+4>>2]&-8)-k|0;if(h>>>0<f>>>0)if(!h){a=d;f=0;r=65;break a}else{a=d;f=h}r=c[d+20>>2]|0;d=c[d+16+(i>>>31<<2)>>2]|0;g=(r|0)==0|(r|0)==(d|0)?g:r;if(!d){d=g;r=61;break}else i=i<<1}}while(0);if((r|0)==61){if((d|0)==0&(a|0)==0){a=2<<j;a=(a|0-a)&e;if(!a){n=k;break}n=(a&0-a)+-1|0;h=n>>>12&16;n=n>>>h;g=n>>>5&8;n=n>>>g;i=n>>>2&4;n=n>>>i;j=n>>>1&2;n=n>>>j;d=n>>>1&1;a=0;d=c[229212+((g|h|i|j|d)+(n>>>d)<<2)>>2]|0}if(!d){i=a;h=f}else r=65}if((r|0)==65){g=d;while(1){n=(c[g+4>>2]&-8)-k|0;d=n>>>0<f>>>0;f=d?n:f;a=d?g:a;d=c[g+16>>2]|0;if(!d)d=c[g+20>>2]|0;if(!d){i=a;h=f;break}else g=d}}if(((i|0)!=0?h>>>0<((c[57229]|0)-k|0)>>>0:0)?(m=i+k|0,m>>>0>i>>>0):0){g=c[i+24>>2]|0;b=c[i+12>>2]|0;do if((b|0)==(i|0)){a=i+20|0;b=c[a>>2]|0;if(!b){a=i+16|0;b=c[a>>2]|0;if(!b){b=0;break}}while(1){f=b+20|0;d=c[f>>2]|0;if(!d){f=b+16|0;d=c[f>>2]|0;if(!d)break;else{b=d;a=f}}else{b=d;a=f}}c[a>>2]=0}else{w=c[i+8>>2]|0;c[w+12>>2]=b;c[b+8>>2]=w}while(0);do if(g){a=c[i+28>>2]|0;d=229212+(a<<2)|0;if((i|0)==(c[d>>2]|0)){c[d>>2]=b;if(!b){e=e&~(1<<a);c[57228]=e;break}}else{w=g+16|0;c[((c[w>>2]|0)==(i|0)?w:g+20|0)>>2]=b;if(!b)break}c[b+24>>2]=g;a=c[i+16>>2]|0;if(a|0){c[b+16>>2]=a;c[a+24>>2]=b}a=c[i+20>>2]|0;if(a){c[b+20>>2]=a;c[a+24>>2]=b}}while(0);b:do if(h>>>0<16){w=h+k|0;c[i+4>>2]=w|3;w=i+w+4|0;c[w>>2]=c[w>>2]|1}else{c[i+4>>2]=k|3;c[m+4>>2]=h|1;c[m+h>>2]=h;b=h>>>3;if(h>>>0<256){d=228948+(b<<1<<2)|0;a=c[57227]|0;b=1<<b;if(!(a&b)){c[57227]=a|b;b=d;a=d+8|0}else{a=d+8|0;b=c[a>>2]|0}c[a>>2]=m;c[b+12>>2]=m;c[m+8>>2]=b;c[m+12>>2]=d;break}b=h>>>8;if(b)if(h>>>0>16777215)d=31;else{v=(b+1048320|0)>>>16&8;w=b<<v;u=(w+520192|0)>>>16&4;w=w<<u;d=(w+245760|0)>>>16&2;d=14-(u|v|d)+(w<<d>>>15)|0;d=h>>>(d+7|0)&1|d<<1}else d=0;b=229212+(d<<2)|0;c[m+28>>2]=d;a=m+16|0;c[a+4>>2]=0;c[a>>2]=0;a=1<<d;if(!(e&a)){c[57228]=e|a;c[b>>2]=m;c[m+24>>2]=b;c[m+12>>2]=m;c[m+8>>2]=m;break}b=c[b>>2]|0;c:do if((c[b+4>>2]&-8|0)!=(h|0)){e=h<<((d|0)==31?0:25-(d>>>1)|0);while(1){d=b+16+(e>>>31<<2)|0;a=c[d>>2]|0;if(!a)break;if((c[a+4>>2]&-8|0)==(h|0)){b=a;break c}else{e=e<<1;b=a}}c[d>>2]=m;c[m+24>>2]=b;c[m+12>>2]=m;c[m+8>>2]=m;break b}while(0);v=b+8|0;w=c[v>>2]|0;c[w+12>>2]=m;c[v>>2]=m;c[m+8>>2]=w;c[m+12>>2]=b;c[m+24>>2]=0}while(0);w=i+8|0;l=x;return w|0}else n=k}else n=k}else n=-1;while(0);d=c[57229]|0;if(d>>>0>=n>>>0){b=d-n|0;a=c[57232]|0;if(b>>>0>15){w=a+n|0;c[57232]=w;c[57229]=b;c[w+4>>2]=b|1;c[a+d>>2]=b;c[a+4>>2]=n|3}else{c[57229]=0;c[57232]=0;c[a+4>>2]=d|3;w=a+d+4|0;c[w>>2]=c[w>>2]|1}w=a+8|0;l=x;return w|0}h=c[57230]|0;if(h>>>0>n>>>0){u=h-n|0;c[57230]=u;w=c[57233]|0;v=w+n|0;c[57233]=v;c[v+4>>2]=u|1;c[w+4>>2]=n|3;w=w+8|0;l=x;return w|0}if(!(c[57345]|0)){c[57347]=4096;c[57346]=4096;c[57348]=-1;c[57349]=-1;c[57350]=0;c[57338]=0;c[57345]=o&-16^1431655768;a=4096}else a=c[57347]|0;i=n+48|0;j=n+47|0;g=a+j|0;f=0-a|0;k=g&f;if(k>>>0<=n>>>0){w=0;l=x;return w|0}a=c[57337]|0;if(a|0?(m=c[57335]|0,o=m+k|0,o>>>0<=m>>>0|o>>>0>a>>>0):0){w=0;l=x;return w|0}d:do if(!(c[57338]&4)){d=c[57233]|0;e:do if(d){e=229356;while(1){o=c[e>>2]|0;if(o>>>0<=d>>>0?(o+(c[e+4>>2]|0)|0)>>>0>d>>>0:0)break;a=c[e+8>>2]|0;if(!a){r=128;break e}else e=a}b=g-h&f;if(b>>>0<2147483647){a=E2a(b|0)|0;if((a|0)==((c[e>>2]|0)+(c[e+4>>2]|0)|0)){if((a|0)!=(-1|0)){h=b;g=a;r=145;break d}}else{e=a;r=136}}else b=0}else r=128;while(0);do if((r|0)==128){d=E2a(0)|0;if((d|0)!=(-1|0)?(b=d,p=c[57346]|0,q=p+-1|0,b=((q&b|0)==0?0:(q+b&0-p)-b|0)+k|0,p=c[57335]|0,q=b+p|0,b>>>0>n>>>0&b>>>0<2147483647):0){o=c[57337]|0;if(o|0?q>>>0<=p>>>0|q>>>0>o>>>0:0){b=0;break}a=E2a(b|0)|0;if((a|0)==(d|0)){h=b;g=d;r=145;break d}else{e=a;r=136}}else b=0}while(0);do if((r|0)==136){d=0-b|0;if(!(i>>>0>b>>>0&(b>>>0<2147483647&(e|0)!=(-1|0))))if((e|0)==(-1|0)){b=0;break}else{h=b;g=e;r=145;break d}a=c[57347]|0;a=j-b+a&0-a;if(a>>>0>=2147483647){h=b;g=e;r=145;break d}if((E2a(a|0)|0)==(-1|0)){E2a(d|0)|0;b=0;break}else{h=a+b|0;g=e;r=145;break d}}while(0);c[57338]=c[57338]|4;r=143}else{b=0;r=143}while(0);if(((r|0)==143?k>>>0<2147483647:0)?(u=E2a(k|0)|0,q=E2a(0)|0,s=q-u|0,t=s>>>0>(n+40|0)>>>0,!((u|0)==(-1|0)|t^1|u>>>0<q>>>0&((u|0)!=(-1|0)&(q|0)!=(-1|0))^1)):0){h=t?s:b;g=u;r=145}if((r|0)==145){b=(c[57335]|0)+h|0;c[57335]=b;if(b>>>0>(c[57336]|0)>>>0)c[57336]=b;j=c[57233]|0;f:do if(j){b=229356;while(1){a=c[b>>2]|0;d=c[b+4>>2]|0;if((g|0)==(a+d|0)){r=154;break}e=c[b+8>>2]|0;if(!e)break;else b=e}if(((r|0)==154?(v=b+4|0,(c[b+12>>2]&8|0)==0):0)?g>>>0>j>>>0&a>>>0<=j>>>0:0){c[v>>2]=d+h;w=(c[57230]|0)+h|0;u=j+8|0;u=(u&7|0)==0?0:0-u&7;v=j+u|0;u=w-u|0;c[57233]=v;c[57230]=u;c[v+4>>2]=u|1;c[j+w+4>>2]=40;c[57234]=c[57349];break}if(g>>>0<(c[57231]|0)>>>0)c[57231]=g;d=g+h|0;b=229356;while(1){if((c[b>>2]|0)==(d|0)){r=162;break}a=c[b+8>>2]|0;if(!a)break;else b=a}if((r|0)==162?(c[b+12>>2]&8|0)==0:0){c[b>>2]=g;m=b+4|0;c[m>>2]=(c[m>>2]|0)+h;m=g+8|0;m=g+((m&7|0)==0?0:0-m&7)|0;b=d+8|0;b=d+((b&7|0)==0?0:0-b&7)|0;k=m+n|0;i=b-m-n|0;c[m+4>>2]=n|3;g:do if((j|0)==(b|0)){w=(c[57230]|0)+i|0;c[57230]=w;c[57233]=k;c[k+4>>2]=w|1}else{if((c[57232]|0)==(b|0)){w=(c[57229]|0)+i|0;c[57229]=w;c[57232]=k;c[k+4>>2]=w|1;c[k+w>>2]=w;break}a=c[b+4>>2]|0;if((a&3|0)==1){h=a&-8;e=a>>>3;h:do if(a>>>0<256){a=c[b+8>>2]|0;d=c[b+12>>2]|0;if((d|0)==(a|0)){c[57227]=c[57227]&~(1<<e);break}else{c[a+12>>2]=d;c[d+8>>2]=a;break}}else{g=c[b+24>>2]|0;a=c[b+12>>2]|0;do if((a|0)==(b|0)){d=b+16|0;e=d+4|0;a=c[e>>2]|0;if(!a){a=c[d>>2]|0;if(!a){a=0;break}}else d=e;while(1){f=a+20|0;e=c[f>>2]|0;if(!e){f=a+16|0;e=c[f>>2]|0;if(!e)break;else{a=e;d=f}}else{a=e;d=f}}c[d>>2]=0}else{w=c[b+8>>2]|0;c[w+12>>2]=a;c[a+8>>2]=w}while(0);if(!g)break;d=c[b+28>>2]|0;e=229212+(d<<2)|0;do if((c[e>>2]|0)!=(b|0)){w=g+16|0;c[((c[w>>2]|0)==(b|0)?w:g+20|0)>>2]=a;if(!a)break h}else{c[e>>2]=a;if(a|0)break;c[57228]=c[57228]&~(1<<d);break h}while(0);c[a+24>>2]=g;d=b+16|0;e=c[d>>2]|0;if(e|0){c[a+16>>2]=e;c[e+24>>2]=a}d=c[d+4>>2]|0;if(!d)break;c[a+20>>2]=d;c[d+24>>2]=a}while(0);b=b+h|0;f=h+i|0}else f=i;b=b+4|0;c[b>>2]=c[b>>2]&-2;c[k+4>>2]=f|1;c[k+f>>2]=f;b=f>>>3;if(f>>>0<256){d=228948+(b<<1<<2)|0;a=c[57227]|0;b=1<<b;if(!(a&b)){c[57227]=a|b;b=d;a=d+8|0}else{a=d+8|0;b=c[a>>2]|0}c[a>>2]=k;c[b+12>>2]=k;c[k+8>>2]=b;c[k+12>>2]=d;break}b=f>>>8;do if(!b)e=0;else{if(f>>>0>16777215){e=31;break}v=(b+1048320|0)>>>16&8;w=b<<v;u=(w+520192|0)>>>16&4;w=w<<u;e=(w+245760|0)>>>16&2;e=14-(u|v|e)+(w<<e>>>15)|0;e=f>>>(e+7|0)&1|e<<1}while(0);b=229212+(e<<2)|0;c[k+28>>2]=e;a=k+16|0;c[a+4>>2]=0;c[a>>2]=0;a=c[57228]|0;d=1<<e;if(!(a&d)){c[57228]=a|d;c[b>>2]=k;c[k+24>>2]=b;c[k+12>>2]=k;c[k+8>>2]=k;break}b=c[b>>2]|0;i:do if((c[b+4>>2]&-8|0)!=(f|0)){e=f<<((e|0)==31?0:25-(e>>>1)|0);while(1){d=b+16+(e>>>31<<2)|0;a=c[d>>2]|0;if(!a)break;if((c[a+4>>2]&-8|0)==(f|0)){b=a;break i}else{e=e<<1;b=a}}c[d>>2]=k;c[k+24>>2]=b;c[k+12>>2]=k;c[k+8>>2]=k;break g}while(0);v=b+8|0;w=c[v>>2]|0;c[w+12>>2]=k;c[v>>2]=k;c[k+8>>2]=w;c[k+12>>2]=b;c[k+24>>2]=0}while(0);w=m+8|0;l=x;return w|0}b=229356;while(1){a=c[b>>2]|0;if(a>>>0<=j>>>0?(w=a+(c[b+4>>2]|0)|0,w>>>0>j>>>0):0)break;b=c[b+8>>2]|0}f=w+-47|0;a=f+8|0;a=f+((a&7|0)==0?0:0-a&7)|0;f=j+16|0;a=a>>>0<f>>>0?j:a;b=a+8|0;d=h+-40|0;u=g+8|0;u=(u&7|0)==0?0:0-u&7;v=g+u|0;u=d-u|0;c[57233]=v;c[57230]=u;c[v+4>>2]=u|1;c[g+d+4>>2]=40;c[57234]=c[57349];d=a+4|0;c[d>>2]=27;c[b>>2]=c[57339];c[b+4>>2]=c[57340];c[b+8>>2]=c[57341];c[b+12>>2]=c[57342];c[57339]=g;c[57340]=h;c[57342]=0;c[57341]=b;b=a+24|0;do{v=b;b=b+4|0;c[b>>2]=7}while((v+8|0)>>>0<w>>>0);if((a|0)!=(j|0)){g=a-j|0;c[d>>2]=c[d>>2]&-2;c[j+4>>2]=g|1;c[a>>2]=g;b=g>>>3;if(g>>>0<256){d=228948+(b<<1<<2)|0;a=c[57227]|0;b=1<<b;if(!(a&b)){c[57227]=a|b;b=d;a=d+8|0}else{a=d+8|0;b=c[a>>2]|0}c[a>>2]=j;c[b+12>>2]=j;c[j+8>>2]=b;c[j+12>>2]=d;break}b=g>>>8;if(b)if(g>>>0>16777215)e=31;else{v=(b+1048320|0)>>>16&8;w=b<<v;u=(w+520192|0)>>>16&4;w=w<<u;e=(w+245760|0)>>>16&2;e=14-(u|v|e)+(w<<e>>>15)|0;e=g>>>(e+7|0)&1|e<<1}else e=0;d=229212+(e<<2)|0;c[j+28>>2]=e;c[j+20>>2]=0;c[f>>2]=0;b=c[57228]|0;a=1<<e;if(!(b&a)){c[57228]=b|a;c[d>>2]=j;c[j+24>>2]=d;c[j+12>>2]=j;c[j+8>>2]=j;break}b=c[d>>2]|0;j:do if((c[b+4>>2]&-8|0)!=(g|0)){e=g<<((e|0)==31?0:25-(e>>>1)|0);while(1){d=b+16+(e>>>31<<2)|0;a=c[d>>2]|0;if(!a)break;if((c[a+4>>2]&-8|0)==(g|0)){b=a;break j}else{e=e<<1;b=a}}c[d>>2]=j;c[j+24>>2]=b;c[j+12>>2]=j;c[j+8>>2]=j;break f}while(0);v=b+8|0;w=c[v>>2]|0;c[w+12>>2]=j;c[v>>2]=j;c[j+8>>2]=w;c[j+12>>2]=b;c[j+24>>2]=0}}else{w=c[57231]|0;if((w|0)==0|g>>>0<w>>>0)c[57231]=g;c[57339]=g;c[57340]=h;c[57342]=0;c[57236]=c[57345];c[57235]=-1;c[57240]=228948;c[57239]=228948;c[57242]=228956;c[57241]=228956;c[57244]=228964;c[57243]=228964;c[57246]=228972;c[57245]=228972;c[57248]=228980;c[57247]=228980;c[57250]=228988;c[57249]=228988;c[57252]=228996;c[57251]=228996;c[57254]=229004;c[57253]=229004;c[57256]=229012;c[57255]=229012;c[57258]=229020;c[57257]=229020;c[57260]=229028;c[57259]=229028;c[57262]=229036;c[57261]=229036;c[57264]=229044;c[57263]=229044;c[57266]=229052;c[57265]=229052;c[57268]=229060;c[57267]=229060;c[57270]=229068;c[57269]=229068;c[57272]=229076;c[57271]=229076;c[57274]=229084;c[57273]=229084;c[57276]=229092;c[57275]=229092;c[57278]=229100;c[57277]=229100;c[57280]=229108;c[57279]=229108;c[57282]=229116;c[57281]=229116;c[57284]=229124;c[57283]=229124;c[57286]=229132;c[57285]=229132;c[57288]=229140;c[57287]=229140;c[57290]=229148;c[57289]=229148;c[57292]=229156;c[57291]=229156;c[57294]=229164;c[57293]=229164;c[57296]=229172;c[57295]=229172;c[57298]=229180;c[57297]=229180;c[57300]=229188;c[57299]=229188;c[57302]=229196;c[57301]=229196;w=h+-40|0;u=g+8|0;u=(u&7|0)==0?0:0-u&7;v=g+u|0;u=w-u|0;c[57233]=v;c[57230]=u;c[v+4>>2]=u|1;c[g+w+4>>2]=40;c[57234]=c[57349]}while(0);b=c[57230]|0;if(b>>>0>n>>>0){u=b-n|0;c[57230]=u;w=c[57233]|0;v=w+n|0;c[57233]=v;c[v+4>>2]=u|1;c[w+4>>2]=n|3;w=w+8|0;l=x;return w|0}}c[(QNa()|0)>>2]=12;w=0;l=x;return w|0}function HNa(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;if(!a)return;d=a+-8|0;f=c[57231]|0;a=c[a+-4>>2]|0;b=a&-8;j=d+b|0;do if(!(a&1)){e=c[d>>2]|0;if(!(a&3))return;h=d+(0-e)|0;g=e+b|0;if(h>>>0<f>>>0)return;if((c[57232]|0)==(h|0)){a=j+4|0;b=c[a>>2]|0;if((b&3|0)!=3){i=h;b=g;break}c[57229]=g;c[a>>2]=b&-2;c[h+4>>2]=g|1;c[h+g>>2]=g;return}d=e>>>3;if(e>>>0<256){a=c[h+8>>2]|0;b=c[h+12>>2]|0;if((b|0)==(a|0)){c[57227]=c[57227]&~(1<<d);i=h;b=g;break}else{c[a+12>>2]=b;c[b+8>>2]=a;i=h;b=g;break}}f=c[h+24>>2]|0;a=c[h+12>>2]|0;do if((a|0)==(h|0)){b=h+16|0;d=b+4|0;a=c[d>>2]|0;if(!a){a=c[b>>2]|0;if(!a){a=0;break}}else b=d;while(1){e=a+20|0;d=c[e>>2]|0;if(!d){e=a+16|0;d=c[e>>2]|0;if(!d)break;else{a=d;b=e}}else{a=d;b=e}}c[b>>2]=0}else{i=c[h+8>>2]|0;c[i+12>>2]=a;c[a+8>>2]=i}while(0);if(f){b=c[h+28>>2]|0;d=229212+(b<<2)|0;if((c[d>>2]|0)==(h|0)){c[d>>2]=a;if(!a){c[57228]=c[57228]&~(1<<b);i=h;b=g;break}}else{i=f+16|0;c[((c[i>>2]|0)==(h|0)?i:f+20|0)>>2]=a;if(!a){i=h;b=g;break}}c[a+24>>2]=f;b=h+16|0;d=c[b>>2]|0;if(d|0){c[a+16>>2]=d;c[d+24>>2]=a}b=c[b+4>>2]|0;if(b){c[a+20>>2]=b;c[b+24>>2]=a;i=h;b=g}else{i=h;b=g}}else{i=h;b=g}}else{i=d;h=d}while(0);if(h>>>0>=j>>>0)return;a=j+4|0;e=c[a>>2]|0;if(!(e&1))return;if(!(e&2)){if((c[57233]|0)==(j|0)){j=(c[57230]|0)+b|0;c[57230]=j;c[57233]=i;c[i+4>>2]=j|1;if((i|0)!=(c[57232]|0))return;c[57232]=0;c[57229]=0;return}if((c[57232]|0)==(j|0)){j=(c[57229]|0)+b|0;c[57229]=j;c[57232]=h;c[i+4>>2]=j|1;c[h+j>>2]=j;return}f=(e&-8)+b|0;d=e>>>3;do if(e>>>0<256){b=c[j+8>>2]|0;a=c[j+12>>2]|0;if((a|0)==(b|0)){c[57227]=c[57227]&~(1<<d);break}else{c[b+12>>2]=a;c[a+8>>2]=b;break}}else{g=c[j+24>>2]|0;a=c[j+12>>2]|0;do if((a|0)==(j|0)){b=j+16|0;d=b+4|0;a=c[d>>2]|0;if(!a){a=c[b>>2]|0;if(!a){d=0;break}}else b=d;while(1){e=a+20|0;d=c[e>>2]|0;if(!d){e=a+16|0;d=c[e>>2]|0;if(!d)break;else{a=d;b=e}}else{a=d;b=e}}c[b>>2]=0;d=a}else{d=c[j+8>>2]|0;c[d+12>>2]=a;c[a+8>>2]=d;d=a}while(0);if(g|0){a=c[j+28>>2]|0;b=229212+(a<<2)|0;if((c[b>>2]|0)==(j|0)){c[b>>2]=d;if(!d){c[57228]=c[57228]&~(1<<a);break}}else{e=g+16|0;c[((c[e>>2]|0)==(j|0)?e:g+20|0)>>2]=d;if(!d)break}c[d+24>>2]=g;a=j+16|0;b=c[a>>2]|0;if(b|0){c[d+16>>2]=b;c[b+24>>2]=d}a=c[a+4>>2]|0;if(a|0){c[d+20>>2]=a;c[a+24>>2]=d}}}while(0);c[i+4>>2]=f|1;c[h+f>>2]=f;if((i|0)==(c[57232]|0)){c[57229]=f;return}}else{c[a>>2]=e&-2;c[i+4>>2]=b|1;c[h+b>>2]=b;f=b}a=f>>>3;if(f>>>0<256){d=228948+(a<<1<<2)|0;b=c[57227]|0;a=1<<a;if(!(b&a)){c[57227]=b|a;a=d;b=d+8|0}else{b=d+8|0;a=c[b>>2]|0}c[b>>2]=i;c[a+12>>2]=i;c[i+8>>2]=a;c[i+12>>2]=d;return}a=f>>>8;if(a)if(f>>>0>16777215)e=31;else{h=(a+1048320|0)>>>16&8;j=a<<h;g=(j+520192|0)>>>16&4;j=j<<g;e=(j+245760|0)>>>16&2;e=14-(g|h|e)+(j<<e>>>15)|0;e=f>>>(e+7|0)&1|e<<1}else e=0;a=229212+(e<<2)|0;c[i+28>>2]=e;c[i+20>>2]=0;c[i+16>>2]=0;b=c[57228]|0;d=1<<e;a:do if(!(b&d)){c[57228]=b|d;c[a>>2]=i;c[i+24>>2]=a;c[i+12>>2]=i;c[i+8>>2]=i}else{a=c[a>>2]|0;b:do if((c[a+4>>2]&-8|0)!=(f|0)){e=f<<((e|0)==31?0:25-(e>>>1)|0);while(1){d=a+16+(e>>>31<<2)|0;b=c[d>>2]|0;if(!b)break;if((c[b+4>>2]&-8|0)==(f|0)){a=b;break b}else{e=e<<1;a=b}}c[d>>2]=i;c[i+24>>2]=a;c[i+12>>2]=i;c[i+8>>2]=i;break a}while(0);h=a+8|0;j=c[h>>2]|0;c[j+12>>2]=i;c[h>>2]=i;c[i+8>>2]=j;c[i+12>>2]=a;c[i+24>>2]=0}while(0);j=(c[57235]|0)+-1|0;c[57235]=j;if(j|0)return;a=229364;while(1){a=c[a>>2]|0;if(!a)break;else a=a+8|0}c[57235]=-1;return}function INa(a,b){a=a|0;b=b|0;var d=0;if(a){d=N(b,a)|0;if((b|a)>>>0>65535)d=((d>>>0)/(a>>>0)|0|0)==(b|0)?d:-1}else d=0;a=GNa(d)|0;if(!a)return a|0;if(!(c[a+-4>>2]&3))return a|0;z2a(a|0,0,d|0)|0;return a|0}function JNa(a,b){a=a|0;b=b|0;var d=0,e=0;if(!a){b=GNa(b)|0;return b|0}if(b>>>0>4294967231){c[(QNa()|0)>>2]=12;b=0;return b|0}d=KNa(a+-8|0,b>>>0<11?16:b+11&-8)|0;if(d|0){b=d+8|0;return b|0}d=GNa(b)|0;if(!d){b=0;return b|0}e=c[a+-4>>2]|0;e=(e&-8)-((e&3|0)==0?8:4)|0;x2a(d|0,a|0,(e>>>0<b>>>0?e:b)|0)|0;HNa(a);b=d;return b|0}function KNa(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;l=a+4|0;m=c[l>>2]|0;d=m&-8;i=a+d|0;if(!(m&3)){if(b>>>0<256){a=0;return a|0}if(d>>>0>=(b+4|0)>>>0?(d-b|0)>>>0<=c[57347]<<1>>>0:0)return a|0;a=0;return a|0}if(d>>>0>=b>>>0){d=d-b|0;if(d>>>0<=15)return a|0;k=a+b|0;c[l>>2]=m&1|b|2;c[k+4>>2]=d|3;m=i+4|0;c[m>>2]=c[m>>2]|1;LNa(k,d);return a|0}if((c[57233]|0)==(i|0)){k=(c[57230]|0)+d|0;d=k-b|0;e=a+b|0;if(k>>>0<=b>>>0){a=0;return a|0}c[l>>2]=m&1|b|2;c[e+4>>2]=d|1;c[57233]=e;c[57230]=d;return a|0}if((c[57232]|0)==(i|0)){e=(c[57229]|0)+d|0;if(e>>>0<b>>>0){a=0;return a|0}d=e-b|0;if(d>>>0>15){k=a+b|0;e=a+e|0;c[l>>2]=m&1|b|2;c[k+4>>2]=d|1;c[e>>2]=d;e=e+4|0;c[e>>2]=c[e>>2]&-2;e=k}else{c[l>>2]=m&1|e|2;e=a+e+4|0;c[e>>2]=c[e>>2]|1;e=0;d=0}c[57229]=d;c[57232]=e;return a|0}e=c[i+4>>2]|0;if(e&2|0){a=0;return a|0}j=(e&-8)+d|0;if(j>>>0<b>>>0){a=0;return a|0}k=j-b|0;f=e>>>3;do if(e>>>0<256){e=c[i+8>>2]|0;d=c[i+12>>2]|0;if((d|0)==(e|0)){c[57227]=c[57227]&~(1<<f);break}else{c[e+12>>2]=d;c[d+8>>2]=e;break}}else{h=c[i+24>>2]|0;d=c[i+12>>2]|0;do if((d|0)==(i|0)){e=i+16|0;f=e+4|0;d=c[f>>2]|0;if(!d){d=c[e>>2]|0;if(!d){f=0;break}}else e=f;while(1){g=d+20|0;f=c[g>>2]|0;if(!f){g=d+16|0;f=c[g>>2]|0;if(!f)break;else{d=f;e=g}}else{d=f;e=g}}c[e>>2]=0;f=d}else{f=c[i+8>>2]|0;c[f+12>>2]=d;c[d+8>>2]=f;f=d}while(0);if(h|0){d=c[i+28>>2]|0;e=229212+(d<<2)|0;if((c[e>>2]|0)==(i|0)){c[e>>2]=f;if(!f){c[57228]=c[57228]&~(1<<d);break}}else{g=h+16|0;c[((c[g>>2]|0)==(i|0)?g:h+20|0)>>2]=f;if(!f)break}c[f+24>>2]=h;d=i+16|0;e=c[d>>2]|0;if(e|0){c[f+16>>2]=e;c[e+24>>2]=f}d=c[d+4>>2]|0;if(d|0){c[f+20>>2]=d;c[d+24>>2]=f}}}while(0);if(k>>>0<16){c[l>>2]=m&1|j|2;m=a+j+4|0;c[m>>2]=c[m>>2]|1;return a|0}else{i=a+b|0;c[l>>2]=m&1|b|2;c[i+4>>2]=k|3;m=a+j+4|0;c[m>>2]=c[m>>2]|1;LNa(i,k);return a|0}return 0}function LNa(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=a+b|0;d=c[a+4>>2]|0;do if(!(d&1)){f=c[a>>2]|0;if(!(d&3))return;h=a+(0-f)|0;b=f+b|0;if((c[57232]|0)==(h|0)){a=i+4|0;d=c[a>>2]|0;if((d&3|0)!=3)break;c[57229]=b;c[a>>2]=d&-2;c[h+4>>2]=b|1;c[i>>2]=b;return}e=f>>>3;if(f>>>0<256){a=c[h+8>>2]|0;d=c[h+12>>2]|0;if((d|0)==(a|0)){c[57227]=c[57227]&~(1<<e);break}else{c[a+12>>2]=d;c[d+8>>2]=a;break}}g=c[h+24>>2]|0;a=c[h+12>>2]|0;do if((a|0)==(h|0)){d=h+16|0;e=d+4|0;a=c[e>>2]|0;if(!a){a=c[d>>2]|0;if(!a){a=0;break}}else d=e;while(1){f=a+20|0;e=c[f>>2]|0;if(!e){f=a+16|0;e=c[f>>2]|0;if(!e)break;else{a=e;d=f}}else{a=e;d=f}}c[d>>2]=0}else{f=c[h+8>>2]|0;c[f+12>>2]=a;c[a+8>>2]=f}while(0);if(g){d=c[h+28>>2]|0;e=229212+(d<<2)|0;if((c[e>>2]|0)==(h|0)){c[e>>2]=a;if(!a){c[57228]=c[57228]&~(1<<d);break}}else{f=g+16|0;c[((c[f>>2]|0)==(h|0)?f:g+20|0)>>2]=a;if(!a)break}c[a+24>>2]=g;d=h+16|0;e=c[d>>2]|0;if(e|0){c[a+16>>2]=e;c[e+24>>2]=a}d=c[d+4>>2]|0;if(d){c[a+20>>2]=d;c[d+24>>2]=a}}}else h=a;while(0);a=i+4|0;e=c[a>>2]|0;if(!(e&2)){if((c[57233]|0)==(i|0)){i=(c[57230]|0)+b|0;c[57230]=i;c[57233]=h;c[h+4>>2]=i|1;if((h|0)!=(c[57232]|0))return;c[57232]=0;c[57229]=0;return}if((c[57232]|0)==(i|0)){i=(c[57229]|0)+b|0;c[57229]=i;c[57232]=h;c[h+4>>2]=i|1;c[h+i>>2]=i;return}f=(e&-8)+b|0;d=e>>>3;do if(e>>>0<256){a=c[i+8>>2]|0;b=c[i+12>>2]|0;if((b|0)==(a|0)){c[57227]=c[57227]&~(1<<d);break}else{c[a+12>>2]=b;c[b+8>>2]=a;break}}else{g=c[i+24>>2]|0;b=c[i+12>>2]|0;do if((b|0)==(i|0)){a=i+16|0;d=a+4|0;b=c[d>>2]|0;if(!b){b=c[a>>2]|0;if(!b){d=0;break}}else a=d;while(1){e=b+20|0;d=c[e>>2]|0;if(!d){e=b+16|0;d=c[e>>2]|0;if(!d)break;else{b=d;a=e}}else{b=d;a=e}}c[a>>2]=0;d=b}else{d=c[i+8>>2]|0;c[d+12>>2]=b;c[b+8>>2]=d;d=b}while(0);if(g|0){b=c[i+28>>2]|0;a=229212+(b<<2)|0;if((c[a>>2]|0)==(i|0)){c[a>>2]=d;if(!d){c[57228]=c[57228]&~(1<<b);break}}else{e=g+16|0;c[((c[e>>2]|0)==(i|0)?e:g+20|0)>>2]=d;if(!d)break}c[d+24>>2]=g;b=i+16|0;a=c[b>>2]|0;if(a|0){c[d+16>>2]=a;c[a+24>>2]=d}b=c[b+4>>2]|0;if(b|0){c[d+20>>2]=b;c[b+24>>2]=d}}}while(0);c[h+4>>2]=f|1;c[h+f>>2]=f;if((h|0)==(c[57232]|0)){c[57229]=f;return}}else{c[a>>2]=e&-2;c[h+4>>2]=b|1;c[h+b>>2]=b;f=b}b=f>>>3;if(f>>>0<256){d=228948+(b<<1<<2)|0;a=c[57227]|0;b=1<<b;if(!(a&b)){c[57227]=a|b;b=d;a=d+8|0}else{a=d+8|0;b=c[a>>2]|0}c[a>>2]=h;c[b+12>>2]=h;c[h+8>>2]=b;c[h+12>>2]=d;return}b=f>>>8;if(b)if(f>>>0>16777215)e=31;else{g=(b+1048320|0)>>>16&8;i=b<<g;d=(i+520192|0)>>>16&4;i=i<<d;e=(i+245760|0)>>>16&2;e=14-(d|g|e)+(i<<e>>>15)|0;e=f>>>(e+7|0)&1|e<<1}else e=0;b=229212+(e<<2)|0;c[h+28>>2]=e;c[h+20>>2]=0;c[h+16>>2]=0;a=c[57228]|0;d=1<<e;if(!(a&d)){c[57228]=a|d;c[b>>2]=h;c[h+24>>2]=b;c[h+12>>2]=h;c[h+8>>2]=h;return}b=c[b>>2]|0;a:do if((c[b+4>>2]&-8|0)!=(f|0)){e=f<<((e|0)==31?0:25-(e>>>1)|0);while(1){d=b+16+(e>>>31<<2)|0;a=c[d>>2]|0;if(!a)break;if((c[a+4>>2]&-8|0)==(f|0)){b=a;break a}else{e=e<<1;b=a}}c[d>>2]=h;c[h+24>>2]=b;c[h+12>>2]=h;c[h+8>>2]=h;return}while(0);g=b+8|0;i=c[g>>2]|0;c[i+12>>2]=h;c[g>>2]=h;c[h+8>>2]=i;c[h+12>>2]=b;c[h+24>>2]=0;return}function MNa(a){a=a|0;var b=0,d=0;b=l;l=l+16|0;d=b;c[d>>2]=RNa(c[a+60>>2]|0)|0;a=PNa(zb(6,d|0)|0)|0;l=b;return a|0}function NNa(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0;k=l;l=l+32|0;f=k+16|0;i=k;c[i>>2]=d;g=i+4|0;j=b+48|0;m=c[j>>2]|0;c[g>>2]=e-((m|0)!=0&1);h=b+44|0;c[i+8>>2]=c[h>>2];c[i+12>>2]=m;c[f>>2]=c[b+60>>2];c[f+4>>2]=i;c[f+8>>2]=2;f=PNa(pb(145,f|0)|0)|0;if((f|0)>=1){i=c[g>>2]|0;if(f>>>0>i>>>0){g=c[h>>2]|0;h=b+4|0;c[h>>2]=g;c[b+8>>2]=g+(f-i);if(!(c[j>>2]|0))f=e;else{c[h>>2]=g+1;a[d+(e+-1)>>0]=a[g>>0]|0;f=e}}}else c[b>>2]=c[b>>2]|f&48^16;l=k;return f|0}function ONa(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;f=l;l=l+32|0;g=f;e=f+20|0;c[g>>2]=c[a+60>>2];c[g+4>>2]=0;c[g+8>>2]=b;c[g+12>>2]=e;c[g+16>>2]=d;if((PNa(ob(140,g|0)|0)|0)<0){c[e>>2]=-1;a=-1}else a=c[e>>2]|0;l=f;return a|0}function PNa(a){a=a|0;if(a>>>0>4294963200){c[(QNa()|0)>>2]=0-a;a=-1}return a|0}function QNa(){return 229492}function RNa(a){a=a|0;return a|0}function SNa(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0;n=l;l=l+48|0;k=n+32|0;g=n+16|0;f=n;i=a+28|0;e=c[i>>2]|0;c[f>>2]=e;j=a+20|0;e=(c[j>>2]|0)-e|0;c[f+4>>2]=e;c[f+8>>2]=b;c[f+12>>2]=d;e=e+d|0;h=a+60|0;c[g>>2]=c[h>>2];c[g+4>>2]=f;c[g+8>>2]=2;g=PNa(qb(146,g|0)|0)|0;a:do if((e|0)!=(g|0)){b=2;while(1){if((g|0)<0)break;e=e-g|0;p=c[f+4>>2]|0;o=g>>>0>p>>>0;f=o?f+8|0:f;b=b+(o<<31>>31)|0;p=g-(o?p:0)|0;c[f>>2]=(c[f>>2]|0)+p;o=f+4|0;c[o>>2]=(c[o>>2]|0)-p;c[k>>2]=c[h>>2];c[k+4>>2]=f;c[k+8>>2]=b;g=PNa(qb(146,k|0)|0)|0;if((e|0)==(g|0)){m=3;break a}}c[a+16>>2]=0;c[i>>2]=0;c[j>>2]=0;c[a>>2]=c[a>>2]|32;if((b|0)==2)d=0;else d=d-(c[f+4>>2]|0)|0}else m=3;while(0);if((m|0)==3){p=c[a+44>>2]|0;c[a+16>>2]=p+(c[a+48>>2]|0);c[i>>2]=p;c[j>>2]=p}l=n;return d|0}function TNa(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0;g=l;l=l+32|0;f=g;c[b+36>>2]=69;if((c[b>>2]&64|0)==0?(c[f>>2]=c[b+60>>2],c[f+4>>2]=21523,c[f+8>>2]=g+16,yb(54,f|0)|0):0)a[b+75>>0]=-1;f=SNa(b,d,e)|0;l=g;return f|0}function UNa(a){a=a|0;var b=0;b=a;while(1)if(!(c[b>>2]|0))break;else b=b+4|0;return b-a>>2|0}function VNa(b){b=b|0;var d=0,e=0,f=0;f=b;a:do if(!(f&3))e=5;else{d=f;while(1){if(!(a[b>>0]|0)){b=d;break a}b=b+1|0;d=b;if(!(d&3)){e=5;break}}}while(0);if((e|0)==5){while(1){d=c[b>>2]|0;if(!((d&-2139062144^-2139062144)&d+-16843009))b=b+4|0;else break}if((d&255)<<24>>24)do b=b+1|0;while((a[b>>0]|0)!=0)}return b-f|0}function WNa(a,b){a=a|0;b=b|0;XNa(a,b)|0;return a|0}function XNa(b,d){b=b|0;d=d|0;var e=0,f=0;e=d;a:do if(!((e^b)&3)){if(e&3)do{e=a[d>>0]|0;a[b>>0]=e;if(!(e<<24>>24))break a;d=d+1|0;b=b+1|0}while((d&3|0)!=0);e=c[d>>2]|0;if(!((e&-2139062144^-2139062144)&e+-16843009)){f=b;while(1){d=d+4|0;b=f+4|0;c[f>>2]=e;e=c[d>>2]|0;if((e&-2139062144^-2139062144)&e+-16843009|0)break;else f=b}}f=10}else f=10;while(0);if((f|0)==10){f=a[d>>0]|0;a[b>>0]=f;if(f<<24>>24)do{d=d+1|0;b=b+1|0;f=a[d>>0]|0;a[b>>0]=f}while(f<<24>>24!=0)}return b|0}function YNa(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;f=d&255;a:do if(!f)b=b+(VNa(b)|0)|0;else{if(b&3){e=d&255;do{g=a[b>>0]|0;if(g<<24>>24==0?1:g<<24>>24==e<<24>>24)break a;b=b+1|0}while((b&3|0)!=0)}f=N(f,16843009)|0;e=c[b>>2]|0;b:do if(!((e&-2139062144^-2139062144)&e+-16843009))do{g=e^f;if((g&-2139062144^-2139062144)&g+-16843009|0)break b;b=b+4|0;e=c[b>>2]|0}while(!((e&-2139062144^-2139062144)&e+-16843009|0));while(0);e=d&255;while(1){g=a[b>>0]|0;if(g<<24>>24==0?1:g<<24>>24==e<<24>>24)break;else b=b+1|0}}while(0);return b|0}function ZNa(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;if(d|0){e=a;while(1){d=d+-1|0;c[e>>2]=b;if(!d)break;else e=e+4|0}}return a|0}function _Na(a){a=a|0;var b=0,c=0;b=(VNa(a)|0)+1|0;c=GNa(b)|0;if(!c)a=0;else a=x2a(c|0,a|0,b|0)|0;return a|0}function $Na(b,c){b=b|0;c=c|0;b=YNa(b,c)|0;return ((a[b>>0]|0)==(c&255)<<24>>24?b:0)|0}function aOa(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;h=d&255;f=(e|0)!=0;a:do if(f&(b&3|0)!=0){g=d&255;while(1){if((a[b>>0]|0)==g<<24>>24){i=6;break a}b=b+1|0;e=e+-1|0;f=(e|0)!=0;if(!(f&(b&3|0)!=0)){i=5;break}}}else i=5;while(0);if((i|0)==5)if(f)i=6;else i=16;b:do if((i|0)==6){g=d&255;if((a[b>>0]|0)==g<<24>>24)if(!e){i=16;break}else break;f=N(h,16843009)|0;c:do if(e>>>0>3)while(1){h=c[b>>2]^f;if((h&-2139062144^-2139062144)&h+-16843009|0)break c;b=b+4|0;e=e+-4|0;if(e>>>0<=3){i=11;break}}else i=11;while(0);if((i|0)==11)if(!e){i=16;break}while(1){if((a[b>>0]|0)==g<<24>>24)break b;e=e+-1|0;if(!e){i=16;break}else b=b+1|0}}while(0);if((i|0)==16)b=0;return b|0}function bOa(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;if(d|0){e=a;while(1){d=d+-1|0;c[e>>2]=c[b>>2];if(!d)break;else{b=b+4|0;e=e+4|0}}}return a|0}function cOa(b,c,d){b=b|0;c=c|0;d=d|0;var e=0,f=0;a:do if(!d)b=0;else{while(1){e=a[b>>0]|0;f=a[c>>0]|0;if(e<<24>>24!=f<<24>>24)break;d=d+-1|0;if(!d){b=0;break a}else{b=b+1|0;c=c+1|0}}b=(e&255)-(f&255)|0}while(0);return b|0}function dOa(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;if(a-b>>2>>>0>=d>>>0){if(d|0){e=a;while(1){d=d+-1|0;c[e>>2]=c[b>>2];if(!d)break;else{b=b+4|0;e=e+4|0}}}}else do{d=d+-1|0;c[a+(d<<2)>>2]=c[b+(d<<2)>>2]}while((d|0)!=0);return a|0}function eOa(b,c){b=b|0;c=c|0;var d=0,e=0;d=a[b>>0]|0;e=a[c>>0]|0;if(d<<24>>24==0?1:d<<24>>24!=e<<24>>24)b=e;else{do{b=b+1|0;c=c+1|0;d=a[b>>0]|0;e=a[c>>0]|0}while(!(d<<24>>24==0?1:d<<24>>24!=e<<24>>24));b=e}return (d&255)-(b&255)|0}function fOa(b,c,e){b=b|0;c=c|0;e=e|0;var f=0,g=0;if(!e)f=0;else{f=a[b>>0]|0;a:do if(!(f<<24>>24))f=0;else while(1){e=e+-1|0;g=a[c>>0]|0;if(!(f<<24>>24==g<<24>>24&((e|0)!=0&g<<24>>24!=0)))break a;b=b+1|0;c=c+1|0;f=a[b>>0]|0;if(!(f<<24>>24)){f=0;break}}while(0);f=(f&255)-(d[c>>0]|0)|0}return f|0}function gOa(b,c){b=b|0;c=c|0;var e=0,f=0,g=0;e=a[b>>0]|0;a:do if(!(e<<24>>24))b=0;else{g=b;b=e;f=e&255;while(1){e=a[c>>0]|0;if(!(e<<24>>24))break a;if(b<<24>>24!=e<<24>>24?(f=hOa(f)|0,(f|0)!=(hOa(d[c>>0]|0)|0)):0)break;b=g+1|0;c=c+1|0;e=a[b>>0]|0;if(!(e<<24>>24)){b=0;break a}else{g=b;b=e;f=e&255}}b=a[g>>0]|0}while(0);g=hOa(b&255)|0;return g-(hOa(d[c>>0]|0)|0)|0}function hOa(a){a=a|0;var b=0;b=(iOa(a)|0)==0;return (b?a:a|32)|0}function iOa(a){a=a|0;return (a+-65|0)>>>0<26|0}function jOa(b,c){b=b|0;c=c|0;var d=0;d=a[c>>0]|0;do if(d<<24>>24){b=$Na(b,d<<24>>24)|0;if(b){if(a[c+1>>0]|0)if(a[b+1>>0]|0){if(!(a[c+2>>0]|0)){b=kOa(b,c)|0;break}if(a[b+2>>0]|0){if(!(a[c+3>>0]|0)){b=lOa(b,c)|0;break}if(a[b+3>>0]|0)if(!(a[c+4>>0]|0)){b=mOa(b,c)|0;break}else{b=nOa(b,c)|0;break}else b=0}else b=0}else b=0}else b=0}while(0);return b|0}function kOa(b,c){b=b|0;c=c|0;var e=0,f=0;f=(d[c>>0]|0)<<8|(d[c+1>>0]|0);c=b+1|0;e=a[c>>0]|0;a:do if(!(e<<24>>24))c=0;else{e=(d[b>>0]|0)<<8|e&255;while(1){b=e&65535;if((b|0)==(f|0))break;c=c+1|0;e=a[c>>0]|0;if(!(e<<24>>24)){c=0;break a}else e=b<<8|e&255}c=c+-1|0}while(0);return c|0}function lOa(b,c){b=b|0;c=c|0;var e=0,f=0;f=(d[c+1>>0]|0)<<16|(d[c>>0]|0)<<24|(d[c+2>>0]|0)<<8;e=b+2|0;c=a[e>>0]|0;b=(d[b+1>>0]|0)<<16|(d[b>>0]|0)<<24|(c&255)<<8;c=c<<24>>24==0;if(!((b|0)==(f|0)|c))do{e=e+1|0;c=a[e>>0]|0;b=(b|c&255)<<8;c=c<<24>>24==0}while(!((b|0)==(f|0)|c));return (c?0:e+-2|0)|0}function mOa(b,c){b=b|0;c=c|0;var e=0,f=0;f=(d[c+1>>0]|0)<<16|(d[c>>0]|0)<<24|(d[c+2>>0]|0)<<8|(d[c+3>>0]|0);e=b+3|0;c=a[e>>0]|0;b=(d[b+1>>0]|0)<<16|(d[b>>0]|0)<<24|(d[b+2>>0]|0)<<8|c&255;c=c<<24>>24==0;if(!((b|0)==(f|0)|c))do{e=e+1|0;c=a[e>>0]|0;b=b<<8|c&255;c=c<<24>>24==0}while(!((b|0)==(f|0)|c));return (c?0:e+-3|0)|0}function nOa(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;x=l;l=l+1056|0;v=x+1024|0;w=x;c[v>>2]=0;c[v+4>>2]=0;c[v+8>>2]=0;c[v+12>>2]=0;c[v+16>>2]=0;c[v+20>>2]=0;c[v+24>>2]=0;c[v+28>>2]=0;f=a[e>>0]|0;a:do if(f<<24>>24){q=0;do{if(!(a[b+q>>0]|0)){f=0;break a}u=f&255;t=v+(u>>>5<<2)|0;c[t>>2]=c[t>>2]|1<<(u&31);q=q+1|0;c[w+(u<<2)>>2]=q;f=a[e+q>>0]|0}while(f<<24>>24!=0);n=q>>>0>1;if(n){k=1;j=1;m=0;i=-1;o=1;while(1){f=a[e+(j+i)>>0]|0;g=a[e+o>>0]|0;do if(f<<24>>24==g<<24>>24)if((j|0)==(k|0)){h=k;f=1;g=k+m|0;break}else{h=k;f=j+1|0;g=m;break}else if((f&255)>(g&255)){h=o-i|0;f=1;g=o;break}else{h=1;f=1;g=m+1|0;i=m;break}while(0);o=f+g|0;if(o>>>0>=q>>>0)break;else{k=h;j=f;m=g}}if(n){n=1;m=1;o=0;g=-1;p=1;while(1){f=a[e+(m+g)>>0]|0;j=a[e+p>>0]|0;do if(f<<24>>24==j<<24>>24)if((m|0)==(n|0)){f=n;j=1;k=n+o|0;break}else{f=n;j=m+1|0;k=o;break}else if((f&255)<(j&255)){f=p-g|0;j=1;k=p;break}else{f=1;j=1;k=o+1|0;g=o;break}while(0);p=j+k|0;if(p>>>0>=q>>>0){u=q;j=25;break}else{n=f;m=j;o=k}}}else{u=q;f=1;g=-1;j=25}}else{h=1;i=-1;u=q;f=1;g=-1;j=25}}else{h=1;i=-1;u=0;f=1;g=-1;j=25}while(0);b:do if((j|0)==25){s=(g+1|0)>>>0>(i+1|0)>>>0;f=s?f:h;s=s?g:i;t=s+1|0;if(!(cOa(e,e+f|0,t)|0)){n=u-f|0;r=n;m=f}else{n=u-s+-1|0;n=(s>>>0>n>>>0?s:n)+1|0;r=0;m=n;n=u-n|0}o=u|63;p=u+-1|0;q=(r|0)!=0;f=b;k=0;g=b;while(1){h=f;do if((g-h|0)>>>0<u>>>0){i=aOa(g,0,o)|0;if(i)if((i-h|0)>>>0<u>>>0){f=0;break b}else break;else{i=g+o|0;break}}else i=g;while(0);g=d[f+p>>0]|0;c:do if(!(1<<(g&31)&c[v+(g>>>5<<2)>>2])){h=0;g=u}else{g=u-(c[w+(g<<2)>>2]|0)|0;if(g|0){h=0;g=q&(k|0)!=0&g>>>0<m>>>0?n:g;break}j=t>>>0>k>>>0;g=j?t:k;h=a[e+g>>0]|0;d:do if(h<<24>>24){while(1){if(h<<24>>24!=(a[f+g>>0]|0))break;g=g+1|0;h=a[e+g>>0]|0;if(!(h<<24>>24))break d}h=0;g=g-s|0;break c}while(0);if(!j)break b;g=t;while(1){g=g+-1|0;if((a[e+g>>0]|0)!=(a[f+g>>0]|0)){h=r;g=m;break c}if(g>>>0<=k>>>0)break b}}while(0);f=f+g|0;k=h;g=i}}while(0);l=x;return f|0}function oOa(b,c,e){b=b|0;c=c|0;e=e|0;var f=0,g=0,h=0;if(!e)b=0;else{f=a[b>>0]|0;a:do if(!(f<<24>>24))b=0;else{h=b;b=f;f=f&255;while(1){e=e+-1|0;g=a[c>>0]|0;if(!((e|0)!=0&g<<24>>24!=0))break a;if(b<<24>>24!=g<<24>>24?(g=hOa(f)|0,(g|0)!=(hOa(d[c>>0]|0)|0)):0)break;b=h+1|0;c=c+1|0;f=a[b>>0]|0;if(!(f<<24>>24)){b=0;break a}else{h=b;b=f;f=f&255}}b=a[h>>0]|0}while(0);b=hOa(b&255)|0;b=b-(hOa(d[c>>0]|0)|0)|0}return b|0}function pOa(a){a=a|0;return rOa(a,c[(qOa()|0)+188>>2]|0)|0}function qOa(){return wOa()|0}function rOa(b,e){b=b|0;e=e|0;var f=0,g=0;f=0;while(1){if((d[32768+f>>0]|0)==(b|0)){g=4;break}f=f+1|0;if((f|0)==87){b=87;g=5;break}}if((g|0)==4)if(!f)f=32864;else{b=f;g=5}if((g|0)==5){f=32864;do{do{g=f;f=f+1|0}while((a[g>>0]|0)!=0);b=b+-1|0}while((b|0)!=0)}return sOa(f,c[e+20>>2]|0)|0}function sOa(a,b){a=a|0;b=b|0;return tOa(a,b)|0}function tOa(a,b){a=a|0;b=b|0;if(!b)b=0;else b=uOa(c[b>>2]|0,c[b+4>>2]|0,a)|0;return ((b|0)==0?a:b)|0}function uOa(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;o=(c[b>>2]|0)+1794895138|0;h=vOa(c[b+8>>2]|0,o)|0;f=vOa(c[b+12>>2]|0,o)|0;g=vOa(c[b+16>>2]|0,o)|0;a:do if((h>>>0<d>>>2>>>0?(n=d-(h<<2)|0,f>>>0<n>>>0&g>>>0<n>>>0):0)?((g|f)&3|0)==0:0){n=f>>>2;m=g>>>2;l=0;while(1){j=h>>>1;k=l+j|0;i=k<<1;g=i+n|0;f=vOa(c[b+(g<<2)>>2]|0,o)|0;g=vOa(c[b+(g+1<<2)>>2]|0,o)|0;if(!(g>>>0<d>>>0&f>>>0<(d-g|0)>>>0)){f=0;break a}if(a[b+(g+f)>>0]|0){f=0;break a}f=eOa(e,b+g|0)|0;if(!f)break;f=(f|0)<0;if((h|0)==1){f=0;break a}l=f?l:k;h=f?j:h-j|0}f=i+m|0;g=vOa(c[b+(f<<2)>>2]|0,o)|0;f=vOa(c[b+(f+1<<2)>>2]|0,o)|0;if(f>>>0<d>>>0&g>>>0<(d-f|0)>>>0)f=(a[b+(f+g)>>0]|0)==0?b+f|0:0;else f=0}else f=0;while(0);return f|0}function vOa(a,b){a=a|0;b=b|0;var c=0;c=w2a(a|0)|0;return ((b|0)==0?a:c)|0}function wOa(){return 107136}function xOa(a){a=a|0;return (a+-48|0)>>>0<10|0}function yOa(a,b){a=+a;b=+b;var d=0,e=0;h[j>>3]=a;e=c[j>>2]|0;d=c[j+4>>2]|0;h[j>>3]=b;d=c[j+4>>2]&-2147483648|d&2147483647;c[j>>2]=e;c[j+4>>2]=d;return +(+h[j>>3])}function zOa(a){a=a|0;var b=0;b=(AOa(a)|0)==0;return (b?a:a&95)|0}function AOa(a){a=a|0;return (a+-97|0)>>>0<26|0}function BOa(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;d=COa(a,b,c)|0;return d|0}function COa(a,b,c){a=a|0;b=b|0;c=c|0;c=DOa(a,b,c,-1,-1)|0;return c|0}function DOa(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0;j=l;l=l+128|0;h=j;c[h>>2]=0;i=h+4|0;c[i>>2]=a;c[h+44>>2]=a;g=h+8|0;c[g>>2]=(a|0)<0?-1:a+2147483647|0;c[h+76>>2]=-1;EOa(h,0);d=FOa(h,d,1,e,f)|0;if(b|0)c[b>>2]=a+((c[i>>2]|0)+(c[h+108>>2]|0)-(c[g>>2]|0));l=j;return d|0}function EOa(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;c[a+104>>2]=b;d=c[a+8>>2]|0;e=c[a+4>>2]|0;f=d-e|0;c[a+108>>2]=f;if((b|0)!=0&(f|0)>(b|0))c[a+100>>2]=e+b;else c[a+100>>2]=d;return}function FOa(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;a:do if(e>>>0>36){c[(QNa()|0)>>2]=22;h=0;g=0}else{r=b+4|0;q=b+100|0;do{i=c[r>>2]|0;if(i>>>0<(c[q>>2]|0)>>>0){c[r>>2]=i+1;i=d[i>>0]|0}else i=GOa(b)|0}while((HOa(i)|0)!=0);b:do switch(i|0){case 43:case 45:{i=((i|0)==45)<<31>>31;j=c[r>>2]|0;if(j>>>0<(c[q>>2]|0)>>>0){c[r>>2]=j+1;p=i;i=d[j>>0]|0;break b}else{p=i;i=GOa(b)|0;break b}}default:p=0}while(0);j=(e|0)==0;do if((e|16|0)==16&(i|0)==48){i=c[r>>2]|0;if(i>>>0<(c[q>>2]|0)>>>0){c[r>>2]=i+1;i=d[i>>0]|0}else i=GOa(b)|0;if((i|32|0)!=120)if(j){o=8;n=47;break}else{n=32;break}i=c[r>>2]|0;if(i>>>0<(c[q>>2]|0)>>>0){c[r>>2]=i+1;i=d[i>>0]|0}else i=GOa(b)|0;if((d[34673+i>>0]|0)>15){g=(c[q>>2]|0)==0;if(!g)c[r>>2]=(c[r>>2]|0)+-1;if(!f){EOa(b,0);h=0;g=0;break a}if(g){h=0;g=0;break a}c[r>>2]=(c[r>>2]|0)+-1;h=0;g=0;break a}else{o=16;n=47}}else{e=j?10:e;if(e>>>0>(d[34673+i>>0]|0)>>>0)n=32;else{if(c[q>>2]|0)c[r>>2]=(c[r>>2]|0)+-1;EOa(b,0);c[(QNa()|0)>>2]=22;h=0;g=0;break a}}while(0);c:do if((n|0)==32)if((e|0)==10){e=i+-48|0;if(e>>>0<10){i=0;do{i=(i*10|0)+e|0;e=c[r>>2]|0;if(e>>>0<(c[q>>2]|0)>>>0){c[r>>2]=e+1;j=d[e>>0]|0}else j=GOa(b)|0;e=j+-48|0}while(e>>>0<10&i>>>0<429496729);if(e>>>0<10){m=0;do{f=o2a(i|0,m|0,10,0)|0;k=y;l=((e|0)<0)<<31>>31;o=~l;if(k>>>0>o>>>0|(k|0)==(o|0)&f>>>0>~e>>>0){f=10;e=m;n=76;break c}i=p2a(f|0,k|0,e|0,l|0)|0;m=y;e=c[r>>2]|0;if(e>>>0<(c[q>>2]|0)>>>0){c[r>>2]=e+1;j=d[e>>0]|0}else j=GOa(b)|0;e=j+-48|0}while(e>>>0<10&(m>>>0<429496729|(m|0)==429496729&i>>>0<2576980378));if(e>>>0>9){j=p;e=m}else{f=10;e=m;n=76}}else{j=p;e=0}}else{j=p;e=0;i=0}}else{o=e;n=47}while(0);d:do if((n|0)==47){if(!(o+-1&o)){n=a[213006+((o*23|0)>>>5&7)>>0]|0;f=a[34673+i>>0]|0;e=f&255;if(o>>>0>e>>>0){i=0;do{i=e|i<<n;e=c[r>>2]|0;if(e>>>0<(c[q>>2]|0)>>>0){c[r>>2]=e+1;j=d[e>>0]|0}else j=GOa(b)|0;f=a[34673+j>>0]|0;e=f&255}while(i>>>0<134217728&o>>>0>e>>>0);k=e;e=0}else{j=i;k=e;e=0;i=0}l=u2a(-1,-1,n|0)|0;m=y;if(o>>>0<=k>>>0|(m>>>0<e>>>0|(m|0)==(e|0)&l>>>0<i>>>0)){f=o;n=76;break}while(1){i=v2a(i|0,e|0,n|0)|0;e=y;i=i|f&255;j=c[r>>2]|0;if(j>>>0<(c[q>>2]|0)>>>0){c[r>>2]=j+1;j=d[j>>0]|0}else j=GOa(b)|0;f=a[34673+j>>0]|0;if(o>>>0<=(f&255)>>>0|(e>>>0>m>>>0|(e|0)==(m|0)&i>>>0>l>>>0)){f=o;n=76;break d}}}e=a[34673+i>>0]|0;f=e&255;if(o>>>0>f>>>0){i=0;do{i=f+(N(i,o)|0)|0;e=c[r>>2]|0;if(e>>>0<(c[q>>2]|0)>>>0){c[r>>2]=e+1;j=d[e>>0]|0}else j=GOa(b)|0;e=a[34673+j>>0]|0;f=e&255}while(i>>>0<119304647&o>>>0>f>>>0);k=e;e=0}else{j=i;k=e;i=0;e=0}if(o>>>0>f>>>0){m=t2a(-1,-1,o|0,0)|0;n=y;f=k;while(1){if(e>>>0>n>>>0|(e|0)==(n|0)&i>>>0>m>>>0){f=o;n=76;break d}k=o2a(i|0,e|0,o|0,0)|0;l=y;f=f&255;if(l>>>0>4294967295|(l|0)==-1&k>>>0>~f>>>0){f=o;n=76;break d}i=p2a(k|0,l|0,f|0,0)|0;e=y;j=c[r>>2]|0;if(j>>>0<(c[q>>2]|0)>>>0){c[r>>2]=j+1;j=d[j>>0]|0}else j=GOa(b)|0;f=a[34673+j>>0]|0;if(o>>>0<=(f&255)>>>0){f=o;n=76;break}}}else{f=o;n=76}}while(0);if((n|0)==76)if(f>>>0>(d[34673+j>>0]|0)>>>0){do{i=c[r>>2]|0;if(i>>>0<(c[q>>2]|0)>>>0){c[r>>2]=i+1;i=d[i>>0]|0}else i=GOa(b)|0}while(f>>>0>(d[34673+i>>0]|0)>>>0);c[(QNa()|0)>>2]=34;j=(g&1|0)==0&0==0?p:0;e=h;i=g}else j=p;if(c[q>>2]|0)c[r>>2]=(c[r>>2]|0)+-1;if(!(e>>>0<h>>>0|(e|0)==(h|0)&i>>>0<g>>>0)){if(!((g&1|0)!=0|0!=0|(j|0)!=0)){c[(QNa()|0)>>2]=34;g=p2a(g|0,h|0,-1,-1)|0;h=y;break}if(e>>>0>h>>>0|(e|0)==(h|0)&i>>>0>g>>>0){c[(QNa()|0)>>2]=34;break}}g=((j|0)<0)<<31>>31;g=q2a(i^j|0,e^g|0,j|0,g|0)|0;h=y}while(0);y=h;return g|0}function GOa(b){b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0;f=b+104|0;i=c[f>>2]|0;if((i|0)!=0?(c[b+108>>2]|0)>=(i|0):0)j=4;else{e=IOa(b)|0;if((e|0)>=0){f=c[f>>2]|0;i=c[b+8>>2]|0;if(f){h=c[b+4>>2]|0;f=f-(c[b+108>>2]|0)|0;g=i;if((i-h|0)<(f|0))j=9;else c[b+100>>2]=h+(f+-1)}else{g=i;j=9}if((j|0)==9)c[b+100>>2]=i;f=b+4|0;if(!g)f=c[f>>2]|0;else{f=c[f>>2]|0;b=b+108|0;c[b>>2]=g+1-f+(c[b>>2]|0)}f=f+-1|0;if((e|0)!=(d[f>>0]|0|0))a[f>>0]=e}else j=4}if((j|0)==4){c[b+100>>2]=0;e=-1}return e|0}function HOa(a){a=a|0;return ((a|0)==32|(a+-9|0)>>>0<5)&1|0}function IOa(a){a=a|0;var b=0,e=0;e=l;l=l+16|0;b=e;if((JOa(a)|0)==0?(lk[c[a+32>>2]&127](a,b,1)|0)==1:0)a=d[b>>0]|0;else a=-1;l=e;return a|0}function JOa(b){b=b|0;var d=0,e=0;d=b+74|0;e=a[d>>0]|0;a[d>>0]=e+255|e;d=b+20|0;e=b+28|0;if((c[d>>2]|0)>>>0>(c[e>>2]|0)>>>0)lk[c[b+36>>2]&127](b,0,0)|0;c[b+16>>2]=0;c[e>>2]=0;c[d>>2]=0;d=c[b>>2]|0;if(!(d&4)){e=(c[b+44>>2]|0)+(c[b+48>>2]|0)|0;c[b+8>>2]=e;c[b+4>>2]=e;d=d<<27>>31}else{c[b>>2]=d|32;d=-1}return d|0}function KOa(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;d=LOa(a,b,c)|0;return d|0}function LOa(a,b,c){a=a|0;b=b|0;c=c|0;c=DOa(a,b,c,0,-2147483648)|0;return c|0}function MOa(){return 107380}function NOa(a){a=a|0;return (((a|32)+-97|0)>>>0<6|(xOa(a)|0)!=0)&1|0}function OOa(){var a=0;a=(c[c[(POa()|0)+188>>2]>>2]|0)==0;return (a?1:4)|0}function POa(){return wOa()|0}function QOa(){return 107384}function ROa(){return 107388}function SOa(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=l;l=l+16|0;f=e;c[f>>2]=d;d=UOa(a,b,f)|0;l=e;return d|0}function TOa(b){b=b|0;var c=0,d=0,e=0,f=0,g=0;while(1){e=b+1|0;if(!(HOa(a[b>>0]|0)|0))break;else b=e}d=a[b>>0]|0;switch(d|0){case 45:{b=1;f=5;break}case 43:{b=0;f=5;break}default:{g=0;c=b;b=d}}if((f|0)==5){g=b;c=e;b=a[e>>0]|0}if(!(xOa(b)|0))b=0;else{b=0;do{b=(b*10|0)+48-(a[c>>0]|0)|0;c=c+1|0}while((xOa(a[c>>0]|0)|0)!=0)}return ((g|0)==0?0-b|0:b)|0}function UOa(a,b,c){a=a|0;b=b|0;c=c|0;return VOa(a,2147483647,b,c)|0}function VOa(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0;n=l;l=l+128|0;g=n+124|0;m=n;h=m;i=107392;j=h+124|0;do{c[h>>2]=c[i>>2];h=h+4|0;i=i+4|0}while((h|0)<(j|0));if((d+-1|0)>>>0>2147483646)if(!d){b=g;d=1;k=4}else{c[(QNa()|0)>>2]=75;d=-1}else k=4;if((k|0)==4){k=-2-b|0;k=d>>>0>k>>>0?k:d;c[m+48>>2]=k;g=m+20|0;c[g>>2]=b;c[m+44>>2]=b;d=b+k|0;b=m+16|0;c[b>>2]=d;c[m+28>>2]=d;d=WOa(m,e,f)|0;if(k){m=c[g>>2]|0;a[m+(((m|0)==(c[b>>2]|0))<<31>>31)>>0]=0}}l=n;return d|0}function WOa(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=l;l=l+224|0;n=s+208|0;p=s+160|0;q=s+80|0;r=s;f=p;g=f+40|0;do{c[f>>2]=0;f=f+4|0}while((f|0)<(g|0));c[n>>2]=c[e>>2];if((XOa(0,d,n,q,p)|0)<0)e=-1;else{if((c[b+76>>2]|0)>-1)o=YOa(b)|0;else o=0;e=c[b>>2]|0;m=e&32;if((a[b+74>>0]|0)<1)c[b>>2]=e&-33;f=b+48|0;if(!(c[f>>2]|0)){g=b+44|0;h=c[g>>2]|0;c[g>>2]=r;i=b+28|0;c[i>>2]=r;j=b+20|0;c[j>>2]=r;c[f>>2]=80;k=b+16|0;c[k>>2]=r+80;e=XOa(b,d,n,q,p)|0;if(h){lk[c[b+36>>2]&127](b,0,0)|0;e=(c[j>>2]|0)==0?-1:e;c[g>>2]=h;c[f>>2]=0;c[k>>2]=0;c[i>>2]=0;c[j>>2]=0}}else e=XOa(b,d,n,q,p)|0;f=c[b>>2]|0;c[b>>2]=f|m;if(o|0)ZOa(b);e=(f&32|0)==0?e:-1}l=s;return e|0}function XOa(d,e,f,g,i){d=d|0;e=e|0;f=f|0;g=g|0;i=i|0;var j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0;I=l;l=l+64|0;D=I+56|0;E=I+40|0;A=I;G=I+48|0;H=I+60|0;c[D>>2]=e;w=(d|0)!=0;x=A+40|0;z=x;A=A+39|0;B=G+4|0;j=0;e=0;m=0;a:while(1){do{do if((e|0)>-1)if((j|0)>(2147483647-e|0)){c[(QNa()|0)>>2]=75;e=-1;break}else{e=j+e|0;break}while(0);s=c[D>>2]|0;j=a[s>>0]|0;if(!(j<<24>>24)){v=94;break a}k=s;b:while(1){switch(j<<24>>24){case 37:{v=10;break b}case 0:{j=k;break b}default:{}}u=k+1|0;c[D>>2]=u;j=a[u>>0]|0;k=u}c:do if((v|0)==10){v=0;j=k;do{if((a[k+1>>0]|0)!=37)break c;j=j+1|0;k=k+2|0;c[D>>2]=k}while((a[k>>0]|0)==37)}while(0);j=j-s|0;if(w)_Oa(d,s,j)}while((j|0)!=0);u=(xOa(a[(c[D>>2]|0)+1>>0]|0)|0)==0;k=c[D>>2]|0;if(!u?(a[k+2>>0]|0)==36:0){q=(a[k+1>>0]|0)+-48|0;o=1;j=3}else{q=-1;o=m;j=1}j=k+j|0;c[D>>2]=j;k=a[j>>0]|0;m=(k<<24>>24)+-32|0;if(m>>>0>31|(1<<m&75913|0)==0)n=0;else{n=0;do{n=1<<m|n;j=j+1|0;c[D>>2]=j;k=a[j>>0]|0;m=(k<<24>>24)+-32|0}while(!(m>>>0>31|(1<<m&75913|0)==0))}if(k<<24>>24==42){if((xOa(a[j+1>>0]|0)|0)!=0?(F=c[D>>2]|0,(a[F+2>>0]|0)==36):0){j=F+1|0;c[i+((a[j>>0]|0)+-48<<2)>>2]=10;j=c[g+((a[j>>0]|0)+-48<<3)>>2]|0;m=1;k=F+3|0}else{if(o|0){e=-1;break}if(w){u=(c[f>>2]|0)+(4-1)&~(4-1);j=c[u>>2]|0;c[f>>2]=u+4}else j=0;m=0;k=(c[D>>2]|0)+1|0}c[D>>2]=k;u=(j|0)<0;t=u?0-j|0:j;n=u?n|8192:n;u=m}else{j=$Oa(D)|0;if((j|0)<0){e=-1;break}t=j;u=o;k=c[D>>2]|0}do if((a[k>>0]|0)==46){j=k+1|0;if((a[j>>0]|0)!=42){c[D>>2]=j;j=$Oa(D)|0;k=c[D>>2]|0;break}if(xOa(a[k+2>>0]|0)|0?(C=c[D>>2]|0,(a[C+3>>0]|0)==36):0){j=C+2|0;c[i+((a[j>>0]|0)+-48<<2)>>2]=10;j=c[g+((a[j>>0]|0)+-48<<3)>>2]|0;k=C+4|0;c[D>>2]=k;break}if(u|0){e=-1;break a}if(w){r=(c[f>>2]|0)+(4-1)&~(4-1);j=c[r>>2]|0;c[f>>2]=r+4}else j=0;k=(c[D>>2]|0)+2|0;c[D>>2]=k}else j=-1;while(0);r=0;while(1){if(((a[k>>0]|0)+-65|0)>>>0>57){e=-1;break a}m=k;k=k+1|0;c[D>>2]=k;m=a[(a[m>>0]|0)+-65+(38784+(r*58|0))>>0]|0;o=m&255;if((o+-1|0)>>>0>=8)break;else r=o}if(!(m<<24>>24)){e=-1;break}p=(q|0)>-1;do if(m<<24>>24==19)if(p){e=-1;break a}else v=54;else{if(p){c[i+(q<<2)>>2]=o;p=g+(q<<3)|0;q=c[p+4>>2]|0;v=E;c[v>>2]=c[p>>2];c[v+4>>2]=q;v=54;break}if(!w){e=0;break a}aPa(E,o,f);k=c[D>>2]|0;v=55}while(0);if((v|0)==54){v=0;if(w)v=55;else j=0}d:do if((v|0)==55){v=0;k=a[k+-1>>0]|0;k=(r|0)!=0&(k&15|0)==3?k&-33:k;m=n&-65537;q=(n&8192|0)==0?n:m;e:do switch(k|0){case 110:switch((r&255)<<24>>24){case 0:{c[c[E>>2]>>2]=e;j=0;break d}case 1:{c[c[E>>2]>>2]=e;j=0;break d}case 2:{j=c[E>>2]|0;c[j>>2]=e;c[j+4>>2]=((e|0)<0)<<31>>31;j=0;break d}case 3:{b[c[E>>2]>>1]=e;j=0;break d}case 4:{a[c[E>>2]>>0]=e;j=0;break d}case 6:{c[c[E>>2]>>2]=e;j=0;break d}case 7:{j=c[E>>2]|0;c[j>>2]=e;c[j+4>>2]=((e|0)<0)<<31>>31;j=0;break d}default:{j=0;break d}}case 112:{k=120;j=j>>>0>8?j:8;m=q|8;v=67;break}case 88:case 120:{m=q;v=67;break}case 111:{m=E;k=c[m>>2]|0;m=c[m+4>>2]|0;p=cPa(k,m,x)|0;v=z-p|0;n=0;o=213015;j=(q&8|0)==0|(j|0)>(v|0)?j:v+1|0;v=73;break}case 105:case 100:{m=E;k=c[m>>2]|0;m=c[m+4>>2]|0;if((m|0)<0){k=q2a(0,0,k|0,m|0)|0;m=y;n=E;c[n>>2]=k;c[n+4>>2]=m;n=1;o=213015;v=72;break e}else{n=(q&2049|0)!=0&1;o=(q&2048|0)==0?((q&1|0)==0?213015:213017):213016;v=72;break e}}case 117:{m=E;n=0;o=213015;k=c[m>>2]|0;m=c[m+4>>2]|0;v=72;break}case 99:{a[A>>0]=c[E>>2];r=A;n=0;o=213015;p=1;j=z;break}case 109:{k=pOa(c[(QNa()|0)>>2]|0)|0;v=77;break}case 115:{k=c[E>>2]|0;k=(k|0)==0?213025:k;v=77;break}case 67:{c[G>>2]=c[E>>2];c[B>>2]=0;c[E>>2]=G;o=-1;v=81;break}case 83:{if(!j){ePa(d,32,t,0,q);j=0;v=91}else{o=j;v=81}break}case 65:case 71:case 70:case 69:case 97:case 103:case 102:case 101:{j=gPa(d,+h[E>>3],t,j,q,k)|0;break d}default:{r=s;n=0;o=213015;p=j;m=q;j=z}}while(0);f:do if((v|0)==67){s=E;r=c[s>>2]|0;s=c[s+4>>2]|0;p=bPa(r,s,x,k&32)|0;o=(m&8|0)==0|(r|0)==0&(s|0)==0;n=o?0:2;o=o?213015:213015+(k>>>4)|0;q=m;k=r;m=s;v=73}else if((v|0)==72){p=dPa(k,m,x)|0;v=73}else if((v|0)==77){v=0;s=aOa(k,0,j)|0;q=(s|0)==0;r=k;n=0;o=213015;p=q?j:s-k|0;j=q?k+j|0:s}else if((v|0)==81){v=0;n=c[E>>2]|0;j=0;while(1){k=c[n>>2]|0;if(!k)break;k=fPa(H,k)|0;m=(k|0)<0;if(m|k>>>0>(o-j|0)>>>0){v=85;break}j=k+j|0;if(o>>>0>j>>>0)n=n+4|0;else break}if((v|0)==85){v=0;if(m){e=-1;break a}}ePa(d,32,t,j,q);if(!j){j=0;v=91}else{m=c[E>>2]|0;n=0;while(1){k=c[m>>2]|0;if(!k){v=91;break f}k=fPa(H,k)|0;n=k+n|0;if((n|0)>(j|0)){v=91;break f}_Oa(d,H,k);if(n>>>0>=j>>>0){v=91;break}else m=m+4|0}}}while(0);if((v|0)==73){v=0;m=(k|0)!=0|(m|0)!=0;s=(j|0)!=0|m;m=z-p+((m^1)&1)|0;r=s?p:x;p=s?((j|0)>(m|0)?j:m):0;m=(j|0)>-1?q&-65537:q;j=z}else if((v|0)==91){v=0;ePa(d,32,t,j,q^8192);j=(t|0)>(j|0)?t:j;break}q=j-r|0;p=(p|0)<(q|0)?q:p;s=p+n|0;j=(t|0)<(s|0)?s:t;ePa(d,32,j,s,m);_Oa(d,o,n);ePa(d,48,j,s,m^65536);ePa(d,48,p,q,0);_Oa(d,r,q);ePa(d,32,j,s,m^8192)}while(0);m=u}g:do if((v|0)==94)if(!d)if(!m)e=0;else{e=1;while(1){j=c[i+(e<<2)>>2]|0;if(!j)break;aPa(g+(e<<3)|0,j,f);e=e+1|0;if(e>>>0>=10){e=1;break g}}while(1){if(c[i+(e<<2)>>2]|0){e=-1;break g}e=e+1|0;if(e>>>0>=10){e=1;break}}}while(0);l=I;return e|0}function YOa(a){a=a|0;return 0}function ZOa(a){a=a|0;return}function _Oa(a,b,d){a=a|0;b=b|0;d=d|0;if(!(c[a>>2]&32))mPa(b,d,a)|0;return}function $Oa(b){b=b|0;var d=0,e=0;if(!(xOa(a[c[b>>2]>>0]|0)|0))d=0;else{d=0;do{e=c[b>>2]|0;d=(d*10|0)+-48+(a[e>>0]|0)|0;e=e+1|0;c[b>>2]=e}while((xOa(a[e>>0]|0)|0)!=0)}return d|0}function aPa(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0.0;a:do if(b>>>0<=20)do switch(b|0){case 9:{e=(c[d>>2]|0)+(4-1)&~(4-1);b=c[e>>2]|0;c[d>>2]=e+4;c[a>>2]=b;break a}case 10:{e=(c[d>>2]|0)+(4-1)&~(4-1);b=c[e>>2]|0;c[d>>2]=e+4;e=a;c[e>>2]=b;c[e+4>>2]=((b|0)<0)<<31>>31;break a}case 11:{e=(c[d>>2]|0)+(4-1)&~(4-1);b=c[e>>2]|0;c[d>>2]=e+4;e=a;c[e>>2]=b;c[e+4>>2]=0;break a}case 12:{e=(c[d>>2]|0)+(8-1)&~(8-1);b=e;f=c[b>>2]|0;b=c[b+4>>2]|0;c[d>>2]=e+8;e=a;c[e>>2]=f;c[e+4>>2]=b;break a}case 13:{f=(c[d>>2]|0)+(4-1)&~(4-1);e=c[f>>2]|0;c[d>>2]=f+4;e=(e&65535)<<16>>16;f=a;c[f>>2]=e;c[f+4>>2]=((e|0)<0)<<31>>31;break a}case 14:{f=(c[d>>2]|0)+(4-1)&~(4-1);e=c[f>>2]|0;c[d>>2]=f+4;f=a;c[f>>2]=e&65535;c[f+4>>2]=0;break a}case 15:{f=(c[d>>2]|0)+(4-1)&~(4-1);e=c[f>>2]|0;c[d>>2]=f+4;e=(e&255)<<24>>24;f=a;c[f>>2]=e;c[f+4>>2]=((e|0)<0)<<31>>31;break a}case 16:{f=(c[d>>2]|0)+(4-1)&~(4-1);e=c[f>>2]|0;c[d>>2]=f+4;f=a;c[f>>2]=e&255;c[f+4>>2]=0;break a}case 17:{f=(c[d>>2]|0)+(8-1)&~(8-1);g=+h[f>>3];c[d>>2]=f+8;h[a>>3]=g;break a}case 18:{f=(c[d>>2]|0)+(8-1)&~(8-1);g=+h[f>>3];c[d>>2]=f+8;h[a>>3]=g;break a}default:break a}while(0);while(0);return}function bPa(b,c,e,f){b=b|0;c=c|0;e=e|0;f=f|0;if(!((b|0)==0&(c|0)==0))do{e=e+-1|0;a[e>>0]=d[39248+(b&15)>>0]|0|f;b=u2a(b|0,c|0,4)|0;c=y}while(!((b|0)==0&(c|0)==0));return e|0}function cPa(b,c,d){b=b|0;c=c|0;d=d|0;if(!((b|0)==0&(c|0)==0))do{d=d+-1|0;a[d>>0]=b&7|48;b=u2a(b|0,c|0,3)|0;c=y}while(!((b|0)==0&(c|0)==0));return d|0}function dPa(b,c,d){b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0;if(c>>>0>0|(c|0)==0&b>>>0>4294967295){do{e=b;b=t2a(b|0,c|0,10,0)|0;f=c;c=y;g=o2a(b|0,c|0,10,0)|0;g=q2a(e|0,f|0,g|0,y|0)|0;d=d+-1|0;a[d>>0]=g&255|48}while(f>>>0>9|(f|0)==9&e>>>0>4294967295);c=b}else c=b;if(c)do{g=c;c=(c>>>0)/10|0;d=d+-1|0;a[d>>0]=g-(c*10|0)|48}while(g>>>0>=10);return d|0}function ePa(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0;g=l;l=l+256|0;f=g;if((c|0)>(d|0)&(e&73728|0)==0){e=c-d|0;z2a(f|0,b<<24>>24|0,(e>>>0<256?e:256)|0)|0;if(e>>>0>255){b=c-d|0;do{_Oa(a,f,256);e=e+-256|0}while(e>>>0>255);e=b&255}_Oa(a,f,e)}l=g;return}function fPa(a,b){a=a|0;b=b|0;if(!a)a=0;else a=kPa(a,b,0)|0;return a|0}function gPa(b,e,f,g,h,i){b=b|0;e=+e;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0.0,s=0,t=0,u=0,v=0,w=0,x=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0;H=l;l=l+560|0;m=H+32|0;v=H+536|0;G=H;F=G;n=H+540|0;c[v>>2]=0;E=n+12|0;hPa(e)|0;j=y;if((j|0)<0){e=-e;hPa(e)|0;D=1;C=213032;j=y}else{D=(h&2049|0)!=0&1;C=(h&2048|0)==0?((h&1|0)==0?213033:213038):213035}do if(0==0&(j&2146435072|0)==2146435072){G=(i&32|0)!=0;j=D+3|0;ePa(b,32,f,j,h&-65537);_Oa(b,C,D);_Oa(b,e!=e|0.0!=0.0?(G?213074:213059):G?213051:213055,3);ePa(b,32,f,j,h^8192)}else{r=+iPa(e,v)*2.0;j=r!=0.0;if(j)c[v>>2]=(c[v>>2]|0)+-1;u=i|32;if((u|0)==97){p=i&32;s=(p|0)==0?C:C+9|0;q=D|2;j=12-g|0;do if(!(g>>>0>11|(j|0)==0)){e=8.0;do{j=j+-1|0;e=e*16.0}while((j|0)!=0);if((a[s>>0]|0)==45){e=-(e+(-r-e));break}else{e=r+e-e;break}}else e=r;while(0);k=c[v>>2]|0;j=(k|0)<0?0-k|0:k;j=dPa(j,((j|0)<0)<<31>>31,E)|0;if((j|0)==(E|0)){j=n+11|0;a[j>>0]=48}a[j+-1>>0]=(k>>31&2)+43;o=j+-2|0;a[o>>0]=i+15;k=(g|0)<1;m=(h&8|0)==0;n=G;do{D=~~e;j=n+1|0;a[n>>0]=p|d[39248+D>>0];e=(e-+(D|0))*16.0;if((j-F|0)==1?!(m&(k&e==0.0)):0){a[j>>0]=46;n=n+2|0}else n=j}while(e!=0.0);if((g|0)!=0?(-2-F+n|0)<(g|0):0){k=E;m=o;j=g+2+k-m|0}else{k=E;m=o;j=k-F-m+n|0}E=j+q|0;ePa(b,32,f,E,h);_Oa(b,s,q);ePa(b,48,f,E,h^65536);F=n-F|0;_Oa(b,G,F);G=k-m|0;ePa(b,48,j-(F+G)|0,0,0);_Oa(b,o,G);ePa(b,32,f,E,h^8192);j=E;break}k=(g|0)<0?6:g;if(j){j=(c[v>>2]|0)+-28|0;c[v>>2]=j;e=r*268435456.0}else{e=r;j=c[v>>2]|0}B=(j|0)<0?m:m+288|0;m=B;do{z=~~e>>>0;c[m>>2]=z;m=m+4|0;e=(e-+(z>>>0))*1.0e9}while(e!=0.0);z=B;if((j|0)>0){p=B;while(1){o=(j|0)<29?j:29;j=m+-4|0;if(j>>>0>=p>>>0){n=0;do{t=v2a(c[j>>2]|0,0,o|0)|0;t=p2a(t|0,y|0,n|0,0)|0;w=y;n=t2a(t|0,w|0,1e9,0)|0;x=o2a(n|0,y|0,1e9,0)|0;x=q2a(t|0,w|0,x|0,y|0)|0;c[j>>2]=x;j=j+-4|0}while(j>>>0>=p>>>0);if(n){x=p+-4|0;c[x>>2]=n;n=x}else n=p}else n=p;a:do if(m>>>0>n>>>0){j=m;while(1){m=j+-4|0;if(c[m>>2]|0){m=j;break a}if(m>>>0>n>>>0)j=m;else break}}while(0);j=(c[v>>2]|0)-o|0;c[v>>2]=j;if((j|0)>0)p=n;else break}}else n=B;if((j|0)<0){g=((k+25|0)/9|0)+1|0;t=(u|0)==102;do{s=0-j|0;s=(s|0)<9?s:9;if(n>>>0<m>>>0){o=(1<<s)+-1|0;p=1e9>>>s;q=0;j=n;do{x=c[j>>2]|0;c[j>>2]=(x>>>s)+q;q=N(x&o,p)|0;j=j+4|0}while(j>>>0<m>>>0);n=(c[n>>2]|0)==0?n+4|0:n;if(q){c[m>>2]=q;m=m+4|0}}else n=(c[n>>2]|0)==0?n+4|0:n;j=t?B:n;m=(m-j>>2|0)>(g|0)?j+(g<<2)|0:m;j=(c[v>>2]|0)+s|0;c[v>>2]=j}while((j|0)<0);t=n}else t=n;if(t>>>0<m>>>0){j=(z-t>>2)*9|0;o=c[t>>2]|0;if(o>>>0>=10){n=10;do{n=n*10|0;j=j+1|0}while(o>>>0>=n>>>0)}}else j=0;w=(u|0)==103;x=(k|0)!=0;n=k-((u|0)==102?0:j)+((x&w)<<31>>31)|0;if((n|0)<(((m-z>>2)*9|0)+-9|0)){v=n+9216|0;n=(v|0)/9|0;g=B+4+(n+-1024<<2)|0;n=v-(n*9|0)|0;if((n|0)<8){o=10;while(1){o=o*10|0;if((n|0)<7)n=n+1|0;else break}}else o=10;q=c[g>>2]|0;n=(q>>>0)/(o>>>0)|0;s=q-(N(n,o)|0)|0;p=(g+4|0)==(m|0);if(!(p&(s|0)==0)){r=(n&1|0)==0?9007199254740992.0:9007199254740994.0;v=o>>>1;e=s>>>0<v>>>0?.5:p&(s|0)==(v|0)?1.0:1.5;if(D){v=(a[C>>0]|0)==45;e=v?-e:e;r=v?-r:r}n=q-s|0;c[g>>2]=n;if(r+e!=r){v=n+o|0;c[g>>2]=v;if(v>>>0>999999999){o=g;j=t;while(1){n=o+-4|0;c[o>>2]=0;if(n>>>0<j>>>0){j=j+-4|0;c[j>>2]=0}v=(c[n>>2]|0)+1|0;c[n>>2]=v;if(v>>>0>999999999)o=n;else{o=j;break}}}else{n=g;o=t}j=(z-o>>2)*9|0;q=c[o>>2]|0;if(q>>>0>=10){p=10;do{p=p*10|0;j=j+1|0}while(q>>>0>=p>>>0)}}else{n=g;o=t}}else{n=g;o=t}v=n+4|0;m=m>>>0>v>>>0?v:m}else o=t;g=0-j|0;b:do if(m>>>0>o>>>0)while(1){n=m+-4|0;if(c[n>>2]|0){v=m;u=1;break b}if(n>>>0>o>>>0)m=n;else{v=n;u=0;break}}else{v=m;u=0}while(0);do if(w){k=k+((x^1)&1)|0;if((k|0)>(j|0)&(j|0)>-5){p=i+-1|0;k=k+-1-j|0}else{p=i+-2|0;k=k+-1|0}if(!(h&8)){if(u?(A=c[v+-4>>2]|0,(A|0)!=0):0)if(!((A>>>0)%10|0)){n=0;m=10;do{m=m*10|0;n=n+1|0}while(!((A>>>0)%(m>>>0)|0|0))}else n=0;else n=9;m=((v-z>>2)*9|0)+-9|0;if((p|32|0)==102){i=m-n|0;i=(i|0)>0?i:0;k=(k|0)<(i|0)?k:i;break}else{i=m+j-n|0;i=(i|0)>0?i:0;k=(k|0)<(i|0)?k:i;break}}}else p=i;while(0);t=(k|0)!=0;q=t?1:h>>>3&1;s=(p|32|0)==102;if(s){w=0;j=(j|0)>0?j:0}else{m=(j|0)<0?g:j;m=dPa(m,((m|0)<0)<<31>>31,E)|0;n=E;if((n-m|0)<2)do{m=m+-1|0;a[m>>0]=48}while((n-m|0)<2);a[m+-1>>0]=(j>>31&2)+43;j=m+-2|0;a[j>>0]=p;w=j;j=n-j|0}j=D+1+k+q+j|0;ePa(b,32,f,j,h);_Oa(b,C,D);ePa(b,48,f,j,h^65536);if(s){q=o>>>0>B>>>0?B:o;s=G+9|0;o=s;p=G+8|0;n=q;do{m=dPa(c[n>>2]|0,0,s)|0;if((n|0)==(q|0)){if((m|0)==(s|0)){a[p>>0]=48;m=p}}else if(m>>>0>G>>>0){z2a(G|0,48,m-F|0)|0;do m=m+-1|0;while(m>>>0>G>>>0)}_Oa(b,m,o-m|0);n=n+4|0}while(n>>>0<=B>>>0);if(!((h&8|0)==0&(t^1)))_Oa(b,213063,1);if(n>>>0<v>>>0&(k|0)>0)while(1){m=dPa(c[n>>2]|0,0,s)|0;if(m>>>0>G>>>0){z2a(G|0,48,m-F|0)|0;do m=m+-1|0;while(m>>>0>G>>>0)}_Oa(b,m,(k|0)<9?k:9);n=n+4|0;m=k+-9|0;if(!(n>>>0<v>>>0&(k|0)>9)){k=m;break}else k=m}ePa(b,48,k+9|0,9,0)}else{v=u?v:o+4|0;if(o>>>0<v>>>0&(k|0)>-1){g=G+9|0;t=(h&8|0)==0;u=g;q=0-F|0;s=G+8|0;p=o;do{m=dPa(c[p>>2]|0,0,g)|0;if((m|0)==(g|0)){a[s>>0]=48;m=s}do if((p|0)==(o|0)){n=m+1|0;_Oa(b,m,1);if(t&(k|0)<1){m=n;break}_Oa(b,213063,1);m=n}else{if(m>>>0<=G>>>0)break;z2a(G|0,48,m+q|0)|0;do m=m+-1|0;while(m>>>0>G>>>0)}while(0);F=u-m|0;_Oa(b,m,(k|0)>(F|0)?F:k);k=k-F|0;p=p+4|0}while(p>>>0<v>>>0&(k|0)>-1)}ePa(b,48,k+18|0,18,0);_Oa(b,w,E-w|0)}ePa(b,32,f,j,h^8192)}while(0);l=H;return ((j|0)<(f|0)?f:j)|0}function hPa(a){a=+a;var b=0;h[j>>3]=a;b=c[j>>2]|0;y=c[j+4>>2]|0;return b|0}function iPa(a,b){a=+a;b=b|0;return +(+jPa(a,b))}function jPa(a,b){a=+a;b=b|0;var d=0,e=0,f=0;h[j>>3]=a;d=c[j>>2]|0;e=c[j+4>>2]|0;f=u2a(d|0,e|0,52)|0;switch(f&2047){case 0:{if(a!=0.0){a=+jPa(a*18446744073709551616.0,b);d=(c[b>>2]|0)+-64|0}else d=0;c[b>>2]=d;break}case 2047:break;default:{c[b>>2]=(f&2047)+-1022;c[j>>2]=d;c[j+4>>2]=e&-2146435073|1071644672;a=+h[j>>3]}}return +a}function kPa(b,d,e){b=b|0;d=d|0;e=e|0;do if(b){if(d>>>0<128){a[b>>0]=d;b=1;break}if(!(c[c[(lPa()|0)+188>>2]>>2]|0))if((d&-128|0)==57216){a[b>>0]=d;b=1;break}else{c[(QNa()|0)>>2]=84;b=-1;break}if(d>>>0<2048){a[b>>0]=d>>>6|192;a[b+1>>0]=d&63|128;b=2;break}if(d>>>0<55296|(d&-8192|0)==57344){a[b>>0]=d>>>12|224;a[b+1>>0]=d>>>6&63|128;a[b+2>>0]=d&63|128;b=3;break}if((d+-65536|0)>>>0<1048576){a[b>>0]=d>>>18|240;a[b+1>>0]=d>>>12&63|128;a[b+2>>0]=d>>>6&63|128;a[b+3>>0]=d&63|128;b=4;break}else{c[(QNa()|0)>>2]=84;b=-1;break}}else b=1;while(0);return b|0}function lPa(){return wOa()|0}function mPa(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;f=e+16|0;g=c[f>>2]|0;if(!g)if(!(nPa(e)|0)){g=c[f>>2]|0;h=5}else f=0;else h=5;a:do if((h|0)==5){j=e+20|0;i=c[j>>2]|0;f=i;if((g-i|0)>>>0<d>>>0){f=lk[c[e+36>>2]&127](e,b,d)|0;break}b:do if((a[e+75>>0]|0)<0|(d|0)==0){h=0;g=b}else{i=d;while(1){g=i+-1|0;if((a[b+g>>0]|0)==10)break;if(!g){h=0;g=b;break b}else i=g}f=lk[c[e+36>>2]&127](e,b,i)|0;if(f>>>0<i>>>0)break a;h=i;g=b+i|0;d=d-i|0;f=c[j>>2]|0}while(0);x2a(f|0,g|0,d|0)|0;c[j>>2]=(c[j>>2]|0)+d;f=h+d|0}while(0);return f|0}function nPa(b){b=b|0;var d=0,e=0;d=b+74|0;e=a[d>>0]|0;a[d>>0]=e+255|e;d=c[b>>2]|0;if(!(d&8)){c[b+8>>2]=0;c[b+4>>2]=0;e=c[b+44>>2]|0;c[b+28>>2]=e;c[b+20>>2]=e;c[b+16>>2]=e+(c[b+48>>2]|0);b=0}else{c[b>>2]=d|32;b=-1}return b|0}function oPa(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=a+20|0;f=c[e>>2]|0;a=(c[a+16>>2]|0)-f|0;a=a>>>0>d>>>0?d:a;x2a(f|0,b|0,a|0)|0;c[e>>2]=(c[e>>2]|0)+a;return d|0}function pPa(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0;n=l;l=l+208|0;j=n;k=n+192|0;h=N(d,b)|0;i=k;c[i>>2]=1;c[i+4>>2]=0;a:do if(h|0){i=0-d|0;c[j+4>>2]=d;c[j>>2]=d;f=2;b=d;g=d;while(1){b=b+d+g|0;c[j+(f<<2)>>2]=b;if(b>>>0<h>>>0){o=g;f=f+1|0;g=b;b=o}else break}g=a+h+i|0;if(g>>>0>a>>>0){h=g;f=1;b=1;do{do if((b&3|0)!=3){b=f+-1|0;if((c[j+(b<<2)>>2]|0)>>>0<(h-a|0)>>>0)qPa(a,d,e,f,j);else sPa(a,d,e,k,f,0,j);if((f|0)==1){tPa(k,1);f=0;break}else{tPa(k,b);f=1;break}}else{qPa(a,d,e,f,j);rPa(k,2);f=f+2|0}while(0);b=c[k>>2]|1;c[k>>2]=b;a=a+d|0}while(a>>>0<g>>>0)}else{f=1;b=1}sPa(a,d,e,k,f,0,j);g=k+4|0;while(1){if((f|0)==1&(b|0)==1)if(!(c[g>>2]|0))break a;else m=19;else if((f|0)<2)m=19;else{tPa(k,2);o=f+-2|0;c[k>>2]=c[k>>2]^7;rPa(k,1);sPa(a+(0-(c[j+(o<<2)>>2]|0))+i|0,d,e,k,f+-1|0,1,j);tPa(k,1);b=c[k>>2]|1;c[k>>2]=b;a=a+i|0;sPa(a,d,e,k,o,1,j);f=o}if((m|0)==19){m=0;b=uPa(k)|0;rPa(k,b);a=a+i|0;f=b+f|0;b=c[k>>2]|0}}}while(0);l=n;return}function qPa(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0;n=l;l=l+240|0;m=n;c[m>>2]=a;a:do if((e|0)>1){k=0-b|0;i=a;g=e;e=1;h=a;while(1){i=i+k|0;j=g+-2|0;a=i+(0-(c[f+(j<<2)>>2]|0))|0;if((kk[d&511](h,a)|0)>-1?(kk[d&511](h,i)|0)>-1:0)break a;h=m+(e<<2)|0;if((kk[d&511](a,i)|0)>-1){c[h>>2]=a;g=g+-1|0}else{c[h>>2]=i;a=i;g=j}e=e+1|0;if((g|0)<=1)break a;i=a;h=c[m>>2]|0}}else e=1;while(0);wPa(b,m,e);l=n;return}function rPa(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=a+4|0;if(b>>>0>31){e=c[f>>2]|0;c[a>>2]=e;c[f>>2]=0;b=b+-32|0;d=0}else{d=c[f>>2]|0;e=c[a>>2]|0}c[a>>2]=d<<32-b|e>>>b;c[f>>2]=d>>>b;return}function sPa(a,b,d,e,f,g,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0;p=l;l=l+240|0;n=p+232|0;o=p;q=c[e>>2]|0;c[n>>2]=q;j=c[e+4>>2]|0;k=n+4|0;c[k>>2]=j;c[o>>2]=a;a:do if((q|0)!=1|(j|0)!=0?(m=0-b|0,i=a+(0-(c[h+(f<<2)>>2]|0))|0,(kk[d&511](i,a)|0)>=1):0){e=1;g=(g|0)==0;j=i;while(1){if(g&(f|0)>1){g=a+m|0;i=c[h+(f+-2<<2)>>2]|0;if((kk[d&511](g,j)|0)>-1){i=10;break a}if((kk[d&511](g+(0-i)|0,j)|0)>-1){i=10;break a}}g=e+1|0;c[o+(e<<2)>>2]=j;q=uPa(n)|0;rPa(n,q);f=q+f|0;if(!((c[n>>2]|0)!=1|(c[k>>2]|0)!=0)){e=g;a=j;i=10;break a}a=j+(0-(c[h+(f<<2)>>2]|0))|0;if((kk[d&511](a,c[o>>2]|0)|0)<1){a=j;e=g;g=0;i=9;break}else{q=j;e=g;g=1;j=a;a=q}}}else{e=1;i=9}while(0);if((i|0)==9?(g|0)==0:0)i=10;if((i|0)==10){wPa(b,o,e);qPa(a,b,d,f,h)}l=p;return}function tPa(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=a+4|0;if(b>>>0>31){e=c[a>>2]|0;c[f>>2]=e;c[a>>2]=0;b=b+-32|0;d=0}else{d=c[a>>2]|0;e=c[f>>2]|0}c[f>>2]=d>>>(32-b|0)|e<<b;c[a>>2]=d<<b;return}function uPa(a){a=a|0;var b=0;b=vPa((c[a>>2]|0)+-1|0)|0;if(!b){b=vPa(c[a+4>>2]|0)|0;return ((b|0)==0?0:b+32|0)|0}else return b|0;return 0}function vPa(a){a=a|0;var b=0;if(a)if(!(a&1)){b=a;a=0;while(1){a=a+1|0;if(!(b&2))b=b>>>1;else break}}else a=0;else a=32;return a|0}function wPa(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;h=l;l=l+256|0;e=h;a:do if((d|0)>=2?(g=b+(d<<2)|0,c[g>>2]=e,a|0):0)while(1){f=a>>>0<256?a:256;x2a(e|0,c[b>>2]|0,f|0)|0;e=0;do{i=b+(e<<2)|0;e=e+1|0;x2a(c[i>>2]|0,c[b+(e<<2)>>2]|0,f|0)|0;c[i>>2]=(c[i>>2]|0)+f}while((e|0)!=(d|0));a=a-f|0;if(!a)break a;e=c[g>>2]|0}while(0);l=h;return}function xPa(a,b){a=a|0;b=b|0;return +(+yPa(a,b,0))}function yPa(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,f=0,g=0,h=0,i=0;i=l;l=l+128|0;h=i;f=h;g=f+124|0;do{c[f>>2]=0;f=f+4|0}while((f|0)<(g|0));f=h+4|0;c[f>>2]=a;g=h+8|0;c[g>>2]=-1;c[h+44>>2]=a;c[h+76>>2]=-1;EOa(h,0);e=+zPa(h,d,1);d=(c[f>>2]|0)-(c[g>>2]|0)+(c[h+108>>2]|0)|0;if(b|0)c[b>>2]=(d|0)==0?a:a+d|0;l=i;return +e}function zPa(b,e,f){b=b|0;e=e|0;f=f|0;var g=0.0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;switch(e|0){case 0:{l=-149;m=24;j=4;break}case 1:{l=-1074;m=53;j=4;break}case 2:{l=-1074;m=53;j=4;break}default:g=0.0}a:do if((j|0)==4){o=b+4|0;n=b+100|0;do{e=c[o>>2]|0;if(e>>>0<(c[n>>2]|0)>>>0){c[o>>2]=e+1;e=d[e>>0]|0}else e=GOa(b)|0}while((HOa(e)|0)!=0);b:do switch(e|0){case 43:case 45:{i=1-(((e|0)==45&1)<<1)|0;e=c[o>>2]|0;if(e>>>0<(c[n>>2]|0)>>>0){c[o>>2]=e+1;h=d[e>>0]|0;break b}else{h=GOa(b)|0;break b}}default:{h=e;i=1}}while(0);e=0;while(1){if((h|32|0)!=(a[213065+e>>0]|0))break;do if(e>>>0<7){h=c[o>>2]|0;if(h>>>0<(c[n>>2]|0)>>>0){c[o>>2]=h+1;h=d[h>>0]|0;break}else{h=GOa(b)|0;break}}while(0);e=e+1|0;if(e>>>0>=8){e=8;break}}c:do switch(e&2147483647|0){case 8:break;case 3:{j=23;break}default:{k=(f|0)!=0;if(k&e>>>0>3)if((e|0)==8)break c;else{j=23;break c}d:do if(!e){e=0;while(1){if((h|32|0)!=(a[213074+e>>0]|0))break d;do if(e>>>0<2){h=c[o>>2]|0;if(h>>>0<(c[n>>2]|0)>>>0){c[o>>2]=h+1;h=d[h>>0]|0;break}else{h=GOa(b)|0;break}}while(0);e=e+1|0;if(e>>>0>=3){e=3;break}}}while(0);switch(e|0){case 3:{e=c[o>>2]|0;if(e>>>0<(c[n>>2]|0)>>>0){c[o>>2]=e+1;e=d[e>>0]|0}else e=GOa(b)|0;if((e|0)!=40){if(!(c[n>>2]|0)){g=r;break a}c[o>>2]=(c[o>>2]|0)+-1;g=r;break a}e=1;while(1){h=c[o>>2]|0;if(h>>>0<(c[n>>2]|0)>>>0){c[o>>2]=h+1;h=d[h>>0]|0}else h=GOa(b)|0;if(!((h+-48|0)>>>0<10|(h+-65|0)>>>0<26)?!((h|0)==95|(h+-97|0)>>>0<26):0)break;e=e+1|0}if((h|0)==41){g=r;break a}h=(c[n>>2]|0)==0;if(!h)c[o>>2]=(c[o>>2]|0)+-1;if(!k){c[(QNa()|0)>>2]=22;EOa(b,0);g=0.0;break a}if(!e){g=r;break a}while(1){e=e+-1|0;if(!h)c[o>>2]=(c[o>>2]|0)+-1;if(!e){g=r;break a}}}case 0:{if((h|0)==48){e=c[o>>2]|0;if(e>>>0<(c[n>>2]|0)>>>0){c[o>>2]=e+1;e=d[e>>0]|0}else e=GOa(b)|0;if((e|32|0)==120){g=+APa(b,m,l,i,f);break a}if(!(c[n>>2]|0))e=48;else{c[o>>2]=(c[o>>2]|0)+-1;e=48}}else e=h;g=+BPa(b,e,m,l,i,f);break a}default:{if(c[n>>2]|0)c[o>>2]=(c[o>>2]|0)+-1;c[(QNa()|0)>>2]=22;EOa(b,0);g=0.0;break a}}}}while(0);if((j|0)==23){h=(c[n>>2]|0)==0;if(!h)c[o>>2]=(c[o>>2]|0)+-1;if((f|0)!=0&e>>>0>3)do{if(!h)c[o>>2]=(c[o>>2]|0)+-1;e=e+-1|0}while(e>>>0>3)}g=+(i|0)*s}while(0);return +g}function APa(a,b,e,f,g){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;var h=0.0,i=0,j=0,k=0.0,l=0,m=0,n=0.0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,z=0;z=a+4|0;i=c[z>>2]|0;x=a+100|0;if(i>>>0<(c[x>>2]|0)>>>0){c[z>>2]=i+1;i=d[i>>0]|0}else i=GOa(a)|0;j=0;a:while(1){switch(i|0){case 46:{w=10;break a}case 48:break;default:{p=0;m=j;l=0;j=0;break a}}i=c[z>>2]|0;if(i>>>0<(c[x>>2]|0)>>>0){c[z>>2]=i+1;i=d[i>>0]|0}else i=GOa(a)|0;j=1}if((w|0)==10){i=c[z>>2]|0;if(i>>>0<(c[x>>2]|0)>>>0){c[z>>2]=i+1;i=d[i>>0]|0}else i=GOa(a)|0;if((i|0)==48){l=0;j=0;do{i=c[z>>2]|0;if(i>>>0<(c[x>>2]|0)>>>0){c[z>>2]=i+1;i=d[i>>0]|0}else i=GOa(a)|0;l=p2a(l|0,j|0,-1,-1)|0;j=y}while((i|0)==48);p=1;m=1}else{p=1;m=j;l=0;j=0}}o=0;n=1.0;h=0.0;v=0;s=p;t=m;u=0;m=0;while(1){q=i+-48|0;p=i|32;if(q>>>0>=10){r=(i|0)==46;if(!(r|(p+-97|0)>>>0<6))break;if(r)if(!s){s=1;k=n;q=v;r=t;l=m;j=u;p=u}else{i=46;break}else w=24}else w=24;if((w|0)==24){w=0;i=(i|0)>57?p+-87|0:q;do if(!((u|0)<0|(u|0)==0&m>>>0<8))if((u|0)<0|(u|0)==0&m>>>0<14){n=n*.0625;k=n;h=h+n*+(i|0);i=v;break}else{i=(o|0)!=0|(i|0)==0;o=i?o:1;k=n;h=i?h:h+n*.5;i=v;break}else{k=n;i=i+(v<<4)|0}while(0);m=p2a(m|0,u|0,1,0)|0;q=i;r=1;p=y}i=c[z>>2]|0;if(i>>>0<(c[x>>2]|0)>>>0){c[z>>2]=i+1;i=d[i>>0]|0}else i=GOa(a)|0;n=k;v=q;t=r;u=p}do if(!t){i=(c[x>>2]|0)==0;if(!i)c[z>>2]=(c[z>>2]|0)+-1;if(g){if(!i?(c[z>>2]=(c[z>>2]|0)+-1,!((s|0)==0|i)):0)c[z>>2]=(c[z>>2]|0)+-1}else EOa(a,0);h=+(f|0)*0.0}else{o=(s|0)==0;p=o?m:l;o=o?u:j;if((u|0)<0|(u|0)==0&m>>>0<8){j=v;l=u;while(1){j=j<<4;w=m;m=p2a(m|0,l|0,1,0)|0;if(!((l|0)<0|(l|0)==0&w>>>0<7)){m=j;break}else l=y}}else m=v;if((i|32|0)==112){j=CPa(a,g)|0;i=y;if((j|0)==0&(i|0)==-2147483648){if(!g){EOa(a,0);h=0.0;break}if(!(c[x>>2]|0)){j=0;i=0}else{c[z>>2]=(c[z>>2]|0)+-1;j=0;i=0}}}else if(!(c[x>>2]|0)){j=0;i=0}else{c[z>>2]=(c[z>>2]|0)+-1;j=0;i=0}l=v2a(p|0,o|0,2)|0;l=p2a(l|0,y|0,-32,-1)|0;l=p2a(l|0,y|0,j|0,i|0)|0;i=y;if(!m){h=+(f|0)*0.0;break}z=0-e|0;g=((z|0)<0)<<31>>31;if((i|0)>(g|0)|(i|0)==(g|0)&l>>>0>z>>>0){c[(QNa()|0)>>2]=34;h=+(f|0)*1797693134862315708145274.0e284*1797693134862315708145274.0e284;break}z=e+-106|0;g=((z|0)<0)<<31>>31;if((i|0)<(g|0)|(i|0)==(g|0)&l>>>0<z>>>0){c[(QNa()|0)>>2]=34;h=+(f|0)*2.2250738585072014e-308*2.2250738585072014e-308;break}if((m|0)>-1){j=m;do{z=!(h>=.5);j=j<<1|(z^1)&1;h=h+(z?h:h+-1.0);l=p2a(l|0,i|0,-1,-1)|0;i=y}while((j|0)>-1);n=h;m=j}else n=h;z=((b|0)<0)<<31>>31;e=q2a(32,0,e|0,((e|0)<0)<<31>>31|0)|0;i=p2a(e|0,y|0,l|0,i|0)|0;e=y;if((e|0)<(z|0)|(e|0)==(z|0)&i>>>0<b>>>0)if((i|0)>0)w=65;else{j=0;i=84;w=67}else{i=b;w=65}if((w|0)==65)if((i|0)<53){j=i;i=84-i|0;w=67}else{k=0.0;h=+(f|0)}if((w|0)==67){h=+(f|0);k=+EPa(+DPa(1.0,i),h);i=j}f=(m&1|0)==0&(n!=0.0&(i|0)<32);h=(f?0.0:n)*h+(k+h*+((m+(f&1)|0)>>>0))-k;if(!(h!=0.0))c[(QNa()|0)>>2]=34;h=+GPa(h,l)}while(0);return +h}function BPa(a,b,e,f,g,h){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0.0,j=0,k=0.0,m=0,n=0,o=0,p=0,q=0,r=0.0,s=0.0,t=0,u=0.0,v=0,w=0,x=0,z=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0.0;I=l;l=l+512|0;F=I;G=f+e|0;H=0-G|0;E=a+4|0;D=a+100|0;j=0;a:while(1){switch(b|0){case 46:{B=7;break a}case 48:break;default:{v=0;q=j;j=0;p=0;break a}}b=c[E>>2]|0;if(b>>>0<(c[D>>2]|0)>>>0){c[E>>2]=b+1;b=d[b>>0]|0}else b=GOa(a)|0;j=1}if((B|0)==7){b=c[E>>2]|0;if(b>>>0<(c[D>>2]|0)>>>0){c[E>>2]=b+1;b=d[b>>0]|0}else b=GOa(a)|0;if((b|0)==48){j=0;b=0;while(1){j=p2a(j|0,b|0,-1,-1)|0;p=y;b=c[E>>2]|0;if(b>>>0<(c[D>>2]|0)>>>0){c[E>>2]=b+1;b=d[b>>0]|0}else b=GOa(a)|0;if((b|0)==48)b=p;else{v=1;q=1;break}}}else{v=1;q=j;j=0;p=0}}c[F>>2]=0;o=b+-48|0;n=(b|0)==46;b:do if(n|o>>>0<10){C=F+496|0;w=0;m=0;t=0;x=v;z=q;B=o;q=0;o=0;c:while(1){do if(n)if(!x){x=1;j=q;p=o}else break c;else{q=p2a(q|0,o|0,1,0)|0;o=y;v=(b|0)!=48;if((m|0)>=125){if(!v)break;c[C>>2]=c[C>>2]|1;break}n=F+(m<<2)|0;if(!w)b=B;else b=b+-48+((c[n>>2]|0)*10|0)|0;c[n>>2]=b;w=w+1|0;z=(w|0)==9;w=z?0:w;m=m+(z&1)|0;t=v?q:t;z=1}while(0);b=c[E>>2]|0;if(b>>>0<(c[D>>2]|0)>>>0){c[E>>2]=b+1;b=d[b>>0]|0}else b=GOa(a)|0;B=b+-48|0;n=(b|0)==46;if(!(n|B>>>0<10)){v=x;n=z;B=31;break b}}b=w;n=(z|0)!=0;B=39}else{w=0;m=0;t=0;n=q;q=0;o=0;B=31}while(0);do if((B|0)==31){C=(v|0)==0;j=C?q:j;p=C?o:p;n=(n|0)!=0;if(!(n&(b|32|0)==101))if((b|0)>-1){b=w;B=39;break}else{b=w;B=41;break}n=CPa(a,h)|0;b=y;if((n|0)==0&(b|0)==-2147483648){if(!h){EOa(a,0);i=0.0;break}if(!(c[D>>2]|0)){n=0;b=0}else{c[E>>2]=(c[E>>2]|0)+-1;n=0;b=0}}j=p2a(n|0,b|0,j|0,p|0)|0;b=w;p=y;B=43}while(0);if((B|0)==39)if(c[D>>2]|0){c[E>>2]=(c[E>>2]|0)+-1;if(n)B=43;else B=42}else B=41;if((B|0)==41)if(n)B=43;else B=42;do if((B|0)==42){c[(QNa()|0)>>2]=22;EOa(a,0);i=0.0}else if((B|0)==43){n=c[F>>2]|0;if(!n){i=+(g|0)*0.0;break}if(((o|0)<0|(o|0)==0&q>>>0<10)&((j|0)==(q|0)&(p|0)==(o|0))?(e|0)>30|(n>>>e|0)==0:0){i=+(g|0)*+(n>>>0);break}a=(f|0)/-2|0;E=((a|0)<0)<<31>>31;if((p|0)>(E|0)|(p|0)==(E|0)&j>>>0>a>>>0){c[(QNa()|0)>>2]=34;i=+(g|0)*1797693134862315708145274.0e284*1797693134862315708145274.0e284;break}a=f+-106|0;E=((a|0)<0)<<31>>31;if((p|0)<(E|0)|(p|0)==(E|0)&j>>>0<a>>>0){c[(QNa()|0)>>2]=34;i=+(g|0)*2.2250738585072014e-308*2.2250738585072014e-308;break}if(b){if((b|0)<9){o=F+(m<<2)|0;n=c[o>>2]|0;while(1){n=n*10|0;if((b|0)>=8)break;else b=b+1|0}c[o>>2]=n}m=m+1|0}if((t|0)<9?(t|0)<=(j|0)&(j|0)<18:0){if((j|0)==9){i=+(g|0)*+((c[F>>2]|0)>>>0);break}if((j|0)<9){i=+(g|0)*+((c[F>>2]|0)>>>0)/+(c[39264+(8-j<<2)>>2]|0);break}a=e+27+(N(j,-3)|0)|0;b=c[F>>2]|0;if((a|0)>30|(b>>>a|0)==0){i=+(g|0)*+(b>>>0)*+(c[39264+(j+-10<<2)>>2]|0);break}}b=(j|0)%9|0;if(!b)n=0;else{t=(j|0)>-1?b:b+9|0;p=c[39264+(8-t<<2)>>2]|0;if(m){q=1e9/(p|0)|0;o=0;n=0;b=0;do{D=F+(b<<2)|0;E=c[D>>2]|0;a=(E>>>0)/(p>>>0)|0;E=E-(N(a,p)|0)|0;a=a+o|0;c[D>>2]=a;o=N(q,E)|0;a=(b|0)==(n|0)&(a|0)==0;j=a?j+-9|0:j;n=a?n+1&127:n;b=b+1|0}while((b|0)!=(m|0));if(!o)b=m;else{c[F+(m<<2)>>2]=o;b=m+1|0}}else{n=0;b=0}m=b;j=9-t+j|0}b=0;d:while(1){v=(j|0)<18;w=(j|0)==18;x=F+(n<<2)|0;while(1){if(!v){if(!w)break d;if((c[x>>2]|0)>>>0>=9007199){j=18;break d}}o=0;z=m;m=m+127|0;while(1){q=m&127;p=F+(q<<2)|0;m=v2a(c[p>>2]|0,0,29)|0;m=p2a(m|0,y|0,o|0,0)|0;o=y;if(o>>>0>0|(o|0)==0&m>>>0>1e9){t=t2a(m|0,o|0,1e9,0)|0;a=o2a(t|0,y|0,1e9,0)|0;m=q2a(m|0,o|0,a|0,y|0)|0}else t=0;c[p>>2]=m;a=(q|0)==(n|0);p=(q|0)!=(z+127&127|0)|a?z:(m|0)==0?q:z;if(a)break;else{o=t;z=p;m=q+-1|0}}b=b+-29|0;if(!t)m=z;else break}n=n+127&127;m=p+127&127;o=F+((p+126&127)<<2)|0;if((n|0)==(p|0))c[o>>2]=c[o>>2]|c[F+(m<<2)>>2];else m=z;c[F+(n<<2)>>2]=t;j=j+9|0}e:while(1){w=m+1&127;x=F+((m+127&127)<<2)|0;while(1){q=(j|0)==18;v=(j|0)>27?9:1;z=n;while(1){p=0;while(1){n=p+z&127;if((n|0)==(m|0)){B=92;break}n=c[F+(n<<2)>>2]|0;o=c[107516+(p<<2)>>2]|0;if(n>>>0<o>>>0){B=92;break}if(n>>>0>o>>>0)break;if((p+1|0)>>>0<2)p=1;else{B=92;break}}if((B|0)==92?(B=0,q):0)break e;b=v+b|0;if((z|0)==(m|0))z=m;else break}q=(1<<v)+-1|0;t=1e9>>>v;p=0;n=z;o=z;do{D=F+(o<<2)|0;E=c[D>>2]|0;a=(E>>>v)+p|0;c[D>>2]=a;p=N(E&q,t)|0;a=(o|0)==(n|0)&(a|0)==0;j=a?j+-9|0:j;n=a?n+1&127:n;o=o+1&127}while((o|0)!=(m|0));if(p|0){if((w|0)!=(n|0))break;c[x>>2]=c[x>>2]|1}}c[F+(m<<2)>>2]=p;m=w}i=0.0;j=m;n=0;do{o=n+z&127;m=j+1&127;if((o|0)==(j|0)){c[F+(m+-1<<2)>>2]=0;j=m}i=i*1.0e9+ +((c[F+(o<<2)>>2]|0)>>>0);n=n+1|0}while((n|0)!=2);u=+(g|0);k=i*u;o=b+53|0;p=o-f|0;q=(p|0)<(e|0);n=q?((p|0)>0?p:0):e;if((n|0)<53){J=+EPa(+DPa(1.0,105-n|0),k);r=+FPa(k,+DPa(1.0,53-n|0));s=J;i=r;r=J+(k-r)}else{s=0.0;i=0.0;r=k}m=z+2&127;if((m|0)!=(j|0)){m=c[F+(m<<2)>>2]|0;do if(m>>>0>=5e8){if((m|0)!=5e8){i=u*.75+i;break}if((z+3&127|0)==(j|0)){i=u*.5+i;break}else{i=u*.75+i;break}}else{if((m|0)==0?(z+3&127|0)==(j|0):0)break;i=u*.25+i}while(0);if((53-n|0)>1?!(+FPa(i,1.0)!=0.0):0)k=i+1.0;else k=i}else k=i;i=r+k-s;do if((o&2147483647|0)>(-2-G|0)){G=!(+A(+i)>=9007199254740992.0);b=b+((G^1)&1)|0;i=G?i:i*.5;if((b+50|0)<=(H|0)?!(k!=0.0&(q&((n|0)!=(p|0)|G))):0)break;c[(QNa()|0)>>2]=34}while(0);i=+GPa(i,b)}while(0);l=I;return +i}function CPa(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;i=a+4|0;e=c[i>>2]|0;j=a+100|0;if(e>>>0<(c[j>>2]|0)>>>0){c[i>>2]=e+1;f=d[e>>0]|0}else f=GOa(a)|0;switch(f|0){case 43:case 45:{g=(f|0)==45&1;e=c[i>>2]|0;if(e>>>0<(c[j>>2]|0)>>>0){c[i>>2]=e+1;e=d[e>>0]|0}else e=GOa(a)|0;f=e+-48|0;if((b|0)!=0&f>>>0>9)if(!(c[j>>2]|0)){f=0;e=-2147483648}else{c[i>>2]=(c[i>>2]|0)+-1;k=14}else k=12;break}default:{g=0;e=f;f=f+-48|0;k=12}}if((k|0)==12)if(f>>>0>9)k=14;else{f=0;do{f=e+-48+(f*10|0)|0;e=c[i>>2]|0;if(e>>>0<(c[j>>2]|0)>>>0){c[i>>2]=e+1;e=d[e>>0]|0}else e=GOa(a)|0;b=e+-48|0}while(b>>>0<10&(f|0)<214748364);h=((f|0)<0)<<31>>31;if(b>>>0<10){do{l=o2a(f|0,h|0,10,0)|0;b=y;e=p2a(e|0,((e|0)<0)<<31>>31|0,-48,-1)|0;f=p2a(e|0,y|0,l|0,b|0)|0;h=y;e=c[i>>2]|0;if(e>>>0<(c[j>>2]|0)>>>0){c[i>>2]=e+1;e=d[e>>0]|0}else e=GOa(a)|0;b=e+-48|0}while(b>>>0<10&((h|0)<21474836|(h|0)==21474836&f>>>0<2061584302));if(b>>>0<10){do{e=c[i>>2]|0;if(e>>>0<(c[j>>2]|0)>>>0){c[i>>2]=e+1;e=d[e>>0]|0}else e=GOa(a)|0}while((e+-48|0)>>>0<10);e=h}else e=h}else e=h;if(c[j>>2]|0)c[i>>2]=(c[i>>2]|0)+-1;l=(g|0)==0;j=q2a(0,0,f|0,e|0)|0;f=l?f:j;e=l?e:y}if((k|0)==14)if(!(c[j>>2]|0)){f=0;e=-2147483648}else{c[i>>2]=(c[i>>2]|0)+-1;f=0;e=-2147483648}y=e;return f|0}function DPa(a,b){a=+a;b=b|0;var d=0,e=0;if((b|0)<=1023){if((b|0)<-1022){a=a*2.2250738585072014e-308;e=(b|0)<-2044;d=b+2044|0;a=e?a*2.2250738585072014e-308:a;b=e?((d|0)>-1022?d:-1022):b+1022|0}}else{a=a*8988465674311579538646525.0e283;d=(b|0)>2046;e=b+-2046|0;a=d?a*8988465674311579538646525.0e283:a;b=d?((e|0)<1023?e:1023):b+-1023|0}d=v2a(b+1023|0,0,52)|0;e=y;c[j>>2]=d;c[j+4>>2]=e;return +(a*+h[j>>3])}function EPa(a,b){a=+a;b=+b;return +(+yOa(a,b))}function FPa(a,b){a=+a;b=+b;return +(+HPa(a,b))}function GPa(a,b){a=+a;b=b|0;return +(+DPa(a,b))}function HPa(a,b){a=+a;b=+b;var d=0,e=0,f=0,g=0,i=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;h[j>>3]=a;i=c[j>>2]|0;l=c[j+4>>2]|0;h[j>>3]=b;n=c[j>>2]|0;o=c[j+4>>2]|0;e=u2a(i|0,l|0,52)|0;e=e&2047;m=u2a(n|0,o|0,52)|0;m=m&2047;p=l&-2147483648;g=v2a(n|0,o|0,1)|0;k=y;a:do if(!((g|0)==0&(k|0)==0)?(f=IPa(b)|0,d=y&2147483647,!((e|0)==2047|(d>>>0>2146435072|(d|0)==2146435072&f>>>0>0))):0){d=v2a(i|0,l|0,1)|0;f=y;if(!(f>>>0>k>>>0|(f|0)==(k|0)&d>>>0>g>>>0))return +((d|0)==(g|0)&(f|0)==(k|0)?a*0.0:a);if(!e){d=v2a(i|0,l|0,12)|0;f=y;if((f|0)>-1|(f|0)==-1&d>>>0>4294967295){e=0;do{e=e+-1|0;d=v2a(d|0,f|0,1)|0;f=y}while((f|0)>-1|(f|0)==-1&d>>>0>4294967295)}else e=0;i=v2a(i|0,l|0,1-e|0)|0;g=y}else g=l&1048575|1048576;if(!m){f=v2a(n|0,o|0,12)|0;k=y;if((k|0)>-1|(k|0)==-1&f>>>0>4294967295){d=0;do{d=d+-1|0;f=v2a(f|0,k|0,1)|0;k=y}while((k|0)>-1|(k|0)==-1&f>>>0>4294967295)}else d=0;n=v2a(n|0,o|0,1-d|0)|0;m=d;l=y}else l=o&1048575|1048576;f=q2a(i|0,g|0,n|0,l|0)|0;d=y;k=(d|0)>-1|(d|0)==-1&f>>>0>4294967295;b:do if((e|0)>(m|0)){while(1){if(k){if((f|0)==0&(d|0)==0)break}else{f=i;d=g}i=v2a(f|0,d|0,1)|0;g=y;e=e+-1|0;f=q2a(i|0,g|0,n|0,l|0)|0;d=y;k=(d|0)>-1|(d|0)==-1&f>>>0>4294967295;if((e|0)<=(m|0))break b}b=a*0.0;break a}while(0);if(k){if((f|0)==0&(d|0)==0){b=a*0.0;break}}else{d=g;f=i}if(d>>>0<1048576|(d|0)==1048576&f>>>0<0)do{f=v2a(f|0,d|0,1)|0;d=y;e=e+-1|0}while(d>>>0<1048576|(d|0)==1048576&f>>>0<0);if((e|0)>0){o=p2a(f|0,d|0,0,-1048576)|0;d=y;e=v2a(e|0,0,52)|0;d=d|y;e=o|e}else{e=u2a(f|0,d|0,1-e|0)|0;d=y}c[j>>2]=e;c[j+4>>2]=d|p;b=+h[j>>3]}else q=3;while(0);if((q|0)==3){b=a*b;b=b/b}return +b}function IPa(a){a=+a;var b=0;h[j>>3]=a;b=c[j>>2]|0;y=c[j+4>>2]|0;return b|0}function JPa(a,b){a=a|0;b=b|0;return +(+yPa(a,b,1))}function KPa(a,b){a=a|0;b=b|0;return +(+yPa(a,b,2))}function LPa(a,b,c){a=a|0;b=b|0;c=c|0;return +(+xPa(a,b))}function MPa(a,b,c){a=a|0;b=b|0;c=c|0;return +(+JPa(a,b))}function NPa(a,b,c){a=a|0;b=b|0;c=c|0;return +(+KPa(a,b))}function OPa(a){a=a|0;return +(+JPa(a,0))}function PPa(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;h=l;l=l+48|0;g=h+32|0;f=h+16|0;e=h;if(!(b&4194368))e=0;else{c[e>>2]=d;i=(c[e>>2]|0)+(4-1)&~(4-1);d=c[i>>2]|0;c[e>>2]=i+4;e=d}c[f>>2]=a;c[f+4>>2]=b|32768;c[f+8>>2]=e;e=xb(5,f|0)|0;if(!((b&524288|0)==0|(e|0)<0)){c[g>>2]=e;c[g+4>>2]=2;c[g+8>>2]=1;ub(221,g|0)|0}i=PNa(e)|0;l=h;return i|0}function QPa(a,b){a=a|0;b=b|0;var d=0,e=0;d=l;l=l+16|0;e=d;c[e>>2]=a;c[e+4>>2]=b;b=PNa(wb(39,e|0)|0)|0;l=d;return b|0}function RPa(a,b){a=a|0;b=b|0;var d=0,e=0;d=l;l=l+16|0;e=d;c[e>>2]=a;c[e+4>>2]=b;b=PNa(rb(195,e|0)|0)|0;l=d;return b|0}function SPa(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=l;l=l+16|0;f=e;c[f>>2]=d;d=WOa(a,b,f)|0;l=e;return d|0}function TPa(a){a=a|0;var b=0,e=0,f=0;if((c[a+76>>2]|0)>=0?(YOa(a)|0)!=0:0){b=a+4|0;e=c[b>>2]|0;if(e>>>0<(c[a+8>>2]|0)>>>0){c[b>>2]=e+1;b=d[e>>0]|0}else b=IOa(a)|0}else f=3;do if((f|0)==3){b=a+4|0;e=c[b>>2]|0;if(e>>>0<(c[a+8>>2]|0)>>>0){c[b>>2]=e+1;b=d[e>>0]|0;break}else{b=IOa(a)|0;break}}while(0);return b|0}function UPa(a){a=a|0;var b=0,d=0;b=l;l=l+16|0;d=b;c[d>>2]=RNa(a)|0;a=zb(6,d|0)|0;a=PNa((a|0)==-4?0:a)|0;l=b;return a|0}function VPa(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;f=l;l=l+16|0;g=f;c[g>>2]=e;e=VOa(a,b,d,g)|0;l=f;return e|0}function WPa(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0;h=c[e>>2]|0;if((g|0)!=0?(i=c[g>>2]|0,(i|0)!=0):0)if(!b){j=h;g=f;l=26}else{c[g>>2]=0;k=f;j=h;l=48}else l=5;a:do if((l|0)==5){g=(b|0)!=0;if(c[c[(XPa()|0)+188>>2]>>2]|0)if(g){g=f;l=33;break}else{g=f;l=15;break}if(!g){f=VNa(h)|0;l=63;break}b:do if(f){g=f;while(1){i=a[h>>0]|0;if(!(i<<24>>24))break;h=h+1|0;c[b>>2]=i<<24>>24&57343;g=g+-1|0;if(!g)break b;else b=b+4|0}c[b>>2]=0;c[e>>2]=0;f=f-g|0;l=63;break a}while(0);c[e>>2]=h;l=63}while(0);c:while(1){d:do if((l|0)==15){while(1){i=a[h>>0]|0;if(((i&255)+-1|0)>>>0<127?(h&3|0)==0:0){l=c[h>>2]|0;i=l&255;if(!((l+-16843009|l)&-2139062144)){do{h=h+4|0;g=g+-4|0;i=c[h>>2]|0}while(!((i+-16843009|i)&-2139062144|0));i=i&255}}i=i&255;if((i+-1|0)>>>0>=127)break;g=g+-1|0;h=h+1|0}i=i+-194|0;if(i>>>0>50)l=57;else{i=c[32560+(i<<2)>>2]|0;j=h+1|0;l=26;continue c}}else if((l|0)==26){l=(d[j>>0]|0)>>>3;if((l+-16|l+(i>>26))>>>0>7){h=j;l=56}else{h=j+1|0;if(i&33554432){if((a[h>>0]&-64)<<24>>24!=-128){h=j;l=56;break}h=j+2|0;if(i&524288){if((a[h>>0]&-64)<<24>>24!=-128){h=j;l=56;break}h=j+3|0}}g=g+-1|0;l=15;continue c}}else if((l|0)==33){l=0;e:do if(g){while(1){i=d[h>>0]|0;j=i+-1|0;if(j>>>0<127){if((h&3|0)==0&g>>>0>4){while(1){i=c[h>>2]|0;if((i+-16843009|i)&-2139062144|0){l=42;break}c[b>>2]=i&255;c[b+4>>2]=d[h+1>>0];c[b+8>>2]=d[h+2>>0];j=h+4|0;i=b+16|0;c[b+12>>2]=d[h+3>>0];g=g+-4|0;if(g>>>0>4){b=i;h=j}else{l=41;break}}if((l|0)==41){b=i;h=j;i=a[j>>0]|0}else if((l|0)==42)i=i&255;i=i&255;j=i+-1|0;l=44}}else l=44;if((l|0)==44){l=0;if(j>>>0>=127)break}h=h+1|0;c[b>>2]=i;g=g+-1|0;if(!g)break e;else b=b+4|0}i=i+-194|0;if(i>>>0>50){l=57;break d}i=c[32560+(i<<2)>>2]|0;k=g;j=h+1|0;l=48;continue c}while(0);c[e>>2]=h;l=63;continue c}else if((l|0)==48){l=0;g=d[j>>0]|0;h=g>>>3;if((h+-16|h+(i>>26))>>>0>7){h=j;g=k;l=56}else{h=j+1|0;g=g+-128|i<<6;do if((g|0)<0){i=(d[h>>0]|0)+-128|0;if(i>>>0<=63){h=j+2|0;g=i|g<<6;if((g|0)>=0)break;i=(d[h>>0]|0)+-128|0;if(i>>>0<=63){h=j+3|0;g=i|g<<6;break}}c[(QNa()|0)>>2]=84;h=j+-1|0;break d}while(0);c[b>>2]=g;b=b+4|0;g=k+-1|0;l=33;continue c}}else if((l|0)==63)return f|0;while(0);if((l|0)==56){h=h+-1|0;if(!i)l=57;else{f=b;l=61}}if((l|0)==57)if(!(a[h>>0]|0)){if(b|0){c[b>>2]=0;c[e>>2]=0}f=f-g|0;l=63;continue}else{f=b;l=61}if((l|0)==61){c[(QNa()|0)>>2]=84;if(!f){f=-1;l=63;continue}}c[e>>2]=h;f=-1;l=63}return 0}function XPa(){return wOa()|0}function YPa(a,b){a=a|0;b=b|0;var d=0,e=0;d=l;l=l+16|0;e=d;c[e>>2]=a;c[e+4>>2]=b;b=PNa(Bb(91,e|0)|0)|0;l=d;return b|0}function ZPa(){return}function _Pa(a){a=a|0;var b=0,d=0;b=($Pa()|0)+188|0;d=c[b>>2]|0;if(a|0)c[b>>2]=(a|0)==(-1|0)?229468:a;return ((d|0)==229468?-1:d)|0}function $Pa(){return wOa()|0}function aQa(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return d|0}function bQa(a,b){a=a|0;b=b|0;return -1|0}function cQa(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0;p=l;l=l+272|0;n=p;o=p+256|0;do if(!(a[d>>0]|0)){d=Jh(213078)|0;if(d|0?a[d>>0]|0:0)break;d=Jh(39296+(b*12|0)|0)|0;if(d|0?a[d>>0]|0:0)break;d=Jh(213085)|0;if(d|0?a[d>>0]|0:0)break;d=213090}while(0);e=0;a:while(1){switch(a[d+e>>0]|0){case 47:case 0:break a;default:{}}e=e+1|0;if(e>>>0>=15){e=15;break}}f=a[d>>0]|0;if(f<<24>>24!=46?(a[d+e>>0]|0)==0:0)if(f<<24>>24==67)m=15;else{k=d;m=16}else{d=213090;m=15}if((m|0)==15)if(!(a[d+1>>0]|0))m=18;else{k=d;m=16}b:do if((m|0)==16)if((eOa(k,213090)|0)!=0?(eOa(k,213098)|0)!=0:0){d=c[57374]|0;if(d|0)do{if(!(eOa(k,d+8|0)|0))break b;d=c[d+24>>2]|0}while((d|0)!=0);kb(229500);d=c[57374]|0;c:do if(d|0){while(1){if(!(eOa(k,d+8|0)|0))break;d=c[d+24>>2]|0;if(!d)break c}Cb(229500);break b}while(0);d:do if(((c[57359]|0)==0?(g=Jh(213104)|0,(g|0)!=0):0)?(a[g>>0]|0)!=0:0){i=254-e|0;j=e+1|0;f=g;while(1){h=YNa(f,58)|0;d=a[h>>0]|0;g=h-f+((d<<24>>24!=0)<<31>>31)|0;if(g>>>0<i>>>0){x2a(n|0,f|0,g|0)|0;f=n+g|0;a[f>>0]=47;x2a(f+1|0,k|0,e|0)|0;a[n+(j+g)>>0]=0;f=lb(n|0,o|0)|0;if(f|0)break;d=a[h>>0]|0}f=h+(d<<24>>24!=0&1)|0;if(!(a[f>>0]|0)){m=41;break d}}d=GNa(28)|0;if(!d){YPa(f,c[o>>2]|0)|0;m=41;break}else{c[d>>2]=f;c[d+4>>2]=c[o>>2];o=d+8|0;x2a(o|0,k|0,e|0)|0;a[o+e>>0]=0;c[d+24>>2]=c[57374];c[57374]=d;break}}else m=41;while(0);if((m|0)==41){d=GNa(28)|0;if(d){c[d>>2]=c[26674];c[d+4>>2]=c[26675];o=d+8|0;x2a(o|0,k|0,e|0)|0;a[o+e>>0]=0;c[d+24>>2]=c[57374];c[57374]=d}}Cb(229500);d=(b|0)==0&(d|0)==0?106696:d}else{d=k;m=18}while(0);do if((m|0)==18){if((b|0)==0?(a[d+1>>0]|0)==46:0){d=106696;break}d=0}while(0);l=p;return d|0}function dQa(a){a=a|0;if(eQa(a)|0)HNa(a);return}function eQa(a){a=a|0;return (a|0)!=106724&((a|0)!=0&(a|0)!=229404)&1|0}function fQa(a,b){a=a|0;b=b|0;return NOa(a)|0}function gQa(a){a=a|0;return 0}function hQa(a,b){a=a|0;b=b|0;return xOa(a)|0}function iQa(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;j=l;l=l+32|0;i=j;a:do if(!(eQa(d)|0)){h=(d|0)!=0;f=0;g=0;do{e=1<<g&a;if(h&(e|0)==0)e=c[d+(g<<2)>>2]|0;else e=cQa(g,(e|0)==0?231036:b)|0;f=f+((e|0)!=0&1)|0;c[i+(g<<2)>>2]=e;g=g+1|0}while((g|0)!=6);switch(f&2147483647|0){case 0:{d=229404;break a}case 1:{if((c[i>>2]|0)==106696){d=106724;break a}break}default:{}}}else{e=0;do{if(1<<e&a|0)c[d+(e<<2)>>2]=cQa(e,b)|0;e=e+1|0}while((e|0)!=6)}while(0);l=j;return d|0}function jQa(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0;m=l;l=l+16|0;h=m;j=(g|0)==0?229508:g;g=c[j>>2]|0;a:do if(!e)if(!g)g=0;else k=19;else{i=(b|0)==0?h:b;if(!f)g=-2;else{if(!g){g=a[e>>0]|0;if(g<<24>>24>-1){c[i>>2]=g&255;g=g<<24>>24!=0&1;break}h=(c[c[(kQa()|0)+188>>2]>>2]|0)==0;g=a[e>>0]|0;if(h){c[i>>2]=g<<24>>24&57343;g=1;break}g=(g&255)+-194|0;if(g>>>0>50){k=19;break}g=c[32560+(g<<2)>>2]|0;h=f+-1|0;if(h){e=e+1|0;k=11}}else{h=f;k=11}b:do if((k|0)==11){b=d[e>>0]|0;n=b>>>3;if((n+-16|n+(g>>26))>>>0>7){k=19;break a}g=b+-128|g<<6;b=h+-1|0;if((g|0)<0)do{e=e+1|0;if(!b)break b;h=a[e>>0]|0;if((h&-64)<<24>>24!=-128){k=19;break a}g=(h&255)+-128|g<<6;b=b+-1|0}while((g|0)<0);c[j>>2]=0;c[i>>2]=g;g=f-b|0;break a}while(0);c[j>>2]=g;g=-2}}while(0);if((k|0)==19){c[j>>2]=0;c[(QNa()|0)>>2]=84;g=-1}l=m;return g|0}function kQa(){return wOa()|0}function lQa(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=l;l=l+48|0;f=g+40|0;e=g;d=g+32|0;c[d>>2]=a;c[d+4>>2]=b;d=sb(197,d|0)|0;if((d|0)==-9?(c[e>>2]=a,c[e+4>>2]=1,(ub(221,e|0)|0)>=0):0){mQa(e,a);c[f>>2]=e;c[f+4>>2]=b;b=PNa(rb(195,f|0)|0)|0}else b=PNa(d)|0;l=g;return b|0}function mQa(b,c){b=b|0;c=c|0;var d=0,e=0,f=0;d=b;e=213117;f=d+15|0;do{a[d>>0]=a[e>>0]|0;d=d+1|0;e=e+1|0}while((d|0)<(f|0));if(!c){a[b+14>>0]=48;a[b+15>>0]=0}else{e=c;d=14;while(1){d=d+1|0;if(e>>>0<10)break;else e=(e>>>0)/10|0}a[b+d>>0]=0;do{f=c;c=(c>>>0)/10|0;d=d+-1|0;a[b+d>>0]=f-(c*10|0)|48}while(f>>>0>=10)}return}function nQa(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0;j=l;l=l+16|0;g=j;a:do if(!e)b=0;else{do if(f|0){i=(b|0)==0?g:b;b=a[e>>0]|0;if(b<<24>>24>-1){c[i>>2]=b&255;b=b<<24>>24!=0&1;break a}h=(c[c[(oQa()|0)+188>>2]>>2]|0)==0;b=a[e>>0]|0;if(h){c[i>>2]=b<<24>>24&57343;b=1;break a}b=(b&255)+-194|0;if(b>>>0<=50){g=e+1|0;h=c[32560+(b<<2)>>2]|0;if(f>>>0<4?h&-2147483648>>>((f*6|0)+-6|0)|0:0)break;b=d[g>>0]|0;f=b>>>3;if((f+-16|f+(h>>26))>>>0<=7){b=b+-128|h<<6;if((b|0)>=0){c[i>>2]=b;b=2;break a}g=(d[e+2>>0]|0)+-128|0;if(g>>>0<=63){g=g|b<<6;if((g|0)>=0){c[i>>2]=g;b=3;break a}b=(d[e+3>>0]|0)+-128|0;if(b>>>0<=63){c[i>>2]=b|g<<6;b=4;break a}}}}}while(0);c[(QNa()|0)>>2]=84;b=-1}while(0);l=j;return b|0}function oQa(){return wOa()|0}function pQa(a,b,c){a=a|0;b=b|0;c=c|0;return jQa(0,a,b,(c|0)==0?229512:c)|0}function qQa(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0;m=l;l=l+272|0;i=m;j=m+256|0;f=c[b>>2]|0;c[j>>2]=f;k=(a|0)!=0;g=k?e:256;h=k?a:i;e=f;a:do if((g|0)!=0&(f|0)!=0){f=0;a=e;while(1){e=d>>>0>=g>>>0;if(!(e|d>>>0>32)){e=a;break a}e=e?g:d;d=d-e|0;e=rQa(h,j,e,0)|0;if((e|0)==-1)break;a=(h|0)==(i|0);g=g-(a?0:e)|0;h=a?h:h+e|0;f=e+f|0;e=c[j>>2]|0;if((g|0)!=0&(e|0)!=0)a=e;else break a}f=-1;g=0;e=c[j>>2]|0}else f=0;while(0);b:do if((e|0)!=0?(g|0)!=0&(d|0)!=0:0){while(1){a=kPa(h,c[e>>2]|0,0)|0;if((a+1|0)>>>0<2)break;e=(c[j>>2]|0)+4|0;c[j>>2]=e;d=d+-1|0;g=g-a|0;f=a+f|0;if(!((g|0)!=0&(d|0)!=0))break b;else h=h+a|0}if(!a)c[j>>2]=0;else f=-1}while(0);if(k)c[b>>2]=c[j>>2];l=m;return f|0}function rQa(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0;j=l;l=l+16|0;i=j;a:do if(!b){e=c[d>>2]|0;f=c[e>>2]|0;if(!f)e=0;else{b=e;e=0;do{if(f>>>0>127){f=kPa(i,f,0)|0;if((f|0)==-1){e=-1;break a}}else f=1;e=f+e|0;b=b+4|0;f=c[b>>2]|0}while((f|0)!=0)}}else{b:do if(e>>>0>3){f=e;g=c[d>>2]|0;while(1){h=c[g>>2]|0;if((h+-1|0)>>>0>126){if(!h)break;h=kPa(b,h,0)|0;if((h|0)==-1){e=-1;break a}b=b+h|0;f=f-h|0}else{a[b>>0]=h;b=b+1|0;f=f+-1|0;g=c[d>>2]|0}g=g+4|0;c[d>>2]=g;if(f>>>0<=3)break b}a[b>>0]=0;c[d>>2]=0;e=e-f|0;break a}else f=e;while(0);if(f){g=c[d>>2]|0;while(1){h=c[g>>2]|0;if((h+-1|0)>>>0>126){if(!h){g=20;break}h=kPa(i,h,0)|0;if((h|0)==-1){e=-1;break a}if(f>>>0<h>>>0){g=23;break}kPa(b,c[g>>2]|0,0)|0;b=b+h|0;f=f-h|0}else{a[b>>0]=h;b=b+1|0;f=f+-1|0;g=c[d>>2]|0}g=g+4|0;c[d>>2]=g;if(!f)break a}if((g|0)==20){a[b>>0]=0;c[d>>2]=0;e=e-f|0;break}else if((g|0)==23){e=e-f|0;break}}}while(0);l=j;return e|0}function sQa(a){a=a|0;if(!a)a=1;else a=(c[a>>2]|0)==0&1;return a|0}function tQa(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0;o=l;l=l+1040|0;k=o;m=o+1024|0;j=c[b>>2]|0;c[m>>2]=j;n=(a|0)!=0;h=n?e:256;i=n?a:k;g=j;a:do if((h|0)!=0&(j|0)!=0){e=0;j=i;while(1){a=d>>>2;i=a>>>0>=h>>>0;if(!(d>>>0>131|i)){i=j;break a}a=i?h:a;d=d-a|0;a=WPa(j,m,a,f)|0;if((a|0)==-1)break;i=(j|0)==(k|0);h=h-(i?0:a)|0;i=i?j:j+(a<<2)|0;e=a+e|0;g=c[m>>2]|0;if((h|0)!=0&(g|0)!=0)j=i;else break a}e=-1;i=j;h=0;g=c[m>>2]|0}else e=0;while(0);b:do if((g|0)!=0?(h|0)!=0&(d|0)!=0:0){while(1){a=jQa(i,g,d,f)|0;if((a+2|0)>>>0<3)break;g=(c[m>>2]|0)+a|0;c[m>>2]=g;d=d-a|0;h=h+-1|0;e=e+1|0;if(!((h|0)!=0&(d|0)!=0))break b;else i=i+4|0}switch(a|0){case -1:{e=a;break b}case 0:{c[m>>2]=0;break b}default:{c[f>>2]=0;break b}}}while(0);if(n)c[b>>2]=c[m>>2];l=o;return e|0}function uQa(a){a=a|0;var b=0,d=0,e=0;e=l;l=l+16|0;d=e+8|0;b=PPa(a,589824,e)|0;do if((b|0)>=0){a=INa(1,2072)|0;if(!a){c[d>>2]=b;zb(6,d|0)|0;a=0;break}else{c[a>>2]=b;break}}else a=0;while(0);l=e;return a|0}function vQa(a){a=a|0;var b=0;b=UPa(c[a>>2]|0)|0;HNa(a);return b|0}function wQa(a){a=a|0;var b=0,d=0,f=0,g=0,h=0,i=0,j=0;j=l;l=l+16|0;f=j;h=a+8|0;d=c[h>>2]|0;g=a+12|0;a:do if((d|0)<(c[g>>2]|0)){b=a+24+d|0;i=7}else{b=a+24|0;c[f>>2]=c[a>>2];c[f+4>>2]=b;c[f+8>>2]=2048;d=tb(220,f|0)|0;if((d|0)>=1){c[g>>2]=d;c[h>>2]=0;d=0;i=7;break}switch(d|0){case 0:case -2:{b=0;break a}default:{}}c[(QNa()|0)>>2]=0-d;b=0}while(0);if((i|0)==7){c[h>>2]=d+(e[b+8>>1]|0);c[a+4>>2]=c[b+4>>2]}l=j;return b|0}function xQa(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0;m=l;l=l+16|0;j=m;k=e&255;a[j>>0]=k;g=b+16|0;h=c[g>>2]|0;if(!h)if(!(nPa(b)|0)){h=c[g>>2]|0;i=4}else f=-1;else i=4;do if((i|0)==4){i=b+20|0;g=c[i>>2]|0;if(g>>>0<h>>>0?(f=e&255,(f|0)!=(a[b+75>>0]|0)):0){c[i>>2]=g+1;a[g>>0]=k;break}if((lk[c[b+36>>2]&127](b,j,1)|0)==1)f=d[j>>0]|0;else f=-1}while(0);l=m;return f|0}function yQa(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0;k=N(e,d)|0;e=(d|0)==0?0:e;if((c[f+76>>2]|0)>-1)j=YOa(f)|0;else j=0;g=f+74|0;h=a[g>>0]|0;a[g>>0]=h+255|h;g=f+4|0;h=c[g>>2]|0;i=(c[f+8>>2]|0)-h|0;if((i|0)>0){i=i>>>0<k>>>0?i:k;x2a(b|0,h|0,i|0)|0;c[g>>2]=(c[g>>2]|0)+i;g=k-i|0;b=b+i|0}else g=k;a:do if(!g)l=13;else{i=f+32|0;while(1){if(JOa(f)|0)break;h=lk[c[i>>2]&127](f,b,g)|0;if((h+1|0)>>>0<2)break;g=g-h|0;if(!g){l=13;break a}else b=b+h|0}if(j|0)ZOa(f);e=((k-g|0)>>>0)/(d>>>0)|0}while(0);if((l|0)==13)if(j)ZOa(f);return e|0}function zQa(e,f,i){e=e|0;f=f|0;i=i|0;var j=0,k=0,m=0,n=0,o=0,p=0,q=0.0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0;O=l;l=l+288|0;I=O+264|0;J=O;K=O+260|0;L=O+272|0;if((c[e+76>>2]|0)>-1)N=YOa(e)|0;else N=0;j=a[f>>0]|0;a:do if(j<<24>>24){A=e+4|0;B=e+100|0;C=e+108|0;D=e+8|0;E=J+10|0;F=J+33|0;G=J+46|0;H=J+94|0;z=I+4|0;n=f;v=0;f=0;k=0;m=j;j=0;b:while(1){c:do if(!(HOa(m&255)|0)){o=(a[n>>0]|0)==37;d:do if(o){m=n+1|0;p=a[m>>0]|0;e:do switch(p<<24>>24){case 37:break d;case 42:{x=0;m=n+2|0;break}default:{if(xOa(p&255)|0?(a[n+2>>0]|0)==36:0){x=AQa(i,(d[m>>0]|0)+-48|0)|0;m=n+3|0;break e}w=(c[i>>2]|0)+(4-1)&~(4-1);x=c[w>>2]|0;c[i>>2]=w+4}}while(0);if(!(xOa(d[m>>0]|0)|0)){t=0;p=m}else{n=0;do{n=(n*10|0)+-48+(d[m>>0]|0)|0;m=m+1|0}while((xOa(d[m>>0]|0)|0)!=0);t=n;p=m}o=a[p>>0]|0;r=p+1|0;if(o<<24>>24==109){m=(x|0)!=0&1;k=0;n=r;p=p+2|0;o=a[r>>0]|0;j=0}else{m=0;n=p;p=r}switch(o<<24>>24){case 104:{w=(a[p>>0]|0)==104;o=w?-2:-1;n=w?n+2|0:p;break}case 108:{w=(a[p>>0]|0)==108;o=w?3:1;n=w?n+2|0:p;break}case 106:{o=3;n=p;break}case 116:case 122:{o=1;n=p;break}case 76:{o=2;n=p;break}case 110:case 112:case 67:case 83:case 91:case 99:case 115:case 88:case 71:case 70:case 69:case 65:case 103:case 102:case 101:case 97:case 120:case 117:case 111:case 105:case 100:{o=0;break}default:{M=143;break b}}s=d[n>>0]|0;u=(s&47|0)==3;s=u?s|32:s;u=u?1:o;r=s&255;switch(r<<24>>24){case 99:{t=(t|0)>1?t:1;break}case 91:break;case 110:{BQa(x,u,v,((v|0)<0)<<31>>31);o=v;break c}default:{EOa(e,0);do{o=c[A>>2]|0;if(o>>>0<(c[B>>2]|0)>>>0){c[A>>2]=o+1;o=d[o>>0]|0}else o=GOa(e)|0}while((HOa(o)|0)!=0);if(!(c[B>>2]|0))o=c[A>>2]|0;else{o=(c[A>>2]|0)+-1|0;c[A>>2]=o}v=(c[C>>2]|0)+v+o-(c[D>>2]|0)|0}}EOa(e,t);p=c[A>>2]|0;o=c[B>>2]|0;if(p>>>0<o>>>0)c[A>>2]=p+1;else{if((GOa(e)|0)<0){M=143;break b}o=c[B>>2]|0}if(o|0)c[A>>2]=(c[A>>2]|0)+-1;f:do switch(r<<24>>24){case 91:case 99:case 115:{w=(s|0)==99;g:do if((s|16|0)==115){z2a(J|0,-1,257)|0;a[J>>0]=0;if((s|0)==115){a[F>>0]=0;b[E>>1]=0;b[E+2>>1]=0;a[E+4>>0]=0}}else{s=n+1|0;r=(a[s>>0]|0)==94;o=r&1;n=r?n+2|0:s;z2a(J|0,o|0,257)|0;a[J>>0]=0;switch(a[n>>0]|0){case 45:{r=(o^1)&255;a[G>>0]=r;n=n+1|0;break}case 93:{r=(o^1)&255;a[H>>0]=r;n=n+1|0;break}default:r=(o^1)&255}while(1){o=a[n>>0]|0;h:do switch(o<<24>>24){case 0:{M=143;break b}case 93:break g;case 45:{p=n+1|0;o=a[p>>0]|0;switch(o<<24>>24){case 93:case 0:{o=45;break h}default:{}}n=a[n+-1>>0]|0;if((n&255)<(o&255)){n=n&255;do{n=n+1|0;a[J+n>>0]=r;o=a[p>>0]|0}while(n>>>0<(o&255)>>>0);n=p}else n=p;break}default:{}}while(0);a[J+((o&255)+1)>>0]=r;n=n+1|0}}while(0);o=w?t+1|0:31;s=(u|0)==1;u=(m|0)!=0;i:do if(s){if(u){j=GNa(o<<2)|0;if(!j){k=0;j=0;M=143;break b}}else j=x;c[I>>2]=0;c[z>>2]=0;k=0;j:while(1){r=(j|0)==0;do{k:while(1){p=c[A>>2]|0;if(p>>>0<(c[B>>2]|0)>>>0){c[A>>2]=p+1;p=d[p>>0]|0}else p=GOa(e)|0;if(!(a[J+(p+1)>>0]|0))break j;a[L>>0]=p;switch(jQa(K,L,1,I)|0){case -1:{k=0;M=143;break b}case -2:break;default:break k}}if(!r){c[j+(k<<2)>>2]=c[K>>2];k=k+1|0}}while(!(u&(k|0)==(o|0)));o=o<<1|1;p=JNa(j,o<<2)|0;if(!p){k=0;M=143;break b}else j=p}if(!(sQa(I)|0)){k=0;M=143;break b}else{r=k;k=0;p=j}}else{if(u){k=GNa(o)|0;if(!k){k=0;j=0;M=143;break b}j=0;while(1){r=j;do{j=c[A>>2]|0;if(j>>>0<(c[B>>2]|0)>>>0){c[A>>2]=j+1;j=d[j>>0]|0}else j=GOa(e)|0;if(!(a[J+(j+1)>>0]|0)){p=0;j=0;break i}p=r;r=r+1|0;a[k+p>>0]=j}while((r|0)!=(o|0));o=o<<1|1;p=JNa(k,o)|0;if(!p){j=0;M=143;break b}else{j=r;k=p}}}if(!x)while(1){j=c[A>>2]|0;if(j>>>0<(c[B>>2]|0)>>>0){c[A>>2]=j+1;j=d[j>>0]|0}else j=GOa(e)|0;if(!(a[J+(j+1)>>0]|0)){r=0;k=0;p=0;j=0;break i}}k=0;while(1){j=c[A>>2]|0;if(j>>>0<(c[B>>2]|0)>>>0){c[A>>2]=j+1;j=d[j>>0]|0}else j=GOa(e)|0;if(!(a[J+(j+1)>>0]|0)){r=k;k=x;p=0;j=0;break i}a[x+k>>0]=j;k=k+1|0}}while(0);if(!(c[B>>2]|0))o=c[A>>2]|0;else{o=(c[A>>2]|0)+-1|0;c[A>>2]=o}o=o-(c[D>>2]|0)+(c[C>>2]|0)|0;if(!o)break b;if(!((o|0)==(t|0)|w^1))break b;do if(u)if(s){c[x>>2]=p;break}else{c[x>>2]=k;break}while(0);if(!w){if(p|0)c[p+(r<<2)>>2]=0;if(!k){k=0;break f}a[k+r>>0]=0}break}case 120:case 88:case 112:{o=16;M=131;break}case 111:{o=8;M=131;break}case 117:case 100:{o=10;M=131;break}case 105:{o=0;M=131;break}case 71:case 103:case 70:case 102:case 69:case 101:case 65:case 97:{q=+zPa(e,u,0);if((c[C>>2]|0)==((c[D>>2]|0)-(c[A>>2]|0)|0))break b;if(x)switch(u|0){case 0:{g[x>>2]=q;break f}case 1:{h[x>>3]=q;break f}case 2:{h[x>>3]=q;break f}default:break f}break}default:{}}while(0);do if((M|0)==131){M=0;o=FOa(e,o,0,-1,-1)|0;if((c[C>>2]|0)==((c[D>>2]|0)-(c[A>>2]|0)|0))break b;if((x|0)!=0&(s|0)==112){c[x>>2]=o;break}else{BQa(x,u,o,y);break}}while(0);f=f+((x|0)!=0&1)|0;o=(c[C>>2]|0)+v+(c[A>>2]|0)-(c[D>>2]|0)|0;break c}while(0);n=n+(o&1)|0;EOa(e,0);m=c[A>>2]|0;if(m>>>0<(c[B>>2]|0)>>>0){c[A>>2]=m+1;m=d[m>>0]|0}else m=GOa(e)|0;if((m|0)!=(d[n>>0]|0)){M=23;break b}o=v+1|0}else{while(1){m=n+1|0;if(!(HOa(d[m>>0]|0)|0))break;else n=m}EOa(e,0);do{m=c[A>>2]|0;if(m>>>0<(c[B>>2]|0)>>>0){c[A>>2]=m+1;m=d[m>>0]|0}else m=GOa(e)|0}while((HOa(m)|0)!=0);if(!(c[B>>2]|0))m=c[A>>2]|0;else{m=(c[A>>2]|0)+-1|0;c[A>>2]=m}o=(c[C>>2]|0)+v+m-(c[D>>2]|0)|0}while(0);n=n+1|0;m=a[n>>0]|0;if(!(m<<24>>24))break a;else v=o}if((M|0)==23){if(c[B>>2]|0)c[A>>2]=(c[A>>2]|0)+-1;if((f|0)!=0|(m|0)>-1)break;else{m=0;f=k;M=144}}else if((M|0)==143)if(!f){f=k;M=144}if((M|0)==144){k=f;f=-1}if(m){HNa(k);HNa(j)}}else f=0;while(0);if(N|0)ZOa(e);l=O;return f|0}function AQa(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;e=l;l=l+16|0;d=e;c[d>>2]=c[a>>2];while(1){f=(c[d>>2]|0)+(4-1)&~(4-1);a=c[f>>2]|0;c[d>>2]=f+4;if(b>>>0>1)b=b+-1|0;else break}l=e;return a|0}function BQa(d,e,f,g){d=d|0;e=e|0;f=f|0;g=g|0;a:do if(d|0)switch(e|0){case -2:{a[d>>0]=f;break a}case -1:{b[d>>1]=f;break a}case 0:{c[d>>2]=f;break a}case 1:{c[d>>2]=f;break a}case 3:{e=d;c[e>>2]=f;c[e+4>>2]=g;break a}default:break a}while(0);return}function CQa(){kb(229516);return 229524}function DQa(){Cb(229516);return}function EQa(a){a=a|0;var b=0;if(c[a+68>>2]|0){b=c[a+116>>2]|0;a=a+112|0;if(b|0)c[b+112>>2]=c[a>>2];a=c[a>>2]|0;if(!a)a=(FQa()|0)+232|0;else a=a+116|0;c[a>>2]=b}return}function FQa(){return wOa()|0}function GQa(a){a=a|0;var b=0,d=0;b=CQa()|0;c[a+56>>2]=c[b>>2];d=c[b>>2]|0;if(d|0)c[d+52>>2]=a;c[b>>2]=a;DQa();return a|0}function HQa(b){b=b|0;var c=0,d=0,e=0;d=($Na(b,43)|0)==0;c=a[b>>0]|0;d=d?c<<24>>24!=114&1:2;e=($Na(b,120)|0)==0;d=e?d:d|128;b=($Na(b,101)|0)==0;b=b?d:d|524288;b=c<<24>>24==114?b:b|64;b=c<<24>>24==119?b|512:b;return (c<<24>>24==97?b|1024:b)|0}function IQa(a){a=a|0;var b=0,d=0;do if(a){if((c[a+76>>2]|0)<=-1){b=MQa(a)|0;break}d=(YOa(a)|0)==0;b=MQa(a)|0;if(!d)ZOa(a)}else{if(!(c[26783]|0))b=0;else b=IQa(c[26783]|0)|0;a=c[(CQa()|0)>>2]|0;if(a)do{if((c[a+76>>2]|0)>-1)d=YOa(a)|0;else d=0;if((c[a+20>>2]|0)>>>0>(c[a+28>>2]|0)>>>0)b=MQa(a)|0|b;if(d|0)ZOa(a);a=c[a+56>>2]|0}while((a|0)!=0);DQa()}while(0);return b|0}function JQa(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;i=l;l=l+48|0;h=i+32|0;g=i+16|0;e=i;if($Na(213132,a[d>>0]|0)|0){f=HQa(d)|0;c[e>>2]=b;c[e+4>>2]=f|32768;c[e+8>>2]=438;e=PNa(xb(5,e|0)|0)|0;if((e|0)>=0){if(f&524288|0){c[g>>2]=e;c[g+4>>2]=2;c[g+8>>2]=1;ub(221,g|0)|0}b=LQa(e,d)|0;if(!b){c[h>>2]=e;zb(6,h|0)|0;b=0}}else b=0}else{c[(QNa()|0)>>2]=22;b=0}l=i;return b|0}function KQa(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;if((c[a+76>>2]|0)>-1)f=YOa(a)|0;else f=0;EQa(a);g=(c[a>>2]&1|0)!=0;if(!g){e=CQa()|0;d=c[a+52>>2]|0;b=a+56|0;if(d|0)c[d+56>>2]=c[b>>2];b=c[b>>2]|0;if(b|0)c[b+52>>2]=d;if((c[e>>2]|0)==(a|0))c[e>>2]=b;DQa()}b=IQa(a)|0;b=gk[c[a+12>>2]&1023](a)|0|b;d=c[a+92>>2]|0;if(d|0)HNa(d);if(g){if(f|0)ZOa(a)}else HNa(a);return b|0}function LQa(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;k=l;l=l+64|0;j=k+40|0;h=k+24|0;g=k+16|0;f=k;i=k+56|0;if($Na(213132,a[d>>0]|0)|0){e=GNa(1156)|0;if(!e)e=0;else{z2a(e|0,0,124)|0;if(!($Na(d,43)|0))c[e>>2]=(a[d>>0]|0)==114?8:4;if($Na(d,101)|0){c[f>>2]=b;c[f+4>>2]=2;c[f+8>>2]=1;ub(221,f|0)|0}if((a[d>>0]|0)==97){c[g>>2]=b;c[g+4>>2]=3;d=ub(221,g|0)|0;if(!(d&1024)){c[h>>2]=b;c[h+4>>2]=4;c[h+8>>2]=d|1024;ub(221,h|0)|0}f=c[e>>2]|128;c[e>>2]=f}else f=c[e>>2]|0;c[e+60>>2]=b;c[e+44>>2]=e+132;c[e+48>>2]=1024;d=e+75|0;a[d>>0]=-1;if((f&8|0)==0?(c[j>>2]=b,c[j+4>>2]=21523,c[j+8>>2]=i,(yb(54,j|0)|0)==0):0)a[d>>0]=10;c[e+32>>2]=67;c[e+36>>2]=69;c[e+40>>2]=68;c[e+12>>2]=729;if(!(c[57358]|0))c[e+76>>2]=-1;GQa(e)|0}}else{c[(QNa()|0)>>2]=22;e=0}l=k;return e|0}function MQa(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;b=a+20|0;h=a+28|0;if((c[b>>2]|0)>>>0>(c[h>>2]|0)>>>0?(lk[c[a+36>>2]&127](a,0,0)|0,(c[b>>2]|0)==0):0)a=-1;else{d=a+4|0;e=c[d>>2]|0;f=a+8|0;g=c[f>>2]|0;if(e>>>0<g>>>0)lk[c[a+40>>2]&127](a,e-g|0,1)|0;c[a+16>>2]=0;c[h>>2]=0;c[b>>2]=0;c[f>>2]=0;c[d>>2]=0;a=0}return a|0}function NQa(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;f=N(d,b)|0;d=(b|0)==0?0:d;if((c[e+76>>2]|0)>-1){g=(YOa(e)|0)==0;a=mPa(a,f,e)|0;if(!g)ZOa(e)}else a=mPa(a,f,e)|0;if((a|0)!=(f|0))d=(a>>>0)/(b>>>0)|0;return d|0}function OQa(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;do if((b|0)!=-1){if((c[d+76>>2]|0)>-1)g=YOa(d)|0;else g=0;h=d+4|0;e=c[h>>2]|0;if(!e){JOa(d)|0;e=c[h>>2]|0;if(e|0){f=e;i=6}}else{f=e;i=6}if((i|0)==6?f>>>0>((c[d+44>>2]|0)+-8|0)>>>0:0){i=f+-1|0;c[h>>2]=i;a[i>>0]=b;c[d>>2]=c[d>>2]&-17;if(!g)break;ZOa(d);break}if(g){ZOa(d);b=-1}else b=-1}else b=-1;while(0);return b|0}function PQa(a,b){a=a|0;b=b|0;var d=0,e=0;d=l;l=l+16|0;e=d;c[e>>2]=b;b=WOa(c[26751]|0,a,e)|0;l=d;return b|0}function QQa(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;if((c[d+76>>2]|0)>=0?(YOa(d)|0)!=0:0){f=b&255;e=b&255;if((e|0)!=(a[d+75>>0]|0)?(i=d+20|0,j=c[i>>2]|0,j>>>0<(c[d+16>>2]|0)>>>0):0){c[i>>2]=j+1;a[j>>0]=f}else e=xQa(d,b)|0;ZOa(d)}else k=3;do if((k|0)==3){f=b&255;e=b&255;if((e|0)!=(a[d+75>>0]|0)?(g=d+20|0,h=c[g>>2]|0,h>>>0<(c[d+16>>2]|0)>>>0):0){c[g>>2]=h+1;a[h>>0]=f;break}e=xQa(d,b)|0}while(0);return e|0}function RQa(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;if((d|0)==1)b=b-(c[a+8>>2]|0)+(c[a+4>>2]|0)|0;e=a+20|0;f=a+28|0;if((c[e>>2]|0)>>>0>(c[f>>2]|0)>>>0?(lk[c[a+36>>2]&127](a,0,0)|0,(c[e>>2]|0)==0):0)b=-1;else{c[a+16>>2]=0;c[f>>2]=0;c[e>>2]=0;if((lk[c[a+40>>2]&127](a,b,d)|0)<0)b=-1;else{c[a+8>>2]=0;c[a+4>>2]=0;c[a>>2]=c[a>>2]&-17;b=0}}return b|0}function SQa(a){a=a|0;var b=0;if((c[a+76>>2]|0)>-1){b=(YOa(a)|0)==0;a=(c[a>>2]|0)>>>5&1}else a=(c[a>>2]|0)>>>5&1;return a|0}function TQa(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=l;l=l+16|0;f=e;c[f>>2]=d;d=UQa(a,b,f)|0;l=e;return d|0}function UQa(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;g=l;l=l+128|0;e=g;f=e;h=f+124|0;do{c[f>>2]=0;f=f+4|0}while((f|0)<(h|0));c[e+32>>2]=125;c[e+44>>2]=a;c[e+76>>2]=-1;c[e+84>>2]=a;h=zQa(e,b,d)|0;l=g;return h|0}function VQa(a,b,c){a=a|0;b=b|0;c=c|0;return WQa(a,b,c)|0}function WQa(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=a+84|0;g=c[e>>2]|0;h=d+256|0;f=aOa(g,0,h)|0;f=(f|0)==0?h:f-g|0;d=f>>>0<d>>>0?f:d;x2a(b|0,g|0,d|0)|0;c[a+4>>2]=g+d;b=g+f|0;c[a+8>>2]=b;c[e>>2]=b;return d|0}function XQa(b){b=b|0;var d=0,e=0,f=0,g=0;f=c[26751]|0;if((c[f+76>>2]|0)>-1)g=YOa(f)|0;else g=0;do if((YQa(b,f)|0)<0)b=-1;else{if((a[f+75>>0]|0)!=10?(d=f+20|0,e=c[d>>2]|0,e>>>0<(c[f+16>>2]|0)>>>0):0){c[d>>2]=e+1;a[e>>0]=10;b=0;break}b=(xQa(f,10)|0)>>31}while(0);if(g|0)ZOa(f);return b|0}function YQa(a,b){a=a|0;b=b|0;var c=0;c=VNa(a)|0;return ((NQa(a,1,c,b)|0)!=(c|0))<<31>>31|0}function ZQa(a){a=a|0;return QQa(a,c[26751]|0)|0}function _Qa(a){a=a|0;var b=0;if(!(c[a>>2]&128))b=1;else b=(c[a+20>>2]|0)>>>0>(c[a+28>>2]|0)>>>0?2:1;b=lk[c[a+40>>2]&127](a,0,b)|0;if((b|0)>=0)b=b-(c[a+8>>2]|0)+(c[a+4>>2]|0)+(c[a+20>>2]|0)-(c[a+28>>2]|0)|0;return b|0}function $Qa(a){a=a|0;var b=0;if((c[a+76>>2]|0)>-1){b=(YOa(a)|0)==0;a=_Qa(a)|0}else a=_Qa(a)|0;return a|0}function aRa(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;if((c[a+76>>2]|0)>-1){e=(YOa(a)|0)==0;b=RQa(a,b,d)|0;if(!e)ZOa(a)}else b=RQa(a,b,d)|0;return b|0}function bRa(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=l;l=l+16|0;e=h;c[e>>2]=c[d>>2];e=VOa(0,0,b,e)|0;if((e|0)>=0?(f=e+1|0,g=GNa(f)|0,c[a>>2]=g,(g|0)!=0):0)a=VOa(g,f,b,d)|0;else a=-1;l=h;return a|0}function cRa(a,b){a=a|0;b=b|0;return WOa(c[26751]|0,a,b)|0}function dRa(a,b){a=a|0;b=b|0;var d=0,e=0;d=l;l=l+16|0;e=d;c[e>>2]=a;c[e+4>>2]=b;b=PNa(vb(33,e|0)|0)|0;l=d;return b|0}function eRa(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=l;l=l+16|0;f=e;c[f>>2]=a;c[f+4>>2]=b;c[f+8>>2]=d;d=PNa(Ab(85,f|0)|0)|0;l=e;return d|0}function fRa(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0;n=l;l=l+4304|0;m=n+4144|0;k=n+4136|0;e=n+4128|0;h=n+4224|0;i=n+4148|0;f=n+4096|0;j=n;do if(b){c[e>>2]=b;c[e+4>>2]=2656256;e=PNa(xb(5,e|0)|0)|0;if((e|0)<0)d=0;else{mQa(f,e);b=eRa(f,j,4095)|0;if((b|0)>=0?(a[j+b>>0]=0,lQa(e,h)|0,g=RPa(j,i)|0,(g|0)>=0):0){if((c[h>>2]|0)==(c[i>>2]|0)?(c[h+72>>2]|0)==(c[i+72>>2]|0):0){c[k>>2]=e;zb(6,k|0)|0;if(!d){d=_Na(j)|0;break}else{WNa(d,j)|0;break}}if(!g)c[(QNa()|0)>>2]=40}c[m>>2]=e;zb(6,m|0)|0;d=0}}else{c[(QNa()|0)>>2]=22;d=0}while(0);l=n;return d|0}function gRa(){cb(229528);return}function hRa(){return 229528}function iRa(a){a=a|0;kRa(a);return}function jRa(a){a=a|0;iRa(a);l0a(a);return}function kRa(a){a=a|0;c[a>>2]=107548;lRa(a,0);dUa(a+28|0);HNa(c[a+32>>2]|0);HNa(c[a+36>>2]|0);HNa(c[a+48>>2]|0);HNa(c[a+60>>2]|0);return}function lRa(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;e=a+32|0;f=a+36|0;d=c[a+40>>2]|0;while(1){if(!d)break;g=d+-1|0;Nk[c[(c[e>>2]|0)+(g<<2)>>2]&255](b,a,c[(c[f>>2]|0)+(g<<2)>>2]|0);d=g}return}function mRa(a){a=a|0;kRa(a);l0a(a);return}function nRa(a){a=a|0;kRa(a);return}function oRa(a){a=a|0;c[a>>2]=107564;dUa(a+4|0);return}function pRa(a){a=a|0;oRa(a);l0a(a);return}function qRa(a,b){a=a|0;b=b|0;return}function rRa(a,b,c){a=a|0;b=b|0;c=c|0;return a|0}function sRa(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;g=a;c[g>>2]=0;c[g+4>>2]=0;g=a+8|0;c[g>>2]=-1;c[g+4>>2]=-1;return}function tRa(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;e=a;c[e>>2]=0;c[e+4>>2]=0;e=a+8|0;c[e>>2]=-1;c[e+4>>2]=-1;return}function uRa(a){a=a|0;return 0}function vRa(a){a=a|0;return 0}function wRa(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;CRa()|0;i=b+12|0;j=b+16|0;h=0;while(1){if((h|0)>=(e|0))break;f=c[i>>2]|0;g=c[j>>2]|0;if(f>>>0<g>>>0){g=g-f|0;k=e-h|0;g=(k|0)<(g|0)?k:g;ERa(d,f,g)|0;c[i>>2]=(c[i>>2]|0)+g;d=d+g|0;f=g}else{f=gk[c[(c[b>>2]|0)+40>>2]&1023](b)|0;if((f|0)==-1)break;a[d>>0]=FRa(f)|0;d=d+1|0;f=1}h=f+h|0}return h|0}function xRa(a){a=a|0;return CRa()|0}function yRa(b){b=b|0;var d=0;d=gk[c[(c[b>>2]|0)+36>>2]&1023](b)|0;if((d|0)==(CRa()|0))b=CRa()|0;else{d=b+12|0;b=c[d>>2]|0;c[d>>2]=b+1;b=DRa(a[b>>0]|0)|0}return b|0}function zRa(a,b){a=a|0;b=b|0;return CRa()|0}function ARa(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0;i=CRa()|0;j=b+24|0;k=b+28|0;f=0;while(1){if((f|0)>=(e|0))break;g=c[j>>2]|0;h=c[k>>2]|0;if(g>>>0<h>>>0){h=h-g|0;l=e-f|0;h=(l|0)<(h|0)?l:h;ERa(g,d,h)|0;c[j>>2]=(c[j>>2]|0)+h;d=d+h|0;f=h+f|0}else{h=c[(c[b>>2]|0)+52>>2]|0;l=DRa(a[d>>0]|0)|0;if((kk[h&511](b,l)|0)==(i|0))break;d=d+1|0;f=f+1|0}}return f|0}function BRa(a,b){a=a|0;b=b|0;return CRa()|0}function CRa(){return -1}function DRa(a){a=a|0;return a&255|0}function ERa(a,b,c){a=a|0;b=b|0;c=c|0;if(c|0)x2a(a|0,b|0,c|0)|0;return a|0}function FRa(a){a=a|0;return a&255|0}function GRa(a){a=a|0;c[a>>2]=107628;dUa(a+4|0);return}function HRa(a){a=a|0;GRa(a);l0a(a);return}function IRa(a,b){a=a|0;b=b|0;return}function JRa(a,b,c){a=a|0;b=b|0;c=c|0;return a|0}function KRa(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;g=a;c[g>>2]=0;c[g+4>>2]=0;g=a+8|0;c[g>>2]=-1;c[g+4>>2]=-1;return}function LRa(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;e=a;c[e>>2]=0;c[e+4>>2]=0;e=a+8|0;c[e>>2]=-1;c[e+4>>2]=-1;return}function MRa(a){a=a|0;return 0}function NRa(a){a=a|0;return 0}function ORa(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;URa()|0;h=a+12|0;i=a+16|0;g=0;while(1){if((g|0)>=(d|0))break;e=c[h>>2]|0;f=c[i>>2]|0;if(e>>>0<f>>>0){f=f-e>>2;j=d-g|0;f=(j|0)<(f|0)?j:f;WRa(b,e,f)|0;c[h>>2]=(c[h>>2]|0)+(f<<2);b=b+(f<<2)|0;e=f}else{e=gk[c[(c[a>>2]|0)+40>>2]&1023](a)|0;if((e|0)==-1)break;c[b>>2]=XRa(e)|0;b=b+4|0;e=1}g=e+g|0}return g|0}function PRa(a){a=a|0;return URa()|0}function QRa(a){a=a|0;var b=0;b=gk[c[(c[a>>2]|0)+36>>2]&1023](a)|0;if((b|0)==(URa()|0))a=URa()|0;else{b=a+12|0;a=c[b>>2]|0;c[b>>2]=a+4;a=VRa(c[a>>2]|0)|0}return a|0}function RRa(a,b){a=a|0;b=b|0;return URa()|0}function SRa(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;h=URa()|0;i=a+24|0;j=a+28|0;e=0;while(1){if((e|0)>=(d|0))break;f=c[i>>2]|0;g=c[j>>2]|0;if(f>>>0<g>>>0){g=g-f>>2;k=d-e|0;g=(k|0)<(g|0)?k:g;WRa(f,b,g)|0;c[i>>2]=(c[i>>2]|0)+(g<<2);b=b+(g<<2)|0;e=g+e|0}else{g=c[(c[a>>2]|0)+52>>2]|0;k=VRa(c[b>>2]|0)|0;if((kk[g&511](a,k)|0)==(h|0))break;b=b+4|0;e=e+1|0}}return e|0}function TRa(a,b){a=a|0;b=b|0;return URa()|0}function URa(){return -1}function VRa(a){a=a|0;return a|0}function WRa(a,b,c){a=a|0;b=b|0;c=c|0;if(c)bOa(a,b,c)|0;return a|0}function XRa(a){a=a|0;return a|0}function YRa(a){a=a|0;aSa(a,107724);iRa(a+8|0);return}function ZRa(a){a=a|0;YRa(a);l0a(a);return}function _Ra(a){a=a|0;YRa(a+(c[(c[a>>2]|0)+-12>>2]|0)|0);return}function $Ra(a){a=a|0;ZRa(a+(c[(c[a>>2]|0)+-12>>2]|0)|0);return}function aSa(a,b){a=a|0;b=b|0;return}function bSa(a){a=a|0;fSa(a,107772);nRa(a+8|0);return}function cSa(a){a=a|0;bSa(a);l0a(a);return}function dSa(a){a=a|0;bSa(a+(c[(c[a>>2]|0)+-12>>2]|0)|0);return}function eSa(a){a=a|0;cSa(a+(c[(c[a>>2]|0)+-12>>2]|0)|0);return}function fSa(a,b){a=a|0;b=b|0;return}function gSa(a){a=a|0;kSa(a,107780);iRa(a+4|0);return}function hSa(a){a=a|0;gSa(a);l0a(a);return}function iSa(a){a=a|0;gSa(a+(c[(c[a>>2]|0)+-12>>2]|0)|0);return}function jSa(a){a=a|0;hSa(a+(c[(c[a>>2]|0)+-12>>2]|0)|0);return}function kSa(a,b){a=a|0;b=b|0;return}function lSa(a){a=a|0;pSa(a,107828);nRa(a+4|0);return}function mSa(a){a=a|0;lSa(a);l0a(a);return}function nSa(a){a=a|0;lSa(a+(c[(c[a>>2]|0)+-12>>2]|0)|0);return}function oSa(a){a=a|0;mSa(a+(c[(c[a>>2]|0)+-12>>2]|0)|0);return}function pSa(a,b){a=a|0;b=b|0;return}function qSa(a){a=a|0;wSa(a,107896);iRa(a+12|0);return}function rSa(a){a=a|0;qSa(a);l0a(a);return}function sSa(a){a=a|0;qSa(a+-8|0);return}function tSa(a){a=a|0;rSa(a+-8|0);return}function uSa(a){a=a|0;qSa(a+(c[(c[a>>2]|0)+-12>>2]|0)|0);return}function vSa(a){a=a|0;rSa(a+(c[(c[a>>2]|0)+-12>>2]|0)|0);return}function wSa(a,b){a=a|0;b=b|0;kSa(a+8|0,b+12|0);aSa(a,b+4|0);return}function xSa(a){a=a|0;return VNa(a)|0}function ySa(a,b){a=a|0;b=b|0;c[a+16>>2]=(c[a+24>>2]|0)==0|b;return}function zSa(a,b){a=a|0;b=b|0;var d=0;c[a+24>>2]=b;c[a+16>>2]=(b|0)==0&1;c[a+20>>2]=0;c[a+4>>2]=4098;c[a+12>>2]=0;c[a+8>>2]=6;d=a+28|0;b=a+32|0;a=b+40|0;do{c[b>>2]=0;b=b+4|0}while((b|0)<(a|0));e0a(d);return}function ASa(a,b){a=a|0;b=b|0;return (a|0)==(b|0)|0}function BSa(a,b){a=a|0;b=b|0;c0a(a,b+28|0);return}function CSa(a,b){a=a|0;b=b|0;return (a|0)==(b|0)|0}function DSa(a,b){a=a|0;b=b|0;return a<<24>>24==b<<24>>24|0}function ESa(a){a=a|0;c[a>>2]=107564;e0a(a+4|0);a=a+8|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;c[a+12>>2]=0;c[a+16>>2]=0;c[a+20>>2]=0;return}function FSa(a){a=a|0;c[a>>2]=107628;e0a(a+4|0);a=a+8|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;c[a+12>>2]=0;c[a+16>>2]=0;c[a+20>>2]=0;return}function GSa(d,e,f){d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=l;l=l+16|0;j=t;a[d>>0]=0;g=e+(c[(c[e>>2]|0)+-12>>2]|0)|0;h=c[g+16>>2]|0;if(!h){g=c[g+72>>2]|0;if(g|0)HSa(g)|0;do if(!f?(i=e+(c[(c[e>>2]|0)+-12>>2]|0)|0,c[i+4>>2]&4096|0):0){BSa(j,i);m=cUa(j,230580)|0;dUa(j);h=c[e+(c[(c[e>>2]|0)+-12>>2]|0)+24>>2]|0;m=m+8|0;n=h;o=(h|0)==0;p=n+12|0;q=n+16|0;r=h;while(1){if(o){i=0;h=0;break}g=c[p>>2]|0;if((g|0)==(c[q>>2]|0))g=gk[c[(c[r>>2]|0)+36>>2]&1023](n)|0;else g=DRa(a[g>>0]|0)|0;k=ASa(g,CRa()|0)|0;i=k?0:h;if(k){i=0;h=0;break}f=i;j=f+12|0;g=c[j>>2]|0;k=f+16|0;if((g|0)==(c[k>>2]|0))g=gk[c[(c[i>>2]|0)+36>>2]&1023](f)|0;else g=DRa(a[g>>0]|0)|0;if((g&255)<<24>>24<=-1){s=21;break}if(!(b[(c[m>>2]|0)+(g<<24>>24<<1)>>1]&8192)){s=21;break}g=c[j>>2]|0;if((g|0)==(c[k>>2]|0))gk[c[(c[i>>2]|0)+40>>2]&1023](f)|0;else{c[j>>2]=g+1;DRa(a[g>>0]|0)|0}}if(h|0){g=c[i+12>>2]|0;if((g|0)==(c[i+16>>2]|0))g=gk[c[(c[h>>2]|0)+36>>2]&1023](i)|0;else g=DRa(a[g>>0]|0)|0;if(!(ASa(g,CRa()|0)|0))break}s=e+(c[(c[e>>2]|0)+-12>>2]|0)|0;ySa(s,c[s+16>>2]|6)}while(0);a[d>>0]=(c[e+(c[(c[e>>2]|0)+-12>>2]|0)+16>>2]|0)==0&1}else ySa(g,h|4);l=t;return}function HSa(b){b=b|0;var d=0,e=0,f=0;e=l;l=l+16|0;d=e;if(c[b+(c[(c[b>>2]|0)+-12>>2]|0)+24>>2]|0){ISa(d,b);if(a[d>>0]|0?(f=c[b+(c[(c[b>>2]|0)+-12>>2]|0)+24>>2]|0,(gk[c[(c[f>>2]|0)+24>>2]&1023](f)|0)==-1):0){f=b+(c[(c[b>>2]|0)+-12>>2]|0)|0;ySa(f,c[f+16>>2]|1)}JSa(d)}l=e;return b|0}function ISa(b,d){b=b|0;d=d|0;a[b>>0]=0;c[b+4>>2]=d;d=d+(c[(c[d>>2]|0)+-12>>2]|0)|0;if(!(c[d+16>>2]|0)){d=c[d+72>>2]|0;if(d|0)HSa(d)|0;a[b>>0]=1}return}function JSa(a){a=a|0;var b=0;a=a+4|0;b=c[a>>2]|0;b=b+(c[(c[b>>2]|0)+-12>>2]|0)|0;if((((c[b+24>>2]|0?(c[b+16>>2]|0)==0:0)?c[b+4>>2]&8192|0:0)?!(h1a()|0):0)?(b=c[a>>2]|0,b=c[b+(c[(c[b>>2]|0)+-12>>2]|0)+24>>2]|0,(gk[c[(c[b>>2]|0)+24>>2]&1023](b)|0)==-1):0){b=c[a>>2]|0;b=b+(c[(c[b>>2]|0)+-12>>2]|0)|0;ySa(b,c[b+16>>2]|1)}return}function KSa(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0;m=l;l=l+32|0;f=m+24|0;e=m+20|0;g=m+16|0;h=m+12|0;n=m+28|0;i=m+8|0;j=m+4|0;k=m;GSa(n,b,0);if(a[n>>0]|0){c[i>>2]=0;BSa(k,b+(c[(c[b>>2]|0)+-12>>2]|0)|0);o=cUa(k,230604)|0;n=b+(c[(c[b>>2]|0)+-12>>2]|0)|0;p=c[(c[o>>2]|0)+16>>2]|0;c[g>>2]=c[n+24>>2];c[h>>2]=0;c[e>>2]=c[g>>2];c[f>>2]=c[h>>2];rk[p&63](o,e,f,n,i,j)|0;dUa(k);c[d>>2]=c[j>>2];n=b+(c[(c[b>>2]|0)+-12>>2]|0)|0;ySa(n,c[n+16>>2]|c[i>>2])}l=m;return b|0}function LSa(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0;k=l;l=l+32|0;f=k+20|0;e=k+16|0;g=k+12|0;h=k+8|0;m=k+24|0;i=k+4|0;j=k;GSa(m,b,0);if(a[m>>0]|0){c[i>>2]=0;BSa(j,b+(c[(c[b>>2]|0)+-12>>2]|0)|0);n=cUa(j,230604)|0;m=b+(c[(c[b>>2]|0)+-12>>2]|0)|0;o=c[(c[n>>2]|0)+28>>2]|0;c[g>>2]=c[m+24>>2];c[h>>2]=0;c[e>>2]=c[g>>2];c[f>>2]=c[h>>2];rk[o&63](n,e,f,m,i,d)|0;dUa(j);m=b+(c[(c[b>>2]|0)+-12>>2]|0)|0;ySa(m,c[m+16>>2]|c[i>>2])}l=k;return b|0}function MSa(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0;k=l;l=l+32|0;f=k+20|0;e=k+16|0;g=k+12|0;h=k+8|0;m=k+24|0;i=k+4|0;j=k;GSa(m,b,0);if(a[m>>0]|0){c[i>>2]=0;BSa(j,b+(c[(c[b>>2]|0)+-12>>2]|0)|0);n=cUa(j,230604)|0;m=b+(c[(c[b>>2]|0)+-12>>2]|0)|0;o=c[(c[n>>2]|0)+40>>2]|0;c[g>>2]=c[m+24>>2];c[h>>2]=0;c[e>>2]=c[g>>2];c[f>>2]=c[h>>2];rk[o&63](n,e,f,m,i,d)|0;dUa(j);m=b+(c[(c[b>>2]|0)+-12>>2]|0)|0;ySa(m,c[m+16>>2]|c[i>>2])}l=k;return b|0}function NSa(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0;k=l;l=l+32|0;f=k+20|0;e=k+16|0;g=k+12|0;h=k+8|0;m=k+24|0;i=k+4|0;j=k;GSa(m,b,0);if(a[m>>0]|0){c[i>>2]=0;BSa(j,b+(c[(c[b>>2]|0)+-12>>2]|0)|0);n=cUa(j,230604)|0;m=b+(c[(c[b>>2]|0)+-12>>2]|0)|0;o=c[(c[n>>2]|0)+44>>2]|0;c[g>>2]=c[m+24>>2];c[h>>2]=0;c[e>>2]=c[g>>2];c[f>>2]=c[h>>2];rk[o&63](n,e,f,m,i,d)|0;dUa(j);m=b+(c[(c[b>>2]|0)+-12>>2]|0)|0;ySa(m,c[m+16>>2]|c[i>>2])}l=k;return b|0}function OSa(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0;m=l;l=l+16|0;f=m+12|0;j=m+8|0;k=m;ISa(k,b);if(a[k>>0]|0){BSa(f,b+(c[(c[b>>2]|0)+-12>>2]|0)|0);g=cUa(f,230636)|0;dUa(f);h=b+(c[(c[b>>2]|0)+-12>>2]|0)|0;i=c[h+24>>2]|0;n=CRa()|0;e=h+76|0;if(ASa(n,c[e>>2]|0)|0){BSa(f,h);n=cUa(f,230580)|0;n=kk[c[(c[n>>2]|0)+28>>2]&511](n,32)|0;dUa(f);n=n<<24>>24;c[e>>2]=n;e=n}else e=c[e>>2]|0;n=c[(c[g>>2]|0)+12>>2]|0;c[j>>2]=i;c[f>>2]=c[j>>2];if(!(pk[n&63](g,f,h,e&255,d)|0)){n=b+(c[(c[b>>2]|0)+-12>>2]|0)|0;ySa(n,c[n+16>>2]|5)}}JSa(k);l=m;return b|0}function PSa(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0;m=l;l=l+16|0;f=m+12|0;j=m+8|0;k=m;ISa(k,b);if(a[k>>0]|0){BSa(f,b+(c[(c[b>>2]|0)+-12>>2]|0)|0);g=cUa(f,230636)|0;dUa(f);h=b+(c[(c[b>>2]|0)+-12>>2]|0)|0;i=c[h+24>>2]|0;n=CRa()|0;e=h+76|0;if(ASa(n,c[e>>2]|0)|0){BSa(f,h);n=cUa(f,230580)|0;n=kk[c[(c[n>>2]|0)+28>>2]&511](n,32)|0;dUa(f);n=n<<24>>24;c[e>>2]=n;e=n}else e=c[e>>2]|0;n=c[(c[g>>2]|0)+16>>2]|0;c[j>>2]=i;c[f>>2]=c[j>>2];if(!(pk[n&63](g,f,h,e&255,d)|0)){n=b+(c[(c[b>>2]|0)+-12>>2]|0)|0;ySa(n,c[n+16>>2]|5)}}JSa(k);l=m;return b|0}function QSa(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0;m=l;l=l+16|0;f=m+12|0;j=m+8|0;k=m;ISa(k,b);if(a[k>>0]|0){BSa(f,b+(c[(c[b>>2]|0)+-12>>2]|0)|0);g=cUa(f,230636)|0;dUa(f);h=b+(c[(c[b>>2]|0)+-12>>2]|0)|0;i=c[h+24>>2]|0;n=CRa()|0;e=h+76|0;if(ASa(n,c[e>>2]|0)|0){BSa(f,h);n=cUa(f,230580)|0;n=kk[c[(c[n>>2]|0)+28>>2]&511](n,32)|0;dUa(f);n=n<<24>>24;c[e>>2]=n;e=n}else e=c[e>>2]|0;n=c[(c[g>>2]|0)+24>>2]|0;c[j>>2]=i;c[f>>2]=c[j>>2];if(!(pk[n&63](g,f,h,e&255,d)|0)){n=b+(c[(c[b>>2]|0)+-12>>2]|0)|0;ySa(n,c[n+16>>2]|5)}}JSa(k);l=m;return b|0}function RSa(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0;m=l;l=l+16|0;f=m+12|0;j=m+8|0;k=m;ISa(k,b);if(a[k>>0]|0){BSa(f,b+(c[(c[b>>2]|0)+-12>>2]|0)|0);g=cUa(f,230636)|0;dUa(f);h=b+(c[(c[b>>2]|0)+-12>>2]|0)|0;i=c[h+24>>2]|0;n=CRa()|0;e=h+76|0;if(ASa(n,c[e>>2]|0)|0){BSa(f,h);n=cUa(f,230580)|0;n=kk[c[(c[n>>2]|0)+28>>2]&511](n,32)|0;dUa(f);n=n<<24>>24;c[e>>2]=n;e=n}else e=c[e>>2]|0;n=c[(c[g>>2]|0)+24>>2]|0;c[j>>2]=i;c[f>>2]=c[j>>2];if(!(pk[n&63](g,f,h,e&255,d)|0)){n=b+(c[(c[b>>2]|0)+-12>>2]|0)|0;ySa(n,c[n+16>>2]|5)}}JSa(k);l=m;return b|0}function SSa(b,d){b=b|0;d=+d;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0;m=l;l=l+16|0;f=m+12|0;j=m+8|0;k=m;ISa(k,b);if(a[k>>0]|0){BSa(f,b+(c[(c[b>>2]|0)+-12>>2]|0)|0);g=cUa(f,230636)|0;dUa(f);h=b+(c[(c[b>>2]|0)+-12>>2]|0)|0;i=c[h+24>>2]|0;n=CRa()|0;e=h+76|0;if(ASa(n,c[e>>2]|0)|0){BSa(f,h);n=cUa(f,230580)|0;n=kk[c[(c[n>>2]|0)+28>>2]&511](n,32)|0;dUa(f);n=n<<24>>24;c[e>>2]=n;e=n}else e=c[e>>2]|0;n=c[(c[g>>2]|0)+32>>2]|0;c[j>>2]=i;c[f>>2]=c[j>>2];if(!(nk[n&7](g,f,h,e&255,d)|0)){n=b+(c[(c[b>>2]|0)+-12>>2]|0)|0;ySa(n,c[n+16>>2]|5)}}JSa(k);l=m;return b|0}function TSa(b,d){b=b|0;d=+d;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0;m=l;l=l+16|0;f=m+12|0;j=m+8|0;k=m;ISa(k,b);if(a[k>>0]|0){BSa(f,b+(c[(c[b>>2]|0)+-12>>2]|0)|0);g=cUa(f,230636)|0;dUa(f);h=b+(c[(c[b>>2]|0)+-12>>2]|0)|0;i=c[h+24>>2]|0;n=CRa()|0;e=h+76|0;if(ASa(n,c[e>>2]|0)|0){BSa(f,h);n=cUa(f,230580)|0;n=kk[c[(c[n>>2]|0)+28>>2]&511](n,32)|0;dUa(f);n=n<<24>>24;c[e>>2]=n;e=n}else e=c[e>>2]|0;n=c[(c[g>>2]|0)+32>>2]|0;c[j>>2]=i;c[f>>2]=c[j>>2];if(!(nk[n&7](g,f,h,e&255,d)|0)){n=b+(c[(c[b>>2]|0)+-12>>2]|0)|0;ySa(n,c[n+16>>2]|5)}}JSa(k);l=m;return b|0}function USa(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0;m=l;l=l+16|0;f=m+12|0;j=m+8|0;k=m;ISa(k,b);if(a[k>>0]|0){BSa(f,b+(c[(c[b>>2]|0)+-12>>2]|0)|0);g=cUa(f,230636)|0;dUa(f);h=b+(c[(c[b>>2]|0)+-12>>2]|0)|0;i=c[h+24>>2]|0;n=CRa()|0;e=h+76|0;if(ASa(n,c[e>>2]|0)|0){BSa(f,h);n=cUa(f,230580)|0;n=kk[c[(c[n>>2]|0)+28>>2]&511](n,32)|0;dUa(f);n=n<<24>>24;c[e>>2]=n;e=n}else e=c[e>>2]|0;n=c[(c[g>>2]|0)+40>>2]|0;c[j>>2]=i;c[f>>2]=c[j>>2];if(!(pk[n&63](g,f,h,e&255,d)|0)){n=b+(c[(c[b>>2]|0)+-12>>2]|0)|0;ySa(n,c[n+16>>2]|5)}}JSa(k);l=m;return b|0}function VSa(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;j=l;l=l+16|0;i=j;ISa(i,b);do if(a[i>>0]|0){e=c[b+(c[(c[b>>2]|0)+-12>>2]|0)+24>>2]|0;f=e;if(e|0){g=f+24|0;h=c[g>>2]|0;if((h|0)==(c[f+28>>2]|0)){h=c[(c[e>>2]|0)+52>>2]|0;d=DRa(d)|0;d=kk[h&511](f,d)|0}else{c[g>>2]=h+1;a[h>>0]=d;d=DRa(d)|0}if(!(ASa(d,CRa()|0)|0))break}h=b+(c[(c[b>>2]|0)+-12>>2]|0)|0;ySa(h,c[h+16>>2]|1)}while(0);JSa(i);l=j;return b|0}function WSa(a){a=a|0;a=a+16|0;c[a>>2]=c[a>>2]|1;return}function XSa(){ZSa();return}function YSa(){return}function ZSa(){_Sa(0);return}function _Sa(a){a=a|0;var b=0,d=0;b=c[26687]|0;$Sa(230212,b,230268);c[57383]=107696;c[57385]=107716;c[57384]=0;zSa(229540,230212);c[57403]=0;c[57404]=CRa()|0;aTa(230276,b,230332);c[57405]=107744;c[57407]=107764;c[57406]=0;zSa(229628,230276);c[57425]=0;c[57426]=URa()|0;b=c[26751]|0;bTa(230340,b,230388);c[57427]=39388;c[57428]=39408;zSa(229712,230340);c[57446]=0;c[57447]=CRa()|0;cTa(230396,b,230444);c[57448]=107800;c[57449]=107820;zSa(229796,230396);c[57467]=0;c[57468]=URa()|0;b=c[26719]|0;bTa(230452,b,230500);c[57469]=39388;c[57470]=39408;zSa(229880,230452);c[57488]=0;c[57489]=CRa()|0;a=c[229876+(c[(c[57469]|0)+-12>>2]|0)+24>>2]|0;c[57511]=39388;c[57512]=39408;zSa(230048,a);c[57530]=0;c[57531]=CRa()|0;cTa(230508,b,230556);c[57490]=107800;c[57491]=107820;zSa(229964,230508);c[57509]=0;c[57510]=URa()|0;b=c[229960+(c[(c[57490]|0)+-12>>2]|0)+24>>2]|0;c[57532]=107800;c[57533]=107820;zSa(230132,b);c[57551]=0;c[57552]=URa()|0;c[229532+(c[(c[57383]|0)+-12>>2]|0)+72>>2]=229708;c[229620+(c[(c[57405]|0)+-12>>2]|0)+72>>2]=229792;b=(c[57469]|0)+-12|0;a=229876+(c[b>>2]|0)+4|0;c[a>>2]=c[a>>2]|8192;a=(c[57490]|0)+-12|0;d=229960+(c[a>>2]|0)+4|0;c[d>>2]=c[d>>2]|8192;c[229876+(c[b>>2]|0)+72>>2]=229708;c[229960+(c[a>>2]|0)+72>>2]=229792;return}function $Sa(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0;f=l;l=l+16|0;g=f;ESa(b);c[b>>2]=108124;c[b+32>>2]=d;c[b+40>>2]=e;c[b+48>>2]=CRa()|0;a[b+52>>0]=0;e=c[(c[b>>2]|0)+8>>2]|0;c0a(g,b+4|0);Jk[e&1023](b,g);dUa(g);l=f;return}function aTa(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0;f=l;l=l+16|0;g=f;FSa(b);c[b>>2]=108060;c[b+32>>2]=d;c[b+40>>2]=e;c[b+48>>2]=URa()|0;a[b+52>>0]=0;e=c[(c[b>>2]|0)+8>>2]|0;c0a(g,b+4|0);Jk[e&1023](b,g);dUa(g);l=f;return}function bTa(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0;f=l;l=l+16|0;g=f;ESa(b);c[b>>2]=107996;c[b+32>>2]=d;c0a(g,b+4|0);d=cUa(g,230884)|0;dUa(g);c[b+36>>2]=d;c[b+40>>2]=e;a[b+44>>0]=(gk[c[(c[d>>2]|0)+28>>2]&1023](d)|0)&1;l=f;return}function cTa(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0;f=l;l=l+16|0;g=f;FSa(b);c[b>>2]=107932;c[b+32>>2]=d;c0a(g,b+4|0);d=cUa(g,230892)|0;dUa(g);c[b+36>>2]=d;c[b+40>>2]=e;a[b+44>>0]=(gk[c[(c[d>>2]|0)+28>>2]&1023](d)|0)&1;l=f;return}function dTa(a){a=a|0;GRa(a);l0a(a);return}function eTa(b,d){b=b|0;d=d|0;gk[c[(c[b>>2]|0)+24>>2]&1023](b)|0;d=cUa(d,230892)|0;c[b+36>>2]=d;a[b+44>>0]=(gk[c[(c[d>>2]|0)+28>>2]&1023](d)|0)&1;return}function fTa(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0;k=l;l=l+16|0;d=k+8|0;e=k;f=a+36|0;g=a+40|0;h=d+8|0;i=d;b=a+32|0;a:while(1){a=c[f>>2]|0;a=pk[c[(c[a>>2]|0)+20>>2]&63](a,c[g>>2]|0,d,h,e)|0;m=(c[e>>2]|0)-i|0;if((NQa(d,1,m,c[b>>2]|0)|0)!=(m|0)){a=-1;break}switch(a|0){case 1:break;case 2:{a=-1;break a}default:{j=4;break a}}}if((j|0)==4)a=((IQa(c[b>>2]|0)|0)!=0)<<31>>31;l=k;return a|0}function gTa(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;a:do if(!(a[b+44>>0]|0)){f=0;while(1){if((f|0)>=(e|0))break a;h=c[(c[b>>2]|0)+52>>2]|0;g=VRa(c[d>>2]|0)|0;g=kk[h&511](b,g)|0;if((g|0)==(URa()|0))break a;f=f+1|0;d=d+4|0}}else f=NQa(d,4,e,c[b+32>>2]|0)|0;while(0);return f|0}function hTa(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0;p=l;l=l+32|0;m=p+16|0;f=p+8|0;n=p+4|0;o=p;do if(!(CSa(d,URa()|0)|0)){c[f>>2]=XRa(d)|0;if(a[b+44>>0]|0){if((NQa(f,4,1,c[b+32>>2]|0)|0)==1){e=15;break}b=URa()|0;break}c[n>>2]=m;e=f+4|0;g=b+36|0;h=b+40|0;i=m+8|0;j=m;k=b+32|0;while(1){b=c[g>>2]|0;b=tk[c[(c[b>>2]|0)+12>>2]&31](b,c[h>>2]|0,f,e,o,m,i,n)|0;if((c[o>>2]|0)==(f|0)){e=14;break}if((b|0)==3){e=8;break}if(b>>>0>=2){e=14;break}f=(c[n>>2]|0)-j|0;if((NQa(m,1,f,c[k>>2]|0)|0)!=(f|0)){e=14;break}if((b|0)==1)f=c[o>>2]|0;else{e=13;break}}if((e|0)==8)if((NQa(f,1,1,c[k>>2]|0)|0)==1)e=13;else e=14;if((e|0)==13){e=15;break}else if((e|0)==14){b=URa()|0;break}}else e=15;while(0);if((e|0)==15)b=iTa(d)|0;l=p;return b|0}function iTa(a){a=a|0;if(CSa(a,URa()|0)|0)a=~(URa()|0);return a|0}function jTa(a){a=a|0;oRa(a);l0a(a);return}function kTa(b,d){b=b|0;d=d|0;gk[c[(c[b>>2]|0)+24>>2]&1023](b)|0;d=cUa(d,230884)|0;c[b+36>>2]=d;a[b+44>>0]=(gk[c[(c[d>>2]|0)+28>>2]&1023](d)|0)&1;return}function lTa(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0;k=l;l=l+16|0;d=k+8|0;e=k;f=a+36|0;g=a+40|0;h=d+8|0;i=d;b=a+32|0;a:while(1){a=c[f>>2]|0;a=pk[c[(c[a>>2]|0)+20>>2]&63](a,c[g>>2]|0,d,h,e)|0;m=(c[e>>2]|0)-i|0;if((NQa(d,1,m,c[b>>2]|0)|0)!=(m|0)){a=-1;break}switch(a|0){case 1:break;case 2:{a=-1;break a}default:{j=4;break a}}}if((j|0)==4)a=((IQa(c[b>>2]|0)|0)!=0)<<31>>31;l=k;return a|0}function mTa(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;a:do if(!(a[b+44>>0]|0)){f=0;while(1){if((f|0)>=(e|0))break a;h=c[(c[b>>2]|0)+52>>2]|0;g=DRa(a[d>>0]|0)|0;g=kk[h&511](b,g)|0;if((g|0)==(CRa()|0))break a;f=f+1|0;d=d+1|0}}else f=NQa(d,1,e,c[b+32>>2]|0)|0;while(0);return f|0}function nTa(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0;p=l;l=l+32|0;m=p+16|0;f=p+8|0;n=p+4|0;o=p;do if(!(ASa(d,CRa()|0)|0)){a[f>>0]=FRa(d)|0;if(a[b+44>>0]|0){if((NQa(f,1,1,c[b+32>>2]|0)|0)==1){e=15;break}b=CRa()|0;break}c[n>>2]=m;e=f+1|0;g=b+36|0;h=b+40|0;i=m+8|0;j=m;k=b+32|0;while(1){b=c[g>>2]|0;b=tk[c[(c[b>>2]|0)+12>>2]&31](b,c[h>>2]|0,f,e,o,m,i,n)|0;if((c[o>>2]|0)==(f|0)){e=14;break}if((b|0)==3){e=8;break}if(b>>>0>=2){e=14;break}f=(c[n>>2]|0)-j|0;if((NQa(m,1,f,c[k>>2]|0)|0)!=(f|0)){e=14;break}if((b|0)==1)f=c[o>>2]|0;else{e=13;break}}if((e|0)==8)if((NQa(f,1,1,c[k>>2]|0)|0)==1)e=13;else e=14;if((e|0)==13){e=15;break}else if((e|0)==14){b=CRa()|0;break}}else e=15;while(0);if((e|0)==15)b=oTa(d)|0;l=p;return b|0}function oTa(a){a=a|0;if(ASa(a,CRa()|0)|0)a=~(CRa()|0);return a|0}function pTa(a){a=a|0;GRa(a);l0a(a);return}function qTa(b,d){b=b|0;d=d|0;var e=0,f=0;f=cUa(d,230892)|0;e=b+36|0;c[e>>2]=f;d=b+44|0;c[d>>2]=gk[c[(c[f>>2]|0)+24>>2]&1023](f)|0;e=c[e>>2]|0;a[b+53>>0]=(gk[c[(c[e>>2]|0)+28>>2]&1023](e)|0)&1;if((c[d>>2]|0)>8)uXa(213622);else return}function rTa(a){a=a|0;return uTa(a,0)|0}function sTa(a){a=a|0;return uTa(a,1)|0}function tTa(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0;m=l;l=l+32|0;h=m+16|0;i=m+8|0;f=m+4|0;g=m;j=CSa(d,URa()|0)|0;k=b+52|0;e=(a[k>>0]|0)!=0;do if(j)if(e)e=d;else{e=c[b+48>>2]|0;a[k>>0]=((CSa(e,URa()|0)|0)^1)&1}else{if(e){j=b+48|0;c[f>>2]=XRa(c[j>>2]|0)|0;e=c[b+36>>2]|0;switch(tk[c[(c[e>>2]|0)+12>>2]&31](e,c[b+40>>2]|0,f,f+4|0,g,h,h+8|0,i)|0){case 1:case 2:{g=11;break}case 3:{a[h>>0]=c[j>>2];c[i>>2]=h+1;g=8;break}default:g=8}a:do if((g|0)==8){e=b+32|0;while(1){f=c[i>>2]|0;if(f>>>0<=h>>>0){f=1;e=0;break a}b=f+-1|0;c[i>>2]=b;if((OQa(a[b>>0]|0,c[e>>2]|0)|0)==-1){g=11;break}}}while(0);if((g|0)==11){f=0;e=URa()|0}if(f)e=j;else break}else e=b+48|0;c[e>>2]=d;a[k>>0]=1;e=d}while(0);l=m;return e|0}function uTa(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;s=l;l=l+32|0;q=s+16|0;r=s+8|0;m=s+4|0;n=s;g=b+52|0;if(a[g>>0]|0){f=b+48|0;e=c[f>>2]|0;if(d){c[f>>2]=URa()|0;a[g>>0]=0}}else{e=c[b+44>>2]|0;e=(e|0)>1?e:1;p=b+32|0;f=0;while(1){if(f>>>0>=e>>>0){o=9;break}g=TPa(c[p>>2]|0)|0;if((g|0)==-1){o=8;break}a[q+f>>0]=g;f=f+1|0}if((o|0)==8)e=URa()|0;else if((o|0)==9){do if(!(a[b+53>>0]|0)){i=b+40|0;j=b+36|0;k=r+4|0;a:while(1){t=c[i>>2]|0;g=t;f=c[g>>2]|0;g=c[g+4>>2]|0;u=c[j>>2]|0;h=q+e|0;switch(tk[c[(c[u>>2]|0)+16>>2]&31](u,t,q,h,m,r,k,n)|0){case 3:{o=15;break a}case 2:{o=17;break a}case 1:break;default:break a}u=c[i>>2]|0;c[u>>2]=f;c[u+4>>2]=g;if((e|0)==8){o=17;break}f=TPa(c[p>>2]|0)|0;if((f|0)==-1){o=17;break}a[h>>0]=f;e=e+1|0}if((o|0)==15)c[r>>2]=a[q>>0];else if((o|0)==17){e=URa()|0;break}o=19}else{c[r>>2]=a[q>>0];o=19}while(0);b:do if((o|0)==19){c:do if(d)c[b+48>>2]=VRa(c[r>>2]|0)|0;else{do{if((e|0)<=0)break c;e=e+-1|0;u=VRa(a[q+e>>0]|0)|0}while((OQa(u,c[p>>2]|0)|0)!=-1);e=URa()|0;break b}while(0);e=VRa(c[r>>2]|0)|0}while(0)}}l=s;return e|0}function vTa(a){a=a|0;oRa(a);l0a(a);return}function wTa(b,d){b=b|0;d=d|0;var e=0,f=0;f=cUa(d,230884)|0;e=b+36|0;c[e>>2]=f;d=b+44|0;c[d>>2]=gk[c[(c[f>>2]|0)+24>>2]&1023](f)|0;e=c[e>>2]|0;a[b+53>>0]=(gk[c[(c[e>>2]|0)+28>>2]&1023](e)|0)&1;if((c[d>>2]|0)>8)uXa(213622);else return}function xTa(a){a=a|0;return ATa(a,0)|0}function yTa(a){a=a|0;return ATa(a,1)|0}function zTa(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0;m=l;l=l+32|0;h=m+16|0;i=m+4|0;f=m+8|0;g=m;j=ASa(d,CRa()|0)|0;k=b+52|0;e=(a[k>>0]|0)!=0;do if(j)if(e)e=d;else{e=c[b+48>>2]|0;a[k>>0]=((ASa(e,CRa()|0)|0)^1)&1}else{if(e){j=b+48|0;a[f>>0]=FRa(c[j>>2]|0)|0;e=c[b+36>>2]|0;switch(tk[c[(c[e>>2]|0)+12>>2]&31](e,c[b+40>>2]|0,f,f+1|0,g,h,h+8|0,i)|0){case 1:case 2:{g=11;break}case 3:{a[h>>0]=c[j>>2];c[i>>2]=h+1;g=8;break}default:g=8}a:do if((g|0)==8){e=b+32|0;while(1){f=c[i>>2]|0;if(f>>>0<=h>>>0){f=1;e=0;break a}b=f+-1|0;c[i>>2]=b;if((OQa(a[b>>0]|0,c[e>>2]|0)|0)==-1){g=11;break}}}while(0);if((g|0)==11){f=0;e=CRa()|0}if(f)e=j;else break}else e=b+48|0;c[e>>2]=d;a[k>>0]=1;e=d}while(0);l=m;return e|0}function ATa(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;s=l;l=l+32|0;q=s+16|0;r=s+8|0;m=s+4|0;n=s;g=b+52|0;if(a[g>>0]|0){f=b+48|0;e=c[f>>2]|0;if(d){c[f>>2]=CRa()|0;a[g>>0]=0}}else{e=c[b+44>>2]|0;e=(e|0)>1?e:1;p=b+32|0;f=0;while(1){if(f>>>0>=e>>>0){o=9;break}g=TPa(c[p>>2]|0)|0;if((g|0)==-1){o=8;break}a[q+f>>0]=g;f=f+1|0}if((o|0)==8)e=CRa()|0;else if((o|0)==9){do if(!(a[b+53>>0]|0)){i=b+40|0;j=b+36|0;k=r+1|0;a:while(1){t=c[i>>2]|0;g=t;f=c[g>>2]|0;g=c[g+4>>2]|0;u=c[j>>2]|0;h=q+e|0;switch(tk[c[(c[u>>2]|0)+16>>2]&31](u,t,q,h,m,r,k,n)|0){case 3:{o=15;break a}case 2:{o=17;break a}case 1:break;default:break a}u=c[i>>2]|0;c[u>>2]=f;c[u+4>>2]=g;if((e|0)==8){o=17;break}f=TPa(c[p>>2]|0)|0;if((f|0)==-1){o=17;break}a[h>>0]=f;e=e+1|0}if((o|0)==15)a[r>>0]=a[q>>0]|0;else if((o|0)==17){e=CRa()|0;break}o=19}else{a[r>>0]=a[q>>0]|0;o=19}while(0);b:do if((o|0)==19){c:do if(d)c[b+48>>2]=DRa(a[r>>0]|0)|0;else{do{if((e|0)<=0)break c;e=e+-1|0;u=DRa(a[q+e>>0]|0)|0}while((OQa(u,c[p>>2]|0)|0)!=-1);e=CRa()|0;break b}while(0);e=DRa(a[r>>0]|0)|0}while(0)}}l=s;return e|0}function BTa(a){a=a|0;JTa(a);return}function CTa(a){a=a|0;BTa(a);l0a(a);return}function DTa(a){a=a|0;if(a|0)Bk[c[(c[a>>2]|0)+4>>2]&2047](a);return}function ETa(b,c,d,e,f){b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0;b=c;while(1){if((e|0)==(f|0)){h=7;break}if((b|0)==(d|0)){b=-1;break}c=a[b>>0]|0;g=a[e>>0]|0;if(c<<24>>24<g<<24>>24){b=-1;break}if(g<<24>>24<c<<24>>24){b=1;break}e=e+1|0;b=b+1|0}if((h|0)==7)b=(b|0)!=(d|0)&1;return b|0}function FTa(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;HTa(a,d,e);return}function GTa(b,c,d){b=b|0;c=c|0;d=d|0;var e=0,f=0;b=0;while(1){if((c|0)==(d|0))break;e=(b<<4)+(a[c>>0]|0)|0;f=e&-268435456;b=(f>>>24|f)^e;c=c+1|0}return b|0}function HTa(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;j=l;l=l+16|0;g=d;i=j;f=e-g|0;if(f>>>0>4294967279)r0a(b);if(f>>>0<11){a[b+11>>0]=f;h=b}else{k=f+16&-16;h=j0a(k)|0;c[b>>2]=h;c[b+8>>2]=k|-2147483648;c[b+4>>2]=f}f=e-g|0;b=h;while(1){if((d|0)==(e|0))break;ITa(b,d);d=d+1|0;b=b+1|0}a[i>>0]=0;ITa(h+f|0,i);l=j;return}function ITa(b,c){b=b|0;c=c|0;a[b>>0]=a[c>>0]|0;return}function JTa(a){a=a|0;return}function KTa(a){a=a|0;JTa(a);return}function LTa(a){a=a|0;KTa(a);l0a(a);return}function MTa(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0;a=b;while(1){if((e|0)==(f|0)){h=7;break}if((a|0)==(d|0)){a=-1;break}b=c[a>>2]|0;g=c[e>>2]|0;if((b|0)<(g|0)){a=-1;break}if((g|0)<(b|0)){a=1;break}e=e+4|0;a=a+4|0}if((h|0)==7)a=(a|0)!=(d|0)&1;return a|0}function NTa(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;PTa(a,d,e);return}function OTa(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;a=0;while(1){if((b|0)==(d|0))break;e=(c[b>>2]|0)+(a<<4)|0;f=e&-268435456;a=(f>>>24|f)^e;b=b+4|0}return a|0}function PTa(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;j=l;l=l+16|0;i=j;h=e-d>>2;if(h>>>0>1073741807)r0a(b);do if(h>>>0>=2){g=h+4&-4;if(g>>>0>1073741823)ec();else{f=j0a(g<<2)|0;c[b>>2]=f;c[b+8>>2]=g|-2147483648;c[b+4>>2]=h;break}}else{a[b+8+3>>0]=h;f=b}while(0);while(1){if((d|0)==(e|0))break;QTa(f,d);d=d+4|0;f=f+4|0}c[i>>2]=0;QTa(f,i);l=j;return}function QTa(a,b){a=a|0;b=b|0;c[a>>2]=c[b>>2];return}function RTa(a){a=a|0;JTa(a);return}function STa(a){a=a|0;JTa(a);l0a(a);return}function TTa(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,m=0,n=0,o=0,p=0;p=l;l=l+48|0;i=p+40|0;o=p;j=p+32|0;k=p+36|0;m=p+28|0;n=p+24|0;if(!(c[f+4>>2]&1)){c[j>>2]=-1;n=c[(c[b>>2]|0)+16>>2]|0;c[k>>2]=c[d>>2];c[m>>2]=c[e>>2];c[o>>2]=c[k>>2];c[i>>2]=c[m>>2];c[d>>2]=rk[n&63](b,o,i,f,g,j)|0;switch(c[j>>2]|0){case 0:{a[h>>0]=0;break}case 1:{a[h>>0]=1;break}default:{a[h>>0]=1;c[g>>2]=4}}i=c[d>>2]|0}else{BSa(i,f);m=cUa(i,230580)|0;dUa(i);BSa(i,f);b=cUa(i,230596)|0;dUa(i);Jk[c[(c[b>>2]|0)+24>>2]&1023](o,b);Jk[c[(c[b>>2]|0)+28>>2]&1023](o+12|0,b);c[n>>2]=c[e>>2];b=o+24|0;c[i>>2]=c[n>>2];a[h>>0]=(MUa(d,i,o,b,m,g,1)|0)==(o|0)&1;i=c[d>>2]|0;do{b=b+-12|0;y0a(b)}while((b|0)!=(o|0))}l=p;return i|0}function UTa(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0;h=l;l=l+16|0;i=h+12|0;j=h+8|0;m=h+4|0;k=h;c[m>>2]=c[b>>2];c[k>>2]=c[d>>2];c[j>>2]=c[m>>2];c[i>>2]=c[k>>2];g=KUa(a,j,i,e,f,g)|0;l=h;return g|0}function VTa(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0;h=l;l=l+16|0;i=h+12|0;j=h+8|0;m=h+4|0;k=h;c[m>>2]=c[b>>2];c[k>>2]=c[d>>2];c[j>>2]=c[m>>2];c[i>>2]=c[k>>2];g=IUa(a,j,i,e,f,g)|0;l=h;return g|0}function WTa(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0;h=l;l=l+16|0;i=h+12|0;j=h+8|0;m=h+4|0;k=h;c[m>>2]=c[b>>2];c[k>>2]=c[d>>2];c[j>>2]=c[m>>2];c[i>>2]=c[k>>2];g=GUa(a,j,i,e,f,g)|0;l=h;return g|0}function XTa(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0;h=l;l=l+16|0;i=h+12|0;j=h+8|0;m=h+4|0;k=h;c[m>>2]=c[b>>2];c[k>>2]=c[d>>2];c[j>>2]=c[m>>2];c[i>>2]=c[k>>2];g=EUa(a,j,i,e,f,g)|0;l=h;return g|0}function YTa(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0;h=l;l=l+16|0;i=h+12|0;j=h+8|0;m=h+4|0;k=h;c[m>>2]=c[b>>2];c[k>>2]=c[d>>2];c[j>>2]=c[m>>2];c[i>>2]=c[k>>2];g=CUa(a,j,i,e,f,g)|0;l=h;return g|0}function ZTa(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0;h=l;l=l+16|0;i=h+12|0;j=h+8|0;m=h+4|0;k=h;c[m>>2]=c[b>>2];c[k>>2]=c[d>>2];c[j>>2]=c[m>>2];c[i>>2]=c[k>>2];g=wUa(a,j,i,e,f,g)|0;l=h;return g|0}function _Ta(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0;h=l;l=l+16|0;i=h+12|0;j=h+8|0;m=h+4|0;k=h;c[m>>2]=c[b>>2];c[k>>2]=c[d>>2];c[j>>2]=c[m>>2];c[i>>2]=c[k>>2];g=uUa(a,j,i,e,f,g)|0;l=h;return g|0}function $Ta(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0;h=l;l=l+16|0;i=h+12|0;j=h+8|0;m=h+4|0;k=h;c[m>>2]=c[b>>2];c[k>>2]=c[d>>2];c[j>>2]=c[m>>2];c[i>>2]=c[k>>2];g=sUa(a,j,i,e,f,g)|0;l=h;return g|0}function aUa(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0;h=l;l=l+16|0;i=h+12|0;j=h+8|0;m=h+4|0;k=h;c[m>>2]=c[b>>2];c[k>>2]=c[d>>2];c[j>>2]=c[m>>2];c[i>>2]=c[k>>2];g=nUa(a,j,i,e,f,g)|0;l=h;return g|0}function bUa(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;z=l;l=l+240|0;w=z+192|0;u=z+160|0;x=z+220|0;y=z+208|0;v=z+204|0;r=z;s=z+200|0;t=z+196|0;c[x>>2]=0;c[x+4>>2]=0;c[x+8>>2]=0;b=0;while(1){if((b|0)==3)break;c[x+(b<<2)>>2]=0;b=b+1|0}BSa(y,f);b=cUa(y,230580)|0;mk[c[(c[b>>2]|0)+32>>2]&63](b,39424,39450,u)|0;dUa(y);c[y>>2]=0;c[y+4>>2]=0;c[y+8>>2]=0;b=0;while(1){if((b|0)==3)break;c[y+(b<<2)>>2]=0;b=b+1|0}q=y+11|0;p=y+8|0;if((a[q>>0]|0)<0)b=(c[p>>2]&2147483647)+-1|0;else b=10;F0a(y,b,0);b=(a[q>>0]|0)<0?c[y>>2]|0:y;c[v>>2]=b;c[s>>2]=r;c[t>>2]=0;o=y+4|0;j=c[d>>2]|0;i=j;a:while(1){if(j){f=c[j+12>>2]|0;if((f|0)==(c[j+16>>2]|0))f=gk[c[(c[j>>2]|0)+36>>2]&1023](j)|0;else f=DRa(a[f>>0]|0)|0;if(ASa(f,CRa()|0)|0){c[d>>2]=0;n=0;k=1;j=0}else{n=i;k=0}}else{n=0;k=1;j=0}i=c[e>>2]|0;do if(i){f=c[i+12>>2]|0;if((f|0)==(c[i+16>>2]|0))f=gk[c[(c[i>>2]|0)+36>>2]&1023](i)|0;else f=DRa(a[f>>0]|0)|0;if(!(ASa(f,CRa()|0)|0))if(k)break;else break a;else{c[e>>2]=0;A=22;break}}else A=22;while(0);if((A|0)==22){A=0;if(k){i=0;break}else i=0}f=a[q>>0]|0;f=f<<24>>24<0?c[o>>2]|0:f&255;if((c[v>>2]|0)==(b+f|0)){F0a(y,f<<1,0);if((a[q>>0]|0)<0)b=(c[p>>2]&2147483647)+-1|0;else b=10;F0a(y,b,0);b=(a[q>>0]|0)<0?c[y>>2]|0:y;c[v>>2]=b+f}k=j+12|0;f=c[k>>2]|0;m=j+16|0;if((f|0)==(c[m>>2]|0))f=gk[c[(c[j>>2]|0)+36>>2]&1023](j)|0;else f=DRa(a[f>>0]|0)|0;if(eUa(f&255,16,b,v,t,0,x,r,s,u)|0)break;f=c[k>>2]|0;if((f|0)==(c[m>>2]|0))gk[c[(c[j>>2]|0)+40>>2]&1023](j)|0;else{c[k>>2]=f+1;DRa(a[f>>0]|0)|0}i=n}F0a(y,(c[v>>2]|0)-b|0,0);u=(a[q>>0]|0)<0?c[y>>2]|0:y;v=fUa()|0;c[w>>2]=h;if((gUa(u,v,213770,w)|0)!=1)c[g>>2]=4;if(j){b=c[j+12>>2]|0;if((b|0)==(c[j+16>>2]|0))b=gk[c[(c[n>>2]|0)+36>>2]&1023](j)|0;else b=DRa(a[b>>0]|0)|0;if(ASa(b,CRa()|0)|0){c[d>>2]=0;f=1}else f=0}else f=1;do if(i){b=c[i+12>>2]|0;if((b|0)==(c[i+16>>2]|0))b=gk[c[(c[i>>2]|0)+36>>2]&1023](i)|0;else b=DRa(a[b>>0]|0)|0;if(!(ASa(b,CRa()|0)|0))if(f)break;else{A=52;break}else{c[e>>2]=0;A=50;break}}else A=50;while(0);if((A|0)==50?f:0)A=52;if((A|0)==52)c[g>>2]=c[g>>2]|2;A=c[d>>2]|0;y0a(y);y0a(x);l=z;return A|0}function cUa(a,b){a=a|0;b=b|0;a=c[a>>2]|0;return iUa(a,hUa(b)|0)|0}function dUa(a){a=a|0;var b=0,d=0;a=c[a>>2]|0;d=a+4|0;b=c[d>>2]|0;c[d>>2]=b+-1;if(!b)Bk[c[(c[a>>2]|0)+8>>2]&2047](a);return}function eUa(b,d,e,f,g,h,i,j,k,l){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;var m=0,n=0,o=0,p=0;o=c[f>>2]|0;p=(o|0)==(e|0);do if(p){m=(a[l+24>>0]|0)==b<<24>>24;if(!m?(a[l+25>>0]|0)!=b<<24>>24:0){n=5;break}c[f>>2]=e+1;a[e>>0]=m?43:45;c[g>>2]=0;m=0}else n=5;while(0);a:do if((n|0)==5){n=a[i+11>>0]|0;if(b<<24>>24==h<<24>>24?((n<<24>>24<0?c[i+4>>2]|0:n&255)|0)!=0:0){m=c[k>>2]|0;if((m-j|0)>=160){m=0;break}f=c[g>>2]|0;c[k>>2]=m+4;c[m>>2]=f;c[g>>2]=0;m=0;break}i=l+26|0;h=0;while(1){m=l+h|0;if((h|0)==26){m=i;break}if((a[m>>0]|0)==b<<24>>24)break;else h=h+1|0}m=m-l|0;if((m|0)>23)m=-1;else{switch(d|0){case 10:case 8:{if((m|0)>=(d|0)){m=-1;break a}break}case 16:{if((m|0)>=22){if(p){m=-1;break a}if((o-e|0)>=3){m=-1;break a}if((a[o+-1>>0]|0)!=48){m=-1;break a}c[g>>2]=0;m=a[39424+m>>0]|0;c[f>>2]=o+1;a[o>>0]=m;m=0;break a}break}default:{}}m=a[39424+m>>0]|0;c[f>>2]=o+1;a[o>>0]=m;c[g>>2]=(c[g>>2]|0)+1;m=0}}while(0);return m|0}function fUa(){if((a[224648]|0)==0?g2a(224648)|0:0)c[57647]=iQa(2147483647,213773,0)|0;return c[57647]|0}function gUa(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;f=l;l=l+16|0;g=f;c[g>>2]=e;e=_Pa(b)|0;b=UQa(a,d,g)|0;if(e|0)_Pa(e)|0;l=f;return b|0}function hUa(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;f=l;l=l+48|0;b=f+32|0;d=f+24|0;e=f;g=f+16|0;c[g>>2]=1167;c[g+4>>2]=0;c[b>>2]=c[g>>2];c[b+4>>2]=c[g+4>>2];kUa(e,b,a);if((c[a>>2]|0)!=-1){c[b>>2]=e;c[d>>2]=b;h0a(a,d,1168)}l=f;return (c[a+4>>2]|0)+-1|0}function iUa(a,b){a=a|0;b=b|0;return c[(c[a+8>>2]|0)+(b<<2)>>2]|0}function jUa(a){a=a|0;var b=0;b=c[57648]|0;c[57648]=b+1;c[a+4>>2]=b+1;return}function kUa(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;e=c[b>>2]|0;b=c[b+4>>2]|0;c[a>>2]=d;c[a+4>>2]=e;c[a+8>>2]=b;return}function lUa(a){a=a|0;mUa(c[c[a>>2]>>2]|0);return}function mUa(a){a=a|0;var b=0,d=0,e=0;b=c[a+4>>2]|0;e=c[a+8>>2]|0;d=(c[a>>2]|0)+(e>>1)|0;if(!(e&1))a=b;else a=c[(c[d>>2]|0)+b>>2]|0;Bk[a&2047](d);return}function nUa(b,d,e,f,g,i){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;i=i|0;var j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0;E=l;l=l+240|0;t=E+160|0;u=E+231|0;v=E+230|0;D=E+216|0;C=E+204|0;w=E+200|0;x=E;y=E+196|0;z=E+192|0;A=E+229|0;s=E+228|0;oUa(D,f,t,u,v);c[C>>2]=0;c[C+4>>2]=0;c[C+8>>2]=0;b=0;while(1){if((b|0)==3)break;c[C+(b<<2)>>2]=0;b=b+1|0}q=C+11|0;r=C+8|0;if((a[q>>0]|0)<0)b=(c[r>>2]&2147483647)+-1|0;else b=10;F0a(C,b,0);b=(a[q>>0]|0)<0?c[C>>2]|0:C;c[w>>2]=b;c[y>>2]=x;c[z>>2]=0;a[A>>0]=1;a[s>>0]=69;p=C+4|0;k=c[d>>2]|0;j=k;a:while(1){if(k){f=c[k+12>>2]|0;if((f|0)==(c[k+16>>2]|0))f=gk[c[(c[k>>2]|0)+36>>2]&1023](k)|0;else f=DRa(a[f>>0]|0)|0;if(ASa(f,CRa()|0)|0){c[d>>2]=0;o=0;m=1;k=0}else{o=j;m=0}}else{o=0;m=1;k=0}j=c[e>>2]|0;do if(j){f=c[j+12>>2]|0;if((f|0)==(c[j+16>>2]|0))f=gk[c[(c[j>>2]|0)+36>>2]&1023](j)|0;else f=DRa(a[f>>0]|0)|0;if(!(ASa(f,CRa()|0)|0))if(m)break;else break a;else{c[e>>2]=0;F=19;break}}else F=19;while(0);if((F|0)==19){F=0;if(m){j=0;break}else j=0}f=a[q>>0]|0;f=f<<24>>24<0?c[p>>2]|0:f&255;if((c[w>>2]|0)==(b+f|0)){F0a(C,f<<1,0);if((a[q>>0]|0)<0)b=(c[r>>2]&2147483647)+-1|0;else b=10;F0a(C,b,0);b=(a[q>>0]|0)<0?c[C>>2]|0:C;c[w>>2]=b+f}m=k+12|0;f=c[m>>2]|0;n=k+16|0;if((f|0)==(c[n>>2]|0))f=gk[c[(c[k>>2]|0)+36>>2]&1023](k)|0;else f=DRa(a[f>>0]|0)|0;if(pUa(f&255,A,s,b,w,a[u>>0]|0,a[v>>0]|0,D,x,y,z,t)|0)break;f=c[m>>2]|0;if((f|0)==(c[n>>2]|0))gk[c[(c[k>>2]|0)+40>>2]&1023](k)|0;else{c[m>>2]=f+1;DRa(a[f>>0]|0)|0}j=o}v=a[D+11>>0]|0;if(!((a[A>>0]|0)==0?1:((v<<24>>24<0?c[D+4>>2]|0:v&255)|0)==0)?(B=c[y>>2]|0,(B-x|0)<160):0){A=c[z>>2]|0;c[y>>2]=B+4;c[B>>2]=A}h[i>>3]=+qUa(b,c[w>>2]|0,g);rUa(D,x,c[y>>2]|0,g);if(k){b=c[k+12>>2]|0;if((b|0)==(c[k+16>>2]|0))b=gk[c[(c[o>>2]|0)+36>>2]&1023](k)|0;else b=DRa(a[b>>0]|0)|0;if(ASa(b,CRa()|0)|0){c[d>>2]=0;f=1}else f=0}else f=1;do if(j){b=c[j+12>>2]|0;if((b|0)==(c[j+16>>2]|0))b=gk[c[(c[j>>2]|0)+36>>2]&1023](j)|0;else b=DRa(a[b>>0]|0)|0;if(!(ASa(b,CRa()|0)|0))if(f)break;else{F=50;break}else{c[e>>2]=0;F=48;break}}else F=48;while(0);if((F|0)==48?f:0)F=50;if((F|0)==50)c[g>>2]=c[g>>2]|2;F=c[d>>2]|0;y0a(C);y0a(D);l=E;return F|0}function oUa(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0;h=l;l=l+16|0;i=h;BSa(i,d);d=cUa(i,230580)|0;mk[c[(c[d>>2]|0)+32>>2]&63](d,39424,39456,e)|0;e=cUa(i,230596)|0;a[f>>0]=gk[c[(c[e>>2]|0)+12>>2]&1023](e)|0;a[g>>0]=gk[c[(c[e>>2]|0)+16>>2]&1023](e)|0;Jk[c[(c[e>>2]|0)+20>>2]&1023](b,e);dUa(i);l=h;return}function pUa(b,d,e,f,g,h,i,j,k,l,m,n){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;var o=0,p=0;a:do if(b<<24>>24==h<<24>>24)if(a[d>>0]|0){a[d>>0]=0;e=c[g>>2]|0;c[g>>2]=e+1;a[e>>0]=46;g=a[j+11>>0]|0;if(((g<<24>>24<0?c[j+4>>2]|0:g&255)|0)!=0?(o=c[l>>2]|0,(o-k|0)<160):0){k=c[m>>2]|0;c[l>>2]=o+4;c[o>>2]=k;o=0}else o=0}else o=-1;else{if(b<<24>>24==i<<24>>24?(i=a[j+11>>0]|0,(i<<24>>24<0?c[j+4>>2]|0:i&255)|0):0){if(!(a[d>>0]|0)){o=-1;break}o=c[l>>2]|0;if((o-k|0)>=160){o=0;break}k=c[m>>2]|0;c[l>>2]=o+4;c[o>>2]=k;c[m>>2]=0;o=0;break}i=n+32|0;h=0;while(1){o=n+h|0;if((h|0)==32){o=i;break}if((a[o>>0]|0)==b<<24>>24)break;else h=h+1|0}h=o-n|0;if((h|0)>31)o=-1;else{i=a[39424+h>>0]|0;switch(h|0){case 24:case 25:{o=c[g>>2]|0;if((o|0)!=(f|0)?(a[o+-1>>0]&95)!=(a[e>>0]&127):0){o=-1;break a}c[g>>2]=o+1;a[o>>0]=i;o=0;break a}case 23:case 22:{a[e>>0]=80;o=c[g>>2]|0;c[g>>2]=o+1;a[o>>0]=i;o=0;break a}default:{o=i&95;if((((o|0)==(a[e>>0]|0)?(a[e>>0]=o|128,a[d>>0]|0):0)?(a[d>>0]=0,e=a[j+11>>0]|0,(e<<24>>24<0?c[j+4>>2]|0:e&255)|0):0)?(p=c[l>>2]|0,(p-k|0)<160):0){k=c[m>>2]|0;c[l>>2]=p+4;c[p>>2]=k}l=c[g>>2]|0;c[g>>2]=l+1;a[l>>0]=i;if((h|0)>21){o=0;break a}c[m>>2]=(c[m>>2]|0)+1;o=0;break a}}}}while(0);return o|0}function qUa(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,f=0,g=0,h=0,i=0;i=l;l=l+16|0;f=i;if((a|0)==(b|0)){c[d>>2]=4;e=0.0}else{g=c[(QNa()|0)>>2]|0;c[(QNa()|0)>>2]=0;e=+NPa(a,f,fUa()|0);a=c[(QNa()|0)>>2]|0;if(!a)c[(QNa()|0)>>2]=g;if((c[f>>2]|0)==(b|0)){if((a|0)==34)h=6}else{e=0.0;h=6}if((h|0)==6)c[d>>2]=4}l=i;return +e}function rUa(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0;j=b+11|0;h=a[j>>0]|0;k=b+4|0;g=c[k>>2]|0;i=h&255;do if((h<<24>>24<0?g:i)|0){if((d|0)!=(e|0)){g=e;h=d;while(1){g=g+-4|0;if(h>>>0>=g>>>0)break;i=c[h>>2]|0;c[h>>2]=c[g>>2];c[g>>2]=i;h=h+4|0}h=a[j>>0]|0;i=h&255;g=c[k>>2]|0}j=h<<24>>24<0;b=j?c[b>>2]|0:b;k=e+-4|0;j=b+(j?g:i)|0;g=b;while(1){h=a[g>>0]|0;i=h<<24>>24>0&h<<24>>24!=127;if(d>>>0>=k>>>0)break;if(i?(c[d>>2]|0)!=(h<<24>>24|0):0){l=11;break}d=d+4|0;g=(j-g|0)>1?g+1|0:g}if((l|0)==11){c[f>>2]=4;break}if(i?((c[k>>2]|0)+-1|0)>>>0>=h<<24>>24>>>0:0)c[f>>2]=4}while(0);return}function sUa(b,d,e,f,g,i){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;i=i|0;var j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0;E=l;l=l+240|0;t=E+160|0;u=E+231|0;v=E+230|0;D=E+216|0;C=E+204|0;w=E+200|0;x=E;y=E+196|0;z=E+192|0;A=E+229|0;s=E+228|0;oUa(D,f,t,u,v);c[C>>2]=0;c[C+4>>2]=0;c[C+8>>2]=0;b=0;while(1){if((b|0)==3)break;c[C+(b<<2)>>2]=0;b=b+1|0}q=C+11|0;r=C+8|0;if((a[q>>0]|0)<0)b=(c[r>>2]&2147483647)+-1|0;else b=10;F0a(C,b,0);b=(a[q>>0]|0)<0?c[C>>2]|0:C;c[w>>2]=b;c[y>>2]=x;c[z>>2]=0;a[A>>0]=1;a[s>>0]=69;p=C+4|0;k=c[d>>2]|0;j=k;a:while(1){if(k){f=c[k+12>>2]|0;if((f|0)==(c[k+16>>2]|0))f=gk[c[(c[k>>2]|0)+36>>2]&1023](k)|0;else f=DRa(a[f>>0]|0)|0;if(ASa(f,CRa()|0)|0){c[d>>2]=0;o=0;m=1;k=0}else{o=j;m=0}}else{o=0;m=1;k=0}j=c[e>>2]|0;do if(j){f=c[j+12>>2]|0;if((f|0)==(c[j+16>>2]|0))f=gk[c[(c[j>>2]|0)+36>>2]&1023](j)|0;else f=DRa(a[f>>0]|0)|0;if(!(ASa(f,CRa()|0)|0))if(m)break;else break a;else{c[e>>2]=0;F=19;break}}else F=19;while(0);if((F|0)==19){F=0;if(m){j=0;break}else j=0}f=a[q>>0]|0;f=f<<24>>24<0?c[p>>2]|0:f&255;if((c[w>>2]|0)==(b+f|0)){F0a(C,f<<1,0);if((a[q>>0]|0)<0)b=(c[r>>2]&2147483647)+-1|0;else b=10;F0a(C,b,0);b=(a[q>>0]|0)<0?c[C>>2]|0:C;c[w>>2]=b+f}m=k+12|0;f=c[m>>2]|0;n=k+16|0;if((f|0)==(c[n>>2]|0))f=gk[c[(c[k>>2]|0)+36>>2]&1023](k)|0;else f=DRa(a[f>>0]|0)|0;if(pUa(f&255,A,s,b,w,a[u>>0]|0,a[v>>0]|0,D,x,y,z,t)|0)break;f=c[m>>2]|0;if((f|0)==(c[n>>2]|0))gk[c[(c[k>>2]|0)+40>>2]&1023](k)|0;else{c[m>>2]=f+1;DRa(a[f>>0]|0)|0}j=o}v=a[D+11>>0]|0;if(!((a[A>>0]|0)==0?1:((v<<24>>24<0?c[D+4>>2]|0:v&255)|0)==0)?(B=c[y>>2]|0,(B-x|0)<160):0){A=c[z>>2]|0;c[y>>2]=B+4;c[B>>2]=A}h[i>>3]=+tUa(b,c[w>>2]|0,g);rUa(D,x,c[y>>2]|0,g);if(k){b=c[k+12>>2]|0;if((b|0)==(c[k+16>>2]|0))b=gk[c[(c[o>>2]|0)+36>>2]&1023](k)|0;else b=DRa(a[b>>0]|0)|0;if(ASa(b,CRa()|0)|0){c[d>>2]=0;f=1}else f=0}else f=1;do if(j){b=c[j+12>>2]|0;if((b|0)==(c[j+16>>2]|0))b=gk[c[(c[j>>2]|0)+36>>2]&1023](j)|0;else b=DRa(a[b>>0]|0)|0;if(!(ASa(b,CRa()|0)|0))if(f)break;else{F=50;break}else{c[e>>2]=0;F=48;break}}else F=48;while(0);if((F|0)==48?f:0)F=50;if((F|0)==50)c[g>>2]=c[g>>2]|2;F=c[d>>2]|0;y0a(C);y0a(D);l=E;return F|0}function tUa(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,f=0,g=0,h=0,i=0;i=l;l=l+16|0;f=i;if((a|0)==(b|0)){c[d>>2]=4;e=0.0}else{g=c[(QNa()|0)>>2]|0;c[(QNa()|0)>>2]=0;e=+MPa(a,f,fUa()|0);a=c[(QNa()|0)>>2]|0;if(!a)c[(QNa()|0)>>2]=g;if((c[f>>2]|0)==(b|0)){if((a|0)==34)h=6}else{e=0.0;h=6}if((h|0)==6)c[d>>2]=4}l=i;return +e}function uUa(b,d,e,f,h,i){b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;i=i|0;var j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0;E=l;l=l+240|0;t=E+160|0;u=E+231|0;v=E+230|0;D=E+216|0;C=E+204|0;w=E+200|0;x=E;y=E+196|0;z=E+192|0;A=E+229|0;s=E+228|0;oUa(D,f,t,u,v);c[C>>2]=0;c[C+4>>2]=0;c[C+8>>2]=0;b=0;while(1){if((b|0)==3)break;c[C+(b<<2)>>2]=0;b=b+1|0}q=C+11|0;r=C+8|0;if((a[q>>0]|0)<0)b=(c[r>>2]&2147483647)+-1|0;else b=10;F0a(C,b,0);b=(a[q>>0]|0)<0?c[C>>2]|0:C;c[w>>2]=b;c[y>>2]=x;c[z>>2]=0;a[A>>0]=1;a[s>>0]=69;p=C+4|0;k=c[d>>2]|0;j=k;a:while(1){if(k){f=c[k+12>>2]|0;if((f|0)==(c[k+16>>2]|0))f=gk[c[(c[k>>2]|0)+36>>2]&1023](k)|0;else f=DRa(a[f>>0]|0)|0;if(ASa(f,CRa()|0)|0){c[d>>2]=0;o=0;m=1;k=0}else{o=j;m=0}}else{o=0;m=1;k=0}j=c[e>>2]|0;do if(j){f=c[j+12>>2]|0;if((f|0)==(c[j+16>>2]|0))f=gk[c[(c[j>>2]|0)+36>>2]&1023](j)|0;else f=DRa(a[f>>0]|0)|0;if(!(ASa(f,CRa()|0)|0))if(m)break;else break a;else{c[e>>2]=0;F=19;break}}else F=19;while(0);if((F|0)==19){F=0;if(m){j=0;break}else j=0}f=a[q>>0]|0;f=f<<24>>24<0?c[p>>2]|0:f&255;if((c[w>>2]|0)==(b+f|0)){F0a(C,f<<1,0);if((a[q>>0]|0)<0)b=(c[r>>2]&2147483647)+-1|0;else b=10;F0a(C,b,0);b=(a[q>>0]|0)<0?c[C>>2]|0:C;c[w>>2]=b+f}m=k+12|0;f=c[m>>2]|0;n=k+16|0;if((f|0)==(c[n>>2]|0))f=gk[c[(c[k>>2]|0)+36>>2]&1023](k)|0;else f=DRa(a[f>>0]|0)|0;if(pUa(f&255,A,s,b,w,a[u>>0]|0,a[v>>0]|0,D,x,y,z,t)|0)break;f=c[m>>2]|0;if((f|0)==(c[n>>2]|0))gk[c[(c[k>>2]|0)+40>>2]&1023](k)|0;else{c[m>>2]=f+1;DRa(a[f>>0]|0)|0}j=o}v=a[D+11>>0]|0;if(!((a[A>>0]|0)==0?1:((v<<24>>24<0?c[D+4>>2]|0:v&255)|0)==0)?(B=c[y>>2]|0,(B-x|0)<160):0){A=c[z>>2]|0;c[y>>2]=B+4;c[B>>2]=A}g[i>>2]=+vUa(b,c[w>>2]|0,h);rUa(D,x,c[y>>2]|0,h);if(k){b=c[k+12>>2]|0;if((b|0)==(c[k+16>>2]|0))b=gk[c[(c[o>>2]|0)+36>>2]&1023](k)|0;else b=DRa(a[b>>0]|0)|0;if(ASa(b,CRa()|0)|0){c[d>>2]=0;f=1}else f=0}else f=1;do if(j){b=c[j+12>>2]|0;if((b|0)==(c[j+16>>2]|0))b=gk[c[(c[j>>2]|0)+36>>2]&1023](j)|0;else b=DRa(a[b>>0]|0)|0;if(!(ASa(b,CRa()|0)|0))if(f)break;else{F=50;break}else{c[e>>2]=0;F=48;break}}else F=48;while(0);if((F|0)==48?f:0)F=50;if((F|0)==50)c[h>>2]=c[h>>2]|2;F=c[d>>2]|0;y0a(C);y0a(D);l=E;return F|0}function vUa(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,f=0,g=0,h=0,i=0;i=l;l=l+16|0;f=i;if((a|0)==(b|0)){c[d>>2]=4;e=0.0}else{g=c[(QNa()|0)>>2]|0;c[(QNa()|0)>>2]=0;e=+LPa(a,f,fUa()|0);a=c[(QNa()|0)>>2]|0;if(!a)c[(QNa()|0)>>2]=g;if((c[f>>2]|0)==(b|0)){if((a|0)==34)h=6}else{e=0.0;h=6}if((h|0)==6)c[d>>2]=4}l=i;return +e}function wUa(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,z=0,A=0,B=0,C=0,D=0;D=l;l=l+240|0;s=D+224|0;A=D+212|0;B=D+200|0;t=D+196|0;u=D;w=D+192|0;x=D+188|0;z=xUa(f)|0;r=yUa(b,f,D+160|0)|0;zUa(A,f,s);c[B>>2]=0;c[B+4>>2]=0;c[B+8>>2]=0;b=0;while(1){if((b|0)==3)break;c[B+(b<<2)>>2]=0;b=b+1|0}p=B+11|0;q=B+8|0;if((a[p>>0]|0)<0)b=(c[q>>2]&2147483647)+-1|0;else b=10;F0a(B,b,0);b=(a[p>>0]|0)<0?c[B>>2]|0:B;c[t>>2]=b;c[w>>2]=u;c[x>>2]=0;o=B+4|0;j=c[d>>2]|0;i=j;a:while(1){if(j){f=c[j+12>>2]|0;if((f|0)==(c[j+16>>2]|0))f=gk[c[(c[j>>2]|0)+36>>2]&1023](j)|0;else f=DRa(a[f>>0]|0)|0;if(ASa(f,CRa()|0)|0){c[d>>2]=0;n=0;k=1;j=0}else{n=i;k=0}}else{n=0;k=1;j=0}i=c[e>>2]|0;do if(i){f=c[i+12>>2]|0;if((f|0)==(c[i+16>>2]|0))f=gk[c[(c[i>>2]|0)+36>>2]&1023](i)|0;else f=DRa(a[f>>0]|0)|0;if(!(ASa(f,CRa()|0)|0))if(k)break;else break a;else{c[e>>2]=0;C=19;break}}else C=19;while(0);if((C|0)==19){C=0;if(k){i=0;break}else i=0}f=a[p>>0]|0;f=f<<24>>24<0?c[o>>2]|0:f&255;if((c[t>>2]|0)==(b+f|0)){F0a(B,f<<1,0);if((a[p>>0]|0)<0)b=(c[q>>2]&2147483647)+-1|0;else b=10;F0a(B,b,0);b=(a[p>>0]|0)<0?c[B>>2]|0:B;c[t>>2]=b+f}k=j+12|0;f=c[k>>2]|0;m=j+16|0;if((f|0)==(c[m>>2]|0))f=gk[c[(c[j>>2]|0)+36>>2]&1023](j)|0;else f=DRa(a[f>>0]|0)|0;if(eUa(f&255,z,b,t,x,a[s>>0]|0,A,u,w,r)|0)break;f=c[k>>2]|0;if((f|0)==(c[m>>2]|0))gk[c[(c[j>>2]|0)+40>>2]&1023](j)|0;else{c[k>>2]=f+1;DRa(a[f>>0]|0)|0}i=n}s=a[A+11>>0]|0;if((s<<24>>24<0?c[A+4>>2]|0:s&255)|0?(v=c[w>>2]|0,(v-u|0)<160):0){x=c[x>>2]|0;c[w>>2]=v+4;c[v>>2]=x}z=AUa(b,c[t>>2]|0,g,z)|0;c[h>>2]=z;c[h+4>>2]=y;rUa(A,u,c[w>>2]|0,g);if(j){b=c[j+12>>2]|0;if((b|0)==(c[j+16>>2]|0))b=gk[c[(c[n>>2]|0)+36>>2]&1023](j)|0;else b=DRa(a[b>>0]|0)|0;if(ASa(b,CRa()|0)|0){c[d>>2]=0;f=1}else f=0}else f=1;do if(i){b=c[i+12>>2]|0;if((b|0)==(c[i+16>>2]|0))b=gk[c[(c[i>>2]|0)+36>>2]&1023](i)|0;else b=DRa(a[b>>0]|0)|0;if(!(ASa(b,CRa()|0)|0))if(f)break;else{C=50;break}else{c[e>>2]=0;C=48;break}}else C=48;while(0);if((C|0)==48?f:0)C=50;if((C|0)==50)c[g>>2]=c[g>>2]|2;C=c[d>>2]|0;y0a(B);y0a(A);l=D;return C|0}function xUa(a){a=a|0;switch(c[a+4>>2]&74){case 64:{a=8;break}case 8:{a=16;break}case 0:{a=0;break}default:a=10}return a|0}function yUa(a,b,c){a=a|0;b=b|0;c=c|0;return BUa(a,b,c)|0}function zUa(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0;f=l;l=l+16|0;g=f;BSa(g,d);d=cUa(g,230596)|0;a[e>>0]=gk[c[(c[d>>2]|0)+16>>2]&1023](d)|0;Jk[c[(c[d>>2]|0)+20>>2]&1023](b,d);dUa(g);l=f;return}function AUa(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0;k=l;l=l+16|0;h=k;do if((b|0)==(d|0)){c[e>>2]=4;f=0;b=0}else{if((a[b>>0]|0)==45){c[e>>2]=4;f=0;b=0;break}i=c[(QNa()|0)>>2]|0;c[(QNa()|0)>>2]=0;b=BOa(b,h,f,fUa()|0)|0;f=y;g=c[(QNa()|0)>>2]|0;if(!g)c[(QNa()|0)>>2]=i;if((c[h>>2]|0)==(d|0)){if((g|0)==34){b=-1;f=-1;j=8}}else{b=0;f=0;j=8}if((j|0)==8)c[e>>2]=4}while(0);y=f;l=k;return b|0}function BUa(a,b,c){a=a|0;b=b|0;c=c|0;return 39424}function CUa(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;C=l;l=l+240|0;s=C+224|0;z=C+212|0;A=C+200|0;t=C+196|0;u=C;w=C+192|0;x=C+188|0;y=xUa(f)|0;r=yUa(b,f,C+160|0)|0;zUa(z,f,s);c[A>>2]=0;c[A+4>>2]=0;c[A+8>>2]=0;b=0;while(1){if((b|0)==3)break;c[A+(b<<2)>>2]=0;b=b+1|0}p=A+11|0;q=A+8|0;if((a[p>>0]|0)<0)b=(c[q>>2]&2147483647)+-1|0;else b=10;F0a(A,b,0);b=(a[p>>0]|0)<0?c[A>>2]|0:A;c[t>>2]=b;c[w>>2]=u;c[x>>2]=0;o=A+4|0;j=c[d>>2]|0;i=j;a:while(1){if(j){f=c[j+12>>2]|0;if((f|0)==(c[j+16>>2]|0))f=gk[c[(c[j>>2]|0)+36>>2]&1023](j)|0;else f=DRa(a[f>>0]|0)|0;if(ASa(f,CRa()|0)|0){c[d>>2]=0;n=0;k=1;j=0}else{n=i;k=0}}else{n=0;k=1;j=0}i=c[e>>2]|0;do if(i){f=c[i+12>>2]|0;if((f|0)==(c[i+16>>2]|0))f=gk[c[(c[i>>2]|0)+36>>2]&1023](i)|0;else f=DRa(a[f>>0]|0)|0;if(!(ASa(f,CRa()|0)|0))if(k)break;else break a;else{c[e>>2]=0;B=19;break}}else B=19;while(0);if((B|0)==19){B=0;if(k){i=0;break}else i=0}f=a[p>>0]|0;f=f<<24>>24<0?c[o>>2]|0:f&255;if((c[t>>2]|0)==(b+f|0)){F0a(A,f<<1,0);if((a[p>>0]|0)<0)b=(c[q>>2]&2147483647)+-1|0;else b=10;F0a(A,b,0);b=(a[p>>0]|0)<0?c[A>>2]|0:A;c[t>>2]=b+f}k=j+12|0;f=c[k>>2]|0;m=j+16|0;if((f|0)==(c[m>>2]|0))f=gk[c[(c[j>>2]|0)+36>>2]&1023](j)|0;else f=DRa(a[f>>0]|0)|0;if(eUa(f&255,y,b,t,x,a[s>>0]|0,z,u,w,r)|0)break;f=c[k>>2]|0;if((f|0)==(c[m>>2]|0))gk[c[(c[j>>2]|0)+40>>2]&1023](j)|0;else{c[k>>2]=f+1;DRa(a[f>>0]|0)|0}i=n}s=a[z+11>>0]|0;if((s<<24>>24<0?c[z+4>>2]|0:s&255)|0?(v=c[w>>2]|0,(v-u|0)<160):0){x=c[x>>2]|0;c[w>>2]=v+4;c[v>>2]=x}c[h>>2]=DUa(b,c[t>>2]|0,g,y)|0;rUa(z,u,c[w>>2]|0,g);if(j){b=c[j+12>>2]|0;if((b|0)==(c[j+16>>2]|0))b=gk[c[(c[n>>2]|0)+36>>2]&1023](j)|0;else b=DRa(a[b>>0]|0)|0;if(ASa(b,CRa()|0)|0){c[d>>2]=0;f=1}else f=0}else f=1;do if(i){b=c[i+12>>2]|0;if((b|0)==(c[i+16>>2]|0))b=gk[c[(c[i>>2]|0)+36>>2]&1023](i)|0;else b=DRa(a[b>>0]|0)|0;if(!(ASa(b,CRa()|0)|0))if(f)break;else{B=50;break}else{c[e>>2]=0;B=48;break}}else B=48;while(0);if((B|0)==48?f:0)B=50;if((B|0)==50)c[g>>2]=c[g>>2]|2;B=c[d>>2]|0;y0a(A);y0a(z);l=C;return B|0}function DUa(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0;j=l;l=l+16|0;h=j;do if((b|0)==(d|0)){c[e>>2]=4;b=0}else{if((a[b>>0]|0)==45){c[e>>2]=4;b=0;break}i=c[(QNa()|0)>>2]|0;c[(QNa()|0)>>2]=0;b=BOa(b,h,f,fUa()|0)|0;f=y;g=c[(QNa()|0)>>2]|0;if(!g)c[(QNa()|0)>>2]=i;do if((c[h>>2]|0)==(d|0))if(f>>>0>0|(f|0)==0&b>>>0>4294967295|(g|0)==34){c[e>>2]=4;b=-1;break}else break;else{c[e>>2]=4;b=0}while(0)}while(0);l=j;return b|0}function EUa(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;C=l;l=l+240|0;s=C+224|0;z=C+212|0;A=C+200|0;t=C+196|0;u=C;w=C+192|0;x=C+188|0;y=xUa(f)|0;r=yUa(b,f,C+160|0)|0;zUa(z,f,s);c[A>>2]=0;c[A+4>>2]=0;c[A+8>>2]=0;b=0;while(1){if((b|0)==3)break;c[A+(b<<2)>>2]=0;b=b+1|0}p=A+11|0;q=A+8|0;if((a[p>>0]|0)<0)b=(c[q>>2]&2147483647)+-1|0;else b=10;F0a(A,b,0);b=(a[p>>0]|0)<0?c[A>>2]|0:A;c[t>>2]=b;c[w>>2]=u;c[x>>2]=0;o=A+4|0;j=c[d>>2]|0;i=j;a:while(1){if(j){f=c[j+12>>2]|0;if((f|0)==(c[j+16>>2]|0))f=gk[c[(c[j>>2]|0)+36>>2]&1023](j)|0;else f=DRa(a[f>>0]|0)|0;if(ASa(f,CRa()|0)|0){c[d>>2]=0;n=0;k=1;j=0}else{n=i;k=0}}else{n=0;k=1;j=0}i=c[e>>2]|0;do if(i){f=c[i+12>>2]|0;if((f|0)==(c[i+16>>2]|0))f=gk[c[(c[i>>2]|0)+36>>2]&1023](i)|0;else f=DRa(a[f>>0]|0)|0;if(!(ASa(f,CRa()|0)|0))if(k)break;else break a;else{c[e>>2]=0;B=19;break}}else B=19;while(0);if((B|0)==19){B=0;if(k){i=0;break}else i=0}f=a[p>>0]|0;f=f<<24>>24<0?c[o>>2]|0:f&255;if((c[t>>2]|0)==(b+f|0)){F0a(A,f<<1,0);if((a[p>>0]|0)<0)b=(c[q>>2]&2147483647)+-1|0;else b=10;F0a(A,b,0);b=(a[p>>0]|0)<0?c[A>>2]|0:A;c[t>>2]=b+f}k=j+12|0;f=c[k>>2]|0;m=j+16|0;if((f|0)==(c[m>>2]|0))f=gk[c[(c[j>>2]|0)+36>>2]&1023](j)|0;else f=DRa(a[f>>0]|0)|0;if(eUa(f&255,y,b,t,x,a[s>>0]|0,z,u,w,r)|0)break;f=c[k>>2]|0;if((f|0)==(c[m>>2]|0))gk[c[(c[j>>2]|0)+40>>2]&1023](j)|0;else{c[k>>2]=f+1;DRa(a[f>>0]|0)|0}i=n}s=a[z+11>>0]|0;if((s<<24>>24<0?c[z+4>>2]|0:s&255)|0?(v=c[w>>2]|0,(v-u|0)<160):0){x=c[x>>2]|0;c[w>>2]=v+4;c[v>>2]=x}c[h>>2]=FUa(b,c[t>>2]|0,g,y)|0;rUa(z,u,c[w>>2]|0,g);if(j){b=c[j+12>>2]|0;if((b|0)==(c[j+16>>2]|0))b=gk[c[(c[n>>2]|0)+36>>2]&1023](j)|0;else b=DRa(a[b>>0]|0)|0;if(ASa(b,CRa()|0)|0){c[d>>2]=0;f=1}else f=0}else f=1;do if(i){b=c[i+12>>2]|0;if((b|0)==(c[i+16>>2]|0))b=gk[c[(c[i>>2]|0)+36>>2]&1023](i)|0;else b=DRa(a[b>>0]|0)|0;if(!(ASa(b,CRa()|0)|0))if(f)break;else{B=50;break}else{c[e>>2]=0;B=48;break}}else B=48;while(0);if((B|0)==48?f:0)B=50;if((B|0)==50)c[g>>2]=c[g>>2]|2;B=c[d>>2]|0;y0a(A);y0a(z);l=C;return B|0}function FUa(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0;j=l;l=l+16|0;h=j;do if((b|0)==(d|0)){c[e>>2]=4;b=0}else{if((a[b>>0]|0)==45){c[e>>2]=4;b=0;break}i=c[(QNa()|0)>>2]|0;c[(QNa()|0)>>2]=0;b=BOa(b,h,f,fUa()|0)|0;f=y;g=c[(QNa()|0)>>2]|0;if(!g)c[(QNa()|0)>>2]=i;do if((c[h>>2]|0)==(d|0))if(f>>>0>0|(f|0)==0&b>>>0>4294967295|(g|0)==34){c[e>>2]=4;b=-1;break}else break;else{c[e>>2]=4;b=0}while(0)}while(0);l=j;return b|0}function GUa(d,e,f,g,h,i){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;D=l;l=l+240|0;t=D+224|0;A=D+212|0;B=D+200|0;u=D+196|0;v=D;x=D+192|0;y=D+188|0;z=xUa(g)|0;s=yUa(d,g,D+160|0)|0;zUa(A,g,t);c[B>>2]=0;c[B+4>>2]=0;c[B+8>>2]=0;d=0;while(1){if((d|0)==3)break;c[B+(d<<2)>>2]=0;d=d+1|0}q=B+11|0;r=B+8|0;if((a[q>>0]|0)<0)d=(c[r>>2]&2147483647)+-1|0;else d=10;F0a(B,d,0);d=(a[q>>0]|0)<0?c[B>>2]|0:B;c[u>>2]=d;c[x>>2]=v;c[y>>2]=0;p=B+4|0;k=c[e>>2]|0;j=k;a:while(1){if(k){g=c[k+12>>2]|0;if((g|0)==(c[k+16>>2]|0))g=gk[c[(c[k>>2]|0)+36>>2]&1023](k)|0;else g=DRa(a[g>>0]|0)|0;if(ASa(g,CRa()|0)|0){c[e>>2]=0;o=0;m=1;k=0}else{o=j;m=0}}else{o=0;m=1;k=0}j=c[f>>2]|0;do if(j){g=c[j+12>>2]|0;if((g|0)==(c[j+16>>2]|0))g=gk[c[(c[j>>2]|0)+36>>2]&1023](j)|0;else g=DRa(a[g>>0]|0)|0;if(!(ASa(g,CRa()|0)|0))if(m)break;else break a;else{c[f>>2]=0;C=19;break}}else C=19;while(0);if((C|0)==19){C=0;if(m){j=0;break}else j=0}g=a[q>>0]|0;g=g<<24>>24<0?c[p>>2]|0:g&255;if((c[u>>2]|0)==(d+g|0)){F0a(B,g<<1,0);if((a[q>>0]|0)<0)d=(c[r>>2]&2147483647)+-1|0;else d=10;F0a(B,d,0);d=(a[q>>0]|0)<0?c[B>>2]|0:B;c[u>>2]=d+g}m=k+12|0;g=c[m>>2]|0;n=k+16|0;if((g|0)==(c[n>>2]|0))g=gk[c[(c[k>>2]|0)+36>>2]&1023](k)|0;else g=DRa(a[g>>0]|0)|0;if(eUa(g&255,z,d,u,y,a[t>>0]|0,A,v,x,s)|0)break;g=c[m>>2]|0;if((g|0)==(c[n>>2]|0))gk[c[(c[k>>2]|0)+40>>2]&1023](k)|0;else{c[m>>2]=g+1;DRa(a[g>>0]|0)|0}j=o}t=a[A+11>>0]|0;if((t<<24>>24<0?c[A+4>>2]|0:t&255)|0?(w=c[x>>2]|0,(w-v|0)<160):0){y=c[y>>2]|0;c[x>>2]=w+4;c[w>>2]=y}b[i>>1]=HUa(d,c[u>>2]|0,h,z)|0;rUa(A,v,c[x>>2]|0,h);if(k){d=c[k+12>>2]|0;if((d|0)==(c[k+16>>2]|0))d=gk[c[(c[o>>2]|0)+36>>2]&1023](k)|0;else d=DRa(a[d>>0]|0)|0;if(ASa(d,CRa()|0)|0){c[e>>2]=0;g=1}else g=0}else g=1;do if(j){d=c[j+12>>2]|0;if((d|0)==(c[j+16>>2]|0))d=gk[c[(c[j>>2]|0)+36>>2]&1023](j)|0;else d=DRa(a[d>>0]|0)|0;if(!(ASa(d,CRa()|0)|0))if(g)break;else{C=50;break}else{c[f>>2]=0;C=48;break}}else C=48;while(0);if((C|0)==48?g:0)C=50;if((C|0)==50)c[h>>2]=c[h>>2]|2;C=c[e>>2]|0;y0a(B);y0a(A);l=D;return C|0}function HUa(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0;j=l;l=l+16|0;h=j;do if((b|0)==(d|0)){c[e>>2]=4;b=0}else{if((a[b>>0]|0)==45){c[e>>2]=4;b=0;break}i=c[(QNa()|0)>>2]|0;c[(QNa()|0)>>2]=0;b=BOa(b,h,f,fUa()|0)|0;f=y;g=c[(QNa()|0)>>2]|0;if(!g)c[(QNa()|0)>>2]=i;do if((c[h>>2]|0)==(d|0))if(f>>>0>0|(f|0)==0&b>>>0>65535|(g|0)==34){c[e>>2]=4;b=-1;break}else{b=b&65535;break}else{c[e>>2]=4;b=0}while(0)}while(0);l=j;return b|0}function IUa(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,z=0,A=0,B=0,C=0,D=0;D=l;l=l+240|0;s=D+224|0;A=D+212|0;B=D+200|0;t=D+196|0;u=D;w=D+192|0;x=D+188|0;z=xUa(f)|0;r=yUa(b,f,D+160|0)|0;zUa(A,f,s);c[B>>2]=0;c[B+4>>2]=0;c[B+8>>2]=0;b=0;while(1){if((b|0)==3)break;c[B+(b<<2)>>2]=0;b=b+1|0}p=B+11|0;q=B+8|0;if((a[p>>0]|0)<0)b=(c[q>>2]&2147483647)+-1|0;else b=10;F0a(B,b,0);b=(a[p>>0]|0)<0?c[B>>2]|0:B;c[t>>2]=b;c[w>>2]=u;c[x>>2]=0;o=B+4|0;j=c[d>>2]|0;i=j;a:while(1){if(j){f=c[j+12>>2]|0;if((f|0)==(c[j+16>>2]|0))f=gk[c[(c[j>>2]|0)+36>>2]&1023](j)|0;else f=DRa(a[f>>0]|0)|0;if(ASa(f,CRa()|0)|0){c[d>>2]=0;n=0;k=1;j=0}else{n=i;k=0}}else{n=0;k=1;j=0}i=c[e>>2]|0;do if(i){f=c[i+12>>2]|0;if((f|0)==(c[i+16>>2]|0))f=gk[c[(c[i>>2]|0)+36>>2]&1023](i)|0;else f=DRa(a[f>>0]|0)|0;if(!(ASa(f,CRa()|0)|0))if(k)break;else break a;else{c[e>>2]=0;C=19;break}}else C=19;while(0);if((C|0)==19){C=0;if(k){i=0;break}else i=0}f=a[p>>0]|0;f=f<<24>>24<0?c[o>>2]|0:f&255;if((c[t>>2]|0)==(b+f|0)){F0a(B,f<<1,0);if((a[p>>0]|0)<0)b=(c[q>>2]&2147483647)+-1|0;else b=10;F0a(B,b,0);b=(a[p>>0]|0)<0?c[B>>2]|0:B;c[t>>2]=b+f}k=j+12|0;f=c[k>>2]|0;m=j+16|0;if((f|0)==(c[m>>2]|0))f=gk[c[(c[j>>2]|0)+36>>2]&1023](j)|0;else f=DRa(a[f>>0]|0)|0;if(eUa(f&255,z,b,t,x,a[s>>0]|0,A,u,w,r)|0)break;f=c[k>>2]|0;if((f|0)==(c[m>>2]|0))gk[c[(c[j>>2]|0)+40>>2]&1023](j)|0;else{c[k>>2]=f+1;DRa(a[f>>0]|0)|0}i=n}s=a[A+11>>0]|0;if((s<<24>>24<0?c[A+4>>2]|0:s&255)|0?(v=c[w>>2]|0,(v-u|0)<160):0){x=c[x>>2]|0;c[w>>2]=v+4;c[v>>2]=x}z=JUa(b,c[t>>2]|0,g,z)|0;c[h>>2]=z;c[h+4>>2]=y;rUa(A,u,c[w>>2]|0,g);if(j){b=c[j+12>>2]|0;if((b|0)==(c[j+16>>2]|0))b=gk[c[(c[n>>2]|0)+36>>2]&1023](j)|0;else b=DRa(a[b>>0]|0)|0;if(ASa(b,CRa()|0)|0){c[d>>2]=0;f=1}else f=0}else f=1;do if(i){b=c[i+12>>2]|0;if((b|0)==(c[i+16>>2]|0))b=gk[c[(c[i>>2]|0)+36>>2]&1023](i)|0;else b=DRa(a[b>>0]|0)|0;if(!(ASa(b,CRa()|0)|0))if(f)break;else{C=50;break}else{c[e>>2]=0;C=48;break}}else C=48;while(0);if((C|0)==48?f:0)C=50;if((C|0)==50)c[g>>2]=c[g>>2]|2;C=c[d>>2]|0;y0a(B);y0a(A);l=D;return C|0}function JUa(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;i=l;l=l+16|0;g=i;if((a|0)==(b|0)){c[d>>2]=4;e=0;a=0}else{h=c[(QNa()|0)>>2]|0;c[(QNa()|0)>>2]=0;a=KOa(a,g,e,fUa()|0)|0;e=y;f=c[(QNa()|0)>>2]|0;if(!f)c[(QNa()|0)>>2]=h;if((c[g>>2]|0)==(b|0)){if((f|0)==34){c[d>>2]=4;e=(e|0)>0|(e|0)==0&a>>>0>0;a=e?-1:0;e=e?2147483647:-2147483648}}else{c[d>>2]=4;a=0;e=0}}y=e;l=i;return a|0}function KUa(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;C=l;l=l+240|0;s=C+224|0;z=C+212|0;A=C+200|0;t=C+196|0;u=C;w=C+192|0;x=C+188|0;y=xUa(f)|0;r=yUa(b,f,C+160|0)|0;zUa(z,f,s);c[A>>2]=0;c[A+4>>2]=0;c[A+8>>2]=0;b=0;while(1){if((b|0)==3)break;c[A+(b<<2)>>2]=0;b=b+1|0}p=A+11|0;q=A+8|0;if((a[p>>0]|0)<0)b=(c[q>>2]&2147483647)+-1|0;else b=10;F0a(A,b,0);b=(a[p>>0]|0)<0?c[A>>2]|0:A;c[t>>2]=b;c[w>>2]=u;c[x>>2]=0;o=A+4|0;j=c[d>>2]|0;i=j;a:while(1){if(j){f=c[j+12>>2]|0;if((f|0)==(c[j+16>>2]|0))f=gk[c[(c[j>>2]|0)+36>>2]&1023](j)|0;else f=DRa(a[f>>0]|0)|0;if(ASa(f,CRa()|0)|0){c[d>>2]=0;n=0;k=1;j=0}else{n=i;k=0}}else{n=0;k=1;j=0}i=c[e>>2]|0;do if(i){f=c[i+12>>2]|0;if((f|0)==(c[i+16>>2]|0))f=gk[c[(c[i>>2]|0)+36>>2]&1023](i)|0;else f=DRa(a[f>>0]|0)|0;if(!(ASa(f,CRa()|0)|0))if(k)break;else break a;else{c[e>>2]=0;B=19;break}}else B=19;while(0);if((B|0)==19){B=0;if(k){i=0;break}else i=0}f=a[p>>0]|0;f=f<<24>>24<0?c[o>>2]|0:f&255;if((c[t>>2]|0)==(b+f|0)){F0a(A,f<<1,0);if((a[p>>0]|0)<0)b=(c[q>>2]&2147483647)+-1|0;else b=10;F0a(A,b,0);b=(a[p>>0]|0)<0?c[A>>2]|0:A;c[t>>2]=b+f}k=j+12|0;f=c[k>>2]|0;m=j+16|0;if((f|0)==(c[m>>2]|0))f=gk[c[(c[j>>2]|0)+36>>2]&1023](j)|0;else f=DRa(a[f>>0]|0)|0;if(eUa(f&255,y,b,t,x,a[s>>0]|0,z,u,w,r)|0)break;f=c[k>>2]|0;if((f|0)==(c[m>>2]|0))gk[c[(c[j>>2]|0)+40>>2]&1023](j)|0;else{c[k>>2]=f+1;DRa(a[f>>0]|0)|0}i=n}s=a[z+11>>0]|0;if((s<<24>>24<0?c[z+4>>2]|0:s&255)|0?(v=c[w>>2]|0,(v-u|0)<160):0){x=c[x>>2]|0;c[w>>2]=v+4;c[v>>2]=x}c[h>>2]=LUa(b,c[t>>2]|0,g,y)|0;rUa(z,u,c[w>>2]|0,g);if(j){b=c[j+12>>2]|0;if((b|0)==(c[j+16>>2]|0))b=gk[c[(c[n>>2]|0)+36>>2]&1023](j)|0;else b=DRa(a[b>>0]|0)|0;if(ASa(b,CRa()|0)|0){c[d>>2]=0;f=1}else f=0}else f=1;do if(i){b=c[i+12>>2]|0;if((b|0)==(c[i+16>>2]|0))b=gk[c[(c[i>>2]|0)+36>>2]&1023](i)|0;else b=DRa(a[b>>0]|0)|0;if(!(ASa(b,CRa()|0)|0))if(f)break;else{B=50;break}else{c[e>>2]=0;B=48;break}}else B=48;while(0);if((B|0)==48?f:0)B=50;if((B|0)==50)c[g>>2]=c[g>>2]|2;B=c[d>>2]|0;y0a(A);y0a(z);l=C;return B|0}function LUa(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;i=l;l=l+16|0;g=i;if((a|0)==(b|0)){c[d>>2]=4;a=0}else{h=c[(QNa()|0)>>2]|0;c[(QNa()|0)>>2]=0;a=KOa(a,g,e,fUa()|0)|0;e=y;f=c[(QNa()|0)>>2]|0;if(!f)c[(QNa()|0)>>2]=h;a:do if((c[g>>2]|0)==(b|0)){do if((f|0)==34){c[d>>2]=4;if((e|0)>0|(e|0)==0&a>>>0>0){a=2147483647;break a}}else{if((e|0)<-1|(e|0)==-1&a>>>0<2147483648){c[d>>2]=4;break}if((e|0)>0|(e|0)==0&a>>>0>2147483647){c[d>>2]=4;a=2147483647;break a}else break a}while(0);a=-2147483648}else{c[d>>2]=4;a=0}while(0)}l=i;return a|0}function MUa(b,d,e,f,g,h,i){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;x=l;l=l+112|0;k=x;m=(f-e|0)/12|0;if(m>>>0>100){k=GNa(m)|0;if(!k)i0a();else{j=k;v=k}}else{j=k;v=0}o=e;p=j;k=0;while(1){if((o|0)==(f|0))break;n=a[o+11>>0]|0;if(n<<24>>24<0)n=c[o+4>>2]|0;else n=n&255;if(!n){a[p>>0]=2;m=m+-1|0;k=k+1|0}else a[p>>0]=1;o=o+12|0;p=p+1|0}u=0;s=k;while(1){k=c[b>>2]|0;do if(k){n=c[k+12>>2]|0;if((n|0)==(c[k+16>>2]|0))k=gk[c[(c[k>>2]|0)+36>>2]&1023](k)|0;else k=DRa(a[n>>0]|0)|0;if(ASa(k,CRa()|0)|0){c[b>>2]=0;p=1;break}else{p=(c[b>>2]|0)==0;break}}else p=1;while(0);n=c[d>>2]|0;if(n){k=c[n+12>>2]|0;if((k|0)==(c[n+16>>2]|0))k=gk[c[(c[n>>2]|0)+36>>2]&1023](n)|0;else k=DRa(a[k>>0]|0)|0;if(ASa(k,CRa()|0)|0){c[d>>2]=0;k=1;n=0}else k=0}else{k=1;n=0}o=c[b>>2]|0;if(!((m|0)!=0&(p^k)))break;k=c[o+12>>2]|0;if((k|0)==(c[o+16>>2]|0))k=gk[c[(c[o>>2]|0)+36>>2]&1023](o)|0;else k=DRa(a[k>>0]|0)|0;k=k&255;if(!i)k=kk[c[(c[g>>2]|0)+12>>2]&511](g,k)|0;t=u+1|0;q=e;p=0;r=j;while(1){if((q|0)==(f|0))break;do if((a[r>>0]|0)==1){o=q+11|0;if((a[o>>0]|0)<0)n=c[q>>2]|0;else n=q;n=a[n+u>>0]|0;if(!i)n=kk[c[(c[g>>2]|0)+12>>2]&511](g,n)|0;if(k<<24>>24!=n<<24>>24){a[r>>0]=0;n=p;o=s;m=m+-1|0;break}n=a[o>>0]|0;if(n<<24>>24<0)n=c[q+4>>2]|0;else n=n&255;if((n|0)==(t|0)){a[r>>0]=2;n=1;o=s+1|0;m=m+-1|0}else{n=1;o=s}}else{n=p;o=s}while(0);q=q+12|0;p=n;r=r+1|0;s=o}a:do if(p){k=c[b>>2]|0;n=k+12|0;o=c[n>>2]|0;if((o|0)==(c[k+16>>2]|0))gk[c[(c[k>>2]|0)+40>>2]&1023](k)|0;else{c[n>>2]=o+1;DRa(a[o>>0]|0)|0}if((s+m|0)>>>0>1){o=e;p=j;k=s;while(1){if((o|0)==(f|0))break a;if((a[p>>0]|0)==2){n=a[o+11>>0]|0;if(n<<24>>24<0)n=c[o+4>>2]|0;else n=n&255;if((n|0)!=(t|0)){a[p>>0]=0;k=k+-1|0}}o=o+12|0;p=p+1|0}}else k=s}else k=s;while(0);u=t;s=k}do if(o){k=c[o+12>>2]|0;if((k|0)==(c[o+16>>2]|0))k=gk[c[(c[o>>2]|0)+36>>2]&1023](o)|0;else k=DRa(a[k>>0]|0)|0;if(ASa(k,CRa()|0)|0){c[b>>2]=0;m=1;break}else{m=(c[b>>2]|0)==0;break}}else m=1;while(0);do if(n){k=c[n+12>>2]|0;if((k|0)==(c[n+16>>2]|0))k=gk[c[(c[n>>2]|0)+36>>2]&1023](n)|0;else k=DRa(a[k>>0]|0)|0;if(!(ASa(k,CRa()|0)|0))if(m)break;else{w=79;break}else{c[d>>2]=0;w=41;break}}else w=41;while(0);if((w|0)==41?m:0)w=79;if((w|0)==79)c[h>>2]=c[h>>2]|2;while(1){if((e|0)==(f|0)){w=84;break}if((a[j>>0]|0)==2)break;e=e+12|0;j=j+1|0}if((w|0)==84){c[h>>2]=c[h>>2]|4;e=f}HNa(v);l=x;return e|0}function NUa(a){a=a|0;JTa(a);return}function OUa(a){a=a|0;JTa(a);l0a(a);return}function PUa(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,m=0,n=0,o=0,p=0;p=l;l=l+48|0;i=p+40|0;o=p;j=p+32|0;k=p+36|0;m=p+28|0;n=p+24|0;if(!(c[f+4>>2]&1)){c[j>>2]=-1;n=c[(c[b>>2]|0)+16>>2]|0;c[k>>2]=c[d>>2];c[m>>2]=c[e>>2];c[o>>2]=c[k>>2];c[i>>2]=c[m>>2];c[d>>2]=rk[n&63](b,o,i,f,g,j)|0;switch(c[j>>2]|0){case 0:{a[h>>0]=0;break}case 1:{a[h>>0]=1;break}default:{a[h>>0]=1;c[g>>2]=4}}i=c[d>>2]|0}else{BSa(i,f);m=cUa(i,230612)|0;dUa(i);BSa(i,f);b=cUa(i,230620)|0;dUa(i);Jk[c[(c[b>>2]|0)+24>>2]&1023](o,b);Jk[c[(c[b>>2]|0)+28>>2]&1023](o+12|0,b);c[n>>2]=c[e>>2];b=o+24|0;c[i>>2]=c[n>>2];a[h>>0]=(nVa(d,i,o,b,m,g,1)|0)==(o|0)&1;i=c[d>>2]|0;do{b=b+-12|0;Y0a(b)}while((b|0)!=(o|0))}l=p;return i|0}function QUa(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0;h=l;l=l+16|0;i=h+12|0;j=h+8|0;m=h+4|0;k=h;c[m>>2]=c[b>>2];c[k>>2]=c[d>>2];c[j>>2]=c[m>>2];c[i>>2]=c[k>>2];g=mVa(a,j,i,e,f,g)|0;l=h;return g|0}function RUa(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0;h=l;l=l+16|0;i=h+12|0;j=h+8|0;m=h+4|0;k=h;c[m>>2]=c[b>>2];c[k>>2]=c[d>>2];c[j>>2]=c[m>>2];c[i>>2]=c[k>>2];g=lVa(a,j,i,e,f,g)|0;l=h;return g|0}function SUa(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0;h=l;l=l+16|0;i=h+12|0;j=h+8|0;m=h+4|0;k=h;c[m>>2]=c[b>>2];c[k>>2]=c[d>>2];c[j>>2]=c[m>>2];c[i>>2]=c[k>>2];g=kVa(a,j,i,e,f,g)|0;l=h;return g|0}function TUa(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0;h=l;l=l+16|0;i=h+12|0;j=h+8|0;m=h+4|0;k=h;c[m>>2]=c[b>>2];c[k>>2]=c[d>>2];c[j>>2]=c[m>>2];c[i>>2]=c[k>>2];g=jVa(a,j,i,e,f,g)|0;l=h;return g|0}function UUa(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0;h=l;l=l+16|0;i=h+12|0;j=h+8|0;m=h+4|0;k=h;c[m>>2]=c[b>>2];c[k>>2]=c[d>>2];c[j>>2]=c[m>>2];c[i>>2]=c[k>>2];g=iVa(a,j,i,e,f,g)|0;l=h;return g|0}function VUa(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0;h=l;l=l+16|0;i=h+12|0;j=h+8|0;m=h+4|0;k=h;c[m>>2]=c[b>>2];c[k>>2]=c[d>>2];c[j>>2]=c[m>>2];c[i>>2]=c[k>>2];g=eVa(a,j,i,e,f,g)|0;l=h;return g|0}function WUa(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0;h=l;l=l+16|0;i=h+12|0;j=h+8|0;m=h+4|0;k=h;c[m>>2]=c[b>>2];c[k>>2]=c[d>>2];c[j>>2]=c[m>>2];c[i>>2]=c[k>>2];g=dVa(a,j,i,e,f,g)|0;l=h;return g|0}function XUa(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0;h=l;l=l+16|0;i=h+12|0;j=h+8|0;m=h+4|0;k=h;c[m>>2]=c[b>>2];c[k>>2]=c[d>>2];c[j>>2]=c[m>>2];c[i>>2]=c[k>>2];g=cVa(a,j,i,e,f,g)|0;l=h;return g|0}function YUa(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0;h=l;l=l+16|0;i=h+12|0;j=h+8|0;m=h+4|0;k=h;c[m>>2]=c[b>>2];c[k>>2]=c[d>>2];c[j>>2]=c[m>>2];c[i>>2]=c[k>>2];g=$Ua(a,j,i,e,f,g)|0;l=h;return g|0}function ZUa(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;z=l;l=l+304|0;w=z+264|0;u=z+160|0;x=z+292|0;y=z+280|0;v=z+276|0;r=z;s=z+272|0;t=z+268|0;c[x>>2]=0;c[x+4>>2]=0;c[x+8>>2]=0;b=0;while(1){if((b|0)==3)break;c[x+(b<<2)>>2]=0;b=b+1|0}BSa(y,f);b=cUa(y,230612)|0;mk[c[(c[b>>2]|0)+48>>2]&63](b,39424,39450,u)|0;dUa(y);c[y>>2]=0;c[y+4>>2]=0;c[y+8>>2]=0;b=0;while(1){if((b|0)==3)break;c[y+(b<<2)>>2]=0;b=b+1|0}q=y+11|0;p=y+8|0;if((a[q>>0]|0)<0)b=(c[p>>2]&2147483647)+-1|0;else b=10;F0a(y,b,0);b=(a[q>>0]|0)<0?c[y>>2]|0:y;c[v>>2]=b;c[s>>2]=r;c[t>>2]=0;o=y+4|0;j=c[d>>2]|0;i=j;a:while(1){if(j){f=c[j+12>>2]|0;if((f|0)==(c[j+16>>2]|0))f=gk[c[(c[j>>2]|0)+36>>2]&1023](j)|0;else f=VRa(c[f>>2]|0)|0;if(CSa(f,URa()|0)|0){c[d>>2]=0;n=0;k=1;j=0}else{n=i;k=0}}else{n=0;k=1;j=0}i=c[e>>2]|0;do if(i){f=c[i+12>>2]|0;if((f|0)==(c[i+16>>2]|0))f=gk[c[(c[i>>2]|0)+36>>2]&1023](i)|0;else f=VRa(c[f>>2]|0)|0;if(!(CSa(f,URa()|0)|0))if(k)break;else break a;else{c[e>>2]=0;A=22;break}}else A=22;while(0);if((A|0)==22){A=0;if(k){i=0;break}else i=0}f=a[q>>0]|0;f=f<<24>>24<0?c[o>>2]|0:f&255;if((c[v>>2]|0)==(b+f|0)){F0a(y,f<<1,0);if((a[q>>0]|0)<0)b=(c[p>>2]&2147483647)+-1|0;else b=10;F0a(y,b,0);b=(a[q>>0]|0)<0?c[y>>2]|0:y;c[v>>2]=b+f}k=j+12|0;f=c[k>>2]|0;m=j+16|0;if((f|0)==(c[m>>2]|0))f=gk[c[(c[j>>2]|0)+36>>2]&1023](j)|0;else f=VRa(c[f>>2]|0)|0;if(_Ua(f,16,b,v,t,0,x,r,s,u)|0)break;f=c[k>>2]|0;if((f|0)==(c[m>>2]|0))gk[c[(c[j>>2]|0)+40>>2]&1023](j)|0;else{c[k>>2]=f+4;VRa(c[f>>2]|0)|0}i=n}F0a(y,(c[v>>2]|0)-b|0,0);u=(a[q>>0]|0)<0?c[y>>2]|0:y;v=fUa()|0;c[w>>2]=h;if((gUa(u,v,213770,w)|0)!=1)c[g>>2]=4;if(j){b=c[j+12>>2]|0;if((b|0)==(c[j+16>>2]|0))b=gk[c[(c[n>>2]|0)+36>>2]&1023](j)|0;else b=VRa(c[b>>2]|0)|0;if(CSa(b,URa()|0)|0){c[d>>2]=0;f=1}else f=0}else f=1;do if(i){b=c[i+12>>2]|0;if((b|0)==(c[i+16>>2]|0))b=gk[c[(c[i>>2]|0)+36>>2]&1023](i)|0;else b=VRa(c[b>>2]|0)|0;if(!(CSa(b,URa()|0)|0))if(f)break;else{A=52;break}else{c[e>>2]=0;A=50;break}}else A=50;while(0);if((A|0)==50?f:0)A=52;if((A|0)==52)c[g>>2]=c[g>>2]|2;A=c[d>>2]|0;y0a(y);y0a(x);l=z;return A|0}function _Ua(b,d,e,f,g,h,i,j,k,l){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;var m=0,n=0,o=0,p=0;o=c[f>>2]|0;p=(o|0)==(e|0);do if(p){m=(c[l+96>>2]|0)==(b|0);if(!m?(c[l+100>>2]|0)!=(b|0):0){n=5;break}c[f>>2]=e+1;a[e>>0]=m?43:45;c[g>>2]=0;m=0}else n=5;while(0);a:do if((n|0)==5){n=a[i+11>>0]|0;if((b|0)==(h|0)?((n<<24>>24<0?c[i+4>>2]|0:n&255)|0)!=0:0){m=c[k>>2]|0;if((m-j|0)>=160){m=0;break}f=c[g>>2]|0;c[k>>2]=m+4;c[m>>2]=f;c[g>>2]=0;m=0;break}i=l+104|0;h=0;while(1){m=l+(h<<2)|0;if((h|0)==26){m=i;break}if((c[m>>2]|0)==(b|0))break;else h=h+1|0}m=m-l|0;h=m>>2;if((m|0)>92)m=-1;else{switch(d|0){case 10:case 8:{if((h|0)>=(d|0)){m=-1;break a}break}case 16:{if((m|0)>=88){if(p){m=-1;break a}if((o-e|0)>=3){m=-1;break a}if((a[o+-1>>0]|0)!=48){m=-1;break a}c[g>>2]=0;m=a[39424+h>>0]|0;c[f>>2]=o+1;a[o>>0]=m;m=0;break a}break}default:{}}m=a[39424+h>>0]|0;c[f>>2]=o+1;a[o>>0]=m;c[g>>2]=(c[g>>2]|0)+1;m=0}}while(0);return m|0}function $Ua(b,d,e,f,g,i){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;i=i|0;var j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0;E=l;l=l+336|0;t=E+160|0;u=E+328|0;v=E+324|0;D=E+312|0;C=E+300|0;w=E+296|0;x=E;y=E+292|0;z=E+288|0;A=E+333|0;s=E+332|0;aVa(D,f,t,u,v);c[C>>2]=0;c[C+4>>2]=0;c[C+8>>2]=0;b=0;while(1){if((b|0)==3)break;c[C+(b<<2)>>2]=0;b=b+1|0}q=C+11|0;r=C+8|0;if((a[q>>0]|0)<0)b=(c[r>>2]&2147483647)+-1|0;else b=10;F0a(C,b,0);b=(a[q>>0]|0)<0?c[C>>2]|0:C;c[w>>2]=b;c[y>>2]=x;c[z>>2]=0;a[A>>0]=1;a[s>>0]=69;p=C+4|0;k=c[d>>2]|0;j=k;a:while(1){if(k){f=c[k+12>>2]|0;if((f|0)==(c[k+16>>2]|0))f=gk[c[(c[k>>2]|0)+36>>2]&1023](k)|0;else f=VRa(c[f>>2]|0)|0;if(CSa(f,URa()|0)|0){c[d>>2]=0;o=0;m=1;k=0}else{o=j;m=0}}else{o=0;m=1;k=0}j=c[e>>2]|0;do if(j){f=c[j+12>>2]|0;if((f|0)==(c[j+16>>2]|0))f=gk[c[(c[j>>2]|0)+36>>2]&1023](j)|0;else f=VRa(c[f>>2]|0)|0;if(!(CSa(f,URa()|0)|0))if(m)break;else break a;else{c[e>>2]=0;F=19;break}}else F=19;while(0);if((F|0)==19){F=0;if(m){j=0;break}else j=0}f=a[q>>0]|0;f=f<<24>>24<0?c[p>>2]|0:f&255;if((c[w>>2]|0)==(b+f|0)){F0a(C,f<<1,0);if((a[q>>0]|0)<0)b=(c[r>>2]&2147483647)+-1|0;else b=10;F0a(C,b,0);b=(a[q>>0]|0)<0?c[C>>2]|0:C;c[w>>2]=b+f}m=k+12|0;f=c[m>>2]|0;n=k+16|0;if((f|0)==(c[n>>2]|0))f=gk[c[(c[k>>2]|0)+36>>2]&1023](k)|0;else f=VRa(c[f>>2]|0)|0;if(bVa(f,A,s,b,w,c[u>>2]|0,c[v>>2]|0,D,x,y,z,t)|0)break;f=c[m>>2]|0;if((f|0)==(c[n>>2]|0))gk[c[(c[k>>2]|0)+40>>2]&1023](k)|0;else{c[m>>2]=f+4;VRa(c[f>>2]|0)|0}j=o}v=a[D+11>>0]|0;if(!((a[A>>0]|0)==0?1:((v<<24>>24<0?c[D+4>>2]|0:v&255)|0)==0)?(B=c[y>>2]|0,(B-x|0)<160):0){A=c[z>>2]|0;c[y>>2]=B+4;c[B>>2]=A}h[i>>3]=+qUa(b,c[w>>2]|0,g);rUa(D,x,c[y>>2]|0,g);if(k){b=c[k+12>>2]|0;if((b|0)==(c[k+16>>2]|0))b=gk[c[(c[o>>2]|0)+36>>2]&1023](k)|0;else b=VRa(c[b>>2]|0)|0;if(CSa(b,URa()|0)|0){c[d>>2]=0;f=1}else f=0}else f=1;do if(j){b=c[j+12>>2]|0;if((b|0)==(c[j+16>>2]|0))b=gk[c[(c[j>>2]|0)+36>>2]&1023](j)|0;else b=VRa(c[b>>2]|0)|0;if(!(CSa(b,URa()|0)|0))if(f)break;else{F=50;break}else{c[e>>2]=0;F=48;break}}else F=48;while(0);if((F|0)==48?f:0)F=50;if((F|0)==50)c[g>>2]=c[g>>2]|2;F=c[d>>2]|0;y0a(C);y0a(D);l=E;return F|0}function aVa(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0;g=l;l=l+16|0;h=g;BSa(h,b);b=cUa(h,230612)|0;mk[c[(c[b>>2]|0)+48>>2]&63](b,39424,39456,d)|0;d=cUa(h,230620)|0;c[e>>2]=gk[c[(c[d>>2]|0)+12>>2]&1023](d)|0;c[f>>2]=gk[c[(c[d>>2]|0)+16>>2]&1023](d)|0;Jk[c[(c[d>>2]|0)+20>>2]&1023](a,d);dUa(h);l=g;return}function bVa(b,d,e,f,g,h,i,j,k,l,m,n){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;var o=0,p=0;a:do if((b|0)==(h|0))if(a[d>>0]|0){a[d>>0]=0;e=c[g>>2]|0;c[g>>2]=e+1;a[e>>0]=46;g=a[j+11>>0]|0;if(((g<<24>>24<0?c[j+4>>2]|0:g&255)|0)!=0?(o=c[l>>2]|0,(o-k|0)<160):0){k=c[m>>2]|0;c[l>>2]=o+4;c[o>>2]=k;o=0}else o=0}else o=-1;else{if((b|0)==(i|0)?(i=a[j+11>>0]|0,(i<<24>>24<0?c[j+4>>2]|0:i&255)|0):0){if(!(a[d>>0]|0)){o=-1;break}o=c[l>>2]|0;if((o-k|0)>=160){o=0;break}k=c[m>>2]|0;c[l>>2]=o+4;c[o>>2]=k;c[m>>2]=0;o=0;break}i=n+128|0;h=0;while(1){o=n+(h<<2)|0;if((h|0)==32){o=i;break}if((c[o>>2]|0)==(b|0))break;else h=h+1|0}h=o-n|0;if((h|0)<=124){i=a[39424+(h>>2)>>0]|0;n=h+-88|0;switch(n>>>2|n<<30|0){case 2:case 3:{o=c[g>>2]|0;if((o|0)!=(f|0)?(a[o+-1>>0]&95)!=(a[e>>0]&127):0){o=-1;break a}c[g>>2]=o+1;a[o>>0]=i;o=0;break a}case 1:case 0:{a[e>>0]=80;break}default:{o=i&95;if((((o|0)==(a[e>>0]|0)?(a[e>>0]=o|128,a[d>>0]|0):0)?(a[d>>0]=0,e=a[j+11>>0]|0,(e<<24>>24<0?c[j+4>>2]|0:e&255)|0):0)?(p=c[l>>2]|0,(p-k|0)<160):0){k=c[m>>2]|0;c[l>>2]=p+4;c[p>>2]=k}}}l=c[g>>2]|0;c[g>>2]=l+1;a[l>>0]=i;if((h|0)>84)o=0;else{c[m>>2]=(c[m>>2]|0)+1;o=0}}else o=-1}while(0);return o|0}function cVa(b,d,e,f,g,i){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;i=i|0;var j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0;E=l;l=l+336|0;t=E+160|0;u=E+328|0;v=E+324|0;D=E+312|0;C=E+300|0;w=E+296|0;x=E;y=E+292|0;z=E+288|0;A=E+333|0;s=E+332|0;aVa(D,f,t,u,v);c[C>>2]=0;c[C+4>>2]=0;c[C+8>>2]=0;b=0;while(1){if((b|0)==3)break;c[C+(b<<2)>>2]=0;b=b+1|0}q=C+11|0;r=C+8|0;if((a[q>>0]|0)<0)b=(c[r>>2]&2147483647)+-1|0;else b=10;F0a(C,b,0);b=(a[q>>0]|0)<0?c[C>>2]|0:C;c[w>>2]=b;c[y>>2]=x;c[z>>2]=0;a[A>>0]=1;a[s>>0]=69;p=C+4|0;k=c[d>>2]|0;j=k;a:while(1){if(k){f=c[k+12>>2]|0;if((f|0)==(c[k+16>>2]|0))f=gk[c[(c[k>>2]|0)+36>>2]&1023](k)|0;else f=VRa(c[f>>2]|0)|0;if(CSa(f,URa()|0)|0){c[d>>2]=0;o=0;m=1;k=0}else{o=j;m=0}}else{o=0;m=1;k=0}j=c[e>>2]|0;do if(j){f=c[j+12>>2]|0;if((f|0)==(c[j+16>>2]|0))f=gk[c[(c[j>>2]|0)+36>>2]&1023](j)|0;else f=VRa(c[f>>2]|0)|0;if(!(CSa(f,URa()|0)|0))if(m)break;else break a;else{c[e>>2]=0;F=19;break}}else F=19;while(0);if((F|0)==19){F=0;if(m){j=0;break}else j=0}f=a[q>>0]|0;f=f<<24>>24<0?c[p>>2]|0:f&255;if((c[w>>2]|0)==(b+f|0)){F0a(C,f<<1,0);if((a[q>>0]|0)<0)b=(c[r>>2]&2147483647)+-1|0;else b=10;F0a(C,b,0);b=(a[q>>0]|0)<0?c[C>>2]|0:C;c[w>>2]=b+f}m=k+12|0;f=c[m>>2]|0;n=k+16|0;if((f|0)==(c[n>>2]|0))f=gk[c[(c[k>>2]|0)+36>>2]&1023](k)|0;else f=VRa(c[f>>2]|0)|0;if(bVa(f,A,s,b,w,c[u>>2]|0,c[v>>2]|0,D,x,y,z,t)|0)break;f=c[m>>2]|0;if((f|0)==(c[n>>2]|0))gk[c[(c[k>>2]|0)+40>>2]&1023](k)|0;else{c[m>>2]=f+4;VRa(c[f>>2]|0)|0}j=o}v=a[D+11>>0]|0;if(!((a[A>>0]|0)==0?1:((v<<24>>24<0?c[D+4>>2]|0:v&255)|0)==0)?(B=c[y>>2]|0,(B-x|0)<160):0){A=c[z>>2]|0;c[y>>2]=B+4;c[B>>2]=A}h[i>>3]=+tUa(b,c[w>>2]|0,g);rUa(D,x,c[y>>2]|0,g);if(k){b=c[k+12>>2]|0;if((b|0)==(c[k+16>>2]|0))b=gk[c[(c[o>>2]|0)+36>>2]&1023](k)|0;else b=VRa(c[b>>2]|0)|0;if(CSa(b,URa()|0)|0){c[d>>2]=0;f=1}else f=0}else f=1;do if(j){b=c[j+12>>2]|0;if((b|0)==(c[j+16>>2]|0))b=gk[c[(c[j>>2]|0)+36>>2]&1023](j)|0;else b=VRa(c[b>>2]|0)|0;if(!(CSa(b,URa()|0)|0))if(f)break;else{F=50;break}else{c[e>>2]=0;F=48;break}}else F=48;while(0);if((F|0)==48?f:0)F=50;if((F|0)==50)c[g>>2]=c[g>>2]|2;F=c[d>>2]|0;y0a(C);y0a(D);l=E;return F|0}function dVa(b,d,e,f,h,i){b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;i=i|0;var j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0;E=l;l=l+336|0;t=E+160|0;u=E+328|0;v=E+324|0;D=E+312|0;C=E+300|0;w=E+296|0;x=E;y=E+292|0;z=E+288|0;A=E+333|0;s=E+332|0;aVa(D,f,t,u,v);c[C>>2]=0;c[C+4>>2]=0;c[C+8>>2]=0;b=0;while(1){if((b|0)==3)break;c[C+(b<<2)>>2]=0;b=b+1|0}q=C+11|0;r=C+8|0;if((a[q>>0]|0)<0)b=(c[r>>2]&2147483647)+-1|0;else b=10;F0a(C,b,0);b=(a[q>>0]|0)<0?c[C>>2]|0:C;c[w>>2]=b;c[y>>2]=x;c[z>>2]=0;a[A>>0]=1;a[s>>0]=69;p=C+4|0;k=c[d>>2]|0;j=k;a:while(1){if(k){f=c[k+12>>2]|0;if((f|0)==(c[k+16>>2]|0))f=gk[c[(c[k>>2]|0)+36>>2]&1023](k)|0;else f=VRa(c[f>>2]|0)|0;if(CSa(f,URa()|0)|0){c[d>>2]=0;o=0;m=1;k=0}else{o=j;m=0}}else{o=0;m=1;k=0}j=c[e>>2]|0;do if(j){f=c[j+12>>2]|0;if((f|0)==(c[j+16>>2]|0))f=gk[c[(c[j>>2]|0)+36>>2]&1023](j)|0;else f=VRa(c[f>>2]|0)|0;if(!(CSa(f,URa()|0)|0))if(m)break;else break a;else{c[e>>2]=0;F=19;break}}else F=19;while(0);if((F|0)==19){F=0;if(m){j=0;break}else j=0}f=a[q>>0]|0;f=f<<24>>24<0?c[p>>2]|0:f&255;if((c[w>>2]|0)==(b+f|0)){F0a(C,f<<1,0);if((a[q>>0]|0)<0)b=(c[r>>2]&2147483647)+-1|0;else b=10;F0a(C,b,0);b=(a[q>>0]|0)<0?c[C>>2]|0:C;c[w>>2]=b+f}m=k+12|0;f=c[m>>2]|0;n=k+16|0;if((f|0)==(c[n>>2]|0))f=gk[c[(c[k>>2]|0)+36>>2]&1023](k)|0;else f=VRa(c[f>>2]|0)|0;if(bVa(f,A,s,b,w,c[u>>2]|0,c[v>>2]|0,D,x,y,z,t)|0)break;f=c[m>>2]|0;if((f|0)==(c[n>>2]|0))gk[c[(c[k>>2]|0)+40>>2]&1023](k)|0;else{c[m>>2]=f+4;VRa(c[f>>2]|0)|0}j=o}v=a[D+11>>0]|0;if(!((a[A>>0]|0)==0?1:((v<<24>>24<0?c[D+4>>2]|0:v&255)|0)==0)?(B=c[y>>2]|0,(B-x|0)<160):0){A=c[z>>2]|0;c[y>>2]=B+4;c[B>>2]=A}g[i>>2]=+vUa(b,c[w>>2]|0,h);rUa(D,x,c[y>>2]|0,h);if(k){b=c[k+12>>2]|0;if((b|0)==(c[k+16>>2]|0))b=gk[c[(c[o>>2]|0)+36>>2]&1023](k)|0;else b=VRa(c[b>>2]|0)|0;if(CSa(b,URa()|0)|0){c[d>>2]=0;f=1}else f=0}else f=1;do if(j){b=c[j+12>>2]|0;if((b|0)==(c[j+16>>2]|0))b=gk[c[(c[j>>2]|0)+36>>2]&1023](j)|0;else b=VRa(c[b>>2]|0)|0;if(!(CSa(b,URa()|0)|0))if(f)break;else{F=50;break}else{c[e>>2]=0;F=48;break}}else F=48;while(0);if((F|0)==48?f:0)F=50;if((F|0)==50)c[h>>2]=c[h>>2]|2;F=c[d>>2]|0;y0a(C);y0a(D);l=E;return F|0}function eVa(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,z=0,A=0,B=0,C=0,D=0;D=l;l=l+304|0;s=D+300|0;A=D+288|0;B=D+276|0;t=D+272|0;u=D;w=D+268|0;x=D+264|0;z=xUa(f)|0;r=fVa(b,f,D+160|0)|0;gVa(A,f,s);c[B>>2]=0;c[B+4>>2]=0;c[B+8>>2]=0;b=0;while(1){if((b|0)==3)break;c[B+(b<<2)>>2]=0;b=b+1|0}p=B+11|0;q=B+8|0;if((a[p>>0]|0)<0)b=(c[q>>2]&2147483647)+-1|0;else b=10;F0a(B,b,0);b=(a[p>>0]|0)<0?c[B>>2]|0:B;c[t>>2]=b;c[w>>2]=u;c[x>>2]=0;o=B+4|0;j=c[d>>2]|0;i=j;a:while(1){if(j){f=c[j+12>>2]|0;if((f|0)==(c[j+16>>2]|0))f=gk[c[(c[j>>2]|0)+36>>2]&1023](j)|0;else f=VRa(c[f>>2]|0)|0;if(CSa(f,URa()|0)|0){c[d>>2]=0;n=0;k=1;j=0}else{n=i;k=0}}else{n=0;k=1;j=0}i=c[e>>2]|0;do if(i){f=c[i+12>>2]|0;if((f|0)==(c[i+16>>2]|0))f=gk[c[(c[i>>2]|0)+36>>2]&1023](i)|0;else f=VRa(c[f>>2]|0)|0;if(!(CSa(f,URa()|0)|0))if(k)break;else break a;else{c[e>>2]=0;C=19;break}}else C=19;while(0);if((C|0)==19){C=0;if(k){i=0;break}else i=0}f=a[p>>0]|0;f=f<<24>>24<0?c[o>>2]|0:f&255;if((c[t>>2]|0)==(b+f|0)){F0a(B,f<<1,0);if((a[p>>0]|0)<0)b=(c[q>>2]&2147483647)+-1|0;else b=10;F0a(B,b,0);b=(a[p>>0]|0)<0?c[B>>2]|0:B;c[t>>2]=b+f}k=j+12|0;f=c[k>>2]|0;m=j+16|0;if((f|0)==(c[m>>2]|0))f=gk[c[(c[j>>2]|0)+36>>2]&1023](j)|0;else f=VRa(c[f>>2]|0)|0;if(_Ua(f,z,b,t,x,c[s>>2]|0,A,u,w,r)|0)break;f=c[k>>2]|0;if((f|0)==(c[m>>2]|0))gk[c[(c[j>>2]|0)+40>>2]&1023](j)|0;else{c[k>>2]=f+4;VRa(c[f>>2]|0)|0}i=n}s=a[A+11>>0]|0;if((s<<24>>24<0?c[A+4>>2]|0:s&255)|0?(v=c[w>>2]|0,(v-u|0)<160):0){x=c[x>>2]|0;c[w>>2]=v+4;c[v>>2]=x}z=AUa(b,c[t>>2]|0,g,z)|0;c[h>>2]=z;c[h+4>>2]=y;rUa(A,u,c[w>>2]|0,g);if(j){b=c[j+12>>2]|0;if((b|0)==(c[j+16>>2]|0))b=gk[c[(c[n>>2]|0)+36>>2]&1023](j)|0;else b=VRa(c[b>>2]|0)|0;if(CSa(b,URa()|0)|0){c[d>>2]=0;f=1}else f=0}else f=1;do if(i){b=c[i+12>>2]|0;if((b|0)==(c[i+16>>2]|0))b=gk[c[(c[i>>2]|0)+36>>2]&1023](i)|0;else b=VRa(c[b>>2]|0)|0;if(!(CSa(b,URa()|0)|0))if(f)break;else{C=50;break}else{c[e>>2]=0;C=48;break}}else C=48;while(0);if((C|0)==48?f:0)C=50;if((C|0)==50)c[g>>2]=c[g>>2]|2;C=c[d>>2]|0;y0a(B);y0a(A);l=D;return C|0}function fVa(a,b,c){a=a|0;b=b|0;c=c|0;return hVa(a,b,c)|0}function gVa(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=l;l=l+16|0;f=e;BSa(f,b);b=cUa(f,230620)|0;c[d>>2]=gk[c[(c[b>>2]|0)+16>>2]&1023](b)|0;Jk[c[(c[b>>2]|0)+20>>2]&1023](a,b);dUa(f);l=e;return}function hVa(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;a=l;l=l+16|0;e=a;BSa(e,b);b=cUa(e,230612)|0;mk[c[(c[b>>2]|0)+48>>2]&63](b,39424,39450,d)|0;dUa(e);l=a;return d|0}function iVa(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;C=l;l=l+304|0;s=C+300|0;z=C+288|0;A=C+276|0;t=C+272|0;u=C;w=C+268|0;x=C+264|0;y=xUa(f)|0;r=fVa(b,f,C+160|0)|0;gVa(z,f,s);c[A>>2]=0;c[A+4>>2]=0;c[A+8>>2]=0;b=0;while(1){if((b|0)==3)break;c[A+(b<<2)>>2]=0;b=b+1|0}p=A+11|0;q=A+8|0;if((a[p>>0]|0)<0)b=(c[q>>2]&2147483647)+-1|0;else b=10;F0a(A,b,0);b=(a[p>>0]|0)<0?c[A>>2]|0:A;c[t>>2]=b;c[w>>2]=u;c[x>>2]=0;o=A+4|0;j=c[d>>2]|0;i=j;a:while(1){if(j){f=c[j+12>>2]|0;if((f|0)==(c[j+16>>2]|0))f=gk[c[(c[j>>2]|0)+36>>2]&1023](j)|0;else f=VRa(c[f>>2]|0)|0;if(CSa(f,URa()|0)|0){c[d>>2]=0;n=0;k=1;j=0}else{n=i;k=0}}else{n=0;k=1;j=0}i=c[e>>2]|0;do if(i){f=c[i+12>>2]|0;if((f|0)==(c[i+16>>2]|0))f=gk[c[(c[i>>2]|0)+36>>2]&1023](i)|0;else f=VRa(c[f>>2]|0)|0;if(!(CSa(f,URa()|0)|0))if(k)break;else break a;else{c[e>>2]=0;B=19;break}}else B=19;while(0);if((B|0)==19){B=0;if(k){i=0;break}else i=0}f=a[p>>0]|0;f=f<<24>>24<0?c[o>>2]|0:f&255;if((c[t>>2]|0)==(b+f|0)){F0a(A,f<<1,0);if((a[p>>0]|0)<0)b=(c[q>>2]&2147483647)+-1|0;else b=10;F0a(A,b,0);b=(a[p>>0]|0)<0?c[A>>2]|0:A;c[t>>2]=b+f}k=j+12|0;f=c[k>>2]|0;m=j+16|0;if((f|0)==(c[m>>2]|0))f=gk[c[(c[j>>2]|0)+36>>2]&1023](j)|0;else f=VRa(c[f>>2]|0)|0;if(_Ua(f,y,b,t,x,c[s>>2]|0,z,u,w,r)|0)break;f=c[k>>2]|0;if((f|0)==(c[m>>2]|0))gk[c[(c[j>>2]|0)+40>>2]&1023](j)|0;else{c[k>>2]=f+4;VRa(c[f>>2]|0)|0}i=n}s=a[z+11>>0]|0;if((s<<24>>24<0?c[z+4>>2]|0:s&255)|0?(v=c[w>>2]|0,(v-u|0)<160):0){x=c[x>>2]|0;c[w>>2]=v+4;c[v>>2]=x}c[h>>2]=DUa(b,c[t>>2]|0,g,y)|0;rUa(z,u,c[w>>2]|0,g);if(j){b=c[j+12>>2]|0;if((b|0)==(c[j+16>>2]|0))b=gk[c[(c[n>>2]|0)+36>>2]&1023](j)|0;else b=VRa(c[b>>2]|0)|0;if(CSa(b,URa()|0)|0){c[d>>2]=0;f=1}else f=0}else f=1;do if(i){b=c[i+12>>2]|0;if((b|0)==(c[i+16>>2]|0))b=gk[c[(c[i>>2]|0)+36>>2]&1023](i)|0;else b=VRa(c[b>>2]|0)|0;if(!(CSa(b,URa()|0)|0))if(f)break;else{B=50;break}else{c[e>>2]=0;B=48;break}}else B=48;while(0);if((B|0)==48?f:0)B=50;if((B|0)==50)c[g>>2]=c[g>>2]|2;B=c[d>>2]|0;y0a(A);y0a(z);l=C;return B|0}function jVa(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;C=l;l=l+304|0;s=C+300|0;z=C+288|0;A=C+276|0;t=C+272|0;u=C;w=C+268|0;x=C+264|0;y=xUa(f)|0;r=fVa(b,f,C+160|0)|0;gVa(z,f,s);c[A>>2]=0;c[A+4>>2]=0;c[A+8>>2]=0;b=0;while(1){if((b|0)==3)break;c[A+(b<<2)>>2]=0;b=b+1|0}p=A+11|0;q=A+8|0;if((a[p>>0]|0)<0)b=(c[q>>2]&2147483647)+-1|0;else b=10;F0a(A,b,0);b=(a[p>>0]|0)<0?c[A>>2]|0:A;c[t>>2]=b;c[w>>2]=u;c[x>>2]=0;o=A+4|0;j=c[d>>2]|0;i=j;a:while(1){if(j){f=c[j+12>>2]|0;if((f|0)==(c[j+16>>2]|0))f=gk[c[(c[j>>2]|0)+36>>2]&1023](j)|0;else f=VRa(c[f>>2]|0)|0;if(CSa(f,URa()|0)|0){c[d>>2]=0;n=0;k=1;j=0}else{n=i;k=0}}else{n=0;k=1;j=0}i=c[e>>2]|0;do if(i){f=c[i+12>>2]|0;if((f|0)==(c[i+16>>2]|0))f=gk[c[(c[i>>2]|0)+36>>2]&1023](i)|0;else f=VRa(c[f>>2]|0)|0;if(!(CSa(f,URa()|0)|0))if(k)break;else break a;else{c[e>>2]=0;B=19;break}}else B=19;while(0);if((B|0)==19){B=0;if(k){i=0;break}else i=0}f=a[p>>0]|0;f=f<<24>>24<0?c[o>>2]|0:f&255;if((c[t>>2]|0)==(b+f|0)){F0a(A,f<<1,0);if((a[p>>0]|0)<0)b=(c[q>>2]&2147483647)+-1|0;else b=10;F0a(A,b,0);b=(a[p>>0]|0)<0?c[A>>2]|0:A;c[t>>2]=b+f}k=j+12|0;f=c[k>>2]|0;m=j+16|0;if((f|0)==(c[m>>2]|0))f=gk[c[(c[j>>2]|0)+36>>2]&1023](j)|0;else f=VRa(c[f>>2]|0)|0;if(_Ua(f,y,b,t,x,c[s>>2]|0,z,u,w,r)|0)break;f=c[k>>2]|0;if((f|0)==(c[m>>2]|0))gk[c[(c[j>>2]|0)+40>>2]&1023](j)|0;else{c[k>>2]=f+4;VRa(c[f>>2]|0)|0}i=n}s=a[z+11>>0]|0;if((s<<24>>24<0?c[z+4>>2]|0:s&255)|0?(v=c[w>>2]|0,(v-u|0)<160):0){x=c[x>>2]|0;c[w>>2]=v+4;c[v>>2]=x}c[h>>2]=FUa(b,c[t>>2]|0,g,y)|0;rUa(z,u,c[w>>2]|0,g);if(j){b=c[j+12>>2]|0;if((b|0)==(c[j+16>>2]|0))b=gk[c[(c[n>>2]|0)+36>>2]&1023](j)|0;else b=VRa(c[b>>2]|0)|0;if(CSa(b,URa()|0)|0){c[d>>2]=0;f=1}else f=0}else f=1;do if(i){b=c[i+12>>2]|0;if((b|0)==(c[i+16>>2]|0))b=gk[c[(c[i>>2]|0)+36>>2]&1023](i)|0;else b=VRa(c[b>>2]|0)|0;if(!(CSa(b,URa()|0)|0))if(f)break;else{B=50;break}else{c[e>>2]=0;B=48;break}}else B=48;while(0);if((B|0)==48?f:0)B=50;if((B|0)==50)c[g>>2]=c[g>>2]|2;B=c[d>>2]|0;y0a(A);y0a(z);l=C;return B|0}function kVa(d,e,f,g,h,i){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;D=l;l=l+304|0;t=D+300|0;A=D+288|0;B=D+276|0;u=D+272|0;v=D;x=D+268|0;y=D+264|0;z=xUa(g)|0;s=fVa(d,g,D+160|0)|0;gVa(A,g,t);c[B>>2]=0;c[B+4>>2]=0;c[B+8>>2]=0;d=0;while(1){if((d|0)==3)break;c[B+(d<<2)>>2]=0;d=d+1|0}q=B+11|0;r=B+8|0;if((a[q>>0]|0)<0)d=(c[r>>2]&2147483647)+-1|0;else d=10;F0a(B,d,0);d=(a[q>>0]|0)<0?c[B>>2]|0:B;c[u>>2]=d;c[x>>2]=v;c[y>>2]=0;p=B+4|0;k=c[e>>2]|0;j=k;a:while(1){if(k){g=c[k+12>>2]|0;if((g|0)==(c[k+16>>2]|0))g=gk[c[(c[k>>2]|0)+36>>2]&1023](k)|0;else g=VRa(c[g>>2]|0)|0;if(CSa(g,URa()|0)|0){c[e>>2]=0;o=0;m=1;k=0}else{o=j;m=0}}else{o=0;m=1;k=0}j=c[f>>2]|0;do if(j){g=c[j+12>>2]|0;if((g|0)==(c[j+16>>2]|0))g=gk[c[(c[j>>2]|0)+36>>2]&1023](j)|0;else g=VRa(c[g>>2]|0)|0;if(!(CSa(g,URa()|0)|0))if(m)break;else break a;else{c[f>>2]=0;C=19;break}}else C=19;while(0);if((C|0)==19){C=0;if(m){j=0;break}else j=0}g=a[q>>0]|0;g=g<<24>>24<0?c[p>>2]|0:g&255;if((c[u>>2]|0)==(d+g|0)){F0a(B,g<<1,0);if((a[q>>0]|0)<0)d=(c[r>>2]&2147483647)+-1|0;else d=10;F0a(B,d,0);d=(a[q>>0]|0)<0?c[B>>2]|0:B;c[u>>2]=d+g}m=k+12|0;g=c[m>>2]|0;n=k+16|0;if((g|0)==(c[n>>2]|0))g=gk[c[(c[k>>2]|0)+36>>2]&1023](k)|0;else g=VRa(c[g>>2]|0)|0;if(_Ua(g,z,d,u,y,c[t>>2]|0,A,v,x,s)|0)break;g=c[m>>2]|0;if((g|0)==(c[n>>2]|0))gk[c[(c[k>>2]|0)+40>>2]&1023](k)|0;else{c[m>>2]=g+4;VRa(c[g>>2]|0)|0}j=o}t=a[A+11>>0]|0;if((t<<24>>24<0?c[A+4>>2]|0:t&255)|0?(w=c[x>>2]|0,(w-v|0)<160):0){y=c[y>>2]|0;c[x>>2]=w+4;c[w>>2]=y}b[i>>1]=HUa(d,c[u>>2]|0,h,z)|0;rUa(A,v,c[x>>2]|0,h);if(k){d=c[k+12>>2]|0;if((d|0)==(c[k+16>>2]|0))d=gk[c[(c[o>>2]|0)+36>>2]&1023](k)|0;else d=VRa(c[d>>2]|0)|0;if(CSa(d,URa()|0)|0){c[e>>2]=0;g=1}else g=0}else g=1;do if(j){d=c[j+12>>2]|0;if((d|0)==(c[j+16>>2]|0))d=gk[c[(c[j>>2]|0)+36>>2]&1023](j)|0;else d=VRa(c[d>>2]|0)|0;if(!(CSa(d,URa()|0)|0))if(g)break;else{C=50;break}else{c[f>>2]=0;C=48;break}}else C=48;while(0);if((C|0)==48?g:0)C=50;if((C|0)==50)c[h>>2]=c[h>>2]|2;C=c[e>>2]|0;y0a(B);y0a(A);l=D;return C|0}function lVa(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,z=0,A=0,B=0,C=0,D=0;D=l;l=l+304|0;s=D+300|0;A=D+288|0;B=D+276|0;t=D+272|0;u=D;w=D+268|0;x=D+264|0;z=xUa(f)|0;r=fVa(b,f,D+160|0)|0;gVa(A,f,s);c[B>>2]=0;c[B+4>>2]=0;c[B+8>>2]=0;b=0;while(1){if((b|0)==3)break;c[B+(b<<2)>>2]=0;b=b+1|0}p=B+11|0;q=B+8|0;if((a[p>>0]|0)<0)b=(c[q>>2]&2147483647)+-1|0;else b=10;F0a(B,b,0);b=(a[p>>0]|0)<0?c[B>>2]|0:B;c[t>>2]=b;c[w>>2]=u;c[x>>2]=0;o=B+4|0;j=c[d>>2]|0;i=j;a:while(1){if(j){f=c[j+12>>2]|0;if((f|0)==(c[j+16>>2]|0))f=gk[c[(c[j>>2]|0)+36>>2]&1023](j)|0;else f=VRa(c[f>>2]|0)|0;if(CSa(f,URa()|0)|0){c[d>>2]=0;n=0;k=1;j=0}else{n=i;k=0}}else{n=0;k=1;j=0}i=c[e>>2]|0;do if(i){f=c[i+12>>2]|0;if((f|0)==(c[i+16>>2]|0))f=gk[c[(c[i>>2]|0)+36>>2]&1023](i)|0;else f=VRa(c[f>>2]|0)|0;if(!(CSa(f,URa()|0)|0))if(k)break;else break a;else{c[e>>2]=0;C=19;break}}else C=19;while(0);if((C|0)==19){C=0;if(k){i=0;break}else i=0}f=a[p>>0]|0;f=f<<24>>24<0?c[o>>2]|0:f&255;if((c[t>>2]|0)==(b+f|0)){F0a(B,f<<1,0);if((a[p>>0]|0)<0)b=(c[q>>2]&2147483647)+-1|0;else b=10;F0a(B,b,0);b=(a[p>>0]|0)<0?c[B>>2]|0:B;c[t>>2]=b+f}k=j+12|0;f=c[k>>2]|0;m=j+16|0;if((f|0)==(c[m>>2]|0))f=gk[c[(c[j>>2]|0)+36>>2]&1023](j)|0;else f=VRa(c[f>>2]|0)|0;if(_Ua(f,z,b,t,x,c[s>>2]|0,A,u,w,r)|0)break;f=c[k>>2]|0;if((f|0)==(c[m>>2]|0))gk[c[(c[j>>2]|0)+40>>2]&1023](j)|0;else{c[k>>2]=f+4;VRa(c[f>>2]|0)|0}i=n}s=a[A+11>>0]|0;if((s<<24>>24<0?c[A+4>>2]|0:s&255)|0?(v=c[w>>2]|0,(v-u|0)<160):0){x=c[x>>2]|0;c[w>>2]=v+4;c[v>>2]=x}z=JUa(b,c[t>>2]|0,g,z)|0;c[h>>2]=z;c[h+4>>2]=y;rUa(A,u,c[w>>2]|0,g);if(j){b=c[j+12>>2]|0;if((b|0)==(c[j+16>>2]|0))b=gk[c[(c[n>>2]|0)+36>>2]&1023](j)|0;else b=VRa(c[b>>2]|0)|0;if(CSa(b,URa()|0)|0){c[d>>2]=0;f=1}else f=0}else f=1;do if(i){b=c[i+12>>2]|0;if((b|0)==(c[i+16>>2]|0))b=gk[c[(c[i>>2]|0)+36>>2]&1023](i)|0;else b=VRa(c[b>>2]|0)|0;if(!(CSa(b,URa()|0)|0))if(f)break;else{C=50;break}else{c[e>>2]=0;C=48;break}}else C=48;while(0);if((C|0)==48?f:0)C=50;if((C|0)==50)c[g>>2]=c[g>>2]|2;C=c[d>>2]|0;y0a(B);y0a(A);l=D;return C|0}function mVa(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;C=l;l=l+304|0;s=C+300|0;z=C+288|0;A=C+276|0;t=C+272|0;u=C;w=C+268|0;x=C+264|0;y=xUa(f)|0;r=fVa(b,f,C+160|0)|0;gVa(z,f,s);c[A>>2]=0;c[A+4>>2]=0;c[A+8>>2]=0;b=0;while(1){if((b|0)==3)break;c[A+(b<<2)>>2]=0;b=b+1|0}p=A+11|0;q=A+8|0;if((a[p>>0]|0)<0)b=(c[q>>2]&2147483647)+-1|0;else b=10;F0a(A,b,0);b=(a[p>>0]|0)<0?c[A>>2]|0:A;c[t>>2]=b;c[w>>2]=u;c[x>>2]=0;o=A+4|0;j=c[d>>2]|0;i=j;a:while(1){if(j){f=c[j+12>>2]|0;if((f|0)==(c[j+16>>2]|0))f=gk[c[(c[j>>2]|0)+36>>2]&1023](j)|0;else f=VRa(c[f>>2]|0)|0;if(CSa(f,URa()|0)|0){c[d>>2]=0;n=0;k=1;j=0}else{n=i;k=0}}else{n=0;k=1;j=0}i=c[e>>2]|0;do if(i){f=c[i+12>>2]|0;if((f|0)==(c[i+16>>2]|0))f=gk[c[(c[i>>2]|0)+36>>2]&1023](i)|0;else f=VRa(c[f>>2]|0)|0;if(!(CSa(f,URa()|0)|0))if(k)break;else break a;else{c[e>>2]=0;B=19;break}}else B=19;while(0);if((B|0)==19){B=0;if(k){i=0;break}else i=0}f=a[p>>0]|0;f=f<<24>>24<0?c[o>>2]|0:f&255;if((c[t>>2]|0)==(b+f|0)){F0a(A,f<<1,0);if((a[p>>0]|0)<0)b=(c[q>>2]&2147483647)+-1|0;else b=10;F0a(A,b,0);b=(a[p>>0]|0)<0?c[A>>2]|0:A;c[t>>2]=b+f}k=j+12|0;f=c[k>>2]|0;m=j+16|0;if((f|0)==(c[m>>2]|0))f=gk[c[(c[j>>2]|0)+36>>2]&1023](j)|0;else f=VRa(c[f>>2]|0)|0;if(_Ua(f,y,b,t,x,c[s>>2]|0,z,u,w,r)|0)break;f=c[k>>2]|0;if((f|0)==(c[m>>2]|0))gk[c[(c[j>>2]|0)+40>>2]&1023](j)|0;else{c[k>>2]=f+4;VRa(c[f>>2]|0)|0}i=n}s=a[z+11>>0]|0;if((s<<24>>24<0?c[z+4>>2]|0:s&255)|0?(v=c[w>>2]|0,(v-u|0)<160):0){x=c[x>>2]|0;c[w>>2]=v+4;c[v>>2]=x}c[h>>2]=LUa(b,c[t>>2]|0,g,y)|0;rUa(z,u,c[w>>2]|0,g);if(j){b=c[j+12>>2]|0;if((b|0)==(c[j+16>>2]|0))b=gk[c[(c[n>>2]|0)+36>>2]&1023](j)|0;else b=VRa(c[b>>2]|0)|0;if(CSa(b,URa()|0)|0){c[d>>2]=0;f=1}else f=0}else f=1;do if(i){b=c[i+12>>2]|0;if((b|0)==(c[i+16>>2]|0))b=gk[c[(c[i>>2]|0)+36>>2]&1023](i)|0;else b=VRa(c[b>>2]|0)|0;if(!(CSa(b,URa()|0)|0))if(f)break;else{B=50;break}else{c[e>>2]=0;B=48;break}}else B=48;while(0);if((B|0)==48?f:0)B=50;if((B|0)==50)c[g>>2]=c[g>>2]|2;B=c[d>>2]|0;y0a(A);y0a(z);l=C;return B|0}function nVa(b,d,e,f,g,h,i){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;x=l;l=l+112|0;k=x;m=(f-e|0)/12|0;if(m>>>0>100){k=GNa(m)|0;if(!k)i0a();else{j=k;v=k}}else{j=k;v=0}k=0;o=e;p=j;while(1){if((o|0)==(f|0))break;n=a[o+8+3>>0]|0;if(n<<24>>24<0)n=c[o+4>>2]|0;else n=n&255;if(!n){a[p>>0]=2;k=k+1|0;m=m+-1|0}else a[p>>0]=1;o=o+12|0;p=p+1|0}u=0;s=k;while(1){k=c[b>>2]|0;do if(k){n=c[k+12>>2]|0;if((n|0)==(c[k+16>>2]|0))k=gk[c[(c[k>>2]|0)+36>>2]&1023](k)|0;else k=VRa(c[n>>2]|0)|0;if(CSa(k,URa()|0)|0){c[b>>2]=0;p=1;break}else{p=(c[b>>2]|0)==0;break}}else p=1;while(0);n=c[d>>2]|0;if(n){k=c[n+12>>2]|0;if((k|0)==(c[n+16>>2]|0))k=gk[c[(c[n>>2]|0)+36>>2]&1023](n)|0;else k=VRa(c[k>>2]|0)|0;if(CSa(k,URa()|0)|0){c[d>>2]=0;k=1;n=0}else k=0}else{k=1;n=0}o=c[b>>2]|0;if(!((m|0)!=0&(p^k)))break;k=c[o+12>>2]|0;if((k|0)==(c[o+16>>2]|0))k=gk[c[(c[o>>2]|0)+36>>2]&1023](o)|0;else k=VRa(c[k>>2]|0)|0;if(!i)k=kk[c[(c[g>>2]|0)+28>>2]&511](g,k)|0;t=u+1|0;q=e;p=0;r=j;while(1){if((q|0)==(f|0))break;do if((a[r>>0]|0)==1){o=q+8+3|0;if((a[o>>0]|0)<0)n=c[q>>2]|0;else n=q;n=c[n+(u<<2)>>2]|0;if(!i)n=kk[c[(c[g>>2]|0)+28>>2]&511](g,n)|0;if((k|0)!=(n|0)){a[r>>0]=0;n=p;o=s;m=m+-1|0;break}n=a[o>>0]|0;if(n<<24>>24<0)n=c[q+4>>2]|0;else n=n&255;if((n|0)==(t|0)){a[r>>0]=2;n=1;o=s+1|0;m=m+-1|0}else{n=1;o=s}}else{n=p;o=s}while(0);q=q+12|0;p=n;r=r+1|0;s=o}a:do if(p){k=c[b>>2]|0;n=k+12|0;o=c[n>>2]|0;if((o|0)==(c[k+16>>2]|0))gk[c[(c[k>>2]|0)+40>>2]&1023](k)|0;else{c[n>>2]=o+4;VRa(c[o>>2]|0)|0}if((s+m|0)>>>0>1){o=e;p=j;k=s;while(1){if((o|0)==(f|0))break a;if((a[p>>0]|0)==2){n=a[o+8+3>>0]|0;if(n<<24>>24<0)n=c[o+4>>2]|0;else n=n&255;if((n|0)!=(t|0)){a[p>>0]=0;k=k+-1|0}}o=o+12|0;p=p+1|0}}else k=s}else k=s;while(0);u=t;s=k}do if(o){k=c[o+12>>2]|0;if((k|0)==(c[o+16>>2]|0))k=gk[c[(c[o>>2]|0)+36>>2]&1023](o)|0;else k=VRa(c[k>>2]|0)|0;if(CSa(k,URa()|0)|0){c[b>>2]=0;m=1;break}else{m=(c[b>>2]|0)==0;break}}else m=1;while(0);do if(n){k=c[n+12>>2]|0;if((k|0)==(c[n+16>>2]|0))k=gk[c[(c[n>>2]|0)+36>>2]&1023](n)|0;else k=VRa(c[k>>2]|0)|0;if(!(CSa(k,URa()|0)|0))if(m)break;else{w=79;break}else{c[d>>2]=0;w=41;break}}else w=41;while(0);if((w|0)==41?m:0)w=79;if((w|0)==79)c[h>>2]=c[h>>2]|2;while(1){if((e|0)==(f|0)){w=84;break}if((a[j>>0]|0)==2)break;e=e+12|0;j=j+1|0}if((w|0)==84){c[h>>2]=c[h>>2]|4;e=f}HNa(v);l=x;return e|0}function oVa(a){a=a|0;JTa(a);return}function pVa(a){a=a|0;JTa(a);l0a(a);return}function qVa(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0;m=l;l=l+16|0;k=m+4|0;h=m;if(!(c[e+4>>2]&1)){j=c[(c[b>>2]|0)+24>>2]|0;c[h>>2]=c[d>>2];c[k>>2]=c[h>>2];b=pk[j&63](b,k,e,f,g&1)|0}else{BSa(k,e);b=cUa(k,230596)|0;dUa(k);e=c[b>>2]|0;if(g)Jk[c[e+24>>2]&1023](k,b);else Jk[c[e+28>>2]&1023](k,b);i=k+11|0;b=a[i>>0]|0;e=c[k>>2]|0;j=k+4|0;g=b<<24>>24<0?e:k;while(1){h=b<<24>>24<0;if((g|0)==((h?e:k)+(h?c[j>>2]|0:b&255)|0))break;b=a[g>>0]|0;e=c[d>>2]|0;if(e|0){f=e+24|0;h=c[f>>2]|0;if((h|0)==(c[e+28>>2]|0)){h=c[(c[e>>2]|0)+52>>2]|0;b=DRa(b)|0;b=kk[h&511](e,b)|0}else{c[f>>2]=h+1;a[h>>0]=b;b=DRa(b)|0}if(ASa(b,CRa()|0)|0)c[d>>2]=0}g=g+1|0;b=a[i>>0]|0;e=c[k>>2]|0}b=c[d>>2]|0;y0a(k)}l=m;return b|0}function rVa(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0;b=l;l=l+32|0;j=b;o=b+16|0;n=b+12|0;m=b+4|0;k=b+8|0;a[o>>0]=a[213991]|0;a[o+1>>0]=a[213992]|0;a[o+2>>0]=a[213993]|0;a[o+3>>0]=a[213994]|0;a[o+4>>0]=a[213995]|0;a[o+5>>0]=a[213996]|0;q=e+4|0;DVa(o+1|0,213997,1,c[q>>2]|0);q=(c[q>>2]|0)>>>9&1;r=q+13|0;h=Ci()|0;p=l;l=l+((1*r|0)+15&-16)|0;i=fUa()|0;c[j>>2]=g;g=p+(yVa(p,r,i,o,j)|0)|0;o=zVa(p,g,e)|0;i=l;l=l+((1*((q<<1|24)+-1|0)|0)+15&-16)|0;BSa(j,e);EVa(p,o,g,i,n,m,j);dUa(j);c[k>>2]=c[d>>2];d=c[n>>2]|0;g=c[m>>2]|0;c[j>>2]=c[k>>2];g=nr(j,i,d,g,e,f)|0;Bi(h|0);l=b;return g|0}function sVa(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;a=l;l=l+32|0;j=a+8|0;i=a;n=a+24|0;m=a+16|0;k=a+20|0;p=i;c[p>>2]=37;c[p+4>>2]=0;p=d+4|0;DVa(i+1|0,213988,1,c[p>>2]|0);p=(c[p>>2]|0)>>>9&1;r=p+23|0;h=Ci()|0;o=l;l=l+((1*r|0)+15&-16)|0;q=fUa()|0;s=j;c[s>>2]=f;c[s+4>>2]=g;f=o+(yVa(o,r,q,i,j)|0)|0;g=zVa(o,f,d)|0;i=l;l=l+((1*((p<<1|44)+-1|0)|0)+15&-16)|0;BSa(j,d);EVa(o,g,f,i,n,m,j);dUa(j);c[k>>2]=c[b>>2];f=c[n>>2]|0;g=c[m>>2]|0;c[j>>2]=c[k>>2];g=nr(j,i,f,g,d,e)|0;Bi(h|0);l=a;return g|0}function tVa(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0;b=l;l=l+32|0;j=b;o=b+16|0;n=b+12|0;m=b+4|0;k=b+8|0;a[o>>0]=a[213991]|0;a[o+1>>0]=a[213992]|0;a[o+2>>0]=a[213993]|0;a[o+3>>0]=a[213994]|0;a[o+4>>0]=a[213995]|0;a[o+5>>0]=a[213996]|0;q=e+4|0;DVa(o+1|0,213997,0,c[q>>2]|0);q=(c[q>>2]|0)>>>9&1;r=q|12;h=Ci()|0;p=l;l=l+((1*r|0)+15&-16)|0;i=fUa()|0;c[j>>2]=g;g=p+(yVa(p,r,i,o,j)|0)|0;o=zVa(p,g,e)|0;i=l;l=l+((1*(q<<1|21)|0)+15&-16)|0;BSa(j,e);EVa(p,o,g,i,n,m,j);dUa(j);c[k>>2]=c[d>>2];d=c[n>>2]|0;g=c[m>>2]|0;c[j>>2]=c[k>>2];g=nr(j,i,d,g,e,f)|0;Bi(h|0);l=b;return g|0}function uVa(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;a=l;l=l+32|0;j=a+8|0;i=a;n=a+24|0;m=a+16|0;k=a+20|0;p=i;c[p>>2]=37;c[p+4>>2]=0;p=d+4|0;DVa(i+1|0,213988,0,c[p>>2]|0);p=(c[p>>2]|0)>>>9&1|22;r=p+1|0;h=Ci()|0;o=l;l=l+((1*r|0)+15&-16)|0;q=fUa()|0;s=j;c[s>>2]=f;c[s+4>>2]=g;f=o+(yVa(o,r,q,i,j)|0)|0;g=zVa(o,f,d)|0;i=l;l=l+((1*((p<<1)+-1|0)|0)+15&-16)|0;BSa(j,d);EVa(o,g,f,i,n,m,j);dUa(j);c[k>>2]=c[b>>2];f=c[n>>2]|0;g=c[m>>2]|0;c[j>>2]=c[k>>2];g=nr(j,i,f,g,d,e)|0;Bi(h|0);l=a;return g|0}function vVa(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=+f;var g=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;w=l;l=l+176|0;s=w+168|0;n=w+144|0;m=w+128|0;i=w+120|0;g=w+104|0;k=w+96|0;p=w+64|0;o=w+164|0;q=w;v=w+160|0;t=w+156|0;u=w+152|0;j=k;c[j>>2]=37;c[j+4>>2]=0;j=AVa(k+1|0,231036,c[d+4>>2]|0)|0;c[o>>2]=p;a=fUa()|0;if(j){c[g>>2]=c[d+8>>2];h[g+8>>3]=f;a=yVa(p,30,a,k,g)|0}else{h[i>>3]=f;a=yVa(p,30,a,k,i)|0}if((a|0)>29){a=fUa()|0;if(j){c[m>>2]=c[d+8>>2];h[m+8>>3]=f;g=BVa(o,a,k,m)|0}else{h[n>>3]=f;g=BVa(o,a,k,n)|0}a=c[o>>2]|0;if(!a)i0a();else{r=g;z=a;A=a}}else{r=a;z=0;A=c[o>>2]|0}g=A+r|0;i=zVa(A,g,d)|0;if((A|0)!=(p|0)){a=GNa(r<<1)|0;if(!a)i0a();else{x=a;y=a}}else{x=q;y=0}BSa(s,d);CVa(A,i,g,x,v,t,s);dUa(s);c[u>>2]=c[b>>2];b=c[v>>2]|0;A=c[t>>2]|0;c[s>>2]=c[u>>2];A=nr(s,x,b,A,d,e)|0;HNa(y);HNa(z);l=w;return A|0}function wVa(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=+f;var g=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;w=l;l=l+176|0;s=w+168|0;n=w+144|0;m=w+128|0;i=w+120|0;g=w+104|0;k=w+96|0;p=w+64|0;o=w+164|0;q=w;v=w+160|0;t=w+156|0;u=w+152|0;j=k;c[j>>2]=37;c[j+4>>2]=0;j=AVa(k+1|0,213986,c[d+4>>2]|0)|0;c[o>>2]=p;a=fUa()|0;if(j){c[g>>2]=c[d+8>>2];h[g+8>>3]=f;a=yVa(p,30,a,k,g)|0}else{h[i>>3]=f;a=yVa(p,30,a,k,i)|0}if((a|0)>29){a=fUa()|0;if(j){c[m>>2]=c[d+8>>2];h[m+8>>3]=f;g=BVa(o,a,k,m)|0}else{h[n>>3]=f;g=BVa(o,a,k,n)|0}a=c[o>>2]|0;if(!a)i0a();else{r=g;z=a;A=a}}else{r=a;z=0;A=c[o>>2]|0}g=A+r|0;i=zVa(A,g,d)|0;if((A|0)!=(p|0)){a=GNa(r<<1)|0;if(!a)i0a();else{x=a;y=a}}else{x=q;y=0}BSa(s,d);CVa(A,i,g,x,v,t,s);dUa(s);c[u>>2]=c[b>>2];b=c[v>>2]|0;A=c[t>>2]|0;c[s>>2]=c[u>>2];A=nr(s,x,b,A,d,e)|0;HNa(y);HNa(z);l=w;return A|0}function xVa(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0;b=l;l=l+96|0;m=b+72|0;k=b+80|0;h=b+48|0;j=b;n=b+76|0;a[k>>0]=a[213980]|0;a[k+1>>0]=a[213981]|0;a[k+2>>0]=a[213982]|0;a[k+3>>0]=a[213983]|0;a[k+4>>0]=a[213984]|0;a[k+5>>0]=a[213985]|0;i=fUa()|0;c[m>>2]=g;g=yVa(h,20,i,k,m)|0;k=h+g|0;i=zVa(h,k,e)|0;BSa(m,e);o=cUa(m,230580)|0;dUa(m);mk[c[(c[o>>2]|0)+32>>2]&63](o,h,k,j)|0;g=j+g|0;c[n>>2]=c[d>>2];c[m>>2]=c[n>>2];g=nr(m,j,(i|0)==(k|0)?g:j+(i-h)|0,g,e,f)|0;l=b;return g|0}function yVa(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0;g=l;l=l+16|0;h=g;c[h>>2]=f;f=_Pa(d)|0;d=VOa(a,b,e,h)|0;if(f|0)_Pa(f)|0;l=g;return d|0}function zVa(b,d,e){b=b|0;d=d|0;e=e|0;var f=0;a:do switch((c[e+4>>2]&176)<<24>>24){case 16:{e=a[b>>0]|0;switch(e<<24>>24){case 43:case 45:{b=b+1|0;break a}default:{}}if((d-b|0)>1&e<<24>>24==48){switch(a[b+1>>0]|0){case 88:case 120:break;default:{f=7;break a}}b=b+2|0}else f=7;break}case 32:{b=d;break}default:f=7}while(0);return b|0}function AVa(b,c,d){b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0;if(d&2048){a[b>>0]=43;b=b+1|0}if(d&1024){a[b>>0]=35;b=b+1|0}g=d&260;e=d&16384;f=(g|0)==260;if(f)h=0;else{a[b>>0]=46;a[b+1>>0]=42;h=1;b=b+2|0}while(1){d=a[c>>0]|0;if(!(d<<24>>24))break;a[b>>0]=d;c=c+1|0;b=b+1|0}a:do switch(g&511){case 4:{d=e>>>9&255^102;break}case 256:{d=e>>>9&255^101;break}default:{d=e>>>9&255;if(f){d=d^97;break a}else{d=d^103;break a}}}while(0);a[b>>0]=d;return h|0}function BVa(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;f=l;l=l+16|0;g=f;c[g>>2]=e;e=_Pa(b)|0;b=bRa(a,d,g)|0;if(e|0)_Pa(e)|0;l=f;return b|0}function CVa(b,d,e,f,g,h,i){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;w=l;l=l+16|0;t=w;u=cUa(i,230580)|0;s=cUa(i,230596)|0;Jk[c[(c[s>>2]|0)+20>>2]&1023](t,s);c[h>>2]=f;i=a[b>>0]|0;switch(i<<24>>24){case 43:case 45:{r=kk[c[(c[u>>2]|0)+28>>2]&511](u,i)|0;j=c[h>>2]|0;c[h>>2]=j+1;a[j>>0]=r;j=b+1|0;break}default:j=b}r=e;a:do if((r-j|0)>1?(a[j>>0]|0)==48:0){i=j+1|0;switch(a[i>>0]|0){case 88:case 120:break;default:{v=4;break a}}p=kk[c[(c[u>>2]|0)+28>>2]&511](u,48)|0;q=c[h>>2]|0;c[h>>2]=q+1;a[q>>0]=p;j=j+2|0;q=kk[c[(c[u>>2]|0)+28>>2]&511](u,a[i>>0]|0)|0;i=c[h>>2]|0;c[h>>2]=i+1;a[i>>0]=q;i=j;while(1){if(i>>>0>=e>>>0)break a;q=a[i>>0]|0;if(!(fQa(q,fUa()|0)|0))break a;i=i+1|0}}else v=4;while(0);b:do if((v|0)==4){i=j;while(1){if(i>>>0>=e>>>0)break b;q=a[i>>0]|0;if(!(hQa(q,fUa()|0)|0))break b;i=i+1|0}}while(0);p=t+11|0;o=a[p>>0]|0;q=t+4|0;c:do if((o<<24>>24<0?c[q>>2]|0:o&255)|0){d:do if((j|0)!=(i|0)){k=i;m=j;while(1){k=k+-1|0;if(m>>>0>=k>>>0)break d;o=a[m>>0]|0;a[m>>0]=a[k>>0]|0;a[k>>0]=o;m=m+1|0}}while(0);o=gk[c[(c[s>>2]|0)+16>>2]&1023](s)|0;n=j;m=0;k=0;while(1){if(n>>>0>=i>>>0)break;x=a[((a[p>>0]|0)<0?c[t>>2]|0:t)+k>>0]|0;if(x<<24>>24>0&(m|0)==(x<<24>>24|0)){m=c[h>>2]|0;c[h>>2]=m+1;a[m>>0]=o;m=a[p>>0]|0;k=k+(k>>>0<((m<<24>>24<0?c[q>>2]|0:m&255)+-1|0)>>>0&1)|0;m=0}y=kk[c[(c[u>>2]|0)+28>>2]&511](u,a[n>>0]|0)|0;x=c[h>>2]|0;c[h>>2]=x+1;a[x>>0]=y;n=n+1|0;m=m+1|0}k=f+(j-b)|0;j=c[h>>2]|0;if((k|0)==(j|0))k=u;else while(1){j=j+-1|0;if(k>>>0>=j>>>0){k=u;break c}y=a[k>>0]|0;a[k>>0]=a[j>>0]|0;a[j>>0]=y;k=k+1|0}}else{mk[c[(c[u>>2]|0)+32>>2]&63](u,j,i,c[h>>2]|0)|0;c[h>>2]=(c[h>>2]|0)+(i-j);k=u}while(0);while(1){if(i>>>0>=e>>>0)break;j=a[i>>0]|0;if(j<<24>>24==46){v=32;break}x=kk[c[(c[k>>2]|0)+28>>2]&511](u,j)|0;y=c[h>>2]|0;c[h>>2]=y+1;a[y>>0]=x;i=i+1|0}if((v|0)==32){x=gk[c[(c[s>>2]|0)+12>>2]&1023](s)|0;y=c[h>>2]|0;c[h>>2]=y+1;a[y>>0]=x;i=i+1|0}mk[c[(c[u>>2]|0)+32>>2]&63](u,i,e,c[h>>2]|0)|0;y=(c[h>>2]|0)+(r-i)|0;c[h>>2]=y;c[g>>2]=(d|0)==(e|0)?y:f+(d-b)|0;y0a(t);l=w;return}function DVa(b,c,d,e){b=b|0;c=c|0;d=d|0;e=e|0;var f=0;if(e&2048){a[b>>0]=43;b=b+1|0}if(e&512){a[b>>0]=35;b=b+1|0}f=b;while(1){b=a[c>>0]|0;if(!(b<<24>>24))break;a[f>>0]=b;c=c+1|0;f=f+1|0}switch(e&74){case 64:{b=111;break}case 8:{b=e>>>9&32^120;break}default:b=d?100:117}a[f>>0]=b;return}function EVa(b,d,e,f,g,h,i){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;s=l;l=l+16|0;r=s;q=cUa(i,230580)|0;m=cUa(i,230596)|0;Jk[c[(c[m>>2]|0)+20>>2]&1023](r,m);o=r+11|0;n=a[o>>0]|0;p=r+4|0;if((n<<24>>24<0?c[p>>2]|0:n&255)|0){c[h>>2]=f;i=a[b>>0]|0;switch(i<<24>>24){case 43:case 45:{n=kk[c[(c[q>>2]|0)+28>>2]&511](q,i)|0;i=c[h>>2]|0;c[h>>2]=i+1;a[i>>0]=n;i=b+1|0;break}default:i=b}a:do if((e-i|0)>1?(a[i>>0]|0)==48:0){j=i+1|0;switch(a[j>>0]|0){case 88:case 120:break;default:break a}n=kk[c[(c[q>>2]|0)+28>>2]&511](q,48)|0;k=c[h>>2]|0;c[h>>2]=k+1;a[k>>0]=n;k=kk[c[(c[q>>2]|0)+28>>2]&511](q,a[j>>0]|0)|0;n=c[h>>2]|0;c[h>>2]=n+1;a[n>>0]=k;i=i+2|0}while(0);b:do if((i|0)!=(e|0)){j=e;k=i;while(1){j=j+-1|0;if(k>>>0>=j>>>0)break b;n=a[k>>0]|0;a[k>>0]=a[j>>0]|0;a[j>>0]=n;k=k+1|0}}while(0);n=gk[c[(c[m>>2]|0)+16>>2]&1023](m)|0;m=i;j=0;k=0;while(1){if(m>>>0>=e>>>0)break;t=a[((a[o>>0]|0)<0?c[r>>2]|0:r)+j>>0]|0;if(t<<24>>24!=0&(k|0)==(t<<24>>24|0)){k=c[h>>2]|0;c[h>>2]=k+1;a[k>>0]=n;k=a[o>>0]|0;j=j+(j>>>0<((k<<24>>24<0?c[p>>2]|0:k&255)+-1|0)>>>0&1)|0;k=0}u=kk[c[(c[q>>2]|0)+28>>2]&511](q,a[m>>0]|0)|0;t=c[h>>2]|0;c[h>>2]=t+1;a[t>>0]=u;m=m+1|0;k=k+1|0}i=f+(i-b)|0;j=c[h>>2]|0;if((i|0)!=(j|0)){while(1){j=j+-1|0;if(i>>>0>=j>>>0)break;u=a[i>>0]|0;a[i>>0]=a[j>>0]|0;a[j>>0]=u;i=i+1|0}i=c[h>>2]|0}}else{mk[c[(c[q>>2]|0)+32>>2]&63](q,b,e,f)|0;i=f+(e-b)|0;c[h>>2]=i}c[g>>2]=(d|0)==(e|0)?i:f+(d-b)|0;y0a(r);l=s;return}function FVa(a){a=a|0;JTa(a);return}function GVa(a){a=a|0;JTa(a);l0a(a);return}function HVa(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0;m=l;l=l+16|0;k=m+4|0;h=m;if(!(c[e+4>>2]&1)){j=c[(c[b>>2]|0)+24>>2]|0;c[h>>2]=c[d>>2];c[k>>2]=c[h>>2];b=pk[j&63](b,k,e,f,g&1)|0}else{BSa(k,e);b=cUa(k,230620)|0;dUa(k);e=c[b>>2]|0;if(g)Jk[c[e+24>>2]&1023](k,b);else Jk[c[e+28>>2]&1023](k,b);i=k+8+3|0;b=a[i>>0]|0;e=c[k>>2]|0;j=k+4|0;g=b<<24>>24<0?e:k;while(1){h=b<<24>>24<0;if((g|0)==((h?e:k)+((h?c[j>>2]|0:b&255)<<2)|0))break;b=c[g>>2]|0;e=c[d>>2]|0;if(e|0){f=e+24|0;h=c[f>>2]|0;if((h|0)==(c[e+28>>2]|0)){h=c[(c[e>>2]|0)+52>>2]|0;b=VRa(b)|0;b=kk[h&511](e,b)|0}else{c[f>>2]=h+4;c[h>>2]=b;b=VRa(b)|0}if(CSa(b,URa()|0)|0)c[d>>2]=0}g=g+4|0;b=a[i>>0]|0;e=c[k>>2]|0}b=c[d>>2]|0;Y0a(k)}l=m;return b|0}function IVa(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0;b=l;l=l+32|0;j=b;o=b+16|0;n=b+12|0;m=b+4|0;k=b+8|0;a[o>>0]=a[213991]|0;a[o+1>>0]=a[213992]|0;a[o+2>>0]=a[213993]|0;a[o+3>>0]=a[213994]|0;a[o+4>>0]=a[213995]|0;a[o+5>>0]=a[213996]|0;q=e+4|0;DVa(o+1|0,213997,1,c[q>>2]|0);q=(c[q>>2]|0)>>>9&1;r=q+13|0;h=Ci()|0;p=l;l=l+((1*r|0)+15&-16)|0;i=fUa()|0;c[j>>2]=g;g=p+(yVa(p,r,i,o,j)|0)|0;o=zVa(p,g,e)|0;i=l;l=l+((1*((q<<1|24)+-1<<2)|0)+15&-16)|0;BSa(j,e);RVa(p,o,g,i,n,m,j);dUa(j);c[k>>2]=c[d>>2];d=c[n>>2]|0;g=c[m>>2]|0;c[j>>2]=c[k>>2];g=PVa(j,i,d,g,e,f)|0;Bi(h|0);l=b;return g|0}function JVa(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;a=l;l=l+32|0;j=a+8|0;i=a;n=a+24|0;m=a+16|0;k=a+20|0;p=i;c[p>>2]=37;c[p+4>>2]=0;p=d+4|0;DVa(i+1|0,213988,1,c[p>>2]|0);p=(c[p>>2]|0)>>>9&1;r=p+23|0;h=Ci()|0;o=l;l=l+((1*r|0)+15&-16)|0;q=fUa()|0;s=j;c[s>>2]=f;c[s+4>>2]=g;f=o+(yVa(o,r,q,i,j)|0)|0;g=zVa(o,f,d)|0;i=l;l=l+((1*((p<<1|44)+-1<<2)|0)+15&-16)|0;BSa(j,d);RVa(o,g,f,i,n,m,j);dUa(j);c[k>>2]=c[b>>2];f=c[n>>2]|0;g=c[m>>2]|0;c[j>>2]=c[k>>2];g=PVa(j,i,f,g,d,e)|0;Bi(h|0);l=a;return g|0}function KVa(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0;b=l;l=l+32|0;j=b;o=b+16|0;n=b+12|0;m=b+4|0;k=b+8|0;a[o>>0]=a[213991]|0;a[o+1>>0]=a[213992]|0;a[o+2>>0]=a[213993]|0;a[o+3>>0]=a[213994]|0;a[o+4>>0]=a[213995]|0;a[o+5>>0]=a[213996]|0;q=e+4|0;DVa(o+1|0,213997,0,c[q>>2]|0);q=(c[q>>2]|0)>>>9&1;r=q|12;h=Ci()|0;p=l;l=l+((1*r|0)+15&-16)|0;i=fUa()|0;c[j>>2]=g;g=p+(yVa(p,r,i,o,j)|0)|0;o=zVa(p,g,e)|0;i=l;l=l+((1*((q<<1|21)<<2)|0)+15&-16)|0;BSa(j,e);RVa(p,o,g,i,n,m,j);dUa(j);c[k>>2]=c[d>>2];d=c[n>>2]|0;g=c[m>>2]|0;c[j>>2]=c[k>>2];g=PVa(j,i,d,g,e,f)|0;Bi(h|0);l=b;return g|0}function LVa(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;a=l;l=l+32|0;j=a+8|0;i=a;n=a+24|0;m=a+16|0;k=a+20|0;p=i;c[p>>2]=37;c[p+4>>2]=0;p=d+4|0;DVa(i+1|0,213988,0,c[p>>2]|0);p=(c[p>>2]|0)>>>9&1|22;r=p+1|0;h=Ci()|0;o=l;l=l+((1*r|0)+15&-16)|0;q=fUa()|0;s=j;c[s>>2]=f;c[s+4>>2]=g;f=o+(yVa(o,r,q,i,j)|0)|0;g=zVa(o,f,d)|0;i=l;l=l+((1*((p<<1)+-1<<2)|0)+15&-16)|0;BSa(j,d);RVa(o,g,f,i,n,m,j);dUa(j);c[k>>2]=c[b>>2];f=c[n>>2]|0;g=c[m>>2]|0;c[j>>2]=c[k>>2];g=PVa(j,i,f,g,d,e)|0;Bi(h|0);l=a;return g|0}function MVa(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=+f;var g=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;y=l;l=l+352|0;s=y+344|0;n=y+320|0;m=y+304|0;i=y+296|0;g=y+280|0;k=y+272|0;p=y+240|0;o=y+340|0;q=y;v=y+336|0;t=y+332|0;u=y+328|0;j=k;c[j>>2]=37;c[j+4>>2]=0;j=AVa(k+1|0,231036,c[d+4>>2]|0)|0;c[o>>2]=p;a=fUa()|0;if(j){c[g>>2]=c[d+8>>2];h[g+8>>3]=f;a=yVa(p,30,a,k,g)|0}else{h[i>>3]=f;a=yVa(p,30,a,k,i)|0}if((a|0)>29){a=fUa()|0;if(j){c[m>>2]=c[d+8>>2];h[m+8>>3]=f;g=BVa(o,a,k,m)|0}else{h[n>>3]=f;g=BVa(o,a,k,n)|0}a=c[o>>2]|0;if(!a)i0a();else{r=g;A=a;x=a}}else{r=a;A=0;x=c[o>>2]|0}g=x+r|0;i=zVa(x,g,d)|0;do if((x|0)!=(p|0)){a=GNa(r<<3)|0;if(!a)i0a();else{w=a;z=0;B=a;break}}else{w=q;z=1;B=0}while(0);BSa(s,d);QVa(x,i,g,w,v,t,s);dUa(s);c[u>>2]=c[b>>2];x=c[v>>2]|0;a=c[t>>2]|0;c[s>>2]=c[u>>2];a=PVa(s,w,x,a,d,e)|0;c[b>>2]=a;if(!z)HNa(B);HNa(A);l=y;return a|0}function NVa(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=+f;var g=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;y=l;l=l+352|0;s=y+344|0;n=y+320|0;m=y+304|0;i=y+296|0;g=y+280|0;k=y+272|0;p=y+240|0;o=y+340|0;q=y;v=y+336|0;t=y+332|0;u=y+328|0;j=k;c[j>>2]=37;c[j+4>>2]=0;j=AVa(k+1|0,213986,c[d+4>>2]|0)|0;c[o>>2]=p;a=fUa()|0;if(j){c[g>>2]=c[d+8>>2];h[g+8>>3]=f;a=yVa(p,30,a,k,g)|0}else{h[i>>3]=f;a=yVa(p,30,a,k,i)|0}if((a|0)>29){a=fUa()|0;if(j){c[m>>2]=c[d+8>>2];h[m+8>>3]=f;g=BVa(o,a,k,m)|0}else{h[n>>3]=f;g=BVa(o,a,k,n)|0}a=c[o>>2]|0;if(!a)i0a();else{r=g;A=a;x=a}}else{r=a;A=0;x=c[o>>2]|0}g=x+r|0;i=zVa(x,g,d)|0;do if((x|0)!=(p|0)){a=GNa(r<<3)|0;if(!a)i0a();else{w=a;z=0;B=a;break}}else{w=q;z=1;B=0}while(0);BSa(s,d);QVa(x,i,g,w,v,t,s);dUa(s);c[u>>2]=c[b>>2];x=c[v>>2]|0;a=c[t>>2]|0;c[s>>2]=c[u>>2];a=PVa(s,w,x,a,d,e)|0;c[b>>2]=a;if(!z)HNa(B);HNa(A);l=y;return a|0}function OVa(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0;b=l;l=l+208|0;m=b+184|0;k=b+192|0;h=b+160|0;j=b;n=b+188|0;a[k>>0]=a[213980]|0;a[k+1>>0]=a[213981]|0;a[k+2>>0]=a[213982]|0;a[k+3>>0]=a[213983]|0;a[k+4>>0]=a[213984]|0;a[k+5>>0]=a[213985]|0;i=fUa()|0;c[m>>2]=g;g=yVa(h,20,i,k,m)|0;k=h+g|0;i=zVa(h,k,e)|0;BSa(m,e);o=cUa(m,230612)|0;dUa(m);mk[c[(c[o>>2]|0)+48>>2]&63](o,h,k,j)|0;g=j+(g<<2)|0;c[n>>2]=c[d>>2];c[m>>2]=c[n>>2];g=PVa(m,j,(i|0)==(k|0)?g:j+(i-h<<2)|0,g,e,f)|0;l=b;return g|0}function PVa(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,m=0,n=0,o=0,p=0;o=l;l=l+16|0;n=o;i=c[b>>2]|0;a:do if(!i)i=0;else{p=d;j=f-p>>2;m=g+12|0;g=c[m>>2]|0;g=(g|0)>(j|0)?g-j|0:0;j=e;p=j-p|0;k=p>>2;if((p|0)>0?(lk[c[(c[i>>2]|0)+48>>2]&127](i,d,k)|0)!=(k|0):0){c[b>>2]=0;i=0;break}do if((g|0)>0){c[n>>2]=0;c[n+4>>2]=0;c[n+8>>2]=0;W0a(n,g,h);if((lk[c[(c[i>>2]|0)+48>>2]&127](i,(a[n+8+3>>0]|0)<0?c[n>>2]|0:n,g)|0)==(g|0)){Y0a(n);break}else{c[b>>2]=0;Y0a(n);i=0;break a}}while(0);p=f-j|0;f=p>>2;if((p|0)>0?(lk[c[(c[i>>2]|0)+48>>2]&127](i,e,f)|0)!=(f|0):0){c[b>>2]=0;i=0;break}c[m>>2]=0}while(0);l=o;return i|0}function QVa(b,d,e,f,g,h,i){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;w=l;l=l+16|0;t=w;u=cUa(i,230612)|0;r=cUa(i,230620)|0;Jk[c[(c[r>>2]|0)+20>>2]&1023](t,r);c[h>>2]=f;i=a[b>>0]|0;switch(i<<24>>24){case 43:case 45:{s=kk[c[(c[u>>2]|0)+44>>2]&511](u,i)|0;i=c[h>>2]|0;c[h>>2]=i+4;c[i>>2]=s;i=b+1|0;break}default:i=b}s=e;a:do if((s-i|0)>1?(a[i>>0]|0)==48:0){j=i+1|0;switch(a[j>>0]|0){case 88:case 120:break;default:{v=4;break a}}p=kk[c[(c[u>>2]|0)+44>>2]&511](u,48)|0;q=c[h>>2]|0;c[h>>2]=q+4;c[q>>2]=p;i=i+2|0;q=kk[c[(c[u>>2]|0)+44>>2]&511](u,a[j>>0]|0)|0;j=c[h>>2]|0;c[h>>2]=j+4;c[j>>2]=q;j=i;while(1){if(j>>>0>=e>>>0)break a;q=a[j>>0]|0;if(!(fQa(q,fUa()|0)|0))break a;j=j+1|0}}else v=4;while(0);b:do if((v|0)==4){j=i;while(1){if(j>>>0>=e>>>0)break b;q=a[j>>0]|0;if(!(hQa(q,fUa()|0)|0))break b;j=j+1|0}}while(0);p=t+11|0;o=a[p>>0]|0;q=t+4|0;c:do if((o<<24>>24<0?c[q>>2]|0:o&255)|0){d:do if((i|0)!=(j|0)){k=j;m=i;while(1){k=k+-1|0;if(m>>>0>=k>>>0)break d;o=a[m>>0]|0;a[m>>0]=a[k>>0]|0;a[k>>0]=o;m=m+1|0}}while(0);o=gk[c[(c[r>>2]|0)+16>>2]&1023](r)|0;n=i;k=0;m=0;while(1){if(n>>>0>=j>>>0)break;x=a[((a[p>>0]|0)<0?c[t>>2]|0:t)+k>>0]|0;if(x<<24>>24>0&(m|0)==(x<<24>>24|0)){m=c[h>>2]|0;c[h>>2]=m+4;c[m>>2]=o;m=a[p>>0]|0;k=k+(k>>>0<((m<<24>>24<0?c[q>>2]|0:m&255)+-1|0)>>>0&1)|0;m=0}y=kk[c[(c[u>>2]|0)+44>>2]&511](u,a[n>>0]|0)|0;x=c[h>>2]|0;c[h>>2]=x+4;c[x>>2]=y;n=n+1|0;m=m+1|0}i=f+(i-b<<2)|0;m=c[h>>2]|0;if((i|0)==(m|0))k=u;else{k=m;while(1){k=k+-4|0;if(i>>>0>=k>>>0){k=u;i=m;break c}y=c[i>>2]|0;c[i>>2]=c[k>>2];c[k>>2]=y;i=i+4|0}}}else{mk[c[(c[u>>2]|0)+48>>2]&63](u,i,j,c[h>>2]|0)|0;i=(c[h>>2]|0)+(j-i<<2)|0;c[h>>2]=i;k=u}while(0);while(1){if(j>>>0>=e>>>0)break;i=a[j>>0]|0;if(i<<24>>24==46){v=32;break}x=kk[c[(c[k>>2]|0)+44>>2]&511](u,i)|0;y=c[h>>2]|0;i=y+4|0;c[h>>2]=i;c[y>>2]=x;j=j+1|0}if((v|0)==32){x=gk[c[(c[r>>2]|0)+12>>2]&1023](r)|0;y=c[h>>2]|0;i=y+4|0;c[h>>2]=i;c[y>>2]=x;j=j+1|0}mk[c[(c[u>>2]|0)+48>>2]&63](u,j,e,i)|0;y=(c[h>>2]|0)+(s-j<<2)|0;c[h>>2]=y;c[g>>2]=(d|0)==(e|0)?y:f+(d-b<<2)|0;y0a(t);l=w;return}function RVa(b,d,e,f,g,h,i){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;s=l;l=l+16|0;r=s;q=cUa(i,230612)|0;m=cUa(i,230620)|0;Jk[c[(c[m>>2]|0)+20>>2]&1023](r,m);o=r+11|0;n=a[o>>0]|0;p=r+4|0;if((n<<24>>24<0?c[p>>2]|0:n&255)|0){c[h>>2]=f;i=a[b>>0]|0;switch(i<<24>>24){case 43:case 45:{n=kk[c[(c[q>>2]|0)+44>>2]&511](q,i)|0;i=c[h>>2]|0;c[h>>2]=i+4;c[i>>2]=n;i=b+1|0;break}default:i=b}a:do if((e-i|0)>1?(a[i>>0]|0)==48:0){j=i+1|0;switch(a[j>>0]|0){case 88:case 120:break;default:break a}n=kk[c[(c[q>>2]|0)+44>>2]&511](q,48)|0;k=c[h>>2]|0;c[h>>2]=k+4;c[k>>2]=n;k=kk[c[(c[q>>2]|0)+44>>2]&511](q,a[j>>0]|0)|0;n=c[h>>2]|0;c[h>>2]=n+4;c[n>>2]=k;i=i+2|0}while(0);b:do if((i|0)!=(e|0)){j=e;k=i;while(1){j=j+-1|0;if(k>>>0>=j>>>0)break b;n=a[k>>0]|0;a[k>>0]=a[j>>0]|0;a[j>>0]=n;k=k+1|0}}while(0);n=gk[c[(c[m>>2]|0)+16>>2]&1023](m)|0;m=i;j=0;k=0;while(1){if(m>>>0>=e>>>0)break;t=a[((a[o>>0]|0)<0?c[r>>2]|0:r)+j>>0]|0;if(t<<24>>24!=0&(k|0)==(t<<24>>24|0)){k=c[h>>2]|0;c[h>>2]=k+4;c[k>>2]=n;k=a[o>>0]|0;j=j+(j>>>0<((k<<24>>24<0?c[p>>2]|0:k&255)+-1|0)>>>0&1)|0;k=0}u=kk[c[(c[q>>2]|0)+44>>2]&511](q,a[m>>0]|0)|0;t=c[h>>2]|0;c[h>>2]=t+4;c[t>>2]=u;m=m+1|0;k=k+1|0}i=f+(i-b<<2)|0;j=c[h>>2]|0;if((i|0)!=(j|0)){while(1){j=j+-4|0;if(i>>>0>=j>>>0)break;u=c[i>>2]|0;c[i>>2]=c[j>>2];c[j>>2]=u;i=i+4|0}i=c[h>>2]|0}}else{mk[c[(c[q>>2]|0)+48>>2]&63](q,b,e,f)|0;i=f+(e-b<<2)|0;c[h>>2]=i}c[g>>2]=(d|0)==(e|0)?i:f+(d-b<<2)|0;y0a(r);l=s;return}function SVa(a){a=a|0;JTa(a);return}function TVa(a){a=a|0;JTa(a);l0a(a);return}function UVa(a){a=a|0;return 2}function VVa(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0;h=l;l=l+16|0;i=h+12|0;j=h+8|0;m=h+4|0;k=h;c[m>>2]=c[b>>2];c[k>>2]=c[d>>2];c[j>>2]=c[m>>2];c[i>>2]=c[k>>2];g=lWa(a,j,i,e,f,g,214516,214524)|0;l=h;return g|0}function WVa(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,m=0,n=0,o=0,p=0;i=l;l=l+16|0;j=i+12|0;k=i+8|0;n=i+4|0;m=i;o=b+8|0;o=gk[c[(c[o>>2]|0)+20>>2]&1023](o)|0;c[n>>2]=c[d>>2];c[m>>2]=c[e>>2];e=a[o+11>>0]|0;p=e<<24>>24<0;d=p?c[o>>2]|0:o;e=d+(p?c[o+4>>2]|0:e&255)|0;c[k>>2]=c[n>>2];c[j>>2]=c[m>>2];h=lWa(b,k,j,f,g,h,d,e)|0;l=i;return h|0}function XVa(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0;h=l;l=l+16|0;i=h+4|0;j=h;BSa(i,e);e=cUa(i,230580)|0;dUa(i);c[j>>2]=c[d>>2];c[i>>2]=c[j>>2];jWa(a,g+24|0,b,i,f,e);l=h;return c[b>>2]|0}function YVa(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0;h=l;l=l+16|0;i=h+4|0;j=h;BSa(i,e);e=cUa(i,230580)|0;dUa(i);c[j>>2]=c[d>>2];c[i>>2]=c[j>>2];kWa(a,g+16|0,b,i,f,e);l=h;return c[b>>2]|0}function ZVa(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0;h=l;l=l+16|0;i=h+4|0;j=h;BSa(i,e);e=cUa(i,230580)|0;dUa(i);c[j>>2]=c[d>>2];c[i>>2]=c[j>>2];wWa(a,g+20|0,b,i,f,e);l=h;return c[b>>2]|0}function _Va(b,d,e,f,g,h,i,j){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0;S=l;l=l+144|0;k=S+128|0;j=S+112|0;Q=S+124|0;R=S+120|0;m=S+116|0;n=S+108|0;o=S+104|0;p=S+100|0;q=S+96|0;r=S+92|0;s=S+88|0;t=S+84|0;u=S+80|0;v=S+76|0;w=S+72|0;x=S+68|0;y=S+64|0;z=S+60|0;A=S+56|0;B=S+52|0;C=S+48|0;D=S+44|0;E=S+40|0;F=S+36|0;G=S+32|0;H=S+28|0;I=S+24|0;J=S+20|0;K=S+16|0;L=S+12|0;M=S+8|0;N=S+4|0;O=S;c[g>>2]=0;BSa(k,f);P=cUa(k,230580)|0;dUa(k);do switch(i<<24>>24|0){case 65:case 97:{c[Q>>2]=c[e>>2];c[k>>2]=c[Q>>2];jWa(b,h+24|0,d,k,g,P);T=26;break}case 104:case 66:case 98:{c[R>>2]=c[e>>2];c[k>>2]=c[R>>2];kWa(b,h+16|0,d,k,g,P);T=26;break}case 99:{R=b+8|0;R=gk[c[(c[R>>2]|0)+12>>2]&1023](R)|0;c[m>>2]=c[d>>2];c[n>>2]=c[e>>2];T=a[R+11>>0]|0;e=T<<24>>24<0;i=e?c[R>>2]|0:R;T=i+(e?c[R+4>>2]|0:T&255)|0;c[j>>2]=c[m>>2];c[k>>2]=c[n>>2];c[d>>2]=lWa(b,j,k,f,g,h,i,T)|0;T=26;break}case 101:case 100:{c[o>>2]=c[e>>2];c[k>>2]=c[o>>2];mWa(b,h+12|0,d,k,g,P);T=26;break}case 68:{c[p>>2]=c[d>>2];c[q>>2]=c[e>>2];c[j>>2]=c[p>>2];c[k>>2]=c[q>>2];c[d>>2]=lWa(b,j,k,f,g,h,214476,214484)|0;T=26;break}case 70:{c[r>>2]=c[d>>2];c[s>>2]=c[e>>2];c[j>>2]=c[r>>2];c[k>>2]=c[s>>2];c[d>>2]=lWa(b,j,k,f,g,h,214484,214492)|0;T=26;break}case 72:{c[t>>2]=c[e>>2];c[k>>2]=c[t>>2];nWa(b,h+8|0,d,k,g,P);T=26;break}case 73:{c[u>>2]=c[e>>2];c[k>>2]=c[u>>2];oWa(b,h+8|0,d,k,g,P);T=26;break}case 106:{c[v>>2]=c[e>>2];c[k>>2]=c[v>>2];pWa(b,h+28|0,d,k,g,P);T=26;break}case 109:{c[w>>2]=c[e>>2];c[k>>2]=c[w>>2];qWa(b,h+16|0,d,k,g,P);T=26;break}case 77:{c[x>>2]=c[e>>2];c[k>>2]=c[x>>2];rWa(b,h+4|0,d,k,g,P);T=26;break}case 116:case 110:{c[y>>2]=c[e>>2];c[k>>2]=c[y>>2];sWa(b,d,k,g,P);T=26;break}case 112:{c[z>>2]=c[e>>2];c[k>>2]=c[z>>2];tWa(b,h+8|0,d,k,g,P);T=26;break}case 114:{c[A>>2]=c[d>>2];c[B>>2]=c[e>>2];c[j>>2]=c[A>>2];c[k>>2]=c[B>>2];c[d>>2]=lWa(b,j,k,f,g,h,214492,214503)|0;T=26;break}case 82:{c[C>>2]=c[d>>2];c[D>>2]=c[e>>2];c[j>>2]=c[C>>2];c[k>>2]=c[D>>2];c[d>>2]=lWa(b,j,k,f,g,h,214503,214508)|0;T=26;break}case 83:{c[E>>2]=c[e>>2];c[k>>2]=c[E>>2];uWa(b,h,d,k,g,P);T=26;break}case 84:{c[F>>2]=c[d>>2];c[G>>2]=c[e>>2];c[j>>2]=c[F>>2];c[k>>2]=c[G>>2];c[d>>2]=lWa(b,j,k,f,g,h,214508,214516)|0;T=26;break}case 119:{c[H>>2]=c[e>>2];c[k>>2]=c[H>>2];vWa(b,h+24|0,d,k,g,P);T=26;break}case 120:{i=c[(c[b>>2]|0)+20>>2]|0;c[I>>2]=c[d>>2];c[J>>2]=c[e>>2];c[j>>2]=c[I>>2];c[k>>2]=c[J>>2];j=rk[i&63](b,j,k,f,g,h)|0;break}case 88:{R=b+8|0;R=gk[c[(c[R>>2]|0)+24>>2]&1023](R)|0;c[K>>2]=c[d>>2];c[L>>2]=c[e>>2];T=a[R+11>>0]|0;e=T<<24>>24<0;i=e?c[R>>2]|0:R;T=i+(e?c[R+4>>2]|0:T&255)|0;c[j>>2]=c[K>>2];c[k>>2]=c[L>>2];c[d>>2]=lWa(b,j,k,f,g,h,i,T)|0;T=26;break}case 121:{c[M>>2]=c[e>>2];c[k>>2]=c[M>>2];wWa(b,h+20|0,d,k,g,P);T=26;break}case 89:{c[N>>2]=c[e>>2];c[k>>2]=c[N>>2];xWa(b,h+20|0,d,k,g,P);T=26;break}case 37:{c[O>>2]=c[e>>2];c[k>>2]=c[O>>2];yWa(b,d,k,g,P);T=26;break}default:{c[g>>2]=c[g>>2]|4;T=26}}while(0);if((T|0)==26)j=c[d>>2]|0;l=S;return j|0}function $Va(b){b=b|0;if((a[224720]|0)==0?g2a(224720)|0:0){iWa();c[57677]=222688}return c[57677]|0}function aWa(b){b=b|0;if((a[224704]|0)==0?g2a(224704)|0:0){hWa();c[57676]=222400}return c[57676]|0}function bWa(b){b=b|0;if((a[224688]|0)==0?g2a(224688)|0:0){gWa();c[57675]=222112}return c[57675]|0}function cWa(b){b=b|0;if((a[224680]|0)==0?g2a(224680)|0:0){c[57672]=0;c[57673]=0;c[57674]=0;u0a(230688,214234,xSa(214234)|0)}return 230688}function dWa(b){b=b|0;if((a[224672]|0)==0?g2a(224672)|0:0){c[57669]=0;c[57670]=0;c[57671]=0;u0a(230676,214222,xSa(214222)|0)}return 230676}function eWa(b){b=b|0;if((a[224664]|0)==0?g2a(224664)|0:0){c[57666]=0;c[57667]=0;c[57668]=0;u0a(230664,214213,xSa(214213)|0)}return 230664}function fWa(b){b=b|0;if((a[224656]|0)==0?g2a(224656)|0:0){c[57663]=0;c[57664]=0;c[57665]=0;u0a(230652,214204,xSa(214204)|0)}return 230652}function gWa(){var b=0,d=0;if((a[224696]|0)==0?g2a(224696)|0:0){d=222112;do{c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;b=0;while(1){if((b|0)==3)break;c[d+(b<<2)>>2]=0;b=b+1|0}d=d+12|0}while((d|0)!=222400)}E0a(222112,214255)|0;E0a(222124,214258)|0;return}function hWa(){var b=0,d=0;if((a[224712]|0)==0?g2a(224712)|0:0){d=222400;do{c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;b=0;while(1){if((b|0)==3)break;c[d+(b<<2)>>2]=0;b=b+1|0}d=d+12|0}while((d|0)!=222688)}E0a(222400,214261)|0;E0a(222412,214269)|0;E0a(222424,214278)|0;E0a(222436,214284)|0;E0a(222448,214290)|0;E0a(222460,214294)|0;E0a(222472,214299)|0;E0a(222484,214304)|0;E0a(222496,214311)|0;E0a(222508,214321)|0;E0a(222520,214329)|0;E0a(222532,214338)|0;E0a(222544,214347)|0;E0a(222556,214351)|0;E0a(222568,214355)|0;E0a(222580,214359)|0;E0a(222592,214290)|0;E0a(222604,214363)|0;E0a(222616,214367)|0;E0a(222628,214371)|0;E0a(222640,214375)|0;E0a(222652,214379)|0;E0a(222664,214383)|0;E0a(222676,214387)|0;return}function iWa(){var b=0,d=0;if((a[224728]|0)==0?g2a(224728)|0:0){d=222688;do{c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;b=0;while(1){if((b|0)==3)break;c[d+(b<<2)>>2]=0;b=b+1|0}d=d+12|0}while((d|0)!=222856)}E0a(222688,214391)|0;E0a(222700,214398)|0;E0a(222712,214405)|0;E0a(222724,214413)|0;E0a(222736,214423)|0;E0a(222748,214432)|0;E0a(222760,214439)|0;E0a(222772,214448)|0;E0a(222784,214452)|0;E0a(222796,214456)|0;E0a(222808,214460)|0;E0a(222820,214464)|0;E0a(222832,214468)|0;E0a(222844,214472)|0;return}function jWa(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0;h=l;l=l+16|0;i=h+4|0;j=h;a=a+8|0;a=gk[c[c[a>>2]>>2]&1023](a)|0;c[j>>2]=c[e>>2];c[i>>2]=c[j>>2];a=(MUa(d,i,a,a+168|0,g,f,0)|0)-a|0;if((a|0)<168)c[b>>2]=((a|0)/12|0|0)%7|0;l=h;return}function kWa(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0;h=l;l=l+16|0;i=h+4|0;j=h;a=a+8|0;a=gk[c[(c[a>>2]|0)+4>>2]&1023](a)|0;c[j>>2]=c[e>>2];c[i>>2]=c[j>>2];a=(MUa(d,i,a,a+288|0,g,f,0)|0)-a|0;if((a|0)<288)c[b>>2]=((a|0)/12|0|0)%12|0;l=h;return}function lWa(d,e,f,g,h,i,j,k){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;var m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;A=l;l=l+16|0;t=A+12|0;s=A+8|0;x=A+4|0;y=A;BSa(t,g);u=cUa(t,230580)|0;dUa(t);c[h>>2]=0;v=u+8|0;n=0;a:while(1){m=c[e>>2]|0;if(!((j|0)!=(k|0)&(n|0)==0))break;o=m;if(m){n=c[m+12>>2]|0;if((n|0)==(c[m+16>>2]|0))n=gk[c[(c[m>>2]|0)+36>>2]&1023](m)|0;else n=DRa(a[n>>0]|0)|0;if(ASa(n,CRa()|0)|0){c[e>>2]=0;m=0;p=1;r=0}else{p=0;r=o}}else{m=0;p=1;r=o}q=c[f>>2]|0;n=q;do if(q){o=c[q+12>>2]|0;if((o|0)==(c[q+16>>2]|0))o=gk[c[(c[q>>2]|0)+36>>2]&1023](q)|0;else o=DRa(a[o>>0]|0)|0;if(!(ASa(o,CRa()|0)|0))if(p)break;else{z=63;break a}else{c[f>>2]=0;n=0;z=15;break}}else z=15;while(0);if((z|0)==15){z=0;if(p){z=63;break}else q=0}b:do if((lk[c[(c[u>>2]|0)+36>>2]&127](u,a[j>>0]|0,0)|0)<<24>>24==37){q=j+1|0;if((q|0)==(k|0)){z=63;break a}o=lk[c[(c[u>>2]|0)+36>>2]&127](u,a[q>>0]|0,0)|0;switch(o<<24>>24){case 48:case 69:{j=j+2|0;if((j|0)==(k|0)){z=63;break a}p=o;m=lk[c[(c[u>>2]|0)+36>>2]&127](u,a[j>>0]|0,0)|0;j=q;break}default:{p=0;m=o}}q=c[(c[d>>2]|0)+36>>2]|0;c[x>>2]=r;c[y>>2]=n;c[s>>2]=c[x>>2];c[t>>2]=c[y>>2];c[e>>2]=tk[q&31](d,s,t,g,h,i,m,p)|0;j=j+2|0}else{n=a[j>>0]|0;if(n<<24>>24>-1?(w=c[v>>2]|0,b[w+(n<<24>>24<<1)>>1]&8192):0){do{j=j+1|0;if((j|0)==(k|0)){j=k;break}n=a[j>>0]|0;if(n<<24>>24<=-1)break}while((b[w+(n<<24>>24<<1)>>1]&8192)!=0);while(1){if(m){n=c[m+12>>2]|0;if((n|0)==(c[m+16>>2]|0))n=gk[c[(c[m>>2]|0)+36>>2]&1023](m)|0;else n=DRa(a[n>>0]|0)|0;if(ASa(n,CRa()|0)|0){c[e>>2]=0;m=0;o=1}else o=0}else{m=0;o=1}do if(q){n=c[q+12>>2]|0;if((n|0)==(c[q+16>>2]|0))n=gk[c[(c[q>>2]|0)+36>>2]&1023](q)|0;else n=DRa(a[n>>0]|0)|0;if(!(ASa(n,CRa()|0)|0))if(o)break;else break b;else{c[f>>2]=0;z=42;break}}else z=42;while(0);if((z|0)==42){z=0;if(o)break b;else q=0}o=m+12|0;n=c[o>>2]|0;p=m+16|0;if((n|0)==(c[p>>2]|0))n=gk[c[(c[m>>2]|0)+36>>2]&1023](m)|0;else n=DRa(a[n>>0]|0)|0;if((n&255)<<24>>24<=-1)break b;if(!(b[(c[v>>2]|0)+(n<<24>>24<<1)>>1]&8192))break b;n=c[o>>2]|0;if((n|0)==(c[p>>2]|0))gk[c[(c[m>>2]|0)+40>>2]&1023](m)|0;else{c[o>>2]=n+1;DRa(a[n>>0]|0)|0}}}o=m+12|0;n=c[o>>2]|0;p=m+16|0;if((n|0)==(c[p>>2]|0))n=gk[c[(c[m>>2]|0)+36>>2]&1023](m)|0;else n=DRa(a[n>>0]|0)|0;r=kk[c[(c[u>>2]|0)+12>>2]&511](u,n&255)|0;if(r<<24>>24!=(kk[c[(c[u>>2]|0)+12>>2]&511](u,a[j>>0]|0)|0)<<24>>24){c[h>>2]=4;break}n=c[o>>2]|0;if((n|0)==(c[p>>2]|0))gk[c[(c[m>>2]|0)+40>>2]&1023](m)|0;else{c[o>>2]=n+1;DRa(a[n>>0]|0)|0}j=j+1|0}while(0);n=c[h>>2]|0}if((z|0)==63)c[h>>2]=4;if(m){j=c[m+12>>2]|0;if((j|0)==(c[m+16>>2]|0))j=gk[c[(c[m>>2]|0)+36>>2]&1023](m)|0;else j=DRa(a[j>>0]|0)|0;if(ASa(j,CRa()|0)|0){c[e>>2]=0;m=0;o=1}else o=0}else{m=0;o=1}j=c[f>>2]|0;do if(j){n=c[j+12>>2]|0;if((n|0)==(c[j+16>>2]|0))j=gk[c[(c[j>>2]|0)+36>>2]&1023](j)|0;else j=DRa(a[n>>0]|0)|0;if(!(ASa(j,CRa()|0)|0))if(o)break;else{z=78;break}else{c[f>>2]=0;z=76;break}}else z=76;while(0);if((z|0)==76?o:0)z=78;if((z|0)==78)c[h>>2]=c[h>>2]|2;l=A;return m|0}function mWa(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0;h=l;l=l+16|0;a=h+4|0;i=h;c[i>>2]=c[e>>2];c[a>>2]=c[i>>2];a=zWa(d,a,f,g,2)|0;d=c[f>>2]|0;if((a+-1|0)>>>0<31&(d&4|0)==0)c[b>>2]=a;else c[f>>2]=d|4;l=h;return}function nWa(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0;h=l;l=l+16|0;a=h+4|0;i=h;c[i>>2]=c[e>>2];c[a>>2]=c[i>>2];a=zWa(d,a,f,g,2)|0;d=c[f>>2]|0;if((a|0)<24&(d&4|0)==0)c[b>>2]=a;else c[f>>2]=d|4;l=h;return}function oWa(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0;h=l;l=l+16|0;a=h+4|0;i=h;c[i>>2]=c[e>>2];c[a>>2]=c[i>>2];a=zWa(d,a,f,g,2)|0;d=c[f>>2]|0;if((a+-1|0)>>>0<12&(d&4|0)==0)c[b>>2]=a;else c[f>>2]=d|4;l=h;return}function pWa(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0;h=l;l=l+16|0;a=h+4|0;i=h;c[i>>2]=c[e>>2];c[a>>2]=c[i>>2];a=zWa(d,a,f,g,3)|0;d=c[f>>2]|0;if((a|0)<366&(d&4|0)==0)c[b>>2]=a;else c[f>>2]=d|4;l=h;return}function qWa(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0;h=l;l=l+16|0;a=h+4|0;i=h;c[i>>2]=c[e>>2];c[a>>2]=c[i>>2];a=zWa(d,a,f,g,2)|0;d=c[f>>2]|0;if((a|0)<13&(d&4|0)==0)c[b>>2]=a+-1;else c[f>>2]=d|4;l=h;return}function rWa(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0;h=l;l=l+16|0;a=h+4|0;i=h;c[i>>2]=c[e>>2];c[a>>2]=c[i>>2];a=zWa(d,a,f,g,2)|0;d=c[f>>2]|0;if((a|0)<60&(d&4|0)==0)c[b>>2]=a;else c[f>>2]=d|4;l=h;return}function sWa(d,e,f,g,h){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0;j=h+8|0;a:while(1){d=c[e>>2]|0;do if(d){h=c[d+12>>2]|0;if((h|0)==(c[d+16>>2]|0))d=gk[c[(c[d>>2]|0)+36>>2]&1023](d)|0;else d=DRa(a[h>>0]|0)|0;if(ASa(d,CRa()|0)|0){c[e>>2]=0;h=1;break}else{h=(c[e>>2]|0)==0;break}}else h=1;while(0);i=c[f>>2]|0;do if(i){d=c[i+12>>2]|0;if((d|0)==(c[i+16>>2]|0))d=gk[c[(c[i>>2]|0)+36>>2]&1023](i)|0;else d=DRa(a[d>>0]|0)|0;if(!(ASa(d,CRa()|0)|0))if(h)break;else break a;else{c[f>>2]=0;k=15;break}}else k=15;while(0);if((k|0)==15){k=0;if(h){i=0;break}else i=0}d=c[e>>2]|0;h=c[d+12>>2]|0;if((h|0)==(c[d+16>>2]|0))d=gk[c[(c[d>>2]|0)+36>>2]&1023](d)|0;else d=DRa(a[h>>0]|0)|0;if((d&255)<<24>>24<=-1)break;if(!(b[(c[j>>2]|0)+(d<<24>>24<<1)>>1]&8192))break;d=c[e>>2]|0;h=d+12|0;i=c[h>>2]|0;if((i|0)==(c[d+16>>2]|0))gk[c[(c[d>>2]|0)+40>>2]&1023](d)|0;else{c[h>>2]=i+1;DRa(a[i>>0]|0)|0}}d=c[e>>2]|0;do if(d){h=c[d+12>>2]|0;if((h|0)==(c[d+16>>2]|0))d=gk[c[(c[d>>2]|0)+36>>2]&1023](d)|0;else d=DRa(a[h>>0]|0)|0;if(ASa(d,CRa()|0)|0){c[e>>2]=0;h=1;break}else{h=(c[e>>2]|0)==0;break}}else h=1;while(0);do if(i){d=c[i+12>>2]|0;if((d|0)==(c[i+16>>2]|0))d=gk[c[(c[i>>2]|0)+36>>2]&1023](i)|0;else d=DRa(a[d>>0]|0)|0;if(!(ASa(d,CRa()|0)|0))if(h)break;else{k=41;break}else{c[f>>2]=0;k=39;break}}else k=39;while(0);if((k|0)==39?h:0)k=41;if((k|0)==41)c[g>>2]=c[g>>2]|2;return}function tWa(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,m=0,n=0;n=l;l=l+16|0;k=n+4|0;m=n;j=b+8|0;j=gk[c[(c[j>>2]|0)+8>>2]&1023](j)|0;b=a[j+11>>0]|0;if(b<<24>>24<0)i=c[j+4>>2]|0;else i=b&255;b=a[j+12+11>>0]|0;if(b<<24>>24<0)b=c[j+16>>2]|0;else b=b&255;do if((i|0)!=(0-b|0)){c[m>>2]=c[f>>2];c[k>>2]=c[m>>2];b=(MUa(e,k,j,j+24|0,h,g,0)|0)-j|0;i=c[d>>2]|0;if((i|0)==12&(b|0)==0){c[d>>2]=0;break}if((i|0)<12&(b|0)==12)c[d>>2]=i+12}else c[g>>2]=c[g>>2]|4;while(0);l=n;return}function uWa(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0;h=l;l=l+16|0;a=h+4|0;i=h;c[i>>2]=c[e>>2];c[a>>2]=c[i>>2];a=zWa(d,a,f,g,2)|0;d=c[f>>2]|0;if((a|0)<61&(d&4|0)==0)c[b>>2]=a;else c[f>>2]=d|4;l=h;return}function vWa(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0;h=l;l=l+16|0;a=h+4|0;i=h;c[i>>2]=c[e>>2];c[a>>2]=c[i>>2];a=zWa(d,a,f,g,1)|0;d=c[f>>2]|0;if((a|0)<7&(d&4|0)==0)c[b>>2]=a;else c[f>>2]=d|4;l=h;return}function wWa(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0;h=l;l=l+16|0;a=h+4|0;i=h;c[i>>2]=c[e>>2];c[a>>2]=c[i>>2];a=zWa(d,a,f,g,4)|0;if(!(c[f>>2]&4)){if((a|0)<69)a=a+2e3|0;else a=(a|0)<100?a+1900|0:a;c[b>>2]=a+-1900}l=h;return}function xWa(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0;h=l;l=l+16|0;a=h+4|0;i=h;c[i>>2]=c[e>>2];c[a>>2]=c[i>>2];a=zWa(d,a,f,g,4)|0;if(!(c[f>>2]&4))c[b>>2]=a+-1900;l=h;return}function yWa(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0;b=c[d>>2]|0;do if(b){h=c[b+12>>2]|0;if((h|0)==(c[b+16>>2]|0))b=gk[c[(c[b>>2]|0)+36>>2]&1023](b)|0;else b=DRa(a[h>>0]|0)|0;if(ASa(b,CRa()|0)|0){c[d>>2]=0;i=1;break}else{i=(c[d>>2]|0)==0;break}}else i=1;while(0);h=c[e>>2]|0;do if(h){b=c[h+12>>2]|0;if((b|0)==(c[h+16>>2]|0))b=gk[c[(c[h>>2]|0)+36>>2]&1023](h)|0;else b=DRa(a[b>>0]|0)|0;if(!(ASa(b,CRa()|0)|0))if(i){j=h;k=17;break}else{k=16;break}else{c[e>>2]=0;k=14;break}}else k=14;while(0);if((k|0)==14)if(i)k=16;else{j=0;k=17}a:do if((k|0)==16)c[f>>2]=c[f>>2]|6;else if((k|0)==17){b=c[d>>2]|0;h=c[b+12>>2]|0;if((h|0)==(c[b+16>>2]|0))b=gk[c[(c[b>>2]|0)+36>>2]&1023](b)|0;else b=DRa(a[h>>0]|0)|0;if((lk[c[(c[g>>2]|0)+36>>2]&127](g,b&255,0)|0)<<24>>24!=37){c[f>>2]=c[f>>2]|4;break}b=c[d>>2]|0;h=b+12|0;i=c[h>>2]|0;if((i|0)==(c[b+16>>2]|0))gk[c[(c[b>>2]|0)+40>>2]&1023](b)|0;else{c[h>>2]=i+1;DRa(a[i>>0]|0)|0}b=c[d>>2]|0;do if(b){h=c[b+12>>2]|0;if((h|0)==(c[b+16>>2]|0))b=gk[c[(c[b>>2]|0)+36>>2]&1023](b)|0;else b=DRa(a[h>>0]|0)|0;if(ASa(b,CRa()|0)|0){c[d>>2]=0;h=1;break}else{h=(c[d>>2]|0)==0;break}}else h=1;while(0);do if(j){b=c[j+12>>2]|0;if((b|0)==(c[j+16>>2]|0))b=gk[c[(c[j>>2]|0)+36>>2]&1023](j)|0;else b=DRa(a[b>>0]|0)|0;if(!(ASa(b,CRa()|0)|0))if(h)break a;else break;else{c[e>>2]=0;k=38;break}}else k=38;while(0);if((k|0)==38?!h:0)break;c[f>>2]=c[f>>2]|2}while(0);return}function zWa(d,e,f,g,h){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;i=c[d>>2]|0;do if(i){j=c[i+12>>2]|0;if((j|0)==(c[i+16>>2]|0))i=gk[c[(c[i>>2]|0)+36>>2]&1023](i)|0;else i=DRa(a[j>>0]|0)|0;if(ASa(i,CRa()|0)|0){c[d>>2]=0;k=1;break}else{k=(c[d>>2]|0)==0;break}}else k=1;while(0);j=c[e>>2]|0;do if(j){i=c[j+12>>2]|0;if((i|0)==(c[j+16>>2]|0))i=gk[c[(c[j>>2]|0)+36>>2]&1023](j)|0;else i=DRa(a[i>>0]|0)|0;if(!(ASa(i,CRa()|0)|0))if(k){q=17;break}else{q=16;break}else{c[e>>2]=0;q=14;break}}else q=14;while(0);if((q|0)==14)if(k)q=16;else{j=0;q=17}a:do if((q|0)==16){c[f>>2]=c[f>>2]|6;i=0}else if((q|0)==17){i=c[d>>2]|0;k=c[i+12>>2]|0;if((k|0)==(c[i+16>>2]|0))i=gk[c[(c[i>>2]|0)+36>>2]&1023](i)|0;else i=DRa(a[k>>0]|0)|0;k=i&255;if(k<<24>>24>-1?(p=g+8|0,b[(c[p>>2]|0)+(i<<24>>24<<1)>>1]&2048):0){i=(lk[c[(c[g>>2]|0)+36>>2]&127](g,k,0)|0)<<24>>24;k=c[d>>2]|0;l=k+12|0;m=c[l>>2]|0;if((m|0)==(c[k+16>>2]|0))gk[c[(c[k>>2]|0)+40>>2]&1023](k)|0;else{c[l>>2]=m+1;DRa(a[m>>0]|0)|0}n=j;m=j;while(1){i=i+-48|0;o=h+-1|0;j=c[d>>2]|0;do if(j){k=c[j+12>>2]|0;if((k|0)==(c[j+16>>2]|0))j=gk[c[(c[j>>2]|0)+36>>2]&1023](j)|0;else j=DRa(a[k>>0]|0)|0;if(ASa(j,CRa()|0)|0){c[d>>2]=0;l=1;break}else{l=(c[d>>2]|0)==0;break}}else l=1;while(0);if(m){j=c[m+12>>2]|0;if((j|0)==(c[m+16>>2]|0))j=gk[c[(c[m>>2]|0)+36>>2]&1023](m)|0;else j=DRa(a[j>>0]|0)|0;if(ASa(j,CRa()|0)|0){c[e>>2]=0;j=1;n=0;m=0}else j=0}else{j=1;m=0}k=c[d>>2]|0;if(!((h|0)>1&(l^j)))break;j=c[k+12>>2]|0;if((j|0)==(c[k+16>>2]|0))j=gk[c[(c[k>>2]|0)+36>>2]&1023](k)|0;else j=DRa(a[j>>0]|0)|0;k=j&255;if(k<<24>>24<=-1)break a;if(!(b[(c[p>>2]|0)+(j<<24>>24<<1)>>1]&2048))break a;i=(i*10|0)+((lk[c[(c[g>>2]|0)+36>>2]&127](g,k,0)|0)<<24>>24)|0;j=c[d>>2]|0;k=j+12|0;l=c[k>>2]|0;if((l|0)==(c[j+16>>2]|0))gk[c[(c[j>>2]|0)+40>>2]&1023](j)|0;else{c[k>>2]=l+1;DRa(a[l>>0]|0)|0}h=o}do if(k){j=c[k+12>>2]|0;if((j|0)==(c[k+16>>2]|0))j=gk[c[(c[k>>2]|0)+36>>2]&1023](k)|0;else j=DRa(a[j>>0]|0)|0;if(ASa(j,CRa()|0)|0){c[d>>2]=0;k=1;break}else{k=(c[d>>2]|0)==0;break}}else k=1;while(0);do if(n){j=c[n+12>>2]|0;if((j|0)==(c[n+16>>2]|0))j=gk[c[(c[n>>2]|0)+36>>2]&1023](n)|0;else j=DRa(a[j>>0]|0)|0;if(!(ASa(j,CRa()|0)|0))if(k)break a;else break;else{c[e>>2]=0;q=63;break}}else q=63;while(0);if((q|0)==63?!k:0)break;c[f>>2]=c[f>>2]|2;break}c[f>>2]=c[f>>2]|4;i=0}while(0);return i|0}function AWa(a){a=a|0;JTa(a);return}function BWa(a){a=a|0;JTa(a);l0a(a);return}function CWa(a){a=a|0;return 2}function DWa(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0;h=l;l=l+16|0;i=h+12|0;j=h+8|0;m=h+4|0;k=h;c[m>>2]=c[b>>2];c[k>>2]=c[d>>2];c[j>>2]=c[m>>2];c[i>>2]=c[k>>2];g=WWa(a,j,i,e,f,g,39648,39680)|0;l=h;return g|0}function EWa(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,m=0,n=0,o=0,p=0;i=l;l=l+16|0;j=i+12|0;k=i+8|0;n=i+4|0;m=i;o=b+8|0;o=gk[c[(c[o>>2]|0)+20>>2]&1023](o)|0;c[n>>2]=c[d>>2];c[m>>2]=c[e>>2];e=a[o+8+3>>0]|0;p=e<<24>>24<0;d=p?c[o>>2]|0:o;e=d+((p?c[o+4>>2]|0:e&255)<<2)|0;c[k>>2]=c[n>>2];c[j>>2]=c[m>>2];h=WWa(b,k,j,f,g,h,d,e)|0;l=i;return h|0}function FWa(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0;h=l;l=l+16|0;i=h+4|0;j=h;BSa(i,e);e=cUa(i,230612)|0;dUa(i);c[j>>2]=c[d>>2];c[i>>2]=c[j>>2];UWa(a,g+24|0,b,i,f,e);l=h;return c[b>>2]|0}function GWa(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0;h=l;l=l+16|0;i=h+4|0;j=h;BSa(i,e);e=cUa(i,230612)|0;dUa(i);c[j>>2]=c[d>>2];c[i>>2]=c[j>>2];VWa(a,g+16|0,b,i,f,e);l=h;return c[b>>2]|0}function HWa(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0;h=l;l=l+16|0;i=h+4|0;j=h;BSa(i,e);e=cUa(i,230612)|0;dUa(i);c[j>>2]=c[d>>2];c[i>>2]=c[j>>2];fXa(a,g+20|0,b,i,f,e);l=h;return c[b>>2]|0}function IWa(b,d,e,f,g,h,i,j){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0;S=l;l=l+144|0;k=S+128|0;j=S+112|0;Q=S+124|0;R=S+120|0;m=S+116|0;n=S+108|0;o=S+104|0;p=S+100|0;q=S+96|0;r=S+92|0;s=S+88|0;t=S+84|0;u=S+80|0;v=S+76|0;w=S+72|0;x=S+68|0;y=S+64|0;z=S+60|0;A=S+56|0;B=S+52|0;C=S+48|0;D=S+44|0;E=S+40|0;F=S+36|0;G=S+32|0;H=S+28|0;I=S+24|0;J=S+20|0;K=S+16|0;L=S+12|0;M=S+8|0;N=S+4|0;O=S;c[g>>2]=0;BSa(k,f);P=cUa(k,230612)|0;dUa(k);do switch(i<<24>>24|0){case 65:case 97:{c[Q>>2]=c[e>>2];c[k>>2]=c[Q>>2];UWa(b,h+24|0,d,k,g,P);T=26;break}case 104:case 66:case 98:{c[R>>2]=c[e>>2];c[k>>2]=c[R>>2];VWa(b,h+16|0,d,k,g,P);T=26;break}case 99:{R=b+8|0;R=gk[c[(c[R>>2]|0)+12>>2]&1023](R)|0;c[m>>2]=c[d>>2];c[n>>2]=c[e>>2];T=a[R+8+3>>0]|0;e=T<<24>>24<0;i=e?c[R>>2]|0:R;T=i+((e?c[R+4>>2]|0:T&255)<<2)|0;c[j>>2]=c[m>>2];c[k>>2]=c[n>>2];c[d>>2]=WWa(b,j,k,f,g,h,i,T)|0;T=26;break}case 101:case 100:{c[o>>2]=c[e>>2];c[k>>2]=c[o>>2];XWa(b,h+12|0,d,k,g,P);T=26;break}case 68:{c[p>>2]=c[d>>2];c[q>>2]=c[e>>2];c[j>>2]=c[p>>2];c[k>>2]=c[q>>2];c[d>>2]=WWa(b,j,k,f,g,h,39472,39504)|0;T=26;break}case 70:{c[r>>2]=c[d>>2];c[s>>2]=c[e>>2];c[j>>2]=c[r>>2];c[k>>2]=c[s>>2];c[d>>2]=WWa(b,j,k,f,g,h,39504,39536)|0;T=26;break}case 72:{c[t>>2]=c[e>>2];c[k>>2]=c[t>>2];YWa(b,h+8|0,d,k,g,P);T=26;break}case 73:{c[u>>2]=c[e>>2];c[k>>2]=c[u>>2];ZWa(b,h+8|0,d,k,g,P);T=26;break}case 106:{c[v>>2]=c[e>>2];c[k>>2]=c[v>>2];_Wa(b,h+28|0,d,k,g,P);T=26;break}case 109:{c[w>>2]=c[e>>2];c[k>>2]=c[w>>2];$Wa(b,h+16|0,d,k,g,P);T=26;break}case 77:{c[x>>2]=c[e>>2];c[k>>2]=c[x>>2];aXa(b,h+4|0,d,k,g,P);T=26;break}case 116:case 110:{c[y>>2]=c[e>>2];c[k>>2]=c[y>>2];bXa(b,d,k,g,P);T=26;break}case 112:{c[z>>2]=c[e>>2];c[k>>2]=c[z>>2];cXa(b,h+8|0,d,k,g,P);T=26;break}case 114:{c[A>>2]=c[d>>2];c[B>>2]=c[e>>2];c[j>>2]=c[A>>2];c[k>>2]=c[B>>2];c[d>>2]=WWa(b,j,k,f,g,h,39536,39580)|0;T=26;break}case 82:{c[C>>2]=c[d>>2];c[D>>2]=c[e>>2];c[j>>2]=c[C>>2];c[k>>2]=c[D>>2];c[d>>2]=WWa(b,j,k,f,g,h,39584,39604)|0;T=26;break}case 83:{c[E>>2]=c[e>>2];c[k>>2]=c[E>>2];dXa(b,h,d,k,g,P);T=26;break}case 84:{c[F>>2]=c[d>>2];c[G>>2]=c[e>>2];c[j>>2]=c[F>>2];c[k>>2]=c[G>>2];c[d>>2]=WWa(b,j,k,f,g,h,39616,39648)|0;T=26;break}case 119:{c[H>>2]=c[e>>2];c[k>>2]=c[H>>2];eXa(b,h+24|0,d,k,g,P);T=26;break}case 120:{i=c[(c[b>>2]|0)+20>>2]|0;c[I>>2]=c[d>>2];c[J>>2]=c[e>>2];c[j>>2]=c[I>>2];c[k>>2]=c[J>>2];j=rk[i&63](b,j,k,f,g,h)|0;break}case 88:{R=b+8|0;R=gk[c[(c[R>>2]|0)+24>>2]&1023](R)|0;c[K>>2]=c[d>>2];c[L>>2]=c[e>>2];T=a[R+8+3>>0]|0;e=T<<24>>24<0;i=e?c[R>>2]|0:R;T=i+((e?c[R+4>>2]|0:T&255)<<2)|0;c[j>>2]=c[K>>2];c[k>>2]=c[L>>2];c[d>>2]=WWa(b,j,k,f,g,h,i,T)|0;T=26;break}case 121:{c[M>>2]=c[e>>2];c[k>>2]=c[M>>2];fXa(b,h+20|0,d,k,g,P);T=26;break}case 89:{c[N>>2]=c[e>>2];c[k>>2]=c[N>>2];gXa(b,h+20|0,d,k,g,P);T=26;break}case 37:{c[O>>2]=c[e>>2];c[k>>2]=c[O>>2];hXa(b,d,k,g,P);T=26;break}default:{c[g>>2]=c[g>>2]|4;T=26}}while(0);if((T|0)==26)j=c[d>>2]|0;l=S;return j|0}function JWa(b){b=b|0;if((a[224800]|0)==0?g2a(224800)|0:0){TWa();c[57694]=223440}return c[57694]|0}function KWa(b){b=b|0;if((a[224784]|0)==0?g2a(224784)|0:0){SWa();c[57693]=223152}return c[57693]|0}function LWa(b){b=b|0;if((a[224768]|0)==0?g2a(224768)|0:0){RWa();c[57692]=222864}return c[57692]|0}function MWa(b){b=b|0;if((a[224760]|0)==0?g2a(224760)|0:0){c[57689]=0;c[57690]=0;c[57691]=0;V0a(230756,108764,QWa(108764)|0)}return 230756}function NWa(b){b=b|0;if((a[224752]|0)==0?g2a(224752)|0:0){c[57686]=0;c[57687]=0;c[57688]=0;V0a(230744,108716,QWa(108716)|0)}return 230744}function OWa(b){b=b|0;if((a[224744]|0)==0?g2a(224744)|0:0){c[57683]=0;c[57684]=0;c[57685]=0;V0a(230732,108680,QWa(108680)|0)}return 230732}function PWa(b){b=b|0;if((a[224736]|0)==0?g2a(224736)|0:0){c[57680]=0;c[57681]=0;c[57682]=0;V0a(230720,108644,QWa(108644)|0)}return 230720}function QWa(a){a=a|0;return UNa(a)|0}function RWa(){var b=0,d=0;if((a[224776]|0)==0?g2a(224776)|0:0){d=222864;do{c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;b=0;while(1){if((b|0)==3)break;c[d+(b<<2)>>2]=0;b=b+1|0}d=d+12|0}while((d|0)!=223152)}b1a(222864,108848)|0;b1a(222876,108860)|0;return}function SWa(){var b=0,d=0;if((a[224792]|0)==0?g2a(224792)|0:0){d=223152;do{c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;b=0;while(1){if((b|0)==3)break;c[d+(b<<2)>>2]=0;b=b+1|0}d=d+12|0}while((d|0)!=223440)}b1a(223152,108872)|0;b1a(223164,108904)|0;b1a(223176,108940)|0;b1a(223188,108964)|0;b1a(223200,108988)|0;b1a(223212,109004)|0;b1a(223224,109024)|0;b1a(223236,109044)|0;b1a(223248,109072)|0;b1a(223260,109112)|0;b1a(223272,109144)|0;b1a(223284,109180)|0;b1a(223296,109216)|0;b1a(223308,109232)|0;b1a(223320,109248)|0;b1a(223332,109264)|0;b1a(223344,108988)|0;b1a(223356,109280)|0;b1a(223368,109296)|0;b1a(223380,109312)|0;b1a(223392,109328)|0;b1a(223404,109344)|0;b1a(223416,109360)|0;b1a(223428,109376)|0;return}function TWa(){var b=0,d=0;if((a[224808]|0)==0?g2a(224808)|0:0){d=223440;do{c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;b=0;while(1){if((b|0)==3)break;c[d+(b<<2)>>2]=0;b=b+1|0}d=d+12|0}while((d|0)!=223608)}b1a(223440,109392)|0;b1a(223452,109420)|0;b1a(223464,109448)|0;b1a(223476,109480)|0;b1a(223488,109520)|0;b1a(223500,109556)|0;b1a(223512,109584)|0;b1a(223524,109620)|0;b1a(223536,109636)|0;b1a(223548,109652)|0;b1a(223560,109668)|0;b1a(223572,109684)|0;b1a(223584,109700)|0;b1a(223596,109716)|0;return}function UWa(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0;h=l;l=l+16|0;i=h+4|0;j=h;a=a+8|0;a=gk[c[c[a>>2]>>2]&1023](a)|0;c[j>>2]=c[e>>2];c[i>>2]=c[j>>2];a=(nVa(d,i,a,a+168|0,g,f,0)|0)-a|0;if((a|0)<168)c[b>>2]=((a|0)/12|0|0)%7|0;l=h;return}function VWa(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0;h=l;l=l+16|0;i=h+4|0;j=h;a=a+8|0;a=gk[c[(c[a>>2]|0)+4>>2]&1023](a)|0;c[j>>2]=c[e>>2];c[i>>2]=c[j>>2];a=(nVa(d,i,a,a+288|0,g,f,0)|0)-a|0;if((a|0)<288)c[b>>2]=((a|0)/12|0|0)%12|0;l=h;return}function WWa(a,b,d,e,f,g,h,i){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;w=l;l=l+16|0;r=w+12|0;q=w+8|0;t=w+4|0;u=w;BSa(r,e);s=cUa(r,230612)|0;dUa(r);c[f>>2]=0;k=0;a:while(1){j=c[b>>2]|0;if(!((h|0)!=(i|0)&(k|0)==0))break;m=j;if(j){k=c[j+12>>2]|0;if((k|0)==(c[j+16>>2]|0))k=gk[c[(c[j>>2]|0)+36>>2]&1023](j)|0;else k=VRa(c[k>>2]|0)|0;if(CSa(k,URa()|0)|0){c[b>>2]=0;j=0;n=1;p=0}else{n=0;p=m}}else{j=0;n=1;p=m}o=c[d>>2]|0;k=o;do if(o){m=c[o+12>>2]|0;if((m|0)==(c[o+16>>2]|0))m=gk[c[(c[o>>2]|0)+36>>2]&1023](o)|0;else m=VRa(c[m>>2]|0)|0;if(!(CSa(m,URa()|0)|0))if(n)break;else{v=60;break a}else{c[d>>2]=0;k=0;v=15;break}}else v=15;while(0);if((v|0)==15){v=0;if(n){v=60;break}else o=0}b:do if((lk[c[(c[s>>2]|0)+52>>2]&127](s,c[h>>2]|0,0)|0)<<24>>24==37){o=h+4|0;if((o|0)==(i|0)){v=60;break a}m=lk[c[(c[s>>2]|0)+52>>2]&127](s,c[o>>2]|0,0)|0;switch(m<<24>>24){case 48:case 69:{h=h+8|0;if((h|0)==(i|0)){v=60;break a}n=m;j=lk[c[(c[s>>2]|0)+52>>2]&127](s,c[h>>2]|0,0)|0;h=o;break}default:{n=0;j=m}}o=c[(c[a>>2]|0)+36>>2]|0;c[t>>2]=p;c[u>>2]=k;c[q>>2]=c[t>>2];c[r>>2]=c[u>>2];c[b>>2]=tk[o&31](a,q,r,e,f,g,j,n)|0;h=h+8|0}else{if(!(lk[c[(c[s>>2]|0)+12>>2]&127](s,8192,c[h>>2]|0)|0)){m=j+12|0;k=c[m>>2]|0;n=j+16|0;if((k|0)==(c[n>>2]|0))k=gk[c[(c[j>>2]|0)+36>>2]&1023](j)|0;else k=VRa(c[k>>2]|0)|0;p=kk[c[(c[s>>2]|0)+28>>2]&511](s,k)|0;if((p|0)!=(kk[c[(c[s>>2]|0)+28>>2]&511](s,c[h>>2]|0)|0)){c[f>>2]=4;break}k=c[m>>2]|0;if((k|0)==(c[n>>2]|0))gk[c[(c[j>>2]|0)+40>>2]&1023](j)|0;else{c[m>>2]=k+4;VRa(c[k>>2]|0)|0}h=h+4|0;break}do{h=h+4|0;if((h|0)==(i|0)){h=i;break}}while(lk[c[(c[s>>2]|0)+12>>2]&127](s,8192,c[h>>2]|0)|0);while(1){if(j){k=c[j+12>>2]|0;if((k|0)==(c[j+16>>2]|0))k=gk[c[(c[j>>2]|0)+36>>2]&1023](j)|0;else k=VRa(c[k>>2]|0)|0;if(CSa(k,URa()|0)|0){c[b>>2]=0;j=0;m=1}else m=0}else{j=0;m=1}do if(o){k=c[o+12>>2]|0;if((k|0)==(c[o+16>>2]|0))k=gk[c[(c[o>>2]|0)+36>>2]&1023](o)|0;else k=VRa(c[k>>2]|0)|0;if(!(CSa(k,URa()|0)|0))if(m)break;else break b;else{c[d>>2]=0;v=40;break}}else v=40;while(0);if((v|0)==40){v=0;if(m)break b;else o=0}m=j+12|0;k=c[m>>2]|0;n=j+16|0;if((k|0)==(c[n>>2]|0))k=gk[c[(c[j>>2]|0)+36>>2]&1023](j)|0;else k=VRa(c[k>>2]|0)|0;if(!(lk[c[(c[s>>2]|0)+12>>2]&127](s,8192,k)|0))break b;k=c[m>>2]|0;if((k|0)==(c[n>>2]|0))gk[c[(c[j>>2]|0)+40>>2]&1023](j)|0;else{c[m>>2]=k+4;VRa(c[k>>2]|0)|0}}}while(0);k=c[f>>2]|0}if((v|0)==60)c[f>>2]=4;if(j){h=c[j+12>>2]|0;if((h|0)==(c[j+16>>2]|0))h=gk[c[(c[j>>2]|0)+36>>2]&1023](j)|0;else h=VRa(c[h>>2]|0)|0;if(CSa(h,URa()|0)|0){c[b>>2]=0;j=0;m=1}else m=0}else{j=0;m=1}h=c[d>>2]|0;do if(h){k=c[h+12>>2]|0;if((k|0)==(c[h+16>>2]|0))h=gk[c[(c[h>>2]|0)+36>>2]&1023](h)|0;else h=VRa(c[k>>2]|0)|0;if(!(CSa(h,URa()|0)|0))if(m)break;else{v=75;break}else{c[d>>2]=0;v=73;break}}else v=73;while(0);if((v|0)==73?m:0)v=75;if((v|0)==75)c[f>>2]=c[f>>2]|2;l=w;return j|0}function XWa(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0;h=l;l=l+16|0;a=h+4|0;i=h;c[i>>2]=c[e>>2];c[a>>2]=c[i>>2];a=iXa(d,a,f,g,2)|0;d=c[f>>2]|0;if((a+-1|0)>>>0<31&(d&4|0)==0)c[b>>2]=a;else c[f>>2]=d|4;l=h;return}function YWa(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0;h=l;l=l+16|0;a=h+4|0;i=h;c[i>>2]=c[e>>2];c[a>>2]=c[i>>2];a=iXa(d,a,f,g,2)|0;d=c[f>>2]|0;if((a|0)<24&(d&4|0)==0)c[b>>2]=a;else c[f>>2]=d|4;l=h;return}function ZWa(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0;h=l;l=l+16|0;a=h+4|0;i=h;c[i>>2]=c[e>>2];c[a>>2]=c[i>>2];a=iXa(d,a,f,g,2)|0;d=c[f>>2]|0;if((a+-1|0)>>>0<12&(d&4|0)==0)c[b>>2]=a;else c[f>>2]=d|4;l=h;return}function _Wa(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0;h=l;l=l+16|0;a=h+4|0;i=h;c[i>>2]=c[e>>2];c[a>>2]=c[i>>2];a=iXa(d,a,f,g,3)|0;d=c[f>>2]|0;if((a|0)<366&(d&4|0)==0)c[b>>2]=a;else c[f>>2]=d|4;l=h;return}function $Wa(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0;h=l;l=l+16|0;a=h+4|0;i=h;c[i>>2]=c[e>>2];c[a>>2]=c[i>>2];a=iXa(d,a,f,g,2)|0;d=c[f>>2]|0;if((a|0)<13&(d&4|0)==0)c[b>>2]=a+-1;else c[f>>2]=d|4;l=h;return}function aXa(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0;h=l;l=l+16|0;a=h+4|0;i=h;c[i>>2]=c[e>>2];c[a>>2]=c[i>>2];a=iXa(d,a,f,g,2)|0;d=c[f>>2]|0;if((a|0)<60&(d&4|0)==0)c[b>>2]=a;else c[f>>2]=d|4;l=h;return}function bXa(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0;a:while(1){a=c[b>>2]|0;do if(a){g=c[a+12>>2]|0;if((g|0)==(c[a+16>>2]|0))a=gk[c[(c[a>>2]|0)+36>>2]&1023](a)|0;else a=VRa(c[g>>2]|0)|0;if(CSa(a,URa()|0)|0){c[b>>2]=0;h=1;break}else{h=(c[b>>2]|0)==0;break}}else h=1;while(0);g=c[d>>2]|0;do if(g){a=c[g+12>>2]|0;if((a|0)==(c[g+16>>2]|0))a=gk[c[(c[g>>2]|0)+36>>2]&1023](g)|0;else a=VRa(c[a>>2]|0)|0;if(!(CSa(a,URa()|0)|0))if(h){h=g;break}else{h=g;break a}else{c[d>>2]=0;i=15;break}}else i=15;while(0);if((i|0)==15){i=0;if(h){h=0;break}else h=0}a=c[b>>2]|0;g=c[a+12>>2]|0;if((g|0)==(c[a+16>>2]|0))a=gk[c[(c[a>>2]|0)+36>>2]&1023](a)|0;else a=VRa(c[g>>2]|0)|0;if(!(lk[c[(c[f>>2]|0)+12>>2]&127](f,8192,a)|0))break;a=c[b>>2]|0;g=a+12|0;h=c[g>>2]|0;if((h|0)==(c[a+16>>2]|0))gk[c[(c[a>>2]|0)+40>>2]&1023](a)|0;else{c[g>>2]=h+4;VRa(c[h>>2]|0)|0}}a=c[b>>2]|0;do if(a){g=c[a+12>>2]|0;if((g|0)==(c[a+16>>2]|0))a=gk[c[(c[a>>2]|0)+36>>2]&1023](a)|0;else a=VRa(c[g>>2]|0)|0;if(CSa(a,URa()|0)|0){c[b>>2]=0;g=1;break}else{g=(c[b>>2]|0)==0;break}}else g=1;while(0);do if(h){a=c[h+12>>2]|0;if((a|0)==(c[h+16>>2]|0))a=gk[c[(c[h>>2]|0)+36>>2]&1023](h)|0;else a=VRa(c[a>>2]|0)|0;if(!(CSa(a,URa()|0)|0))if(g)break;else{i=40;break}else{c[d>>2]=0;i=38;break}}else i=38;while(0);if((i|0)==38?g:0)i=40;if((i|0)==40)c[e>>2]=c[e>>2]|2;return}function cXa(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,m=0,n=0;n=l;l=l+16|0;k=n+4|0;m=n;j=b+8|0;j=gk[c[(c[j>>2]|0)+8>>2]&1023](j)|0;b=a[j+8+3>>0]|0;if(b<<24>>24<0)i=c[j+4>>2]|0;else i=b&255;b=a[j+20+3>>0]|0;if(b<<24>>24<0)b=c[j+16>>2]|0;else b=b&255;do if((i|0)!=(0-b|0)){c[m>>2]=c[f>>2];c[k>>2]=c[m>>2];b=(nVa(e,k,j,j+24|0,h,g,0)|0)-j|0;i=c[d>>2]|0;if((i|0)==12&(b|0)==0){c[d>>2]=0;break}if((i|0)<12&(b|0)==12)c[d>>2]=i+12}else c[g>>2]=c[g>>2]|4;while(0);l=n;return}function dXa(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0;h=l;l=l+16|0;a=h+4|0;i=h;c[i>>2]=c[e>>2];c[a>>2]=c[i>>2];a=iXa(d,a,f,g,2)|0;d=c[f>>2]|0;if((a|0)<61&(d&4|0)==0)c[b>>2]=a;else c[f>>2]=d|4;l=h;return}function eXa(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0;h=l;l=l+16|0;a=h+4|0;i=h;c[i>>2]=c[e>>2];c[a>>2]=c[i>>2];a=iXa(d,a,f,g,1)|0;d=c[f>>2]|0;if((a|0)<7&(d&4|0)==0)c[b>>2]=a;else c[f>>2]=d|4;l=h;return}function fXa(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0;h=l;l=l+16|0;a=h+4|0;i=h;c[i>>2]=c[e>>2];c[a>>2]=c[i>>2];a=iXa(d,a,f,g,4)|0;if(!(c[f>>2]&4)){if((a|0)<69)a=a+2e3|0;else a=(a|0)<100?a+1900|0:a;c[b>>2]=a+-1900}l=h;return}function gXa(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0;h=l;l=l+16|0;a=h+4|0;i=h;c[i>>2]=c[e>>2];c[a>>2]=c[i>>2];a=iXa(d,a,f,g,4)|0;if(!(c[f>>2]&4))c[b>>2]=a+-1900;l=h;return}function hXa(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0;a=c[b>>2]|0;do if(a){g=c[a+12>>2]|0;if((g|0)==(c[a+16>>2]|0))a=gk[c[(c[a>>2]|0)+36>>2]&1023](a)|0;else a=VRa(c[g>>2]|0)|0;if(CSa(a,URa()|0)|0){c[b>>2]=0;h=1;break}else{h=(c[b>>2]|0)==0;break}}else h=1;while(0);g=c[d>>2]|0;do if(g){a=c[g+12>>2]|0;if((a|0)==(c[g+16>>2]|0))a=gk[c[(c[g>>2]|0)+36>>2]&1023](g)|0;else a=VRa(c[a>>2]|0)|0;if(!(CSa(a,URa()|0)|0))if(h){i=g;j=17;break}else{j=16;break}else{c[d>>2]=0;j=14;break}}else j=14;while(0);if((j|0)==14)if(h)j=16;else{i=0;j=17}a:do if((j|0)==16)c[e>>2]=c[e>>2]|6;else if((j|0)==17){a=c[b>>2]|0;g=c[a+12>>2]|0;if((g|0)==(c[a+16>>2]|0))a=gk[c[(c[a>>2]|0)+36>>2]&1023](a)|0;else a=VRa(c[g>>2]|0)|0;if((lk[c[(c[f>>2]|0)+52>>2]&127](f,a,0)|0)<<24>>24!=37){c[e>>2]=c[e>>2]|4;break}a=c[b>>2]|0;g=a+12|0;h=c[g>>2]|0;if((h|0)==(c[a+16>>2]|0))gk[c[(c[a>>2]|0)+40>>2]&1023](a)|0;else{c[g>>2]=h+4;VRa(c[h>>2]|0)|0}a=c[b>>2]|0;do if(a){g=c[a+12>>2]|0;if((g|0)==(c[a+16>>2]|0))a=gk[c[(c[a>>2]|0)+36>>2]&1023](a)|0;else a=VRa(c[g>>2]|0)|0;if(CSa(a,URa()|0)|0){c[b>>2]=0;g=1;break}else{g=(c[b>>2]|0)==0;break}}else g=1;while(0);do if(i){a=c[i+12>>2]|0;if((a|0)==(c[i+16>>2]|0))a=gk[c[(c[i>>2]|0)+36>>2]&1023](i)|0;else a=VRa(c[a>>2]|0)|0;if(!(CSa(a,URa()|0)|0))if(g)break a;else break;else{c[d>>2]=0;j=38;break}}else j=38;while(0);if((j|0)==38?!g:0)break;c[e>>2]=c[e>>2]|2}while(0);return}function iXa(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;g=c[a>>2]|0;do if(g){h=c[g+12>>2]|0;if((h|0)==(c[g+16>>2]|0))g=gk[c[(c[g>>2]|0)+36>>2]&1023](g)|0;else g=VRa(c[h>>2]|0)|0;if(CSa(g,URa()|0)|0){c[a>>2]=0;i=1;break}else{i=(c[a>>2]|0)==0;break}}else i=1;while(0);h=c[b>>2]|0;do if(h){g=c[h+12>>2]|0;if((g|0)==(c[h+16>>2]|0))g=gk[c[(c[h>>2]|0)+36>>2]&1023](h)|0;else g=VRa(c[g>>2]|0)|0;if(!(CSa(g,URa()|0)|0))if(i){n=17;break}else{n=16;break}else{c[b>>2]=0;n=14;break}}else n=14;while(0);if((n|0)==14)if(i)n=16;else{h=0;n=17}a:do if((n|0)==16){c[d>>2]=c[d>>2]|6;g=0}else if((n|0)==17){g=c[a>>2]|0;i=c[g+12>>2]|0;if((i|0)==(c[g+16>>2]|0))g=gk[c[(c[g>>2]|0)+36>>2]&1023](g)|0;else g=VRa(c[i>>2]|0)|0;if(!(lk[c[(c[e>>2]|0)+12>>2]&127](e,2048,g)|0)){c[d>>2]=c[d>>2]|4;g=0;break}g=(lk[c[(c[e>>2]|0)+52>>2]&127](e,g,0)|0)<<24>>24;i=c[a>>2]|0;j=i+12|0;k=c[j>>2]|0;if((k|0)==(c[i+16>>2]|0))gk[c[(c[i>>2]|0)+40>>2]&1023](i)|0;else{c[j>>2]=k+4;VRa(c[k>>2]|0)|0}l=h;k=h;while(1){g=g+-48|0;m=f+-1|0;h=c[a>>2]|0;do if(h){i=c[h+12>>2]|0;if((i|0)==(c[h+16>>2]|0))h=gk[c[(c[h>>2]|0)+36>>2]&1023](h)|0;else h=VRa(c[i>>2]|0)|0;if(CSa(h,URa()|0)|0){c[a>>2]=0;j=1;break}else{j=(c[a>>2]|0)==0;break}}else j=1;while(0);if(k){h=c[k+12>>2]|0;if((h|0)==(c[k+16>>2]|0))h=gk[c[(c[k>>2]|0)+36>>2]&1023](k)|0;else h=VRa(c[h>>2]|0)|0;if(CSa(h,URa()|0)|0){c[b>>2]=0;h=1;l=0;k=0}else h=0}else{h=1;k=0}i=c[a>>2]|0;if(!((f|0)>1&(j^h)))break;h=c[i+12>>2]|0;if((h|0)==(c[i+16>>2]|0))h=gk[c[(c[i>>2]|0)+36>>2]&1023](i)|0;else h=VRa(c[h>>2]|0)|0;if(!(lk[c[(c[e>>2]|0)+12>>2]&127](e,2048,h)|0))break a;g=(g*10|0)+((lk[c[(c[e>>2]|0)+52>>2]&127](e,h,0)|0)<<24>>24)|0;h=c[a>>2]|0;i=h+12|0;j=c[i>>2]|0;if((j|0)==(c[h+16>>2]|0))gk[c[(c[h>>2]|0)+40>>2]&1023](h)|0;else{c[i>>2]=j+4;VRa(c[j>>2]|0)|0}f=m}do if(i){h=c[i+12>>2]|0;if((h|0)==(c[i+16>>2]|0))h=gk[c[(c[i>>2]|0)+36>>2]&1023](i)|0;else h=VRa(c[h>>2]|0)|0;if(CSa(h,URa()|0)|0){c[a>>2]=0;i=1;break}else{i=(c[a>>2]|0)==0;break}}else i=1;while(0);do if(l){h=c[l+12>>2]|0;if((h|0)==(c[l+16>>2]|0))h=gk[c[(c[l>>2]|0)+36>>2]&1023](l)|0;else h=VRa(c[h>>2]|0)|0;if(!(CSa(h,URa()|0)|0))if(i)break a;else break;else{c[b>>2]=0;n=61;break}}else n=61;while(0);if((n|0)==61?!i:0)break;c[d>>2]=c[d>>2]|2}while(0);return g|0}function jXa(a){a=a|0;oXa(a+8|0);JTa(a);return}function kXa(a){a=a|0;oXa(a+8|0);JTa(a);l0a(a);return}function lXa(b,d,e,f,g,h,i){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0;j=l;l=l+112|0;e=j;f=j+100|0;c[f>>2]=e+100;mXa(b+8|0,e,f,g,h,i);i=c[f>>2]|0;h=e;e=c[d>>2]|0;while(1){if((h|0)==(i|0))break;f=a[h>>0]|0;if(!e)e=0;else{b=e+24|0;g=c[b>>2]|0;if((g|0)==(c[e+28>>2]|0)){d=c[(c[e>>2]|0)+52>>2]|0;f=DRa(f)|0;f=kk[d&511](e,f)|0}else{c[b>>2]=g+1;a[g>>0]=f;f=DRa(f)|0}d=ASa(f,CRa()|0)|0;e=d?0:e}h=h+1|0}l=j;return e|0}function mXa(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,m=0;m=l;l=l+16|0;i=m;a[i>>0]=37;j=i+1|0;a[j>>0]=g;k=i+2|0;a[k>>0]=h;a[i+3>>0]=0;if(h<<24>>24){a[j>>0]=h;a[k>>0]=g}k=nXa(d,c[e>>2]|0)|0;c[e>>2]=d+(aj(d|0,k|0,i|0,f|0,c[b>>2]|0)|0);l=m;return}function nXa(a,b){a=a|0;b=b|0;return b-a|0}function oXa(a){a=a|0;var b=0;b=c[a>>2]|0;if((b|0)!=(fUa()|0))dQa(c[a>>2]|0);return}function pXa(a){a=a|0;oXa(a+8|0);JTa(a);return}function qXa(a){a=a|0;oXa(a+8|0);JTa(a);l0a(a);return}function rXa(a,b,d,e,f,g,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0;i=l;l=l+416|0;d=i;e=i+400|0;c[e>>2]=d+400;sXa(a+8|0,d,e,f,g,h);h=c[e>>2]|0;g=d;d=c[b>>2]|0;while(1){if((g|0)==(h|0))break;e=c[g>>2]|0;if(!d)d=0;else{a=d+24|0;f=c[a>>2]|0;if((f|0)==(c[d+28>>2]|0)){b=c[(c[d>>2]|0)+52>>2]|0;e=VRa(e)|0;e=kk[b&511](d,e)|0}else{c[a>>2]=f+4;c[f>>2]=e;e=VRa(e)|0}b=CSa(e,URa()|0)|0;d=b?0:d}g=g+4|0}l=i;return d|0}function sXa(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0;h=l;l=l+128|0;k=h;m=h+116|0;i=h+104|0;j=h+112|0;c[m>>2]=k+100;mXa(a,k,m,e,f,g);e=i;c[e>>2]=0;c[e+4>>2]=0;c[j>>2]=k;e=tXa(b,c[d>>2]|0)|0;a=_Pa(c[a>>2]|0)|0;e=WPa(b,j,e,i)|0;if(a|0)_Pa(a)|0;if((e|0)==-1)uXa(0);else{c[d>>2]=b+(e<<2);l=h;return}}function tXa(a,b){a=a|0;b=b|0;return b-a>>2|0}function uXa(a){a=a|0;ec()}function vXa(a){a=a|0;JTa(a);return}function wXa(a){a=a|0;JTa(a);l0a(a);return}function xXa(a){a=a|0;return 127}function yXa(a){a=a|0;return 127}function zXa(a,b){a=a|0;b=b|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;b=0;while(1){if((b|0)==3)break;c[a+(b<<2)>>2]=0;b=b+1|0}return}function AXa(a,b){a=a|0;b=b|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;b=0;while(1){if((b|0)==3)break;c[a+(b<<2)>>2]=0;b=b+1|0}return}function BXa(a,b){a=a|0;b=b|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;b=0;while(1){if((b|0)==3)break;c[a+(b<<2)>>2]=0;b=b+1|0}return}function CXa(a,b){a=a|0;b=b|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;v0a(a,1,45);return}function DXa(a){a=a|0;return 0}function EXa(b,c){b=b|0;c=c|0;a[b>>0]=2;a[b+1>>0]=3;a[b+2>>0]=0;a[b+3>>0]=4;return}function FXa(b,c){b=b|0;c=c|0;a[b>>0]=2;a[b+1>>0]=3;a[b+2>>0]=0;a[b+3>>0]=4;return}function GXa(a){a=a|0;JTa(a);return}function HXa(a){a=a|0;JTa(a);l0a(a);return}function IXa(a){a=a|0;return 127}function JXa(a){a=a|0;return 127}function KXa(a,b){a=a|0;b=b|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;b=0;while(1){if((b|0)==3)break;c[a+(b<<2)>>2]=0;b=b+1|0}return}function LXa(a,b){a=a|0;b=b|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;b=0;while(1){if((b|0)==3)break;c[a+(b<<2)>>2]=0;b=b+1|0}return}function MXa(a,b){a=a|0;b=b|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;b=0;while(1){if((b|0)==3)break;c[a+(b<<2)>>2]=0;b=b+1|0}return}function NXa(a,b){a=a|0;b=b|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;v0a(a,1,45);return}function OXa(a){a=a|0;return 0}function PXa(b,c){b=b|0;c=c|0;a[b>>0]=2;a[b+1>>0]=3;a[b+2>>0]=0;a[b+3>>0]=4;return}function QXa(b,c){b=b|0;c=c|0;a[b>>0]=2;a[b+1>>0]=3;a[b+2>>0]=0;a[b+3>>0]=4;return}function RXa(a){a=a|0;JTa(a);return}function SXa(a){a=a|0;JTa(a);l0a(a);return}function TXa(a){a=a|0;return 2147483647}function UXa(a){a=a|0;return 2147483647}function VXa(a,b){a=a|0;b=b|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;b=0;while(1){if((b|0)==3)break;c[a+(b<<2)>>2]=0;b=b+1|0}return}function WXa(a,b){a=a|0;b=b|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;b=0;while(1){if((b|0)==3)break;c[a+(b<<2)>>2]=0;b=b+1|0}return}function XXa(a,b){a=a|0;b=b|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;b=0;while(1){if((b|0)==3)break;c[a+(b<<2)>>2]=0;b=b+1|0}return}function YXa(a,b){a=a|0;b=b|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;W0a(a,1,45);return}function ZXa(a){a=a|0;return 0}function _Xa(b,c){b=b|0;c=c|0;a[b>>0]=2;a[b+1>>0]=3;a[b+2>>0]=0;a[b+3>>0]=4;return}function $Xa(b,c){b=b|0;c=c|0;a[b>>0]=2;a[b+1>>0]=3;a[b+2>>0]=0;a[b+3>>0]=4;return}function aYa(a){a=a|0;JTa(a);return}function bYa(a){a=a|0;JTa(a);l0a(a);return}function cYa(a){a=a|0;return 2147483647}function dYa(a){a=a|0;return 2147483647}function eYa(a,b){a=a|0;b=b|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;b=0;while(1){if((b|0)==3)break;c[a+(b<<2)>>2]=0;b=b+1|0}return}function fYa(a,b){a=a|0;b=b|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;b=0;while(1){if((b|0)==3)break;c[a+(b<<2)>>2]=0;b=b+1|0}return}function gYa(a,b){a=a|0;b=b|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;b=0;while(1){if((b|0)==3)break;c[a+(b<<2)>>2]=0;b=b+1|0}return}function hYa(a,b){a=a|0;b=b|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;W0a(a,1,45);return}function iYa(a){a=a|0;return 0}function jYa(b,c){b=b|0;c=c|0;a[b>>0]=2;a[b+1>>0]=3;a[b+2>>0]=0;a[b+3>>0]=4;return}function kYa(b,c){b=b|0;c=c|0;a[b>>0]=2;a[b+1>>0]=3;a[b+2>>0]=0;a[b+3>>0]=4;return}function lYa(a){a=a|0;JTa(a);return}function mYa(a){a=a|0;JTa(a);l0a(a);return}function nYa(b,d,e,f,g,h,i){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;w=l;l=l+256|0;o=w+240|0;r=w+216|0;n=w+112|0;v=w+232|0;q=w+228|0;t=w+224|0;j=w+250|0;x=w+220|0;p=w;c[v>>2]=n;c[v+4>>2]=1169;BSa(t,g);b=cUa(t,230580)|0;a[j>>0]=0;c[x>>2]=c[e>>2];m=c[g+4>>2]|0;c[o>>2]=c[x>>2];if(qYa(d,o,f,t,m,h,j,b,v,q,n+100|0)|0){mk[c[(c[b>>2]|0)+32>>2]&63](b,215041,215051,o)|0;m=c[q>>2]|0;f=c[v>>2]|0;b=m-f|0;if((b|0)>98){b=GNa(b+2|0)|0;if(!b)i0a();else{k=b;s=b}}else{k=p;s=0}if(!(a[j>>0]|0))b=k;else{a[k>>0]=45;b=k+1|0}k=o+10|0;n=o;j=f;g=b;b=m;while(1){if(j>>>0>=b>>>0)break;f=a[j>>0]|0;b=o;while(1){if((b|0)==(k|0)){b=k;break}if((a[b>>0]|0)==f<<24>>24)break;b=b+1|0}a[g>>0]=a[215041+(b-n)>>0]|0;j=j+1|0;g=g+1|0;b=c[q>>2]|0}a[g>>0]=0;c[r>>2]=i;if((TQa(p,215052,r)|0)!=1)uXa(0);if(s|0)HNa(s)}b=c[d>>2]|0;do if(b){f=c[b+12>>2]|0;if((f|0)==(c[b+16>>2]|0))b=gk[c[(c[b>>2]|0)+36>>2]&1023](b)|0;else b=DRa(a[f>>0]|0)|0;if(ASa(b,CRa()|0)|0){c[d>>2]=0;g=1;break}else{g=(c[d>>2]|0)==0;break}}else g=1;while(0);b=c[e>>2]|0;do if(b){f=c[b+12>>2]|0;if((f|0)==(c[b+16>>2]|0))b=gk[c[(c[b>>2]|0)+36>>2]&1023](b)|0;else b=DRa(a[f>>0]|0)|0;if(!(ASa(b,CRa()|0)|0))if(g)break;else{u=34;break}else{c[e>>2]=0;u=32;break}}else u=32;while(0);if((u|0)==32?g:0)u=34;if((u|0)==34)c[h>>2]=c[h>>2]|2;f=c[d>>2]|0;dUa(t);b=c[v>>2]|0;c[v>>2]=0;if(b|0)Bk[c[v+4>>2]&2047](b);l=w;return f|0}function oYa(b,d,e,f,g,h,i){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=l;l=l+128|0;j=t+120|0;b=t;s=t+112|0;n=t+108|0;q=t+100|0;k=t+124|0;o=t+104|0;c[s>>2]=b;c[s+4>>2]=1169;BSa(q,g);m=cUa(q,230580)|0;a[k>>0]=0;p=c[e>>2]|0;c[o>>2]=p;g=c[g+4>>2]|0;c[j>>2]=c[o>>2];o=p;if(qYa(d,j,f,q,g,h,k,m,s,n,b+100|0)|0){b=i+11|0;if((a[b>>0]|0)<0){f=c[i>>2]|0;a[j>>0]=0;ITa(f,j);c[i+4>>2]=0}else{a[j>>0]=0;ITa(i,j);a[b>>0]=0}if(a[k>>0]|0)K0a(i,kk[c[(c[m>>2]|0)+28>>2]&511](m,45)|0);k=kk[c[(c[m>>2]|0)+28>>2]&511](m,48)|0;g=c[n>>2]|0;j=g+-1|0;b=c[s>>2]|0;while(1){if(b>>>0>=j>>>0)break;if((a[b>>0]|0)!=k<<24>>24)break;b=b+1|0}rYa(i,b,g)|0}b=c[d>>2]|0;do if(b){g=c[b+12>>2]|0;if((g|0)==(c[b+16>>2]|0))b=gk[c[(c[b>>2]|0)+36>>2]&1023](b)|0;else b=DRa(a[g>>0]|0)|0;if(ASa(b,CRa()|0)|0){c[d>>2]=0;g=1;break}else{g=(c[d>>2]|0)==0;break}}else g=1;while(0);do if(p){b=c[o+12>>2]|0;if((b|0)==(c[o+16>>2]|0))b=gk[c[(c[p>>2]|0)+36>>2]&1023](o)|0;else b=DRa(a[b>>0]|0)|0;if(!(ASa(b,CRa()|0)|0))if(g)break;else{r=27;break}else{c[e>>2]=0;r=25;break}}else r=25;while(0);if((r|0)==25?g:0)r=27;if((r|0)==27)c[h>>2]=c[h>>2]|2;g=c[d>>2]|0;dUa(q);b=c[s>>2]|0;c[s>>2]=0;if(b|0)Bk[c[s+4>>2]&2047](b);l=t;return g|0}function pYa(a){a=a|0;return}function qYa(e,f,g,h,i,j,k,m,n,o,p){e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;m=m|0;n=n|0;o=o|0;p=p|0;var q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0;Z=l;l=l+512|0;J=Z+488|0;P=Z;Y=Z+480|0;R=Z+472|0;K=Z+468|0;L=Z+496|0;M=Z+493|0;N=Z+492|0;T=Z+456|0;U=Z+444|0;V=Z+432|0;W=Z+420|0;X=Z+408|0;O=Z+404|0;S=Z+400|0;c[J>>2]=p;c[Y>>2]=P;c[Y+4>>2]=1169;c[R>>2]=P;c[K>>2]=P+400;c[T>>2]=0;c[T+4>>2]=0;c[T+8>>2]=0;p=0;while(1){if((p|0)==3)break;c[T+(p<<2)>>2]=0;p=p+1|0}c[U>>2]=0;c[U+4>>2]=0;c[U+8>>2]=0;p=0;while(1){if((p|0)==3)break;c[U+(p<<2)>>2]=0;p=p+1|0}c[V>>2]=0;c[V+4>>2]=0;c[V+8>>2]=0;p=0;while(1){if((p|0)==3)break;c[V+(p<<2)>>2]=0;p=p+1|0}c[W>>2]=0;c[W+4>>2]=0;c[W+8>>2]=0;p=0;while(1){if((p|0)==3)break;c[W+(p<<2)>>2]=0;p=p+1|0}c[X>>2]=0;c[X+4>>2]=0;c[X+8>>2]=0;p=0;while(1){if((p|0)==3)break;c[X+(p<<2)>>2]=0;p=p+1|0}uYa(g,h,L,M,N,T,U,V,W,O);c[o>>2]=c[n>>2];C=m+8|0;D=V+11|0;E=V+4|0;F=W+11|0;G=W+4|0;H=T+11|0;I=T+4|0;w=(i&512|0)!=0;x=U+11|0;y=L+3|0;z=U+4|0;A=X+11|0;B=X+4|0;P=0;v=0;a:while(1){if(v>>>0>=4){Q=243;break}p=c[e>>2]|0;do if(p){g=c[p+12>>2]|0;if((g|0)==(c[p+16>>2]|0))p=gk[c[(c[p>>2]|0)+36>>2]&1023](p)|0;else p=DRa(a[g>>0]|0)|0;if(ASa(p,CRa()|0)|0){c[e>>2]=0;h=1;break}else{h=(c[e>>2]|0)==0;break}}else h=1;while(0);g=c[f>>2]|0;do if(g){p=c[g+12>>2]|0;if((p|0)==(c[g+16>>2]|0))p=gk[c[(c[g>>2]|0)+36>>2]&1023](g)|0;else p=DRa(a[p>>0]|0)|0;if(!(ASa(p,CRa()|0)|0))if(h){u=g;break}else{Q=243;break a}else{c[f>>2]=0;Q=31;break}}else Q=31;while(0);if((Q|0)==31){Q=0;if(h){Q=243;break}else u=0}b:do switch(a[L+v>>0]|0){case 1:{if((v|0)==3)p=P;else{p=c[e>>2]|0;g=c[p+12>>2]|0;if((g|0)==(c[p+16>>2]|0))p=gk[c[(c[p>>2]|0)+36>>2]&1023](p)|0;else p=DRa(a[g>>0]|0)|0;if((p&255)<<24>>24<=-1){Q=45;break a}if(!(b[(c[C>>2]|0)+(p<<24>>24<<1)>>1]&8192)){Q=45;break a}p=c[e>>2]|0;g=p+12|0;h=c[g>>2]|0;if((h|0)==(c[p+16>>2]|0))p=gk[c[(c[p>>2]|0)+40>>2]&1023](p)|0;else{c[g>>2]=h+1;p=DRa(a[h>>0]|0)|0}K0a(X,p&255);Q=47}break}case 0:{if((v|0)==3)p=P;else Q=47;break}case 3:{p=a[D>>0]|0;p=p<<24>>24<0?c[E>>2]|0:p&255;m=a[F>>0]|0;m=m<<24>>24<0?c[G>>2]|0:m&255;if((p|0)==(0-m|0))p=P;else{i=(p|0)==0;p=c[e>>2]|0;g=c[p+12>>2]|0;h=(g|0)==(c[p+16>>2]|0);if(i|(m|0)==0){if(h)p=gk[c[(c[p>>2]|0)+36>>2]&1023](p)|0;else p=DRa(a[g>>0]|0)|0;p=p&255;if(i){if((a[((a[F>>0]|0)<0?c[W>>2]|0:W)>>0]|0)!=p<<24>>24){p=P;break b}p=c[e>>2]|0;g=p+12|0;h=c[g>>2]|0;if((h|0)==(c[p+16>>2]|0))gk[c[(c[p>>2]|0)+40>>2]&1023](p)|0;else{c[g>>2]=h+1;DRa(a[h>>0]|0)|0}a[k>>0]=1;p=a[F>>0]|0;p=(p<<24>>24<0?c[G>>2]|0:p&255)>>>0>1?W:P;break b}if((a[((a[D>>0]|0)<0?c[V>>2]|0:V)>>0]|0)!=p<<24>>24){a[k>>0]=1;p=P;break b}p=c[e>>2]|0;g=p+12|0;h=c[g>>2]|0;if((h|0)==(c[p+16>>2]|0))gk[c[(c[p>>2]|0)+40>>2]&1023](p)|0;else{c[g>>2]=h+1;DRa(a[h>>0]|0)|0}p=a[D>>0]|0;p=(p<<24>>24<0?c[E>>2]|0:p&255)>>>0>1?V:P;break b}if(h)p=gk[c[(c[p>>2]|0)+36>>2]&1023](p)|0;else p=DRa(a[g>>0]|0)|0;g=c[e>>2]|0;h=g+12|0;m=c[h>>2]|0;i=(m|0)==(c[g+16>>2]|0);if((a[((a[D>>0]|0)<0?c[V>>2]|0:V)>>0]|0)==(p&255)<<24>>24){if(i)gk[c[(c[g>>2]|0)+40>>2]&1023](g)|0;else{c[h>>2]=m+1;DRa(a[m>>0]|0)|0}p=a[D>>0]|0;p=(p<<24>>24<0?c[E>>2]|0:p&255)>>>0>1?V:P;break b}if(i)p=gk[c[(c[g>>2]|0)+36>>2]&1023](g)|0;else p=DRa(a[m>>0]|0)|0;if((a[((a[F>>0]|0)<0?c[W>>2]|0:W)>>0]|0)!=(p&255)<<24>>24){Q=105;break a}p=c[e>>2]|0;g=p+12|0;h=c[g>>2]|0;if((h|0)==(c[p+16>>2]|0))gk[c[(c[p>>2]|0)+40>>2]&1023](p)|0;else{c[g>>2]=h+1;DRa(a[h>>0]|0)|0}a[k>>0]=1;p=a[F>>0]|0;p=(p<<24>>24<0?c[G>>2]|0:p&255)>>>0>1?W:P}break}case 2:{if(v>>>0<2|(P|0)!=0){p=a[x>>0]|0;h=p<<24>>24<0;g=c[U>>2]|0;m=h?g:U;i=m;if(!v)h=i;else{t=i;Q=110}}else{if(!(w|(v|0)==2&(a[y>>0]|0)!=0)){p=0;break b}p=a[x>>0]|0;h=p<<24>>24<0;g=c[U>>2]|0;t=h?g:U;m=t;Q=110}c:do if((Q|0)==110){Q=0;if((d[L+(v+-1)>>0]|0)<2){i=m+(h?c[z>>2]|0:p&255)|0;h=t;while(1){q=h;if((i|0)==(q|0))break;r=a[q>>0]|0;if(r<<24>>24<=-1)break;if(!(b[(c[C>>2]|0)+(r<<24>>24<<1)>>1]&8192))break;h=q+1|0}r=h-t|0;q=a[A>>0]|0;s=q<<24>>24<0;i=c[B>>2]|0;q=q&255;if(r>>>0<=(s?i:q)>>>0){_=(c[X>>2]|0)+i|0;i=X+q|0;q=s?_:i;i=s?_+(0-r)|0:i+(0-r)|0;while(1){if((i|0)==(q|0))break c;if((a[i>>0]|0)!=(a[m>>0]|0)){h=t;break c}m=m+1|0;i=i+1|0}}else h=t}else h=t}while(0);i=h;h=u;d:while(1){_=p<<24>>24<0;if((i|0)==((_?g:U)+(_?c[z>>2]|0:p&255)|0))break;p=c[e>>2]|0;do if(p){g=c[p+12>>2]|0;if((g|0)==(c[p+16>>2]|0))p=gk[c[(c[p>>2]|0)+36>>2]&1023](p)|0;else p=DRa(a[g>>0]|0)|0;if(ASa(p,CRa()|0)|0){c[e>>2]=0;g=1;break}else{g=(c[e>>2]|0)==0;break}}else g=1;while(0);do if(h){p=c[h+12>>2]|0;if((p|0)==(c[h+16>>2]|0))p=gk[c[(c[h>>2]|0)+36>>2]&1023](h)|0;else p=DRa(a[p>>0]|0)|0;if(!(ASa(p,CRa()|0)|0))if(g){m=h;break}else break d;else{c[f>>2]=0;Q=136;break}}else Q=136;while(0);if((Q|0)==136){Q=0;if(g)break;else m=0}p=c[e>>2]|0;g=c[p+12>>2]|0;if((g|0)==(c[p+16>>2]|0))p=gk[c[(c[p>>2]|0)+36>>2]&1023](p)|0;else p=DRa(a[g>>0]|0)|0;if((a[i>>0]|0)!=(p&255)<<24>>24)break;p=c[e>>2]|0;g=p+12|0;h=c[g>>2]|0;if((h|0)==(c[p+16>>2]|0))gk[c[(c[p>>2]|0)+40>>2]&1023](p)|0;else{c[g>>2]=h+1;DRa(a[h>>0]|0)|0}i=i+1|0;p=a[x>>0]|0;g=c[U>>2]|0;h=m}if(w?(_=a[x>>0]|0,u=_<<24>>24<0,(i|0)!=((u?c[U>>2]|0:U)+(u?c[z>>2]|0:_&255)|0)):0){Q=148;break a}else p=P;break}case 4:{i=0;m=u;p=u;e:while(1){g=c[e>>2]|0;do if(g){h=c[g+12>>2]|0;if((h|0)==(c[g+16>>2]|0))g=gk[c[(c[g>>2]|0)+36>>2]&1023](g)|0;else g=DRa(a[h>>0]|0)|0;if(ASa(g,CRa()|0)|0){c[e>>2]=0;h=1;break}else{h=(c[e>>2]|0)==0;break}}else h=1;while(0);do if(m){g=c[m+12>>2]|0;if((g|0)==(c[m+16>>2]|0))g=gk[c[(c[m>>2]|0)+36>>2]&1023](m)|0;else g=DRa(a[g>>0]|0)|0;if(!(ASa(g,CRa()|0)|0))if(h){q=m;break}else{m=p;break e}else{c[f>>2]=0;p=0;Q=162;break}}else Q=162;while(0);if((Q|0)==162){Q=0;if(h){m=p;break}else q=0}g=c[e>>2]|0;h=c[g+12>>2]|0;if((h|0)==(c[g+16>>2]|0))g=gk[c[(c[g>>2]|0)+36>>2]&1023](g)|0;else g=DRa(a[h>>0]|0)|0;h=g&255;if(h<<24>>24>-1?(b[(c[C>>2]|0)+(g<<24>>24<<1)>>1]&2048)!=0:0){g=c[o>>2]|0;if((g|0)==(c[J>>2]|0)){vYa(n,o,J);g=c[o>>2]|0}c[o>>2]=g+1;a[g>>0]=h;g=i+1|0}else{_=a[H>>0]|0;if(!((a[N>>0]|0)==h<<24>>24&(i|0?((_<<24>>24<0?c[I>>2]|0:_&255)|0)!=0:0))){m=p;break}g=c[R>>2]|0;if((g|0)==(c[K>>2]|0)){wYa(Y,R,K);g=c[R>>2]|0}c[R>>2]=g+4;c[g>>2]=i;g=0}h=c[e>>2]|0;m=h+12|0;i=c[m>>2]|0;if((i|0)==(c[h+16>>2]|0))gk[c[(c[h>>2]|0)+40>>2]&1023](h)|0;else{c[m>>2]=i+1;DRa(a[i>>0]|0)|0}i=g;m=q}p=c[R>>2]|0;if(i|0?(c[Y>>2]|0)!=(p|0):0){if((p|0)==(c[K>>2]|0)){wYa(Y,R,K);p=c[R>>2]|0}c[R>>2]=p+4;c[p>>2]=i}f:do if((c[O>>2]|0)>0){p=c[e>>2]|0;do if(p){g=c[p+12>>2]|0;if((g|0)==(c[p+16>>2]|0))p=gk[c[(c[p>>2]|0)+36>>2]&1023](p)|0;else p=DRa(a[g>>0]|0)|0;if(ASa(p,CRa()|0)|0){c[e>>2]=0;g=1;break}else{g=(c[e>>2]|0)==0;break}}else g=1;while(0);do if(m){p=c[m+12>>2]|0;if((p|0)==(c[m+16>>2]|0))p=gk[c[(c[m>>2]|0)+36>>2]&1023](m)|0;else p=DRa(a[p>>0]|0)|0;if(!(ASa(p,CRa()|0)|0))if(g)break;else{Q=204;break a}else{c[f>>2]=0;Q=198;break}}else Q=198;while(0);if((Q|0)==198){Q=0;if(g){Q=204;break a}else m=0}p=c[e>>2]|0;g=c[p+12>>2]|0;if((g|0)==(c[p+16>>2]|0))p=gk[c[(c[p>>2]|0)+36>>2]&1023](p)|0;else p=DRa(a[g>>0]|0)|0;if((a[M>>0]|0)!=(p&255)<<24>>24){Q=204;break a}p=c[e>>2]|0;g=p+12|0;h=c[g>>2]|0;if((h|0)==(c[p+16>>2]|0))gk[c[(c[p>>2]|0)+40>>2]&1023](p)|0;else{c[g>>2]=h+1;DRa(a[h>>0]|0)|0}h=m;while(1){if((c[O>>2]|0)<=0)break f;p=c[e>>2]|0;do if(p){g=c[p+12>>2]|0;if((g|0)==(c[p+16>>2]|0))p=gk[c[(c[p>>2]|0)+36>>2]&1023](p)|0;else p=DRa(a[g>>0]|0)|0;if(ASa(p,CRa()|0)|0){c[e>>2]=0;g=1;break}else{g=(c[e>>2]|0)==0;break}}else g=1;while(0);do if(h){p=c[h+12>>2]|0;if((p|0)==(c[h+16>>2]|0))p=gk[c[(c[h>>2]|0)+36>>2]&1023](h)|0;else p=DRa(a[p>>0]|0)|0;if(!(ASa(p,CRa()|0)|0))if(g){m=h;break}else{Q=230;break a}else{c[f>>2]=0;Q=223;break}}else Q=223;while(0);if((Q|0)==223){Q=0;if(g){Q=230;break a}else m=0}p=c[e>>2]|0;g=c[p+12>>2]|0;if((g|0)==(c[p+16>>2]|0))p=gk[c[(c[p>>2]|0)+36>>2]&1023](p)|0;else p=DRa(a[g>>0]|0)|0;if((p&255)<<24>>24<=-1){Q=230;break a}if(!(b[(c[C>>2]|0)+(p<<24>>24<<1)>>1]&2048)){Q=230;break a}if((c[o>>2]|0)==(c[J>>2]|0))vYa(n,o,J);p=c[e>>2]|0;g=c[p+12>>2]|0;if((g|0)==(c[p+16>>2]|0))p=gk[c[(c[p>>2]|0)+36>>2]&1023](p)|0;else p=DRa(a[g>>0]|0)|0;g=c[o>>2]|0;c[o>>2]=g+1;a[g>>0]=p;c[O>>2]=(c[O>>2]|0)+-1;p=c[e>>2]|0;g=p+12|0;h=c[g>>2]|0;if((h|0)==(c[p+16>>2]|0))gk[c[(c[p>>2]|0)+40>>2]&1023](p)|0;else{c[g>>2]=h+1;DRa(a[h>>0]|0)|0}h=m}}while(0);if((c[o>>2]|0)==(c[n>>2]|0)){Q=241;break a}else p=P;break}default:p=P}while(0);g:do if((Q|0)==47){Q=0;h=u;while(1){p=c[e>>2]|0;do if(p){g=c[p+12>>2]|0;if((g|0)==(c[p+16>>2]|0))p=gk[c[(c[p>>2]|0)+36>>2]&1023](p)|0;else p=DRa(a[g>>0]|0)|0;if(ASa(p,CRa()|0)|0){c[e>>2]=0;g=1;break}else{g=(c[e>>2]|0)==0;break}}else g=1;while(0);do if(h){p=c[h+12>>2]|0;if((p|0)==(c[h+16>>2]|0))p=gk[c[(c[h>>2]|0)+36>>2]&1023](h)|0;else p=DRa(a[p>>0]|0)|0;if(!(ASa(p,CRa()|0)|0))if(g){m=h;break}else{p=P;break g}else{c[f>>2]=0;Q=61;break}}else Q=61;while(0);if((Q|0)==61){Q=0;if(g){p=P;break g}else m=0}p=c[e>>2]|0;g=c[p+12>>2]|0;if((g|0)==(c[p+16>>2]|0))p=gk[c[(c[p>>2]|0)+36>>2]&1023](p)|0;else p=DRa(a[g>>0]|0)|0;if((p&255)<<24>>24<=-1){p=P;break g}if(!(b[(c[C>>2]|0)+(p<<24>>24<<1)>>1]&8192)){p=P;break g}p=c[e>>2]|0;g=p+12|0;h=c[g>>2]|0;if((h|0)==(c[p+16>>2]|0))p=gk[c[(c[p>>2]|0)+40>>2]&1023](p)|0;else{c[g>>2]=h+1;p=DRa(a[h>>0]|0)|0}K0a(X,p&255);h=m}}while(0);P=p;v=v+1|0}h:do if((Q|0)==45){c[j>>2]=c[j>>2]|4;g=0}else if((Q|0)==105){c[j>>2]=c[j>>2]|4;g=0}else if((Q|0)==148){c[j>>2]=c[j>>2]|4;g=0}else if((Q|0)==204){c[j>>2]=c[j>>2]|4;g=0}else if((Q|0)==230){c[j>>2]=c[j>>2]|4;g=0}else if((Q|0)==241){c[j>>2]=c[j>>2]|4;g=0}else if((Q|0)==243){i:do if(P|0){i=P+11|0;q=P+4|0;m=1;j:while(1){p=a[i>>0]|0;if(p<<24>>24<0)p=c[q>>2]|0;else p=p&255;if(m>>>0>=p>>>0)break i;p=c[e>>2]|0;do if(p){g=c[p+12>>2]|0;if((g|0)==(c[p+16>>2]|0))p=gk[c[(c[p>>2]|0)+36>>2]&1023](p)|0;else p=DRa(a[g>>0]|0)|0;if(ASa(p,CRa()|0)|0){c[e>>2]=0;h=1;break}else{h=(c[e>>2]|0)==0;break}}else h=1;while(0);p=c[f>>2]|0;do if(p){g=c[p+12>>2]|0;if((g|0)==(c[p+16>>2]|0))p=gk[c[(c[p>>2]|0)+36>>2]&1023](p)|0;else p=DRa(a[g>>0]|0)|0;if(!(ASa(p,CRa()|0)|0))if(h)break;else break j;else{c[f>>2]=0;Q=262;break}}else Q=262;while(0);if((Q|0)==262?(Q=0,h):0)break;p=c[e>>2]|0;g=c[p+12>>2]|0;if((g|0)==(c[p+16>>2]|0))p=gk[c[(c[p>>2]|0)+36>>2]&1023](p)|0;else p=DRa(a[g>>0]|0)|0;if((a[i>>0]|0)<0)g=c[P>>2]|0;else g=P;if((a[g+m>>0]|0)!=(p&255)<<24>>24)break;p=c[e>>2]|0;g=p+12|0;h=c[g>>2]|0;if((h|0)==(c[p+16>>2]|0))gk[c[(c[p>>2]|0)+40>>2]&1023](p)|0;else{c[g>>2]=h+1;DRa(a[h>>0]|0)|0}m=m+1|0}c[j>>2]=c[j>>2]|4;g=0;break h}while(0);g=c[Y>>2]|0;p=c[R>>2]|0;if((g|0)!=(p|0)){c[S>>2]=0;rUa(T,g,p,S);if(!(c[S>>2]|0)){g=1;break}else{c[j>>2]=c[j>>2]|4;g=0;break}}else g=1}while(0);y0a(X);y0a(W);y0a(V);y0a(U);y0a(T);p=c[Y>>2]|0;c[Y>>2]=0;if(p|0)Bk[c[Y+4>>2]&2047](p);l=Z;return g|0}function rYa(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0;p=l;l=l+16|0;j=d;n=p;o=b+11|0;h=a[o>>0]|0;f=h<<24>>24<0;if(f){m=c[b+4>>2]|0;i=(c[b+8>>2]&2147483647)+-1|0}else{m=h&255;i=10}k=e-j|0;do if(k|0){if(f){g=c[b>>2]|0;f=c[b+4>>2]|0}else{g=b;f=h&255}if(sYa(d,g,g+f|0)|0){c[n>>2]=0;c[n+4>>2]=0;c[n+8>>2]=0;tYa(n,d,e);o=a[n+11>>0]|0;m=o<<24>>24<0;I0a(b,m?c[n>>2]|0:n,m?c[n+4>>2]|0:o&255)|0;y0a(n);break}if((i-m|0)>>>0<k>>>0)H0a(b,i,m+k-i|0,m,m,0,0);if((a[o>>0]|0)<0)h=c[b>>2]|0;else h=b;g=e+(m-j)|0;f=h+m|0;while(1){if((d|0)==(e|0))break;ITa(f,d);f=f+1|0;d=d+1|0}a[n>>0]=0;ITa(h+g|0,n);d=m+k|0;if((a[o>>0]|0)<0){c[b+4>>2]=d;break}else{a[o>>0]=d;break}}while(0);l=p;return b|0}function sYa(a,b,c){a=a|0;b=b|0;c=c|0;return b>>>0<=a>>>0&a>>>0<c>>>0|0}function tYa(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;j=l;l=l+16|0;g=d;i=j;f=e-g|0;if(f>>>0>4294967279)r0a(b);if(f>>>0<11){a[b+11>>0]=f;h=b}else{k=f+16&-16;h=j0a(k)|0;c[b>>2]=h;c[b+8>>2]=k|-2147483648;c[b+4>>2]=f}f=e-g|0;b=h;while(1){if((d|0)==(e|0))break;ITa(b,d);d=d+1|0;b=b+1|0}a[i>>0]=0;ITa(h+f|0,i);l=j;return}function uYa(b,d,e,f,g,h,i,j,k,m){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;m=m|0;var n=0,o=0,p=0;p=l;l=l+16|0;n=p+12|0;o=p;if(b){d=cUa(d,230812)|0;Jk[c[(c[d>>2]|0)+44>>2]&1023](n,d);b=c[n>>2]|0;a[e>>0]=b;a[e+1>>0]=b>>8;a[e+2>>0]=b>>16;a[e+3>>0]=b>>24;Jk[c[(c[d>>2]|0)+32>>2]&1023](o,d);b=k+11|0;if((a[b>>0]|0)<0){b=c[k>>2]|0;a[n>>0]=0;ITa(b,n);c[k+4>>2]=0;b=k}else{a[n>>0]=0;ITa(k,n);a[b>>0]=0;b=k}D0a(k,0);c[b>>2]=c[o>>2];c[b+4>>2]=c[o+4>>2];c[b+8>>2]=c[o+8>>2];b=0;while(1){if((b|0)==3)break;c[o+(b<<2)>>2]=0;b=b+1|0}y0a(o);Jk[c[(c[d>>2]|0)+28>>2]&1023](o,d);b=j+11|0;if((a[b>>0]|0)<0){b=c[j>>2]|0;a[n>>0]=0;ITa(b,n);c[j+4>>2]=0;b=j}else{a[n>>0]=0;ITa(j,n);a[b>>0]=0;b=j}D0a(j,0);c[b>>2]=c[o>>2];c[b+4>>2]=c[o+4>>2];c[b+8>>2]=c[o+8>>2];b=0;while(1){if((b|0)==3)break;c[o+(b<<2)>>2]=0;b=b+1|0}y0a(o);a[f>>0]=gk[c[(c[d>>2]|0)+12>>2]&1023](d)|0;a[g>>0]=gk[c[(c[d>>2]|0)+16>>2]&1023](d)|0;Jk[c[(c[d>>2]|0)+20>>2]&1023](o,d);b=h+11|0;if((a[b>>0]|0)<0){b=c[h>>2]|0;a[n>>0]=0;ITa(b,n);c[h+4>>2]=0;b=h}else{a[n>>0]=0;ITa(h,n);a[b>>0]=0;b=h}D0a(h,0);c[b>>2]=c[o>>2];c[b+4>>2]=c[o+4>>2];c[b+8>>2]=c[o+8>>2];b=0;while(1){if((b|0)==3)break;c[o+(b<<2)>>2]=0;b=b+1|0}y0a(o);Jk[c[(c[d>>2]|0)+24>>2]&1023](o,d);b=i+11|0;if((a[b>>0]|0)<0){b=c[i>>2]|0;a[n>>0]=0;ITa(b,n);c[i+4>>2]=0;b=i}else{a[n>>0]=0;ITa(i,n);a[b>>0]=0;b=i}D0a(i,0);c[b>>2]=c[o>>2];c[b+4>>2]=c[o+4>>2];c[b+8>>2]=c[o+8>>2];b=0;while(1){if((b|0)==3)break;c[o+(b<<2)>>2]=0;b=b+1|0}y0a(o);b=gk[c[(c[d>>2]|0)+36>>2]&1023](d)|0}else{d=cUa(d,230804)|0;Jk[c[(c[d>>2]|0)+44>>2]&1023](n,d);b=c[n>>2]|0;a[e>>0]=b;a[e+1>>0]=b>>8;a[e+2>>0]=b>>16;a[e+3>>0]=b>>24;Jk[c[(c[d>>2]|0)+32>>2]&1023](o,d);b=k+11|0;if((a[b>>0]|0)<0){b=c[k>>2]|0;a[n>>0]=0;ITa(b,n);c[k+4>>2]=0;b=k}else{a[n>>0]=0;ITa(k,n);a[b>>0]=0;b=k}D0a(k,0);c[b>>2]=c[o>>2];c[b+4>>2]=c[o+4>>2];c[b+8>>2]=c[o+8>>2];b=0;while(1){if((b|0)==3)break;c[o+(b<<2)>>2]=0;b=b+1|0}y0a(o);Jk[c[(c[d>>2]|0)+28>>2]&1023](o,d);b=j+11|0;if((a[b>>0]|0)<0){b=c[j>>2]|0;a[n>>0]=0;ITa(b,n);c[j+4>>2]=0;b=j}else{a[n>>0]=0;ITa(j,n);a[b>>0]=0;b=j}D0a(j,0);c[b>>2]=c[o>>2];c[b+4>>2]=c[o+4>>2];c[b+8>>2]=c[o+8>>2];b=0;while(1){if((b|0)==3)break;c[o+(b<<2)>>2]=0;b=b+1|0}y0a(o);a[f>>0]=gk[c[(c[d>>2]|0)+12>>2]&1023](d)|0;a[g>>0]=gk[c[(c[d>>2]|0)+16>>2]&1023](d)|0;Jk[c[(c[d>>2]|0)+20>>2]&1023](o,d);b=h+11|0;if((a[b>>0]|0)<0){b=c[h>>2]|0;a[n>>0]=0;ITa(b,n);c[h+4>>2]=0;b=h}else{a[n>>0]=0;ITa(h,n);a[b>>0]=0;b=h}D0a(h,0);c[b>>2]=c[o>>2];c[b+4>>2]=c[o+4>>2];c[b+8>>2]=c[o+8>>2];b=0;while(1){if((b|0)==3)break;c[o+(b<<2)>>2]=0;b=b+1|0}y0a(o);Jk[c[(c[d>>2]|0)+24>>2]&1023](o,d);b=i+11|0;if((a[b>>0]|0)<0){b=c[i>>2]|0;a[n>>0]=0;ITa(b,n);c[i+4>>2]=0;b=i}else{a[n>>0]=0;ITa(i,n);a[b>>0]=0;b=i}D0a(i,0);c[b>>2]=c[o>>2];c[b+4>>2]=c[o+4>>2];c[b+8>>2]=c[o+8>>2];b=0;while(1){if((b|0)==3)break;c[o+(b<<2)>>2]=0;b=b+1|0}y0a(o);b=gk[c[(c[d>>2]|0)+36>>2]&1023](d)|0}c[m>>2]=b;l=p;return}function vYa(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;i=a+4|0;f=(c[i>>2]|0)!=1169;e=c[a>>2]|0;h=e;j=(c[d>>2]|0)-h|0;g=j<<1;g=j>>>0<2147483647?((g|0)==0?1:g):-1;h=(c[b>>2]|0)-h|0;e=JNa(f?e:0,g)|0;if(!e)i0a();if(!f){f=c[a>>2]|0;c[a>>2]=e;if(f){Bk[c[i>>2]&2047](f);e=c[a>>2]|0}}else c[a>>2]=e;c[i>>2]=1170;c[b>>2]=e+h;c[d>>2]=(c[a>>2]|0)+g;return}function wYa(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;i=a+4|0;f=(c[i>>2]|0)!=1169;e=c[a>>2]|0;h=e;j=(c[d>>2]|0)-h|0;g=j<<1;g=j>>>0<2147483647?((g|0)==0?4:g):-1;h=(c[b>>2]|0)-h>>2;e=JNa(f?e:0,g)|0;if(!e)i0a();if(!f){f=c[a>>2]|0;c[a>>2]=e;if(f){Bk[c[i>>2]&2047](f);e=c[a>>2]|0}}else c[a>>2]=e;c[i>>2]=1170;c[b>>2]=e+(h<<2);c[d>>2]=(c[a>>2]|0)+(g>>>2<<2);return}function xYa(a){a=a|0;JTa(a);return}function yYa(a){a=a|0;JTa(a);l0a(a);return}function zYa(b,d,e,f,g,h,i){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;w=l;l=l+592|0;o=w+512|0;r=w+552|0;n=w+112|0;v=w+568|0;q=w+564|0;t=w+560|0;j=w+576|0;x=w+556|0;p=w;c[v>>2]=n;c[v+4>>2]=1169;BSa(t,g);b=cUa(t,230612)|0;a[j>>0]=0;c[x>>2]=c[e>>2];m=c[g+4>>2]|0;c[o>>2]=c[x>>2];if(BYa(d,o,f,t,m,h,j,b,v,q,n+400|0)|0){mk[c[(c[b>>2]|0)+48>>2]&63](b,215151,215161,o)|0;m=c[q>>2]|0;f=c[v>>2]|0;b=m-f|0;if((b|0)>392){b=GNa((b>>>2)+2|0)|0;if(!b)i0a();else{k=b;s=b}}else{k=p;s=0}if(!(a[j>>0]|0))b=k;else{a[k>>0]=45;b=k+1|0}k=o+40|0;n=o;j=f;g=b;b=m;while(1){if(j>>>0>=b>>>0)break;f=c[j>>2]|0;b=o;while(1){if((b|0)==(k|0)){b=k;break}if((c[b>>2]|0)==(f|0))break;b=b+4|0}a[g>>0]=a[215151+(b-n>>2)>>0]|0;j=j+4|0;g=g+1|0;b=c[q>>2]|0}a[g>>0]=0;c[r>>2]=i;if((TQa(p,215052,r)|0)!=1)uXa(0);if(s|0)HNa(s)}b=c[d>>2]|0;do if(b){f=c[b+12>>2]|0;if((f|0)==(c[b+16>>2]|0))b=gk[c[(c[b>>2]|0)+36>>2]&1023](b)|0;else b=VRa(c[f>>2]|0)|0;if(CSa(b,URa()|0)|0){c[d>>2]=0;g=1;break}else{g=(c[d>>2]|0)==0;break}}else g=1;while(0);b=c[e>>2]|0;do if(b){f=c[b+12>>2]|0;if((f|0)==(c[b+16>>2]|0))b=gk[c[(c[b>>2]|0)+36>>2]&1023](b)|0;else b=VRa(c[f>>2]|0)|0;if(!(CSa(b,URa()|0)|0))if(g)break;else{u=34;break}else{c[e>>2]=0;u=32;break}}else u=32;while(0);if((u|0)==32?g:0)u=34;if((u|0)==34)c[h>>2]=c[h>>2]|2;f=c[d>>2]|0;dUa(t);b=c[v>>2]|0;c[v>>2]=0;if(b|0)Bk[c[v+4>>2]&2047](b);l=w;return f|0}function AYa(b,d,e,f,g,h,i){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=l;l=l+432|0;j=t+424|0;b=t;s=t+416|0;n=t+408|0;q=t+400|0;k=t+428|0;o=t+404|0;c[s>>2]=b;c[s+4>>2]=1169;BSa(q,g);m=cUa(q,230612)|0;a[k>>0]=0;p=c[e>>2]|0;c[o>>2]=p;g=c[g+4>>2]|0;c[j>>2]=c[o>>2];o=p;if(BYa(d,j,f,q,g,h,k,m,s,n,b+400|0)|0){b=i+8+3|0;if((a[b>>0]|0)<0){f=c[i>>2]|0;c[j>>2]=0;QTa(f,j);c[i+4>>2]=0}else{c[j>>2]=0;QTa(i,j);a[b>>0]=0}if(a[k>>0]|0)e1a(i,kk[c[(c[m>>2]|0)+44>>2]&511](m,45)|0);k=kk[c[(c[m>>2]|0)+44>>2]&511](m,48)|0;g=c[n>>2]|0;j=g+-4|0;b=c[s>>2]|0;while(1){if(b>>>0>=j>>>0)break;if((c[b>>2]|0)!=(k|0))break;b=b+4|0}CYa(i,b,g)|0}b=c[d>>2]|0;do if(b){g=c[b+12>>2]|0;if((g|0)==(c[b+16>>2]|0))b=gk[c[(c[b>>2]|0)+36>>2]&1023](b)|0;else b=VRa(c[g>>2]|0)|0;if(CSa(b,URa()|0)|0){c[d>>2]=0;g=1;break}else{g=(c[d>>2]|0)==0;break}}else g=1;while(0);do if(p){b=c[o+12>>2]|0;if((b|0)==(c[o+16>>2]|0))b=gk[c[(c[p>>2]|0)+36>>2]&1023](o)|0;else b=VRa(c[b>>2]|0)|0;if(!(CSa(b,URa()|0)|0))if(g)break;else{r=27;break}else{c[e>>2]=0;r=25;break}}else r=25;while(0);if((r|0)==25?g:0)r=27;if((r|0)==27)c[h>>2]=c[h>>2]|2;g=c[d>>2]|0;dUa(q);b=c[s>>2]|0;c[s>>2]=0;if(b|0)Bk[c[s+4>>2]&2047](b);l=t;return g|0}function BYa(b,e,f,g,h,i,j,k,m,n,o){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;m=m|0;n=n|0;o=o|0;var p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0;Y=l;l=l+512|0;I=Y+496|0;O=Y;X=Y+488|0;Q=Y+480|0;J=Y+476|0;K=Y+500|0;L=Y+472|0;M=Y+468|0;S=Y+456|0;T=Y+444|0;U=Y+432|0;V=Y+420|0;W=Y+408|0;N=Y+404|0;R=Y+400|0;c[I>>2]=o;c[X>>2]=O;c[X+4>>2]=1169;c[Q>>2]=O;c[J>>2]=O+400;c[S>>2]=0;c[S+4>>2]=0;c[S+8>>2]=0;o=0;while(1){if((o|0)==3)break;c[S+(o<<2)>>2]=0;o=o+1|0}c[T>>2]=0;c[T+4>>2]=0;c[T+8>>2]=0;o=0;while(1){if((o|0)==3)break;c[T+(o<<2)>>2]=0;o=o+1|0}c[U>>2]=0;c[U+4>>2]=0;c[U+8>>2]=0;o=0;while(1){if((o|0)==3)break;c[U+(o<<2)>>2]=0;o=o+1|0}c[V>>2]=0;c[V+4>>2]=0;c[V+8>>2]=0;o=0;while(1){if((o|0)==3)break;c[V+(o<<2)>>2]=0;o=o+1|0}c[W>>2]=0;c[W+4>>2]=0;c[W+8>>2]=0;o=0;while(1){if((o|0)==3)break;c[W+(o<<2)>>2]=0;o=o+1|0}FYa(f,g,K,L,M,S,T,U,V,N);c[n>>2]=c[m>>2];C=U+8+3|0;D=U+4|0;E=V+8+3|0;F=V+4|0;G=S+11|0;H=S+4|0;w=(h&512|0)!=0;x=T+8+3|0;y=K+3|0;z=T+4|0;A=W+8+3|0;B=W+4|0;O=0;v=0;a:while(1){if(v>>>0>=4){P=239;break}o=c[b>>2]|0;do if(o){f=c[o+12>>2]|0;if((f|0)==(c[o+16>>2]|0))o=gk[c[(c[o>>2]|0)+36>>2]&1023](o)|0;else o=VRa(c[f>>2]|0)|0;if(CSa(o,URa()|0)|0){c[b>>2]=0;g=1;break}else{g=(c[b>>2]|0)==0;break}}else g=1;while(0);f=c[e>>2]|0;do if(f){o=c[f+12>>2]|0;if((o|0)==(c[f+16>>2]|0))o=gk[c[(c[f>>2]|0)+36>>2]&1023](f)|0;else o=VRa(c[o>>2]|0)|0;if(!(CSa(o,URa()|0)|0))if(g){u=f;break}else{P=239;break a}else{c[e>>2]=0;P=31;break}}else P=31;while(0);if((P|0)==31){P=0;if(g){P=239;break}else u=0}b:do switch(a[K+v>>0]|0){case 1:{if((v|0)==3)o=O;else{o=c[b>>2]|0;f=c[o+12>>2]|0;if((f|0)==(c[o+16>>2]|0))o=gk[c[(c[o>>2]|0)+36>>2]&1023](o)|0;else o=VRa(c[f>>2]|0)|0;if(!(lk[c[(c[k>>2]|0)+12>>2]&127](k,8192,o)|0)){P=44;break a}o=c[b>>2]|0;f=o+12|0;g=c[f>>2]|0;if((g|0)==(c[o+16>>2]|0))o=gk[c[(c[o>>2]|0)+40>>2]&1023](o)|0;else{c[f>>2]=g+4;o=VRa(c[g>>2]|0)|0}e1a(W,o);P=46}break}case 0:{if((v|0)==3)o=O;else P=46;break}case 3:{o=a[C>>0]|0;o=o<<24>>24<0?c[D>>2]|0:o&255;h=a[E>>0]|0;h=h<<24>>24<0?c[F>>2]|0:h&255;if((o|0)==(0-h|0))o=O;else{p=(o|0)==0;o=c[b>>2]|0;f=c[o+12>>2]|0;g=(f|0)==(c[o+16>>2]|0);if(p|(h|0)==0){if(g)o=gk[c[(c[o>>2]|0)+36>>2]&1023](o)|0;else o=VRa(c[f>>2]|0)|0;if(p){if((o|0)!=(c[((a[E>>0]|0)<0?c[V>>2]|0:V)>>2]|0)){o=O;break b}o=c[b>>2]|0;f=o+12|0;g=c[f>>2]|0;if((g|0)==(c[o+16>>2]|0))gk[c[(c[o>>2]|0)+40>>2]&1023](o)|0;else{c[f>>2]=g+4;VRa(c[g>>2]|0)|0}a[j>>0]=1;o=a[E>>0]|0;o=(o<<24>>24<0?c[F>>2]|0:o&255)>>>0>1?V:O;break b}if((o|0)!=(c[((a[C>>0]|0)<0?c[U>>2]|0:U)>>2]|0)){a[j>>0]=1;o=O;break b}o=c[b>>2]|0;f=o+12|0;g=c[f>>2]|0;if((g|0)==(c[o+16>>2]|0))gk[c[(c[o>>2]|0)+40>>2]&1023](o)|0;else{c[f>>2]=g+4;VRa(c[g>>2]|0)|0}o=a[C>>0]|0;o=(o<<24>>24<0?c[D>>2]|0:o&255)>>>0>1?U:O;break b}if(g)o=gk[c[(c[o>>2]|0)+36>>2]&1023](o)|0;else o=VRa(c[f>>2]|0)|0;f=c[b>>2]|0;g=f+12|0;h=c[g>>2]|0;p=(h|0)==(c[f+16>>2]|0);if((o|0)==(c[((a[C>>0]|0)<0?c[U>>2]|0:U)>>2]|0)){if(p)gk[c[(c[f>>2]|0)+40>>2]&1023](f)|0;else{c[g>>2]=h+4;VRa(c[h>>2]|0)|0}o=a[C>>0]|0;o=(o<<24>>24<0?c[D>>2]|0:o&255)>>>0>1?U:O;break b}if(p)o=gk[c[(c[f>>2]|0)+36>>2]&1023](f)|0;else o=VRa(c[h>>2]|0)|0;if((o|0)!=(c[((a[E>>0]|0)<0?c[V>>2]|0:V)>>2]|0)){P=103;break a}o=c[b>>2]|0;f=o+12|0;g=c[f>>2]|0;if((g|0)==(c[o+16>>2]|0))gk[c[(c[o>>2]|0)+40>>2]&1023](o)|0;else{c[f>>2]=g+4;VRa(c[g>>2]|0)|0}a[j>>0]=1;o=a[E>>0]|0;o=(o<<24>>24<0?c[F>>2]|0:o&255)>>>0>1?V:O}break}case 2:{if(v>>>0<2|(O|0)!=0){f=a[x>>0]|0;g=c[T>>2]|0;o=f<<24>>24<0?g:T;if(v)P=108}else{if(!(w|(v|0)==2&(a[y>>0]|0)!=0)){o=0;break b}f=a[x>>0]|0;g=c[T>>2]|0;o=f<<24>>24<0?g:T;P=108}c:do if((P|0)==108){P=0;if((d[K+(v+-1)>>0]|0)<2){h=f;while(1){t=h<<24>>24<0;f=o;if(((t?g:T)+((t?c[z>>2]|0:h&255)<<2)|0)==(f|0)){f=h;break}if(!(lk[c[(c[k>>2]|0)+12>>2]&127](k,8192,c[f>>2]|0)|0)){P=112;break}o=f+4|0;h=a[x>>0]|0;g=c[T>>2]|0}if((P|0)==112){P=0;f=a[x>>0]|0;g=c[T>>2]|0}p=f<<24>>24<0?g:T;t=p;r=o-t>>2;q=a[A>>0]|0;s=q<<24>>24<0;h=c[B>>2]|0;q=q&255;if(r>>>0>(s?h:q)>>>0)o=t;else{Z=(c[W>>2]|0)+(h<<2)|0;h=W+(q<<2)|0;q=s?Z:h;h=(s?Z:h)+(0-r<<2)|0;while(1){if((h|0)==(q|0))break c;if((c[h>>2]|0)!=(c[p>>2]|0)){o=t;break c}p=p+4|0;h=h+4|0}}}}while(0);p=o;h=u;d:while(1){Z=f<<24>>24<0;if((p|0)==((Z?g:T)+((Z?c[z>>2]|0:f&255)<<2)|0))break;o=c[b>>2]|0;do if(o){f=c[o+12>>2]|0;if((f|0)==(c[o+16>>2]|0))o=gk[c[(c[o>>2]|0)+36>>2]&1023](o)|0;else o=VRa(c[f>>2]|0)|0;if(CSa(o,URa()|0)|0){c[b>>2]=0;f=1;break}else{f=(c[b>>2]|0)==0;break}}else f=1;while(0);do if(h){o=c[h+12>>2]|0;if((o|0)==(c[h+16>>2]|0))o=gk[c[(c[h>>2]|0)+36>>2]&1023](h)|0;else o=VRa(c[o>>2]|0)|0;if(!(CSa(o,URa()|0)|0))if(f)break;else break d;else{c[e>>2]=0;P=134;break}}else P=134;while(0);if((P|0)==134){P=0;if(f)break;else h=0}o=c[b>>2]|0;f=c[o+12>>2]|0;if((f|0)==(c[o+16>>2]|0))o=gk[c[(c[o>>2]|0)+36>>2]&1023](o)|0;else o=VRa(c[f>>2]|0)|0;if((o|0)!=(c[p>>2]|0))break;o=c[b>>2]|0;f=o+12|0;g=c[f>>2]|0;if((g|0)==(c[o+16>>2]|0))gk[c[(c[o>>2]|0)+40>>2]&1023](o)|0;else{c[f>>2]=g+4;VRa(c[g>>2]|0)|0}p=p+4|0;f=a[x>>0]|0;g=c[T>>2]|0}if(w?(Z=a[x>>0]|0,u=Z<<24>>24<0,(p|0)!=((u?c[T>>2]|0:T)+((u?c[z>>2]|0:Z&255)<<2)|0)):0){P=146;break a}else o=O;break}case 4:{p=0;h=u;o=u;e:while(1){f=c[b>>2]|0;do if(f){g=c[f+12>>2]|0;if((g|0)==(c[f+16>>2]|0))f=gk[c[(c[f>>2]|0)+36>>2]&1023](f)|0;else f=VRa(c[g>>2]|0)|0;if(CSa(f,URa()|0)|0){c[b>>2]=0;g=1;break}else{g=(c[b>>2]|0)==0;break}}else g=1;while(0);do if(h){f=c[h+12>>2]|0;if((f|0)==(c[h+16>>2]|0))f=gk[c[(c[h>>2]|0)+36>>2]&1023](h)|0;else f=VRa(c[f>>2]|0)|0;if(!(CSa(f,URa()|0)|0))if(g){q=h;break}else{h=o;break e}else{c[e>>2]=0;o=0;P=160;break}}else P=160;while(0);if((P|0)==160){P=0;if(g){h=o;break}else q=0}f=c[b>>2]|0;g=c[f+12>>2]|0;if((g|0)==(c[f+16>>2]|0))g=gk[c[(c[f>>2]|0)+36>>2]&1023](f)|0;else g=VRa(c[g>>2]|0)|0;if(lk[c[(c[k>>2]|0)+12>>2]&127](k,2048,g)|0){f=c[n>>2]|0;if((f|0)==(c[I>>2]|0)){GYa(m,n,I);f=c[n>>2]|0}c[n>>2]=f+4;c[f>>2]=g;f=p+1|0}else{Z=a[G>>0]|0;if(!((g|0)==(c[M>>2]|0)&(p|0?((Z<<24>>24<0?c[H>>2]|0:Z&255)|0)!=0:0))){h=o;break}f=c[Q>>2]|0;if((f|0)==(c[J>>2]|0)){wYa(X,Q,J);f=c[Q>>2]|0}c[Q>>2]=f+4;c[f>>2]=p;f=0}g=c[b>>2]|0;h=g+12|0;p=c[h>>2]|0;if((p|0)==(c[g+16>>2]|0))gk[c[(c[g>>2]|0)+40>>2]&1023](g)|0;else{c[h>>2]=p+4;VRa(c[p>>2]|0)|0}p=f;h=q}o=c[Q>>2]|0;if(p|0?(c[X>>2]|0)!=(o|0):0){if((o|0)==(c[J>>2]|0)){wYa(X,Q,J);o=c[Q>>2]|0}c[Q>>2]=o+4;c[o>>2]=p}f:do if((c[N>>2]|0)>0){o=c[b>>2]|0;do if(o){f=c[o+12>>2]|0;if((f|0)==(c[o+16>>2]|0))o=gk[c[(c[o>>2]|0)+36>>2]&1023](o)|0;else o=VRa(c[f>>2]|0)|0;if(CSa(o,URa()|0)|0){c[b>>2]=0;f=1;break}else{f=(c[b>>2]|0)==0;break}}else f=1;while(0);do if(h){o=c[h+12>>2]|0;if((o|0)==(c[h+16>>2]|0))o=gk[c[(c[h>>2]|0)+36>>2]&1023](h)|0;else o=VRa(c[o>>2]|0)|0;if(!(CSa(o,URa()|0)|0))if(f)break;else{P=201;break a}else{c[e>>2]=0;P=195;break}}else P=195;while(0);if((P|0)==195){P=0;if(f){P=201;break a}else h=0}o=c[b>>2]|0;f=c[o+12>>2]|0;if((f|0)==(c[o+16>>2]|0))o=gk[c[(c[o>>2]|0)+36>>2]&1023](o)|0;else o=VRa(c[f>>2]|0)|0;if((o|0)!=(c[L>>2]|0)){P=201;break a}o=c[b>>2]|0;f=o+12|0;g=c[f>>2]|0;if((g|0)==(c[o+16>>2]|0))gk[c[(c[o>>2]|0)+40>>2]&1023](o)|0;else{c[f>>2]=g+4;VRa(c[g>>2]|0)|0}g=h;while(1){if((c[N>>2]|0)<=0)break f;o=c[b>>2]|0;do if(o){f=c[o+12>>2]|0;if((f|0)==(c[o+16>>2]|0))o=gk[c[(c[o>>2]|0)+36>>2]&1023](o)|0;else o=VRa(c[f>>2]|0)|0;if(CSa(o,URa()|0)|0){c[b>>2]=0;f=1;break}else{f=(c[b>>2]|0)==0;break}}else f=1;while(0);do if(g){o=c[g+12>>2]|0;if((o|0)==(c[g+16>>2]|0))o=gk[c[(c[g>>2]|0)+36>>2]&1023](g)|0;else o=VRa(c[o>>2]|0)|0;if(!(CSa(o,URa()|0)|0))if(f){h=g;break}else{P=226;break a}else{c[e>>2]=0;P=220;break}}else P=220;while(0);if((P|0)==220){P=0;if(f){P=226;break a}else h=0}o=c[b>>2]|0;f=c[o+12>>2]|0;if((f|0)==(c[o+16>>2]|0))o=gk[c[(c[o>>2]|0)+36>>2]&1023](o)|0;else o=VRa(c[f>>2]|0)|0;if(!(lk[c[(c[k>>2]|0)+12>>2]&127](k,2048,o)|0)){P=226;break a}if((c[n>>2]|0)==(c[I>>2]|0))GYa(m,n,I);o=c[b>>2]|0;f=c[o+12>>2]|0;if((f|0)==(c[o+16>>2]|0))o=gk[c[(c[o>>2]|0)+36>>2]&1023](o)|0;else o=VRa(c[f>>2]|0)|0;f=c[n>>2]|0;c[n>>2]=f+4;c[f>>2]=o;c[N>>2]=(c[N>>2]|0)+-1;o=c[b>>2]|0;f=o+12|0;g=c[f>>2]|0;if((g|0)==(c[o+16>>2]|0))gk[c[(c[o>>2]|0)+40>>2]&1023](o)|0;else{c[f>>2]=g+4;VRa(c[g>>2]|0)|0}g=h}}while(0);if((c[n>>2]|0)==(c[m>>2]|0)){P=237;break a}else o=O;break}default:o=O}while(0);g:do if((P|0)==46){P=0;g=u;while(1){o=c[b>>2]|0;do if(o){f=c[o+12>>2]|0;if((f|0)==(c[o+16>>2]|0))o=gk[c[(c[o>>2]|0)+36>>2]&1023](o)|0;else o=VRa(c[f>>2]|0)|0;if(CSa(o,URa()|0)|0){c[b>>2]=0;f=1;break}else{f=(c[b>>2]|0)==0;break}}else f=1;while(0);do if(g){o=c[g+12>>2]|0;if((o|0)==(c[g+16>>2]|0))o=gk[c[(c[g>>2]|0)+36>>2]&1023](g)|0;else o=VRa(c[o>>2]|0)|0;if(!(CSa(o,URa()|0)|0))if(f){h=g;break}else{o=O;break g}else{c[e>>2]=0;P=60;break}}else P=60;while(0);if((P|0)==60){P=0;if(f){o=O;break g}else h=0}o=c[b>>2]|0;f=c[o+12>>2]|0;if((f|0)==(c[o+16>>2]|0))o=gk[c[(c[o>>2]|0)+36>>2]&1023](o)|0;else o=VRa(c[f>>2]|0)|0;if(!(lk[c[(c[k>>2]|0)+12>>2]&127](k,8192,o)|0)){o=O;break g}o=c[b>>2]|0;f=o+12|0;g=c[f>>2]|0;if((g|0)==(c[o+16>>2]|0))o=gk[c[(c[o>>2]|0)+40>>2]&1023](o)|0;else{c[f>>2]=g+4;o=VRa(c[g>>2]|0)|0}e1a(W,o);g=h}}while(0);O=o;v=v+1|0}h:do if((P|0)==44){c[i>>2]=c[i>>2]|4;f=0}else if((P|0)==103){c[i>>2]=c[i>>2]|4;f=0}else if((P|0)==146){c[i>>2]=c[i>>2]|4;f=0}else if((P|0)==201){c[i>>2]=c[i>>2]|4;f=0}else if((P|0)==226){c[i>>2]=c[i>>2]|4;f=0}else if((P|0)==237){c[i>>2]=c[i>>2]|4;f=0}else if((P|0)==239){i:do if(O|0){p=O+8+3|0;q=O+4|0;h=1;j:while(1){o=a[p>>0]|0;if(o<<24>>24<0)o=c[q>>2]|0;else o=o&255;if(h>>>0>=o>>>0)break i;o=c[b>>2]|0;do if(o){f=c[o+12>>2]|0;if((f|0)==(c[o+16>>2]|0))o=gk[c[(c[o>>2]|0)+36>>2]&1023](o)|0;else o=VRa(c[f>>2]|0)|0;if(CSa(o,URa()|0)|0){c[b>>2]=0;g=1;break}else{g=(c[b>>2]|0)==0;break}}else g=1;while(0);o=c[e>>2]|0;do if(o){f=c[o+12>>2]|0;if((f|0)==(c[o+16>>2]|0))o=gk[c[(c[o>>2]|0)+36>>2]&1023](o)|0;else o=VRa(c[f>>2]|0)|0;if(!(CSa(o,URa()|0)|0))if(g)break;else break j;else{c[e>>2]=0;P=258;break}}else P=258;while(0);if((P|0)==258?(P=0,g):0)break;o=c[b>>2]|0;f=c[o+12>>2]|0;if((f|0)==(c[o+16>>2]|0))o=gk[c[(c[o>>2]|0)+36>>2]&1023](o)|0;else o=VRa(c[f>>2]|0)|0;if((a[p>>0]|0)<0)f=c[O>>2]|0;else f=O;if((o|0)!=(c[f+(h<<2)>>2]|0))break;o=c[b>>2]|0;f=o+12|0;g=c[f>>2]|0;if((g|0)==(c[o+16>>2]|0))gk[c[(c[o>>2]|0)+40>>2]&1023](o)|0;else{c[f>>2]=g+4;VRa(c[g>>2]|0)|0}h=h+1|0}c[i>>2]=c[i>>2]|4;f=0;break h}while(0);f=c[X>>2]|0;o=c[Q>>2]|0;if((f|0)!=(o|0)){c[R>>2]=0;rUa(S,f,o,R);if(!(c[R>>2]|0)){f=1;break}else{c[i>>2]=c[i>>2]|4;f=0;break}}else f=1}while(0);Y0a(W);Y0a(V);Y0a(U);Y0a(T);y0a(S);o=c[X>>2]|0;c[X>>2]=0;if(o|0)Bk[c[X+4>>2]&2047](o);l=Y;return f|0}function CYa(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0;o=l;l=l+16|0;k=o;f=b+8|0;n=f+3|0;i=a[n>>0]|0;g=i<<24>>24<0;if(g){m=c[b+4>>2]|0;h=(c[f>>2]&2147483647)+-1|0}else{m=i&255;h=1}f=e-d|0;j=f>>2;do if(f|0){if(g){g=c[b>>2]|0;f=c[b+4>>2]|0}else{g=b;f=i&255}if(DYa(d,g,g+(f<<2)|0)|0){c[k>>2]=0;c[k+4>>2]=0;c[k+8>>2]=0;EYa(k,d,e);n=a[k+8+3>>0]|0;m=n<<24>>24<0;d1a(b,m?c[k>>2]|0:k,m?c[k+4>>2]|0:n&255)|0;Y0a(k);break}if((h-m|0)>>>0<j>>>0)c1a(b,h,m+j-h|0,m,m,0,0);if((a[n>>0]|0)<0)f=c[b>>2]|0;else f=b;f=f+(m<<2)|0;while(1){if((d|0)==(e|0))break;QTa(f,d);f=f+4|0;d=d+4|0}c[k>>2]=0;QTa(f,k);d=m+j|0;if((a[n>>0]|0)<0){c[b+4>>2]=d;break}else{a[n>>0]=d;break}}while(0);l=o;return b|0}function DYa(a,b,c){a=a|0;b=b|0;c=c|0;return b>>>0<=a>>>0&a>>>0<c>>>0|0}function EYa(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;j=l;l=l+16|0;i=j;h=e-d>>2;if(h>>>0>1073741807)r0a(b);do if(h>>>0>=2){g=h+4&-4;if(g>>>0>1073741823)ec();else{f=j0a(g<<2)|0;c[b>>2]=f;c[b+8>>2]=g|-2147483648;c[b+4>>2]=h;break}}else{a[b+8+3>>0]=h;f=b}while(0);while(1){if((d|0)==(e|0))break;QTa(f,d);d=d+4|0;f=f+4|0}c[i>>2]=0;QTa(f,i);l=j;return}function FYa(b,d,e,f,g,h,i,j,k,m){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;m=m|0;var n=0,o=0,p=0;p=l;l=l+16|0;n=p+12|0;o=p;if(b){d=cUa(d,230828)|0;Jk[c[(c[d>>2]|0)+44>>2]&1023](n,d);b=c[n>>2]|0;a[e>>0]=b;a[e+1>>0]=b>>8;a[e+2>>0]=b>>16;a[e+3>>0]=b>>24;Jk[c[(c[d>>2]|0)+32>>2]&1023](o,d);b=k+8+3|0;if((a[b>>0]|0)<0){e=c[k>>2]|0;c[n>>2]=0;QTa(e,n);c[k+4>>2]=0}else{c[n>>2]=0;QTa(k,n);a[b>>0]=0}a1a(k,0);c[k>>2]=c[o>>2];c[k+4>>2]=c[o+4>>2];c[k+8>>2]=c[o+8>>2];b=0;while(1){if((b|0)==3)break;c[o+(b<<2)>>2]=0;b=b+1|0}Y0a(o);Jk[c[(c[d>>2]|0)+28>>2]&1023](o,d);b=j+8+3|0;if((a[b>>0]|0)<0){k=c[j>>2]|0;c[n>>2]=0;QTa(k,n);c[j+4>>2]=0}else{c[n>>2]=0;QTa(j,n);a[b>>0]=0}a1a(j,0);c[j>>2]=c[o>>2];c[j+4>>2]=c[o+4>>2];c[j+8>>2]=c[o+8>>2];b=0;while(1){if((b|0)==3)break;c[o+(b<<2)>>2]=0;b=b+1|0}Y0a(o);c[f>>2]=gk[c[(c[d>>2]|0)+12>>2]&1023](d)|0;c[g>>2]=gk[c[(c[d>>2]|0)+16>>2]&1023](d)|0;Jk[c[(c[d>>2]|0)+20>>2]&1023](o,d);b=h+11|0;if((a[b>>0]|0)<0){b=c[h>>2]|0;a[n>>0]=0;ITa(b,n);c[h+4>>2]=0;b=h}else{a[n>>0]=0;ITa(h,n);a[b>>0]=0;b=h}D0a(h,0);c[b>>2]=c[o>>2];c[b+4>>2]=c[o+4>>2];c[b+8>>2]=c[o+8>>2];b=0;while(1){if((b|0)==3)break;c[o+(b<<2)>>2]=0;b=b+1|0}y0a(o);Jk[c[(c[d>>2]|0)+24>>2]&1023](o,d);b=i+8+3|0;if((a[b>>0]|0)<0){h=c[i>>2]|0;c[n>>2]=0;QTa(h,n);c[i+4>>2]=0}else{c[n>>2]=0;QTa(i,n);a[b>>0]=0}a1a(i,0);c[i>>2]=c[o>>2];c[i+4>>2]=c[o+4>>2];c[i+8>>2]=c[o+8>>2];b=0;while(1){if((b|0)==3)break;c[o+(b<<2)>>2]=0;b=b+1|0}Y0a(o);b=gk[c[(c[d>>2]|0)+36>>2]&1023](d)|0}else{d=cUa(d,230820)|0;Jk[c[(c[d>>2]|0)+44>>2]&1023](n,d);b=c[n>>2]|0;a[e>>0]=b;a[e+1>>0]=b>>8;a[e+2>>0]=b>>16;a[e+3>>0]=b>>24;Jk[c[(c[d>>2]|0)+32>>2]&1023](o,d);b=k+8+3|0;if((a[b>>0]|0)<0){e=c[k>>2]|0;c[n>>2]=0;QTa(e,n);c[k+4>>2]=0}else{c[n>>2]=0;QTa(k,n);a[b>>0]=0}a1a(k,0);c[k>>2]=c[o>>2];c[k+4>>2]=c[o+4>>2];c[k+8>>2]=c[o+8>>2];b=0;while(1){if((b|0)==3)break;c[o+(b<<2)>>2]=0;b=b+1|0}Y0a(o);Jk[c[(c[d>>2]|0)+28>>2]&1023](o,d);b=j+8+3|0;if((a[b>>0]|0)<0){k=c[j>>2]|0;c[n>>2]=0;QTa(k,n);c[j+4>>2]=0}else{c[n>>2]=0;QTa(j,n);a[b>>0]=0}a1a(j,0);c[j>>2]=c[o>>2];c[j+4>>2]=c[o+4>>2];c[j+8>>2]=c[o+8>>2];b=0;while(1){if((b|0)==3)break;c[o+(b<<2)>>2]=0;b=b+1|0}Y0a(o);c[f>>2]=gk[c[(c[d>>2]|0)+12>>2]&1023](d)|0;c[g>>2]=gk[c[(c[d>>2]|0)+16>>2]&1023](d)|0;Jk[c[(c[d>>2]|0)+20>>2]&1023](o,d);b=h+11|0;if((a[b>>0]|0)<0){b=c[h>>2]|0;a[n>>0]=0;ITa(b,n);c[h+4>>2]=0;b=h}else{a[n>>0]=0;ITa(h,n);a[b>>0]=0;b=h}D0a(h,0);c[b>>2]=c[o>>2];c[b+4>>2]=c[o+4>>2];c[b+8>>2]=c[o+8>>2];b=0;while(1){if((b|0)==3)break;c[o+(b<<2)>>2]=0;b=b+1|0}y0a(o);Jk[c[(c[d>>2]|0)+24>>2]&1023](o,d);b=i+8+3|0;if((a[b>>0]|0)<0){h=c[i>>2]|0;c[n>>2]=0;QTa(h,n);c[i+4>>2]=0}else{c[n>>2]=0;QTa(i,n);a[b>>0]=0}a1a(i,0);c[i>>2]=c[o>>2];c[i+4>>2]=c[o+4>>2];c[i+8>>2]=c[o+8>>2];b=0;while(1){if((b|0)==3)break;c[o+(b<<2)>>2]=0;b=b+1|0}Y0a(o);b=gk[c[(c[d>>2]|0)+36>>2]&1023](d)|0}c[m>>2]=b;l=p;return}function GYa(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;i=a+4|0;f=(c[i>>2]|0)!=1169;e=c[a>>2]|0;h=e;j=(c[d>>2]|0)-h|0;g=j<<1;g=j>>>0<2147483647?((g|0)==0?4:g):-1;h=(c[b>>2]|0)-h>>2;e=JNa(f?e:0,g)|0;if(!e)i0a();if(!f){f=c[a>>2]|0;c[a>>2]=e;if(f){Bk[c[i>>2]&2047](f);e=c[a>>2]|0}}else c[a>>2]=e;c[i>>2]=1170;c[b>>2]=e+(h<<2);c[d>>2]=(c[a>>2]|0)+(g>>>2<<2);return}function HYa(a){a=a|0;JTa(a);return}function IYa(a){a=a|0;JTa(a);l0a(a);return}function JYa(b,d,e,f,g,i){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;i=+i;var j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0;F=l;l=l+416|0;r=F+336|0;k=F+328|0;b=F+224|0;m=F+400|0;j=F+112|0;E=F+396|0;s=F+408|0;t=F+405|0;u=F+404|0;B=F+384|0;C=F+372|0;D=F+360|0;p=F+356|0;q=F;v=F+352|0;w=F+344|0;x=F+348|0;c[m>>2]=b;h[r>>3]=i;b=VPa(b,100,215257,r)|0;if(b>>>0>99){b=fUa()|0;h[k>>3]=i;b=BVa(m,b,215257,k)|0;j=c[m>>2]|0;if(!j)i0a();k=GNa(b)|0;if(!k)i0a();else{y=k;A=b;H=k;I=j}}else{y=j;A=b;H=0;I=0}BSa(E,f);o=cUa(E,230580)|0;n=c[m>>2]|0;mk[c[(c[o>>2]|0)+32>>2]&63](o,n,n+A|0,y)|0;if(!A)n=0;else n=(a[c[m>>2]>>0]|0)==45;c[B>>2]=0;c[B+4>>2]=0;c[B+8>>2]=0;b=0;while(1){if((b|0)==3)break;c[B+(b<<2)>>2]=0;b=b+1|0}c[C>>2]=0;c[C+4>>2]=0;c[C+8>>2]=0;b=0;while(1){if((b|0)==3)break;c[C+(b<<2)>>2]=0;b=b+1|0}c[D>>2]=0;c[D+4>>2]=0;c[D+8>>2]=0;b=0;while(1){if((b|0)==3)break;c[D+(b<<2)>>2]=0;b=b+1|0}LYa(e,n,E,s,t,u,B,C,D,p);m=c[p>>2]|0;if((A|0)>(m|0)){k=a[D+11>>0]|0;b=a[C+11>>0]|0;b=b<<24>>24<0?c[C+4>>2]|0:b&255;j=m+1+(A-m<<1)|0;k=k<<24>>24<0?c[D+4>>2]|0:k&255}else{k=a[D+11>>0]|0;b=a[C+11>>0]|0;b=b<<24>>24<0?c[C+4>>2]|0:b&255;j=m+2|0;k=k<<24>>24<0?c[D+4>>2]|0:k&255}b=j+k+b|0;if(b>>>0>100){b=GNa(b)|0;if(!b)i0a();else{z=b;G=b}}else{z=q;G=0}MYa(z,v,w,c[f+4>>2]|0,y,y+A|0,o,n,s,a[t>>0]|0,a[u>>0]|0,B,C,D,m);c[x>>2]=c[d>>2];d=c[v>>2]|0;b=c[w>>2]|0;c[r>>2]=c[x>>2];b=nr(r,z,d,b,f,g)|0;if(G|0)HNa(G);y0a(D);y0a(C);y0a(B);dUa(E);if(H|0)HNa(H);if(I|0)HNa(I);l=F;return b|0}function KYa(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;D=l;l=l+176|0;q=D+156|0;C=D+152|0;v=D+164|0;w=D+161|0;x=D+160|0;z=D+140|0;A=D+128|0;B=D+116|0;m=D+112|0;o=D;r=D+108|0;s=D+104|0;t=D+100|0;BSa(C,f);u=cUa(C,230580)|0;i=h+11|0;p=a[i>>0]|0;b=p<<24>>24<0;j=h+4|0;if(!((b?c[j>>2]|0:p&255)|0))p=0;else{p=a[(b?c[h>>2]|0:h)>>0]|0;p=p<<24>>24==(kk[c[(c[u>>2]|0)+28>>2]&511](u,45)|0)<<24>>24};c[z>>2]=0;c[z+4>>2]=0;c[z+8>>2]=0;b=0;while(1){if((b|0)==3)break;c[z+(b<<2)>>2]=0;b=b+1|0}c[A>>2]=0;c[A+4>>2]=0;c[A+8>>2]=0;b=0;while(1){if((b|0)==3)break;c[A+(b<<2)>>2]=0;b=b+1|0}c[B>>2]=0;c[B+4>>2]=0;c[B+8>>2]=0;b=0;while(1){if((b|0)==3)break;c[B+(b<<2)>>2]=0;b=b+1|0}LYa(e,p,C,v,w,x,z,A,B,m);k=a[i>>0]|0;n=k<<24>>24<0;k=n?c[j>>2]|0:k&255;j=c[m>>2]|0;if((k|0)>(j|0)){e=a[B+11>>0]|0;b=a[A+11>>0]|0;b=b<<24>>24<0?c[A+4>>2]|0:b&255;i=j+1+(k-j<<1)|0;e=e<<24>>24<0?c[B+4>>2]|0:e&255}else{e=a[B+11>>0]|0;b=a[A+11>>0]|0;b=b<<24>>24<0?c[A+4>>2]|0:b&255;i=j+2|0;e=e<<24>>24<0?c[B+4>>2]|0:e&255}b=i+e+b|0;if(b>>>0>100){b=GNa(b)|0;if(!b)i0a();else{y=b;E=b}}else{y=o;E=0}h=n?c[h>>2]|0:h;MYa(y,r,s,c[f+4>>2]|0,h,h+k|0,u,p,v,a[w>>0]|0,a[x>>0]|0,z,A,B,j);c[t>>2]=c[d>>2];h=c[r>>2]|0;b=c[s>>2]|0;c[q>>2]=c[t>>2];b=nr(q,y,h,b,f,g)|0;if(E|0)HNa(E);y0a(B);y0a(A);y0a(z);dUa(C);l=D;return b|0}function LYa(b,d,e,f,g,h,i,j,k,m){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;m=m|0;var n=0,o=0,p=0,q=0;q=l;l=l+16|0;o=q+12|0;p=q;if(b){n=cUa(e,230812)|0;if(d){Jk[c[(c[n>>2]|0)+44>>2]&1023](o,n);b=c[o>>2]|0;a[f>>0]=b;a[f+1>>0]=b>>8;a[f+2>>0]=b>>16;a[f+3>>0]=b>>24;Jk[c[(c[n>>2]|0)+32>>2]&1023](p,n);b=k+11|0;if((a[b>>0]|0)<0){b=c[k>>2]|0;a[o>>0]=0;ITa(b,o);c[k+4>>2]=0;b=k}else{a[o>>0]=0;ITa(k,o);a[b>>0]=0;b=k}D0a(k,0);c[b>>2]=c[p>>2];c[b+4>>2]=c[p+4>>2];c[b+8>>2]=c[p+8>>2];b=0;while(1){if((b|0)==3)break;c[p+(b<<2)>>2]=0;b=b+1|0}y0a(p);e=n}else{Jk[c[(c[n>>2]|0)+40>>2]&1023](o,n);b=c[o>>2]|0;a[f>>0]=b;a[f+1>>0]=b>>8;a[f+2>>0]=b>>16;a[f+3>>0]=b>>24;Jk[c[(c[n>>2]|0)+28>>2]&1023](p,n);b=k+11|0;if((a[b>>0]|0)<0){b=c[k>>2]|0;a[o>>0]=0;ITa(b,o);c[k+4>>2]=0;b=k}else{a[o>>0]=0;ITa(k,o);a[b>>0]=0;b=k}D0a(k,0);c[b>>2]=c[p>>2];c[b+4>>2]=c[p+4>>2];c[b+8>>2]=c[p+8>>2];b=0;while(1){if((b|0)==3)break;c[p+(b<<2)>>2]=0;b=b+1|0}y0a(p);e=n}a[g>>0]=gk[c[(c[n>>2]|0)+12>>2]&1023](n)|0;a[h>>0]=gk[c[(c[n>>2]|0)+16>>2]&1023](n)|0;Jk[c[(c[e>>2]|0)+20>>2]&1023](p,n);b=i+11|0;if((a[b>>0]|0)<0){b=c[i>>2]|0;a[o>>0]=0;ITa(b,o);c[i+4>>2]=0;b=i}else{a[o>>0]=0;ITa(i,o);a[b>>0]=0;b=i}D0a(i,0);c[b>>2]=c[p>>2];c[b+4>>2]=c[p+4>>2];c[b+8>>2]=c[p+8>>2];b=0;while(1){if((b|0)==3)break;c[p+(b<<2)>>2]=0;b=b+1|0}y0a(p);Jk[c[(c[e>>2]|0)+24>>2]&1023](p,n);b=j+11|0;if((a[b>>0]|0)<0){b=c[j>>2]|0;a[o>>0]=0;ITa(b,o);c[j+4>>2]=0;b=j}else{a[o>>0]=0;ITa(j,o);a[b>>0]=0;b=j}D0a(j,0);c[b>>2]=c[p>>2];c[b+4>>2]=c[p+4>>2];c[b+8>>2]=c[p+8>>2];b=0;while(1){if((b|0)==3)break;c[p+(b<<2)>>2]=0;b=b+1|0}y0a(p);b=gk[c[(c[n>>2]|0)+36>>2]&1023](n)|0}else{n=cUa(e,230804)|0;if(d){Jk[c[(c[n>>2]|0)+44>>2]&1023](o,n);b=c[o>>2]|0;a[f>>0]=b;a[f+1>>0]=b>>8;a[f+2>>0]=b>>16;a[f+3>>0]=b>>24;Jk[c[(c[n>>2]|0)+32>>2]&1023](p,n);b=k+11|0;if((a[b>>0]|0)<0){b=c[k>>2]|0;a[o>>0]=0;ITa(b,o);c[k+4>>2]=0;b=k}else{a[o>>0]=0;ITa(k,o);a[b>>0]=0;b=k}D0a(k,0);c[b>>2]=c[p>>2];c[b+4>>2]=c[p+4>>2];c[b+8>>2]=c[p+8>>2];b=0;while(1){if((b|0)==3)break;c[p+(b<<2)>>2]=0;b=b+1|0}y0a(p);e=n}else{Jk[c[(c[n>>2]|0)+40>>2]&1023](o,n);b=c[o>>2]|0;a[f>>0]=b;a[f+1>>0]=b>>8;a[f+2>>0]=b>>16;a[f+3>>0]=b>>24;Jk[c[(c[n>>2]|0)+28>>2]&1023](p,n);b=k+11|0;if((a[b>>0]|0)<0){b=c[k>>2]|0;a[o>>0]=0;ITa(b,o);c[k+4>>2]=0;b=k}else{a[o>>0]=0;ITa(k,o);a[b>>0]=0;b=k}D0a(k,0);c[b>>2]=c[p>>2];c[b+4>>2]=c[p+4>>2];c[b+8>>2]=c[p+8>>2];b=0;while(1){if((b|0)==3)break;c[p+(b<<2)>>2]=0;b=b+1|0}y0a(p);e=n}a[g>>0]=gk[c[(c[n>>2]|0)+12>>2]&1023](n)|0;a[h>>0]=gk[c[(c[n>>2]|0)+16>>2]&1023](n)|0;Jk[c[(c[e>>2]|0)+20>>2]&1023](p,n);b=i+11|0;if((a[b>>0]|0)<0){b=c[i>>2]|0;a[o>>0]=0;ITa(b,o);c[i+4>>2]=0;b=i}else{a[o>>0]=0;ITa(i,o);a[b>>0]=0;b=i}D0a(i,0);c[b>>2]=c[p>>2];c[b+4>>2]=c[p+4>>2];c[b+8>>2]=c[p+8>>2];b=0;while(1){if((b|0)==3)break;c[p+(b<<2)>>2]=0;b=b+1|0}y0a(p);Jk[c[(c[e>>2]|0)+24>>2]&1023](p,n);b=j+11|0;if((a[b>>0]|0)<0){b=c[j>>2]|0;a[o>>0]=0;ITa(b,o);c[j+4>>2]=0;b=j}else{a[o>>0]=0;ITa(j,o);a[b>>0]=0;b=j}D0a(j,0);c[b>>2]=c[p>>2];c[b+4>>2]=c[p+4>>2];c[b+8>>2]=c[p+8>>2];b=0;while(1){if((b|0)==3)break;c[p+(b<<2)>>2]=0;b=b+1|0}y0a(p);b=gk[c[(c[n>>2]|0)+36>>2]&1023](n)|0}c[m>>2]=b;l=q;return}function MYa(d,e,f,g,h,i,j,k,l,m,n,o,p,q,r){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;var s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0;c[f>>2]=d;y=q+11|0;G=q+4|0;z=p+11|0;A=p+4|0;B=(g&512|0)==0;C=j+8|0;D=(r|0)>0;E=o+11|0;F=o+4|0;x=0;while(1){if((x|0)==4)break;a:do switch(a[l+x>>0]|0){case 0:{c[e>>2]=c[f>>2];break}case 1:{c[e>>2]=c[f>>2];v=kk[c[(c[j>>2]|0)+28>>2]&511](j,32)|0;w=c[f>>2]|0;c[f>>2]=w+1;a[w>>0]=v;break}case 3:{w=a[y>>0]|0;s=w<<24>>24<0;if((s?c[G>>2]|0:w&255)|0){v=a[(s?c[q>>2]|0:q)>>0]|0;w=c[f>>2]|0;c[f>>2]=w+1;a[w>>0]=v}break}case 2:{t=a[z>>0]|0;s=t<<24>>24<0;t=s?c[A>>2]|0:t&255;if(!(B|(t|0)==0)){w=s?c[p>>2]|0:p;u=w+t|0;s=c[f>>2]|0;t=w;while(1){if((t|0)==(u|0))break;a[s>>0]=a[t>>0]|0;s=s+1|0;t=t+1|0}c[f>>2]=s}break}case 4:{t=c[f>>2]|0;h=k?h+1|0:h;u=h;while(1){if(u>>>0>=i>>>0)break;s=a[u>>0]|0;if(s<<24>>24<=-1)break;if(!(b[(c[C>>2]|0)+(s<<24>>24<<1)>>1]&2048))break;u=u+1|0}if(D){v=r;while(1){s=(v|0)>0;if(!(u>>>0>h>>>0&s))break;w=u+-1|0;H=a[w>>0]|0;s=c[f>>2]|0;c[f>>2]=s+1;a[s>>0]=H;v=v+-1|0;u=w}if(s)w=kk[c[(c[j>>2]|0)+28>>2]&511](j,48)|0;else w=0;s=v;while(1){v=c[f>>2]|0;c[f>>2]=v+1;if((s|0)<=0)break;a[v>>0]=w;s=s+-1|0}a[v>>0]=m}b:do if((u|0)==(h|0)){w=kk[c[(c[j>>2]|0)+28>>2]&511](j,48)|0;H=c[f>>2]|0;c[f>>2]=H+1;a[H>>0]=w}else{H=a[E>>0]|0;s=H<<24>>24<0;if(!((s?c[F>>2]|0:H&255)|0))s=-1;else s=a[(s?c[o>>2]|0:o)>>0]|0;v=0;w=0;while(1){if((u|0)==(h|0))break b;if((w|0)==(s|0)){H=c[f>>2]|0;c[f>>2]=H+1;a[H>>0]=n;v=v+1|0;H=a[E>>0]|0;s=H<<24>>24<0;if(v>>>0<(s?c[F>>2]|0:H&255)>>>0){s=a[(s?c[o>>2]|0:o)+v>>0]|0;s=s<<24>>24==127?-1:s<<24>>24;w=0}else{s=w;w=0}}H=u+-1|0;J=a[H>>0]|0;I=c[f>>2]|0;c[f>>2]=I+1;a[I>>0]=J;w=w+1|0;u=H}}while(0);s=c[f>>2]|0;if((t|0)!=(s|0))while(1){s=s+-1|0;if(t>>>0>=s>>>0)break a;J=a[t>>0]|0;a[t>>0]=a[s>>0]|0;a[s>>0]=J;t=t+1|0}break}default:{}}while(0);x=x+1|0}h=a[y>>0]|0;s=h<<24>>24<0;h=s?c[G>>2]|0:h&255;if(h>>>0>1){J=s?c[q>>2]|0:q;t=J+h|0;s=c[f>>2]|0;h=J;while(1){h=h+1|0;if((h|0)==(t|0))break;a[s>>0]=a[h>>0]|0;s=s+1|0}c[f>>2]=s}switch((g&176)<<24>>24){case 32:{c[e>>2]=c[f>>2];break}case 16:break;default:c[e>>2]=d}return}function NYa(a){a=a|0;JTa(a);return}function OYa(a){a=a|0;JTa(a);l0a(a);return}function PYa(b,d,e,f,g,i){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;i=+i;var j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0;F=l;l=l+992|0;r=F+912|0;k=F+904|0;b=F+800|0;m=F+984|0;j=F+400|0;E=F+980|0;s=F+988|0;t=F+976|0;u=F+972|0;B=F+960|0;C=F+948|0;D=F+936|0;p=F+932|0;q=F;v=F+928|0;w=F+920|0;x=F+924|0;c[m>>2]=b;h[r>>3]=i;b=VPa(b,100,215257,r)|0;if(b>>>0>99){b=fUa()|0;h[k>>3]=i;b=BVa(m,b,215257,k)|0;j=c[m>>2]|0;if(!j)i0a();k=GNa(b<<2)|0;if(!k)i0a();else{y=k;A=b;H=k;I=j}}else{y=j;A=b;H=0;I=0}BSa(E,f);o=cUa(E,230612)|0;n=c[m>>2]|0;mk[c[(c[o>>2]|0)+48>>2]&63](o,n,n+A|0,y)|0;if(!A)n=0;else n=(a[c[m>>2]>>0]|0)==45;c[B>>2]=0;c[B+4>>2]=0;c[B+8>>2]=0;b=0;while(1){if((b|0)==3)break;c[B+(b<<2)>>2]=0;b=b+1|0}c[C>>2]=0;c[C+4>>2]=0;c[C+8>>2]=0;b=0;while(1){if((b|0)==3)break;c[C+(b<<2)>>2]=0;b=b+1|0}c[D>>2]=0;c[D+4>>2]=0;c[D+8>>2]=0;b=0;while(1){if((b|0)==3)break;c[D+(b<<2)>>2]=0;b=b+1|0}RYa(e,n,E,s,t,u,B,C,D,p);m=c[p>>2]|0;if((A|0)>(m|0)){k=a[D+8+3>>0]|0;b=a[C+8+3>>0]|0;b=b<<24>>24<0?c[C+4>>2]|0:b&255;j=m+1+(A-m<<1)|0;k=k<<24>>24<0?c[D+4>>2]|0:k&255}else{k=a[D+8+3>>0]|0;b=a[C+8+3>>0]|0;b=b<<24>>24<0?c[C+4>>2]|0:b&255;j=m+2|0;k=k<<24>>24<0?c[D+4>>2]|0:k&255}b=j+k+b|0;if(b>>>0>100){b=GNa(b<<2)|0;if(!b)i0a();else{z=b;G=b}}else{z=q;G=0}SYa(z,v,w,c[f+4>>2]|0,y,y+(A<<2)|0,o,n,s,c[t>>2]|0,c[u>>2]|0,B,C,D,m);c[x>>2]=c[d>>2];d=c[v>>2]|0;b=c[w>>2]|0;c[r>>2]=c[x>>2];b=PVa(r,z,d,b,f,g)|0;if(G|0)HNa(G);Y0a(D);Y0a(C);y0a(B);dUa(E);if(H|0)HNa(H);if(I|0)HNa(I);l=F;return b|0}function QYa(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;D=l;l=l+480|0;q=D+464|0;C=D+460|0;v=D+468|0;w=D+456|0;x=D+452|0;z=D+440|0;A=D+428|0;B=D+416|0;m=D+412|0;o=D;r=D+408|0;s=D+404|0;t=D+400|0;BSa(C,f);u=cUa(C,230612)|0;i=h+8+3|0;p=a[i>>0]|0;b=p<<24>>24<0;j=h+4|0;if(!((b?c[j>>2]|0:p&255)|0))p=0;else{p=c[(b?c[h>>2]|0:h)>>2]|0;p=(p|0)==(kk[c[(c[u>>2]|0)+44>>2]&511](u,45)|0)};c[z>>2]=0;c[z+4>>2]=0;c[z+8>>2]=0;b=0;while(1){if((b|0)==3)break;c[z+(b<<2)>>2]=0;b=b+1|0}c[A>>2]=0;c[A+4>>2]=0;c[A+8>>2]=0;b=0;while(1){if((b|0)==3)break;c[A+(b<<2)>>2]=0;b=b+1|0}c[B>>2]=0;c[B+4>>2]=0;c[B+8>>2]=0;b=0;while(1){if((b|0)==3)break;c[B+(b<<2)>>2]=0;b=b+1|0}RYa(e,p,C,v,w,x,z,A,B,m);k=a[i>>0]|0;n=k<<24>>24<0;k=n?c[j>>2]|0:k&255;j=c[m>>2]|0;if((k|0)>(j|0)){e=a[B+8+3>>0]|0;b=a[A+8+3>>0]|0;b=b<<24>>24<0?c[A+4>>2]|0:b&255;i=j+1+(k-j<<1)|0;e=e<<24>>24<0?c[B+4>>2]|0:e&255}else{e=a[B+8+3>>0]|0;b=a[A+8+3>>0]|0;b=b<<24>>24<0?c[A+4>>2]|0:b&255;i=j+2|0;e=e<<24>>24<0?c[B+4>>2]|0:e&255}b=i+e+b|0;if(b>>>0>100){b=GNa(b<<2)|0;if(!b)i0a();else{y=b;E=b}}else{y=o;E=0}h=n?c[h>>2]|0:h;SYa(y,r,s,c[f+4>>2]|0,h,h+(k<<2)|0,u,p,v,c[w>>2]|0,c[x>>2]|0,z,A,B,j);c[t>>2]=c[d>>2];h=c[r>>2]|0;b=c[s>>2]|0;c[q>>2]=c[t>>2];b=PVa(q,y,h,b,f,g)|0;if(E|0)HNa(E);Y0a(B);Y0a(A);y0a(z);dUa(C);l=D;return b|0}function RYa(b,d,e,f,g,h,i,j,k,m){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;m=m|0;var n=0,o=0,p=0;p=l;l=l+16|0;n=p+12|0;o=p;if(b){e=cUa(e,230828)|0;if(d){Jk[c[(c[e>>2]|0)+44>>2]&1023](n,e);b=c[n>>2]|0;a[f>>0]=b;a[f+1>>0]=b>>8;a[f+2>>0]=b>>16;a[f+3>>0]=b>>24;Jk[c[(c[e>>2]|0)+32>>2]&1023](o,e);b=k+8+3|0;if((a[b>>0]|0)<0){f=c[k>>2]|0;c[n>>2]=0;QTa(f,n);c[k+4>>2]=0}else{c[n>>2]=0;QTa(k,n);a[b>>0]=0}a1a(k,0);c[k>>2]=c[o>>2];c[k+4>>2]=c[o+4>>2];c[k+8>>2]=c[o+8>>2];b=0;while(1){if((b|0)==3)break;c[o+(b<<2)>>2]=0;b=b+1|0}Y0a(o)}else{Jk[c[(c[e>>2]|0)+40>>2]&1023](n,e);b=c[n>>2]|0;a[f>>0]=b;a[f+1>>0]=b>>8;a[f+2>>0]=b>>16;a[f+3>>0]=b>>24;Jk[c[(c[e>>2]|0)+28>>2]&1023](o,e);b=k+8+3|0;if((a[b>>0]|0)<0){f=c[k>>2]|0;c[n>>2]=0;QTa(f,n);c[k+4>>2]=0}else{c[n>>2]=0;QTa(k,n);a[b>>0]=0}a1a(k,0);c[k>>2]=c[o>>2];c[k+4>>2]=c[o+4>>2];c[k+8>>2]=c[o+8>>2];b=0;while(1){if((b|0)==3)break;c[o+(b<<2)>>2]=0;b=b+1|0}Y0a(o)}c[g>>2]=gk[c[(c[e>>2]|0)+12>>2]&1023](e)|0;c[h>>2]=gk[c[(c[e>>2]|0)+16>>2]&1023](e)|0;Jk[c[(c[e>>2]|0)+20>>2]&1023](o,e);b=i+11|0;if((a[b>>0]|0)<0){b=c[i>>2]|0;a[n>>0]=0;ITa(b,n);c[i+4>>2]=0;b=i}else{a[n>>0]=0;ITa(i,n);a[b>>0]=0;b=i}D0a(i,0);c[b>>2]=c[o>>2];c[b+4>>2]=c[o+4>>2];c[b+8>>2]=c[o+8>>2];b=0;while(1){if((b|0)==3)break;c[o+(b<<2)>>2]=0;b=b+1|0}y0a(o);Jk[c[(c[e>>2]|0)+24>>2]&1023](o,e);b=j+8+3|0;if((a[b>>0]|0)<0){i=c[j>>2]|0;c[n>>2]=0;QTa(i,n);c[j+4>>2]=0}else{c[n>>2]=0;QTa(j,n);a[b>>0]=0}a1a(j,0);c[j>>2]=c[o>>2];c[j+4>>2]=c[o+4>>2];c[j+8>>2]=c[o+8>>2];b=0;while(1){if((b|0)==3)break;c[o+(b<<2)>>2]=0;b=b+1|0}Y0a(o);b=gk[c[(c[e>>2]|0)+36>>2]&1023](e)|0}else{e=cUa(e,230820)|0;if(d){Jk[c[(c[e>>2]|0)+44>>2]&1023](n,e);b=c[n>>2]|0;a[f>>0]=b;a[f+1>>0]=b>>8;a[f+2>>0]=b>>16;a[f+3>>0]=b>>24;Jk[c[(c[e>>2]|0)+32>>2]&1023](o,e);b=k+8+3|0;if((a[b>>0]|0)<0){f=c[k>>2]|0;c[n>>2]=0;QTa(f,n);c[k+4>>2]=0}else{c[n>>2]=0;QTa(k,n);a[b>>0]=0}a1a(k,0);c[k>>2]=c[o>>2];c[k+4>>2]=c[o+4>>2];c[k+8>>2]=c[o+8>>2];b=0;while(1){if((b|0)==3)break;c[o+(b<<2)>>2]=0;b=b+1|0}Y0a(o)}else{Jk[c[(c[e>>2]|0)+40>>2]&1023](n,e);b=c[n>>2]|0;a[f>>0]=b;a[f+1>>0]=b>>8;a[f+2>>0]=b>>16;a[f+3>>0]=b>>24;Jk[c[(c[e>>2]|0)+28>>2]&1023](o,e);b=k+8+3|0;if((a[b>>0]|0)<0){f=c[k>>2]|0;c[n>>2]=0;QTa(f,n);c[k+4>>2]=0}else{c[n>>2]=0;QTa(k,n);a[b>>0]=0}a1a(k,0);c[k>>2]=c[o>>2];c[k+4>>2]=c[o+4>>2];c[k+8>>2]=c[o+8>>2];b=0;while(1){if((b|0)==3)break;c[o+(b<<2)>>2]=0;b=b+1|0}Y0a(o)}c[g>>2]=gk[c[(c[e>>2]|0)+12>>2]&1023](e)|0;c[h>>2]=gk[c[(c[e>>2]|0)+16>>2]&1023](e)|0;Jk[c[(c[e>>2]|0)+20>>2]&1023](o,e);b=i+11|0;if((a[b>>0]|0)<0){b=c[i>>2]|0;a[n>>0]=0;ITa(b,n);c[i+4>>2]=0;b=i}else{a[n>>0]=0;ITa(i,n);a[b>>0]=0;b=i}D0a(i,0);c[b>>2]=c[o>>2];c[b+4>>2]=c[o+4>>2];c[b+8>>2]=c[o+8>>2];b=0;while(1){if((b|0)==3)break;c[o+(b<<2)>>2]=0;b=b+1|0}y0a(o);Jk[c[(c[e>>2]|0)+24>>2]&1023](o,e);b=j+8+3|0;if((a[b>>0]|0)<0){i=c[j>>2]|0;c[n>>2]=0;QTa(i,n);c[j+4>>2]=0}else{c[n>>2]=0;QTa(j,n);a[b>>0]=0}a1a(j,0);c[j>>2]=c[o>>2];c[j+4>>2]=c[o+4>>2];c[j+8>>2]=c[o+8>>2];b=0;while(1){if((b|0)==3)break;c[o+(b<<2)>>2]=0;b=b+1|0}Y0a(o);b=gk[c[(c[e>>2]|0)+36>>2]&1023](e)|0}c[m>>2]=b;l=p;return}function SYa(b,d,e,f,g,h,i,j,k,l,m,n,o,p,q){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;var r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0;c[e>>2]=b;z=p+8+3|0;G=p+4|0;A=o+8+3|0;B=o+4|0;C=(f&512|0)==0;D=(q|0)>0;E=n+11|0;F=n+4|0;y=0;while(1){if((y|0)==4)break;a:do switch(a[k+y>>0]|0){case 0:{c[d>>2]=c[e>>2];break}case 1:{c[d>>2]=c[e>>2];w=kk[c[(c[i>>2]|0)+44>>2]&511](i,32)|0;x=c[e>>2]|0;c[e>>2]=x+4;c[x>>2]=w;break}case 3:{x=a[z>>0]|0;r=x<<24>>24<0;if((r?c[G>>2]|0:x&255)|0){w=c[(r?c[p>>2]|0:p)>>2]|0;x=c[e>>2]|0;c[e>>2]=x+4;c[x>>2]=w}break}case 2:{v=a[A>>0]|0;r=v<<24>>24<0;v=r?c[B>>2]|0:v&255;if(!(C|(v|0)==0)){u=r?c[o>>2]|0:o;s=u+(v<<2)|0;t=c[e>>2]|0;r=t;while(1){if((u|0)==(s|0))break;c[r>>2]=c[u>>2];r=r+4|0;u=u+4|0}c[e>>2]=t+(v<<2)}break}case 4:{s=c[e>>2]|0;g=j?g+4|0:g;r=g;while(1){if(r>>>0>=h>>>0)break;if(!(lk[c[(c[i>>2]|0)+12>>2]&127](i,2048,c[r>>2]|0)|0))break;r=r+4|0}if(D){u=q;while(1){t=(u|0)>0;if(!(r>>>0>g>>>0&t))break;x=r+-4|0;v=c[x>>2]|0;w=c[e>>2]|0;c[e>>2]=w+4;c[w>>2]=v;u=u+-1|0;r=x}if(t)w=kk[c[(c[i>>2]|0)+44>>2]&511](i,48)|0;else w=0;v=c[e>>2]|0;while(1){t=v+4|0;if((u|0)<=0)break;c[v>>2]=w;u=u+-1|0;v=t}c[e>>2]=t;c[v>>2]=l;t=r}else t=r;if((t|0)==(g|0)){w=kk[c[(c[i>>2]|0)+44>>2]&511](i,48)|0;x=c[e>>2]|0;r=x+4|0;c[e>>2]=r;c[x>>2]=w}else{x=a[E>>0]|0;r=x<<24>>24<0;if(!((r?c[F>>2]|0:x&255)|0))r=-1;else r=a[(r?c[n>>2]|0:n)>>0]|0;u=0;v=0;x=t;while(1){if((x|0)==(g|0))break;t=c[e>>2]|0;if((v|0)==(r|0)){w=t+4|0;c[e>>2]=w;c[t>>2]=m;t=u+1|0;u=a[E>>0]|0;r=u<<24>>24<0;if(t>>>0<(r?c[F>>2]|0:u&255)>>>0){r=a[(r?c[n>>2]|0:n)+t>>0]|0;r=r<<24>>24==127?-1:r<<24>>24;u=t;v=0;t=w}else{r=v;u=t;v=0;t=w}}w=x+-4|0;H=c[w>>2]|0;c[e>>2]=t+4;c[t>>2]=H;v=v+1|0;x=w}r=c[e>>2]|0}if((s|0)!=(r|0))while(1){r=r+-4|0;if(s>>>0>=r>>>0)break a;H=c[s>>2]|0;c[s>>2]=c[r>>2];c[r>>2]=H;s=s+4|0}break}default:{}}while(0);y=y+1|0}r=a[z>>0]|0;g=r<<24>>24<0;r=g?c[G>>2]|0:r&255;if(r>>>0>1){s=c[p>>2]|0;u=g?s+4|0:G;r=(g?s:p)+(r<<2)|0;s=c[e>>2]|0;t=r-u|0;g=s;while(1){if((u|0)==(r|0))break;c[g>>2]=c[u>>2];g=g+4|0;u=u+4|0}c[e>>2]=s+(t>>>2<<2)}switch((f&176)<<24>>24){case 32:{c[d>>2]=c[e>>2];break}case 16:break;default:c[d>>2]=b}return}function TYa(a){a=a|0;JTa(a);return}function UYa(a){a=a|0;JTa(a);l0a(a);return}function VYa(b,d,e){b=b|0;d=d|0;e=e|0;e=bQa((a[d+11>>0]|0)<0?c[d>>2]|0:d,1)|0;return e>>>((e|0)!=(-1|0)&1)|0}function WYa(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,m=0;j=l;l=l+16|0;i=j;c[i>>2]=0;c[i+4>>2]=0;c[i+8>>2]=0;d=0;while(1){if((d|0)==3)break;c[i+(d<<2)>>2]=0;d=d+1|0}k=a[h+11>>0]|0;m=k<<24>>24<0;d=m?c[h>>2]|0:h;h=d+(m?c[h+4>>2]|0:k&255)|0;while(1){if(d>>>0>=h>>>0)break;K0a(i,a[d>>0]|0);d=d+1|0}d=(a[i+11>>0]|0)<0?c[i>>2]|0:i;e=aQa((e|0)==-1?-1:e<<1,f,g,d)|0;c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;h=0;while(1){if((h|0)==3)break;c[b+(h<<2)>>2]=0;h=h+1|0}h=d+(VNa(e)|0)|0;while(1){if(d>>>0>=h>>>0)break;K0a(b,a[d>>0]|0);d=d+1|0}y0a(i);l=j;return}function XYa(a,b){a=a|0;b=b|0;return}function YYa(a){a=a|0;JTa(a);return}function ZYa(a){a=a|0;JTa(a);l0a(a);return}function _Ya(b,d,e){b=b|0;d=d|0;e=e|0;e=bQa((a[d+11>>0]|0)<0?c[d>>2]|0:d,1)|0;return e>>>((e|0)!=(-1|0)&1)|0}function $Ya(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;u=l;l=l+176|0;q=u+168|0;r=u;s=u+164|0;t=u+160|0;o=u+128|0;m=u+152|0;p=u+144|0;c[o>>2]=0;c[o+4>>2]=0;c[o+8>>2]=0;d=0;while(1){if((d|0)==3)break;c[o+(d<<2)>>2]=0;d=d+1|0}c[m+4>>2]=0;c[m>>2]=110188;j=a[h+8+3>>0]|0;k=j<<24>>24<0;d=k?c[h>>2]|0:h;j=d+((k?c[h+4>>2]|0:j&255)<<2)|0;k=r+32|0;h=d;d=0;while(1){if(!((d|0)!=2&h>>>0<j>>>0))break;c[t>>2]=h;i=tk[c[(c[m>>2]|0)+12>>2]&31](m,q,h,j,t,r,k,s)|0;if((i|0)==2?1:(c[t>>2]|0)==(h|0)){n=8;break}d=r;while(1){if(d>>>0>=(c[s>>2]|0)>>>0)break;K0a(o,a[d>>0]|0);d=d+1|0}h=c[t>>2]|0;d=i}if((n|0)==8)uXa(0);JTa(m);i=(a[o+11>>0]|0)<0?c[o>>2]|0:o;h=aQa((e|0)==-1?-1:e<<1,f,g,i)|0;c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;d=0;while(1){if((d|0)==3)break;c[b+(d<<2)>>2]=0;d=d+1|0}c[p+4>>2]=0;c[p>>2]=110236;j=i+(VNa(h)|0)|0;k=j;m=r+128|0;h=i;d=0;while(1){if(!((d|0)!=2&h>>>0<j>>>0)){n=23;break}c[t>>2]=h;i=tk[c[(c[p>>2]|0)+16>>2]&31](p,q,h,(k-h|0)>32?h+32|0:j,t,r,m,s)|0;if((i|0)==2?1:(c[t>>2]|0)==(h|0)){n=19;break}d=r;while(1){if(d>>>0>=(c[s>>2]|0)>>>0)break;e1a(b,c[d>>2]|0);d=d+4|0}h=c[t>>2]|0;d=i}if((n|0)==19)uXa(0);else if((n|0)==23){JTa(p);y0a(o);l=u;return}}function aZa(a,b){a=a|0;b=b|0;return}function bZa(a){a=a|0;JTa(a);l0a(a);return}function cZa(a,b,d,e,f,g,h,i){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0;b=l;l=l+16|0;j=b+4|0;a=b;c[j>>2]=d;c[a>>2]=g;h=lZa(d,e,j,g,h,a,1114111,0)|0;c[f>>2]=c[j>>2];c[i>>2]=c[a>>2];l=b;return h|0}function dZa(a,b,d,e,f,g,h,i){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0;b=l;l=l+16|0;j=b+4|0;a=b;c[j>>2]=d;c[a>>2]=g;h=kZa(d,e,j,g,h,a,1114111,0)|0;c[f>>2]=c[j>>2];c[i>>2]=c[a>>2];l=b;return h|0}function eZa(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;c[f>>2]=d;return 3}function fZa(a){a=a|0;return 0}function gZa(a){a=a|0;return 0}function hZa(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return jZa(c,d,e,1114111,0)|0}function iZa(a){a=a|0;return 4}function jZa(b,c,e,f,g){b=b|0;c=c|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;o=c;if((((g&4|0)!=0?(o-b|0)>2:0)?(a[b>>0]|0)==-17:0)?(a[b+1>>0]|0)==-69:0)g=(a[b+2>>0]|0)==-65?b+3|0:b;else g=b;n=0;a:while(1){if(!(n>>>0<e>>>0&g>>>0<c>>>0))break;k=a[g>>0]|0;m=k&255;do if(k<<24>>24<=-1){if((k&255)<194)break a;if((k&255)<224){if((o-g|0)<2)break a;h=d[g+1>>0]|0;if((h&192|0)!=128)break a;if((h&63|m<<6&1984)>>>0>f>>>0)break a;g=g+2|0;break}if((k&255)<240){if((o-g|0)<3)break a;i=a[g+1>>0]|0;h=a[g+2>>0]|0;switch(k<<24>>24){case -32:{if((i&-32)<<24>>24!=-96)break a;break}case -19:{if((i&-32)<<24>>24!=-128)break a;break}default:if((i&-64)<<24>>24!=-128)break a}h=h&255;if((h&192|0)!=128)break a;if(((i&63)<<6|m<<12&61440|h&63)>>>0>f>>>0)break a;else{g=g+3|0;break}}if((k&255)>=245)break a;if((o-g|0)<4)break a;l=a[g+1>>0]|0;h=a[g+2>>0]|0;j=a[g+3>>0]|0;switch(k<<24>>24){case -16:{if((l+112&255)>=48)break a;break}case -12:{if((l&-16)<<24>>24!=-128)break a;break}default:if((l&-64)<<24>>24!=-128)break a}i=h&255;if((i&192|0)!=128)break a;h=j&255;if((h&192|0)!=128)break a;if(((l&63)<<12|m<<18&1835008|i<<6&4032|h&63)>>>0>f>>>0)break a;else g=g+4|0}else{if(m>>>0>f>>>0)break a;g=g+1|0}while(0);n=n+1|0}return g-b|0}function kZa(b,e,f,g,h,i,j,k){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0;c[f>>2]=b;c[i>>2]=g;if(k&4){b=c[f>>2]|0;g=e;if((((g-b|0)>2?(a[b>>0]|0)==-17:0)?(a[b+1>>0]|0)==-69:0)?(a[b+2>>0]|0)==-65:0)c[f>>2]=b+3}else g=e;a:while(1){p=c[f>>2]|0;if(p>>>0>=e>>>0){b=0;break}q=c[i>>2]|0;if(q>>>0>=h>>>0){b=1;break}n=a[p>>0]|0;b=n&255;do if(n<<24>>24>-1)if(b>>>0>j>>>0){b=2;break a}else k=1;else{if((n&255)<194){b=2;break a}if((n&255)<224){if((g-p|0)<2){b=1;break a}k=d[p+1>>0]|0;if((k&192|0)!=128){b=2;break a}b=k&63|b<<6&1984;if(b>>>0>j>>>0){b=2;break a}else{k=2;break}}if((n&255)<240){if((g-p|0)<3){b=1;break a}l=a[p+1>>0]|0;k=a[p+2>>0]|0;switch(n<<24>>24){case -32:{if((l&-32)<<24>>24!=-96){b=2;break a}break}case -19:{if((l&-32)<<24>>24!=-128){b=2;break a}break}default:if((l&-64)<<24>>24!=-128){b=2;break a}}k=k&255;if((k&192|0)!=128){b=2;break a}b=(l&63)<<6|b<<12&61440|k&63;if(b>>>0>j>>>0){b=2;break a}else{k=3;break}}if((n&255)>=245){b=2;break a}if((g-p|0)<4){b=1;break a}o=a[p+1>>0]|0;k=a[p+2>>0]|0;m=a[p+3>>0]|0;switch(n<<24>>24){case -16:{if((o+112&255)>=48){b=2;break a}break}case -12:{if((o&-16)<<24>>24!=-128){b=2;break a}break}default:if((o&-64)<<24>>24!=-128){b=2;break a}}l=k&255;if((l&192|0)!=128){b=2;break a}k=m&255;if((k&192|0)!=128){b=2;break a}b=(o&63)<<12|b<<18&1835008|l<<6&4032|k&63;if(b>>>0>j>>>0){b=2;break a}else k=4}while(0);c[q>>2]=b;c[f>>2]=p+k;c[i>>2]=(c[i>>2]|0)+4}return b|0}function lZa(b,d,e,f,g,h,i,j){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0;c[e>>2]=b;c[h>>2]=f;l=g;if(j&2)if((l-f|0)<3)b=1;else{c[h>>2]=f+1;a[f>>0]=-17;k=c[h>>2]|0;c[h>>2]=k+1;a[k>>0]=-69;k=c[h>>2]|0;c[h>>2]=k+1;a[k>>0]=-65;k=4}else k=4;a:do if((k|0)==4){b=c[e>>2]|0;while(1){if(b>>>0>=d>>>0){b=0;break a}f=c[b>>2]|0;if(f>>>0>i>>>0|(f&-2048|0)==55296){b=2;break a}do if(f>>>0>=128){if(f>>>0<2048){b=c[h>>2]|0;if((l-b|0)<2){b=1;break a}c[h>>2]=b+1;a[b>>0]=f>>>6|192;k=c[h>>2]|0;c[h>>2]=k+1;a[k>>0]=f&63|128;break}b=c[h>>2]|0;g=l-b|0;if(f>>>0<65536){if((g|0)<3){b=1;break a}c[h>>2]=b+1;a[b>>0]=f>>>12|224;k=c[h>>2]|0;c[h>>2]=k+1;a[k>>0]=f>>>6&63|128;k=c[h>>2]|0;c[h>>2]=k+1;a[k>>0]=f&63|128;break}else{if((g|0)<4){b=1;break a}c[h>>2]=b+1;a[b>>0]=f>>>18|240;k=c[h>>2]|0;c[h>>2]=k+1;a[k>>0]=f>>>12&63|128;k=c[h>>2]|0;c[h>>2]=k+1;a[k>>0]=f>>>6&63|128;k=c[h>>2]|0;c[h>>2]=k+1;a[k>>0]=f&63|128;break}}else{b=c[h>>2]|0;if((l-b|0)<1){b=1;break a}c[h>>2]=b+1;a[b>>0]=f}while(0);b=(c[e>>2]|0)+4|0;c[e>>2]=b}}while(0);return b|0}function mZa(a){a=a|0;JTa(a);l0a(a);return}function nZa(a,b,d,e,f,g,h,i){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;c[f>>2]=d;c[i>>2]=g;return 3}function oZa(a,b,d,e,f,g,h,i){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;c[f>>2]=d;c[i>>2]=g;return 3}function pZa(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;c[f>>2]=d;return 3}function qZa(a){a=a|0;return 1}function rZa(a){a=a|0;return 1}function sZa(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;d=d-c|0;return (d>>>0<e>>>0?d:e)|0}function tZa(a){a=a|0;return 1}function uZa(b,d,e,f,g,h,i,j){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;r=l;l=l+16|0;q=r;o=r+8|0;k=e;while(1){if((k|0)==(f|0)){k=f;break}if(!(c[k>>2]|0))break;k=k+4|0}c[j>>2]=h;c[g>>2]=e;n=i;p=b+8|0;a:while(1){if((h|0)==(i|0)|(e|0)==(f|0)){k=36;break}s=d;m=c[s+4>>2]|0;b=q;c[b>>2]=c[s>>2];c[b+4>>2]=m;b=_Pa(c[p>>2]|0)|0;m=qQa(h,g,k-e>>2,n-h|0,d)|0;if(b|0)_Pa(b)|0;switch(m|0){case -1:{k=10;break a}case 0:{e=1;k=33;break a}default:{}}h=(c[j>>2]|0)+m|0;c[j>>2]=h;if((h|0)==(i|0)){k=34;break}if((k|0)==(f|0)){k=f;e=c[g>>2]|0}else{h=_Pa(c[p>>2]|0)|0;e=kPa(o,0,d)|0;if(h|0)_Pa(h)|0;if((e|0)==-1){e=2;k=32;break}if(e>>>0>(n-(c[j>>2]|0)|0)>>>0){e=1;k=32;break}h=o;while(1){if(!e)break;m=a[h>>0]|0;s=c[j>>2]|0;c[j>>2]=s+1;a[s>>0]=m;h=h+1|0;e=e+-1|0}e=(c[g>>2]|0)+4|0;c[g>>2]=e;k=e;while(1){if((k|0)==(f|0)){k=f;break}if(!(c[k>>2]|0))break;k=k+4|0}h=c[j>>2]|0}}if((k|0)==10){c[j>>2]=h;while(1){if((e|0)==(c[g>>2]|0))break;s=c[e>>2]|0;k=_Pa(c[p>>2]|0)|0;h=kPa(h,s,q)|0;if(k|0)_Pa(k)|0;if((h|0)==-1)break;h=(c[j>>2]|0)+h|0;c[j>>2]=h;e=e+4|0}c[g>>2]=e;e=2;k=33}else if((k|0)==32)k=33;else if((k|0)==34){e=c[g>>2]|0;k=36}if((k|0)!=33)if((k|0)==36)e=(e|0)!=(f|0)&1;l=r;return e|0}function vZa(b,d,e,f,g,h,i,j){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,m=0,n=0,o=0,p=0,q=0,r=0;q=l;l=l+16|0;p=q;k=e;while(1){if((k|0)==(f|0)){k=f;break}if(!(a[k>>0]|0))break;k=k+1|0}c[j>>2]=h;c[g>>2]=e;n=i;o=b+8|0;while(1){if((h|0)==(i|0)|(e|0)==(f|0)){b=33;break}r=d;m=c[r+4>>2]|0;b=p;c[b>>2]=c[r>>2];c[b+4>>2]=m;b=_Pa(c[o>>2]|0)|0;m=tQa(h,g,k-e|0,n-h>>2,d)|0;if(b|0)_Pa(b)|0;if((m|0)==-1){b=10;break}h=(c[j>>2]|0)+(m<<2)|0;c[j>>2]=h;if((h|0)==(i|0)){b=30;break}e=c[g>>2]|0;if((k|0)==(f|0))k=f;else{k=_Pa(c[o>>2]|0)|0;e=jQa(h,e,1,d)|0;if(k|0)_Pa(k)|0;if(e|0){e=2;b=29;break}c[j>>2]=(c[j>>2]|0)+4;e=(c[g>>2]|0)+1|0;c[g>>2]=e;k=e;while(1){if((k|0)==(f|0)){k=f;break}if(!(a[k>>0]|0))break;k=k+1|0}h=c[j>>2]|0}}do if((b|0)==10){a:while(1){c[j>>2]=h;if((e|0)==(c[g>>2]|0)){b=19;break}b=_Pa(c[o>>2]|0)|0;h=jQa(h,e,k-e|0,p)|0;if(b|0)_Pa(b)|0;switch(h|0){case -1:{b=15;break a}case -2:{b=16;break a}case 0:{h=1;break}default:{}}e=e+h|0;h=(c[j>>2]|0)+4|0}if((b|0)==15){c[g>>2]=e;e=2;b=29;break}else if((b|0)==16){c[g>>2]=e;e=1;b=29;break}else if((b|0)==19){c[g>>2]=e;e=(e|0)!=(f|0)&1;b=29;break}}else if((b|0)==30){e=c[g>>2]|0;b=33}while(0);if((b|0)!=29)if((b|0)==33)e=(e|0)!=(f|0)&1;l=q;return e|0}function wZa(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0;i=l;l=l+16|0;h=i;c[g>>2]=e;e=_Pa(c[b+8>>2]|0)|0;b=kPa(h,0,d)|0;if(e|0)_Pa(e)|0;a:do if((b+1|0)>>>0>=2){b=b+-1|0;if(b>>>0>(f-(c[g>>2]|0)|0)>>>0)b=1;else while(1){if(!b){b=0;break a}d=a[h>>0]|0;f=c[g>>2]|0;c[g>>2]=f+1;a[f>>0]=d;h=h+1|0;b=b+-1|0}}else b=2;while(0);l=i;return b|0}function xZa(a){a=a|0;var b=0,d=0;a=a+8|0;b=_Pa(c[a>>2]|0)|0;d=nQa(0,0,4)|0;if(b|0)_Pa(b)|0;if(!d){a=c[a>>2]|0;if(!a)a=1;else{b=_Pa(a)|0;a=OOa()|0;if(b|0)_Pa(b)|0;return (a|0)==1|0}}else a=-1;return a|0}function yZa(a){a=a|0;return 0}function zZa(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0;k=e;j=a+8|0;h=0;i=0;a:while(1){if((d|0)==(e|0)|h>>>0>=f>>>0)break;g=_Pa(c[j>>2]|0)|0;a=pQa(d,k-d|0,b)|0;if(g|0)_Pa(g)|0;switch(a|0){case -2:case -1:break a;case 0:{a=1;break}default:{}}h=h+1|0;i=a+i|0;d=d+a|0}return i|0}function AZa(a){a=a|0;var b=0;a=c[a+8>>2]|0;if(a){b=_Pa(a)|0;a=OOa()|0;if(b)_Pa(b)|0}else a=1;return a|0}function BZa(a){a=a|0;var b=0,d=0;c[a>>2]=110284;b=a+8|0;d=c[b>>2]|0;if((d|0)!=(fUa()|0))dQa(c[b>>2]|0);JTa(a);return}function CZa(a){a=a|0;BZa(a);l0a(a);return}function DZa(a,b,d,e,f,g,h,i){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0;b=l;l=l+16|0;j=b+4|0;a=b;c[j>>2]=d;c[a>>2]=g;h=MZa(d,e,j,g,h,a,1114111,0)|0;c[f>>2]=c[j>>2];c[i>>2]=c[a>>2];l=b;return h|0}function EZa(a,b,d,e,f,g,h,i){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0;b=l;l=l+16|0;j=b+4|0;a=b;c[j>>2]=d;c[a>>2]=g;h=LZa(d,e,j,g,h,a,1114111,0)|0;c[f>>2]=c[j>>2];c[i>>2]=c[a>>2];l=b;return h|0}function FZa(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;c[f>>2]=d;return 3}function GZa(a){a=a|0;return 0}function HZa(a){a=a|0;return 0}function IZa(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return KZa(c,d,e,1114111,0)|0}function JZa(a){a=a|0;return 4}function KZa(b,c,e,f,g){b=b|0;c=c|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;o=c;if((((g&4|0)!=0?(o-b|0)>2:0)?(a[b>>0]|0)==-17:0)?(a[b+1>>0]|0)==-69:0)g=(a[b+2>>0]|0)==-65?b+3|0:b;else g=b;h=0;a:while(1){if(!(h>>>0<e>>>0&g>>>0<c>>>0))break;l=a[g>>0]|0;n=l&255;if(n>>>0>f>>>0)break;do if(l<<24>>24<=-1){if((l&255)<194)break a;if((l&255)<224){if((o-g|0)<2)break a;i=d[g+1>>0]|0;if((i&192|0)!=128)break a;if((i&63|n<<6&1984)>>>0>f>>>0)break a;else{g=g+2|0;break}}if((l&255)<240){if((o-g|0)<3)break a;j=a[g+1>>0]|0;i=a[g+2>>0]|0;switch(l<<24>>24){case -32:{if((j&-32)<<24>>24!=-96)break a;break}case -19:{if((j&-32)<<24>>24!=-128)break a;break}default:if((j&-64)<<24>>24!=-128)break a}i=i&255;if((i&192|0)!=128)break a;if(((j&63)<<6|n<<12&61440|i&63)>>>0>f>>>0)break a;else{g=g+3|0;break}}if((l&255)>=245)break a;if((e-h|0)>>>0<2|(o-g|0)<4)break a;m=a[g+1>>0]|0;i=a[g+2>>0]|0;k=a[g+3>>0]|0;switch(l<<24>>24){case -16:{if((m+112&255)>=48)break a;break}case -12:{if((m&-16)<<24>>24!=-128)break a;break}default:if((m&-64)<<24>>24!=-128)break a}j=i&255;if((j&192|0)!=128)break a;i=k&255;if((i&192|0)!=128)break a;if(((m&63)<<12|n<<18&1835008|j<<6&4032|i&63)>>>0>f>>>0)break a;else{h=h+1|0;g=g+4|0}}else g=g+1|0;while(0);h=h+1|0}return g-b|0}function LZa(e,f,g,h,i,j,k,l){e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;var m=0,n=0,o=0,p=0,q=0,r=0,s=0;c[g>>2]=e;c[j>>2]=h;if(l&4){e=c[g>>2]|0;h=f;if((((h-e|0)>2?(a[e>>0]|0)==-17:0)?(a[e+1>>0]|0)==-69:0)?(a[e+2>>0]|0)==-65:0)c[g>>2]=e+3}else h=f;s=i;a:while(1){n=c[g>>2]|0;if(n>>>0>=f>>>0){e=0;break}r=c[j>>2]|0;if(r>>>0>=i>>>0){e=1;break}m=a[n>>0]|0;q=m&255;if(q>>>0>k>>>0){e=2;break}do if(m<<24>>24>-1){b[r>>1]=m&255;e=n+1|0}else{if((m&255)<194){e=2;break a}if((m&255)<224){if((h-n|0)<2){e=1;break a}e=d[n+1>>0]|0;if((e&192|0)!=128){e=2;break a}e=e&63|q<<6&1984;if(e>>>0>k>>>0){e=2;break a}b[r>>1]=e;e=n+2|0;break}if((m&255)<240){if((h-n|0)<3){e=1;break a}l=a[n+1>>0]|0;e=a[n+2>>0]|0;switch(m<<24>>24){case -32:{if((l&-32)<<24>>24!=-96){e=2;break a}break}case -19:{if((l&-32)<<24>>24!=-128){e=2;break a}break}default:if((l&-64)<<24>>24!=-128){e=2;break a}}e=e&255;if((e&192|0)!=128){e=2;break a}e=(l&63)<<6|q<<12|e&63;if((e&65535)>>>0>k>>>0){e=2;break a}b[r>>1]=e;e=n+3|0;break}if((m&255)>=245){e=2;break a}if((h-n|0)<4){e=1;break a}o=a[n+1>>0]|0;e=a[n+2>>0]|0;l=a[n+3>>0]|0;switch(m<<24>>24){case -16:{if((o+112&255)>=48){e=2;break a}break}case -12:{if((o&-16)<<24>>24!=-128){e=2;break a}break}default:if((o&-64)<<24>>24!=-128){e=2;break a}}p=e&255;if((p&192|0)!=128){e=2;break a}e=l&255;if((e&192|0)!=128){e=2;break a}if((s-r|0)<4){e=1;break a}n=q&7;l=o&255;m=p<<6;e=e&63;if((l<<12&258048|n<<18|m&4032|e)>>>0>k>>>0){e=2;break a}b[r>>1]=l<<2&60|p>>>4&3|((l>>>4&3|n<<2)<<6)+16320|55296;r=r+2|0;c[j>>2]=r;b[r>>1]=e|m&960|56320;e=(c[g>>2]|0)+4|0}while(0);c[g>>2]=e;c[j>>2]=(c[j>>2]|0)+2}return e|0}function MZa(d,f,g,h,i,j,k,l){d=d|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;var m=0,n=0;c[g>>2]=d;c[j>>2]=h;if(l&2)if((i-h|0)<3)d=1;else{c[j>>2]=h+1;a[h>>0]=-17;m=c[j>>2]|0;c[j>>2]=m+1;a[m>>0]=-69;m=c[j>>2]|0;c[j>>2]=m+1;a[m>>0]=-65;m=4}else m=4;a:do if((m|0)==4){n=f;d=c[g>>2]|0;while(1){if(d>>>0>=f>>>0){d=0;break a}h=b[d>>1]|0;m=h&65535;if(m>>>0>k>>>0){d=2;break a}do if((h&65535)<128){d=c[j>>2]|0;if((i-d|0)<1){d=1;break a}c[j>>2]=d+1;a[d>>0]=h}else{if((h&65535)<2048){d=c[j>>2]|0;if((i-d|0)<2){d=1;break a}c[j>>2]=d+1;a[d>>0]=m>>>6|192;l=c[j>>2]|0;c[j>>2]=l+1;a[l>>0]=m&63|128;break}if((h&65535)<55296){d=c[j>>2]|0;if((i-d|0)<3){d=1;break a}c[j>>2]=d+1;a[d>>0]=m>>>12|224;l=c[j>>2]|0;c[j>>2]=l+1;a[l>>0]=m>>>6&63|128;l=c[j>>2]|0;c[j>>2]=l+1;a[l>>0]=m&63|128;break}if((h&65535)>=56320){if((h&65535)<57344){d=2;break a}d=c[j>>2]|0;if((i-d|0)<3){d=1;break a}c[j>>2]=d+1;a[d>>0]=m>>>12|224;l=c[j>>2]|0;c[j>>2]=l+1;a[l>>0]=m>>>6&63|128;l=c[j>>2]|0;c[j>>2]=l+1;a[l>>0]=m&63|128;break}if((n-d|0)<4){d=1;break a}d=d+2|0;h=e[d>>1]|0;if((h&64512|0)!=56320){d=2;break a}if((i-(c[j>>2]|0)|0)<4){d=1;break a}l=m&960;if(((l<<10)+65536|m<<10&64512|h&1023)>>>0>k>>>0){d=2;break a}c[g>>2]=d;d=(l>>>6)+1|0;l=c[j>>2]|0;c[j>>2]=l+1;a[l>>0]=d>>>2|240;l=c[j>>2]|0;c[j>>2]=l+1;a[l>>0]=m>>>2&15|d<<4&48|128;l=c[j>>2]|0;c[j>>2]=l+1;a[l>>0]=m<<4&48|h>>>6&15|128;m=c[j>>2]|0;c[j>>2]=m+1;a[m>>0]=h&63|128}while(0);d=(c[g>>2]|0)+2|0;c[g>>2]=d}}while(0);return d|0}function NZa(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;c[a>>2]=110332;e=a+8|0;f=a+12|0;d=0;while(1){b=c[e>>2]|0;if(d>>>0>=(c[f>>2]|0)-b>>2>>>0)break;b=c[b+(d<<2)>>2]|0;if(b|0?(h=b+4|0,g=c[h>>2]|0,c[h>>2]=g+-1,(g|0)==0):0)Bk[c[(c[b>>2]|0)+8>>2]&2047](b);d=d+1|0}y0a(a+144|0);PZa(e);JTa(a);return}function OZa(a){a=a|0;NZa(a);l0a(a);return}function PZa(b){b=b|0;var d=0;d=c[b>>2]|0;do if(d|0){c[b+4>>2]=d;if((d|0)==(b+16|0)){a[b+128>>0]=0;break}else{l0a(d);break}}while(0);return}function QZa(b){b=b|0;var d=0;c[b>>2]=110352;d=c[b+8>>2]|0;if(d|0?a[b+12>>0]|0:0)m0a(d);JTa(b);return}function RZa(a){a=a|0;QZa(a);l0a(a);return}function SZa(a,b){a=a|0;b=b|0;if(b<<24>>24>-1)b=c[($Za()|0)+((b&255)<<2)>>2]&255;return b|0}function TZa(b,d,e){b=b|0;d=d|0;e=e|0;while(1){if((d|0)==(e|0))break;b=a[d>>0]|0;if(b<<24>>24>-1){b=$Za()|0;b=c[b+(a[d>>0]<<2)>>2]&255}a[d>>0]=b;d=d+1|0}return e|0}function UZa(a,b){a=a|0;b=b|0;if(b<<24>>24>-1)b=c[(_Za()|0)+(b<<24>>24<<2)>>2]&255;return b|0}function VZa(b,d,e){b=b|0;d=d|0;e=e|0;while(1){if((d|0)==(e|0))break;b=a[d>>0]|0;if(b<<24>>24>-1){b=_Za()|0;b=c[b+(a[d>>0]<<2)>>2]&255}a[d>>0]=b;d=d+1|0}return e|0}function WZa(a,b){a=a|0;b=b|0;return b|0}function XZa(b,c,d,e){b=b|0;c=c|0;d=d|0;e=e|0;while(1){if((c|0)==(d|0))break;a[e>>0]=a[c>>0]|0;e=e+1|0;c=c+1|0}return d|0}function YZa(a,b,c){a=a|0;b=b|0;c=c|0;return (b<<24>>24>-1?b:c)|0}function ZZa(b,c,d,e,f){b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;while(1){if((c|0)==(d|0))break;b=a[c>>0]|0;a[f>>0]=b<<24>>24>-1?b:e;f=f+1|0;c=c+1|0}return d|0}function _Za(){return c[(QOa()|0)>>2]|0}function $Za(){return c[(MOa()|0)>>2]|0}function a_a(){return c[(ROa()|0)>>2]|0}function b_a(a){a=a|0;c[a>>2]=110404;y0a(a+12|0);JTa(a);return}function c_a(a){a=a|0;b_a(a);l0a(a);return}function d_a(b){b=b|0;return a[b+8>>0]|0}function e_a(b){b=b|0;return a[b+9>>0]|0}function f_a(a,b){a=a|0;b=b|0;t0a(a,b+12|0);return}function g_a(a,b){a=a|0;b=b|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;u0a(a,215834,xSa(215834)|0);return}function h_a(a,b){a=a|0;b=b|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;u0a(a,215828,xSa(215828)|0);return}function i_a(a){a=a|0;c[a>>2]=110444;y0a(a+16|0);JTa(a);return}function j_a(a){a=a|0;i_a(a);l0a(a);return}function k_a(a){a=a|0;return c[a+8>>2]|0}function l_a(a){a=a|0;return c[a+12>>2]|0}function m_a(a,b){a=a|0;b=b|0;t0a(a,b+16|0);return}function n_a(a,b){a=a|0;b=b|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;V0a(a,110500,QWa(110500)|0);return}function o_a(a,b){a=a|0;b=b|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;V0a(a,110476,QWa(110476)|0);return}function p_a(a){a=a|0;JTa(a);l0a(a);return}function q_a(a){a=a|0;JTa(a);l0a(a);return}function r_a(a,c,d){a=a|0;c=c|0;d=d|0;if(d>>>0<128)a=(b[(a_a()|0)+(d<<1)>>1]&c)<<16>>16!=0;else a=0;return a|0}function s_a(a,d,f,g){a=a|0;d=d|0;f=f|0;g=g|0;while(1){if((d|0)==(f|0))break;if((c[d>>2]|0)>>>0<128){a=a_a()|0;a=e[a+(c[d>>2]<<1)>>1]|0}else a=0;b[g>>1]=a;g=g+2|0;d=d+4|0}return f|0}function t_a(a,d,e,f){a=a|0;d=d|0;e=e|0;f=f|0;while(1){if((e|0)==(f|0)){e=f;break}if((c[e>>2]|0)>>>0<128?(a=a_a()|0,(b[a+(c[e>>2]<<1)>>1]&d)<<16>>16):0)break;e=e+4|0}return e|0}function u_a(a,d,e,f){a=a|0;d=d|0;e=e|0;f=f|0;while(1){if((e|0)==(f|0)){e=f;break}if((c[e>>2]|0)>>>0>=128)break;a=a_a()|0;if(!((b[a+(c[e>>2]<<1)>>1]&d)<<16>>16))break;e=e+4|0}return e|0}function v_a(a,b){a=a|0;b=b|0;if(b>>>0<128)b=c[($Za()|0)+(b<<2)>>2]|0;return b|0}function w_a(a,b,d){a=a|0;b=b|0;d=d|0;while(1){if((b|0)==(d|0))break;a=c[b>>2]|0;if(a>>>0<128){a=$Za()|0;a=c[a+(c[b>>2]<<2)>>2]|0}c[b>>2]=a;b=b+4|0}return d|0}function x_a(a,b){a=a|0;b=b|0;if(b>>>0<128)b=c[(_Za()|0)+(b<<2)>>2]|0;return b|0}function y_a(a,b,d){a=a|0;b=b|0;d=d|0;while(1){if((b|0)==(d|0))break;a=c[b>>2]|0;if(a>>>0<128){a=_Za()|0;a=c[a+(c[b>>2]<<2)>>2]|0}c[b>>2]=a;b=b+4|0}return d|0}function z_a(a,b){a=a|0;b=b|0;return b<<24>>24|0}function A_a(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;while(1){if((d|0)==(e|0))break;c[f>>2]=a[d>>0];f=f+4|0;d=d+1|0}return e|0}function B_a(a,b,c){a=a|0;b=b|0;c=c|0;return (b>>>0<128?b&255:c)|0}function C_a(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0;h=(e-d|0)>>>2;b=g;g=d;while(1){if((g|0)==(e|0))break;i=c[g>>2]|0;a[b>>0]=i>>>0<128?i&255:f;b=b+1|0;g=g+4|0}return d+(h<<2)|0}function D_a(a){a=a|0;JTa(a);l0a(a);return}function E_a(a){a=a|0;JTa(a);l0a(a);return}function F_a(a){a=a|0;JTa(a);l0a(a);return}function G_a(a){a=a|0;c[a>>2]=110760;return}function H_a(a){a=a|0;c[a>>2]=110796;return}function I_a(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;c[b+4>>2]=f+-1;c[b>>2]=110352;f=b+8|0;c[f>>2]=d;a[b+12>>0]=e&1;if(!d)c[f>>2]=a_a()|0;return}function J_a(a,b){a=a|0;b=b|0;var d=0;c[a+4>>2]=b+-1;c[a>>2]=110332;b=a+8|0;K_a(b,28);d=a+144|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;u0a(d,213773,xSa(213773)|0);c[a+12>>2]=c[b>>2];L_a();M_a(a,224816);N_a();O_a(a,224824);P_a();Q_a(a,224832);R_a();S_a(a,224848);T_a();U_a(a,224856);V_a();W_a(a,224864);X_a();Y_a(a,224880);Z_a();__a(a,224888);$_a();a$a(a,224896);b$a();c$a(a,224920);d$a();e$a(a,224952);f$a();g$a(a,224960);h$a();i$a(a,224968);j$a();k$a(a,224976);l$a();m$a(a,224984);n$a();o$a(a,224992);p$a();q$a(a,225e3);r$a();s$a(a,225008);t$a();u$a(a,225016);v$a();w$a(a,225024);x$a();y$a(a,225032);z$a();A$a(a,225040);B$a();C$a(a,225048);D$a();E$a(a,225064);F$a();G$a(a,225080);H$a();I$a(a,225096);J$a();K$a(a,225112);L$a();M$a(a,225120);return}function K_a(b,d){b=b|0;d=d|0;c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;a[b+128>>0]=0;if(d|0){Z$a(b,d);Q$a(b,d)}return}function L_a(){c[56205]=0;c[56204]=108188;return}function M_a(a,b){a=a|0;b=b|0;N$a(a,b,hUa(230564)|0);return}function N_a(){c[56207]=0;c[56206]=108220;return}function O_a(a,b){a=a|0;b=b|0;N$a(a,b,hUa(230572)|0);return}function P_a(){I_a(224832,0,0,1);return}function Q_a(a,b){a=a|0;b=b|0;N$a(a,b,hUa(230580)|0);return}function R_a(){c[56213]=0;c[56212]=110548;return}function S_a(a,b){a=a|0;b=b|0;N$a(a,b,hUa(230612)|0);return}function T_a(){c[56215]=0;c[56214]=110616;return}function U_a(a,b){a=a|0;b=b|0;N$a(a,b,hUa(230884)|0);return}function V_a(){Y$a(224864,1);return}function W_a(a,b){a=a|0;b=b|0;N$a(a,b,hUa(230892)|0);return}function X_a(){c[56221]=0;c[56220]=110664;return}function Y_a(a,b){a=a|0;b=b|0;N$a(a,b,hUa(230900)|0);return}function Z_a(){c[56223]=0;c[56222]=110712;return}function __a(a,b){a=a|0;b=b|0;N$a(a,b,hUa(230908)|0);return}function $_a(){X$a(224896,1);return}function a$a(a,b){a=a|0;b=b|0;N$a(a,b,hUa(230596)|0);return}function b$a(){W$a(224920,1);return}function c$a(a,b){a=a|0;b=b|0;N$a(a,b,hUa(230620)|0);return}function d$a(){c[56239]=0;c[56238]=108252;return}function e$a(a,b){a=a|0;b=b|0;N$a(a,b,hUa(230604)|0);return}function f$a(){c[56241]=0;c[56240]=108316;return}function g$a(a,b){a=a|0;b=b|0;N$a(a,b,hUa(230628)|0);return}function h$a(){c[56243]=0;c[56242]=108380;return}function i$a(a,b){a=a|0;b=b|0;N$a(a,b,hUa(230636)|0);return}function j$a(){c[56245]=0;c[56244]=108432;return}function k$a(a,b){a=a|0;b=b|0;N$a(a,b,hUa(230644)|0);return}function l$a(){c[56247]=0;c[56246]=109788;return}function m$a(a,b){a=a|0;b=b|0;N$a(a,b,hUa(230804)|0);return}function n$a(){c[56249]=0;c[56248]=109844;return}function o$a(a,b){a=a|0;b=b|0;N$a(a,b,hUa(230812)|0);return}function p$a(){c[56251]=0;c[56250]=109900;return}function q$a(a,b){a=a|0;b=b|0;N$a(a,b,hUa(230820)|0);return}function r$a(){c[56253]=0;c[56252]=109956;return}function s$a(a,b){a=a|0;b=b|0;N$a(a,b,hUa(230828)|0);return}function t$a(){c[56255]=0;c[56254]=110012;return}function u$a(a,b){a=a|0;b=b|0;N$a(a,b,hUa(230836)|0);return}function v$a(){c[56257]=0;c[56256]=110040;return}function w$a(a,b){a=a|0;b=b|0;N$a(a,b,hUa(230844)|0);return}function x$a(){c[56259]=0;c[56258]=110068;return}function y$a(a,b){a=a|0;b=b|0;N$a(a,b,hUa(230852)|0);return}function z$a(){c[56261]=0;c[56260]=110096;return}function A$a(a,b){a=a|0;b=b|0;N$a(a,b,hUa(230860)|0);return}function B$a(){c[56263]=0;c[56262]=110528;G_a(225056);c[56262]=108484;c[56264]=108532;return}function C$a(a,b){a=a|0;b=b|0;N$a(a,b,hUa(230712)|0);return}function D$a(){c[56267]=0;c[56266]=110528;H_a(225072);c[56266]=108568;c[56268]=108616;return}function E$a(a,b){a=a|0;b=b|0;N$a(a,b,hUa(230780)|0);return}function F$a(){c[56271]=0;c[56270]=110528;c[56272]=fUa()|0;c[56270]=109740;return}function G$a(a,b){a=a|0;b=b|0;N$a(a,b,hUa(230788)|0);return}function H$a(){c[56275]=0;c[56274]=110528;c[56276]=fUa()|0;c[56274]=109764;return}function I$a(a,b){a=a|0;b=b|0;N$a(a,b,hUa(230796)|0);return}function J$a(){c[56279]=0;c[56278]=110124;return}function K$a(a,b){a=a|0;b=b|0;N$a(a,b,hUa(230868)|0);return}function L$a(){c[56281]=0;c[56280]=110156;return}function M$a(a,b){a=a|0;b=b|0;N$a(a,b,hUa(230876)|0);return}function N$a(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;f=b+4|0;c[f>>2]=(c[f>>2]|0)+1;f=a+8|0;e=c[f>>2]|0;if((c[a+12>>2]|0)-e>>2>>>0>d>>>0)a=f;else{O$a(f,d+1|0);a=f;e=c[f>>2]|0}e=c[e+(d<<2)>>2]|0;if(e|0?(g=e+4|0,f=c[g>>2]|0,c[g>>2]=f+-1,(f|0)==0):0)Bk[c[(c[e>>2]|0)+8>>2]&2047](e);c[(c[a>>2]|0)+(d<<2)>>2]=b;return}function O$a(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=a+4|0;f=c[a>>2]|0;e=(c[d>>2]|0)-f>>2;if(e>>>0>=b>>>0){if(e>>>0>b>>>0)c[d>>2]=f+(b<<2)}else P$a(a,b-e|0);return}function P$a(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;i=l;l=l+32|0;f=i;g=a+8|0;h=a+4|0;d=c[h>>2]|0;do if((c[g>>2]|0)-d>>2>>>0<b>>>0){d=(d-(c[a>>2]|0)>>2)+b|0;e=R$a(a)|0;if(e>>>0<d>>>0)g1a(a);else{j=c[a>>2]|0;k=(c[g>>2]|0)-j|0;g=k>>1;S$a(f,k>>2>>>0<e>>>1>>>0?(g>>>0<d>>>0?d:g):e,(c[h>>2]|0)-j>>2,a+16|0);T$a(f,b);U$a(a,f);V$a(f);break}}else Q$a(a,b);while(0);l=i;return}function Q$a(a,b){a=a|0;b=b|0;var d=0;d=a+4|0;a=b;b=c[d>>2]|0;do{c[b>>2]=0;b=(c[d>>2]|0)+4|0;c[d>>2]=b;a=a+-1|0}while((a|0)!=0);return}function R$a(a){a=a|0;return 1073741823}function S$a(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0;h=b+12|0;c[h>>2]=0;c[b+16>>2]=f;do if(d){g=f+112|0;if(d>>>0<29&(a[g>>0]|0)==0){a[g>>0]=1;break}else{f=j0a(d<<2)|0;break}}else f=0;while(0);c[b>>2]=f;e=f+(e<<2)|0;c[b+8>>2]=e;c[b+4>>2]=e;c[h>>2]=f+(d<<2);return}function T$a(a,b){a=a|0;b=b|0;var d=0;d=a+8|0;a=b;b=c[d>>2]|0;do{c[b>>2]=0;b=(c[d>>2]|0)+4|0;c[d>>2]=b;a=a+-1|0}while((a|0)!=0);return}function U$a(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;e=c[a>>2]|0;h=a+4|0;g=b+4|0;f=(c[h>>2]|0)-e|0;d=(c[g>>2]|0)+(0-(f>>2)<<2)|0;c[g>>2]=d;if((f|0)>0){x2a(d|0,e|0,f|0)|0;e=g;d=c[g>>2]|0}else e=g;g=c[a>>2]|0;c[a>>2]=d;c[e>>2]=g;g=b+8|0;f=c[h>>2]|0;c[h>>2]=c[g>>2];c[g>>2]=f;g=a+8|0;h=b+12|0;a=c[g>>2]|0;c[g>>2]=c[h>>2];c[h>>2]=a;c[b>>2]=c[e>>2];return}function V$a(b){b=b|0;var d=0,e=0,f=0,g=0;d=c[b+4>>2]|0;e=b+8|0;f=c[e>>2]|0;while(1){if((f|0)==(d|0))break;g=f+-4|0;c[e>>2]=g;f=g}e=c[b>>2]|0;do if(e|0){d=c[b+16>>2]|0;if((e|0)==(d|0)){a[d+112>>0]=0;break}else{l0a(e);break}}while(0);return}function W$a(a,b){a=a|0;b=b|0;c[a+4>>2]=b+-1;c[a>>2]=110444;c[a+8>>2]=46;c[a+12>>2]=44;b=a+16|0;c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;a=0;while(1){if((a|0)==3)break;c[b+(a<<2)>>2]=0;a=a+1|0}return}function X$a(b,d){b=b|0;d=d|0;c[b+4>>2]=d+-1;c[b>>2]=110404;a[b+8>>0]=46;a[b+9>>0]=44;d=b+12|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;b=0;while(1){if((b|0)==3)break;c[d+(b<<2)>>2]=0;b=b+1|0}return}function Y$a(a,b){a=a|0;b=b|0;c[a+4>>2]=b+-1;c[a>>2]=110284;c[a+8>>2]=fUa()|0;return}function Z$a(b,d){b=b|0;d=d|0;var e=0;if((R$a(b)|0)>>>0<d>>>0)g1a(b);e=b+128|0;if(d>>>0<29&(a[e>>0]|0)==0){a[e>>0]=1;e=b+16|0}else e=j0a(d<<2)|0;c[b+4>>2]=e;c[b>>2]=e;c[b+8>>2]=e+(d<<2);return}function _$a(){if((a[225128]|0)==0?g2a(225128)|0:0){$$a()|0;c[57730]=230916}return c[57730]|0}function $$a(){a0a();c[57729]=225136;return 230916}function a0a(){J_a(225136,1);return}function b0a(){c0a(230924,_$a()|0);return 230924}function c0a(a,b){a=a|0;b=b|0;b=c[b>>2]|0;c[a>>2]=b;b=b+4|0;c[b>>2]=(c[b>>2]|0)+1;return}function d0a(){if((a[225296]|0)==0?g2a(225296)|0:0){b0a()|0;c[57732]=230924}return c[57732]|0}function e0a(a){a=a|0;var b=0;b=c[(d0a()|0)>>2]|0;c[a>>2]=b;a=b+4|0;c[a>>2]=(c[a>>2]|0)+1;return}function f0a(a,b,c){a=a|0;b=b|0;c=c|0;if(!c)a=0;else a=cOa(a,b,c)|0;return a|0}function g0a(a){a=a|0;return}function h0a(a,b,d){a=a|0;b=b|0;d=d|0;B2a(230932)|0;while(1){if((c[a>>2]|0)!=1)break;Oi(230960,230932)|0}if(!(c[a>>2]|0)){c[a>>2]=1;D2a(230932)|0;Bk[d&2047](b);B2a(230932)|0;c[a>>2]=-1;D2a(230932)|0;A2a(230960)|0}else D2a(230932)|0;return}function i0a(){ec()}function j0a(a){a=a|0;var b=0;b=(a|0)==0?1:a;while(1){a=GNa(b)|0;if(a|0)break;a=j2a()|0;if(!a){a=0;break}vk[a&15]()}return a|0}function k0a(a){a=a|0;return j0a(a)|0}function l0a(a){a=a|0;HNa(a);return}function m0a(a){a=a|0;l0a(a);return}function n0a(a,b){a=a|0;b=b|0;var d=0,e=0;e=VNa(b)|0;d=j0a(e+13|0)|0;c[d>>2]=e;c[d+4>>2]=e;c[d+8>>2]=0;d=o0a(d)|0;x2a(d|0,b|0,e+1|0)|0;c[a>>2]=d;return}function o0a(a){a=a|0;return a+12|0}function p0a(a,b){a=a|0;b=b|0;c[a>>2]=110916;n0a(a+4|0,b);return}function q0a(a){a=a|0;return 1}function r0a(a){a=a|0;ec()}function s0a(a){a=a|0;ec()}function t0a(b,d){b=b|0;d=d|0;c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;if((a[d+11>>0]|0)<0)u0a(b,c[d>>2]|0,c[d+4>>2]|0);else{c[b>>2]=c[d>>2];c[b+4>>2]=c[d+4>>2];c[b+8>>2]=c[d+8>>2]}return}function u0a(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;g=l;l=l+16|0;f=g;if(e>>>0>4294967279)r0a(b);if(e>>>0<11)a[b+11>>0]=e;else{i=e+16&-16;h=j0a(i)|0;c[b>>2]=h;c[b+8>>2]=i|-2147483648;c[b+4>>2]=e;b=h}ERa(b,d,e)|0;a[f>>0]=0;ITa(b+e|0,f);l=g;return}function v0a(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;g=l;l=l+16|0;f=g;if(d>>>0>4294967279)r0a(b);if(d>>>0<11)a[b+11>>0]=d;else{i=d+16&-16;h=j0a(i)|0;c[b>>2]=h;c[b+8>>2]=i|-2147483648;c[b+4>>2]=d;b=h}w0a(b,d,e)|0;a[f>>0]=0;ITa(b+d|0,f);l=g;return}function w0a(a,b,c){a=a|0;b=b|0;c=c|0;if(b|0)z2a(a|0,(DRa(c)|0)&255|0,b|0)|0;return a|0}function x0a(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0;c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;g=a[d+11>>0]|0;h=g<<24>>24<0;g=h?c[d+4>>2]|0:g&255;if(g>>>0<e>>>0)s0a(b);else{g=g-e|0;u0a(b,(h?c[d>>2]|0:d)+e|0,g>>>0<f>>>0?g:f);return}}function y0a(b){b=b|0;if((a[b+11>>0]|0)<0)l0a(c[b>>2]|0);return}function z0a(b,d){b=b|0;d=d|0;var e=0,f=0;if((b|0)!=(d|0)){e=a[d+11>>0]|0;f=e<<24>>24<0;A0a(b,f?c[d>>2]|0:d,f?c[d+4>>2]|0:e&255)|0}return b|0}function A0a(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;k=l;l=l+16|0;i=k;j=b+11|0;f=a[j>>0]|0;g=f<<24>>24<0;if(g)h=(c[b+8>>2]&2147483647)+-1|0;else h=10;do if(h>>>0>=e>>>0){if(g)f=c[b>>2]|0;else f=b;B0a(f,d,e)|0;a[i>>0]=0;ITa(f+e|0,i);if((a[j>>0]|0)<0){c[b+4>>2]=e;break}else{a[j>>0]=e;break}}else{if(g)f=c[b+4>>2]|0;else f=f&255;C0a(b,h,e-h|0,f,0,f,e,d)}while(0);l=k;return b|0}function B0a(a,b,c){a=a|0;b=b|0;c=c|0;if(c|0)y2a(a|0,b|0,c|0)|0;return a|0}function C0a(b,d,e,f,g,h,i,j){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,m=0,n=0,o=0,p=0;p=l;l=l+16|0;o=p;if((-18-d|0)>>>0<e>>>0)r0a(b);if((a[b+11>>0]|0)<0)n=c[b>>2]|0;else n=b;if(d>>>0<2147483623){k=e+d|0;m=d<<1;k=k>>>0<m>>>0?m:k;k=k>>>0<11?11:k+16&-16}else k=-17;m=j0a(k)|0;if(g|0)ERa(m,n,g)|0;if(i|0)ERa(m+g|0,j,i)|0;e=f-h|0;f=e-g|0;if(f|0)ERa(m+g+i|0,n+g+h|0,f)|0;if((d|0)!=10)l0a(n);c[b>>2]=m;c[b+8>>2]=k|-2147483648;i=e+i|0;c[b+4>>2]=i;a[o>>0]=0;ITa(m+i|0,o);l=p;return}function D0a(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;if(d>>>0>4294967279)r0a(b);i=b+11|0;g=a[i>>0]|0;h=g<<24>>24<0;if(h){k=c[b+4>>2]|0;e=(c[b+8>>2]&2147483647)+-1|0}else{k=g&255;e=10}j=k>>>0>d>>>0?k:d;d=j>>>0<11;j=d?10:(j+16&-16)+-1|0;do if((j|0)!=(e|0)){do if(d){d=c[b>>2]|0;if(h){g=0;e=d;f=b;h=13}else{ERa(b,d,(g&255)+1|0)|0;l0a(d);h=16}}else{e=j+1|0;f=j0a(e)|0;if(h){g=1;e=c[b>>2]|0;h=13;break}else{ERa(f,b,(g&255)+1|0)|0;d=b+4|0;h=15;break}}while(0);if((h|0)==13){d=b+4|0;ERa(f,e,(c[d>>2]|0)+1|0)|0;l0a(e);if(g){e=j+1|0;h=15}else h=16}if((h|0)==15){c[b+8>>2]=e|-2147483648;c[d>>2]=k;c[b>>2]=f;break}else if((h|0)==16){a[i>>0]=k;break}}while(0);return}function E0a(a,b){a=a|0;b=b|0;return A0a(a,b,xSa(b)|0)|0}function F0a(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;j=l;l=l+16|0;g=j;h=b+11|0;f=a[h>>0]|0;i=f<<24>>24<0;if(i)f=c[b+4>>2]|0;else f=f&255;do if(f>>>0>=d>>>0)if(i){i=(c[b>>2]|0)+d|0;a[g>>0]=0;ITa(i,g);c[b+4>>2]=d;break}else{a[g>>0]=0;ITa(b+d|0,g);a[h>>0]=d;break}else G0a(b,d-f|0,e)|0;while(0);l=j;return}function G0a(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;k=l;l=l+16|0;i=k;if(d|0){j=b+11|0;f=a[j>>0]|0;if(f<<24>>24<0){h=c[b+4>>2]|0;g=(c[b+8>>2]&2147483647)+-1|0}else{h=f&255;g=10}if((g-h|0)>>>0<d>>>0){H0a(b,g,h+d-g|0,h,h,0,0);f=a[j>>0]|0}if(f<<24>>24<0)g=c[b>>2]|0;else g=b;w0a(g+h|0,d,e)|0;f=h+d|0;if((a[j>>0]|0)<0)c[b+4>>2]=f;else a[j>>0]=f;a[i>>0]=0;ITa(g+f|0,i)}l=k;return b|0}function H0a(b,d,e,f,g,h,i){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0;if((-17-d|0)>>>0<e>>>0)r0a(b);if((a[b+11>>0]|0)<0)l=c[b>>2]|0;else l=b;if(d>>>0<2147483623){j=e+d|0;k=d<<1;j=j>>>0<k>>>0?k:j;j=j>>>0<11?11:j+16&-16}else j=-17;k=j0a(j)|0;if(g|0)ERa(k,l,g)|0;e=f-h-g|0;if(e|0)ERa(k+g+i|0,l+g+h|0,e)|0;if((d|0)!=10)l0a(l);c[b>>2]=k;c[b+8>>2]=j|-2147483648;return}function I0a(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;k=l;l=l+16|0;i=k;j=b+11|0;f=a[j>>0]|0;g=f<<24>>24<0;if(g){h=c[b+4>>2]|0;f=(c[b+8>>2]&2147483647)+-1|0}else{h=f&255;f=10}if((f-h|0)>>>0>=e>>>0){if(e|0){if(g)g=c[b>>2]|0;else g=b;ERa(g+h|0,d,e)|0;f=h+e|0;if((a[j>>0]|0)<0)c[b+4>>2]=f;else a[j>>0]=f;a[i>>0]=0;ITa(g+f|0,i)}}else C0a(b,f,h+e-f|0,h,h,0,e,d);l=k;return b|0}function J0a(a,b){a=a|0;b=b|0;return I0a(a,b,xSa(b)|0)|0}function K0a(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;j=l;l=l+16|0;h=j;i=j+1|0;a[h>>0]=d;g=b+11|0;d=a[g>>0]|0;e=d<<24>>24<0;if(e){f=c[b+4>>2]|0;d=(c[b+8>>2]&2147483647)+-1|0}else{f=d&255;d=10}if((f|0)==(d|0)){H0a(b,d,1,d,d,0,0);if((a[g>>0]|0)<0)e=8;else e=7}else if(e)e=8;else e=7;if((e|0)==7){a[g>>0]=f+1;d=b}else if((e|0)==8){d=c[b>>2]|0;c[b+4>>2]=f+1}b=d+f|0;ITa(b,h);a[i>>0]=0;ITa(b+1|0,i);l=j;return}function L0a(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0;n=l;l=l+16|0;k=n;m=b+11|0;g=a[m>>0]|0;h=g<<24>>24<0;if(h)j=c[b+4>>2]|0;else j=g&255;if(j>>>0<d>>>0)s0a(b);if(h)g=(c[b+8>>2]&2147483647)+-1|0;else g=10;if((g-j|0)>>>0>=f>>>0){if(f|0){if(h)i=c[b>>2]|0;else i=b;g=j-d|0;h=i+d|0;if(g){B0a(h+f|0,h,g)|0;e=h>>>0<=e>>>0&(i+j|0)>>>0>e>>>0?e+f|0:e}B0a(h,e,f)|0;e=j+f|0;if((a[m>>0]|0)<0)c[b+4>>2]=e;else a[m>>0]=e;a[k>>0]=0;ITa(i+e|0,k)}}else C0a(b,g,j+f-g|0,j,d,0,f,e);l=n;return b|0}function M0a(a,b,c){a=a|0;b=b|0;c=c|0;return L0a(a,b,c,xSa(c)|0)|0}function N0a(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0;m=l;l=l+16|0;j=m;k=b+11|0;g=a[k>>0]|0;f=g<<24>>24<0;if(f)h=c[b+4>>2]|0;else h=g&255;if(h>>>0<d>>>0)s0a(b);if(e|0){if(f)i=c[b>>2]|0;else i=b;f=h-d|0;e=f>>>0<e>>>0?f:e;f=f-e|0;if(f){g=i+d|0;B0a(g,g+e|0,f)|0;g=a[k>>0]|0}f=h-e|0;if(g<<24>>24<0)c[b+4>>2]=f;else a[k>>0]=f;a[j>>0]=0;ITa(i+f|0,j)}l=m;return b|0}function O0a(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0;q=l;l=l+16|0;o=q;p=b+11|0;h=a[p>>0]|0;j=h<<24>>24<0;if(j)n=c[b+4>>2]|0;else n=h&255;if(n>>>0<d>>>0)s0a(b);i=n-d|0;h=i>>>0<e>>>0?i:e;if(j)e=(c[b+8>>2]&2147483647)+-1|0;else e=10;if((h-n+e|0)>>>0<g>>>0)C0a(b,e,n+g-h-e|0,n,d,h,g,f);else{if(j)m=c[b>>2]|0;else m=b;do if((h|0)!=(g|0)){j=i-h|0;if(!j){e=f;k=21}else{e=m+d|0;if(h>>>0>g>>>0){B0a(e,f,g)|0;B0a(e+g|0,e+h|0,j)|0;break}do if(e>>>0<f>>>0&(m+n|0)>>>0>f>>>0)if((e+h|0)>>>0>f>>>0){B0a(e,f,h)|0;e=h+d|0;d=e;i=f+g|0;g=g-h|0;h=0;e=m+e|0;break}else{i=f+(g-h)|0;break}else i=f;while(0);B0a(e+g|0,e+h|0,j)|0;e=i;k=21}}else{h=g;e=f;k=21}while(0);if((k|0)==21)B0a(m+d|0,e,g)|0;g=g-h+n|0;if((a[p>>0]|0)<0)c[b+4>>2]=g;else a[p>>0]=g;a[o>>0]=0;ITa(m+g|0,o)}l=q;return b|0}function P0a(b,c,d){b=b|0;c=c|0;d=d|0;if(!c)b=0;else b=aOa(b,DRa(a[d>>0]|0)|0,c)|0;return b|0}function Q0a(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;h=l;l=l+16|0;g=h;f=a[b+11>>0]|0;if(f<<24>>24<0){f=c[b+4>>2]|0;b=c[b>>2]|0}else f=f&255;a[g>>0]=d;if(f>>>0>e>>>0){g=P0a(b+e|0,f-e|0,g)|0;b=(g|0)==0?-1:g-b|0}else b=-1;l=h;return b|0}function R0a(b,d,e){b=b|0;d=d|0;e=e|0;var f=0;f=a[b+11>>0]|0;if(f<<24>>24<0){f=c[b+4>>2]|0;b=c[b>>2]|0}else f=f&255;a:do if(!f)f=-1;else{f=b+(f>>>0>e>>>0?e+1|0:f)|0;do{if((f|0)==(b|0)){f=-1;break a}f=f+-1|0}while(!(DSa(a[f>>0]|0,d)|0));f=f-b|0}while(0);return f|0}function S0a(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0;h=a[b+11>>0]|0;i=h<<24>>24<0;if(i)h=c[b+4>>2]|0;else h=h&255;if((g|0)==-1|h>>>0<d>>>0)s0a(b);h=h-d|0;e=h>>>0<e>>>0?h:e;if(i)b=c[b>>2]|0;h=e>>>0>g>>>0;b=f0a(b+d|0,f,h?g:e)|0;if(!b)return (e>>>0<g>>>0?-1:h&1)|0;else return b|0;return 0}function T0a(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return S0a(a,b,c,d,xSa(d)|0)|0}function U0a(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0;h=l;l=l+16|0;g=h;if(f>>>0>4294967279)r0a(b);if(f>>>0<11)a[b+11>>0]=e;else{i=f+16&-16;f=j0a(i)|0;c[b>>2]=f;c[b+8>>2]=i|-2147483648;c[b+4>>2]=e;b=f}ERa(b,d,e)|0;a[g>>0]=0;ITa(b+e|0,g);l=h;return}function V0a(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;i=l;l=l+16|0;h=i;if(e>>>0>1073741807)r0a(b);do if(e>>>0>=2){g=e+4&-4;if(g>>>0>1073741823)ec();else{f=j0a(g<<2)|0;c[b>>2]=f;c[b+8>>2]=g|-2147483648;c[b+4>>2]=e;break}}else{a[b+8+3>>0]=e;f=b}while(0);WRa(f,d,e)|0;c[h>>2]=0;QTa(f+(e<<2)|0,h);l=i;return}function W0a(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;i=l;l=l+16|0;h=i;if(d>>>0>1073741807)r0a(b);do if(d>>>0>=2){g=d+4&-4;if(g>>>0>1073741823)ec();else{f=j0a(g<<2)|0;c[b>>2]=f;c[b+8>>2]=g|-2147483648;c[b+4>>2]=d;break}}else{a[b+8+3>>0]=d;f=b}while(0);X0a(f,d,e)|0;c[h>>2]=0;QTa(f+(d<<2)|0,h);l=i;return}function X0a(a,b,c){a=a|0;b=b|0;c=c|0;if(b)ZNa(a,c,b)|0;return a|0}function Y0a(b){b=b|0;if((a[b+8+3>>0]|0)<0)l0a(c[b>>2]|0);return}function Z0a(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0;m=l;l=l+16|0;j=m;f=b+8|0;k=f+3|0;h=a[k>>0]|0;i=h<<24>>24<0;if(i)g=(c[f>>2]&2147483647)+-1|0;else g=1;do if(g>>>0>=e>>>0){if(i)f=c[b>>2]|0;else f=b;_0a(f,d,e)|0;c[j>>2]=0;QTa(f+(e<<2)|0,j);if((a[k>>0]|0)<0){c[b+4>>2]=e;break}else{a[k>>0]=e;break}}else{if(i)f=c[b+4>>2]|0;else f=h&255;$0a(b,g,e-g|0,f,0,f,e,d)}while(0);l=m;return b|0}function _0a(a,b,c){a=a|0;b=b|0;c=c|0;if(c)dOa(a,b,c)|0;return a|0}function $0a(b,d,e,f,g,h,i,j){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,m=0,n=0,o=0,p=0,q=0;q=l;l=l+16|0;p=q;if((1073741806-d|0)>>>0<e>>>0)r0a(b);m=b+8|0;if((a[m+3>>0]|0)<0)o=c[b>>2]|0;else o=b;if(d>>>0<536870887){e=e+d|0;k=d<<1;e=e>>>0<k>>>0?k:e;e=e>>>0<2?2:e+4&-4;if(e>>>0>1073741823)ec();else n=e}else n=1073741807;k=j0a(n<<2)|0;if(g|0)WRa(k,o,g)|0;if(i|0)WRa(k+(g<<2)|0,j,i)|0;e=f-h|0;f=e-g|0;if(f|0)WRa(k+(g<<2)+(i<<2)|0,o+(g<<2)+(h<<2)|0,f)|0;if((d|0)!=1)l0a(o);c[b>>2]=k;c[m>>2]=n|-2147483648;i=e+i|0;c[b+4>>2]=i;c[p>>2]=0;QTa(k+(i<<2)|0,p);l=q;return}function a1a(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;if(d>>>0>1073741807)r0a(b);l=b+8|0;i=l+3|0;g=a[i>>0]|0;h=g<<24>>24<0;if(h){k=c[b+4>>2]|0;e=(c[l>>2]&2147483647)+-1|0}else{k=g&255;e=1}j=k>>>0>d>>>0?k:d;d=j>>>0<2;j=d?1:(j+4&-4)+-1|0;do if((j|0)!=(e|0)){do if(d){d=c[b>>2]|0;if(h){g=0;e=d;f=b;h=15}else{WRa(b,d,(g&255)+1|0)|0;l0a(d);h=18}}else{e=j+1|0;if(e>>>0>1073741823)ec();f=j0a(e<<2)|0;if(h){g=1;e=c[b>>2]|0;h=15;break}else{WRa(f,b,(g&255)+1|0)|0;d=b+4|0;h=17;break}}while(0);if((h|0)==15){d=b+4|0;WRa(f,e,(c[d>>2]|0)+1|0)|0;l0a(e);if(g){e=j+1|0;h=17}else h=18}if((h|0)==17){c[l>>2]=e|-2147483648;c[d>>2]=k;c[b>>2]=f;break}else if((h|0)==18){a[i>>0]=k;break}}while(0);return}function b1a(a,b){a=a|0;b=b|0;return Z0a(a,b,QWa(b)|0)|0}function c1a(b,d,e,f,g,h,i){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0;if((1073741807-d|0)>>>0<e>>>0)r0a(b);m=b+8|0;if((a[m+3>>0]|0)<0)l=c[b>>2]|0;else l=b;if(d>>>0<536870887){e=e+d|0;j=d<<1;e=e>>>0<j>>>0?j:e;e=e>>>0<2?2:e+4&-4;if(e>>>0>1073741823)ec();else k=e}else k=1073741807;j=j0a(k<<2)|0;if(g|0)WRa(j,l,g)|0;e=f-h-g|0;if(e|0)WRa(j+(g<<2)+(i<<2)|0,l+(g<<2)+(h<<2)|0,e)|0;if((d|0)!=1)l0a(l);c[b>>2]=j;c[m>>2]=k|-2147483648;return}function d1a(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0;m=l;l=l+16|0;j=m;g=b+8|0;k=g+3|0;f=a[k>>0]|0;i=f<<24>>24<0;if(i){h=c[b+4>>2]|0;f=(c[g>>2]&2147483647)+-1|0}else{h=f&255;f=1}if((f-h|0)>>>0>=e>>>0){if(e|0){if(i)g=c[b>>2]|0;else g=b;WRa(g+(h<<2)|0,d,e)|0;f=h+e|0;if((a[k>>0]|0)<0)c[b+4>>2]=f;else a[k>>0]=f;c[j>>2]=0;QTa(g+(f<<2)|0,j)}}else $0a(b,f,h+e-f|0,h,h,0,e,d);l=m;return b|0}function e1a(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;k=l;l=l+16|0;i=k;j=k+4|0;c[i>>2]=d;e=b+8|0;h=e+3|0;d=a[h>>0]|0;f=d<<24>>24<0;if(f){g=c[b+4>>2]|0;d=(c[e>>2]&2147483647)+-1|0}else{g=d&255;d=1}if((g|0)==(d|0)){c1a(b,d,1,d,d,0,0);if((a[h>>0]|0)<0)e=8;else e=7}else if(f)e=8;else e=7;if((e|0)==7){a[h>>0]=g+1;d=b}else if((e|0)==8){d=c[b>>2]|0;c[b+4>>2]=g+1}b=d+(g<<2)|0;QTa(b,i);c[j>>2]=0;QTa(b+4|0,j);l=k;return}function f1a(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;f=0;while(1){if((f|0)==3)break;c[b+(f<<2)>>2]=0;f=f+1|0}h=xSa(d)|0;g=e+11|0;f=a[g>>0]|0;f=f<<24>>24<0?c[e+4>>2]|0:f&255;U0a(b,d,h,f+h|0);I0a(b,(a[g>>0]|0)<0?c[e>>2]|0:e,f)|0;return}function g1a(a){a=a|0;ec()}function h1a(){return (i1a()|0)>0|0}function i1a(){return (ib()|0)&1|0}function j1a(){var a=0,b=0,d=0,e=0,f=0,g=0,h=0,i=0;f=l;l=l+48|0;h=f+32|0;d=f+24|0;i=f+16|0;g=f;f=f+36|0;a=k1a()|0;if(a|0?(e=c[a>>2]|0,e|0):0){a=e+48|0;b=c[a>>2]|0;a=c[a+4>>2]|0;if(!((b&-256|0)==1126902528&(a|0)==1129074247)){c[d>>2]=216042;l1a(215992,d)}if((b|0)==1126902529&(a|0)==1129074247)a=c[e+44>>2]|0;else a=e+80|0;c[f>>2]=a;e=c[e>>2]|0;a=c[e+4>>2]|0;if(lk[c[(c[16468]|0)+16>>2]&127](65872,e,f)|0){i=c[f>>2]|0;i=gk[c[(c[i>>2]|0)+8>>2]&1023](i)|0;c[g>>2]=216042;c[g+4>>2]=a;c[g+8>>2]=i;l1a(215906,g)}else{c[i>>2]=216042;c[i+4>>2]=a;l1a(215951,i)}}l1a(216030,h)}function k1a(){var a=0,b=0;a=l;l=l+16|0;if(!(Xi(231008,14)|0)){b=Qi(c[57753]|0)|0;l=a;return b|0}else l1a(216181,a);return 0}function l1a(a,b){a=a|0;b=b|0;var d=0;d=l;l=l+16|0;c[d>>2]=b;b=c[26719]|0;WOa(b,a,d)|0;QQa(10,b)|0;ec()}function m1a(a){a=a|0;return}function n1a(a){a=a|0;m1a(a);l0a(a);return}function o1a(a){a=a|0;return}function p1a(a){a=a|0;return}function q1a(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=l;l=l+64|0;f=h;if(!(u1a(a,b,0)|0))if((b|0)!=0?(g=y1a(b,65896,65880,0)|0,(g|0)!=0):0){b=f+4|0;e=b+52|0;do{c[b>>2]=0;b=b+4|0}while((b|0)<(e|0));c[f>>2]=g;c[f+8>>2]=a;c[f+12>>2]=-1;c[f+48>>2]=1;Qk[c[(c[g>>2]|0)+28>>2]&127](g,f,c[d>>2]|0,1);if((c[f+24>>2]|0)==1){c[d>>2]=c[f+16>>2];b=1}else b=0}else b=0;else b=1;l=h;return b|0}function r1a(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;if(u1a(a,c[b+8>>2]|0,g)|0)x1a(0,b,d,e,f);return}function s1a(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0;do if(!(u1a(b,c[d+8>>2]|0,g)|0)){if(u1a(b,c[d>>2]|0,g)|0){if((c[d+16>>2]|0)!=(e|0)?(h=d+20|0,(c[h>>2]|0)!=(e|0)):0){c[d+32>>2]=f;c[h>>2]=e;g=d+40|0;c[g>>2]=(c[g>>2]|0)+1;if((c[d+36>>2]|0)==1?(c[d+24>>2]|0)==2:0)a[d+54>>0]=1;c[d+44>>2]=4;break}if((f|0)==1)c[d+32>>2]=1}}else w1a(0,d,e,f);while(0);return}function t1a(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;if(u1a(a,c[b+8>>2]|0,0)|0)v1a(0,b,d,e);return}function u1a(a,b,c){a=a|0;b=b|0;c=c|0;return (a|0)==(b|0)|0}function v1a(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0;b=d+16|0;g=c[b>>2]|0;do if(g){if((g|0)!=(e|0)){f=d+36|0;c[f>>2]=(c[f>>2]|0)+1;c[d+24>>2]=2;a[d+54>>0]=1;break}b=d+24|0;if((c[b>>2]|0)==2)c[b>>2]=f}else{c[b>>2]=e;c[d+24>>2]=f;c[d+36>>2]=1}while(0);return}function w1a(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;if((c[b+4>>2]|0)==(d|0)?(f=b+28|0,(c[f>>2]|0)!=1):0)c[f>>2]=e;return}function x1a(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;a[d+53>>0]=1;do if((c[d+4>>2]|0)==(f|0)){a[d+52>>0]=1;b=d+16|0;f=c[b>>2]|0;if(!f){c[b>>2]=e;c[d+24>>2]=g;c[d+36>>2]=1;if(!((g|0)==1?(c[d+48>>2]|0)==1:0))break;a[d+54>>0]=1;break}if((f|0)!=(e|0)){g=d+36|0;c[g>>2]=(c[g>>2]|0)+1;a[d+54>>0]=1;break}f=d+24|0;b=c[f>>2]|0;if((b|0)==2){c[f>>2]=g;b=g}if((b|0)==1?(c[d+48>>2]|0)==1:0)a[d+54>>0]=1}while(0);return}function y1a(d,e,f,g){d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0;q=l;l=l+64|0;o=q;n=c[d>>2]|0;p=d+(c[n+-8>>2]|0)|0;n=c[n+-4>>2]|0;c[o>>2]=f;c[o+4>>2]=d;c[o+8>>2]=e;c[o+12>>2]=g;d=o+16|0;e=o+20|0;g=o+24|0;h=o+28|0;i=o+32|0;j=o+40|0;k=d;m=k+36|0;do{c[k>>2]=0;k=k+4|0}while((k|0)<(m|0));b[d+36>>1]=0;a[d+38>>0]=0;a:do if(u1a(n,f,0)|0){c[o+48>>2]=1;Tk[c[(c[n>>2]|0)+20>>2]&15](n,o,p,p,1,0);d=(c[g>>2]|0)==1?p:0}else{Sk[c[(c[n>>2]|0)+24>>2]&63](n,o,p,1,0);switch(c[o+36>>2]|0){case 0:{d=(c[j>>2]|0)==1&(c[h>>2]|0)==1&(c[i>>2]|0)==1?c[e>>2]|0:0;break a}case 1:break;default:{d=0;break a}}if((c[g>>2]|0)!=1?!((c[j>>2]|0)==0&(c[h>>2]|0)==1&(c[i>>2]|0)==1):0){d=0;break}d=c[d>>2]|0}while(0);l=q;return d|0}function z1a(a){a=a|0;m1a(a);l0a(a);return}function A1a(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;if(u1a(a,c[b+8>>2]|0,g)|0)x1a(0,b,d,e,f);else{a=c[a+8>>2]|0;Tk[c[(c[a>>2]|0)+20>>2]&15](a,b,d,e,f,g)}return}
  6572. function LN(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0;T=l;l=l+192|0;M=T+180|0;N=T;B=T+168|0;O=T+156|0;P=T+144|0;Q=T+132|0;R=T+112|0;S=T+100|0;I=T+96|0;J=T+92|0;K=T+80|0;e=b+36|0;if(!(a[e>>0]|0)){l=T;return}a[e>>0]=0;L=b+20|0;if(!(c[L>>2]|0)){l=T;return}if((a[223632]|0)==0?g2a(223632)|0:0)kr(225352);if((c[56338]|0)>3){x=mr(lr(4)|0,140995,22)|0;z=b+12|0;F=c[z>>2]|0;y=F+12|0;G=a[y+11>>0]|0;A=G<<24>>24<0;G=mr(mr(mr(x,A?c[y>>2]|0:y,A?c[F+16>>2]|0:G&255)|0,172651,1)|0,140980,4)|0;G=mr(QSa(G,c[L>>2]|0)|0,140897,11)|0;G=QSa(G,c[b+40>>2]|0)|0;BSa(M,G+(c[(c[G>>2]|0)+-12>>2]|0)|0);F=cUa(M,230580)|0;F=kk[c[(c[F>>2]|0)+28>>2]&511](F,10)|0;dUa(M);VSa(G,F)|0;HSa(G)|0}else z=b+12|0;e=c[(c[z>>2]|0)+116>>2]|0;q=b+38|0;a[q>>0]=0;t=(e|0)!=0;if(!((t?(f=c[e+36>>2]|0,h=c[e+32>>2]|0,g=f-h|0,h,(g|0)!=0):0)?(c[M>>2]=0,G=b+16|0,Qk[c[(c[G>>2]|0)+612>>2]&127](c[L>>2]|0,c[e+44>>2]|0,(h|0)==(f|0)?0:h,g),Nk[c[(c[G>>2]|0)+104>>2]&255](c[L>>2]|0,35714,M),G=(c[M>>2]|0)==1,F=G&1,a[b+37>>0]=F,a[q>>0]=F,G):0))H=12;do if((H|0)==12){e=b+16|0;f=c[e>>2]|0;if(a[f+29>>0]|0?(Nk[c[f+448>>2]&255](c[L>>2]|0,36314,c[(c[z>>2]|0)+120>>2]|0),Nk[c[(c[e>>2]|0)+448>>2]&255](c[L>>2]|0,36315,c[(c[z>>2]|0)+124>>2]|0),Nk[c[(c[e>>2]|0)+448>>2]&255](c[L>>2]|0,36316,c[(c[z>>2]|0)+128>>2]|0),a[q>>0]|0):0)break;c[M>>2]=0;o=b+16|0;Qk[c[(c[o>>2]|0)+96>>2]&127](c[L>>2]|0,20,M,N);m=B+4|0;c[m>>2]=0;n=B+8|0;c[n>>2]=0;p=B+4|0;c[B>>2]=p;e=c[M>>2]|0;a:do if((e|0)>0){f=0;g=0;while(1){k=N+(f<<2)|0;do if(g){j=c[k>>2]|0;i=m;while(1){h=c[g+16>>2]|0;if(j>>>0<h>>>0){h=c[g>>2]|0;if(!h){H=22;break}else{i=g;g=h}}else{if(h>>>0>=j>>>0){H=26;break}i=g+4|0;h=c[i>>2]|0;if(!h){H=25;break}else g=h}}if((H|0)==22){H=0;h=g;i=g;break}else if((H|0)==25){H=0;h=g;break}else if((H|0)==26){H=0;h=g;break}}else{h=p;i=p}while(0);g=c[i>>2]|0;if(!g){g=j0a(24)|0;c[g+16>>2]=c[k>>2];c[g+20>>2]=0;c[g>>2]=0;c[g+4>>2]=0;c[g+8>>2]=h;c[i>>2]=g;e=c[c[B>>2]>>2]|0;if(!e)e=g;else{c[B>>2]=e;e=c[i>>2]|0}fp(c[m>>2]|0,e);c[n>>2]=(c[n>>2]|0)+1;e=c[M>>2]|0}G=g+20|0;c[G>>2]=(c[G>>2]|0)+-1;f=f+1|0;if((f|0)>=(e|0))break a;g=c[p>>2]|0}}while(0);e=c[z>>2]|0;if((c[e+108>>2]|0)!=(c[e+104>>2]|0)){i=0;do{e=WU(c[(c[e+104>>2]|0)+(i<<2)>>2]|0,d)|0;if(e|0){h=c[e+20>>2]|0;e=c[p>>2]|0;do if(e){g=m;while(1){f=c[e+16>>2]|0;if(h>>>0<f>>>0){f=c[e>>2]|0;if(!f){H=41;break}else{g=e;e=f}}else{if(f>>>0>=h>>>0){H=45;break}g=e+4|0;f=c[g>>2]|0;if(!f){H=44;break}else e=f}}if((H|0)==41){H=0;f=e;g=e;break}else if((H|0)==44){H=0;f=e;break}else if((H|0)==45){H=0;f=e;break}}else{f=p;g=p}while(0);e=c[g>>2]|0;if(!e){e=j0a(24)|0;c[e+16>>2]=h;c[e+20>>2]=0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=f;c[g>>2]=e;f=c[c[B>>2]>>2]|0;if(!f)f=e;else{c[B>>2]=f;f=c[g>>2]|0}fp(c[m>>2]|0,f);c[n>>2]=(c[n>>2]|0)+1}G=e+20|0;c[G>>2]=(c[G>>2]|0)+1}i=i+1|0;e=c[z>>2]|0}while(i>>>0<(c[e+108>>2]|0)-(c[e+104>>2]|0)>>2>>>0)}e=c[B>>2]|0;if((e|0)!=(p|0)){g=e;while(1){e=g+16|0;f=c[g+20>>2]|0;if((f|0)<=0){if((f|0)<0)Jk[c[(c[o>>2]|0)+76>>2]&1023](c[L>>2]|0,c[e>>2]|0)}else Jk[c[(c[o>>2]|0)+44>>2]&1023](c[L>>2]|0,c[e>>2]|0);e=c[g+4>>2]|0;if(!e){f=g+8|0;e=c[f>>2]|0;if((c[e>>2]|0)!=(g|0))do{G=c[f>>2]|0;f=G+8|0;e=c[f>>2]|0}while((c[e>>2]|0)!=(G|0))}else while(1){f=c[e>>2]|0;if(!f)break;else e=f}if((e|0)==(p|0))break;else g=e}}YN(B,c[p>>2]|0)}while(0);g=c[b+96>>2]|0;h=b+100|0;e=c[h>>2]|0;if((e|0)!=(g|0))do{e=e+-4|0;f=c[e>>2]|0;if(f|0?(F=f+8|0,G=c[F>>2]|0,c[F>>2]=G-1,(G|0)==1):0)UU(f,1,1);c[e>>2]=0}while((e|0)!=(g|0));c[h>>2]=g;g=c[b+108>>2]|0;h=b+112|0;e=c[h>>2]|0;if((e|0)!=(g|0))do{e=e+-4|0;f=c[e>>2]|0;if(f|0?(F=f+8|0,G=c[F>>2]|0,c[F>>2]=G-1,(G|0)==1):0)UU(f,1,1);c[e>>2]=0}while((e|0)!=(g|0));c[h>>2]=g;w=b+48|0;x=b+52|0;IN(w,c[x>>2]|0);y=b+56|0;c[y>>2]=0;c[w>>2]=x;c[x>>2]=0;F=b+60|0;p=b+64|0;HN(F,c[p>>2]|0);G=b+68|0;c[G>>2]=0;c[F>>2]=p;c[p>>2]=0;p=b+84|0;A=b+88|0;FN(p,c[A>>2]|0);c[b+92>>2]=0;c[p>>2]=A;c[A>>2]=0;if(!(a[q>>0]|0)){i=c[z>>2]|0;e=c[i+68>>2]|0;i=i+72|0;if((e|0)!=(i|0)){j=b+16|0;h=e;while(1){if((a[223632]|0)==0?g2a(223632)|0:0)kr(225352);if((c[56338]|0)>3){p=mr(lr(4)|0,141018,32)|0;e=h+16|0;g=h+28|0;p=mr(QSa(p,c[g>>2]|0)|0,184688,2)|0;f=e+11|0;A=a[f>>0]|0;q=A<<24>>24<0;A=mr(p,q?c[e>>2]|0:e,q?c[h+20>>2]|0:A&255)|0;BSa(M,A+(c[(c[A>>2]|0)+-12>>2]|0)|0);q=cUa(M,230580)|0;q=kk[c[(c[q>>2]|0)+28>>2]&511](q,10)|0;dUa(M);VSa(A,q)|0;HSa(A)|0}else{f=h+16|0;e=f;g=h+28|0;f=f+11|0}if((a[f>>0]|0)<0)e=c[e>>2]|0;Nk[c[(c[j>>2]|0)+48>>2]&255](c[L>>2]|0,c[g>>2]|0,e);e=c[h+4>>2]|0;if(!e){f=h+8|0;e=c[f>>2]|0;if((c[e>>2]|0)!=(h|0))do{A=c[f>>2]|0;f=A+8|0;e=c[f>>2]|0}while((c[e>>2]|0)!=(A|0))}else while(1){f=c[e>>2]|0;if(!f)break;else e=f}if((e|0)==(i|0))break;else h=e}}if(a[d+131>>0]|0?(r=c[d+584>>2]|0,s=d+588|0,(r|0)!=(s|0)):0){i=b+16|0;h=r;while(1){if((a[223632]|0)==0?g2a(223632)|0:0)kr(225352);if((c[56338]|0)>3){d=mr(lr(4)|0,141051,30)|0;e=h+16|0;g=h+28|0;d=mr(QSa(d,c[g>>2]|0)|0,184688,2)|0;f=e+11|0;A=a[f>>0]|0;r=A<<24>>24<0;A=mr(d,r?c[e>>2]|0:e,r?c[h+20>>2]|0:A&255)|0;BSa(M,A+(c[(c[A>>2]|0)+-12>>2]|0)|0);r=cUa(M,230580)|0;r=kk[c[(c[r>>2]|0)+28>>2]&511](r,10)|0;dUa(M);VSa(A,r)|0;HSa(A)|0}else{f=h+16|0;e=f;g=h+28|0;f=f+11|0}if((a[f>>0]|0)<0)e=c[e>>2]|0;Nk[c[(c[i>>2]|0)+48>>2]&255](c[L>>2]|0,c[g>>2]|0,e);e=c[h+4>>2]|0;if(!e){f=h+8|0;e=c[f>>2]|0;if((c[e>>2]|0)!=(h|0))do{A=c[f>>2]|0;f=A+8|0;e=c[f>>2]|0}while((c[e>>2]|0)!=(A|0))}else while(1){f=c[e>>2]|0;if(!f)break;else e=f}if((e|0)==(s|0))break;else h=e}}h=c[z>>2]|0;e=c[h+80>>2]|0;h=h+84|0;if((e|0)!=(h|0)){i=b+16|0;g=e;while(1){e=g+16|0;if((a[e+11>>0]|0)<0)e=c[e>>2]|0;Nk[c[(c[i>>2]|0)+464>>2]&255](c[L>>2]|0,c[g+28>>2]|0,e);e=c[g+4>>2]|0;if(!e){f=g+8|0;e=c[f>>2]|0;if((c[e>>2]|0)!=(g|0))do{A=c[f>>2]|0;f=A+8|0;e=c[f>>2]|0}while((c[e>>2]|0)!=(A|0))}else while(1){f=c[e>>2]|0;if(!f)break;else e=f}if((e|0)==(h|0))break;else g=e}}e=b+16|0;if(t)Nk[c[(c[e>>2]|0)+448>>2]&255](c[L>>2]|0,33367,1);c[M>>2]=0;Bk[c[(c[e>>2]|0)+168>>2]&2047](c[L>>2]|0);Nk[c[(c[e>>2]|0)+104>>2]&255](c[L>>2]|0,35714,M);e=(c[M>>2]|0)==1&1;a[b+37>>0]=e}else e=a[b+37>>0]|0;if(!(e<<24>>24)){if((a[223632]|0)==0?g2a(223632)|0:0)kr(225352);if((c[56338]|0)>2){O=mr(USa(mr(lr(3)|0,141082,14)|0,b)|0,172651,1)|0;R=c[z>>2]|0;P=R+12|0;S=a[P+11>>0]|0;Q=S<<24>>24<0;S=mr(mr(O,Q?c[P>>2]|0:P,Q?c[R+16>>2]|0:S&255)|0,149682,8)|0;BSa(M,S+(c[(c[S>>2]|0)+-12>>2]|0)|0);R=cUa(M,230580)|0;R=kk[c[(c[R>>2]|0)+28>>2]&511](R,10)|0;dUa(M);VSa(S,R)|0;HSa(S)|0};c[N>>2]=0;c[N+4>>2]=0;c[N+8>>2]=0;if(kk[c[(c[b>>2]|0)+20>>2]&511](b,N)|0){if((a[223632]|0)==0?g2a(223632)|0:0)kr(225352);if((c[56338]|0)>2){O=mr(lr(3)|0,141097,9)|0;S=c[z>>2]|0;P=S+12|0;Q=a[P+11>>0]|0;R=Q<<24>>24<0;Q=mr(mr(O,R?c[P>>2]|0:P,R?c[S+16>>2]|0:Q&255)|0,149701,11)|0;S=a[N+11>>0]|0;R=S<<24>>24<0;S=mr(Q,R?c[N>>2]|0:N,R?c[N+4>>2]|0:S&255)|0;BSa(M,S+(c[(c[S>>2]|0)+-12>>2]|0)|0);R=cUa(M,230580)|0;R=kk[c[(c[R>>2]|0)+28>>2]&511](R,10)|0;dUa(M);VSa(S,R)|0;HSa(S)|0}}if((a[N+11>>0]|0)<0)l0a(c[N>>2]|0);l=T;return};c[N>>2]=0;c[N+4>>2]=0;c[N+8>>2]=0;if(kk[c[(c[b>>2]|0)+20>>2]&511](b,N)|0){if((a[223632]|0)==0?g2a(223632)|0:0)kr(225352);if((c[56338]|0)>3){d=mr(lr(4)|0,141097,9)|0;A=c[z>>2]|0;r=A+12|0;s=a[r+11>>0]|0;t=s<<24>>24<0;s=mr(mr(mr(d,t?c[r>>2]|0:r,t?c[A+16>>2]|0:s&255)|0,141107,2)|0,141110,25)|0;A=a[N+11>>0]|0;t=A<<24>>24<0;A=mr(s,t?c[N>>2]|0:N,t?c[N+4>>2]|0:A&255)|0;BSa(M,A+(c[(c[A>>2]|0)+-12>>2]|0)|0);t=cUa(M,230580)|0;t=kk[c[(c[t>>2]|0)+28>>2]&511](t,10)|0;dUa(M);VSa(A,t)|0;HSa(A)|0}}A=b+16|0;e=c[L>>2]|0;f=c[z>>2]|0;g=f+12|0;h=c[(c[A>>2]|0)+1748>>2]|0;if(h|0?(v=a[g+11>>0]|0,u=v<<24>>24<0,v=u?c[f+16>>2]|0:v&255,v|0):0)Qk[h&127](33506,e,v,u?c[g>>2]|0:g);if((a[N+11>>0]|0)<0)l0a(c[N>>2]|0);e=c[A>>2]|0;if(a[e+32>>0]|0){c[N>>2]=0;c[B>>2]=0;Nk[c[e+104>>2]&255](c[L>>2]|0,35382,N);Nk[c[(c[A>>2]|0)+104>>2]&255](c[L>>2]|0,35381,B);f=c[B>>2]|0;if((f|0)>0){c[O>>2]=0;p=O+4|0;c[p>>2]=0;u=O+8|0;c[u>>2]=0;e=j0a(f)|0;c[O>>2]=e;v=e+f|0;c[u>>2]=v;z2a(e|0,0,f|0)|0;c[p>>2]=v;do if(c[N>>2]|0){j=R+11|0;k=R+12|0;m=b+72|0;n=R+8|0;o=R+4|0;i=0;while(1){c[P>>2]=0;c[Q>>2]=0;Sk[c[(c[A>>2]|0)+600>>2]&63](c[L>>2]|0,i,f,P,e);Qk[c[(c[A>>2]|0)+596>>2]&127](c[L>>2]|0,i,35392,Q);g=c[Q>>2]|0;c[R>>2]=0;c[R+4>>2]=0;c[R+8>>2]=0;h=VNa(e)|0;if(h>>>0>4294967279){H=169;break}if(h>>>0<11){a[j>>0]=h;if(!h)e=R;else{f=R;H=173}}else{H=h+16&-16;f=j0a(H)|0;c[R>>2]=f;c[n>>2]=H|-2147483648;c[o>>2]=h;H=173}if((H|0)==173){H=0;x2a(f|0,e|0,h|0)|0;e=f}a[e+h>>0]=0;v=k;c[v>>2]=i;c[v+4>>2]=g;ZN(M,m,R,R);if((a[j>>0]|0)<0)l0a(c[R>>2]|0);e=i+1|0;if(e>>>0>=(c[N>>2]|0)>>>0){H=165;break}i=e;f=c[B>>2]|0;e=c[O>>2]|0}if((H|0)==165){e=c[O>>2]|0;if(!e)break;else{H=166;break}}else if((H|0)==169)r0a(R)}else H=166;while(0);if((H|0)==166){c[p>>2]=e;l0a(e)}}e=c[z>>2]|0;f=c[b+72>>2]|0;j=b+76|0;if((f|0)!=(j|0)){k=e+92|0;i=e+96|0;while(1){g=f+16|0;e=_N(k,g)|0;do if((e|0)==(i|0)){do if(!(a[223632]|0)){if(!(g2a(223632)|0))break;kr(225352)}while(0);if((c[56338]|0)<=1)break;u=mr(lr(2)|0,141136,14)|0;z=a[g+11>>0]|0;v=z<<24>>24<0;mr(mr(u,v?c[g>>2]|0:g,v?c[f+20>>2]|0:z&255)|0,141162,17)|0}else{h=f+28|0;e=e+28|0;Nk[c[(c[A>>2]|0)+604>>2]&255](c[L>>2]|0,c[h>>2]|0,c[e>>2]|0);do if(!(a[223632]|0)){if(!(g2a(223632)|0))break;kr(225352)}while(0);if((c[56338]|0)<=3)break;u=mr(lr(4)|0,141136,14)|0;z=a[g+11>>0]|0;v=z<<24>>24<0;z=mr(mr(u,v?c[g>>2]|0:g,v?c[f+20>>2]|0:z&255)|0,179162,2)|0;z=mr(QSa(z,c[h>>2]|0)|0,141151,10)|0;mr(QSa(z,c[e>>2]|0)|0,191225,1)|0}while(0);e=c[f+4>>2]|0;do if(!e){g=f+8|0;e=c[g>>2]|0;if((c[e>>2]|0)==(f|0))break;f=g;do{z=c[f>>2]|0;f=z+8|0;e=c[f>>2]|0}while((c[e>>2]|0)!=(z|0))}else while(1){f=c[e>>2]|0;if(!f)break;else e=f}while(0);if((e|0)==(j|0))break;else f=e}}e=c[A>>2]|0}r=N+4|0;c[r>>2]=0;s=N+8|0;c[s>>2]=0;t=N+4|0;c[N>>2]=t;c[B>>2]=0;c[O>>2]=0;Nk[c[e+104>>2]&255](c[L>>2]|0,35718,B);Nk[c[(c[A>>2]|0)+104>>2]&255](c[L>>2]|0,35719,O);f=c[O>>2]|0;do if((c[B>>2]|0)>0&(f|0)>1){c[P>>2]=0;c[Q>>2]=0;n=k0a(f)|0;o=M+11|0;p=M+8|0;q=M+4|0;d=b+52|0;e=0;b:while(1){Uk[c[(c[A>>2]|0)+92>>2]&15](c[L>>2]|0,e,f,0,P,Q,n);f=VNa(n)|0;if((f|0)>0?(C=f+-1|0,D=n+C|0,(a[D>>0]|0)==93):0){if((f|0)>1){f=C;do{z=f;f=f+-1|0;if((z|0)<=1)break}while((a[n+f>>0]|0)!=91);f=n+f|0}else f=D;a[f>>0]=0}if((c[Q>>2]|0)==37595){f=c[t>>2]|0;do if(f){h=r;while(1){g=c[f+16>>2]|0;if(e>>>0<g>>>0){g=c[f>>2]|0;if(!g){H=215;break}else{h=f;f=g}}else{if(g>>>0>=e>>>0){H=219;break}h=f+4|0;g=c[h>>2]|0;if(!g){H=218;break}else f=g}}if((H|0)==215){H=0;g=f;h=f;break}else if((H|0)==218){H=0;g=f;break}else if((H|0)==219){H=0;g=f;break}}else{g=t;h=t}while(0);f=c[h>>2]|0;if(!f){f=j0a(32)|0;c[f+16>>2]=e;z=f+20|0;c[z>>2]=0;c[z+4>>2]=0;c[z+8>>2]=0;c[f>>2]=0;c[f+4>>2]=0;c[f+8>>2]=g;c[h>>2]=f;g=c[c[N>>2]>>2]|0;if(!g)g=f;else{c[N>>2]=g;g=c[h>>2]|0}fp(c[r>>2]|0,g);c[s>>2]=(c[s>>2]|0)+1}E0a(f+20|0,n)|0}j=kk[c[(c[A>>2]|0)+132>>2]&511](c[L>>2]|0,n)|0;do if((j|0)!=-1){k=c[Q>>2]|0;m=c[P>>2]|0;c[M>>2]=0;c[M+4>>2]=0;c[M+8>>2]=0;g=VNa(n)|0;if(g>>>0>4294967279){H=228;break b}if(g>>>0<11){a[o>>0]=g;if(!g)f=M;else{f=M;H=232}}else{H=g+16&-16;f=j0a(H)|0;c[M>>2]=f;c[p>>2]=H|-2147483648;c[q>>2]=g;H=232}if((H|0)==232){H=0;x2a(f|0,n|0,g|0)|0}a[f+g>>0]=0;i=fX(M)|0;f=c[x>>2]|0;do if(f){h=d;while(1){g=c[f+16>>2]|0;if(i>>>0<g>>>0){g=c[f>>2]|0;if(!g){H=237;break}else{h=f;f=g}}else{if(g>>>0>=i>>>0){H=241;break}h=f+4|0;g=c[h>>2]|0;if(!g){H=240;break}else f=g}}if((H|0)==237){H=0;g=f;h=f;break}else if((H|0)==240){H=0;g=f;break}else if((H|0)==241){H=0;g=f;break}}else{g=x;h=x}while(0);f=c[h>>2]|0;if(!f){f=j0a(32)|0;c[f+16>>2]=i;c[f+20>>2]=-1;c[f+24>>2]=0;c[f+28>>2]=-1;c[f>>2]=0;c[f+4>>2]=0;c[f+8>>2]=g;c[h>>2]=f;g=c[c[w>>2]>>2]|0;if(!g)g=f;else{c[w>>2]=g;g=c[h>>2]|0}fp(c[d>>2]|0,g);c[y>>2]=(c[y>>2]|0)+1}c[f+20>>2]=j;c[f+24>>2]=k;c[f+28>>2]=m;if((a[o>>0]|0)<0)l0a(c[M>>2]|0);do if(!(a[223632]|0)){if(!(g2a(223632)|0))break;kr(225352)}while(0);if((c[56338]|0)<=3)break;v=mr(lr(4)|0,141180,10)|0;v=mr(PSa(mr(mr(mr(v,n,VNa(n)|0)|0,172651,1)|0,141191,5)|0,j)|0,132336,6)|0;v=mr(PSa(v,c[P>>2]|0)|0,141197,6)|0;z=J2(c[Q>>2]|0)|0;z=mr(v,z,VNa(z)|0)|0;BSa(M,z+(c[(c[z>>2]|0)+-12>>2]|0)|0);v=cUa(M,230580)|0;v=kk[c[(c[v>>2]|0)+28>>2]&511](v,10)|0;dUa(M);VSa(z,v)|0;HSa(z)|0}while(0);e=e+1|0;if((e|0)>=(c[B>>2]|0)){H=256;break}f=c[O>>2]|0}if((H|0)==228)r0a(M);else if((H|0)==256){m0a(n);break}}while(0);e=c[A>>2]|0;if((a[e+35>>0]|0)!=0?(E=c[s>>2]|0,(E|0)!=0):0){c[M>>2]=0;p=M+4|0;c[p>>2]=0;f=M+8|0;c[f>>2]=0;if(E>>>0>1073741823)g1a(M);j=E<<2;i=j0a(j)|0;c[M>>2]=i;k=i+(E<<2)|0;c[f>>2]=k;z2a(i|0,0,j|0)|0;c[p>>2]=k;c[P>>2]=0;k=P+4|0;c[k>>2]=0;j=P+8|0;c[j>>2]=0;f=c[N>>2]|0;if((f|0)==(t|0)){o=k;m=P;h=0;g=0;f=i}else{h=f;f=0;g=0;while(1){e=h+16|0;if((f|0)==(g|0))Nz(P,e);else{c[f>>2]=c[e>>2];c[k>>2]=f+4}e=c[h+4>>2]|0;do if(!e){f=h+8|0;e=c[f>>2]|0;if((c[e>>2]|0)==(h|0))break;do{E=c[f>>2]|0;f=E+8|0;e=c[f>>2]|0}while((c[e>>2]|0)!=(E|0))}else while(1){f=c[e>>2]|0;if(!f)break;else e=f}while(0);if((e|0)==(t|0))break;h=e;f=c[k>>2]|0;g=c[j>>2]|0}o=k;m=P;e=c[A>>2]|0;h=c[P>>2]|0;g=c[k>>2]|0;f=c[M>>2]|0}Sk[c[e+584>>2]&63](c[L>>2]|0,g-h>>2,h,37594,f);if((c[o>>2]|0)!=(c[m>>2]|0)){j=0;do{do if(!(a[223632]|0)){if(!(g2a(223632)|0))break;kr(225352)}while(0);if((c[56338]|0)>3){k=mr(lr(4)|0,141204,25)|0;i=(c[P>>2]|0)+(j<<2)|0;e=c[t>>2]|0;do if(e){h=c[i>>2]|0;g=r;while(1){f=c[e+16>>2]|0;if(h>>>0<f>>>0){f=c[e>>2]|0;if(!f){H=289;break}else{g=e;e=f}}else{if(f>>>0>=h>>>0){H=293;break}g=e+4|0;f=c[g>>2]|0;if(!f){H=292;break}else e=f}}if((H|0)==289){H=0;f=e;g=e;break}else if((H|0)==292){H=0;f=e;break}else if((H|0)==293){H=0;f=e;break}}else{f=t;g=t}while(0);e=c[g>>2]|0;if(!e){e=j0a(32)|0;c[e+16>>2]=c[i>>2];E=e+20|0;c[E>>2]=0;c[E+4>>2]=0;c[E+8>>2]=0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=f;c[g>>2]=e;f=c[c[N>>2]>>2]|0;if(!f)f=e;else{c[N>>2]=f;f=c[g>>2]|0}fp(c[r>>2]|0,f);c[s>>2]=(c[s>>2]|0)+1}C=e+20|0;E=a[C+11>>0]|0;D=E<<24>>24<0;E=mr(mr(mr(k,D?c[C>>2]|0:C,D?c[e+24>>2]|0:E&255)|0,172651,1)|0,141230,14)|0;mr(PSa(E,c[(c[M>>2]|0)+(j<<2)>>2]|0)|0,141245,2)|0}j=j+1|0}while(j>>>0<(c[o>>2]|0)-(c[m>>2]|0)>>2>>>0)}k=Q+4|0;c[k>>2]=0;m=Q+8|0;c[m>>2]=0;n=Q+4|0;c[Q>>2]=n;f=c[M>>2]|0;c:do if((c[p>>2]|0)!=(f|0)){e=0;g=0;while(1){j=f+(e<<2)|0;do if(g){i=c[j>>2]|0;h=k;f=g;while(1){g=c[f+16>>2]|0;if((i|0)<(g|0)){g=c[f>>2]|0;if(!g){H=306;break}else{h=f;f=g}}else{if((g|0)>=(i|0)){H=310;break}h=f+4|0;g=c[h>>2]|0;if(!g){H=309;break}else f=g}}if((H|0)==306){H=0;i=f;h=f;break}else if((H|0)==309){H=0;i=f;break}else if((H|0)==310){H=0;i=f;break}}else{i=n;h=n}while(0);f=c[h>>2]|0;if(!f){g=j0a(32)|0;c[g+16>>2]=c[j>>2];c[g+20>>2]=0;c[g+24>>2]=0;c[g+28>>2]=0;c[g>>2]=0;c[g+4>>2]=0;c[g+8>>2]=i;c[h>>2]=g;f=c[c[Q>>2]>>2]|0;if(!f)f=g;else{c[Q>>2]=f;f=c[h>>2]|0}fp(c[k>>2]|0,f);c[m>>2]=(c[m>>2]|0)+1;f=g}g=c[(c[P>>2]|0)+(e<<2)>>2]|0;c[R>>2]=g;h=f+24|0;i=c[h>>2]|0;if(i>>>0<(c[f+28>>2]|0)>>>0){c[i>>2]=g;c[h>>2]=i+4}else $N(f+20|0,R);e=e+1|0;f=c[M>>2]|0;if(e>>>0>=(c[p>>2]|0)-f>>2>>>0)break c;g=c[n>>2]|0}}while(0);c[R>>2]=0;Nk[c[(c[A>>2]|0)+104>>2]&255](c[L>>2]|0,37593,R);d:do if(c[R>>2]|0){h=K+4|0;i=K+8|0;g=0;while(1){c[S>>2]=0;Qk[c[(c[A>>2]|0)+684>>2]&127](c[L>>2]|0,g,37569,S);c[I>>2]=0;Qk[c[(c[A>>2]|0)+684>>2]&127](c[L>>2]|0,g,37573,I);c[J>>2]=0;Qk[c[(c[A>>2]|0)+684>>2]&127](c[L>>2]|0,g,37572,J);do if(!(a[223632]|0)){if(!(g2a(223632)|0))break;kr(225352)}while(0);if((c[56338]|0)>3){E=mr(lr(4)|0,141248,37)|0;E=mr(mr(PSa(E,c[S>>2]|0)|0,172651,1)|0,141286,28)|0;E=mr(PSa(E,c[I>>2]|0)|0,141315,11)|0;mr(PSa(E,c[J>>2]|0)|0,191225,1)|0}e=c[I>>2]|0;if(e|0){c[K>>2]=0;c[h>>2]=0;c[i>>2]=0;if(e>>>0>1073741823)break;C=e<<2;E=j0a(C)|0;c[K>>2]=E;D=E+(e<<2)|0;c[i>>2]=D;z2a(E|0,0,C|0)|0;c[h>>2]=D;Qk[c[(c[A>>2]|0)+684>>2]&127](c[L>>2]|0,g,37574,E);do if(!(a[223632]|0)){if(!(g2a(223632)|0))break;kr(225352)}while(0);if((c[56338]|0)>3)mr(lr(4)|0,141327,16)|0;if((c[I>>2]|0)>0){e=0;do{do if(!(a[223632]|0)){if(!(g2a(223632)|0))break;kr(225352)}while(0);if((c[56338]|0)>3){E=lr(4)|0;PSa(E,c[(c[K>>2]|0)+(e<<2)>>2]|0)|0}f=(a[223632]|0)==0;do if((e|0)<((c[I>>2]|0)+-1|0)){do if(f){if(!(g2a(223632)|0))break;kr(225352)}while(0);if((c[56338]|0)<=3)break;mr(lr(4)|0,184688,2)|0}else{do if(f){if(!(g2a(223632)|0))break;kr(225352)}while(0);if((c[56338]|0)<=3)break;mr(lr(4)|0,141245,2)|0}while(0);e=e+1|0}while((e|0)<(c[I>>2]|0))}e=c[K>>2]|0;if(e|0){c[h>>2]=e;l0a(e)}}g=g+1|0;if(g>>>0>=(c[R>>2]|0)>>>0)break d}g1a(K)}while(0);aO(Q,c[n>>2]|0);e=c[P>>2]|0;if(e|0){c[o>>2]=e;l0a(e)}e=c[M>>2]|0;if(e|0){c[p>>2]=e;l0a(e)}e=c[A>>2]|0}c[P>>2]=0;Nk[c[e+104>>2]&255](c[L>>2]|0,35721,P);Nk[c[(c[A>>2]|0)+104>>2]&255](c[L>>2]|0,35722,O);f=c[O>>2]|0;do if((c[P>>2]|0)>0&(f|0)>1){c[Q>>2]=0;c[R>>2]=0;n=k0a(f)|0;o=S+11|0;p=S+8|0;q=S+4|0;m=b+64|0;e=0;e:while(1){Uk[c[(c[A>>2]|0)+88>>2]&15](c[L>>2]|0,e,f,0,Q,R,n);i=kk[c[(c[A>>2]|0)+100>>2]&511](c[L>>2]|0,n)|0;do if((i|0)!=-1){j=c[R>>2]|0;k=c[Q>>2]|0;c[S>>2]=0;c[S+4>>2]=0;c[S+8>>2]=0;g=VNa(n)|0;if(g>>>0>4294967279){H=367;break e}if(g>>>0<11){a[o>>0]=g;if(!g)f=S;else{f=S;H=371}}else{H=g+16&-16;f=j0a(H)|0;c[S>>2]=f;c[p>>2]=H|-2147483648;c[q>>2]=g;H=371}if((H|0)==371){H=0;x2a(f|0,n|0,g|0)|0}a[f+g>>0]=0;h=bO(F,M,S)|0;f=c[h>>2]|0;if(!f){f=j0a(40)|0;g=f+16|0;c[g>>2]=c[S>>2];c[g+4>>2]=c[S+4>>2];c[g+8>>2]=c[S+8>>2];c[S>>2]=0;c[S+4>>2]=0;c[S+8>>2]=0;c[f+28>>2]=-1;c[f+32>>2]=0;c[f+36>>2]=-1;g=c[M>>2]|0;c[f>>2]=0;c[f+4>>2]=0;c[f+8>>2]=g;c[h>>2]=f;g=c[c[F>>2]>>2]|0;if(!g)g=f;else{c[F>>2]=g;g=c[h>>2]|0}fp(c[m>>2]|0,g);c[G>>2]=(c[G>>2]|0)+1}c[f+28>>2]=i;c[f+32>>2]=j;c[f+36>>2]=k;if((a[o>>0]|0)<0)l0a(c[S>>2]|0);do if(!(a[223632]|0)){if(!(g2a(223632)|0))break;kr(225352)}while(0);if((c[56338]|0)<=3)break;b=mr(lr(4)|0,141344,9)|0;b=mr(PSa(mr(mr(mr(b,n,VNa(n)|0)|0,172651,1)|0,141191,5)|0,i)|0,132336,6)|0;b=PSa(b,c[Q>>2]|0)|0;BSa(M,b+(c[(c[b>>2]|0)+-12>>2]|0)|0);K=cUa(M,230580)|0;K=kk[c[(c[K>>2]|0)+28>>2]&511](K,10)|0;dUa(M);VSa(b,K)|0;HSa(b)|0}while(0);e=e+1|0;if((e|0)>=(c[P>>2]|0)){H=385;break}f=c[O>>2]|0}if((H|0)==367)r0a(S);else if((H|0)==385){m0a(n);break}}while(0);if((a[223632]|0)==0?g2a(223632)|0:0)kr(225352);if((c[56338]|0)>3){S=lr(4)|0;BSa(M,S+(c[(c[S>>2]|0)+-12>>2]|0)|0);R=cUa(M,230580)|0;R=kk[c[(c[R>>2]|0)+28>>2]&511](R,10)|0;dUa(M);VSa(S,R)|0;HSa(S)|0}cO(N,c[t>>2]|0);l=T;return}function MN(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0;i=l;l=l+32|0;d=i+16|0;e=i+12|0;f=i;g=b+20|0;h=c[g>>2]|0;if(!h){h=0;l=i;return h|0}c[e>>2]=0;j=b+16|0;Bk[c[(c[j>>2]|0)+256>>2]&2047](h);Nk[c[(c[j>>2]|0)+104>>2]&255](c[g>>2]|0,35715,e);if((c[e>>2]|0)==1)b=1;else{if((a[223632]|0)==0?g2a(223632)|0:0)kr(225352);if((c[56338]|0)>1){m=mr(lr(2)|0,140953,26)|0;h=c[b+12>>2]|0;k=h+12|0;j=a[k+11>>0]|0;e=j<<24>>24<0;j=mr(mr(mr(m,e?c[k>>2]|0:k,e?c[h+16>>2]|0:j&255)|0,172651,1)|0,140980,4)|0;j=mr(QSa(j,c[g>>2]|0)|0,140897,11)|0;j=QSa(j,c[b+40>>2]|0)|0;BSa(d,j+(c[(c[j>>2]|0)+-12>>2]|0)|0);h=cUa(d,230580)|0;h=kk[c[(c[h>>2]|0)+28>>2]&511](h,10)|0;dUa(d);VSa(j,h)|0;HSa(j)|0};c[f>>2]=0;c[f+4>>2]=0;c[f+8>>2]=0;if(kk[c[(c[b>>2]|0)+20>>2]&511](b,f)|0){if((a[223632]|0)==0?g2a(223632)|0:0)kr(225352);if((c[56338]|0)>1){j=mr(lr(2)|0,140985,9)|0;m=a[f+11>>0]|0;k=m<<24>>24<0;m=mr(j,k?c[f>>2]|0:f,k?c[f+4>>2]|0:m&255)|0;BSa(d,m+(c[(c[m>>2]|0)+-12>>2]|0)|0);k=cUa(d,230580)|0;k=kk[c[(c[k>>2]|0)+28>>2]&511](k,10)|0;dUa(d);VSa(m,k)|0;HSa(m)|0}}if((a[223632]|0)==0?g2a(223632)|0:0)kr(225352);if((c[56338]|0)>1){m=lr(2)|0;BSa(d,m+(c[(c[m>>2]|0)+-12>>2]|0)|0);k=cUa(d,230580)|0;k=kk[c[(c[k>>2]|0)+28>>2]&511](k,10)|0;dUa(d);VSa(m,k)|0;HSa(m)|0}if((a[f+11>>0]|0)<0)l0a(c[f>>2]|0);b=0}m=b;l=i;return m|0}function NN(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=l;l=l+16|0;d=h+4|0;f=h;g=c[a+20>>2]|0;if(!g){g=0;l=h;return g|0}e=c[a+16>>2]|0;c[d>>2]=0;c[f>>2]=0;Nk[c[e+104>>2]&255](g,35716,d);a=c[d>>2]|0;if((a|0)>1){d=k0a(a)|0;Qk[c[e+112>>2]&127](g,a,f,d);if((c[f>>2]|0)>0)E0a(b,d)|0;m0a(d);a=(c[f>>2]|0)>0}else a=0;g=a;l=h;return g|0}function ON(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0;m=l;l=l+16|0;d=m+4|0;g=m;k=a+20|0;if(!(c[k>>2]|0)){k=0;l=m;return k|0}Jk[c[(c[a>>2]|0)+12>>2]&1023](a,b);c[d>>2]=0;e=a+16|0;Nk[c[(c[e>>2]|0)+104>>2]&255](c[k>>2]|0,34625,d);if(!(c[d>>2]|0))a=0;else{a=j0a(48)|0;Tha(a);f=a+12|0;c[f>>2]=0;c[f+4>>2]=0;c[f+8>>2]=0;c[a+24>>2]=2;c[a+28>>2]=0;c[a>>2]=78660;f=a+32|0;c[f>>2]=0;c[f+4>>2]=0;c[f+8>>2]=0;c[f+12>>2]=0;b=c[d>>2]|0;d=a+36|0;c[d>>2]=0;do if(b)if((b|0)<0)g1a(f);else{h=j0a(b)|0;i=h+b|0;z2a(h|0,0,b|0)|0;j=i;c[f>>2]=h;c[d>>2]=j;c[a+40>>2]=j;j=b;break}else{h=0;i=0;j=0}while(0);c[g>>2]=0;Sk[c[(c[e>>2]|0)+608>>2]&63](c[k>>2]|0,j,0,g,(h|0)==(i|0)?0:h);c[a+44>>2]=c[g>>2]}k=a;l=m;return k|0}function PN(a){a=a|0;var b=0;b=c[a+20>>2]|0;if(!b)return;Bk[c[(c[a+16>>2]|0)+176>>2]&2047](b);return}function QN(a){a=a|0;var b=0;c[a>>2]=78660;b=c[a+32>>2]|0;if(!b){Pr(a);return}c[a+36>>2]=b;l0a(b);Pr(a);return}function RN(a){a=a|0;var b=0;c[a>>2]=78660;b=c[a+32>>2]|0;if(b|0){c[a+36>>2]=b;l0a(b)}Pr(a);l0a(a);return}function SN(a){a=a|0;var b=0;a=j0a(48)|0;Tha(a);b=a+12|0;c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;c[a+24>>2]=2;c[a+28>>2]=0;c[a>>2]=78660;b=a+32|0;c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;c[b+12>>2]=0;return a|0}function TN(a,b){a=a|0;b=b|0;var c=0;c=j0a(48)|0;XN(c,a,b);return c|0}function UN(a,b){a=a|0;b=b|0;if(!b){b=0;return b|0}b=(y1a(b,42800,46224,0)|0)!=0;return b|0}function VN(a){a=a|0;return 186332}function WN(a){a=a|0;return 140909}function XN(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;Or(a,b,d);c[a>>2]=78660;e=a+32|0;f=b+32|0;c[e>>2]=0;j=a+36|0;c[j>>2]=0;g=a+40|0;c[g>>2]=0;h=b+36|0;d=(c[h>>2]|0)-(c[f>>2]|0)|0;if(d|0){if((d|0)<0)g1a(e);i=j0a(d)|0;c[j>>2]=i;c[e>>2]=i;c[g>>2]=i+d;e=c[f>>2]|0;d=(c[h>>2]|0)-e|0;if((d|0)>0){x2a(i|0,e|0,d|0)|0;c[j>>2]=i+d}}c[a+44>>2]=c[b+44>>2];return}function YN(a,b){a=a|0;b=b|0;if(!b)return;else{YN(a,c[b>>2]|0);YN(a,c[b+4>>2]|0);l0a(b);return}}function ZN(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0;j=l;l=l+16|0;g=j;h=dO(d,g,e)|0;e=c[h>>2]|0;if(e|0){d=e;i=0;c[b>>2]=d;d=b+4|0;a[d>>0]=i;l=j;return}i=j0a(36)|0;t0a(i+16|0,f);k=f+12|0;f=c[k+4>>2]|0;e=i+28|0;c[e>>2]=c[k>>2];c[e+4>>2]=f;e=c[g>>2]|0;c[i>>2]=0;c[i+4>>2]=0;c[i+8>>2]=e;c[h>>2]=i;e=c[c[d>>2]>>2]|0;if(!e)e=i;else{c[d>>2]=e;e=c[h>>2]|0}fp(c[d+4>>2]|0,e);k=d+8|0;c[k>>2]=(c[k>>2]|0)+1;k=i;d=1;c[b>>2]=k;k=b+4|0;a[k>>0]=d;l=j;return}function _N(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;m=b+4|0;e=c[m>>2]|0;do if(e|0){l=a[d+11>>0]|0;k=l<<24>>24<0;l=k?c[d+4>>2]|0:l&255;k=k?c[d>>2]|0:d;b=m;do{f=e+16|0;h=a[f+11>>0]|0;g=h<<24>>24<0;h=g?c[e+20>>2]|0:h&255;i=l>>>0<h>>>0;d=i?l:h;if((d|0)!=0?(j=cOa(g?c[f>>2]|0:f,k,d)|0,(j|0)!=0):0)d=j;else d=h>>>0<l>>>0?-1:i&1;i=(d|0)<0;b=i?b:e;e=c[(i?e+4|0:e)>>2]|0}while((e|0)!=0);if((b|0)!=(m|0)){e=b+16|0;g=a[e+11>>0]|0;f=g<<24>>24<0;g=f?c[b+20>>2]|0:g&255;d=g>>>0<l>>>0?g:l;if(d|0?(n=cOa(k,f?c[e>>2]|0:e,d)|0,n|0):0){if((n|0)<0)break;return b|0}if(l>>>0>=g>>>0){n=b;return n|0}}}while(0);n=m;return n|0}function $N(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;i=a+4|0;j=c[a>>2]|0;k=(c[i>>2]|0)-j|0;g=k>>2;d=g+1|0;if(d>>>0>1073741823)g1a(a);l=a+8|0;f=(c[l>>2]|0)-j|0;h=f>>1;h=f>>2>>>0<536870911?(h>>>0<d>>>0?d:h):1073741823;do if(h)if(h>>>0>1073741823){l=db(8)|0;p0a(l,183738);c[l>>2]=110936;hb(l|0,65952,1066)}else{f=j0a(h<<2)|0;e=f;break}else{e=0;f=0}while(0);d=e+(g<<2)|0;c[d>>2]=c[b>>2];if((k|0)>0)x2a(f|0,j|0,k|0)|0;c[a>>2]=e;c[i>>2]=d+4;c[l>>2]=e+(h<<2);if(!j)return;l0a(j);return}function aO(a,b){a=a|0;b=b|0;if(!b)return;aO(a,c[b>>2]|0);aO(a,c[b+4>>2]|0);a=c[b+20>>2]|0;if(a|0){c[b+24>>2]=a;l0a(a)}l0a(b);return}function bO(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;f=b+4|0;h=c[f>>2]|0;if(!h){c[d>>2]=f;o=f;return o|0}m=a[e+11>>0]|0;l=m<<24>>24<0;m=l?c[e+4>>2]|0:m&255;l=l?c[e>>2]|0:e;g=b+4|0;f=h;while(1){e=f+16|0;h=a[e+11>>0]|0;b=h<<24>>24<0;h=b?c[f+20>>2]|0:h&255;k=h>>>0<m>>>0;j=k?h:m;i=(j|0)==0;if(!i?(n=b?c[e>>2]|0:e,o=cOa(l,n,j)|0,(o|0)!=0):0)if((o|0)<0)b=7;else{e=n;b=11}else if(m>>>0>=h>>>0)if(i)b=12;else{e=b?c[e>>2]|0:e;b=11}else b=7;if((b|0)==7){b=0;e=c[f>>2]|0;if(!e){b=8;break}else{g=f;f=e}}else if((b|0)==11){e=cOa(e,l,j)|0;if(e)if((e|0)<0)b=14;else{b=16;break}else b=12}if((b|0)==12)if(k)b=14;else{b=16;break}if((b|0)==14){e=f+4|0;b=c[e>>2]|0;if(!b){b=15;break}else{g=e;f=b}}}if((b|0)==8){c[d>>2]=f;o=f;return o|0}else if((b|0)==15){c[d>>2]=f;o=e;return o|0}else if((b|0)==16){c[d>>2]=f;o=g;return o|0}return 0}function cO(b,d){b=b|0;d=d|0;if(!d)return;cO(b,c[d>>2]|0);cO(b,c[d+4>>2]|0);b=d+20|0;if((a[b+11>>0]|0)<0)l0a(c[b>>2]|0);l0a(d);return}function dO(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;f=b+4|0;h=c[f>>2]|0;if(!h){c[d>>2]=f;o=f;return o|0}m=a[e+11>>0]|0;l=m<<24>>24<0;m=l?c[e+4>>2]|0:m&255;l=l?c[e>>2]|0:e;g=b+4|0;f=h;while(1){e=f+16|0;h=a[e+11>>0]|0;b=h<<24>>24<0;h=b?c[f+20>>2]|0:h&255;k=h>>>0<m>>>0;j=k?h:m;i=(j|0)==0;if(!i?(n=b?c[e>>2]|0:e,o=cOa(l,n,j)|0,(o|0)!=0):0)if((o|0)<0)b=7;else{e=n;b=11}else if(m>>>0>=h>>>0)if(i)b=12;else{e=b?c[e>>2]|0:e;b=11}else b=7;if((b|0)==7){b=0;e=c[f>>2]|0;if(!e){b=8;break}else{g=f;f=e}}else if((b|0)==11){e=cOa(e,l,j)|0;if(e)if((e|0)<0)b=14;else{b=16;break}else b=12}if((b|0)==12)if(k)b=14;else{b=16;break}if((b|0)==14){e=f+4|0;b=c[e>>2]|0;if(!b){b=15;break}else{g=e;f=b}}}if((b|0)==8){c[d>>2]=f;o=f;return o|0}else if((b|0)==15){c[d>>2]=f;o=e;return o|0}else if((b|0)==16){c[d>>2]=f;o=g;return o|0}return 0}function eO(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;g=a+36|0;d=a+40|0;b=c[d>>2]|0;do if(b){e=a+40|0;while(1){d=c[b+16>>2]|0;if(d>>>0>46240>>>0){d=c[b>>2]|0;if(!d){d=5;break}else{e=b;b=d}}else{if(d>>>0>=46240>>>0){d=9;break}e=b+4|0;d=c[e>>2]|0;if(!d){d=8;break}else b=d}}if((d|0)==5){f=b;e=b;break}else if((d|0)==8){f=b;break}else if((d|0)==9){f=b;break}}else{f=d;e=d}while(0);b=c[e>>2]|0;if(!b){b=j0a(24)|0;c[b+16>>2]=46240;c[b+20>>2]=0;c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=f;c[e>>2]=b;d=c[c[g>>2]>>2]|0;if(!d)d=b;else{c[g>>2]=d;d=c[e>>2]|0}fp(c[a+40>>2]|0,d);g=a+44|0;c[g>>2]=(c[g>>2]|0)+1}d=b+20|0;if(c[d>>2]|0){a=c[d>>2]|0;return a|0}e=j0a(52)|0;lO(e,c[a+24>>2]|0);b=c[d>>2]|0;if((b|0)==(e|0)){a=c[d>>2]|0;return a|0}c[d>>2]=e;a=e+8|0;c[a>>2]=(c[a>>2]|0)+1;if(!b){a=c[d>>2]|0;return a|0}g=b+8|0;a=c[g>>2]|0;c[g>>2]=a-1;if((a|0)!=1){a=c[d>>2]|0;return a|0}UU(b,1,1);a=c[d>>2]|0;return a|0}function fO(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;e=c[a>>2]|0;if(!e)return;f=a+4|0;b=c[f>>2]|0;if((b|0)==(e|0))b=e;else{do{b=b+-4|0;d=c[b>>2]|0;if(d|0?(h=d+8|0,g=c[h>>2]|0,c[h>>2]=g-1,(g|0)==1):0)UU(d,1,1);c[b>>2]=0}while((b|0)!=(e|0));b=c[a>>2]|0}c[f>>2]=e;l0a(b);return}function gO(a){a=a|0;FN(a,c[a+4>>2]|0);return}function hO(a){a=a|0;GN(a,c[a+4>>2]|0);return}function iO(a){a=a|0;HN(a,c[a+4>>2]|0);return}function jO(a){a=a|0;IN(a,c[a+4>>2]|0);return}function kO(a){a=a|0;var b=0,d=0,e=0;b=c[a>>2]|0;if(b|0?(e=b+8|0,d=c[e>>2]|0,c[e>>2]=d-1,(d|0)==1):0)UU(b,1,1);c[a>>2]=0;return}function lO(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;h=l;l=l+16|0;e=h;f=j0a(32)|0;c[e>>2]=f;c[e+8>>2]=-2147483616;c[e+4>>2]=16;g=f;i=141354;j=g+16|0;do{a[g>>0]=a[i>>0]|0;g=g+1|0;i=i+1|0}while((g|0)<(j|0));a[f+16>>0]=0;Cu(b,e,d);c[b>>2]=72724;xla(b+28|0,0);j=b+40|0;c[j>>2]=j;c[b+44>>2]=j;c[b+48>>2]=0;if((a[e+11>>0]|0)>=0){c[b>>2]=78832;l=h;return}l0a(c[e>>2]|0);c[b>>2]=78832;l=h;return}function mO(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;c[a>>2]=72724;e=a+40|0;d=a+48|0;if(c[d>>2]|0?(b=c[a+44>>2]|0,f=(c[e>>2]|0)+4|0,g=c[b>>2]|0,c[g+4>>2]=c[f>>2],c[c[f>>2]>>2]=g,c[d>>2]=0,(b|0)!=(e|0)):0)do{g=b;b=c[b+4>>2]|0;l0a(g)}while((b|0)!=(e|0));oX(a+28|0);Is(a);l0a(a);return}function nO(b,d){b=b|0;d=d|0;b=bu(c[b+24>>2]|0,1)|0;if(!(a[b+24>>0]|0))return;Bk[c[b+64>>2]&2047](d);return}function oO(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0;c[a>>2]=78600;e=a+20|0;f=c[e>>2]|0;if(!f){SU(a);return}g=a+24|0;b=c[g>>2]|0;if((b|0)==(f|0))b=f;else{do{b=b+-4|0;d=c[b>>2]|0;if(d|0?(i=d+8|0,h=c[i>>2]|0,c[i>>2]=h-1,(h|0)==1):0)UU(d,1,1);c[b>>2]=0}while((b|0)!=(f|0));b=c[e>>2]|0}c[g>>2]=f;l0a(b);SU(a);return}function pO(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0;c[a>>2]=78600;e=a+20|0;f=c[e>>2]|0;if(!f){SU(a);l0a(a);return}g=a+24|0;b=c[g>>2]|0;if((b|0)==(f|0))b=f;else{do{b=b+-4|0;d=c[b>>2]|0;if(d|0?(i=d+8|0,h=c[i>>2]|0,c[i>>2]=h-1,(h|0)==1):0)UU(d,1,1);c[b>>2]=0}while((b|0)!=(f|0));b=c[e>>2]|0}c[g>>2]=f;l0a(b);SU(a);l0a(a);return}function qO(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;m=a+8|0;g=c[m>>2]|0;n=a+4|0;e=c[n>>2]|0;if(g-e>>2>>>0>=b>>>0){do{f=c[d>>2]|0;c[e>>2]=f;if(f){e=f+8|0;c[e>>2]=(c[e>>2]|0)+1;e=c[n>>2]|0}e=e+4|0;c[n>>2]=e;b=b+-1|0}while((b|0)!=0);return}f=c[a>>2]|0;k=e-f>>2;e=k+b|0;if(e>>>0>1073741823)g1a(a);j=g-f|0;l=j>>1;e=j>>2>>>0<536870911?(l>>>0<e>>>0?e:l):1073741823;do if(e)if(e>>>0>1073741823){n=db(8)|0;p0a(n,183738);c[n>>2]=110936;hb(n|0,65952,1066)}else{l=j0a(e<<2)|0;break}else l=0;while(0);j=l+(k<<2)|0;f=j;i=l+(e<<2)|0;e=f;h=j;while(1){g=c[d>>2]|0;c[h>>2]=g;if(!g)e=h;else{h=g+8|0;c[h>>2]=(c[h>>2]|0)+1}g=e+4|0;b=b+-1|0;if(!b)break;else{e=g;h=g}}d=g;e=c[a>>2]|0;b=e;g=c[n>>2]|0;if((g|0)==(e|0))g=b;else{h=k+-1-((g+-4-b|0)>>>2)|0;f=j;while(1){g=g+-4|0;b=c[g>>2]|0;c[f+-4>>2]=b;if(b|0){k=b+8|0;c[k>>2]=(c[k>>2]|0)+1}if((g|0)==(e|0))break;else f=f+-4|0}f=l+(h<<2)|0;g=c[a>>2]|0;e=c[n>>2]|0}c[a>>2]=f;c[n>>2]=d;c[m>>2]=i;b=g;if((e|0)!=(b|0))do{e=e+-4|0;f=c[e>>2]|0;if(f|0?(m=f+8|0,n=c[m>>2]|0,c[m>>2]=n-1,(n|0)==1):0)UU(f,1,1);c[e>>2]=0}while((e|0)!=(b|0));if(!g)return;l0a(g);return}function rO(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=l;l=l+16|0;g=i;c[g>>2]=0;h=a+4|0;d=c[h>>2]|0;f=c[a>>2]|0;e=d-f>>2;if(e>>>0>=b>>>0){if(e>>>0>b>>>0){b=f+(b<<2)|0;if((b|0)!=(d|0))do{d=d+-4|0;a=c[d>>2]|0;if(a|0?(e=a+8|0,f=c[e>>2]|0,c[e>>2]=f-1,(f|0)==1):0)UU(a,1,1);c[d>>2]=0}while((d|0)!=(b|0));c[h>>2]=b}}else qO(a,b-e|0,g);d=c[g>>2]|0;if(!d){l=i;return}g=d+8|0;h=c[g>>2]|0;c[g>>2]=h-1;if((h|0)!=1){l=i;return}UU(d,1,1);l=i;return}function sO(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0;m=l;l=l+16|0;e=m;Nr(a,b,d);c[a>>2]=78388;vt()|0;k=c[(c[56383]|0)+84>>2]|0;c[e>>2]=0;tO(a+56|0,k,e);e=c[e>>2]|0;if(e|0?(j=e+8|0,k=c[j>>2]|0,c[j>>2]=k-1,(k|0)==1):0)UU(e,1,1);i=a+68|0;c[a+72>>2]=0;c[a+76>>2]=0;c[i>>2]=a+72;j=a+80|0;c[a+84>>2]=0;c[a+88>>2]=0;c[j>>2]=a+84;c[a+96>>2]=0;c[a+100>>2]=0;c[a+92>>2]=a+96;g=a+104|0;k=a+136|0;c[k>>2]=0;c[a+140>>2]=0;c[a+144>>2]=0;c[a+152>>2]=0;c[a+156>>2]=0;c[g>>2]=0;c[g+4>>2]=0;c[g+8>>2]=0;c[g+12>>2]=0;c[a+148>>2]=a+152;c[a+164>>2]=0;c[a+168>>2]=0;c[a+160>>2]=a+164;c[a+176>>2]=0;c[a+180>>2]=0;c[a+172>>2]=a+176;c[a+184>>2]=0;c[a+188>>2]=0;c[a+192>>2]=0;g=b+104|0;h=b+108|0;e=c[g>>2]|0;f=(c[h>>2]|0)!=(e|0);if(!(c[d+4>>2]&16)){if(f){f=0;do{uO(a,c[e+(f<<2)>>2]|0)|0;f=f+1|0;e=c[g>>2]|0}while(f>>>0<(c[h>>2]|0)-e>>2>>>0)}}else if(f){f=0;do{n=j0a(152)|0;GV(n,c[e+(f<<2)>>2]|0,d);uO(a,n)|0;f=f+1|0;e=c[g>>2]|0}while(f>>>0<(c[h>>2]|0)-e>>2>>>0)}e=c[b+68>>2]|0;g=b+72|0;if((e|0)!=(g|0)){d=e;while(1){e=c[d+28>>2]|0;c[(vO(i,d+16|0)|0)>>2]=e;wO(a);e=c[d+4>>2]|0;if(!e){f=d+8|0;e=c[f>>2]|0;if((c[e>>2]|0)!=(d|0))do{n=c[f>>2]|0;f=n+8|0;e=c[f>>2]|0}while((c[e>>2]|0)!=(n|0))}else while(1){f=c[e>>2]|0;if(!f)break;else e=f}if((e|0)==(g|0))break;else d=e}}e=c[b+80>>2]|0;g=b+84|0;if((e|0)!=(g|0)){d=e;while(1){e=c[d+28>>2]|0;c[(vO(j,d+16|0)|0)>>2]=e;wO(a);e=c[d+4>>2]|0;if(!e){f=d+8|0;e=c[f>>2]|0;if((c[e>>2]|0)!=(d|0))do{n=c[f>>2]|0;f=n+8|0;e=c[f>>2]|0}while((c[e>>2]|0)!=(n|0))}else while(1){f=c[e>>2]|0;if(!f)break;else e=f}if((e|0)==(g|0))break;else d=e}}c[a+120>>2]=c[b+120>>2];c[a+124>>2]=c[b+124>>2];c[a+128>>2]=c[b+128>>2];c[a+132>>2]=c[b+132>>2];if((a|0)==(b|0)){l=m;return}xO(k,c[b+136>>2]|0,c[b+140>>2]|0);l=m;return}function tO(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;c[a>>2]=0;f=a+4|0;c[f>>2]=0;e=a+8|0;c[e>>2]=0;if(!b)return;if(b>>>0>1073741823)g1a(a);g=j0a(b<<2)|0;c[f>>2]=g;c[a>>2]=g;c[e>>2]=g+(b<<2);a=g;do{e=c[d>>2]|0;c[a>>2]=e;if(e){a=e+8|0;c[a>>2]=(c[a>>2]|0)+1;a=c[f>>2]|0}a=a+4|0;c[f>>2]=a;b=b+-1|0}while((b|0)!=0);return}function uO(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0;n=l;l=l+16|0;k=n;if(!b){a=0;l=n;return a|0}j=a+104|0;m=a+108|0;d=c[m>>2]|0;e=c[j>>2]|0;f=e;a:do if((d|0)!=(e|0)){e=d-e>>2;d=0;while(1){if((c[f+(d<<2)>>2]|0)==(b|0)){d=0;break}d=d+1|0;if(d>>>0>=e>>>0)break a}l=n;return d|0}while(0);f=a+56|0;g=a+60|0;if((c[g>>2]|0)!=(c[f>>2]|0)){d=0;do{if(c[(zN(f,d)|0)>>2]|0?(i=c[(zN(f,d)|0)>>2]|0,h=c[i+20>>2]|0,i=i+24|0,(h|0)!=(c[i>>2]|0)):0){e=h;do{BN(c[e>>2]|0,b);e=e+4|0}while((e|0)!=(c[i>>2]|0))}d=d+1|0}while(d>>>0<(c[g>>2]|0)-(c[f>>2]|0)>>2>>>0)}Zha(b,a)|0;c[k>>2]=b;d=b+8|0;c[d>>2]=(c[d>>2]|0)+1;d=c[m>>2]|0;if(d>>>0<(c[a+112>>2]|0)>>>0){e=c[k>>2]|0;c[d>>2]=e;if(e){d=e+8|0;c[d>>2]=(c[d>>2]|0)+1;d=c[m>>2]|0}c[m>>2]=d+4}else CN(j,k);d=c[k>>2]|0;if(d|0?(k=d+8|0,m=c[k>>2]|0,c[k>>2]=m-1,(m|0)==1):0)UU(d,1,1);wO(a);a=1;l=n;return a|0}function vO(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=l;l=l+16|0;e=h;f=CO(a,e,b)|0;d=c[f>>2]|0;if(d|0){a=d;a=a+28|0;l=h;return a|0}g=j0a(32)|0;t0a(g+16|0,b);c[g+28>>2]=0;d=c[e>>2]|0;c[g>>2]=0;c[g+4>>2]=0;c[g+8>>2]=d;c[f>>2]=g;d=c[c[a>>2]>>2]|0;if(!d)d=g;else{c[a>>2]=d;d=c[f>>2]|0}fp(c[a+4>>2]|0,d);a=a+8|0;c[a>>2]=(c[a>>2]|0)+1;a=g;a=a+28|0;l=h;return a|0}function wO(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;f=b+56|0;g=b+60|0;if((c[g>>2]|0)!=(c[f>>2]|0)){d=0;do{if(c[(zN(f,d)|0)>>2]|0?(i=c[(zN(f,d)|0)>>2]|0,h=c[i+20>>2]|0,i=c[i+24>>2]|0,(h|0)!=(i|0)):0){e=h;do{j=c[e>>2]|0;a[j+36>>0]=1;a[j+37>>0]=0;e=e+4|0}while((e|0)!=(i|0))}d=d+1|0}while(d>>>0<(c[g>>2]|0)-(c[f>>2]|0)>>2>>>0)}g=b+148|0;e=b+152|0;iu(g,c[e>>2]|0);c[b+156>>2]=0;c[g>>2]=e;c[e>>2]=0;e=b+160|0;f=b+164|0;iu(e,c[f>>2]|0);c[b+168>>2]=0;c[e>>2]=f;c[f>>2]=0;f=b+172|0;e=b+176|0;iu(f,c[e>>2]|0);c[b+180>>2]=0;c[f>>2]=e;c[e>>2]=0;e=c[b+184>>2]|0;f=b+188|0;d=c[f>>2]|0;if((d|0)!=(e|0))do{j=d;d=d+-12|0;iu(d,c[j+-8>>2]|0)}while((d|0)!=(e|0));c[f>>2]=e;d=c[b+104>>2]|0;e=b+108|0;if((d|0)==(c[e>>2]|0))return;do{zO(g,(c[d>>2]|0)+80|0);d=d+4|0}while((d|0)!=(c[e>>2]|0));return}function xO(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;j=(e-d|0)/12|0;k=b+8|0;f=c[k>>2]|0;i=c[b>>2]|0;g=i;if(j>>>0<=((f-i|0)/12|0)>>>0){b=b+4|0;f=((c[b>>2]|0)-i|0)/12|0;h=j>>>0>f>>>0;f=d+(f*12|0)|0;i=h?f:e;if((i|0)!=(d|0))do{z0a(g,d)|0;d=d+12|0;g=g+12|0}while((d|0)!=(i|0));if(h){if((i|0)==(e|0))return;d=c[b>>2]|0;do{t0a(d,f);f=f+12|0;d=(c[b>>2]|0)+12|0;c[b>>2]=d}while((f|0)!=(e|0));return}f=c[b>>2]|0;if((f|0)!=(g|0))do{f=f+-12|0;if((a[f+11>>0]|0)<0)l0a(c[f>>2]|0)}while((f|0)!=(g|0));c[b>>2]=g;return}if(i){h=b+4|0;f=c[h>>2]|0;if((f|0)==(g|0))f=i;else{do{f=f+-12|0;if((a[f+11>>0]|0)<0)l0a(c[f>>2]|0)}while((f|0)!=(g|0));f=c[b>>2]|0}c[h>>2]=g;l0a(f);c[k>>2]=0;c[h>>2]=0;c[b>>2]=0;f=0}if(j>>>0>357913941)g1a(b);i=(f|0)/12|0;g=i<<1;g=i>>>0<178956970?(g>>>0<j>>>0?j:g):357913941;if(g>>>0>357913941)g1a(b);f=j0a(g*12|0)|0;h=b+4|0;c[h>>2]=f;c[b>>2]=f;c[k>>2]=f+(g*12|0);if((d|0)==(e|0))return;do{t0a(f,d);d=d+12|0;f=(c[h>>2]|0)+12|0;c[h>>2]=f}while((d|0)!=(e|0));return}function yO(b,d){b=b|0;d=d|0;if(!d)return;yO(b,c[d>>2]|0);yO(b,c[d+4>>2]|0);b=d+16|0;if((a[b+11>>0]|0)<0)l0a(c[b>>2]|0);l0a(d);return}function zO(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0;p=l;l=l+16|0;n=p+4|0;o=p;d=c[b>>2]|0;g=b+4|0;if((d|0)!=(g|0)){h=a+4|0;f=d;while(1){d=f+16|0;c[o>>2]=h;c[n>>2]=c[o>>2];AO(a,n,d,d)|0;d=c[f+4>>2]|0;if(!d){e=f+8|0;d=c[e>>2]|0;if((c[d>>2]|0)!=(f|0))do{m=c[e>>2]|0;e=m+8|0;d=c[e>>2]|0}while((c[d>>2]|0)!=(m|0))}else while(1){e=c[d>>2]|0;if(!e)break;else d=e}if((d|0)==(g|0))break;else f=d}}d=c[b+12>>2]|0;g=b+16|0;if((d|0)!=(g|0)){h=a+12|0;i=a+16|0;f=d;while(1){d=f+16|0;c[o>>2]=i;c[n>>2]=c[o>>2];AO(h,n,d,d)|0;d=c[f+4>>2]|0;if(!d){e=f+8|0;d=c[e>>2]|0;if((c[d>>2]|0)!=(f|0))do{m=c[e>>2]|0;e=m+8|0;d=c[e>>2]|0}while((c[d>>2]|0)!=(m|0))}else while(1){e=c[d>>2]|0;if(!e)break;else d=e}if((d|0)==(g|0))break;else f=d}}d=c[b+24>>2]|0;g=b+28|0;if((d|0)!=(g|0)){h=a+24|0;i=a+28|0;f=d;while(1){d=f+16|0;c[o>>2]=i;c[n>>2]=c[o>>2];AO(h,n,d,d)|0;d=c[f+4>>2]|0;if(!d){e=f+8|0;d=c[e>>2]|0;if((c[d>>2]|0)!=(f|0))do{m=c[e>>2]|0;e=m+8|0;d=c[e>>2]|0}while((c[d>>2]|0)!=(m|0))}else while(1){e=c[d>>2]|0;if(!e)break;else d=e}if((d|0)==(g|0))break;else f=d}}m=b+36|0;e=(c[b+40>>2]|0)-(c[m>>2]|0)|0;j=(e|0)/12|0;k=a+36|0;d=((c[a+40>>2]|0)-(c[k>>2]|0)|0)/12|0;if(j>>>0>d>>>0)hu(k,j-d|0);if(!e){l=p;return}h=0;do{i=c[m>>2]|0;d=c[k>>2]|0;e=c[i+(h*12|0)>>2]|0;i=i+(h*12|0)+4|0;if((e|0)!=(i|0)){b=d+(h*12|0)|0;g=d+(h*12|0)+4|0;f=e;while(1){d=f+16|0;c[o>>2]=g;c[n>>2]=c[o>>2];AO(b,n,d,d)|0;d=c[f+4>>2]|0;if(!d){e=f+8|0;d=c[e>>2]|0;if((c[d>>2]|0)!=(f|0))do{a=c[e>>2]|0;e=a+8|0;d=c[e>>2]|0}while((c[d>>2]|0)!=(a|0))}else while(1){e=c[d>>2]|0;if(!e)break;else d=e}if((d|0)==(i|0))break;else f=d}}h=h+1|0}while(h>>>0<j>>>0);l=p;return}function AO(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;h=l;l=l+16|0;f=h+12|0;g=h+8|0;i=h;c[i>>2]=c[b>>2];c[f>>2]=c[i>>2];f=BO(a,f,g,h+4|0,d)|0;b=c[f>>2]|0;if(b|0){i=b;l=h;return i|0}d=j0a(28)|0;t0a(d+16|0,e);b=c[g>>2]|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=b;c[f>>2]=d;b=c[c[a>>2]>>2]|0;if(!b)b=d;else{c[a>>2]=b;b=c[f>>2]|0}fp(c[a+4>>2]|0,b);i=a+8|0;c[i>>2]=(c[i>>2]|0)+1;i=d;l=h;return i|0}function BO(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;q=b+4|0;v=c[d>>2]|0;d=v;do if((v|0)!=(q|0)){m=v+16|0;k=a[m+11>>0]|0;j=k<<24>>24<0;k=j?c[v+20>>2]|0:k&255;t=a[g+11>>0]|0;s=t<<24>>24<0;t=s?c[g+4>>2]|0:t&255;p=k>>>0<t>>>0;o=p?k:t;l=(o|0)==0;if(!l?(h=s?c[g>>2]|0:g,i=j?c[m>>2]|0:m,n=cOa(h,i,o)|0,(n|0)!=0):0)if((n|0)<0)break;else w=23;else{if(t>>>0<k>>>0)break;if(l)w=24;else{i=j?c[m>>2]|0:m;h=s?c[g>>2]|0:g;w=23}}if((w|0)==23){h=cOa(i,h,o)|0;if(h){if((h|0)>=0)w=42}else w=24}if((w|0)==24?!p:0)w=42;if((w|0)==42){c[e>>2]=d;c[f>>2]=d;e=f;return e|0}h=c[v+4>>2]|0;if(!h){i=v+8|0;h=c[i>>2]|0;if((c[h>>2]|0)!=(v|0))do{r=c[i>>2]|0;i=r+8|0;h=c[i>>2]|0}while((c[h>>2]|0)!=(r|0))}else while(1){i=c[h>>2]|0;if(!i)break;else h=i}do if((h|0)!=(q|0)){j=h+16|0;l=a[j+11>>0]|0;k=l<<24>>24<0;l=k?c[h+20>>2]|0:l&255;i=l>>>0<t>>>0?l:t;if((i|0)!=0?(u=cOa(s?c[g>>2]|0:g,k?c[j>>2]|0:j,i)|0,(u|0)!=0):0){if((u|0)<0)break}else w=36;if((w|0)==36?t>>>0<l>>>0:0)break;e=lu(b,e,g)|0;return e|0}while(0);if(!(c[v+4>>2]|0)){c[e>>2]=d;e=v+4|0;return e|0}else{c[e>>2]=h;e=h;return e|0}}while(0);n=c[v>>2]|0;do if((c[b>>2]|0)!=(v|0)){if(!n){d=v;do{u=d;d=c[d+8>>2]|0}while((c[d>>2]|0)==(u|0));h=d}else{d=n;while(1){h=c[d+4>>2]|0;if(!h){h=d;break}else d=h}}d=h;j=h+16|0;l=a[g+11>>0]|0;k=l<<24>>24<0;l=k?c[g+4>>2]|0:l&255;i=a[j+11>>0]|0;m=i<<24>>24<0;i=m?c[h+20>>2]|0:i&255;h=l>>>0<i>>>0?l:i;if((h|0)!=0?(r=cOa(m?c[j>>2]|0:j,k?c[g>>2]|0:g,h)|0,(r|0)!=0):0){if((r|0)<0)break}else w=15;if((w|0)==15?i>>>0<l>>>0:0)break;e=lu(b,e,g)|0;return e|0}while(0);if(!n){c[e>>2]=v;e=v;return e|0}else{c[e>>2]=d;e=d+4|0;return e|0}return 0}function CO(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;f=b+4|0;h=c[f>>2]|0;if(!h){c[d>>2]=f;o=f;return o|0}m=a[e+11>>0]|0;l=m<<24>>24<0;m=l?c[e+4>>2]|0:m&255;l=l?c[e>>2]|0:e;g=b+4|0;f=h;while(1){e=f+16|0;h=a[e+11>>0]|0;b=h<<24>>24<0;h=b?c[f+20>>2]|0:h&255;k=h>>>0<m>>>0;j=k?h:m;i=(j|0)==0;if(!i?(n=b?c[e>>2]|0:e,o=cOa(l,n,j)|0,(o|0)!=0):0)if((o|0)<0)b=7;else{e=n;b=11}else if(m>>>0>=h>>>0)if(i)b=12;else{e=b?c[e>>2]|0:e;b=11}else b=7;if((b|0)==7){b=0;e=c[f>>2]|0;if(!e){b=8;break}else{g=f;f=e}}else if((b|0)==11){e=cOa(e,l,j)|0;if(e)if((e|0)<0)b=14;else{b=16;break}else b=12}if((b|0)==12)if(k)b=14;else{b=16;break}if((b|0)==14){e=f+4|0;b=c[e>>2]|0;if(!b){b=15;break}else{g=e;f=b}}}if((b|0)==8){c[d>>2]=f;o=f;return o|0}else if((b|0)==15){c[d>>2]=f;o=e;return o|0}else if((b|0)==16){c[d>>2]=f;o=g;return o|0}return 0}function DO(a){a=a|0;var b=0,d=0,e=0,f=0;d=l;l=l+16|0;b=d;hia(a);c[a>>2]=78388;vt()|0;e=c[(c[56383]|0)+84>>2]|0;c[b>>2]=0;tO(a+56|0,e,b);b=c[b>>2]|0;if(b|0?(f=b+8|0,e=c[f>>2]|0,c[f>>2]=e-1,(e|0)==1):0)UU(b,1,1);c[a+72>>2]=0;c[a+76>>2]=0;c[a+68>>2]=a+72;c[a+84>>2]=0;c[a+88>>2]=0;c[a+80>>2]=a+84;c[a+96>>2]=0;c[a+100>>2]=0;c[a+92>>2]=a+96;f=a+104|0;c[f>>2]=0;c[f+4>>2]=0;c[f+8>>2]=0;c[f+12>>2]=0;c[a+120>>2]=1;c[a+124>>2]=4;c[a+128>>2]=5;c[a+132>>2]=35981;c[a+136>>2]=0;c[a+140>>2]=0;c[a+144>>2]=0;c[a+152>>2]=0;c[a+156>>2]=0;c[a+148>>2]=a+152;c[a+164>>2]=0;c[a+168>>2]=0;c[a+160>>2]=a+164;c[a+176>>2]=0;c[a+180>>2]=0;c[a+172>>2]=a+176;c[a+184>>2]=0;c[a+188>>2]=0;c[a+192>>2]=0;l=d;return}function EO(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;d=a+36|0;e=c[d>>2]|0;if(e|0){f=a+40|0;b=c[f>>2]|0;if((b|0)==(e|0))b=e;else{do{g=b;b=b+-12|0;iu(b,c[g+-8>>2]|0)}while((b|0)!=(e|0));b=c[d>>2]|0}c[f>>2]=e;l0a(b)}iu(a+24|0,c[a+28>>2]|0);iu(a+12|0,c[a+16>>2]|0);iu(a,c[a+4>>2]|0);return}function FO(b){b=b|0;var d=0,e=0,f=0;e=c[b>>2]|0;if(!e)return;f=b+4|0;d=c[f>>2]|0;if((d|0)==(e|0))d=e;else{do{d=d+-12|0;if((a[d+11>>0]|0)<0)l0a(c[d>>2]|0)}while((d|0)!=(e|0));d=c[b>>2]|0}c[f>>2]=e;l0a(d);return}function GO(a){a=a|0;var b=0,d=0,e=0;b=c[a>>2]|0;if(b|0?(e=b+8|0,d=c[e>>2]|0,c[e>>2]=d-1,(d|0)==1):0)UU(b,1,1);c[a>>2]=0;return}function HO(a){a=a|0;yO(a,c[a+4>>2]|0);return}function IO(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;e=c[a>>2]|0;if(!e)return;f=a+4|0;b=c[f>>2]|0;if((b|0)==(e|0))b=e;else{do{b=b+-4|0;d=c[b>>2]|0;if(d|0?(h=d+8|0,g=c[h>>2]|0,c[h>>2]=g-1,(g|0)==1):0)UU(d,1,1);c[b>>2]=0}while((b|0)!=(e|0));b=c[a>>2]|0}c[f>>2]=e;l0a(b);return}function JO(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;m=a+4|0;d=c[m>>2]|0;e=c[a>>2]|0;i=d-e>>2;f=i+1|0;g=e;if(f>>>0>1073741823)g1a(a);l=a+8|0;j=(c[l>>2]|0)-e|0;k=j>>1;f=j>>2>>>0<536870911?(k>>>0<f>>>0?f:k):1073741823;do if(f)if(f>>>0>1073741823){m=db(8)|0;p0a(m,183738);c[m>>2]=110936;hb(m|0,65952,1066)}else{j=j0a(f<<2)|0;break}else j=0;while(0);e=j+(i<<2)|0;k=j+(f<<2)|0;f=c[b>>2]|0;c[e>>2]=f;if(f){g=f+8|0;c[g>>2]=(c[g>>2]|0)+1;g=c[a>>2]|0;d=c[m>>2]|0}h=e+4|0;f=g;if((d|0)==(g|0))b=f;else{b=i+-1-((d+-4-f|0)>>>2)|0;while(1){d=d+-4|0;f=c[d>>2]|0;c[e+-4>>2]=f;if(f|0){i=f+8|0;c[i>>2]=(c[i>>2]|0)+1}if((d|0)==(g|0))break;else e=e+-4|0}e=j+(b<<2)|0;b=c[a>>2]|0;d=c[m>>2]|0}c[a>>2]=e;c[m>>2]=h;c[l>>2]=k;f=b;if((d|0)!=(f|0))do{d=d+-4|0;e=c[d>>2]|0;if(e|0?(l=e+8|0,m=c[l>>2]|0,c[l>>2]=m-1,(m|0)==1):0)UU(e,1,1);c[d>>2]=0}while((d|0)!=(f|0));if(!b)return;l0a(b);return}function KO(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;g=(b|0)==0;if(g)f=0;else f=gk[c[(c[b>>2]|0)+32>>2]&1023](b)|0;h=(d|0)==0;if(!h?(e=gk[c[(c[d>>2]|0)+40>>2]&1023](d)|0,(f|0)!=0&(e|0)!=0):0){Nk[c[(c[a>>2]|0)+32>>2]&255](a,f,e);h=1;return h|0}a=c[a+(c[(c[a>>2]|0)+-12>>2]|0)+4>>2]|0;if(a|0){h=lk[c[(c[a>>2]|0)+92>>2]&127](a,b,d)|0;return h|0}if(g)e=0;else e=gk[c[(c[b>>2]|0)+32>>2]&1023](b)|0;if(h){h=0;return h|0}a=gk[c[(c[d>>2]|0)+40>>2]&1023](d)|0;if(!((e|0)!=0&(a|0)!=0)){h=0;return h|0}switch(c[a+16>>2]|0){case 1:{Jk[c[(c[e>>2]|0)+216>>2]&1023](e,a);h=1;return h|0}case 0:{h=1;return h|0}default:{Jk[c[(c[e>>2]|0)+220>>2]&1023](e,a);h=1;return h|0}}return 0}function LO(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;if(!d)e=0;else e=d+(c[(c[d>>2]|0)+-12>>2]|0)|0;d=c[a+(c[(c[a>>2]|0)+-12>>2]|0)+4>>2]|0;if(d|0){lk[c[(c[d>>2]|0)+92>>2]&127](d,b,e)|0;return}if(!b)a=0;else a=gk[c[(c[b>>2]|0)+32>>2]&1023](b)|0;if(!e)return;d=gk[c[(c[e>>2]|0)+40>>2]&1023](e)|0;if(!((a|0)!=0&(d|0)!=0))return;switch(c[d+16>>2]|0){case 1:{Jk[c[(c[a>>2]|0)+216>>2]&1023](a,d);return}case 0:return;default:{Jk[c[(c[a>>2]|0)+220>>2]&1023](a,d);return}}}function MO(a,b,d){a=a|0;b=b|0;d=d|0;return KO(a+(c[(c[a>>2]|0)+-108>>2]|0)|0,b,d)|0}function NO(a){a=a|0;var b=0,d=0;b=j0a(44)|0;a=b+12|0;Tha(a);d=b+24|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[b+36>>2]=2;c[b+40>>2]=0;c[b+8>>2]=0;c[b>>2]=512;c[b+4>>2]=668;c[a>>2]=940;return a|0}function OO(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;e=j0a(44)|0;f=e+12|0;Or(f,a+(c[(c[a>>2]|0)+-16>>2]|0)|0,b);d=e+4|0;b=a+(c[(c[a>>2]|0)+-12>>2]|0)|0;c[d>>2]=61744;c[f>>2]=62016;b=c[b+4>>2]|0;c[e+8>>2]=b;if(!b){c[e>>2]=512;c[d>>2]=668;c[f>>2]=940;return f|0}a=b+(c[(c[b>>2]|0)+-12>>2]|0)+8|0;c[a>>2]=(c[a>>2]|0)+1;c[e>>2]=512;c[d>>2]=668;c[f>>2]=940;return f|0}function PO(a,b){a=a|0;b=b|0;if(!b){b=0;return b|0}b=(y1a(b,42800,43928,-1)|0)!=0;return b|0}function QO(a){a=a|0;return 186332}function RO(a){a=a|0;return 141516}function SO(a){a=a|0;return a|0}function TO(a){a=a|0;return a|0}function UO(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;g=(b|0)==0;if(g)f=0;else f=gk[c[(c[b>>2]|0)+56>>2]&1023](b)|0;h=(d|0)==0;if(!h?(e=gk[c[(c[d>>2]|0)+40>>2]&1023](d)|0,(f|0)!=0&(e|0)!=0):0){Nk[c[(c[a>>2]|0)+32>>2]&255](a,f,e);h=1;return h|0}a=c[a+(c[(c[a>>2]|0)+-12>>2]|0)+4>>2]|0;if(a|0){h=lk[c[(c[a>>2]|0)+92>>2]&127](a,b,d)|0;return h|0}if(g)e=0;else e=gk[c[(c[b>>2]|0)+32>>2]&1023](b)|0;if(h){h=0;return h|0}a=gk[c[(c[d>>2]|0)+40>>2]&1023](d)|0;if(!((e|0)!=0&(a|0)!=0)){h=0;return h|0}switch(c[a+16>>2]|0){case 1:{Jk[c[(c[e>>2]|0)+216>>2]&1023](e,a);h=1;return h|0}case 0:{h=1;return h|0}default:{Jk[c[(c[e>>2]|0)+220>>2]&1023](e,a);h=1;return h|0}}return 0}function VO(a,b,c){a=a|0;b=b|0;c=c|0;return}function WO(a){a=a|0;var b=0,d=0,e=0,f=0;b=a+4|0;c[b>>2]=61744;c[b+8>>2]=62016;b=a+8|0;d=c[b>>2]|0;if(d|0?(e=d+(c[(c[d>>2]|0)+-12>>2]|0)|0,f=e+8|0,d=c[f>>2]|0,c[f>>2]=d-1,(d|0)==1):0)UU(e,1,1);c[b>>2]=0;Pr(a+12|0);return}function XO(a){a=a|0;var b=0,d=0,e=0,f=0;b=a+4|0;c[b>>2]=61744;c[b+8>>2]=62016;b=a+8|0;d=c[b>>2]|0;if(d|0?(e=d+(c[(c[d>>2]|0)+-12>>2]|0)|0,f=e+8|0,d=c[f>>2]|0,c[f>>2]=d-1,(d|0)==1):0)UU(e,1,1);c[b>>2]=0;Pr(a+12|0);l0a(a);return}function YO(a){a=a|0;var b=0,d=0;b=j0a(44)|0;a=b+12|0;Tha(a);d=b+24|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[b+36>>2]=2;c[b+40>>2]=0;c[b+8>>2]=0;c[b>>2]=512;c[b+4>>2]=668;c[a>>2]=940;return a|0}function ZO(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=a+(c[(c[a>>2]|0)+-20>>2]|0)|0;d=j0a(44)|0;e=d+12|0;Or(e,f+(c[(c[f>>2]|0)+-16>>2]|0)|0,b);a=d+4|0;b=f+(c[(c[f>>2]|0)+-12>>2]|0)|0;c[a>>2]=61744;c[e>>2]=62016;b=c[b+4>>2]|0;c[d+8>>2]=b;if(!b){c[d>>2]=512;c[a>>2]=668;c[e>>2]=940;return e|0}f=b+(c[(c[b>>2]|0)+-12>>2]|0)+8|0;c[f>>2]=(c[f>>2]|0)+1;c[d>>2]=512;c[a>>2]=668;c[e>>2]=940;return e|0}function _O(a,b){a=a|0;b=b|0;if(!b){b=0;return b|0}b=(y1a(b,42800,43928,-1)|0)!=0;return b|0}function $O(a){a=a|0;return 186332}function aP(a){a=a|0;return 141516}function bP(a){a=a|0;return a+(c[(c[a>>2]|0)+-60>>2]|0)|0}function cP(a){a=a|0;return a+(c[(c[a>>2]|0)+-64>>2]|0)|0}function dP(a,b,d){a=a|0;b=b|0;d=d|0;return UO(a+(c[(c[a>>2]|0)+-108>>2]|0)|0,b,d)|0}function eP(a){a=a|0;var b=0,d=0,e=0,f=0;a=a+(c[(c[a>>2]|0)+-112>>2]|0)|0;b=a+4|0;c[b>>2]=61744;c[b+8>>2]=62016;b=a+8|0;d=c[b>>2]|0;if(d|0?(e=d+(c[(c[d>>2]|0)+-12>>2]|0)|0,f=e+8|0,d=c[f>>2]|0,c[f>>2]=d-1,(d|0)==1):0)UU(e,1,1);c[b>>2]=0;Pr(a+12|0);return}function fP(a){a=a|0;var b=0,d=0,e=0,f=0;a=a+(c[(c[a>>2]|0)+-112>>2]|0)|0;b=a+4|0;c[b>>2]=61744;c[b+8>>2]=62016;b=a+8|0;d=c[b>>2]|0;if(d|0?(e=d+(c[(c[d>>2]|0)+-12>>2]|0)|0,f=e+8|0,d=c[f>>2]|0,c[f>>2]=d-1,(d|0)==1):0)UU(e,1,1);c[b>>2]=0;Pr(a+12|0);l0a(a);return}function gP(a){a=a|0;var b=0,d=0,e=0,f=0;a=a+(c[(c[a>>2]|0)+-16>>2]|0)|0;b=a+4|0;c[b>>2]=61744;c[b+8>>2]=62016;b=a+8|0;d=c[b>>2]|0;if(d|0?(e=d+(c[(c[d>>2]|0)+-12>>2]|0)|0,f=e+8|0,d=c[f>>2]|0,c[f>>2]=d-1,(d|0)==1):0)UU(e,1,1);c[b>>2]=0;Pr(a+12|0);return}function hP(a){a=a|0;var b=0,d=0,e=0,f=0;a=a+(c[(c[a>>2]|0)+-16>>2]|0)|0;b=a+4|0;c[b>>2]=61744;c[b+8>>2]=62016;b=a+8|0;d=c[b>>2]|0;if(d|0?(e=d+(c[(c[d>>2]|0)+-12>>2]|0)|0,f=e+8|0,d=c[f>>2]|0,c[f>>2]=d-1,(d|0)==1):0)UU(e,1,1);c[b>>2]=0;Pr(a+12|0);l0a(a);return}function iP(a){a=a|0;var b=0,d=0;b=j0a(44)|0;a=b+12|0;Tha(a);d=b+24|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[b+36>>2]=2;c[b+40>>2]=0;c[b+8>>2]=0;c[b>>2]=512;c[b+4>>2]=668;c[a>>2]=940;return a|0}function jP(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=a+(c[(c[a>>2]|0)+-24>>2]|0)|0;d=j0a(44)|0;e=d+12|0;Or(e,f+(c[(c[f>>2]|0)+-16>>2]|0)|0,b);a=d+4|0;b=f+(c[(c[f>>2]|0)+-12>>2]|0)|0;c[a>>2]=61744;c[e>>2]=62016;b=c[b+4>>2]|0;c[d+8>>2]=b;if(!b){c[d>>2]=512;c[a>>2]=668;c[e>>2]=940;return e|0}f=b+(c[(c[b>>2]|0)+-12>>2]|0)+8|0;c[f>>2]=(c[f>>2]|0)+1;c[d>>2]=512;c[a>>2]=668;c[e>>2]=940;return e|0}function kP(a,b){a=a|0;b=b|0;if(!b){b=0;return b|0}b=(y1a(b,42800,43928,-1)|0)!=0;return b|0}function lP(a){a=a|0;return 186332}function mP(a){a=a|0;return 141516}function nP(a){a=a|0;return a|0}function oP(a){a=a|0;return a|0}function pP(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;f=gk[c[(c[b>>2]|0)+88>>2]&1023](b)|0;e=gk[c[(c[d>>2]|0)+40>>2]&1023](d)|0;if((f|0)!=0&(e|0)!=0){Nk[c[(c[a>>2]|0)+32>>2]&255](a,e,f);d=1;return d|0}a=c[a+(c[(c[a>>2]|0)+-12>>2]|0)+4>>2]|0;if(a|0){d=lk[c[(c[a>>2]|0)+92>>2]&127](a,b,d)|0;return d|0}e=gk[c[(c[b>>2]|0)+32>>2]&1023](b)|0;a=gk[c[(c[d>>2]|0)+40>>2]&1023](d)|0;if(!((e|0)!=0&(a|0)!=0)){d=0;return d|0}switch(c[a+16>>2]|0){case 1:{Jk[c[(c[e>>2]|0)+216>>2]&1023](e,a);d=1;return d|0}case 0:{d=1;return d|0}default:{Jk[c[(c[e>>2]|0)+220>>2]&1023](e,a);d=1;return d|0}}return 0}function qP(a){a=a|0;return a+(c[(c[a>>2]|0)+-76>>2]|0)|0}function rP(a){a=a|0;return a+(c[(c[a>>2]|0)+-80>>2]|0)|0}function sP(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;f=a+(c[(c[a>>2]|0)+-108>>2]|0)|0;a=gk[c[(c[b>>2]|0)+88>>2]&1023](b)|0;e=gk[c[(c[d>>2]|0)+40>>2]&1023](d)|0;if((a|0)!=0&(e|0)!=0){Nk[c[(c[f>>2]|0)+32>>2]&255](f,e,a);d=1;return d|0}a=c[f+(c[(c[f>>2]|0)+-12>>2]|0)+4>>2]|0;if(a|0){d=lk[c[(c[a>>2]|0)+92>>2]&127](a,b,d)|0;return d|0}e=gk[c[(c[b>>2]|0)+32>>2]&1023](b)|0;a=gk[c[(c[d>>2]|0)+40>>2]&1023](d)|0;if(!((e|0)!=0&(a|0)!=0)){d=0;return d|0}switch(c[a+16>>2]|0){case 1:{Jk[c[(c[e>>2]|0)+216>>2]&1023](e,a);d=1;return d|0}case 0:{d=1;return d|0}default:{Jk[c[(c[e>>2]|0)+220>>2]&1023](e,a);d=1;return d|0}}return 0}function tP(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;f=gk[c[(c[b>>2]|0)+88>>2]&1023](b)|0;e=gk[c[(c[d>>2]|0)+40>>2]&1023](d)|0;if((f|0)!=0&(e|0)!=0){Nk[c[(c[a>>2]|0)+32>>2]&255](a,e,f);d=1;return d|0}a=c[a+(c[(c[a>>2]|0)+-12>>2]|0)+4>>2]|0;if(a|0){d=lk[c[(c[a>>2]|0)+92>>2]&127](a,b,d)|0;return d|0}e=gk[c[(c[b>>2]|0)+32>>2]&1023](b)|0;a=gk[c[(c[d>>2]|0)+40>>2]&1023](d)|0;if(!((e|0)!=0&(a|0)!=0)){d=0;return d|0}switch(c[a+16>>2]|0){case 1:{Jk[c[(c[e>>2]|0)+216>>2]&1023](e,a);d=1;return d|0}case 0:{d=1;return d|0}default:{Jk[c[(c[e>>2]|0)+220>>2]&1023](e,a);d=1;return d|0}}return 0}function uP(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;f=a+(c[(c[a>>2]|0)+-108>>2]|0)|0;a=gk[c[(c[b>>2]|0)+88>>2]&1023](b)|0;e=gk[c[(c[d>>2]|0)+40>>2]&1023](d)|0;if((a|0)!=0&(e|0)!=0){Nk[c[(c[f>>2]|0)+32>>2]&255](f,e,a);d=1;return d|0}a=c[f+(c[(c[f>>2]|0)+-12>>2]|0)+4>>2]|0;if(a|0){d=lk[c[(c[a>>2]|0)+92>>2]&127](a,b,d)|0;return d|0}e=gk[c[(c[b>>2]|0)+32>>2]&1023](b)|0;a=gk[c[(c[d>>2]|0)+40>>2]&1023](d)|0;if(!((e|0)!=0&(a|0)!=0)){d=0;return d|0}switch(c[a+16>>2]|0){case 1:{Jk[c[(c[e>>2]|0)+216>>2]&1023](e,a);d=1;return d|0}case 0:{d=1;return d|0}default:{Jk[c[(c[e>>2]|0)+220>>2]&1023](e,a);d=1;return d|0}}return 0}function vP(a){a=a|0;return a|0}function wP(a){a=a|0;return a|0}function xP(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return 0}function yP(a){a=a|0;return a+(c[(c[a>>2]|0)+-92>>2]|0)|0}function zP(a){a=a|0;return a+(c[(c[a>>2]|0)+-96>>2]|0)|0}function AP(b){b=b|0;var d=0;c[b>>2]=46548;d=b+20|0;c[d>>2]=46580;b=b+4|0;if((a[b+11>>0]|0)>=0){SU(d);return}l0a(c[b>>2]|0);SU(d);return}function BP(b){b=b|0;var d=0,e=0;c[b>>2]=46548;d=b+20|0;c[d>>2]=46580;e=b+4|0;if((a[e+11>>0]|0)<0)l0a(c[e>>2]|0);SU(d);l0a(b);return}function CP(a,b){a=a|0;b=b|0;a=c[b+48>>2]|0;if(a|0)Bk[c[(c[a>>2]|0)+16>>2]&2047](a);a=c[b+116>>2]|0;if(!a){Bk[c[(c[b>>2]|0)+204>>2]&2047](b);a=b}else{Jk[c[(c[a>>2]|0)+12>>2]&1023](a,b);a=b}Bk[c[(c[a>>2]|0)+172>>2]&2047](b);return}function DP(b){b=b|0;var d=0;d=b+(c[(c[b>>2]|0)+-16>>2]|0)|0;c[d>>2]=46548;b=d+20|0;c[b>>2]=46580;d=d+4|0;if((a[d+11>>0]|0)>=0){SU(b);return}l0a(c[d>>2]|0);SU(b);return}function EP(b){b=b|0;var d=0,e=0;b=b+(c[(c[b>>2]|0)+-16>>2]|0)|0;c[b>>2]=46548;d=b+20|0;c[d>>2]=46580;e=b+4|0;if((a[e+11>>0]|0)>=0){SU(d);l0a(b);return}l0a(c[e>>2]|0);SU(d);l0a(b);return}function FP(a){a=a|0;wha(a+20|0);return}function GP(a,b){a=a|0;b=b|0;switch(c[a+32>>2]|0){case 2:{_h();break}case 1:{$h();break}default:{}}b=a+20|0;Jk[c[(c[b>>2]|0)+12>>2]&1023](b,0);return}function HP(b){b=b|0;var d=0;sha(b+20|0);c[b>>2]=46444;d=b+36|0;c[d>>2]=46476;b=b+4|0;if((a[b+11>>0]|0)>=0){SU(d);return}l0a(c[b>>2]|0);SU(d);return}function IP(b){b=b|0;var d=0,e=0;sha(b+20|0);c[b>>2]=46444;d=b+36|0;c[d>>2]=46476;e=b+4|0;if((a[e+11>>0]|0)>=0){SU(d);l0a(b);return}l0a(c[e>>2]|0);SU(d);l0a(b);return}function JP(b){b=b|0;var d=0;b=b+-20|0;sha(b+20|0);c[b>>2]=46444;d=b+36|0;c[d>>2]=46476;if((a[b+15>>0]|0)>=0){SU(d);return}l0a(c[b+4>>2]|0);SU(d);return}function KP(b){b=b|0;var d=0;b=b+-20|0;sha(b+20|0);c[b>>2]=46444;d=b+36|0;c[d>>2]=46476;if((a[b+15>>0]|0)>=0){SU(d);l0a(b);return}l0a(c[b+4>>2]|0);SU(d);l0a(b);return}function LP(a){a=a|0;wha(a+-20+20|0);return}function MP(b){b=b|0;var d=0;d=b+(c[(c[b>>2]|0)+-16>>2]|0)|0;sha(d+20|0);c[d>>2]=46444;b=d+36|0;c[b>>2]=46476;d=d+4|0;if((a[d+11>>0]|0)>=0){SU(b);return}l0a(c[d>>2]|0);SU(b);return}function NP(b){b=b|0;var d=0,e=0;b=b+(c[(c[b>>2]|0)+-16>>2]|0)|0;sha(b+20|0);c[b>>2]=46444;d=b+36|0;c[d>>2]=46476;e=b+4|0;if((a[e+11>>0]|0)>=0){SU(d);l0a(b);return}l0a(c[e>>2]|0);SU(d);l0a(b);return}function OP(a){a=a|0;SH(a+4|0);SU(a+28|0);return}function PP(a){a=a|0;SH(a+4|0);SU(a+28|0);l0a(a);return}function QP(a){a=a|0;a=a+(c[(c[a>>2]|0)+-16>>2]|0)|0;SH(a+4|0);SU(a+28|0);return}function RP(a){a=a|0;a=a+(c[(c[a>>2]|0)+-16>>2]|0)|0;SH(a+4|0);SU(a+28|0);l0a(a);return}function SP(b){b=b|0;var d=0;c[b>>2]=46548;d=b+20|0;c[d>>2]=46580;b=b+4|0;if((a[b+11>>0]|0)>=0){SU(d);return}l0a(c[b>>2]|0);SU(d);return}function TP(b){b=b|0;var d=0,e=0;c[b>>2]=46548;d=b+20|0;c[d>>2]=46580;e=b+4|0;if((a[e+11>>0]|0)<0)l0a(c[e>>2]|0);SU(d);l0a(b);return}function UP(a,b){a=a|0;b=b|0;Bk[c[(c[b>>2]|0)+164>>2]&2047](b);return}function VP(b){b=b|0;var d=0;d=b+(c[(c[b>>2]|0)+-16>>2]|0)|0;c[d>>2]=46548;b=d+20|0;c[b>>2]=46580;d=d+4|0;if((a[d+11>>0]|0)>=0){SU(b);return}l0a(c[d>>2]|0);SU(b);return}function WP(b){b=b|0;var d=0,e=0;b=b+(c[(c[b>>2]|0)+-16>>2]|0)|0;c[b>>2]=46548;d=b+20|0;c[d>>2]=46580;e=b+4|0;if((a[e+11>>0]|0)>=0){SU(d);l0a(b);return}l0a(c[e>>2]|0);SU(d);l0a(b);return}function XP(a){a=a|0;return 0}function YP(a){a=a|0;return 0}function ZP(a){a=a|0;Ys(a);l0a(a);return}function _P(a){a=a|0;var b=0;a=j0a(72)|0;Uha(a,1);b=a+12|0;c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;c[a+24>>2]=2;b=a+28|0;c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;c[b+12>>2]=0;c[b+16>>2]=0;c[b+20>>2]=0;c[a+52>>2]=1;c[a+56>>2]=0;c[a+60>>2]=0;c[a>>2]=80360;c[a+64>>2]=0;c[a+68>>2]=0;return a|0}function $P(a,b){a=a|0;b=b|0;var d=0;d=j0a(72)|0;Or(d,a,b);c[d>>2]=69040;c[d+32>>2]=0;c[d+36>>2]=0;c[d+40>>2]=0;b=c[a+44>>2]|0;c[d+44>>2]=b;if(b|0){b=b+(c[(c[b>>2]|0)+-12>>2]|0)+8|0;c[b>>2]=(c[b>>2]|0)+1}c[d+48>>2]=0;c[d+52>>2]=c[a+52>>2];c[d+56>>2]=c[a+56>>2];c[d+60>>2]=c[a+60>>2];c[d>>2]=80360;c[d+64>>2]=c[a+64>>2];c[d+68>>2]=c[a+68>>2];return d|0}function aQ(a,b){a=a|0;b=b|0;if(!b){b=0;return b|0}b=(y1a(b,42800,46656,0)|0)!=0;return b|0}function bQ(a){a=a|0;return 186332}function cQ(a){a=a|0;return 176431}function dQ(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;d=c[a+60>>2]|0;switch(d|0){case 7:{dia(b,c[a+64>>2]|0,c[a+68>>2]|0,c[a+56>>2]|0);return}case 9:{d=6;break}case 8:{d=5;break}default:{}}f=c[a+56>>2]|0;g=c[a+64>>2]|0;e=c[a+68>>2]|0;if((f|0)<=0){Xh(d|0,g|0,e|0);return}a=c[b+824>>2]|0;if(!a){Xh(d|0,g|0,e|0);return}else{Qk[a&127](d,g,e,f);return}}function eQ(a,b){a=a|0;b=b|0;Qk[c[(c[b>>2]|0)+32>>2]&127](b,c[a+60>>2]|0,c[a+64>>2]|0,c[a+68>>2]|0);return}function fQ(a,b){a=a|0;b=b|0;Qk[c[(c[b>>2]|0)+32>>2]&127](b,c[a+60>>2]|0,c[a+64>>2]|0,c[a+68>>2]|0);return}function gQ(a,b){a=a|0;b=b|0;return (c[a+64>>2]|0)+b|0}function hQ(a){a=a|0;return c[a+68>>2]|0}function iQ(a,b){a=a|0;b=b|0;a=a+64|0;c[a>>2]=(c[a>>2]|0)+b;return}function jQ(a){a=a|0;var b=0;c[a>>2]=80600;b=c[a+4>>2]|0;if(!b)return;c[a+8>>2]=b;l0a(b);return}function kQ(a){a=a|0;var b=0;c[a>>2]=80600;b=c[a+4>>2]|0;if(!b){l0a(a);return}c[a+8>>2]=b;l0a(b);l0a(a);return}function lQ(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;if(!b)return;b=gk[c[(c[b>>2]|0)+164>>2]&1023](b)|0;if(!b)return;if(!(gk[c[(c[b>>2]|0)+244>>2]&1023](b)|0))return;a=0;do{e=kk[c[(c[b>>2]|0)+236>>2]&511](b,a)|0;Jk[c[(c[e>>2]|0)+224>>2]&1023](e,d);a=a+1|0}while(a>>>0<(gk[c[(c[b>>2]|0)+244>>2]&1023](b)|0)>>>0);return}function mQ(a){a=a|0;var b=0,d=0,e=0,f=0;b=a+4|0;c[b>>2]=61744;c[b+8>>2]=62016;b=a+8|0;d=c[b>>2]|0;if(d|0?(e=d+(c[(c[d>>2]|0)+-12>>2]|0)|0,f=e+8|0,d=c[f>>2]|0,c[f>>2]=d-1,(d|0)==1):0)UU(e,1,1);c[b>>2]=0;Pr(a+12|0);return}function nQ(a){a=a|0;var b=0,d=0,e=0,f=0;b=a+4|0;c[b>>2]=61744;c[b+8>>2]=62016;b=a+8|0;d=c[b>>2]|0;if(d|0?(e=d+(c[(c[d>>2]|0)+-12>>2]|0)|0,f=e+8|0,d=c[f>>2]|0,c[f>>2]=d-1,(d|0)==1):0)UU(e,1,1);c[b>>2]=0;Pr(a+12|0);l0a(a);return}function oQ(a){a=a|0;var b=0,d=0,e=0,f=0;a=a+(c[(c[a>>2]|0)+-112>>2]|0)|0;b=a+4|0;c[b>>2]=61744;c[b+8>>2]=62016;b=a+8|0;d=c[b>>2]|0;if(d|0?(e=d+(c[(c[d>>2]|0)+-12>>2]|0)|0,f=e+8|0,d=c[f>>2]|0,c[f>>2]=d-1,(d|0)==1):0)UU(e,1,1);c[b>>2]=0;Pr(a+12|0);return}function pQ(a){a=a|0;var b=0,d=0,e=0,f=0;a=a+(c[(c[a>>2]|0)+-112>>2]|0)|0;b=a+4|0;c[b>>2]=61744;c[b+8>>2]=62016;b=a+8|0;d=c[b>>2]|0;if(d|0?(e=d+(c[(c[d>>2]|0)+-12>>2]|0)|0,f=e+8|0,d=c[f>>2]|0,c[f>>2]=d-1,(d|0)==1):0)UU(e,1,1);c[b>>2]=0;Pr(a+12|0);l0a(a);return}function qQ(a){a=a|0;var b=0,d=0,e=0,f=0;a=a+(c[(c[a>>2]|0)+-16>>2]|0)|0;b=a+4|0;c[b>>2]=61744;c[b+8>>2]=62016;b=a+8|0;d=c[b>>2]|0;if(d|0?(e=d+(c[(c[d>>2]|0)+-12>>2]|0)|0,f=e+8|0,d=c[f>>2]|0,c[f>>2]=d-1,(d|0)==1):0)UU(e,1,1);c[b>>2]=0;Pr(a+12|0);return}function rQ(a){a=a|0;var b=0,d=0,e=0,f=0;a=a+(c[(c[a>>2]|0)+-16>>2]|0)|0;b=a+4|0;c[b>>2]=61744;c[b+8>>2]=62016;b=a+8|0;d=c[b>>2]|0;if(d|0?(e=d+(c[(c[d>>2]|0)+-12>>2]|0)|0,f=e+8|0,d=c[f>>2]|0,c[f>>2]=d-1,(d|0)==1):0)UU(e,1,1);c[b>>2]=0;Pr(a+12|0);l0a(a);return}function sQ(){var b=0,d=0,e=0,f=0,h=0,i=0,j=0;j=l;l=l+32|0;h=j+12|0;i=j;g[56414]=1.0;g[56415]=0.0;g[56416]=0.0;g[56417]=0.0;g[56418]=1.0;g[56419]=0.0;g[56420]=0.0;g[56421]=0.0;g[56422]=1.0;tQ()|0;c[56400]=0;c[56401]=0;c[56399]=225600;xla(225632,1);c[56408]=81256;c[56411]=0;c[56412]=0;c[56413]=0;b=j0a(48)|0;c[h>>2]=b;c[h+8>>2]=-2147483600;c[h+4>>2]=32;d=b;e=141792;f=d+32|0;do{a[d>>0]=a[e>>0]|0;d=d+1|0;e=e+1|0}while((d|0)<(f|0));a[b+32>>0]=0;c[i>>2]=0;c[i+4>>2]=0;c[i+8>>2]=0;b=j0a(112)|0;c[i>>2]=b;c[i+8>>2]=-2147483536;c[i+4>>2]=101;d=b;e=141825;f=d+101|0;do{a[d>>0]=a[e>>0]|0;d=d+1|0;e=e+1|0}while((d|0)<(f|0));a[b+101>>0]=0;uQ(tQ()|0,2,h,i);if((a[i+11>>0]|0)<0)l0a(c[i>>2]|0);if((a[h+11>>0]|0)<0)l0a(c[h>>2]|0);b=j0a(32)|0;c[h>>2]=b;c[h+8>>2]=-2147483616;c[h+4>>2]=26;d=b;e=141927;f=d+26|0;do{a[d>>0]=a[e>>0]|0;d=d+1|0;e=e+1|0}while((d|0)<(f|0));a[b+26>>0]=0;c[i>>2]=0;c[i+4>>2]=0;c[i+8>>2]=0;b=j0a(96)|0;c[i>>2]=b;c[i+8>>2]=-2147483552;c[i+4>>2]=84;d=b;e=141954;f=d+84|0;do{a[d>>0]=a[e>>0]|0;d=d+1|0;e=e+1|0}while((d|0)<(f|0));a[b+84>>0]=0;uQ(tQ()|0,2,h,i);if((a[i+11>>0]|0)<0)l0a(c[i>>2]|0);if((a[h+11>>0]|0)<0)l0a(c[h>>2]|0);vt()|0;b=j0a(32)|0;c[h>>2]=b;c[h+8>>2]=-2147483616;c[h+4>>2]=23;d=b;e=142039;f=d+23|0;do{a[d>>0]=a[e>>0]|0;d=d+1|0;e=e+1|0}while((d|0)<(f|0));a[b+23>>0]=0;c[i>>2]=0;c[i+4>>2]=0;c[i+8>>2]=0;b=j0a(64)|0;c[i>>2]=b;c[i+8>>2]=-2147483584;c[i+4>>2]=59;d=b;e=142063;f=d+59|0;do{a[d>>0]=a[e>>0]|0;d=d+1|0;e=e+1|0}while((d|0)<(f|0));a[b+59>>0]=0;uQ(tQ()|0,2,h,i);if((a[i+11>>0]|0)<0)l0a(c[i>>2]|0);if((a[h+11>>0]|0)<0)l0a(c[h>>2]|0);b=j0a(32)|0;c[h>>2]=b;c[h+8>>2]=-2147483616;c[h+4>>2]=22;d=b;e=142123;f=d+22|0;do{a[d>>0]=a[e>>0]|0;d=d+1|0;e=e+1|0}while((d|0)<(f|0));a[b+22>>0]=0;c[i>>2]=0;c[i+4>>2]=0;c[i+8>>2]=0;b=j0a(128)|0;c[i>>2]=b;c[i+8>>2]=-2147483520;c[i+4>>2]=127;d=b;e=142146;f=d+127|0;do{a[d>>0]=a[e>>0]|0;d=d+1|0;e=e+1|0}while((d|0)<(f|0));a[b+127>>0]=0;uQ(tQ()|0,2,h,i);if((a[i+11>>0]|0)<0)l0a(c[i>>2]|0);if((a[h+11>>0]|0)<0)l0a(c[h>>2]|0);b=j0a(32)|0;c[h>>2]=b;c[h+8>>2]=-2147483616;c[h+4>>2]=17;d=b;e=142274;f=d+17|0;do{a[d>>0]=a[e>>0]|0;d=d+1|0;e=e+1|0}while((d|0)<(f|0));a[b+17>>0]=0;c[i>>2]=0;c[i+4>>2]=0;c[i+8>>2]=0;f=i+11|0;a[f>>0]=8;e=i;c[e>>2]=541476431;c[e+4>>2]=1313808508;a[i+8>>0]=0;uQ(tQ()|0,2,h,i);if((a[f>>0]|0)<0)l0a(c[i>>2]|0);if((a[h+11>>0]|0)<0)l0a(c[h>>2]|0);b=j0a(32)|0;c[h>>2]=b;c[h+8>>2]=-2147483616;c[h+4>>2]=26;d=b;e=142292;f=d+26|0;do{a[d>>0]=a[e>>0]|0;d=d+1|0;e=e+1|0}while((d|0)<(f|0));a[b+26>>0]=0;c[i>>2]=0;c[i+4>>2]=0;c[i+8>>2]=0;b=j0a(32)|0;c[i>>2]=b;c[i+8>>2]=-2147483616;c[i+4>>2]=31;d=b;e=142319;f=d+31|0;do{a[d>>0]=a[e>>0]|0;d=d+1|0;e=e+1|0}while((d|0)<(f|0));a[b+31>>0]=0;uQ(tQ()|0,2,h,i);if((a[i+11>>0]|0)<0)l0a(c[i>>2]|0);if((a[h+11>>0]|0)<0)l0a(c[h>>2]|0);b=j0a(32)|0;c[h>>2]=b;c[h+8>>2]=-2147483616;c[h+4>>2]=27;d=b;e=142351;f=d+27|0;do{a[d>>0]=a[e>>0]|0;d=d+1|0;e=e+1|0}while((d|0)<(f|0));a[b+27>>0]=0;c[i>>2]=0;c[i+4>>2]=0;c[i+8>>2]=0;b=j0a(48)|0;c[i>>2]=b;c[i+8>>2]=-2147483600;c[i+4>>2]=42;d=b;e=142379;f=d+42|0;do{a[d>>0]=a[e>>0]|0;d=d+1|0;e=e+1|0}while((d|0)<(f|0));a[b+42>>0]=0;uQ(tQ()|0,2,h,i);if((a[i+11>>0]|0)<0)l0a(c[i>>2]|0);if((a[h+11>>0]|0)<0)l0a(c[h>>2]|0);b=j0a(32)|0;c[h>>2]=b;c[h+8>>2]=-2147483616;c[h+4>>2]=25;d=b;e=142422;f=d+25|0;do{a[d>>0]=a[e>>0]|0;d=d+1|0;e=e+1|0}while((d|0)<(f|0));a[b+25>>0]=0;c[i>>2]=0;c[i+4>>2]=0;c[i+8>>2]=0;b=j0a(32)|0;c[i>>2]=b;c[i+8>>2]=-2147483616;c[i+4>>2]=23;d=b;e=142448;f=d+23|0;do{a[d>>0]=a[e>>0]|0;d=d+1|0;e=e+1|0}while((d|0)<(f|0));a[b+23>>0]=0;uQ(tQ()|0,2,h,i);if((a[i+11>>0]|0)<0)l0a(c[i>>2]|0);if((a[h+11>>0]|0)<0)l0a(c[h>>2]|0);b=j0a(32)|0;c[h>>2]=b;c[h+8>>2]=-2147483616;c[h+4>>2]=24;d=b;e=142472;f=d+24|0;do{a[d>>0]=a[e>>0]|0;d=d+1|0;e=e+1|0}while((d|0)<(f|0));a[b+24>>0]=0;c[i>>2]=0;c[i+4>>2]=0;c[i+8>>2]=0;b=j0a(32)|0;c[i>>2]=b;c[i+8>>2]=-2147483616;c[i+4>>2]=22;d=b;e=142497;f=d+22|0;do{a[d>>0]=a[e>>0]|0;d=d+1|0;e=e+1|0}while((d|0)<(f|0));a[b+22>>0]=0;uQ(tQ()|0,2,h,i);if((a[i+11>>0]|0)<0)l0a(c[i>>2]|0);if((a[h+11>>0]|0)<0)l0a(c[h>>2]|0);b=j0a(48)|0;c[h>>2]=b;c[h+8>>2]=-2147483600;c[h+4>>2]=46;d=b;e=142520;f=d+46|0;do{a[d>>0]=a[e>>0]|0;d=d+1|0;e=e+1|0}while((d|0)<(f|0));a[b+46>>0]=0;c[i>>2]=0;c[i+4>>2]=0;c[i+8>>2]=0;b=j0a(64)|0;c[i>>2]=b;c[i+8>>2]=-2147483584;c[i+4>>2]=48;d=b;e=142567;f=d+48|0;do{a[d>>0]=a[e>>0]|0;d=d+1|0;e=e+1|0}while((d|0)<(f|0));a[b+48>>0]=0;uQ(tQ()|0,2,h,i);if((a[i+11>>0]|0)<0)l0a(c[i>>2]|0);if((a[h+11>>0]|0)<0)l0a(c[h>>2]|0);b=j0a(48)|0;c[h>>2]=b;c[h+8>>2]=-2147483600;c[h+4>>2]=46;d=b;e=142616;f=d+46|0;do{a[d>>0]=a[e>>0]|0;d=d+1|0;e=e+1|0}while((d|0)<(f|0));a[b+46>>0]=0;c[i>>2]=0;c[i+4>>2]=0;c[i+8>>2]=0;b=j0a(48)|0;c[i>>2]=b;c[i+8>>2]=-2147483600;c[i+4>>2]=35;d=b;e=142663;f=d+35|0;do{a[d>>0]=a[e>>0]|0;d=d+1|0;e=e+1|0}while((d|0)<(f|0));a[b+35>>0]=0;uQ(tQ()|0,2,h,i);if((a[i+11>>0]|0)<0)l0a(c[i>>2]|0);if((a[h+11>>0]|0)<0)l0a(c[h>>2]|0);b=j0a(48)|0;c[h>>2]=b;c[h+8>>2]=-2147483600;c[h+4>>2]=44;d=b;e=142699;f=d+44|0;do{a[d>>0]=a[e>>0]|0;d=d+1|0;e=e+1|0}while((d|0)<(f|0));a[b+44>>0]=0;c[i>>2]=0;c[i+4>>2]=0;c[i+8>>2]=0;b=j0a(64)|0;c[i>>2]=b;c[i+8>>2]=-2147483584;c[i+4>>2]=48;d=b;e=142744;f=d+48|0;do{a[d>>0]=a[e>>0]|0;d=d+1|0;e=e+1|0}while((d|0)<(f|0));a[b+48>>0]=0;uQ(tQ()|0,2,h,i);if((a[i+11>>0]|0)<0)l0a(c[i>>2]|0);if((a[h+11>>0]|0)<0)l0a(c[h>>2]|0);b=j0a(64)|0;c[h>>2]=b;c[h+8>>2]=-2147483584;c[h+4>>2]=48;d=b;e=142793;f=d+48|0;do{a[d>>0]=a[e>>0]|0;d=d+1|0;e=e+1|0}while((d|0)<(f|0));a[b+48>>0]=0;c[i>>2]=0;c[i+4>>2]=0;c[i+8>>2]=0;f=j0a(192)|0;c[i>>2]=f;c[i+8>>2]=-2147483456;c[i+4>>2]=188;x2a(f|0,142842,188)|0;a[f+188>>0]=0;uQ(tQ()|0,2,h,i);if((a[i+11>>0]|0)<0)l0a(c[i>>2]|0);if((a[h+11>>0]|0)<0)l0a(c[h>>2]|0);b=j0a(48)|0;c[h>>2]=b;c[h+8>>2]=-2147483600;c[h+4>>2]=44;d=b;e=143031;f=d+44|0;do{a[d>>0]=a[e>>0]|0;d=d+1|0;e=e+1|0}while((d|0)<(f|0));a[b+44>>0]=0;c[i>>2]=0;c[i+4>>2]=0;c[i+8>>2]=0;b=j0a(48)|0;c[i>>2]=b;c[i+8>>2]=-2147483600;c[i+4>>2]=35;d=b;e=142663;f=d+35|0;do{a[d>>0]=a[e>>0]|0;d=d+1|0;e=e+1|0}while((d|0)<(f|0));a[b+35>>0]=0;uQ(tQ()|0,2,h,i);if((a[i+11>>0]|0)<0)l0a(c[i>>2]|0);if((a[h+11>>0]|0)<0)l0a(c[h>>2]|0);b=j0a(48)|0;c[h>>2]=b;c[h+8>>2]=-2147483600;c[h+4>>2]=41;d=b;e=143076;f=d+41|0;do{a[d>>0]=a[e>>0]|0;d=d+1|0;e=e+1|0}while((d|0)<(f|0));a[b+41>>0]=0;c[i>>2]=0;c[i+4>>2]=0;c[i+8>>2]=0;b=j0a(80)|0;c[i>>2]=b;c[i+8>>2]=-2147483568;c[i+4>>2]=65;d=b;e=143118;f=d+65|0;do{a[d>>0]=a[e>>0]|0;d=d+1|0;e=e+1|0}while((d|0)<(f|0));a[b+65>>0]=0;uQ(tQ()|0,2,h,i);if((a[i+11>>0]|0)<0)l0a(c[i>>2]|0);if((a[h+11>>0]|0)<0)l0a(c[h>>2]|0);b=j0a(32)|0;c[h>>2]=b;c[h+8>>2]=-2147483616;c[h+4>>2]=27;d=b;e=143184;f=d+27|0;do{a[d>>0]=a[e>>0]|0;d=d+1|0;e=e+1|0}while((d|0)<(f|0));a[b+27>>0]=0;c[i>>2]=0;c[i+4>>2]=0;c[i+8>>2]=0;b=j0a(80)|0;c[i>>2]=b;c[i+8>>2]=-2147483568;c[i+4>>2]=76;d=b;e=143212;f=d+76|0;do{a[d>>0]=a[e>>0]|0;d=d+1|0;e=e+1|0}while((d|0)<(f|0));a[b+76>>0]=0;uQ(tQ()|0,2,h,i);if((a[i+11>>0]|0)<0)l0a(c[i>>2]|0);if((a[h+11>>0]|0)<0)l0a(c[h>>2]|0);b=j0a(48)|0;c[h>>2]=b;c[h+8>>2]=-2147483600;c[h+4>>2]=34;d=b;e=143289;f=d+34|0;do{a[d>>0]=a[e>>0]|0;d=d+1|0;e=e+1|0}while((d|0)<(f|0));a[b+34>>0]=0;c[i>>2]=0;c[i+4>>2]=0;c[i+8>>2]=0;b=j0a(128)|0;c[i>>2]=b;c[i+8>>2]=-2147483520;c[i+4>>2]=115;d=b;e=143324;f=d+115|0;do{a[d>>0]=a[e>>0]|0;d=d+1|0;e=e+1|0}while((d|0)<(f|0));a[b+115>>0]=0;uQ(tQ()|0,2,h,i);if((a[i+11>>0]|0)<0)l0a(c[i>>2]|0);if((a[h+11>>0]|0)<0)l0a(c[h>>2]|0);b=j0a(48)|0;c[h>>2]=b;c[h+8>>2]=-2147483600;c[h+4>>2]=35;d=b;e=143440;f=d+35|0;do{a[d>>0]=a[e>>0]|0;d=d+1|0;e=e+1|0}while((d|0)<(f|0));a[b+35>>0]=0;c[i>>2]=0;c[i+4>>2]=0;c[i+8>>2]=0;b=j0a(96)|0;c[i>>2]=b;c[i+8>>2]=-2147483552;c[i+4>>2]=94;d=b;e=143476;f=d+94|0;do{a[d>>0]=a[e>>0]|0;d=d+1|0;e=e+1|0}while((d|0)<(f|0));a[b+94>>0]=0;uQ(tQ()|0,2,h,i);if((a[i+11>>0]|0)<0)l0a(c[i>>2]|0);if((a[h+11>>0]|0)<0)l0a(c[h>>2]|0);b=j0a(32)|0;c[h>>2]=b;c[h+8>>2]=-2147483616;c[h+4>>2]=30;d=b;e=143571;f=d+30|0;do{a[d>>0]=a[e>>0]|0;d=d+1|0;e=e+1|0}while((d|0)<(f|0));a[b+30>>0]=0;c[i>>2]=0;c[i+4>>2]=0;c[i+8>>2]=0;b=j0a(80)|0;c[i>>2]=b;c[i+8>>2]=-2147483568;c[i+4>>2]=76;d=b;e=143602;f=d+76|0;do{a[d>>0]=a[e>>0]|0;d=d+1|0;e=e+1|0}while((d|0)<(f|0));a[b+76>>0]=0;uQ(tQ()|0,2,h,i);if((a[i+11>>0]|0)<0)l0a(c[i>>2]|0);if((a[h+11>>0]|0)<0)l0a(c[h>>2]|0);b=j0a(48)|0;c[h>>2]=b;c[h+8>>2]=-2147483600;c[h+4>>2]=35;d=b;e=143679;f=d+35|0;do{a[d>>0]=a[e>>0]|0;d=d+1|0;e=e+1|0}while((d|0)<(f|0));a[b+35>>0]=0;c[i>>2]=0;c[i+4>>2]=0;c[i+8>>2]=0;b=j0a(112)|0;c[i>>2]=b;c[i+8>>2]=-2147483536;c[i+4>>2]=103;d=b;e=143715;f=d+103|0;do{a[d>>0]=a[e>>0]|0;d=d+1|0;e=e+1|0}while((d|0)<(f|0));a[b+103>>0]=0;uQ(tQ()|0,2,h,i);if((a[i+11>>0]|0)<0)l0a(c[i>>2]|0);if((a[h+11>>0]|0)<0)l0a(c[h>>2]|0);b=j0a(32)|0;c[h>>2]=b;c[h+8>>2]=-2147483616;c[h+4>>2]=23;d=b;e=143819;f=d+23|0;do{a[d>>0]=a[e>>0]|0;d=d+1|0;e=e+1|0}while((d|0)<(f|0));a[b+23>>0]=0;c[i>>2]=0;c[i+4>>2]=0;c[i+8>>2]=0;b=j0a(80)|0;c[i>>2]=b;c[i+8>>2]=-2147483568;c[i+4>>2]=66;d=b;e=143843;f=d+66|0;do{a[d>>0]=a[e>>0]|0;d=d+1|0;e=e+1|0}while((d|0)<(f|0));a[b+66>>0]=0;uQ(tQ()|0,2,h,i);if((a[i+11>>0]|0)<0)l0a(c[i>>2]|0);if((a[h+11>>0]|0)<0)l0a(c[h>>2]|0);b=j0a(32)|0;c[h>>2]=b;c[h+8>>2]=-2147483616;c[h+4>>2]=27;d=b;e=143910;f=d+27|0;do{a[d>>0]=a[e>>0]|0;d=d+1|0;e=e+1|0}while((d|0)<(f|0));a[b+27>>0]=0;c[i>>2]=0;c[i+4>>2]=0;c[i+8>>2]=0;b=j0a(64)|0;c[i>>2]=b;c[i+8>>2]=-2147483584;c[i+4>>2]=56;d=b;e=143938;f=d+56|0;do{a[d>>0]=a[e>>0]|0;d=d+1|0;e=e+1|0}while((d|0)<(f|0));a[b+56>>0]=0;uQ(tQ()|0,2,h,i);if((a[i+11>>0]|0)<0)l0a(c[i>>2]|0);if((a[h+11>>0]|0)<0)l0a(c[h>>2]|0);b=j0a(48)|0;c[h>>2]=b;c[h+8>>2]=-2147483600;c[h+4>>2]=33;d=b;e=143995;f=d+33|0;do{a[d>>0]=a[e>>0]|0;d=d+1|0;e=e+1|0}while((d|0)<(f|0));a[b+33>>0]=0;c[i>>2]=0;c[i+4>>2]=0;c[i+8>>2]=0;b=j0a(80)|0;c[i>>2]=b;c[i+8>>2]=-2147483568;c[i+4>>2]=69;d=b;e=144029;f=d+69|0;do{a[d>>0]=a[e>>0]|0;d=d+1|0;e=e+1|0}while((d|0)<(f|0));a[b+69>>0]=0;uQ(tQ()|0,2,h,i);if((a[i+11>>0]|0)<0)l0a(c[i>>2]|0);if((a[h+11>>0]|0)<0)l0a(c[h>>2]|0);b=j0a(32)|0;c[h>>2]=b;c[h+8>>2]=-2147483616;c[h+4>>2]=23;d=b;e=144099;f=d+23|0;do{a[d>>0]=a[e>>0]|0;d=d+1|0;e=e+1|0}while((d|0)<(f|0));a[b+23>>0]=0;c[i>>2]=0;c[i+4>>2]=0;c[i+8>>2]=0;b=j0a(80)|0;c[i>>2]=b;c[i+8>>2]=-2147483568;c[i+4>>2]=68;d=b;e=144123;f=d+68|0;do{a[d>>0]=a[e>>0]|0;d=d+1|0;e=e+1|0}while((d|0)<(f|0));a[b+68>>0]=0;uQ(tQ()|0,2,h,i);if((a[i+11>>0]|0)<0)l0a(c[i>>2]|0);if((a[h+11>>0]|0)<0)l0a(c[h>>2]|0);b=j0a(48)|0;c[h>>2]=b;c[h+8>>2]=-2147483600;c[h+4>>2]=42;d=b;e=118022;f=d+42|0;do{a[d>>0]=a[e>>0]|0;d=d+1|0;e=e+1|0}while((d|0)<(f|0));a[b+42>>0]=0;c[i>>2]=0;c[i+4>>2]=0;c[i+8>>2]=0;b=j0a(112)|0;c[i>>2]=b;c[i+8>>2]=-2147483536;c[i+4>>2]=103;d=b;e=144192;f=d+103|0;do{a[d>>0]=a[e>>0]|0;d=d+1|0;e=e+1|0}while((d|0)<(f|0));a[b+103>>0]=0;uQ(tQ()|0,2,h,i);if((a[i+11>>0]|0)<0)l0a(c[i>>2]|0);if((a[h+11>>0]|0)<0)l0a(c[h>>2]|0);b=j0a(48)|0;c[h>>2]=b;c[h+8>>2]=-2147483600;c[h+4>>2]=43;d=b;e=118065;f=d+43|0;do{a[d>>0]=a[e>>0]|0;d=d+1|0;e=e+1|0}while((d|0)<(f|0));a[b+43>>0]=0;c[i>>2]=0;c[i+4>>2]=0;c[i+8>>2]=0;b=j0a(112)|0;c[i>>2]=b;c[i+8>>2]=-2147483536;c[i+4>>2]=104;d=b;e=144296;f=d+104|0;do{a[d>>0]=a[e>>0]|0;d=d+1|0;e=e+1|0}while((d|0)<(f|0));a[b+104>>0]=0;uQ(tQ()|0,2,h,i);if((a[i+11>>0]|0)<0)l0a(c[i>>2]|0);if((a[h+11>>0]|0)<0)l0a(c[h>>2]|0);b=j0a(48)|0;c[h>>2]=b;c[h+8>>2]=-2147483600;c[h+4>>2]=36;d=b;e=144401;f=d+36|0;do{a[d>>0]=a[e>>0]|0;d=d+1|0;e=e+1|0}while((d|0)<(f|0));a[b+36>>0]=0;c[i>>2]=0;c[i+4>>2]=0;c[i+8>>2]=0;b=j0a(64)|0;c[i>>2]=b;c[i+8>>2]=-2147483584;c[i+4>>2]=55;d=b;e=144438;f=d+55|0;do{a[d>>0]=a[e>>0]|0;d=d+1|0;e=e+1|0}while((d|0)<(f|0));a[b+55>>0]=0;uQ(tQ()|0,2,h,i);if((a[i+11>>0]|0)<0)l0a(c[i>>2]|0);if((a[h+11>>0]|0)<0)l0a(c[h>>2]|0);b=j0a(32)|0;c[h>>2]=b;c[h+8>>2]=-2147483616;c[h+4>>2]=27;d=b;e=144494;f=d+27|0;do{a[d>>0]=a[e>>0]|0;d=d+1|0;e=e+1|0}while((d|0)<(f|0));a[b+27>>0]=0;c[i>>2]=0;c[i+4>>2]=0;c[i+8>>2]=0;b=j0a(80)|0;c[i>>2]=b;c[i+8>>2]=-2147483568;c[i+4>>2]=68;d=b;e=144522;f=d+68|0;do{a[d>>0]=a[e>>0]|0;d=d+1|0;e=e+1|0}while((d|0)<(f|0));a[b+68>>0]=0;uQ(tQ()|0,2,h,i);if((a[i+11>>0]|0)<0)l0a(c[i>>2]|0);if((a[h+11>>0]|0)<0)l0a(c[h>>2]|0);b=j0a(48)|0;c[h>>2]=b;c[h+8>>2]=-2147483600;c[h+4>>2]=34;d=b;e=144591;f=d+34|0;do{a[d>>0]=a[e>>0]|0;d=d+1|0;e=e+1|0}while((d|0)<(f|0));a[b+34>>0]=0;c[i>>2]=0;c[i+4>>2]=0;c[i+8>>2]=0;b=j0a(80)|0;c[i>>2]=b;c[i+8>>2]=-2147483568;c[i+4>>2]=75;d=b;e=144626;f=d+75|0;do{a[d>>0]=a[e>>0]|0;d=d+1|0;e=e+1|0}while((d|0)<(f|0));a[b+75>>0]=0;uQ(tQ()|0,2,h,i);if((a[i+11>>0]|0)<0)l0a(c[i>>2]|0);if((a[h+11>>0]|0)<0)l0a(c[h>>2]|0);b=j0a(32)|0;c[h>>2]=b;c[h+8>>2]=-2147483616;c[h+4>>2]=24;d=b;e=144702;f=d+24|0;do{a[d>>0]=a[e>>0]|0;d=d+1|0;e=e+1|0}while((d|0)<(f|0));a[b+24>>0]=0;c[i>>2]=0;c[i+4>>2]=0;c[i+8>>2]=0;b=j0a(80)|0;c[i>>2]=b;c[i+8>>2]=-2147483568;c[i+4>>2]=68;d=b;e=144727;f=d+68|0;do{a[d>>0]=a[e>>0]|0;d=d+1|0;e=e+1|0}while((d|0)<(f|0));a[b+68>>0]=0;uQ(tQ()|0,2,h,i);if((a[i+11>>0]|0)<0)l0a(c[i>>2]|0);if((a[h+11>>0]|0)<0)l0a(c[h>>2]|0);b=j0a(32)|0;c[h>>2]=b;c[h+8>>2]=-2147483616;c[h+4>>2]=21;d=b;e=144796;f=d+21|0;do{a[d>>0]=a[e>>0]|0;d=d+1|0;e=e+1|0}while((d|0)<(f|0));a[b+21>>0]=0;c[i>>2]=0;c[i+4>>2]=0;c[i+8>>2]=0;b=j0a(80)|0;c[i>>2]=b;c[i+8>>2]=-2147483568;c[i+4>>2]=73;d=b;e=144818;f=d+73|0;do{a[d>>0]=a[e>>0]|0;d=d+1|0;e=e+1|0}while((d|0)<(f|0));a[b+73>>0]=0;uQ(tQ()|0,2,h,i);if((a[i+11>>0]|0)<0)l0a(c[i>>2]|0);if((a[h+11>>0]|0)<0)l0a(c[h>>2]|0);b=j0a(48)|0;c[h>>2]=b;c[h+8>>2]=-2147483600;c[h+4>>2]=42;d=b;e=144892;f=d+42|0;do{a[d>>0]=a[e>>0]|0;d=d+1|0;e=e+1|0}while((d|0)<(f|0));a[b+42>>0]=0;c[i>>2]=0;c[i+4>>2]=0;c[i+8>>2]=0;b=j0a(112)|0;c[i>>2]=b;c[i+8>>2]=-2147483536;c[i+4>>2]=103;d=b;e=144935;f=d+103|0;do{a[d>>0]=a[e>>0]|0;d=d+1|0;e=e+1|0}while((d|0)<(f|0));a[b+103>>0]=0;uQ(tQ()|0,2,h,i);if((a[i+11>>0]|0)<0)l0a(c[i>>2]|0);if((a[h+11>>0]|0)<0)l0a(c[h>>2]|0);b=j0a(32)|0;c[h>>2]=b;c[h+8>>2]=-2147483616;c[h+4>>2]=31;d=b;e=145039;f=d+31|0;do{a[d>>0]=a[e>>0]|0;d=d+1|0;e=e+1|0}while((d|0)<(f|0));a[b+31>>0]=0;c[i>>2]=0;c[i+4>>2]=0;c[i+8>>2]=0;b=j0a(96)|0;c[i>>2]=b;c[i+8>>2]=-2147483552;c[i+4>>2]=82;d=b;e=145071;f=d+82|0;do{a[d>>0]=a[e>>0]|0;d=d+1|0;e=e+1|0}while((d|0)<(f|0));a[b+82>>0]=0;uQ(tQ()|0,2,h,i);if((a[i+11>>0]|0)<0)l0a(c[i>>2]|0);if((a[h+11>>0]|0)<0)l0a(c[h>>2]|0);b=j0a(32)|0;c[h>>2]=b;c[h+8>>2]=-2147483616;c[h+4>>2]=31;d=b;e=145154;f=d+31|0;do{a[d>>0]=a[e>>0]|0;d=d+1|0;e=e+1|0}while((d|0)<(f|0));a[b+31>>0]=0;c[i>>2]=0;c[i+4>>2]=0;c[i+8>>2]=0;b=j0a(96)|0;c[i>>2]=b;c[i+8>>2]=-2147483552;c[i+4>>2]=87;d=b;e=145186;f=d+87|0;do{a[d>>0]=a[e>>0]|0;d=d+1|0;e=e+1|0}while((d|0)<(f|0));a[b+87>>0]=0;uQ(tQ()|0,2,h,i);if((a[i+11>>0]|0)<0)l0a(c[i>>2]|0);if((a[h+11>>0]|0)<0)l0a(c[h>>2]|0);b=j0a(32)|0;c[h>>2]=b;c[h+8>>2]=-2147483616;c[h+4>>2]=30;d=b;e=145274;f=d+30|0;do{a[d>>0]=a[e>>0]|0;d=d+1|0;e=e+1|0}while((d|0)<(f|0));a[b+30>>0]=0;c[i>>2]=0;c[i+4>>2]=0;c[i+8>>2]=0;b=j0a(128)|0;c[i>>2]=b;c[i+8>>2]=-2147483520;c[i+4>>2]=124;d=b;e=145305;f=d+124|0;do{a[d>>0]=a[e>>0]|0;d=d+1|0;e=e+1|0}while((d|0)<(f|0));a[b+124>>0]=0;uQ(tQ()|0,2,h,i);if((a[i+11>>0]|0)<0)l0a(c[i>>2]|0);if((a[h+11>>0]|0)<0)l0a(c[h>>2]|0);b=j0a(32)|0;c[h>>2]=b;c[h+8>>2]=-2147483616;c[h+4>>2]=28;d=b;e=145430;f=d+28|0;do{a[d>>0]=a[e>>0]|0;d=d+1|0;e=e+1|0}while((d|0)<(f|0));a[b+28>>0]=0;c[i>>2]=0;c[i+4>>2]=0;c[i+8>>2]=0;f=i+11|0;a[f>>0]=6;a[i>>0]=a[145459]|0;a[i+1>>0]=a[145460]|0;a[i+2>>0]=a[145461]|0;a[i+3>>0]=a[145462]|0;a[i+4>>0]=a[145463]|0;a[i+5>>0]=a[145464]|0;a[i+6>>0]=0;uQ(tQ()|0,2,h,i);if((a[f>>0]|0)<0)l0a(c[i>>2]|0);if((a[h+11>>0]|0)<0)l0a(c[h>>2]|0);b=j0a(32)|0;c[h>>2]=b;c[h+8>>2]=-2147483616;c[h+4>>2]=25;d=b;e=117924;f=d+25|0;do{a[d>>0]=a[e>>0]|0;d=d+1|0;e=e+1|0}while((d|0)<(f|0));a[b+25>>0]=0;c[i>>2]=0;c[i+4>>2]=0;c[i+8>>2]=0;b=j0a(80)|0;c[i>>2]=b;c[i+8>>2]=-2147483568;c[i+4>>2]=67;d=b;e=145466;f=d+67|0;do{a[d>>0]=a[e>>0]|0;d=d+1|0;e=e+1|0}while((d|0)<(f|0));a[b+67>>0]=0;uQ(tQ()|0,2,h,i);if((a[i+11>>0]|0)<0)l0a(c[i>>2]|0);if((a[h+11>>0]|0)<0)l0a(c[h>>2]|0);b=j0a(48)|0;c[h>>2]=b;c[h+8>>2]=-2147483600;c[h+4>>2]=45;d=b;e=145534;f=d+45|0;do{a[d>>0]=a[e>>0]|0;d=d+1|0;e=e+1|0}while((d|0)<(f|0));a[b+45>>0]=0;c[i>>2]=0;c[i+4>>2]=0;c[i+8>>2]=0;b=j0a(80)|0;c[i>>2]=b;c[i+8>>2]=-2147483568;c[i+4>>2]=64;d=b;e=145580;f=d+64|0;do{a[d>>0]=a[e>>0]|0;d=d+1|0;e=e+1|0}while((d|0)<(f|0));a[b+64>>0]=0;uQ(tQ()|0,2,h,i);if((a[i+11>>0]|0)<0)l0a(c[i>>2]|0);if((a[h+11>>0]|0)<0)l0a(c[h>>2]|0);b=j0a(48)|0;c[h>>2]=b;c[h+8>>2]=-2147483600;c[h+4>>2]=33;d=b;e=145645;f=d+33|0;do{a[d>>0]=a[e>>0]|0;d=d+1|0;e=e+1|0}while((d|0)<(f|0));a[b+33>>0]=0;c[i>>2]=0;c[i+4>>2]=0;c[i+8>>2]=0;b=j0a(128)|0;c[i>>2]=b;c[i+8>>2]=-2147483520;c[i+4>>2]=127;d=b;e=145679;f=d+127|0;do{a[d>>0]=a[e>>0]|0;d=d+1|0;e=e+1|0}while((d|0)<(f|0));a[b+127>>0]=0;uQ(tQ()|0,2,h,i);if((a[i+11>>0]|0)<0)l0a(c[i>>2]|0);if((a[h+11>>0]|0)<0)l0a(c[h>>2]|0);vt()|0;vQ(225548,c[(c[56383]|0)+84>>2]|0);vt()|0;wQ(225560,c[(c[56383]|0)+84>>2]|0);vt()|0;b=c[(c[56383]|0)+84>>2]|0;c[56393]=0;c[56394]=0;c[56395]=0;do if(b|0)if(b>>>0>1073741823)g1a(225572);else{e=b<<2;d=j0a(e)|0;c[56393]=d;f=d+(b<<2)|0;c[56395]=f;z2a(d|0,0,e|0)|0;c[56394]=f;break}while(0);vt()|0;vQ(225692,c[(c[56383]|0)+84>>2]|0);vt()|0;wQ(225704,c[(c[56383]|0)+84>>2]|0);vt()|0;b=c[(c[56383]|0)+84>>2]|0;c[56429]=0;c[56430]=0;c[56431]=0;do if(b|0)if(b>>>0>1073741823)g1a(225716);else{e=b<<2;d=j0a(e)|0;c[56429]=d;f=d+(b<<2)|0;c[56431]=f;z2a(d|0,0,e|0)|0;c[56430]=f;break}while(0);b=j0a(48)|0;c[h>>2]=b;c[h+8>>2]=-2147483600;c[h+4>>2]=32;d=b;e=145807;f=d+32|0;do{a[d>>0]=a[e>>0]|0;d=d+1|0;e=e+1|0}while((d|0)<(f|0));a[b+32>>0]=0;c[i>>2]=0;c[i+4>>2]=0;c[i+8>>2]=0;b=j0a(96)|0;c[i>>2]=b;c[i+8>>2]=-2147483552;c[i+4>>2]=80;d=b;e=145840;f=d+80|0;do{a[d>>0]=a[e>>0]|0;d=d+1|0;e=e+1|0}while((d|0)<(f|0));a[b+80>>0]=0;uQ(tQ()|0,2,h,i);if((a[i+11>>0]|0)<0)l0a(c[i>>2]|0);if((a[h+11>>0]|0)<0)l0a(c[h>>2]|0);b=j0a(32)|0;c[h>>2]=b;c[h+8>>2]=-2147483616;c[h+4>>2]=28;d=b;e=145921;f=d+28|0;do{a[d>>0]=a[e>>0]|0;d=d+1|0;e=e+1|0}while((d|0)<(f|0));a[b+28>>0]=0;c[i>>2]=0;c[i+4>>2]=0;c[i+8>>2]=0;b=j0a(64)|0;c[i>>2]=b;c[i+8>>2]=-2147483584;c[i+4>>2]=53;d=b;e=145950;f=d+53|0;do{a[d>>0]=a[e>>0]|0;d=d+1|0;e=e+1|0}while((d|0)<(f|0));a[b+53>>0]=0;uQ(tQ()|0,2,h,i);if((a[i+11>>0]|0)<0)l0a(c[i>>2]|0);if((a[h+11>>0]|0)<0)l0a(c[h>>2]|0);nu()|0;xQ(225536);yQ()|0;xla(225728,0);b=j0a(32)|0;c[h>>2]=b;c[h+8>>2]=-2147483616;c[h+4>>2]=23;d=b;e=146004;f=d+23|0;do{a[d>>0]=a[e>>0]|0;d=d+1|0;e=e+1|0}while((d|0)<(f|0));a[b+23>>0]=0;c[i>>2]=0;c[i+4>>2]=0;c[i+8>>2]=0;b=j0a(80)|0;c[i>>2]=b;c[i+8>>2]=-2147483568;c[i+4>>2]=69;d=b;e=146028;f=d+69|0;do{a[d>>0]=a[e>>0]|0;d=d+1|0;e=e+1|0}while((d|0)<(f|0));a[b+69>>0]=0;uQ(tQ()|0,2,h,i);if((a[i+11>>0]|0)<0)l0a(c[i>>2]|0);if((a[h+11>>0]|0)<0)l0a(c[h>>2]|0);if(a[223632]|0){l=j;return}if(!(g2a(223632)|0)){l=j;return}kr(225352);l=j;return}function tQ(){var b=0,d=0,e=0,f=0,g=0;if(a[223680]|0){g=c[56436]|0;return g|0}if(!(g2a(223680)|0)){g=c[56436]|0;return g|0}b=j0a(108)|0;Tha(b);c[b>>2]=81284;d=b+52|0;c[d>>2]=0;c[b+56>>2]=0;e=b+48|0;f=b+12|0;g=f+36|0;do{c[f>>2]=0;f=f+4|0}while((f|0)<(g|0));c[e>>2]=d;g=b+64|0;c[g>>2]=0;c[b+68>>2]=0;c[b+60>>2]=g;g=b+76|0;c[g>>2]=0;c[b+80>>2]=0;c[b+72>>2]=g;g=b+88|0;c[g>>2]=0;c[b+92>>2]=0;c[b+84>>2]=g;g=b+100|0;c[g>>2]=0;c[b+104>>2]=0;c[b+96>>2]=g;c[56436]=b;g=b+8|0;c[g>>2]=(c[g>>2]|0)+1;g=c[56436]|0;return g|0}function uQ(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0;h=l;l=l+16|0;g=h;switch(d|0){case 1:{c[g>>2]=0;c[g+4>>2]=0;c[g+8>>2]=0;z0a(It(b+48|0,e)|0,f)|0;z0a(It(b+96|0,e)|0,g)|0;if((a[g+11>>0]|0)<0)l0a(c[g>>2]|0);l=h;return}case 2:{c[g>>2]=0;c[g+4>>2]=0;c[g+8>>2]=0;z0a(It(b+60|0,e)|0,f)|0;z0a(It(b+84|0,e)|0,g)|0;if((a[g+11>>0]|0)<0)l0a(c[g>>2]|0);l=h;return}default:{l=h;return}}}function vQ(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;c[a>>2]=0;e=a+4|0;c[e>>2]=0;d=a+8|0;c[d>>2]=0;if(!b)return;if(b>>>0>357913941)g1a(a);f=j0a(b*12|0)|0;c[e>>2]=f;c[a>>2]=f;c[d>>2]=f+(b*12|0);a=f;do{c[a+4>>2]=0;c[a+8>>2]=0;c[a>>2]=a+4;a=(c[e>>2]|0)+12|0;c[e>>2]=a;b=b+-1|0}while((b|0)!=0);return}function wQ(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;c[a>>2]=0;e=a+4|0;c[e>>2]=0;d=a+8|0;c[d>>2]=0;if(!b)return;if(b>>>0>357913941)g1a(a);f=j0a(b*12|0)|0;c[e>>2]=f;c[a>>2]=f;c[d>>2]=f+(b*12|0);a=f;do{c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;a=(c[e>>2]|0)+12|0;c[e>>2]=a;b=b+-1|0}while((b|0)!=0);return}function xQ(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;vt()|0;b=c[(c[56383]|0)+84>>2]|0;c[a>>2]=0;d=a+4|0;c[d>>2]=0;e=a+8|0;c[e>>2]=0;if(!b)return;if(b>>>0>1073741823)g1a(a);f=b<<2;g=j0a(f)|0;c[a>>2]=g;b=g+(b<<2)|0;c[e>>2]=b;z2a(g|0,0,f|0)|0;c[d>>2]=b;return}function yQ(){var b=0;if(a[223672]|0)return 225740;if(!(g2a(223672)|0))return 225740;b=j0a(24)|0;Tha(b);c[b>>2]=74500;c[b+12>>2]=0;c[b+16>>2]=0;c[b+20>>2]=0;c[56435]=b;b=b+8|0;c[b>>2]=(c[b>>2]|0)+1;return 225740}function zQ(a){a=a|0;oX(a);l0a(a);return}function AQ(b){b=b|0;var d=0;c[b>>2]=81284;yq(b+96|0,c[b+100>>2]|0);yq(b+84|0,c[b+88>>2]|0);yq(b+72|0,c[b+76>>2]|0);yq(b+60|0,c[b+64>>2]|0);yq(b+48|0,c[b+52>>2]|0);d=b+36|0;if((a[d+11>>0]|0)<0)l0a(c[d>>2]|0);d=b+24|0;if((a[d+11>>0]|0)<0)l0a(c[d>>2]|0);d=b+12|0;if((a[d+11>>0]|0)>=0){SU(b);return}l0a(c[d>>2]|0);SU(b);return}function BQ(a){a=a|0;AQ(a);l0a(a);return}function CQ(a){a=a|0;var b=0;a:do if((a|0)>=1286){if((a|0)>=100901)switch(a|0){case 100901:{a=10;b=16;break a}case 100902:{a=11;b=16;break a}case 100903:{a=12;b=16;break a}case 100904:{a=13;b=16;break a}default:{b=19;break a}}if((a|0)<32817){switch(a|0){case 1286:break;default:{b=19;break a}}a=8;b=16;break}if((a|0)<100900){switch(a|0){case 32817:break;default:{b=19;break a}}a=7;b=16;break}else{switch(a|0){case 100900:break;default:{b=19;break a}}a=9;b=16;break}}else switch(a|0){case 0:{b=16;break a}case 1280:{a=1;b=16;break a}case 1281:{a=2;b=16;break a}case 1282:{a=3;b=16;break a}case 1283:{a=4;b=16;break a}case 1284:{a=5;b=16;break a}case 1285:{a=6;b=16;break a}default:{b=19;break a}}while(0);do if((b|0)==16)a=80+(a<<3)+4|0;else if((b|0)==19)if((a+-100151|0)>>>0<6){a=48+(a+-100150<<2)|0;break}else{b=0;return b|0}while(0);b=c[a>>2]|0;return b|0}function DQ(a){a=a|0;var b=0;c[a>>2]=4;b=a+4|0;c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;c[b+12>>2]=0;c[b+16>>2]=0;c[b+20>>2]=0;c[b+24>>2]=0;c[a+32>>2]=4;a=a+36|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;c[a+12>>2]=0;c[a+16>>2]=0;c[a+20>>2]=0;c[a+24>>2]=0;return}function EQ(f,h,i,k,m,n,o,p,q,r,s,t){f=f|0;h=h|0;i=i|0;k=k|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;var u=0,v=0,w=0,x=0,y=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,O=0,P=0,Q=0,R=0.0,S=0.0,T=0.0,U=0.0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0.0,ba=0.0,ca=0.0,da=0.0,ea=0.0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0.0,oa=0.0,pa=0.0,qa=0,ra=0.0,sa=0.0,ta=0.0,ua=0.0,va=0.0,wa=0.0,xa=0.0,ya=0.0,za=0.0,Aa=0.0,Ba=0.0,Ca=0.0,Da=0,Ea=0,Fa=0,Ga=0,Ha=0,Ia=0,Ja=0,Ka=0,La=0,Ma=0,Na=0.0,Oa=0,Pa=0,Qa=0,Ra=0,Sa=0,Ta=0,Ua=0,Va=0,Wa=0,Xa=0,Ya=0,Za=0,_a=0,$a=0,ab=0,cb=0;ab=l;l=l+192|0;L=ab+112|0;Da=ab+48|0;Xa=ab+32|0;Ya=ab+16|0;Za=ab;C=ab+128|0;c[C>>2]=4;A=C+4|0;_a=C+32|0;c[A>>2]=0;c[A+4>>2]=0;c[A+8>>2]=0;c[A+12>>2]=0;c[A+16>>2]=0;c[A+20>>2]=0;c[A+24>>2]=0;c[_a>>2]=4;A=C+36|0;c[A>>2]=0;c[A+4>>2]=0;c[A+8>>2]=0;c[A+12>>2]=0;c[A+16>>2]=0;c[A+20>>2]=0;c[A+24>>2]=0;a:do if((o|0)>=6407){if((o|0)<6410){switch(o|0){case 6409:case 6408:case 6407:break a;default:{}}bb(146155,138056,3878,146204)}if((o|0)>=32993){switch(o|0){case 32993:case 33319:break a;default:{}}bb(146155,138056,3878,146204)}if((o|0)<32992){switch(o|0){case 6410:break a;default:{}}bb(146155,138056,3878,146204)}else{switch(o|0){case 32992:break a;default:{}}bb(146155,138056,3878,146204)}}else{switch(o|0){case 6406:case 6405:case 6404:case 6403:case 6402:case 6401:case 6400:break a;default:{}}bb(146155,138056,3878,146204)}while(0);if((o|0)==6401|(GI(p)|0)<<24>>24==0)bb(146155,138056,3878,146204);b:do switch(p|0){case 32818:case 32819:case 32820:case 32821:case 32822:case 33634:case 33635:case 33636:case 33637:case 33638:case 33639:case 33640:{if((o|0)!=6407&((p|0)==33636|((p|0)==32818|(p|1|0)==33635)))bb(146155,138056,3878,146204);switch(p|0){case 32819:case 32820:case 32821:case 32822:case 33637:case 33638:case 33639:case 33640:break;default:break b}if((o|0)<32993){switch(o|0){case 6408:break b;default:{}}bb(146155,138056,3878,146204)}else{switch(o|0){case 32993:break b;default:{}}bb(146155,138056,3878,146204)}break}default:{}}while(0);if(!((i|0)>0&(k|0)>0))bb(146231,138056,3879,146204);if((p|0)==6656){c[Da>>2]=4;u=Da+4|0;X=Da+32|0;c[u>>2]=0;c[u+4>>2]=0;c[u+8>>2]=0;c[u+12>>2]=0;c[u+16>>2]=0;c[u+20>>2]=0;c[u+24>>2]=0;c[X>>2]=4;u=Da+36|0;c[u>>2]=0;c[u+4>>2]=0;c[u+8>>2]=0;c[u+12>>2]=0;c[u+16>>2]=0;c[u+20>>2]=0;c[u+24>>2]=0;ci(3317,X|0);ci(3333,Da|0);ci(3379,L|0);u=1;v=i;c:while(1){switch(v|0){case 1:{x=u;break c}case 3:{La=13;break c}default:{}}u=u<<1;v=v>>>1}if((La|0)==13)x=u<<2;w=c[L>>2]|0;A=(x|0)>(w|0)?w:x;d:do if(!k)u=-1;else{u=1;v=k;e:while(1){switch(v|0){case 1:break d;case 3:break e;default:{}}u=u<<1;v=v>>>1}u=u<<2}while(0);y=(u|0)>(w|0)?w:u;if(!A)x=-1;else{if(!(A&1)){v=0;w=A;while(1){u=w>>>1;v=v+1|0;if(!(w&2))w=u;else break}}else{v=0;u=A}x=(u|0)==1?v:-1}if(!y)u=-1;else{if(!(y&1)){v=0;w=y;while(1){u=w>>>1;v=v+1|0;if(!(w&2))w=u;else break}}else{v=0;u=y}u=(u|0)==1?v:-1}V=(u|0)>(x|0)?u:x;if((o|0)<32992)switch(o|0){case 6407:{B=3;break}case 6410:{La=31;break}case 6408:{La=32;break}default:La=33}else switch(o|0){case 32992:{B=3;break}case 33319:{La=31;break}case 32993:{La=32;break}default:La=33}if((La|0)==31)B=2;else if((La|0)==32)B=4;else if((La|0)==33)B=1;u=GNa(N(N(~~(+(i|0)*2.0)>>>0,k)|0,B)|0)|0;f:do if(u){HI(Da,i,k,o,6656,(o|1|0)==6401&1,t,u);if((o|0)<32992)switch(o|0){case 6407:{Y=3;break}case 6410:{La=36;break}case 6408:{La=37;break}default:La=38}else switch(o|0){case 32992:{Y=3;break}case 33319:{La=36;break}case 32993:{La=37;break}default:La=38}if((La|0)==36)Y=2;else if((La|0)==37)Y=4;else if((La|0)==38)Y=1;ei(3317,2);g:do if((V|0)<0){w=0;v=0}else{h:do if((o|0)==6407){Q=y;O=A;P=0;w=0;M=u;x=0;y=0;A=0;v=0;C=0;K=u;J=u;H=u;F=u;L=u;while(1){if((k|0)==(Q|0)&(i|0)==(O|0)){li(f|0,P|0,h|0,i|0,k|0,0,6407,5123,L|0);I=M;u=F;G=H;E=J;D=K;B=L}else{if(!w){if((O|0)<=0){La=55;break}if((Q|0)<=0){La=57;break}x=GNa(N(Q*3|0,~~(+(O|0)*2.0)>>>0)|0)|0;if(!x){Z=K;break h}else{w=x;u=x;v=x;y=x;B=x}}else{u=C;B=x;x=A}II(Y,i,k,M,O,Q,w);li(f|0,P|0,h|0,O|0,Q|0,0,6407,5123,x|0);k=Q;i=O;I=w;w=M;G=v;E=x;D=y;C=F;v=H;A=J;y=K;x=L}if((P|0)<(V|0)){Q=Q>>>((Q|0)>1&1);O=O>>>((O|0)>1&1);P=P+1|0;M=I;K=D;J=E;H=G;F=u;L=B}else break g}if((La|0)==55)bb(138046,138056,4944,138170);else if((La|0)==57)bb(138181,138056,4945,138170)}else{P=A;Q=0;w=0;O=u;x=0;A=0;B=0;v=0;C=0;L=u;K=u;I=u;G=u;M=u;while(1){if((k|0)==(y|0)&(i|0)==(P|0)){li(f|0,Q|0,h|0,i|0,k|0,0,o|0,5123,M|0);J=O;u=G;H=I;F=K;E=L;D=M}else{if(!w){if((P|0)<=0){La=55;break}if((y|0)<=0){La=57;break}if((o|0)<32992)switch(o|0){case 6407:{W=3;break}case 6410:{La=59;break}case 6408:{La=60;break}default:La=61}else switch(o|0){case 32992:{W=3;break}case 33319:{La=59;break}case 32993:{La=60;break}default:La=61}if((La|0)==59){La=0;W=2}else if((La|0)==60){La=0;W=4}else if((La|0)==61){La=0;W=1}x=GNa(N(N(y,~~(+(P|0)*2.0)>>>0)|0,W)|0)|0;if(!x){Z=L;break h}else{w=x;B=x;u=x;v=x;A=x}}else u=C;II(Y,i,k,O,P,y,w);li(f|0,Q|0,h|0,P|0,y|0,0,o|0,5123,B|0);k=y;i=P;J=w;w=O;H=v;F=B;E=A;D=x;C=G;v=I;B=K;A=L;x=M}if((Q|0)<(V|0)){y=y>>>((y|0)>1&1);P=P>>>((P|0)>1&1);Q=Q+1|0;O=J;L=E;K=F;I=H;G=u;M=D}else break g}if((La|0)==55)bb(138046,138056,4944,138170);else if((La|0)==57)bb(138181,138056,4945,138170)}while(0);ei(3317,c[X>>2]|0);HNa(Z);u=100902;break f}while(0);ei(3317,c[X>>2]|0);HNa(u);if(!w)u=0;else{HNa(v);u=0}}else u=100902;while(0);h=u;l=ab;return h|0}if(!m)y=-1;else{if(!(m&1)){v=0;x=m;while(1){u=x>>>1;v=v+1|0;if(!(x&2))x=u;else break}}else{v=0;u=m}y=(u|0)==1?v:-1}if(!n)u=-1;else{if(!(n&1)){v=0;x=n;while(1){u=x>>>1;v=v+1|0;if(!(x&2))x=u;else break}}else{v=0;u=n}u=(u|0)==1?v:-1}Ta=((u|0)>(y|0)?u:y)+q|0;ci(3317,_a|0);ci(3333,C|0);u=c[C+52>>2]|0;i:do switch(p|0){case 32818:case 32819:case 32820:case 32821:case 32822:case 33634:case 33635:case 33636:case 33637:case 33638:case 33639:case 33640:{Ua=1;break}default:{if((o|0)<32992)switch(o|0){case 6407:{Ua=3;break i}case 6410:{La=81;break}case 6408:{La=82;break}default:La=83}else switch(o|0){case 32992:{Ua=3;break i}case 33319:{La=81;break}case 32993:{La=82;break}default:La=83}if((La|0)==81){Ua=2;break i}else if((La|0)==82){Ua=4;break i}else if((La|0)==83){Ua=1;break i}}}while(0);A=c[A>>2]|0;A=(A|0)>0?A:i;Na=+JI(p);Ra=~~Na;Sa=N(Ua,Ra)|0;B=(Ra|0)==1?0:u;Qa=N(Sa,A)|0;u=c[_a>>2]|0;x=(Qa|0)%(u|0)|0;x=(x|0)==0?0:u-x|0;Qa=x+Qa|0;y=N(Qa,c[C+40>>2]|0)|0;v=c[C+44>>2]|0;Pa=t+y+(N(v,Sa)|0)|0;do if(!((i|0)==(m|0)&(k|0)==(n|0))){if((m|0)<=0)bb(138046,138056,4944,138170);if((n|0)<=0)bb(138181,138056,4945,138170);j:do switch(p|0){case 32818:case 32819:case 32820:case 32821:case 32822:case 33634:case 33635:case 33636:case 33637:case 33638:case 33639:case 33640:{D=1;break}default:{if((o|0)<32992)switch(o|0){case 6407:{D=3;break j}case 6410:{La=215;break}case 6408:{La=216;break}default:La=217}else switch(o|0){case 32992:{D=3;break j}case 33319:{La=215;break}case 32993:{La=216;break}default:La=217}if((La|0)==215){D=2;break j}else if((La|0)==216){D=4;break j}else if((La|0)==217){D=1;break j}}}while(0);R=+(m|0);k:do if((p|0)<32820){if((p|0)<5124){switch(p|0){case 5122:case 5123:case 5120:case 5121:break k;default:u=100900}l=ab;return u|0}if((p|0)<5126){switch(p|0){case 5124:case 5125:break k;default:u=100900}l=ab;return u|0}if((p|0)<32818){switch(p|0){case 5126:break k;default:u=100900}l=ab;return u|0}else{switch(p|0){case 32819:case 32818:break k;default:u=100900}l=ab;return u|0}}else{switch(p|0){case 33640:case 32822:case 33639:case 32821:case 33638:case 32820:case 33637:case 33636:case 33635:case 33634:break k;default:u=100900}l=ab;return u|0}while(0);Ma=GNa(N(N(~~(Na*R)>>>0,n)|0,D)|0)|0;if(!Ma){ei(3317,u|0);h=100902;l=ab;return h|0}l:do if((p|0)<32820){if((p|0)<5124)switch(p|0){case 5121:{if((m<<1|0)==(i|0)&(n<<1|0)==(k|0))FQ(Ua,i,k,Pa,Ma,Ra,Qa,Sa);else{ea=+(k|0)/+(n|0);ba=+(i|0)/R;_=~~+z(+ea);ca=ea-+(_|0);$=~~+z(+ba);da=ba-+($|0);ea=ba*ea;fa=k+-1|0;ga=Qa+Sa|0;ka=(Ua|0)==1;t=Xa+4|0;la=(Ua|0)==2;Z=Xa+4|0;ja=(Ua|0)==2;Y=Xa+4|0;ia=(Ua|0)==2;X=Xa+4|0;ha=(Ua|0)==2;W=0;ba=ca;R=0.0;u=_;v=0;while(1){ma=(u|0)<(k|0)?u:fa;Q=(ma|0)>(v|0);aa=1.0-R;V=N(v,Qa)|0;L=v+1|0;M=N(L,Qa)|0;O=(L|0)<(ma|0);P=N(W,m)|0;U=ba-R;i=N(ma,Qa)|0;I=Pa+V|0;J=Pa+(N(ma+-1|0,Qa)|0)|0;K=Pa+i|0;G=0;T=da;R=0.0;H=$;E=0;while(1){F=N(E,Sa)|0;u=(H|0)>(E|0);c[Xa>>2]=0;c[Xa+4>>2]=0;c[Xa+8>>2]=0;c[Xa+12>>2]=0;m:do if(Q&u){C=Pa+F|0;y=C+V|0;S=1.0-R;R=aa*S;g[Xa>>2]=R*+(d[y>>0]|0)+0.0;do if(!ka){u=y+Ra|0;g[t>>2]=R*+(d[u>>0]|0)+0.0;if(la)break;v=2;do{u=u+Ra|0;g[Xa+(v<<2)>>2]=+g[Xa+(v<<2)>>2]+R*+(d[u>>0]|0);v=v+1|0}while((v|0)!=(Ua|0))}while(0);x=E+1|0;B=(x|0)<(H|0);u=y+Sa|0;if(B){A=x;while(1){v=0;w=u;while(1){Ka=Xa+(v<<2)|0;g[Ka>>2]=+g[Ka>>2]+aa*+(d[w>>0]|0);v=v+1|0;if((v|0)==(Ua|0))break;else w=w+Ra|0}A=A+1|0;if((A|0)==(H|0))break;else u=u+Sa|0}D=I+(N(H,Sa)|0)|0}else D=u;R=aa*T;u=0;v=D;while(1){Ka=Xa+(u<<2)|0;g[Ka>>2]=+g[Ka>>2]+R*+(d[v>>0]|0);u=u+1|0;if((u|0)==(Ua|0))break;else v=v+Ra|0}R=ba*S;w=C+i|0;u=0;v=w;while(1){Ka=Xa+(u<<2)|0;g[Ka>>2]=+g[Ka>>2]+R*+(d[v>>0]|0);u=u+1|0;if((u|0)==(Ua|0))break;else v=v+Ra|0}u=w+Sa|0;if(B){while(1){v=u;w=0;while(1){Ka=Xa+(w<<2)|0;g[Ka>>2]=+g[Ka>>2]+ba*+(d[v>>0]|0);w=w+1|0;if((w|0)==(Ua|0))break;else v=v+Ra|0}x=x+1|0;if((x|0)==(H|0))break;else u=u+Sa|0}u=K+(N(H,Sa)|0)|0}R=ba*T;v=0;while(1){Ka=Xa+(v<<2)|0;g[Ka>>2]=+g[Ka>>2]+R*+(d[u>>0]|0);v=v+1|0;if((v|0)==(Ua|0))break;else u=u+Ra|0}if(!O)break;A=L;u=D;while(1){v=y+Qa|0;w=u+Qa|0;x=0;while(1){La=Xa+(x<<2)|0;g[La>>2]=+g[La>>2]+(S*+(d[v>>0]|0)+T*+(d[w>>0]|0));x=x+1|0;if((x|0)==(Ua|0))break;else{v=v+Ra|0;w=w+Ra|0}}A=A+1|0;if((A|0)==(ma|0)){La=284;break}else{y=y+ga|0;u=u+ga|0}}}else{if(Q){S=T-R;R=aa*S;u=Pa+F+V|0;g[Xa>>2]=R*+(d[u>>0]|0)+0.0;do if(!ka){v=u+Ra|0;g[Z>>2]=R*+(d[v>>0]|0)+0.0;if(ja)break;w=2;do{v=v+Ra|0;g[Xa+(w<<2)>>2]=+g[Xa+(w<<2)>>2]+R*+(d[v>>0]|0);w=w+1|0}while((w|0)!=(Ua|0))}while(0);if(O){x=L;do{u=u+Qa|0;v=u;w=0;while(1){La=Xa+(w<<2)|0;g[La>>2]=+g[La>>2]+S*+(d[v>>0]|0);w=w+1|0;if((w|0)==(Ua|0))break;else v=v+Ra|0}x=x+1|0}while((x|0)!=(ma|0));u=J+F|0}R=ba*S;u=u+Qa|0;v=0;while(1){La=Xa+(v<<2)|0;g[La>>2]=+g[La>>2]+R*+(d[u>>0]|0);v=v+1|0;if((v|0)==(Ua|0)){La=284;break m}else u=u+Ra|0}}if(!u){R=U*(T-R);u=Pa+F+V|0;g[Xa>>2]=R*+(d[u>>0]|0)+0.0;if(ka){La=284;break}u=u+Ra|0;g[X>>2]=R*+(d[u>>0]|0)+0.0;if(ha){La=284;break}v=2;while(1){u=u+Ra|0;g[Xa+(v<<2)>>2]=+g[Xa+(v<<2)>>2]+R*+(d[u>>0]|0);v=v+1|0;if((v|0)==(Ua|0)){La=284;break m}}}R=U*(1.0-R);w=Pa+F+V|0;g[Xa>>2]=R*+(d[w>>0]|0)+0.0;do if(!ka){u=w+Ra|0;g[Y>>2]=R*+(d[u>>0]|0)+0.0;if(ia)break;v=2;do{u=u+Ra|0;g[Xa+(v<<2)>>2]=+g[Xa+(v<<2)>>2]+R*+(d[u>>0]|0);v=v+1|0}while((v|0)!=(Ua|0))}while(0);v=E+1|0;u=w+Sa|0;if((v|0)<(H|0)){while(1){w=u;x=0;while(1){La=Xa+(x<<2)|0;g[La>>2]=+g[La>>2]+U*+(d[w>>0]|0);x=x+1|0;if((x|0)==(Ua|0))break;else w=w+Ra|0}v=v+1|0;if((v|0)==(H|0))break;else u=u+Sa|0}u=I+(N(H,Sa)|0)|0}R=U*T;v=0;while(1){La=Xa+(v<<2)|0;g[La>>2]=+g[La>>2]+R*+(d[u>>0]|0);v=v+1|0;if((v|0)==(Ua|0)){La=284;break}else u=u+Ra|0}}while(0);do if((La|0)==284){La=0;if(!O)break;B=E+1|0;if((B|0)>=(H|0))break;u=Pa+F+Sa+M|0;x=L;while(1){y=B;A=u;while(1){v=A;w=0;while(1){Ka=Xa+(w<<2)|0;g[Ka>>2]=+g[Ka>>2]+ +(d[v>>0]|0);w=w+1|0;if((w|0)==(Ua|0))break;else v=v+Ra|0}y=y+1|0;if((y|0)==(H|0))break;else A=A+Sa|0}x=x+1|0;if((x|0)==(ma|0))break;else u=u+Qa|0}}while(0);v=N(G+P|0,Ua)|0;u=0;do{a[Ma+(u+v)>>0]=~~(+g[Xa+(u<<2)>>2]/ea);u=u+1|0}while((u|0)!=(Ua|0));R=da+T;u=R>1.0;G=G+1|0;if((G|0)==(m|0))break;else{E=H;Ca=T;T=u?R+-1.0:R;H=H+$+(u&1)|0;R=Ca}}R=ca+ba;u=R>1.0;W=W+1|0;if((W|0)==(n|0))break;else{Ca=ba;ba=u?R+-1.0:R;u=(u&1)+_+ma|0;v=ma;R=Ca}}}break l}case 5120:{if((m<<1|0)==(i|0)&(n<<1|0)==(k|0))GQ(Ua,i,k,Pa,Ma,Ra,Qa,Sa);else{ea=+(k|0)/+(n|0);ba=+(i|0)/R;_=~~+z(+ea);ca=ea-+(_|0);$=~~+z(+ba);da=ba-+($|0);ea=ba*ea;fa=k+-1|0;ga=Qa+Sa|0;ka=(Ua|0)==1;t=Xa+4|0;la=(Ua|0)==2;Z=Xa+4|0;ja=(Ua|0)==2;Y=Xa+4|0;ia=(Ua|0)==2;X=Xa+4|0;ha=(Ua|0)==2;W=0;ba=ca;R=0.0;u=_;v=0;while(1){ma=(u|0)<(k|0)?u:fa;Q=(ma|0)>(v|0);aa=1.0-R;V=N(v,Qa)|0;L=v+1|0;M=N(L,Qa)|0;O=(L|0)<(ma|0);P=N(W,m)|0;U=ba-R;i=N(ma,Qa)|0;I=Pa+V|0;J=Pa+(N(ma+-1|0,Qa)|0)|0;K=Pa+i|0;G=0;T=da;R=0.0;H=$;E=0;while(1){F=N(E,Sa)|0;u=(H|0)>(E|0);c[Xa>>2]=0;c[Xa+4>>2]=0;c[Xa+8>>2]=0;c[Xa+12>>2]=0;n:do if(Q&u){C=Pa+F|0;y=C+V|0;S=1.0-R;R=aa*S;g[Xa>>2]=R*+(a[y>>0]|0)+0.0;do if(!ka){u=y+Ra|0;g[t>>2]=R*+(a[u>>0]|0)+0.0;if(la)break;v=2;do{u=u+Ra|0;g[Xa+(v<<2)>>2]=+g[Xa+(v<<2)>>2]+R*+(a[u>>0]|0);v=v+1|0}while((v|0)!=(Ua|0))}while(0);x=E+1|0;B=(x|0)<(H|0);u=y+Sa|0;if(B){A=x;while(1){v=0;w=u;while(1){Ka=Xa+(v<<2)|0;g[Ka>>2]=+g[Ka>>2]+aa*+(a[w>>0]|0);v=v+1|0;if((v|0)==(Ua|0))break;else w=w+Ra|0}A=A+1|0;if((A|0)==(H|0))break;else u=u+Sa|0}D=I+(N(H,Sa)|0)|0}else D=u;R=aa*T;u=0;v=D;while(1){Ka=Xa+(u<<2)|0;g[Ka>>2]=+g[Ka>>2]+R*+(a[v>>0]|0);u=u+1|0;if((u|0)==(Ua|0))break;else v=v+Ra|0}R=ba*S;w=C+i|0;u=0;v=w;while(1){Ka=Xa+(u<<2)|0;g[Ka>>2]=+g[Ka>>2]+R*+(a[v>>0]|0);u=u+1|0;if((u|0)==(Ua|0))break;else v=v+Ra|0}u=w+Sa|0;if(B){while(1){v=u;w=0;while(1){Ka=Xa+(w<<2)|0;g[Ka>>2]=+g[Ka>>2]+ba*+(a[v>>0]|0);w=w+1|0;if((w|0)==(Ua|0))break;else v=v+Ra|0}x=x+1|0;if((x|0)==(H|0))break;else u=u+Sa|0}u=K+(N(H,Sa)|0)|0}R=ba*T;v=0;while(1){Ka=Xa+(v<<2)|0;g[Ka>>2]=+g[Ka>>2]+R*+(a[u>>0]|0);v=v+1|0;if((v|0)==(Ua|0))break;else u=u+Ra|0}if(!O)break;A=L;u=D;while(1){v=y+Qa|0;w=u+Qa|0;x=0;while(1){La=Xa+(x<<2)|0;g[La>>2]=+g[La>>2]+(S*+(a[v>>0]|0)+T*+(a[w>>0]|0));x=x+1|0;if((x|0)==(Ua|0))break;else{v=v+Ra|0;w=w+Ra|0}}A=A+1|0;if((A|0)==(ma|0)){La=359;break}else{y=y+ga|0;u=u+ga|0}}}else{if(Q){S=T-R;R=aa*S;u=Pa+F+V|0;g[Xa>>2]=R*+(a[u>>0]|0)+0.0;do if(!ka){v=u+Ra|0;g[Z>>2]=R*+(a[v>>0]|0)+0.0;if(ja)break;w=2;do{v=v+Ra|0;g[Xa+(w<<2)>>2]=+g[Xa+(w<<2)>>2]+R*+(a[v>>0]|0);w=w+1|0}while((w|0)!=(Ua|0))}while(0);if(O){x=L;do{u=u+Qa|0;v=u;w=0;while(1){La=Xa+(w<<2)|0;g[La>>2]=+g[La>>2]+S*+(a[v>>0]|0);w=w+1|0;if((w|0)==(Ua|0))break;else v=v+Ra|0}x=x+1|0}while((x|0)!=(ma|0));u=J+F|0}R=ba*S;u=u+Qa|0;v=0;while(1){La=Xa+(v<<2)|0;g[La>>2]=+g[La>>2]+R*+(a[u>>0]|0);v=v+1|0;if((v|0)==(Ua|0)){La=359;break n}else u=u+Ra|0}}if(!u){R=U*(T-R);u=Pa+F+V|0;g[Xa>>2]=R*+(a[u>>0]|0)+0.0;if(ka){La=359;break}u=u+Ra|0;g[X>>2]=R*+(a[u>>0]|0)+0.0;if(ha){La=359;break}v=2;while(1){u=u+Ra|0;g[Xa+(v<<2)>>2]=+g[Xa+(v<<2)>>2]+R*+(a[u>>0]|0);v=v+1|0;if((v|0)==(Ua|0)){La=359;break n}}}R=U*(1.0-R);w=Pa+F+V|0;g[Xa>>2]=R*+(a[w>>0]|0)+0.0;do if(!ka){u=w+Ra|0;g[Y>>2]=R*+(a[u>>0]|0)+0.0;if(ia)break;v=2;do{u=u+Ra|0;g[Xa+(v<<2)>>2]=+g[Xa+(v<<2)>>2]+R*+(a[u>>0]|0);v=v+1|0}while((v|0)!=(Ua|0))}while(0);v=E+1|0;u=w+Sa|0;if((v|0)<(H|0)){while(1){w=u;x=0;while(1){La=Xa+(x<<2)|0;g[La>>2]=+g[La>>2]+U*+(a[w>>0]|0);x=x+1|0;if((x|0)==(Ua|0))break;else w=w+Ra|0}v=v+1|0;if((v|0)==(H|0))break;else u=u+Sa|0}u=I+(N(H,Sa)|0)|0}R=U*T;v=0;while(1){La=Xa+(v<<2)|0;g[La>>2]=+g[La>>2]+R*+(a[u>>0]|0);v=v+1|0;if((v|0)==(Ua|0)){La=359;break}else u=u+Ra|0}}while(0);do if((La|0)==359){La=0;if(!O)break;B=E+1|0;if((B|0)>=(H|0))break;u=Pa+F+Sa+M|0;x=L;while(1){y=B;A=u;while(1){v=A;w=0;while(1){Ka=Xa+(w<<2)|0;g[Ka>>2]=+g[Ka>>2]+ +(a[v>>0]|0);w=w+1|0;if((w|0)==(Ua|0))break;else v=v+Ra|0}y=y+1|0;if((y|0)==(H|0))break;else A=A+Sa|0}x=x+1|0;if((x|0)==(ma|0))break;else u=u+Qa|0}}while(0);v=N(G+P|0,Ua)|0;u=0;do{a[Ma+(u+v)>>0]=~~(+g[Xa+(u<<2)>>2]/ea);u=u+1|0}while((u|0)!=(Ua|0));R=da+T;u=R>1.0;G=G+1|0;if((G|0)==(m|0))break;else{E=H;Ca=T;T=u?R+-1.0:R;H=H+$+(u&1)|0;R=Ca}}R=ca+ba;u=R>1.0;W=W+1|0;if((W|0)==(n|0))break;else{Ca=ba;ba=u?R+-1.0:R;u=(u&1)+_+ma|0;v=ma;R=Ca}}}break l}case 5123:{if((m<<1|0)==(i|0)&(n<<1|0)==(k|0))HQ(Ua,i,k,Pa,Ma,Ra,Qa,Sa,B);else{ea=+(k|0)/+(n|0);ba=+(i|0)/R;Ia=~~+z(+ea);ca=ea-+(Ia|0);Ja=~~+z(+ba);da=ba-+(Ja|0);ea=ba*ea;Ka=k+-1|0;ha=(B|0)==0;ia=Qa+Sa|0;Fa=(Ua|0)==1;ga=Xa+4|0;Ga=(Ua|0)==2;fa=Xa+4|0;Ea=(Ua|0)==2;$=Xa+4|0;Da=(Ua|0)==2;_=Xa+4|0;qa=(Ua|0)==2;t=Xa+4|0;ma=(Ua|0)==2;Z=Xa+4|0;la=(Ua|0)==2;Y=Xa+4|0;ka=(Ua|0)==2;X=Xa+4|0;ja=(Ua|0)==2;W=0;ba=ca;R=0.0;u=Ia;v=0;while(1){Ha=(u|0)<(k|0)?u:Ka;Q=(Ha|0)>(v|0);aa=1.0-R;V=N(v,Qa)|0;L=v+1|0;M=N(L,Qa)|0;O=(L|0)<(Ha|0);P=N(W,m)|0;U=ba-R;i=N(Ha,Qa)|0;I=Pa+V|0;J=Pa+(N(Ha+-1|0,Qa)|0)|0;K=Pa+i|0;G=0;T=da;R=0.0;H=Ja;E=0;while(1){F=N(E,Sa)|0;u=(H|0)>(E|0);c[Xa>>2]=0;c[Xa+4>>2]=0;c[Xa+8>>2]=0;c[Xa+12>>2]=0;o:do if(Q&u){D=Pa+F|0;y=D+V|0;S=1.0-R;R=aa*S;do if(ha){g[Xa>>2]=R*+(e[y>>1]|0)+0.0;if(Fa)break;u=y+Ra|0;g[ga>>2]=R*+(e[u>>1]|0)+0.0;if(Ga)break;v=2;do{u=u+Ra|0;g[Xa+(v<<2)>>2]=+g[Xa+(v<<2)>>2]+R*+(e[u>>1]|0);v=v+1|0}while((v|0)!=(Ua|0))}else{g[Xa>>2]=R*+(d[y+1>>0]<<8|d[y>>0]|0)+0.0;if(Fa)break;u=y+Ra|0;g[fa>>2]=R*+(d[u+1>>0]<<8|d[u>>0]|0)+0.0;if(Ea)break;v=2;do{u=u+Ra|0;g[Xa+(v<<2)>>2]=+g[Xa+(v<<2)>>2]+R*+(d[u+1>>0]<<8|d[u>>0]|0);v=v+1|0}while((v|0)!=(Ua|0))}while(0);x=E+1|0;C=(x|0)<(H|0);u=y+Sa|0;if(C){B=N(H,Sa)|0;if(ha){A=x;while(1){v=0;w=u;while(1){cb=Xa+(v<<2)|0;g[cb>>2]=+g[cb>>2]+aa*+(e[w>>1]|0);v=v+1|0;if((v|0)==(Ua|0))break;else w=w+Ra|0}A=A+1|0;if((A|0)==(H|0))break;else u=u+Sa|0}}else{A=x;while(1){v=0;w=u;while(1){cb=Xa+(v<<2)|0;g[cb>>2]=+g[cb>>2]+aa*+(d[w+1>>0]<<8|d[w>>0]|0);v=v+1|0;if((v|0)==(Ua|0))break;else w=w+Ra|0}A=A+1|0;if((A|0)==(H|0))break;else u=u+Sa|0}}B=I+B|0}else B=u;R=aa*T;if(ha){u=0;v=B;while(1){cb=Xa+(u<<2)|0;g[cb>>2]=+g[cb>>2]+R*+(e[v>>1]|0);u=u+1|0;if((u|0)==(Ua|0))break;else v=v+Ra|0}}else{u=0;v=B;while(1){cb=Xa+(u<<2)|0;g[cb>>2]=+g[cb>>2]+R*+(d[v+1>>0]<<8|d[v>>0]|0);u=u+1|0;if((u|0)==(Ua|0))break;else v=v+Ra|0}}R=ba*S;w=D+i|0;if(ha){u=0;v=w;while(1){cb=Xa+(u<<2)|0;g[cb>>2]=+g[cb>>2]+R*+(e[v>>1]|0);u=u+1|0;if((u|0)==(Ua|0))break;else v=v+Ra|0}}else{u=0;v=w;while(1){cb=Xa+(u<<2)|0;g[cb>>2]=+g[cb>>2]+R*+(d[v+1>>0]<<8|d[v>>0]|0);u=u+1|0;if((u|0)==(Ua|0))break;else v=v+Ra|0}}u=w+Sa|0;if(C){A=N(H,Sa)|0;if(ha)while(1){v=u;w=0;while(1){cb=Xa+(w<<2)|0;g[cb>>2]=+g[cb>>2]+ba*+(e[v>>1]|0);w=w+1|0;if((w|0)==(Ua|0))break;else v=v+Ra|0}x=x+1|0;if((x|0)==(H|0))break;else u=u+Sa|0}else while(1){v=u;w=0;while(1){cb=Xa+(w<<2)|0;g[cb>>2]=+g[cb>>2]+ba*+(d[v+1>>0]<<8|d[v>>0]|0);w=w+1|0;if((w|0)==(Ua|0))break;else v=v+Ra|0}x=x+1|0;if((x|0)==(H|0))break;else u=u+Sa|0}u=K+A|0}R=ba*T;if(ha){v=0;while(1){cb=Xa+(v<<2)|0;g[cb>>2]=+g[cb>>2]+R*+(e[u>>1]|0);v=v+1|0;if((v|0)==(Ua|0))break;else u=u+Ra|0}}else{v=0;while(1){cb=Xa+(v<<2)|0;g[cb>>2]=+g[cb>>2]+R*+(d[u+1>>0]<<8|d[u>>0]|0);v=v+1|0;if((v|0)==(Ua|0))break;else u=u+Ra|0}}if(!O)break;if(ha){A=L;u=B;while(1){v=y+Qa|0;w=u+Qa|0;x=0;while(1){cb=Xa+(x<<2)|0;g[cb>>2]=+g[cb>>2]+(S*+(e[v>>1]|0)+T*+(e[w>>1]|0));x=x+1|0;if((x|0)==(Ua|0))break;else{v=v+Ra|0;w=w+Ra|0}}A=A+1|0;if((A|0)==(Ha|0)){La=494;break}else{y=y+ia|0;u=u+ia|0}}}else{A=L;u=B;while(1){v=y+Qa|0;w=u+Qa|0;x=0;while(1){cb=Xa+(x<<2)|0;g[cb>>2]=+g[cb>>2]+(S*+(d[v+1>>0]<<8|d[v>>0]|0)+T*+(d[w+1>>0]<<8|d[w>>0]|0));x=x+1|0;if((x|0)==(Ua|0))break;else{v=v+Ra|0;w=w+Ra|0}}A=A+1|0;if((A|0)==(Ha|0)){La=494;break}else{y=y+ia|0;u=u+ia|0}}}}else{if(Q){S=T-R;R=aa*S;u=Pa+F+V|0;do if(ha){g[Xa>>2]=R*+(e[u>>1]|0)+0.0;if(Fa)break;v=u+Ra|0;g[$>>2]=R*+(e[v>>1]|0)+0.0;if(Da)break;w=2;do{v=v+Ra|0;g[Xa+(w<<2)>>2]=+g[Xa+(w<<2)>>2]+R*+(e[v>>1]|0);w=w+1|0}while((w|0)!=(Ua|0))}else{g[Xa>>2]=R*+(d[u+1>>0]<<8|d[u>>0]|0)+0.0;if(Fa)break;v=u+Ra|0;g[_>>2]=R*+(d[v+1>>0]<<8|d[v>>0]|0)+0.0;if(qa)break;w=2;do{v=v+Ra|0;g[Xa+(w<<2)>>2]=+g[Xa+(w<<2)>>2]+R*+(d[v+1>>0]<<8|d[v>>0]|0);w=w+1|0}while((w|0)!=(Ua|0))}while(0);if(O){if(ha){x=L;do{u=u+Qa|0;v=u;w=0;while(1){cb=Xa+(w<<2)|0;g[cb>>2]=+g[cb>>2]+S*+(e[v>>1]|0);w=w+1|0;if((w|0)==(Ua|0))break;else v=v+Ra|0}x=x+1|0}while((x|0)!=(Ha|0))}else{x=L;do{u=u+Qa|0;v=u;w=0;while(1){cb=Xa+(w<<2)|0;g[cb>>2]=+g[cb>>2]+S*+(d[v+1>>0]<<8|d[v>>0]|0);w=w+1|0;if((w|0)==(Ua|0))break;else v=v+Ra|0}x=x+1|0}while((x|0)!=(Ha|0))}u=J+F|0}R=ba*S;u=u+Qa|0;if(ha){v=0;while(1){cb=Xa+(v<<2)|0;g[cb>>2]=+g[cb>>2]+R*+(e[u>>1]|0);v=v+1|0;if((v|0)==(Ua|0)){La=494;break o}else u=u+Ra|0}}else{v=0;while(1){cb=Xa+(v<<2)|0;g[cb>>2]=+g[cb>>2]+R*+(d[u+1>>0]<<8|d[u>>0]|0);v=v+1|0;if((v|0)==(Ua|0)){La=494;break o}else u=u+Ra|0}}}if(!u){R=U*(T-R);u=Pa+F+V|0;if(ha){g[Xa>>2]=R*+(e[u>>1]|0)+0.0;if(Fa){La=494;break}u=u+Ra|0;g[Y>>2]=R*+(e[u>>1]|0)+0.0;if(ka){La=494;break}v=2;while(1){u=u+Ra|0;g[Xa+(v<<2)>>2]=+g[Xa+(v<<2)>>2]+R*+(e[u>>1]|0);v=v+1|0;if((v|0)==(Ua|0)){La=494;break o}}}else{g[Xa>>2]=R*+(d[u+1>>0]<<8|d[u>>0]|0)+0.0;if(Fa){La=494;break}u=u+Ra|0;g[X>>2]=R*+(d[u+1>>0]<<8|d[u>>0]|0)+0.0;if(ja){La=494;break}v=2;while(1){u=u+Ra|0;g[Xa+(v<<2)>>2]=+g[Xa+(v<<2)>>2]+R*+(d[u+1>>0]<<8|d[u>>0]|0);v=v+1|0;if((v|0)==(Ua|0)){La=494;break o}}}}R=U*(1.0-R);w=Pa+F+V|0;do if(ha){g[Xa>>2]=R*+(e[w>>1]|0)+0.0;if(Fa)break;u=w+Ra|0;g[t>>2]=R*+(e[u>>1]|0)+0.0;if(ma)break;v=2;do{u=u+Ra|0;g[Xa+(v<<2)>>2]=+g[Xa+(v<<2)>>2]+R*+(e[u>>1]|0);v=v+1|0}while((v|0)!=(Ua|0))}else{g[Xa>>2]=R*+(d[w+1>>0]<<8|d[w>>0]|0)+0.0;if(Fa)break;u=w+Ra|0;g[Z>>2]=R*+(d[u+1>>0]<<8|d[u>>0]|0)+0.0;if(la)break;v=2;do{u=u+Ra|0;g[Xa+(v<<2)>>2]=+g[Xa+(v<<2)>>2]+R*+(d[u+1>>0]<<8|d[u>>0]|0);v=v+1|0}while((v|0)!=(Ua|0))}while(0);v=E+1|0;u=w+Sa|0;if((v|0)<(H|0)){y=N(H,Sa)|0;if(ha)while(1){w=u;x=0;while(1){cb=Xa+(x<<2)|0;g[cb>>2]=+g[cb>>2]+U*+(e[w>>1]|0);x=x+1|0;if((x|0)==(Ua|0))break;else w=w+Ra|0}v=v+1|0;if((v|0)==(H|0))break;else u=u+Sa|0}else while(1){w=u;x=0;while(1){cb=Xa+(x<<2)|0;g[cb>>2]=+g[cb>>2]+U*+(d[w+1>>0]<<8|d[w>>0]|0);x=x+1|0;if((x|0)==(Ua|0))break;else w=w+Ra|0}v=v+1|0;if((v|0)==(H|0))break;else u=u+Sa|0}u=I+y|0}R=U*T;if(ha){v=0;while(1){cb=Xa+(v<<2)|0;g[cb>>2]=+g[cb>>2]+R*+(e[u>>1]|0);v=v+1|0;if((v|0)==(Ua|0)){La=494;break}else u=u+Ra|0}}else{v=0;while(1){cb=Xa+(v<<2)|0;g[cb>>2]=+g[cb>>2]+R*+(d[u+1>>0]<<8|d[u>>0]|0);v=v+1|0;if((v|0)==(Ua|0)){La=494;break}else u=u+Ra|0}}}while(0);do if((La|0)==494){La=0;if(!O)break;B=E+1|0;if((B|0)>=(H|0))break;y=Pa+F+Sa+M|0;A=L;while(1){if(ha){w=B;x=y;while(1){u=x;v=0;while(1){cb=Xa+(v<<2)|0;g[cb>>2]=+g[cb>>2]+ +(e[u>>1]|0);v=v+1|0;if((v|0)==(Ua|0))break;else u=u+Ra|0}w=w+1|0;if((w|0)==(H|0))break;else x=x+Sa|0}}else{w=B;x=y;while(1){u=x;v=0;while(1){cb=Xa+(v<<2)|0;g[cb>>2]=+g[cb>>2]+ +(d[u+1>>0]<<8|d[u>>0]|0);v=v+1|0;if((v|0)==(Ua|0))break;else u=u+Ra|0}w=w+1|0;if((w|0)==(H|0))break;else x=x+Sa|0}}A=A+1|0;if((A|0)==(Ha|0))break;else y=y+Qa|0}}while(0);v=N(G+P|0,Ua)|0;u=0;do{b[Ma+(u+v<<1)>>1]=~~(+g[Xa+(u<<2)>>2]/ea);u=u+1|0}while((u|0)!=(Ua|0));R=da+T;u=R>1.0;G=G+1|0;if((G|0)==(m|0))break;else{E=H;Ca=T;T=u?R+-1.0:R;H=H+Ja+(u&1)|0;R=Ca}}R=ca+ba;u=R>1.0;W=W+1|0;if((W|0)==(n|0))break;else{Ca=ba;ba=u?R+-1.0:R;u=(u&1)+Ia+Ha|0;v=Ha;R=Ca}}}break l}case 5122:{if((m<<1|0)==(i|0)&(n<<1|0)==(k|0))IQ(Ua,i,k,Pa,Ma,Ra,Qa,Sa,B);else{ea=+(k|0)/+(n|0);ba=+(i|0)/R;Ia=~~+z(+ea);ca=ea-+(Ia|0);Ja=~~+z(+ba);da=ba-+(Ja|0);ea=ba*ea;Ka=k+-1|0;ha=(B|0)==0;ia=Qa+Sa|0;Fa=(Ua|0)==1;ga=Xa+4|0;Ga=(Ua|0)==2;fa=Xa+4|0;Ea=(Ua|0)==2;$=Xa+4|0;Da=(Ua|0)==2;_=Xa+4|0;qa=(Ua|0)==2;t=Xa+4|0;ma=(Ua|0)==2;Z=Xa+4|0;la=(Ua|0)==2;Y=Xa+4|0;ka=(Ua|0)==2;X=Xa+4|0;ja=(Ua|0)==2;W=0;ba=ca;R=0.0;u=Ia;v=0;while(1){Ha=(u|0)<(k|0)?u:Ka;Q=(Ha|0)>(v|0);aa=1.0-R;V=N(v,Qa)|0;L=v+1|0;M=N(L,Qa)|0;O=(L|0)<(Ha|0);P=N(W,m)|0;U=ba-R;i=N(Ha,Qa)|0;I=Pa+V|0;J=Pa+(N(Ha+-1|0,Qa)|0)|0;K=Pa+i|0;G=0;T=da;R=0.0;H=Ja;E=0;while(1){F=N(E,Sa)|0;u=(H|0)>(E|0);c[Xa>>2]=0;c[Xa+4>>2]=0;c[Xa+8>>2]=0;c[Xa+12>>2]=0;p:do if(Q&u){D=Pa+F|0;y=D+V|0;S=1.0-R;R=aa*S;do if(ha){g[Xa>>2]=R*+(b[y>>1]|0)+0.0;if(Fa)break;u=y+Ra|0;g[ga>>2]=R*+(b[u>>1]|0)+0.0;if(Ga)break;v=2;do{u=u+Ra|0;g[Xa+(v<<2)>>2]=+g[Xa+(v<<2)>>2]+R*+(b[u>>1]|0);v=v+1|0}while((v|0)!=(Ua|0))}else{g[Xa>>2]=R*+((d[y+1>>0]<<8|d[y>>0])<<16>>16|0)+0.0;if(Fa)break;u=y+Ra|0;g[fa>>2]=R*+((d[u+1>>0]<<8|d[u>>0])<<16>>16|0)+0.0;if(Ea)break;v=2;do{u=u+Ra|0;g[Xa+(v<<2)>>2]=+g[Xa+(v<<2)>>2]+R*+((d[u+1>>0]<<8|d[u>>0])<<16>>16|0);v=v+1|0}while((v|0)!=(Ua|0))}while(0);x=E+1|0;C=(x|0)<(H|0);u=y+Sa|0;if(C){B=N(H,Sa)|0;if(ha){A=x;while(1){v=0;w=u;while(1){cb=Xa+(v<<2)|0;g[cb>>2]=+g[cb>>2]+aa*+(b[w>>1]|0);v=v+1|0;if((v|0)==(Ua|0))break;else w=w+Ra|0}A=A+1|0;if((A|0)==(H|0))break;else u=u+Sa|0}}else{A=x;while(1){v=0;w=u;while(1){cb=Xa+(v<<2)|0;g[cb>>2]=+g[cb>>2]+aa*+((d[w+1>>0]<<8|d[w>>0])<<16>>16|0);v=v+1|0;if((v|0)==(Ua|0))break;else w=w+Ra|0}A=A+1|0;if((A|0)==(H|0))break;else u=u+Sa|0}}B=I+B|0}else B=u;R=aa*T;if(ha){u=0;v=B;while(1){cb=Xa+(u<<2)|0;g[cb>>2]=+g[cb>>2]+R*+(b[v>>1]|0);u=u+1|0;if((u|0)==(Ua|0))break;else v=v+Ra|0}}else{u=0;v=B;while(1){cb=Xa+(u<<2)|0;g[cb>>2]=+g[cb>>2]+R*+((d[v+1>>0]<<8|d[v>>0])<<16>>16|0);u=u+1|0;if((u|0)==(Ua|0))break;else v=v+Ra|0}}R=ba*S;w=D+i|0;if(ha){u=0;v=w;while(1){cb=Xa+(u<<2)|0;g[cb>>2]=+g[cb>>2]+R*+(b[v>>1]|0);u=u+1|0;if((u|0)==(Ua|0))break;else v=v+Ra|0}}else{u=0;v=w;while(1){cb=Xa+(u<<2)|0;g[cb>>2]=+g[cb>>2]+R*+((d[v+1>>0]<<8|d[v>>0])<<16>>16|0);u=u+1|0;if((u|0)==(Ua|0))break;else v=v+Ra|0}}u=w+Sa|0;if(C){A=N(H,Sa)|0;if(ha)while(1){v=u;w=0;while(1){cb=Xa+(w<<2)|0;g[cb>>2]=+g[cb>>2]+ba*+(b[v>>1]|0);w=w+1|0;if((w|0)==(Ua|0))break;else v=v+Ra|0}x=x+1|0;if((x|0)==(H|0))break;else u=u+Sa|0}else while(1){v=u;w=0;while(1){cb=Xa+(w<<2)|0;g[cb>>2]=+g[cb>>2]+ba*+((d[v+1>>0]<<8|d[v>>0])<<16>>16|0);w=w+1|0;if((w|0)==(Ua|0))break;else v=v+Ra|0}x=x+1|0;if((x|0)==(H|0))break;else u=u+Sa|0}u=K+A|0}R=ba*T;if(ha){v=0;while(1){cb=Xa+(v<<2)|0;g[cb>>2]=+g[cb>>2]+R*+(b[u>>1]|0);v=v+1|0;if((v|0)==(Ua|0))break;else u=u+Ra|0}}else{v=0;while(1){cb=Xa+(v<<2)|0;g[cb>>2]=+g[cb>>2]+R*+((d[u+1>>0]<<8|d[u>>0])<<16>>16|0);v=v+1|0;if((v|0)==(Ua|0))break;else u=u+Ra|0}}if(!O)break;if(ha){A=L;u=B;while(1){v=y+Qa|0;w=u+Qa|0;x=0;while(1){cb=Xa+(x<<2)|0;g[cb>>2]=+g[cb>>2]+(S*+(b[v>>1]|0)+T*+(b[w>>1]|0));x=x+1|0;if((x|0)==(Ua|0))break;else{v=v+Ra|0;w=w+Ra|0}}A=A+1|0;if((A|0)==(Ha|0)){La=634;break}else{y=y+ia|0;u=u+ia|0}}}else{A=L;u=B;while(1){v=y+Qa|0;w=u+Qa|0;x=0;while(1){cb=Xa+(x<<2)|0;Ca=+g[cb>>2]+S*+((d[v+1>>0]<<8|d[v>>0])<<16>>16|0);g[cb>>2]=Ca;g[cb>>2]=Ca+T*+((d[w+1>>0]<<8|d[w>>0])<<16>>16|0);x=x+1|0;if((x|0)==(Ua|0))break;else{v=v+Ra|0;w=w+Ra|0}}A=A+1|0;if((A|0)==(Ha|0)){La=634;break}else{y=y+ia|0;u=u+ia|0}}}}else{if(Q){S=T-R;R=aa*S;u=Pa+F+V|0;do if(ha){g[Xa>>2]=R*+(b[u>>1]|0)+0.0;if(Fa)break;v=u+Ra|0;g[$>>2]=R*+(b[v>>1]|0)+0.0;if(Da)break;w=2;do{v=v+Ra|0;g[Xa+(w<<2)>>2]=+g[Xa+(w<<2)>>2]+R*+(b[v>>1]|0);w=w+1|0}while((w|0)!=(Ua|0))}else{g[Xa>>2]=R*+((d[u+1>>0]<<8|d[u>>0])<<16>>16|0)+0.0;if(Fa)break;v=u+Ra|0;g[_>>2]=R*+((d[v+1>>0]<<8|d[v>>0])<<16>>16|0)+0.0;if(qa)break;w=2;do{v=v+Ra|0;g[Xa+(w<<2)>>2]=+g[Xa+(w<<2)>>2]+R*+((d[v+1>>0]<<8|d[v>>0])<<16>>16|0);w=w+1|0}while((w|0)!=(Ua|0))}while(0);if(O){if(ha){x=L;do{u=u+Qa|0;v=u;w=0;while(1){cb=Xa+(w<<2)|0;g[cb>>2]=+g[cb>>2]+S*+(b[v>>1]|0);w=w+1|0;if((w|0)==(Ua|0))break;else v=v+Ra|0}x=x+1|0}while((x|0)!=(Ha|0))}else{x=L;do{u=u+Qa|0;v=u;w=0;while(1){cb=Xa+(w<<2)|0;g[cb>>2]=+g[cb>>2]+S*+((d[v+1>>0]<<8|d[v>>0])<<16>>16|0);w=w+1|0;if((w|0)==(Ua|0))break;else v=v+Ra|0}x=x+1|0}while((x|0)!=(Ha|0))}u=J+F|0}R=ba*S;u=u+Qa|0;if(ha){v=0;while(1){cb=Xa+(v<<2)|0;g[cb>>2]=+g[cb>>2]+R*+(b[u>>1]|0);v=v+1|0;if((v|0)==(Ua|0)){La=634;break p}else u=u+Ra|0}}else{v=0;while(1){cb=Xa+(v<<2)|0;g[cb>>2]=+g[cb>>2]+R*+((d[u+1>>0]<<8|d[u>>0])<<16>>16|0);v=v+1|0;if((v|0)==(Ua|0)){La=634;break p}else u=u+Ra|0}}}if(!u){R=U*(T-R);u=Pa+F+V|0;if(ha){g[Xa>>2]=R*+(b[u>>1]|0)+0.0;if(Fa){La=634;break}u=u+Ra|0;g[Y>>2]=R*+(b[u>>1]|0)+0.0;if(ka){La=634;break}v=2;while(1){u=u+Ra|0;g[Xa+(v<<2)>>2]=+g[Xa+(v<<2)>>2]+R*+(b[u>>1]|0);v=v+1|0;if((v|0)==(Ua|0)){La=634;break p}}}else{g[Xa>>2]=R*+((d[u+1>>0]<<8|d[u>>0])<<16>>16|0)+0.0;if(Fa){La=634;break}u=u+Ra|0;g[X>>2]=R*+((d[u+1>>0]<<8|d[u>>0])<<16>>16|0)+0.0;if(ja){La=634;break}v=2;while(1){u=u+Ra|0;g[Xa+(v<<2)>>2]=+g[Xa+(v<<2)>>2]+R*+((d[u+1>>0]<<8|d[u>>0])<<16>>16|0);v=v+1|0;if((v|0)==(Ua|0)){La=634;break p}}}}R=U*(1.0-R);w=Pa+F+V|0;do if(ha){g[Xa>>2]=R*+(b[w>>1]|0)+0.0;if(Fa)break;u=w+Ra|0;g[t>>2]=R*+(b[u>>1]|0)+0.0;if(ma)break;v=2;do{u=u+Ra|0;g[Xa+(v<<2)>>2]=+g[Xa+(v<<2)>>2]+R*+(b[u>>1]|0);v=v+1|0}while((v|0)!=(Ua|0))}else{g[Xa>>2]=R*+((d[w+1>>0]<<8|d[w>>0])<<16>>16|0)+0.0;if(Fa)break;u=w+Ra|0;g[Z>>2]=R*+((d[u+1>>0]<<8|d[u>>0])<<16>>16|0)+0.0;if(la)break;v=2;do{u=u+Ra|0;g[Xa+(v<<2)>>2]=+g[Xa+(v<<2)>>2]+R*+((d[u+1>>0]<<8|d[u>>0])<<16>>16|0);v=v+1|0}while((v|0)!=(Ua|0))}while(0);v=E+1|0;u=w+Sa|0;if((v|0)<(H|0)){y=N(H,Sa)|0;if(ha)while(1){w=u;x=0;while(1){cb=Xa+(x<<2)|0;g[cb>>2]=+g[cb>>2]+U*+(b[w>>1]|0);x=x+1|0;if((x|0)==(Ua|0))break;else w=w+Ra|0}v=v+1|0;if((v|0)==(H|0))break;else u=u+Sa|0}else while(1){w=u;x=0;while(1){cb=Xa+(x<<2)|0;g[cb>>2]=+g[cb>>2]+U*+((d[w+1>>0]<<8|d[w>>0])<<16>>16|0);x=x+1|0;if((x|0)==(Ua|0))break;else w=w+Ra|0}v=v+1|0;if((v|0)==(H|0))break;else u=u+Sa|0}u=I+y|0}R=U*T;if(ha){v=0;while(1){cb=Xa+(v<<2)|0;g[cb>>2]=+g[cb>>2]+R*+(b[u>>1]|0);v=v+1|0;if((v|0)==(Ua|0)){La=634;break}else u=u+Ra|0}}else{v=0;while(1){cb=Xa+(v<<2)|0;g[cb>>2]=+g[cb>>2]+R*+((d[u+1>>0]<<8|d[u>>0])<<16>>16|0);v=v+1|0;if((v|0)==(Ua|0)){La=634;break}else u=u+Ra|0}}}while(0);do if((La|0)==634){La=0;if(!O)break;B=E+1|0;C=(B|0)<(H|0);y=Pa+F+Sa+M|0;A=L;while(1){if(C)if(ha){w=B;x=y;while(1){u=x;v=0;while(1){cb=Xa+(v<<2)|0;g[cb>>2]=+g[cb>>2]+ +(b[u>>1]|0);v=v+1|0;if((v|0)==(Ua|0))break;else u=u+Ra|0}w=w+1|0;if((w|0)==(H|0))break;else x=x+Sa|0}}else{w=B;x=y;while(1){u=x;v=0;while(1){cb=Xa+(v<<2)|0;g[cb>>2]=+g[cb>>2]+ +((d[u+1>>0]<<8|d[u>>0])<<16>>16|0);v=v+1|0;if((v|0)==(Ua|0))break;else u=u+Ra|0}w=w+1|0;if((w|0)==(H|0))break;else x=x+Sa|0}}A=A+1|0;if((A|0)==(Ha|0))break;else y=y+Qa|0}}while(0);v=N(G+P|0,Ua)|0;u=0;do{b[Ma+(u+v<<1)>>1]=~~(+g[Xa+(u<<2)>>2]/ea);u=u+1|0}while((u|0)!=(Ua|0));R=da+T;u=R>1.0;G=G+1|0;if((G|0)==(m|0))break;else{E=H;Ca=T;T=u?R+-1.0:R;H=H+Ja+(u&1)|0;R=Ca}}R=ca+ba;u=R>1.0;W=W+1|0;if((W|0)==(n|0))break;else{Ca=ba;ba=u?R+-1.0:R;u=(u&1)+Ia+Ha|0;v=Ha;R=Ca}}}break l}default:bb(197137,138056,4356,146204)}if((p|0)>=5126){if((p|0)>=32818)switch(p|0){case 32818:{do if((m<<1|0)==(i|0)&(n<<1|0)==(k|0)){K=(i|0)==1;J=(k|0)==1;if(!(K|J)){H=(i|0)/2|0;I=(k|0)/2|0;u=N(Ra,i)|0;F=Qa-u|0;do if((k|0)>1){G=Ra<<1;if((i|0)<=1){v=0;u=Pa+(N((Qa<<1)-u|0,I)|0)|0;break}B=H<<1;E=N(B+-2|0,Ra)|0;D=x<<1;D=(N((N(Ua,v+(A<<1)|0)|0)+B-i|0,Ra)|0)+y+(N(I+-1|0,(N(((N(A,Ua)|0)<<1)+B-i|0,Ra)|0)+D|0)|0)+D|0;B=L+4|0;C=L+8|0;u=0;v=0;w=Pa;while(1){x=0;y=w;A=u;while(1){cb=d[y>>0]|0;La=d[y+Ra>>0]|0;Ja=y+Qa|0;Ka=d[Ja>>0]|0;Ja=d[Ja+Ra>>0]|0;g[L>>2]=(+(Ja>>>5|0)/7.0+(+(Ka>>>5|0)/7.0+(+(La>>>5|0)/7.0+(+(cb>>>5|0)/7.0+0.0))))*.25;g[B>>2]=(+(Ja>>>2&7|0)/7.0+(+(Ka>>>2&7|0)/7.0+(+(La>>>2&7|0)/7.0+(+(cb>>>2&7|0)/7.0+0.0))))*.25;g[C>>2]=(+(Ja&3|0)/3.0+(+(Ka&3|0)/3.0+(+(La&3|0)/3.0+(+(cb&3|0)/3.0+0.0))))*.25;KI(L,A,Ma);x=x+1|0;if((x|0)==(H|0))break;else{y=y+G|0;A=A+1|0}}v=v+1|0;if((v|0)==(I|0))break;else{u=u+H|0;w=w+E+G+F+Qa|0}}v=N(I,H)|0;u=t+D|0}else{v=0;u=Pa}while(0);if((u|0)!=(Pa+(N(Qa,k)|0)|0))bb(146458,138056,6577,146303);if((v|0)==(N(I,H)|0))break;bb(146423,138056,6578,146303)}if(K&J)bb(146274,138056,6508,146303);C=(i|0)/2|0;B=(k|0)/2|0;if((i|0)==(k|0))bb(146325,138056,6598,146341);if(!J){if(!K)break;if((k|0)>1){w=Qa<<1;A=B<<1;x=L+4|0;y=L+8|0;u=0;v=Pa;while(1){cb=d[v>>0]|0;La=d[v+Qa>>0]|0;g[L>>2]=(+(La>>>5|0)/7.0+(+(cb>>>5|0)/7.0+0.0))*.5;g[x>>2]=(+(La>>>2&7|0)/7.0+(+(cb>>>2&7|0)/7.0+0.0))*.5;g[y>>2]=(+(La&3|0)/3.0+(+(cb&3|0)/3.0+0.0))*.5;KI(L,u,Ma);u=u+1|0;if((u|0)==(B|0))break;else v=v+w|0}v=B;u=Pa+(N(A,Qa)|0)|0}else{v=0;u=Pa}if((u|0)!=(Pa+(N(Qa,k)|0)|0))bb(146458,138056,6684,146341);if((v|0)==(B|0))break;bb(146423,138056,6685,146341)}if(K)bb(146365,138056,6603,146341);if((i|0)>1){w=Ra<<1;A=C<<1;x=L+4|0;y=L+8|0;u=0;v=Pa;while(1){cb=d[v>>0]|0;La=d[v+Ra>>0]|0;g[L>>2]=(+(La>>>5|0)/7.0+(+(cb>>>5|0)/7.0+0.0))*.5;g[x>>2]=(+(La>>>2&7|0)/7.0+(+(cb>>>2&7|0)/7.0+0.0))*.5;g[y>>2]=(+(La&3|0)/3.0+(+(cb&3|0)/3.0+0.0))*.5;KI(L,u,Ma);u=u+1|0;if((u|0)==(C|0))break;else v=v+w|0}v=C;u=Pa+(N(A,Ra)|0)|0}else{v=0;u=Pa}if((u+(Qa-(N(Ra,i)|0))|0)!=(Pa+Qa|0))bb(146376,138056,6643,146341);if((v|0)==(C|0))break;bb(146423,138056,6644,146341)}else{pa=+(k|0)/+(n|0);ea=+(i|0)/R;Q=~~+z(+pa);na=pa-+(Q|0);V=~~+z(+ea);oa=ea-+(V|0);pa=ea*pa;W=Ya+4|0;X=Ya+8|0;Y=Za+4|0;Z=Za+8|0;t=Xa+4|0;_=Xa+8|0;$=Da+4|0;fa=Da+8|0;ga=Xa+4|0;ha=Xa+8|0;ia=Xa+4|0;ja=Xa+8|0;ka=Xa+4|0;la=Xa+8|0;ma=Xa+4|0;qa=Xa+8|0;O=0;ea=na;R=0.0;P=Q;u=0;while(1){L=(P|0)>(u|0);da=1.0-R;M=N(u,Qa)|0;i=u+1|0;I=N(i,Qa)|0;J=(i|0)<(P|0);K=N(O,m)|0;ca=ea-R;F=N(P,Qa)|0;G=Pa+M|0;H=Pa+(N(P+-1|0,Qa)|0)|0;k=Pa+F|0;D=0;ba=oa;R=0.0;E=V;B=0;while(1){C=N(B,Ra)|0;u=(E|0)>(B|0);c[Xa>>2]=0;c[Xa+4>>2]=0;c[Xa+8>>2]=0;c[Xa+12>>2]=0;do if(L&u){y=Pa+C|0;v=y+M|0;aa=1.0-R;Ca=da*aa;x=d[v>>0]|0;S=+(x>>>5|0)/7.0;g[Ya>>2]=S;U=+(x>>>2&7|0)/7.0;g[W>>2]=U;R=+(x&3|0)/3.0;g[X>>2]=R;S=Ca*S+0.0;g[Xa>>2]=S;U=Ca*U+0.0;g[t>>2]=U;R=Ca*R+0.0;g[_>>2]=R;x=B+1|0;A=(x|0)<(E|0);u=v+Ra|0;if(A){w=x;while(1){cb=d[u>>0]|0;ya=+(cb>>>5|0)/7.0;g[Ya>>2]=ya;Aa=+(cb>>>2&7|0)/7.0;g[W>>2]=Aa;Ca=+(cb&3|0)/3.0;g[X>>2]=Ca;S=S+da*ya;g[Xa>>2]=S;U=U+da*Aa;g[t>>2]=U;R=R+da*Ca;g[_>>2]=R;w=w+1|0;if((w|0)==(E|0))break;else u=u+Ra|0}u=G+(N(E,Ra)|0)|0}ya=da*ba;cb=d[u>>0]|0;Aa=ea*aa;w=y+F|0;Ka=d[w>>0]|0;T=+(Ka>>>5|0)/7.0;g[Ya>>2]=T;wa=+(Ka>>>2&7|0)/7.0;g[W>>2]=wa;Ca=+(Ka&3|0)/3.0;g[X>>2]=Ca;T=S+ya*(+(cb>>>5|0)/7.0)+Aa*T;g[Xa>>2]=T;S=U+ya*(+(cb>>>2&7|0)/7.0)+Aa*wa;g[t>>2]=S;R=R+ya*(+(cb&3|0)/3.0)+Aa*Ca;g[_>>2]=R;w=w+Ra|0;if(A){while(1){cb=d[w>>0]|0;ya=+(cb>>>5|0)/7.0;g[Ya>>2]=ya;Aa=+(cb>>>2&7|0)/7.0;g[W>>2]=Aa;Ca=+(cb&3|0)/3.0;g[X>>2]=Ca;T=T+ea*ya;g[Xa>>2]=T;S=S+ea*Aa;g[t>>2]=S;R=R+ea*Ca;g[_>>2]=R;x=x+1|0;if((x|0)==(E|0))break;else w=w+Ra|0}w=k+(N(E,Ra)|0)|0}Aa=ea*ba;cb=d[w>>0]|0;wa=+(cb>>>5|0)/7.0;g[Ya>>2]=wa;ya=+(cb>>>2&7|0)/7.0;g[W>>2]=ya;Ca=+(cb&3|0)/3.0;g[X>>2]=Ca;T=T+Aa*wa;g[Xa>>2]=T;S=S+Aa*ya;g[t>>2]=S;R=R+Aa*Ca;g[_>>2]=R;if(!J){Ba=T;za=S;xa=R;break}w=i;do{v=v+Qa|0;u=u+Qa|0;cb=d[v>>0]|0;ua=+(cb>>>5|0)/7.0;g[Ya>>2]=ua;wa=+(cb>>>2&7|0)/7.0;g[W>>2]=wa;Aa=+(cb&3|0)/3.0;g[X>>2]=Aa;cb=d[u>>0]|0;va=+(cb>>>5|0)/7.0;g[Za>>2]=va;ya=+(cb>>>2&7|0)/7.0;g[Y>>2]=ya;Ca=+(cb&3|0)/3.0;g[Z>>2]=Ca;T=T+(aa*ua+ba*va);g[Xa>>2]=T;S=S+(aa*wa+ba*ya);g[t>>2]=S;R=R+(aa*Aa+ba*Ca);g[_>>2]=R;w=w+1|0}while((w|0)!=(P|0));va=R;ta=S;ra=T;La=1125}else{if(L){U=ba-R;Ca=da*U;u=Pa+C+M|0;cb=d[u>>0]|0;T=+(cb>>>5|0)/7.0;g[Ya>>2]=T;S=+(cb>>>2&7|0)/7.0;g[W>>2]=S;R=+(cb&3|0)/3.0;g[X>>2]=R;T=Ca*T+0.0;g[Xa>>2]=T;S=Ca*S+0.0;g[ga>>2]=S;R=Ca*R+0.0;g[ha>>2]=R;if(J){v=i;do{u=u+Qa|0;cb=d[u>>0]|0;ya=+(cb>>>5|0)/7.0;g[Ya>>2]=ya;Aa=+(cb>>>2&7|0)/7.0;g[W>>2]=Aa;Ca=+(cb&3|0)/3.0;g[X>>2]=Ca;T=T+U*ya;g[Xa>>2]=T;S=S+U*Aa;g[ga>>2]=S;R=R+U*Ca;g[ha>>2]=R;v=v+1|0}while((v|0)!=(P|0));u=H+C|0}Ca=ea*U;La=d[u+Qa>>0]|0;ra=+(La>>>5|0)/7.0;g[Ya>>2]=ra;ta=+(La>>>2&7|0)/7.0;g[W>>2]=ta;va=+(La&3|0)/3.0;g[X>>2]=va;ra=T+Ca*ra;g[Xa>>2]=ra;ta=S+Ca*ta;g[ga>>2]=ta;va=R+Ca*va;g[ha>>2]=va;La=1125;break}if(!u){Ca=ca*(ba-R);La=d[Pa+C+M>>0]|0;ra=+(La>>>5|0)/7.0;g[Ya>>2]=ra;ta=+(La>>>2&7|0)/7.0;g[W>>2]=ta;va=+(La&3|0)/3.0;g[X>>2]=va;ra=Ca*ra+0.0;g[Xa>>2]=ra;ta=Ca*ta+0.0;g[ma>>2]=ta;va=Ca*va+0.0;g[qa>>2]=va;La=1125;break}Ca=ca*(1.0-R);v=Pa+C+M|0;u=d[v>>0]|0;T=+(u>>>5|0)/7.0;g[Ya>>2]=T;S=+(u>>>2&7|0)/7.0;g[W>>2]=S;R=+(u&3|0)/3.0;g[X>>2]=R;T=Ca*T+0.0;g[Xa>>2]=T;S=Ca*S+0.0;g[ka>>2]=S;R=Ca*R+0.0;g[la>>2]=R;u=B+1|0;v=v+Ra|0;if((u|0)<(E|0)){while(1){cb=d[v>>0]|0;ya=+(cb>>>5|0)/7.0;g[Ya>>2]=ya;Aa=+(cb>>>2&7|0)/7.0;g[W>>2]=Aa;Ca=+(cb&3|0)/3.0;g[X>>2]=Ca;T=T+ca*ya;g[Xa>>2]=T;S=S+ca*Aa;g[ka>>2]=S;R=R+ca*Ca;g[la>>2]=R;u=u+1|0;if((u|0)==(E|0))break;else v=v+Ra|0}v=G+(N(E,Ra)|0)|0}Ca=ca*ba;La=d[v>>0]|0;ra=+(La>>>5|0)/7.0;g[Ya>>2]=ra;ta=+(La>>>2&7|0)/7.0;g[W>>2]=ta;va=+(La&3|0)/3.0;g[X>>2]=va;ra=T+Ca*ra;g[Xa>>2]=ra;ta=S+Ca*ta;g[ka>>2]=ta;va=R+Ca*va;g[la>>2]=va;La=1125}while(0);do if((La|0)==1125){La=0;if(!J){Ba=ra;za=ta;xa=va;break}y=B+1|0;if((y|0)>=(E|0)){Ba=ra;za=ta;xa=va;break}u=Pa+C+Ra+I|0;v=i;T=va;S=ta;R=ra;while(1){w=y;x=u;while(1){cb=d[x>>0]|0;Aa=+(cb>>>5|0)/7.0;g[Ya>>2]=Aa;Ba=+(cb>>>2&7|0)/7.0;g[W>>2]=Ba;Ca=+(cb&3|0)/3.0;g[X>>2]=Ca;R=Aa+R;g[Xa>>2]=R;S=Ba+S;g[ia>>2]=S;T=Ca+T;g[ja>>2]=T;w=w+1|0;if((w|0)==(E|0))break;else x=x+Ra|0}v=v+1|0;if((v|0)==(P|0)){Ba=R;za=S;xa=T;break}else u=u+Qa|0}}while(0);g[Da>>2]=Ba/pa;g[$>>2]=za/pa;g[fa>>2]=xa/pa;KI(Da,D+K|0,Ma);R=oa+ba;u=R>1.0;D=D+1|0;if((D|0)==(m|0))break;else{B=E;Ca=ba;ba=u?R+-1.0:R;E=E+V+(u&1)|0;R=Ca}}R=na+ea;u=R>1.0;O=O+1|0;if((O|0)==(n|0))break;else{cb=P;Ca=ea;ea=u?R+-1.0:R;P=P+Q+(u&1)|0;u=cb;R=Ca}}}while(0);break l}case 32819:{XQ(4,142,143,i,k,Pa,m,n,Ma,Ra,Qa,B);break l}default:bb(197137,138056,4356,146204)}switch(p|0){case 5126:break;default:bb(197137,138056,4356,146204)}if((m<<1|0)==(i|0)&(n<<1|0)==(k|0))LQ(Ua,i,k,Pa,Ma,Ra,Qa,Sa,B);else{na=+(k|0)/+(n|0);ca=+(i|0)/R;la=~~+z(+na);da=na-+(la|0);ma=~~+z(+ca);ea=ca-+(ma|0);na=ca*na;qa=k+-1|0;_=(B|0)==0;$=Qa+Sa|0;ia=(Ua|0)==1;t=Xa+4|0;ja=(Ua|0)==2;Z=Xa+4|0;ha=(Ua|0)==2;Y=Xa+4|0;ga=(Ua|0)==2;X=Xa+4|0;fa=(Ua|0)==2;W=0;ca=da;R=0.0;u=la;v=0;while(1){ka=(u|0)<(k|0)?u:qa;Q=(ka|0)>(v|0);ba=1.0-R;V=N(v,Qa)|0;L=v+1|0;M=N(L,Qa)|0;O=(L|0)<(ka|0);P=N(W,m)|0;aa=ca-R;i=N(ka,Qa)|0;I=Pa+V|0;J=Pa+(N(ka+-1|0,Qa)|0)|0;K=Pa+i|0;G=0;U=ea;R=0.0;H=ma;E=0;while(1){F=N(E,Sa)|0;u=(H|0)>(E|0);c[Xa>>2]=0;c[Xa+4>>2]=0;c[Xa+8>>2]=0;c[Xa+12>>2]=0;q:do if(Q&u){D=Pa+F|0;y=D+V|0;T=1.0-R;S=ba*T;r:do if(_){g[Xa>>2]=S*+g[y>>2]+0.0;if(ia)break;u=y+Ra|0;g[t>>2]=S*+g[u>>2]+0.0;if(ja)break;v=2;do{u=u+Ra|0;g[Xa+(v<<2)>>2]=+g[Xa+(v<<2)>>2]+S*+g[u>>2];v=v+1|0}while((v|0)!=(Ua|0))}else{v=0;w=y;R=0.0;while(1){g[Xa+(v<<2)>>2]=R+S*(c[j>>2]=d[w+2>>0]<<16|d[w+3>>0]<<24|d[w+1>>0]<<8|d[w>>0],+g[j>>2]);u=v+1|0;if((u|0)==(Ua|0))break r;v=u;w=w+Ra|0;R=+g[Xa+(u<<2)>>2]}}while(0);x=E+1|0;C=(x|0)<(H|0);u=y+Sa|0;if(C){B=N(H,Sa)|0;if(_){A=x;while(1){v=0;w=u;while(1){cb=Xa+(v<<2)|0;g[cb>>2]=+g[cb>>2]+ba*+g[w>>2];v=v+1|0;if((v|0)==(Ua|0))break;else w=w+Ra|0}A=A+1|0;if((A|0)==(H|0))break;else u=u+Sa|0}}else{A=x;while(1){v=0;w=u;while(1){cb=Xa+(v<<2)|0;g[cb>>2]=+g[cb>>2]+ba*(c[j>>2]=d[w+2>>0]<<16|d[w+3>>0]<<24|d[w+1>>0]<<8|d[w>>0],+g[j>>2]);v=v+1|0;if((v|0)==(Ua|0))break;else w=w+Ra|0}A=A+1|0;if((A|0)==(H|0))break;else u=u+Sa|0}}B=I+B|0}else B=u;R=ba*U;if(_){u=0;v=B;while(1){cb=Xa+(u<<2)|0;g[cb>>2]=+g[cb>>2]+R*+g[v>>2];u=u+1|0;if((u|0)==(Ua|0))break;else v=v+Ra|0}}else{u=0;v=B;while(1){cb=Xa+(u<<2)|0;g[cb>>2]=+g[cb>>2]+R*(c[j>>2]=d[v+2>>0]<<16|d[v+3>>0]<<24|d[v+1>>0]<<8|d[v>>0],+g[j>>2]);u=u+1|0;if((u|0)==(Ua|0))break;else v=v+Ra|0}}R=ca*T;w=D+i|0;if(_){u=0;v=w;while(1){cb=Xa+(u<<2)|0;g[cb>>2]=+g[cb>>2]+R*+g[v>>2];u=u+1|0;if((u|0)==(Ua|0))break;else v=v+Ra|0}}else{u=0;v=w;while(1){cb=Xa+(u<<2)|0;g[cb>>2]=+g[cb>>2]+R*(c[j>>2]=d[v+2>>0]<<16|d[v+3>>0]<<24|d[v+1>>0]<<8|d[v>>0],+g[j>>2]);u=u+1|0;if((u|0)==(Ua|0))break;else v=v+Ra|0}}u=w+Sa|0;if(C){A=N(H,Sa)|0;if(_)while(1){v=u;w=0;while(1){cb=Xa+(w<<2)|0;g[cb>>2]=+g[cb>>2]+ca*+g[v>>2];w=w+1|0;if((w|0)==(Ua|0))break;else v=v+Ra|0}x=x+1|0;if((x|0)==(H|0))break;else u=u+Sa|0}else while(1){v=u;w=0;while(1){cb=Xa+(w<<2)|0;g[cb>>2]=+g[cb>>2]+ca*(c[j>>2]=d[v+2>>0]<<16|d[v+3>>0]<<24|d[v+1>>0]<<8|d[v>>0],+g[j>>2]);w=w+1|0;if((w|0)==(Ua|0))break;else v=v+Ra|0}x=x+1|0;if((x|0)==(H|0))break;else u=u+Sa|0}u=K+A|0}R=ca*U;if(_){v=0;while(1){cb=Xa+(v<<2)|0;g[cb>>2]=+g[cb>>2]+R*+g[u>>2];v=v+1|0;if((v|0)==(Ua|0))break;else u=u+Ra|0}}else{v=0;while(1){cb=Xa+(v<<2)|0;g[cb>>2]=+g[cb>>2]+R*(c[j>>2]=d[u+2>>0]<<16|d[u+3>>0]<<24|d[u+1>>0]<<8|d[u>>0],+g[j>>2]);v=v+1|0;if((v|0)==(Ua|0))break;else u=u+Ra|0}}if(!O)break;if(_){A=L;u=B;while(1){v=y+Qa|0;w=u+Qa|0;x=0;while(1){cb=Xa+(x<<2)|0;g[cb>>2]=+g[cb>>2]+(T*+g[v>>2]+U*+g[w>>2]);x=x+1|0;if((x|0)==(Ua|0))break;else{v=v+Ra|0;w=w+Ra|0}}A=A+1|0;if((A|0)==(ka|0)){La=1042;break}else{y=y+$|0;u=u+$|0}}}else{A=L;u=B;while(1){v=y+Qa|0;w=u+Qa|0;x=0;while(1){cb=Xa+(x<<2)|0;Ca=+g[cb>>2]+T*(c[j>>2]=d[v+2>>0]<<16|d[v+3>>0]<<24|d[v+1>>0]<<8|d[v>>0],+g[j>>2]);g[cb>>2]=Ca;g[cb>>2]=Ca+U*(c[j>>2]=d[w+2>>0]<<16|d[w+3>>0]<<24|d[w+1>>0]<<8|d[w>>0],+g[j>>2]);x=x+1|0;if((x|0)==(Ua|0))break;else{v=v+Ra|0;w=w+Ra|0}}A=A+1|0;if((A|0)==(ka|0)){La=1042;break}else{y=y+$|0;u=u+$|0}}}}else{if(Q){T=U-R;S=ba*T;u=Pa+F+V|0;s:do if(_){g[Xa>>2]=S*+g[u>>2]+0.0;if(ia)break;v=u+Ra|0;g[Z>>2]=S*+g[v>>2]+0.0;if(ha)break;w=2;do{v=v+Ra|0;g[Xa+(w<<2)>>2]=+g[Xa+(w<<2)>>2]+S*+g[v>>2];w=w+1|0}while((w|0)!=(Ua|0))}else{w=u;x=0;R=0.0;while(1){g[Xa+(x<<2)>>2]=R+S*(c[j>>2]=d[w+2>>0]<<16|d[w+3>>0]<<24|d[w+1>>0]<<8|d[w>>0],+g[j>>2]);v=x+1|0;if((v|0)==(Ua|0))break s;w=w+Ra|0;x=v;R=+g[Xa+(v<<2)>>2]}}while(0);if(O){if(_){x=L;do{u=u+Qa|0;v=u;w=0;while(1){cb=Xa+(w<<2)|0;g[cb>>2]=+g[cb>>2]+T*+g[v>>2];w=w+1|0;if((w|0)==(Ua|0))break;else v=v+Ra|0}x=x+1|0}while((x|0)!=(ka|0))}else{x=L;do{u=u+Qa|0;v=u;w=0;while(1){cb=Xa+(w<<2)|0;g[cb>>2]=+g[cb>>2]+T*(c[j>>2]=d[v+2>>0]<<16|d[v+3>>0]<<24|d[v+1>>0]<<8|d[v>>0],+g[j>>2]);w=w+1|0;if((w|0)==(Ua|0))break;else v=v+Ra|0}x=x+1|0}while((x|0)!=(ka|0))}u=J+F|0}R=ca*T;u=u+Qa|0;if(_){v=0;while(1){cb=Xa+(v<<2)|0;g[cb>>2]=+g[cb>>2]+R*+g[u>>2];v=v+1|0;if((v|0)==(Ua|0)){La=1042;break q}else u=u+Ra|0}}else{v=0;while(1){cb=Xa+(v<<2)|0;g[cb>>2]=+g[cb>>2]+R*(c[j>>2]=d[u+2>>0]<<16|d[u+3>>0]<<24|d[u+1>>0]<<8|d[u>>0],+g[j>>2]);v=v+1|0;if((v|0)==(Ua|0)){La=1042;break q}else u=u+Ra|0}}}if(!u){S=aa*(U-R);u=Pa+F+V|0;if(!_){w=0;R=0.0;while(1){g[Xa+(w<<2)>>2]=R+S*(c[j>>2]=d[u+2>>0]<<16|d[u+3>>0]<<24|d[u+1>>0]<<8|d[u>>0],+g[j>>2]);v=w+1|0;if((v|0)==(Ua|0)){La=1042;break q}u=u+Ra|0;w=v;R=+g[Xa+(v<<2)>>2]}}g[Xa>>2]=S*+g[u>>2]+0.0;if(ia){La=1042;break}u=u+Ra|0;g[X>>2]=S*+g[u>>2]+0.0;if(fa){La=1042;break}v=2;while(1){u=u+Ra|0;g[Xa+(v<<2)>>2]=+g[Xa+(v<<2)>>2]+S*+g[u>>2];v=v+1|0;if((v|0)==(Ua|0)){La=1042;break q}}}S=aa*(1.0-R);x=Pa+F+V|0;t:do if(_){g[Xa>>2]=S*+g[x>>2]+0.0;if(ia)break;u=x+Ra|0;g[Y>>2]=S*+g[u>>2]+0.0;if(ga)break;v=2;do{u=u+Ra|0;g[Xa+(v<<2)>>2]=+g[Xa+(v<<2)>>2]+S*+g[u>>2];v=v+1|0}while((v|0)!=(Ua|0))}else{v=0;w=x;R=0.0;while(1){g[Xa+(v<<2)>>2]=R+S*(c[j>>2]=d[w+2>>0]<<16|d[w+3>>0]<<24|d[w+1>>0]<<8|d[w>>0],+g[j>>2]);u=v+1|0;if((u|0)==(Ua|0))break t;v=u;w=w+Ra|0;R=+g[Xa+(u<<2)>>2]}}while(0);v=E+1|0;u=x+Sa|0;if((v|0)<(H|0)){y=N(H,Sa)|0;if(_)while(1){w=u;x=0;while(1){cb=Xa+(x<<2)|0;g[cb>>2]=+g[cb>>2]+aa*+g[w>>2];x=x+1|0;if((x|0)==(Ua|0))break;else w=w+Ra|0}v=v+1|0;if((v|0)==(H|0))break;else u=u+Sa|0}else while(1){w=u;x=0;while(1){cb=Xa+(x<<2)|0;g[cb>>2]=+g[cb>>2]+aa*(c[j>>2]=d[w+2>>0]<<16|d[w+3>>0]<<24|d[w+1>>0]<<8|d[w>>0],+g[j>>2]);x=x+1|0;if((x|0)==(Ua|0))break;else w=w+Ra|0}v=v+1|0;if((v|0)==(H|0))break;else u=u+Sa|0}u=I+y|0}R=aa*U;if(_){v=0;while(1){cb=Xa+(v<<2)|0;g[cb>>2]=+g[cb>>2]+R*+g[u>>2];v=v+1|0;if((v|0)==(Ua|0)){La=1042;break}else u=u+Ra|0}}else{v=0;while(1){cb=Xa+(v<<2)|0;g[cb>>2]=+g[cb>>2]+R*(c[j>>2]=d[u+2>>0]<<16|d[u+3>>0]<<24|d[u+1>>0]<<8|d[u>>0],+g[j>>2]);v=v+1|0;if((v|0)==(Ua|0)){La=1042;break}else u=u+Ra|0}}}while(0);do if((La|0)==1042){La=0;if(!O)break;B=E+1|0;if((B|0)>=(H|0))break;y=Pa+F+Sa+M|0;A=L;while(1){if(_){w=B;x=y;while(1){u=x;v=0;while(1){cb=Xa+(v<<2)|0;g[cb>>2]=+g[u>>2]+ +g[cb>>2];v=v+1|0;if((v|0)==(Ua|0))break;else u=u+Ra|0}w=w+1|0;if((w|0)==(H|0))break;else x=x+Sa|0}}else{w=B;x=y;while(1){u=x;v=0;while(1){cb=Xa+(v<<2)|0;g[cb>>2]=+g[cb>>2]+(c[j>>2]=d[u+2>>0]<<16|d[u+3>>0]<<24|d[u+1>>0]<<8|d[u>>0],+g[j>>2]);v=v+1|0;if((v|0)==(Ua|0))break;else u=u+Ra|0}w=w+1|0;if((w|0)==(H|0))break;else x=x+Sa|0}}A=A+1|0;if((A|0)==(ka|0))break;else y=y+Qa|0}}while(0);v=N(G+P|0,Ua)|0;u=0;do{g[Ma+(u+v<<2)>>2]=+g[Xa+(u<<2)>>2]/na;u=u+1|0}while((u|0)!=(Ua|0));R=ea+U;u=R>1.0;G=G+1|0;if((G|0)==(m|0))break;else{E=H;Ca=U;U=u?R+-1.0:R;H=H+ma+(u&1)|0;R=Ca}}R=da+ca;u=R>1.0;W=W+1|0;if((W|0)==(n|0))break;else{Ca=ca;ca=u?R+-1.0:R;u=(u&1)+la+ka|0;v=ka;R=Ca}}}break}switch(p|0){case 5125:{if((m<<1|0)==(i|0)&(n<<1|0)==(k|0))JQ(Ua,i,k,Pa,Ma,Ra,Qa,Sa,B);else{na=+(k|0)/+(n|0);ca=+(i|0)/R;la=~~+z(+na);da=na-+(la|0);ma=~~+z(+ca);ea=ca-+(ma|0);na=ca*na;qa=k+-1|0;_=(B|0)==0;$=Qa+Sa|0;ia=(Ua|0)==1;t=Xa+4|0;ja=(Ua|0)==2;Z=Xa+4|0;ha=(Ua|0)==2;Y=Xa+4|0;ga=(Ua|0)==2;X=Xa+4|0;fa=(Ua|0)==2;W=0;ca=da;R=0.0;u=la;v=0;while(1){ka=(u|0)<(k|0)?u:qa;Q=(ka|0)>(v|0);ba=1.0-R;V=N(v,Qa)|0;L=v+1|0;M=N(L,Qa)|0;O=(L|0)<(ka|0);P=N(W,m)|0;aa=ca-R;i=N(ka,Qa)|0;I=Pa+V|0;J=Pa+(N(ka+-1|0,Qa)|0)|0;K=Pa+i|0;G=0;U=ea;R=0.0;H=ma;E=0;while(1){F=N(E,Sa)|0;u=(H|0)>(E|0);c[Xa>>2]=0;c[Xa+4>>2]=0;c[Xa+8>>2]=0;c[Xa+12>>2]=0;u:do if(Q&u){D=Pa+F|0;y=D+V|0;T=1.0-R;S=ba*T;v:do if(_){g[Xa>>2]=S*+((c[y>>2]|0)>>>0)+0.0;if(ia)break;u=y+Ra|0;g[t>>2]=S*+((c[u>>2]|0)>>>0)+0.0;if(ja)break;v=2;do{u=u+Ra|0;g[Xa+(v<<2)>>2]=+g[Xa+(v<<2)>>2]+S*+((c[u>>2]|0)>>>0);v=v+1|0}while((v|0)!=(Ua|0))}else{v=0;w=y;R=0.0;while(1){g[Xa+(v<<2)>>2]=R+S*+((d[w+2>>0]<<16|d[w+3>>0]<<24|d[w+1>>0]<<8|d[w>>0])>>>0);u=v+1|0;if((u|0)==(Ua|0))break v;v=u;w=w+Ra|0;R=+g[Xa+(u<<2)>>2]}}while(0);x=E+1|0;C=(x|0)<(H|0);u=y+Sa|0;if(C){B=N(H,Sa)|0;if(_){A=x;while(1){v=0;w=u;while(1){cb=Xa+(v<<2)|0;g[cb>>2]=+g[cb>>2]+ba*+((c[w>>2]|0)>>>0);v=v+1|0;if((v|0)==(Ua|0))break;else w=w+Ra|0}A=A+1|0;if((A|0)==(H|0))break;else u=u+Sa|0}}else{A=x;while(1){v=0;w=u;while(1){cb=Xa+(v<<2)|0;g[cb>>2]=+g[cb>>2]+ba*+((d[w+2>>0]<<16|d[w+3>>0]<<24|d[w+1>>0]<<8|d[w>>0])>>>0);v=v+1|0;if((v|0)==(Ua|0))break;else w=w+Ra|0}A=A+1|0;if((A|0)==(H|0))break;else u=u+Sa|0}}B=I+B|0}else B=u;R=ba*U;if(_){u=0;v=B;while(1){cb=Xa+(u<<2)|0;g[cb>>2]=+g[cb>>2]+R*+((c[v>>2]|0)>>>0);u=u+1|0;if((u|0)==(Ua|0))break;else v=v+Ra|0}}else{u=0;v=B;while(1){cb=Xa+(u<<2)|0;g[cb>>2]=+g[cb>>2]+R*+((d[v+2>>0]<<16|d[v+3>>0]<<24|d[v+1>>0]<<8|d[v>>0])>>>0);u=u+1|0;if((u|0)==(Ua|0))break;else v=v+Ra|0}}R=ca*T;w=D+i|0;if(_){u=0;v=w;while(1){cb=Xa+(u<<2)|0;g[cb>>2]=+g[cb>>2]+R*+((c[v>>2]|0)>>>0);u=u+1|0;if((u|0)==(Ua|0))break;else v=v+Ra|0}}else{u=0;v=w;while(1){cb=Xa+(u<<2)|0;g[cb>>2]=+g[cb>>2]+R*+((d[v+2>>0]<<16|d[v+3>>0]<<24|d[v+1>>0]<<8|d[v>>0])>>>0);u=u+1|0;if((u|0)==(Ua|0))break;else v=v+Ra|0}}u=w+Sa|0;if(C){A=N(H,Sa)|0;if(_)while(1){v=u;w=0;while(1){cb=Xa+(w<<2)|0;g[cb>>2]=+g[cb>>2]+ca*+((c[v>>2]|0)>>>0);w=w+1|0;if((w|0)==(Ua|0))break;else v=v+Ra|0}x=x+1|0;if((x|0)==(H|0))break;else u=u+Sa|0}else while(1){v=u;w=0;while(1){cb=Xa+(w<<2)|0;g[cb>>2]=+g[cb>>2]+ca*+((d[v+2>>0]<<16|d[v+3>>0]<<24|d[v+1>>0]<<8|d[v>>0])>>>0);w=w+1|0;if((w|0)==(Ua|0))break;else v=v+Ra|0}x=x+1|0;if((x|0)==(H|0))break;else u=u+Sa|0}u=K+A|0}R=ca*U;if(_){v=0;while(1){cb=Xa+(v<<2)|0;g[cb>>2]=+g[cb>>2]+R*+((c[u>>2]|0)>>>0);v=v+1|0;if((v|0)==(Ua|0))break;else u=u+Ra|0}}else{v=0;while(1){cb=Xa+(v<<2)|0;g[cb>>2]=+g[cb>>2]+R*+((d[u+2>>0]<<16|d[u+3>>0]<<24|d[u+1>>0]<<8|d[u>>0])>>>0);v=v+1|0;if((v|0)==(Ua|0))break;else u=u+Ra|0}}if(!O)break;if(_){A=L;u=B;while(1){v=y+Qa|0;w=u+Qa|0;x=0;while(1){cb=Xa+(x<<2)|0;g[cb>>2]=+g[cb>>2]+(T*+((c[v>>2]|0)>>>0)+U*+((c[w>>2]|0)>>>0));x=x+1|0;if((x|0)==(Ua|0))break;else{v=v+Ra|0;w=w+Ra|0}}A=A+1|0;if((A|0)==(ka|0)){La=770;break}else{y=y+$|0;u=u+$|0}}}else{A=L;u=B;while(1){v=y+Qa|0;w=u+Qa|0;x=0;while(1){cb=Xa+(x<<2)|0;g[cb>>2]=+g[cb>>2]+(T*+((d[v+2>>0]<<16|d[v+3>>0]<<24|d[v+1>>0]<<8|d[v>>0])>>>0)+U*+((d[w+2>>0]<<16|d[w+3>>0]<<24|d[w+1>>0]<<8|d[w>>0])>>>0));x=x+1|0;if((x|0)==(Ua|0))break;else{v=v+Ra|0;w=w+Ra|0}}A=A+1|0;if((A|0)==(ka|0)){La=770;break}else{y=y+$|0;u=u+$|0}}}}else{if(Q){T=U-R;S=ba*T;u=Pa+F+V|0;w:do if(_){g[Xa>>2]=S*+((c[u>>2]|0)>>>0)+0.0;if(ia)break;v=u+Ra|0;g[Z>>2]=S*+((c[v>>2]|0)>>>0)+0.0;if(ha)break;w=2;do{v=v+Ra|0;g[Xa+(w<<2)>>2]=+g[Xa+(w<<2)>>2]+S*+((c[v>>2]|0)>>>0);w=w+1|0}while((w|0)!=(Ua|0))}else{w=u;x=0;R=0.0;while(1){g[Xa+(x<<2)>>2]=R+S*+((d[w+2>>0]<<16|d[w+3>>0]<<24|d[w+1>>0]<<8|d[w>>0])>>>0);v=x+1|0;if((v|0)==(Ua|0))break w;w=w+Ra|0;x=v;R=+g[Xa+(v<<2)>>2]}}while(0);if(O){if(_){x=L;do{u=u+Qa|0;v=u;w=0;while(1){cb=Xa+(w<<2)|0;g[cb>>2]=+g[cb>>2]+T*+((c[v>>2]|0)>>>0);w=w+1|0;if((w|0)==(Ua|0))break;else v=v+Ra|0}x=x+1|0}while((x|0)!=(ka|0))}else{x=L;do{u=u+Qa|0;v=u;w=0;while(1){cb=Xa+(w<<2)|0;g[cb>>2]=+g[cb>>2]+T*+((d[v+2>>0]<<16|d[v+3>>0]<<24|d[v+1>>0]<<8|d[v>>0])>>>0);w=w+1|0;if((w|0)==(Ua|0))break;else v=v+Ra|0}x=x+1|0}while((x|0)!=(ka|0))}u=J+F|0}R=ca*T;u=u+Qa|0;if(_){v=0;while(1){cb=Xa+(v<<2)|0;g[cb>>2]=+g[cb>>2]+R*+((c[u>>2]|0)>>>0);v=v+1|0;if((v|0)==(Ua|0)){La=770;break u}else u=u+Ra|0}}else{v=0;while(1){cb=Xa+(v<<2)|0;g[cb>>2]=+g[cb>>2]+R*+((d[u+2>>0]<<16|d[u+3>>0]<<24|d[u+1>>0]<<8|d[u>>0])>>>0);v=v+1|0;if((v|0)==(Ua|0)){La=770;break u}else u=u+Ra|0}}}if(!u){S=aa*(U-R);u=Pa+F+V|0;if(!_){w=0;R=0.0;while(1){g[Xa+(w<<2)>>2]=R+S*+((d[u+2>>0]<<16|d[u+3>>0]<<24|d[u+1>>0]<<8|d[u>>0])>>>0);v=w+1|0;if((v|0)==(Ua|0)){La=770;break u}u=u+Ra|0;w=v;R=+g[Xa+(v<<2)>>2]}}g[Xa>>2]=S*+((c[u>>2]|0)>>>0)+0.0;if(ia){La=770;break}u=u+Ra|0;g[X>>2]=S*+((c[u>>2]|0)>>>0)+0.0;if(fa){La=770;break}v=2;while(1){u=u+Ra|0;g[Xa+(v<<2)>>2]=+g[Xa+(v<<2)>>2]+S*+((c[u>>2]|0)>>>0);v=v+1|0;if((v|0)==(Ua|0)){La=770;break u}}}S=aa*(1.0-R);x=Pa+F+V|0;x:do if(_){g[Xa>>2]=S*+((c[x>>2]|0)>>>0)+0.0;if(ia)break;u=x+Ra|0;g[Y>>2]=S*+((c[u>>2]|0)>>>0)+0.0;if(ga)break;v=2;do{u=u+Ra|0;g[Xa+(v<<2)>>2]=+g[Xa+(v<<2)>>2]+S*+((c[u>>2]|0)>>>0);v=v+1|0}while((v|0)!=(Ua|0))}else{v=0;w=x;R=0.0;while(1){g[Xa+(v<<2)>>2]=R+S*+((d[w+2>>0]<<16|d[w+3>>0]<<24|d[w+1>>0]<<8|d[w>>0])>>>0);u=v+1|0;if((u|0)==(Ua|0))break x;v=u;w=w+Ra|0;R=+g[Xa+(u<<2)>>2]}}while(0);v=E+1|0;u=x+Sa|0;if((v|0)<(H|0)){y=N(H,Sa)|0;if(_)while(1){w=u;x=0;while(1){cb=Xa+(x<<2)|0;g[cb>>2]=+g[cb>>2]+aa*+((c[w>>2]|0)>>>0);x=x+1|0;if((x|0)==(Ua|0))break;else w=w+Ra|0}v=v+1|0;if((v|0)==(H|0))break;else u=u+Sa|0}else while(1){w=u;x=0;while(1){cb=Xa+(x<<2)|0;g[cb>>2]=+g[cb>>2]+aa*+((d[w+2>>0]<<16|d[w+3>>0]<<24|d[w+1>>0]<<8|d[w>>0])>>>0);x=x+1|0;if((x|0)==(Ua|0))break;else w=w+Ra|0}v=v+1|0;if((v|0)==(H|0))break;else u=u+Sa|0}u=I+y|0}R=aa*U;if(_){v=0;while(1){cb=Xa+(v<<2)|0;g[cb>>2]=+g[cb>>2]+R*+((c[u>>2]|0)>>>0);v=v+1|0;if((v|0)==(Ua|0)){La=770;break}else u=u+Ra|0}}else{v=0;while(1){cb=Xa+(v<<2)|0;g[cb>>2]=+g[cb>>2]+R*+((d[u+2>>0]<<16|d[u+3>>0]<<24|d[u+1>>0]<<8|d[u>>0])>>>0);v=v+1|0;if((v|0)==(Ua|0)){La=770;break}else u=u+Ra|0}}}while(0);do if((La|0)==770){La=0;if(!O)break;B=E+1|0;if((B|0)>=(H|0))break;y=Pa+F+Sa+M|0;A=L;while(1){if(_){w=B;x=y;while(1){u=x;v=0;while(1){cb=Xa+(v<<2)|0;g[cb>>2]=+g[cb>>2]+ +((c[u>>2]|0)>>>0);v=v+1|0;if((v|0)==(Ua|0))break;else u=u+Ra|0}w=w+1|0;if((w|0)==(H|0))break;else x=x+Sa|0}}else{w=B;x=y;while(1){u=x;v=0;while(1){cb=Xa+(v<<2)|0;g[cb>>2]=+g[cb>>2]+ +((d[u+2>>0]<<16|d[u+3>>0]<<24|d[u+1>>0]<<8|d[u>>0])>>>0);v=v+1|0;if((v|0)==(Ua|0))break;else u=u+Ra|0}w=w+1|0;if((w|0)==(H|0))break;else x=x+Sa|0}}A=A+1|0;if((A|0)==(ka|0))break;else y=y+Qa|0}}while(0);v=N(G+P|0,Ua)|0;u=0;do{Ca=+g[Xa+(u<<2)>>2]/na;c[Ma+(u+v<<2)>>2]=!(Ca>=4294967296.0)?~~Ca>>>0:-1;u=u+1|0}while((u|0)!=(Ua|0));R=ea+U;u=R>1.0;G=G+1|0;if((G|0)==(m|0))break;else{E=H;Ca=U;U=u?R+-1.0:R;H=H+ma+(u&1)|0;R=Ca}}R=da+ca;u=R>1.0;W=W+1|0;if((W|0)==(n|0))break;else{Ca=ca;ca=u?R+-1.0:R;u=(u&1)+la+ka|0;v=ka;R=Ca}}}break l}case 5124:{if((m<<1|0)==(i|0)&(n<<1|0)==(k|0))KQ(Ua,i,k,Pa,Ma,Ra,Qa,Sa,B);else{na=+(k|0)/+(n|0);ca=+(i|0)/R;la=~~+z(+na);da=na-+(la|0);ma=~~+z(+ca);ea=ca-+(ma|0);na=ca*na;qa=k+-1|0;_=(B|0)==0;$=Qa+Sa|0;ia=(Ua|0)==1;t=Xa+4|0;ja=(Ua|0)==2;Z=Xa+4|0;ha=(Ua|0)==2;Y=Xa+4|0;ga=(Ua|0)==2;X=Xa+4|0;fa=(Ua|0)==2;W=0;ca=da;R=0.0;u=la;v=0;while(1){ka=(u|0)<(k|0)?u:qa;Q=(ka|0)>(v|0);ba=1.0-R;V=N(v,Qa)|0;L=v+1|0;M=N(L,Qa)|0;O=(L|0)<(ka|0);P=N(W,m)|0;aa=ca-R;i=N(ka,Qa)|0;I=Pa+V|0;J=Pa+(N(ka+-1|0,Qa)|0)|0;K=Pa+i|0;G=0;U=ea;R=0.0;H=ma;E=0;while(1){F=N(E,Sa)|0;u=(H|0)>(E|0);c[Xa>>2]=0;c[Xa+4>>2]=0;c[Xa+8>>2]=0;c[Xa+12>>2]=0;y:do if(Q&u){D=Pa+F|0;y=D+V|0;T=1.0-R;S=ba*T;z:do if(_){g[Xa>>2]=S*+(c[y>>2]|0)+0.0;if(ia)break;u=y+Ra|0;g[t>>2]=S*+(c[u>>2]|0)+0.0;if(ja)break;v=2;do{u=u+Ra|0;g[Xa+(v<<2)>>2]=+g[Xa+(v<<2)>>2]+S*+(c[u>>2]|0);v=v+1|0}while((v|0)!=(Ua|0))}else{v=0;w=y;R=0.0;while(1){g[Xa+(v<<2)>>2]=R+S*+(d[w+2>>0]<<16|d[w+3>>0]<<24|d[w+1>>0]<<8|d[w>>0]|0);u=v+1|0;if((u|0)==(Ua|0))break z;v=u;w=w+Ra|0;R=+g[Xa+(u<<2)>>2]}}while(0);x=E+1|0;C=(x|0)<(H|0);u=y+Sa|0;if(C){B=N(H,Sa)|0;if(_){A=x;while(1){v=0;w=u;while(1){cb=Xa+(v<<2)|0;g[cb>>2]=+g[cb>>2]+ba*+(c[w>>2]|0);v=v+1|0;if((v|0)==(Ua|0))break;else w=w+Ra|0}A=A+1|0;if((A|0)==(H|0))break;else u=u+Sa|0}}else{A=x;while(1){v=0;w=u;while(1){cb=Xa+(v<<2)|0;g[cb>>2]=+g[cb>>2]+ba*+(d[w+2>>0]<<16|d[w+3>>0]<<24|d[w+1>>0]<<8|d[w>>0]|0);v=v+1|0;if((v|0)==(Ua|0))break;else w=w+Ra|0}A=A+1|0;if((A|0)==(H|0))break;else u=u+Sa|0}}B=I+B|0}else B=u;R=ba*U;if(_){u=0;v=B;while(1){cb=Xa+(u<<2)|0;g[cb>>2]=+g[cb>>2]+R*+(c[v>>2]|0);u=u+1|0;if((u|0)==(Ua|0))break;else v=v+Ra|0}}else{u=0;v=B;while(1){cb=Xa+(u<<2)|0;g[cb>>2]=+g[cb>>2]+R*+(d[v+2>>0]<<16|d[v+3>>0]<<24|d[v+1>>0]<<8|d[v>>0]|0);u=u+1|0;if((u|0)==(Ua|0))break;else v=v+Ra|0}}R=ca*T;w=D+i|0;if(_){u=0;v=w;while(1){cb=Xa+(u<<2)|0;g[cb>>2]=+g[cb>>2]+R*+(c[v>>2]|0);u=u+1|0;if((u|0)==(Ua|0))break;else v=v+Ra|0}}else{u=0;v=w;while(1){cb=Xa+(u<<2)|0;g[cb>>2]=+g[cb>>2]+R*+(d[v+2>>0]<<16|d[v+3>>0]<<24|d[v+1>>0]<<8|d[v>>0]|0);u=u+1|0;if((u|0)==(Ua|0))break;else v=v+Ra|0}}u=w+Sa|0;if(C){A=N(H,Sa)|0;if(_)while(1){v=u;w=0;while(1){cb=Xa+(w<<2)|0;g[cb>>2]=+g[cb>>2]+ca*+(c[v>>2]|0);w=w+1|0;if((w|0)==(Ua|0))break;else v=v+Ra|0}x=x+1|0;if((x|0)==(H|0))break;else u=u+Sa|0}else while(1){v=u;w=0;while(1){cb=Xa+(w<<2)|0;g[cb>>2]=+g[cb>>2]+ca*+(d[v+2>>0]<<16|d[v+3>>0]<<24|d[v+1>>0]<<8|d[v>>0]|0);w=w+1|0;if((w|0)==(Ua|0))break;else v=v+Ra|0}x=x+1|0;if((x|0)==(H|0))break;else u=u+Sa|0}u=K+A|0}R=ca*U;if(_){v=0;while(1){cb=Xa+(v<<2)|0;g[cb>>2]=+g[cb>>2]+R*+(c[u>>2]|0);v=v+1|0;if((v|0)==(Ua|0))break;else u=u+Ra|0}}else{v=0;while(1){cb=Xa+(v<<2)|0;g[cb>>2]=+g[cb>>2]+R*+(d[u+2>>0]<<16|d[u+3>>0]<<24|d[u+1>>0]<<8|d[u>>0]|0);v=v+1|0;if((v|0)==(Ua|0))break;else u=u+Ra|0}}if(!O)break;if(_){A=L;u=B;while(1){v=y+Qa|0;w=u+Qa|0;x=0;while(1){cb=Xa+(x<<2)|0;g[cb>>2]=+g[cb>>2]+(T*+(c[v>>2]|0)+U*+(c[w>>2]|0));x=x+1|0;if((x|0)==(Ua|0))break;else{v=v+Ra|0;w=w+Ra|0}}A=A+1|0;if((A|0)==(ka|0)){La=906;break}else{y=y+$|0;u=u+$|0}}}else{A=L;u=B;while(1){v=y+Qa|0;w=u+Qa|0;x=0;while(1){cb=Xa+(x<<2)|0;Ca=+g[cb>>2]+T*+(d[v+2>>0]<<16|d[v+3>>0]<<24|d[v+1>>0]<<8|d[v>>0]|0);g[cb>>2]=Ca;g[cb>>2]=Ca+U*+(d[w+2>>0]<<16|d[w+3>>0]<<24|d[w+1>>0]<<8|d[w>>0]|0);x=x+1|0;if((x|0)==(Ua|0))break;else{v=v+Ra|0;w=w+Ra|0}}A=A+1|0;if((A|0)==(ka|0)){La=906;break}else{y=y+$|0;u=u+$|0}}}}else{if(Q){T=U-R;S=ba*T;u=Pa+F+V|0;A:do if(_){g[Xa>>2]=S*+(c[u>>2]|0)+0.0;if(ia)break;v=u+Ra|0;g[Z>>2]=S*+(c[v>>2]|0)+0.0;if(ha)break;w=2;do{v=v+Ra|0;g[Xa+(w<<2)>>2]=+g[Xa+(w<<2)>>2]+S*+(c[v>>2]|0);w=w+1|0}while((w|0)!=(Ua|0))}else{w=u;x=0;R=0.0;while(1){g[Xa+(x<<2)>>2]=R+S*+(d[w+2>>0]<<16|d[w+3>>0]<<24|d[w+1>>0]<<8|d[w>>0]|0);v=x+1|0;if((v|0)==(Ua|0))break A;w=w+Ra|0;x=v;R=+g[Xa+(v<<2)>>2]}}while(0);if(O){if(_){x=L;do{u=u+Qa|0;v=u;w=0;while(1){cb=Xa+(w<<2)|0;g[cb>>2]=+g[cb>>2]+T*+(c[v>>2]|0);w=w+1|0;if((w|0)==(Ua|0))break;else v=v+Ra|0}x=x+1|0}while((x|0)!=(ka|0))}else{x=L;do{u=u+Qa|0;v=u;w=0;while(1){cb=Xa+(w<<2)|0;g[cb>>2]=+g[cb>>2]+T*+(d[v+2>>0]<<16|d[v+3>>0]<<24|d[v+1>>0]<<8|d[v>>0]|0);w=w+1|0;if((w|0)==(Ua|0))break;else v=v+Ra|0}x=x+1|0}while((x|0)!=(ka|0))}u=J+F|0}R=ca*T;u=u+Qa|0;if(_){v=0;while(1){cb=Xa+(v<<2)|0;g[cb>>2]=+g[cb>>2]+R*+(c[u>>2]|0);v=v+1|0;if((v|0)==(Ua|0)){La=906;break y}else u=u+Ra|0}}else{v=0;while(1){cb=Xa+(v<<2)|0;g[cb>>2]=+g[cb>>2]+R*+(d[u+2>>0]<<16|d[u+3>>0]<<24|d[u+1>>0]<<8|d[u>>0]|0);v=v+1|0;if((v|0)==(Ua|0)){La=906;break y}else u=u+Ra|0}}}if(!u){S=aa*(U-R);u=Pa+F+V|0;if(!_){w=0;R=0.0;while(1){g[Xa+(w<<2)>>2]=R+S*+(d[u+2>>0]<<16|d[u+3>>0]<<24|d[u+1>>0]<<8|d[u>>0]|0);v=w+1|0;if((v|0)==(Ua|0)){La=906;break y}u=u+Ra|0;w=v;R=+g[Xa+(v<<2)>>2]}}g[Xa>>2]=S*+(c[u>>2]|0)+0.0;if(ia){La=906;break}u=u+Ra|0;g[X>>2]=S*+(c[u>>2]|0)+0.0;if(fa){La=906;break}v=2;while(1){u=u+Ra|0;g[Xa+(v<<2)>>2]=+g[Xa+(v<<2)>>2]+S*+(c[u>>2]|0);v=v+1|0;if((v|0)==(Ua|0)){La=906;break y}}}S=aa*(1.0-R);x=Pa+F+V|0;B:do if(_){g[Xa>>2]=S*+(c[x>>2]|0)+0.0;if(ia)break;u=x+Ra|0;g[Y>>2]=S*+(c[u>>2]|0)+0.0;if(ga)break;v=2;do{u=u+Ra|0;g[Xa+(v<<2)>>2]=+g[Xa+(v<<2)>>2]+S*+(c[u>>2]|0);v=v+1|0}while((v|0)!=(Ua|0))}else{v=0;w=x;R=0.0;while(1){g[Xa+(v<<2)>>2]=R+S*+(d[w+2>>0]<<16|d[w+3>>0]<<24|d[w+1>>0]<<8|d[w>>0]|0);u=v+1|0;if((u|0)==(Ua|0))break B;v=u;w=w+Ra|0;R=+g[Xa+(u<<2)>>2]}}while(0);v=E+1|0;u=x+Sa|0;if((v|0)<(H|0)){y=N(H,Sa)|0;if(_)while(1){w=u;x=0;while(1){cb=Xa+(x<<2)|0;g[cb>>2]=+g[cb>>2]+aa*+(c[w>>2]|0);x=x+1|0;if((x|0)==(Ua|0))break;else w=w+Ra|0}v=v+1|0;if((v|0)==(H|0))break;else u=u+Sa|0}else while(1){w=u;x=0;while(1){cb=Xa+(x<<2)|0;g[cb>>2]=+g[cb>>2]+aa*+(d[w+2>>0]<<16|d[w+3>>0]<<24|d[w+1>>0]<<8|d[w>>0]|0);x=x+1|0;if((x|0)==(Ua|0))break;else w=w+Ra|0}v=v+1|0;if((v|0)==(H|0))break;else u=u+Sa|0}u=I+y|0}R=aa*U;if(_){v=0;while(1){cb=Xa+(v<<2)|0;g[cb>>2]=+g[cb>>2]+R*+(c[u>>2]|0);v=v+1|0;if((v|0)==(Ua|0)){La=906;break}else u=u+Ra|0}}else{v=0;while(1){cb=Xa+(v<<2)|0;g[cb>>2]=+g[cb>>2]+R*+(d[u+2>>0]<<16|d[u+3>>0]<<24|d[u+1>>0]<<8|d[u>>0]|0);v=v+1|0;if((v|0)==(Ua|0)){La=906;break}else u=u+Ra|0}}}while(0);do if((La|0)==906){La=0;if(!O)break;B=E+1|0;if((B|0)>=(H|0))break;y=Pa+F+Sa+M|0;A=L;while(1){if(_){w=B;x=y;while(1){u=x;v=0;while(1){cb=Xa+(v<<2)|0;g[cb>>2]=+g[cb>>2]+ +(c[u>>2]|0);v=v+1|0;if((v|0)==(Ua|0))break;else u=u+Ra|0}w=w+1|0;if((w|0)==(H|0))break;else x=x+Sa|0}}else{w=B;x=y;while(1){u=x;v=0;while(1){cb=Xa+(v<<2)|0;g[cb>>2]=+g[cb>>2]+ +(d[u+2>>0]<<16|d[u+3>>0]<<24|d[u+1>>0]<<8|d[u>>0]|0);v=v+1|0;if((v|0)==(Ua|0))break;else u=u+Ra|0}w=w+1|0;if((w|0)==(H|0))break;else x=x+Sa|0}}A=A+1|0;if((A|0)==(ka|0))break;else y=y+Qa|0}}while(0);v=N(G+P|0,Ua)|0;u=0;do{c[Ma+(u+v<<2)>>2]=~~(+g[Xa+(u<<2)>>2]/na);u=u+1|0}while((u|0)!=(Ua|0));R=ea+U;u=R>1.0;G=G+1|0;if((G|0)==(m|0))break;else{E=H;Ca=U;U=u?R+-1.0:R;H=H+ma+(u&1)|0;R=Ca}}R=da+ca;u=R>1.0;W=W+1|0;if((W|0)==(n|0))break;else{Ca=ca;ca=u?R+-1.0:R;u=(u&1)+la+ka|0;v=ka;R=Ca}}}break l}default:bb(197137,138056,4356,146204)}}else do switch(p|0){case 33634:{do if((m<<1|0)==(i|0)&(n<<1|0)==(k|0)){K=(i|0)==1;J=(k|0)==1;if(!(K|J)){H=(i|0)/2|0;I=(k|0)/2|0;u=N(Ra,i)|0;F=Qa-u|0;do if((k|0)>1){G=Ra<<1;if((i|0)<=1){v=0;u=Pa+(N((Qa<<1)-u|0,I)|0)|0;break}B=H<<1;E=N(B+-2|0,Ra)|0;D=x<<1;D=(N((N(Ua,v+(A<<1)|0)|0)+B-i|0,Ra)|0)+y+(N(I+-1|0,(N(((N(A,Ua)|0)<<1)+B-i|0,Ra)|0)+D|0)|0)+D|0;B=L+4|0;C=L+8|0;u=0;v=0;w=Pa;while(1){x=0;y=w;A=u;while(1){cb=d[y>>0]|0;La=d[y+Ra>>0]|0;Ja=y+Qa|0;Ka=d[Ja>>0]|0;Ja=d[Ja+Ra>>0]|0;g[L>>2]=(+(Ja&7|0)/7.0+(+(Ka&7|0)/7.0+(+(La&7|0)/7.0+(+(cb&7|0)/7.0+0.0))))*.25;g[B>>2]=(+(Ja>>>3&7|0)/7.0+(+(Ka>>>3&7|0)/7.0+(+(La>>>3&7|0)/7.0+(+(cb>>>3&7|0)/7.0+0.0))))*.25;g[C>>2]=(+(Ja>>>6|0)/3.0+(+(Ka>>>6|0)/3.0+(+(La>>>6|0)/3.0+(+(cb>>>6|0)/3.0+0.0))))*.25;LI(L,A,Ma);x=x+1|0;if((x|0)==(H|0))break;else{y=y+G|0;A=A+1|0}}v=v+1|0;if((v|0)==(I|0))break;else{u=u+H|0;w=w+E+G+F+Qa|0}}v=N(I,H)|0;u=t+D|0}else{v=0;u=Pa}while(0);if((u|0)!=(Pa+(N(Qa,k)|0)|0))bb(146458,138056,6577,146303);if((v|0)==(N(I,H)|0))break;bb(146423,138056,6578,146303)}if(K&J)bb(146274,138056,6508,146303);C=(i|0)/2|0;B=(k|0)/2|0;if((i|0)==(k|0))bb(146325,138056,6598,146341);if(!J){if(!K)break;if((k|0)>1){w=Qa<<1;A=B<<1;x=L+4|0;y=L+8|0;u=0;v=Pa;while(1){cb=d[v>>0]|0;La=d[v+Qa>>0]|0;g[L>>2]=(+(La&7|0)/7.0+(+(cb&7|0)/7.0+0.0))*.5;g[x>>2]=(+(La>>>3&7|0)/7.0+(+(cb>>>3&7|0)/7.0+0.0))*.5;g[y>>2]=(+(La>>>6|0)/3.0+(+(cb>>>6|0)/3.0+0.0))*.5;LI(L,u,Ma);u=u+1|0;if((u|0)==(B|0))break;else v=v+w|0}v=B;u=Pa+(N(A,Qa)|0)|0}else{v=0;u=Pa}if((u|0)!=(Pa+(N(Qa,k)|0)|0))bb(146458,138056,6684,146341);if((v|0)==(B|0))break;bb(146423,138056,6685,146341)}if(K)bb(146365,138056,6603,146341);if((i|0)>1){w=Ra<<1;A=C<<1;x=L+4|0;y=L+8|0;u=0;v=Pa;while(1){cb=d[v>>0]|0;La=d[v+Ra>>0]|0;g[L>>2]=(+(La&7|0)/7.0+(+(cb&7|0)/7.0+0.0))*.5;g[x>>2]=(+(La>>>3&7|0)/7.0+(+(cb>>>3&7|0)/7.0+0.0))*.5;g[y>>2]=(+(La>>>6|0)/3.0+(+(cb>>>6|0)/3.0+0.0))*.5;LI(L,u,Ma);u=u+1|0;if((u|0)==(C|0))break;else v=v+w|0}v=C;u=Pa+(N(A,Ra)|0)|0}else{v=0;u=Pa}if((u+(Qa-(N(Ra,i)|0))|0)!=(Pa+Qa|0))bb(146376,138056,6643,146341);if((v|0)==(C|0))break;bb(146423,138056,6644,146341)}else{pa=+(k|0)/+(n|0);ea=+(i|0)/R;Q=~~+z(+pa);na=pa-+(Q|0);V=~~+z(+ea);oa=ea-+(V|0);pa=ea*pa;W=Ya+4|0;X=Ya+8|0;Y=Za+4|0;Z=Za+8|0;t=Xa+4|0;_=Xa+8|0;$=Da+4|0;fa=Da+8|0;ga=Xa+4|0;ha=Xa+8|0;ia=Xa+4|0;ja=Xa+8|0;ka=Xa+4|0;la=Xa+8|0;ma=Xa+4|0;qa=Xa+8|0;O=0;ea=na;R=0.0;P=Q;u=0;while(1){L=(P|0)>(u|0);da=1.0-R;M=N(u,Qa)|0;i=u+1|0;I=N(i,Qa)|0;J=(i|0)<(P|0);K=N(O,m)|0;ca=ea-R;F=N(P,Qa)|0;G=Pa+M|0;H=Pa+(N(P+-1|0,Qa)|0)|0;k=Pa+F|0;D=0;ba=oa;R=0.0;E=V;B=0;while(1){C=N(B,Ra)|0;u=(E|0)>(B|0);c[Xa>>2]=0;c[Xa+4>>2]=0;c[Xa+8>>2]=0;c[Xa+12>>2]=0;do if(L&u){y=Pa+C|0;v=y+M|0;aa=1.0-R;Ba=da*aa;x=d[v>>0]|0;S=+(x&7|0)/7.0;g[Ya>>2]=S;U=+(x>>>3&7|0)/7.0;g[W>>2]=U;R=+(x>>>6|0)/3.0;g[X>>2]=R;S=Ba*S+0.0;g[Xa>>2]=S;U=Ba*U+0.0;g[t>>2]=U;R=Ba*R+0.0;g[_>>2]=R;x=B+1|0;A=(x|0)<(E|0);u=v+Ra|0;if(A){w=x;while(1){cb=d[u>>0]|0;xa=+(cb&7|0)/7.0;g[Ya>>2]=xa;za=+(cb>>>3&7|0)/7.0;g[W>>2]=za;Ba=+(cb>>>6|0)/3.0;g[X>>2]=Ba;S=S+da*xa;g[Xa>>2]=S;U=U+da*za;g[t>>2]=U;R=R+da*Ba;g[_>>2]=R;w=w+1|0;if((w|0)==(E|0))break;else u=u+Ra|0}u=G+(N(E,Ra)|0)|0}xa=da*ba;cb=d[u>>0]|0;za=ea*aa;w=y+F|0;Ka=d[w>>0]|0;T=+(Ka&7|0)/7.0;g[Ya>>2]=T;va=+(Ka>>>3&7|0)/7.0;g[W>>2]=va;Ba=+(Ka>>>6|0)/3.0;g[X>>2]=Ba;T=S+xa*(+(cb&7|0)/7.0)+za*T;g[Xa>>2]=T;S=U+xa*(+(cb>>>3&7|0)/7.0)+za*va;g[t>>2]=S;R=R+xa*(+(cb>>>6|0)/3.0)+za*Ba;g[_>>2]=R;w=w+Ra|0;if(A){while(1){cb=d[w>>0]|0;xa=+(cb&7|0)/7.0;g[Ya>>2]=xa;za=+(cb>>>3&7|0)/7.0;g[W>>2]=za;Ba=+(cb>>>6|0)/3.0;g[X>>2]=Ba;T=T+ea*xa;g[Xa>>2]=T;S=S+ea*za;g[t>>2]=S;R=R+ea*Ba;g[_>>2]=R;x=x+1|0;if((x|0)==(E|0))break;else w=w+Ra|0}w=k+(N(E,Ra)|0)|0}za=ea*ba;cb=d[w>>0]|0;va=+(cb&7|0)/7.0;g[Ya>>2]=va;xa=+(cb>>>3&7|0)/7.0;g[W>>2]=xa;Ba=+(cb>>>6|0)/3.0;g[X>>2]=Ba;T=T+za*va;g[Xa>>2]=T;S=S+za*xa;g[t>>2]=S;R=R+za*Ba;g[_>>2]=R;if(!J){Ca=T;Aa=S;ya=R;break}w=i;do{v=v+Qa|0;u=u+Qa|0;cb=d[v>>0]|0;ua=+(cb&7|0)/7.0;g[Ya>>2]=ua;wa=+(cb>>>3&7|0)/7.0;g[W>>2]=wa;za=+(cb>>>6|0)/3.0;g[X>>2]=za;cb=d[u>>0]|0;va=+(cb&7|0)/7.0;g[Za>>2]=va;xa=+(cb>>>3&7|0)/7.0;g[Y>>2]=xa;Ba=+(cb>>>6|0)/3.0;g[Z>>2]=Ba;T=T+(aa*ua+ba*va);g[Xa>>2]=T;S=S+(aa*wa+ba*xa);g[t>>2]=S;R=R+(aa*za+ba*Ba);g[_>>2]=R;w=w+1|0}while((w|0)!=(P|0));wa=R;ua=S;sa=T;La=1199}else{if(L){U=ba-R;Ba=da*U;u=Pa+C+M|0;cb=d[u>>0]|0;T=+(cb&7|0)/7.0;g[Ya>>2]=T;S=+(cb>>>3&7|0)/7.0;g[W>>2]=S;R=+(cb>>>6|0)/3.0;g[X>>2]=R;T=Ba*T+0.0;g[Xa>>2]=T;S=Ba*S+0.0;g[ga>>2]=S;R=Ba*R+0.0;g[ha>>2]=R;if(J){v=i;do{u=u+Qa|0;cb=d[u>>0]|0;xa=+(cb&7|0)/7.0;g[Ya>>2]=xa;za=+(cb>>>3&7|0)/7.0;g[W>>2]=za;Ba=+(cb>>>6|0)/3.0;g[X>>2]=Ba;T=T+U*xa;g[Xa>>2]=T;S=S+U*za;g[ga>>2]=S;R=R+U*Ba;g[ha>>2]=R;v=v+1|0}while((v|0)!=(P|0));u=H+C|0}Ba=ea*U;La=d[u+Qa>>0]|0;sa=+(La&7|0)/7.0;g[Ya>>2]=sa;ua=+(La>>>3&7|0)/7.0;g[W>>2]=ua;wa=+(La>>>6|0)/3.0;g[X>>2]=wa;sa=T+Ba*sa;g[Xa>>2]=sa;ua=S+Ba*ua;g[ga>>2]=ua;wa=R+Ba*wa;g[ha>>2]=wa;La=1199;break}if(!u){Ba=ca*(ba-R);La=d[Pa+C+M>>0]|0;sa=+(La&7|0)/7.0;g[Ya>>2]=sa;ua=+(La>>>3&7|0)/7.0;g[W>>2]=ua;wa=+(La>>>6|0)/3.0;g[X>>2]=wa;sa=Ba*sa+0.0;g[Xa>>2]=sa;ua=Ba*ua+0.0;g[ma>>2]=ua;wa=Ba*wa+0.0;g[qa>>2]=wa;La=1199;break}Ba=ca*(1.0-R);v=Pa+C+M|0;u=d[v>>0]|0;T=+(u&7|0)/7.0;g[Ya>>2]=T;S=+(u>>>3&7|0)/7.0;g[W>>2]=S;R=+(u>>>6|0)/3.0;g[X>>2]=R;T=Ba*T+0.0;g[Xa>>2]=T;S=Ba*S+0.0;g[ka>>2]=S;R=Ba*R+0.0;g[la>>2]=R;u=B+1|0;v=v+Ra|0;if((u|0)<(E|0)){while(1){cb=d[v>>0]|0;xa=+(cb&7|0)/7.0;g[Ya>>2]=xa;za=+(cb>>>3&7|0)/7.0;g[W>>2]=za;Ba=+(cb>>>6|0)/3.0;g[X>>2]=Ba;T=T+ca*xa;g[Xa>>2]=T;S=S+ca*za;g[ka>>2]=S;R=R+ca*Ba;g[la>>2]=R;u=u+1|0;if((u|0)==(E|0))break;else v=v+Ra|0}v=G+(N(E,Ra)|0)|0}Ba=ca*ba;La=d[v>>0]|0;sa=+(La&7|0)/7.0;g[Ya>>2]=sa;ua=+(La>>>3&7|0)/7.0;g[W>>2]=ua;wa=+(La>>>6|0)/3.0;g[X>>2]=wa;sa=T+Ba*sa;g[Xa>>2]=sa;ua=S+Ba*ua;g[ka>>2]=ua;wa=R+Ba*wa;g[la>>2]=wa;La=1199}while(0);do if((La|0)==1199){La=0;if(!J){Ca=sa;Aa=ua;ya=wa;break}y=B+1|0;if((y|0)>=(E|0)){Ca=sa;Aa=ua;ya=wa;break}u=Pa+C+Ra+I|0;v=i;T=wa;S=ua;R=sa;while(1){w=y;x=u;while(1){cb=d[x>>0]|0;Aa=+(cb&7|0)/7.0;g[Ya>>2]=Aa;Ba=+(cb>>>3&7|0)/7.0;g[W>>2]=Ba;Ca=+(cb>>>6|0)/3.0;g[X>>2]=Ca;R=Aa+R;g[Xa>>2]=R;S=Ba+S;g[ia>>2]=S;T=Ca+T;g[ja>>2]=T;w=w+1|0;if((w|0)==(E|0))break;else x=x+Ra|0}v=v+1|0;if((v|0)==(P|0)){Ca=R;Aa=S;ya=T;break}else u=u+Qa|0}}while(0);g[Da>>2]=Ca/pa;g[$>>2]=Aa/pa;g[fa>>2]=ya/pa;LI(Da,D+K|0,Ma);R=oa+ba;u=R>1.0;D=D+1|0;if((D|0)==(m|0))break;else{B=E;Ba=ba;ba=u?R+-1.0:R;E=E+V+(u&1)|0;R=Ba}}R=na+ea;u=R>1.0;O=O+1|0;if((O|0)==(n|0))break;else{cb=P;Ba=ea;ea=u?R+-1.0:R;P=P+Q+(u&1)|0;u=cb;R=Ba}}}while(0);break l}case 33635:{XQ(3,138,139,i,k,Pa,m,n,Ma,Ra,Qa,B);break l}case 33636:{XQ(3,140,141,i,k,Pa,m,n,Ma,Ra,Qa,B);break l}case 33637:{XQ(4,144,145,i,k,Pa,m,n,Ma,Ra,Qa,B);break l}case 32820:{XQ(4,146,147,i,k,Pa,m,n,Ma,Ra,Qa,B);break l}case 33638:{XQ(4,148,149,i,k,Pa,m,n,Ma,Ra,Qa,B);break l}case 32821:{XQ(4,150,151,i,k,Pa,m,n,Ma,Ra,Qa,B);break l}case 33639:{XQ(4,152,153,i,k,Pa,m,n,Ma,Ra,Qa,B);break l}case 32822:{XQ(4,154,155,i,k,Pa,m,n,Ma,Ra,Qa,B);break l}case 33640:{XQ(4,156,157,i,k,Pa,m,n,Ma,Ra,Qa,B);break l}default:bb(197137,138056,4356,146204)}while(0);while(0);w=N(Sa,m)|0;if(Ta){v=(m|0)<2?1:(m|0)/2|0;u=(n|0)<2?1:(n|0)/2|0;if((v|0)<=0)bb(138046,138056,4944,138170);if((u|0)<=0)bb(138181,138056,4945,138170);C:do switch(p|0){case 32818:case 32819:case 32820:case 32821:case 32822:case 33634:case 33635:case 33636:case 33637:case 33638:case 33639:case 33640:{Oa=1;break}default:{if((o|0)<32992)switch(o|0){case 6407:{Oa=3;break C}case 6410:{La=1226;break}case 6408:{La=1227;break}default:La=1228}else switch(o|0){case 32992:{Oa=3;break C}case 33319:{La=1226;break}case 32993:{La=1227;break}default:La=1228}if((La|0)==1226){Oa=2;break C}else if((La|0)==1227){Oa=4;break C}else if((La|0)==1228){Oa=1;break C}}}while(0);D:do if((p|0)<32820){if((p|0)<5124){switch(p|0){case 5122:case 5123:case 5120:case 5121:break D;default:u=100900}l=ab;return u|0}if((p|0)<5126){switch(p|0){case 5124:case 5125:break D;default:u=100900}l=ab;return u|0}if((p|0)<32818){switch(p|0){case 5126:break D;default:u=100900}l=ab;return u|0}else{switch(p|0){case 32819:case 32818:break D;default:u=100900}l=ab;return u|0}}else{switch(p|0){case 33640:case 32822:case 33639:case 32821:case 33638:case 32820:case 33637:case 33636:case 33635:case 33634:break D;default:u=100900}l=ab;return u|0}while(0);u=GNa(N(N(u,~~(Na*+(v|0))>>>0)|0,Oa)|0)|0;if(!u){ei(3317,c[_a>>2]|0);HNa(Ma);cb=100902;l=ab;return cb|0}else{A=q;y=Ma;x=m;v=n}}else{A=q;y=Ma;x=m;v=n;u=0}}else{if(!((r|0)>(q|0)|(q|0)>(s|0)))li(f|0,q|0,h|0,i|0,k|0,0,o|0,p|0,Pa|0);if(!Ta){ei(3317,c[_a>>2]|0);cb=0;l=ab;return cb|0}L=(i|0)/2|0;K=(k|0)/2|0;P=(i|0)<2?1:L;Q=(k|0)<2?1:K;if((P|0)<=0)bb(138046,138056,4944,138170);if((Q|0)<=0)bb(138181,138056,4945,138170);E:do switch(p|0){case 32818:case 32819:case 32820:case 32821:case 32822:case 33634:case 33635:case 33636:case 33637:case 33638:case 33639:case 33640:{E=1;break}default:{if((o|0)<32992)switch(o|0){case 6407:{E=3;break E}case 6410:{La=95;break}case 6408:{La=96;break}default:La=97}else switch(o|0){case 32992:{E=3;break E}case 33319:{La=95;break}case 32993:{La=96;break}default:La=97}if((La|0)==95){E=2;break E}else if((La|0)==96){E=4;break E}else if((La|0)==97){E=1;break E}}}while(0);M=N(Q,~~(Na*+(P|0))>>>0)|0;F:do if((p|0)<32820){if((p|0)<5124){switch(p|0){case 5122:case 5123:case 5120:case 5121:break F;default:u=100900}l=ab;return u|0}if((p|0)<5126){switch(p|0){case 5124:case 5125:break F;default:u=100900}l=ab;return u|0}if((p|0)<32818){switch(p|0){case 5126:break F;default:u=100900}l=ab;return u|0}else{switch(p|0){case 32819:case 32818:break F;default:u=100900}l=ab;return u|0}}else{switch(p|0){case 33640:case 32822:case 33639:case 32821:case 33638:case 32820:case 33637:case 33636:case 33635:case 33634:break F;default:u=100900}l=ab;return u|0}while(0);O=GNa(N(M,E)|0)|0;if(!O){ei(3317,c[_a>>2]|0);cb=100902;l=ab;return cb|0}G:do if((p|0)<32820){H:do if((p|0)<5124)switch(p|0){case 5121:{FQ(Ua,i,k,Pa,O,Ra,Qa,Sa);break H}case 5120:{GQ(Ua,i,k,Pa,O,Ra,Qa,Sa);break H}case 5123:{HQ(Ua,i,k,Pa,O,Ra,Qa,Sa,B);break H}case 5122:{IQ(Ua,i,k,Pa,O,Ra,Qa,Sa,B);break H}default:bb(197137,138056,4113,146204)}else{if((p|0)<5126)switch(p|0){case 5125:{JQ(Ua,i,k,Pa,O,Ra,Qa,Sa,B);break H}case 5124:{KQ(Ua,i,k,Pa,O,Ra,Qa,Sa,B);break H}default:bb(197137,138056,4113,146204)}if((p|0)<32818)switch(p|0){case 5126:{LQ(Ua,i,k,Pa,O,Ra,Qa,Sa,B);break H}default:bb(197137,138056,4113,146204)}switch(p|0){case 32818:{if((o|0)!=6407)bb(146257,138056,4051,146204);J=(i|0)==1;I=(k|0)==1;if(!(J|I)){u=N(Ra,i)|0;G=Qa-u|0;do if((k|0)>1){H=Ra<<1;if((i|0)<=1){v=0;u=Pa+(N((Qa<<1)-u|0,K)|0)|0;break}C=L<<1;F=N(C+-2|0,Ra)|0;E=x<<1;E=(N((N(Ua,v+(A<<1)|0)|0)+C-i|0,Ra)|0)+y+(N(K+-1|0,(N(((N(A,Ua)|0)<<1)+C-i|0,Ra)|0)+E|0)|0)+E|0;C=Za+4|0;D=Za+8|0;u=0;v=0;x=Pa;while(1){y=0;A=x;B=u;while(1){cb=d[A>>0]|0;n=d[A+Ra>>0]|0;Oa=A+Qa|0;m=d[Oa>>0]|0;Oa=d[Oa+Ra>>0]|0;g[Za>>2]=(+(Oa>>>5|0)/7.0+(+(m>>>5|0)/7.0+(+(n>>>5|0)/7.0+(+(cb>>>5|0)/7.0+0.0))))*.25;g[C>>2]=(+(Oa>>>2&7|0)/7.0+(+(m>>>2&7|0)/7.0+(+(n>>>2&7|0)/7.0+(+(cb>>>2&7|0)/7.0+0.0))))*.25;g[D>>2]=(+(Oa&3|0)/3.0+(+(m&3|0)/3.0+(+(n&3|0)/3.0+(+(cb&3|0)/3.0+0.0))))*.25;KI(Za,B,O);y=y+1|0;if((y|0)==(L|0))break;else{A=A+H|0;B=B+1|0}}v=v+1|0;if((v|0)==(K|0))break;else{u=u+L|0;x=x+F+H+G+Qa|0}}v=N(K,L)|0;u=t+E|0}else{v=0;u=Pa}while(0);if((u|0)!=(Pa+(N(Qa,k)|0)|0))bb(146458,138056,6577,146303);if((v|0)==(N(K,L)|0)){La=200;break G}bb(146423,138056,6578,146303)}if(J&I)bb(146274,138056,6508,146303);if((i|0)==(k|0))bb(146325,138056,6598,146341);if(!I){if(!J){La=198;break G}if((k|0)>1){x=Qa<<1;B=K<<1;y=Ya+4|0;A=Ya+8|0;u=0;v=Pa;while(1){cb=d[v>>0]|0;n=d[v+Qa>>0]|0;g[Ya>>2]=(+(n>>>5|0)/7.0+(+(cb>>>5|0)/7.0+0.0))*.5;g[y>>2]=(+(n>>>2&7|0)/7.0+(+(cb>>>2&7|0)/7.0+0.0))*.5;g[A>>2]=(+(n&3|0)/3.0+(+(cb&3|0)/3.0+0.0))*.5;KI(Ya,u,O);u=u+1|0;if((u|0)==(K|0))break;else v=v+x|0}v=K;u=Pa+(N(B,Qa)|0)|0}else{v=0;u=Pa}if((u|0)!=(Pa+(N(Qa,k)|0)|0))bb(146458,138056,6684,146341);if((v|0)==(K|0)){La=200;break G}bb(146423,138056,6685,146341)}if(J)bb(146365,138056,6603,146341);if((i|0)>1){x=Ra<<1;B=L<<1;y=Xa+4|0;A=Xa+8|0;u=0;v=Pa;while(1){cb=d[v>>0]|0;n=d[v+Ra>>0]|0;g[Xa>>2]=(+(n>>>5|0)/7.0+(+(cb>>>5|0)/7.0+0.0))*.5;g[y>>2]=(+(n>>>2&7|0)/7.0+(+(cb>>>2&7|0)/7.0+0.0))*.5;g[A>>2]=(+(n&3|0)/3.0+(+(cb&3|0)/3.0+0.0))*.5;KI(Xa,u,O);u=u+1|0;if((u|0)==(L|0))break;else v=v+x|0}v=L;u=Pa+(N(B,Ra)|0)|0}else{v=0;u=Pa}if((u+(Qa-(N(Ra,i)|0))|0)!=(Pa+Qa|0))bb(146376,138056,6643,146341);if((v|0)==(L|0)){La=200;break G}bb(146423,138056,6644,146341);break}case 32819:{NQ(4,142,143,i,k,Pa,O,Ra,Qa,B);La=198;break G}default:bb(197137,138056,4113,146204)}}while(0);X=N(Sa,P)|0;La=201}else do switch(p|0){case 33634:{if((o|0)!=6407)bb(146257,138056,4057,146204);J=(i|0)==1;I=(k|0)==1;if(!(J|I)){u=N(Ra,i)|0;G=Qa-u|0;do if((k|0)>1){H=Ra<<1;if((i|0)<=1){v=0;u=Pa+(N((Qa<<1)-u|0,K)|0)|0;break}C=L<<1;F=N(C+-2|0,Ra)|0;E=x<<1;E=(N((N(Ua,v+(A<<1)|0)|0)+C-i|0,Ra)|0)+y+(N(K+-1|0,(N(((N(A,Ua)|0)<<1)+C-i|0,Ra)|0)+E|0)|0)+E|0;C=Za+4|0;D=Za+8|0;u=0;v=0;x=Pa;while(1){y=0;A=x;B=u;while(1){cb=d[A>>0]|0;n=d[A+Ra>>0]|0;Oa=A+Qa|0;m=d[Oa>>0]|0;Oa=d[Oa+Ra>>0]|0;g[Za>>2]=(+(Oa&7|0)/7.0+(+(m&7|0)/7.0+(+(n&7|0)/7.0+(+(cb&7|0)/7.0+0.0))))*.25;g[C>>2]=(+(Oa>>>3&7|0)/7.0+(+(m>>>3&7|0)/7.0+(+(n>>>3&7|0)/7.0+(+(cb>>>3&7|0)/7.0+0.0))))*.25;g[D>>2]=(+(Oa>>>6|0)/3.0+(+(m>>>6|0)/3.0+(+(n>>>6|0)/3.0+(+(cb>>>6|0)/3.0+0.0))))*.25;LI(Za,B,O);y=y+1|0;if((y|0)==(L|0))break;else{A=A+H|0;B=B+1|0}}v=v+1|0;if((v|0)==(K|0))break;else{u=u+L|0;x=x+F+H+G+Qa|0}}v=N(K,L)|0;u=t+E|0}else{v=0;u=Pa}while(0);if((u|0)!=(Pa+(N(Qa,k)|0)|0))bb(146458,138056,6577,146303);if((v|0)==(N(K,L)|0)){La=200;break G}bb(146423,138056,6578,146303)}if(J&I)bb(146274,138056,6508,146303);if((i|0)==(k|0))bb(146325,138056,6598,146341);if(!I){if(!J){La=198;break G}if((k|0)>1){x=Qa<<1;B=K<<1;y=Ya+4|0;A=Ya+8|0;u=0;v=Pa;while(1){cb=d[v>>0]|0;n=d[v+Qa>>0]|0;g[Ya>>2]=(+(n&7|0)/7.0+(+(cb&7|0)/7.0+0.0))*.5;g[y>>2]=(+(n>>>3&7|0)/7.0+(+(cb>>>3&7|0)/7.0+0.0))*.5;g[A>>2]=(+(n>>>6|0)/3.0+(+(cb>>>6|0)/3.0+0.0))*.5;LI(Ya,u,O);u=u+1|0;if((u|0)==(K|0))break;else v=v+x|0}v=K;u=Pa+(N(B,Qa)|0)|0}else{v=0;u=Pa}if((u|0)!=(Pa+(N(Qa,k)|0)|0))bb(146458,138056,6684,146341);if((v|0)==(K|0)){La=200;break G}bb(146423,138056,6685,146341)}if(J)bb(146365,138056,6603,146341);if((i|0)>1){x=Ra<<1;B=L<<1;y=Xa+4|0;A=Xa+8|0;u=0;v=Pa;while(1){cb=d[v>>0]|0;n=d[v+Ra>>0]|0;g[Xa>>2]=(+(n&7|0)/7.0+(+(cb&7|0)/7.0+0.0))*.5;g[y>>2]=(+(n>>>3&7|0)/7.0+(+(cb>>>3&7|0)/7.0+0.0))*.5;g[A>>2]=(+(n>>>6|0)/3.0+(+(cb>>>6|0)/3.0+0.0))*.5;LI(Xa,u,O);u=u+1|0;if((u|0)==(L|0))break;else v=v+x|0}v=L;u=Pa+(N(B,Ra)|0)|0}else{v=0;u=Pa}if((u+(Qa-(N(Ra,i)|0))|0)!=(Pa+Qa|0))bb(146376,138056,6643,146341);if((v|0)==(L|0)){La=200;break G}bb(146423,138056,6644,146341);break}case 33635:{NQ(3,138,139,i,k,Pa,O,Ra,Qa,B);La=198;break G}case 33636:{NQ(3,140,141,i,k,Pa,O,Ra,Qa,B);La=198;break G}case 33637:{NQ(4,144,145,i,k,Pa,O,Ra,Qa,B);La=198;break G}case 32820:{NQ(4,146,147,i,k,Pa,O,Ra,Qa,B);La=198;break G}case 33638:{NQ(4,148,149,i,k,Pa,O,Ra,Qa,B);La=198;break G}case 32821:{NQ(4,150,151,i,k,Pa,O,Ra,Qa,B);La=198;break G}case 33639:{NQ(4,152,153,i,k,Pa,O,Ra,Qa,B);La=198;break G}case 32822:{NQ(4,154,155,i,k,Pa,O,Ra,Qa,B);La=198;break G}case 33640:{NQ(4,156,157,i,k,Pa,O,Ra,Qa,B);La=198;break G}default:bb(197137,138056,4113,146204)}while(0);while(0);if((La|0)==198){V=1;w=N(Sa,P)|0}else if((La|0)==200){u=N(Sa,P)|0;switch(p|0){case 32818:case 32819:case 32820:case 32821:case 32822:case 33634:case 33635:case 33636:case 33637:case 33638:case 33639:case 33640:{V=1;w=u;break}default:{X=u;La=201}}}I:do if((La|0)==201){if((o|0)<32992)switch(o|0){case 6407:{V=3;w=X;break I}case 6410:{La=202;break}case 6408:{La=203;break}default:La=204}else switch(o|0){case 32992:{V=3;w=X;break I}case 33319:{La=202;break}case 32993:{La=203;break}default:La=204}if((La|0)==202){V=2;w=X;break}else if((La|0)==203){V=4;w=X;break}else if((La|0)==204){V=1;w=X;break}}while(0);J:do if((p|0)<32820){if((p|0)<5124){switch(p|0){case 5122:case 5123:case 5120:case 5121:break J;default:u=100900}l=ab;return u|0}if((p|0)<5126){switch(p|0){case 5124:case 5125:break J;default:u=100900}l=ab;return u|0}if((p|0)<32818){switch(p|0){case 5126:break J;default:u=100900}l=ab;return u|0}else{switch(p|0){case 32819:case 32818:break J;default:u=100900}l=ab;return u|0}}else{switch(p|0){case 33640:case 32822:case 33639:case 32821:case 33638:case 32820:case 33637:case 33636:case 33635:case 33634:break J;default:u=100900}l=ab;return u|0}while(0);u=GNa(N(M,V)|0)|0;if(u|0){A=q+1|0;y=O;x=P;v=Q;break}ei(3317,c[_a>>2]|0);HNa(O);cb=100902;l=ab;return cb|0}while(0);if(!((A|0)<(r|0)|(A|0)>(s|0)))li(f|0,A|0,h|0,x|0,v|0,0,o|0,p|0,y|0);K:do if((A|0)<(Ta|0)){L=Ra<<1;M=Za+4|0;O=Za+8|0;P=Za+4|0;Q=Za+8|0;V=Xa+4|0;W=Xa+8|0;X=Ya+4|0;Y=Ya+8|0;Z=Xa+4|0;t=Xa+8|0;_=Ya+4|0;$=Ya+8|0;J=A;K=y;C=x;I=v;L:while(1){i=J;J=J+1|0;M:do if((p|0)<32820){if((p|0)<5124)switch(p|0){case 5121:{FQ(Ua,C,I,K,u,Ra,w,Sa);break M}case 5120:{GQ(Ua,C,I,K,u,Ra,w,Sa);break M}case 5123:{HQ(Ua,C,I,K,u,Ra,w,Sa,0);break M}case 5122:{IQ(Ua,C,I,K,u,Ra,w,Sa,0);break M}default:{La=1328;break L}}if((p|0)<5126)switch(p|0){case 5125:{JQ(Ua,C,I,K,u,Ra,w,Sa,0);break M}case 5124:{KQ(Ua,C,I,K,u,Ra,w,Sa,0);break M}default:{La=1328;break L}}if((p|0)<32818){switch(p|0){case 5126:break;default:{La=1328;break L}}LQ(Ua,C,I,K,u,Ra,w,Sa,0);break}switch(p|0){case 32818:break;case 32819:{NQ(4,142,143,C,I,K,u,Ra,w,0);break M}default:{La=1328;break L}}v=(C|0)==1;x=(I|0)==1;if(!(x|v)){H=(C|0)/2|0;k=(I|0)/2|0;v=N(C,Ra)|0;F=w-v|0;do if((I|0)>1){if((C|0)<=1){x=0;v=K+(N((w<<1)-v|0,k)|0)|0;break}E=N(L,H+-1|0)|0;v=N((H<<1)-C|0,Ra)|0;G=w<<1;G=(N(k+-1|0,v+G|0)|0)+v+G|0;v=0;x=0;y=K;while(1){A=0;B=y;D=v;while(1){cb=d[B>>0]|0;q=d[B+Ra>>0]|0;Pa=B+w|0;Qa=d[Pa>>0]|0;Pa=d[Pa+Ra>>0]|0;g[Za>>2]=(+(Pa>>>5|0)/7.0+(+(Qa>>>5|0)/7.0+(+(q>>>5|0)/7.0+(+(cb>>>5|0)/7.0+0.0))))*.25;g[M>>2]=(+(Pa>>>2&7|0)/7.0+(+(Qa>>>2&7|0)/7.0+(+(q>>>2&7|0)/7.0+(+(cb>>>2&7|0)/7.0+0.0))))*.25;g[O>>2]=(+(Pa&3|0)/3.0+(+(Qa&3|0)/3.0+(+(q&3|0)/3.0+(+(cb&3|0)/3.0+0.0))))*.25;KI(Za,D,u);A=A+1|0;if((A|0)==(H|0))break;else{B=B+L|0;D=D+1|0}}x=x+1|0;if((x|0)==(k|0))break;else{v=v+H|0;y=y+E+L+F+w|0}}x=N(H,k)|0;v=K+G|0}else{x=0;v=K}while(0);if((v|0)!=(K+(N(I,w)|0)|0)){La=1278;break L}if((x|0)==(N(H,k)|0))break;else{La=1280;break L}}if(x&v){La=1246;break L}y=(C|0)/2|0;A=(I|0)/2|0;if((C|0)==(I|0)){La=1248;break L}if(x){if(v){La=1251;break L}if((C|0)>1){v=0;x=K;while(1){cb=d[x>>0]|0;q=d[x+Ra>>0]|0;g[Xa>>2]=(+(q>>>5|0)/7.0+(+(cb>>>5|0)/7.0+0.0))*.5;g[V>>2]=(+(q>>>2&7|0)/7.0+(+(cb>>>2&7|0)/7.0+0.0))*.5;g[W>>2]=(+(q&3|0)/3.0+(+(cb&3|0)/3.0+0.0))*.5;KI(Xa,v,u);v=v+1|0;if((v|0)==(y|0))break;else x=x+L|0}v=y;x=K+(N(L,y)|0)|0}else{v=0;x=K}if((x+(w-(N(C,Ra)|0))|0)!=(K+w|0)){La=1257;break L}if((v|0)==(y|0))break;else{La=1259;break L}}else{if(!v)break;if((I|0)>1){y=w<<1;v=0;x=K;while(1){cb=d[x>>0]|0;q=d[x+w>>0]|0;g[Ya>>2]=(+(q>>>5|0)/7.0+(+(cb>>>5|0)/7.0+0.0))*.5;g[X>>2]=(+(q>>>2&7|0)/7.0+(+(cb>>>2&7|0)/7.0+0.0))*.5;g[Y>>2]=(+(q&3|0)/3.0+(+(cb&3|0)/3.0+0.0))*.5;KI(Ya,v,u);v=v+1|0;if((v|0)==(A|0))break;else x=x+y|0}x=A;v=K+(N(y,A)|0)|0}else{x=0;v=K}if((v|0)!=(K+(N(I,w)|0)|0)){La=1266;break L}if((x|0)==(A|0))break;else{La=1268;break L}}}else do switch(p|0){case 33634:{v=(C|0)==1;x=(I|0)==1;if(!(x|v)){H=(C|0)/2|0;k=(I|0)/2|0;v=N(C,Ra)|0;F=w-v|0;do if((I|0)>1){if((C|0)<=1){x=0;v=K+(N((w<<1)-v|0,k)|0)|0;break}E=N(L,H+-1|0)|0;v=N((H<<1)-C|0,Ra)|0;G=w<<1;G=(N(k+-1|0,v+G|0)|0)+v+G|0;v=0;x=0;y=K;while(1){A=0;B=y;D=v;while(1){cb=d[B>>0]|0;q=d[B+Ra>>0]|0;Pa=B+w|0;Qa=d[Pa>>0]|0;Pa=d[Pa+Ra>>0]|0;g[Za>>2]=(+(Pa&7|0)/7.0+(+(Qa&7|0)/7.0+(+(q&7|0)/7.0+(+(cb&7|0)/7.0+0.0))))*.25;g[P>>2]=(+(Pa>>>3&7|0)/7.0+(+(Qa>>>3&7|0)/7.0+(+(q>>>3&7|0)/7.0+(+(cb>>>3&7|0)/7.0+0.0))))*.25;g[Q>>2]=(+(Pa>>>6|0)/3.0+(+(Qa>>>6|0)/3.0+(+(q>>>6|0)/3.0+(+(cb>>>6|0)/3.0+0.0))))*.25;LI(Za,D,u);A=A+1|0;if((A|0)==(H|0))break;else{B=B+L|0;D=D+1|0}}x=x+1|0;if((x|0)==(k|0))break;else{v=v+H|0;y=y+E+L+F+w|0}}x=N(H,k)|0;v=K+G|0}else{x=0;v=K}while(0);if((v|0)!=(K+(N(I,w)|0)|0)){La=1315;break L}if((x|0)==(N(H,k)|0))break M;else{La=1317;break L}}if(x&v){La=1283;break L}y=(C|0)/2|0;A=(I|0)/2|0;if((C|0)==(I|0)){La=1285;break L}if(x){if(v){La=1288;break L}if((C|0)>1){v=0;x=K;while(1){cb=d[x>>0]|0;q=d[x+Ra>>0]|0;g[Xa>>2]=(+(q&7|0)/7.0+(+(cb&7|0)/7.0+0.0))*.5;g[Z>>2]=(+(q>>>3&7|0)/7.0+(+(cb>>>3&7|0)/7.0+0.0))*.5;g[t>>2]=(+(q>>>6|0)/3.0+(+(cb>>>6|0)/3.0+0.0))*.5;LI(Xa,v,u);v=v+1|0;if((v|0)==(y|0))break;else x=x+L|0}v=y;x=K+(N(L,y)|0)|0}else{v=0;x=K}if((x+(w-(N(C,Ra)|0))|0)!=(K+w|0)){La=1294;break L}if((v|0)==(y|0))break M;else{La=1296;break L}}else{if(!v)break M;if((I|0)>1){y=w<<1;v=0;x=K;while(1){cb=d[x>>0]|0;q=d[x+w>>0]|0;g[Ya>>2]=(+(q&7|0)/7.0+(+(cb&7|0)/7.0+0.0))*.5;g[_>>2]=(+(q>>>3&7|0)/7.0+(+(cb>>>3&7|0)/7.0+0.0))*.5;g[$>>2]=(+(q>>>6|0)/3.0+(+(cb>>>6|0)/3.0+0.0))*.5;LI(Ya,v,u);v=v+1|0;if((v|0)==(A|0))break;else x=x+y|0}x=A;v=K+(N(y,A)|0)|0}else{x=0;v=K}if((v|0)!=(K+(N(I,w)|0)|0)){La=1303;break L}if((x|0)==(A|0))break M;else{La=1305;break L}}}case 33635:{NQ(3,138,139,C,I,K,u,Ra,w,0);break M}case 33636:{NQ(3,140,141,C,I,K,u,Ra,w,0);break M}case 33637:{NQ(4,144,145,C,I,K,u,Ra,w,0);break M}case 32820:{NQ(4,146,147,C,I,K,u,Ra,w,0);break M}case 33638:{NQ(4,148,149,C,I,K,u,Ra,w,0);break M}case 32821:{NQ(4,150,151,C,I,K,u,Ra,w,0);break M}case 33639:{NQ(4,152,153,C,I,K,u,Ra,w,0);break M}case 32822:{NQ(4,154,155,C,I,K,u,Ra,w,0);break M}case 33640:{NQ(4,156,157,C,I,K,u,Ra,w,0);break M}default:{La=1328;break L}}while(0);while(0);if((C|0)>1){C=C>>>1;w=(w|0)/2|0}I=(I|0)>1?(I|0)/2|0:I;$a=c[_a>>2]|0;v=(w|0)%($a|0)|0;if(!v){if((i|0)<(s|0)&(J|0)>=(r|0))li(f|0,J|0,h|0,C|0,I|0,0,o|0,p|0,u|0)}else{A=$a+w-v|0;B=GNa(N(A,I)|0)|0;if(!B){La=1335;break}if((I|0)>0){v=u;x=B;y=0;while(1){x2a(x|0,v|0,w|0)|0;y=y+1|0;if((y|0)==(I|0))break;else{v=v+w|0;x=x+A|0}}}if((i|0)<(s|0)&(J|0)>=(r|0))li(f|0,J|0,h|0,C|0,I|0,0,o|0,p|0,B|0);HNa(B)}if((J|0)>=(Ta|0)){Va=u;Wa=K;break K}else{cb=u;u=K;K=cb}}switch(La|0){case 1246:{bb(146274,138056,6508,146303);break}case 1248:{bb(146325,138056,6598,146341);break}case 1251:{bb(146365,138056,6603,146341);break}case 1257:{bb(146376,138056,6643,146341);break}case 1259:{bb(146423,138056,6644,146341);break}case 1266:{bb(146458,138056,6684,146341);break}case 1268:{bb(146423,138056,6685,146341);break}case 1278:{bb(146458,138056,6577,146303);break}case 1280:{bb(146423,138056,6578,146303);break}case 1283:{bb(146274,138056,6508,146303);break}case 1285:{bb(146325,138056,6598,146341);break}case 1288:{bb(146365,138056,6603,146341);break}case 1294:{bb(146376,138056,6643,146341);break}case 1296:{bb(146423,138056,6644,146341);break}case 1303:{bb(146458,138056,6684,146341);break}case 1305:{bb(146423,138056,6685,146341);break}case 1315:{bb(146458,138056,6577,146303);break}case 1317:{bb(146423,138056,6578,146303);break}case 1328:{bb(197137,138056,4553,146204);break}case 1335:{ei(3317,$a|0);if(u|0)HNa(u);if(!K){cb=100902;l=ab;return cb|0}HNa(K);cb=100902;l=ab;return cb|0}}}else{Va=y;Wa=u}while(0);ei(3317,c[_a>>2]|0);HNa(Va);if(!Wa){cb=0;l=ab;return cb|0}HNa(Wa);cb=0;l=ab;return cb|0}function FQ(b,c,e,f,g,h,i,j){b=b|0;c=c|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;k=(c|0)==1;l=(e|0)==1;if(!(k|l)){y=c>>>1;x=e>>>1;t=i-(N(j,c)|0)|0;if(!x)return;c=(b|0)>0;if(!y)return;w=y+-1|0;e=N(w,j)|0;u=N(h,b)|0;v=N(y,b)|0;w=u+(N(w,u+j|0)|0)|0;k=g;s=0;r=f;while(1){if(c){q=k+v|0;p=0;m=r;while(1){l=0;n=k;k=k+b|0;o=m;while(1){f=o+i|0;a[n>>0]=((d[o>>0]|0)+2+(d[o+j>>0]|0)+(d[f>>0]|0)+(d[f+j>>0]|0)|0)>>>2;l=l+1|0;if((l|0)==(b|0))break;else{n=n+1|0;o=o+h|0}}p=p+1|0;if((p|0)==(y|0)){l=w;k=q;break}else m=m+u+j|0}}else l=e;s=s+1|0;if((s|0)==(x|0))break;else r=r+l+j+t+i|0}return}if(k&l)bb(146274,138056,406,146917);n=c>>>1;t=e>>>1;if((c|0)==(e|0))bb(146325,138056,448,146934);do if(!l)if(k){q=i-j|0;if(!t){n=1;o=0;m=g;k=f}else{if((b|0)<=0){n=1;o=t;m=g;k=f+(N((i<<1)-j|0,t)|0)|0;break}r=N(h,b)|0;s=N((i<<1)+r-j|0,t)|0;l=0;m=g;n=f;while(1){k=0;o=m;p=n;while(1){a[o>>0]=((d[p+i>>0]|0)+(d[p>>0]|0)|0)>>>1;k=k+1|0;if((k|0)==(b|0))break;else{o=o+1|0;p=p+h|0}}l=l+1|0;if((l|0)==(t|0))break;else{m=m+b|0;n=n+r+q+i|0}}n=1;o=t;m=g+(N(t,b)|0)|0;k=f+s|0}}else{o=t;m=g;k=f}else{if(k)bb(146365,138056,451,146934);do if(!n){k=g;l=f}else{if((b|0)<=0){k=g;l=f+(N(n,j)|0)|0;break}r=N(h,b)|0;s=N(r+j|0,n)|0;l=0;m=g;o=f;while(1){k=0;p=m;q=o;while(1){a[p>>0]=((d[q+j>>0]|0)+(d[q>>0]|0)|0)>>>1;k=k+1|0;if((k|0)==(b|0))break;else{p=p+1|0;q=q+h|0}}l=l+1|0;if((l|0)==(n|0))break;else{m=m+b|0;o=o+r+j|0}}k=g+(N(n,b)|0)|0;l=f+s|0}while(0);o=1;m=k;k=l+(i-(N(j,c)|0))|0}while(0);if((k|0)!=(f+(N(i,e)|0)|0))bb(146610,138056,490,146934);if((m|0)==(g+(N(N(N(h,b)|0,o)|0,n)|0)|0))return;else bb(146655,138056,492,146934)}function GQ(b,c,d,e,f,g,h,i){b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;j=(c|0)==1;k=(d|0)==1;if(!(j|k)){w=c>>>1;v=d>>>1;q=h-(N(i,c)|0)|0;if(!v)return;r=(b|0)>0;if(!w)return;d=w+-1|0;s=N(d,i)|0;t=N(g,b)|0;u=N(w,b)|0;d=t+(N(d,t+i|0)|0)|0;j=f;p=0;while(1){if(r){o=j+u|0;n=0;c=e;while(1){k=0;l=j;j=j+b|0;m=c;while(1){f=m+h|0;a[l>>0]=((a[m>>0]|0)+2+(a[m+i>>0]|0)+(a[f>>0]|0)+(a[f+i>>0]|0)|0)/4|0;k=k+1|0;if((k|0)==(b|0))break;else{l=l+1|0;m=m+g|0}}n=n+1|0;if((n|0)==(w|0)){k=d;j=o;break}else c=c+t+i|0}}else k=s;p=p+1|0;if((p|0)==(v|0))break;else e=e+k+i+q+h|0}return}if(j&k)bb(146274,138056,508,146883);o=c>>>1;u=d>>>1;if((c|0)==(d|0))bb(146325,138056,548,146899);if(k){if(j)bb(146365,138056,551,146899);if(o)if((b|0)>0){n=N(g,b)|0;l=0;m=f;while(1){j=0;k=m;c=e;while(1){a[k>>0]=((a[c+i>>0]|0)+(a[c>>0]|0)|0)/2|0;j=j+1|0;if((j|0)==(b|0))break;else{k=k+1|0;c=c+g|0}}l=l+1|0;if((l|0)==(o|0))break;else{m=m+b|0;e=e+n+i|0}}r=o;s=1;t=f+(N(o,b)|0)|0}else{r=o;s=1;t=f}else{r=0;s=1;t=f}}else if(j){o=h-i|0;do if(!u){k=f;j=e}else{if((b|0)<=0){k=f;j=e+(N((h<<1)-i|0,u)|0)|0;break}p=N(g,b)|0;q=N((h<<1)+p-i|0,u)|0;k=0;c=f;l=e;while(1){j=0;m=l;n=c;while(1){a[n>>0]=((a[m+h>>0]|0)+(a[m>>0]|0)|0)/2|0;j=j+1|0;if((j|0)==(b|0))break;else{m=m+g|0;n=n+1|0}}k=k+1|0;if((k|0)==(u|0))break;else{c=c+b|0;l=l+p+o+h|0}}k=f+(N(u,b)|0)|0;j=e+q|0}while(0);if((j|0)==(e+(N(h,d)|0)|0)){r=1;s=u;t=k}else bb(146610,138056,588,146899)}else{r=o;s=u;t=f}if((t|0)==(f+(N(N(N(g,b)|0,s)|0,r)|0)|0))return;else bb(146655,138056,592,146899)}function HQ(a,c,f,g,h,i,j,k,l){a=a|0;c=c|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;var m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;n=(c|0)==1;m=(f|0)==1;if(!(n|m)){A=c>>>1;z=f>>>1;f=j-(N(k,c)|0)|0;m=(z|0)!=0;if(!l){if(!m)return;t=(a|0)>0;if(!A)return;x=A+-1|0;u=N(x,k)|0;v=N(i,a)|0;w=N(A,a)|0;x=v+(N(x,v+k|0)|0)|0;s=0;r=g;m=h;while(1){if(t){q=m+(w<<1)|0;p=0;c=r;while(1){n=0;l=m;m=m+(a<<1)|0;o=c;while(1){h=o+j|0;b[l>>1]=((e[o>>1]|0)+2+(e[o+k>>1]|0)+(e[h>>1]|0)+(e[h+k>>1]|0)|0)>>>2;n=n+1|0;if((n|0)==(a|0))break;else{l=l+2|0;o=o+i|0}}p=p+1|0;if((p|0)==(A|0)){n=x;m=q;break}else c=c+v+k|0}}else n=u;s=s+1|0;if((s|0)==(z|0))break;else r=r+n+k+f+j|0}return}if(!m)return;t=(A|0)==0;u=(a|0)>0;v=N(A,k)|0;w=N(i,a)|0;x=N(w+k|0,A)|0;y=N(A,a)|0;s=0;m=h;n=g;while(1){do if(!t){if(!u){n=n+v|0;break}r=n+x|0;p=0;q=m;while(1){c=0;l=q;q=q+(a<<1)|0;o=n;while(1){B=o+k|0;g=o+j|0;h=g+k|0;b[l>>1]=(((d[o+1>>0]|0)<<8|(d[o>>0]|0))+2+((d[B+1>>0]|0)<<8|(d[B>>0]|0))+((d[g+1>>0]|0)<<8|(d[g>>0]|0))+((d[h+1>>0]|0)<<8|(d[h>>0]|0))|0)/4|0;c=c+1|0;if((c|0)==(a|0))break;else{l=l+2|0;o=o+i|0}}p=p+1|0;if((p|0)==(A|0))break;else n=n+w+k|0}n=r;m=m+(y<<1)|0}while(0);s=s+1|0;if((s|0)==(z|0))break;else n=n+f+j|0}return}if(n&m)bb(146274,138056,608,146845);s=c>>>1;w=f>>>1;if((c|0)==(f|0))bb(146325,138056,665,146863);do if(m){if(n)bb(146365,138056,668,146863);if(s)if((a|0)>0){q=N(a+-1|0,i)|0;r=N(s,a)|0;if(!l){p=h;m=g;c=0;while(1){n=0;l=p;o=m;while(1){b[l>>1]=((e[o+k>>1]|0)+(e[o>>1]|0)|0)>>>1;n=n+1|0;if((n|0)==(a|0))break;else{l=l+2|0;o=o+i|0}}c=c+1|0;if((c|0)==(s|0))break;else{p=p+(a<<1)|0;m=m+q+i+k|0}}x=s;y=1;v=h+(r<<1)|0;break}else{p=h;m=g;c=0;while(1){n=0;l=p;o=m;while(1){B=o+k|0;b[l>>1]=(((d[B+1>>0]|0)<<8|(d[B>>0]|0))+((d[o+1>>0]|0)<<8|(d[o>>0]|0))|0)>>>1;n=n+1|0;if((n|0)==(a|0))break;else{l=l+2|0;o=o+i|0}}c=c+1|0;if((c|0)==(s|0))break;else{p=p+(a<<1)|0;m=m+q+i+k|0}}x=s;y=1;v=h+(r<<1)|0;break}}else{x=s;y=1;v=h}else{x=0;y=1;v=h}}else if(n){q=j-k|0;do if(w){if((a|0)<=0){n=h;m=g+(j<<1)+((N((j<<1)-k|0,w+-1|0)|0)-k)|0;break}r=N(a+-1|0,i)|0;s=N(w,a)|0;u=g+(j<<1)|0;t=N(i,a)|0;t=t+(N(t+(j<<1)-k|0,w+-1|0)|0)-k|0;if(!l){n=0;c=g;l=h;while(1){m=0;o=c;p=l;while(1){b[p>>1]=((e[o+j>>1]|0)+(e[o>>1]|0)|0)>>>1;m=m+1|0;if((m|0)==(a|0))break;else{o=o+i|0;p=p+2|0}}n=n+1|0;if((n|0)==(w|0))break;else{c=c+r+i+q+j|0;l=l+(a<<1)|0}}n=h+(s<<1)|0;m=u+t|0;break}else{n=0;c=g;l=h;while(1){m=0;o=c;p=l;while(1){B=o+j|0;b[p>>1]=(((d[B+1>>0]|0)<<8|(d[B>>0]|0))+((d[o+1>>0]|0)<<8|(d[o>>0]|0))|0)>>>1;m=m+1|0;if((m|0)==(a|0))break;else{o=o+i|0;p=p+2|0}}n=n+1|0;if((n|0)==(w|0))break;else{c=c+r+i+q+j|0;l=l+(a<<1)|0}}n=h+(s<<1)|0;m=u+t|0;break}}else{n=h;m=g}while(0);if((m|0)==(g+(N(j,f)|0)|0)){x=1;y=w;v=n}else bb(146610,138056,725,146863)}else{x=s;y=w;v=h}while(0);if((h+(N(N(N(i,a)|0,y)|0,x)|0)|0)==(v|0))return;else bb(146655,138056,729,146863)}function IQ(a,c,e,f,g,h,i,j,k){a=a|0;c=c|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;m=(c|0)==1;l=(e|0)==1;if(!(m|l)){y=c>>>1;e=e>>>1;x=i-(N(j,c)|0)|0;l=(e|0)!=0;if(!k){if(!l)return;r=(a|0)>0;if(!y)return;v=y+-1|0;s=N(v,j)|0;t=N(h,a)|0;u=N(y,a)|0;v=t+(N(v,t+j|0)|0)|0;l=g;q=0;while(1){if(r){p=l+(u<<1)|0;n=0;o=f;while(1){m=0;c=l;l=l+(a<<1)|0;k=o;while(1){g=k+i|0;b[c>>1]=((b[k>>1]|0)+2+(b[k+j>>1]|0)+(b[g>>1]|0)+(b[g+j>>1]|0)|0)/4|0;m=m+1|0;if((m|0)==(a|0))break;else{c=c+2|0;k=k+h|0}}n=n+1|0;if((n|0)==(y|0)){m=v;l=p;break}else o=o+t+j|0}}else m=s;q=q+1|0;if((q|0)==(e|0))break;else f=f+m+j+x+i|0}return}else{if(!l)return;s=(a|0)>0;if(!y)return;w=y+-1|0;t=N(w,j)|0;u=N(h,a)|0;v=N(y,a)|0;w=u+(N(w,u+j|0)|0)|0;r=0;l=g;q=f;while(1){if(s){p=l+(v<<1)|0;o=0;c=q;while(1){m=0;k=l;l=l+(a<<1)|0;n=c;while(1){z=n+j|0;f=n+i|0;g=f+j|0;b[k>>1]=(((d[n+1>>0]<<8|d[n>>0])<<16>>16)+2+((d[z+1>>0]<<8|d[z>>0])<<16>>16)+((d[f+1>>0]<<8|d[f>>0])<<16>>16)+((d[g+1>>0]<<8|d[g>>0])<<16>>16)|0)/4|0;m=m+1|0;if((m|0)==(a|0))break;else{k=k+2|0;n=n+h|0}}o=o+1|0;if((o|0)==(y|0)){m=w;l=p;break}else c=c+u+j|0}}else m=t;r=r+1|0;if((r|0)==(e|0))break;else q=q+m+j+x+i|0}return}}if(m&l)bb(146274,138056,747,146809);r=c>>>1;v=e>>>1;if((c|0)==(e|0))bb(146325,138056,811,146826);do if(l){if(m)bb(146365,138056,814,146826);if(r)if((a|0)>0){p=N(a+-1|0,h)|0;q=N(r,a)|0;if(!k){o=g;l=f;c=0;while(1){m=0;k=o;n=l;while(1){b[k>>1]=((b[n+j>>1]|0)+(b[n>>1]|0)|0)/2|0;m=m+1|0;if((m|0)==(a|0))break;else{k=k+2|0;n=n+h|0}}c=c+1|0;if((c|0)==(r|0))break;else{o=o+(a<<1)|0;l=l+p+h+j|0}}w=r;x=1;u=g+(q<<1)|0;break}else{o=g;l=f;c=0;while(1){m=0;k=o;n=l;while(1){z=n+j|0;b[k>>1]=(((d[z+1>>0]<<8|d[z>>0])<<16>>16)+((d[n+1>>0]<<8|d[n>>0])<<16>>16)|0)/2|0;m=m+1|0;if((m|0)==(a|0))break;else{k=k+2|0;n=n+h|0}}c=c+1|0;if((c|0)==(r|0))break;else{o=o+(a<<1)|0;l=l+p+h+j|0}}w=r;x=1;u=g+(q<<1)|0;break}}else{w=r;x=1;u=g}else{w=0;x=1;u=g}}else if(m){p=i-j|0;do if(v){if((a|0)<=0){m=g;l=f+(i<<1)+((N((i<<1)-j|0,v+-1|0)|0)-j)|0;break}q=N(a+-1|0,h)|0;r=N(v,a)|0;t=f+(i<<1)|0;s=N(h,a)|0;s=s+(N(s+(i<<1)-j|0,v+-1|0)|0)-j|0;if(!k){m=0;c=f;k=g;while(1){l=0;n=c;o=k;while(1){b[o>>1]=((b[n+i>>1]|0)+(b[n>>1]|0)|0)/2|0;l=l+1|0;if((l|0)==(a|0))break;else{n=n+h|0;o=o+2|0}}m=m+1|0;if((m|0)==(v|0))break;else{c=c+q+h+p+i|0;k=k+(a<<1)|0}}m=g+(r<<1)|0;l=t+s|0;break}else{m=0;c=f;k=g;while(1){l=0;n=c;o=k;while(1){z=n+i|0;b[o>>1]=(((d[z+1>>0]<<8|d[z>>0])<<16>>16)+((d[n+1>>0]<<8|d[n>>0])<<16>>16)|0)/2|0;l=l+1|0;if((l|0)==(a|0))break;else{n=n+h|0;o=o+2|0}}m=m+1|0;if((m|0)==(v|0))break;else{c=c+q+h+p+i|0;k=k+(a<<1)|0}}m=g+(r<<1)|0;l=t+s|0;break}}else{m=g;l=f}while(0);if((l|0)==(f+(N(i,e)|0)|0)){w=1;x=v;u=m}else bb(146610,138056,871,146826)}else{w=r;x=v;u=g}while(0);if((g+(N(N(N(h,a)|0,x)|0,w)|0)|0)==(u|0))return;else bb(146655,138056,875,146826)}function JQ(a,b,e,f,g,h,i,j,k){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;m=(b|0)==1;l=(e|0)==1;if(!(m|l)){y=b>>>1;x=e>>>1;e=i-(N(j,b)|0)|0;l=(x|0)!=0;if(!k){if(!l)return;r=(a|0)>0;if(!y)return;v=y+-1|0;s=N(v,j)|0;t=N(h,a)|0;u=N(y,a)|0;v=t+(N(v,t+j|0)|0)|0;l=g;q=0;while(1){if(r){p=l+(u<<2)|0;n=0;o=f;while(1){m=0;b=l;l=l+(a<<2)|0;k=o;while(1){g=k+i|0;c[b>>2]=~~((+((c[k>>2]|0)>>>0)+ +((c[k+j>>2]|0)>>>0)+ +((c[g>>2]|0)>>>0)+ +((c[g+j>>2]|0)>>>0))*.25+.5)>>>0;m=m+1|0;if((m|0)==(a|0))break;else{b=b+4|0;k=k+h|0}}n=n+1|0;if((n|0)==(y|0)){m=v;l=p;break}else o=o+t+j|0}}else m=s;q=q+1|0;if((q|0)==(x|0))break;else f=f+m+j+e+i|0}return}if(!l)return;r=(y|0)==0;s=(a|0)>0;t=N(y,j)|0;u=N(h,a)|0;v=N(u+j|0,y)|0;w=N(y,a)|0;q=0;l=g;while(1){do if(!r){if(!s){f=f+t|0;break}p=f+v|0;n=0;o=l;while(1){m=0;b=o;o=o+(a<<2)|0;k=f;while(1){A=k+j|0;z=k+i|0;g=z+j|0;c[b>>2]=~~((+(((d[k+2>>0]|0)<<16|(d[k+3>>0]|0)<<24|(d[k+1>>0]|0)<<8|(d[k>>0]|0))>>>0)+ +(((d[A+2>>0]|0)<<16|(d[A+3>>0]|0)<<24|(d[A+1>>0]|0)<<8|(d[A>>0]|0))>>>0)+ +(((d[z+2>>0]|0)<<16|(d[z+3>>0]|0)<<24|(d[z+1>>0]|0)<<8|(d[z>>0]|0))>>>0)+ +(((d[g+2>>0]|0)<<16|(d[g+3>>0]|0)<<24|(d[g+1>>0]|0)<<8|(d[g>>0]|0))>>>0))*.25+.5)>>>0;m=m+1|0;if((m|0)==(a|0))break;else{b=b+4|0;k=k+h|0}}n=n+1|0;if((n|0)==(y|0))break;else f=f+u+j|0}f=p;l=l+(w<<2)|0}while(0);q=q+1|0;if((q|0)==(x|0))break;else f=f+e+i|0}return}if(m&l)bb(146274,138056,893,146775);q=b>>>1;u=e>>>1;if((b|0)==(e|0))bb(146325,138056,957,146791);do if(l){if(m)bb(146365,138056,960,146791);if(q)if((a|0)>0){o=N(a+-1|0,h)|0;p=N(q,a)|0;if(!k){k=0;n=g;while(1){l=0;m=n;b=f;while(1){c[m>>2]=~~((+((c[b>>2]|0)>>>0)+ +((c[b+j>>2]|0)>>>0))*.5)>>>0;l=l+1|0;if((l|0)==(a|0))break;else{m=m+4|0;b=b+h|0}}k=k+1|0;if((k|0)==(q|0))break;else{n=n+(a<<2)|0;f=f+o+h+j|0}}v=q;w=1;t=g+(p<<2)|0;break}else{k=0;n=g;while(1){l=0;m=n;b=f;while(1){A=b+j|0;c[m>>2]=~~((+(((d[b+2>>0]|0)<<16|(d[b+3>>0]|0)<<24|(d[b+1>>0]|0)<<8|(d[b>>0]|0))>>>0)+ +(((d[A+2>>0]|0)<<16|(d[A+3>>0]|0)<<24|(d[A+1>>0]|0)<<8|(d[A>>0]|0))>>>0))*.5)>>>0;l=l+1|0;if((l|0)==(a|0))break;else{m=m+4|0;b=b+h|0}}k=k+1|0;if((k|0)==(q|0))break;else{n=n+(a<<2)|0;f=f+o+h+j|0}}v=q;w=1;t=g+(p<<2)|0;break}}else{v=q;w=1;t=g}else{v=0;w=1;t=g}}else if(m){p=i-j|0;do if(u){if((a|0)<=0){m=g;l=f+(N((i<<1)-j|0,u)|0)|0;break}q=N(a+-1|0,h)|0;r=N(u,a)|0;A=N(h,a)|0;s=i<<1;s=A+(N(A+s-j|0,u+-1|0)|0)+s-j|0;if(!k){m=0;b=f;k=g;while(1){l=0;n=b;o=k;while(1){c[o>>2]=~~((+((c[n>>2]|0)>>>0)+ +((c[n+i>>2]|0)>>>0))*.5)>>>0;l=l+1|0;if((l|0)==(a|0))break;else{n=n+h|0;o=o+4|0}}m=m+1|0;if((m|0)==(u|0))break;else{b=b+q+h+p+i|0;k=k+(a<<2)|0}}m=g+(r<<2)|0;l=f+s|0;break}else{m=0;b=f;k=g;while(1){l=0;n=b;o=k;while(1){A=n+i|0;c[o>>2]=~~((+(((d[n+2>>0]|0)<<16|(d[n+3>>0]|0)<<24|(d[n+1>>0]|0)<<8|(d[n>>0]|0))>>>0)+ +(((d[A+2>>0]|0)<<16|(d[A+3>>0]|0)<<24|(d[A+1>>0]|0)<<8|(d[A>>0]|0))>>>0))*.5)>>>0;l=l+1|0;if((l|0)==(a|0))break;else{n=n+h|0;o=o+4|0}}m=m+1|0;if((m|0)==(u|0))break;else{b=b+q+h+p+i|0;k=k+(a<<2)|0}}m=g+(r<<2)|0;l=f+s|0;break}}else{m=g;l=f}while(0);if((l|0)==(f+(N(i,e)|0)|0)){v=1;w=u;t=m}else bb(146610,138056,1017,146791)}else{v=q;w=u;t=g}while(0);if((g+(N(N(N(h,a)|0,w)|0,v)|0)|0)==(t|0))return;else bb(146655,138056,1021,146791)}function KQ(a,b,e,f,g,h,i,j,k){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;m=(b|0)==1;l=(e|0)==1;if(!(m|l)){y=b>>>1;x=e>>>1;e=i-(N(j,b)|0)|0;l=(x|0)!=0;if(!k){if(!l)return;r=(a|0)>0;if(!y)return;v=y+-1|0;s=N(v,j)|0;t=N(h,a)|0;u=N(y,a)|0;v=t+(N(v,t+j|0)|0)|0;l=g;q=0;while(1){if(r){p=l+(u<<2)|0;n=0;o=f;while(1){m=0;b=l;l=l+(a<<2)|0;k=o;while(1){g=k+i|0;c[b>>2]=~~((+(c[k>>2]|0)+ +(c[k+j>>2]|0)+ +(c[g>>2]|0)+ +(c[g+j>>2]|0))*.25+.5);m=m+1|0;if((m|0)==(a|0))break;else{b=b+4|0;k=k+h|0}}n=n+1|0;if((n|0)==(y|0)){m=v;l=p;break}else o=o+t+j|0}}else m=s;q=q+1|0;if((q|0)==(x|0))break;else f=f+m+j+e+i|0}return}if(!l)return;r=(y|0)==0;s=(a|0)>0;t=N(y,j)|0;u=N(h,a)|0;v=N(u+j|0,y)|0;w=N(y,a)|0;q=0;l=g;while(1){do if(!r){if(!s){f=f+t|0;break}p=f+v|0;n=0;o=l;while(1){m=0;b=o;o=o+(a<<2)|0;k=f;while(1){A=k+j|0;z=k+i|0;g=z+j|0;c[b>>2]=~~((+((d[k+2>>0]|0)<<16|(d[k+3>>0]|0)<<24|(d[k+1>>0]|0)<<8|(d[k>>0]|0)|0)+ +((d[A+2>>0]|0)<<16|(d[A+3>>0]|0)<<24|(d[A+1>>0]|0)<<8|(d[A>>0]|0)|0)+ +((d[z+2>>0]|0)<<16|(d[z+3>>0]|0)<<24|(d[z+1>>0]|0)<<8|(d[z>>0]|0)|0)+ +((d[g+2>>0]|0)<<16|(d[g+3>>0]|0)<<24|(d[g+1>>0]|0)<<8|(d[g>>0]|0)|0))*.25+.5);m=m+1|0;if((m|0)==(a|0))break;else{b=b+4|0;k=k+h|0}}n=n+1|0;if((n|0)==(y|0))break;else f=f+u+j|0}f=p;l=l+(w<<2)|0}while(0);q=q+1|0;if((q|0)==(x|0))break;else f=f+e+i|0}return}if(m&l)bb(146274,138056,1037,146743);q=b>>>1;u=e>>>1;if((b|0)==(e|0))bb(146325,138056,1103,146758);do if(l){if(m)bb(146365,138056,1106,146758);if(q)if((a|0)>0){o=N(a+-1|0,h)|0;p=N(q,a)|0;if(!k){k=0;n=g;while(1){l=0;m=n;b=f;while(1){c[m>>2]=~~((+((c[b>>2]|0)>>>0)+ +((c[b+j>>2]|0)>>>0))*.5);l=l+1|0;if((l|0)==(a|0))break;else{m=m+4|0;b=b+h|0}}k=k+1|0;if((k|0)==(q|0))break;else{n=n+(a<<2)|0;f=f+o+h+j|0}}v=q;w=1;t=g+(p<<2)|0;break}else{k=0;n=g;while(1){l=0;m=n;b=f;while(1){A=b+j|0;c[m>>2]=~~((+(((d[b+2>>0]|0)<<16|(d[b+3>>0]|0)<<24|(d[b+1>>0]|0)<<8|(d[b>>0]|0))>>>0)+ +(((d[A+2>>0]|0)<<16|(d[A+3>>0]|0)<<24|(d[A+1>>0]|0)<<8|(d[A>>0]|0))>>>0))*.5);l=l+1|0;if((l|0)==(a|0))break;else{m=m+4|0;b=b+h|0}}k=k+1|0;if((k|0)==(q|0))break;else{n=n+(a<<2)|0;f=f+o+h+j|0}}v=q;w=1;t=g+(p<<2)|0;break}}else{v=q;w=1;t=g}else{v=0;w=1;t=g}}else if(m){p=i-j|0;do if(u){if((a|0)<=0){m=g;l=f+(N((i<<1)-j|0,u)|0)|0;break}q=N(a+-1|0,h)|0;r=N(u,a)|0;A=N(h,a)|0;s=i<<1;s=A+(N(A+s-j|0,u+-1|0)|0)+s-j|0;if(!k){m=0;b=f;k=g;while(1){l=0;n=b;o=k;while(1){c[o>>2]=~~((+((c[n>>2]|0)>>>0)+ +((c[n+i>>2]|0)>>>0))*.5);l=l+1|0;if((l|0)==(a|0))break;else{n=n+h|0;o=o+4|0}}m=m+1|0;if((m|0)==(u|0))break;else{b=b+q+h+p+i|0;k=k+(a<<2)|0}}m=g+(r<<2)|0;l=f+s|0;break}else{m=0;b=f;k=g;while(1){l=0;n=b;o=k;while(1){A=n+i|0;c[o>>2]=~~((+(((d[n+2>>0]|0)<<16|(d[n+3>>0]|0)<<24|(d[n+1>>0]|0)<<8|(d[n>>0]|0))>>>0)+ +(((d[A+2>>0]|0)<<16|(d[A+3>>0]|0)<<24|(d[A+1>>0]|0)<<8|(d[A>>0]|0))>>>0))*.5);l=l+1|0;if((l|0)==(a|0))break;else{n=n+h|0;o=o+4|0}}m=m+1|0;if((m|0)==(u|0))break;else{b=b+q+h+p+i|0;k=k+(a<<2)|0}}m=g+(r<<2)|0;l=f+s|0;break}}else{m=g;l=f}while(0);if((l|0)==(f+(N(i,e)|0)|0)){v=1;w=u;t=m}else bb(146610,138056,1163,146758)}else{v=q;w=u;t=g}while(0);if((g+(N(N(N(h,a)|0,w)|0,v)|0)|0)==(t|0))return;else bb(146655,138056,1167,146758)}function LQ(a,b,e,f,h,i,k,l,m){a=a|0;b=b|0;e=e|0;f=f|0;h=h|0;i=i|0;k=k|0;l=l|0;m=m|0;var n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0.0;o=(b|0)==1;n=(e|0)==1;if(!(o|n)){B=b>>>1;A=e>>>1;z=k-(N(l,b)|0)|0;n=(A|0)!=0;if(!m){if(!n)return;u=(a|0)>0;if(!B)return;e=B+-1|0;v=N(e,l)|0;w=N(i,a)|0;b=N(B,a)|0;e=w+(N(e,w+l|0)|0)|0;n=h;t=0;while(1){if(u){s=n+(b<<2)|0;q=0;r=f;while(1){o=0;m=n;n=n+(a<<2)|0;p=r;while(1){h=p+k|0;g[m>>2]=(+g[p>>2]+ +g[p+l>>2]+ +g[h>>2]+ +g[h+l>>2])*.25;o=o+1|0;if((o|0)==(a|0))break;else{m=m+4|0;p=p+i|0}}q=q+1|0;if((q|0)==(B|0)){o=e;n=s;break}else r=r+w+l|0}}else o=v;t=t+1|0;if((t|0)==(A|0))break;else f=f+o+l+z+k|0}return}if(!n)return;v=(B|0)==0;w=(a|0)>0;b=N(B,l)|0;e=N(i,a)|0;x=N(e+l|0,B)|0;y=N(B,a)|0;u=0;n=h;o=f;while(1){do if(!v){if(!w){o=o+b|0;break}t=o+x|0;r=0;s=n;while(1){m=0;p=s;s=s+(a<<2)|0;q=o;while(1){h=(d[q+2>>0]|0)<<16|(d[q+3>>0]|0)<<24|(d[q+1>>0]|0)<<8|(d[q>>0]|0);C=(c[j>>2]=h,+g[j>>2]);c[p>>2]=h;h=q+l|0;C=C+(c[j>>2]=(d[h+2>>0]|0)<<16|(d[h+3>>0]|0)<<24|(d[h+1>>0]|0)<<8|(d[h>>0]|0),+g[j>>2]);g[p>>2]=C;h=q+k|0;C=C+(c[j>>2]=(d[h+2>>0]|0)<<16|(d[h+3>>0]|0)<<24|(d[h+1>>0]|0)<<8|(d[h>>0]|0),+g[j>>2]);g[p>>2]=C;h=h+l|0;g[p>>2]=(C+(c[j>>2]=(d[h+2>>0]|0)<<16|(d[h+3>>0]|0)<<24|(d[h+1>>0]|0)<<8|(d[h>>0]|0),+g[j>>2]))*.25;m=m+1|0;if((m|0)==(a|0))break;else{p=p+4|0;q=q+i|0}}r=r+1|0;if((r|0)==(B|0))break;else o=o+e+l|0}o=t;n=n+(y<<2)|0}while(0);u=u+1|0;if((u|0)==(A|0))break;else o=o+z+k|0}return}if(o&n)bb(146274,138056,1185,146574);p=b>>>1;w=e>>>1;if((b|0)==(e|0))bb(146325,138056,1249,146591);do if(!n)if(o){s=k-l|0;if(w){if((a|0)<=0){p=1;q=w;m=h;n=f+(N((k<<1)-l|0,w)|0)|0;break}t=N(a+-1|0,i)|0;v=N(w,a)|0;B=N(i,a)|0;u=k<<1;u=B+(N(B+u-l|0,w+-1|0)|0)+u-l|0;if(!m){o=0;m=f;p=h;while(1){n=0;q=m;r=p;while(1){g[r>>2]=(+g[q>>2]+ +g[q+k>>2])*.5;n=n+1|0;if((n|0)==(a|0))break;else{q=q+i|0;r=r+4|0}}o=o+1|0;if((o|0)==(w|0))break;else{m=m+t+i+s+k|0;p=p+(a<<2)|0}}p=1;q=w;m=h+(v<<2)|0;n=f+u|0;break}else{o=0;m=f;p=h;while(1){n=0;q=m;r=p;while(1){l=q+k|0;g[r>>2]=(+(((d[q+2>>0]|0)<<16|(d[q+3>>0]|0)<<24|(d[q+1>>0]|0)<<8|(d[q>>0]|0))>>>0)+ +(((d[l+2>>0]|0)<<16|(d[l+3>>0]|0)<<24|(d[l+1>>0]|0)<<8|(d[l>>0]|0))>>>0))*.5;n=n+1|0;if((n|0)==(a|0))break;else{q=q+i|0;r=r+4|0}}o=o+1|0;if((o|0)==(w|0))break;else{m=m+t+i+s+k|0;p=p+(a<<2)|0}}p=1;q=w;m=h+(v<<2)|0;n=f+u|0;break}}else{p=1;q=0;m=h;n=f}}else{q=w;m=h;n=f}else{if(o)bb(146365,138056,1252,146591);do if(p){if((a|0)<=0){n=h;o=f+(N(p,l)|0)|0;break}t=N(a+-1|0,i)|0;u=N(p,a)|0;v=N((N(i,a)|0)+l|0,p)|0;if(!m){o=0;m=h;q=f;while(1){n=0;r=m;s=q;while(1){g[r>>2]=(+g[s>>2]+ +g[s+l>>2])*.5;n=n+1|0;if((n|0)==(a|0))break;else{r=r+4|0;s=s+i|0}}o=o+1|0;if((o|0)==(p|0))break;else{m=m+(a<<2)|0;q=q+t+i+l|0}}n=h+(u<<2)|0;o=f+v|0;break}else{o=0;m=h;q=f;while(1){n=0;r=m;s=q;while(1){B=s+l|0;g[r>>2]=(+(((d[s+2>>0]|0)<<16|(d[s+3>>0]|0)<<24|(d[s+1>>0]|0)<<8|(d[s>>0]|0))>>>0)+ +(((d[B+2>>0]|0)<<16|(d[B+3>>0]|0)<<24|(d[B+1>>0]|0)<<8|(d[B>>0]|0))>>>0))*.5;n=n+1|0;if((n|0)==(a|0))break;else{r=r+4|0;s=s+i|0}}o=o+1|0;if((o|0)==(p|0))break;else{m=m+(a<<2)|0;q=q+t+i+l|0}}n=h+(u<<2)|0;o=f+v|0;break}}else{n=h;o=f}while(0);q=1;m=n;n=o+(k-(N(l,b)|0))|0}while(0);if((n|0)!=(f+(N(k,e)|0)|0))bb(146610,138056,1310,146591);if((h+(N(N(N(i,a)|0,q)|0,p)|0)|0)==(m|0))return;else bb(146655,138056,1312,146591)}function MQ(a,c,e){a=a|0;c=c|0;e=e|0;if(!a)a=b[c>>1]|0;else a=((d[c+1>>0]|0)<<8|(d[c>>0]|0))&65535;c=a&65535;g[e>>2]=+(c>>>11|0)/31.0;g[e+4>>2]=+(c>>>5&63|0)/63.0;g[e+8>>2]=+(c&31|0)/31.0;return}function NQ(a,b,c,d,e,f,h,i,j,k){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;h=h|0;i=i|0;j=j|0;k=k|0;var m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0;G=l;l=l+80|0;E=G+64|0;F=G;C=(d|0)==1;D=(e|0)==1;if(!(C|D)){A=(d|0)/2|0;B=(e|0)/2|0;m=N(i,d)|0;u=j-m|0;do if((e|0)>1){v=F+16|0;w=F+32|0;x=F+48|0;y=(a|0)>0;z=i<<1;if((d|0)<=1){z=j<<1;n=0;m=f+((N(B+-1|0,z-m|0)|0)+z-m)|0;break}t=(N(A+-1|0,i)|0)<<1;n=0;s=0;m=f;do{if(y){p=0;q=m;r=n;while(1){Nk[b&255](k,q,F);Nk[b&255](k,q+i|0,v);o=q+j|0;Nk[b&255](k,o,w);Nk[b&255](k,o+i|0,x);o=0;do{g[E+(o<<2)>>2]=(+g[F+48+(o<<2)>>2]+(+g[F+32+(o<<2)>>2]+(+g[F+16+(o<<2)>>2]+(+g[F+(o<<2)>>2]+0.0))))*.25;o=o+1|0}while((o|0)!=(a|0));Nk[c&255](E,r,h);p=p+1|0;if((p|0)==(A|0))break;else{q=q+z|0;r=r+1|0}}}else{o=0;p=m;q=n;while(1){Nk[b&255](k,p,F);Nk[b&255](k,p+i|0,v);r=p+j|0;Nk[b&255](k,r,w);Nk[b&255](k,r+i|0,x);Nk[c&255](E,q,h);o=o+1|0;if((o|0)==(A|0))break;else{p=p+z|0;q=q+1|0}}}n=A+n|0;m=m+t+z+u+j|0;s=s+1|0}while((s|0)!=(B|0))}else{n=0;m=f}while(0);if((m|0)!=(f+(N(j,e)|0)|0))bb(146458,138056,6577,146303);if((n|0)==(N(B,A)|0)){l=G;return}else bb(146423,138056,6578,146303)}if(C&D)bb(146274,138056,6508,146303);s=(d|0)/2|0;t=(e|0)/2|0;if((d|0)==(e|0))bb(146325,138056,6598,146341);if(D){if(C)bb(146365,138056,6603,146341);do if((d|0)>1){p=F+16|0;q=i<<1;r=N(s<<1,i)|0;if((a|0)<=0){m=0;n=f;while(1){Nk[b&255](k,n,F);Nk[b&255](k,n+i|0,p);Nk[c&255](E,m,h);m=m+1|0;if((m|0)==(s|0))break;else n=n+q|0}n=s;m=f+r|0;break}n=0;o=f;while(1){Nk[b&255](k,o,F);Nk[b&255](k,o+i|0,p);m=0;do{g[E+(m<<2)>>2]=(+g[F+16+(m<<2)>>2]+(+g[F+(m<<2)>>2]+0.0))*.5;m=m+1|0}while((m|0)!=(a|0));Nk[c&255](E,n,h);n=n+1|0;if((n|0)==(s|0))break;else o=o+q|0}n=s;m=f+r|0}else{n=0;m=f}while(0);if((m+(j-(N(i,d)|0))|0)!=(f+j|0))bb(146376,138056,6643,146341);if((n|0)==(s|0)){l=G;return}else bb(146423,138056,6644,146341)}else{if(!C){l=G;return}do if((e|0)>1){p=F+16|0;q=j<<1;r=N(t<<1,j)|0;if((a|0)<=0){m=0;n=f;while(1){Nk[b&255](k,n,F);Nk[b&255](k,n+j|0,p);Nk[c&255](E,m,h);m=m+1|0;if((m|0)==(t|0))break;else n=n+q|0}n=t;m=f+r|0;break}n=0;o=f;while(1){Nk[b&255](k,o,F);Nk[b&255](k,o+j|0,p);m=0;do{g[E+(m<<2)>>2]=(+g[F+16+(m<<2)>>2]+(+g[F+(m<<2)>>2]+0.0))*.5;m=m+1|0}while((m|0)!=(a|0));Nk[c&255](E,n,h);n=n+1|0;if((n|0)==(t|0))break;else o=o+q|0}n=t;m=f+r|0}else{n=0;m=f}while(0);if((m|0)!=(f+(N(j,e)|0)|0))bb(146458,138056,6684,146341);if((n|0)==(t|0)){l=G;return}else bb(146423,138056,6685,146341)}}function OQ(a,c,e){a=a|0;c=c|0;e=e|0;if(!a)a=b[c>>1]|0;else a=((d[c+1>>0]|0)<<8|(d[c>>0]|0))&65535;c=a&65535;g[e>>2]=+(c&31|0)/31.0;g[e+4>>2]=+(c>>>5&63|0)/63.0;g[e+8>>2]=+(c>>>11|0)/31.0;return}function PQ(a,c,e){a=a|0;c=c|0;e=e|0;if(!a)a=b[c>>1]|0;else a=((d[c+1>>0]|0)<<8|(d[c>>0]|0))&65535;c=a&65535;g[e>>2]=+(c>>>12|0)/15.0;g[e+4>>2]=+(c>>>8&15|0)/15.0;g[e+8>>2]=+(c>>>4&15|0)/15.0;g[e+12>>2]=+(c&15|0)/15.0;return}function QQ(a,c,e){a=a|0;c=c|0;e=e|0;if(!a)a=b[c>>1]|0;else a=((d[c+1>>0]|0)<<8|(d[c>>0]|0))&65535;c=a&65535;g[e>>2]=+(c&15|0)/15.0;g[e+4>>2]=+(c>>>4&15|0)/15.0;g[e+8>>2]=+(c>>>8&15|0)/15.0;g[e+12>>2]=+(c>>>12|0)/15.0;return}function RQ(a,c,e){a=a|0;c=c|0;e=e|0;if(!a)a=b[c>>1]|0;else a=((d[c+1>>0]|0)<<8|(d[c>>0]|0))&65535;c=a&65535;g[e>>2]=+(c>>>11|0)/31.0;g[e+4>>2]=+(c>>>6&31|0)/31.0;g[e+8>>2]=+(c>>>1&31|0)/31.0;g[e+12>>2]=+(c&1|0);return}function SQ(a,c,e){a=a|0;c=c|0;e=e|0;if(!a)a=b[c>>1]|0;else a=((d[c+1>>0]|0)<<8|(d[c>>0]|0))&65535;c=a&65535;g[e>>2]=+(c&31|0)/31.0;g[e+4>>2]=+(c>>>5&31|0)/31.0;g[e+8>>2]=+(c>>>10&31|0)/31.0;g[e+12>>2]=+(c>>>15|0);return}function TQ(a,b,e){a=a|0;b=b|0;e=e|0;if(!a)a=c[b>>2]|0;else a=(d[b+2>>0]|0)<<16|(d[b+3>>0]|0)<<24|(d[b+1>>0]|0)<<8|(d[b>>0]|0);g[e>>2]=+(a>>>24>>>0)/255.0;g[e+4>>2]=+((a>>>16&255)>>>0)/255.0;g[e+8>>2]=+((a>>>8&255)>>>0)/255.0;g[e+12>>2]=+((a&255)>>>0)/255.0;return}function UQ(a,b,e){a=a|0;b=b|0;e=e|0;if(!a)a=c[b>>2]|0;else a=(d[b+2>>0]|0)<<16|(d[b+3>>0]|0)<<24|(d[b+1>>0]|0)<<8|(d[b>>0]|0);g[e>>2]=+((a&255)>>>0)/255.0;g[e+4>>2]=+((a>>>8&255)>>>0)/255.0;g[e+8>>2]=+((a>>>16&255)>>>0)/255.0;g[e+12>>2]=+(a>>>24>>>0)/255.0;return}function VQ(a,b,e){a=a|0;b=b|0;e=e|0;if(!a)a=c[b>>2]|0;else a=(d[b+2>>0]|0)<<16|(d[b+3>>0]|0)<<24|(d[b+1>>0]|0)<<8|(d[b>>0]|0);g[e>>2]=+(a>>>22>>>0)/1023.0;g[e+4>>2]=+((a>>>12&1023)>>>0)/1023.0;g[e+8>>2]=+((a>>>2&1023)>>>0)/1023.0;g[e+12>>2]=+((a&3)>>>0)/3.0;return}function WQ(a,b,e){a=a|0;b=b|0;e=e|0;if(!a)a=c[b>>2]|0;else a=(d[b+2>>0]|0)<<16|(d[b+3>>0]|0)<<24|(d[b+1>>0]|0)<<8|(d[b>>0]|0);g[e>>2]=+((a&1023)>>>0)/1023.0;g[e+4>>2]=+((a>>>10&1023)>>>0)/1023.0;g[e+8>>2]=+((a>>>20&1023)>>>0)/1023.0;g[e+12>>2]=+(a>>>30>>>0)/3.0;return}function XQ(a,b,d,e,f,h,i,j,k,m,n,o){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;i=i|0;j=j|0;k=k|0;m=m|0;n=n|0;o=o|0;var p=0.0,q=0,r=0,s=0,t=0,u=0,v=0.0,w=0,x=0,y=0,A=0,B=0,C=0.0,D=0,E=0.0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,O=0,P=0.0,Q=0,R=0,S=0.0,T=0,U=0,V=0.0,W=0,X=0.0,Y=0.0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0;ea=l;l=l+64|0;aa=ea+48|0;ba=ea+32|0;ca=ea+16|0;da=ea;if((i<<1|0)==(e|0)&(j<<1|0)==(f|0)){NQ(a,b,d,e,f,h,k,m,n,o);l=ea;return}Y=+(f|0)/+(j|0);S=+(e|0)/+(i|0);U=~~+z(+Y);V=Y-+(U|0);W=~~+z(+S);X=S-+(W|0);Y=S*Y;if((j|0)<=0){l=ea;return}Z=(i|0)>0;_=(a|0)>0;R=0;S=V;p=0.0;T=U;f=0;e=0;$=i+-1|0;while(1){if(Z){O=(T|0)>(f|0);P=1.0-p;Q=N(f,n)|0;J=f+1|0;K=N(J,n)|0;L=(J|0)<(T|0);M=N(R,i)|0;E=S-p;F=N(T,n)|0;G=h+Q|0;H=h+(N(T+-1|0,n)|0)|0;I=h+F|0;B=0;C=X;p=0.0;D=W;y=0;while(1){A=N(y,m)|0;e=(D|0)>(y|0);c[aa>>2]=0;c[aa+4>>2]=0;c[aa+8>>2]=0;c[aa+12>>2]=0;a:do if(O&e){w=h+A|0;f=w+Q|0;v=1.0-p;p=P*v;Nk[b&255](o,f,ba);if(_){e=0;do{u=aa+(e<<2)|0;g[u>>2]=+g[u>>2]+p*+g[ba+(e<<2)>>2];e=e+1|0}while((e|0)!=(a|0))}r=y+1|0;u=(r|0)<(D|0);e=f+m|0;do if(u){t=N(D,m)|0;if(!_){q=r;while(1){Nk[b&255](o,e,ba);q=q+1|0;if((q|0)==(D|0))break;else e=e+m|0}e=G+t|0;break}s=r;while(1){Nk[b&255](o,e,ba);q=0;do{fa=aa+(q<<2)|0;g[fa>>2]=+g[fa>>2]+P*+g[ba+(q<<2)>>2];q=q+1|0}while((q|0)!=(a|0));s=s+1|0;if((s|0)==(D|0))break;else e=e+m|0}e=G+t|0}while(0);p=P*C;Nk[b&255](o,e,ba);if(_){q=0;do{fa=aa+(q<<2)|0;g[fa>>2]=+g[fa>>2]+p*+g[ba+(q<<2)>>2];q=q+1|0}while((q|0)!=(a|0));p=S*v;Nk[b&255](o,w+F|0,ba);if(_){q=0;do{fa=aa+(q<<2)|0;g[fa>>2]=+g[fa>>2]+p*+g[ba+(q<<2)>>2];q=q+1|0}while((q|0)!=(a|0))}}else Nk[b&255](o,w+F|0,ba);q=w+F+m|0;do if(u){t=N(D,m)|0;if(!_){while(1){Nk[b&255](o,q,ba);r=r+1|0;if((r|0)==(D|0))break;else q=q+m|0}q=I+t|0;break}while(1){Nk[b&255](o,q,ba);s=0;do{fa=aa+(s<<2)|0;g[fa>>2]=+g[fa>>2]+S*+g[ba+(s<<2)>>2];s=s+1|0}while((s|0)!=(a|0));r=r+1|0;if((r|0)==(D|0))break;else q=q+m|0}q=I+t|0}while(0);p=S*C;Nk[b&255](o,q,ba);if(_){q=0;do{fa=aa+(q<<2)|0;g[fa>>2]=+g[fa>>2]+p*+g[ba+(q<<2)>>2];q=q+1|0}while((q|0)!=(a|0))}if(L){if(!_){q=J;while(1){f=f+n|0;e=e+n|0;Nk[b&255](o,f,ba);Nk[b&255](o,e,ca);q=q+1|0;if((q|0)==(T|0)){x=86;break a}}}r=J;do{f=f+n|0;e=e+n|0;Nk[b&255](o,f,ba);Nk[b&255](o,e,ca);q=0;do{fa=aa+(q<<2)|0;g[fa>>2]=+g[fa>>2]+(v*+g[ba+(q<<2)>>2]+C*+g[ca+(q<<2)>>2]);q=q+1|0}while((q|0)!=(a|0));r=r+1|0}while((r|0)!=(T|0));x=86}}else{if(O){v=C-p;p=P*v;e=h+A+Q|0;Nk[b&255](o,e,ba);if(_){f=0;do{fa=aa+(f<<2)|0;g[fa>>2]=+g[fa>>2]+p*+g[ba+(f<<2)>>2];f=f+1|0}while((f|0)!=(a|0))}do if(L){if(!_){f=J;do{e=e+n|0;Nk[b&255](o,e,ba);f=f+1|0}while((f|0)!=(T|0));e=H+A|0;break}q=J;do{e=e+n|0;Nk[b&255](o,e,ba);f=0;do{fa=aa+(f<<2)|0;g[fa>>2]=+g[fa>>2]+v*+g[ba+(f<<2)>>2];f=f+1|0}while((f|0)!=(a|0));q=q+1|0}while((q|0)!=(T|0));e=H+A|0}while(0);p=S*v;Nk[b&255](o,e+n|0,ba);if(!_){x=86;break}e=0;while(1){fa=aa+(e<<2)|0;g[fa>>2]=+g[fa>>2]+p*+g[ba+(e<<2)>>2];e=e+1|0;if((e|0)==(a|0)){x=86;break a}}}if(!e){p=E*(C-p);Nk[b&255](o,h+A+Q|0,ba);if(!_){x=86;break}e=0;while(1){fa=aa+(e<<2)|0;g[fa>>2]=+g[fa>>2]+p*+g[ba+(e<<2)>>2];e=e+1|0;if((e|0)==(a|0)){x=86;break a}}}p=E*(1.0-p);q=h+A+Q|0;Nk[b&255](o,q,ba);if(_){e=0;do{fa=aa+(e<<2)|0;g[fa>>2]=+g[fa>>2]+p*+g[ba+(e<<2)>>2];e=e+1|0}while((e|0)!=(a|0))}f=y+1|0;e=q+m|0;do if((f|0)<(D|0)){r=N(D,m)|0;if(!_){while(1){Nk[b&255](o,e,ba);f=f+1|0;if((f|0)==(D|0))break;else e=e+m|0}e=G+r|0;break}q=f;while(1){Nk[b&255](o,e,ba);f=0;do{fa=aa+(f<<2)|0;g[fa>>2]=+g[fa>>2]+E*+g[ba+(f<<2)>>2];f=f+1|0}while((f|0)!=(a|0));q=q+1|0;if((q|0)==(D|0))break;else e=e+m|0}e=G+r|0}while(0);p=E*C;Nk[b&255](o,e,ba);if(_){e=0;do{fa=aa+(e<<2)|0;g[fa>>2]=+g[fa>>2]+p*+g[ba+(e<<2)>>2];e=e+1|0}while((e|0)!=(a|0));x=86}else x=86}while(0);if((x|0)==86?(x=0,L):0){t=y+1|0;u=(t|0)<(D|0);r=h+A+m+K|0;s=J;while(1){b:do if(u){if(!_){e=t;f=r;while(1){Nk[b&255](o,f,ba);e=e+1|0;if((e|0)==(D|0))break b;else f=f+m|0}}f=t;q=r;while(1){Nk[b&255](o,q,ba);e=0;do{fa=aa+(e<<2)|0;g[fa>>2]=+g[ba+(e<<2)>>2]+ +g[fa>>2];e=e+1|0}while((e|0)!=(a|0));f=f+1|0;if((f|0)==(D|0))break;else q=q+m|0}}while(0);s=s+1|0;if((s|0)==(T|0))break;else r=r+n|0}}f=B+M|0;if(_){e=0;do{g[da+(e<<2)>>2]=+g[aa+(e<<2)>>2]/Y;e=e+1|0}while((e|0)!=(a|0))}Nk[d&255](da,f,k);p=X+C;e=p>1.0;B=B+1|0;if((B|0)==(i|0)){e=$;break}else{y=D;v=C;C=e?p+-1.0:p;D=D+W+(e&1)|0;p=v}}}p=V+S;f=p>1.0;R=R+1|0;if((R|0)==(j|0))break;else{fa=T;P=S;S=f?p+-1.0:p;T=T+U+(f&1)|0;$=$+i|0;f=fa;p=P}}if((e|0)==((N(j,i)|0)+-1|0)){l=ea;return}else bb(146512,138056,6490,146549)}function YQ(a,b,d,e,f,g,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,m=0,n=0,o=0,p=0;p=l;l=l+16|0;k=p;a:do if((f|0)>=6407){if((f|0)<6410){switch(f|0){case 6409:case 6408:case 6407:break a;default:i=100900}l=p;return i|0}if((f|0)>=32993){switch(f|0){case 32993:case 33319:break a;default:i=100900}l=p;return i|0}if((f|0)<32992){switch(f|0){case 6410:break a;default:i=100900}l=p;return i|0}else{switch(f|0){case 32992:break a;default:i=100900}l=p;return i|0}}else{switch(f|0){case 6406:case 6405:case 6404:case 6403:case 6402:case 6401:case 6400:break a;default:i=100900}l=p;return i|0}while(0);if((f|0)==6401|(GI(g)|0)<<24>>24==0){h=100900;l=p;return h|0}b:do switch(g|0){case 32818:case 32819:case 32820:case 32821:case 32822:case 33634:case 33635:case 33636:case 33637:case 33638:case 33639:case 33640:{if((f|0)!=6407&((g|0)==33636|((g|0)==32818|(g|1|0)==33635))){h=100904;l=p;return h|0}switch(g|0){case 32819:case 32820:case 32821:case 32822:case 33637:case 33638:case 33639:case 33640:break;default:break b}if((f|0)<32993){switch(f|0){case 6408:break b;default:i=100904}l=p;return i|0}else{switch(f|0){case 32993:break b;default:i=100904}l=p;return i|0}}default:{}}while(0);if((d|0)<1|(e|0)<1){h=100901;l=p;return h|0}ci(3379,k|0);i=1;j=d;c:while(1){switch(j|0){case 1:break c;case 3:{m=10;break c}default:{}}i=i<<1;j=j>>>1}if((m|0)==10)i=i<<2;k=c[k>>2]|0;o=(i|0)>(k|0)?k:i;d:do if(!e)i=-1;else{i=1;j=e;e:while(1){switch(j|0){case 1:break d;case 3:break e;default:{}}i=i<<1;j=j>>>1}i=i<<2}while(0);n=(i|0)>(k|0)?k:i;if(!o)m=-1;else{if(!(o&1)){j=0;k=o;while(1){i=k>>>1;j=j+1|0;if(!(k&2))k=i;else break}}else{j=0;i=o}m=(i|0)==1?j:-1}if(!n)i=-1;else{if(!(n&1)){j=0;k=n;while(1){i=k>>>1;j=j+1|0;if(!(k&2))k=i;else break}}else{j=0;i=n}i=(i|0)==1?j:-1}h=EQ(a,b,d,e,o,n,f,g,0,0,(i|0)>(m|0)?i:m,h)|0;l=p;return h|0}function ZQ(b){b=b|0;if((a[223632]|0)==0?g2a(223632)|0:0)kr(225352);return (c[56338]|0)>=(b|0)|0}function _Q(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=c[d+48>>2]|0;if(e&16|0){e=d+44|0;f=c[e>>2]|0;g=c[d+24>>2]|0;if(f>>>0<g>>>0)c[e>>2]=g;else g=f;e=c[d+20>>2]|0;c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;d=g-e|0;if(d>>>0>4294967279)r0a(b);if(d>>>0<11)a[b+11>>0]=d;else{h=d+16&-16;f=j0a(h)|0;c[b>>2]=f;c[b+8>>2]=h|-2147483648;c[b+4>>2]=d;b=f}if((e|0)!=(g|0)){f=b;while(1){a[f>>0]=a[e>>0]|0;e=e+1|0;if((e|0)==(g|0))break;else f=f+1|0}b=b+d|0}a[b>>0]=0;return}if(!(e&8)){c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;return}e=c[d+8>>2]|0;g=c[d+16>>2]|0;c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;d=g-e|0;if(d>>>0>4294967279)r0a(b);if(d>>>0<11)a[b+11>>0]=d;else{f=d+16&-16;h=j0a(f)|0;c[b>>2]=h;c[b+8>>2]=f|-2147483648;c[b+4>>2]=d;b=h}if((e|0)!=(g|0)){f=b;while(1){a[f>>0]=a[e>>0]|0;e=e+1|0;if((e|0)==(g|0))break;else f=f+1|0}b=b+d|0}a[b>>0]=0;return}function $Q(b){b=b|0;var d=0,e=0,f=0;c[b>>2]=81308;d=b+56|0;c[d>>2]=81328;e=b+4|0;c[e>>2]=68044;f=b+36|0;if((a[f+11>>0]|0)<0)l0a(c[f>>2]|0);oRa(e);kSa(b,81340);iRa(d);return}function aR(b){b=b|0;var d=0,e=0,f=0;c[b>>2]=81308;d=b+56|0;c[d>>2]=81328;e=b+4|0;c[e>>2]=68044;f=b+36|0;if((a[f+11>>0]|0)<0)l0a(c[f>>2]|0);oRa(e);kSa(b,81340);iRa(d);l0a(b);return}function bR(b){b=b|0;var d=0,e=0,f=0;b=b+(c[(c[b>>2]|0)+-12>>2]|0)|0;c[b>>2]=81308;d=b+56|0;c[d>>2]=81328;e=b+4|0;c[e>>2]=68044;f=b+36|0;if((a[f+11>>0]|0)<0)l0a(c[f>>2]|0);oRa(e);kSa(b,81340);iRa(d);return}function cR(b){b=b|0;var d=0,e=0,f=0;b=b+(c[(c[b>>2]|0)+-12>>2]|0)|0;c[b>>2]=81308;d=b+56|0;c[d>>2]=81328;e=b+4|0;c[e>>2]=68044;f=b+36|0;if((a[f+11>>0]|0)<0)l0a(c[f>>2]|0);oRa(e);kSa(b,81340);iRa(d);l0a(b);return}function dR(a,b,c){a=a|0;b=b|0;c=c|0;z0a(It(a+72|0,b)|0,c)|0;return}function eR(b){b=b|0;var d=0,e=0;Tha(b);c[b>>2]=68492;a[b+12>>0]=0;b=b+16|0;d=b;e=d+44|0;do{c[d>>2]=0;d=d+4|0}while((d|0)<(e|0));a[b+44>>0]=0;return}function fR(a,b){a=a|0;b=b|0;c[a+16>>2]=b;return}function gR(a){a=a|0;hia(a);c[a>>2]=68512;c[a+56>>2]=770;c[a+60>>2]=771;c[a+64>>2]=770;c[a+68>>2]=771;return}function hR(a){a=a|0;Tha(a);c[a>>2]=74480;return}function iR(a){a=a|0;var b=0;b=c[a+40>>2]|0;a=c[a+44>>2]|0;if((b|0)==(a|0)){a=1;return a|0}while(1){if((c[b>>2]|0)>>>0<(c[(c[b+16>>2]|0)+48>>2]|0)>>>0){b=0;a=5;break}b=b+20|0;if((b|0)==(a|0)){b=1;a=5;break}}if((a|0)==5)return b|0;return 0}function jR(a,b){a=a|0;b=b|0;b=(c[a+40>>2]|0)+((c[b+36>>2]|0)*20|0)|0;c[b>>2]=(c[b>>2]|0)+1;return}function kR(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;g=l;l=l+16|0;e=g;f=b+40|0;if((c[f>>2]|0)==(d|0)){l=g;return}b=b+36|0;if((c[b>>2]|0)>>>0>d>>>0){if((a[223632]|0)==0?g2a(223632)|0:0)kr(225352);if((c[56338]|0)>2){h=mr(QSa(mr(lr(3)|0,147023,39)|0,d)|0,147063,48)|0;b=QSa(h,c[b>>2]|0)|0;BSa(e,b+(c[(c[b>>2]|0)+-12>>2]|0)|0);h=cUa(e,230580)|0;h=kk[c[(c[h>>2]|0)+28>>2]&511](h,10)|0;dUa(e);VSa(b,h)|0;HSa(b)|0}}c[f>>2]=d;l=g;return}function lR(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;e=a+40|0;d=c[e>>2]|0;if((d|0)==(b|0))return;if(!d)d=0;else{jt(d,c[a+36>>2]|0);d=c[e>>2]|0}if((d|0)!=(b|0)){c[e>>2]=b;if(b|0){b=b+8|0;c[b>>2]=(c[b>>2]|0)+1}if(d|0?(f=d+8|0,b=c[f>>2]|0,c[f>>2]=b-1,(b|0)==1):0)UU(d,1,1)}d=c[e>>2]|0;if(!d)d=0;else d=kt(d,a)|0;c[a+36>>2]=d;return}function mR(a,b,d){a=a|0;b=b|0;d=d|0;a=c[a+4>>2]|0;if(a|0){d=lk[c[(c[a>>2]|0)+92>>2]&127](a,b,d)|0;return d|0}if(!b)b=0;else b=gk[c[(c[b>>2]|0)+32>>2]&1023](b)|0;if(!d){d=0;return d|0}a=gk[c[(c[d>>2]|0)+40>>2]&1023](d)|0;if(!((b|0)!=0&(a|0)!=0)){d=0;return d|0}switch(c[a+16>>2]|0){case 1:{Jk[c[(c[b>>2]|0)+216>>2]&1023](b,a);d=1;return d|0}case 0:{d=1;return d|0}default:{Jk[c[(c[b>>2]|0)+220>>2]&1023](b,a);d=1;return d|0}}return 0}function nR(b,d){b=b|0;d=d|0;var e=0,f=0;c[b>>2]=70260;e=b+28|0;c[e>>2]=0;c[b+4>>2]=c[d+4>>2];c[b+8>>2]=c[d+8>>2];c[b+12>>2]=c[d+12>>2];c[b+16>>2]=c[d+16>>2];c[b+20>>2]=c[d+20>>2];c[b+24>>2]=c[d+24>>2];f=c[d+28>>2]|0;if(f|0){c[e>>2]=f;f=f+8|0;c[f>>2]=(c[f>>2]|0)+1}h[b+32>>3]=+h[d+32>>3];a[b+40>>0]=a[d+40>>0]|0;a[b+41>>0]=a[d+41>>0]|0;c[b+44>>2]=c[d+44>>2];c[b+48>>2]=c[d+48>>2];c[b+52>>2]=c[d+52>>2];c[b+56>>2]=c[d+56>>2];c[b+60>>2]=c[d+60>>2];return}function oR(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;e=a+624|0;d=c[e>>2]|0;if((d|0)==(b|0))return;if(!d)d=0;else{Ew(d,a);d=c[e>>2]|0}if((d|0)!=(b|0)){c[e>>2]=b;if(b|0){b=b+8|0;c[b>>2]=(c[b>>2]|0)+1}if(d|0?(f=d+8|0,b=c[f>>2]|0,c[f>>2]=b-1,(b|0)==1):0)UU(d,1,1)}d=c[e>>2]|0;if(!d)return;f=d+32|0;e=j0a(12)|0;c[e+8>>2]=a;c[e+4>>2]=f;a=c[f>>2]|0;c[e>>2]=a;c[a+4>>2]=e;c[f>>2]=e;f=d+40|0;c[f>>2]=(c[f>>2]|0)+1;return}function pR(a,b){a=a|0;b=b|0;c[a+576>>2]=b;c[a+580>>2]=((b|0)<3&1)+b;return}function qR(a){a=a|0;var b=0,d=0;b=a+120|0;d=c[b>>2]|0;if(d|0)return d|0;d=j0a(160)|0;DY(d);Bw(a,d);d=c[b>>2]|0;return d|0}function rR(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=a+288|0;d=c[g>>2]|0;if((d|0)==(b|0))return;e=a+120|0;f=c[e>>2]|0;if(!f){f=j0a(160)|0;DY(f);Bw(a,f);f=c[e>>2]|0;d=c[g>>2]|0}a=(f|0)!=0;if(a&(d|0)!=0){kia(f,d);d=c[g>>2]|0}if((d|0)!=(b|0)){c[g>>2]=b;if(b|0){b=b+8|0;c[b>>2]=(c[b>>2]|0)+1}if(d|0?(e=d+8|0,b=c[e>>2]|0,c[e>>2]=b-1,(b|0)==1):0)UU(d,1,1)}d=c[g>>2]|0;if(!(a&(d|0)!=0))return;F2(f,d,0);return}function sR(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,i=0;i=a+288|0;g=c[i>>2]|0;if(!g){g=j0a(88)|0;xja(g);rR(a,g);g=c[i>>2]|0;if(!g)return}h[g+56>>3]=+(b|0);h[g+64>>3]=+(d|0);h[g+72>>3]=+(e|0);h[g+80>>3]=+(f|0);return}function tR(a,b,c,d,e){a=a|0;b=+b;c=+c;d=+d;e=+e;var f=0,g=0;f=l;l=l+128|0;g=f;Qra(g);$ra(g,b,c,d,e);h[a+304>>3]=+h[g>>3];h[a+312>>3]=+h[g+8>>3];h[a+320>>3]=+h[g+16>>3];h[a+328>>3]=+h[g+24>>3];h[a+336>>3]=+h[g+32>>3];h[a+344>>3]=+h[g+40>>3];h[a+352>>3]=+h[g+48>>3];h[a+360>>3]=+h[g+56>>3];h[a+368>>3]=+h[g+64>>3];h[a+376>>3]=+h[g+72>>3];h[a+384>>3]=+h[g+80>>3];h[a+392>>3]=+h[g+88>>3];h[a+400>>3]=+h[g+96>>3];h[a+408>>3]=+h[g+104>>3];h[a+416>>3]=+h[g+112>>3];h[a+424>>3]=+h[g+120>>3];l=f;return}function uR(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;return Zra(a+304|0,b,c,d,e,f,g)|0}function vR(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;return _ra(a+304|0,b,c,d,e,f,g)|0}function wR(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return asa(a+304|0,b,c,d,e)|0}function xR(b,d,e,f,g,h,i,j){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0;n=h&1;p=b+584|0;o=b+588|0;h=c[o>>2]|0;do if(h){l=b+588|0;while(1){k=c[h+16>>2]|0;if((k|0)>(d|0)){k=c[h>>2]|0;if(!k){m=5;break}}else{if((k|0)>=(d|0)){m=9;break}l=h+4|0;k=c[l>>2]|0;if(!k){m=8;break}else h=l}l=h;h=k}if((m|0)==5){k=h;l=h;break}else if((m|0)==8){k=h;break}else if((m|0)==9){k=h;break}}else{k=o;l=o}while(0);h=c[l>>2]|0;if(!h){h=j0a(52)|0;c[h+16>>2]=d;m=h+20|0;c[h+44>>2]=0;c[h+48>>2]=0;c[m>>2]=0;c[m+4>>2]=0;c[m+8>>2]=0;c[m+12>>2]=0;c[m+16>>2]=0;a[m+20>>0]=0;c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=k;c[l>>2]=h;k=c[c[p>>2]>>2]|0;if(!k)k=h;else{c[p>>2]=k;k=c[l>>2]|0}fp(c[b+588>>2]|0,k);m=b+592|0;c[m>>2]=(c[m>>2]|0)+1}h=h+28|0;k=c[h>>2]|0;if((k|0)!=(e|0)){c[h>>2]=e;if(e|0){m=e+8|0;c[m>>2]=(c[m>>2]|0)+1}if(k|0?(e=k+8|0,m=c[e>>2]|0,c[e>>2]=m-1,(m|0)==1):0)UU(k,1,1)}h=c[o>>2]|0;do if(h){e=b+588|0;k=h;while(1){l=c[k+16>>2]|0;if((l|0)>(d|0)){l=c[k>>2]|0;if(!l){m=26;break}else{e=k;k=l}}else{if((l|0)>=(d|0)){m=30;break}e=k+4|0;l=c[e>>2]|0;if(!l){m=29;break}else k=l}}if((m|0)==26){l=k;e=k;break}else if((m|0)==29){l=k;break}else if((m|0)==30){l=k;break}}else{l=o;e=o}while(0);k=c[e>>2]|0;if(!k){k=j0a(52)|0;c[k+16>>2]=d;h=k+20|0;c[k+44>>2]=0;c[k+48>>2]=0;c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;c[h+12>>2]=0;c[h+16>>2]=0;a[h+20>>0]=0;c[k>>2]=0;c[k+4>>2]=0;c[k+8>>2]=l;c[e>>2]=k;h=c[c[p>>2]>>2]|0;if(!h)h=k;else{c[p>>2]=h;h=c[e>>2]|0}fp(c[b+588>>2]|0,h);h=b+592|0;c[h>>2]=(c[h>>2]|0)+1;h=c[o>>2]|0}c[k+32>>2]=f;do if(h){e=b+588|0;k=h;while(1){l=c[k+16>>2]|0;if((l|0)>(d|0)){l=c[k>>2]|0;if(!l){m=41;break}else{e=k;k=l}}else{if((l|0)>=(d|0)){m=45;break}e=k+4|0;l=c[e>>2]|0;if(!l){m=44;break}else k=l}}if((m|0)==41){l=k;e=k;break}else if((m|0)==44){l=k;break}else if((m|0)==45){l=k;break}}else{l=o;e=o}while(0);k=c[e>>2]|0;if(!k){k=j0a(52)|0;c[k+16>>2]=d;h=k+20|0;c[k+44>>2]=0;c[k+48>>2]=0;c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;c[h+12>>2]=0;c[h+16>>2]=0;a[h+20>>0]=0;c[k>>2]=0;c[k+4>>2]=0;c[k+8>>2]=l;c[e>>2]=k;h=c[c[p>>2]>>2]|0;if(!h)h=k;else{c[p>>2]=h;h=c[e>>2]|0}fp(c[b+588>>2]|0,h);h=b+592|0;c[h>>2]=(c[h>>2]|0)+1;h=c[o>>2]|0}c[k+36>>2]=g;do if(h){e=b+588|0;k=h;while(1){l=c[k+16>>2]|0;if((l|0)>(d|0)){l=c[k>>2]|0;if(!l){m=56;break}else{e=k;k=l}}else{if((l|0)>=(d|0)){m=60;break}e=k+4|0;l=c[e>>2]|0;if(!l){m=59;break}else k=l}}if((m|0)==56){l=k;e=k;break}else if((m|0)==59){l=k;break}else if((m|0)==60){l=k;break}}else{l=o;e=o}while(0);k=c[e>>2]|0;if(!k){k=j0a(52)|0;c[k+16>>2]=d;h=k+20|0;c[k+44>>2]=0;c[k+48>>2]=0;c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;c[h+12>>2]=0;c[h+16>>2]=0;a[h+20>>0]=0;c[k>>2]=0;c[k+4>>2]=0;c[k+8>>2]=l;c[e>>2]=k;h=c[c[p>>2]>>2]|0;if(!h)h=k;else{c[p>>2]=h;h=c[e>>2]|0}fp(c[b+588>>2]|0,h);h=b+592|0;c[h>>2]=(c[h>>2]|0)+1;h=c[o>>2]|0}a[k+40>>0]=n;do if(h){e=b+588|0;k=h;while(1){l=c[k+16>>2]|0;if((l|0)>(d|0)){l=c[k>>2]|0;if(!l){m=71;break}else{e=k;k=l}}else{if((l|0)>=(d|0)){m=75;break}e=k+4|0;l=c[e>>2]|0;if(!l){m=74;break}else k=l}}if((m|0)==71){l=k;e=k;break}else if((m|0)==74){l=k;break}else if((m|0)==75){l=k;break}}else{l=o;e=o}while(0);k=c[e>>2]|0;if(!k){k=j0a(52)|0;c[k+16>>2]=d;h=k+20|0;c[k+44>>2]=0;c[k+48>>2]=0;c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;c[h+12>>2]=0;c[h+16>>2]=0;a[h+20>>0]=0;c[k>>2]=0;c[k+4>>2]=0;c[k+8>>2]=l;c[e>>2]=k;h=c[c[p>>2]>>2]|0;if(!h)h=k;else{c[p>>2]=h;h=c[e>>2]|0}fp(c[b+588>>2]|0,h);h=b+592|0;c[h>>2]=(c[h>>2]|0)+1;h=c[o>>2]|0}c[k+44>>2]=i;do if(h){l=b+588|0;while(1){k=c[h+16>>2]|0;if((k|0)>(d|0)){k=c[h>>2]|0;if(!k){m=86;break}else{l=h;h=k}}else{if((k|0)>=(d|0)){m=90;break}l=h+4|0;k=c[l>>2]|0;if(!k){m=89;break}else h=k}}if((m|0)==86){e=h;l=h;break}else if((m|0)==89){e=h;break}else if((m|0)==90){e=h;break}}else{e=o;l=o}while(0);h=c[l>>2]|0;if(h|0){b=h;b=b+48|0;c[b>>2]=j;return}k=j0a(52)|0;c[k+16>>2]=d;h=k+20|0;c[k+44>>2]=0;c[k+48>>2]=0;c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;c[h+12>>2]=0;c[h+16>>2]=0;a[h+20>>0]=0;c[k>>2]=0;c[k+4>>2]=0;c[k+8>>2]=e;c[l>>2]=k;h=c[c[p>>2]>>2]|0;if(!h)h=k;else{c[p>>2]=h;h=c[l>>2]|0}fp(c[b+588>>2]|0,h);b=b+592|0;c[b>>2]=(c[b>>2]|0)+1;b=k;b=b+48|0;c[b>>2]=j;return}function yR(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=l;l=l+16|0;e=i+12|0;d=i+8|0;f=i+4|0;g=i;h=a+608|0;if((h|0)!=(b|0)){c[f>>2]=c[b>>2];c[g>>2]=b+4;c[d>>2]=c[f>>2];c[e>>2]=c[g>>2];zR(h,d,e)}d=c[a+620>>2]|0;if(!d){l=i;return}kla(d+12|0,b)|0;l=i;return}function zR(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;o=a+8|0;a:do if(c[o>>2]|0?(m=c[a>>2]|0,n=a+4|0,c[a>>2]=n,c[(c[n>>2]|0)+8>>2]=0,c[n>>2]=0,c[o>>2]=0,e=c[m+4>>2]|0,e=(e|0)==0?m:e,e|0):0){m=a+4|0;f=c[b>>2]|0;while(1){if((f|0)==(c[d>>2]|0))break;j=c[f+16>>2]|0;c[e+16>>2]=j;l=e+8|0;h=c[l>>2]|0;do if(h){g=c[h>>2]|0;if((g|0)==(e|0)){c[h>>2]=0;g=c[h+4>>2]|0;if(!g)break;while(1){h=c[g>>2]|0;if(!h){h=c[g+4>>2]|0;if(!h)break;else g=h}else g=h}h=g;break}else{c[h+4>>2]=0;if(!g)break;while(1){h=c[g>>2]|0;if(!h){h=c[g+4>>2]|0;if(!h)break;else g=h}else g=h}h=g;break}}else h=0;while(0);g=c[n>>2]|0;do if(g){while(1)if(j>>>0<(c[g+16>>2]|0)>>>0){i=c[g>>2]|0;if(!i){k=23;break}else g=i}else{i=c[g+4>>2]|0;if(!i){k=25;break}else g=i}if((k|0)==23){i=g;j=g;break}else if((k|0)==25){i=g;j=g+4|0;break}}else{i=n;j=n}while(0);c[e>>2]=0;c[e+4>>2]=0;c[l>>2]=i;c[j>>2]=e;g=c[c[a>>2]>>2]|0;if(g){c[a>>2]=g;e=c[j>>2]|0}fp(c[m>>2]|0,e);c[o>>2]=(c[o>>2]|0)+1;e=c[f+4>>2]|0;if(!e){e=f+8|0;g=c[e>>2]|0;if((c[g>>2]|0)==(f|0))f=g;else do{l=c[e>>2]|0;e=l+8|0;f=c[e>>2]|0}while((c[f>>2]|0)!=(l|0))}else{while(1){f=c[e>>2]|0;if(!f)break;else e=f}f=e}c[b>>2]=f;if(!h)break a;else e=h}f=c[e+8>>2]|0;if(f){e=f;while(1){f=c[e+8>>2]|0;if(!f)break;else e=f}}vw(a,e)}while(0);e=c[b>>2]|0;j=c[d>>2]|0;if((e|0)==(j|0))return;l=a+4|0;m=a+4|0;i=e;while(1){e=j0a(20)|0;h=c[i+16>>2]|0;c[e+16>>2]=h;f=c[l>>2]|0;do if(f){while(1)if(h>>>0<(c[f+16>>2]|0)>>>0){g=c[f>>2]|0;if(!g){k=48;break}else f=g}else{g=c[f+4>>2]|0;if(!g){k=50;break}else f=g}if((k|0)==48){g=f;h=f;break}else if((k|0)==50){g=f;h=f+4|0;break}}else{g=l;h=l}while(0);c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=g;c[h>>2]=e;f=c[c[a>>2]>>2]|0;if(f){c[a>>2]=f;e=c[h>>2]|0}fp(c[m>>2]|0,e);c[o>>2]=(c[o>>2]|0)+1;e=c[i+4>>2]|0;if(!e){f=i+8|0;e=c[f>>2]|0;if((c[e>>2]|0)!=(i|0))do{d=c[f>>2]|0;f=d+8|0;e=c[f>>2]|0}while((c[e>>2]|0)!=(d|0))}else while(1){f=c[e>>2]|0;if(!f)break;else e=f}c[b>>2]=e;if((e|0)==(j|0))break;else i=e}return}function AR(a){a=a|0;var b=0;if(c[a+620>>2]|0)return;b=j0a(52)|0;BR(b);Dw(a,b);return}function BR(a){a=a|0;var b=0;Uha(a,1);b=a+12|0;bla(b);c[a>>2]=74840;c[b>>2]=74868;c[a+20>>2]=0;c[a+24>>2]=0;c[a+28>>2]=0;xla(a+32|0,0);c[a+44>>2]=0;c[a+48>>2]=0;b=j0a(56)|0;CR(b);DR(a,b);return}function CR(b){b=b|0;var d=0,e=0;Uha(b,1);c[b>>2]=77844;xla(b+12|0,0);e=b+24|0;c[e>>2]=0;d=b+28|0;c[d>>2]=d;c[b+32>>2]=d;c[b+36>>2]=0;c[b+48>>2]=0;c[b+52>>2]=0;c[b+44>>2]=b+48;c[b+40>>2]=d;b=j0a(40)|0;d=b+28|0;Uha(d,1);xla(b+4|0,0);wla(b+16|0);a[b+24>>0]=0;c[b>>2]=81364;c[d>>2]=81388;d=c[e>>2]|0;if((d|0)==(b|0))return;c[e>>2]=b;e=b+36|0;c[e>>2]=(c[e>>2]|0)+1;if(!d)return;b=d+(c[(c[d>>2]|0)+-12>>2]|0)|0;d=b+8|0;e=c[d>>2]|0;c[d>>2]=e-1;if((e|0)!=1)return;UU(b,1,1);return}function DR(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;k=a+32|0;gk[c[(c[k>>2]|0)+8>>2]&1023](k)|0;j=a+44|0;d=c[j>>2]|0;if((d|0)==(b|0)){a=c[k>>2]|0;a=a+12|0;a=c[a>>2]|0;gk[a&1023](k)|0;return}if(d){h=d+44|0;f=d+48|0;i=c[f>>2]|0;if(i){g=f;e=i;do{l=(c[e+16>>2]|0)>>>0<a>>>0;g=l?g:e;e=c[(l?e+4|0:e)>>2]|0}while((e|0)!=0);if((g|0)!=(f|0)?(c[g+16>>2]|0)>>>0<=a>>>0:0){e=c[g+4>>2]|0;if(!e){f=g+8|0;e=c[f>>2]|0;if((c[e>>2]|0)!=(g|0))do{l=c[f>>2]|0;f=l+8|0;e=c[f>>2]|0}while((c[e>>2]|0)!=(l|0))}else while(1){f=c[e>>2]|0;if(!f)break;else e=f}if((c[h>>2]|0)==(g|0))c[h>>2]=e;d=d+52|0;c[d>>2]=(c[d>>2]|0)+-1;Pw(i,g);l0a(g);d=c[j>>2]|0}}}else d=0;if((d|0)!=(b|0)){c[j>>2]=b;if(b|0){l=b+8|0;c[l>>2]=(c[l>>2]|0)+1}if(d|0?(b=d+8|0,l=c[b>>2]|0,c[b>>2]=l-1,(l|0)==1):0)UU(d,1,1)}b=c[j>>2]|0;if(!b){l=c[k>>2]|0;l=l+12|0;l=c[l>>2]|0;gk[l&1023](k)|0;return}h=a;i=b+44|0;e=b+48|0;d=c[e>>2]|0;do if(d){f=b+48|0;while(1){e=c[d+16>>2]|0;if(e>>>0>a>>>0){e=c[d>>2]|0;if(!e){e=29;break}else{f=d;d=e}}else{if(e>>>0>=a>>>0){e=33;break}f=d+4|0;e=c[f>>2]|0;if(!e){e=32;break}else d=e}}if((e|0)==29){g=d;f=d;break}else if((e|0)==32){g=d;break}else if((e|0)==33){g=d;break}}else{g=e;f=e}while(0);if(c[f>>2]|0){l=c[k>>2]|0;l=l+12|0;l=c[l>>2]|0;gk[l&1023](k)|0;return}d=j0a(20)|0;c[d+16>>2]=h;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=g;c[f>>2]=d;e=c[c[i>>2]>>2]|0;if(e){c[i>>2]=e;d=c[f>>2]|0}fp(c[b+48>>2]|0,d);l=b+52|0;c[l>>2]=(c[l>>2]|0)+1;l=c[k>>2]|0;l=l+12|0;l=c[l>>2]|0;gk[l&1023](k)|0;return}function ER(a){a=a|0;hia(a);c[a>>2]=70288;c[a+56>>2]=16843009;return}function FR(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=c[b>>2]|0;c[a>>2]=f;c[a+(c[f+-12>>2]|0)>>2]=c[b+4>>2];c[a+12>>2]=0;b=a+28|0;c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;c[b+12>>2]=0;c[b+16>>2]=0;c[b+20>>2]=0;c[b+24>>2]=0;c[a+4>>2]=d;c[a+8>>2]=-1;c[a+16>>2]=e;c[a+20>>2]=-1;c[a+24>>2]=0;return}function GR(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;w=l;l=l+16|0;q=w+12|0;p=w+8|0;r=w+4|0;s=w;u=a+384|0;v=a+392|0;b=c[v>>2]|0;if(!b){l=w;return}f=c[u>>2]|0;d=c[f+4>>2]|0;if(!d){e=f+8|0;d=c[e>>2]|0;if((c[d>>2]|0)!=(f|0))do{t=c[e>>2]|0;e=t+8|0;d=c[e>>2]|0}while((c[d>>2]|0)!=(t|0))}else while(1){e=c[d>>2]|0;if(!e)break;else d=e}t=a+388|0;if((d|0)!=(t|0)){o=a+388|0;b=d;d=f;while(1){k=b+84|0;a:do if((d|0)!=(b|0)){m=b+72|0;n=b+88|0;while(1){j=d+16|0;if(osa(j,m)|0)break;e=c[n>>2]|0;i=c[k>>2]|0;g=i;if((e|0)==(i|0)){f=0;h=0}else{e=0;i=0;while(1){if(osa(j,g+(i*48|0)+36|0)|0)f=e;else{if(e>>>0<i>>>0){h=c[k>>2]|0;c[h+(e*48|0)>>2]=c[h+(i*48|0)>>2];Xz(h+(e*48|0)+4|0,c[h+(i*48|0)+4>>2]|0,c[h+(i*48|0)+8>>2]|0);c[h+(e*48|0)+16>>2]=c[h+(i*48|0)+16>>2];c[h+(e*48|0)+20>>2]=c[h+(i*48|0)+20>>2];Yz(h+(e*48|0)+24|0,c[h+(i*48|0)+24>>2]|0,c[h+(i*48|0)+28>>2]|0);Zz(h+(e*48|0)+36|0,c[h+(i*48|0)+36>>2]|0,c[h+(i*48|0)+40>>2]|0)}f=e+1|0}i=i+1|0;e=c[n>>2]|0;g=c[k>>2]|0;h=(e-g|0)/48|0;if(i>>>0>=h>>>0)break;else e=f}}if(f>>>0<h>>>0){c[r>>2]=g+(f*48|0);c[s>>2]=e;c[p>>2]=c[r>>2];c[q>>2]=c[s>>2];HR(k,p,q)|0}e=c[d+4>>2]|0;if(!e){e=d+8|0;f=c[e>>2]|0;if((c[f>>2]|0)==(d|0))d=f;else do{j=c[e>>2]|0;e=j+8|0;d=c[e>>2]|0}while((c[d>>2]|0)!=(j|0))}else{d=e;while(1){e=c[d>>2]|0;if(!e)break;else d=e}}if((d|0)==(b|0)){d=b;break a}}d=c[b>>2]|0;if(!d){d=b;do{n=d;d=c[d+8>>2]|0}while((c[d>>2]|0)==(n|0))}else while(1){e=c[d+4>>2]|0;if(!e)break;else d=e}e=c[b+4>>2]|0;if(!e){f=b+8|0;e=c[f>>2]|0;if((c[e>>2]|0)!=(b|0))do{n=c[f>>2]|0;f=n+8|0;e=c[f>>2]|0}while((c[e>>2]|0)!=(n|0))}else while(1){f=c[e>>2]|0;if(!f)break;else e=f}if((c[u>>2]|0)==(b|0))c[u>>2]=e;c[v>>2]=(c[v>>2]|0)+-1;Pw(c[o>>2]|0,b);Gy(b+16|0);l0a(b)}while(0);b=c[d+4>>2]|0;if(!b){e=d+8|0;b=c[e>>2]|0;if((c[b>>2]|0)!=(d|0)){d=e;do{n=c[d>>2]|0;d=n+8|0;b=c[d>>2]|0}while((c[b>>2]|0)!=(n|0))}}else while(1){d=c[b>>2]|0;if(!d)break;else b=d}if((b|0)==(t|0))break;d=c[u>>2]|0}b=c[v>>2]|0}g=c[a+376>>2]|0;if(b>>>0<=g>>>0){l=w;return}b=c[u>>2]|0;if(g){f=0;do{e=b;b=c[e+4>>2]|0;if(!b){d=e+8|0;b=c[d>>2]|0;if((c[b>>2]|0)!=(e|0))do{s=c[d>>2]|0;d=s+8|0;b=c[d>>2]|0}while((c[b>>2]|0)!=(s|0))}else while(1){d=c[b>>2]|0;if(!d)break;else b=d}f=f+1|0}while((f|0)!=(g|0))}if((t|0)==(b|0)){l=w;return}f=a+388|0;while(1){d=c[b+4>>2]|0;if(!d){e=b+8|0;d=c[e>>2]|0;if((c[d>>2]|0)!=(b|0))do{a=c[e>>2]|0;e=a+8|0;d=c[e>>2]|0}while((c[d>>2]|0)!=(a|0))}else while(1){e=c[d>>2]|0;if(!e)break;else d=e}if((c[u>>2]|0)==(b|0))c[u>>2]=d;c[v>>2]=(c[v>>2]|0)+-1;Pw(c[f>>2]|0,b);Gy(b+16|0);l0a(b);if((d|0)==(t|0))break;else b=d}l=w;return}function HR(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;f=c[a>>2]|0;e=c[b>>2]|0;f=f+(((e-f|0)/48|0)*48|0)|0;b=c[d>>2]|0;if((b|0)==(e|0))return f|0;b=f+(((b-e|0)/48|0)*48|0)|0;a=a+4|0;e=c[a>>2]|0;if((b|0)==(e|0))d=f;else{d=f;do{if((b|0)!=(d|0)){c[d>>2]=c[b>>2];Xz(d+4|0,c[b+4>>2]|0,c[b+8>>2]|0);c[d+16>>2]=c[b+16>>2];c[d+20>>2]=c[b+20>>2];Yz(d+24|0,c[b+24>>2]|0,c[b+28>>2]|0);Zz(d+36|0,c[b+36>>2]|0,c[b+40>>2]|0)}b=b+48|0;d=d+48|0}while((b|0)!=(e|0));b=c[a>>2]|0}if((b|0)!=(d|0))do{e=c[b+-12>>2]|0;if(e|0){c[b+-8>>2]=e;l0a(e)}e=c[b+-24>>2]|0;if(e|0){c[b+-20>>2]=e;l0a(e)}e=c[b+-44>>2]|0;if(e|0){c[b+-40>>2]=e;l0a(e)}b=b+-48|0}while((b|0)!=(d|0));c[a>>2]=d;return f|0}function IR(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;e=c[b>>2]|0;c[a>>2]=e;c[a+(c[e+-12>>2]|0)>>2]=c[b+4>>2];c[a+12>>2]=0;b=a+28|0;c[a+4>>2]=0;c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;c[b+12>>2]=0;c[b+16>>2]=0;c[b+20>>2]=0;c[b+24>>2]=0;c[a+8>>2]=-1;c[a+16>>2]=d;c[a+20>>2]=-1;c[a+24>>2]=0;return}function JR(a,b){a=a|0;b=b|0;var d=0,e=0;d=a+92|0;Tha(d);e=a+104|0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[a+116>>2]=2;c[a+120>>2]=0;c[a+12>>2]=0;e=a+28|0;c[a+4>>2]=0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[e+12>>2]=0;c[e+16>>2]=0;c[e+20>>2]=0;c[e+24>>2]=0;c[a+8>>2]=-1;c[a+16>>2]=b;c[a+20>>2]=-1;c[a+24>>2]=0;c[a>>2]=71400;c[d>>2]=71768;c[a+56>>2]=0;c[a+60>>2]=0;c[a+64>>2]=0;g[a+68>>2]=3402823466385288598117041.0e14;g[a+72>>2]=3402823466385288598117041.0e14;g[a+76>>2]=3402823466385288598117041.0e14;g[a+80>>2]=-3402823466385288598117041.0e14;g[a+84>>2]=-3402823466385288598117041.0e14;g[a+88>>2]=-3402823466385288598117041.0e14;return}function KR(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0.0,p=0.0,q=0.0;m=a+4|0;f=c[m>>2]|0;n=c[a>>2]|0;i=(f-n|0)/40|0;d=i+1|0;k=n;if(d>>>0>107374182)g1a(a);l=a+8|0;j=((c[l>>2]|0)-n|0)/40|0;e=j<<1;e=j>>>0<53687091?(e>>>0<d>>>0?d:e):107374182;do if(e)if(e>>>0>107374182){n=db(8)|0;p0a(n,183738);c[n>>2]=110936;hb(n|0,65952,1066)}else{g=j0a(e*40|0)|0;break}else g=0;while(0);d=g+(i*40|0)|0;j=g+(e*40|0)|0;p=+h[b>>3];h[d>>3]=p;q=+h[b+8>>3];h[g+(i*40|0)+8>>3]=q;o=+h[b+16>>3];h[g+(i*40|0)+16>>3]=o;h[g+(i*40|0)+24>>3]=+h[b+24>>3];b=(q>=0.0?2:0)|p>=0.0|(o>=0.0?4:0);c[g+(i*40|0)+32>>2]=b;c[g+(i*40|0)+36>>2]=b^7;g=d+40|0;if((f|0)!=(k|0))while(1){e=d+-40|0;i=f;f=f+-40|0;p=+h[f>>3];h[e>>3]=p;o=+h[i+-32>>3];h[d+-32>>3]=o;q=+h[i+-24>>3];h[d+-24>>3]=q;h[d+-16>>3]=+h[i+-16>>3];i=(o>=0.0?2:0)|p>=0.0|(q>=0.0?4:0);c[d+-8>>2]=i;c[d+-4>>2]=i^7;if((f|0)==(k|0)){d=e;break}else d=e}c[a>>2]=d;c[m>>2]=g;c[l>>2]=j;if(!n)return;l0a(n);return}function LR(){var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0;n=l;l=l+16|0;m=n;gk[c[(c[56408]|0)+8>>2]&1023](225632)|0;b=c[56399]|0;a:do if((b|0)!=225600){e=b;while(1){g=e+20|0;b=c[g>>2]|0;if(!b)break;if(!(c[b+28>>2]|0))break;b=c[e+4>>2]|0;if(!b){d=e+8|0;b=c[d>>2]|0;if((c[b>>2]|0)!=(e|0))do{k=c[d>>2]|0;d=k+8|0;b=c[d>>2]|0}while((c[b>>2]|0)!=(k|0))}else while(1){d=c[b>>2]|0;if(!d)break;else b=d}if((b|0)==225600)break a;else e=b}f=j0a(48)|0;e=e+16|0;b=c[e>>2]|0;d=j0a(16)|0;c[m>>2]=d;c[m+8>>2]=-2147483632;c[m+4>>2]=11;h=d;i=132558;j=h+11|0;do{a[h>>0]=a[i>>0]|0;h=h+1|0;i=i+1|0}while((h|0)<(j|0));a[d+11>>0]=0;Cu(f,m,b);if((a[m+11>>0]|0)<0)l0a(c[m>>2]|0);c[f>>2]=69872;c[f+28>>2]=0;c[f+32>>2]=0;b=f+40|0;c[b>>2]=0;c[f+44>>2]=0;c[f+36>>2]=b;b=c[g>>2]|0;if(((b|0)!=(f|0)?(c[g>>2]=f,k=f+8|0,c[k>>2]=(c[k>>2]|0)+1,b|0):0)?(j=b+8|0,k=c[j>>2]|0,c[j>>2]=k-1,(k|0)==1):0)UU(b,1,1);c[(c[g>>2]|0)+28>>2]=1;if((a[223632]|0)==0?g2a(223632)|0:0)kr(225352);if((c[56338]|0)>3){k=mr(lr(4)|0,147112,54)|0;k=QSa(k,c[e>>2]|0)|0;BSa(m,k+(c[(c[k>>2]|0)+-12>>2]|0)|0);j=cUa(m,230580)|0;j=kk[c[(c[j>>2]|0)+28>>2]&511](j,10)|0;dUa(m);VSa(k,j)|0;HSa(k)|0}m=c[e>>2]|0;k=c[56408]|0;k=k+12|0;k=c[k>>2]|0;gk[k&1023](225632)|0;l=n;return m|0}while(0);k=c[56401]|0;g=j0a(48)|0;b=j0a(16)|0;c[m>>2]=b;c[m+8>>2]=-2147483632;c[m+4>>2]=11;h=b;i=132558;j=h+11|0;do{a[h>>0]=a[i>>0]|0;h=h+1|0;i=i+1|0}while((h|0)<(j|0));a[b+11>>0]=0;Cu(g,m,k);if((a[m+11>>0]|0)<0)l0a(c[m>>2]|0);c[g>>2]=69872;c[g+28>>2]=0;c[g+32>>2]=0;b=g+40|0;c[b>>2]=0;c[g+44>>2]=0;c[g+36>>2]=b;b=c[56400]|0;do if(b){e=225600;while(1){d=c[b+16>>2]|0;if(k>>>0<d>>>0){d=c[b>>2]|0;if(!d){f=31;break}}else{if(d>>>0>=k>>>0){f=35;break}e=b+4|0;d=c[e>>2]|0;if(!d){f=34;break}else b=e}e=b;b=d}if((f|0)==31){d=b;e=b;break}else if((f|0)==34){d=b;break}else if((f|0)==35){d=b;break}}else{d=225600;e=225600}while(0);b=c[e>>2]|0;if(!b){b=j0a(24)|0;c[b+16>>2]=k;c[b+20>>2]=0;c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=d;c[e>>2]=b;d=c[c[56399]>>2]|0;if(!d)d=b;else{c[56399]=d;d=c[e>>2]|0}fp(c[56400]|0,d);c[56401]=(c[56401]|0)+1}b=b+20|0;d=c[b>>2]|0;if(((d|0)!=(g|0)?(c[b>>2]=g,j=g+8|0,c[j>>2]=(c[j>>2]|0)+1,d|0):0)?(i=d+8|0,j=c[i>>2]|0,c[i>>2]=j-1,(j|0)==1):0)UU(d,1,1);b=c[56400]|0;do if(b){e=225600;while(1){d=c[b+16>>2]|0;if(k>>>0<d>>>0){d=c[b>>2]|0;if(!d){f=49;break}}else{if(d>>>0>=k>>>0){f=53;break}e=b+4|0;d=c[e>>2]|0;if(!d){f=52;break}else b=e}e=b;b=d}if((f|0)==49){d=b;e=b;break}else if((f|0)==52){d=b;break}else if((f|0)==53){d=b;break}}else{d=225600;e=225600}while(0);b=c[e>>2]|0;if(!b){b=j0a(24)|0;c[b+16>>2]=k;c[b+20>>2]=0;c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=d;c[e>>2]=b;d=c[c[56399]>>2]|0;if(!d)d=b;else{c[56399]=d;d=c[e>>2]|0}fp(c[56400]|0,d);c[56401]=(c[56401]|0)+1}c[(c[b+20>>2]|0)+28>>2]=1;if((a[223632]|0)==0?g2a(223632)|0:0)kr(225352);if((c[56338]|0)>3){j=QSa(mr(lr(4)|0,147167,53)|0,k)|0;BSa(m,j+(c[(c[j>>2]|0)+-12>>2]|0)|0);i=cUa(m,230580)|0;i=kk[c[(c[i>>2]|0)+28>>2]&511](i,10)|0;dUa(m);VSa(j,i)|0;HSa(j)|0}if((a[223632]|0)==0?g2a(223632)|0:0)kr(225352);if((c[56338]|0)>3){j=QSa(mr(lr(4)|0,147221,44)|0,k+1|0)|0;BSa(m,j+(c[(c[j>>2]|0)+-12>>2]|0)|0);i=cUa(m,230580)|0;i=kk[c[(c[i>>2]|0)+28>>2]&511](i,10)|0;dUa(m);VSa(j,i)|0;HSa(j)|0}vt()|0;c[(c[56383]|0)+84>>2]=k+1;m=k;k=c[56408]|0;k=k+12|0;k=c[k>>2]|0;gk[k&1023](225632)|0;l=n;return m|0}function MR(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;k=l;l=l+16|0;j=k;gk[c[(c[56408]|0)+8>>2]&1023](225632)|0;d=c[56400]|0;do if(d){f=225600;while(1){e=c[d+16>>2]|0;if(e>>>0>b>>>0){e=c[d>>2]|0;if(!e){h=5;break}}else{if(e>>>0>=b>>>0){h=9;break}f=d+4|0;e=c[f>>2]|0;if(!e){h=8;break}else d=f}f=d;d=e}if((h|0)==5){e=d;f=d;break}else if((h|0)==8){e=d;break}else if((h|0)==9){e=d;break}}else{e=225600;f=225600}while(0);d=c[f>>2]|0;if(!d){d=j0a(24)|0;c[d+16>>2]=b;c[d+20>>2]=0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=e;c[f>>2]=d;e=c[c[56399]>>2]|0;if(!e)e=d;else{c[56399]=e;e=c[f>>2]|0}fp(c[56400]|0,e);c[56401]=(c[56401]|0)+1}if(!(c[d+20>>2]|0)){i=j0a(48)|0;d=j0a(16)|0;c[j>>2]=d;c[j+8>>2]=-2147483632;c[j+4>>2]=11;e=d;f=132558;g=e+11|0;do{a[e>>0]=a[f>>0]|0;e=e+1|0;f=f+1|0}while((e|0)<(g|0));a[d+11>>0]=0;Cu(i,j,b);if((a[j+11>>0]|0)<0)l0a(c[j>>2]|0);c[i>>2]=69872;c[i+28>>2]=0;c[i+32>>2]=0;d=i+40|0;c[d>>2]=0;c[i+44>>2]=0;c[i+36>>2]=d;d=c[56400]|0;do if(d){f=225600;while(1){e=c[d+16>>2]|0;if(e>>>0>b>>>0){e=c[d>>2]|0;if(!e){h=22;break}}else{if(e>>>0>=b>>>0){h=26;break}f=d+4|0;e=c[f>>2]|0;if(!e){h=25;break}else d=f}f=d;d=e}if((h|0)==22){e=d;f=d;break}else if((h|0)==25){e=d;break}else if((h|0)==26){e=d;break}}else{e=225600;f=225600}while(0);d=c[f>>2]|0;if(!d){d=j0a(24)|0;c[d+16>>2]=b;c[d+20>>2]=0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=e;c[f>>2]=d;e=c[c[56399]>>2]|0;if(!e)e=d;else{c[56399]=e;e=c[f>>2]|0}fp(c[56400]|0,e);c[56401]=(c[56401]|0)+1}d=d+20|0;e=c[d>>2]|0;if(((e|0)!=(i|0)?(c[d>>2]=i,i=i+8|0,c[i>>2]=(c[i>>2]|0)+1,e|0):0)?(h=e+8|0,i=c[h>>2]|0,c[h>>2]=i-1,(i|0)==1):0)UU(e,1,1)}d=c[56400]|0;do if(d){f=225600;while(1){e=c[d+16>>2]|0;if(e>>>0>b>>>0){e=c[d>>2]|0;if(!e){h=40;break}}else{if(e>>>0>=b>>>0){h=44;break}f=d+4|0;e=c[f>>2]|0;if(!e){h=43;break}else d=f}f=d;d=e}if((h|0)==40){e=d;f=d;break}else if((h|0)==43){e=d;break}else if((h|0)==44){e=d;break}}else{e=225600;f=225600}while(0);d=c[f>>2]|0;if(!d){d=j0a(24)|0;c[d+16>>2]=b;c[d+20>>2]=0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=e;c[f>>2]=d;e=c[c[56399]>>2]|0;if(!e)e=d;else{c[56399]=e;e=c[f>>2]|0}fp(c[56400]|0,e);c[56401]=(c[56401]|0)+1}i=(c[d+20>>2]|0)+28|0;c[i>>2]=(c[i>>2]|0)+1;if((a[223632]|0)==0?g2a(223632)|0:0)kr(225352);if((c[56338]|0)<=2){j=c[56408]|0;j=j+12|0;j=c[j>>2]|0;gk[j&1023](225632)|0;l=k;return}g=mr(QSa(mr(lr(3)|0,147266,42)|0,b)|0,147309,5)|0;d=c[56400]|0;do if(d){f=225600;while(1){e=c[d+16>>2]|0;if(e>>>0>b>>>0){e=c[d>>2]|0;if(!e){h=58;break}}else{if(e>>>0>=b>>>0){h=62;break}f=d+4|0;e=c[f>>2]|0;if(!e){h=61;break}else d=f}f=d;d=e}if((h|0)==58){e=d;f=d;break}else if((h|0)==61){e=d;break}else if((h|0)==62){e=d;break}}else{e=225600;f=225600}while(0);d=c[f>>2]|0;if(!d){d=j0a(24)|0;c[d+16>>2]=b;c[d+20>>2]=0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=e;c[f>>2]=d;e=c[c[56399]>>2]|0;if(!e)e=d;else{c[56399]=e;e=c[f>>2]|0}fp(c[56400]|0,e);c[56401]=(c[56401]|0)+1}b=QSa(g,c[(c[d+20>>2]|0)+28>>2]|0)|0;BSa(j,b+(c[(c[b>>2]|0)+-12>>2]|0)|0);i=cUa(j,230580)|0;i=kk[c[(c[i>>2]|0)+28>>2]&511](i,10)|0;dUa(j);VSa(b,i)|0;HSa(b)|0;j=c[56408]|0;j=j+12|0;j=c[j>>2]|0;gk[j&1023](225632)|0;l=k;return}function NR(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=l;l=l+16|0;d=i+4|0;h=i;c[h>>2]=b;if((a[223632]|0)==0?g2a(223632)|0:0)kr(225352);if((c[56338]|0)>3){f=mr(lr(4)|0,147315,37)|0;f=USa(f,c[h>>2]|0)|0;BSa(d,f+(c[(c[f>>2]|0)+-12>>2]|0)|0);e=cUa(d,230580)|0;e=kk[c[(c[e>>2]|0)+28>>2]&511](e,10)|0;dUa(d);VSa(f,e)|0;HSa(f)|0}e=c[h>>2]|0;if(!e){l=i;return}gk[c[(c[56408]|0)+8>>2]&1023](225632)|0;d=c[56411]|0;b=c[56412]|0;f=b;a:do if((d|0)==(b|0)){e=d;g=11}else do{if((c[d>>2]|0)==(e|0)){e=d;g=11;break a}d=d+4|0}while((d|0)!=(b|0));while(0);if((g|0)==11)if((e|0)!=(b|0)){d=e+4|0;b=f-d|0;if(b|0)y2a(e|0,d|0,b|0)|0;b=e+(b>>2<<2)|0;c[56412]=b}if((b|0)==(c[56413]|0))OR(225644,h);else{c[b>>2]=c[h>>2];c[56412]=(c[56412]|0)+4}gk[c[(c[56408]|0)+12>>2]&1023](225632)|0;l=i;return}function OR(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;i=a+4|0;j=c[a>>2]|0;k=(c[i>>2]|0)-j|0;g=k>>2;d=g+1|0;if(d>>>0>1073741823)g1a(a);l=a+8|0;f=(c[l>>2]|0)-j|0;h=f>>1;h=f>>2>>>0<536870911?(h>>>0<d>>>0?d:h):1073741823;do if(h)if(h>>>0>1073741823){l=db(8)|0;p0a(l,183738);c[l>>2]=110936;hb(l|0,65952,1066)}else{f=j0a(h<<2)|0;e=f;break}else{e=0;f=0}while(0);d=e+(g<<2)|0;c[d>>2]=c[b>>2];if((k|0)>0)x2a(f|0,j|0,k|0)|0;c[a>>2]=e;c[i>>2]=d+4;c[l>>2]=e+(h<<2);if(!j)return;l0a(j);return}function PR(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;k=l;l=l+16|0;h=k;c[b>>2]=0;i=b+4|0;c[i>>2]=0;j=b+8|0;c[j>>2]=0;gk[c[(c[56408]|0)+8>>2]&1023](225632)|0;e=c[56411]|0;if((e|0)!=(c[56412]|0))do{f=c[e>>2]|0;c[h>>2]=f;g=c[f+48>>2]|0;do if(g|0?(c[g+124>>2]|0)==(d|0):0){g=c[i>>2]|0;if((g|0)==(c[j>>2]|0)){OR(b,h);break}else{c[g>>2]=f;c[i>>2]=(c[i>>2]|0)+4;break}}while(0);e=e+4|0}while((e|0)!=(c[56412]|0));if((a[223632]|0)==0?g2a(223632)|0:0)kr(225352);if((c[56338]|0)<=3){j=c[56408]|0;j=j+12|0;j=c[j>>2]|0;gk[j&1023](225632)|0;l=k;return}j=mr(QSa(mr(lr(4)|0,147353,43)|0,d)|0,147397,17)|0;j=RSa(j,(c[i>>2]|0)-(c[b>>2]|0)>>2)|0;BSa(h,j+(c[(c[j>>2]|0)+-12>>2]|0)|0);i=cUa(h,230580)|0;i=kk[c[(c[i>>2]|0)+28>>2]&511](i,10)|0;dUa(h);VSa(j,i)|0;HSa(j)|0;j=c[56408]|0;j=j+12|0;j=c[j>>2]|0;gk[j&1023](225632)|0;l=k;return}function QR(d){d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;q=l;l=l+16|0;o=q+12|0;p=q;if((a[223632]|0)==0?g2a(223632)|0:0)kr(225352);if((c[56338]|0)>2){n=mr(lr(3)|0,147415,34)|0;BSa(o,n+(c[(c[n>>2]|0)+-12>>2]|0)|0);m=cUa(o,230580)|0;m=kk[c[(c[m>>2]|0)+28>>2]&511](m,10)|0;dUa(o);VSa(n,m)|0;HSa(n)|0}gk[c[(c[56408]|0)+8>>2]&1023](225632)|0;e=c[56400]|0;do if(e){g=225600;while(1){f=c[e+16>>2]|0;if(f>>>0>d>>>0){f=c[e>>2]|0;if(!f){i=10;break}}else{if(f>>>0>=d>>>0){i=14;break}g=e+4|0;f=c[g>>2]|0;if(!f){i=13;break}else e=g}g=e;e=f}if((i|0)==10){f=e;g=e;break}else if((i|0)==13){f=e;break}else if((i|0)==14){f=e;break}}else{f=225600;g=225600}while(0);e=c[g>>2]|0;if(!e){e=j0a(24)|0;c[e+16>>2]=d;c[e+20>>2]=0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=f;c[g>>2]=e;f=c[c[56399]>>2]|0;if(!f)f=e;else{c[56399]=f;f=c[g>>2]|0}fp(c[56400]|0,f);c[56401]=(c[56401]|0)+1}if(!(c[(c[e+20>>2]|0)+32>>2]|0)){e=0;f=1}else{e=c[56400]|0;do if(e){g=225600;while(1){f=c[e+16>>2]|0;if(f>>>0>d>>>0){f=c[e>>2]|0;if(!f){i=25;break}}else{if(f>>>0>=d>>>0){i=29;break}g=e+4|0;f=c[g>>2]|0;if(!f){i=28;break}else e=g}g=e;e=f}if((i|0)==25){f=e;g=e;break}else if((i|0)==28){f=e;break}else if((i|0)==29){f=e;break}}else{f=225600;g=225600}while(0);e=c[g>>2]|0;if(!e){e=j0a(24)|0;c[e+16>>2]=d;c[e+20>>2]=0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=f;c[g>>2]=e;f=c[c[56399]>>2]|0;if(!f)f=e;else{c[56399]=f;f=c[g>>2]|0}fp(c[56400]|0,f);c[56401]=(c[56401]|0)+1}e=c[(c[e+20>>2]|0)+32>>2]|0;f=0}gk[c[(c[56408]|0)+12>>2]&1023](225632)|0;if(!f){p=e;l=q;return p|0}PR(p,d);f=c[p>>2]|0;n=p+4|0;if((f|0)==(c[n>>2]|0))e=0;else{k=c[f>>2]|0;e=c[k+44>>2]|0;m=j0a(200)|0;Tha(m);f=m+12|0;c[f>>2]=0;c[f+4>>2]=0;c[f+8>>2]=0;c[f+12>>2]=0;c[f+16>>2]=0;c[m>>2]=81408;g=m+32|0;h=m+73|0;i=g;j=i+40|0;do{c[i>>2]=0;i=i+4|0}while((i|0)<(j|0));a[g+40>>0]=0;a[h>>0]=1;r=m+76|0;c[r>>2]=8;h=m+80|0;c[h>>2]=8;g=m+84|0;c[g>>2]=8;i=m+88|0;c[i>>2]=0;j=m+92|0;c[j>>2]=24;s=m+96|0;t=m+112|0;c[s>>2]=0;c[s+4>>2]=0;c[s+8>>2]=0;b[s+12>>1]=0;a[s+14>>0]=0;c[t>>2]=0;c[t+4>>2]=0;c[t+8>>2]=0;c[t+12>>2]=0;c[t+16>>2]=0;a[m+132>>0]=1;a[m+133>>0]=0;c[m+136>>2]=0;c[m+140>>2]=0;a[m+144>>0]=0;a[m+145>>0]=1;t=m+148|0;s=m+152|0;c[s>>2]=0;c[s+4>>2]=50331648;a[t>>0]=a[116500]|0;a[t+1>>0]=a[116501]|0;a[t+2>>0]=a[116502]|0;a[m+151>>0]=0;t=m+160|0;c[m+184>>2]=0;s=m+192|0;c[s>>2]=0;c[m+196>>2]=0;c[t>>2]=0;c[t+4>>2]=0;c[t+8>>2]=0;c[t+12>>2]=0;c[t+16>>2]=0;b[t+20>>1]=0;c[m+188>>2]=s;c[m+28>>2]=c[e+28>>2];c[m+24>>2]=c[e+24>>2];z0a(f,e+12|0)|0;c[m+40>>2]=100;c[m+44>>2]=100;c[r>>2]=c[e+76>>2];c[g>>2]=c[e+84>>2];c[h>>2]=c[e+80>>2];c[i>>2]=c[e+88>>2];c[j>>2]=c[e+92>>2];f=m+168|0;if(!k)e=0;else e=Vha(k)|0;g=c[f>>2]|0;if((g|0)!=(e|0)){c[f>>2]=e;if(e|0){t=e+8|0;c[t>>2]=(c[t>>2]|0)+1}if(g|0?(s=g+8|0,t=c[s>>2]|0,c[s>>2]=t-1,(t|0)==1):0)UU(g,1,1);e=c[f>>2]|0}if(!e)e=0;else e=(c[e+24>>2]|0)==0?0:k;c[m+172>>2]=e;a[m+108>>0]=1;e=RR(m)|0;do if(!e)e=0;else{j=e+8|0;c[j>>2]=(c[j>>2]|0)+1;if(!(gk[c[(c[e>>2]|0)+176>>2]&1023](e)|0)){t=c[j>>2]|0;c[j>>2]=t-1;if((t|0)!=1){e=0;break}UU(e,1,1);e=0;break}gk[c[(c[56408]|0)+8>>2]&1023](225632)|0;f=c[56400]|0;do if(f){h=225600;while(1){g=c[f+16>>2]|0;if(g>>>0>d>>>0){g=c[f>>2]|0;if(!g){i=55;break}}else{if(g>>>0>=d>>>0){i=59;break}h=f+4|0;g=c[h>>2]|0;if(!g){i=58;break}else f=h}h=f;f=g}if((i|0)==55){g=f;h=f;break}else if((i|0)==58){g=f;break}else if((i|0)==59){g=f;break}}else{g=225600;h=225600}while(0);f=c[h>>2]|0;if(!f){f=j0a(24)|0;c[f+16>>2]=d;c[f+20>>2]=0;c[f>>2]=0;c[f+4>>2]=0;c[f+8>>2]=g;c[h>>2]=f;g=c[c[56399]>>2]|0;if(!g)g=f;else{c[56399]=g;g=c[h>>2]|0}fp(c[56400]|0,g);c[56401]=(c[56401]|0)+1}f=(c[f+20>>2]|0)+32|0;g=c[f>>2]|0;if(((g|0)!=(e|0)?(c[f>>2]=e,c[j>>2]=(c[j>>2]|0)+1,g|0):0)?(s=g+8|0,t=c[s>>2]|0,c[s>>2]=t-1,(t|0)==1):0)UU(g,1,1);if((a[223632]|0)==0?g2a(223632)|0:0)kr(225352);if((c[56338]|0)>2){t=mr(lr(3)|0,147450,47)|0;BSa(o,t+(c[(c[t>>2]|0)+-12>>2]|0)|0);s=cUa(o,230580)|0;s=kk[c[(c[s>>2]|0)+28>>2]&511](s,10)|0;dUa(o);VSa(t,s)|0;HSa(t)|0}Wha(e)|0;gk[c[(c[56408]|0)+12>>2]&1023](225632)|0}while(0);f=c[p>>2]|0}if(f|0){c[n>>2]=f;l0a(f)}t=e;l=q;return t|0}function RR(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;h=l;l=l+16|0;d=h;e=(b|0)!=0;if(e)t0a(d,b+48|0);else{c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0}yQ()|0;g=SR(c[56435]|0,d)|0;f=(g|0)==0;if(!f){i=g+8|0;c[i>>2]=(c[i>>2]|0)+1}if((a[d+11>>0]|0)<0)l0a(c[d>>2]|0);if(f){i=0;l=h;return i|0}if(e){d=b+24|0;if((c[d>>2]|0)<0)c[d>>2]=0;d=b+28|0;if((c[d>>2]|0)<0)c[d>>2]=0}d=kk[c[(c[g>>2]|0)+36>>2]&511](g,b)|0;b=g+8|0;i=c[b>>2]|0;c[b>>2]=i-1;if((i|0)!=1){i=d;l=h;return i|0}UU(g,1,1);i=d;l=h;return i|0}function SR(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;s=l;l=l+16|0;r=s;e=c[b+12>>2]|0;o=b+16|0;if((e|0)==(c[o>>2]|0)){if((a[223632]|0)==0?g2a(223632)|0:0)kr(225352);if((c[56338]|0)<=1){r=0;l=s;return r|0}d=mr(lr(2)|0,147498,115)|0;BSa(r,d+(c[(c[d>>2]|0)+-12>>2]|0)|0);q=cUa(r,230580)|0;q=kk[c[(c[q>>2]|0)+28>>2]&511](q,10)|0;dUa(r);VSa(d,q)|0;HSa(d)|0;r=0;l=s;return r|0}p=d+11|0;b=a[p>>0]|0;q=d+4|0;f=c[q>>2]|0;if(!((b<<24>>24<0?f:b&255)|0)){r=c[e>>2]|0;l=s;return r|0}i=b;a:while(1){b=c[e>>2]|0;h=b+12|0;g=a[h+11>>0]|0;m=g<<24>>24<0;g=g&255;n=m?c[b+16>>2]|0:g;j=i<<24>>24<0;do if((n|0)==((j?f:i&255)|0)){t=c[h>>2]|0;k=m?t:h;f=j?c[d>>2]|0:d;i=(n|0)==0;j=t&255;if(m){if(i){e=31;break a}if(!(cOa(k,f,n)|0)){e=31;break a}else break}if(i){e=31;break a}if((a[f>>0]|0)==j<<24>>24)do{g=g+-1|0;h=h+1|0;if(!g){e=31;break a}f=f+1|0}while((a[h>>0]|0)==(a[f>>0]|0))}while(0);if((a[223632]|0)==0?g2a(223632)|0:0)kr(225352);if((c[56338]|0)>2){j=mr(mr(mr(lr(3)|0,147614,19)|0,147634,63)|0,147698,8)|0;n=c[e>>2]|0;k=n+12|0;t=a[k+11>>0]|0;m=t<<24>>24<0;t=mr(j,m?c[k>>2]|0:k,m?c[n+16>>2]|0:t&255)|0;BSa(r,t+(c[(c[t>>2]|0)+-12>>2]|0)|0);n=cUa(r,230580)|0;n=kk[c[(c[n>>2]|0)+28>>2]&511](n,10)|0;dUa(r);VSa(t,n)|0;HSa(t)|0}b=e+4|0;if((b|0)==(c[o>>2]|0)){e=25;break}e=b;i=a[p>>0]|0;f=c[q>>2]|0}if((e|0)==25){if((a[223632]|0)==0?g2a(223632)|0:0)kr(225352);if((c[56338]|0)<=1){t=0;l=s;return t|0}o=mr(lr(2)|0,147707,120)|0;t=a[p>>0]|0;p=t<<24>>24<0;t=mr(o,p?c[d>>2]|0:d,p?c[q>>2]|0:t&255)|0;BSa(r,t+(c[(c[t>>2]|0)+-12>>2]|0)|0);d=cUa(r,230580)|0;d=kk[c[(c[d>>2]|0)+28>>2]&511](d,10)|0;dUa(r);VSa(t,d)|0;HSa(t)|0;t=0;l=s;return t|0}else if((e|0)==31){l=s;return b|0}return 0}function TR(b){b=b|0;var d=0,e=0,f=0,g=0;c[b>>2]=81408;vw(b+188|0,c[b+192>>2]|0);d=b+176|0;e=c[d>>2]|0;if(e|0?(g=e+8|0,f=c[g>>2]|0,c[g>>2]=f-1,(f|0)==1):0)UU(e,1,1);c[d>>2]=0;d=b+168|0;e=c[d>>2]|0;if(e|0?(f=e+8|0,g=c[f>>2]|0,c[f>>2]=g-1,(g|0)==1):0)UU(e,1,1);c[d>>2]=0;d=b+148|0;if((a[d+11>>0]|0)<0)l0a(c[d>>2]|0);d=b+60|0;if((a[d+11>>0]|0)<0)l0a(c[d>>2]|0);d=b+48|0;if((a[d+11>>0]|0)<0)l0a(c[d>>2]|0);d=b+12|0;if((a[d+11>>0]|0)>=0){SU(b);return}l0a(c[d>>2]|0);SU(b);return}function UR(a){a=a|0;TR(a);l0a(a);return}function VR(a){a=a|0;return gk[c[(c[a>>2]|0)+176>>2]&1023](a)|0}function WR(b){b=b|0;var d=0;Uha(b,1);d=b+12|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[b+24>>2]=2;c[b+28>>2]=0;g[b+32>>2]=0.0;g[b+36>>2]=0.0;g[b+40>>2]=0.0;g[b+44>>2]=-1.0;d=b+48|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[d+12>>2]=0;g[b+64>>2]=-1.0;d=b+72|0;c[b+92>>2]=0;c[b+100>>2]=0;c[b+120>>2]=0;a[b+68>>0]=0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[d+12>>2]=0;c[b+116>>2]=-1;c[b+88>>2]=0;c[b+96>>2]=0;a[b+104>>0]=1;c[b+108>>2]=0;c[b+112>>2]=0;c[b>>2]=73548;c[b+124>>2]=0;c[b+128>>2]=0;c[b+132>>2]=0;return}function XR(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,f=0.0,g=0.0,i=0.0,j=0,k=0.0,l=0.0,m=0.0,n=0.0;b=b+160|0;if(!(c[b>>2]|0)){g=+h[d>>3];i=+h[d+8>>3];Qra(a);Sra(a,g,i,0.0);return}Qra(a);b=c[b>>2]|0;g=+h[d>>3];i=+h[d+8>>3];f=+h[d+16>>3];if(!(g!=0.0))if(!(i>0.0))if(!(i<0.0))if(f>0.0){f=1.5707963267948966;e=0.0}else{f=f<0.0?-1.5707963267948966:1.5707963267948966;e=0.0}else{e=-1.5707963267948966;j=8}else{e=1.5707963267948966;j=8}else{e=+J(+i,+g);j=8}if((j|0)==8){k=+B(+(g*g+i*i));i=+h[b+32>>3];m=+h[b+40>>3];g=+J(+(f*i),+(k*m));l=m*m;n=+E(+g);g=+D(+g);f=+I(+((f+n*(n*(n*(m*((i*i-l)/l)))))/(k-g*(g*(g*(i*+h[b+48>>3]))))))}n=+E(+f);m=+D(+f);g=+h[b+48>>3];l=+h[b+32>>3]/+B(+(1.0-n*(n*g)));f=m*(l+0.0);i=+D(+e);k=+E(+e);Sra(a,i*f,k*f,n*((1.0-g)*l+0.0));l=m*i;m=m*k;k=-k;h[a>>3]=k;h[a+8>>3]=i;h[a+16>>3]=0.0;h[a+32>>3]=m*0.0-n*i;h[a+40>>3]=n*k-l*0.0;h[a+48>>3]=i*l-m*k;h[a+64>>3]=l;h[a+72>>3]=m;h[a+80>>3]=n;return}function YR(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;d=c[a+76>>2]|0;k=c[a+80>>2]|0;if((d|0)==(k|0))return;j=c[b>>2]|0;i=(c[b+4>>2]|0)-j|0;do{g=c[d+8>>2]|0;h=c[d+4>>2]|0;a=h;e=g;a:do if((g-h|0)==(i|0)){if((a|0)!=(e|0)){b=j;while(1){if((c[a>>2]|0)!=(c[b>>2]|0))break a;a=a+4|0;if((a|0)==(e|0))break;else b=b+4|0}}a=d+36|0;b=c[a>>2]|0;if(b|0){e=d+28|0;f=c[e>>2]|0;if((c[d+24>>2]|0)!=(f|0)){h=f+-4|0;c[d+20>>2]=c[h>>2];c[e>>2]=h}c[a>>2]=b+-1}a=c[d+68>>2]|0;h=c[d+72>>2]|0;if((a|0)!=(h|0))do{b=a+16|0;e=c[b>>2]|0;if(e|0){f=a+8|0;g=c[f>>2]|0;if((c[a+4>>2]|0)!=(g|0)){g=g+-4|0;c[a>>2]=c[g>>2];c[f>>2]=g}c[b>>2]=e+-1}a=a+48|0}while((a|0)!=(h|0))}while(0);d=d+80|0}while((d|0)!=(k|0));return}function ZR(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;c[b+4>>2]=c[d+4>>2];c[b+8>>2]=c[d+8>>2];c[b+12>>2]=c[d+12>>2];c[b+16>>2]=c[d+16>>2];c[b+20>>2]=c[d+20>>2];c[b+24>>2]=c[d+24>>2];e=b+28|0;f=c[e>>2]|0;g=c[d+28>>2]|0;if((f|0)!=(g|0)){c[e>>2]=g;if(g|0){g=g+8|0;c[g>>2]=(c[g>>2]|0)+1}if(f|0?(e=f+8|0,g=c[e>>2]|0,c[e>>2]=g-1,(g|0)==1):0)UU(f,1,1)}h[b+32>>3]=+h[d+32>>3];a[b+40>>0]=a[d+40>>0]|0;a[b+41>>0]=a[d+41>>0]|0;c[b+44>>2]=c[d+44>>2];c[b+48>>2]=c[d+48>>2];c[b+52>>2]=c[d+52>>2];c[b+56>>2]=c[d+56>>2];c[b+60>>2]=c[d+60>>2];return}function _R(b,d){b=b|0;d=d|0;var e=0,f=0,i=0;c[b>>2]=70260;e=b+28|0;c[e>>2]=0;c[b+4>>2]=c[d+4>>2];c[b+8>>2]=c[d+8>>2];c[b+12>>2]=c[d+12>>2];c[b+16>>2]=c[d+16>>2];c[b+20>>2]=c[d+20>>2];c[b+24>>2]=c[d+24>>2];f=c[d+28>>2]|0;if(f|0){c[e>>2]=f;i=f+8|0;c[i>>2]=(c[i>>2]|0)+1}h[b+32>>3]=+h[d+32>>3];a[b+40>>0]=a[d+40>>0]|0;a[b+41>>0]=a[d+41>>0]|0;c[b+44>>2]=c[d+44>>2];c[b+48>>2]=c[d+48>>2];c[b+52>>2]=c[d+52>>2];c[b+56>>2]=c[d+56>>2];c[b+60>>2]=c[d+60>>2];c[b>>2]=71096;i=b+156|0;d=b+296|0;z2a(b+64|0,0,212)|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[d+12>>2]=0;g[b+284>>2]=-1.0;c[b+288>>2]=0;c[b+292>>2]=7;c[b+312>>2]=0;e=j0a(160)|0;Uha(e,0);c[e>>2]=68320;f=e+12|0;c[f>>2]=0;c[f+4>>2]=0;c[f+8>>2]=0;c[e+24>>2]=2;c[e+28>>2]=0;Qra(e+32|0);c[e>>2]=71124;f=c[d>>2]|0;if(((f|0)!=(e|0)?(c[d>>2]=e,e=e+8|0,c[e>>2]=(c[e>>2]|0)+1,f|0):0)?(d=f+8|0,e=c[d>>2]|0,c[d>>2]=e-1,(e|0)==1):0)UU(f,1,1);c[b+276>>2]=0;c[b+280>>2]=0;d=b+180|0;if(!(c[d>>2]|0)){i=b+156|0;g[i>>2]=0.0;i=b+160|0;g[i>>2]=0.0;b=b+164|0;g[b>>2]=0.0;b=c[d>>2]|0;b=b+1|0;c[d>>2]=b;return}e=b+172|0;f=c[e>>2]|0;if((f|0)==(c[b+176>>2]|0)){Fy(b+168|0,i);i=b+156|0;g[i>>2]=0.0;i=b+160|0;g[i>>2]=0.0;b=b+164|0;g[b>>2]=0.0;b=c[d>>2]|0;b=b+1|0;c[d>>2]=b;return}else{c[f>>2]=c[i>>2];c[f+4>>2]=c[i+4>>2];c[f+8>>2]=c[i+8>>2];c[e>>2]=(c[e>>2]|0)+12;i=b+156|0;g[i>>2]=0.0;i=b+160|0;g[i>>2]=0.0;b=b+164|0;g[b>>2]=0.0;b=c[d>>2]|0;b=b+1|0;c[d>>2]=b;return}}function $R(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;g=a+136|0;h=(b|0)==0;if(!h){i=b+8|0;c[i>>2]=(c[i>>2]|0)+1}i=a+152|0;do if(c[i>>2]|0){f=a+144|0;d=c[f>>2]|0;if((d|0)==(c[a+148>>2]|0)){aS(a+140|0,g);break}e=c[g>>2]|0;c[d>>2]=e;if(e){d=e+8|0;c[d>>2]=(c[d>>2]|0)+1;d=c[f>>2]|0}c[f>>2]=d+4}while(0);d=c[g>>2]|0;if((d|0)!=(b|0)){c[g>>2]=b;if(!h){g=b+8|0;c[g>>2]=(c[g>>2]|0)+1}if(d|0?(f=d+8|0,g=c[f>>2]|0,c[f>>2]=g-1,(g|0)==1):0)UU(d,1,1)}c[i>>2]=(c[i>>2]|0)+1;if(!h?(h=b+8|0,i=c[h>>2]|0,c[h>>2]=i-1,(i|0)==1):0)UU(b,1,1);b=a+116|0;g=a+132|0;do if(c[g>>2]|0){f=a+124|0;d=c[f>>2]|0;if((d|0)==(c[a+128>>2]|0)){Sz(a+120|0,b);break}e=c[b>>2]|0;c[d>>2]=e;if(e){d=e+8|0;c[d>>2]=(c[d>>2]|0)+1;d=c[f>>2]|0}c[f>>2]=d+4}while(0);d=c[b>>2]|0;if(!d){a=c[g>>2]|0;a=a+1|0;c[g>>2]=a;return}c[b>>2]=0;i=d+8|0;a=c[i>>2]|0;c[i>>2]=a-1;if((a|0)!=1){a=c[g>>2]|0;a=a+1|0;c[g>>2]=a;return}UU(d,1,1);a=c[g>>2]|0;a=a+1|0;c[g>>2]=a;return}function aS(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;m=a+4|0;d=c[m>>2]|0;e=c[a>>2]|0;i=d-e>>2;f=i+1|0;g=e;if(f>>>0>1073741823)g1a(a);l=a+8|0;j=(c[l>>2]|0)-e|0;k=j>>1;f=j>>2>>>0<536870911?(k>>>0<f>>>0?f:k):1073741823;do if(f)if(f>>>0>1073741823){m=db(8)|0;p0a(m,183738);c[m>>2]=110936;hb(m|0,65952,1066)}else{j=j0a(f<<2)|0;break}else j=0;while(0);e=j+(i<<2)|0;k=j+(f<<2)|0;f=c[b>>2]|0;c[e>>2]=f;if(f){g=f+8|0;c[g>>2]=(c[g>>2]|0)+1;g=c[a>>2]|0;d=c[m>>2]|0}h=e+4|0;f=g;if((d|0)==(g|0))b=f;else{b=i+-1-((d+-4-f|0)>>>2)|0;while(1){d=d+-4|0;f=c[d>>2]|0;c[e+-4>>2]=f;if(f|0){i=f+8|0;c[i>>2]=(c[i>>2]|0)+1}if((d|0)==(g|0))break;else e=e+-4|0}e=j+(b<<2)|0;b=c[a>>2]|0;d=c[m>>2]|0}c[a>>2]=e;c[m>>2]=h;c[l>>2]=k;f=b;if((d|0)!=(f|0))do{d=d+-4|0;e=c[d>>2]|0;if(e|0?(l=e+8|0,m=c[l>>2]|0,c[l>>2]=m-1,(m|0)==1):0)UU(e,1,1);c[d>>2]=0}while((d|0)!=(f|0));if(!b)return;l0a(b);return}function bS(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;h=a+152|0;b=c[h>>2]|0;if(b|0){g=a+144|0;e=c[g>>2]|0;if((c[a+140>>2]|0)!=(e|0)){f=a+136|0;d=c[f>>2]|0;b=c[e+-4>>2]|0;if((d|0)!=(b|0)){c[f>>2]=b;if(b|0){f=b+8|0;c[f>>2]=(c[f>>2]|0)+1}if(d|0?(e=d+8|0,f=c[e>>2]|0,c[e>>2]=f-1,(f|0)==1):0)UU(d,1,1)}b=(c[g>>2]|0)+-4|0;d=c[b>>2]|0;if(d|0?(e=d+8|0,f=c[e>>2]|0,c[e>>2]=f-1,(f|0)==1):0)UU(d,1,1);c[b>>2]=0;c[g>>2]=b;b=c[h>>2]|0}c[h>>2]=b+-1}h=a+132|0;b=c[h>>2]|0;if(!b)return;g=a+124|0;f=c[g>>2]|0;if((c[a+120>>2]|0)!=(f|0)){d=a+116|0;e=c[d>>2]|0;b=c[f+-4>>2]|0;if((e|0)!=(b|0)){c[d>>2]=b;if(b|0){a=b+8|0;c[a>>2]=(c[a>>2]|0)+1}if(e|0?(f=e+8|0,a=c[f>>2]|0,c[f>>2]=a-1,(a|0)==1):0)UU(e,1,1)}b=(c[g>>2]|0)+-4|0;d=c[b>>2]|0;if(d|0?(f=d+8|0,a=c[f>>2]|0,c[f>>2]=a-1,(a|0)==1):0)UU(d,1,1);c[b>>2]=0;c[g>>2]=b;b=c[h>>2]|0}c[h>>2]=b+-1;return}function cS(a){a=a|0;var b=0,d=0,e=0,f=0,i=0.0,j=0.0,k=0.0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0.0,s=0.0,t=0.0,u=0.0,v=0.0,w=0.0,x=0.0,y=0.0,z=0.0,B=0.0,C=0.0,D=0.0,E=0.0,F=0.0,G=0.0,H=0.0,I=0.0,J=0.0,K=0.0,L=0.0,M=0.0,N=0.0,O=0.0,P=0.0,Q=0.0,R=0.0,S=0.0,T=0.0,U=0.0,V=0.0,W=0.0,X=0.0,Y=0.0,Z=0.0,_=0.0,$=0.0,aa=0.0,ba=0.0,ca=0.0,da=0.0,ea=0.0,fa=0.0,ga=0.0;e=l;l=l+128|0;b=e;Qra(b);f=c[((c[a+92>>2]|0)==0?a+296|0:a+76|0)>>2]|0;d=f+32|0;if(((+h[f+56>>3]==0.0?+h[f+88>>3]==0.0:0)?+h[f+120>>3]==0.0:0)?+h[f+152>>3]==1.0:0)Xra(b,d)|0;else Yra(b,d)|0;Q=+h[b+24>>3];y=+h[b+56>>3];E=-y-Q;v=+h[b+88>>3];s=+h[b+120>>3];T=1.0/(s+(E-v));O=+h[b>>3];N=+h[b+32>>3];R=-N-O;ca=+h[b+64>>3];ea=+h[b+96>>3];K=+h[b+8>>3];J=+h[b+40>>3];U=-J-K;da=+h[b+72>>3];X=+h[b+104>>3];C=+h[b+16>>3];P=+h[b+48>>3];S=-P-C;ba=+h[b+80>>3];Y=+h[b+112>>3];fa=y-Q;aa=1.0/(s+(fa-v));Z=N-O;_=aa*(ea+(Z-ca));V=J-K;W=aa*(X+(V-da));$=P-C;aa=aa*(Y+($-ba));ga=Q+y;D=1.0/(s+(ga-v));j=O+N;B=D*(ea+(j-ca));p=K+J;w=D*(X+(p-da));k=C+P;D=D*(Y+(k-ba));y=Q-y;Q=1.0/(s+(y-v));N=O-N;O=Q*(ea+(N-ca));J=K-J;K=Q*(X+(J-da));P=C-P;Q=Q*(Y+(P-ba));E=1.0/(s+(E+v));C=E*(ea+(R+ca));x=E*(X+(U+da));E=E*(Y+(S+ba));fa=1.0/(s+(fa+v));Z=fa*(ea+(Z+ca));V=fa*(X+(V+da));$=fa*(Y+($+ba));ga=1.0/(s+(ga+v));j=ga*(ea+(j+ca));p=ga*(X+(p+da));k=ga*(Y+(k+ba));v=1.0/(s+(y+v));N=v*(ea+(N+ca));J=v*(X+(J+da));P=v*(Y+(P+ba));v=_-B;y=W-w;s=aa-D;ca=T*(ea+(R-ca))-_;da=T*(X+(U-da))-W;ba=T*(Y+(S-ba))-aa;S=Z-j;Y=V-p;T=$-k;U=C-Z;X=x-V;R=E-$;ea=j-_;ga=p-W;fa=k-aa;m=C-j;o=x-p;i=E-k;q=B-j;n=w-p;r=D-k;t=B-O;z=w-K;u=D-Q;j=j-N;p=p-J;k=k-P;G=N-B;M=J-w;H=P-D;I=C-N;L=x-J;F=E-P;g[a+284>>2]=+A(+((ea*o-m*ga)*r+(q*(ga*i-o*fa)+n*(m*fa-ea*i))))+(+A(+((v*da-ca*y)*(E-aa)+((C-_)*(y*ba-da*s)+(x-W)*(ca*s-v*ba))))+ +A(+((S*X-U*Y)*(aa-$)+((_-Z)*(Y*R-X*T)+(W-V)*(U*T-S*R)))))+(+A(+((G*L-I*M)*(Q-P)+((O-N)*(M*F-L*H)+(K-J)*(I*H-G*F))))+(+A(+((t*y-v*z)*(E-D)+((C-B)*(z*s-y*u)+(x-w)*(v*u-t*s))))+ +A(+((j*o-m*p)*r+(q*(p*i-o*k)+n*(m*k-j*i))))));l=e;return}function dS(a,b){a=a|0;b=b|0;var d=0;Uha(a,1);c[a>>2]=69408;d=a+104|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;d=a+132|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;d=a+168|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;d=a+184|0;c[a+216>>2]=0;c[a+220>>2]=0;c[a+224>>2]=0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[d+12>>2]=0;c[d+16>>2]=0;c[d+20>>2]=0;xla(a+232|0,0);c[a+248>>2]=0;c[a+252>>2]=0;c[a+244>>2]=a+248;c[a+260>>2]=0;c[a+264>>2]=0;c[a+256>>2]=a+260;eS(a,b);return}function eS(b,d){b=b|0;d=d|0;var e=0,f=0;c[b+12>>2]=c[d+12>>2];a[b+16>>0]=a[d+16>>0]|0;c[b+20>>2]=c[d+20>>2];c[b+24>>2]=c[d+24>>2];c[b+28>>2]=c[d+28>>2];c[b+32>>2]=c[d+32>>2];c[b+36>>2]=c[d+36>>2];c[b+40>>2]=c[d+40>>2];c[b+44>>2]=c[d+44>>2];c[b+48>>2]=c[d+48>>2];c[b+52>>2]=c[d+52>>2];a[b+56>>0]=a[d+56>>0]|0;a[b+57>>0]=a[d+57>>0]|0;a[b+58>>0]=a[d+58>>0]|0;a[b+59>>0]=a[d+59>>0]|0;c[b+60>>2]=c[d+60>>2];c[b+64>>2]=c[d+64>>2];c[b+68>>2]=c[d+68>>2];c[b+72>>2]=c[d+72>>2];c[b+76>>2]=c[d+76>>2];c[b+80>>2]=c[d+80>>2];c[b+84>>2]=c[d+84>>2];c[b+88>>2]=c[d+88>>2];a[b+92>>0]=a[d+92>>0]|0;a[b+93>>0]=a[d+93>>0]|0;a[b+94>>0]=a[d+94>>0]|0;c[b+96>>2]=c[d+96>>2];c[b+100>>2]=c[d+100>>2];z0a(b+104|0,d+104|0)|0;c[b+116>>2]=c[d+116>>2];c[b+120>>2]=c[d+120>>2];c[b+124>>2]=c[d+124>>2];c[b+128>>2]=c[d+128>>2];z0a(b+132|0,d+132|0)|0;c[b+144>>2]=c[d+144>>2];c[b+148>>2]=c[d+148>>2];c[b+152>>2]=c[d+152>>2];c[b+160>>2]=c[d+160>>2];yt(b,c[b+164>>2]|0,1);a[b+180>>0]=a[d+180>>0]|0;if((b|0)==(d|0)){f=d+208|0;f=c[f>>2]|0;e=b+208|0;c[e>>2]=f;e=d+156|0;e=c[e>>2]|0;d=b+156|0;c[d>>2]=e;return}xO(b+184|0,c[d+184>>2]|0,c[d+188>>2]|0);fS(b+196|0,c[d+196>>2]|0,c[d+200>>2]|0);f=d+208|0;f=c[f>>2]|0;e=b+208|0;c[e>>2]=f;e=d+156|0;e=c[e>>2]|0;f=b+156|0;c[f>>2]=e;return}function fS(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;i=d-b>>2;j=a+8|0;e=c[j>>2]|0;g=c[a>>2]|0;f=g;if(i>>>0>e-g>>2>>>0){if(g){h=a+4|0;e=c[h>>2]|0;if((e|0)==(f|0))e=g;else{do{e=e+-4|0;g=c[e>>2]|0;if(g|0?(l=g+8|0,k=c[l>>2]|0,c[l>>2]=k-1,(k|0)==1):0)UU(g,1,1);c[e>>2]=0}while((e|0)!=(f|0));e=c[a>>2]|0}c[h>>2]=f;l0a(e);c[j>>2]=0;c[h>>2]=0;c[a>>2]=0;e=0}if(i>>>0>1073741823)g1a(a);l=e>>1;e=e>>2>>>0<536870911?(l>>>0<i>>>0?i:l):1073741823;if(e>>>0>1073741823)g1a(a);f=j0a(e<<2)|0;g=a+4|0;c[g>>2]=f;c[a>>2]=f;c[j>>2]=f+(e<<2);if((b|0)==(d|0))return;do{e=c[b>>2]|0;c[f>>2]=e;if(e|0){l=e+8|0;c[l>>2]=(c[l>>2]|0)+1}b=b+4|0;f=(c[g>>2]|0)+4|0;c[g>>2]=f}while((b|0)!=(d|0));return}j=a+4|0;e=(c[j>>2]|0)-g>>2;i=i>>>0>e>>>0;e=b+(e<<2)|0;a=i?e:d;if((a|0)==(b|0))b=f;else{do{g=c[f>>2]|0;h=c[b>>2]|0;if((g|0)!=(h|0)){c[f>>2]=h;if(h|0){l=h+8|0;c[l>>2]=(c[l>>2]|0)+1}if(g|0?(k=g+8|0,l=c[k>>2]|0,c[k>>2]=l-1,(l|0)==1):0)UU(g,1,1)}b=b+4|0;f=f+4|0}while((b|0)!=(a|0));b=f}if(i){if((a|0)==(d|0))return;b=c[j>>2]|0;do{f=c[e>>2]|0;c[b>>2]=f;if(f|0){l=f+8|0;c[l>>2]=(c[l>>2]|0)+1}e=e+4|0;b=(c[j>>2]|0)+4|0;c[j>>2]=b}while((e|0)!=(d|0));return}e=c[j>>2]|0;if((e|0)!=(b|0))do{e=e+-4|0;f=c[e>>2]|0;if(f|0?(k=f+8|0,l=c[k>>2]|0,c[k>>2]=l-1,(l|0)==1):0)UU(f,1,1);c[e>>2]=0}while((e|0)!=(b|0));c[j>>2]=b;return}function gS(a){a=a|0;return c[a+84>>2]|0}function hS(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0;m=l;l=l+16|0;i=m+12|0;j=m;k=b+232|0;gk[c[(c[k>>2]|0)+8>>2]&1023](k)|0;h=b+244|0;g=ul(h,d)|0;if((g|0)!=(b+248|0)){z0a(e,g+28|0)|0;if((a[223632]|0)==0?g2a(223632)|0:0)kr(225352);if((c[56338]|0)<=3){j=1;i=c[k>>2]|0;i=i+12|0;i=c[i>>2]|0;gk[i&1023](k)|0;l=m;return j|0}f=mr(lr(4)|0,147930,26)|0;j=a[d+11>>0]|0;h=j<<24>>24<0;d=mr(mr(f,h?c[d>>2]|0:d,h?c[d+4>>2]|0:j&255)|0,147957,26)|0;j=a[e+11>>0]|0;h=j<<24>>24<0;j=mr(mr(d,h?c[e>>2]|0:e,h?c[e+4>>2]|0:j&255)|0,150583,1)|0;BSa(i,j+(c[(c[j>>2]|0)+-12>>2]|0)|0);e=cUa(i,230580)|0;e=kk[c[(c[e>>2]|0)+28>>2]&511](e,10)|0;dUa(i);VSa(j,e)|0;HSa(j)|0;j=1;i=c[k>>2]|0;i=i+12|0;i=c[i>>2]|0;gk[i&1023](k)|0;l=m;return j|0}if(!f){j=0;i=c[k>>2]|0;i=i+12|0;i=c[i>>2]|0;gk[i&1023](k)|0;l=m;return j|0};c[j>>2]=0;c[j+4>>2]=0;c[j+8>>2]=0;g=d+11|0;f=Jh(((a[g>>0]|0)<0?c[d>>2]|0:d)|0)|0;if(f){b=0;while(1){if(!(a[f+b>>0]|0))break;b=b+1|0;if(b>>>0>=4096){b=4096;break}}A0a(j,f,b)|0;if((a[223632]|0)==0?g2a(223632)|0:0)kr(225352);if((c[56338]|0)>3){n=mr(lr(4)|0,147930,26)|0;b=a[g>>0]|0;f=b<<24>>24<0;b=mr(mr(n,f?c[d>>2]|0:d,f?c[d+4>>2]|0:b&255)|0,147984,27)|0;f=a[e+11>>0]|0;g=f<<24>>24<0;f=mr(mr(b,g?c[e>>2]|0:e,g?c[e+4>>2]|0:f&255)|0,150583,1)|0;BSa(i,f+(c[(c[f>>2]|0)+-12>>2]|0)|0);g=cUa(i,230580)|0;g=kk[c[(c[g>>2]|0)+28>>2]&511](g,10)|0;dUa(i);VSa(f,g)|0;HSa(f)|0}n=z0a(e,j)|0;z0a(It(h,d)|0,n)|0;if((a[j+11>>0]|0)<0){l0a(c[j>>2]|0);b=1}else b=1}else b=0;n=b;j=c[k>>2]|0;j=j+12|0;j=c[j>>2]|0;gk[j&1023](k)|0;l=m;return n|0}function iS(a){a=a|0;var b=0,d=0;b=l;l=l+16|0;d=b;c[d>>2]=0;c[d>>2]=a;l=b;return}function jS(b,c){b=b|0;c=c|0;b=b+181|0;if((d[b>>0]|0|0)==(c&1|0))return;a[b>>0]=0;return}function kS(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;i=c[d>>2]|0;if(!(a[i+761>>0]|0))if(!((a[b+184>>0]|0)!=0&(a[i+759>>0]|0)!=0)){e=c[i+140>>2]|0;if(e|0?(f=c[e+24>>2]|0,g=i+748|0,(c[g>>2]|0)!=(f|0)):0){Bk[c[(c[i+832>>2]|0)+1560>>2]&2047](f);c[g>>2]=f}e=c[b+212>>2]|0;if(!e){Jk[c[(c[b>>2]|0)+260>>2]&1023](b,d);return}else{Nk[c[(c[e>>2]|0)+20>>2]&255](e,d,b);return}}else e=4;else if(!i)g=0;else e=4;if((e|0)==4)g=c[i+124>>2]|0;f=b+200|0;e=c[(qB(f,g)|0)>>2]|0;if(!e){e=c[b+216>>2]|0;if(!e)e=kk[c[(c[b>>2]|0)+252>>2]&511](b,d)|0;else e=lk[c[(c[e>>2]|0)+20>>2]&127](e,d,b)|0;f=qB(f,g)|0;g=c[f>>2]|0;if((g|0)!=(e|0)){c[f>>2]=e;if(e|0){h=e+8|0;c[h>>2]=(c[h>>2]|0)+1}if((g|0)!=0?(f=g+8|0,h=c[f>>2]|0,c[f>>2]=h-1,(h|0)==1):0)UU(g,1,1)}}h=i+140|0;c[h>>2]=e;f=c[e+24>>2]|0;g=i+748|0;if((c[g>>2]|0)!=(f|0)){Bk[c[(c[i+832>>2]|0)+1560>>2]&2047](f);c[g>>2]=f}f=c[b+212>>2]|0;if(!f)Jk[c[(c[b>>2]|0)+260>>2]&1023](b,d);else Nk[c[(c[f>>2]|0)+20>>2]&255](f,d,b);a[e+104>>0]=(c[b+24>>2]|0)==0&1;c[h>>2]=c[i+136>>2];return}function lS(a,b,d){a=a|0;b=b|0;d=d|0;Cu(a,b,d);c[a>>2]=72724;xla(a+28|0,0);d=a+40|0;c[d>>2]=d;c[a+44>>2]=d;c[a+48>>2]=0;return}function mS(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0;Tha(a);k=a+12|0;c[k>>2]=0;c[k+4>>2]=0;c[k+8>>2]=0;c[a+24>>2]=2;c[a+28>>2]=0;c[a>>2]=72852;k=a+32|0;vt()|0;h=c[(c[56383]|0)+84>>2]|0;c[k>>2]=0;i=a+36|0;c[i>>2]=0;j=a+40|0;c[j>>2]=0;do if(h|0)if(h>>>0>1073741823)g1a(k);else{l=h<<2;m=j0a(l)|0;c[k>>2]=m;k=m+(h<<2)|0;c[j>>2]=k;z2a(m|0,0,l|0)|0;c[i>>2]=k;break}while(0);h=a+44|0;vt()|0;i=c[(c[56383]|0)+84>>2]|0;c[h>>2]=0;j=a+48|0;c[j>>2]=0;k=a+52|0;c[k>>2]=0;if(!i){m=a+56|0;c[m>>2]=e;m=a+60|0;c[m>>2]=b;m=a+64|0;c[m>>2]=d;m=a+68|0;c[m>>2]=f;m=a+72|0;c[m>>2]=g;return}if(i>>>0>1073741823)g1a(h);l=i<<2;n=j0a(l)|0;c[h>>2]=n;m=n+(i<<2)|0;c[k>>2]=m;z2a(n|0,0,l|0)|0;c[j>>2]=m;m=a+56|0;c[m>>2]=e;m=a+60|0;c[m>>2]=b;m=a+64|0;c[m>>2]=d;m=a+68|0;c[m>>2]=f;m=a+72|0;c[m>>2]=g;return}function nS(a,b){a=a|0;b=b|0;var d=0;d=j0a(24)|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[d+12>>2]=0;c[d+16>>2]=0;c[d+20>>2]=0;c[a>>2]=d;if(!b)return;c[d+4>>2]=b;d=b+8|0;c[d>>2]=(c[d>>2]|0)+1;return}function oS(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;i=l;l=l+16|0;g=i;f=c[d+8>>2]|0;if(f|0){e=y1a(f,47416,47432,0)|0;if(e|0){h=j0a(24)|0;g=c[d+12>>2]|0;c[h>>2]=1;c[h+4>>2]=0;c[h+12>>2]=0;c[h+16>>2]=g;c[h+20>>2]=0;c[b>>2]=h;c[h+8>>2]=e;h=e+8|0;c[h>>2]=(c[h>>2]|0)+1;l=i;return}e=y1a(f,47416,47448,0)|0;if(e|0){h=j0a(24)|0;g=c[d+12>>2]|0;c[h>>2]=2;c[h+4>>2]=0;c[h+12>>2]=0;c[h+16>>2]=g;c[h+20>>2]=0;c[b>>2]=h;c[h+8>>2]=e;h=e+8|0;c[h>>2]=(c[h>>2]|0)+1;l=i;return}e=y1a(f,47416,47496,0)|0;if(e|0){h=j0a(24)|0;g=c[d+12>>2]|0;c[h>>2]=7;c[h+4>>2]=0;c[h+12>>2]=0;c[h+16>>2]=g;c[h+20>>2]=0;c[b>>2]=h;c[h+8>>2]=e;h=e+8|0;c[h>>2]=(c[h>>2]|0)+1;l=i;return}e=y1a(f,47416,47512,0)|0;if(e|0){h=j0a(24)|0;g=c[d+12>>2]|0;c[h>>2]=3;c[h+4>>2]=0;c[h+12>>2]=0;c[h+16>>2]=g;c[h+20>>2]=0;c[b>>2]=h;c[h+8>>2]=e;h=e+8|0;c[h>>2]=(c[h>>2]|0)+1;c[(c[b>>2]|0)+20>>2]=c[d+16>>2];l=i;return}e=y1a(f,47416,47480,0)|0;if(e|0){h=j0a(24)|0;g=c[d+12>>2]|0;c[h>>2]=6;c[h+4>>2]=0;c[h+12>>2]=0;c[h+16>>2]=g;c[h+20>>2]=0;c[b>>2]=h;c[h+8>>2]=e;h=e+8|0;c[h>>2]=(c[h>>2]|0)+1;c[(c[b>>2]|0)+20>>2]=c[d+16>>2];l=i;return}e=y1a(f,47416,47528,0)|0;if(e|0){h=j0a(24)|0;g=c[d+12>>2]|0;c[h>>2]=4;c[h+4>>2]=0;c[h+12>>2]=0;c[h+16>>2]=g;c[h+20>>2]=0;c[b>>2]=h;c[h+8>>2]=e;h=e+8|0;c[h>>2]=(c[h>>2]|0)+1;c[(c[b>>2]|0)+12>>2]=c[d+16>>2];l=i;return}e=y1a(f,47416,47544,0)|0;if(e|0){h=j0a(24)|0;c[h>>2]=5;g=h+4|0;c[g>>2]=0;c[g+4>>2]=0;c[g+8>>2]=0;c[g+12>>2]=0;c[g+16>>2]=0;c[b>>2]=h;c[h+8>>2]=e;h=e+8|0;c[h>>2]=(c[h>>2]|0)+1;l=i;return}}e=c[d+4>>2]|0;if(!e){if((a[223632]|0)==0?g2a(223632)|0:0)kr(225352);if((c[56338]|0)>1){h=mr(lr(2)|0,148144,109)|0;BSa(g,h+(c[(c[h>>2]|0)+-12>>2]|0)|0);d=cUa(g,230580)|0;d=kk[c[(c[d>>2]|0)+28>>2]&511](d,10)|0;dUa(g);VSa(h,d)|0;HSa(h)|0}}else{f=e+72|0;if((c[f>>2]|0)>0?(h=e+76|0,(c[h>>2]|0)>0):0){e=c[e+88>>2]|0;e=(e|0)==0?c[d>>2]|0:e;d=j0a(24)|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[d+12>>2]=0;c[d+16>>2]=0;c[d+20>>2]=0;c[b>>2]=d;d=j0a(76)|0;mS(d,c[f>>2]|0,c[h>>2]|0,e,0,0);e=(c[b>>2]|0)+4|0;f=c[e>>2]|0;if((f|0)==(d|0)){l=i;return}c[e>>2]=d;h=d+8|0;c[h>>2]=(c[h>>2]|0)+1;if(!f){l=i;return}b=f+8|0;h=c[b>>2]|0;c[b>>2]=h-1;if((h|0)!=1){l=i;return}UU(f,1,1);l=i;return}if((a[223632]|0)==0?g2a(223632)|0:0)kr(225352);if((c[56338]|0)>1){h=mr(lr(2)|0,148012,131)|0;BSa(g,h+(c[(c[h>>2]|0)+-12>>2]|0)|0);d=cUa(g,230580)|0;d=kk[c[(c[d>>2]|0)+28>>2]&511](d,10)|0;dUa(g);VSa(h,d)|0;HSa(h)|0}}h=j0a(24)|0;c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;c[h+12>>2]=0;c[h+16>>2]=0;c[h+20>>2]=0;c[b>>2]=h;l=i;return}function pS(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;f=c[a>>2]|0;if(f|0){d=f+8|0;e=c[d>>2]|0;if(e|0?(h=e+8|0,g=c[h>>2]|0,c[h>>2]=g-1,(g|0)==1):0)UU(e,1,1);c[d>>2]=0;d=c[f+4>>2]|0;if(d|0?(g=d+8|0,h=c[g>>2]|0,c[g>>2]=h-1,(h|0)==1):0)UU(d,1,1);l0a(f)}f=j0a(24)|0;e=c[b>>2]|0;c[f>>2]=c[e>>2];d=c[e+4>>2]|0;c[f+4>>2]=d;if(d|0){h=d+8|0;c[h>>2]=(c[h>>2]|0)+1}d=c[e+8>>2]|0;c[f+8>>2]=d;if(d|0){h=d+8|0;c[h>>2]=(c[h>>2]|0)+1}c[f+12>>2]=c[e+12>>2];c[f+16>>2]=c[e+16>>2];c[f+20>>2]=c[e+20>>2];c[a>>2]=f;return a|0}function qS(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;k=l;l=l+32|0;j=k+8|0;f=k+4|0;g=k;c[g>>2]=b;b=a+56|0;c[f>>2]=g;rS(j,b,g,231020,f,k+16|0);pS((c[j>>2]|0)+20|0,d)|0;f=a+68|0;g=a+72|0;c[g>>2]=c[f>>2];b=c[b>>2]|0;h=a+60|0;if((h|0)!=(b|0)){i=a+76|0;do{d=c[b+16>>2]|0;if((d+-4|0)>>>0<16){d=d+36060|0;c[j>>2]=d;e=c[g>>2]|0;if(e>>>0<(c[i>>2]|0)>>>0){c[e>>2]=d;c[g>>2]=e+4}else JJ(f,j)}e=b;b=c[e+4>>2]|0;if(!b){d=e+8|0;b=c[d>>2]|0;if((c[b>>2]|0)!=(e|0))do{e=c[d>>2]|0;d=e+8|0;b=c[d>>2]|0}while((c[b>>2]|0)!=(e|0))}else while(1){d=c[b>>2]|0;if(!d)break;else b=d}}while((h|0)!=(b|0))}e=c[a+80>>2]|0;b=(c[a+84>>2]|0)-e|0;if((b|0)<=0){l=k;return}d=b>>>2;b=e;while(1){c[b>>2]=1;if((d|0)>1){d=d+-1|0;b=b+4|0}else break}l=k;return}function rS(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0;h=d+4|0;f=c[h>>2]|0;do if(f){i=c[e>>2]|0;e=d+4|0;while(1){h=c[f+16>>2]|0;if((i|0)<(h|0)){h=c[f>>2]|0;if(!h){h=5;break}else{e=f;f=h}}else{if((h|0)>=(i|0)){h=9;break}e=f+4|0;h=c[e>>2]|0;if(!h){h=8;break}else f=h}}if((h|0)==5){i=f;e=f;break}else if((h|0)==8){i=f;break}else if((h|0)==9){i=f;break}}else{i=h;e=h}while(0);f=c[e>>2]|0;if(f|0){d=f;g=0;c[b>>2]=d;d=b+4|0;a[d>>0]=g;return}h=j0a(24)|0;c[h+16>>2]=c[c[g>>2]>>2];f=j0a(24)|0;c[f>>2]=0;c[f+4>>2]=0;c[f+8>>2]=0;c[f+12>>2]=0;c[f+16>>2]=0;c[f+20>>2]=0;c[h+20>>2]=f;c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=i;c[e>>2]=h;f=c[c[d>>2]>>2]|0;if(!f)f=h;else{c[d>>2]=f;f=c[e>>2]|0}fp(c[d+4>>2]|0,f);d=d+8|0;c[d>>2]=(c[d>>2]|0)+1;d=h;g=1;c[b>>2]=d;d=b+4|0;a[d>>0]=g;return}function sS(a){a=a|0;if(!(c[a+64>>2]|0)){a=0;return a|0}a=c[(c[(c[a+56>>2]|0)+20>>2]|0)+4>>2]|0;if(!a){a=0;return a|0}a=(c[a+68>>2]|0)>0;return a|0}function tS(a){a=a|0;var b=0;Uha(a,1);c[a>>2]=73236;a=a+12|0;b=a+56|0;do{c[a>>2]=0;a=a+4|0}while((a|0)<(b|0));return}function uS(a,b){a=a|0;b=b|0;if((a|0)==(b|0))return a|0;c[a+12>>2]=c[b+12>>2];h[a+16>>3]=+h[b+16>>3];h[a+24>>3]=+h[b+24>>3];c[a+32>>2]=c[b+32>>2];c[a+36>>2]=c[b+36>>2];c[a+40>>2]=c[b+40>>2];c[a+44>>2]=c[b+44>>2];c[a+48>>2]=c[b+48>>2];c[a+52>>2]=c[b+52>>2];c[a+56>>2]=c[b+56>>2];c[a+60>>2]=c[b+60>>2];c[a+64>>2]=c[b+64>>2];return a|0}function vS(b){b=b|0;var d=0;Uha(b,1);d=b+12|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[b+24>>2]=2;d=b+28|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[d+12>>2]=0;g[b+44>>2]=-1.0;d=b+48|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[d+12>>2]=0;g[b+64>>2]=-1.0;d=b+72|0;c[b+92>>2]=0;c[b+100>>2]=0;c[b+120>>2]=0;a[b+68>>0]=0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[d+12>>2]=0;c[b+116>>2]=-1;c[b+88>>2]=0;c[b+96>>2]=0;a[b+104>>0]=1;c[b+108>>2]=0;c[b+112>>2]=0;c[b+124>>2]=0;c[b+128>>2]=0;c[b+132>>2]=0;c[b>>2]=73256;g[b+136>>2]=3402823466385288598117041.0e14;g[b+140>>2]=3402823466385288598117041.0e14;g[b+144>>2]=3402823466385288598117041.0e14;g[b+148>>2]=-3402823466385288598117041.0e14;g[b+152>>2]=-3402823466385288598117041.0e14;g[b+156>>2]=-3402823466385288598117041.0e14;return}function wS(b){b=b|0;var d=0,e=0,f=0,g=0;uC(b);c[b>>2]=73820;d=b+220|0;e=b+182|0;f=d;g=f+56|0;do{c[f>>2]=0;f=f+4|0}while((f|0)<(g|0));a[d+56>>0]=0;a[e>>0]=1;a[b+183>>0]=0;return}function xS(a,b){a=a|0;b=b|0;var d=0;d=c[a+252>>2]|0;if((c[a+256>>2]|0)-d>>2>>>0<=b>>>0){d=0;return d|0}d=c[d+(b<<2)>>2]|0;return d|0}function yS(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;f=(b|0)!=0;if(f&(d|0)!=-1)c[b+64>>2]=d;d=a+240|0;e=c[d>>2]|0;if((e|0)!=(b|0)){c[d>>2]=b;if(b|0){d=b+8|0;c[d>>2]=(c[d>>2]|0)+1}if(e|0?(g=e+8|0,d=c[g>>2]|0,c[g>>2]=d-1,(d|0)==1):0)UU(e,1,1)}Bk[c[(c[a>>2]|0)+240>>2]&2047](a);if(!f)return;mja(a+200|0);bw(a,b);return}function zS(b,d,e,f,h,i,j){b=b|0;d=d|0;e=e|0;f=+f;h=+h;i=+i;j=+j;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0.0,u=0.0,v=0;s=j0a(280)|0;uC(s);c[s>>2]=73820;k=s+220|0;l=s+182|0;m=k;n=m+56|0;do{c[m>>2]=0;m=m+4|0}while((m|0)<(n|0));a[k+56>>0]=0;a[l>>0]=1;a[s+183>>0]=0;m=j0a(88)|0;AS(m,4);r=b+4|0;n=e+4|0;u=+g[r>>2]+ +g[n>>2];l=b+8|0;o=e+8|0;t=+g[l>>2]+ +g[o>>2];k=m+76|0;p=c[k>>2]|0;g[p>>2]=+g[b>>2]+ +g[e>>2];g[p+4>>2]=u;g[p+8>>2]=t;p=(c[k>>2]|0)+12|0;c[p>>2]=c[b>>2];c[p+4>>2]=c[b+4>>2];c[p+8>>2]=c[b+8>>2];p=d+4|0;t=+g[r>>2]+ +g[p>>2];q=d+8|0;u=+g[l>>2]+ +g[q>>2];v=c[k>>2]|0;g[v+24>>2]=+g[b>>2]+ +g[d>>2];g[v+28>>2]=t;g[v+32>>2]=u;u=+g[r>>2]+ +g[p>>2]+ +g[n>>2];t=+g[l>>2]+ +g[q>>2]+ +g[o>>2];k=c[k>>2]|0;g[k+36>>2]=+g[b>>2]+ +g[d>>2]+ +g[e>>2];g[k+40>>2]=u;g[k+44>>2]=t;aw(s,m);m=j0a(88)|0;BS(m,4);k=c[m+76>>2]|0;g[k>>2]=f;g[k+4>>2]=j;g[k+8>>2]=f;g[k+12>>2]=h;g[k+16>>2]=i;g[k+20>>2]=h;g[k+24>>2]=i;g[k+28>>2]=j;cw(s,0,m,-1);m=j0a(88)|0;CS(m,1);k=c[m+76>>2]|0;g[k>>2]=1.0;g[k+4>>2]=1.0;g[k+8>>2]=1.0;g[k+12>>2]=1.0;c[m+64>>2]=1;k=s+240|0;l=c[k>>2]|0;if(((l|0)!=(m|0)?(c[k>>2]=m,v=m+8|0,c[v>>2]=(c[v>>2]|0)+1,l|0):0)?(r=l+8|0,v=c[r>>2]|0,c[r>>2]=v-1,(v|0)==1):0)UU(l,1,1);Bk[c[(c[s>>2]|0)+240>>2]&2047](s);r=s+200|0;mja(r);bw(s,m);b=j0a(88)|0;AS(b,1);h=+g[p>>2];j=+g[o>>2];t=+g[q>>2];u=+g[n>>2];f=+g[e>>2];i=+g[d>>2];k=b+76|0;l=c[k>>2]|0;g[l>>2]=h*j-t*u;g[l+4>>2]=t*f-j*i;g[l+8>>2]=u*i-h*f;k=c[k>>2]|0;f=+g[k>>2];l=k+4|0;h=+g[l>>2];m=k+8|0;i=+g[m>>2];u=+B(+(f*f+h*h+i*i));j=1.0/u;if(u>0.0){g[k>>2]=f*j;g[l>>2]=h*j;g[m>>2]=i*j}c[b+64>>2]=1;k=s+236|0;l=c[k>>2]|0;if(((l|0)!=(b|0)?(c[k>>2]=b,v=b+8|0,c[v>>2]=(c[v>>2]|0)+1,l|0):0)?(e=l+8|0,v=c[e>>2]|0,c[e>>2]=v-1,(v|0)==1):0)UU(l,1,1);Bk[c[(c[s>>2]|0)+240>>2]&2047](s);lja(r);bw(s,b);p=j0a(80)|0;Uha(p,1);q=p+12|0;c[q>>2]=0;c[q+4>>2]=0;c[q+8>>2]=0;c[p+24>>2]=2;q=p+28|0;c[q>>2]=0;c[q+4>>2]=0;c[q+8>>2]=0;c[q+12>>2]=0;c[q+16>>2]=0;c[q+20>>2]=0;c[p+52>>2]=3;c[p+56>>2]=0;c[p+60>>2]=4;q=p+68|0;c[q>>2]=0;r=p+72|0;c[r>>2]=0;d=p+76|0;c[d>>2]=0;c[p>>2]=78076;c[p+64>>2]=78340;k=j0a(1)|0;l=k+1|0;a[k>>0]=0;c[q>>2]=k;c[r>>2]=l;c[d>>2]=l;l=j0a(2)|0;a[l+1>>0]=1;a[l>>0]=a[k>>0]|0;c[q>>2]=l;c[r>>2]=l+2;c[d>>2]=l+2;l0a(k);k=c[r>>2]|0;l=c[d>>2]|0;if((k|0)==(l|0)){o=c[q>>2]|0;n=l-o|0;k=n+1|0;b=o;if((k|0)<0)g1a(q);m=n<<1;m=n>>>0<1073741823?(m>>>0<k>>>0?k:m):2147483647;if(!m)l=0;else l=j0a(m)|0;k=l+n|0;a[k>>0]=2;k=k+1|0;if((n|0)>0)x2a(l|0,b|0,n|0)|0;c[q>>2]=l;c[r>>2]=k;c[d>>2]=l+m;if(o){l0a(b);k=c[r>>2]|0}}else{a[k>>0]=2;k=(c[r>>2]|0)+1|0;c[r>>2]=k}l=c[d>>2]|0;if((k|0)==(l|0)){o=c[q>>2]|0;n=l-o|0;k=n+1|0;b=o;if((k|0)<0)g1a(q);m=n<<1;m=n>>>0<1073741823?(m>>>0<k>>>0?k:m):2147483647;if(!m)l=0;else l=j0a(m)|0;k=l+n|0;a[k>>0]=2;k=k+1|0;if((n|0)>0)x2a(l|0,b|0,n|0)|0;c[q>>2]=l;c[r>>2]=k;c[d>>2]=l+m;if(o){l0a(b);k=c[r>>2]|0}}else{a[k>>0]=2;k=(c[r>>2]|0)+1|0;c[r>>2]=k}l=c[d>>2]|0;if((k|0)==(l|0)){o=c[q>>2]|0;n=l-o|0;k=n+1|0;b=o;if((k|0)<0)g1a(q);m=n<<1;m=n>>>0<1073741823?(m>>>0<k>>>0?k:m):2147483647;if(!m)l=0;else l=j0a(m)|0;k=l+n|0;a[k>>0]=3;k=k+1|0;if((n|0)>0)x2a(l|0,b|0,n|0)|0;c[q>>2]=l;c[r>>2]=k;c[d>>2]=l+m;if(o){l0a(b);k=c[r>>2]|0}}else{a[k>>0]=3;k=(c[r>>2]|0)+1|0;c[r>>2]=k}l=c[d>>2]|0;if((k|0)!=(l|0)){a[k>>0]=0;c[r>>2]=(c[r>>2]|0)+1;qK(s,p)|0;return s|0}o=c[q>>2]|0;n=l-o|0;k=n+1|0;b=o;if((k|0)<0)g1a(q);m=n<<1;m=n>>>0<1073741823?(m>>>0<k>>>0?k:m):2147483647;if(!m)l=0;else l=j0a(m)|0;k=l+n|0;a[k>>0]=0;if((n|0)>0)x2a(l|0,b|0,n|0)|0;c[q>>2]=l;c[r>>2]=k+1;c[d>>2]=l+m;if(!o){qK(s,p)|0;return s|0}l0a(b);qK(s,p)|0;return s|0}function AS(b,d){b=b|0;d=d|0;var e=0,f=0,h=0,i=0,j=0;Uha(b,1);h=b+12|0;c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;c[b+24>>2]=2;h=b+28|0;c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;c[h+12>>2]=0;c[h+16>>2]=0;c[h+20>>2]=0;c[b>>2]=77332;c[b+52>>2]=28;c[b+56>>2]=3;c[b+60>>2]=5126;c[b+64>>2]=-1;a[b+68>>0]=0;a[b+69>>0]=0;h=b+72|0;c[h>>2]=77828;e=b+76|0;c[e>>2]=0;i=b+80|0;c[i>>2]=0;f=b+84|0;c[f>>2]=0;if(!d){c[b>>2]=77572;c[h>>2]=77812;return}if(d>>>0>357913941)g1a(e);j=j0a(d*12|0)|0;c[i>>2]=j;c[e>>2]=j;c[f>>2]=j+(d*12|0);e=j;do{g[e>>2]=0.0;g[e+4>>2]=0.0;g[e+8>>2]=0.0;e=(c[i>>2]|0)+12|0;c[i>>2]=e;d=d+-1|0}while((d|0)!=0);c[b>>2]=77572;c[h>>2]=77812;return}function BS(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;Uha(b,1);g=b+12|0;c[g>>2]=0;c[g+4>>2]=0;c[g+8>>2]=0;c[b+24>>2]=2;g=b+28|0;c[g>>2]=0;c[g+4>>2]=0;c[g+8>>2]=0;c[g+12>>2]=0;c[g+16>>2]=0;c[g+20>>2]=0;c[b>>2]=77332;c[b+52>>2]=27;c[b+56>>2]=2;c[b+60>>2]=5126;c[b+64>>2]=-1;a[b+68>>0]=0;a[b+69>>0]=0;g=b+72|0;c[g>>2]=81428;e=b+76|0;c[e>>2]=0;h=b+80|0;c[h>>2]=0;f=b+84|0;c[f>>2]=0;if(!d){c[b>>2]=81444;c[g>>2]=81684;return}if(d>>>0>536870911)g1a(e);i=j0a(d<<3)|0;c[h>>2]=i;c[e>>2]=i;c[f>>2]=i+(d<<3);e=i;do{c[e>>2]=0;c[e+4>>2]=0;e=(c[h>>2]|0)+8|0;c[h>>2]=e;d=d+-1|0}while((d|0)!=0);c[b>>2]=81444;c[g>>2]=81684;return}function CS(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;j=l;l=l+16|0;g=j;Uha(b,1);h=b+12|0;c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;c[b+24>>2]=2;h=b+28|0;c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;c[h+12>>2]=0;c[h+16>>2]=0;c[h+20>>2]=0;c[b>>2]=77332;c[b+52>>2]=29;c[b+56>>2]=4;c[b+60>>2]=5126;c[b+64>>2]=-1;a[b+68>>0]=0;a[b+69>>0]=0;c[g>>2]=0;c[g+4>>2]=0;c[g+8>>2]=0;c[g+12>>2]=0;h=b+72|0;c[h>>2]=77316;e=b+76|0;c[e>>2]=0;i=b+80|0;c[i>>2]=0;f=b+84|0;c[f>>2]=0;if(!d){c[b>>2]=76848;c[h>>2]=77088;l=j;return}if(d>>>0>268435455)g1a(e);k=j0a(d<<4)|0;c[i>>2]=k;c[e>>2]=k;c[f>>2]=k+(d<<4);e=k;do{c[e>>2]=c[g>>2];c[e+4>>2]=c[g+4>>2];c[e+8>>2]=c[g+8>>2];c[e+12>>2]=c[g+12>>2];e=(c[i>>2]|0)+16|0;c[i>>2]=e;d=d+-1|0}while((d|0)!=0);c[b>>2]=76848;c[h>>2]=77088;l=j;return}function DS(a){a=a|0;var b=0;c[a+72>>2]=81428;b=c[a+76>>2]|0;if(!b){Ys(a);return}c[a+80>>2]=b;l0a(b);Ys(a);return}function ES(a){a=a|0;var b=0;c[a+72>>2]=81428;b=c[a+76>>2]|0;if(b|0){c[a+80>>2]=b;l0a(b)}Ys(a);l0a(a);return}function FS(b){b=b|0;var d=0;b=j0a(88)|0;Uha(b,1);d=b+12|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[b+24>>2]=2;d=b+28|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[d+12>>2]=0;c[d+16>>2]=0;c[d+20>>2]=0;c[b+52>>2]=27;c[b+56>>2]=2;c[b+60>>2]=5126;c[b+64>>2]=-1;a[b+68>>0]=0;a[b+69>>0]=0;c[b+76>>2]=0;c[b+80>>2]=0;c[b+84>>2]=0;c[b>>2]=81444;c[b+72>>2]=81684;return b|0}function GS(a,b){a=a|0;b=b|0;var c=0;c=j0a(88)|0;YS(c,a,b);return c|0}function HS(a){a=a|0;var b=0;b=c[a+76>>2]|0;return ((b|0)==(c[a+80>>2]|0)?0:b)|0}function IS(a){a=a|0;return (c[a+80>>2]|0)-(c[a+76>>2]|0)|0}function JS(a,b){a=a|0;b=b|0;Jk[c[(c[b>>2]|0)+116>>2]&1023](b,a);return}function KS(a,b){a=a|0;b=b|0;Jk[c[(c[b>>2]|0)+116>>2]&1023](b,a);return}function LS(a,b,d){a=a|0;b=b|0;d=d|0;Jk[c[(c[d>>2]|0)+112>>2]&1023](d,(c[a+76>>2]|0)+(b<<3)|0);return}function MS(a,b,d){a=a|0;b=b|0;d=d|0;Jk[c[(c[d>>2]|0)+112>>2]&1023](d,(c[a+76>>2]|0)+(b<<3)|0);return}function NS(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,f=0.0;a=c[a+76>>2]|0;e=+g[a+(b<<3)>>2];f=+g[a+(d<<3)>>2];if(e<f){d=-1;return d|0}if(!(e>f)){if(+g[a+(b<<3)+4>>2]<+g[a+(d<<3)+4>>2]){d=-1;return d|0}if(!(+g[a+(d<<3)+4>>2]<+g[a+(b<<3)+4>>2])){d=0;return d|0}}d=1;return d|0}function OS(a){a=a|0;return 8}function PS(a,b){a=a|0;b=b|0;var d=0;d=c[a+76>>2]|0;return ((d|0)==(c[a+80>>2]|0)?0:d+(b<<3)|0)|0}function QS(a){a=a|0;return (c[a+80>>2]|0)-(c[a+76>>2]|0)>>3|0}function RS(a,b){a=a|0;b=b|0;XS(a+76|0,b);return}function SS(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,h=0,i=0;i=l;l=l+16|0;f=i;g[f>>2]=0.0;g[f+4>>2]=0.0;h=a+76|0;a=a+80|0;d=c[h>>2]|0;e=(c[a>>2]|0)-d>>3;if(e>>>0<b>>>0){WS(h,b-e|0,f);l=i;return}if(e>>>0<=b>>>0){l=i;return}c[a>>2]=d+(b<<3);l=i;return}function TS(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0;p=l;l=l+16|0;g=p;c[g>>2]=81428;h=g+4|0;i=a+76|0;c[h>>2]=0;j=g+8|0;c[j>>2]=0;k=g+12|0;c[k>>2]=0;m=a+80|0;n=c[m>>2]|0;o=c[i>>2]|0;f=n-o|0;b=f>>3;if(f){if(b>>>0>536870911)g1a(h);d=j0a(f)|0;c[j>>2]=d;c[h>>2]=d;b=d+(b<<3)|0;c[k>>2]=b;e=d;if((f|0)>0){q=d+(f>>>3<<3)|0;x2a(d|0,o|0,f|0)|0;c[j>>2]=q;f=e;d=q}else{f=e;d=e}}else{f=0;d=0;b=0}c[h>>2]=o;c[i>>2]=f;c[j>>2]=n;c[m>>2]=d;q=a+84|0;c[k>>2]=c[q>>2];c[q>>2]=b;c[g>>2]=81428;if(!o){l=p;return}c[j>>2]=o;l0a(o);l=p;return}function US(a){a=a|0;var b=0;a=a+-72|0;c[a+72>>2]=81428;b=c[a+76>>2]|0;if(!b){Ys(a);return}c[a+80>>2]=b;l0a(b);Ys(a);return}function VS(a){a=a|0;var b=0;a=a+-72|0;c[a+72>>2]=81428;b=c[a+76>>2]|0;if(b|0){c[a+80>>2]=b;l0a(b)}Ys(a);l0a(a);return}function WS(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;k=a+8|0;g=c[k>>2]|0;l=a+4|0;e=c[l>>2]|0;if(g-e>>3>>>0>=b>>>0){do{j=d;a=c[j+4>>2]|0;k=e;c[k>>2]=c[j>>2];c[k+4>>2]=a;e=(c[l>>2]|0)+8|0;c[l>>2]=e;b=b+-1|0}while((b|0)!=0);return}f=c[a>>2]|0;h=e-f>>3;j=h+b|0;if(j>>>0>536870911)g1a(a);i=g-f|0;e=i>>2;e=i>>3>>>0<268435455?(e>>>0<j>>>0?j:e):536870911;do if(e)if(e>>>0>536870911){l=db(8)|0;p0a(l,183738);c[l>>2]=110936;hb(l|0,65952,1066)}else{i=j0a(e<<3)|0;break}else i=0;while(0);g=i+(h<<3)|0;h=i+(e<<3)|0;e=g;while(1){n=d;m=c[n+4>>2]|0;f=e;c[f>>2]=c[n>>2];c[f+4>>2]=m;b=b+-1|0;if(!b)break;else e=e+8|0}b=c[a>>2]|0;f=(c[l>>2]|0)-b|0;e=g+(0-(f>>3)<<3)|0;if((f|0)>0)x2a(e|0,b|0,f|0)|0;c[a>>2]=e;c[l>>2]=i+(j<<3);c[k>>2]=h;if(!b)return;l0a(b);return}function XS(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;f=a+8|0;g=c[a>>2]|0;if((c[f>>2]|0)-g>>3>>>0>=b>>>0)return;h=a+4|0;if(b>>>0>536870911){h=db(8)|0;p0a(h,183738);c[h>>2]=110936;hb(h|0,65952,1066)}d=(c[h>>2]|0)-g|0;e=j0a(b<<3)|0;if((d|0)>0)x2a(e|0,g|0,d|0)|0;c[a>>2]=e;c[h>>2]=e+(d>>3<<3);c[f>>2]=e+(b<<3);if(!g)return;l0a(g);return}function YS(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0;Or(b,d,e);c[b>>2]=69040;c[b+32>>2]=0;c[b+36>>2]=0;c[b+40>>2]=0;e=c[d+44>>2]|0;c[b+44>>2]=e;if(e|0){l=e+(c[(c[e>>2]|0)+-12>>2]|0)+8|0;c[l>>2]=(c[l>>2]|0)+1}c[b+48>>2]=0;c[b>>2]=77332;c[b+52>>2]=c[d+52>>2];c[b+56>>2]=c[d+56>>2];c[b+60>>2]=c[d+60>>2];c[b+64>>2]=c[d+64>>2];a[b+68>>0]=a[d+68>>0]|0;a[b+69>>0]=a[d+69>>0]|0;k=b+72|0;c[k>>2]=81428;f=b+76|0;g=d+76|0;c[f>>2]=0;l=b+80|0;c[l>>2]=0;h=b+84|0;c[h>>2]=0;i=d+80|0;e=(c[i>>2]|0)-(c[g>>2]|0)|0;d=e>>3;if(!e){c[b>>2]=81444;c[k>>2]=81684;return}if(d>>>0>536870911)g1a(f);j=j0a(e)|0;c[l>>2]=j;c[f>>2]=j;c[h>>2]=j+(d<<3);d=c[g>>2]|0;e=(c[i>>2]|0)-d|0;if((e|0)<=0){c[b>>2]=81444;c[k>>2]=81684;return}x2a(j|0,d|0,e|0)|0;c[l>>2]=j+(e>>>3<<3);c[b>>2]=81444;c[k>>2]=81684;return}function ZS(a){a=a|0;var b=0;c[a>>2]=81428;b=c[a+4>>2]|0;if(!b)return;c[a+8>>2]=b;l0a(b);return}function _S(a){a=a|0;var b=0;c[a>>2]=81428;b=c[a+4>>2]|0;if(!b){l0a(a);return}c[a+8>>2]=b;l0a(b);l0a(a);return}function $S(){var b=0.0,c=0,d=0,e=0;c=di(7938)|0;if(!c){b=0.0;return +b}d=a[c>>0]|0;if(!(d<<24>>24)){b=0.0;return +b}while(1){if((d+-48&255)<10)break;c=c+1|0;d=a[c>>0]|0;if(!(d<<24>>24)){b=0.0;e=7;break}}if((e|0)==7)return +b;b=+fu(c);return +b}function aT(a,b){a=a|0;b=b|0;return gu(a,b,3402823466385288598117041.0e14)|0}function bT(a){a=a|0;return sc(a|0)|0}function cT(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;d=c[56385]|0;e=c[56384]|0;f=d-e>>2;do if(f>>>0<=a>>>0){g=a+1|0;if(g>>>0>f>>>0){du(225536,g-f|0);break}if(g>>>0<f>>>0){f=e+(g<<2)|0;if((f|0)!=(d|0))do{d=d+-4|0;e=c[d>>2]|0;if(e|0?(h=e+8|0,g=c[h>>2]|0,c[h>>2]=g-1,(g|0)==1):0)UU(e,1,1);c[d>>2]=0}while((d|0)!=(f|0));c[56385]=f}}while(0);d=(c[56384]|0)+(a<<2)|0;e=c[d>>2]|0;if((e|0)==(b|0))return;c[d>>2]=b;if(b|0){h=b+8|0;c[h>>2]=(c[h>>2]|0)+1}if(!e)return;b=e+8|0;h=c[b>>2]|0;c[b>>2]=h-1;if((h|0)!=1)return;UU(e,1,1);return}function dT(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=l;l=l+16|0;f=h+4|0;e=h;c[f>>2]=0;c[e>>2]=0;Nk[c[a+120>>2]&255](b,35716,f);f=c[f>>2]|0;if((f|0)<=1){g=0;l=h;return g|0}g=k0a(f)|0;Qk[c[a+124>>2]&127](b,f,e,g);if((c[e>>2]|0)>0)E0a(d,g)|0;m0a(g);g=(c[e>>2]|0)>0;l=h;return g|0}function eT(a,b,d){a=a|0;b=+b;d=d|0;var e=0,f=0,g=0;gk[c[(c[56408]|0)+8>>2]&1023](225632)|0;e=c[56400]|0;if(e){f=225600;do{g=(c[e+16>>2]|0)>>>0<a>>>0;f=g?f:e;e=c[(g?e+4|0:e)>>2]|0}while((e|0)!=0);if((f|0)!=225600?(c[f+16>>2]|0)>>>0<=a>>>0:0){f=c[f+20>>2]|0;e=f}else{e=0;f=0}}else{e=0;f=0}gk[c[(c[56408]|0)+12>>2]&1023](225632)|0;Ik[c[(c[e>>2]|0)+28>>2]&7](f,b,d);return}function fT(a){a=a|0;var b=0,d=0,e=0;gk[c[(c[56408]|0)+8>>2]&1023](225632)|0;b=c[56400]|0;if(b){d=225600;do{e=(c[b+16>>2]|0)>>>0<a>>>0;d=e?d:b;b=c[(e?b+4|0:b)>>2]|0}while((b|0)!=0);if((d|0)!=225600?(c[d+16>>2]|0)>>>0<=a>>>0:0){d=c[d+20>>2]|0;b=d}else{b=0;d=0}}else{b=0;d=0}gk[c[(c[56408]|0)+12>>2]&1023](225632)|0;Bk[c[(c[b>>2]|0)+32>>2]&2047](d);return}function gT(a){a=a|0;yQ()|0;return SR(c[56435]|0,a)|0}function hT(a){a=a|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;c[a+12>>2]=0;c[a+16>>2]=0;return}function iT(b){b=b|0;var d=0,e=0,f=0;c[b>>2]=81704;d=b+64|0;c[d>>2]=81744;c[b+8>>2]=81724;e=b+12|0;c[e>>2]=68044;f=b+44|0;if((a[f+11>>0]|0)<0)l0a(c[f>>2]|0);oRa(e);wSa(b,81756);iRa(d);return}function jT(b){b=b|0;var d=0,e=0,f=0;c[b>>2]=81704;d=b+64|0;c[d>>2]=81744;c[b+8>>2]=81724;e=b+12|0;c[e>>2]=68044;f=b+44|0;if((a[f+11>>0]|0)<0)l0a(c[f>>2]|0);oRa(e);wSa(b,81756);iRa(d);l0a(b);return}function kT(b){b=b|0;var d=0,e=0,f=0;b=b+-8|0;c[b>>2]=81704;d=b+64|0;c[d>>2]=81744;c[b+8>>2]=81724;e=b+12|0;c[e>>2]=68044;f=b+44|0;if((a[f+11>>0]|0)<0)l0a(c[f>>2]|0);oRa(e);wSa(b,81756);iRa(d);return}function lT(b){b=b|0;var d=0,e=0,f=0;b=b+-8|0;c[b>>2]=81704;d=b+64|0;c[d>>2]=81744;c[b+8>>2]=81724;e=b+12|0;c[e>>2]=68044;f=b+44|0;if((a[f+11>>0]|0)<0)l0a(c[f>>2]|0);oRa(e);wSa(b,81756);iRa(d);l0a(b);return}function mT(b){b=b|0;var d=0,e=0,f=0;b=b+(c[(c[b>>2]|0)+-12>>2]|0)|0;c[b>>2]=81704;d=b+64|0;c[d>>2]=81744;c[b+8>>2]=81724;e=b+12|0;c[e>>2]=68044;f=b+44|0;if((a[f+11>>0]|0)<0)l0a(c[f>>2]|0);oRa(e);wSa(b,81756);iRa(d);return}function nT(b){b=b|0;var d=0,e=0,f=0;b=b+(c[(c[b>>2]|0)+-12>>2]|0)|0;c[b>>2]=81704;d=b+64|0;c[d>>2]=81744;c[b+8>>2]=81724;e=b+12|0;c[e>>2]=68044;f=b+44|0;if((a[f+11>>0]|0)<0)l0a(c[f>>2]|0);oRa(e);wSa(b,81756);iRa(d);l0a(b);return}function oT(b){b=b|0;var d=0,e=0,f=0,g=0;g=l;l=l+16|0;e=g;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;f=Jh(148419)|0;if(!f){l=g;return}d=0;while(1){if(!(a[f+d>>0]|0))break;d=d+1|0;if(d>>>0>=4096){d=4096;break}}A0a(e,f,d)|0;pT(b,e);if((a[e+11>>0]|0)>=0){l=g;return}l0a(c[e>>2]|0);l=g;return}function pT(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0;m=l;l=l+16|0;i=m;e=R0a(d,58,-1)|0;h=R0a(d,46,-1)|0;h=h>>>0<e>>>0&((e|0)!=-1&(h|0)!=-1)?-1:h;if((e|0)==-1)E0a(b,231036)|0;else{x0a(i,d,0,e,d);f=b+11|0;if((a[f>>0]|0)<0){a[c[b>>2]>>0]=0;c[b+4>>2]=0}else{a[b>>0]=0;a[f>>0]=0}D0a(b,0);c[b>>2]=c[i>>2];c[b+4>>2]=c[i+4>>2];c[b+8>>2]=c[i+8>>2]}f=e+1|0;g=(h|0)==-1;do if(g){e=a[d+11>>0]|0;if(e<<24>>24<0){e=c[d+4>>2]|0;break}else{e=e&255;break}}else e=h;while(0);if(e>>>0>f>>>0){x0a(i,d,f,e-f|0,d);if((a[i+11>>0]|0)<0){f=c[i>>2]|0;c[b+12>>2]=TOa(f)|0;l0a(f)}else c[b+12>>2]=TOa(i)|0}else c[b+12>>2]=-1;if(!g?(j=h+1|0,k=a[d+11>>0]|0,k=k<<24>>24<0?c[d+4>>2]|0:k&255,j>>>0<k>>>0):0){x0a(i,d,j,k+~h|0,d);if((a[i+11>>0]|0)<0){k=c[i>>2]|0;c[b+16>>2]=TOa(k)|0;l0a(k)}else c[b+16>>2]=TOa(i)|0;l=m;return}c[b+16>>2]=-1;l=m;return}function qT(d,e){d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0;n=l;l=l+16|0;m=n;Tha(d);f=d+12|0;c[f>>2]=0;c[f+4>>2]=0;c[f+8>>2]=0;c[f+12>>2]=0;c[f+16>>2]=0;c[d>>2]=81408;f=d+32|0;g=d+73|0;h=f;i=h+40|0;do{c[h>>2]=0;h=h+4|0}while((h|0)<(i|0));a[f+40>>0]=0;a[g>>0]=1;c[d+76>>2]=8;c[d+80>>2]=8;c[d+84>>2]=8;f=d+88|0;c[f>>2]=0;c[d+92>>2]=24;g=d+96|0;h=d+112|0;c[g>>2]=0;c[g+4>>2]=0;c[g+8>>2]=0;b[g+12>>1]=0;a[g+14>>0]=0;c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;c[h+12>>2]=0;c[h+16>>2]=0;a[d+132>>0]=1;a[d+133>>0]=0;c[d+136>>2]=0;c[d+140>>2]=0;a[d+144>>0]=0;a[d+145>>0]=1;h=d+148|0;i=d+152|0;c[i>>2]=0;c[i+4>>2]=0;a[h+11>>0]=3;a[h>>0]=a[116500]|0;a[h+1>>0]=a[116501]|0;a[h+2>>0]=a[116502]|0;a[h+3>>0]=0;i=d+160|0;j=d+164|0;k=d+184|0;c[k>>2]=0;c[d+192>>2]=0;c[d+196>>2]=0;c[i>>2]=0;c[i+4>>2]=0;c[i+8>>2]=0;c[i+12>>2]=0;c[i+16>>2]=0;b[i+20>>1]=0;c[d+188>>2]=d+192;if(!e){l=n;return}c[f>>2]=c[e+60>>2];c[g>>2]=c[e+64>>2];f=c[e+88>>2]|0;if(!f)f=0;else c[d+100>>2]=1;c[d+104>>2]=f;a:do if(a[e+16>>0]|0)switch(c[e+20>>2]|0){case 0:{a[d+109>>0]=1;break a}case 6:case 8:case 7:{c[g>>2]=8;break a}default:break a}while(0);t0a(m,e+132|0);z0a(h,m)|0;if((a[m+11>>0]|0)<0)l0a(c[m>>2]|0);c[i>>2]=c[e+144>>2];c[j>>2]=c[e+148>>2];c[k>>2]=c[e+152>>2];l=n;return}function rT(){return LR()|0}function sT(){var a=0,b=0,d=0,e=0;gk[c[(c[56408]|0)+8>>2]&1023](225632)|0;b=c[56399]|0;if((b|0)==225600){e=0;d=c[56408]|0;d=d+12|0;d=c[d>>2]|0;gk[d&1023](225632)|0;return e|0}a=0;do{d=c[b+16>>2]|0;a=d>>>0>a>>>0?d:a;d=c[b+4>>2]|0;if(!d){d=b+8|0;e=c[d>>2]|0;if((c[e>>2]|0)==(b|0))b=e;else do{e=c[d>>2]|0;d=e+8|0;b=c[d>>2]|0}while((c[b>>2]|0)!=(e|0))}else{b=d;while(1){d=c[b>>2]|0;if(!d)break;else b=d}}}while((b|0)!=225600);e=c[56408]|0;e=e+12|0;e=c[e>>2]|0;gk[e&1023](225632)|0;return a|0}function tT(a){a=a|0;MR(a);return}function uT(a){a=a|0;return QR(a)|0}function vT(b){b=b|0;var d=0,e=0,f=0;Tha(b);d=b+12|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[b+24>>2]=2;c[b+28>>2]=0;c[b>>2]=74520;d=b+32|0;c[d>>2]=d;c[b+36>>2]=d;d=b+40|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[d+12>>2]=0;c[d+16>>2]=0;c[d+20>>2]=0;g[b+64>>2]=1.0;c[b+68>>2]=0;c[b+72>>2]=0;xla(b+76|0,0);d=b+88|0;c[d>>2]=0;e=b+92|0;c[e>>2]=e;c[b+96>>2]=e;e=b+100|0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[e+12>>2]=0;c[e+16>>2]=0;c[e+20>>2]=0;c[e+24>>2]=0;c[e+28>>2]=0;Jk[c[c[b>>2]>>2]&1023](b,1);e=j0a(40)|0;f=e+28|0;Uha(f,1);xla(e+4|0,0);wla(e+16|0);a[e+24>>0]=0;c[e>>2]=81364;c[f>>2]=81388;f=c[d>>2]|0;if((f|0)==(e|0)){NR(b);return}c[d>>2]=e;e=e+36|0;c[e>>2]=(c[e>>2]|0)+1;if(!f){NR(b);return}d=f+(c[(c[f>>2]|0)+-12>>2]|0)|0;e=d+8|0;f=c[e>>2]|0;c[e>>2]=f-1;if((f|0)!=1){NR(b);return}UU(d,1,1);NR(b);return}function wT(a){a=a|0;var b=0;c[a+72>>2]=ila()|0;b=gk[c[(c[a>>2]|0)+188>>2]&1023](a)|0;if(!b)return b|0;a=c[a+48>>2]|0;Bk[c[(c[a>>2]|0)+12>>2]&2047](a);return b|0}function xT(a){a=a|0;var b=0;b=gk[c[(c[a>>2]|0)+196>>2]&1023](a)|0;c[a+72>>2]=-1;return b|0}function yT(a,b){a=a|0;b=b|0;b=kk[c[(c[a>>2]|0)+192>>2]&511](a,b)|0;if(!b)return b|0;c[a+72>>2]=ila()|0;a=c[a+48>>2]|0;Bk[c[(c[a>>2]|0)+12>>2]&2047](a);return b|0}function zT(a){a=a|0;var b=0,d=0;b=a+72|0;d=c[b>>2]|0;if((d|0)==(ila()|0)){b=c[a+48>>2]|0;if(b|0)Bk[c[(c[b>>2]|0)+16>>2]&2047](b);b=c[a+116>>2]|0;if(!b){Bk[c[(c[a>>2]|0)+204>>2]&2047](a);b=a}else{Jk[c[(c[b>>2]|0)+12>>2]&1023](b,a);b=a}Bk[c[(c[b>>2]|0)+172>>2]&2047](a);return}d=c[a+108>>2]|0;if(d|0?(c[b>>2]|0)==(d+12|0):0){a=j0a(32)|0;AT(a);BT(d,a);return}c[b>>2]=ila()|0;b=a+48|0;if(gk[c[(c[a>>2]|0)+188>>2]&1023](a)|0){d=c[b>>2]|0;Bk[c[(c[d>>2]|0)+12>>2]&2047](d)}b=c[b>>2]|0;if(b|0)Bk[c[(c[b>>2]|0)+16>>2]&2047](b);b=c[a+116>>2]|0;if(!b){Bk[c[(c[a>>2]|0)+204>>2]&2047](a);b=a}else{Jk[c[(c[b>>2]|0)+12>>2]&1023](b,a);b=a}Bk[c[(c[b>>2]|0)+172>>2]&2047](a);return}function AT(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;h=l;l=l+16|0;d=h;e=b+20|0;Uha(e,1);c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;f=j0a(16)|0;c[d>>2]=f;c[d+8>>2]=-2147483632;c[d+4>>2]=11;g=f;i=148437;j=g+11|0;do{a[g>>0]=a[i>>0]|0;g=g+1|0;i=i+1|0}while((g|0)<(j|0));a[f+11>>0]=0;c[b>>2]=46548;c[e>>2]=46580;t0a(b+4|0,d);a[b+16>>0]=1;c[b>>2]=46604;c[e>>2]=46640;if((a[d+11>>0]|0)>=0){c[b>>2]=80116;c[e>>2]=80152;l=h;return}l0a(c[d>>2]|0);c[b>>2]=80116;c[e>>2]=80152;l=h;return}function BT(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;e=a+32|0;gk[c[(c[e>>2]|0)+8>>2]&1023](e)|0;a=a+44|0;if((((c[a>>2]|0)==0?(f=j0a(56)|0,CR(f),d=c[a>>2]|0,(d|0)!=(f|0)):0)?(c[a>>2]=f,f=f+8|0,c[f>>2]=(c[f>>2]|0)+1,d|0):0)?(g=d+8|0,f=c[g>>2]|0,c[g>>2]=f-1,(f|0)==1):0)UU(d,1,1);CT(c[a>>2]|0,b);gk[c[(c[e>>2]|0)+12>>2]&1023](e)|0;return}function CT(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;j=l;l=l+16|0;e=j;if((a[223632]|0)==0?g2a(223632)|0:0)kr(225352);if((c[56338]|0)>3){i=mr(lr(4)|0,148427,9)|0;BSa(e,i+(c[(c[i>>2]|0)+-12>>2]|0)|0);g=cUa(e,230580)|0;g=kk[c[(c[g>>2]|0)+28>>2]&511](g,10)|0;dUa(e);VSa(i,g)|0;HSa(i)|0}i=b+12|0;gk[c[(c[i>>2]|0)+8>>2]&1023](i)|0;e=(d|0)==0;if(!e){g=d+(c[(c[d>>2]|0)+-12>>2]|0)+8|0;c[g>>2]=(c[g>>2]|0)+1}f=b+28|0;g=j0a(12)|0;c[g>>2]=0;c[g+8>>2]=d;if(!e){k=d+(c[(c[d>>2]|0)+-12>>2]|0)+8|0;c[k>>2]=(c[k>>2]|0)+1}c[g+4>>2]=f;k=c[f>>2]|0;c[g>>2]=k;c[k+4>>2]=g;c[f>>2]=g;k=b+36|0;c[k>>2]=(c[k>>2]|0)+1;if(!e?(h=d+(c[(c[d>>2]|0)+-12>>2]|0)|0,d=h+8|0,k=c[d>>2]|0,c[d>>2]=k-1,(k|0)==1):0)UU(h,1,1);e=c[b+24>>2]|0;f=e+4|0;g=e+24|0;if((a[g>>0]|0)==1){k=c[i>>2]|0;k=k+12|0;k=c[k>>2]|0;gk[k&1023](i)|0;l=j;return}gk[c[(c[f>>2]|0)+8>>2]&1023](f)|0;if(!(a[g>>0]|0)){a[g>>0]=1;Eha(e+16|0)|0}gk[c[(c[f>>2]|0)+12>>2]&1023](f)|0;k=c[i>>2]|0;k=k+12|0;k=c[k>>2]|0;gk[k&1023](i)|0;l=j;return}function DT(a){a=a|0;var b=0,d=0;b=a+108|0;if(c[b>>2]|0)return;d=j0a(52)|0;BR(d);c[d>>2]=74784;c[d+12>>2]=74812;oH(a,d);a=c[a+44>>2]|0;if(!a)return;kla((c[b>>2]|0)+12|0,a+188|0)|0;return}function ET(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;j=l;l=l+16|0;e=j;if((a[223632]|0)==0?g2a(223632)|0:0)kr(225352);if((c[56338]|0)>3){i=mr(lr(4)|0,148427,9)|0;BSa(e,i+(c[(c[i>>2]|0)+-12>>2]|0)|0);g=cUa(e,230580)|0;g=kk[c[(c[g>>2]|0)+28>>2]&511](g,10)|0;dUa(e);VSa(i,g)|0;HSa(i)|0}i=b+76|0;gk[c[(c[i>>2]|0)+8>>2]&1023](i)|0;e=(d|0)==0;if(!e){g=d+(c[(c[d>>2]|0)+-12>>2]|0)+8|0;c[g>>2]=(c[g>>2]|0)+1}f=b+92|0;g=j0a(12)|0;c[g>>2]=0;c[g+8>>2]=d;if(!e){k=d+(c[(c[d>>2]|0)+-12>>2]|0)+8|0;c[k>>2]=(c[k>>2]|0)+1}c[g+4>>2]=f;k=c[f>>2]|0;c[g>>2]=k;c[k+4>>2]=g;c[f>>2]=g;k=b+100|0;c[k>>2]=(c[k>>2]|0)+1;if(!e?(h=d+(c[(c[d>>2]|0)+-12>>2]|0)|0,d=h+8|0,k=c[d>>2]|0,c[d>>2]=k-1,(k|0)==1):0)UU(h,1,1);e=c[b+88>>2]|0;f=e+4|0;g=e+24|0;if((a[g>>0]|0)==1){k=c[i>>2]|0;k=k+12|0;k=c[k>>2]|0;gk[k&1023](i)|0;l=j;return}gk[c[(c[f>>2]|0)+8>>2]&1023](f)|0;if(!(a[g>>0]|0)){a[g>>0]=1;Eha(e+16|0)|0}gk[c[(c[f>>2]|0)+12>>2]&1023](f)|0;k=c[i>>2]|0;k=k+12|0;k=c[k>>2]|0;gk[k&1023](i)|0;l=j;return}function FT(b){b=b|0;var d=0,e=0,f=0,g=0;e=l;l=l+16|0;d=e;Tha(b);c[b>>2]=74740;if((a[223632]|0)==0?g2a(223632)|0:0)kr(225352);if((c[56338]|0)<=3){d=b+12|0;c[d>>2]=0;l=e;return}f=mr(lr(4)|0,148449,32)|0;BSa(d,f+(c[(c[f>>2]|0)+-12>>2]|0)|0);g=cUa(d,230580)|0;g=kk[c[(c[g>>2]|0)+28>>2]&511](g,10)|0;dUa(d);VSa(f,g)|0;HSa(f)|0;d=b+12|0;c[d>>2]=0;l=e;return}function GT(a){a=a|0;SU(a);l0a(a);return}function HT(b,d,e){b=b|0;d=d|0;e=e|0;var f=0.0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;do if(!(a[e+183>>0]|0)){if(a[e+181>>0]|0?a[e+180>>0]|0:0){r=1;break};c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;c[b+12>>2]=0;return}else r=0;while(0);c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;c[b+12>>2]=0;g=c[e+232>>2]|0;if(!g)f=0.0;else{o=gk[c[(c[g>>2]|0)+168>>2]&1023](g)|0;p=c[d+32>>2]|0;f=+h[d+16>>3]+ +h[d+24>>3]*(o>>>0>p>>>0?+((o-p|0)>>>0):0.0)+0.0;h[b>>3]=f}g=c[e+236>>2]|0;if(g){o=gk[c[(c[g>>2]|0)+168>>2]&1023](g)|0;p=c[d+32>>2]|0;f=f+(+h[d+16>>3]+ +h[d+24>>3]*(o>>>0>p>>>0?+((o-p|0)>>>0):0.0));h[b>>3]=f}g=c[e+240>>2]|0;if(g){o=gk[c[(c[g>>2]|0)+168>>2]&1023](g)|0;p=c[d+32>>2]|0;f=f+(+h[d+16>>3]+ +h[d+24>>3]*(o>>>0>p>>>0?+((o-p|0)>>>0):0.0));h[b>>3]=f}g=c[e+244>>2]|0;if(g){o=gk[c[(c[g>>2]|0)+168>>2]&1023](g)|0;p=c[d+32>>2]|0;f=f+(+h[d+16>>3]+ +h[d+24>>3]*(o>>>0>p>>>0?+((o-p|0)>>>0):0.0));h[b>>3]=f}g=c[e+248>>2]|0;if(g){o=gk[c[(c[g>>2]|0)+168>>2]&1023](g)|0;p=c[d+32>>2]|0;f=f+(+h[d+16>>3]+ +h[d+24>>3]*(o>>>0>p>>>0?+((o-p|0)>>>0):0.0));h[b>>3]=f}l=e+252|0;m=e+256|0;i=c[m>>2]|0;g=c[l>>2]|0;if((i|0)!=(g|0)){n=d+16|0;o=d+24|0;p=d+32|0;k=0;j=i;while(1){i=c[g+(k<<2)>>2]|0;if(!i)i=j;else{i=gk[c[(c[i>>2]|0)+168>>2]&1023](i)|0;g=c[p>>2]|0;f=f+(+h[n>>3]+ +h[o>>3]*(i>>>0>g>>>0?+((i-g|0)>>>0):0.0));h[b>>3]=f;g=c[l>>2]|0;i=c[m>>2]|0}k=k+1|0;if(k>>>0>=i-g>>2>>>0)break;else j=i}}l=e+264|0;m=e+268|0;i=c[m>>2]|0;g=c[l>>2]|0;if((i|0)!=(g|0)){n=d+16|0;o=d+24|0;p=d+32|0;k=0;j=i;while(1){i=c[g+(k<<2)>>2]|0;if(!i)i=j;else{i=gk[c[(c[i>>2]|0)+168>>2]&1023](i)|0;g=c[p>>2]|0;f=f+(+h[n>>3]+ +h[o>>3]*(i>>>0>g>>>0?+((i-g|0)>>>0):0.0));h[b>>3]=f;g=c[l>>2]|0;i=c[m>>2]|0}k=k+1|0;if(k>>>0>=i-g>>2>>>0)break;else j=i}}n=e+220|0;j=e+224|0;g=c[n>>2]|0;if((c[j>>2]|0)!=(g|0)){k=d+40|0;l=d+48|0;m=d+56|0;i=0;do{g=c[g+(i<<2)>>2]|0;if((g|0)!=0?(q=gk[c[(c[g>>2]|0)+196>>2]&1023](g)|0,(q|0)!=0):0){p=gk[c[(c[q>>2]|0)+168>>2]&1023](q)|0;e=c[m>>2]|0;f=f+(+h[k>>3]+ +h[l>>3]*(p>>>0>e>>>0?+((p-e|0)>>>0):0.0));h[b>>3]=f}i=i+1|0;g=c[n>>2]|0}while(i>>>0<(c[j>>2]|0)-g>>2>>>0)}if(!r)return;h[b>>3]=+h[d+112>>3]+ +h[d+120>>3]*f;return}function IT(a){a=a|0;SU(a);l0a(a);return}function JT(b,d,e){b=b|0;d=d|0;e=e|0;var f=0.0,g=0,i=0,j=0,k=0,m=0,n=0,o=0;n=l;l=l+16|0;k=n;c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;c[b+12>>2]=0;if(gk[c[(c[e>>2]|0)+244>>2]&1023](e)|0){m=d+16|0;j=d+24|0;i=d+32|0;g=0;f=0.0;do{d=kk[c[(c[e>>2]|0)+240>>2]&511](e,g)|0;if(d){o=gk[c[(c[d>>2]|0)+168>>2]&1023](d)|0;d=c[i>>2]|0;f=f+(+h[m>>3]+ +h[j>>3]*(o>>>0>d>>>0?+((o-d|0)>>>0):0.0));h[b>>3]=f}g=g+1|0}while(g>>>0<(gk[c[(c[e>>2]|0)+244>>2]&1023](e)|0)>>>0)}if((a[223632]|0)==0?g2a(223632)|0:0)kr(225352);if((c[56338]|0)<=2){l=n;return}o=mr(lr(3)|0,148541,50)|0;o=TSa(o,+h[b>>3])|0;BSa(k,o+(c[(c[o>>2]|0)+-12>>2]|0)|0);m=cUa(k,230580)|0;m=kk[c[(c[m>>2]|0)+28>>2]&511](m,10)|0;dUa(k);VSa(o,m)|0;HSa(o)|0;l=n;return}function KT(a){a=a|0;SU(a);l0a(a);return}function LT(a,b,d){a=a|0;b=b|0;d=d|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;c[a+12>>2]=0;return}function MT(a){a=a|0;var b=0,d=0,e=0,f=0;Tha(a);c[a>>2]=74764;d=a+12|0;c[d>>2]=0;e=a+16|0;c[e>>2]=0;f=a+20|0;c[f>>2]=0;b=j0a(128)|0;Tha(b);c[b>>2]=81800;h[b+16>>3]=1.0e-05;h[b+24>>3]=1.0e-10;c[b+32>>2]=256;h[b+40>>3]=1.0e-05;h[b+48>>3]=1.0e-10;c[b+56>>2]=256;h[b+64>>3]=1.0e-05;h[b+72>>3]=2.0e-11;c[b+80>>2]=256;h[b+88>>3]=1.0e-05;h[b+96>>3]=2.0e-11;c[b+104>>2]=256;h[b+112>>3]=0.0;h[b+120>>3]=10.0;a=c[d>>2]|0;if(((a|0)!=(b|0)?(c[d>>2]=b,d=b+8|0,c[d>>2]=(c[d>>2]|0)+1,a|0):0)?(b=a+8|0,d=c[b>>2]|0,c[b>>2]=d-1,(d|0)==1):0)UU(a,1,1);a=j0a(64)|0;Tha(a);c[a>>2]=81820;h[a+16>>3]=1.0e-05;h[a+24>>3]=1.0e-10;c[a+32>>2]=256;h[a+40>>3]=1.0e-05;h[a+48>>3]=2.0e-11;c[a+56>>2]=256;b=c[e>>2]|0;if(((b|0)!=(a|0)?(c[e>>2]=a,e=a+8|0,c[e>>2]=(c[e>>2]|0)+1,b|0):0)?(d=b+8|0,e=c[d>>2]|0,c[d>>2]=e-1,(e|0)==1):0)UU(b,1,1);a=j0a(88)|0;Tha(a);c[a>>2]=81840;d=a+16|0;e=a+40|0;b=a+64|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[d+12>>2]=0;c[d+16>>2]=0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[e+12>>2]=0;c[e+16>>2]=0;c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;c[b+12>>2]=0;c[b+16>>2]=0;b=c[f>>2]|0;if((b|0)==(a|0))return;c[f>>2]=a;f=a+8|0;c[f>>2]=(c[f>>2]|0)+1;if(!b)return;e=b+8|0;f=c[e>>2]|0;c[e>>2]=f-1;if((f|0)!=1)return;UU(b,1,1);return}function NT(b,d){b=b|0;d=d|0;var e=0,f=0;d=l;l=l+16|0;b=d;if((a[223632]|0)==0?g2a(223632)|0:0)kr(225352);if((c[56338]|0)<=3){l=d;return}e=mr(lr(4)|0,148621,36)|0;BSa(b,e+(c[(c[e>>2]|0)+-12>>2]|0)|0);f=cUa(b,230580)|0;f=kk[c[(c[f>>2]|0)+28>>2]&511](f,10)|0;dUa(b);VSa(e,f)|0;HSa(e)|0;l=d;return}function OT(a,b){a=a|0;b=b|0;if(!b)return;else{OT(a,c[b>>2]|0);OT(a,c[b+4>>2]|0);l0a(b);return}}function PT(a,b){a=a|0;b=b|0;if(!b)return;else{PT(a,c[b>>2]|0);PT(a,c[b+4>>2]|0);l0a(b);return}}function QT(b){b=b|0;var d=0,e=0,f=0,g=0;f=l;l=l+16|0;d=f;e=b+44|0;Uha(e,1);c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;g=d+11|0;a[g>>0]=5;a[d>>0]=a[148658]|0;a[d+1>>0]=a[148659]|0;a[d+2>>0]=a[148660]|0;a[d+3>>0]=a[148661]|0;a[d+4>>0]=a[148662]|0;a[d+5>>0]=0;c[b>>2]=45020;c[e>>2]=45052;t0a(b+4|0,d);a[b+16>>0]=0;c[b>>2]=45124;c[e>>2]=45160;if((a[g>>0]|0)<0)l0a(c[d>>2]|0);g=b+20|0;xla(g,0);wla(b+32|0);d=b+40|0;a[d>>0]=0;c[b>>2]=74900;c[e>>2]=74936;gk[c[(c[g>>2]|0)+8>>2]&1023](g)|0;a[d>>0]=0;gk[c[(c[g>>2]|0)+12>>2]&1023](g)|0;l=f;return}function RT(a,b){a=a|0;b=b|0;xla(a+12|0,0);wla(a+24|0);c[a+32>>2]=b;c[a+36>>2]=0;Tha(a);c[a>>2]=74956;return}function ST(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;a=N(zG(b,c)|0,a)|0;c=(d|0)==0?8:d<<3;b=(a|0)/(c|0)|0;return N(b+((a-(N(b,c)|0)|0)!=0&1)|0,d)|0}function TT(b){b=b|0;var d=0,e=0,f=0,h=0;Uha(b,1);d=b+12|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;d=b+24|0;c[b+28>>2]=0;e=b+32|0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[e+12>>2]=0;c[e+16>>2]=0;c[b>>2]=74980;e=b+52|0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;a[e+11>>0]=0;a[e>>0]=0;e=b+100|0;f=b+64|0;h=f+36|0;do{c[f>>2]=0;f=f+4|0}while((f|0)<(h|0));c[e>>2]=4;g[b+104>>2]=1.0;c[b+108>>2]=1;h=b+112|0;c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;c[h+12>>2]=0;c[h+16>>2]=0;c[h+20>>2]=0;c[h+24>>2]=0;c[d>>2]=1;return}function UT(a,b){a=a|0;b=+b;if(!(a+-1&a))return a|0;a=~~+wi(+(+z(+(+L(+(+(a|0)))/.6931471824645996+b))));return a|0}function VT(a,b,c){a=a|0;b=b|0;c=c|0;b=(a|0)>(b|0)?a:b;return 32-(Q(((b|0)>(c|0)?b:c)|0)|0)|0}function WT(a){a=a|0;switch(c[a+88>>2]|0){case 37491:case 37490:case 37489:case 37488:case 37497:case 37496:case 37495:case 37494:case 37493:case 37492:case 36196:{a=0;break}default:a=1}return a|0}function XT(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;h=c[a+112>>2]|0;if(!h){d=0;g=a+96|0}else{j=a+92|0;g=a+96|0;h=h+((N(zG(c[j>>2]|0,c[g>>2]|0)|0,d)|0)>>>3)|0;d=c[a+84>>2]|0;i=a+72|0;if(!d)d=c[i>>2]|0;k=a+100|0;n=c[k>>2]|0;m=N(zG(c[j>>2]|0,c[g>>2]|0)|0,d)|0;d=(n|0)==0?8:n<<3;l=(m|0)/(d|0)|0;h=h+(N(N(n,e)|0,l+((m-(N(l,d)|0)|0)!=0&1)|0)|0)|0;i=c[i>>2]|0;e=c[k>>2]|0;i=N(zG(c[j>>2]|0,c[g>>2]|0)|0,i)|0;d=(e|0)==0?8:e<<3;j=(i|0)/(d|0)|0;d=j+((i-(N(j,d)|0)|0)!=0&1)|0;d=h+(N(N(N(e,f)|0,c[a+76>>2]|0)|0,d)|0)|0}switch(c[g>>2]|0){case 5120:{YT(c[a+92>>2]|0,d,128.0,b);return}case 5121:{ZT(c[a+92>>2]|0,d,255.0,b);return}case 5122:{_T(c[a+92>>2]|0,d,32768.0,b);return}case 5123:{$T(c[a+92>>2]|0,d,65535.0,b);return}case 5124:{aU(c[a+92>>2]|0,d,2147483648.0,b);return}case 5125:{bU(c[a+92>>2]|0,d,4294967296.0,b);return}case 5126:{g=c[a+92>>2]|0;a:do if((g|0)<6409)switch(g|0){case 6402:break a;case 6406:{c[d>>2]=c[b+12>>2];return}case 6407:{c[d>>2]=c[b>>2];c[d+4>>2]=c[b+4>>2];c[d+8>>2]=c[b+8>>2];return}case 6408:{c[d>>2]=c[b>>2];c[d+4>>2]=c[b+4>>2];c[d+8>>2]=c[b+8>>2];c[d+12>>2]=c[b+12>>2];return}default:return}else{if((g|0)<32992){switch(g|0){case 6409:break a;case 6410:break;default:return}c[d>>2]=c[b>>2];c[d+4>>2]=c[b+12>>2];return}switch(g|0){case 32992:{c[d>>2]=c[b+8>>2];c[d+4>>2]=c[b+4>>2];c[d+8>>2]=c[b>>2];return}case 32993:{c[d>>2]=c[b+8>>2];c[d+4>>2]=c[b+4>>2];c[d+8>>2]=c[b>>2];c[d+12>>2]=c[b+12>>2];return}default:return}}while(0);c[d>>2]=c[b>>2];return}case 5130:{cU(c[a+92>>2]|0,d,1.0,b);return}default:return}}function YT(b,c,d,e){b=b|0;c=c|0;d=+d;e=e|0;var f=0;a:do if((b|0)<6409)switch(b|0){case 6402:{f=2;break a}case 6406:{e=e+12|0;break a}case 6407:{a[c>>0]=~~(+g[e>>2]*d);a[c+1>>0]=~~(+g[e+4>>2]*d);c=c+2|0;e=e+8|0;break a}case 6408:{a[c>>0]=~~(+g[e>>2]*d);a[c+1>>0]=~~(+g[e+4>>2]*d);a[c+2>>0]=~~(+g[e+8>>2]*d);c=c+3|0;e=e+12|0;break a}default:return}else{if((b|0)<32992)switch(b|0){case 6409:{f=2;break a}case 6410:{a[c>>0]=~~(+g[e>>2]*d);c=c+1|0;e=e+12|0;break a}default:return}switch(b|0){case 32992:{a[c>>0]=~~(+g[e+8>>2]*d);a[c+1>>0]=~~(+g[e+4>>2]*d);c=c+2|0;break a}case 32993:{a[c>>0]=~~(+g[e+8>>2]*d);a[c+1>>0]=~~(+g[e+4>>2]*d);a[c+2>>0]=~~(+g[e>>2]*d);c=c+3|0;e=e+12|0;break a}default:return}}while(0);a[c>>0]=~~(+g[e>>2]*d);return}function ZT(b,c,d,e){b=b|0;c=c|0;d=+d;e=e|0;var f=0;a:do if((b|0)<6409)switch(b|0){case 6402:{f=2;break a}case 6406:{e=e+12|0;break a}case 6407:{a[c>>0]=~~(+g[e>>2]*d);a[c+1>>0]=~~(+g[e+4>>2]*d);c=c+2|0;e=e+8|0;break a}case 6408:{a[c>>0]=~~(+g[e>>2]*d);a[c+1>>0]=~~(+g[e+4>>2]*d);a[c+2>>0]=~~(+g[e+8>>2]*d);c=c+3|0;e=e+12|0;break a}default:return}else{if((b|0)<32992)switch(b|0){case 6409:{f=2;break a}case 6410:{a[c>>0]=~~(+g[e>>2]*d);c=c+1|0;e=e+12|0;break a}default:return}switch(b|0){case 32992:{a[c>>0]=~~(+g[e+8>>2]*d);a[c+1>>0]=~~(+g[e+4>>2]*d);c=c+2|0;break a}case 32993:{a[c>>0]=~~(+g[e+8>>2]*d);a[c+1>>0]=~~(+g[e+4>>2]*d);a[c+2>>0]=~~(+g[e>>2]*d);c=c+3|0;e=e+12|0;break a}default:return}}while(0);a[c>>0]=~~(+g[e>>2]*d);return}function _T(a,c,d,e){a=a|0;c=c|0;d=+d;e=e|0;var f=0;a:do if((a|0)<6409)switch(a|0){case 6402:{f=2;break a}case 6406:{e=e+12|0;break a}case 6407:{b[c>>1]=~~(+g[e>>2]*d);b[c+2>>1]=~~(+g[e+4>>2]*d);c=c+4|0;e=e+8|0;break a}case 6408:{b[c>>1]=~~(+g[e>>2]*d);b[c+2>>1]=~~(+g[e+4>>2]*d);b[c+4>>1]=~~(+g[e+8>>2]*d);c=c+6|0;e=e+12|0;break a}default:return}else{if((a|0)<32992)switch(a|0){case 6409:{f=2;break a}case 6410:{b[c>>1]=~~(+g[e>>2]*d);c=c+2|0;e=e+12|0;break a}default:return}switch(a|0){case 32992:{b[c>>1]=~~(+g[e+8>>2]*d);b[c+2>>1]=~~(+g[e+4>>2]*d);c=c+4|0;break a}case 32993:{b[c>>1]=~~(+g[e+8>>2]*d);b[c+2>>1]=~~(+g[e+4>>2]*d);b[c+4>>1]=~~(+g[e>>2]*d);c=c+6|0;e=e+12|0;break a}default:return}}while(0);b[c>>1]=~~(+g[e>>2]*d);return}function $T(a,c,d,e){a=a|0;c=c|0;d=+d;e=e|0;var f=0;a:do if((a|0)<6409)switch(a|0){case 6402:{f=2;break a}case 6406:{e=e+12|0;break a}case 6407:{b[c>>1]=~~(+g[e>>2]*d);b[c+2>>1]=~~(+g[e+4>>2]*d);c=c+4|0;e=e+8|0;break a}case 6408:{b[c>>1]=~~(+g[e>>2]*d);b[c+2>>1]=~~(+g[e+4>>2]*d);b[c+4>>1]=~~(+g[e+8>>2]*d);c=c+6|0;e=e+12|0;break a}default:return}else{if((a|0)<32992)switch(a|0){case 6409:{f=2;break a}case 6410:{b[c>>1]=~~(+g[e>>2]*d);c=c+2|0;e=e+12|0;break a}default:return}switch(a|0){case 32992:{b[c>>1]=~~(+g[e+8>>2]*d);b[c+2>>1]=~~(+g[e+4>>2]*d);c=c+4|0;break a}case 32993:{b[c>>1]=~~(+g[e+8>>2]*d);b[c+2>>1]=~~(+g[e+4>>2]*d);b[c+4>>1]=~~(+g[e>>2]*d);c=c+6|0;e=e+12|0;break a}default:return}}while(0);b[c>>1]=~~(+g[e>>2]*d);return}function aU(a,b,d,e){a=a|0;b=b|0;d=+d;e=e|0;var f=0;a:do if((a|0)<6409)switch(a|0){case 6402:{f=2;break a}case 6406:{e=e+12|0;break a}case 6407:{c[b>>2]=~~(+g[e>>2]*d);c[b+4>>2]=~~(+g[e+4>>2]*d);b=b+8|0;e=e+8|0;break a}case 6408:{c[b>>2]=~~(+g[e>>2]*d);c[b+4>>2]=~~(+g[e+4>>2]*d);c[b+8>>2]=~~(+g[e+8>>2]*d);b=b+12|0;e=e+12|0;break a}default:return}else{if((a|0)<32992)switch(a|0){case 6409:{f=2;break a}case 6410:{c[b>>2]=~~(+g[e>>2]*d);b=b+4|0;e=e+12|0;break a}default:return}switch(a|0){case 32992:{c[b>>2]=~~(+g[e+8>>2]*d);c[b+4>>2]=~~(+g[e+4>>2]*d);b=b+8|0;break a}case 32993:{c[b>>2]=~~(+g[e+8>>2]*d);c[b+4>>2]=~~(+g[e+4>>2]*d);c[b+8>>2]=~~(+g[e>>2]*d);b=b+12|0;e=e+12|0;break a}default:return}}while(0);c[b>>2]=~~(+g[e>>2]*d);return}function bU(a,b,d,e){a=a|0;b=b|0;d=+d;e=e|0;var f=0;a:do if((a|0)<6409)switch(a|0){case 6402:{f=2;break a}case 6406:{e=e+12|0;break a}case 6407:{c[b>>2]=~~(+g[e>>2]*d)>>>0;c[b+4>>2]=~~(+g[e+4>>2]*d)>>>0;b=b+8|0;e=e+8|0;break a}case 6408:{c[b>>2]=~~(+g[e>>2]*d)>>>0;c[b+4>>2]=~~(+g[e+4>>2]*d)>>>0;c[b+8>>2]=~~(+g[e+8>>2]*d)>>>0;b=b+12|0;e=e+12|0;break a}default:return}else{if((a|0)<32992)switch(a|0){case 6409:{f=2;break a}case 6410:{c[b>>2]=~~(+g[e>>2]*d)>>>0;b=b+4|0;e=e+12|0;break a}default:return}switch(a|0){case 32992:{c[b>>2]=~~(+g[e+8>>2]*d)>>>0;c[b+4>>2]=~~(+g[e+4>>2]*d)>>>0;b=b+8|0;break a}case 32993:{c[b>>2]=~~(+g[e+8>>2]*d)>>>0;c[b+4>>2]=~~(+g[e+4>>2]*d)>>>0;c[b+8>>2]=~~(+g[e>>2]*d)>>>0;b=b+12|0;e=e+12|0;break a}default:return}}while(0);c[b>>2]=~~(+g[e>>2]*d)>>>0;return}function cU(a,b,c,d){a=a|0;b=b|0;c=+c;d=d|0;var e=0;a:do if((a|0)<6409)switch(a|0){case 6402:{e=2;break a}case 6406:{d=d+12|0;break a}case 6407:{h[b>>3]=+g[d>>2]*c;h[b+8>>3]=+g[d+4>>2]*c;b=b+16|0;d=d+8|0;break a}case 6408:{h[b>>3]=+g[d>>2]*c;h[b+8>>3]=+g[d+4>>2]*c;h[b+16>>3]=+g[d+8>>2]*c;b=b+24|0;d=d+12|0;break a}default:return}else{if((a|0)<32992)switch(a|0){case 6409:{e=2;break a}case 6410:{h[b>>3]=+g[d>>2]*c;b=b+8|0;d=d+12|0;break a}default:return}switch(a|0){case 32992:{h[b>>3]=+g[d+8>>2]*c;h[b+8>>3]=+g[d+4>>2]*c;b=b+16|0;break a}case 32993:{h[b>>3]=+g[d+8>>2]*c;h[b+8>>3]=+g[d+4>>2]*c;h[b+16>>3]=+g[d>>2]*c;b=b+24|0;d=d+12|0;break a}default:return}}while(0);h[b>>3]=+g[d>>2]*c;return}function dU(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0;o=l;l=l+32|0;m=o;n=a+4|0;d=c[a>>2]|0;f=((c[n>>2]|0)-d|0)/20|0;e=f+1|0;if(e>>>0>214748364)g1a(a);k=a+8|0;h=((c[k>>2]|0)-d|0)/20|0;d=h<<1;d=h>>>0<107374182?(d>>>0<e>>>0?e:d):214748364;h=m+12|0;c[h>>2]=0;c[m+16>>2]=a+8;do if(d)if(d>>>0>214748364){o=db(8)|0;p0a(o,183738);c[o>>2]=110936;hb(o|0,65952,1066)}else{e=j0a(d*20|0)|0;break}else e=0;while(0);c[m>>2]=e;g=e+(f*20|0)|0;i=m+8|0;c[i>>2]=g;j=m+4|0;c[j>>2]=g;c[h>>2]=e+(d*20|0);t0a(g,b);d=c[b+12>>2]|0;c[e+(f*20|0)+12>>2]=d;if(d|0){g=d+8|0;c[g>>2]=(c[g>>2]|0)+1}d=c[b+16>>2]|0;c[e+(f*20|0)+16>>2]=d;if(d|0){g=d+8|0;c[g>>2]=(c[g>>2]|0)+1}d=(c[i>>2]|0)+20|0;c[i>>2]=d;g=c[a>>2]|0;e=c[n>>2]|0;if((e|0)==(g|0)){b=j;p=c[j>>2]|0;j=g;f=d;g=e;c[a>>2]=p;c[b>>2]=j;c[n>>2]=f;c[i>>2]=g;n=c[k>>2]|0;a=c[h>>2]|0;c[k>>2]=a;c[h>>2]=n;c[m>>2]=j;aJ(m);l=o;return}f=c[j>>2]|0;do{d=e;e=e+-20|0;t0a(f+-20|0,e);b=c[d+-8>>2]|0;c[f+-8>>2]=b;if(b|0){p=b+8|0;c[p>>2]=(c[p>>2]|0)+1}d=c[d+-4>>2]|0;c[f+-4>>2]=d;if(d|0){p=d+8|0;c[p>>2]=(c[p>>2]|0)+1}f=(c[j>>2]|0)+-20|0;c[j>>2]=f}while((e|0)!=(g|0));b=j;j=i;p=c[a>>2]|0;g=c[i>>2]|0;i=c[n>>2]|0;c[a>>2]=f;c[b>>2]=p;c[n>>2]=g;c[j>>2]=i;n=c[k>>2]|0;a=c[h>>2]|0;c[k>>2]=a;c[h>>2]=n;c[m>>2]=p;aJ(m);l=o;return}function eU(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=a+200|0;gk[c[(c[h>>2]|0)+8>>2]&1023](h)|0;f=a+212|0;e=c[f>>2]|0;if((((c[a+216>>2]|0)-e|0)/20|0)>>>0>b>>>0)g=f;else{_I(f,b+1|0);g=f;e=c[f>>2]|0}e=e+(b*20|0)+12|0;a=c[e>>2]|0;if((a|0)!=(d|0)){c[e>>2]=d;if(d|0){f=d+8|0;c[f>>2]=(c[f>>2]|0)+1}if(a|0?(e=a+8|0,f=c[e>>2]|0,c[e>>2]=f-1,(f|0)==1):0)UU(a,1,1)}z0a((c[g>>2]|0)+(b*20|0)|0,d+52|0)|0;gk[c[(c[h>>2]|0)+12>>2]&1023](h)|0;return}function fU(b,d){b=b|0;d=d|0;var e=0.0,f=0,g=0,i=0,j=0,k=0,m=0,n=0,o=0;n=l;l=l+32|0;j=n;if(!d){l=n;return}m=b+200|0;gk[c[(c[m>>2]|0)+8>>2]&1023](m)|0;c[j>>2]=0;c[j+4>>2]=0;c[j+8>>2]=0;c[j+12>>2]=0;c[j+16>>2]=0;k=b+216|0;i=c[k>>2]|0;if(i>>>0<(c[b+220>>2]|0)>>>0){t0a(i,j);f=c[j+12>>2]|0;c[i+12>>2]=f;if(f|0){g=f+8|0;c[g>>2]=(c[g>>2]|0)+1}f=j+16|0;g=c[f>>2]|0;c[i+16>>2]=g;if(g|0){i=g+8|0;c[i>>2]=(c[i>>2]|0)+1}c[k>>2]=(c[k>>2]|0)+20}else{dU(b+212|0,j);f=j+16|0}g=c[f>>2]|0;if(g|0?(o=g+8|0,i=c[o>>2]|0,c[o>>2]=i-1,(i|0)==1):0)UU(g,1,1);c[f>>2]=0;f=j+12|0;g=c[f>>2]|0;if(g|0?(i=g+8|0,o=c[i>>2]|0,c[i>>2]=o-1,(o|0)==1):0)UU(g,1,1);c[f>>2]=0;if((a[j+11>>0]|0)<0)l0a(c[j>>2]|0);f=(c[k>>2]|0)+-8|0;g=c[f>>2]|0;if(((g|0)!=(d|0)?(c[f>>2]=d,o=d+8|0,c[o>>2]=(c[o>>2]|0)+1,g|0):0)?(d=g+8|0,o=c[d>>2]|0,c[d>>2]=o-1,(o|0)==1):0)UU(g,1,1);d=c[b+212>>2]|0;o=c[k>>2]|0;e=+h[b+184>>3];f=o;g=d;if((d|0)!=(o|0))e=e/+(((f-g|0)/20|0)>>>0);h[b+192>>3]=e;if(!(c[b+112>>2]|0))ZI(b,((f-g|0)/20|0)+-1|0);gk[c[(c[m>>2]|0)+12>>2]&1023](m)|0;l=n;return}function gU(a){a=a|0;var b=0,d=0,e=0;d=a+72|0;Tha(d);e=a+84|0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[a+96>>2]=2;c[a+100>>2]=0;c[a+12>>2]=0;e=a+28|0;c[a+4>>2]=0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[e+12>>2]=0;c[e+16>>2]=0;c[e+20>>2]=0;c[e+24>>2]=0;c[a+8>>2]=-1;c[a+16>>2]=2;c[a+20>>2]=-1;c[a+24>>2]=0;c[a>>2]=75476;c[d>>2]=75848;c[a+56>>2]=0;c[a+60>>2]=4;c[a+64>>2]=32;d=a+68|0;c[d>>2]=0;e=j0a(76)|0;Tha(e);a=e+12|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;c[e+24>>2]=2;c[e+28>>2]=0;c[e>>2]=75232;a=e+32|0;b=a+44|0;do{c[a>>2]=0;a=a+4|0}while((a|0)<(b|0));a=c[d>>2]|0;if((a|0)==(e|0))return;c[d>>2]=e;e=e+8|0;c[e>>2]=(c[e>>2]|0)+1;if(!a)return;d=a+8|0;e=c[d>>2]|0;c[d>>2]=e-1;if((e|0)!=1)return;UU(a,1,1);return}function hU(a){a=a|0;hia(a);c[a>>2]=76036;c[a+56>>2]=0;g[a+60>>2]=.05000000074505806;g[a+64>>2]=.05000000074505806;g[a+68>>2]=.05000000074505806;g[a+72>>2]=1.0;g[a+76>>2]=.800000011920929;g[a+80>>2]=.800000011920929;g[a+84>>2]=.800000011920929;g[a+88>>2]=1.0;g[a+92>>2]=.05000000074505806;g[a+96>>2]=.05000000074505806;g[a+100>>2]=.05000000074505806;g[a+104>>2]=1.0;g[a+108>>2]=0.0;g[a+112>>2]=0.0;g[a+116>>2]=1.0;g[a+120>>2]=0.0;g[a+124>>2]=0.0;g[a+128>>2]=0.0;g[a+132>>2]=-1.0;g[a+148>>2]=0.0;g[a+152>>2]=180.0;g[a+136>>2]=1.0;g[a+140>>2]=0.0;g[a+144>>2]=0.0;return}function iU(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=l;l=l+16|0;d=f;e=a+56|0;if((c[e>>2]|0)==(b|0)){l=f;return}iia(d,a);c[e>>2]=b;lia(d);l=f;return}function jU(a,b){a=a|0;b=b|0;g[a>>2]=+h[b>>3];g[a+4>>2]=+h[b+8>>3];g[a+8>>2]=+h[b+16>>3];g[a+12>>2]=+h[b+24>>3];g[a+16>>2]=+h[b+32>>3];g[a+20>>2]=+h[b+40>>3];g[a+24>>2]=+h[b+48>>3];g[a+28>>2]=+h[b+56>>3];g[a+32>>2]=+h[b+64>>3];g[a+36>>2]=+h[b+72>>3];g[a+40>>2]=+h[b+80>>3];g[a+44>>2]=+h[b+88>>3];g[a+48>>2]=+h[b+96>>3];g[a+52>>2]=+h[b+104>>3];g[a+56>>2]=+h[b+112>>3];g[a+60>>2]=+h[b+120>>3];return}function kU(a,b){a=a|0;b=b|0;var c=0.0,d=0,e=0.0,f=0,h=0.0,i=0,j=0,k=0.0,l=0,m=0.0,n=0,o=0.0,p=0.0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;n=b+16|0;l=b+32|0;j=b+48|0;B=b+4|0;A=b+20|0;z=b+36|0;y=b+52|0;x=b+8|0;w=b+24|0;v=b+40|0;u=b+56|0;t=b+12|0;s=b+28|0;r=b+44|0;q=b+60|0;c=+g[a>>2];d=a+4|0;e=+g[d>>2];f=a+8|0;h=+g[f>>2];i=a+12|0;k=+g[i>>2];m=c*+g[B>>2]+e*+g[A>>2]+h*+g[z>>2]+k*+g[y>>2];o=c*+g[x>>2]+e*+g[w>>2]+h*+g[v>>2]+k*+g[u>>2];p=c*+g[t>>2]+e*+g[s>>2]+h*+g[r>>2]+k*+g[q>>2];g[a>>2]=c*+g[b>>2]+e*+g[n>>2]+h*+g[l>>2]+k*+g[j>>2];g[d>>2]=m;g[f>>2]=o;g[i>>2]=p;i=a+16|0;p=+g[i>>2];f=a+20|0;o=+g[f>>2];d=a+24|0;m=+g[d>>2];C=a+28|0;k=+g[C>>2];h=p*+g[B>>2]+o*+g[A>>2]+m*+g[z>>2]+k*+g[y>>2];e=p*+g[x>>2]+o*+g[w>>2]+m*+g[v>>2]+k*+g[u>>2];c=p*+g[t>>2]+o*+g[s>>2]+m*+g[r>>2]+k*+g[q>>2];g[i>>2]=p*+g[b>>2]+o*+g[n>>2]+m*+g[l>>2]+k*+g[j>>2];g[f>>2]=h;g[d>>2]=e;g[C>>2]=c;C=a+32|0;c=+g[C>>2];d=a+36|0;e=+g[d>>2];f=a+40|0;h=+g[f>>2];i=a+44|0;k=+g[i>>2];m=c*+g[B>>2]+e*+g[A>>2]+h*+g[z>>2]+k*+g[y>>2];o=c*+g[x>>2]+e*+g[w>>2]+h*+g[v>>2]+k*+g[u>>2];p=c*+g[t>>2]+e*+g[s>>2]+h*+g[r>>2]+k*+g[q>>2];g[C>>2]=c*+g[b>>2]+e*+g[n>>2]+h*+g[l>>2]+k*+g[j>>2];g[d>>2]=m;g[f>>2]=o;g[i>>2]=p;i=a+48|0;p=+g[i>>2];f=a+52|0;o=+g[f>>2];d=a+56|0;m=+g[d>>2];a=a+60|0;k=+g[a>>2];h=p*+g[B>>2]+o*+g[A>>2]+m*+g[z>>2]+k*+g[y>>2];e=p*+g[x>>2]+o*+g[w>>2]+m*+g[v>>2]+k*+g[u>>2];c=p*+g[t>>2]+o*+g[s>>2]+m*+g[r>>2]+k*+g[q>>2];g[i>>2]=p*+g[b>>2]+o*+g[n>>2]+m*+g[l>>2]+k*+g[j>>2];g[f>>2]=h;g[d>>2]=e;g[a>>2]=c;return}function lU(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=a+84|0;d=c[h>>2]|0;if((d|0)==(b|0))return;if(((c[a+88>>2]|0)==0?(e=c[a+72>>2]|0,g=a+76|0,(e|0)!=(c[g>>2]|0)):0)?(f=(((d|0)!=0)<<31>>31)+((b|0)!=0&1)|0,(f|0)!=0):0){d=e;do{e=c[d>>2]|0;Rv(e,(c[e+88>>2]|0)+f|0);d=d+4|0}while((d|0)!=(c[g>>2]|0));d=c[h>>2]|0}if((d|0)==(b|0))return;c[h>>2]=b;if(b|0){h=b+(c[(c[b>>2]|0)+-12>>2]|0)+8|0;c[h>>2]=(c[h>>2]|0)+1}if(!d)return;d=d+(c[(c[d>>2]|0)+-12>>2]|0)|0;b=d+8|0;h=c[b>>2]|0;c[b>>2]=h-1;if((h|0)!=1)return;UU(d,1,1);return}function mU(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=a+92|0;d=c[h>>2]|0;if((d|0)==(b|0))return;if(((c[a+96>>2]|0)==0?(e=c[a+72>>2]|0,g=a+76|0,(e|0)!=(c[g>>2]|0)):0)?(f=(((d|0)!=0)<<31>>31)+((b|0)!=0&1)|0,(f|0)!=0):0){d=e;do{e=c[d>>2]|0;Sv(e,(c[e+96>>2]|0)+f|0);d=d+4|0}while((d|0)!=(c[g>>2]|0));d=c[h>>2]|0}if((d|0)==(b|0))return;c[h>>2]=b;if(b|0){h=b+(c[(c[b>>2]|0)+-12>>2]|0)+8|0;c[h>>2]=(c[h>>2]|0)+1}if(!d)return;d=d+(c[(c[d>>2]|0)+-12>>2]|0)|0;b=d+8|0;h=c[b>>2]|0;c[b>>2]=h-1;if((h|0)!=1)return;UU(d,1,1);return}function nU(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;i=d&1;j=b+104|0;f=a[j>>0]|0;if((f&255|0)==(d&1|0))return;if(((c[b+108>>2]|0)==0?(e=c[b+72>>2]|0,h=b+76|0,(e|0)!=(c[h>>2]|0)):0)?(g=(f+-1<<24>>24<<24>>24)+((d^1)&1)|0,g|0):0)do{f=c[e>>2]|0;Tv(f,(c[f+108>>2]|0)+g|0);e=e+4|0}while((e|0)!=(c[h>>2]|0));a[j>>0]=i;return}function oU(a){a=a|0;if(c[a+112>>2]|0){a=1;return a|0}a=(y1a(a,43184,43200,0)|0)!=0;return a|0}function pU(a){a=a|0;var b=0,d=0,e=0,f=0;d=a+28|0;a=c[d>>2]|0;if(a|0){d=a;return d|0}a=j0a(60)|0;Ria(a);b=c[d>>2]|0;if((b|0)==(a|0)){d=a;return d|0}if(b|0?(f=b+8|0,e=c[f>>2]|0,c[f>>2]=e-1,(e|0)==1):0)UU(b,1,1);c[d>>2]=a;f=a+8|0;c[f>>2]=(c[f>>2]|0)+1;f=c[d>>2]|0;return f|0}function qU(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;e=c[b>>2]|0;c[a>>2]=e;c[a+(c[e+-12>>2]|0)>>2]=c[b+4>>2];c[a+4>>2]=c[d+4>>2];c[a+8>>2]=c[d+8>>2];c[a+12>>2]=0;c[a+16>>2]=c[d+16>>2];c[a+20>>2]=c[d+20>>2];c[a+24>>2]=c[d+24>>2];e=a+28|0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[e+12>>2]=0;c[e+16>>2]=0;c[e+20>>2]=0;c[e+24>>2]=0;return}function rU(){if((a[223632]|0)==0?g2a(223632)|0:0)kr(225352);return c[56338]|0}function sU(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;a=a+28|0;d=c[a>>2]|0;if((d|0)==(b|0))return;if(d|0?(f=d+8|0,e=c[f>>2]|0,c[f>>2]=e-1,(e|0)==1):0)UU(d,1,1);c[a>>2]=b;if(!b)return;f=b+8|0;c[f>>2]=(c[f>>2]|0)+1;return}function tU(a){a=a|0;c[a>>2]=76248;return}function uU(a,b){a=a|0;b=b|0;Tha(a);c[a>>2]=76268;xla(a+12|0,0);c[a+24>>2]=b;c[a+32>>2]=0;c[a+36>>2]=0;c[a+28>>2]=a+32;return}function vU(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;g=b;i=a+12|0;gk[c[(c[i>>2]|0)+8>>2]&1023](i)|0;h=a+28|0;e=a+32|0;d=c[e>>2]|0;do if(d){f=a+32|0;while(1){e=c[d+16>>2]|0;if(e>>>0>b>>>0){e=c[d>>2]|0;if(!e){e=5;break}else{f=d;d=e}}else{if(e>>>0>=b>>>0){e=9;break}f=d+4|0;e=c[f>>2]|0;if(!e){e=8;break}else d=e}}if((e|0)==5){b=d;f=d;break}else if((e|0)==8){b=d;break}else if((e|0)==9){b=d;break}}else{b=e;f=e}while(0);if(c[f>>2]|0){a=c[i>>2]|0;a=a+12|0;a=c[a>>2]|0;gk[a&1023](i)|0;return}d=j0a(20)|0;c[d+16>>2]=g;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=b;c[f>>2]=d;e=c[c[h>>2]>>2]|0;if(e){c[h>>2]=e;d=c[f>>2]|0}fp(c[a+32>>2]|0,d);a=a+36|0;c[a>>2]=(c[a>>2]|0)+1;a=c[i>>2]|0;a=a+12|0;a=c[a>>2]|0;gk[a&1023](i)|0;return}function wU(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;g=a+12|0;gk[c[(c[g>>2]|0)+8>>2]&1023](g)|0;h=a+28|0;e=a+32|0;i=c[e>>2]|0;if(i|0){f=e;d=i;do{j=(c[d+16>>2]|0)>>>0<b>>>0;f=j?f:d;d=c[(j?d+4|0:d)>>2]|0}while((d|0)!=0);if((f|0)!=(e|0)?(c[f+16>>2]|0)>>>0<=b>>>0:0){d=c[f+4>>2]|0;if(!d){b=f+8|0;d=c[b>>2]|0;if((c[d>>2]|0)!=(f|0))do{j=c[b>>2]|0;b=j+8|0;d=c[b>>2]|0}while((c[d>>2]|0)!=(j|0))}else while(1){b=c[d>>2]|0;if(!b)break;else d=b}if((c[h>>2]|0)==(f|0))c[h>>2]=d;j=a+36|0;c[j>>2]=(c[j>>2]|0)+-1;Pw(i,f);l0a(f)}}gk[c[(c[g>>2]|0)+12>>2]&1023](g)|0;return}function xU(a){a=a|0;var b=0,d=0,e=0;d=a+12|0;gk[c[(c[d>>2]|0)+8>>2]&1023](d)|0;a=a+24|0;b=c[a>>2]|0;if(b){e=b+8|0;b=c[e>>2]|0;c[e>>2]=b+1;a=c[a>>2]|0;if(!b){Wha(a)|0;a=0}}else a=0;gk[c[(c[d>>2]|0)+12>>2]&1023](d)|0;return a|0}function yU(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;g=a+12|0;gk[c[(c[g>>2]|0)+8>>2]&1023](g)|0;h=a+28|0;d=c[h>>2]|0;i=a+32|0;if((d|0)!=(i|0)){f=d;while(1){d=c[f+16>>2]|0;Jk[c[(c[d>>2]|0)+8>>2]&1023](d,b);d=c[f+4>>2]|0;if(!d){e=f+8|0;d=c[e>>2]|0;if((c[d>>2]|0)!=(f|0))do{f=c[e>>2]|0;e=f+8|0;d=c[e>>2]|0}while((c[d>>2]|0)!=(f|0))}else while(1){e=c[d>>2]|0;if(!e)break;else d=e}if((d|0)==(i|0))break;else f=d}}oK(h,c[i>>2]|0);c[a+36>>2]=0;c[h>>2]=i;c[i>>2]=0;c[a+24>>2]=0;gk[c[(c[g>>2]|0)+12>>2]&1023](g)|0;return}function zU(a){a=a|0;xla(a,0);c[a+12>>2]=0;c[a+16>>2]=0;c[a+20>>2]=0;return}function AU(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;i=d-b>>3;j=a+8|0;e=c[j>>2]|0;g=c[a>>2]|0;f=g;if(i>>>0>e-g>>3>>>0){if(g){h=a+4|0;e=c[h>>2]|0;if((e|0)==(f|0))e=g;else{do{e=e+-8|0;g=c[e>>2]|0;if(g|0?(l=g+8|0,k=c[l>>2]|0,c[l>>2]=k-1,(k|0)==1):0)UU(g,1,1);c[e>>2]=0}while((e|0)!=(f|0));e=c[a>>2]|0}c[h>>2]=f;l0a(e);c[j>>2]=0;c[h>>2]=0;c[a>>2]=0;e=0}if(i>>>0>536870911)g1a(a);l=e>>2;e=e>>3>>>0<268435455?(l>>>0<i>>>0?i:l):536870911;if(e>>>0>536870911)g1a(a);f=j0a(e<<3)|0;g=a+4|0;c[g>>2]=f;c[a>>2]=f;c[j>>2]=f+(e<<3);if((b|0)==(d|0))return;do{e=c[b>>2]|0;c[f>>2]=e;if(e|0){l=e+8|0;c[l>>2]=(c[l>>2]|0)+1}c[f+4>>2]=c[b+4>>2];b=b+8|0;f=(c[g>>2]|0)+8|0;c[g>>2]=f}while((b|0)!=(d|0));return}j=a+4|0;e=(c[j>>2]|0)-g>>3;i=i>>>0>e>>>0;e=b+(e<<3)|0;a=i?e:d;if((a|0)==(b|0))b=f;else{do{if((b|0)!=(f|0)){g=c[f>>2]|0;h=c[b>>2]|0;if((g|0)!=(h|0)){c[f>>2]=h;if(h|0){l=h+8|0;c[l>>2]=(c[l>>2]|0)+1}if(g|0?(k=g+8|0,l=c[k>>2]|0,c[k>>2]=l-1,(l|0)==1):0)UU(g,1,1)}c[f+4>>2]=c[b+4>>2]}b=b+8|0;f=f+8|0}while((b|0)!=(a|0));b=f}if(i){if((a|0)==(d|0))return;b=c[j>>2]|0;do{f=c[e>>2]|0;c[b>>2]=f;if(f|0){l=f+8|0;c[l>>2]=(c[l>>2]|0)+1}c[b+4>>2]=c[e+4>>2];e=e+8|0;b=(c[j>>2]|0)+8|0;c[j>>2]=b}while((e|0)!=(d|0));return}e=c[j>>2]|0;if((e|0)!=(b|0))do{e=e+-8|0;f=c[e>>2]|0;if(f|0?(k=f+8|0,l=c[k>>2]|0,c[k>>2]=l-1,(l|0)==1):0)UU(f,1,1);c[e>>2]=0}while((e|0)!=(b|0));c[j>>2]=b;return}function BU(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;i=c[a+12>>2]|0;j=a+16|0;d=c[j>>2]|0;h=i;if((d|0)==(i|0)){f=a+12|0;d=h}else{do{d=d+-8|0;e=c[d>>2]|0;if(e|0?(g=e+8|0,k=c[g>>2]|0,c[g>>2]=k-1,(k|0)==1):0)UU(e,1,1);c[d>>2]=0}while((d|0)!=(i|0));d=a+12|0;f=d;d=c[d>>2]|0}c[j>>2]=i;k=b+4|0;g=(c[k>>2]|0)-(c[b>>2]|0)>>2;e=h-d>>3;if(g>>>0<=e>>>0){if(g>>>0<e>>>0){f=d+(g<<3)|0;if((f|0)!=(i|0)){d=i;do{d=d+-8|0;e=c[d>>2]|0;if(e|0?(h=e+8|0,i=c[h>>2]|0,c[h>>2]=i-1,(i|0)==1):0)UU(e,1,1);c[d>>2]=0}while((d|0)!=(f|0))}c[j>>2]=f}}else CU(f,g-e|0);d=c[b>>2]|0;if((c[k>>2]|0)==(d|0))return;j=a+12|0;i=0;do{g=c[d+(i<<2)>>2]|0;h=c[j>>2]|0;if(!g)d=0;else d=Vha(g)|0;e=h+(i<<3)|0;f=c[e>>2]|0;if((f|0)!=(d|0)){c[e>>2]=d;if(d|0){a=d+8|0;c[a>>2]=(c[a>>2]|0)+1}if(f|0?(d=f+8|0,a=c[d>>2]|0,c[d>>2]=a-1,(a|0)==1):0)UU(f,1,1);d=c[e>>2]|0}if(!d)d=0;else d=(c[d+24>>2]|0)==0?0:g;c[h+(i<<3)+4>>2]=d;i=i+1|0;d=c[b>>2]|0}while(i>>>0<(c[k>>2]|0)-d>>2>>>0);return}function CU(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;m=a+8|0;f=c[m>>2]|0;n=a+4|0;e=c[n>>2]|0;d=e;if(f-e>>3>>>0>=b>>>0){z2a(e|0,0,b<<3|0)|0;c[n>>2]=d+(b<<3);return}i=c[a>>2]|0;g=e-i>>3;e=g+b|0;k=i;if(e>>>0>536870911)g1a(a);j=f-i|0;l=j>>2;e=j>>3>>>0<268435455?(l>>>0<e>>>0?e:l):536870911;do if(e)if(e>>>0>536870911){n=db(8)|0;p0a(n,183738);c[n>>2]=110936;hb(n|0,65952,1066)}else{h=j0a(e<<3)|0;break}else h=0;while(0);f=h+(g<<3)|0;l=h+(e<<3)|0;z2a(f|0,0,b<<3|0)|0;j=f+(b<<3)|0;if((d|0)==(k|0)){e=f;b=k;f=i}else{g=g+-1-((d+-8+(0-i)|0)>>>3)|0;while(1){e=d;d=d+-8|0;b=c[d>>2]|0;c[f+-8>>2]=b;if(b|0){i=b+8|0;c[i>>2]=(c[i>>2]|0)+1}c[f+-4>>2]=c[e+-4>>2];if((d|0)==(k|0))break;else f=f+-8|0}f=c[a>>2]|0;e=h+(g<<3)|0;b=f;d=c[n>>2]|0}c[a>>2]=e;c[n>>2]=j;c[m>>2]=l;if((d|0)!=(b|0))do{d=d+-8|0;e=c[d>>2]|0;if(e|0?(m=e+8|0,n=c[m>>2]|0,c[m>>2]=n-1,(n|0)==1):0)UU(e,1,1);c[d>>2]=0}while((d|0)!=(b|0));if(!f)return;l0a(f);return}function DU(a,b){a=a|0;b=b|0;gk[c[(c[a>>2]|0)+8>>2]&1023](a)|0;BU(a,b);gk[c[(c[a>>2]|0)+12>>2]&1023](a)|0;return}function EU(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0;gk[c[(c[a>>2]|0)+8>>2]&1023](a)|0;e=c[a+12>>2]|0;g=a+16|0;b=c[g>>2]|0;if((b|0)!=(e|0))do{b=b+-8|0;d=c[b>>2]|0;if(d|0?(h=d+8|0,f=c[h>>2]|0,c[h>>2]=f-1,(f|0)==1):0)UU(d,1,1);c[b>>2]=0}while((b|0)!=(e|0));c[g>>2]=e;gk[c[(c[a>>2]|0)+12>>2]&1023](a)|0;e=a+12|0;f=c[e>>2]|0;if(!f){oX(a);return}b=c[g>>2]|0;if((b|0)==(f|0))b=f;else{do{b=b+-8|0;d=c[b>>2]|0;if(d|0?(i=d+8|0,h=c[i>>2]|0,c[i>>2]=h-1,(h|0)==1):0)UU(d,1,1);c[b>>2]=0}while((b|0)!=(f|0));b=c[e>>2]|0}c[g>>2]=f;l0a(b);oX(a);return}function FU(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;e=c[a>>2]|0;if(!e)return;f=a+4|0;b=c[f>>2]|0;if((b|0)==(e|0))b=e;else{do{b=b+-8|0;d=c[b>>2]|0;if(d|0?(h=d+8|0,g=c[h>>2]|0,c[h>>2]=g-1,(g|0)==1):0)UU(d,1,1);c[b>>2]=0}while((b|0)!=(e|0));b=c[a>>2]|0}c[f>>2]=e;l0a(b);return}function GU(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;gk[c[(c[a>>2]|0)+8>>2]&1023](a)|0;e=c[a+12>>2]|0;f=a+16|0;b=c[f>>2]|0;if((b|0)!=(e|0))do{b=b+-8|0;d=c[b>>2]|0;if(d|0?(h=d+8|0,g=c[h>>2]|0,c[h>>2]=g-1,(g|0)==1):0)UU(d,1,1);c[b>>2]=0}while((b|0)!=(e|0));c[f>>2]=e;gk[c[(c[a>>2]|0)+12>>2]&1023](a)|0;return}function HU(a,b){a=a|0;b=b|0;if((b|0)==(a|0))return a|0;gk[c[(c[b>>2]|0)+8>>2]&1023](b)|0;gk[c[(c[a>>2]|0)+8>>2]&1023](a)|0;AU(a+12|0,c[b+12>>2]|0,c[b+16>>2]|0);gk[c[(c[a>>2]|0)+12>>2]&1023](a)|0;gk[c[(c[b>>2]|0)+12>>2]&1023](b)|0;return a|0}function IU(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0;q=l;l=l+16|0;m=q;gk[c[(c[b>>2]|0)+8>>2]&1023](b)|0;n=b+12|0;o=b+16|0;g=c[o>>2]|0;f=c[n>>2]|0;h=g-f>>3;k=d+4|0;i=c[d>>2]|0;j=(c[k>>2]|0)-i>>2;e=f;if(h>>>0<=j>>>0){if(h>>>0<j>>>0)c[k>>2]=i+(h<<2)}else{JU(d,h-j|0);e=c[n>>2]|0;g=c[o>>2]|0;f=e}if((g|0)==(f|0)){p=1;o=c[b>>2]|0;o=o+12|0;o=c[o>>2]|0;gk[o&1023](b)|0;l=q;return p|0}g=0;while(1){f=c[e+(g<<3)>>2]|0;if(!f)break;if(!(c[f+24>>2]|0))break;e=c[e+(g<<3)+4>>2]|0;if(!e)break;c[(c[d>>2]|0)+(g<<2)>>2]=e;g=g+1|0;e=c[n>>2]|0;if(g>>>0>=(c[o>>2]|0)-e>>3>>>0){e=1;p=17;break}}if((p|0)==17){p=c[b>>2]|0;p=p+12|0;p=c[p>>2]|0;gk[p&1023](b)|0;l=q;return e|0}if((a[223632]|0)==0?g2a(223632)|0:0)kr(225352);if((c[56338]|0)>2){p=mr(lr(3)|0,148664,57)|0;BSa(m,p+(c[(c[p>>2]|0)+-12>>2]|0)|0);o=cUa(m,230580)|0;o=kk[c[(c[o>>2]|0)+28>>2]&511](o,10)|0;dUa(m);VSa(p,o)|0;HSa(p)|0}c[k>>2]=c[d>>2];p=0;o=c[b>>2]|0;o=o+12|0;o=c[o>>2]|0;gk[o&1023](b)|0;l=q;return p|0}function JU(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;k=a+8|0;e=c[k>>2]|0;l=a+4|0;d=c[l>>2]|0;if(e-d>>2>>>0>=b>>>0){do{c[d>>2]=0;d=(c[l>>2]|0)+4|0;c[l>>2]=d;b=b+-1|0}while((b|0)!=0);return}j=c[a>>2]|0;g=d-j|0;h=g>>2;i=h+b|0;if(i>>>0>1073741823)g1a(a);e=e-j|0;f=e>>1;f=e>>2>>>0<536870911?(f>>>0<i>>>0?i:f):1073741823;do if(f)if(f>>>0>1073741823){l=db(8)|0;p0a(l,183738);c[l>>2]=110936;hb(l|0,65952,1066)}else{e=j0a(f<<2)|0;d=e;break}else{d=0;e=0}while(0);z2a(d+(h<<2)|0,0,b<<2|0)|0;if((g|0)>0)x2a(e|0,j|0,g|0)|0;c[a>>2]=d;c[l>>2]=d+(i<<2);c[k>>2]=d+(f<<2);if(!j)return;l0a(j);return}function KU(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;h=b;j=c[d+8>>2]|0;k=a+160|0;gk[c[(c[k>>2]|0)+8>>2]&1023](k)|0;i=a+148|0;f=a+152|0;e=c[f>>2]|0;do if(e){g=a+152|0;while(1){f=c[e+16>>2]|0;if(f>>>0>b>>>0){f=c[e>>2]|0;if(!f){f=5;break}else{g=e;e=f}}else{if(f>>>0>=b>>>0){f=9;break}g=e+4|0;f=c[g>>2]|0;if(!f){f=8;break}else e=f}}if((f|0)==5){b=e;g=e;break}else if((f|0)==8){b=e;break}else if((f|0)==9){b=e;break}}else{b=f;g=f}while(0);e=c[g>>2]|0;if(!e){e=j0a(24)|0;c[e+16>>2]=h;c[e+20>>2]=0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=b;c[g>>2]=e;f=c[c[i>>2]>>2]|0;if(!f)f=e;else{c[i>>2]=f;f=c[g>>2]|0}fp(c[a+152>>2]|0,f);i=a+156|0;c[i>>2]=(c[i>>2]|0)+1}e=e+20|0;if((j-(c[e>>2]|0)|0)>>>0<(c[a+180>>2]|0)>>>0){gk[c[(c[k>>2]|0)+12>>2]&1023](k)|0;return}else{c[e>>2]=j;gk[c[(c[k>>2]|0)+12>>2]&1023](k)|0;k=c[a+136>>2]|0;Jk[c[(c[k>>2]|0)+212>>2]&1023](k,d);return}}function LU(b,d){b=b|0;d=d|0;if(!(a[b+184>>0]|0))return;b=c[b+140>>2]|0;Jk[c[(c[b>>2]|0)+212>>2]&1023](b,d);return}function MU(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;n=b+12|0;gk[c[(c[n>>2]|0)+8>>2]&1023](n)|0;l=b+40|0;m=b+28|0;e=c[l>>2]|0;if((e|0)==(m|0)){e=c[b+32>>2]|0;c[b+40>>2]=e;f=e}else f=e;j=b+36|0;if((f|0)!=(m|0)){i=b+40|0;do{f=c[e+8>>2]|0;if(f|0){h=f+(c[(c[f>>2]|0)+-12>>2]|0)+8|0;c[h>>2]=(c[h>>2]|0)+1}g=c[l>>2]|0;e=g+4|0;if(!(a[f+16>>0]|0)){h=c[e>>2]|0;o=c[g>>2]|0;c[o+4>>2]=h;c[c[e>>2]>>2]=o;c[j>>2]=(c[j>>2]|0)+-1;e=c[g+8>>2]|0;if(e|0?(k=e+(c[(c[e>>2]|0)+-12>>2]|0)|0,e=k+8|0,o=c[e>>2]|0,c[e>>2]=o-1,(o|0)==1):0)UU(k,1,1);l0a(g);c[i>>2]=h}else c[l>>2]=c[e>>2];Jk[c[(c[f>>2]|0)+4>>2]&1023](f,d);e=f+(c[(c[f>>2]|0)+-12>>2]|0)|0;h=e+8|0;o=c[h>>2]|0;c[h>>2]=o-1;if((o|0)==1)UU(e,1,1);e=c[l>>2]|0}while((e|0)!=(m|0))}if(c[j>>2]|0){o=c[n>>2]|0;o=o+12|0;o=c[o>>2]|0;gk[o&1023](n)|0;return}f=c[b+24>>2]|0;e=f+4|0;f=f+24|0;if(!(a[f>>0]|0)){o=c[n>>2]|0;o=o+12|0;o=c[o>>2]|0;gk[o&1023](n)|0;return}gk[c[(c[e>>2]|0)+8>>2]&1023](e)|0;a[f>>0]=0;gk[c[(c[e>>2]|0)+12>>2]&1023](e)|0;o=c[n>>2]|0;o=o+12|0;o=c[o>>2]|0;gk[o&1023](n)|0;return}function NU(a,b){a=a|0;b=b|0;var d=0;d=a+200|0;if((c[a+204>>2]|0)-(c[d>>2]|0)>>6>>>0>b>>>0)return;vM(d,b+1|0);return}function OU(a,b){a=a|0;b=b|0;hia(a);c[a>>2]=77864;y2a(a+56|0,b|0,128)|0;return}function PU(a){a=a|0;hia(a);c[a>>2]=77104;c[a+56>>2]=6914;c[a+60>>2]=6914;return}function QU(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;m=b+4|0;e=c[m>>2]|0;do if(e|0){l=a[d+11>>0]|0;k=l<<24>>24<0;l=k?c[d+4>>2]|0:l&255;k=k?c[d>>2]|0:d;b=m;do{f=e+16|0;h=a[f+11>>0]|0;g=h<<24>>24<0;h=g?c[e+20>>2]|0:h&255;i=l>>>0<h>>>0;d=i?l:h;if((d|0)!=0?(j=cOa(g?c[f>>2]|0:f,k,d)|0,(j|0)!=0):0)d=j;else d=h>>>0<l>>>0?-1:i&1;i=(d|0)<0;b=i?b:e;e=c[(i?e+4|0:e)>>2]|0}while((e|0)!=0);if((b|0)!=(m|0)){e=b+16|0;g=a[e+11>>0]|0;f=g<<24>>24<0;g=f?c[b+20>>2]|0:g&255;d=g>>>0<l>>>0?g:l;if(d|0?(n=cOa(k,f?c[e>>2]|0:e,d)|0,n|0):0){if((n|0)<0)break;return b|0}if(l>>>0>=g>>>0){n=b;return n|0}}}while(0);n=m;return n|0}function RU(a){a=a|0;return 0}function SU(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;e=l;l=l+16|0;b=e;c[a>>2]=81860;d=a+8|0;if(c[d>>2]|0){if(ZQ(2)|0){f=mr(mr(mr(USa(mr(lr(2)|0,148722,42)|0,a)|0,148765,10)|0,148776,19)|0,148796,1)|0;BSa(b,f+(c[(c[f>>2]|0)+-12>>2]|0)|0);g=cUa(b,230580)|0;g=kk[c[(c[g>>2]|0)+28>>2]&511](g,10)|0;dUa(b);VSa(f,g)|0;HSa(f)|0}if(ZQ(2)|0){g=mr(lr(2)|0,148798,39)|0;g=mr(QSa(g,c[d>>2]|0)|0,148838,29)|0;BSa(b,g+(c[(c[g>>2]|0)+-12>>2]|0)|0);f=cUa(b,230580)|0;f=kk[c[(c[f>>2]|0)+28>>2]&511](f,10)|0;dUa(b);VSa(g,f)|0;HSa(g)|0}}d=a+4|0;b=c[d>>2]|0;if(b|0)yU(b,a);if(!(c[d>>2]|0)){c[d>>2]=0;l=e;return}b=c[d>>2]|0;f=b+8|0;g=c[f>>2]|0;c[f>>2]=g-1;if((g|0)!=1){c[d>>2]=0;l=e;return}UU(b,1,1);c[d>>2]=0;l=e;return}function TU(a){a=a|0;SU(a);l0a(a);return}function UU(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;g=l;l=l+16|0;f=g;e=c[a+4>>2]|0;if(!((e|0)==0|b^1))yU(e,a);if(!d){l=g;return}b=a+8|0;if(c[b>>2]|0?ZQ(3)|0:0){e=mr(lr(3)|0,148868,77)|0;e=QSa(e,c[b>>2]|0)|0;BSa(f,e+(c[(c[e>>2]|0)+-12>>2]|0)|0);d=cUa(f,230580)|0;d=kk[c[(c[d>>2]|0)+28>>2]&511](d,10)|0;dUa(f);VSa(e,d)|0;HSa(e)|0}if(!0){Bk[c[(c[a>>2]|0)+8>>2]&2047](a);l=g;return}else{Jk[c[(c[0>>2]|0)+16>>2]&1023](0,a);l=g;return}}function VU(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,i=0,j=0,k=0,l=0,m=0;j=a+4|0;k=c[a>>2]|0;l=(c[j>>2]|0)-k|0;g=l>>3;d=g+1|0;if(d>>>0>536870911)g1a(a);m=a+8|0;f=(c[m>>2]|0)-k|0;i=f>>2;i=f>>3>>>0<268435455?(i>>>0<d>>>0?d:i):536870911;do if(i)if(i>>>0>536870911){m=db(8)|0;p0a(m,183738);c[m>>2]=110936;hb(m|0,65952,1066)}else{f=j0a(i<<3)|0;e=f;break}else{e=0;f=0}while(0);d=e+(g<<3)|0;h[d>>3]=+h[b>>3];if((l|0)>0)x2a(f|0,k|0,l|0)|0;c[a>>2]=e;c[j>>2]=d+8;c[m>>2]=e+(i<<3);if(!k)return;l0a(k);return}function WU(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;v=l;l=l+16|0;u=v;if((c[b+32>>2]|0)==-1){if(!(ZQ(2)|0)){u=0;l=v;return u|0}d=mr(lr(2)|0,150175,24)|0;BSa(u,d+(c[(c[d>>2]|0)+-12>>2]|0)|0);t=cUa(u,230580)|0;t=kk[c[(c[t>>2]|0)+28>>2]&511](t,10)|0;dUa(u);VSa(d,t)|0;HSa(d)|0;u=0;l=v;return u|0}k=b+80|0;q=b+100|0;a:do if(c[q>>2]|0){if(a[d+668>>0]|0)dV(d+656|0)|0;e=c[b+92>>2]|0;h=b+96|0;if((e|0)!=(h|0)){i=d+672|0;j=d+676|0;g=e;while(1){if((eV(i,g+16|0)|0)==(j|0)){e=0;break}e=c[g+4>>2]|0;if(!e){f=g+8|0;e=c[f>>2]|0;if((c[e>>2]|0)!=(g|0))do{s=c[f>>2]|0;f=s+8|0;e=c[f>>2]|0}while((c[e>>2]|0)!=(s|0))}else while(1){f=c[e>>2]|0;if(!f)break;else e=f}if((e|0)==(h|0))break a;else g=e}l=v;return e|0}}while(0);r=c[d+124>>2]|0;s=b+140|0;if((((c[(fV(s,r)|0)>>2]|0)==0?(m=j0a(32)|0,c[m+4>>2]=0,n=m+8|0,c[n>>2]=0,c[m>>2]=81880,c[m+12>>2]=r,c[m+16>>2]=b,c[m+20>>2]=0,c[m+24>>2]=0,c[m+28>>2]=0,o=fV(s,r)|0,p=c[o>>2]|0,(p|0)!=(m|0)):0)?(c[o>>2]=m,c[n>>2]=(c[n>>2]|0)+1,p|0):0)?(n=p+8|0,o=c[n>>2]|0,c[n>>2]=o-1,(o|0)==1):0)UU(p,1,1);c[u>>2]=0;c[u+4>>2]=0;c[u+8>>2]=0;gV(d,u,k);n=c[(fV(s,r)|0)>>2]|0;f=c[n+20>>2]|0;n=c[n+24>>2]|0;b:do if((f|0)!=(n|0)){k=a[u+11>>0]|0;m=k<<24>>24<0;k=m?c[u+4>>2]|0:k&255;m=m?c[u>>2]|0:u;if(!k)while(1){e=c[f>>2]|0;p=a[e+24+11>>0]|0;if(!((p<<24>>24<0?c[e+28>>2]|0:p&255)|0))break b;f=f+4|0;if((f|0)==(n|0)){t=38;break b}}c:while(1){e=c[f>>2]|0;i=e+24|0;g=a[i+11>>0]|0;h=g<<24>>24<0;g=g&255;do if(((h?c[e+28>>2]|0:g)|0)==(k|0)){j=c[i>>2]|0;if(h)if(!(cOa(j,m,k)|0))break b;else break;if((a[m>>0]|0)==(j&255)<<24>>24){h=m;do{g=g+-1|0;i=i+1|0;if(!g)break c;h=h+1|0}while((a[i>>0]|0)==(a[h>>0]|0))}}while(0);f=f+4|0;if((f|0)==(n|0)){t=38;break b}}if(!e)t=38}else t=38;while(0);d:do if((t|0)==38){if(c[q>>2]|0){if(a[d+668>>0]|0)dV(d+656|0)|0;e=c[b+92>>2]|0;i=b+96|0;if((e|0)!=(i|0)){j=d+672|0;h=d+676|0;g=e;while(1){if((eV(j,g+16|0)|0)==(h|0)){e=0;break d}e=c[g+4>>2]|0;if(!e){f=g+8|0;e=c[f>>2]|0;if((c[e>>2]|0)!=(g|0))do{d=c[f>>2]|0;f=d+8|0;e=c[f>>2]|0}while((c[e>>2]|0)!=(d|0))}else while(1){f=c[e>>2]|0;if(!f)break;else e=f}if((e|0)==(i|0))break;else g=e}}}e=hV(c[(fV(s,r)|0)>>2]|0,u)|0}while(0);if((a[u+11>>0]|0)<0)l0a(c[u>>2]|0);u=e;l=v;return u|0}function XU(d,e){d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0;F=l;l=l+96|0;A=F+72|0;D=F+60|0;y=F+48|0;E=F+36|0;w=F+24|0;x=F+12|0;v=F;f=d+36|0;if(!(a[f>>0]|0)){l=F;return}a[f>>0]=0;z=d+12|0;f=c[z>>2]|0;do if(c[f+60>>2]|0){c[D>>2]=0;ci(36345,D|0);f=c[D>>2]|0;do if((f|0)>0){c[y>>2]=0;h=y+4|0;c[h>>2]=0;g=y+8|0;c[g>>2]=0;if(f>>>0>1073741823)g1a(y);r=f<<2;t=j0a(r)|0;c[y>>2]=t;s=t+(f<<2)|0;c[g>>2]=s;z2a(t|0,0,r|0)|0;c[h>>2]=s;ci(36344,t|0);a:do if((c[D>>2]|0)>0){g=d+20|0;f=0;while(1){if(ZQ(3)|0){t=mr(lr(3)|0,148965,9)|0;t=PSa(t,c[(c[y>>2]|0)+(f<<2)>>2]|0)|0;BSa(A,t+(c[(c[t>>2]|0)+-12>>2]|0)|0);s=cUa(A,230580)|0;s=kk[c[(c[s>>2]|0)+28>>2]&511](s,10)|0;dUa(A);VSa(t,s)|0;HSa(t)|0}s=c[(c[z>>2]|0)+60>>2]|0;t=c[s+32>>2]|0;s=c[s+36>>2]|0;hi(1,g|0,c[(c[y>>2]|0)+(f<<2)>>2]|0,((t|0)==(s|0)?0:t)|0,s-t|0);f=f+1|0;if(!(bi()|0))break;if((f|0)>=(c[D>>2]|0)){u=13;break a}}a[d+37>>0]=1;f=1}else u=13;while(0);do if((u|0)==13){f=c[z>>2]|0;g=a[f+48+11>>0]|0;if(g<<24>>24<0)f=c[f+52>>2]|0;else f=g&255;if(f|0){if(!(ZQ(3)|0)){f=0;break}f=mr(lr(3)|0,149088,138)|0;BSa(A,f+(c[(c[f>>2]|0)+-12>>2]|0)|0);t=cUa(A,230580)|0;t=kk[c[(c[t>>2]|0)+28>>2]&511](t,10)|0;dUa(A);VSa(f,t)|0;HSa(f)|0;f=0;break}if(ZQ(2)|0){t=mr(lr(2)|0,148975,112)|0;BSa(A,t+(c[(c[t>>2]|0)+-12>>2]|0)|0);s=cUa(A,230580)|0;s=kk[c[(c[s>>2]|0)+28>>2]&511](s,10)|0;dUa(A);VSa(t,s)|0;HSa(t)|0}a[d+37>>0]=0;f=1}while(0);g=c[y>>2]|0;if(g|0){c[h>>2]=g;l0a(g)}if(!f)u=35}else{f=c[z>>2]|0;g=a[f+48+11>>0]|0;if(g<<24>>24<0)f=c[f+52>>2]|0;else f=g&255;if(f|0){if(!(ZQ(3)|0)){u=35;break}u=mr(lr(3)|0,149313,111)|0;BSa(A,u+(c[(c[u>>2]|0)+-12>>2]|0)|0);t=cUa(A,230580)|0;t=kk[c[(c[t>>2]|0)+28>>2]&511](t,10)|0;dUa(A);VSa(u,t)|0;HSa(u)|0;u=35;break}if(ZQ(2)|0){E=mr(lr(2)|0,149227,85)|0;BSa(A,E+(c[(c[E>>2]|0)+-12>>2]|0)|0);D=cUa(A,230580)|0;D=kk[c[(c[D>>2]|0)+28>>2]&511](D,10)|0;dUa(A);VSa(E,D)|0;HSa(E)|0}a[d+37>>0]=0}while(0);if((u|0)==35){f=c[z>>2]|0;break}l=F;return}while(0);t0a(D,f+48|0);YU(e,D)|0;c[y>>2]=0;q=(rU()|0)>3;t=d+24|0;s=t+11|0;e=a[s>>0]|0;i=e<<24>>24<0;if(i)f=c[d+28>>2]|0;else f=e&255;if(!f){h=D+11|0;f=a[h>>0]|0;c[E>>2]=f<<24>>24<0?c[D>>2]|0:D;if(q){c[w>>2]=0;c[w+4>>2]=0;c[w+8>>2]=0;if(i)g=c[d+28>>2]|0;else g=e&255;if(g){I0a(w,i?c[t>>2]|0:t,i?c[d+28>>2]|0:e&255)|0;f=a[h>>0]|0}g=f<<24>>24<0;f=g?c[D+4>>2]|0:f&255;if(f|0)I0a(w,g?c[D>>2]|0:D,f)|0;ZU(x,w);if(ZQ(4)|0){g=mr(lr(4)|0,149425,11)|0;switch(c[(c[z>>2]|0)+32>>2]|0){case 35633:{f=149500;break}case 36488:{f=149488;break}case 36487:{f=149473;break}case 36313:{f=149464;break}case 35632:{f=149455;break}case 37305:{f=149447;break}default:f=149437}t=mr(mr(g,f,VNa(f)|0)|0,149507,9)|0;f=x+11|0;v=a[f>>0]|0;u=v<<24>>24<0;v=mr(t,u?c[x>>2]|0:x,u?c[x+4>>2]|0:v&255)|0;BSa(A,v+(c[(c[v>>2]|0)+-12>>2]|0)|0);u=cUa(A,230580)|0;u=kk[c[(c[u>>2]|0)+28>>2]&511](u,10)|0;dUa(A);VSa(v,u)|0;HSa(v)|0}else f=x+11|0;if((a[f>>0]|0)<0)l0a(c[x>>2]|0);if((a[w+11>>0]|0)<0)l0a(c[w>>2]|0)}e=d+16|0;h=d+20|0;Qk[c[(c[e>>2]|0)+172>>2]&127](c[h>>2]|0,1,E,0);if((rU()|0)>3){ZU(w,D);if(ZQ(4)|0){g=mr(lr(4)|0,149517,14)|0;switch(c[(c[z>>2]|0)+32>>2]|0){case 35633:{f=149500;break}case 36488:{f=149488;break}case 36487:{f=149473;break}case 36313:{f=149464;break}case 35632:{f=149455;break}case 37305:{f=149447;break}default:f=149437}u=mr(mr(g,f,VNa(f)|0)|0,149507,9)|0;f=w+11|0;x=a[f>>0]|0;v=x<<24>>24<0;x=mr(u,v?c[w>>2]|0:w,v?c[w+4>>2]|0:x&255)|0;BSa(A,x+(c[(c[x>>2]|0)+-12>>2]|0)|0);v=cUa(A,230580)|0;v=kk[c[(c[v>>2]|0)+28>>2]&511](v,10)|0;dUa(A);VSa(x,v)|0;HSa(x)|0}else f=w+11|0;if((a[f>>0]|0)<0)l0a(c[w>>2]|0)}i=e}else{c[A>>2]=0;c[A+4>>2]=0;c[A+8>>2]=0;a[A+11>>0]=2;b[A>>1]=2573;a[A+2>>0]=0;c[E>>2]=0;c[E+4>>2]=0;c[E+8>>2]=0;r=E+11|0;a[r>>0]=2;b[E>>1]=2592;a[E+2>>0]=0;_U(D,A,E);if((a[r>>0]|0)<0)l0a(c[E>>2]|0);r=D+11|0;o=a[r>>0]|0;p=D+4|0;g=c[p>>2]|0;c[E>>2]=0;c[E+4>>2]=0;c[E+8>>2]=0;e=0;b:while(1){f=o<<24>>24<0;h=o&255;n=f?g:h;if(n>>>0<=e>>>0)break;m=f?c[D>>2]|0:D;j=e;while(1){i=a[m+j>>0]|0;f=149532;while(1){k=a[f>>0]|0;e=k<<24>>24==0;if(k<<24>>24!=i<<24>>24&(e^1))f=f+1|0;else break}if(e)break;f=j+1|0;if(f>>>0<n>>>0)j=f;else break b}if(!((j|0)!=-1&n>>>0>j>>>0))break;k=j;while(1){f=149535;while(1){G=a[f>>0]|0;e=G<<24>>24!=0;if(G<<24>>24!=i<<24>>24&e)f=f+1|0;else break}if(e)break;f=k+1|0;if(f>>>0>=n>>>0)break b;k=f;i=a[m+f>>0]|0}if((k|0)==-1)break;f=k-j|0;if(f>>>0>7){if(!(T0a(D,j,8,149538)|0)){u=98;break}f=a[r>>0]|0;h=f&255;g=c[p>>2]|0}else f=o;e=k+1|0;if(!((e|0)!=-1?e>>>0<(f<<24>>24<0?g:h)>>>0:0))break;else o=f}if((u|0)==98){x0a(A,D,j,f+1|0,D);f=E+11|0;if((a[f>>0]|0)<0){a[c[E>>2]>>0]=0;c[E+4>>2]=0}else{a[E>>0]=0;a[f>>0]=0}D0a(E,0);c[E>>2]=c[A>>2];c[E+4>>2]=c[A+4>>2];c[E+8>>2]=c[A+8>>2];G=a[f>>0]|0;u=G<<24>>24<0;if((a[(u?c[E>>2]|0:E)+((u?c[E+4>>2]|0:G&255)+-1)>>0]|0)!=10)K0a(E,10);M0a(D,j,149547)|0}h=E+11|0;f=a[h>>0]|0;if(!((f<<24>>24<0?c[E+4>>2]|0:f&255)|0)){if(q){xM(A,t,D);ZU(w,A);if((a[A+11>>0]|0)<0)l0a(c[A>>2]|0);if(ZQ(3)|0){g=mr(lr(3)|0,149425,11)|0;switch(c[(c[z>>2]|0)+32>>2]|0){case 35633:{f=149500;break}case 36488:{f=149488;break}case 36487:{f=149473;break}case 36313:{f=149464;break}case 35632:{f=149455;break}case 37305:{f=149447;break}default:f=149437}u=mr(mr(g,f,VNa(f)|0)|0,149507,9)|0;f=w+11|0;G=a[f>>0]|0;v=G<<24>>24<0;G=mr(u,v?c[w>>2]|0:w,v?c[w+4>>2]|0:G&255)|0;BSa(A,G+(c[(c[G>>2]|0)+-12>>2]|0)|0);v=cUa(A,230580)|0;v=kk[c[(c[v>>2]|0)+28>>2]&511](v,10)|0;dUa(A);VSa(G,v)|0;HSa(G)|0}else f=w+11|0;if((a[f>>0]|0)<0)l0a(c[w>>2]|0)}if((a[s>>0]|0)<0)f=c[t>>2]|0;else f=t;c[w>>2]=f;c[w+4>>2]=(a[r>>0]|0)<0?c[D>>2]|0:D;Qk[c[(c[d+16>>2]|0)+172>>2]&127](c[d+20>>2]|0,2,w,0);if((rU()|0)>3){xM(A,t,D);ZU(x,A);if((a[A+11>>0]|0)<0)l0a(c[A>>2]|0);if(ZQ(4)|0){g=mr(lr(4)|0,149648,14)|0;switch(c[(c[z>>2]|0)+32>>2]|0){case 35633:{f=149500;break}case 36488:{f=149488;break}case 36487:{f=149473;break}case 36313:{f=149464;break}case 35632:{f=149455;break}case 37305:{f=149447;break}default:f=149437}v=mr(mr(g,f,VNa(f)|0)|0,149507,9)|0;f=x+11|0;G=a[f>>0]|0;w=G<<24>>24<0;G=mr(v,w?c[x>>2]|0:x,w?c[x+4>>2]|0:G&255)|0;BSa(A,G+(c[(c[G>>2]|0)+-12>>2]|0)|0);w=cUa(A,230580)|0;w=kk[c[(c[w>>2]|0)+28>>2]&511](w,10)|0;dUa(A);VSa(G,w)|0;HSa(G)|0}else f=x+11|0;if((a[f>>0]|0)<0)l0a(c[x>>2]|0)}}else{if(q){xM(x,E,t);G=a[r>>0]|0;u=G<<24>>24<0;G=I0a(x,u?c[D>>2]|0:D,u?c[p>>2]|0:G&255)|0;c[A>>2]=c[G>>2];c[A+4>>2]=c[G+4>>2];c[A+8>>2]=c[G+8>>2];c[G>>2]=0;c[G+4>>2]=0;c[G+8>>2]=0;ZU(w,A);if((a[A+11>>0]|0)<0)l0a(c[A>>2]|0);if((a[x+11>>0]|0)<0)l0a(c[x>>2]|0);if(ZQ(3)|0){g=mr(lr(3)|0,149425,11)|0;switch(c[(c[z>>2]|0)+32>>2]|0){case 35633:{f=149500;break}case 36488:{f=149488;break}case 36487:{f=149473;break}case 36313:{f=149464;break}case 35632:{f=149455;break}case 37305:{f=149447;break}default:f=149437}q=mr(mr(g,f,VNa(f)|0)|0,149507,9)|0;f=w+11|0;G=a[f>>0]|0;u=G<<24>>24<0;G=mr(q,u?c[w>>2]|0:w,u?c[w+4>>2]|0:G&255)|0;BSa(A,G+(c[(c[G>>2]|0)+-12>>2]|0)|0);u=cUa(A,230580)|0;u=kk[c[(c[u>>2]|0)+28>>2]&511](u,10)|0;dUa(A);VSa(G,u)|0;HSa(G)|0}else f=w+11|0;if((a[f>>0]|0)<0)l0a(c[w>>2]|0);f=a[h>>0]|0}c[w>>2]=f<<24>>24<0?c[E>>2]|0:E;if((a[s>>0]|0)<0)f=c[t>>2]|0;else f=t;c[w+4>>2]=f;c[w+8>>2]=(a[r>>0]|0)<0?c[D>>2]|0:D;Qk[c[(c[d+16>>2]|0)+172>>2]&127](c[d+20>>2]|0,3,w,0);if((rU()|0)>3){xM(v,E,t);G=a[r>>0]|0;w=G<<24>>24<0;G=I0a(v,w?c[D>>2]|0:D,w?c[p>>2]|0:G&255)|0;c[A>>2]=c[G>>2];c[A+4>>2]=c[G+4>>2];c[A+8>>2]=c[G+8>>2];c[G>>2]=0;c[G+4>>2]=0;c[G+8>>2]=0;ZU(x,A);if((a[A+11>>0]|0)<0)l0a(c[A>>2]|0);if((a[v+11>>0]|0)<0)l0a(c[v>>2]|0);if(ZQ(4)|0){g=mr(lr(4)|0,149633,14)|0;switch(c[(c[z>>2]|0)+32>>2]|0){case 35633:{f=149500;break}case 36488:{f=149488;break}case 36487:{f=149473;break}case 36313:{f=149464;break}case 35632:{f=149455;break}case 37305:{f=149447;break}default:f=149437}v=mr(mr(g,f,VNa(f)|0)|0,149507,9)|0;f=x+11|0;G=a[f>>0]|0;w=G<<24>>24<0;G=mr(v,w?c[x>>2]|0:x,w?c[x+4>>2]|0:G&255)|0;BSa(A,G+(c[(c[G>>2]|0)+-12>>2]|0)|0);w=cUa(A,230580)|0;w=kk[c[(c[w>>2]|0)+28>>2]&511](w,10)|0;dUa(A);VSa(G,w)|0;HSa(G)|0}else f=x+11|0;if((a[f>>0]|0)<0)l0a(c[x>>2]|0)}}if((a[h>>0]|0)<0)l0a(c[E>>2]|0);h=d+20|0;i=d+16|0}Bk[c[(c[i>>2]|0)+52>>2]&2047](c[h>>2]|0);Nk[c[(c[i>>2]|0)+120>>2]&255](c[h>>2]|0,35713,y);G=(c[y>>2]|0)==1;a[d+37>>0]=G&1;if(G){c[E>>2]=0;c[E+4>>2]=0;c[E+8>>2]=0;if(dT(c[i>>2]|0,c[h>>2]|0,E)|0?ZQ(4)|0:0){g=lr(4)|0;switch(c[(c[z>>2]|0)+32>>2]|0){case 35633:{f=149500;break}case 36488:{f=149488;break}case 36487:{f=149473;break}case 36313:{f=149464;break}case 35632:{f=149455;break}case 37305:{f=149447;break}default:f=149437}w=mr(mr(g,f,VNa(f)|0)|0,149691,9)|0;G=c[z>>2]|0;x=G+12|0;d=a[x+11>>0]|0;y=d<<24>>24<0;d=mr(mr(w,y?c[x>>2]|0:x,y?c[G+16>>2]|0:d&255)|0,149701,11)|0;G=a[E+11>>0]|0;y=G<<24>>24<0;G=mr(d,y?c[E>>2]|0:E,y?c[E+4>>2]|0:G&255)|0;BSa(A,G+(c[(c[G>>2]|0)+-12>>2]|0)|0);y=cUa(A,230580)|0;y=kk[c[(c[y>>2]|0)+28>>2]&511](y,10)|0;dUa(A);VSa(G,y)|0;HSa(G)|0}e=c[h>>2]|0;g=c[z>>2]|0;h=g+12|0;f=c[(c[i>>2]|0)+1748>>2]|0;if(f|0?(C=a[h+11>>0]|0,B=C<<24>>24<0,C=B?c[g+16>>2]|0:C&255,C|0):0)Qk[f&127](33505,e,C,B?c[h>>2]|0:h);if((a[E+11>>0]|0)<0)l0a(c[E>>2]|0)}else{if(ZQ(2)|0){g=lr(2)|0;switch(c[(c[z>>2]|0)+32>>2]|0){case 35633:{f=149500;break}case 36488:{f=149488;break}case 36487:{f=149473;break}case 36313:{f=149464;break}case 35632:{f=149455;break}case 37305:{f=149447;break}default:f=149437}d=mr(mr(g,f,VNa(f)|0)|0,149663,18)|0;C=c[z>>2]|0;y=C+12|0;G=a[y+11>>0]|0;B=G<<24>>24<0;G=mr(mr(d,B?c[y>>2]|0:y,B?c[C+16>>2]|0:G&255)|0,149682,8)|0;BSa(A,G+(c[(c[G>>2]|0)+-12>>2]|0)|0);C=cUa(A,230580)|0;C=kk[c[(c[C>>2]|0)+28>>2]&511](C,10)|0;dUa(A);VSa(G,C)|0;HSa(G)|0};c[E>>2]=0;c[E+4>>2]=0;c[E+8>>2]=0;if(dT(c[i>>2]|0,c[h>>2]|0,E)|0?ZQ(2)|0:0){g=lr(2)|0;switch(c[(c[z>>2]|0)+32>>2]|0){case 35633:{f=149500;break}case 36488:{f=149488;break}case 36487:{f=149473;break}case 36313:{f=149464;break}case 35632:{f=149455;break}case 37305:{f=149447;break}default:f=149437}y=mr(mr(g,f,VNa(f)|0)|0,149691,9)|0;G=c[z>>2]|0;z=G+12|0;B=a[z+11>>0]|0;C=B<<24>>24<0;B=mr(mr(y,C?c[z>>2]|0:z,C?c[G+16>>2]|0:B&255)|0,149701,11)|0;G=a[E+11>>0]|0;C=G<<24>>24<0;G=mr(B,C?c[E>>2]|0:E,C?c[E+4>>2]|0:G&255)|0;BSa(A,G+(c[(c[G>>2]|0)+-12>>2]|0)|0);C=cUa(A,230580)|0;C=kk[c[(c[C>>2]|0)+28>>2]&511](C,10)|0;dUa(A);VSa(G,C)|0;HSa(G)|0}if((a[E+11>>0]|0)<0)l0a(c[E>>2]|0)}if((a[D+11>>0]|0)<0)l0a(c[D>>2]|0);l=F;return}function YU(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0;Q=l;l=l+64|0;L=Q+48|0;M=Q+36|0;E=Q+24|0;F=Q;G=Q+12|0;if(ZQ(5)|0){P=mr(lr(5)|0,149713,41)|0;BSa(L,P+(c[(c[P>>2]|0)+-12>>2]|0)|0);K=cUa(L,230580)|0;K=kk[c[(c[K>>2]|0)+28>>2]&511](K,10)|0;dUa(L);VSa(P,K)|0;HSa(P)|0}if(ZQ(5)|0){P=mr(lr(5)|0,149755,26)|0;BSa(L,P+(c[(c[P>>2]|0)+-12>>2]|0)|0);H=cUa(L,230580)|0;H=kk[c[(c[H>>2]|0)+28>>2]&511](H,10)|0;dUa(L);VSa(P,H)|0;HSa(P)|0;H=e+11|0;I=a[H>>0]|0;K=I<<24>>24<0;J=e+4|0;I=mr(P,K?c[e>>2]|0:e,K?c[J>>2]|0:I&255)|0;BSa(L,I+(c[(c[I>>2]|0)+-12>>2]|0)|0);K=cUa(L,230580)|0;K=kk[c[(c[K>>2]|0)+28>>2]&511](K,10)|0;dUa(L);VSa(I,K)|0;HSa(I)|0;I=mr(I,149782,8)|0;BSa(L,I+(c[(c[I>>2]|0)+-12>>2]|0)|0);K=cUa(L,230580)|0;K=kk[c[(c[K>>2]|0)+28>>2]&511](K,10)|0;dUa(L);VSa(I,K)|0;HSa(I)|0;I=e;K=e}else{H=e+11|0;I=e;J=e+4|0;K=e}$U(b,e);P=M+11|0;a[P>>0]=10;j=M;k=149791;m=j+10|0;do{a[j>>0]=a[k>>0]|0;j=j+1|0;k=k+1|0}while((j|0)<(m|0));a[M+10>>0]=0;i=a[H>>0]|0;u=i<<24>>24<0;g=c[I>>2]|0;h=c[J>>2]|0;j=i&255;t=u?g:K;u=u?h:j;v=t+u|0;a:do if((u|0)>=9){k=u;while(1){k=k+-1|0;if((a[t+k>>0]|0)==32){m=t+k+-1|0;if((((((((a[m>>0]|0)==110?(r=m+-1|0,(a[r>>0]|0)==111):0)?(n=r+-1|0,(a[n>>0]|0)==105):0)?(o=n+-1|0,(a[o>>0]|0)==115):0)?(p=o+-1|0,(a[p>>0]|0)==114):0)?(q=p+-1|0,(a[q>>0]|0)==101):0)?(s=q+-1|0,(a[s>>0]|0)==118):0)?(a[s+-1>>0]|0)==35:0)break;if((k|0)==8){m=0;break a}}else if((k|0)==8){m=0;break a}}n=s+-1|0;m=n;o=t;k=m-o|0;if(!((n|0)==(v|0)|(k|0)==-1)){if(u>>>0<k>>>0)g=-1;else{g=v;h=g-m|0;b:do if((h|0)<1)i=v;else{i=n;while(1){h=aOa(i,32,h)|0;if(!h){i=v;break b}if((a[h>>0]|0)==32)break;i=h+1|0;h=g-i|0;if((h|0)<1){i=v;break b}}i=h;g=h}while(0);g=(i|0)==(v|0)?-1:g-o|0};c[L>>2]=0;c[L+4>>2]=0;c[L+8>>2]=0;a[L+11>>0]=1;a[L>>0]=32;a[L+1>>0]=0;c:do if(u>>>0>g>>>0){g=t+g|0;while(1){if(!(aOa(L,d[g>>0]|0,1)|0))break;g=g+1|0;if((g|0)==(v|0)){g=-1;break c}}g=g-o|0}else g=-1;while(0);x0a(E,e,g,3,L);i=E+11|0;h=TOa((a[i>>0]|0)<0?c[E>>2]|0:E)|0;if(ZQ(4)|0){v=PSa(mr(lr(4)|0,149802,22)|0,h)|0;BSa(L,v+(c[(c[v>>2]|0)+-12>>2]|0)|0);u=cUa(L,230580)|0;u=kk[c[(c[u>>2]|0)+28>>2]&511](u,10)|0;dUa(L);VSa(v,u)|0;HSa(v)|0}if((h|0)>129)E0a(M,149825)|0;g=Q0a(e,10,g)|0;do if((g|0)==-1){g=a[H>>0]|0;if(g<<24>>24<0){g=c[J>>2]|0;break}else{g=g&255;break}}else g=g+1|0;while(0);if((a[i>>0]|0)<0)l0a(c[E>>2]|0);i=a[H>>0]|0;m=g;j=i&255;g=c[I>>2]|0;h=c[J>>2]|0}else m=0}else m=0;while(0);i=i<<24>>24<0;k=i?g:K;g=i?h:j;i=k+g|0;d:do if((g|0)>=11){while(1){g=g+-1|0;if((a[k+g>>0]|0)==32){h=k+g+-1|0;if((((((((((a[h>>0]|0)==110?(w=h+-1|0,(a[w>>0]|0)==111):0)?(y=w+-1|0,(a[y>>0]|0)==105):0)?(z=y+-1|0,(a[z>>0]|0)==115):0)?(A=z+-1|0,(a[A>>0]|0)==110):0)?(B=A+-1|0,(a[B>>0]|0)==101):0)?(C=B+-1|0,(a[C>>0]|0)==116):0)?(D=C+-1|0,(a[D>>0]|0)==120):0)?(x=D+-1|0,(a[x>>0]|0)==101):0)?(a[x+-1>>0]|0)==35:0)break;if((g|0)==10){i=m;break d}}else if((g|0)==10){i=m;break d}}D=x+-1|0;g=D-k|0;if(!((D|0)==(i|0)|(g|0)==-1)){g=Q0a(e,10,g)|0;if((g|0)!=-1){i=g+1|0;break}g=a[H>>0]|0;if(g<<24>>24<0){i=c[J>>2]|0;break}else{i=g&255;break}}else i=m}else i=m;while(0);if(a[b+130>>0]|0){c[L>>2]=0;c[L+4>>2]=0;c[L+8>>2]=0;g=j0a(16)|0;c[L>>2]=g;c[L+8>>2]=-2147483632;c[L+4>>2]=12;j=g;k=149829;m=j+12|0;do{a[j>>0]=a[k>>0]|0;j=j+1|0;k=k+1|0}while((j|0)<(m|0));a[g+12>>0]=0;c[E>>2]=0;c[E+4>>2]=0;c[E+8>>2]=0;h=j0a(48)|0;c[E>>2]=h;c[E+8>>2]=-2147483600;c[E+4>>2]=40;j=h;k=149842;m=j+40|0;do{a[j>>0]=a[k>>0]|0;j=j+1|0;k=k+1|0}while((j|0)<(m|0));a[h+40>>0]=0;aV(e,L,E)|0;if((a[E+11>>0]|0)<0)l0a(c[E>>2]|0);l0a(g);c[L>>2]=0;c[L+4>>2]=0;c[L+8>>2]=0;h=j0a(32)|0;c[L>>2]=h;c[L+8>>2]=-2147483616;c[L+4>>2]=18;j=h;k=149883;m=j+18|0;do{a[j>>0]=a[k>>0]|0;j=j+1|0;k=k+1|0}while((j|0)<(m|0));a[h+18>>0]=0;c[E>>2]=0;c[E+4>>2]=0;c[E+8>>2]=0;g=j0a(32)|0;c[E>>2]=g;c[E+8>>2]=-2147483616;c[E+4>>2]=19;j=g;k=149902;m=j+19|0;do{a[j>>0]=a[k>>0]|0;j=j+1|0;k=k+1|0}while((j|0)<(m|0));a[g+19>>0]=0;c[F>>2]=0;c[F+4>>2]=0;c[F+8>>2]=0;g=F+11|0;a[g>>0]=8;D=F;c[D>>2]=1718185589;c[D+4>>2]=544043631;a[F+8>>0]=0;c[G>>2]=0;c[G+4>>2]=0;c[G+8>>2]=0;D=G+11|0;a[D>>0]=5;a[G>>0]=a[149922]|0;a[G+1>>0]=a[149923]|0;a[G+2>>0]=a[149924]|0;a[G+3>>0]=a[149925]|0;a[G+4>>0]=a[149926]|0;a[G+5>>0]=0;bV(e,i,L,E,F,G);if((a[D>>0]|0)<0)l0a(c[G>>2]|0);if((a[g>>0]|0)<0)l0a(c[F>>2]|0);if((a[E+11>>0]|0)<0)l0a(c[E>>2]|0);l0a(h);c[L>>2]=0;c[L+4>>2]=0;c[L+8>>2]=0;h=j0a(32)|0;c[L>>2]=h;c[L+8>>2]=-2147483616;c[L+4>>2]=28;j=h;k=149928;m=j+28|0;do{a[j>>0]=a[k>>0]|0;j=j+1|0;k=k+1|0}while((j|0)<(m|0));a[h+28>>0]=0;c[E>>2]=0;c[E+4>>2]=0;c[E+8>>2]=0;g=j0a(32)|0;c[E>>2]=g;c[E+8>>2]=-2147483616;c[E+4>>2]=29;j=g;k=149957;m=j+29|0;do{a[j>>0]=a[k>>0]|0;j=j+1|0;k=k+1|0}while((j|0)<(m|0));a[g+29>>0]=0;c[F>>2]=0;c[F+4>>2]=0;c[F+8>>2]=0;g=F+11|0;a[g>>0]=8;D=F;c[D>>2]=1718185589;c[D+4>>2]=544043631;a[F+8>>0]=0;c[G>>2]=0;c[G+4>>2]=0;c[G+8>>2]=0;D=G+11|0;a[D>>0]=5;a[G>>0]=a[149922]|0;a[G+1>>0]=a[149923]|0;a[G+2>>0]=a[149924]|0;a[G+3>>0]=a[149925]|0;a[G+4>>0]=a[149926]|0;a[G+5>>0]=0;bV(e,i,L,E,F,G);if((a[D>>0]|0)<0)l0a(c[G>>2]|0);if((a[g>>0]|0)<0)l0a(c[F>>2]|0);if((a[E+11>>0]|0)<0)l0a(c[E>>2]|0);l0a(h);c[L>>2]=0;c[L+4>>2]=0;c[L+8>>2]=0;h=j0a(32)|0;c[L>>2]=h;c[L+8>>2]=-2147483616;c[L+4>>2]=19;j=h;k=149987;m=j+19|0;do{a[j>>0]=a[k>>0]|0;j=j+1|0;k=k+1|0}while((j|0)<(m|0));a[h+19>>0]=0;c[E>>2]=0;c[E+4>>2]=0;c[E+8>>2]=0;g=j0a(32)|0;c[E>>2]=g;c[E+8>>2]=-2147483616;c[E+4>>2]=20;j=g;k=150007;m=j+20|0;do{a[j>>0]=a[k>>0]|0;j=j+1|0;k=k+1|0}while((j|0)<(m|0));a[g+20>>0]=0;c[F>>2]=0;c[F+4>>2]=0;c[F+8>>2]=0;g=F+11|0;a[g>>0]=8;D=F;c[D>>2]=1718185589;c[D+4>>2]=544043631;a[F+8>>0]=0;c[G>>2]=0;c[G+4>>2]=0;c[G+8>>2]=0;D=G+11|0;a[D>>0]=5;a[G>>0]=a[149922]|0;a[G+1>>0]=a[149923]|0;a[G+2>>0]=a[149924]|0;a[G+3>>0]=a[149925]|0;a[G+4>>0]=a[149926]|0;a[G+5>>0]=0;bV(e,i,L,E,F,G);if((a[D>>0]|0)<0)l0a(c[G>>2]|0);if((a[g>>0]|0)<0)l0a(c[F>>2]|0);if((a[E+11>>0]|0)<0)l0a(c[E>>2]|0);l0a(h);c[L>>2]=0;c[L+4>>2]=0;c[L+8>>2]=0;h=j0a(16)|0;c[L>>2]=h;c[L+8>>2]=-2147483632;c[L+4>>2]=15;j=h;k=150028;m=j+15|0;do{a[j>>0]=a[k>>0]|0;j=j+1|0;k=k+1|0}while((j|0)<(m|0));a[h+15>>0]=0;c[E>>2]=0;c[E+4>>2]=0;c[E+8>>2]=0;g=j0a(32)|0;c[E>>2]=g;c[E+8>>2]=-2147483616;c[E+4>>2]=16;j=g;k=150044;m=j+16|0;do{a[j>>0]=a[k>>0]|0;j=j+1|0;k=k+1|0}while((j|0)<(m|0));a[g+16>>0]=0;c[F>>2]=0;c[F+4>>2]=0;c[F+8>>2]=0;g=F+11|0;a[g>>0]=8;D=F;c[D>>2]=1718185589;c[D+4>>2]=544043631;a[F+8>>0]=0;c[G>>2]=0;c[G+4>>2]=0;c[G+8>>2]=0;D=G+11|0;a[D>>0]=5;a[G>>0]=a[150061]|0;a[G+1>>0]=a[150062]|0;a[G+2>>0]=a[150063]|0;a[G+3>>0]=a[150064]|0;a[G+4>>0]=a[150065]|0;a[G+5>>0]=0;bV(e,i,L,E,F,G);if((a[D>>0]|0)<0)l0a(c[G>>2]|0);if((a[g>>0]|0)<0)l0a(c[F>>2]|0);if((a[E+11>>0]|0)<0)l0a(c[E>>2]|0);l0a(h)}if(a[b+131>>0]|0?(bV(e,i,b+376|0,b+388|0,M,b+400|0),bV(e,i,b+416|0,b+428|0,M,b+440|0),bV(e,i,b+456|0,b+468|0,M,b+480|0),bV(e,i,b+496|0,b+508|0,M,b+520|0),bV(e,i,b+536|0,b+548|0,M,b+560|0),N=b+572|0,O=b+576|0,f=c[N>>2]|0,(c[O>>2]|0)!=(f|0)):0){g=0;do{G=f;bV(e,i,G+(g*40|0)+4|0,G+(g*40|0)+16|0,M,G+(g*40|0)+28|0);g=g+1|0;f=c[N>>2]|0}while(g>>>0<(((c[O>>2]|0)-f|0)/40|0)>>>0)}if(ZQ(5)|0){e=mr(lr(5)|0,150067,26)|0;BSa(L,e+(c[(c[e>>2]|0)+-12>>2]|0)|0);O=cUa(L,230580)|0;O=kk[c[(c[O>>2]|0)+28>>2]&511](O,10)|0;dUa(L);VSa(e,O)|0;HSa(e)|0;O=a[H>>0]|0;N=O<<24>>24<0;O=mr(e,N?c[I>>2]|0:K,N?c[J>>2]|0:O&255)|0;BSa(L,O+(c[(c[O>>2]|0)+-12>>2]|0)|0);N=cUa(L,230580)|0;N=kk[c[(c[N>>2]|0)+28>>2]&511](N,10)|0;dUa(L);VSa(O,N)|0;HSa(O)|0;O=mr(O,150094,16)|0;BSa(L,O+(c[(c[O>>2]|0)+-12>>2]|0)|0);N=cUa(L,230580)|0;N=kk[c[(c[N>>2]|0)+28>>2]&511](N,10)|0;dUa(L);VSa(O,N)|0;HSa(O)|0}if((a[P>>0]|0)>=0){l=Q;return 1}l0a(c[M>>2]|0);l=Q;return 1}function ZU(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;y=l;l=l+160|0;q=y+152|0;t=y+16|0;u=y;v=d+11|0;s=a[v>>0]|0;w=d+4|0;if(!((s<<24>>24<0?c[w>>2]|0:s&255)|0)){t0a(b,d);l=y;return}n=t+56|0;o=t+4|0;c[t>>2]=46956;c[n>>2]=46976;zSa(t+56|0,o);c[t+128>>2]=0;c[t+132>>2]=-1;c[t>>2]=81308;c[n>>2]=81328;ESa(o);c[o>>2]=68044;p=t+36|0;c[p>>2]=0;c[p+4>>2]=0;c[p+8>>2]=0;c[p+12>>2]=0;c[t+52>>2]=16;g=a[v>>0]|0;e=g<<24>>24<0;g=e?c[w>>2]|0:g&255;a:do if(!g){j=1;k=0;m=t;x=12}else{r=u+11|0;s=u+4|0;i=1;f=0;while(1){h=e?c[d>>2]|0:d;e=f;while(1){if((a[h+e>>0]|0)==10)break;e=e+1|0;if(e>>>0>=g>>>0){j=i;k=f;m=t;x=12;break a}}z=(c[t>>2]|0)+-12|0;c[t+(c[z>>2]|0)+12>>2]=5;z=t+(c[z>>2]|0)+4|0;c[z>>2]=c[z>>2]&-177|128;z=mr(QSa(t,i)|0,179162,2)|0;x0a(u,d,f,e-f|0,d);h=a[r>>0]|0;g=h<<24>>24<0;h=mr(z,g?c[u>>2]|0:u,g?c[s>>2]|0:h&255)|0;BSa(q,h+(c[(c[h>>2]|0)+-12>>2]|0)|0);g=cUa(q,230580)|0;g=kk[c[(c[g>>2]|0)+28>>2]&511](g,10)|0;dUa(q);VSa(h,g)|0;HSa(h)|0;if((a[r>>0]|0)<0)l0a(c[u>>2]|0);f=e+1|0;g=a[v>>0]|0;e=g<<24>>24<0;g=e?c[w>>2]|0:g&255;if(f>>>0>=g>>>0)break a;i=i+1|0}}while(0);if((x|0)==12?(v=(c[m>>2]|0)+-12|0,c[t+(c[v>>2]|0)+12>>2]=5,v=t+(c[v>>2]|0)+4|0,c[v>>2]=c[v>>2]&-177|128,v=mr(QSa(t,j)|0,179162,2)|0,x0a(u,d,k,-1,d),z=u+11|0,x=a[z>>0]|0,w=x<<24>>24<0,x=mr(v,w?c[u>>2]|0:u,w?c[u+4>>2]|0:x&255)|0,BSa(q,x+(c[(c[x>>2]|0)+-12>>2]|0)|0),w=cUa(q,230580)|0,w=kk[c[(c[w>>2]|0)+28>>2]&511](w,10)|0,dUa(q),VSa(x,w)|0,HSa(x)|0,(a[z>>0]|0)<0):0)l0a(c[u>>2]|0);_Q(b,o);c[t>>2]=81308;c[n>>2]=81328;c[o>>2]=68044;if((a[p+11>>0]|0)<0)l0a(c[p>>2]|0);oRa(o);kSa(t,81340);iRa(n);l=y;return}function _U(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;v=b+11|0;l=a[v>>0]|0;p=l<<24>>24<0;w=b+4|0;r=e+11|0;i=a[r>>0]|0;k=i<<24>>24<0;s=e+4|0;j=c[s>>2]|0;i=i&255;t=f+11|0;u=f+4|0;g=0;q=k?j:i;o=p?c[b>>2]|0:b;l=p?c[w>>2]|0:l&255;p=k?c[e>>2]|0:e;a:while(1){if(q){h=o+g|0;l=o+l|0;m=l;g=m-h|0;if((g|0)<(q|0)){g=12;break}n=d[p>>0]|0;while(1){g=g-q+1|0;if(!g){g=12;break a}g=aOa(h,n,g)|0;if(!g){g=12;break a}if(!(cOa(g,p,q)|0))break;h=g+1|0;g=m-h|0;if((g|0)<(q|0)){g=12;break a}}if((g|0)==(l|0)){g=12;break}else g=g-o|0}if((g|0)==-1){g=12;break}l=a[t>>0]|0;h=l<<24>>24<0;O0a(b,g,k?j:i,h?c[f>>2]|0:f,h?c[u>>2]|0:l&255)|0;l=a[t>>0]|0;g=(l<<24>>24<0?c[u>>2]|0:l&255)+g|0;l=a[v>>0]|0;h=l<<24>>24<0;l=h?c[w>>2]|0:l&255;i=a[r>>0]|0;k=i<<24>>24<0;j=c[s>>2]|0;i=i&255;if(l>>>0<g>>>0){g=12;break}else{q=k?j:i;o=h?c[b>>2]|0:b;p=k?c[e>>2]|0:e}}if((g|0)==12)return}function $U(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;m=e+11|0;g=a[m>>0]|0;h=g<<24>>24<0;n=e+4|0;i=c[n>>2]|0;if(!((h?i:g&255)|0))return;f=0;a:while(1){k=h?c[e>>2]|0:e;l=h?i:g&255;if(l>>>0<=f>>>0){f=17;break}j=k+l|0;f=k+f|0;b:while(1){g=a[f>>0]|0;switch(g<<24>>24){case 34:case 39:case 36:break b;default:{}}f=f+1|0;if((f|0)==(j|0)){f=17;break a}}h=k;i=f-h|0;if((f|0)==(j|0)|(i|0)==-1|(l|0)==(i|0)){f=17;break}c:do switch(g<<24>>24){case 39:case 34:{f=Q0a(e,g,i+1|0)|0;f=(f|0)==-1?-1:f+1|0;break}default:{f=i+1|0;d:do if(l>>>0>f>>>0){f=k+f|0;while(1){if(!(aOa(150111,d[f>>0]|0,63)|0))break;f=f+1|0;if((f|0)==(j|0))break d}f=f-h|0;if((f|0)!=-1){cV(b,e,i,f-i|0);f=i;break c}}while(0);cV(b,e,i,l-i|0);f=i}}while(0);g=a[m>>0]|0;h=g<<24>>24<0;i=c[n>>2]|0;if(f>>>0>=(h?i:g&255)>>>0){f=17;break}}if((f|0)==17)return}function aV(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0;D=e+11|0;m=a[D>>0]|0;l=m<<24>>24<0;E=e+4|0;k=c[E>>2]|0;j=m&255;i=l?k:j;if(!i){F=0;return F|0}z=b+11|0;x=a[z>>0]|0;t=x<<24>>24<0;q=c[b>>2]|0;A=b+4|0;y=c[A>>2]|0;w=c[e>>2]|0;B=f+11|0;C=f+4|0;g=0;h=0;u=t?q:b;s=t?y:x&255;v=l?w:e;r=m;a:while(1){if(i){m=u+h|0;p=u+s|0;n=p;h=n-m|0;if((h|0)<(i|0)){F=16;break}o=d[v>>0]|0;while(1){h=h-i+1|0;if(!h){F=16;break a}m=aOa(m,o,h)|0;if(!m){F=16;break a}if(!(cOa(m,v,i)|0))break;m=m+1|0;h=n-m|0;if((h|0)<(i|0)){F=16;break a}}h=m-u|0;if((m|0)==(p|0)|(h|0)==-1){F=16;break}}m=l?k:j;l=h+m|0;n=x&255;if(l>>>0<(t?y:n)>>>0){i=a[(t?q:b)+l>>0]|0;if((i+-48&255)>=10){j=(i+-97&255)<26;v=(i+-65&255)<26;h=v?l:h;if(j|v){h=j?l:h;i=n;o=x;n=y;p=w}else F=14}else{h=l;i=n;o=x;n=y;p=w}}else F=14;if((F|0)==14){F=0;o=a[B>>0]|0;g=o<<24>>24<0;O0a(b,h,m,g?c[f>>2]|0:f,g?c[C>>2]|0:o&255)|0;o=a[z>>0]|0;g=1;i=o&255;q=c[b>>2]|0;n=c[A>>2]|0;r=a[D>>0]|0;p=c[e>>2]|0;k=c[E>>2]|0}m=o<<24>>24<0;s=m?n:i;l=r<<24>>24<0;j=r&255;if(s>>>0<h>>>0){F=16;break}else{i=l?k:j;u=m?q:b;v=l?p:e;x=o;y=n;t=m;w=p}}if((F|0)==16)return g|0;return 0}function bV(d,e,f,g,h,i){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,m=0,n=0,o=0;o=l;l=l+48|0;j=o+36|0;k=o+24|0;m=o+12|0;n=o;if(!(aV(d,f,g)|0)){l=o;return}xM(m,h,i);f=a[g+11>>0]|0;i=f<<24>>24<0;f=I0a(m,i?c[g>>2]|0:g,i?c[g+4>>2]|0:f&255)|0;c[k>>2]=c[f>>2];c[k+4>>2]=c[f+4>>2];c[k+8>>2]=c[f+8>>2];c[f>>2]=0;c[f+4>>2]=0;c[f+8>>2]=0;c[n>>2]=0;c[n+4>>2]=0;c[n+8>>2]=0;f=n+11|0;a[f>>0]=2;b[n>>1]=2619;a[n+2>>0]=0;i=I0a(k,n,2)|0;c[j>>2]=c[i>>2];c[j+4>>2]=c[i+4>>2];c[j+8>>2]=c[i+8>>2];c[i>>2]=0;c[i+4>>2]=0;c[i+8>>2]=0;i=j+11|0;h=a[i>>0]|0;g=h<<24>>24<0;L0a(d,e,g?c[j>>2]|0:j,g?c[j+4>>2]|0:h&255)|0;if((a[i>>0]|0)<0)l0a(c[j>>2]|0);if((a[f>>0]|0)<0)l0a(c[n>>2]|0);if((a[k+11>>0]|0)<0)l0a(c[k>>2]|0);if((a[m+11>>0]|0)<0)l0a(c[m>>2]|0);l=o;return}function cV(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0;i=l;l=l+32|0;g=i+12|0;h=i;x0a(g,d,e+1|0,f+-1|0,d);c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;b=c[b+360>>2]|0;if(!b)b=c[(vt()|0)>>2]|0;if(hS(b,g,h,1)|0){b=h+11|0;j=a[b>>0]|0;k=j<<24>>24<0;O0a(d,e,f,k?c[h>>2]|0:h,k?c[h+4>>2]|0:j&255)|0}else{N0a(d,e,f)|0;b=h+11|0}if((a[b>>0]|0)<0)l0a(c[h>>2]|0);if((a[g+11>>0]|0)>=0){l=i;return}l0a(c[g>>2]|0);l=i;return}function dV(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;g=b+16|0;d=b+20|0;tV(g,c[d>>2]|0);c[b+24>>2]=0;c[g>>2]=d;c[d>>2]=0;d=c[b>>2]|0;i=b+4|0;if((i|0)==(d|0)){i=b+12|0;a[i>>0]=0;return 1}do{e=d;f=c[e+36>>2]|0;if((c[e+32>>2]|0)!=(f|0)?(h=f+-4|0,c[h>>2]&1|0):0){e=uV(g,e+16|0)|0;z0a(e,f+-16|0)|0;c[e+12>>2]=c[h>>2]}f=d;d=c[f+4>>2]|0;if(!d){e=f+8|0;d=c[e>>2]|0;if((c[d>>2]|0)!=(f|0))do{f=c[e>>2]|0;e=f+8|0;d=c[e>>2]|0}while((c[d>>2]|0)!=(f|0))}else while(1){e=c[d>>2]|0;if(!e)break;else d=e}}while((i|0)!=(d|0));i=b+12|0;a[i>>0]=0;return 1}function eV(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;m=b+4|0;e=c[m>>2]|0;do if(e|0){l=a[d+11>>0]|0;k=l<<24>>24<0;l=k?c[d+4>>2]|0:l&255;k=k?c[d>>2]|0:d;b=m;do{f=e+16|0;h=a[f+11>>0]|0;g=h<<24>>24<0;h=g?c[e+20>>2]|0:h&255;i=l>>>0<h>>>0;d=i?l:h;if((d|0)!=0?(j=cOa(g?c[f>>2]|0:f,k,d)|0,(j|0)!=0):0)d=j;else d=h>>>0<l>>>0?-1:i&1;i=(d|0)<0;b=i?b:e;e=c[(i?e+4|0:e)>>2]|0}while((e|0)!=0);if((b|0)!=(m|0)){e=b+16|0;g=a[e+11>>0]|0;f=g<<24>>24<0;g=f?c[b+20>>2]|0:g&255;d=g>>>0<l>>>0?g:l;if(d|0?(n=cOa(k,f?c[e>>2]|0:e,d)|0,n|0):0){if((n|0)<0)break;return b|0}if(l>>>0>=g>>>0){n=b;return n|0}}}while(0);n=m;return n|0}function fV(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0;m=l;l=l+16|0;j=m;k=a+4|0;d=c[k>>2]|0;g=c[a>>2]|0;f=d-g>>2;if(f>>>0>b>>>0){k=g;k=k+(b<<2)|0;l=m;return k|0}e=b+1|0;c[j>>2]=0;if(e>>>0<=f>>>0){if(e>>>0<f>>>0){f=g+(e<<2)|0;if((f|0)!=(d|0))do{d=d+-4|0;e=c[d>>2]|0;if(e|0?(g=e+8|0,h=c[g>>2]|0,c[g>>2]=h-1,(h|0)==1):0)UU(e,1,1);c[d>>2]=0}while((d|0)!=(f|0));c[k>>2]=f;h=12}}else{sV(a,e-f|0,j);h=12}if(((h|0)==12?(i=c[j>>2]|0,i|0):0)?(j=i+8|0,k=c[j>>2]|0,c[j>>2]=k-1,(k|0)==1):0)UU(i,1,1);k=c[a>>2]|0;k=k+(b<<2)|0;l=m;return k|0}function gV(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;if(a[b+668>>0]|0)dV(b+656|0)|0;if(c[e+8>>2]|0){pV(0,d,b+672|0,e);pV(0,d,b+168|0,e)}f=e+12|0;if(c[e+20>>2]|0){pV(0,d,b+672|0,f);pV(0,d,b+168|0,f)}a:do if(c[e+32>>2]|0){f=c[e+24>>2]|0;j=e+28|0;if((f|0)!=(j|0)){k=b+596|0;l=b+600|0;m=b+624|0;i=f;while(1){h=i+16|0;f=QU(k,h)|0;if((f|0)!=(l|0)?(n=c[f+28>>2]|0,(n&-16|0)!=33984):0){f=c[m>>2]|0;if(f){g=m;do{s=(c[f+16>>2]|0)>>>0<n>>>0;g=s?g:f;f=c[(s?f+4|0:f)>>2]|0}while((f|0)!=0);if((g|0)!=(m|0)?(o=g+16|0,n>>>0>=(c[o>>2]|0)>>>0):0){s=(a[o+6>>0]|0)==0;J0a(d,150266)|0;r=a[h+11>>0]|0;q=r<<24>>24<0;I0a(d,q?c[h>>2]|0:h,q?c[i+20>>2]|0:r&255)|0;if(s)w=22;else J0a(d,150275)|0}else w=21}else w=21;if((w|0)==21){J0a(d,150266)|0;s=a[h+11>>0]|0;r=s<<24>>24<0;I0a(d,r?c[h>>2]|0:h,r?c[i+20>>2]|0:s&255)|0;w=22}if((w|0)==22){w=0;J0a(d,150278)|0}J0a(d,191225)|0}f=c[i+4>>2]|0;if(!f){g=i+8|0;f=c[g>>2]|0;if((c[f>>2]|0)!=(i|0))do{s=c[g>>2]|0;g=s+8|0;f=c[g>>2]|0}while((c[f>>2]|0)!=(s|0))}else while(1){g=c[f>>2]|0;if(!g)break;else f=g}if((f|0)==(j|0))break;else i=f}}r=b+684|0;s=b+688|0;f=c[s>>2]|0;q=c[r>>2]|0;g=q;if((f|0)==(q|0)){h=g;j=f;i=f}else{m=b+608|0;l=0;do{f=c[g+(l*12|0)>>2]|0;j=g+(l*12|0)+4|0;if((f|0)!=(j|0)){k=(c[m>>2]|0)+(l*12|0)+4|0;i=f;while(1){q=i+16|0;h=c[q>>2]|0;if(a[q+6>>0]|0?(p=c[k>>2]|0,p|0):0){f=k;g=p;do{q=(c[g+16>>2]|0)>>>0<h>>>0;f=q?f:g;g=c[(q?g+4|0:g)>>2]|0}while((g|0)!=0);if((f|0)!=(k|0)?h>>>0>=(c[f+16>>2]|0)>>>0:0){n=f+20|0;q=a[n+11>>0]|0;o=q<<24>>24<0;I0a(d,o?c[n>>2]|0:n,o?c[f+24>>2]|0:q&255)|0}}f=c[i+4>>2]|0;if(!f){g=i+8|0;f=c[g>>2]|0;if((c[f>>2]|0)!=(i|0))do{q=c[g>>2]|0;g=q+8|0;f=c[g>>2]|0}while((c[f>>2]|0)!=(q|0))}else while(1){g=c[f>>2]|0;if(!g)break;else f=g}if((f|0)==(j|0))break;else i=f}}l=l+1|0;f=c[s>>2]|0;g=c[r>>2]|0}while(l>>>0<((f-g|0)/12|0)>>>0);h=g;j=g;i=f}q=e+36|0;n=e+40|0;g=c[q>>2]|0;if((c[n>>2]|0)!=(g|0)){o=b+596|0;p=b+600|0;f=0;while(1){if(f>>>0<((i-j|0)/12|0)>>>0?(t=c[g+(f*12|0)>>2]|0,u=g+(f*12|0)+4|0,(t|0)!=(u|0)):0){l=h+(f*12|0)+4|0;m=f+48&255;k=t;while(1){j=k+16|0;g=QU(o,j)|0;if((g|0)!=(p|0)){i=c[g+28>>2]|0;g=c[l>>2]|0;if(g){h=l;do{e=(c[g+16>>2]|0)>>>0<i>>>0;h=e?h:g;g=c[(e?g+4|0:g)>>2]|0}while((g|0)!=0);if((h|0)!=(l|0)?(v=h+16|0,i>>>0>=(c[v>>2]|0)>>>0):0){e=(a[v+6>>0]|0)==0;J0a(d,150266)|0;i=a[j+11>>0]|0;h=i<<24>>24<0;I0a(d,h?c[j>>2]|0:j,h?c[k+20>>2]|0:i&255)|0;K0a(d,m);if(e)w=65;else J0a(d,150275)|0}else w=64}else w=64;if((w|0)==64){J0a(d,150266)|0;e=a[j+11>>0]|0;i=e<<24>>24<0;I0a(d,i?c[j>>2]|0:j,i?c[k+20>>2]|0:e&255)|0;K0a(d,m);w=65}if((w|0)==65){w=0;J0a(d,150278)|0}J0a(d,191225)|0}g=c[k+4>>2]|0;if(!g){h=k+8|0;g=c[h>>2]|0;if((c[g>>2]|0)!=(k|0))do{e=c[h>>2]|0;h=e+8|0;g=c[h>>2]|0}while((c[g>>2]|0)!=(e|0))}else while(1){h=c[g>>2]|0;if(!h)break;else g=h}if((g|0)==(u|0))break;else k=g}}f=f+1|0;g=c[q>>2]|0;if(f>>>0>=(((c[n>>2]|0)-g|0)/12|0)>>>0)break a;h=c[r>>2]|0;j=h;i=c[s>>2]|0}}}while(0);if((a[b+131>>0]|0)==0?(a[b+130>>0]|0)==0:0)return;YU(b,d)|0;return}function hV(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=l;l=l+16|0;f=h;g=j0a(44)|0;iV(g,c[a+16>>2]|0,c[a+12>>2]|0);c[f>>2]=g;e=g+8|0;c[e>>2]=(c[e>>2]|0)+1;e=a+24|0;d=c[e>>2]|0;if(d>>>0<(c[a+28>>2]|0)>>>0){a=c[f>>2]|0;c[d>>2]=a;if(a){d=a+8|0;c[d>>2]=(c[d>>2]|0)+1;d=c[e>>2]|0}c[e>>2]=d+4}else jV(a+20|0,f);d=c[f>>2]|0;if(d|0?(e=d+8|0,f=c[e>>2]|0,c[e>>2]=f-1,(f|0)==1):0)UU(d,1,1);z0a(g+24|0,b)|0;l=h;return g|0}function iV(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;c[b+4>>2]=0;c[b+8>>2]=0;c[b>>2]=81900;g=b+16|0;c[g>>2]=0;f=b+24|0;c[f>>2]=0;c[f+4>>2]=0;c[f+8>>2]=0;c[b+40>>2]=e;c[b+12>>2]=d;f=bu(e,1)|0;e=c[g>>2]|0;if((e|0)!=(f|0)){c[g>>2]=f;if(f|0){f=f+8|0;c[f>>2]=(c[f>>2]|0)+1}if(e|0?(h=e+8|0,f=c[h>>2]|0,c[h>>2]=f-1,(f|0)==1):0)UU(e,1,1)}c[b+20>>2]=gk[c[(c[g>>2]|0)+60>>2]&1023](c[d+32>>2]|0)|0;a[b+36>>0]=1;a[b+37>>0]=0;return}function jV(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;m=a+4|0;d=c[m>>2]|0;e=c[a>>2]|0;i=d-e>>2;f=i+1|0;g=e;if(f>>>0>1073741823)g1a(a);l=a+8|0;j=(c[l>>2]|0)-e|0;k=j>>1;f=j>>2>>>0<536870911?(k>>>0<f>>>0?f:k):1073741823;do if(f)if(f>>>0>1073741823){m=db(8)|0;p0a(m,183738);c[m>>2]=110936;hb(m|0,65952,1066)}else{j=j0a(f<<2)|0;break}else j=0;while(0);e=j+(i<<2)|0;k=j+(f<<2)|0;f=c[b>>2]|0;c[e>>2]=f;if(f){g=f+8|0;c[g>>2]=(c[g>>2]|0)+1;g=c[a>>2]|0;d=c[m>>2]|0}h=e+4|0;f=g;if((d|0)==(g|0))b=f;else{b=i+-1-((d+-4-f|0)>>>2)|0;while(1){d=d+-4|0;f=c[d>>2]|0;c[e+-4>>2]=f;if(f|0){i=f+8|0;c[i>>2]=(c[i>>2]|0)+1}if((d|0)==(g|0))break;else e=e+-4|0}e=j+(b<<2)|0;b=c[a>>2]|0;d=c[m>>2]|0}c[a>>2]=e;c[m>>2]=h;c[l>>2]=k;f=b;if((d|0)!=(f|0))do{d=d+-4|0;e=c[d>>2]|0;if(e|0?(l=e+8|0,m=c[l>>2]|0,c[l>>2]=m-1,(m|0)==1):0)UU(e,1,1);c[d>>2]=0}while((d|0)!=(f|0));if(!b)return;l0a(b);return}function kV(b){b=b|0;var d=0,e=0,f=0,g=0;c[b>>2]=81900;d=mV(qu(c[b+40>>2]|0)|0)|0;Jk[c[(c[d>>2]|0)+44>>2]&1023](d,c[b+20>>2]|0);d=b+24|0;if((a[d+11>>0]|0)<0)l0a(c[d>>2]|0);d=b+16|0;e=c[d>>2]|0;if(!e){c[d>>2]=0;SU(b);return}g=e+8|0;f=c[g>>2]|0;c[g>>2]=f-1;if((f|0)!=1){c[d>>2]=0;SU(b);return}UU(e,1,1);c[d>>2]=0;SU(b);return}function lV(a){a=a|0;kV(a);l0a(a);return}function mV(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0;m=l;l=l+16|0;k=m;h=b+36|0;e=b+40|0;d=c[e>>2]|0;do if(d){f=b+40|0;while(1){e=c[d+16>>2]|0;if(e>>>0>47072>>>0){e=c[d>>2]|0;if(!e){e=5;break}else{f=d;d=e}}else{if(e>>>0>=47072>>>0){e=9;break}f=d+4|0;e=c[f>>2]|0;if(!e){e=8;break}else d=e}}if((e|0)==5){g=d;f=d;break}else if((e|0)==8){g=d;break}else if((e|0)==9){g=d;break}}else{g=e;f=e}while(0);d=c[f>>2]|0;if(!d){d=j0a(24)|0;c[d+16>>2]=47072;c[d+20>>2]=0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=g;c[f>>2]=d;e=c[c[h>>2]>>2]|0;if(!e)e=d;else{c[h>>2]=e;e=c[f>>2]|0}fp(c[b+40>>2]|0,e);j=b+44|0;c[j>>2]=(c[j>>2]|0)+1}i=d+20|0;if(c[i>>2]|0){k=c[i>>2]|0;l=m;return k|0}j=j0a(52)|0;d=c[b+24>>2]|0;e=j0a(16)|0;c[k>>2]=e;c[k+8>>2]=-2147483632;c[k+4>>2]=15;f=e;g=150200;h=f+15|0;do{a[f>>0]=a[g>>0]|0;f=f+1|0;g=g+1|0}while((f|0)<(h|0));a[e+15>>0]=0;lS(j,k,d);if((a[k+11>>0]|0)<0)l0a(c[k>>2]|0);c[j>>2]=81920;d=c[i>>2]|0;if((d|0)==(j|0)){k=c[i>>2]|0;l=m;return k|0}c[i>>2]=j;k=j+8|0;c[k>>2]=(c[k>>2]|0)+1;if(!d){k=c[i>>2]|0;l=m;return k|0}b=d+8|0;k=c[b>>2]|0;c[b>>2]=k-1;if((k|0)!=1){k=c[i>>2]|0;l=m;return k|0}UU(d,1,1);k=c[i>>2]|0;l=m;return k|0}function nV(a){a=a|0;BC(a);l0a(a);return}function oV(b,d){b=b|0;d=d|0;b=bu(c[b+24>>2]|0,1)|0;if(!(a[b+24>>0]|0))return;Bk[c[b+72>>2]&2047](d);return}function pV(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;g=c[f>>2]|0;b=c[e>>2]|0;r=f+4|0;q=e+4|0;if((b|0)==(q|0)|(g|0)==(r|0))return;p=b;while(1){i=g+16|0;m=p+16|0;n=m+11|0;b=a[n>>0]|0;h=b<<24>>24<0;o=p+20|0;b=h?c[o>>2]|0:b&255;f=a[i+11>>0]|0;j=f<<24>>24<0;f=j?c[g+20>>2]|0:f&255;l=b>>>0<f>>>0;k=l?b:f;e=(k|0)==0;if(!e?(s=j?c[i>>2]|0:i,t=h?c[m>>2]|0:m,u=cOa(s,t,k)|0,(u|0)!=0):0)if((u|0)<0)i=7;else{b=m;h=t;e=s;f=m;i=16}else if(f>>>0>=b>>>0)if(e)i=17;else{b=m;h=h?c[m>>2]|0:m;e=j?c[i>>2]|0:i;f=m;i=16}else i=7;do if((i|0)==7){i=0;b=c[g+4>>2]|0;if(!b){f=g+8|0;b=c[f>>2]|0;if((c[b>>2]|0)==(g|0)){f=p;break}do{o=c[f>>2]|0;f=o+8|0;b=c[f>>2]|0}while((c[b>>2]|0)!=(o|0));f=p}else{while(1){f=c[b>>2]|0;if(!f)break;else b=f}f=p;break}}else if((i|0)==16){e=cOa(h,e,k)|0;if(e)if((e|0)<0)i=20;else i=27;else i=17}while(0);if((i|0)==17)if(l)i=20;else{f=m;b=m;i=27}do if((i|0)==20){f=c[p+4>>2]|0;if(!f){b=p+8|0;f=c[b>>2]|0;if((c[f>>2]|0)==(p|0)){b=g;break}do{p=c[b>>2]|0;b=p+8|0;f=c[b>>2]|0}while((c[f>>2]|0)!=(p|0));b=g}else{while(1){b=c[f>>2]|0;if(!b)break;else f=b}b=g;break}}else if((i|0)==27){J0a(d,150266)|0;i=a[n>>0]|0;h=i<<24>>24<0;I0a(d,h?c[f>>2]|0:b,h?c[o>>2]|0:i&255)|0;i=p+28|0;h=i+11|0;b=a[h>>0]|0;f=b<<24>>24<0;if(f)e=c[p+32>>2]|0;else e=b&255;if(e|0){if(f)f=c[i>>2]|0;else f=i;if((a[f>>0]|0)!=40){J0a(d,184785)|0;b=a[h>>0]|0}o=b<<24>>24<0;I0a(d,o?c[i>>2]|0:i,o?c[p+32>>2]|0:b&255)|0}J0a(d,191225)|0;b=c[g+4>>2]|0;if(!b){f=g+8|0;b=c[f>>2]|0;if((c[b>>2]|0)!=(g|0))do{o=c[f>>2]|0;f=o+8|0;b=c[f>>2]|0}while((c[b>>2]|0)!=(o|0))}else while(1){f=c[b>>2]|0;if(!f)break;else b=f}f=c[p+4>>2]|0;if(!f){e=p+8|0;f=c[e>>2]|0;if((c[f>>2]|0)==(p|0))break;do{p=c[e>>2]|0;e=p+8|0;f=c[e>>2]|0}while((c[f>>2]|0)!=(p|0))}else{while(1){e=c[f>>2]|0;if(!e)break;else f=e}break}}while(0);if((f|0)==(q|0)|(b|0)==(r|0))break;else{p=f;g=b}}return}function qV(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0;c[a>>2]=81880;e=a+20|0;f=c[e>>2]|0;if(!f){SU(a);return}g=a+24|0;b=c[g>>2]|0;if((b|0)==(f|0))b=f;else{do{b=b+-4|0;d=c[b>>2]|0;if(d|0?(i=d+8|0,h=c[i>>2]|0,c[i>>2]=h-1,(h|0)==1):0)UU(d,1,1);c[b>>2]=0}while((b|0)!=(f|0));b=c[e>>2]|0}c[g>>2]=f;l0a(b);SU(a);return}function rV(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0;c[a>>2]=81880;e=a+20|0;f=c[e>>2]|0;if(!f){SU(a);l0a(a);return}g=a+24|0;b=c[g>>2]|0;if((b|0)==(f|0))b=f;else{do{b=b+-4|0;d=c[b>>2]|0;if(d|0?(i=d+8|0,h=c[i>>2]|0,c[i>>2]=h-1,(h|0)==1):0)UU(d,1,1);c[b>>2]=0}while((b|0)!=(f|0));b=c[e>>2]|0}c[g>>2]=f;l0a(b);SU(a);l0a(a);return}function sV(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;m=a+8|0;g=c[m>>2]|0;n=a+4|0;e=c[n>>2]|0;if(g-e>>2>>>0>=b>>>0){do{f=c[d>>2]|0;c[e>>2]=f;if(f){e=f+8|0;c[e>>2]=(c[e>>2]|0)+1;e=c[n>>2]|0}e=e+4|0;c[n>>2]=e;b=b+-1|0}while((b|0)!=0);return}f=c[a>>2]|0;k=e-f>>2;e=k+b|0;if(e>>>0>1073741823)g1a(a);j=g-f|0;l=j>>1;e=j>>2>>>0<536870911?(l>>>0<e>>>0?e:l):1073741823;do if(e)if(e>>>0>1073741823){n=db(8)|0;p0a(n,183738);c[n>>2]=110936;hb(n|0,65952,1066)}else{l=j0a(e<<2)|0;break}else l=0;while(0);j=l+(k<<2)|0;f=j;i=l+(e<<2)|0;e=f;h=j;while(1){g=c[d>>2]|0;c[h>>2]=g;if(!g)e=h;else{h=g+8|0;c[h>>2]=(c[h>>2]|0)+1}g=e+4|0;b=b+-1|0;if(!b)break;else{e=g;h=g}}d=g;e=c[a>>2]|0;b=e;g=c[n>>2]|0;if((g|0)==(e|0))g=b;else{h=k+-1-((g+-4-b|0)>>>2)|0;f=j;while(1){g=g+-4|0;b=c[g>>2]|0;c[f+-4>>2]=b;if(b|0){k=b+8|0;c[k>>2]=(c[k>>2]|0)+1}if((g|0)==(e|0))break;else f=f+-4|0}f=l+(h<<2)|0;g=c[a>>2]|0;e=c[n>>2]|0}c[a>>2]=f;c[n>>2]=d;c[m>>2]=i;b=g;if((e|0)!=(b|0))do{e=e+-4|0;f=c[e>>2]|0;if(f|0?(m=f+8|0,n=c[m>>2]|0,c[m>>2]=n-1,(n|0)==1):0)UU(f,1,1);c[e>>2]=0}while((e|0)!=(b|0));if(!g)return;l0a(g);return}function tV(b,d){b=b|0;d=d|0;var e=0;if(!d)return;tV(b,c[d>>2]|0);tV(b,c[d+4>>2]|0);b=d+16|0;e=d+28|0;if((a[e+11>>0]|0)<0)l0a(c[e>>2]|0);if((a[b+11>>0]|0)<0)l0a(c[b>>2]|0);l0a(d);return}function uV(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=l;l=l+16|0;e=h;f=vV(a,e,b)|0;d=c[f>>2]|0;if(d|0){a=d;a=a+28|0;l=h;return a|0}g=j0a(44)|0;t0a(g+16|0,b);d=g+28|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[d+12>>2]=0;d=c[e>>2]|0;c[g>>2]=0;c[g+4>>2]=0;c[g+8>>2]=d;c[f>>2]=g;d=c[c[a>>2]>>2]|0;if(!d)d=g;else{c[a>>2]=d;d=c[f>>2]|0}fp(c[a+4>>2]|0,d);a=a+8|0;c[a>>2]=(c[a>>2]|0)+1;a=g;a=a+28|0;l=h;return a|0}function vV(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;f=b+4|0;h=c[f>>2]|0;if(!h){c[d>>2]=f;o=f;return o|0}m=a[e+11>>0]|0;l=m<<24>>24<0;m=l?c[e+4>>2]|0:m&255;l=l?c[e>>2]|0:e;g=b+4|0;f=h;while(1){e=f+16|0;h=a[e+11>>0]|0;b=h<<24>>24<0;h=b?c[f+20>>2]|0:h&255;k=h>>>0<m>>>0;j=k?h:m;i=(j|0)==0;if(!i?(n=b?c[e>>2]|0:e,o=cOa(l,n,j)|0,(o|0)!=0):0)if((o|0)<0)b=7;else{e=n;b=11}else if(m>>>0>=h>>>0)if(i)b=12;else{e=b?c[e>>2]|0:e;b=11}else b=7;if((b|0)==7){b=0;e=c[f>>2]|0;if(!e){b=8;break}else{g=f;f=e}}else if((b|0)==11){e=cOa(e,l,j)|0;if(e)if((e|0)<0)b=14;else{b=16;break}else b=12}if((b|0)==12)if(k)b=14;else{b=16;break}if((b|0)==14){e=f+4|0;b=c[e>>2]|0;if(!b){b=15;break}else{g=e;f=b}}}if((b|0)==8){c[d>>2]=f;o=f;return o|0}else if((b|0)==15){c[d>>2]=f;o=e;return o|0}else if((b|0)==16){c[d>>2]=f;o=g;return o|0}return 0}function wV(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;c[b>>2]=81984;f=b+140|0;g=c[f>>2]|0;if(g|0){h=b+144|0;d=c[h>>2]|0;if((d|0)==(g|0))d=g;else{do{d=d+-4|0;e=c[d>>2]|0;if(e|0?(j=e+8|0,i=c[j>>2]|0,c[j>>2]=i-1,(i|0)==1):0)UU(e,1,1);c[d>>2]=0}while((d|0)!=(g|0));d=c[f>>2]|0}c[h>>2]=g;l0a(d)}KV(b+128|0,c[b+132>>2]|0);e=b+116|0;f=c[e>>2]|0;if(f|0){g=b+120|0;d=c[g>>2]|0;if((d|0)==(f|0))d=f;else{do{j=d;d=d+-12|0;iu(d,c[j+-8>>2]|0)}while((d|0)!=(f|0));d=c[e>>2]|0}c[g>>2]=f;l0a(d)}iu(b+104|0,c[b+108>>2]|0);iu(b+92|0,c[b+96>>2]|0);iu(b+80|0,c[b+84>>2]|0);JV(b+64|0,c[b+68>>2]|0);d=b+60|0;e=c[d>>2]|0;if(e|0?(i=e+8|0,j=c[i>>2]|0,c[i>>2]=j-1,(j|0)==1):0)UU(e,1,1);c[d>>2]=0;d=b+48|0;if((a[d+11>>0]|0)<0)l0a(c[d>>2]|0);d=b+36|0;if((a[d+11>>0]|0)>=0){Pr(b);return}l0a(c[d>>2]|0);Pr(b);return}function xV(a){a=a|0;wV(a);l0a(a);return}function yV(a){a=a|0;a=j0a(152)|0;MV(a,-1);return a|0}function zV(a,b){a=a|0;b=b|0;var c=0;c=j0a(152)|0;GV(c,a,b);return c|0}function AV(a,b){a=a|0;b=b|0;if(!b){b=0;return b|0}b=(y1a(b,42800,47104,0)|0)!=0;return b|0}function BV(a){a=a|0;return 186332}function CV(a){a=a|0;return 150310}function DV(a,b){a=a|0;b=b|0;FV(a+140|0,b);return}function EV(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;if(b|0){b=fV(a+140|0,c[b+124>>2]|0)|0;a=c[b>>2]|0;if(!a)return;c[b>>2]=0;d=a+8|0;e=c[d>>2]|0;c[d>>2]=e-1;if((e|0)!=1)return;UU(a,1,1);return}e=c[a+140>>2]|0;b=(c[a+144>>2]|0)-e|0;if((b|0)<=0)return;d=b>>>2;a=e;while(1){b=c[a>>2]|0;if(b|0?(c[a>>2]=0,f=b+8|0,e=c[f>>2]|0,c[f>>2]=e-1,(e|0)==1):0)UU(b,1,1);if((d|0)>1){d=d+-1|0;a=a+4|0}else break}return}function FV(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=l;l=l+16|0;g=i;c[g>>2]=0;h=a+4|0;d=c[h>>2]|0;f=c[a>>2]|0;e=d-f>>2;if(e>>>0>=b>>>0){if(e>>>0>b>>>0){b=f+(b<<2)|0;if((b|0)!=(d|0))do{d=d+-4|0;a=c[d>>2]|0;if(a|0?(e=a+8|0,f=c[e>>2]|0,c[e>>2]=f-1,(f|0)==1):0)UU(a,1,1);c[d>>2]=0}while((d|0)!=(b|0));c[h>>2]=b}}else sV(a,b-e|0,g);d=c[g>>2]|0;if(!d){l=i;return}g=d+8|0;h=c[g>>2]|0;c[g>>2]=h-1;if((h|0)!=1){l=i;return}UU(d,1,1);l=i;return}function GV(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0;m=l;l=l+16|0;j=m+4|0;k=m;Or(a,b,d);c[a>>2]=81984;c[a+32>>2]=c[b+32>>2];t0a(a+36|0,b+36|0);t0a(a+48|0,b+48|0);d=c[b+60>>2]|0;c[a+60>>2]=d;if(d|0){i=d+8|0;c[i>>2]=(c[i>>2]|0)+1}h=a+64|0;c[a+68>>2]=0;c[a+72>>2]=0;d=a+68|0;c[h>>2]=d;e=c[b+64>>2]|0;i=b+68|0;if((e|0)!=(i|0)){g=d;while(1){c[k>>2]=g;c[j>>2]=c[k>>2];HV(h,j,e+16|0)|0;d=c[e+4>>2]|0;if(!d){f=e+8|0;d=c[f>>2]|0;if((c[d>>2]|0)!=(e|0)){e=f;do{f=c[e>>2]|0;e=f+8|0;d=c[e>>2]|0}while((c[d>>2]|0)!=(f|0))}}else while(1){e=c[d>>2]|0;if(!e)break;else d=e}if((d|0)==(i|0))break;else e=d}}c[a+76>>2]=c[b+76>>2];c[a+84>>2]=0;c[a+88>>2]=0;c[a+80>>2]=a+84;c[a+96>>2]=0;c[a+100>>2]=0;c[a+92>>2]=a+96;c[a+108>>2]=0;c[a+112>>2]=0;c[a+104>>2]=a+108;c[a+116>>2]=0;c[a+120>>2]=0;c[a+124>>2]=0;c[a+132>>2]=0;c[a+136>>2]=0;c[a+128>>2]=a+132;IV(a+140|0);l=m;return}function HV(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,f=0,h=0,i=0,j=0,k=0,l=0,m=0;m=j0a(32)|0;i=m+16|0;c[i>>2]=c[d>>2];t0a(m+20|0,d+4|0);j=c[b>>2]|0;l=a+4|0;h=j;do if((l|0)!=(h|0)?(e=+g[i>>2],+g[h+16>>2]<e):0){b=c[l>>2]|0;if(!b){d=l;b=l;break}while(1)if(+g[b+16>>2]<e){d=c[b+4>>2]|0;if(!d){k=26;break}else b=d}else{d=c[b>>2]|0;if(!d){k=28;break}else b=d}if((k|0)==26){d=b+4|0;break}else if((k|0)==28){d=b;break}}else k=3;while(0);do if((k|0)==3){f=c[h>>2]|0;if((c[a>>2]|0)!=(h|0)){if(!f){b=h;do{k=b;b=c[b+8>>2]|0}while((c[b>>2]|0)==(k|0));d=b}else{b=f;while(1){d=c[b+4>>2]|0;if(!d){d=b;break}else b=d}}b=d;e=+g[i>>2];if(e<+g[d+16>>2]){b=c[l>>2]|0;if(!b){d=l;b=l;break}while(1)if(e<+g[b+16>>2]){d=c[b>>2]|0;if(!d){k=17;break}else b=d}else{d=c[b+4>>2]|0;if(!d){k=19;break}else b=d}if((k|0)==17){d=b;break}else if((k|0)==19){d=b+4|0;break}}}else b=j;if(!f){d=h;b=j}else d=b+4|0}while(0);c[m>>2]=0;c[m+4>>2]=0;c[m+8>>2]=b;c[d>>2]=m;b=c[c[a>>2]>>2]|0;if(!b){l=m;k=a+4|0;k=c[k>>2]|0;fp(k,l);a=a+8|0;l=c[a>>2]|0;l=l+1|0;c[a>>2]=l;return m|0}c[a>>2]=b;l=c[d>>2]|0;k=a+4|0;k=c[k>>2]|0;fp(k,l);a=a+8|0;l=c[a>>2]|0;l=l+1|0;c[a>>2]=l;return m|0}function IV(a){a=a|0;var b=0,d=0,e=0;b=l;l=l+16|0;d=b;e=gS(c[(vt()|0)>>2]|0)|0;c[d>>2]=0;LV(a,e,d);a=c[d>>2]|0;if(!a){l=b;return}d=a+8|0;e=c[d>>2]|0;c[d>>2]=e-1;if((e|0)!=1){l=b;return}UU(a,1,1);l=b;return}function JV(b,d){b=b|0;d=d|0;if(!d)return;JV(b,c[d>>2]|0);JV(b,c[d+4>>2]|0);b=d+20|0;if((a[b+11>>0]|0)<0)l0a(c[b>>2]|0);l0a(d);return}function KV(a,b){a=a|0;b=b|0;if(!b)return;else{KV(a,c[b>>2]|0);KV(a,c[b+4>>2]|0);l0a(b);return}}function LV(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;c[a>>2]=0;f=a+4|0;c[f>>2]=0;e=a+8|0;c[e>>2]=0;if(!b)return;if(b>>>0>1073741823)g1a(a);g=j0a(b<<2)|0;c[f>>2]=g;c[a>>2]=g;c[e>>2]=g+(b<<2);a=g;do{e=c[d>>2]|0;c[a>>2]=e;if(e){a=e+8|0;c[a>>2]=(c[a>>2]|0)+1;a=c[f>>2]|0}a=a+4|0;c[f>>2]=a;b=b+-1|0}while((b|0)!=0);return}function MV(a,b){a=a|0;b=b|0;var d=0;c[a+4>>2]=0;c[a+8>>2]=0;d=a+12|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[a+24>>2]=2;c[a+28>>2]=0;c[a>>2]=81984;c[a+32>>2]=b;b=a+36|0;c[a+68>>2]=0;c[a+72>>2]=0;c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;c[b+12>>2]=0;c[b+16>>2]=0;c[b+20>>2]=0;c[b+24>>2]=0;c[a+64>>2]=a+68;c[a+76>>2]=0;c[a+84>>2]=0;c[a+88>>2]=0;c[a+80>>2]=a+84;c[a+96>>2]=0;c[a+100>>2]=0;c[a+92>>2]=a+96;c[a+108>>2]=0;c[a+112>>2]=0;c[a+104>>2]=a+108;c[a+116>>2]=0;c[a+120>>2]=0;c[a+124>>2]=0;c[a+132>>2]=0;c[a+136>>2]=0;c[a+128>>2]=a+132;IV(a+140|0);return}function NV(a){a=a|0;var b=0,d=0,e=0,f=0;d=l;l=l+16|0;b=d;c[a>>2]=82156;if(ZQ(4)|0){e=USa(mr(lr(4)|0,151125,34)|0,a)|0;BSa(b,e+(c[(c[e>>2]|0)+-12>>2]|0)|0);f=cUa(b,230580)|0;f=kk[c[(c[f>>2]|0)+28>>2]&511](f,10)|0;dUa(b);VSa(e,f)|0;HSa(e)|0}jW(a+44|0,c[a+48>>2]|0);kW(a+32|0,c[a+36>>2]|0);Pr(a);l=d;return}function OV(a){a=a|0;NV(a);l0a(a);return}function PV(a){a=a|0;a=j0a(56)|0;lW(a);return a|0}function QV(a,b){a=a|0;b=b|0;var c=0;c=j0a(56)|0;iW(c,a,b);return c|0}function RV(a,b){a=a|0;b=b|0;if(!b){b=0;return b|0}b=(y1a(b,42800,47120,0)|0)!=0;return b|0}function SV(a){a=a|0;return 186332}function TV(a){a=a|0;return 150999}function UV(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=c[a+32>>2]|0;g=a+36|0;if((d|0)!=(g|0)){f=d;while(1){d=c[f+28>>2]|0;Jk[c[(c[d>>2]|0)+160>>2]&1023](d,b);d=c[f+4>>2]|0;if(!d){e=f+8|0;d=c[e>>2]|0;if((c[d>>2]|0)!=(f|0))do{f=c[e>>2]|0;e=f+8|0;d=c[e>>2]|0}while((c[d>>2]|0)!=(f|0))}else while(1){e=c[d>>2]|0;if(!e)break;else d=e}if((d|0)==(g|0))break;else f=d}}d=c[a+44>>2]|0;g=a+48|0;if((d|0)==(g|0))return;f=d;while(1){d=c[f+28>>2]|0;Jk[c[(c[d>>2]|0)+160>>2]&1023](d,b);d=c[f+4>>2]|0;if(!d){e=f+8|0;d=c[e>>2]|0;if((c[d>>2]|0)!=(f|0))do{a=c[e>>2]|0;e=a+8|0;d=c[e>>2]|0}while((c[d>>2]|0)!=(a|0))}else while(1){e=c[d>>2]|0;if(!e)break;else d=e}if((d|0)==(g|0))break;else f=d}return}function VV(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0;G=l;l=l+96|0;A=G+80|0;x=G+72|0;y=G+88|0;F=G+60|0;E=G+48|0;D=G+36|0;C=G+24|0;B=G+12|0;z=G;m=a+36|0;e=c[m>>2]|0;a:do if(e|0){h=c[b>>2]|0;n=c[b+4>>2]|0;if((h|0)==(n|0)){d=e;while(1){e=c[d>>2]|0;if(!e)break;else d=e}}else{d=m;do{f=c[e+20>>2]|0;g=c[e+16>>2]|0;k=h;while(1){if((g|0)==(f|0)){f=12;break}i=c[g>>2]|0;j=c[k>>2]|0;if(i>>>0<j>>>0){f=12;break}if(j>>>0<i>>>0){f=11;break}k=k+4|0;if((k|0)==(n|0)){f=11;break}else g=g+4|0}if((f|0)==11)d=e;else if((f|0)==12)e=e+4|0;e=c[e>>2]|0}while((e|0)!=0)}if((d|0)!=(m|0)){e=c[d+16>>2]|0;i=c[d+20>>2]|0;b:do if((e|0)!=(i|0))while(1){if((h|0)==(n|0))break a;f=c[h>>2]|0;g=c[e>>2]|0;if(f>>>0<g>>>0)break a;if(g>>>0<f>>>0)break b;e=e+4|0;if((e|0)==(i|0))break;else h=h+4|0}while(0);F=c[d+28>>2]|0;l=G;return F|0}}while(0);c[F>>2]=0;w=F+4|0;c[w>>2]=0;k=F+8|0;c[k>>2]=0;c[E>>2]=0;v=E+4|0;c[v>>2]=0;m=E+8|0;c[m>>2]=0;c[D>>2]=0;u=D+4|0;c[u>>2]=0;n=D+8|0;c[n>>2]=0;c[C>>2]=0;t=C+4|0;c[t>>2]=0;o=C+8|0;c[o>>2]=0;c[B>>2]=0;s=B+4|0;c[s>>2]=0;p=B+8|0;c[p>>2]=0;c[z>>2]=0;r=z+4|0;c[r>>2]=0;q=z+8|0;c[q>>2]=0;if(ZQ(3)|0){i=mr(lr(3)|0,150788,60)|0;j=b+4|0;i=RSa(i,(c[j>>2]|0)-(c[b>>2]|0)>>2)|0;BSa(A,i+(c[(c[i>>2]|0)+-12>>2]|0)|0);h=cUa(A,230580)|0;h=kk[c[(c[h>>2]|0)+28>>2]&511](h,10)|0;dUa(A);VSa(i,h)|0;HSa(i)|0}else j=b+4|0;e=c[b>>2]|0;d=c[j>>2]|0;if((e|0)!=(d|0))do{i=c[e>>2]|0;h=i+32|0;i=i+36|0;f=c[h>>2]|0;if((c[i>>2]|0)!=(f|0)){g=0;d=f;do{f=c[d+(g<<2)>>2]|0;c[x>>2]=f;d=c[f+32>>2]|0;c:do if((d|0)<36313){if((d|0)<35632){switch(d|0){case -1:break;default:break c}if(!(ZQ(2)|0))break;f=mr(lr(2)|0,150849,90)|0;BSa(A,f+(c[(c[f>>2]|0)+-12>>2]|0)|0);d=cUa(A,230580)|0;d=kk[c[(c[d>>2]|0)+28>>2]&511](d,10)|0;dUa(A);VSa(f,d)|0;HSa(f)|0;break}switch(d|0){case 35633:{d=c[w>>2]|0;if((d|0)==(c[k>>2]|0)){fW(F,x);break c}else{c[d>>2]=f;c[w>>2]=(c[w>>2]|0)+4;break c}}case 35632:{d=c[s>>2]|0;if((d|0)==(c[p>>2]|0)){fW(B,x);break c}else{c[d>>2]=f;c[s>>2]=(c[s>>2]|0)+4;break c}}default:break c}}else switch(d|0){case 36488:{d=c[v>>2]|0;if((d|0)==(c[m>>2]|0)){fW(E,x);break c}else{c[d>>2]=f;c[v>>2]=(c[v>>2]|0)+4;break c}}case 36487:{d=c[u>>2]|0;if((d|0)==(c[n>>2]|0)){fW(D,x);break c}else{c[d>>2]=f;c[u>>2]=(c[u>>2]|0)+4;break c}}case 36313:{d=c[t>>2]|0;if((d|0)==(c[o>>2]|0)){fW(C,x);break c}else{c[d>>2]=f;c[t>>2]=(c[t>>2]|0)+4;break c}}case 37305:{d=c[r>>2]|0;if((d|0)==(c[q>>2]|0)){fW(z,x);break c}else{c[d>>2]=f;c[r>>2]=(c[r>>2]|0)+4;break c}}default:break c}while(0);g=g+1|0;d=c[h>>2]|0}while(g>>>0<(c[i>>2]|0)-d>>2>>>0);d=c[j>>2]|0}e=e+4|0}while((e|0)!=(d|0));g=j0a(196)|0;DO(g);f=g+8|0;c[f>>2]=(c[f>>2]|0)+1;if((c[F>>2]|0)!=(c[w>>2]|0))Nk[c[(c[a>>2]|0)+172>>2]&255](a,g,F);if((c[E>>2]|0)!=(c[v>>2]|0))Nk[c[(c[a>>2]|0)+172>>2]&255](a,g,E);if((c[C>>2]|0)!=(c[t>>2]|0))Nk[c[(c[a>>2]|0)+172>>2]&255](a,g,C);if((c[D>>2]|0)!=(c[u>>2]|0))Nk[c[(c[a>>2]|0)+172>>2]&255](a,g,D);if((c[B>>2]|0)!=(c[s>>2]|0))Nk[c[(c[a>>2]|0)+172>>2]&255](a,g,B);if((c[z>>2]|0)!=(c[r>>2]|0))Nk[c[(c[a>>2]|0)+172>>2]&255](a,g,z);c[x>>2]=b;gW(A,a+32|0,b,231021,x,y);d=(c[A>>2]|0)+28|0;e=c[d>>2]|0;if(((e|0)!=(g|0)?(c[d>>2]=g,c[f>>2]=(c[f>>2]|0)+1,e|0):0)?(x=e+8|0,y=c[x>>2]|0,c[x>>2]=y-1,(y|0)==1):0)UU(e,1,1);if(ZQ(3)|0){y=mr(lr(3)|0,150940,58)|0;BSa(A,y+(c[(c[y>>2]|0)+-12>>2]|0)|0);x=cUa(A,230580)|0;x=kk[c[(c[x>>2]|0)+28>>2]&511](x,10)|0;dUa(A);VSa(y,x)|0;HSa(y)|0}A=c[f>>2]|0;c[f>>2]=A-1;if((A|0)==1)UU(g,1,1);d=c[z>>2]|0;if(d|0){c[r>>2]=d;l0a(d)}d=c[B>>2]|0;if(d|0){c[s>>2]=d;l0a(d)}d=c[C>>2]|0;if(d|0){c[t>>2]=d;l0a(d)}d=c[D>>2]|0;if(d|0){c[u>>2]=d;l0a(d)}d=c[E>>2]|0;if(d|0){c[v>>2]=d;l0a(d)}d=c[F>>2]|0;if(d|0){c[w>>2]=d;l0a(d)}F=g;l=G;return F|0}function WV(d,e){d=d|0;e=e|0;var f=0,h=0,i=0.0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;D=l;l=l+80|0;v=D+64|0;w=D+60|0;x=D+76|0;z=D+48|0;u=D+36|0;A=D+24|0;B=D+12|0;C=D;if(ZQ(3)|0){y=mr(lr(3)|0,150331,53)|0;r=e+4|0;y=RSa(y,(c[r>>2]|0)-(c[e>>2]|0)>>2)|0;BSa(v,y+(c[(c[y>>2]|0)+-12>>2]|0)|0);t=cUa(v,230580)|0;t=kk[c[(c[t>>2]|0)+28>>2]&511](t,10)|0;dUa(v);VSa(y,t)|0;HSa(y)|0}else r=e+4|0;s=z+4|0;c[s>>2]=0;t=z+8|0;c[t>>2]=0;y=z+4|0;c[z>>2]=y;h=c[e>>2]|0;if((h|0)==(c[r>>2]|0)){q=-1;f=y}else{f=-1;do{k=c[h>>2]|0;j=c[k+32>>2]|0;if((f|0)!=-1)if((f|0)!=(j|0)){if(ZQ(3)|0){p=mr(lr(3)|0,150385,83)|0;BSa(v,p+(c[(c[p>>2]|0)+-12>>2]|0)|0);o=cUa(v,230580)|0;o=kk[c[(c[o>>2]|0)+28>>2]&511](o,10)|0;dUa(v);VSa(p,o)|0;HSa(p)|0}}else q=14;else{f=j;q=14}if((q|0)==14){q=0;j=c[k+64>>2]|0;p=k+68|0;if((j|0)!=(p|0)){o=j;while(1){j=j0a(32)|0;m=j+16|0;c[m>>2]=c[o+16>>2];t0a(j+20|0,o+20|0);k=c[y>>2]|0;do if(k){i=+g[m>>2];while(1)if(i<+g[k+16>>2]){m=c[k>>2]|0;if(!m){q=20;break}else k=m}else{m=c[k+4>>2]|0;if(!m){q=22;break}else k=m}if((q|0)==20){q=0;m=k;n=k;break}else if((q|0)==22){q=0;m=k;n=k+4|0;break}}else{m=y;n=y}while(0);c[j>>2]=0;c[j+4>>2]=0;c[j+8>>2]=m;c[n>>2]=j;k=c[c[z>>2]>>2]|0;if(k){c[z>>2]=k;j=c[n>>2]|0}fp(c[s>>2]|0,j);c[t>>2]=(c[t>>2]|0)+1;j=c[o+4>>2]|0;if(!j){k=o+8|0;j=c[k>>2]|0;if((c[j>>2]|0)!=(o|0))do{o=c[k>>2]|0;k=o+8|0;j=c[k>>2]|0}while((c[j>>2]|0)!=(o|0))}else while(1){k=c[j>>2]|0;if(!k)break;else j=k}if((j|0)==(p|0))break;else o=j}}}h=h+4|0}while((h|0)!=(c[r>>2]|0));q=f;f=c[z>>2]|0};c[u>>2]=0;c[u+4>>2]=0;c[u+8>>2]=0;c[A>>2]=0;c[A+4>>2]=0;c[A+8>>2]=0;c[B>>2]=0;c[B+4>>2]=0;c[B+8>>2]=0;if((f|0)==(y|0)){o=u+11|0;p=u;f=0;h=0;j=0}else{j=f;while(1){i=+g[j+16>>2];do if(!(i<0.0)){f=j+20|0;h=a[f+11>>0]|0;t=h<<24>>24<0;f=t?c[f>>2]|0:f;h=t?c[j+24>>2]|0:h&255;if(!(i<=1.0)){I0a(B,f,h)|0;break}else{I0a(A,f,h)|0;break}}else{r=j+20|0;t=a[r+11>>0]|0;s=t<<24>>24<0;I0a(u,s?c[r>>2]|0:r,s?c[j+24>>2]|0:t&255)|0}while(0);f=c[j+4>>2]|0;if(!f){h=j+8|0;f=c[h>>2]|0;if((c[f>>2]|0)!=(j|0))do{t=c[h>>2]|0;h=t+8|0;f=c[h>>2]|0}while((c[f>>2]|0)!=(t|0))}else while(1){h=c[f>>2]|0;if(!h)break;else f=h}if((f|0)==(y|0))break;else j=f}f=u+11|0;o=f;p=u;f=a[f>>0]|0;h=c[u>>2]|0;j=c[u+4>>2]|0};c[C>>2]=0;c[C+4>>2]=0;c[C+8>>2]=0;k=f<<24>>24<0;I0a(C,k?h:u,k?j:f&255)|0;f=j0a(32)|0;h=f;j=150469;k=h+16|0;do{a[h>>0]=a[j>>0]|0;h=h+1|0;j=j+1|0}while((h|0)<(k|0));a[f+16>>0]=0;I0a(C,f,16)|0;l0a(f);c[v>>2]=0;c[v+4>>2]=0;c[v+8>>2]=0;u=v+11|0;a[u>>0]=2;b[v>>1]=2683;a[v+2>>0]=0;I0a(C,v,2)|0;if((a[u>>0]|0)<0)l0a(c[v>>2]|0);j=A+11|0;u=a[j>>0]|0;t=u<<24>>24<0;I0a(C,t?c[A>>2]|0:A,t?c[A+4>>2]|0:u&255)|0;c[v>>2]=0;c[v+4>>2]=0;c[v+8>>2]=0;u=v+11|0;a[u>>0]=2;b[v>>1]=2685;a[v+2>>0]=0;I0a(C,v,2)|0;if((a[u>>0]|0)<0)l0a(c[v>>2]|0);k=B+11|0;m=a[k>>0]|0;n=m<<24>>24<0;I0a(C,n?c[B>>2]|0:B,n?c[B+4>>2]|0:m&255)|0;m=j0a(152)|0;_V(m,q,C);n=m+8|0;c[n>>2]=(c[n>>2]|0)+1;if(ZQ(3)|0){u=PSa(mr(lr(3)|0,150486,7)|0,q)|0;BSa(v,u+(c[(c[u>>2]|0)+-12>>2]|0)|0);t=cUa(v,230580)|0;t=kk[c[(c[t>>2]|0)+28>>2]&511](t,10)|0;dUa(v);VSa(u,t)|0;HSa(u)|0}if(ZQ(3)|0){s=mr(lr(3)|0,150494,15)|0;BSa(v,s+(c[(c[s>>2]|0)+-12>>2]|0)|0);u=cUa(v,230580)|0;u=kk[c[(c[u>>2]|0)+28>>2]&511](u,10)|0;dUa(v);VSa(s,u)|0;HSa(s)|0;u=a[C+11>>0]|0;t=u<<24>>24<0;u=mr(s,t?c[C>>2]|0:C,t?c[C+4>>2]|0:u&255)|0;BSa(v,u+(c[(c[u>>2]|0)+-12>>2]|0)|0);t=cUa(v,230580)|0;t=kk[c[(c[t>>2]|0)+28>>2]&511](t,10)|0;dUa(v);VSa(u,t)|0;HSa(u)|0}if(ZQ(3)|0){u=mr(lr(3)|0,150510,43)|0;BSa(v,u+(c[(c[u>>2]|0)+-12>>2]|0)|0);t=cUa(v,230580)|0;t=kk[c[(c[t>>2]|0)+28>>2]&511](t,10)|0;dUa(v);VSa(u,t)|0;HSa(u)|0;BSa(v,u+(c[(c[u>>2]|0)+-12>>2]|0)|0);t=cUa(v,230580)|0;t=kk[c[(c[t>>2]|0)+28>>2]&511](t,10)|0;dUa(v);VSa(u,t)|0;HSa(u)|0}c[w>>2]=e;YV(v,d+44|0,e,231021,w,x);f=(c[v>>2]|0)+28|0;h=c[f>>2]|0;if(((h|0)!=(m|0)?(c[f>>2]=m,c[n>>2]=(c[n>>2]|0)+1,h|0):0)?(w=h+8|0,x=c[w>>2]|0,c[w>>2]=x-1,(x|0)==1):0)UU(h,1,1);x=c[n>>2]|0;c[n>>2]=x-1;if((x|0)==1)UU(m,1,1);if((a[C+11>>0]|0)<0)l0a(c[C>>2]|0);if((a[k>>0]|0)<0)l0a(c[B>>2]|0);if((a[j>>0]|0)<0)l0a(c[A>>2]|0);if((a[o>>0]|0)>=0){C=c[y>>2]|0;JV(z,C);l=D;return m|0}l0a(c[p>>2]|0);C=c[y>>2]|0;JV(z,C);l=D;return m|0}function XV(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;u=l;l=l+32|0;r=u+8|0;s=u;t=u+16|0;p=b+48|0;g=c[p>>2]|0;a:do if(g){k=c[e>>2]|0;i=e+4|0;q=c[i>>2]|0;if((k|0)==(q|0)){f=g;while(1){g=c[f>>2]|0;if(!g)break;else f=g}}else{f=p;do{h=c[g+20>>2]|0;j=c[g+16>>2]|0;o=k;while(1){if((j|0)==(h|0)){n=12;break}m=c[j>>2]|0;n=c[o>>2]|0;if(m>>>0<n>>>0){n=12;break}if(n>>>0<m>>>0){n=11;break}o=o+4|0;if((o|0)==(q|0)){n=11;break}else j=j+4|0}if((n|0)==11){n=0;h=g;f=g}else if((n|0)==12){n=0;h=g+4|0}g=c[h>>2]|0}while((g|0)!=0)}if((f|0)!=(p|0)){g=c[f+16>>2]|0;m=c[f+20>>2]|0;b:do if((g|0)!=(m|0))while(1){if((k|0)==(q|0)){n=22;break a}h=c[k>>2]|0;j=c[g>>2]|0;if(h>>>0<j>>>0){n=22;break a}if(j>>>0<h>>>0)break b;g=g+4|0;if((g|0)==(m|0))break;else k=k+4|0}while(0);uO(d,c[f+28>>2]|0)|0}else n=22}else n=22;while(0);if((n|0)==22){h=kk[c[(c[b>>2]|0)+168>>2]&511](b,e)|0;c[s>>2]=e;YV(r,b+44|0,e,231021,s,t);f=(c[r>>2]|0)+28|0;g=c[f>>2]|0;if((g|0)!=(h|0)){c[f>>2]=h;if(h|0){t=h+8|0;c[t>>2]=(c[t>>2]|0)+1}if(g|0?(s=g+8|0,t=c[s>>2]|0,c[s>>2]=t-1,(t|0)==1):0)UU(g,1,1)}uO(d,h)|0;i=e+4|0}e=c[e>>2]|0;f=c[i>>2]|0;if((e|0)==(f|0)){l=u;return}do{h=c[e>>2]|0;g=a[h+48+11>>0]|0;if(g<<24>>24<0)g=c[h+52>>2]|0;else g=g&255;if(!((g|0)==0?(c[h+60>>2]|0)==0:0)){uO(d,h)|0;f=c[i>>2]|0}e=e+4|0}while((e|0)!=(f|0));l=u;return}function YV(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;u=l;l=l+16|0;t=u;i=d+4|0;j=c[i>>2]|0;a:do if(j){i=d+4|0;s=c[e+4>>2]|0;q=c[e>>2]|0;b:do if((q|0)==(s|0)){k=c[j+16>>2]|0;e=c[j+20>>2]|0;if((k|0)==(e|0))r=29;else{o=j;while(1){n=s;while(1){if((n|0)==(s|0))break;j=c[n>>2]|0;m=c[k>>2]|0;if(j>>>0<m>>>0)break;if(m>>>0<j>>>0){j=o;r=29;break b}k=k+4|0;if((k|0)==(e|0)){j=o;r=29;break b}else n=n+4|0}j=c[o>>2]|0;if(!j){j=o;i=o;r=21;break b}k=c[j+16>>2]|0;e=c[j+20>>2]|0;if((k|0)==(e|0))break;else{i=o;o=j}}i=o;r=29}}else{p=j;while(1){j=c[p+16>>2]|0;o=c[p+20>>2]|0;c:do if((j|0)!=(o|0)){e=q;n=j;while(1){if((e|0)==(s|0))break;k=c[e>>2]|0;m=c[n>>2]|0;if(k>>>0<m>>>0)break;if(m>>>0<k>>>0){r=15;break c}n=n+4|0;if((n|0)==(o|0)){r=15;break c}else e=e+4|0}j=c[p>>2]|0;if(!j){j=p;i=p;r=21;break b}else i=p}else r=15;while(0);if((r|0)==15){r=0;m=q;while(1){if((j|0)==(o|0))break;e=c[j>>2]|0;k=c[m>>2]|0;if(e>>>0<k>>>0)break;if(k>>>0<e>>>0){j=p;r=29;break b}m=m+4|0;if((m|0)==(s|0)){j=p;r=29;break b}else j=j+4|0}i=p+4|0;j=c[i>>2]|0;if(!j)break}p=j}j=p;e=i;break a}while(0);if((r|0)==21){e=i;break}else if((r|0)==29){e=i;break}}else{j=i;e=i}while(0);i=c[e>>2]|0;if(i|0){t=i;d=0;c[b>>2]=t;t=b+4|0;a[t>>0]=d;l=u;return}ZV(t,d,f,g,h);i=c[t>>2]|0;c[i>>2]=0;c[i+4>>2]=0;c[i+8>>2]=j;c[e>>2]=i;j=c[c[d>>2]>>2]|0;if(j){c[d>>2]=j;i=c[e>>2]|0}fp(c[d+4>>2]|0,i);d=d+8|0;c[d>>2]=(c[d>>2]|0)+1;t=c[t>>2]|0;d=1;c[b>>2]=t;t=b+4|0;a[t>>0]=d;l=u;return}function ZV(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0;l=j0a(32)|0;c[b>>2]=l;c[b+4>>2]=d+4;k=b+8|0;a[k>>0]=0;i=l+16|0;g=c[f>>2]|0;c[i>>2]=0;j=l+20|0;c[j>>2]=0;b=l+24|0;c[b>>2]=0;f=g+4|0;e=(c[f>>2]|0)-(c[g>>2]|0)|0;d=e>>2;if(!e){l=l+28|0;c[l>>2]=0;a[k>>0]=1;return}if(d>>>0>1073741823)g1a(i);h=j0a(e)|0;c[j>>2]=h;c[i>>2]=h;c[b>>2]=h+(d<<2);g=c[g>>2]|0;e=(c[f>>2]|0)-g|0;if((e|0)<=0){l=l+28|0;c[l>>2]=0;a[k>>0]=1;return}x2a(h|0,g|0,e|0)|0;c[j>>2]=h+(e>>>2<<2);l=l+28|0;c[l>>2]=0;a[k>>0]=1;return}function _V(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;c[a+4>>2]=0;c[a+8>>2]=0;e=a+12|0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[a+24>>2]=2;c[a+28>>2]=0;c[a>>2]=81984;c[a+32>>2]=b;b=a+36|0;c[a+68>>2]=0;c[a+72>>2]=0;c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;c[b+12>>2]=0;c[b+16>>2]=0;c[b+20>>2]=0;c[b+24>>2]=0;c[a+64>>2]=a+68;c[a+76>>2]=0;c[a+84>>2]=0;c[a+88>>2]=0;c[a+80>>2]=a+84;c[a+96>>2]=0;c[a+100>>2]=0;c[a+92>>2]=a+96;c[a+108>>2]=0;c[a+112>>2]=0;c[a+104>>2]=a+108;c[a+116>>2]=0;c[a+120>>2]=0;c[a+124>>2]=0;c[a+132>>2]=0;c[a+136>>2]=0;c[a+128>>2]=a+132;IV(a+140|0);z0a(a+48|0,d)|0;$V(a);aW(a);return}function $V(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0;N=l;l=l+64|0;B=N+60|0;A=N+48|0;C=N+44|0;G=N+40|0;I=N+28|0;J=N+16|0;K=N+12|0;L=N;if((c[b+76>>2]|0)==1){l=N;return}D=b+80|0;E=b+84|0;iu(D,c[E>>2]|0);c[b+88>>2]=0;c[D>>2]=E;c[E>>2]=0;E=b+92|0;F=b+96|0;iu(E,c[F>>2]|0);c[b+100>>2]=0;c[E>>2]=F;c[F>>2]=0;F=b+104|0;e=b+108|0;iu(F,c[e>>2]|0);c[b+112>>2]=0;c[F>>2]=e;c[e>>2]=0;e=c[b+116>>2]|0;H=b+120|0;d=c[H>>2]|0;if((d|0)!=(e|0))do{z=d;d=d+-12|0;iu(d,c[z+-8>>2]|0)}while((d|0)!=(e|0));c[H>>2]=e;p=b+48|0;q=p+11|0;r=b+52|0;s=A+11|0;t=A+4|0;u=I+11|0;v=I+4|0;w=J+11|0;x=L+4|0;y=L+8|0;z=L+4|0;o=b+116|0;d=0;a:while(1){k=a[q>>0]|0;m=k<<24>>24<0;if(m){e=c[r>>2]|0;h=c[p>>2]|0}else{e=k&255;h=p}if(e>>>0<d>>>0){M=96;break}b=h+d|0;g=h+e|0;f=g;d=f-b|0;if((d|0)<7){M=96;break}while(1){d=d+-6|0;if(!d){M=96;break a}e=aOa(b,35,d)|0;if(!e){M=96;break a}if(!(cOa(e,150554,7)|0))break;b=e+1|0;d=f-b|0;if((d|0)<7){M=96;break a}}d=e-h|0;if((e|0)==(g|0)|(d|0)==-1){M=96;break}e=d+7|0;if(m)h=c[r>>2]|0;else h=k&255;b:do if(h>>>0>e>>>0){i=m?c[p>>2]|0:p;d=e;while(1){f=a[i+d>>0]|0;b=149535;while(1){n=a[b>>0]|0;g=n<<24>>24!=0;if(n<<24>>24!=f<<24>>24&g)b=b+1|0;else break}if(g)break;d=d+1|0;if(d>>>0>=h>>>0){M=27;break b}}if((d|0)!=-1){n=d;j=0;h=d}else M=27}else M=27;while(0);do if((M|0)==27){M=0;if(m){n=-1;j=1;h=c[r>>2]|0;break}else{n=-1;j=1;h=k&255;break}}while(0);c:do if(h>>>0>e>>>0){g=m?c[p>>2]|0:p;while(1){b=a[g+e>>0]|0;d=149532;while(1){m=a[d>>0]|0;f=m<<24>>24==0;if(m<<24>>24!=b<<24>>24&(f^1))d=d+1|0;else break}if(f)break c;e=e+1|0;if(e>>>0>=h>>>0){e=n;break}}}else e=n;while(0);if(ZQ(4)|0?(i=mr(lr(4)|0,150562,20)|0,x0a(A,p,e,n-e|0,p),m=a[s>>0]|0,k=m<<24>>24<0,m=mr(mr(i,k?c[A>>2]|0:A,k?c[t>>2]|0:m&255)|0,150583,1)|0,BSa(B,m+(c[(c[m>>2]|0)+-12>>2]|0)|0),k=cUa(B,230580)|0,k=kk[c[(c[k>>2]|0)+28>>2]&511](k,10)|0,dUa(B),VSa(m,k)|0,HSa(m)|0,(a[s>>0]|0)<0):0)l0a(c[A>>2]|0);if(n>>>0>e>>>0){do if(j){d=a[q>>0]|0;if(d<<24>>24<0){f=c[r>>2]|0;break}else{f=d&255;break}}else f=n;while(0);d:do if(f>>>0>e>>>0){g=(a[q>>0]|0)<0?c[p>>2]|0:p;d=e;while(1){h=a[g+d>>0]|0;b=150585;while(1){m=a[b>>0]|0;i=m<<24>>24!=0;if(m<<24>>24!=h<<24>>24&i)b=b+1|0;else break}if(i)break d;d=d+1|0;if(d>>>0>=f>>>0){d=n;break}}}else d=n;while(0);x0a(I,p,e,d-e|0,p);do if(j){e=a[q>>0]|0;if(e<<24>>24<0){e=c[r>>2]|0;break}else{e=e&255;break}}else e=n;while(0);e:do if(e>>>0>d>>>0){b=(a[q>>0]|0)<0?c[p>>2]|0:p;while(1){if((a[b+d>>0]|0)==40)break e;d=d+1|0;if(d>>>0>=e>>>0){d=n;break}}}else d=n;while(0);if(n>>>0>d>>>0){x0a(J,p,d+1|0,n+-1-d|0,B);b=a[u>>0]|0;e=c[v>>2]|0;d=b&255;do if(((b<<24>>24<0?e:d)|0)==14)if(!(S0a(I,0,-1,150589,14)|0)){bW(0,J,D,K)|0;break}else{b=a[u>>0]|0;d=b&255;e=c[v>>2]|0;M=64;break}else M=64;while(0);f:do if((M|0)==64){M=0;do if(((b<<24>>24<0?e:d)|0)==12)if(!(S0a(I,0,-1,150604,12)|0)){bW(0,J,F,K)|0;break f}else{b=a[u>>0]|0;d=b&255;e=c[v>>2]|0;break}while(0);do if(((b<<24>>24<0?e:d)|0)==20){if(S0a(I,0,-1,150617,20)|0){b=a[u>>0]|0;d=b&255;e=c[v>>2]|0;break}c[x>>2]=0;c[y>>2]=0;c[L>>2]=z;c[K>>2]=0;bW(0,J,L,K)|0;g=c[K>>2]|0;d=c[H>>2]|0;e=c[o>>2]|0;b=(d-e|0)/12|0;do if(g>>>0>=b>>>0){f=g+1|0;if(f>>>0>b>>>0){hu(o,f-b|0);break}if(f>>>0>=b>>>0)break;e=e+(f*12|0)|0;if((e|0)!=(d|0))do{m=d;d=d+-12|0;iu(d,c[m+-8>>2]|0)}while((d|0)!=(e|0));c[H>>2]=e}while(0);d=(c[o>>2]|0)+(g*12|0)|0;if((d|0)!=(L|0)){c[C>>2]=c[L>>2];c[G>>2]=z;c[A>>2]=c[C>>2];c[B>>2]=c[G>>2];cW(d,A,B)}iu(L,c[z>>2]|0);break f}while(0);do if(((b<<24>>24<0?e:d)|0)==8){if(S0a(I,0,-1,150638,8)|0)break;bW(0,J,E,K)|0;break f}while(0);if(!(ZQ(3)|0))break;j=mr(lr(3)|0,150647,23)|0;m=a[u>>0]|0;k=m<<24>>24<0;m=mr(mr(j,k?c[I>>2]|0:I,k?c[v>>2]|0:m&255)|0,150583,1)|0;BSa(B,m+(c[(c[m>>2]|0)+-12>>2]|0)|0);k=cUa(B,230580)|0;k=kk[c[(c[k>>2]|0)+28>>2]&511](k,10)|0;dUa(B);VSa(m,k)|0;HSa(m)|0}while(0);if((a[w>>0]|0)<0)l0a(c[J>>2]|0)}else if(ZQ(4)|0){j=mr(lr(4)|0,150671,19)|0;m=a[u>>0]|0;k=m<<24>>24<0;m=mr(mr(j,k?c[I>>2]|0:I,k?c[v>>2]|0:m&255)|0,150691,21)|0;BSa(B,m+(c[(c[m>>2]|0)+-12>>2]|0)|0);k=cUa(B,230580)|0;k=kk[c[(c[k>>2]|0)+28>>2]&511](k,10)|0;dUa(B);VSa(m,k)|0;HSa(m)|0}if((a[u>>0]|0)<0)l0a(c[I>>2]|0)}d=n}if((M|0)==96){l=N;return}}function aW(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;f=b+140|0;i=b+144|0;if((c[i>>2]|0)!=(c[f>>2]|0)){d=0;do{if(c[(fV(f,d)|0)>>2]|0?(h=c[(fV(f,d)|0)>>2]|0,g=c[h+20>>2]|0,h=c[h+24>>2]|0,(g|0)!=(h|0)):0){e=g;do{j=c[e>>2]|0;a[j+36>>0]=1;a[j+37>>0]=0;e=e+4|0}while((e|0)!=(h|0))}d=d+1|0}while(d>>>0<(c[i>>2]|0)-(c[f>>2]|0)>>2>>>0)}d=c[b+128>>2]|0;g=b+132|0;if((d|0)==(g|0))return;f=d;while(1){wO(c[f+16>>2]|0);d=c[f+4>>2]|0;if(!d){e=f+8|0;d=c[e>>2]|0;if((c[d>>2]|0)!=(f|0))do{j=c[e>>2]|0;e=j+8|0;d=c[e>>2]|0}while((c[d>>2]|0)!=(j|0))}else while(1){e=c[d>>2]|0;if(!e)break;else d=e}if((d|0)==(g|0))break;else f=d}return}function bW(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;B=l;l=l+32|0;z=B+16|0;A=B;if(ZQ(4)|0){y=mr(lr(4)|0,150713,28)|0;t=d+11|0;v=a[t>>0]|0;w=v<<24>>24<0;u=d+4|0;v=mr(mr(y,w?c[d>>2]|0:d,w?c[u>>2]|0:v&255)|0,184787,1)|0;BSa(z,v+(c[(c[v>>2]|0)+-12>>2]|0)|0);w=cUa(z,230580)|0;w=kk[c[(c[w>>2]|0)+28>>2]&511](w,10)|0;dUa(z);VSa(v,w)|0;HSa(v)|0;v=d;w=d}else{t=d+11|0;u=d+4|0;v=d;w=d}x=A+11|0;y=A+4|0;j=0;i=1;g=a[t>>0]|0;h=c[u>>2]|0;a:while(1){o=g<<24>>24<0;s=g&255;q=o?h:s;if(q>>>0<=j>>>0){C=41;break}r=o?c[v>>2]|0:w;p=j;while(1){m=a[r+p>>0]|0;b=150742;while(1){n=a[b>>0]|0;j=n<<24>>24==0;if(n<<24>>24!=m<<24>>24&(j^1))b=b+1|0;else break}if(j)break;b=p+1|0;if(b>>>0<q>>>0)p=b;else{C=41;break a}}if((p|0)==-1){C=41;break}b:do if(q>>>0>p>>>0){n=p;k=m;while(1){b=150746;while(1){D=a[b>>0]|0;j=D<<24>>24!=0;if(D<<24>>24!=k<<24>>24&j)b=b+1|0;else break}if(j)break;b=n+1|0;if(b>>>0>=q>>>0){C=25;break b}n=b;k=a[r+b>>0]|0}if((n|0)!=-1){c:do if(m<<24>>24==40)b=p;else{b=p;do{b=b+1|0;if(b>>>0>=q>>>0){b=-1;break c}}while((a[r+b>>0]|0)!=40)}while(0);j=n+(b>>>0<n>>>0&1)|0}else C=25}else C=25;while(0);if((C|0)==25){C=0;j=o?h:s}if(j>>>0>p>>>0){x0a(A,d,p,j-p|0,d);do if(i){b=(a[x>>0]|0)<0?c[A>>2]|0:A;if(((a[b>>0]|0)+-48&255)<10){c[f>>2]=TOa(b)|0;if(!(ZQ(4)|0))break;D=mr(lr(4)|0,150751,17)|0;D=mr(QSa(D,c[f>>2]|0)|0,184787,1)|0;BSa(z,D+(c[(c[D>>2]|0)+-12>>2]|0)|0);s=cUa(z,230580)|0;s=kk[c[(c[s>>2]|0)+28>>2]&511](s,10)|0;dUa(z);VSa(D,s)|0;HSa(D)|0;break}if(ZQ(4)|0){r=mr(lr(4)|0,150769,18)|0;D=a[x>>0]|0;s=D<<24>>24<0;D=mr(mr(r,s?c[A>>2]|0:A,s?c[y>>2]|0:D&255)|0,184787,1)|0;BSa(z,D+(c[(c[D>>2]|0)+-12>>2]|0)|0);s=cUa(z,230580)|0;s=kk[c[(c[s>>2]|0)+28>>2]&511](s,10)|0;dUa(z);VSa(D,s)|0;HSa(D)|0}eW(z,e,A,A)}else{if(ZQ(4)|0){r=mr(lr(4)|0,150769,18)|0;D=a[x>>0]|0;s=D<<24>>24<0;D=mr(mr(r,s?c[A>>2]|0:A,s?c[y>>2]|0:D&255)|0,184787,1)|0;BSa(z,D+(c[(c[D>>2]|0)+-12>>2]|0)|0);s=cUa(z,230580)|0;s=kk[c[(c[s>>2]|0)+28>>2]&511](s,10)|0;dUa(z);VSa(D,s)|0;HSa(D)|0}eW(z,e,A,A)}while(0);if((a[x>>0]|0)<0)l0a(c[A>>2]|0);g=a[t>>0]|0;i=0;b=g&255;h=c[u>>2]|0}else b=s;j=j+1|0;if(j>>>0>=(g<<24>>24<0?h:b)>>>0){C=41;break}}if((C|0)==41){l=B;return 0}return 0}function cW(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;s=b+8|0;a:do if(c[s>>2]|0?(r=c[b>>2]|0,u=b+4|0,c[b>>2]=u,c[(c[u>>2]|0)+8>>2]=0,c[u>>2]=0,c[s>>2]=0,f=c[r+4>>2]|0,f=(f|0)==0?r:f,f|0):0){q=u;r=b+4|0;g=c[d>>2]|0;while(1){if((g|0)==(c[e>>2]|0))break;j=f+16|0;z0a(j,g+16|0)|0;p=f+8|0;i=c[p>>2]|0;do if(i){h=c[i>>2]|0;if((h|0)==(f|0)){c[i>>2]=0;h=c[i+4>>2]|0;if(!h)break;while(1){i=c[h>>2]|0;if(!i){i=c[h+4>>2]|0;if(!i)break;else h=i}else h=i}i=h;break}else{c[i+4>>2]=0;if(!h)break;while(1){i=c[h>>2]|0;if(!i){i=c[h+4>>2]|0;if(!i)break;else h=i}else h=i}i=h;break}}else i=0;while(0);h=c[u>>2]|0;do if(h){o=a[j+11>>0]|0;n=o<<24>>24<0;o=n?c[f+20>>2]|0:o&255;n=n?c[j>>2]|0:j;while(1){k=h+16|0;m=a[k+11>>0]|0;l=m<<24>>24<0;m=l?c[h+20>>2]|0:m&255;j=m>>>0<o>>>0?m:o;if((j|0)!=0?(t=cOa(n,l?c[k>>2]|0:k,j)|0,(t|0)!=0):0)if((t|0)<0)k=25;else k=27;else if(o>>>0<m>>>0)k=25;else k=27;if((k|0)==25){j=c[h>>2]|0;if(!j){k=26;break}else h=j}else if((k|0)==27){j=c[h+4>>2]|0;if(!j){k=28;break}else h=j}}if((k|0)==26){j=h;break}else if((k|0)==28){j=h+4|0;break}}else{j=u;h=q}while(0);c[f>>2]=0;c[f+4>>2]=0;c[p>>2]=h;c[j>>2]=f;h=c[c[b>>2]>>2]|0;if(h){c[b>>2]=h;f=c[j>>2]|0}fp(c[r>>2]|0,f);c[s>>2]=(c[s>>2]|0)+1;f=c[g+4>>2]|0;if(!f){f=g+8|0;h=c[f>>2]|0;if((c[h>>2]|0)==(g|0))g=h;else do{p=c[f>>2]|0;f=p+8|0;g=c[f>>2]|0}while((c[g>>2]|0)!=(p|0))}else{while(1){g=c[f>>2]|0;if(!g)break;else f=g}g=f}c[d>>2]=g;if(!i)break a;else f=i}g=c[f+8>>2]|0;if(g){f=g;while(1){g=c[f+8>>2]|0;if(!g)break;else f=g}}iu(b,f)}while(0);f=c[d>>2]|0;i=c[e>>2]|0;if((f|0)==(i|0))return;h=f;while(1){dW(b,h+16|0)|0;f=c[h+4>>2]|0;if(!f){g=h+8|0;f=c[g>>2]|0;if((c[f>>2]|0)!=(h|0))do{e=c[g>>2]|0;g=e+8|0;f=c[g>>2]|0}while((c[f>>2]|0)!=(e|0))}else while(1){g=c[f>>2]|0;if(!g)break;else f=g}c[d>>2]=f;if((f|0)==(i|0))break;else h=f}return}function dW(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;l=j0a(28)|0;f=l+16|0;t0a(f,d);e=b+4|0;d=c[e>>2]|0;do if(d){j=a[l+27>>0]|0;i=j<<24>>24<0;j=i?c[l+20>>2]|0:j&255;i=i?c[f>>2]|0:f;h=d;while(1){e=h+16|0;g=a[e+11>>0]|0;f=g<<24>>24<0;g=f?c[h+20>>2]|0:g&255;d=g>>>0<j>>>0?g:j;if((d|0)!=0?(k=cOa(i,f?c[e>>2]|0:e,d)|0,(k|0)!=0):0)if((k|0)<0)f=7;else f=9;else if(j>>>0<g>>>0)f=7;else f=9;if((f|0)==7){d=c[h>>2]|0;if(!d){f=8;break}}else if((f|0)==9){d=c[h+4>>2]|0;if(!d){f=10;break}}h=d}if((f|0)==8){d=h;e=h;break}else if((f|0)==10){d=h;e=h+4|0;break}}else d=e;while(0);c[l>>2]=0;c[l+4>>2]=0;c[l+8>>2]=d;c[e>>2]=l;d=c[c[b>>2]>>2]|0;if(!d){k=l;j=b+4|0;j=c[j>>2]|0;fp(j,k);b=b+8|0;k=c[b>>2]|0;k=k+1|0;c[b>>2]=k;return l|0}c[b>>2]=d;k=c[e>>2]|0;j=b+4|0;j=c[j>>2]|0;fp(j,k);b=b+8|0;k=c[b>>2]|0;k=k+1|0;c[b>>2]=k;return l|0}function eW(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0;j=l;l=l+16|0;g=j;h=lu(d,g,e)|0;e=c[h>>2]|0;if(e|0){d=e;i=0;c[b>>2]=d;d=b+4|0;a[d>>0]=i;l=j;return}i=j0a(28)|0;t0a(i+16|0,f);e=c[g>>2]|0;c[i>>2]=0;c[i+4>>2]=0;c[i+8>>2]=e;c[h>>2]=i;e=c[c[d>>2]>>2]|0;if(!e)e=i;else{c[d>>2]=e;e=c[h>>2]|0}fp(c[d+4>>2]|0,e);d=d+8|0;c[d>>2]=(c[d>>2]|0)+1;d=i;i=1;c[b>>2]=d;d=b+4|0;a[d>>0]=i;l=j;return}function fW(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;i=a+4|0;j=c[a>>2]|0;k=(c[i>>2]|0)-j|0;g=k>>2;d=g+1|0;if(d>>>0>1073741823)g1a(a);l=a+8|0;f=(c[l>>2]|0)-j|0;h=f>>1;h=f>>2>>>0<536870911?(h>>>0<d>>>0?d:h):1073741823;do if(h)if(h>>>0>1073741823){l=db(8)|0;p0a(l,183738);c[l>>2]=110936;hb(l|0,65952,1066)}else{f=j0a(h<<2)|0;e=f;break}else{e=0;f=0}while(0);d=e+(g<<2)|0;c[d>>2]=c[b>>2];if((k|0)>0)x2a(f|0,j|0,k|0)|0;c[a>>2]=e;c[i>>2]=d+4;c[l>>2]=e+(h<<2);if(!j)return;l0a(j);return}function gW(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;u=l;l=l+16|0;t=u;i=d+4|0;j=c[i>>2]|0;a:do if(j){i=d+4|0;s=c[e+4>>2]|0;q=c[e>>2]|0;b:do if((q|0)==(s|0)){k=c[j+16>>2]|0;e=c[j+20>>2]|0;if((k|0)==(e|0))r=29;else{o=j;while(1){n=s;while(1){if((n|0)==(s|0))break;j=c[n>>2]|0;m=c[k>>2]|0;if(j>>>0<m>>>0)break;if(m>>>0<j>>>0){j=o;r=29;break b}k=k+4|0;if((k|0)==(e|0)){j=o;r=29;break b}else n=n+4|0}j=c[o>>2]|0;if(!j){j=o;i=o;r=21;break b}k=c[j+16>>2]|0;e=c[j+20>>2]|0;if((k|0)==(e|0))break;else{i=o;o=j}}i=o;r=29}}else{p=j;while(1){j=c[p+16>>2]|0;o=c[p+20>>2]|0;c:do if((j|0)!=(o|0)){e=q;n=j;while(1){if((e|0)==(s|0))break;k=c[e>>2]|0;m=c[n>>2]|0;if(k>>>0<m>>>0)break;if(m>>>0<k>>>0){r=15;break c}n=n+4|0;if((n|0)==(o|0)){r=15;break c}else e=e+4|0}j=c[p>>2]|0;if(!j){j=p;i=p;r=21;break b}else i=p}else r=15;while(0);if((r|0)==15){r=0;m=q;while(1){if((j|0)==(o|0))break;e=c[j>>2]|0;k=c[m>>2]|0;if(e>>>0<k>>>0)break;if(k>>>0<e>>>0){j=p;r=29;break b}m=m+4|0;if((m|0)==(s|0)){j=p;r=29;break b}else j=j+4|0}i=p+4|0;j=c[i>>2]|0;if(!j)break}p=j}j=p;e=i;break a}while(0);if((r|0)==21){e=i;break}else if((r|0)==29){e=i;break}}else{j=i;e=i}while(0);i=c[e>>2]|0;if(i|0){t=i;d=0;c[b>>2]=t;t=b+4|0;a[t>>0]=d;l=u;return}hW(t,d,f,g,h);i=c[t>>2]|0;c[i>>2]=0;c[i+4>>2]=0;c[i+8>>2]=j;c[e>>2]=i;j=c[c[d>>2]>>2]|0;if(j){c[d>>2]=j;i=c[e>>2]|0}fp(c[d+4>>2]|0,i);d=d+8|0;c[d>>2]=(c[d>>2]|0)+1;t=c[t>>2]|0;d=1;c[b>>2]=t;t=b+4|0;a[t>>0]=d;l=u;return}function hW(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0;l=j0a(32)|0;c[b>>2]=l;c[b+4>>2]=d+4;k=b+8|0;a[k>>0]=0;i=l+16|0;g=c[f>>2]|0;c[i>>2]=0;j=l+20|0;c[j>>2]=0;b=l+24|0;c[b>>2]=0;f=g+4|0;e=(c[f>>2]|0)-(c[g>>2]|0)|0;d=e>>2;if(!e){l=l+28|0;c[l>>2]=0;a[k>>0]=1;return}if(d>>>0>1073741823)g1a(i);h=j0a(e)|0;c[j>>2]=h;c[i>>2]=h;c[b>>2]=h+(d<<2);g=c[g>>2]|0;e=(c[f>>2]|0)-g|0;if((e|0)<=0){l=l+28|0;c[l>>2]=0;a[k>>0]=1;return}x2a(h|0,g|0,e|0)|0;c[j>>2]=h+(e>>>2<<2);l=l+28|0;c[l>>2]=0;a[k>>0]=1;return}function iW(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;f=l;l=l+16|0;e=f;Or(a,b,d);c[a>>2]=82156;c[a+36>>2]=0;c[a+40>>2]=0;c[a+32>>2]=a+36;c[a+48>>2]=0;c[a+52>>2]=0;c[a+44>>2]=a+48;if(!(ZQ(4)|0)){l=f;return}d=USa(mr(lr(4)|0,151014,76)|0,a)|0;BSa(e,d+(c[(c[d>>2]|0)+-12>>2]|0)|0);b=cUa(e,230580)|0;b=kk[c[(c[b>>2]|0)+28>>2]&511](b,10)|0;dUa(e);VSa(d,b)|0;HSa(d)|0;l=f;return}function jW(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;if(!b)return;jW(a,c[b>>2]|0);jW(a,c[b+4>>2]|0);a=b+28|0;d=c[a>>2]|0;if(d|0?(f=d+8|0,e=c[f>>2]|0,c[f>>2]=e-1,(e|0)==1):0)UU(d,1,1);c[a>>2]=0;a=c[b+16>>2]|0;if(a|0){c[b+20>>2]=a;l0a(a)}l0a(b);return}function kW(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;if(!b)return;kW(a,c[b>>2]|0);kW(a,c[b+4>>2]|0);a=b+28|0;d=c[a>>2]|0;if(d|0?(f=d+8|0,e=c[f>>2]|0,c[f>>2]=e-1,(e|0)==1):0)UU(d,1,1);c[a>>2]=0;a=c[b+16>>2]|0;if(a|0){c[b+20>>2]=a;l0a(a)}l0a(b);return}function lW(a){a=a|0;var b=0,d=0,e=0;d=l;l=l+16|0;b=d;c[a+4>>2]=0;c[a+8>>2]=0;e=a+12|0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[a+24>>2]=2;c[a+28>>2]=0;c[a>>2]=82156;c[a+36>>2]=0;c[a+40>>2]=0;c[a+32>>2]=a+36;c[a+48>>2]=0;c[a+52>>2]=0;c[a+44>>2]=a+48;if(!(ZQ(4)|0)){l=d;return}e=USa(mr(lr(4)|0,151091,33)|0,a)|0;BSa(b,e+(c[(c[e>>2]|0)+-12>>2]|0)|0);a=cUa(b,230580)|0;a=kk[c[(c[a>>2]|0)+28>>2]&511](a,10)|0;dUa(b);VSa(e,a)|0;HSa(e)|0;l=d;return}function mW(a){a=a|0;jW(a,c[a+4>>2]|0);return}function nW(a){a=a|0;kW(a,c[a+4>>2]|0);return}function oW(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0;Or(b,d,e);c[b>>2]=69040;c[b+32>>2]=0;c[b+36>>2]=0;c[b+40>>2]=0;e=c[d+44>>2]|0;c[b+44>>2]=e;if(e|0){l=e+(c[(c[e>>2]|0)+-12>>2]|0)+8|0;c[l>>2]=(c[l>>2]|0)+1}c[b+48>>2]=0;c[b>>2]=77332;c[b+52>>2]=c[d+52>>2];c[b+56>>2]=c[d+56>>2];c[b+60>>2]=c[d+60>>2];c[b+64>>2]=c[d+64>>2];a[b+68>>0]=a[d+68>>0]|0;a[b+69>>0]=a[d+69>>0]|0;k=b+72|0;c[k>>2]=82340;f=b+76|0;g=d+76|0;c[f>>2]=0;l=b+80|0;c[l>>2]=0;h=b+84|0;c[h>>2]=0;i=d+80|0;e=(c[i>>2]|0)-(c[g>>2]|0)|0;d=e>>2;if(!e){c[b>>2]=82356;c[k>>2]=82596;return}if(d>>>0>1073741823)g1a(f);j=j0a(e)|0;c[l>>2]=j;c[f>>2]=j;c[h>>2]=j+(d<<2);d=c[g>>2]|0;e=(c[i>>2]|0)-d|0;if((e|0)<=0){c[b>>2]=82356;c[k>>2]=82596;return}x2a(j|0,d|0,e|0)|0;c[l>>2]=j+(e>>>2<<2);c[b>>2]=82356;c[k>>2]=82596;return}function pW(a){a=a|0;var b=0;c[a+72>>2]=82340;b=c[a+76>>2]|0;if(!b){Ys(a);return}c[a+80>>2]=b;l0a(b);Ys(a);return}function qW(a){a=a|0;var b=0;c[a+72>>2]=82340;b=c[a+76>>2]|0;if(b|0){c[a+80>>2]=b;l0a(b)}Ys(a);l0a(a);return}function rW(b){b=b|0;var d=0;b=j0a(88)|0;c[b+4>>2]=0;c[b+8>>2]=0;d=b+12|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[b+24>>2]=2;d=b+28|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[d+12>>2]=0;c[d+16>>2]=0;c[d+20>>2]=0;c[b+52>>2]=7;c[b+56>>2]=1;c[b+60>>2]=5126;c[b+64>>2]=-1;a[b+68>>0]=0;a[b+69>>0]=0;c[b+76>>2]=0;c[b+80>>2]=0;c[b+84>>2]=0;c[b>>2]=82356;c[b+72>>2]=82596;return b|0}function sW(a,b){a=a|0;b=b|0;var c=0;c=j0a(88)|0;oW(c,a,b);return c|0}function tW(a){a=a|0;var b=0;b=c[a+76>>2]|0;return ((b|0)==(c[a+80>>2]|0)?0:b)|0}function uW(a){a=a|0;return (c[a+80>>2]|0)-(c[a+76>>2]|0)|0}function vW(a,b){a=a|0;b=b|0;Jk[c[(c[b>>2]|0)+36>>2]&1023](b,a);return}function wW(a,b){a=a|0;b=b|0;Jk[c[(c[b>>2]|0)+36>>2]&1023](b,a);return}function xW(a,b,d){a=a|0;b=b|0;d=d|0;Jk[c[(c[d>>2]|0)+32>>2]&1023](d,(c[a+76>>2]|0)+(b<<2)|0);return}function yW(a,b,d){a=a|0;b=b|0;d=d|0;Jk[c[(c[d>>2]|0)+32>>2]&1023](d,(c[a+76>>2]|0)+(b<<2)|0);return}function zW(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,f=0.0;a=c[a+76>>2]|0;e=+g[a+(b<<2)>>2];f=+g[a+(d<<2)>>2];return (e<f?-1:f<e&1)|0}function AW(a){a=a|0;return 4}function BW(a,b){a=a|0;b=b|0;var d=0;d=c[a+76>>2]|0;return ((d|0)==(c[a+80>>2]|0)?0:d+(b<<2)|0)|0}function CW(a){a=a|0;return (c[a+80>>2]|0)-(c[a+76>>2]|0)>>2|0}function DW(a,b){a=a|0;b=b|0;JW(a+76|0,b);return}function EW(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,h=0,i=0;i=l;l=l+16|0;f=i;g[f>>2]=0.0;h=a+76|0;a=a+80|0;d=c[h>>2]|0;e=(c[a>>2]|0)-d>>2;if(e>>>0<b>>>0){IW(h,b-e|0,f);l=i;return}if(e>>>0<=b>>>0){l=i;return}c[a>>2]=d+(b<<2);l=i;return}function FW(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0;p=l;l=l+16|0;g=p;c[g>>2]=82340;h=g+4|0;i=a+76|0;c[h>>2]=0;j=g+8|0;c[j>>2]=0;k=g+12|0;c[k>>2]=0;m=a+80|0;n=c[m>>2]|0;o=c[i>>2]|0;f=n-o|0;b=f>>2;if(f){if(b>>>0>1073741823)g1a(h);d=j0a(f)|0;c[j>>2]=d;c[h>>2]=d;b=d+(b<<2)|0;c[k>>2]=b;e=d;if((f|0)>0){q=d+(f>>>2<<2)|0;x2a(d|0,o|0,f|0)|0;c[j>>2]=q;f=e;d=q}else{f=e;d=e}}else{f=0;d=0;b=0}c[h>>2]=o;c[i>>2]=f;c[j>>2]=n;c[m>>2]=d;q=a+84|0;c[k>>2]=c[q>>2];c[q>>2]=b;c[g>>2]=82340;if(!o){l=p;return}c[j>>2]=o;l0a(o);l=p;return}function GW(a){a=a|0;var b=0;a=a+-72|0;c[a+72>>2]=82340;b=c[a+76>>2]|0;if(!b){Ys(a);return}c[a+80>>2]=b;l0a(b);Ys(a);return}function HW(a){a=a|0;var b=0;a=a+-72|0;c[a+72>>2]=82340;b=c[a+76>>2]|0;if(b|0){c[a+80>>2]=b;l0a(b)}Ys(a);l0a(a);return}function IW(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;m=a+8|0;f=c[m>>2]|0;n=a+4|0;e=c[n>>2]|0;g=e;if(f-e>>2>>>0>=b>>>0){e=b;f=g;while(1){c[f>>2]=c[d>>2];e=e+-1|0;if(!e)break;else f=f+4|0}c[n>>2]=g+(b<<2);return}l=c[a>>2]|0;k=e-l|0;g=k>>2;e=g+b|0;if(e>>>0>1073741823)g1a(a);i=f-l|0;j=i>>1;e=i>>2>>>0<536870911?(j>>>0<e>>>0?e:j):1073741823;do if(e)if(e>>>0>1073741823){n=db(8)|0;p0a(n,183738);c[n>>2]=110936;hb(n|0,65952,1066)}else{j=j0a(e<<2)|0;i=j;break}else{i=0;j=0}while(0);h=i+(g<<2)|0;f=i+(e<<2)|0;e=b;g=h;while(1){c[g>>2]=c[d>>2];e=e+-1|0;if(!e)break;else g=g+4|0}if((k|0)>0)x2a(j|0,l|0,k|0)|0;c[a>>2]=i;c[n>>2]=h+(b<<2);c[m>>2]=f;if(!l)return;l0a(l);return}function JW(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;f=a+8|0;g=c[a>>2]|0;if((c[f>>2]|0)-g>>2>>>0>=b>>>0)return;h=a+4|0;if(b>>>0>1073741823){h=db(8)|0;p0a(h,183738);c[h>>2]=110936;hb(h|0,65952,1066)}d=(c[h>>2]|0)-g|0;e=j0a(b<<2)|0;if((d|0)>0)x2a(e|0,g|0,d|0)|0;c[a>>2]=e;c[h>>2]=e+(d>>2<<2);c[f>>2]=e+(b<<2);if(!g)return;l0a(g);return}function KW(a){a=a|0;var b=0;c[a>>2]=82340;b=c[a+4>>2]|0;if(!b)return;c[a+8>>2]=b;l0a(b);return}function LW(a){a=a|0;var b=0;c[a>>2]=82340;b=c[a+4>>2]|0;if(!b){l0a(a);return}c[a+8>>2]=b;l0a(b);l0a(a);return}function MW(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;i=a+4|0;j=c[a>>2]|0;k=(c[i>>2]|0)-j|0;g=k>>3;d=g+1|0;if(d>>>0>536870911)g1a(a);l=a+8|0;f=(c[l>>2]|0)-j|0;h=f>>2;h=f>>3>>>0<268435455?(h>>>0<d>>>0?d:h):536870911;do if(h)if(h>>>0>536870911){l=db(8)|0;p0a(l,183738);c[l>>2]=110936;hb(l|0,65952,1066)}else{f=j0a(h<<3)|0;e=f;break}else{e=0;f=0}while(0);d=e+(g<<3)|0;m=b;g=c[m+4>>2]|0;b=d;c[b>>2]=c[m>>2];c[b+4>>2]=g;if((k|0)>0)x2a(f|0,j|0,k|0)|0;c[a>>2]=e;c[i>>2]=d+8;c[l>>2]=e+(h<<3);if(!j)return;l0a(j);return}function NW(b){b=b|0;var d=0,e=0,f=0,g=0,h=0;c[b>>2]=82612;f=b+832|0;d=c[f>>2]|0;if(d|0){c[f>>2]=0;g=d+8|0;h=c[g>>2]|0;c[g>>2]=h-1;if((h|0)==1)UU(d,1,1);d=b+124|0;h=bu(c[d>>2]|0,0)|0;if(h|0?(c[h+8>>2]|0)==1:0)cT(c[d>>2]|0,0)}d=b+908|0;e=c[d>>2]|0;if(e|0?(g=e+8|0,h=c[g>>2]|0,c[g>>2]=h-1,(h|0)==1):0)UU(e,1,1);c[d>>2]=0;_r(b+844|0);d=b+840|0;e=c[d>>2]|0;if(e|0?(g=e+8|0,h=c[g>>2]|0,c[g>>2]=h-1,(h|0)==1):0)UU(e,1,1);c[d>>2]=0;d=c[f>>2]|0;if(d|0?(g=d+8|0,h=c[g>>2]|0,c[g>>2]=h-1,(h|0)==1):0)UU(d,1,1);c[f>>2]=0;d=b+752|0;e=c[d>>2]|0;if(e|0?(g=e+8|0,h=c[g>>2]|0,c[g>>2]=h-1,(h|0)==1):0)UU(e,1,1);c[d>>2]=0;d=c[b+712>>2]|0;if(d|0){c[b+716>>2]=d;l0a(d)}e=b+696|0;f=c[e>>2]|0;if(f|0){g=b+700|0;d=c[g>>2]|0;if((d|0)==(f|0))d=f;else{do{h=d;d=d+-12|0;tD(d,c[h+-8>>2]|0)}while((d|0)!=(f|0));d=c[e>>2]|0}c[g>>2]=f;l0a(d)}e=b+684|0;f=c[e>>2]|0;if(f|0){g=b+688|0;d=c[g>>2]|0;if((d|0)==(f|0))d=f;else{do{h=d;d=d+-12|0;bY(d,c[h+-8>>2]|0)}while((d|0)!=(f|0));d=c[e>>2]|0}c[g>>2]=f;l0a(d)}tV(b+672|0,c[b+676>>2]|0);cY(b+656|0,c[b+660>>2]|0);dY(b+644|0,c[b+648>>2]|0);tD(b+632|0,c[b+636>>2]|0);bY(b+620|0,c[b+624>>2]|0);e=b+608|0;f=c[e>>2]|0;if(f|0){g=b+612|0;d=c[g>>2]|0;if((d|0)==(f|0))d=f;else{do{h=d;d=d+-12|0;cO(d,c[h+-8>>2]|0)}while((d|0)!=(f|0));d=c[e>>2]|0}c[g>>2]=f;l0a(d)}yO(b+596|0,c[b+600>>2]|0);yO(b+584|0,c[b+588>>2]|0);f=b+572|0;g=c[f>>2]|0;if(g|0){h=b+576|0;d=c[h>>2]|0;if((d|0)==(g|0))d=g;else{do{e=d+-12|0;if((a[e+11>>0]|0)<0)l0a(c[e>>2]|0);e=d+-24|0;if((a[e+11>>0]|0)<0)l0a(c[e>>2]|0);e=d+-36|0;d=d+-40|0;if((a[e+11>>0]|0)<0)l0a(c[e>>2]|0)}while((d|0)!=(g|0));d=c[f>>2]|0}c[h>>2]=g;l0a(d)}d=b+560|0;if((a[d+11>>0]|0)<0)l0a(c[d>>2]|0);d=b+548|0;if((a[d+11>>0]|0)<0)l0a(c[d>>2]|0);d=b+536|0;if((a[d+11>>0]|0)<0)l0a(c[d>>2]|0);d=b+520|0;if((a[d+11>>0]|0)<0)l0a(c[d>>2]|0);d=b+508|0;if((a[d+11>>0]|0)<0)l0a(c[d>>2]|0);d=b+496|0;if((a[d+11>>0]|0)<0)l0a(c[d>>2]|0);d=b+480|0;if((a[d+11>>0]|0)<0)l0a(c[d>>2]|0);d=b+468|0;if((a[d+11>>0]|0)<0)l0a(c[d>>2]|0);d=b+456|0;if((a[d+11>>0]|0)<0)l0a(c[d>>2]|0);d=b+440|0;if((a[d+11>>0]|0)<0)l0a(c[d>>2]|0);d=b+428|0;if((a[d+11>>0]|0)<0)l0a(c[d>>2]|0);d=b+416|0;if((a[d+11>>0]|0)<0)l0a(c[d>>2]|0);d=b+400|0;if((a[d+11>>0]|0)<0)l0a(c[d>>2]|0);d=b+388|0;if((a[d+11>>0]|0)<0)l0a(c[d>>2]|0);d=b+376|0;if((a[d+11>>0]|0)<0)l0a(c[d>>2]|0);d=b+360|0;e=c[d>>2]|0;do if(e|0){g=e+8|0;h=c[g>>2]|0;c[g>>2]=h-1;if((h|0)!=1)break;UU(e,1,1)}while(0);c[d>>2]=0;d=b+224|0;e=c[d>>2]|0;do if(e|0){g=e+8|0;h=c[g>>2]|0;c[g>>2]=h-1;if((h|0)!=1)break;UU(e,1,1)}while(0);c[d>>2]=0;d=b+220|0;e=c[d>>2]|0;do if(e|0){g=e+8|0;h=c[g>>2]|0;c[g>>2]=h-1;if((h|0)!=1)break;UU(e,1,1)}while(0);c[d>>2]=0;d=b+216|0;e=c[d>>2]|0;do if(e|0){g=e+8|0;h=c[g>>2]|0;c[g>>2]=h-1;if((h|0)!=1)break;UU(e,1,1)}while(0);c[d>>2]=0;d=b+212|0;e=c[d>>2]|0;do if(e|0){g=e+8|0;h=c[g>>2]|0;c[g>>2]=h-1;if((h|0)!=1)break;UU(e,1,1)}while(0);c[d>>2]=0;d=b+208|0;e=c[d>>2]|0;do if(e|0){g=e+8|0;h=c[g>>2]|0;c[g>>2]=h-1;if((h|0)!=1)break;UU(e,1,1)}while(0);c[d>>2]=0;d=b+204|0;e=c[d>>2]|0;do if(e|0){g=e+8|0;h=c[g>>2]|0;c[g>>2]=h-1;if((h|0)!=1)break;UU(e,1,1)}while(0);c[d>>2]=0;d=b+200|0;e=c[d>>2]|0;do if(e|0){g=e+8|0;h=c[g>>2]|0;c[g>>2]=h-1;if((h|0)!=1)break;UU(e,1,1)}while(0);c[d>>2]=0;d=b+196|0;e=c[d>>2]|0;do if(e|0){g=e+8|0;h=c[g>>2]|0;c[g>>2]=h-1;if((h|0)!=1)break;UU(e,1,1)}while(0);c[d>>2]=0;d=b+192|0;e=c[d>>2]|0;do if(e|0){g=e+8|0;h=c[g>>2]|0;c[g>>2]=h-1;if((h|0)!=1)break;UU(e,1,1)}while(0);c[d>>2]=0;d=b+180|0;e=c[d>>2]|0;do if(e|0){g=e+8|0;h=c[g>>2]|0;c[g>>2]=h-1;if((h|0)!=1)break;UU(e,1,1)}while(0);c[d>>2]=0;tV(b+168|0,c[b+172>>2]|0);eY(b+156|0,c[b+160>>2]|0);d=b+148|0;e=c[d>>2]|0;do if(e|0){g=e+8|0;h=c[g>>2]|0;c[g>>2]=h-1;if((h|0)!=1)break;UU(e,1,1)}while(0);c[d>>2]=0;d=b+136|0;e=c[d>>2]|0;do if(e|0){g=e+8|0;h=c[g>>2]|0;c[g>>2]=h-1;if((h|0)!=1)break;UU(e,1,1)}while(0);c[d>>2]=0;d=b+132|0;e=c[d>>2]|0;do if(e|0){g=e+8|0;h=c[g>>2]|0;c[g>>2]=h-1;if((h|0)!=1)break;UU(e,1,1)}while(0);c[d>>2]=0;d=c[b+108>>2]|0;if(d|0){c[b+112>>2]=d;l0a(d)}d=c[b+96>>2]|0;if(d|0){c[b+100>>2]=d;l0a(d)}d=c[b+84>>2]|0;if(d|0){c[b+88>>2]=d;l0a(d)}d=c[b+72>>2]|0;if(d|0){c[b+76>>2]=d;l0a(d)}d=c[b+60>>2]|0;if(d|0){c[b+64>>2]=d;l0a(d)}d=c[b+48>>2]|0;if(d|0){c[b+52>>2]=d;l0a(d)}d=c[b+36>>2]|0;if(d|0){c[b+40>>2]=d;l0a(d)}d=c[b+24>>2]|0;if(!d){g=b+12|0;h=b+16|0;h=c[h>>2]|0;Nu(g,h);SU(b);return}c[b+28>>2]=d;l0a(d);g=b+12|0;h=b+16|0;h=c[h>>2]|0;Nu(g,h);SU(b);return}function OW(a){a=a|0;NW(a);l0a(a);return}function PW(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;u=l;l=l+64|0;t=u+16|0;r=u+12|0;k=u+52|0;m=u;s=b+762|0;if(a[s>>0]|0){l=u;return}f=di(7936)|0;if(f|0){c[m>>2]=0;c[m+4>>2]=0;c[m+8>>2]=0;g=VNa(f)|0;if(g>>>0>4294967279)r0a(m);if(g>>>0<11){e=m+11|0;a[e>>0]=g;if(!g)d=m;else{d=m;q=8}}else{e=g+16&-16;d=j0a(e)|0;c[m>>2]=d;c[m+8>>2]=e|-2147483648;c[m+4>>2]=g;e=m+11|0;q=8}if((q|0)==8)x2a(d|0,f|0,g|0)|0;a[d+g>>0]=0;o=a[e>>0]|0;g=o<<24>>24<0;f=m+4|0;d=g?c[m>>2]|0:m;o=g?c[f>>2]|0:o&255;g=d+o|0;if(o|0)do{if((a[d>>0]|0)==32)a[d>>0]=95;d=d+1|0}while((d|0)!=(g|0));if(ZQ(4)|0){j=mr(lr(4)|0,152236,13)|0;o=a[e>>0]|0;n=o<<24>>24<0;o=mr(mr(j,n?c[m>>2]|0:m,n?c[f>>2]|0:o&255)|0,150583,1)|0;BSa(t,o+(c[(c[o>>2]|0)+-12>>2]|0)|0);n=cUa(t,230580)|0;n=kk[c[(c[n>>2]|0)+28>>2]&511](n,10)|0;dUa(t);VSa(o,n)|0;HSa(o)|0}d=b+656|0;c[r>>2]=m;HX(t,d,m,231021,r,k);f=c[t>>2]|0;c[t>>2]=0;c[t+4>>2]=0;c[t+8>>2]=0;g=t+11|0;a[g>>0]=1;a[t>>0]=49;a[t+1>>0]=0;h=t+12|0;c[h>>2]=1;i=f+36|0;j=c[i>>2]|0;if(j>>>0>=(c[f+40>>2]|0)>>>0){IX(f+32|0,t);if((a[g>>0]|0)<0)l0a(c[t>>2]|0)}else{c[j>>2]=c[t>>2];c[j+4>>2]=c[t+4>>2];c[j+8>>2]=c[t+8>>2];c[t>>2]=0;c[t+4>>2]=0;c[t+8>>2]=0;c[j+12>>2]=c[h>>2];c[i>>2]=(c[i>>2]|0)+16}c[r>>2]=m;HX(t,d,m,231021,r,k);a[(c[t>>2]|0)+28>>0]=1;a[b+668>>0]=1;if((a[e>>0]|0)<0)l0a(c[m>>2]|0)}j=b+124|0;d=bu(c[j>>2]|0,1)|0;o=b+832|0;e=c[o>>2]|0;if((e|0)!=(d|0)){c[o>>2]=d;if(d|0){n=d+8|0;c[n>>2]=(c[n>>2]|0)+1}if(e|0?(m=e+8|0,n=c[m>>2]|0,c[m>>2]=n-1,(n|0)==1):0)UU(e,1,1)}a[b+756>>0]=(aT(c[j>>2]|0,152250)|0)&1;a[b+757>>0]=(aT(c[j>>2]|0,152273)|0)&1;a[b+758>>0]=1;a[b+759>>0]=a[(c[o>>2]|0)+716>>0]|0;d=c[b+360>>2]|0;if(!d)d=c[(vt()|0)>>2]|0;switch(c[d+160>>2]|0){case 1:{d=0;q=33;break}case 2:{d=1;q=33;break}default:{}}if((q|0)==33){a[b+760>>0]=1;a[b+761>>0]=d}if(ZQ(4)|0){n=mr(lr(4)|0,152290,65)|0;n=OSa(n,(a[b+761>>0]|0)!=0)|0;BSa(t,n+(c[(c[n>>2]|0)+-12>>2]|0)|0);m=cUa(t,230580)|0;m=kk[c[(c[m>>2]|0)+28>>2]&511](m,10)|0;dUa(t);VSa(n,m)|0;HSa(n)|0}if(ZQ(4)|0){n=mr(lr(4)|0,152356,66)|0;n=OSa(n,(a[b+760>>0]|0)!=0)|0;BSa(t,n+(c[(c[n>>2]|0)+-12>>2]|0)|0);m=cUa(t,230580)|0;m=kk[c[(c[m>>2]|0)+28>>2]&511](m,10)|0;dUa(t);VSa(n,m)|0;HSa(n)|0}if(a[(c[(vt()|0)>>2]|0)+212>>0]|0){a[b+128>>0]=1;a[b+129>>0]=1}h=j0a(108)|0;c[h+4>>2]=0;i=h+8|0;c[i>>2]=0;c[h>>2]=83056;c[h+12>>2]=b;d=h+16|0;e=h+104|0;f=h+24|0;g=f+80|0;do{c[f>>2]=0;f=f+4|0}while((f|0)<(g|0));a[e>>0]=1;e=c[o>>2]|0;c[d>>2]=e;e=e+8|0;c[e>>2]=(c[e>>2]|0)+1;a[h+20>>0]=a[(c[d>>2]|0)+712>>0]|0;d=b+136|0;e=c[d>>2]|0;if(((e|0)!=(h|0)?(c[d>>2]=h,c[i>>2]=(c[i>>2]|0)+1,e|0):0)?(m=e+8|0,n=c[m>>2]|0,c[m>>2]=n-1,(n|0)==1):0)UU(e,1,1);JX(c[d>>2]|0);c[b+140>>2]=c[d>>2];d=bT(210887)|0;if(!d)d=bT(152423)|0;c[b+772>>2]=d;d=bT(211466)|0;if(!d)d=bT(152448)|0;c[b+776>>2]=d;d=bT(152467)|0;if(!d)d=bT(152485)|0;c[b+792>>2]=d;d=bT(152506)|0;if(!d)d=bT(152530)|0;c[b+796>>2]=d;d=bT(211044)|0;if(!d)d=bT(152557)|0;c[b+800>>2]=d;c[b+804>>2]=bT(212300)|0;d=bT(152582)|0;if(!d)d=bT(152557)|0;c[b+808>>2]=d;d=bT(211066)|0;if(!d)d=bT(152605)|0;c[b+812>>2]=d;d=bT(152634)|0;if(!d)d=bT(152652)|0;c[b+780>>2]=d;c[b+784>>2]=bT(210144)|0;c[b+788>>2]=bT(210215)|0;d=bT(211092)|0;if(!d)d=bT(152673)|0;c[b+816>>2]=d;d=bT(210080)|0;if(!d)d=bT(152703)|0;c[b+820>>2]=d;e=b+824|0;d=bT(211219)|0;do if(!d){d=bT(152719)|0;if(d|0)break;d=bT(152744)|0}while(0);c[e>>2]=d;e=b+828|0;d=bT(211241)|0;do if(!d){d=bT(152769)|0;if(d|0)break;d=bT(152796)|0}while(0);c[e>>2]=d;if(!(+$S()>=2.0))aT(c[j>>2]|0,152823)|0;n=b+768|0;ci(35661,n|0);c[b+764>>2]=c[n>>2];if(a[(c[o>>2]|0)+814>>0]|0){f=di(7937)|0;f=(f|0)==0?231036:f;c[t>>2]=0;c[t+4>>2]=0;c[t+8>>2]=0;g=VNa(f)|0;if(g>>>0>4294967279)r0a(t);if(g>>>0<11){e=t+11|0;a[e>>0]=g;if(!g)d=t;else{d=t;q=78}}else{e=g+16&-16;d=j0a(e)|0;c[t>>2]=d;c[t+8>>2]=e|-2147483648;c[t+4>>2]=g;e=t+11|0;q=78}if((q|0)==78)x2a(d|0,f|0,g|0)|0;a[d+g>>0]=0;d=a[e>>0]|0;f=d<<24>>24<0;g=f?c[t>>2]|0:t;f=f?c[t+4>>2]|0:d&255;k=g+f|0;m=k;n=g;j=(f|0)<6;a:do if(j)q=101;else{i=g;h=f;while(1){h=h+-5|0;if(!h){q=86;break}h=aOa(i,82,h)|0;if(!h){q=86;break}if(!(cOa(h,152844,6)|0)){q=85;break}i=h+1|0;h=m-i|0;if((h|0)<6){q=86;break}}if((q|0)==85?(h|0)==(k|0)|(h-n|0)==-1:0)q=86;do if((q|0)==86){if(j){q=101;break a}i=g;h=f;do{h=h+-5|0;if(!h)break;p=aOa(i,82,h)|0;if(!p)break;if(!(cOa(p,152851,6)|0)){q=92;break}i=p+1|0;h=m-i|0}while((h|0)>=6);if((q|0)==92?!((p|0)==(k|0)|(p-n|0)==-1):0)break;if((f|0)<7){q=101;break a}while(1){f=f+-6|0;if(!f){q=101;break a}f=aOa(g,70,f)|0;if(!f){q=101;break a}if(!(cOa(f,152858,7)|0))break;g=f+1|0;f=m-g|0;if((f|0)<7){q=101;break a}}if((f|0)==(k|0)|(f-n|0)==-1){q=101;break a}}while(0);c[b+936>>2]=64}while(0);if((q|0)==101){c[r>>2]=0;Nk[c[(c[o>>2]|0)+908>>2]&255](36392,34916,r);c[b+936>>2]=c[r>>2];d=a[e>>0]|0}if(d<<24>>24<0)l0a(c[t>>2]|0)}a[s>>0]=1;d=b+908|0;if(c[d>>2]|0){c[t>>2]=b;e=b+8|0;c[e>>2]=(c[e>>2]|0)+1;e=t+4|0;f=t+8|0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[e+12>>2]=0;c[e+16>>2]=0;c[e+20>>2]=0;c[e+24>>2]=0;c[e+28>>2]=0;NT(c[d>>2]|0,t);d=t+32|0;e=c[d>>2]|0;do if(e|0){r=e+8|0;s=c[r>>2]|0;c[r>>2]=s-1;if((s|0)!=1)break;UU(e,1,1)}while(0);c[d>>2]=0;d=c[t+20>>2]|0;if(d|0){c[t+24>>2]=d;l0a(d)}d=c[f>>2]|0;if(d|0){c[t+12>>2]=d;l0a(d)}d=c[t>>2]|0;do if(d|0){s=d+8|0;t=c[s>>2]|0;c[s>>2]=t-1;if((t|0)!=1)break;UU(d,1,1)}while(0)}Bk[c[(c[b>>2]|0)+20>>2]&2047](b);l=u;return}function QW(b){b=b|0;var d=0,e=0,f=0,g=0,i=0,j=0;f=l;l=l+16|0;d=f+8|0;e=f;if(!(c[b+936>>2]|0)){l=f;return}Jk[c[(c[b+832>>2]|0)+956>>2]&1023](36392,e);if((a[223712]|0)==0?g2a(223712)|0:0){h[27966]=1.0e-06;fc(1,d|0)|0;g=c[d>>2]|0;g=o2a(g|0,((g|0)<0)<<31>>31|0,1e6,0)|0;i=y;j=c[d+4>>2]|0;j=t2a(j|0,((j|0)<0)<<31>>31|0,1e3,0)|0;i=p2a(j|0,y|0,g|0,i|0)|0;g=223720;c[g>>2]=i;c[g+4>>2]=y}fc(1,d|0)|0;g=c[d>>2]|0;g=o2a(g|0,((g|0)<0)<<31>>31|0,1e6,0)|0;i=y;d=c[d+4>>2]|0;d=t2a(d|0,((d|0)<0)<<31>>31|0,1e3,0)|0;d=p2a(d|0,y|0,g|0,i|0)|0;i=e;g=c[i>>2]|0;i=c[i+4>>2]|0;j=b+920|0;c[j>>2]=d;c[j+4>>2]=y;j=b+928|0;c[j>>2]=g;c[j+4>>2]=i;l=f;return}function RW(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;y=l;l=l+176|0;v=y+156|0;w=y;x=y+144|0;j=b+596|0;d=j0a(16)|0;c[w>>2]=d;c[w+8>>2]=-2147483632;c[w+4>>2]=11;h=d;e=173824;i=h+11|0;do{a[h>>0]=a[e>>0]|0;h=h+1|0;e=e+1|0}while((h|0)<(i|0));a[d+11>>0]=0;f=CO(j,v,w)|0;d=c[f>>2]|0;if(!d){d=j0a(32)|0;e=d+16|0;c[e>>2]=c[w>>2];c[e+4>>2]=c[w+4>>2];c[e+8>>2]=c[w+8>>2];c[w>>2]=0;c[w+4>>2]=0;c[w+8>>2]=0;c[d+28>>2]=0;e=c[v>>2]|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=e;c[f>>2]=d;e=c[c[j>>2]>>2]|0;if(!e)e=d;else{c[j>>2]=e;e=c[f>>2]|0}fp(c[b+600>>2]|0,e);u=b+604|0;c[u>>2]=(c[u>>2]|0)+1}c[d+28>>2]=2896;if((a[w+11>>0]|0)<0)l0a(c[w>>2]|0);c[w>>2]=0;c[w+4>>2]=0;c[w+8>>2]=0;g=w+11|0;a[g>>0]=9;h=w;e=174108;i=h+9|0;do{a[h>>0]=a[e>>0]|0;h=h+1|0;e=e+1|0}while((h|0)<(i|0));a[w+9>>0]=0;f=CO(j,v,w)|0;d=c[f>>2]|0;if(!d){d=j0a(32)|0;e=d+16|0;c[e>>2]=c[w>>2];c[e+4>>2]=c[w+4>>2];c[e+8>>2]=c[w+8>>2];c[w>>2]=0;c[w+4>>2]=0;c[w+8>>2]=0;c[d+28>>2]=0;e=c[v>>2]|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=e;c[f>>2]=d;e=c[c[j>>2]>>2]|0;if(!e)e=d;else{c[j>>2]=e;e=c[f>>2]|0}fp(c[b+600>>2]|0,e);u=b+604|0;c[u>>2]=(c[u>>2]|0)+1}c[d+28>>2]=16384;if((a[g>>0]|0)<0)l0a(c[w>>2]|0);c[w>>2]=0;c[w+4>>2]=0;c[w+8>>2]=0;g=w+11|0;a[g>>0]=9;h=w;e=174118;i=h+9|0;do{a[h>>0]=a[e>>0]|0;h=h+1|0;e=e+1|0}while((h|0)<(i|0));a[w+9>>0]=0;f=CO(j,v,w)|0;d=c[f>>2]|0;if(!d){d=j0a(32)|0;e=d+16|0;c[e>>2]=c[w>>2];c[e+4>>2]=c[w+4>>2];c[e+8>>2]=c[w+8>>2];c[w>>2]=0;c[w+4>>2]=0;c[w+8>>2]=0;c[d+28>>2]=0;e=c[v>>2]|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=e;c[f>>2]=d;e=c[c[j>>2]>>2]|0;if(!e)e=d;else{c[j>>2]=e;e=c[f>>2]|0}fp(c[b+600>>2]|0,e);u=b+604|0;c[u>>2]=(c[u>>2]|0)+1}c[d+28>>2]=16385;if((a[g>>0]|0)<0)l0a(c[w>>2]|0);c[w>>2]=0;c[w+4>>2]=0;c[w+8>>2]=0;g=w+11|0;a[g>>0]=9;h=w;e=174128;i=h+9|0;do{a[h>>0]=a[e>>0]|0;h=h+1|0;e=e+1|0}while((h|0)<(i|0));a[w+9>>0]=0;f=CO(j,v,w)|0;d=c[f>>2]|0;if(!d){d=j0a(32)|0;e=d+16|0;c[e>>2]=c[w>>2];c[e+4>>2]=c[w+4>>2];c[e+8>>2]=c[w+8>>2];c[w>>2]=0;c[w+4>>2]=0;c[w+8>>2]=0;c[d+28>>2]=0;e=c[v>>2]|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=e;c[f>>2]=d;e=c[c[j>>2]>>2]|0;if(!e)e=d;else{c[j>>2]=e;e=c[f>>2]|0}fp(c[b+600>>2]|0,e);u=b+604|0;c[u>>2]=(c[u>>2]|0)+1}c[d+28>>2]=16386;if((a[g>>0]|0)<0)l0a(c[w>>2]|0);c[w>>2]=0;c[w+4>>2]=0;c[w+8>>2]=0;g=w+11|0;a[g>>0]=9;h=w;e=174138;i=h+9|0;do{a[h>>0]=a[e>>0]|0;h=h+1|0;e=e+1|0}while((h|0)<(i|0));a[w+9>>0]=0;f=CO(j,v,w)|0;d=c[f>>2]|0;if(!d){d=j0a(32)|0;e=d+16|0;c[e>>2]=c[w>>2];c[e+4>>2]=c[w+4>>2];c[e+8>>2]=c[w+8>>2];c[w>>2]=0;c[w+4>>2]=0;c[w+8>>2]=0;c[d+28>>2]=0;e=c[v>>2]|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=e;c[f>>2]=d;e=c[c[j>>2]>>2]|0;if(!e)e=d;else{c[j>>2]=e;e=c[f>>2]|0}fp(c[b+600>>2]|0,e);u=b+604|0;c[u>>2]=(c[u>>2]|0)+1}c[d+28>>2]=16387;if((a[g>>0]|0)<0)l0a(c[w>>2]|0);c[w>>2]=0;c[w+4>>2]=0;c[w+8>>2]=0;g=w+11|0;a[g>>0]=9;h=w;e=174148;i=h+9|0;do{a[h>>0]=a[e>>0]|0;h=h+1|0;e=e+1|0}while((h|0)<(i|0));a[w+9>>0]=0;f=CO(j,v,w)|0;d=c[f>>2]|0;if(!d){d=j0a(32)|0;e=d+16|0;c[e>>2]=c[w>>2];c[e+4>>2]=c[w+4>>2];c[e+8>>2]=c[w+8>>2];c[w>>2]=0;c[w+4>>2]=0;c[w+8>>2]=0;c[d+28>>2]=0;e=c[v>>2]|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=e;c[f>>2]=d;e=c[c[j>>2]>>2]|0;if(!e)e=d;else{c[j>>2]=e;e=c[f>>2]|0}fp(c[b+600>>2]|0,e);u=b+604|0;c[u>>2]=(c[u>>2]|0)+1}c[d+28>>2]=16388;if((a[g>>0]|0)<0)l0a(c[w>>2]|0);c[w>>2]=0;c[w+4>>2]=0;c[w+8>>2]=0;g=w+11|0;a[g>>0]=9;h=w;e=174158;i=h+9|0;do{a[h>>0]=a[e>>0]|0;h=h+1|0;e=e+1|0}while((h|0)<(i|0));a[w+9>>0]=0;f=CO(j,v,w)|0;d=c[f>>2]|0;if(!d){d=j0a(32)|0;e=d+16|0;c[e>>2]=c[w>>2];c[e+4>>2]=c[w+4>>2];c[e+8>>2]=c[w+8>>2];c[w>>2]=0;c[w+4>>2]=0;c[w+8>>2]=0;c[d+28>>2]=0;e=c[v>>2]|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=e;c[f>>2]=d;e=c[c[j>>2]>>2]|0;if(!e)e=d;else{c[j>>2]=e;e=c[f>>2]|0}fp(c[b+600>>2]|0,e);u=b+604|0;c[u>>2]=(c[u>>2]|0)+1}c[d+28>>2]=16389;if((a[g>>0]|0)<0)l0a(c[w>>2]|0);c[w>>2]=0;c[w+4>>2]=0;c[w+8>>2]=0;g=w+11|0;a[g>>0]=9;h=w;e=174168;i=h+9|0;do{a[h>>0]=a[e>>0]|0;h=h+1|0;e=e+1|0}while((h|0)<(i|0));a[w+9>>0]=0;f=CO(j,v,w)|0;d=c[f>>2]|0;if(!d){d=j0a(32)|0;e=d+16|0;c[e>>2]=c[w>>2];c[e+4>>2]=c[w+4>>2];c[e+8>>2]=c[w+8>>2];c[w>>2]=0;c[w+4>>2]=0;c[w+8>>2]=0;c[d+28>>2]=0;e=c[v>>2]|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=e;c[f>>2]=d;e=c[c[j>>2]>>2]|0;if(!e)e=d;else{c[j>>2]=e;e=c[f>>2]|0}fp(c[b+600>>2]|0,e);u=b+604|0;c[u>>2]=(c[u>>2]|0)+1}c[d+28>>2]=16390;if((a[g>>0]|0)<0)l0a(c[w>>2]|0);c[w>>2]=0;c[w+4>>2]=0;c[w+8>>2]=0;g=w+11|0;a[g>>0]=9;h=w;e=174178;i=h+9|0;do{a[h>>0]=a[e>>0]|0;h=h+1|0;e=e+1|0}while((h|0)<(i|0));a[w+9>>0]=0;f=CO(j,v,w)|0;d=c[f>>2]|0;if(!d){d=j0a(32)|0;e=d+16|0;c[e>>2]=c[w>>2];c[e+4>>2]=c[w+4>>2];c[e+8>>2]=c[w+8>>2];c[w>>2]=0;c[w+4>>2]=0;c[w+8>>2]=0;c[d+28>>2]=0;e=c[v>>2]|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=e;c[f>>2]=d;e=c[c[j>>2]>>2]|0;if(!e)e=d;else{c[j>>2]=e;e=c[f>>2]|0}fp(c[b+600>>2]|0,e);u=b+604|0;c[u>>2]=(c[u>>2]|0)+1}c[d+28>>2]=16391;if((a[g>>0]|0)<0)l0a(c[w>>2]|0);d=j0a(16)|0;c[w>>2]=d;c[w+8>>2]=-2147483632;c[w+4>>2]=13;h=d;e=173867;i=h+13|0;do{a[h>>0]=a[e>>0]|0;h=h+1|0;e=e+1|0}while((h|0)<(i|0));a[d+13>>0]=0;f=CO(j,v,w)|0;d=c[f>>2]|0;if(!d){d=j0a(32)|0;e=d+16|0;c[e>>2]=c[w>>2];c[e+4>>2]=c[w+4>>2];c[e+8>>2]=c[w+8>>2];c[w>>2]=0;c[w+4>>2]=0;c[w+8>>2]=0;c[d+28>>2]=0;e=c[v>>2]|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=e;c[f>>2]=d;e=c[c[j>>2]>>2]|0;if(!e)e=d;else{c[j>>2]=e;e=c[f>>2]|0}fp(c[b+600>>2]|0,e);u=b+604|0;c[u>>2]=(c[u>>2]|0)+1}c[d+28>>2]=3552;if((a[w+11>>0]|0)<0)l0a(c[w>>2]|0);d=j0a(16)|0;c[w>>2]=d;c[w+8>>2]=-2147483632;c[w+4>>2]=13;h=d;e=173881;i=h+13|0;do{a[h>>0]=a[e>>0]|0;h=h+1|0;e=e+1|0}while((h|0)<(i|0));a[d+13>>0]=0;f=CO(j,v,w)|0;d=c[f>>2]|0;if(!d){d=j0a(32)|0;e=d+16|0;c[e>>2]=c[w>>2];c[e+4>>2]=c[w+4>>2];c[e+8>>2]=c[w+8>>2];c[w>>2]=0;c[w+4>>2]=0;c[w+8>>2]=0;c[d+28>>2]=0;e=c[v>>2]|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=e;c[f>>2]=d;e=c[c[j>>2]>>2]|0;if(!e)e=d;else{c[j>>2]=e;e=c[f>>2]|0}fp(c[b+600>>2]|0,e);u=b+604|0;c[u>>2]=(c[u>>2]|0)+1}c[d+28>>2]=3553;if((a[w+11>>0]|0)<0)l0a(c[w>>2]|0);d=j0a(16)|0;c[w>>2]=d;c[w+8>>2]=-2147483632;c[w+4>>2]=13;h=d;e=173895;i=h+13|0;do{a[h>>0]=a[e>>0]|0;h=h+1|0;e=e+1|0}while((h|0)<(i|0));a[d+13>>0]=0;f=CO(j,v,w)|0;d=c[f>>2]|0;if(!d){d=j0a(32)|0;e=d+16|0;c[e>>2]=c[w>>2];c[e+4>>2]=c[w+4>>2];c[e+8>>2]=c[w+8>>2];c[w>>2]=0;c[w+4>>2]=0;c[w+8>>2]=0;c[d+28>>2]=0;e=c[v>>2]|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=e;c[f>>2]=d;e=c[c[j>>2]>>2]|0;if(!e)e=d;else{c[j>>2]=e;e=c[f>>2]|0}fp(c[b+600>>2]|0,e);u=b+604|0;c[u>>2]=(c[u>>2]|0)+1}c[d+28>>2]=32879;if((a[w+11>>0]|0)<0)l0a(c[w>>2]|0);d=j0a(32)|0;c[w>>2]=d;c[w+8>>2]=-2147483616;c[w+4>>2]=20;h=d;e=173929;i=h+20|0;do{a[h>>0]=a[e>>0]|0;h=h+1|0;e=e+1|0}while((h|0)<(i|0));a[d+20>>0]=0;f=CO(j,v,w)|0;d=c[f>>2]|0;if(!d){d=j0a(32)|0;e=d+16|0;c[e>>2]=c[w>>2];c[e+4>>2]=c[w+4>>2];c[e+8>>2]=c[w+8>>2];c[w>>2]=0;c[w+4>>2]=0;c[w+8>>2]=0;c[d+28>>2]=0;e=c[v>>2]|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=e;c[f>>2]=d;e=c[c[j>>2]>>2]|0;if(!e)e=d;else{c[j>>2]=e;e=c[f>>2]|0}fp(c[b+600>>2]|0,e);u=b+604|0;c[u>>2]=(c[u>>2]|0)+1}c[d+28>>2]=34037;if((a[w+11>>0]|0)<0)l0a(c[w>>2]|0);d=j0a(32)|0;c[w>>2]=d;c[w+8>>2]=-2147483616;c[w+4>>2]=25;h=d;e=151293;i=h+25|0;do{a[h>>0]=a[e>>0]|0;h=h+1|0;e=e+1|0}while((h|0)<(i|0));a[d+25>>0]=0;f=CO(j,v,w)|0;d=c[f>>2]|0;if(!d){d=j0a(32)|0;e=d+16|0;c[e>>2]=c[w>>2];c[e+4>>2]=c[w+4>>2];c[e+8>>2]=c[w+8>>2];c[w>>2]=0;c[w+4>>2]=0;c[w+8>>2]=0;c[d+28>>2]=0;e=c[v>>2]|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=e;c[f>>2]=d;e=c[c[j>>2]>>2]|0;if(!e)e=d;else{c[j>>2]=e;e=c[f>>2]|0}fp(c[b+600>>2]|0,e);u=b+604|0;c[u>>2]=(c[u>>2]|0)+1}c[d+28>>2]=37120;if((a[w+11>>0]|0)<0)l0a(c[w>>2]|0);d=j0a(32)|0;c[w>>2]=d;c[w+8>>2]=-2147483616;c[w+4>>2]=19;h=d;e=151319;i=h+19|0;do{a[h>>0]=a[e>>0]|0;h=h+1|0;e=e+1|0}while((h|0)<(i|0));a[d+19>>0]=0;f=CO(j,v,w)|0;d=c[f>>2]|0;if(!d){d=j0a(32)|0;e=d+16|0;c[e>>2]=c[w>>2];c[e+4>>2]=c[w+4>>2];c[e+8>>2]=c[w+8>>2];c[w>>2]=0;c[w+4>>2]=0;c[w+8>>2]=0;c[d+28>>2]=0;e=c[v>>2]|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=e;c[f>>2]=d;e=c[c[j>>2]>>2]|0;if(!e)e=d;else{c[j>>2]=e;e=c[f>>2]|0}fp(c[b+600>>2]|0,e);u=b+604|0;c[u>>2]=(c[u>>2]|0)+1}c[d+28>>2]=35866;if((a[w+11>>0]|0)<0)l0a(c[w>>2]|0);d=j0a(16)|0;c[w>>2]=d;c[w+8>>2]=-2147483632;c[w+4>>2]=11;h=d;e=151339;i=h+11|0;do{a[h>>0]=a[e>>0]|0;h=h+1|0;e=e+1|0}while((h|0)<(i|0));a[d+11>>0]=0;f=CO(j,v,w)|0;d=c[f>>2]|0;if(!d){d=j0a(32)|0;e=d+16|0;c[e>>2]=c[w>>2];c[e+4>>2]=c[w+4>>2];c[e+8>>2]=c[w+8>>2];c[w>>2]=0;c[w+4>>2]=0;c[w+8>>2]=0;c[d+28>>2]=0;e=c[v>>2]|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=e;c[f>>2]=d;e=c[c[j>>2]>>2]|0;if(!e)e=d;else{c[j>>2]=e;e=c[f>>2]|0}fp(c[b+600>>2]|0,e);u=b+604|0;c[u>>2]=(c[u>>2]|0)+1}c[d+28>>2]=33984;if((a[w+11>>0]|0)<0)l0a(c[w>>2]|0);d=j0a(16)|0;c[w>>2]=d;c[w+8>>2]=-2147483632;c[w+4>>2]=11;h=d;e=151351;i=h+11|0;do{a[h>>0]=a[e>>0]|0;h=h+1|0;e=e+1|0}while((h|0)<(i|0));a[d+11>>0]=0;f=CO(j,v,w)|0;d=c[f>>2]|0;if(!d){d=j0a(32)|0;e=d+16|0;c[e>>2]=c[w>>2];c[e+4>>2]=c[w+4>>2];c[e+8>>2]=c[w+8>>2];c[w>>2]=0;c[w+4>>2]=0;c[w+8>>2]=0;c[d+28>>2]=0;e=c[v>>2]|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=e;c[f>>2]=d;e=c[c[j>>2]>>2]|0;if(!e)e=d;else{c[j>>2]=e;e=c[f>>2]|0}fp(c[b+600>>2]|0,e);u=b+604|0;c[u>>2]=(c[u>>2]|0)+1}c[d+28>>2]=33985;if((a[w+11>>0]|0)<0)l0a(c[w>>2]|0);d=j0a(16)|0;c[w>>2]=d;c[w+8>>2]=-2147483632;c[w+4>>2]=11;h=d;e=151363;i=h+11|0;do{a[h>>0]=a[e>>0]|0;h=h+1|0;e=e+1|0}while((h|0)<(i|0));a[d+11>>0]=0;f=CO(j,v,w)|0;d=c[f>>2]|0;if(!d){d=j0a(32)|0;e=d+16|0;c[e>>2]=c[w>>2];c[e+4>>2]=c[w+4>>2];c[e+8>>2]=c[w+8>>2];c[w>>2]=0;c[w+4>>2]=0;c[w+8>>2]=0;c[d+28>>2]=0;e=c[v>>2]|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=e;c[f>>2]=d;e=c[c[j>>2]>>2]|0;if(!e)e=d;else{c[j>>2]=e;e=c[f>>2]|0}fp(c[b+600>>2]|0,e);u=b+604|0;c[u>>2]=(c[u>>2]|0)+1}c[d+28>>2]=33986;if((a[w+11>>0]|0)<0)l0a(c[w>>2]|0);d=j0a(16)|0;c[w>>2]=d;c[w+8>>2]=-2147483632;c[w+4>>2]=11;h=d;e=151375;i=h+11|0;do{a[h>>0]=a[e>>0]|0;h=h+1|0;e=e+1|0}while((h|0)<(i|0));a[d+11>>0]=0;f=CO(j,v,w)|0;d=c[f>>2]|0;if(!d){d=j0a(32)|0;e=d+16|0;c[e>>2]=c[w>>2];c[e+4>>2]=c[w+4>>2];c[e+8>>2]=c[w+8>>2];c[w>>2]=0;c[w+4>>2]=0;c[w+8>>2]=0;c[d+28>>2]=0;e=c[v>>2]|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=e;c[f>>2]=d;e=c[c[j>>2]>>2]|0;if(!e)e=d;else{c[j>>2]=e;e=c[f>>2]|0}fp(c[b+600>>2]|0,e);u=b+604|0;c[u>>2]=(c[u>>2]|0)+1}c[d+28>>2]=33987;if((a[w+11>>0]|0)<0)l0a(c[w>>2]|0);d=j0a(16)|0;c[w>>2]=d;c[w+8>>2]=-2147483632;c[w+4>>2]=11;h=d;e=151387;i=h+11|0;do{a[h>>0]=a[e>>0]|0;h=h+1|0;e=e+1|0}while((h|0)<(i|0));a[d+11>>0]=0;f=CO(j,v,w)|0;d=c[f>>2]|0;if(!d){d=j0a(32)|0;e=d+16|0;c[e>>2]=c[w>>2];c[e+4>>2]=c[w+4>>2];c[e+8>>2]=c[w+8>>2];c[w>>2]=0;c[w+4>>2]=0;c[w+8>>2]=0;c[d+28>>2]=0;e=c[v>>2]|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=e;c[f>>2]=d;e=c[c[j>>2]>>2]|0;if(!e)e=d;else{c[j>>2]=e;e=c[f>>2]|0}fp(c[b+600>>2]|0,e);u=b+604|0;c[u>>2]=(c[u>>2]|0)+1}c[d+28>>2]=33988;if((a[w+11>>0]|0)<0)l0a(c[w>>2]|0);d=j0a(16)|0;c[w>>2]=d;c[w+8>>2]=-2147483632;c[w+4>>2]=11;h=d;e=151399;i=h+11|0;do{a[h>>0]=a[e>>0]|0;h=h+1|0;e=e+1|0}while((h|0)<(i|0));a[d+11>>0]=0;f=CO(j,v,w)|0;d=c[f>>2]|0;if(!d){d=j0a(32)|0;e=d+16|0;c[e>>2]=c[w>>2];c[e+4>>2]=c[w+4>>2];c[e+8>>2]=c[w+8>>2];c[w>>2]=0;c[w+4>>2]=0;c[w+8>>2]=0;c[d+28>>2]=0;e=c[v>>2]|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=e;c[f>>2]=d;e=c[c[j>>2]>>2]|0;if(!e)e=d;else{c[j>>2]=e;e=c[f>>2]|0}fp(c[b+600>>2]|0,e);u=b+604|0;c[u>>2]=(c[u>>2]|0)+1}c[d+28>>2]=33989;if((a[w+11>>0]|0)<0)l0a(c[w>>2]|0);d=j0a(16)|0;c[w>>2]=d;c[w+8>>2]=-2147483632;c[w+4>>2]=11;h=d;e=151411;i=h+11|0;do{a[h>>0]=a[e>>0]|0;h=h+1|0;e=e+1|0}while((h|0)<(i|0));a[d+11>>0]=0;f=CO(j,v,w)|0;d=c[f>>2]|0;if(!d){d=j0a(32)|0;e=d+16|0;c[e>>2]=c[w>>2];c[e+4>>2]=c[w+4>>2];c[e+8>>2]=c[w+8>>2];c[w>>2]=0;c[w+4>>2]=0;c[w+8>>2]=0;c[d+28>>2]=0;e=c[v>>2]|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=e;c[f>>2]=d;e=c[c[j>>2]>>2]|0;if(!e)e=d;else{c[j>>2]=e;e=c[f>>2]|0}fp(c[b+600>>2]|0,e);u=b+604|0;c[u>>2]=(c[u>>2]|0)+1}c[d+28>>2]=33990;if((a[w+11>>0]|0)<0)l0a(c[w>>2]|0);d=j0a(16)|0;c[w>>2]=d;c[w+8>>2]=-2147483632;c[w+4>>2]=11;h=d;e=151423;i=h+11|0;do{a[h>>0]=a[e>>0]|0;h=h+1|0;e=e+1|0}while((h|0)<(i|0));a[d+11>>0]=0;f=CO(j,v,w)|0;d=c[f>>2]|0;if(!d){d=j0a(32)|0;e=d+16|0;c[e>>2]=c[w>>2];c[e+4>>2]=c[w+4>>2];c[e+8>>2]=c[w+8>>2];c[w>>2]=0;c[w+4>>2]=0;c[w+8>>2]=0;c[d+28>>2]=0;e=c[v>>2]|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=e;c[f>>2]=d;e=c[c[j>>2]>>2]|0;if(!e)e=d;else{c[j>>2]=e;e=c[f>>2]|0}fp(c[b+600>>2]|0,e);u=b+604|0;c[u>>2]=(c[u>>2]|0)+1}c[d+28>>2]=33991;if((a[w+11>>0]|0)<0)l0a(c[w>>2]|0);d=j0a(32)|0;c[w>>2]=d;c[w+8>>2]=-2147483616;c[w+4>>2]=16;h=d;e=173984;i=h+16|0;do{a[h>>0]=a[e>>0]|0;h=h+1|0;e=e+1|0}while((h|0)<(i|0));a[d+16>>0]=0;f=CO(j,v,w)|0;d=c[f>>2]|0;if(!d){d=j0a(32)|0;e=d+16|0;c[e>>2]=c[w>>2];c[e+4>>2]=c[w+4>>2];c[e+8>>2]=c[w+8>>2];c[w>>2]=0;c[w+4>>2]=0;c[w+8>>2]=0;c[d+28>>2]=0;e=c[v>>2]|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=e;c[f>>2]=d;e=c[c[j>>2]>>2]|0;if(!e)e=d;else{c[j>>2]=e;e=c[f>>2]|0}fp(c[b+600>>2]|0,e);u=b+604|0;c[u>>2]=(c[u>>2]|0)+1}c[d+28>>2]=3168;if((a[w+11>>0]|0)<0)l0a(c[w>>2]|0);d=j0a(32)|0;c[w>>2]=d;c[w+8>>2]=-2147483616;c[w+4>>2]=16;h=d;e=174001;i=h+16|0;do{a[h>>0]=a[e>>0]|0;h=h+1|0;e=e+1|0}while((h|0)<(i|0));a[d+16>>0]=0;f=CO(j,v,w)|0;d=c[f>>2]|0;if(!d){d=j0a(32)|0;e=d+16|0;c[e>>2]=c[w>>2];c[e+4>>2]=c[w+4>>2];c[e+8>>2]=c[w+8>>2];c[w>>2]=0;c[w+4>>2]=0;c[w+8>>2]=0;c[d+28>>2]=0;e=c[v>>2]|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=e;c[f>>2]=d;e=c[c[j>>2]>>2]|0;if(!e)e=d;else{c[j>>2]=e;e=c[f>>2]|0}fp(c[b+600>>2]|0,e);u=b+604|0;c[u>>2]=(c[u>>2]|0)+1}c[d+28>>2]=3169;if((a[w+11>>0]|0)<0)l0a(c[w>>2]|0);d=j0a(32)|0;c[w>>2]=d;c[w+8>>2]=-2147483616;c[w+4>>2]=16;h=d;e=173967;i=h+16|0;do{a[h>>0]=a[e>>0]|0;h=h+1|0;e=e+1|0}while((h|0)<(i|0));a[d+16>>0]=0;f=CO(j,v,w)|0;d=c[f>>2]|0;if(!d){d=j0a(32)|0;e=d+16|0;c[e>>2]=c[w>>2];c[e+4>>2]=c[w+4>>2];c[e+8>>2]=c[w+8>>2];c[w>>2]=0;c[w+4>>2]=0;c[w+8>>2]=0;c[d+28>>2]=0;e=c[v>>2]|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=e;c[f>>2]=d;e=c[c[j>>2]>>2]|0;if(!e)e=d;else{c[j>>2]=e;e=c[f>>2]|0}fp(c[b+600>>2]|0,e);u=b+604|0;c[u>>2]=(c[u>>2]|0)+1}c[d+28>>2]=3170;if((a[w+11>>0]|0)<0)l0a(c[w>>2]|0);d=j0a(32)|0;c[w>>2]=d;c[w+8>>2]=-2147483616;c[w+4>>2]=16;h=d;e=173950;i=h+16|0;do{a[h>>0]=a[e>>0]|0;h=h+1|0;e=e+1|0}while((h|0)<(i|0));a[d+16>>0]=0;f=CO(j,v,w)|0;d=c[f>>2]|0;if(!d){d=j0a(32)|0;e=d+16|0;c[e>>2]=c[w>>2];c[e+4>>2]=c[w+4>>2];c[e+8>>2]=c[w+8>>2];c[w>>2]=0;c[w+4>>2]=0;c[w+8>>2]=0;c[d+28>>2]=0;e=c[v>>2]|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=e;c[f>>2]=d;e=c[c[j>>2]>>2]|0;if(!e)e=d;else{c[j>>2]=e;e=c[f>>2]|0}fp(c[b+600>>2]|0,e);u=b+604|0;c[u>>2]=(c[u>>2]|0)+1}c[d+28>>2]=3171;if((a[w+11>>0]|0)<0)l0a(c[w>>2]|0);d=j0a(16)|0;c[w>>2]=d;c[w+8>>2]=-2147483632;c[w+4>>2]=13;h=d;e=173474;i=h+13|0;do{a[h>>0]=a[e>>0]|0;h=h+1|0;e=e+1|0}while((h|0)<(i|0));a[d+13>>0]=0;f=CO(j,v,w)|0;d=c[f>>2]|0;if(!d){d=j0a(32)|0;e=d+16|0;c[e>>2]=c[w>>2];c[e+4>>2]=c[w+4>>2];c[e+8>>2]=c[w+8>>2];c[w>>2]=0;c[w+4>>2]=0;c[w+8>>2]=0;c[d+28>>2]=0;e=c[v>>2]|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=e;c[f>>2]=d;e=c[c[j>>2]>>2]|0;if(!e)e=d;else{c[j>>2]=e;e=c[f>>2]|0}fp(c[b+600>>2]|0,e);u=b+604|0;c[u>>2]=(c[u>>2]|0)+1}c[d+28>>2]=3008;if((a[w+11>>0]|0)<0)l0a(c[w>>2]|0);d=j0a(16)|0;c[w>>2]=d;c[w+8>>2]=-2147483632;c[w+4>>2]=14;h=d;e=174018;i=h+14|0;do{a[h>>0]=a[e>>0]|0;h=h+1|0;e=e+1|0}while((h|0)<(i|0));a[d+14>>0]=0;f=CO(j,v,w)|0;d=c[f>>2]|0;if(!d){d=j0a(32)|0;e=d+16|0;c[e>>2]=c[w>>2];c[e+4>>2]=c[w+4>>2];c[e+8>>2]=c[w+8>>2];c[w>>2]=0;c[w+4>>2]=0;c[w+8>>2]=0;c[d+28>>2]=0;e=c[v>>2]|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=e;c[f>>2]=d;e=c[c[j>>2]>>2]|0;if(!e)e=d;else{c[j>>2]=e;e=c[f>>2]|0}fp(c[b+600>>2]|0,e);u=b+604|0;c[u>>2]=(c[u>>2]|0)+1}c[d+28>>2]=12288;if((a[w+11>>0]|0)<0)l0a(c[w>>2]|0);d=j0a(16)|0;c[w>>2]=d;c[w+8>>2]=-2147483632;c[w+4>>2]=14;h=d;e=174033;i=h+14|0;do{a[h>>0]=a[e>>0]|0;h=h+1|0;e=e+1|0}while((h|0)<(i|0));a[d+14>>0]=0;f=CO(j,v,w)|0;d=c[f>>2]|0;if(!d){d=j0a(32)|0;e=d+16|0;c[e>>2]=c[w>>2];c[e+4>>2]=c[w+4>>2];c[e+8>>2]=c[w+8>>2];c[w>>2]=0;c[w+4>>2]=0;c[w+8>>2]=0;c[d+28>>2]=0;e=c[v>>2]|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=e;c[f>>2]=d;e=c[c[j>>2]>>2]|0;if(!e)e=d;else{c[j>>2]=e;e=c[f>>2]|0}fp(c[b+600>>2]|0,e);u=b+604|0;c[u>>2]=(c[u>>2]|0)+1}c[d+28>>2]=12289;if((a[w+11>>0]|0)<0)l0a(c[w>>2]|0);d=j0a(16)|0;c[w>>2]=d;c[w+8>>2]=-2147483632;c[w+4>>2]=14;h=d;e=174048;i=h+14|0;do{a[h>>0]=a[e>>0]|0;h=h+1|0;e=e+1|0}while((h|0)<(i|0));a[d+14>>0]=0;f=CO(j,v,w)|0;d=c[f>>2]|0;if(!d){d=j0a(32)|0;e=d+16|0;c[e>>2]=c[w>>2];c[e+4>>2]=c[w+4>>2];c[e+8>>2]=c[w+8>>2];c[w>>2]=0;c[w+4>>2]=0;c[w+8>>2]=0;c[d+28>>2]=0;e=c[v>>2]|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=e;c[f>>2]=d;e=c[c[j>>2]>>2]|0;if(!e)e=d;else{c[j>>2]=e;e=c[f>>2]|0}fp(c[b+600>>2]|0,e);u=b+604|0;c[u>>2]=(c[u>>2]|0)+1}c[d+28>>2]=12290;if((a[w+11>>0]|0)<0)l0a(c[w>>2]|0);d=j0a(16)|0;c[w>>2]=d;c[w+8>>2]=-2147483632;c[w+4>>2]=14;h=d;e=174063;i=h+14|0;do{a[h>>0]=a[e>>0]|0;h=h+1|0;e=e+1|0}while((h|0)<(i|0));a[d+14>>0]=0;f=CO(j,v,w)|0;d=c[f>>2]|0;if(!d){d=j0a(32)|0;e=d+16|0;c[e>>2]=c[w>>2];c[e+4>>2]=c[w+4>>2];c[e+8>>2]=c[w+8>>2];c[w>>2]=0;c[w+4>>2]=0;c[w+8>>2]=0;c[d+28>>2]=0;e=c[v>>2]|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=e;c[f>>2]=d;e=c[c[j>>2]>>2]|0;if(!e)e=d;else{c[j>>2]=e;e=c[f>>2]|0}fp(c[b+600>>2]|0,e);u=b+604|0;c[u>>2]=(c[u>>2]|0)+1}c[d+28>>2]=12291;if((a[w+11>>0]|0)<0)l0a(c[w>>2]|0);d=j0a(16)|0;c[w>>2]=d;c[w+8>>2]=-2147483632;c[w+4>>2]=14;h=d;e=174078;i=h+14|0;do{a[h>>0]=a[e>>0]|0;h=h+1|0;e=e+1|0}while((h|0)<(i|0));a[d+14>>0]=0;f=CO(j,v,w)|0;d=c[f>>2]|0;if(!d){d=j0a(32)|0;e=d+16|0;c[e>>2]=c[w>>2];c[e+4>>2]=c[w+4>>2];c[e+8>>2]=c[w+8>>2];c[w>>2]=0;c[w+4>>2]=0;c[w+8>>2]=0;c[d+28>>2]=0;e=c[v>>2]|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=e;c[f>>2]=d;e=c[c[j>>2]>>2]|0;if(!e)e=d;else{c[j>>2]=e;e=c[f>>2]|0}fp(c[b+600>>2]|0,e);u=b+604|0;c[u>>2]=(c[u>>2]|0)+1}c[d+28>>2]=12292;if((a[w+11>>0]|0)<0)l0a(c[w>>2]|0);d=j0a(16)|0;c[w>>2]=d;c[w+8>>2]=-2147483632;c[w+4>>2]=14;h=d;e=174093;i=h+14|0;do{a[h>>0]=a[e>>0]|0;h=h+1|0;e=e+1|0}while((h|0)<(i|0));a[d+14>>0]=0;f=CO(j,v,w)|0;d=c[f>>2]|0;if(!d){d=j0a(32)|0;e=d+16|0;c[e>>2]=c[w>>2];c[e+4>>2]=c[w+4>>2];c[e+8>>2]=c[w+8>>2];c[w>>2]=0;c[w+4>>2]=0;c[w+8>>2]=0;c[d+28>>2]=0;e=c[v>>2]|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=e;c[f>>2]=d;e=c[c[j>>2]>>2]|0;if(!e)e=d;else{c[j>>2]=e;e=c[f>>2]|0}fp(c[b+600>>2]|0,e);u=b+604|0;c[u>>2]=(c[u>>2]|0)+1}c[d+28>>2]=12293;if((a[w+11>>0]|0)<0)l0a(c[w>>2]|0);c[w>>2]=0;c[w+4>>2]=0;c[w+8>>2]=0;g=w+11|0;a[g>>0]=6;a[w>>0]=a[173560]|0;a[w+1>>0]=a[173561]|0;a[w+2>>0]=a[173562]|0;a[w+3>>0]=a[173563]|0;a[w+4>>0]=a[173564]|0;a[w+5>>0]=a[173565]|0;a[w+6>>0]=0;f=CO(j,v,w)|0;d=c[f>>2]|0;if(!d){d=j0a(32)|0;e=d+16|0;c[e>>2]=c[w>>2];c[e+4>>2]=c[w+4>>2];c[e+8>>2]=c[w+8>>2];c[w>>2]=0;c[w+4>>2]=0;c[w+8>>2]=0;c[d+28>>2]=0;e=c[v>>2]|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=e;c[f>>2]=d;e=c[c[j>>2]>>2]|0;if(!e)e=d;else{c[j>>2]=e;e=c[f>>2]|0}fp(c[b+600>>2]|0,e);u=b+604|0;c[u>>2]=(c[u>>2]|0)+1}c[d+28>>2]=2912;if((a[g>>0]|0)<0)l0a(c[w>>2]|0);d=j0a(32)|0;c[w>>2]=d;c[w+8>>2]=-2147483616;c[w+4>>2]=17;h=d;e=173515;i=h+17|0;do{a[h>>0]=a[e>>0]|0;h=h+1|0;e=e+1|0}while((h|0)<(i|0));a[d+17>>0]=0;f=CO(j,v,w)|0;d=c[f>>2]|0;if(!d){d=j0a(32)|0;e=d+16|0;c[e>>2]=c[w>>2];c[e+4>>2]=c[w+4>>2];c[e+8>>2]=c[w+8>>2];c[w>>2]=0;c[w+4>>2]=0;c[w+8>>2]=0;c[d+28>>2]=0;e=c[v>>2]|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=e;c[f>>2]=d;e=c[c[j>>2]>>2]|0;if(!e)e=d;else{c[j>>2]=e;e=c[f>>2]|0}fp(c[b+600>>2]|0,e);u=b+604|0;c[u>>2]=(c[u>>2]|0)+1}c[d+28>>2]=2903;if((a[w+11>>0]|0)<0)l0a(c[w>>2]|0);c[w>>2]=0;c[w+4>>2]=0;c[w+8>>2]=0;g=w+11|0;a[g>>0]=6;a[w>>0]=a[151435]|0;a[w+1>>0]=a[151436]|0;a[w+2>>0]=a[151437]|0;a[w+3>>0]=a[151438]|0;a[w+4>>0]=a[151439]|0;a[w+5>>0]=a[151440]|0;a[w+6>>0]=0;f=CO(j,v,w)|0;d=c[f>>2]|0;if(!d){d=j0a(32)|0;e=d+16|0;c[e>>2]=c[w>>2];c[e+4>>2]=c[w+4>>2];c[e+8>>2]=c[w+8>>2];c[w>>2]=0;c[w+4>>2]=0;c[w+8>>2]=0;c[d+28>>2]=0;e=c[v>>2]|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=e;c[f>>2]=d;e=c[c[j>>2]>>2]|0;if(!e)e=d;else{c[j>>2]=e;e=c[f>>2]|0}fp(c[b+600>>2]|0,e);u=b+604|0;c[u>>2]=(c[u>>2]|0)+1}c[d+28>>2]=6403;if((a[g>>0]|0)<0)l0a(c[w>>2]|0);c[w>>2]=0;c[w+4>>2]=0;c[w+8>>2]=0;g=w+11|0;a[g>>0]=5;a[w>>0]=a[151442]|0;a[w+1>>0]=a[151443]|0;a[w+2>>0]=a[151444]|0;a[w+3>>0]=a[151445]|0;a[w+4>>0]=a[151446]|0;a[w+5>>0]=0;f=CO(j,v,w)|0;d=c[f>>2]|0;if(!d){d=j0a(32)|0;e=d+16|0;c[e>>2]=c[w>>2];c[e+4>>2]=c[w+4>>2];c[e+8>>2]=c[w+8>>2];c[w>>2]=0;c[w+4>>2]=0;c[w+8>>2]=0;c[d+28>>2]=0;e=c[v>>2]|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=e;c[f>>2]=d;e=c[c[j>>2]>>2]|0;if(!e)e=d;else{c[j>>2]=e;e=c[f>>2]|0}fp(c[b+600>>2]|0,e);u=b+604|0;c[u>>2]=(c[u>>2]|0)+1}c[d+28>>2]=33319;if((a[g>>0]|0)<0)l0a(c[w>>2]|0);c[w>>2]=0;c[w+4>>2]=0;c[w+8>>2]=0;g=w+11|0;a[g>>0]=6;a[w>>0]=a[174690]|0;a[w+1>>0]=a[174691]|0;a[w+2>>0]=a[174692]|0;a[w+3>>0]=a[174693]|0;a[w+4>>0]=a[174694]|0;a[w+5>>0]=a[174695]|0;a[w+6>>0]=0;f=CO(j,v,w)|0;d=c[f>>2]|0;if(!d){d=j0a(32)|0;e=d+16|0;c[e>>2]=c[w>>2];c[e+4>>2]=c[w+4>>2];c[e+8>>2]=c[w+8>>2];c[w>>2]=0;c[w+4>>2]=0;c[w+8>>2]=0;c[d+28>>2]=0;e=c[v>>2]|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=e;c[f>>2]=d;e=c[c[j>>2]>>2]|0;if(!e)e=d;else{c[j>>2]=e;e=c[f>>2]|0}fp(c[b+600>>2]|0,e);u=b+604|0;c[u>>2]=(c[u>>2]|0)+1}c[d+28>>2]=6407;if((a[g>>0]|0)<0)l0a(c[w>>2]|0);c[w+8>>2]=0;g=w+11|0;a[g>>0]=7;a[w>>0]=a[174697]|0;a[w+1>>0]=a[174698]|0;a[w+2>>0]=a[174699]|0;a[w+3>>0]=a[174700]|0;a[w+4>>0]=a[174701]|0;a[w+5>>0]=a[174702]|0;a[w+6>>0]=a[174703]|0;a[w+7>>0]=0;f=CO(j,v,w)|0;d=c[f>>2]|0;if(!d){d=j0a(32)|0;e=d+16|0;c[e>>2]=c[w>>2];c[e+4>>2]=c[w+4>>2];c[e+8>>2]=c[w+8>>2];c[w>>2]=0;c[w+4>>2]=0;c[w+8>>2]=0;c[d+28>>2]=0;e=c[v>>2]|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=e;c[f>>2]=d;e=c[c[j>>2]>>2]|0;if(!e)e=d;else{c[j>>2]=e;e=c[f>>2]|0}fp(c[b+600>>2]|0,e);u=b+604|0;c[u>>2]=(c[u>>2]|0)+1}c[d+28>>2]=6408;if((a[g>>0]|0)<0)l0a(c[w>>2]|0);c[w>>2]=0;c[w+4>>2]=0;c[w+8>>2]=0;g=w+11|0;a[g>>0]=8;f=w;c[f>>2]=1096764487;c[f+4>>2]=1095258188;a[w+8>>0]=0;f=CO(j,v,w)|0;d=c[f>>2]|0;if(!d){d=j0a(32)|0;e=d+16|0;c[e>>2]=c[w>>2];c[e+4>>2]=c[w+4>>2];c[e+8>>2]=c[w+8>>2];c[w>>2]=0;c[w+4>>2]=0;c[w+8>>2]=0;c[d+28>>2]=0;e=c[v>>2]|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=e;c[f>>2]=d;e=c[c[j>>2]>>2]|0;if(!e)e=d;else{c[j>>2]=e;e=c[f>>2]|0}fp(c[b+600>>2]|0,e);u=b+604|0;c[u>>2]=(c[u>>2]|0)+1}c[d+28>>2]=6406;if((a[g>>0]|0)<0)l0a(c[w>>2]|0);s=w+64|0;u=w+8|0;c[u>>2]=81724;t=w+12|0;c[w>>2]=46852;c[s>>2]=46872;c[w+4>>2]=0;zSa(w+64|0,t);c[w+136>>2]=0;c[w+140>>2]=-1;c[w>>2]=81704;c[s>>2]=81744;c[u>>2]=81724;ESa(t);c[t>>2]=68044;u=w+44|0;c[u>>2]=0;c[u+4>>2]=0;c[u+8>>2]=0;c[u+12>>2]=0;c[w+60>>2]=24;f=j0a(72)|0;c[v>>2]=0;c[v+4>>2]=0;c[v+8>>2]=0;d=j0a(32)|0;c[v>>2]=d;c[v+8>>2]=-2147483616;c[v+4>>2]=17;h=d;e=151448;i=h+17|0;do{a[h>>0]=a[e>>0]|0;h=h+1|0;e=e+1|0}while((h|0)<(i|0));a[d+17>>0]=0;SW(f,v);c[f>>2]=82644;e=f+60|0;c[e>>2]=0;d=f+64|0;c[d>>2]=0;i=f+68|0;c[i>>2]=0;h=j0a(64)|0;c[e>>2]=h;e=h+64|0;c[i>>2]=e;i=h+64|0;do{c[h>>2]=0;h=h+4|0}while((h|0)<(i|0));c[d>>2]=e;d=b+752|0;e=c[d>>2]|0;do if((e|0)!=(f|0)){c[d>>2]=f;r=f+8|0;c[r>>2]=(c[r>>2]|0)+1;if(!e)break;q=e+8|0;r=c[q>>2]|0;c[q>>2]=r-1;if((r|0)!=1)break;UU(e,1,1)}while(0);if((a[v+11>>0]|0)<0)l0a(c[v>>2]|0);r=b+608|0;h=b+612|0;d=c[h>>2]|0;g=c[r>>2]|0;e=d-g|0;f=(e|0)/12|0;do if(f>>>0<16)UW(r,16-f|0);else{if((e|0)==192)break;e=g+192|0;if((e|0)!=(d|0))do{q=d;d=d+-12|0;cO(d,c[q+-8>>2]|0)}while((d|0)!=(e|0));c[h>>2]=e}while(0);j=v+11|0;b=w+8|0;k=v+11|0;m=v+11|0;n=v+11|0;o=v+11|0;p=v+11|0;q=0;do{c[v>>2]=0;c[v+4>>2]=0;c[v+8>>2]=0;Ar(t,v);if((a[j>>0]|0)<0)l0a(c[v>>2]|0);mr(b,151466,28)|0;QSa(b,q)|0;mr(b,151495,22)|0;QSa(b,q)|0;mr(b,151518,1)|0;BSa(v,b+(c[(c[b>>2]|0)+-12>>2]|0)|0);i=cUa(v,230580)|0;i=kk[c[(c[i>>2]|0)+28>>2]&511](i,10)|0;dUa(v);VSa(b,i)|0;HSa(b)|0;mr(b,151520,25)|0;QSa(b,q)|0;mr(b,151546,9)|0;QSa(b,q)|0;mr(b,151556,19)|0;QSa(b,q)|0;mr(b,151518,1)|0;BSa(v,b+(c[(c[b>>2]|0)+-12>>2]|0)|0);i=cUa(v,230580)|0;i=kk[c[(c[i>>2]|0)+28>>2]&511](i,10)|0;dUa(v);VSa(b,i)|0;HSa(b)|0;mr(b,151576,28)|0;QSa(b,q)|0;mr(b,151605,26)|0;QSa(b,q)|0;mr(b,151632,23)|0;QSa(b,q)|0;mr(b,151518,1)|0;BSa(v,b+(c[(c[b>>2]|0)+-12>>2]|0)|0);i=cUa(v,230580)|0;i=kk[c[(c[i>>2]|0)+28>>2]&511](i,10)|0;dUa(v);VSa(b,i)|0;HSa(b)|0;mr(b,151656,24)|0;QSa(b,q)|0;mr(b,151681,21)|0;QSa(b,q)|0;mr(b,151703,10)|0;QSa(b,q)|0;mr(b,151714,3)|0;BSa(v,b+(c[(c[b>>2]|0)+-12>>2]|0)|0);i=cUa(v,230580)|0;i=kk[c[(c[i>>2]|0)+28>>2]&511](i,10)|0;dUa(v);VSa(b,i)|0;HSa(b)|0;_Q(x,t);i=c[r>>2]|0;h=i+(q*12|0)|0;e=i+(q*12|0)+4|0;d=c[e>>2]|0;do if(d){f=i+(q*12|0)+4|0;while(1){e=c[d+16>>2]|0;if(e>>>0>3552){e=c[d>>2]|0;if(!e){e=270;break}else{f=d;d=e}}else{if((e|0)==3552){e=274;break}f=d+4|0;e=c[f>>2]|0;if(!e){e=273;break}else d=e}}if((e|0)==270){g=d;f=d;break}else if((e|0)==273){g=d;break}else if((e|0)==274){g=d;break}}else{g=e;f=e}while(0);d=c[f>>2]|0;if(!d){d=j0a(32)|0;c[d+16>>2]=3552;e=d+20|0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=g;c[f>>2]=d;e=c[c[h>>2]>>2]|0;if(!e)e=d;else{c[h>>2]=e;e=c[f>>2]|0}fp(c[i+(q*12|0)+4>>2]|0,e);i=i+(q*12|0)+8|0;c[i>>2]=(c[i>>2]|0)+1}e=d+20|0;f=e+11|0;if((a[f>>0]|0)<0){a[c[e>>2]>>0]=0;c[d+24>>2]=0}else{a[e>>0]=0;a[f>>0]=0}D0a(e,0);c[e>>2]=c[x>>2];c[e+4>>2]=c[x+4>>2];c[e+8>>2]=c[x+8>>2];c[v>>2]=0;c[v+4>>2]=0;c[v+8>>2]=0;Ar(t,v);if((a[k>>0]|0)<0)l0a(c[v>>2]|0);mr(b,151466,28)|0;QSa(b,q)|0;mr(b,151495,22)|0;QSa(b,q)|0;mr(b,151518,1)|0;BSa(v,b+(c[(c[b>>2]|0)+-12>>2]|0)|0);i=cUa(v,230580)|0;i=kk[c[(c[i>>2]|0)+28>>2]&511](i,10)|0;dUa(v);VSa(b,i)|0;HSa(b)|0;mr(b,151520,25)|0;QSa(b,q)|0;mr(b,151546,9)|0;QSa(b,q)|0;mr(b,151556,19)|0;QSa(b,q)|0;mr(b,151518,1)|0;BSa(v,b+(c[(c[b>>2]|0)+-12>>2]|0)|0);i=cUa(v,230580)|0;i=kk[c[(c[i>>2]|0)+28>>2]&511](i,10)|0;dUa(v);VSa(b,i)|0;HSa(b)|0;mr(b,151576,28)|0;QSa(b,q)|0;mr(b,151718,26)|0;QSa(b,q)|0;mr(b,151632,23)|0;QSa(b,q)|0;mr(b,151518,1)|0;BSa(v,b+(c[(c[b>>2]|0)+-12>>2]|0)|0);i=cUa(v,230580)|0;i=kk[c[(c[i>>2]|0)+28>>2]&511](i,10)|0;dUa(v);VSa(b,i)|0;HSa(b)|0;mr(b,151656,24)|0;QSa(b,q)|0;mr(b,151745,21)|0;QSa(b,q)|0;mr(b,151703,10)|0;QSa(b,q)|0;mr(b,151767,4)|0;BSa(v,b+(c[(c[b>>2]|0)+-12>>2]|0)|0);i=cUa(v,230580)|0;i=kk[c[(c[i>>2]|0)+28>>2]&511](i,10)|0;dUa(v);VSa(b,i)|0;HSa(b)|0;_Q(x,t);i=c[r>>2]|0;h=i+(q*12|0)|0;e=i+(q*12|0)+4|0;d=c[e>>2]|0;do if(d){f=i+(q*12|0)+4|0;while(1){e=c[d+16>>2]|0;if(e>>>0>3553){e=c[d>>2]|0;if(!e){e=290;break}else{f=d;d=e}}else{if((e|0)==3553){e=294;break}f=d+4|0;e=c[f>>2]|0;if(!e){e=293;break}else d=e}}if((e|0)==290){g=d;f=d;break}else if((e|0)==293){g=d;break}else if((e|0)==294){g=d;break}}else{g=e;f=e}while(0);d=c[f>>2]|0;if(!d){d=j0a(32)|0;c[d+16>>2]=3553;e=d+20|0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=g;c[f>>2]=d;e=c[c[h>>2]>>2]|0;if(!e)e=d;else{c[h>>2]=e;e=c[f>>2]|0}fp(c[i+(q*12|0)+4>>2]|0,e);i=i+(q*12|0)+8|0;c[i>>2]=(c[i>>2]|0)+1}e=d+20|0;f=e+11|0;if((a[f>>0]|0)<0){a[c[e>>2]>>0]=0;c[d+24>>2]=0}else{a[e>>0]=0;a[f>>0]=0}D0a(e,0);c[e>>2]=c[x>>2];c[e+4>>2]=c[x+4>>2];c[e+8>>2]=c[x+8>>2];c[v>>2]=0;c[v+4>>2]=0;c[v+8>>2]=0;Ar(t,v);if((a[m>>0]|0)<0)l0a(c[v>>2]|0);mr(b,151466,28)|0;QSa(b,q)|0;mr(b,151495,22)|0;QSa(b,q)|0;mr(b,151518,1)|0;BSa(v,b+(c[(c[b>>2]|0)+-12>>2]|0)|0);i=cUa(v,230580)|0;i=kk[c[(c[i>>2]|0)+28>>2]&511](i,10)|0;dUa(v);VSa(b,i)|0;HSa(b)|0;mr(b,151520,25)|0;QSa(b,q)|0;mr(b,151546,9)|0;QSa(b,q)|0;mr(b,151556,19)|0;QSa(b,q)|0;mr(b,151518,1)|0;BSa(v,b+(c[(c[b>>2]|0)+-12>>2]|0)|0);i=cUa(v,230580)|0;i=kk[c[(c[i>>2]|0)+28>>2]&511](i,10)|0;dUa(v);VSa(b,i)|0;HSa(b)|0;mr(b,151576,28)|0;QSa(b,q)|0;mr(b,151772,33)|0;QSa(b,q)|0;mr(b,151632,23)|0;QSa(b,q)|0;mr(b,151518,1)|0;BSa(v,b+(c[(c[b>>2]|0)+-12>>2]|0)|0);i=cUa(v,230580)|0;i=kk[c[(c[i>>2]|0)+28>>2]&511](i,10)|0;dUa(v);VSa(b,i)|0;HSa(b)|0;mr(b,151656,24)|0;QSa(b,q)|0;mr(b,151806,28)|0;QSa(b,q)|0;mr(b,151703,10)|0;QSa(b,q)|0;mr(b,151767,4)|0;BSa(v,b+(c[(c[b>>2]|0)+-12>>2]|0)|0);i=cUa(v,230580)|0;i=kk[c[(c[i>>2]|0)+28>>2]&511](i,10)|0;dUa(v);VSa(b,i)|0;HSa(b)|0;_Q(x,t);i=c[r>>2]|0;h=i+(q*12|0)|0;e=i+(q*12|0)+4|0;d=c[e>>2]|0;do if(d){f=i+(q*12|0)+4|0;while(1){e=c[d+16>>2]|0;if(e>>>0>34037){e=c[d>>2]|0;if(!e){e=310;break}else{f=d;d=e}}else{if((e|0)==34037){e=314;break}f=d+4|0;e=c[f>>2]|0;if(!e){e=313;break}else d=e}}if((e|0)==310){g=d;f=d;break}else if((e|0)==313){g=d;break}else if((e|0)==314){g=d;break}}else{g=e;f=e}while(0);d=c[f>>2]|0;if(!d){d=j0a(32)|0;c[d+16>>2]=34037;e=d+20|0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=g;c[f>>2]=d;e=c[c[h>>2]>>2]|0;if(!e)e=d;else{c[h>>2]=e;e=c[f>>2]|0}fp(c[i+(q*12|0)+4>>2]|0,e);i=i+(q*12|0)+8|0;c[i>>2]=(c[i>>2]|0)+1}e=d+20|0;f=e+11|0;if((a[f>>0]|0)<0){a[c[e>>2]>>0]=0;c[d+24>>2]=0}else{a[e>>0]=0;a[f>>0]=0}D0a(e,0);c[e>>2]=c[x>>2];c[e+4>>2]=c[x+4>>2];c[e+8>>2]=c[x+8>>2];c[v>>2]=0;c[v+4>>2]=0;c[v+8>>2]=0;Ar(t,v);if((a[n>>0]|0)<0)l0a(c[v>>2]|0);mr(b,151466,28)|0;QSa(b,q)|0;mr(b,151495,22)|0;QSa(b,q)|0;mr(b,151518,1)|0;BSa(v,b+(c[(c[b>>2]|0)+-12>>2]|0)|0);i=cUa(v,230580)|0;i=kk[c[(c[i>>2]|0)+28>>2]&511](i,10)|0;dUa(v);VSa(b,i)|0;HSa(b)|0;mr(b,151520,25)|0;QSa(b,q)|0;mr(b,151546,9)|0;QSa(b,q)|0;mr(b,151556,19)|0;QSa(b,q)|0;mr(b,151518,1)|0;BSa(v,b+(c[(c[b>>2]|0)+-12>>2]|0)|0);i=cUa(v,230580)|0;i=kk[c[(c[i>>2]|0)+28>>2]&511](i,10)|0;dUa(v);VSa(b,i)|0;HSa(b)|0;mr(b,151576,28)|0;QSa(b,q)|0;mr(b,151835,26)|0;QSa(b,q)|0;mr(b,151632,23)|0;QSa(b,q)|0;mr(b,151518,1)|0;BSa(v,b+(c[(c[b>>2]|0)+-12>>2]|0)|0);i=cUa(v,230580)|0;i=kk[c[(c[i>>2]|0)+28>>2]&511](i,10)|0;dUa(v);VSa(b,i)|0;HSa(b)|0;mr(b,151656,24)|0;QSa(b,q)|0;mr(b,151862,21)|0;QSa(b,q)|0;mr(b,151703,10)|0;QSa(b,q)|0;mr(b,151884,5)|0;BSa(v,b+(c[(c[b>>2]|0)+-12>>2]|0)|0);i=cUa(v,230580)|0;i=kk[c[(c[i>>2]|0)+28>>2]&511](i,10)|0;dUa(v);VSa(b,i)|0;HSa(b)|0;_Q(x,t);i=c[r>>2]|0;h=i+(q*12|0)|0;e=i+(q*12|0)+4|0;d=c[e>>2]|0;do if(d){f=i+(q*12|0)+4|0;while(1){e=c[d+16>>2]|0;if(e>>>0>32879){e=c[d>>2]|0;if(!e){e=330;break}else{f=d;d=e}}else{if((e|0)==32879){e=334;break}f=d+4|0;e=c[f>>2]|0;if(!e){e=333;break}else d=e}}if((e|0)==330){g=d;f=d;break}else if((e|0)==333){g=d;break}else if((e|0)==334){g=d;break}}else{g=e;f=e}while(0);d=c[f>>2]|0;if(!d){d=j0a(32)|0;c[d+16>>2]=32879;e=d+20|0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=g;c[f>>2]=d;e=c[c[h>>2]>>2]|0;if(!e)e=d;else{c[h>>2]=e;e=c[f>>2]|0}fp(c[i+(q*12|0)+4>>2]|0,e);i=i+(q*12|0)+8|0;c[i>>2]=(c[i>>2]|0)+1}e=d+20|0;f=e+11|0;if((a[f>>0]|0)<0){a[c[e>>2]>>0]=0;c[d+24>>2]=0}else{a[e>>0]=0;a[f>>0]=0}D0a(e,0);c[e>>2]=c[x>>2];c[e+4>>2]=c[x+4>>2];c[e+8>>2]=c[x+8>>2];c[v>>2]=0;c[v+4>>2]=0;c[v+8>>2]=0;Ar(t,v);if((a[o>>0]|0)<0)l0a(c[v>>2]|0);mr(b,151466,28)|0;QSa(b,q)|0;mr(b,151495,22)|0;QSa(b,q)|0;mr(b,151518,1)|0;BSa(v,b+(c[(c[b>>2]|0)+-12>>2]|0)|0);i=cUa(v,230580)|0;i=kk[c[(c[i>>2]|0)+28>>2]&511](i,10)|0;dUa(v);VSa(b,i)|0;HSa(b)|0;mr(b,151520,25)|0;QSa(b,q)|0;mr(b,151546,9)|0;QSa(b,q)|0;mr(b,151556,19)|0;QSa(b,q)|0;mr(b,151518,1)|0;BSa(v,b+(c[(c[b>>2]|0)+-12>>2]|0)|0);i=cUa(v,230580)|0;i=kk[c[(c[i>>2]|0)+28>>2]&511](i,10)|0;dUa(v);VSa(b,i)|0;HSa(b)|0;mr(b,151576,28)|0;QSa(b,q)|0;mr(b,151890,31)|0;QSa(b,q)|0;mr(b,151632,23)|0;QSa(b,q)|0;mr(b,151518,1)|0;BSa(v,b+(c[(c[b>>2]|0)+-12>>2]|0)|0);i=cUa(v,230580)|0;i=kk[c[(c[i>>2]|0)+28>>2]&511](i,10)|0;dUa(v);VSa(b,i)|0;HSa(b)|0;mr(b,151656,24)|0;QSa(b,q)|0;mr(b,151922,26)|0;QSa(b,q)|0;mr(b,151703,10)|0;QSa(b,q)|0;mr(b,151884,5)|0;BSa(v,b+(c[(c[b>>2]|0)+-12>>2]|0)|0);i=cUa(v,230580)|0;i=kk[c[(c[i>>2]|0)+28>>2]&511](i,10)|0;dUa(v);VSa(b,i)|0;HSa(b)|0;_Q(x,t);i=c[r>>2]|0;h=i+(q*12|0)|0;e=i+(q*12|0)+4|0;d=c[e>>2]|0;do if(d){f=i+(q*12|0)+4|0;while(1){e=c[d+16>>2]|0;if(e>>>0>34067){e=c[d>>2]|0;if(!e){e=350;break}else{f=d;d=e}}else{if((e|0)==34067){e=354;break}f=d+4|0;e=c[f>>2]|0;if(!e){e=353;break}else d=e}}if((e|0)==350){g=d;f=d;break}else if((e|0)==353){g=d;break}else if((e|0)==354){g=d;break}}else{g=e;f=e}while(0);d=c[f>>2]|0;if(!d){d=j0a(32)|0;c[d+16>>2]=34067;e=d+20|0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=g;c[f>>2]=d;e=c[c[h>>2]>>2]|0;if(!e)e=d;else{c[h>>2]=e;e=c[f>>2]|0}fp(c[i+(q*12|0)+4>>2]|0,e);i=i+(q*12|0)+8|0;c[i>>2]=(c[i>>2]|0)+1}e=d+20|0;f=e+11|0;if((a[f>>0]|0)<0){a[c[e>>2]>>0]=0;c[d+24>>2]=0}else{a[e>>0]=0;a[f>>0]=0}D0a(e,0);c[e>>2]=c[x>>2];c[e+4>>2]=c[x+4>>2];c[e+8>>2]=c[x+8>>2];c[v>>2]=0;c[v+4>>2]=0;c[v+8>>2]=0;Ar(t,v);if((a[p>>0]|0)<0)l0a(c[v>>2]|0);mr(b,151466,28)|0;QSa(b,q)|0;mr(b,151495,22)|0;QSa(b,q)|0;mr(b,151518,1)|0;BSa(v,b+(c[(c[b>>2]|0)+-12>>2]|0)|0);i=cUa(v,230580)|0;i=kk[c[(c[i>>2]|0)+28>>2]&511](i,10)|0;dUa(v);VSa(b,i)|0;HSa(b)|0;mr(b,151520,25)|0;QSa(b,q)|0;mr(b,151546,9)|0;QSa(b,q)|0;mr(b,151556,19)|0;QSa(b,q)|0;mr(b,151518,1)|0;BSa(v,b+(c[(c[b>>2]|0)+-12>>2]|0)|0);i=cUa(v,230580)|0;i=kk[c[(c[i>>2]|0)+28>>2]&511](i,10)|0;dUa(v);VSa(b,i)|0;HSa(b)|0;mr(b,151576,28)|0;QSa(b,q)|0;mr(b,151949,31)|0;QSa(b,q)|0;mr(b,151632,23)|0;QSa(b,q)|0;mr(b,151518,1)|0;BSa(v,b+(c[(c[b>>2]|0)+-12>>2]|0)|0);i=cUa(v,230580)|0;i=kk[c[(c[i>>2]|0)+28>>2]&511](i,10)|0;dUa(v);VSa(b,i)|0;HSa(b)|0;mr(b,151656,24)|0;QSa(b,q)|0;mr(b,151981,26)|0;QSa(b,q)|0;mr(b,151703,10)|0;QSa(b,q)|0;mr(b,151884,5)|0;BSa(v,b+(c[(c[b>>2]|0)+-12>>2]|0)|0);i=cUa(v,230580)|0;i=kk[c[(c[i>>2]|0)+28>>2]&511](i,10)|0;dUa(v);VSa(b,i)|0;HSa(b)|0;_Q(x,t);i=c[r>>2]|0;h=i+(q*12|0)|0;e=i+(q*12|0)+4|0;d=c[e>>2]|0;do if(d){f=i+(q*12|0)+4|0;while(1){e=c[d+16>>2]|0;if(e>>>0>35866){e=c[d>>2]|0;if(!e){e=370;break}else{f=d;d=e}}else{if((e|0)==35866){e=374;break}f=d+4|0;e=c[f>>2]|0;if(!e){e=373;break}else d=e}}if((e|0)==370){g=d;f=d;break}else if((e|0)==373){g=d;break}else if((e|0)==374){g=d;break}}else{g=e;f=e}while(0);d=c[f>>2]|0;if(!d){d=j0a(32)|0;c[d+16>>2]=35866;e=d+20|0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=g;c[f>>2]=d;e=c[c[h>>2]>>2]|0;if(!e)e=d;else{c[h>>2]=e;e=c[f>>2]|0}fp(c[i+(q*12|0)+4>>2]|0,e);i=i+(q*12|0)+8|0;c[i>>2]=(c[i>>2]|0)+1}e=d+20|0;f=e+11|0;if((a[f>>0]|0)<0){a[c[e>>2]>>0]=0;c[d+24>>2]=0}else{a[e>>0]=0;a[f>>0]=0}D0a(e,0);c[e>>2]=c[x>>2];c[e+4>>2]=c[x+4>>2];c[e+8>>2]=c[x+8>>2];q=q+1|0}while(q>>>0<16);c[w>>2]=81704;c[s>>2]=81744;c[b>>2]=81724;c[t>>2]=68044;if((a[u+11>>0]|0)>=0){oRa(t);wSa(w,81756);iRa(s);l=y;return}l0a(c[u>>2]|0);oRa(t);wSa(w,81756);iRa(s);l=y;return}function SW(a,b){a=a|0;b=b|0;var d=0;c[a+4>>2]=0;c[a+8>>2]=0;d=a+12|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[a+24>>2]=2;c[a+28>>2]=0;c[a>>2]=82828;c[a+32>>2]=0;c[a+36>>2]=0;c[a+40>>2]=0;c[a+44>>2]=-1;c[a+48>>2]=0;c[a+52>>2]=0;c[a+56>>2]=0;bX(a,b);return}function TW(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;c[a>>2]=82828;b=a+56|0;d=c[b>>2]|0;if(d|0?(e=d+(c[(c[d>>2]|0)+-16>>2]|0)|0,g=e+8|0,d=c[g>>2]|0,c[g>>2]=d-1,(d|0)==1):0)UU(e,1,1);c[b>>2]=0;b=a+52|0;d=c[b>>2]|0;if(d|0?(f=d+(c[(c[d>>2]|0)+-16>>2]|0)|0,e=f+8|0,g=c[e>>2]|0,c[e>>2]=g-1,(g|0)==1):0)UU(f,1,1);c[b>>2]=0;b=c[a+32>>2]|0;if(!b){Pr(a);return}c[a+36>>2]=b;l0a(b);Pr(a);return}function UW(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;l=a+8|0;f=c[l>>2]|0;m=a+4|0;d=c[m>>2]|0;if(((f-d|0)/12|0)>>>0>=b>>>0){do{c[d+4>>2]=0;c[d+8>>2]=0;c[d>>2]=d+4;d=(c[m>>2]|0)+12|0;c[m>>2]=d;b=b+-1|0}while((b|0)!=0);return}e=c[a>>2]|0;g=(d-e|0)/12|0;h=g+b|0;if(h>>>0>357913941)g1a(a);k=(f-e|0)/12|0;d=k<<1;d=k>>>0<178956970?(d>>>0<h>>>0?h:d):357913941;do if(d)if(d>>>0>357913941){m=db(8)|0;p0a(m,183738);c[m>>2]=110936;hb(m|0,65952,1066)}else{f=j0a(d*12|0)|0;break}else f=0;while(0);g=f+(g*12|0)|0;e=f+(d*12|0)|0;d=g;while(1){c[d+4>>2]=0;c[d+8>>2]=0;c[d>>2]=d+4;b=b+-1|0;if(!b)break;else d=d+12|0}k=f+(h*12|0)|0;j=c[a>>2]|0;d=c[m>>2]|0;if((d|0)==(j|0)){b=g;f=j;d=j}else{b=g;do{i=b;b=b+-12|0;f=d;d=d+-12|0;c[b>>2]=c[d>>2];g=c[f+-8>>2]|0;c[i+-8>>2]=g;h=f+-4|0;n=c[h>>2]|0;c[i+-4>>2]=n;i=i+-8|0;if(!n)c[b>>2]=i;else{c[g+8>>2]=i;n=f+-8|0;c[d>>2]=n;c[n>>2]=0;c[h>>2]=0}}while((d|0)!=(j|0));f=c[a>>2]|0;d=c[m>>2]|0}c[a>>2]=b;c[m>>2]=k;c[l>>2]=e;b=f;if((d|0)!=(b|0))do{n=d;d=d+-12|0;cO(d,c[n+-8>>2]|0)}while((d|0)!=(b|0));if(!f)return;l0a(f);return}function VW(a){a=a|0;TW(a);l0a(a);return}function WW(a){a=a|0;var b=0;a=j0a(60)|0;c[a+4>>2]=0;c[a+8>>2]=0;b=a+12|0;c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;c[a+24>>2]=2;c[a+28>>2]=0;c[a>>2]=82828;c[a+32>>2]=0;c[a+36>>2]=0;c[a+40>>2]=0;c[a+44>>2]=-1;c[a+48>>2]=0;c[a+52>>2]=0;c[a+56>>2]=0;return a|0}function XW(a,b){a=a|0;b=b|0;var c=0;c=j0a(60)|0;yX(c,a,b);return c|0}function YW(a,b){a=a|0;b=b|0;if(!b){b=0;return b|0}b=(y1a(b,42800,47224,0)|0)!=0;return b|0}function ZW(a){a=a|0;return 186332}function _W(a){a=a|0;return 152156}function $W(a){a=a|0;return a|0}function aX(a){a=a|0;return a|0}function bX(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0;p=l;l=l+32|0;o=p+12|0;m=p;n=b+12|0;f=a[n+11>>0]|0;k=f<<24>>24<0;f=f&255;i=k?c[b+16>>2]|0:f;j=a[d+11>>0]|0;e=j<<24>>24<0;a:do if((i|0)==((e?c[d+4>>2]|0:j&255)|0)){h=c[n>>2]|0;j=k?h:n;e=e?c[d>>2]|0:d;g=(i|0)==0;h=h&255;if(k){if(g){l=p;return}if(cOa(j,e,i)|0)break;l=p;return}if(g){l=p;return}if((a[e>>0]|0)==h<<24>>24){g=n;while(1){f=f+-1|0;g=g+1|0;if(!f)break;e=e+1|0;if((a[g>>0]|0)!=(a[e>>0]|0))break a}l=p;return}}while(0);t0a(o,n);z0a(n,d)|0;c[m>>2]=0;j=m+4|0;c[j>>2]=0;e=m+8|0;c[e>>2]=0;g=c[b+32>>2]|0;h=(c[b+36>>2]|0)-g|0;i=h>>2;if(h|0){if(i>>>0>1073741823)g1a(m);f=j0a(h)|0;c[j>>2]=f;c[m>>2]=f;c[e>>2]=f+(i<<2);if((h|0)>0?(d=f+(h>>>2<<2)|0,x2a(f|0,g|0,h|0)|0,c[j>>2]=d,(d|0)!=(f|0)):0)do{g=c[f>>2]|0;e=gX(g+92|0,o)|0;if((e|0)==(g+96|0))e=1;else e=c[e+32>>2]|0;hX(g,b,e);iX(g,o);f=f+4|0}while((f|0)!=(c[j>>2]|0))}c[b+44>>2]=fX(n)|0;e=c[m>>2]|0;if(e|0){c[j>>2]=e;l0a(e)}if((a[o+11>>0]|0)<0)l0a(c[o>>2]|0);l=p;return}function cX(a,b){a=a|0;b=b|0;return 0}function dX(a,b){a=a|0;b=b|0;return 0}function eX(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;b=l;l=l+16|0;a=b;if(!(ZQ(3)|0)){l=b;return}d=mr(lr(3)|0,152008,62)|0;BSa(a,d+(c[(c[d>>2]|0)+-12>>2]|0)|0);e=cUa(a,230580)|0;e=kk[c[(c[e>>2]|0)+28>>2]&511](e,10)|0;dUa(a);VSa(d,e)|0;HSa(d)|0;l=b;return}function fX(b){b=b|0;var d=0,e=0,f=0,g=0;g=l;l=l+32|0;e=g+16|0;f=g;if((a[223696]|0)==0?g2a(223696)|0:0){c[56438]=83012;c[56440]=0;Vi(e|0)|0;d=j0a(32)|0;c[d>>2]=83040;Wi(e|0,2)|0;Ui(d+4|0,e|0)|0;c[56439]=d}if((a[223704]|0)==0?g2a(223704)|0:0){c[56442]=0;c[56443]=0;c[56441]=225768}gk[c[(c[56438]|0)+8>>2]&1023](225752)|0;d=QU(225764,b)|0;if((d|0)!=225768){f=c[d+28>>2]|0;e=c[56438]|0;e=e+12|0;e=c[e>>2]|0;gk[e&1023](225752)|0;l=g;return f|0}d=c[56443]|0;t0a(f,b);c[f+12>>2]=d;xX(e,225764,f,f);if((a[f+11>>0]|0)<0)l0a(c[f>>2]|0);f=d;e=c[56438]|0;e=e+12|0;e=c[e>>2]|0;gk[e&1023](225752)|0;l=g;return f|0}function gX(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;m=b+4|0;e=c[m>>2]|0;do if(e|0){l=a[d+11>>0]|0;k=l<<24>>24<0;l=k?c[d+4>>2]|0:l&255;k=k?c[d>>2]|0:d;b=m;do{f=e+16|0;h=a[f+11>>0]|0;g=h<<24>>24<0;h=g?c[e+20>>2]|0:h&255;i=l>>>0<h>>>0;d=i?l:h;if((d|0)!=0?(j=cOa(g?c[f>>2]|0:f,k,d)|0,(j|0)!=0):0)d=j;else d=h>>>0<l>>>0?-1:i&1;i=(d|0)<0;b=i?b:e;e=c[(i?e+4|0:e)>>2]|0}while((e|0)!=0);if((b|0)!=(m|0)){e=b+16|0;g=a[e+11>>0]|0;f=g<<24>>24<0;g=f?c[b+20>>2]|0:g&255;d=g>>>0<l>>>0?g:l;if(d|0?(n=cOa(k,f?c[e>>2]|0:e,d)|0,n|0):0){if((n|0)<0)break;return b|0}if(l>>>0>=g>>>0){n=b;return n|0}}}while(0);n=m;return n|0}function hX(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;w=l;l=l+32|0;f=w+8|0;h=w;if(!b){l=w;return}i=b+12|0;j=a+92|0;q=jX(j,i)|0;if((q|0)==(a+96|0)){c[h>>2]=i;tX(f,j,i,231021,h,w+16|0);f=c[f>>2]|0;h=f+28|0;i=c[h>>2]|0;if(((i|0)!=(b|0)?(c[h>>2]=b,q=b+8|0,c[q>>2]=(c[q>>2]|0)+1,i|0):0)?(p=i+8|0,q=c[p>>2]|0,c[p>>2]=q-1,(q|0)==1):0)UU(i,1,1);c[f+32>>2]=d&6;uX(b,a);f=(c[b+56>>2]|0)!=0&1;if(c[b+52>>2]|0){h=1;r=27}}else{o=q+28|0;f=c[o>>2]|0;if((f|0)==(b|0)){c[q+32>>2]=d&6;l=w;return}m=kX()|0;n=(m|0)==0;if(!n)gk[c[(c[m>>2]|0)+8>>2]&1023](m)|0;h=c[f+32>>2]|0;k=f+36|0;i=c[k>>2]|0;j=i;a:do if((h|0)==(i|0)){p=h;r=16}else{f=h;do{if((c[f>>2]|0)==(a|0)){p=f;r=16;break a}f=f+4|0}while((f|0)!=(i|0))}while(0);if((r|0)==16?(p|0)!=(i|0):0){h=p+4|0;f=j-h|0;if(f|0)y2a(p|0,h|0,f|0)|0;c[k>>2]=p+(f>>2<<2)}if(!n)gk[c[(c[m>>2]|0)+12>>2]&1023](m)|0;i=c[o>>2]|0;h=((c[i+52>>2]|0)!=0)<<31>>31;i=((c[i+56>>2]|0)!=0)<<31>>31;uX(b,a);f=c[o>>2]|0;if(((f|0)!=(b|0)?(c[o>>2]=b,b=b+8|0,c[b>>2]=(c[b>>2]|0)+1,f|0):0)?(p=f+8|0,b=c[p>>2]|0,c[p>>2]=b-1,(b|0)==1):0)UU(f,1,1);f=c[o>>2]|0;h=((c[f+52>>2]|0)!=0&1)+h|0;f=((c[f+56>>2]|0)!=0&1)+i|0;c[q+32>>2]=d&6;if(h)r=27}if((r|0)==27){j=a+148|0;i=c[j>>2]|0;h=i+h|0;if(((c[a+144>>2]|0)==0?(g=c[a+32>>2]|0,t=a+36|0,(g|0)!=(c[t>>2]|0)):0)?(s=((h|0)!=0&1)+(((i|0)!=0)<<31>>31)|0,s|0):0)do{r=c[g>>2]|0;Rv(r,(c[r+88>>2]|0)+s|0);g=g+4|0}while((g|0)!=(c[t>>2]|0));c[j>>2]=h}if(!f){l=w;return}h=a+156|0;g=c[h>>2]|0;f=g+f|0;if(((c[a+152>>2]|0)==0?(e=c[a+32>>2]|0,v=a+36|0,(e|0)!=(c[v>>2]|0)):0)?(u=((f|0)!=0&1)+(((g|0)!=0)<<31>>31)|0,u|0):0)do{a=c[e>>2]|0;Sv(a,(c[a+96>>2]|0)+u|0);e=e+4|0}while((e|0)!=(c[v>>2]|0));c[h>>2]=f;l=w;return}function iX(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;u=l;l=l+16|0;q=u+4|0;s=u;t=a+92|0;b=jX(t,b)|0;p=b;if((b|0)==(a+96|0)){l=u;return}j=b+28|0;b=c[j>>2]|0;if(c[b+52>>2]|0){e=a+148|0;d=c[e>>2]|0;f=d+-1|0;if(((c[a+144>>2]|0)==0?(g=c[a+32>>2]|0,i=a+36|0,(g|0)!=(c[i>>2]|0)):0)?(h=((f|0)!=0&1)+(((d|0)!=0)<<31>>31)|0,(h|0)!=0):0){b=g;do{g=c[b>>2]|0;Rv(g,(c[g+88>>2]|0)+h|0);b=b+4|0}while((b|0)!=(c[i>>2]|0));b=c[j>>2]|0}c[e>>2]=f}if(c[b+56>>2]|0){e=a+156|0;d=c[e>>2]|0;f=d+-1|0;if(((c[a+152>>2]|0)==0?(k=c[a+32>>2]|0,n=a+36|0,(k|0)!=(c[n>>2]|0)):0)?(m=((f|0)!=0&1)+(((d|0)!=0)<<31>>31)|0,(m|0)!=0):0){b=k;do{k=c[b>>2]|0;Sv(k,(c[k+96>>2]|0)+m|0);b=b+4|0}while((b|0)!=(c[n>>2]|0));b=c[j>>2]|0}c[e>>2]=f}h=kX()|0;i=(h|0)==0;if(!i)gk[c[(c[h>>2]|0)+8>>2]&1023](h)|0;d=c[b+32>>2]|0;g=b+36|0;e=c[g>>2]|0;f=e;a:do if((d|0)==(e|0)){r=d;o=24}else{b=d;do{if((c[b>>2]|0)==(a|0)){r=b;o=24;break a}b=b+4|0}while((b|0)!=(e|0))}while(0);if((o|0)==24?(r|0)!=(e|0):0){d=r+4|0;b=f-d|0;if(b|0)y2a(r|0,d|0,b|0)|0;c[g>>2]=r+(b>>2<<2)}if(!i)gk[c[(c[h>>2]|0)+12>>2]&1023](h)|0;c[s>>2]=p;c[q>>2]=c[s>>2];lX(t,q)|0;l=u;return}function jX(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;m=b+4|0;e=c[m>>2]|0;do if(e|0){l=a[d+11>>0]|0;k=l<<24>>24<0;l=k?c[d+4>>2]|0:l&255;k=k?c[d>>2]|0:d;b=m;do{f=e+16|0;h=a[f+11>>0]|0;g=h<<24>>24<0;h=g?c[e+20>>2]|0:h&255;i=l>>>0<h>>>0;d=i?l:h;if((d|0)!=0?(j=cOa(g?c[f>>2]|0:f,k,d)|0,(j|0)!=0):0)d=j;else d=h>>>0<l>>>0?-1:i&1;i=(d|0)<0;b=i?b:e;e=c[(i?e+4|0:e)>>2]|0}while((e|0)!=0);if((b|0)!=(m|0)){e=b+16|0;g=a[e+11>>0]|0;f=g<<24>>24<0;g=f?c[b+20>>2]|0:g&255;d=g>>>0<l>>>0?g:l;if(d|0?(n=cOa(k,f?c[e>>2]|0:e,d)|0,n|0):0){if((n|0)<0)break;return b|0}if(l>>>0>=g>>>0){n=b;return n|0}}}while(0);n=m;return n|0}function kX(){var b=0,d=0,e=0,f=0;d=l;l=l+16|0;b=d;if((a[223688]|0)==0?g2a(223688)|0:0){e=j0a(12)|0;c[e>>2]=83012;c[e+8>>2]=0;Vi(b|0)|0;f=j0a(32)|0;c[f>>2]=83040;Wi(b|0,2)|0;Ui(f+4|0,b|0)|0;c[e+4>>2]=f;c[56437]=e}l=d;return c[56437]|0}function lX(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;g=c[d>>2]|0;d=c[g+4>>2]|0;if(!d){e=g+8|0;d=c[e>>2]|0;if((c[d>>2]|0)!=(g|0))do{f=c[e>>2]|0;e=f+8|0;d=c[e>>2]|0}while((c[d>>2]|0)!=(f|0))}else while(1){e=c[d>>2]|0;if(!e)break;else d=e}if((c[b>>2]|0)==(g|0))c[b>>2]=d;e=b+8|0;c[e>>2]=(c[e>>2]|0)+-1;Pw(c[b+4>>2]|0,g);e=g+16|0;b=g+28|0;f=c[b>>2]|0;if(f|0?(i=f+8|0,h=c[i>>2]|0,c[i>>2]=h-1,(h|0)==1):0)UU(f,1,1);c[b>>2]=0;if((a[e+11>>0]|0)>=0){l0a(g);return d|0}l0a(c[e>>2]|0);l0a(g);return d|0}function mX(a){a=a|0;return}function nX(a){a=a|0;l0a(a);return}function oX(a){a=a|0;c[a>>2]=83012;a=c[a+4>>2]|0;Ti(a+4|0)|0;if(!a)return;Bk[c[(c[a>>2]|0)+4>>2]&2047](a);return}function pX(a){a=a|0;var b=0;c[a>>2]=83012;b=c[a+4>>2]|0;Ti(b+4|0)|0;if(!b){l0a(a);return}Bk[c[(c[b>>2]|0)+4>>2]&2047](b);l0a(a);return}function qX(a){a=a|0;return B2a((c[a+4>>2]|0)+4|0)|0}function rX(a){a=a|0;return D2a((c[a+4>>2]|0)+4|0)|0}function sX(a){a=a|0;return C2a((c[a+4>>2]|0)+4|0)|0}function tX(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0;j=l;l=l+16|0;i=j;e=wX(d,i,e)|0;f=c[e>>2]|0;if(f|0){d=f;g=0;c[b>>2]=d;d=b+4|0;a[d>>0]=g;l=j;return}h=j0a(36)|0;t0a(h+16|0,c[g>>2]|0);c[h+28>>2]=0;c[h+32>>2]=0;f=c[i>>2]|0;c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=f;c[e>>2]=h;f=c[c[d>>2]>>2]|0;if(!f)f=h;else{c[d>>2]=f;f=c[e>>2]|0}fp(c[d+4>>2]|0,f);d=d+8|0;c[d>>2]=(c[d>>2]|0)+1;d=h;g=1;c[b>>2]=d;d=b+4|0;a[d>>0]=g;l=j;return}function uX(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=l;l=l+16|0;d=h+4|0;g=h;c[g>>2]=b;if(ZQ(6)|0){f=mr(lr(6)|0,152134,21)|0;BSa(d,f+(c[(c[f>>2]|0)+-12>>2]|0)|0);e=cUa(d,230580)|0;e=kk[c[(c[e>>2]|0)+28>>2]&511](e,10)|0;dUa(d);VSa(f,e)|0;HSa(f)|0}b=kX()|0;d=(b|0)==0;if(!d)gk[c[(c[b>>2]|0)+8>>2]&1023](b)|0;e=a+36|0;f=c[e>>2]|0;if((f|0)==(c[a+40>>2]|0))vX(a+32|0,g);else{c[f>>2]=c[g>>2];c[e>>2]=(c[e>>2]|0)+4}if(d){l=h;return}gk[c[(c[b>>2]|0)+12>>2]&1023](b)|0;l=h;return}function vX(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;i=a+4|0;j=c[a>>2]|0;k=(c[i>>2]|0)-j|0;g=k>>2;d=g+1|0;if(d>>>0>1073741823)g1a(a);l=a+8|0;f=(c[l>>2]|0)-j|0;h=f>>1;h=f>>2>>>0<536870911?(h>>>0<d>>>0?d:h):1073741823;do if(h)if(h>>>0>1073741823){l=db(8)|0;p0a(l,183738);c[l>>2]=110936;hb(l|0,65952,1066)}else{f=j0a(h<<2)|0;e=f;break}else{e=0;f=0}while(0);d=e+(g<<2)|0;c[d>>2]=c[b>>2];if((k|0)>0)x2a(f|0,j|0,k|0)|0;c[a>>2]=e;c[i>>2]=d+4;c[l>>2]=e+(h<<2);if(!j)return;l0a(j);return}function wX(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;f=b+4|0;h=c[f>>2]|0;if(!h){c[d>>2]=f;o=f;return o|0}m=a[e+11>>0]|0;l=m<<24>>24<0;m=l?c[e+4>>2]|0:m&255;l=l?c[e>>2]|0:e;g=b+4|0;f=h;while(1){e=f+16|0;h=a[e+11>>0]|0;b=h<<24>>24<0;h=b?c[f+20>>2]|0:h&255;k=h>>>0<m>>>0;j=k?h:m;i=(j|0)==0;if(!i?(n=b?c[e>>2]|0:e,o=cOa(l,n,j)|0,(o|0)!=0):0)if((o|0)<0)b=7;else{e=n;b=11}else if(m>>>0>=h>>>0)if(i)b=12;else{e=b?c[e>>2]|0:e;b=11}else b=7;if((b|0)==7){b=0;e=c[f>>2]|0;if(!e){b=8;break}else{g=f;f=e}}else if((b|0)==11){e=cOa(e,l,j)|0;if(e)if((e|0)<0)b=14;else{b=16;break}else b=12}if((b|0)==12)if(k)b=14;else{b=16;break}if((b|0)==14){e=f+4|0;b=c[e>>2]|0;if(!b){b=15;break}else{g=e;f=b}}}if((b|0)==8){c[d>>2]=f;o=f;return o|0}else if((b|0)==15){c[d>>2]=f;o=e;return o|0}else if((b|0)==16){c[d>>2]=f;o=g;return o|0}return 0}function xX(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0;j=l;l=l+16|0;g=j;h=CO(d,g,e)|0;e=c[h>>2]|0;if(e|0){d=e;i=0;c[b>>2]=d;d=b+4|0;a[d>>0]=i;l=j;return}i=j0a(32)|0;t0a(i+16|0,f);c[i+28>>2]=c[f+12>>2];e=c[g>>2]|0;c[i>>2]=0;c[i+4>>2]=0;c[i+8>>2]=e;c[h>>2]=i;e=c[c[d>>2]>>2]|0;if(!e)e=i;else{c[d>>2]=e;e=c[h>>2]|0}fp(c[d+4>>2]|0,e);d=d+8|0;c[d>>2]=(c[d>>2]|0)+1;d=i;i=1;c[b>>2]=d;d=b+4|0;a[d>>0]=i;l=j;return}function yX(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;Or(a,b,d);c[a>>2]=82828;c[a+32>>2]=0;c[a+36>>2]=0;c[a+40>>2]=0;c[a+44>>2]=c[b+44>>2];c[a+48>>2]=0;e=kk[c[(c[d>>2]|0)+68>>2]&511](d,c[b+52>>2]|0)|0;c[a+52>>2]=e;if(e|0){e=e+(c[(c[e>>2]|0)+-16>>2]|0)+8|0;c[e>>2]=(c[e>>2]|0)+1}b=kk[c[(c[d>>2]|0)+68>>2]&511](d,c[b+56>>2]|0)|0;c[a+56>>2]=b;if(!b)return;a=b+(c[(c[b>>2]|0)+-16>>2]|0)+8|0;c[a>>2]=(c[a>>2]|0)+1;return}function zX(a){a=a|0;var b=0;c[a>>2]=82644;b=c[a+60>>2]|0;if(b|0){c[a+64>>2]=b;l0a(b)}TW(a);return}function AX(a){a=a|0;var b=0;c[a>>2]=82644;b=c[a+60>>2]|0;if(b|0){c[a+64>>2]=b;l0a(b)}TW(a);l0a(a);return}function BX(a){a=a|0;var b=0;a=j0a(72)|0;c[a+4>>2]=0;c[a+8>>2]=0;b=a+12|0;c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;c[a+24>>2]=2;b=a+28|0;c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;c[b+12>>2]=0;c[a+44>>2]=-1;c[a+48>>2]=0;c[a+52>>2]=0;c[a+56>>2]=0;c[a>>2]=82644;c[a+60>>2]=0;c[a+64>>2]=0;c[a+68>>2]=0;return a|0}function CX(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;j=l;l=l+16|0;g=j;i=j0a(72)|0;c[g>>2]=71296;c[g+4>>2]=c[b+4>>2];yX(i,a,g);c[i>>2]=82644;g=i+60|0;c[g>>2]=0;h=i+64|0;c[h>>2]=0;e=i+68|0;c[e>>2]=0;f=c[a+60>>2]|0;b=(c[a+64>>2]|0)-f|0;a=b>>2;if(!b){l=j;return i|0}if(a>>>0>1073741823)g1a(g);d=j0a(b)|0;c[h>>2]=d;c[g>>2]=d;c[e>>2]=d+(a<<2);if((b|0)<=0){l=j;return i|0}x2a(d|0,f|0,b|0)|0;c[h>>2]=d+(b>>>2<<2);l=j;return i|0}function DX(a,b){a=a|0;b=b|0;if(!b){b=0;return b|0}b=(y1a(b,42800,47256,0)|0)!=0;return b|0}function EX(a){a=a|0;return 186332}function FX(a){a=a|0;return 152188}function GX(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;e=c[a+60>>2]|0;a=c[a+64>>2]|0;if((e|0)==(a|0))return;Nk[c[b+228>>2]&255](d,a-e>>2,e);return}function HX(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0;j=l;l=l+16|0;i=j;e=aY(d,i,e)|0;f=c[e>>2]|0;if(f|0){d=f;g=0;c[b>>2]=d;d=b+4|0;a[d>>0]=g;l=j;return}h=j0a(44)|0;t0a(h+16|0,c[g>>2]|0);a[h+28>>0]=0;c[h+32>>2]=0;c[h+36>>2]=0;c[h+40>>2]=0;f=c[i>>2]|0;c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=f;c[e>>2]=h;f=c[c[d>>2]>>2]|0;if(!f)f=h;else{c[d>>2]=f;f=c[e>>2]|0}fp(c[d+4>>2]|0,f);d=d+8|0;c[d>>2]=(c[d>>2]|0)+1;d=h;g=1;c[b>>2]=d;d=b+4|0;a[d>>0]=g;l=j;return}function IX(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;l=b+4|0;e=c[b>>2]|0;h=(c[l>>2]|0)-e>>4;f=h+1|0;if(f>>>0>268435455)g1a(b);m=b+8|0;k=(c[m>>2]|0)-e|0;e=k>>3;e=k>>4>>>0<134217727?(e>>>0<f>>>0?f:e):268435455;do if(e)if(e>>>0>268435455){m=db(8)|0;p0a(m,183738);c[m>>2]=110936;hb(m|0,65952,1066)}else{i=j0a(e<<4)|0;break}else i=0;while(0);f=i+(h<<4)|0;k=i+(e<<4)|0;c[f>>2]=c[d>>2];c[f+4>>2]=c[d+4>>2];c[f+8>>2]=c[d+8>>2];c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[i+(h<<4)+12>>2]=c[d+12>>2];j=f+16|0;e=c[b>>2]|0;g=e;d=c[l>>2]|0;if((d|0)==(e|0))d=g;else{g=h+-1-((d+-16-g|0)>>>4)|0;do{h=f;f=f+-16|0;n=d;d=d+-16|0;c[f>>2]=c[d>>2];c[f+4>>2]=c[d+4>>2];c[f+8>>2]=c[d+8>>2];c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[h+-4>>2]=c[n+-4>>2]}while((d|0)!=(e|0));f=i+(g<<4)|0;d=c[b>>2]|0;e=c[l>>2]|0}c[b>>2]=f;c[l>>2]=j;c[m>>2]=k;f=d;if((e|0)!=(f|0))do{e=e+-16|0;if((a[e+11>>0]|0)<0)l0a(c[e>>2]|0)}while((e|0)!=(f|0));if(!d)return;l0a(d);return}function JX(b){b=b|0;var d=0,e=0,f=0,g=0;KX(b);LX(b);MX(b);d=b+40|0;if(!(c[d>>2]|0)){f=j0a(28)|0;g=c[(c[b+12>>2]|0)+492>>2]|0;c[f+4>>2]=0;e=f+8|0;c[e>>2]=0;c[f+12>>2]=0;c[f+16>>2]=-1;a[f+20>>0]=0;c[f>>2]=83076;c[f+24>>2]=g;c[d>>2]=f;c[e>>2]=(c[e>>2]|0)+1}d=b+44|0;if(c[d>>2]|0){NX(b,8);OX(b,16);return}f=j0a(28)|0;e=c[(c[b+12>>2]|0)+532>>2]|0;c[f+4>>2]=0;g=f+8|0;c[g>>2]=0;c[f+12>>2]=0;c[f+16>>2]=-1;a[f+20>>0]=0;c[f>>2]=83076;c[f+24>>2]=e;c[d>>2]=f;c[g>>2]=(c[g>>2]|0)+1;NX(b,8);OX(b,16);return}function KX(b){b=b|0;var d=0,e=0,f=0,g=0,h=0;g=l;l=l+16|0;d=g;f=b+28|0;if(c[f>>2]|0){l=g;return}if(ZQ(5)|0){e=mr(lr(5)|0,153126,83)|0;b=b+12|0;e=QSa(e,c[(c[b>>2]|0)+372>>2]|0)|0;BSa(d,e+(c[(c[e>>2]|0)+-12>>2]|0)|0);h=cUa(d,230580)|0;h=kk[c[(c[h>>2]|0)+28>>2]&511](h,10)|0;dUa(d);VSa(e,h)|0;HSa(e)|0}else b=b+12|0;e=j0a(28)|0;d=c[(c[b>>2]|0)+372>>2]|0;c[e+4>>2]=0;b=e+8|0;c[b>>2]=0;c[e+12>>2]=0;c[e+16>>2]=-1;a[e+20>>0]=0;c[e>>2]=83076;c[e+24>>2]=d;d=c[f>>2]|0;if((d|0)==(e|0)){l=g;return}c[f>>2]=e;c[b>>2]=(c[b>>2]|0)+1;if(!d){l=g;return}f=d+8|0;h=c[f>>2]|0;c[f>>2]=h-1;if((h|0)!=1){l=g;return}UU(d,1,1);l=g;return}function LX(b){b=b|0;var d=0,e=0,f=0,g=0,h=0;g=l;l=l+16|0;d=g;f=b+32|0;if(c[f>>2]|0){l=g;return}if(ZQ(5)|0){e=mr(lr(5)|0,153042,83)|0;b=b+12|0;e=QSa(e,c[(c[b>>2]|0)+412>>2]|0)|0;BSa(d,e+(c[(c[e>>2]|0)+-12>>2]|0)|0);h=cUa(d,230580)|0;h=kk[c[(c[h>>2]|0)+28>>2]&511](h,10)|0;dUa(d);VSa(e,h)|0;HSa(e)|0}else b=b+12|0;e=j0a(28)|0;d=c[(c[b>>2]|0)+412>>2]|0;c[e+4>>2]=0;b=e+8|0;c[b>>2]=0;c[e+12>>2]=0;c[e+16>>2]=-1;a[e+20>>0]=0;c[e>>2]=83076;c[e+24>>2]=d;d=c[f>>2]|0;if((d|0)==(e|0)){l=g;return}c[f>>2]=e;c[b>>2]=(c[b>>2]|0)+1;if(!d){l=g;return}f=d+8|0;h=c[f>>2]|0;c[f>>2]=h-1;if((h|0)!=1){l=g;return}UU(d,1,1);l=g;return}function MX(b){b=b|0;var d=0,e=0,f=0,g=0,h=0;g=l;l=l+16|0;d=g;f=b+36|0;if(c[f>>2]|0){l=g;return}if(ZQ(5)|0){e=mr(lr(5)|0,152960,81)|0;b=b+12|0;e=QSa(e,c[(c[b>>2]|0)+452>>2]|0)|0;BSa(d,e+(c[(c[e>>2]|0)+-12>>2]|0)|0);h=cUa(d,230580)|0;h=kk[c[(c[h>>2]|0)+28>>2]&511](h,10)|0;dUa(d);VSa(e,h)|0;HSa(e)|0}else b=b+12|0;e=j0a(28)|0;d=c[(c[b>>2]|0)+452>>2]|0;c[e+4>>2]=0;b=e+8|0;c[b>>2]=0;c[e+12>>2]=0;c[e+16>>2]=-1;a[e+20>>0]=0;c[e>>2]=83076;c[e+24>>2]=d;d=c[f>>2]|0;if((d|0)==(e|0)){l=g;return}c[f>>2]=e;c[b>>2]=(c[b>>2]|0)+1;if(!d){l=g;return}f=d+8|0;h=c[f>>2]|0;c[f>>2]=h-1;if((h|0)!=1){l=g;return}UU(d,1,1);l=g;return}function NX(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;i=b+48|0;j=b+52|0;f=c[j>>2]|0;h=c[i>>2]|0;g=f-h>>2;e=f;if(g>>>0>=d>>>0){if(g>>>0>d>>>0){f=h+(d<<2)|0;if((f|0)!=(e|0))do{e=e+-4|0;d=c[e>>2]|0;if(d|0?(g=d+8|0,h=c[g>>2]|0,c[g>>2]=h-1,(h|0)==1):0)UU(d,1,1);c[e>>2]=0}while((e|0)!=(f|0));c[j>>2]=f}}else{PX(i,d-g|0);f=c[j>>2]|0}e=c[i>>2]|0;if((f|0)==(e|0))return;d=b+12|0;f=0;do{e=e+(f<<2)|0;if((((c[e>>2]|0)==0?(k=j0a(28)|0,m=c[(c[(c[d>>2]|0)+572>>2]|0)+(f*40|0)>>2]|0,c[k+4>>2]=0,l=k+8|0,c[l>>2]=0,c[k+12>>2]=0,c[k+16>>2]=-1,a[k+20>>0]=0,c[k>>2]=83076,c[k+24>>2]=m,m=c[e>>2]|0,(m|0)!=(k|0)):0)?(c[e>>2]=k,c[l>>2]=(c[l>>2]|0)+1,m|0):0)?(h=m+8|0,b=c[h>>2]|0,c[h>>2]=b-1,(b|0)==1):0)UU(m,1,1);f=f+1|0;e=c[i>>2]|0}while(f>>>0<(c[j>>2]|0)-e>>2>>>0);return}function OX(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;i=b+60|0;h=b+64|0;e=c[h>>2]|0;g=c[i>>2]|0;f=e-g>>2;b=e;if(f>>>0>=d>>>0){if(f>>>0>d>>>0){e=g+(d<<2)|0;if((e|0)!=(b|0))do{b=b+-4|0;f=c[b>>2]|0;if(f|0?(g=f+8|0,d=c[g>>2]|0,c[g>>2]=d-1,(d|0)==1):0)UU(f,1,1);c[b>>2]=0}while((b|0)!=(e|0));c[h>>2]=e}}else{PX(i,d-f|0);e=c[h>>2]|0}b=c[i>>2]|0;if((e|0)==(b|0))return;e=0;do{b=b+(e<<2)|0;if((((c[b>>2]|0)==0?(j=j0a(28)|0,c[j+4>>2]=0,k=j+8|0,c[k>>2]=0,c[j+12>>2]=0,c[j+16>>2]=-1,a[j+20>>0]=0,c[j>>2]=83076,c[j+24>>2]=e,l=c[b>>2]|0,(l|0)!=(j|0)):0)?(c[b>>2]=j,c[k>>2]=(c[k>>2]|0)+1,l|0):0)?(g=l+8|0,d=c[g>>2]|0,c[g>>2]=d-1,(d|0)==1):0)UU(l,1,1);e=e+1|0;b=c[i>>2]|0}while(e>>>0<(c[h>>2]|0)-b>>2>>>0);return}function PX(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;m=a+8|0;f=c[m>>2]|0;n=a+4|0;e=c[n>>2]|0;d=e;if(f-e>>2>>>0>=b>>>0){z2a(e|0,0,b<<2|0)|0;c[n>>2]=d+(b<<2);return}j=c[a>>2]|0;h=e-j>>2;e=h+b|0;g=j;if(e>>>0>1073741823)g1a(a);l=f-j|0;f=l>>1;f=l>>2>>>0<536870911?(f>>>0<e>>>0?e:f):1073741823;do if(f)if(f>>>0>1073741823){n=db(8)|0;p0a(n,183738);c[n>>2]=110936;hb(n|0,65952,1066)}else{i=j0a(f<<2)|0;break}else i=0;while(0);e=i+(h<<2)|0;l=i+(f<<2)|0;z2a(e|0,0,b<<2|0)|0;k=e+(b<<2)|0;if((d|0)==(g|0))f=j;else{b=h+-1-((d+-4+(0-j)|0)>>>2)|0;while(1){d=d+-4|0;f=c[d>>2]|0;c[e+-4>>2]=f;if(f|0){j=f+8|0;c[j>>2]=(c[j>>2]|0)+1}if((d|0)==(g|0))break;else e=e+-4|0}f=c[a>>2]|0;e=i+(b<<2)|0;g=f;d=c[n>>2]|0}c[a>>2]=e;c[n>>2]=k;c[m>>2]=l;if((d|0)!=(g|0))do{d=d+-4|0;e=c[d>>2]|0;if(e|0?(m=e+8|0,n=c[m>>2]|0,c[m>>2]=n-1,(n|0)==1):0)UU(e,1,1);c[d>>2]=0}while((d|0)!=(g|0));if(!f)return;l0a(f);return}function QX(a){a=a|0;SU(a);l0a(a);return}function RX(a){a=a|0;return 1}function SX(a){a=a|0;return 152866}function TX(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0;g=c[d+832>>2]|0;f=b+24|0;Bk[c[g+84>>2]&2047](c[f>>2]|0);d=gk[c[(c[e>>2]|0)+164>>2]&1023](e)|0;if(!(a[e+69>>0]|0)){Tk[c[g+404>>2]&15](c[f>>2]|0,c[e+56>>2]|0,c[e+60>>2]|0,a[e+68>>0]|0,0,d);return}b=c[e+60>>2]|0;switch(b|0){case 5126:{Tk[c[g+404>>2]&15](c[f>>2]|0,c[e+56>>2]|0,5126,a[e+68>>0]|0,0,d);return}case 5130:{Sk[c[g+412>>2]&63](c[f>>2]|0,c[e+56>>2]|0,5130,0,d);return}default:{Sk[c[g+408>>2]&63](c[f>>2]|0,c[e+56>>2]|0,b,0,d);return}}}function UX(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0;h=c[d+832>>2]|0;g=b+24|0;Bk[c[h+84>>2]&2047](c[g>>2]|0);d=c[(c[f+40>>2]|0)+((c[e+36>>2]|0)*20|0)+12>>2]|0;if(!(a[e+69>>0]|0)){Tk[c[h+404>>2]&15](c[g>>2]|0,c[e+56>>2]|0,c[e+60>>2]|0,a[e+68>>0]|0,0,d);return}b=c[e+60>>2]|0;switch(b|0){case 5126:{Tk[c[h+404>>2]&15](c[g>>2]|0,c[e+56>>2]|0,5126,a[e+68>>0]|0,0,d);return}case 5130:{Sk[c[h+412>>2]&63](c[g>>2]|0,c[e+56>>2]|0,5130,0,d);return}default:{Sk[c[h+408>>2]&63](c[g>>2]|0,c[e+56>>2]|0,b,0,d);return}}}function VX(a,b,d,e,f,g,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0;i=c[b+832>>2]|0;b=a+24|0;Bk[c[i+84>>2]&2047](c[b>>2]|0);Tk[c[i+404>>2]&15](c[b>>2]|0,d,e,h,f,g);return}function WX(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0;f=c[d+832>>2]|0;g=gk[c[(c[e>>2]|0)+164>>2]&1023](e)|0;if(!(a[e+69>>0]|0)){Tk[c[f+404>>2]&15](c[b+24>>2]|0,c[e+56>>2]|0,c[e+60>>2]|0,a[e+68>>0]|0,0,g);return}d=c[e+60>>2]|0;switch(d|0){case 5126:{Tk[c[f+404>>2]&15](c[b+24>>2]|0,c[e+56>>2]|0,5126,a[e+68>>0]|0,0,g);return}case 5130:{Sk[c[f+412>>2]&63](c[b+24>>2]|0,c[e+56>>2]|0,5130,0,g);return}default:{Sk[c[f+408>>2]&63](c[b+24>>2]|0,c[e+56>>2]|0,d,0,g);return}}}function XX(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0;g=c[d+832>>2]|0;d=c[(c[f+40>>2]|0)+((c[e+36>>2]|0)*20|0)+12>>2]|0;if(!(a[e+69>>0]|0)){Tk[c[g+404>>2]&15](c[b+24>>2]|0,c[e+56>>2]|0,c[e+60>>2]|0,a[e+68>>0]|0,0,d);return}f=c[e+60>>2]|0;switch(f|0){case 5126:{Tk[c[g+404>>2]&15](c[b+24>>2]|0,c[e+56>>2]|0,5126,a[e+68>>0]|0,0,d);return}case 5130:{Sk[c[g+412>>2]&63](c[b+24>>2]|0,c[e+56>>2]|0,5130,0,d);return}default:{Sk[c[g+408>>2]&63](c[b+24>>2]|0,c[e+56>>2]|0,f,0,d);return}}}function YX(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;return}function ZX(a,b){a=a|0;b=b|0;Bk[c[(c[b+832>>2]|0)+80>>2]&2047](c[a+24>>2]|0);return}function _X(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0;c[a>>2]=83056;b=c[a+84>>2]|0;if(b|0){c[a+88>>2]=b;l0a(b)}b=c[a+72>>2]|0;if(b|0){c[a+76>>2]=b;l0a(b)}e=a+60|0;f=c[e>>2]|0;if(f|0){g=a+64|0;b=c[g>>2]|0;if((b|0)==(f|0))b=f;else{do{b=b+-4|0;d=c[b>>2]|0;if(d|0?(i=d+8|0,h=c[i>>2]|0,c[i>>2]=h-1,(h|0)==1):0)UU(d,1,1);c[b>>2]=0}while((b|0)!=(f|0));b=c[e>>2]|0}c[g>>2]=f;l0a(b)}e=a+48|0;f=c[e>>2]|0;if(f|0){g=a+52|0;b=c[g>>2]|0;if((b|0)==(f|0))b=f;else{do{b=b+-4|0;d=c[b>>2]|0;if(d|0?(h=d+8|0,i=c[h>>2]|0,c[h>>2]=i-1,(i|0)==1):0)UU(d,1,1);c[b>>2]=0}while((b|0)!=(f|0));b=c[e>>2]|0}c[g>>2]=f;l0a(b)}b=a+44|0;d=c[b>>2]|0;if(d|0?(h=d+8|0,i=c[h>>2]|0,c[h>>2]=i-1,(i|0)==1):0)UU(d,1,1);c[b>>2]=0;b=a+40|0;d=c[b>>2]|0;if(d|0?(h=d+8|0,i=c[h>>2]|0,c[h>>2]=i-1,(i|0)==1):0)UU(d,1,1);c[b>>2]=0;b=a+36|0;d=c[b>>2]|0;if(d|0?(h=d+8|0,i=c[h>>2]|0,c[h>>2]=i-1,(i|0)==1):0)UU(d,1,1);c[b>>2]=0;b=a+32|0;d=c[b>>2]|0;if(d|0?(h=d+8|0,i=c[h>>2]|0,c[h>>2]=i-1,(i|0)==1):0)UU(d,1,1);c[b>>2]=0;b=a+28|0;d=c[b>>2]|0;if(d|0?(h=d+8|0,i=c[h>>2]|0,c[h>>2]=i-1,(i|0)==1):0)UU(d,1,1);c[b>>2]=0;b=a+16|0;d=c[b>>2]|0;if(!d){c[b>>2]=0;SU(a);return}h=d+8|0;i=c[h>>2]|0;c[h>>2]=i-1;if((i|0)!=1){c[b>>2]=0;SU(a);return}UU(d,1,1);c[b>>2]=0;SU(a);return}function $X(a){a=a|0;_X(a);l0a(a);return}function aY(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;f=b+4|0;h=c[f>>2]|0;if(!h){c[d>>2]=f;o=f;return o|0}m=a[e+11>>0]|0;l=m<<24>>24<0;m=l?c[e+4>>2]|0:m&255;l=l?c[e>>2]|0:e;g=b+4|0;f=h;while(1){e=f+16|0;h=a[e+11>>0]|0;b=h<<24>>24<0;h=b?c[f+20>>2]|0:h&255;k=h>>>0<m>>>0;j=k?h:m;i=(j|0)==0;if(!i?(n=b?c[e>>2]|0:e,o=cOa(l,n,j)|0,(o|0)!=0):0)if((o|0)<0)b=7;else{e=n;b=11}else if(m>>>0>=h>>>0)if(i)b=12;else{e=b?c[e>>2]|0:e;b=11}else b=7;if((b|0)==7){b=0;e=c[f>>2]|0;if(!e){b=8;break}else{g=f;f=e}}else if((b|0)==11){e=cOa(e,l,j)|0;if(e)if((e|0)<0)b=14;else{b=16;break}else b=12}if((b|0)==12)if(k)b=14;else{b=16;break}if((b|0)==14){e=f+4|0;b=c[e>>2]|0;if(!b){b=15;break}else{g=e;f=b}}}if((b|0)==8){c[d>>2]=f;o=f;return o|0}else if((b|0)==15){c[d>>2]=f;o=e;return o|0}else if((b|0)==16){c[d>>2]=f;o=g;return o|0}return 0}function bY(a,b){a=a|0;b=b|0;if(!b)return;bY(a,c[b>>2]|0);bY(a,c[b+4>>2]|0);a=c[b+24>>2]|0;if(a|0){c[b+28>>2]=a;l0a(a)}l0a(b);return}function cY(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;if(!d)return;cY(b,c[d>>2]|0);cY(b,c[d+4>>2]|0);g=d+16|0;e=d+32|0;h=c[e>>2]|0;if(h|0){f=d+36|0;b=c[f>>2]|0;if((b|0)==(h|0))b=h;else{do{b=b+-16|0;if((a[b+11>>0]|0)<0)l0a(c[b>>2]|0)}while((b|0)!=(h|0));b=c[e>>2]|0}c[f>>2]=h;l0a(b)}if((a[g+11>>0]|0)<0)l0a(c[g>>2]|0);l0a(d);return}function dY(b,d){b=b|0;d=d|0;var e=0;if(!d)return;dY(b,c[d>>2]|0);dY(b,c[d+4>>2]|0);b=d+16|0;e=c[d+28>>2]|0;if(e|0){c[d+32>>2]=e;l0a(e)}if((a[b+11>>0]|0)<0)l0a(c[b>>2]|0);l0a(d);return}function eY(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;if(!d)return;eY(b,c[d>>2]|0);eY(b,c[d+4>>2]|0);b=d+16|0;e=d+28|0;f=c[e>>2]|0;if(f|0?(h=f+8|0,g=c[h>>2]|0,c[h>>2]=g-1,(g|0)==1):0)UU(f,1,1);c[e>>2]=0;if((a[b+11>>0]|0)<0)l0a(c[b>>2]|0);l0a(d);return}function fY(a){a=a|0;Nu(a,c[a+4>>2]|0);return}function gY(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;Uq(a,b);d=c[a+56>>2]|0;g=a+60|0;if((g|0)!=(d|0))do{f=c[d+24>>2]|0;Jk[c[c[f>>2]>>2]&1023](f,b);f=d;d=c[f+4>>2]|0;if(!d){e=f+8|0;d=c[e>>2]|0;if((c[d>>2]|0)!=(f|0))do{h=c[e>>2]|0;e=h+8|0;d=c[e>>2]|0}while((c[d>>2]|0)!=(h|0))}else while(1){e=c[d>>2]|0;if(!e)break;else d=e}}while((g|0)!=(d|0));d=c[a+80>>2]|0;h=a+84|0;if((d|0)==(c[h>>2]|0))return;do{e=c[d>>2]|0;a=d+4|0;if((e|0)!=(a|0)){g=e;while(1){e=c[g+24>>2]|0;Jk[c[c[e>>2]>>2]&1023](e,b);e=c[g+4>>2]|0;if(!e){f=g+8|0;e=c[f>>2]|0;if((c[e>>2]|0)!=(g|0))do{g=c[f>>2]|0;f=g+8|0;e=c[f>>2]|0}while((c[e>>2]|0)!=(g|0))}else while(1){f=c[e>>2]|0;if(!f)break;else e=f}if((e|0)==(a|0))break;else g=e}}d=d+12|0}while((d|0)!=(c[h>>2]|0));return}function hY(b){b=b|0;var d=0,e=0,f=0,g=0,h=0;c[b>>2]=83132;EY(b);d=b+152|0;e=c[d>>2]|0;if(e|0?(f=e+(c[(c[e>>2]|0)+-16>>2]|0)|0,h=f+8|0,e=c[h>>2]|0,c[h>>2]=e-1,(e|0)==1):0)UU(f,1,1);c[d>>2]=0;d=b+144|0;e=c[d>>2]|0;if(e|0?(g=e+(c[(c[e>>2]|0)+-16>>2]|0)|0,f=g+8|0,h=c[f>>2]|0,c[f>>2]=h-1,(h|0)==1):0)UU(g,1,1);c[d>>2]=0;d=b+128|0;if((a[d+11>>0]|0)<0)l0a(c[d>>2]|0);tV(b+104|0,c[b+108>>2]|0);eY(b+92|0,c[b+96>>2]|0);e=b+80|0;f=c[e>>2]|0;if(f|0){g=b+84|0;d=c[g>>2]|0;if((d|0)==(f|0))d=f;else{do{h=d;d=d+-12|0;yY(d,c[h+-8>>2]|0)}while((d|0)!=(f|0));d=c[e>>2]|0}c[g>>2]=f;l0a(d)}e=b+68|0;f=c[e>>2]|0;if(f|0){g=b+72|0;d=c[g>>2]|0;if((d|0)==(f|0))d=f;else{do{h=d;d=d+-12|0;aC(d,c[h+-8>>2]|0)}while((d|0)!=(f|0));d=c[e>>2]|0}c[g>>2]=f;l0a(d)}yY(b+56|0,c[b+60>>2]|0);aC(b+44|0,c[b+48>>2]|0);d=c[b+32>>2]|0;if(!d){Pr(b);return}c[b+36>>2]=d;l0a(d);Pr(b);return}function iY(a){a=a|0;hY(a);l0a(a);return}function jY(a){a=a|0;a=j0a(160)|0;DY(a);return a|0}function kY(a,b){a=a|0;b=b|0;var c=0;c=j0a(160)|0;tY(c,a,b);return c|0}function lY(a,b){a=a|0;b=b|0;if(!b){b=0;return b|0}b=(y1a(b,42800,47320,0)|0)!=0;return b|0}function mY(a){a=a|0;return 186332}function nY(a){a=a|0;return 153248}function oY(a){a=a|0;return a|0}function pY(a){a=a|0;return a|0}function qY(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;if((c[a+144>>2]|0)==0?(c[a+152>>2]|0)==0:0)d=0;else d=1;b=c[a+56>>2]|0;h=a+60|0;if((b|0)!=(h|0))do{f=c[b+24>>2]|0;g=f+24|0;e=c[g>>2]|0;do if((e|0)==2){if((c[f+48>>2]|0)==0?(c[f+52>>2]|0)==0:0){e=2;break}c[g>>2]=0;e=0}while(0);d=d|(e|0)==0;e=c[b+4>>2]|0;if(!e){e=b+8|0;f=c[e>>2]|0;if((c[f>>2]|0)==(b|0))b=f;else do{k=c[e>>2]|0;e=k+8|0;b=c[e>>2]|0}while((c[b>>2]|0)!=(k|0))}else{b=e;while(1){e=c[b>>2]|0;if(!e)break;else b=e}}}while((b|0)!=(h|0));b=c[a+84>>2]|0;e=c[a+80>>2]|0;k=e;if((b|0)!=(e|0)){j=(b-e|0)/12|0;i=0;do{b=c[k+(i*12|0)>>2]|0;h=k+(i*12|0)+4|0;if((b|0)!=(h|0))do{f=c[b+24>>2]|0;g=f+24|0;e=c[g>>2]|0;do if((e|0)==2){if((c[f+48>>2]|0)==0?(c[f+52>>2]|0)==0:0){e=2;break}c[g>>2]=0;e=0}while(0);d=d|(e|0)==0;e=c[b+4>>2]|0;if(!e){e=b+8|0;f=c[e>>2]|0;if((c[f>>2]|0)==(b|0))b=f;else do{g=c[e>>2]|0;e=g+8|0;b=c[e>>2]|0}while((c[b>>2]|0)!=(g|0))}else{b=e;while(1){e=c[b>>2]|0;if(!e)break;else b=e}}}while((b|0)!=(h|0));i=i+1|0}while(i>>>0<j>>>0)}b=c[a+92>>2]|0;h=a+96|0;if((b|0)!=(h|0))do{f=c[b+28>>2]|0;g=f+24|0;e=c[g>>2]|0;do if((e|0)==2){if((c[f+52>>2]|0)==0?(c[f+56>>2]|0)==0:0){e=2;break}c[g>>2]=0;e=0}while(0);d=d|(e|0)==0;e=c[b+4>>2]|0;if(!e){e=b+8|0;f=c[e>>2]|0;if((c[f>>2]|0)==(b|0))b=f;else do{k=c[e>>2]|0;e=k+8|0;b=c[e>>2]|0}while((c[b>>2]|0)!=(k|0))}else{b=e;while(1){e=c[b>>2]|0;if(!e)break;else b=e}}}while((b|0)!=(h|0));b=a+24|0;if((c[b>>2]|0)!=2)return;c[b>>2]=(d^1)&1;return}function rY(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;d=c[a+56>>2]|0;g=a+60|0;if((g|0)!=(d|0))do{f=c[d+24>>2]|0;Jk[c[(c[f>>2]|0)+156>>2]&1023](f,b);f=d;d=c[f+4>>2]|0;if(!d){e=f+8|0;d=c[e>>2]|0;if((c[d>>2]|0)!=(f|0))do{h=c[e>>2]|0;e=h+8|0;d=c[e>>2]|0}while((c[d>>2]|0)!=(h|0))}else while(1){e=c[d>>2]|0;if(!e)break;else d=e}}while((g|0)!=(d|0));d=c[a+80>>2]|0;h=a+84|0;if((d|0)==(c[h>>2]|0))return;do{e=c[d>>2]|0;a=d+4|0;if((e|0)!=(a|0)){g=e;while(1){e=c[g+24>>2]|0;Jk[c[(c[e>>2]|0)+156>>2]&1023](e,b);e=c[g+4>>2]|0;if(!e){f=g+8|0;e=c[f>>2]|0;if((c[e>>2]|0)!=(g|0))do{g=c[f>>2]|0;f=g+8|0;e=c[f>>2]|0}while((c[e>>2]|0)!=(g|0))}else while(1){f=c[e>>2]|0;if(!f)break;else e=f}if((e|0)==(a|0))break;else g=e}}d=d+12|0}while((d|0)!=(c[h>>2]|0));return}function sY(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;d=c[a+56>>2]|0;g=a+60|0;if((d|0)!=(g|0)){f=d;while(1){d=c[f+24>>2]|0;Jk[c[(c[d>>2]|0)+160>>2]&1023](d,b);d=c[f+4>>2]|0;if(!d){e=f+8|0;d=c[e>>2]|0;if((c[d>>2]|0)!=(f|0))do{h=c[e>>2]|0;e=h+8|0;d=c[e>>2]|0}while((c[d>>2]|0)!=(h|0))}else while(1){e=c[d>>2]|0;if(!e)break;else d=e}if((d|0)==(g|0))break;else f=d}}d=c[a+80>>2]|0;h=a+84|0;if((d|0)==(c[h>>2]|0))return;do{e=c[d>>2]|0;a=d+4|0;if((e|0)!=(a|0)){g=e;while(1){e=c[g+24>>2]|0;Jk[c[(c[e>>2]|0)+160>>2]&1023](e,b);e=c[g+4>>2]|0;if(!e){f=g+8|0;e=c[f>>2]|0;if((c[e>>2]|0)!=(g|0))do{g=c[f>>2]|0;f=g+8|0;e=c[f>>2]|0}while((c[e>>2]|0)!=(g|0))}else while(1){f=c[e>>2]|0;if(!f)break;else e=f}if((e|0)==(a|0))break;else g=e}}d=d+12|0}while((d|0)!=(c[h>>2]|0));return}function tY(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0;M=l;l=l+32|0;C=M+16|0;B=M+8|0;G=M+4|0;I=M;Or(b,d,e);c[b>>2]=83132;c[b+32>>2]=0;c[b+36>>2]=0;c[b+40>>2]=0;f=b+44|0;c[b+48>>2]=0;c[b+52>>2]=0;c[f>>2]=b+48;r=b+56|0;s=b+60|0;c[s>>2]=0;t=b+64|0;c[t>>2]=0;u=b+60|0;c[r>>2]=u;v=b+68|0;z=b+80|0;w=b+84|0;D=b+92|0;c[b+96>>2]=0;c[b+100>>2]=0;c[v>>2]=0;c[v+4>>2]=0;c[v+8>>2]=0;c[v+12>>2]=0;c[v+16>>2]=0;c[v+20>>2]=0;c[D>>2]=b+96;E=b+104|0;c[b+108>>2]=0;c[b+112>>2]=0;c[E>>2]=b+108;F=b+128|0;c[F>>2]=0;c[F+4>>2]=0;c[F+8>>2]=0;a[b+140>>0]=a[d+140>>0]|0;J=b+144|0;c[J>>2]=0;L=b+152|0;c[L>>2]=0;H=(b|0)==(d|0);if(!H){c[G>>2]=c[d+44>>2];c[I>>2]=d+48;c[B>>2]=c[G>>2];c[C>>2]=c[I>>2];uY(f,B,C)}f=c[d+56>>2]|0;q=d+60|0;if((f|0)!=(q|0)){p=f;while(1){k=p+16|0;m=kk[c[(c[e>>2]|0)+28>>2]&511](e,c[p+24>>2]|0)|0;if(m|0){n=m+8|0;c[n>>2]=(c[n>>2]|0)+1;o=c[p+28>>2]|0;f=c[u>>2]|0;do if(f){i=c[k>>2]|0;j=c[p+20>>2]|0;g=s;a:while(1){h=c[f+16>>2]|0;do if((i|0)>=(h|0)){if((h|0)>=(i|0)){h=c[f+20>>2]|0;if(j>>>0<h>>>0){A=13;break}if(h>>>0>=j>>>0){A=18;break a}}g=f+4|0;h=c[g>>2]|0;if(!h){A=17;break a}else f=g}else A=13;while(0);if((A|0)==13){A=0;h=c[f>>2]|0;if(!h){A=14;break}}g=f;f=h}if((A|0)==14){A=0;i=f;g=f;break}else if((A|0)==17){A=0;i=f;break}else if((A|0)==18){A=0;i=f;break}}else{i=u;g=u}while(0);f=c[g>>2]|0;if(!f){h=j0a(32)|0;x=k;y=c[x+4>>2]|0;f=h+16|0;c[f>>2]=c[x>>2];c[f+4>>2]=y;c[h+24>>2]=0;c[h+28>>2]=0;c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=i;c[g>>2]=h;f=c[c[r>>2]>>2]|0;if(!f)f=h;else{c[r>>2]=f;f=c[g>>2]|0}fp(c[s>>2]|0,f);c[t>>2]=(c[t>>2]|0)+1;f=h}g=f+24|0;h=c[g>>2]|0;if(((h|0)!=(m|0)?(c[g>>2]=m,c[n>>2]=(c[n>>2]|0)+1,h|0):0)?(x=h+8|0,y=c[x>>2]|0,c[x>>2]=y-1,(y|0)==1):0)UU(h,1,1);c[f+28>>2]=o;y=c[n>>2]|0;c[n>>2]=y-1;if((y|0)==1)UU(m,1,1);wY(m,b)}f=c[p+4>>2]|0;if(!f){g=p+8|0;f=c[g>>2]|0;if((c[f>>2]|0)!=(p|0))do{y=c[g>>2]|0;g=y+8|0;f=c[g>>2]|0}while((c[f>>2]|0)!=(y|0))}else while(1){g=c[f>>2]|0;if(!g)break;else f=g}if((f|0)==(q|0))break;else p=f}}if(!H)vY(v,c[d+68>>2]|0,c[d+72>>2]|0);x=d+80|0;y=d+84|0;g=((c[y>>2]|0)-(c[x>>2]|0)|0)/12|0;f=c[w>>2]|0;i=c[z>>2]|0;h=(f-i|0)/12|0;if(g>>>0<=h>>>0){if(g>>>0<h>>>0){g=i+(g*12|0)|0;if((g|0)!=(f|0))do{v=f;f=f+-12|0;yY(f,c[v+-8>>2]|0)}while((f|0)!=(g|0));c[w>>2]=g}}else xY(z,g-h|0);f=c[x>>2]|0;if((c[y>>2]|0)!=(f|0)){v=0;do{s=f;f=c[z>>2]|0;r=f+(v*12|0)|0;g=c[s+(v*12|0)>>2]|0;s=s+(v*12|0)+4|0;if((g|0)!=(s|0)){t=f+(v*12|0)+4|0;u=f+(v*12|0)+4|0;q=f+(v*12|0)+8|0;while(1){m=g+16|0;n=kk[c[(c[e>>2]|0)+28>>2]&511](e,c[g+24>>2]|0)|0;if(n|0){o=n+8|0;c[o>>2]=(c[o>>2]|0)+1;p=c[g+28>>2]|0;f=c[t>>2]|0;do if(f){j=c[m>>2]|0;k=c[g+20>>2]|0;h=u;b:while(1){i=c[f+16>>2]|0;do if((j|0)>=(i|0)){if((i|0)>=(j|0)){i=c[f+20>>2]|0;if(k>>>0<i>>>0){A=59;break}if(i>>>0>=k>>>0){A=64;break b}}h=f+4|0;i=c[h>>2]|0;if(!i){A=63;break b}else f=h}else A=59;while(0);if((A|0)==59){A=0;i=c[f>>2]|0;if(!i){A=60;break}}h=f;f=i}if((A|0)==60){A=0;j=f;h=f;break}else if((A|0)==63){A=0;j=f;break}else if((A|0)==64){A=0;j=f;break}}else{j=t;h=t}while(0);f=c[h>>2]|0;if(!f){i=j0a(32)|0;w=c[m+4>>2]|0;f=i+16|0;c[f>>2]=c[m>>2];c[f+4>>2]=w;c[i+24>>2]=0;c[i+28>>2]=0;c[i>>2]=0;c[i+4>>2]=0;c[i+8>>2]=j;c[h>>2]=i;f=c[c[r>>2]>>2]|0;if(!f)f=i;else{c[r>>2]=f;f=c[h>>2]|0}fp(c[u>>2]|0,f);c[q>>2]=(c[q>>2]|0)+1;f=i}h=f+24|0;i=c[h>>2]|0;if(((i|0)!=(n|0)?(c[h>>2]=n,c[o>>2]=(c[o>>2]|0)+1,i|0):0)?(m=i+8|0,w=c[m>>2]|0,c[m>>2]=w-1,(w|0)==1):0)UU(i,1,1);c[f+28>>2]=p;w=c[o>>2]|0;c[o>>2]=w-1;if((w|0)==1)UU(n,1,1);wY(n,b)}f=c[g+4>>2]|0;if(!f){h=g+8|0;f=c[h>>2]|0;if((c[f>>2]|0)!=(g|0)){g=h;do{w=c[g>>2]|0;g=w+8|0;f=c[g>>2]|0}while((c[f>>2]|0)!=(w|0))}}else while(1){g=c[f>>2]|0;if(!g)break;else f=g}if((f|0)==(s|0))break;else g=f}}v=v+1|0;f=c[x>>2]|0}while(v>>>0<(((c[y>>2]|0)-f|0)/12|0)>>>0)}f=c[d+92>>2]|0;n=d+96|0;if((f|0)!=(n|0)){m=f;while(1){f=m+16|0;i=kk[c[(c[e>>2]|0)+52>>2]&511](e,c[m+28>>2]|0)|0;if(i|0){j=i+8|0;c[j>>2]=(c[j>>2]|0)+1;k=c[m+32>>2]|0;c[B>>2]=f;tX(C,D,f,231021,B,G);f=c[C>>2]|0;g=f+28|0;h=c[g>>2]|0;if(((h|0)!=(i|0)?(c[g>>2]=i,c[j>>2]=(c[j>>2]|0)+1,h|0):0)?(z=h+8|0,A=c[z>>2]|0,c[z>>2]=A-1,(A|0)==1):0)UU(h,1,1);c[f+32>>2]=k;A=c[j>>2]|0;c[j>>2]=A-1;if((A|0)==1)UU(i,1,1);uX(i,b)}f=c[m+4>>2]|0;if(!f){g=m+8|0;f=c[g>>2]|0;if((c[f>>2]|0)!=(m|0))do{A=c[g>>2]|0;g=A+8|0;f=c[g>>2]|0}while((c[f>>2]|0)!=(A|0))}else while(1){g=c[f>>2]|0;if(!g)break;else f=g}if((f|0)==(n|0))break;else m=f}}if(!H){c[G>>2]=c[d+104>>2];c[I>>2]=d+108;c[B>>2]=c[G>>2];c[C>>2]=c[I>>2];zY(E,B,C)}c[b+116>>2]=c[d+116>>2];c[b+120>>2]=c[d+120>>2];c[b+124>>2]=c[d+124>>2];z0a(F,d+128|0)|0;f=c[J>>2]|0;g=c[d+144>>2]|0;if((f|0)!=(g|0)){c[J>>2]=g;if(g|0){J=g+(c[(c[g>>2]|0)+-16>>2]|0)+8|0;c[J>>2]=(c[J>>2]|0)+1}if(f|0?(K=f+(c[(c[f>>2]|0)+-16>>2]|0)|0,I=K+8|0,J=c[I>>2]|0,c[I>>2]=J-1,(J|0)==1):0)UU(K,1,1)}c[b+148>>2]=c[d+148>>2];f=c[L>>2]|0;g=c[d+152>>2]|0;if((f|0)==(g|0)){L=d+156|0;L=c[L>>2]|0;d=b+156|0;c[d>>2]=L;l=M;return}c[L>>2]=g;if(g|0){L=g+(c[(c[g>>2]|0)+-16>>2]|0)+8|0;c[L>>2]=(c[L>>2]|0)+1}if(!f){L=d+156|0;L=c[L>>2]|0;d=b+156|0;c[d>>2]=L;l=M;return}f=f+(c[(c[f>>2]|0)+-16>>2]|0)|0;K=f+8|0;L=c[K>>2]|0;c[K>>2]=L-1;if((L|0)!=1){L=d+156|0;L=c[L>>2]|0;d=b+156|0;c[d>>2]=L;l=M;return}UU(f,1,1);L=d+156|0;L=c[L>>2]|0;d=b+156|0;c[d>>2]=L;l=M;return}function uY(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;o=a+8|0;a:do if(c[o>>2]|0?(m=c[a>>2]|0,n=a+4|0,c[a>>2]=n,c[(c[n>>2]|0)+8>>2]=0,c[n>>2]=0,c[o>>2]=0,e=c[m+4>>2]|0,e=(e|0)==0?m:e,e|0):0){m=a+4|0;f=c[b>>2]|0;while(1){if((f|0)==(c[d>>2]|0))break;j=c[f+16>>2]|0;c[e+16>>2]=j;c[e+20>>2]=c[f+20>>2];l=e+8|0;h=c[l>>2]|0;do if(h){g=c[h>>2]|0;if((g|0)==(e|0)){c[h>>2]=0;g=c[h+4>>2]|0;if(!g)break;while(1){h=c[g>>2]|0;if(!h){h=c[g+4>>2]|0;if(!h)break;else g=h}else g=h}h=g;break}else{c[h+4>>2]=0;if(!g)break;while(1){h=c[g>>2]|0;if(!h){h=c[g+4>>2]|0;if(!h)break;else g=h}else g=h}h=g;break}}else h=0;while(0);g=c[n>>2]|0;do if(g){while(1)if(j>>>0<(c[g+16>>2]|0)>>>0){i=c[g>>2]|0;if(!i){k=23;break}else g=i}else{i=c[g+4>>2]|0;if(!i){k=25;break}else g=i}if((k|0)==23){i=g;j=g;break}else if((k|0)==25){i=g;j=g+4|0;break}}else{i=n;j=n}while(0);c[e>>2]=0;c[e+4>>2]=0;c[l>>2]=i;c[j>>2]=e;g=c[c[a>>2]>>2]|0;if(g){c[a>>2]=g;e=c[j>>2]|0}fp(c[m>>2]|0,e);c[o>>2]=(c[o>>2]|0)+1;e=c[f+4>>2]|0;if(!e){e=f+8|0;g=c[e>>2]|0;if((c[g>>2]|0)==(f|0))f=g;else do{l=c[e>>2]|0;e=l+8|0;f=c[e>>2]|0}while((c[f>>2]|0)!=(l|0))}else{while(1){f=c[e>>2]|0;if(!f)break;else e=f}f=e}c[b>>2]=f;if(!h)break a;else e=h}f=c[e+8>>2]|0;if(f){e=f;while(1){f=c[e+8>>2]|0;if(!f)break;else e=f}}aC(a,e)}while(0);e=c[b>>2]|0;j=c[d>>2]|0;if((e|0)==(j|0))return;l=a+4|0;m=a+4|0;i=e;while(1){e=j0a(24)|0;d=i+16|0;h=c[d>>2]|0;d=c[d+4>>2]|0;f=e+16|0;c[f>>2]=h;c[f+4>>2]=d;f=c[l>>2]|0;do if(f){while(1)if((c[f+16>>2]|0)>>>0>h>>>0){g=c[f>>2]|0;if(!g){k=48;break}else f=g}else{g=c[f+4>>2]|0;if(!g){k=50;break}else f=g}if((k|0)==48){g=f;h=f;break}else if((k|0)==50){g=f;h=f+4|0;break}}else{g=l;h=l}while(0);c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=g;c[h>>2]=e;f=c[c[a>>2]>>2]|0;if(f){c[a>>2]=f;e=c[h>>2]|0}fp(c[m>>2]|0,e);c[o>>2]=(c[o>>2]|0)+1;e=c[i+4>>2]|0;if(!e){f=i+8|0;e=c[f>>2]|0;if((c[e>>2]|0)!=(i|0))do{d=c[f>>2]|0;f=d+8|0;e=c[f>>2]|0}while((c[e>>2]|0)!=(d|0))}else while(1){f=c[e>>2]|0;if(!f)break;else e=f}c[b>>2]=e;if((e|0)==(j|0))break;else i=e}return}function vY(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0;p=l;l=l+16|0;j=p+12|0;i=p+8|0;k=p+4|0;m=p;o=(d-b|0)/12|0;n=a+8|0;e=c[n>>2]|0;h=c[a>>2]|0;f=h;if(o>>>0>((e-h|0)/12|0)>>>0){if(h){g=a+4|0;e=c[g>>2]|0;if((e|0)==(f|0))e=h;else{do{m=e;e=e+-12|0;aC(e,c[m+-8>>2]|0)}while((e|0)!=(f|0));e=c[a>>2]|0}c[g>>2]=f;l0a(e);c[n>>2]=0;c[g>>2]=0;c[a>>2]=0;e=0}if(o>>>0>357913941)g1a(a);m=(e|0)/12|0;e=m<<1;e=m>>>0<178956970?(e>>>0<o>>>0?o:e):357913941;if(e>>>0>357913941)g1a(a);m=j0a(e*12|0)|0;c[a+4>>2]=m;c[a>>2]=m;c[n>>2]=m+(e*12|0);BY(a,b,d,o);l=p;return}n=a+4|0;h=((c[n>>2]|0)-h|0)/12|0;g=o>>>0>h>>>0;h=g?b+(h*12|0)|0:d;if((h|0)!=(b|0)){e=b;do{if((f|0)!=(e|0)){c[k>>2]=c[e>>2];c[m>>2]=e+4;c[i>>2]=c[k>>2];c[j>>2]=c[m>>2];uY(f,i,j)}e=e+12|0;f=f+12|0}while((e|0)!=(h|0))}if(g){BY(a,h,d,o-(((c[n>>2]|0)-(c[a>>2]|0)|0)/12|0)|0);l=p;return}e=c[n>>2]|0;if((e|0)!=(f|0))do{o=e;e=e+-12|0;aC(e,c[o+-8>>2]|0)}while((e|0)!=(f|0));c[n>>2]=f;l=p;return}function wY(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=l;l=l+16|0;d=h+4|0;g=h;c[g>>2]=b;if(ZQ(6)|0){f=mr(lr(6)|0,153257,13)|0;f=USa(f,kX()|0)|0;BSa(d,f+(c[(c[f>>2]|0)+-12>>2]|0)|0);e=cUa(d,230580)|0;e=kk[c[(c[e>>2]|0)+28>>2]&511](e,10)|0;dUa(d);VSa(f,e)|0;HSa(f)|0}b=kX()|0;d=(b|0)==0;if(!d)gk[c[(c[b>>2]|0)+8>>2]&1023](b)|0;e=a+36|0;f=c[e>>2]|0;if((f|0)==(c[a+40>>2]|0))vX(a+32|0,g);else{c[f>>2]=c[g>>2];c[e>>2]=(c[e>>2]|0)+4}if(d){l=h;return}gk[c[(c[b>>2]|0)+12>>2]&1023](b)|0;l=h;return}function xY(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;l=a+8|0;f=c[l>>2]|0;m=a+4|0;d=c[m>>2]|0;if(((f-d|0)/12|0)>>>0>=b>>>0){do{c[d+4>>2]=0;c[d+8>>2]=0;c[d>>2]=d+4;d=(c[m>>2]|0)+12|0;c[m>>2]=d;b=b+-1|0}while((b|0)!=0);return}e=c[a>>2]|0;g=(d-e|0)/12|0;h=g+b|0;if(h>>>0>357913941)g1a(a);k=(f-e|0)/12|0;d=k<<1;d=k>>>0<178956970?(d>>>0<h>>>0?h:d):357913941;do if(d)if(d>>>0>357913941){m=db(8)|0;p0a(m,183738);c[m>>2]=110936;hb(m|0,65952,1066)}else{f=j0a(d*12|0)|0;break}else f=0;while(0);g=f+(g*12|0)|0;e=f+(d*12|0)|0;d=g;while(1){c[d+4>>2]=0;c[d+8>>2]=0;c[d>>2]=d+4;b=b+-1|0;if(!b)break;else d=d+12|0}k=f+(h*12|0)|0;j=c[a>>2]|0;d=c[m>>2]|0;if((d|0)==(j|0)){b=g;f=j;d=j}else{b=g;do{i=b;b=b+-12|0;f=d;d=d+-12|0;c[b>>2]=c[d>>2];g=c[f+-8>>2]|0;c[i+-8>>2]=g;h=f+-4|0;n=c[h>>2]|0;c[i+-4>>2]=n;i=i+-8|0;if(!n)c[b>>2]=i;else{c[g+8>>2]=i;n=f+-8|0;c[d>>2]=n;c[n>>2]=0;c[h>>2]=0}}while((d|0)!=(j|0));f=c[a>>2]|0;d=c[m>>2]|0}c[a>>2]=b;c[m>>2]=k;c[l>>2]=e;b=f;if((d|0)!=(b|0))do{n=d;d=d+-12|0;yY(d,c[n+-8>>2]|0)}while((d|0)!=(b|0));if(!f)return;l0a(f);return}function yY(a,b){a=a|0;b=b|0;var d=0,e=0;if(!b)return;yY(a,c[b>>2]|0);yY(a,c[b+4>>2]|0);a=c[b+24>>2]|0;if(a|0?(e=a+8|0,d=c[e>>2]|0,c[e>>2]=d-1,(d|0)==1):0)UU(a,1,1);l0a(b);return}function zY(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;s=b+8|0;a:do if(c[s>>2]|0?(r=c[b>>2]|0,u=b+4|0,c[b>>2]=u,c[(c[u>>2]|0)+8>>2]=0,c[u>>2]=0,c[s>>2]=0,f=c[r+4>>2]|0,f=(f|0)==0?r:f,f|0):0){q=u;r=b+4|0;g=c[d>>2]|0;while(1){if((g|0)==(c[e>>2]|0))break;j=f+16|0;z0a(j,g+16|0)|0;z0a(f+28|0,g+28|0)|0;c[f+40>>2]=c[g+40>>2];p=f+8|0;i=c[p>>2]|0;do if(i){h=c[i>>2]|0;if((h|0)==(f|0)){c[i>>2]=0;h=c[i+4>>2]|0;if(!h)break;while(1){i=c[h>>2]|0;if(!i){i=c[h+4>>2]|0;if(!i)break;else h=i}else h=i}i=h;break}else{c[i+4>>2]=0;if(!h)break;while(1){i=c[h>>2]|0;if(!i){i=c[h+4>>2]|0;if(!i)break;else h=i}else h=i}i=h;break}}else i=0;while(0);h=c[u>>2]|0;do if(h){o=a[j+11>>0]|0;n=o<<24>>24<0;o=n?c[f+20>>2]|0:o&255;n=n?c[j>>2]|0:j;while(1){k=h+16|0;m=a[k+11>>0]|0;l=m<<24>>24<0;m=l?c[h+20>>2]|0:m&255;j=m>>>0<o>>>0?m:o;if((j|0)!=0?(t=cOa(n,l?c[k>>2]|0:k,j)|0,(t|0)!=0):0)if((t|0)<0)k=25;else k=27;else if(o>>>0<m>>>0)k=25;else k=27;if((k|0)==25){j=c[h>>2]|0;if(!j){k=26;break}else h=j}else if((k|0)==27){j=c[h+4>>2]|0;if(!j){k=28;break}else h=j}}if((k|0)==26){j=h;break}else if((k|0)==28){j=h+4|0;break}}else{j=u;h=q}while(0);c[f>>2]=0;c[f+4>>2]=0;c[p>>2]=h;c[j>>2]=f;h=c[c[b>>2]>>2]|0;if(h){c[b>>2]=h;f=c[j>>2]|0}fp(c[r>>2]|0,f);c[s>>2]=(c[s>>2]|0)+1;f=c[g+4>>2]|0;if(!f){f=g+8|0;h=c[f>>2]|0;if((c[h>>2]|0)==(g|0))g=h;else do{p=c[f>>2]|0;f=p+8|0;g=c[f>>2]|0}while((c[g>>2]|0)!=(p|0))}else{while(1){g=c[f>>2]|0;if(!g)break;else f=g}g=f}c[d>>2]=g;if(!i)break a;else f=i}g=c[f+8>>2]|0;if(g){f=g;while(1){g=c[f+8>>2]|0;if(!g)break;else f=g}}tV(b,f)}while(0);f=c[d>>2]|0;i=c[e>>2]|0;if((f|0)==(i|0))return;h=f;while(1){AY(b,h+16|0)|0;f=c[h+4>>2]|0;if(!f){g=h+8|0;f=c[g>>2]|0;if((c[f>>2]|0)!=(h|0))do{e=c[g>>2]|0;g=e+8|0;f=c[g>>2]|0}while((c[f>>2]|0)!=(e|0))}else while(1){g=c[f>>2]|0;if(!g)break;else f=g}c[d>>2]=f;if((f|0)==(i|0))break;else h=f}return}function AY(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;l=j0a(44)|0;f=l+16|0;t0a(f,d);t0a(l+28|0,d+12|0);c[l+40>>2]=c[d+24>>2];e=b+4|0;d=c[e>>2]|0;do if(d){j=a[l+27>>0]|0;i=j<<24>>24<0;j=i?c[l+20>>2]|0:j&255;i=i?c[f>>2]|0:f;h=d;while(1){e=h+16|0;g=a[e+11>>0]|0;f=g<<24>>24<0;g=f?c[h+20>>2]|0:g&255;d=g>>>0<j>>>0?g:j;if((d|0)!=0?(k=cOa(i,f?c[e>>2]|0:e,d)|0,(k|0)!=0):0)if((k|0)<0)f=7;else f=9;else if(j>>>0<g>>>0)f=7;else f=9;if((f|0)==7){d=c[h>>2]|0;if(!d){f=8;break}}else if((f|0)==9){d=c[h+4>>2]|0;if(!d){f=10;break}}h=d}if((f|0)==8){d=h;e=h;break}else if((f|0)==10){d=h;e=h+4|0;break}}else d=e;while(0);c[l>>2]=0;c[l+4>>2]=0;c[l+8>>2]=d;c[e>>2]=l;d=c[c[b>>2]>>2]|0;if(!d){k=l;j=b+4|0;j=c[j>>2]|0;fp(j,k);b=b+8|0;k=c[b>>2]|0;k=k+1|0;c[b>>2]=k;return l|0}c[b>>2]=d;k=c[e>>2]|0;j=b+4|0;j=c[j>>2]|0;fp(j,k);b=b+8|0;k=c[b>>2]|0;k=k+1|0;c[b>>2]=k;return l|0}function BY(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;s=l;l=l+16|0;o=s+12|0;p=s+8|0;q=s+4|0;r=s;n=a+4|0;if((b|0)==(d|0)){l=s;return}i=c[n>>2]|0;do{m=i+4|0;c[m>>2]=0;j=i+8|0;c[j>>2]=0;e=i+4|0;c[i>>2]=e;a=c[b>>2]|0;k=b+4|0;if((a|0)!=(k|0)){h=e;while(1){f=a+16|0;c[r>>2]=h;c[o>>2]=c[r>>2];g=CY(i,o,p,q,f)|0;if(!(c[g>>2]|0)){e=j0a(24)|0;u=f;t=c[u+4>>2]|0;f=e+16|0;c[f>>2]=c[u>>2];c[f+4>>2]=t;f=c[p>>2]|0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=f;c[g>>2]=e;f=c[c[i>>2]>>2]|0;if(f){c[i>>2]=f;e=c[g>>2]|0}fp(c[m>>2]|0,e);c[j>>2]=(c[j>>2]|0)+1}e=c[a+4>>2]|0;if(!e){f=a+8|0;e=c[f>>2]|0;if((c[e>>2]|0)!=(a|0)){a=f;do{u=c[a>>2]|0;a=u+8|0;e=c[a>>2]|0}while((c[e>>2]|0)!=(u|0))}}else while(1){a=c[e>>2]|0;if(!a)break;else e=a}if((e|0)==(k|0))break;else a=e}}b=b+12|0;i=(c[n>>2]|0)+12|0;c[n>>2]=i}while((b|0)!=(d|0));l=s;return}function CY(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0;i=a+4|0;h=c[b>>2]|0;b=h;if((h|0)!=(i|0)?(j=c[f>>2]|0,g=c[h+16>>2]|0,j>>>0>=g>>>0):0){if(g>>>0>=j>>>0){c[d>>2]=b;c[e>>2]=b;d=e;return d|0}g=c[h+4>>2]|0;if(!g){e=h+8|0;g=c[e>>2]|0;if((c[g>>2]|0)!=(h|0))do{f=c[e>>2]|0;e=f+8|0;g=c[e>>2]|0}while((c[g>>2]|0)!=(f|0))}else while(1){e=c[g>>2]|0;if(!e)break;else g=e}if((g|0)!=(i|0)?j>>>0>=(c[g+16>>2]|0)>>>0:0){b=c[i>>2]|0;if(!b){c[d>>2]=i;d=i;return d|0}e=a+4|0;while(1){g=c[b+16>>2]|0;if(j>>>0<g>>>0){g=c[b>>2]|0;if(!g){f=42;break}else{e=b;b=g}}else{if(g>>>0>=j>>>0){f=46;break}e=b+4|0;g=c[e>>2]|0;if(!g){f=45;break}else b=g}}if((f|0)==42){c[d>>2]=b;d=b;return d|0}else if((f|0)==45){c[d>>2]=b;d=e;return d|0}else if((f|0)==46){c[d>>2]=b;d=e;return d|0}}if(!(c[h+4>>2]|0)){c[d>>2]=b;d=h+4|0;return d|0}else{c[d>>2]=g;d=g;return d|0}}e=c[h>>2]|0;if((c[a>>2]|0)!=(h|0)){if(!e){b=h;do{j=b;b=c[b+8>>2]|0}while((c[b>>2]|0)==(j|0))}else{b=e;while(1){g=c[b+4>>2]|0;if(!g)break;else b=g}}f=c[f>>2]|0;if((c[b+16>>2]|0)>>>0>=f>>>0){b=c[i>>2]|0;if(!b){c[d>>2]=i;d=i;return d|0}e=a+4|0;while(1){g=c[b+16>>2]|0;if(f>>>0<g>>>0){g=c[b>>2]|0;if(!g){f=18;break}else{e=b;b=g}}else{if(g>>>0>=f>>>0){f=22;break}e=b+4|0;g=c[e>>2]|0;if(!g){f=21;break}else b=g}}if((f|0)==18){c[d>>2]=b;d=b;return d|0}else if((f|0)==21){c[d>>2]=b;d=e;return d|0}else if((f|0)==22){c[d>>2]=b;d=e;return d|0}}}if(!e){c[d>>2]=h;d=h;return d|0}else{c[d>>2]=b;d=b+4|0;return d|0}return 0}function DY(b){b=b|0;var d=0,e=0;c[b+4>>2]=0;c[b+8>>2]=0;d=b+12|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[b+24>>2]=2;c[b+28>>2]=0;c[b>>2]=83132;c[b+32>>2]=0;c[b+36>>2]=0;c[b+40>>2]=0;c[b+48>>2]=0;c[b+52>>2]=0;c[b+44>>2]=b+48;c[b+60>>2]=0;c[b+64>>2]=0;c[b+56>>2]=b+60;d=b+68|0;c[b+96>>2]=0;c[b+100>>2]=0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[d+12>>2]=0;c[d+16>>2]=0;c[d+20>>2]=0;c[b+92>>2]=b+96;c[b+108>>2]=0;c[b+112>>2]=0;c[b+104>>2]=b+108;d=b+128|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;a[b+140>>0]=1;e=b+144|0;c[b+116>>2]=0;c[b+120>>2]=0;c[b+124>>2]=0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[e+12>>2]=0;E0a(d,231036)|0;return}function EY(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;c[a+116>>2]=0;c[a+120>>2]=0;c[a+124>>2]=0;E0a(a+128|0,231036)|0;l=a+56|0;b=c[l>>2]|0;m=a+60|0;if((b|0)!=(m|0)){j=b;while(1){b=c[j+24>>2]|0;h=kX()|0;i=(h|0)==0;if(!i)gk[c[(c[h>>2]|0)+8>>2]&1023](h)|0;d=c[b+32>>2]|0;g=b+36|0;e=c[g>>2]|0;f=e;a:do if((d|0)==(e|0)){k=d;q=11}else{b=d;do{if((c[b>>2]|0)==(a|0)){k=b;q=11;break a}b=b+4|0}while((b|0)!=(e|0))}while(0);if((q|0)==11?(q=0,(k|0)!=(e|0)):0){d=k+4|0;b=f-d|0;if(b|0)y2a(k|0,d|0,b|0)|0;c[g>>2]=k+(b>>2<<2)}if(!i)gk[c[(c[h>>2]|0)+12>>2]&1023](h)|0;b=c[j+4>>2]|0;if(!b){d=j+8|0;b=c[d>>2]|0;if((c[b>>2]|0)!=(j|0))do{n=c[d>>2]|0;d=n+8|0;b=c[d>>2]|0}while((c[b>>2]|0)!=(n|0))}else while(1){d=c[b>>2]|0;if(!d)break;else b=d}if((b|0)==(m|0))break;else j=b}}b=a+44|0;n=a+48|0;aC(b,c[n>>2]|0);c[a+52>>2]=0;c[b>>2]=n;c[n>>2]=0;yY(l,c[m>>2]|0);c[a+64>>2]=0;c[l>>2]=m;c[m>>2]=0;m=a+80|0;n=a+84|0;b=c[n>>2]|0;l=c[m>>2]|0;d=l;if((b|0)!=(l|0)){l=0;do{b=c[d+(l*12|0)>>2]|0;k=d+(l*12|0)+4|0;if((b|0)!=(k|0)){j=b;while(1){b=c[j+24>>2]|0;h=kX()|0;i=(h|0)==0;if(!i)gk[c[(c[h>>2]|0)+8>>2]&1023](h)|0;d=c[b+32>>2]|0;g=b+36|0;e=c[g>>2]|0;f=e;b:do if((d|0)==(e|0)){o=d;q=45}else{b=d;do{if((c[b>>2]|0)==(a|0)){o=b;q=45;break b}b=b+4|0}while((b|0)!=(e|0))}while(0);if((q|0)==45?(q=0,(o|0)!=(e|0)):0){d=o+4|0;b=f-d|0;if(b|0)y2a(o|0,d|0,b|0)|0;c[g>>2]=o+(b>>2<<2)}if(!i)gk[c[(c[h>>2]|0)+12>>2]&1023](h)|0;b=c[j+4>>2]|0;if(!b){d=j+8|0;b=c[d>>2]|0;if((c[b>>2]|0)!=(j|0))do{j=c[d>>2]|0;d=j+8|0;b=c[d>>2]|0}while((c[b>>2]|0)!=(j|0))}else while(1){d=c[b>>2]|0;if(!d)break;else b=d}if((b|0)==(k|0))break;else j=b}}l=l+1|0;b=c[n>>2]|0;d=c[m>>2]|0}while(l>>>0<((b-d|0)/12|0)>>>0)}f=c[a+68>>2]|0;g=a+72|0;e=c[g>>2]|0;if((e|0)!=(f|0)){b=e;do{o=b;b=b+-12|0;aC(b,c[o+-8>>2]|0)}while((b|0)!=(f|0));b=c[n>>2]|0;d=c[m>>2]|0}c[g>>2]=f;if((b|0)!=(d|0))do{o=b;b=b+-12|0;yY(b,c[o+-8>>2]|0)}while((b|0)!=(d|0));c[n>>2]=d;k=a+92|0;b=c[k>>2]|0;l=a+96|0;if((b|0)==(l|0)){q=c[l>>2]|0;eY(k,q);q=a+100|0;c[q>>2]=0;c[k>>2]=l;c[l>>2]=0;return}j=b;while(1){b=c[j+28>>2]|0;h=kX()|0;i=(h|0)==0;if(!i)gk[c[(c[h>>2]|0)+8>>2]&1023](h)|0;d=c[b+32>>2]|0;g=b+36|0;e=c[g>>2]|0;f=e;c:do if((d|0)==(e|0)){p=d;q=66}else{b=d;do{if((c[b>>2]|0)==(a|0)){p=b;q=66;break c}b=b+4|0}while((b|0)!=(e|0))}while(0);if((q|0)==66?(q=0,(p|0)!=(e|0)):0){d=p+4|0;b=f-d|0;if(b|0)y2a(p|0,d|0,b|0)|0;c[g>>2]=p+(b>>2<<2)}if(!i)gk[c[(c[h>>2]|0)+12>>2]&1023](h)|0;b=c[j+4>>2]|0;if(!b){d=j+8|0;b=c[d>>2]|0;if((c[b>>2]|0)!=(j|0))do{o=c[d>>2]|0;d=o+8|0;b=c[d>>2]|0}while((c[b>>2]|0)!=(o|0))}else while(1){d=c[b>>2]|0;if(!d)break;else b=d}if((b|0)==(l|0))break;else j=b}q=c[l>>2]|0;eY(k,q);q=a+100|0;c[q>>2]=0;c[k>>2]=l;c[l>>2]=0;return}function FY(a){a=a|0;var b=0,d=0,e=0;b=c[a>>2]|0;if(!b){c[a>>2]=0;return}b=b+(c[(c[b>>2]|0)+-16>>2]|0)|0;e=b+8|0;d=c[e>>2]|0;c[e>>2]=d-1;if((d|0)!=1){c[a>>2]=0;return}UU(b,1,1);c[a>>2]=0;return}function GY(a){a=a|0;tV(a,c[a+4>>2]|0);return}function HY(a){a=a|0;eY(a,c[a+4>>2]|0);return}function IY(a){a=a|0;var b=0,d=0,e=0,f=0;d=c[a>>2]|0;if(!d)return;e=a+4|0;b=c[e>>2]|0;if((b|0)==(d|0))b=d;else{do{f=b;b=b+-12|0;yY(b,c[f+-8>>2]|0)}while((b|0)!=(d|0));b=c[a>>2]|0}c[e>>2]=d;l0a(b);return}function JY(a){a=a|0;var b=0,d=0,e=0,f=0;d=c[a>>2]|0;if(!d)return;e=a+4|0;b=c[e>>2]|0;if((b|0)==(d|0))b=d;else{do{f=b;b=b+-12|0;aC(b,c[f+-8>>2]|0)}while((b|0)!=(d|0));b=c[a>>2]|0}c[e>>2]=d;l0a(b);return}function KY(a){a=a|0;yY(a,c[a+4>>2]|0);return}function LY(a){a=a|0;aC(a,c[a+4>>2]|0);return}function MY(a){a=a|0;var b=0;b=c[a>>2]|0;if(!b)return;c[a+4>>2]=b;l0a(b);return}function NY(a){a=a|0;Sr(a);return}function OY(a){a=a|0;Sr(a);l0a(a);return}function PY(a){a=a|0;var b=0;a=j0a(84)|0;c[a+4>>2]=0;c[a+8>>2]=0;b=a+12|0;c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;c[a+24>>2]=2;b=a+28|0;c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;c[b+12>>2]=0;c[b+16>>2]=0;c[b+20>>2]=0;c[b+24>>2]=0;c[a>>2]=83304;c[a+56>>2]=519;c[a+60>>2]=0;c[a+64>>2]=-1;c[a+68>>2]=7680;c[a+72>>2]=7680;c[a+76>>2]=7680;c[a+80>>2]=-1;return a|0}function QY(a,b){a=a|0;b=b|0;var d=0;d=j0a(84)|0;Nr(d,a,b);c[d>>2]=83304;c[d+56>>2]=c[a+56>>2];c[d+60>>2]=c[a+60>>2];c[d+64>>2]=c[a+64>>2];c[d+68>>2]=c[a+68>>2];c[d+72>>2]=c[a+72>>2];c[d+76>>2]=c[a+76>>2];c[d+80>>2]=c[a+80>>2];return d|0}function RY(a,b){a=a|0;b=b|0;if(!b){b=0;return b|0}b=(y1a(b,42800,47336,0)|0)!=0;return b|0}function SY(a){a=a|0;return 186332}function TY(a){a=a|0;return 153287}function UY(a){a=a|0;return 24}function VY(a,b){a=a|0;b=b|0;var d=0,e=0;if((a|0)==(b|0)){b=0;return b|0}if(!a)e2a();d=c[(c[(c[a>>2]|0)+-4>>2]|0)+4>>2]|0;e=c[(c[(c[b>>2]|0)+-4>>2]|0)+4>>2]|0;if(d>>>0<e>>>0){b=-1;return b|0}if((d|0)!=(e|0)){b=1;return b|0}d=c[a+56>>2]|0;e=c[b+56>>2]|0;if((d|0)<(e|0)){b=-1;return b|0}if((e|0)<(d|0)){b=1;return b|0}d=c[a+60>>2]|0;e=c[b+60>>2]|0;if((d|0)<(e|0)){b=-1;return b|0}if((e|0)<(d|0)){b=1;return b|0}d=c[a+64>>2]|0;e=c[b+64>>2]|0;if(d>>>0<e>>>0){b=-1;return b|0}if(e>>>0<d>>>0){b=1;return b|0}d=c[a+68>>2]|0;e=c[b+68>>2]|0;if((d|0)<(e|0)){b=-1;return b|0}if((e|0)<(d|0)){b=1;return b|0}d=c[a+72>>2]|0;e=c[b+72>>2]|0;if((d|0)<(e|0)){b=-1;return b|0}if((e|0)<(d|0)){b=1;return b|0}d=c[a+76>>2]|0;e=c[b+76>>2]|0;if((d|0)<(e|0)){b=-1;return b|0}if((e|0)<(d|0)){b=1;return b|0}else{a=c[a+80>>2]|0;b=c[b+80>>2]|0;return (a>>>0<b>>>0?-1:b>>>0<a>>>0&1)|0}return 0}function WY(a,b){a=a|0;b=b|0;Jk[c[(c[b>>2]|0)+8>>2]&1023](b,2960);return 1}function XY(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;g=c[d+832>>2]|0;d=c[b+68>>2]|0;if((d+-34055|0)>>>0<=1)d=(a[g+1228>>0]|0)==0?((d|0)==34055?7682:7683):d;e=c[b+72>>2]|0;if((e+-34055|0)>>>0<=1)e=(a[g+1228>>0]|0)==0?((e|0)==34055?7682:7683):e;f=c[b+76>>2]|0;if((f+-34055|0)>>>0<=1)f=(a[g+1228>>0]|0)==0?((f|0)==34055?7682:7683):f;ii(c[b+56>>2]|0,c[b+60>>2]|0,c[b+64>>2]|0);ki(d|0,e|0,f|0);ji(c[b+80>>2]|0);return}function YY(a){a=a|0;return c[a+56>>2]|0}function ZY(a,b){a=a|0;b=b|0;var d=0;d=a+56|0;if((c[d>>2]|0)==(b|0))return;c[d>>2]=b;Bk[c[(c[a>>2]|0)+208>>2]&2047](a);return}function _Y(a){a=a|0;Sr(a);return}function $Y(a){a=a|0;Sr(a);l0a(a);return}function aZ(b){b=b|0;var d=0;b=j0a(192)|0;c[b+4>>2]=0;c[b+8>>2]=0;d=b+12|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[b+24>>2]=2;d=b+28|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[d+12>>2]=0;c[d+16>>2]=0;c[d+20>>2]=0;c[d+24>>2]=0;c[b>>2]=83516;Qra(b+56|0);a[b+184>>0]=0;return b|0}function bZ(b,d){b=b|0;d=d|0;var e=0;e=j0a(192)|0;Nr(e,b,d);c[e>>2]=83516;h[e+56>>3]=+h[b+56>>3];h[e+64>>3]=+h[b+64>>3];h[e+72>>3]=+h[b+72>>3];h[e+80>>3]=+h[b+80>>3];h[e+88>>3]=+h[b+88>>3];h[e+96>>3]=+h[b+96>>3];h[e+104>>3]=+h[b+104>>3];h[e+112>>3]=+h[b+112>>3];h[e+120>>3]=+h[b+120>>3];h[e+128>>3]=+h[b+128>>3];h[e+136>>3]=+h[b+136>>3];h[e+144>>3]=+h[b+144>>3];h[e+152>>3]=+h[b+152>>3];h[e+160>>3]=+h[b+160>>3];h[e+168>>3]=+h[b+168>>3];h[e+176>>3]=+h[b+176>>3];a[e+184>>0]=a[b+184>>0]|0;return e|0}function cZ(a,b){a=a|0;b=b|0;if(!b){b=0;return b|0}b=(y1a(b,42800,47368,0)|0)!=0;return b|0}function dZ(a){a=a|0;return 186332}function eZ(a){a=a|0;return 153383}function fZ(a){a=a|0;return 19}function gZ(a){a=a|0;return 1}function hZ(a,b){a=a|0;b=b|0;var d=0,e=0;if((a|0)==(b|0)){b=0;return b|0}if(!a)e2a();d=c[(c[(c[a>>2]|0)+-4>>2]|0)+4>>2]|0;e=c[(c[(c[b>>2]|0)+-4>>2]|0)+4>>2]|0;if(d>>>0<e>>>0){b=-1;return b|0}if((d|0)!=(e|0)){b=1;return b|0}d=a+56|0;a=b+56|0;if((Nra(d,a)|0)<0){b=-1;return b|0}b=(Nra(a,d)|0)>>>31;return b|0}function iZ(a,b){a=a|0;b=b|0;var d=0,e=0;b=l;l=l+16|0;a=b;if(!(ZQ(3)|0)){l=b;return}d=mr(lr(3)|0,153335,47)|0;BSa(a,d+(c[(c[d>>2]|0)+-12>>2]|0)|0);e=cUa(a,230580)|0;e=kk[c[(c[e>>2]|0)+28>>2]&511](e,10)|0;dUa(a);VSa(d,e)|0;HSa(d)|0;l=b;return}function jZ(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0;c[a>>2]=83728;f=a+80|0;b=a+88|0;if(c[b>>2]|0?(d=c[a+84>>2]|0,e=(c[f>>2]|0)+4|0,h=c[d>>2]|0,c[h+4>>2]=c[e>>2],c[c[e>>2]>>2]=h,c[b>>2]=0,(d|0)!=(f|0)):0)do{b=d;d=c[d+4>>2]|0;e=c[b+8>>2]|0;if(e|0?(i=e+8|0,h=c[i>>2]|0,c[i>>2]=h-1,(h|0)==1):0)UU(e,1,1);l0a(b)}while((d|0)!=(f|0));f=a+68|0;b=a+76|0;if(c[b>>2]|0?(g=c[a+72>>2]|0,i=(c[f>>2]|0)+4|0,h=c[g>>2]|0,c[h+4>>2]=c[i>>2],c[c[i>>2]>>2]=h,c[b>>2]=0,(g|0)!=(f|0)):0){b=g;do{d=b;b=c[b+4>>2]|0;e=c[d+8>>2]|0;if(e|0?(h=e+8|0,i=c[h>>2]|0,c[h>>2]=i-1,(i|0)==1):0)UU(e,1,1);l0a(d)}while((b|0)!=(f|0))}c[a+12>>2]=83012;b=c[a+16>>2]|0;Ti(b+4|0)|0;if(!b){SU(a);return}Bk[c[(c[b>>2]|0)+4>>2]&2047](b);SU(a);return}function kZ(a){a=a|0;jZ(a);l0a(a);return}function lZ(a){a=a|0;c[a>>2]=83748;AZ(a+44|0,c[a+48>>2]|0);Is(a);return}function mZ(a){a=a|0;c[a>>2]=83748;AZ(a+44|0,c[a+48>>2]|0);Is(a);l0a(a);return}function nZ(a,b){a=a|0;b=b|0;if(!b){b=a+56|0;c[b>>2]=(c[b>>2]|0)+1}else c[a+56>>2]=c[b+12>>2];b=a+60|0;c[b>>2]=(c[b>>2]|0)+1;return}function oZ(a){a=a|0;c[a+60>>2]=0;c[a+64>>2]=0;h[a+72>>3]=0.0;c[a+80>>2]=0;h[a+88>>3]=0.0;return}function pZ(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,i=0,j=0.0;d=l;l=l+16|0;g=d;i=c[a+60>>2]|0;j=(i|0)==0?1.0:+(i>>>0);i=mr(b,153904,36)|0;BSa(g,i+(c[(c[i>>2]|0)+-12>>2]|0)|0);f=cUa(g,230580)|0;f=kk[c[(c[f>>2]|0)+28>>2]&511](f,10)|0;dUa(g);VSa(i,f)|0;HSa(i)|0;i=mr(b,153941,30)|0;i=mr(QSa(i,c[a+28>>2]|0)|0,153972,29)|0;i=mr(QSa(i,c[a+32>>2]|0)|0,154002,22)|0;f=a+36|0;i=QSa(i,c[f>>2]|0)|0;BSa(g,i+(c[(c[i>>2]|0)+-12>>2]|0)|0);e=cUa(g,230580)|0;e=kk[c[(c[e>>2]|0)+28>>2]&511](e,10)|0;dUa(g);VSa(i,e)|0;HSa(i)|0;i=mr(b,154025,23)|0;i=mr(QSa(i,c[a+80>>2]|0)|0,154049,16)|0;e=a+88|0;i=mr(TSa(i,+h[e>>3])|0,154066,18)|0;e=mr(TSa(i,+h[e>>3]/j*1.0e3)|0,180469,2)|0;BSa(g,e+(c[(c[e>>2]|0)+-12>>2]|0)|0);i=cUa(g,230580)|0;i=kk[c[(c[i>>2]|0)+28>>2]&511](i,10)|0;dUa(g);VSa(e,i)|0;HSa(e)|0;e=mr(b,154085,21)|0;e=mr(QSa(e,c[a+64>>2]|0)|0,154107,14)|0;i=a+72|0;e=mr(TSa(e,+h[i>>3])|0,154066,18)|0;i=mr(TSa(e,+h[i>>3]/j*1.0e3)|0,180469,2)|0;BSa(g,i+(c[(c[i>>2]|0)+-12>>2]|0)|0);e=cUa(g,230580)|0;e=kk[c[(c[e>>2]|0)+28>>2]&511](e,10)|0;dUa(g);VSa(i,e)|0;HSa(i)|0;i=mr(b,153664,27)|0;e=a+40|0;i=mr(QSa(i,c[e>>2]|0)|0,153692,20)|0;e=TSa(i,+((c[f>>2]|0)>>>0)/+((c[e>>2]|0)>>>0))|0;BSa(g,e+(c[(c[e>>2]|0)+-12>>2]|0)|0);f=cUa(g,230580)|0;f=kk[c[(c[f>>2]|0)+28>>2]&511](f,10)|0;dUa(g);VSa(e,f)|0;HSa(e)|0;Jk[c[(c[a>>2]|0)+24>>2]&1023](a,b);l=d;return}function qZ(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;w=l;l=l+16|0;v=w;f=mr(b,153562,38)|0;BSa(v,f+(c[(c[f>>2]|0)+-12>>2]|0)|0);u=cUa(v,230580)|0;u=kk[c[(c[u>>2]|0)+28>>2]&511](u,10)|0;dUa(v);VSa(f,u)|0;HSa(f)|0;f=c[a+44>>2]|0;u=a+48|0;if((f|0)==(u|0)){f=0;g=0;e=0;d=0}else{g=0;e=0;d=0;j=0;do{k=c[f+48>>2]|0;s=k+92|0;p=c[s>>2]|0;o=(p|0)==0;if(o)h=0;else{h=0;i=p;do{h=h+1|0;i=c[i+56>>2]|0}while((i|0)!=0)}j=h+j|0;t=k+64|0;d=(c[t>>2]|0)+d|0;r=k+76|0;n=c[r>>2]|0;e=n+e|0;q=k+88|0;m=k+60|0;k=c[m>>2]|0;if(o)h=0;else{h=0;i=p;do{h=h+1|0;i=c[i+56>>2]|0}while((i|0)!=0)}g=(N(h+n|0,k)|0)+g|0;k=mr(b,153713,8)|0;k=mr(QSa(k,c[m>>2]|0)|0,153722,38)|0;i=c[s>>2]|0;if(!i)h=0;else{h=0;do{h=h+1|0;i=c[i+56>>2]|0}while((i|0)!=0)}h=mr(QSa(k,h)|0,153761,30)|0;h=mr(QSa(h,c[t>>2]|0)|0,153792,21)|0;h=mr(QSa(h,c[r>>2]|0)|0,153814,28)|0;h=QSa(h,c[q>>2]|0)|0;BSa(v,h+(c[(c[h>>2]|0)+-12>>2]|0)|0);t=cUa(v,230580)|0;t=kk[c[(c[t>>2]|0)+28>>2]&511](t,10)|0;dUa(v);VSa(h,t)|0;HSa(h)|0;h=c[f+4>>2]|0;if(!h){h=f+8|0;i=c[h>>2]|0;if((c[i>>2]|0)==(f|0))f=i;else do{t=c[h>>2]|0;h=t+8|0;f=c[h>>2]|0}while((c[f>>2]|0)!=(t|0))}else{f=h;while(1){h=c[f>>2]|0;if(!h)break;else f=h}}}while((f|0)!=(u|0));f=j}u=QSa(mr(QSa(mr(QSa(mr(QSa(mr(b,153601,21)|0,f)|0,153623,12)|0,d)|0,153636,13)|0,e)|0,153650,13)|0,g)|0;BSa(v,u+(c[(c[u>>2]|0)+-12>>2]|0)|0);d=cUa(v,230580)|0;d=kk[c[(c[d>>2]|0)+28>>2]&511](d,10)|0;dUa(v);VSa(u,d)|0;HSa(u)|0;u=mr(b,153664,27)|0;d=a+40|0;u=mr(QSa(u,c[d>>2]|0)|0,153692,20)|0;d=TSa(u,+(g>>>0)/+((c[d>>2]|0)>>>0))|0;BSa(v,d+(c[(c[d>>2]|0)+-12>>2]|0)|0);u=cUa(v,230580)|0;u=kk[c[(c[u>>2]|0)+28>>2]&511](u,10)|0;dUa(v);VSa(d,u)|0;HSa(d)|0;d=a+36|0;if((g|0)==(c[d>>2]|0)){l=w;return}b=mr(b,153843,33)|0;b=mr(QSa(b,c[d>>2]|0)|0,153877,26)|0;b=PSa(b,(c[d>>2]|0)-g|0)|0;BSa(v,b+(c[(c[b>>2]|0)+-12>>2]|0)|0);a=cUa(v,230580)|0;a=kk[c[(c[a>>2]|0)+28>>2]&511](a,10)|0;dUa(v);VSa(b,a)|0;HSa(b)|0;l=w;return}function rZ(a,b,d){a=a|0;b=+b;d=d|0;var e=0,f=0,g=0;e=c[a+44>>2]|0;g=a+48|0;if(!((e|0)!=(g|0)&+h[d>>3]>0.0))return;f=e;while(1){zZ(c[f+48>>2]|0,0.0,d);a=c[f+4>>2]|0;if(!a){e=f+8|0;a=c[e>>2]|0;if((c[a>>2]|0)!=(f|0))do{f=c[e>>2]|0;e=f+8|0;a=c[e>>2]|0}while((c[a>>2]|0)!=(f|0))}else while(1){e=c[a>>2]|0;if(!e)break;else a=e}if((a|0)!=(g|0)&+h[d>>3]>0.0)f=a;else break}return}function sZ(a){a=a|0;var b=0,d=0,e=0;b=c[a+44>>2]|0;e=a+48|0;if((b|0)==(e|0))return;d=b;while(1){yZ(c[d+48>>2]|0);a=c[d+4>>2]|0;if(!a){b=d+8|0;a=c[b>>2]|0;if((c[a>>2]|0)!=(d|0))do{d=c[b>>2]|0;b=d+8|0;a=c[b>>2]|0}while((c[a>>2]|0)!=(d|0))}else while(1){b=c[a>>2]|0;if(!b)break;else a=b}if((a|0)==(e|0))break;else d=a}return}function tZ(a){a=a|0;var b=0,d=0,e=0;b=c[a+44>>2]|0;e=a+48|0;if((b|0)==(e|0))return;d=b;while(1){wZ(c[d+48>>2]|0);a=c[d+4>>2]|0;if(!a){b=d+8|0;a=c[b>>2]|0;if((c[a>>2]|0)!=(d|0))do{d=c[b>>2]|0;b=d+8|0;a=c[b>>2]|0}while((c[a>>2]|0)!=(d|0))}else while(1){b=c[a>>2]|0;if(!b)break;else a=b}if((a|0)==(e|0))break;else d=a}return}function uZ(a){a=a|0;var b=0,d=0,e=0;b=c[a+44>>2]|0;e=a+48|0;if((b|0)==(e|0))return;d=b;while(1){vZ(c[d+48>>2]|0);a=c[d+4>>2]|0;if(!a){b=d+8|0;a=c[b>>2]|0;if((c[a>>2]|0)!=(d|0))do{d=c[b>>2]|0;b=d+8|0;a=c[b>>2]|0}while((c[a>>2]|0)!=(d|0))}else while(1){b=c[a>>2]|0;if(!b)break;else a=b}if((a|0)==(e|0))break;else d=a}return}function vZ(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;o=a+92|0;b=c[o>>2]|0;if(b|0){p=a+28|0;do{n=b+8|0;c[n>>2]=(c[n>>2]|0)+1;k=b;b=c[b+56>>2]|0;l=c[k+60>>2]|0;if(l|0){m=l+8|0;c[m>>2]=(c[m>>2]|0)+1;h=c[p>>2]|0;i=l+216|0;j=l+220|0;d=c[j>>2]|0;e=c[i>>2]|0;f=d-e>>2;do if(f>>>0<=h>>>0){g=h+1|0;if(g>>>0>f>>>0){pD(i,g-f|0);break}if(g>>>0<f>>>0){f=e+(g<<2)|0;if((f|0)!=(d|0))do{d=d+-4|0;e=c[d>>2]|0;if(e|0?(s=e+8|0,g=c[s>>2]|0,c[s>>2]=g-1,(g|0)==1):0)UU(e,1,1);c[d>>2]=0}while((d|0)!=(f|0));c[j>>2]=f}}while(0);d=(c[i>>2]|0)+(h<<2)|0;e=c[d>>2]|0;if(e|0?(c[d>>2]=0,j=e+8|0,s=c[j>>2]|0,c[j>>2]=s-1,(s|0)==1):0)UU(e,1,1);s=c[m>>2]|0;c[m>>2]=s-1;if((s|0)==1)UU(l,1,1)}s=c[n>>2]|0;c[n>>2]=s-1;if((s|0)==1)UU(k,1,1)}while((b|0)!=0)}c[o>>2]=0;c[a+96>>2]=0;f=a+80|0;b=a+88|0;if(c[b>>2]|0?(q=c[a+84>>2]|0,s=(c[f>>2]|0)+4|0,p=c[q>>2]|0,c[p+4>>2]=c[s>>2],c[c[s>>2]>>2]=p,c[b>>2]=0,(q|0)!=(f|0)):0){b=q;do{d=b;b=c[b+4>>2]|0;e=c[d+8>>2]|0;if(e|0?(q=e+8|0,s=c[q>>2]|0,c[q>>2]=s-1,(s|0)==1):0)UU(e,1,1);l0a(d)}while((b|0)!=(f|0))}f=a+68|0;b=a+76|0;if(c[b>>2]|0?(r=c[a+72>>2]|0,s=(c[f>>2]|0)+4|0,q=c[r>>2]|0,c[q+4>>2]=c[s>>2],c[c[s>>2]>>2]=q,c[b>>2]=0,(r|0)!=(f|0)):0){b=r;do{d=b;b=c[b+4>>2]|0;e=c[d+8>>2]|0;if(e|0?(r=e+8|0,s=c[r>>2]|0,c[r>>2]=s-1,(s|0)==1):0)UU(e,1,1);l0a(d)}while((b|0)!=(f|0))}q=a+64|0;r=c[q>>2]|0;c[q>>2]=0;q=N(c[a+60>>2]|0,r)|0;s=c[a+24>>2]|0;a=s+36|0;c[a>>2]=(c[a>>2]|0)-q;a=s+32|0;c[a>>2]=(c[a>>2]|0)-r;s=s+64|0;c[s>>2]=(c[s>>2]|0)+r;return}function wZ(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;b=a+12|0;gk[c[(c[b>>2]|0)+8>>2]&1023](b)|0;if(c[a+88>>2]|0)xZ(a);gk[c[(c[b>>2]|0)+12>>2]&1023](b)|0;p=a+92|0;d=c[p>>2]|0;if(!d){s=0;t=a+24|0;t=c[t>>2]|0;r=t+32|0;q=c[r>>2]|0;q=q+s|0;c[r>>2]=q;t=t+28|0;r=c[t>>2]|0;s=r-s|0;c[t>>2]=s;yZ(a);return}q=a+68|0;r=a+76|0;s=a+96|0;t=a+28|0;b=0;do{o=d+8|0;c[o>>2]=(c[o>>2]|0)+1;f=d+56|0;n=d;d=c[f>>2]|0;c[o>>2]=(c[o>>2]|0)+1;m=j0a(12)|0;c[m>>2]=0;c[m+8>>2]=n;c[o>>2]=(c[o>>2]|0)+1;c[m+4>>2]=q;l=c[q>>2]|0;c[m>>2]=l;c[l+4>>2]=m;c[q>>2]=m;c[r>>2]=(c[r>>2]|0)+1;m=c[o>>2]|0;c[o>>2]=m-1;if((m|0)==1)UU(n,1,1);g=n+52|0;h=c[g>>2]|0;e=c[f>>2]|0;if(!h)c[p>>2]=e;else{c[h+56>>2]=e;e=c[f>>2]|0}c[((e|0)==0?s:e+52|0)>>2]=h;c[f>>2]=0;c[g>>2]=0;b=b+1|0;l=c[n+60>>2]|0;if(l|0){m=l+8|0;c[m>>2]=(c[m>>2]|0)+1;i=c[t>>2]|0;j=l+216|0;k=l+220|0;e=c[k>>2]|0;f=c[j>>2]|0;g=e-f>>2;do if(g>>>0<=i>>>0){h=i+1|0;if(h>>>0>g>>>0){pD(j,h-g|0);break}if(h>>>0<g>>>0){g=f+(h<<2)|0;if((g|0)!=(e|0))do{e=e+-4|0;f=c[e>>2]|0;if(f|0?(u=f+8|0,h=c[u>>2]|0,c[u>>2]=h-1,(h|0)==1):0)UU(f,1,1);c[e>>2]=0}while((e|0)!=(g|0));c[k>>2]=g}}while(0);e=(c[j>>2]|0)+(i<<2)|0;f=c[e>>2]|0;if(f|0?(c[e>>2]=0,k=f+8|0,u=c[k>>2]|0,c[k>>2]=u-1,(u|0)==1):0)UU(f,1,1);u=c[m>>2]|0;c[m>>2]=u-1;if((u|0)==1)UU(l,1,1)}u=c[o>>2]|0;c[o>>2]=u-1;if((u|0)==1)UU(n,1,1)}while((d|0)!=0);u=a+24|0;u=c[u>>2]|0;t=u+32|0;s=c[t>>2]|0;s=s+b|0;c[t>>2]=s;u=u+28|0;t=c[u>>2]|0;t=t-b|0;c[u>>2]=t;yZ(a);return}function xZ(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=a+80|0;o=a+88|0;m=c[o>>2]|0;if(!m)return;n=a+84|0;b=c[n>>2]|0;d=b;if((p|0)==(d|0))b=m;else{k=a+68|0;l=a+76|0;i=a+92|0;j=a+96|0;do{f=c[b+8>>2]|0;b=(f|0)==0;if(!b){h=f+8|0;c[h>>2]=(c[h>>2]|0)+1}e=j0a(12)|0;c[e>>2]=0;c[e+8>>2]=f;if(!b){h=f+8|0;c[h>>2]=(c[h>>2]|0)+1}c[e+4>>2]=k;h=c[k>>2]|0;c[e>>2]=h;c[h+4>>2]=e;c[k>>2]=e;c[l>>2]=(c[l>>2]|0)+1;if(!b?(g=f+8|0,h=c[g>>2]|0,c[g>>2]=h-1,(h|0)==1):0)UU(f,1,1);g=f+52|0;h=c[g>>2]|0;e=f+56|0;b=c[e>>2]|0;if(!h)c[i>>2]=b;else{c[h+56>>2]=b;b=c[e>>2]|0}c[((b|0)==0?j:b+52|0)>>2]=h;c[e>>2]=0;c[g>>2]=0;b=c[d+4>>2]|0;d=b}while((p|0)!=(d|0));b=c[o>>2]|0}a=c[a+24>>2]|0;l=a+32|0;c[l>>2]=(c[l>>2]|0)+m;a=a+28|0;c[a>>2]=(c[a>>2]|0)-m;if(!b)return;b=c[n>>2]|0;n=(c[p>>2]|0)+4|0;m=c[b>>2]|0;c[m+4>>2]=c[n>>2];c[c[n>>2]>>2]=m;c[o>>2]=0;if((b|0)==(p|0))return;do{d=b;b=c[b+4>>2]|0;e=c[d+8>>2]|0;if(e|0?(n=e+8|0,o=c[n>>2]|0,c[n>>2]=o-1,(o|0)==1):0)UU(e,1,1);l0a(d)}while((b|0)!=(p|0));return}function yZ(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0;h=l;l=l+16|0;e=h;b=a+12|0;gk[c[(c[b>>2]|0)+8>>2]&1023](b)|0;if(c[a+88>>2]|0)xZ(a);gk[c[(c[b>>2]|0)+12>>2]&1023](b)|0;g=a+68|0;f=a+72|0;b=c[f>>2]|0;d=b;if((g|0)!=(d|0))do{c[e>>2]=c[(c[b+8>>2]|0)+12>>2];Uh(1,e|0);b=c[d+4>>2]|0;d=b}while((g|0)!=(d|0));d=a+76|0;e=c[d>>2]|0;i=a+64|0;c[i>>2]=(c[i>>2]|0)-e;i=N(c[a+60>>2]|0,e)|0;a=c[a+24>>2]|0;b=a+36|0;c[b>>2]=(c[b>>2]|0)-i;b=a+32|0;c[b>>2]=(c[b>>2]|0)-e;a=a+64|0;c[a>>2]=(c[a>>2]|0)+e;if(!e){l=h;return}b=c[f>>2]|0;i=(c[g>>2]|0)+4|0;a=c[b>>2]|0;c[a+4>>2]=c[i>>2];c[c[i>>2]>>2]=a;c[d>>2]=0;if((b|0)==(g|0)){l=h;return}do{d=b;b=c[b+4>>2]|0;e=c[d+8>>2]|0;if(e|0?(a=e+8|0,i=c[a>>2]|0,c[a>>2]=i-1,(i|0)==1):0)UU(e,1,1);l0a(d)}while((b|0)!=(g|0));l=h;return}function zZ(b,d,e){b=b|0;d=+d;e=e|0;var f=0,g=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;w=l;l=l+16|0;v=w;f=b+12|0;gk[c[(c[f>>2]|0)+8>>2]&1023](f)|0;if(c[b+88>>2]|0)xZ(b);gk[c[(c[f>>2]|0)+12>>2]&1023](f)|0;s=b+60|0;f=c[s>>2]|0;g=(f|0)==0;if(!g?(u=c[b+24>>2]|0,(c[u+36>>2]|0)>>>0<=(c[u+40>>2]|0)>>>0):0){l=w;return}t=b+76|0;i=c[t>>2]|0;if(!((i|0)!=0&!(+h[e>>3]<=0.0))){l=w;return}u=b+24|0;j=c[u>>2]|0;j=(c[j+36>>2]|0)-(c[j+40>>2]|0)|0;if(!g)i=~~+M(+(+(j>>>0)/+(f>>>0)))>>>0;if(ZQ(4)|0){r=mr(lr(4)|0,153429,34)|0;r=mr(QSa(r,c[(c[u>>2]|0)+36>>2]|0)|0,153464,34)|0;r=QSa(r,c[(c[u>>2]|0)+40>>2]|0)|0;BSa(v,r+(c[(c[r>>2]|0)+-12>>2]|0)|0);q=cUa(v,230580)|0;q=kk[c[(c[q>>2]|0)+28>>2]&511](q,10)|0;dUa(v);VSa(r,q)|0;HSa(r)|0}if(ZQ(4)|0){r=mr(QSa(mr(QSa(mr(lr(4)|0,153499,19)|0,j)|0,153519,26)|0,i)|0,153546,6)|0;r=mr(RSa(r,c[t>>2]|0)|0,153553,8)|0;BSa(v,r+(c[(c[r>>2]|0)+-12>>2]|0)|0);q=cUa(v,230580)|0;q=kk[c[(c[q>>2]|0)+28>>2]&511](q,10)|0;dUa(v);VSa(r,q)|0;HSa(r)|0}if((a[223712]|0)==0?g2a(223712)|0:0){h[27966]=1.0e-06;fc(1,v|0)|0;r=c[v>>2]|0;r=o2a(r|0,((r|0)<0)<<31>>31|0,1e6,0)|0;q=y;p=c[v+4>>2]|0;p=t2a(p|0,((p|0)<0)<<31>>31|0,1e3,0)|0;q=p2a(p|0,y|0,r|0,q|0)|0;r=223720;c[r>>2]=q;c[r+4>>2]=y}fc(1,v|0)|0;r=c[v>>2]|0;r=o2a(r|0,((r|0)<0)<<31>>31|0,1e6,0)|0;q=y;p=c[v+4>>2]|0;p=t2a(p|0,((p|0)<0)<<31>>31|0,1e3,0)|0;q=p2a(p|0,y|0,r|0,q|0)|0;r=y;p=b+72|0;f=c[p>>2]|0;j=b+68|0;k=f;a:do if((j|0)==(k|0))m=0;else{o=v+4|0;g=0;while(1){fc(1,v|0)|0;n=c[v>>2]|0;n=o2a(n|0,((n|0)<0)<<31>>31|0,1e6,0)|0;m=y;x=c[o>>2]|0;x=t2a(x|0,((x|0)<0)<<31>>31|0,1e3,0)|0;m=p2a(x|0,y|0,n|0,m|0)|0;n=y;if(n>>>0>r>>>0|(n|0)==(r|0)&m>>>0>q>>>0){x=q2a(m|0,n|0,q|0,r|0)|0;d=+h[27966]*(+(x>>>0)+4294967296.0*+(y>>>0))}else{x=q2a(q|0,r|0,m|0,n|0)|0;d=-(+h[27966]*(+(x>>>0)+4294967296.0*+(y>>>0)))}if(!(g>>>0<i>>>0?d<+h[e>>3]:0)){m=g;j=k;break a}c[v>>2]=c[(c[f+8>>2]|0)+12>>2];Uh(1,v|0);g=g+1|0;f=c[k+4>>2]|0;k=f;if((j|0)==(k|0)){m=g;break}}}while(0);f=c[p>>2]|0;if((f|0)!=(j|0)){x=(c[j>>2]|0)+4|0;p=c[f>>2]|0;c[p+4>>2]=c[x>>2];c[c[x>>2]>>2]=p;do{g=f;f=c[f+4>>2]|0;c[t>>2]=(c[t>>2]|0)+-1;i=c[g+8>>2]|0;if(i|0?(p=i+8|0,x=c[p>>2]|0,c[p>>2]=x-1,(x|0)==1):0)UU(i,1,1);l0a(g)}while((f|0)!=(j|0))}x=b+64|0;c[x>>2]=(c[x>>2]|0)-m;x=N(c[s>>2]|0,m)|0;g=c[u>>2]|0;f=g+36|0;c[f>>2]=(c[f>>2]|0)-x;f=g+32|0;c[f>>2]=(c[f>>2]|0)-m;g=g+64|0;c[g>>2]=(c[g>>2]|0)+m;fc(1,v|0)|0;g=c[v>>2]|0;g=o2a(g|0,((g|0)<0)<<31>>31|0,1e6,0)|0;f=y;x=c[v+4>>2]|0;x=t2a(x|0,((x|0)<0)<<31>>31|0,1e3,0)|0;f=p2a(x|0,y|0,g|0,f|0)|0;g=y;if(g>>>0>r>>>0|(g|0)==(r|0)&f>>>0>q>>>0){x=q2a(f|0,g|0,q|0,r|0)|0;d=+h[27966]*(+(x>>>0)+4294967296.0*+(y>>>0))}else{x=q2a(q|0,r|0,f|0,g|0)|0;d=-(+h[27966]*(+(x>>>0)+4294967296.0*+(y>>>0)))}h[e>>3]=+h[e>>3]-d;fc(1,v|0)|0;l=w;return}function AZ(a,b){a=a|0;b=b|0;var d=0,e=0;if(!b)return;AZ(a,c[b>>2]|0);AZ(a,c[b+4>>2]|0);a=c[b+48>>2]|0;if(a|0?(e=a+8|0,d=c[e>>2]|0,c[e>>2]=d-1,(d|0)==1):0)UU(a,1,1);l0a(b);return}function BZ(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0;c[a>>2]=83800;SZ(a);b=a+228|0;d=c[b>>2]|0;if(d|0?(f=d+8|0,g=c[f>>2]|0,c[f>>2]=g-1,(g|0)==1):0)UU(d,1,1);c[b>>2]=0;e=a+216|0;g=c[e>>2]|0;if(g|0){f=a+220|0;b=c[f>>2]|0;if((b|0)==(g|0))b=g;else{do{b=b+-4|0;d=c[b>>2]|0;if(d|0?(i=d+8|0,h=c[i>>2]|0,c[i>>2]=h-1,(h|0)==1):0)UU(d,1,1);c[b>>2]=0}while((b|0)!=(g|0));b=c[e>>2]|0}c[f>>2]=g;l0a(b)}b=c[a+72>>2]|0;if(b|0){c[a+76>>2]=b;l0a(b)}b=c[a+60>>2]|0;if(!b){Sr(a);return}c[a+64>>2]=b;l0a(b);Sr(a);return}function CZ(a){a=a|0;Di()}function DZ(a,b){a=a|0;b=b|0;if(!b){b=0;return b|0}b=(y1a(b,42800,47416,0)|0)!=0;return b|0}function EZ(a){a=a|0;return 186332}function FZ(a){a=a|0;return 154151}function GZ(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;j=l;l=l+16|0;i=j;f=a+216|0;h=a+220|0;d=c[h>>2]|0;e=c[f>>2]|0;g=d-e>>2;if(g>>>0>=b>>>0){if(g>>>0>b>>>0){f=e+(b<<2)|0;if((f|0)!=(d|0))do{d=d+-4|0;e=c[d>>2]|0;if(e|0?(k=e+8|0,g=c[k>>2]|0,c[k>>2]=g-1,(g|0)==1):0)UU(e,1,1);c[d>>2]=0}while((d|0)!=(f|0));c[h>>2]=f}}else pD(f,b-g|0);d=a+60|0;c[i>>2]=0;e=a+64|0;f=c[d>>2]|0;g=(c[e>>2]|0)-f>>2;if(g>>>0>=b>>>0){if(g>>>0>b>>>0)c[e>>2]=f+(b<<2)}else cu(d,b-g|0,i);g=a+72|0;c[i>>2]=0;d=a+76|0;e=c[g>>2]|0;f=(c[d>>2]|0)-e>>2;if(f>>>0<b>>>0){cu(g,b-f|0,i);l=j;return}if(f>>>0<=b>>>0){l=j;return}c[d>>2]=e+(b<<2);l=j;return}function HZ(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;if(!b){SZ(a);return}g=c[b+124>>2]|0;h=a+216|0;f=a+220|0;b=c[f>>2]|0;e=c[h>>2]|0;a=b-e>>2;do if(a>>>0<=g>>>0){d=g+1|0;if(d>>>0>a>>>0){pD(h,d-a|0);break}if(d>>>0<a>>>0){d=e+(d<<2)|0;if((d|0)!=(b|0))do{b=b+-4|0;a=c[b>>2]|0;if(a|0?(i=a+8|0,e=c[i>>2]|0,c[i>>2]=e-1,(e|0)==1):0)UU(a,1,1);c[b>>2]=0}while((b|0)!=(d|0));c[f>>2]=d}}while(0);a=c[h>>2]|0;if(!(c[a+(g<<2)>>2]|0))return;b=c[f>>2]|0;d=b-a>>2;do if(d>>>0<=g>>>0){e=g+1|0;if(e>>>0>d>>>0){pD(h,e-d|0);break}if(e>>>0<d>>>0){d=a+(e<<2)|0;if((d|0)!=(b|0))do{b=b+-4|0;a=c[b>>2]|0;if(a|0?(e=a+8|0,i=c[e>>2]|0,c[e>>2]=i-1,(i|0)==1):0)UU(a,1,1);c[b>>2]=0}while((b|0)!=(d|0));c[f>>2]=d}}while(0);b=c[h>>2]|0;a=c[b+(g<<2)>>2]|0;d=c[a+48>>2]|0;if(!d)a=b;else{TZ(d,a);a=c[h>>2]|0}b=c[f>>2]|0;d=b-a>>2;do if(d>>>0<=g>>>0){e=g+1|0;if(e>>>0>d>>>0){pD(h,e-d|0);break}if(e>>>0<d>>>0){d=a+(e<<2)|0;if((d|0)!=(b|0))do{b=b+-4|0;a=c[b>>2]|0;if(a|0?(e=a+8|0,i=c[e>>2]|0,c[e>>2]=i-1,(i|0)==1):0)UU(a,1,1);c[b>>2]=0}while((b|0)!=(d|0));c[f>>2]=d}}while(0);b=(c[h>>2]|0)+(g<<2)|0;a=c[b>>2]|0;if(!a)return;c[b>>2]=0;h=a+8|0;i=c[h>>2]|0;c[h>>2]=i-1;if((i|0)!=1)return;UU(a,1,1);return}function IZ(a){a=a|0;return a|0}function JZ(a){a=a|0;return a|0}function KZ(a){a=a|0;return 0}function LZ(a){a=a|0;return 1}function MZ(a,b){a=a|0;b=b|0;Jk[c[(c[a>>2]|0)+196>>2]&1023](a,b);return}function NZ(a){a=a|0;return}function OZ(a){a=a|0;return 0}function PZ(a){a=a|0;return 0}function QZ(a){a=a|0;return 0}function RZ(a,b){a=a|0;b=b|0;return 0}function SZ(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;g=a+216|0;f=a+220|0;a=c[f>>2]|0;b=c[g>>2]|0;if((a|0)==(b|0))return;e=0;do{if(c[b+(e<<2)>>2]|0){a=a-b>>2;if(a>>>0<=e>>>0)pD(g,e+1-a|0);a=c[g>>2]|0;b=c[a+(e<<2)>>2]|0;d=c[b+48>>2]|0;if(d){TZ(d,b);a=c[g>>2]|0}a=(c[f>>2]|0)-a>>2;if(a>>>0<=e>>>0)pD(g,e+1-a|0);a=(c[g>>2]|0)+(e<<2)|0;b=c[a>>2]|0;if(b|0?(c[a>>2]=0,a=b+8|0,d=c[a>>2]|0,c[a>>2]=d-1,(d|0)==1):0)UU(b,1,1)}e=e+1|0;a=c[f>>2]|0;b=c[g>>2]|0}while(e>>>0<a-b>>2>>>0);return}function TZ(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;f=a+12|0;gk[c[(c[f>>2]|0)+8>>2]&1023](f)|0;c[b+60>>2]=0;g=(b|0)==0;if(!g){e=b+8|0;c[e>>2]=(c[e>>2]|0)+1}d=a+80|0;e=j0a(12)|0;c[e>>2]=0;c[e+8>>2]=b;if(!g){h=b+8|0;c[h>>2]=(c[h>>2]|0)+1}c[e+4>>2]=d;h=c[d>>2]|0;c[e>>2]=h;c[h+4>>2]=e;c[d>>2]=e;h=a+88|0;c[h>>2]=(c[h>>2]|0)+1;if(!g?(g=b+8|0,h=c[g>>2]|0,c[g>>2]=h-1,(h|0)==1):0)UU(b,1,1);gk[c[(c[f>>2]|0)+12>>2]&1023](f)|0;return}function UZ(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;e=c[a>>2]|0;if(!e)return;f=a+4|0;b=c[f>>2]|0;if((b|0)==(e|0))b=e;else{do{b=b+-4|0;d=c[b>>2]|0;if(d|0?(h=d+8|0,g=c[h>>2]|0,c[h>>2]=g-1,(g|0)==1):0)UU(d,1,1);c[b>>2]=0}while((b|0)!=(e|0));b=c[a>>2]|0}c[f>>2]=e;l0a(b);return}function VZ(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;h=d+88|0;e=c[h>>2]|0;f=b+180|0;a:do switch(c[f>>2]|0){case 0:{i=56;break}case 1:{e=c[b+188>>2]|0;i=56;break}default:{g=bu(0,1)|0;do switch(c[f>>2]|0){case 2:{if(!(a[g+1051>>0]|0)){i=56;break a}d=c[d+92>>2]|0;if((d|0)<6407){if((d|0)<3){switch(d|0){case 1:{e=34025;break a}case 2:break;default:{i=56;break a}}e=34027;break a}if((d|0)<4){switch(d|0){case 3:break;default:{i=56;break a}}e=34029;break a}if((d|0)>=6406)switch(d|0){case 6406:{e=34025;break a}default:{i=56;break a}}switch(d|0){case 4:break;default:{i=56;break a}}e=34030;break a}if((d|0)<6409)switch(d|0){case 6407:{e=34029;break a}case 6408:{e=34030;break a}default:{i=56;break a}}if((d|0)<6410){switch(d|0){case 6409:break;default:{i=56;break a}}e=34026;break a}if((d|0)<32841){switch(d|0){case 6410:break;default:{i=56;break a}}e=34027;break a}else{switch(d|0){case 32841:break;default:{i=56;break a}}e=34028;break a}}case 3:{if(!(a[g+1052>>0]|0)){i=56;break a}e=c[d+92>>2]|0;b:do if((e|0)<6407){switch(e|0){case 3:{e=33776;break a}case 4:break;default:break b}e=33777;break a}else{switch(e|0){case 6407:{e=33776;break a}case 6408:break;default:break b}e=33777;break a}while(0);e=c[h>>2]|0;i=56;break a}case 12:{if(!(a[g+1052>>0]|0)){i=56;break a}e=c[d+92>>2]|0;if((e|0)<6407)switch(e|0){case 4:case 3:{e=33776;break a}default:{}}else switch(e|0){case 6408:case 6407:{e=33776;break a}default:{}}e=c[h>>2]|0;i=56;break a}case 13:{if(!(a[g+1052>>0]|0)){i=56;break a}e=c[d+92>>2]|0;if((e|0)<6407)switch(e|0){case 4:case 3:{e=33777;break a}default:{}}else switch(e|0){case 6408:case 6407:{e=33777;break a}default:{}}e=c[h>>2]|0;i=56;break a}case 4:{if(!(a[g+1052>>0]|0)){i=56;break a}e=c[d+92>>2]|0;if((e|0)<6407)switch(e|0){case 3:{e=33776;break a}case 4:{i=27;break}default:i=28}else switch(e|0){case 6407:{e=33776;break a}case 6408:{i=27;break}default:i=28}if((i|0)==27){e=33778;break a}else if((i|0)==28){e=c[h>>2]|0;i=56;break a}break}case 5:{if(!(a[g+1052>>0]|0)){i=56;break a}e=c[d+92>>2]|0;if((e|0)<6407)switch(e|0){case 3:{e=33776;break a}case 4:{i=31;break}default:i=32}else switch(e|0){case 6407:{e=33776;break a}case 6408:{i=31;break}default:i=32}if((i|0)==31){e=33779;break a}else if((i|0)==32){e=c[h>>2]|0;i=56;break a}break}case 6:{if(!(a[g+1053>>0]|0)){i=56;break a}e=c[d+92>>2]|0;if((e|0)<6407)switch(e|0){case 3:{e=35841;break a}case 4:{i=35;break}default:i=36}else switch(e|0){case 6407:{e=35841;break a}case 6408:{i=35;break}default:i=36}if((i|0)==35){e=35843;break a}else if((i|0)==36){e=c[h>>2]|0;i=56;break a}break}case 7:{if(!(a[g+1054>>0]|0)){i=56;break a}e=c[d+92>>2]|0;if((e|0)<6407)switch(e|0){case 3:{e=35840;break a}case 4:{i=39;break}default:i=40}else switch(e|0){case 6407:{e=35840;break a}case 6408:{i=39;break}default:i=40}if((i|0)==39){e=35842;break a}else if((i|0)==40){e=c[h>>2]|0;i=56;break a}break}case 8:{if(!(a[g+1055>>0]|0)){i=56;break a}e=c[d+92>>2]|0;if((e|0)<6407)switch(e|0){case 3:{e=36196;break a}default:{}}else switch(e|0){case 6407:{e=36196;break a}default:{}}e=c[h>>2]|0;i=56;break a}case 9:{if(!(a[g+1056>>0]|0)){i=56;break a}e=c[d+92>>2]|0;c:do if((e|0)>=6403){if((e|0)<6408)switch(e|0){case 6403:{e=37488;break a}case 6407:{i=47;break c}default:{i=49;break c}}if((e|0)<33319)switch(e|0){case 6408:{i=48;break c}default:{i=49;break c}}else switch(e|0){case 33319:{i=46;break c}default:{i=49;break c}}}else switch(e|0){case 1:{e=37488;break a}case 2:{i=46;break}case 3:{i=47;break}case 4:{i=48;break}default:i=49}while(0);if((i|0)==46){e=37490;break a}else if((i|0)==47){e=37492;break a}else if((i|0)==48){e=37496;break a}else if((i|0)==49){e=c[h>>2]|0;i=56;break a}break}case 10:{if(!(a[g+1057>>0]|0)){i=56;break a}e=c[d+92>>2]|0;if((e|0)<6407)switch(e|0){case 4:case 3:{e=36283;break a}default:{}}else switch(e|0){case 6408:case 6407:{e=36283;break a}default:{}}e=c[h>>2]|0;i=56;break a}case 11:{if(!(a[g+1057>>0]|0)){i=56;break a}e=c[d+92>>2]|0;if((e|0)<6407)switch(e|0){case 4:case 3:{e=36285;break a}default:{}}else switch(e|0){case 6408:case 6407:{e=36285;break a}default:{}}e=c[h>>2]|0;i=56;break a}default:{i=56;break a}}while(0)}}while(0);d:do if((i|0)==56){if((e|0)<4)switch(e|0){case 1:{e=6409;break d}case 2:{e=6410;break d}case 3:{e=6407;break d}default:break d}if((e|0)<32849){switch(e|0){case 4:break;default:break d}e=6408;break}switch(e|0){case 32849:{e=6407;break d}case 32856:{e=6408;break d}default:break d}}while(0);c[b+188>>2]=e;WZ(b);return}function WZ(a){a=a|0;var b=0;switch(c[a+188>>2]|0){case 36225:case 36219:case 36213:case 36223:case 36217:case 36211:case 36224:case 36218:case 36212:case 33330:case 33332:case 33334:case 33336:case 33338:case 33340:case 36221:case 36215:case 36209:case 36220:case 36214:case 36208:{b=4;break}case 36243:case 36237:case 36231:case 36241:case 36235:case 36229:case 36242:case 36236:case 36230:case 33329:case 33331:case 33333:case 33335:case 33337:case 33339:case 36239:case 36233:case 36227:case 36238:case 36232:case 36226:{b=2;break}case 34847:case 34841:case 34845:case 34839:case 34846:case 34840:case 33325:case 33326:case 33327:case 33328:case 34843:case 34837:case 34842:case 34836:{b=1;break}default:b=0}c[a+184>>2]=b;return}function XZ(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0;n=l;l=l+16|0;d=n;if(ZQ(5)|0){i=mr(lr(5)|0,154174,40)|0;BSa(d,i+(c[(c[i>>2]|0)+-12>>2]|0)|0);f=cUa(d,230580)|0;f=kk[c[(c[f>>2]|0)+28>>2]&511](f,10)|0;dUa(d);VSa(i,f)|0;HSa(i)|0}e=a+48|0;f=c[e>>2]|0;if((f|0)==(b|0)){l=n;return}d=((f|0)!=0)<<31>>31;if(!b)if((f|0)!=0?(c[e>>2]=0,g=f+(c[(c[f>>2]|0)+-16>>2]|0)|0,h=g+8|0,i=c[h>>2]|0,c[h>>2]=i-1,(i|0)==1):0){UU(g,1,1);i=d}else i=d;else{d=d+1|0;c[e>>2]=b;i=b+(c[(c[b>>2]|0)+-16>>2]|0)+8|0;c[i>>2]=(c[i>>2]|0)+1;if((f|0)!=0?(h=f+(c[(c[f>>2]|0)+-16>>2]|0)|0,b=h+8|0,i=c[b>>2]|0,c[b>>2]=i-1,(i|0)==1):0){UU(h,1,1);i=d}else i=d}if(!i){l=n;return}d=c[a+32>>2]|0;a=a+36|0;e=c[a>>2]|0;if((d|0)==(e|0)){l=n;return}do{f=c[d>>2]|0;b=f+148|0;g=c[b>>2]|0;h=g+i|0;if(((c[f+144>>2]|0)==0?(k=c[f+32>>2]|0,m=f+36|0,(k|0)!=(c[m>>2]|0)):0)?(j=((h|0)!=0&1)+(((g|0)!=0)<<31>>31)|0,(j|0)!=0):0){e=k;do{g=c[e>>2]|0;Rv(g,(c[g+88>>2]|0)+j|0);e=e+4|0}while((e|0)!=(c[m>>2]|0));e=c[a>>2]|0}c[b>>2]=h;d=d+4|0}while((d|0)!=(e|0));l=n;return}function YZ(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;k=a+216|0;i=a+220|0;f=c[i>>2]|0;a=c[k>>2]|0;g=f-a>>2;j=b+216|0;h=b+220|0;b=c[h>>2]|0;e=c[j>>2]|0;d=b-e>>2;if(g>>>0<d>>>0){k=-1;return k|0}if(d>>>0<g>>>0){k=1;return k|0}if((f|0)==(a|0)){k=0;return k|0}f=0;while(1){d=c[a+(f<<2)>>2]|0;a=b-e>>2;if(a>>>0<=f>>>0)pD(j,f+1-a|0);a=c[j>>2]|0;if(d>>>0<(c[a+(f<<2)>>2]|0)>>>0){a=-1;b=15;break}a=(c[h>>2]|0)-a>>2;if(a>>>0<=f>>>0)pD(j,f+1-a|0);d=c[(c[j>>2]|0)+(f<<2)>>2]|0;a=(c[i>>2]|0)-(c[k>>2]|0)>>2;b=f+1|0;if(a>>>0<=f>>>0)pD(k,b-a|0);a=c[k>>2]|0;if(d>>>0<(c[a+(f<<2)>>2]|0)>>>0){a=1;b=15;break}if(b>>>0>=(c[i>>2]|0)-a>>2>>>0){a=0;b=15;break}f=b;e=c[j>>2]|0;b=c[h>>2]|0}if((b|0)==15)return a|0;return 0}function ZZ(b,d){b=b|0;d=d|0;var e=0,f=0,h=0.0,i=0.0;e=c[b+84>>2]|0;f=c[d+84>>2]|0;if((e|0)<(f|0)){d=-1;return d|0}if((f|0)<(e|0)){d=1;return d|0}f=c[b+88>>2]|0;e=c[d+88>>2]|0;if((f|0)<(e|0)){d=-1;return d|0}if((e|0)<(f|0)){d=1;return d|0}e=c[b+92>>2]|0;f=c[d+92>>2]|0;if((e|0)<(f|0)){d=-1;return d|0}if((f|0)<(e|0)){d=1;return d|0}e=c[b+96>>2]|0;f=c[d+96>>2]|0;if((e|0)<(f|0)){d=-1;return d|0}if((f|0)<(e|0)){d=1;return d|0}e=c[b+100>>2]|0;f=c[d+100>>2]|0;if((e|0)<(f|0)){d=-1;return d|0}if((f|0)<(e|0)){d=1;return d|0}h=+g[b+104>>2];i=+g[d+104>>2];if(h<i){d=-1;return d|0}if(i<h){d=1;return d|0}h=+g[b+108>>2];i=+g[d+108>>2];if(h<i){d=-1;return d|0}if(i<h){d=1;return d|0}h=+g[b+112>>2];i=+g[d+112>>2];if(h<i){d=-1;return d|0}if(i<h){d=1;return d|0}h=+g[b+116>>2];i=+g[d+116>>2];if(h<i){d=-1;return d|0}if(i<h){d=1;return d|0}e=c[b+120>>2]|0;f=c[d+120>>2]|0;if((e|0)<(f|0)){d=-1;return d|0}if((e|0)>(f|0)){d=1;return d|0}e=c[b+124>>2]|0;f=c[d+124>>2]|0;if((e|0)<(f|0)){d=-1;return d|0}do if((e|0)<=(f|0)){e=c[b+128>>2]|0;f=c[d+128>>2]|0;if((e|0)<(f|0)){d=-1;return d|0}if((e|0)>(f|0))break;if((c[b+132>>2]|0)<(c[d+132>>2]|0))e=-1;else break;return e|0}while(0);e=c[d+124>>2]|0;f=c[b+124>>2]|0;if((e|0)<(f|0)){d=1;return d|0}do if((e|0)<=(f|0)){e=c[d+128>>2]|0;f=c[b+128>>2]|0;if((e|0)<(f|0)){d=1;return d|0}if((e|0)>(f|0))break;if((c[d+132>>2]|0)<(c[b+132>>2]|0))e=1;else break;return e|0}while(0);e=a[b+136>>0]|0;f=a[d+136>>0]|0;if((e&255)<(f&255)){d=-1;return d|0}if((f&255)<(e&255)){d=1;return d|0}e=c[b+180>>2]|0;f=c[d+180>>2]|0;if((e|0)<(f|0)){d=-1;return d|0}if((f|0)<(e|0)){d=1;return d|0}e=c[b+188>>2]|0;do if(e|0){f=c[d+188>>2]|0;if(!f)break;if((e|0)<(f|0)){d=-1;return d|0}if((f|0)<(e|0))e=1;else break;return e|0}while(0);e=c[b+192>>2]|0;f=c[d+192>>2]|0;if(e>>>0<f>>>0){d=-1;return d|0}if(f>>>0<e>>>0){d=1;return d|0}e=c[b+196>>2]|0;f=c[d+196>>2]|0;if(e>>>0<f>>>0){d=-1;return d|0}if(f>>>0<e>>>0){d=1;return d|0}e=a[b+200>>0]|0;f=a[d+200>>0]|0;if((e&255)<(f&255)){d=-1;return d|0}if((f&255)<(e&255)){d=1;return d|0}e=c[b+204>>2]|0;f=c[d+204>>2]|0;if((e|0)<(f|0)){d=-1;return d|0}if((f|0)<(e|0)){d=1;return d|0}e=c[b+208>>2]|0;f=c[d+208>>2]|0;if((e|0)<(f|0)){d=-1;return d|0}if((f|0)<(e|0)){d=1;return d|0}h=+g[b+212>>2];i=+g[d+212>>2];if(h<i){d=-1;return d|0}if(i<h){d=1;return d|0}e=a[b+137>>0]|0;f=a[d+137>>0]|0;if((e&255)<(f&255)){d=-1;return d|0}if((f&255)<(e&255)){d=1;return d|0}e=a[b+138>>0]|0;f=a[d+138>>0]|0;if((e&255)<(f&255)){d=-1;return d|0}if((f&255)<(e&255)){d=1;return d|0}e=a[b+139>>0]|0;f=a[d+139>>0]|0;if((e&255)<(f&255)){d=-1;return d|0}if((f&255)<(e&255)){d=1;return d|0}else{b=c[b+184>>2]|0;d=c[d+184>>2]|0;return ((b|0)<(d|0)?-1:(d|0)<(b|0)&1)|0}return 0}function _Z(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;Nr(b,d,e);c[b>>2]=83800;e=b+60|0;f=gS(c[(vt()|0)>>2]|0)|0;c[e>>2]=0;g=b+64|0;c[g>>2]=0;h=b+68|0;c[h>>2]=0;do if(f|0)if(f>>>0>1073741823)g1a(e);else{i=f<<2;j=j0a(i)|0;c[e>>2]=j;f=j+(f<<2)|0;c[h>>2]=f;z2a(j|0,0,i|0)|0;c[g>>2]=f;break}while(0);e=b+72|0;f=gS(c[(vt()|0)>>2]|0)|0;c[e>>2]=0;g=b+76|0;c[g>>2]=0;h=b+80|0;c[h>>2]=0;do if(f|0)if(f>>>0>1073741823)g1a(e);else{i=f<<2;k=j0a(i)|0;c[e>>2]=k;j=k+(f<<2)|0;c[h>>2]=j;z2a(k|0,0,i|0)|0;c[g>>2]=j;break}while(0);c[b+84>>2]=c[d+84>>2];c[b+88>>2]=c[d+88>>2];c[b+92>>2]=c[d+92>>2];c[b+96>>2]=c[d+96>>2];c[b+100>>2]=c[d+100>>2];c[b+104>>2]=c[d+104>>2];c[b+108>>2]=c[d+108>>2];c[b+112>>2]=c[d+112>>2];c[b+116>>2]=c[d+116>>2];k=b+120|0;j=d+120|0;c[k>>2]=c[j>>2];c[k+4>>2]=c[j+4>>2];c[k+8>>2]=c[j+8>>2];c[k+12>>2]=c[j+12>>2];a[b+136>>0]=a[d+136>>0]|0;a[b+137>>0]=a[d+137>>0]|0;a[b+138>>0]=a[d+138>>0]|0;a[b+139>>0]=a[d+139>>0]|0;k=b+144|0;j=d+144|0;c[k>>2]=c[j>>2];c[k+4>>2]=c[j+4>>2];c[k+8>>2]=c[j+8>>2];c[k+12>>2]=c[j+12>>2];c[k+16>>2]=c[j+16>>2];c[k+20>>2]=c[j+20>>2];c[k+24>>2]=c[j+24>>2];c[k+28>>2]=c[j+28>>2];c[b+176>>2]=c[d+176>>2];c[b+180>>2]=c[d+180>>2];c[b+184>>2]=c[d+184>>2];c[b+188>>2]=c[d+188>>2];c[b+192>>2]=c[d+192>>2];c[b+196>>2]=c[d+196>>2];a[b+200>>0]=a[d+200>>0]|0;c[b+204>>2]=c[d+204>>2];c[b+208>>2]=c[d+208>>2];c[b+212>>2]=c[d+212>>2];$Z(b+216|0);c[b+228>>2]=0;return}function $Z(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;b=gS(c[(vt()|0)>>2]|0)|0;c[a>>2]=0;d=a+4|0;c[d>>2]=0;e=a+8|0;c[e>>2]=0;if(!b)return;if(b>>>0>1073741823)g1a(a);f=b<<2;g=j0a(f)|0;c[a>>2]=g;b=g+(b<<2)|0;c[e>>2]=b;z2a(g|0,0,f|0)|0;c[d>>2]=b;return}function a_(b){b=b|0;var d=0,e=0,f=0,h=0,i=0,j=0,k=0;c[b+4>>2]=0;c[b+8>>2]=0;h=b+12|0;c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;c[b+24>>2]=2;h=b+28|0;c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;c[h+12>>2]=0;c[h+16>>2]=0;c[h+20>>2]=0;c[h+24>>2]=0;c[b+56>>2]=0;c[b>>2]=83800;h=b+60|0;d=gS(c[(vt()|0)>>2]|0)|0;c[h>>2]=0;e=b+64|0;c[e>>2]=0;f=b+68|0;c[f>>2]=0;do if(d|0)if(d>>>0>1073741823)g1a(h);else{i=d<<2;j=j0a(i)|0;c[h>>2]=j;h=j+(d<<2)|0;c[f>>2]=h;z2a(j|0,0,i|0)|0;c[e>>2]=h;break}while(0);d=b+72|0;e=gS(c[(vt()|0)>>2]|0)|0;c[d>>2]=0;f=b+76|0;c[f>>2]=0;h=b+80|0;c[h>>2]=0;do if(e|0)if(e>>>0>1073741823)g1a(d);else{i=e<<2;k=j0a(i)|0;c[d>>2]=k;j=k+(e<<2)|0;c[h>>2]=j;z2a(k|0,0,i|0)|0;c[f>>2]=j;break}while(0);c[b+84>>2]=33071;c[b+88>>2]=33071;c[b+92>>2]=33071;c[b+96>>2]=9987;c[b+100>>2]=9729;g[b+104>>2]=1.0;g[b+108>>2]=0.0;g[b+112>>2]=-1.0;g[b+116>>2]=0.0;c[b+120>>2]=6403;c[b+124>>2]=6404;c[b+128>>2]=6405;c[b+132>>2]=6406;a[b+136>>0]=1;a[b+137>>0]=0;a[b+138>>0]=0;a[b+139>>0]=1;d=b+144|0;e=b+204|0;f=d;h=f+56|0;do{c[f>>2]=0;f=f+4|0}while((f|0)<(h|0));a[d+56>>0]=0;c[e>>2]=515;c[b+208>>2]=6409;g[b+212>>2]=0.0;$Z(b+216|0);c[b+228>>2]=0;return}function b_(a){a=a|0;var b=0,d=0,e=0;b=c[a>>2]|0;if(b|0?(e=b+8|0,d=c[e>>2]|0,c[e>>2]=d-1,(d|0)==1):0)UU(b,1,1);c[a>>2]=0;return}function c_(a){a=a|0;var b=0,d=0,e=0,f=0;c[a>>2]=84064;A_(a,0);b=c[a+252>>2]|0;if(b|0){c[a+256>>2]=b;l0a(b)}b=a+248|0;d=c[b>>2]|0;if(d|0?(f=d+8|0,e=c[f>>2]|0,c[f>>2]=e-1,(e|0)==1):0)UU(d,1,1);c[b>>2]=0;b=a+232|0;d=c[b>>2]|0;if(!d){c[b>>2]=0;BZ(a);return}e=d+8|0;f=c[e>>2]|0;c[e>>2]=f-1;if((f|0)!=1){c[b>>2]=0;BZ(a);return}UU(d,1,1);c[b>>2]=0;BZ(a);return}function d_(a){a=a|0;c_(a);l0a(a);return}function e_(a){a=a|0;a=j0a(264)|0;X_(a);return a|0}function f_(a,b){a=a|0;b=b|0;var c=0;c=j0a(264)|0;W_(c,a,b);return c|0}function g_(a,b){a=a|0;b=b|0;if(!b){b=0;return b|0}b=(y1a(b,42800,47448,0)|0)!=0;return b|0}function h_(a){a=a|0;return 186332}function i_(a){a=a|0;return 155115}function j_(a){a=a|0;return 0}function k_(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;if((a|0)==(b|0)){l=0;return l|0}if(!a)e2a();d=c[(c[(c[a>>2]|0)+-4>>2]|0)+4>>2]|0;e=c[(c[(c[b>>2]|0)+-4>>2]|0)+4>>2]|0;if(d>>>0<e>>>0){l=-1;return l|0}if((d|0)!=(e|0)){l=1;return l|0}g=a+232|0;d=c[g>>2]|0;h=b+232|0;e=c[h>>2]|0;do if((d|0)!=(e|0)){f=(e|0)!=0;if(!d){if(f)d=-1;else{d=13;break}return d|0}if(!f){l=1;return l|0}d=kk[c[(c[d>>2]|0)+188>>2]&511](d,e)|0;if(!d){i=c[g>>2]|0;d=12;break}else{l=d;return l|0}}else{i=d;d=12}while(0);if((d|0)==12?(i|0)==0:0)d=13;if(((d|0)==13?(c[h>>2]|0)==0:0)?(j=YZ(a,b)|0,j|0):0){l=j;return l|0}d=ZZ(a,b)|0;if(d|0){l=d;return l|0}d=c[a+236>>2]|0;if(d|0?(k=c[b+236>>2]|0,k|0):0){if((d|0)<(k|0)){l=-1;return l|0}if((k|0)<(d|0)){l=1;return l|0}}d=c[a+240>>2]|0;if(d|0?(l=c[b+240>>2]|0,l|0):0){if((d|0)<(l|0)){l=-1;return l|0}if((l|0)<(d|0)){l=1;return l|0}}l=c[a+248>>2]|0;b=c[b+248>>2]|0;return (l>>>0<b>>>0?-1:b>>>0<l>>>0&1)|0}function l_(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;A=l;l=l+16|0;y=A;o=d+124|0;z=c[o>>2]|0;w=b+216|0;x=b+220|0;e=c[x>>2]|0;h=c[w>>2]|0;f=e-h>>2;do if(f>>>0<=z>>>0){g=z+1|0;if(g>>>0>f>>>0){pD(w,g-f|0);break}if(g>>>0<f>>>0){g=h+(g<<2)|0;if((g|0)!=(e|0))do{e=e+-4|0;f=c[e>>2]|0;if(f|0?(q=f+8|0,r=c[q>>2]|0,c[q>>2]=r-1,(r|0)==1):0)UU(f,1,1);c[e>>2]=0}while((e|0)!=(g|0));c[x>>2]=g}}while(0);m=c[(c[w>>2]|0)+(z<<2)>>2]|0;q=b+248|0;do if(m){e=c[q>>2]|0;if(!e){g=b+232|0;f=c[g>>2]|0;if(f){k=b+252|0;h=b+256|0;e=c[k>>2]|0;i=(c[h>>2]|0)-e>>2;if(i>>>0<=z>>>0){j=z+1|0;c[y>>2]=0;if(j>>>0<=i>>>0){if(j>>>0<i>>>0)c[h>>2]=e+(j<<2)}else{cu(k,j-i|0,y);f=c[g>>2]|0;e=c[k>>2]|0}}if((c[e+(z<<2)>>2]|0)!=(c[f+32>>2]|0)?!(B_(b,d)|0):0)n=24;else n=51}else n=51}else if(lk[c[(c[e>>2]|0)+12>>2]&127](e,b,d)|0)n=51;else n=24;if((n|0)==24){e=c[x>>2]|0;f=c[w>>2]|0;g=e-f>>2;do if(g>>>0<=z>>>0){h=z+1|0;if(h>>>0>g>>>0){pD(w,h-g|0);break}if(h>>>0<g>>>0){g=f+(h<<2)|0;if((g|0)!=(e|0))do{e=e+-4|0;f=c[e>>2]|0;if(f|0?(o=f+8|0,r=c[o>>2]|0,c[o>>2]=r-1,(r|0)==1):0)UU(f,1,1);c[e>>2]=0}while((e|0)!=(g|0));c[x>>2]=g}}while(0);e=c[w>>2]|0;f=c[e+(z<<2)>>2]|0;g=c[f+48>>2]|0;if(!g)f=e;else{TZ(g,f);f=c[w>>2]|0}e=c[x>>2]|0;g=e-f>>2;do if(g>>>0<=z>>>0){h=z+1|0;if(h>>>0>g>>>0){pD(w,h-g|0);break}if(h>>>0<g>>>0){g=f+(h<<2)|0;if((g|0)!=(e|0))do{e=e+-4|0;f=c[e>>2]|0;if(f|0?(o=f+8|0,r=c[o>>2]|0,c[o>>2]=r-1,(r|0)==1):0)UU(f,1,1);c[e>>2]=0}while((e|0)!=(g|0));c[x>>2]=g}}while(0);e=(c[w>>2]|0)+(z<<2)|0;f=c[e>>2]|0;if(!f){n=78;break}c[e>>2]=0;o=f+8|0;r=c[o>>2]|0;c[o>>2]=r-1;if((r|0)!=1){n=78;break}UU(f,1,1);n=78;break}else if((n|0)==51){x_(m,d);do if(!(c[q>>2]|0)){m=b+232|0;g=c[m>>2]|0;if(g|0){j=b+252|0;k=b+256|0;e=c[j>>2]|0;h=(c[k>>2]|0)-e>>2;f=e;if(h>>>0<=z>>>0){i=z+1|0;c[y>>2]=0;if(i>>>0<=h>>>0){if(i>>>0<h>>>0)c[k>>2]=f+(i<<2)}else{cu(j,i-h|0,y);e=c[j>>2]|0;f=e;g=c[m>>2]|0}}h=c[g+32>>2]|0;if((c[f+(z<<2)>>2]|0)!=(h|0)){g=(c[k>>2]|0)-e>>2;if(g>>>0<=z>>>0){f=z+1|0;c[y>>2]=0;if(f>>>0<=g>>>0){if(f>>>0<g>>>0)c[k>>2]=e+(f<<2)}else{cu(j,f-g|0,y);e=c[j>>2]|0}}c[e+(z<<2)>>2]=h;C_(b,3553,d);D_(b,d,3553,c[m>>2]|0,c[b+236>>2]|0,c[b+240>>2]|0,c[b+188>>2]|0,0);break}}e=c[b+228>>2]|0;if(e|0)Jk[c[(c[e>>2]|0)+200>>2]&1023](e,1028)}else{C_(b,3553,d);x=c[q>>2]|0;Nk[c[(c[x>>2]|0)+24>>2]&255](x,b,d)}while(0);j=c[o>>2]|0;f=b+60|0;g=b+64|0;e=c[f>>2]|0;h=(c[g>>2]|0)-e>>2;if(h>>>0<=j>>>0){i=j+1|0;c[y>>2]=0;if(i>>>0<=h>>>0){if(i>>>0<h>>>0)c[g>>2]=e+(i<<2)}else{cu(f,i-h|0,y);e=c[f>>2]|0}}if(!(c[e+(j<<2)>>2]|0))break;C_(b,3553,d);break}}else n=78;while(0);if((n|0)==78){e=c[q>>2]|0;do if(!e){q=b+232|0;r=c[q>>2]|0;if(r|0?c[r+112>>2]|0:0){p=r+8|0;c[p>>2]=(c[p>>2]|0)+1;Bk[c[(c[b>>2]|0)+248>>2]&2047](b);m=b+236|0;n=b+240|0;e=b+244|0;F_(b,d,r,m,n,e);o=b+188|0;e=G_(b,z,3553,c[e>>2]|0,c[o>>2]|0,c[m>>2]|0,c[n>>2]|0,1,c[b+176>>2]|0)|0;x_(e,d);C_(b,3553,d);k=c[r+32>>2]|0;g=b+252|0;h=b+256|0;f=c[g>>2]|0;i=(c[h>>2]|0)-f>>2;if(i>>>0<=z>>>0){j=z+1|0;c[y>>2]=0;if(j>>>0<=i>>>0){if(j>>>0<i>>>0)c[h>>2]=f+(j<<2)}else{cu(g,j-i|0,y);f=c[g>>2]|0}}c[f+(z<<2)>>2]=k;f=e+64|0;if((a[f>>0]|0)!=0?WT(r)|0:0)D_(b,d,3553,r,c[m>>2]|0,c[n>>2]|0,c[o>>2]|0,0);else{H_(b,d,3553,r,c[m>>2]|0,c[n>>2]|0,0);a[f>>0]=1}a:do if(a[b+137>>0]|0?(c[d+724>>2]|0)==0:0){if(gS(c[(vt()|0)>>2]|0)|0){h=0;do{f=c[w>>2]|0;g=(c[x>>2]|0)-f>>2;i=h;h=h+1|0;if(g>>>0<=i>>>0){pD(w,h-g|0);f=c[w>>2]|0}if(!(c[f+(i<<2)>>2]|0))break a}while(h>>>0<(gS(c[(vt()|0)>>2]|0)|0)>>>0)}if(((c[r+24>>2]|0)==1?(v=c[q>>2]|0,v|0):0)?(c[q>>2]=0,w=v+8|0,x=c[w>>2]|0,c[w>>2]=x-1,(x|0)==1):0)UU(v,1,1)}while(0);x=c[p>>2]|0;c[p>>2]=x-1;if((x|0)!=1)break;UU(r,1,1);break}g=b+236|0;e=c[g>>2]|0;if((e|0?(t=b+240|0,p=c[t>>2]|0,p|0):0)?(u=b+188|0,s=c[u>>2]|0,s|0):0){h=b+244|0;i=b+176|0;e=G_(b,z,3553,c[h>>2]|0,s,e,p,1,c[i>>2]|0)|0;x_(e,d);C_(b,3553,d);f=c[d+832>>2]|0;if(!(a[f+1074>>0]|0)){v=c[u>>2]|0;w=c[b+192>>2]|0;x=c[b+196>>2]|0;li(3553,0,v|0,c[g>>2]|0,c[t>>2]|0,c[i>>2]|0,((w|0)==0?v:w)|0,((x|0)==0?5121:x)|0,0)}else{x=c[h>>2]|0;Sk[c[f+1088>>2]&63](3553,(x|0)>1?x:1,c[u>>2]|0,c[g>>2]|0,c[t>>2]|0)}f=c[b+228>>2]|0;if(!f)break;Jk[c[(c[f>>2]|0)+200>>2]&1023](f,1028);break}Lh(3553,0);l=A;return}else{Qk[c[(c[e>>2]|0)+16>>2]&127](y,e,b,d);e=c[x>>2]|0;f=c[w>>2]|0;g=e-f>>2;do if(g>>>0<=z>>>0){h=z+1|0;if(h>>>0>g>>>0){pD(w,h-g|0);break}if(h>>>0<g>>>0){g=f+(h<<2)|0;if((g|0)!=(e|0))do{e=e+-4|0;f=c[e>>2]|0;if(f|0?(u=f+8|0,v=c[u>>2]|0,c[u>>2]=v-1,(v|0)==1):0)UU(f,1,1);c[e>>2]=0}while((e|0)!=(g|0));c[x>>2]=g}}while(0);f=(c[w>>2]|0)+(z<<2)|0;e=c[f>>2]|0;g=c[y>>2]|0;if((e|0)!=(g|0)){c[f>>2]=g;if(g|0){v=g+8|0;c[v>>2]=(c[v>>2]|0)+1}if(e|0?(u=e+8|0,v=c[u>>2]|0,c[u>>2]=v-1,(v|0)==1):0)UU(e,1,1);e=c[y>>2]|0}if(e|0?(u=e+8|0,v=c[u>>2]|0,c[u>>2]=v-1,(v|0)==1):0)UU(e,1,1);e=c[x>>2]|0;f=c[w>>2]|0;g=e-f>>2;do if(g>>>0<=z>>>0){h=z+1|0;if(h>>>0>g>>>0){pD(w,h-g|0);break}if(h>>>0<g>>>0){g=f+(h<<2)|0;if((g|0)!=(e|0))do{e=e+-4|0;f=c[e>>2]|0;if(f|0?(u=f+8|0,v=c[u>>2]|0,c[u>>2]=v-1,(v|0)==1):0)UU(f,1,1);c[e>>2]=0}while((e|0)!=(g|0));c[x>>2]=g}}while(0);e=c[(c[w>>2]|0)+(z<<2)>>2]|0;x_(e,d);C_(b,3553,d);f=c[b+232>>2]|0;if(f|0){k=c[f+32>>2]|0;g=b+252|0;h=b+256|0;f=c[g>>2]|0;i=(c[h>>2]|0)-f>>2;if(i>>>0<=z>>>0){j=z+1|0;c[y>>2]=0;if(j>>>0<=i>>>0){if(j>>>0<i>>>0)c[h>>2]=f+(j<<2)}else{cu(g,j-i|0,y);f=c[g>>2]|0}}c[f+(z<<2)>>2]=k}x=c[q>>2]|0;Nk[c[(c[x>>2]|0)+20>>2]&255](x,b,d);E_(e,c[b+244>>2]|0,c[b+188>>2]|0,c[b+236>>2]|0,c[b+240>>2]|0,1,c[b+176>>2]|0)}while(0);if(!e){l=A;return}}f=b+72|0;g=b+76|0;e=c[f>>2]|0;h=(c[g>>2]|0)-e>>2;if(h>>>0<=z>>>0){i=z+1|0;c[y>>2]=0;if(i>>>0<=h>>>0){if(i>>>0<h>>>0)c[g>>2]=e+(i<<2)}else{cu(f,i-h|0,y);e=c[f>>2]|0}}if(!(c[e+(z<<2)>>2]|0)){l=A;return}I_(b,d);l=A;return}function m_(a){a=a|0;return 3553}function n_(a){a=a|0;return c[a+236>>2]|0}function o_(a){a=a|0;return c[a+240>>2]|0}function p_(a){a=a|0;return 1}function q_(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;j=l;l=l+16|0;h=j;d=c[a+232>>2]|0;if(!d){b=0;l=j;return b|0}i=c[d+32>>2]|0;g=a+252|0;f=a+256|0;d=c[g>>2]|0;a=(c[f>>2]|0)-d>>2;if(a>>>0<=b>>>0){e=b+1|0;c[h>>2]=0;if(e>>>0<=a>>>0){if(e>>>0<a>>>0)c[f>>2]=d+(e<<2)}else{cu(g,e-a|0,h);d=c[g>>2]|0}}b=(i|0)!=(c[d+(b<<2)>>2]|0);l=j;return b|0}function r_(a,b,c){a=a|0;b=b|0;c=c|0;A_(a,c);return}function s_(a,b){a=a|0;b=b|0;return c[a+232>>2]|0}function t_(a,b){a=a|0;b=b|0;return c[a+232>>2]|0}function u_(a){a=a|0;return 1}function v_(a){a=a|0;var b=0;b=c[a+232>>2]|0;if(!b){WZ(a);return}else{VZ(a,b);return}}function w_(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;h=c[b+124>>2]|0;i=a+216|0;j=a+220|0;d=c[j>>2]|0;f=c[i>>2]|0;g=d-f>>2;do if(g>>>0<=h>>>0){e=h+1|0;if(e>>>0>g>>>0){pD(i,e-g|0);break}if(e>>>0<g>>>0){f=f+(e<<2)|0;if((f|0)!=(d|0))do{d=d+-4|0;e=c[d>>2]|0;if(e|0?(g=e+8|0,k=c[g>>2]|0,c[g>>2]=k-1,(k|0)==1):0)UU(e,1,1);c[d>>2]=0}while((d|0)!=(f|0));c[j>>2]=f}}while(0);d=c[(c[i>>2]|0)+(h<<2)>>2]|0;if(!d)return;e=a+236|0;if(!(c[e>>2]|0))return;f=a+240|0;if(!(c[f>>2]|0))return;x_(d,b);d=c[e>>2]|0;e=c[f>>2]|0;g=VT(d,e,1)|0;d=d>>1;e=e>>1;if(!((g|0)<2|(d|e|0)==0)){h=a+188|0;i=a+176|0;j=a+192|0;k=a+196|0;f=1;do{m=(d|0)==0?1:d;l=(e|0)==0?1:e;p=c[h>>2]|0;o=c[j>>2]|0;n=c[k>>2]|0;li(3553,f|0,p|0,m|0,l|0,c[i>>2]|0,((o|0)==0?p:o)|0,((n|0)==0?5121:n)|0,0);f=f+1|0;d=m>>1;e=l>>1}while(!((f|0)>=(g|0)|(d|e|0)==0))}i=c[b+732>>2]|0;j=b+696|0;h=b+700|0;d=c[h>>2]|0;e=c[j>>2]|0;f=(d-e|0)/12|0;do if(f>>>0<=i>>>0){g=i+1|0;if(g>>>0>f>>>0){sD(j,g-f|0);break}if(g>>>0<f>>>0){e=e+(g*12|0)|0;if((e|0)!=(d|0))do{p=d;d=d+-12|0;tD(d,c[p+-8>>2]|0)}while((d|0)!=(e|0));c[h>>2]=e}}while(0);y_(0,(c[j>>2]|0)+(i*12|0)|0,a);return}function x_(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;i=l;l=l+32|0;f=i+8|0;g=i;Lh(c[b+16>>2]|0,c[b+12>>2]|0);e=c[b+48>>2]|0;if(e|0)z_(e,b);if(!(a[d+128>>0]|0)){l=i;return}b=c[b+24>>2]|0;h=c[d+752>>2]|0;e=(c[h+60>>2]|0)+(c[d+732>>2]<<2)|0;if((c[e>>2]|0)!=(b|0)){c[e>>2]=b;e=h+48|0;c[e>>2]=(c[e>>2]|0)+1}b=h+12|0;c[g>>2]=b;tX(f,d+156|0,b,231021,g,i+16|0);b=c[f>>2]|0;e=b+28|0;d=c[e>>2]|0;if((d|0)!=(h|0)){c[e>>2]=h;if(h|0){h=h+8|0;c[h>>2]=(c[h>>2]|0)+1}if(d|0?(g=d+8|0,h=c[g>>2]|0,c[g>>2]=h-1,(h|0)==1):0)UU(d,1,1)}c[b+32>>2]=1;l=i;return}function y_(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;if(!e)return;k=gk[c[(c[e>>2]|0)+172>>2]&1023](e)|0;j=gk[c[(c[e>>2]|0)+176>>2]&1023](e)|0;f=d+4|0;b=c[f>>2]|0;do if(b){g=d+4|0;a:while(1){f=c[b+16>>2]|0;do if((k|0)>=(f|0)){if((f|0)>=(k|0)){f=c[b+20>>2]|0;if(j>>>0<f>>>0){i=7;break}if(f>>>0>=j>>>0){i=12;break a}}g=b+4|0;f=c[g>>2]|0;if(!f){i=11;break a}else b=f}else i=7;while(0);if((i|0)==7){i=0;f=c[b>>2]|0;if(!f){i=8;break}else{g=b;b=f}}}if((i|0)==8){h=b;g=b;break}else if((i|0)==11){h=b;break}else if((i|0)==12){h=b;break}}else{h=f;g=f}while(0);b=c[g>>2]|0;if(!b){b=j0a(52)|0;f=b+16|0;c[f>>2]=k;c[f+4>>2]=j;a[b+24>>0]=0;f=b+28|0;c[f>>2]=0;c[f+4>>2]=0;c[f+8>>2]=0;c[f+12>>2]=0;c[f+16>>2]=0;c[f+20>>2]=0;c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=h;c[g>>2]=b;f=c[c[d>>2]>>2]|0;if(!f)f=b;else{c[d>>2]=f;f=c[g>>2]|0}fp(c[d+4>>2]|0,f);d=d+8|0;c[d>>2]=(c[d>>2]|0)+1}c[b+28>>2]=e;a[b+24>>0]=1;return}function z_(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0;m=l;l=l+16|0;d=m;c[b+68>>2]=c[(c[a+24>>2]|0)+56>>2];j=a+96|0;k=c[j>>2]|0;h=k;if((k|0)==(b|0)){l=m;return}if(!k){if(ZQ(3)|0){k=mr(lr(3)|0,154232,53)|0;BSa(d,k+(c[(c[k>>2]|0)+-12>>2]|0)|0);i=cUa(d,230580)|0;i=kk[c[(c[i>>2]|0)+28>>2]&511](i,10)|0;dUa(d);VSa(k,i)|0;HSa(k)|0}c[a+92>>2]=b;c[j>>2]=b;l=m;return}i=b+56|0;e=c[i>>2]|0;if(!e){if(!(ZQ(3)|0)){l=m;return}k=mr(lr(3)|0,154286,60)|0;BSa(d,k+(c[(c[k>>2]|0)+-12>>2]|0)|0);j=cUa(d,230580)|0;j=kk[c[(c[j>>2]|0)+28>>2]&511](j,10)|0;dUa(d);VSa(k,j)|0;HSa(k)|0;l=m;return}f=b+52|0;g=c[f>>2]|0;if(!g){c[a+92>>2]=e;d=e}else{c[g+56>>2]=e;d=c[i>>2]|0}c[d+52>>2]=g;c[k+56>>2]=b;c[f>>2]=h;c[i>>2]=0;c[j>>2]=b;l=m;return}function A_(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;e=a+232|0;d=c[e>>2]|0;if((d|0)==(b|0))return;if(!d)d=0;else{f=d+48|0;c[f>>2]=(c[f>>2]|0)+-1;if(gk[c[(c[d>>2]|0)+220>>2]&1023](d)|0){XZ(a,0);c[a+24>>2]=1}d=c[e>>2]|0}if((d|0)!=(b|0)){c[e>>2]=b;if(b|0){f=b+8|0;c[f>>2]=(c[f>>2]|0)+1}if(d|0?(b=d+8|0,f=c[b>>2]|0,c[b>>2]=f-1,(f|0)==1):0)UU(d,1,1)}d=c[a+252>>2]|0;b=(c[a+256>>2]|0)-d|0;if((b|0)>0)z2a(d|0,0,b|0)|0;d=c[e>>2]|0;if(!d)return;f=d+48|0;c[f>>2]=(c[f>>2]|0)+1;if(!(gk[c[(c[d>>2]|0)+220>>2]&1023](d)|0))return;f=j0a(44)|0;c[f>>2]=0;c[f+4>>2]=0;c[f+8>>2]=0;c[f+12>>2]=0;c[f+16>>2]=0;c[f+20>>2]=0;e=f+12|0;c[f+16>>2]=0;c[f+20>>2]=0;c[e>>2]=68320;b=f+24|0;c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;c[f+36>>2]=2;c[f+40>>2]=0;b=f+4|0;d=c[20310]|0;c[b>>2]=d;c[b+(c[d+-12>>2]|0)>>2]=c[20311];c[f+8>>2]=0;d=c[20305]|0;c[f>>2]=d;c[f+(c[d+-12>>2]|0)>>2]=c[20306];c[f+(c[(c[f>>2]|0)+-16>>2]|0)>>2]=c[20307];c[f>>2]=80624;c[b>>2]=80780;c[e>>2]=81052;XZ(a,f);c[a+24>>2]=0;return}function B_(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0;q=l;l=l+16|0;n=q+8|0;o=q+4|0;m=q;i=c[d+124>>2]|0;j=b+216|0;k=b+220|0;e=c[k>>2]|0;f=c[j>>2]|0;g=e-f>>2;do if(g>>>0<=i>>>0){h=i+1|0;if(h>>>0>g>>>0){pD(j,h-g|0);break}if(h>>>0<g>>>0){g=f+(h<<2)|0;if((g|0)!=(e|0))do{e=e+-4|0;f=c[e>>2]|0;if(f|0?(r=f+8|0,h=c[r>>2]|0,c[r>>2]=h-1,(h|0)==1):0)UU(f,1,1);c[e>>2]=0}while((e|0)!=(g|0));c[k>>2]=g}}while(0);j=c[(c[j>>2]|0)+(i<<2)>>2]|0;if(!j){r=0;l=q;return r|0}e=b+232|0;if(!(c[e>>2]|0)){r=1;l=q;return r|0}Bk[c[(c[b>>2]|0)+248>>2]&2047](b);F_(b,d,c[e>>2]|0,n,o,m);h=c[m>>2]|0;i=c[b+188>>2]|0;g=c[n>>2]|0;f=c[o>>2]|0;e=c[b+176>>2]|0;if(((((((a[j+64>>0]|0)!=0?(p=c[j+28>>2]|0,(p|0)!=0):0)?(c[j+16>>2]|0)==3553:0)?(c[j+20>>2]|0)==(h|0):0)?((p|0)==(g|0)?(c[j+24>>2]|0)==(i|0):0):0)?(c[j+32>>2]|0)==(f|0):0)?(c[j+36>>2]|0)==1:0)e=(c[j+40>>2]|0)==(e|0);else e=0;r=e;l=q;return r|0}function C_(b,d,e){b=b|0;d=d|0;e=e|0;var f=0.0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;A=l;l=l+16|0;z=A;y=e+124|0;o=c[y>>2]|0;u=c[e+832>>2]|0;m=b+216|0;n=b+220|0;e=c[n>>2]|0;i=c[m>>2]|0;j=e-i>>2;do if(j>>>0<=o>>>0){k=o+1|0;if(k>>>0>j>>>0){pD(m,k-j|0);break}if(k>>>0<j>>>0){j=i+(k<<2)|0;if((j|0)!=(e|0))do{e=e+-4|0;i=c[e>>2]|0;if(i|0?(B=i+8|0,k=c[B>>2]|0,c[B>>2]=k-1,(k|0)==1):0)UU(i,1,1);c[e>>2]=0}while((e|0)!=(j|0));c[n>>2]=j}}while(0);e=c[(c[m>>2]|0)+(o<<2)>>2]|0;if((e|0?(p=c[e+12>>2]|0,q=b+12|0,r=c[u+1748>>2]|0,r|0):0)?(t=a[q+11>>0]|0,s=t<<24>>24<0,t=s?c[b+16>>2]|0:t&255,t|0):0)Qk[r&127](5890,p,t,s?c[q>>2]|0:q);k=c[b+84>>2]|0;e=c[b+88>>2]|0;m=c[b+92>>2]|0;i=(a[u+1059>>0]|0)==0;e=(e|0)==33648&i?10497:e;m=(m|0)==33648&i?10497:m;k=(k|0)==33648&i?10497:k;i=(a[u+1060>>0]|0)==0;e=i&(e|0)==33071?10496:e;m=i&(m|0)==33071?10496:m;k=i&(k|0)==33071?10496:k;i=u+1061|0;j=(a[i>>0]|0)==0;e=j&(e|0)==33069?10496:e;m=j&(m|0)==33069?10496:m;k=j&(k|0)==33069?10496:k;k=(k|0)==10496?33071:k;e=(e|0)==10496?33071:e;m=(m|0)==10496?33071:m;j=kk[c[(c[b>>2]|0)+240>>2]&511](b,0)|0;if(((j|0?(t=c[j+116>>2]|0,v=j+120|0,B=c[v>>2]|0,w=B,x=t,(t|0)!=(B|0)):0)?a[u+1067>>0]|0:0)?((w-x>>2)+1|0)<(VT(c[j+72>>2]|0,c[j+76>>2]|0,c[j+80>>2]|0)|0):0)oi(d|0,33085,(c[v>>2]|0)-(c[j+116>>2]|0)>>2|0);oi(d|0,10242,k|0);if((d|0)!=3552?(oi(d|0,10243,e|0),(d|0)==32879):0)oi(32879,32882,m|0);oi(d|0,10241,c[b+96>>2]|0);oi(d|0,10240,c[b+100>>2]|0);a:do if(a[u+1049>>0]|0){switch(c[b+184>>2]|0){case 4:case 2:break a;default:{}}mi(d|0,34046,+(+g[b+104>>2]))}while(0);if(a[u+1050>>0]|0)pi(d|0,36422,b+120|0);b:do if(a[i>>0]|0)switch(c[b+184>>2]|0){case 2:{c[z>>2]=~~+h[b+144>>3];c[z+4>>2]=~~+h[b+152>>3];c[z+8>>2]=~~+h[b+160>>3];c[z+12>>2]=~~+h[b+168>>3];Nk[c[u+1132>>2]&255](d,4100,z);break b}case 4:{c[z>>2]=~~+h[b+144>>3]>>>0;c[z+4>>2]=~~+h[b+152>>3]>>>0;c[z+8>>2]=~~+h[b+160>>3]>>>0;c[z+12>>2]=~~+h[b+168>>3]>>>0;Nk[c[u+1136>>2]&255](d,4100,z);break b}default:{g[z>>2]=+h[b+144>>3];g[z+4>>2]=+h[b+152>>3];g[z+8>>2]=+h[b+160>>3];g[z+12>>2]=+h[b+168>>3];ni(d|0,4100,z|0);break b}}while(0);c:do if(a[u+1065>>0]|0){if((d|0)<34037)switch(d|0){case 3552:case 3553:break;default:break c}else switch(d|0){case 34037:case 34067:case 35866:break;default:break c}switch(c[b+184>>2]|0){case 4:case 2:break c;default:{}}if(!(a[b+200>>0]|0)){oi(d|0,34892,0);break}oi(d|0,34892,34894);oi(d|0,34893,c[b+204>>2]|0);if(a[u+1066>>0]|0?(f=+g[b+212>>2],f>0.0):0)mi(d|0,32959,+f)}while(0);e=b+112|0;f=+g[b+108>>2];if(+g[e>>2]-f>=0.0){mi(d|0,33082,+f);mi(d|0,33083,+(+g[e>>2]))}mi(d|0,34049,+(+g[b+116>>2]));n=c[y>>2]|0;m=b+60|0;i=b+64|0;e=c[m>>2]|0;j=(c[i>>2]|0)-e>>2;if(j>>>0>n>>>0){B=e;B=B+(n<<2)|0;c[B>>2]=0;l=A;return}k=n+1|0;c[z>>2]=0;if(k>>>0<=j>>>0){if(k>>>0<j>>>0)c[i>>2]=e+(k<<2)}else{cu(m,k-j|0,z);e=c[m>>2]|0}B=e;B=B+(n<<2)|0;c[B>>2]=0;l=A;return}function D_(b,d,e,f,g,h,i,j){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0;F=l;l=l+80|0;B=F+8|0;C=F;if(!f){l=F;return}q=f+112|0;if(!(c[q>>2]|0)){l=F;return}r=f+72|0;if(((c[r>>2]|0)==(g|0)?(s=f+76|0,(c[s>>2]|0)==(h|0)):0)?(D=f+88|0,(c[D>>2]|0)==(i|0)):0){if(J_(c[b+188>>2]|0)|0){if((g&-4|0)!=(g|0)){H_(b,d,e,f,g,h,0);l=F;return}if((h&-4|0)!=(h|0)){H_(b,d,e,f,g,h,0);l=F;return}}u=c[d+124>>2]|0;t=d+832|0;x=c[t>>2]|0;E=f+92|0;y=J_(c[E>>2]|0)|0;k=f+100|0;ei(3317,c[k>>2]|0);if((c[r>>2]|0)==(g|0)?(c[s>>2]|0)==(h|0):0){n=c[q>>2]|0;z=0}else{if((c[f+116>>2]|0)!=(c[f+120>>2]|0)){if(!(ZQ(2)|0)){l=F;return}G=mr(lr(2)|0,154462,75)|0;BSa(B,G+(c[(c[G>>2]|0)+-12>>2]|0)|0);e=cUa(B,230580)|0;e=kk[c[(c[e>>2]|0)+28>>2]&511](e,10)|0;dUa(B);VSa(G,e)|0;HSa(G)|0;l=F;return}if(y){if(!(ZQ(2)|0)){l=F;return}G=mr(lr(2)|0,154538,76)|0;BSa(B,G+(c[(c[G>>2]|0)+-12>>2]|0)|0);e=cUa(B,230580)|0;e=kk[c[(c[e>>2]|0)+28>>2]&511](e,10)|0;dUa(B);VSa(G,e)|0;HSa(G)|0;l=F;return}m=f+96|0;n=k0a(N(ST(g,c[E>>2]|0,c[m>>2]|0,c[k>>2]|0)|0,h)|0)|0;o=f+52|0;p=o+11|0;j=a[p>>0]|0;if(j<<24>>24<0)j=c[f+56>>2]|0;else j=j&255;i=ZQ(3)|0;if(!j){if(i){z=mr(lr(3)|0,154647,20)|0;z=mr(PSa(z,c[r>>2]|0)|0,188047,1)|0;z=mr(PSa(mr(PSa(mr(PSa(z,c[s>>2]|0)|0,154640,6)|0,g)|0,188047,1)|0,h)|0,184787,1)|0;BSa(B,z+(c[(c[z>>2]|0)+-12>>2]|0)|0);p=cUa(B,230580)|0;p=kk[c[(c[p>>2]|0)+28>>2]&511](p,10)|0;dUa(B);VSa(z,p)|0;HSa(z)|0}}else if(i){i=mr(lr(3)|0,154615,15)|0;z=a[p>>0]|0;p=z<<24>>24<0;z=mr(mr(i,p?c[o>>2]|0:o,p?c[f+56>>2]|0:z&255)|0,154631,8)|0;z=mr(PSa(z,c[r>>2]|0)|0,188047,1)|0;z=mr(PSa(mr(PSa(mr(PSa(z,c[s>>2]|0)|0,154640,6)|0,g)|0,188047,1)|0,h)|0,184787,1)|0;BSa(B,z+(c[(c[z>>2]|0)+-12>>2]|0)|0);p=cUa(B,230580)|0;p=kk[c[(c[p>>2]|0)+28>>2]&511](p,10)|0;dUa(B);VSa(z,p)|0;HSa(z)|0}DQ(B);z=c[k>>2]|0;c[B>>2]=z;c[B+32>>2]=z;z=c[m>>2]|0;FI(B,c[E>>2]|0,c[r>>2]|0,c[s>>2]|0,z,c[q>>2]|0,g,h,z,n)|0;z=1}i=(c[b+96>>2]|1|0)!=9729;if(i)if((c[f+116>>2]|0)==(c[f+120>>2]|0))if(a[b+136>>0]|0){j=c[t>>2]|0;if(!(a[j+1062>>0]|0))if((a[j+1292>>0]|0)!=0?(c[j+1364>>2]|0)!=0:0){j=1;v=35}else{k=1;o=0;m=0}else{j=1;v=35}}else{k=1;o=0;m=0}else{k=0;o=0;m=0}else{j=0;v=35}if((v|0)==35){k=0;o=j;m=j|i^1}j=c[f+40>>2]|0;if((j|0)!=0?(w=pu(j,u)|0,!(k|(z|(w|0)==0))):0){j=d+740|0;if((c[j>>2]|0)!=(w|0)){if(!(a[w+36>>0]|0)){Jk[c[(c[w+72>>2]|0)+724>>2]&1023](c[w+20>>2]|0,c[w+16>>2]|0);i=c[w+56>>2]|0;if(i|0)xu(i,w)}else tG(w);c[j>>2]=w}u=w;t=c[(c[w+40>>2]|0)+((c[f+36>>2]|0)*20|0)+12>>2]|0}else{u=0;t=n}a:do if(!m){j=c[f+116>>2]|0;s=f+120|0;i=c[s>>2]|0;if((j|0)==(i|0)){H_(b,d,e,f,g,h,0);break}r=f+116|0;j=i-j|0;q=j>>2;if(!y){if((j|0)<0|(h|g|0)==0)break;o=f+96|0;n=0;j=g;while(1){m=(j|0)==0?1:j;k=(h|0)==0?1:h;h=c[E>>2]|0;i=c[o>>2]|0;if((n|0)!=0?(A=c[r>>2]|0,(((c[s>>2]|0)-A>>2)+1|0)>>>0>n>>>0):0)j=c[A+(n+-1<<2)>>2]|0;else j=0;qi(e|0,n|0,0,0,m|0,k|0,h|0,i|0,t+j|0);j=m>>1;h=k>>1;if((n|0)>=(q|0)|(h|j|0)==0)break a;else n=n+1|0}}if(c[x+1116>>2]|0?!((j|0)<0|(h|g|0)==0):0){p=x+1120|0;o=0;j=g;while(1){n=(j|0)==0?1:j;m=(h|0)==0?1:h;K_(c[D>>2]|0,n,m,1,B,C);h=c[p>>2]|0;i=c[E>>2]|0;k=c[C>>2]|0;do if(!o)j=0;else{j=c[r>>2]|0;if((((c[s>>2]|0)-j>>2)+1|0)>>>0<=o>>>0){j=0;break}j=c[j+(o+-1<<2)>>2]|0}while(0);Wk[h&15](e,o,0,0,n,m,i,k,t+j|0);j=n>>1;h=m>>1;if((o|0)>=(q|0)|(h|j|0)==0)break;else o=o+1|0}}}else{j=o&1;if(y){if(c[x+1116>>2]|0){K_(c[D>>2]|0,g,h,1,B,C);Wk[c[x+1120>>2]&15](e,0,0,0,g,h,c[E>>2]|0,c[C>>2]|0,t)}}else qi(e|0,0,0,0,g|0,h|0,c[E>>2]|0,c[f+96>>2]|0,t|0);L_(b,d,j)}while(0);if(u|0?(G=d+740|0,c[G>>2]|0):0){Jk[c[d+820>>2]&1023](35052,0);c[G>>2]=0}if((t|0)==0|z^1){l=F;return}m0a(t);l=F;return}H_(b,d,e,f,g,h,0);l=F;return}function E_(b,d,e,f,g,h,i){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0;a[b+64>>0]=1;k=b+16|0;j=b+28|0;m=c[j>>2]|0;if(((((m|0?(c[b+20>>2]|0)==(d|0):0)?((m|0)==(f|0)?(c[b+24>>2]|0)==(e|0):0):0)?(c[b+32>>2]|0)==(g|0):0)?(c[b+36>>2]|0)==(h|0):0)?(c[b+40>>2]|0)==(i|0):0)return;l=b+44|0;m=c[l>>2]|0;c[b+20>>2]=d;c[b+24>>2]=e;c[j>>2]=f;c[b+32>>2]=g;c[b+36>>2]=h;c[b+40>>2]=i;O_(k);g=b+48|0;h=c[g>>2]|0;if(!h)return;i=P_(c[h+24>>2]|0,k)|0;if((i|0)!=(h|0)&(i|0)!=0){j=h+64|0;c[j>>2]=(c[j>>2]|0)+-1;j=b+52|0;e=c[j>>2]|0;f=b+56|0;d=c[f>>2]|0;if(!e)c[h+92>>2]=d;else{c[e+56>>2]=d;d=c[f>>2]|0}c[((d|0)==0?h+96|0:d+52|0)>>2]=e;c[f>>2]=0;c[j>>2]=0;c[g>>2]=i;d=i+64|0;c[d>>2]=(c[d>>2]|0)+1;d=c[i+24>>2]|0;c[b+68>>2]=c[d+56>>2];f=i+96|0;e=c[f>>2]|0;if(e|0)c[e+56>>2]=b;c[j>>2]=e;e=i+92|0;if(!(c[e>>2]|0))c[e>>2]=b;c[f>>2]=b}else d=c[(c[g>>2]|0)+24>>2]|0;b=d+36|0;m=(c[b>>2]|0)-m|0;c[b>>2]=m;c[b>>2]=(c[l>>2]|0)+m;return}function F_(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0;l=c[d+832>>2]|0;i=b+96|0;if((a[b+139>>0]|0)==0?(k=c[i>>2]|0,(a[((k|1|0)==9729?l+1076|0:l+1075|0)>>0]|0)!=0):0){j=c[e+76>>2]|0;d=c[e+72>>2]|0;b=k}else{k=b+176|0;d=UT((c[e+72>>2]|0)-(c[k>>2]<<1)|0,.5)|0;b=c[k>>2]<<1;j=UT((c[e+76>>2]|0)-b|0,.5)|0;j=(c[k>>2]<<1)+j|0;d=b+d|0;b=c[i>>2]|0}i=c[l+1068>>2]|0;k=(d|0)>(i|0)?i:d;i=(j|0)>(i|0)?i:j;c[f>>2]=k;c[g>>2]=i;do if((b&-2|0)==9728)d=1;else{b=c[e+116>>2]|0;d=c[e+120>>2]|0;if((b|0)!=(d|0)){d=(d-b>>2)+1|0;break}c[h>>2]=1;if(!((k|0)>1|(i|0)>1))return;b=1;d=1;do{b=b<<1;d=d+1|0}while((b|0)<(k|0)|(b|0)<(i|0))}while(0);c[h>>2]=d;return}function G_(a,b,d,e,f,g,h,i,j){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,m=0;m=l;l=l+16|0;k=m;N_(k,M_(qu(b)|0)|0,a,d,e,f,g,h,i,j);i=a+216|0;h=a+220|0;d=c[h>>2]|0;e=c[i>>2]|0;f=d-e>>2;do if(f>>>0<=b>>>0){g=b+1|0;if(g>>>0>f>>>0){pD(i,g-f|0);break}if(g>>>0<f>>>0){f=e+(g<<2)|0;if((f|0)!=(d|0))do{d=d+-4|0;e=c[d>>2]|0;if(e|0?(j=e+8|0,a=c[j>>2]|0,c[j>>2]=a-1,(a|0)==1):0)UU(e,1,1);c[d>>2]=0}while((d|0)!=(f|0));c[h>>2]=f}}while(0);e=(c[i>>2]|0)+(b<<2)|0;d=c[e>>2]|0;f=c[k>>2]|0;if((d|0)!=(f|0)){c[e>>2]=f;if(f|0){a=f+8|0;c[a>>2]=(c[a>>2]|0)+1}if(d|0?(j=d+8|0,a=c[j>>2]|0,c[j>>2]=a-1,(a|0)==1):0)UU(d,1,1);d=c[k>>2]|0}if(d|0?(a=d+8|0,k=c[a>>2]|0,c[a>>2]=k-1,(k|0)==1):0)UU(d,1,1);d=c[h>>2]|0;e=c[i>>2]|0;f=d-e>>2;if(f>>>0>b>>>0){k=c[i>>2]|0;b=k+(b<<2)|0;b=c[b>>2]|0;l=m;return b|0}g=b+1|0;if(g>>>0>f>>>0){pD(i,g-f|0);k=c[i>>2]|0;b=k+(b<<2)|0;b=c[b>>2]|0;l=m;return b|0}if(g>>>0>=f>>>0){k=c[i>>2]|0;b=k+(b<<2)|0;b=c[b>>2]|0;l=m;return b|0}f=e+(g<<2)|0;if((f|0)!=(d|0))do{d=d+-4|0;e=c[d>>2]|0;if(e|0?(a=e+8|0,k=c[a>>2]|0,c[a>>2]=k-1,(k|0)==1):0)UU(e,1,1);c[d>>2]=0}while((d|0)!=(f|0));c[h>>2]=f;k=c[i>>2]|0;b=k+(b<<2)|0;b=c[b>>2]|0;l=m;return b|0}function H_(b,d,e,f,g,h,i){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0;J=l;l=l+80|0;B=J+8|0;C=J;if(!f){l=J;return}k=f+112|0;if(!(c[k>>2]|0)){l=J;return}s=d+832|0;x=c[s>>2]|0;F=f+92|0;w=J_(c[F>>2]|0)|0;A=b+188|0;a:do if(J_(c[A>>2]|0)|0?(I=h|g,(I&-4|0)!=(I|0)):0){if(ZQ(3)|0)mr(PSa(mr(PSa(mr(lr(3)|0,154347,83)|0,g)|0,207266,1)|0,h)|0,154431,30)|0;switch(c[A>>2]|0){case 34029:case 37493:case 37492:case 36196:case 35840:case 35841:case 33776:{c[A>>2]=6407;break a}case 34030:case 37497:case 37496:case 37495:case 37494:case 35842:case 35843:case 33779:case 33778:case 33777:{c[A>>2]=6408;break a}case 34025:{c[A>>2]=6406;break a}case 34026:{c[A>>2]=6409;break a}case 34027:{c[A>>2]=6410;break a}case 34028:{c[A>>2]=32841;break a}case 36283:case 36284:case 37489:case 37488:{c[A>>2]=6403;break a}case 36285:case 36286:case 37491:case 37490:{c[A>>2]=33319;break a}default:break a}}while(0);m=f+100|0;ei(3317,c[m>>2]|0);n=f+84|0;if((a[x+1072>>0]|0)!=0?(a[b+138>>0]|0)!=0:0){ei(34226,1);I=1}else I=0;v=f+72|0;if((c[v>>2]|0)==(g|0)?(c[f+76>>2]|0)==(h|0):0){p=c[k>>2]|0;H=0}else{if((c[f+116>>2]|0)!=(c[f+120>>2]|0)){if(!(ZQ(2)|0)){l=J;return}f=mr(lr(2)|0,154462,75)|0;BSa(B,f+(c[(c[f>>2]|0)+-12>>2]|0)|0);d=cUa(B,230580)|0;d=kk[c[(c[d>>2]|0)+28>>2]&511](d,10)|0;dUa(B);VSa(f,d)|0;HSa(f)|0;l=J;return}if(w){if(!(ZQ(2)|0)){l=J;return}f=mr(lr(2)|0,154538,76)|0;BSa(B,f+(c[(c[f>>2]|0)+-12>>2]|0)|0);d=cUa(B,230580)|0;d=kk[c[(c[d>>2]|0)+28>>2]&511](d,10)|0;dUa(B);VSa(f,d)|0;HSa(f)|0;l=J;return}o=f+96|0;p=k0a(N(ST(g,c[F>>2]|0,c[o>>2]|0,c[m>>2]|0)|0,h)|0)|0;q=f+52|0;r=q+11|0;i=a[r>>0]|0;if(i<<24>>24<0)i=c[f+56>>2]|0;else i=i&255;j=ZQ(3)|0;if(!i){if(j){H=mr(lr(3)|0,154647,20)|0;H=mr(PSa(H,c[v>>2]|0)|0,188047,1)|0;H=mr(PSa(mr(PSa(mr(PSa(H,c[f+76>>2]|0)|0,154640,6)|0,g)|0,188047,1)|0,h)|0,184787,1)|0;BSa(B,H+(c[(c[H>>2]|0)+-12>>2]|0)|0);G=cUa(B,230580)|0;G=kk[c[(c[G>>2]|0)+28>>2]&511](G,10)|0;dUa(B);VSa(H,G)|0;HSa(H)|0}}else if(j){E=mr(lr(3)|0,154615,15)|0;H=a[r>>0]|0;G=H<<24>>24<0;H=mr(mr(E,G?c[q>>2]|0:q,G?c[f+56>>2]|0:H&255)|0,154631,8)|0;H=mr(PSa(H,c[v>>2]|0)|0,188047,1)|0;H=mr(PSa(mr(PSa(mr(PSa(H,c[f+76>>2]|0)|0,154640,6)|0,g)|0,188047,1)|0,h)|0,184787,1)|0;BSa(B,H+(c[(c[H>>2]|0)+-12>>2]|0)|0);G=cUa(B,230580)|0;G=kk[c[(c[G>>2]|0)+28>>2]&511](G,10)|0;dUa(B);VSa(H,G)|0;HSa(H)|0}DQ(B);H=c[m>>2]|0;c[B>>2]=H;c[B+4>>2]=c[n>>2];c[B+32>>2]=H;H=c[o>>2]|0;FI(B,c[F>>2]|0,c[v>>2]|0,c[f+76>>2]|0,H,c[k>>2]|0,g,h,H,p)|0;H=1}j=(c[b+96>>2]|1|0)!=9729;if(j)if((c[f+116>>2]|0)==(c[f+120>>2]|0))if(a[b+136>>0]|0){i=c[s>>2]|0;if(!(a[i+1062>>0]|0))if((a[i+1292>>0]|0)!=0?(c[i+1364>>2]|0)!=0:0){i=1;t=42}else{k=1;n=0;m=0}else{i=1;t=42}}else{k=1;n=0;m=0}else{k=0;n=0;m=0}else{i=0;t=42}if((t|0)==42){k=0;n=i;m=i|j^1}G=f+40|0;i=c[G>>2]|0;if((i|0)!=0?(u=pu(i,c[d+124>>2]|0)|0,!(k|(H|(u|0)==0))):0){i=d+740|0;if((c[i>>2]|0)!=(u|0)){if(!(a[u+36>>0]|0)){Jk[c[(c[u+72>>2]|0)+724>>2]&1023](c[u+20>>2]|0,c[u+16>>2]|0);j=c[u+56>>2]|0;if(j|0)xu(j,u)}else tG(u);c[i>>2]=u}E=u;D=c[(c[u+40>>2]|0)+((c[f+36>>2]|0)*20|0)+12>>2]|0}else{E=0;D=p}b:do if(!m){i=c[f+116>>2]|0;u=f+120|0;j=c[u>>2]|0;if((i|0)==(j|0)){if(w){if(!(ZQ(2)|0))break;e=mr(lr(2)|0,154668,47)|0;BSa(B,e+(c[(c[e>>2]|0)+-12>>2]|0)|0);F=cUa(B,230580)|0;F=kk[c[(c[F>>2]|0)+28>>2]&511](F,10)|0;dUa(B);VSa(e,F)|0;HSa(e)|0;break}YQ(e,c[A>>2]|0,g,h,c[F>>2]|0,c[f+96>>2]|0,D)|0;i=c[v>>2]|0;h=c[f+76>>2]|0;if(!(h|i))break;while(1){i=i>>1;h=h>>1;if(!(h|i))break b}}t=f+116|0;p=j-i|0;s=p>>2;m=s+1|0;n=a[x+1074>>0]|0;if(n<<24>>24){o=x+1088|0;c:do if((c[o>>2]|0)!=0?(c[b+176>>2]|0)==0:0){i=c[A>>2]|0;if(w){i=34029==(i|0)|34030==(i|0)|35912==(i|0)|35913==(i|0)|36283==(i|0)|36284==(i|0)|33776==(i|0)|33777==(i|0)|33778==(i|0)|33779==(i|0)?i:0;break}j=0;do{if((c[1104+(j*12|0)>>2]|0)==(i|0))break c;j=j+1|0}while(j>>>0<69);j=c[f+88>>2]|0;k=c[f+96>>2]|0;i=0;while(1){if((c[1104+(i*12|0)+4>>2]|0)==(j|0)?(c[1104+(i*12|0)+8>>2]|0)==(k|0):0)break;i=i+1|0;if(i>>>0>=69){i=0;break c}}i=c[1104+(i*12|0)>>2]|0}else i=0;while(0);if((i|0)!=0&(n&255)|0){if((gk[c[(c[b>>2]|0)+212>>2]&1023](b)|0)==34067){if((e|0)==34069)Sk[c[o>>2]&63](34067,m,i,g,h)}else Sk[c[o>>2]&63](e,m,i,g,h);if(!w){if((p|0)<0|(h|g|0)==0)break;o=f+96|0;n=0;i=g;while(1){m=(i|0)==0?1:i;k=(h|0)==0?1:h;h=c[F>>2]|0;j=c[o>>2]|0;do if(!n)i=0;else{i=c[t>>2]|0;if((((c[u>>2]|0)-i>>2)+1|0)>>>0<=n>>>0){i=0;break}i=c[i+(n+-1<<2)>>2]|0}while(0);qi(e|0,n|0,0,0,m|0,k|0,h|0,j|0,D+i|0);i=m>>1;h=k>>1;if((n|0)>=(s|0)|(h|i|0)==0)break b;else n=n+1|0}}if(!(c[x+1116>>2]|0))break;if(!((p|0)<0|(h|g|0)==0)){q=f+88|0;p=x+1120|0;o=0;i=g;while(1){n=(i|0)==0?1:i;m=(h|0)==0?1:h;K_(c[q>>2]|0,n,m,1,B,C);h=c[p>>2]|0;j=c[F>>2]|0;k=c[C>>2]|0;do if(!o)i=0;else{i=c[t>>2]|0;if((((c[u>>2]|0)-i>>2)+1|0)>>>0<=o>>>0){i=0;break}i=c[i+(o+-1<<2)>>2]|0}while(0);Wk[h&15](e,o,0,0,n,m,j,k,D+i|0);i=n>>1;h=m>>1;if((o|0)>=(s|0)|(h|i|0)==0)break;else o=o+1|0}}break}}if(!w){if((p|0)<0|(h|g|0)==0)break;q=b+176|0;r=f+96|0;p=0;i=g;while(1){o=(i|0)==0?1:i;n=(h|0)==0?1:h;h=c[A>>2]|0;j=c[q>>2]|0;k=c[F>>2]|0;m=c[r>>2]|0;if((p|0)!=0?(y=c[t>>2]|0,(((c[u>>2]|0)-y>>2)+1|0)>>>0>p>>>0):0)i=c[y+(p+-1<<2)>>2]|0;else i=0;li(e|0,p|0,h|0,o|0,n|0,j|0,k|0,m|0,D+i|0);i=o>>1;h=n>>1;if((p|0)>=(s|0)|(h|i|0)==0)break b;else p=p+1|0}}r=x+1116|0;if(c[r>>2]|0?!((p|0)<0|(h|g|0)==0):0){q=b+176|0;p=0;i=g;while(1){o=(i|0)==0?1:i;n=(h|0)==0?1:h;K_(c[A>>2]|0,o,n,1,B,C);h=c[r>>2]|0;j=c[A>>2]|0;k=c[q>>2]|0;m=c[C>>2]|0;if((p|0)!=0?(z=c[t>>2]|0,(((c[u>>2]|0)-z>>2)+1|0)>>>0>p>>>0):0)i=c[z+(p+-1<<2)>>2]|0;else i=0;Vk[h&7](e,p,j,o,n,k,m,D+i|0);i=o>>1;h=n>>1;if((p|0)>=(s|0)|(h|i|0)==0)break;else p=p+1|0}}}else{j=n&1;if(w){i=x+1116|0;if(c[i>>2]|0){K_(c[A>>2]|0,g,h,1,B,C);Vk[c[i>>2]&7](e,0,c[A>>2]|0,g,h,0,c[C>>2]|0,D)}}else li(e|0,0,c[A>>2]|0,g|0,h|0,c[b+176>>2]|0,c[F>>2]|0,c[f+96>>2]|0,D|0);L_(b,d,j)}while(0);if(E|0){i=d+740|0;if(c[i>>2]|0){Jk[c[d+820>>2]&1023](35052,0);c[i>>2]=0}i=c[G>>2]|0;if(a[i+44>>0]|0?(jR(E,f),iR(E)|0):0)Jk[c[(c[i>>2]|0)+160>>2]&1023](i,d)}if(!((D|0)==0|H^1))m0a(D);if(!I){l=J;return}ei(34226,0);l=J;return}function I_(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0;o=l;l=l+16|0;k=o;m=c[d+124>>2]|0;i=b+216|0;j=b+220|0;e=c[j>>2]|0;h=c[i>>2]|0;f=e-h>>2;do if(f>>>0<=m>>>0){g=m+1|0;if(g>>>0>f>>>0){pD(i,g-f|0);break}if(g>>>0<f>>>0){g=h+(g<<2)|0;if((g|0)!=(e|0))do{e=e+-4|0;f=c[e>>2]|0;if(f|0?(p=f+8|0,h=c[p>>2]|0,c[p>>2]=h-1,(h|0)==1):0)UU(f,1,1);c[e>>2]=0}while((e|0)!=(g|0));c[j>>2]=g}}while(0);j=c[(c[i>>2]|0)+(m<<2)>>2]|0;if(!j){l=o;return}f=b+72|0;g=b+76|0;e=c[f>>2]|0;h=(c[g>>2]|0)-e>>2;if(h>>>0<=m>>>0){i=m+1|0;c[k>>2]=0;if(i>>>0<=h>>>0){if(i>>>0<h>>>0)c[g>>2]=e+(i<<2)}else{cu(f,i-h|0,k);e=c[f>>2]|0}}c[e+(m<<2)>>2]=0;switch(c[b+184>>2]|0){case 4:case 2:{Jk[c[(c[b>>2]|0)+252>>2]&1023](b,d);l=o;return}default:{}}e=c[d+832>>2]|0;if(a[e+1292>>0]|0?(n=e+1364|0,c[n>>2]|0):0){x_(j,d);Bk[c[n>>2]&2047](c[j+16>>2]|0);j=c[d+732>>2]|0;k=d+696|0;i=d+700|0;e=c[i>>2]|0;f=c[k>>2]|0;g=(e-f|0)/12|0;do if(g>>>0<=j>>>0){h=j+1|0;if(h>>>0>g>>>0){sD(k,h-g|0);break}if(h>>>0<g>>>0){f=f+(h*12|0)|0;if((f|0)!=(e|0))do{p=e;e=e+-12|0;tD(e,c[p+-8>>2]|0)}while((e|0)!=(f|0));c[i>>2]=f}}while(0);y_(0,(c[k>>2]|0)+(j*12|0)|0,b);l=o;return}Jk[c[(c[b>>2]|0)+252>>2]&1023](b,d);l=o;return}function J_(a){a=a|0;switch(a|0){case 35843:case 35842:case 35841:case 35840:case 37491:case 37490:case 37489:case 37488:case 37497:case 37496:case 37495:case 37494:case 37493:case 37492:case 36196:case 36285:case 36286:case 36283:case 36284:case 33779:case 33778:case 33777:case 33776:case 34029:case 34030:case 34026:case 34027:case 34028:case 34025:{a=1;break}default:a=0}return a|0}function K_(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0;j=l;l=l+16|0;h=j;i=a|1;a:do switch(i|0){case 33777:{a=8;break}case 33779:{a=16;break}default:if((a|0)==36196)a=8;else switch(i|0){case 37489:case 37495:case 37493:{a=8;break a}case 37497:{a=16;break a}case 37491:{a=16;break a}default:{if((a+-36283|0)>>>0<2){a=8;break a}if((a+-36285|0)>>>0<2){a=16;break a}switch(a|2|0){case 35843:{c[f>>2]=32;f=N((b|0)<16?16:((b|0)/8|0)<<3,(d|0)<8?2:(d|0)/4|0)|0;c[g>>2]=f;l=j;return}case 35842:{c[f>>2]=16;f=N((b|0)<8?16:((b|0)/4|0)<<3,(d|0)<8?2:(d|0)/4|0)|0;c[g>>2]=f;l=j;return}default:{if(!(ZQ(2)|0)){a=0;break a}a=mr(QSa(mr(lr(2)|0,154716,84)|0,a)|0,154801,14)|0;BSa(h,a+(c[(c[a>>2]|0)+-12>>2]|0)|0);i=cUa(h,230580)|0;i=kk[c[(c[i>>2]|0)+28>>2]&511](i,10)|0;dUa(h);VSa(a,i)|0;HSa(a)|0;a=0;break a}}}}}while(0);c[f>>2]=a;f=N(N(N((b+3|0)/4|0,e)|0,(d+3|0)/4|0)|0,a)|0;c[g>>2]=f;l=j;return}function L_(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;switch(d|0){case 1:{h=c[b+124>>2]|0;i=a+216|0;g=a+220|0;d=c[g>>2]|0;f=c[i>>2]|0;a=d-f>>2;do if(a>>>0<=h>>>0){e=h+1|0;if(e>>>0>a>>>0){pD(i,e-a|0);break}if(e>>>0<a>>>0){e=f+(e<<2)|0;if((e|0)!=(d|0))do{d=d+-4|0;a=c[d>>2]|0;if(a|0?(j=a+8|0,f=c[j>>2]|0,c[j>>2]=f-1,(f|0)==1):0)UU(a,1,1);c[d>>2]=0}while((d|0)!=(e|0));c[g>>2]=e}}while(0);d=c[(c[i>>2]|0)+(h<<2)>>2]|0;if(!d)return;Bk[c[(c[b+832>>2]|0)+1364>>2]&2047](c[d+16>>2]|0);return}case 2:{oi(3553,33169,0);return}default:return}}function M_(b){b=b|0;var d=0,e=0,f=0,g=0,i=0,j=0,k=0,m=0,n=0;n=l;l=l+16|0;m=n;i=b+36|0;e=b+40|0;d=c[e>>2]|0;do if(d){f=b+40|0;while(1){e=c[d+16>>2]|0;if(e>>>0>47400>>>0){e=c[d>>2]|0;if(!e){e=5;break}else{f=d;d=e}}else{if(e>>>0>=47400>>>0){e=9;break}f=d+4|0;e=c[f>>2]|0;if(!e){e=8;break}else d=e}}if((e|0)==5){g=d;f=d;break}else if((e|0)==8){g=d;break}else if((e|0)==9){g=d;break}}else{g=e;f=e}while(0);d=c[f>>2]|0;if(!d){d=j0a(24)|0;c[d+16>>2]=47400;c[d+20>>2]=0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=g;c[f>>2]=d;e=c[c[i>>2]>>2]|0;if(!e)e=d;else{c[i>>2]=e;e=c[f>>2]|0}fp(c[b+40>>2]|0,e);k=b+44|0;c[k>>2]=(c[k>>2]|0)+1}j=d+20|0;if(c[j>>2]|0){m=c[j>>2]|0;l=n;return m|0}k=j0a(96)|0;d=c[b+24>>2]|0;e=j0a(32)|0;c[m>>2]=e;c[m+8>>2]=-2147483616;c[m+4>>2]=20;f=e;g=155094;i=f+20|0;do{a[f>>0]=a[g>>0]|0;f=f+1|0;g=g+1|0}while((f|0)<(i|0));a[e+20>>0]=0;Cu(k,m,d);if((a[m+11>>0]|0)<0)l0a(c[m>>2]|0);c[k>>2]=83748;m=k+28|0;d=k+48|0;c[d>>2]=0;c[k+52>>2]=0;c[m>>2]=0;c[m+4>>2]=0;c[m+8>>2]=0;c[m+12>>2]=0;c[k+44>>2]=d;c[k+56>>2]=0;c[k+60>>2]=0;c[k+64>>2]=0;h[k+72>>3]=0.0;c[k+80>>2]=0;h[k+88>>3]=0.0;d=c[j>>2]|0;if((d|0)==(k|0)){m=c[j>>2]|0;l=n;return m|0}c[j>>2]=k;m=k+8|0;c[m>>2]=(c[m>>2]|0)+1;if(!d){m=c[j>>2]|0;l=n;return m|0}b=d+8|0;m=c[b>>2]|0;c[b>>2]=m-1;if((m|0)!=1){m=c[j>>2]|0;l=n;return m|0}UU(d,1,1);m=c[j>>2]|0;l=n;return m|0}function N_(b,d,e,f,g,i,j,k,m,n){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;i=i|0;j=j|0;k=k|0;m=m|0;n=n|0;var o=0,p=0,q=0,r=0,s=0,t=0,u=0.0,v=0.0;s=l;l=l+32|0;o=s;p=d+88|0;if((a[223712]|0)==0?g2a(223712)|0:0){h[27966]=1.0e-06;fc(1,o|0)|0;r=c[o>>2]|0;r=o2a(r|0,((r|0)<0)<<31>>31|0,1e6,0)|0;q=y;t=c[o+4>>2]|0;t=t2a(t|0,((t|0)<0)<<31>>31|0,1e3,0)|0;q=p2a(t|0,y|0,r|0,q|0)|0;r=223720;c[r>>2]=q;c[r+4>>2]=y}fc(1,o|0)|0;r=c[o>>2]|0;r=o2a(r|0,((r|0)<0)<<31>>31|0,1e6,0)|0;q=y;t=c[o+4>>2]|0;t=t2a(t|0,((t|0)<0)<<31>>31|0,1e3,0)|0;q=p2a(t|0,y|0,r|0,q|0)|0;r=y;t=d+80|0;c[t>>2]=(c[t>>2]|0)+1;c[o>>2]=f;c[o+4>>2]=g;c[o+8>>2]=i;c[o+12>>2]=j;c[o+16>>2]=k;c[o+20>>2]=m;c[o+24>>2]=n;c[o+28>>2]=0;O_(o);Q_(b,P_(d,o)|0,e);fc(1,o|0)|0;d=c[o>>2]|0;d=o2a(d|0,((d|0)<0)<<31>>31|0,1e6,0)|0;b=y;t=c[o+4>>2]|0;t=t2a(t|0,((t|0)<0)<<31>>31|0,1e3,0)|0;b=p2a(t|0,y|0,d|0,b|0)|0;d=y;if(d>>>0>r>>>0|(d|0)==(r|0)&b>>>0>q>>>0){t=q2a(b|0,d|0,q|0,r|0)|0;v=+h[27966]*(+(t>>>0)+4294967296.0*+(y>>>0));u=+h[p>>3];u=v+u;h[p>>3]=u;l=s;return}else{t=q2a(q|0,r|0,b|0,d|0)|0;u=-(+h[27966]*(+(t>>>0)+4294967296.0*+(y>>>0)));v=+h[p>>3];v=u+v;h[p>>3]=v;l=s;return}}function O_(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;b=c[a+8>>2]|0;a:do if((b|0)<35841){if((b|0)>=33776)switch(b|0){case 34025:{b=4;break a}case 34028:{b=4;break a}case 34027:{b=4;break a}case 33776:{b=4;break a}case 33777:{b=4;break a}case 34029:{b=8;break a}case 33778:{b=8;break a}case 33779:{b=8;break a}case 35840:{b=4;break a}default:{b=32;break a}}if((b|0)<6407){if((b|0)<3)switch(b|0){case 1:{b=8;break a}case 2:{b=16;break a}default:{b=32;break a}}if((b|0)<6406){switch(b|0){case 3:break;default:{b=32;break a}}b=24;break}else{switch(b|0){case 6406:break;default:{b=32;break a}}b=8;break}}if((b|0)<6410)switch(b|0){case 6409:{b=8;break a}case 6407:{b=24;break a}default:{b=32;break a}}if((b|0)<32841){switch(b|0){case 6410:break;default:{b=32;break a}}b=16;break}switch(b|0){case 32841:{b=8;break a}case 32992:{b=24;break a}default:{b=32;break a}}}else do switch(b|0){case 37491:{b=8;break a}case 37490:{b=8;break a}case 36284:{b=4;break a}case 36283:{b=4;break a}case 36286:{b=8;break a}case 36285:{b=8;break a}case 35841:{b=2;break a}case 35843:{b=2;break a}case 35842:{b=4;break a}case 36196:{b=4;break a}case 37492:{b=4;break a}case 37493:{b=4;break a}case 37494:{b=8;break a}case 37495:{b=8;break a}case 37496:{b=8;break a}case 37497:{b=8;break a}case 37488:{b=4;break a}case 37489:{b=4;break a}default:{b=32;break a}}while(0);while(0);e=~~+M(+(+((N(N(N(c[a+12>>2]|0,b)|0,c[a+16>>2]|0)|0,c[a+20>>2]|0)|0)>>>0)*.125))>>>0;g=a+28|0;c[g>>2]=e;f=c[a+4>>2]|0;if((f|0)<=1)return;b=e>>>2;if(!b)return;d=0;a=e;do{a=a+b|0;d=d+1|0;b=b>>>2}while((d|0)<(f|0)&(b|0)!=0);c[g>>2]=a;return}function P_(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;h=l;l=l+16|0;e=h;f=a+44|0;g=U_(f,e,b)|0;d=c[g>>2]|0;if(!d){d=j0a(52)|0;i=d+16|0;c[i>>2]=c[b>>2];c[i+4>>2]=c[b+4>>2];c[i+8>>2]=c[b+8>>2];c[i+12>>2]=c[b+12>>2];c[i+16>>2]=c[b+16>>2];c[i+20>>2]=c[b+20>>2];c[i+24>>2]=c[b+24>>2];c[i+28>>2]=c[b+28>>2];c[d+48>>2]=0;e=c[e>>2]|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=e;c[g>>2]=d;e=c[c[f>>2]>>2]|0;if(!e)e=d;else{c[f>>2]=e;e=c[g>>2]|0}fp(c[a+48>>2]|0,e);i=a+52|0;c[i>>2]=(c[i>>2]|0)+1}e=d+48|0;if(c[e>>2]|0){i=c[e>>2]|0;l=h;return i|0}f=j0a(100)|0;V_(f,a,b);d=c[e>>2]|0;if((d|0)==(f|0)){i=c[e>>2]|0;l=h;return i|0}c[e>>2]=f;i=f+8|0;c[i>>2]=(c[i>>2]|0)+1;if(!d){i=c[e>>2]|0;l=h;return i|0}b=d+8|0;i=c[b>>2]|0;c[b>>2]=i-1;if((i|0)!=1){i=c[e>>2]|0;l=h;return i|0}UU(d,1,1);i=c[e>>2]|0;l=h;return i|0}function Q_(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;t=l;l=l+16|0;s=t+4|0;j=t;r=d+12|0;gk[c[(c[r>>2]|0)+8>>2]&1023](r)|0;if(c[d+88>>2]|0){xZ(d);R_(b,d,e);gk[c[(c[r>>2]|0)+12>>2]&1023](r)|0;l=t;return}gk[c[(c[r>>2]|0)+12>>2]&1023](r)|0;if(c[d+76>>2]|0){R_(b,d,e);l=t;return}n=d+24|0;o=c[n>>2]|0;f=c[o+56>>2]|0;p=c[o+40>>2]|0;if((((p|0?((c[o+36>>2]|0)+(c[d+60>>2]|0)|0)>>>0>p>>>0:0)?(q=d+64|0,(c[q>>2]|0)>>>0>1):0)?(g=d+92|0,i=c[g>>2]|0,i|0):0)?(c[i+68>>2]|0)>>>0<f>>>0:0){gk[c[(c[r>>2]|0)+8>>2]&1023](r)|0;f=c[g>>2]|0;c[b>>2]=f;f=f+8|0;c[f>>2]=(c[f>>2]|0)+1;f=c[b>>2]|0;o=c[f+60>>2]|0;p=(o|0)==0;do if(p){if(ZQ(4)|0){b=USa(mr(lr(4)|0,154909,49)|0,f)|0;BSa(s,b+(c[(c[b>>2]|0)+-12>>2]|0)|0);q=cUa(s,230580)|0;q=kk[c[(c[q>>2]|0)+28>>2]&511](q,10)|0;dUa(s);VSa(b,q)|0;HSa(b)|0}}else{k=o+8|0;c[k>>2]=(c[k>>2]|0)+1;k=c[d+28>>2]|0;m=o+216|0;n=o+220|0;f=c[n>>2]|0;g=c[m>>2]|0;i=f-g>>2;do if(i>>>0<=k>>>0){j=k+1|0;if(j>>>0>i>>>0){pD(m,j-i|0);break}if(j>>>0<i>>>0){i=g+(j<<2)|0;if((i|0)!=(f|0))do{f=f+-4|0;g=c[f>>2]|0;if(g|0?(u=g+8|0,j=c[u>>2]|0,c[u>>2]=j-1,(j|0)==1):0)UU(g,1,1);c[f>>2]=0}while((f|0)!=(i|0));c[n>>2]=i}}while(0);f=(c[m>>2]|0)+(k<<2)|0;g=c[f>>2]|0;if(g|0?(c[f>>2]=0,n=g+8|0,u=c[n>>2]|0,c[n>>2]=u-1,(u|0)==1):0)UU(g,1,1);if(ZQ(4)|0){u=mr(USa(mr(lr(4)|0,154816,17)|0,d)|0,154834,34)|0;f=c[b>>2]|0;u=mr(USa(u,f)|0,154869,22)|0;u=mr(QSa(u,c[q>>2]|0)|0,154892,7)|0;u=mr(PSa(u,c[d+44>>2]|0)|0,154900,8)|0;u=PSa(u,c[d+48>>2]|0)|0;BSa(s,u+(c[(c[u>>2]|0)+-12>>2]|0)|0);b=cUa(s,230580)|0;b=kk[c[(c[b>>2]|0)+28>>2]&511](b,10)|0;dUa(s);VSa(u,b)|0;HSa(u)|0;break}else{f=c[b>>2]|0;break}}while(0);z_(d,f);c[f+60>>2]=e;if(!p?(d=o+8|0,u=c[d>>2]|0,c[d>>2]=u-1,(u|0)==1):0)UU(o,1,1);gk[c[(c[r>>2]|0)+12>>2]&1023](r)|0;l=t;return}ai(1,j|0);m=j0a(80)|0;k=c[j>>2]|0;hR(m);i=d+32|0;c[m>>2]=84328;c[m+12>>2]=k;k=m+16|0;c[k>>2]=c[i>>2];c[k+4>>2]=c[i+4>>2];c[k+8>>2]=c[i+8>>2];c[k+12>>2]=c[i+12>>2];c[k+16>>2]=c[i+16>>2];c[k+20>>2]=c[i+20>>2];c[k+24>>2]=c[i+24>>2];c[k+28>>2]=c[i+28>>2];k=m+48|0;c[k>>2]=0;i=m+52|0;c[i>>2]=0;u=m+56|0;c[u>>2]=0;c[m+60>>2]=e;a[m+64>>0]=0;g=m+68|0;c[g>>2]=0;h[m+72>>3]=0.0;j=m+8|0;c[j>>2]=(c[j>>2]|0)+1;c[k>>2]=d;k=d+64|0;c[k>>2]=(c[k>>2]|0)+1;f=c[n>>2]|0;e=f+36|0;c[e>>2]=(c[e>>2]|0)+(c[d+60>>2]|0);e=f+28|0;c[e>>2]=(c[e>>2]|0)+1;if((c[i>>2]|0)==0?(c[u>>2]|0)==0:0){c[g>>2]=c[f+56>>2];g=d+96|0;f=c[g>>2]|0;if(f|0)c[f+56>>2]=m;c[i>>2]=f;f=d+92|0;if(!(c[f>>2]|0))c[f>>2]=m;c[g>>2]=m}else z_(d,m);if(ZQ(4)|0){u=mr(USa(mr(lr(4)|0,154959,12)|0,d)|0,154972,37)|0;u=QSa(u,c[k>>2]|0)|0;BSa(s,u+(c[(c[u>>2]|0)+-12>>2]|0)|0);d=cUa(s,230580)|0;d=kk[c[(c[d>>2]|0)+28>>2]&511](d,10)|0;dUa(s);VSa(u,d)|0;HSa(u)|0}c[b>>2]=m;c[j>>2]=(c[j>>2]|0)+1;u=c[j>>2]|0;c[j>>2]=u-1;if((u|0)==1)UU(m,1,1);l=t;return}function R_(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;i=l;l=l+16|0;h=i;f=b+72|0;e=c[f>>2]|0;g=c[e+8>>2]|0;c[a>>2]=g;if(g){e=g+8|0;c[e>>2]=(c[e>>2]|0)+1;e=c[f>>2]|0}f=e+4|0;g=c[e>>2]|0;c[g+4>>2]=c[f>>2];c[c[f>>2]>>2]=g;f=b+76|0;c[f>>2]=(c[f>>2]|0)+-1;f=c[e+8>>2]|0;if(f|0?(j=f+8|0,g=c[j>>2]|0,c[j>>2]=g-1,(g|0)==1):0)UU(f,1,1);l0a(e);a=c[a>>2]|0;c[a+60>>2]=d;e=c[b+24>>2]|0;f=e+32|0;c[f>>2]=(c[f>>2]|0)+-1;f=e+28|0;c[f>>2]=(c[f>>2]|0)+1;f=a+52|0;if((c[f>>2]|0)==0?(c[a+56>>2]|0)==0:0){c[a+68>>2]=c[e+56>>2];g=b+96|0;e=c[g>>2]|0;if(e|0)c[e+56>>2]=a;c[f>>2]=e;e=b+92|0;if(!(c[e>>2]|0))c[e>>2]=a;c[g>>2]=a}else z_(b,a);if(!(ZQ(4)|0)){l=i;return}j=mr(lr(4)|0,155040,53)|0;j=QSa(j,c[b+64>>2]|0)|0;BSa(h,j+(c[(c[j>>2]|0)+-12>>2]|0)|0);b=cUa(h,230580)|0;b=kk[c[(c[b>>2]|0)+28>>2]&511](b,10)|0;dUa(h);VSa(j,b)|0;HSa(j)|0;l=i;return}function S_(a){a=a|0;KG(a);return}function T_(a){a=a|0;KG(a);l0a(a);return}function U_(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;e=a+4|0;f=c[e>>2]|0;if(!f){c[b>>2]=e;o=e;return o|0}m=c[d+28>>2]|0;n=c[d>>2]|0;h=c[d+4>>2]|0;i=c[d+8>>2]|0;j=c[d+12>>2]|0;k=c[d+16>>2]|0;l=c[d+20>>2]|0;g=c[d+24>>2]|0;a=a+4|0;e=f;a:while(1){f=e+16|0;d=c[e+44>>2]|0;do if(m>>>0>=d>>>0){if(d>>>0>=m>>>0){d=c[f>>2]|0;if(n>>>0<d>>>0){o=18;break}if(d>>>0>=n>>>0){d=c[e+20>>2]|0;if((h|0)<(d|0)){o=18;break}if((d|0)>=(h|0)){d=c[e+24>>2]|0;if(i>>>0<d>>>0){o=18;break}if(d>>>0>=i>>>0){d=c[e+28>>2]|0;if((j|0)<(d|0)){o=18;break}if((d|0)>=(j|0)){d=c[e+32>>2]|0;if((k|0)<(d|0)){o=18;break}if((d|0)>=(k|0)){d=c[e+36>>2]|0;if((l|0)<(d|0)){o=18;break}if((d|0)>=(l|0)?(g|0)<(c[e+40>>2]|0):0){o=18;break}}}}}}d=c[f>>2]|0;if(d>>>0>=n>>>0){if(n>>>0<d>>>0){o=35;break a}d=c[e+20>>2]|0;if((d|0)>=(h|0)){if((h|0)<(d|0)){o=35;break a}d=c[e+24>>2]|0;if(d>>>0>=i>>>0){if(i>>>0<d>>>0){o=35;break a}d=c[e+28>>2]|0;if((d|0)>=(j|0)){if((j|0)<(d|0)){o=35;break a}d=c[e+32>>2]|0;if((d|0)>=(k|0)){if((k|0)<(d|0)){o=35;break a}d=c[e+36>>2]|0;if((d|0)>=(l|0)){if((l|0)<(d|0)){o=35;break a}if((c[e+40>>2]|0)>=(g|0)){o=35;break a}}}}}}}}d=e+4|0;f=c[d>>2]|0;if(!f){o=34;break a}else{a=d;e=f}}else o=18;while(0);if((o|0)==18){o=0;d=c[e>>2]|0;if(!d){o=19;break}else{a=e;e=d}}}if((o|0)==19){c[b>>2]=e;o=e;return o|0}else if((o|0)==34){c[b>>2]=e;o=d;return o|0}else if((o|0)==35){c[b>>2]=e;o=a;return o|0}return 0}function V_(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;e=l;l=l+16|0;g=e;c[a+4>>2]=0;c[a+8>>2]=0;c[a>>2]=83728;c[a+12>>2]=83012;c[a+20>>2]=0;Vi(g|0)|0;f=j0a(32)|0;c[f>>2]=83040;Wi(g|0,2)|0;Ui(f+4|0,g|0)|0;c[a+16>>2]=f;c[a+24>>2]=b;c[a+28>>2]=c[b+24>>2];b=a+32|0;c[b>>2]=c[d>>2];c[b+4>>2]=c[d+4>>2];c[b+8>>2]=c[d+8>>2];c[b+12>>2]=c[d+12>>2];c[b+16>>2]=c[d+16>>2];c[b+20>>2]=c[d+20>>2];c[b+24>>2]=c[d+24>>2];c[b+28>>2]=c[d+28>>2];c[a+64>>2]=0;d=a+68|0;c[d>>2]=d;c[a+72>>2]=d;c[a+76>>2]=0;d=a+80|0;c[d>>2]=d;c[a+84>>2]=d;c[a+88>>2]=0;c[a+92>>2]=0;c[a+96>>2]=0;l=e;return}function W_(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;_Z(a,b,d);c[a>>2]=84064;c[a+232>>2]=0;c[a+236>>2]=c[b+236>>2];c[a+240>>2]=c[b+240>>2];c[a+244>>2]=c[b+244>>2];e=c[b+248>>2]|0;c[a+248>>2]=e;if(e|0){h=e+8|0;c[h>>2]=(c[h>>2]|0)+1}e=a+252|0;f=gS(c[(vt()|0)>>2]|0)|0;c[e>>2]=0;g=a+256|0;c[g>>2]=0;h=a+260|0;c[h>>2]=0;if(!f){h=c[d>>2]|0;h=h+36|0;h=c[h>>2]|0;b=b+232|0;b=c[b>>2]|0;d=kk[h&511](d,b)|0;A_(a,d);return}if(f>>>0>1073741823)g1a(e);i=f<<2;j=j0a(i)|0;c[e>>2]=j;f=j+(f<<2)|0;c[h>>2]=f;z2a(j|0,0,i|0)|0;c[g>>2]=f;h=c[d>>2]|0;h=h+36|0;h=c[h>>2]|0;b=b+232|0;b=c[b>>2]|0;d=kk[h&511](d,b)|0;A_(a,d);return}function X_(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;a_(b);c[b>>2]=84064;e=b+232|0;d=b+252|0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[e+12>>2]=0;c[e+16>>2]=0;e=gS(c[(vt()|0)>>2]|0)|0;c[d>>2]=0;f=b+256|0;c[f>>2]=0;g=b+260|0;c[g>>2]=0;if(!e){g=b+136|0;a[g>>0]=1;return}if(e>>>0>1073741823)g1a(d);h=e<<2;i=j0a(h)|0;c[d>>2]=i;e=i+(e<<2)|0;c[g>>2]=e;z2a(i|0,0,h|0)|0;c[f>>2]=e;g=b+136|0;a[g>>0]=1;return}function Y_(a){a=a|0;var b=0,d=0,e=0;b=c[a>>2]|0;if(b|0?(e=b+8|0,d=c[e>>2]|0,c[e>>2]=d-1,(d|0)==1):0)UU(b,1,1);c[a>>2]=0;return}function Z_(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;j=l;l=l+16|0;g=j;N_(g,M_(qu(b)|0)|0,a,d,0,0,0,0,0,0);i=a+216|0;h=a+220|0;d=c[h>>2]|0;f=c[i>>2]|0;a=d-f>>2;do if(a>>>0<=b>>>0){e=b+1|0;if(e>>>0>a>>>0){pD(i,e-a|0);break}if(e>>>0<a>>>0){e=f+(e<<2)|0;if((e|0)!=(d|0))do{d=d+-4|0;a=c[d>>2]|0;if(a|0?(k=a+8|0,f=c[k>>2]|0,c[k>>2]=f-1,(f|0)==1):0)UU(a,1,1);c[d>>2]=0}while((d|0)!=(e|0));c[h>>2]=e}}while(0);a=(c[i>>2]|0)+(b<<2)|0;d=c[a>>2]|0;e=c[g>>2]|0;if((d|0)!=(e|0)){c[a>>2]=e;if(e|0){k=e+8|0;c[k>>2]=(c[k>>2]|0)+1}if(d|0?(f=d+8|0,k=c[f>>2]|0,c[f>>2]=k-1,(k|0)==1):0)UU(d,1,1);d=c[g>>2]|0}if(d|0?(g=d+8|0,k=c[g>>2]|0,c[g>>2]=k-1,(k|0)==1):0)UU(d,1,1);d=c[h>>2]|0;a=c[i>>2]|0;e=d-a>>2;if(e>>>0>b>>>0){k=c[i>>2]|0;k=k+(b<<2)|0;k=c[k>>2]|0;l=j;return k|0}f=b+1|0;if(f>>>0>e>>>0){pD(i,f-e|0);k=c[i>>2]|0;k=k+(b<<2)|0;k=c[k>>2]|0;l=j;return k|0}if(f>>>0>=e>>>0){k=c[i>>2]|0;k=k+(b<<2)|0;k=c[k>>2]|0;l=j;return k|0}e=a+(f<<2)|0;if((e|0)!=(d|0))do{d=d+-4|0;a=c[d>>2]|0;if(a|0?(g=a+8|0,k=c[g>>2]|0,c[g>>2]=k-1,(k|0)==1):0)UU(a,1,1);c[d>>2]=0}while((d|0)!=(e|0));c[h>>2]=e;k=c[i>>2]|0;k=k+(b<<2)|0;k=c[k>>2]|0;l=j;return k|0}function __(a){a=a|0;var b=0,d=0,e=0,f=0;c[a>>2]=84348;t$(a,0);b=c[a+248>>2]|0;if(b|0){c[a+252>>2]=b;l0a(b)}b=a+244|0;d=c[b>>2]|0;if(d|0?(f=d+8|0,e=c[f>>2]|0,c[f>>2]=e-1,(e|0)==1):0)UU(d,1,1);c[b>>2]=0;b=a+232|0;d=c[b>>2]|0;if(!d){c[b>>2]=0;BZ(a);return}e=d+8|0;f=c[e>>2]|0;c[e>>2]=f-1;if((f|0)!=1){c[b>>2]=0;BZ(a);return}UU(d,1,1);c[b>>2]=0;BZ(a);return}function $_(a){a=a|0;__(a);l0a(a);return}function a$(a){a=a|0;a=j0a(264)|0;x$(a);return a|0}function b$(a,b){a=a|0;b=b|0;var c=0;c=j0a(264)|0;w$(c,a,b);return c|0}function c$(a,b){a=a|0;b=b|0;if(!b){b=0;return b|0}b=(y1a(b,42800,47544,0)|0)!=0;return b|0}function d$(a){a=a|0;return 186332}function e$(a){a=a|0;return 155455}function f$(a){a=a|0;return 0}function g$(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;if((a|0)==(b|0)){b=0;return b|0}if(!a)e2a();d=c[(c[(c[a>>2]|0)+-4>>2]|0)+4>>2]|0;e=c[(c[(c[b>>2]|0)+-4>>2]|0)+4>>2]|0;if(d>>>0<e>>>0){b=-1;return b|0}if((d|0)!=(e|0)){b=1;return b|0}g=a+232|0;d=c[g>>2]|0;h=b+232|0;e=c[h>>2]|0;do if((d|0)!=(e|0)){f=(e|0)!=0;if(!d){if(f)d=-1;else{d=13;break}return d|0}if(!f){b=1;return b|0}d=kk[c[(c[d>>2]|0)+188>>2]&511](d,e)|0;if(!d){i=c[g>>2]|0;d=12;break}else{b=d;return b|0}}else{i=d;d=12}while(0);if((d|0)==12?(i|0)==0:0)d=13;if(((d|0)==13?(c[h>>2]|0)==0:0)?(j=YZ(a,b)|0,j|0):0){b=j;return b|0}d=ZZ(a,b)|0;if(d|0){b=d;return b|0}d=c[a+236>>2]|0;e=c[b+236>>2]|0;if((d|0)<(e|0)){b=-1;return b|0}if((e|0)<(d|0)){b=1;return b|0}d=c[a+240>>2]|0;e=c[b+240>>2]|0;if((d|0)<(e|0)){b=-1;return b|0}if((e|0)<(d|0)){b=1;return b|0}else{a=c[a+244>>2]|0;b=c[b+244>>2]|0;return (a>>>0<b>>>0?-1:b>>>0<a>>>0&1)|0}return 0}function h$(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;z=l;l=l+16|0;x=z+8|0;n=z+4|0;m=z;if(!(a[(c[d+832>>2]|0)+36>>0]|0)){if(!(ZQ(2)|0)){l=z;return}d=mr(lr(2)|0,155353,101)|0;BSa(x,d+(c[(c[d>>2]|0)+-12>>2]|0)|0);b=cUa(x,230580)|0;b=kk[c[(c[b>>2]|0)+28>>2]&511](b,10)|0;dUa(x);VSa(d,b)|0;HSa(d)|0;l=z;return}p=d+124|0;y=c[p>>2]|0;u=b+216|0;v=b+220|0;e=c[v>>2]|0;f=c[u>>2]|0;g=e-f>>2;do if(g>>>0<=y>>>0){h=y+1|0;if(h>>>0>g>>>0){pD(u,h-g|0);break}if(h>>>0<g>>>0){g=f+(h<<2)|0;if((g|0)!=(e|0))do{e=e+-4|0;f=c[e>>2]|0;if(f|0?(k=f+8|0,w=c[k>>2]|0,c[k>>2]=w-1,(w|0)==1):0)UU(f,1,1);c[e>>2]=0}while((e|0)!=(g|0));c[v>>2]=g}}while(0);e=c[(c[u>>2]|0)+(y<<2)>>2]|0;do if(e|0){w=b+232|0;g=c[w>>2]|0;if(g){k=b+248|0;h=b+252|0;f=c[k>>2]|0;i=(c[h>>2]|0)-f>>2;if(i>>>0<=y>>>0){j=y+1|0;c[x>>2]=0;if(j>>>0<=i>>>0){if(j>>>0<i>>>0)c[h>>2]=f+(j<<2)}else{cu(k,j-i|0,x);g=c[w>>2]|0;f=c[k>>2]|0}}if((c[f+(y<<2)>>2]|0)!=(c[g+32>>2]|0)){Bk[c[(c[b>>2]|0)+248>>2]&2047](b);F_(b,d,c[w>>2]|0,x,n,m);h=c[m>>2]|0;i=c[b+188>>2]|0;j=c[x>>2]|0;f=c[n>>2]|0;g=c[b+176>>2]|0;if(!((((((((a[e+64>>0]|0)!=0?(o=c[e+28>>2]|0,(o|0)!=0):0)?(c[e+16>>2]|0)==34037:0)?(c[e+20>>2]|0)==(h|0):0)?((o|0)==(j|0)?(c[e+24>>2]|0)==(i|0):0):0)?(c[e+32>>2]|0)==(f|0):0)?(c[e+36>>2]|0)==1:0)?(c[e+40>>2]|0)==(g|0):0)){e=c[v>>2]|0;f=c[u>>2]|0;g=e-f>>2;do if(g>>>0<=y>>>0){h=y+1|0;if(h>>>0>g>>>0){pD(u,h-g|0);break}if(h>>>0<g>>>0){g=f+(h<<2)|0;if((g|0)!=(e|0))do{e=e+-4|0;f=c[e>>2]|0;if(f|0?(n=f+8|0,o=c[n>>2]|0,c[n>>2]=o-1,(o|0)==1):0)UU(f,1,1);c[e>>2]=0}while((e|0)!=(g|0));c[v>>2]=g}}while(0);e=c[u>>2]|0;f=c[e+(y<<2)>>2]|0;g=c[f+48>>2]|0;if(!g)f=e;else{TZ(g,f);f=c[u>>2]|0}e=c[v>>2]|0;g=e-f>>2;do if(g>>>0<=y>>>0){h=y+1|0;if(h>>>0>g>>>0){pD(u,h-g|0);break}if(h>>>0<g>>>0){g=f+(h<<2)|0;if((g|0)!=(e|0))do{e=e+-4|0;f=c[e>>2]|0;do if(f|0){n=f+8|0;o=c[n>>2]|0;c[n>>2]=o-1;if((o|0)!=1)break;UU(f,1,1)}while(0);c[e>>2]=0}while((e|0)!=(g|0));c[v>>2]=g}}while(0);e=(c[u>>2]|0)+(y<<2)|0;f=c[e>>2]|0;if((f|0)!=0?(c[e>>2]=0,n=f+8|0,o=c[n>>2]|0,c[n>>2]=o-1,(o|0)==1):0){UU(f,1,1);e=0}else e=0}if(!e)break}}x_(e,d);j=c[p>>2]|0;f=b+60|0;g=b+64|0;e=c[f>>2]|0;h=(c[g>>2]|0)-e>>2;if(h>>>0<=j>>>0){i=j+1|0;c[x>>2]=0;if(i>>>0<=h>>>0){if(i>>>0<h>>>0)c[g>>2]=e+(i<<2)}else{cu(f,i-h|0,x);e=c[f>>2]|0}}if(c[e+(j<<2)>>2]|0)C_(b,34037,d);e=c[b+244>>2]|0;if(e|0){Nk[c[(c[e>>2]|0)+16>>2]&255](e,b,d);l=z;return}e=c[w>>2]|0;if(!e){l=z;return}j=b+248|0;k=b+252|0;f=c[j>>2]|0;h=(c[k>>2]|0)-f>>2;g=f;if(h>>>0<=y>>>0){i=y+1|0;c[x>>2]=0;if(i>>>0<=h>>>0){if(i>>>0<h>>>0)c[k>>2]=g+(i<<2)}else{cu(j,i-h|0,x);f=c[j>>2]|0;g=f;e=c[w>>2]|0}}i=c[e+32>>2]|0;if((c[g+(y<<2)>>2]|0)==(i|0)){l=z;return}h=(c[k>>2]|0)-f>>2;if(h>>>0<=y>>>0){g=y+1|0;c[x>>2]=0;if(g>>>0<=h>>>0){if(g>>>0<h>>>0)c[k>>2]=f+(g<<2)}else{cu(j,g-h|0,x);f=c[j>>2]|0;e=c[w>>2]|0}}c[f+(y<<2)>>2]=i;u$(b,34037,e,d,b+236|0,b+240|0,b+188|0);l=z;return}while(0);e=b+244|0;if(c[e>>2]|0){y=Z_(b,y,34037)|0;x_(y,d);C_(b,34037,d);x=c[e>>2]|0;Nk[c[(c[x>>2]|0)+12>>2]&255](x,b,d);E_(y,1,c[b+188>>2]|0,c[b+236>>2]|0,c[b+240>>2]|0,1,0);l=z;return}k=b+232|0;m=c[k>>2]|0;if(m|0?c[m+112>>2]|0:0){j=m+8|0;c[j>>2]=(c[j>>2]|0)+1;Bk[c[(c[b>>2]|0)+248>>2]&2047](b);f=c[m+72>>2]|0;g=b+236|0;c[g>>2]=f;e=c[m+76>>2]|0;h=b+240|0;c[h>>2]=e;i=b+188|0;e=G_(b,y,34037,1,c[i>>2]|0,f,e,1,0)|0;x_(e,d);C_(b,34037,d);e=e+64|0;f=c[k>>2]|0;if(!(a[e>>0]|0)){v$(b,34037,f,d,g,h);a[e>>0]=1}else u$(b,34037,f,d,g,h,i);a:do if(a[b+137>>0]|0?(c[d+724>>2]|0)==0:0){if(gS(c[(vt()|0)>>2]|0)|0){g=0;do{e=c[u>>2]|0;f=(c[v>>2]|0)-e>>2;h=g;g=g+1|0;if(f>>>0<=h>>>0){pD(u,g-f|0);e=c[u>>2]|0}if(!(c[e+(h<<2)>>2]|0))break a}while(g>>>0<(gS(c[(vt()|0)>>2]|0)|0)>>>0)}e=c[k>>2]|0;if(!((e|0)==0?1:(c[e+24>>2]|0)!=1)?(c[k>>2]=0,b=e+8|0,d=c[b>>2]|0,c[b>>2]=d-1,(d|0)==1):0)UU(e,1,1)}while(0);d=c[j>>2]|0;c[j>>2]=d-1;if((d|0)!=1){l=z;return}UU(m,1,1);l=z;return}e=b+236|0;f=c[e>>2]|0;if((f|0?(q=b+240|0,r=c[q>>2]|0,r|0):0)?(s=b+188|0,t=c[s>>2]|0,t|0):0){x_(G_(b,y,34037,0,t,f,r,1,0)|0,d);C_(b,34037,d);x=c[s>>2]|0;y=c[b+192>>2]|0;d=c[b+196>>2]|0;li(34037,0,x|0,c[e>>2]|0,c[q>>2]|0,c[b+176>>2]|0,((y|0)==0?x:y)|0,((d|0)==0?5121:d)|0,0);e=c[b+228>>2]|0;if(!e){l=z;return}Jk[c[(c[e>>2]|0)+200>>2]&1023](e,1028);l=z;return}Lh(34037,0);l=z;return}function i$(a){a=a|0;return 34037}function j$(a){a=a|0;return c[a+236>>2]|0}function k$(a){a=a|0;return c[a+240>>2]|0}function l$(a){a=a|0;return 1}function m$(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;j=l;l=l+16|0;h=j;d=c[a+232>>2]|0;if(!d){b=0;l=j;return b|0}i=c[d+32>>2]|0;g=a+248|0;f=a+252|0;d=c[g>>2]|0;a=(c[f>>2]|0)-d>>2;if(a>>>0<=b>>>0){e=b+1|0;c[h>>2]=0;if(e>>>0<=a>>>0){if(e>>>0<a>>>0)c[f>>2]=d+(e<<2)}else{cu(g,e-a|0,h);d=c[g>>2]|0}}b=(i|0)!=(c[d+(b<<2)>>2]|0);l=j;return b|0}function n$(a,b,c){a=a|0;b=b|0;c=c|0;t$(a,c);return}function o$(a,b){a=a|0;b=b|0;return c[a+232>>2]|0}function p$(a,b){a=a|0;b=b|0;return c[a+232>>2]|0}function q$(a){a=a|0;return 1}function r$(a){a=a|0;var b=0;b=c[a+232>>2]|0;if(!b){WZ(a);return}else{VZ(a,b);return}}function s$(a,b){a=a|0;b=b|0;var d=0,e=0;b=l;l=l+16|0;a=b;if(!(ZQ(3)|0)){l=b;return}d=mr(lr(3)|0,155234,118)|0;BSa(a,d+(c[(c[d>>2]|0)+-12>>2]|0)|0);e=cUa(a,230580)|0;e=kk[c[(c[e>>2]|0)+28>>2]&511](e,10)|0;dUa(a);VSa(d,e)|0;HSa(d)|0;l=b;return}function t$(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;e=a+232|0;d=c[e>>2]|0;if((d|0)==(b|0))return;if(d|0?(f=d+48|0,c[f>>2]=(c[f>>2]|0)+-1,gk[c[(c[d>>2]|0)+220>>2]&1023](d)|0):0){XZ(a,0);c[a+24>>2]=1}SZ(a);d=c[e>>2]|0;if((d|0)!=(b|0)){c[e>>2]=b;if(b|0){f=b+8|0;c[f>>2]=(c[f>>2]|0)+1}if(d|0?(b=d+8|0,f=c[b>>2]|0,c[b>>2]=f-1,(f|0)==1):0)UU(d,1,1);b=c[e>>2]|0}if(!b)return;f=b+48|0;c[f>>2]=(c[f>>2]|0)+1;if(!(gk[c[(c[b>>2]|0)+220>>2]&1023](b)|0))return;f=j0a(44)|0;c[f>>2]=0;c[f+4>>2]=0;c[f+8>>2]=0;c[f+12>>2]=0;c[f+16>>2]=0;c[f+20>>2]=0;e=f+12|0;c[f+16>>2]=0;c[f+20>>2]=0;c[e>>2]=68320;d=f+24|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[f+36>>2]=2;c[f+40>>2]=0;d=f+4|0;b=c[20310]|0;c[d>>2]=b;c[d+(c[b+-12>>2]|0)>>2]=c[20311];c[f+8>>2]=0;b=c[20305]|0;c[f>>2]=b;c[f+(c[b+-12>>2]|0)>>2]=c[20306];c[f+(c[(c[f>>2]|0)+-16>>2]|0)>>2]=c[20307];c[f>>2]=80624;c[d>>2]=80780;c[e>>2]=81052;XZ(a,f);c[a+24>>2]=0;return}function u$(b,d,e,f,g,h,i){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;v=l;l=l+16|0;n=v;if(!e){l=v;return}p=e+112|0;if(!(c[p>>2]|0)){l=v;return}s=e+72|0;if(((c[s>>2]|0)==(c[g>>2]|0)?(t=e+76|0,(c[t>>2]|0)==(c[h>>2]|0)):0)?(c[e+88>>2]|0)==(c[i>>2]|0):0){o=c[f+124>>2]|0;q=c[f+832>>2]|0;m=c[e+32>>2]|0;h=b+248|0;i=b+252|0;g=c[h>>2]|0;j=(c[i>>2]|0)-g>>2;if(j>>>0<=o>>>0){k=o+1|0;c[n>>2]=0;if(k>>>0<=j>>>0){if(k>>>0<j>>>0)c[i>>2]=g+(k<<2)}else{cu(h,k-j|0,n);g=c[h>>2]|0}}c[g+(o<<2)>>2]=m;Bk[c[(c[b>>2]|0)+248>>2]&2047](b);ei(3317,c[e+100>>2]|0);g=c[p>>2]|0;h=c[e+40>>2]|0;if((h|0)!=0?(r=pu(h,o)|0,(r|0)!=0):0){g=f+740|0;if((c[g>>2]|0)!=(r|0)){if(!(a[r+36>>0]|0)){Jk[c[(c[r+72>>2]|0)+724>>2]&1023](c[r+20>>2]|0,c[r+16>>2]|0);h=c[r+56>>2]|0;if(h|0)xu(h,r)}else tG(r);c[g>>2]=r}g=c[(c[r+40>>2]|0)+((c[e+36>>2]|0)*20|0)+12>>2]|0;h=1}else h=0;if(J_(c[b+188>>2]|0)|0?(u=c[q+1120>>2]|0,(u|0)!=0):0)Wk[u&15](d,0,0,0,c[s>>2]|0,c[t>>2]|0,c[e+92>>2]|0,c[e+96>>2]|0,g);else qi(d|0,0,0,0,c[s>>2]|0,c[t>>2]|0,c[e+92>>2]|0,c[e+96>>2]|0,g|0);if(!h){l=v;return}g=f+740|0;if(!(c[g>>2]|0)){l=v;return}Jk[c[f+820>>2]&1023](35052,0);c[g>>2]=0;l=v;return}v$(b,d,e,f,g,h);l=v;return}function v$(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;w=l;l=l+16|0;o=w;if(!e){l=w;return}q=e+112|0;if(!(c[q>>2]|0)){l=w;return}r=c[f+124>>2]|0;t=c[f+832>>2]|0;p=c[e+32>>2]|0;j=b+248|0;k=b+252|0;i=c[j>>2]|0;m=(c[k>>2]|0)-i>>2;if(m>>>0<=r>>>0){n=r+1|0;c[o>>2]=0;if(n>>>0<=m>>>0){if(n>>>0<m>>>0)c[k>>2]=i+(n<<2)}else{cu(j,n-m|0,o);i=c[j>>2]|0}}c[i+(r<<2)>>2]=p;Bk[c[(c[b>>2]|0)+248>>2]&2047](b);n=e+100|0;ei(3317,c[n>>2]|0);if((a[t+1072>>0]|0)!=0?(a[b+138>>0]|0)!=0:0){ei(34226,1);m=1}else m=0;j=c[q>>2]|0;i=c[e+40>>2]|0;if((i|0)!=0?(s=pu(i,r)|0,(s|0)!=0):0){i=f+740|0;if((c[i>>2]|0)!=(s|0)){if(!(a[s+36>>0]|0)){Jk[c[(c[s+72>>2]|0)+724>>2]&1023](c[s+20>>2]|0,c[s+16>>2]|0);j=c[s+56>>2]|0;if(j|0)xu(j,s)}else tG(s);c[i>>2]=s}j=c[(c[s+40>>2]|0)+((c[e+36>>2]|0)*20|0)+12>>2]|0;k=1}else k=0;i=c[b+188>>2]|0;if(J_(i)|0?(u=c[t+1116>>2]|0,(u|0)!=0):0){s=c[e+72>>2]|0;r=e+76|0;b=c[r>>2]|0;t=ST(s,c[e+92>>2]|0,c[e+96>>2]|0,c[n>>2]|0)|0;t=N(c[r>>2]|0,t)|0;Vk[u&7](d,0,i,s,b,0,t,j)}else li(d|0,0,i|0,c[e+72>>2]|0,c[e+76>>2]|0,0,c[e+92>>2]|0,c[e+96>>2]|0,j|0);if(k?(v=f+740|0,c[v>>2]|0):0){Jk[c[f+820>>2]&1023](35052,0);c[v>>2]=0}c[g>>2]=c[e+72>>2];c[h>>2]=c[e+76>>2];if(!m){l=w;return}ei(34226,0);l=w;return}function w$(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;_Z(a,b,d);c[a>>2]=84348;c[a+232>>2]=0;c[a+236>>2]=c[b+236>>2];c[a+240>>2]=c[b+240>>2];e=c[b+244>>2]|0;c[a+244>>2]=e;if(e|0){h=e+8|0;c[h>>2]=(c[h>>2]|0)+1}e=a+248|0;f=gS(c[(vt()|0)>>2]|0)|0;c[e>>2]=0;g=a+252|0;c[g>>2]=0;h=a+256|0;c[h>>2]=0;if(!f){h=c[d>>2]|0;h=h+36|0;h=c[h>>2]|0;b=b+232|0;b=c[b>>2]|0;d=kk[h&511](d,b)|0;t$(a,d);return}if(f>>>0>1073741823)g1a(e);i=f<<2;j=j0a(i)|0;c[e>>2]=j;f=j+(f<<2)|0;c[h>>2]=f;z2a(j|0,0,i|0)|0;c[g>>2]=f;h=c[d>>2]|0;h=h+36|0;h=c[h>>2]|0;b=b+232|0;b=c[b>>2]|0;d=kk[h&511](d,b)|0;t$(a,d);return}function x$(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;a_(a);c[a>>2]=84348;d=a+232|0;b=a+248|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[d+12>>2]=0;d=gS(c[(vt()|0)>>2]|0)|0;c[b>>2]=0;e=a+252|0;c[e>>2]=0;f=a+256|0;c[f>>2]=0;do if(d|0)if(d>>>0>1073741823)g1a(b);else{g=d<<2;h=j0a(g)|0;c[b>>2]=h;d=h+(d<<2)|0;c[f>>2]=d;z2a(h|0,0,g|0)|0;c[e>>2]=d;break}while(0);c[a+84>>2]=10496;b=c[a+60>>2]|0;d=(c[a+64>>2]|0)-b|0;if((d|0)<=0){c[a+88>>2]=10496;c[a+96>>2]=9729;c[a+100>>2]=9729;return}d=d>>>2;e=d;f=b;while(1){c[f>>2]=1;if((e|0)>1){e=e+-1|0;f=f+4|0}else break}c[a+88>>2]=10496;e=d;f=b;while(1){c[f>>2]=1;if((e|0)>1){e=e+-1|0;f=f+4|0}else break}c[a+96>>2]=9729;e=d;f=b;while(1){c[f>>2]=1;if((e|0)>1){e=e+-1|0;f=f+4|0}else break}c[a+100>>2]=9729;while(1){c[b>>2]=1;if((d|0)>1){d=d+-1|0;b=b+4|0}else break}return}function y$(a){a=a|0;var b=0,d=0,e=0;b=c[a>>2]|0;if(b|0?(e=b+8|0,d=c[e>>2]|0,c[e>>2]=d-1,(d|0)==1):0)UU(b,1,1);c[a>>2]=0;return}function z$(a){a=a|0;YD(a);return}function A$(a){a=a|0;YD(a);l0a(a);return}function B$(a){a=a|0;a=j0a(140)|0;WR(a);c[a>>2]=84612;c[a+136>>2]=0;return a|0}function C$(a,b){a=a|0;b=b|0;var d=0;d=j0a(140)|0;XD(d,a,b);c[d>>2]=84612;c[d+136>>2]=c[a+136>>2];return d|0}function D$(a,b){a=a|0;b=b|0;if(!b){b=0;return b|0}b=(y1a(b,42800,47560,0)|0)!=0;return b|0}function E$(a){a=a|0;return 186332}function F$(a){a=a|0;return 155497}function G$(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;j=l;l=l+16|0;d=j+8|0;i=j+4|0;e=j;if(!((c[a+116>>2]|c[b+24>>2])&c[b+20>>2])){l=j;return}c[i>>2]=a;f=b+16|0;g=b+28|0;h=a;do if((c[f>>2]|0)!=1){d=b+32|0;e=c[d>>2]|0;if((e|0)==(c[b+36>>2]|0)){ow(g,i);break}else{c[e>>2]=h;c[d>>2]=(c[d>>2]|0)+4;break}}else{c[e>>2]=c[g>>2];c[d>>2]=c[e>>2];pw(g,d,i)|0}while(0);Jk[c[(c[b>>2]|0)+148>>2]&1023](b,a);if((c[f>>2]|0)==1){a=c[b+28>>2]|0;f=a+4|0;d=b+32|0;e=(c[d>>2]|0)-f|0;if(e|0)y2a(a|0,f|0,e|0)|0;e=a+(e>>2<<2)|0}else{d=b+32|0;e=(c[d>>2]|0)+-4|0}c[d>>2]=e;l=j;return}function H$(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,i=0.0,j=0.0,k=0.0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0.0,s=0.0,t=0.0,u=0.0,v=0.0,w=0.0,x=0.0,y=0.0,z=0.0,A=0.0,C=0.0,D=0.0,E=0.0,F=0.0,G=0.0,H=0.0,I=0.0,J=0.0,K=0.0,L=0.0,M=0.0,N=0.0,O=0,P=0.0,Q=0.0,R=0.0,S=0.0;f=l;l=l+128|0;d=f;eE(a,b);e=a+12|0;if(!(+g[e>>2]>=0.0)){l=f;return}Qra(d);lk[c[(c[b>>2]|0)+288>>2]&127](b,d,0)|0;r=+g[a>>2];O=a+4|0;F=+g[O>>2];b=a+8|0;Q=+g[b>>2];o=+g[e>>2];j=+h[d+24>>3];L=r+o;m=+h[d+56>>3];q=F;t=m*q;n=+h[d+88>>3];E=Q;H=n*E;S=+h[d+120>>3];N=1.0/(S+(j*L+t+H));K=+h[d>>3];J=+h[d+32>>3];z=J*q;y=+h[d+64>>3];D=y*E;C=+h[d+96>>3];i=+h[d+8>>3];I=+h[d+40>>3];v=I*q;u=+h[d+72>>3];k=u*E;x=+h[d+104>>3];M=+h[d+16>>3];G=+h[d+48>>3];q=G*q;p=+h[d+80>>3];E=p*E;s=+h[d+112>>3];R=j*r;F=F+o;H=1.0/(S+(R+m*F+H));A=K*r;w=i*r;r=M*r;o=Q+o;t=1.0/(S+(R+t+n*o));R=+g[a>>2];Q=+g[O>>2];P=+g[b>>2];n=1.0/(S+(j*R+m*Q+n*P));m=(C+(K*R+J*Q+y*P))*n;j=(x+(i*R+I*Q+u*P))*n;n=(s+(M*R+G*Q+p*P))*n;g[a>>2]=m;g[O>>2]=j;g[b>>2]=n;K=N*(C+(K*L+z+D))-m;i=N*(x+(i*L+v+k))-j;L=N*(s+(M*L+q+E))-n;i=L*L+(K*K+i*i);D=H*(C+(A+J*F+D))-m;k=H*(x+(w+I*F+k))-j;E=H*(s+(r+G*F+E))-n;k=E*E+(D*D+k*k);m=t*(C+(A+z+y*o))-m;j=t*(x+(w+v+u*o))-j;n=t*(s+(r+q+p*o))-n;j=n*n+(m*m+j*j);i=i<k?k:i;g[e>>2]=+B(+(i<j?j:i));l=f;return}function I$(a,b,d){a=a|0;b=b|0;d=d|0;if(!(c[a+136>>2]|0)){d=0;return d|0}Qra(b);d=1;return d|0}function J$(a,b,d){a=a|0;b=b|0;d=d|0;if(!(c[a+136>>2]|0)){d=0;return d|0}Qra(b);d=1;return d|0}function K$(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;c[a>>2]=84916;b=a+96|0;d=c[b>>2]|0;if(d|0?(e=d+(c[(c[d>>2]|0)+-16>>2]|0)|0,g=e+8|0,d=c[g>>2]|0,c[g>>2]=d-1,(d|0)==1):0)UU(e,1,1);c[b>>2]=0;b=a+92|0;d=c[b>>2]|0;if(d|0?(f=d+(c[(c[d>>2]|0)+-16>>2]|0)|0,e=f+8|0,g=c[e>>2]|0,c[e>>2]=g-1,(g|0)==1):0)UU(f,1,1);c[b>>2]=0;b=a+88|0;d=c[b>>2]|0;if(d|0?(f=d+8|0,g=c[f>>2]|0,c[f>>2]=g-1,(g|0)==1):0)UU(d,1,1);c[b>>2]=0;b=a+84|0;d=c[b>>2]|0;if(d|0?(f=d+8|0,g=c[f>>2]|0,c[f>>2]=g-1,(g|0)==1):0)UU(d,1,1);c[b>>2]=0;b=a+80|0;d=c[b>>2]|0;if(d|0?(f=d+8|0,g=c[f>>2]|0,c[f>>2]=g-1,(g|0)==1):0)UU(d,1,1);c[b>>2]=0;b=a+76|0;d=c[b>>2]|0;if(d|0?(f=d+8|0,g=c[f>>2]|0,c[f>>2]=g-1,(g|0)==1):0)UU(d,1,1);c[b>>2]=0;b=a+72|0;d=c[b>>2]|0;if(d|0?(f=d+8|0,g=c[f>>2]|0,c[f>>2]=g-1,(g|0)==1):0)UU(d,1,1);c[b>>2]=0;b=a+68|0;d=c[b>>2]|0;if(!d){c[b>>2]=0;TW(a);return}f=d+8|0;g=c[f>>2]|0;c[f>>2]=g-1;if((g|0)!=1){c[b>>2]=0;TW(a);return}UU(d,1,1);c[b>>2]=0;TW(a);return}function L$(a){a=a|0;K$(a);l0a(a);return}function M$(a){a=a|0;var b=0,d=0;a=j0a(104)|0;c[a+4>>2]=0;c[a+8>>2]=0;b=a+12|0;c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;c[a+24>>2]=2;b=a+28|0;c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;c[b+12>>2]=0;c[a+44>>2]=-1;c[a+48>>2]=0;c[a+52>>2]=0;c[a+56>>2]=0;c[a>>2]=84916;b=a+60|0;d=b+40|0;do{c[b>>2]=0;b=b+4|0}while((b|0)<(d|0));return a|0}function N$(a,b){a=a|0;b=b|0;var c=0;c=j0a(104)|0;s1(c,a,b);return c|0}function O$(a,b){a=a|0;b=b|0;if(!b){b=0;return b|0}b=(y1a(b,42800,47576,0)|0)!=0;return b|0}function P$(a){a=a|0;return 186332}function Q$(a){a=a|0;return 155864}function R$(a){a=a|0;return a|0}function S$(a){a=a|0;return a|0}function T$(a,b){a=a|0;b=b|0;return a>>>0<b>>>0|0}function U$(a,b){a=a|0;b=b|0;return a>>>0<b>>>0|0}function V$(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,i=0,j=0,k=0;j=l;l=l+16|0;i=j;if((a[223712]|0)==0?g2a(223712)|0:0){h[27966]=1.0e-06;fc(1,i|0)|0;g=c[i>>2]|0;g=o2a(g|0,((g|0)<0)<<31>>31|0,1e6,0)|0;f=y;k=c[i+4>>2]|0;k=t2a(k|0,((k|0)<0)<<31>>31|0,1e3,0)|0;f=p2a(k|0,y|0,g|0,f|0)|0;g=223720;c[g>>2]=f;c[g+4>>2]=y}fc(1,i|0)|0;g=c[b+64>>2]|0;a:do if((g|0)>=1){f=r1(c[b+60>>2]|0)|0;b:do if((f|0)<35688){if((f|0)>=35667)switch(f|0){case 35674:{b=c[b+68>>2]|0;if(!b)break a;Qk[c[d+244>>2]&127](e,g,0,c[b+76>>2]|0);break a}case 35675:{b=c[b+68>>2]|0;if(!b)break a;Qk[c[d+248>>2]&127](e,g,0,c[b+76>>2]|0);break a}case 35676:{b=c[b+68>>2]|0;if(!b)break a;Qk[c[d+252>>2]&127](e,g,0,c[b+76>>2]|0);break a}case 35685:{b=c[b+68>>2]|0;if(!b)break a;Qk[c[d+420>>2]&127](e,g,0,c[b+76>>2]|0);break a}case 35686:{b=c[b+68>>2]|0;if(!b)break a;Qk[c[d+428>>2]&127](e,g,0,c[b+76>>2]|0);break a}case 35687:{b=c[b+68>>2]|0;if(!b)break a;Qk[c[d+424>>2]&127](e,g,0,c[b+76>>2]|0);break a}case 35667:{b=c[b+76>>2]|0;if(!b)break a;Nk[c[d+232>>2]&255](e,g,c[b+76>>2]|0);break a}case 35668:{b=c[b+76>>2]|0;if(!b)break a;Nk[c[d+236>>2]&255](e,g,c[b+76>>2]|0);break a}case 35669:{b=c[b+76>>2]|0;if(!b)break a;Nk[c[d+240>>2]&255](e,g,c[b+76>>2]|0);break a}default:break b}if((f|0)<5134)switch(f|0){case 5126:{b=c[b+68>>2]|0;if(!b)break a;Nk[c[d+212>>2]&255](e,g,c[b+76>>2]|0);break a}case 5130:{b=c[b+72>>2]|0;if(!b)break a;Nk[c[d+632>>2]&255](e,g,c[b+76>>2]|0);break a}case 5124:{b=c[b+76>>2]|0;if(!b)break a;Nk[c[d+228>>2]&255](e,g,c[b+76>>2]|0);break a}case 5125:{b=c[b+80>>2]|0;if(!b)break a;Nk[c[d+496>>2]&255](e,g,c[b+76>>2]|0);break a}default:break b}if((f|0)>=35664)switch(f|0){case 35664:{b=c[b+68>>2]|0;if(!b)break a;Nk[c[d+216>>2]&255](e,g,c[b+76>>2]|0);break a}case 35665:{b=c[b+68>>2]|0;if(!b)break a;Nk[c[d+220>>2]&255](e,g,c[b+76>>2]|0);break a}case 35666:{b=c[b+68>>2]|0;if(!b)break a;Nk[c[d+224>>2]&255](e,g,c[b+76>>2]|0);break a}default:break b}switch(f|0){case 5135:break;case 5134:{b=c[b+84>>2]|0;if(!b)break a;Nk[c[d+516>>2]&255](e,g,c[b+76>>2]|0);break a}default:break b}f=c[b+88>>2]|0;if(!f)break a;b=c[d+524>>2]|0;if(b|0){Nk[b&255](e,g,c[f+76>>2]|0);break a}if(!(ZQ(2)|0))break a;k=PSa(mr(lr(2)|0,155746,117)|0,2901)|0;BSa(i,k+(c[(c[k>>2]|0)+-12>>2]|0)|0);g=cUa(i,230580)|0;g=kk[c[(c[g>>2]|0)+28>>2]&511](g,10)|0;dUa(i);VSa(k,g)|0;HSa(k)|0;break a}else do switch(f|0){case 35688:{b=c[b+68>>2]|0;if(!b)break a;Qk[c[d+436>>2]&127](e,g,0,c[b+76>>2]|0);break a}case 35689:{b=c[b+68>>2]|0;if(!b)break a;Qk[c[d+432>>2]&127](e,g,0,c[b+76>>2]|0);break a}case 35690:{b=c[b+68>>2]|0;if(!b)break a;Qk[c[d+440>>2]&127](e,g,0,c[b+76>>2]|0);break a}case 36860:{b=c[b+72>>2]|0;if(!b)break a;Nk[c[d+636>>2]&255](e,g,c[b+76>>2]|0);break a}case 36861:{b=c[b+72>>2]|0;if(!b)break a;Nk[c[d+640>>2]&255](e,g,c[b+76>>2]|0);break a}case 36862:{b=c[b+72>>2]|0;if(!b)break a;Nk[c[d+644>>2]&255](e,g,c[b+76>>2]|0);break a}case 36678:{b=c[b+72>>2]|0;if(!b)break a;Qk[c[d+648>>2]&127](e,g,0,c[b+76>>2]|0);break a}case 36679:{b=c[b+72>>2]|0;if(!b)break a;Qk[c[d+652>>2]&127](e,g,0,c[b+76>>2]|0);break a}case 36680:{b=c[b+72>>2]|0;if(!b)break a;Qk[c[d+656>>2]&127](e,g,0,c[b+76>>2]|0);break a}case 36681:{b=c[b+72>>2]|0;if(!b)break a;Qk[c[d+660>>2]&127](e,g,0,c[b+76>>2]|0);break a}case 36682:{b=c[b+72>>2]|0;if(!b)break a;Qk[c[d+668>>2]&127](e,g,0,c[b+76>>2]|0);break a}case 36683:{b=c[b+72>>2]|0;if(!b)break a;Qk[c[d+664>>2]&127](e,g,0,c[b+76>>2]|0);break a}case 36684:{b=c[b+72>>2]|0;if(!b)break a;Qk[c[d+676>>2]&127](e,g,0,c[b+76>>2]|0);break a}case 36685:{b=c[b+72>>2]|0;if(!b)break a;Qk[c[d+672>>2]&127](e,g,0,c[b+76>>2]|0);break a}case 36686:{b=c[b+72>>2]|0;if(!b)break a;Qk[c[d+680>>2]&127](e,g,0,c[b+76>>2]|0);break a}case 36294:{b=c[b+80>>2]|0;if(!b)break a;Nk[c[d+500>>2]&255](e,g,c[b+76>>2]|0);break a}case 36295:{b=c[b+80>>2]|0;if(!b)break a;Nk[c[d+504>>2]&255](e,g,c[b+76>>2]|0);break a}case 36296:{b=c[b+80>>2]|0;if(!b)break a;Nk[c[d+508>>2]&255](e,g,c[b+76>>2]|0);break a}default:break b}while(0);while(0);if(ZQ(1)|0){k=PSa(mr(lr(1)|0,155746,117)|0,2910)|0;BSa(i,k+(c[(c[k>>2]|0)+-12>>2]|0)|0);g=cUa(i,230580)|0;g=kk[c[(c[g>>2]|0)+28>>2]&511](g,10)|0;dUa(i);VSa(k,g)|0;HSa(k)|0}}while(0);fc(1,i|0)|0;l=j;return}function W$(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=l;l=l+16|0;d=g;e=a+60|0;f=c[e>>2]|0;if((f|0)==(b|0)){f=1;l=g;return f|0}if(!f){c[e>>2]=b;X$(a);f=1;l=g;return f|0}if(!(ZQ(2)|0)){f=0;l=g;return f|0}f=mr(lr(2)|0,155524,26)|0;BSa(d,f+(c[(c[f>>2]|0)+-12>>2]|0)|0);e=cUa(d,230580)|0;e=kk[c[(c[e>>2]|0)+28>>2]&511](e,10)|0;dUa(d);VSa(f,e)|0;HSa(f)|0;f=0;l=g;return f|0}function X$(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;d=a+68|0;if(c[d>>2]|0)return;g=a+72|0;if(c[g>>2]|0)return;h=a+76|0;if(c[h>>2]|0)return;e=a+80|0;if(c[e>>2]|0)return;b=c[a+64>>2]|0;if(!b)return;a=c[a+60>>2]|0;if(!a)return;f=N(Y$(a)|0,b)|0;if(!f)return;switch(Z$(a)|0){case 5126:{b=j0a(88)|0;_$(b,f);a=c[d>>2]|0;if((a|0)==(b|0))return;c[d>>2]=b;h=b+8|0;c[h>>2]=(c[h>>2]|0)+1;if(!a)return;g=a+8|0;h=c[g>>2]|0;c[g>>2]=h-1;if((h|0)!=1)return;UU(a,1,1);return}case 5130:{b=j0a(88)|0;$$(b,f);a=c[g>>2]|0;if((a|0)==(b|0))return;c[g>>2]=b;h=b+8|0;c[h>>2]=(c[h>>2]|0)+1;if(!a)return;g=a+8|0;h=c[g>>2]|0;c[g>>2]=h-1;if((h|0)!=1)return;UU(a,1,1);return}case 5124:{b=j0a(88)|0;a0(b,f);a=c[h>>2]|0;if((a|0)==(b|0))return;c[h>>2]=b;h=b+8|0;c[h>>2]=(c[h>>2]|0)+1;if(!a)return;g=a+8|0;h=c[g>>2]|0;c[g>>2]=h-1;if((h|0)!=1)return;UU(a,1,1);return}case 5125:{b=j0a(88)|0;b0(b,f);a=c[e>>2]|0;if((a|0)==(b|0))return;c[e>>2]=b;h=b+8|0;c[h>>2]=(c[h>>2]|0)+1;if(!a)return;g=a+8|0;h=c[g>>2]|0;c[g>>2]=h-1;if((h|0)!=1)return;UU(a,1,1);return}default:return}}function Y$(a){a=a|0;var b=0;a:do if((a|0)<36311){if((a|0)>=35686)switch(a|0){case 36309:case 36310:case 36308:case 36307:case 36306:case 36305:case 36301:case 36304:case 36303:case 36302:case 36300:case 36299:case 36298:case 36297:case 36290:case 36293:case 36292:case 36291:case 36289:case 36288:{a=1;break a}case 36294:{b=2;break a}case 36295:{b=3;break a}case 36296:{b=4;break a}case 35687:{b=5;break a}case 35689:case 35686:{b=6;break a}case 35690:case 35688:{b=8;break a}default:{b=10;break a}}if((a|0)>=35672)switch(a|0){case 35684:case 35683:case 35682:case 35681:case 35680:case 35679:case 35678:case 35677:{a=1;break a}case 35672:{b=3;break a}case 35673:case 35674:{b=4;break a}case 35685:{b=5;break a}case 35675:{b=7;break a}case 35676:{b=9;break a}default:{b=10;break a}}if((a|0)>=35665)switch(a|0){case 35670:{a=1;break a}case 35671:case 35667:{b=2;break a}case 35668:case 35665:{b=3;break a}case 35669:case 35666:{b=4;break a}default:{b=10;break a}}if((a|0)<5130)switch(a|0){case 5125:case 5124:case 5126:{a=1;break a}default:{b=10;break a}}if((a|0)<5135)switch(a|0){case 5134:case 5130:{a=1;break a}default:{b=10;break a}}if((a|0)<35664)switch(a|0){case 5135:{a=1;break a}default:{b=10;break a}}else switch(a|0){case 35664:{b=2;break a}default:{b=10;break a}}}else switch(a|0){case 36972:case 36971:case 36970:case 36969:case 36968:case 36967:case 36966:case 36965:case 36964:case 36963:case 36962:case 36961:case 36960:case 36959:case 36958:case 36957:case 36956:case 36955:case 36954:case 36953:case 36952:case 36951:case 36950:case 36949:case 36948:case 36947:case 36946:case 36945:case 36944:case 36943:case 36942:case 36941:case 36940:case 36312:case 37133:case 37130:case 36879:case 36311:case 37132:case 37129:case 36878:case 36877:case 37131:case 37128:case 36876:{a=1;break}case 36860:{b=2;break}case 36861:{b=3;break}case 36678:case 36862:{b=4;break}case 36683:case 36681:{b=5;break}case 36685:case 36682:{b=6;break}case 36679:{b=7;break}case 36686:case 36684:{b=8;break}case 36680:{b=9;break}default:b=10}while(0);if((b|0)==2)a=2;else if((b|0)==3)a=3;else if((b|0)==4)a=4;else if((b|0)==5)a=6;else if((b|0)==6)a=8;else if((b|0)==7)a=9;else if((b|0)==8)a=12;else if((b|0)==9)a=16;else if((b|0)==10)a=0;return a|0}function Z$(a){a=a|0;var b=0;a:do if((a|0)<36311){b:do if((a|0)<35686){if((a|0)>=35672)switch(a|0){case 35685:case 35676:case 35675:case 35674:{a=5126;break a}case 35684:case 35683:case 35682:case 35681:case 35680:case 35679:case 35678:case 35677:case 35673:case 35672:{b=3;break a}default:{b=7;break a}}if((a|0)>=35665)switch(a|0){case 35666:case 35665:{a=5126;break a}case 35671:case 35670:case 35669:case 35668:case 35667:{b=3;break a}default:{b=7;break a}}if((a|0)<5130)switch(a|0){case 5126:{a=5126;break a}case 5124:{b=3;break a}case 5125:break b;default:{b=7;break a}}if((a|0)<5135){switch(a|0){case 5130:{b=2;break a}case 5134:break;default:{b=7;break a}}break a}if((a|0)>=35664)switch(a|0){case 35664:{a=5126;break a}default:{b=7;break a}}switch(a|0){case 5135:break;default:{b=7;break a}}break a}else switch(a|0){case 35690:case 35689:case 35688:case 35687:case 35686:{a=5126;break a}case 36309:case 36310:case 36308:case 36307:case 36306:case 36305:case 36301:case 36304:case 36303:case 36302:case 36300:case 36299:case 36298:case 36297:case 36290:case 36293:case 36292:case 36291:case 36289:case 36288:{b=3;break a}case 36296:case 36295:case 36294:break;default:{b=7;break a}}while(0);a=5125}else switch(a|0){case 36686:case 36685:case 36684:case 36683:case 36682:case 36681:case 36680:case 36679:case 36678:case 36862:case 36861:case 36860:{b=2;break}case 36972:case 36971:case 36970:case 36969:case 36968:case 36967:case 36966:case 36965:case 36964:case 36963:case 36962:case 36961:case 36960:case 36959:case 36958:case 36957:case 36956:case 36955:case 36954:case 36953:case 36952:case 36951:case 36950:case 36949:case 36948:case 36947:case 36946:case 36945:case 36944:case 36943:case 36942:case 36941:case 36940:case 36312:case 37133:case 37130:case 36879:case 36311:case 37132:case 37129:case 36878:case 36877:case 37131:case 37128:case 36876:{b=3;break}default:b=7}while(0);if((b|0)==2)a=5130;else if((b|0)==3)a=5124;else if((b|0)==7)a=0;return a|0}function _$(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;c[b+4>>2]=0;c[b+8>>2]=0;e=b+12|0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[b+24>>2]=2;e=b+28|0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[e+12>>2]=0;c[e+16>>2]=0;c[e+20>>2]=0;c[b>>2]=77332;c[b+52>>2]=7;c[b+56>>2]=1;c[b+60>>2]=5126;c[b+64>>2]=-1;a[b+68>>0]=0;a[b+69>>0]=0;e=b+72|0;c[e>>2]=82340;f=b+76|0;c[f>>2]=0;g=b+80|0;c[g>>2]=0;h=b+84|0;c[h>>2]=0;if(!d){c[b>>2]=82356;c[e>>2]=82596;return}if(d>>>0>1073741823)g1a(f);i=d<<2;j=j0a(i)|0;c[f>>2]=j;f=j+(d<<2)|0;c[h>>2]=f;z2a(j|0,0,i|0)|0;c[g>>2]=f;c[b>>2]=82356;c[e>>2]=82596;return}function $$(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;c[b+4>>2]=0;c[b+8>>2]=0;e=b+12|0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[b+24>>2]=2;e=b+28|0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[e+12>>2]=0;c[e+16>>2]=0;c[e+20>>2]=0;c[b>>2]=77332;c[b+52>>2]=8;c[b+56>>2]=1;c[b+60>>2]=5130;c[b+64>>2]=-1;a[b+68>>0]=0;a[b+69>>0]=0;e=b+72|0;c[e>>2]=85868;f=b+76|0;c[f>>2]=0;g=b+80|0;c[g>>2]=0;h=b+84|0;c[h>>2]=0;if(!d){c[b>>2]=85884;c[e>>2]=86124;return}if(d>>>0>536870911)g1a(f);i=d<<3;j=j0a(i)|0;c[f>>2]=j;f=j+(d<<3)|0;c[h>>2]=f;z2a(j|0,0,i|0)|0;c[g>>2]=f;c[b>>2]=85884;c[e>>2]=86124;return}function a0(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;c[b+4>>2]=0;c[b+8>>2]=0;e=b+12|0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[b+24>>2]=2;e=b+28|0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[e+12>>2]=0;c[e+16>>2]=0;c[e+20>>2]=0;c[b+52>>2]=3;c[b+56>>2]=1;c[b+60>>2]=5124;c[b+64>>2]=-1;a[b+68>>0]=0;a[b+69>>0]=0;c[b>>2]=85104;e=b+72|0;c[e>>2]=80600;f=b+76|0;c[f>>2]=0;g=b+80|0;c[g>>2]=0;h=b+84|0;c[h>>2]=0;if(!d){c[b>>2]=85608;c[e>>2]=85852;return}if(d>>>0>1073741823)g1a(f);i=d<<2;j=j0a(i)|0;c[f>>2]=j;f=j+(d<<2)|0;c[h>>2]=f;z2a(j|0,0,i|0)|0;c[g>>2]=f;c[b>>2]=85608;c[e>>2]=85852;return}function b0(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;c[b+4>>2]=0;c[b+8>>2]=0;e=b+12|0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[b+24>>2]=2;e=b+28|0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[e+12>>2]=0;c[e+16>>2]=0;c[e+20>>2]=0;c[b+52>>2]=6;c[b+56>>2]=1;c[b+60>>2]=5125;c[b+64>>2]=-1;a[b+68>>0]=0;a[b+69>>0]=0;c[b>>2]=85104;e=b+72|0;c[e>>2]=78372;f=b+76|0;c[f>>2]=0;g=b+80|0;c[g>>2]=0;h=b+84|0;c[h>>2]=0;if(!d){c[b>>2]=85348;c[e>>2]=85592;return}if(d>>>0>1073741823)g1a(f);i=d<<2;j=j0a(i)|0;c[f>>2]=j;f=j+(d<<2)|0;c[h>>2]=f;z2a(j|0,0,i|0)|0;c[g>>2]=f;c[b>>2]=85348;c[e>>2]=85592;return}function c0(a){a=a|0;var b=0;c[a+72>>2]=78372;b=c[a+76>>2]|0;if(!b){Ys(a);return}c[a+80>>2]=b;l0a(b);Ys(a);return}function d0(a){a=a|0;var b=0;c[a+72>>2]=78372;b=c[a+76>>2]|0;if(b|0){c[a+80>>2]=b;l0a(b)}Ys(a);l0a(a);return}function e0(b){b=b|0;var d=0;b=j0a(88)|0;c[b+4>>2]=0;c[b+8>>2]=0;d=b+12|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[b+24>>2]=2;d=b+28|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[d+12>>2]=0;c[d+16>>2]=0;c[d+20>>2]=0;c[b+52>>2]=6;c[b+56>>2]=1;c[b+60>>2]=5125;c[b+64>>2]=-1;a[b+68>>0]=0;a[b+69>>0]=0;c[b+76>>2]=0;c[b+80>>2]=0;c[b+84>>2]=0;c[b>>2]=85348;c[b+72>>2]=85592;return b|0}function f0(a,b){a=a|0;b=b|0;var c=0;c=j0a(88)|0;x0(c,a,b);return c|0}function g0(a,b){a=a|0;b=b|0;if(!b){b=0;return b|0}b=(y1a(b,42800,43232,0)|0)!=0;return b|0}function h0(a){a=a|0;var b=0;b=c[a+76>>2]|0;return ((b|0)==(c[a+80>>2]|0)?0:b)|0}function i0(a){a=a|0;return (c[a+80>>2]|0)-(c[a+76>>2]|0)|0}function j0(a,b){a=a|0;b=b|0;Jk[c[(c[b>>2]|0)+32>>2]&1023](b,a);return}function k0(a,b){a=a|0;b=b|0;Jk[c[(c[b>>2]|0)+32>>2]&1023](b,a);return}function l0(a,b,d){a=a|0;b=b|0;d=d|0;Jk[c[(c[d>>2]|0)+28>>2]&1023](d,(c[a+76>>2]|0)+(b<<2)|0);return}function m0(a,b,d){a=a|0;b=b|0;d=d|0;Jk[c[(c[d>>2]|0)+28>>2]&1023](d,(c[a+76>>2]|0)+(b<<2)|0);return}function n0(a,b,d){a=a|0;b=b|0;d=d|0;a=c[a+76>>2]|0;b=c[a+(b<<2)>>2]|0;d=c[a+(d<<2)>>2]|0;return (b>>>0<d>>>0?-1:d>>>0<b>>>0&1)|0}function o0(a){a=a|0;return 4}function p0(a,b){a=a|0;b=b|0;var d=0;d=c[a+76>>2]|0;return ((d|0)==(c[a+80>>2]|0)?0:d+(b<<2)|0)|0}function q0(a){a=a|0;return (c[a+80>>2]|0)-(c[a+76>>2]|0)>>2|0}function r0(a,b){a=a|0;b=b|0;oJ(a+76|0,b);return}function s0(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=l;l=l+16|0;f=h;c[f>>2]=0;g=a+76|0;a=a+80|0;d=c[g>>2]|0;e=(c[a>>2]|0)-d>>2;if(e>>>0<b>>>0){cu(g,b-e|0,f);l=h;return}if(e>>>0<=b>>>0){l=h;return}c[a>>2]=d+(b<<2);l=h;return}function t0(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0;p=l;l=l+16|0;g=p;c[g>>2]=78372;h=g+4|0;i=a+76|0;c[h>>2]=0;j=g+8|0;c[j>>2]=0;k=g+12|0;c[k>>2]=0;m=a+80|0;n=c[m>>2]|0;o=c[i>>2]|0;f=n-o|0;b=f>>2;if(f){if(b>>>0>1073741823)g1a(h);d=j0a(f)|0;c[j>>2]=d;c[h>>2]=d;b=d+(b<<2)|0;c[k>>2]=b;e=d;if((f|0)>0){q=d+(f>>>2<<2)|0;x2a(d|0,o|0,f|0)|0;c[j>>2]=q;f=e;d=q}else{f=e;d=e}}else{f=0;d=0;b=0}c[h>>2]=o;c[i>>2]=f;c[j>>2]=n;c[m>>2]=d;q=a+84|0;c[k>>2]=c[q>>2];c[q>>2]=b;c[g>>2]=78372;if(!o){l=p;return}c[j>>2]=o;l0a(o);l=p;return}function u0(a,b){a=a|0;b=b|0;return c[(c[a+76>>2]|0)+(b<<2)>>2]|0}function v0(a){a=a|0;var b=0;a=a+-72|0;c[a+72>>2]=78372;b=c[a+76>>2]|0;if(!b){Ys(a);return}c[a+80>>2]=b;l0a(b);Ys(a);return}function w0(a){a=a|0;var b=0;a=a+-72|0;c[a+72>>2]=78372;b=c[a+76>>2]|0;if(b|0){c[a+80>>2]=b;l0a(b)}Ys(a);l0a(a);return}function x0(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0;Or(b,d,e);c[b>>2]=69040;c[b+32>>2]=0;c[b+36>>2]=0;c[b+40>>2]=0;e=c[d+44>>2]|0;c[b+44>>2]=e;if(e|0){l=e+(c[(c[e>>2]|0)+-12>>2]|0)+8|0;c[l>>2]=(c[l>>2]|0)+1}c[b+48>>2]=0;c[b+52>>2]=c[d+52>>2];c[b+56>>2]=c[d+56>>2];c[b+60>>2]=c[d+60>>2];c[b+64>>2]=c[d+64>>2];a[b+68>>0]=a[d+68>>0]|0;a[b+69>>0]=a[d+69>>0]|0;c[b>>2]=85104;k=b+72|0;c[k>>2]=78372;f=b+76|0;g=d+76|0;c[f>>2]=0;l=b+80|0;c[l>>2]=0;h=b+84|0;c[h>>2]=0;i=d+80|0;e=(c[i>>2]|0)-(c[g>>2]|0)|0;d=e>>2;if(!e){c[b>>2]=85348;c[k>>2]=85592;return}if(d>>>0>1073741823)g1a(f);j=j0a(e)|0;c[l>>2]=j;c[f>>2]=j;c[h>>2]=j+(d<<2);d=c[g>>2]|0;e=(c[i>>2]|0)-d|0;if((e|0)<=0){c[b>>2]=85348;c[k>>2]=85592;return}x2a(j|0,d|0,e|0)|0;c[l>>2]=j+(e>>>2<<2);c[b>>2]=85348;c[k>>2]=85592;return}function y0(a){a=a|0;Di()}function z0(a){a=a|0;var b=0;c[a+72>>2]=80600;b=c[a+76>>2]|0;if(!b){Ys(a);return}c[a+80>>2]=b;l0a(b);Ys(a);return}function A0(a){a=a|0;var b=0;c[a+72>>2]=80600;b=c[a+76>>2]|0;if(b|0){c[a+80>>2]=b;l0a(b)}Ys(a);l0a(a);return}function B0(b){b=b|0;var d=0;b=j0a(88)|0;c[b+4>>2]=0;c[b+8>>2]=0;d=b+12|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[b+24>>2]=2;d=b+28|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[d+12>>2]=0;c[d+16>>2]=0;c[d+20>>2]=0;c[b+52>>2]=3;c[b+56>>2]=1;c[b+60>>2]=5124;c[b+64>>2]=-1;a[b+68>>0]=0;a[b+69>>0]=0;c[b+76>>2]=0;c[b+80>>2]=0;c[b+84>>2]=0;c[b>>2]=85608;c[b+72>>2]=85852;return b|0}function C0(a,b){a=a|0;b=b|0;var c=0;c=j0a(88)|0;U0(c,a,b);return c|0}function D0(a){a=a|0;var b=0;b=c[a+76>>2]|0;return ((b|0)==(c[a+80>>2]|0)?0:b)|0}function E0(a){a=a|0;return (c[a+80>>2]|0)-(c[a+76>>2]|0)|0}function F0(a,b){a=a|0;b=b|0;Jk[c[(c[b>>2]|0)+20>>2]&1023](b,a);return}function G0(a,b){a=a|0;b=b|0;Jk[c[(c[b>>2]|0)+20>>2]&1023](b,a);return}function H0(a,b,d){a=a|0;b=b|0;d=d|0;Jk[c[(c[d>>2]|0)+16>>2]&1023](d,(c[a+76>>2]|0)+(b<<2)|0);return}function I0(a,b,d){a=a|0;b=b|0;d=d|0;Jk[c[(c[d>>2]|0)+16>>2]&1023](d,(c[a+76>>2]|0)+(b<<2)|0);return}function J0(a,b,d){a=a|0;b=b|0;d=d|0;a=c[a+76>>2]|0;b=c[a+(b<<2)>>2]|0;d=c[a+(d<<2)>>2]|0;return ((b|0)<(d|0)?-1:(d|0)<(b|0)&1)|0}function K0(a){a=a|0;return 4}function L0(a,b){a=a|0;b=b|0;var d=0;d=c[a+76>>2]|0;return ((d|0)==(c[a+80>>2]|0)?0:d+(b<<2)|0)|0}function M0(a){a=a|0;return (c[a+80>>2]|0)-(c[a+76>>2]|0)>>2|0}function N0(a,b){a=a|0;b=b|0;T0(a+76|0,b);return}function O0(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=l;l=l+16|0;f=h;c[f>>2]=0;g=a+76|0;a=a+80|0;d=c[g>>2]|0;e=(c[a>>2]|0)-d>>2;if(e>>>0<b>>>0){ku(g,b-e|0,f);l=h;return}if(e>>>0<=b>>>0){l=h;return}c[a>>2]=d+(b<<2);l=h;return}function P0(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0;p=l;l=l+16|0;g=p;c[g>>2]=80600;h=g+4|0;i=a+76|0;c[h>>2]=0;j=g+8|0;c[j>>2]=0;k=g+12|0;c[k>>2]=0;m=a+80|0;n=c[m>>2]|0;o=c[i>>2]|0;f=n-o|0;b=f>>2;if(f){if(b>>>0>1073741823)g1a(h);d=j0a(f)|0;c[j>>2]=d;c[h>>2]=d;b=d+(b<<2)|0;c[k>>2]=b;e=d;if((f|0)>0){q=d+(f>>>2<<2)|0;x2a(d|0,o|0,f|0)|0;c[j>>2]=q;f=e;d=q}else{f=e;d=e}}else{f=0;d=0;b=0}c[h>>2]=o;c[i>>2]=f;c[j>>2]=n;c[m>>2]=d;q=a+84|0;c[k>>2]=c[q>>2];c[q>>2]=b;c[g>>2]=80600;if(!o){l=p;return}c[j>>2]=o;l0a(o);l=p;return}function Q0(a,b){a=a|0;b=b|0;return c[(c[a+76>>2]|0)+(b<<2)>>2]|0}function R0(a){a=a|0;var b=0;a=a+-72|0;c[a+72>>2]=80600;b=c[a+76>>2]|0;if(!b){Ys(a);return}c[a+80>>2]=b;l0a(b);Ys(a);return}function S0(a){a=a|0;var b=0;a=a+-72|0;c[a+72>>2]=80600;b=c[a+76>>2]|0;if(b|0){c[a+80>>2]=b;l0a(b)}Ys(a);l0a(a);return}function T0(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;f=a+8|0;g=c[a>>2]|0;if((c[f>>2]|0)-g>>2>>>0>=b>>>0)return;h=a+4|0;if(b>>>0>1073741823){h=db(8)|0;p0a(h,183738);c[h>>2]=110936;hb(h|0,65952,1066)}d=(c[h>>2]|0)-g|0;e=j0a(b<<2)|0;if((d|0)>0)x2a(e|0,g|0,d|0)|0;c[a>>2]=e;c[h>>2]=e+(d>>2<<2);c[f>>2]=e+(b<<2);if(!g)return;l0a(g);return}function U0(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0;Or(b,d,e);c[b>>2]=69040;c[b+32>>2]=0;c[b+36>>2]=0;c[b+40>>2]=0;e=c[d+44>>2]|0;c[b+44>>2]=e;if(e|0){l=e+(c[(c[e>>2]|0)+-12>>2]|0)+8|0;c[l>>2]=(c[l>>2]|0)+1}c[b+48>>2]=0;c[b+52>>2]=c[d+52>>2];c[b+56>>2]=c[d+56>>2];c[b+60>>2]=c[d+60>>2];c[b+64>>2]=c[d+64>>2];a[b+68>>0]=a[d+68>>0]|0;a[b+69>>0]=a[d+69>>0]|0;c[b>>2]=85104;k=b+72|0;c[k>>2]=80600;f=b+76|0;g=d+76|0;c[f>>2]=0;l=b+80|0;c[l>>2]=0;h=b+84|0;c[h>>2]=0;i=d+80|0;e=(c[i>>2]|0)-(c[g>>2]|0)|0;d=e>>2;if(!e){c[b>>2]=85608;c[k>>2]=85852;return}if(d>>>0>1073741823)g1a(f);j=j0a(e)|0;c[l>>2]=j;c[f>>2]=j;c[h>>2]=j+(d<<2);d=c[g>>2]|0;e=(c[i>>2]|0)-d|0;if((e|0)<=0){c[b>>2]=85608;c[k>>2]=85852;return}x2a(j|0,d|0,e|0)|0;c[l>>2]=j+(e>>>2<<2);c[b>>2]=85608;c[k>>2]=85852;return}function V0(a){a=a|0;var b=0;c[a+72>>2]=85868;b=c[a+76>>2]|0;if(!b){Ys(a);return}c[a+80>>2]=b;l0a(b);Ys(a);return}function W0(a){a=a|0;var b=0;c[a+72>>2]=85868;b=c[a+76>>2]|0;if(b|0){c[a+80>>2]=b;l0a(b)}Ys(a);l0a(a);return}function X0(b){b=b|0;var d=0;b=j0a(88)|0;c[b+4>>2]=0;c[b+8>>2]=0;d=b+12|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[b+24>>2]=2;d=b+28|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[d+12>>2]=0;c[d+16>>2]=0;c[d+20>>2]=0;c[b+52>>2]=8;c[b+56>>2]=1;c[b+60>>2]=5130;c[b+64>>2]=-1;a[b+68>>0]=0;a[b+69>>0]=0;c[b+76>>2]=0;c[b+80>>2]=0;c[b+84>>2]=0;c[b>>2]=85884;c[b+72>>2]=86124;return b|0}function Y0(a,b){a=a|0;b=b|0;var c=0;c=j0a(88)|0;o1(c,a,b);return c|0}function Z0(a){a=a|0;var b=0;b=c[a+76>>2]|0;return ((b|0)==(c[a+80>>2]|0)?0:b)|0}function _0(a){a=a|0;return (c[a+80>>2]|0)-(c[a+76>>2]|0)|0}function $0(a,b){a=a|0;b=b|0;Jk[c[(c[b>>2]|0)+40>>2]&1023](b,a);return}function a1(a,b){a=a|0;b=b|0;Jk[c[(c[b>>2]|0)+40>>2]&1023](b,a);return}function b1(a,b,d){a=a|0;b=b|0;d=d|0;Jk[c[(c[d>>2]|0)+36>>2]&1023](d,(c[a+76>>2]|0)+(b<<3)|0);return}function c1(a,b,d){a=a|0;b=b|0;d=d|0;Jk[c[(c[d>>2]|0)+36>>2]&1023](d,(c[a+76>>2]|0)+(b<<3)|0);return}function d1(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,f=0.0;a=c[a+76>>2]|0;e=+h[a+(b<<3)>>3];f=+h[a+(d<<3)>>3];return (e<f?-1:f<e&1)|0}function e1(a){a=a|0;return 8}function f1(a,b){a=a|0;b=b|0;var d=0;d=c[a+76>>2]|0;return ((d|0)==(c[a+80>>2]|0)?0:d+(b<<3)|0)|0}function g1(a){a=a|0;return (c[a+80>>2]|0)-(c[a+76>>2]|0)>>3|0}function h1(a,b){a=a|0;b=b|0;n1(a+76|0,b);return}function i1(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,i=0;i=l;l=l+16|0;f=i;h[f>>3]=0.0;g=a+76|0;a=a+80|0;d=c[g>>2]|0;e=(c[a>>2]|0)-d>>3;if(e>>>0<b>>>0){m1(g,b-e|0,f);l=i;return}if(e>>>0<=b>>>0){l=i;return}c[a>>2]=d+(b<<3);l=i;return}function j1(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0;p=l;l=l+16|0;g=p;c[g>>2]=85868;h=g+4|0;i=a+76|0;c[h>>2]=0;j=g+8|0;c[j>>2]=0;k=g+12|0;c[k>>2]=0;m=a+80|0;n=c[m>>2]|0;o=c[i>>2]|0;f=n-o|0;b=f>>3;if(f){if(b>>>0>536870911)g1a(h);d=j0a(f)|0;c[j>>2]=d;c[h>>2]=d;b=d+(b<<3)|0;c[k>>2]=b;e=d;if((f|0)>0){q=d+(f>>>3<<3)|0;x2a(d|0,o|0,f|0)|0;c[j>>2]=q;f=e;d=q}else{f=e;d=e}}else{f=0;d=0;b=0}c[h>>2]=o;c[i>>2]=f;c[j>>2]=n;c[m>>2]=d;q=a+84|0;c[k>>2]=c[q>>2];c[q>>2]=b;c[g>>2]=85868;if(!o){l=p;return}c[j>>2]=o;l0a(o);l=p;return}function k1(a){a=a|0;var b=0;a=a+-72|0;c[a+72>>2]=85868;b=c[a+76>>2]|0;if(!b){Ys(a);return}c[a+80>>2]=b;l0a(b);Ys(a);return}function l1(a){a=a|0;var b=0;a=a+-72|0;c[a+72>>2]=85868;b=c[a+76>>2]|0;if(b|0){c[a+80>>2]=b;l0a(b)}Ys(a);l0a(a);return}function m1(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;n=a+8|0;f=c[n>>2]|0;o=a+4|0;e=c[o>>2]|0;g=e;if(f-e>>3>>>0>=b>>>0){e=b;f=g;while(1){h[f>>3]=+h[d>>3];e=e+-1|0;if(!e)break;else f=f+8|0}c[o>>2]=g+(b<<3);return}m=c[a>>2]|0;l=e-m|0;g=l>>3;e=g+b|0;if(e>>>0>536870911)g1a(a);j=f-m|0;k=j>>2;e=j>>3>>>0<268435455?(k>>>0<e>>>0?e:k):536870911;do if(e)if(e>>>0>536870911){o=db(8)|0;p0a(o,183738);c[o>>2]=110936;hb(o|0,65952,1066)}else{k=j0a(e<<3)|0;j=k;break}else{j=0;k=0}while(0);i=j+(g<<3)|0;f=j+(e<<3)|0;e=b;g=i;while(1){h[g>>3]=+h[d>>3];e=e+-1|0;if(!e)break;else g=g+8|0}if((l|0)>0)x2a(k|0,m|0,l|0)|0;c[a>>2]=j;c[o>>2]=i+(b<<3);c[n>>2]=f;if(!m)return;l0a(m);return}function n1(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;f=a+8|0;g=c[a>>2]|0;if((c[f>>2]|0)-g>>3>>>0>=b>>>0)return;h=a+4|0;if(b>>>0>536870911){h=db(8)|0;p0a(h,183738);c[h>>2]=110936;hb(h|0,65952,1066)}d=(c[h>>2]|0)-g|0;e=j0a(b<<3)|0;if((d|0)>0)x2a(e|0,g|0,d|0)|0;c[a>>2]=e;c[h>>2]=e+(d>>3<<3);c[f>>2]=e+(b<<3);if(!g)return;l0a(g);return}function o1(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0;Or(b,d,e);c[b>>2]=69040;c[b+32>>2]=0;c[b+36>>2]=0;c[b+40>>2]=0;e=c[d+44>>2]|0;c[b+44>>2]=e;if(e|0){l=e+(c[(c[e>>2]|0)+-12>>2]|0)+8|0;c[l>>2]=(c[l>>2]|0)+1}c[b+48>>2]=0;c[b>>2]=77332;c[b+52>>2]=c[d+52>>2];c[b+56>>2]=c[d+56>>2];c[b+60>>2]=c[d+60>>2];c[b+64>>2]=c[d+64>>2];a[b+68>>0]=a[d+68>>0]|0;a[b+69>>0]=a[d+69>>0]|0;k=b+72|0;c[k>>2]=85868;f=b+76|0;g=d+76|0;c[f>>2]=0;l=b+80|0;c[l>>2]=0;h=b+84|0;c[h>>2]=0;i=d+80|0;e=(c[i>>2]|0)-(c[g>>2]|0)|0;d=e>>3;if(!e){c[b>>2]=85884;c[k>>2]=86124;return}if(d>>>0>536870911)g1a(f);j=j0a(e)|0;c[l>>2]=j;c[f>>2]=j;c[h>>2]=j+(d<<3);d=c[g>>2]|0;e=(c[i>>2]|0)-d|0;if((e|0)<=0){c[b>>2]=85884;c[k>>2]=86124;return}x2a(j|0,d|0,e|0)|0;c[l>>2]=j+(e>>>3<<3);c[b>>2]=85884;c[k>>2]=86124;return}function p1(a){a=a|0;var b=0;c[a>>2]=85868;b=c[a+4>>2]|0;if(!b)return;c[a+8>>2]=b;l0a(b);return}function q1(a){a=a|0;var b=0;c[a>>2]=85868;b=c[a+4>>2]|0;if(!b){l0a(a);return}c[a+8>>2]=b;l0a(b);l0a(a);return}function r1(a){a=a|0;var b=0;a:do if((a|0)<36879){if((a|0)>=36293)switch(a|0){case 36309:case 36312:case 36311:case 36310:case 36308:case 36307:case 36306:case 36305:case 36301:case 36304:case 36878:case 36303:case 36302:case 36300:case 36299:case 36298:case 36297:case 36877:case 36293:case 36876:{a=5124;break a}default:{b=7;break a}}if((a|0)>=35680)switch(a|0){case 35684:case 35683:case 36290:case 36292:case 36291:case 36289:case 36288:case 35682:case 35681:case 35680:{a=5124;break a}default:{b=7;break a}}if((a|0)>=35672)switch(a|0){case 35679:case 35678:case 35677:{a=5124;break a}case 35672:{a=35668;break a}case 35673:{a=35669;break a}default:{b=7;break a}}if((a|0)>=35670){switch(a|0){case 35670:{a=5124;break a}case 35671:break;default:{b=7;break a}}a=35667;break}switch(a|0){case 5135:break a;case 5134:break a;default:{b=7;break a}}}else switch(a|0){case 36972:case 36971:case 36970:case 36969:case 36968:case 36967:case 36966:case 36965:case 36964:case 36963:case 36962:case 36961:case 36960:case 36959:case 36958:case 36957:case 36956:case 36955:case 36954:case 36953:case 36952:case 36951:case 36950:case 36949:case 36948:case 36947:case 36946:case 36945:case 36944:case 36943:case 36942:case 36941:case 36940:case 37133:case 37130:case 36879:case 37132:case 37129:case 37131:case 37128:{a=5124;break}default:b=7}while(0);return a|0}function s1(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;yX(a,b,d);c[a>>2]=84916;c[a+60>>2]=c[b+60>>2];d=a+64|0;e=d+36|0;do{c[d>>2]=0;d=d+4|0}while((d|0)<(e|0));t1(a,b);return}function t1(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0;p=l;l=l+16|0;m=p+12|0;k=p+8|0;n=p+4|0;o=p;c[a+64>>2]=c[b+64>>2];c[a+44>>2]=c[b+44>>2];d=b+68|0;if(!((((c[d>>2]|0)==0?(c[b+72>>2]|0)==0:0)?(c[b+76>>2]|0)==0:0)?!(c[b+80>>2]|0):0))X$(a);e=c[a+68>>2]|0;if(e|0?(f=c[d>>2]|0,!((f|0)==0|(e|0)==(f|0))):0){d=c[f+80>>2]|0;c[n>>2]=c[f+76>>2];c[o>>2]=d;c[k>>2]=c[n>>2];c[m>>2]=c[o>>2];u1(e+76|0,k,m)}d=c[a+72>>2]|0;if(d|0?(g=c[b+72>>2]|0,!((g|0)==0|(d|0)==(g|0))):0){f=c[g+80>>2]|0;c[n>>2]=c[g+76>>2];c[o>>2]=f;c[k>>2]=c[n>>2];c[m>>2]=c[o>>2];v1(d+76|0,k,m)}d=c[a+76>>2]|0;if(d|0?(h=c[b+76>>2]|0,!((h|0)==0|(d|0)==(h|0))):0){g=c[h+80>>2]|0;c[n>>2]=c[h+76>>2];c[o>>2]=g;c[k>>2]=c[n>>2];c[m>>2]=c[o>>2];w1(d+76|0,k,m)}d=c[a+80>>2]|0;if(d|0?(i=c[b+80>>2]|0,!((i|0)==0|(d|0)==(i|0))):0){h=c[i+80>>2]|0;c[n>>2]=c[i+76>>2];c[o>>2]=h;c[k>>2]=c[n>>2];c[m>>2]=c[o>>2];x1(d+76|0,k,m)}d=c[a+84>>2]|0;if(d|0?(j=c[b+84>>2]|0,!((j|0)==0|(d|0)==(j|0))):0){i=c[j+80>>2]|0;c[n>>2]=c[j+76>>2];c[o>>2]=i;c[k>>2]=c[n>>2];c[m>>2]=c[o>>2];y1(d+76|0,k,m)}e=c[a+88>>2]|0;if(!e){o=a+48|0;n=c[o>>2]|0;n=n+1|0;c[o>>2]=n;l=p;return}d=c[b+88>>2]|0;if((d|0)==0|(e|0)==(d|0)){o=a+48|0;n=c[o>>2]|0;n=n+1|0;c[o>>2]=n;l=p;return}b=c[d+80>>2]|0;c[n>>2]=c[d+76>>2];c[o>>2]=b;c[k>>2]=c[n>>2];c[m>>2]=c[o>>2];z1(e+76|0,k,m);o=a+48|0;n=c[o>>2]|0;n=n+1|0;c[o>>2]=n;l=p;return}function u1(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;l=c[b>>2]|0;f=c[d>>2]|0;g=f-l>>2;i=a+8|0;b=c[i>>2]|0;e=c[a>>2]|0;d=e;if(g>>>0>b-e>>2>>>0){if(e){b=a+4|0;c[b>>2]=e;l0a(e);c[i>>2]=0;c[b>>2]=0;c[a>>2]=0;b=0}if(g>>>0>1073741823)g1a(a);k=b>>1;b=b>>2>>>0<536870911?(k>>>0<g>>>0?g:k):1073741823;if(b>>>0>1073741823)g1a(a);g=j0a(b<<2)|0;h=a+4|0;c[h>>2]=g;c[a>>2]=g;c[i>>2]=g+(b<<2);b=l;if((f|0)==(b|0))return;e=f+-4-l|0;d=g;while(1){c[d>>2]=c[b>>2];b=b+4|0;if((b|0)==(f|0))break;else d=d+4|0}c[h>>2]=g+((e>>>2)+1<<2);return}k=a+4|0;j=c[k>>2]|0;a=j-e>>2;i=g>>>0>a>>>0;e=l;a=i?e+(a<<2)|0:f;b=a;if((b|0)!=(e|0)){h=b+-4-l|0;g=d;while(1){c[g>>2]=c[e>>2];e=e+4|0;if((e|0)==(b|0))break;else g=g+4|0}d=d+((h>>>2)+1<<2)|0}if(!i){c[k>>2]=d;return}if((f|0)==(b|0))return;e=f+-4-a|0;d=j;while(1){c[d>>2]=c[b>>2];b=b+4|0;if((b|0)==(f|0))break;else d=d+4|0}c[k>>2]=j+((e>>>2)+1<<2);return}function v1(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,i=0,j=0,k=0,l=0,m=0;m=c[b>>2]|0;f=c[d>>2]|0;g=f-m>>3;j=a+8|0;b=c[j>>2]|0;e=c[a>>2]|0;d=e;if(g>>>0>b-e>>3>>>0){if(e){b=a+4|0;c[b>>2]=e;l0a(e);c[j>>2]=0;c[b>>2]=0;c[a>>2]=0;b=0}if(g>>>0>536870911)g1a(a);l=b>>2;b=b>>3>>>0<268435455?(l>>>0<g>>>0?g:l):536870911;if(b>>>0>536870911)g1a(a);g=j0a(b<<3)|0;i=a+4|0;c[i>>2]=g;c[a>>2]=g;c[j>>2]=g+(b<<3);b=m;if((f|0)==(b|0))return;e=f+-8-m|0;d=g;while(1){h[d>>3]=+h[b>>3];b=b+8|0;if((b|0)==(f|0))break;else d=d+8|0}c[i>>2]=g+((e>>>3)+1<<3);return}l=a+4|0;k=c[l>>2]|0;a=k-e>>3;j=g>>>0>a>>>0;e=m;a=j?e+(a<<3)|0:f;b=a;if((b|0)!=(e|0)){i=b+-8-m|0;g=d;while(1){h[g>>3]=+h[e>>3];e=e+8|0;if((e|0)==(b|0))break;else g=g+8|0}d=d+((i>>>3)+1<<3)|0}if(!j){c[l>>2]=d;return}if((f|0)==(b|0))return;e=f+-8-a|0;d=k;while(1){h[d>>3]=+h[b>>3];b=b+8|0;if((b|0)==(f|0))break;else d=d+8|0}c[l>>2]=k+((e>>>3)+1<<3);return}function w1(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;l=c[b>>2]|0;f=c[d>>2]|0;g=f-l>>2;i=a+8|0;b=c[i>>2]|0;e=c[a>>2]|0;d=e;if(g>>>0>b-e>>2>>>0){if(e){b=a+4|0;c[b>>2]=e;l0a(e);c[i>>2]=0;c[b>>2]=0;c[a>>2]=0;b=0}if(g>>>0>1073741823)g1a(a);k=b>>1;b=b>>2>>>0<536870911?(k>>>0<g>>>0?g:k):1073741823;if(b>>>0>1073741823)g1a(a);g=j0a(b<<2)|0;h=a+4|0;c[h>>2]=g;c[a>>2]=g;c[i>>2]=g+(b<<2);b=l;if((f|0)==(b|0))return;e=f+-4-l|0;d=g;while(1){c[d>>2]=c[b>>2];b=b+4|0;if((b|0)==(f|0))break;else d=d+4|0}c[h>>2]=g+((e>>>2)+1<<2);return}k=a+4|0;j=c[k>>2]|0;a=j-e>>2;i=g>>>0>a>>>0;e=l;a=i?e+(a<<2)|0:f;b=a;if((b|0)!=(e|0)){h=b+-4-l|0;g=d;while(1){c[g>>2]=c[e>>2];e=e+4|0;if((e|0)==(b|0))break;else g=g+4|0}d=d+((h>>>2)+1<<2)|0}if(!i){c[k>>2]=d;return}if((f|0)==(b|0))return;e=f+-4-a|0;d=j;while(1){c[d>>2]=c[b>>2];b=b+4|0;if((b|0)==(f|0))break;else d=d+4|0}c[k>>2]=j+((e>>>2)+1<<2);return}function x1(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;l=c[b>>2]|0;f=c[d>>2]|0;g=f-l>>2;i=a+8|0;b=c[i>>2]|0;e=c[a>>2]|0;d=e;if(g>>>0>b-e>>2>>>0){if(e){b=a+4|0;c[b>>2]=e;l0a(e);c[i>>2]=0;c[b>>2]=0;c[a>>2]=0;b=0}if(g>>>0>1073741823)g1a(a);k=b>>1;b=b>>2>>>0<536870911?(k>>>0<g>>>0?g:k):1073741823;if(b>>>0>1073741823)g1a(a);g=j0a(b<<2)|0;h=a+4|0;c[h>>2]=g;c[a>>2]=g;c[i>>2]=g+(b<<2);b=l;if((f|0)==(b|0))return;e=f+-4-l|0;d=g;while(1){c[d>>2]=c[b>>2];b=b+4|0;if((b|0)==(f|0))break;else d=d+4|0}c[h>>2]=g+((e>>>2)+1<<2);return}k=a+4|0;j=c[k>>2]|0;a=j-e>>2;i=g>>>0>a>>>0;e=l;a=i?e+(a<<2)|0:f;b=a;if((b|0)!=(e|0)){h=b+-4-l|0;g=d;while(1){c[g>>2]=c[e>>2];e=e+4|0;if((e|0)==(b|0))break;else g=g+4|0}d=d+((h>>>2)+1<<2)|0}if(!i){c[k>>2]=d;return}if((f|0)==(b|0))return;e=f+-4-a|0;d=j;while(1){c[d>>2]=c[b>>2];b=b+4|0;if((b|0)==(f|0))break;else d=d+4|0}c[k>>2]=j+((e>>>2)+1<<2);return}function y1(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;l=c[b>>2]|0;f=c[d>>2]|0;g=f-l>>3;h=a+8|0;b=c[h>>2]|0;e=c[a>>2]|0;d=e;if(g>>>0>b-e>>3>>>0){if(e){b=a+4|0;c[b>>2]=e;l0a(e);c[h>>2]=0;c[b>>2]=0;c[a>>2]=0;b=0}if(g>>>0>536870911)g1a(a);k=b>>2;b=b>>3>>>0<268435455?(k>>>0<g>>>0?g:k):536870911;if(b>>>0>536870911)g1a(a);g=j0a(b<<3)|0;i=a+4|0;c[i>>2]=g;c[a>>2]=g;c[h>>2]=g+(b<<3);b=l;if((f|0)==(b|0))return;e=f+-8-l|0;d=g;while(1){j=b;k=c[j+4>>2]|0;l=d;c[l>>2]=c[j>>2];c[l+4>>2]=k;b=b+8|0;if((b|0)==(f|0))break;else d=d+8|0}c[i>>2]=g+((e>>>3)+1<<3);return}k=a+4|0;j=c[k>>2]|0;a=j-e>>3;i=g>>>0>a>>>0;e=l;a=i?e+(a<<3)|0:f;b=a;if((b|0)!=(e|0)){h=b+-8-l|0;g=d;while(1){n=e;m=c[n+4>>2]|0;l=g;c[l>>2]=c[n>>2];c[l+4>>2]=m;e=e+8|0;if((e|0)==(b|0))break;else g=g+8|0}d=d+((h>>>3)+1<<3)|0}if(!i){c[k>>2]=d;return}if((f|0)==(b|0))return;e=f+-8-a|0;d=j;while(1){l=b;m=c[l+4>>2]|0;n=d;c[n>>2]=c[l>>2];c[n+4>>2]=m;b=b+8|0;if((b|0)==(f|0))break;else d=d+8|0}c[k>>2]=j+((e>>>3)+1<<3);return}function z1(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;l=c[b>>2]|0;f=c[d>>2]|0;g=f-l>>3;h=a+8|0;b=c[h>>2]|0;e=c[a>>2]|0;d=e;if(g>>>0>b-e>>3>>>0){if(e){b=a+4|0;c[b>>2]=e;l0a(e);c[h>>2]=0;c[b>>2]=0;c[a>>2]=0;b=0}if(g>>>0>536870911)g1a(a);k=b>>2;b=b>>3>>>0<268435455?(k>>>0<g>>>0?g:k):536870911;if(b>>>0>536870911)g1a(a);g=j0a(b<<3)|0;i=a+4|0;c[i>>2]=g;c[a>>2]=g;c[h>>2]=g+(b<<3);b=l;if((f|0)==(b|0))return;e=f+-8-l|0;d=g;while(1){j=b;k=c[j+4>>2]|0;l=d;c[l>>2]=c[j>>2];c[l+4>>2]=k;b=b+8|0;if((b|0)==(f|0))break;else d=d+8|0}c[i>>2]=g+((e>>>3)+1<<3);return}k=a+4|0;j=c[k>>2]|0;a=j-e>>3;i=g>>>0>a>>>0;e=l;a=i?e+(a<<3)|0:f;b=a;if((b|0)!=(e|0)){h=b+-8-l|0;g=d;while(1){n=e;m=c[n+4>>2]|0;l=g;c[l>>2]=c[n>>2];c[l+4>>2]=m;e=e+8|0;if((e|0)==(b|0))break;else g=g+8|0}d=d+((h>>>3)+1<<3)|0}if(!i){c[k>>2]=d;return}if((f|0)==(b|0))return;e=f+-8-a|0;d=j;while(1){l=b;m=c[l+4>>2]|0;n=d;c[n>>2]=c[l>>2];c[n+4>>2]=m;b=b+8|0;if((b|0)==(f|0))break;else d=d+8|0}c[k>>2]=j+((e>>>3)+1<<3);return}function A1(a){a=a|0;return a|0}function B1(a){a=a|0;return a|0}function C1(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;f=c[a>>2]|0;e=c[f+176>>2]|0;d=lk[c[f+192>>2]&127](a,b,d)|0;return kk[e&511](a,d)|0}function D1(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;f=c[a>>2]|0;e=c[f+180>>2]|0;d=lk[c[f+192>>2]&127](a,b,d)|0;return kk[e&511](a,d)|0}function E1(a,b){a=a|0;b=b|0;var d=0,e=0;Uq(a,b);d=c[a+32>>2]|0;if(d|0)Jk[c[c[d>>2]>>2]&1023](d,b);d=c[a+48>>2]|0;a=a+52|0;if((d|0)==(c[a>>2]|0))return;do{e=c[d>>2]|0;Jk[c[c[e>>2]>>2]&1023](e,b);d=d+4|0}while((d|0)!=(c[a>>2]|0));return}function F1(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;c[b>>2]=86140;f=b+48|0;g=c[f>>2]|0;if(g|0){h=b+52|0;d=c[h>>2]|0;if((d|0)==(g|0))d=g;else{do{d=d+-4|0;e=c[d>>2]|0;if(e|0?(j=e+8|0,i=c[j>>2]|0,c[j>>2]=i-1,(i|0)==1):0)UU(e,1,1);c[d>>2]=0}while((d|0)!=(g|0));d=c[f>>2]|0}c[h>>2]=g;l0a(d)}e=b+36|0;f=c[e>>2]|0;if(f|0){g=b+40|0;d=c[g>>2]|0;if((d|0)==(f|0))d=f;else{do{d=d+-12|0;if((a[d+11>>0]|0)<0)l0a(c[d>>2]|0)}while((d|0)!=(f|0));d=c[e>>2]|0}c[g>>2]=f;l0a(d)}d=b+32|0;e=c[d>>2]|0;if(!e){c[d>>2]=0;Pr(b);return}i=e+8|0;j=c[i>>2]|0;c[i>>2]=j-1;if((j|0)!=1){c[d>>2]=0;Pr(b);return}UU(e,1,1);c[d>>2]=0;Pr(b);return}function G1(a){a=a|0;F1(a);l0a(a);return}function H1(a){a=a|0;var b=0;a=j0a(60)|0;c[a+4>>2]=0;c[a+8>>2]=0;b=a+12|0;c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;c[a+24>>2]=2;c[a+28>>2]=0;c[a>>2]=86140;b=a+32|0;c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;c[b+12>>2]=0;c[b+16>>2]=0;c[b+20>>2]=0;c[b+24>>2]=0;return a|0}function I1(a,b){a=a|0;b=b|0;var c=0;c=j0a(60)|0;a2(c,a,b);return c|0}function J1(a,b){a=a|0;b=b|0;if(!b){b=0;return b|0}b=(y1a(b,42800,47712,0)|0)!=0;return b|0}function K1(a){a=a|0;return 186332}function L1(a){a=a|0;return 155913}function M1(a,b){a=a|0;b=b|0;var d=0;a=a+32|0;d=c[a>>2]|0;if((d|0)==(b|0))return;c[a>>2]=b;if(b|0){b=b+8|0;c[b>>2]=(c[b>>2]|0)+1}if(!d)return;a=d+8|0;b=c[a>>2]|0;c[a>>2]=b-1;if((b|0)!=1)return;UU(d,1,1);return}function N1(a){a=a|0;return c[a+32>>2]|0}function O1(a){a=a|0;return c[a+32>>2]|0}function P1(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;j=l;l=l+16|0;g=j;e=lk[c[(c[a>>2]|0)+188>>2]&127](a,b,0)|0;f=a+48|0;h=a+52|0;d=c[h>>2]|0;i=d-(c[f>>2]|0)>>2;if(e>>>0<i>>>0){i=e;l=j;return i|0}c[g>>2]=b;if(b){d=b+8|0;c[d>>2]=(c[d>>2]|0)+1;d=c[h>>2]|0}if(d>>>0<(c[a+56>>2]|0)>>>0){b=c[g>>2]|0;c[d>>2]=b;if(b){d=b+8|0;c[d>>2]=(c[d>>2]|0)+1;d=c[h>>2]|0}c[h>>2]=d+4}else JO(f,g);d=c[g>>2]|0;if(d|0?(g=d+8|0,h=c[g>>2]|0,c[g>>2]=h-1,(h|0)==1):0)UU(d,1,1);l=j;return i|0}function Q1(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;e=c[a+48>>2]|0;if((c[a+52>>2]|0)-e>>2>>>0<=b>>>0)return;a=e+(b<<2)|0;b=c[a>>2]|0;if((b|0)==(d|0))return;c[a>>2]=d;if(d|0){d=d+8|0;c[d>>2]=(c[d>>2]|0)+1}if(!b)return;e=b+8|0;d=c[e>>2]|0;c[e>>2]=d-1;if((d|0)!=1)return;UU(b,1,1);return}function R1(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;h=a+52|0;f=c[h>>2]|0;a=c[a+48>>2]|0;d=f;if(f-a>>2>>>0<=b>>>0)return;a=a+(b<<2)|0;b=a+4|0;if((b|0)!=(d|0)){do{e=c[a>>2]|0;f=c[b>>2]|0;if((e|0)!=(f|0)){c[a>>2]=f;if(f|0){f=f+8|0;c[f>>2]=(c[f>>2]|0)+1}if(e|0?(i=e+8|0,f=c[i>>2]|0,c[i>>2]=f-1,(f|0)==1):0)UU(e,1,1)}b=b+4|0;a=a+4|0}while((b|0)!=(d|0));d=c[h>>2]|0;if((d|0)!=(a|0))g=12}else g=12;if((g|0)==12)do{d=d+-4|0;b=c[d>>2]|0;if(b|0?(g=b+8|0,i=c[g>>2]|0,c[g>>2]=i-1,(i|0)==1):0)UU(b,1,1);c[d>>2]=0}while((d|0)!=(a|0));c[h>>2]=a;return}function S1(a,b){a=a|0;b=b|0;var d=0;d=c[a+48>>2]|0;if((c[a+52>>2]|0)-d>>2>>>0<=b>>>0){d=0;return d|0}d=c[d+(b<<2)>>2]|0;return d|0}function T1(a,b){a=a|0;b=b|0;var d=0;d=c[a+48>>2]|0;if((c[a+52>>2]|0)-d>>2>>>0<=b>>>0){d=0;return d|0}d=c[d+(b<<2)>>2]|0;return d|0}function U1(a){a=a|0;return (c[a+52>>2]|0)-(c[a+48>>2]|0)>>2|0}function V1(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;f=c[a+48>>2]|0;e=(c[a+52>>2]|0)-f>>2;a=f;if(e>>>0<=d>>>0){f=e;return f|0}while(1){if((c[a+(d<<2)>>2]|0)==(b|0)){a=5;break}d=d+1|0;if(d>>>0>=e>>>0){d=e;a=5;break}}if((a|0)==5)return d|0;return 0}function W1(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;i=c[b+48>>2]|0;k=(c[b+52>>2]|0)-i>>2;if(k>>>0<=e>>>0){n=k;return n|0}j=a[d+11>>0]|0;g=j<<24>>24<0;j=g?c[d+4>>2]|0:j&255;g=g?c[d>>2]|0:d;h=(j|0)==0;a:while(1){b=c[i+(e<<2)>>2]|0;do if(b|0?(l=b+12|0,n=a[l+11>>0]|0,m=n<<24>>24<0,n=n&255,((m?c[b+16>>2]|0:n)|0)==(j|0)):0){d=c[l>>2]|0;b=m?d:l;d=d&255;if(m){if(h){b=14;break a}if(!(cOa(b,g,j)|0)){b=14;break a}else break}if(h){b=14;break a}if((a[g>>0]|0)==d<<24>>24){b=l;d=n;f=g;do{d=d+-1|0;b=b+1|0;if(!d){b=14;break a}f=f+1|0}while((a[b>>0]|0)==(a[f>>0]|0))}}while(0);e=e+1|0;if(e>>>0>=k>>>0){e=k;b=14;break}}if((b|0)==14)return e|0;return 0}function X1(a,b){a=a|0;b=b|0;a=a+36|0;if((a|0)==(b|0))return;xO(a,c[b>>2]|0,c[b+4>>2]|0);return}function Y1(a){a=a|0;return a+36|0}function Z1(a){a=a|0;return a+36|0}function _1(a){a=a|0;return ((c[a+40>>2]|0)-(c[a+36>>2]|0)|0)/12|0|0}function $1(a,b){a=a|0;b=b|0;var d=0,e=0;d=a+40|0;e=c[d>>2]|0;if((e|0)==(c[a+44>>2]|0)){zq(a+36|0,b);return}else{t0a(e,b);c[d>>2]=(c[d>>2]|0)+12;return}}function a2(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0;k=l;l=l+16|0;g=k;Or(a,b,d);c[a>>2]=86140;f=a+32|0;h=a+48|0;i=a+52|0;j=a+56|0;c[f>>2]=0;c[f+4>>2]=0;c[f+8>>2]=0;c[f+12>>2]=0;c[f+16>>2]=0;c[f+20>>2]=0;c[f+24>>2]=0;e=c[b+32>>2]|0;if(e|0){c[f>>2]=e;f=e+8|0;c[f>>2]=(c[f>>2]|0)+1}if((a|0)!=(b|0))xO(a+36|0,c[b+36>>2]|0,c[b+40>>2]|0);a=c[b+48>>2]|0;b=b+52|0;if((a|0)==(c[b>>2]|0)){l=k;return}do{e=kk[c[(c[d>>2]|0)+12>>2]&511](d,c[a>>2]|0)|0;c[g>>2]=e;if(e|0){f=e+8|0;c[f>>2]=(c[f>>2]|0)+1}e=c[i>>2]|0;if(e>>>0<(c[j>>2]|0)>>>0){f=c[g>>2]|0;c[e>>2]=f;if(f){e=f+8|0;c[e>>2]=(c[e>>2]|0)+1;e=c[i>>2]|0}c[i>>2]=e+4}else JO(h,g);e=c[g>>2]|0;if(e|0?(m=e+8|0,f=c[m>>2]|0,c[m>>2]=f-1,(f|0)==1):0)UU(e,1,1);a=a+4|0}while((a|0)!=(c[b>>2]|0));l=k;return}function b2(a){a=a|0;a=j0a(68)|0;x2(a);return a+(c[(c[a>>2]|0)+-12>>2]|0)|0}function c2(a,b){a=a|0;b=b|0;var d=0;d=j0a(68)|0;r2(d,a,b);return d+(c[(c[d>>2]|0)+-12>>2]|0)|0}function d2(a,b){a=a|0;b=b|0;if(!b){b=0;return b|0}b=(y1a(b,42800,47728,-1)|0)!=0;return b|0}function e2(a){a=a|0;return 186332}function f2(a){a=a|0;return 187988}function g2(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;c[a+8>>2]=c[b+8>>2];d=a+12|0;e=c[d>>2]|0;j=b+12|0;f=c[j>>2]|0;if((e|0)!=(f|0)){c[d>>2]=f;if(f|0){i=f+8|0;c[i>>2]=(c[i>>2]|0)+1}if(e|0?(h=e+8|0,i=c[h>>2]|0,c[h>>2]=i-1,(i|0)==1):0)UU(e,1,1)}f=a+16|0;d=c[f>>2]|0;i=b+16|0;e=c[i>>2]|0;if((d|0)!=(e|0)){c[f>>2]=e;if(e|0){h=e+8|0;c[h>>2]=(c[h>>2]|0)+1}if(d|0?(g=d+8|0,h=c[g>>2]|0,c[g>>2]=h-1,(h|0)==1):0)UU(d,1,1)}h=b+20|0;e=a+20|0;if((a|0)!=(b|0))b3(e,c[h>>2]|0,c[b+24>>2]|0);d=c[f>>2]|0;if(d|0)c[d+220>>2]=a;f=c[a+24>>2]|0;d=c[e>>2]|0;g=d;if((f|0)!=(d|0)){e=(f-d|0)/272|0;d=0;do{f=c[g+(d*272|0)+4>>2]|0;if(f|0)c[f+220>>2]=a;d=d+1|0}while(d>>>0<e>>>0)}d=c[j>>2]|0;if(d|0?(c[j>>2]=0,a=d+8|0,j=c[a>>2]|0,c[a>>2]=j-1,(j|0)==1):0)UU(d,1,1);d=c[i>>2]|0;if(d|0?(c[i>>2]=0,a=d+8|0,j=c[a>>2]|0,c[a>>2]=j-1,(j|0)==1):0)UU(d,1,1);f=c[h>>2]|0;e=b+24|0;d=c[e>>2]|0;if((d|0)==(f|0)){c[e>>2]=f;return}do{d=d+-272|0;Bk[c[c[d>>2]>>2]&2047](d)}while((d|0)!=(f|0));c[e>>2]=f;return}function h2(a){a=a|0;Y2(a,86788);Pr(a+36|0);return}function i2(a){a=a|0;Y2(a,86788);Pr(a+36|0);l0a(a);return}function j2(a,b){a=a|0;b=b|0;return 0}function k2(a){a=a|0;a=a+(c[(c[a>>2]|0)+-16>>2]|0)|0;Y2(a,86788);Pr(a+36|0);return}function l2(a){a=a|0;a=a+(c[(c[a>>2]|0)+-16>>2]|0)|0;Y2(a,86788);Pr(a+36|0);l0a(a);return}function m2(a){a=a|0;a=j0a(68)|0;x2(a);return a+(c[(c[a>>2]|0)+-12>>2]|0)|0}function n2(a,b){a=a|0;b=b|0;var d=0;d=a+(c[(c[a>>2]|0)+-24>>2]|0)|0;a=j0a(68)|0;r2(a,d,b);return a+(c[(c[a>>2]|0)+-12>>2]|0)|0}function o2(a,b){a=a|0;b=b|0;if(!b){b=0;return b|0}b=(y1a(b,42800,47728,-1)|0)!=0;return b|0}function p2(a){a=a|0;return 186332}function q2(a){a=a|0;return 187988}function r2(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;e=a+36|0;Or(e,b+(c[(c[b>>2]|0)+-12>>2]|0)|0,d);c[a>>2]=86376;c[e>>2]=86580;c[a+4>>2]=0;c[a+8>>2]=c[b+8>>2];d=c[b+12>>2]|0;c[a+12>>2]=d;if(d|0){e=d+8|0;c[e>>2]=(c[e>>2]|0)+1}d=c[b+16>>2]|0;c[a+16>>2]=d;if(!d){d=a+20|0;e=b+20|0;s2(d,e);e=a+32|0;c[e>>2]=0;return}d=d+8|0;c[d>>2]=(c[d>>2]|0)+1;d=a+20|0;e=b+20|0;s2(d,e);e=a+32|0;c[e>>2]=0;return}function s2(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;c[a>>2]=0;h=a+4|0;c[h>>2]=0;e=a+8|0;c[e>>2]=0;g=b+4|0;d=(c[g>>2]|0)-(c[b>>2]|0)|0;f=(d|0)/272|0;if(!d)return;if(f>>>0>15790320)g1a(a);d=j0a(d)|0;c[h>>2]=d;c[a>>2]=d;c[e>>2]=d+(f*272|0);a=c[b>>2]|0;b=c[g>>2]|0;if((a|0)==(b|0))return;do{t2(d,a);a=a+272|0;d=(c[h>>2]|0)+272|0;c[h>>2]=d}while((a|0)!=(b|0));return}function t2(b,d){b=b|0;d=d|0;var e=0;c[b>>2]=86752;e=c[d+4>>2]|0;c[b+4>>2]=e;if(e|0){e=e+8|0;c[e>>2]=(c[e>>2]|0)+1}h[b+8>>3]=+h[d+8>>3];h[b+16>>3]=+h[d+16>>3];h[b+24>>3]=+h[d+24>>3];h[b+32>>3]=+h[d+32>>3];h[b+40>>3]=+h[d+40>>3];h[b+48>>3]=+h[d+48>>3];h[b+56>>3]=+h[d+56>>3];h[b+64>>3]=+h[d+64>>3];h[b+72>>3]=+h[d+72>>3];h[b+80>>3]=+h[d+80>>3];h[b+88>>3]=+h[d+88>>3];h[b+96>>3]=+h[d+96>>3];h[b+104>>3]=+h[d+104>>3];h[b+112>>3]=+h[d+112>>3];h[b+120>>3]=+h[d+120>>3];h[b+128>>3]=+h[d+128>>3];h[b+136>>3]=+h[d+136>>3];h[b+144>>3]=+h[d+144>>3];h[b+152>>3]=+h[d+152>>3];h[b+160>>3]=+h[d+160>>3];h[b+168>>3]=+h[d+168>>3];h[b+176>>3]=+h[d+176>>3];h[b+184>>3]=+h[d+184>>3];h[b+192>>3]=+h[d+192>>3];h[b+200>>3]=+h[d+200>>3];h[b+208>>3]=+h[d+208>>3];h[b+216>>3]=+h[d+216>>3];h[b+224>>3]=+h[d+224>>3];h[b+232>>3]=+h[d+232>>3];h[b+240>>3]=+h[d+240>>3];h[b+248>>3]=+h[d+248>>3];h[b+256>>3]=+h[d+256>>3];a[b+264>>0]=a[d+264>>0]|0;d=c[d+268>>2]|0;c[b+268>>2]=d;if(!d)return;b=d+(c[(c[d>>2]|0)+-12>>2]|0)+8|0;c[b>>2]=(c[b>>2]|0)+1;return}function u2(a){a=a|0;var b=0,d=0,e=0,f=0;c[a>>2]=86752;b=a+268|0;d=c[b>>2]|0;if(d|0?(e=d+(c[(c[d>>2]|0)+-12>>2]|0)|0,f=e+8|0,d=c[f>>2]|0,c[f>>2]=d-1,(d|0)==1):0)UU(e,1,1);c[b>>2]=0;a=a+4|0;b=c[a>>2]|0;if(!b){c[a>>2]=0;return}e=b+8|0;f=c[e>>2]|0;c[e>>2]=f-1;if((f|0)!=1){c[a>>2]=0;return}UU(b,1,1);c[a>>2]=0;return}function v2(a){a=a|0;var b=0,d=0,e=0,f=0;c[a>>2]=86752;b=a+268|0;d=c[b>>2]|0;if(d|0?(e=d+(c[(c[d>>2]|0)+-12>>2]|0)|0,f=e+8|0,d=c[f>>2]|0,c[f>>2]=d-1,(d|0)==1):0)UU(e,1,1);c[b>>2]=0;b=c[a+4>>2]|0;if(!b){l0a(a);return}e=b+8|0;f=c[e>>2]|0;c[e>>2]=f-1;if((f|0)!=1){l0a(a);return}UU(b,1,1);l0a(a);return}function w2(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,i=0;i=l;l=l+128|0;f=i;g=b+16|0;b=c[g>>2]|0;if(!b){l=i;return}e=a+4|0;d=c[e>>2]|0;if(!(c[d+136>>2]|0)){Qra(f);Ura(f,b+304|0,a+8|0);h[d+304>>3]=+h[f>>3];h[d+312>>3]=+h[f+8>>3];h[d+320>>3]=+h[f+16>>3];h[d+328>>3]=+h[f+24>>3];h[d+336>>3]=+h[f+32>>3];h[d+344>>3]=+h[f+40>>3];h[d+352>>3]=+h[f+48>>3];h[d+360>>3]=+h[f+56>>3];h[d+368>>3]=+h[f+64>>3];h[d+376>>3]=+h[f+72>>3];h[d+384>>3]=+h[f+80>>3];h[d+392>>3]=+h[f+88>>3];h[d+400>>3]=+h[f+96>>3];h[d+408>>3]=+h[f+104>>3];h[d+416>>3]=+h[f+112>>3];h[d+424>>3]=+h[f+120>>3];d=c[e>>2]|0;b=(c[g>>2]|0)+432|0;Qra(f);Ura(f,b,a+136|0);h[d+432>>3]=+h[f>>3];h[d+440>>3]=+h[f+8>>3];h[d+448>>3]=+h[f+16>>3];h[d+456>>3]=+h[f+24>>3];h[d+464>>3]=+h[f+32>>3];h[d+472>>3]=+h[f+40>>3];h[d+480>>3]=+h[f+48>>3];h[d+488>>3]=+h[f+56>>3];h[d+496>>3]=+h[f+64>>3];h[d+504>>3]=+h[f+72>>3];h[d+512>>3]=+h[f+80>>3];h[d+520>>3]=+h[f+88>>3];h[d+528>>3]=+h[f+96>>3];h[d+536>>3]=+h[f+104>>3];h[d+544>>3]=+h[f+112>>3];h[d+552>>3]=+h[f+120>>3];Qv(d);d=c[e>>2]|0;b=c[g>>2]|0}Nk[c[(c[d>>2]|0)+296>>2]&255](d,b+144|0,c[d+148>>2]|0);l=i;return}function x2(a){a=a|0;var b=0,d=0,e=0,f=0,h=0.0,i=0.0,j=0.0;c[a+40>>2]=0;c[a+44>>2]=0;b=a+48|0;c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;c[a+60>>2]=2;c[a+64>>2]=0;c[a>>2]=86376;c[a+36>>2]=86580;c[a+4>>2]=0;b=a+12|0;e=a+16|0;c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;c[b+12>>2]=0;c[b+16>>2]=0;c[b+20>>2]=0;y2(a,1);b=j0a(656)|0;zw(b);d=c[e>>2]|0;if(((d|0)!=(b|0)?(c[e>>2]=b,b=b+8|0,c[b>>2]=(c[b>>2]|0)+1,d|0):0)?(f=d+8|0,b=c[f>>2]|0,c[f>>2]=b-1,(b|0)==1):0)UU(d,1,1);c[(c[e>>2]|0)+220>>2]=a;h=+g[(c[(vt()|0)>>2]|0)+32>>2];i=+g[(c[(vt()|0)>>2]|0)+28>>2];j=+J(+(h*.5),+(+g[(c[(vt()|0)>>2]|0)+36>>2]))*2.0*180.0/3.141592653589793;tR(c[e>>2]|0,j,i/h,1.0,1.0e4);f=c[e>>2]|0;g[f+240>>2]=.20000000298023224;g[f+244>>2]=.20000000298023224;g[f+248>>2]=.4000000059604645;g[f+252>>2]=1.0;a=f+148|0;if(c[f+152>>2]|0){f=c[e>>2]|0;f=qR(f)|0;z2(f);return}c[a>>2]=c[a>>2]&-8193;f=c[e>>2]|0;f=qR(f)|0;z2(f);return}function y2(a,b){a=a|0;b=b|0;var d=0,e=0;c[a+8>>2]=b;if(!b)return;a=a+12|0;if(c[a>>2]|0)return;b=j0a(156)|0;hU(b);d=c[a>>2]|0;if(((d|0)!=(b|0)?(c[a>>2]=b,b=b+8|0,c[b>>2]=(c[b>>2]|0)+1,d|0):0)?(e=d+8|0,b=c[e>>2]|0,c[e>>2]=b-1,(b|0)==1):0)UU(d,1,1);e=c[a>>2]|0;Jk[c[c[e>>2]>>2]&1023](e,1);iU(c[a>>2]|0,0);e=c[a>>2]|0;g[e+60>>2]=0.0;g[e+64>>2]=0.0;g[e+68>>2]=0.0;g[e+72>>2]=1.0;e=c[a>>2]|0;g[e+76>>2]=.800000011920929;g[e+80>>2]=.800000011920929;g[e+84>>2]=.800000011920929;g[e+88>>2]=1.0;e=c[a>>2]|0;g[e+92>>2]=1.0;g[e+96>>2]=1.0;g[e+100>>2]=1.0;g[e+104>>2]=1.0;return}function z2(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;v=l;l=l+176|0;u=v+24|0;q=v;t=v+12|0;c[b+116>>2]=0;c[b+120>>2]=0;c[b+124>>2]=0;E0a(b+128|0,231036)|0;A2(b,2929,1);s=j0a(72)|0;gR(s);B2(b,s,0);if(ZQ(4)|0){s=mr(lr(4)|0,155989,34)|0;BSa(u,s+(c[(c[s>>2]|0)+-12>>2]|0)|0);r=cUa(u,230580)|0;r=kk[c[(c[r>>2]|0)+28>>2]&511](r,10)|0;dUa(u);VSa(s,r)|0;HSa(s)|0}if(!(a[(c[(vt()|0)>>2]|0)+212>>0]|0)){if(ZQ(3)|0){t=mr(lr(3)|0,156120,59)|0;BSa(u,t+(c[(c[t>>2]|0)+-12>>2]|0)|0);s=cUa(u,230580)|0;s=kk[c[(c[s>>2]|0)+28>>2]&511](s,10)|0;dUa(u);VSa(t,s)|0;HSa(t)|0}if(ZQ(4)|0){t=mr(lr(4)|0,156180,66)|0;BSa(u,t+(c[(c[t>>2]|0)+-12>>2]|0)|0);s=cUa(u,230580)|0;s=kk[c[(c[s>>2]|0)+28>>2]&511](s,10)|0;dUa(u);VSa(t,s)|0;HSa(t)|0}d=c[(c[(vt()|0)>>2]|0)+164>>2]|0;if((d+-3|0)>>>0<2){if(ZQ(4)|0){t=mr(lr(4)|0,156247,66)|0;BSa(u,t+(c[(c[t>>2]|0)+-12>>2]|0)|0);s=cUa(u,230580)|0;s=kk[c[(c[s>>2]|0)+28>>2]&511](s,10)|0;dUa(u);VSa(t,s)|0;HSa(t)|0}d=j0a(196)|0;DO(d);e=d+8|0;c[e>>2]=(c[e>>2]|0)+1;t=j0a(152)|0;c[u>>2]=0;c[u+4>>2]=0;c[u+8>>2]=0;s=j0a(400)|0;c[u>>2]=s;c[u+8>>2]=-2147483248;c[u+4>>2]=385;x2a(s|0,156314,385)|0;a[s+385>>0]=0;_V(t,35633,u);uO(d,t)|0;if((a[u+11>>0]|0)<0)l0a(c[u>>2]|0);t=j0a(152)|0;c[u>>2]=0;c[u+4>>2]=0;c[u+8>>2]=0;s=j0a(256)|0;c[u>>2]=s;c[u+8>>2]=-2147483392;c[u+4>>2]=249;x2a(s|0,156700,249)|0;a[s+249>>0]=0;_V(t,35632,u);uO(d,t)|0;if((a[u+11>>0]|0)<0)l0a(c[u>>2]|0);B2(b,d,1);E2(b,0,D2()|0,0);u=j0a(104)|0;G2(u,156950,0);hX(b,u,1);u=c[e>>2]|0;c[e>>2]=u-1;if((u|0)!=1){l=v;return}UU(d,1,1);l=v;return}if((d+-1|0)>>>0>=2){l=v;return}if(ZQ(4)|0){t=mr(lr(4)|0,156180,66)|0;BSa(u,t+(c[(c[t>>2]|0)+-12>>2]|0)|0);s=cUa(u,230580)|0;s=kk[c[(c[s>>2]|0)+28>>2]&511](s,10)|0;dUa(u);VSa(t,s)|0;HSa(t)|0}d=j0a(196)|0;DO(d);e=d+8|0;c[e>>2]=(c[e>>2]|0)+1;t=j0a(152)|0;c[u>>2]=0;c[u+4>>2]=0;c[u+8>>2]=0;s=j0a(272)|0;c[u>>2]=s;c[u+8>>2]=-2147483376;c[u+4>>2]=262;x2a(s|0,156962,262)|0;a[s+262>>0]=0;_V(t,35633,u);uO(d,t)|0;if((a[u+11>>0]|0)<0)l0a(c[u>>2]|0);t=j0a(152)|0;c[u>>2]=0;c[u+4>>2]=0;c[u+8>>2]=0;s=j0a(240)|0;c[u>>2]=s;c[u+8>>2]=-2147483408;c[u+4>>2]=236;x2a(s|0,157225,236)|0;a[s+236>>0]=0;_V(t,35632,u);uO(d,t)|0;if((a[u+11>>0]|0)<0)l0a(c[u>>2]|0);B2(b,d,1);E2(b,0,D2()|0,0);u=j0a(104)|0;G2(u,156950,0);hX(b,u,1);u=c[e>>2]|0;c[e>>2]=u-1;if((u|0)!=1){l=v;return}UU(d,1,1);l=v;return}r=j0a(196)|0;DO(r);s=r+8|0;c[s>>2]=(c[s>>2]|0)+1;f=c[(vt()|0)>>2]|0;d=c[f+216>>2]|0;f=f+220|0;if((d|0)!=(c[f>>2]|0))do{p=c[(vt()|0)>>2]|0;e=C2(p+256|0,d)|0;if(((e|0)!=(p+260|0)?(g=c[e+28>>2]|0,g|0):0)?(h=y1a(g,42800,47104,0)|0,h|0):0)uO(r,h)|0;d=d+12|0}while((d|0)!=(c[f>>2]|0));g=r+104|0;e=r+108|0;f=c[e>>2]|0;d=c[g>>2]|0;if((f|0)==(d|0)){if(ZQ(3)|0){p=mr(lr(3)|0,156024,74)|0;p=QSa(p,c[(c[(vt()|0)>>2]|0)+228>>2]|0)|0;BSa(u,p+(c[(c[p>>2]|0)+-12>>2]|0)|0);o=cUa(u,230580)|0;o=kk[c[(c[o>>2]|0)+28>>2]&511](o,10)|0;dUa(u);VSa(p,o)|0;HSa(p)|0}p=j0a(152)|0;c[u>>2]=0;c[u+4>>2]=0;c[u+8>>2]=0;o=j0a(5392)|0;c[u>>2]=o;c[u+8>>2]=-2147478256;c[u+4>>2]=5387;x2a(o|0,1968,5387)|0;a[o+5387>>0]=0;_V(p,35633,u);uO(r,p)|0;if((a[u+11>>0]|0)<0)l0a(c[u>>2]|0);p=j0a(152)|0;c[u>>2]=0;c[u+4>>2]=0;c[u+8>>2]=0;o=j0a(2896)|0;c[u>>2]=o;c[u+8>>2]=-2147480752;c[u+4>>2]=2884;x2a(o|0,7360,2884)|0;a[o+2884>>0]=0;_V(p,35632,u);uO(r,p)|0;if((a[u+11>>0]|0)<0)l0a(c[u>>2]|0);f=c[e>>2]|0;d=c[g>>2]|0}if((f|0)!=(d|0)){h=c[(c[(vt()|0)>>2]|0)+228>>2]|0;p=u+64|0;n=u+8|0;c[n>>2]=81724;m=u+12|0;c[u>>2]=46852;c[p>>2]=46872;c[u+4>>2]=0;zSa(u+64|0,m);c[u+136>>2]=0;c[u+140>>2]=-1;c[u>>2]=81704;c[p>>2]=81744;c[n>>2]=81724;ESa(m);c[m>>2]=68044;n=u+44|0;c[n>>2]=0;c[n+4>>2]=0;c[n+8>>2]=0;c[n+12>>2]=0;c[u+60>>2]=24;o=u+8|0;QSa(o,h)|0;c[q>>2]=0;c[q+4>>2]=0;c[q+8>>2]=0;d=j0a(32)|0;c[q>>2]=d;c[q+8>>2]=-2147483616;c[q+4>>2]=20;e=d;f=156099;g=e+20|0;do{a[e>>0]=a[f>>0]|0;e=e+1|0;f=f+1|0}while((e|0)<(g|0));a[d+20>>0]=0;_Q(t,m);i=b+104|0;k=uV(i,q)|0;z0a(k,t)|0;c[k+12>>2]=1;if((a[t+11>>0]|0)<0)l0a(c[t>>2]|0);if((a[q+11>>0]|0)<0)l0a(c[q>>2]|0);do if(h|0){j=D2()|0;k=(j|0)==0;if(!k){g=j+8|0;c[g>>2]=(c[g>>2]|0)+1}c[j+84>>2]=33071;g=c[j+60>>2]|0;d=(c[j+64>>2]|0)-g|0;if((d|0)>0){e=d>>>2;d=e;f=g;while(1){c[f>>2]=1;if((d|0)>1){d=d+-1|0;f=f+4|0}else break}c[j+88>>2]=33071;d=e;f=g;while(1){c[f>>2]=1;if((d|0)>1){d=d+-1|0;f=f+4|0}else break}c[j+92>>2]=33071;d=e;f=g;while(1){c[f>>2]=1;if((d|0)>1){d=d+-1|0;f=f+4|0}else break}c[j+96>>2]=9729;d=e;f=g;while(1){c[f>>2]=1;if((d|0)>1){d=d+-1|0;f=f+4|0}else break}c[j+100>>2]=9729;d=g;while(1){c[d>>2]=1;if((e|0)>1){e=e+-1|0;d=d+4|0}else break}}else{c[j+88>>2]=33071;c[j+92>>2]=33071;c[j+96>>2]=9729;c[j+100>>2]=9729}d=0;do{E2(b,d,j,0);d=d+1|0}while(d>>>0<h>>>0);c[q>>2]=0;c[q+4>>2]=0;c[q+8>>2]=0;Ar(m,q);if((a[q+11>>0]|0)<0)l0a(c[q>>2]|0);PSa(o,6406)|0;c[q>>2]=0;c[q+4>>2]=0;c[q+8>>2]=0;d=q+11|0;a[d>>0]=8;h=q;c[h>>2]=1096764487;c[h+4>>2]=1095258188;a[q+8>>0]=0;_Q(t,m);h=uV(i,q)|0;z0a(h,t)|0;c[h+12>>2]=1;if((a[t+11>>0]|0)<0)l0a(c[t>>2]|0);if((a[d>>0]|0)<0)l0a(c[q>>2]|0);c[q>>2]=0;c[q+4>>2]=0;c[q+8>>2]=0;Ar(m,q);if((a[q+11>>0]|0)<0)l0a(c[q>>2]|0);PSa(o,32841)|0;c[q>>2]=0;c[q+4>>2]=0;c[q+8>>2]=0;d=j0a(16)|0;c[q>>2]=d;c[q+8>>2]=-2147483632;c[q+4>>2]=12;e=d;f=174636;g=e+12|0;do{a[e>>0]=a[f>>0]|0;e=e+1|0;f=f+1|0}while((e|0)<(g|0));a[d+12>>0]=0;_Q(t,m);h=uV(i,q)|0;z0a(h,t)|0;c[h+12>>2]=1;if((a[t+11>>0]|0)<0)l0a(c[t>>2]|0);if((a[q+11>>0]|0)<0)l0a(c[q>>2]|0);c[q>>2]=0;c[q+4>>2]=0;c[q+8>>2]=0;Ar(m,q);if((a[q+11>>0]|0)<0)l0a(c[q>>2]|0);PSa(o,6409)|0;c[q>>2]=0;c[q+4>>2]=0;c[q+8>>2]=0;d=j0a(16)|0;c[q>>2]=d;c[q+8>>2]=-2147483632;c[q+4>>2]=12;e=d;f=174649;g=e+12|0;do{a[e>>0]=a[f>>0]|0;e=e+1|0;f=f+1|0}while((e|0)<(g|0));a[d+12>>0]=0;_Q(t,m);h=uV(i,q)|0;z0a(h,t)|0;c[h+12>>2]=1;if((a[t+11>>0]|0)<0)l0a(c[t>>2]|0);if((a[q+11>>0]|0)<0)l0a(c[q>>2]|0);c[q>>2]=0;c[q+4>>2]=0;c[q+8>>2]=0;Ar(m,q);if((a[q+11>>0]|0)<0)l0a(c[q>>2]|0);PSa(o,6403)|0;c[q>>2]=0;c[q+4>>2]=0;c[q+8>>2]=0;d=q+11|0;a[d>>0]=6;a[q>>0]=a[151435]|0;a[q+1>>0]=a[151436]|0;a[q+2>>0]=a[151437]|0;a[q+3>>0]=a[151438]|0;a[q+4>>0]=a[151439]|0;a[q+5>>0]=a[151440]|0;a[q+6>>0]=0;_Q(t,m);h=uV(i,q)|0;z0a(h,t)|0;c[h+12>>2]=1;if((a[t+11>>0]|0)<0)l0a(c[t>>2]|0);if((a[d>>0]|0)<0)l0a(c[q>>2]|0);c[q>>2]=0;c[q+4>>2]=0;c[q+8>>2]=0;Ar(m,q);if((a[q+11>>0]|0)<0)l0a(c[q>>2]|0);PSa(o,33319)|0;c[q>>2]=0;c[q+4>>2]=0;c[q+8>>2]=0;d=q+11|0;a[d>>0]=5;a[q>>0]=a[151442]|0;a[q+1>>0]=a[151443]|0;a[q+2>>0]=a[151444]|0;a[q+3>>0]=a[151445]|0;a[q+4>>0]=a[151446]|0;a[q+5>>0]=0;_Q(t,m);h=uV(i,q)|0;z0a(h,t)|0;c[h+12>>2]=1;if((a[t+11>>0]|0)<0)l0a(c[t>>2]|0);if((a[d>>0]|0)<0)l0a(c[q>>2]|0);c[q>>2]=0;c[q+4>>2]=0;c[q+8>>2]=0;Ar(m,q);if((a[q+11>>0]|0)<0)l0a(c[q>>2]|0);PSa(o,6407)|0;c[q>>2]=0;c[q+4>>2]=0;c[q+8>>2]=0;d=q+11|0;a[d>>0]=6;a[q>>0]=a[174690]|0;a[q+1>>0]=a[174691]|0;a[q+2>>0]=a[174692]|0;a[q+3>>0]=a[174693]|0;a[q+4>>0]=a[174694]|0;a[q+5>>0]=a[174695]|0;a[q+6>>0]=0;_Q(t,m);h=uV(i,q)|0;z0a(h,t)|0;c[h+12>>2]=1;if((a[t+11>>0]|0)<0)l0a(c[t>>2]|0);if((a[d>>0]|0)<0)l0a(c[q>>2]|0);c[q>>2]=0;c[q+4>>2]=0;c[q+8>>2]=0;Ar(m,q);if((a[q+11>>0]|0)<0)l0a(c[q>>2]|0);PSa(o,6408)|0;c[q+8>>2]=0;d=q+11|0;a[d>>0]=7;a[q>>0]=a[174697]|0;a[q+1>>0]=a[174698]|0;a[q+2>>0]=a[174699]|0;a[q+3>>0]=a[174700]|0;a[q+4>>0]=a[174701]|0;a[q+5>>0]=a[174702]|0;a[q+6>>0]=a[174703]|0;a[q+7>>0]=0;_Q(t,m);i=uV(i,q)|0;z0a(i,t)|0;c[i+12>>2]=1;if((a[t+11>>0]|0)<0)l0a(c[t>>2]|0);if((a[d>>0]|0)<0)l0a(c[q>>2]|0);if(k)break;q=j+8|0;t=c[q>>2]|0;c[q>>2]=t-1;if((t|0)!=1)break;UU(j,1,1)}while(0);F2(b,r,0);c[u>>2]=81704;c[p>>2]=81744;c[o>>2]=81724;c[m>>2]=68044;if((a[n+11>>0]|0)<0)l0a(c[n>>2]|0);oRa(m);wSa(u,81756);iRa(p)}u=c[s>>2]|0;c[s>>2]=u-1;if((u|0)!=1){l=v;return}UU(r,1,1);l=v;return}function A2(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;i=l;l=l+16|0;h=i;if((a[223736]|0)==0?g2a(223736)|0:0)V2(225776);f=c[56445]|0;if(f|0){g=225780;do{j=(c[f+16>>2]|0)>>>0<d>>>0;g=j?g:f;f=c[(j?f+4|0:f)>>2]|0}while((f|0)!=0);if((g|0)!=225780?(c[g+16>>2]|0)>>>0<=d>>>0:0){if(ZQ(3)|0){j=mr(QSa(mr(lr(3)|0,159609,23)|0,d)|0,159633,32)|0;BSa(h,j+(c[(c[j>>2]|0)+-12>>2]|0)|0);g=cUa(h,230580)|0;g=kk[c[(c[g>>2]|0)+28>>2]&511](g,10)|0;dUa(h);VSa(j,g)|0;HSa(j)|0}if(ZQ(3)|0){j=mr(lr(3)|0,159666,60)|0;BSa(h,j+(c[(c[j>>2]|0)+-12>>2]|0)|0);g=cUa(h,230580)|0;g=kk[c[(c[g>>2]|0)+28>>2]&511](g,10)|0;dUa(h);VSa(j,g)|0;HSa(j)|0}if(ZQ(3)|0){j=mr(lr(3)|0,158993,60)|0;BSa(h,j+(c[(c[j>>2]|0)+-12>>2]|0)|0);g=cUa(h,230580)|0;g=kk[c[(c[g>>2]|0)+28>>2]&511](g,10)|0;dUa(h);VSa(j,g)|0;HSa(j)|0}U2(b,0,d,e);l=i;return}}if((d|0)!=2903){X2(b,b+44|0,d,e);l=i;return}if(ZQ(3)|0)mr(lr(3)|0,159727,88)|0;if(ZQ(3)|0)mr(lr(3)|0,159816,80)|0;if(!(ZQ(3)|0)){l=i;return}j=mr(lr(3)|0,159897,60)|0;BSa(h,j+(c[(c[j>>2]|0)+-12>>2]|0)|0);e=cUa(h,230580)|0;e=kk[c[(c[e>>2]|0)+28>>2]&511](e,10)|0;dUa(h);VSa(j,e)|0;HSa(j)|0;l=i;return}function B2(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;f=l;l=l+16|0;e=f;if(!b){l=f;return}if(!(gk[c[(c[b>>2]|0)+180>>2]&1023](b)|0))if(!(d&8)){K2(a,a+56|0,b,d);c[e>>2]=86772;c[e+4>>2]=a;c[e+8>>2]=d;c[e+12>>2]=0;kk[c[(c[b>>2]|0)+188>>2]&511](b,e)|0;l=f;return}else{M2(a,gk[c[(c[b>>2]|0)+172>>2]&1023](b)|0,0);l=f;return}if(ZQ(3)|0){h=mr(lr(3)|0,158860,28)|0;g=gk[c[(c[b>>2]|0)+28>>2]&1023](b)|0;g=mr(mr(h,g,VNa(g)|0)|0,159157,46)|0;BSa(e,g+(c[(c[g>>2]|0)+-12>>2]|0)|0);h=cUa(e,230580)|0;h=kk[c[(c[h>>2]|0)+28>>2]&511](h,10)|0;dUa(e);VSa(g,h)|0;HSa(g)|0}if(ZQ(3)|0){h=mr(lr(3)|0,159204,73)|0;BSa(e,h+(c[(c[h>>2]|0)+-12>>2]|0)|0);g=cUa(e,230580)|0;g=kk[c[(c[g>>2]|0)+28>>2]&511](g,10)|0;dUa(e);VSa(h,g)|0;HSa(h)|0}if(ZQ(3)|0){h=mr(lr(3)|0,158993,60)|0;BSa(e,h+(c[(c[h>>2]|0)+-12>>2]|0)|0);g=cUa(e,230580)|0;g=kk[c[(c[g>>2]|0)+28>>2]&511](g,10)|0;dUa(e);VSa(h,g)|0;HSa(h)|0}N2(a,0,b,d);l=f;return}function C2(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;m=b+4|0;e=c[m>>2]|0;do if(e|0){l=a[d+11>>0]|0;k=l<<24>>24<0;l=k?c[d+4>>2]|0:l&255;k=k?c[d>>2]|0:d;b=m;do{f=e+16|0;h=a[f+11>>0]|0;g=h<<24>>24<0;h=g?c[e+20>>2]|0:h&255;i=l>>>0<h>>>0;d=i?l:h;if((d|0)!=0?(j=cOa(g?c[f>>2]|0:f,k,d)|0,(j|0)!=0):0)d=j;else d=h>>>0<l>>>0?-1:i&1;i=(d|0)<0;b=i?b:e;e=c[(i?e+4|0:e)>>2]|0}while((e|0)!=0);if((b|0)!=(m|0)){e=b+16|0;g=a[e+11>>0]|0;f=g<<24>>24<0;g=f?c[b+20>>2]|0:g&255;d=g>>>0<l>>>0?g:l;if(d|0?(n=cOa(k,f?c[e>>2]|0:e,d)|0,n|0):0){if((n|0)<0)break;return b|0}if(l>>>0>=g>>>0){n=b;return n|0}}}while(0);n=m;return n|0}function D2(){var a=0,b=0,d=0,e=0,f=0;d=l;l=l+16|0;b=d;a=j0a(140)|0;TT(a);f=a+8|0;c[f>>2]=(c[f>>2]|0)+1;Uk[c[(c[a>>2]|0)+192>>2]&15](a,1,1,1,6408,5121,1);g[b>>2]=1.0;g[b+4>>2]=1.0;g[b+8>>2]=1.0;g[b+12>>2]=1.0;XT(a,b,0,0,0);b=j0a(264)|0;L2(b,a);e=b+8|0;c[e>>2]=(c[e>>2]|0)+1;c[e>>2]=(c[e>>2]|0)-1;e=c[f>>2]|0;c[f>>2]=e-1;if((e|0)!=1){l=d;return b|0}UU(a,1,1);l=d;return b|0}
  6573. function EAa(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;B=l;l=l+128|0;z=B+112|0;y=B+104|0;w=B+96|0;v=B+88|0;u=B+80|0;t=B+72|0;q=B+64|0;p=B+56|0;k=B+48|0;i=B+40|0;j=B+32|0;h=B+24|0;g=B+16|0;f=B+8|0;d=B;e=c[56498]|0;if(b&2|0?(c[e+176>>2]|0)==0:0){A=MAa(195243,d)|0;l=B;return A|0}A=a+48|0;d=c[A>>2]|0;x=(d&2048|0)==0?b&-2049:b|2048;do if(e){if((c[a>>2]|0)!=(e+280|0)){MAa(208472,g)|0;break}if(d&4|0){d=a+116|0;c[d>>2]=1;aGa(a,0)|0;b=c[56498]|0;e=c[b+84>>2]|0;if(e|0)Jk[e&1023](b,a);c[d>>2]=0;bGa(a,2,0,0)|0}}else MAa(192981,f)|0;while(0);d=a+108|0;b=c[d>>2]|0;if(b|0){c[b>>2]=c[b>>2]&-5;ABa(b);c[d>>2]=0}d=c[56498]|0;b=c[d+140>>2]|0;if(b){Jk[b&1023](d,a);d=c[56498]|0}b=c[d+128>>2]|0;f=(x&2048|0)==0;if(f&(b|0)!=0)Jk[b&1023](d,a);d=x&2;a:do if((c[A>>2]&2|0)!=(d|0)){e=c[56498]|0;b=(e|0)==0;if(!d){if(b){MAa(192981,i)|0;d=0;break}d=e+388|0;b=c[d>>2]|0;if((b|0)<=0){d=0;break}c[d>>2]=b+-1;if((b|0)!=1){d=0;break}d=c[e+172>>2]|0;if(!d){d=0;break}Bk[d&2047](e);d=0;break}b:do if(b)d=MAa(192981,h)|0;else{b=e+388|0;d=c[b>>2]|0;do if(!d){d=c[e+164>>2]|0;if(!d){d=MAa(195009,j)|0;break b}d=kk[d&511](e,0)|0;b=c[56498]|0;if(!d){d=b+388|0;b=d;d=c[d>>2]|0;break}e=c[b+172>>2]|0;if(!e)break b;Bk[e&2047](b);break b}while(0);c[b>>2]=d+1;d=1;break a}while(0);if((d|0)<0){A=-1;l=B;return A|0}else d=1}else d=0;while(0);b=x&1024050|8;c[A>>2]=b;c[a+52>>2]=b;c[a+120>>2]=0;b=c[56498]|0;e=c[b+32>>2]|0;if(f&(e|0)!=0?(kk[e&511](b,a)|0)<0:0){if(!d){A=-1;l=B;return A|0}e=c[56498]|0;if(e){d=e+388|0;b=c[d>>2]|0;if(((b|0)>0?(c[d>>2]=b+-1,(b|0)==1):0)?(m=c[e+172>>2]|0,m|0):0)Bk[m&2047](e)}else MAa(192981,k)|0;c[A>>2]=c[A>>2]&-3;A=-1;l=B;return A|0}if(!f)c[A>>2]=c[A>>2]|2048;d=c[56498]|0;b=c[d+40>>2]|0;if((b|0)!=0?(c[a+8>>2]|0)!=0:0){Jk[b&1023](d,a);d=c[56498]|0}b=c[d+44>>2]|0;if(b|0?(n=c[a+12>>2]|0,n|0):0)Nk[b&255](d,a,n);if(c[a+132>>2]|0)kk[c[(c[56498]|0)+256>>2]&511](a,1)|0;do if(x&128|0){d=c[56498]|0;if(!d){MAa(192981,p)|0;break}if((c[a>>2]|0)!=(d+280|0)){MAa(208472,q)|0;break}if((c[A>>2]&128|0)==0?(o=c[d+92>>2]|0,o|0):0)Jk[o&1023](d,a)}while(0);do if(x&64|0){d=c[56498]|0;if(!d){MAa(192981,t)|0;break}if((c[a>>2]|0)!=(d+280|0)){MAa(208472,u)|0;break}if((c[A>>2]&64|0)==0?(aGa(a,0)|0,r=c[56498]|0,s=c[r+96>>2]|0,s|0):0)Jk[s&1023](r,a)}while(0);do if(x&1|0){d=c[56498]|0;if(!d){MAa(192981,v)|0;break}if((c[a>>2]|0)!=(d+280|0)){MAa(208472,w)|0;break}d=x&4097;b=c[A>>2]|0;e=b&4097;if((d|0)!=(e|0)?(c[A>>2]=b&-4098|d,aGa(a,(b&4|0)==0?0:b>>>6&1^1)|0):0)c[A>>2]=c[A>>2]&-4098|e}while(0);if(x&256|0)cGa(a,1);if(x&8|0){A=0;l=B;return A|0}b=c[56498]|0;if(!b){MAa(192981,y)|0;A=0;l=B;return A|0}if((c[a>>2]|0)!=(b+280|0)){MAa(208472,z)|0;A=0;l=B;return A|0}if(c[A>>2]&4|0){A=0;l=B;return A|0}d=c[b+80>>2]|0;if(d|0)Jk[d&1023](b,a);bGa(a,1,0,0)|0;A=0;l=B;return A|0}function FAa(a,b){a=a|0;b=b|0;return INa(a,b)|0}function GAa(a){a=a|0;var b=0;b=l;l=l+48|0;switch(a|0){case 0:{MAa(195093,b)|0;break}case 1:{MAa(195107,b+8|0)|0;break}case 2:{MAa(195137,b+16|0)|0;break}case 3:{MAa(195165,b+24|0)|0;break}case 4:{MAa(195193,b+32|0)|0;break}default:MAa(195225,b+40|0)|0}l=b;return -1}function HAa(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0;q=l;l=l+32|0;n=q;j=b+320|0;p=c[j>>2]|0;if(!p){iBa(b);l=q;return}e=c[p>>2]|0;if((c[56497]|0)!=(e|0)){c[p+268>>2]=0;if((JAa(c[b+188>>2]|0,e)|0)>=0){c[56497]=c[p>>2];XAa(b)|0;d=c[j>>2]|0;o=5}}else{d=p;o=5}if((o|0)==5?c[d+4>>2]|0:0){d=d+108|0;do{}while((fk[c[d>>2]&7]()|0)!=0)}d=c[p+252>>2]|0;if(d|0){e=p+60|0;do{Bk[c[e>>2]&2047](c[d>>2]|0);i=d;d=c[d+24>>2]|0;iBa(i)}while((d|0)!=0)}d=c[p+260>>2]|0;if(d|0){e=p+56|0;do{Bk[c[e>>2]&2047](c[d>>2]|0);i=d;d=c[d+156>>2]|0;iBa(i)}while((d|0)!=0)}d=c[p>>2]|0;if(d|0){i=p+232|0;e=c[i>>2]|0;if(e){h=p+204|0;do{d=e;e=c[e+12>>2]|0;Jk[c[h>>2]&1023](1,d+8|0);d=c[j>>2]|0;if(c[d+4>>2]|0?(k=d+108|0,m=fk[c[k>>2]&7]()|0,m|0):0){d=231036;g=m;do{a:do if((d|0)!=0?(a[d>>0]|0)!=0:0)switch(g|0){case 1280:{f=192745;break a}case 1281:{f=192761;break a}case 1282:{f=192778;break a}case 1285:{f=192799;break a}default:{f=192816;break a}}else o=27;while(0);b:do if((o|0)==27){o=0;switch(g|0){case 1280:{d=192737;f=192745;break b}case 1281:{d=192737;f=192761;break b}case 1282:{d=192737;f=192778;break b}case 1285:{d=192737;f=192799;break b}default:{d=192737;f=192816;break b}}}while(0);c[n>>2]=d;c[n+4>>2]=192850;c[n+8>>2]=464;c[n+12>>2]=195050;c[n+16>>2]=f;c[n+20>>2]=g;MAa(192824,n)|0;g=fk[c[k>>2]&7]()|0}while((g|0)!=0)}iBa(c[i>>2]|0);c[i>>2]=e}while((e|0)!=0);d=c[p>>2]|0}$Fa(d)}iBa(c[p+244>>2]|0);iBa(p);iBa(b);l=q;return}function IAa(a){a=a|0;var b=0,d=0,e=0,f=0;f=l;l=l+32|0;e=f+16|0;d=f+8|0;b=c[56498]|0;if(!b){MAa(192981,f)|0;a=0;l=f;return a|0}if(a|0?(c[a>>2]|0)==(b+280|0):0){if(!(c[a+48>>2]&2)){MAa(193022,e)|0;a=0;l=f;return a|0}b=kk[c[b+176>>2]&511](b,a)|0;if(!b){a=0;l=f;return a|0}e=c[56498]|0;c[e+652>>2]=a;c[e+656>>2]=b;XFa(c[e+660>>2]|0,a,0)|0;XFa(c[(c[56498]|0)+664>>2]|0,b,0)|0;a=b;l=f;return a|0}MAa(208472,d)|0;a=0;l=f;return a|0}function JAa(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=l;l=l+48|0;h=i+32|0;g=i+24|0;f=i+16|0;e=i+8|0;d=c[56498]|0;if(!d){MAa(192981,i)|0;d=0}else d=kBa(c[d+660>>2]|0)|0;if((d|0)==(a|0)){d=c[56498]|0;if(!d){MAa(192981,e)|0;d=0}else d=kBa(c[d+664>>2]|0)|0;if((d|0)==(b|0)){b=0;l=i;return b|0}}d=c[56498]|0;do if(!b)a=0;else{if(!d){MAa(192981,f)|0;b=-1;l=i;return b|0}if(a|0?(c[a>>2]|0)==(d+280|0):0){if(c[a+48>>2]&2|0)break;b=MAa(193022,h)|0;l=i;return b|0}MAa(208472,g)|0;b=-1;l=i;return b|0}while(0);d=lk[c[d+180>>2]&127](d,a,b)|0;if(d|0){b=d;l=i;return b|0}h=c[56498]|0;c[h+652>>2]=a;c[h+656>>2]=b;XFa(c[h+660>>2]|0,a,0)|0;XFa(c[(c[56498]|0)+664>>2]|0,b,0)|0;b=0;l=i;return b|0}function KAa(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;g=l;l=l+32|0;f=g+16|0;e=g+8|0;b=c[56498]|0;do if(b){d=c[b+168>>2]|0;if(!d){MAa(195009,f)|0;a=0;break}if(!(c[b+388>>2]|0)){MAa(194980,e)|0;a=0;break}else{a=kk[d&511](b,a)|0;break}}else{MAa(192981,g)|0;a=0}while(0);l=g;return a|0}function LAa(){var b=0,d=0,e=0,f=0,g=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=l;l=l+64|0;r=t+56|0;q=t+48|0;p=t+40|0;o=t+32|0;k=t;a[216864]=0;if(!(c[55964]|0)){l=t;return 216864}b=a[223860]|0;if(!(b<<24>>24))b=216864;else{m=k+1|0;n=k+30|0;j=0;d=216864;f=223860;e=1023;while(1){if(b<<24>>24==37){a[k>>0]=37;i=m;b=f+1|0;while(1){g=a[b>>0]|0;if(!(g<<24>>24==46|(g+-48&255)<10)){s=8;break}b=b+1|0;f=i+1|0;a[i>>0]=g;if(i>>>0<n>>>0)i=f;else{g=f;f=b;break}}if((s|0)==8){s=0;a[i>>0]=g;g=i+1|0;f=b+1|0}a[g>>0]=0;switch(a[i>>0]|0){case 37:{a[d>>0]=37;b=j;d=d+1|0;e=e+-1|0;break}case 88:case 120:case 111:case 117:case 100:case 105:case 99:{c[o>>2]=c[223992+(j<<7)>>2];i=WFa(d,e,k,o)|0;g=(i|0)>0;b=j+1|0;d=g?d+i|0:d;e=e-(g?i:0)|0;break}case 102:{h[p>>3]=+h[223992+(j<<7)>>3];i=WFa(d,e,k,p)|0;g=(i|0)>0;b=j+1|0;d=g?d+i|0:d;e=e-(g?i:0)|0;break}case 112:{c[q>>2]=c[223992+(j<<7)>>2];i=WFa(d,e,k,q)|0;g=(i|0)>0;b=j+1|0;d=g?d+i|0:d;e=e-(g?i:0)|0;break}case 115:{c[r>>2]=223992+(j<<7);i=WFa(d,e,k,r)|0;g=(i|0)>0;b=j+1|0;d=g?d+i|0:d;e=e-(g?i:0)|0;break}default:b=j}g=b}else{a[d>>0]=b;g=j;d=d+1|0;e=e+-1|0;f=f+1|0}b=a[f>>0]|0;if(!((e|0)>0&b<<24>>24!=0))break;else j=g}b=(e|0)<0?d+(e+-1)|0:d}a[b>>0]=0;l=t;return 216864}function MAa(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,i=0,j=0,k=0.0;j=l;l=l+32|0;i=j+16|0;g=j;if(!b){l=j;return -1}c[55964]=1;RFa(223860,b,128)|0;c[g>>2]=d;c[55997]=0;e=a[b>>0]|0;a:do if(e<<24>>24){d=b;b=0;do{d=d+1|0;if(e<<24>>24==37){while(1){f=a[d>>0]|0;e=d+1|0;if(f<<24>>24==46|(f+-48&255)<10)d=e;else break}switch(f<<24>>24|0){case 0:break;case 88:case 120:case 111:case 117:case 100:case 105:case 99:{f=(c[g>>2]|0)+(4-1)&~(4-1);d=c[f>>2]|0;c[g>>2]=f+4;f=b+1|0;c[55997]=f;c[223992+(b<<7)>>2]=d;d=e;b=f;break}case 102:{f=(c[g>>2]|0)+(8-1)&~(8-1);k=+h[f>>3];c[g>>2]=f+8;f=b+1|0;c[55997]=f;h[223992+(b<<7)>>3]=k;d=e;b=f;break}case 112:{f=(c[g>>2]|0)+(4-1)&~(4-1);d=c[f>>2]|0;c[g>>2]=f+4;f=b+1|0;c[55997]=f;c[223992+(b<<7)>>2]=d;d=e;b=f;break}case 115:{f=(c[g>>2]|0)+(4-1)&~(4-1);d=c[f>>2]|0;c[g>>2]=f+4;RFa(223992+(b<<7)|0,(d|0)==0?213025:d,128)|0;b=(c[55997]|0)+1|0;c[55997]=b;d=e;break}default:d=e}if((b|0)>4)break a}e=a[d>>0]|0}while(e<<24>>24!=0)}while(0);LAa()|0;c[i>>2]=216864;SFa(1,194930,i);l=j;return -1}function NAa(a){a=a|0;var b=0,d=0,e=0;e=l;l=l+32|0;b=c[56498]|0;if(!b){a=MAa(192981,e)|0;l=e;return a|0}if(!(kBa(c[b+664>>2]|0)|0)){a=MAa(194847,e+8|0)|0;l=e;return a|0}d=c[56498]|0;b=c[d+188>>2]|0;if(!b){a=MAa(194887,e+16|0)|0;l=e;return a|0}else{a=kk[b&511](d,a)|0;l=e;return a|0}return 0}function OAa(){var a=0,b=0;a=c[56498]|0;if(!a){b=0;return b|0}if(!(kBa(c[a+664>>2]|0)|0)){b=0;return b|0}a=c[56498]|0;b=c[a+192>>2]|0;if(!b){b=0;return b|0}b=gk[b&1023](a)|0;return b|0}function PAa(b,d){b=b|0;d=d|0;switch(a[d+12>>0]|0){case 2:case 1:case 6:{c[56497]=0;return}case 7:{vk[c[(c[b+320>>2]|0)+88>>2]&15]();return}default:return}}function QAa(a,b,d){a=a|0;b=b|0;d=d|0;NFa(c[a+188>>2]|0,b,d);return 0}function RAa(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,O=0,P=0,Q=0,R=0,S=0,T=0;T=l;l=l+224|0;R=T+200|0;P=T+176|0;K=T+152|0;H=T+128|0;F=T+104|0;B=T+80|0;y=T+56|0;o=T+32|0;k=T+8|0;h=T;Q=b+320|0;J=c[Q>>2]|0;g=c[J>>2]|0;if((c[56497]|0)!=(g|0)){c[J+268>>2]=0;if((JAa(c[b+188>>2]|0,g)|0)>=0){c[56497]=c[J>>2];XAa(b)|0;f=c[Q>>2]|0;S=4}}else{f=J;S=4}if((S|0)==4?c[f+4>>2]|0:0){b=f+108|0;do{}while((fk[c[b>>2]&7]()|0)!=0)}g=d+4|0;b=c[g>>2]|0;a:do if((b|0)<825382478)if((b|0)<374740996)if((b|0)<372645892)switch(b|0){case 370546692:{t=6408;break a}default:{S=9;break a}}else switch(b|0){case 372645892:{t=6408;break a}default:{S=9;break a}}else if((b|0)<376840196)switch(b|0){case 374740996:{t=6408;break a}default:{S=9;break a}}else switch(b|0){case 376840196:{t=6408;break a}default:{S=9;break a}}else{b:do if((b|0)<842094169)if((b|0)<842094158)switch(b|0){case 825382478:break b;default:{S=9;break a}}else switch(b|0){case 842094158:break b;default:{S=9;break a}}else if((b|0)<1448433993)switch(b|0){case 842094169:break b;default:{S=9;break a}}else switch(b|0){case 1448433993:break b;default:{S=9;break a}}while(0);t=6409}while(0);if((S|0)==9){S=MAa(194733,h)|0;l=T;return S|0}M=FAa(1,44)|0;if(!M){S=GAa(0)|0;l=T;return S|0}c[M>>2]=0;v=M+4|0;c[v>>2]=3553;c[M+8>>2]=t;c[M+12>>2]=5121;q=c[g>>2]|0;h=M+24|0;c[h>>2]=((q|0)==1448433993|(q|0)==842094169)&1;p=M+28|0;c[p>>2]=((q|0)==842094158|(q|0)==825382478)&1;q=M+36|0;c[q>>2]=0;m=M+32|0;c[m>>2]=0;b=OFa(196109)|0;if((b|0)!=0?(a[b>>0]|0)!=48:0){r=(PFa(b,196134)|0)==0;r=r?9728:9729}else r=9728;w=d+8|0;if((c[w>>2]|0)==1){f=c[d+12>>2]|0;b=c[g>>2]|0;c:do if((b|0)==0|(b&-268435456|0)==268435456)b=b&255;else{if((b|0)<1498831189)switch(b|0){case 844715353:{b=2;break c}default:{}}else switch(b|0){case 1498831189:{b=2;break c}default:{}}b=(b|0)==1431918169?2:1}while(0);f=N(b,f)|0;c[M+20>>2]=f;f=N(c[d+16>>2]|0,f)|0;if(!(c[h>>2]|0))b=f;else b=((f|0)/2|0)+f|0;if(c[p>>2]|0)b=b+((f|0)/2|0)|0;g=FAa(1,b)|0;c[M+16>>2]=g;if(!g){iBa(M);S=GAa(0)|0;l=T;return S|0}}b=c[Q>>2]|0;if(c[b+4>>2]|0?(j=b+108|0,i=fk[c[j>>2]&7]()|0,i|0):0){b=231036;g=i;do{d:do if((b|0)!=0?(a[b>>0]|0)!=0:0)switch(g|0){case 1280:{f=192745;break d}case 1281:{f=192761;break d}case 1282:{f=192778;break d}case 1285:{f=192799;break d}default:{f=192816;break d}}else S=36;while(0);e:do if((S|0)==36){S=0;switch(g|0){case 1280:{b=192737;f=192745;break e}case 1281:{b=192737;f=192761;break e}case 1282:{b=192737;f=192778;break e}case 1285:{b=192737;f=192799;break e}default:{b=192737;f=192816;break e}}}while(0);c[k>>2]=b;c[k+4>>2]=192850;c[k+8>>2]=574;c[k+12>>2]=194762;c[k+16>>2]=f;c[k+20>>2]=g;MAa(192824,k)|0;g=fk[c[j>>2]&7]()|0}while((g|0)!=0)}if(c[h>>2]|0){k=J+96|0;Jk[c[k>>2]&1023](1,m);b=c[Q>>2]|0;if(c[b+4>>2]|0?(n=b+108|0,e=fk[c[n>>2]&7]()|0,e|0):0){while(1){switch(e|0){case 1280:{b=192745;break}case 1281:{b=192761;break}case 1282:{b=192778;break}case 1285:{b=192799;break}default:b=192816}c[o>>2]=194817;c[o+4>>2]=192850;c[o+8>>2]=578;c[o+12>>2]=194762;c[o+16>>2]=b;c[o+20>>2]=e;MAa(192824,o)|0;e=fk[c[n>>2]&7]()|0;if(!e){e=-1;break}}l=T;return e|0}i=J+16|0;Bk[c[i>>2]&2047](33986);j=J+28|0;Jk[c[j>>2]&1023](c[v>>2]|0,c[m>>2]|0);b=J+160|0;Nk[c[b>>2]&255](c[v>>2]|0,10241,r);Nk[c[b>>2]&255](c[v>>2]|0,10240,r);Nk[c[b>>2]&255](c[v>>2]|0,10242,33071);Nk[c[b>>2]&255](c[v>>2]|0,10243,33071);f=J+156|0;g=d+12|0;h=d+16|0;Wk[c[f>>2]&15](c[v>>2]|0,0,t,(c[g>>2]|0)/2|0,(c[h>>2]|0)/2|0,0,t,5121,0);Jk[c[k>>2]&1023](1,q);e=c[Q>>2]|0;if(c[e+4>>2]|0?(x=e+108|0,s=fk[c[x>>2]&7]()|0,s|0):0){e=s;while(1){switch(e|0){case 1280:{b=192745;break}case 1281:{b=192761;break}case 1282:{b=192778;break}case 1285:{b=192799;break}default:b=192816}c[y>>2]=194817;c[y+4>>2]=192850;c[y+8>>2]=590;c[y+12>>2]=194762;c[y+16>>2]=b;c[y+20>>2]=e;MAa(192824,y)|0;e=fk[c[x>>2]&7]()|0;if(!e){e=-1;break}}l=T;return e|0}Bk[c[i>>2]&2047](33985);Jk[c[j>>2]&1023](c[v>>2]|0,c[q>>2]|0);Nk[c[b>>2]&255](c[v>>2]|0,10241,r);Nk[c[b>>2]&255](c[v>>2]|0,10240,r);Nk[c[b>>2]&255](c[v>>2]|0,10242,33071);Nk[c[b>>2]&255](c[v>>2]|0,10243,33071);Wk[c[f>>2]&15](c[v>>2]|0,0,t,(c[g>>2]|0)/2|0,(c[h>>2]|0)/2|0,0,t,5121,0);e=c[Q>>2]|0;if(c[e+4>>2]|0?(z=e+108|0,u=fk[c[z>>2]&7]()|0,u|0):0){e=u;while(1){switch(e|0){case 1280:{b=192745;break}case 1281:{b=192761;break}case 1282:{b=192778;break}case 1285:{b=192799;break}default:b=192816}c[B>>2]=194832;c[B+4>>2]=192850;c[B+8>>2]=600;c[B+12>>2]=194762;c[B+16>>2]=b;c[B+20>>2]=e;MAa(192824,B)|0;e=fk[c[z>>2]&7]()|0;if(!e){e=-1;break}}l=T;return e|0}}b=J+96|0;if(c[p>>2]|0){Jk[c[b>>2]&1023](1,q);e=c[Q>>2]|0;if(c[e+4>>2]|0?(D=e+108|0,A=fk[c[D>>2]&7]()|0,A|0):0){e=A;while(1){switch(e|0){case 1280:{b=192745;break}case 1281:{b=192761;break}case 1282:{b=192778;break}case 1285:{b=192799;break}default:b=192816}c[F>>2]=194817;c[F+4>>2]=192850;c[F+8>>2]=607;c[F+12>>2]=194762;c[F+16>>2]=b;c[F+20>>2]=e;MAa(192824,F)|0;e=fk[c[D>>2]&7]()|0;if(!e){e=-1;break}}l=T;return e|0}Bk[c[J+16>>2]&2047](33985);Jk[c[J+28>>2]&1023](c[v>>2]|0,c[q>>2]|0);e=J+160|0;Nk[c[e>>2]&255](c[v>>2]|0,10241,r);Nk[c[e>>2]&255](c[v>>2]|0,10240,r);Nk[c[e>>2]&255](c[v>>2]|0,10242,33071);Nk[c[e>>2]&255](c[v>>2]|0,10243,33071);Wk[c[J+156>>2]&15](c[v>>2]|0,0,6410,(c[d+12>>2]|0)/2|0,(c[d+16>>2]|0)/2|0,0,6410,5121,0);e=c[Q>>2]|0;if(c[e+4>>2]|0?(G=e+108|0,C=fk[c[G>>2]&7]()|0,C|0):0){e=C;while(1){switch(e|0){case 1280:{b=192745;break}case 1281:{b=192761;break}case 1282:{b=192778;break}case 1285:{b=192799;break}default:b=192816}c[H>>2]=194832;c[H+4>>2]=192850;c[H+8>>2]=617;c[H+12>>2]=194762;c[H+16>>2]=b;c[H+20>>2]=e;MAa(192824,H)|0;e=fk[c[G>>2]&7]()|0;if(!e){e=-1;break}}l=T;return e|0}}Jk[c[b>>2]&1023](1,M);e=c[Q>>2]|0;if(c[e+4>>2]|0?(I=e+108|0,E=fk[c[I>>2]&7]()|0,E|0):0){e=E;while(1){switch(e|0){case 1280:{b=192745;break}case 1281:{b=192761;break}case 1282:{b=192778;break}case 1285:{b=192799;break}default:b=192816}c[K>>2]=194817;c[K+4>>2]=192850;c[K+8>>2]=623;c[K+12>>2]=194762;c[K+16>>2]=b;c[K+20>>2]=e;MAa(192824,K)|0;e=fk[c[I>>2]&7]()|0;if(!e){e=-1;break}}l=T;return e|0}c[d+68>>2]=M;Bk[c[J+16>>2]&2047](33984);Jk[c[J+28>>2]&1023](c[v>>2]|0,c[M>>2]|0);b=J+160|0;Nk[c[b>>2]&255](c[v>>2]|0,10241,r);Nk[c[b>>2]&255](c[v>>2]|0,10240,r);Nk[c[b>>2]&255](c[v>>2]|0,10242,33071);Nk[c[b>>2]&255](c[v>>2]|0,10243,33071);b=d+12|0;f=d+16|0;Wk[c[J+156>>2]&15](c[v>>2]|0,0,t,c[b>>2]|0,c[f>>2]|0,0,t,5121,0);e=c[Q>>2]|0;if(c[e+4>>2]|0?(O=e+108|0,L=fk[c[O>>2]&7]()|0,L|0):0){e=L;while(1){switch(e|0){case 1280:{b=192745;break}case 1281:{b=192761;break}case 1282:{b=192778;break}case 1285:{b=192799;break}default:b=192816}c[P>>2]=194832;c[P+4>>2]=192850;c[P+8>>2]=634;c[P+12>>2]=194762;c[P+16>>2]=b;c[P+20>>2]=e;MAa(192824,P)|0;e=fk[c[O>>2]&7]()|0;if(!e){e=-1;break}}l=T;return e|0}f:do if((c[w>>2]|0)==2){h=c[Q>>2]|0;g=c[b>>2]|0;b=c[f>>2]|0;f=h+232|0;e=c[f>>2]|0;if(e|0)do{if((c[e>>2]|0)==(g|0)?(c[e+4>>2]|0)==(b|0):0)break f;e=c[e+12>>2]|0}while((e|0)!=0);e=sBa(16)|0;c[e>>2]=g;c[e+4>>2]=b;Jk[c[h+92>>2]&1023](1,e+8|0);c[e+12>>2]=c[f>>2];c[f>>2]=e}else e=0;while(0);c[M+40>>2]=e;e=c[Q>>2]|0;if(!(c[e+4>>2]|0)){S=0;l=T;return S|0}g=e+108|0;e=fk[c[g>>2]&7]()|0;if(!e){S=0;l=T;return S|0}b=231036;while(1){g:do if((b|0)!=0?(a[b>>0]|0)!=0:0)switch(e|0){case 1280:{f=192745;break g}case 1281:{f=192761;break g}case 1282:{f=192778;break g}case 1285:{f=192799;break g}default:{f=192816;break g}}else S=124;while(0);h:do if((S|0)==124){S=0;switch(e|0){case 1280:{b=192737;f=192745;break h}case 1281:{b=192737;f=192761;break h}case 1282:{b=192737;f=192778;break h}case 1285:{b=192737;f=192799;break h}default:{b=192737;f=192816;break h}}}while(0);c[R>>2]=b;c[R+4>>2]=192850;c[R+8>>2]=644;c[R+12>>2]=194762;c[R+16>>2]=f;c[R+20>>2]=e;MAa(192824,R)|0;e=fk[c[g>>2]&7]()|0;if(!e){e=-1;break}}l=T;return e|0}function SAa(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0;I=l;l=l+32|0;H=I;F=a+320|0;G=c[F>>2]|0;E=c[b+68>>2]|0;g=c[G>>2]|0;if((c[56497]|0)!=(g|0)){c[G+268>>2]=0;if((JAa(c[a+188>>2]|0,g)|0)>=0){c[56497]=c[G>>2];XAa(a)|0;h=c[F>>2]|0;t=4}}else{h=G;t=4}if((t|0)==4?c[h+4>>2]|0:0){a=h+108|0;do{}while((fk[c[a>>2]&7]()|0)!=0)}C=d+8|0;if((c[C>>2]|0)<1){H=0;l=I;return H|0}D=d+12|0;if((c[D>>2]|0)<1){H=0;l=I;return H|0}z=G+28|0;A=E+4|0;Jk[c[z>>2]&1023](c[A>>2]|0,c[E>>2]|0);j=c[A>>2]|0;k=c[d>>2]|0;B=d+4|0;m=c[B>>2]|0;n=c[C>>2]|0;o=c[D>>2]|0;x=E+8|0;p=c[x>>2]|0;y=E+12|0;q=c[y>>2]|0;w=b+4|0;a=c[w>>2]|0;a:do if((a|0)==0|(a&-268435456|0)==268435456)a=a&255;else{if((a|0)<1498831189)switch(a|0){case 844715353:{a=2;break a}default:{}}else switch(a|0){case 1498831189:{a=2;break a}default:{}}a=(a|0)==1431918169?2:1}while(0);b=N(a,n)|0;do if((b|0)!=(f|0)){i=sBa(N(b,o)|0)|0;if(!i){GAa(0)|0;break}if((o|0)>0){a=0;g=i;h=e;while(1){uBa(g,h,b)|0;a=a+1|0;if((a|0)==(o|0)){r=i;s=i;t=19;break}else{g=g+b|0;h=h+f|0}}}else{r=i;s=i;t=19}}else{r=0;s=e;t=19}while(0);if((t|0)==19?(Wk[c[G+164>>2]&15](j,0,k,m,n,o,p,q,s),r|0):0)iBa(r);do if(c[E+24>>2]|0){p=e+(N(c[D>>2]|0,f)|0)|0;e=c[z>>2]|0;a=c[A>>2]|0;if((c[w>>2]|0)==842094169)Jk[e&1023](a,c[E+32>>2]|0);else Jk[e&1023](a,c[E+36>>2]|0);h=c[A>>2]|0;b=(c[d>>2]|0)/2|0;i=(c[B>>2]|0)/2|0;j=(c[C>>2]|0)/2|0;e=c[D>>2]|0;k=(e|0)/2|0;m=c[x>>2]|0;n=c[y>>2]|0;q=(f|0)/2|0;do if((j|0)!=(q|0)){o=sBa(N(k,j)|0)|0;if(!o){GAa(0)|0;break}if((e|0)>1){e=0;a=o;g=p;while(1){uBa(a,g,j)|0;e=e+1|0;if((e|0)==(k|0)){u=o;v=o;t=31;break}else{a=a+j|0;g=g+q|0}}}else{u=o;v=o;t=31}}else{u=0;v=p;t=31}while(0);if((t|0)==31?(Wk[c[G+164>>2]&15](h,0,b,i,j,k,m,n,v),u|0):0)iBa(u);e=p+((N(c[D>>2]|0,f)|0)/4|0)|0;a=c[z>>2]|0;g=c[A>>2]|0;if((c[w>>2]|0)==842094169)Jk[a&1023](g,c[E+36>>2]|0);else Jk[a&1023](g,c[E+32>>2]|0);k=c[A>>2]|0;m=(c[d>>2]|0)/2|0;n=(c[B>>2]|0)/2|0;o=(c[C>>2]|0)/2|0;a=c[D>>2]|0;p=(a|0)/2|0;j=c[x>>2]|0;i=c[y>>2]|0;if((o|0)!=(q|0)){b=sBa(N(p,o)|0)|0;if(!b){GAa(0)|0;break}if((a|0)>1){a=0;g=b;h=e;while(1){uBa(g,h,o)|0;a=a+1|0;if((a|0)==(p|0)){g=b;a=b;break}else{g=g+o|0;h=h+q|0}}}else{g=b;a=b}}else{g=0;a=e}Wk[c[G+164>>2]&15](k,0,m,n,o,p,j,i,a);if(g)iBa(g)}while(0);do if(c[E+28>>2]|0){e=e+(N(c[D>>2]|0,f)|0)|0;Jk[c[z>>2]&1023](c[A>>2]|0,c[E+36>>2]|0);n=c[A>>2]|0;m=(c[d>>2]|0)/2|0;k=(c[B>>2]|0)/2|0;j=(c[C>>2]|0)/2|0;a=c[D>>2]|0;i=(a|0)/2|0;h=j<<1;if((h|0)!=(f|0)){b=sBa(N(h,i)|0)|0;if(!b){GAa(0)|0;break}if((a|0)>1){a=0;g=b;while(1){uBa(g,e,h)|0;a=a+1|0;if((a|0)==(i|0)){a=b;e=b;break}else{g=g+h|0;e=e+f|0}}}else{a=b;e=b}}else a=0;Wk[c[G+164>>2]&15](n,0,m,k,j,i,6410,5121,e);if(a|0)iBa(a)}while(0);e=c[F>>2]|0;if(!(c[e+4>>2]|0)){H=0;l=I;return H|0}g=e+108|0;e=fk[c[g>>2]&7]()|0;if(!e){H=0;l=I;return H|0}while(1){switch(e|0){case 1280:{a=192745;break}case 1281:{a=192761;break}case 1282:{a=192778;break}case 1285:{a=192799;break}default:a=192816}c[H>>2]=194487;c[H+4>>2]=192850;c[H+8>>2]=753;c[H+12>>2]=194641;c[H+16>>2]=a;c[H+20>>2]=e;MAa(192824,H)|0;e=fk[c[g>>2]&7]()|0;if(!e){e=-1;break}}l=I;return e|0}function TAa(a,b,d,e,f,g,h,i,j){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0;M=l;l=l+32|0;L=M;K=a+320|0;J=c[K>>2]|0;C=c[b+68>>2]|0;b=c[J>>2]|0;if((c[56497]|0)!=(b|0)){c[J+268>>2]=0;if((JAa(c[a+188>>2]|0,b)|0)>=0){c[56497]=c[J>>2];XAa(a)|0;k=c[K>>2]|0;G=4}}else{k=J;G=4}if((G|0)==4?c[k+4>>2]|0:0){b=k+108|0;do{}while((fk[c[b>>2]&7]()|0)!=0)}B=d+8|0;if((c[B>>2]|0)<1){L=0;l=M;return L|0}D=d+12|0;if((c[D>>2]|0)<1){L=0;l=M;return L|0}w=J+28|0;x=C+4|0;Jk[c[w>>2]&1023](c[x>>2]|0,c[C+32>>2]|0);m=c[x>>2]|0;n=(c[d>>2]|0)/2|0;A=d+4|0;o=(c[A>>2]|0)/2|0;p=(c[B>>2]|0)/2|0;b=c[D>>2]|0;q=(b|0)/2|0;E=C+8|0;r=c[E>>2]|0;F=C+12|0;s=c[F>>2]|0;do if((p|0)!=(j|0)){t=sBa(N(q,p)|0)|0;if(!t){GAa(0)|0;break}if((b|0)>1){a=0;k=t;b=i;while(1){uBa(k,b,p)|0;a=a+1|0;if((a|0)==(q|0)){u=t;v=t;G=15;break}else{k=k+p|0;b=b+j|0}}}else{u=t;v=t;G=15}}else{u=0;v=i;G=15}while(0);if((G|0)==15?(Wk[c[J+164>>2]&15](m,0,n,o,p,q,r,s,v),u|0):0)iBa(u);Jk[c[w>>2]&1023](c[x>>2]|0,c[C+36>>2]|0);m=c[x>>2]|0;n=(c[d>>2]|0)/2|0;o=(c[A>>2]|0)/2|0;p=(c[B>>2]|0)/2|0;b=c[D>>2]|0;q=(b|0)/2|0;r=c[E>>2]|0;s=c[F>>2]|0;do if((p|0)!=(h|0)){t=sBa(N(q,p)|0)|0;if(!t){GAa(0)|0;break}if((b|0)>1){a=0;k=t;b=g;while(1){uBa(k,b,p)|0;a=a+1|0;if((a|0)==(q|0)){y=t;z=t;G=23;break}else{k=k+p|0;b=b+h|0}}}else{y=t;z=t;G=23}}else{y=0;z=g;G=23}while(0);if((G|0)==23?(Wk[c[J+164>>2]&15](m,0,n,o,p,q,r,s,z),y|0):0)iBa(y);Jk[c[w>>2]&1023](c[x>>2]|0,c[C>>2]|0);s=c[x>>2]|0;r=c[d>>2]|0;q=c[A>>2]|0;p=c[B>>2]|0;o=c[D>>2]|0;n=c[E>>2]|0;k=c[F>>2]|0;do if((p|0)!=(f|0)){m=sBa(N(o,p)|0)|0;if(!m){GAa(0)|0;break}if((o|0)>0){b=0;a=m;while(1){uBa(a,e,p)|0;b=b+1|0;if((b|0)==(o|0)){H=m;I=m;G=31;break}else{a=a+p|0;e=e+f|0}}}else{H=m;I=m;G=31}}else{H=0;I=e;G=31}while(0);if((G|0)==31?(Wk[c[J+164>>2]&15](s,0,r,q,p,o,n,k,I),H|0):0)iBa(H);e=c[K>>2]|0;if(!(c[e+4>>2]|0)){L=0;l=M;return L|0}a=e+108|0;e=fk[c[a>>2]&7]()|0;if(!e){L=0;l=M;return L|0}while(1){switch(e|0){case 1280:{b=192745;break}case 1281:{b=192761;break}case 1282:{b=192778;break}case 1285:{b=192799;break}default:b=192816}c[L>>2]=194487;c[L+4>>2]=192850;c[L+8>>2]=803;c[L+12>>2]=194505;c[L+16>>2]=b;c[L+20>>2]=e;MAa(192824,L)|0;e=fk[c[a>>2]&7]()|0;if(!e){e=-1;break}}l=M;return e|0}function UAa(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0;h=c[b+68>>2]|0;g=c[h+20>>2]|0;h=(c[h+16>>2]|0)+(N(c[d+4>>2]|0,g)|0)|0;d=c[d>>2]|0;a=c[b+4>>2]|0;a:do if((a|0)==0|(a&-268435456|0)==268435456)a=a&255;else{if((a|0)<1498831189)switch(a|0){case 844715353:{a=2;break a}default:{}}else switch(a|0){case 1498831189:{a=2;break a}default:{}}a=(a|0)==1431918169?2:1}while(0);c[e>>2]=h+(N(a,d)|0);c[f>>2]=g;return 0}function VAa(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=l;l=l+16|0;f=d;e=c[b+68>>2]|0;c[f>>2]=0;c[f+4>>2]=0;c[f+8>>2]=c[b+12>>2];c[f+12>>2]=c[b+16>>2];SAa(a,b,f,c[e+16>>2]|0,c[e+20>>2]|0)|0;l=d;return}function WAa(a,b){a=a|0;b=b|0;var d=0;d=l;l=l+16|0;a=c[a+320>>2]|0;if(!b){Jk[c[a+192>>2]&1023](36160,c[a+236>>2]|0);b=0;l=d;return b|0}b=c[b+68>>2]|0;Jk[c[a+192>>2]&1023](36160,c[(c[b+40>>2]|0)+8>>2]|0);Sk[c[a+196>>2]&63](36160,36064,c[b+4>>2]|0,c[b>>2]|0,0);if((gk[c[a+200>>2]&1023](36160)|0)==36053){b=0;l=d;return b|0}b=MAa(194455,d)|0;l=d;return b|0}function XAa(b){b=b|0;var d=0,e=0,f=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0;q=l;l=l+96|0;o=q+64|0;d=q;e=q+88|0;f=b+320|0;i=c[f>>2]|0;if((c[56497]|0)!=(c[i>>2]|0)){p=0;l=q;return p|0}n=b+308|0;if(!(c[n>>2]|0)){NFa(c[b+188>>2]|0,d,e);r=c[b+228>>2]|0;Qk[c[i+188>>2]&127](c[b+216>>2]|0,(c[e>>2]|0)-(c[b+220>>2]|0)-r|0,c[b+224>>2]|0,r)}else Qk[c[i+188>>2]&127](c[b+216>>2]|0,c[b+220>>2]|0,c[b+224>>2]|0,c[b+228>>2]|0);if(((c[i+268>>2]|0?(h=c[f>>2]|0,j=c[b+224>>2]|0,j|0):0)?(k=c[b+228>>2]|0,k|0):0)?(g[d>>2]=2.0/+(j|0),m=d+4|0,c[m>>2]=0,c[m+4>>2]=0,c[m+8>>2]=0,c[m+12>>2]=0,m=(c[n>>2]|0)==0,g[d+20>>2]=(m?-2.0:2.0)/+(k|0),r=d+24|0,c[r>>2]=0,c[r+4>>2]=0,c[r+8>>2]=0,c[r+12>>2]=0,c[r+16>>2]=0,c[r+20>>2]=0,g[d+48>>2]=-1.0,g[d+52>>2]=m?1.0:-1.0,g[d+56>>2]=0.0,g[d+60>>2]=1.0,m=h+268|0,xFa((c[m>>2]|0)+88|0,d,64)|0):0){Qk[c[h+176>>2]&127](c[(c[m>>2]|0)+16>>2]|0,1,0,d);uBa((c[m>>2]|0)+88|0,d,64)|0}b=c[f>>2]|0;if(!(c[b+4>>2]|0)){r=0;l=q;return r|0}f=b+108|0;b=fk[c[f>>2]&7]()|0;if(!b){r=0;l=q;return r|0}d=231036;while(1){a:do if((d|0)!=0?(a[d>>0]|0)!=0:0)switch(b|0){case 1280:{e=192745;break a}case 1281:{e=192761;break a}case 1282:{e=192778;break a}case 1285:{e=192799;break a}default:{e=192816;break a}}else p=21;while(0);b:do if((p|0)==21){p=0;switch(b|0){case 1280:{d=192737;e=192745;break b}case 1281:{d=192737;e=192761;break b}case 1282:{d=192737;e=192778;break b}case 1285:{d=192737;e=192799;break b}default:{d=192737;e=192816;break b}}}while(0);c[o>>2]=d;c[o+4>>2]=192850;c[o+8>>2]=399;c[o+12>>2]=194414;c[o+16>>2]=e;c[o+20>>2]=b;MAa(192824,o)|0;b=fk[c[f>>2]&7]()|0;if(!b){b=-1;break}}l=q;return b|0}function YAa(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;f=l;l=l+16|0;d=f;e=c[a+320>>2]|0;if((c[56497]|0)!=(c[e>>2]|0)){l=f;return 0}if(!(c[a+280>>2]|0)){Bk[c[e+68>>2]&2047](3089);l=f;return 0}b=a+248|0;Bk[c[e+80>>2]&2047](3089);if(!(c[a+308>>2]|0)){NFa(c[a+188>>2]|0,f+4|0,d);g=c[a+260>>2]|0;Qk[c[e+144>>2]&127]((c[b>>2]|0)+(c[a+216>>2]|0)|0,(c[d>>2]|0)-(c[a+220>>2]|0)-(c[a+252>>2]|0)-g|0,c[a+256>>2]|0,g);l=f;return 0}else{Qk[c[e+144>>2]&127]((c[b>>2]|0)+(c[a+216>>2]|0)|0,(c[a+252>>2]|0)+(c[a+220>>2]|0)|0,c[a+256>>2]|0,c[a+260>>2]|0);l=f;return 0}return 0}function ZAa(b){b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;e=b+320|0;s=c[e>>2]|0;g=c[s>>2]|0;if((c[56497]|0)!=(g|0)){c[s+268>>2]=0;if((JAa(c[b+188>>2]|0,g)|0)>=0){c[56497]=c[s>>2];XAa(b)|0;f=c[e>>2]|0;r=4}}else{f=s;r=4}if((r|0)==4?c[f+4>>2]|0:0){e=f+108|0;do{}while((fk[c[e>>2]&7]()|0)!=0)}h=s+272|0;i=s+273|0;j=s+274|0;k=s+275|0;l=b+312|0;e=a[l>>0]|0;m=b+313|0;n=a[m>>0]|0;o=b+314|0;g=a[o>>0]|0;p=b+315|0;q=a[p>>0]|0;if(((d[i>>0]|0)<<16|(d[h>>0]|0)<<24|(d[j>>0]|0)<<8|(d[k>>0]|0)|0)!=((n&255)<<16|(e&255)<<24|(g&255)<<8|q&255|0)){f=c[b+308>>2]|0;a:do if(f){f=c[f+4>>2]|0;if((f|0)<372645892)switch(f|0){case 370546692:{f=g;break a}default:{r=10;break a}}else switch(f|0){case 372645892:{f=g;break a}default:{r=10;break a}}}else r=10;while(0);if((r|0)==10){f=e;e=g}yk[c[s+40>>2]&3](+(f&255)*.003921568859368563,+(n&255)*.003921568859368563,+(e&255)*.003921568859368563,+(q&255)*.003921568859368563);a[h>>0]=a[l>>0]|0;a[i>>0]=a[m>>0]|0;a[j>>0]=a[o>>0]|0;a[k>>0]=a[p>>0]|0}e=b+280|0;if(c[e>>2]|0)Bk[c[s+68>>2]&2047](3089);Bk[c[s+36>>2]&2047](16384);if(!(c[e>>2]|0))return 0;Bk[c[s+80>>2]&2047](3089);return 0}function _Aa(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,h=0,i=0,j=0,k=0,m=0.0;j=l;e=a+320|0;i=c[e>>2]|0;if((MFa(a)|0)<0){i=-1;l=j;return i|0}f=d<<3;h=l;l=l+((1*f|0)+15&-16)|0;if((d|0)>0){a=0;do{m=+g[b+(a<<3)+4>>2]+.5;k=a<<1;g[h+(k<<2)>>2]=+g[b+(a<<3)>>2]+.5;g[h+((k|1)<<2)>>2]=m;a=a+1|0}while((a|0)!=(d|0))}e=c[e>>2]|0;b=e+276|0;a=c[b>>2]|0;if(!a){Jk[c[e+216>>2]&1023](1,b);a=c[b>>2]|0}Jk[c[e+220>>2]&1023](34962,a);a=e+292|0;if((c[a>>2]|0)>>>0<f>>>0){Qk[c[e+224>>2]&127](34962,f,h,35040);c[a>>2]=f}else Qk[c[e+228>>2]&127](34962,0,f,h);Tk[c[e+184>>2]&15](0,2,5126,0,0,0);Nk[c[i+76>>2]&255](0,0,d);k=0;l=j;return k|0}function $Aa(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0.0;p=l;l=l+32|0;n=p;m=b+320|0;k=c[m>>2]|0;if((MFa(b)|0)<0){o=-1;l=p;return o|0}i=e<<3;j=l;l=l+((1*i|0)+15&-16)|0;if((e|0)>0){b=0;do{q=+g[d+(b<<3)+4>>2]+.5;h=b<<1;g[j+(h<<2)>>2]=+g[d+(b<<3)>>2]+.5;g[j+((h|1)<<2)>>2]=q;b=b+1|0}while((b|0)!=(e|0))}h=c[m>>2]|0;f=h+276|0;b=c[f>>2]|0;if(!b){Jk[c[h+216>>2]&1023](1,f);b=c[f>>2]|0}Jk[c[h+220>>2]&1023](34962,b);b=h+292|0;if((c[b>>2]|0)>>>0<i>>>0){Qk[c[h+224>>2]&127](34962,i,j,35040);c[b>>2]=i}else Qk[c[h+228>>2]&127](34962,0,i,j);Tk[c[h+184>>2]&15](0,2,5126,0,0,0);f=k+76|0;Nk[c[f>>2]&255](3,0,e);if((e|0)!=2){b=e+-1|0;if(!(!(+g[d>>2]!=+g[d+(b<<3)>>2])?!(+g[d+4>>2]!=+g[d+(b<<3)+4>>2]):0))o=13}else{b=1;o=13}if((o|0)==13)Nk[c[f>>2]&255](0,b,1);b=c[m>>2]|0;if(!(c[b+4>>2]|0)){o=0;l=p;return o|0}i=b+108|0;b=fk[c[i>>2]&7]()|0;if(!b){o=0;l=p;return o|0}f=231036;while(1){a:do if((f|0)!=0?(a[f>>0]|0)!=0:0)switch(b|0){case 1280:{h=192745;break a}case 1281:{h=192761;break a}case 1282:{h=192778;break a}case 1285:{h=192799;break a}default:{h=192816;break a}}else o=24;while(0);b:do if((o|0)==24){o=0;switch(b|0){case 1280:{f=192737;h=192745;break b}case 1281:{f=192737;h=192761;break b}case 1282:{f=192737;h=192778;break b}case 1285:{f=192737;h=192799;break b}default:{f=192737;h=192816;break b}}}while(0);c[n>>2]=f;c[n+4>>2]=192850;c[n+8>>2]=1514;c[n+12>>2]=194347;c[n+16>>2]=h;c[n+20>>2]=b;MAa(192824,n)|0;b=fk[c[i>>2]&7]()|0;if(!b){b=-1;break}}l=p;return b|0}function aBa(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0.0,y=0.0,z=0.0,A=0.0;w=l;l=l+64|0;u=w+32|0;s=w;t=b+320|0;f=c[t>>2]|0;if((MFa(b)|0)<0){v=-1;l=w;return v|0}if((e|0)>0){r=s+4|0;k=s+8|0;m=s+12|0;n=s+16|0;o=s+20|0;p=s+24|0;q=s+28|0;i=f+76|0;h=0;do{z=+g[d+(h<<4)>>2];y=z+ +g[d+(h<<4)+8>>2];A=+g[d+(h<<4)+4>>2];x=A+ +g[d+(h<<4)+12>>2];g[s>>2]=z;g[r>>2]=A;g[k>>2]=y;g[m>>2]=A;g[n>>2]=z;g[o>>2]=x;g[p>>2]=y;g[q>>2]=x;j=c[t>>2]|0;f=j+276|0;b=c[f>>2]|0;if(!b){Jk[c[j+216>>2]&1023](1,f);b=c[f>>2]|0}Jk[c[j+220>>2]&1023](34962,b);b=j+292|0;if((c[b>>2]|0)>>>0<32){Qk[c[j+224>>2]&127](34962,32,s,35040);c[b>>2]=32}else Qk[c[j+228>>2]&127](34962,0,32,s);Tk[c[j+184>>2]&15](0,2,5126,0,0,0);Nk[c[i>>2]&255](5,0,4);h=h+1|0}while((h|0)!=(e|0))}b=c[t>>2]|0;if(!(c[b+4>>2]|0)){v=0;l=w;return v|0}i=b+108|0;b=fk[c[i>>2]&7]()|0;if(!b){v=0;l=w;return v|0}f=231036;while(1){a:do if((f|0)!=0?(a[f>>0]|0)!=0:0)switch(b|0){case 1280:{h=192745;break a}case 1281:{h=192761;break a}case 1282:{h=192778;break a}case 1285:{h=192799;break a}default:{h=192816;break a}}else v=20;while(0);b:do if((v|0)==20){v=0;switch(b|0){case 1280:{f=192737;h=192745;break b}case 1281:{f=192737;h=192761;break b}case 1282:{f=192737;h=192778;break b}case 1285:{f=192737;h=192799;break b}default:{f=192737;h=192816;break b}}}while(0);c[u>>2]=f;c[u+4>>2]=192850;c[u+8>>2]=1549;c[u+12>>2]=194281;c[u+16>>2]=h;c[u+20>>2]=b;MAa(192824,u)|0;b=fk[c[i>>2]&7]()|0;if(!b){b=-1;break}}l=w;return b|0}function bBa(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var h=0,i=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0.0,t=0.0,u=0.0,v=0.0;r=l;l=l+96|0;p=r+64|0;k=r+32|0;m=r;n=b+320|0;o=c[n>>2]|0;i=c[o>>2]|0;if((c[56497]|0)!=(i|0)){c[o+268>>2]=0;if((JAa(c[b+188>>2]|0,i)|0)>=0){c[56497]=c[o>>2];XAa(b)|0;h=c[n>>2]|0;q=4}}else{h=o;q=4}if((q|0)==4?c[h+4>>2]|0:0){h=h+108|0;do{}while((fk[c[h>>2]&7]()|0)!=0)}if((IFa(b,d)|0)<0){q=-1;l=r;return q|0}i=c[f>>2]|0;c[k>>2]=i;b=c[f+4>>2]|0;c[k+4>>2]=b;t=+g[f+8>>2]+(c[j>>2]=i,+g[j>>2]);g[k+8>>2]=t;c[k+12>>2]=b;c[k+16>>2]=i;s=+g[f+12>>2]+(c[j>>2]=b,+g[j>>2]);g[k+20>>2]=s;g[k+24>>2]=t;g[k+28>>2]=s;b=c[n>>2]|0;i=b+276|0;h=c[i>>2]|0;if(!h){Jk[c[b+216>>2]&1023](1,i);h=c[i>>2]|0}Jk[c[b+220>>2]&1023](34962,h);h=b+292|0;if((c[h>>2]|0)>>>0<32){Qk[c[b+224>>2]&127](34962,32,k,35040);c[h>>2]=32}else Qk[c[b+228>>2]&127](34962,0,32,k);Tk[c[b+184>>2]&15](0,2,5126,0,0,0);i=c[e>>2]|0;s=+(c[d+12>>2]|0);u=+(i|0)/s;g[m>>2]=u;b=c[e+4>>2]|0;t=+(c[d+16>>2]|0);v=+(b|0)/t;g[m+4>>2]=v;s=+((c[e+8>>2]|0)+i|0)/s;g[m+8>>2]=s;g[m+12>>2]=v;g[m+16>>2]=u;t=+((c[e+12>>2]|0)+b|0)/t;g[m+20>>2]=t;g[m+24>>2]=s;g[m+28>>2]=t;b=c[n>>2]|0;i=b+280|0;h=c[i>>2]|0;if(!h){Jk[c[b+216>>2]&1023](1,i);h=c[i>>2]|0}Jk[c[b+220>>2]&1023](34962,h);h=b+296|0;if((c[h>>2]|0)>>>0<32){Qk[c[b+224>>2]&127](34962,32,m,35040);c[h>>2]=32}else Qk[c[b+228>>2]&127](34962,0,32,m);Tk[c[b+184>>2]&15](1,2,5126,0,0,0);Nk[c[o+76>>2]&255](5,0,4);h=c[n>>2]|0;if(!(c[h+4>>2]|0)){q=0;l=r;return q|0}f=h+108|0;h=fk[c[f>>2]&7]()|0;if(!h){q=0;l=r;return q|0}i=231036;while(1){a:do if((i|0)!=0?(a[i>>0]|0)!=0:0)switch(h|0){case 1280:{b=192745;break a}case 1281:{b=192761;break a}case 1282:{b=192778;break a}case 1285:{b=192799;break a}default:{b=192816;break a}}else q=28;while(0);b:do if((q|0)==28){q=0;switch(h|0){case 1280:{i=192737;b=192745;break b}case 1281:{i=192737;b=192761;break b}case 1282:{i=192737;b=192778;break b}case 1285:{i=192737;b=192799;break b}default:{i=192737;b=192816;break b}}}while(0);c[p>>2]=i;c[p+4>>2]=192850;c[p+8>>2]=1751;c[p+12>>2]=194192;c[p+16>>2]=b;c[p+20>>2]=h;MAa(192824,p)|0;h=fk[c[f>>2]&7]()|0;if(!h){h=-1;break}}l=r;return h|0}function cBa(b,d,e,f,h,i,j){b=b|0;d=d|0;e=e|0;f=f|0;h=+h;i=i|0;j=j|0;var k=0,m=0,n=0.0,o=0,p=0,q=0,r=0.0,s=0.0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;B=l;l=l+144|0;z=B+112|0;v=B+80|0;y=B+48|0;u=B+16|0;t=B;w=b+320|0;x=c[w>>2]|0;k=c[x>>2]|0;if((c[56497]|0)!=(k|0)){c[x+268>>2]=0;if((JAa(c[b+188>>2]|0,k)|0)>=0){c[56497]=c[x>>2];XAa(b)|0;m=c[w>>2]|0;A=4}}else{m=x;A=4}if((A|0)==4?c[m+4>>2]|0:0){k=m+108|0;do{}while((fk[c[k>>2]&7]()|0)!=0)}if((IFa(b,d)|0)<0){A=-1;l=B;return A|0}o=x+84|0;Bk[c[o>>2]&2047](3);Bk[c[o>>2]&2047](2);r=360.0-h;g[t+12>>2]=r;g[t+8>>2]=r;g[t+4>>2]=r;g[t>>2]=r;r=+g[f>>2];s=+g[i>>2]+r;g[u+24>>2]=s;g[u+16>>2]=s;g[u+8>>2]=s;g[u>>2]=s;s=+g[f+4>>2];n=+g[i+4>>2]+s;g[u+28>>2]=n;g[u+20>>2]=n;g[u+12>>2]=n;g[u+4>>2]=n;g[v>>2]=r;i=v+4|0;g[i>>2]=s;n=r+ +g[f+8>>2];o=v+8|0;g[o>>2]=n;p=v+12|0;g[p>>2]=s;q=v+16|0;g[q>>2]=r;h=s+ +g[f+12>>2];k=v+20|0;g[k>>2]=h;m=v+24|0;g[m>>2]=n;b=v+28|0;g[b>>2]=h;if(j&1|0){g[q>>2]=n;g[v>>2]=n;g[m>>2]=r;g[o>>2]=r}if(j&2|0){g[p>>2]=h;g[i>>2]=h;g[b>>2]=s;g[k>>2]=s}b=c[w>>2]|0;m=b+284|0;k=c[m>>2]|0;if(!k){Jk[c[b+216>>2]&1023](1,m);k=c[m>>2]|0}Jk[c[b+220>>2]&1023](34962,k);k=b+300|0;if((c[k>>2]|0)>>>0<16){Qk[c[b+224>>2]&127](34962,16,t,35040);c[k>>2]=16}else Qk[c[b+228>>2]&127](34962,0,16,t);Tk[c[b+184>>2]&15](2,1,5126,0,0,0);b=c[w>>2]|0;m=b+288|0;k=c[m>>2]|0;if(!k){Jk[c[b+216>>2]&1023](1,m);k=c[m>>2]|0}Jk[c[b+220>>2]&1023](34962,k);k=b+304|0;if((c[k>>2]|0)>>>0<32){Qk[c[b+224>>2]&127](34962,32,u,35040);c[k>>2]=32}else Qk[c[b+228>>2]&127](34962,0,32,u);Tk[c[b+184>>2]&15](3,2,5126,0,0,0);b=c[w>>2]|0;m=b+276|0;k=c[m>>2]|0;if(!k){Jk[c[b+216>>2]&1023](1,m);k=c[m>>2]|0}Jk[c[b+220>>2]&1023](34962,k);k=b+292|0;if((c[k>>2]|0)>>>0<32){Qk[c[b+224>>2]&127](34962,32,v,35040);c[k>>2]=32}else Qk[c[b+228>>2]&127](34962,0,32,v);Tk[c[b+184>>2]&15](0,2,5126,0,0,0);m=c[e>>2]|0;r=+(c[d+12>>2]|0);n=+(m|0)/r;g[y>>2]=n;b=c[e+4>>2]|0;s=+(c[d+16>>2]|0);h=+(b|0)/s;g[y+4>>2]=h;r=+((c[e+8>>2]|0)+m|0)/r;g[y+8>>2]=r;g[y+12>>2]=h;g[y+16>>2]=n;s=+((c[e+12>>2]|0)+b|0)/s;g[y+20>>2]=s;g[y+24>>2]=r;g[y+28>>2]=s;b=c[w>>2]|0;m=b+280|0;k=c[m>>2]|0;if(!k){Jk[c[b+216>>2]&1023](1,m);k=c[m>>2]|0}Jk[c[b+220>>2]&1023](34962,k);k=b+296|0;if((c[k>>2]|0)>>>0<32){Qk[c[b+224>>2]&127](34962,32,y,35040);c[k>>2]=32}else Qk[c[b+228>>2]&127](34962,0,32,y);Tk[c[b+184>>2]&15](1,2,5126,0,0,0);Nk[c[x+76>>2]&255](5,0,4);k=x+72|0;Bk[c[k>>2]&2047](3);Bk[c[k>>2]&2047](2);k=c[w>>2]|0;if(!(c[k+4>>2]|0)){A=0;l=B;return A|0}i=k+108|0;k=fk[c[i>>2]&7]()|0;if(!k){A=0;l=B;return A|0}m=231036;while(1){a:do if((m|0)!=0?(a[m>>0]|0)!=0:0)switch(k|0){case 1280:{b=192745;break a}case 1281:{b=192761;break a}case 1282:{b=192778;break a}case 1285:{b=192799;break a}default:{b=192816;break a}}else A=42;while(0);b:do if((A|0)==42){A=0;switch(k|0){case 1280:{m=192737;b=192745;break b}case 1281:{m=192737;b=192761;break b}case 1282:{m=192737;b=192778;break b}case 1285:{m=192737;b=192799;break b}default:{m=192737;b=192816;break b}}}while(0);c[z>>2]=m;c[z+4>>2]=192850;c[z+8>>2]=1820;c[z+12>>2]=193702;c[z+16>>2]=b;c[z+20>>2]=k;MAa(192824,z)|0;k=fk[c[i>>2]&7]()|0;if(!k){k=-1;break}}l=B;return k|0}function dBa(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;x=l;l=l+32|0;u=x;k=x+28|0;m=x+24|0;n=a+320|0;o=c[n>>2]|0;p=a+308|0;h=c[p>>2]|0;if(!h)w=376840196;else w=c[h+4>>2]|0;h=c[o>>2]|0;if((c[56497]|0)!=(h|0)){c[o+268>>2]=0;if((JAa(c[a+188>>2]|0,h)|0)>=0){c[56497]=c[o>>2];XAa(a)|0;i=c[n>>2]|0;j=6}}else{i=o;j=6}if((j|0)==6?c[i+4>>2]|0:0){h=i+108|0;do{}while((fk[c[h>>2]&7]()|0)!=0)}v=b+8|0;h=c[v>>2]|0;j=(w|0)==0|(w&-268435456|0)==268435456;a:do if(j)i=w&255;else{if((w|0)<1498831189)switch(w|0){case 844715353:{i=2;break a}default:{}}else switch(w|0){case 1498831189:{i=2;break a}default:{}}i=(w|0)==1431918169?2:1}while(0);q=N(i,h)|0;r=b+12|0;s=sBa(N(c[r>>2]|0,q)|0)|0;if(!s){f=GAa(0)|0;l=x;return f|0}tBa(a,k,m)|0;if(!(c[p>>2]|0)){i=c[r>>2]|0;h=(c[m>>2]|0)-(c[b+4>>2]|0)-i|0}else{h=c[b+4>>2]|0;i=c[r>>2]|0}Uk[c[o+140>>2]&15](c[b>>2]|0,h,c[v>>2]|0,i,6408,5121,s);h=c[n>>2]|0;if(c[h+4>>2]|0?(t=h+108|0,g=fk[c[t>>2]&7]()|0,g|0):0){while(1){switch(g|0){case 1280:{h=192745;break}case 1281:{h=192761;break}case 1282:{h=192778;break}case 1285:{h=192799;break}default:h=192816}c[u>>2]=193113;c[u+4>>2]=192850;c[u+8>>2]=1847;c[u+12>>2]=193128;c[u+16>>2]=h;c[u+20>>2]=g;MAa(192824,u)|0;g=fk[c[t>>2]&7]()|0;if(!g){g=-1;break}}l=x;return g|0}if(!(c[p>>2]|0)){h=c[v>>2]|0;b:do if(j)g=w&255;else{if((w|0)<1498831189)switch(w|0){case 844715353:{g=2;break b}default:{}}else switch(w|0){case 1498831189:{g=2;break b}default:{}}g=(w|0)==1431918169?2:1}while(0);j=N(g,h)|0;g=c[r>>2]|0;a=l;l=l+((1*j|0)+15&-16)|0;if((g+1|0)>>>0>=3){k=0-q|0;i=(g|0)/2|0;g=s+(N(g+-1|0,q)|0)|0;h=s;while(1){i=i+-1|0;uBa(a,h,j)|0;uBa(h,g,j)|0;uBa(g,a,j)|0;if(!i)break;else{g=g+k|0;h=h+q|0}}}}f=vBa(c[v>>2]|0,c[r>>2]|0,w,s,q,d,e,f)|0;iBa(s);l=x;return f|0}function eBa(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;b=a+320|0;e=c[b>>2]|0;f=c[e>>2]|0;if((c[56497]|0)!=(f|0)){c[e+268>>2]=0;if((JAa(c[a+188>>2]|0,f)|0)>=0){c[56497]=c[e>>2];XAa(a)|0;d=c[b>>2]|0;g=4}}else{d=e;g=4}if((g|0)==4?c[d+4>>2]|0:0){b=d+108|0;do{}while((fk[c[b>>2]&7]()|0)!=0)}jBa(c[a+188>>2]|0);return}function fBa(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;e=a+320|0;g=c[e>>2]|0;h=b+68|0;i=c[h>>2]|0;b=c[g>>2]|0;if((c[56497]|0)!=(b|0)){c[g+268>>2]=0;if((JAa(c[a+188>>2]|0,b)|0)>=0){c[56497]=c[g>>2];XAa(a)|0;d=c[e>>2]|0;f=4}}else{d=g;f=4}if((f|0)==4?c[d+4>>2]|0:0){b=d+108|0;do{}while((fk[c[b>>2]&7]()|0)!=0)}if(!i)return;a=g+64|0;Jk[c[a>>2]&1023](1,i);b=i+32|0;if(c[b>>2]|0)Jk[c[a>>2]&1023](1,b);b=i+36|0;if(c[b>>2]|0)Jk[c[a>>2]&1023](1,b);iBa(c[i+16>>2]|0);iBa(i);c[h>>2]=0;return}function gBa(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,h=0,i=0,j=0,k=0;h=a+320|0;k=c[h>>2]|0;i=c[b+68>>2]|0;b=c[k>>2]|0;if((c[56497]|0)!=(b|0)){c[k+268>>2]=0;if((JAa(c[a+188>>2]|0,b)|0)>=0){c[56497]=c[k>>2];XAa(a)|0;f=c[h>>2]|0;j=4}}else{f=k;j=4}if((j|0)==4?c[f+4>>2]|0:0){b=f+108|0;do{}while((fk[c[b>>2]&7]()|0)!=0)}Jk[c[k+28>>2]&1023](c[i+4>>2]|0,c[i>>2]|0);if(d|0)g[d>>2]=1.0;if(!e)return 0;g[e>>2]=1.0;return 0}function hBa(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;e=a+320|0;h=c[e>>2]|0;f=c[b+68>>2]|0;b=c[h>>2]|0;if((c[56497]|0)!=(b|0)){c[h+268>>2]=0;if((JAa(c[a+188>>2]|0,b)|0)>=0){c[56497]=c[h>>2];XAa(a)|0;d=c[e>>2]|0;g=4}}else{d=h;g=4}if((g|0)==4?c[d+4>>2]|0:0){b=d+108|0;do{}while((fk[c[b>>2]&7]()|0)!=0)}Jk[c[h+28>>2]&1023](c[f+4>>2]|0,0);return 0}function iBa(a){a=a|0;HNa(a);return}function jBa(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;g=l;l=l+32|0;f=g+24|0;e=g+16|0;d=g+8|0;b=c[56498]|0;if(!b){MAa(192981,g)|0;l=g;return}if(a|0?(c[a>>2]|0)==(b+280|0):0){if(!(c[a+48>>2]&2)){MAa(193022,e)|0;l=g;return}if((kBa(c[b+660>>2]|0)|0)==(a|0)){f=c[56498]|0;Jk[c[f+196>>2]&1023](f,a);l=g;return}else{MAa(193066,f)|0;l=g;return}}MAa(208472,d)|0;l=g;return}function kBa(a){a=a|0;var b=0;b=lBa()|0;if((a|0)==0|(b|0)==0){b=0;return b|0}if((c[b>>2]|0)>>>0<a>>>0){b=0;return b|0}b=c[b+4+(a+-1<<3)>>2]|0;return b|0}function lBa(){return mBa()|0}function mBa(){var a=0,b=0,d=0,e=0;e=l;l=l+16|0;a=e;b=nBa()|0;c[a>>2]=0;oBa(a);pBa(a);a=c[56499]|0;if(!a){d=0;l=e;return d|0}while(1){if((c[a>>2]|0)==(b|0))break;a=c[a+8>>2]|0;if(!a){a=0;d=6;break}}if((d|0)==6){l=e;return a|0}d=c[a+4>>2]|0;l=e;return d|0}function nBa(){return 0}function oBa(a){a=a|0;var b=0;b=c[a>>2]|0;c[a>>2]=1;if(!b)return;do{rBa(0);b=c[a>>2]|0;c[a>>2]=1}while((b|0)!=0);return}function pBa(a){a=a|0;c[a>>2]=0;return}function qBa(a){a=a|0;return 0}function rBa(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;f=l;l=l+16|0;b=f+8|0;d=f;g=(a>>>0)/1e3|0;c[b>>2]=g;e=b+4|0;c[e>>2]=(a-(g*1e3|0)|0)*1e6;a=d+4|0;while(1){c[(QNa()|0)>>2]=0;c[d>>2]=c[b>>2];c[a>>2]=c[e>>2];if(!(Ei(d|0,b|0)|0)){a=4;break}if((c[(QNa()|0)>>2]|0)!=4){a=4;break}}if((a|0)==4){l=f;return}}function sBa(a){a=a|0;return GNa(a)|0}function tBa(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;i=l;l=l+32|0;g=i+16|0;f=i+8|0;e=i;do if((a|0)!=0?(c[a>>2]|0)==231026:0){e=c[a+308>>2]|0;if(!e){e=c[a+8>>2]|0;if(e|0){e=lk[e&127](a,b,d)|0;break}e=c[a+188>>2]|0;if(!e){e=MAa(193656,g)|0;break}else{HFa(e,b,d);e=0;break}}if((c[e>>2]|0)!=231027){MAa(193640,f)|0;e=-1;break}if(b|0)c[b>>2]=c[e+12>>2];if(!d)e=0;else{c[d>>2]=c[e+16>>2];e=0}}else h=3;while(0);if((h|0)==3){MAa(193623,e)|0;e=-1}l=i;return e|0}function uBa(a,b,c){a=a|0;b=b|0;c=c|0;x2a(a|0,b|0,c|0)|0;return a|0}function vBa(a,b,d,e,f,g,h,i){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;x=l;l=l+448|0;q=x+32|0;n=x+24|0;m=x+16|0;k=x+8|0;j=x;u=x+380|0;v=x+320|0;o=x+276|0;r=x+232|0;p=x+144|0;s=x+56|0;t=x+40|0;if(!h){c[j>>2]=193210;i=MAa(208008,j)|0;l=x;return i|0}if(!i){c[k>>2]=193214;i=MAa(208008,k)|0;l=x;return i|0}j=(d|0)==0|(d&-268435456|0)==268435456;if((d|0)!=(g|0)){if(j?((d>>>24&15)+-1|0)>>>0<3:0){MAa(193252,n)|0;i=-1;l=x;return i|0}if((wBa(o,d)|0)<0){i=-1;l=x;return i|0}xBa(u,0,60)|0;c[u>>2]=1;m=u+4|0;c[m>>2]=o;c[u+20>>2]=e;c[u+8>>2]=a;c[u+12>>2]=b;c[u+16>>2]=f;xBa(p,0,88)|0;k=u+52|0;c[p+76>>2]=-1;c[k>>2]=p;c[u+56>>2]=1;if((g|0)==0|(g&-268435456|0)==268435456?((g>>>24&15)+-1|0)>>>0<3:0){MAa(193252,q)|0;i=-1;l=x;return i|0}if((wBa(r,g)|0)<0){i=-1;l=x;return i|0}xBa(v,0,60)|0;c[v>>2]=1;j=v+4|0;c[j>>2]=r;c[v+20>>2]=h;c[v+8>>2]=a;c[v+12>>2]=b;c[v+16>>2]=i;xBa(s,0,88)|0;c[s+76>>2]=-1;c[v+52>>2]=s;c[v+56>>2]=1;c[t>>2]=0;c[t+4>>2]=0;c[t+8>>2]=a;c[t+12>>2]=b;e=c[k>>2]|0;do if((c[e>>2]|0)==(v|0)){i=c[(c[j>>2]|0)+4>>2]|0;if(i|0?(c[e+80>>2]|0)!=(c[i+8>>2]|0):0){w=35;break}i=c[(c[m>>2]|0)+4>>2]|0;if((i|0)!=0?(c[e+84>>2]|0)!=(c[i+8>>2]|0):0)w=35}else w=35;while(0);do if((w|0)==35)if((yBa(u,v)|0)<0){i=-1;l=x;return i|0}else{e=c[k>>2]|0;break}while(0);i=mk[c[e+8>>2]&63](u,t,v,t)|0;l=x;return i|0}a:do if(j)j=d&255;else{b:do if((d|0)<844715353)if((d|0)<842094158)switch(d|0){case 825382478:{w=8;break b}default:break b}else switch(d|0){case 842094158:case 842094169:{w=8;break b}default:break b}else if((d|0)<1448433993)if((d|0)<1431918169)switch(d|0){case 844715353:{j=2;break a}default:break b}else switch(d|0){case 1431918169:{j=2;break a}default:break b}else if((d|0)<1498831189)switch(d|0){case 1448433993:{w=8;break b}default:break b}else switch(d|0){case 1498831189:{j=2;break a}default:break b}while(0);if((w|0)==8){j=1;break}i=MAa(193224,m)|0;l=x;return i|0}while(0);p=N(j,a)|0;if(b){o=N(f,b)|0;n=N(i,b)|0;j=b;k=h;m=e;while(1){j=j+-1|0;uBa(k,m,p)|0;if(!j)break;else{k=k+i|0;m=m+f|0}}h=h+n|0;e=e+o|0}if((d|0)<842094169){c:do if((d|0)<842094158){switch(d|0){case 825382478:break c;default:e=0}l=x;return e|0}else{switch(d|0){case 842094158:break c;default:e=0}l=x;return e|0}while(0);if((b+1|0)>>>0<3){i=0;l=x;return i|0}j=(b|0)/2|0;while(1){j=j+-1|0;uBa(h,e,p)|0;if(!j){e=0;break}else{h=h+i|0;e=e+f|0}}l=x;return e|0}else{d:do if((d|0)<1448433993){switch(d|0){case 842094169:break d;default:e=0}l=x;return e|0}else{switch(d|0){case 1448433993:break d;default:e=0}l=x;return e|0}while(0);n=(p|0)/2|0;m=(f|0)/2|0;k=(i|0)/2|0;if((b+1|0)>>>0<3){i=0;l=x;return i|0}j=h;h=e;e=((b|0)/2|0)<<1;while(1){e=e+-1|0;uBa(j,h,n)|0;if(!e){e=0;break}else{j=j+k|0;h=h+m|0}}l=x;return e|0}return 0}function wBa(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0;m=l;l=l+32|0;e=m+16|0;f=m+12|0;i=m+8|0;j=m+4|0;k=m;if(!(GFa(d,e,f,i,j,k)|0)){b=-1;l=m;return b|0}xBa(b,0,44)|0;c[b>>2]=d;d=c[e>>2]|0;a[b+8>>0]=d;a[b+9>>0]=(d+7|0)/8|0;d=c[f>>2]|0;c[b+12>>2]=d;g=b+32|0;a[g>>0]=0;h=b+28|0;a[h>>0]=8;do if(d|0){if(!(d&1)){e=0;while(1){e=e+1<<24>>24;f=d>>>1;if(d&2|0)break;else d=f}a[g>>0]=e;if(!(d&2))break;else d=f}e=8;while(1){e=e+-1<<24>>24;if(!(d&2))break;else d=d>>>1}a[h>>0]=e}while(0);d=c[i>>2]|0;c[b+16>>2]=d;g=b+33|0;a[g>>0]=0;h=b+29|0;a[h>>0]=8;do if(d|0){if(!(d&1)){e=0;while(1){e=e+1<<24>>24;f=d>>>1;if(d&2|0)break;else d=f}a[g>>0]=e;if(!(d&2))break;else d=f}e=8;while(1){e=e+-1<<24>>24;if(!(d&2))break;else d=d>>>1}a[h>>0]=e}while(0);d=c[j>>2]|0;c[b+20>>2]=d;g=b+34|0;a[g>>0]=0;h=b+30|0;a[h>>0]=8;do if(d|0){if(!(d&1)){e=0;while(1){e=e+1<<24>>24;f=d>>>1;if(d&2|0)break;else d=f}a[g>>0]=e;if(!(d&2))break;else d=f}e=8;while(1){e=e+-1<<24>>24;if(!(d&2))break;else d=d>>>1}a[h>>0]=e}while(0);d=c[k>>2]|0;c[b+24>>2]=d;g=b+35|0;a[g>>0]=0;h=b+31|0;a[h>>0]=8;do if(d|0){if(!(d&1)){e=0;while(1){e=e+1<<24>>24;f=d>>>1;if(d&2|0)break;else d=f}a[g>>0]=e;if(!(d&2))break;else d=f}e=8;while(1){e=e+-1<<24>>24;if(!(d&2))break;else d=d>>>1}a[h>>0]=e}while(0);c[b+4>>2]=0;c[b+36>>2]=1;c[b+40>>2]=0;b=0;l=m;return b|0}function xBa(a,b,c){a=a|0;b=b|0;c=c|0;z2a(a|0,b&255|0,c|0)|0;return a|0}function yBa(e,f){e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0;G=l;l=l+1040|0;j=G+1024|0;k=G;h=e+52|0;F=c[h>>2]|0;if(c[e>>2]&2|0)zBa(e,1);if(F|0){g=c[F>>2]|0;if(g|0?(D=g+56|0,E=c[D>>2]|0,c[D>>2]=E+-1,(E|0)<2):0)ABa(g);c[F>>2]=0;c[F+84>>2]=0;c[F+80>>2]=0;E=F+64|0;iBa(c[E>>2]|0);c[E>>2]=0}i=F+4|0;c[i>>2]=0;E=c[e+4>>2]|0;D=c[f+4>>2]|0;C=c[E>>2]|0;do if((C|0)==0|(C&-268435456|0)==268435456?((C>>>24&15)+-1|0)>>>0<3:0){C=c[D>>2]|0;if((C|0)==0|(C&-268435456|0)==268435456?((C>>>24&15)+-1|0)>>>0<3:0){C=BBa(c[E+4>>2]|0,c[D+4>>2]|0,i)|0;c[F+64>>2]=C;if((C|0)==0&(c[i>>2]|0)==0){F=-1;l=G;return F|0}if((a[E+8>>0]|0)==(a[D+8>>0]|0)){g=35;break}c[i>>2]=0;g=35;break}j=c[h>>2]|0;g=a[j+76>>0]|0;h=a[j+77>>0]|0;i=a[j+78>>0]|0;j=a[j+79>>0]|0;y=c[E+4>>2]|0;z=D+9|0;C=a[z>>0]|0;C=C<<24>>24==3?4:C&255;A=sBa(N(C,c[y>>2]|0)|0)|0;if(!A){GAa(0)|0;c[F+64>>2]=0;F=-1;l=G;return F|0}if((c[y>>2]|0)<=0){c[F+64>>2]=A;g=35;break}B=y+4|0;x=g&255;w=h&255;v=i&255;i=j&255;j=D+28|0;k=D+32|0;m=D+29|0;n=D+33|0;o=D+30|0;p=D+34|0;q=D+31|0;r=D+35|0;g=0;do{h=c[B>>2]|0;s=((N(d[h+(g<<2)>>0]|0,x)|0)>>>0)/255|0;t=((N(d[h+(g<<2)+1>>0]|0,w)|0)>>>0)/255|0;u=((N(d[h+(g<<2)+2>>0]|0,v)|0)>>>0)/255|0;h=((N(d[h+(g<<2)+3>>0]|0,i)|0)>>>0)/255|0;switch(a[z>>0]|0){case 1:{a[A+(N(g,C)|0)>>0]=(t&255)>>>(d[m>>0]|0)<<d[n>>0]|(s&255)>>>(d[j>>0]|0)<<d[k>>0]|(u&255)>>>(d[o>>0]|0)<<d[p>>0]|(h&255)>>>(d[q>>0]|0)<<d[r>>0];break}case 2:{b[A+(N(g,C)|0)>>1]=(t&255)>>>(d[m>>0]|0)<<d[n>>0]|(s&255)>>>(d[j>>0]|0)<<d[k>>0]|(u&255)>>>(d[o>>0]|0)<<d[p>>0]|(h&255)>>>(d[q>>0]|0)<<d[r>>0];break}case 3:{h=A+(N(g,C)|0)|0;a[h+((d[k>>0]|0)>>>3&255)>>0]=s;a[h+((d[n>>0]|0)>>>3&255)>>0]=t;a[h+((d[p>>0]|0)>>>3&255)>>0]=u;break}case 4:{c[A+(N(g,C)|0)>>2]=(t&255)>>>(d[m>>0]|0)<<d[n>>0]|(s&255)>>>(d[j>>0]|0)<<d[k>>0]|(u&255)>>>(d[o>>0]|0)<<d[p>>0]|(h&255)>>>(d[q>>0]|0)<<d[r>>0];break}default:{}}g=g+1|0}while((g|0)<(c[y>>2]|0));c[F+64>>2]=A;g=36}else g=27;while(0);do if((g|0)==27){C=c[D>>2]|0;if((C|0)==0|(C&-268435456|0)==268435456?((C>>>24&15)+-1|0)>>>0<3:0){h=c[D+4>>2]|0;c[j>>2]=256;g=0;do{C=g&224;a[k+(g<<2)>>0]=C>>>6|C|C>>>3;C=g<<3&224;a[k+(g<<2)+1>>0]=C>>>6|C|C>>>3;C=g&3;C=C<<2|C;a[k+(g<<2)+2>>0]=C<<4|C;a[k+(g<<2)+3>>0]=-1;g=g+1|0}while((g|0)!=256);c[j+4>>2]=k;C=BBa(j,h,i)|0;c[F+64>>2]=C;if((C|0)==0&(c[i>>2]|0)==0){F=-1;l=G;return F|0}else{c[i>>2]=0;g=36;break}}if((E|0)==(D|0)){c[i>>2]=1;g=35}else g=35}while(0);if((g|0)==35){c[F>>2]=f;g=37}else if((g|0)==36?(c[F>>2]=f,f|0):0)g=37;if((g|0)==37){f=f+56|0;c[f>>2]=(c[f>>2]|0)+1}g=c[D+4>>2]|0;if(!g)g=0;else g=c[g+8>>2]|0;c[F+80>>2]=g;g=c[E+4>>2]|0;if(!g)g=0;else g=c[g+8>>2]|0;c[F+84>>2]=g;F=CBa(e)|0;l=G;return F|0}function zBa(f,g){f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;s=l;l=l+16|0;i=s;h=c[f>>2]|0;if(!(h&2)){l=s;return}c[f>>2]=h&-3;r=f+52|0;a:do if((g|0)!=0&(h&1|0)==0){g=c[r>>2]|0;if(c[g+68>>2]&8192|0){g=f+12|0;q=sBa(N(c[f+16>>2]|0,c[g>>2]|0)|0)|0;c[f+20>>2]=q;if(q|0){BFa(f,0,c[(c[r>>2]|0)+72>>2]|0)|0;c[i+4>>2]=0;c[i>>2]=0;c[i+8>>2]=c[f+8>>2];c[i+12>>2]=c[g>>2];pFa(f,i,f,i)|0;break}c[f>>2]=c[f>>2]|2;l=s;return}q=c[f+4>>2]|0;k=c[g+12>>2]|0;m=c[f+8>>2]|0;j=(a[k>>0]|0)==2;o=j?33:32;p=j?34:32;g=f+12|0;n=f+16|0;h=sBa(N(c[n>>2]|0,c[g>>2]|0)|0)|0;i=f+20|0;c[i>>2]=h;if(!h){c[f>>2]=c[f>>2]|2;l=s;return}xBa(h,0,N(c[n>>2]|0,c[g>>2]|0)|0)|0;h=c[i>>2]|0;g=k+28|0;if(j){f=h;while(1){h=0;do{t=a[g+1>>0]|0;i=t&255;j=g+2|0;g=h+(d[g>>0]|0)|0;if(!(t<<24>>24))if(!g)break a;else{h=g;g=j}else{h=g+i|0;g=j+(pk[o&63](f+(g<<2)|0,j,i,k,q)|0)|0}}while((h|0)<(m|0));h=0;g=g+(g&2)|0;do{i=h+(e[g>>1]|0)|0;t=b[g+2>>1]|0;j=t&65535;g=g+4|0;if(!(t<<16>>16))h=i;else{h=i+j|0;g=g+(pk[p&63](f+(i<<2)|0,g,j,k,q)|0)|0}}while((h|0)<(m|0));f=f+(c[n>>2]>>2<<2)|0}}else{f=h;while(1){h=0;do{t=b[g+2>>1]|0;i=t&65535;j=g+4|0;g=h+(e[g>>1]|0)|0;if(!(t<<16>>16))if(!g)break a;else{h=g;g=j}else{h=g+i|0;g=j+(pk[o&63](f+(g<<2)|0,j,i,k,q)|0)|0}}while((h|0)<(m|0));h=0;do{i=h+(e[g>>1]|0)|0;t=b[g+2>>1]|0;j=t&65535;g=g+4|0;if(!(t<<16>>16))h=i;else{h=i+j|0;g=g+(pk[p&63](f+(i<<2)|0,g,j,k,q)|0)|0}}while((h|0)<(m|0));f=f+(c[n>>2]>>2<<2)|0}}}while(0);t=c[r>>2]|0;q=t+68|0;c[q>>2]=c[q>>2]&-24577;iBa(c[t+12>>2]|0);c[(c[r>>2]|0)+12>>2]=0;l=s;return}function ABa(a){a=a|0;var b=0,d=0,e=0;if(!a)return;b=c[a>>2]|0;if(b&4|0)return;d=a+56|0;e=c[d>>2]|0;c[d>>2]=e+-1;if((e|0)>1)return;e=a+28|0;d=c[e>>2]|0;if((d|0)>0){while(1){b=d+-1|0;c[e>>2]=b;if((d|0)==1){b=c[a>>2]|0;if(!(b&2))break;c[a>>2]=b&-3;EBa(a)|0;b=c[e>>2]|0}if((b|0)>0)d=b;else break}b=c[a>>2]|0}if(b&2|0)zBa(a,0);b=a+4|0;d=c[b>>2]|0;if(d|0){if((yFa(d,0)|0)>=0)SBa(c[a+52>>2]|0);zFa(c[b>>2]|0);c[b>>2]=0}b=a+52|0;d=c[b>>2]|0;if(d|0){AFa(d);c[b>>2]=0}if(!(c[a>>2]&1))iBa(c[a+20>>2]|0);iBa(a);return}function BBa(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;if(f|0){g=c[b>>2]|0;do if((g|0)<=(c[e>>2]|0)){if((b|0)!=(e|0)?xFa(c[b+4>>2]|0,c[e+4>>2]|0,g<<2)|0:0)break;c[f>>2]=1;e=0;return e|0}while(0);c[f>>2]=0}f=sBa(c[b>>2]|0)|0;if(!f){GAa(0)|0;e=0;return e|0}if((c[b>>2]|0)<=0){e=f;return e|0}r=b+4|0;s=e+4|0;q=0;do{g=c[r>>2]|0;l=c[e>>2]|0;a:do if((l|0)>0){m=c[s>>2]|0;n=d[g+(q<<2)>>0]|0;o=d[g+(q<<2)+1>>0]|0;p=d[g+(q<<2)+2>>0]|0;k=d[g+(q<<2)+3>>0]|0;j=0;h=-1;g=0;do{u=(d[m+(j<<2)>>0]|0)-n|0;v=(d[m+(j<<2)+1>>0]|0)-o|0;t=(d[m+(j<<2)+2>>0]|0)-p|0;i=(d[m+(j<<2)+3>>0]|0)-k|0;i=(N(v,v)|0)+(N(u,u)|0)+(N(t,t)|0)+(N(i,i)|0)|0;if(i>>>0<h>>>0){g=j&255;if(!i)break a;else h=i}j=j+1|0}while((j|0)<(l|0))}else g=0;while(0);a[f+q>>0]=g;q=q+1|0}while((q|0)<(c[b>>2]|0));return f|0}function CBa(b){b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0;q=l;l=l+16|0;o=q+8|0;k=q;p=c[b+52>>2]|0;e=c[p>>2]|0;if(c[b>>2]&2|0)zBa(b,1);c[p+8>>2]=20;n=b+4|0;c[p+56>>2]=c[n>>2];c[p+28>>2]=c[b+16>>2];m=e+4|0;c[p+60>>2]=c[m>>2];c[p+48>>2]=c[e+16>>2];h=p+68|0;if(c[h>>2]&4096|0?(EBa(b)|0)==0:0){p=0;l=q;return p|0}if((c[p+4>>2]|0)!=0?(c[h>>2]&-4097|0)==0:0)e=1083;else i=7;a:do if((i|0)==7){e=c[n>>2]|0;if(((d[e+8>>0]|0)<8?(f=c[e>>2]|0,(f|0)==0|(f&-268435456|0)==268435456):0)?((f>>>24&15)+-1|0)>>>0<3:0)e=FBa(b)|0;else i=11;do if((i|0)==11){if(((a[e+9>>0]|0)==1?(g=c[e>>2]|0,(g|0)==0|(g&-268435456|0)==268435456):0)?((g>>>24&15)+-1|0)>>>0<3:0){e=GBa(b)|0;break}if(!(c[h>>2]&16)){e=IBa(b)|0;break}else{e=HBa(b)|0;break}}while(0);if(!e){i=c[c[n>>2]>>2]|0;j=c[c[m>>2]>>2]|0;b=c[h>>2]|0;do if((c[26457]|0)==-1){e=JBa(193288)|0;c[26457]=0;if(e|0){c[k>>2]=105828;KBa(e,193310,k)|0;break}if(LBa()|0)c[26457]=c[26457]|1;if(MBa()|0)c[26457]=c[26457]|2;if(NBa()|0)c[26457]=c[26457]|4;if(OBa()|0)c[26457]=c[26457]|8;if(PBa()|0)c[26457]=c[26457]|16}while(0);if(834){g=c[26457]|0;f=b&883;b=0;e=834;do{if((((c[13568+(b*20|0)>>2]|0)==(i|0)?(c[13568+(b*20|0)+4>>2]|0)==(j|0):0)?(c[13568+(b*20|0)+8>>2]&f|0)==(f|0):0)?(k=c[13568+(b*20|0)+12>>2]|0,(k&g|0)==(k|0)):0)break a;b=b+1|0;e=c[13568+(b*20|0)+16>>2]|0}while((e|0)!=0)}k=c[c[n>>2]>>2]|0;n=c[c[m>>2]>>2]|0;if((((k|0)==0|(k&-268435456|0)==268435456?((k>>>24&15)+-1|0)>>>0>=3:0)?(n|0)==0|(n&-268435456|0)==268435456:0)?((n>>>24&15)+-1|0)>>>0>=3:0){c[p+12>>2]=1082;p=0;l=q;return p|0}c[p+12>>2]=0;SBa(p);p=MAa(193313,o)|0;l=q;return p|0}}while(0);c[p+12>>2]=e;p=0;l=q;return p|0}function DBa(a,b,e,f){a=a|0;b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;if(!(c[e>>2]&2)){h=1;k=0}else{k=(rFa(e)|0)>>>31^1;h=k}if(c[a>>2]&2)if((rFa(a)|0)<0){g=0;h=-1}else{g=1;l=5}else{g=0;l=5}if((l|0)==5)if(h)if(((b|0)!=0?(i=c[b+8>>2]|0,(i|0)>=1):0)?(j=c[b+12>>2]|0,(j|0)>0):0){l=c[a+52>>2]|0;h=l+16|0;n=c[a+16>>2]|0;o=(c[a+20>>2]|0)+(N(c[b+4>>2]&65535,n)|0)|0;m=d[(c[l+56>>2]|0)+9>>0]|0;c[h>>2]=o+(N(c[b>>2]&65535,m)|0);c[l+20>>2]=i;c[l+24>>2]=j;c[l+28>>2]=n;c[l+32>>2]=n-(N(i,m)|0);b=c[e+16>>2]|0;i=(c[e+20>>2]|0)+(N(c[f+4>>2]&65535,b)|0)|0;j=d[(c[l+60>>2]|0)+9>>0]|0;c[l+36>>2]=i+(N(c[f>>2]&65535,j)|0);i=c[f+8>>2]|0;c[l+40>>2]=i;c[l+44>>2]=c[f+12>>2];c[l+48>>2]=b;c[l+52>>2]=b-(N(i,j)|0);Bk[c[l+12>>2]&2047](h);h=0}else h=0;else h=-1;if(k|0)sFa(e);if(!g)return h|0;sFa(a);return h|0}function EBa(e){e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;if(c[e>>2]&2|0)zBa(e,1);m=e+4|0;i=c[m>>2]|0;j=a[i+8>>0]|0;if((j&255)<8){e=-1;return e|0}B=e+20|0;if(!(c[B>>2]|0)){e=-1;return e|0}C=e+52|0;g=c[C>>2]|0;h=c[g+68>>2]|0;if(!((h&272|0)!=0&(h&1|0)==0)){e=-1;return e|0}do if(!(h&2))if(!(h&608)){f=c[i+24>>2]|0;break}else{e=-1;return e|0}else{f=c[i+24>>2]|0;if(h&608|f){e=-1;return e|0}}while(0);do if((h&16|0)==0|(f|0)==0){if(!(c[g+4>>2]|0)){e=-1;return e|0}g=a[i+9>>0]|0;z=g&255;switch(g<<24>>24){case 1:{f=(N((c[e+12>>2]|0)*3|0,((c[e+8>>2]|0)/2|0)+1|0)|0)+2|0;break}case 3:case 2:{f=c[e+8>>2]|0;f=(N((N(f,z)|0)+2+(((f|0)/255|0)<<1)|0,c[e+12>>2]|0)|0)+2|0;break}case 4:{f=c[e+8>>2]|0;f=(N((((f|0)/65535|0)+f<<2)+4|0,c[e+12>>2]|0)|0)+4|0;break}default:f=0}A=sBa(f)|0;if(!A)if((GAa(0)|0)<0){e=-1;return e|0}else{h=8192;f=c[C>>2]|0;g=21;break}y=g<<24>>24==4;x=y?65535:255;q=~c[(c[m>>2]|0)+24>>2];r=c[(c[C>>2]|0)+72>>2]&q;s=c[25424+(z+-1<<2)>>2]|0;t=c[e+8>>2]|0;u=c[e+12>>2]|0;if((u|0)>0){v=x&65535;w=e+16|0;f=A;o=0;p=c[B>>2]|0;g=A;while(1){n=0;j=0;while(1){a:do if((j|0)<(t|0)){h=j;do{m=p+(N(h,z)|0)|0;if(((gk[s&1023](m)|0)&q|0)!=(r|0))break a;h=h+1|0}while((h|0)<(t|0))}else h=j;while(0);b:do if((h|0)<(t|0)){i=h;while(1){m=p+(N(i,z)|0)|0;if(((gk[s&1023](m)|0)&q|0)==(r|0)){m=1;break b}i=i+1|0;if((i|0)>=(t|0)){m=0;break}}}else{i=h;m=0}while(0);j=h-j|0;n=(j|0)==(t|0)?1:n;k=i-h|0;if((j|0)>(x|0))if(y)do{b[f>>1]=v;b[f+2>>1]=0;f=f+4|0;j=j-x|0}while((j|0)>(x|0));else do{a[f>>0]=-1;a[f+1>>0]=0;f=f+2|0;j=j-x|0}while((j|0)>(x|0));l=(k|0)<(x|0)?k:x;if(y){b[f>>1]=j;b[f+2>>1]=l;j=4}else{a[f>>0]=j;a[f+1>>0]=l;j=2}j=f+j|0;f=N(l,z)|0;uBa(j,p+(N(h,z)|0)|0,f)|0;f=j+f|0;k=k-l|0;h=l+h|0;if(k)if(y)while(1){j=(k|0)<(x|0)?k:x;b[f>>1]=0;b[f+2>>1]=j;l=f+4|0;f=N(j,z)|0;uBa(l,p+(N(h,z)|0)|0,f)|0;f=l+f|0;k=k-j|0;if(!k)break;else h=j+h|0}else while(1){j=(k|0)<(x|0)?k:x;a[f>>0]=0;a[f+1>>0]=j;l=f+2|0;f=N(j,z)|0;uBa(l,p+(N(h,z)|0)|0,f)|0;f=l+f|0;k=k-j|0;if(!k)break;else h=j+h|0}g=(n|0)==0?f:g;if(!m)break;else j=i}o=o+1|0;if((o|0)==(u|0))break;else p=p+(c[w>>2]|0)|0}}else g=A;if(y){b[g>>1]=0;b[g+2>>1]=0;f=4}else{a[g>>0]=0;a[g+1>>0]=0;f=2}if(!(c[e>>2]&1)){iBa(c[B>>2]|0);c[B>>2]=0}h=kFa(A,g+f-A|0)|0;f=c[C>>2]|0;c[f+12>>2]=(h|0)==0?A:h;h=8192;g=21}else{f=c[g>>2]|0;if(!f){e=-1;return e|0}z=c[f+4>>2]|0;if(j<<24>>24!=32){e=-1;return e|0}j=z+12|0;f=c[j>>2]|0;k=z+16|0;g=c[k>>2]|0;l=z+20|0;h=c[l>>2]|0;i=g|f|h;A=z+9|0;c:do switch(a[A>>0]|0){case 2:{if((i|0)<65535){switch(i|0){case 32767:break;default:{e=-1;return e|0}}if((f|0)==992|(g|0)==992|(h|0)==992)f=36;else{e=-1;return e|0}}else{switch(i|0){case 65535:break;default:{e=-1;return e|0}}if((f|0)==2016|(g|0)==2016|(h|0)==2016)f=35;else{e=-1;return e|0}}g=(N(((c[e+8>>2]|0)*6|0)+8|0,c[e+12>>2]|0)|0)+2|0;w=f;x=37;break}case 4:if((i|0)==16777215){g=N(c[e+12>>2]<<3,(c[e+8>>2]|0)+1|0)|0|4;w=38;x=38;break c}else{e=-1;return e|0}default:{e=-1;return e|0}}while(0);y=sBa(g+28|0)|0;if(!y)if((GAa(0)|0)<0){e=-1;return e|0}else{h=16384;f=c[C>>2]|0;g=22;break}f=a[A>>0]|0;a[y>>0]=f;c[y+4>>2]=c[j>>2];c[y+8>>2]=c[k>>2];c[y+12>>2]=c[l>>2];c[y+16>>2]=c[z+24>>2];a[y+20>>0]=a[z+28>>0]|0;a[y+21>>0]=a[z+29>>0]|0;a[y+22>>0]=a[z+30>>0]|0;a[y+23>>0]=a[z+31>>0]|0;a[y+24>>0]=a[z+32>>0]|0;a[y+25>>0]=a[z+33>>0]|0;a[y+26>>0]=a[z+34>>0]|0;a[y+27>>0]=a[z+35>>0]|0;h=y+28|0;u=c[e+12>>2]|0;v=c[e+8>>2]|0;t=c[m>>2]|0;if((u|0)>0){q=t+24|0;r=t+35|0;s=e+16|0;g=h;o=c[B>>2]|0;p=0;f=h;while(1){n=0;l=0;while(1){d:do if((l|0)<(v|0)){i=c[q>>2]|0;j=d[r>>0]|0;h=l;do{if(((c[o+(h<<2)>>2]&i)>>>j|0)==255)break d;h=h+1|0}while((h|0)<(v|0))}else h=l;while(0);e:do if((h|0)<(v|0)){j=c[q>>2]|0;k=d[r>>0]|0;i=h;while(1){if(((c[o+(i<<2)>>2]&j)>>>k|0)!=255){m=1;break e}i=i+1|0;if((i|0)>=(v|0)){m=0;break}}}else{i=h;m=0}while(0);j=h-l|0;n=(j|0)==(v|0)?1:n;l=i-h|0;if((j|0)>255){k=j;while(1){if((a[A>>0]|0)==4){b[f>>1]=255;b[f+2>>1]=0;j=4}else{a[f>>0]=-1;a[f+1>>0]=0;j=2}f=f+j|0;j=k+-255|0;if((k|0)>510)k=j;else break}}k=(l|0)<255?l:255;if((a[A>>0]|0)==4){b[f>>1]=j;b[f+2>>1]=k;j=4}else{a[f>>0]=j;a[f+1>>0]=k;j=2}f=f+j|0;f=f+(pk[x&63](f,o+(h<<2)|0,k,t,z)|0)|0;j=l-k|0;if(j){l=k+h|0;while(1){k=(j|0)<255?j:255;if((a[A>>0]|0)==4){b[f>>1]=0;b[f+2>>1]=k;h=4}else{a[f>>0]=0;a[f+1>>0]=k;h=2}f=f+h|0;f=f+(pk[x&63](f,o+(l<<2)|0,k,t,z)|0)|0;j=j-k|0;if(!j)break;else l=k+l|0}}if(!m)break;else l=i}l=0;f=f+(f&2)|0;while(1){f:do if((l|0)<(v|0)){i=c[q>>2]|0;j=d[r>>0]|0;h=l;do{if((((c[o+(h<<2)>>2]&i)>>>j)+-1|0)>>>0<=253)break f;h=h+1|0}while((h|0)<(v|0))}else h=l;while(0);g:do if((h|0)<(v|0)){j=c[q>>2]|0;k=d[r>>0]|0;i=h;while(1){if((((c[o+(i<<2)>>2]&j)>>>k)+-1|0)>>>0>=254){m=1;break g}i=i+1|0;if((i|0)>=(v|0)){m=0;break}}}else{i=h;m=0}while(0);j=h-l|0;n=n&(j|0)==(v|0);l=i-h|0;if((j|0)>65535){k=j;while(1){b[f>>1]=-1;b[f+2>>1]=0;f=f+4|0;j=k+-65535|0;if((k|0)>131070)k=j;else break}}k=(l|0)<65535?l:65535;b[f>>1]=j;b[f+2>>1]=k;f=f+4|0;f=f+(pk[w&63](f,o+(h<<2)|0,k,t,z)|0)|0;j=l-k|0;if(j){k=k+h|0;while(1){h=(j|0)<65535?j:65535;b[f>>1]=0;b[f+2>>1]=h;f=f+4|0;f=f+(pk[w&63](f,o+(k<<2)|0,h,t,z)|0)|0;j=j-h|0;if(!j)break;else k=h+k|0}}g=(n|0)==0?f:g;if(!m)break;else l=i}p=p+1|0;if((p|0)==(u|0))break;else o=o+(c[s>>2]>>2<<2)|0}f=a[A>>0]|0}else g=h;if(f<<24>>24==4){b[g>>1]=0;b[g+2>>1]=0;f=4}else{a[g>>0]=0;a[g+1>>0]=0;f=2}if(!(c[e>>2]&1)){iBa(c[B>>2]|0);c[B>>2]=0}h=kFa(y,g+f-y|0)|0;f=c[C>>2]|0;c[f+12>>2]=(h|0)==0?y:h;h=16384;g=22}while(0);c[f+8>>2]=g;C=f+68|0;c[C>>2]=c[C>>2]|h;c[e>>2]=c[e>>2]|2;e=0;return e|0}function FBa(b){b=b|0;var e=0;if((a[(c[b+4>>2]|0)+8>>0]|0)!=1){e=0;return e|0}e=c[b+52>>2]|0;b=c[(c[e>>2]|0)+4>>2]|0;if((d[b+8>>0]|0)<8)b=0;else b=d[b+9>>0]|0;switch(c[e+68>>2]&-28673|0){case 0:{e=c[25360+(b<<2)>>2]|0;return e|0}case 256:{e=c[25392+(b<<2)>>2]|0;return e|0}case 18:{e=b>>>0>1?1084:0;return e|0}case 274:{e=b>>>0>1?1085:0;return e|0}default:{e=0;return e|0}}return 0}function GBa(a){a=a|0;var b=0;b=c[a+52>>2]|0;a=c[(c[b>>2]|0)+4>>2]|0;if((d[a+8>>0]|0)<8)a=0;else a=d[a+9>>0]|0;switch(c[b+68>>2]&-28673|0){case 0:{b=c[25296+(a<<2)>>2]|0;return b|0}case 256:{b=c[25328+(a<<2)>>2]|0;return b|0}case 18:{b=a>>>0>1?1086:0;return b|0}case 274:{b=a>>>0>1?1087:0;return b|0}default:{b=0;return b|0}}return 0}function HBa(b){b=b|0;var d=0,e=0,f=0,g=0;e=c[b+4>>2]|0;b=c[b+52>>2]|0;d=c[(c[b>>2]|0)+4>>2]|0;switch(c[b+68>>2]&-28673|0){case 16:switch(a[d+9>>0]|0){case 2:{if((a[e+9>>0]|0)!=4){g=1088;return g|0}if((c[e+24>>2]|0)!=-16777216){g=1088;return g|0}if((c[e+16>>2]|0)!=65280){g=1088;return g|0}if(!((c[e+12>>2]|0)==255?(c[d+12>>2]|0)==31:0)){if((c[e+20>>2]|0)!=255){g=1088;return g|0}if((c[d+20>>2]|0)!=31){g=1088;return g|0}}g=c[d+16>>2]|0;g=(g|0)==2016?1090:(g|0)==992?1089:1088;return g|0}case 4:{if(((((c[e+12>>2]|0)==(c[d+12>>2]|0)?(c[e+16>>2]|0)==(c[d+16>>2]|0):0)?(c[e+20>>2]|0)==(c[d+20>>2]|0):0)?(a[e+9>>0]|0)==4:0)?(c[e+24>>2]|0)==-16777216:0){g=1097;return g|0}g=1088;return g|0}case 1:{g=1096;return g|0}default:{g=1088;return g|0}}case 18:{if(c[e+24>>2]|0){g=0;return g|0}switch(a[d+9>>0]|0){case 2:{if(!(c[b+4>>2]|0)){g=1091;return g|0}g=c[d+16>>2]|0;g=(g|0)==2016?1093:(g|0)==992?1092:1091;return g|0}case 4:{b=c[e+12>>2]|0;if(((((b|0)==(c[d+12>>2]|0)?(f=c[e+16>>2]|0,(f|0)==(c[d+16>>2]|0)):0)?(g=c[e+20>>2]|0,(g|0)==(c[d+20>>2]|0)):0)?(a[e+9>>0]|0)==4:0)?(f|b|g|0)==16777215:0){g=1099;return g|0}g=1091;return g|0}case 1:{g=1098;return g|0}default:{g=1091;return g|0}}}case 274:{if(c[e+24>>2]|0){g=0;return g|0}g=(a[d+9>>0]|0)==1?1095:1094;return g|0}default:{g=0;return g|0}}return 0}function IBa(b){b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;r=c[b+4>>2]|0;b=c[b+52>>2]|0;q=c[(c[b>>2]|0)+4>>2]|0;e=a[q+8>>0]|0;if((e&255)<8){r=0;return r|0}switch(c[b+68>>2]&-28673|0){case 0:{if(e<<24>>24==8){a:do if((a[r+9>>0]|0)==4){b=c[r+12>>2]|0;if((b|0)<1072693248){switch(b|0){case 16711680:break;default:break a}if((c[r+16>>2]|0)!=65280)break;if((c[r+20>>2]|0)==255)b=1102;else break;return b|0}else{switch(b|0){case 1072693248:break;default:break a}if((c[r+16>>2]|0)!=1047552)break;if((c[r+20>>2]|0)==1023)b=1103;else break;return b|0}}while(0);r=1104;return r|0}o=q+24|0;if(!(c[o>>2]|0))n=1;else n=(c[r+24>>2]|0)==0?2:4;p=r+9|0;m=c[16656+((d[p>>0]|0)+-1<<2)>>2]|0;e=c[m+12>>2]|0;b:do if(!e)b=0;else{f=r+12|0;g=r+16|0;h=r+20|0;i=q+12|0;j=q+16|0;k=q+20|0;l=q+9|0;b=0;do{s=c[m+(b*40|0)>>2]|0;if((((((((((s|0)==0?1:(c[f>>2]|0)==(s|0))?(s=c[m+(b*40|0)+4>>2]|0,(s|0)==0?1:(c[g>>2]|0)==(s|0)):0)?(s=c[m+(b*40|0)+8>>2]|0,(s|0)==0?1:(c[h>>2]|0)==(s|0)):0)?(s=c[m+(b*40|0)+16>>2]|0,(s|0)==0?1:(c[i>>2]|0)==(s|0)):0)?(s=c[m+(b*40|0)+20>>2]|0,(s|0)==0?1:(c[j>>2]|0)==(s|0)):0)?(s=c[m+(b*40|0)+24>>2]|0,(s|0)==0?1:(c[k>>2]|0)==(s|0)):0)?(e|0)==(d[l>>0]|0):0)?(c[m+(b*40|0)+36>>2]&n|0)==(n|0):0)?(s=m+(b*40|0)+28|0,e=c[s>>2]|0,e=e&(LBa()|0)!=0,(e|0)==(c[s>>2]|0)):0)break b;b=b+1|0;e=c[m+(b*40|0)+12>>2]|0}while((e|0)!=0)}while(0);b=c[m+(b*40|0)+32>>2]|0;if((b|0)!=960){s=b;return s|0}if((c[r>>2]|0)==372711428){s=1105;return s|0}if((c[q>>2]|0)==372711428){s=1106;return s|0}if((a[p>>0]|0)!=4){s=(n|0)==4;s=s?1100:960;return s|0}if((a[q+9>>0]|0)!=4){s=(n|0)==4;s=s?1100:960;return s|0}if((c[r+12>>2]|0)!=(c[q+12>>2]|0)){s=(n|0)==4;s=s?1100:960;return s|0}if((c[r+16>>2]|0)!=(c[q+16>>2]|0)){s=(n|0)==4;s=s?1100:960;return s|0}if((c[r+20>>2]|0)!=(c[q+20>>2]|0)){s=(n|0)==4;s=s?1100:960;return s|0}if((n|0)!=4){s=1107;return s|0}s=(c[r+24>>2]|0)==(c[o>>2]|0)?1101:1100;return s|0}case 256:{if((a[r+9>>0]|0)==2?c[b+4>>2]|0:0){s=1108;return s|0}if((a[q+9>>0]|0)==1){s=1109;return s|0}if(c[r+24>>2]|0?c[q+24>>2]|0:0){s=1110;return s|0}s=1111;return s|0}default:{s=0;return s|0}}return 0}function JBa(a){a=a|0;if((a|0)!=0?(kEa(a)|0)!=0:0)a=Jh(a|0)|0;else a=0;return a|0}function KBa(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=l;l=l+16|0;f=e;c[f>>2]=d;d=UQa(a,b,f)|0;l=e;return d|0}function LBa(){var a=0,b=0,d=0;d=l;l=l+16|0;b=d;a=c[26458]|0;if((a|0)==-1){c[26458]=0;c[b>>2]=0;if(!(c[b>>2]|0))a=0;else{c[26458]=2;a=2}}l=d;return a>>>2&1|0}function MBa(){var a=0,b=0,d=0;d=l;l=l+16|0;b=d;a=c[26458]|0;if((a|0)==-1){c[26458]=0;c[b>>2]=0;if(!(c[b>>2]|0))a=0;else{c[26458]=2;a=2}}l=d;return a>>>3&1|0}function NBa(){var a=0,b=0,d=0;d=l;l=l+16|0;b=d;a=c[26458]|0;if((a|0)==-1){c[26458]=0;c[b>>2]=0;if(!(c[b>>2]|0))a=0;else{c[26458]=2;a=2}}l=d;return a>>>4&1|0}function OBa(){var a=0,b=0,d=0;d=l;l=l+16|0;b=d;a=c[26458]|0;if((a|0)==-1){c[26458]=0;c[b>>2]=0;if(!(c[b>>2]|0))a=0;else{c[26458]=2;a=2}}l=d;return a>>>5&1|0}function PBa(){var a=0,b=0,d=0;d=l;l=l+16|0;b=d;a=c[26458]|0;if((a|0)==-1){c[26458]=0;c[b>>2]=0;if(!(c[b>>2]|0))a=0;else{c[26458]=2;a=2}}l=d;return a>>>1&1|0}function QBa(f){f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0;i=c[f+52>>2]|0;ea=d[f+60>>0]|0;qa=d[f+61>>0]|0;O=d[f+62>>0]|0;P=d[f+63>>0]|0;g=c[f+40>>2]|0;h=c[f+44>>2]|0;Q=a[g+9>>0]|0;R=Q&255;S=a[h+9>>0]|0;T=S&255;U=g+24|0;V=~c[U>>2];W=c[f+56>>2]|0;X=f+28|0;pa=c[X>>2]|0;Y=(c[f+8>>2]<<16|0)/(pa|0)|0;Z=f+24|0;j=c[Z>>2]|0;_=(c[f+4>>2]<<16|0)/(j|0)|0;c[X>>2]=pa+-1;if(!pa)return;$=f+20|0;aa=f+32|0;ba=f+12|0;ca=(i&256|0)==0;da=g+28|0;fa=g+12|0;ga=g+32|0;ha=g+29|0;ia=g+16|0;ja=g+33|0;ka=g+30|0;la=g+20|0;ma=g+34|0;na=h+24|0;oa=Q<<24>>24==3;pa=g+31|0;z=g+35|0;A=(i&1|0)==0;B=h+28|0;C=h+12|0;D=h+32|0;E=h+29|0;F=h+16|0;G=h+33|0;H=h+30|0;I=h+20|0;J=h+34|0;K=(i&2|0)==0;L=(i&48|0)!=0;M=h+31|0;y=h+35|0;x=i>>>4&255;h=0;i=0;g=c[$>>2]|0;while(1){if((i|0)>65535){w=~i;w=i+65536+((w|0)>-131072?w:-131072)|0;h=h+1+(w>>>16)|0;i=i+-65536-(w&-65536)|0}if(j|0){k=0;l=-1;m=65536;while(1){j=j+-1|0;if((m|0)>65535){v=~m;v=m+65536+((v|0)>-131072?v:-131072)|0;l=l+1+(v>>>16)|0;w=(c[f>>2]|0)+(N(c[ba>>2]|0,h)|0)+(N(l,R)|0)|0;m=m+-65536-(v&-65536)|0}else w=k;k=c[U>>2]|0;a:do if(!k)switch(Q<<24>>24){case 1:{o=d[w>>0]|0;p=-1;q=o;k=a[(c[16112+((d[da>>0]|0)<<2)>>2]|0)+((c[fa>>2]&o)>>>(d[ga>>0]|0))>>0]|0;n=a[(c[16112+((d[ha>>0]|0)<<2)>>2]|0)+((c[ia>>2]&o)>>>(d[ja>>0]|0))>>0]|0;o=a[(c[16112+((d[ka>>0]|0)<<2)>>2]|0)+((c[la>>2]&o)>>>(d[ma>>0]|0))>>0]|0;break a}case 2:{o=e[w>>1]|0;p=-1;q=o;k=a[(c[16112+((d[da>>0]|0)<<2)>>2]|0)+((c[fa>>2]&o)>>>(d[ga>>0]|0))>>0]|0;n=a[(c[16112+((d[ha>>0]|0)<<2)>>2]|0)+((c[ia>>2]&o)>>>(d[ja>>0]|0))>>0]|0;o=a[(c[16112+((d[ka>>0]|0)<<2)>>2]|0)+((c[la>>2]&o)>>>(d[ma>>0]|0))>>0]|0;break a}case 3:{p=-1;q=0;k=a[w+((d[ga>>0]|0)>>>3&255)>>0]|0;n=a[w+((d[ja>>0]|0)>>>3&255)>>0]|0;o=a[w+((d[ma>>0]|0)>>>3&255)>>0]|0;break a}case 4:{o=c[w>>2]|0;p=-1;q=o;k=a[(c[16112+((d[da>>0]|0)<<2)>>2]|0)+((c[fa>>2]&o)>>>(d[ga>>0]|0))>>0]|0;n=a[(c[16112+((d[ha>>0]|0)<<2)>>2]|0)+((c[ia>>2]&o)>>>(d[ja>>0]|0))>>0]|0;o=a[(c[16112+((d[ka>>0]|0)<<2)>>2]|0)+((c[la>>2]&o)>>>(d[ma>>0]|0))>>0]|0;break a}default:{p=-1;q=0;k=0;n=0;o=0;break a}}else switch(Q<<24>>24){case 1:{o=d[w>>0]|0;p=a[(c[16112+((d[pa>>0]|0)<<2)>>2]|0)+((k&o)>>>(d[z>>0]|0))>>0]|0;q=o;k=a[(c[16112+((d[da>>0]|0)<<2)>>2]|0)+((c[fa>>2]&o)>>>(d[ga>>0]|0))>>0]|0;n=a[(c[16112+((d[ha>>0]|0)<<2)>>2]|0)+((c[ia>>2]&o)>>>(d[ja>>0]|0))>>0]|0;o=a[(c[16112+((d[ka>>0]|0)<<2)>>2]|0)+((c[la>>2]&o)>>>(d[ma>>0]|0))>>0]|0;break a}case 2:{o=e[w>>1]|0;p=a[(c[16112+((d[pa>>0]|0)<<2)>>2]|0)+((k&o)>>>(d[z>>0]|0))>>0]|0;q=o;k=a[(c[16112+((d[da>>0]|0)<<2)>>2]|0)+((c[fa>>2]&o)>>>(d[ga>>0]|0))>>0]|0;n=a[(c[16112+((d[ha>>0]|0)<<2)>>2]|0)+((c[ia>>2]&o)>>>(d[ja>>0]|0))>>0]|0;o=a[(c[16112+((d[ka>>0]|0)<<2)>>2]|0)+((c[la>>2]&o)>>>(d[ma>>0]|0))>>0]|0;break a}case 3:{p=-1;q=0;k=a[w+((d[ga>>0]|0)>>>3&255)>>0]|0;n=a[w+((d[ja>>0]|0)>>>3&255)>>0]|0;o=a[w+((d[ma>>0]|0)>>>3&255)>>0]|0;break a}case 4:{o=c[w>>2]|0;p=a[(c[16112+((d[pa>>0]|0)<<2)>>2]|0)+((o&k)>>>(d[z>>0]|0))>>0]|0;q=o;k=a[(c[16112+((d[da>>0]|0)<<2)>>2]|0)+((c[fa>>2]&o)>>>(d[ga>>0]|0))>>0]|0;n=a[(c[16112+((d[ha>>0]|0)<<2)>>2]|0)+((c[ia>>2]&o)>>>(d[ja>>0]|0))>>0]|0;o=a[(c[16112+((d[ka>>0]|0)<<2)>>2]|0)+((c[la>>2]&o)>>>(d[ma>>0]|0))>>0]|0;break a}default:{p=0;q=0;k=0;n=0;o=0;break a}}while(0);r=k&255;s=n&255;t=o&255;u=p&255;if(!ca){if(oa)k=s<<(d[ja>>0]|0)|r<<(d[ga>>0]|0)|t<<(d[ma>>0]|0);else k=q;if((k^W)&V|0)ra=25}else ra=25;b:do if((ra|0)==25){ra=0;k=c[na>>2]|0;v=(k|0)==0;c:do if(v)switch(S<<24>>24){case 1:{p=d[g>>0]|0;q=-1;k=a[(c[16112+((d[B>>0]|0)<<2)>>2]|0)+((c[C>>2]&p)>>>(d[D>>0]|0))>>0]|0;n=a[(c[16112+((d[E>>0]|0)<<2)>>2]|0)+((c[F>>2]&p)>>>(d[G>>0]|0))>>0]|0;p=a[(c[16112+((d[H>>0]|0)<<2)>>2]|0)+((c[I>>2]&p)>>>(d[J>>0]|0))>>0]|0;break c}case 2:{p=e[g>>1]|0;q=-1;k=a[(c[16112+((d[B>>0]|0)<<2)>>2]|0)+((c[C>>2]&p)>>>(d[D>>0]|0))>>0]|0;n=a[(c[16112+((d[E>>0]|0)<<2)>>2]|0)+((c[F>>2]&p)>>>(d[G>>0]|0))>>0]|0;p=a[(c[16112+((d[H>>0]|0)<<2)>>2]|0)+((c[I>>2]&p)>>>(d[J>>0]|0))>>0]|0;break c}case 3:{q=-1;k=a[g+((d[D>>0]|0)>>>3&255)>>0]|0;n=a[g+((d[G>>0]|0)>>>3&255)>>0]|0;p=a[g+((d[J>>0]|0)>>>3&255)>>0]|0;break c}case 4:{p=c[g>>2]|0;q=-1;k=a[(c[16112+((d[B>>0]|0)<<2)>>2]|0)+((c[C>>2]&p)>>>(d[D>>0]|0))>>0]|0;n=a[(c[16112+((d[E>>0]|0)<<2)>>2]|0)+((c[F>>2]&p)>>>(d[G>>0]|0))>>0]|0;p=a[(c[16112+((d[H>>0]|0)<<2)>>2]|0)+((c[I>>2]&p)>>>(d[J>>0]|0))>>0]|0;break c}default:{q=-1;k=0;n=0;p=0;break c}}else switch(S<<24>>24){case 1:{p=d[g>>0]|0;q=a[(c[16112+((d[M>>0]|0)<<2)>>2]|0)+((k&p)>>>(d[y>>0]|0))>>0]|0;k=a[(c[16112+((d[B>>0]|0)<<2)>>2]|0)+((c[C>>2]&p)>>>(d[D>>0]|0))>>0]|0;n=a[(c[16112+((d[E>>0]|0)<<2)>>2]|0)+((c[F>>2]&p)>>>(d[G>>0]|0))>>0]|0;p=a[(c[16112+((d[H>>0]|0)<<2)>>2]|0)+((c[I>>2]&p)>>>(d[J>>0]|0))>>0]|0;break c}case 2:{p=e[g>>1]|0;q=a[(c[16112+((d[M>>0]|0)<<2)>>2]|0)+((k&p)>>>(d[y>>0]|0))>>0]|0;k=a[(c[16112+((d[B>>0]|0)<<2)>>2]|0)+((c[C>>2]&p)>>>(d[D>>0]|0))>>0]|0;n=a[(c[16112+((d[E>>0]|0)<<2)>>2]|0)+((c[F>>2]&p)>>>(d[G>>0]|0))>>0]|0;p=a[(c[16112+((d[H>>0]|0)<<2)>>2]|0)+((c[I>>2]&p)>>>(d[J>>0]|0))>>0]|0;break c}case 3:{q=-1;k=a[g+((d[D>>0]|0)>>>3&255)>>0]|0;n=a[g+((d[G>>0]|0)>>>3&255)>>0]|0;p=a[g+((d[J>>0]|0)>>>3&255)>>0]|0;break c}case 4:{p=c[g>>2]|0;q=a[(c[16112+((d[M>>0]|0)<<2)>>2]|0)+((p&k)>>>(d[y>>0]|0))>>0]|0;k=a[(c[16112+((d[B>>0]|0)<<2)>>2]|0)+((c[C>>2]&p)>>>(d[D>>0]|0))>>0]|0;n=a[(c[16112+((d[E>>0]|0)<<2)>>2]|0)+((c[F>>2]&p)>>>(d[G>>0]|0))>>0]|0;p=a[(c[16112+((d[H>>0]|0)<<2)>>2]|0)+((c[I>>2]&p)>>>(d[J>>0]|0))>>0]|0;break c}default:{q=0;k=0;n=0;p=0;break c}}while(0);o=k&255;n=n&255;k=p&255;p=q&255;if(!A){r=((N(r,ea)|0)>>>0)/255|0;s=((N(s,qa)|0)>>>0)/255|0;t=((N(t,O)|0)>>>0)/255|0}q=((N(u,P)|0)>>>0)/255|0;q=K?u:q;if(L&q>>>0<255){r=((N(r,q)|0)>>>0)/255|0;s=((N(s,q)|0)>>>0)/255|0;t=((N(t,q)|0)>>>0)/255|0}switch(x&7){case 0:{p=q;o=r;n=s;k=t;break}case 1:{u=255-q|0;p=(((N(u,p)|0)>>>0)/255|0)+q|0;o=r+(((N(u,o)|0)>>>0)/255|0)|0;n=s+(((N(u,n)|0)>>>0)/255|0)|0;k=t+(((N(u,k)|0)>>>0)/255|0)|0;break}case 2:{o=r+o|0;n=s+n|0;k=t+k|0;o=o>>>0<255?o:255;n=n>>>0<255?n:255;k=k>>>0<255?k:255;break}case 4:{o=((N(r,o)|0)>>>0)/255|0;n=((N(s,n)|0)>>>0)/255|0;k=((N(t,k)|0)>>>0)/255|0;break}default:{}}if(v)switch(S<<24>>24){case 1:{a[g>>0]=o>>>(d[B>>0]|0)<<(d[D>>0]|0)|n>>>(d[E>>0]|0)<<(d[G>>0]|0)|k>>>(d[H>>0]|0)<<(d[J>>0]|0);break b}case 2:{b[g>>1]=o>>>(d[B>>0]|0)<<(d[D>>0]|0)|n>>>(d[E>>0]|0)<<(d[G>>0]|0)|k>>>(d[H>>0]|0)<<(d[J>>0]|0);break b}case 3:{a[g+((d[D>>0]|0)>>>3&255)>>0]=o;a[g+((d[G>>0]|0)>>>3&255)>>0]=n;a[g+((d[J>>0]|0)>>>3&255)>>0]=k;break b}case 4:{c[g>>2]=o>>>(d[B>>0]|0)<<(d[D>>0]|0)|n>>>(d[E>>0]|0)<<(d[G>>0]|0)|k>>>(d[H>>0]|0)<<(d[J>>0]|0);break b}default:break b}else switch(S<<24>>24){case 1:{a[g>>0]=n>>>(d[E>>0]|0)<<(d[G>>0]|0)|o>>>(d[B>>0]|0)<<(d[D>>0]|0)|k>>>(d[H>>0]|0)<<(d[J>>0]|0)|p>>>(d[M>>0]|0)<<(d[y>>0]|0);break b}case 2:{b[g>>1]=n>>>(d[E>>0]|0)<<(d[G>>0]|0)|o>>>(d[B>>0]|0)<<(d[D>>0]|0)|k>>>(d[H>>0]|0)<<(d[J>>0]|0)|p>>>(d[M>>0]|0)<<(d[y>>0]|0);break b}case 3:{a[g+((d[D>>0]|0)>>>3&255)>>0]=o;a[g+((d[G>>0]|0)>>>3&255)>>0]=n;a[g+((d[J>>0]|0)>>>3&255)>>0]=k;break b}case 4:{c[g>>2]=n>>>(d[E>>0]|0)<<(d[G>>0]|0)|o>>>(d[B>>0]|0)<<(d[D>>0]|0)|k>>>(d[H>>0]|0)<<(d[J>>0]|0)|p>>>(d[M>>0]|0)<<(d[y>>0]|0);break b}default:break b}}while(0);if(!j)break;else{g=g+T|0;k=w;m=m+_|0}}}g=(c[$>>2]|0)+(c[aa>>2]|0)|0;c[$>>2]=g;w=c[X>>2]|0;c[X>>2]=w+-1;if(!w)break;i=i+Y|0;j=c[Z>>2]|0}return}function RBa(a){a=a|0;var b=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;l=N(c[a+24>>2]|0,d[(c[a+44>>2]|0)+9>>0]|0)|0;f=c[a+28>>2]|0;e=c[a>>2]|0;b=c[a+20>>2]|0;k=c[a+12>>2]|0;j=c[a+32>>2]|0;h=b>>>0<(e+(N(k,f)|0)|0)>>>0;i=e>>>0<(b+(N(j,f)|0)|0)>>>0;if(!(e>>>0<b>>>0?h:i)){if(!f)return;a=f;while(1){a=a+-1|0;uBa(b,e,l)|0;if(!a)break;else{b=b+j|0;e=e+k|0}}return}if(b>>>0<e>>>0){if(!f)return;a=f;while(1){a=a+-1|0;TBa(b,e,l)|0;if(!a)break;else{e=e+k|0;b=b+j|0}}return}else{g=f+-1|0;if(!f)return;h=0-k|0;i=0-j|0;a=b+(N(j,g)|0)|0;b=e+(N(k,g)|0)|0;while(1){f=f+-1|0;TBa(a,b,l)|0;if(!f)break;else{a=a+i|0;b=b+h|0}}return}}function SBa(a){a=a|0;var b=0,d=0,e=0;if(!a)return;b=c[a>>2]|0;if(b|0?(e=b+56|0,d=c[e>>2]|0,c[e>>2]=d+-1,(d|0)<2):0)ABa(b);c[a>>2]=0;c[a+84>>2]=0;c[a+80>>2]=0;e=a+64|0;iBa(c[e>>2]|0);c[e>>2]=0;return}function TBa(a,b,c){a=a|0;b=b|0;c=c|0;y2a(a|0,b|0,c|0)|0;return a|0}function UBa(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;p=a+28|0;o=c[p>>2]|0;q=(c[a+8>>2]<<16|0)/(o|0)|0;k=a+24|0;b=c[k>>2]|0;l=(c[a+4>>2]<<16|0)/(b|0)|0;d=o+-1|0;c[p>>2]=d;if(!o)return;m=a+20|0;n=a+32|0;o=a+12|0;e=c[m>>2]|0;f=0;g=0;j=e;while(1){if((g|0)>65535){i=~g;i=g+65536+((i|0)>-131072?i:-131072)|0;h=f+1+(i>>>16)|0;i=g+-65536-(i&-65536)|0}else{h=f;i=g}if(!b)b=d;else{d=0;f=-1;g=65536;while(1){b=b+-1|0;if((g|0)>65535){r=~g;r=g+65536+((r|0)>-131072?r:-131072)|0;f=f+1+(r>>>16)|0;d=(c[a>>2]|0)+(N(c[o>>2]|0,h)|0)+(f<<2)|0;g=g+-65536-(r&-65536)|0}c[e>>2]=c[d>>2];if(!b)break;else{e=e+4|0;g=g+l|0}}b=c[p>>2]|0}e=j+(c[n>>2]|0)|0;d=b+-1|0;c[p>>2]=d;if(!b)break;f=h;g=i+q|0;b=c[k>>2]|0;j=e}c[m>>2]=e;return}function VBa(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;b=c[a+52>>2]|0;o=a+28|0;r=c[o>>2]|0;c[o>>2]=r+-1;if(!r)return;p=a+20|0;q=a+24|0;r=a+12|0;n=a+32|0;m=b&112;d=c[a>>2]|0;e=c[p>>2]|0;l=(m&127)==64;j=d;k=e;while(1){i=c[q>>2]|0;b=i+-1|0;if(i|0)switch(m&127){case 16:{while(1){c[e>>2]=c[d>>2]&16777215;if(!b)break;else{e=e+4|0;d=d+4|0;b=b+-1|0}}break}case 32:{while(1){i=c[d>>2]|0;f=c[e>>2]|0;h=(f>>>16&255)+(i>>>16&255)|0;g=(f>>>8&255)+(i>>>8&255)|0;i=(f&255)+(i&255)|0;c[e>>2]=(g>>>0<255?g:255)<<8|(h>>>0<255?h:255)<<16|(i>>>0<255?i:255);if(!b)break;else{e=e+4|0;d=d+4|0;b=b+-1|0}}break}default:while(1){i=c[d>>2]|0;g=c[e>>2]|0;f=g>>>16&255;h=g>>>8&255;g=g&255;if(l){g=((N(g,i&255)|0)>>>0)/255|0;h=((N(h,i>>>8&255)|0)>>>0)/255|0;f=((N(f,i>>>16&255)|0)>>>0)/255|0}c[e>>2]=h<<8|f<<16|g;if(!b)break;else{e=e+4|0;d=d+4|0;b=b+-1|0}}}d=j+(c[r>>2]|0)|0;b=k+(c[n>>2]|0)|0;k=c[o>>2]|0;c[o>>2]=k+-1;if(!k)break;else{j=d;k=b;e=b}}c[a>>2]=d;c[p>>2]=b;return}function WBa(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;b=c[a+52>>2]|0;x=a+28|0;w=c[x>>2]|0;y=(c[a+8>>2]<<16|0)/(w|0)|0;t=a+24|0;d=c[t>>2]|0;u=(c[a+4>>2]<<16|0)/(d|0)|0;c[x>>2]=w+-1;if(!w)return;v=a+20|0;w=a+32|0;s=b&112;q=a+12|0;r=(s&127)==16;b=c[v>>2]|0;e=0;f=0;p=b;while(1){if((e|0)>65535){o=~e;o=e+65536+((o|0)>-131072?o:-131072)|0;e=e+-65536-(o&-65536)|0;f=f+1+(o>>>16)|0}i=d+-1|0;a:do if(d|0){if(r){d=0;g=65536;h=-1;while(1){if((g|0)>65535){o=~g;o=g+65536+((o|0)>-131072?o:-131072)|0;h=h+1+(o>>>16)|0;d=(c[a>>2]|0)+(N(c[q>>2]|0,f)|0)+(h<<2)|0;g=g+-65536-(o&-65536)|0}c[b>>2]=c[d>>2]&16777215;if(!i)break a;else{b=b+4|0;g=g+u|0;i=i+-1|0}}}d=0;g=65536;h=-1;o=i;while(1){if((g|0)>65535){n=~g;n=g+65536+((n|0)>-131072?n:-131072)|0;h=h+1+(n>>>16)|0;d=(c[a>>2]|0)+(N(c[q>>2]|0,f)|0)+(h<<2)|0;g=g+-65536-(n&-65536)|0}k=c[d>>2]|0;n=k>>>16&255;m=k>>>8&255;k=k&255;l=c[b>>2]|0;i=l>>>16&255;j=l>>>8&255;l=l&255;switch(s&127){case 64:{l=((N(l,k)|0)>>>0)/255|0;j=((N(j,m)|0)>>>0)/255|0;i=((N(i,n)|0)>>>0)/255|0;break}case 32:{i=i+n|0;j=j+m|0;l=l+k|0;l=l>>>0<255?l:255;j=j>>>0<255?j:255;i=i>>>0<255?i:255;break}default:{}}c[b>>2]=j<<8|i<<16|l;if(!o)break a;else{b=b+4|0;g=g+u|0;o=o+-1|0}}}while(0);b=p+(c[w>>2]|0)|0;p=c[x>>2]|0;c[x>>2]=p+-1;if(!p)break;e=e+y|0;p=b;d=c[t>>2]|0}c[v>>2]=b;return}function XBa(a){a=a|0;var b=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;e=c[a+52>>2]|0;k=d[a+60>>0]|0;l=d[a+61>>0]|0;j=d[a+62>>0]|0;m=a+28|0;q=c[m>>2]|0;b=q+-1|0;c[m>>2]=b;if(!q)return;n=a+20|0;o=a+24|0;p=a+12|0;q=a+32|0;if(!(e&1)){g=b;do{e=c[o>>2]|0;if(!e){f=c[a>>2]|0;b=c[n>>2]|0;e=g}else{b=c[n>>2]|0;f=c[a>>2]|0;g=b;h=f;while(1){e=e+-1|0;c[g>>2]=c[h>>2]&16777215;if(!e)break;else{g=g+4|0;h=h+4|0}}e=c[m>>2]|0}c[a>>2]=f+(c[p>>2]|0);c[n>>2]=b+(c[q>>2]|0);g=e+-1|0;c[m>>2]=g}while((e|0)!=0);return}else{do{i=c[o>>2]|0;if(!i){g=c[a>>2]|0;e=c[n>>2]|0;f=b}else{e=c[n>>2]|0;g=c[a>>2]|0;f=e;h=g;b=i;while(1){b=b+-1|0;i=c[h>>2]|0;c[f>>2]=(((N(i>>>8&255,l)|0)>>>0)/255|0)<<8|(((N(i>>>16&255,k)|0)>>>0)/255|0)<<16|(((N(i&255,j)|0)>>>0)/255|0);if(!b)break;else{f=f+4|0;h=h+4|0}}f=c[m>>2]|0}c[a>>2]=g+(c[p>>2]|0);c[n>>2]=e+(c[q>>2]|0);b=f+-1|0;c[m>>2]=b}while((f|0)!=0);return}}function YBa(a){a=a|0;var b=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;b=c[a+52>>2]|0;u=d[a+60>>0]|0;v=d[a+61>>0]|0;n=d[a+62>>0]|0;o=a+28|0;t=c[o>>2]|0;p=(c[a+8>>2]<<16|0)/(t|0)|0;q=a+24|0;e=c[q>>2]|0;r=(c[a+4>>2]<<16|0)/(e|0)|0;c[o>>2]=t+-1;if(!t)return;s=a+20|0;t=a+32|0;l=(b&1|0)==0;m=a+12|0;b=c[s>>2]|0;f=0;g=0;k=b;while(1){if((f|0)>65535){j=~f;j=f+65536+((j|0)>-131072?j:-131072)|0;f=f+-65536-(j&-65536)|0;g=g+1+(j>>>16)|0}j=e+-1|0;if(e|0)if(l){e=0;h=65536;i=-1;while(1){if((h|0)>65535){w=~h;w=h+65536+((w|0)>-131072?w:-131072)|0;i=i+1+(w>>>16)|0;e=(c[a>>2]|0)+(N(c[m>>2]|0,g)|0)+(i<<2)|0;h=h+-65536-(w&-65536)|0}c[b>>2]=c[e>>2]&16777215;if(!j)break;else{b=b+4|0;h=h+r|0;j=j+-1|0}}}else{e=0;h=65536;i=-1;while(1){if((h|0)>65535){w=~h;w=h+65536+((w|0)>-131072?w:-131072)|0;i=i+1+(w>>>16)|0;e=(c[a>>2]|0)+(N(c[m>>2]|0,g)|0)+(i<<2)|0;h=h+-65536-(w&-65536)|0}w=c[e>>2]|0;c[b>>2]=((N(w&255,n)|0)>>>0)/255|0|(((N(w>>>8&255,v)|0)>>>0)/255|0)<<8|(((N(w>>>16&255,u)|0)>>>0)/255|0)<<16;if(!j)break;else{b=b+4|0;h=h+r|0;j=j+-1|0}}}b=k+(c[t>>2]|0)|0;w=c[o>>2]|0;c[o>>2]=w+-1;if(!w)break;f=f+p|0;k=b;e=c[q>>2]|0}c[s>>2]=b;return}function ZBa(b){b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;f=c[b+52>>2]|0;A=d[b+60>>0]|0;B=d[b+61>>0]|0;t=d[b+62>>0]|0;e=a[b+63>>0]|0;u=b+28|0;z=c[u>>2]|0;c[u>>2]=z+-1;if(!z)return;v=b+20|0;w=b+24|0;x=b+12|0;y=b+32|0;z=(f&1|0)==0;s=(f&2|0)==0?255:e&255;r=(f&48|0)!=0&(s|0)!=255;q=f&112;p=s^255;f=c[b>>2]|0;e=c[v>>2]|0;n=f;o=e;while(1){m=c[w>>2]|0;g=m+-1|0;a:do if(m|0)if(z){m=g;while(1){i=c[f>>2]|0;k=i>>>16&255;j=i>>>8&255;i=i&255;l=c[e>>2]|0;g=l>>>16&255;h=l>>>8&255;l=l&255;if(r){i=((N(i,s)|0)>>>0)/255|0;j=((N(j,s)|0)>>>0)/255|0;k=((N(k,s)|0)>>>0)/255|0}switch(q&127){case 16:{i=i+(((N(l,p)|0)>>>0)/255|0)|0;h=j+(((N(h,p)|0)>>>0)/255|0)|0;g=k+(((N(g,p)|0)>>>0)/255|0)|0;break}case 32:{g=k+g|0;h=j+h|0;i=i+l|0;i=i>>>0<255?i:255;h=h>>>0<255?h:255;g=g>>>0<255?g:255;break}case 64:{i=((N(i,l)|0)>>>0)/255|0;h=((N(j,h)|0)>>>0)/255|0;g=((N(k,g)|0)>>>0)/255|0;break}default:i=l}c[e>>2]=h<<8|g<<16|i;if(!m)break a;else{e=e+4|0;f=f+4|0;m=m+-1|0}}}else{m=g;while(1){i=c[f>>2]|0;l=c[e>>2]|0;g=l>>>16&255;h=l>>>8&255;l=l&255;k=((N(i>>>16&255,A)|0)>>>0)/255|0;j=((N(i>>>8&255,B)|0)>>>0)/255|0;i=((N(i&255,t)|0)>>>0)/255|0;if(r){i=((N(i,s)|0)>>>0)/255|0;j=((N(j,s)|0)>>>0)/255|0;k=((N(k,s)|0)>>>0)/255|0}switch(q&127){case 16:{i=i+(((N(l,p)|0)>>>0)/255|0)|0;h=j+(((N(h,p)|0)>>>0)/255|0)|0;g=k+(((N(g,p)|0)>>>0)/255|0)|0;break}case 32:{g=k+g|0;h=j+h|0;i=i+l|0;i=i>>>0<255?i:255;h=h>>>0<255?h:255;g=g>>>0<255?g:255;break}case 64:{i=((N(i,l)|0)>>>0)/255|0;h=((N(j,h)|0)>>>0)/255|0;g=((N(k,g)|0)>>>0)/255|0;break}default:i=l}c[e>>2]=h<<8|g<<16|i;if(!m)break a;else{e=e+4|0;f=f+4|0;m=m+-1|0}}}while(0);f=n+(c[x>>2]|0)|0;e=o+(c[y>>2]|0)|0;o=c[u>>2]|0;c[u>>2]=o+-1;if(!o)break;else{n=f;o=e}}c[b>>2]=f;c[v>>2]=e;return}function _Ba(b){b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0;f=c[b+52>>2]|0;F=d[b+60>>0]|0;G=d[b+61>>0]|0;w=d[b+62>>0]|0;e=a[b+63>>0]|0;x=b+28|0;E=c[x>>2]|0;y=(c[b+8>>2]<<16|0)/(E|0)|0;z=b+24|0;h=c[z>>2]|0;A=(c[b+4>>2]<<16|0)/(h|0)|0;g=E+-1|0;c[x>>2]=g;if(!E)return;B=b+20|0;C=b+32|0;D=(f&1|0)==0;E=b+12|0;v=(f&2|0)==0?255:e&255;u=(f&48|0)!=0&(v|0)!=255;t=f&112;s=v^255;f=c[B>>2]|0;i=0;j=0;r=f;e=g;while(1){if((i|0)>65535){q=~i;q=i+65536+((q|0)>-131072?q:-131072)|0;i=i+-65536-(q&-65536)|0;q=j+1+(q>>>16)|0}else q=j;if(h){e=0;g=65536;j=-1;while(1){h=h+-1|0;if((g|0)>65535){p=~g;p=g+65536+((p|0)>-131072?p:-131072)|0;j=j+1+(p>>>16)|0;e=(c[b>>2]|0)+(N(c[E>>2]|0,q)|0)+(j<<2)|0;g=g+-65536-(p&-65536)|0}m=c[e>>2]|0;n=m>>>16&255;o=m>>>8&255;m=m&255;p=c[f>>2]|0;k=p>>>16&255;l=p>>>8&255;p=p&255;if(!D){n=((N(n,F)|0)>>>0)/255|0;o=((N(o,G)|0)>>>0)/255|0;m=((N(m,w)|0)>>>0)/255|0}if(u){n=((N(n,v)|0)>>>0)/255|0;o=((N(o,v)|0)>>>0)/255|0;m=((N(m,v)|0)>>>0)/255|0}switch(t&127){case 16:{m=m+(((N(p,s)|0)>>>0)/255|0)|0;l=o+(((N(l,s)|0)>>>0)/255|0)|0;k=n+(((N(k,s)|0)>>>0)/255|0)|0;break}case 32:{k=n+k|0;l=o+l|0;m=m+p|0;m=m>>>0<255?m:255;l=l>>>0<255?l:255;k=k>>>0<255?k:255;break}case 64:{m=((N(m,p)|0)>>>0)/255|0;l=((N(o,l)|0)>>>0)/255|0;k=((N(n,k)|0)>>>0)/255|0;break}default:m=p}c[f>>2]=l<<8|k<<16|m;if(!h)break;else{f=f+4|0;g=g+A|0}}e=c[x>>2]|0}g=r+(c[C>>2]|0)|0;f=e+-1|0;c[x>>2]=f;if(!e)break;i=i+y|0;j=q;r=g;e=f;f=g;h=c[z>>2]|0}c[B>>2]=g;return}function $Ba(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;p=a+28|0;o=c[p>>2]|0;q=(c[a+8>>2]<<16|0)/(o|0)|0;k=a+24|0;b=c[k>>2]|0;l=(c[a+4>>2]<<16|0)/(b|0)|0;d=o+-1|0;c[p>>2]=d;if(!o)return;m=a+20|0;n=a+32|0;o=a+12|0;e=c[m>>2]|0;f=0;g=0;j=e;while(1){if((g|0)>65535){i=~g;i=g+65536+((i|0)>-131072?i:-131072)|0;h=f+1+(i>>>16)|0;i=g+-65536-(i&-65536)|0}else{h=f;i=g}if(!b)b=d;else{d=0;f=-1;g=65536;while(1){b=b+-1|0;if((g|0)>65535){r=~g;r=g+65536+((r|0)>-131072?r:-131072)|0;f=f+1+(r>>>16)|0;d=(c[a>>2]|0)+(N(c[o>>2]|0,h)|0)+(f<<2)|0;g=g+-65536-(r&-65536)|0}r=c[d>>2]|0;c[e>>2]=r<<16&16711680|r&65280|r>>>16&255;if(!b)break;else{e=e+4|0;g=g+l|0}}b=c[p>>2]|0}e=j+(c[n>>2]|0)|0;d=b+-1|0;c[p>>2]=d;if(!b)break;f=h;g=i+q|0;b=c[k>>2]|0;j=e}c[m>>2]=e;return}function aCa(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;b=c[a+52>>2]|0;o=a+28|0;r=c[o>>2]|0;c[o>>2]=r+-1;if(!r)return;p=a+20|0;q=a+24|0;r=a+12|0;n=a+32|0;m=b&112;d=c[a>>2]|0;e=c[p>>2]|0;l=(m&127)==64;j=d;k=e;while(1){i=c[q>>2]|0;b=i+-1|0;if(i|0)switch(m&127){case 16:{while(1){i=c[d>>2]|0;c[e>>2]=i&65280|i>>>16&255|i<<16&16711680;if(!b)break;else{e=e+4|0;d=d+4|0;b=b+-1|0}}break}case 32:{while(1){i=c[d>>2]|0;f=c[e>>2]|0;h=(i>>>16&255)+(f&255)|0;g=(f>>>8&255)+(i>>>8&255)|0;i=(f>>>16&255)+(i&255)|0;c[e>>2]=(g>>>0<255?g:255)<<8|(h>>>0<255?h:255)|(i>>>0<255?i:255)<<16;if(!b)break;else{e=e+4|0;d=d+4|0;b=b+-1|0}}break}default:while(1){i=c[d>>2]|0;f=c[e>>2]|0;g=f>>>16&255;h=f>>>8&255;f=f&255;if(l){g=((N(g,i&255)|0)>>>0)/255|0;h=((N(h,i>>>8&255)|0)>>>0)/255|0;f=((N(i>>>16&255,f)|0)>>>0)/255|0}c[e>>2]=h<<8|f|g<<16;if(!b)break;else{e=e+4|0;d=d+4|0;b=b+-1|0}}}d=j+(c[r>>2]|0)|0;b=k+(c[n>>2]|0)|0;k=c[o>>2]|0;c[o>>2]=k+-1;if(!k)break;else{j=d;k=b;e=b}}c[a>>2]=d;c[p>>2]=b;return}function bCa(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;b=c[a+52>>2]|0;x=a+28|0;w=c[x>>2]|0;y=(c[a+8>>2]<<16|0)/(w|0)|0;t=a+24|0;d=c[t>>2]|0;u=(c[a+4>>2]<<16|0)/(d|0)|0;c[x>>2]=w+-1;if(!w)return;v=a+20|0;w=a+32|0;s=b&112;q=a+12|0;r=(s&127)==16;b=c[v>>2]|0;e=0;f=0;p=b;while(1){if((e|0)>65535){o=~e;o=e+65536+((o|0)>-131072?o:-131072)|0;e=e+-65536-(o&-65536)|0;f=f+1+(o>>>16)|0}i=d+-1|0;a:do if(d|0){if(r){d=0;g=65536;h=-1;while(1){if((g|0)>65535){o=~g;o=g+65536+((o|0)>-131072?o:-131072)|0;h=h+1+(o>>>16)|0;d=(c[a>>2]|0)+(N(c[q>>2]|0,f)|0)+(h<<2)|0;g=g+-65536-(o&-65536)|0}o=c[d>>2]|0;c[b>>2]=o&65280|o>>>16&255|o<<16&16711680;if(!i)break a;else{b=b+4|0;g=g+u|0;i=i+-1|0}}}d=0;g=65536;h=-1;o=i;while(1){if((g|0)>65535){n=~g;n=g+65536+((n|0)>-131072?n:-131072)|0;h=h+1+(n>>>16)|0;d=(c[a>>2]|0)+(N(c[q>>2]|0,f)|0)+(h<<2)|0;g=g+-65536-(n&-65536)|0}k=c[d>>2]|0;n=k>>>16&255;m=k>>>8&255;k=k&255;i=c[b>>2]|0;l=i>>>16&255;j=i>>>8&255;i=i&255;switch(s&127){case 64:{l=((N(l,k)|0)>>>0)/255|0;j=((N(j,m)|0)>>>0)/255|0;i=((N(n,i)|0)>>>0)/255|0;break}case 32:{i=n+i|0;j=j+m|0;l=l+k|0;l=l>>>0<255?l:255;j=j>>>0<255?j:255;i=i>>>0<255?i:255;break}default:{}}c[b>>2]=j<<8|i|l<<16;if(!o)break a;else{b=b+4|0;g=g+u|0;o=o+-1|0}}}while(0);b=p+(c[w>>2]|0)|0;p=c[x>>2]|0;c[x>>2]=p+-1;if(!p)break;e=e+y|0;p=b;d=c[t>>2]|0}c[v>>2]=b;return}function cCa(a){a=a|0;var b=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;e=c[a+52>>2]|0;k=d[a+60>>0]|0;l=d[a+61>>0]|0;j=d[a+62>>0]|0;m=a+28|0;q=c[m>>2]|0;b=q+-1|0;c[m>>2]=b;if(!q)return;n=a+20|0;o=a+24|0;p=a+12|0;q=a+32|0;if(!(e&1)){g=b;do{e=c[o>>2]|0;if(!e){f=c[a>>2]|0;b=c[n>>2]|0;e=g}else{b=c[n>>2]|0;f=c[a>>2]|0;g=b;h=f;while(1){e=e+-1|0;l=c[h>>2]|0;c[g>>2]=l&65280|l>>>16&255|l<<16&16711680;if(!e)break;else{g=g+4|0;h=h+4|0}}e=c[m>>2]|0}c[a>>2]=f+(c[p>>2]|0);c[n>>2]=b+(c[q>>2]|0);g=e+-1|0;c[m>>2]=g}while((e|0)!=0);return}else{do{i=c[o>>2]|0;if(!i){g=c[a>>2]|0;e=c[n>>2]|0;f=b}else{e=c[n>>2]|0;g=c[a>>2]|0;f=e;h=g;b=i;while(1){b=b+-1|0;i=c[h>>2]|0;c[f>>2]=(((N(i>>>8&255,l)|0)>>>0)/255|0)<<8|(((N(i>>>16&255,k)|0)>>>0)/255|0)|(((N(i&255,j)|0)>>>0)/255|0)<<16;if(!b)break;else{f=f+4|0;h=h+4|0}}f=c[m>>2]|0}c[a>>2]=g+(c[p>>2]|0);c[n>>2]=e+(c[q>>2]|0);b=f+-1|0;c[m>>2]=b}while((f|0)!=0);return}}function dCa(a){a=a|0;var b=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;b=c[a+52>>2]|0;u=d[a+60>>0]|0;v=d[a+61>>0]|0;n=d[a+62>>0]|0;o=a+28|0;t=c[o>>2]|0;p=(c[a+8>>2]<<16|0)/(t|0)|0;q=a+24|0;e=c[q>>2]|0;r=(c[a+4>>2]<<16|0)/(e|0)|0;c[o>>2]=t+-1;if(!t)return;s=a+20|0;t=a+32|0;l=(b&1|0)==0;m=a+12|0;b=c[s>>2]|0;f=0;g=0;k=b;while(1){if((f|0)>65535){j=~f;j=f+65536+((j|0)>-131072?j:-131072)|0;f=f+-65536-(j&-65536)|0;g=g+1+(j>>>16)|0}j=e+-1|0;if(e|0)if(l){e=0;h=65536;i=-1;while(1){if((h|0)>65535){w=~h;w=h+65536+((w|0)>-131072?w:-131072)|0;i=i+1+(w>>>16)|0;e=(c[a>>2]|0)+(N(c[m>>2]|0,g)|0)+(i<<2)|0;h=h+-65536-(w&-65536)|0}w=c[e>>2]|0;c[b>>2]=w<<16&16711680|w&65280|w>>>16&255;if(!j)break;else{b=b+4|0;h=h+r|0;j=j+-1|0}}}else{e=0;h=65536;i=-1;while(1){if((h|0)>65535){w=~h;w=h+65536+((w|0)>-131072?w:-131072)|0;i=i+1+(w>>>16)|0;e=(c[a>>2]|0)+(N(c[m>>2]|0,g)|0)+(i<<2)|0;h=h+-65536-(w&-65536)|0}w=c[e>>2]|0;c[b>>2]=(((N(w&255,n)|0)>>>0)/255|0)<<16|(((N(w>>>8&255,v)|0)>>>0)/255|0)<<8|(((N(w>>>16&255,u)|0)>>>0)/255|0);if(!j)break;else{b=b+4|0;h=h+r|0;j=j+-1|0}}}b=k+(c[t>>2]|0)|0;w=c[o>>2]|0;c[o>>2]=w+-1;if(!w)break;f=f+p|0;k=b;e=c[q>>2]|0}c[s>>2]=b;return}function eCa(b){b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;f=c[b+52>>2]|0;A=d[b+60>>0]|0;B=d[b+61>>0]|0;t=d[b+62>>0]|0;e=a[b+63>>0]|0;u=b+28|0;z=c[u>>2]|0;c[u>>2]=z+-1;if(!z)return;v=b+20|0;w=b+24|0;x=b+12|0;y=b+32|0;z=(f&1|0)==0;s=(f&2|0)==0?255:e&255;r=(f&48|0)!=0&(s|0)!=255;q=f&112;p=s^255;f=c[b>>2]|0;e=c[v>>2]|0;n=f;o=e;while(1){m=c[w>>2]|0;g=m+-1|0;a:do if(m|0)if(z){m=g;while(1){i=c[f>>2]|0;k=i>>>16&255;j=i>>>8&255;i=i&255;g=c[e>>2]|0;l=g>>>16&255;h=g>>>8&255;g=g&255;if(r){i=((N(i,s)|0)>>>0)/255|0;j=((N(j,s)|0)>>>0)/255|0;k=((N(k,s)|0)>>>0)/255|0}switch(q&127){case 16:{i=i+(((N(l,p)|0)>>>0)/255|0)|0;h=j+(((N(h,p)|0)>>>0)/255|0)|0;g=k+(((N(g,p)|0)>>>0)/255|0)|0;break}case 32:{g=k+g|0;h=j+h|0;i=i+l|0;i=i>>>0<255?i:255;h=h>>>0<255?h:255;g=g>>>0<255?g:255;break}case 64:{i=((N(i,l)|0)>>>0)/255|0;h=((N(j,h)|0)>>>0)/255|0;g=((N(k,g)|0)>>>0)/255|0;break}default:i=l}c[e>>2]=h<<8|g|i<<16;if(!m)break a;else{e=e+4|0;f=f+4|0;m=m+-1|0}}}else{m=g;while(1){i=c[f>>2]|0;g=c[e>>2]|0;l=g>>>16&255;h=g>>>8&255;g=g&255;k=((N(i>>>16&255,A)|0)>>>0)/255|0;j=((N(i>>>8&255,B)|0)>>>0)/255|0;i=((N(i&255,t)|0)>>>0)/255|0;if(r){i=((N(i,s)|0)>>>0)/255|0;j=((N(j,s)|0)>>>0)/255|0;k=((N(k,s)|0)>>>0)/255|0}switch(q&127){case 16:{i=i+(((N(l,p)|0)>>>0)/255|0)|0;h=j+(((N(h,p)|0)>>>0)/255|0)|0;g=k+(((N(g,p)|0)>>>0)/255|0)|0;break}case 32:{g=k+g|0;h=j+h|0;i=i+l|0;i=i>>>0<255?i:255;h=h>>>0<255?h:255;g=g>>>0<255?g:255;break}case 64:{i=((N(i,l)|0)>>>0)/255|0;h=((N(j,h)|0)>>>0)/255|0;g=((N(k,g)|0)>>>0)/255|0;break}default:i=l}c[e>>2]=h<<8|g|i<<16;if(!m)break a;else{e=e+4|0;f=f+4|0;m=m+-1|0}}}while(0);f=n+(c[x>>2]|0)|0;e=o+(c[y>>2]|0)|0;o=c[u>>2]|0;c[u>>2]=o+-1;if(!o)break;else{n=f;o=e}}c[b>>2]=f;c[v>>2]=e;return}function fCa(b){b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0;f=c[b+52>>2]|0;F=d[b+60>>0]|0;G=d[b+61>>0]|0;w=d[b+62>>0]|0;e=a[b+63>>0]|0;x=b+28|0;E=c[x>>2]|0;y=(c[b+8>>2]<<16|0)/(E|0)|0;z=b+24|0;h=c[z>>2]|0;A=(c[b+4>>2]<<16|0)/(h|0)|0;g=E+-1|0;c[x>>2]=g;if(!E)return;B=b+20|0;C=b+32|0;D=(f&1|0)==0;E=b+12|0;v=(f&2|0)==0?255:e&255;u=(f&48|0)!=0&(v|0)!=255;t=f&112;s=v^255;f=c[B>>2]|0;i=0;j=0;r=f;e=g;while(1){if((i|0)>65535){q=~i;q=i+65536+((q|0)>-131072?q:-131072)|0;i=i+-65536-(q&-65536)|0;q=j+1+(q>>>16)|0}else q=j;if(h){e=0;g=65536;j=-1;while(1){h=h+-1|0;if((g|0)>65535){p=~g;p=g+65536+((p|0)>-131072?p:-131072)|0;j=j+1+(p>>>16)|0;e=(c[b>>2]|0)+(N(c[E>>2]|0,q)|0)+(j<<2)|0;g=g+-65536-(p&-65536)|0}m=c[e>>2]|0;n=m>>>16&255;o=m>>>8&255;m=m&255;k=c[f>>2]|0;p=k>>>16&255;l=k>>>8&255;k=k&255;if(!D){n=((N(n,F)|0)>>>0)/255|0;o=((N(o,G)|0)>>>0)/255|0;m=((N(m,w)|0)>>>0)/255|0}if(u){n=((N(n,v)|0)>>>0)/255|0;o=((N(o,v)|0)>>>0)/255|0;m=((N(m,v)|0)>>>0)/255|0}switch(t&127){case 16:{m=m+(((N(p,s)|0)>>>0)/255|0)|0;l=o+(((N(l,s)|0)>>>0)/255|0)|0;k=n+(((N(k,s)|0)>>>0)/255|0)|0;break}case 32:{k=n+k|0;l=o+l|0;m=m+p|0;m=m>>>0<255?m:255;l=l>>>0<255?l:255;k=k>>>0<255?k:255;break}case 64:{m=((N(m,p)|0)>>>0)/255|0;l=((N(o,l)|0)>>>0)/255|0;k=((N(n,k)|0)>>>0)/255|0;break}default:m=p}c[f>>2]=l<<8|k|m<<16;if(!h)break;else{f=f+4|0;g=g+A|0}}e=c[x>>2]|0}g=r+(c[C>>2]|0)|0;f=e+-1|0;c[x>>2]=f;if(!e)break;i=i+y|0;j=q;r=g;e=f;f=g;h=c[z>>2]|0}c[B>>2]=g;return}function gCa(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;p=a+28|0;o=c[p>>2]|0;q=(c[a+8>>2]<<16|0)/(o|0)|0;k=a+24|0;b=c[k>>2]|0;l=(c[a+4>>2]<<16|0)/(b|0)|0;d=o+-1|0;c[p>>2]=d;if(!o)return;m=a+20|0;n=a+32|0;o=a+12|0;e=c[m>>2]|0;f=0;g=0;j=e;while(1){if((g|0)>65535){i=~g;i=g+65536+((i|0)>-131072?i:-131072)|0;h=f+1+(i>>>16)|0;i=g+-65536-(i&-65536)|0}else{h=f;i=g}if(!b)b=d;else{d=0;f=-1;g=65536;while(1){b=b+-1|0;if((g|0)>65535){r=~g;r=g+65536+((r|0)>-131072?r:-131072)|0;f=f+1+(r>>>16)|0;d=(c[a>>2]|0)+(N(c[o>>2]|0,h)|0)+(f<<2)|0;g=g+-65536-(r&-65536)|0}c[e>>2]=c[d>>2]|-16777216;if(!b)break;else{e=e+4|0;g=g+l|0}}b=c[p>>2]|0}e=j+(c[n>>2]|0)|0;d=b+-1|0;c[p>>2]=d;if(!b)break;f=h;g=i+q|0;b=c[k>>2]|0;j=e}c[m>>2]=e;return}function hCa(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;b=c[a+52>>2]|0;r=a+28|0;u=c[r>>2]|0;c[r>>2]=u+-1;if(!u)return;s=a+20|0;t=a+24|0;u=a+12|0;q=a+32|0;p=b&112;m=(p&127)==16;d=c[a>>2]|0;e=c[s>>2]|0;n=d;o=e;while(1){l=c[t>>2]|0;b=l+-1|0;a:do if(l|0){if(m)while(1){c[e>>2]=c[d>>2]|-16777216;if(!b)break a;else{e=e+4|0;d=d+4|0;b=b+-1|0}}while(1){h=c[d>>2]|0;k=h>>>16&255;j=h>>>8&255;h=h&255;l=c[e>>2]|0;f=l>>>16&255;g=l>>>8&255;i=l&255;l=l&-16777216;switch(p&127){case 64:{i=((N(i,h)|0)>>>0)/255|0;g=((N(g,j)|0)>>>0)/255|0;f=((N(f,k)|0)>>>0)/255|0;break}case 32:{f=f+k|0;g=g+j|0;i=i+h|0;i=i>>>0<255?i:255;g=g>>>0<255?g:255;f=f>>>0<255?f:255;break}default:{}}c[e>>2]=g<<8|f<<16|i|l;if(!b)break a;else{e=e+4|0;d=d+4|0;b=b+-1|0}}}while(0);d=n+(c[u>>2]|0)|0;b=o+(c[q>>2]|0)|0;o=c[r>>2]|0;c[r>>2]=o+-1;if(!o)break;else{n=d;o=b;e=b}}c[a>>2]=d;c[s>>2]=b;return}function iCa(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;b=c[a+52>>2]|0;y=a+28|0;x=c[y>>2]|0;z=(c[a+8>>2]<<16|0)/(x|0)|0;u=a+24|0;d=c[u>>2]|0;v=(c[a+4>>2]<<16|0)/(d|0)|0;c[y>>2]=x+-1;if(!x)return;w=a+20|0;x=a+32|0;t=b&112;r=a+12|0;s=(t&127)==16;b=c[w>>2]|0;e=0;f=0;q=b;while(1){if((e|0)>65535){p=~e;p=e+65536+((p|0)>-131072?p:-131072)|0;e=e+-65536-(p&-65536)|0;f=f+1+(p>>>16)|0}i=d+-1|0;a:do if(d|0){if(s){d=0;g=65536;h=-1;while(1){if((g|0)>65535){p=~g;p=g+65536+((p|0)>-131072?p:-131072)|0;h=h+1+(p>>>16)|0;d=(c[a>>2]|0)+(N(c[r>>2]|0,f)|0)+(h<<2)|0;g=g+-65536-(p&-65536)|0}c[b>>2]=c[d>>2]|-16777216;if(!i)break a;else{b=b+4|0;g=g+v|0;i=i+-1|0}}}d=0;g=65536;h=-1;while(1){if((g|0)>65535){p=~g;p=g+65536+((p|0)>-131072?p:-131072)|0;h=h+1+(p>>>16)|0;d=(c[a>>2]|0)+(N(c[r>>2]|0,f)|0)+(h<<2)|0;g=g+-65536-(p&-65536)|0}l=c[d>>2]|0;o=l>>>16&255;n=l>>>8&255;l=l&255;p=c[b>>2]|0;j=p>>>16&255;k=p>>>8&255;m=p&255;p=p&-16777216;switch(t&127){case 64:{m=((N(m,l)|0)>>>0)/255|0;k=((N(k,n)|0)>>>0)/255|0;j=((N(j,o)|0)>>>0)/255|0;break}case 32:{j=j+o|0;k=k+n|0;m=m+l|0;m=m>>>0<255?m:255;k=k>>>0<255?k:255;j=j>>>0<255?j:255;break}default:{}}c[b>>2]=k<<8|j<<16|m|p;if(!i)break a;else{b=b+4|0;g=g+v|0;i=i+-1|0}}}while(0);b=q+(c[x>>2]|0)|0;q=c[y>>2]|0;c[y>>2]=q+-1;if(!q)break;e=e+z|0;q=b;d=c[u>>2]|0}c[w>>2]=b;return}function jCa(b){b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;f=c[b+52>>2]|0;k=d[b+60>>0]|0;l=d[b+61>>0]|0;j=d[b+62>>0]|0;e=a[b+63>>0]|0;n=b+28|0;r=c[n>>2]|0;h=r+-1|0;c[n>>2]=h;if(!r)return;o=b+20|0;p=b+24|0;q=b+12|0;r=b+32|0;m=(f&2|0)==0?-16777216:(e&255)<<24;if(!(f&1)){do{f=c[p>>2]|0;if(!f){g=c[b>>2]|0;e=c[o>>2]|0;f=h}else{e=c[o>>2]|0;g=c[b>>2]|0;h=e;i=g;while(1){f=f+-1|0;l=c[i>>2]|0;c[h>>2]=l&16711680|m|l&65280|l&255;if(!f)break;else{h=h+4|0;i=i+4|0}}f=c[n>>2]|0}c[b>>2]=g+(c[q>>2]|0);c[o>>2]=e+(c[r>>2]|0);h=f+-1|0;c[n>>2]=h}while((f|0)!=0);return}else{do{f=c[p>>2]|0;if(!f){g=c[b>>2]|0;e=c[o>>2]|0;f=h}else{e=c[o>>2]|0;g=c[b>>2]|0;h=e;i=g;while(1){f=f+-1|0;s=c[i>>2]|0;c[h>>2]=(((N(s>>>16&255,k)|0)>>>0)/255|0)<<16|m|(((N(s>>>8&255,l)|0)>>>0)/255|0)<<8|(((N(s&255,j)|0)>>>0)/255|0);if(!f)break;else{h=h+4|0;i=i+4|0}}f=c[n>>2]|0}c[b>>2]=g+(c[q>>2]|0);c[o>>2]=e+(c[r>>2]|0);h=f+-1|0;c[n>>2]=h}while((f|0)!=0);return}}function kCa(b){b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;f=c[b+52>>2]|0;w=d[b+60>>0]|0;x=d[b+61>>0]|0;n=d[b+62>>0]|0;e=a[b+63>>0]|0;o=b+28|0;v=c[o>>2]|0;p=(c[b+8>>2]<<16|0)/(v|0)|0;q=b+24|0;g=c[q>>2]|0;r=(c[b+4>>2]<<16|0)/(g|0)|0;c[o>>2]=v+-1;if(!v)return;s=b+20|0;t=b+32|0;u=(f&1|0)==0;v=b+12|0;m=(f&2|0)==0?-16777216:(e&255)<<24;e=c[s>>2]|0;f=0;h=0;l=e;while(1){if((f|0)>65535){k=~f;k=f+65536+((k|0)>-131072?k:-131072)|0;f=f+-65536-(k&-65536)|0;h=h+1+(k>>>16)|0}k=g+-1|0;if(g|0)if(u){g=0;i=65536;j=-1;while(1){if((i|0)>65535){y=~i;y=i+65536+((y|0)>-131072?y:-131072)|0;j=j+1+(y>>>16)|0;g=(c[b>>2]|0)+(N(c[v>>2]|0,h)|0)+(j<<2)|0;i=i+-65536-(y&-65536)|0}y=c[g>>2]|0;c[e>>2]=y&65280|m|y&255|y&16711680;if(!k)break;else{e=e+4|0;i=i+r|0;k=k+-1|0}}}else{g=0;i=65536;j=-1;while(1){if((i|0)>65535){y=~i;y=i+65536+((y|0)>-131072?y:-131072)|0;j=j+1+(y>>>16)|0;g=(c[b>>2]|0)+(N(c[v>>2]|0,h)|0)+(j<<2)|0;i=i+-65536-(y&-65536)|0}y=c[g>>2]|0;c[e>>2]=(((N(y>>>8&255,x)|0)>>>0)/255|0)<<8|m|(((N(y&255,n)|0)>>>0)/255|0)|(((N(y>>>16&255,w)|0)>>>0)/255|0)<<16;if(!k)break;else{e=e+4|0;i=i+r|0;k=k+-1|0}}}e=l+(c[t>>2]|0)|0;y=c[o>>2]|0;c[o>>2]=y+-1;if(!y)break;f=f+p|0;l=e;g=c[q>>2]|0}c[s>>2]=e;return}function lCa(b){b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;f=c[b+52>>2]|0;B=d[b+60>>0]|0;C=d[b+61>>0]|0;u=d[b+62>>0]|0;e=a[b+63>>0]|0;v=b+28|0;A=c[v>>2]|0;g=A+-1|0;c[v>>2]=g;if(!A)return;w=b+20|0;x=b+24|0;y=b+12|0;z=b+32|0;A=(f&1|0)==0;t=(f&2|0)==0?255:e&255;s=(f&48|0)!=0&(t|0)!=255;r=f&112;q=t^255;do{h=c[x>>2]|0;if(!h){f=c[w>>2]|0;h=g;e=c[b>>2]|0}else{f=c[w>>2]|0;e=c[b>>2]|0;o=f;p=e;while(1){h=h+-1|0;j=c[p>>2]|0;l=j>>>16&255;k=j>>>8&255;j=j&255;m=c[o>>2]|0;g=m>>>16&255;i=m>>>8&255;n=m&255;m=m>>>24;if(!A){j=((N(j,u)|0)>>>0)/255|0;k=((N(k,C)|0)>>>0)/255|0;l=((N(l,B)|0)>>>0)/255|0}if(s){j=((N(j,t)|0)>>>0)/255|0;k=((N(k,t)|0)>>>0)/255|0;l=((N(l,t)|0)>>>0)/255|0}switch(r&127){case 16:{m=(((N(m,q)|0)>>>0)/255|0)+t|0;j=j+(((N(n,q)|0)>>>0)/255|0)|0;i=k+(((N(i,q)|0)>>>0)/255|0)|0;g=l+(((N(g,q)|0)>>>0)/255|0)|0;break}case 32:{g=l+g|0;i=k+i|0;j=j+n|0;j=j>>>0<255?j:255;i=i>>>0<255?i:255;g=g>>>0<255?g:255;break}case 64:{j=((N(j,n)|0)>>>0)/255|0;i=((N(k,i)|0)>>>0)/255|0;g=((N(l,g)|0)>>>0)/255|0;break}default:j=n}c[o>>2]=i<<8|g<<16|j|m<<24;if(!h)break;else{o=o+4|0;p=p+4|0}}h=c[v>>2]|0}c[b>>2]=e+(c[y>>2]|0);c[w>>2]=f+(c[z>>2]|0);g=h+-1|0;c[v>>2]=g}while((h|0)!=0);return}function mCa(b){b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0;f=c[b+52>>2]|0;G=d[b+60>>0]|0;H=d[b+61>>0]|0;x=d[b+62>>0]|0;e=a[b+63>>0]|0;y=b+28|0;F=c[y>>2]|0;z=(c[b+8>>2]<<16|0)/(F|0)|0;A=b+24|0;h=c[A>>2]|0;B=(c[b+4>>2]<<16|0)/(h|0)|0;g=F+-1|0;c[y>>2]=g;if(!F)return;C=b+20|0;D=b+32|0;E=(f&1|0)==0;F=b+12|0;w=(f&2|0)==0?255:e&255;v=(f&48|0)!=0&(w|0)!=255;u=f&112;t=w^255;f=c[C>>2]|0;i=0;j=0;s=f;e=g;while(1){if((i|0)>65535){r=~i;r=i+65536+((r|0)>-131072?r:-131072)|0;i=i+-65536-(r&-65536)|0;r=j+1+(r>>>16)|0}else r=j;if(h){e=0;g=65536;j=-1;while(1){h=h+-1|0;if((g|0)>65535){q=~g;q=g+65536+((q|0)>-131072?q:-131072)|0;j=j+1+(q>>>16)|0;e=(c[b>>2]|0)+(N(c[F>>2]|0,r)|0)+(j<<2)|0;g=g+-65536-(q&-65536)|0}o=c[e>>2]|0;m=o>>>16&255;p=o>>>8&255;o=o&255;q=c[f>>2]|0;k=q>>>16&255;l=q>>>8&255;n=q&255;q=q>>>24;if(!E){m=((N(m,G)|0)>>>0)/255|0;p=((N(p,H)|0)>>>0)/255|0;o=((N(o,x)|0)>>>0)/255|0}if(v){m=((N(m,w)|0)>>>0)/255|0;p=((N(p,w)|0)>>>0)/255|0;o=((N(o,w)|0)>>>0)/255|0}switch(u&127){case 16:{q=(((N(q,t)|0)>>>0)/255|0)+w|0;n=o+(((N(n,t)|0)>>>0)/255|0)|0;l=p+(((N(l,t)|0)>>>0)/255|0)|0;k=m+(((N(k,t)|0)>>>0)/255|0)|0;break}case 32:{k=m+k|0;l=p+l|0;n=o+n|0;n=n>>>0<255?n:255;l=l>>>0<255?l:255;k=k>>>0<255?k:255;break}case 64:{n=((N(o,n)|0)>>>0)/255|0;l=((N(p,l)|0)>>>0)/255|0;k=((N(m,k)|0)>>>0)/255|0;break}default:{}}c[f>>2]=l<<8|k<<16|n|q<<24;if(!h)break;else{f=f+4|0;g=g+B|0}}e=c[y>>2]|0}g=s+(c[D>>2]|0)|0;f=e+-1|0;c[y>>2]=f;if(!e)break;i=i+z|0;j=r;s=g;e=f;f=g;h=c[A>>2]|0}c[C>>2]=g;return}function nCa(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;p=a+28|0;o=c[p>>2]|0;q=(c[a+8>>2]<<16|0)/(o|0)|0;k=a+24|0;b=c[k>>2]|0;l=(c[a+4>>2]<<16|0)/(b|0)|0;d=o+-1|0;c[p>>2]=d;if(!o)return;m=a+20|0;n=a+32|0;o=a+12|0;e=c[m>>2]|0;f=0;g=0;j=e;while(1){if((g|0)>65535){i=~g;i=g+65536+((i|0)>-131072?i:-131072)|0;h=f+1+(i>>>16)|0;i=g+-65536-(i&-65536)|0}else{h=f;i=g}if(!b)b=d;else{d=0;f=-1;g=65536;while(1){b=b+-1|0;if((g|0)>65535){r=~g;r=g+65536+((r|0)>-131072?r:-131072)|0;f=f+1+(r>>>16)|0;d=(c[a>>2]|0)+(N(c[o>>2]|0,h)|0)+(f<<2)|0;g=g+-65536-(r&-65536)|0}r=c[d>>2]|0;c[e>>2]=r<<16&16711680|r&65280|r>>>16&255;if(!b)break;else{e=e+4|0;g=g+l|0}}b=c[p>>2]|0}e=j+(c[n>>2]|0)|0;d=b+-1|0;c[p>>2]=d;if(!b)break;f=h;g=i+q|0;b=c[k>>2]|0;j=e}c[m>>2]=e;return}function oCa(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;b=c[a+52>>2]|0;o=a+28|0;r=c[o>>2]|0;c[o>>2]=r+-1;if(!r)return;p=a+20|0;q=a+24|0;r=a+12|0;n=a+32|0;m=b&112;d=c[a>>2]|0;e=c[p>>2]|0;l=(m&127)==64;j=d;k=e;while(1){i=c[q>>2]|0;b=i+-1|0;if(i|0)switch(m&127){case 16:{while(1){i=c[d>>2]|0;c[e>>2]=i&65280|i<<16&16711680|i>>>16&255;if(!b)break;else{e=e+4|0;d=d+4|0;b=b+-1|0}}break}case 32:{while(1){f=c[d>>2]|0;i=c[e>>2]|0;h=(i>>>16&255)+(f&255)|0;g=(i>>>8&255)+(f>>>8&255)|0;i=(f>>>16&255)+(i&255)|0;c[e>>2]=(g>>>0<255?g:255)<<8|(h>>>0<255?h:255)<<16|(i>>>0<255?i:255);if(!b)break;else{e=e+4|0;d=d+4|0;b=b+-1|0}}break}default:while(1){i=c[d>>2]|0;g=c[e>>2]|0;f=g>>>16&255;h=g>>>8&255;g=g&255;if(l){g=((N(i>>>16&255,g)|0)>>>0)/255|0;h=((N(h,i>>>8&255)|0)>>>0)/255|0;f=((N(f,i&255)|0)>>>0)/255|0}c[e>>2]=h<<8|f<<16|g;if(!b)break;else{e=e+4|0;d=d+4|0;b=b+-1|0}}}d=j+(c[r>>2]|0)|0;b=k+(c[n>>2]|0)|0;k=c[o>>2]|0;c[o>>2]=k+-1;if(!k)break;else{j=d;k=b;e=b}}c[a>>2]=d;c[p>>2]=b;return}function pCa(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;b=c[a+52>>2]|0;x=a+28|0;w=c[x>>2]|0;y=(c[a+8>>2]<<16|0)/(w|0)|0;t=a+24|0;d=c[t>>2]|0;u=(c[a+4>>2]<<16|0)/(d|0)|0;c[x>>2]=w+-1;if(!w)return;v=a+20|0;w=a+32|0;s=b&112;q=a+12|0;r=(s&127)==16;b=c[v>>2]|0;e=0;f=0;p=b;while(1){if((e|0)>65535){o=~e;o=e+65536+((o|0)>-131072?o:-131072)|0;e=e+-65536-(o&-65536)|0;f=f+1+(o>>>16)|0}i=d+-1|0;a:do if(d|0){if(r){d=0;g=65536;h=-1;while(1){if((g|0)>65535){o=~g;o=g+65536+((o|0)>-131072?o:-131072)|0;h=h+1+(o>>>16)|0;d=(c[a>>2]|0)+(N(c[q>>2]|0,f)|0)+(h<<2)|0;g=g+-65536-(o&-65536)|0}o=c[d>>2]|0;c[b>>2]=o&65280|o<<16&16711680|o>>>16&255;if(!i)break a;else{b=b+4|0;g=g+u|0;i=i+-1|0}}}d=0;g=65536;h=-1;o=i;while(1){if((g|0)>65535){n=~g;n=g+65536+((n|0)>-131072?n:-131072)|0;h=h+1+(n>>>16)|0;d=(c[a>>2]|0)+(N(c[q>>2]|0,f)|0)+(h<<2)|0;g=g+-65536-(n&-65536)|0}n=c[d>>2]|0;k=n>>>16&255;m=n>>>8&255;n=n&255;l=c[b>>2]|0;i=l>>>16&255;j=l>>>8&255;l=l&255;switch(s&127){case 64:{l=((N(k,l)|0)>>>0)/255|0;j=((N(j,m)|0)>>>0)/255|0;i=((N(i,n)|0)>>>0)/255|0;break}case 32:{i=i+n|0;j=j+m|0;l=k+l|0;l=l>>>0<255?l:255;j=j>>>0<255?j:255;i=i>>>0<255?i:255;break}default:{}}c[b>>2]=j<<8|i<<16|l;if(!o)break a;else{b=b+4|0;g=g+u|0;o=o+-1|0}}}while(0);b=p+(c[w>>2]|0)|0;p=c[x>>2]|0;c[x>>2]=p+-1;if(!p)break;e=e+y|0;p=b;d=c[t>>2]|0}c[v>>2]=b;return}function qCa(a){a=a|0;var b=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;e=c[a+52>>2]|0;k=d[a+60>>0]|0;l=d[a+61>>0]|0;j=d[a+62>>0]|0;m=a+28|0;q=c[m>>2]|0;b=q+-1|0;c[m>>2]=b;if(!q)return;n=a+20|0;o=a+24|0;p=a+12|0;q=a+32|0;if(!(e&1)){g=b;do{e=c[o>>2]|0;if(!e){f=c[a>>2]|0;b=c[n>>2]|0;e=g}else{b=c[n>>2]|0;f=c[a>>2]|0;g=b;h=f;while(1){e=e+-1|0;l=c[h>>2]|0;c[g>>2]=l&65280|l<<16&16711680|l>>>16&255;if(!e)break;else{g=g+4|0;h=h+4|0}}e=c[m>>2]|0}c[a>>2]=f+(c[p>>2]|0);c[n>>2]=b+(c[q>>2]|0);g=e+-1|0;c[m>>2]=g}while((e|0)!=0);return}else{do{i=c[o>>2]|0;if(!i){g=c[a>>2]|0;e=c[n>>2]|0;f=b}else{e=c[n>>2]|0;g=c[a>>2]|0;f=e;h=g;b=i;while(1){b=b+-1|0;i=c[h>>2]|0;c[f>>2]=(((N(i>>>8&255,l)|0)>>>0)/255|0)<<8|(((N(i&255,k)|0)>>>0)/255|0)<<16|(((N(i>>>16&255,j)|0)>>>0)/255|0);if(!b)break;else{f=f+4|0;h=h+4|0}}f=c[m>>2]|0}c[a>>2]=g+(c[p>>2]|0);c[n>>2]=e+(c[q>>2]|0);b=f+-1|0;c[m>>2]=b}while((f|0)!=0);return}}function rCa(a){a=a|0;var b=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;b=c[a+52>>2]|0;u=d[a+60>>0]|0;v=d[a+61>>0]|0;n=d[a+62>>0]|0;o=a+28|0;t=c[o>>2]|0;p=(c[a+8>>2]<<16|0)/(t|0)|0;q=a+24|0;e=c[q>>2]|0;r=(c[a+4>>2]<<16|0)/(e|0)|0;c[o>>2]=t+-1;if(!t)return;s=a+20|0;t=a+32|0;l=(b&1|0)==0;m=a+12|0;b=c[s>>2]|0;f=0;g=0;k=b;while(1){if((f|0)>65535){j=~f;j=f+65536+((j|0)>-131072?j:-131072)|0;f=f+-65536-(j&-65536)|0;g=g+1+(j>>>16)|0}j=e+-1|0;if(e|0)if(l){e=0;h=65536;i=-1;while(1){if((h|0)>65535){w=~h;w=h+65536+((w|0)>-131072?w:-131072)|0;i=i+1+(w>>>16)|0;e=(c[a>>2]|0)+(N(c[m>>2]|0,g)|0)+(i<<2)|0;h=h+-65536-(w&-65536)|0}w=c[e>>2]|0;c[b>>2]=w>>>16&255|w&65280|w<<16&16711680;if(!j)break;else{b=b+4|0;h=h+r|0;j=j+-1|0}}}else{e=0;h=65536;i=-1;while(1){if((h|0)>65535){w=~h;w=h+65536+((w|0)>-131072?w:-131072)|0;i=i+1+(w>>>16)|0;e=(c[a>>2]|0)+(N(c[m>>2]|0,g)|0)+(i<<2)|0;h=h+-65536-(w&-65536)|0}w=c[e>>2]|0;c[b>>2]=((N(w>>>16&255,n)|0)>>>0)/255|0|(((N(w>>>8&255,v)|0)>>>0)/255|0)<<8|(((N(w&255,u)|0)>>>0)/255|0)<<16;if(!j)break;else{b=b+4|0;h=h+r|0;j=j+-1|0}}}b=k+(c[t>>2]|0)|0;w=c[o>>2]|0;c[o>>2]=w+-1;if(!w)break;f=f+p|0;k=b;e=c[q>>2]|0}c[s>>2]=b;return}function sCa(b){b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;f=c[b+52>>2]|0;A=d[b+60>>0]|0;B=d[b+61>>0]|0;t=d[b+62>>0]|0;e=a[b+63>>0]|0;u=b+28|0;z=c[u>>2]|0;c[u>>2]=z+-1;if(!z)return;v=b+20|0;w=b+24|0;x=b+12|0;y=b+32|0;z=(f&1|0)==0;s=(f&2|0)==0?255:e&255;r=(f&48|0)!=0&(s|0)!=255;q=f&112;p=s^255;f=c[b>>2]|0;e=c[v>>2]|0;n=f;o=e;while(1){m=c[w>>2]|0;g=m+-1|0;a:do if(m|0)if(z){m=g;while(1){k=c[f>>2]|0;i=k>>>16&255;j=k>>>8&255;k=k&255;l=c[e>>2]|0;g=l>>>16&255;h=l>>>8&255;l=l&255;if(r){i=((N(i,s)|0)>>>0)/255|0;j=((N(j,s)|0)>>>0)/255|0;k=((N(k,s)|0)>>>0)/255|0}switch(q&127){case 16:{i=i+(((N(l,p)|0)>>>0)/255|0)|0;h=j+(((N(h,p)|0)>>>0)/255|0)|0;g=k+(((N(g,p)|0)>>>0)/255|0)|0;break}case 32:{g=k+g|0;h=j+h|0;i=i+l|0;i=i>>>0<255?i:255;h=h>>>0<255?h:255;g=g>>>0<255?g:255;break}case 64:{i=((N(i,l)|0)>>>0)/255|0;h=((N(j,h)|0)>>>0)/255|0;g=((N(k,g)|0)>>>0)/255|0;break}default:i=l}c[e>>2]=h<<8|g<<16|i;if(!m)break a;else{e=e+4|0;f=f+4|0;m=m+-1|0}}}else{m=g;while(1){i=c[f>>2]|0;l=c[e>>2]|0;g=l>>>16&255;h=l>>>8&255;l=l&255;k=((N(i&255,A)|0)>>>0)/255|0;j=((N(i>>>8&255,B)|0)>>>0)/255|0;i=((N(i>>>16&255,t)|0)>>>0)/255|0;if(r){i=((N(i,s)|0)>>>0)/255|0;j=((N(j,s)|0)>>>0)/255|0;k=((N(k,s)|0)>>>0)/255|0}switch(q&127){case 16:{i=i+(((N(l,p)|0)>>>0)/255|0)|0;h=j+(((N(h,p)|0)>>>0)/255|0)|0;g=k+(((N(g,p)|0)>>>0)/255|0)|0;break}case 32:{g=k+g|0;h=j+h|0;i=i+l|0;i=i>>>0<255?i:255;h=h>>>0<255?h:255;g=g>>>0<255?g:255;break}case 64:{i=((N(i,l)|0)>>>0)/255|0;h=((N(j,h)|0)>>>0)/255|0;g=((N(k,g)|0)>>>0)/255|0;break}default:i=l}c[e>>2]=h<<8|g<<16|i;if(!m)break a;else{e=e+4|0;f=f+4|0;m=m+-1|0}}}while(0);f=n+(c[x>>2]|0)|0;e=o+(c[y>>2]|0)|0;o=c[u>>2]|0;c[u>>2]=o+-1;if(!o)break;else{n=f;o=e}}c[b>>2]=f;c[v>>2]=e;return}function tCa(b){b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0;f=c[b+52>>2]|0;F=d[b+60>>0]|0;G=d[b+61>>0]|0;w=d[b+62>>0]|0;e=a[b+63>>0]|0;x=b+28|0;E=c[x>>2]|0;y=(c[b+8>>2]<<16|0)/(E|0)|0;z=b+24|0;h=c[z>>2]|0;A=(c[b+4>>2]<<16|0)/(h|0)|0;g=E+-1|0;c[x>>2]=g;if(!E)return;B=b+20|0;C=b+32|0;D=(f&1|0)==0;E=b+12|0;v=(f&2|0)==0?255:e&255;u=(f&48|0)!=0&(v|0)!=255;t=f&112;s=v^255;f=c[B>>2]|0;i=0;j=0;r=f;e=g;while(1){if((i|0)>65535){q=~i;q=i+65536+((q|0)>-131072?q:-131072)|0;i=i+-65536-(q&-65536)|0;q=j+1+(q>>>16)|0}else q=j;if(h){e=0;g=65536;j=-1;while(1){h=h+-1|0;if((g|0)>65535){p=~g;p=g+65536+((p|0)>-131072?p:-131072)|0;j=j+1+(p>>>16)|0;e=(c[b>>2]|0)+(N(c[E>>2]|0,q)|0)+(j<<2)|0;g=g+-65536-(p&-65536)|0}n=c[e>>2]|0;m=n>>>16&255;o=n>>>8&255;n=n&255;p=c[f>>2]|0;k=p>>>16&255;l=p>>>8&255;p=p&255;if(!D){n=((N(n,F)|0)>>>0)/255|0;o=((N(o,G)|0)>>>0)/255|0;m=((N(m,w)|0)>>>0)/255|0}if(u){n=((N(n,v)|0)>>>0)/255|0;o=((N(o,v)|0)>>>0)/255|0;m=((N(m,v)|0)>>>0)/255|0}switch(t&127){case 16:{m=m+(((N(p,s)|0)>>>0)/255|0)|0;l=o+(((N(l,s)|0)>>>0)/255|0)|0;k=n+(((N(k,s)|0)>>>0)/255|0)|0;break}case 32:{k=n+k|0;l=o+l|0;m=m+p|0;m=m>>>0<255?m:255;l=l>>>0<255?l:255;k=k>>>0<255?k:255;break}case 64:{m=((N(m,p)|0)>>>0)/255|0;l=((N(o,l)|0)>>>0)/255|0;k=((N(n,k)|0)>>>0)/255|0;break}default:m=p}c[f>>2]=l<<8|k<<16|m;if(!h)break;else{f=f+4|0;g=g+A|0}}e=c[x>>2]|0}g=r+(c[C>>2]|0)|0;f=e+-1|0;c[x>>2]=f;if(!e)break;i=i+y|0;j=q;r=g;e=f;f=g;h=c[z>>2]|0}c[B>>2]=g;return}function uCa(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;p=a+28|0;o=c[p>>2]|0;q=(c[a+8>>2]<<16|0)/(o|0)|0;k=a+24|0;b=c[k>>2]|0;l=(c[a+4>>2]<<16|0)/(b|0)|0;d=o+-1|0;c[p>>2]=d;if(!o)return;m=a+20|0;n=a+32|0;o=a+12|0;e=c[m>>2]|0;f=0;g=0;j=e;while(1){if((g|0)>65535){i=~g;i=g+65536+((i|0)>-131072?i:-131072)|0;h=f+1+(i>>>16)|0;i=g+-65536-(i&-65536)|0}else{h=f;i=g}if(!b)b=d;else{d=0;f=-1;g=65536;while(1){b=b+-1|0;if((g|0)>65535){r=~g;r=g+65536+((r|0)>-131072?r:-131072)|0;f=f+1+(r>>>16)|0;d=(c[a>>2]|0)+(N(c[o>>2]|0,h)|0)+(f<<2)|0;g=g+-65536-(r&-65536)|0}c[e>>2]=c[d>>2];if(!b)break;else{e=e+4|0;g=g+l|0}}b=c[p>>2]|0}e=j+(c[n>>2]|0)|0;d=b+-1|0;c[p>>2]=d;if(!b)break;f=h;g=i+q|0;b=c[k>>2]|0;j=e}c[m>>2]=e;return}function vCa(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;b=c[a+52>>2]|0;o=a+28|0;r=c[o>>2]|0;c[o>>2]=r+-1;if(!r)return;p=a+20|0;q=a+24|0;r=a+12|0;n=a+32|0;m=b&112;d=c[a>>2]|0;e=c[p>>2]|0;l=(m&127)==64;j=d;k=e;while(1){i=c[q>>2]|0;b=i+-1|0;if(i|0)switch(m&127){case 16:{while(1){c[e>>2]=c[d>>2]&16777215;if(!b)break;else{e=e+4|0;d=d+4|0;b=b+-1|0}}break}case 32:{while(1){i=c[d>>2]|0;f=c[e>>2]|0;h=(f&255)+(i&255)|0;g=(f>>>8&255)+(i>>>8&255)|0;i=(f>>>16&255)+(i>>>16&255)|0;c[e>>2]=(g>>>0<255?g:255)<<8|(h>>>0<255?h:255)|(i>>>0<255?i:255)<<16;if(!b)break;else{e=e+4|0;d=d+4|0;b=b+-1|0}}break}default:while(1){i=c[d>>2]|0;f=c[e>>2]|0;g=f>>>16&255;h=f>>>8&255;f=f&255;if(l){g=((N(g,i>>>16&255)|0)>>>0)/255|0;h=((N(h,i>>>8&255)|0)>>>0)/255|0;f=((N(f,i&255)|0)>>>0)/255|0}c[e>>2]=h<<8|f|g<<16;if(!b)break;else{e=e+4|0;d=d+4|0;b=b+-1|0}}}d=j+(c[r>>2]|0)|0;b=k+(c[n>>2]|0)|0;k=c[o>>2]|0;c[o>>2]=k+-1;if(!k)break;else{j=d;k=b;e=b}}c[a>>2]=d;c[p>>2]=b;return}function wCa(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;b=c[a+52>>2]|0;x=a+28|0;w=c[x>>2]|0;y=(c[a+8>>2]<<16|0)/(w|0)|0;t=a+24|0;d=c[t>>2]|0;u=(c[a+4>>2]<<16|0)/(d|0)|0;c[x>>2]=w+-1;if(!w)return;v=a+20|0;w=a+32|0;s=b&112;q=a+12|0;r=(s&127)==16;b=c[v>>2]|0;e=0;f=0;p=b;while(1){if((e|0)>65535){o=~e;o=e+65536+((o|0)>-131072?o:-131072)|0;e=e+-65536-(o&-65536)|0;f=f+1+(o>>>16)|0}i=d+-1|0;a:do if(d|0){if(r){d=0;g=65536;h=-1;while(1){if((g|0)>65535){o=~g;o=g+65536+((o|0)>-131072?o:-131072)|0;h=h+1+(o>>>16)|0;d=(c[a>>2]|0)+(N(c[q>>2]|0,f)|0)+(h<<2)|0;g=g+-65536-(o&-65536)|0}c[b>>2]=c[d>>2]&16777215;if(!i)break a;else{b=b+4|0;g=g+u|0;i=i+-1|0}}}d=0;g=65536;h=-1;o=i;while(1){if((g|0)>65535){n=~g;n=g+65536+((n|0)>-131072?n:-131072)|0;h=h+1+(n>>>16)|0;d=(c[a>>2]|0)+(N(c[q>>2]|0,f)|0)+(h<<2)|0;g=g+-65536-(n&-65536)|0}n=c[d>>2]|0;k=n>>>16&255;m=n>>>8&255;n=n&255;i=c[b>>2]|0;l=i>>>16&255;j=i>>>8&255;i=i&255;switch(s&127){case 64:{l=((N(l,k)|0)>>>0)/255|0;j=((N(j,m)|0)>>>0)/255|0;i=((N(i,n)|0)>>>0)/255|0;break}case 32:{i=i+n|0;j=j+m|0;l=l+k|0;l=l>>>0<255?l:255;j=j>>>0<255?j:255;i=i>>>0<255?i:255;break}default:{}}c[b>>2]=j<<8|i|l<<16;if(!o)break a;else{b=b+4|0;g=g+u|0;o=o+-1|0}}}while(0);b=p+(c[w>>2]|0)|0;p=c[x>>2]|0;c[x>>2]=p+-1;if(!p)break;e=e+y|0;p=b;d=c[t>>2]|0}c[v>>2]=b;return}function xCa(a){a=a|0;var b=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;e=c[a+52>>2]|0;k=d[a+60>>0]|0;l=d[a+61>>0]|0;j=d[a+62>>0]|0;m=a+28|0;q=c[m>>2]|0;b=q+-1|0;c[m>>2]=b;if(!q)return;n=a+20|0;o=a+24|0;p=a+12|0;q=a+32|0;if(!(e&1)){g=b;do{e=c[o>>2]|0;if(!e){f=c[a>>2]|0;b=c[n>>2]|0;e=g}else{b=c[n>>2]|0;f=c[a>>2]|0;g=b;h=f;while(1){e=e+-1|0;c[g>>2]=c[h>>2]&16777215;if(!e)break;else{g=g+4|0;h=h+4|0}}e=c[m>>2]|0}c[a>>2]=f+(c[p>>2]|0);c[n>>2]=b+(c[q>>2]|0);g=e+-1|0;c[m>>2]=g}while((e|0)!=0);return}else{do{i=c[o>>2]|0;if(!i){g=c[a>>2]|0;e=c[n>>2]|0;f=b}else{e=c[n>>2]|0;g=c[a>>2]|0;f=e;h=g;b=i;while(1){b=b+-1|0;i=c[h>>2]|0;c[f>>2]=(((N(i>>>8&255,l)|0)>>>0)/255|0)<<8|(((N(i&255,k)|0)>>>0)/255|0)|(((N(i>>>16&255,j)|0)>>>0)/255|0)<<16;if(!b)break;else{f=f+4|0;h=h+4|0}}f=c[m>>2]|0}c[a>>2]=g+(c[p>>2]|0);c[n>>2]=e+(c[q>>2]|0);b=f+-1|0;c[m>>2]=b}while((f|0)!=0);return}}function yCa(a){a=a|0;var b=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;b=c[a+52>>2]|0;u=d[a+60>>0]|0;v=d[a+61>>0]|0;n=d[a+62>>0]|0;o=a+28|0;t=c[o>>2]|0;p=(c[a+8>>2]<<16|0)/(t|0)|0;q=a+24|0;e=c[q>>2]|0;r=(c[a+4>>2]<<16|0)/(e|0)|0;c[o>>2]=t+-1;if(!t)return;s=a+20|0;t=a+32|0;l=(b&1|0)==0;m=a+12|0;b=c[s>>2]|0;f=0;g=0;k=b;while(1){if((f|0)>65535){j=~f;j=f+65536+((j|0)>-131072?j:-131072)|0;f=f+-65536-(j&-65536)|0;g=g+1+(j>>>16)|0}j=e+-1|0;if(e|0)if(l){e=0;h=65536;i=-1;while(1){if((h|0)>65535){w=~h;w=h+65536+((w|0)>-131072?w:-131072)|0;i=i+1+(w>>>16)|0;e=(c[a>>2]|0)+(N(c[m>>2]|0,g)|0)+(i<<2)|0;h=h+-65536-(w&-65536)|0}c[b>>2]=c[e>>2]&16777215;if(!j)break;else{b=b+4|0;h=h+r|0;j=j+-1|0}}}else{e=0;h=65536;i=-1;while(1){if((h|0)>65535){w=~h;w=h+65536+((w|0)>-131072?w:-131072)|0;i=i+1+(w>>>16)|0;e=(c[a>>2]|0)+(N(c[m>>2]|0,g)|0)+(i<<2)|0;h=h+-65536-(w&-65536)|0}w=c[e>>2]|0;c[b>>2]=(((N(w>>>16&255,n)|0)>>>0)/255|0)<<16|(((N(w>>>8&255,v)|0)>>>0)/255|0)<<8|(((N(w&255,u)|0)>>>0)/255|0);if(!j)break;else{b=b+4|0;h=h+r|0;j=j+-1|0}}}b=k+(c[t>>2]|0)|0;w=c[o>>2]|0;c[o>>2]=w+-1;if(!w)break;f=f+p|0;k=b;e=c[q>>2]|0}c[s>>2]=b;return}function zCa(b){b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;f=c[b+52>>2]|0;A=d[b+60>>0]|0;B=d[b+61>>0]|0;t=d[b+62>>0]|0;e=a[b+63>>0]|0;u=b+28|0;z=c[u>>2]|0;c[u>>2]=z+-1;if(!z)return;v=b+20|0;w=b+24|0;x=b+12|0;y=b+32|0;z=(f&1|0)==0;s=(f&2|0)==0?255:e&255;r=(f&48|0)!=0&(s|0)!=255;q=f&112;p=s^255;f=c[b>>2]|0;e=c[v>>2]|0;n=f;o=e;while(1){m=c[w>>2]|0;g=m+-1|0;a:do if(m|0)if(z){m=g;while(1){k=c[f>>2]|0;i=k>>>16&255;j=k>>>8&255;k=k&255;g=c[e>>2]|0;l=g>>>16&255;h=g>>>8&255;g=g&255;if(r){i=((N(i,s)|0)>>>0)/255|0;j=((N(j,s)|0)>>>0)/255|0;k=((N(k,s)|0)>>>0)/255|0}switch(q&127){case 16:{i=i+(((N(l,p)|0)>>>0)/255|0)|0;h=j+(((N(h,p)|0)>>>0)/255|0)|0;g=k+(((N(g,p)|0)>>>0)/255|0)|0;break}case 32:{g=k+g|0;h=j+h|0;i=i+l|0;i=i>>>0<255?i:255;h=h>>>0<255?h:255;g=g>>>0<255?g:255;break}case 64:{i=((N(i,l)|0)>>>0)/255|0;h=((N(j,h)|0)>>>0)/255|0;g=((N(k,g)|0)>>>0)/255|0;break}default:i=l}c[e>>2]=h<<8|g|i<<16;if(!m)break a;else{e=e+4|0;f=f+4|0;m=m+-1|0}}}else{m=g;while(1){i=c[f>>2]|0;g=c[e>>2]|0;l=g>>>16&255;h=g>>>8&255;g=g&255;k=((N(i&255,A)|0)>>>0)/255|0;j=((N(i>>>8&255,B)|0)>>>0)/255|0;i=((N(i>>>16&255,t)|0)>>>0)/255|0;if(r){i=((N(i,s)|0)>>>0)/255|0;j=((N(j,s)|0)>>>0)/255|0;k=((N(k,s)|0)>>>0)/255|0}switch(q&127){case 16:{i=i+(((N(l,p)|0)>>>0)/255|0)|0;h=j+(((N(h,p)|0)>>>0)/255|0)|0;g=k+(((N(g,p)|0)>>>0)/255|0)|0;break}case 32:{g=k+g|0;h=j+h|0;i=i+l|0;i=i>>>0<255?i:255;h=h>>>0<255?h:255;g=g>>>0<255?g:255;break}case 64:{i=((N(i,l)|0)>>>0)/255|0;h=((N(j,h)|0)>>>0)/255|0;g=((N(k,g)|0)>>>0)/255|0;break}default:i=l}c[e>>2]=h<<8|g|i<<16;if(!m)break a;else{e=e+4|0;f=f+4|0;m=m+-1|0}}}while(0);f=n+(c[x>>2]|0)|0;e=o+(c[y>>2]|0)|0;o=c[u>>2]|0;c[u>>2]=o+-1;if(!o)break;else{n=f;o=e}}c[b>>2]=f;c[v>>2]=e;return}function ACa(b){b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0;f=c[b+52>>2]|0;F=d[b+60>>0]|0;G=d[b+61>>0]|0;w=d[b+62>>0]|0;e=a[b+63>>0]|0;x=b+28|0;E=c[x>>2]|0;y=(c[b+8>>2]<<16|0)/(E|0)|0;z=b+24|0;h=c[z>>2]|0;A=(c[b+4>>2]<<16|0)/(h|0)|0;g=E+-1|0;c[x>>2]=g;if(!E)return;B=b+20|0;C=b+32|0;D=(f&1|0)==0;E=b+12|0;v=(f&2|0)==0?255:e&255;u=(f&48|0)!=0&(v|0)!=255;t=f&112;s=v^255;f=c[B>>2]|0;i=0;j=0;r=f;e=g;while(1){if((i|0)>65535){q=~i;q=i+65536+((q|0)>-131072?q:-131072)|0;i=i+-65536-(q&-65536)|0;q=j+1+(q>>>16)|0}else q=j;if(h){e=0;g=65536;j=-1;while(1){h=h+-1|0;if((g|0)>65535){p=~g;p=g+65536+((p|0)>-131072?p:-131072)|0;j=j+1+(p>>>16)|0;e=(c[b>>2]|0)+(N(c[E>>2]|0,q)|0)+(j<<2)|0;g=g+-65536-(p&-65536)|0}n=c[e>>2]|0;m=n>>>16&255;o=n>>>8&255;n=n&255;k=c[f>>2]|0;p=k>>>16&255;l=k>>>8&255;k=k&255;if(!D){n=((N(n,F)|0)>>>0)/255|0;o=((N(o,G)|0)>>>0)/255|0;m=((N(m,w)|0)>>>0)/255|0}if(u){n=((N(n,v)|0)>>>0)/255|0;o=((N(o,v)|0)>>>0)/255|0;m=((N(m,v)|0)>>>0)/255|0}switch(t&127){case 16:{m=m+(((N(p,s)|0)>>>0)/255|0)|0;l=o+(((N(l,s)|0)>>>0)/255|0)|0;k=n+(((N(k,s)|0)>>>0)/255|0)|0;break}case 32:{k=n+k|0;l=o+l|0;m=m+p|0;m=m>>>0<255?m:255;l=l>>>0<255?l:255;k=k>>>0<255?k:255;break}case 64:{m=((N(m,p)|0)>>>0)/255|0;l=((N(o,l)|0)>>>0)/255|0;k=((N(n,k)|0)>>>0)/255|0;break}default:m=p}c[f>>2]=l<<8|k|m<<16;if(!h)break;else{f=f+4|0;g=g+A|0}}e=c[x>>2]|0}g=r+(c[C>>2]|0)|0;f=e+-1|0;c[x>>2]=f;if(!e)break;i=i+y|0;j=q;r=g;e=f;f=g;h=c[z>>2]|0}c[B>>2]=g;return}function BCa(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;p=a+28|0;o=c[p>>2]|0;q=(c[a+8>>2]<<16|0)/(o|0)|0;k=a+24|0;b=c[k>>2]|0;l=(c[a+4>>2]<<16|0)/(b|0)|0;d=o+-1|0;c[p>>2]=d;if(!o)return;m=a+20|0;n=a+32|0;o=a+12|0;e=c[m>>2]|0;f=0;g=0;j=e;while(1){if((g|0)>65535){i=~g;i=g+65536+((i|0)>-131072?i:-131072)|0;h=f+1+(i>>>16)|0;i=g+-65536-(i&-65536)|0}else{h=f;i=g}if(!b)b=d;else{d=0;f=-1;g=65536;while(1){b=b+-1|0;if((g|0)>65535){r=~g;r=g+65536+((r|0)>-131072?r:-131072)|0;f=f+1+(r>>>16)|0;d=(c[a>>2]|0)+(N(c[o>>2]|0,h)|0)+(f<<2)|0;g=g+-65536-(r&-65536)|0}r=c[d>>2]|0;c[e>>2]=r&65280|r<<16|r>>>16&255|-16777216;if(!b)break;else{e=e+4|0;g=g+l|0}}b=c[p>>2]|0}e=j+(c[n>>2]|0)|0;d=b+-1|0;c[p>>2]=d;if(!b)break;f=h;g=i+q|0;b=c[k>>2]|0;j=e}c[m>>2]=e;return}function CCa(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;b=c[a+52>>2]|0;r=a+28|0;u=c[r>>2]|0;c[r>>2]=u+-1;if(!u)return;s=a+20|0;t=a+24|0;u=a+12|0;q=a+32|0;p=b&112;m=(p&127)==16;d=c[a>>2]|0;e=c[s>>2]|0;n=d;o=e;while(1){l=c[t>>2]|0;b=l+-1|0;a:do if(l|0){if(m)while(1){l=c[d>>2]|0;c[e>>2]=l&65280|l<<16|l>>>16&255|-16777216;if(!b)break a;else{e=e+4|0;d=d+4|0;b=b+-1|0}}while(1){k=c[d>>2]|0;h=k>>>16&255;j=k>>>8&255;k=k&255;l=c[e>>2]|0;f=l>>>16&255;g=l>>>8&255;i=l&255;l=l&-16777216;switch(p&127){case 64:{i=((N(h,i)|0)>>>0)/255|0;g=((N(g,j)|0)>>>0)/255|0;f=((N(f,k)|0)>>>0)/255|0;break}case 32:{f=f+k|0;g=g+j|0;i=h+i|0;i=i>>>0<255?i:255;g=g>>>0<255?g:255;f=f>>>0<255?f:255;break}default:{}}c[e>>2]=g<<8|f<<16|i|l;if(!b)break a;else{e=e+4|0;d=d+4|0;b=b+-1|0}}}while(0);d=n+(c[u>>2]|0)|0;b=o+(c[q>>2]|0)|0;o=c[r>>2]|0;c[r>>2]=o+-1;if(!o)break;else{n=d;o=b;e=b}}c[a>>2]=d;c[s>>2]=b;return}function DCa(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;b=c[a+52>>2]|0;y=a+28|0;x=c[y>>2]|0;z=(c[a+8>>2]<<16|0)/(x|0)|0;u=a+24|0;d=c[u>>2]|0;v=(c[a+4>>2]<<16|0)/(d|0)|0;c[y>>2]=x+-1;if(!x)return;w=a+20|0;x=a+32|0;t=b&112;r=a+12|0;s=(t&127)==16;b=c[w>>2]|0;e=0;f=0;q=b;while(1){if((e|0)>65535){p=~e;p=e+65536+((p|0)>-131072?p:-131072)|0;e=e+-65536-(p&-65536)|0;f=f+1+(p>>>16)|0}i=d+-1|0;a:do if(d|0){if(s){d=0;g=65536;h=-1;while(1){if((g|0)>65535){p=~g;p=g+65536+((p|0)>-131072?p:-131072)|0;h=h+1+(p>>>16)|0;d=(c[a>>2]|0)+(N(c[r>>2]|0,f)|0)+(h<<2)|0;g=g+-65536-(p&-65536)|0}p=c[d>>2]|0;c[b>>2]=p&65280|p<<16|p>>>16&255|-16777216;if(!i)break a;else{b=b+4|0;g=g+v|0;i=i+-1|0}}}d=0;g=65536;h=-1;while(1){if((g|0)>65535){p=~g;p=g+65536+((p|0)>-131072?p:-131072)|0;h=h+1+(p>>>16)|0;d=(c[a>>2]|0)+(N(c[r>>2]|0,f)|0)+(h<<2)|0;g=g+-65536-(p&-65536)|0}o=c[d>>2]|0;l=o>>>16&255;n=o>>>8&255;o=o&255;p=c[b>>2]|0;j=p>>>16&255;k=p>>>8&255;m=p&255;p=p&-16777216;switch(t&127){case 64:{m=((N(l,m)|0)>>>0)/255|0;k=((N(k,n)|0)>>>0)/255|0;j=((N(j,o)|0)>>>0)/255|0;break}case 32:{j=j+o|0;k=k+n|0;m=l+m|0;m=m>>>0<255?m:255;k=k>>>0<255?k:255;j=j>>>0<255?j:255;break}default:{}}c[b>>2]=k<<8|j<<16|m|p;if(!i)break a;else{b=b+4|0;g=g+v|0;i=i+-1|0}}}while(0);b=q+(c[x>>2]|0)|0;q=c[y>>2]|0;c[y>>2]=q+-1;if(!q)break;e=e+z|0;q=b;d=c[u>>2]|0}c[w>>2]=b;return}function ECa(b){b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;f=c[b+52>>2]|0;k=d[b+60>>0]|0;l=d[b+61>>0]|0;j=d[b+62>>0]|0;e=a[b+63>>0]|0;n=b+28|0;r=c[n>>2]|0;h=r+-1|0;c[n>>2]=h;if(!r)return;o=b+20|0;p=b+24|0;q=b+12|0;r=b+32|0;m=(f&2|0)==0?-16777216:(e&255)<<24;if(!(f&1)){do{f=c[p>>2]|0;if(!f){g=c[b>>2]|0;e=c[o>>2]|0;f=h}else{e=c[o>>2]|0;g=c[b>>2]|0;h=e;i=g;while(1){f=f+-1|0;l=c[i>>2]|0;c[h>>2]=l<<16&16711680|m|l&65280|l>>>16&255;if(!f)break;else{h=h+4|0;i=i+4|0}}f=c[n>>2]|0}c[b>>2]=g+(c[q>>2]|0);c[o>>2]=e+(c[r>>2]|0);h=f+-1|0;c[n>>2]=h}while((f|0)!=0);return}else{do{f=c[p>>2]|0;if(!f){g=c[b>>2]|0;e=c[o>>2]|0;f=h}else{e=c[o>>2]|0;g=c[b>>2]|0;h=e;i=g;while(1){f=f+-1|0;s=c[i>>2]|0;c[h>>2]=(((N(s&255,k)|0)>>>0)/255|0)<<16|m|(((N(s>>>8&255,l)|0)>>>0)/255|0)<<8|(((N(s>>>16&255,j)|0)>>>0)/255|0);if(!f)break;else{h=h+4|0;i=i+4|0}}f=c[n>>2]|0}c[b>>2]=g+(c[q>>2]|0);c[o>>2]=e+(c[r>>2]|0);h=f+-1|0;c[n>>2]=h}while((f|0)!=0);return}}function FCa(b){b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;f=c[b+52>>2]|0;w=d[b+60>>0]|0;x=d[b+61>>0]|0;n=d[b+62>>0]|0;e=a[b+63>>0]|0;o=b+28|0;v=c[o>>2]|0;p=(c[b+8>>2]<<16|0)/(v|0)|0;q=b+24|0;g=c[q>>2]|0;r=(c[b+4>>2]<<16|0)/(g|0)|0;c[o>>2]=v+-1;if(!v)return;s=b+20|0;t=b+32|0;u=(f&1|0)==0;v=b+12|0;m=(f&2|0)==0?-16777216:(e&255)<<24;e=c[s>>2]|0;f=0;h=0;l=e;while(1){if((f|0)>65535){k=~f;k=f+65536+((k|0)>-131072?k:-131072)|0;f=f+-65536-(k&-65536)|0;h=h+1+(k>>>16)|0}k=g+-1|0;if(g|0)if(u){g=0;i=65536;j=-1;while(1){if((i|0)>65535){y=~i;y=i+65536+((y|0)>-131072?y:-131072)|0;j=j+1+(y>>>16)|0;g=(c[b>>2]|0)+(N(c[v>>2]|0,h)|0)+(j<<2)|0;i=i+-65536-(y&-65536)|0}y=c[g>>2]|0;c[e>>2]=y&65280|m|y>>>16&255|y<<16&16711680;if(!k)break;else{e=e+4|0;i=i+r|0;k=k+-1|0}}}else{g=0;i=65536;j=-1;while(1){if((i|0)>65535){y=~i;y=i+65536+((y|0)>-131072?y:-131072)|0;j=j+1+(y>>>16)|0;g=(c[b>>2]|0)+(N(c[v>>2]|0,h)|0)+(j<<2)|0;i=i+-65536-(y&-65536)|0}y=c[g>>2]|0;c[e>>2]=(((N(y>>>8&255,x)|0)>>>0)/255|0)<<8|m|(((N(y>>>16&255,n)|0)>>>0)/255|0)|(((N(y&255,w)|0)>>>0)/255|0)<<16;if(!k)break;else{e=e+4|0;i=i+r|0;k=k+-1|0}}}e=l+(c[t>>2]|0)|0;y=c[o>>2]|0;c[o>>2]=y+-1;if(!y)break;f=f+p|0;l=e;g=c[q>>2]|0}c[s>>2]=e;return}function GCa(b){b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;f=c[b+52>>2]|0;B=d[b+60>>0]|0;C=d[b+61>>0]|0;u=d[b+62>>0]|0;e=a[b+63>>0]|0;v=b+28|0;A=c[v>>2]|0;g=A+-1|0;c[v>>2]=g;if(!A)return;w=b+20|0;x=b+24|0;y=b+12|0;z=b+32|0;A=(f&1|0)==0;t=(f&2|0)==0?255:e&255;s=(f&48|0)!=0&(t|0)!=255;r=f&112;q=t^255;do{h=c[x>>2]|0;if(!h){f=c[w>>2]|0;h=g;e=c[b>>2]|0}else{f=c[w>>2]|0;e=c[b>>2]|0;o=f;p=e;while(1){h=h+-1|0;l=c[p>>2]|0;j=l>>>16&255;k=l>>>8&255;l=l&255;m=c[o>>2]|0;g=m>>>16&255;i=m>>>8&255;n=m&255;m=m>>>24;if(!A){j=((N(j,u)|0)>>>0)/255|0;k=((N(k,C)|0)>>>0)/255|0;l=((N(l,B)|0)>>>0)/255|0}if(s){j=((N(j,t)|0)>>>0)/255|0;k=((N(k,t)|0)>>>0)/255|0;l=((N(l,t)|0)>>>0)/255|0}switch(r&127){case 16:{m=(((N(m,q)|0)>>>0)/255|0)+t|0;j=j+(((N(n,q)|0)>>>0)/255|0)|0;i=k+(((N(i,q)|0)>>>0)/255|0)|0;g=l+(((N(g,q)|0)>>>0)/255|0)|0;break}case 32:{g=l+g|0;i=k+i|0;j=j+n|0;j=j>>>0<255?j:255;i=i>>>0<255?i:255;g=g>>>0<255?g:255;break}case 64:{j=((N(j,n)|0)>>>0)/255|0;i=((N(k,i)|0)>>>0)/255|0;g=((N(l,g)|0)>>>0)/255|0;break}default:j=n}c[o>>2]=i<<8|g<<16|j|m<<24;if(!h)break;else{o=o+4|0;p=p+4|0}}h=c[v>>2]|0}c[b>>2]=e+(c[y>>2]|0);c[w>>2]=f+(c[z>>2]|0);g=h+-1|0;c[v>>2]=g}while((h|0)!=0);return}function HCa(b){b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0;f=c[b+52>>2]|0;G=d[b+60>>0]|0;H=d[b+61>>0]|0;x=d[b+62>>0]|0;e=a[b+63>>0]|0;y=b+28|0;F=c[y>>2]|0;z=(c[b+8>>2]<<16|0)/(F|0)|0;A=b+24|0;h=c[A>>2]|0;B=(c[b+4>>2]<<16|0)/(h|0)|0;g=F+-1|0;c[y>>2]=g;if(!F)return;C=b+20|0;D=b+32|0;E=(f&1|0)==0;F=b+12|0;w=(f&2|0)==0?255:e&255;v=(f&48|0)!=0&(w|0)!=255;u=f&112;t=w^255;f=c[C>>2]|0;i=0;j=0;s=f;e=g;while(1){if((i|0)>65535){r=~i;r=i+65536+((r|0)>-131072?r:-131072)|0;i=i+-65536-(r&-65536)|0;r=j+1+(r>>>16)|0}else r=j;if(h){e=0;g=65536;j=-1;while(1){h=h+-1|0;if((g|0)>65535){q=~g;q=g+65536+((q|0)>-131072?q:-131072)|0;j=j+1+(q>>>16)|0;e=(c[b>>2]|0)+(N(c[F>>2]|0,r)|0)+(j<<2)|0;g=g+-65536-(q&-65536)|0}m=c[e>>2]|0;o=m>>>16&255;p=m>>>8&255;m=m&255;q=c[f>>2]|0;k=q>>>16&255;l=q>>>8&255;n=q&255;q=q>>>24;if(!E){m=((N(m,G)|0)>>>0)/255|0;p=((N(p,H)|0)>>>0)/255|0;o=((N(o,x)|0)>>>0)/255|0}if(v){m=((N(m,w)|0)>>>0)/255|0;p=((N(p,w)|0)>>>0)/255|0;o=((N(o,w)|0)>>>0)/255|0}switch(u&127){case 16:{q=(((N(q,t)|0)>>>0)/255|0)+w|0;n=o+(((N(n,t)|0)>>>0)/255|0)|0;l=p+(((N(l,t)|0)>>>0)/255|0)|0;k=m+(((N(k,t)|0)>>>0)/255|0)|0;break}case 32:{k=m+k|0;l=p+l|0;n=o+n|0;n=n>>>0<255?n:255;l=l>>>0<255?l:255;k=k>>>0<255?k:255;break}case 64:{n=((N(o,n)|0)>>>0)/255|0;l=((N(p,l)|0)>>>0)/255|0;k=((N(m,k)|0)>>>0)/255|0;break}default:{}}c[f>>2]=l<<8|k<<16|n|q<<24;if(!h)break;else{f=f+4|0;g=g+B|0}}e=c[y>>2]|0}g=s+(c[D>>2]|0)|0;f=e+-1|0;c[y>>2]=f;if(!e)break;i=i+z|0;j=r;s=g;e=f;f=g;h=c[A>>2]|0}c[C>>2]=g;return}function ICa(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;p=a+28|0;o=c[p>>2]|0;q=(c[a+8>>2]<<16|0)/(o|0)|0;k=a+24|0;b=c[k>>2]|0;l=(c[a+4>>2]<<16|0)/(b|0)|0;d=o+-1|0;c[p>>2]=d;if(!o)return;m=a+20|0;n=a+32|0;o=a+12|0;e=c[m>>2]|0;f=0;g=0;j=e;while(1){if((g|0)>65535){i=~g;i=g+65536+((i|0)>-131072?i:-131072)|0;h=f+1+(i>>>16)|0;i=g+-65536-(i&-65536)|0}else{h=f;i=g}if(!b)b=d;else{d=0;f=-1;g=65536;while(1){b=b+-1|0;if((g|0)>65535){r=~g;r=g+65536+((r|0)>-131072?r:-131072)|0;f=f+1+(r>>>16)|0;d=(c[a>>2]|0)+(N(c[o>>2]|0,h)|0)+(f<<2)|0;g=g+-65536-(r&-65536)|0}c[e>>2]=c[d>>2]&16777215;if(!b)break;else{e=e+4|0;g=g+l|0}}b=c[p>>2]|0}e=j+(c[n>>2]|0)|0;d=b+-1|0;c[p>>2]=d;if(!b)break;f=h;g=i+q|0;b=c[k>>2]|0;j=e}c[m>>2]=e;return}function JCa(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;b=c[a+52>>2]|0;r=a+28|0;u=c[r>>2]|0;c[r>>2]=u+-1;if(!u)return;s=a+20|0;t=a+24|0;u=a+12|0;p=a+32|0;q=(b&48|0)==0;o=b&112;d=c[a>>2]|0;b=c[s>>2]|0;m=d;n=b;while(1){l=c[t>>2]|0;e=l+-1|0;a:do if(l|0){if(q){l=e;while(1){h=c[d>>2]|0;k=h>>>16&255;j=h>>>8&255;i=h&255;g=c[b>>2]|0;e=g>>>16&255;f=g>>>8&255;g=g&255;switch(o&127){case 16:{h=h>>>24^255;g=i+(((N(h,g)|0)>>>0)/255|0)|0;f=j+(((N(f,h)|0)>>>0)/255|0)|0;e=k+(((N(e,h)|0)>>>0)/255|0)|0;break}case 32:{e=k+e|0;f=j+f|0;g=i+g|0;g=g>>>0<255?g:255;f=f>>>0<255?f:255;e=e>>>0<255?e:255;break}case 64:{g=((N(i,g)|0)>>>0)/255|0;f=((N(j,f)|0)>>>0)/255|0;e=((N(k,e)|0)>>>0)/255|0;break}default:{}}c[b>>2]=f<<8|e<<16|g;if(!l)break a;else{b=b+4|0;d=d+4|0;l=l+-1|0}}}l=e;while(1){k=c[d>>2]|0;h=k>>>16&255;j=k>>>8&255;i=k&255;k=k>>>24;g=c[b>>2]|0;e=g>>>16&255;f=g>>>8&255;g=g&255;if((k|0)!=255){h=((N(h,k)|0)>>>0)/255|0;i=((N(i,k)|0)>>>0)/255|0;j=((N(j,k)|0)>>>0)/255|0}switch(o&127){case 16:{k=k^255;g=i+(((N(k,g)|0)>>>0)/255|0)|0;f=j+(((N(f,k)|0)>>>0)/255|0)|0;e=h+(((N(e,k)|0)>>>0)/255|0)|0;break}case 32:{e=h+e|0;f=j+f|0;g=i+g|0;g=g>>>0<255?g:255;f=f>>>0<255?f:255;e=e>>>0<255?e:255;break}case 64:{g=((N(i,g)|0)>>>0)/255|0;f=((N(j,f)|0)>>>0)/255|0;e=((N(h,e)|0)>>>0)/255|0;break}default:{}}c[b>>2]=f<<8|e<<16|g;if(!l)break a;else{b=b+4|0;d=d+4|0;l=l+-1|0}}}while(0);d=m+(c[u>>2]|0)|0;b=n+(c[p>>2]|0)|0;n=c[r>>2]|0;c[r>>2]=n+-1;if(!n)break;else{m=d;n=b}}c[a>>2]=d;c[s>>2]=b;return}function KCa(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;b=c[a+52>>2]|0;y=a+28|0;x=c[y>>2]|0;z=(c[a+8>>2]<<16|0)/(x|0)|0;s=a+24|0;e=c[s>>2]|0;t=(c[a+4>>2]<<16|0)/(e|0)|0;d=x+-1|0;c[y>>2]=d;if(!x)return;u=a+20|0;v=a+32|0;w=(b&48|0)!=0;x=a+12|0;r=b&112;p=c[u>>2]|0;f=0;g=0;q=p;b=d;d=p;while(1){if((f|0)>65535){p=~f;p=f+65536+((p|0)>-131072?p:-131072)|0;o=f+-65536-(p&-65536)|0;p=g+1+(p>>>16)|0}else{o=f;p=g}if(e){b=0;f=65536;g=-1;while(1){e=e+-1|0;if((f|0)>65535){n=~f;n=f+65536+((n|0)>-131072?n:-131072)|0;g=g+1+(n>>>16)|0;b=(c[a>>2]|0)+(N(c[x>>2]|0,p)|0)+(g<<2)|0;f=f+-65536-(n&-65536)|0}n=c[b>>2]|0;l=n>>>16&255;m=n>>>8&255;k=n&255;n=n>>>24;j=c[d>>2]|0;h=j>>>16&255;i=j>>>8&255;j=j&255;if(w&(n|0)!=255){l=((N(l,n)|0)>>>0)/255|0;m=((N(m,n)|0)>>>0)/255|0;k=((N(k,n)|0)>>>0)/255|0}switch(r&127){case 16:{n=n^255;j=k+(((N(n,j)|0)>>>0)/255|0)|0;i=m+(((N(i,n)|0)>>>0)/255|0)|0;h=l+(((N(h,n)|0)>>>0)/255|0)|0;break}case 32:{h=l+h|0;i=m+i|0;j=k+j|0;j=j>>>0<255?j:255;i=i>>>0<255?i:255;h=h>>>0<255?h:255;break}case 64:{j=((N(k,j)|0)>>>0)/255|0;i=((N(m,i)|0)>>>0)/255|0;h=((N(l,h)|0)>>>0)/255|0;break}default:{}}c[d>>2]=i<<8|h<<16|j;if(!e)break;else{d=d+4|0;f=f+t|0}}b=c[y>>2]|0}e=q+(c[v>>2]|0)|0;d=b+-1|0;c[y>>2]=d;if(!b)break;f=o+z|0;g=p;q=e;b=d;d=e;e=c[s>>2]|0}c[u>>2]=e;return}function LCa(a){a=a|0;var b=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;e=c[a+52>>2]|0;k=d[a+60>>0]|0;l=d[a+61>>0]|0;j=d[a+62>>0]|0;m=a+28|0;q=c[m>>2]|0;b=q+-1|0;c[m>>2]=b;if(!q)return;n=a+20|0;o=a+24|0;p=a+12|0;q=a+32|0;if(!(e&1)){g=b;do{e=c[o>>2]|0;if(!e){f=c[a>>2]|0;b=c[n>>2]|0;e=g}else{b=c[n>>2]|0;f=c[a>>2]|0;g=b;h=f;while(1){e=e+-1|0;c[g>>2]=c[h>>2]&16777215;if(!e)break;else{g=g+4|0;h=h+4|0}}e=c[m>>2]|0}c[a>>2]=f+(c[p>>2]|0);c[n>>2]=b+(c[q>>2]|0);g=e+-1|0;c[m>>2]=g}while((e|0)!=0);return}else{do{i=c[o>>2]|0;if(!i){g=c[a>>2]|0;e=c[n>>2]|0;f=b}else{e=c[n>>2]|0;g=c[a>>2]|0;f=e;h=g;b=i;while(1){b=b+-1|0;i=c[h>>2]|0;c[f>>2]=(((N(i>>>8&255,l)|0)>>>0)/255|0)<<8|(((N(i>>>16&255,k)|0)>>>0)/255|0)<<16|(((N(i&255,j)|0)>>>0)/255|0);if(!b)break;else{f=f+4|0;h=h+4|0}}f=c[m>>2]|0}c[a>>2]=g+(c[p>>2]|0);c[n>>2]=e+(c[q>>2]|0);b=f+-1|0;c[m>>2]=b}while((f|0)!=0);return}}function MCa(a){a=a|0;var b=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;b=c[a+52>>2]|0;u=d[a+60>>0]|0;v=d[a+61>>0]|0;n=d[a+62>>0]|0;o=a+28|0;t=c[o>>2]|0;p=(c[a+8>>2]<<16|0)/(t|0)|0;q=a+24|0;e=c[q>>2]|0;r=(c[a+4>>2]<<16|0)/(e|0)|0;c[o>>2]=t+-1;if(!t)return;s=a+20|0;t=a+32|0;l=(b&1|0)==0;m=a+12|0;b=c[s>>2]|0;f=0;g=0;k=b;while(1){if((f|0)>65535){j=~f;j=f+65536+((j|0)>-131072?j:-131072)|0;f=f+-65536-(j&-65536)|0;g=g+1+(j>>>16)|0}j=e+-1|0;if(e|0)if(l){e=0;h=65536;i=-1;while(1){if((h|0)>65535){w=~h;w=h+65536+((w|0)>-131072?w:-131072)|0;i=i+1+(w>>>16)|0;e=(c[a>>2]|0)+(N(c[m>>2]|0,g)|0)+(i<<2)|0;h=h+-65536-(w&-65536)|0}c[b>>2]=c[e>>2]&16777215;if(!j)break;else{b=b+4|0;h=h+r|0;j=j+-1|0}}}else{e=0;h=65536;i=-1;while(1){if((h|0)>65535){w=~h;w=h+65536+((w|0)>-131072?w:-131072)|0;i=i+1+(w>>>16)|0;e=(c[a>>2]|0)+(N(c[m>>2]|0,g)|0)+(i<<2)|0;h=h+-65536-(w&-65536)|0}w=c[e>>2]|0;c[b>>2]=((N(w&255,n)|0)>>>0)/255|0|(((N(w>>>8&255,v)|0)>>>0)/255|0)<<8|(((N(w>>>16&255,u)|0)>>>0)/255|0)<<16;if(!j)break;else{b=b+4|0;h=h+r|0;j=j+-1|0}}}b=k+(c[t>>2]|0)|0;w=c[o>>2]|0;c[o>>2]=w+-1;if(!w)break;f=f+p|0;k=b;e=c[q>>2]|0}c[s>>2]=b;return}function NCa(a){a=a|0;var b=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;b=c[a+52>>2]|0;A=d[a+60>>0]|0;B=d[a+61>>0]|0;q=d[a+62>>0]|0;r=d[a+63>>0]|0;s=a+28|0;z=c[s>>2]|0;e=z+-1|0;c[s>>2]=e;if(!z)return;t=a+20|0;u=a+24|0;v=a+12|0;w=a+32|0;x=(b&1|0)==0;y=(b&2|0)==0;z=(b&48|0)!=0;p=b&112;do{f=c[u>>2]|0;if(!f){g=c[a>>2]|0;b=c[t>>2]|0;f=e}else{b=c[t>>2]|0;g=c[a>>2]|0;n=b;o=g;while(1){f=f+-1|0;m=c[o>>2]|0;l=m>>>16&255;k=m>>>8&255;j=m&255;m=m>>>24;i=c[n>>2]|0;e=i>>>16&255;h=i>>>8&255;i=i&255;if(!x){j=((N(j,q)|0)>>>0)/255|0;k=((N(k,B)|0)>>>0)/255|0;l=((N(l,A)|0)>>>0)/255|0}C=((N(m,r)|0)>>>0)/255|0;m=y?m:C;if(z&m>>>0<255){j=((N(j,m)|0)>>>0)/255|0;k=((N(k,m)|0)>>>0)/255|0;l=((N(l,m)|0)>>>0)/255|0}switch(p&127){case 16:{C=255-m|0;i=j+(((N(C,i)|0)>>>0)/255|0)|0;h=k+(((N(C,h)|0)>>>0)/255|0)|0;e=l+(((N(C,e)|0)>>>0)/255|0)|0;break}case 32:{e=l+e|0;h=k+h|0;i=j+i|0;i=i>>>0<255?i:255;h=h>>>0<255?h:255;e=e>>>0<255?e:255;break}case 64:{i=((N(j,i)|0)>>>0)/255|0;h=((N(k,h)|0)>>>0)/255|0;e=((N(l,e)|0)>>>0)/255|0;break}default:{}}c[n>>2]=h<<8|e<<16|i;if(!f)break;else{n=n+4|0;o=o+4|0}}f=c[s>>2]|0}c[a>>2]=g+(c[v>>2]|0);c[t>>2]=b+(c[w>>2]|0);e=f+-1|0;c[s>>2]=e}while((f|0)!=0);return}function OCa(a){a=a|0;var b=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0;b=c[a+52>>2]|0;F=d[a+60>>0]|0;G=d[a+61>>0]|0;t=d[a+62>>0]|0;u=d[a+63>>0]|0;v=a+28|0;E=c[v>>2]|0;w=(c[a+8>>2]<<16|0)/(E|0)|0;x=a+24|0;f=c[x>>2]|0;y=(c[a+4>>2]<<16|0)/(f|0)|0;e=E+-1|0;c[v>>2]=e;if(!E)return;z=a+20|0;A=a+32|0;B=(b&1|0)==0;C=a+12|0;D=(b&2|0)==0;E=(b&48|0)!=0;s=b&112;q=c[z>>2]|0;g=0;h=0;r=q;b=e;e=q;while(1){if((g|0)>65535){q=~g;q=g+65536+((q|0)>-131072?q:-131072)|0;p=g+-65536-(q&-65536)|0;q=h+1+(q>>>16)|0}else{p=g;q=h}if(f){b=0;g=65536;h=-1;while(1){f=f+-1|0;if((g|0)>65535){o=~g;o=g+65536+((o|0)>-131072?o:-131072)|0;h=h+1+(o>>>16)|0;b=(c[a>>2]|0)+(N(c[C>>2]|0,q)|0)+(h<<2)|0;g=g+-65536-(o&-65536)|0}o=c[b>>2]|0;m=o>>>16&255;n=o>>>8&255;l=o&255;o=o>>>24;k=c[e>>2]|0;i=k>>>16&255;j=k>>>8&255;k=k&255;if(!B){m=((N(m,F)|0)>>>0)/255|0;n=((N(n,G)|0)>>>0)/255|0;l=((N(l,t)|0)>>>0)/255|0}H=((N(o,u)|0)>>>0)/255|0;o=D?o:H;if(E&o>>>0<255){m=((N(m,o)|0)>>>0)/255|0;n=((N(n,o)|0)>>>0)/255|0;l=((N(l,o)|0)>>>0)/255|0}switch(s&127){case 16:{H=255-o|0;k=l+(((N(H,k)|0)>>>0)/255|0)|0;j=n+(((N(H,j)|0)>>>0)/255|0)|0;i=m+(((N(H,i)|0)>>>0)/255|0)|0;break}case 32:{i=m+i|0;j=n+j|0;k=l+k|0;k=k>>>0<255?k:255;j=j>>>0<255?j:255;i=i>>>0<255?i:255;break}case 64:{k=((N(l,k)|0)>>>0)/255|0;j=((N(n,j)|0)>>>0)/255|0;i=((N(m,i)|0)>>>0)/255|0;break}default:{}}c[e>>2]=j<<8|i<<16|k;if(!f)break;else{e=e+4|0;g=g+y|0}}b=c[v>>2]|0}f=r+(c[A>>2]|0)|0;e=b+-1|0;c[v>>2]=e;if(!b)break;g=p+w|0;h=q;r=f;b=e;e=f;f=c[x>>2]|0}c[z>>2]=f;return}function PCa(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;p=a+28|0;o=c[p>>2]|0;q=(c[a+8>>2]<<16|0)/(o|0)|0;k=a+24|0;b=c[k>>2]|0;l=(c[a+4>>2]<<16|0)/(b|0)|0;d=o+-1|0;c[p>>2]=d;if(!o)return;m=a+20|0;n=a+32|0;o=a+12|0;e=c[m>>2]|0;f=0;g=0;j=e;while(1){if((g|0)>65535){i=~g;i=g+65536+((i|0)>-131072?i:-131072)|0;h=f+1+(i>>>16)|0;i=g+-65536-(i&-65536)|0}else{h=f;i=g}if(!b)b=d;else{d=0;f=-1;g=65536;while(1){b=b+-1|0;if((g|0)>65535){r=~g;r=g+65536+((r|0)>-131072?r:-131072)|0;f=f+1+(r>>>16)|0;d=(c[a>>2]|0)+(N(c[o>>2]|0,h)|0)+(f<<2)|0;g=g+-65536-(r&-65536)|0}r=c[d>>2]|0;c[e>>2]=r<<16&16711680|r&65280|r>>>16&255;if(!b)break;else{e=e+4|0;g=g+l|0}}b=c[p>>2]|0}e=j+(c[n>>2]|0)|0;d=b+-1|0;c[p>>2]=d;if(!b)break;f=h;g=i+q|0;b=c[k>>2]|0;j=e}c[m>>2]=e;return}function QCa(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;b=c[a+52>>2]|0;r=a+28|0;u=c[r>>2]|0;c[r>>2]=u+-1;if(!u)return;s=a+20|0;t=a+24|0;u=a+12|0;p=a+32|0;q=(b&48|0)==0;o=b&112;d=c[a>>2]|0;b=c[s>>2]|0;m=d;n=b;while(1){l=c[t>>2]|0;e=l+-1|0;a:do if(l|0){if(q){l=e;while(1){h=c[d>>2]|0;k=h>>>16&255;j=h>>>8&255;i=h&255;e=c[b>>2]|0;g=e>>>16&255;f=e>>>8&255;e=e&255;switch(o&127){case 16:{h=h>>>24^255;g=i+(((N(g,h)|0)>>>0)/255|0)|0;f=j+(((N(f,h)|0)>>>0)/255|0)|0;e=k+(((N(h,e)|0)>>>0)/255|0)|0;break}case 32:{e=k+e|0;f=j+f|0;g=i+g|0;g=g>>>0<255?g:255;f=f>>>0<255?f:255;e=e>>>0<255?e:255;break}case 64:{g=((N(i,g)|0)>>>0)/255|0;f=((N(j,f)|0)>>>0)/255|0;e=((N(k,e)|0)>>>0)/255|0;break}default:{}}c[b>>2]=f<<8|e|g<<16;if(!l)break a;else{b=b+4|0;d=d+4|0;l=l+-1|0}}}l=e;while(1){k=c[d>>2]|0;h=k>>>16&255;j=k>>>8&255;i=k&255;k=k>>>24;e=c[b>>2]|0;g=e>>>16&255;f=e>>>8&255;e=e&255;if((k|0)!=255){h=((N(h,k)|0)>>>0)/255|0;i=((N(i,k)|0)>>>0)/255|0;j=((N(j,k)|0)>>>0)/255|0}switch(o&127){case 16:{k=k^255;g=i+(((N(g,k)|0)>>>0)/255|0)|0;f=j+(((N(f,k)|0)>>>0)/255|0)|0;e=h+(((N(k,e)|0)>>>0)/255|0)|0;break}case 32:{e=h+e|0;f=j+f|0;g=i+g|0;g=g>>>0<255?g:255;f=f>>>0<255?f:255;e=e>>>0<255?e:255;break}case 64:{g=((N(i,g)|0)>>>0)/255|0;f=((N(j,f)|0)>>>0)/255|0;e=((N(h,e)|0)>>>0)/255|0;break}default:{}}c[b>>2]=f<<8|e|g<<16;if(!l)break a;else{b=b+4|0;d=d+4|0;l=l+-1|0}}}while(0);d=m+(c[u>>2]|0)|0;b=n+(c[p>>2]|0)|0;n=c[r>>2]|0;c[r>>2]=n+-1;if(!n)break;else{m=d;n=b}}c[a>>2]=d;c[s>>2]=b;return}function RCa(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;b=c[a+52>>2]|0;y=a+28|0;x=c[y>>2]|0;z=(c[a+8>>2]<<16|0)/(x|0)|0;s=a+24|0;e=c[s>>2]|0;t=(c[a+4>>2]<<16|0)/(e|0)|0;d=x+-1|0;c[y>>2]=d;if(!x)return;u=a+20|0;v=a+32|0;w=(b&48|0)!=0;x=a+12|0;r=b&112;p=c[u>>2]|0;f=0;g=0;q=p;b=d;d=p;while(1){if((f|0)>65535){p=~f;p=f+65536+((p|0)>-131072?p:-131072)|0;o=f+-65536-(p&-65536)|0;p=g+1+(p>>>16)|0}else{o=f;p=g}if(e){b=0;f=65536;g=-1;while(1){e=e+-1|0;if((f|0)>65535){n=~f;n=f+65536+((n|0)>-131072?n:-131072)|0;g=g+1+(n>>>16)|0;b=(c[a>>2]|0)+(N(c[x>>2]|0,p)|0)+(g<<2)|0;f=f+-65536-(n&-65536)|0}n=c[b>>2]|0;l=n>>>16&255;m=n>>>8&255;k=n&255;n=n>>>24;h=c[d>>2]|0;j=h>>>16&255;i=h>>>8&255;h=h&255;if(w&(n|0)!=255){l=((N(l,n)|0)>>>0)/255|0;m=((N(m,n)|0)>>>0)/255|0;k=((N(k,n)|0)>>>0)/255|0}switch(r&127){case 16:{n=n^255;j=k+(((N(j,n)|0)>>>0)/255|0)|0;i=m+(((N(i,n)|0)>>>0)/255|0)|0;h=l+(((N(n,h)|0)>>>0)/255|0)|0;break}case 32:{h=l+h|0;i=m+i|0;j=k+j|0;j=j>>>0<255?j:255;i=i>>>0<255?i:255;h=h>>>0<255?h:255;break}case 64:{j=((N(k,j)|0)>>>0)/255|0;i=((N(m,i)|0)>>>0)/255|0;h=((N(l,h)|0)>>>0)/255|0;break}default:{}}c[d>>2]=i<<8|h|j<<16;if(!e)break;else{d=d+4|0;f=f+t|0}}b=c[y>>2]|0}e=q+(c[v>>2]|0)|0;d=b+-1|0;c[y>>2]=d;if(!b)break;f=o+z|0;g=p;q=e;b=d;d=e;e=c[s>>2]|0}c[u>>2]=e;return}function SCa(a){a=a|0;var b=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;e=c[a+52>>2]|0;k=d[a+60>>0]|0;l=d[a+61>>0]|0;j=d[a+62>>0]|0;m=a+28|0;q=c[m>>2]|0;b=q+-1|0;c[m>>2]=b;if(!q)return;n=a+20|0;o=a+24|0;p=a+12|0;q=a+32|0;if(!(e&1)){g=b;do{e=c[o>>2]|0;if(!e){f=c[a>>2]|0;b=c[n>>2]|0;e=g}else{b=c[n>>2]|0;f=c[a>>2]|0;g=b;h=f;while(1){e=e+-1|0;l=c[h>>2]|0;c[g>>2]=l&65280|l>>>16&255|l<<16&16711680;if(!e)break;else{g=g+4|0;h=h+4|0}}e=c[m>>2]|0}c[a>>2]=f+(c[p>>2]|0);c[n>>2]=b+(c[q>>2]|0);g=e+-1|0;c[m>>2]=g}while((e|0)!=0);return}else{do{i=c[o>>2]|0;if(!i){g=c[a>>2]|0;e=c[n>>2]|0;f=b}else{e=c[n>>2]|0;g=c[a>>2]|0;f=e;h=g;b=i;while(1){b=b+-1|0;i=c[h>>2]|0;c[f>>2]=(((N(i>>>8&255,l)|0)>>>0)/255|0)<<8|(((N(i>>>16&255,k)|0)>>>0)/255|0)|(((N(i&255,j)|0)>>>0)/255|0)<<16;if(!b)break;else{f=f+4|0;h=h+4|0}}f=c[m>>2]|0}c[a>>2]=g+(c[p>>2]|0);c[n>>2]=e+(c[q>>2]|0);b=f+-1|0;c[m>>2]=b}while((f|0)!=0);return}}function TCa(a){a=a|0;var b=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;b=c[a+52>>2]|0;u=d[a+60>>0]|0;v=d[a+61>>0]|0;n=d[a+62>>0]|0;o=a+28|0;t=c[o>>2]|0;p=(c[a+8>>2]<<16|0)/(t|0)|0;q=a+24|0;e=c[q>>2]|0;r=(c[a+4>>2]<<16|0)/(e|0)|0;c[o>>2]=t+-1;if(!t)return;s=a+20|0;t=a+32|0;l=(b&1|0)==0;m=a+12|0;b=c[s>>2]|0;f=0;g=0;k=b;while(1){if((f|0)>65535){j=~f;j=f+65536+((j|0)>-131072?j:-131072)|0;f=f+-65536-(j&-65536)|0;g=g+1+(j>>>16)|0}j=e+-1|0;if(e|0)if(l){e=0;h=65536;i=-1;while(1){if((h|0)>65535){w=~h;w=h+65536+((w|0)>-131072?w:-131072)|0;i=i+1+(w>>>16)|0;e=(c[a>>2]|0)+(N(c[m>>2]|0,g)|0)+(i<<2)|0;h=h+-65536-(w&-65536)|0}w=c[e>>2]|0;c[b>>2]=w<<16&16711680|w&65280|w>>>16&255;if(!j)break;else{b=b+4|0;h=h+r|0;j=j+-1|0}}}else{e=0;h=65536;i=-1;while(1){if((h|0)>65535){w=~h;w=h+65536+((w|0)>-131072?w:-131072)|0;i=i+1+(w>>>16)|0;e=(c[a>>2]|0)+(N(c[m>>2]|0,g)|0)+(i<<2)|0;h=h+-65536-(w&-65536)|0}w=c[e>>2]|0;c[b>>2]=(((N(w&255,n)|0)>>>0)/255|0)<<16|(((N(w>>>8&255,v)|0)>>>0)/255|0)<<8|(((N(w>>>16&255,u)|0)>>>0)/255|0);if(!j)break;else{b=b+4|0;h=h+r|0;j=j+-1|0}}}b=k+(c[t>>2]|0)|0;w=c[o>>2]|0;c[o>>2]=w+-1;if(!w)break;f=f+p|0;k=b;e=c[q>>2]|0}c[s>>2]=b;return}function UCa(a){a=a|0;var b=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;b=c[a+52>>2]|0;A=d[a+60>>0]|0;B=d[a+61>>0]|0;q=d[a+62>>0]|0;r=d[a+63>>0]|0;s=a+28|0;z=c[s>>2]|0;e=z+-1|0;c[s>>2]=e;if(!z)return;t=a+20|0;u=a+24|0;v=a+12|0;w=a+32|0;x=(b&1|0)==0;y=(b&2|0)==0;z=(b&48|0)!=0;p=b&112;do{f=c[u>>2]|0;if(!f){g=c[a>>2]|0;b=c[t>>2]|0;f=e}else{b=c[t>>2]|0;g=c[a>>2]|0;n=b;o=g;while(1){f=f+-1|0;m=c[o>>2]|0;l=m>>>16&255;k=m>>>8&255;j=m&255;m=m>>>24;e=c[n>>2]|0;i=e>>>16&255;h=e>>>8&255;e=e&255;if(!x){j=((N(j,q)|0)>>>0)/255|0;k=((N(k,B)|0)>>>0)/255|0;l=((N(l,A)|0)>>>0)/255|0}C=((N(m,r)|0)>>>0)/255|0;m=y?m:C;if(z&m>>>0<255){j=((N(j,m)|0)>>>0)/255|0;k=((N(k,m)|0)>>>0)/255|0;l=((N(l,m)|0)>>>0)/255|0}switch(p&127){case 16:{C=255-m|0;i=j+(((N(C,i)|0)>>>0)/255|0)|0;h=k+(((N(C,h)|0)>>>0)/255|0)|0;e=l+(((N(C,e)|0)>>>0)/255|0)|0;break}case 32:{e=l+e|0;h=k+h|0;i=j+i|0;i=i>>>0<255?i:255;h=h>>>0<255?h:255;e=e>>>0<255?e:255;break}case 64:{i=((N(j,i)|0)>>>0)/255|0;h=((N(k,h)|0)>>>0)/255|0;e=((N(l,e)|0)>>>0)/255|0;break}default:{}}c[n>>2]=h<<8|e|i<<16;if(!f)break;else{n=n+4|0;o=o+4|0}}f=c[s>>2]|0}c[a>>2]=g+(c[v>>2]|0);c[t>>2]=b+(c[w>>2]|0);e=f+-1|0;c[s>>2]=e}while((f|0)!=0);return}function VCa(a){a=a|0;var b=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0;b=c[a+52>>2]|0;F=d[a+60>>0]|0;G=d[a+61>>0]|0;t=d[a+62>>0]|0;u=d[a+63>>0]|0;v=a+28|0;E=c[v>>2]|0;w=(c[a+8>>2]<<16|0)/(E|0)|0;x=a+24|0;f=c[x>>2]|0;y=(c[a+4>>2]<<16|0)/(f|0)|0;e=E+-1|0;c[v>>2]=e;if(!E)return;z=a+20|0;A=a+32|0;B=(b&1|0)==0;C=a+12|0;D=(b&2|0)==0;E=(b&48|0)!=0;s=b&112;q=c[z>>2]|0;g=0;h=0;r=q;b=e;e=q;while(1){if((g|0)>65535){q=~g;q=g+65536+((q|0)>-131072?q:-131072)|0;p=g+-65536-(q&-65536)|0;q=h+1+(q>>>16)|0}else{p=g;q=h}if(f){b=0;g=65536;h=-1;while(1){f=f+-1|0;if((g|0)>65535){o=~g;o=g+65536+((o|0)>-131072?o:-131072)|0;h=h+1+(o>>>16)|0;b=(c[a>>2]|0)+(N(c[C>>2]|0,q)|0)+(h<<2)|0;g=g+-65536-(o&-65536)|0}o=c[b>>2]|0;m=o>>>16&255;n=o>>>8&255;l=o&255;o=o>>>24;i=c[e>>2]|0;k=i>>>16&255;j=i>>>8&255;i=i&255;if(!B){m=((N(m,F)|0)>>>0)/255|0;n=((N(n,G)|0)>>>0)/255|0;l=((N(l,t)|0)>>>0)/255|0}H=((N(o,u)|0)>>>0)/255|0;o=D?o:H;if(E&o>>>0<255){m=((N(m,o)|0)>>>0)/255|0;n=((N(n,o)|0)>>>0)/255|0;l=((N(l,o)|0)>>>0)/255|0}switch(s&127){case 16:{H=255-o|0;k=l+(((N(H,k)|0)>>>0)/255|0)|0;j=n+(((N(H,j)|0)>>>0)/255|0)|0;i=m+(((N(H,i)|0)>>>0)/255|0)|0;break}case 32:{i=m+i|0;j=n+j|0;k=l+k|0;k=k>>>0<255?k:255;j=j>>>0<255?j:255;i=i>>>0<255?i:255;break}case 64:{k=((N(l,k)|0)>>>0)/255|0;j=((N(n,j)|0)>>>0)/255|0;i=((N(m,i)|0)>>>0)/255|0;break}default:{}}c[e>>2]=j<<8|i|k<<16;if(!f)break;else{e=e+4|0;g=g+y|0}}b=c[v>>2]|0}f=r+(c[A>>2]|0)|0;e=b+-1|0;c[v>>2]=e;if(!b)break;g=p+w|0;h=q;r=f;b=e;e=f;f=c[x>>2]|0}c[z>>2]=f;return}function WCa(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;p=a+28|0;o=c[p>>2]|0;q=(c[a+8>>2]<<16|0)/(o|0)|0;k=a+24|0;b=c[k>>2]|0;l=(c[a+4>>2]<<16|0)/(b|0)|0;d=o+-1|0;c[p>>2]=d;if(!o)return;m=a+20|0;n=a+32|0;o=a+12|0;e=c[m>>2]|0;f=0;g=0;j=e;while(1){if((g|0)>65535){i=~g;i=g+65536+((i|0)>-131072?i:-131072)|0;h=f+1+(i>>>16)|0;i=g+-65536-(i&-65536)|0}else{h=f;i=g}if(!b)b=d;else{d=0;f=-1;g=65536;while(1){b=b+-1|0;if((g|0)>65535){r=~g;r=g+65536+((r|0)>-131072?r:-131072)|0;f=f+1+(r>>>16)|0;d=(c[a>>2]|0)+(N(c[o>>2]|0,h)|0)+(f<<2)|0;g=g+-65536-(r&-65536)|0}c[e>>2]=c[d>>2];if(!b)break;else{e=e+4|0;g=g+l|0}}b=c[p>>2]|0}e=j+(c[n>>2]|0)|0;d=b+-1|0;c[p>>2]=d;if(!b)break;f=h;g=i+q|0;b=c[k>>2]|0;j=e}c[m>>2]=e;return}function XCa(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;b=c[a+52>>2]|0;s=a+28|0;v=c[s>>2]|0;c[s>>2]=v+-1;if(!v)return;t=a+20|0;u=a+24|0;v=a+12|0;q=a+32|0;r=(b&48|0)==0;p=b&112;d=c[a>>2]|0;b=c[t>>2]|0;n=d;o=b;while(1){m=c[u>>2]|0;e=m+-1|0;a:do if(m|0){if(r){m=e;while(1){h=c[d>>2]|0;l=h>>>16&255;k=h>>>8&255;j=h&255;h=h>>>24;i=c[b>>2]|0;e=i>>>16&255;f=i>>>8&255;g=i&255;i=i>>>24;switch(p&127){case 16:{w=h^255;i=(((N(w,i)|0)>>>0)/255|0)+h|0;g=j+(((N(w,g)|0)>>>0)/255|0)|0;f=k+(((N(f,w)|0)>>>0)/255|0)|0;e=l+(((N(e,w)|0)>>>0)/255|0)|0;break}case 32:{e=l+e|0;f=k+f|0;g=j+g|0;g=g>>>0<255?g:255;f=f>>>0<255?f:255;e=e>>>0<255?e:255;break}case 64:{g=((N(j,g)|0)>>>0)/255|0;f=((N(k,f)|0)>>>0)/255|0;e=((N(l,e)|0)>>>0)/255|0;break}default:{}}c[b>>2]=f<<8|e<<16|g|i<<24;if(!m)break a;else{b=b+4|0;d=d+4|0;m=m+-1|0}}}m=e;while(1){l=c[d>>2]|0;k=l>>>16&255;i=l>>>8&255;h=l&255;l=l>>>24;j=c[b>>2]|0;e=j>>>16&255;f=j>>>8&255;g=j&255;j=j>>>24;if((l|0)!=255){h=((N(h,l)|0)>>>0)/255|0;i=((N(i,l)|0)>>>0)/255|0;k=((N(k,l)|0)>>>0)/255|0}switch(p&127){case 16:{w=l^255;j=(((N(w,j)|0)>>>0)/255|0)+l|0;g=h+(((N(w,g)|0)>>>0)/255|0)|0;f=i+(((N(f,w)|0)>>>0)/255|0)|0;e=k+(((N(e,w)|0)>>>0)/255|0)|0;break}case 32:{e=k+e|0;f=i+f|0;g=h+g|0;g=g>>>0<255?g:255;f=f>>>0<255?f:255;e=e>>>0<255?e:255;break}case 64:{g=((N(h,g)|0)>>>0)/255|0;f=((N(i,f)|0)>>>0)/255|0;e=((N(k,e)|0)>>>0)/255|0;break}default:{}}c[b>>2]=f<<8|e<<16|g|j<<24;if(!m)break a;else{b=b+4|0;d=d+4|0;m=m+-1|0}}}while(0);d=n+(c[v>>2]|0)|0;b=o+(c[q>>2]|0)|0;w=c[s>>2]|0;c[s>>2]=w+-1;if(!w)break;else{n=d;o=b}}c[a>>2]=d;c[t>>2]=b;return}function YCa(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;b=c[a+52>>2]|0;z=a+28|0;y=c[z>>2]|0;A=(c[a+8>>2]<<16|0)/(y|0)|0;t=a+24|0;e=c[t>>2]|0;u=(c[a+4>>2]<<16|0)/(e|0)|0;d=y+-1|0;c[z>>2]=d;if(!y)return;v=a+20|0;w=a+32|0;x=(b&48|0)!=0;y=a+12|0;s=b&112;q=c[v>>2]|0;f=0;g=0;r=q;b=d;d=q;while(1){if((f|0)>65535){q=~f;q=f+65536+((q|0)>-131072?q:-131072)|0;p=f+-65536-(q&-65536)|0;q=g+1+(q>>>16)|0}else{p=f;q=g}if(e){b=0;f=65536;g=-1;while(1){e=e+-1|0;if((f|0)>65535){o=~f;o=f+65536+((o|0)>-131072?o:-131072)|0;g=g+1+(o>>>16)|0;b=(c[a>>2]|0)+(N(c[y>>2]|0,q)|0)+(g<<2)|0;f=f+-65536-(o&-65536)|0}o=c[b>>2]|0;k=o>>>16&255;m=o>>>8&255;l=o&255;o=o>>>24;n=c[d>>2]|0;h=n>>>16&255;i=n>>>8&255;j=n&255;n=n>>>24;if(x&(o|0)!=255){k=((N(k,o)|0)>>>0)/255|0;m=((N(m,o)|0)>>>0)/255|0;l=((N(l,o)|0)>>>0)/255|0}switch(s&127){case 16:{B=o^255;n=(((N(B,n)|0)>>>0)/255|0)+o|0;j=l+(((N(B,j)|0)>>>0)/255|0)|0;i=m+(((N(i,B)|0)>>>0)/255|0)|0;h=k+(((N(h,B)|0)>>>0)/255|0)|0;break}case 32:{h=k+h|0;i=m+i|0;j=l+j|0;j=j>>>0<255?j:255;i=i>>>0<255?i:255;h=h>>>0<255?h:255;break}case 64:{j=((N(l,j)|0)>>>0)/255|0;i=((N(m,i)|0)>>>0)/255|0;h=((N(k,h)|0)>>>0)/255|0;break}default:{}}c[d>>2]=i<<8|h<<16|j|n<<24;if(!e)break;else{d=d+4|0;f=f+u|0}}b=c[z>>2]|0}e=r+(c[w>>2]|0)|0;d=b+-1|0;c[z>>2]=d;if(!b)break;f=p+A|0;g=q;r=e;b=d;d=e;e=c[t>>2]|0}c[v>>2]=e;return}function ZCa(a){a=a|0;var b=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;b=c[a+52>>2]|0;r=d[a+60>>0]|0;s=d[a+61>>0]|0;j=d[a+62>>0]|0;k=d[a+63>>0]|0;l=a+28|0;q=c[l>>2]|0;c[l>>2]=q+-1;if(!q)return;m=a+20|0;n=a+24|0;o=a+12|0;p=a+32|0;q=(b&1|0)==0;g=(b&2|0)==0;e=c[a>>2]|0;f=c[m>>2]|0;h=e;i=f;while(1){t=c[n>>2]|0;b=t+-1|0;if(t|0)if(q)while(1){t=c[e>>2]|0;v=t>>>24;u=((N(v,k)|0)>>>0)/255|0;c[f>>2]=t&16711680|(g?v:u)<<24|t&65280|t&255;if(!b)break;else{f=f+4|0;e=e+4|0;b=b+-1|0}}else while(1){v=c[e>>2]|0;w=v>>>24;x=((N(v>>>16&255,r)|0)>>>0)/255|0;u=((N(v>>>8&255,s)|0)>>>0)/255|0;v=((N(v&255,j)|0)>>>0)/255|0;t=((N(w,k)|0)>>>0)/255|0;c[f>>2]=x<<16|(g?w:t)<<24|u<<8|v;if(!b)break;else{f=f+4|0;e=e+4|0;b=b+-1|0}}e=h+(c[o>>2]|0)|0;b=i+(c[p>>2]|0)|0;x=c[l>>2]|0;c[l>>2]=x+-1;if(!x)break;else{h=e;i=b;f=b}}c[a>>2]=e;c[m>>2]=b;return}function _Ca(a){a=a|0;var b=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;b=c[a+52>>2]|0;w=d[a+60>>0]|0;x=d[a+61>>0]|0;m=d[a+62>>0]|0;n=d[a+63>>0]|0;o=a+28|0;v=c[o>>2]|0;p=(c[a+8>>2]<<16|0)/(v|0)|0;q=a+24|0;e=c[q>>2]|0;r=(c[a+4>>2]<<16|0)/(e|0)|0;c[o>>2]=v+-1;if(!v)return;s=a+20|0;t=a+32|0;u=(b&1|0)==0;v=a+12|0;l=(b&2|0)==0;b=c[s>>2]|0;f=0;g=0;k=b;while(1){if((f|0)>65535){j=~f;j=f+65536+((j|0)>-131072?j:-131072)|0;f=f+-65536-(j&-65536)|0;g=g+1+(j>>>16)|0}j=e+-1|0;if(e|0)if(u){e=0;h=65536;i=-1;while(1){if((h|0)>65535){y=~h;y=h+65536+((y|0)>-131072?y:-131072)|0;i=i+1+(y>>>16)|0;e=(c[a>>2]|0)+(N(c[v>>2]|0,g)|0)+(i<<2)|0;h=h+-65536-(y&-65536)|0}y=c[e>>2]|0;A=y>>>24;z=((N(A,n)|0)>>>0)/255|0;c[b>>2]=y&65280|(l?A:z)<<24|y&255|y&16711680;if(!j)break;else{b=b+4|0;h=h+r|0;j=j+-1|0}}}else{e=0;h=65536;i=-1;while(1){if((h|0)>65535){A=~h;A=h+65536+((A|0)>-131072?A:-131072)|0;i=i+1+(A>>>16)|0;e=(c[a>>2]|0)+(N(c[v>>2]|0,g)|0)+(i<<2)|0;h=h+-65536-(A&-65536)|0}z=c[e>>2]|0;B=z>>>24;A=((N(z>>>16&255,w)|0)>>>0)/255|0;C=((N(z>>>8&255,x)|0)>>>0)/255|0;z=((N(z&255,m)|0)>>>0)/255|0;y=((N(B,n)|0)>>>0)/255|0;c[b>>2]=C<<8|(l?B:y)<<24|z|A<<16;if(!j)break;else{b=b+4|0;h=h+r|0;j=j+-1|0}}}b=k+(c[t>>2]|0)|0;C=c[o>>2]|0;c[o>>2]=C+-1;if(!C)break;f=f+p|0;k=b;e=c[q>>2]|0}c[s>>2]=b;return}function $Ca(a){a=a|0;var b=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;b=c[a+52>>2]|0;B=d[a+60>>0]|0;C=d[a+61>>0]|0;r=d[a+62>>0]|0;s=d[a+63>>0]|0;t=a+28|0;A=c[t>>2]|0;e=A+-1|0;c[t>>2]=e;if(!A)return;u=a+20|0;v=a+24|0;w=a+12|0;x=a+32|0;y=(b&1|0)==0;z=(b&2|0)==0;A=(b&48|0)!=0;q=b&112;do{f=c[v>>2]|0;if(!f){g=c[a>>2]|0;b=c[u>>2]|0;f=e}else{b=c[u>>2]|0;g=c[a>>2]|0;o=b;p=g;while(1){f=f+-1|0;n=c[p>>2]|0;m=n>>>16&255;k=n>>>8&255;j=n&255;n=n>>>24;l=c[o>>2]|0;e=l>>>16&255;h=l>>>8&255;i=l&255;l=l>>>24;if(!y){j=((N(j,r)|0)>>>0)/255|0;k=((N(k,C)|0)>>>0)/255|0;m=((N(m,B)|0)>>>0)/255|0}D=((N(n,s)|0)>>>0)/255|0;n=z?n:D;if(A&n>>>0<255){j=((N(j,n)|0)>>>0)/255|0;k=((N(k,n)|0)>>>0)/255|0;m=((N(m,n)|0)>>>0)/255|0}switch(q&127){case 16:{D=255-n|0;l=(((N(D,l)|0)>>>0)/255|0)+n|0;i=j+(((N(D,i)|0)>>>0)/255|0)|0;h=k+(((N(D,h)|0)>>>0)/255|0)|0;e=m+(((N(D,e)|0)>>>0)/255|0)|0;break}case 32:{e=m+e|0;h=k+h|0;i=j+i|0;i=i>>>0<255?i:255;h=h>>>0<255?h:255;e=e>>>0<255?e:255;break}case 64:{i=((N(j,i)|0)>>>0)/255|0;h=((N(k,h)|0)>>>0)/255|0;e=((N(m,e)|0)>>>0)/255|0;break}default:{}}c[o>>2]=h<<8|e<<16|i|l<<24;if(!f)break;else{o=o+4|0;p=p+4|0}}f=c[t>>2]|0}c[a>>2]=g+(c[w>>2]|0);c[u>>2]=b+(c[x>>2]|0);e=f+-1|0;c[t>>2]=e}while((f|0)!=0);return}function aDa(a){a=a|0;var b=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0;b=c[a+52>>2]|0;G=d[a+60>>0]|0;H=d[a+61>>0]|0;u=d[a+62>>0]|0;v=d[a+63>>0]|0;w=a+28|0;F=c[w>>2]|0;x=(c[a+8>>2]<<16|0)/(F|0)|0;y=a+24|0;f=c[y>>2]|0;z=(c[a+4>>2]<<16|0)/(f|0)|0;e=F+-1|0;c[w>>2]=e;if(!F)return;A=a+20|0;B=a+32|0;C=(b&1|0)==0;D=a+12|0;E=(b&2|0)==0;F=(b&48|0)!=0;t=b&112;r=c[A>>2]|0;g=0;h=0;s=r;b=e;e=r;while(1){if((g|0)>65535){r=~g;r=g+65536+((r|0)>-131072?r:-131072)|0;q=g+-65536-(r&-65536)|0;r=h+1+(r>>>16)|0}else{q=g;r=h}if(f){b=0;g=65536;h=-1;while(1){f=f+-1|0;if((g|0)>65535){p=~g;p=g+65536+((p|0)>-131072?p:-131072)|0;h=h+1+(p>>>16)|0;b=(c[a>>2]|0)+(N(c[D>>2]|0,r)|0)+(h<<2)|0;g=g+-65536-(p&-65536)|0}p=c[b>>2]|0;l=p>>>16&255;n=p>>>8&255;m=p&255;p=p>>>24;o=c[e>>2]|0;i=o>>>16&255;j=o>>>8&255;k=o&255;o=o>>>24;if(!C){l=((N(l,G)|0)>>>0)/255|0;n=((N(n,H)|0)>>>0)/255|0;m=((N(m,u)|0)>>>0)/255|0}I=((N(p,v)|0)>>>0)/255|0;p=E?p:I;if(F&p>>>0<255){l=((N(l,p)|0)>>>0)/255|0;n=((N(n,p)|0)>>>0)/255|0;m=((N(m,p)|0)>>>0)/255|0}switch(t&127){case 16:{I=255-p|0;o=(((N(I,o)|0)>>>0)/255|0)+p|0;k=m+(((N(I,k)|0)>>>0)/255|0)|0;j=n+(((N(I,j)|0)>>>0)/255|0)|0;i=l+(((N(I,i)|0)>>>0)/255|0)|0;break}case 32:{i=l+i|0;j=n+j|0;k=m+k|0;k=k>>>0<255?k:255;j=j>>>0<255?j:255;i=i>>>0<255?i:255;break}case 64:{k=((N(m,k)|0)>>>0)/255|0;j=((N(n,j)|0)>>>0)/255|0;i=((N(l,i)|0)>>>0)/255|0;break}default:{}}c[e>>2]=j<<8|i<<16|k|o<<24;if(!f)break;else{e=e+4|0;g=g+z|0}}b=c[w>>2]|0}f=s+(c[B>>2]|0)|0;e=b+-1|0;c[w>>2]=e;if(!b)break;g=q+x|0;h=r;s=f;b=e;e=f;f=c[y>>2]|0}c[A>>2]=f;return}function bDa(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;p=a+28|0;o=c[p>>2]|0;q=(c[a+8>>2]<<16|0)/(o|0)|0;k=a+24|0;b=c[k>>2]|0;l=(c[a+4>>2]<<16|0)/(b|0)|0;d=o+-1|0;c[p>>2]=d;if(!o)return;m=a+20|0;n=a+32|0;o=a+12|0;e=c[m>>2]|0;f=0;g=0;j=e;while(1){if((g|0)>65535){i=~g;i=g+65536+((i|0)>-131072?i:-131072)|0;h=f+1+(i>>>16)|0;i=g+-65536-(i&-65536)|0}else{h=f;i=g}if(!b)b=d;else{d=0;f=-1;g=65536;while(1){b=b+-1|0;if((g|0)>65535){r=~g;r=g+65536+((r|0)>-131072?r:-131072)|0;f=f+1+(r>>>16)|0;d=(c[a>>2]|0)+(N(c[o>>2]|0,h)|0)+(f<<2)|0;g=g+-65536-(r&-65536)|0}s=c[d>>2]|0;r=s>>>8;c[e>>2]=s>>>24<<16|r&65280|r&255;if(!b)break;else{e=e+4|0;g=g+l|0}}b=c[p>>2]|0}e=j+(c[n>>2]|0)|0;d=b+-1|0;c[p>>2]=d;if(!b)break;f=h;g=i+q|0;b=c[k>>2]|0;j=e}c[m>>2]=e;return}function cDa(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;b=c[a+52>>2]|0;r=a+28|0;u=c[r>>2]|0;c[r>>2]=u+-1;if(!u)return;s=a+20|0;t=a+24|0;u=a+12|0;p=a+32|0;q=(b&48|0)==0;o=b&112;d=c[a>>2]|0;b=c[s>>2]|0;m=d;n=b;while(1){l=c[t>>2]|0;e=l+-1|0;a:do if(l|0){if(q){l=e;while(1){h=c[d>>2]|0;k=h>>>24;j=h>>>16&255;i=h>>>8&255;g=c[b>>2]|0;e=g>>>16&255;f=g>>>8&255;g=g&255;switch(o&127){case 16:{h=h&255^255;g=i+(((N(h,g)|0)>>>0)/255|0)|0;f=j+(((N(f,h)|0)>>>0)/255|0)|0;e=k+(((N(e,h)|0)>>>0)/255|0)|0;break}case 32:{e=k+e|0;f=j+f|0;g=i+g|0;g=g>>>0<255?g:255;f=f>>>0<255?f:255;e=e>>>0<255?e:255;break}case 64:{g=((N(i,g)|0)>>>0)/255|0;f=((N(j,f)|0)>>>0)/255|0;e=((N(k,e)|0)>>>0)/255|0;break}default:{}}c[b>>2]=f<<8|e<<16|g;if(!l)break a;else{b=b+4|0;d=d+4|0;l=l+-1|0}}}l=e;while(1){k=c[d>>2]|0;h=k>>>24;j=k>>>16&255;i=k>>>8&255;k=k&255;g=c[b>>2]|0;e=g>>>16&255;f=g>>>8&255;g=g&255;if((k|0)!=255){h=((N(h,k)|0)>>>0)/255|0;i=((N(i,k)|0)>>>0)/255|0;j=((N(j,k)|0)>>>0)/255|0}switch(o&127){case 16:{k=k^255;g=i+(((N(k,g)|0)>>>0)/255|0)|0;f=j+(((N(f,k)|0)>>>0)/255|0)|0;e=h+(((N(e,k)|0)>>>0)/255|0)|0;break}case 32:{e=h+e|0;f=j+f|0;g=i+g|0;g=g>>>0<255?g:255;f=f>>>0<255?f:255;e=e>>>0<255?e:255;break}case 64:{g=((N(i,g)|0)>>>0)/255|0;f=((N(j,f)|0)>>>0)/255|0;e=((N(h,e)|0)>>>0)/255|0;break}default:{}}c[b>>2]=f<<8|e<<16|g;if(!l)break a;else{b=b+4|0;d=d+4|0;l=l+-1|0}}}while(0);d=m+(c[u>>2]|0)|0;b=n+(c[p>>2]|0)|0;n=c[r>>2]|0;c[r>>2]=n+-1;if(!n)break;else{m=d;n=b}}c[a>>2]=d;c[s>>2]=b;return}function dDa(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;b=c[a+52>>2]|0;y=a+28|0;x=c[y>>2]|0;z=(c[a+8>>2]<<16|0)/(x|0)|0;s=a+24|0;e=c[s>>2]|0;t=(c[a+4>>2]<<16|0)/(e|0)|0;d=x+-1|0;c[y>>2]=d;if(!x)return;u=a+20|0;v=a+32|0;w=(b&48|0)!=0;x=a+12|0;r=b&112;p=c[u>>2]|0;f=0;g=0;q=p;b=d;d=p;while(1){if((f|0)>65535){p=~f;p=f+65536+((p|0)>-131072?p:-131072)|0;o=f+-65536-(p&-65536)|0;p=g+1+(p>>>16)|0}else{o=f;p=g}if(e){b=0;f=65536;g=-1;while(1){e=e+-1|0;if((f|0)>65535){n=~f;n=f+65536+((n|0)>-131072?n:-131072)|0;g=g+1+(n>>>16)|0;b=(c[a>>2]|0)+(N(c[x>>2]|0,p)|0)+(g<<2)|0;f=f+-65536-(n&-65536)|0}n=c[b>>2]|0;l=n>>>24;m=n>>>16&255;k=n>>>8&255;n=n&255;j=c[d>>2]|0;h=j>>>16&255;i=j>>>8&255;j=j&255;if(w&(n|0)!=255){l=((N(l,n)|0)>>>0)/255|0;m=((N(m,n)|0)>>>0)/255|0;k=((N(k,n)|0)>>>0)/255|0}switch(r&127){case 16:{n=n^255;j=k+(((N(n,j)|0)>>>0)/255|0)|0;i=m+(((N(i,n)|0)>>>0)/255|0)|0;h=l+(((N(h,n)|0)>>>0)/255|0)|0;break}case 32:{h=l+h|0;i=m+i|0;j=k+j|0;j=j>>>0<255?j:255;i=i>>>0<255?i:255;h=h>>>0<255?h:255;break}case 64:{j=((N(k,j)|0)>>>0)/255|0;i=((N(m,i)|0)>>>0)/255|0;h=((N(l,h)|0)>>>0)/255|0;break}default:{}}c[d>>2]=i<<8|h<<16|j;if(!e)break;else{d=d+4|0;f=f+t|0}}b=c[y>>2]|0}e=q+(c[v>>2]|0)|0;d=b+-1|0;c[y>>2]=d;if(!b)break;f=o+z|0;g=p;q=e;b=d;d=e;e=c[s>>2]|0}c[u>>2]=e;return}function eDa(a){a=a|0;var b=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;e=c[a+52>>2]|0;k=d[a+60>>0]|0;l=d[a+61>>0]|0;j=d[a+62>>0]|0;m=a+28|0;q=c[m>>2]|0;b=q+-1|0;c[m>>2]=b;if(!q)return;n=a+20|0;o=a+24|0;p=a+12|0;q=a+32|0;if(!(e&1)){g=b;do{e=c[o>>2]|0;if(!e){f=c[a>>2]|0;b=c[n>>2]|0;e=g}else{b=c[n>>2]|0;f=c[a>>2]|0;g=b;h=f;while(1){e=e+-1|0;k=c[h>>2]|0;l=k>>>8;c[g>>2]=l&65280|k>>>24<<16|l&255;if(!e)break;else{g=g+4|0;h=h+4|0}}e=c[m>>2]|0}c[a>>2]=f+(c[p>>2]|0);c[n>>2]=b+(c[q>>2]|0);g=e+-1|0;c[m>>2]=g}while((e|0)!=0);return}else{do{i=c[o>>2]|0;if(!i){g=c[a>>2]|0;e=c[n>>2]|0;f=b}else{e=c[n>>2]|0;g=c[a>>2]|0;f=e;h=g;b=i;while(1){b=b+-1|0;i=c[h>>2]|0;c[f>>2]=(((N(i>>>16&255,l)|0)>>>0)/255|0)<<8|(((N(i>>>24,k)|0)>>>0)/255|0)<<16|(((N(i>>>8&255,j)|0)>>>0)/255|0);if(!b)break;else{f=f+4|0;h=h+4|0}}f=c[m>>2]|0}c[a>>2]=g+(c[p>>2]|0);c[n>>2]=e+(c[q>>2]|0);b=f+-1|0;c[m>>2]=b}while((f|0)!=0);return}}function fDa(a){a=a|0;var b=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;b=c[a+52>>2]|0;u=d[a+60>>0]|0;v=d[a+61>>0]|0;n=d[a+62>>0]|0;o=a+28|0;t=c[o>>2]|0;p=(c[a+8>>2]<<16|0)/(t|0)|0;q=a+24|0;e=c[q>>2]|0;r=(c[a+4>>2]<<16|0)/(e|0)|0;c[o>>2]=t+-1;if(!t)return;s=a+20|0;t=a+32|0;l=(b&1|0)==0;m=a+12|0;b=c[s>>2]|0;f=0;g=0;k=b;while(1){if((f|0)>65535){j=~f;j=f+65536+((j|0)>-131072?j:-131072)|0;f=f+-65536-(j&-65536)|0;g=g+1+(j>>>16)|0}j=e+-1|0;if(e|0)if(l){e=0;h=65536;i=-1;while(1){if((h|0)>65535){w=~h;w=h+65536+((w|0)>-131072?w:-131072)|0;i=i+1+(w>>>16)|0;e=(c[a>>2]|0)+(N(c[m>>2]|0,g)|0)+(i<<2)|0;h=h+-65536-(w&-65536)|0}w=c[e>>2]|0;c[b>>2]=w>>>8&65535|w>>>24<<16;if(!j)break;else{b=b+4|0;h=h+r|0;j=j+-1|0}}}else{e=0;h=65536;i=-1;while(1){if((h|0)>65535){w=~h;w=h+65536+((w|0)>-131072?w:-131072)|0;i=i+1+(w>>>16)|0;e=(c[a>>2]|0)+(N(c[m>>2]|0,g)|0)+(i<<2)|0;h=h+-65536-(w&-65536)|0}w=c[e>>2]|0;c[b>>2]=((N(w>>>8&255,n)|0)>>>0)/255|0|(((N(w>>>16&255,v)|0)>>>0)/255|0)<<8|(((N(w>>>24,u)|0)>>>0)/255|0)<<16;if(!j)break;else{b=b+4|0;h=h+r|0;j=j+-1|0}}}b=k+(c[t>>2]|0)|0;w=c[o>>2]|0;c[o>>2]=w+-1;if(!w)break;f=f+p|0;k=b;e=c[q>>2]|0}c[s>>2]=b;return}function gDa(a){a=a|0;var b=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;b=c[a+52>>2]|0;A=d[a+60>>0]|0;B=d[a+61>>0]|0;q=d[a+62>>0]|0;r=d[a+63>>0]|0;s=a+28|0;z=c[s>>2]|0;e=z+-1|0;c[s>>2]=e;if(!z)return;t=a+20|0;u=a+24|0;v=a+12|0;w=a+32|0;x=(b&1|0)==0;y=(b&2|0)==0;z=(b&48|0)!=0;p=b&112;do{f=c[u>>2]|0;if(!f){g=c[a>>2]|0;b=c[t>>2]|0;f=e}else{b=c[t>>2]|0;g=c[a>>2]|0;n=b;o=g;while(1){f=f+-1|0;m=c[o>>2]|0;l=m>>>24;k=m>>>16&255;j=m>>>8&255;m=m&255;i=c[n>>2]|0;e=i>>>16&255;h=i>>>8&255;i=i&255;if(!x){j=((N(j,q)|0)>>>0)/255|0;k=((N(k,B)|0)>>>0)/255|0;l=((N(l,A)|0)>>>0)/255|0}C=((N(m,r)|0)>>>0)/255|0;m=y?m:C;if(z&m>>>0<255){j=((N(j,m)|0)>>>0)/255|0;k=((N(k,m)|0)>>>0)/255|0;l=((N(l,m)|0)>>>0)/255|0}switch(p&127){case 16:{C=255-m|0;i=j+(((N(C,i)|0)>>>0)/255|0)|0;h=k+(((N(C,h)|0)>>>0)/255|0)|0;e=l+(((N(C,e)|0)>>>0)/255|0)|0;break}case 32:{e=l+e|0;h=k+h|0;i=j+i|0;i=i>>>0<255?i:255;h=h>>>0<255?h:255;e=e>>>0<255?e:255;break}case 64:{i=((N(j,i)|0)>>>0)/255|0;h=((N(k,h)|0)>>>0)/255|0;e=((N(l,e)|0)>>>0)/255|0;break}default:{}}c[n>>2]=h<<8|e<<16|i;if(!f)break;else{n=n+4|0;o=o+4|0}}f=c[s>>2]|0}c[a>>2]=g+(c[v>>2]|0);c[t>>2]=b+(c[w>>2]|0);e=f+-1|0;c[s>>2]=e}while((f|0)!=0);return}function hDa(a){a=a|0;var b=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0;b=c[a+52>>2]|0;F=d[a+60>>0]|0;G=d[a+61>>0]|0;t=d[a+62>>0]|0;u=d[a+63>>0]|0;v=a+28|0;E=c[v>>2]|0;w=(c[a+8>>2]<<16|0)/(E|0)|0;x=a+24|0;f=c[x>>2]|0;y=(c[a+4>>2]<<16|0)/(f|0)|0;e=E+-1|0;c[v>>2]=e;if(!E)return;z=a+20|0;A=a+32|0;B=(b&1|0)==0;C=a+12|0;D=(b&2|0)==0;E=(b&48|0)!=0;s=b&112;q=c[z>>2]|0;g=0;h=0;r=q;b=e;e=q;while(1){if((g|0)>65535){q=~g;q=g+65536+((q|0)>-131072?q:-131072)|0;p=g+-65536-(q&-65536)|0;q=h+1+(q>>>16)|0}else{p=g;q=h}if(f){b=0;g=65536;h=-1;while(1){f=f+-1|0;if((g|0)>65535){o=~g;o=g+65536+((o|0)>-131072?o:-131072)|0;h=h+1+(o>>>16)|0;b=(c[a>>2]|0)+(N(c[C>>2]|0,q)|0)+(h<<2)|0;g=g+-65536-(o&-65536)|0}o=c[b>>2]|0;m=o>>>24;n=o>>>16&255;l=o>>>8&255;o=o&255;k=c[e>>2]|0;i=k>>>16&255;j=k>>>8&255;k=k&255;if(!B){m=((N(m,F)|0)>>>0)/255|0;n=((N(n,G)|0)>>>0)/255|0;l=((N(l,t)|0)>>>0)/255|0}H=((N(o,u)|0)>>>0)/255|0;o=D?o:H;if(E&o>>>0<255){m=((N(m,o)|0)>>>0)/255|0;n=((N(n,o)|0)>>>0)/255|0;l=((N(l,o)|0)>>>0)/255|0}switch(s&127){case 16:{H=255-o|0;k=l+(((N(H,k)|0)>>>0)/255|0)|0;j=n+(((N(H,j)|0)>>>0)/255|0)|0;i=m+(((N(H,i)|0)>>>0)/255|0)|0;break}case 32:{i=m+i|0;j=n+j|0;k=l+k|0;k=k>>>0<255?k:255;j=j>>>0<255?j:255;i=i>>>0<255?i:255;break}case 64:{k=((N(l,k)|0)>>>0)/255|0;j=((N(n,j)|0)>>>0)/255|0;i=((N(m,i)|0)>>>0)/255|0;break}default:{}}c[e>>2]=j<<8|i<<16|k;if(!f)break;else{e=e+4|0;g=g+y|0}}b=c[v>>2]|0}f=r+(c[A>>2]|0)|0;e=b+-1|0;c[v>>2]=e;if(!b)break;g=p+w|0;h=q;r=f;b=e;e=f;f=c[x>>2]|0}c[z>>2]=f;return}function iDa(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;p=a+28|0;o=c[p>>2]|0;q=(c[a+8>>2]<<16|0)/(o|0)|0;k=a+24|0;b=c[k>>2]|0;l=(c[a+4>>2]<<16|0)/(b|0)|0;d=o+-1|0;c[p>>2]=d;if(!o)return;m=a+20|0;n=a+32|0;o=a+12|0;e=c[m>>2]|0;f=0;g=0;j=e;while(1){if((g|0)>65535){i=~g;i=g+65536+((i|0)>-131072?i:-131072)|0;h=f+1+(i>>>16)|0;i=g+-65536-(i&-65536)|0}else{h=f;i=g}if(!b)b=d;else{d=0;f=-1;g=65536;while(1){b=b+-1|0;if((g|0)>65535){r=~g;r=g+65536+((r|0)>-131072?r:-131072)|0;f=f+1+(r>>>16)|0;d=(c[a>>2]|0)+(N(c[o>>2]|0,h)|0)+(f<<2)|0;g=g+-65536-(r&-65536)|0}r=c[d>>2]|0;c[e>>2]=r>>>8&65280|r>>>24|r<<8&16711680;if(!b)break;else{e=e+4|0;g=g+l|0}}b=c[p>>2]|0}e=j+(c[n>>2]|0)|0;d=b+-1|0;c[p>>2]=d;if(!b)break;f=h;g=i+q|0;b=c[k>>2]|0;j=e}c[m>>2]=e;return}function jDa(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;b=c[a+52>>2]|0;r=a+28|0;u=c[r>>2]|0;c[r>>2]=u+-1;if(!u)return;s=a+20|0;t=a+24|0;u=a+12|0;p=a+32|0;q=(b&48|0)==0;o=b&112;d=c[a>>2]|0;b=c[s>>2]|0;m=d;n=b;while(1){l=c[t>>2]|0;e=l+-1|0;a:do if(l|0){if(q){l=e;while(1){h=c[d>>2]|0;k=h>>>24;j=h>>>16&255;i=h>>>8&255;e=c[b>>2]|0;g=e>>>16&255;f=e>>>8&255;e=e&255;switch(o&127){case 16:{h=h&255^255;g=i+(((N(g,h)|0)>>>0)/255|0)|0;f=j+(((N(f,h)|0)>>>0)/255|0)|0;e=k+(((N(h,e)|0)>>>0)/255|0)|0;break}case 32:{e=k+e|0;f=j+f|0;g=i+g|0;g=g>>>0<255?g:255;f=f>>>0<255?f:255;e=e>>>0<255?e:255;break}case 64:{g=((N(i,g)|0)>>>0)/255|0;f=((N(j,f)|0)>>>0)/255|0;e=((N(k,e)|0)>>>0)/255|0;break}default:{}}c[b>>2]=f<<8|e|g<<16;if(!l)break a;else{b=b+4|0;d=d+4|0;l=l+-1|0}}}l=e;while(1){k=c[d>>2]|0;h=k>>>24;j=k>>>16&255;i=k>>>8&255;k=k&255;e=c[b>>2]|0;g=e>>>16&255;f=e>>>8&255;e=e&255;if((k|0)!=255){h=((N(h,k)|0)>>>0)/255|0;i=((N(i,k)|0)>>>0)/255|0;j=((N(j,k)|0)>>>0)/255|0}switch(o&127){case 16:{k=k^255;g=i+(((N(g,k)|0)>>>0)/255|0)|0;f=j+(((N(f,k)|0)>>>0)/255|0)|0;e=h+(((N(k,e)|0)>>>0)/255|0)|0;break}case 32:{e=h+e|0;f=j+f|0;g=i+g|0;g=g>>>0<255?g:255;f=f>>>0<255?f:255;e=e>>>0<255?e:255;break}case 64:{g=((N(i,g)|0)>>>0)/255|0;f=((N(j,f)|0)>>>0)/255|0;e=((N(h,e)|0)>>>0)/255|0;break}default:{}}c[b>>2]=f<<8|e|g<<16;if(!l)break a;else{b=b+4|0;d=d+4|0;l=l+-1|0}}}while(0);d=m+(c[u>>2]|0)|0;b=n+(c[p>>2]|0)|0;n=c[r>>2]|0;c[r>>2]=n+-1;if(!n)break;else{m=d;n=b}}c[a>>2]=d;c[s>>2]=b;return}function kDa(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;b=c[a+52>>2]|0;y=a+28|0;x=c[y>>2]|0;z=(c[a+8>>2]<<16|0)/(x|0)|0;s=a+24|0;e=c[s>>2]|0;t=(c[a+4>>2]<<16|0)/(e|0)|0;d=x+-1|0;c[y>>2]=d;if(!x)return;u=a+20|0;v=a+32|0;w=(b&48|0)!=0;x=a+12|0;r=b&112;p=c[u>>2]|0;f=0;g=0;q=p;b=d;d=p;while(1){if((f|0)>65535){p=~f;p=f+65536+((p|0)>-131072?p:-131072)|0;o=f+-65536-(p&-65536)|0;p=g+1+(p>>>16)|0}else{o=f;p=g}if(e){b=0;f=65536;g=-1;while(1){e=e+-1|0;if((f|0)>65535){n=~f;n=f+65536+((n|0)>-131072?n:-131072)|0;g=g+1+(n>>>16)|0;b=(c[a>>2]|0)+(N(c[x>>2]|0,p)|0)+(g<<2)|0;f=f+-65536-(n&-65536)|0}n=c[b>>2]|0;l=n>>>24;m=n>>>16&255;k=n>>>8&255;n=n&255;h=c[d>>2]|0;j=h>>>16&255;i=h>>>8&255;h=h&255;if(w&(n|0)!=255){l=((N(l,n)|0)>>>0)/255|0;m=((N(m,n)|0)>>>0)/255|0;k=((N(k,n)|0)>>>0)/255|0}switch(r&127){case 16:{n=n^255;j=k+(((N(j,n)|0)>>>0)/255|0)|0;i=m+(((N(i,n)|0)>>>0)/255|0)|0;h=l+(((N(n,h)|0)>>>0)/255|0)|0;break}case 32:{h=l+h|0;i=m+i|0;j=k+j|0;j=j>>>0<255?j:255;i=i>>>0<255?i:255;h=h>>>0<255?h:255;break}case 64:{j=((N(k,j)|0)>>>0)/255|0;i=((N(m,i)|0)>>>0)/255|0;h=((N(l,h)|0)>>>0)/255|0;break}default:{}}c[d>>2]=i<<8|h|j<<16;if(!e)break;else{d=d+4|0;f=f+t|0}}b=c[y>>2]|0}e=q+(c[v>>2]|0)|0;d=b+-1|0;c[y>>2]=d;if(!b)break;f=o+z|0;g=p;q=e;b=d;d=e;e=c[s>>2]|0}c[u>>2]=e;return}function lDa(a){a=a|0;var b=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;e=c[a+52>>2]|0;k=d[a+60>>0]|0;l=d[a+61>>0]|0;j=d[a+62>>0]|0;m=a+28|0;q=c[m>>2]|0;b=q+-1|0;c[m>>2]=b;if(!q)return;n=a+20|0;o=a+24|0;p=a+12|0;q=a+32|0;if(!(e&1)){g=b;do{e=c[o>>2]|0;if(!e){f=c[a>>2]|0;b=c[n>>2]|0;e=g}else{b=c[n>>2]|0;f=c[a>>2]|0;g=b;h=f;while(1){e=e+-1|0;l=c[h>>2]|0;c[g>>2]=l>>>8&65280|l>>>24|l<<8&16711680;if(!e)break;else{g=g+4|0;h=h+4|0}}e=c[m>>2]|0}c[a>>2]=f+(c[p>>2]|0);c[n>>2]=b+(c[q>>2]|0);g=e+-1|0;c[m>>2]=g}while((e|0)!=0);return}else{do{i=c[o>>2]|0;if(!i){g=c[a>>2]|0;e=c[n>>2]|0;f=b}else{e=c[n>>2]|0;g=c[a>>2]|0;f=e;h=g;b=i;while(1){b=b+-1|0;i=c[h>>2]|0;c[f>>2]=(((N(i>>>16&255,l)|0)>>>0)/255|0)<<8|(((N(i>>>24,k)|0)>>>0)/255|0)|(((N(i>>>8&255,j)|0)>>>0)/255|0)<<16;if(!b)break;else{f=f+4|0;h=h+4|0}}f=c[m>>2]|0}c[a>>2]=g+(c[p>>2]|0);c[n>>2]=e+(c[q>>2]|0);b=f+-1|0;c[m>>2]=b}while((f|0)!=0);return}}function mDa(a){a=a|0;var b=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;b=c[a+52>>2]|0;u=d[a+60>>0]|0;v=d[a+61>>0]|0;n=d[a+62>>0]|0;o=a+28|0;t=c[o>>2]|0;p=(c[a+8>>2]<<16|0)/(t|0)|0;q=a+24|0;e=c[q>>2]|0;r=(c[a+4>>2]<<16|0)/(e|0)|0;c[o>>2]=t+-1;if(!t)return;s=a+20|0;t=a+32|0;l=(b&1|0)==0;m=a+12|0;b=c[s>>2]|0;f=0;g=0;k=b;while(1){if((f|0)>65535){j=~f;j=f+65536+((j|0)>-131072?j:-131072)|0;f=f+-65536-(j&-65536)|0;g=g+1+(j>>>16)|0}j=e+-1|0;if(e|0)if(l){e=0;h=65536;i=-1;while(1){if((h|0)>65535){w=~h;w=h+65536+((w|0)>-131072?w:-131072)|0;i=i+1+(w>>>16)|0;e=(c[a>>2]|0)+(N(c[m>>2]|0,g)|0)+(i<<2)|0;h=h+-65536-(w&-65536)|0}w=c[e>>2]|0;c[b>>2]=w<<8&16711680|w>>>8&65280|w>>>24;if(!j)break;else{b=b+4|0;h=h+r|0;j=j+-1|0}}}else{e=0;h=65536;i=-1;while(1){if((h|0)>65535){w=~h;w=h+65536+((w|0)>-131072?w:-131072)|0;i=i+1+(w>>>16)|0;e=(c[a>>2]|0)+(N(c[m>>2]|0,g)|0)+(i<<2)|0;h=h+-65536-(w&-65536)|0}w=c[e>>2]|0;c[b>>2]=(((N(w>>>8&255,n)|0)>>>0)/255|0)<<16|(((N(w>>>16&255,v)|0)>>>0)/255|0)<<8|(((N(w>>>24,u)|0)>>>0)/255|0);if(!j)break;else{b=b+4|0;h=h+r|0;j=j+-1|0}}}b=k+(c[t>>2]|0)|0;w=c[o>>2]|0;c[o>>2]=w+-1;if(!w)break;f=f+p|0;k=b;e=c[q>>2]|0}c[s>>2]=b;return}function nDa(a){a=a|0;var b=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;b=c[a+52>>2]|0;A=d[a+60>>0]|0;B=d[a+61>>0]|0;q=d[a+62>>0]|0;r=d[a+63>>0]|0;s=a+28|0;z=c[s>>2]|0;e=z+-1|0;c[s>>2]=e;if(!z)return;t=a+20|0;u=a+24|0;v=a+12|0;w=a+32|0;x=(b&1|0)==0;y=(b&2|0)==0;z=(b&48|0)!=0;p=b&112;do{f=c[u>>2]|0;if(!f){g=c[a>>2]|0;b=c[t>>2]|0;f=e}else{b=c[t>>2]|0;g=c[a>>2]|0;n=b;o=g;while(1){f=f+-1|0;m=c[o>>2]|0;l=m>>>24;k=m>>>16&255;j=m>>>8&255;m=m&255;e=c[n>>2]|0;i=e>>>16&255;h=e>>>8&255;e=e&255;if(!x){j=((N(j,q)|0)>>>0)/255|0;k=((N(k,B)|0)>>>0)/255|0;l=((N(l,A)|0)>>>0)/255|0}C=((N(m,r)|0)>>>0)/255|0;m=y?m:C;if(z&m>>>0<255){j=((N(j,m)|0)>>>0)/255|0;k=((N(k,m)|0)>>>0)/255|0;l=((N(l,m)|0)>>>0)/255|0}switch(p&127){case 16:{C=255-m|0;i=j+(((N(C,i)|0)>>>0)/255|0)|0;h=k+(((N(C,h)|0)>>>0)/255|0)|0;e=l+(((N(C,e)|0)>>>0)/255|0)|0;break}case 32:{e=l+e|0;h=k+h|0;i=j+i|0;i=i>>>0<255?i:255;h=h>>>0<255?h:255;e=e>>>0<255?e:255;break}case 64:{i=((N(j,i)|0)>>>0)/255|0;h=((N(k,h)|0)>>>0)/255|0;e=((N(l,e)|0)>>>0)/255|0;break}default:{}}c[n>>2]=h<<8|e|i<<16;if(!f)break;else{n=n+4|0;o=o+4|0}}f=c[s>>2]|0}c[a>>2]=g+(c[v>>2]|0);c[t>>2]=b+(c[w>>2]|0);e=f+-1|0;c[s>>2]=e}while((f|0)!=0);return}function oDa(a){a=a|0;var b=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0;b=c[a+52>>2]|0;F=d[a+60>>0]|0;G=d[a+61>>0]|0;t=d[a+62>>0]|0;u=d[a+63>>0]|0;v=a+28|0;E=c[v>>2]|0;w=(c[a+8>>2]<<16|0)/(E|0)|0;x=a+24|0;f=c[x>>2]|0;y=(c[a+4>>2]<<16|0)/(f|0)|0;e=E+-1|0;c[v>>2]=e;if(!E)return;z=a+20|0;A=a+32|0;B=(b&1|0)==0;C=a+12|0;D=(b&2|0)==0;E=(b&48|0)!=0;s=b&112;q=c[z>>2]|0;g=0;h=0;r=q;b=e;e=q;while(1){if((g|0)>65535){q=~g;q=g+65536+((q|0)>-131072?q:-131072)|0;p=g+-65536-(q&-65536)|0;q=h+1+(q>>>16)|0}else{p=g;q=h}if(f){b=0;g=65536;h=-1;while(1){f=f+-1|0;if((g|0)>65535){o=~g;o=g+65536+((o|0)>-131072?o:-131072)|0;h=h+1+(o>>>16)|0;b=(c[a>>2]|0)+(N(c[C>>2]|0,q)|0)+(h<<2)|0;g=g+-65536-(o&-65536)|0}o=c[b>>2]|0;m=o>>>24;n=o>>>16&255;l=o>>>8&255;o=o&255;i=c[e>>2]|0;k=i>>>16&255;j=i>>>8&255;i=i&255;if(!B){m=((N(m,F)|0)>>>0)/255|0;n=((N(n,G)|0)>>>0)/255|0;l=((N(l,t)|0)>>>0)/255|0}H=((N(o,u)|0)>>>0)/255|0;o=D?o:H;if(E&o>>>0<255){m=((N(m,o)|0)>>>0)/255|0;n=((N(n,o)|0)>>>0)/255|0;l=((N(l,o)|0)>>>0)/255|0}switch(s&127){case 16:{H=255-o|0;k=l+(((N(H,k)|0)>>>0)/255|0)|0;j=n+(((N(H,j)|0)>>>0)/255|0)|0;i=m+(((N(H,i)|0)>>>0)/255|0)|0;break}case 32:{i=m+i|0;j=n+j|0;k=l+k|0;k=k>>>0<255?k:255;j=j>>>0<255?j:255;i=i>>>0<255?i:255;break}case 64:{k=((N(l,k)|0)>>>0)/255|0;j=((N(n,j)|0)>>>0)/255|0;i=((N(m,i)|0)>>>0)/255|0;break}default:{}}c[e>>2]=j<<8|i|k<<16;if(!f)break;else{e=e+4|0;g=g+y|0}}b=c[v>>2]|0}f=r+(c[A>>2]|0)|0;e=b+-1|0;c[v>>2]=e;if(!b)break;g=p+w|0;h=q;r=f;b=e;e=f;f=c[x>>2]|0}c[z>>2]=f;return}function pDa(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;p=a+28|0;o=c[p>>2]|0;q=(c[a+8>>2]<<16|0)/(o|0)|0;k=a+24|0;b=c[k>>2]|0;l=(c[a+4>>2]<<16|0)/(b|0)|0;d=o+-1|0;c[p>>2]=d;if(!o)return;m=a+20|0;n=a+32|0;o=a+12|0;e=c[m>>2]|0;f=0;g=0;j=e;while(1){if((g|0)>65535){i=~g;i=g+65536+((i|0)>-131072?i:-131072)|0;h=f+1+(i>>>16)|0;i=g+-65536-(i&-65536)|0}else{h=f;i=g}if(!b)b=d;else{d=0;f=-1;g=65536;while(1){b=b+-1|0;if((g|0)>65535){r=~g;r=g+65536+((r|0)>-131072?r:-131072)|0;f=f+1+(r>>>16)|0;d=(c[a>>2]|0)+(N(c[o>>2]|0,h)|0)+(f<<2)|0;g=g+-65536-(r&-65536)|0}s=c[d>>2]|0;r=s>>>8;c[e>>2]=s>>>24<<16|s<<24|r&65280|r&255;if(!b)break;else{e=e+4|0;g=g+l|0}}b=c[p>>2]|0}e=j+(c[n>>2]|0)|0;d=b+-1|0;c[p>>2]=d;if(!b)break;f=h;g=i+q|0;b=c[k>>2]|0;j=e}c[m>>2]=e;return}function qDa(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;b=c[a+52>>2]|0;s=a+28|0;v=c[s>>2]|0;c[s>>2]=v+-1;if(!v)return;t=a+20|0;u=a+24|0;v=a+12|0;q=a+32|0;r=(b&48|0)==0;p=b&112;d=c[a>>2]|0;b=c[t>>2]|0;n=d;o=b;while(1){m=c[u>>2]|0;e=m+-1|0;a:do if(m|0){if(r){m=e;while(1){h=c[d>>2]|0;l=h>>>24;k=h>>>16&255;j=h>>>8&255;h=h&255;i=c[b>>2]|0;e=i>>>16&255;f=i>>>8&255;g=i&255;i=i>>>24;switch(p&127){case 16:{w=h^255;i=(((N(w,i)|0)>>>0)/255|0)+h|0;g=j+(((N(w,g)|0)>>>0)/255|0)|0;f=k+(((N(f,w)|0)>>>0)/255|0)|0;e=l+(((N(e,w)|0)>>>0)/255|0)|0;break}case 32:{e=l+e|0;f=k+f|0;g=j+g|0;g=g>>>0<255?g:255;f=f>>>0<255?f:255;e=e>>>0<255?e:255;break}case 64:{g=((N(j,g)|0)>>>0)/255|0;f=((N(k,f)|0)>>>0)/255|0;e=((N(l,e)|0)>>>0)/255|0;break}default:{}}c[b>>2]=f<<8|e<<16|g|i<<24;if(!m)break a;else{b=b+4|0;d=d+4|0;m=m+-1|0}}}m=e;while(1){l=c[d>>2]|0;k=l>>>24;i=l>>>16&255;h=l>>>8&255;l=l&255;j=c[b>>2]|0;e=j>>>16&255;f=j>>>8&255;g=j&255;j=j>>>24;if((l|0)!=255){h=((N(h,l)|0)>>>0)/255|0;i=((N(i,l)|0)>>>0)/255|0;k=((N(k,l)|0)>>>0)/255|0}switch(p&127){case 16:{w=l^255;j=(((N(w,j)|0)>>>0)/255|0)+l|0;g=h+(((N(w,g)|0)>>>0)/255|0)|0;f=i+(((N(f,w)|0)>>>0)/255|0)|0;e=k+(((N(e,w)|0)>>>0)/255|0)|0;break}case 32:{e=k+e|0;f=i+f|0;g=h+g|0;g=g>>>0<255?g:255;f=f>>>0<255?f:255;e=e>>>0<255?e:255;break}case 64:{g=((N(h,g)|0)>>>0)/255|0;f=((N(i,f)|0)>>>0)/255|0;e=((N(k,e)|0)>>>0)/255|0;break}default:{}}c[b>>2]=f<<8|e<<16|g|j<<24;if(!m)break a;else{b=b+4|0;d=d+4|0;m=m+-1|0}}}while(0);d=n+(c[v>>2]|0)|0;b=o+(c[q>>2]|0)|0;w=c[s>>2]|0;c[s>>2]=w+-1;if(!w)break;else{n=d;o=b}}c[a>>2]=d;c[t>>2]=b;return}function rDa(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;b=c[a+52>>2]|0;z=a+28|0;y=c[z>>2]|0;A=(c[a+8>>2]<<16|0)/(y|0)|0;t=a+24|0;e=c[t>>2]|0;u=(c[a+4>>2]<<16|0)/(e|0)|0;d=y+-1|0;c[z>>2]=d;if(!y)return;v=a+20|0;w=a+32|0;x=(b&48|0)!=0;y=a+12|0;s=b&112;q=c[v>>2]|0;f=0;g=0;r=q;b=d;d=q;while(1){if((f|0)>65535){q=~f;q=f+65536+((q|0)>-131072?q:-131072)|0;p=f+-65536-(q&-65536)|0;q=g+1+(q>>>16)|0}else{p=f;q=g}if(e){b=0;f=65536;g=-1;while(1){e=e+-1|0;if((f|0)>65535){o=~f;o=f+65536+((o|0)>-131072?o:-131072)|0;g=g+1+(o>>>16)|0;b=(c[a>>2]|0)+(N(c[y>>2]|0,q)|0)+(g<<2)|0;f=f+-65536-(o&-65536)|0}o=c[b>>2]|0;k=o>>>24;m=o>>>16&255;l=o>>>8&255;o=o&255;n=c[d>>2]|0;h=n>>>16&255;i=n>>>8&255;j=n&255;n=n>>>24;if(x&(o|0)!=255){k=((N(k,o)|0)>>>0)/255|0;m=((N(m,o)|0)>>>0)/255|0;l=((N(l,o)|0)>>>0)/255|0}switch(s&127){case 16:{B=o^255;n=(((N(B,n)|0)>>>0)/255|0)+o|0;j=l+(((N(B,j)|0)>>>0)/255|0)|0;i=m+(((N(i,B)|0)>>>0)/255|0)|0;h=k+(((N(h,B)|0)>>>0)/255|0)|0;break}case 32:{h=k+h|0;i=m+i|0;j=l+j|0;j=j>>>0<255?j:255;i=i>>>0<255?i:255;h=h>>>0<255?h:255;break}case 64:{j=((N(l,j)|0)>>>0)/255|0;i=((N(m,i)|0)>>>0)/255|0;h=((N(k,h)|0)>>>0)/255|0;break}default:{}}c[d>>2]=i<<8|h<<16|j|n<<24;if(!e)break;else{d=d+4|0;f=f+u|0}}b=c[z>>2]|0}e=r+(c[w>>2]|0)|0;d=b+-1|0;c[z>>2]=d;if(!b)break;f=p+A|0;g=q;r=e;b=d;d=e;e=c[t>>2]|0}c[v>>2]=e;return}function sDa(a){a=a|0;var b=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;b=c[a+52>>2]|0;r=d[a+60>>0]|0;s=d[a+61>>0]|0;j=d[a+62>>0]|0;k=d[a+63>>0]|0;l=a+28|0;q=c[l>>2]|0;c[l>>2]=q+-1;if(!q)return;m=a+20|0;n=a+24|0;o=a+12|0;p=a+32|0;q=(b&1|0)==0;g=(b&2|0)==0;e=c[a>>2]|0;f=c[m>>2]|0;h=e;i=f;while(1){t=c[n>>2]|0;b=t+-1|0;if(t|0)if(q)while(1){v=c[e>>2]|0;t=v>>>8;u=((N(v&255,k)|0)>>>0)/255|0;c[f>>2]=v>>>24<<16|(g?v:u)<<24|t&65280|t&255;if(!b)break;else{f=f+4|0;e=e+4|0;b=b+-1|0}}else while(1){w=c[e>>2]|0;x=((N(w>>>24,r)|0)>>>0)/255|0;u=((N(w>>>16&255,s)|0)>>>0)/255|0;v=((N(w>>>8&255,j)|0)>>>0)/255|0;t=((N(w&255,k)|0)>>>0)/255|0;c[f>>2]=x<<16|(g?w:t)<<24|u<<8|v;if(!b)break;else{f=f+4|0;e=e+4|0;b=b+-1|0}}e=h+(c[o>>2]|0)|0;b=i+(c[p>>2]|0)|0;x=c[l>>2]|0;c[l>>2]=x+-1;if(!x)break;else{h=e;i=b;f=b}}c[a>>2]=e;c[m>>2]=b;return}function tDa(a){a=a|0;var b=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;b=c[a+52>>2]|0;w=d[a+60>>0]|0;x=d[a+61>>0]|0;m=d[a+62>>0]|0;n=d[a+63>>0]|0;o=a+28|0;v=c[o>>2]|0;p=(c[a+8>>2]<<16|0)/(v|0)|0;q=a+24|0;e=c[q>>2]|0;r=(c[a+4>>2]<<16|0)/(e|0)|0;c[o>>2]=v+-1;if(!v)return;s=a+20|0;t=a+32|0;u=(b&1|0)==0;v=a+12|0;l=(b&2|0)==0;b=c[s>>2]|0;f=0;g=0;k=b;while(1){if((f|0)>65535){j=~f;j=f+65536+((j|0)>-131072?j:-131072)|0;f=f+-65536-(j&-65536)|0;g=g+1+(j>>>16)|0}j=e+-1|0;if(e|0)if(u){e=0;h=65536;i=-1;while(1){if((h|0)>65535){y=~h;y=h+65536+((y|0)>-131072?y:-131072)|0;i=i+1+(y>>>16)|0;e=(c[a>>2]|0)+(N(c[v>>2]|0,g)|0)+(i<<2)|0;h=h+-65536-(y&-65536)|0}y=c[e>>2]|0;z=y>>>8;A=((N(y&255,n)|0)>>>0)/255|0;c[b>>2]=z&65280|(l?y:A)<<24|z&255|y>>>24<<16;if(!j)break;else{b=b+4|0;h=h+r|0;j=j+-1|0}}}else{e=0;h=65536;i=-1;while(1){if((h|0)>65535){A=~h;A=h+65536+((A|0)>-131072?A:-131072)|0;i=i+1+(A>>>16)|0;e=(c[a>>2]|0)+(N(c[v>>2]|0,g)|0)+(i<<2)|0;h=h+-65536-(A&-65536)|0}B=c[e>>2]|0;A=((N(B>>>24,w)|0)>>>0)/255|0;C=((N(B>>>16&255,x)|0)>>>0)/255|0;z=((N(B>>>8&255,m)|0)>>>0)/255|0;y=((N(B&255,n)|0)>>>0)/255|0;c[b>>2]=C<<8|(l?B:y)<<24|z|A<<16;if(!j)break;else{b=b+4|0;h=h+r|0;j=j+-1|0}}}b=k+(c[t>>2]|0)|0;C=c[o>>2]|0;c[o>>2]=C+-1;if(!C)break;f=f+p|0;k=b;e=c[q>>2]|0}c[s>>2]=b;return}function uDa(a){a=a|0;var b=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;b=c[a+52>>2]|0;B=d[a+60>>0]|0;C=d[a+61>>0]|0;r=d[a+62>>0]|0;s=d[a+63>>0]|0;t=a+28|0;A=c[t>>2]|0;e=A+-1|0;c[t>>2]=e;if(!A)return;u=a+20|0;v=a+24|0;w=a+12|0;x=a+32|0;y=(b&1|0)==0;z=(b&2|0)==0;A=(b&48|0)!=0;q=b&112;do{f=c[v>>2]|0;if(!f){g=c[a>>2]|0;b=c[u>>2]|0;f=e}else{b=c[u>>2]|0;g=c[a>>2]|0;o=b;p=g;while(1){f=f+-1|0;n=c[p>>2]|0;m=n>>>24;k=n>>>16&255;j=n>>>8&255;n=n&255;l=c[o>>2]|0;e=l>>>16&255;h=l>>>8&255;i=l&255;l=l>>>24;if(!y){j=((N(j,r)|0)>>>0)/255|0;k=((N(k,C)|0)>>>0)/255|0;m=((N(m,B)|0)>>>0)/255|0}D=((N(n,s)|0)>>>0)/255|0;n=z?n:D;if(A&n>>>0<255){j=((N(j,n)|0)>>>0)/255|0;k=((N(k,n)|0)>>>0)/255|0;m=((N(m,n)|0)>>>0)/255|0}switch(q&127){case 16:{D=255-n|0;l=(((N(D,l)|0)>>>0)/255|0)+n|0;i=j+(((N(D,i)|0)>>>0)/255|0)|0;h=k+(((N(D,h)|0)>>>0)/255|0)|0;e=m+(((N(D,e)|0)>>>0)/255|0)|0;break}case 32:{e=m+e|0;h=k+h|0;i=j+i|0;i=i>>>0<255?i:255;h=h>>>0<255?h:255;e=e>>>0<255?e:255;break}case 64:{i=((N(j,i)|0)>>>0)/255|0;h=((N(k,h)|0)>>>0)/255|0;e=((N(m,e)|0)>>>0)/255|0;break}default:{}}c[o>>2]=h<<8|e<<16|i|l<<24;if(!f)break;else{o=o+4|0;p=p+4|0}}f=c[t>>2]|0}c[a>>2]=g+(c[w>>2]|0);c[u>>2]=b+(c[x>>2]|0);e=f+-1|0;c[t>>2]=e}while((f|0)!=0);return}function vDa(a){a=a|0;var b=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0;b=c[a+52>>2]|0;G=d[a+60>>0]|0;H=d[a+61>>0]|0;u=d[a+62>>0]|0;v=d[a+63>>0]|0;w=a+28|0;F=c[w>>2]|0;x=(c[a+8>>2]<<16|0)/(F|0)|0;y=a+24|0;f=c[y>>2]|0;z=(c[a+4>>2]<<16|0)/(f|0)|0;e=F+-1|0;c[w>>2]=e;if(!F)return;A=a+20|0;B=a+32|0;C=(b&1|0)==0;D=a+12|0;E=(b&2|0)==0;F=(b&48|0)!=0;t=b&112;r=c[A>>2]|0;g=0;h=0;s=r;b=e;e=r;while(1){if((g|0)>65535){r=~g;r=g+65536+((r|0)>-131072?r:-131072)|0;q=g+-65536-(r&-65536)|0;r=h+1+(r>>>16)|0}else{q=g;r=h}if(f){b=0;g=65536;h=-1;while(1){f=f+-1|0;if((g|0)>65535){p=~g;p=g+65536+((p|0)>-131072?p:-131072)|0;h=h+1+(p>>>16)|0;b=(c[a>>2]|0)+(N(c[D>>2]|0,r)|0)+(h<<2)|0;g=g+-65536-(p&-65536)|0}p=c[b>>2]|0;l=p>>>24;n=p>>>16&255;m=p>>>8&255;p=p&255;o=c[e>>2]|0;i=o>>>16&255;j=o>>>8&255;k=o&255;o=o>>>24;if(!C){l=((N(l,G)|0)>>>0)/255|0;n=((N(n,H)|0)>>>0)/255|0;m=((N(m,u)|0)>>>0)/255|0}I=((N(p,v)|0)>>>0)/255|0;p=E?p:I;if(F&p>>>0<255){l=((N(l,p)|0)>>>0)/255|0;n=((N(n,p)|0)>>>0)/255|0;m=((N(m,p)|0)>>>0)/255|0}switch(t&127){case 16:{I=255-p|0;o=(((N(I,o)|0)>>>0)/255|0)+p|0;k=m+(((N(I,k)|0)>>>0)/255|0)|0;j=n+(((N(I,j)|0)>>>0)/255|0)|0;i=l+(((N(I,i)|0)>>>0)/255|0)|0;break}case 32:{i=l+i|0;j=n+j|0;k=m+k|0;k=k>>>0<255?k:255;j=j>>>0<255?j:255;i=i>>>0<255?i:255;break}case 64:{k=((N(m,k)|0)>>>0)/255|0;j=((N(n,j)|0)>>>0)/255|0;i=((N(l,i)|0)>>>0)/255|0;break}default:{}}c[e>>2]=j<<8|i<<16|k|o<<24;if(!f)break;else{e=e+4|0;g=g+z|0}}b=c[w>>2]|0}f=s+(c[B>>2]|0)|0;e=b+-1|0;c[w>>2]=e;if(!b)break;g=q+x|0;h=r;s=f;b=e;e=f;f=c[y>>2]|0}c[A>>2]=f;return}function wDa(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;p=a+28|0;o=c[p>>2]|0;q=(c[a+8>>2]<<16|0)/(o|0)|0;k=a+24|0;b=c[k>>2]|0;l=(c[a+4>>2]<<16|0)/(b|0)|0;d=o+-1|0;c[p>>2]=d;if(!o)return;m=a+20|0;n=a+32|0;o=a+12|0;e=c[m>>2]|0;f=0;g=0;j=e;while(1){if((g|0)>65535){i=~g;i=g+65536+((i|0)>-131072?i:-131072)|0;h=f+1+(i>>>16)|0;i=g+-65536-(i&-65536)|0}else{h=f;i=g}if(!b)b=d;else{d=0;f=-1;g=65536;while(1){b=b+-1|0;if((g|0)>65535){r=~g;r=g+65536+((r|0)>-131072?r:-131072)|0;f=f+1+(r>>>16)|0;d=(c[a>>2]|0)+(N(c[o>>2]|0,h)|0)+(f<<2)|0;g=g+-65536-(r&-65536)|0}r=c[d>>2]|0;c[e>>2]=r<<16&16711680|r&65280|r>>>16&255;if(!b)break;else{e=e+4|0;g=g+l|0}}b=c[p>>2]|0}e=j+(c[n>>2]|0)|0;d=b+-1|0;c[p>>2]=d;if(!b)break;f=h;g=i+q|0;b=c[k>>2]|0;j=e}c[m>>2]=e;return}function xDa(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;b=c[a+52>>2]|0;r=a+28|0;u=c[r>>2]|0;c[r>>2]=u+-1;if(!u)return;s=a+20|0;t=a+24|0;u=a+12|0;p=a+32|0;q=(b&48|0)==0;o=b&112;d=c[a>>2]|0;b=c[s>>2]|0;m=d;n=b;while(1){l=c[t>>2]|0;e=l+-1|0;a:do if(l|0){if(q){l=e;while(1){h=c[d>>2]|0;i=h>>>16&255;j=h>>>8&255;k=h&255;g=c[b>>2]|0;e=g>>>16&255;f=g>>>8&255;g=g&255;switch(o&127){case 16:{h=h>>>24^255;g=i+(((N(h,g)|0)>>>0)/255|0)|0;f=j+(((N(f,h)|0)>>>0)/255|0)|0;e=k+(((N(e,h)|0)>>>0)/255|0)|0;break}case 32:{e=k+e|0;f=j+f|0;g=i+g|0;g=g>>>0<255?g:255;f=f>>>0<255?f:255;e=e>>>0<255?e:255;break}case 64:{g=((N(i,g)|0)>>>0)/255|0;f=((N(j,f)|0)>>>0)/255|0;e=((N(k,e)|0)>>>0)/255|0;break}default:{}}c[b>>2]=f<<8|e<<16|g;if(!l)break a;else{b=b+4|0;d=d+4|0;l=l+-1|0}}}l=e;while(1){k=c[d>>2]|0;i=k>>>16&255;j=k>>>8&255;h=k&255;k=k>>>24;g=c[b>>2]|0;e=g>>>16&255;f=g>>>8&255;g=g&255;if((k|0)!=255){h=((N(h,k)|0)>>>0)/255|0;i=((N(i,k)|0)>>>0)/255|0;j=((N(j,k)|0)>>>0)/255|0}switch(o&127){case 16:{k=k^255;g=i+(((N(k,g)|0)>>>0)/255|0)|0;f=j+(((N(f,k)|0)>>>0)/255|0)|0;e=h+(((N(e,k)|0)>>>0)/255|0)|0;break}case 32:{e=h+e|0;f=j+f|0;g=i+g|0;g=g>>>0<255?g:255;f=f>>>0<255?f:255;e=e>>>0<255?e:255;break}case 64:{g=((N(i,g)|0)>>>0)/255|0;f=((N(j,f)|0)>>>0)/255|0;e=((N(h,e)|0)>>>0)/255|0;break}default:{}}c[b>>2]=f<<8|e<<16|g;if(!l)break a;else{b=b+4|0;d=d+4|0;l=l+-1|0}}}while(0);d=m+(c[u>>2]|0)|0;b=n+(c[p>>2]|0)|0;n=c[r>>2]|0;c[r>>2]=n+-1;if(!n)break;else{m=d;n=b}}c[a>>2]=d;c[s>>2]=b;return}function yDa(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;b=c[a+52>>2]|0;y=a+28|0;x=c[y>>2]|0;z=(c[a+8>>2]<<16|0)/(x|0)|0;s=a+24|0;e=c[s>>2]|0;t=(c[a+4>>2]<<16|0)/(e|0)|0;d=x+-1|0;c[y>>2]=d;if(!x)return;u=a+20|0;v=a+32|0;w=(b&48|0)!=0;x=a+12|0;r=b&112;p=c[u>>2]|0;f=0;g=0;q=p;b=d;d=p;while(1){if((f|0)>65535){p=~f;p=f+65536+((p|0)>-131072?p:-131072)|0;o=f+-65536-(p&-65536)|0;p=g+1+(p>>>16)|0}else{o=f;p=g}if(e){b=0;f=65536;g=-1;while(1){e=e+-1|0;if((f|0)>65535){n=~f;n=f+65536+((n|0)>-131072?n:-131072)|0;g=g+1+(n>>>16)|0;b=(c[a>>2]|0)+(N(c[x>>2]|0,p)|0)+(g<<2)|0;f=f+-65536-(n&-65536)|0}n=c[b>>2]|0;k=n>>>16&255;m=n>>>8&255;l=n&255;n=n>>>24;j=c[d>>2]|0;h=j>>>16&255;i=j>>>8&255;j=j&255;if(w&(n|0)!=255){l=((N(l,n)|0)>>>0)/255|0;m=((N(m,n)|0)>>>0)/255|0;k=((N(k,n)|0)>>>0)/255|0}switch(r&127){case 16:{n=n^255;j=k+(((N(n,j)|0)>>>0)/255|0)|0;i=m+(((N(i,n)|0)>>>0)/255|0)|0;h=l+(((N(h,n)|0)>>>0)/255|0)|0;break}case 32:{h=l+h|0;i=m+i|0;j=k+j|0;j=j>>>0<255?j:255;i=i>>>0<255?i:255;h=h>>>0<255?h:255;break}case 64:{j=((N(k,j)|0)>>>0)/255|0;i=((N(m,i)|0)>>>0)/255|0;h=((N(l,h)|0)>>>0)/255|0;break}default:{}}c[d>>2]=i<<8|h<<16|j;if(!e)break;else{d=d+4|0;f=f+t|0}}b=c[y>>2]|0}e=q+(c[v>>2]|0)|0;d=b+-1|0;c[y>>2]=d;if(!b)break;f=o+z|0;g=p;q=e;b=d;d=e;e=c[s>>2]|0}c[u>>2]=e;return}function zDa(a){a=a|0;var b=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;e=c[a+52>>2]|0;k=d[a+60>>0]|0;l=d[a+61>>0]|0;j=d[a+62>>0]|0;m=a+28|0;q=c[m>>2]|0;b=q+-1|0;c[m>>2]=b;if(!q)return;n=a+20|0;o=a+24|0;p=a+12|0;q=a+32|0;if(!(e&1)){g=b;do{e=c[o>>2]|0;if(!e){f=c[a>>2]|0;b=c[n>>2]|0;e=g}else{b=c[n>>2]|0;f=c[a>>2]|0;g=b;h=f;while(1){e=e+-1|0;l=c[h>>2]|0;c[g>>2]=l&65280|l<<16&16711680|l>>>16&255;if(!e)break;else{g=g+4|0;h=h+4|0}}e=c[m>>2]|0}c[a>>2]=f+(c[p>>2]|0);c[n>>2]=b+(c[q>>2]|0);g=e+-1|0;c[m>>2]=g}while((e|0)!=0);return}else{do{i=c[o>>2]|0;if(!i){g=c[a>>2]|0;e=c[n>>2]|0;f=b}else{e=c[n>>2]|0;g=c[a>>2]|0;f=e;h=g;b=i;while(1){b=b+-1|0;i=c[h>>2]|0;c[f>>2]=(((N(i>>>8&255,l)|0)>>>0)/255|0)<<8|(((N(i&255,k)|0)>>>0)/255|0)<<16|(((N(i>>>16&255,j)|0)>>>0)/255|0);if(!b)break;else{f=f+4|0;h=h+4|0}}f=c[m>>2]|0}c[a>>2]=g+(c[p>>2]|0);c[n>>2]=e+(c[q>>2]|0);b=f+-1|0;c[m>>2]=b}while((f|0)!=0);return}}function ADa(a){a=a|0;var b=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;b=c[a+52>>2]|0;u=d[a+60>>0]|0;v=d[a+61>>0]|0;n=d[a+62>>0]|0;o=a+28|0;t=c[o>>2]|0;p=(c[a+8>>2]<<16|0)/(t|0)|0;q=a+24|0;e=c[q>>2]|0;r=(c[a+4>>2]<<16|0)/(e|0)|0;c[o>>2]=t+-1;if(!t)return;s=a+20|0;t=a+32|0;l=(b&1|0)==0;m=a+12|0;b=c[s>>2]|0;f=0;g=0;k=b;while(1){if((f|0)>65535){j=~f;j=f+65536+((j|0)>-131072?j:-131072)|0;f=f+-65536-(j&-65536)|0;g=g+1+(j>>>16)|0}j=e+-1|0;if(e|0)if(l){e=0;h=65536;i=-1;while(1){if((h|0)>65535){w=~h;w=h+65536+((w|0)>-131072?w:-131072)|0;i=i+1+(w>>>16)|0;e=(c[a>>2]|0)+(N(c[m>>2]|0,g)|0)+(i<<2)|0;h=h+-65536-(w&-65536)|0}w=c[e>>2]|0;c[b>>2]=w>>>16&255|w&65280|w<<16&16711680;if(!j)break;else{b=b+4|0;h=h+r|0;j=j+-1|0}}}else{e=0;h=65536;i=-1;while(1){if((h|0)>65535){w=~h;w=h+65536+((w|0)>-131072?w:-131072)|0;i=i+1+(w>>>16)|0;e=(c[a>>2]|0)+(N(c[m>>2]|0,g)|0)+(i<<2)|0;h=h+-65536-(w&-65536)|0}w=c[e>>2]|0;c[b>>2]=((N(w>>>16&255,n)|0)>>>0)/255|0|(((N(w>>>8&255,v)|0)>>>0)/255|0)<<8|(((N(w&255,u)|0)>>>0)/255|0)<<16;if(!j)break;else{b=b+4|0;h=h+r|0;j=j+-1|0}}}b=k+(c[t>>2]|0)|0;w=c[o>>2]|0;c[o>>2]=w+-1;if(!w)break;f=f+p|0;k=b;e=c[q>>2]|0}c[s>>2]=b;return}function BDa(a){a=a|0;var b=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;b=c[a+52>>2]|0;A=d[a+60>>0]|0;B=d[a+61>>0]|0;q=d[a+62>>0]|0;r=d[a+63>>0]|0;s=a+28|0;z=c[s>>2]|0;e=z+-1|0;c[s>>2]=e;if(!z)return;t=a+20|0;u=a+24|0;v=a+12|0;w=a+32|0;x=(b&1|0)==0;y=(b&2|0)==0;z=(b&48|0)!=0;p=b&112;do{f=c[u>>2]|0;if(!f){g=c[a>>2]|0;b=c[t>>2]|0;f=e}else{b=c[t>>2]|0;g=c[a>>2]|0;n=b;o=g;while(1){f=f+-1|0;m=c[o>>2]|0;j=m>>>16&255;k=m>>>8&255;l=m&255;m=m>>>24;i=c[n>>2]|0;e=i>>>16&255;h=i>>>8&255;i=i&255;if(!x){j=((N(j,q)|0)>>>0)/255|0;k=((N(k,B)|0)>>>0)/255|0;l=((N(l,A)|0)>>>0)/255|0}C=((N(m,r)|0)>>>0)/255|0;m=y?m:C;if(z&m>>>0<255){j=((N(j,m)|0)>>>0)/255|0;k=((N(k,m)|0)>>>0)/255|0;l=((N(l,m)|0)>>>0)/255|0}switch(p&127){case 16:{C=255-m|0;i=j+(((N(C,i)|0)>>>0)/255|0)|0;h=k+(((N(C,h)|0)>>>0)/255|0)|0;e=l+(((N(C,e)|0)>>>0)/255|0)|0;break}case 32:{e=l+e|0;h=k+h|0;i=j+i|0;i=i>>>0<255?i:255;h=h>>>0<255?h:255;e=e>>>0<255?e:255;break}case 64:{i=((N(j,i)|0)>>>0)/255|0;h=((N(k,h)|0)>>>0)/255|0;e=((N(l,e)|0)>>>0)/255|0;break}default:{}}c[n>>2]=h<<8|e<<16|i;if(!f)break;else{n=n+4|0;o=o+4|0}}f=c[s>>2]|0}c[a>>2]=g+(c[v>>2]|0);c[t>>2]=b+(c[w>>2]|0);e=f+-1|0;c[s>>2]=e}while((f|0)!=0);return}function CDa(a){a=a|0;var b=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0;b=c[a+52>>2]|0;F=d[a+60>>0]|0;G=d[a+61>>0]|0;t=d[a+62>>0]|0;u=d[a+63>>0]|0;v=a+28|0;E=c[v>>2]|0;w=(c[a+8>>2]<<16|0)/(E|0)|0;x=a+24|0;f=c[x>>2]|0;y=(c[a+4>>2]<<16|0)/(f|0)|0;e=E+-1|0;c[v>>2]=e;if(!E)return;z=a+20|0;A=a+32|0;B=(b&1|0)==0;C=a+12|0;D=(b&2|0)==0;E=(b&48|0)!=0;s=b&112;q=c[z>>2]|0;g=0;h=0;r=q;b=e;e=q;while(1){if((g|0)>65535){q=~g;q=g+65536+((q|0)>-131072?q:-131072)|0;p=g+-65536-(q&-65536)|0;q=h+1+(q>>>16)|0}else{p=g;q=h}if(f){b=0;g=65536;h=-1;while(1){f=f+-1|0;if((g|0)>65535){o=~g;o=g+65536+((o|0)>-131072?o:-131072)|0;h=h+1+(o>>>16)|0;b=(c[a>>2]|0)+(N(c[C>>2]|0,q)|0)+(h<<2)|0;g=g+-65536-(o&-65536)|0}o=c[b>>2]|0;l=o>>>16&255;n=o>>>8&255;m=o&255;o=o>>>24;k=c[e>>2]|0;i=k>>>16&255;j=k>>>8&255;k=k&255;if(!B){m=((N(m,F)|0)>>>0)/255|0;n=((N(n,G)|0)>>>0)/255|0;l=((N(l,t)|0)>>>0)/255|0}H=((N(o,u)|0)>>>0)/255|0;o=D?o:H;if(E&o>>>0<255){m=((N(m,o)|0)>>>0)/255|0;n=((N(n,o)|0)>>>0)/255|0;l=((N(l,o)|0)>>>0)/255|0}switch(s&127){case 16:{H=255-o|0;k=l+(((N(H,k)|0)>>>0)/255|0)|0;j=n+(((N(H,j)|0)>>>0)/255|0)|0;i=m+(((N(H,i)|0)>>>0)/255|0)|0;break}case 32:{i=m+i|0;j=n+j|0;k=l+k|0;k=k>>>0<255?k:255;j=j>>>0<255?j:255;i=i>>>0<255?i:255;break}case 64:{k=((N(l,k)|0)>>>0)/255|0;j=((N(n,j)|0)>>>0)/255|0;i=((N(m,i)|0)>>>0)/255|0;break}default:{}}c[e>>2]=j<<8|i<<16|k;if(!f)break;else{e=e+4|0;g=g+y|0}}b=c[v>>2]|0}f=r+(c[A>>2]|0)|0;e=b+-1|0;c[v>>2]=e;if(!b)break;g=p+w|0;h=q;r=f;b=e;e=f;f=c[x>>2]|0}c[z>>2]=f;return}function DDa(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;p=a+28|0;o=c[p>>2]|0;q=(c[a+8>>2]<<16|0)/(o|0)|0;k=a+24|0;b=c[k>>2]|0;l=(c[a+4>>2]<<16|0)/(b|0)|0;d=o+-1|0;c[p>>2]=d;if(!o)return;m=a+20|0;n=a+32|0;o=a+12|0;e=c[m>>2]|0;f=0;g=0;j=e;while(1){if((g|0)>65535){i=~g;i=g+65536+((i|0)>-131072?i:-131072)|0;h=f+1+(i>>>16)|0;i=g+-65536-(i&-65536)|0}else{h=f;i=g}if(!b)b=d;else{d=0;f=-1;g=65536;while(1){b=b+-1|0;if((g|0)>65535){r=~g;r=g+65536+((r|0)>-131072?r:-131072)|0;f=f+1+(r>>>16)|0;d=(c[a>>2]|0)+(N(c[o>>2]|0,h)|0)+(f<<2)|0;g=g+-65536-(r&-65536)|0}c[e>>2]=c[d>>2]&16777215;if(!b)break;else{e=e+4|0;g=g+l|0}}b=c[p>>2]|0}e=j+(c[n>>2]|0)|0;d=b+-1|0;c[p>>2]=d;if(!b)break;f=h;g=i+q|0;b=c[k>>2]|0;j=e}c[m>>2]=e;return}function EDa(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;b=c[a+52>>2]|0;r=a+28|0;u=c[r>>2]|0;c[r>>2]=u+-1;if(!u)return;s=a+20|0;t=a+24|0;u=a+12|0;p=a+32|0;q=(b&48|0)==0;o=b&112;d=c[a>>2]|0;b=c[s>>2]|0;m=d;n=b;while(1){l=c[t>>2]|0;e=l+-1|0;a:do if(l|0){if(q){l=e;while(1){h=c[d>>2]|0;i=h>>>16&255;j=h>>>8&255;k=h&255;e=c[b>>2]|0;g=e>>>16&255;f=e>>>8&255;e=e&255;switch(o&127){case 16:{h=h>>>24^255;g=i+(((N(g,h)|0)>>>0)/255|0)|0;f=j+(((N(f,h)|0)>>>0)/255|0)|0;e=k+(((N(h,e)|0)>>>0)/255|0)|0;break}case 32:{e=k+e|0;f=j+f|0;g=i+g|0;g=g>>>0<255?g:255;f=f>>>0<255?f:255;e=e>>>0<255?e:255;break}case 64:{g=((N(i,g)|0)>>>0)/255|0;f=((N(j,f)|0)>>>0)/255|0;e=((N(k,e)|0)>>>0)/255|0;break}default:{}}c[b>>2]=f<<8|e|g<<16;if(!l)break a;else{b=b+4|0;d=d+4|0;l=l+-1|0}}}l=e;while(1){k=c[d>>2]|0;i=k>>>16&255;j=k>>>8&255;h=k&255;k=k>>>24;e=c[b>>2]|0;g=e>>>16&255;f=e>>>8&255;e=e&255;if((k|0)!=255){h=((N(h,k)|0)>>>0)/255|0;i=((N(i,k)|0)>>>0)/255|0;j=((N(j,k)|0)>>>0)/255|0}switch(o&127){case 16:{k=k^255;g=i+(((N(g,k)|0)>>>0)/255|0)|0;f=j+(((N(f,k)|0)>>>0)/255|0)|0;e=h+(((N(k,e)|0)>>>0)/255|0)|0;break}case 32:{e=h+e|0;f=j+f|0;g=i+g|0;g=g>>>0<255?g:255;f=f>>>0<255?f:255;e=e>>>0<255?e:255;break}case 64:{g=((N(i,g)|0)>>>0)/255|0;f=((N(j,f)|0)>>>0)/255|0;e=((N(h,e)|0)>>>0)/255|0;break}default:{}}c[b>>2]=f<<8|e|g<<16;if(!l)break a;else{b=b+4|0;d=d+4|0;l=l+-1|0}}}while(0);d=m+(c[u>>2]|0)|0;b=n+(c[p>>2]|0)|0;n=c[r>>2]|0;c[r>>2]=n+-1;if(!n)break;else{m=d;n=b}}c[a>>2]=d;c[s>>2]=b;return}function FDa(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;b=c[a+52>>2]|0;y=a+28|0;x=c[y>>2]|0;z=(c[a+8>>2]<<16|0)/(x|0)|0;s=a+24|0;e=c[s>>2]|0;t=(c[a+4>>2]<<16|0)/(e|0)|0;d=x+-1|0;c[y>>2]=d;if(!x)return;u=a+20|0;v=a+32|0;w=(b&48|0)!=0;x=a+12|0;r=b&112;p=c[u>>2]|0;f=0;g=0;q=p;b=d;d=p;while(1){if((f|0)>65535){p=~f;p=f+65536+((p|0)>-131072?p:-131072)|0;o=f+-65536-(p&-65536)|0;p=g+1+(p>>>16)|0}else{o=f;p=g}if(e){b=0;f=65536;g=-1;while(1){e=e+-1|0;if((f|0)>65535){n=~f;n=f+65536+((n|0)>-131072?n:-131072)|0;g=g+1+(n>>>16)|0;b=(c[a>>2]|0)+(N(c[x>>2]|0,p)|0)+(g<<2)|0;f=f+-65536-(n&-65536)|0}n=c[b>>2]|0;k=n>>>16&255;m=n>>>8&255;l=n&255;n=n>>>24;h=c[d>>2]|0;j=h>>>16&255;i=h>>>8&255;h=h&255;if(w&(n|0)!=255){l=((N(l,n)|0)>>>0)/255|0;m=((N(m,n)|0)>>>0)/255|0;k=((N(k,n)|0)>>>0)/255|0}switch(r&127){case 16:{n=n^255;j=k+(((N(j,n)|0)>>>0)/255|0)|0;i=m+(((N(i,n)|0)>>>0)/255|0)|0;h=l+(((N(n,h)|0)>>>0)/255|0)|0;break}case 32:{h=l+h|0;i=m+i|0;j=k+j|0;j=j>>>0<255?j:255;i=i>>>0<255?i:255;h=h>>>0<255?h:255;break}case 64:{j=((N(k,j)|0)>>>0)/255|0;i=((N(m,i)|0)>>>0)/255|0;h=((N(l,h)|0)>>>0)/255|0;break}default:{}}c[d>>2]=i<<8|h|j<<16;if(!e)break;else{d=d+4|0;f=f+t|0}}b=c[y>>2]|0}e=q+(c[v>>2]|0)|0;d=b+-1|0;c[y>>2]=d;if(!b)break;f=o+z|0;g=p;q=e;b=d;d=e;e=c[s>>2]|0}c[u>>2]=e;return}function GDa(a){a=a|0;var b=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;e=c[a+52>>2]|0;k=d[a+60>>0]|0;l=d[a+61>>0]|0;j=d[a+62>>0]|0;m=a+28|0;q=c[m>>2]|0;b=q+-1|0;c[m>>2]=b;if(!q)return;n=a+20|0;o=a+24|0;p=a+12|0;q=a+32|0;if(!(e&1)){g=b;do{e=c[o>>2]|0;if(!e){f=c[a>>2]|0;b=c[n>>2]|0;e=g}else{b=c[n>>2]|0;f=c[a>>2]|0;g=b;h=f;while(1){e=e+-1|0;c[g>>2]=c[h>>2]&16777215;if(!e)break;else{g=g+4|0;h=h+4|0}}e=c[m>>2]|0}c[a>>2]=f+(c[p>>2]|0);c[n>>2]=b+(c[q>>2]|0);g=e+-1|0;c[m>>2]=g}while((e|0)!=0);return}else{do{i=c[o>>2]|0;if(!i){g=c[a>>2]|0;e=c[n>>2]|0;f=b}else{e=c[n>>2]|0;g=c[a>>2]|0;f=e;h=g;b=i;while(1){b=b+-1|0;i=c[h>>2]|0;c[f>>2]=(((N(i>>>8&255,l)|0)>>>0)/255|0)<<8|(((N(i&255,k)|0)>>>0)/255|0)|(((N(i>>>16&255,j)|0)>>>0)/255|0)<<16;if(!b)break;else{f=f+4|0;h=h+4|0}}f=c[m>>2]|0}c[a>>2]=g+(c[p>>2]|0);c[n>>2]=e+(c[q>>2]|0);b=f+-1|0;c[m>>2]=b}while((f|0)!=0);return}}function HDa(a){a=a|0;var b=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;b=c[a+52>>2]|0;u=d[a+60>>0]|0;v=d[a+61>>0]|0;n=d[a+62>>0]|0;o=a+28|0;t=c[o>>2]|0;p=(c[a+8>>2]<<16|0)/(t|0)|0;q=a+24|0;e=c[q>>2]|0;r=(c[a+4>>2]<<16|0)/(e|0)|0;c[o>>2]=t+-1;if(!t)return;s=a+20|0;t=a+32|0;l=(b&1|0)==0;m=a+12|0;b=c[s>>2]|0;f=0;g=0;k=b;while(1){if((f|0)>65535){j=~f;j=f+65536+((j|0)>-131072?j:-131072)|0;f=f+-65536-(j&-65536)|0;g=g+1+(j>>>16)|0}j=e+-1|0;if(e|0)if(l){e=0;h=65536;i=-1;while(1){if((h|0)>65535){w=~h;w=h+65536+((w|0)>-131072?w:-131072)|0;i=i+1+(w>>>16)|0;e=(c[a>>2]|0)+(N(c[m>>2]|0,g)|0)+(i<<2)|0;h=h+-65536-(w&-65536)|0}c[b>>2]=c[e>>2]&16777215;if(!j)break;else{b=b+4|0;h=h+r|0;j=j+-1|0}}}else{e=0;h=65536;i=-1;while(1){if((h|0)>65535){w=~h;w=h+65536+((w|0)>-131072?w:-131072)|0;i=i+1+(w>>>16)|0;e=(c[a>>2]|0)+(N(c[m>>2]|0,g)|0)+(i<<2)|0;h=h+-65536-(w&-65536)|0}w=c[e>>2]|0;c[b>>2]=(((N(w>>>16&255,n)|0)>>>0)/255|0)<<16|(((N(w>>>8&255,v)|0)>>>0)/255|0)<<8|(((N(w&255,u)|0)>>>0)/255|0);if(!j)break;else{b=b+4|0;h=h+r|0;j=j+-1|0}}}b=k+(c[t>>2]|0)|0;w=c[o>>2]|0;c[o>>2]=w+-1;if(!w)break;f=f+p|0;k=b;e=c[q>>2]|0}c[s>>2]=b;return}function IDa(a){a=a|0;var b=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;b=c[a+52>>2]|0;A=d[a+60>>0]|0;B=d[a+61>>0]|0;q=d[a+62>>0]|0;r=d[a+63>>0]|0;s=a+28|0;z=c[s>>2]|0;e=z+-1|0;c[s>>2]=e;if(!z)return;t=a+20|0;u=a+24|0;v=a+12|0;w=a+32|0;x=(b&1|0)==0;y=(b&2|0)==0;z=(b&48|0)!=0;p=b&112;do{f=c[u>>2]|0;if(!f){g=c[a>>2]|0;b=c[t>>2]|0;f=e}else{b=c[t>>2]|0;g=c[a>>2]|0;n=b;o=g;while(1){f=f+-1|0;m=c[o>>2]|0;j=m>>>16&255;k=m>>>8&255;l=m&255;m=m>>>24;e=c[n>>2]|0;i=e>>>16&255;h=e>>>8&255;e=e&255;if(!x){j=((N(j,q)|0)>>>0)/255|0;k=((N(k,B)|0)>>>0)/255|0;l=((N(l,A)|0)>>>0)/255|0}C=((N(m,r)|0)>>>0)/255|0;m=y?m:C;if(z&m>>>0<255){j=((N(j,m)|0)>>>0)/255|0;k=((N(k,m)|0)>>>0)/255|0;l=((N(l,m)|0)>>>0)/255|0}switch(p&127){case 16:{C=255-m|0;i=j+(((N(C,i)|0)>>>0)/255|0)|0;h=k+(((N(C,h)|0)>>>0)/255|0)|0;e=l+(((N(C,e)|0)>>>0)/255|0)|0;break}case 32:{e=l+e|0;h=k+h|0;i=j+i|0;i=i>>>0<255?i:255;h=h>>>0<255?h:255;e=e>>>0<255?e:255;break}case 64:{i=((N(j,i)|0)>>>0)/255|0;h=((N(k,h)|0)>>>0)/255|0;e=((N(l,e)|0)>>>0)/255|0;break}default:{}}c[n>>2]=h<<8|e|i<<16;if(!f)break;else{n=n+4|0;o=o+4|0}}f=c[s>>2]|0}c[a>>2]=g+(c[v>>2]|0);c[t>>2]=b+(c[w>>2]|0);e=f+-1|0;c[s>>2]=e}while((f|0)!=0);return}function JDa(a){a=a|0;var b=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0;b=c[a+52>>2]|0;F=d[a+60>>0]|0;G=d[a+61>>0]|0;t=d[a+62>>0]|0;u=d[a+63>>0]|0;v=a+28|0;E=c[v>>2]|0;w=(c[a+8>>2]<<16|0)/(E|0)|0;x=a+24|0;f=c[x>>2]|0;y=(c[a+4>>2]<<16|0)/(f|0)|0;e=E+-1|0;c[v>>2]=e;if(!E)return;z=a+20|0;A=a+32|0;B=(b&1|0)==0;C=a+12|0;D=(b&2|0)==0;E=(b&48|0)!=0;s=b&112;q=c[z>>2]|0;g=0;h=0;r=q;b=e;e=q;while(1){if((g|0)>65535){q=~g;q=g+65536+((q|0)>-131072?q:-131072)|0;p=g+-65536-(q&-65536)|0;q=h+1+(q>>>16)|0}else{p=g;q=h}if(f){b=0;g=65536;h=-1;while(1){f=f+-1|0;if((g|0)>65535){o=~g;o=g+65536+((o|0)>-131072?o:-131072)|0;h=h+1+(o>>>16)|0;b=(c[a>>2]|0)+(N(c[C>>2]|0,q)|0)+(h<<2)|0;g=g+-65536-(o&-65536)|0}o=c[b>>2]|0;l=o>>>16&255;n=o>>>8&255;m=o&255;o=o>>>24;i=c[e>>2]|0;k=i>>>16&255;j=i>>>8&255;i=i&255;if(!B){m=((N(m,F)|0)>>>0)/255|0;n=((N(n,G)|0)>>>0)/255|0;l=((N(l,t)|0)>>>0)/255|0}H=((N(o,u)|0)>>>0)/255|0;o=D?o:H;if(E&o>>>0<255){m=((N(m,o)|0)>>>0)/255|0;n=((N(n,o)|0)>>>0)/255|0;l=((N(l,o)|0)>>>0)/255|0}switch(s&127){case 16:{H=255-o|0;k=l+(((N(H,k)|0)>>>0)/255|0)|0;j=n+(((N(H,j)|0)>>>0)/255|0)|0;i=m+(((N(H,i)|0)>>>0)/255|0)|0;break}case 32:{i=m+i|0;j=n+j|0;k=l+k|0;k=k>>>0<255?k:255;j=j>>>0<255?j:255;i=i>>>0<255?i:255;break}case 64:{k=((N(l,k)|0)>>>0)/255|0;j=((N(n,j)|0)>>>0)/255|0;i=((N(m,i)|0)>>>0)/255|0;break}default:{}}c[e>>2]=j<<8|i|k<<16;if(!f)break;else{e=e+4|0;g=g+y|0}}b=c[v>>2]|0}f=r+(c[A>>2]|0)|0;e=b+-1|0;c[v>>2]=e;if(!b)break;g=p+w|0;h=q;r=f;b=e;e=f;f=c[x>>2]|0}c[z>>2]=f;return}function KDa(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;p=a+28|0;o=c[p>>2]|0;q=(c[a+8>>2]<<16|0)/(o|0)|0;k=a+24|0;b=c[k>>2]|0;l=(c[a+4>>2]<<16|0)/(b|0)|0;d=o+-1|0;c[p>>2]=d;if(!o)return;m=a+20|0;n=a+32|0;o=a+12|0;e=c[m>>2]|0;f=0;g=0;j=e;while(1){if((g|0)>65535){i=~g;i=g+65536+((i|0)>-131072?i:-131072)|0;h=f+1+(i>>>16)|0;i=g+-65536-(i&-65536)|0}else{h=f;i=g}if(!b)b=d;else{d=0;f=-1;g=65536;while(1){b=b+-1|0;if((g|0)>65535){r=~g;r=g+65536+((r|0)>-131072?r:-131072)|0;f=f+1+(r>>>16)|0;d=(c[a>>2]|0)+(N(c[o>>2]|0,h)|0)+(f<<2)|0;g=g+-65536-(r&-65536)|0}r=c[d>>2]|0;c[e>>2]=r&-16711936|r<<16&16711680|r>>>16&255;if(!b)break;else{e=e+4|0;g=g+l|0}}b=c[p>>2]|0}e=j+(c[n>>2]|0)|0;d=b+-1|0;c[p>>2]=d;if(!b)break;f=h;g=i+q|0;b=c[k>>2]|0;j=e}c[m>>2]=e;return}function LDa(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;b=c[a+52>>2]|0;s=a+28|0;v=c[s>>2]|0;c[s>>2]=v+-1;if(!v)return;t=a+20|0;u=a+24|0;v=a+12|0;q=a+32|0;r=(b&48|0)==0;p=b&112;d=c[a>>2]|0;b=c[t>>2]|0;n=d;o=b;while(1){m=c[u>>2]|0;e=m+-1|0;a:do if(m|0){if(r){m=e;while(1){h=c[d>>2]|0;j=h>>>16&255;k=h>>>8&255;l=h&255;h=h>>>24;i=c[b>>2]|0;e=i>>>16&255;f=i>>>8&255;g=i&255;i=i>>>24;switch(p&127){case 16:{w=h^255;i=(((N(w,i)|0)>>>0)/255|0)+h|0;g=j+(((N(w,g)|0)>>>0)/255|0)|0;f=k+(((N(f,w)|0)>>>0)/255|0)|0;e=l+(((N(e,w)|0)>>>0)/255|0)|0;break}case 32:{e=l+e|0;f=k+f|0;g=j+g|0;g=g>>>0<255?g:255;f=f>>>0<255?f:255;e=e>>>0<255?e:255;break}case 64:{g=((N(j,g)|0)>>>0)/255|0;f=((N(k,f)|0)>>>0)/255|0;e=((N(l,e)|0)>>>0)/255|0;break}default:{}}c[b>>2]=f<<8|e<<16|g|i<<24;if(!m)break a;else{b=b+4|0;d=d+4|0;m=m+-1|0}}}m=e;while(1){l=c[d>>2]|0;h=l>>>16&255;i=l>>>8&255;k=l&255;l=l>>>24;j=c[b>>2]|0;e=j>>>16&255;f=j>>>8&255;g=j&255;j=j>>>24;if((l|0)!=255){h=((N(h,l)|0)>>>0)/255|0;i=((N(i,l)|0)>>>0)/255|0;k=((N(k,l)|0)>>>0)/255|0}switch(p&127){case 16:{w=l^255;j=(((N(w,j)|0)>>>0)/255|0)+l|0;g=h+(((N(w,g)|0)>>>0)/255|0)|0;f=i+(((N(f,w)|0)>>>0)/255|0)|0;e=k+(((N(e,w)|0)>>>0)/255|0)|0;break}case 32:{e=k+e|0;f=i+f|0;g=h+g|0;g=g>>>0<255?g:255;f=f>>>0<255?f:255;e=e>>>0<255?e:255;break}case 64:{g=((N(h,g)|0)>>>0)/255|0;f=((N(i,f)|0)>>>0)/255|0;e=((N(k,e)|0)>>>0)/255|0;break}default:{}}c[b>>2]=f<<8|e<<16|g|j<<24;if(!m)break a;else{b=b+4|0;d=d+4|0;m=m+-1|0}}}while(0);d=n+(c[v>>2]|0)|0;b=o+(c[q>>2]|0)|0;w=c[s>>2]|0;c[s>>2]=w+-1;if(!w)break;else{n=d;o=b}}c[a>>2]=d;c[t>>2]=b;return}function MDa(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;b=c[a+52>>2]|0;z=a+28|0;y=c[z>>2]|0;A=(c[a+8>>2]<<16|0)/(y|0)|0;t=a+24|0;e=c[t>>2]|0;u=(c[a+4>>2]<<16|0)/(e|0)|0;d=y+-1|0;c[z>>2]=d;if(!y)return;v=a+20|0;w=a+32|0;x=(b&48|0)!=0;y=a+12|0;s=b&112;q=c[v>>2]|0;f=0;g=0;r=q;b=d;d=q;while(1){if((f|0)>65535){q=~f;q=f+65536+((q|0)>-131072?q:-131072)|0;p=f+-65536-(q&-65536)|0;q=g+1+(q>>>16)|0}else{p=f;q=g}if(e){b=0;f=65536;g=-1;while(1){e=e+-1|0;if((f|0)>65535){o=~f;o=f+65536+((o|0)>-131072?o:-131072)|0;g=g+1+(o>>>16)|0;b=(c[a>>2]|0)+(N(c[y>>2]|0,q)|0)+(g<<2)|0;f=f+-65536-(o&-65536)|0}o=c[b>>2]|0;l=o>>>16&255;m=o>>>8&255;k=o&255;o=o>>>24;n=c[d>>2]|0;h=n>>>16&255;i=n>>>8&255;j=n&255;n=n>>>24;if(x&(o|0)!=255){k=((N(k,o)|0)>>>0)/255|0;m=((N(m,o)|0)>>>0)/255|0;l=((N(l,o)|0)>>>0)/255|0}switch(s&127){case 16:{B=o^255;n=(((N(B,n)|0)>>>0)/255|0)+o|0;j=l+(((N(B,j)|0)>>>0)/255|0)|0;i=m+(((N(i,B)|0)>>>0)/255|0)|0;h=k+(((N(h,B)|0)>>>0)/255|0)|0;break}case 32:{h=k+h|0;i=m+i|0;j=l+j|0;j=j>>>0<255?j:255;i=i>>>0<255?i:255;h=h>>>0<255?h:255;break}case 64:{j=((N(l,j)|0)>>>0)/255|0;i=((N(m,i)|0)>>>0)/255|0;h=((N(k,h)|0)>>>0)/255|0;break}default:{}}c[d>>2]=i<<8|h<<16|j|n<<24;if(!e)break;else{d=d+4|0;f=f+u|0}}b=c[z>>2]|0}e=r+(c[w>>2]|0)|0;d=b+-1|0;c[z>>2]=d;if(!b)break;f=p+A|0;g=q;r=e;b=d;d=e;e=c[t>>2]|0}c[v>>2]=e;return}function NDa(a){a=a|0;var b=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;b=c[a+52>>2]|0;r=d[a+60>>0]|0;s=d[a+61>>0]|0;j=d[a+62>>0]|0;k=d[a+63>>0]|0;l=a+28|0;q=c[l>>2]|0;c[l>>2]=q+-1;if(!q)return;m=a+20|0;n=a+24|0;o=a+12|0;p=a+32|0;q=(b&1|0)==0;g=(b&2|0)==0;e=c[a>>2]|0;f=c[m>>2]|0;h=e;i=f;while(1){t=c[n>>2]|0;b=t+-1|0;if(t|0)if(q)while(1){t=c[e>>2]|0;v=t>>>24;u=((N(v,k)|0)>>>0)/255|0;c[f>>2]=t<<16&16711680|(g?v:u)<<24|t&65280|t>>>16&255;if(!b)break;else{f=f+4|0;e=e+4|0;b=b+-1|0}}else while(1){v=c[e>>2]|0;w=v>>>24;x=((N(v&255,r)|0)>>>0)/255|0;u=((N(v>>>8&255,s)|0)>>>0)/255|0;v=((N(v>>>16&255,j)|0)>>>0)/255|0;t=((N(w,k)|0)>>>0)/255|0;c[f>>2]=x<<16|(g?w:t)<<24|u<<8|v;if(!b)break;else{f=f+4|0;e=e+4|0;b=b+-1|0}}e=h+(c[o>>2]|0)|0;b=i+(c[p>>2]|0)|0;x=c[l>>2]|0;c[l>>2]=x+-1;if(!x)break;else{h=e;i=b;f=b}}c[a>>2]=e;c[m>>2]=b;return}function ODa(a){a=a|0;var b=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;b=c[a+52>>2]|0;w=d[a+60>>0]|0;x=d[a+61>>0]|0;m=d[a+62>>0]|0;n=d[a+63>>0]|0;o=a+28|0;v=c[o>>2]|0;p=(c[a+8>>2]<<16|0)/(v|0)|0;q=a+24|0;e=c[q>>2]|0;r=(c[a+4>>2]<<16|0)/(e|0)|0;c[o>>2]=v+-1;if(!v)return;s=a+20|0;t=a+32|0;u=(b&1|0)==0;v=a+12|0;l=(b&2|0)==0;b=c[s>>2]|0;f=0;g=0;k=b;while(1){if((f|0)>65535){j=~f;j=f+65536+((j|0)>-131072?j:-131072)|0;f=f+-65536-(j&-65536)|0;g=g+1+(j>>>16)|0}j=e+-1|0;if(e|0)if(u){e=0;h=65536;i=-1;while(1){if((h|0)>65535){y=~h;y=h+65536+((y|0)>-131072?y:-131072)|0;i=i+1+(y>>>16)|0;e=(c[a>>2]|0)+(N(c[v>>2]|0,g)|0)+(i<<2)|0;h=h+-65536-(y&-65536)|0}y=c[e>>2]|0;A=y>>>24;z=((N(A,n)|0)>>>0)/255|0;c[b>>2]=y&65280|(l?A:z)<<24|y>>>16&255|y<<16&16711680;if(!j)break;else{b=b+4|0;h=h+r|0;j=j+-1|0}}}else{e=0;h=65536;i=-1;while(1){if((h|0)>65535){A=~h;A=h+65536+((A|0)>-131072?A:-131072)|0;i=i+1+(A>>>16)|0;e=(c[a>>2]|0)+(N(c[v>>2]|0,g)|0)+(i<<2)|0;h=h+-65536-(A&-65536)|0}z=c[e>>2]|0;B=z>>>24;A=((N(z&255,w)|0)>>>0)/255|0;C=((N(z>>>8&255,x)|0)>>>0)/255|0;z=((N(z>>>16&255,m)|0)>>>0)/255|0;y=((N(B,n)|0)>>>0)/255|0;c[b>>2]=C<<8|(l?B:y)<<24|z|A<<16;if(!j)break;else{b=b+4|0;h=h+r|0;j=j+-1|0}}}b=k+(c[t>>2]|0)|0;C=c[o>>2]|0;c[o>>2]=C+-1;if(!C)break;f=f+p|0;k=b;e=c[q>>2]|0}c[s>>2]=b;return}function PDa(a){a=a|0;var b=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;b=c[a+52>>2]|0;B=d[a+60>>0]|0;C=d[a+61>>0]|0;r=d[a+62>>0]|0;s=d[a+63>>0]|0;t=a+28|0;A=c[t>>2]|0;e=A+-1|0;c[t>>2]=e;if(!A)return;u=a+20|0;v=a+24|0;w=a+12|0;x=a+32|0;y=(b&1|0)==0;z=(b&2|0)==0;A=(b&48|0)!=0;q=b&112;do{f=c[v>>2]|0;if(!f){g=c[a>>2]|0;b=c[u>>2]|0;f=e}else{b=c[u>>2]|0;g=c[a>>2]|0;o=b;p=g;while(1){f=f+-1|0;n=c[p>>2]|0;j=n>>>16&255;k=n>>>8&255;m=n&255;n=n>>>24;l=c[o>>2]|0;e=l>>>16&255;h=l>>>8&255;i=l&255;l=l>>>24;if(!y){j=((N(j,r)|0)>>>0)/255|0;k=((N(k,C)|0)>>>0)/255|0;m=((N(m,B)|0)>>>0)/255|0}D=((N(n,s)|0)>>>0)/255|0;n=z?n:D;if(A&n>>>0<255){j=((N(j,n)|0)>>>0)/255|0;k=((N(k,n)|0)>>>0)/255|0;m=((N(m,n)|0)>>>0)/255|0}switch(q&127){case 16:{D=255-n|0;l=(((N(D,l)|0)>>>0)/255|0)+n|0;i=j+(((N(D,i)|0)>>>0)/255|0)|0;h=k+(((N(D,h)|0)>>>0)/255|0)|0;e=m+(((N(D,e)|0)>>>0)/255|0)|0;break}case 32:{e=m+e|0;h=k+h|0;i=j+i|0;i=i>>>0<255?i:255;h=h>>>0<255?h:255;e=e>>>0<255?e:255;break}case 64:{i=((N(j,i)|0)>>>0)/255|0;h=((N(k,h)|0)>>>0)/255|0;e=((N(m,e)|0)>>>0)/255|0;break}default:{}}c[o>>2]=h<<8|e<<16|i|l<<24;if(!f)break;else{o=o+4|0;p=p+4|0}}f=c[t>>2]|0}c[a>>2]=g+(c[w>>2]|0);c[u>>2]=b+(c[x>>2]|0);e=f+-1|0;c[t>>2]=e}while((f|0)!=0);return}function QDa(a){a=a|0;var b=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0;b=c[a+52>>2]|0;G=d[a+60>>0]|0;H=d[a+61>>0]|0;u=d[a+62>>0]|0;v=d[a+63>>0]|0;w=a+28|0;F=c[w>>2]|0;x=(c[a+8>>2]<<16|0)/(F|0)|0;y=a+24|0;f=c[y>>2]|0;z=(c[a+4>>2]<<16|0)/(f|0)|0;e=F+-1|0;c[w>>2]=e;if(!F)return;A=a+20|0;B=a+32|0;C=(b&1|0)==0;D=a+12|0;E=(b&2|0)==0;F=(b&48|0)!=0;t=b&112;r=c[A>>2]|0;g=0;h=0;s=r;b=e;e=r;while(1){if((g|0)>65535){r=~g;r=g+65536+((r|0)>-131072?r:-131072)|0;q=g+-65536-(r&-65536)|0;r=h+1+(r>>>16)|0}else{q=g;r=h}if(f){b=0;g=65536;h=-1;while(1){f=f+-1|0;if((g|0)>65535){p=~g;p=g+65536+((p|0)>-131072?p:-131072)|0;h=h+1+(p>>>16)|0;b=(c[a>>2]|0)+(N(c[D>>2]|0,r)|0)+(h<<2)|0;g=g+-65536-(p&-65536)|0}p=c[b>>2]|0;m=p>>>16&255;n=p>>>8&255;l=p&255;p=p>>>24;o=c[e>>2]|0;i=o>>>16&255;j=o>>>8&255;k=o&255;o=o>>>24;if(!C){l=((N(l,G)|0)>>>0)/255|0;n=((N(n,H)|0)>>>0)/255|0;m=((N(m,u)|0)>>>0)/255|0}I=((N(p,v)|0)>>>0)/255|0;p=E?p:I;if(F&p>>>0<255){l=((N(l,p)|0)>>>0)/255|0;n=((N(n,p)|0)>>>0)/255|0;m=((N(m,p)|0)>>>0)/255|0}switch(t&127){case 16:{I=255-p|0;o=(((N(I,o)|0)>>>0)/255|0)+p|0;k=m+(((N(I,k)|0)>>>0)/255|0)|0;j=n+(((N(I,j)|0)>>>0)/255|0)|0;i=l+(((N(I,i)|0)>>>0)/255|0)|0;break}case 32:{i=l+i|0;j=n+j|0;k=m+k|0;k=k>>>0<255?k:255;j=j>>>0<255?j:255;i=i>>>0<255?i:255;break}case 64:{k=((N(m,k)|0)>>>0)/255|0;j=((N(n,j)|0)>>>0)/255|0;i=((N(l,i)|0)>>>0)/255|0;break}default:{}}c[e>>2]=j<<8|i<<16|k|o<<24;if(!f)break;else{e=e+4|0;g=g+z|0}}b=c[w>>2]|0}f=s+(c[B>>2]|0)|0;e=b+-1|0;c[w>>2]=e;if(!b)break;g=q+x|0;h=r;s=f;b=e;e=f;f=c[y>>2]|0}c[A>>2]=f;return}function RDa(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;p=a+28|0;o=c[p>>2]|0;q=(c[a+8>>2]<<16|0)/(o|0)|0;k=a+24|0;b=c[k>>2]|0;l=(c[a+4>>2]<<16|0)/(b|0)|0;d=o+-1|0;c[p>>2]=d;if(!o)return;m=a+20|0;n=a+32|0;o=a+12|0;e=c[m>>2]|0;f=0;g=0;j=e;while(1){if((g|0)>65535){i=~g;i=g+65536+((i|0)>-131072?i:-131072)|0;h=f+1+(i>>>16)|0;i=g+-65536-(i&-65536)|0}else{h=f;i=g}if(!b)b=d;else{d=0;f=-1;g=65536;while(1){b=b+-1|0;if((g|0)>65535){r=~g;r=g+65536+((r|0)>-131072?r:-131072)|0;f=f+1+(r>>>16)|0;d=(c[a>>2]|0)+(N(c[o>>2]|0,h)|0)+(f<<2)|0;g=g+-65536-(r&-65536)|0}r=c[d>>2]|0;c[e>>2]=r>>>8&65280|r>>>24|r<<8&16711680;if(!b)break;else{e=e+4|0;g=g+l|0}}b=c[p>>2]|0}e=j+(c[n>>2]|0)|0;d=b+-1|0;c[p>>2]=d;if(!b)break;f=h;g=i+q|0;b=c[k>>2]|0;j=e}c[m>>2]=e;return}function SDa(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;b=c[a+52>>2]|0;r=a+28|0;u=c[r>>2]|0;c[r>>2]=u+-1;if(!u)return;s=a+20|0;t=a+24|0;u=a+12|0;p=a+32|0;q=(b&48|0)==0;o=b&112;d=c[a>>2]|0;b=c[s>>2]|0;m=d;n=b;while(1){l=c[t>>2]|0;e=l+-1|0;a:do if(l|0){if(q){l=e;while(1){h=c[d>>2]|0;i=h>>>24;j=h>>>16&255;k=h>>>8&255;g=c[b>>2]|0;e=g>>>16&255;f=g>>>8&255;g=g&255;switch(o&127){case 16:{h=h&255^255;g=i+(((N(h,g)|0)>>>0)/255|0)|0;f=j+(((N(f,h)|0)>>>0)/255|0)|0;e=k+(((N(e,h)|0)>>>0)/255|0)|0;break}case 32:{e=k+e|0;f=j+f|0;g=i+g|0;g=g>>>0<255?g:255;f=f>>>0<255?f:255;e=e>>>0<255?e:255;break}case 64:{g=((N(i,g)|0)>>>0)/255|0;f=((N(j,f)|0)>>>0)/255|0;e=((N(k,e)|0)>>>0)/255|0;break}default:{}}c[b>>2]=f<<8|e<<16|g;if(!l)break a;else{b=b+4|0;d=d+4|0;l=l+-1|0}}}l=e;while(1){k=c[d>>2]|0;i=k>>>24;j=k>>>16&255;h=k>>>8&255;k=k&255;g=c[b>>2]|0;e=g>>>16&255;f=g>>>8&255;g=g&255;if((k|0)!=255){h=((N(h,k)|0)>>>0)/255|0;i=((N(i,k)|0)>>>0)/255|0;j=((N(j,k)|0)>>>0)/255|0}switch(o&127){case 16:{k=k^255;g=i+(((N(k,g)|0)>>>0)/255|0)|0;f=j+(((N(f,k)|0)>>>0)/255|0)|0;e=h+(((N(e,k)|0)>>>0)/255|0)|0;break}case 32:{e=h+e|0;f=j+f|0;g=i+g|0;g=g>>>0<255?g:255;f=f>>>0<255?f:255;e=e>>>0<255?e:255;break}case 64:{g=((N(i,g)|0)>>>0)/255|0;f=((N(j,f)|0)>>>0)/255|0;e=((N(h,e)|0)>>>0)/255|0;break}default:{}}c[b>>2]=f<<8|e<<16|g;if(!l)break a;else{b=b+4|0;d=d+4|0;l=l+-1|0}}}while(0);d=m+(c[u>>2]|0)|0;b=n+(c[p>>2]|0)|0;n=c[r>>2]|0;c[r>>2]=n+-1;if(!n)break;else{m=d;n=b}}c[a>>2]=d;c[s>>2]=b;return}function TDa(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;b=c[a+52>>2]|0;y=a+28|0;x=c[y>>2]|0;z=(c[a+8>>2]<<16|0)/(x|0)|0;s=a+24|0;e=c[s>>2]|0;t=(c[a+4>>2]<<16|0)/(e|0)|0;d=x+-1|0;c[y>>2]=d;if(!x)return;u=a+20|0;v=a+32|0;w=(b&48|0)!=0;x=a+12|0;r=b&112;p=c[u>>2]|0;f=0;g=0;q=p;b=d;d=p;while(1){if((f|0)>65535){p=~f;p=f+65536+((p|0)>-131072?p:-131072)|0;o=f+-65536-(p&-65536)|0;p=g+1+(p>>>16)|0}else{o=f;p=g}if(e){b=0;f=65536;g=-1;while(1){e=e+-1|0;if((f|0)>65535){n=~f;n=f+65536+((n|0)>-131072?n:-131072)|0;g=g+1+(n>>>16)|0;b=(c[a>>2]|0)+(N(c[x>>2]|0,p)|0)+(g<<2)|0;f=f+-65536-(n&-65536)|0}n=c[b>>2]|0;k=n>>>24;m=n>>>16&255;l=n>>>8&255;n=n&255;j=c[d>>2]|0;h=j>>>16&255;i=j>>>8&255;j=j&255;if(w&(n|0)!=255){l=((N(l,n)|0)>>>0)/255|0;m=((N(m,n)|0)>>>0)/255|0;k=((N(k,n)|0)>>>0)/255|0}switch(r&127){case 16:{n=n^255;j=k+(((N(n,j)|0)>>>0)/255|0)|0;i=m+(((N(i,n)|0)>>>0)/255|0)|0;h=l+(((N(h,n)|0)>>>0)/255|0)|0;break}case 32:{h=l+h|0;i=m+i|0;j=k+j|0;j=j>>>0<255?j:255;i=i>>>0<255?i:255;h=h>>>0<255?h:255;break}case 64:{j=((N(k,j)|0)>>>0)/255|0;i=((N(m,i)|0)>>>0)/255|0;h=((N(l,h)|0)>>>0)/255|0;break}default:{}}c[d>>2]=i<<8|h<<16|j;if(!e)break;else{d=d+4|0;f=f+t|0}}b=c[y>>2]|0}e=q+(c[v>>2]|0)|0;d=b+-1|0;c[y>>2]=d;if(!b)break;f=o+z|0;g=p;q=e;b=d;d=e;e=c[s>>2]|0}c[u>>2]=e;return}function UDa(a){a=a|0;var b=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;e=c[a+52>>2]|0;k=d[a+60>>0]|0;l=d[a+61>>0]|0;j=d[a+62>>0]|0;m=a+28|0;q=c[m>>2]|0;b=q+-1|0;c[m>>2]=b;if(!q)return;n=a+20|0;o=a+24|0;p=a+12|0;q=a+32|0;if(!(e&1)){g=b;do{e=c[o>>2]|0;if(!e){f=c[a>>2]|0;b=c[n>>2]|0;e=g}else{b=c[n>>2]|0;f=c[a>>2]|0;g=b;h=f;while(1){e=e+-1|0;l=c[h>>2]|0;c[g>>2]=l>>>8&65280|l<<8&16711680|l>>>24;if(!e)break;else{g=g+4|0;h=h+4|0}}e=c[m>>2]|0}c[a>>2]=f+(c[p>>2]|0);c[n>>2]=b+(c[q>>2]|0);g=e+-1|0;c[m>>2]=g}while((e|0)!=0);return}else{do{i=c[o>>2]|0;if(!i){g=c[a>>2]|0;e=c[n>>2]|0;f=b}else{e=c[n>>2]|0;g=c[a>>2]|0;f=e;h=g;b=i;while(1){b=b+-1|0;i=c[h>>2]|0;c[f>>2]=(((N(i>>>16&255,l)|0)>>>0)/255|0)<<8|(((N(i>>>8&255,k)|0)>>>0)/255|0)<<16|(((N(i>>>24,j)|0)>>>0)/255|0);if(!b)break;else{f=f+4|0;h=h+4|0}}f=c[m>>2]|0}c[a>>2]=g+(c[p>>2]|0);c[n>>2]=e+(c[q>>2]|0);b=f+-1|0;c[m>>2]=b}while((f|0)!=0);return}}function VDa(a){a=a|0;var b=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;b=c[a+52>>2]|0;u=d[a+60>>0]|0;v=d[a+61>>0]|0;n=d[a+62>>0]|0;o=a+28|0;t=c[o>>2]|0;p=(c[a+8>>2]<<16|0)/(t|0)|0;q=a+24|0;e=c[q>>2]|0;r=(c[a+4>>2]<<16|0)/(e|0)|0;c[o>>2]=t+-1;if(!t)return;s=a+20|0;t=a+32|0;l=(b&1|0)==0;m=a+12|0;b=c[s>>2]|0;f=0;g=0;k=b;while(1){if((f|0)>65535){j=~f;j=f+65536+((j|0)>-131072?j:-131072)|0;f=f+-65536-(j&-65536)|0;g=g+1+(j>>>16)|0}j=e+-1|0;if(e|0)if(l){e=0;h=65536;i=-1;while(1){if((h|0)>65535){w=~h;w=h+65536+((w|0)>-131072?w:-131072)|0;i=i+1+(w>>>16)|0;e=(c[a>>2]|0)+(N(c[m>>2]|0,g)|0)+(i<<2)|0;h=h+-65536-(w&-65536)|0}w=c[e>>2]|0;c[b>>2]=w>>>24|w>>>8&65280|w<<8&16711680;if(!j)break;else{b=b+4|0;h=h+r|0;j=j+-1|0}}}else{e=0;h=65536;i=-1;while(1){if((h|0)>65535){w=~h;w=h+65536+((w|0)>-131072?w:-131072)|0;i=i+1+(w>>>16)|0;e=(c[a>>2]|0)+(N(c[m>>2]|0,g)|0)+(i<<2)|0;h=h+-65536-(w&-65536)|0}w=c[e>>2]|0;c[b>>2]=((N(w>>>24,n)|0)>>>0)/255|0|(((N(w>>>16&255,v)|0)>>>0)/255|0)<<8|(((N(w>>>8&255,u)|0)>>>0)/255|0)<<16;if(!j)break;else{b=b+4|0;h=h+r|0;j=j+-1|0}}}b=k+(c[t>>2]|0)|0;w=c[o>>2]|0;c[o>>2]=w+-1;if(!w)break;f=f+p|0;k=b;e=c[q>>2]|0}c[s>>2]=b;return}function WDa(a){a=a|0;var b=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;b=c[a+52>>2]|0;A=d[a+60>>0]|0;B=d[a+61>>0]|0;q=d[a+62>>0]|0;r=d[a+63>>0]|0;s=a+28|0;z=c[s>>2]|0;e=z+-1|0;c[s>>2]=e;if(!z)return;t=a+20|0;u=a+24|0;v=a+12|0;w=a+32|0;x=(b&1|0)==0;y=(b&2|0)==0;z=(b&48|0)!=0;p=b&112;do{f=c[u>>2]|0;if(!f){g=c[a>>2]|0;b=c[t>>2]|0;f=e}else{b=c[t>>2]|0;g=c[a>>2]|0;n=b;o=g;while(1){f=f+-1|0;m=c[o>>2]|0;j=m>>>24;k=m>>>16&255;l=m>>>8&255;m=m&255;i=c[n>>2]|0;e=i>>>16&255;h=i>>>8&255;i=i&255;if(!x){j=((N(j,q)|0)>>>0)/255|0;k=((N(k,B)|0)>>>0)/255|0;l=((N(l,A)|0)>>>0)/255|0}C=((N(m,r)|0)>>>0)/255|0;m=y?m:C;if(z&m>>>0<255){j=((N(j,m)|0)>>>0)/255|0;k=((N(k,m)|0)>>>0)/255|0;l=((N(l,m)|0)>>>0)/255|0}switch(p&127){case 16:{C=255-m|0;i=j+(((N(C,i)|0)>>>0)/255|0)|0;h=k+(((N(C,h)|0)>>>0)/255|0)|0;e=l+(((N(C,e)|0)>>>0)/255|0)|0;break}case 32:{e=l+e|0;h=k+h|0;i=j+i|0;i=i>>>0<255?i:255;h=h>>>0<255?h:255;e=e>>>0<255?e:255;break}case 64:{i=((N(j,i)|0)>>>0)/255|0;h=((N(k,h)|0)>>>0)/255|0;e=((N(l,e)|0)>>>0)/255|0;break}default:{}}c[n>>2]=h<<8|e<<16|i;if(!f)break;else{n=n+4|0;o=o+4|0}}f=c[s>>2]|0}c[a>>2]=g+(c[v>>2]|0);c[t>>2]=b+(c[w>>2]|0);e=f+-1|0;c[s>>2]=e}while((f|0)!=0);return}function XDa(a){a=a|0;var b=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0;b=c[a+52>>2]|0;F=d[a+60>>0]|0;G=d[a+61>>0]|0;t=d[a+62>>0]|0;u=d[a+63>>0]|0;v=a+28|0;E=c[v>>2]|0;w=(c[a+8>>2]<<16|0)/(E|0)|0;x=a+24|0;f=c[x>>2]|0;y=(c[a+4>>2]<<16|0)/(f|0)|0;e=E+-1|0;c[v>>2]=e;if(!E)return;z=a+20|0;A=a+32|0;B=(b&1|0)==0;C=a+12|0;D=(b&2|0)==0;E=(b&48|0)!=0;s=b&112;q=c[z>>2]|0;g=0;h=0;r=q;b=e;e=q;while(1){if((g|0)>65535){q=~g;q=g+65536+((q|0)>-131072?q:-131072)|0;p=g+-65536-(q&-65536)|0;q=h+1+(q>>>16)|0}else{p=g;q=h}if(f){b=0;g=65536;h=-1;while(1){f=f+-1|0;if((g|0)>65535){o=~g;o=g+65536+((o|0)>-131072?o:-131072)|0;h=h+1+(o>>>16)|0;b=(c[a>>2]|0)+(N(c[C>>2]|0,q)|0)+(h<<2)|0;g=g+-65536-(o&-65536)|0}o=c[b>>2]|0;l=o>>>24;n=o>>>16&255;m=o>>>8&255;o=o&255;k=c[e>>2]|0;i=k>>>16&255;j=k>>>8&255;k=k&255;if(!B){m=((N(m,F)|0)>>>0)/255|0;n=((N(n,G)|0)>>>0)/255|0;l=((N(l,t)|0)>>>0)/255|0}H=((N(o,u)|0)>>>0)/255|0;o=D?o:H;if(E&o>>>0<255){m=((N(m,o)|0)>>>0)/255|0;n=((N(n,o)|0)>>>0)/255|0;l=((N(l,o)|0)>>>0)/255|0}switch(s&127){case 16:{H=255-o|0;k=l+(((N(H,k)|0)>>>0)/255|0)|0;j=n+(((N(H,j)|0)>>>0)/255|0)|0;i=m+(((N(H,i)|0)>>>0)/255|0)|0;break}case 32:{i=m+i|0;j=n+j|0;k=l+k|0;k=k>>>0<255?k:255;j=j>>>0<255?j:255;i=i>>>0<255?i:255;break}case 64:{k=((N(l,k)|0)>>>0)/255|0;j=((N(n,j)|0)>>>0)/255|0;i=((N(m,i)|0)>>>0)/255|0;break}default:{}}c[e>>2]=j<<8|i<<16|k;if(!f)break;else{e=e+4|0;g=g+y|0}}b=c[v>>2]|0}f=r+(c[A>>2]|0)|0;e=b+-1|0;c[v>>2]=e;if(!b)break;g=p+w|0;h=q;r=f;b=e;e=f;f=c[x>>2]|0}c[z>>2]=f;return}function YDa(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;p=a+28|0;o=c[p>>2]|0;q=(c[a+8>>2]<<16|0)/(o|0)|0;k=a+24|0;b=c[k>>2]|0;l=(c[a+4>>2]<<16|0)/(b|0)|0;d=o+-1|0;c[p>>2]=d;if(!o)return;m=a+20|0;n=a+32|0;o=a+12|0;e=c[m>>2]|0;f=0;g=0;j=e;while(1){if((g|0)>65535){i=~g;i=g+65536+((i|0)>-131072?i:-131072)|0;h=f+1+(i>>>16)|0;i=g+-65536-(i&-65536)|0}else{h=f;i=g}if(!b)b=d;else{d=0;f=-1;g=65536;while(1){b=b+-1|0;if((g|0)>65535){r=~g;r=g+65536+((r|0)>-131072?r:-131072)|0;f=f+1+(r>>>16)|0;d=(c[a>>2]|0)+(N(c[o>>2]|0,h)|0)+(f<<2)|0;g=g+-65536-(r&-65536)|0}s=c[d>>2]|0;r=s>>>8;c[e>>2]=s>>>24<<16|r&65280|r&255;if(!b)break;else{e=e+4|0;g=g+l|0}}b=c[p>>2]|0}e=j+(c[n>>2]|0)|0;d=b+-1|0;c[p>>2]=d;if(!b)break;f=h;g=i+q|0;b=c[k>>2]|0;j=e}c[m>>2]=e;return}function ZDa(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;b=c[a+52>>2]|0;r=a+28|0;u=c[r>>2]|0;c[r>>2]=u+-1;if(!u)return;s=a+20|0;t=a+24|0;u=a+12|0;p=a+32|0;q=(b&48|0)==0;o=b&112;d=c[a>>2]|0;b=c[s>>2]|0;m=d;n=b;while(1){l=c[t>>2]|0;e=l+-1|0;a:do if(l|0){if(q){l=e;while(1){h=c[d>>2]|0;i=h>>>24;j=h>>>16&255;k=h>>>8&255;e=c[b>>2]|0;g=e>>>16&255;f=e>>>8&255;e=e&255;switch(o&127){case 16:{h=h&255^255;g=i+(((N(g,h)|0)>>>0)/255|0)|0;f=j+(((N(f,h)|0)>>>0)/255|0)|0;e=k+(((N(h,e)|0)>>>0)/255|0)|0;break}case 32:{e=k+e|0;f=j+f|0;g=i+g|0;g=g>>>0<255?g:255;f=f>>>0<255?f:255;e=e>>>0<255?e:255;break}case 64:{g=((N(i,g)|0)>>>0)/255|0;f=((N(j,f)|0)>>>0)/255|0;e=((N(k,e)|0)>>>0)/255|0;break}default:{}}c[b>>2]=f<<8|e|g<<16;if(!l)break a;else{b=b+4|0;d=d+4|0;l=l+-1|0}}}l=e;while(1){k=c[d>>2]|0;i=k>>>24;j=k>>>16&255;h=k>>>8&255;k=k&255;e=c[b>>2]|0;g=e>>>16&255;f=e>>>8&255;e=e&255;if((k|0)!=255){h=((N(h,k)|0)>>>0)/255|0;i=((N(i,k)|0)>>>0)/255|0;j=((N(j,k)|0)>>>0)/255|0}switch(o&127){case 16:{k=k^255;g=i+(((N(g,k)|0)>>>0)/255|0)|0;f=j+(((N(f,k)|0)>>>0)/255|0)|0;e=h+(((N(k,e)|0)>>>0)/255|0)|0;break}case 32:{e=h+e|0;f=j+f|0;g=i+g|0;g=g>>>0<255?g:255;f=f>>>0<255?f:255;e=e>>>0<255?e:255;break}case 64:{g=((N(i,g)|0)>>>0)/255|0;f=((N(j,f)|0)>>>0)/255|0;e=((N(h,e)|0)>>>0)/255|0;break}default:{}}c[b>>2]=f<<8|e|g<<16;if(!l)break a;else{b=b+4|0;d=d+4|0;l=l+-1|0}}}while(0);d=m+(c[u>>2]|0)|0;b=n+(c[p>>2]|0)|0;n=c[r>>2]|0;c[r>>2]=n+-1;if(!n)break;else{m=d;n=b}}c[a>>2]=d;c[s>>2]=b;return}function _Da(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;b=c[a+52>>2]|0;y=a+28|0;x=c[y>>2]|0;z=(c[a+8>>2]<<16|0)/(x|0)|0;s=a+24|0;e=c[s>>2]|0;t=(c[a+4>>2]<<16|0)/(e|0)|0;d=x+-1|0;c[y>>2]=d;if(!x)return;u=a+20|0;v=a+32|0;w=(b&48|0)!=0;x=a+12|0;r=b&112;p=c[u>>2]|0;f=0;g=0;q=p;b=d;d=p;while(1){if((f|0)>65535){p=~f;p=f+65536+((p|0)>-131072?p:-131072)|0;o=f+-65536-(p&-65536)|0;p=g+1+(p>>>16)|0}else{o=f;p=g}if(e){b=0;f=65536;g=-1;while(1){e=e+-1|0;if((f|0)>65535){n=~f;n=f+65536+((n|0)>-131072?n:-131072)|0;g=g+1+(n>>>16)|0;b=(c[a>>2]|0)+(N(c[x>>2]|0,p)|0)+(g<<2)|0;f=f+-65536-(n&-65536)|0}n=c[b>>2]|0;k=n>>>24;m=n>>>16&255;l=n>>>8&255;n=n&255;h=c[d>>2]|0;j=h>>>16&255;i=h>>>8&255;h=h&255;if(w&(n|0)!=255){l=((N(l,n)|0)>>>0)/255|0;m=((N(m,n)|0)>>>0)/255|0;k=((N(k,n)|0)>>>0)/255|0}switch(r&127){case 16:{n=n^255;j=k+(((N(j,n)|0)>>>0)/255|0)|0;i=m+(((N(i,n)|0)>>>0)/255|0)|0;h=l+(((N(n,h)|0)>>>0)/255|0)|0;break}case 32:{h=l+h|0;i=m+i|0;j=k+j|0;j=j>>>0<255?j:255;i=i>>>0<255?i:255;h=h>>>0<255?h:255;break}case 64:{j=((N(k,j)|0)>>>0)/255|0;i=((N(m,i)|0)>>>0)/255|0;h=((N(l,h)|0)>>>0)/255|0;break}default:{}}c[d>>2]=i<<8|h|j<<16;if(!e)break;else{d=d+4|0;f=f+t|0}}b=c[y>>2]|0}e=q+(c[v>>2]|0)|0;d=b+-1|0;c[y>>2]=d;if(!b)break;f=o+z|0;g=p;q=e;b=d;d=e;e=c[s>>2]|0}c[u>>2]=e;return}function $Da(a){a=a|0;var b=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;e=c[a+52>>2]|0;k=d[a+60>>0]|0;l=d[a+61>>0]|0;j=d[a+62>>0]|0;m=a+28|0;q=c[m>>2]|0;b=q+-1|0;c[m>>2]=b;if(!q)return;n=a+20|0;o=a+24|0;p=a+12|0;q=a+32|0;if(!(e&1)){g=b;do{e=c[o>>2]|0;if(!e){f=c[a>>2]|0;b=c[n>>2]|0;e=g}else{b=c[n>>2]|0;f=c[a>>2]|0;g=b;h=f;while(1){e=e+-1|0;l=c[h>>2]|0;c[g>>2]=l>>>8&65535|l>>>24<<16;if(!e)break;else{g=g+4|0;h=h+4|0}}e=c[m>>2]|0}c[a>>2]=f+(c[p>>2]|0);c[n>>2]=b+(c[q>>2]|0);g=e+-1|0;c[m>>2]=g}while((e|0)!=0);return}else{do{i=c[o>>2]|0;if(!i){g=c[a>>2]|0;e=c[n>>2]|0;f=b}else{e=c[n>>2]|0;g=c[a>>2]|0;f=e;h=g;b=i;while(1){b=b+-1|0;i=c[h>>2]|0;c[f>>2]=(((N(i>>>16&255,l)|0)>>>0)/255|0)<<8|(((N(i>>>8&255,k)|0)>>>0)/255|0)|(((N(i>>>24,j)|0)>>>0)/255|0)<<16;if(!b)break;else{f=f+4|0;h=h+4|0}}f=c[m>>2]|0}c[a>>2]=g+(c[p>>2]|0);c[n>>2]=e+(c[q>>2]|0);b=f+-1|0;c[m>>2]=b}while((f|0)!=0);return}}function aEa(a){a=a|0;var b=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;b=c[a+52>>2]|0;u=d[a+60>>0]|0;v=d[a+61>>0]|0;n=d[a+62>>0]|0;o=a+28|0;t=c[o>>2]|0;p=(c[a+8>>2]<<16|0)/(t|0)|0;q=a+24|0;e=c[q>>2]|0;r=(c[a+4>>2]<<16|0)/(e|0)|0;c[o>>2]=t+-1;if(!t)return;s=a+20|0;t=a+32|0;l=(b&1|0)==0;m=a+12|0;b=c[s>>2]|0;f=0;g=0;k=b;while(1){if((f|0)>65535){j=~f;j=f+65536+((j|0)>-131072?j:-131072)|0;f=f+-65536-(j&-65536)|0;g=g+1+(j>>>16)|0}j=e+-1|0;if(e|0)if(l){e=0;h=65536;i=-1;while(1){if((h|0)>65535){w=~h;w=h+65536+((w|0)>-131072?w:-131072)|0;i=i+1+(w>>>16)|0;e=(c[a>>2]|0)+(N(c[m>>2]|0,g)|0)+(i<<2)|0;h=h+-65536-(w&-65536)|0}x=c[e>>2]|0;w=x>>>8;c[b>>2]=x>>>24<<16|w&65280|w&255;if(!j)break;else{b=b+4|0;h=h+r|0;j=j+-1|0}}}else{e=0;h=65536;i=-1;while(1){if((h|0)>65535){x=~h;x=h+65536+((x|0)>-131072?x:-131072)|0;i=i+1+(x>>>16)|0;e=(c[a>>2]|0)+(N(c[m>>2]|0,g)|0)+(i<<2)|0;h=h+-65536-(x&-65536)|0}x=c[e>>2]|0;c[b>>2]=(((N(x>>>24,n)|0)>>>0)/255|0)<<16|(((N(x>>>16&255,v)|0)>>>0)/255|0)<<8|(((N(x>>>8&255,u)|0)>>>0)/255|0);if(!j)break;else{b=b+4|0;h=h+r|0;j=j+-1|0}}}b=k+(c[t>>2]|0)|0;x=c[o>>2]|0;c[o>>2]=x+-1;if(!x)break;f=f+p|0;k=b;e=c[q>>2]|0}c[s>>2]=b;return}function bEa(a){a=a|0;var b=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;b=c[a+52>>2]|0;A=d[a+60>>0]|0;B=d[a+61>>0]|0;q=d[a+62>>0]|0;r=d[a+63>>0]|0;s=a+28|0;z=c[s>>2]|0;e=z+-1|0;c[s>>2]=e;if(!z)return;t=a+20|0;u=a+24|0;v=a+12|0;w=a+32|0;x=(b&1|0)==0;y=(b&2|0)==0;z=(b&48|0)!=0;p=b&112;do{f=c[u>>2]|0;if(!f){g=c[a>>2]|0;b=c[t>>2]|0;f=e}else{b=c[t>>2]|0;g=c[a>>2]|0;n=b;o=g;while(1){f=f+-1|0;m=c[o>>2]|0;j=m>>>24;k=m>>>16&255;l=m>>>8&255;m=m&255;e=c[n>>2]|0;i=e>>>16&255;h=e>>>8&255;e=e&255;if(!x){j=((N(j,q)|0)>>>0)/255|0;k=((N(k,B)|0)>>>0)/255|0;l=((N(l,A)|0)>>>0)/255|0}C=((N(m,r)|0)>>>0)/255|0;m=y?m:C;if(z&m>>>0<255){j=((N(j,m)|0)>>>0)/255|0;k=((N(k,m)|0)>>>0)/255|0;l=((N(l,m)|0)>>>0)/255|0}switch(p&127){case 16:{C=255-m|0;i=j+(((N(C,i)|0)>>>0)/255|0)|0;h=k+(((N(C,h)|0)>>>0)/255|0)|0;e=l+(((N(C,e)|0)>>>0)/255|0)|0;break}case 32:{e=l+e|0;h=k+h|0;i=j+i|0;i=i>>>0<255?i:255;h=h>>>0<255?h:255;e=e>>>0<255?e:255;break}case 64:{i=((N(j,i)|0)>>>0)/255|0;h=((N(k,h)|0)>>>0)/255|0;e=((N(l,e)|0)>>>0)/255|0;break}default:{}}c[n>>2]=h<<8|e|i<<16;if(!f)break;else{n=n+4|0;o=o+4|0}}f=c[s>>2]|0}c[a>>2]=g+(c[v>>2]|0);c[t>>2]=b+(c[w>>2]|0);e=f+-1|0;c[s>>2]=e}while((f|0)!=0);return}function cEa(a){a=a|0;var b=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0;b=c[a+52>>2]|0;F=d[a+60>>0]|0;G=d[a+61>>0]|0;t=d[a+62>>0]|0;u=d[a+63>>0]|0;v=a+28|0;E=c[v>>2]|0;w=(c[a+8>>2]<<16|0)/(E|0)|0;x=a+24|0;f=c[x>>2]|0;y=(c[a+4>>2]<<16|0)/(f|0)|0;e=E+-1|0;c[v>>2]=e;if(!E)return;z=a+20|0;A=a+32|0;B=(b&1|0)==0;C=a+12|0;D=(b&2|0)==0;E=(b&48|0)!=0;s=b&112;q=c[z>>2]|0;g=0;h=0;r=q;b=e;e=q;while(1){if((g|0)>65535){q=~g;q=g+65536+((q|0)>-131072?q:-131072)|0;p=g+-65536-(q&-65536)|0;q=h+1+(q>>>16)|0}else{p=g;q=h}if(f){b=0;g=65536;h=-1;while(1){f=f+-1|0;if((g|0)>65535){o=~g;o=g+65536+((o|0)>-131072?o:-131072)|0;h=h+1+(o>>>16)|0;b=(c[a>>2]|0)+(N(c[C>>2]|0,q)|0)+(h<<2)|0;g=g+-65536-(o&-65536)|0}o=c[b>>2]|0;l=o>>>24;n=o>>>16&255;m=o>>>8&255;o=o&255;i=c[e>>2]|0;k=i>>>16&255;j=i>>>8&255;i=i&255;if(!B){m=((N(m,F)|0)>>>0)/255|0;n=((N(n,G)|0)>>>0)/255|0;l=((N(l,t)|0)>>>0)/255|0}H=((N(o,u)|0)>>>0)/255|0;o=D?o:H;if(E&o>>>0<255){m=((N(m,o)|0)>>>0)/255|0;n=((N(n,o)|0)>>>0)/255|0;l=((N(l,o)|0)>>>0)/255|0}switch(s&127){case 16:{H=255-o|0;k=l+(((N(H,k)|0)>>>0)/255|0)|0;j=n+(((N(H,j)|0)>>>0)/255|0)|0;i=m+(((N(H,i)|0)>>>0)/255|0)|0;break}case 32:{i=m+i|0;j=n+j|0;k=l+k|0;k=k>>>0<255?k:255;j=j>>>0<255?j:255;i=i>>>0<255?i:255;break}case 64:{k=((N(l,k)|0)>>>0)/255|0;j=((N(n,j)|0)>>>0)/255|0;i=((N(m,i)|0)>>>0)/255|0;break}default:{}}c[e>>2]=j<<8|i|k<<16;if(!f)break;else{e=e+4|0;g=g+y|0}}b=c[v>>2]|0}f=r+(c[A>>2]|0)|0;e=b+-1|0;c[v>>2]=e;if(!b)break;g=p+w|0;h=q;r=f;b=e;e=f;f=c[x>>2]|0}c[z>>2]=f;return}function dEa(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;p=a+28|0;o=c[p>>2]|0;q=(c[a+8>>2]<<16|0)/(o|0)|0;k=a+24|0;b=c[k>>2]|0;l=(c[a+4>>2]<<16|0)/(b|0)|0;d=o+-1|0;c[p>>2]=d;if(!o)return;m=a+20|0;n=a+32|0;o=a+12|0;e=c[m>>2]|0;f=0;g=0;j=e;while(1){if((g|0)>65535){i=~g;i=g+65536+((i|0)>-131072?i:-131072)|0;h=f+1+(i>>>16)|0;i=g+-65536-(i&-65536)|0}else{h=f;i=g}if(!b)b=d;else{d=0;f=-1;g=65536;while(1){b=b+-1|0;if((g|0)>65535){r=~g;r=g+65536+((r|0)>-131072?r:-131072)|0;f=f+1+(r>>>16)|0;d=(c[a>>2]|0)+(N(c[o>>2]|0,h)|0)+(f<<2)|0;g=g+-65536-(r&-65536)|0}c[e>>2]=w2a(c[d>>2]|0)|0;if(!b)break;else{e=e+4|0;g=g+l|0}}b=c[p>>2]|0}e=j+(c[n>>2]|0)|0;d=b+-1|0;c[p>>2]=d;if(!b)break;f=h;g=i+q|0;b=c[k>>2]|0;j=e}c[m>>2]=e;return}function eEa(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;b=c[a+52>>2]|0;s=a+28|0;v=c[s>>2]|0;c[s>>2]=v+-1;if(!v)return;t=a+20|0;u=a+24|0;v=a+12|0;q=a+32|0;r=(b&48|0)==0;p=b&112;d=c[a>>2]|0;b=c[t>>2]|0;n=d;o=b;while(1){m=c[u>>2]|0;e=m+-1|0;a:do if(m|0){if(r){m=e;while(1){h=c[d>>2]|0;j=h>>>24;k=h>>>16&255;l=h>>>8&255;h=h&255;i=c[b>>2]|0;e=i>>>16&255;f=i>>>8&255;g=i&255;i=i>>>24;switch(p&127){case 16:{w=h^255;i=(((N(w,i)|0)>>>0)/255|0)+h|0;g=j+(((N(w,g)|0)>>>0)/255|0)|0;f=k+(((N(f,w)|0)>>>0)/255|0)|0;e=l+(((N(e,w)|0)>>>0)/255|0)|0;break}case 32:{e=l+e|0;f=k+f|0;g=j+g|0;g=g>>>0<255?g:255;f=f>>>0<255?f:255;e=e>>>0<255?e:255;break}case 64:{g=((N(j,g)|0)>>>0)/255|0;f=((N(k,f)|0)>>>0)/255|0;e=((N(l,e)|0)>>>0)/255|0;break}default:{}}c[b>>2]=f<<8|e<<16|g|i<<24;if(!m)break a;else{b=b+4|0;d=d+4|0;m=m+-1|0}}}m=e;while(1){l=c[d>>2]|0;h=l>>>24;i=l>>>16&255;k=l>>>8&255;l=l&255;j=c[b>>2]|0;e=j>>>16&255;f=j>>>8&255;g=j&255;j=j>>>24;if((l|0)!=255){h=((N(h,l)|0)>>>0)/255|0;i=((N(i,l)|0)>>>0)/255|0;k=((N(k,l)|0)>>>0)/255|0}switch(p&127){case 16:{w=l^255;j=(((N(w,j)|0)>>>0)/255|0)+l|0;g=h+(((N(w,g)|0)>>>0)/255|0)|0;f=i+(((N(f,w)|0)>>>0)/255|0)|0;e=k+(((N(e,w)|0)>>>0)/255|0)|0;break}case 32:{e=k+e|0;f=i+f|0;g=h+g|0;g=g>>>0<255?g:255;f=f>>>0<255?f:255;e=e>>>0<255?e:255;break}case 64:{g=((N(h,g)|0)>>>0)/255|0;f=((N(i,f)|0)>>>0)/255|0;e=((N(k,e)|0)>>>0)/255|0;break}default:{}}c[b>>2]=f<<8|e<<16|g|j<<24;if(!m)break a;else{b=b+4|0;d=d+4|0;m=m+-1|0}}}while(0);d=n+(c[v>>2]|0)|0;b=o+(c[q>>2]|0)|0;w=c[s>>2]|0;c[s>>2]=w+-1;if(!w)break;else{n=d;o=b}}c[a>>2]=d;c[t>>2]=b;return}function fEa(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;b=c[a+52>>2]|0;z=a+28|0;y=c[z>>2]|0;A=(c[a+8>>2]<<16|0)/(y|0)|0;t=a+24|0;e=c[t>>2]|0;u=(c[a+4>>2]<<16|0)/(e|0)|0;d=y+-1|0;c[z>>2]=d;if(!y)return;v=a+20|0;w=a+32|0;x=(b&48|0)!=0;y=a+12|0;s=b&112;q=c[v>>2]|0;f=0;g=0;r=q;b=d;d=q;while(1){if((f|0)>65535){q=~f;q=f+65536+((q|0)>-131072?q:-131072)|0;p=f+-65536-(q&-65536)|0;q=g+1+(q>>>16)|0}else{p=f;q=g}if(e){b=0;f=65536;g=-1;while(1){e=e+-1|0;if((f|0)>65535){o=~f;o=f+65536+((o|0)>-131072?o:-131072)|0;g=g+1+(o>>>16)|0;b=(c[a>>2]|0)+(N(c[y>>2]|0,q)|0)+(g<<2)|0;f=f+-65536-(o&-65536)|0}o=c[b>>2]|0;l=o>>>24;m=o>>>16&255;k=o>>>8&255;o=o&255;n=c[d>>2]|0;h=n>>>16&255;i=n>>>8&255;j=n&255;n=n>>>24;if(x&(o|0)!=255){k=((N(k,o)|0)>>>0)/255|0;m=((N(m,o)|0)>>>0)/255|0;l=((N(l,o)|0)>>>0)/255|0}switch(s&127){case 16:{B=o^255;n=(((N(B,n)|0)>>>0)/255|0)+o|0;j=l+(((N(B,j)|0)>>>0)/255|0)|0;i=m+(((N(i,B)|0)>>>0)/255|0)|0;h=k+(((N(h,B)|0)>>>0)/255|0)|0;break}case 32:{h=k+h|0;i=m+i|0;j=l+j|0;j=j>>>0<255?j:255;i=i>>>0<255?i:255;h=h>>>0<255?h:255;break}case 64:{j=((N(l,j)|0)>>>0)/255|0;i=((N(m,i)|0)>>>0)/255|0;h=((N(k,h)|0)>>>0)/255|0;break}default:{}}c[d>>2]=i<<8|h<<16|j|n<<24;if(!e)break;else{d=d+4|0;f=f+u|0}}b=c[z>>2]|0}e=r+(c[w>>2]|0)|0;d=b+-1|0;c[z>>2]=d;if(!b)break;f=p+A|0;g=q;r=e;b=d;d=e;e=c[t>>2]|0}c[v>>2]=e;return}function gEa(a){a=a|0;var b=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;b=c[a+52>>2]|0;r=d[a+60>>0]|0;s=d[a+61>>0]|0;j=d[a+62>>0]|0;k=d[a+63>>0]|0;l=a+28|0;q=c[l>>2]|0;c[l>>2]=q+-1;if(!q)return;m=a+20|0;n=a+24|0;o=a+12|0;p=a+32|0;q=(b&1|0)==0;g=(b&2|0)==0;e=c[a>>2]|0;f=c[m>>2]|0;h=e;i=f;while(1){t=c[n>>2]|0;b=t+-1|0;if(t|0)if(q)while(1){t=c[e>>2]|0;u=((N(t&255,k)|0)>>>0)/255|0;c[f>>2]=t<<8&16711680|(g?t:u)<<24|t>>>8&65280|t>>>24;if(!b)break;else{f=f+4|0;e=e+4|0;b=b+-1|0}}else while(1){w=c[e>>2]|0;x=((N(w>>>8&255,r)|0)>>>0)/255|0;t=((N(w>>>16&255,s)|0)>>>0)/255|0;u=((N(w>>>24,j)|0)>>>0)/255|0;v=((N(w&255,k)|0)>>>0)/255|0;c[f>>2]=x<<16|(g?w:v)<<24|t<<8|u;if(!b)break;else{f=f+4|0;e=e+4|0;b=b+-1|0}}e=h+(c[o>>2]|0)|0;b=i+(c[p>>2]|0)|0;x=c[l>>2]|0;c[l>>2]=x+-1;if(!x)break;else{h=e;i=b;f=b}}c[a>>2]=e;c[m>>2]=b;return}function hEa(a){a=a|0;var b=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;b=c[a+52>>2]|0;w=d[a+60>>0]|0;x=d[a+61>>0]|0;m=d[a+62>>0]|0;n=d[a+63>>0]|0;o=a+28|0;v=c[o>>2]|0;p=(c[a+8>>2]<<16|0)/(v|0)|0;q=a+24|0;e=c[q>>2]|0;r=(c[a+4>>2]<<16|0)/(e|0)|0;c[o>>2]=v+-1;if(!v)return;s=a+20|0;t=a+32|0;u=(b&1|0)==0;v=a+12|0;l=(b&2|0)==0;b=c[s>>2]|0;f=0;g=0;k=b;while(1){if((f|0)>65535){j=~f;j=f+65536+((j|0)>-131072?j:-131072)|0;f=f+-65536-(j&-65536)|0;g=g+1+(j>>>16)|0}j=e+-1|0;if(e|0)if(u){e=0;h=65536;i=-1;while(1){if((h|0)>65535){y=~h;y=h+65536+((y|0)>-131072?y:-131072)|0;i=i+1+(y>>>16)|0;e=(c[a>>2]|0)+(N(c[v>>2]|0,g)|0)+(i<<2)|0;h=h+-65536-(y&-65536)|0}y=c[e>>2]|0;z=((N(y&255,n)|0)>>>0)/255|0;c[b>>2]=y>>>8&65280|(l?y:z)<<24|y>>>24|y<<8&16711680;if(!j)break;else{b=b+4|0;h=h+r|0;j=j+-1|0}}}else{e=0;h=65536;i=-1;while(1){if((h|0)>65535){z=~h;z=h+65536+((z|0)>-131072?z:-131072)|0;i=i+1+(z>>>16)|0;e=(c[a>>2]|0)+(N(c[v>>2]|0,g)|0)+(i<<2)|0;h=h+-65536-(z&-65536)|0}B=c[e>>2]|0;z=((N(B>>>8&255,w)|0)>>>0)/255|0;C=((N(B>>>16&255,x)|0)>>>0)/255|0;y=((N(B>>>24,m)|0)>>>0)/255|0;A=((N(B&255,n)|0)>>>0)/255|0;c[b>>2]=C<<8|(l?B:A)<<24|y|z<<16;if(!j)break;else{b=b+4|0;h=h+r|0;j=j+-1|0}}}b=k+(c[t>>2]|0)|0;C=c[o>>2]|0;c[o>>2]=C+-1;if(!C)break;f=f+p|0;k=b;e=c[q>>2]|0}c[s>>2]=b;return}function iEa(a){a=a|0;var b=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;b=c[a+52>>2]|0;B=d[a+60>>0]|0;C=d[a+61>>0]|0;r=d[a+62>>0]|0;s=d[a+63>>0]|0;t=a+28|0;A=c[t>>2]|0;e=A+-1|0;c[t>>2]=e;if(!A)return;u=a+20|0;v=a+24|0;w=a+12|0;x=a+32|0;y=(b&1|0)==0;z=(b&2|0)==0;A=(b&48|0)!=0;q=b&112;do{f=c[v>>2]|0;if(!f){g=c[a>>2]|0;b=c[u>>2]|0;f=e}else{b=c[u>>2]|0;g=c[a>>2]|0;o=b;p=g;while(1){f=f+-1|0;n=c[p>>2]|0;j=n>>>24;k=n>>>16&255;m=n>>>8&255;n=n&255;l=c[o>>2]|0;e=l>>>16&255;h=l>>>8&255;i=l&255;l=l>>>24;if(!y){j=((N(j,r)|0)>>>0)/255|0;k=((N(k,C)|0)>>>0)/255|0;m=((N(m,B)|0)>>>0)/255|0}D=((N(n,s)|0)>>>0)/255|0;n=z?n:D;if(A&n>>>0<255){j=((N(j,n)|0)>>>0)/255|0;k=((N(k,n)|0)>>>0)/255|0;m=((N(m,n)|0)>>>0)/255|0}switch(q&127){case 16:{D=255-n|0;l=(((N(D,l)|0)>>>0)/255|0)+n|0;i=j+(((N(D,i)|0)>>>0)/255|0)|0;h=k+(((N(D,h)|0)>>>0)/255|0)|0;e=m+(((N(D,e)|0)>>>0)/255|0)|0;break}case 32:{e=m+e|0;h=k+h|0;i=j+i|0;i=i>>>0<255?i:255;h=h>>>0<255?h:255;e=e>>>0<255?e:255;break}case 64:{i=((N(j,i)|0)>>>0)/255|0;h=((N(k,h)|0)>>>0)/255|0;e=((N(m,e)|0)>>>0)/255|0;break}default:{}}c[o>>2]=h<<8|e<<16|i|l<<24;if(!f)break;else{o=o+4|0;p=p+4|0}}f=c[t>>2]|0}c[a>>2]=g+(c[w>>2]|0);c[u>>2]=b+(c[x>>2]|0);e=f+-1|0;c[t>>2]=e}while((f|0)!=0);return}function jEa(a){a=a|0;var b=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0;b=c[a+52>>2]|0;G=d[a+60>>0]|0;H=d[a+61>>0]|0;u=d[a+62>>0]|0;v=d[a+63>>0]|0;w=a+28|0;F=c[w>>2]|0;x=(c[a+8>>2]<<16|0)/(F|0)|0;y=a+24|0;f=c[y>>2]|0;z=(c[a+4>>2]<<16|0)/(f|0)|0;e=F+-1|0;c[w>>2]=e;if(!F)return;A=a+20|0;B=a+32|0;C=(b&1|0)==0;D=a+12|0;E=(b&2|0)==0;F=(b&48|0)!=0;t=b&112;r=c[A>>2]|0;g=0;h=0;s=r;b=e;e=r;while(1){if((g|0)>65535){r=~g;r=g+65536+((r|0)>-131072?r:-131072)|0;q=g+-65536-(r&-65536)|0;r=h+1+(r>>>16)|0}else{q=g;r=h}if(f){b=0;g=65536;h=-1;while(1){f=f+-1|0;if((g|0)>65535){p=~g;p=g+65536+((p|0)>-131072?p:-131072)|0;h=h+1+(p>>>16)|0;b=(c[a>>2]|0)+(N(c[D>>2]|0,r)|0)+(h<<2)|0;g=g+-65536-(p&-65536)|0}p=c[b>>2]|0;m=p>>>24;n=p>>>16&255;l=p>>>8&255;p=p&255;o=c[e>>2]|0;i=o>>>16&255;j=o>>>8&255;k=o&255;o=o>>>24;if(!C){l=((N(l,G)|0)>>>0)/255|0;n=((N(n,H)|0)>>>0)/255|0;m=((N(m,u)|0)>>>0)/255|0}I=((N(p,v)|0)>>>0)/255|0;p=E?p:I;if(F&p>>>0<255){l=((N(l,p)|0)>>>0)/255|0;n=((N(n,p)|0)>>>0)/255|0;m=((N(m,p)|0)>>>0)/255|0}switch(t&127){case 16:{I=255-p|0;o=(((N(I,o)|0)>>>0)/255|0)+p|0;k=m+(((N(I,k)|0)>>>0)/255|0)|0;j=n+(((N(I,j)|0)>>>0)/255|0)|0;i=l+(((N(I,i)|0)>>>0)/255|0)|0;break}case 32:{i=l+i|0;j=n+j|0;k=m+k|0;k=k>>>0<255?k:255;j=j>>>0<255?j:255;i=i>>>0<255?i:255;break}case 64:{k=((N(m,k)|0)>>>0)/255|0;j=((N(n,j)|0)>>>0)/255|0;i=((N(l,i)|0)>>>0)/255|0;break}default:{}}c[e>>2]=j<<8|i<<16|k|o<<24;if(!f)break;else{e=e+4|0;g=g+z|0}}b=c[w>>2]|0}f=s+(c[B>>2]|0)|0;e=b+-1|0;c[w>>2]=e;if(!b)break;g=q+x|0;h=r;s=f;b=e;e=f;f=c[y>>2]|0}c[A>>2]=f;return}function kEa(a){a=a|0;return VNa(a)|0}function lEa(f){f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0;g=c[f+24>>2]|0;j=c[f+28>>2]|0;P=c[f+16>>2]|0;I=c[f+36>>2]|0;h=c[f+40>>2]|0;J=a[h+9>>0]|0;K=J&255;i=c[f+44>>2]|0;M=a[i+9>>0]|0;N=M&255;if(!(c[i+24>>2]|0))L=0;else L=d[f+63>>0]|0;if(!j)return;O=(g+7|0)/8|0;H=g&255;z=h+28|0;A=h+12|0;B=h+32|0;C=h+29|0;D=h+16|0;E=h+33|0;F=h+30|0;G=h+20|0;r=h+34|0;s=i+28|0;t=i+32|0;u=i+29|0;v=i+33|0;w=i+30|0;x=i+34|0;y=i+31|0;q=i+35|0;g=c[f>>2]|0;n=c[f+20>>2]|0;a:while(1){j=j+-1|0;switch(H&7){case 0:{o=O;p=6;break}case 7:{o=O;p=18;break}case 6:{o=O;p=30;break}case 5:{o=O;p=42;break}case 4:{o=O;p=54;break}case 3:{o=O;p=66;break}case 2:{o=O;p=78;break}case 1:{o=O;p=90;break}default:{p=102;break a}}while(1)if((p|0)==6){p=0;switch(J<<24>>24){case 1:{f=d[g>>0]|0;h=(c[16112+((d[z>>0]|0)<<2)>>2]|0)+((c[A>>2]&f)>>>(d[B>>0]|0))|0;i=(c[16112+((d[C>>0]|0)<<2)>>2]|0)+((c[D>>2]&f)>>>(d[E>>0]|0))|0;f=(c[16112+((d[F>>0]|0)<<2)>>2]|0)+((c[G>>2]&f)>>>(d[r>>0]|0))|0;p=11;break}case 2:{f=e[g>>1]|0;h=(c[16112+((d[z>>0]|0)<<2)>>2]|0)+((c[A>>2]&f)>>>(d[B>>0]|0))|0;i=(c[16112+((d[C>>0]|0)<<2)>>2]|0)+((c[D>>2]&f)>>>(d[E>>0]|0))|0;f=(c[16112+((d[F>>0]|0)<<2)>>2]|0)+((c[G>>2]&f)>>>(d[r>>0]|0))|0;p=11;break}case 3:{h=g+((d[B>>0]|0)>>>3&255)|0;i=g+((d[E>>0]|0)>>>3&255)|0;f=g+((d[r>>0]|0)>>>3&255)|0;p=11;break}case 4:{f=c[g>>2]|0;h=(c[16112+((d[z>>0]|0)<<2)>>2]|0)+((c[A>>2]&f)>>>(d[B>>0]|0))|0;i=(c[16112+((d[C>>0]|0)<<2)>>2]|0)+((c[D>>2]&f)>>>(d[E>>0]|0))|0;f=(c[16112+((d[F>>0]|0)<<2)>>2]|0)+((c[G>>2]&f)>>>(d[r>>0]|0))|0;p=11;break}default:{m=0;l=0;k=0}}if((p|0)==11){m=a[h>>0]|0;l=a[i>>0]|0;k=a[f>>0]|0}h=m&255;i=l&255;f=k&255;switch(M<<24>>24){case 1:{a[n>>0]=i>>>(d[u>>0]|0)<<(d[v>>0]|0)|h>>>(d[s>>0]|0)<<(d[t>>0]|0)|f>>>(d[w>>0]|0)<<(d[x>>0]|0)|L>>>(d[y>>0]|0)<<(d[q>>0]|0);break}case 2:{b[n>>1]=i>>>(d[u>>0]|0)<<(d[v>>0]|0)|h>>>(d[s>>0]|0)<<(d[t>>0]|0)|f>>>(d[w>>0]|0)<<(d[x>>0]|0)|L>>>(d[y>>0]|0)<<(d[q>>0]|0);break}case 3:{a[n+((d[t>>0]|0)>>>3&255)>>0]=m;a[n+((d[v>>0]|0)>>>3&255)>>0]=l;a[n+((d[x>>0]|0)>>>3&255)>>0]=k;break}case 4:{c[n>>2]=i>>>(d[u>>0]|0)<<(d[v>>0]|0)|h>>>(d[s>>0]|0)<<(d[t>>0]|0)|f>>>(d[w>>0]|0)<<(d[x>>0]|0)|L>>>(d[y>>0]|0)<<(d[q>>0]|0);break}default:{}}g=g+K|0;n=n+N|0;p=18;continue}else if((p|0)==18){p=0;switch(J<<24>>24){case 1:{f=d[g>>0]|0;h=(c[16112+((d[z>>0]|0)<<2)>>2]|0)+((c[A>>2]&f)>>>(d[B>>0]|0))|0;i=(c[16112+((d[C>>0]|0)<<2)>>2]|0)+((c[D>>2]&f)>>>(d[E>>0]|0))|0;f=(c[16112+((d[F>>0]|0)<<2)>>2]|0)+((c[G>>2]&f)>>>(d[r>>0]|0))|0;p=23;break}case 2:{f=e[g>>1]|0;h=(c[16112+((d[z>>0]|0)<<2)>>2]|0)+((c[A>>2]&f)>>>(d[B>>0]|0))|0;i=(c[16112+((d[C>>0]|0)<<2)>>2]|0)+((c[D>>2]&f)>>>(d[E>>0]|0))|0;f=(c[16112+((d[F>>0]|0)<<2)>>2]|0)+((c[G>>2]&f)>>>(d[r>>0]|0))|0;p=23;break}case 3:{h=g+((d[B>>0]|0)>>>3&255)|0;i=g+((d[E>>0]|0)>>>3&255)|0;f=g+((d[r>>0]|0)>>>3&255)|0;p=23;break}case 4:{f=c[g>>2]|0;h=(c[16112+((d[z>>0]|0)<<2)>>2]|0)+((c[A>>2]&f)>>>(d[B>>0]|0))|0;i=(c[16112+((d[C>>0]|0)<<2)>>2]|0)+((c[D>>2]&f)>>>(d[E>>0]|0))|0;f=(c[16112+((d[F>>0]|0)<<2)>>2]|0)+((c[G>>2]&f)>>>(d[r>>0]|0))|0;p=23;break}default:{m=0;l=0;k=0}}if((p|0)==23){m=a[h>>0]|0;l=a[i>>0]|0;k=a[f>>0]|0}h=m&255;i=l&255;f=k&255;switch(M<<24>>24){case 1:{a[n>>0]=i>>>(d[u>>0]|0)<<(d[v>>0]|0)|h>>>(d[s>>0]|0)<<(d[t>>0]|0)|f>>>(d[w>>0]|0)<<(d[x>>0]|0)|L>>>(d[y>>0]|0)<<(d[q>>0]|0);break}case 2:{b[n>>1]=i>>>(d[u>>0]|0)<<(d[v>>0]|0)|h>>>(d[s>>0]|0)<<(d[t>>0]|0)|f>>>(d[w>>0]|0)<<(d[x>>0]|0)|L>>>(d[y>>0]|0)<<(d[q>>0]|0);break}case 3:{a[n+((d[t>>0]|0)>>>3&255)>>0]=m;a[n+((d[v>>0]|0)>>>3&255)>>0]=l;a[n+((d[x>>0]|0)>>>3&255)>>0]=k;break}case 4:{c[n>>2]=i>>>(d[u>>0]|0)<<(d[v>>0]|0)|h>>>(d[s>>0]|0)<<(d[t>>0]|0)|f>>>(d[w>>0]|0)<<(d[x>>0]|0)|L>>>(d[y>>0]|0)<<(d[q>>0]|0);break}default:{}}g=g+K|0;n=n+N|0;p=30;continue}else if((p|0)==30){p=0;switch(J<<24>>24){case 1:{f=d[g>>0]|0;h=(c[16112+((d[z>>0]|0)<<2)>>2]|0)+((c[A>>2]&f)>>>(d[B>>0]|0))|0;i=(c[16112+((d[C>>0]|0)<<2)>>2]|0)+((c[D>>2]&f)>>>(d[E>>0]|0))|0;f=(c[16112+((d[F>>0]|0)<<2)>>2]|0)+((c[G>>2]&f)>>>(d[r>>0]|0))|0;p=35;break}case 2:{f=e[g>>1]|0;h=(c[16112+((d[z>>0]|0)<<2)>>2]|0)+((c[A>>2]&f)>>>(d[B>>0]|0))|0;i=(c[16112+((d[C>>0]|0)<<2)>>2]|0)+((c[D>>2]&f)>>>(d[E>>0]|0))|0;f=(c[16112+((d[F>>0]|0)<<2)>>2]|0)+((c[G>>2]&f)>>>(d[r>>0]|0))|0;p=35;break}case 3:{h=g+((d[B>>0]|0)>>>3&255)|0;i=g+((d[E>>0]|0)>>>3&255)|0;f=g+((d[r>>0]|0)>>>3&255)|0;p=35;break}case 4:{f=c[g>>2]|0;h=(c[16112+((d[z>>0]|0)<<2)>>2]|0)+((c[A>>2]&f)>>>(d[B>>0]|0))|0;i=(c[16112+((d[C>>0]|0)<<2)>>2]|0)+((c[D>>2]&f)>>>(d[E>>0]|0))|0;f=(c[16112+((d[F>>0]|0)<<2)>>2]|0)+((c[G>>2]&f)>>>(d[r>>0]|0))|0;p=35;break}default:{m=0;l=0;k=0}}if((p|0)==35){m=a[h>>0]|0;l=a[i>>0]|0;k=a[f>>0]|0}h=m&255;i=l&255;f=k&255;switch(M<<24>>24){case 1:{a[n>>0]=i>>>(d[u>>0]|0)<<(d[v>>0]|0)|h>>>(d[s>>0]|0)<<(d[t>>0]|0)|f>>>(d[w>>0]|0)<<(d[x>>0]|0)|L>>>(d[y>>0]|0)<<(d[q>>0]|0);break}case 2:{b[n>>1]=i>>>(d[u>>0]|0)<<(d[v>>0]|0)|h>>>(d[s>>0]|0)<<(d[t>>0]|0)|f>>>(d[w>>0]|0)<<(d[x>>0]|0)|L>>>(d[y>>0]|0)<<(d[q>>0]|0);break}case 3:{a[n+((d[t>>0]|0)>>>3&255)>>0]=m;a[n+((d[v>>0]|0)>>>3&255)>>0]=l;a[n+((d[x>>0]|0)>>>3&255)>>0]=k;break}case 4:{c[n>>2]=i>>>(d[u>>0]|0)<<(d[v>>0]|0)|h>>>(d[s>>0]|0)<<(d[t>>0]|0)|f>>>(d[w>>0]|0)<<(d[x>>0]|0)|L>>>(d[y>>0]|0)<<(d[q>>0]|0);break}default:{}}g=g+K|0;n=n+N|0;p=42;continue}else if((p|0)==42){p=0;switch(J<<24>>24){case 1:{h=d[g>>0]|0;i=(c[16112+((d[C>>0]|0)<<2)>>2]|0)+((c[D>>2]&h)>>>(d[E>>0]|0))|0;f=(c[16112+((d[z>>0]|0)<<2)>>2]|0)+((c[A>>2]&h)>>>(d[B>>0]|0))|0;h=(c[16112+((d[F>>0]|0)<<2)>>2]|0)+((c[G>>2]&h)>>>(d[r>>0]|0))|0;p=47;break}case 2:{h=e[g>>1]|0;i=(c[16112+((d[C>>0]|0)<<2)>>2]|0)+((c[D>>2]&h)>>>(d[E>>0]|0))|0;f=(c[16112+((d[z>>0]|0)<<2)>>2]|0)+((c[A>>2]&h)>>>(d[B>>0]|0))|0;h=(c[16112+((d[F>>0]|0)<<2)>>2]|0)+((c[G>>2]&h)>>>(d[r>>0]|0))|0;p=47;break}case 3:{i=g+((d[E>>0]|0)>>>3&255)|0;f=g+((d[B>>0]|0)>>>3&255)|0;h=g+((d[r>>0]|0)>>>3&255)|0;p=47;break}case 4:{h=c[g>>2]|0;i=(c[16112+((d[C>>0]|0)<<2)>>2]|0)+((c[D>>2]&h)>>>(d[E>>0]|0))|0;f=(c[16112+((d[z>>0]|0)<<2)>>2]|0)+((c[A>>2]&h)>>>(d[B>>0]|0))|0;h=(c[16112+((d[F>>0]|0)<<2)>>2]|0)+((c[G>>2]&h)>>>(d[r>>0]|0))|0;p=47;break}default:{m=0;l=0;k=0}}if((p|0)==47){m=a[h>>0]|0;l=a[i>>0]|0;k=a[f>>0]|0}h=m&255;i=l&255;f=k&255;switch(M<<24>>24){case 1:{a[n>>0]=i>>>(d[u>>0]|0)<<(d[v>>0]|0)|f>>>(d[s>>0]|0)<<(d[t>>0]|0)|h>>>(d[w>>0]|0)<<(d[x>>0]|0)|L>>>(d[y>>0]|0)<<(d[q>>0]|0);break}case 2:{b[n>>1]=i>>>(d[u>>0]|0)<<(d[v>>0]|0)|f>>>(d[s>>0]|0)<<(d[t>>0]|0)|h>>>(d[w>>0]|0)<<(d[x>>0]|0)|L>>>(d[y>>0]|0)<<(d[q>>0]|0);break}case 3:{a[n+((d[t>>0]|0)>>>3&255)>>0]=k;a[n+((d[v>>0]|0)>>>3&255)>>0]=l;a[n+((d[x>>0]|0)>>>3&255)>>0]=m;break}case 4:{c[n>>2]=i>>>(d[u>>0]|0)<<(d[v>>0]|0)|f>>>(d[s>>0]|0)<<(d[t>>0]|0)|h>>>(d[w>>0]|0)<<(d[x>>0]|0)|L>>>(d[y>>0]|0)<<(d[q>>0]|0);break}default:{}}g=g+K|0;n=n+N|0;p=54;continue}else if((p|0)==54){p=0;switch(J<<24>>24){case 1:{h=d[g>>0]|0;i=(c[16112+((d[C>>0]|0)<<2)>>2]|0)+((c[D>>2]&h)>>>(d[E>>0]|0))|0;f=(c[16112+((d[z>>0]|0)<<2)>>2]|0)+((c[A>>2]&h)>>>(d[B>>0]|0))|0;h=(c[16112+((d[F>>0]|0)<<2)>>2]|0)+((c[G>>2]&h)>>>(d[r>>0]|0))|0;p=59;break}case 2:{h=e[g>>1]|0;i=(c[16112+((d[C>>0]|0)<<2)>>2]|0)+((c[D>>2]&h)>>>(d[E>>0]|0))|0;f=(c[16112+((d[z>>0]|0)<<2)>>2]|0)+((c[A>>2]&h)>>>(d[B>>0]|0))|0;h=(c[16112+((d[F>>0]|0)<<2)>>2]|0)+((c[G>>2]&h)>>>(d[r>>0]|0))|0;p=59;break}case 3:{i=g+((d[E>>0]|0)>>>3&255)|0;f=g+((d[B>>0]|0)>>>3&255)|0;h=g+((d[r>>0]|0)>>>3&255)|0;p=59;break}case 4:{h=c[g>>2]|0;i=(c[16112+((d[C>>0]|0)<<2)>>2]|0)+((c[D>>2]&h)>>>(d[E>>0]|0))|0;f=(c[16112+((d[z>>0]|0)<<2)>>2]|0)+((c[A>>2]&h)>>>(d[B>>0]|0))|0;h=(c[16112+((d[F>>0]|0)<<2)>>2]|0)+((c[G>>2]&h)>>>(d[r>>0]|0))|0;p=59;break}default:{m=0;l=0;k=0}}if((p|0)==59){m=a[h>>0]|0;l=a[i>>0]|0;k=a[f>>0]|0}h=m&255;i=l&255;f=k&255;switch(M<<24>>24){case 1:{a[n>>0]=i>>>(d[u>>0]|0)<<(d[v>>0]|0)|f>>>(d[s>>0]|0)<<(d[t>>0]|0)|h>>>(d[w>>0]|0)<<(d[x>>0]|0)|L>>>(d[y>>0]|0)<<(d[q>>0]|0);break}case 2:{b[n>>1]=i>>>(d[u>>0]|0)<<(d[v>>0]|0)|f>>>(d[s>>0]|0)<<(d[t>>0]|0)|h>>>(d[w>>0]|0)<<(d[x>>0]|0)|L>>>(d[y>>0]|0)<<(d[q>>0]|0);break}case 3:{a[n+((d[t>>0]|0)>>>3&255)>>0]=k;a[n+((d[v>>0]|0)>>>3&255)>>0]=l;a[n+((d[x>>0]|0)>>>3&255)>>0]=m;break}case 4:{c[n>>2]=i>>>(d[u>>0]|0)<<(d[v>>0]|0)|f>>>(d[s>>0]|0)<<(d[t>>0]|0)|h>>>(d[w>>0]|0)<<(d[x>>0]|0)|L>>>(d[y>>0]|0)<<(d[q>>0]|0);break}default:{}}g=g+K|0;n=n+N|0;p=66;continue}else if((p|0)==66){p=0;switch(J<<24>>24){case 1:{h=d[g>>0]|0;i=(c[16112+((d[C>>0]|0)<<2)>>2]|0)+((c[D>>2]&h)>>>(d[E>>0]|0))|0;f=(c[16112+((d[z>>0]|0)<<2)>>2]|0)+((c[A>>2]&h)>>>(d[B>>0]|0))|0;h=(c[16112+((d[F>>0]|0)<<2)>>2]|0)+((c[G>>2]&h)>>>(d[r>>0]|0))|0;p=71;break}case 2:{h=e[g>>1]|0;i=(c[16112+((d[C>>0]|0)<<2)>>2]|0)+((c[D>>2]&h)>>>(d[E>>0]|0))|0;f=(c[16112+((d[z>>0]|0)<<2)>>2]|0)+((c[A>>2]&h)>>>(d[B>>0]|0))|0;h=(c[16112+((d[F>>0]|0)<<2)>>2]|0)+((c[G>>2]&h)>>>(d[r>>0]|0))|0;p=71;break}case 3:{i=g+((d[E>>0]|0)>>>3&255)|0;f=g+((d[B>>0]|0)>>>3&255)|0;h=g+((d[r>>0]|0)>>>3&255)|0;p=71;break}case 4:{h=c[g>>2]|0;i=(c[16112+((d[C>>0]|0)<<2)>>2]|0)+((c[D>>2]&h)>>>(d[E>>0]|0))|0;f=(c[16112+((d[z>>0]|0)<<2)>>2]|0)+((c[A>>2]&h)>>>(d[B>>0]|0))|0;h=(c[16112+((d[F>>0]|0)<<2)>>2]|0)+((c[G>>2]&h)>>>(d[r>>0]|0))|0;p=71;break}default:{m=0;l=0;k=0}}if((p|0)==71){m=a[h>>0]|0;l=a[i>>0]|0;k=a[f>>0]|0}h=m&255;i=l&255;f=k&255;switch(M<<24>>24){case 1:{a[n>>0]=i>>>(d[u>>0]|0)<<(d[v>>0]|0)|f>>>(d[s>>0]|0)<<(d[t>>0]|0)|h>>>(d[w>>0]|0)<<(d[x>>0]|0)|L>>>(d[y>>0]|0)<<(d[q>>0]|0);break}case 2:{b[n>>1]=i>>>(d[u>>0]|0)<<(d[v>>0]|0)|f>>>(d[s>>0]|0)<<(d[t>>0]|0)|h>>>(d[w>>0]|0)<<(d[x>>0]|0)|L>>>(d[y>>0]|0)<<(d[q>>0]|0);break}case 3:{a[n+((d[t>>0]|0)>>>3&255)>>0]=k;a[n+((d[v>>0]|0)>>>3&255)>>0]=l;a[n+((d[x>>0]|0)>>>3&255)>>0]=m;break}case 4:{c[n>>2]=i>>>(d[u>>0]|0)<<(d[v>>0]|0)|f>>>(d[s>>0]|0)<<(d[t>>0]|0)|h>>>(d[w>>0]|0)<<(d[x>>0]|0)|L>>>(d[y>>0]|0)<<(d[q>>0]|0);break}default:{}}g=g+K|0;n=n+N|0;p=78;continue}else if((p|0)==78){p=0;switch(J<<24>>24){case 1:{h=d[g>>0]|0;i=(c[16112+((d[C>>0]|0)<<2)>>2]|0)+((c[D>>2]&h)>>>(d[E>>0]|0))|0;f=(c[16112+((d[z>>0]|0)<<2)>>2]|0)+((c[A>>2]&h)>>>(d[B>>0]|0))|0;h=(c[16112+((d[F>>0]|0)<<2)>>2]|0)+((c[G>>2]&h)>>>(d[r>>0]|0))|0;p=83;break}case 2:{h=e[g>>1]|0;i=(c[16112+((d[C>>0]|0)<<2)>>2]|0)+((c[D>>2]&h)>>>(d[E>>0]|0))|0;f=(c[16112+((d[z>>0]|0)<<2)>>2]|0)+((c[A>>2]&h)>>>(d[B>>0]|0))|0;h=(c[16112+((d[F>>0]|0)<<2)>>2]|0)+((c[G>>2]&h)>>>(d[r>>0]|0))|0;p=83;break}case 3:{i=g+((d[E>>0]|0)>>>3&255)|0;f=g+((d[B>>0]|0)>>>3&255)|0;h=g+((d[r>>0]|0)>>>3&255)|0;p=83;break}case 4:{h=c[g>>2]|0;i=(c[16112+((d[C>>0]|0)<<2)>>2]|0)+((c[D>>2]&h)>>>(d[E>>0]|0))|0;f=(c[16112+((d[z>>0]|0)<<2)>>2]|0)+((c[A>>2]&h)>>>(d[B>>0]|0))|0;h=(c[16112+((d[F>>0]|0)<<2)>>2]|0)+((c[G>>2]&h)>>>(d[r>>0]|0))|0;p=83;break}default:{m=0;l=0;k=0}}if((p|0)==83){m=a[h>>0]|0;l=a[i>>0]|0;k=a[f>>0]|0}h=m&255;i=l&255;f=k&255;switch(M<<24>>24){case 1:{a[n>>0]=i>>>(d[u>>0]|0)<<(d[v>>0]|0)|f>>>(d[s>>0]|0)<<(d[t>>0]|0)|h>>>(d[w>>0]|0)<<(d[x>>0]|0)|L>>>(d[y>>0]|0)<<(d[q>>0]|0);break}case 2:{b[n>>1]=i>>>(d[u>>0]|0)<<(d[v>>0]|0)|f>>>(d[s>>0]|0)<<(d[t>>0]|0)|h>>>(d[w>>0]|0)<<(d[x>>0]|0)|L>>>(d[y>>0]|0)<<(d[q>>0]|0);break}case 3:{a[n+((d[t>>0]|0)>>>3&255)>>0]=k;a[n+((d[v>>0]|0)>>>3&255)>>0]=l;a[n+((d[x>>0]|0)>>>3&255)>>0]=m;break}case 4:{c[n>>2]=i>>>(d[u>>0]|0)<<(d[v>>0]|0)|f>>>(d[s>>0]|0)<<(d[t>>0]|0)|h>>>(d[w>>0]|0)<<(d[x>>0]|0)|L>>>(d[y>>0]|0)<<(d[q>>0]|0);break}default:{}}g=g+K|0;n=n+N|0;p=90;continue}else if((p|0)==90){p=0;switch(J<<24>>24){case 1:{h=d[g>>0]|0;i=(c[16112+((d[C>>0]|0)<<2)>>2]|0)+((c[D>>2]&h)>>>(d[E>>0]|0))|0;f=(c[16112+((d[z>>0]|0)<<2)>>2]|0)+((c[A>>2]&h)>>>(d[B>>0]|0))|0;h=(c[16112+((d[F>>0]|0)<<2)>>2]|0)+((c[G>>2]&h)>>>(d[r>>0]|0))|0;p=95;break}case 2:{h=e[g>>1]|0;i=(c[16112+((d[C>>0]|0)<<2)>>2]|0)+((c[D>>2]&h)>>>(d[E>>0]|0))|0;f=(c[16112+((d[z>>0]|0)<<2)>>2]|0)+((c[A>>2]&h)>>>(d[B>>0]|0))|0;h=(c[16112+((d[F>>0]|0)<<2)>>2]|0)+((c[G>>2]&h)>>>(d[r>>0]|0))|0;p=95;break}case 3:{i=g+((d[E>>0]|0)>>>3&255)|0;f=g+((d[B>>0]|0)>>>3&255)|0;h=g+((d[r>>0]|0)>>>3&255)|0;p=95;break}case 4:{h=c[g>>2]|0;i=(c[16112+((d[C>>0]|0)<<2)>>2]|0)+((c[D>>2]&h)>>>(d[E>>0]|0))|0;f=(c[16112+((d[z>>0]|0)<<2)>>2]|0)+((c[A>>2]&h)>>>(d[B>>0]|0))|0;h=(c[16112+((d[F>>0]|0)<<2)>>2]|0)+((c[G>>2]&h)>>>(d[r>>0]|0))|0;p=95;break}default:{m=0;l=0;k=0}}if((p|0)==95){m=a[h>>0]|0;l=a[i>>0]|0;k=a[f>>0]|0}h=m&255;i=l&255;f=k&255;switch(M<<24>>24){case 1:{a[n>>0]=i>>>(d[u>>0]|0)<<(d[v>>0]|0)|f>>>(d[s>>0]|0)<<(d[t>>0]|0)|h>>>(d[w>>0]|0)<<(d[x>>0]|0)|L>>>(d[y>>0]|0)<<(d[q>>0]|0);break}case 2:{b[n>>1]=i>>>(d[u>>0]|0)<<(d[v>>0]|0)|f>>>(d[s>>0]|0)<<(d[t>>0]|0)|h>>>(d[w>>0]|0)<<(d[x>>0]|0)|L>>>(d[y>>0]|0)<<(d[q>>0]|0);break}case 3:{a[n+((d[t>>0]|0)>>>3&255)>>0]=k;a[n+((d[v>>0]|0)>>>3&255)>>0]=l;a[n+((d[x>>0]|0)>>>3&255)>>0]=m;break}case 4:{c[n>>2]=i>>>(d[u>>0]|0)<<(d[v>>0]|0)|f>>>(d[s>>0]|0)<<(d[t>>0]|0)|h>>>(d[w>>0]|0)<<(d[x>>0]|0)|L>>>(d[y>>0]|0)<<(d[q>>0]|0);break}default:{}}h=n+N|0;g=g+K|0;if((o|0)>1){o=o+-1|0;n=h;p=6;continue}else break}if(!j){p=104;break}else{g=g+P|0;n=h+I|0}}if((p|0)!=102)if((p|0)==104)return}function mEa(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;d=c[a+24>>2]|0;j=c[a+28>>2]|0;b=c[a>>2]|0;k=c[a+16>>2]|0;f=c[a+20>>2]|0;i=c[a+36>>2]|0;e=j+-1|0;if(!j)return;j=(d+7|0)/8|0;h=d&255;switch(h&7){case 0:{a=f;while(1){d=j;while(1){c[a>>2]=c[b>>2];c[a+4>>2]=c[b+4>>2];c[a+8>>2]=c[b+8>>2];c[a+12>>2]=c[b+12>>2];c[a+16>>2]=c[b+16>>2];c[a+20>>2]=c[b+20>>2];c[a+24>>2]=c[b+24>>2];c[a+28>>2]=c[b+28>>2];a=a+32|0;b=b+32|0;if((d|0)<=1)break;else d=d+-1|0}if(!e)break;else{a=a+i|0;b=b+k|0;e=e+-1|0}}return}case 7:{h=(d|0)>8;while(1){c[f>>2]=c[b>>2];c[f+4>>2]=c[b+4>>2];c[f+8>>2]=c[b+8>>2];c[f+12>>2]=c[b+12>>2];c[f+16>>2]=c[b+16>>2];c[f+20>>2]=c[b+20>>2];c[f+24>>2]=c[b+24>>2];a=f+28|0;d=b+28|0;if(h){g=j;while(1){c[a>>2]=c[d>>2];a=f;f=f+32|0;d=b;b=b+32|0;c[f>>2]=c[b>>2];c[a+36>>2]=c[d+36>>2];c[a+40>>2]=c[d+40>>2];c[a+44>>2]=c[d+44>>2];c[a+48>>2]=c[d+48>>2];c[a+52>>2]=c[d+52>>2];c[a+56>>2]=c[d+56>>2];a=a+60|0;d=d+60|0;if((g|0)<=2){b=d;break}else g=g+-1|0}}else b=d;if(!e)break;else{f=a+i|0;b=b+k|0;e=e+-1|0}}return}default:{a:while(1){switch(h&7){case 1:{g=j;d=20;break}case 2:{a=j;d=19;break}case 6:{a=j;d=15;break}case 5:{a=j;d=16;break}case 4:{a=j;d=17;break}case 3:{a=j;d=18;break}default:{d=21;break a}}while(1)if((d|0)==15){c[f>>2]=c[b>>2];f=f+4|0;b=b+4|0;d=16;continue}else if((d|0)==16){c[f>>2]=c[b>>2];f=f+4|0;b=b+4|0;d=17;continue}else if((d|0)==17){c[f>>2]=c[b>>2];f=f+4|0;b=b+4|0;d=18;continue}else if((d|0)==18){c[f>>2]=c[b>>2];f=f+4|0;b=b+4|0;d=19;continue}else if((d|0)==19){c[f>>2]=c[b>>2];g=a;f=f+4|0;b=b+4|0;d=20;continue}else if((d|0)==20){c[f>>2]=c[b>>2];a=f+4|0;d=b+4|0;if((g|0)<=1)break;c[a>>2]=c[d>>2];c[f+8>>2]=c[b+8>>2];a=g+-1|0;f=f+12|0;b=b+12|0;d=15;continue}if(!e){d=23;break}else{f=a+i|0;b=d+k|0;e=e+-1|0}}if((d|0)!=21)if((d|0)==23)return}}}function nEa(f){f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0;H=c[f+24>>2]|0;i=c[f+28>>2]|0;V=c[f+16>>2]|0;W=c[f+36>>2]|0;g=c[f+40>>2]|0;D=a[g+9>>0]|0;E=D&255;h=c[f+44>>2]|0;F=a[h+9>>0]|0;G=F&255;if(!i)return;I=(H|0)==0;J=g+28|0;K=g+12|0;L=g+32|0;M=g+29|0;O=g+16|0;P=g+33|0;Q=g+30|0;R=g+20|0;S=g+34|0;T=g+31|0;U=g+24|0;v=g+35|0;w=h+28|0;x=h+32|0;y=h+29|0;z=h+33|0;A=h+30|0;B=h+34|0;C=h+31|0;s=h+35|0;t=N(H,G)|0;u=N(H,E)|0;h=c[f>>2]|0;g=c[f+20>>2]|0;while(1){i=i+-1|0;if(!I){r=g+t|0;q=H;p=h;while(1){switch(D<<24>>24){case 1:{o=d[p>>0]|0;f=a[(c[16112+((d[T>>0]|0)<<2)>>2]|0)+((c[U>>2]&o)>>>(d[v>>0]|0))>>0]|0;m=a[(c[16112+((d[Q>>0]|0)<<2)>>2]|0)+((c[R>>2]&o)>>>(d[S>>0]|0))>>0]|0;n=a[(c[16112+((d[M>>0]|0)<<2)>>2]|0)+((c[O>>2]&o)>>>(d[P>>0]|0))>>0]|0;o=a[(c[16112+((d[J>>0]|0)<<2)>>2]|0)+((c[K>>2]&o)>>>(d[L>>0]|0))>>0]|0;break}case 2:{o=e[p>>1]|0;f=a[(c[16112+((d[T>>0]|0)<<2)>>2]|0)+((c[U>>2]&o)>>>(d[v>>0]|0))>>0]|0;m=a[(c[16112+((d[Q>>0]|0)<<2)>>2]|0)+((c[R>>2]&o)>>>(d[S>>0]|0))>>0]|0;n=a[(c[16112+((d[M>>0]|0)<<2)>>2]|0)+((c[O>>2]&o)>>>(d[P>>0]|0))>>0]|0;o=a[(c[16112+((d[J>>0]|0)<<2)>>2]|0)+((c[K>>2]&o)>>>(d[L>>0]|0))>>0]|0;break}case 3:{f=-1;m=a[p+((d[S>>0]|0)>>>3&255)>>0]|0;n=a[p+((d[P>>0]|0)>>>3&255)>>0]|0;o=a[p+((d[L>>0]|0)>>>3&255)>>0]|0;break}case 4:{o=c[p>>2]|0;f=a[(c[16112+((d[T>>0]|0)<<2)>>2]|0)+((c[U>>2]&o)>>>(d[v>>0]|0))>>0]|0;m=a[(c[16112+((d[Q>>0]|0)<<2)>>2]|0)+((c[R>>2]&o)>>>(d[S>>0]|0))>>0]|0;n=a[(c[16112+((d[M>>0]|0)<<2)>>2]|0)+((c[O>>2]&o)>>>(d[P>>0]|0))>>0]|0;o=a[(c[16112+((d[J>>0]|0)<<2)>>2]|0)+((c[K>>2]&o)>>>(d[L>>0]|0))>>0]|0;break}default:{f=0;m=0;n=0;o=0}}f=f&255;j=m&255;k=n&255;l=o&255;switch(F<<24>>24){case 1:{a[g>>0]=k>>>(d[y>>0]|0)<<(d[z>>0]|0)|l>>>(d[w>>0]|0)<<(d[x>>0]|0)|j>>>(d[A>>0]|0)<<(d[B>>0]|0)|f>>>(d[C>>0]|0)<<(d[s>>0]|0);break}case 2:{b[g>>1]=k>>>(d[y>>0]|0)<<(d[z>>0]|0)|l>>>(d[w>>0]|0)<<(d[x>>0]|0)|j>>>(d[A>>0]|0)<<(d[B>>0]|0)|f>>>(d[C>>0]|0)<<(d[s>>0]|0);break}case 3:{a[g+((d[x>>0]|0)>>>3&255)>>0]=o;a[g+((d[z>>0]|0)>>>3&255)>>0]=n;a[g+((d[B>>0]|0)>>>3&255)>>0]=m;break}case 4:{c[g>>2]=k>>>(d[y>>0]|0)<<(d[z>>0]|0)|l>>>(d[w>>0]|0)<<(d[x>>0]|0)|j>>>(d[A>>0]|0)<<(d[B>>0]|0)|f>>>(d[C>>0]|0)<<(d[s>>0]|0);break}default:{}}q=q+-1|0;if(!q)break;else{g=g+G|0;p=p+E|0}}h=h+u|0;g=r}if(!i)break;else{h=h+V|0;g=g+W|0}}return}function oEa(f){f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0;g=c[f+24>>2]|0;j=c[f+28>>2]|0;Q=c[f+16>>2]|0;H=c[f+36>>2]|0;h=c[f+40>>2]|0;i=c[f+44>>2]|0;J=a[h+9>>0]|0;K=J&255;L=a[i+9>>0]|0;M=L&255;if(!(c[i+24>>2]|0))I=0;else I=d[f+63>>0]|0;N=~c[h+24>>2];O=c[f+56>>2]&N;if(!j)return;P=(g+7|0)/8|0;G=g&255;y=h+28|0;z=h+12|0;A=h+32|0;B=h+29|0;C=h+16|0;D=h+33|0;E=h+30|0;F=h+20|0;q=h+34|0;r=i+28|0;s=i+32|0;t=i+29|0;u=i+33|0;v=i+30|0;w=i+34|0;x=i+31|0;p=i+35|0;g=c[f>>2]|0;h=c[f+20>>2]|0;a:while(1){j=j+-1|0;switch(G&7){case 0:{o=P;i=6;break}case 7:{o=P;i=18;break}case 6:{o=P;i=30;break}case 5:{o=P;i=42;break}case 4:{o=P;i=54;break}case 3:{o=P;i=66;break}case 2:{o=P;i=78;break}case 1:{o=P;i=90;break}default:{i=102;break a}}while(1)if((i|0)==6){switch(J<<24>>24){case 1:{i=d[g>>0]|0;break}case 2:{i=e[g>>1]|0;break}case 3:{i=(d[g+1>>0]|0)<<8|(d[g>>0]|0)|(d[g+2>>0]|0)<<16;break}case 4:{i=c[g>>2]|0;break}default:i=0}b:do if((i&N|0)!=(O|0)){k=a[(c[16112+((d[y>>0]|0)<<2)>>2]|0)+((c[z>>2]&i)>>>(d[A>>0]|0))>>0]|0;l=k&255;m=a[(c[16112+((d[B>>0]|0)<<2)>>2]|0)+((c[C>>2]&i)>>>(d[D>>0]|0))>>0]|0;n=m&255;i=a[(c[16112+((d[E>>0]|0)<<2)>>2]|0)+((c[F>>2]&i)>>>(d[q>>0]|0))>>0]|0;f=i&255;switch(L<<24>>24){case 1:{a[h>>0]=n>>>(d[t>>0]|0)<<(d[u>>0]|0)|l>>>(d[r>>0]|0)<<(d[s>>0]|0)|f>>>(d[v>>0]|0)<<(d[w>>0]|0)|I>>>(d[x>>0]|0)<<(d[p>>0]|0);break b}case 2:{b[h>>1]=n>>>(d[t>>0]|0)<<(d[u>>0]|0)|l>>>(d[r>>0]|0)<<(d[s>>0]|0)|f>>>(d[v>>0]|0)<<(d[w>>0]|0)|I>>>(d[x>>0]|0)<<(d[p>>0]|0);break b}case 3:{a[h+((d[s>>0]|0)>>>3&255)>>0]=k;a[h+((d[u>>0]|0)>>>3&255)>>0]=m;a[h+((d[w>>0]|0)>>>3&255)>>0]=i;break b}case 4:{c[h>>2]=n>>>(d[t>>0]|0)<<(d[u>>0]|0)|l>>>(d[r>>0]|0)<<(d[s>>0]|0)|f>>>(d[v>>0]|0)<<(d[w>>0]|0)|I>>>(d[x>>0]|0)<<(d[p>>0]|0);break b}default:break b}}while(0);g=g+K|0;h=h+M|0;i=18;continue}else if((i|0)==18){switch(J<<24>>24){case 1:{i=d[g>>0]|0;break}case 2:{i=e[g>>1]|0;break}case 3:{i=(d[g+1>>0]|0)<<8|(d[g>>0]|0)|(d[g+2>>0]|0)<<16;break}case 4:{i=c[g>>2]|0;break}default:i=0}c:do if((i&N|0)!=(O|0)){k=a[(c[16112+((d[y>>0]|0)<<2)>>2]|0)+((c[z>>2]&i)>>>(d[A>>0]|0))>>0]|0;l=k&255;m=a[(c[16112+((d[B>>0]|0)<<2)>>2]|0)+((c[C>>2]&i)>>>(d[D>>0]|0))>>0]|0;n=m&255;i=a[(c[16112+((d[E>>0]|0)<<2)>>2]|0)+((c[F>>2]&i)>>>(d[q>>0]|0))>>0]|0;f=i&255;switch(L<<24>>24){case 1:{a[h>>0]=n>>>(d[t>>0]|0)<<(d[u>>0]|0)|l>>>(d[r>>0]|0)<<(d[s>>0]|0)|f>>>(d[v>>0]|0)<<(d[w>>0]|0)|I>>>(d[x>>0]|0)<<(d[p>>0]|0);break c}case 2:{b[h>>1]=n>>>(d[t>>0]|0)<<(d[u>>0]|0)|l>>>(d[r>>0]|0)<<(d[s>>0]|0)|f>>>(d[v>>0]|0)<<(d[w>>0]|0)|I>>>(d[x>>0]|0)<<(d[p>>0]|0);break c}case 3:{a[h+((d[s>>0]|0)>>>3&255)>>0]=k;a[h+((d[u>>0]|0)>>>3&255)>>0]=m;a[h+((d[w>>0]|0)>>>3&255)>>0]=i;break c}case 4:{c[h>>2]=n>>>(d[t>>0]|0)<<(d[u>>0]|0)|l>>>(d[r>>0]|0)<<(d[s>>0]|0)|f>>>(d[v>>0]|0)<<(d[w>>0]|0)|I>>>(d[x>>0]|0)<<(d[p>>0]|0);break c}default:break c}}while(0);g=g+K|0;h=h+M|0;i=30;continue}else if((i|0)==30){switch(J<<24>>24){case 1:{i=d[g>>0]|0;break}case 2:{i=e[g>>1]|0;break}case 3:{i=(d[g+1>>0]|0)<<8|(d[g>>0]|0)|(d[g+2>>0]|0)<<16;break}case 4:{i=c[g>>2]|0;break}default:i=0}d:do if((i&N|0)!=(O|0)){k=a[(c[16112+((d[y>>0]|0)<<2)>>2]|0)+((c[z>>2]&i)>>>(d[A>>0]|0))>>0]|0;l=k&255;m=a[(c[16112+((d[B>>0]|0)<<2)>>2]|0)+((c[C>>2]&i)>>>(d[D>>0]|0))>>0]|0;n=m&255;i=a[(c[16112+((d[E>>0]|0)<<2)>>2]|0)+((c[F>>2]&i)>>>(d[q>>0]|0))>>0]|0;f=i&255;switch(L<<24>>24){case 1:{a[h>>0]=n>>>(d[t>>0]|0)<<(d[u>>0]|0)|l>>>(d[r>>0]|0)<<(d[s>>0]|0)|f>>>(d[v>>0]|0)<<(d[w>>0]|0)|I>>>(d[x>>0]|0)<<(d[p>>0]|0);break d}case 2:{b[h>>1]=n>>>(d[t>>0]|0)<<(d[u>>0]|0)|l>>>(d[r>>0]|0)<<(d[s>>0]|0)|f>>>(d[v>>0]|0)<<(d[w>>0]|0)|I>>>(d[x>>0]|0)<<(d[p>>0]|0);break d}case 3:{a[h+((d[s>>0]|0)>>>3&255)>>0]=k;a[h+((d[u>>0]|0)>>>3&255)>>0]=m;a[h+((d[w>>0]|0)>>>3&255)>>0]=i;break d}case 4:{c[h>>2]=n>>>(d[t>>0]|0)<<(d[u>>0]|0)|l>>>(d[r>>0]|0)<<(d[s>>0]|0)|f>>>(d[v>>0]|0)<<(d[w>>0]|0)|I>>>(d[x>>0]|0)<<(d[p>>0]|0);break d}default:break d}}while(0);g=g+K|0;h=h+M|0;i=42;continue}else if((i|0)==42){switch(J<<24>>24){case 1:{i=d[g>>0]|0;break}case 2:{i=e[g>>1]|0;break}case 3:{i=(d[g+1>>0]|0)<<8|(d[g>>0]|0)|(d[g+2>>0]|0)<<16;break}case 4:{i=c[g>>2]|0;break}default:i=0}e:do if((i&N|0)!=(O|0)){k=a[(c[16112+((d[y>>0]|0)<<2)>>2]|0)+((c[z>>2]&i)>>>(d[A>>0]|0))>>0]|0;l=k&255;m=a[(c[16112+((d[B>>0]|0)<<2)>>2]|0)+((c[C>>2]&i)>>>(d[D>>0]|0))>>0]|0;n=m&255;i=a[(c[16112+((d[E>>0]|0)<<2)>>2]|0)+((c[F>>2]&i)>>>(d[q>>0]|0))>>0]|0;f=i&255;switch(L<<24>>24){case 1:{a[h>>0]=n>>>(d[t>>0]|0)<<(d[u>>0]|0)|l>>>(d[r>>0]|0)<<(d[s>>0]|0)|f>>>(d[v>>0]|0)<<(d[w>>0]|0)|I>>>(d[x>>0]|0)<<(d[p>>0]|0);break e}case 2:{b[h>>1]=n>>>(d[t>>0]|0)<<(d[u>>0]|0)|l>>>(d[r>>0]|0)<<(d[s>>0]|0)|f>>>(d[v>>0]|0)<<(d[w>>0]|0)|I>>>(d[x>>0]|0)<<(d[p>>0]|0);break e}case 3:{a[h+((d[s>>0]|0)>>>3&255)>>0]=k;a[h+((d[u>>0]|0)>>>3&255)>>0]=m;a[h+((d[w>>0]|0)>>>3&255)>>0]=i;break e}case 4:{c[h>>2]=n>>>(d[t>>0]|0)<<(d[u>>0]|0)|l>>>(d[r>>0]|0)<<(d[s>>0]|0)|f>>>(d[v>>0]|0)<<(d[w>>0]|0)|I>>>(d[x>>0]|0)<<(d[p>>0]|0);break e}default:break e}}while(0);g=g+K|0;h=h+M|0;i=54;continue}else if((i|0)==54){switch(J<<24>>24){case 1:{i=d[g>>0]|0;break}case 2:{i=e[g>>1]|0;break}case 3:{i=(d[g+1>>0]|0)<<8|(d[g>>0]|0)|(d[g+2>>0]|0)<<16;break}case 4:{i=c[g>>2]|0;break}default:i=0}f:do if((i&N|0)!=(O|0)){k=a[(c[16112+((d[y>>0]|0)<<2)>>2]|0)+((c[z>>2]&i)>>>(d[A>>0]|0))>>0]|0;l=k&255;m=a[(c[16112+((d[B>>0]|0)<<2)>>2]|0)+((c[C>>2]&i)>>>(d[D>>0]|0))>>0]|0;n=m&255;i=a[(c[16112+((d[E>>0]|0)<<2)>>2]|0)+((c[F>>2]&i)>>>(d[q>>0]|0))>>0]|0;f=i&255;switch(L<<24>>24){case 1:{a[h>>0]=n>>>(d[t>>0]|0)<<(d[u>>0]|0)|l>>>(d[r>>0]|0)<<(d[s>>0]|0)|f>>>(d[v>>0]|0)<<(d[w>>0]|0)|I>>>(d[x>>0]|0)<<(d[p>>0]|0);break f}case 2:{b[h>>1]=n>>>(d[t>>0]|0)<<(d[u>>0]|0)|l>>>(d[r>>0]|0)<<(d[s>>0]|0)|f>>>(d[v>>0]|0)<<(d[w>>0]|0)|I>>>(d[x>>0]|0)<<(d[p>>0]|0);break f}case 3:{a[h+((d[s>>0]|0)>>>3&255)>>0]=k;a[h+((d[u>>0]|0)>>>3&255)>>0]=m;a[h+((d[w>>0]|0)>>>3&255)>>0]=i;break f}case 4:{c[h>>2]=n>>>(d[t>>0]|0)<<(d[u>>0]|0)|l>>>(d[r>>0]|0)<<(d[s>>0]|0)|f>>>(d[v>>0]|0)<<(d[w>>0]|0)|I>>>(d[x>>0]|0)<<(d[p>>0]|0);break f}default:break f}}while(0);g=g+K|0;h=h+M|0;i=66;continue}else if((i|0)==66){switch(J<<24>>24){case 1:{i=d[g>>0]|0;break}case 2:{i=e[g>>1]|0;break}case 3:{i=(d[g+1>>0]|0)<<8|(d[g>>0]|0)|(d[g+2>>0]|0)<<16;break}case 4:{i=c[g>>2]|0;break}default:i=0}g:do if((i&N|0)!=(O|0)){k=a[(c[16112+((d[y>>0]|0)<<2)>>2]|0)+((c[z>>2]&i)>>>(d[A>>0]|0))>>0]|0;l=k&255;m=a[(c[16112+((d[B>>0]|0)<<2)>>2]|0)+((c[C>>2]&i)>>>(d[D>>0]|0))>>0]|0;n=m&255;i=a[(c[16112+((d[E>>0]|0)<<2)>>2]|0)+((c[F>>2]&i)>>>(d[q>>0]|0))>>0]|0;f=i&255;switch(L<<24>>24){case 1:{a[h>>0]=n>>>(d[t>>0]|0)<<(d[u>>0]|0)|l>>>(d[r>>0]|0)<<(d[s>>0]|0)|f>>>(d[v>>0]|0)<<(d[w>>0]|0)|I>>>(d[x>>0]|0)<<(d[p>>0]|0);break g}case 2:{b[h>>1]=n>>>(d[t>>0]|0)<<(d[u>>0]|0)|l>>>(d[r>>0]|0)<<(d[s>>0]|0)|f>>>(d[v>>0]|0)<<(d[w>>0]|0)|I>>>(d[x>>0]|0)<<(d[p>>0]|0);break g}case 3:{a[h+((d[s>>0]|0)>>>3&255)>>0]=k;a[h+((d[u>>0]|0)>>>3&255)>>0]=m;a[h+((d[w>>0]|0)>>>3&255)>>0]=i;break g}case 4:{c[h>>2]=n>>>(d[t>>0]|0)<<(d[u>>0]|0)|l>>>(d[r>>0]|0)<<(d[s>>0]|0)|f>>>(d[v>>0]|0)<<(d[w>>0]|0)|I>>>(d[x>>0]|0)<<(d[p>>0]|0);break g}default:break g}}while(0);g=g+K|0;h=h+M|0;i=78;continue}else if((i|0)==78){switch(J<<24>>24){case 1:{i=d[g>>0]|0;break}case 2:{i=e[g>>1]|0;break}case 3:{i=(d[g+1>>0]|0)<<8|(d[g>>0]|0)|(d[g+2>>0]|0)<<16;break}case 4:{i=c[g>>2]|0;break}default:i=0}h:do if((i&N|0)!=(O|0)){m=a[(c[16112+((d[y>>0]|0)<<2)>>2]|0)+((c[z>>2]&i)>>>(d[A>>0]|0))>>0]|0;n=m&255;k=a[(c[16112+((d[B>>0]|0)<<2)>>2]|0)+((c[C>>2]&i)>>>(d[D>>0]|0))>>0]|0;l=k&255;i=a[(c[16112+((d[E>>0]|0)<<2)>>2]|0)+((c[F>>2]&i)>>>(d[q>>0]|0))>>0]|0;f=i&255;switch(L<<24>>24){case 1:{a[h>>0]=l>>>(d[t>>0]|0)<<(d[u>>0]|0)|n>>>(d[r>>0]|0)<<(d[s>>0]|0)|f>>>(d[v>>0]|0)<<(d[w>>0]|0)|I>>>(d[x>>0]|0)<<(d[p>>0]|0);break h}case 2:{b[h>>1]=l>>>(d[t>>0]|0)<<(d[u>>0]|0)|n>>>(d[r>>0]|0)<<(d[s>>0]|0)|f>>>(d[v>>0]|0)<<(d[w>>0]|0)|I>>>(d[x>>0]|0)<<(d[p>>0]|0);break h}case 3:{a[h+((d[s>>0]|0)>>>3&255)>>0]=m;a[h+((d[u>>0]|0)>>>3&255)>>0]=k;a[h+((d[w>>0]|0)>>>3&255)>>0]=i;break h}case 4:{c[h>>2]=l>>>(d[t>>0]|0)<<(d[u>>0]|0)|n>>>(d[r>>0]|0)<<(d[s>>0]|0)|f>>>(d[v>>0]|0)<<(d[w>>0]|0)|I>>>(d[x>>0]|0)<<(d[p>>0]|0);break h}default:break h}}while(0);g=g+K|0;h=h+M|0;i=90;continue}else if((i|0)==90){switch(J<<24>>24){case 1:{i=d[g>>0]|0;break}case 2:{i=e[g>>1]|0;break}case 3:{i=(d[g+1>>0]|0)<<8|(d[g>>0]|0)|(d[g+2>>0]|0)<<16;break}case 4:{i=c[g>>2]|0;break}default:i=0}i:do if((i&N|0)!=(O|0)){k=a[(c[16112+((d[y>>0]|0)<<2)>>2]|0)+((c[z>>2]&i)>>>(d[A>>0]|0))>>0]|0;l=k&255;m=a[(c[16112+((d[B>>0]|0)<<2)>>2]|0)+((c[C>>2]&i)>>>(d[D>>0]|0))>>0]|0;n=m&255;i=a[(c[16112+((d[E>>0]|0)<<2)>>2]|0)+((c[F>>2]&i)>>>(d[q>>0]|0))>>0]|0;f=i&255;switch(L<<24>>24){case 1:{a[h>>0]=n>>>(d[t>>0]|0)<<(d[u>>0]|0)|l>>>(d[r>>0]|0)<<(d[s>>0]|0)|f>>>(d[v>>0]|0)<<(d[w>>0]|0)|I>>>(d[x>>0]|0)<<(d[p>>0]|0);break i}case 2:{b[h>>1]=n>>>(d[t>>0]|0)<<(d[u>>0]|0)|l>>>(d[r>>0]|0)<<(d[s>>0]|0)|f>>>(d[v>>0]|0)<<(d[w>>0]|0)|I>>>(d[x>>0]|0)<<(d[p>>0]|0);break i}case 3:{a[h+((d[s>>0]|0)>>>3&255)>>0]=k;a[h+((d[u>>0]|0)>>>3&255)>>0]=m;a[h+((d[w>>0]|0)>>>3&255)>>0]=i;break i}case 4:{c[h>>2]=n>>>(d[t>>0]|0)<<(d[u>>0]|0)|l>>>(d[r>>0]|0)<<(d[s>>0]|0)|f>>>(d[v>>0]|0)<<(d[w>>0]|0)|I>>>(d[x>>0]|0)<<(d[p>>0]|0);break i}default:break i}}while(0);h=h+M|0;g=g+K|0;if((o|0)>1){o=o+-1|0;i=6;continue}else break}if(!j){i=104;break}else{g=g+Q|0;h=h+H|0}}if((i|0)!=102)if((i|0)==104)return}function pEa(b){b=b|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0,Ga=0,Ha=0,Ia=0,Ja=0,Ka=0,La=0,Ma=0,Na=0,Oa=0,Pa=0,Qa=0,Ra=0,Sa=0,Ta=0,Ua=0,Va=0,Wa=0,Xa=0,Ya=0,Za=0,_a=0,$a=0,ab=0,bb=0,cb=0,db=0,eb=0,fb=0,gb=0,hb=0,ib=0,jb=0,kb=0,lb=0,mb=0,nb=0,ob=0,pb=0,qb=0,rb=0,sb=0,tb=0,ub=0,vb=0,wb=0,xb=0,yb=0,zb=0,Ab=0,Bb=0,Cb=0,Db=0,Eb=0,Fb=0,Gb=0,Hb=0,Ib=0,Jb=0,Kb=0,Lb=0,Mb=0,Nb=0,Ob=0,Pb=0,Qb=0,Rb=0,Sb=0,Tb=0,Ub=0,Vb=0,Wb=0,Xb=0,Yb=0,Zb=0,_b=0,$b=0,ac=0,bc=0,cc=0,dc=0,ec=0,fc=0,gc=0;i=c[b+24>>2]|0;s=c[b+28>>2]|0;g=c[b>>2]|0;gc=c[b+16>>2]|0;f=c[b+20>>2]|0;fc=c[b+36>>2]|0;bc=c[b+48>>2]|0;cc=c[b+40>>2]|0;dc=a[cc+9>>0]|0;ec=dc&255;h=s+-1|0;b=(s|0)==0;if(!bc){if(b)return;s=(i+7|0)/8|0;r=i&255;j=cc+28|0;k=cc+12|0;l=cc+32|0;m=cc+29|0;n=cc+16|0;o=cc+33|0;p=cc+30|0;q=cc+20|0;i=cc+34|0;a:while(1){switch(r&7){case 0:{u=s;za=g;Aa=f;f=5;break}case 7:{ta=s;Ia=g;Ja=f;f=12;break}case 6:{Ca=s;Ra=g;Sa=f;f=19;break}case 5:{La=s;_a=g;$a=f;f=26;break}case 4:{Ua=s;hb=g;ib=f;f=33;break}case 3:{bb=s;qb=g;rb=f;f=40;break}case 2:{kb=s;zb=g;Ab=f;f=47;break}case 1:{tb=s;Gb=g;Hb=f;f=54;break}default:{f=61;break a}}while(1)if((f|0)==5){f=0;switch(dc<<24>>24){case 1:{Nb=d[za>>0]|0;x=(c[16112+((d[m>>0]|0)<<2)>>2]|0)+((c[n>>2]&Nb)>>>(d[o>>0]|0))|0;z=(c[16112+((d[j>>0]|0)<<2)>>2]|0)+((c[k>>2]&Nb)>>>(d[l>>0]|0))|0;Nb=(c[16112+((d[p>>0]|0)<<2)>>2]|0)+((c[q>>2]&Nb)>>>(d[i>>0]|0))|0;f=10;break}case 2:{Nb=e[za>>1]|0;x=(c[16112+((d[m>>0]|0)<<2)>>2]|0)+((c[n>>2]&Nb)>>>(d[o>>0]|0))|0;z=(c[16112+((d[j>>0]|0)<<2)>>2]|0)+((c[k>>2]&Nb)>>>(d[l>>0]|0))|0;Nb=(c[16112+((d[p>>0]|0)<<2)>>2]|0)+((c[q>>2]&Nb)>>>(d[i>>0]|0))|0;f=10;break}case 3:{x=za+((d[o>>0]|0)>>>3&255)|0;z=za+((d[l>>0]|0)>>>3&255)|0;Nb=za+((d[i>>0]|0)>>>3&255)|0;f=10;break}case 4:{Nb=c[za>>2]|0;x=(c[16112+((d[m>>0]|0)<<2)>>2]|0)+((c[n>>2]&Nb)>>>(d[o>>0]|0))|0;z=(c[16112+((d[j>>0]|0)<<2)>>2]|0)+((c[k>>2]&Nb)>>>(d[l>>0]|0))|0;Nb=(c[16112+((d[p>>0]|0)<<2)>>2]|0)+((c[q>>2]&Nb)>>>(d[i>>0]|0))|0;f=10;break}default:{v=0;w=0;y=0}}if((f|0)==10){v=a[Nb>>0]|0;w=a[x>>0]|0;y=a[z>>0]|0}a[Aa>>0]=(w&255)>>>5<<2|y&-32&255|(v&255)>>>6;ta=u;Ia=za+ec|0;Ja=Aa+1|0;f=12;continue}else if((f|0)==12){f=0;switch(dc<<24>>24){case 1:{Ob=d[Ia>>0]|0;wa=(c[16112+((d[m>>0]|0)<<2)>>2]|0)+((c[n>>2]&Ob)>>>(d[o>>0]|0))|0;ya=(c[16112+((d[j>>0]|0)<<2)>>2]|0)+((c[k>>2]&Ob)>>>(d[l>>0]|0))|0;Ob=(c[16112+((d[p>>0]|0)<<2)>>2]|0)+((c[q>>2]&Ob)>>>(d[i>>0]|0))|0;f=17;break}case 2:{Ob=e[Ia>>1]|0;wa=(c[16112+((d[m>>0]|0)<<2)>>2]|0)+((c[n>>2]&Ob)>>>(d[o>>0]|0))|0;ya=(c[16112+((d[j>>0]|0)<<2)>>2]|0)+((c[k>>2]&Ob)>>>(d[l>>0]|0))|0;Ob=(c[16112+((d[p>>0]|0)<<2)>>2]|0)+((c[q>>2]&Ob)>>>(d[i>>0]|0))|0;f=17;break}case 3:{wa=Ia+((d[o>>0]|0)>>>3&255)|0;ya=Ia+((d[l>>0]|0)>>>3&255)|0;Ob=Ia+((d[i>>0]|0)>>>3&255)|0;f=17;break}case 4:{Ob=c[Ia>>2]|0;wa=(c[16112+((d[m>>0]|0)<<2)>>2]|0)+((c[n>>2]&Ob)>>>(d[o>>0]|0))|0;ya=(c[16112+((d[j>>0]|0)<<2)>>2]|0)+((c[k>>2]&Ob)>>>(d[l>>0]|0))|0;Ob=(c[16112+((d[p>>0]|0)<<2)>>2]|0)+((c[q>>2]&Ob)>>>(d[i>>0]|0))|0;f=17;break}default:{ua=0;va=0;xa=0}}if((f|0)==17){ua=a[Ob>>0]|0;va=a[wa>>0]|0;xa=a[ya>>0]|0}a[Ja>>0]=(va&255)>>>5<<2|xa&-32&255|(ua&255)>>>6;Ca=ta;Ra=Ia+ec|0;Sa=Ja+1|0;f=19;continue}else if((f|0)==19){f=0;switch(dc<<24>>24){case 1:{Pb=d[Ra>>0]|0;Fa=(c[16112+((d[m>>0]|0)<<2)>>2]|0)+((c[n>>2]&Pb)>>>(d[o>>0]|0))|0;Ha=(c[16112+((d[j>>0]|0)<<2)>>2]|0)+((c[k>>2]&Pb)>>>(d[l>>0]|0))|0;Pb=(c[16112+((d[p>>0]|0)<<2)>>2]|0)+((c[q>>2]&Pb)>>>(d[i>>0]|0))|0;f=24;break}case 2:{Pb=e[Ra>>1]|0;Fa=(c[16112+((d[m>>0]|0)<<2)>>2]|0)+((c[n>>2]&Pb)>>>(d[o>>0]|0))|0;Ha=(c[16112+((d[j>>0]|0)<<2)>>2]|0)+((c[k>>2]&Pb)>>>(d[l>>0]|0))|0;Pb=(c[16112+((d[p>>0]|0)<<2)>>2]|0)+((c[q>>2]&Pb)>>>(d[i>>0]|0))|0;f=24;break}case 3:{Fa=Ra+((d[o>>0]|0)>>>3&255)|0;Ha=Ra+((d[l>>0]|0)>>>3&255)|0;Pb=Ra+((d[i>>0]|0)>>>3&255)|0;f=24;break}case 4:{Pb=c[Ra>>2]|0;Fa=(c[16112+((d[m>>0]|0)<<2)>>2]|0)+((c[n>>2]&Pb)>>>(d[o>>0]|0))|0;Ha=(c[16112+((d[j>>0]|0)<<2)>>2]|0)+((c[k>>2]&Pb)>>>(d[l>>0]|0))|0;Pb=(c[16112+((d[p>>0]|0)<<2)>>2]|0)+((c[q>>2]&Pb)>>>(d[i>>0]|0))|0;f=24;break}default:{Da=0;Ea=0;Ga=0}}if((f|0)==24){Da=a[Pb>>0]|0;Ea=a[Fa>>0]|0;Ga=a[Ha>>0]|0}a[Sa>>0]=(Ea&255)>>>5<<2|Ga&-32&255|(Da&255)>>>6;La=Ca;_a=Ra+ec|0;$a=Sa+1|0;f=26;continue}else if((f|0)==26){f=0;switch(dc<<24>>24){case 1:{Qb=d[_a>>0]|0;Oa=(c[16112+((d[m>>0]|0)<<2)>>2]|0)+((c[n>>2]&Qb)>>>(d[o>>0]|0))|0;Qa=(c[16112+((d[j>>0]|0)<<2)>>2]|0)+((c[k>>2]&Qb)>>>(d[l>>0]|0))|0;Qb=(c[16112+((d[p>>0]|0)<<2)>>2]|0)+((c[q>>2]&Qb)>>>(d[i>>0]|0))|0;f=31;break}case 2:{Qb=e[_a>>1]|0;Oa=(c[16112+((d[m>>0]|0)<<2)>>2]|0)+((c[n>>2]&Qb)>>>(d[o>>0]|0))|0;Qa=(c[16112+((d[j>>0]|0)<<2)>>2]|0)+((c[k>>2]&Qb)>>>(d[l>>0]|0))|0;Qb=(c[16112+((d[p>>0]|0)<<2)>>2]|0)+((c[q>>2]&Qb)>>>(d[i>>0]|0))|0;f=31;break}case 3:{Oa=_a+((d[o>>0]|0)>>>3&255)|0;Qa=_a+((d[l>>0]|0)>>>3&255)|0;Qb=_a+((d[i>>0]|0)>>>3&255)|0;f=31;break}case 4:{Qb=c[_a>>2]|0;Oa=(c[16112+((d[m>>0]|0)<<2)>>2]|0)+((c[n>>2]&Qb)>>>(d[o>>0]|0))|0;Qa=(c[16112+((d[j>>0]|0)<<2)>>2]|0)+((c[k>>2]&Qb)>>>(d[l>>0]|0))|0;Qb=(c[16112+((d[p>>0]|0)<<2)>>2]|0)+((c[q>>2]&Qb)>>>(d[i>>0]|0))|0;f=31;break}default:{Ma=0;Na=0;Pa=0}}if((f|0)==31){Ma=a[Qb>>0]|0;Na=a[Oa>>0]|0;Pa=a[Qa>>0]|0}a[$a>>0]=(Na&255)>>>5<<2|Pa&-32&255|(Ma&255)>>>6;Ua=La;hb=_a+ec|0;ib=$a+1|0;f=33;continue}else if((f|0)==33){f=0;switch(dc<<24>>24){case 1:{Rb=d[hb>>0]|0;Xa=(c[16112+((d[m>>0]|0)<<2)>>2]|0)+((c[n>>2]&Rb)>>>(d[o>>0]|0))|0;Za=(c[16112+((d[j>>0]|0)<<2)>>2]|0)+((c[k>>2]&Rb)>>>(d[l>>0]|0))|0;Rb=(c[16112+((d[p>>0]|0)<<2)>>2]|0)+((c[q>>2]&Rb)>>>(d[i>>0]|0))|0;f=38;break}case 2:{Rb=e[hb>>1]|0;Xa=(c[16112+((d[m>>0]|0)<<2)>>2]|0)+((c[n>>2]&Rb)>>>(d[o>>0]|0))|0;Za=(c[16112+((d[j>>0]|0)<<2)>>2]|0)+((c[k>>2]&Rb)>>>(d[l>>0]|0))|0;Rb=(c[16112+((d[p>>0]|0)<<2)>>2]|0)+((c[q>>2]&Rb)>>>(d[i>>0]|0))|0;f=38;break}case 3:{Xa=hb+((d[o>>0]|0)>>>3&255)|0;Za=hb+((d[l>>0]|0)>>>3&255)|0;Rb=hb+((d[i>>0]|0)>>>3&255)|0;f=38;break}case 4:{Rb=c[hb>>2]|0;Xa=(c[16112+((d[m>>0]|0)<<2)>>2]|0)+((c[n>>2]&Rb)>>>(d[o>>0]|0))|0;Za=(c[16112+((d[j>>0]|0)<<2)>>2]|0)+((c[k>>2]&Rb)>>>(d[l>>0]|0))|0;Rb=(c[16112+((d[p>>0]|0)<<2)>>2]|0)+((c[q>>2]&Rb)>>>(d[i>>0]|0))|0;f=38;break}default:{Va=0;Wa=0;Ya=0}}if((f|0)==38){Va=a[Rb>>0]|0;Wa=a[Xa>>0]|0;Ya=a[Za>>0]|0}a[ib>>0]=(Wa&255)>>>5<<2|Ya&-32&255|(Va&255)>>>6;bb=Ua;qb=hb+ec|0;rb=ib+1|0;f=40;continue}else if((f|0)==40){f=0;switch(dc<<24>>24){case 1:{Sb=d[qb>>0]|0;eb=(c[16112+((d[m>>0]|0)<<2)>>2]|0)+((c[n>>2]&Sb)>>>(d[o>>0]|0))|0;gb=(c[16112+((d[j>>0]|0)<<2)>>2]|0)+((c[k>>2]&Sb)>>>(d[l>>0]|0))|0;Sb=(c[16112+((d[p>>0]|0)<<2)>>2]|0)+((c[q>>2]&Sb)>>>(d[i>>0]|0))|0;f=45;break}case 2:{Sb=e[qb>>1]|0;eb=(c[16112+((d[m>>0]|0)<<2)>>2]|0)+((c[n>>2]&Sb)>>>(d[o>>0]|0))|0;gb=(c[16112+((d[j>>0]|0)<<2)>>2]|0)+((c[k>>2]&Sb)>>>(d[l>>0]|0))|0;Sb=(c[16112+((d[p>>0]|0)<<2)>>2]|0)+((c[q>>2]&Sb)>>>(d[i>>0]|0))|0;f=45;break}case 3:{eb=qb+((d[o>>0]|0)>>>3&255)|0;gb=qb+((d[l>>0]|0)>>>3&255)|0;Sb=qb+((d[i>>0]|0)>>>3&255)|0;f=45;break}case 4:{Sb=c[qb>>2]|0;eb=(c[16112+((d[m>>0]|0)<<2)>>2]|0)+((c[n>>2]&Sb)>>>(d[o>>0]|0))|0;gb=(c[16112+((d[j>>0]|0)<<2)>>2]|0)+((c[k>>2]&Sb)>>>(d[l>>0]|0))|0;Sb=(c[16112+((d[p>>0]|0)<<2)>>2]|0)+((c[q>>2]&Sb)>>>(d[i>>0]|0))|0;f=45;break}default:{cb=0;db=0;fb=0}}if((f|0)==45){cb=a[Sb>>0]|0;db=a[eb>>0]|0;fb=a[gb>>0]|0}a[rb>>0]=(db&255)>>>5<<2|fb&-32&255|(cb&255)>>>6;kb=bb;zb=qb+ec|0;Ab=rb+1|0;f=47;continue}else if((f|0)==47){f=0;switch(dc<<24>>24){case 1:{Tb=d[zb>>0]|0;nb=(c[16112+((d[m>>0]|0)<<2)>>2]|0)+((c[n>>2]&Tb)>>>(d[o>>0]|0))|0;pb=(c[16112+((d[j>>0]|0)<<2)>>2]|0)+((c[k>>2]&Tb)>>>(d[l>>0]|0))|0;Tb=(c[16112+((d[p>>0]|0)<<2)>>2]|0)+((c[q>>2]&Tb)>>>(d[i>>0]|0))|0;f=52;break}case 2:{Tb=e[zb>>1]|0;nb=(c[16112+((d[m>>0]|0)<<2)>>2]|0)+((c[n>>2]&Tb)>>>(d[o>>0]|0))|0;pb=(c[16112+((d[j>>0]|0)<<2)>>2]|0)+((c[k>>2]&Tb)>>>(d[l>>0]|0))|0;Tb=(c[16112+((d[p>>0]|0)<<2)>>2]|0)+((c[q>>2]&Tb)>>>(d[i>>0]|0))|0;f=52;break}case 3:{nb=zb+((d[o>>0]|0)>>>3&255)|0;pb=zb+((d[l>>0]|0)>>>3&255)|0;Tb=zb+((d[i>>0]|0)>>>3&255)|0;f=52;break}case 4:{Tb=c[zb>>2]|0;nb=(c[16112+((d[m>>0]|0)<<2)>>2]|0)+((c[n>>2]&Tb)>>>(d[o>>0]|0))|0;pb=(c[16112+((d[j>>0]|0)<<2)>>2]|0)+((c[k>>2]&Tb)>>>(d[l>>0]|0))|0;Tb=(c[16112+((d[p>>0]|0)<<2)>>2]|0)+((c[q>>2]&Tb)>>>(d[i>>0]|0))|0;f=52;break}default:{lb=0;mb=0;ob=0}}if((f|0)==52){lb=a[Tb>>0]|0;mb=a[nb>>0]|0;ob=a[pb>>0]|0}a[Ab>>0]=(mb&255)>>>5<<2|ob&-32&255|(lb&255)>>>6;tb=kb;Gb=zb+ec|0;Hb=Ab+1|0;f=54;continue}else if((f|0)==54){f=0;switch(dc<<24>>24){case 1:{Ub=d[Gb>>0]|0;wb=(c[16112+((d[m>>0]|0)<<2)>>2]|0)+((c[n>>2]&Ub)>>>(d[o>>0]|0))|0;yb=(c[16112+((d[j>>0]|0)<<2)>>2]|0)+((c[k>>2]&Ub)>>>(d[l>>0]|0))|0;Ub=(c[16112+((d[p>>0]|0)<<2)>>2]|0)+((c[q>>2]&Ub)>>>(d[i>>0]|0))|0;f=59;break}case 2:{Ub=e[Gb>>1]|0;wb=(c[16112+((d[m>>0]|0)<<2)>>2]|0)+((c[n>>2]&Ub)>>>(d[o>>0]|0))|0;yb=(c[16112+((d[j>>0]|0)<<2)>>2]|0)+((c[k>>2]&Ub)>>>(d[l>>0]|0))|0;Ub=(c[16112+((d[p>>0]|0)<<2)>>2]|0)+((c[q>>2]&Ub)>>>(d[i>>0]|0))|0;f=59;break}case 3:{wb=Gb+((d[o>>0]|0)>>>3&255)|0;yb=Gb+((d[l>>0]|0)>>>3&255)|0;Ub=Gb+((d[i>>0]|0)>>>3&255)|0;f=59;break}case 4:{Ub=c[Gb>>2]|0;wb=(c[16112+((d[m>>0]|0)<<2)>>2]|0)+((c[n>>2]&Ub)>>>(d[o>>0]|0))|0;yb=(c[16112+((d[j>>0]|0)<<2)>>2]|0)+((c[k>>2]&Ub)>>>(d[l>>0]|0))|0;Ub=(c[16112+((d[p>>0]|0)<<2)>>2]|0)+((c[q>>2]&Ub)>>>(d[i>>0]|0))|0;f=59;break}default:{ub=0;vb=0;xb=0}}if((f|0)==59){ub=a[Ub>>0]|0;vb=a[wb>>0]|0;xb=a[yb>>0]|0}a[Hb>>0]=(vb&255)>>>5<<2|xb&-32&255|(ub&255)>>>6;b=Hb+1|0;f=Gb+ec|0;if((tb|0)>1){u=tb+-1|0;za=f;Aa=b;f=5;continue}else break}if(!h){f=124;break}else{g=f+gc|0;f=b+fc|0;h=h+-1|0}}if((f|0)!=61)if((f|0)==124)return}else{if(b)return;s=(i+7|0)/8|0;r=i&255;j=cc+28|0;k=cc+12|0;l=cc+32|0;m=cc+29|0;n=cc+16|0;o=cc+33|0;p=cc+30|0;q=cc+20|0;i=cc+34|0;b:while(1){switch(r&7){case 0:{t=s;G=g;H=f;f=66;break}case 7:{A=s;N=g;O=f;f=73;break}case 6:{U=g;V=f;Ba=s;f=80;break}case 5:{$=g;aa=f;Ka=s;f=87;break}case 4:{ga=g;ha=f;Ta=s;f=94;break}case 3:{na=g;oa=f;ab=s;f=101;break}case 2:{pa=g;qa=f;jb=s;f=108;break}case 1:{ra=g;sa=f;sb=s;f=115;break}default:{f=122;break b}}while(1)if((f|0)==66){f=0;switch(dc<<24>>24){case 1:{Vb=d[G>>0]|0;Db=(c[16112+((d[m>>0]|0)<<2)>>2]|0)+((c[n>>2]&Vb)>>>(d[o>>0]|0))|0;Fb=(c[16112+((d[j>>0]|0)<<2)>>2]|0)+((c[k>>2]&Vb)>>>(d[l>>0]|0))|0;Vb=(c[16112+((d[p>>0]|0)<<2)>>2]|0)+((c[q>>2]&Vb)>>>(d[i>>0]|0))|0;f=71;break}case 2:{Vb=e[G>>1]|0;Db=(c[16112+((d[m>>0]|0)<<2)>>2]|0)+((c[n>>2]&Vb)>>>(d[o>>0]|0))|0;Fb=(c[16112+((d[j>>0]|0)<<2)>>2]|0)+((c[k>>2]&Vb)>>>(d[l>>0]|0))|0;Vb=(c[16112+((d[p>>0]|0)<<2)>>2]|0)+((c[q>>2]&Vb)>>>(d[i>>0]|0))|0;f=71;break}case 3:{Db=G+((d[o>>0]|0)>>>3&255)|0;Fb=G+((d[l>>0]|0)>>>3&255)|0;Vb=G+((d[i>>0]|0)>>>3&255)|0;f=71;break}case 4:{Vb=c[G>>2]|0;Db=(c[16112+((d[m>>0]|0)<<2)>>2]|0)+((c[n>>2]&Vb)>>>(d[o>>0]|0))|0;Fb=(c[16112+((d[j>>0]|0)<<2)>>2]|0)+((c[k>>2]&Vb)>>>(d[l>>0]|0))|0;Vb=(c[16112+((d[p>>0]|0)<<2)>>2]|0)+((c[q>>2]&Vb)>>>(d[i>>0]|0))|0;f=71;break}default:{Bb=0;Cb=0;Eb=0}}if((f|0)==71){Bb=a[Vb>>0]|0;Cb=a[Db>>0]|0;Eb=a[Fb>>0]|0}a[H>>0]=a[bc+((Cb&255)>>>5<<2|Eb&-32&255|(Bb&255)>>>6)>>0]|0;A=t;N=G+ec|0;O=H+1|0;f=73;continue}else if((f|0)==73){f=0;switch(dc<<24>>24){case 1:{Wb=d[N>>0]|0;Kb=(c[16112+((d[m>>0]|0)<<2)>>2]|0)+((c[n>>2]&Wb)>>>(d[o>>0]|0))|0;Mb=(c[16112+((d[j>>0]|0)<<2)>>2]|0)+((c[k>>2]&Wb)>>>(d[l>>0]|0))|0;Wb=(c[16112+((d[p>>0]|0)<<2)>>2]|0)+((c[q>>2]&Wb)>>>(d[i>>0]|0))|0;f=78;break}case 2:{Wb=e[N>>1]|0;Kb=(c[16112+((d[m>>0]|0)<<2)>>2]|0)+((c[n>>2]&Wb)>>>(d[o>>0]|0))|0;Mb=(c[16112+((d[j>>0]|0)<<2)>>2]|0)+((c[k>>2]&Wb)>>>(d[l>>0]|0))|0;Wb=(c[16112+((d[p>>0]|0)<<2)>>2]|0)+((c[q>>2]&Wb)>>>(d[i>>0]|0))|0;f=78;break}case 3:{Kb=N+((d[o>>0]|0)>>>3&255)|0;Mb=N+((d[l>>0]|0)>>>3&255)|0;Wb=N+((d[i>>0]|0)>>>3&255)|0;f=78;break}case 4:{Wb=c[N>>2]|0;Kb=(c[16112+((d[m>>0]|0)<<2)>>2]|0)+((c[n>>2]&Wb)>>>(d[o>>0]|0))|0;Mb=(c[16112+((d[j>>0]|0)<<2)>>2]|0)+((c[k>>2]&Wb)>>>(d[l>>0]|0))|0;Wb=(c[16112+((d[p>>0]|0)<<2)>>2]|0)+((c[q>>2]&Wb)>>>(d[i>>0]|0))|0;f=78;break}default:{Ib=0;Jb=0;Lb=0}}if((f|0)==78){Ib=a[Wb>>0]|0;Jb=a[Kb>>0]|0;Lb=a[Mb>>0]|0}a[O>>0]=a[bc+((Jb&255)>>>5<<2|Lb&-32&255|(Ib&255)>>>6)>>0]|0;U=N+ec|0;V=O+1|0;Ba=A;f=80;continue}else if((f|0)==80){f=0;switch(dc<<24>>24){case 1:{Xb=d[U>>0]|0;D=(c[16112+((d[m>>0]|0)<<2)>>2]|0)+((c[n>>2]&Xb)>>>(d[o>>0]|0))|0;F=(c[16112+((d[j>>0]|0)<<2)>>2]|0)+((c[k>>2]&Xb)>>>(d[l>>0]|0))|0;Xb=(c[16112+((d[p>>0]|0)<<2)>>2]|0)+((c[q>>2]&Xb)>>>(d[i>>0]|0))|0;f=85;break}case 2:{Xb=e[U>>1]|0;D=(c[16112+((d[m>>0]|0)<<2)>>2]|0)+((c[n>>2]&Xb)>>>(d[o>>0]|0))|0;F=(c[16112+((d[j>>0]|0)<<2)>>2]|0)+((c[k>>2]&Xb)>>>(d[l>>0]|0))|0;Xb=(c[16112+((d[p>>0]|0)<<2)>>2]|0)+((c[q>>2]&Xb)>>>(d[i>>0]|0))|0;f=85;break}case 3:{D=U+((d[o>>0]|0)>>>3&255)|0;F=U+((d[l>>0]|0)>>>3&255)|0;Xb=U+((d[i>>0]|0)>>>3&255)|0;f=85;break}case 4:{Xb=c[U>>2]|0;D=(c[16112+((d[m>>0]|0)<<2)>>2]|0)+((c[n>>2]&Xb)>>>(d[o>>0]|0))|0;F=(c[16112+((d[j>>0]|0)<<2)>>2]|0)+((c[k>>2]&Xb)>>>(d[l>>0]|0))|0;Xb=(c[16112+((d[p>>0]|0)<<2)>>2]|0)+((c[q>>2]&Xb)>>>(d[i>>0]|0))|0;f=85;break}default:{B=0;C=0;E=0}}if((f|0)==85){B=a[Xb>>0]|0;C=a[D>>0]|0;E=a[F>>0]|0}a[V>>0]=a[bc+((C&255)>>>5<<2|E&-32&255|(B&255)>>>6)>>0]|0;$=U+ec|0;aa=V+1|0;Ka=Ba;f=87;continue}else if((f|0)==87){f=0;switch(dc<<24>>24){case 1:{Yb=d[$>>0]|0;K=(c[16112+((d[m>>0]|0)<<2)>>2]|0)+((c[n>>2]&Yb)>>>(d[o>>0]|0))|0;M=(c[16112+((d[j>>0]|0)<<2)>>2]|0)+((c[k>>2]&Yb)>>>(d[l>>0]|0))|0;Yb=(c[16112+((d[p>>0]|0)<<2)>>2]|0)+((c[q>>2]&Yb)>>>(d[i>>0]|0))|0;f=92;break}case 2:{Yb=e[$>>1]|0;K=(c[16112+((d[m>>0]|0)<<2)>>2]|0)+((c[n>>2]&Yb)>>>(d[o>>0]|0))|0;M=(c[16112+((d[j>>0]|0)<<2)>>2]|0)+((c[k>>2]&Yb)>>>(d[l>>0]|0))|0;Yb=(c[16112+((d[p>>0]|0)<<2)>>2]|0)+((c[q>>2]&Yb)>>>(d[i>>0]|0))|0;f=92;break}case 3:{K=$+((d[o>>0]|0)>>>3&255)|0;M=$+((d[l>>0]|0)>>>3&255)|0;Yb=$+((d[i>>0]|0)>>>3&255)|0;f=92;break}case 4:{Yb=c[$>>2]|0;K=(c[16112+((d[m>>0]|0)<<2)>>2]|0)+((c[n>>2]&Yb)>>>(d[o>>0]|0))|0;M=(c[16112+((d[j>>0]|0)<<2)>>2]|0)+((c[k>>2]&Yb)>>>(d[l>>0]|0))|0;Yb=(c[16112+((d[p>>0]|0)<<2)>>2]|0)+((c[q>>2]&Yb)>>>(d[i>>0]|0))|0;f=92;break}default:{I=0;J=0;L=0}}if((f|0)==92){I=a[Yb>>0]|0;J=a[K>>0]|0;L=a[M>>0]|0}a[aa>>0]=a[bc+((J&255)>>>5<<2|L&-32&255|(I&255)>>>6)>>0]|0;ga=$+ec|0;ha=aa+1|0;Ta=Ka;f=94;continue}else if((f|0)==94){f=0;switch(dc<<24>>24){case 1:{Zb=d[ga>>0]|0;R=(c[16112+((d[m>>0]|0)<<2)>>2]|0)+((c[n>>2]&Zb)>>>(d[o>>0]|0))|0;T=(c[16112+((d[j>>0]|0)<<2)>>2]|0)+((c[k>>2]&Zb)>>>(d[l>>0]|0))|0;Zb=(c[16112+((d[p>>0]|0)<<2)>>2]|0)+((c[q>>2]&Zb)>>>(d[i>>0]|0))|0;f=99;break}case 2:{Zb=e[ga>>1]|0;R=(c[16112+((d[m>>0]|0)<<2)>>2]|0)+((c[n>>2]&Zb)>>>(d[o>>0]|0))|0;T=(c[16112+((d[j>>0]|0)<<2)>>2]|0)+((c[k>>2]&Zb)>>>(d[l>>0]|0))|0;Zb=(c[16112+((d[p>>0]|0)<<2)>>2]|0)+((c[q>>2]&Zb)>>>(d[i>>0]|0))|0;f=99;break}case 3:{R=ga+((d[o>>0]|0)>>>3&255)|0;T=ga+((d[l>>0]|0)>>>3&255)|0;Zb=ga+((d[i>>0]|0)>>>3&255)|0;f=99;break}case 4:{Zb=c[ga>>2]|0;R=(c[16112+((d[m>>0]|0)<<2)>>2]|0)+((c[n>>2]&Zb)>>>(d[o>>0]|0))|0;T=(c[16112+((d[j>>0]|0)<<2)>>2]|0)+((c[k>>2]&Zb)>>>(d[l>>0]|0))|0;Zb=(c[16112+((d[p>>0]|0)<<2)>>2]|0)+((c[q>>2]&Zb)>>>(d[i>>0]|0))|0;f=99;break}default:{P=0;Q=0;S=0}}if((f|0)==99){P=a[Zb>>0]|0;Q=a[R>>0]|0;S=a[T>>0]|0}a[ha>>0]=a[bc+((Q&255)>>>5<<2|S&-32&255|(P&255)>>>6)>>0]|0;na=ga+ec|0;oa=ha+1|0;ab=Ta;f=101;continue}else if((f|0)==101){f=0;switch(dc<<24>>24){case 1:{_b=d[na>>0]|0;Y=(c[16112+((d[m>>0]|0)<<2)>>2]|0)+((c[n>>2]&_b)>>>(d[o>>0]|0))|0;_=(c[16112+((d[j>>0]|0)<<2)>>2]|0)+((c[k>>2]&_b)>>>(d[l>>0]|0))|0;_b=(c[16112+((d[p>>0]|0)<<2)>>2]|0)+((c[q>>2]&_b)>>>(d[i>>0]|0))|0;f=106;break}case 2:{_b=e[na>>1]|0;Y=(c[16112+((d[m>>0]|0)<<2)>>2]|0)+((c[n>>2]&_b)>>>(d[o>>0]|0))|0;_=(c[16112+((d[j>>0]|0)<<2)>>2]|0)+((c[k>>2]&_b)>>>(d[l>>0]|0))|0;_b=(c[16112+((d[p>>0]|0)<<2)>>2]|0)+((c[q>>2]&_b)>>>(d[i>>0]|0))|0;f=106;break}case 3:{Y=na+((d[o>>0]|0)>>>3&255)|0;_=na+((d[l>>0]|0)>>>3&255)|0;_b=na+((d[i>>0]|0)>>>3&255)|0;f=106;break}case 4:{_b=c[na>>2]|0;Y=(c[16112+((d[m>>0]|0)<<2)>>2]|0)+((c[n>>2]&_b)>>>(d[o>>0]|0))|0;_=(c[16112+((d[j>>0]|0)<<2)>>2]|0)+((c[k>>2]&_b)>>>(d[l>>0]|0))|0;_b=(c[16112+((d[p>>0]|0)<<2)>>2]|0)+((c[q>>2]&_b)>>>(d[i>>0]|0))|0;f=106;break}default:{W=0;X=0;Z=0}}if((f|0)==106){W=a[_b>>0]|0;X=a[Y>>0]|0;Z=a[_>>0]|0}a[oa>>0]=a[bc+((X&255)>>>5<<2|Z&-32&255|(W&255)>>>6)>>0]|0;pa=na+ec|0;qa=oa+1|0;jb=ab;f=108;continue}else if((f|0)==108){f=0;switch(dc<<24>>24){case 1:{$b=d[pa>>0]|0;da=(c[16112+((d[m>>0]|0)<<2)>>2]|0)+((c[n>>2]&$b)>>>(d[o>>0]|0))|0;fa=(c[16112+((d[j>>0]|0)<<2)>>2]|0)+((c[k>>2]&$b)>>>(d[l>>0]|0))|0;$b=(c[16112+((d[p>>0]|0)<<2)>>2]|0)+((c[q>>2]&$b)>>>(d[i>>0]|0))|0;f=113;break}case 2:{$b=e[pa>>1]|0;da=(c[16112+((d[m>>0]|0)<<2)>>2]|0)+((c[n>>2]&$b)>>>(d[o>>0]|0))|0;fa=(c[16112+((d[j>>0]|0)<<2)>>2]|0)+((c[k>>2]&$b)>>>(d[l>>0]|0))|0;$b=(c[16112+((d[p>>0]|0)<<2)>>2]|0)+((c[q>>2]&$b)>>>(d[i>>0]|0))|0;f=113;break}case 3:{da=pa+((d[o>>0]|0)>>>3&255)|0;fa=pa+((d[l>>0]|0)>>>3&255)|0;$b=pa+((d[i>>0]|0)>>>3&255)|0;f=113;break}case 4:{$b=c[pa>>2]|0;da=(c[16112+((d[m>>0]|0)<<2)>>2]|0)+((c[n>>2]&$b)>>>(d[o>>0]|0))|0;fa=(c[16112+((d[j>>0]|0)<<2)>>2]|0)+((c[k>>2]&$b)>>>(d[l>>0]|0))|0;$b=(c[16112+((d[p>>0]|0)<<2)>>2]|0)+((c[q>>2]&$b)>>>(d[i>>0]|0))|0;f=113;break}default:{ba=0;ca=0;ea=0}}if((f|0)==113){ba=a[$b>>0]|0;ca=a[da>>0]|0;ea=a[fa>>0]|0}a[qa>>0]=a[bc+((ca&255)>>>5<<2|ea&-32&255|(ba&255)>>>6)>>0]|0;ra=pa+ec|0;sa=qa+1|0;sb=jb;f=115;continue}else if((f|0)==115){f=0;switch(dc<<24>>24){case 1:{ac=d[ra>>0]|0;ka=(c[16112+((d[m>>0]|0)<<2)>>2]|0)+((c[n>>2]&ac)>>>(d[o>>0]|0))|0;ma=(c[16112+((d[j>>0]|0)<<2)>>2]|0)+((c[k>>2]&ac)>>>(d[l>>0]|0))|0;ac=(c[16112+((d[p>>0]|0)<<2)>>2]|0)+((c[q>>2]&ac)>>>(d[i>>0]|0))|0;f=120;break}case 2:{ac=e[ra>>1]|0;ka=(c[16112+((d[m>>0]|0)<<2)>>2]|0)+((c[n>>2]&ac)>>>(d[o>>0]|0))|0;ma=(c[16112+((d[j>>0]|0)<<2)>>2]|0)+((c[k>>2]&ac)>>>(d[l>>0]|0))|0;ac=(c[16112+((d[p>>0]|0)<<2)>>2]|0)+((c[q>>2]&ac)>>>(d[i>>0]|0))|0;f=120;break}case 3:{ka=ra+((d[o>>0]|0)>>>3&255)|0;ma=ra+((d[l>>0]|0)>>>3&255)|0;ac=ra+((d[i>>0]|0)>>>3&255)|0;f=120;break}case 4:{ac=c[ra>>2]|0;ka=(c[16112+((d[m>>0]|0)<<2)>>2]|0)+((c[n>>2]&ac)>>>(d[o>>0]|0))|0;ma=(c[16112+((d[j>>0]|0)<<2)>>2]|0)+((c[k>>2]&ac)>>>(d[l>>0]|0))|0;ac=(c[16112+((d[p>>0]|0)<<2)>>2]|0)+((c[q>>2]&ac)>>>(d[i>>0]|0))|0;f=120;break}default:{ia=0;ja=0;la=0}}if((f|0)==120){ia=a[ac>>0]|0;ja=a[ka>>0]|0;la=a[ma>>0]|0}a[sa>>0]=a[bc+((ja&255)>>>5<<2|la&-32&255|(ia&255)>>>6)>>0]|0;b=sa+1|0;f=ra+ec|0;if((sb|0)>1){t=sb+-1|0;G=f;H=b;f=66;continue}else break}if(!h){f=124;break}else{g=f+gc|0;f=b+fc|0;h=h+-1|0}}if((f|0)!=122)if((f|0)==124)return}}function qEa(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0;i=c[b+24>>2]|0;f=c[b+28>>2]|0;e=c[b>>2]|0;Y=(c[b+16>>2]|0)/4|0;d=c[b+20>>2]|0;X=c[b+36>>2]|0;y=c[b+48>>2]|0;b=f+-1|0;f=(f|0)==0;if(!y){if(f)return;g=(i+7|0)/8|0;f=i&255;a:while(1){switch(f&7){case 0:{h=g;k=d;d=5;break}case 7:{j=g;m=d;d=6;break}case 6:{l=g;o=d;d=7;break}case 5:{n=g;q=d;d=8;break}case 4:{p=g;s=d;d=9;break}case 3:{r=g;u=d;d=10;break}case 2:{t=g;w=d;d=11;break}case 1:{v=g;x=d;d=12;break}default:{d=13;break a}}while(1)if((d|0)==5){j=c[e>>2]|0;a[k>>0]=j>>>16&224|j>>>11&28|j>>>6&3;j=h;m=k+1|0;d=6;continue}else if((d|0)==6){l=c[e>>2]|0;a[m>>0]=l>>>16&224|l>>>11&28|l>>>6&3;l=j;o=m+1|0;d=7;continue}else if((d|0)==7){n=c[e>>2]|0;a[o>>0]=n>>>16&224|n>>>11&28|n>>>6&3;n=l;q=o+1|0;d=8;continue}else if((d|0)==8){p=c[e>>2]|0;a[q>>0]=p>>>16&224|p>>>11&28|p>>>6&3;p=n;s=q+1|0;d=9;continue}else if((d|0)==9){r=c[e>>2]|0;a[s>>0]=r>>>16&224|r>>>11&28|r>>>6&3;r=p;u=s+1|0;d=10;continue}else if((d|0)==10){t=c[e>>2]|0;a[u>>0]=t>>>16&224|t>>>11&28|t>>>6&3;t=r;w=u+1|0;d=11;continue}else if((d|0)==11){v=c[e>>2]|0;a[w>>0]=v>>>16&224|v>>>11&28|v>>>6&3;v=t;x=w+1|0;d=12;continue}else if((d|0)==12){W=c[e>>2]|0;d=x+1|0;a[x>>0]=W>>>16&224|W>>>11&28|W>>>6&3;if((v|0)>1){h=v+-1|0;k=d;d=5;continue}else break}if(!b){d=28;break}else{e=e+(Y<<2)|0;d=d+X|0;b=b+-1|0}}if((d|0)!=13)if((d|0)==28)return}else{if(f)return;h=(i+7|0)/8|0;g=i&255;b:while(1){switch(g&7){case 0:{z=h;B=d;K=e;d=18;break}case 7:{A=h;C=d;M=e;d=19;break}case 6:{D=d;J=h;O=e;d=20;break}case 5:{E=d;L=h;Q=e;d=21;break}case 4:{F=d;N=h;S=e;d=22;break}case 3:{G=d;P=h;U=e;d=23;break}case 2:{H=d;R=h;V=e;d=24;break}case 1:{I=d;T=h;W=e;d=25;break}default:{d=26;break b}}while(1)if((d|0)==18){A=c[K>>2]|0;a[B>>0]=a[y+(A>>>16&224|A>>>11&28|A>>>6&3)>>0]|0;A=z;C=B+1|0;M=K+4|0;d=19;continue}else if((d|0)==19){D=c[M>>2]|0;a[C>>0]=a[y+(D>>>16&224|D>>>11&28|D>>>6&3)>>0]|0;D=C+1|0;J=A;O=M+4|0;d=20;continue}else if((d|0)==20){E=c[O>>2]|0;a[D>>0]=a[y+(E>>>16&224|E>>>11&28|E>>>6&3)>>0]|0;E=D+1|0;L=J;Q=O+4|0;d=21;continue}else if((d|0)==21){F=c[Q>>2]|0;a[E>>0]=a[y+(F>>>16&224|F>>>11&28|F>>>6&3)>>0]|0;F=E+1|0;N=L;S=Q+4|0;d=22;continue}else if((d|0)==22){G=c[S>>2]|0;a[F>>0]=a[y+(G>>>16&224|G>>>11&28|G>>>6&3)>>0]|0;G=F+1|0;P=N;U=S+4|0;d=23;continue}else if((d|0)==23){H=c[U>>2]|0;a[G>>0]=a[y+(H>>>16&224|H>>>11&28|H>>>6&3)>>0]|0;H=G+1|0;R=P;V=U+4|0;d=24;continue}else if((d|0)==24){I=c[V>>2]|0;a[H>>0]=a[y+(I>>>16&224|I>>>11&28|I>>>6&3)>>0]|0;I=H+1|0;T=R;W=V+4|0;d=25;continue}else if((d|0)==25){d=c[W>>2]|0;f=I+1|0;a[I>>0]=a[y+(d>>>16&224|d>>>11&28|d>>>6&3)>>0]|0;d=W+4|0;if((T|0)>1){z=T+-1|0;B=f;K=d;d=18;continue}else break}if(!b){d=28;break}else{e=d+(Y<<2)|0;d=f+X|0;b=b+-1|0}}if((d|0)!=26)if((d|0)==28)return}}function rEa(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0;i=c[b+24>>2]|0;f=c[b+28>>2]|0;e=c[b>>2]|0;Y=(c[b+16>>2]|0)/4|0;d=c[b+20>>2]|0;X=c[b+36>>2]|0;y=c[b+48>>2]|0;b=f+-1|0;f=(f|0)==0;if(!y){if(f)return;g=(i+7|0)/8|0;f=i&255;a:while(1){switch(f&7){case 0:{h=g;k=d;d=5;break}case 7:{j=g;m=d;d=6;break}case 6:{l=g;o=d;d=7;break}case 5:{n=g;q=d;d=8;break}case 4:{p=g;s=d;d=9;break}case 3:{r=g;u=d;d=10;break}case 2:{t=g;w=d;d=11;break}case 1:{v=g;x=d;d=12;break}default:{d=13;break a}}while(1)if((d|0)==5){j=c[e>>2]|0;a[k>>0]=j>>>22&224|j>>>15&28|j>>>8&3;j=h;m=k+1|0;d=6;continue}else if((d|0)==6){l=c[e>>2]|0;a[m>>0]=l>>>22&224|l>>>15&28|l>>>8&3;l=j;o=m+1|0;d=7;continue}else if((d|0)==7){n=c[e>>2]|0;a[o>>0]=n>>>22&224|n>>>15&28|n>>>8&3;n=l;q=o+1|0;d=8;continue}else if((d|0)==8){p=c[e>>2]|0;a[q>>0]=p>>>22&224|p>>>15&28|p>>>8&3;p=n;s=q+1|0;d=9;continue}else if((d|0)==9){r=c[e>>2]|0;a[s>>0]=r>>>22&224|r>>>15&28|r>>>8&3;r=p;u=s+1|0;d=10;continue}else if((d|0)==10){t=c[e>>2]|0;a[u>>0]=t>>>22&224|t>>>15&28|t>>>8&3;t=r;w=u+1|0;d=11;continue}else if((d|0)==11){v=c[e>>2]|0;a[w>>0]=v>>>22&224|v>>>15&28|v>>>8&3;v=t;x=w+1|0;d=12;continue}else if((d|0)==12){W=c[e>>2]|0;d=x+1|0;a[x>>0]=W>>>22&224|W>>>15&28|W>>>8&3;if((v|0)>1){h=v+-1|0;k=d;d=5;continue}else break}if(!b){d=28;break}else{e=e+(Y<<2)|0;d=d+X|0;b=b+-1|0}}if((d|0)!=13)if((d|0)==28)return}else{if(f)return;h=(i+7|0)/8|0;g=i&255;b:while(1){switch(g&7){case 0:{z=h;B=d;K=e;d=18;break}case 7:{A=h;C=d;M=e;d=19;break}case 6:{D=d;J=h;O=e;d=20;break}case 5:{E=d;L=h;Q=e;d=21;break}case 4:{F=d;N=h;S=e;d=22;break}case 3:{G=d;P=h;U=e;d=23;break}case 2:{H=d;R=h;V=e;d=24;break}case 1:{I=d;T=h;W=e;d=25;break}default:{d=26;break b}}while(1)if((d|0)==18){A=c[K>>2]|0;a[B>>0]=a[y+(A>>>22&224|A>>>15&28|A>>>8&3)>>0]|0;A=z;C=B+1|0;M=K+4|0;d=19;continue}else if((d|0)==19){D=c[M>>2]|0;a[C>>0]=a[y+(D>>>22&224|D>>>15&28|D>>>8&3)>>0]|0;D=C+1|0;J=A;O=M+4|0;d=20;continue}else if((d|0)==20){E=c[O>>2]|0;a[D>>0]=a[y+(E>>>22&224|E>>>15&28|E>>>8&3)>>0]|0;E=D+1|0;L=J;Q=O+4|0;d=21;continue}else if((d|0)==21){F=c[Q>>2]|0;a[E>>0]=a[y+(F>>>22&224|F>>>15&28|F>>>8&3)>>0]|0;F=E+1|0;N=L;S=Q+4|0;d=22;continue}else if((d|0)==22){G=c[S>>2]|0;a[F>>0]=a[y+(G>>>22&224|G>>>15&28|G>>>8&3)>>0]|0;G=F+1|0;P=N;U=S+4|0;d=23;continue}else if((d|0)==23){H=c[U>>2]|0;a[G>>0]=a[y+(H>>>22&224|H>>>15&28|H>>>8&3)>>0]|0;H=G+1|0;R=P;V=U+4|0;d=24;continue}else if((d|0)==24){I=c[V>>2]|0;a[H>>0]=a[y+(I>>>22&224|I>>>15&28|I>>>8&3)>>0]|0;I=H+1|0;T=R;W=V+4|0;d=25;continue}else if((d|0)==25){d=c[W>>2]|0;f=I+1|0;a[I>>0]=a[y+(d>>>22&224|d>>>15&28|d>>>8&3)>>0]|0;d=W+4|0;if((T|0)>1){z=T+-1|0;B=f;K=d;d=18;continue}else break}if(!b){d=28;break}else{e=d+(Y<<2)|0;d=f+X|0;b=b+-1|0}}if((d|0)!=26)if((d|0)==28)return}}function sEa(e){e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;f=c[e+24>>2]|0;h=c[e+28>>2]|0;B=c[e+16>>2]|0;C=c[e+36>>2]|0;g=c[e+44>>2]|0;y=a[g+9>>0]|0;z=y&255;if(!h)return;A=(f+7|0)/8|0;x=f&255;q=g+28|0;r=g+32|0;s=g+29|0;t=g+33|0;u=g+30|0;v=g+34|0;w=g+31|0;p=g+35|0;f=c[e>>2]|0;g=c[e+20>>2]|0;a:while(1){h=h+-1|0;switch(x&7){case 0:{o=A;e=4;break}case 7:{o=A;e=10;break}case 6:{o=A;e=16;break}case 5:{o=A;e=22;break}case 4:{o=A;e=28;break}case 3:{o=A;e=34;break}case 2:{o=A;e=40;break}case 1:{o=A;e=46;break}default:{e=52;break a}}while(1)if((e|0)==4){n=c[f>>2]|0;e=n>>>22;i=e&255;j=n>>>12;k=j&255;l=n>>>2;m=l&255;n=d[193352+(n>>>30)>>0]|0;switch(y<<24>>24){case 1:{a[g>>0]=k>>>(d[s>>0]|0)<<(d[t>>0]|0)|i>>>(d[q>>0]|0)<<(d[r>>0]|0)|m>>>(d[u>>0]|0)<<(d[v>>0]|0)|n>>>(d[w>>0]|0)<<(d[p>>0]|0);break}case 2:{b[g>>1]=k>>>(d[s>>0]|0)<<(d[t>>0]|0)|i>>>(d[q>>0]|0)<<(d[r>>0]|0)|m>>>(d[u>>0]|0)<<(d[v>>0]|0)|n>>>(d[w>>0]|0)<<(d[p>>0]|0);break}case 3:{a[g+((d[r>>0]|0)>>>3&255)>>0]=e;a[g+((d[t>>0]|0)>>>3&255)>>0]=j;a[g+((d[v>>0]|0)>>>3&255)>>0]=l;break}case 4:{c[g>>2]=k>>>(d[s>>0]|0)<<(d[t>>0]|0)|i>>>(d[q>>0]|0)<<(d[r>>0]|0)|m>>>(d[u>>0]|0)<<(d[v>>0]|0)|n>>>(d[w>>0]|0)<<(d[p>>0]|0);break}default:{}}f=f+4|0;g=g+z|0;e=10;continue}else if((e|0)==10){n=c[f>>2]|0;e=n>>>22;i=e&255;j=n>>>12;k=j&255;l=n>>>2;m=l&255;n=d[193352+(n>>>30)>>0]|0;switch(y<<24>>24){case 1:{a[g>>0]=k>>>(d[s>>0]|0)<<(d[t>>0]|0)|i>>>(d[q>>0]|0)<<(d[r>>0]|0)|m>>>(d[u>>0]|0)<<(d[v>>0]|0)|n>>>(d[w>>0]|0)<<(d[p>>0]|0);break}case 2:{b[g>>1]=k>>>(d[s>>0]|0)<<(d[t>>0]|0)|i>>>(d[q>>0]|0)<<(d[r>>0]|0)|m>>>(d[u>>0]|0)<<(d[v>>0]|0)|n>>>(d[w>>0]|0)<<(d[p>>0]|0);break}case 3:{a[g+((d[r>>0]|0)>>>3&255)>>0]=e;a[g+((d[t>>0]|0)>>>3&255)>>0]=j;a[g+((d[v>>0]|0)>>>3&255)>>0]=l;break}case 4:{c[g>>2]=k>>>(d[s>>0]|0)<<(d[t>>0]|0)|i>>>(d[q>>0]|0)<<(d[r>>0]|0)|m>>>(d[u>>0]|0)<<(d[v>>0]|0)|n>>>(d[w>>0]|0)<<(d[p>>0]|0);break}default:{}}f=f+4|0;g=g+z|0;e=16;continue}else if((e|0)==16){n=c[f>>2]|0;e=n>>>22;i=e&255;j=n>>>12;k=j&255;l=n>>>2;m=l&255;n=d[193352+(n>>>30)>>0]|0;switch(y<<24>>24){case 1:{a[g>>0]=k>>>(d[s>>0]|0)<<(d[t>>0]|0)|i>>>(d[q>>0]|0)<<(d[r>>0]|0)|m>>>(d[u>>0]|0)<<(d[v>>0]|0)|n>>>(d[w>>0]|0)<<(d[p>>0]|0);break}case 2:{b[g>>1]=k>>>(d[s>>0]|0)<<(d[t>>0]|0)|i>>>(d[q>>0]|0)<<(d[r>>0]|0)|m>>>(d[u>>0]|0)<<(d[v>>0]|0)|n>>>(d[w>>0]|0)<<(d[p>>0]|0);break}case 3:{a[g+((d[r>>0]|0)>>>3&255)>>0]=e;a[g+((d[t>>0]|0)>>>3&255)>>0]=j;a[g+((d[v>>0]|0)>>>3&255)>>0]=l;break}case 4:{c[g>>2]=k>>>(d[s>>0]|0)<<(d[t>>0]|0)|i>>>(d[q>>0]|0)<<(d[r>>0]|0)|m>>>(d[u>>0]|0)<<(d[v>>0]|0)|n>>>(d[w>>0]|0)<<(d[p>>0]|0);break}default:{}}f=f+4|0;g=g+z|0;e=22;continue}else if((e|0)==22){n=c[f>>2]|0;e=n>>>22;i=e&255;j=n>>>12;k=j&255;l=n>>>2;m=l&255;n=d[193352+(n>>>30)>>0]|0;switch(y<<24>>24){case 1:{a[g>>0]=k>>>(d[s>>0]|0)<<(d[t>>0]|0)|i>>>(d[q>>0]|0)<<(d[r>>0]|0)|m>>>(d[u>>0]|0)<<(d[v>>0]|0)|n>>>(d[w>>0]|0)<<(d[p>>0]|0);break}case 2:{b[g>>1]=k>>>(d[s>>0]|0)<<(d[t>>0]|0)|i>>>(d[q>>0]|0)<<(d[r>>0]|0)|m>>>(d[u>>0]|0)<<(d[v>>0]|0)|n>>>(d[w>>0]|0)<<(d[p>>0]|0);break}case 3:{a[g+((d[r>>0]|0)>>>3&255)>>0]=e;a[g+((d[t>>0]|0)>>>3&255)>>0]=j;a[g+((d[v>>0]|0)>>>3&255)>>0]=l;break}case 4:{c[g>>2]=k>>>(d[s>>0]|0)<<(d[t>>0]|0)|i>>>(d[q>>0]|0)<<(d[r>>0]|0)|m>>>(d[u>>0]|0)<<(d[v>>0]|0)|n>>>(d[w>>0]|0)<<(d[p>>0]|0);break}default:{}}f=f+4|0;g=g+z|0;e=28;continue}else if((e|0)==28){n=c[f>>2]|0;e=n>>>22;i=e&255;j=n>>>12;k=j&255;l=n>>>2;m=l&255;n=d[193352+(n>>>30)>>0]|0;switch(y<<24>>24){case 1:{a[g>>0]=k>>>(d[s>>0]|0)<<(d[t>>0]|0)|i>>>(d[q>>0]|0)<<(d[r>>0]|0)|m>>>(d[u>>0]|0)<<(d[v>>0]|0)|n>>>(d[w>>0]|0)<<(d[p>>0]|0);break}case 2:{b[g>>1]=k>>>(d[s>>0]|0)<<(d[t>>0]|0)|i>>>(d[q>>0]|0)<<(d[r>>0]|0)|m>>>(d[u>>0]|0)<<(d[v>>0]|0)|n>>>(d[w>>0]|0)<<(d[p>>0]|0);break}case 3:{a[g+((d[r>>0]|0)>>>3&255)>>0]=e;a[g+((d[t>>0]|0)>>>3&255)>>0]=j;a[g+((d[v>>0]|0)>>>3&255)>>0]=l;break}case 4:{c[g>>2]=k>>>(d[s>>0]|0)<<(d[t>>0]|0)|i>>>(d[q>>0]|0)<<(d[r>>0]|0)|m>>>(d[u>>0]|0)<<(d[v>>0]|0)|n>>>(d[w>>0]|0)<<(d[p>>0]|0);break}default:{}}f=f+4|0;g=g+z|0;e=34;continue}else if((e|0)==34){n=c[f>>2]|0;e=n>>>22;i=e&255;j=n>>>12;k=j&255;l=n>>>2;m=l&255;n=d[193352+(n>>>30)>>0]|0;switch(y<<24>>24){case 1:{a[g>>0]=k>>>(d[s>>0]|0)<<(d[t>>0]|0)|i>>>(d[q>>0]|0)<<(d[r>>0]|0)|m>>>(d[u>>0]|0)<<(d[v>>0]|0)|n>>>(d[w>>0]|0)<<(d[p>>0]|0);break}case 2:{b[g>>1]=k>>>(d[s>>0]|0)<<(d[t>>0]|0)|i>>>(d[q>>0]|0)<<(d[r>>0]|0)|m>>>(d[u>>0]|0)<<(d[v>>0]|0)|n>>>(d[w>>0]|0)<<(d[p>>0]|0);break}case 3:{a[g+((d[r>>0]|0)>>>3&255)>>0]=e;a[g+((d[t>>0]|0)>>>3&255)>>0]=j;a[g+((d[v>>0]|0)>>>3&255)>>0]=l;break}case 4:{c[g>>2]=k>>>(d[s>>0]|0)<<(d[t>>0]|0)|i>>>(d[q>>0]|0)<<(d[r>>0]|0)|m>>>(d[u>>0]|0)<<(d[v>>0]|0)|n>>>(d[w>>0]|0)<<(d[p>>0]|0);break}default:{}}f=f+4|0;g=g+z|0;e=40;continue}else if((e|0)==40){n=c[f>>2]|0;e=n>>>22;i=e&255;j=n>>>12;k=j&255;l=n>>>2;m=l&255;n=d[193352+(n>>>30)>>0]|0;switch(y<<24>>24){case 1:{a[g>>0]=k>>>(d[s>>0]|0)<<(d[t>>0]|0)|i>>>(d[q>>0]|0)<<(d[r>>0]|0)|m>>>(d[u>>0]|0)<<(d[v>>0]|0)|n>>>(d[w>>0]|0)<<(d[p>>0]|0);break}case 2:{b[g>>1]=k>>>(d[s>>0]|0)<<(d[t>>0]|0)|i>>>(d[q>>0]|0)<<(d[r>>0]|0)|m>>>(d[u>>0]|0)<<(d[v>>0]|0)|n>>>(d[w>>0]|0)<<(d[p>>0]|0);break}case 3:{a[g+((d[r>>0]|0)>>>3&255)>>0]=e;a[g+((d[t>>0]|0)>>>3&255)>>0]=j;a[g+((d[v>>0]|0)>>>3&255)>>0]=l;break}case 4:{c[g>>2]=k>>>(d[s>>0]|0)<<(d[t>>0]|0)|i>>>(d[q>>0]|0)<<(d[r>>0]|0)|m>>>(d[u>>0]|0)<<(d[v>>0]|0)|n>>>(d[w>>0]|0)<<(d[p>>0]|0);break}default:{}}f=f+4|0;g=g+z|0;e=46;continue}else if((e|0)==46){n=c[f>>2]|0;e=n>>>22;i=e&255;j=n>>>12;k=j&255;l=n>>>2;m=l&255;n=d[193352+(n>>>30)>>0]|0;switch(y<<24>>24){case 1:{a[g>>0]=k>>>(d[s>>0]|0)<<(d[t>>0]|0)|i>>>(d[q>>0]|0)<<(d[r>>0]|0)|m>>>(d[u>>0]|0)<<(d[v>>0]|0)|n>>>(d[w>>0]|0)<<(d[p>>0]|0);break}case 2:{b[g>>1]=k>>>(d[s>>0]|0)<<(d[t>>0]|0)|i>>>(d[q>>0]|0)<<(d[r>>0]|0)|m>>>(d[u>>0]|0)<<(d[v>>0]|0)|n>>>(d[w>>0]|0)<<(d[p>>0]|0);break}case 3:{a[g+((d[r>>0]|0)>>>3&255)>>0]=e;a[g+((d[t>>0]|0)>>>3&255)>>0]=j;a[g+((d[v>>0]|0)>>>3&255)>>0]=l;break}case 4:{c[g>>2]=k>>>(d[s>>0]|0)<<(d[t>>0]|0)|i>>>(d[q>>0]|0)<<(d[r>>0]|0)|m>>>(d[u>>0]|0)<<(d[v>>0]|0)|n>>>(d[w>>0]|0)<<(d[p>>0]|0);break}default:{}}g=g+z|0;f=f+4|0;if((o|0)>1){o=o+-1|0;e=4;continue}else break}if(!h){e=54;break}else{f=f+B|0;g=g+C|0}}if((e|0)!=52)if((e|0)==54)return}function tEa(b){b=b|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0;f=c[b+24>>2]|0;h=c[b+28>>2]|0;F=c[b+16>>2]|0;G=c[b+36>>2]|0;g=c[b+40>>2]|0;C=a[g+9>>0]|0;D=C&255;if(!h)return;E=(f+7|0)/8|0;B=f&255;q=g+28|0;r=g+12|0;s=g+32|0;t=g+29|0;u=g+16|0;v=g+33|0;w=g+30|0;x=g+20|0;y=g+34|0;z=g+31|0;A=g+24|0;p=g+35|0;f=c[b>>2]|0;g=c[b+20>>2]|0;a:while(1){h=h+-1|0;switch(B&7){case 0:{n=E;o=4;break}case 7:{n=E;o=12;break}case 6:{n=E;o=20;break}case 5:{n=E;o=28;break}case 4:{n=E;o=36;break}case 3:{n=E;o=44;break}case 2:{n=E;o=52;break}case 1:{n=E;o=60;break}default:{o=68;break a}}while(1)if((o|0)==4){switch(C<<24>>24){case 1:{j=d[f>>0]|0;l=a[(c[16112+((d[z>>0]|0)<<2)>>2]|0)+((c[A>>2]&j)>>>(d[p>>0]|0))>>0]|0;b=(c[16112+((d[w>>0]|0)<<2)>>2]|0)+((c[x>>2]&j)>>>(d[y>>0]|0))|0;i=(c[16112+((d[t>>0]|0)<<2)>>2]|0)+((c[u>>2]&j)>>>(d[v>>0]|0))|0;j=(c[16112+((d[q>>0]|0)<<2)>>2]|0)+((c[r>>2]&j)>>>(d[s>>0]|0))|0;o=9;break}case 2:{j=e[f>>1]|0;l=a[(c[16112+((d[z>>0]|0)<<2)>>2]|0)+((c[A>>2]&j)>>>(d[p>>0]|0))>>0]|0;b=(c[16112+((d[w>>0]|0)<<2)>>2]|0)+((c[x>>2]&j)>>>(d[y>>0]|0))|0;i=(c[16112+((d[t>>0]|0)<<2)>>2]|0)+((c[u>>2]&j)>>>(d[v>>0]|0))|0;j=(c[16112+((d[q>>0]|0)<<2)>>2]|0)+((c[r>>2]&j)>>>(d[s>>0]|0))|0;o=9;break}case 3:{l=-1;b=f+((d[y>>0]|0)>>>3&255)|0;i=f+((d[v>>0]|0)>>>3&255)|0;j=f+((d[s>>0]|0)>>>3&255)|0;o=9;break}case 4:{j=c[f>>2]|0;l=a[(c[16112+((d[z>>0]|0)<<2)>>2]|0)+((c[A>>2]&j)>>>(d[p>>0]|0))>>0]|0;b=(c[16112+((d[w>>0]|0)<<2)>>2]|0)+((c[x>>2]&j)>>>(d[y>>0]|0))|0;i=(c[16112+((d[t>>0]|0)<<2)>>2]|0)+((c[u>>2]&j)>>>(d[v>>0]|0))|0;j=(c[16112+((d[q>>0]|0)<<2)>>2]|0)+((c[r>>2]&j)>>>(d[s>>0]|0))|0;o=9;break}default:{b=0;j=0;k=0;i=0;o=10}}if((o|0)==9){o=0;m=a[b>>0]|0;b=a[i>>0]|0;i=a[j>>0]|0;k=m&255;i=i<<24>>24==0?0:(i&255)<<22|3145728;if(!(b<<24>>24)){b=l;j=m;o=10}else{j=m;b=(b&255)<<12|3072}}if((o|0)==10){l=b;b=0}c[g>>2]=b|i|(((l&255)/85|0)&255)<<30|(j<<24>>24==0?0:k<<2|3);f=f+D|0;g=g+4|0;o=12;continue}else if((o|0)==12){switch(C<<24>>24){case 1:{j=d[f>>0]|0;l=a[(c[16112+((d[z>>0]|0)<<2)>>2]|0)+((c[A>>2]&j)>>>(d[p>>0]|0))>>0]|0;b=(c[16112+((d[w>>0]|0)<<2)>>2]|0)+((c[x>>2]&j)>>>(d[y>>0]|0))|0;i=(c[16112+((d[t>>0]|0)<<2)>>2]|0)+((c[u>>2]&j)>>>(d[v>>0]|0))|0;j=(c[16112+((d[q>>0]|0)<<2)>>2]|0)+((c[r>>2]&j)>>>(d[s>>0]|0))|0;o=17;break}case 2:{j=e[f>>1]|0;l=a[(c[16112+((d[z>>0]|0)<<2)>>2]|0)+((c[A>>2]&j)>>>(d[p>>0]|0))>>0]|0;b=(c[16112+((d[w>>0]|0)<<2)>>2]|0)+((c[x>>2]&j)>>>(d[y>>0]|0))|0;i=(c[16112+((d[t>>0]|0)<<2)>>2]|0)+((c[u>>2]&j)>>>(d[v>>0]|0))|0;j=(c[16112+((d[q>>0]|0)<<2)>>2]|0)+((c[r>>2]&j)>>>(d[s>>0]|0))|0;o=17;break}case 3:{l=-1;b=f+((d[y>>0]|0)>>>3&255)|0;i=f+((d[v>>0]|0)>>>3&255)|0;j=f+((d[s>>0]|0)>>>3&255)|0;o=17;break}case 4:{j=c[f>>2]|0;l=a[(c[16112+((d[z>>0]|0)<<2)>>2]|0)+((c[A>>2]&j)>>>(d[p>>0]|0))>>0]|0;b=(c[16112+((d[w>>0]|0)<<2)>>2]|0)+((c[x>>2]&j)>>>(d[y>>0]|0))|0;i=(c[16112+((d[t>>0]|0)<<2)>>2]|0)+((c[u>>2]&j)>>>(d[v>>0]|0))|0;j=(c[16112+((d[q>>0]|0)<<2)>>2]|0)+((c[r>>2]&j)>>>(d[s>>0]|0))|0;o=17;break}default:{b=0;j=0;k=0;i=0;o=18}}if((o|0)==17){o=0;m=a[b>>0]|0;b=a[i>>0]|0;i=a[j>>0]|0;k=m&255;i=i<<24>>24==0?0:(i&255)<<22|3145728;if(!(b<<24>>24)){b=l;j=m;o=18}else{j=m;b=(b&255)<<12|3072}}if((o|0)==18){l=b;b=0}c[g>>2]=b|i|(((l&255)/85|0)&255)<<30|(j<<24>>24==0?0:k<<2|3);f=f+D|0;g=g+4|0;o=20;continue}else if((o|0)==20){switch(C<<24>>24){case 1:{j=d[f>>0]|0;l=a[(c[16112+((d[z>>0]|0)<<2)>>2]|0)+((c[A>>2]&j)>>>(d[p>>0]|0))>>0]|0;b=(c[16112+((d[w>>0]|0)<<2)>>2]|0)+((c[x>>2]&j)>>>(d[y>>0]|0))|0;i=(c[16112+((d[t>>0]|0)<<2)>>2]|0)+((c[u>>2]&j)>>>(d[v>>0]|0))|0;j=(c[16112+((d[q>>0]|0)<<2)>>2]|0)+((c[r>>2]&j)>>>(d[s>>0]|0))|0;o=25;break}case 2:{j=e[f>>1]|0;l=a[(c[16112+((d[z>>0]|0)<<2)>>2]|0)+((c[A>>2]&j)>>>(d[p>>0]|0))>>0]|0;b=(c[16112+((d[w>>0]|0)<<2)>>2]|0)+((c[x>>2]&j)>>>(d[y>>0]|0))|0;i=(c[16112+((d[t>>0]|0)<<2)>>2]|0)+((c[u>>2]&j)>>>(d[v>>0]|0))|0;j=(c[16112+((d[q>>0]|0)<<2)>>2]|0)+((c[r>>2]&j)>>>(d[s>>0]|0))|0;o=25;break}case 3:{l=-1;b=f+((d[y>>0]|0)>>>3&255)|0;i=f+((d[v>>0]|0)>>>3&255)|0;j=f+((d[s>>0]|0)>>>3&255)|0;o=25;break}case 4:{j=c[f>>2]|0;l=a[(c[16112+((d[z>>0]|0)<<2)>>2]|0)+((c[A>>2]&j)>>>(d[p>>0]|0))>>0]|0;b=(c[16112+((d[w>>0]|0)<<2)>>2]|0)+((c[x>>2]&j)>>>(d[y>>0]|0))|0;i=(c[16112+((d[t>>0]|0)<<2)>>2]|0)+((c[u>>2]&j)>>>(d[v>>0]|0))|0;j=(c[16112+((d[q>>0]|0)<<2)>>2]|0)+((c[r>>2]&j)>>>(d[s>>0]|0))|0;o=25;break}default:{b=0;j=0;k=0;i=0;o=26}}if((o|0)==25){o=0;m=a[b>>0]|0;b=a[i>>0]|0;i=a[j>>0]|0;k=m&255;i=i<<24>>24==0?0:(i&255)<<22|3145728;if(!(b<<24>>24)){b=l;j=m;o=26}else{j=m;b=(b&255)<<12|3072}}if((o|0)==26){l=b;b=0}c[g>>2]=b|i|(((l&255)/85|0)&255)<<30|(j<<24>>24==0?0:k<<2|3);f=f+D|0;g=g+4|0;o=28;continue}else if((o|0)==28){switch(C<<24>>24){case 1:{j=d[f>>0]|0;l=a[(c[16112+((d[z>>0]|0)<<2)>>2]|0)+((c[A>>2]&j)>>>(d[p>>0]|0))>>0]|0;b=(c[16112+((d[w>>0]|0)<<2)>>2]|0)+((c[x>>2]&j)>>>(d[y>>0]|0))|0;i=(c[16112+((d[t>>0]|0)<<2)>>2]|0)+((c[u>>2]&j)>>>(d[v>>0]|0))|0;j=(c[16112+((d[q>>0]|0)<<2)>>2]|0)+((c[r>>2]&j)>>>(d[s>>0]|0))|0;o=33;break}case 2:{j=e[f>>1]|0;l=a[(c[16112+((d[z>>0]|0)<<2)>>2]|0)+((c[A>>2]&j)>>>(d[p>>0]|0))>>0]|0;b=(c[16112+((d[w>>0]|0)<<2)>>2]|0)+((c[x>>2]&j)>>>(d[y>>0]|0))|0;i=(c[16112+((d[t>>0]|0)<<2)>>2]|0)+((c[u>>2]&j)>>>(d[v>>0]|0))|0;j=(c[16112+((d[q>>0]|0)<<2)>>2]|0)+((c[r>>2]&j)>>>(d[s>>0]|0))|0;o=33;break}case 3:{l=-1;b=f+((d[y>>0]|0)>>>3&255)|0;i=f+((d[v>>0]|0)>>>3&255)|0;j=f+((d[s>>0]|0)>>>3&255)|0;o=33;break}case 4:{j=c[f>>2]|0;l=a[(c[16112+((d[z>>0]|0)<<2)>>2]|0)+((c[A>>2]&j)>>>(d[p>>0]|0))>>0]|0;b=(c[16112+((d[w>>0]|0)<<2)>>2]|0)+((c[x>>2]&j)>>>(d[y>>0]|0))|0;i=(c[16112+((d[t>>0]|0)<<2)>>2]|0)+((c[u>>2]&j)>>>(d[v>>0]|0))|0;j=(c[16112+((d[q>>0]|0)<<2)>>2]|0)+((c[r>>2]&j)>>>(d[s>>0]|0))|0;o=33;break}default:{b=0;j=0;k=0;i=0;o=34}}if((o|0)==33){o=0;m=a[b>>0]|0;b=a[i>>0]|0;i=a[j>>0]|0;k=m&255;i=i<<24>>24==0?0:(i&255)<<22|3145728;if(!(b<<24>>24)){b=l;j=m;o=34}else{j=m;b=(b&255)<<12|3072}}if((o|0)==34){l=b;b=0}c[g>>2]=b|i|(((l&255)/85|0)&255)<<30|(j<<24>>24==0?0:k<<2|3);f=f+D|0;g=g+4|0;o=36;continue}else if((o|0)==36){switch(C<<24>>24){case 1:{j=d[f>>0]|0;l=a[(c[16112+((d[z>>0]|0)<<2)>>2]|0)+((c[A>>2]&j)>>>(d[p>>0]|0))>>0]|0;b=(c[16112+((d[w>>0]|0)<<2)>>2]|0)+((c[x>>2]&j)>>>(d[y>>0]|0))|0;i=(c[16112+((d[t>>0]|0)<<2)>>2]|0)+((c[u>>2]&j)>>>(d[v>>0]|0))|0;j=(c[16112+((d[q>>0]|0)<<2)>>2]|0)+((c[r>>2]&j)>>>(d[s>>0]|0))|0;o=41;break}case 2:{j=e[f>>1]|0;l=a[(c[16112+((d[z>>0]|0)<<2)>>2]|0)+((c[A>>2]&j)>>>(d[p>>0]|0))>>0]|0;b=(c[16112+((d[w>>0]|0)<<2)>>2]|0)+((c[x>>2]&j)>>>(d[y>>0]|0))|0;i=(c[16112+((d[t>>0]|0)<<2)>>2]|0)+((c[u>>2]&j)>>>(d[v>>0]|0))|0;j=(c[16112+((d[q>>0]|0)<<2)>>2]|0)+((c[r>>2]&j)>>>(d[s>>0]|0))|0;o=41;break}case 3:{l=-1;b=f+((d[y>>0]|0)>>>3&255)|0;i=f+((d[v>>0]|0)>>>3&255)|0;j=f+((d[s>>0]|0)>>>3&255)|0;o=41;break}case 4:{j=c[f>>2]|0;l=a[(c[16112+((d[z>>0]|0)<<2)>>2]|0)+((c[A>>2]&j)>>>(d[p>>0]|0))>>0]|0;b=(c[16112+((d[w>>0]|0)<<2)>>2]|0)+((c[x>>2]&j)>>>(d[y>>0]|0))|0;i=(c[16112+((d[t>>0]|0)<<2)>>2]|0)+((c[u>>2]&j)>>>(d[v>>0]|0))|0;j=(c[16112+((d[q>>0]|0)<<2)>>2]|0)+((c[r>>2]&j)>>>(d[s>>0]|0))|0;o=41;break}default:{b=0;j=0;k=0;i=0;o=42}}if((o|0)==41){o=0;m=a[b>>0]|0;b=a[i>>0]|0;i=a[j>>0]|0;k=m&255;i=i<<24>>24==0?0:(i&255)<<22|3145728;if(!(b<<24>>24)){b=l;j=m;o=42}else{j=m;b=(b&255)<<12|3072}}if((o|0)==42){l=b;b=0}c[g>>2]=b|i|(((l&255)/85|0)&255)<<30|(j<<24>>24==0?0:k<<2|3);f=f+D|0;g=g+4|0;o=44;continue}else if((o|0)==44){switch(C<<24>>24){case 1:{j=d[f>>0]|0;l=a[(c[16112+((d[z>>0]|0)<<2)>>2]|0)+((c[A>>2]&j)>>>(d[p>>0]|0))>>0]|0;b=(c[16112+((d[w>>0]|0)<<2)>>2]|0)+((c[x>>2]&j)>>>(d[y>>0]|0))|0;i=(c[16112+((d[t>>0]|0)<<2)>>2]|0)+((c[u>>2]&j)>>>(d[v>>0]|0))|0;j=(c[16112+((d[q>>0]|0)<<2)>>2]|0)+((c[r>>2]&j)>>>(d[s>>0]|0))|0;o=49;break}case 2:{j=e[f>>1]|0;l=a[(c[16112+((d[z>>0]|0)<<2)>>2]|0)+((c[A>>2]&j)>>>(d[p>>0]|0))>>0]|0;b=(c[16112+((d[w>>0]|0)<<2)>>2]|0)+((c[x>>2]&j)>>>(d[y>>0]|0))|0;i=(c[16112+((d[t>>0]|0)<<2)>>2]|0)+((c[u>>2]&j)>>>(d[v>>0]|0))|0;j=(c[16112+((d[q>>0]|0)<<2)>>2]|0)+((c[r>>2]&j)>>>(d[s>>0]|0))|0;o=49;break}case 3:{l=-1;b=f+((d[y>>0]|0)>>>3&255)|0;i=f+((d[v>>0]|0)>>>3&255)|0;j=f+((d[s>>0]|0)>>>3&255)|0;o=49;break}case 4:{j=c[f>>2]|0;l=a[(c[16112+((d[z>>0]|0)<<2)>>2]|0)+((c[A>>2]&j)>>>(d[p>>0]|0))>>0]|0;b=(c[16112+((d[w>>0]|0)<<2)>>2]|0)+((c[x>>2]&j)>>>(d[y>>0]|0))|0;i=(c[16112+((d[t>>0]|0)<<2)>>2]|0)+((c[u>>2]&j)>>>(d[v>>0]|0))|0;j=(c[16112+((d[q>>0]|0)<<2)>>2]|0)+((c[r>>2]&j)>>>(d[s>>0]|0))|0;o=49;break}default:{b=0;j=0;k=0;i=0;o=50}}if((o|0)==49){o=0;m=a[b>>0]|0;b=a[i>>0]|0;i=a[j>>0]|0;k=m&255;i=i<<24>>24==0?0:(i&255)<<22|3145728;if(!(b<<24>>24)){b=l;j=m;o=50}else{j=m;b=(b&255)<<12|3072}}if((o|0)==50){l=b;b=0}c[g>>2]=b|i|(((l&255)/85|0)&255)<<30|(j<<24>>24==0?0:k<<2|3);f=f+D|0;g=g+4|0;o=52;continue}else if((o|0)==52){switch(C<<24>>24){case 1:{j=d[f>>0]|0;l=a[(c[16112+((d[z>>0]|0)<<2)>>2]|0)+((c[A>>2]&j)>>>(d[p>>0]|0))>>0]|0;b=(c[16112+((d[w>>0]|0)<<2)>>2]|0)+((c[x>>2]&j)>>>(d[y>>0]|0))|0;i=(c[16112+((d[t>>0]|0)<<2)>>2]|0)+((c[u>>2]&j)>>>(d[v>>0]|0))|0;j=(c[16112+((d[q>>0]|0)<<2)>>2]|0)+((c[r>>2]&j)>>>(d[s>>0]|0))|0;o=57;break}case 2:{j=e[f>>1]|0;l=a[(c[16112+((d[z>>0]|0)<<2)>>2]|0)+((c[A>>2]&j)>>>(d[p>>0]|0))>>0]|0;b=(c[16112+((d[w>>0]|0)<<2)>>2]|0)+((c[x>>2]&j)>>>(d[y>>0]|0))|0;i=(c[16112+((d[t>>0]|0)<<2)>>2]|0)+((c[u>>2]&j)>>>(d[v>>0]|0))|0;j=(c[16112+((d[q>>0]|0)<<2)>>2]|0)+((c[r>>2]&j)>>>(d[s>>0]|0))|0;o=57;break}case 3:{l=-1;b=f+((d[y>>0]|0)>>>3&255)|0;i=f+((d[v>>0]|0)>>>3&255)|0;j=f+((d[s>>0]|0)>>>3&255)|0;o=57;break}case 4:{j=c[f>>2]|0;l=a[(c[16112+((d[z>>0]|0)<<2)>>2]|0)+((c[A>>2]&j)>>>(d[p>>0]|0))>>0]|0;b=(c[16112+((d[w>>0]|0)<<2)>>2]|0)+((c[x>>2]&j)>>>(d[y>>0]|0))|0;i=(c[16112+((d[t>>0]|0)<<2)>>2]|0)+((c[u>>2]&j)>>>(d[v>>0]|0))|0;j=(c[16112+((d[q>>0]|0)<<2)>>2]|0)+((c[r>>2]&j)>>>(d[s>>0]|0))|0;o=57;break}default:{b=0;j=0;k=0;i=0;o=58}}if((o|0)==57){o=0;m=a[b>>0]|0;b=a[i>>0]|0;i=a[j>>0]|0;k=m&255;i=i<<24>>24==0?0:(i&255)<<22|3145728;if(!(b<<24>>24)){b=l;j=m;o=58}else{j=m;b=(b&255)<<12|3072}}if((o|0)==58){l=b;b=0}c[g>>2]=b|i|(((l&255)/85|0)&255)<<30|(j<<24>>24==0?0:k<<2|3);f=f+D|0;g=g+4|0;o=60;continue}else if((o|0)==60){switch(C<<24>>24){case 1:{j=d[f>>0]|0;l=a[(c[16112+((d[z>>0]|0)<<2)>>2]|0)+((c[A>>2]&j)>>>(d[p>>0]|0))>>0]|0;b=(c[16112+((d[w>>0]|0)<<2)>>2]|0)+((c[x>>2]&j)>>>(d[y>>0]|0))|0;i=(c[16112+((d[t>>0]|0)<<2)>>2]|0)+((c[u>>2]&j)>>>(d[v>>0]|0))|0;j=(c[16112+((d[q>>0]|0)<<2)>>2]|0)+((c[r>>2]&j)>>>(d[s>>0]|0))|0;o=65;break}case 2:{j=e[f>>1]|0;l=a[(c[16112+((d[z>>0]|0)<<2)>>2]|0)+((c[A>>2]&j)>>>(d[p>>0]|0))>>0]|0;b=(c[16112+((d[w>>0]|0)<<2)>>2]|0)+((c[x>>2]&j)>>>(d[y>>0]|0))|0;i=(c[16112+((d[t>>0]|0)<<2)>>2]|0)+((c[u>>2]&j)>>>(d[v>>0]|0))|0;j=(c[16112+((d[q>>0]|0)<<2)>>2]|0)+((c[r>>2]&j)>>>(d[s>>0]|0))|0;o=65;break}case 3:{l=-1;b=f+((d[y>>0]|0)>>>3&255)|0;i=f+((d[v>>0]|0)>>>3&255)|0;j=f+((d[s>>0]|0)>>>3&255)|0;o=65;break}case 4:{j=c[f>>2]|0;l=a[(c[16112+((d[z>>0]|0)<<2)>>2]|0)+((c[A>>2]&j)>>>(d[p>>0]|0))>>0]|0;b=(c[16112+((d[w>>0]|0)<<2)>>2]|0)+((c[x>>2]&j)>>>(d[y>>0]|0))|0;i=(c[16112+((d[t>>0]|0)<<2)>>2]|0)+((c[u>>2]&j)>>>(d[v>>0]|0))|0;j=(c[16112+((d[q>>0]|0)<<2)>>2]|0)+((c[r>>2]&j)>>>(d[s>>0]|0))|0;o=65;break}default:{b=0;j=0;k=0;i=0;o=66}}if((o|0)==65){o=0;m=a[b>>0]|0;b=a[i>>0]|0;i=a[j>>0]|0;k=m&255;i=i<<24>>24==0?0:(i&255)<<22|3145728;if(!(b<<24>>24)){b=l;j=m;o=66}else{j=m;b=(b&255)<<12|3072}}if((o|0)==66){l=b;b=0}c[g>>2]=b|i|(((l&255)/85|0)&255)<<30|(j<<24>>24==0?0:k<<2|3);g=g+4|0;f=f+D|0;if((n|0)>1){n=n+-1|0;o=4;continue}else break}if(!h){o=70;break}else{f=f+F|0;g=g+G|0}}if((o|0)!=68)if((o|0)==70)return}function uEa(a){a=a|0;var b=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0;k=c[a+24>>2]|0;h=c[a+28>>2]|0;e=c[a>>2]|0;W=c[a+16>>2]|0;b=c[a+20>>2]|0;V=c[a+36>>2]|0;f=c[a+40>>2]|0;g=c[a+44>>2]|0;if(!(c[g+24>>2]|0)){j=c[f+16>>2]|c[f+12>>2]|c[f+20>>2];f=h+-1|0;if(!h)return;i=(k+7|0)/8|0;a=k&255;switch(a&7){case 0:{while(1){a=i;while(1){c[b>>2]=c[e>>2]&j;c[b+4>>2]=c[e+4>>2]&j;c[b+8>>2]=c[e+8>>2]&j;c[b+12>>2]=c[e+12>>2]&j;c[b+16>>2]=c[e+16>>2]&j;c[b+20>>2]=c[e+20>>2]&j;c[b+24>>2]=c[e+24>>2]&j;c[b+28>>2]=c[e+28>>2]&j;b=b+32|0;e=e+32|0;if((a|0)<=1)break;else a=a+-1|0}if(!f)break;else{b=b+V|0;e=e+W|0;f=f+-1|0}}return}case 7:{while(1){h=i;while(1){c[b>>2]=c[e>>2]&j;c[b+4>>2]=c[e+4>>2]&j;c[b+8>>2]=c[e+8>>2]&j;c[b+12>>2]=c[e+12>>2]&j;c[b+16>>2]=c[e+16>>2]&j;c[b+20>>2]=c[e+20>>2]&j;c[b+24>>2]=c[e+24>>2]&j;a=b+28|0;g=e+28|0;if((h|0)<=1)break;c[a>>2]=c[g>>2]&j;h=h+-1|0;e=e+32|0;b=b+32|0}if(!f)break;else{b=a+V|0;e=g+W|0;f=f+-1|0}}return}default:{a:while(1){switch(a&7){case 1:{v=e;w=b;P=i;b=43;break}case 2:{t=e;u=b;L=i;b=42;break}case 6:{l=e;m=b;x=i;b=38;break}case 5:{n=e;o=b;z=i;b=39;break}case 4:{p=e;q=b;D=i;b=40;break}case 3:{r=e;s=b;H=i;b=41;break}default:{b=44;break a}}while(1)if((b|0)==38){c[m>>2]=c[l>>2]&j;n=l+4|0;o=m+4|0;z=x;b=39;continue}else if((b|0)==39){c[o>>2]=c[n>>2]&j;p=n+4|0;q=o+4|0;D=z;b=40;continue}else if((b|0)==40){c[q>>2]=c[p>>2]&j;r=p+4|0;s=q+4|0;H=D;b=41;continue}else if((b|0)==41){c[s>>2]=c[r>>2]&j;t=r+4|0;u=s+4|0;L=H;b=42;continue}else if((b|0)==42){c[u>>2]=c[t>>2]&j;v=t+4|0;w=u+4|0;P=L;b=43;continue}else if((b|0)==43){c[w>>2]=c[v>>2]&j;b=w+4|0;e=v+4|0;if((P|0)<=1)break;c[b>>2]=c[e>>2]&j;c[w+8>>2]=c[v+8>>2]&j;l=v+12|0;m=w+12|0;x=P+-1|0;b=38;continue}if(!f){b=46;break}else{b=b+V|0;e=e+W|0;f=f+-1|0}}if((b|0)!=44)if((b|0)==46)return}}}else{j=(d[a+63>>0]|0)>>>(d[g+31>>0]|0)<<(d[g+35>>0]|0);f=h+-1|0;if(!h)return;i=(k+7|0)/8|0;g=k&255;switch(g&7){case 0:{while(1){a=i;while(1){c[b>>2]=c[e>>2]|j;c[b+4>>2]=c[e+4>>2]|j;c[b+8>>2]=c[e+8>>2]|j;c[b+12>>2]=c[e+12>>2]|j;c[b+16>>2]=c[e+16>>2]|j;c[b+20>>2]=c[e+20>>2]|j;c[b+24>>2]=c[e+24>>2]|j;c[b+28>>2]=c[e+28>>2]|j;b=b+32|0;e=e+32|0;if((a|0)<=1)break;else a=a+-1|0}if(!f)break;else{e=e+W|0;b=b+V|0;f=f+-1|0}}return}case 7:{while(1){h=i;while(1){c[b>>2]=c[e>>2]|j;c[b+4>>2]=c[e+4>>2]|j;c[b+8>>2]=c[e+8>>2]|j;c[b+12>>2]=c[e+12>>2]|j;c[b+16>>2]=c[e+16>>2]|j;c[b+20>>2]=c[e+20>>2]|j;c[b+24>>2]=c[e+24>>2]|j;g=b+28|0;a=e+28|0;if((h|0)<=1)break;c[g>>2]=c[a>>2]|j;h=h+-1|0;e=e+32|0;b=b+32|0}if(!f)break;else{e=a+W|0;b=g+V|0;f=f+-1|0}}return}default:{b:while(1){switch(g&7){case 1:{Q=i;T=e;U=b;b=21;break}case 2:{M=i;R=e;S=b;b=20;break}case 6:{y=i;B=e;C=b;b=16;break}case 5:{A=i;F=e;G=b;b=17;break}case 4:{E=i;J=e;K=b;b=18;break}case 3:{I=i;N=e;O=b;b=19;break}default:{b=22;break b}}while(1)if((b|0)==16){c[C>>2]=c[B>>2]|j;A=y;F=B+4|0;G=C+4|0;b=17;continue}else if((b|0)==17){c[G>>2]=c[F>>2]|j;E=A;J=F+4|0;K=G+4|0;b=18;continue}else if((b|0)==18){c[K>>2]=c[J>>2]|j;I=E;N=J+4|0;O=K+4|0;b=19;continue}else if((b|0)==19){c[O>>2]=c[N>>2]|j;M=I;R=N+4|0;S=O+4|0;b=20;continue}else if((b|0)==20){c[S>>2]=c[R>>2]|j;Q=M;T=R+4|0;U=S+4|0;b=21;continue}else if((b|0)==21){c[U>>2]=c[T>>2]|j;a=U+4|0;b=T+4|0;if((Q|0)<=1)break;c[a>>2]=c[b>>2]|j;c[U+8>>2]=c[T+8>>2]|j;y=Q+-1|0;B=T+12|0;C=U+12|0;b=16;continue}if(!f){b=46;break}else{e=b+W|0;b=a+V|0;f=f+-1|0}}if((b|0)!=22)if((b|0)==46)return}}}}function vEa(a){a=a|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;d=c[a+24>>2]|0;k=c[a+28>>2]|0;e=c[a>>2]|0;f=c[a+20>>2]|0;l=~c[(c[a+40>>2]|0)+24>>2];m=(c[a+16>>2]|0)/2|0;n=(c[a+36>>2]|0)/2|0;j=c[a+56>>2]&l;g=k+-1|0;if(!k)return;k=(d+7|0)/8|0;i=d&255;if(!(i&7)){a=f;while(1){f=k;d=a;while(1){a=b[e>>1]|0;if((a&65535&l|0)!=(j|0))b[d>>1]=a;a=b[e+2>>1]|0;if((a&65535&l|0)!=(j|0))b[d+2>>1]=a;a=b[e+4>>1]|0;if((a&65535&l|0)!=(j|0))b[d+4>>1]=a;a=b[e+6>>1]|0;if((a&65535&l|0)!=(j|0))b[d+6>>1]=a;a=b[e+8>>1]|0;if((a&65535&l|0)!=(j|0))b[d+8>>1]=a;a=b[e+10>>1]|0;if((a&65535&l|0)!=(j|0))b[d+10>>1]=a;a=b[e+12>>1]|0;if((a&65535&l|0)!=(j|0))b[d+12>>1]=a;a=b[e+14>>1]|0;if((a&65535&l|0)!=(j|0))b[d+14>>1]=a;d=d+16|0;e=e+16|0;if((f|0)<=1)break;else f=f+-1|0}if(!g)break;else{e=e+(m<<1)|0;a=d+(n<<1)|0;g=g+-1|0}}return}d=f;a:while(1){switch(i&7){case 1:{h=k;a=46;break}case 7:{f=k;a=28;break}case 6:{f=k;a=31;break}case 5:{f=k;a=34;break}case 4:{f=k;a=37;break}case 3:{f=k;a=40;break}case 2:{f=k;a=43;break}default:{a=49;break a}}while(1)if((a|0)==28){a=b[e>>1]|0;if((a&65535&l|0)!=(j|0))b[d>>1]=a;e=e+2|0;d=d+2|0;a=31;continue}else if((a|0)==31){a=b[e>>1]|0;if((a&65535&l|0)!=(j|0))b[d>>1]=a;e=e+2|0;d=d+2|0;a=34;continue}else if((a|0)==34){a=b[e>>1]|0;if((a&65535&l|0)!=(j|0))b[d>>1]=a;e=e+2|0;d=d+2|0;a=37;continue}else if((a|0)==37){a=b[e>>1]|0;if((a&65535&l|0)!=(j|0))b[d>>1]=a;e=e+2|0;d=d+2|0;a=40;continue}else if((a|0)==40){a=b[e>>1]|0;if((a&65535&l|0)!=(j|0))b[d>>1]=a;d=d+2|0;e=e+2|0;a=43;continue}else if((a|0)==43){a=b[e>>1]|0;if((a&65535&l|0)!=(j|0))b[d>>1]=a;h=f;d=d+2|0;e=e+2|0;a=46;continue}else if((a|0)==46){a=b[e>>1]|0;if((a&65535&l|0)!=(j|0))b[d>>1]=a;f=d+2|0;a=e+2|0;if((h|0)<=1)break;a=b[a>>1]|0;if((a&65535&l|0)!=(j|0))b[f>>1]=a;f=h+-1|0;e=e+4|0;d=d+4|0;a=28;continue}if(!g){a=51;break}else{e=a+(m<<1)|0;d=f+(n<<1)|0;g=g+-1|0}}if((a|0)!=49)if((a|0)==51)return}function wEa(b){b=b|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0,Ga=0,Ha=0,Ia=0,Ja=0,Ka=0,La=0,Ma=0,Na=0,Oa=0,Pa=0,Qa=0,Ra=0,Sa=0,Ta=0,Ua=0,Va=0,Wa=0,Xa=0,Ya=0,Za=0,_a=0,$a=0,ab=0,bb=0,cb=0,db=0,eb=0,fb=0,gb=0,hb=0,ib=0,jb=0,kb=0,lb=0,mb=0,nb=0,ob=0,pb=0,qb=0,rb=0,sb=0,tb=0,ub=0,vb=0,wb=0,xb=0,yb=0,zb=0,Ab=0,Bb=0,Cb=0,Db=0,Eb=0,Fb=0,Gb=0,Hb=0,Ib=0,Jb=0,Kb=0,Lb=0,Mb=0,Nb=0,Ob=0,Pb=0,Qb=0,Rb=0,Sb=0,Tb=0,Ub=0,Vb=0,Wb=0,Xb=0,Yb=0,Zb=0,_b=0,$b=0,ac=0,bc=0,cc=0,dc=0,ec=0,fc=0,gc=0,hc=0,ic=0,jc=0,kc=0,lc=0,mc=0,nc=0,oc=0,pc=0,qc=0,rc=0,sc=0,tc=0,uc=0,vc=0,wc=0,xc=0,yc=0,zc=0,Ac=0,Bc=0,Cc=0,Dc=0,Ec=0,Fc=0,Gc=0,Hc=0,Ic=0,Jc=0,Kc=0,Lc=0,Mc=0,Nc=0,Oc=0;i=c[b+24>>2]|0;s=c[b+28>>2]|0;g=c[b>>2]|0;Oc=c[b+16>>2]|0;f=c[b+20>>2]|0;Kc=c[b+36>>2]|0;Ic=c[b+40>>2]|0;Hc=c[b+48>>2]|0;Lc=~c[Ic+24>>2];Mc=a[Ic+9>>0]|0;Nc=Mc&255;Jc=c[b+56>>2]&Lc;h=s+-1|0;b=(s|0)==0;if(!Hc){if(b)return;s=(i+7|0)/8|0;r=i&255;j=Ic+28|0;k=Ic+12|0;l=Ic+32|0;m=Ic+29|0;n=Ic+16|0;o=Ic+33|0;p=Ic+30|0;q=Ic+20|0;i=Ic+34|0;a:while(1){switch(r&7){case 0:{w=s;P=g;Q=f;f=5;break}case 7:{La=s;Wa=g;Xa=f;f=14;break}case 6:{Ya=s;fb=g;gb=f;f=23;break}case 5:{hb=s;qb=g;rb=f;f=32;break}case 4:{sb=s;Bb=g;Cb=f;f=41;break}case 3:{Db=s;Mb=g;Nb=f;f=50;break}case 2:{Ob=s;Xb=g;Yb=f;f=59;break}case 1:{Zb=s;gc=g;hc=f;f=68;break}default:{f=77;break a}}while(1)if((f|0)==5){f=0;switch(Mc<<24>>24){case 1:{rc=d[P>>0]|0;v=rc;z=(c[16112+((d[m>>0]|0)<<2)>>2]|0)+((c[n>>2]&rc)>>>(d[o>>0]|0))|0;B=(c[16112+((d[j>>0]|0)<<2)>>2]|0)+((c[k>>2]&rc)>>>(d[l>>0]|0))|0;rc=(c[16112+((d[p>>0]|0)<<2)>>2]|0)+((c[q>>2]&rc)>>>(d[i>>0]|0))|0;f=10;break}case 2:{rc=e[P>>1]|0;v=rc;z=(c[16112+((d[m>>0]|0)<<2)>>2]|0)+((c[n>>2]&rc)>>>(d[o>>0]|0))|0;B=(c[16112+((d[j>>0]|0)<<2)>>2]|0)+((c[k>>2]&rc)>>>(d[l>>0]|0))|0;rc=(c[16112+((d[p>>0]|0)<<2)>>2]|0)+((c[q>>2]&rc)>>>(d[i>>0]|0))|0;f=10;break}case 3:{v=0;z=P+((d[o>>0]|0)>>>3&255)|0;B=P+((d[l>>0]|0)>>>3&255)|0;rc=P+((d[i>>0]|0)>>>3&255)|0;f=10;break}case 4:{rc=c[P>>2]|0;v=rc;z=(c[16112+((d[m>>0]|0)<<2)>>2]|0)+((c[n>>2]&rc)>>>(d[o>>0]|0))|0;B=(c[16112+((d[j>>0]|0)<<2)>>2]|0)+((c[k>>2]&rc)>>>(d[l>>0]|0))|0;rc=(c[16112+((d[p>>0]|0)<<2)>>2]|0)+((c[q>>2]&rc)>>>(d[i>>0]|0))|0;f=10;break}default:{u=0;x=0;y=0;A=0}}if((f|0)==10){u=v;x=a[rc>>0]|0;y=a[z>>0]|0;A=a[B>>0]|0}if((u&Lc|0)!=(Jc|0))a[Q>>0]=(y&255)>>>5<<2|A&-32&255|(x&255)>>>6;La=w;Wa=P+Nc|0;Xa=Q+1|0;f=14;continue}else if((f|0)==14){f=0;switch(Mc<<24>>24){case 1:{sc=d[Wa>>0]|0;O=sc;Oa=(c[16112+((d[m>>0]|0)<<2)>>2]|0)+((c[n>>2]&sc)>>>(d[o>>0]|0))|0;Qa=(c[16112+((d[j>>0]|0)<<2)>>2]|0)+((c[k>>2]&sc)>>>(d[l>>0]|0))|0;sc=(c[16112+((d[p>>0]|0)<<2)>>2]|0)+((c[q>>2]&sc)>>>(d[i>>0]|0))|0;f=19;break}case 2:{sc=e[Wa>>1]|0;O=sc;Oa=(c[16112+((d[m>>0]|0)<<2)>>2]|0)+((c[n>>2]&sc)>>>(d[o>>0]|0))|0;Qa=(c[16112+((d[j>>0]|0)<<2)>>2]|0)+((c[k>>2]&sc)>>>(d[l>>0]|0))|0;sc=(c[16112+((d[p>>0]|0)<<2)>>2]|0)+((c[q>>2]&sc)>>>(d[i>>0]|0))|0;f=19;break}case 3:{O=0;Oa=Wa+((d[o>>0]|0)>>>3&255)|0;Qa=Wa+((d[l>>0]|0)>>>3&255)|0;sc=Wa+((d[i>>0]|0)>>>3&255)|0;f=19;break}case 4:{sc=c[Wa>>2]|0;O=sc;Oa=(c[16112+((d[m>>0]|0)<<2)>>2]|0)+((c[n>>2]&sc)>>>(d[o>>0]|0))|0;Qa=(c[16112+((d[j>>0]|0)<<2)>>2]|0)+((c[k>>2]&sc)>>>(d[l>>0]|0))|0;sc=(c[16112+((d[p>>0]|0)<<2)>>2]|0)+((c[q>>2]&sc)>>>(d[i>>0]|0))|0;f=19;break}default:{N=0;Ma=0;Na=0;Pa=0}}if((f|0)==19){N=O;Ma=a[sc>>0]|0;Na=a[Oa>>0]|0;Pa=a[Qa>>0]|0}if((N&Lc|0)!=(Jc|0))a[Xa>>0]=(Na&255)>>>5<<2|Pa&-32&255|(Ma&255)>>>6;Ya=La;fb=Wa+Nc|0;gb=Xa+1|0;f=23;continue}else if((f|0)==23){f=0;switch(Mc<<24>>24){case 1:{tc=d[fb>>0]|0;Ta=(c[16112+((d[j>>0]|0)<<2)>>2]|0)+((c[k>>2]&tc)>>>(d[l>>0]|0))|0;Va=tc;$a=(c[16112+((d[m>>0]|0)<<2)>>2]|0)+((c[n>>2]&tc)>>>(d[o>>0]|0))|0;tc=(c[16112+((d[p>>0]|0)<<2)>>2]|0)+((c[q>>2]&tc)>>>(d[i>>0]|0))|0;f=28;break}case 2:{tc=e[fb>>1]|0;Ta=(c[16112+((d[j>>0]|0)<<2)>>2]|0)+((c[k>>2]&tc)>>>(d[l>>0]|0))|0;Va=tc;$a=(c[16112+((d[m>>0]|0)<<2)>>2]|0)+((c[n>>2]&tc)>>>(d[o>>0]|0))|0;tc=(c[16112+((d[p>>0]|0)<<2)>>2]|0)+((c[q>>2]&tc)>>>(d[i>>0]|0))|0;f=28;break}case 3:{Ta=fb+((d[l>>0]|0)>>>3&255)|0;Va=0;$a=fb+((d[o>>0]|0)>>>3&255)|0;tc=fb+((d[i>>0]|0)>>>3&255)|0;f=28;break}case 4:{tc=c[fb>>2]|0;Ta=(c[16112+((d[j>>0]|0)<<2)>>2]|0)+((c[k>>2]&tc)>>>(d[l>>0]|0))|0;Va=tc;$a=(c[16112+((d[m>>0]|0)<<2)>>2]|0)+((c[n>>2]&tc)>>>(d[o>>0]|0))|0;tc=(c[16112+((d[p>>0]|0)<<2)>>2]|0)+((c[q>>2]&tc)>>>(d[i>>0]|0))|0;f=28;break}default:{Sa=0;Ua=0;Za=0;_a=0}}if((f|0)==28){Sa=a[Ta>>0]|0;Ua=Va;Za=a[tc>>0]|0;_a=a[$a>>0]|0}if((Ua&Lc|0)!=(Jc|0))a[gb>>0]=(_a&255)>>>5<<2|Sa&-32&255|(Za&255)>>>6;hb=Ya;qb=fb+Nc|0;rb=gb+1|0;f=32;continue}else if((f|0)==32){f=0;switch(Mc<<24>>24){case 1:{uc=d[qb>>0]|0;cb=(c[16112+((d[j>>0]|0)<<2)>>2]|0)+((c[k>>2]&uc)>>>(d[l>>0]|0))|0;eb=uc;kb=(c[16112+((d[m>>0]|0)<<2)>>2]|0)+((c[n>>2]&uc)>>>(d[o>>0]|0))|0;uc=(c[16112+((d[p>>0]|0)<<2)>>2]|0)+((c[q>>2]&uc)>>>(d[i>>0]|0))|0;f=37;break}case 2:{uc=e[qb>>1]|0;cb=(c[16112+((d[j>>0]|0)<<2)>>2]|0)+((c[k>>2]&uc)>>>(d[l>>0]|0))|0;eb=uc;kb=(c[16112+((d[m>>0]|0)<<2)>>2]|0)+((c[n>>2]&uc)>>>(d[o>>0]|0))|0;uc=(c[16112+((d[p>>0]|0)<<2)>>2]|0)+((c[q>>2]&uc)>>>(d[i>>0]|0))|0;f=37;break}case 3:{cb=qb+((d[l>>0]|0)>>>3&255)|0;eb=0;kb=qb+((d[o>>0]|0)>>>3&255)|0;uc=qb+((d[i>>0]|0)>>>3&255)|0;f=37;break}case 4:{uc=c[qb>>2]|0;cb=(c[16112+((d[j>>0]|0)<<2)>>2]|0)+((c[k>>2]&uc)>>>(d[l>>0]|0))|0;eb=uc;kb=(c[16112+((d[m>>0]|0)<<2)>>2]|0)+((c[n>>2]&uc)>>>(d[o>>0]|0))|0;uc=(c[16112+((d[p>>0]|0)<<2)>>2]|0)+((c[q>>2]&uc)>>>(d[i>>0]|0))|0;f=37;break}default:{bb=0;db=0;ib=0;jb=0}}if((f|0)==37){bb=a[cb>>0]|0;db=eb;ib=a[uc>>0]|0;jb=a[kb>>0]|0}if((db&Lc|0)!=(Jc|0))a[rb>>0]=(jb&255)>>>5<<2|bb&-32&255|(ib&255)>>>6;sb=hb;Bb=qb+Nc|0;Cb=rb+1|0;f=41;continue}else if((f|0)==41){f=0;switch(Mc<<24>>24){case 1:{vc=d[Bb>>0]|0;nb=(c[16112+((d[j>>0]|0)<<2)>>2]|0)+((c[k>>2]&vc)>>>(d[l>>0]|0))|0;pb=vc;vb=(c[16112+((d[m>>0]|0)<<2)>>2]|0)+((c[n>>2]&vc)>>>(d[o>>0]|0))|0;vc=(c[16112+((d[p>>0]|0)<<2)>>2]|0)+((c[q>>2]&vc)>>>(d[i>>0]|0))|0;f=46;break}case 2:{vc=e[Bb>>1]|0;nb=(c[16112+((d[j>>0]|0)<<2)>>2]|0)+((c[k>>2]&vc)>>>(d[l>>0]|0))|0;pb=vc;vb=(c[16112+((d[m>>0]|0)<<2)>>2]|0)+((c[n>>2]&vc)>>>(d[o>>0]|0))|0;vc=(c[16112+((d[p>>0]|0)<<2)>>2]|0)+((c[q>>2]&vc)>>>(d[i>>0]|0))|0;f=46;break}case 3:{nb=Bb+((d[l>>0]|0)>>>3&255)|0;pb=0;vb=Bb+((d[o>>0]|0)>>>3&255)|0;vc=Bb+((d[i>>0]|0)>>>3&255)|0;f=46;break}case 4:{vc=c[Bb>>2]|0;nb=(c[16112+((d[j>>0]|0)<<2)>>2]|0)+((c[k>>2]&vc)>>>(d[l>>0]|0))|0;pb=vc;vb=(c[16112+((d[m>>0]|0)<<2)>>2]|0)+((c[n>>2]&vc)>>>(d[o>>0]|0))|0;vc=(c[16112+((d[p>>0]|0)<<2)>>2]|0)+((c[q>>2]&vc)>>>(d[i>>0]|0))|0;f=46;break}default:{mb=0;ob=0;tb=0;ub=0}}if((f|0)==46){mb=a[nb>>0]|0;ob=pb;tb=a[vc>>0]|0;ub=a[vb>>0]|0}if((ob&Lc|0)!=(Jc|0))a[Cb>>0]=(ub&255)>>>5<<2|mb&-32&255|(tb&255)>>>6;Db=sb;Mb=Bb+Nc|0;Nb=Cb+1|0;f=50;continue}else if((f|0)==50){f=0;switch(Mc<<24>>24){case 1:{wc=d[Mb>>0]|0;yb=(c[16112+((d[j>>0]|0)<<2)>>2]|0)+((c[k>>2]&wc)>>>(d[l>>0]|0))|0;Ab=wc;Gb=(c[16112+((d[m>>0]|0)<<2)>>2]|0)+((c[n>>2]&wc)>>>(d[o>>0]|0))|0;wc=(c[16112+((d[p>>0]|0)<<2)>>2]|0)+((c[q>>2]&wc)>>>(d[i>>0]|0))|0;f=55;break}case 2:{wc=e[Mb>>1]|0;yb=(c[16112+((d[j>>0]|0)<<2)>>2]|0)+((c[k>>2]&wc)>>>(d[l>>0]|0))|0;Ab=wc;Gb=(c[16112+((d[m>>0]|0)<<2)>>2]|0)+((c[n>>2]&wc)>>>(d[o>>0]|0))|0;wc=(c[16112+((d[p>>0]|0)<<2)>>2]|0)+((c[q>>2]&wc)>>>(d[i>>0]|0))|0;f=55;break}case 3:{yb=Mb+((d[l>>0]|0)>>>3&255)|0;Ab=0;Gb=Mb+((d[o>>0]|0)>>>3&255)|0;wc=Mb+((d[i>>0]|0)>>>3&255)|0;f=55;break}case 4:{wc=c[Mb>>2]|0;yb=(c[16112+((d[j>>0]|0)<<2)>>2]|0)+((c[k>>2]&wc)>>>(d[l>>0]|0))|0;Ab=wc;Gb=(c[16112+((d[m>>0]|0)<<2)>>2]|0)+((c[n>>2]&wc)>>>(d[o>>0]|0))|0;wc=(c[16112+((d[p>>0]|0)<<2)>>2]|0)+((c[q>>2]&wc)>>>(d[i>>0]|0))|0;f=55;break}default:{xb=0;zb=0;Eb=0;Fb=0}}if((f|0)==55){xb=a[yb>>0]|0;zb=Ab;Eb=a[wc>>0]|0;Fb=a[Gb>>0]|0}if((zb&Lc|0)!=(Jc|0))a[Nb>>0]=(Fb&255)>>>5<<2|xb&-32&255|(Eb&255)>>>6;Ob=Db;Xb=Mb+Nc|0;Yb=Nb+1|0;f=59;continue}else if((f|0)==59){f=0;switch(Mc<<24>>24){case 1:{xc=d[Xb>>0]|0;Jb=(c[16112+((d[j>>0]|0)<<2)>>2]|0)+((c[k>>2]&xc)>>>(d[l>>0]|0))|0;Lb=xc;Rb=(c[16112+((d[m>>0]|0)<<2)>>2]|0)+((c[n>>2]&xc)>>>(d[o>>0]|0))|0;xc=(c[16112+((d[p>>0]|0)<<2)>>2]|0)+((c[q>>2]&xc)>>>(d[i>>0]|0))|0;f=64;break}case 2:{xc=e[Xb>>1]|0;Jb=(c[16112+((d[j>>0]|0)<<2)>>2]|0)+((c[k>>2]&xc)>>>(d[l>>0]|0))|0;Lb=xc;Rb=(c[16112+((d[m>>0]|0)<<2)>>2]|0)+((c[n>>2]&xc)>>>(d[o>>0]|0))|0;xc=(c[16112+((d[p>>0]|0)<<2)>>2]|0)+((c[q>>2]&xc)>>>(d[i>>0]|0))|0;f=64;break}case 3:{Jb=Xb+((d[l>>0]|0)>>>3&255)|0;Lb=0;Rb=Xb+((d[o>>0]|0)>>>3&255)|0;xc=Xb+((d[i>>0]|0)>>>3&255)|0;f=64;break}case 4:{xc=c[Xb>>2]|0;Jb=(c[16112+((d[j>>0]|0)<<2)>>2]|0)+((c[k>>2]&xc)>>>(d[l>>0]|0))|0;Lb=xc;Rb=(c[16112+((d[m>>0]|0)<<2)>>2]|0)+((c[n>>2]&xc)>>>(d[o>>0]|0))|0;xc=(c[16112+((d[p>>0]|0)<<2)>>2]|0)+((c[q>>2]&xc)>>>(d[i>>0]|0))|0;f=64;break}default:{Ib=0;Kb=0;Pb=0;Qb=0}}if((f|0)==64){Ib=a[Jb>>0]|0;Kb=Lb;Pb=a[xc>>0]|0;Qb=a[Rb>>0]|0}if((Kb&Lc|0)!=(Jc|0))a[Yb>>0]=(Qb&255)>>>5<<2|Ib&-32&255|(Pb&255)>>>6;Zb=Ob;gc=Xb+Nc|0;hc=Yb+1|0;f=68;continue}else if((f|0)==68){f=0;switch(Mc<<24>>24){case 1:{yc=d[gc>>0]|0;Ub=(c[16112+((d[j>>0]|0)<<2)>>2]|0)+((c[k>>2]&yc)>>>(d[l>>0]|0))|0;Wb=yc;ac=(c[16112+((d[m>>0]|0)<<2)>>2]|0)+((c[n>>2]&yc)>>>(d[o>>0]|0))|0;yc=(c[16112+((d[p>>0]|0)<<2)>>2]|0)+((c[q>>2]&yc)>>>(d[i>>0]|0))|0;f=73;break}case 2:{yc=e[gc>>1]|0;Ub=(c[16112+((d[j>>0]|0)<<2)>>2]|0)+((c[k>>2]&yc)>>>(d[l>>0]|0))|0;Wb=yc;ac=(c[16112+((d[m>>0]|0)<<2)>>2]|0)+((c[n>>2]&yc)>>>(d[o>>0]|0))|0;yc=(c[16112+((d[p>>0]|0)<<2)>>2]|0)+((c[q>>2]&yc)>>>(d[i>>0]|0))|0;f=73;break}case 3:{Ub=gc+((d[l>>0]|0)>>>3&255)|0;Wb=0;ac=gc+((d[o>>0]|0)>>>3&255)|0;yc=gc+((d[i>>0]|0)>>>3&255)|0;f=73;break}case 4:{yc=c[gc>>2]|0;Ub=(c[16112+((d[j>>0]|0)<<2)>>2]|0)+((c[k>>2]&yc)>>>(d[l>>0]|0))|0;Wb=yc;ac=(c[16112+((d[m>>0]|0)<<2)>>2]|0)+((c[n>>2]&yc)>>>(d[o>>0]|0))|0;yc=(c[16112+((d[p>>0]|0)<<2)>>2]|0)+((c[q>>2]&yc)>>>(d[i>>0]|0))|0;f=73;break}default:{Tb=0;Vb=0;_b=0;$b=0}}if((f|0)==73){Tb=a[Ub>>0]|0;Vb=Wb;_b=a[yc>>0]|0;$b=a[ac>>0]|0}if((Vb&Lc|0)!=(Jc|0))a[hc>>0]=($b&255)>>>5<<2|Tb&-32&255|(_b&255)>>>6;b=hc+1|0;f=gc+Nc|0;if((Zb|0)>1){w=Zb+-1|0;P=f;Q=b;f=5;continue}else break}if(!h){f=156;break}else{g=f+Oc|0;f=b+Kc|0;h=h+-1|0}}if((f|0)!=77)if((f|0)==156)return}else{if(b)return;s=(i+7|0)/8|0;r=i&255;j=Ic+28|0;k=Ic+12|0;l=Ic+32|0;m=Ic+29|0;n=Ic+16|0;o=Ic+33|0;p=Ic+30|0;q=Ic+20|0;i=Ic+34|0;b:while(1){switch(r&7){case 0:{t=s;I=g;J=f;f=82;break}case 7:{C=s;V=g;W=f;f=91;break}case 6:{ca=g;da=f;Ra=s;f=100;break}case 5:{la=g;ma=f;ab=s;f=109;break}case 4:{ua=g;va=f;lb=s;f=118;break}case 3:{Da=g;Ea=f;wb=s;f=127;break}case 2:{Ha=g;Ia=f;Hb=s;f=136;break}case 1:{Ja=g;Ka=f;Sb=s;f=145;break}default:{f=154;break b}}while(1)if((f|0)==82){f=0;switch(Mc<<24>>24){case 1:{zc=d[I>>0]|0;dc=(c[16112+((d[j>>0]|0)<<2)>>2]|0)+((c[k>>2]&zc)>>>(d[l>>0]|0))|0;fc=zc;jc=(c[16112+((d[m>>0]|0)<<2)>>2]|0)+((c[n>>2]&zc)>>>(d[o>>0]|0))|0;zc=(c[16112+((d[p>>0]|0)<<2)>>2]|0)+((c[q>>2]&zc)>>>(d[i>>0]|0))|0;f=87;break}case 2:{zc=e[I>>1]|0;dc=(c[16112+((d[j>>0]|0)<<2)>>2]|0)+((c[k>>2]&zc)>>>(d[l>>0]|0))|0;fc=zc;jc=(c[16112+((d[m>>0]|0)<<2)>>2]|0)+((c[n>>2]&zc)>>>(d[o>>0]|0))|0;zc=(c[16112+((d[p>>0]|0)<<2)>>2]|0)+((c[q>>2]&zc)>>>(d[i>>0]|0))|0;f=87;break}case 3:{dc=I+((d[l>>0]|0)>>>3&255)|0;fc=0;jc=I+((d[o>>0]|0)>>>3&255)|0;zc=I+((d[i>>0]|0)>>>3&255)|0;f=87;break}case 4:{zc=c[I>>2]|0;dc=(c[16112+((d[j>>0]|0)<<2)>>2]|0)+((c[k>>2]&zc)>>>(d[l>>0]|0))|0;fc=zc;jc=(c[16112+((d[m>>0]|0)<<2)>>2]|0)+((c[n>>2]&zc)>>>(d[o>>0]|0))|0;zc=(c[16112+((d[p>>0]|0)<<2)>>2]|0)+((c[q>>2]&zc)>>>(d[i>>0]|0))|0;f=87;break}default:{bc=0;cc=0;ec=0;ic=0}}if((f|0)==87){bc=a[zc>>0]|0;cc=a[dc>>0]|0;ec=fc;ic=a[jc>>0]|0}if((ec&Lc|0)!=(Jc|0))a[J>>0]=a[Hc+((ic&255)>>>5<<2|cc&-32&255|(bc&255)>>>6)>>0]|0;C=t;V=I+Nc|0;W=J+1|0;f=91;continue}else if((f|0)==91){f=0;switch(Mc<<24>>24){case 1:{Ac=d[V>>0]|0;mc=(c[16112+((d[j>>0]|0)<<2)>>2]|0)+((c[k>>2]&Ac)>>>(d[l>>0]|0))|0;oc=Ac;qc=(c[16112+((d[m>>0]|0)<<2)>>2]|0)+((c[n>>2]&Ac)>>>(d[o>>0]|0))|0;Ac=(c[16112+((d[p>>0]|0)<<2)>>2]|0)+((c[q>>2]&Ac)>>>(d[i>>0]|0))|0;f=96;break}case 2:{Ac=e[V>>1]|0;mc=(c[16112+((d[j>>0]|0)<<2)>>2]|0)+((c[k>>2]&Ac)>>>(d[l>>0]|0))|0;oc=Ac;qc=(c[16112+((d[m>>0]|0)<<2)>>2]|0)+((c[n>>2]&Ac)>>>(d[o>>0]|0))|0;Ac=(c[16112+((d[p>>0]|0)<<2)>>2]|0)+((c[q>>2]&Ac)>>>(d[i>>0]|0))|0;f=96;break}case 3:{mc=V+((d[l>>0]|0)>>>3&255)|0;oc=0;qc=V+((d[o>>0]|0)>>>3&255)|0;Ac=V+((d[i>>0]|0)>>>3&255)|0;f=96;break}case 4:{Ac=c[V>>2]|0;mc=(c[16112+((d[j>>0]|0)<<2)>>2]|0)+((c[k>>2]&Ac)>>>(d[l>>0]|0))|0;oc=Ac;qc=(c[16112+((d[m>>0]|0)<<2)>>2]|0)+((c[n>>2]&Ac)>>>(d[o>>0]|0))|0;Ac=(c[16112+((d[p>>0]|0)<<2)>>2]|0)+((c[q>>2]&Ac)>>>(d[i>>0]|0))|0;f=96;break}default:{kc=0;lc=0;nc=0;pc=0}}if((f|0)==96){kc=a[Ac>>0]|0;lc=a[mc>>0]|0;nc=oc;pc=a[qc>>0]|0}if((nc&Lc|0)!=(Jc|0))a[W>>0]=a[Hc+((pc&255)>>>5<<2|lc&-32&255|(kc&255)>>>6)>>0]|0;ca=V+Nc|0;da=W+1|0;Ra=C;f=100;continue}else if((f|0)==100){f=0;switch(Mc<<24>>24){case 1:{Bc=d[ca>>0]|0;F=(c[16112+((d[j>>0]|0)<<2)>>2]|0)+((c[k>>2]&Bc)>>>(d[l>>0]|0))|0;H=Bc;L=(c[16112+((d[m>>0]|0)<<2)>>2]|0)+((c[n>>2]&Bc)>>>(d[o>>0]|0))|0;Bc=(c[16112+((d[p>>0]|0)<<2)>>2]|0)+((c[q>>2]&Bc)>>>(d[i>>0]|0))|0;f=105;break}case 2:{Bc=e[ca>>1]|0;F=(c[16112+((d[j>>0]|0)<<2)>>2]|0)+((c[k>>2]&Bc)>>>(d[l>>0]|0))|0;H=Bc;L=(c[16112+((d[m>>0]|0)<<2)>>2]|0)+((c[n>>2]&Bc)>>>(d[o>>0]|0))|0;Bc=(c[16112+((d[p>>0]|0)<<2)>>2]|0)+((c[q>>2]&Bc)>>>(d[i>>0]|0))|0;f=105;break}case 3:{F=ca+((d[l>>0]|0)>>>3&255)|0;H=0;L=ca+((d[o>>0]|0)>>>3&255)|0;Bc=ca+((d[i>>0]|0)>>>3&255)|0;f=105;break}case 4:{Bc=c[ca>>2]|0;F=(c[16112+((d[j>>0]|0)<<2)>>2]|0)+((c[k>>2]&Bc)>>>(d[l>>0]|0))|0;H=Bc;L=(c[16112+((d[m>>0]|0)<<2)>>2]|0)+((c[n>>2]&Bc)>>>(d[o>>0]|0))|0;Bc=(c[16112+((d[p>>0]|0)<<2)>>2]|0)+((c[q>>2]&Bc)>>>(d[i>>0]|0))|0;f=105;break}default:{D=0;E=0;G=0;K=0}}if((f|0)==105){D=a[Bc>>0]|0;E=a[F>>0]|0;G=H;K=a[L>>0]|0}if((G&Lc|0)!=(Jc|0))a[da>>0]=a[Hc+((K&255)>>>5<<2|E&-32&255|(D&255)>>>6)>>0]|0;la=ca+Nc|0;ma=da+1|0;ab=Ra;f=109;continue}else if((f|0)==109){f=0;switch(Mc<<24>>24){case 1:{Cc=d[la>>0]|0;S=(c[16112+((d[j>>0]|0)<<2)>>2]|0)+((c[k>>2]&Cc)>>>(d[l>>0]|0))|0;U=Cc;Y=(c[16112+((d[m>>0]|0)<<2)>>2]|0)+((c[n>>2]&Cc)>>>(d[o>>0]|0))|0;Cc=(c[16112+((d[p>>0]|0)<<2)>>2]|0)+((c[q>>2]&Cc)>>>(d[i>>0]|0))|0;f=114;break}case 2:{Cc=e[la>>1]|0;S=(c[16112+((d[j>>0]|0)<<2)>>2]|0)+((c[k>>2]&Cc)>>>(d[l>>0]|0))|0;U=Cc;Y=(c[16112+((d[m>>0]|0)<<2)>>2]|0)+((c[n>>2]&Cc)>>>(d[o>>0]|0))|0;Cc=(c[16112+((d[p>>0]|0)<<2)>>2]|0)+((c[q>>2]&Cc)>>>(d[i>>0]|0))|0;f=114;break}case 3:{S=la+((d[l>>0]|0)>>>3&255)|0;U=0;Y=la+((d[o>>0]|0)>>>3&255)|0;Cc=la+((d[i>>0]|0)>>>3&255)|0;f=114;break}case 4:{Cc=c[la>>2]|0;S=(c[16112+((d[j>>0]|0)<<2)>>2]|0)+((c[k>>2]&Cc)>>>(d[l>>0]|0))|0;U=Cc;Y=(c[16112+((d[m>>0]|0)<<2)>>2]|0)+((c[n>>2]&Cc)>>>(d[o>>0]|0))|0;Cc=(c[16112+((d[p>>0]|0)<<2)>>2]|0)+((c[q>>2]&Cc)>>>(d[i>>0]|0))|0;f=114;break}default:{M=0;R=0;T=0;X=0}}if((f|0)==114){M=a[Cc>>0]|0;R=a[S>>0]|0;T=U;X=a[Y>>0]|0}if((T&Lc|0)!=(Jc|0))a[ma>>0]=a[Hc+((X&255)>>>5<<2|R&-32&255|(M&255)>>>6)>>0]|0;ua=la+Nc|0;va=ma+1|0;lb=ab;f=118;continue}else if((f|0)==118){f=0;switch(Mc<<24>>24){case 1:{Dc=d[ua>>0]|0;$=(c[16112+((d[j>>0]|0)<<2)>>2]|0)+((c[k>>2]&Dc)>>>(d[l>>0]|0))|0;ba=Dc;fa=(c[16112+((d[m>>0]|0)<<2)>>2]|0)+((c[n>>2]&Dc)>>>(d[o>>0]|0))|0;Dc=(c[16112+((d[p>>0]|0)<<2)>>2]|0)+((c[q>>2]&Dc)>>>(d[i>>0]|0))|0;f=123;break}case 2:{Dc=e[ua>>1]|0;$=(c[16112+((d[j>>0]|0)<<2)>>2]|0)+((c[k>>2]&Dc)>>>(d[l>>0]|0))|0;ba=Dc;fa=(c[16112+((d[m>>0]|0)<<2)>>2]|0)+((c[n>>2]&Dc)>>>(d[o>>0]|0))|0;Dc=(c[16112+((d[p>>0]|0)<<2)>>2]|0)+((c[q>>2]&Dc)>>>(d[i>>0]|0))|0;f=123;break}case 3:{$=ua+((d[l>>0]|0)>>>3&255)|0;ba=0;fa=ua+((d[o>>0]|0)>>>3&255)|0;Dc=ua+((d[i>>0]|0)>>>3&255)|0;f=123;break}case 4:{Dc=c[ua>>2]|0;$=(c[16112+((d[j>>0]|0)<<2)>>2]|0)+((c[k>>2]&Dc)>>>(d[l>>0]|0))|0;ba=Dc;fa=(c[16112+((d[m>>0]|0)<<2)>>2]|0)+((c[n>>2]&Dc)>>>(d[o>>0]|0))|0;Dc=(c[16112+((d[p>>0]|0)<<2)>>2]|0)+((c[q>>2]&Dc)>>>(d[i>>0]|0))|0;f=123;break}default:{Z=0;_=0;aa=0;ea=0}}if((f|0)==123){Z=a[Dc>>0]|0;_=a[$>>0]|0;aa=ba;ea=a[fa>>0]|0}if((aa&Lc|0)!=(Jc|0))a[va>>0]=a[Hc+((ea&255)>>>5<<2|_&-32&255|(Z&255)>>>6)>>0]|0;Da=ua+Nc|0;Ea=va+1|0;wb=lb;f=127;continue}else if((f|0)==127){f=0;switch(Mc<<24>>24){case 1:{Ec=d[Da>>0]|0;ia=(c[16112+((d[j>>0]|0)<<2)>>2]|0)+((c[k>>2]&Ec)>>>(d[l>>0]|0))|0;ka=Ec;oa=(c[16112+((d[m>>0]|0)<<2)>>2]|0)+((c[n>>2]&Ec)>>>(d[o>>0]|0))|0;Ec=(c[16112+((d[p>>0]|0)<<2)>>2]|0)+((c[q>>2]&Ec)>>>(d[i>>0]|0))|0;f=132;break}case 2:{Ec=e[Da>>1]|0;ia=(c[16112+((d[j>>0]|0)<<2)>>2]|0)+((c[k>>2]&Ec)>>>(d[l>>0]|0))|0;ka=Ec;oa=(c[16112+((d[m>>0]|0)<<2)>>2]|0)+((c[n>>2]&Ec)>>>(d[o>>0]|0))|0;Ec=(c[16112+((d[p>>0]|0)<<2)>>2]|0)+((c[q>>2]&Ec)>>>(d[i>>0]|0))|0;f=132;break}case 3:{ia=Da+((d[l>>0]|0)>>>3&255)|0;ka=0;oa=Da+((d[o>>0]|0)>>>3&255)|0;Ec=Da+((d[i>>0]|0)>>>3&255)|0;f=132;break}case 4:{Ec=c[Da>>2]|0;ia=(c[16112+((d[j>>0]|0)<<2)>>2]|0)+((c[k>>2]&Ec)>>>(d[l>>0]|0))|0;ka=Ec;oa=(c[16112+((d[m>>0]|0)<<2)>>2]|0)+((c[n>>2]&Ec)>>>(d[o>>0]|0))|0;Ec=(c[16112+((d[p>>0]|0)<<2)>>2]|0)+((c[q>>2]&Ec)>>>(d[i>>0]|0))|0;f=132;break}default:{ga=0;ha=0;ja=0;na=0}}if((f|0)==132){ga=a[Ec>>0]|0;ha=a[ia>>0]|0;ja=ka;na=a[oa>>0]|0}if((ja&Lc|0)!=(Jc|0))a[Ea>>0]=a[Hc+((na&255)>>>5<<2|ha&-32&255|(ga&255)>>>6)>>0]|0;Ha=Da+Nc|0;Ia=Ea+1|0;Hb=wb;f=136;continue}else if((f|0)==136){f=0;switch(Mc<<24>>24){case 1:{Fc=d[Ha>>0]|0;ra=(c[16112+((d[j>>0]|0)<<2)>>2]|0)+((c[k>>2]&Fc)>>>(d[l>>0]|0))|0;ta=Fc;xa=(c[16112+((d[m>>0]|0)<<2)>>2]|0)+((c[n>>2]&Fc)>>>(d[o>>0]|0))|0;Fc=(c[16112+((d[p>>0]|0)<<2)>>2]|0)+((c[q>>2]&Fc)>>>(d[i>>0]|0))|0;f=141;break}case 2:{Fc=e[Ha>>1]|0;ra=(c[16112+((d[j>>0]|0)<<2)>>2]|0)+((c[k>>2]&Fc)>>>(d[l>>0]|0))|0;ta=Fc;xa=(c[16112+((d[m>>0]|0)<<2)>>2]|0)+((c[n>>2]&Fc)>>>(d[o>>0]|0))|0;Fc=(c[16112+((d[p>>0]|0)<<2)>>2]|0)+((c[q>>2]&Fc)>>>(d[i>>0]|0))|0;f=141;break}case 3:{ra=Ha+((d[l>>0]|0)>>>3&255)|0;ta=0;xa=Ha+((d[o>>0]|0)>>>3&255)|0;Fc=Ha+((d[i>>0]|0)>>>3&255)|0;f=141;break}case 4:{Fc=c[Ha>>2]|0;ra=(c[16112+((d[j>>0]|0)<<2)>>2]|0)+((c[k>>2]&Fc)>>>(d[l>>0]|0))|0;ta=Fc;xa=(c[16112+((d[m>>0]|0)<<2)>>2]|0)+((c[n>>2]&Fc)>>>(d[o>>0]|0))|0;Fc=(c[16112+((d[p>>0]|0)<<2)>>2]|0)+((c[q>>2]&Fc)>>>(d[i>>0]|0))|0;f=141;break}default:{pa=0;qa=0;sa=0;wa=0}}if((f|0)==141){pa=a[Fc>>0]|0;qa=a[ra>>0]|0;sa=ta;wa=a[xa>>0]|0}if((sa&Lc|0)!=(Jc|0))a[Ia>>0]=a[Hc+((wa&255)>>>5<<2|qa&-32&255|(pa&255)>>>6)>>0]|0;Ja=Ha+Nc|0;Ka=Ia+1|0;Sb=Hb;f=145;continue}else if((f|0)==145){f=0;switch(Mc<<24>>24){case 1:{Gc=d[Ja>>0]|0;Aa=(c[16112+((d[j>>0]|0)<<2)>>2]|0)+((c[k>>2]&Gc)>>>(d[l>>0]|0))|0;Ca=Gc;Ga=(c[16112+((d[m>>0]|0)<<2)>>2]|0)+((c[n>>2]&Gc)>>>(d[o>>0]|0))|0;Gc=(c[16112+((d[p>>0]|0)<<2)>>2]|0)+((c[q>>2]&Gc)>>>(d[i>>0]|0))|0;f=150;break}case 2:{Gc=e[Ja>>1]|0;Aa=(c[16112+((d[j>>0]|0)<<2)>>2]|0)+((c[k>>2]&Gc)>>>(d[l>>0]|0))|0;Ca=Gc;Ga=(c[16112+((d[m>>0]|0)<<2)>>2]|0)+((c[n>>2]&Gc)>>>(d[o>>0]|0))|0;Gc=(c[16112+((d[p>>0]|0)<<2)>>2]|0)+((c[q>>2]&Gc)>>>(d[i>>0]|0))|0;f=150;break}case 3:{Aa=Ja+((d[l>>0]|0)>>>3&255)|0;Ca=0;Ga=Ja+((d[o>>0]|0)>>>3&255)|0;Gc=Ja+((d[i>>0]|0)>>>3&255)|0;f=150;break}case 4:{Gc=c[Ja>>2]|0;Aa=(c[16112+((d[j>>0]|0)<<2)>>2]|0)+((c[k>>2]&Gc)>>>(d[l>>0]|0))|0;Ca=Gc;Ga=(c[16112+((d[m>>0]|0)<<2)>>2]|0)+((c[n>>2]&Gc)>>>(d[o>>0]|0))|0;Gc=(c[16112+((d[p>>0]|0)<<2)>>2]|0)+((c[q>>2]&Gc)>>>(d[i>>0]|0))|0;f=150;break}default:{ya=0;za=0;Ba=0;Fa=0}}if((f|0)==150){ya=a[Gc>>0]|0;za=a[Aa>>0]|0;Ba=Ca;Fa=a[Ga>>0]|0}if((Ba&Lc|0)!=(Jc|0))a[Ka>>0]=a[Hc+((Fa&255)>>>5<<2|za&-32&255|(ya&255)>>>6)>>0]|0;b=Ka+1|0;f=Ja+Nc|0;if((Sb|0)>1){t=Sb+-1|0;I=f;J=b;f=82;continue}else break}if(!h){f=156;break}else{g=f+Oc|0;f=b+Kc|0;h=h+-1|0}}if((f|0)!=154)if((f|0)==156)return}}function xEa(f){f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0;g=c[f+24>>2]|0;j=c[f+28>>2]|0;T=c[f+16>>2]|0;U=c[f+36>>2]|0;h=c[f+40>>2]|0;i=c[f+44>>2]|0;N=h+24|0;O=~c[N>>2];P=a[h+9>>0]|0;Q=a[i+9>>0]|0;R=c[f+56>>2]&O;if(!j)return;S=(g+7|0)/8|0;M=g&255;B=P&255;C=h+28|0;D=h+12|0;E=h+32|0;F=h+29|0;G=h+16|0;H=h+33|0;I=h+30|0;J=h+20|0;K=h+34|0;L=h+31|0;s=h+35|0;t=Q&255;u=i+28|0;v=i+32|0;w=i+29|0;x=i+33|0;y=i+30|0;z=i+34|0;A=i+31|0;r=i+35|0;g=c[f>>2]|0;h=c[f+20>>2]|0;a:while(1){j=j+-1|0;switch(M&7){case 0:{q=S;i=4;break}case 7:{q=S;i=16;break}case 6:{q=S;i=28;break}case 5:{q=S;i=40;break}case 4:{q=S;i=52;break}case 3:{q=S;i=64;break}case 2:{q=S;i=76;break}case 1:{q=S;i=88;break}default:{i=100;break a}}while(1)if((i|0)==4){switch(P<<24>>24){case 1:{i=d[g>>0]|0;f=i;l=a[(c[16112+((d[C>>0]|0)<<2)>>2]|0)+((c[D>>2]&i)>>>(d[E>>0]|0))>>0]|0;n=a[(c[16112+((d[F>>0]|0)<<2)>>2]|0)+((c[G>>2]&i)>>>(d[H>>0]|0))>>0]|0;p=a[(c[16112+((d[I>>0]|0)<<2)>>2]|0)+((c[J>>2]&i)>>>(d[K>>0]|0))>>0]|0;i=a[(c[16112+((d[L>>0]|0)<<2)>>2]|0)+((c[N>>2]&i)>>>(d[s>>0]|0))>>0]|0;break}case 2:{i=e[g>>1]|0;f=i;l=a[(c[16112+((d[C>>0]|0)<<2)>>2]|0)+((c[D>>2]&i)>>>(d[E>>0]|0))>>0]|0;n=a[(c[16112+((d[F>>0]|0)<<2)>>2]|0)+((c[G>>2]&i)>>>(d[H>>0]|0))>>0]|0;p=a[(c[16112+((d[I>>0]|0)<<2)>>2]|0)+((c[J>>2]&i)>>>(d[K>>0]|0))>>0]|0;i=a[(c[16112+((d[L>>0]|0)<<2)>>2]|0)+((c[N>>2]&i)>>>(d[s>>0]|0))>>0]|0;break}case 3:{f=0;l=a[g+((d[E>>0]|0)>>>3&255)>>0]|0;n=a[g+((d[H>>0]|0)>>>3&255)>>0]|0;p=a[g+((d[K>>0]|0)>>>3&255)>>0]|0;i=-1;break}case 4:{i=c[g>>2]|0;f=i;l=a[(c[16112+((d[C>>0]|0)<<2)>>2]|0)+((c[D>>2]&i)>>>(d[E>>0]|0))>>0]|0;n=a[(c[16112+((d[F>>0]|0)<<2)>>2]|0)+((c[G>>2]&i)>>>(d[H>>0]|0))>>0]|0;p=a[(c[16112+((d[I>>0]|0)<<2)>>2]|0)+((c[J>>2]&i)>>>(d[K>>0]|0))>>0]|0;i=a[(c[16112+((d[L>>0]|0)<<2)>>2]|0)+((c[N>>2]&i)>>>(d[s>>0]|0))>>0]|0;break}default:{f=0;l=0;n=0;p=0;i=0}}k=l&255;m=n&255;o=p&255;i=i&255;b:do if((f&O|0)!=(R|0))switch(Q<<24>>24){case 1:{a[h>>0]=m>>>(d[w>>0]|0)<<(d[x>>0]|0)|k>>>(d[u>>0]|0)<<(d[v>>0]|0)|o>>>(d[y>>0]|0)<<(d[z>>0]|0)|i>>>(d[A>>0]|0)<<(d[r>>0]|0);break b}case 2:{b[h>>1]=m>>>(d[w>>0]|0)<<(d[x>>0]|0)|k>>>(d[u>>0]|0)<<(d[v>>0]|0)|o>>>(d[y>>0]|0)<<(d[z>>0]|0)|i>>>(d[A>>0]|0)<<(d[r>>0]|0);break b}case 3:{a[h+((d[v>>0]|0)>>>3&255)>>0]=l;a[h+((d[x>>0]|0)>>>3&255)>>0]=n;a[h+((d[z>>0]|0)>>>3&255)>>0]=p;break b}case 4:{c[h>>2]=m>>>(d[w>>0]|0)<<(d[x>>0]|0)|k>>>(d[u>>0]|0)<<(d[v>>0]|0)|o>>>(d[y>>0]|0)<<(d[z>>0]|0)|i>>>(d[A>>0]|0)<<(d[r>>0]|0);break b}default:break b}while(0);g=g+B|0;h=h+t|0;i=16;continue}else if((i|0)==16){switch(P<<24>>24){case 1:{i=d[g>>0]|0;f=i;l=a[(c[16112+((d[C>>0]|0)<<2)>>2]|0)+((c[D>>2]&i)>>>(d[E>>0]|0))>>0]|0;n=a[(c[16112+((d[F>>0]|0)<<2)>>2]|0)+((c[G>>2]&i)>>>(d[H>>0]|0))>>0]|0;p=a[(c[16112+((d[I>>0]|0)<<2)>>2]|0)+((c[J>>2]&i)>>>(d[K>>0]|0))>>0]|0;i=a[(c[16112+((d[L>>0]|0)<<2)>>2]|0)+((c[N>>2]&i)>>>(d[s>>0]|0))>>0]|0;break}case 2:{i=e[g>>1]|0;f=i;l=a[(c[16112+((d[C>>0]|0)<<2)>>2]|0)+((c[D>>2]&i)>>>(d[E>>0]|0))>>0]|0;n=a[(c[16112+((d[F>>0]|0)<<2)>>2]|0)+((c[G>>2]&i)>>>(d[H>>0]|0))>>0]|0;p=a[(c[16112+((d[I>>0]|0)<<2)>>2]|0)+((c[J>>2]&i)>>>(d[K>>0]|0))>>0]|0;i=a[(c[16112+((d[L>>0]|0)<<2)>>2]|0)+((c[N>>2]&i)>>>(d[s>>0]|0))>>0]|0;break}case 3:{f=0;l=a[g+((d[E>>0]|0)>>>3&255)>>0]|0;n=a[g+((d[H>>0]|0)>>>3&255)>>0]|0;p=a[g+((d[K>>0]|0)>>>3&255)>>0]|0;i=-1;break}case 4:{i=c[g>>2]|0;f=i;l=a[(c[16112+((d[C>>0]|0)<<2)>>2]|0)+((c[D>>2]&i)>>>(d[E>>0]|0))>>0]|0;n=a[(c[16112+((d[F>>0]|0)<<2)>>2]|0)+((c[G>>2]&i)>>>(d[H>>0]|0))>>0]|0;p=a[(c[16112+((d[I>>0]|0)<<2)>>2]|0)+((c[J>>2]&i)>>>(d[K>>0]|0))>>0]|0;i=a[(c[16112+((d[L>>0]|0)<<2)>>2]|0)+((c[N>>2]&i)>>>(d[s>>0]|0))>>0]|0;break}default:{f=0;l=0;n=0;p=0;i=0}}k=l&255;m=n&255;o=p&255;i=i&255;c:do if((f&O|0)!=(R|0))switch(Q<<24>>24){case 1:{a[h>>0]=m>>>(d[w>>0]|0)<<(d[x>>0]|0)|k>>>(d[u>>0]|0)<<(d[v>>0]|0)|o>>>(d[y>>0]|0)<<(d[z>>0]|0)|i>>>(d[A>>0]|0)<<(d[r>>0]|0);break c}case 2:{b[h>>1]=m>>>(d[w>>0]|0)<<(d[x>>0]|0)|k>>>(d[u>>0]|0)<<(d[v>>0]|0)|o>>>(d[y>>0]|0)<<(d[z>>0]|0)|i>>>(d[A>>0]|0)<<(d[r>>0]|0);break c}case 3:{a[h+((d[v>>0]|0)>>>3&255)>>0]=l;a[h+((d[x>>0]|0)>>>3&255)>>0]=n;a[h+((d[z>>0]|0)>>>3&255)>>0]=p;break c}case 4:{c[h>>2]=m>>>(d[w>>0]|0)<<(d[x>>0]|0)|k>>>(d[u>>0]|0)<<(d[v>>0]|0)|o>>>(d[y>>0]|0)<<(d[z>>0]|0)|i>>>(d[A>>0]|0)<<(d[r>>0]|0);break c}default:break c}while(0);g=g+B|0;h=h+t|0;i=28;continue}else if((i|0)==28){switch(P<<24>>24){case 1:{i=d[g>>0]|0;f=i;l=a[(c[16112+((d[C>>0]|0)<<2)>>2]|0)+((c[D>>2]&i)>>>(d[E>>0]|0))>>0]|0;n=a[(c[16112+((d[F>>0]|0)<<2)>>2]|0)+((c[G>>2]&i)>>>(d[H>>0]|0))>>0]|0;p=a[(c[16112+((d[I>>0]|0)<<2)>>2]|0)+((c[J>>2]&i)>>>(d[K>>0]|0))>>0]|0;i=a[(c[16112+((d[L>>0]|0)<<2)>>2]|0)+((c[N>>2]&i)>>>(d[s>>0]|0))>>0]|0;break}case 2:{i=e[g>>1]|0;f=i;l=a[(c[16112+((d[C>>0]|0)<<2)>>2]|0)+((c[D>>2]&i)>>>(d[E>>0]|0))>>0]|0;n=a[(c[16112+((d[F>>0]|0)<<2)>>2]|0)+((c[G>>2]&i)>>>(d[H>>0]|0))>>0]|0;p=a[(c[16112+((d[I>>0]|0)<<2)>>2]|0)+((c[J>>2]&i)>>>(d[K>>0]|0))>>0]|0;i=a[(c[16112+((d[L>>0]|0)<<2)>>2]|0)+((c[N>>2]&i)>>>(d[s>>0]|0))>>0]|0;break}case 3:{f=0;l=a[g+((d[E>>0]|0)>>>3&255)>>0]|0;n=a[g+((d[H>>0]|0)>>>3&255)>>0]|0;p=a[g+((d[K>>0]|0)>>>3&255)>>0]|0;i=-1;break}case 4:{i=c[g>>2]|0;f=i;l=a[(c[16112+((d[C>>0]|0)<<2)>>2]|0)+((c[D>>2]&i)>>>(d[E>>0]|0))>>0]|0;n=a[(c[16112+((d[F>>0]|0)<<2)>>2]|0)+((c[G>>2]&i)>>>(d[H>>0]|0))>>0]|0;p=a[(c[16112+((d[I>>0]|0)<<2)>>2]|0)+((c[J>>2]&i)>>>(d[K>>0]|0))>>0]|0;i=a[(c[16112+((d[L>>0]|0)<<2)>>2]|0)+((c[N>>2]&i)>>>(d[s>>0]|0))>>0]|0;break}default:{f=0;l=0;n=0;p=0;i=0}}k=l&255;m=n&255;o=p&255;i=i&255;d:do if((f&O|0)!=(R|0))switch(Q<<24>>24){case 1:{a[h>>0]=m>>>(d[w>>0]|0)<<(d[x>>0]|0)|k>>>(d[u>>0]|0)<<(d[v>>0]|0)|o>>>(d[y>>0]|0)<<(d[z>>0]|0)|i>>>(d[A>>0]|0)<<(d[r>>0]|0);break d}case 2:{b[h>>1]=m>>>(d[w>>0]|0)<<(d[x>>0]|0)|k>>>(d[u>>0]|0)<<(d[v>>0]|0)|o>>>(d[y>>0]|0)<<(d[z>>0]|0)|i>>>(d[A>>0]|0)<<(d[r>>0]|0);break d}case 3:{a[h+((d[v>>0]|0)>>>3&255)>>0]=l;a[h+((d[x>>0]|0)>>>3&255)>>0]=n;a[h+((d[z>>0]|0)>>>3&255)>>0]=p;break d}case 4:{c[h>>2]=m>>>(d[w>>0]|0)<<(d[x>>0]|0)|k>>>(d[u>>0]|0)<<(d[v>>0]|0)|o>>>(d[y>>0]|0)<<(d[z>>0]|0)|i>>>(d[A>>0]|0)<<(d[r>>0]|0);break d}default:break d}while(0);g=g+B|0;h=h+t|0;i=40;continue}else if((i|0)==40){switch(P<<24>>24){case 1:{i=d[g>>0]|0;f=i;l=a[(c[16112+((d[C>>0]|0)<<2)>>2]|0)+((c[D>>2]&i)>>>(d[E>>0]|0))>>0]|0;n=a[(c[16112+((d[F>>0]|0)<<2)>>2]|0)+((c[G>>2]&i)>>>(d[H>>0]|0))>>0]|0;p=a[(c[16112+((d[I>>0]|0)<<2)>>2]|0)+((c[J>>2]&i)>>>(d[K>>0]|0))>>0]|0;i=a[(c[16112+((d[L>>0]|0)<<2)>>2]|0)+((c[N>>2]&i)>>>(d[s>>0]|0))>>0]|0;break}case 2:{i=e[g>>1]|0;f=i;l=a[(c[16112+((d[C>>0]|0)<<2)>>2]|0)+((c[D>>2]&i)>>>(d[E>>0]|0))>>0]|0;n=a[(c[16112+((d[F>>0]|0)<<2)>>2]|0)+((c[G>>2]&i)>>>(d[H>>0]|0))>>0]|0;p=a[(c[16112+((d[I>>0]|0)<<2)>>2]|0)+((c[J>>2]&i)>>>(d[K>>0]|0))>>0]|0;i=a[(c[16112+((d[L>>0]|0)<<2)>>2]|0)+((c[N>>2]&i)>>>(d[s>>0]|0))>>0]|0;break}case 3:{f=0;l=a[g+((d[E>>0]|0)>>>3&255)>>0]|0;n=a[g+((d[H>>0]|0)>>>3&255)>>0]|0;p=a[g+((d[K>>0]|0)>>>3&255)>>0]|0;i=-1;break}case 4:{i=c[g>>2]|0;f=i;l=a[(c[16112+((d[C>>0]|0)<<2)>>2]|0)+((c[D>>2]&i)>>>(d[E>>0]|0))>>0]|0;n=a[(c[16112+((d[F>>0]|0)<<2)>>2]|0)+((c[G>>2]&i)>>>(d[H>>0]|0))>>0]|0;p=a[(c[16112+((d[I>>0]|0)<<2)>>2]|0)+((c[J>>2]&i)>>>(d[K>>0]|0))>>0]|0;i=a[(c[16112+((d[L>>0]|0)<<2)>>2]|0)+((c[N>>2]&i)>>>(d[s>>0]|0))>>0]|0;break}default:{f=0;l=0;n=0;p=0;i=0}}k=l&255;m=n&255;o=p&255;i=i&255;e:do if((f&O|0)!=(R|0))switch(Q<<24>>24){case 1:{a[h>>0]=m>>>(d[w>>0]|0)<<(d[x>>0]|0)|k>>>(d[u>>0]|0)<<(d[v>>0]|0)|o>>>(d[y>>0]|0)<<(d[z>>0]|0)|i>>>(d[A>>0]|0)<<(d[r>>0]|0);break e}case 2:{b[h>>1]=m>>>(d[w>>0]|0)<<(d[x>>0]|0)|k>>>(d[u>>0]|0)<<(d[v>>0]|0)|o>>>(d[y>>0]|0)<<(d[z>>0]|0)|i>>>(d[A>>0]|0)<<(d[r>>0]|0);break e}case 3:{a[h+((d[v>>0]|0)>>>3&255)>>0]=l;a[h+((d[x>>0]|0)>>>3&255)>>0]=n;a[h+((d[z>>0]|0)>>>3&255)>>0]=p;break e}case 4:{c[h>>2]=m>>>(d[w>>0]|0)<<(d[x>>0]|0)|k>>>(d[u>>0]|0)<<(d[v>>0]|0)|o>>>(d[y>>0]|0)<<(d[z>>0]|0)|i>>>(d[A>>0]|0)<<(d[r>>0]|0);break e}default:break e}while(0);g=g+B|0;h=h+t|0;i=52;continue}else if((i|0)==52){switch(P<<24>>24){case 1:{i=d[g>>0]|0;f=i;l=a[(c[16112+((d[C>>0]|0)<<2)>>2]|0)+((c[D>>2]&i)>>>(d[E>>0]|0))>>0]|0;n=a[(c[16112+((d[F>>0]|0)<<2)>>2]|0)+((c[G>>2]&i)>>>(d[H>>0]|0))>>0]|0;p=a[(c[16112+((d[I>>0]|0)<<2)>>2]|0)+((c[J>>2]&i)>>>(d[K>>0]|0))>>0]|0;i=a[(c[16112+((d[L>>0]|0)<<2)>>2]|0)+((c[N>>2]&i)>>>(d[s>>0]|0))>>0]|0;break}case 2:{i=e[g>>1]|0;f=i;l=a[(c[16112+((d[C>>0]|0)<<2)>>2]|0)+((c[D>>2]&i)>>>(d[E>>0]|0))>>0]|0;n=a[(c[16112+((d[F>>0]|0)<<2)>>2]|0)+((c[G>>2]&i)>>>(d[H>>0]|0))>>0]|0;p=a[(c[16112+((d[I>>0]|0)<<2)>>2]|0)+((c[J>>2]&i)>>>(d[K>>0]|0))>>0]|0;i=a[(c[16112+((d[L>>0]|0)<<2)>>2]|0)+((c[N>>2]&i)>>>(d[s>>0]|0))>>0]|0;break}case 3:{f=0;l=a[g+((d[E>>0]|0)>>>3&255)>>0]|0;n=a[g+((d[H>>0]|0)>>>3&255)>>0]|0;p=a[g+((d[K>>0]|0)>>>3&255)>>0]|0;i=-1;break}case 4:{i=c[g>>2]|0;f=i;l=a[(c[16112+((d[C>>0]|0)<<2)>>2]|0)+((c[D>>2]&i)>>>(d[E>>0]|0))>>0]|0;n=a[(c[16112+((d[F>>0]|0)<<2)>>2]|0)+((c[G>>2]&i)>>>(d[H>>0]|0))>>0]|0;p=a[(c[16112+((d[I>>0]|0)<<2)>>2]|0)+((c[J>>2]&i)>>>(d[K>>0]|0))>>0]|0;i=a[(c[16112+((d[L>>0]|0)<<2)>>2]|0)+((c[N>>2]&i)>>>(d[s>>0]|0))>>0]|0;break}default:{f=0;l=0;n=0;p=0;i=0}}k=l&255;m=n&255;o=p&255;i=i&255;f:do if((f&O|0)!=(R|0))switch(Q<<24>>24){case 1:{a[h>>0]=m>>>(d[w>>0]|0)<<(d[x>>0]|0)|k>>>(d[u>>0]|0)<<(d[v>>0]|0)|o>>>(d[y>>0]|0)<<(d[z>>0]|0)|i>>>(d[A>>0]|0)<<(d[r>>0]|0);break f}case 2:{b[h>>1]=m>>>(d[w>>0]|0)<<(d[x>>0]|0)|k>>>(d[u>>0]|0)<<(d[v>>0]|0)|o>>>(d[y>>0]|0)<<(d[z>>0]|0)|i>>>(d[A>>0]|0)<<(d[r>>0]|0);break f}case 3:{a[h+((d[v>>0]|0)>>>3&255)>>0]=l;a[h+((d[x>>0]|0)>>>3&255)>>0]=n;a[h+((d[z>>0]|0)>>>3&255)>>0]=p;break f}case 4:{c[h>>2]=m>>>(d[w>>0]|0)<<(d[x>>0]|0)|k>>>(d[u>>0]|0)<<(d[v>>0]|0)|o>>>(d[y>>0]|0)<<(d[z>>0]|0)|i>>>(d[A>>0]|0)<<(d[r>>0]|0);break f}default:break f}while(0);g=g+B|0;h=h+t|0;i=64;continue}else if((i|0)==64){switch(P<<24>>24){case 1:{i=d[g>>0]|0;f=i;l=a[(c[16112+((d[C>>0]|0)<<2)>>2]|0)+((c[D>>2]&i)>>>(d[E>>0]|0))>>0]|0;n=a[(c[16112+((d[F>>0]|0)<<2)>>2]|0)+((c[G>>2]&i)>>>(d[H>>0]|0))>>0]|0;p=a[(c[16112+((d[I>>0]|0)<<2)>>2]|0)+((c[J>>2]&i)>>>(d[K>>0]|0))>>0]|0;i=a[(c[16112+((d[L>>0]|0)<<2)>>2]|0)+((c[N>>2]&i)>>>(d[s>>0]|0))>>0]|0;break}case 2:{i=e[g>>1]|0;f=i;l=a[(c[16112+((d[C>>0]|0)<<2)>>2]|0)+((c[D>>2]&i)>>>(d[E>>0]|0))>>0]|0;n=a[(c[16112+((d[F>>0]|0)<<2)>>2]|0)+((c[G>>2]&i)>>>(d[H>>0]|0))>>0]|0;p=a[(c[16112+((d[I>>0]|0)<<2)>>2]|0)+((c[J>>2]&i)>>>(d[K>>0]|0))>>0]|0;i=a[(c[16112+((d[L>>0]|0)<<2)>>2]|0)+((c[N>>2]&i)>>>(d[s>>0]|0))>>0]|0;break}case 3:{f=0;l=a[g+((d[E>>0]|0)>>>3&255)>>0]|0;n=a[g+((d[H>>0]|0)>>>3&255)>>0]|0;p=a[g+((d[K>>0]|0)>>>3&255)>>0]|0;i=-1;break}case 4:{i=c[g>>2]|0;f=i;l=a[(c[16112+((d[C>>0]|0)<<2)>>2]|0)+((c[D>>2]&i)>>>(d[E>>0]|0))>>0]|0;n=a[(c[16112+((d[F>>0]|0)<<2)>>2]|0)+((c[G>>2]&i)>>>(d[H>>0]|0))>>0]|0;p=a[(c[16112+((d[I>>0]|0)<<2)>>2]|0)+((c[J>>2]&i)>>>(d[K>>0]|0))>>0]|0;i=a[(c[16112+((d[L>>0]|0)<<2)>>2]|0)+((c[N>>2]&i)>>>(d[s>>0]|0))>>0]|0;break}default:{f=0;l=0;n=0;p=0;i=0}}k=l&255;m=n&255;o=p&255;i=i&255;g:do if((f&O|0)!=(R|0))switch(Q<<24>>24){case 1:{a[h>>0]=m>>>(d[w>>0]|0)<<(d[x>>0]|0)|k>>>(d[u>>0]|0)<<(d[v>>0]|0)|o>>>(d[y>>0]|0)<<(d[z>>0]|0)|i>>>(d[A>>0]|0)<<(d[r>>0]|0);break g}case 2:{b[h>>1]=m>>>(d[w>>0]|0)<<(d[x>>0]|0)|k>>>(d[u>>0]|0)<<(d[v>>0]|0)|o>>>(d[y>>0]|0)<<(d[z>>0]|0)|i>>>(d[A>>0]|0)<<(d[r>>0]|0);break g}case 3:{a[h+((d[v>>0]|0)>>>3&255)>>0]=l;a[h+((d[x>>0]|0)>>>3&255)>>0]=n;a[h+((d[z>>0]|0)>>>3&255)>>0]=p;break g}case 4:{c[h>>2]=m>>>(d[w>>0]|0)<<(d[x>>0]|0)|k>>>(d[u>>0]|0)<<(d[v>>0]|0)|o>>>(d[y>>0]|0)<<(d[z>>0]|0)|i>>>(d[A>>0]|0)<<(d[r>>0]|0);break g}default:break g}while(0);g=g+B|0;h=h+t|0;i=76;continue}else if((i|0)==76){switch(P<<24>>24){case 1:{i=d[g>>0]|0;f=i;l=a[(c[16112+((d[C>>0]|0)<<2)>>2]|0)+((c[D>>2]&i)>>>(d[E>>0]|0))>>0]|0;n=a[(c[16112+((d[F>>0]|0)<<2)>>2]|0)+((c[G>>2]&i)>>>(d[H>>0]|0))>>0]|0;p=a[(c[16112+((d[I>>0]|0)<<2)>>2]|0)+((c[J>>2]&i)>>>(d[K>>0]|0))>>0]|0;i=a[(c[16112+((d[L>>0]|0)<<2)>>2]|0)+((c[N>>2]&i)>>>(d[s>>0]|0))>>0]|0;break}case 2:{i=e[g>>1]|0;f=i;l=a[(c[16112+((d[C>>0]|0)<<2)>>2]|0)+((c[D>>2]&i)>>>(d[E>>0]|0))>>0]|0;n=a[(c[16112+((d[F>>0]|0)<<2)>>2]|0)+((c[G>>2]&i)>>>(d[H>>0]|0))>>0]|0;p=a[(c[16112+((d[I>>0]|0)<<2)>>2]|0)+((c[J>>2]&i)>>>(d[K>>0]|0))>>0]|0;i=a[(c[16112+((d[L>>0]|0)<<2)>>2]|0)+((c[N>>2]&i)>>>(d[s>>0]|0))>>0]|0;break}case 3:{f=0;l=a[g+((d[E>>0]|0)>>>3&255)>>0]|0;n=a[g+((d[H>>0]|0)>>>3&255)>>0]|0;p=a[g+((d[K>>0]|0)>>>3&255)>>0]|0;i=-1;break}case 4:{i=c[g>>2]|0;f=i;l=a[(c[16112+((d[C>>0]|0)<<2)>>2]|0)+((c[D>>2]&i)>>>(d[E>>0]|0))>>0]|0;n=a[(c[16112+((d[F>>0]|0)<<2)>>2]|0)+((c[G>>2]&i)>>>(d[H>>0]|0))>>0]|0;p=a[(c[16112+((d[I>>0]|0)<<2)>>2]|0)+((c[J>>2]&i)>>>(d[K>>0]|0))>>0]|0;i=a[(c[16112+((d[L>>0]|0)<<2)>>2]|0)+((c[N>>2]&i)>>>(d[s>>0]|0))>>0]|0;break}default:{f=0;l=0;n=0;p=0;i=0}}k=l&255;m=n&255;o=p&255;i=i&255;h:do if((f&O|0)!=(R|0))switch(Q<<24>>24){case 1:{a[h>>0]=m>>>(d[w>>0]|0)<<(d[x>>0]|0)|k>>>(d[u>>0]|0)<<(d[v>>0]|0)|o>>>(d[y>>0]|0)<<(d[z>>0]|0)|i>>>(d[A>>0]|0)<<(d[r>>0]|0);break h}case 2:{b[h>>1]=m>>>(d[w>>0]|0)<<(d[x>>0]|0)|k>>>(d[u>>0]|0)<<(d[v>>0]|0)|o>>>(d[y>>0]|0)<<(d[z>>0]|0)|i>>>(d[A>>0]|0)<<(d[r>>0]|0);break h}case 3:{a[h+((d[v>>0]|0)>>>3&255)>>0]=l;a[h+((d[x>>0]|0)>>>3&255)>>0]=n;a[h+((d[z>>0]|0)>>>3&255)>>0]=p;break h}case 4:{c[h>>2]=m>>>(d[w>>0]|0)<<(d[x>>0]|0)|k>>>(d[u>>0]|0)<<(d[v>>0]|0)|o>>>(d[y>>0]|0)<<(d[z>>0]|0)|i>>>(d[A>>0]|0)<<(d[r>>0]|0);break h}default:break h}while(0);g=g+B|0;h=h+t|0;i=88;continue}else if((i|0)==88){switch(P<<24>>24){case 1:{i=d[g>>0]|0;f=i;l=a[(c[16112+((d[C>>0]|0)<<2)>>2]|0)+((c[D>>2]&i)>>>(d[E>>0]|0))>>0]|0;n=a[(c[16112+((d[F>>0]|0)<<2)>>2]|0)+((c[G>>2]&i)>>>(d[H>>0]|0))>>0]|0;p=a[(c[16112+((d[I>>0]|0)<<2)>>2]|0)+((c[J>>2]&i)>>>(d[K>>0]|0))>>0]|0;i=a[(c[16112+((d[L>>0]|0)<<2)>>2]|0)+((c[N>>2]&i)>>>(d[s>>0]|0))>>0]|0;break}case 2:{i=e[g>>1]|0;f=i;l=a[(c[16112+((d[C>>0]|0)<<2)>>2]|0)+((c[D>>2]&i)>>>(d[E>>0]|0))>>0]|0;n=a[(c[16112+((d[F>>0]|0)<<2)>>2]|0)+((c[G>>2]&i)>>>(d[H>>0]|0))>>0]|0;p=a[(c[16112+((d[I>>0]|0)<<2)>>2]|0)+((c[J>>2]&i)>>>(d[K>>0]|0))>>0]|0;i=a[(c[16112+((d[L>>0]|0)<<2)>>2]|0)+((c[N>>2]&i)>>>(d[s>>0]|0))>>0]|0;break}case 3:{f=0;l=a[g+((d[E>>0]|0)>>>3&255)>>0]|0;n=a[g+((d[H>>0]|0)>>>3&255)>>0]|0;p=a[g+((d[K>>0]|0)>>>3&255)>>0]|0;i=-1;break}case 4:{i=c[g>>2]|0;f=i;l=a[(c[16112+((d[C>>0]|0)<<2)>>2]|0)+((c[D>>2]&i)>>>(d[E>>0]|0))>>0]|0;n=a[(c[16112+((d[F>>0]|0)<<2)>>2]|0)+((c[G>>2]&i)>>>(d[H>>0]|0))>>0]|0;p=a[(c[16112+((d[I>>0]|0)<<2)>>2]|0)+((c[J>>2]&i)>>>(d[K>>0]|0))>>0]|0;i=a[(c[16112+((d[L>>0]|0)<<2)>>2]|0)+((c[N>>2]&i)>>>(d[s>>0]|0))>>0]|0;break}default:{f=0;l=0;n=0;p=0;i=0}}k=l&255;m=n&255;o=p&255;i=i&255;i:do if((f&O|0)!=(R|0))switch(Q<<24>>24){case 1:{a[h>>0]=m>>>(d[w>>0]|0)<<(d[x>>0]|0)|k>>>(d[u>>0]|0)<<(d[v>>0]|0)|o>>>(d[y>>0]|0)<<(d[z>>0]|0)|i>>>(d[A>>0]|0)<<(d[r>>0]|0);break i}case 2:{b[h>>1]=m>>>(d[w>>0]|0)<<(d[x>>0]|0)|k>>>(d[u>>0]|0)<<(d[v>>0]|0)|o>>>(d[y>>0]|0)<<(d[z>>0]|0)|i>>>(d[A>>0]|0)<<(d[r>>0]|0);break i}case 3:{a[h+((d[v>>0]|0)>>>3&255)>>0]=l;a[h+((d[x>>0]|0)>>>3&255)>>0]=n;a[h+((d[z>>0]|0)>>>3&255)>>0]=p;break i}case 4:{c[h>>2]=m>>>(d[w>>0]|0)<<(d[x>>0]|0)|k>>>(d[u>>0]|0)<<(d[v>>0]|0)|o>>>(d[y>>0]|0)<<(d[z>>0]|0)|i>>>(d[A>>0]|0)<<(d[r>>0]|0);break i}default:break i}while(0);h=h+t|0;g=g+B|0;if((q|0)>1){q=q+-1|0;i=4;continue}else break}if(!j){i=102;break}else{g=g+T|0;h=h+U|0}}if((i|0)!=100)if((i|0)==102)return}function yEa(a){a=a|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;d=c[a+24>>2]|0;e=c[a+28>>2]|0;k=(c[a+16>>2]|0)/4|0;i=(c[a+36>>2]|0)/2|0;if(!e)return;j=(d+7|0)/8|0;h=d&255;g=c[a>>2]|0;d=c[a+20>>2]|0;a:while(1){e=e+-1|0;switch(h&7){case 0:{f=j;a=g;g=4;break}case 7:{f=j;a=g;g=5;break}case 6:{f=j;a=g;g=6;break}case 5:{f=j;a=g;g=7;break}case 4:{f=j;a=g;g=8;break}case 3:{f=j;a=g;g=9;break}case 2:{f=j;a=g;g=10;break}case 1:{f=j;a=g;g=11;break}default:{g=12;break a}}while(1)if((g|0)==4){l=c[a>>2]|0;b[d>>1]=l>>>8&63488|l>>>5&2016|l>>>3&31;a=a+4|0;d=d+2|0;g=5;continue}else if((g|0)==5){l=c[a>>2]|0;b[d>>1]=l>>>8&63488|l>>>5&2016|l>>>3&31;a=a+4|0;d=d+2|0;g=6;continue}else if((g|0)==6){l=c[a>>2]|0;b[d>>1]=l>>>8&63488|l>>>5&2016|l>>>3&31;a=a+4|0;d=d+2|0;g=7;continue}else if((g|0)==7){l=c[a>>2]|0;b[d>>1]=l>>>8&63488|l>>>5&2016|l>>>3&31;a=a+4|0;d=d+2|0;g=8;continue}else if((g|0)==8){l=c[a>>2]|0;b[d>>1]=l>>>8&63488|l>>>5&2016|l>>>3&31;a=a+4|0;d=d+2|0;g=9;continue}else if((g|0)==9){l=c[a>>2]|0;b[d>>1]=l>>>8&63488|l>>>5&2016|l>>>3&31;a=a+4|0;d=d+2|0;g=10;continue}else if((g|0)==10){l=c[a>>2]|0;b[d>>1]=l>>>8&63488|l>>>5&2016|l>>>3&31;a=a+4|0;d=d+2|0;g=11;continue}else if((g|0)==11){l=c[a>>2]|0;b[d>>1]=l>>>8&63488|l>>>5&2016|l>>>3&31;a=a+4|0;d=d+2|0;if((f|0)>1){f=f+-1|0;g=4;continue}else break}if(!e){g=14;break}else{g=a+(k<<2)|0;d=d+(i<<1)|0}}if((g|0)!=12)if((g|0)==14)return}function zEa(a){a=a|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;d=c[a+24>>2]|0;e=c[a+28>>2]|0;k=(c[a+16>>2]|0)/4|0;i=(c[a+36>>2]|0)/2|0;if(!e)return;j=(d+7|0)/8|0;h=d&255;g=c[a>>2]|0;d=c[a+20>>2]|0;a:while(1){e=e+-1|0;switch(h&7){case 0:{f=j;a=g;g=4;break}case 7:{f=j;a=g;g=5;break}case 6:{f=j;a=g;g=6;break}case 5:{f=j;a=g;g=7;break}case 4:{f=j;a=g;g=8;break}case 3:{f=j;a=g;g=9;break}case 2:{f=j;a=g;g=10;break}case 1:{f=j;a=g;g=11;break}default:{g=12;break a}}while(1)if((g|0)==4){l=c[a>>2]|0;b[d>>1]=l>>>9&31744|l>>>6&992|l>>>3&31;a=a+4|0;d=d+2|0;g=5;continue}else if((g|0)==5){l=c[a>>2]|0;b[d>>1]=l>>>9&31744|l>>>6&992|l>>>3&31;a=a+4|0;d=d+2|0;g=6;continue}else if((g|0)==6){l=c[a>>2]|0;b[d>>1]=l>>>9&31744|l>>>6&992|l>>>3&31;a=a+4|0;d=d+2|0;g=7;continue}else if((g|0)==7){l=c[a>>2]|0;b[d>>1]=l>>>9&31744|l>>>6&992|l>>>3&31;a=a+4|0;d=d+2|0;g=8;continue}else if((g|0)==8){l=c[a>>2]|0;b[d>>1]=l>>>9&31744|l>>>6&992|l>>>3&31;a=a+4|0;d=d+2|0;g=9;continue}else if((g|0)==9){l=c[a>>2]|0;b[d>>1]=l>>>9&31744|l>>>6&992|l>>>3&31;a=a+4|0;d=d+2|0;g=10;continue}else if((g|0)==10){l=c[a>>2]|0;b[d>>1]=l>>>9&31744|l>>>6&992|l>>>3&31;a=a+4|0;d=d+2|0;g=11;continue}else if((g|0)==11){l=c[a>>2]|0;b[d>>1]=l>>>9&31744|l>>>6&992|l>>>3&31;a=a+4|0;d=d+2|0;if((f|0)>1){f=f+-1|0;g=4;continue}else break}if(!e){g=14;break}else{g=a+(k<<2)|0;d=d+(i<<1)|0}}if((g|0)!=12)if((g|0)==14)return}function AEa(a){a=a|0;EEa(a,23248);return}function BEa(a){a=a|0;EEa(a,21200);return}function CEa(a){a=a|0;EEa(a,19152);return}function DEa(a){a=a|0;EEa(a,17104);return}function EEa(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;e=c[a+24>>2]|0;f=c[a+28>>2]|0;l=c[a+16>>2]|0;j=(c[a+36>>2]|0)/4|0;if(!f)return;k=(e+7|0)/8|0;i=e&255;e=c[a>>2]|0;a=c[a+20>>2]|0;a:while(1){f=f+-1|0;switch(i&7){case 0:{g=k;h=4;break}case 7:{g=k;h=5;break}case 6:{g=k;h=6;break}case 5:{g=k;h=7;break}case 4:{g=k;h=8;break}case 3:{g=k;h=9;break}case 2:{g=k;h=10;break}case 1:{g=k;h=11;break}default:{h=12;break a}}while(1)if((h|0)==4){c[a>>2]=(c[b+(((d[e+1>>0]|0)<<1|1)<<2)>>2]|0)+(c[b+((d[e>>0]|0)<<1<<2)>>2]|0);e=e+2|0;a=a+4|0;h=5;continue}else if((h|0)==5){c[a>>2]=(c[b+(((d[e+1>>0]|0)<<1|1)<<2)>>2]|0)+(c[b+((d[e>>0]|0)<<1<<2)>>2]|0);e=e+2|0;a=a+4|0;h=6;continue}else if((h|0)==6){c[a>>2]=(c[b+(((d[e+1>>0]|0)<<1|1)<<2)>>2]|0)+(c[b+((d[e>>0]|0)<<1<<2)>>2]|0);e=e+2|0;a=a+4|0;h=7;continue}else if((h|0)==7){c[a>>2]=(c[b+(((d[e+1>>0]|0)<<1|1)<<2)>>2]|0)+(c[b+((d[e>>0]|0)<<1<<2)>>2]|0);e=e+2|0;a=a+4|0;h=8;continue}else if((h|0)==8){c[a>>2]=(c[b+(((d[e+1>>0]|0)<<1|1)<<2)>>2]|0)+(c[b+((d[e>>0]|0)<<1<<2)>>2]|0);e=e+2|0;a=a+4|0;h=9;continue}else if((h|0)==9){c[a>>2]=(c[b+(((d[e+1>>0]|0)<<1|1)<<2)>>2]|0)+(c[b+((d[e>>0]|0)<<1<<2)>>2]|0);e=e+2|0;a=a+4|0;h=10;continue}else if((h|0)==10){c[a>>2]=(c[b+(((d[e+1>>0]|0)<<1|1)<<2)>>2]|0)+(c[b+((d[e>>0]|0)<<1<<2)>>2]|0);e=e+2|0;a=a+4|0;h=11;continue}else if((h|0)==11){h=a+4|0;c[a>>2]=(c[b+(((d[e+1>>0]|0)<<1|1)<<2)>>2]|0)+(c[b+((d[e>>0]|0)<<1<<2)>>2]|0);e=e+2|0;if((g|0)>1){g=g+-1|0;a=h;h=4;continue}else break}if(!f){h=14;break}else{e=e+l|0;a=h+(j<<2)|0}}if((h|0)!=12)if((h|0)==14)return}function FEa(a){a=a|0;var d=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;d=c[a+24>>2]|0;f=c[a+28>>2]|0;n=c[a+16>>2]>>2;l=c[a+36>>2]>>1;if(!f)return;m=(d+3|0)/4|0;k=d&255;d=c[a>>2]|0;a=c[a+20>>2]|0;a:while(1){f=f+-1|0;switch(k&3){case 0:{i=m;h=d;j=4;break}case 3:{i=m;h=d;j=9;break}case 2:{i=m;h=d;j=14;break}case 1:{i=m;h=d;g=a;j=19;break}default:{j=24;break a}}while(1)if((j|0)==4){j=0;d=c[h>>2]|0;g=d>>>27;switch(g&31){case 0:break;case 31:{d=d>>>9&31744|d>>>6&992|d>>>3&31;j=7;break}default:{j=e[a>>1]|0;j=(j<<16|j)&65043487;d=((N((d<<10&65011712|d>>>9&31744|d>>>3&31)-j|0,g)|0)>>>5)+j&65043487;d=d>>>16|d;j=7}}if((j|0)==7)b[a>>1]=d;h=h+4|0;a=a+2|0;j=9;continue}else if((j|0)==9){j=0;d=c[h>>2]|0;g=d>>>27;switch(g&31){case 0:break;case 31:{d=d>>>9&31744|d>>>6&992|d>>>3&31;j=12;break}default:{j=e[a>>1]|0;j=(j<<16|j)&65043487;d=((N((d<<10&65011712|d>>>9&31744|d>>>3&31)-j|0,g)|0)>>>5)+j&65043487;d=d>>>16|d;j=12}}if((j|0)==12)b[a>>1]=d;h=h+4|0;a=a+2|0;j=14;continue}else if((j|0)==14){j=0;d=c[h>>2]|0;g=d>>>27;switch(g&31){case 0:break;case 31:{d=d>>>9&31744|d>>>6&992|d>>>3&31;j=17;break}default:{j=e[a>>1]|0;j=(j<<16|j)&65043487;d=((N((d<<10&65011712|d>>>9&31744|d>>>3&31)-j|0,g)|0)>>>5)+j&65043487;d=d>>>16|d;j=17}}if((j|0)==17)b[a>>1]=d;h=h+4|0;g=a+2|0;j=19;continue}else if((j|0)==19){j=0;d=c[h>>2]|0;a=d>>>27;switch(a&31){case 0:break;case 31:{d=d>>>9&31744|d>>>6&992|d>>>3&31;j=22;break}default:{j=e[g>>1]|0;j=(j<<16|j)&65043487;d=((N((d<<10&65011712|d>>>9&31744|d>>>3&31)-j|0,a)|0)>>>5)+j&65043487;d=d>>>16|d;j=22}}if((j|0)==22)b[g>>1]=d;d=h+4|0;a=g+2|0;if((i|0)>1){i=i+-1|0;h=d;j=4;continue}else break}if(!f){j=26;break}else{d=d+(n<<2)|0;a=a+(l<<1)|0}}if((j|0)!=24)if((j|0)==26)return}function GEa(f){f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0;g=c[f+24>>2]|0;j=c[f+28>>2]|0;ca=c[f+16>>2]|0;da=c[f+36>>2]|0;h=c[f+40>>2]|0;i=c[f+44>>2]|0;Z=a[h+9>>0]|0;_=Z&255;$=a[i+9>>0]|0;aa=$&255;if(!j)return;ba=(g+3|0)/4|0;Q=g&255;E=h+28|0;F=h+12|0;G=h+32|0;H=h+29|0;I=h+16|0;J=h+33|0;K=h+30|0;L=h+20|0;M=h+34|0;O=h+31|0;P=h+24|0;s=h+35|0;t=i+28|0;u=i+12|0;v=i+32|0;w=i+29|0;x=i+16|0;y=i+33|0;z=i+30|0;A=i+20|0;B=i+34|0;C=i+31|0;D=i+24|0;r=i+35|0;g=c[f>>2]|0;h=c[f+20>>2]|0;a:while(1){j=j+-1|0;switch(Q&3){case 0:{q=ba;i=4;break}case 3:{q=ba;i=21;break}case 2:{q=ba;i=38;break}case 1:{q=ba;i=55;break}default:{i=72;break a}}while(1)if((i|0)==4){i=0;switch(Z<<24>>24){case 1:{Y=d[g>>0]|0;i=9;break}case 2:{Y=e[g>>1]|0;i=9;break}case 3:{m=d[g+((d[G>>0]|0)>>>3&255)>>0]|0;n=d[g+((d[J>>0]|0)>>>3&255)>>0]|0;o=d[g+((d[M>>0]|0)>>>3&255)>>0]|0;p=255;i=10;break}case 4:{Y=c[g>>2]|0;i=9;break}default:{}}if((i|0)==9?(i=0,R=a[(c[16112+((d[O>>0]|0)<<2)>>2]|0)+((c[P>>2]&Y)>>>(d[s>>0]|0))>>0]|0,R<<24>>24):0){m=d[(c[16112+((d[E>>0]|0)<<2)>>2]|0)+((c[F>>2]&Y)>>>(d[G>>0]|0))>>0]|0;n=d[(c[16112+((d[H>>0]|0)<<2)>>2]|0)+((c[I>>2]&Y)>>>(d[J>>0]|0))>>0]|0;o=d[(c[16112+((d[K>>0]|0)<<2)>>2]|0)+((c[L>>2]&Y)>>>(d[M>>0]|0))>>0]|0;p=R&255;i=10}b:do if((i|0)==10){switch($<<24>>24){case 1:{l=d[h>>0]|0;i=a[(c[16112+((d[t>>0]|0)<<2)>>2]|0)+((c[u>>2]&l)>>>(d[v>>0]|0))>>0]|0;f=a[(c[16112+((d[w>>0]|0)<<2)>>2]|0)+((c[x>>2]&l)>>>(d[y>>0]|0))>>0]|0;k=a[(c[16112+((d[z>>0]|0)<<2)>>2]|0)+((c[A>>2]&l)>>>(d[B>>0]|0))>>0]|0;l=a[(c[16112+((d[C>>0]|0)<<2)>>2]|0)+((c[D>>2]&l)>>>(d[r>>0]|0))>>0]|0;break}case 2:{l=e[h>>1]|0;i=a[(c[16112+((d[t>>0]|0)<<2)>>2]|0)+((c[u>>2]&l)>>>(d[v>>0]|0))>>0]|0;f=a[(c[16112+((d[w>>0]|0)<<2)>>2]|0)+((c[x>>2]&l)>>>(d[y>>0]|0))>>0]|0;k=a[(c[16112+((d[z>>0]|0)<<2)>>2]|0)+((c[A>>2]&l)>>>(d[B>>0]|0))>>0]|0;l=a[(c[16112+((d[C>>0]|0)<<2)>>2]|0)+((c[D>>2]&l)>>>(d[r>>0]|0))>>0]|0;break}case 3:{i=a[h+((d[v>>0]|0)>>>3&255)>>0]|0;f=a[h+((d[y>>0]|0)>>>3&255)>>0]|0;k=a[h+((d[B>>0]|0)>>>3&255)>>0]|0;l=-1;break}case 4:{l=c[h>>2]|0;i=a[(c[16112+((d[t>>0]|0)<<2)>>2]|0)+((c[u>>2]&l)>>>(d[v>>0]|0))>>0]|0;f=a[(c[16112+((d[w>>0]|0)<<2)>>2]|0)+((c[x>>2]&l)>>>(d[y>>0]|0))>>0]|0;k=a[(c[16112+((d[z>>0]|0)<<2)>>2]|0)+((c[A>>2]&l)>>>(d[B>>0]|0))>>0]|0;l=a[(c[16112+((d[C>>0]|0)<<2)>>2]|0)+((c[D>>2]&l)>>>(d[r>>0]|0))>>0]|0;break}default:{i=0;f=0;k=0;l=0}}fa=i&255;ea=f&255;f=k&255;i=l&255;l=(((N(m-fa|0,p)|0)>>>0)/255|0)+fa|0;k=(((N(n-ea|0,p)|0)>>>0)/255|0)+ea|0;f=(((N(o-f|0,p)|0)>>>0)/255|0)+f|0;i=p+i-(((N(p,i)|0)>>>0)/255|0)|0;switch($<<24>>24){case 1:{a[h>>0]=k>>>(d[w>>0]|0)<<(d[y>>0]|0)|l>>>(d[t>>0]|0)<<(d[v>>0]|0)|f>>>(d[z>>0]|0)<<(d[B>>0]|0)|i>>>(d[C>>0]|0)<<(d[r>>0]|0);break b}case 2:{b[h>>1]=k>>>(d[w>>0]|0)<<(d[y>>0]|0)|l>>>(d[t>>0]|0)<<(d[v>>0]|0)|f>>>(d[z>>0]|0)<<(d[B>>0]|0)|i>>>(d[C>>0]|0)<<(d[r>>0]|0);break b}case 3:{a[h+((d[v>>0]|0)>>>3&255)>>0]=l;a[h+((d[y>>0]|0)>>>3&255)>>0]=k;a[h+((d[B>>0]|0)>>>3&255)>>0]=f;break b}case 4:{c[h>>2]=k>>>(d[w>>0]|0)<<(d[y>>0]|0)|l>>>(d[t>>0]|0)<<(d[v>>0]|0)|f>>>(d[z>>0]|0)<<(d[B>>0]|0)|i>>>(d[C>>0]|0)<<(d[r>>0]|0);break b}default:break b}}while(0);g=g+_|0;h=h+aa|0;i=21;continue}else if((i|0)==21){i=0;switch(Z<<24>>24){case 1:{V=d[g>>0]|0;i=26;break}case 2:{V=e[g>>1]|0;i=26;break}case 3:{m=d[g+((d[G>>0]|0)>>>3&255)>>0]|0;n=d[g+((d[J>>0]|0)>>>3&255)>>0]|0;o=d[g+((d[M>>0]|0)>>>3&255)>>0]|0;p=255;i=27;break}case 4:{V=c[g>>2]|0;i=26;break}default:{}}if((i|0)==26?(i=0,S=a[(c[16112+((d[O>>0]|0)<<2)>>2]|0)+((c[P>>2]&V)>>>(d[s>>0]|0))>>0]|0,S<<24>>24):0){m=d[(c[16112+((d[E>>0]|0)<<2)>>2]|0)+((c[F>>2]&V)>>>(d[G>>0]|0))>>0]|0;n=d[(c[16112+((d[H>>0]|0)<<2)>>2]|0)+((c[I>>2]&V)>>>(d[J>>0]|0))>>0]|0;o=d[(c[16112+((d[K>>0]|0)<<2)>>2]|0)+((c[L>>2]&V)>>>(d[M>>0]|0))>>0]|0;p=S&255;i=27}c:do if((i|0)==27){switch($<<24>>24){case 1:{l=d[h>>0]|0;i=a[(c[16112+((d[t>>0]|0)<<2)>>2]|0)+((c[u>>2]&l)>>>(d[v>>0]|0))>>0]|0;f=a[(c[16112+((d[w>>0]|0)<<2)>>2]|0)+((c[x>>2]&l)>>>(d[y>>0]|0))>>0]|0;k=a[(c[16112+((d[z>>0]|0)<<2)>>2]|0)+((c[A>>2]&l)>>>(d[B>>0]|0))>>0]|0;l=a[(c[16112+((d[C>>0]|0)<<2)>>2]|0)+((c[D>>2]&l)>>>(d[r>>0]|0))>>0]|0;break}case 2:{l=e[h>>1]|0;i=a[(c[16112+((d[t>>0]|0)<<2)>>2]|0)+((c[u>>2]&l)>>>(d[v>>0]|0))>>0]|0;f=a[(c[16112+((d[w>>0]|0)<<2)>>2]|0)+((c[x>>2]&l)>>>(d[y>>0]|0))>>0]|0;k=a[(c[16112+((d[z>>0]|0)<<2)>>2]|0)+((c[A>>2]&l)>>>(d[B>>0]|0))>>0]|0;l=a[(c[16112+((d[C>>0]|0)<<2)>>2]|0)+((c[D>>2]&l)>>>(d[r>>0]|0))>>0]|0;break}case 3:{i=a[h+((d[v>>0]|0)>>>3&255)>>0]|0;f=a[h+((d[y>>0]|0)>>>3&255)>>0]|0;k=a[h+((d[B>>0]|0)>>>3&255)>>0]|0;l=-1;break}case 4:{l=c[h>>2]|0;i=a[(c[16112+((d[t>>0]|0)<<2)>>2]|0)+((c[u>>2]&l)>>>(d[v>>0]|0))>>0]|0;f=a[(c[16112+((d[w>>0]|0)<<2)>>2]|0)+((c[x>>2]&l)>>>(d[y>>0]|0))>>0]|0;k=a[(c[16112+((d[z>>0]|0)<<2)>>2]|0)+((c[A>>2]&l)>>>(d[B>>0]|0))>>0]|0;l=a[(c[16112+((d[C>>0]|0)<<2)>>2]|0)+((c[D>>2]&l)>>>(d[r>>0]|0))>>0]|0;break}default:{i=0;f=0;k=0;l=0}}ea=i&255;fa=f&255;f=k&255;i=l&255;l=(((N(m-ea|0,p)|0)>>>0)/255|0)+ea|0;k=(((N(n-fa|0,p)|0)>>>0)/255|0)+fa|0;f=(((N(o-f|0,p)|0)>>>0)/255|0)+f|0;i=p+i-(((N(p,i)|0)>>>0)/255|0)|0;switch($<<24>>24){case 1:{a[h>>0]=k>>>(d[w>>0]|0)<<(d[y>>0]|0)|l>>>(d[t>>0]|0)<<(d[v>>0]|0)|f>>>(d[z>>0]|0)<<(d[B>>0]|0)|i>>>(d[C>>0]|0)<<(d[r>>0]|0);break c}case 2:{b[h>>1]=k>>>(d[w>>0]|0)<<(d[y>>0]|0)|l>>>(d[t>>0]|0)<<(d[v>>0]|0)|f>>>(d[z>>0]|0)<<(d[B>>0]|0)|i>>>(d[C>>0]|0)<<(d[r>>0]|0);break c}case 3:{a[h+((d[v>>0]|0)>>>3&255)>>0]=l;a[h+((d[y>>0]|0)>>>3&255)>>0]=k;a[h+((d[B>>0]|0)>>>3&255)>>0]=f;break c}case 4:{c[h>>2]=k>>>(d[w>>0]|0)<<(d[y>>0]|0)|l>>>(d[t>>0]|0)<<(d[v>>0]|0)|f>>>(d[z>>0]|0)<<(d[B>>0]|0)|i>>>(d[C>>0]|0)<<(d[r>>0]|0);break c}default:break c}}while(0);g=g+_|0;h=h+aa|0;i=38;continue}else if((i|0)==38){i=0;switch(Z<<24>>24){case 1:{W=d[g>>0]|0;i=43;break}case 2:{W=e[g>>1]|0;i=43;break}case 3:{m=d[g+((d[G>>0]|0)>>>3&255)>>0]|0;n=d[g+((d[J>>0]|0)>>>3&255)>>0]|0;o=d[g+((d[M>>0]|0)>>>3&255)>>0]|0;p=255;i=44;break}case 4:{W=c[g>>2]|0;i=43;break}default:{}}if((i|0)==43?(i=0,T=a[(c[16112+((d[O>>0]|0)<<2)>>2]|0)+((c[P>>2]&W)>>>(d[s>>0]|0))>>0]|0,T<<24>>24):0){m=d[(c[16112+((d[E>>0]|0)<<2)>>2]|0)+((c[F>>2]&W)>>>(d[G>>0]|0))>>0]|0;n=d[(c[16112+((d[H>>0]|0)<<2)>>2]|0)+((c[I>>2]&W)>>>(d[J>>0]|0))>>0]|0;o=d[(c[16112+((d[K>>0]|0)<<2)>>2]|0)+((c[L>>2]&W)>>>(d[M>>0]|0))>>0]|0;p=T&255;i=44}d:do if((i|0)==44){switch($<<24>>24){case 1:{l=d[h>>0]|0;i=a[(c[16112+((d[t>>0]|0)<<2)>>2]|0)+((c[u>>2]&l)>>>(d[v>>0]|0))>>0]|0;f=a[(c[16112+((d[w>>0]|0)<<2)>>2]|0)+((c[x>>2]&l)>>>(d[y>>0]|0))>>0]|0;k=a[(c[16112+((d[z>>0]|0)<<2)>>2]|0)+((c[A>>2]&l)>>>(d[B>>0]|0))>>0]|0;l=a[(c[16112+((d[C>>0]|0)<<2)>>2]|0)+((c[D>>2]&l)>>>(d[r>>0]|0))>>0]|0;break}case 2:{l=e[h>>1]|0;i=a[(c[16112+((d[t>>0]|0)<<2)>>2]|0)+((c[u>>2]&l)>>>(d[v>>0]|0))>>0]|0;f=a[(c[16112+((d[w>>0]|0)<<2)>>2]|0)+((c[x>>2]&l)>>>(d[y>>0]|0))>>0]|0;k=a[(c[16112+((d[z>>0]|0)<<2)>>2]|0)+((c[A>>2]&l)>>>(d[B>>0]|0))>>0]|0;l=a[(c[16112+((d[C>>0]|0)<<2)>>2]|0)+((c[D>>2]&l)>>>(d[r>>0]|0))>>0]|0;break}case 3:{i=a[h+((d[v>>0]|0)>>>3&255)>>0]|0;f=a[h+((d[y>>0]|0)>>>3&255)>>0]|0;k=a[h+((d[B>>0]|0)>>>3&255)>>0]|0;l=-1;break}case 4:{l=c[h>>2]|0;i=a[(c[16112+((d[t>>0]|0)<<2)>>2]|0)+((c[u>>2]&l)>>>(d[v>>0]|0))>>0]|0;f=a[(c[16112+((d[w>>0]|0)<<2)>>2]|0)+((c[x>>2]&l)>>>(d[y>>0]|0))>>0]|0;k=a[(c[16112+((d[z>>0]|0)<<2)>>2]|0)+((c[A>>2]&l)>>>(d[B>>0]|0))>>0]|0;l=a[(c[16112+((d[C>>0]|0)<<2)>>2]|0)+((c[D>>2]&l)>>>(d[r>>0]|0))>>0]|0;break}default:{i=0;f=0;k=0;l=0}}ea=i&255;fa=f&255;f=k&255;i=l&255;l=(((N(m-ea|0,p)|0)>>>0)/255|0)+ea|0;k=(((N(n-fa|0,p)|0)>>>0)/255|0)+fa|0;f=(((N(o-f|0,p)|0)>>>0)/255|0)+f|0;i=p+i-(((N(p,i)|0)>>>0)/255|0)|0;switch($<<24>>24){case 1:{a[h>>0]=k>>>(d[w>>0]|0)<<(d[y>>0]|0)|l>>>(d[t>>0]|0)<<(d[v>>0]|0)|f>>>(d[z>>0]|0)<<(d[B>>0]|0)|i>>>(d[C>>0]|0)<<(d[r>>0]|0);break d}case 2:{b[h>>1]=k>>>(d[w>>0]|0)<<(d[y>>0]|0)|l>>>(d[t>>0]|0)<<(d[v>>0]|0)|f>>>(d[z>>0]|0)<<(d[B>>0]|0)|i>>>(d[C>>0]|0)<<(d[r>>0]|0);break d}case 3:{a[h+((d[v>>0]|0)>>>3&255)>>0]=l;a[h+((d[y>>0]|0)>>>3&255)>>0]=k;a[h+((d[B>>0]|0)>>>3&255)>>0]=f;break d}case 4:{c[h>>2]=k>>>(d[w>>0]|0)<<(d[y>>0]|0)|l>>>(d[t>>0]|0)<<(d[v>>0]|0)|f>>>(d[z>>0]|0)<<(d[B>>0]|0)|i>>>(d[C>>0]|0)<<(d[r>>0]|0);break d}default:break d}}while(0);g=g+_|0;h=h+aa|0;i=55;continue}else if((i|0)==55){i=0;switch(Z<<24>>24){case 1:{X=d[g>>0]|0;i=60;break}case 2:{X=e[g>>1]|0;i=60;break}case 3:{m=d[g+((d[G>>0]|0)>>>3&255)>>0]|0;n=d[g+((d[J>>0]|0)>>>3&255)>>0]|0;o=d[g+((d[M>>0]|0)>>>3&255)>>0]|0;p=255;i=61;break}case 4:{X=c[g>>2]|0;i=60;break}default:{}}if((i|0)==60?(i=0,U=a[(c[16112+((d[O>>0]|0)<<2)>>2]|0)+((c[P>>2]&X)>>>(d[s>>0]|0))>>0]|0,U<<24>>24):0){m=d[(c[16112+((d[E>>0]|0)<<2)>>2]|0)+((c[F>>2]&X)>>>(d[G>>0]|0))>>0]|0;n=d[(c[16112+((d[H>>0]|0)<<2)>>2]|0)+((c[I>>2]&X)>>>(d[J>>0]|0))>>0]|0;o=d[(c[16112+((d[K>>0]|0)<<2)>>2]|0)+((c[L>>2]&X)>>>(d[M>>0]|0))>>0]|0;p=U&255;i=61}e:do if((i|0)==61){switch($<<24>>24){case 1:{l=d[h>>0]|0;i=a[(c[16112+((d[t>>0]|0)<<2)>>2]|0)+((c[u>>2]&l)>>>(d[v>>0]|0))>>0]|0;f=a[(c[16112+((d[w>>0]|0)<<2)>>2]|0)+((c[x>>2]&l)>>>(d[y>>0]|0))>>0]|0;k=a[(c[16112+((d[z>>0]|0)<<2)>>2]|0)+((c[A>>2]&l)>>>(d[B>>0]|0))>>0]|0;l=a[(c[16112+((d[C>>0]|0)<<2)>>2]|0)+((c[D>>2]&l)>>>(d[r>>0]|0))>>0]|0;break}case 2:{l=e[h>>1]|0;i=a[(c[16112+((d[t>>0]|0)<<2)>>2]|0)+((c[u>>2]&l)>>>(d[v>>0]|0))>>0]|0;f=a[(c[16112+((d[w>>0]|0)<<2)>>2]|0)+((c[x>>2]&l)>>>(d[y>>0]|0))>>0]|0;k=a[(c[16112+((d[z>>0]|0)<<2)>>2]|0)+((c[A>>2]&l)>>>(d[B>>0]|0))>>0]|0;l=a[(c[16112+((d[C>>0]|0)<<2)>>2]|0)+((c[D>>2]&l)>>>(d[r>>0]|0))>>0]|0;break}case 3:{i=a[h+((d[v>>0]|0)>>>3&255)>>0]|0;f=a[h+((d[y>>0]|0)>>>3&255)>>0]|0;k=a[h+((d[B>>0]|0)>>>3&255)>>0]|0;l=-1;break}case 4:{l=c[h>>2]|0;i=a[(c[16112+((d[t>>0]|0)<<2)>>2]|0)+((c[u>>2]&l)>>>(d[v>>0]|0))>>0]|0;f=a[(c[16112+((d[w>>0]|0)<<2)>>2]|0)+((c[x>>2]&l)>>>(d[y>>0]|0))>>0]|0;k=a[(c[16112+((d[z>>0]|0)<<2)>>2]|0)+((c[A>>2]&l)>>>(d[B>>0]|0))>>0]|0;l=a[(c[16112+((d[C>>0]|0)<<2)>>2]|0)+((c[D>>2]&l)>>>(d[r>>0]|0))>>0]|0;break}default:{i=0;f=0;k=0;l=0}}ea=i&255;fa=f&255;f=k&255;i=l&255;l=(((N(m-ea|0,p)|0)>>>0)/255|0)+ea|0;k=(((N(n-fa|0,p)|0)>>>0)/255|0)+fa|0;f=(((N(o-f|0,p)|0)>>>0)/255|0)+f|0;i=p+i-(((N(p,i)|0)>>>0)/255|0)|0;switch($<<24>>24){case 1:{a[h>>0]=k>>>(d[w>>0]|0)<<(d[y>>0]|0)|l>>>(d[t>>0]|0)<<(d[v>>0]|0)|f>>>(d[z>>0]|0)<<(d[B>>0]|0)|i>>>(d[C>>0]|0)<<(d[r>>0]|0);break e}case 2:{b[h>>1]=k>>>(d[w>>0]|0)<<(d[y>>0]|0)|l>>>(d[t>>0]|0)<<(d[v>>0]|0)|f>>>(d[z>>0]|0)<<(d[B>>0]|0)|i>>>(d[C>>0]|0)<<(d[r>>0]|0);break e}case 3:{a[h+((d[v>>0]|0)>>>3&255)>>0]=l;a[h+((d[y>>0]|0)>>>3&255)>>0]=k;a[h+((d[B>>0]|0)>>>3&255)>>0]=f;break e}case 4:{c[h>>2]=k>>>(d[w>>0]|0)<<(d[y>>0]|0)|l>>>(d[t>>0]|0)<<(d[v>>0]|0)|f>>>(d[z>>0]|0)<<(d[B>>0]|0)|i>>>(d[C>>0]|0)<<(d[r>>0]|0);break e}default:break e}}while(0);g=g+_|0;h=h+aa|0;if((q|0)>1){q=q+-1|0;i=4;continue}else break}if(!j){i=74;break}else{g=g+ca|0;h=h+da|0}}if((i|0)!=72)if((i|0)==74)return}function HEa(a){a=a|0;var d=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;d=c[a+24>>2]|0;f=c[a+28>>2]|0;n=c[a+16>>2]>>2;l=c[a+36>>2]>>1;if(!f)return;m=(d+3|0)/4|0;k=d&255;d=c[a>>2]|0;a=c[a+20>>2]|0;a:while(1){f=f+-1|0;switch(k&3){case 0:{i=m;h=d;j=4;break}case 3:{i=m;h=d;j=9;break}case 2:{i=m;h=d;j=14;break}case 1:{i=m;h=d;g=a;j=19;break}default:{j=24;break a}}while(1)if((j|0)==4){j=0;d=c[h>>2]|0;g=d>>>27;switch(g&31){case 0:break;case 31:{d=d>>>8&63488|d>>>5&2016|d>>>3&31;j=7;break}default:{j=e[a>>1]|0;j=(j<<16|j)&132184095;d=((N((d<<11&132120576|d>>>8&63488|d>>>3&31)-j|0,g)|0)>>>5)+j&132184095;d=d>>>16|d;j=7}}if((j|0)==7)b[a>>1]=d;h=h+4|0;a=a+2|0;j=9;continue}else if((j|0)==9){j=0;d=c[h>>2]|0;g=d>>>27;switch(g&31){case 0:break;case 31:{d=d>>>8&63488|d>>>5&2016|d>>>3&31;j=12;break}default:{j=e[a>>1]|0;j=(j<<16|j)&132184095;d=((N((d<<11&132120576|d>>>8&63488|d>>>3&31)-j|0,g)|0)>>>5)+j&132184095;d=d>>>16|d;j=12}}if((j|0)==12)b[a>>1]=d;h=h+4|0;a=a+2|0;j=14;continue}else if((j|0)==14){j=0;d=c[h>>2]|0;g=d>>>27;switch(g&31){case 0:break;case 31:{d=d>>>8&63488|d>>>5&2016|d>>>3&31;j=17;break}default:{j=e[a>>1]|0;j=(j<<16|j)&132184095;d=((N((d<<11&132120576|d>>>8&63488|d>>>3&31)-j|0,g)|0)>>>5)+j&132184095;d=d>>>16|d;j=17}}if((j|0)==17)b[a>>1]=d;h=h+4|0;g=a+2|0;j=19;continue}else if((j|0)==19){j=0;d=c[h>>2]|0;a=d>>>27;switch(a&31){case 0:break;case 31:{d=d>>>8&63488|d>>>5&2016|d>>>3&31;j=22;break}default:{j=e[g>>1]|0;j=(j<<16|j)&132184095;d=((N((d<<11&132120576|d>>>8&63488|d>>>3&31)-j|0,a)|0)>>>5)+j&132184095;d=d>>>16|d;j=22}}if((j|0)==22)b[g>>1]=d;d=h+4|0;a=g+2|0;if((i|0)>1){i=i+-1|0;h=d;j=4;continue}else break}if(!f){j=26;break}else{d=d+(n<<2)|0;a=a+(l<<1)|0}}if((j|0)!=24)if((j|0)==26)return}function IEa(d){d=d|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;f=a[d+63>>0]|0;if(f<<24>>24==-128){REa(d,-1058);return}g=c[d+24>>2]|0;n=c[d+28>>2]|0;i=c[d>>2]|0;p=c[d+16>>2]>>1;j=c[d+20>>2]|0;o=c[d+36>>2]>>1;m=(f&255)>>>3;h=n+-1|0;if(!n)return;n=(g+3|0)/4|0;l=g&255;if(!(l&3)){d=i;f=j;while(1){g=n;while(1){l=e[d>>1]|0;j=e[f>>1]|0;j=(j<<16|j)&65043487;j=((N(((l<<16|l)&65043487)-j|0,m)|0)>>>5)+j&65043487;l=f+2|0;b[f>>1]=j>>>16|j;j=e[d+2>>1]|0;k=e[l>>1]|0;k=(k<<16|k)&65043487;k=((N(((j<<16|j)&65043487)-k|0,m)|0)>>>5)+k&65043487;j=f+4|0;b[l>>1]=k>>>16|k;l=e[d+4>>1]|0;k=e[j>>1]|0;k=(k<<16|k)&65043487;k=((N(((l<<16|l)&65043487)-k|0,m)|0)>>>5)+k&65043487;l=f+6|0;b[j>>1]=k>>>16|k;j=d;d=d+8|0;j=e[j+6>>1]|0;k=e[l>>1]|0;k=(k<<16|k)&65043487;k=((N(((j<<16|j)&65043487)-k|0,m)|0)>>>5)+k&65043487;f=f+8|0;b[l>>1]=k>>>16|k;if((g|0)<=1)break;else g=g+-1|0}if(!h)break;else{d=d+(p<<1)|0;f=f+(o<<1)|0;h=h+-1|0}}return}d=j;a:while(1){switch(l&3){case 1:{j=n;g=d;k=14;break}case 3:{f=n;k=12;break}case 2:{f=n;k=13;break}default:{k=15;break a}}while(1)if((k|0)==12){g=e[i>>1]|0;j=e[d>>1]|0;j=(j<<16|j)&65043487;j=((N(((g<<16|g)&65043487)-j|0,m)|0)>>>5)+j&65043487;b[d>>1]=j>>>16|j;i=i+2|0;d=d+2|0;k=13;continue}else if((k|0)==13){g=e[i>>1]|0;j=e[d>>1]|0;j=(j<<16|j)&65043487;j=((N(((g<<16|g)&65043487)-j|0,m)|0)>>>5)+j&65043487;b[d>>1]=j>>>16|j;j=f;i=i+2|0;g=d+2|0;k=14;continue}else if((k|0)==14){d=i+2|0;f=e[i>>1]|0;k=e[g>>1]|0;k=(k<<16|k)&65043487;k=((N(((f<<16|f)&65043487)-k|0,m)|0)>>>5)+k&65043487;f=g+2|0;b[g>>1]=k>>>16|k;if((j|0)<=1)break;k=e[d>>1]|0;d=e[f>>1]|0;d=(d<<16|d)&65043487;d=((N(((k<<16|k)&65043487)-d|0,m)|0)>>>5)+d&65043487;b[f>>1]=d>>>16|d;f=j+-1|0;i=i+4|0;d=g+4|0;k=12;continue}if(!h){k=17;break}else{i=d+(p<<1)|0;d=f+(o<<1)|0;h=h+-1|0}}if((k|0)!=15)if((k|0)==17)return}function JEa(f){f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0;g=c[f+24>>2]|0;T=c[f+16>>2]|0;U=c[f+36>>2]|0;h=c[f+40>>2]|0;i=c[f+44>>2]|0;M=a[h+9>>0]|0;O=M&255;P=a[i+9>>0]|0;Q=P&255;S=a[f+63>>0]|0;R=S&255;if(!(S<<24>>24))return;j=c[f+28>>2]|0;if(!j)return;S=(g+3|0)/4|0;L=g&255;D=h+28|0;E=h+12|0;F=h+32|0;G=h+29|0;H=h+16|0;I=h+33|0;J=h+30|0;K=h+20|0;r=h+34|0;s=i+28|0;t=i+12|0;u=i+32|0;v=i+29|0;w=i+16|0;x=i+33|0;y=i+30|0;z=i+20|0;A=i+34|0;B=i+31|0;C=i+24|0;q=i+35|0;g=c[f>>2]|0;h=c[f+20>>2]|0;a:while(1){j=j+-1|0;switch(L&3){case 0:{p=S;l=5;break}case 3:{p=S;l=22;break}case 2:{p=S;l=39;break}case 1:{p=S;l=56;break}default:{l=73;break a}}while(1)if((l|0)==5){l=0;switch(M<<24>>24){case 1:{k=d[g>>0]|0;i=(c[16112+((d[D>>0]|0)<<2)>>2]|0)+((c[E>>2]&k)>>>(d[F>>0]|0))|0;f=(c[16112+((d[G>>0]|0)<<2)>>2]|0)+((c[H>>2]&k)>>>(d[I>>0]|0))|0;k=(c[16112+((d[J>>0]|0)<<2)>>2]|0)+((c[K>>2]&k)>>>(d[r>>0]|0))|0;l=10;break}case 2:{k=e[g>>1]|0;i=(c[16112+((d[D>>0]|0)<<2)>>2]|0)+((c[E>>2]&k)>>>(d[F>>0]|0))|0;f=(c[16112+((d[G>>0]|0)<<2)>>2]|0)+((c[H>>2]&k)>>>(d[I>>0]|0))|0;k=(c[16112+((d[J>>0]|0)<<2)>>2]|0)+((c[K>>2]&k)>>>(d[r>>0]|0))|0;l=10;break}case 3:{i=g+((d[F>>0]|0)>>>3&255)|0;f=g+((d[I>>0]|0)>>>3&255)|0;k=g+((d[r>>0]|0)>>>3&255)|0;l=10;break}case 4:{k=c[g>>2]|0;i=(c[16112+((d[D>>0]|0)<<2)>>2]|0)+((c[E>>2]&k)>>>(d[F>>0]|0))|0;f=(c[16112+((d[G>>0]|0)<<2)>>2]|0)+((c[H>>2]&k)>>>(d[I>>0]|0))|0;k=(c[16112+((d[J>>0]|0)<<2)>>2]|0)+((c[K>>2]&k)>>>(d[r>>0]|0))|0;l=10;break}default:{i=0;f=0;k=0}}if((l|0)==10){i=a[i>>0]|0;f=a[f>>0]|0;k=a[k>>0]|0}m=i&255;n=f&255;o=k&255;switch(P<<24>>24){case 1:{l=d[h>>0]|0;i=a[(c[16112+((d[s>>0]|0)<<2)>>2]|0)+((c[t>>2]&l)>>>(d[u>>0]|0))>>0]|0;f=a[(c[16112+((d[v>>0]|0)<<2)>>2]|0)+((c[w>>2]&l)>>>(d[x>>0]|0))>>0]|0;k=a[(c[16112+((d[y>>0]|0)<<2)>>2]|0)+((c[z>>2]&l)>>>(d[A>>0]|0))>>0]|0;l=a[(c[16112+((d[B>>0]|0)<<2)>>2]|0)+((c[C>>2]&l)>>>(d[q>>0]|0))>>0]|0;break}case 2:{l=e[h>>1]|0;i=a[(c[16112+((d[s>>0]|0)<<2)>>2]|0)+((c[t>>2]&l)>>>(d[u>>0]|0))>>0]|0;f=a[(c[16112+((d[v>>0]|0)<<2)>>2]|0)+((c[w>>2]&l)>>>(d[x>>0]|0))>>0]|0;k=a[(c[16112+((d[y>>0]|0)<<2)>>2]|0)+((c[z>>2]&l)>>>(d[A>>0]|0))>>0]|0;l=a[(c[16112+((d[B>>0]|0)<<2)>>2]|0)+((c[C>>2]&l)>>>(d[q>>0]|0))>>0]|0;break}case 3:{i=a[h+((d[u>>0]|0)>>>3&255)>>0]|0;f=a[h+((d[x>>0]|0)>>>3&255)>>0]|0;k=a[h+((d[A>>0]|0)>>>3&255)>>0]|0;l=-1;break}case 4:{l=c[h>>2]|0;i=a[(c[16112+((d[s>>0]|0)<<2)>>2]|0)+((c[t>>2]&l)>>>(d[u>>0]|0))>>0]|0;f=a[(c[16112+((d[v>>0]|0)<<2)>>2]|0)+((c[w>>2]&l)>>>(d[x>>0]|0))>>0]|0;k=a[(c[16112+((d[y>>0]|0)<<2)>>2]|0)+((c[z>>2]&l)>>>(d[A>>0]|0))>>0]|0;l=a[(c[16112+((d[B>>0]|0)<<2)>>2]|0)+((c[C>>2]&l)>>>(d[q>>0]|0))>>0]|0;break}default:{i=0;f=0;k=0;l=0}}W=i&255;V=f&255;i=k&255;f=l&255;l=(((N(m-W|0,R)|0)>>>0)/255|0)+W|0;k=(((N(n-V|0,R)|0)>>>0)/255|0)+V|0;i=(((N(o-i|0,R)|0)>>>0)/255|0)+i|0;f=f+R-(((N(f,R)|0)>>>0)/255|0)|0;switch(P<<24>>24){case 1:{a[h>>0]=k>>>(d[v>>0]|0)<<(d[x>>0]|0)|l>>>(d[s>>0]|0)<<(d[u>>0]|0)|i>>>(d[y>>0]|0)<<(d[A>>0]|0)|f>>>(d[B>>0]|0)<<(d[q>>0]|0);break}case 2:{b[h>>1]=k>>>(d[v>>0]|0)<<(d[x>>0]|0)|l>>>(d[s>>0]|0)<<(d[u>>0]|0)|i>>>(d[y>>0]|0)<<(d[A>>0]|0)|f>>>(d[B>>0]|0)<<(d[q>>0]|0);break}case 3:{a[h+((d[u>>0]|0)>>>3&255)>>0]=l;a[h+((d[x>>0]|0)>>>3&255)>>0]=k;a[h+((d[A>>0]|0)>>>3&255)>>0]=i;break}case 4:{c[h>>2]=k>>>(d[v>>0]|0)<<(d[x>>0]|0)|l>>>(d[s>>0]|0)<<(d[u>>0]|0)|i>>>(d[y>>0]|0)<<(d[A>>0]|0)|f>>>(d[B>>0]|0)<<(d[q>>0]|0);break}default:{}}g=g+O|0;h=h+Q|0;l=22;continue}else if((l|0)==22){l=0;switch(M<<24>>24){case 1:{k=d[g>>0]|0;i=(c[16112+((d[D>>0]|0)<<2)>>2]|0)+((c[E>>2]&k)>>>(d[F>>0]|0))|0;f=(c[16112+((d[G>>0]|0)<<2)>>2]|0)+((c[H>>2]&k)>>>(d[I>>0]|0))|0;k=(c[16112+((d[J>>0]|0)<<2)>>2]|0)+((c[K>>2]&k)>>>(d[r>>0]|0))|0;l=27;break}case 2:{k=e[g>>1]|0;i=(c[16112+((d[D>>0]|0)<<2)>>2]|0)+((c[E>>2]&k)>>>(d[F>>0]|0))|0;f=(c[16112+((d[G>>0]|0)<<2)>>2]|0)+((c[H>>2]&k)>>>(d[I>>0]|0))|0;k=(c[16112+((d[J>>0]|0)<<2)>>2]|0)+((c[K>>2]&k)>>>(d[r>>0]|0))|0;l=27;break}case 3:{i=g+((d[F>>0]|0)>>>3&255)|0;f=g+((d[I>>0]|0)>>>3&255)|0;k=g+((d[r>>0]|0)>>>3&255)|0;l=27;break}case 4:{k=c[g>>2]|0;i=(c[16112+((d[D>>0]|0)<<2)>>2]|0)+((c[E>>2]&k)>>>(d[F>>0]|0))|0;f=(c[16112+((d[G>>0]|0)<<2)>>2]|0)+((c[H>>2]&k)>>>(d[I>>0]|0))|0;k=(c[16112+((d[J>>0]|0)<<2)>>2]|0)+((c[K>>2]&k)>>>(d[r>>0]|0))|0;l=27;break}default:{i=0;f=0;k=0}}if((l|0)==27){i=a[i>>0]|0;f=a[f>>0]|0;k=a[k>>0]|0}m=i&255;n=f&255;o=k&255;switch(P<<24>>24){case 1:{l=d[h>>0]|0;i=a[(c[16112+((d[s>>0]|0)<<2)>>2]|0)+((c[t>>2]&l)>>>(d[u>>0]|0))>>0]|0;f=a[(c[16112+((d[v>>0]|0)<<2)>>2]|0)+((c[w>>2]&l)>>>(d[x>>0]|0))>>0]|0;k=a[(c[16112+((d[y>>0]|0)<<2)>>2]|0)+((c[z>>2]&l)>>>(d[A>>0]|0))>>0]|0;l=a[(c[16112+((d[B>>0]|0)<<2)>>2]|0)+((c[C>>2]&l)>>>(d[q>>0]|0))>>0]|0;break}case 2:{l=e[h>>1]|0;i=a[(c[16112+((d[s>>0]|0)<<2)>>2]|0)+((c[t>>2]&l)>>>(d[u>>0]|0))>>0]|0;f=a[(c[16112+((d[v>>0]|0)<<2)>>2]|0)+((c[w>>2]&l)>>>(d[x>>0]|0))>>0]|0;k=a[(c[16112+((d[y>>0]|0)<<2)>>2]|0)+((c[z>>2]&l)>>>(d[A>>0]|0))>>0]|0;l=a[(c[16112+((d[B>>0]|0)<<2)>>2]|0)+((c[C>>2]&l)>>>(d[q>>0]|0))>>0]|0;break}case 3:{i=a[h+((d[u>>0]|0)>>>3&255)>>0]|0;f=a[h+((d[x>>0]|0)>>>3&255)>>0]|0;k=a[h+((d[A>>0]|0)>>>3&255)>>0]|0;l=-1;break}case 4:{l=c[h>>2]|0;i=a[(c[16112+((d[s>>0]|0)<<2)>>2]|0)+((c[t>>2]&l)>>>(d[u>>0]|0))>>0]|0;f=a[(c[16112+((d[v>>0]|0)<<2)>>2]|0)+((c[w>>2]&l)>>>(d[x>>0]|0))>>0]|0;k=a[(c[16112+((d[y>>0]|0)<<2)>>2]|0)+((c[z>>2]&l)>>>(d[A>>0]|0))>>0]|0;l=a[(c[16112+((d[B>>0]|0)<<2)>>2]|0)+((c[C>>2]&l)>>>(d[q>>0]|0))>>0]|0;break}default:{i=0;f=0;k=0;l=0}}V=i&255;W=f&255;i=k&255;f=l&255;l=(((N(m-V|0,R)|0)>>>0)/255|0)+V|0;k=(((N(n-W|0,R)|0)>>>0)/255|0)+W|0;i=(((N(o-i|0,R)|0)>>>0)/255|0)+i|0;f=f+R-(((N(f,R)|0)>>>0)/255|0)|0;switch(P<<24>>24){case 1:{a[h>>0]=k>>>(d[v>>0]|0)<<(d[x>>0]|0)|l>>>(d[s>>0]|0)<<(d[u>>0]|0)|i>>>(d[y>>0]|0)<<(d[A>>0]|0)|f>>>(d[B>>0]|0)<<(d[q>>0]|0);break}case 2:{b[h>>1]=k>>>(d[v>>0]|0)<<(d[x>>0]|0)|l>>>(d[s>>0]|0)<<(d[u>>0]|0)|i>>>(d[y>>0]|0)<<(d[A>>0]|0)|f>>>(d[B>>0]|0)<<(d[q>>0]|0);break}case 3:{a[h+((d[u>>0]|0)>>>3&255)>>0]=l;a[h+((d[x>>0]|0)>>>3&255)>>0]=k;a[h+((d[A>>0]|0)>>>3&255)>>0]=i;break}case 4:{c[h>>2]=k>>>(d[v>>0]|0)<<(d[x>>0]|0)|l>>>(d[s>>0]|0)<<(d[u>>0]|0)|i>>>(d[y>>0]|0)<<(d[A>>0]|0)|f>>>(d[B>>0]|0)<<(d[q>>0]|0);break}default:{}}g=g+O|0;h=h+Q|0;l=39;continue}else if((l|0)==39){l=0;switch(M<<24>>24){case 1:{k=d[g>>0]|0;i=(c[16112+((d[D>>0]|0)<<2)>>2]|0)+((c[E>>2]&k)>>>(d[F>>0]|0))|0;f=(c[16112+((d[G>>0]|0)<<2)>>2]|0)+((c[H>>2]&k)>>>(d[I>>0]|0))|0;k=(c[16112+((d[J>>0]|0)<<2)>>2]|0)+((c[K>>2]&k)>>>(d[r>>0]|0))|0;l=44;break}case 2:{k=e[g>>1]|0;i=(c[16112+((d[D>>0]|0)<<2)>>2]|0)+((c[E>>2]&k)>>>(d[F>>0]|0))|0;f=(c[16112+((d[G>>0]|0)<<2)>>2]|0)+((c[H>>2]&k)>>>(d[I>>0]|0))|0;k=(c[16112+((d[J>>0]|0)<<2)>>2]|0)+((c[K>>2]&k)>>>(d[r>>0]|0))|0;l=44;break}case 3:{i=g+((d[F>>0]|0)>>>3&255)|0;f=g+((d[I>>0]|0)>>>3&255)|0;k=g+((d[r>>0]|0)>>>3&255)|0;l=44;break}case 4:{k=c[g>>2]|0;i=(c[16112+((d[D>>0]|0)<<2)>>2]|0)+((c[E>>2]&k)>>>(d[F>>0]|0))|0;f=(c[16112+((d[G>>0]|0)<<2)>>2]|0)+((c[H>>2]&k)>>>(d[I>>0]|0))|0;k=(c[16112+((d[J>>0]|0)<<2)>>2]|0)+((c[K>>2]&k)>>>(d[r>>0]|0))|0;l=44;break}default:{i=0;f=0;k=0}}if((l|0)==44){i=a[i>>0]|0;f=a[f>>0]|0;k=a[k>>0]|0}m=i&255;n=f&255;o=k&255;switch(P<<24>>24){case 1:{l=d[h>>0]|0;i=a[(c[16112+((d[s>>0]|0)<<2)>>2]|0)+((c[t>>2]&l)>>>(d[u>>0]|0))>>0]|0;f=a[(c[16112+((d[v>>0]|0)<<2)>>2]|0)+((c[w>>2]&l)>>>(d[x>>0]|0))>>0]|0;k=a[(c[16112+((d[y>>0]|0)<<2)>>2]|0)+((c[z>>2]&l)>>>(d[A>>0]|0))>>0]|0;l=a[(c[16112+((d[B>>0]|0)<<2)>>2]|0)+((c[C>>2]&l)>>>(d[q>>0]|0))>>0]|0;break}case 2:{l=e[h>>1]|0;i=a[(c[16112+((d[s>>0]|0)<<2)>>2]|0)+((c[t>>2]&l)>>>(d[u>>0]|0))>>0]|0;f=a[(c[16112+((d[v>>0]|0)<<2)>>2]|0)+((c[w>>2]&l)>>>(d[x>>0]|0))>>0]|0;k=a[(c[16112+((d[y>>0]|0)<<2)>>2]|0)+((c[z>>2]&l)>>>(d[A>>0]|0))>>0]|0;l=a[(c[16112+((d[B>>0]|0)<<2)>>2]|0)+((c[C>>2]&l)>>>(d[q>>0]|0))>>0]|0;break}case 3:{i=a[h+((d[u>>0]|0)>>>3&255)>>0]|0;f=a[h+((d[x>>0]|0)>>>3&255)>>0]|0;k=a[h+((d[A>>0]|0)>>>3&255)>>0]|0;l=-1;break}case 4:{l=c[h>>2]|0;i=a[(c[16112+((d[s>>0]|0)<<2)>>2]|0)+((c[t>>2]&l)>>>(d[u>>0]|0))>>0]|0;f=a[(c[16112+((d[v>>0]|0)<<2)>>2]|0)+((c[w>>2]&l)>>>(d[x>>0]|0))>>0]|0;k=a[(c[16112+((d[y>>0]|0)<<2)>>2]|0)+((c[z>>2]&l)>>>(d[A>>0]|0))>>0]|0;l=a[(c[16112+((d[B>>0]|0)<<2)>>2]|0)+((c[C>>2]&l)>>>(d[q>>0]|0))>>0]|0;break}default:{i=0;f=0;k=0;l=0}}V=i&255;W=f&255;i=k&255;f=l&255;l=(((N(m-V|0,R)|0)>>>0)/255|0)+V|0;k=(((N(n-W|0,R)|0)>>>0)/255|0)+W|0;i=(((N(o-i|0,R)|0)>>>0)/255|0)+i|0;f=f+R-(((N(f,R)|0)>>>0)/255|0)|0;switch(P<<24>>24){case 1:{a[h>>0]=k>>>(d[v>>0]|0)<<(d[x>>0]|0)|l>>>(d[s>>0]|0)<<(d[u>>0]|0)|i>>>(d[y>>0]|0)<<(d[A>>0]|0)|f>>>(d[B>>0]|0)<<(d[q>>0]|0);break}case 2:{b[h>>1]=k>>>(d[v>>0]|0)<<(d[x>>0]|0)|l>>>(d[s>>0]|0)<<(d[u>>0]|0)|i>>>(d[y>>0]|0)<<(d[A>>0]|0)|f>>>(d[B>>0]|0)<<(d[q>>0]|0);break}case 3:{a[h+((d[u>>0]|0)>>>3&255)>>0]=l;a[h+((d[x>>0]|0)>>>3&255)>>0]=k;a[h+((d[A>>0]|0)>>>3&255)>>0]=i;break}case 4:{c[h>>2]=k>>>(d[v>>0]|0)<<(d[x>>0]|0)|l>>>(d[s>>0]|0)<<(d[u>>0]|0)|i>>>(d[y>>0]|0)<<(d[A>>0]|0)|f>>>(d[B>>0]|0)<<(d[q>>0]|0);break}default:{}}g=g+O|0;h=h+Q|0;l=56;continue}else if((l|0)==56){l=0;switch(M<<24>>24){case 1:{k=d[g>>0]|0;i=(c[16112+((d[D>>0]|0)<<2)>>2]|0)+((c[E>>2]&k)>>>(d[F>>0]|0))|0;f=(c[16112+((d[G>>0]|0)<<2)>>2]|0)+((c[H>>2]&k)>>>(d[I>>0]|0))|0;k=(c[16112+((d[J>>0]|0)<<2)>>2]|0)+((c[K>>2]&k)>>>(d[r>>0]|0))|0;l=61;break}case 2:{k=e[g>>1]|0;i=(c[16112+((d[D>>0]|0)<<2)>>2]|0)+((c[E>>2]&k)>>>(d[F>>0]|0))|0;f=(c[16112+((d[G>>0]|0)<<2)>>2]|0)+((c[H>>2]&k)>>>(d[I>>0]|0))|0;k=(c[16112+((d[J>>0]|0)<<2)>>2]|0)+((c[K>>2]&k)>>>(d[r>>0]|0))|0;l=61;break}case 3:{i=g+((d[F>>0]|0)>>>3&255)|0;f=g+((d[I>>0]|0)>>>3&255)|0;k=g+((d[r>>0]|0)>>>3&255)|0;l=61;break}case 4:{k=c[g>>2]|0;i=(c[16112+((d[D>>0]|0)<<2)>>2]|0)+((c[E>>2]&k)>>>(d[F>>0]|0))|0;f=(c[16112+((d[G>>0]|0)<<2)>>2]|0)+((c[H>>2]&k)>>>(d[I>>0]|0))|0;k=(c[16112+((d[J>>0]|0)<<2)>>2]|0)+((c[K>>2]&k)>>>(d[r>>0]|0))|0;l=61;break}default:{i=0;f=0;k=0}}if((l|0)==61){i=a[i>>0]|0;f=a[f>>0]|0;k=a[k>>0]|0}m=i&255;n=f&255;o=k&255;switch(P<<24>>24){case 1:{l=d[h>>0]|0;i=a[(c[16112+((d[s>>0]|0)<<2)>>2]|0)+((c[t>>2]&l)>>>(d[u>>0]|0))>>0]|0;f=a[(c[16112+((d[v>>0]|0)<<2)>>2]|0)+((c[w>>2]&l)>>>(d[x>>0]|0))>>0]|0;k=a[(c[16112+((d[y>>0]|0)<<2)>>2]|0)+((c[z>>2]&l)>>>(d[A>>0]|0))>>0]|0;l=a[(c[16112+((d[B>>0]|0)<<2)>>2]|0)+((c[C>>2]&l)>>>(d[q>>0]|0))>>0]|0;break}case 2:{l=e[h>>1]|0;i=a[(c[16112+((d[s>>0]|0)<<2)>>2]|0)+((c[t>>2]&l)>>>(d[u>>0]|0))>>0]|0;f=a[(c[16112+((d[v>>0]|0)<<2)>>2]|0)+((c[w>>2]&l)>>>(d[x>>0]|0))>>0]|0;k=a[(c[16112+((d[y>>0]|0)<<2)>>2]|0)+((c[z>>2]&l)>>>(d[A>>0]|0))>>0]|0;l=a[(c[16112+((d[B>>0]|0)<<2)>>2]|0)+((c[C>>2]&l)>>>(d[q>>0]|0))>>0]|0;break}case 3:{i=a[h+((d[u>>0]|0)>>>3&255)>>0]|0;f=a[h+((d[x>>0]|0)>>>3&255)>>0]|0;k=a[h+((d[A>>0]|0)>>>3&255)>>0]|0;l=-1;break}case 4:{l=c[h>>2]|0;i=a[(c[16112+((d[s>>0]|0)<<2)>>2]|0)+((c[t>>2]&l)>>>(d[u>>0]|0))>>0]|0;f=a[(c[16112+((d[v>>0]|0)<<2)>>2]|0)+((c[w>>2]&l)>>>(d[x>>0]|0))>>0]|0;k=a[(c[16112+((d[y>>0]|0)<<2)>>2]|0)+((c[z>>2]&l)>>>(d[A>>0]|0))>>0]|0;l=a[(c[16112+((d[B>>0]|0)<<2)>>2]|0)+((c[C>>2]&l)>>>(d[q>>0]|0))>>0]|0;break}default:{i=0;f=0;k=0;l=0}}V=i&255;W=f&255;i=k&255;f=l&255;l=(((N(m-V|0,R)|0)>>>0)/255|0)+V|0;k=(((N(n-W|0,R)|0)>>>0)/255|0)+W|0;i=(((N(o-i|0,R)|0)>>>0)/255|0)+i|0;f=f+R-(((N(f,R)|0)>>>0)/255|0)|0;switch(P<<24>>24){case 1:{a[h>>0]=k>>>(d[v>>0]|0)<<(d[x>>0]|0)|l>>>(d[s>>0]|0)<<(d[u>>0]|0)|i>>>(d[y>>0]|0)<<(d[A>>0]|0)|f>>>(d[B>>0]|0)<<(d[q>>0]|0);break}case 2:{b[h>>1]=k>>>(d[v>>0]|0)<<(d[x>>0]|0)|l>>>(d[s>>0]|0)<<(d[u>>0]|0)|i>>>(d[y>>0]|0)<<(d[A>>0]|0)|f>>>(d[B>>0]|0)<<(d[q>>0]|0);break}case 3:{a[h+((d[u>>0]|0)>>>3&255)>>0]=l;a[h+((d[x>>0]|0)>>>3&255)>>0]=k;a[h+((d[A>>0]|0)>>>3&255)>>0]=i;break}case 4:{c[h>>2]=k>>>(d[v>>0]|0)<<(d[x>>0]|0)|l>>>(d[s>>0]|0)<<(d[u>>0]|0)|i>>>(d[y>>0]|0)<<(d[A>>0]|0)|f>>>(d[B>>0]|0)<<(d[q>>0]|0);break}default:{}}g=g+O|0;h=h+Q|0;if((p|0)>1){p=p+-1|0;l=5;continue}else break}if(!j){l=75;break}else{g=g+T|0;h=h+U|0}}if((l|0)!=73)if((l|0)==75)return}function KEa(d){d=d|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;f=a[d+63>>0]|0;if(f<<24>>24==-128){REa(d,-2082);return}g=c[d+24>>2]|0;n=c[d+28>>2]|0;i=c[d>>2]|0;p=c[d+16>>2]>>1;j=c[d+20>>2]|0;o=c[d+36>>2]>>1;m=(f&255)>>>3;h=n+-1|0;if(!n)return;n=(g+3|0)/4|0;l=g&255;if(!(l&3)){d=i;f=j;while(1){g=n;while(1){l=e[d>>1]|0;j=e[f>>1]|0;j=(j<<16|j)&132184095;j=((N(((l<<16|l)&132184095)-j|0,m)|0)>>>5)+j&132184095;l=f+2|0;b[f>>1]=j>>>16|j;j=e[d+2>>1]|0;k=e[l>>1]|0;k=(k<<16|k)&132184095;k=((N(((j<<16|j)&132184095)-k|0,m)|0)>>>5)+k&132184095;j=f+4|0;b[l>>1]=k>>>16|k;l=e[d+4>>1]|0;k=e[j>>1]|0;k=(k<<16|k)&132184095;k=((N(((l<<16|l)&132184095)-k|0,m)|0)>>>5)+k&132184095;l=f+6|0;b[j>>1]=k>>>16|k;j=d;d=d+8|0;j=e[j+6>>1]|0;k=e[l>>1]|0;k=(k<<16|k)&132184095;k=((N(((j<<16|j)&132184095)-k|0,m)|0)>>>5)+k&132184095;f=f+8|0;b[l>>1]=k>>>16|k;if((g|0)<=1)break;else g=g+-1|0}if(!h)break;else{d=d+(p<<1)|0;f=f+(o<<1)|0;h=h+-1|0}}return}d=j;a:while(1){switch(l&3){case 1:{j=n;g=d;k=14;break}case 3:{f=n;k=12;break}case 2:{f=n;k=13;break}default:{k=15;break a}}while(1)if((k|0)==12){g=e[i>>1]|0;j=e[d>>1]|0;j=(j<<16|j)&132184095;j=((N(((g<<16|g)&132184095)-j|0,m)|0)>>>5)+j&132184095;b[d>>1]=j>>>16|j;i=i+2|0;d=d+2|0;k=13;continue}else if((k|0)==13){g=e[i>>1]|0;j=e[d>>1]|0;j=(j<<16|j)&132184095;j=((N(((g<<16|g)&132184095)-j|0,m)|0)>>>5)+j&132184095;b[d>>1]=j>>>16|j;j=f;i=i+2|0;g=d+2|0;k=14;continue}else if((k|0)==14){d=i+2|0;f=e[i>>1]|0;k=e[g>>1]|0;k=(k<<16|k)&132184095;k=((N(((f<<16|f)&132184095)-k|0,m)|0)>>>5)+k&132184095;f=g+2|0;b[g>>1]=k>>>16|k;if((j|0)<=1)break;k=e[d>>1]|0;d=e[f>>1]|0;d=(d<<16|d)&132184095;d=((N(((k<<16|k)&132184095)-d|0,m)|0)>>>5)+d&132184095;b[f>>1]=d>>>16|d;f=j+-1|0;i=i+4|0;d=g+4|0;k=12;continue}if(!h){k=17;break}else{i=d+(p<<1)|0;d=f+(o<<1)|0;h=h+-1|0}}if((k|0)!=15)if((k|0)==17)return}function LEa(b){b=b|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0;f=c[b+24>>2]|0;h=c[b+28>>2]|0;G=c[b+16>>2]|0;H=c[b+36>>2]|0;A=c[b+48>>2]|0;g=c[b+40>>2]|0;B=a[g+9>>0]|0;C=B&255;D=c[b+56>>2]|0;E=d[b+63>>0]|0;if(!h)return;F=(f+7|0)/8|0;z=f&255;r=g+28|0;s=g+12|0;t=g+32|0;u=g+29|0;v=g+16|0;w=g+33|0;x=g+30|0;y=g+20|0;o=g+34|0;p=(c[b+44>>2]|0)+4|0;q=(A|0)==0;f=c[b>>2]|0;g=c[b+20>>2]|0;a:while(1){h=h+-1|0;switch(z&7){case 0:{m=F;l=f;n=4;break}case 7:{m=F;l=f;n=16;break}case 6:{m=F;l=f;n=28;break}case 5:{m=F;l=f;n=40;break}case 4:{m=F;l=f;n=52;break}case 3:{m=F;l=f;n=64;break}case 2:{m=F;l=f;n=76;break}case 1:{m=F;l=f;n=88;break}default:{n=100;break a}}while(1)if((n|0)==4){n=0;switch(B<<24>>24){case 1:{b=d[l>>0]|0;i=(c[16112+((d[u>>0]|0)<<2)>>2]|0)+((c[v>>2]&b)>>>(d[w>>0]|0))|0;j=(c[16112+((d[r>>0]|0)<<2)>>2]|0)+((c[s>>2]&b)>>>(d[t>>0]|0))|0;f=b;b=(c[16112+((d[x>>0]|0)<<2)>>2]|0)+((c[y>>2]&b)>>>(d[o>>0]|0))|0;n=9;break}case 2:{b=e[l>>1]|0;i=(c[16112+((d[u>>0]|0)<<2)>>2]|0)+((c[v>>2]&b)>>>(d[w>>0]|0))|0;j=(c[16112+((d[r>>0]|0)<<2)>>2]|0)+((c[s>>2]&b)>>>(d[t>>0]|0))|0;f=b;b=(c[16112+((d[x>>0]|0)<<2)>>2]|0)+((c[y>>2]&b)>>>(d[o>>0]|0))|0;n=9;break}case 3:{i=l+((d[w>>0]|0)>>>3&255)|0;j=l+((d[t>>0]|0)>>>3&255)|0;f=0;b=l+((d[o>>0]|0)>>>3&255)|0;n=9;break}case 4:{b=c[l>>2]|0;i=(c[16112+((d[u>>0]|0)<<2)>>2]|0)+((c[v>>2]&b)>>>(d[w>>0]|0))|0;j=(c[16112+((d[r>>0]|0)<<2)>>2]|0)+((c[s>>2]&b)>>>(d[t>>0]|0))|0;f=b;b=(c[16112+((d[x>>0]|0)<<2)>>2]|0)+((c[y>>2]&b)>>>(d[o>>0]|0))|0;n=9;break}default:{k=0;i=0;b=0;f=0}}if((n|0)==9){k=a[b>>0]|0;i=a[i>>0]|0;b=a[j>>0]|0}if((f|0)!=(D|0)){I=c[(c[p>>2]|0)+4>>2]|0;f=d[g>>0]|0;n=d[I+(f<<2)>>0]|0;j=d[I+(f<<2)+1>>0]|0;f=d[I+(f<<2)+2>>0]|0;f=((((N((i&255)-j|0,E)|0)>>>0)/255|0)+j|0)>>>3&28|(((N((b&255)-n|0,E)|0)>>>0)/255|0)+n&224|((((N((k&255)-f|0,E)|0)>>>0)/255|0)+f|0)>>>6&3;if(q)f=f&255;else f=a[A+f>>0]|0;a[g>>0]=f}l=l+C|0;g=g+1|0;n=16;continue}else if((n|0)==16){n=0;switch(B<<24>>24){case 1:{b=d[l>>0]|0;i=(c[16112+((d[u>>0]|0)<<2)>>2]|0)+((c[v>>2]&b)>>>(d[w>>0]|0))|0;j=(c[16112+((d[r>>0]|0)<<2)>>2]|0)+((c[s>>2]&b)>>>(d[t>>0]|0))|0;f=b;b=(c[16112+((d[x>>0]|0)<<2)>>2]|0)+((c[y>>2]&b)>>>(d[o>>0]|0))|0;n=21;break}case 2:{b=e[l>>1]|0;i=(c[16112+((d[u>>0]|0)<<2)>>2]|0)+((c[v>>2]&b)>>>(d[w>>0]|0))|0;j=(c[16112+((d[r>>0]|0)<<2)>>2]|0)+((c[s>>2]&b)>>>(d[t>>0]|0))|0;f=b;b=(c[16112+((d[x>>0]|0)<<2)>>2]|0)+((c[y>>2]&b)>>>(d[o>>0]|0))|0;n=21;break}case 3:{i=l+((d[w>>0]|0)>>>3&255)|0;j=l+((d[t>>0]|0)>>>3&255)|0;f=0;b=l+((d[o>>0]|0)>>>3&255)|0;n=21;break}case 4:{b=c[l>>2]|0;i=(c[16112+((d[u>>0]|0)<<2)>>2]|0)+((c[v>>2]&b)>>>(d[w>>0]|0))|0;j=(c[16112+((d[r>>0]|0)<<2)>>2]|0)+((c[s>>2]&b)>>>(d[t>>0]|0))|0;f=b;b=(c[16112+((d[x>>0]|0)<<2)>>2]|0)+((c[y>>2]&b)>>>(d[o>>0]|0))|0;n=21;break}default:{k=0;i=0;b=0;f=0}}if((n|0)==21){k=a[b>>0]|0;i=a[i>>0]|0;b=a[j>>0]|0}if((f|0)!=(D|0)){j=c[(c[p>>2]|0)+4>>2]|0;f=d[g>>0]|0;I=d[j+(f<<2)>>0]|0;n=d[j+(f<<2)+1>>0]|0;f=d[j+(f<<2)+2>>0]|0;f=((((N((i&255)-n|0,E)|0)>>>0)/255|0)+n|0)>>>3&28|(((N((b&255)-I|0,E)|0)>>>0)/255|0)+I&224|((((N((k&255)-f|0,E)|0)>>>0)/255|0)+f|0)>>>6&3;if(q)f=f&255;else f=a[A+f>>0]|0;a[g>>0]=f}l=l+C|0;g=g+1|0;n=28;continue}else if((n|0)==28){n=0;switch(B<<24>>24){case 1:{b=d[l>>0]|0;i=(c[16112+((d[u>>0]|0)<<2)>>2]|0)+((c[v>>2]&b)>>>(d[w>>0]|0))|0;j=(c[16112+((d[r>>0]|0)<<2)>>2]|0)+((c[s>>2]&b)>>>(d[t>>0]|0))|0;f=b;b=(c[16112+((d[x>>0]|0)<<2)>>2]|0)+((c[y>>2]&b)>>>(d[o>>0]|0))|0;n=33;break}case 2:{b=e[l>>1]|0;i=(c[16112+((d[u>>0]|0)<<2)>>2]|0)+((c[v>>2]&b)>>>(d[w>>0]|0))|0;j=(c[16112+((d[r>>0]|0)<<2)>>2]|0)+((c[s>>2]&b)>>>(d[t>>0]|0))|0;f=b;b=(c[16112+((d[x>>0]|0)<<2)>>2]|0)+((c[y>>2]&b)>>>(d[o>>0]|0))|0;n=33;break}case 3:{i=l+((d[w>>0]|0)>>>3&255)|0;j=l+((d[t>>0]|0)>>>3&255)|0;f=0;b=l+((d[o>>0]|0)>>>3&255)|0;n=33;break}case 4:{b=c[l>>2]|0;i=(c[16112+((d[u>>0]|0)<<2)>>2]|0)+((c[v>>2]&b)>>>(d[w>>0]|0))|0;j=(c[16112+((d[r>>0]|0)<<2)>>2]|0)+((c[s>>2]&b)>>>(d[t>>0]|0))|0;f=b;b=(c[16112+((d[x>>0]|0)<<2)>>2]|0)+((c[y>>2]&b)>>>(d[o>>0]|0))|0;n=33;break}default:{k=0;i=0;b=0;f=0}}if((n|0)==33){k=a[b>>0]|0;i=a[i>>0]|0;b=a[j>>0]|0}if((f|0)!=(D|0)){j=c[(c[p>>2]|0)+4>>2]|0;f=d[g>>0]|0;I=d[j+(f<<2)>>0]|0;n=d[j+(f<<2)+1>>0]|0;f=d[j+(f<<2)+2>>0]|0;f=((((N((i&255)-n|0,E)|0)>>>0)/255|0)+n|0)>>>3&28|(((N((b&255)-I|0,E)|0)>>>0)/255|0)+I&224|((((N((k&255)-f|0,E)|0)>>>0)/255|0)+f|0)>>>6&3;if(q)f=f&255;else f=a[A+f>>0]|0;a[g>>0]=f}l=l+C|0;g=g+1|0;n=40;continue}else if((n|0)==40){n=0;switch(B<<24>>24){case 1:{b=d[l>>0]|0;i=(c[16112+((d[u>>0]|0)<<2)>>2]|0)+((c[v>>2]&b)>>>(d[w>>0]|0))|0;j=(c[16112+((d[r>>0]|0)<<2)>>2]|0)+((c[s>>2]&b)>>>(d[t>>0]|0))|0;f=b;b=(c[16112+((d[x>>0]|0)<<2)>>2]|0)+((c[y>>2]&b)>>>(d[o>>0]|0))|0;n=45;break}case 2:{b=e[l>>1]|0;i=(c[16112+((d[u>>0]|0)<<2)>>2]|0)+((c[v>>2]&b)>>>(d[w>>0]|0))|0;j=(c[16112+((d[r>>0]|0)<<2)>>2]|0)+((c[s>>2]&b)>>>(d[t>>0]|0))|0;f=b;b=(c[16112+((d[x>>0]|0)<<2)>>2]|0)+((c[y>>2]&b)>>>(d[o>>0]|0))|0;n=45;break}case 3:{i=l+((d[w>>0]|0)>>>3&255)|0;j=l+((d[t>>0]|0)>>>3&255)|0;f=0;b=l+((d[o>>0]|0)>>>3&255)|0;n=45;break}case 4:{b=c[l>>2]|0;i=(c[16112+((d[u>>0]|0)<<2)>>2]|0)+((c[v>>2]&b)>>>(d[w>>0]|0))|0;j=(c[16112+((d[r>>0]|0)<<2)>>2]|0)+((c[s>>2]&b)>>>(d[t>>0]|0))|0;f=b;b=(c[16112+((d[x>>0]|0)<<2)>>2]|0)+((c[y>>2]&b)>>>(d[o>>0]|0))|0;n=45;break}default:{k=0;i=0;b=0;f=0}}if((n|0)==45){k=a[b>>0]|0;i=a[i>>0]|0;b=a[j>>0]|0}if((f|0)!=(D|0)){j=c[(c[p>>2]|0)+4>>2]|0;f=d[g>>0]|0;I=d[j+(f<<2)>>0]|0;n=d[j+(f<<2)+1>>0]|0;f=d[j+(f<<2)+2>>0]|0;f=((((N((i&255)-n|0,E)|0)>>>0)/255|0)+n|0)>>>3&28|(((N((b&255)-I|0,E)|0)>>>0)/255|0)+I&224|((((N((k&255)-f|0,E)|0)>>>0)/255|0)+f|0)>>>6&3;if(q)f=f&255;else f=a[A+f>>0]|0;a[g>>0]=f}l=l+C|0;g=g+1|0;n=52;continue}else if((n|0)==52){n=0;switch(B<<24>>24){case 1:{b=d[l>>0]|0;i=(c[16112+((d[u>>0]|0)<<2)>>2]|0)+((c[v>>2]&b)>>>(d[w>>0]|0))|0;j=(c[16112+((d[r>>0]|0)<<2)>>2]|0)+((c[s>>2]&b)>>>(d[t>>0]|0))|0;f=b;b=(c[16112+((d[x>>0]|0)<<2)>>2]|0)+((c[y>>2]&b)>>>(d[o>>0]|0))|0;n=57;break}case 2:{b=e[l>>1]|0;i=(c[16112+((d[u>>0]|0)<<2)>>2]|0)+((c[v>>2]&b)>>>(d[w>>0]|0))|0;j=(c[16112+((d[r>>0]|0)<<2)>>2]|0)+((c[s>>2]&b)>>>(d[t>>0]|0))|0;f=b;b=(c[16112+((d[x>>0]|0)<<2)>>2]|0)+((c[y>>2]&b)>>>(d[o>>0]|0))|0;n=57;break}case 3:{i=l+((d[w>>0]|0)>>>3&255)|0;j=l+((d[t>>0]|0)>>>3&255)|0;f=0;b=l+((d[o>>0]|0)>>>3&255)|0;n=57;break}case 4:{b=c[l>>2]|0;i=(c[16112+((d[u>>0]|0)<<2)>>2]|0)+((c[v>>2]&b)>>>(d[w>>0]|0))|0;j=(c[16112+((d[r>>0]|0)<<2)>>2]|0)+((c[s>>2]&b)>>>(d[t>>0]|0))|0;f=b;b=(c[16112+((d[x>>0]|0)<<2)>>2]|0)+((c[y>>2]&b)>>>(d[o>>0]|0))|0;n=57;break}default:{k=0;i=0;b=0;f=0}}if((n|0)==57){k=a[b>>0]|0;i=a[i>>0]|0;b=a[j>>0]|0}if((f|0)!=(D|0)){j=c[(c[p>>2]|0)+4>>2]|0;f=d[g>>0]|0;I=d[j+(f<<2)>>0]|0;n=d[j+(f<<2)+1>>0]|0;f=d[j+(f<<2)+2>>0]|0;f=((((N((i&255)-n|0,E)|0)>>>0)/255|0)+n|0)>>>3&28|(((N((b&255)-I|0,E)|0)>>>0)/255|0)+I&224|((((N((k&255)-f|0,E)|0)>>>0)/255|0)+f|0)>>>6&3;if(q)f=f&255;else f=a[A+f>>0]|0;a[g>>0]=f}l=l+C|0;g=g+1|0;n=64;continue}else if((n|0)==64){n=0;switch(B<<24>>24){case 1:{b=d[l>>0]|0;i=(c[16112+((d[u>>0]|0)<<2)>>2]|0)+((c[v>>2]&b)>>>(d[w>>0]|0))|0;j=(c[16112+((d[r>>0]|0)<<2)>>2]|0)+((c[s>>2]&b)>>>(d[t>>0]|0))|0;f=b;b=(c[16112+((d[x>>0]|0)<<2)>>2]|0)+((c[y>>2]&b)>>>(d[o>>0]|0))|0;n=69;break}case 2:{b=e[l>>1]|0;i=(c[16112+((d[u>>0]|0)<<2)>>2]|0)+((c[v>>2]&b)>>>(d[w>>0]|0))|0;j=(c[16112+((d[r>>0]|0)<<2)>>2]|0)+((c[s>>2]&b)>>>(d[t>>0]|0))|0;f=b;b=(c[16112+((d[x>>0]|0)<<2)>>2]|0)+((c[y>>2]&b)>>>(d[o>>0]|0))|0;n=69;break}case 3:{i=l+((d[w>>0]|0)>>>3&255)|0;j=l+((d[t>>0]|0)>>>3&255)|0;f=0;b=l+((d[o>>0]|0)>>>3&255)|0;n=69;break}case 4:{b=c[l>>2]|0;i=(c[16112+((d[u>>0]|0)<<2)>>2]|0)+((c[v>>2]&b)>>>(d[w>>0]|0))|0;j=(c[16112+((d[r>>0]|0)<<2)>>2]|0)+((c[s>>2]&b)>>>(d[t>>0]|0))|0;f=b;b=(c[16112+((d[x>>0]|0)<<2)>>2]|0)+((c[y>>2]&b)>>>(d[o>>0]|0))|0;n=69;break}default:{k=0;i=0;b=0;f=0}}if((n|0)==69){k=a[b>>0]|0;i=a[i>>0]|0;b=a[j>>0]|0}if((f|0)!=(D|0)){j=c[(c[p>>2]|0)+4>>2]|0;f=d[g>>0]|0;I=d[j+(f<<2)>>0]|0;n=d[j+(f<<2)+1>>0]|0;f=d[j+(f<<2)+2>>0]|0;f=((((N((i&255)-n|0,E)|0)>>>0)/255|0)+n|0)>>>3&28|(((N((b&255)-I|0,E)|0)>>>0)/255|0)+I&224|((((N((k&255)-f|0,E)|0)>>>0)/255|0)+f|0)>>>6&3;if(q)f=f&255;else f=a[A+f>>0]|0;a[g>>0]=f}l=l+C|0;g=g+1|0;n=76;continue}else if((n|0)==76){n=0;switch(B<<24>>24){case 1:{b=d[l>>0]|0;i=(c[16112+((d[u>>0]|0)<<2)>>2]|0)+((c[v>>2]&b)>>>(d[w>>0]|0))|0;j=(c[16112+((d[r>>0]|0)<<2)>>2]|0)+((c[s>>2]&b)>>>(d[t>>0]|0))|0;f=b;b=(c[16112+((d[x>>0]|0)<<2)>>2]|0)+((c[y>>2]&b)>>>(d[o>>0]|0))|0;n=81;break}case 2:{b=e[l>>1]|0;i=(c[16112+((d[u>>0]|0)<<2)>>2]|0)+((c[v>>2]&b)>>>(d[w>>0]|0))|0;j=(c[16112+((d[r>>0]|0)<<2)>>2]|0)+((c[s>>2]&b)>>>(d[t>>0]|0))|0;f=b;b=(c[16112+((d[x>>0]|0)<<2)>>2]|0)+((c[y>>2]&b)>>>(d[o>>0]|0))|0;n=81;break}case 3:{i=l+((d[w>>0]|0)>>>3&255)|0;j=l+((d[t>>0]|0)>>>3&255)|0;f=0;b=l+((d[o>>0]|0)>>>3&255)|0;n=81;break}case 4:{b=c[l>>2]|0;i=(c[16112+((d[u>>0]|0)<<2)>>2]|0)+((c[v>>2]&b)>>>(d[w>>0]|0))|0;j=(c[16112+((d[r>>0]|0)<<2)>>2]|0)+((c[s>>2]&b)>>>(d[t>>0]|0))|0;f=b;b=(c[16112+((d[x>>0]|0)<<2)>>2]|0)+((c[y>>2]&b)>>>(d[o>>0]|0))|0;n=81;break}default:{k=0;i=0;b=0;f=0}}if((n|0)==81){k=a[b>>0]|0;i=a[i>>0]|0;b=a[j>>0]|0}if((f|0)!=(D|0)){j=c[(c[p>>2]|0)+4>>2]|0;f=d[g>>0]|0;I=d[j+(f<<2)>>0]|0;n=d[j+(f<<2)+1>>0]|0;f=d[j+(f<<2)+2>>0]|0;f=((((N((i&255)-n|0,E)|0)>>>0)/255|0)+n|0)>>>3&28|(((N((b&255)-I|0,E)|0)>>>0)/255|0)+I&224|((((N((k&255)-f|0,E)|0)>>>0)/255|0)+f|0)>>>6&3;if(q)f=f&255;else f=a[A+f>>0]|0;a[g>>0]=f}l=l+C|0;g=g+1|0;n=88;continue}else if((n|0)==88){n=0;switch(B<<24>>24){case 1:{b=d[l>>0]|0;i=(c[16112+((d[u>>0]|0)<<2)>>2]|0)+((c[v>>2]&b)>>>(d[w>>0]|0))|0;j=(c[16112+((d[r>>0]|0)<<2)>>2]|0)+((c[s>>2]&b)>>>(d[t>>0]|0))|0;f=b;b=(c[16112+((d[x>>0]|0)<<2)>>2]|0)+((c[y>>2]&b)>>>(d[o>>0]|0))|0;n=93;break}case 2:{b=e[l>>1]|0;i=(c[16112+((d[u>>0]|0)<<2)>>2]|0)+((c[v>>2]&b)>>>(d[w>>0]|0))|0;j=(c[16112+((d[r>>0]|0)<<2)>>2]|0)+((c[s>>2]&b)>>>(d[t>>0]|0))|0;f=b;b=(c[16112+((d[x>>0]|0)<<2)>>2]|0)+((c[y>>2]&b)>>>(d[o>>0]|0))|0;n=93;break}case 3:{i=l+((d[w>>0]|0)>>>3&255)|0;j=l+((d[t>>0]|0)>>>3&255)|0;f=0;b=l+((d[o>>0]|0)>>>3&255)|0;n=93;break}case 4:{b=c[l>>2]|0;i=(c[16112+((d[u>>0]|0)<<2)>>2]|0)+((c[v>>2]&b)>>>(d[w>>0]|0))|0;j=(c[16112+((d[r>>0]|0)<<2)>>2]|0)+((c[s>>2]&b)>>>(d[t>>0]|0))|0;f=b;b=(c[16112+((d[x>>0]|0)<<2)>>2]|0)+((c[y>>2]&b)>>>(d[o>>0]|0))|0;n=93;break}default:{k=0;i=0;b=0;f=0}}if((n|0)==93){k=a[b>>0]|0;i=a[i>>0]|0;b=a[j>>0]|0}if((f|0)!=(D|0)){j=c[(c[p>>2]|0)+4>>2]|0;f=d[g>>0]|0;I=d[j+(f<<2)>>0]|0;n=d[j+(f<<2)+1>>0]|0;f=d[j+(f<<2)+2>>0]|0;f=((((N((i&255)-n|0,E)|0)>>>0)/255|0)+n|0)>>>3&28|(((N((b&255)-I|0,E)|0)>>>0)/255|0)+I&224|((((N((k&255)-f|0,E)|0)>>>0)/255|0)+f|0)>>>6&3;if(q)f=f&255;else f=a[A+f>>0]|0;a[g>>0]=f}g=g+1|0;f=l+C|0;if((m|0)>1){m=m+-1|0;l=f;n=4;continue}else break}if(!h){n=102;break}else{f=f+G|0;g=g+H|0}}if((n|0)!=100)if((n|0)==102)return}function MEa(f){f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0;g=c[f+24>>2]|0;k=c[f+28>>2]|0;V=c[f+16>>2]|0;W=c[f+36>>2]|0;i=c[f+40>>2]|0;j=c[f+44>>2]|0;O=c[f+56>>2]|0;P=a[i+9>>0]|0;Q=P&255;R=a[j+9>>0]|0;S=R&255;h=a[f+63>>0]|0;T=h&255;if(!k)return;U=(g+3|0)/4|0;M=g&255;D=h<<24>>24==0;E=i+28|0;F=i+12|0;G=i+32|0;H=i+29|0;I=i+16|0;J=i+33|0;K=i+30|0;L=i+20|0;r=i+34|0;s=j+28|0;t=j+12|0;u=j+32|0;v=j+29|0;w=j+16|0;x=j+33|0;y=j+30|0;z=j+20|0;A=j+34|0;B=j+31|0;C=j+24|0;q=j+35|0;g=c[f>>2]|0;h=c[f+20>>2]|0;a:while(1){k=k+-1|0;switch(M&3){case 0:{p=U;o=h;h=4;break}case 3:{p=U;o=h;h=21;break}case 2:{p=U;o=h;h=38;break}case 1:{p=U;o=h;h=55;break}default:{h=72;break a}}while(1)if((h|0)==4){switch(P<<24>>24){case 1:{h=d[g>>0]|0;break}case 2:{h=e[g>>1]|0;break}case 3:{h=(d[g+1>>0]|0)<<8|(d[g>>0]|0)|(d[g+2>>0]|0)<<16;break}case 4:{h=c[g>>2]|0;break}default:h=0}b:do if(!(D|(h|0)==(O|0))){l=d[(c[16112+((d[E>>0]|0)<<2)>>2]|0)+((c[F>>2]&h)>>>(d[G>>0]|0))>>0]|0;n=d[(c[16112+((d[H>>0]|0)<<2)>>2]|0)+((c[I>>2]&h)>>>(d[J>>0]|0))>>0]|0;m=d[(c[16112+((d[K>>0]|0)<<2)>>2]|0)+((c[L>>2]&h)>>>(d[r>>0]|0))>>0]|0;switch(R<<24>>24){case 1:{f=d[o>>0]|0;h=a[(c[16112+((d[s>>0]|0)<<2)>>2]|0)+((c[t>>2]&f)>>>(d[u>>0]|0))>>0]|0;i=a[(c[16112+((d[v>>0]|0)<<2)>>2]|0)+((c[w>>2]&f)>>>(d[x>>0]|0))>>0]|0;j=a[(c[16112+((d[y>>0]|0)<<2)>>2]|0)+((c[z>>2]&f)>>>(d[A>>0]|0))>>0]|0;f=a[(c[16112+((d[B>>0]|0)<<2)>>2]|0)+((c[C>>2]&f)>>>(d[q>>0]|0))>>0]|0;break}case 2:{f=e[o>>1]|0;h=a[(c[16112+((d[s>>0]|0)<<2)>>2]|0)+((c[t>>2]&f)>>>(d[u>>0]|0))>>0]|0;i=a[(c[16112+((d[v>>0]|0)<<2)>>2]|0)+((c[w>>2]&f)>>>(d[x>>0]|0))>>0]|0;j=a[(c[16112+((d[y>>0]|0)<<2)>>2]|0)+((c[z>>2]&f)>>>(d[A>>0]|0))>>0]|0;f=a[(c[16112+((d[B>>0]|0)<<2)>>2]|0)+((c[C>>2]&f)>>>(d[q>>0]|0))>>0]|0;break}case 3:{h=a[o+((d[u>>0]|0)>>>3&255)>>0]|0;i=a[o+((d[x>>0]|0)>>>3&255)>>0]|0;j=a[o+((d[A>>0]|0)>>>3&255)>>0]|0;f=-1;break}case 4:{f=c[o>>2]|0;h=a[(c[16112+((d[s>>0]|0)<<2)>>2]|0)+((c[t>>2]&f)>>>(d[u>>0]|0))>>0]|0;i=a[(c[16112+((d[v>>0]|0)<<2)>>2]|0)+((c[w>>2]&f)>>>(d[x>>0]|0))>>0]|0;j=a[(c[16112+((d[y>>0]|0)<<2)>>2]|0)+((c[z>>2]&f)>>>(d[A>>0]|0))>>0]|0;f=a[(c[16112+((d[B>>0]|0)<<2)>>2]|0)+((c[C>>2]&f)>>>(d[q>>0]|0))>>0]|0;break}default:{h=0;i=0;j=0;f=0}}Y=h&255;X=i&255;h=j&255;i=f&255;f=(((N(l-Y|0,T)|0)>>>0)/255|0)+Y|0;j=(((N(n-X|0,T)|0)>>>0)/255|0)+X|0;h=(((N(m-h|0,T)|0)>>>0)/255|0)+h|0;i=i+T-(((N(i,T)|0)>>>0)/255|0)|0;switch(R<<24>>24){case 1:{a[o>>0]=j>>>(d[v>>0]|0)<<(d[x>>0]|0)|f>>>(d[s>>0]|0)<<(d[u>>0]|0)|h>>>(d[y>>0]|0)<<(d[A>>0]|0)|i>>>(d[B>>0]|0)<<(d[q>>0]|0);break b}case 2:{b[o>>1]=j>>>(d[v>>0]|0)<<(d[x>>0]|0)|f>>>(d[s>>0]|0)<<(d[u>>0]|0)|h>>>(d[y>>0]|0)<<(d[A>>0]|0)|i>>>(d[B>>0]|0)<<(d[q>>0]|0);break b}case 3:{a[o+((d[u>>0]|0)>>>3&255)>>0]=f;a[o+((d[x>>0]|0)>>>3&255)>>0]=j;a[o+((d[A>>0]|0)>>>3&255)>>0]=h;break b}case 4:{c[o>>2]=j>>>(d[v>>0]|0)<<(d[x>>0]|0)|f>>>(d[s>>0]|0)<<(d[u>>0]|0)|h>>>(d[y>>0]|0)<<(d[A>>0]|0)|i>>>(d[B>>0]|0)<<(d[q>>0]|0);break b}default:break b}}while(0);g=g+Q|0;o=o+S|0;h=21;continue}else if((h|0)==21){switch(P<<24>>24){case 1:{h=d[g>>0]|0;break}case 2:{h=e[g>>1]|0;break}case 3:{h=(d[g+1>>0]|0)<<8|(d[g>>0]|0)|(d[g+2>>0]|0)<<16;break}case 4:{h=c[g>>2]|0;break}default:h=0}c:do if(!(D|(h|0)==(O|0))){l=d[(c[16112+((d[E>>0]|0)<<2)>>2]|0)+((c[F>>2]&h)>>>(d[G>>0]|0))>>0]|0;m=d[(c[16112+((d[H>>0]|0)<<2)>>2]|0)+((c[I>>2]&h)>>>(d[J>>0]|0))>>0]|0;n=d[(c[16112+((d[K>>0]|0)<<2)>>2]|0)+((c[L>>2]&h)>>>(d[r>>0]|0))>>0]|0;switch(R<<24>>24){case 1:{f=d[o>>0]|0;h=a[(c[16112+((d[s>>0]|0)<<2)>>2]|0)+((c[t>>2]&f)>>>(d[u>>0]|0))>>0]|0;i=a[(c[16112+((d[v>>0]|0)<<2)>>2]|0)+((c[w>>2]&f)>>>(d[x>>0]|0))>>0]|0;j=a[(c[16112+((d[y>>0]|0)<<2)>>2]|0)+((c[z>>2]&f)>>>(d[A>>0]|0))>>0]|0;f=a[(c[16112+((d[B>>0]|0)<<2)>>2]|0)+((c[C>>2]&f)>>>(d[q>>0]|0))>>0]|0;break}case 2:{f=e[o>>1]|0;h=a[(c[16112+((d[s>>0]|0)<<2)>>2]|0)+((c[t>>2]&f)>>>(d[u>>0]|0))>>0]|0;i=a[(c[16112+((d[v>>0]|0)<<2)>>2]|0)+((c[w>>2]&f)>>>(d[x>>0]|0))>>0]|0;j=a[(c[16112+((d[y>>0]|0)<<2)>>2]|0)+((c[z>>2]&f)>>>(d[A>>0]|0))>>0]|0;f=a[(c[16112+((d[B>>0]|0)<<2)>>2]|0)+((c[C>>2]&f)>>>(d[q>>0]|0))>>0]|0;break}case 3:{h=a[o+((d[u>>0]|0)>>>3&255)>>0]|0;i=a[o+((d[x>>0]|0)>>>3&255)>>0]|0;j=a[o+((d[A>>0]|0)>>>3&255)>>0]|0;f=-1;break}case 4:{f=c[o>>2]|0;h=a[(c[16112+((d[s>>0]|0)<<2)>>2]|0)+((c[t>>2]&f)>>>(d[u>>0]|0))>>0]|0;i=a[(c[16112+((d[v>>0]|0)<<2)>>2]|0)+((c[w>>2]&f)>>>(d[x>>0]|0))>>0]|0;j=a[(c[16112+((d[y>>0]|0)<<2)>>2]|0)+((c[z>>2]&f)>>>(d[A>>0]|0))>>0]|0;f=a[(c[16112+((d[B>>0]|0)<<2)>>2]|0)+((c[C>>2]&f)>>>(d[q>>0]|0))>>0]|0;break}default:{h=0;i=0;j=0;f=0}}X=h&255;Y=i&255;h=j&255;i=f&255;f=(((N(l-X|0,T)|0)>>>0)/255|0)+X|0;j=(((N(m-Y|0,T)|0)>>>0)/255|0)+Y|0;h=(((N(n-h|0,T)|0)>>>0)/255|0)+h|0;i=i+T-(((N(i,T)|0)>>>0)/255|0)|0;switch(R<<24>>24){case 1:{a[o>>0]=j>>>(d[v>>0]|0)<<(d[x>>0]|0)|f>>>(d[s>>0]|0)<<(d[u>>0]|0)|h>>>(d[y>>0]|0)<<(d[A>>0]|0)|i>>>(d[B>>0]|0)<<(d[q>>0]|0);break c}case 2:{b[o>>1]=j>>>(d[v>>0]|0)<<(d[x>>0]|0)|f>>>(d[s>>0]|0)<<(d[u>>0]|0)|h>>>(d[y>>0]|0)<<(d[A>>0]|0)|i>>>(d[B>>0]|0)<<(d[q>>0]|0);break c}case 3:{a[o+((d[u>>0]|0)>>>3&255)>>0]=f;a[o+((d[x>>0]|0)>>>3&255)>>0]=j;a[o+((d[A>>0]|0)>>>3&255)>>0]=h;break c}case 4:{c[o>>2]=j>>>(d[v>>0]|0)<<(d[x>>0]|0)|f>>>(d[s>>0]|0)<<(d[u>>0]|0)|h>>>(d[y>>0]|0)<<(d[A>>0]|0)|i>>>(d[B>>0]|0)<<(d[q>>0]|0);break c}default:break c}}while(0);g=g+Q|0;o=o+S|0;h=38;continue}else if((h|0)==38){switch(P<<24>>24){case 1:{h=d[g>>0]|0;break}case 2:{h=e[g>>1]|0;break}case 3:{h=(d[g+1>>0]|0)<<8|(d[g>>0]|0)|(d[g+2>>0]|0)<<16;break}case 4:{h=c[g>>2]|0;break}default:h=0}d:do if(!(D|(h|0)==(O|0))){l=d[(c[16112+((d[E>>0]|0)<<2)>>2]|0)+((c[F>>2]&h)>>>(d[G>>0]|0))>>0]|0;m=d[(c[16112+((d[H>>0]|0)<<2)>>2]|0)+((c[I>>2]&h)>>>(d[J>>0]|0))>>0]|0;n=d[(c[16112+((d[K>>0]|0)<<2)>>2]|0)+((c[L>>2]&h)>>>(d[r>>0]|0))>>0]|0;switch(R<<24>>24){case 1:{f=d[o>>0]|0;h=a[(c[16112+((d[s>>0]|0)<<2)>>2]|0)+((c[t>>2]&f)>>>(d[u>>0]|0))>>0]|0;i=a[(c[16112+((d[v>>0]|0)<<2)>>2]|0)+((c[w>>2]&f)>>>(d[x>>0]|0))>>0]|0;j=a[(c[16112+((d[y>>0]|0)<<2)>>2]|0)+((c[z>>2]&f)>>>(d[A>>0]|0))>>0]|0;f=a[(c[16112+((d[B>>0]|0)<<2)>>2]|0)+((c[C>>2]&f)>>>(d[q>>0]|0))>>0]|0;break}case 2:{f=e[o>>1]|0;h=a[(c[16112+((d[s>>0]|0)<<2)>>2]|0)+((c[t>>2]&f)>>>(d[u>>0]|0))>>0]|0;i=a[(c[16112+((d[v>>0]|0)<<2)>>2]|0)+((c[w>>2]&f)>>>(d[x>>0]|0))>>0]|0;j=a[(c[16112+((d[y>>0]|0)<<2)>>2]|0)+((c[z>>2]&f)>>>(d[A>>0]|0))>>0]|0;f=a[(c[16112+((d[B>>0]|0)<<2)>>2]|0)+((c[C>>2]&f)>>>(d[q>>0]|0))>>0]|0;break}case 3:{h=a[o+((d[u>>0]|0)>>>3&255)>>0]|0;i=a[o+((d[x>>0]|0)>>>3&255)>>0]|0;j=a[o+((d[A>>0]|0)>>>3&255)>>0]|0;f=-1;break}case 4:{f=c[o>>2]|0;h=a[(c[16112+((d[s>>0]|0)<<2)>>2]|0)+((c[t>>2]&f)>>>(d[u>>0]|0))>>0]|0;i=a[(c[16112+((d[v>>0]|0)<<2)>>2]|0)+((c[w>>2]&f)>>>(d[x>>0]|0))>>0]|0;j=a[(c[16112+((d[y>>0]|0)<<2)>>2]|0)+((c[z>>2]&f)>>>(d[A>>0]|0))>>0]|0;f=a[(c[16112+((d[B>>0]|0)<<2)>>2]|0)+((c[C>>2]&f)>>>(d[q>>0]|0))>>0]|0;break}default:{h=0;i=0;j=0;f=0}}X=h&255;Y=i&255;h=j&255;i=f&255;f=(((N(l-X|0,T)|0)>>>0)/255|0)+X|0;j=(((N(m-Y|0,T)|0)>>>0)/255|0)+Y|0;h=(((N(n-h|0,T)|0)>>>0)/255|0)+h|0;i=i+T-(((N(i,T)|0)>>>0)/255|0)|0;switch(R<<24>>24){case 1:{a[o>>0]=j>>>(d[v>>0]|0)<<(d[x>>0]|0)|f>>>(d[s>>0]|0)<<(d[u>>0]|0)|h>>>(d[y>>0]|0)<<(d[A>>0]|0)|i>>>(d[B>>0]|0)<<(d[q>>0]|0);break d}case 2:{b[o>>1]=j>>>(d[v>>0]|0)<<(d[x>>0]|0)|f>>>(d[s>>0]|0)<<(d[u>>0]|0)|h>>>(d[y>>0]|0)<<(d[A>>0]|0)|i>>>(d[B>>0]|0)<<(d[q>>0]|0);break d}case 3:{a[o+((d[u>>0]|0)>>>3&255)>>0]=f;a[o+((d[x>>0]|0)>>>3&255)>>0]=j;a[o+((d[A>>0]|0)>>>3&255)>>0]=h;break d}case 4:{c[o>>2]=j>>>(d[v>>0]|0)<<(d[x>>0]|0)|f>>>(d[s>>0]|0)<<(d[u>>0]|0)|h>>>(d[y>>0]|0)<<(d[A>>0]|0)|i>>>(d[B>>0]|0)<<(d[q>>0]|0);break d}default:break d}}while(0);g=g+Q|0;o=o+S|0;h=55;continue}else if((h|0)==55){switch(P<<24>>24){case 1:{h=d[g>>0]|0;break}case 2:{h=e[g>>1]|0;break}case 3:{h=(d[g+1>>0]|0)<<8|(d[g>>0]|0)|(d[g+2>>0]|0)<<16;break}case 4:{h=c[g>>2]|0;break}default:h=0}e:do if(!(D|(h|0)==(O|0))){l=d[(c[16112+((d[E>>0]|0)<<2)>>2]|0)+((c[F>>2]&h)>>>(d[G>>0]|0))>>0]|0;m=d[(c[16112+((d[H>>0]|0)<<2)>>2]|0)+((c[I>>2]&h)>>>(d[J>>0]|0))>>0]|0;n=d[(c[16112+((d[K>>0]|0)<<2)>>2]|0)+((c[L>>2]&h)>>>(d[r>>0]|0))>>0]|0;switch(R<<24>>24){case 1:{f=d[o>>0]|0;h=a[(c[16112+((d[s>>0]|0)<<2)>>2]|0)+((c[t>>2]&f)>>>(d[u>>0]|0))>>0]|0;i=a[(c[16112+((d[v>>0]|0)<<2)>>2]|0)+((c[w>>2]&f)>>>(d[x>>0]|0))>>0]|0;j=a[(c[16112+((d[y>>0]|0)<<2)>>2]|0)+((c[z>>2]&f)>>>(d[A>>0]|0))>>0]|0;f=a[(c[16112+((d[B>>0]|0)<<2)>>2]|0)+((c[C>>2]&f)>>>(d[q>>0]|0))>>0]|0;break}case 2:{f=e[o>>1]|0;h=a[(c[16112+((d[s>>0]|0)<<2)>>2]|0)+((c[t>>2]&f)>>>(d[u>>0]|0))>>0]|0;i=a[(c[16112+((d[v>>0]|0)<<2)>>2]|0)+((c[w>>2]&f)>>>(d[x>>0]|0))>>0]|0;j=a[(c[16112+((d[y>>0]|0)<<2)>>2]|0)+((c[z>>2]&f)>>>(d[A>>0]|0))>>0]|0;f=a[(c[16112+((d[B>>0]|0)<<2)>>2]|0)+((c[C>>2]&f)>>>(d[q>>0]|0))>>0]|0;break}case 3:{h=a[o+((d[u>>0]|0)>>>3&255)>>0]|0;i=a[o+((d[x>>0]|0)>>>3&255)>>0]|0;j=a[o+((d[A>>0]|0)>>>3&255)>>0]|0;f=-1;break}case 4:{f=c[o>>2]|0;h=a[(c[16112+((d[s>>0]|0)<<2)>>2]|0)+((c[t>>2]&f)>>>(d[u>>0]|0))>>0]|0;i=a[(c[16112+((d[v>>0]|0)<<2)>>2]|0)+((c[w>>2]&f)>>>(d[x>>0]|0))>>0]|0;j=a[(c[16112+((d[y>>0]|0)<<2)>>2]|0)+((c[z>>2]&f)>>>(d[A>>0]|0))>>0]|0;f=a[(c[16112+((d[B>>0]|0)<<2)>>2]|0)+((c[C>>2]&f)>>>(d[q>>0]|0))>>0]|0;break}default:{h=0;i=0;j=0;f=0}}X=h&255;Y=i&255;h=j&255;i=f&255;f=(((N(l-X|0,T)|0)>>>0)/255|0)+X|0;j=(((N(m-Y|0,T)|0)>>>0)/255|0)+Y|0;h=(((N(n-h|0,T)|0)>>>0)/255|0)+h|0;i=i+T-(((N(i,T)|0)>>>0)/255|0)|0;switch(R<<24>>24){case 1:{a[o>>0]=j>>>(d[v>>0]|0)<<(d[x>>0]|0)|f>>>(d[s>>0]|0)<<(d[u>>0]|0)|h>>>(d[y>>0]|0)<<(d[A>>0]|0)|i>>>(d[B>>0]|0)<<(d[q>>0]|0);break e}case 2:{b[o>>1]=j>>>(d[v>>0]|0)<<(d[x>>0]|0)|f>>>(d[s>>0]|0)<<(d[u>>0]|0)|h>>>(d[y>>0]|0)<<(d[A>>0]|0)|i>>>(d[B>>0]|0)<<(d[q>>0]|0);break e}case 3:{a[o+((d[u>>0]|0)>>>3&255)>>0]=f;a[o+((d[x>>0]|0)>>>3&255)>>0]=j;a[o+((d[A>>0]|0)>>>3&255)>>0]=h;break e}case 4:{c[o>>2]=j>>>(d[v>>0]|0)<<(d[x>>0]|0)|f>>>(d[s>>0]|0)<<(d[u>>0]|0)|h>>>(d[y>>0]|0)<<(d[A>>0]|0)|i>>>(d[B>>0]|0)<<(d[q>>0]|0);break e}default:break e}}while(0);g=g+Q|0;h=o+S|0;if((p|0)>1){p=p+-1|0;o=h;h=4;continue}else break}if(!k){h=74;break}else{g=g+V|0;h=h+W|0}}if((h|0)!=72)if((h|0)==74)return}function NEa(b){b=b|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0;f=c[b+24>>2]|0;h=c[b+28>>2]|0;F=c[b+16>>2]|0;G=c[b+36>>2]|0;B=c[b+48>>2]|0;g=c[b+40>>2]|0;C=a[g+9>>0]|0;D=C&255;if(!h)return;E=(f+3|0)/4|0;A=f&255;n=(c[b+44>>2]|0)+4|0;o=(B|0)==0;p=g+28|0;q=g+12|0;r=g+32|0;s=g+29|0;t=g+16|0;u=g+33|0;v=g+30|0;w=g+20|0;x=g+34|0;y=g+31|0;z=g+24|0;m=g+35|0;f=c[b>>2]|0;j=c[b+20>>2]|0;a:while(1){h=h+-1|0;switch(A&3){case 0:{l=E;k=f;f=4;break}case 3:{l=E;k=f;f=13;break}case 2:{l=E;k=f;f=22;break}case 1:{l=E;k=f;f=31;break}default:{f=40;break a}}while(1)if((f|0)==4){switch(C<<24>>24){case 1:{i=d[k>>0]|0;f=a[(c[16112+((d[y>>0]|0)<<2)>>2]|0)+((c[z>>2]&i)>>>(d[m>>0]|0))>>0]|0;g=a[(c[16112+((d[v>>0]|0)<<2)>>2]|0)+((c[w>>2]&i)>>>(d[x>>0]|0))>>0]|0;b=a[(c[16112+((d[s>>0]|0)<<2)>>2]|0)+((c[t>>2]&i)>>>(d[u>>0]|0))>>0]|0;i=a[(c[16112+((d[p>>0]|0)<<2)>>2]|0)+((c[q>>2]&i)>>>(d[r>>0]|0))>>0]|0;break}case 2:{i=e[k>>1]|0;f=a[(c[16112+((d[y>>0]|0)<<2)>>2]|0)+((c[z>>2]&i)>>>(d[m>>0]|0))>>0]|0;g=a[(c[16112+((d[v>>0]|0)<<2)>>2]|0)+((c[w>>2]&i)>>>(d[x>>0]|0))>>0]|0;b=a[(c[16112+((d[s>>0]|0)<<2)>>2]|0)+((c[t>>2]&i)>>>(d[u>>0]|0))>>0]|0;i=a[(c[16112+((d[p>>0]|0)<<2)>>2]|0)+((c[q>>2]&i)>>>(d[r>>0]|0))>>0]|0;break}case 3:{f=-1;g=a[k+((d[x>>0]|0)>>>3&255)>>0]|0;b=a[k+((d[u>>0]|0)>>>3&255)>>0]|0;i=a[k+((d[r>>0]|0)>>>3&255)>>0]|0;break}case 4:{i=c[k>>2]|0;f=a[(c[16112+((d[y>>0]|0)<<2)>>2]|0)+((c[z>>2]&i)>>>(d[m>>0]|0))>>0]|0;g=a[(c[16112+((d[v>>0]|0)<<2)>>2]|0)+((c[w>>2]&i)>>>(d[x>>0]|0))>>0]|0;b=a[(c[16112+((d[s>>0]|0)<<2)>>2]|0)+((c[t>>2]&i)>>>(d[u>>0]|0))>>0]|0;i=a[(c[16112+((d[p>>0]|0)<<2)>>2]|0)+((c[q>>2]&i)>>>(d[r>>0]|0))>>0]|0;break}default:{f=0;g=0;b=0;i=0}}H=f&255;K=c[(c[n>>2]|0)+4>>2]|0;f=d[j>>0]|0;I=d[K+(f<<2)>>0]|0;J=d[K+(f<<2)+1>>0]|0;f=d[K+(f<<2)+2>>0]|0;f=((((N((b&255)-J|0,H)|0)>>>0)/255|0)+J|0)>>>3&28|(((N((i&255)-I|0,H)|0)>>>0)/255|0)+I&224|((((N((g&255)-f|0,H)|0)>>>0)/255|0)+f|0)>>>6&3;if(o)f=f&255;else f=a[B+f>>0]|0;a[j>>0]=f;k=k+D|0;j=j+1|0;f=13;continue}else if((f|0)==13){switch(C<<24>>24){case 1:{i=d[k>>0]|0;f=a[(c[16112+((d[y>>0]|0)<<2)>>2]|0)+((c[z>>2]&i)>>>(d[m>>0]|0))>>0]|0;g=a[(c[16112+((d[v>>0]|0)<<2)>>2]|0)+((c[w>>2]&i)>>>(d[x>>0]|0))>>0]|0;b=a[(c[16112+((d[s>>0]|0)<<2)>>2]|0)+((c[t>>2]&i)>>>(d[u>>0]|0))>>0]|0;i=a[(c[16112+((d[p>>0]|0)<<2)>>2]|0)+((c[q>>2]&i)>>>(d[r>>0]|0))>>0]|0;break}case 2:{i=e[k>>1]|0;f=a[(c[16112+((d[y>>0]|0)<<2)>>2]|0)+((c[z>>2]&i)>>>(d[m>>0]|0))>>0]|0;g=a[(c[16112+((d[v>>0]|0)<<2)>>2]|0)+((c[w>>2]&i)>>>(d[x>>0]|0))>>0]|0;b=a[(c[16112+((d[s>>0]|0)<<2)>>2]|0)+((c[t>>2]&i)>>>(d[u>>0]|0))>>0]|0;i=a[(c[16112+((d[p>>0]|0)<<2)>>2]|0)+((c[q>>2]&i)>>>(d[r>>0]|0))>>0]|0;break}case 3:{f=-1;g=a[k+((d[x>>0]|0)>>>3&255)>>0]|0;b=a[k+((d[u>>0]|0)>>>3&255)>>0]|0;i=a[k+((d[r>>0]|0)>>>3&255)>>0]|0;break}case 4:{i=c[k>>2]|0;f=a[(c[16112+((d[y>>0]|0)<<2)>>2]|0)+((c[z>>2]&i)>>>(d[m>>0]|0))>>0]|0;g=a[(c[16112+((d[v>>0]|0)<<2)>>2]|0)+((c[w>>2]&i)>>>(d[x>>0]|0))>>0]|0;b=a[(c[16112+((d[s>>0]|0)<<2)>>2]|0)+((c[t>>2]&i)>>>(d[u>>0]|0))>>0]|0;i=a[(c[16112+((d[p>>0]|0)<<2)>>2]|0)+((c[q>>2]&i)>>>(d[r>>0]|0))>>0]|0;break}default:{f=0;g=0;b=0;i=0}}K=f&255;H=c[(c[n>>2]|0)+4>>2]|0;f=d[j>>0]|0;J=d[H+(f<<2)>>0]|0;I=d[H+(f<<2)+1>>0]|0;f=d[H+(f<<2)+2>>0]|0;f=((((N((b&255)-I|0,K)|0)>>>0)/255|0)+I|0)>>>3&28|(((N((i&255)-J|0,K)|0)>>>0)/255|0)+J&224|((((N((g&255)-f|0,K)|0)>>>0)/255|0)+f|0)>>>6&3;if(o)f=f&255;else f=a[B+f>>0]|0;a[j>>0]=f;k=k+D|0;j=j+1|0;f=22;continue}else if((f|0)==22){switch(C<<24>>24){case 1:{i=d[k>>0]|0;f=a[(c[16112+((d[y>>0]|0)<<2)>>2]|0)+((c[z>>2]&i)>>>(d[m>>0]|0))>>0]|0;g=a[(c[16112+((d[v>>0]|0)<<2)>>2]|0)+((c[w>>2]&i)>>>(d[x>>0]|0))>>0]|0;b=a[(c[16112+((d[s>>0]|0)<<2)>>2]|0)+((c[t>>2]&i)>>>(d[u>>0]|0))>>0]|0;i=a[(c[16112+((d[p>>0]|0)<<2)>>2]|0)+((c[q>>2]&i)>>>(d[r>>0]|0))>>0]|0;break}case 2:{i=e[k>>1]|0;f=a[(c[16112+((d[y>>0]|0)<<2)>>2]|0)+((c[z>>2]&i)>>>(d[m>>0]|0))>>0]|0;g=a[(c[16112+((d[v>>0]|0)<<2)>>2]|0)+((c[w>>2]&i)>>>(d[x>>0]|0))>>0]|0;b=a[(c[16112+((d[s>>0]|0)<<2)>>2]|0)+((c[t>>2]&i)>>>(d[u>>0]|0))>>0]|0;i=a[(c[16112+((d[p>>0]|0)<<2)>>2]|0)+((c[q>>2]&i)>>>(d[r>>0]|0))>>0]|0;break}case 3:{f=-1;g=a[k+((d[x>>0]|0)>>>3&255)>>0]|0;b=a[k+((d[u>>0]|0)>>>3&255)>>0]|0;i=a[k+((d[r>>0]|0)>>>3&255)>>0]|0;break}case 4:{i=c[k>>2]|0;f=a[(c[16112+((d[y>>0]|0)<<2)>>2]|0)+((c[z>>2]&i)>>>(d[m>>0]|0))>>0]|0;g=a[(c[16112+((d[v>>0]|0)<<2)>>2]|0)+((c[w>>2]&i)>>>(d[x>>0]|0))>>0]|0;b=a[(c[16112+((d[s>>0]|0)<<2)>>2]|0)+((c[t>>2]&i)>>>(d[u>>0]|0))>>0]|0;i=a[(c[16112+((d[p>>0]|0)<<2)>>2]|0)+((c[q>>2]&i)>>>(d[r>>0]|0))>>0]|0;break}default:{f=0;g=0;b=0;i=0}}K=f&255;H=c[(c[n>>2]|0)+4>>2]|0;f=d[j>>0]|0;J=d[H+(f<<2)>>0]|0;I=d[H+(f<<2)+1>>0]|0;f=d[H+(f<<2)+2>>0]|0;f=((((N((b&255)-I|0,K)|0)>>>0)/255|0)+I|0)>>>3&28|(((N((i&255)-J|0,K)|0)>>>0)/255|0)+J&224|((((N((g&255)-f|0,K)|0)>>>0)/255|0)+f|0)>>>6&3;if(o)f=f&255;else f=a[B+f>>0]|0;a[j>>0]=f;k=k+D|0;j=j+1|0;f=31;continue}else if((f|0)==31){switch(C<<24>>24){case 1:{i=d[k>>0]|0;f=a[(c[16112+((d[y>>0]|0)<<2)>>2]|0)+((c[z>>2]&i)>>>(d[m>>0]|0))>>0]|0;g=a[(c[16112+((d[v>>0]|0)<<2)>>2]|0)+((c[w>>2]&i)>>>(d[x>>0]|0))>>0]|0;b=a[(c[16112+((d[s>>0]|0)<<2)>>2]|0)+((c[t>>2]&i)>>>(d[u>>0]|0))>>0]|0;i=a[(c[16112+((d[p>>0]|0)<<2)>>2]|0)+((c[q>>2]&i)>>>(d[r>>0]|0))>>0]|0;break}case 2:{i=e[k>>1]|0;f=a[(c[16112+((d[y>>0]|0)<<2)>>2]|0)+((c[z>>2]&i)>>>(d[m>>0]|0))>>0]|0;g=a[(c[16112+((d[v>>0]|0)<<2)>>2]|0)+((c[w>>2]&i)>>>(d[x>>0]|0))>>0]|0;b=a[(c[16112+((d[s>>0]|0)<<2)>>2]|0)+((c[t>>2]&i)>>>(d[u>>0]|0))>>0]|0;i=a[(c[16112+((d[p>>0]|0)<<2)>>2]|0)+((c[q>>2]&i)>>>(d[r>>0]|0))>>0]|0;break}case 3:{f=-1;g=a[k+((d[x>>0]|0)>>>3&255)>>0]|0;b=a[k+((d[u>>0]|0)>>>3&255)>>0]|0;i=a[k+((d[r>>0]|0)>>>3&255)>>0]|0;break}case 4:{i=c[k>>2]|0;f=a[(c[16112+((d[y>>0]|0)<<2)>>2]|0)+((c[z>>2]&i)>>>(d[m>>0]|0))>>0]|0;g=a[(c[16112+((d[v>>0]|0)<<2)>>2]|0)+((c[w>>2]&i)>>>(d[x>>0]|0))>>0]|0;b=a[(c[16112+((d[s>>0]|0)<<2)>>2]|0)+((c[t>>2]&i)>>>(d[u>>0]|0))>>0]|0;i=a[(c[16112+((d[p>>0]|0)<<2)>>2]|0)+((c[q>>2]&i)>>>(d[r>>0]|0))>>0]|0;break}default:{f=0;g=0;b=0;i=0}}K=f&255;H=c[(c[n>>2]|0)+4>>2]|0;f=d[j>>0]|0;J=d[H+(f<<2)>>0]|0;I=d[H+(f<<2)+1>>0]|0;f=d[H+(f<<2)+2>>0]|0;f=((((N((b&255)-I|0,K)|0)>>>0)/255|0)+I|0)>>>3&28|(((N((i&255)-J|0,K)|0)>>>0)/255|0)+J&224|((((N((g&255)-f|0,K)|0)>>>0)/255|0)+f|0)>>>6&3;if(o)f=f&255;else f=a[B+f>>0]|0;a[j>>0]=f;g=j+1|0;f=k+D|0;if((l|0)>1){l=l+-1|0;k=f;j=g;f=4;continue}else break}if(!h){f=42;break}else{f=f+F|0;j=g+G|0}}if((f|0)!=40)if((f|0)==42)return}function OEa(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;b=c[a+24>>2]|0;d=c[a+28>>2]|0;l=c[a+16>>2]>>2;j=c[a+36>>2]>>2;if(!d)return;k=(b+3|0)/4|0;i=b&255;b=c[a>>2]|0;a=c[a+20>>2]|0;a:while(1){d=d+-1|0;switch(i&3){case 0:{g=k;f=b;h=4;break}case 3:{g=k;f=b;h=8;break}case 2:{g=k;f=b;h=12;break}case 1:{g=k;f=b;e=a;h=16;break}default:{h=20;break a}}while(1)if((h|0)==4){h=0;b=c[f>>2]|0;e=b>>>24;switch((e&255)<<24>>24){case 0:break;case -1:{h=6;break}default:{m=c[a>>2]|0;h=m&16711935;n=m&65280;b=((N((b&65280)-n|0,e)|0)>>>8)+n&65280|((N(m>>>24,e^255)|0)>>>8)+e<<24|((N((b&16711935)-h|0,e)|0)>>>8)+h&16711935;h=6}}if((h|0)==6)c[a>>2]=b;f=f+4|0;a=a+4|0;h=8;continue}else if((h|0)==8){h=0;b=c[f>>2]|0;e=b>>>24;switch((e&255)<<24>>24){case 0:break;case -1:{h=10;break}default:{n=c[a>>2]|0;h=n&16711935;m=n&65280;b=((N((b&65280)-m|0,e)|0)>>>8)+m&65280|((N(n>>>24,e^255)|0)>>>8)+e<<24|((N((b&16711935)-h|0,e)|0)>>>8)+h&16711935;h=10}}if((h|0)==10)c[a>>2]=b;f=f+4|0;a=a+4|0;h=12;continue}else if((h|0)==12){h=0;b=c[f>>2]|0;e=b>>>24;switch((e&255)<<24>>24){case 0:break;case -1:{h=14;break}default:{n=c[a>>2]|0;h=n&16711935;m=n&65280;b=((N((b&65280)-m|0,e)|0)>>>8)+m&65280|((N(n>>>24,e^255)|0)>>>8)+e<<24|((N((b&16711935)-h|0,e)|0)>>>8)+h&16711935;h=14}}if((h|0)==14)c[a>>2]=b;f=f+4|0;e=a+4|0;h=16;continue}else if((h|0)==16){h=0;b=c[f>>2]|0;a=b>>>24;switch((a&255)<<24>>24){case 0:break;case -1:{h=18;break}default:{n=c[e>>2]|0;h=n&16711935;m=n&65280;b=((N((b&65280)-m|0,a)|0)>>>8)+m&65280|((N(n>>>24,a^255)|0)>>>8)+a<<24|((N((b&16711935)-h|0,a)|0)>>>8)+h&16711935;h=18}}if((h|0)==18)c[e>>2]=b;b=f+4|0;a=e+4|0;if((g|0)>1){g=g+-1|0;f=b;h=4;continue}else break}if(!d){h=22;break}else{b=b+(l<<2)|0;a=a+(j<<2)|0}}if((h|0)!=20)if((h|0)==22)return}function PEa(b){b=b|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0;f=c[b+24>>2]|0;h=c[b+28>>2]|0;E=c[b+16>>2]|0;F=c[b+36>>2]|0;z=c[b+48>>2]|0;g=c[b+40>>2]|0;A=a[g+9>>0]|0;B=A&255;C=d[b+63>>0]|0;if(!h)return;D=(f+3|0)/4|0;y=f&255;o=(c[b+44>>2]|0)+4|0;p=(z|0)==0;q=g+28|0;r=g+12|0;s=g+32|0;t=g+29|0;u=g+16|0;v=g+33|0;w=g+30|0;x=g+20|0;n=g+34|0;f=c[b>>2]|0;g=c[b+20>>2]|0;a:while(1){h=h+-1|0;switch(y&3){case 0:{l=D;k=f;m=4;break}case 3:{l=D;k=f;m=14;break}case 2:{l=D;k=f;m=24;break}case 1:{l=D;k=f;m=34;break}default:{m=44;break a}}while(1)if((m|0)==4){m=0;switch(A<<24>>24){case 1:{f=d[k>>0]|0;b=(c[16112+((d[t>>0]|0)<<2)>>2]|0)+((c[u>>2]&f)>>>(d[v>>0]|0))|0;j=(c[16112+((d[q>>0]|0)<<2)>>2]|0)+((c[r>>2]&f)>>>(d[s>>0]|0))|0;f=(c[16112+((d[w>>0]|0)<<2)>>2]|0)+((c[x>>2]&f)>>>(d[n>>0]|0))|0;m=9;break}case 2:{f=e[k>>1]|0;b=(c[16112+((d[t>>0]|0)<<2)>>2]|0)+((c[u>>2]&f)>>>(d[v>>0]|0))|0;j=(c[16112+((d[q>>0]|0)<<2)>>2]|0)+((c[r>>2]&f)>>>(d[s>>0]|0))|0;f=(c[16112+((d[w>>0]|0)<<2)>>2]|0)+((c[x>>2]&f)>>>(d[n>>0]|0))|0;m=9;break}case 3:{b=k+((d[v>>0]|0)>>>3&255)|0;j=k+((d[s>>0]|0)>>>3&255)|0;f=k+((d[n>>0]|0)>>>3&255)|0;m=9;break}case 4:{f=c[k>>2]|0;b=(c[16112+((d[t>>0]|0)<<2)>>2]|0)+((c[u>>2]&f)>>>(d[v>>0]|0))|0;j=(c[16112+((d[q>>0]|0)<<2)>>2]|0)+((c[r>>2]&f)>>>(d[s>>0]|0))|0;f=(c[16112+((d[w>>0]|0)<<2)>>2]|0)+((c[x>>2]&f)>>>(d[n>>0]|0))|0;m=9;break}default:{i=0;b=0;f=0}}if((m|0)==9){i=a[f>>0]|0;b=a[b>>0]|0;f=a[j>>0]|0}H=c[(c[o>>2]|0)+4>>2]|0;m=d[g>>0]|0;j=d[H+(m<<2)>>0]|0;G=d[H+(m<<2)+1>>0]|0;m=d[H+(m<<2)+2>>0]|0;f=((((N((b&255)-G|0,C)|0)>>>0)/255|0)+G|0)>>>3&28|(((N((f&255)-j|0,C)|0)>>>0)/255|0)+j&224|((((N((i&255)-m|0,C)|0)>>>0)/255|0)+m|0)>>>6&3;if(p)f=f&255;else f=a[z+f>>0]|0;a[g>>0]=f;k=k+B|0;g=g+1|0;m=14;continue}else if((m|0)==14){m=0;switch(A<<24>>24){case 1:{f=d[k>>0]|0;b=(c[16112+((d[t>>0]|0)<<2)>>2]|0)+((c[u>>2]&f)>>>(d[v>>0]|0))|0;j=(c[16112+((d[q>>0]|0)<<2)>>2]|0)+((c[r>>2]&f)>>>(d[s>>0]|0))|0;f=(c[16112+((d[w>>0]|0)<<2)>>2]|0)+((c[x>>2]&f)>>>(d[n>>0]|0))|0;m=19;break}case 2:{f=e[k>>1]|0;b=(c[16112+((d[t>>0]|0)<<2)>>2]|0)+((c[u>>2]&f)>>>(d[v>>0]|0))|0;j=(c[16112+((d[q>>0]|0)<<2)>>2]|0)+((c[r>>2]&f)>>>(d[s>>0]|0))|0;f=(c[16112+((d[w>>0]|0)<<2)>>2]|0)+((c[x>>2]&f)>>>(d[n>>0]|0))|0;m=19;break}case 3:{b=k+((d[v>>0]|0)>>>3&255)|0;j=k+((d[s>>0]|0)>>>3&255)|0;f=k+((d[n>>0]|0)>>>3&255)|0;m=19;break}case 4:{f=c[k>>2]|0;b=(c[16112+((d[t>>0]|0)<<2)>>2]|0)+((c[u>>2]&f)>>>(d[v>>0]|0))|0;j=(c[16112+((d[q>>0]|0)<<2)>>2]|0)+((c[r>>2]&f)>>>(d[s>>0]|0))|0;f=(c[16112+((d[w>>0]|0)<<2)>>2]|0)+((c[x>>2]&f)>>>(d[n>>0]|0))|0;m=19;break}default:{i=0;b=0;f=0}}if((m|0)==19){i=a[f>>0]|0;b=a[b>>0]|0;f=a[j>>0]|0}j=c[(c[o>>2]|0)+4>>2]|0;H=d[g>>0]|0;G=d[j+(H<<2)>>0]|0;m=d[j+(H<<2)+1>>0]|0;H=d[j+(H<<2)+2>>0]|0;f=((((N((b&255)-m|0,C)|0)>>>0)/255|0)+m|0)>>>3&28|(((N((f&255)-G|0,C)|0)>>>0)/255|0)+G&224|((((N((i&255)-H|0,C)|0)>>>0)/255|0)+H|0)>>>6&3;if(p)f=f&255;else f=a[z+f>>0]|0;a[g>>0]=f;k=k+B|0;g=g+1|0;m=24;continue}else if((m|0)==24){m=0;switch(A<<24>>24){case 1:{f=d[k>>0]|0;b=(c[16112+((d[t>>0]|0)<<2)>>2]|0)+((c[u>>2]&f)>>>(d[v>>0]|0))|0;j=(c[16112+((d[q>>0]|0)<<2)>>2]|0)+((c[r>>2]&f)>>>(d[s>>0]|0))|0;f=(c[16112+((d[w>>0]|0)<<2)>>2]|0)+((c[x>>2]&f)>>>(d[n>>0]|0))|0;m=29;break}case 2:{f=e[k>>1]|0;b=(c[16112+((d[t>>0]|0)<<2)>>2]|0)+((c[u>>2]&f)>>>(d[v>>0]|0))|0;j=(c[16112+((d[q>>0]|0)<<2)>>2]|0)+((c[r>>2]&f)>>>(d[s>>0]|0))|0;f=(c[16112+((d[w>>0]|0)<<2)>>2]|0)+((c[x>>2]&f)>>>(d[n>>0]|0))|0;m=29;break}case 3:{b=k+((d[v>>0]|0)>>>3&255)|0;j=k+((d[s>>0]|0)>>>3&255)|0;f=k+((d[n>>0]|0)>>>3&255)|0;m=29;break}case 4:{f=c[k>>2]|0;b=(c[16112+((d[t>>0]|0)<<2)>>2]|0)+((c[u>>2]&f)>>>(d[v>>0]|0))|0;j=(c[16112+((d[q>>0]|0)<<2)>>2]|0)+((c[r>>2]&f)>>>(d[s>>0]|0))|0;f=(c[16112+((d[w>>0]|0)<<2)>>2]|0)+((c[x>>2]&f)>>>(d[n>>0]|0))|0;m=29;break}default:{i=0;b=0;f=0}}if((m|0)==29){i=a[f>>0]|0;b=a[b>>0]|0;f=a[j>>0]|0}j=c[(c[o>>2]|0)+4>>2]|0;H=d[g>>0]|0;G=d[j+(H<<2)>>0]|0;m=d[j+(H<<2)+1>>0]|0;H=d[j+(H<<2)+2>>0]|0;f=((((N((b&255)-m|0,C)|0)>>>0)/255|0)+m|0)>>>3&28|(((N((f&255)-G|0,C)|0)>>>0)/255|0)+G&224|((((N((i&255)-H|0,C)|0)>>>0)/255|0)+H|0)>>>6&3;if(p)f=f&255;else f=a[z+f>>0]|0;a[g>>0]=f;k=k+B|0;g=g+1|0;m=34;continue}else if((m|0)==34){m=0;switch(A<<24>>24){case 1:{f=d[k>>0]|0;b=(c[16112+((d[t>>0]|0)<<2)>>2]|0)+((c[u>>2]&f)>>>(d[v>>0]|0))|0;j=(c[16112+((d[q>>0]|0)<<2)>>2]|0)+((c[r>>2]&f)>>>(d[s>>0]|0))|0;f=(c[16112+((d[w>>0]|0)<<2)>>2]|0)+((c[x>>2]&f)>>>(d[n>>0]|0))|0;m=39;break}case 2:{f=e[k>>1]|0;b=(c[16112+((d[t>>0]|0)<<2)>>2]|0)+((c[u>>2]&f)>>>(d[v>>0]|0))|0;j=(c[16112+((d[q>>0]|0)<<2)>>2]|0)+((c[r>>2]&f)>>>(d[s>>0]|0))|0;f=(c[16112+((d[w>>0]|0)<<2)>>2]|0)+((c[x>>2]&f)>>>(d[n>>0]|0))|0;m=39;break}case 3:{b=k+((d[v>>0]|0)>>>3&255)|0;j=k+((d[s>>0]|0)>>>3&255)|0;f=k+((d[n>>0]|0)>>>3&255)|0;m=39;break}case 4:{f=c[k>>2]|0;b=(c[16112+((d[t>>0]|0)<<2)>>2]|0)+((c[u>>2]&f)>>>(d[v>>0]|0))|0;j=(c[16112+((d[q>>0]|0)<<2)>>2]|0)+((c[r>>2]&f)>>>(d[s>>0]|0))|0;f=(c[16112+((d[w>>0]|0)<<2)>>2]|0)+((c[x>>2]&f)>>>(d[n>>0]|0))|0;m=39;break}default:{i=0;b=0;f=0}}if((m|0)==39){i=a[f>>0]|0;b=a[b>>0]|0;f=a[j>>0]|0}j=c[(c[o>>2]|0)+4>>2]|0;H=d[g>>0]|0;G=d[j+(H<<2)>>0]|0;m=d[j+(H<<2)+1>>0]|0;H=d[j+(H<<2)+2>>0]|0;f=((((N((b&255)-m|0,C)|0)>>>0)/255|0)+m|0)>>>3&28|(((N((f&255)-G|0,C)|0)>>>0)/255|0)+G&224|((((N((i&255)-H|0,C)|0)>>>0)/255|0)+H|0)>>>6&3;if(p)f=f&255;else f=a[z+f>>0]|0;a[g>>0]=f;g=g+1|0;f=k+B|0;if((l|0)>1){l=l+-1|0;k=f;m=4;continue}else break}if(!h){m=46;break}else{f=f+E|0;g=g+F|0}}if((m|0)!=44)if((m|0)==46)return}function QEa(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0;v=a[b+63>>0]|0;w=v&255;u=c[b+24>>2]|0;i=c[b+28>>2]|0;d=c[b>>2]|0;H=c[b+16>>2]>>2;e=c[b+20>>2]|0;G=c[b+36>>2]>>2;f=i+-1|0;i=(i|0)==0;if(v<<24>>24!=-128){if(i)return;v=(u+3|0)/4|0;k=u&255;if(!(k&3)){while(1){b=v;while(1){E=c[d>>2]|0;D=c[e>>2]|0;F=D&16711935;D=D&65280;c[e>>2]=((N((E&65280)-D|0,w)|0)>>>8)+D&65280|((N((E&16711935)-F|0,w)|0)>>>8)+F&16711935|-16777216;F=e+4|0;E=c[d+4>>2]|0;D=c[F>>2]|0;C=D&16711935;D=D&65280;c[F>>2]=((N((E&65280)-D|0,w)|0)>>>8)+D&65280|((N((E&16711935)-C|0,w)|0)>>>8)+C&16711935|-16777216;F=e+8|0;C=c[d+8>>2]|0;E=c[F>>2]|0;D=E&16711935;E=E&65280;c[F>>2]=((N((C&65280)-E|0,w)|0)>>>8)+E&65280|((N((C&16711935)-D|0,w)|0)>>>8)+D&16711935|-16777216;F=e+12|0;D=c[d+12>>2]|0;C=c[F>>2]|0;E=C&16711935;C=C&65280;c[F>>2]=((N((D&65280)-C|0,w)|0)>>>8)+C&65280|((N((D&16711935)-E|0,w)|0)>>>8)+E&16711935|-16777216;d=d+16|0;e=e+16|0;if((b|0)<=1)break;else b=b+-1|0}if(!f)break;else{e=e+(G<<2)|0;d=d+(H<<2)|0;f=f+-1|0}}return}g=e;b=d;j=f;a:while(1){switch(k&3){case 1:{p=v;s=g;t=b;g=32;break}case 3:{l=v;n=g;o=b;g=30;break}case 2:{m=v;q=g;r=b;g=31;break}default:{g=33;break a}}while(1)if((g|0)==30){q=c[o>>2]|0;r=c[n>>2]|0;m=r&16711935;r=r&65280;c[n>>2]=((N((q&65280)-r|0,w)|0)>>>8)+r&65280|((N((q&16711935)-m|0,w)|0)>>>8)+m&16711935|-16777216;m=l;q=n+4|0;r=o+4|0;g=31;continue}else if((g|0)==31){s=c[r>>2]|0;t=c[q>>2]|0;p=t&16711935;t=t&65280;c[q>>2]=((N((s&65280)-t|0,w)|0)>>>8)+t&65280|((N((s&16711935)-p|0,w)|0)>>>8)+p&16711935|-16777216;p=m;s=q+4|0;t=r+4|0;g=32;continue}else if((g|0)==32){b=c[t>>2]|0;g=c[s>>2]|0;h=g&16711935;g=g&65280;c[s>>2]=((N((b&65280)-g|0,w)|0)>>>8)+g&65280|((N((b&16711935)-h|0,w)|0)>>>8)+h&16711935|-16777216;h=t+4|0;b=s+4|0;if((p|0)<=1)break;n=c[h>>2]|0;o=c[b>>2]|0;l=o&16711935;o=o&65280;c[b>>2]=((N((n&65280)-o|0,w)|0)>>>8)+o&65280|((N((n&16711935)-l|0,w)|0)>>>8)+l&16711935|-16777216;l=p+-1|0;n=s+8|0;o=t+8|0;g=30;continue}if(!j){g=35;break}else{g=b+(G<<2)|0;b=h+(H<<2)|0;j=j+-1|0}}if((g|0)!=33)if((g|0)==35)return}if(i)return;j=(u+3|0)/4|0;b=u&255;switch(b&3){case 0:{while(1){b=j;while(1){E=c[d>>2]|0;F=c[e>>2]|0;C=e+4|0;c[e>>2]=(((F&16711422)+(E&16711422)|0)>>>1)+(E&65793&F)|-16777216;F=c[d+4>>2]|0;E=c[C>>2]|0;D=e+8|0;c[C>>2]=(((E&16711422)+(F&16711422)|0)>>>1)+(F&65793&E)|-16777216;C=c[d+8>>2]|0;E=c[D>>2]|0;F=e+12|0;c[D>>2]=(((E&16711422)+(C&16711422)|0)>>>1)+(C&65793&E)|-16777216;D=d;d=d+16|0;D=c[D+12>>2]|0;E=c[F>>2]|0;e=e+16|0;c[F>>2]=(((E&16711422)+(D&16711422)|0)>>>1)+(D&65793&E)|-16777216;if((b|0)<=1)break;else b=b+-1|0}if(!f)break;else{d=d+(H<<2)|0;e=e+(G<<2)|0;f=f+-1|0}}return}case 1:{i=(u|0)>4;g=d;while(1){d=g+4|0;E=c[g>>2]|0;F=c[e>>2]|0;b=e+4|0;c[e>>2]=(((F&16711422)+(E&16711422)|0)>>>1)+(E&65793&F)|-16777216;if(i){h=j;while(1){D=c[d>>2]|0;F=c[b>>2]|0;d=e+8|0;c[b>>2]=(((F&16711422)+(D&16711422)|0)>>>1)+(D&65793&F)|-16777216;F=c[g+8>>2]|0;D=c[d>>2]|0;E=e+12|0;c[d>>2]=(((D&16711422)+(F&16711422)|0)>>>1)+(F&65793&D)|-16777216;d=g;g=g+16|0;D=c[d+12>>2]|0;F=c[E>>2]|0;b=e;e=e+16|0;c[E>>2]=(((F&16711422)+(D&16711422)|0)>>>1)+(D&65793&F)|-16777216;d=d+20|0;E=c[g>>2]|0;F=c[e>>2]|0;b=b+20|0;c[e>>2]=(((F&16711422)+(E&16711422)|0)>>>1)+(E&65793&F)|-16777216;if((h|0)<=2){e=b;break}else h=h+-1|0}}else e=b;if(!f)break;else{g=d+(H<<2)|0;e=e+(G<<2)|0;f=f+-1|0}}return}default:{b:while(1){switch(b&3){case 1:{D=j;E=d;F=e;g=18;break}case 3:{x=j;y=d;z=e;g=16;break}case 2:{A=j;B=d;C=e;g=17;break}default:{g=19;break b}}while(1)if((g|0)==16){B=c[y>>2]|0;A=c[z>>2]|0;c[z>>2]=(((A&16711422)+(B&16711422)|0)>>>1)+(B&65793&A)|-16777216;A=x;B=y+4|0;C=z+4|0;g=17;continue}else if((g|0)==17){E=c[B>>2]|0;D=c[C>>2]|0;c[C>>2]=(((D&16711422)+(E&16711422)|0)>>>1)+(E&65793&D)|-16777216;D=A;E=B+4|0;F=C+4|0;g=18;continue}else if((g|0)==18){d=E+4|0;v=c[E>>2]|0;w=c[F>>2]|0;e=F+4|0;c[F>>2]=(((w&16711422)+(v&16711422)|0)>>>1)+(v&65793&w)|-16777216;if((D|0)<=1)break;y=c[d>>2]|0;x=c[e>>2]|0;c[e>>2]=(((x&16711422)+(y&16711422)|0)>>>1)+(y&65793&x)|-16777216;x=D+-1|0;y=E+8|0;z=F+8|0;g=16;continue}if(!f){g=35;break}else{d=d+(H<<2)|0;e=e+(G<<2)|0;f=f+-1|0}}if((g|0)!=19)if((g|0)==35)return}}}function REa(a,d){a=a|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;v=c[a+24>>2]|0;f=c[a+28>>2]|0;w=c[a+16>>2]>>1;n=c[a+36>>2]>>1;if(!f)return;o=~d;p=v+-1|0;q=d&65535;r=q<<16|q;s=~r;t=w+-1|0;u=q^65535;e=c[a>>2]|0;a=c[a+20>>2]|0;while(1){f=f+-1|0;g=e;h=a;if(!((g^h)&2)){if(!(g&2))g=v;else{m=b[a>>1]|0;g=b[e>>1]|0;b[a>>1]=(((g&d&65535)+(m&d&65535)|0)>>>1)+(m&o&g&65535);g=p;e=e+2|0;a=a+2|0}if((g|0)>1){j=~g;j=g+2+((j|0)>-4?j:-4)&-2;k=a+4|0;i=g+-2|0;h=e;while(1){l=c[h>>2]|0;m=c[a>>2]|0;c[a>>2]=((m&r)>>>1)+((l&r)>>>1)+(l&s&m);if((g|0)>3){g=g+-2|0;a=a+4|0;h=h+4|0}else break}g=i-j|0;e=e+4+(j<<1)|0;a=k+(j<<1)|0}if(g){l=b[a>>1]|0;m=b[e>>1]|0;b[a>>1]=(((m&d&65535)+(l&d&65535)|0)>>>1)+(l&o&m&65535);e=e+2|0;a=a+2|0}e=e+(w<<1)|0}else{if(!(h&2))g=v;else{m=b[a>>1]|0;g=b[e>>1]|0;b[a>>1]=(((g&d&65535)+(m&d&65535)|0)>>>1)+(m&o&g&65535);g=p;e=e+2|0;a=a+2|0}k=e+2|0;h=c[e+-2>>2]|0;if((g|0)>1){m=~g;m=g+2+((m|0)>-4?m:-4)&-2;l=e+6|0;j=g+-2|0;i=a;e=k;while(1){k=h;h=c[e>>2]|0;x=c[i>>2]|0;k=h<<16|k>>>16;c[i>>2]=((k&r)>>>1)+((x&r)>>>1)+(x&s&k);if((g|0)<=3)break;else{g=g+-2|0;i=i+4|0;e=e+4|0}}g=j-m|0;e=l+(m<<1)|0;a=a+4+(m<<1)|0}else e=k;if(g){x=b[a>>1]|0;m=h>>>16;b[a>>1]=(((m&q)+(x&d&65535)|0)>>>1)+(m&u&(x&65535));e=e+2|0;a=a+2|0}e=e+(t<<1)|0}if(!f)break;else a=a+(n<<1)|0}return}function SEa(f){f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0;g=c[f+24>>2]|0;i=c[f+28>>2]|0;I=c[f+16>>2]|0;J=c[f+36>>2]|0;h=c[f+44>>2]|0;D=c[(c[(c[f+40>>2]|0)+4>>2]|0)+4>>2]|0;E=d[f+63>>0]|0;F=a[h+9>>0]|0;G=F&255;if(!i)return;H=(g+3|0)/4|0;C=g&255;r=h+28|0;s=h+12|0;t=h+32|0;u=h+29|0;v=h+16|0;w=h+33|0;x=h+30|0;y=h+20|0;z=h+34|0;A=h+31|0;B=h+24|0;q=h+35|0;g=c[f>>2]|0;h=c[f+20>>2]|0;a:while(1){i=i+-1|0;switch(C&3){case 0:{p=H;f=4;break}case 3:{p=H;f=15;break}case 2:{p=H;f=26;break}case 1:{p=H;f=37;break}default:{f=48;break a}}while(1)if((f|0)==4){o=d[g>>0]|0;m=d[D+(o<<2)>>0]|0;n=d[D+(o<<2)+1>>0]|0;o=d[D+(o<<2)+2>>0]|0;switch(F<<24>>24){case 1:{l=d[h>>0]|0;f=a[(c[16112+((d[r>>0]|0)<<2)>>2]|0)+((c[s>>2]&l)>>>(d[t>>0]|0))>>0]|0;j=a[(c[16112+((d[u>>0]|0)<<2)>>2]|0)+((c[v>>2]&l)>>>(d[w>>0]|0))>>0]|0;k=a[(c[16112+((d[x>>0]|0)<<2)>>2]|0)+((c[y>>2]&l)>>>(d[z>>0]|0))>>0]|0;l=a[(c[16112+((d[A>>0]|0)<<2)>>2]|0)+((c[B>>2]&l)>>>(d[q>>0]|0))>>0]|0;break}case 2:{l=e[h>>1]|0;f=a[(c[16112+((d[r>>0]|0)<<2)>>2]|0)+((c[s>>2]&l)>>>(d[t>>0]|0))>>0]|0;j=a[(c[16112+((d[u>>0]|0)<<2)>>2]|0)+((c[v>>2]&l)>>>(d[w>>0]|0))>>0]|0;k=a[(c[16112+((d[x>>0]|0)<<2)>>2]|0)+((c[y>>2]&l)>>>(d[z>>0]|0))>>0]|0;l=a[(c[16112+((d[A>>0]|0)<<2)>>2]|0)+((c[B>>2]&l)>>>(d[q>>0]|0))>>0]|0;break}case 3:{f=a[h+((d[t>>0]|0)>>>3&255)>>0]|0;j=a[h+((d[w>>0]|0)>>>3&255)>>0]|0;k=a[h+((d[z>>0]|0)>>>3&255)>>0]|0;l=-1;break}case 4:{l=c[h>>2]|0;f=a[(c[16112+((d[r>>0]|0)<<2)>>2]|0)+((c[s>>2]&l)>>>(d[t>>0]|0))>>0]|0;j=a[(c[16112+((d[u>>0]|0)<<2)>>2]|0)+((c[v>>2]&l)>>>(d[w>>0]|0))>>0]|0;k=a[(c[16112+((d[x>>0]|0)<<2)>>2]|0)+((c[y>>2]&l)>>>(d[z>>0]|0))>>0]|0;l=a[(c[16112+((d[A>>0]|0)<<2)>>2]|0)+((c[B>>2]&l)>>>(d[q>>0]|0))>>0]|0;break}default:{f=0;j=0;k=0;l=0}}L=f&255;K=j&255;f=k&255;j=l&255;l=(((N(m-L|0,E)|0)>>>0)/255|0)+L|0;k=(((N(n-K|0,E)|0)>>>0)/255|0)+K|0;f=(((N(o-f|0,E)|0)>>>0)/255|0)+f|0;j=j+E-(((N(j,E)|0)>>>0)/255|0)|0;switch(F<<24>>24){case 1:{a[h>>0]=k>>>(d[u>>0]|0)<<(d[w>>0]|0)|l>>>(d[r>>0]|0)<<(d[t>>0]|0)|f>>>(d[x>>0]|0)<<(d[z>>0]|0)|j>>>(d[A>>0]|0)<<(d[q>>0]|0);break}case 2:{b[h>>1]=k>>>(d[u>>0]|0)<<(d[w>>0]|0)|l>>>(d[r>>0]|0)<<(d[t>>0]|0)|f>>>(d[x>>0]|0)<<(d[z>>0]|0)|j>>>(d[A>>0]|0)<<(d[q>>0]|0);break}case 3:{a[h+((d[t>>0]|0)>>>3&255)>>0]=l;a[h+((d[w>>0]|0)>>>3&255)>>0]=k;a[h+((d[z>>0]|0)>>>3&255)>>0]=f;break}case 4:{c[h>>2]=k>>>(d[u>>0]|0)<<(d[w>>0]|0)|l>>>(d[r>>0]|0)<<(d[t>>0]|0)|f>>>(d[x>>0]|0)<<(d[z>>0]|0)|j>>>(d[A>>0]|0)<<(d[q>>0]|0);break}default:{}}g=g+1|0;h=h+G|0;f=15;continue}else if((f|0)==15){o=d[g>>0]|0;m=d[D+(o<<2)>>0]|0;n=d[D+(o<<2)+1>>0]|0;o=d[D+(o<<2)+2>>0]|0;switch(F<<24>>24){case 1:{l=d[h>>0]|0;f=a[(c[16112+((d[r>>0]|0)<<2)>>2]|0)+((c[s>>2]&l)>>>(d[t>>0]|0))>>0]|0;j=a[(c[16112+((d[u>>0]|0)<<2)>>2]|0)+((c[v>>2]&l)>>>(d[w>>0]|0))>>0]|0;k=a[(c[16112+((d[x>>0]|0)<<2)>>2]|0)+((c[y>>2]&l)>>>(d[z>>0]|0))>>0]|0;l=a[(c[16112+((d[A>>0]|0)<<2)>>2]|0)+((c[B>>2]&l)>>>(d[q>>0]|0))>>0]|0;break}case 2:{l=e[h>>1]|0;f=a[(c[16112+((d[r>>0]|0)<<2)>>2]|0)+((c[s>>2]&l)>>>(d[t>>0]|0))>>0]|0;j=a[(c[16112+((d[u>>0]|0)<<2)>>2]|0)+((c[v>>2]&l)>>>(d[w>>0]|0))>>0]|0;k=a[(c[16112+((d[x>>0]|0)<<2)>>2]|0)+((c[y>>2]&l)>>>(d[z>>0]|0))>>0]|0;l=a[(c[16112+((d[A>>0]|0)<<2)>>2]|0)+((c[B>>2]&l)>>>(d[q>>0]|0))>>0]|0;break}case 3:{f=a[h+((d[t>>0]|0)>>>3&255)>>0]|0;j=a[h+((d[w>>0]|0)>>>3&255)>>0]|0;k=a[h+((d[z>>0]|0)>>>3&255)>>0]|0;l=-1;break}case 4:{l=c[h>>2]|0;f=a[(c[16112+((d[r>>0]|0)<<2)>>2]|0)+((c[s>>2]&l)>>>(d[t>>0]|0))>>0]|0;j=a[(c[16112+((d[u>>0]|0)<<2)>>2]|0)+((c[v>>2]&l)>>>(d[w>>0]|0))>>0]|0;k=a[(c[16112+((d[x>>0]|0)<<2)>>2]|0)+((c[y>>2]&l)>>>(d[z>>0]|0))>>0]|0;l=a[(c[16112+((d[A>>0]|0)<<2)>>2]|0)+((c[B>>2]&l)>>>(d[q>>0]|0))>>0]|0;break}default:{f=0;j=0;k=0;l=0}}K=f&255;L=j&255;f=k&255;j=l&255;l=(((N(m-K|0,E)|0)>>>0)/255|0)+K|0;k=(((N(n-L|0,E)|0)>>>0)/255|0)+L|0;f=(((N(o-f|0,E)|0)>>>0)/255|0)+f|0;j=j+E-(((N(j,E)|0)>>>0)/255|0)|0;switch(F<<24>>24){case 1:{a[h>>0]=k>>>(d[u>>0]|0)<<(d[w>>0]|0)|l>>>(d[r>>0]|0)<<(d[t>>0]|0)|f>>>(d[x>>0]|0)<<(d[z>>0]|0)|j>>>(d[A>>0]|0)<<(d[q>>0]|0);break}case 2:{b[h>>1]=k>>>(d[u>>0]|0)<<(d[w>>0]|0)|l>>>(d[r>>0]|0)<<(d[t>>0]|0)|f>>>(d[x>>0]|0)<<(d[z>>0]|0)|j>>>(d[A>>0]|0)<<(d[q>>0]|0);break}case 3:{a[h+((d[t>>0]|0)>>>3&255)>>0]=l;a[h+((d[w>>0]|0)>>>3&255)>>0]=k;a[h+((d[z>>0]|0)>>>3&255)>>0]=f;break}case 4:{c[h>>2]=k>>>(d[u>>0]|0)<<(d[w>>0]|0)|l>>>(d[r>>0]|0)<<(d[t>>0]|0)|f>>>(d[x>>0]|0)<<(d[z>>0]|0)|j>>>(d[A>>0]|0)<<(d[q>>0]|0);break}default:{}}g=g+1|0;h=h+G|0;f=26;continue}else if((f|0)==26){o=d[g>>0]|0;m=d[D+(o<<2)>>0]|0;n=d[D+(o<<2)+1>>0]|0;o=d[D+(o<<2)+2>>0]|0;switch(F<<24>>24){case 1:{l=d[h>>0]|0;f=a[(c[16112+((d[r>>0]|0)<<2)>>2]|0)+((c[s>>2]&l)>>>(d[t>>0]|0))>>0]|0;j=a[(c[16112+((d[u>>0]|0)<<2)>>2]|0)+((c[v>>2]&l)>>>(d[w>>0]|0))>>0]|0;k=a[(c[16112+((d[x>>0]|0)<<2)>>2]|0)+((c[y>>2]&l)>>>(d[z>>0]|0))>>0]|0;l=a[(c[16112+((d[A>>0]|0)<<2)>>2]|0)+((c[B>>2]&l)>>>(d[q>>0]|0))>>0]|0;break}case 2:{l=e[h>>1]|0;f=a[(c[16112+((d[r>>0]|0)<<2)>>2]|0)+((c[s>>2]&l)>>>(d[t>>0]|0))>>0]|0;j=a[(c[16112+((d[u>>0]|0)<<2)>>2]|0)+((c[v>>2]&l)>>>(d[w>>0]|0))>>0]|0;k=a[(c[16112+((d[x>>0]|0)<<2)>>2]|0)+((c[y>>2]&l)>>>(d[z>>0]|0))>>0]|0;l=a[(c[16112+((d[A>>0]|0)<<2)>>2]|0)+((c[B>>2]&l)>>>(d[q>>0]|0))>>0]|0;break}case 3:{f=a[h+((d[t>>0]|0)>>>3&255)>>0]|0;j=a[h+((d[w>>0]|0)>>>3&255)>>0]|0;k=a[h+((d[z>>0]|0)>>>3&255)>>0]|0;l=-1;break}case 4:{l=c[h>>2]|0;f=a[(c[16112+((d[r>>0]|0)<<2)>>2]|0)+((c[s>>2]&l)>>>(d[t>>0]|0))>>0]|0;j=a[(c[16112+((d[u>>0]|0)<<2)>>2]|0)+((c[v>>2]&l)>>>(d[w>>0]|0))>>0]|0;k=a[(c[16112+((d[x>>0]|0)<<2)>>2]|0)+((c[y>>2]&l)>>>(d[z>>0]|0))>>0]|0;l=a[(c[16112+((d[A>>0]|0)<<2)>>2]|0)+((c[B>>2]&l)>>>(d[q>>0]|0))>>0]|0;break}default:{f=0;j=0;k=0;l=0}}K=f&255;L=j&255;f=k&255;j=l&255;l=(((N(m-K|0,E)|0)>>>0)/255|0)+K|0;k=(((N(n-L|0,E)|0)>>>0)/255|0)+L|0;f=(((N(o-f|0,E)|0)>>>0)/255|0)+f|0;j=j+E-(((N(j,E)|0)>>>0)/255|0)|0;switch(F<<24>>24){case 1:{a[h>>0]=k>>>(d[u>>0]|0)<<(d[w>>0]|0)|l>>>(d[r>>0]|0)<<(d[t>>0]|0)|f>>>(d[x>>0]|0)<<(d[z>>0]|0)|j>>>(d[A>>0]|0)<<(d[q>>0]|0);break}case 2:{b[h>>1]=k>>>(d[u>>0]|0)<<(d[w>>0]|0)|l>>>(d[r>>0]|0)<<(d[t>>0]|0)|f>>>(d[x>>0]|0)<<(d[z>>0]|0)|j>>>(d[A>>0]|0)<<(d[q>>0]|0);break}case 3:{a[h+((d[t>>0]|0)>>>3&255)>>0]=l;a[h+((d[w>>0]|0)>>>3&255)>>0]=k;a[h+((d[z>>0]|0)>>>3&255)>>0]=f;break}case 4:{c[h>>2]=k>>>(d[u>>0]|0)<<(d[w>>0]|0)|l>>>(d[r>>0]|0)<<(d[t>>0]|0)|f>>>(d[x>>0]|0)<<(d[z>>0]|0)|j>>>(d[A>>0]|0)<<(d[q>>0]|0);break}default:{}}g=g+1|0;h=h+G|0;f=37;continue}else if((f|0)==37){o=d[g>>0]|0;m=d[D+(o<<2)>>0]|0;n=d[D+(o<<2)+1>>0]|0;o=d[D+(o<<2)+2>>0]|0;switch(F<<24>>24){case 1:{l=d[h>>0]|0;f=a[(c[16112+((d[r>>0]|0)<<2)>>2]|0)+((c[s>>2]&l)>>>(d[t>>0]|0))>>0]|0;j=a[(c[16112+((d[u>>0]|0)<<2)>>2]|0)+((c[v>>2]&l)>>>(d[w>>0]|0))>>0]|0;k=a[(c[16112+((d[x>>0]|0)<<2)>>2]|0)+((c[y>>2]&l)>>>(d[z>>0]|0))>>0]|0;l=a[(c[16112+((d[A>>0]|0)<<2)>>2]|0)+((c[B>>2]&l)>>>(d[q>>0]|0))>>0]|0;break}case 2:{l=e[h>>1]|0;f=a[(c[16112+((d[r>>0]|0)<<2)>>2]|0)+((c[s>>2]&l)>>>(d[t>>0]|0))>>0]|0;j=a[(c[16112+((d[u>>0]|0)<<2)>>2]|0)+((c[v>>2]&l)>>>(d[w>>0]|0))>>0]|0;k=a[(c[16112+((d[x>>0]|0)<<2)>>2]|0)+((c[y>>2]&l)>>>(d[z>>0]|0))>>0]|0;l=a[(c[16112+((d[A>>0]|0)<<2)>>2]|0)+((c[B>>2]&l)>>>(d[q>>0]|0))>>0]|0;break}case 3:{f=a[h+((d[t>>0]|0)>>>3&255)>>0]|0;j=a[h+((d[w>>0]|0)>>>3&255)>>0]|0;k=a[h+((d[z>>0]|0)>>>3&255)>>0]|0;l=-1;break}case 4:{l=c[h>>2]|0;f=a[(c[16112+((d[r>>0]|0)<<2)>>2]|0)+((c[s>>2]&l)>>>(d[t>>0]|0))>>0]|0;j=a[(c[16112+((d[u>>0]|0)<<2)>>2]|0)+((c[v>>2]&l)>>>(d[w>>0]|0))>>0]|0;k=a[(c[16112+((d[x>>0]|0)<<2)>>2]|0)+((c[y>>2]&l)>>>(d[z>>0]|0))>>0]|0;l=a[(c[16112+((d[A>>0]|0)<<2)>>2]|0)+((c[B>>2]&l)>>>(d[q>>0]|0))>>0]|0;break}default:{f=0;j=0;k=0;l=0}}K=f&255;L=j&255;f=k&255;j=l&255;l=(((N(m-K|0,E)|0)>>>0)/255|0)+K|0;k=(((N(n-L|0,E)|0)>>>0)/255|0)+L|0;f=(((N(o-f|0,E)|0)>>>0)/255|0)+f|0;j=j+E-(((N(j,E)|0)>>>0)/255|0)|0;switch(F<<24>>24){case 1:{a[h>>0]=k>>>(d[u>>0]|0)<<(d[w>>0]|0)|l>>>(d[r>>0]|0)<<(d[t>>0]|0)|f>>>(d[x>>0]|0)<<(d[z>>0]|0)|j>>>(d[A>>0]|0)<<(d[q>>0]|0);break}case 2:{b[h>>1]=k>>>(d[u>>0]|0)<<(d[w>>0]|0)|l>>>(d[r>>0]|0)<<(d[t>>0]|0)|f>>>(d[x>>0]|0)<<(d[z>>0]|0)|j>>>(d[A>>0]|0)<<(d[q>>0]|0);break}case 3:{a[h+((d[t>>0]|0)>>>3&255)>>0]=l;a[h+((d[w>>0]|0)>>>3&255)>>0]=k;a[h+((d[z>>0]|0)>>>3&255)>>0]=f;break}case 4:{c[h>>2]=k>>>(d[u>>0]|0)<<(d[w>>0]|0)|l>>>(d[r>>0]|0)<<(d[t>>0]|0)|f>>>(d[x>>0]|0)<<(d[z>>0]|0)|j>>>(d[A>>0]|0)<<(d[q>>0]|0);break}default:{}}g=g+1|0;h=h+G|0;if((p|0)>1){p=p+-1|0;f=4;continue}else break}if(!i){f=50;break}else{g=g+I|0;h=h+J|0}}if((f|0)!=48)if((f|0)==50)return}function TEa(f){f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0;g=c[f+24>>2]|0;i=c[f+28>>2]|0;J=c[f+16>>2]|0;K=c[f+36>>2]|0;h=c[f+44>>2]|0;D=c[(c[(c[f+40>>2]|0)+4>>2]|0)+4>>2]|0;E=c[f+56>>2]|0;F=d[f+63>>0]|0;G=a[h+9>>0]|0;H=G&255;if(!i)return;I=(g+7|0)/8|0;C=g&255;r=h+28|0;s=h+12|0;t=h+32|0;u=h+29|0;v=h+16|0;w=h+33|0;x=h+30|0;y=h+20|0;z=h+34|0;A=h+31|0;B=h+24|0;q=h+35|0;g=c[f>>2]|0;h=c[f+20>>2]|0;a:while(1){i=i+-1|0;switch(C&7){case 0:{p=I;f=4;break}case 7:{p=I;f=16;break}case 6:{p=I;f=28;break}case 5:{p=I;f=40;break}case 4:{p=I;o=h;f=52;break}case 3:{p=I;o=h;f=64;break}case 2:{p=I;o=h;f=76;break}case 1:{p=I;o=h;f=88;break}default:{f=100;break a}}while(1)if((f|0)==4){f=d[g>>0]|0;b:do if((E|0)!=(f|0)){m=d[D+(f<<2)>>0]|0;n=d[D+(f<<2)+1>>0]|0;o=d[D+(f<<2)+2>>0]|0;switch(G<<24>>24){case 1:{l=d[h>>0]|0;f=a[(c[16112+((d[r>>0]|0)<<2)>>2]|0)+((c[s>>2]&l)>>>(d[t>>0]|0))>>0]|0;j=a[(c[16112+((d[u>>0]|0)<<2)>>2]|0)+((c[v>>2]&l)>>>(d[w>>0]|0))>>0]|0;k=a[(c[16112+((d[x>>0]|0)<<2)>>2]|0)+((c[y>>2]&l)>>>(d[z>>0]|0))>>0]|0;l=a[(c[16112+((d[A>>0]|0)<<2)>>2]|0)+((c[B>>2]&l)>>>(d[q>>0]|0))>>0]|0;break}case 2:{l=e[h>>1]|0;f=a[(c[16112+((d[r>>0]|0)<<2)>>2]|0)+((c[s>>2]&l)>>>(d[t>>0]|0))>>0]|0;j=a[(c[16112+((d[u>>0]|0)<<2)>>2]|0)+((c[v>>2]&l)>>>(d[w>>0]|0))>>0]|0;k=a[(c[16112+((d[x>>0]|0)<<2)>>2]|0)+((c[y>>2]&l)>>>(d[z>>0]|0))>>0]|0;l=a[(c[16112+((d[A>>0]|0)<<2)>>2]|0)+((c[B>>2]&l)>>>(d[q>>0]|0))>>0]|0;break}case 3:{f=a[h+((d[t>>0]|0)>>>3&255)>>0]|0;j=a[h+((d[w>>0]|0)>>>3&255)>>0]|0;k=a[h+((d[z>>0]|0)>>>3&255)>>0]|0;l=-1;break}case 4:{l=c[h>>2]|0;f=a[(c[16112+((d[r>>0]|0)<<2)>>2]|0)+((c[s>>2]&l)>>>(d[t>>0]|0))>>0]|0;j=a[(c[16112+((d[u>>0]|0)<<2)>>2]|0)+((c[v>>2]&l)>>>(d[w>>0]|0))>>0]|0;k=a[(c[16112+((d[x>>0]|0)<<2)>>2]|0)+((c[y>>2]&l)>>>(d[z>>0]|0))>>0]|0;l=a[(c[16112+((d[A>>0]|0)<<2)>>2]|0)+((c[B>>2]&l)>>>(d[q>>0]|0))>>0]|0;break}default:{f=0;j=0;k=0;l=0}}M=f&255;L=j&255;f=k&255;j=l&255;l=(((N(m-M|0,F)|0)>>>0)/255|0)+M|0;k=(((N(n-L|0,F)|0)>>>0)/255|0)+L|0;f=(((N(o-f|0,F)|0)>>>0)/255|0)+f|0;j=j+F-(((N(j,F)|0)>>>0)/255|0)|0;switch(G<<24>>24){case 1:{a[h>>0]=k>>>(d[u>>0]|0)<<(d[w>>0]|0)|l>>>(d[r>>0]|0)<<(d[t>>0]|0)|f>>>(d[x>>0]|0)<<(d[z>>0]|0)|j>>>(d[A>>0]|0)<<(d[q>>0]|0);break b}case 2:{b[h>>1]=k>>>(d[u>>0]|0)<<(d[w>>0]|0)|l>>>(d[r>>0]|0)<<(d[t>>0]|0)|f>>>(d[x>>0]|0)<<(d[z>>0]|0)|j>>>(d[A>>0]|0)<<(d[q>>0]|0);break b}case 3:{a[h+((d[t>>0]|0)>>>3&255)>>0]=l;a[h+((d[w>>0]|0)>>>3&255)>>0]=k;a[h+((d[z>>0]|0)>>>3&255)>>0]=f;break b}case 4:{c[h>>2]=k>>>(d[u>>0]|0)<<(d[w>>0]|0)|l>>>(d[r>>0]|0)<<(d[t>>0]|0)|f>>>(d[x>>0]|0)<<(d[z>>0]|0)|j>>>(d[A>>0]|0)<<(d[q>>0]|0);break b}default:break b}}while(0);g=g+1|0;h=h+H|0;f=16;continue}else if((f|0)==16){f=d[g>>0]|0;c:do if((E|0)!=(f|0)){m=d[D+(f<<2)>>0]|0;n=d[D+(f<<2)+1>>0]|0;o=d[D+(f<<2)+2>>0]|0;switch(G<<24>>24){case 1:{l=d[h>>0]|0;f=a[(c[16112+((d[r>>0]|0)<<2)>>2]|0)+((c[s>>2]&l)>>>(d[t>>0]|0))>>0]|0;j=a[(c[16112+((d[u>>0]|0)<<2)>>2]|0)+((c[v>>2]&l)>>>(d[w>>0]|0))>>0]|0;k=a[(c[16112+((d[x>>0]|0)<<2)>>2]|0)+((c[y>>2]&l)>>>(d[z>>0]|0))>>0]|0;l=a[(c[16112+((d[A>>0]|0)<<2)>>2]|0)+((c[B>>2]&l)>>>(d[q>>0]|0))>>0]|0;break}case 2:{l=e[h>>1]|0;f=a[(c[16112+((d[r>>0]|0)<<2)>>2]|0)+((c[s>>2]&l)>>>(d[t>>0]|0))>>0]|0;j=a[(c[16112+((d[u>>0]|0)<<2)>>2]|0)+((c[v>>2]&l)>>>(d[w>>0]|0))>>0]|0;k=a[(c[16112+((d[x>>0]|0)<<2)>>2]|0)+((c[y>>2]&l)>>>(d[z>>0]|0))>>0]|0;l=a[(c[16112+((d[A>>0]|0)<<2)>>2]|0)+((c[B>>2]&l)>>>(d[q>>0]|0))>>0]|0;break}case 3:{f=a[h+((d[t>>0]|0)>>>3&255)>>0]|0;j=a[h+((d[w>>0]|0)>>>3&255)>>0]|0;k=a[h+((d[z>>0]|0)>>>3&255)>>0]|0;l=-1;break}case 4:{l=c[h>>2]|0;f=a[(c[16112+((d[r>>0]|0)<<2)>>2]|0)+((c[s>>2]&l)>>>(d[t>>0]|0))>>0]|0;j=a[(c[16112+((d[u>>0]|0)<<2)>>2]|0)+((c[v>>2]&l)>>>(d[w>>0]|0))>>0]|0;k=a[(c[16112+((d[x>>0]|0)<<2)>>2]|0)+((c[y>>2]&l)>>>(d[z>>0]|0))>>0]|0;l=a[(c[16112+((d[A>>0]|0)<<2)>>2]|0)+((c[B>>2]&l)>>>(d[q>>0]|0))>>0]|0;break}default:{f=0;j=0;k=0;l=0}}L=f&255;M=j&255;f=k&255;j=l&255;l=(((N(m-L|0,F)|0)>>>0)/255|0)+L|0;k=(((N(n-M|0,F)|0)>>>0)/255|0)+M|0;f=(((N(o-f|0,F)|0)>>>0)/255|0)+f|0;j=j+F-(((N(j,F)|0)>>>0)/255|0)|0;switch(G<<24>>24){case 1:{a[h>>0]=k>>>(d[u>>0]|0)<<(d[w>>0]|0)|l>>>(d[r>>0]|0)<<(d[t>>0]|0)|f>>>(d[x>>0]|0)<<(d[z>>0]|0)|j>>>(d[A>>0]|0)<<(d[q>>0]|0);break c}case 2:{b[h>>1]=k>>>(d[u>>0]|0)<<(d[w>>0]|0)|l>>>(d[r>>0]|0)<<(d[t>>0]|0)|f>>>(d[x>>0]|0)<<(d[z>>0]|0)|j>>>(d[A>>0]|0)<<(d[q>>0]|0);break c}case 3:{a[h+((d[t>>0]|0)>>>3&255)>>0]=l;a[h+((d[w>>0]|0)>>>3&255)>>0]=k;a[h+((d[z>>0]|0)>>>3&255)>>0]=f;break c}case 4:{c[h>>2]=k>>>(d[u>>0]|0)<<(d[w>>0]|0)|l>>>(d[r>>0]|0)<<(d[t>>0]|0)|f>>>(d[x>>0]|0)<<(d[z>>0]|0)|j>>>(d[A>>0]|0)<<(d[q>>0]|0);break c}default:break c}}while(0);g=g+1|0;h=h+H|0;f=28;continue}else if((f|0)==28){f=d[g>>0]|0;d:do if((E|0)!=(f|0)){m=d[D+(f<<2)>>0]|0;n=d[D+(f<<2)+1>>0]|0;o=d[D+(f<<2)+2>>0]|0;switch(G<<24>>24){case 1:{l=d[h>>0]|0;f=a[(c[16112+((d[r>>0]|0)<<2)>>2]|0)+((c[s>>2]&l)>>>(d[t>>0]|0))>>0]|0;j=a[(c[16112+((d[u>>0]|0)<<2)>>2]|0)+((c[v>>2]&l)>>>(d[w>>0]|0))>>0]|0;k=a[(c[16112+((d[x>>0]|0)<<2)>>2]|0)+((c[y>>2]&l)>>>(d[z>>0]|0))>>0]|0;l=a[(c[16112+((d[A>>0]|0)<<2)>>2]|0)+((c[B>>2]&l)>>>(d[q>>0]|0))>>0]|0;break}case 2:{l=e[h>>1]|0;f=a[(c[16112+((d[r>>0]|0)<<2)>>2]|0)+((c[s>>2]&l)>>>(d[t>>0]|0))>>0]|0;j=a[(c[16112+((d[u>>0]|0)<<2)>>2]|0)+((c[v>>2]&l)>>>(d[w>>0]|0))>>0]|0;k=a[(c[16112+((d[x>>0]|0)<<2)>>2]|0)+((c[y>>2]&l)>>>(d[z>>0]|0))>>0]|0;l=a[(c[16112+((d[A>>0]|0)<<2)>>2]|0)+((c[B>>2]&l)>>>(d[q>>0]|0))>>0]|0;break}case 3:{f=a[h+((d[t>>0]|0)>>>3&255)>>0]|0;j=a[h+((d[w>>0]|0)>>>3&255)>>0]|0;k=a[h+((d[z>>0]|0)>>>3&255)>>0]|0;l=-1;break}case 4:{l=c[h>>2]|0;f=a[(c[16112+((d[r>>0]|0)<<2)>>2]|0)+((c[s>>2]&l)>>>(d[t>>0]|0))>>0]|0;j=a[(c[16112+((d[u>>0]|0)<<2)>>2]|0)+((c[v>>2]&l)>>>(d[w>>0]|0))>>0]|0;k=a[(c[16112+((d[x>>0]|0)<<2)>>2]|0)+((c[y>>2]&l)>>>(d[z>>0]|0))>>0]|0;l=a[(c[16112+((d[A>>0]|0)<<2)>>2]|0)+((c[B>>2]&l)>>>(d[q>>0]|0))>>0]|0;break}default:{f=0;j=0;k=0;l=0}}L=f&255;M=j&255;f=k&255;j=l&255;l=(((N(m-L|0,F)|0)>>>0)/255|0)+L|0;k=(((N(n-M|0,F)|0)>>>0)/255|0)+M|0;f=(((N(o-f|0,F)|0)>>>0)/255|0)+f|0;j=j+F-(((N(j,F)|0)>>>0)/255|0)|0;switch(G<<24>>24){case 1:{a[h>>0]=k>>>(d[u>>0]|0)<<(d[w>>0]|0)|l>>>(d[r>>0]|0)<<(d[t>>0]|0)|f>>>(d[x>>0]|0)<<(d[z>>0]|0)|j>>>(d[A>>0]|0)<<(d[q>>0]|0);break d}case 2:{b[h>>1]=k>>>(d[u>>0]|0)<<(d[w>>0]|0)|l>>>(d[r>>0]|0)<<(d[t>>0]|0)|f>>>(d[x>>0]|0)<<(d[z>>0]|0)|j>>>(d[A>>0]|0)<<(d[q>>0]|0);break d}case 3:{a[h+((d[t>>0]|0)>>>3&255)>>0]=l;a[h+((d[w>>0]|0)>>>3&255)>>0]=k;a[h+((d[z>>0]|0)>>>3&255)>>0]=f;break d}case 4:{c[h>>2]=k>>>(d[u>>0]|0)<<(d[w>>0]|0)|l>>>(d[r>>0]|0)<<(d[t>>0]|0)|f>>>(d[x>>0]|0)<<(d[z>>0]|0)|j>>>(d[A>>0]|0)<<(d[q>>0]|0);break d}default:break d}}while(0);g=g+1|0;h=h+H|0;f=40;continue}else if((f|0)==40){f=d[g>>0]|0;e:do if((E|0)!=(f|0)){m=d[D+(f<<2)>>0]|0;n=d[D+(f<<2)+1>>0]|0;o=d[D+(f<<2)+2>>0]|0;switch(G<<24>>24){case 1:{l=d[h>>0]|0;f=a[(c[16112+((d[r>>0]|0)<<2)>>2]|0)+((c[s>>2]&l)>>>(d[t>>0]|0))>>0]|0;j=a[(c[16112+((d[u>>0]|0)<<2)>>2]|0)+((c[v>>2]&l)>>>(d[w>>0]|0))>>0]|0;k=a[(c[16112+((d[x>>0]|0)<<2)>>2]|0)+((c[y>>2]&l)>>>(d[z>>0]|0))>>0]|0;l=a[(c[16112+((d[A>>0]|0)<<2)>>2]|0)+((c[B>>2]&l)>>>(d[q>>0]|0))>>0]|0;break}case 2:{l=e[h>>1]|0;f=a[(c[16112+((d[r>>0]|0)<<2)>>2]|0)+((c[s>>2]&l)>>>(d[t>>0]|0))>>0]|0;j=a[(c[16112+((d[u>>0]|0)<<2)>>2]|0)+((c[v>>2]&l)>>>(d[w>>0]|0))>>0]|0;k=a[(c[16112+((d[x>>0]|0)<<2)>>2]|0)+((c[y>>2]&l)>>>(d[z>>0]|0))>>0]|0;l=a[(c[16112+((d[A>>0]|0)<<2)>>2]|0)+((c[B>>2]&l)>>>(d[q>>0]|0))>>0]|0;break}case 3:{f=a[h+((d[t>>0]|0)>>>3&255)>>0]|0;j=a[h+((d[w>>0]|0)>>>3&255)>>0]|0;k=a[h+((d[z>>0]|0)>>>3&255)>>0]|0;l=-1;break}case 4:{l=c[h>>2]|0;f=a[(c[16112+((d[r>>0]|0)<<2)>>2]|0)+((c[s>>2]&l)>>>(d[t>>0]|0))>>0]|0;j=a[(c[16112+((d[u>>0]|0)<<2)>>2]|0)+((c[v>>2]&l)>>>(d[w>>0]|0))>>0]|0;k=a[(c[16112+((d[x>>0]|0)<<2)>>2]|0)+((c[y>>2]&l)>>>(d[z>>0]|0))>>0]|0;l=a[(c[16112+((d[A>>0]|0)<<2)>>2]|0)+((c[B>>2]&l)>>>(d[q>>0]|0))>>0]|0;break}default:{f=0;j=0;k=0;l=0}}L=f&255;M=j&255;f=k&255;j=l&255;l=(((N(m-L|0,F)|0)>>>0)/255|0)+L|0;k=(((N(n-M|0,F)|0)>>>0)/255|0)+M|0;f=(((N(o-f|0,F)|0)>>>0)/255|0)+f|0;j=j+F-(((N(j,F)|0)>>>0)/255|0)|0;switch(G<<24>>24){case 1:{a[h>>0]=k>>>(d[u>>0]|0)<<(d[w>>0]|0)|l>>>(d[r>>0]|0)<<(d[t>>0]|0)|f>>>(d[x>>0]|0)<<(d[z>>0]|0)|j>>>(d[A>>0]|0)<<(d[q>>0]|0);break e}case 2:{b[h>>1]=k>>>(d[u>>0]|0)<<(d[w>>0]|0)|l>>>(d[r>>0]|0)<<(d[t>>0]|0)|f>>>(d[x>>0]|0)<<(d[z>>0]|0)|j>>>(d[A>>0]|0)<<(d[q>>0]|0);break e}case 3:{a[h+((d[t>>0]|0)>>>3&255)>>0]=l;a[h+((d[w>>0]|0)>>>3&255)>>0]=k;a[h+((d[z>>0]|0)>>>3&255)>>0]=f;break e}case 4:{c[h>>2]=k>>>(d[u>>0]|0)<<(d[w>>0]|0)|l>>>(d[r>>0]|0)<<(d[t>>0]|0)|f>>>(d[x>>0]|0)<<(d[z>>0]|0)|j>>>(d[A>>0]|0)<<(d[q>>0]|0);break e}default:break e}}while(0);g=g+1|0;o=h+H|0;f=52;continue}else if((f|0)==52){h=d[g>>0]|0;f:do if((E|0)!=(h|0)){l=d[D+(h<<2)>>0]|0;m=d[D+(h<<2)+1>>0]|0;n=d[D+(h<<2)+2>>0]|0;switch(G<<24>>24){case 1:{k=d[o>>0]|0;h=a[(c[16112+((d[r>>0]|0)<<2)>>2]|0)+((c[s>>2]&k)>>>(d[t>>0]|0))>>0]|0;f=a[(c[16112+((d[u>>0]|0)<<2)>>2]|0)+((c[v>>2]&k)>>>(d[w>>0]|0))>>0]|0;j=a[(c[16112+((d[x>>0]|0)<<2)>>2]|0)+((c[y>>2]&k)>>>(d[z>>0]|0))>>0]|0;k=a[(c[16112+((d[A>>0]|0)<<2)>>2]|0)+((c[B>>2]&k)>>>(d[q>>0]|0))>>0]|0;break}case 2:{k=e[o>>1]|0;h=a[(c[16112+((d[r>>0]|0)<<2)>>2]|0)+((c[s>>2]&k)>>>(d[t>>0]|0))>>0]|0;f=a[(c[16112+((d[u>>0]|0)<<2)>>2]|0)+((c[v>>2]&k)>>>(d[w>>0]|0))>>0]|0;j=a[(c[16112+((d[x>>0]|0)<<2)>>2]|0)+((c[y>>2]&k)>>>(d[z>>0]|0))>>0]|0;k=a[(c[16112+((d[A>>0]|0)<<2)>>2]|0)+((c[B>>2]&k)>>>(d[q>>0]|0))>>0]|0;break}case 3:{h=a[o+((d[t>>0]|0)>>>3&255)>>0]|0;f=a[o+((d[w>>0]|0)>>>3&255)>>0]|0;j=a[o+((d[z>>0]|0)>>>3&255)>>0]|0;k=-1;break}case 4:{k=c[o>>2]|0;h=a[(c[16112+((d[r>>0]|0)<<2)>>2]|0)+((c[s>>2]&k)>>>(d[t>>0]|0))>>0]|0;f=a[(c[16112+((d[u>>0]|0)<<2)>>2]|0)+((c[v>>2]&k)>>>(d[w>>0]|0))>>0]|0;j=a[(c[16112+((d[x>>0]|0)<<2)>>2]|0)+((c[y>>2]&k)>>>(d[z>>0]|0))>>0]|0;k=a[(c[16112+((d[A>>0]|0)<<2)>>2]|0)+((c[B>>2]&k)>>>(d[q>>0]|0))>>0]|0;break}default:{h=0;f=0;j=0;k=0}}L=h&255;M=f&255;h=j&255;f=k&255;k=(((N(l-L|0,F)|0)>>>0)/255|0)+L|0;j=(((N(m-M|0,F)|0)>>>0)/255|0)+M|0;h=(((N(n-h|0,F)|0)>>>0)/255|0)+h|0;f=f+F-(((N(f,F)|0)>>>0)/255|0)|0;switch(G<<24>>24){case 1:{a[o>>0]=j>>>(d[u>>0]|0)<<(d[w>>0]|0)|k>>>(d[r>>0]|0)<<(d[t>>0]|0)|h>>>(d[x>>0]|0)<<(d[z>>0]|0)|f>>>(d[A>>0]|0)<<(d[q>>0]|0);break f}case 2:{b[o>>1]=j>>>(d[u>>0]|0)<<(d[w>>0]|0)|k>>>(d[r>>0]|0)<<(d[t>>0]|0)|h>>>(d[x>>0]|0)<<(d[z>>0]|0)|f>>>(d[A>>0]|0)<<(d[q>>0]|0);break f}case 3:{a[o+((d[t>>0]|0)>>>3&255)>>0]=k;a[o+((d[w>>0]|0)>>>3&255)>>0]=j;a[o+((d[z>>0]|0)>>>3&255)>>0]=h;break f}case 4:{c[o>>2]=j>>>(d[u>>0]|0)<<(d[w>>0]|0)|k>>>(d[r>>0]|0)<<(d[t>>0]|0)|h>>>(d[x>>0]|0)<<(d[z>>0]|0)|f>>>(d[A>>0]|0)<<(d[q>>0]|0);break f}default:break f}}while(0);g=g+1|0;o=o+H|0;f=64;continue}else if((f|0)==64){h=d[g>>0]|0;g:do if((E|0)!=(h|0)){l=d[D+(h<<2)>>0]|0;m=d[D+(h<<2)+1>>0]|0;n=d[D+(h<<2)+2>>0]|0;switch(G<<24>>24){case 1:{k=d[o>>0]|0;h=a[(c[16112+((d[r>>0]|0)<<2)>>2]|0)+((c[s>>2]&k)>>>(d[t>>0]|0))>>0]|0;f=a[(c[16112+((d[u>>0]|0)<<2)>>2]|0)+((c[v>>2]&k)>>>(d[w>>0]|0))>>0]|0;j=a[(c[16112+((d[x>>0]|0)<<2)>>2]|0)+((c[y>>2]&k)>>>(d[z>>0]|0))>>0]|0;k=a[(c[16112+((d[A>>0]|0)<<2)>>2]|0)+((c[B>>2]&k)>>>(d[q>>0]|0))>>0]|0;break}case 2:{k=e[o>>1]|0;h=a[(c[16112+((d[r>>0]|0)<<2)>>2]|0)+((c[s>>2]&k)>>>(d[t>>0]|0))>>0]|0;f=a[(c[16112+((d[u>>0]|0)<<2)>>2]|0)+((c[v>>2]&k)>>>(d[w>>0]|0))>>0]|0;j=a[(c[16112+((d[x>>0]|0)<<2)>>2]|0)+((c[y>>2]&k)>>>(d[z>>0]|0))>>0]|0;k=a[(c[16112+((d[A>>0]|0)<<2)>>2]|0)+((c[B>>2]&k)>>>(d[q>>0]|0))>>0]|0;break}case 3:{h=a[o+((d[t>>0]|0)>>>3&255)>>0]|0;f=a[o+((d[w>>0]|0)>>>3&255)>>0]|0;j=a[o+((d[z>>0]|0)>>>3&255)>>0]|0;k=-1;break}case 4:{k=c[o>>2]|0;h=a[(c[16112+((d[r>>0]|0)<<2)>>2]|0)+((c[s>>2]&k)>>>(d[t>>0]|0))>>0]|0;f=a[(c[16112+((d[u>>0]|0)<<2)>>2]|0)+((c[v>>2]&k)>>>(d[w>>0]|0))>>0]|0;j=a[(c[16112+((d[x>>0]|0)<<2)>>2]|0)+((c[y>>2]&k)>>>(d[z>>0]|0))>>0]|0;k=a[(c[16112+((d[A>>0]|0)<<2)>>2]|0)+((c[B>>2]&k)>>>(d[q>>0]|0))>>0]|0;break}default:{h=0;f=0;j=0;k=0}}L=h&255;M=f&255;h=j&255;f=k&255;k=(((N(l-L|0,F)|0)>>>0)/255|0)+L|0;j=(((N(m-M|0,F)|0)>>>0)/255|0)+M|0;h=(((N(n-h|0,F)|0)>>>0)/255|0)+h|0;f=f+F-(((N(f,F)|0)>>>0)/255|0)|0;switch(G<<24>>24){case 1:{a[o>>0]=j>>>(d[u>>0]|0)<<(d[w>>0]|0)|k>>>(d[r>>0]|0)<<(d[t>>0]|0)|h>>>(d[x>>0]|0)<<(d[z>>0]|0)|f>>>(d[A>>0]|0)<<(d[q>>0]|0);break g}case 2:{b[o>>1]=j>>>(d[u>>0]|0)<<(d[w>>0]|0)|k>>>(d[r>>0]|0)<<(d[t>>0]|0)|h>>>(d[x>>0]|0)<<(d[z>>0]|0)|f>>>(d[A>>0]|0)<<(d[q>>0]|0);break g}case 3:{a[o+((d[t>>0]|0)>>>3&255)>>0]=k;a[o+((d[w>>0]|0)>>>3&255)>>0]=j;a[o+((d[z>>0]|0)>>>3&255)>>0]=h;break g}case 4:{c[o>>2]=j>>>(d[u>>0]|0)<<(d[w>>0]|0)|k>>>(d[r>>0]|0)<<(d[t>>0]|0)|h>>>(d[x>>0]|0)<<(d[z>>0]|0)|f>>>(d[A>>0]|0)<<(d[q>>0]|0);break g}default:break g}}while(0);g=g+1|0;o=o+H|0;f=76;continue}else if((f|0)==76){h=d[g>>0]|0;h:do if((E|0)!=(h|0)){l=d[D+(h<<2)>>0]|0;m=d[D+(h<<2)+1>>0]|0;n=d[D+(h<<2)+2>>0]|0;switch(G<<24>>24){case 1:{k=d[o>>0]|0;h=a[(c[16112+((d[r>>0]|0)<<2)>>2]|0)+((c[s>>2]&k)>>>(d[t>>0]|0))>>0]|0;f=a[(c[16112+((d[u>>0]|0)<<2)>>2]|0)+((c[v>>2]&k)>>>(d[w>>0]|0))>>0]|0;j=a[(c[16112+((d[x>>0]|0)<<2)>>2]|0)+((c[y>>2]&k)>>>(d[z>>0]|0))>>0]|0;k=a[(c[16112+((d[A>>0]|0)<<2)>>2]|0)+((c[B>>2]&k)>>>(d[q>>0]|0))>>0]|0;break}case 2:{k=e[o>>1]|0;h=a[(c[16112+((d[r>>0]|0)<<2)>>2]|0)+((c[s>>2]&k)>>>(d[t>>0]|0))>>0]|0;f=a[(c[16112+((d[u>>0]|0)<<2)>>2]|0)+((c[v>>2]&k)>>>(d[w>>0]|0))>>0]|0;j=a[(c[16112+((d[x>>0]|0)<<2)>>2]|0)+((c[y>>2]&k)>>>(d[z>>0]|0))>>0]|0;k=a[(c[16112+((d[A>>0]|0)<<2)>>2]|0)+((c[B>>2]&k)>>>(d[q>>0]|0))>>0]|0;break}case 3:{h=a[o+((d[t>>0]|0)>>>3&255)>>0]|0;f=a[o+((d[w>>0]|0)>>>3&255)>>0]|0;j=a[o+((d[z>>0]|0)>>>3&255)>>0]|0;k=-1;break}case 4:{k=c[o>>2]|0;h=a[(c[16112+((d[r>>0]|0)<<2)>>2]|0)+((c[s>>2]&k)>>>(d[t>>0]|0))>>0]|0;f=a[(c[16112+((d[u>>0]|0)<<2)>>2]|0)+((c[v>>2]&k)>>>(d[w>>0]|0))>>0]|0;j=a[(c[16112+((d[x>>0]|0)<<2)>>2]|0)+((c[y>>2]&k)>>>(d[z>>0]|0))>>0]|0;k=a[(c[16112+((d[A>>0]|0)<<2)>>2]|0)+((c[B>>2]&k)>>>(d[q>>0]|0))>>0]|0;break}default:{h=0;f=0;j=0;k=0}}L=h&255;M=f&255;h=j&255;f=k&255;k=(((N(l-L|0,F)|0)>>>0)/255|0)+L|0;j=(((N(m-M|0,F)|0)>>>0)/255|0)+M|0;h=(((N(n-h|0,F)|0)>>>0)/255|0)+h|0;f=f+F-(((N(f,F)|0)>>>0)/255|0)|0;switch(G<<24>>24){case 1:{a[o>>0]=j>>>(d[u>>0]|0)<<(d[w>>0]|0)|k>>>(d[r>>0]|0)<<(d[t>>0]|0)|h>>>(d[x>>0]|0)<<(d[z>>0]|0)|f>>>(d[A>>0]|0)<<(d[q>>0]|0);break h}case 2:{b[o>>1]=j>>>(d[u>>0]|0)<<(d[w>>0]|0)|k>>>(d[r>>0]|0)<<(d[t>>0]|0)|h>>>(d[x>>0]|0)<<(d[z>>0]|0)|f>>>(d[A>>0]|0)<<(d[q>>0]|0);break h}case 3:{a[o+((d[t>>0]|0)>>>3&255)>>0]=k;a[o+((d[w>>0]|0)>>>3&255)>>0]=j;a[o+((d[z>>0]|0)>>>3&255)>>0]=h;break h}case 4:{c[o>>2]=j>>>(d[u>>0]|0)<<(d[w>>0]|0)|k>>>(d[r>>0]|0)<<(d[t>>0]|0)|h>>>(d[x>>0]|0)<<(d[z>>0]|0)|f>>>(d[A>>0]|0)<<(d[q>>0]|0);break h}default:break h}}while(0);g=g+1|0;o=o+H|0;f=88;continue}else if((f|0)==88){h=d[g>>0]|0;i:do if((E|0)!=(h|0)){l=d[D+(h<<2)>>0]|0;m=d[D+(h<<2)+1>>0]|0;n=d[D+(h<<2)+2>>0]|0;switch(G<<24>>24){case 1:{k=d[o>>0]|0;h=a[(c[16112+((d[r>>0]|0)<<2)>>2]|0)+((c[s>>2]&k)>>>(d[t>>0]|0))>>0]|0;f=a[(c[16112+((d[u>>0]|0)<<2)>>2]|0)+((c[v>>2]&k)>>>(d[w>>0]|0))>>0]|0;j=a[(c[16112+((d[x>>0]|0)<<2)>>2]|0)+((c[y>>2]&k)>>>(d[z>>0]|0))>>0]|0;k=a[(c[16112+((d[A>>0]|0)<<2)>>2]|0)+((c[B>>2]&k)>>>(d[q>>0]|0))>>0]|0;break}case 2:{k=e[o>>1]|0;h=a[(c[16112+((d[r>>0]|0)<<2)>>2]|0)+((c[s>>2]&k)>>>(d[t>>0]|0))>>0]|0;f=a[(c[16112+((d[u>>0]|0)<<2)>>2]|0)+((c[v>>2]&k)>>>(d[w>>0]|0))>>0]|0;j=a[(c[16112+((d[x>>0]|0)<<2)>>2]|0)+((c[y>>2]&k)>>>(d[z>>0]|0))>>0]|0;k=a[(c[16112+((d[A>>0]|0)<<2)>>2]|0)+((c[B>>2]&k)>>>(d[q>>0]|0))>>0]|0;break}case 3:{h=a[o+((d[t>>0]|0)>>>3&255)>>0]|0;f=a[o+((d[w>>0]|0)>>>3&255)>>0]|0;j=a[o+((d[z>>0]|0)>>>3&255)>>0]|0;k=-1;break}case 4:{k=c[o>>2]|0;h=a[(c[16112+((d[r>>0]|0)<<2)>>2]|0)+((c[s>>2]&k)>>>(d[t>>0]|0))>>0]|0;f=a[(c[16112+((d[u>>0]|0)<<2)>>2]|0)+((c[v>>2]&k)>>>(d[w>>0]|0))>>0]|0;j=a[(c[16112+((d[x>>0]|0)<<2)>>2]|0)+((c[y>>2]&k)>>>(d[z>>0]|0))>>0]|0;k=a[(c[16112+((d[A>>0]|0)<<2)>>2]|0)+((c[B>>2]&k)>>>(d[q>>0]|0))>>0]|0;break}default:{h=0;f=0;j=0;k=0}}L=h&255;M=f&255;h=j&255;f=k&255;k=(((N(l-L|0,F)|0)>>>0)/255|0)+L|0;j=(((N(m-M|0,F)|0)>>>0)/255|0)+M|0;h=(((N(n-h|0,F)|0)>>>0)/255|0)+h|0;f=f+F-(((N(f,F)|0)>>>0)/255|0)|0;switch(G<<24>>24){case 1:{a[o>>0]=j>>>(d[u>>0]|0)<<(d[w>>0]|0)|k>>>(d[r>>0]|0)<<(d[t>>0]|0)|h>>>(d[x>>0]|0)<<(d[z>>0]|0)|f>>>(d[A>>0]|0)<<(d[q>>0]|0);break i}case 2:{b[o>>1]=j>>>(d[u>>0]|0)<<(d[w>>0]|0)|k>>>(d[r>>0]|0)<<(d[t>>0]|0)|h>>>(d[x>>0]|0)<<(d[z>>0]|0)|f>>>(d[A>>0]|0)<<(d[q>>0]|0);break i}case 3:{a[o+((d[t>>0]|0)>>>3&255)>>0]=k;a[o+((d[w>>0]|0)>>>3&255)>>0]=j;a[o+((d[z>>0]|0)>>>3&255)>>0]=h;break i}case 4:{c[o>>2]=j>>>(d[u>>0]|0)<<(d[w>>0]|0)|k>>>(d[r>>0]|0)<<(d[t>>0]|0)|h>>>(d[x>>0]|0)<<(d[z>>0]|0)|f>>>(d[A>>0]|0)<<(d[q>>0]|0);break i}default:break i}}while(0);g=g+1|0;h=o+H|0;if((p|0)>1){p=p+-1|0;f=4;continue}else break}if(!i){f=102;break}else{g=g+J|0;h=h+K|0}}if((f|0)!=100)if((f|0)==102)return}function UEa(b){b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0;g=c[b+24>>2]|0;i=c[b+28>>2]|0;e=c[b>>2]|0;aa=c[b+16>>2]|0;f=c[b+20>>2]|0;$=c[b+36>>2]|0;Z=c[b+48>>2]|0;_=c[b+56>>2]|0;h=i+-1|0;b=(i|0)==0;if(!Z){if(b)return;i=(g+7|0)/8|0;b=g&255;if(!(b&7)){while(1){g=i;b=f;while(1){f=a[e>>0]|0;if((_|0)!=(f&255|0))a[b>>0]=f;f=a[e+1>>0]|0;if((_|0)!=(f&255|0))a[b+1>>0]=f;f=a[e+2>>0]|0;if((_|0)!=(f&255|0))a[b+2>>0]=f;f=a[e+3>>0]|0;if((_|0)!=(f&255|0))a[b+3>>0]=f;f=a[e+4>>0]|0;if((_|0)!=(f&255|0))a[b+4>>0]=f;f=a[e+5>>0]|0;if((_|0)!=(f&255|0))a[b+5>>0]=f;f=a[e+6>>0]|0;if((_|0)!=(f&255|0))a[b+6>>0]=f;f=a[e+7>>0]|0;if((_|0)!=(f&255|0))a[b+7>>0]=f;b=b+8|0;e=e+8|0;if((g|0)<=1)break;else g=g+-1|0}if(!h)break;else{f=b+$|0;e=e+aa|0;h=h+-1|0}}return}a:while(1){switch(b&7){case 1:{x=e;y=f;T=i;e=97;break}case 7:{j=i;k=e;l=f;e=79;break}case 6:{n=e;o=f;z=i;e=82;break}case 5:{p=e;q=f;D=i;e=85;break}case 4:{r=e;s=f;H=i;e=88;break}case 3:{t=e;u=f;L=i;e=91;break}case 2:{v=e;w=f;P=i;e=94;break}default:{e=100;break a}}while(1)if((e|0)==79){e=a[k>>0]|0;if((_|0)!=(e&255|0))a[l>>0]=e;n=k+1|0;o=l+1|0;z=j;e=82;continue}else if((e|0)==82){e=a[n>>0]|0;if((_|0)!=(e&255|0))a[o>>0]=e;p=n+1|0;q=o+1|0;D=z;e=85;continue}else if((e|0)==85){e=a[p>>0]|0;if((_|0)!=(e&255|0))a[q>>0]=e;r=p+1|0;s=q+1|0;H=D;e=88;continue}else if((e|0)==88){e=a[r>>0]|0;if((_|0)!=(e&255|0))a[s>>0]=e;t=r+1|0;u=s+1|0;L=H;e=91;continue}else if((e|0)==91){e=a[t>>0]|0;if((_|0)!=(e&255|0))a[u>>0]=e;v=t+1|0;w=u+1|0;P=L;e=94;continue}else if((e|0)==94){e=a[v>>0]|0;if((_|0)!=(e&255|0))a[w>>0]=e;x=v+1|0;y=w+1|0;T=P;e=97;continue}else if((e|0)==97){e=a[x>>0]|0;if((_|0)!=(e&255|0))a[y>>0]=e;f=y+1|0;e=x+1|0;if((T|0)<=1)break;e=a[e>>0]|0;if((_|0)!=(e&255|0))a[f>>0]=e;j=T+-1|0;k=x+2|0;l=y+2|0;e=79;continue}if(!h){e=102;break}else{f=f+$|0;e=e+aa|0;h=h+-1|0}}if((e|0)!=100)if((e|0)==102)return}else{if(b)return;i=(g+7|0)/8|0;b=g&255;if(!(b&7)){while(1){g=i;b=f;while(1){f=d[e>>0]|0;if((_|0)!=(f|0))a[b>>0]=a[Z+f>>0]|0;f=d[e+1>>0]|0;if((_|0)!=(f|0))a[b+1>>0]=a[Z+f>>0]|0;f=d[e+2>>0]|0;if((_|0)!=(f|0))a[b+2>>0]=a[Z+f>>0]|0;f=d[e+3>>0]|0;if((_|0)!=(f|0))a[b+3>>0]=a[Z+f>>0]|0;f=d[e+4>>0]|0;if((_|0)!=(f|0))a[b+4>>0]=a[Z+f>>0]|0;f=d[e+5>>0]|0;if((_|0)!=(f|0))a[b+5>>0]=a[Z+f>>0]|0;f=d[e+6>>0]|0;if((_|0)!=(f|0))a[b+6>>0]=a[Z+f>>0]|0;f=d[e+7>>0]|0;if((_|0)!=(f|0))a[b+7>>0]=a[Z+f>>0]|0;b=b+8|0;e=e+8|0;if((g|0)<=1)break;else g=g+-1|0}if(!h)break;else{e=e+aa|0;f=b+$|0;h=h+-1|0}}return}b:while(1){switch(b&7){case 1:{U=i;X=e;Y=f;e=47;break}case 7:{m=i;B=e;C=f;e=29;break}case 6:{A=i;F=e;G=f;e=32;break}case 5:{E=i;J=e;K=f;e=35;break}case 4:{I=i;N=e;O=f;e=38;break}case 3:{M=i;R=e;S=f;e=41;break}case 2:{Q=i;V=e;W=f;e=44;break}default:{e=50;break b}}while(1)if((e|0)==29){e=d[B>>0]|0;if((_|0)!=(e|0))a[C>>0]=a[Z+e>>0]|0;A=m;F=B+1|0;G=C+1|0;e=32;continue}else if((e|0)==32){e=d[F>>0]|0;if((_|0)!=(e|0))a[G>>0]=a[Z+e>>0]|0;E=A;J=F+1|0;K=G+1|0;e=35;continue}else if((e|0)==35){e=d[J>>0]|0;if((_|0)!=(e|0))a[K>>0]=a[Z+e>>0]|0;I=E;N=J+1|0;O=K+1|0;e=38;continue}else if((e|0)==38){e=d[N>>0]|0;if((_|0)!=(e|0))a[O>>0]=a[Z+e>>0]|0;M=I;R=N+1|0;S=O+1|0;e=41;continue}else if((e|0)==41){e=d[R>>0]|0;if((_|0)!=(e|0))a[S>>0]=a[Z+e>>0]|0;Q=M;V=R+1|0;W=S+1|0;e=44;continue}else if((e|0)==44){e=d[V>>0]|0;if((_|0)!=(e|0))a[W>>0]=a[Z+e>>0]|0;U=Q;X=V+1|0;Y=W+1|0;e=47;continue}else if((e|0)==47){e=d[X>>0]|0;if((_|0)!=(e|0))a[Y>>0]=a[Z+e>>0]|0;f=Y+1|0;e=X+1|0;if((U|0)<=1)break;e=d[e>>0]|0;if((_|0)!=(e|0))a[f>>0]=a[Z+e>>0]|0;m=U+-1|0;B=X+2|0;C=Y+2|0;e=29;continue}if(!h){e=102;break}else{e=e+aa|0;f=f+$|0;h=h+-1|0}}if((e|0)!=50)if((e|0)==102)return}}function VEa(a){a=a|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;e=c[a+24>>2]|0;l=c[a+28>>2]|0;f=c[a>>2]|0;o=c[a+16>>2]|0;g=c[a+20>>2]|0;m=c[a+48>>2]|0;n=c[a+56>>2]|0;k=(c[a+36>>2]|0)/2|0;h=l+-1|0;if(!l)return;l=(e+7|0)/8|0;j=e&255;if(!(j&7)){a=g;while(1){g=l;e=a;while(1){a=d[f>>0]|0;if((n|0)!=(a|0))b[e>>1]=b[m+(a<<1)>>1]|0;a=d[f+1>>0]|0;if((n|0)!=(a|0))b[e+2>>1]=b[m+(a<<1)>>1]|0;a=d[f+2>>0]|0;if((n|0)!=(a|0))b[e+4>>1]=b[m+(a<<1)>>1]|0;a=d[f+3>>0]|0;if((n|0)!=(a|0))b[e+6>>1]=b[m+(a<<1)>>1]|0;a=d[f+4>>0]|0;if((n|0)!=(a|0))b[e+8>>1]=b[m+(a<<1)>>1]|0;a=d[f+5>>0]|0;if((n|0)!=(a|0))b[e+10>>1]=b[m+(a<<1)>>1]|0;a=d[f+6>>0]|0;if((n|0)!=(a|0))b[e+12>>1]=b[m+(a<<1)>>1]|0;a=d[f+7>>0]|0;if((n|0)!=(a|0))b[e+14>>1]=b[m+(a<<1)>>1]|0;f=f+8|0;e=e+16|0;if((g|0)<=1)break;else g=g+-1|0}if(!h)break;else{f=f+o|0;a=e+(k<<1)|0;h=h+-1|0}}return}a:while(1){switch(j&7){case 1:{i=l;a=46;break}case 7:{e=l;a=28;break}case 6:{e=l;a=31;break}case 5:{e=l;a=34;break}case 4:{e=l;a=37;break}case 3:{e=l;a=40;break}case 2:{e=l;a=43;break}default:{a=49;break a}}while(1)if((a|0)==28){a=d[f>>0]|0;if((n|0)!=(a|0))b[g>>1]=b[m+(a<<1)>>1]|0;g=g+2|0;f=f+1|0;a=31;continue}else if((a|0)==31){a=d[f>>0]|0;if((n|0)!=(a|0))b[g>>1]=b[m+(a<<1)>>1]|0;g=g+2|0;f=f+1|0;a=34;continue}else if((a|0)==34){a=d[f>>0]|0;if((n|0)!=(a|0))b[g>>1]=b[m+(a<<1)>>1]|0;g=g+2|0;f=f+1|0;a=37;continue}else if((a|0)==37){a=d[f>>0]|0;if((n|0)!=(a|0))b[g>>1]=b[m+(a<<1)>>1]|0;g=g+2|0;f=f+1|0;a=40;continue}else if((a|0)==40){a=d[f>>0]|0;if((n|0)!=(a|0))b[g>>1]=b[m+(a<<1)>>1]|0;g=g+2|0;f=f+1|0;a=43;continue}else if((a|0)==43){a=d[f>>0]|0;if((n|0)!=(a|0))b[g>>1]=b[m+(a<<1)>>1]|0;i=e;f=f+1|0;g=g+2|0;a=46;continue}else if((a|0)==46){a=d[f>>0]|0;if((n|0)!=(a|0))b[g>>1]=b[m+(a<<1)>>1]|0;a=f+1|0;e=g+2|0;if((i|0)<=1)break;a=d[a>>0]|0;if((n|0)!=(a|0))b[e>>1]=b[m+(a<<1)>>1]|0;e=i+-1|0;g=g+4|0;f=f+2|0;a=28;continue}if(!h){a=51;break}else{f=a+o|0;g=e+(k<<1)|0;h=h+-1|0}}if((a|0)!=49)if((a|0)==51)return}function WEa(b){b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;e=c[b+24>>2]|0;f=c[b+28>>2]|0;m=c[b+16>>2]|0;n=c[b+36>>2]|0;j=c[b+48>>2]|0;k=c[b+56>>2]|0;if(!f)return;l=(e+7|0)/8|0;i=e&255;g=c[b>>2]|0;b=c[b+20>>2]|0;a:while(1){f=f+-1|0;switch(i&7){case 0:{h=l;e=4;break}case 7:{h=l;e=7;break}case 6:{h=l;e=10;break}case 5:{h=l;e=13;break}case 4:{h=l;e=16;break}case 3:{h=l;e=19;break}case 2:{h=l;e=22;break}case 1:{h=l;e=25;break}default:{e=28;break a}}while(1)if((e|0)==4){e=d[g>>0]|0;if((k|0)!=(e|0)){o=e<<2;e=o|1;a[b>>0]=a[j+o>>0]|0;a[b+1>>0]=a[j+e>>0]|0;a[b+2>>0]=a[j+(e+1)>>0]|0}g=g+1|0;b=b+3|0;e=7;continue}else if((e|0)==7){e=d[g>>0]|0;if((k|0)!=(e|0)){e=e<<2;o=e|1;a[b>>0]=a[j+e>>0]|0;a[b+1>>0]=a[j+o>>0]|0;a[b+2>>0]=a[j+(o+1)>>0]|0}g=g+1|0;b=b+3|0;e=10;continue}else if((e|0)==10){e=d[g>>0]|0;if((k|0)!=(e|0)){e=e<<2;o=e|1;a[b>>0]=a[j+e>>0]|0;a[b+1>>0]=a[j+o>>0]|0;a[b+2>>0]=a[j+(o+1)>>0]|0}g=g+1|0;b=b+3|0;e=13;continue}else if((e|0)==13){e=d[g>>0]|0;if((k|0)!=(e|0)){e=e<<2;o=e|1;a[b>>0]=a[j+e>>0]|0;a[b+1>>0]=a[j+o>>0]|0;a[b+2>>0]=a[j+(o+1)>>0]|0}g=g+1|0;b=b+3|0;e=16;continue}else if((e|0)==16){e=d[g>>0]|0;if((k|0)!=(e|0)){e=e<<2;o=e|1;a[b>>0]=a[j+e>>0]|0;a[b+1>>0]=a[j+o>>0]|0;a[b+2>>0]=a[j+(o+1)>>0]|0}g=g+1|0;b=b+3|0;e=19;continue}else if((e|0)==19){e=d[g>>0]|0;if((k|0)!=(e|0)){e=e<<2;o=e|1;a[b>>0]=a[j+e>>0]|0;a[b+1>>0]=a[j+o>>0]|0;a[b+2>>0]=a[j+(o+1)>>0]|0}g=g+1|0;b=b+3|0;e=22;continue}else if((e|0)==22){e=d[g>>0]|0;if((k|0)!=(e|0)){e=e<<2;o=e|1;a[b>>0]=a[j+e>>0]|0;a[b+1>>0]=a[j+o>>0]|0;a[b+2>>0]=a[j+(o+1)>>0]|0}g=g+1|0;b=b+3|0;e=25;continue}else if((e|0)==25){e=d[g>>0]|0;if((k|0)!=(e|0)){e=e<<2;o=e|1;a[b>>0]=a[j+e>>0]|0;a[b+1>>0]=a[j+o>>0]|0;a[b+2>>0]=a[j+(o+1)>>0]|0}e=g+1|0;b=b+3|0;if((h|0)>1){h=h+-1|0;g=e;e=4;continue}else break}if(!f){e=30;break}else{g=e+m|0;b=b+n|0}}if((e|0)!=28)if((e|0)==30)return}function XEa(a){a=a|0;var b=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;b=c[a+24>>2]|0;k=c[a+28>>2]|0;e=c[a>>2]|0;n=c[a+16>>2]|0;f=c[a+20>>2]|0;l=c[a+48>>2]|0;m=c[a+56>>2]|0;j=(c[a+36>>2]|0)/4|0;g=k+-1|0;if(!k)return;k=(b+7|0)/8|0;i=b&255;if(!(i&7)){a=f;while(1){f=k;b=a;while(1){a=d[e>>0]|0;if((m|0)!=(a|0))c[b>>2]=c[l+(a<<2)>>2];a=d[e+1>>0]|0;if((m|0)!=(a|0))c[b+4>>2]=c[l+(a<<2)>>2];a=d[e+2>>0]|0;if((m|0)!=(a|0))c[b+8>>2]=c[l+(a<<2)>>2];a=d[e+3>>0]|0;if((m|0)!=(a|0))c[b+12>>2]=c[l+(a<<2)>>2];a=d[e+4>>0]|0;if((m|0)!=(a|0))c[b+16>>2]=c[l+(a<<2)>>2];a=d[e+5>>0]|0;if((m|0)!=(a|0))c[b+20>>2]=c[l+(a<<2)>>2];a=d[e+6>>0]|0;if((m|0)!=(a|0))c[b+24>>2]=c[l+(a<<2)>>2];a=d[e+7>>0]|0;if((m|0)!=(a|0))c[b+28>>2]=c[l+(a<<2)>>2];e=e+8|0;b=b+32|0;if((f|0)<=1)break;else f=f+-1|0}if(!g)break;else{e=e+n|0;a=b+(j<<2)|0;g=g+-1|0}}return}a:while(1){switch(i&7){case 1:{h=k;a=46;break}case 7:{b=k;a=28;break}case 6:{b=k;a=31;break}case 5:{b=k;a=34;break}case 4:{b=k;a=37;break}case 3:{b=k;a=40;break}case 2:{b=k;a=43;break}default:{a=49;break a}}while(1)if((a|0)==28){a=d[e>>0]|0;if((m|0)!=(a|0))c[f>>2]=c[l+(a<<2)>>2];f=f+4|0;e=e+1|0;a=31;continue}else if((a|0)==31){a=d[e>>0]|0;if((m|0)!=(a|0))c[f>>2]=c[l+(a<<2)>>2];f=f+4|0;e=e+1|0;a=34;continue}else if((a|0)==34){a=d[e>>0]|0;if((m|0)!=(a|0))c[f>>2]=c[l+(a<<2)>>2];f=f+4|0;e=e+1|0;a=37;continue}else if((a|0)==37){a=d[e>>0]|0;if((m|0)!=(a|0))c[f>>2]=c[l+(a<<2)>>2];f=f+4|0;e=e+1|0;a=40;continue}else if((a|0)==40){a=d[e>>0]|0;if((m|0)!=(a|0))c[f>>2]=c[l+(a<<2)>>2];f=f+4|0;e=e+1|0;a=43;continue}else if((a|0)==43){a=d[e>>0]|0;if((m|0)!=(a|0))c[f>>2]=c[l+(a<<2)>>2];h=b;e=e+1|0;f=f+4|0;a=46;continue}else if((a|0)==46){a=d[e>>0]|0;if((m|0)!=(a|0))c[f>>2]=c[l+(a<<2)>>2];a=e+1|0;b=f+4|0;if((h|0)<=1)break;a=d[a>>0]|0;if((m|0)!=(a|0))c[b>>2]=c[l+(a<<2)>>2];b=h+-1|0;f=f+8|0;e=e+2|0;a=28;continue}if(!g){a=51;break}else{e=a+n|0;f=b+(j<<2)|0;g=g+-1|0}}if((a|0)!=49)if((a|0)==51)return}function YEa(b){b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;f=c[b+24>>2]|0;l=c[b+28>>2]|0;g=c[b>>2]|0;n=c[b+16>>2]|0;e=c[b+20>>2]|0;m=c[b+36>>2]|0;k=c[b+48>>2]|0;i=l+-1|0;if(!l)return;l=(f+7|0)/8|0;j=f&255;switch(j&7){case 0:{b=g;g=i;while(1){f=l;while(1){a[e>>0]=a[k+(d[b>>0]|0)>>0]|0;a[e+1>>0]=a[k+(d[b+1>>0]|0)>>0]|0;a[e+2>>0]=a[k+(d[b+2>>0]|0)>>0]|0;a[e+3>>0]=a[k+(d[b+3>>0]|0)>>0]|0;a[e+4>>0]=a[k+(d[b+4>>0]|0)>>0]|0;a[e+5>>0]=a[k+(d[b+5>>0]|0)>>0]|0;a[e+6>>0]=a[k+(d[b+6>>0]|0)>>0]|0;a[e+7>>0]=a[k+(d[b+7>>0]|0)>>0]|0;e=e+8|0;b=b+8|0;if((f|0)<=1)break;else f=f+-1|0}if(!g)break;else{b=b+n|0;e=e+m|0;g=g+-1|0}}return}case 7:{while(1){h=l;while(1){a[e>>0]=a[k+(d[g>>0]|0)>>0]|0;a[e+1>>0]=a[k+(d[g+1>>0]|0)>>0]|0;a[e+2>>0]=a[k+(d[g+2>>0]|0)>>0]|0;a[e+3>>0]=a[k+(d[g+3>>0]|0)>>0]|0;a[e+4>>0]=a[k+(d[g+4>>0]|0)>>0]|0;a[e+5>>0]=a[k+(d[g+5>>0]|0)>>0]|0;a[e+6>>0]=a[k+(d[g+6>>0]|0)>>0]|0;f=e+7|0;b=g+7|0;if((h|0)<=1)break;a[f>>0]=a[k+(d[b>>0]|0)>>0]|0;h=h+-1|0;g=g+8|0;e=e+8|0}if(!i)break;else{g=b+n|0;e=f+m|0;i=i+-1|0}}return}default:{a:while(1){switch(j&7){case 1:{h=l;f=20;break}case 2:{b=l;f=19;break}case 6:{b=l;f=15;break}case 5:{b=l;f=16;break}case 4:{b=l;f=17;break}case 3:{b=l;f=18;break}default:{f=21;break a}}while(1)if((f|0)==15){a[e>>0]=a[k+(d[g>>0]|0)>>0]|0;g=g+1|0;e=e+1|0;f=16;continue}else if((f|0)==16){a[e>>0]=a[k+(d[g>>0]|0)>>0]|0;g=g+1|0;e=e+1|0;f=17;continue}else if((f|0)==17){a[e>>0]=a[k+(d[g>>0]|0)>>0]|0;g=g+1|0;e=e+1|0;f=18;continue}else if((f|0)==18){a[e>>0]=a[k+(d[g>>0]|0)>>0]|0;g=g+1|0;e=e+1|0;f=19;continue}else if((f|0)==19){a[e>>0]=a[k+(d[g>>0]|0)>>0]|0;h=b;g=g+1|0;e=e+1|0;f=20;continue}else if((f|0)==20){a[e>>0]=a[k+(d[g>>0]|0)>>0]|0;f=e+1|0;b=g+1|0;if((h|0)<=1)break;a[f>>0]=a[k+(d[b>>0]|0)>>0]|0;a[e+2>>0]=a[k+(d[g+2>>0]|0)>>0]|0;b=h+-1|0;g=g+3|0;e=e+3|0;f=15;continue}if(!i){f=23;break}else{g=b+n|0;e=f+m|0;i=i+-1|0}}if((f|0)!=21)if((f|0)==23)return}}}function ZEa(a){a=a|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;f=c[a+24>>2]|0;l=c[a+28>>2]|0;g=c[a>>2]|0;n=c[a+16>>2]|0;e=c[a+20>>2]|0;m=c[a+36>>2]|0;k=c[a+48>>2]|0;i=l+-1|0;if(!l)return;l=(f+7|0)/8|0;j=f&255;switch(j&7){case 0:{a=g;g=i;while(1){f=l;while(1){b[e>>1]=b[k+((d[a>>0]|0)<<1)>>1]|0;b[e+2>>1]=b[k+((d[a+1>>0]|0)<<1)>>1]|0;b[e+4>>1]=b[k+((d[a+2>>0]|0)<<1)>>1]|0;b[e+6>>1]=b[k+((d[a+3>>0]|0)<<1)>>1]|0;b[e+8>>1]=b[k+((d[a+4>>0]|0)<<1)>>1]|0;b[e+10>>1]=b[k+((d[a+5>>0]|0)<<1)>>1]|0;b[e+12>>1]=b[k+((d[a+6>>0]|0)<<1)>>1]|0;j=a;a=a+8|0;b[e+14>>1]=b[k+((d[j+7>>0]|0)<<1)>>1]|0;e=e+16|0;if((f|0)<=1)break;else f=f+-1|0}if(!g)break;else{a=a+n|0;e=e+m|0;g=g+-1|0}}return}case 7:{while(1){h=l;while(1){b[e>>1]=b[k+((d[g>>0]|0)<<1)>>1]|0;b[e+2>>1]=b[k+((d[g+1>>0]|0)<<1)>>1]|0;b[e+4>>1]=b[k+((d[g+2>>0]|0)<<1)>>1]|0;b[e+6>>1]=b[k+((d[g+3>>0]|0)<<1)>>1]|0;b[e+8>>1]=b[k+((d[g+4>>0]|0)<<1)>>1]|0;b[e+10>>1]=b[k+((d[g+5>>0]|0)<<1)>>1]|0;a=g+7|0;b[e+12>>1]=b[k+((d[g+6>>0]|0)<<1)>>1]|0;f=e+14|0;if((h|0)<=1)break;b[f>>1]=b[k+((d[a>>0]|0)<<1)>>1]|0;h=h+-1|0;g=g+8|0;e=e+16|0}if(!i)break;else{g=a+n|0;e=f+m|0;i=i+-1|0}}return}default:{a:while(1){switch(j&7){case 1:{h=l;f=20;break}case 2:{a=l;f=19;break}case 6:{a=l;f=15;break}case 5:{a=l;f=16;break}case 4:{a=l;f=17;break}case 3:{a=l;f=18;break}default:{f=21;break a}}while(1)if((f|0)==15){b[e>>1]=b[k+((d[g>>0]|0)<<1)>>1]|0;g=g+1|0;e=e+2|0;f=16;continue}else if((f|0)==16){b[e>>1]=b[k+((d[g>>0]|0)<<1)>>1]|0;g=g+1|0;e=e+2|0;f=17;continue}else if((f|0)==17){b[e>>1]=b[k+((d[g>>0]|0)<<1)>>1]|0;g=g+1|0;e=e+2|0;f=18;continue}else if((f|0)==18){b[e>>1]=b[k+((d[g>>0]|0)<<1)>>1]|0;g=g+1|0;e=e+2|0;f=19;continue}else if((f|0)==19){b[e>>1]=b[k+((d[g>>0]|0)<<1)>>1]|0;h=a;g=g+1|0;e=e+2|0;f=20;continue}else if((f|0)==20){a=g+1|0;b[e>>1]=b[k+((d[g>>0]|0)<<1)>>1]|0;f=e+2|0;if((h|0)<=1)break;b[f>>1]=b[k+((d[a>>0]|0)<<1)>>1]|0;b[e+4>>1]=b[k+((d[g+2>>0]|0)<<1)>>1]|0;a=h+-1|0;g=g+3|0;e=e+6|0;f=15;continue}if(!i){f=23;break}else{g=a+n|0;e=f+m|0;i=i+-1|0}}if((f|0)!=21)if((f|0)==23)return}}}function _Ea(b){b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;f=c[b+24>>2]|0;l=c[b+28>>2]|0;e=c[b>>2]|0;n=c[b+16>>2]|0;h=c[b+20>>2]|0;m=c[b+36>>2]|0;k=c[b+48>>2]|0;g=l+-1|0;if(!l)return;l=(f+7|0)/8|0;j=f&255;if(!(j&7)){b=h;while(1){f=l;while(1){j=(d[e>>0]|0)<<2;i=j|1;a[b>>0]=a[k+j>>0]|0;a[b+1>>0]=a[k+i>>0]|0;a[b+2>>0]=a[k+(i+1)>>0]|0;i=(d[e+1>>0]|0)<<2;j=i|1;a[b+3>>0]=a[k+i>>0]|0;a[b+4>>0]=a[k+j>>0]|0;a[b+5>>0]=a[k+(j+1)>>0]|0;j=(d[e+2>>0]|0)<<2;i=j|1;a[b+6>>0]=a[k+j>>0]|0;a[b+7>>0]=a[k+i>>0]|0;a[b+8>>0]=a[k+(i+1)>>0]|0;i=(d[e+3>>0]|0)<<2;j=i|1;a[b+9>>0]=a[k+i>>0]|0;a[b+10>>0]=a[k+j>>0]|0;a[b+11>>0]=a[k+(j+1)>>0]|0;j=(d[e+4>>0]|0)<<2;i=j|1;a[b+12>>0]=a[k+j>>0]|0;a[b+13>>0]=a[k+i>>0]|0;a[b+14>>0]=a[k+(i+1)>>0]|0;i=(d[e+5>>0]|0)<<2;j=i|1;a[b+15>>0]=a[k+i>>0]|0;a[b+16>>0]=a[k+j>>0]|0;a[b+17>>0]=a[k+(j+1)>>0]|0;j=(d[e+6>>0]|0)<<2;i=j|1;a[b+18>>0]=a[k+j>>0]|0;a[b+19>>0]=a[k+i>>0]|0;a[b+20>>0]=a[k+(i+1)>>0]|0;i=(d[e+7>>0]|0)<<2;j=i|1;a[b+21>>0]=a[k+i>>0]|0;a[b+22>>0]=a[k+j>>0]|0;a[b+23>>0]=a[k+(j+1)>>0]|0;e=e+8|0;b=b+24|0;if((f|0)<=1)break;else f=f+-1|0}if(!g)break;else{b=b+m|0;e=e+n|0;g=g+-1|0}}return}a:while(1){switch(j&7){case 1:{i=l;f=16;break}case 7:{b=l;f=10;break}case 6:{b=l;f=11;break}case 5:{b=l;f=12;break}case 4:{b=l;f=13;break}case 3:{b=l;f=14;break}case 2:{b=l;f=15;break}default:{f=17;break a}}while(1)if((f|0)==10){o=(d[e>>0]|0)<<2;i=o|1;a[h>>0]=a[k+o>>0]|0;a[h+1>>0]=a[k+i>>0]|0;a[h+2>>0]=a[k+(i+1)>>0]|0;h=h+3|0;e=e+1|0;f=11;continue}else if((f|0)==11){i=(d[e>>0]|0)<<2;o=i|1;a[h>>0]=a[k+i>>0]|0;a[h+1>>0]=a[k+o>>0]|0;a[h+2>>0]=a[k+(o+1)>>0]|0;h=h+3|0;e=e+1|0;f=12;continue}else if((f|0)==12){i=(d[e>>0]|0)<<2;o=i|1;a[h>>0]=a[k+i>>0]|0;a[h+1>>0]=a[k+o>>0]|0;a[h+2>>0]=a[k+(o+1)>>0]|0;h=h+3|0;e=e+1|0;f=13;continue}else if((f|0)==13){i=(d[e>>0]|0)<<2;o=i|1;a[h>>0]=a[k+i>>0]|0;a[h+1>>0]=a[k+o>>0]|0;a[h+2>>0]=a[k+(o+1)>>0]|0;h=h+3|0;e=e+1|0;f=14;continue}else if((f|0)==14){i=(d[e>>0]|0)<<2;o=i|1;a[h>>0]=a[k+i>>0]|0;a[h+1>>0]=a[k+o>>0]|0;a[h+2>>0]=a[k+(o+1)>>0]|0;h=h+3|0;e=e+1|0;f=15;continue}else if((f|0)==15){o=(d[e>>0]|0)<<2;i=o|1;a[h>>0]=a[k+o>>0]|0;a[h+1>>0]=a[k+i>>0]|0;a[h+2>>0]=a[k+(i+1)>>0]|0;i=b;h=h+3|0;e=e+1|0;f=16;continue}else if((f|0)==16){b=(d[e>>0]|0)<<2;f=b|1;a[h>>0]=a[k+b>>0]|0;a[h+1>>0]=a[k+f>>0]|0;a[h+2>>0]=a[k+(f+1)>>0]|0;f=e+1|0;b=h+3|0;if((i|0)<=1)break;o=(d[f>>0]|0)<<2;f=o|1;a[b>>0]=a[k+o>>0]|0;a[h+4>>0]=a[k+f>>0]|0;a[h+5>>0]=a[k+(f+1)>>0]|0;b=i+-1|0;h=h+6|0;e=e+2|0;f=10;continue}if(!g){f=19;break}else{h=b+m|0;e=f+n|0;g=g+-1|0}}if((f|0)!=17)if((f|0)==19)return}function $Ea(a){a=a|0;var b=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;e=c[a+24>>2]|0;k=c[a+28>>2]|0;f=c[a>>2]|0;m=c[a+16>>2]|0;b=c[a+20>>2]|0;l=(c[a+36>>2]|0)/4|0;j=c[a+48>>2]|0;h=k+-1|0;if(!k)return;k=(e+7|0)/8|0;i=e&255;switch(i&7){case 0:{a=f;f=h;while(1){e=k;while(1){c[b>>2]=c[j+((d[a>>0]|0)<<2)>>2];c[b+4>>2]=c[j+((d[a+1>>0]|0)<<2)>>2];c[b+8>>2]=c[j+((d[a+2>>0]|0)<<2)>>2];c[b+12>>2]=c[j+((d[a+3>>0]|0)<<2)>>2];c[b+16>>2]=c[j+((d[a+4>>0]|0)<<2)>>2];c[b+20>>2]=c[j+((d[a+5>>0]|0)<<2)>>2];c[b+24>>2]=c[j+((d[a+6>>0]|0)<<2)>>2];h=a;a=a+8|0;i=b;b=b+32|0;c[i+28>>2]=c[j+((d[h+7>>0]|0)<<2)>>2];if((e|0)<=1)break;else e=e+-1|0}if(!f)break;else{a=a+m|0;b=b+(l<<2)|0;f=f+-1|0}}return}case 7:{while(1){g=k;while(1){c[b>>2]=c[j+((d[f>>0]|0)<<2)>>2];c[b+4>>2]=c[j+((d[f+1>>0]|0)<<2)>>2];c[b+8>>2]=c[j+((d[f+2>>0]|0)<<2)>>2];c[b+12>>2]=c[j+((d[f+3>>0]|0)<<2)>>2];c[b+16>>2]=c[j+((d[f+4>>0]|0)<<2)>>2];c[b+20>>2]=c[j+((d[f+5>>0]|0)<<2)>>2];a=f+7|0;e=b+28|0;c[b+24>>2]=c[j+((d[f+6>>0]|0)<<2)>>2];if((g|0)<=1)break;c[e>>2]=c[j+((d[a>>0]|0)<<2)>>2];g=g+-1|0;f=f+8|0;b=b+32|0}if(!h)break;else{f=a+m|0;b=e+(l<<2)|0;h=h+-1|0}}return}default:{a:while(1){switch(i&7){case 1:{g=k;e=20;break}case 2:{a=k;e=19;break}case 6:{a=k;e=15;break}case 5:{a=k;e=16;break}case 4:{a=k;e=17;break}case 3:{a=k;e=18;break}default:{e=21;break a}}while(1)if((e|0)==15){c[b>>2]=c[j+((d[f>>0]|0)<<2)>>2];f=f+1|0;b=b+4|0;e=16;continue}else if((e|0)==16){c[b>>2]=c[j+((d[f>>0]|0)<<2)>>2];f=f+1|0;b=b+4|0;e=17;continue}else if((e|0)==17){c[b>>2]=c[j+((d[f>>0]|0)<<2)>>2];f=f+1|0;b=b+4|0;e=18;continue}else if((e|0)==18){c[b>>2]=c[j+((d[f>>0]|0)<<2)>>2];f=f+1|0;b=b+4|0;e=19;continue}else if((e|0)==19){c[b>>2]=c[j+((d[f>>0]|0)<<2)>>2];g=a;f=f+1|0;b=b+4|0;e=20;continue}else if((e|0)==20){a=f+1|0;e=b+4|0;c[b>>2]=c[j+((d[f>>0]|0)<<2)>>2];if((g|0)<=1)break;c[e>>2]=c[j+((d[a>>0]|0)<<2)>>2];c[b+8>>2]=c[j+((d[f+2>>0]|0)<<2)>>2];a=g+-1|0;f=f+3|0;b=b+12|0;e=15;continue}if(!h){e=23;break}else{f=a+m|0;b=e+(l<<2)|0;h=h+-1|0}}if((e|0)!=21)if((e|0)==23)return}}}function aFa(f){f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,O=0;w=c[f+24>>2]|0;h=c[f+28>>2]|0;M=c[f+36>>2]|0;u=c[(c[(c[f+40>>2]|0)+4>>2]|0)+4>>2]|0;g=c[f+44>>2]|0;v=d[f+63>>0]|0;x=a[g+9>>0]|0;y=x&255;z=((w+7|0)/-8|0)+w+(c[f+16>>2]|0)|0;if(!h)return;A=(w|0)>0;B=g+28|0;C=g+12|0;D=g+32|0;E=g+29|0;F=g+16|0;G=g+33|0;H=g+30|0;I=g+20|0;J=g+34|0;K=g+31|0;L=g+24|0;s=g+35|0;t=N(w,y)|0;g=c[f>>2]|0;f=c[f+20>>2]|0;while(1){h=h+-1|0;if(A){i=0;q=0;r=f;while(1){if(!(q&7)){i=a[g>>0]|0;g=g+1|0}p=i&255;o=(i&255)>>>7&255;m=d[u+(o<<2)>>0]|0;n=d[u+(o<<2)+1>>0]|0;o=d[u+(o<<2)+2>>0]|0;switch(x<<24>>24){case 1:{l=d[r>>0]|0;i=a[(c[16112+((d[K>>0]|0)<<2)>>2]|0)+((c[L>>2]&l)>>>(d[s>>0]|0))>>0]|0;j=a[(c[16112+((d[H>>0]|0)<<2)>>2]|0)+((c[I>>2]&l)>>>(d[J>>0]|0))>>0]|0;k=a[(c[16112+((d[E>>0]|0)<<2)>>2]|0)+((c[F>>2]&l)>>>(d[G>>0]|0))>>0]|0;l=a[(c[16112+((d[B>>0]|0)<<2)>>2]|0)+((c[C>>2]&l)>>>(d[D>>0]|0))>>0]|0;break}case 2:{l=e[r>>1]|0;i=a[(c[16112+((d[K>>0]|0)<<2)>>2]|0)+((c[L>>2]&l)>>>(d[s>>0]|0))>>0]|0;j=a[(c[16112+((d[H>>0]|0)<<2)>>2]|0)+((c[I>>2]&l)>>>(d[J>>0]|0))>>0]|0;k=a[(c[16112+((d[E>>0]|0)<<2)>>2]|0)+((c[F>>2]&l)>>>(d[G>>0]|0))>>0]|0;l=a[(c[16112+((d[B>>0]|0)<<2)>>2]|0)+((c[C>>2]&l)>>>(d[D>>0]|0))>>0]|0;break}case 3:{i=-1;j=a[r+((d[J>>0]|0)>>>3&255)>>0]|0;k=a[r+((d[G>>0]|0)>>>3&255)>>0]|0;l=a[r+((d[D>>0]|0)>>>3&255)>>0]|0;break}case 4:{l=c[r>>2]|0;i=a[(c[16112+((d[K>>0]|0)<<2)>>2]|0)+((c[L>>2]&l)>>>(d[s>>0]|0))>>0]|0;j=a[(c[16112+((d[H>>0]|0)<<2)>>2]|0)+((c[I>>2]&l)>>>(d[J>>0]|0))>>0]|0;k=a[(c[16112+((d[E>>0]|0)<<2)>>2]|0)+((c[F>>2]&l)>>>(d[G>>0]|0))>>0]|0;l=a[(c[16112+((d[B>>0]|0)<<2)>>2]|0)+((c[C>>2]&l)>>>(d[D>>0]|0))>>0]|0;break}default:{i=0;j=0;k=0;l=0}}O=i&255;i=j&255;k=k&255;l=l&255;l=(((N(m-l|0,v)|0)>>>0)/255|0)+l|0;k=(((N(n-k|0,v)|0)>>>0)/255|0)+k|0;i=(((N(o-i|0,v)|0)>>>0)/255|0)+i|0;j=O+v-(((N(O,v)|0)>>>0)/255|0)|0;switch(x<<24>>24){case 1:{a[r>>0]=k>>>(d[E>>0]|0)<<(d[G>>0]|0)|l>>>(d[B>>0]|0)<<(d[D>>0]|0)|i>>>(d[H>>0]|0)<<(d[J>>0]|0)|j>>>(d[K>>0]|0)<<(d[s>>0]|0);break}case 2:{b[r>>1]=k>>>(d[E>>0]|0)<<(d[G>>0]|0)|l>>>(d[B>>0]|0)<<(d[D>>0]|0)|i>>>(d[H>>0]|0)<<(d[J>>0]|0)|j>>>(d[K>>0]|0)<<(d[s>>0]|0);break}case 3:{a[r+((d[D>>0]|0)>>>3&255)>>0]=l;a[r+((d[G>>0]|0)>>>3&255)>>0]=k;a[r+((d[J>>0]|0)>>>3&255)>>0]=i;break}case 4:{c[r>>2]=k>>>(d[E>>0]|0)<<(d[G>>0]|0)|l>>>(d[B>>0]|0)<<(d[D>>0]|0)|i>>>(d[H>>0]|0)<<(d[J>>0]|0)|j>>>(d[K>>0]|0)<<(d[s>>0]|0);break}default:{}}q=q+1|0;if((q|0)==(w|0))break;else{i=p<<1&255;r=r+y|0}}f=f+t|0}if(!h)break;else{g=g+z|0;f=f+M|0}}return}function bFa(f){f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,O=0,P=0;w=c[f+24>>2]|0;h=c[f+28>>2]|0;O=c[f+36>>2]|0;g=c[f+44>>2]|0;u=c[(c[(c[f+40>>2]|0)+4>>2]|0)+4>>2]|0;v=d[f+63>>0]|0;x=c[f+56>>2]|0;y=a[g+9>>0]|0;z=y&255;A=((w+7|0)/-8|0)+w+(c[f+16>>2]|0)|0;if(!h)return;B=(w|0)>0;C=g+28|0;D=g+12|0;E=g+32|0;F=g+29|0;G=g+16|0;H=g+33|0;I=g+30|0;J=g+20|0;K=g+34|0;L=g+31|0;M=g+24|0;s=g+35|0;t=N(w,z)|0;g=c[f>>2]|0;f=c[f+20>>2]|0;while(1){h=h+-1|0;if(B){i=0;q=0;r=f;while(1){if(!(q&7)){i=a[g>>0]|0;g=g+1|0}p=i&255;i=(i&255)>>>7&255;a:do if((x|0)!=(i|0)){m=d[u+(i<<2)>>0]|0;n=d[u+(i<<2)+1>>0]|0;o=d[u+(i<<2)+2>>0]|0;switch(y<<24>>24){case 1:{l=d[r>>0]|0;i=a[(c[16112+((d[L>>0]|0)<<2)>>2]|0)+((c[M>>2]&l)>>>(d[s>>0]|0))>>0]|0;j=a[(c[16112+((d[I>>0]|0)<<2)>>2]|0)+((c[J>>2]&l)>>>(d[K>>0]|0))>>0]|0;k=a[(c[16112+((d[F>>0]|0)<<2)>>2]|0)+((c[G>>2]&l)>>>(d[H>>0]|0))>>0]|0;l=a[(c[16112+((d[C>>0]|0)<<2)>>2]|0)+((c[D>>2]&l)>>>(d[E>>0]|0))>>0]|0;break}case 2:{l=e[r>>1]|0;i=a[(c[16112+((d[L>>0]|0)<<2)>>2]|0)+((c[M>>2]&l)>>>(d[s>>0]|0))>>0]|0;j=a[(c[16112+((d[I>>0]|0)<<2)>>2]|0)+((c[J>>2]&l)>>>(d[K>>0]|0))>>0]|0;k=a[(c[16112+((d[F>>0]|0)<<2)>>2]|0)+((c[G>>2]&l)>>>(d[H>>0]|0))>>0]|0;l=a[(c[16112+((d[C>>0]|0)<<2)>>2]|0)+((c[D>>2]&l)>>>(d[E>>0]|0))>>0]|0;break}case 3:{i=-1;j=a[r+((d[K>>0]|0)>>>3&255)>>0]|0;k=a[r+((d[H>>0]|0)>>>3&255)>>0]|0;l=a[r+((d[E>>0]|0)>>>3&255)>>0]|0;break}case 4:{l=c[r>>2]|0;i=a[(c[16112+((d[L>>0]|0)<<2)>>2]|0)+((c[M>>2]&l)>>>(d[s>>0]|0))>>0]|0;j=a[(c[16112+((d[I>>0]|0)<<2)>>2]|0)+((c[J>>2]&l)>>>(d[K>>0]|0))>>0]|0;k=a[(c[16112+((d[F>>0]|0)<<2)>>2]|0)+((c[G>>2]&l)>>>(d[H>>0]|0))>>0]|0;l=a[(c[16112+((d[C>>0]|0)<<2)>>2]|0)+((c[D>>2]&l)>>>(d[E>>0]|0))>>0]|0;break}default:{i=0;j=0;k=0;l=0}}P=i&255;i=j&255;k=k&255;l=l&255;l=(((N(m-l|0,v)|0)>>>0)/255|0)+l|0;k=(((N(n-k|0,v)|0)>>>0)/255|0)+k|0;i=(((N(o-i|0,v)|0)>>>0)/255|0)+i|0;j=P+v-(((N(P,v)|0)>>>0)/255|0)|0;switch(y<<24>>24){case 1:{a[r>>0]=k>>>(d[F>>0]|0)<<(d[H>>0]|0)|l>>>(d[C>>0]|0)<<(d[E>>0]|0)|i>>>(d[I>>0]|0)<<(d[K>>0]|0)|j>>>(d[L>>0]|0)<<(d[s>>0]|0);break a}case 2:{b[r>>1]=k>>>(d[F>>0]|0)<<(d[H>>0]|0)|l>>>(d[C>>0]|0)<<(d[E>>0]|0)|i>>>(d[I>>0]|0)<<(d[K>>0]|0)|j>>>(d[L>>0]|0)<<(d[s>>0]|0);break a}case 3:{a[r+((d[E>>0]|0)>>>3&255)>>0]=l;a[r+((d[H>>0]|0)>>>3&255)>>0]=k;a[r+((d[K>>0]|0)>>>3&255)>>0]=i;break a}case 4:{c[r>>2]=k>>>(d[F>>0]|0)<<(d[H>>0]|0)|l>>>(d[C>>0]|0)<<(d[E>>0]|0)|i>>>(d[I>>0]|0)<<(d[K>>0]|0)|j>>>(d[L>>0]|0)<<(d[s>>0]|0);break a}default:break a}}while(0);q=q+1|0;if((q|0)==(w|0))break;else{i=p<<1&255;r=r+z|0}}f=f+t|0}if(!h)break;else{g=g+A|0;f=f+O|0}}return}function cFa(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;n=c[b+24>>2]|0;i=c[b+28>>2]|0;d=c[b>>2]|0;e=c[b+20>>2]|0;l=c[b+36>>2]|0;m=c[b+56>>2]|0;j=c[b+48>>2]|0;k=(c[b+16>>2]|0)+(n-((n+7|0)/8|0))|0;f=i+-1|0;b=(i|0)!=0&(n|0)>0;if(!j){if(!b)return;b=d;i=f;while(1){d=0;g=0;h=e;while(1){if(!(g&7)){f=a[b>>0]|0;b=b+1|0}else f=d;d=(f&255)>>>7;if((m|0)!=(d&255|0))a[h>>0]=d;g=g+1|0;if((g|0)==(n|0))break;else{d=(f&255)<<1&255;h=h+1|0}}if(!i)break;else{e=e+n+l|0;b=b+k|0;i=i+-1|0}}return}else{if(!b)return;i=f;while(1){b=0;h=0;g=e;while(1){if(!(h&7)){f=a[d>>0]|0;d=d+1|0}else f=b;b=(f&255)>>>7&255;if((m|0)!=(b|0))a[g>>0]=a[j+b>>0]|0;h=h+1|0;if((h|0)==(n|0))break;else{b=(f&255)<<1&255;g=g+1|0}}if(!i)break;else{d=d+k|0;e=e+n+l|0;i=i+-1|0}}return}}function dFa(d){d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;o=c[d+24>>2]|0;e=c[d+28>>2]|0;k=c[d+56>>2]|0;l=c[d+48>>2]|0;m=((o+7|0)/-8|0)+o+(c[d+16>>2]|0)|0;n=(c[d+36>>2]|0)/2|0;if(!((e|0)!=0&(o|0)>0))return;f=c[d>>2]|0;j=c[d+20>>2]|0;while(1){e=e+-1|0;d=0;i=0;h=j;while(1){if(!(i&7)){g=a[f>>0]|0;f=f+1|0}else g=d;d=(g&255)>>>7&255;if((k|0)!=(d|0))b[h>>1]=b[l+(d<<1)>>1]|0;i=i+1|0;if((i|0)==(o|0))break;else{d=(g&255)<<1&255;h=h+2|0}}if(!e)break;else{f=f+m|0;j=j+(o<<1)+(n<<1)|0}}return}function eFa(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;m=c[b+24>>2]|0;d=c[b+28>>2]|0;o=c[b+36>>2]|0;j=c[b+56>>2]|0;k=c[b+48>>2]|0;l=((m+7|0)/-8|0)+m+(c[b+16>>2]|0)|0;if(!((d|0)!=0&(m|0)>0))return;n=m*3|0;e=c[b>>2]|0;i=c[b+20>>2]|0;while(1){d=d+-1|0;b=0;h=0;g=i;while(1){if(!(h&7)){f=a[e>>0]|0;e=e+1|0}else f=b;b=(f&255)>>>7;if((j|0)!=(b&255|0))uBa(g,k+(b<<2&255)|0,3)|0;h=h+1|0;if((h|0)==(m|0))break;else{b=(f&255)<<1&255;g=g+3|0}}if(!d)break;else{e=e+l|0;i=i+n+o|0}}return}function fFa(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;n=c[b+24>>2]|0;d=c[b+28>>2]|0;j=c[b+56>>2]|0;k=c[b+48>>2]|0;l=((n+7|0)/-8|0)+n+(c[b+16>>2]|0)|0;m=(c[b+36>>2]|0)/4|0;if(!((d|0)!=0&(n|0)>0))return;e=c[b>>2]|0;i=c[b+20>>2]|0;while(1){d=d+-1|0;b=0;h=0;g=i;while(1){if(!(h&7)){f=a[e>>0]|0;e=e+1|0}else f=b;b=(f&255)>>>7&255;if((j|0)!=(b|0))c[g>>2]=c[k+(b<<2)>>2];h=h+1|0;if((h|0)==(n|0))break;else{b=(f&255)<<1&255;g=g+4|0}}if(!d)break;else{e=e+l|0;i=i+(n<<2)+(m<<2)|0}}return}function gFa(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;l=c[b+24>>2]|0;h=c[b+28>>2]|0;d=c[b>>2]|0;e=c[b+20>>2]|0;k=c[b+36>>2]|0;i=c[b+48>>2]|0;j=(c[b+16>>2]|0)+(l-((l+7|0)/8|0))|0;f=h+-1|0;b=(h|0)!=0&(l|0)>0;if(!i){if(!b)return;h=f;while(1){b=0;f=0;g=e;while(1){if(!(f&7)){b=a[d>>0]|0;d=d+1|0}a[g>>0]=(b&255)>>>7;f=f+1|0;if((f|0)==(l|0))break;else{b=(b&255)<<1&255;g=g+1|0}}if(!h)break;else{e=e+l+k|0;d=d+j|0;h=h+-1|0}}return}else{if(!b)return;h=f;while(1){b=0;g=0;f=e;while(1){if(!(g&7)){b=a[d>>0]|0;d=d+1|0}a[f>>0]=a[i+((b&255)>>>7&255)>>0]|0;g=g+1|0;if((g|0)==(l|0))break;else{b=(b&255)<<1&255;f=f+1|0}}if(!h)break;else{d=d+j|0;e=e+l+k|0;h=h+-1|0}}return}}function hFa(d){d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;l=c[d+24>>2]|0;e=c[d+28>>2]|0;m=(c[d+36>>2]|0)/2|0;j=c[d+48>>2]|0;k=((l+7|0)/-8|0)+l+(c[d+16>>2]|0)|0;if(!((e|0)!=0&(l|0)>0))return;i=c[d+20>>2]|0;d=c[d>>2]|0;while(1){e=e+-1|0;f=0;g=0;h=i;while(1){if(!(g&7)){f=a[d>>0]|0;d=d+1|0}b[h>>1]=b[j+(((f&255)>>>7&255)<<1)>>1]|0;g=g+1|0;if((g|0)==(l|0))break;else{f=(f&255)<<1&255;h=h+2|0}}if(!e)break;else{i=i+(l<<1)+(m<<1)|0;d=d+k|0}}return}function iFa(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;l=c[b+24>>2]|0;d=c[b+28>>2]|0;m=c[b+36>>2]|0;i=c[b+48>>2]|0;j=((l+7|0)/-8|0)+l+(c[b+16>>2]|0)|0;if(!((d|0)!=0&(l|0)>0))return;k=l*3|0;h=c[b+20>>2]|0;b=c[b>>2]|0;while(1){d=d+-1|0;e=0;f=0;g=h;while(1){if(!(f&7)){e=a[b>>0]|0;b=b+1|0}o=(e&255)>>>7<<2&255;n=o|1;a[g>>0]=a[i+o>>0]|0;a[g+1>>0]=a[i+n>>0]|0;a[g+2>>0]=a[i+(n+1)>>0]|0;f=f+1|0;if((f|0)==(l|0))break;else{e=(e&255)<<1&255;g=g+3|0}}if(!d)break;else{h=h+k+m|0;b=b+j|0}}return}function jFa(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;k=c[b+24>>2]|0;d=c[b+28>>2]|0;l=(c[b+36>>2]|0)/4|0;i=c[b+48>>2]|0;j=((k+7|0)/-8|0)+k+(c[b+16>>2]|0)|0;if(!((d|0)!=0&(k|0)>0))return;e=c[b>>2]|0;h=c[b+20>>2]|0;while(1){d=d+-1|0;b=0;g=0;f=h;while(1){if(!(g&7)){b=a[e>>0]|0;e=e+1|0}c[f>>2]=c[i+(((b&255)>>>7&255)<<2)>>2];g=g+1|0;if((g|0)==(k|0))break;else{b=(b&255)<<1&255;f=f+4|0}}if(!d)break;else{e=e+j|0;h=h+(k<<2)+(l<<2)|0}}return}function kFa(a,b){a=a|0;b=b|0;return JNa(a,b)|0}function lFa(a,b,e,f,g){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;if((e|0)<=0){w=e<<2;return w|0}v=f+12|0;w=d[f+32>>0]|0;q=f+16|0;r=d[f+33>>0]|0;s=f+20|0;t=d[f+34>>0]|0;u=f+24|0;j=d[f+35>>0]|0;k=d[g+28>>0]|0;l=d[g+32>>0]|0;m=d[g+29>>0]|0;n=d[g+33>>0]|0;o=d[g+30>>0]|0;p=d[g+34>>0]|0;i=g+24|0;h=0;g=a;f=b;while(1){a=c[f>>2]|0;b=(c[q>>2]&a)>>>r>>>m<<n|(c[v>>2]&a)>>>w>>>k<<l|c[i>>2]|(c[s>>2]&a)>>>t>>>o<<p;c[g>>2]=b&63519|(c[u>>2]&a)>>>j<<2&2016|b<<16&132120576;h=h+1|0;if((h|0)==(e|0))break;else{g=g+4|0;f=f+4|0}}w=e<<2;return w|0}function mFa(a,b,e,f,g){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;if((e|0)<=0){w=e<<2;return w|0}v=f+12|0;w=d[f+32>>0]|0;q=f+16|0;r=d[f+33>>0]|0;s=f+20|0;t=d[f+34>>0]|0;u=f+24|0;j=d[f+35>>0]|0;k=d[g+28>>0]|0;l=d[g+32>>0]|0;m=d[g+29>>0]|0;n=d[g+33>>0]|0;o=d[g+30>>0]|0;p=d[g+34>>0]|0;i=g+24|0;h=0;g=a;f=b;while(1){a=c[f>>2]|0;b=(c[q>>2]&a)>>>r>>>m<<n|(c[v>>2]&a)>>>w>>>k<<l|c[i>>2]|(c[s>>2]&a)>>>t>>>o<<p;c[g>>2]=b&64543|(c[u>>2]&a)>>>j<<2&992|b<<16&65011712;h=h+1|0;if((h|0)==(e|0))break;else{g=g+4|0;f=f+4|0}}w=e<<2;return w|0}function nFa(a,b,e,f,g){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;if((e|0)<=0){v=e<<2;return v|0}u=f+12|0;v=d[f+32>>0]|0;p=f+16|0;q=d[f+33>>0]|0;r=f+20|0;s=d[f+34>>0]|0;t=f+24|0;j=d[f+35>>0]|0;k=d[g+28>>0]|0;l=d[g+32>>0]|0;m=d[g+29>>0]|0;n=d[g+33>>0]|0;o=d[g+30>>0]|0;i=d[g+34>>0]|0;h=0;g=a;f=b;while(1){b=c[f>>2]|0;c[g>>2]=(c[u>>2]&b)>>>v>>>k<<l|(c[t>>2]&b)>>>j<<24|(c[p>>2]&b)>>>q>>>m<<n|(c[r>>2]&b)>>>s>>>o<<i;h=h+1|0;if((h|0)==(e|0))break;else{g=g+4|0;f=f+4|0}}v=e<<2;return v|0}function oFa(a,e,f,g,h){a=a|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;if((f|0)<=0){y=f<<1;return y|0}q=c[16112+((d[g+28>>0]|0)<<2)>>2]|0;r=c[g+12>>2]|0;s=c[16112+((d[g+29>>0]|0)<<2)>>2]|0;t=c[g+16>>2]|0;u=c[16112+((d[g+30>>0]|0)<<2)>>2]|0;v=c[g+20>>2]|0;w=c[h+24>>2]|0;x=d[g+32>>0]|0;y=d[g+33>>0]|0;k=d[g+34>>0]|0;l=d[h+28>>0]|0;m=d[h+32>>0]|0;n=d[h+29>>0]|0;o=d[h+33>>0]|0;p=d[h+30>>0]|0;j=d[h+34>>0]|0;i=0;h=a;g=e;while(1){e=c[g>>2]|0;b[h>>1]=(d[s+((t&e)>>>y)>>0]|0)>>>n<<o|(d[q+((r&e)>>>x)>>0]|0)>>>l<<m|w|(d[u+((v&e)>>>k)>>0]|0)>>>p<<j;i=i+1|0;if((i|0)==(f|0))break;else{h=h+2|0;g=g+4|0}}y=f<<1;return y|0}function pFa(f,g,h,i){f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0;o=f+8|0;R=c[o>>2]|0;if(c[h>>2]&2|0?(rFa(h)|0)<0:0){R=-1;return R|0}Q=h+16|0;L=c[Q>>2]|0;k=(c[h+20>>2]|0)+(N(L,c[i+4>>2]|0)|0)|0;p=c[f+4>>2]|0;n=a[p+9>>0]|0;k=k+(N(c[i>>2]|0,n&255)|0)|0;m=c[f+52>>2]|0;i=c[m+12>>2]|0;f=c[g+4>>2]|0;a:do if(!f)P=38;else{b:do switch(n<<24>>24){case 1:{j=f;f=0;while(1){l=f+(d[i>>0]|0)|0;O=a[i+1>>0]|0;f=O&255;i=i+2|0;if(!(O<<24>>24))if(!l){f=5;l=0}else P=12;else{l=l+f|0;i=i+f|0;P=12}do if((P|0)==12){P=0;if((l|0)==(R|0)){f=j+-1|0;if(!f){f=3;j=0;l=0;break}else{j=f;l=0}}f=0}while(0);switch(f&7){case 3:{P=38;break a}case 0:{f=l;break}default:break b}}}case 2:{j=f;f=0;while(1){f=f+(d[i>>0]|0)|0;O=a[i+1>>0]|0;l=O&255;i=i+2|0;if(!(O<<24>>24))if(!f){f=5;l=0}else P=19;else{i=i+(l<<1)|0;f=f+l|0;P=19}do if((P|0)==19){P=0;if((f|0)==(R|0)){f=j+-1|0;if(!f){f=6;j=0;l=0;break}else{j=f;l=0}}else l=f;f=0}while(0);switch(f&7){case 6:{P=38;break a}case 0:{f=l;break}default:break b}}}case 3:{j=f;f=0;while(1){f=f+(d[i>>0]|0)|0;O=a[i+1>>0]|0;l=O&255;i=i+2|0;if(!(O<<24>>24))if(!f){l=0;f=5}else P=26;else{i=i+(l*3|0)|0;f=f+l|0;P=26}do if((P|0)==26){P=0;if((f|0)==(R|0)){j=j+-1|0;if(!j){l=0;f=8;j=0;break}else f=0}l=f;f=0}while(0);switch(f&15){case 8:{P=38;break a}case 0:{f=l;break}default:break b}}}case 4:{j=0;while(1){j=j+(e[i>>1]|0)|0;O=b[i+2>>1]|0;l=O&65535;i=i+4|0;if(!(O<<16>>16))if(!j){l=f;j=0;f=5}else P=33;else{i=i+(l<<2)|0;j=j+l|0;P=33}do if((P|0)==33){P=0;if((j|0)==(R|0)){f=f+-1|0;if(!f){l=0;j=0;f=10;break}else j=0}l=f;f=0}while(0);switch(f&15){case 10:{P=38;break a}case 0:{f=l;break}default:break b}}}default:{P=38;break a}}while(0);switch(f|0){case 0:{P=38;break a}case 5:break a;default:i=0}return i|0}while(0);c:do if((P|0)==38){l=a[m+79>>0]|0;M=l&255;O=c[g>>2]|0;if((O|0)==0?(c[g+8>>2]|0)==(c[o>>2]|0):0){if(l<<24>>24==-1)switch(n<<24>>24){case 1:{l=c[g+12>>2]|0;while(1){f=0;do{f=f+(d[i>>0]|0)|0;P=a[i+1>>0]|0;j=P&255;i=i+2|0;if(!(P<<24>>24)){if(!f)break c}else{uBa(k+f|0,i,j)|0;f=f+j|0;i=i+j|0}}while((f|0)!=(R|0));l=l+-1|0;if(!l)break c;else k=k+(c[Q>>2]|0)|0}}case 2:{l=c[g+12>>2]|0;while(1){f=0;do{f=f+(d[i>>0]|0)|0;P=a[i+1>>0]|0;j=P&255;i=i+2|0;if(!(P<<24>>24)){if(!f)break c}else{P=j<<1;uBa(k+(f<<1)|0,i,P)|0;f=f+j|0;i=i+P|0}}while((f|0)!=(R|0));l=l+-1|0;if(!l)break c;else k=k+(c[Q>>2]|0)|0}}case 3:{l=c[g+12>>2]|0;while(1){f=0;do{f=f+(d[i>>0]|0)|0;P=a[i+1>>0]|0;j=P&255;i=i+2|0;if(!(P<<24>>24)){if(!f)break c}else{P=j*3|0;uBa(k+(f*3|0)|0,i,P)|0;f=f+j|0;i=i+P|0}}while((f|0)!=(R|0));l=l+-1|0;if(!l)break c;else k=k+(c[Q>>2]|0)|0}}case 4:{l=c[g+12>>2]|0;while(1){f=0;do{f=f+(e[i>>1]|0)|0;P=b[i+2>>1]|0;j=P&65535;i=i+4|0;if(!(P<<16>>16)){if(!f)break c}else{P=j<<2;uBa(k+(f<<2)|0,i,P)|0;f=f+j|0;i=i+P|0}}while((f|0)!=(R|0));l=l+-1|0;if(!l)break c;else k=k+(c[Q>>2]|0)|0}}default:break c}switch(n<<24>>24){case 4:{w=p+12|0;L=c[w>>2]|0;x=p+16|0;O=c[x>>2]|0;y=p+20|0;P=c[y>>2]|0;if((O|L|P|0)==16777215?(L|0)==65280|(O|0)==65280|(P|0)==65280:0){f=c[g+12>>2]|0;if(l<<24>>24==-128){o=k;while(1){j=0;do{j=j+(e[i>>1]|0)|0;P=b[i+2>>1]|0;n=P&65535;i=i+4|0;if(!(P<<16>>16)){if(!j)break c}else{k=o+(j<<2)|0;l=i;m=0;while(1){O=c[l>>2]|0;P=c[k>>2]|0;c[k>>2]=(((P&16711422)+(O&16711422)|0)>>>1)+(O&65793&P);m=m+1|0;if((m|0)==(n|0))break;else{k=k+4|0;l=l+4|0}}j=j+n|0;i=i+(n<<2)|0}}while((j|0)!=(R|0));f=f+-1|0;if(!f)break c;else o=o+(c[Q>>2]|0)|0}}else{o=k;while(1){j=0;do{j=j+(e[i>>1]|0)|0;P=b[i+2>>1]|0;n=P&65535;i=i+4|0;if(!(P<<16>>16)){if(!j)break c}else{k=o+(j<<2)|0;l=i;m=0;while(1){O=c[l>>2]|0;P=c[k>>2]|0;L=P&16711935;P=P&65280;c[k>>2]=((N((O&16711935)-L|0,M)|0)>>>8)+L&16711935|((N((O&65280)-P|0,M)|0)>>>8)+P&65280;m=m+1|0;if((m|0)==(n|0))break;else{k=k+4|0;l=l+4|0}}j=j+n|0;i=i+(n<<2)|0}}while((j|0)!=(R|0));f=f+-1|0;if(!f)break c;else o=o+(c[Q>>2]|0)|0}}}q=p+28|0;r=p+32|0;s=p+29|0;t=p+33|0;u=p+30|0;v=p+34|0;p=p+24|0;o=c[g+12>>2]|0;while(1){f=0;do{f=f+(e[i>>1]|0)|0;P=b[i+2>>1]|0;n=P&65535;i=i+4|0;if(!(P<<16>>16)){if(!f)break c}else{j=k+(f<<2)|0;l=i;m=0;while(1){J=c[l>>2]|0;K=c[j>>2]|0;C=d[q>>0]|0;z=c[16112+(C<<2)>>2]|0;A=c[w>>2]|0;L=d[r>>0]|0;G=d[s>>0]|0;D=c[16112+(G<<2)>>2]|0;E=c[x>>2]|0;O=d[t>>0]|0;g=d[u>>0]|0;H=c[16112+(g<<2)>>2]|0;I=c[y>>2]|0;P=d[v>>0]|0;B=d[z+((A&K)>>>L)>>0]|0;F=d[D+((E&K)>>>O)>>0]|0;K=d[H+((I&K)>>>P)>>0]|0;L=(((N((d[z+((A&J)>>>L)>>0]|0)-B|0,M)|0)>>>8)+B|0)>>>C<<L;O=(((N((d[D+((E&J)>>>O)>>0]|0)-F|0,M)|0)>>>8)+F|0)>>>G<<O;P=(((N((d[H+((I&J)>>>P)>>0]|0)-K|0,M)|0)>>>8)+K|0)>>>g<<P;c[j>>2]=L|c[p>>2]|O|P;m=m+1|0;if((m|0)==(n|0))break;else{j=j+4|0;l=l+4|0}}f=f+n|0;i=i+(n<<2)|0}}while((f|0)!=(R|0));o=o+-1|0;if(!o)break c;else k=k+(c[Q>>2]|0)|0}}case 2:{w=c[p+12>>2]|0;x=c[p+16>>2]|0;y=c[p+20>>2]|0;f=x|w|y;d:do if((f|0)<65535){switch(f|0){case 32767:break;default:break d}if((w|0)==992|(x|0)==992|(y|0)==992){f=c[g+12>>2]|0;if(l<<24>>24!=-128){p=M>>>3;o=f;n=k;while(1){f=0;do{f=f+(d[i>>0]|0)|0;Q=a[i+1>>0]|0;m=Q&255;i=i+2|0;if(!(Q<<24>>24)){if(!f)break c}else{j=0;k=i;l=n+(f<<1)|0;while(1){P=e[k>>1]|0;Q=e[l>>1]|0;Q=(Q<<16|Q)&65043487;Q=((N(((P<<16|P)&65043487)-Q|0,p)|0)>>>5)+Q&65043487;b[l>>1]=Q>>>16|Q;j=j+1|0;if((j|0)==(m|0))break;else{k=k+2|0;l=l+2|0}}f=f+m|0;i=i+(m<<1)|0}}while((f|0)!=(R|0));o=o+-1|0;if(!o)break c;else n=n+L|0}}s=f;r=k;while(1){f=0;do{f=f+(d[i>>0]|0)|0;P=a[i+1>>0]|0;p=P&255;q=i+2|0;if(!(P<<24>>24))if(!f)break c;else i=q;else{l=r+(f<<1)|0;j=q;do if(!((l^j)&3)){if(!(j&3)){k=p;j=q;i=l}else{j=b[q>>1]|0;k=b[l>>1]|0;b[l>>1]=(((k&-1058&65535)+(j&-1058&65535)|0)>>>1)+(j&1057&k&65535);k=p+-1|0;j=i+4|0;i=l+2|0}if(k>>>0>1){m=k+-2|0;n=m&-2;o=i+4+(n<<1)|0;l=j;while(1){O=c[l>>2]|0;P=c[i>>2]|0;c[i>>2]=(O&69272609&P)+(O>>>1&2112847343)+(P>>>1&2112847343);k=k+-2|0;if(k>>>0<=1)break;else{l=l+4|0;i=i+4|0}}k=m-n|0;j=j+4+(n<<1)|0;i=o}if(!k)break;O=b[j>>1]|0;P=b[i>>1]|0;b[i>>1]=(((P&-1058&65535)+(O&-1058&65535)|0)>>>1)+(O&1057&P&65535)}else{j=p;k=q;i=l;while(1){j=j+-1|0;O=b[k>>1]|0;P=b[i>>1]|0;b[i>>1]=(((P&-1058&65535)+(O&-1058&65535)|0)>>>1)+(O&1057&P&65535);if(!j)break;else{k=k+2|0;i=i+2|0}}}while(0);f=f+p|0;i=q+(p<<1)|0}}while((f|0)!=(R|0));s=s+-1|0;if(!s)break c;else r=r+(c[Q>>2]|0)|0}}}else{switch(f|0){case 65535:break;default:break d}if((w|0)==2016|(x|0)==2016|(y|0)==2016){f=c[g+12>>2]|0;if(l<<24>>24!=-128){p=M>>>3;o=f;n=k;while(1){f=0;do{f=f+(d[i>>0]|0)|0;Q=a[i+1>>0]|0;m=Q&255;i=i+2|0;if(!(Q<<24>>24)){if(!f)break c}else{j=0;k=i;l=n+(f<<1)|0;while(1){P=e[k>>1]|0;Q=e[l>>1]|0;Q=(Q<<16|Q)&132184095;Q=((N(((P<<16|P)&132184095)-Q|0,p)|0)>>>5)+Q&132184095;b[l>>1]=Q>>>16|Q;j=j+1|0;if((j|0)==(m|0))break;else{k=k+2|0;l=l+2|0}}f=f+m|0;i=i+(m<<1)|0}}while((f|0)!=(R|0));o=o+-1|0;if(!o)break c;else n=n+L|0}}s=f;r=k;while(1){f=0;do{f=f+(d[i>>0]|0)|0;P=a[i+1>>0]|0;p=P&255;q=i+2|0;if(!(P<<24>>24))if(!f)break c;else i=q;else{l=r+(f<<1)|0;j=q;do if(!((l^j)&3)){if(!(j&3)){k=p;j=q;i=l}else{j=b[q>>1]|0;k=b[l>>1]|0;b[l>>1]=(((k&-2082&65535)+(j&-2082&65535)|0)>>>1)+(j&2081&k&65535);k=p+-1|0;j=i+4|0;i=l+2|0}if(k>>>0>1){m=k+-2|0;n=m&-2;o=i+4+(n<<1)|0;l=j;while(1){O=c[l>>2]|0;P=c[i>>2]|0;c[i>>2]=(O&136382497&P)+(O>>>1&2079292399)+(P>>>1&2079292399);k=k+-2|0;if(k>>>0<=1)break;else{l=l+4|0;i=i+4|0}}k=m-n|0;j=j+4+(n<<1)|0;i=o}if(!k)break;O=b[j>>1]|0;P=b[i>>1]|0;b[i>>1]=(((P&-2082&65535)+(O&-2082&65535)|0)>>>1)+(O&2081&P&65535)}else{j=p;k=q;i=l;while(1){j=j+-1|0;O=b[k>>1]|0;P=b[i>>1]|0;b[i>>1]=(((P&-2082&65535)+(O&-2082&65535)|0)>>>1)+(O&2081&P&65535);if(!j)break;else{k=k+2|0;i=i+2|0}}}while(0);f=f+p|0;i=q+(p<<1)|0}}while((f|0)!=(R|0));s=s+-1|0;if(!s)break c;else r=r+(c[Q>>2]|0)|0}}}while(0);q=p+28|0;r=p+32|0;s=p+29|0;t=p+33|0;u=p+30|0;v=p+34|0;p=p+24|0;o=c[g+12>>2]|0;while(1){f=0;do{f=f+(d[i>>0]|0)|0;Q=a[i+1>>0]|0;n=Q&255;i=i+2|0;if(!(Q<<24>>24)){if(!f)break c}else{j=k+(f<<1)|0;l=i;m=0;while(1){J=e[l>>1]|0;K=e[j>>1]|0;E=d[q>>0]|0;C=c[16112+(E<<2)>>2]|0;O=d[r>>0]|0;H=d[s>>0]|0;F=c[16112+(H<<2)>>2]|0;P=d[t>>0]|0;g=d[u>>0]|0;I=c[16112+(g<<2)>>2]|0;Q=d[v>>0]|0;D=d[C+((w&K)>>>O)>>0]|0;G=d[F+((x&K)>>>P)>>0]|0;K=d[I+((y&K)>>>Q)>>0]|0;O=(((N((d[C+((w&J)>>>O)>>0]|0)-D|0,M)|0)>>>8)+D|0)>>>E<<O;P=(((N((d[F+((x&J)>>>P)>>0]|0)-G|0,M)|0)>>>8)+G|0)>>>H<<P;Q=(((N((d[I+((y&J)>>>Q)>>0]|0)-K|0,M)|0)>>>8)+K|0)>>>g<<Q;b[j>>1]=O|c[p>>2]|P|Q;m=m+1|0;if((m|0)==(n|0))break;else{j=j+2|0;l=l+2|0}}f=f+n|0;i=i+(n<<1)|0}}while((f|0)!=(R|0));o=o+-1|0;if(!o)break c;else k=k+L|0}}case 3:{q=p+28|0;r=p+12|0;s=p+32|0;t=p+29|0;u=p+16|0;v=p+33|0;w=p+30|0;x=p+20|0;y=p+34|0;p=p+24|0;o=c[g+12>>2]|0;while(1){f=0;do{f=f+(d[i>>0]|0)|0;P=a[i+1>>0]|0;n=P&255;i=i+2|0;if(!(P<<24>>24)){if(!f)break c}else{j=k+(f*3|0)|0;l=i;m=0;while(1){H=(d[l+1>>0]|0)<<8|(d[l+2>>0]|0)<<16|(d[l>>0]|0);P=j+2|0;L=j+1|0;I=(d[L>>0]|0)<<8|(d[P>>0]|0)<<16|(d[j>>0]|0);A=d[q>>0]|0;T=c[16112+(A<<2)>>2]|0;S=c[r>>2]|0;K=d[s>>0]|0;E=d[t>>0]|0;B=c[16112+(E<<2)>>2]|0;C=c[u>>2]|0;g=d[v>>0]|0;J=d[w>>0]|0;F=c[16112+(J<<2)>>2]|0;G=c[x>>2]|0;O=d[y>>0]|0;z=d[T+((I&S)>>>K)>>0]|0;D=d[B+((C&I)>>>g)>>0]|0;I=d[F+((G&I)>>>O)>>0]|0;K=(((N((d[T+((S&H)>>>K)>>0]|0)-z|0,M)|0)>>>8)+z|0)>>>A<<K;g=(((N((d[B+((C&H)>>>g)>>0]|0)-D|0,M)|0)>>>8)+D|0)>>>E<<g;O=(((N((d[F+((G&H)>>>O)>>0]|0)-I|0,M)|0)>>>8)+I|0)>>>J<<O;O=K|c[p>>2]|g|O;a[j>>0]=O;a[L>>0]=O>>>8;a[P>>0]=O>>>16;m=m+1|0;if((m|0)==(n|0))break;else{j=j+3|0;l=l+3|0}}f=f+n|0;i=i+(n*3|0)|0}}while((f|0)!=(R|0));o=o+-1|0;if(!o)break c;else k=k+(c[Q>>2]|0)|0}}default:break c}}j=c[h+4>>2]|0;f=a[j+9>>0]|0;if(l<<24>>24==-1)switch(f<<24>>24){case 1:{o=(c[g+8>>2]|0)+O|0;n=k+(0-O)|0;m=c[g+12>>2]|0;while(1){f=0;while(1){f=f+(d[i>>0]|0)|0;T=a[i+1>>0]|0;l=T&255;i=i+2|0;e:do if(!(T<<24>>24))if(!f)break c;else P=52;else{f:do if((f|0)<(o|0)){k=O-f|0;if((k|0)>0){j=l-k|0;if((j|0)<1)j=9;else P=48}else{k=0;j=l;P=48}if((P|0)==48){P=0;S=k+f|0;T=o-S|0;uBa(n+S|0,i+k|0,(j|0)>(T|0)?T:j)|0;j=0}switch(j&15){case 9:case 0:break f;default:{}}if(!j)break e;else break c}while(0);i=i+l|0;f=f+l|0;P=52}while(0);if((P|0)==52){P=0;if((f|0)==(R|0))break}}m=m+-1|0;if(!m)break c;else n=n+(c[Q>>2]|0)|0}}case 2:{o=(c[g+8>>2]|0)+O|0;n=c[g+12>>2]|0;m=k+(0-(O<<1))|0;while(1){f=0;while(1){f=f+(d[i>>0]|0)|0;T=a[i+1>>0]|0;l=T&255;i=i+2|0;g:do if(!(T<<24>>24))if(!f)break c;else P=66;else{h:do if((f|0)<(o|0)){k=O-f|0;if((k|0)>0){j=l-k|0;if((j|0)<1)j=14;else P=62}else{k=0;j=l;P=62}if((P|0)==62){P=0;S=k+f|0;T=o-S|0;uBa(m+(S<<1)|0,i+(k<<1)|0,((j|0)>(T|0)?T:j)<<1)|0;j=0}switch(j&15){case 14:case 0:break h;default:{}}if(!j)break g;else break c}while(0);f=f+l|0;i=i+(l<<1)|0;P=66}while(0);if((P|0)==66){P=0;if((f|0)==(R|0))break}}n=n+-1|0;if(!n)break c;else m=m+(c[Q>>2]|0)|0}}case 3:{o=(c[g+8>>2]|0)+O|0;n=c[g+12>>2]|0;m=k+(N(O,-3)|0)|0;while(1){f=0;while(1){f=f+(d[i>>0]|0)|0;T=a[i+1>>0]|0;l=T&255;i=i+2|0;i:do if(!(T<<24>>24))if(!f)break c;else P=80;else{j:do if((f|0)<(o|0)){k=O-f|0;if((k|0)>0){j=l-k|0;if((j|0)<1)j=19;else P=76}else{k=0;j=l;P=76}if((P|0)==76){P=0;S=k+f|0;T=o-S|0;uBa(m+(S*3|0)|0,i+(k*3|0)|0,((j|0)>(T|0)?T:j)*3|0)|0;j=0}switch(j&31){case 19:case 0:break j;default:{}}if(!j)break i;else break c}while(0);f=f+l|0;i=i+(l*3|0)|0;P=80}while(0);if((P|0)==80){P=0;if((f|0)==(R|0))break}}n=n+-1|0;if(!n)break c;else m=m+(c[Q>>2]|0)|0}}case 4:{o=(c[g+8>>2]|0)+O|0;n=c[g+12>>2]|0;m=k+(0-(O<<2))|0;while(1){f=0;while(1){f=f+(e[i>>1]|0)|0;T=b[i+2>>1]|0;l=T&65535;i=i+4|0;k:do if(!(T<<16>>16))if(!f)break c;else P=94;else{l:do if((f|0)<(o|0)){k=O-f|0;if((k|0)>0){j=l-k|0;if((j|0)<1)j=24;else P=90}else{k=0;j=l;P=90}if((P|0)==90){P=0;S=k+f|0;T=o-S|0;uBa(m+(S<<2)|0,i+(k<<2)|0,((j|0)>(T|0)?T:j)<<2)|0;j=0}switch(j&31){case 24:case 0:break l;default:{}}if(!j)break k;else break c}while(0);i=i+(l<<2)|0;f=f+l|0;P=94}while(0);if((P|0)==94){P=0;if((f|0)==(R|0))break}}n=n+-1|0;if(!n)break c;else m=m+(c[Q>>2]|0)|0}}default:break c}switch(f<<24>>24){case 4:{H=j+12|0;L=c[H>>2]|0;I=j+16|0;S=c[I>>2]|0;J=j+20|0;T=c[J>>2]|0;if((S|L|T|0)==16777215?(L|0)==65280|(S|0)==65280|(T|0)==65280:0){f=c[g+12>>2]|0;q=(c[g+8>>2]|0)+O|0;j=k+(0-(O<<2))|0;if(l<<24>>24==-128){p=f;o=j;while(1){f=0;while(1){f=f+(e[i>>1]|0)|0;T=b[i+2>>1]|0;n=T&65535;i=i+4|0;m:do if(!(T<<16>>16))if(!f)break c;else P=234;else{n:do if((f|0)<(q|0)){k=O-f|0;if((k|0)>0){j=n-k|0;if((j|0)<1)j=108;else P=228}else{j=n;k=0;P=228}if((P|0)==228){P=0;l=k+f|0;m=q-l|0;m=(j|0)>(m|0)?m:j;if((m|0)>0){l=o+(l<<2)|0;j=i+(k<<2)|0;k=0;while(1){S=c[j>>2]|0;T=c[l>>2]|0;c[l>>2]=(((T&16711422)+(S&16711422)|0)>>>1)+(S&65793&T);k=k+1|0;if((k|0)>=(m|0)){j=0;break}else{l=l+4|0;j=j+4|0}}}else j=0}switch(j&127){case 108:case 0:break n;default:{}}if(!j)break m;else break c}while(0);f=f+n|0;i=i+(n<<2)|0;P=234}while(0);if((P|0)==234){P=0;if((f|0)==(R|0))break}}p=p+-1|0;if(!p)break c;else o=o+(c[Q>>2]|0)|0}}else{p=f;o=j;while(1){f=0;while(1){f=f+(e[i>>1]|0)|0;T=b[i+2>>1]|0;n=T&65535;i=i+4|0;o:do if(!(T<<16>>16))if(!f)break c;else P=248;else{p:do if((f|0)<(q|0)){k=O-f|0;if((k|0)>0){j=n-k|0;if((j|0)<1)j=118;else P=242}else{j=n;k=0;P=242}if((P|0)==242){P=0;l=k+f|0;m=q-l|0;m=(j|0)>(m|0)?m:j;if((m|0)>0){l=o+(l<<2)|0;j=i+(k<<2)|0;k=0;while(1){S=c[j>>2]|0;T=c[l>>2]|0;L=T&16711935;T=T&65280;c[l>>2]=((N((S&16711935)-L|0,M)|0)>>>8)+L&16711935|((N((S&65280)-T|0,M)|0)>>>8)+T&65280;k=k+1|0;if((k|0)>=(m|0)){j=0;break}else{l=l+4|0;j=j+4|0}}}else j=0}switch(j&127){case 118:case 0:break p;default:{}}if(!j)break o;else break c}while(0);f=f+n|0;i=i+(n<<2)|0;P=248}while(0);if((P|0)==248){P=0;if((f|0)==(R|0))break}}p=p+-1|0;if(!p)break c;else o=o+(c[Q>>2]|0)|0}}}A=(c[g+8>>2]|0)+O|0;B=j+28|0;C=j+32|0;D=j+29|0;E=j+33|0;F=j+30|0;G=j+34|0;z=j+24|0;y=c[g+12>>2]|0;x=k+(0-(O<<2))|0;while(1){f=0;do{f=f+(e[i>>1]|0)|0;T=b[i+2>>1]|0;w=T&65535;i=i+4|0;if(!(T<<16>>16)){if(!f)break c}else{do if((f|0)<(A|0)){k=O-f|0;if((k|0)>0){j=w-k|0;if((j|0)<1)break}else{j=w;k=0}l=k+f|0;v=A-l|0;v=(j|0)>(v|0)?v:j;if((v|0)>0){m=d[B>>0]|0;p=c[16112+(m<<2)>>2]|0;n=d[D>>0]|0;q=c[16112+(n<<2)>>2]|0;o=d[F>>0]|0;r=c[16112+(o<<2)>>2]|0;s=d[C>>0]|0;t=d[E>>0]|0;u=d[G>>0]|0;l=x+(l<<2)|0;j=i+(k<<2)|0;k=0;while(1){L=c[j>>2]|0;T=c[l>>2]|0;U=c[H>>2]|0;K=c[I>>2]|0;g=c[J>>2]|0;P=d[p+((U&T)>>>s)>>0]|0;S=d[q+((K&T)>>>t)>>0]|0;T=d[r+((g&T)>>>u)>>0]|0;P=(((N((d[p+((U&L)>>>s)>>0]|0)-P|0,M)|0)>>>8)+P|0)>>>m<<s;S=(((N((d[q+((K&L)>>>t)>>0]|0)-S|0,M)|0)>>>8)+S|0)>>>n<<t;T=(((N((d[r+((g&L)>>>u)>>0]|0)-T|0,M)|0)>>>8)+T|0)>>>o<<u;c[l>>2]=P|c[z>>2]|S|T;k=k+1|0;if((k|0)>=(v|0))break;else{l=l+4|0;j=j+4|0}}}}while(0);f=f+w|0;i=i+(w<<2)|0}}while((f|0)!=(R|0));y=y+-1|0;if(!y)break;else x=x+(c[Q>>2]|0)|0}break}case 2:{I=c[j+12>>2]|0;J=c[j+16>>2]|0;K=c[j+20>>2]|0;f=J|I|K;q:do if((f|0)<65535){switch(f|0){case 32767:break;default:break q}if((I|0)==992|(J|0)==992|(K|0)==992){f=c[g+12>>2]|0;s=(c[g+8>>2]|0)+O|0;j=k+(0-(O<<1))|0;if(l<<24>>24!=-128){r=M>>>3;q=f;p=j;while(1){f=0;while(1){f=f+(d[i>>0]|0)|0;U=a[i+1>>0]|0;o=U&255;i=i+2|0;r:do if(!(U<<24>>24))if(!f)break c;else P=182;else{s:do if((f|0)<(s|0)){j=O-f|0;if((j|0)>0){k=o-j|0;if((k|0)<1)j=78;else P=176}else{j=0;k=o;P=176}if((P|0)==176){P=0;m=j+f|0;n=s-m|0;n=(k|0)>(n|0)?n:k;if((n|0)>0){l=0;k=i+(j<<1)|0;j=p+(m<<1)|0;while(1){T=e[k>>1]|0;U=e[j>>1]|0;U=(U<<16|U)&65043487;U=((N(((T<<16|T)&65043487)-U|0,r)|0)>>>5)+U&65043487;b[j>>1]=U>>>16|U;l=l+1|0;if((l|0)>=(n|0)){j=0;break}else{k=k+2|0;j=j+2|0}}}else j=0}switch(j&127){case 78:case 0:break s;default:{}}if(!j)break r;else break c}while(0);f=f+o|0;i=i+(o<<1)|0;P=182}while(0);if((P|0)==182){P=0;if((f|0)==(R|0))break}}q=q+-1|0;if(!q)break c;else p=p+L|0}}r=f;q=j;while(1){f=0;while(1){f=f+(d[i>>0]|0)|0;U=a[i+1>>0]|0;p=U&255;i=i+2|0;t:do if(!(U<<24>>24))if(!f)break c;else P=166;else{u:do if((f|0)<(s|0)){k=O-f|0;if((k|0)>0){j=p-k|0;if((j|0)<1)j=60;else P=151}else{k=0;j=p;P=151}v:do if((P|0)==151){P=0;l=k+f|0;m=s-l|0;m=(j|0)>(m|0)?m:j;k=i+(k<<1)|0;j=q+(l<<1)|0;l=k;if((j^l)&3|0){if(!m){j=0;break}l=m;while(1){l=l+-1|0;T=b[k>>1]|0;U=b[j>>1]|0;b[j>>1]=(((U&-1058&65535)+(T&-1058&65535)|0)>>>1)+(T&1057&U&65535);if(!l){j=0;break v}else{k=k+2|0;j=j+2|0}}}if(l&3){T=b[k>>1]|0;U=b[j>>1]|0;b[j>>1]=(((U&-1058&65535)+(T&-1058&65535)|0)>>>1)+(T&1057&U&65535);m=m+-1|0;k=k+2|0;j=j+2|0}if(m>>>0>1){n=m+-2|0;o=j+4|0;l=k;while(1){T=c[l>>2]|0;U=c[j>>2]|0;c[j>>2]=(T&69272609&U)+(T>>>1&2112847343)+(U>>>1&2112847343);m=m+-2|0;if(m>>>0<=1)break;else{l=l+4|0;j=j+4|0}}j=n&-2;m=n-j|0;k=k+4+(j<<1)|0;j=o+(j<<1)|0}if(!m){j=0;break}T=b[k>>1]|0;U=b[j>>1]|0;b[j>>1]=(((U&-1058&65535)+(T&-1058&65535)|0)>>>1)+(T&1057&U&65535);j=0}while(0);switch(j&63){case 60:case 0:break u;default:{}}if(!j)break t;else break c}while(0);f=f+p|0;i=i+(p<<1)|0;P=166}while(0);if((P|0)==166){P=0;if((f|0)==(R|0))break}}r=r+-1|0;if(!r)break c;else q=q+(c[Q>>2]|0)|0}}}else{switch(f|0){case 65535:break;default:break q}if((I|0)==2016|(J|0)==2016|(K|0)==2016){f=c[g+12>>2]|0;s=(c[g+8>>2]|0)+O|0;j=k+(0-(O<<1))|0;if(l<<24>>24!=-128){r=M>>>3;q=f;p=j;while(1){f=0;while(1){f=f+(d[i>>0]|0)|0;U=a[i+1>>0]|0;o=U&255;i=i+2|0;w:do if(!(U<<24>>24))if(!f)break c;else P=139;else{x:do if((f|0)<(s|0)){j=O-f|0;if((j|0)>0){k=o-j|0;if((k|0)<1)j=49;else P=133}else{j=0;k=o;P=133}if((P|0)==133){P=0;m=j+f|0;n=s-m|0;n=(k|0)>(n|0)?n:k;if((n|0)>0){l=0;k=i+(j<<1)|0;j=p+(m<<1)|0;while(1){T=e[k>>1]|0;U=e[j>>1]|0;U=(U<<16|U)&132184095;U=((N(((T<<16|T)&132184095)-U|0,r)|0)>>>5)+U&132184095;b[j>>1]=U>>>16|U;l=l+1|0;if((l|0)>=(n|0)){j=0;break}else{k=k+2|0;j=j+2|0}}}else j=0}switch(j&63){case 49:case 0:break x;default:{}}if(!j)break w;else break c}while(0);f=f+o|0;i=i+(o<<1)|0;P=139}while(0);if((P|0)==139){P=0;if((f|0)==(R|0))break}}q=q+-1|0;if(!q)break c;else p=p+L|0}}r=f;q=j;while(1){f=0;while(1){f=f+(d[i>>0]|0)|0;U=a[i+1>>0]|0;p=U&255;i=i+2|0;y:do if(!(U<<24>>24))if(!f)break c;else P=123;else{z:do if((f|0)<(s|0)){k=O-f|0;if((k|0)>0){j=p-k|0;if((j|0)<1)j=31;else P=108}else{k=0;j=p;P=108}A:do if((P|0)==108){P=0;l=k+f|0;m=s-l|0;m=(j|0)>(m|0)?m:j;k=i+(k<<1)|0;j=q+(l<<1)|0;l=k;if((j^l)&3|0){if(!m){j=0;break}l=m;while(1){l=l+-1|0;T=b[k>>1]|0;U=b[j>>1]|0;b[j>>1]=(((U&-2082&65535)+(T&-2082&65535)|0)>>>1)+(T&2081&U&65535);if(!l){j=0;break A}else{k=k+2|0;j=j+2|0}}}if(l&3){T=b[k>>1]|0;U=b[j>>1]|0;b[j>>1]=(((U&-2082&65535)+(T&-2082&65535)|0)>>>1)+(T&2081&U&65535);m=m+-1|0;k=k+2|0;j=j+2|0}if(m>>>0>1){n=m+-2|0;o=j+4|0;l=k;while(1){T=c[l>>2]|0;U=c[j>>2]|0;c[j>>2]=(T&136382497&U)+(T>>>1&2079292399)+(U>>>1&2079292399);m=m+-2|0;if(m>>>0<=1)break;else{l=l+4|0;j=j+4|0}}j=n&-2;m=n-j|0;k=k+4+(j<<1)|0;j=o+(j<<1)|0}if(!m){j=0;break}T=b[k>>1]|0;U=b[j>>1]|0;b[j>>1]=(((U&-2082&65535)+(T&-2082&65535)|0)>>>1)+(T&2081&U&65535);j=0}while(0);switch(j&31){case 31:case 0:break z;default:{}}if(!j)break y;else break c}while(0);f=f+p|0;i=i+(p<<1)|0;P=123}while(0);if((P|0)==123){P=0;if((f|0)==(R|0))break}}r=r+-1|0;if(!r)break c;else q=q+(c[Q>>2]|0)|0}}}while(0);B=(c[g+8>>2]|0)+O|0;C=j+28|0;D=j+32|0;E=j+29|0;F=j+33|0;G=j+30|0;H=j+34|0;A=j+24|0;z=c[g+12>>2]|0;y=k+(0-(O<<1))|0;while(1){f=0;while(1){f=f+(d[i>>0]|0)|0;U=a[i+1>>0]|0;x=U&255;i=i+2|0;B:do if(!(U<<24>>24))if(!f)break c;else P=198;else{C:do if((f|0)<(B|0)){k=O-f|0;if((k|0)>0){j=x-k|0;if((j|0)<1)j=88;else P=192}else{j=x;k=0;P=192}if((P|0)==192){P=0;l=k+f|0;w=B-l|0;w=(j|0)>(w|0)?w:j;if((w|0)>0){m=d[C>>0]|0;p=c[16112+(m<<2)>>2]|0;n=d[E>>0]|0;q=c[16112+(n<<2)>>2]|0;o=d[G>>0]|0;r=c[16112+(o<<2)>>2]|0;s=c[A>>2]|0;t=d[D>>0]|0;u=d[F>>0]|0;v=d[H>>0]|0;l=y+(l<<1)|0;j=i+(k<<1)|0;k=0;while(1){T=e[j>>1]|0;U=e[l>>1]|0;Q=d[p+((I&U)>>>t)>>0]|0;S=d[q+((J&U)>>>u)>>0]|0;U=d[r+((K&U)>>>v)>>0]|0;b[l>>1]=(((N((d[p+((I&T)>>>t)>>0]|0)-Q|0,M)|0)>>>8)+Q|0)>>>m<<t|s|(((N((d[q+((J&T)>>>u)>>0]|0)-S|0,M)|0)>>>8)+S|0)>>>n<<u|(((N((d[r+((K&T)>>>v)>>0]|0)-U|0,M)|0)>>>8)+U|0)>>>o<<v;k=k+1|0;if((k|0)>=(w|0)){j=0;break}else{l=l+2|0;j=j+2|0}}}else j=0}switch(j&127){case 88:case 0:break C;default:{}}if(!j)break B;else break c}while(0);f=f+x|0;i=i+(x<<1)|0;P=198}while(0);if((P|0)==198){P=0;if((f|0)==(R|0))break}}z=z+-1|0;if(!z)break;else y=y+L|0}break}case 3:{r=(c[g+8>>2]|0)+O|0;s=j+28|0;t=j+12|0;u=j+32|0;v=j+29|0;w=j+16|0;x=j+33|0;y=j+30|0;z=j+20|0;A=j+34|0;q=j+24|0;p=c[g+12>>2]|0;o=k+(N(O,-3)|0)|0;while(1){f=0;while(1){f=f+(d[i>>0]|0)|0;U=a[i+1>>0]|0;n=U&255;i=i+2|0;D:do if(!(U<<24>>24))if(!f)break c;else P=214;else{E:do if((f|0)<(r|0)){k=O-f|0;if((k|0)>0){j=n-k|0;if((j|0)<1)j=98;else P=208}else{j=n;k=0;P=208}if((P|0)==208){P=0;l=k+f|0;m=r-l|0;m=(j|0)>(m|0)?m:j;if((m|0)>0){l=o+(l*3|0)|0;j=i+(k*3|0)|0;k=0;while(1){I=(d[j+1>>0]|0)<<8|(d[j+2>>0]|0)<<16|(d[j>>0]|0);U=l+2|0;S=l+1|0;J=(d[S>>0]|0)<<8|(d[U>>0]|0)<<16|(d[l>>0]|0);B=d[s>>0]|0;X=c[16112+(B<<2)>>2]|0;W=c[t>>2]|0;g=d[u>>0]|0;F=d[v>>0]|0;C=c[16112+(F<<2)>>2]|0;D=c[w>>2]|0;L=d[x>>0]|0;K=d[y>>0]|0;G=c[16112+(K<<2)>>2]|0;H=c[z>>2]|0;T=d[A>>0]|0;V=d[X+((J&W)>>>g)>>0]|0;E=d[C+((D&J)>>>L)>>0]|0;J=d[G+((H&J)>>>T)>>0]|0;g=(((N((d[X+((W&I)>>>g)>>0]|0)-V|0,M)|0)>>>8)+V|0)>>>B<<g;L=(((N((d[C+((D&I)>>>L)>>0]|0)-E|0,M)|0)>>>8)+E|0)>>>F<<L;T=(((N((d[G+((H&I)>>>T)>>0]|0)-J|0,M)|0)>>>8)+J|0)>>>K<<T;T=g|c[q>>2]|L|T;a[l>>0]=T;a[S>>0]=T>>>8;a[U>>0]=T>>>16;k=k+1|0;if((k|0)>=(m|0)){j=0;break}else{l=l+3|0;j=j+3|0}}}else j=0}switch(j&127){case 98:case 0:break E;default:{}}if(!j)break D;else break c}while(0);f=f+n|0;i=i+(n*3|0)|0;P=214}while(0);if((P|0)==214){P=0;if((f|0)==(R|0))break}}p=p+-1|0;if(!p)break;else o=o+(c[Q>>2]|0)|0}break}default:break c}}while(0);if(!(c[h>>2]&2)){X=0;return X|0}sFa(h);X=0;return X|0}function qFa(f,g,h,i){f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;n=f+8|0;t=c[n>>2]|0;p=h+4|0;q=c[p>>2]|0;if(c[h>>2]&2|0?(rFa(h)|0)<0:0){t=-1;return t|0}s=h+16|0;o=(c[h+20>>2]|0)+(N(c[s>>2]|0,c[i+4>>2]|0)|0)|0;m=a[q+9>>0]|0;o=o+(N(c[i>>2]|0,m&255)|0)|0;i=(c[(c[f+52>>2]|0)+12>>2]|0)+28|0;f=c[g+4>>2]|0;a:do if(!f)l=21;else{if(m<<24>>24!=2){k=f<<1;while(1){f=0;do{f=f+(e[i>>1]|0)|0;r=b[i+2>>1]|0;j=r&65535;i=i+4|0;if(!(r<<16>>16)){if(!f)break a}else{f=f+j|0;i=i+(j<<2)|0}}while((f|0)<(t|0));k=k+-1|0;if(!k){l=21;break a}}}while(1){j=0;do{j=j+(d[i>>0]|0)|0;r=a[i+1>>0]|0;k=r&255;i=i+2|0;if(!(r<<24>>24)){if(!j)break a}else{j=j+k|0;i=i+(k<<1)|0}}while((j|0)<(t|0));j=0;i=i+(i&2)|0;do{r=e[i+2>>1]|0;k=i;i=i+((r<<2)+4)|0;j=j+(e[k>>1]|0)+r|0}while((j|0)<(t|0));f=f+-1|0;if(!f){l=21;break}}}while(0);b:do if((l|0)==21){r=c[g>>2]|0;if((r|0)==0?(c[g+8>>2]|0)==(c[n>>2]|0):0){switch(m<<24>>24){case 2:break;case 4:{p=c[g+12>>2]|0;while(1){f=0;do{f=f+(e[i>>1]|0)|0;r=b[i+2>>1]|0;j=r&65535;i=i+4|0;if(!(r<<16>>16)){if(!f)break b}else{r=j<<2;uBa(o+(f<<2)|0,i,r)|0;f=f+j|0;i=i+r|0}}while((f|0)<(t|0));f=0;do{f=f+(e[i>>1]|0)|0;r=b[i+2>>1]|0;n=r&65535;i=i+4|0;if(r<<16>>16){m=n<<2;j=0;k=o+(f<<2)|0;l=i;while(1){q=c[l>>2]|0;u=c[k>>2]|0;g=q>>>24;r=u&16711935;u=u&65280;c[k>>2]=((N((q&65280)-u|0,g)|0)>>>8)+u&65280|((N((q&16711935)-r|0,g)|0)>>>8)+r&16711935|-16777216;j=j+1|0;if((j|0)==(n|0))break;else{k=k+4|0;l=l+4|0}}i=i+m|0;f=f+n|0}}while((f|0)<(t|0));p=p+-1|0;if(!p)break b;else o=o+(c[s>>2]|0)|0}}default:break b}if(((c[q+16>>2]|0)!=2016?(c[q+12>>2]|0)!=2016:0)?(c[q+20>>2]|0)!=2016:0){p=c[g+12>>2]|0;while(1){f=0;do{f=f+(d[i>>0]|0)|0;u=a[i+1>>0]|0;j=u&255;i=i+2|0;if(!(u<<24>>24)){if(!f)break b}else{u=j<<1;uBa(o+(f<<1)|0,i,u)|0;f=f+j|0;i=i+u|0}}while((f|0)<(t|0));i=i+(i&2)|0;f=0;do{f=f+(e[i>>1]|0)|0;u=b[i+2>>1]|0;n=u&65535;i=i+4|0;if(u<<16>>16){m=n<<2;j=0;k=o+(f<<1)|0;l=i;while(1){r=c[l>>2]|0;u=e[k>>1]|0;u=(u<<16|u)&65043487;u=((N((r&65043487)-u|0,r>>>5&31)|0)>>>5)+u&65043487;b[k>>1]=u>>>16|u;j=j+1|0;if((j|0)==(n|0))break;else{k=k+2|0;l=l+4|0}}i=i+m|0;f=f+n|0}}while((f|0)<(t|0));p=p+-1|0;if(!p)break b;else o=o+(c[s>>2]|0)|0}}p=c[g+12>>2]|0;while(1){f=0;do{f=f+(d[i>>0]|0)|0;u=a[i+1>>0]|0;j=u&255;i=i+2|0;if(!(u<<24>>24)){if(!f)break b}else{u=j<<1;uBa(o+(f<<1)|0,i,u)|0;f=f+j|0;i=i+u|0}}while((f|0)<(t|0));i=i+(i&2)|0;f=0;do{f=f+(e[i>>1]|0)|0;u=b[i+2>>1]|0;n=u&65535;i=i+4|0;if(u<<16>>16){m=n<<2;j=o+(f<<1)|0;k=0;l=i;while(1){r=c[l>>2]|0;u=e[j>>1]|0;u=(u<<16|u)&132184095;u=((N((r&132184095)-u|0,r>>>5&31)|0)>>>5)+u&132184095;b[j>>1]=u>>>16|u;k=k+1|0;if((k|0)==(n|0))break;else{j=j+2|0;l=l+4|0}}i=i+m|0;f=f+n|0}}while((f|0)<(t|0));p=p+-1|0;if(!p)break b;else o=o+(c[s>>2]|0)|0}}f=c[p>>2]|0;switch(a[f+9>>0]|0){case 2:break;case 4:{q=(c[g+8>>2]|0)+r|0;p=c[g+12>>2]|0;o=o+(0-(r<<2))|0;while(1){f=0;do{f=f+(e[i>>1]|0)|0;u=b[i+2>>1]|0;l=u&65535;i=i+4|0;if(!(u<<16>>16)){if(!f)break b}else{j=r-f|0;u=(j|0)>0;k=u?r:f;j=l-(u?j:0)|0;u=q-k|0;j=(j|0)>(u|0)?u:j;if((j|0)>0)uBa(o+(k<<2)|0,i+(k-f<<2)|0,j<<2)|0;f=f+l|0;i=i+(l<<2)|0}}while((f|0)<(t|0));f=0;do{f=f+(e[i>>1]|0)|0;u=b[i+2>>1]|0;n=u&65535;i=i+4|0;if(u<<16>>16){l=r-f|0;u=(l|0)>0;j=u?r:f;l=n-(u?l:0)|0;u=q-j|0;l=(l|0)>(u|0)?u:l;if((l|0)>0){m=o+(j<<2)|0;k=i+(j-f<<2)|0;j=0;do{w=c[k+(j<<2)>>2]|0;u=m+(j<<2)|0;g=c[u>>2]|0;v=w>>>24;x=g&16711935;g=g&65280;c[u>>2]=((N((w&16711935)-x|0,v)|0)>>>8)+x&16711935|((N((w&65280)-g|0,v)|0)>>>8)+g&65280|-16777216;j=j+1|0}while((j|0)<(l|0))}i=i+(n<<2)|0;f=f+n|0}}while((f|0)<(t|0));p=p+-1|0;if(!p)break b;else o=o+(c[s>>2]|0)|0}}default:break b}if(((c[f+16>>2]|0)!=2016?(c[f+12>>2]|0)!=2016:0)?(c[f+20>>2]|0)!=2016:0){q=(c[g+8>>2]|0)+r|0;p=c[g+12>>2]|0;o=o+(0-(r<<1))|0;while(1){f=0;do{f=f+(d[i>>0]|0)|0;x=a[i+1>>0]|0;l=x&255;i=i+2|0;if(!(x<<24>>24)){if(!f)break b}else{j=r-f|0;k=(j|0)>0;j=l-(k?j:0)|0;k=k?r:f;x=q-k|0;j=(j|0)>(x|0)?x:j;if((j|0)>0)uBa(o+(k<<1)|0,i+(k-f<<1)|0,j<<1)|0;f=f+l|0;i=i+(l<<1)|0}}while((f|0)<(t|0));i=i+(i&2)|0;f=0;do{f=f+(e[i>>1]|0)|0;x=b[i+2>>1]|0;n=x&65535;i=i+4|0;if(x<<16>>16){l=r-f|0;j=(l|0)>0;l=n-(j?l:0)|0;j=j?r:f;x=q-j|0;l=(l|0)>(x|0)?x:l;if((l|0)>0){m=o+(j<<1)|0;k=i+(j-f<<2)|0;j=0;do{v=c[k+(j<<2)>>2]|0;x=m+(j<<1)|0;w=e[x>>1]|0;w=(w<<16|w)&65043487;w=((N((v&65043487)-w|0,v>>>5&31)|0)>>>5)+w&65043487;b[x>>1]=w>>>16|w;j=j+1|0}while((j|0)<(l|0))}i=i+(n<<2)|0;f=f+n|0}}while((f|0)<(t|0));p=p+-1|0;if(!p)break b;else o=o+(c[s>>2]|0)|0}}q=(c[g+8>>2]|0)+r|0;p=o+(0-(r<<1))|0;o=c[g+12>>2]|0;while(1){f=0;do{f=f+(d[i>>0]|0)|0;x=a[i+1>>0]|0;l=x&255;i=i+2|0;if(!(x<<24>>24)){if(!f)break b}else{j=r-f|0;k=(j|0)>0;j=l-(k?j:0)|0;k=k?r:f;x=q-k|0;j=(j|0)>(x|0)?x:j;if((j|0)>0)uBa(p+(k<<1)|0,i+(k-f<<1)|0,j<<1)|0;f=f+l|0;i=i+(l<<1)|0}}while((f|0)<(t|0));f=0;i=i+(i&2)|0;do{f=f+(e[i>>1]|0)|0;x=b[i+2>>1]|0;n=x&65535;i=i+4|0;if(x<<16>>16){l=r-f|0;j=(l|0)>0;l=n-(j?l:0)|0;j=j?r:f;x=q-j|0;l=(l|0)>(x|0)?x:l;if((l|0)>0){m=p+(j<<1)|0;k=i+(j-f<<2)|0;j=0;do{v=c[k+(j<<2)>>2]|0;x=m+(j<<1)|0;w=e[x>>1]|0;w=(w<<16|w)&132184095;w=((N((v&132184095)-w|0,v>>>5&31)|0)>>>5)+w&132184095;b[x>>1]=w>>>16|w;j=j+1|0}while((j|0)<(l|0))}f=f+n|0;i=i+(n<<2)|0}}while((f|0)<(t|0));o=o+-1|0;if(!o)break;else p=p+(c[s>>2]|0)|0}}while(0);if(!(c[h>>2]&2)){x=0;return x|0}sFa(h);x=0;return x|0}function rFa(a){a=a|0;var b=0,d=0;d=a+28|0;b=c[d>>2]|0;if(!b)if(!(c[a>>2]&2))b=0;else{zBa(a,1);c[a>>2]=c[a>>2]|2;b=c[d>>2]|0}c[d>>2]=b+1;return 0}function sFa(a){a=a|0;var b=0,d=0;b=a+28|0;d=c[b>>2]|0;if(!d)return;c[b>>2]=d+-1;if((d|0)>1)return;b=c[a>>2]|0;if(!(b&2))return;c[a>>2]=b&-3;EBa(a)|0;return}function tFa(a){a=a|0;return d[a>>0]|0|0}function uFa(a){a=a|0;return e[a>>1]|0|0}function vFa(a){a=a|0;return (d[a+1>>0]|0)<<8|(d[a>>0]|0)|(d[a+2>>0]|0)<<16|0}function wFa(a){a=a|0;return c[a>>2]|0}function xFa(a,b,c){a=a|0;b=b|0;c=c|0;return cOa(a,b,c)|0}function yFa(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,i=0;g=l;l=l+16|0;e=g+8|0;if(!a){f=MAa(193366,g)|0;l=g;return f|0}f=(b|0)!=0;if(f?(c[b>>2]|0)!=(1<<(d[a+8>>0]|0)|0):0){f=MAa(193413,e)|0;l=g;return f|0}a=a+4|0;e=c[a>>2]|0;if((e|0)==(b|0)){f=0;l=g;return f|0}if(e|0?(i=e+12|0,h=c[i>>2]|0,c[i>>2]=h+-1,(h|0)<=1):0){iBa(c[e+4>>2]|0);iBa(e)}c[a>>2]=b;if(!f){i=0;l=g;return i|0}i=b+12|0;c[i>>2]=(c[i>>2]|0)+1;i=0;l=g;return i|0}function zFa(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;f=l;l=l+16|0;d=f;if(!a){c[d>>2]=193359;MAa(208008,d)|0;l=f;return}g=a+36|0;d=c[g>>2]|0;c[g>>2]=d+-1;if((d|0)>1){l=f;return}d=c[56500]|0;a:do if((d|0)!=(a|0)){if(d|0?(b=d+40|0,e=c[b>>2]|0,e|0):0){while(1){if((e|0)==(a|0))break;b=e+40|0;e=c[b>>2]|0;if(!e)break a}c[b>>2]=c[a+40>>2]}}else c[56500]=c[a+40>>2];while(0);b=c[a+4>>2]|0;if(b|0?(e=b+12|0,g=c[e>>2]|0,c[e>>2]=g+-1,(g|0)<=1):0){iBa(c[b+4>>2]|0);iBa(b)}iBa(a);l=f;return}function AFa(a){a=a|0;var b=0,d=0,e=0;if(!a)return;b=c[a>>2]|0;if(b|0?(e=b+56|0,d=c[e>>2]|0,c[e>>2]=d+-1,(d|0)<2):0)ABa(b);c[a>>2]=0;c[a+84>>2]=0;c[a+80>>2]=0;e=a+64|0;iBa(c[e>>2]|0);c[e>>2]=0;iBa(a);return}function BFa(e,f,g){e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,O=0,P=0,Q=0,R=0;R=l;l=l+48|0;j=R+16|0;i=R+24|0;if(!e){Q=MAa(196837,R)|0;l=R;return Q|0}k=e+4|0;if((d[(c[k>>2]|0)+8>>0]|0)<8){Q=MAa(193488,R+8|0)|0;l=R;return Q|0}h=e+36|0;if(!f){if((c[e+44>>2]|0)<1){Q=0;l=R;return Q|0}if((c[e+48>>2]|0)>0)o=h;else{Q=0;l=R;return Q|0}}else if(!(FFa(f,h,i)|0)){Q=0;l=R;return Q|0}else o=i;f=c[e+20>>2]|0;if(!f){Q=MAa(193531,j)|0;l=R;return Q|0}Q=c[e+16>>2]|0;h=f+(N(Q,c[o+4>>2]|0)|0)|0;n=a[(c[k>>2]|0)+9>>0]|0;h=h+(N(c[o>>2]|0,n&255)|0)|0;switch(n<<24>>24){case 1:{m=g<<8|g;m=m<<16|m;n=c[o+8>>2]|0;M=c[o+12>>2]|0;f=M+-1|0;if(!M){Q=0;l=R;return Q|0}o=g&255;k=n+-1|0;if((n|0)<=3){i=n&-4;if(!(n&3)){Q=0;l=R;return Q|0}switch(n&3){case 3:{while(1){P=h+i|0;g=P+1|0;a[P>>0]=o;a[g>>0]=o;a[g+1>>0]=o;if(!f){P=0;break}else{h=h+Q|0;f=f+-1|0}}l=R;return P|0}case 2:{while(1){g=h+i|0;a[g>>0]=o;a[g+1>>0]=o;if(!f){P=0;break}else{h=h+Q|0;f=f+-1|0}}l=R;return P|0}case 1:{while(1){a[h+i>>0]=o;if(!f){P=0;break}else{h=h+Q|0;f=f+-1|0}}l=R;return P|0}default:{Q=0;l=R;return Q|0}}}j=n+-2|0;a:while(1){switch(h&3){case 1:{a[h>>0]=o;q=h+1|0;D=j;O=17;break}case 2:{q=h;D=k;O=17;break}case 3:{t=h;E=k;O=18;break}default:{w=h;y=n}}if((O|0)==17){a[q>>0]=o;t=q+1|0;E=D+-1|0;O=18}if((O|0)==18){O=0;a[t>>0]=o;w=t+1|0;y=E}i=y>>>2;e=(i+3|0)>>>2;if(i|0){switch(i&3){case 0:{p=e;r=w;O=21;break}case 3:{s=e;u=w;O=22;break}case 2:{v=e;x=w;O=23;break}case 1:{z=e;A=w;O=24;break}default:{O=31;break a}}while(1)if((O|0)==21){c[r>>2]=m;s=p;u=r+4|0;O=22;continue}else if((O|0)==22){c[u>>2]=m;v=s;x=u+4|0;O=23;continue}else if((O|0)==23){c[x>>2]=m;z=v;A=x+4|0;O=24;continue}else if((O|0)==24){O=0;c[A>>2]=m;i=z+-1|0;if(!i)break;else{p=i;r=A+4|0;O=21;continue}}}b:do if(y&3|0){i=w+(y&-4)|0;switch(y&3){case 3:{a[i>>0]=o;B=i+1|0;O=28;break}case 2:{B=i;O=28;break}case 1:{C=i;break}default:break b}if((O|0)==28){O=0;a[B>>0]=o;C=B+1|0}a[C>>0]=o}while(0);if(!f){P=0;O=87;break}else{h=h+Q|0;f=f+-1|0}}if((O|0)!=31)if((O|0)==87){l=R;return P|0}break}case 2:{p=g<<16|g;n=c[o+8>>2]|0;O=c[o+12>>2]|0;f=O+-1|0;if(!O){Q=0;l=R;return Q|0}q=n+-1|0;o=g&65535;if((n|0)<=1){if(!(n&1)){Q=0;l=R;return Q|0}while(1){b[h+(q<<1)>>1]=o;if(!f){P=0;break}else{h=h+Q|0;f=f+-1|0}}l=R;return P|0}c:while(1){i=h+2|0;if(!(h&2)){k=h;m=n;j=h}else{b[h>>1]=o;k=i;m=q;j=i}i=m>>>1;e=(i+3|0)>>>2;if(i|0){switch(i&3){case 0:{F=e;G=j;O=47;break}case 3:{H=e;I=j;O=48;break}case 2:{J=e;K=j;O=49;break}case 1:{L=e;M=j;O=50;break}default:{O=54;break c}}while(1)if((O|0)==47){c[G>>2]=p;H=F;I=G+4|0;O=48;continue}else if((O|0)==48){c[I>>2]=p;J=H;K=I+4|0;O=49;continue}else if((O|0)==49){c[K>>2]=p;L=J;M=K+4|0;O=50;continue}else if((O|0)==50){c[M>>2]=p;i=L+-1|0;if(!i)break;else{F=i;G=M+4|0;O=47;continue}}}if(m&1|0)b[k+(m+-1<<1)>>1]=o;if(!f){P=0;O=87;break}else{h=h+Q|0;f=f+-1|0}}if((O|0)!=54)if((O|0)==87){l=R;return P|0}break}case 3:{n=c[o+8>>2]|0;e=c[o+12>>2]|0;k=g&255;m=g>>>8&255;j=g>>>16&255;if((n|0)==0|(e|0)==0){Q=0;l=R;return Q|0}while(1){f=n;i=h;while(1){f=f+-1|0;a[i>>0]=k;a[i+1>>0]=m;a[i+2>>0]=j;if(!f)break;else i=i+3|0}e=e+-1|0;if(!e){P=0;break}else h=h+Q|0}l=R;return P|0}case 4:{i=c[o+8>>2]|0;f=c[o+12>>2]|0;if(!f){Q=0;l=R;return Q|0}j=(i+3|0)>>>2;if(!i){Q=0;l=R;return Q|0}switch(i&3){case 0:{while(1){i=j;e=h;while(1){c[e>>2]=g;c[e+4>>2]=g;c[e+8>>2]=g;c[e+12>>2]=g;i=i+-1|0;if(!i)break;else e=e+16|0}f=f+-1|0;if(!f){P=0;break}else h=h+Q|0}l=R;return P|0}case 3:{j=j+-1|0;if(!j){while(1){c[h>>2]=g;c[h+4>>2]=g;c[h+8>>2]=g;f=f+-1|0;if(!f){P=0;break}else h=h+Q|0}l=R;return P|0}while(1){c[h>>2]=g;c[h+4>>2]=g;c[h+8>>2]=g;i=h;e=j;do{P=i;i=i+16|0;c[P+12>>2]=g;c[i>>2]=g;c[P+20>>2]=g;c[P+24>>2]=g;e=e+-1|0}while((e|0)!=0);f=f+-1|0;if(!f){P=0;break}else h=h+Q|0}l=R;return P|0}case 1:{j=j+-1|0;k=(j|0)==0;while(1){c[h>>2]=g;if(!k){i=h;e=j;do{c[i+4>>2]=g;c[i+8>>2]=g;c[i+12>>2]=g;i=i+16|0;c[i>>2]=g;e=e+-1|0}while((e|0)!=0)}f=f+-1|0;if(!f){P=0;break}else h=h+Q|0}l=R;return P|0}default:{j=j+-1|0;k=(j|0)==0;while(1){c[h>>2]=g;c[h+4>>2]=g;if(!k){i=h;e=j;do{c[i+8>>2]=g;P=i;i=i+16|0;c[P+12>>2]=g;c[i>>2]=g;c[P+20>>2]=g;e=e+-1|0}while((e|0)!=0)}f=f+-1|0;if(!f){P=0;break}else h=h+Q|0}l=R;return P|0}}}default:{Q=0;l=R;return Q|0}}return 0}function CFa(a,b,f,g,h){a=a|0;b=b|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;if((f|0)<=0){y=f<<1;return y|0}u=g+4|0;v=g+8|0;w=g+12|0;r=c[16112+((d[g+20>>0]|0)<<2)>>2]|0;s=c[16112+((d[g+21>>0]|0)<<2)>>2]|0;t=c[16112+((d[g+22>>0]|0)<<2)>>2]|0;x=d[g+24>>0]|0;y=d[g+25>>0]|0;k=d[g+26>>0]|0;l=d[h+28>>0]|0;m=d[h+32>>0]|0;n=d[h+29>>0]|0;o=d[h+33>>0]|0;p=d[h+30>>0]|0;q=d[h+34>>0]|0;j=((c[h+24>>2]|0)==0?0:255)>>>(d[h+31>>0]|0)<<(d[h+35>>0]|0);i=0;h=b;g=a;while(1){a=e[h>>1]|0;c[g>>2]=(d[s+((c[v>>2]&a)>>>y)>>0]|0)>>>n<<o|(d[r+((c[u>>2]&a)>>>x)>>0]|0)>>>l<<m|(d[t+((c[w>>2]&a)>>>k)>>0]|0)>>>p<<q|j;i=i+1|0;if((i|0)==(f|0))break;else{h=h+2|0;g=g+4|0}}y=f<<1;return y|0}function DFa(a,b,e,f,g){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;if((e|0)<=0){y=e<<2;return y|0}y=f+4|0;u=f+8|0;v=f+12|0;r=c[16112+((d[f+20>>0]|0)<<2)>>2]|0;s=c[16112+((d[f+21>>0]|0)<<2)>>2]|0;t=c[16112+((d[f+22>>0]|0)<<2)>>2]|0;w=d[f+24>>0]|0;x=d[f+25>>0]|0;j=d[f+26>>0]|0;k=d[g+28>>0]|0;l=d[g+32>>0]|0;m=d[g+29>>0]|0;n=d[g+33>>0]|0;o=d[g+30>>0]|0;p=d[g+34>>0]|0;q=d[g+31>>0]|0;i=d[g+35>>0]|0;h=0;g=b;f=a;while(1){a=c[g>>2]|0;c[f>>2]=(d[s+((c[u>>2]&a)>>>x)>>0]|0)>>>m<<n|(d[r+((c[y>>2]&a)>>>w)>>0]|0)>>>k<<l|(d[t+((c[v>>2]&a)>>>j)>>0]|0)>>>o<<p|a>>>24>>>q<<i;h=h+1|0;if((h|0)==(e|0))break;else{g=g+4|0;f=f+4|0}}y=e<<2;return y|0}function EFa(a,b,e,f,g){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;if((e|0)<=0){y=e<<2;return y|0}y=f+4|0;u=f+8|0;v=f+12|0;r=c[16112+((d[f+20>>0]|0)<<2)>>2]|0;s=c[16112+((d[f+21>>0]|0)<<2)>>2]|0;t=c[16112+((d[f+22>>0]|0)<<2)>>2]|0;w=d[f+24>>0]|0;x=d[f+25>>0]|0;j=d[f+26>>0]|0;k=d[g+28>>0]|0;l=d[g+32>>0]|0;m=d[g+29>>0]|0;n=d[g+33>>0]|0;o=d[g+30>>0]|0;p=d[g+34>>0]|0;q=d[g+31>>0]|0;i=d[g+35>>0]|0;h=0;g=b;f=a;while(1){a=c[g>>2]|0;b=a&-993|a>>>16;c[f>>2]=(d[s+((c[u>>2]&b)>>>x)>>0]|0)>>>m<<n|(d[r+((c[y>>2]&b)>>>w)>>0]|0)>>>k<<l|(d[t+((c[v>>2]&b)>>>j)>>0]|0)>>>o<<p|(a>>>2&248)>>>q<<i;h=h+1|0;if((h|0)==(e|0))break;else{g=g+4|0;f=f+4|0}}y=e<<2;return y|0}function FFa(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0;k=l;l=l+32|0;g=k+16|0;f=k+8|0;e=k;if(!a){c[e>>2]=193573;MAa(208008,e)|0;d=0;l=k;return d|0}if(!b){c[f>>2]=193575;MAa(208008,f)|0;d=0;l=k;return d|0}if(!d){c[g>>2]=193577;MAa(208008,g)|0;d=0;l=k;return d|0}e=c[a+8>>2]|0;if((((e|0)>=1?(h=c[a+12>>2]|0,(h|0)>0):0)?(i=c[b+8>>2]|0,(i|0)>=1):0)?(j=c[b+12>>2]|0,(j|0)>0):0){m=c[a>>2]|0;g=e+m|0;e=c[b>>2]|0;f=i+e|0;i=(e|0)>(m|0)?e:m;c[d>>2]=i;i=((f|0)<(g|0)?f:g)-i|0;c[d+8>>2]=i;a=c[a+4>>2]|0;h=h+a|0;g=c[b+4>>2]|0;b=j+g|0;j=(g|0)>(a|0)?g:a;c[d+4>>2]=j;j=((b|0)<(h|0)?b:h)-j|0;c[d+12>>2]=j;d=(i|0)>0&(j|0)>0&1;l=k;return d|0}c[d+8>>2]=0;c[d+12>>2]=0;m=0;l=k;return m|0}function GFa(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0;m=l;l=l+32|0;k=m+16|0;i=m+8|0;h=m;a:do if((a|0)==0|(a&-268435456|0)==268435456){c[b>>2]=(a&255)>>>0<3?a>>>8&255:a<<3&2040;c[g>>2]=0;c[f>>2]=0;c[e>>2]=0;c[d>>2]=0;b:do if((a|0)<390076419){switch(a|0){case 386930691:break;default:break b}c[d>>2]=255;c[e>>2]=65280;c[f>>2]=16711680;b=1;break a}else{switch(a|0){case 390076419:break;default:break b}c[d>>2]=16711680;c[e>>2]=65280;c[f>>2]=255;b=1;break a}while(0);if(((a>>>24&15)+-4|0)>>>0<3){switch(a>>>16&15){case 1:{b=0;h=224;i=28;j=3;break}case 2:{b=61440;h=3840;i=240;j=15;break}case 3:{b=32768;h=31744;i=992;j=31;break}case 4:{b=63488;h=1984;i=62;j=1;break}case 5:{b=0;h=63488;i=2016;j=31;break}case 6:{b=-16777216;h=16711680;i=65280;j=255;break}case 7:{b=-1073741824;h=1072693248;i=1047552;j=1023;break}case 8:{b=-4194304;h=4190208;i=4092;j=3;break}default:{MAa(196245,i)|0;b=0;break a}}switch(a>>>20&15){case 1:{c[d>>2]=h;c[e>>2]=i;c[f>>2]=j;b=1;break a}case 2:{c[d>>2]=b;c[e>>2]=h;c[f>>2]=i;b=1;break a}case 3:{c[g>>2]=b;c[d>>2]=h;c[e>>2]=i;c[f>>2]=j;b=1;break a}case 4:{c[d>>2]=b;c[e>>2]=h;c[f>>2]=i;c[g>>2]=j;b=1;break a}case 5:{c[f>>2]=h;c[e>>2]=i;c[d>>2]=j;b=1;break a}case 6:{c[f>>2]=b;c[e>>2]=h;c[d>>2]=i;b=1;break a}case 8:{c[f>>2]=b;c[e>>2]=h;c[d>>2]=i;c[g>>2]=j;b=1;break a}case 7:{c[g>>2]=b;c[f>>2]=h;c[e>>2]=i;c[d>>2]=j;b=1;break a}default:{MAa(196245,k)|0;b=0;break a}}}else b=1}else{MAa(193584,h)|0;b=0}while(0);l=m;return b|0}function HFa(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;g=l;l=l+16|0;f=g+8|0;e=c[56498]|0;if(!e){MAa(192981,g)|0;l=g;return}if(a|0?(c[a>>2]|0)==(e+280|0):0){if(b|0)c[b>>2]=c[a+24>>2];if(!d){l=g;return}c[d>>2]=c[a+28>>2];l=g;return}MAa(208472,f)|0;l=g;return}function IFa(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0;q=l;l=l+16|0;g=q+8|0;h=q;p=c[b+320>>2]|0;i=c[e+68>>2]|0;o=c[e+24>>2]|0;j=b+308|0;f=c[j>>2]|0;a:do if(f){f=c[f+4>>2]|0;g=c[e+4>>2]|0;if((f|0)==(g|0))f=1;else{b:do if((g|0)<825382478)if((g|0)<374740996){if((g|0)>=372645892){switch(g|0){case 372645892:break;default:break b}if((f|0)<376840196)switch(f|0){case 374740996:break;default:{f=1;break a}}else switch(f|0){case 376840196:break;default:{f=1;break a}}f=2;break a}switch(g|0){case 370546692:break;default:break b}if((f|0)<374740996){switch(f|0){case 372645892:break;default:{f=1;break a}}f=4;break a}if((f|0)<376840196){switch(f|0){case 374740996:break;default:{f=1;break a}}f=2;break a}else{switch(f|0){case 376840196:break;default:{f=1;break a}}f=2;break a}}else{if((g|0)>=376840196){switch(g|0){case 376840196:break;default:break b}if((f|0)<372645892)switch(f|0){case 370546692:break;default:{f=1;break a}}else switch(f|0){case 372645892:break;default:{f=1;break a}}f=2;break a}switch(g|0){case 374740996:break;default:break b}if((f|0)<372645892){switch(f|0){case 370546692:break;default:{f=1;break a}}f=2;break a}if((f|0)<376840196){switch(f|0){case 372645892:break;default:{f=1;break a}}f=3;break a}else{switch(f|0){case 376840196:break;default:{f=1;break a}}f=4;break a}}else{if((g|0)>=842094169)if((g|0)<1448433993)switch(g|0){case 842094169:{f=5;break a}default:break b}else switch(g|0){case 1448433993:{f=5;break a}default:break b}if((g|0)<842094158){switch(g|0){case 825382478:break;default:break b}f=7;break a}else{switch(g|0){case 842094158:break;default:break b}f=6;break a}}while(0);p=MAa(193851,h)|0;l=q;return p|0}}else{f=c[e+4>>2]|0;c:do if((f|0)<825382478){if((f|0)<374740996){if((f|0)>=372645892)switch(f|0){case 372645892:{f=2;break a}default:break c}switch(f|0){case 370546692:break;default:break c}f=3;break a}if((f|0)<376840196){switch(f|0){case 374740996:break;default:break c}f=4;break a}else{switch(f|0){case 376840196:break;default:break c}f=1;break a}}else{if((f|0)>=842094169){if((f|0)<1448433993)switch(f|0){case 842094169:break;default:break c}else switch(f|0){case 1448433993:break;default:break c}f=5;break a}if((f|0)<842094158){switch(f|0){case 825382478:break;default:break c}f=7;break a}else{switch(f|0){case 842094158:break;default:break c}f=6;break a}}while(0);p=MAa(193851,g)|0;l=q;return p|0}while(0);if((JFa(b,f,o)|0)<0){p=-1;l=q;return p|0}if(c[i+24>>2]|0){m=p+16|0;Bk[c[m>>2]&2047](33986);b=p+28|0;k=i+4|0;Jk[c[b>>2]&1023](c[k>>2]|0,c[i+32>>2]|0);Bk[c[m>>2]&2047](33985);Jk[c[b>>2]&1023](c[k>>2]|0,c[i+36>>2]|0);Bk[c[m>>2]&2047](33984)}if(!(c[i+28>>2]|0)){f=i+4|0;g=p+28|0}else{m=p+16|0;Bk[c[m>>2]&2047](33985);g=p+28|0;f=i+4|0;Jk[c[g>>2]&1023](c[f>>2]|0,c[i+36>>2]|0);Bk[c[m>>2]&2047](33984)}Jk[c[g>>2]&1023](c[f>>2]|0,c[i>>2]|0);k=a[e+29>>0]|0;m=a[e+31>>0]|0;f=c[j>>2]|0;d:do if(!f)n=36;else{f=c[f+4>>2]|0;if((f|0)<372645892)switch(f|0){case 370546692:break;default:{n=36;break d}}else switch(f|0){case 372645892:break;default:{n=36;break d}}f=e+28|0;g=e+30|0}while(0);if((n|0)==36){f=e+30|0;g=e+28|0}e=a[f>>0]|0;f=a[g>>0]|0;g=c[p+268>>2]|0;h=g+84|0;b=g+85|0;i=g+86|0;j=g+87|0;if(((d[b>>0]|0)<<16|(d[h>>0]|0)<<24|(d[i>>0]|0)<<8|(d[j>>0]|0)|0)!=((k&255)<<16|m&255|(e&255)<<8|(f&255)<<24|0)){Fk[c[p+172>>2]&7](c[g+24>>2]|0,+(f&255)*.003921568859368563,+(k&255)*.003921568859368563,+(e&255)*.003921568859368563,+(m&255)*.003921568859368563);a[h>>0]=f;a[b>>0]=k;a[i>>0]=e;a[j>>0]=m}f=p+8|0;if((c[f>>2]|0)!=(o|0)){switch(o|0){case 4:{Bk[c[p+80>>2]&2047](3042);Qk[c[p+32>>2]&127](0,768,0,1);break}case 1:{Bk[c[p+80>>2]&2047](3042);Qk[c[p+32>>2]&127](770,771,1,771);break}case 2:{Bk[c[p+80>>2]&2047](3042);Qk[c[p+32>>2]&127](770,1,0,1);break}default:Bk[c[p+68>>2]&2047](3042)}c[f>>2]=o}f=p+12|0;if((c[f>>2]|0)==1){p=0;l=q;return p|0}Bk[c[p+84>>2]&2047](1);c[f>>2]=1;p=0;l=q;return p|0}function JFa(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;v=l;l=l+80|0;f=v+64|0;s=v;t=a+320|0;u=c[t>>2]|0;switch(b|0){case 0:{e=1;k=9;break}case 1:{e=2;k=9;break}case 2:{e=3;k=9;break}case 3:{e=5;k=9;break}case 4:{e=4;k=9;break}case 5:{e=6;k=9;break}case 6:{e=7;k=9;break}case 7:{e=8;k=9;break}default:{}}if((k|0)==9?(n=KFa(a,0,d)|0,n|0):0){h=KFa(a,e,d)|0;a:do if(!h)h=0;else{p=u+268|0;o=c[p>>2]|0;if((o|0?(c[o+8>>2]|0)==(n|0):0)?(c[o+12>>2]|0)==(h|0):0){u=0;l=v;return u|0}o=c[t>>2]|0;m=o+260|0;e=c[m>>2]|0;j=e;b:do if(!e)k=25;else{i=e;while(1){if((c[i+8>>2]|0)==(n|0)?(c[i+12>>2]|0)==(h|0):0)break;b=c[i+156>>2]|0;if(!b){k=25;break b}else i=b}if((e|0)==(i|0))break;d=i+156|0;f=c[d>>2]|0;b=i+152|0;if(f|0)c[f+152>>2]=c[b>>2];h=c[b>>2]|0;if(h|0)c[h+156>>2]=f;c[b>>2]=0;c[d>>2]=j;c[e+152>>2]=i;c[m>>2]=i;e=i;k=50}while(0);c:do if((k|0)==25){e=FAa(1,160)|0;do if(!e)GAa(0)|0;else{c[e+8>>2]=n;c[e+12>>2]=h;c[e+4>>2]=d;j=fk[c[o+48>>2]&7]()|0;c[e>>2]=j;k=o+20|0;Jk[c[k>>2]&1023](j,c[n>>2]|0);Jk[c[k>>2]&1023](c[e>>2]|0,c[h>>2]|0);k=o+24|0;Nk[c[k>>2]&255](c[e>>2]|0,0,193878);Nk[c[k>>2]&255](c[e>>2]|0,1,193889);Nk[c[k>>2]&255](c[e>>2]|0,2,193900);Nk[c[k>>2]&255](c[e>>2]|0,3,193908);Bk[c[o+132>>2]&2047](c[e>>2]|0);Nk[c[o+116>>2]&255](c[e>>2]|0,35714,s);if(!(c[s>>2]|0)){Bk[c[o+56>>2]&2047](c[e>>2]|0);iBa(e);MAa(193917,f)|0;break}f=o+128|0;k=e+16|0;c[k>>2]=kk[c[f>>2]&511](c[e>>2]|0,193947)|0;w=e+36|0;c[w>>2]=kk[c[f>>2]&511](c[e>>2]|0,193960)|0;d=e+32|0;c[d>>2]=kk[c[f>>2]&511](c[e>>2]|0,193972)|0;i=e+20|0;c[i>>2]=kk[c[f>>2]&511](c[e>>2]|0,193984)|0;j=e+24|0;c[j>>2]=kk[c[f>>2]&511](c[e>>2]|0,193994)|0;b=e+28|0;c[b>>2]=kk[c[f>>2]&511](c[e>>2]|0,194007)|0;f=e+80|0;c[f>>2]=-1;c[f+4>>2]=-1;Bk[c[o+180>>2]&2047](c[e>>2]|0);f=o+168|0;Jk[c[f>>2]&1023](c[w>>2]|0,2);Jk[c[f>>2]&1023](c[d>>2]|0,1);Jk[c[f>>2]&1023](c[i>>2]|0,0);Qk[c[o+176>>2]&127](c[k>>2]|0,1,0,e+88|0);k=o+172|0;Fk[c[k>>2]&7](c[j>>2]|0,1.0,1.0,1.0,1.0);Fk[c[k>>2]&7](c[b>>2]|0,1.0,1.0,1.0,1.0);b=c[m>>2]|0;if(!b)b=o+264|0;else{c[e+156>>2]=b;b=b+152|0}c[b>>2]=e;c[m>>2]=e;k=o+256|0;w=c[k>>2]|0;c[k>>2]=w+1;n=n+12|0;c[n>>2]=(c[n>>2]|0)+1;n=h+12|0;c[n>>2]=(c[n>>2]|0)+1;if((w|0)<=7){k=50;break c}j=o+264|0;b=c[j>>2]|0;i=c[b+8>>2]|0;n=i+12|0;w=c[n>>2]|0;c[n>>2]=w+-1;if((w|0)<2){f=c[t>>2]|0;h=i+24|0;d=c[h>>2]|0;b=i+20|0;if(d|0)c[d+20>>2]=c[b>>2];b=c[b>>2]|0;if(b|0)c[b+24>>2]=d;b=f+252|0;if((c[b>>2]|0)==(i|0))c[b>>2]=c[h>>2];b=f+248|0;c[b>>2]=(c[b>>2]|0)+-1;Bk[c[f+60>>2]&2047](c[i>>2]|0);iBa(i);b=c[j>>2]|0}i=c[b+12>>2]|0;n=i+12|0;w=c[n>>2]|0;c[n>>2]=w+-1;if((w|0)<2){f=c[t>>2]|0;h=i+24|0;d=c[h>>2]|0;b=i+20|0;if(d|0)c[d+20>>2]=c[b>>2];b=c[b>>2]|0;if(b|0)c[b+24>>2]=d;b=f+252|0;if((c[b>>2]|0)==(i|0))c[b>>2]=c[h>>2];b=f+248|0;c[b>>2]=(c[b>>2]|0)+-1;Bk[c[f+60>>2]&2047](c[i>>2]|0);iBa(i);b=c[j>>2]|0}Bk[c[o+56>>2]&2047](c[b>>2]|0);w=c[(c[j>>2]|0)+152>>2]|0;c[j>>2]=w;iBa(c[w+156>>2]|0);c[(c[j>>2]|0)+156>>2]=0;c[k>>2]=(c[k>>2]|0)+-1;k=50;break c}while(0);break a}while(0);Bk[c[u+180>>2]&2047](c[e>>2]|0);c[p>>2]=e;e=c[t>>2]|0;b=c[a+224>>2]|0;if((b|0?(q=c[a+228>>2]|0,q|0):0)?(g[s>>2]=2.0/+(b|0),r=s+4|0,c[r>>2]=0,c[r+4>>2]=0,c[r+8>>2]=0,c[r+12>>2]=0,r=(c[a+308>>2]|0)==0,g[s+20>>2]=(r?-2.0:2.0)/+(q|0),w=s+24|0,c[w>>2]=0,c[w+4>>2]=0,c[w+8>>2]=0,c[w+12>>2]=0,c[w+16>>2]=0,c[w+20>>2]=0,g[s+48>>2]=-1.0,g[s+52>>2]=r?1.0:-1.0,g[s+56>>2]=0.0,g[s+60>>2]=1.0,r=e+268|0,xFa((c[r>>2]|0)+88|0,s,64)|0):0){Qk[c[e+176>>2]&127](c[(c[r>>2]|0)+16>>2]|0,1,0,s);uBa((c[r>>2]|0)+88|0,s,64)|0}w=0;l=v;return w|0}while(0);if((c[n+12>>2]|0)<1){d=c[t>>2]|0;f=n+24|0;b=c[f>>2]|0;e=n+20|0;if(b|0)c[b+20>>2]=c[e>>2];e=c[e>>2]|0;if(e|0)c[e+24>>2]=b;e=d+252|0;if((c[e>>2]|0)==(n|0))c[e>>2]=c[f>>2];w=d+248|0;c[w>>2]=(c[w>>2]|0)+-1;Bk[c[d+60>>2]&2047](c[n>>2]|0);iBa(n)}if(h|0?(c[h+12>>2]|0)<1:0){d=c[t>>2]|0;f=h+24|0;b=c[f>>2]|0;e=h+20|0;if(b|0)c[b+20>>2]=c[e>>2];e=c[e>>2]|0;if(e|0)c[e+24>>2]=b;e=d+252|0;if((c[e>>2]|0)==(h|0))c[e>>2]=c[f>>2];w=d+248|0;c[w>>2]=(c[w>>2]|0)+-1;Bk[c[d+60>>2]&2047](c[h>>2]|0);iBa(h)}}c[u+268>>2]=0;w=-1;l=v;return w|0}function KFa(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=l;l=l+48|0;s=t+24|0;r=t+16|0;n=t+8|0;o=t+32|0;p=t+28|0;q=c[a+320>>2]|0;c[o>>2]=0;i=LFa(b,d)|0;if(!i){MAa(194015,t)|0;s=0;l=t;return s|0}j=c[i>>2]|0;if((j|0)>0?(k=c[q+240>>2]|0,m=q+244|0,(k|0)>0):0){h=0;do{e=c[i+4+(h<<2)>>2]|0;if(!e)g=0;else{d=c[e+4>>2]|0;f=c[m>>2]|0;a=0;do{g=(d|0)==(c[f+(a<<2)>>2]|0)?e:0;a=a+1|0}while((g|0)==0&(a|0)<(k|0))}h=h+1|0;a=(g|0)==0}while(a&(h|0)<(j|0));if(!a){f=q+252|0;a=c[f>>2]|0;a:do if(a|0){while(1){if((c[a+8>>2]|0)==(g|0))break;a=c[a+24>>2]|0;if(!a)break a}l=t;return a|0}while(0);e=FAa(1,28)|0;if(!e){GAa(0)|0;s=0;l=t;return s|0}c[e+4>>2]=b;c[e+8>>2]=g;a=gk[c[q+52>>2]&1023](c[g>>2]|0)|0;c[e>>2]=a;d=c[g+4>>2]|0;if((d|0)==-1){Qk[c[q+152>>2]&127](a,1,g+12|0,0);Bk[c[q+44>>2]&2047](c[e>>2]|0);a=q+124|0;Nk[c[a>>2]&255](c[e>>2]|0,35713,o);if(!(c[o>>2]|0)){c[p>>2]=0;Nk[c[a>>2]&255](c[e>>2]|0,35716,p);a=c[p>>2]|0;if((a|0)>0){s=l;l=l+((1*a|0)+15&-16)|0;Qk[c[q+120>>2]&127](c[e>>2]|0,a,p,s);c[r>>2]=s;MAa(194136,r)|0}else MAa(194166,s)|0;Bk[c[q+60>>2]&2047](c[e>>2]|0);iBa(e);s=0;l=t;return s|0}}else{Sk[c[q+148>>2]&63](1,e,d,c[g+12>>2]|0,c[g+8>>2]|0);c[o>>2]=1}a=c[f>>2]|0;if(a|0){c[e+24>>2]=a;c[a+20>>2]=e}c[f>>2]=e;s=q+248|0;c[s>>2]=(c[s>>2]|0)+1;s=e;l=t;return s|0}}MAa(194074,n)|0;s=0;l=t;return s|0}function LFa(a,b){a=a|0;b=b|0;a:do switch(a|0){case 0:{a=106196;break}case 1:switch(b|0){case 0:{a=106216;break a}case 1:{a=106176;break a}case 2:{a=106156;break a}case 4:{a=106136;break a}default:{a=0;break a}}case 2:switch(b|0){case 0:{a=106236;break a}case 1:{a=106116;break a}case 2:{a=106096;break a}case 4:{a=106076;break a}default:{a=0;break a}}case 3:switch(b|0){case 0:{a=106256;break a}case 1:{a=106056;break a}case 2:{a=106036;break a}case 4:{a=106016;break a}default:{a=0;break a}}case 5:switch(b|0){case 0:{a=106276;break a}case 1:{a=105996;break a}case 2:{a=105976;break a}case 4:{a=105956;break a}default:{a=0;break a}}case 4:switch(b|0){case 0:{a=106296;break a}case 1:{a=105936;break a}case 2:{a=105916;break a}case 4:{a=105896;break a}default:{a=0;break a}}case 6:{a=105876;break}case 7:{a=105856;break}case 8:{a=105836;break}default:a=0}while(0);return a|0}function MFa(b){b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;e=b+320|0;m=c[e>>2]|0;h=c[b+316>>2]|0;g=c[m>>2]|0;if((c[56497]|0)!=(g|0)){c[m+268>>2]=0;if((JAa(c[b+188>>2]|0,g)|0)>=0){c[56497]=c[m>>2];XAa(b)|0;f=c[e>>2]|0;i=4}}else{f=m;i=4}if((i|0)==4?c[f+4>>2]|0:0){e=f+108|0;do{}while((fk[c[e>>2]&7]()|0)!=0)}e=m+8|0;if((c[e>>2]|0)!=(h|0)){switch(h|0){case 4:{Bk[c[m+80>>2]&2047](3042);Qk[c[m+32>>2]&127](0,768,0,1);break}case 1:{Bk[c[m+80>>2]&2047](3042);Qk[c[m+32>>2]&127](770,771,1,771);break}case 2:{Bk[c[m+80>>2]&2047](3042);Qk[c[m+32>>2]&127](770,1,0,1);break}default:Bk[c[m+68>>2]&2047](3042)}c[e>>2]=h}e=m+12|0;if(c[e>>2]|0){Bk[c[m+72>>2]&2047](1);c[e>>2]=0}if((JFa(b,0,h)|0)<0){m=-1;return m|0}k=a[b+313>>0]|0;l=a[b+315>>0]|0;e=c[b+308>>2]|0;a:do if(!e)i=20;else{e=c[e+4>>2]|0;if((e|0)<372645892)switch(e|0){case 370546692:break;default:{i=20;break a}}else switch(e|0){case 372645892:break;default:{i=20;break a}}e=b+312|0;f=b+314|0}while(0);if((i|0)==20){e=b+314|0;f=b+312|0}j=a[e>>0]|0;e=a[f>>0]|0;f=c[m+268>>2]|0;g=f+80|0;h=f+81|0;b=f+82|0;i=f+83|0;if(((d[h>>0]|0)<<16|(d[g>>0]|0)<<24|(d[b>>0]|0)<<8|(d[i>>0]|0)|0)==((k&255)<<16|l&255|(j&255)<<8|(e&255)<<24|0)){m=0;return m|0}Fk[c[m+172>>2]&7](c[f+28>>2]|0,+(e&255)*.003921568859368563,+(k&255)*.003921568859368563,+(j&255)*.003921568859368563,+(l&255)*.003921568859368563);a[g>>0]=e;a[h>>0]=k;a[b>>0]=j;a[i>>0]=l;m=0;return m|0}function NFa(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;g=l;l=l+16|0;e=g+8|0;f=c[56498]|0;if(!f){MAa(192981,g)|0;l=g;return}if(a|0?(c[a>>2]|0)==(f+280|0):0){e=c[f+184>>2]|0;if(e|0){Qk[e&127](f,a,b,d);l=g;return}if(b|0)c[b>>2]=c[a+24>>2];if(!d){l=g;return}c[d>>2]=c[a+28>>2];l=g;return}MAa(208472,e)|0;l=g;return}function OFa(a){a=a|0;var b=0,d=0,e=0;b=JBa(a)|0;d=c[56501]|0;if(!d){e=b;return e|0}while(1){if(!(QFa(a,c[d>>2]|0)|0))break;d=c[d+16>>2]|0;if(!d){e=8;break}}if((e|0)==8)return b|0;if(b|0?(c[d+8>>2]|0)!=2:0){e=b;return e|0}e=c[d+4>>2]|0;return e|0}function PFa(a,b){a=a|0;b=b|0;return gOa(a,b)|0}function QFa(a,b){a=a|0;b=b|0;return eOa(a,b)|0}function RFa(b,c,d){b=b|0;c=c|0;d=d|0;var e=0,f=0;e=VNa(c)|0;f=d+-1|0;f=e>>>0<f>>>0?e:f;if(!d)return e|0;x2a(b|0,c|0,f|0)|0;a[b+f>>0]=0;return e|0}function SFa(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=l;l=l+16|0;f=e;c[f>>2]=d;TFa(a,2,b,f);l=e;return}function TFa(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0;m=l;if(d>>>0>6|59==0){l=m;return}a:do if(!0)h=7;else{g=0;while(1){if((c[g>>2]|0)==(b|0))break;g=c[g+8>>2]|0;if(!g){h=7;break a}}g=g+4|0;h=10}while(0);b:do if((h|0)==7)switch(b|0){case 8:{g=1;break b}case 0:{g=106468;h=10;break b}case 2:{g=106460;h=10;break b}default:{g=106464;h=10;break b}}while(0);if((h|0)==10)g=c[g>>2]|0;if(g>>>0>d>>>0){l=m;return}h=l;l=l+4096|0;UFa(h,4096,e,f)|0;g=kEa(h)|0;if(((g|0?(i=g+-1|0,j=h+i|0,(a[j>>0]|0)==10):0)?(a[j>>0]=0,i|0):0)?(k=h+(g+-2)|0,(a[k>>0]|0)==13):0)a[k>>0]=0;VFa(0,b,d,h);l=m;return}function UFa(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return VOa(a,b,(c|0)==0?231036:c,d)|0}function VFa(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;b=l;l=l+16|0;a=b;f=c[26719]|0;c[a>>2]=c[29280+(d<<2)>>2];c[a+4>>2]=e;SPa(f,194933,a)|0;l=b;return}function WFa(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;f=l;l=l+16|0;g=f;c[g>>2]=e;e=VOa(a,b,(d|0)==0?231036:d,g)|0;l=f;return e|0}function XFa(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=l;l=l+16|0;e=h;if(!a){c[e>>2]=195047;d=MAa(208008,e)|0;l=h;return d|0}e=lBa()|0;if(e){f=c[e>>2]|0;if(f>>>0<a>>>0)g=5}else{f=0;g=5}if((g|0)==5){g=a+4|0;e=kFa(e,(a<<3)+36|0)|0;if(!e){d=GAa(0)|0;l=h;return d|0}c[e>>2]=g;if(g>>>0>f>>>0)z2a(e+(f<<3|4)|0,0,g-f<<3|0)|0;if(YFa(e)|0){d=-1;l=h;return d|0}}a=a+-1|0;c[e+4+(a<<3)>>2]=b;c[e+4+(a<<3)+4>>2]=d;d=0;l=h;return d|0}function YFa(a){a=a|0;return ZFa(a)|0}function ZFa(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;g=nBa()|0;b=c[56499]|0;a:do if(b){d=0;e=b;while(1){if((c[e>>2]|0)==(g|0))break;b=c[e+8>>2]|0;if(!b){f=8;break a}else{d=e;e=b}}if(!a){c[((d|0)==0?225996:d+8|0)>>2]=c[e+8>>2];iBa(e);break}else{c[e+4>>2]=a;break}}else f=8;while(0);do if((f|0)==8){b=sBa(12)|0;if(b|0){c[b>>2]=g;c[b+4>>2]=a;c[b+8>>2]=c[56499];c[56499]=b;break}g=GAa(0)|0;return g|0}while(0);g=0;return g|0}function _Fa(a){a=a|0;return 0}function $Fa(a){a=a|0;var b=0;b=c[56498]|0;if(!((a|0)!=0&(b|0)!=0))return;if((kBa(c[b+664>>2]|0)|0)==(a|0))JAa(0,0)|0;b=c[56498]|0;Jk[c[b+200>>2]&1023](b,a);return}function aGa(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=l;l=l+112|0;k=t+40|0;m=t+32|0;j=t+24|0;i=t+16|0;e=t+8|0;r=t+84|0;s=t+64|0;o=t+44|0;d=c[56498]|0;if(!d){MAa(192981,t)|0;s=-1;l=t;return s|0}if(a|0?(c[a>>2]|0)==(d+280|0):0){e=(b|0)!=0;if(e&(c[a+116>>2]|0)!=0){s=0;l=t;return s|0}d=OGa(a)|0;if((d|0)>-1)p=(c[(c[56498]|0)+268>>2]|0)+(d*68|0)|0;else p=0;q=p+56|0;do if(e?(f=c[q>>2]|0,!((f|0)==0|(f|0)==(a|0))):0){d=c[56498]|0;if(!d){MAa(192981,i)|0;break}if((c[f>>2]|0)!=(d+280|0)){MAa(208472,j)|0;break}if((c[f+48>>2]&64|0)==0?(aGa(f,0)|0,g=c[56498]|0,h=c[g+96>>2]|0,h|0):0)Jk[h&1023](g,f)}while(0);if(((c[q>>2]|0)==(a|0)|0)==(b|0)?((c[a+48>>2]^c[a+52>>2])&4097|0)==0:0){s=0;l=t;return s|0}d=c[(c[56498]|0)+272>>2]|0;a:do if(d|0){b:do if(!b){e=d;while(1){if((e|0)!=(a|0)?(c[e+48>>2]&69|0)==5:0){d=OGa(e)|0;if((d|0)>-1)d=(c[(c[56498]|0)+268>>2]|0)+(d*68|0)|0;else d=0;if((d|0)==(p|0)?(xBa(o,0,20)|0,(PGa(e,o)|0)==0):0)break b}e=c[e+152>>2]|0;if(!e)break a}}else{e=d;while(1){if((e|0)!=(a|0)){if((c[e+48>>2]&69|0)==5){d=OGa(e)|0;if((d|0)>-1)d=(c[(c[56498]|0)+268>>2]|0)+(d*68|0)|0;else d=0;if((d|0)==(p|0))n=37}}else n=37;if((n|0)==37?(n=0,xBa(o,0,20)|0,(PGa(e,o)|0)==0):0)break b;e=c[e+152>>2]|0;if(!e)break a}}while(0);i=e+24|0;j=o+4|0;if((c[i>>2]|0)==(c[j>>2]|0))h=(c[e+28>>2]|0)!=(c[o+8>>2]|0)&1;else h=1;b=a+48|0;c:do if((c[b>>2]&4097|0)!=4097)if((QGa(p,o)|0)<0)d=-1;else n=49;else{d=p+16|0;c[r>>2]=c[d>>2];c[r+4>>2]=c[d+4>>2];c[r+8>>2]=c[d+8>>2];c[r+12>>2]=c[d+12>>2];c[r+16>>2]=c[d+16>>2];d=p+36|0;c[s>>2]=c[d>>2];c[s+4>>2]=c[d+4>>2];c[s+8>>2]=c[d+8>>2];c[s+12>>2]=c[d+12>>2];c[s+16>>2]=c[d+16>>2];do if(xFa(r,s,20)|0){f=c[56498]|0;g=c[f+28>>2]|0;if(!g)if((MAa(195430,m)|0)<0){d=-1;break c}else{n=49;break c}if((lk[g&127](f,p,r)|0)<0){d=-1;break c}else{c[d>>2]=c[r>>2];c[d+4>>2]=c[r+4>>2];c[d+8>>2]=c[r+8>>2];c[d+12>>2]=c[r+12>>2];c[d+16>>2]=c[r+16>>2];break}}while(0);n=49}while(0);if((n|0)==49){d=c[56498]|0;f=c[d+112>>2]|0;if(f|0)Qk[f&127](d,e,p,1);c[q>>2]=e;if(!h){c[e+112>>2]=0;bGa(e,6,c[i>>2]|0,c[e+28>>2]|0)|0}else bGa(e,5,c[j>>2]|0,c[o+8>>2]|0)|0;if((RGa()|0)==(e|0)){SGa(r,s)|0;LGa(e,c[r>>2]|0,c[s>>2]|0)}c[a+52>>2]=c[b>>2];d=0}s=d;l=t;return s|0}while(0);d=p+16|0;c[r>>2]=c[d>>2];c[r+4>>2]=c[d+4>>2];c[r+8>>2]=c[d+8>>2];c[r+12>>2]=c[d+12>>2];c[r+16>>2]=c[d+16>>2];d=p+36|0;c[s>>2]=c[d>>2];c[s+4>>2]=c[d+4>>2];c[s+8>>2]=c[d+8>>2];c[s+12>>2]=c[d+12>>2];c[s+16>>2]=c[d+16>>2];do if(xFa(r,s,20)|0){e=c[56498]|0;f=c[e+28>>2]|0;if(!f){MAa(195430,k)|0;break}if((lk[f&127](e,p,r)|0)>=0){c[d>>2]=c[r>>2];c[d+4>>2]=c[r+4>>2];c[d+8>>2]=c[r+8>>2];c[d+12>>2]=c[r+12>>2];c[d+16>>2]=c[r+16>>2]}}while(0);d=c[56498]|0;e=c[d+112>>2]|0;if(e|0)Qk[e&127](d,a,p,0);c[q>>2]=0;c[a+112>>2]=0;bGa(a,6,c[a+24>>2]|0,c[a+28>>2]|0)|0;if((RGa()|0)==(a|0)){SGa(r,s)|0;LGa(a,c[r>>2]|0,c[s>>2]|0)}c[a+52>>2]=c[a+48>>2];s=0;l=t;return s|0}MAa(208472,e)|0;s=-1;l=t;return s|0}function bGa(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0;j=l;l=l+64|0;i=j;if(!b){d=0;l=j;return d|0}a:do switch(d<<24>>24){case 1:{g=b+48|0;h=c[g>>2]|0;if(!(h&4)){c[g>>2]=h&-13|4;eGa(b);break a}else{d=0;l=j;return d|0}}case 2:{g=b+48|0;h=c[g>>2]|0;if(!(h&4)){d=0;l=j;return d|0}else{c[g>>2]=h&-13|8;fGa(b);break a}}case 4:{if((e&-65536|0)==536805376|(f&-65536|0)==536805376){d=0;l=j;return d|0}if(!(c[b+48>>2]&1)){c[b+56>>2]=e;c[b+60>>2]=f}g=b+16|0;h=b+20|0;if((c[g>>2]|0)==(e|0)?(c[h>>2]|0)==(f|0):0){d=0;l=j;return d|0}c[g>>2]=e;c[h>>2]=f;break}case 5:{if(!(c[b+48>>2]&1)){c[b+64>>2]=e;c[b+68>>2]=f}g=b+24|0;h=b+28|0;if((c[g>>2]|0)==(e|0)?(c[h>>2]|0)==(f|0):0){d=0;l=j;return d|0}c[g>>2]=e;c[h>>2]=f;gGa(b);break}case 7:{g=b+48|0;h=c[g>>2]|0;if(!(h&64)){c[g>>2]=h&-193|64;hGa(b);break a}else{d=0;l=j;return d|0}}case 8:{g=b+48|0;h=c[g>>2]|0;if(!(h&128)){c[g>>2]=h&-193|128;break a}else{d=0;l=j;return d|0}}case 9:{g=b+48|0;h=c[g>>2]|0;if(!(h&192)){d=0;l=j;return d|0}else{c[g>>2]=h&-193;iGa(b);break a}}case 10:{g=b+48|0;h=c[g>>2]|0;if(!(h&1024)){c[g>>2]=h|1024;jGa(b);break a}else{d=0;l=j;return d|0}}case 11:{g=b+48|0;h=c[g>>2]|0;if(!(h&1024)){d=0;l=j;return d|0}else{c[g>>2]=h&-1025;break a}}case 12:{g=b+48|0;h=c[g>>2]|0;if(!(h&512)){c[g>>2]=h|512;lGa(b);break a}else{d=0;l=j;return d|0}}case 13:{g=b+48|0;h=c[g>>2]|0;if(!(h&512)){d=0;l=j;return d|0}else{c[g>>2]=h&-513;mGa(b);break a}}default:{}}while(0);if((nGa(512,-1)|0)<<24>>24==1){c[i>>2]=512;a[i+12>>0]=d;c[i+16>>2]=e;c[i+20>>2]=f;c[i+8>>2]=c[b+4>>2];switch(d<<24>>24){case 5:{pGa(353,i);break}case 6:{pGa(354,i);break}case 4:{pGa(355,i);break}case 3:{pGa(356,i);break}default:{}}g=(tGa(i)|0)>0&1}else g=0;if(d<<24>>24!=14){d=g;l=j;return d|0}if(c[b+148>>2]|0){d=g;l=j;return d|0}if(c[b+152>>2]|0){d=g;l=j;return d|0}uGa()|0;d=g;l=j;return d|0}function cGa(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;h=l;l=l+16|0;e=h+8|0;d=c[56498]|0;if(!d){MAa(192981,h)|0;l=h;return}if(a|0?(c[a>>2]|0)==(d+280|0):0){d=(b|0)!=0;e=a+48|0;b=c[e>>2]|0;if(!(d^(b&256|0)!=0)){l=h;return}if(d){c[e>>2]=b|256;g=c[(dGa()|0)+76>>2]|0;i=c[e>>2]|0;d=c[56498]|0;b=d+276|0;e=c[b>>2]|0;if((i&512|0)==0|(i&256|g|0)==0)if((e|0)==(a|0)){c[b>>2]=0;e=0;b=d}else{e=0;b=d}else{if(!((e|0)==0|(e|0)==(a|0))?(f=e+48|0,c[f>>2]=c[f>>2]&-257,f=c[d+124>>2]|0,(f|0)!=0):0){Nk[f&255](d,e,0);d=c[56498]|0;b=d+276|0}c[b>>2]=a;e=1;b=d}d=c[b+124>>2]|0;if(!d){l=h;return}Nk[d&255](b,a,e);l=h;return}else{c[e>>2]=b&-257;i=c[(dGa()|0)+76>>2]|0;f=c[e>>2]|0;d=c[56498]|0;b=d+276|0;e=c[b>>2]|0;if((f&512|0)==0|(f&256|i|0)==0)if((e|0)==(a|0)){c[b>>2]=0;e=0;b=d}else{e=0;b=d}else{if(!((e|0)==0|(e|0)==(a|0))?(g=e+48|0,c[g>>2]=c[g>>2]&-257,g=c[d+124>>2]|0,(g|0)!=0):0){Nk[g&255](d,e,0);d=c[56498]|0;b=d+276|0}c[b>>2]=a;e=1;b=d}d=c[b+124>>2]|0;if(!d){l=h;return}Nk[d&255](b,a,e);l=h;return}}MAa(208472,e)|0;l=h;return}function dGa(){return 226008}function eGa(a){a=a|0;if((c[a+48>>2]&69|0)!=5)return;aGa(a,1)|0;return}function fGa(a){a=a|0;aGa(a,0)|0;return}function gGa(a){a=a|0;c[a+112>>2]=0;bGa(a,6,c[a+24>>2]|0,c[a+28>>2]|0)|0;return}function hGa(a){a=a|0;aGa(a,0)|0;return}function iGa(a){a=a|0;if((c[a+48>>2]&69|0)!=5)return;aGa(a,1)|0;return}function jGa(a){a=a|0;var b=0,d=0;b=c[56498]|0;d=c[b+144>>2]|0;if(!d)return;Jk[d&1023](b,a);return}function kGa(a){a=a|0;return}function lGa(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;b=dGa()|0;d=c[a+100>>2]|0;if(d|0?(e=c[56498]|0,f=c[e+116>>2]|0,f|0):0)lk[f&127](e,a,d)|0;if(b|0?c[b+76>>2]|0:0){KGa(a);LGa(a,(c[a+24>>2]|0)/2|0,(c[a+28>>2]|0)/2|0)}f=c[(dGa()|0)+76>>2]|0;h=c[a+48>>2]|0;d=c[56498]|0;b=d+276|0;e=c[b>>2]|0;if((h&512|0)==0|(h&256|f|0)==0)if((e|0)==(a|0)){c[b>>2]=0;e=0;b=d}else{e=0;b=d}else{if(!((e|0)==0|(e|0)==(a|0))?(g=e+48|0,c[g>>2]=c[g>>2]&-257,g=c[d+124>>2]|0,(g|0)!=0):0){Nk[g&255](d,e,0);d=c[56498]|0;b=d+276|0}c[b>>2]=a;e=1;b=d}d=c[b+124>>2]|0;if(!d)return;Nk[d&255](b,a,e);return}function mGa(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0;j=l;l=l+16|0;i=j+8|0;h=j;if(c[a+100>>2]|0?(b=c[56498]|0,d=c[b+116>>2]|0,d|0):0)lk[d&127](b,a,c[a+104>>2]|0)|0;k=c[(dGa()|0)+76>>2]|0;g=a+48|0;m=c[g>>2]|0;d=c[56498]|0;b=d+276|0;e=c[b>>2]|0;if((m&512|0)==0|(m&256|k|0)==0)if((e|0)==(a|0)){c[b>>2]=0;e=0;b=d}else{e=0;b=d}else{if(!((e|0)==0|(e|0)==(a|0))?(f=e+48|0,c[f>>2]=c[f>>2]&-257,f=c[d+124>>2]|0,(f|0)!=0):0){Nk[f&255](d,e,0);d=c[56498]|0;b=d+276|0}c[b>>2]=a;e=1;b=d}d=c[b+124>>2]|0;if(d|0)Nk[d&255](b,a,e);if(!(c[g>>2]&1)){l=j;return}if(c[a+120>>2]|0){l=j;return}if(!(JGa(197104,1)|0)){l=j;return}b=c[56498]|0;if(!b){MAa(192981,h)|0;l=j;return}if((c[a>>2]|0)!=(b+280|0)){MAa(208472,i)|0;l=j;return}if(c[g>>2]&64|0){l=j;return}aGa(a,0)|0;b=c[56498]|0;d=c[b+96>>2]|0;if(!d){l=j;return}Jk[d&1023](b,a);l=j;return}function nGa(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;f=217888+((a>>>8&255)<<2)|0;d=c[f>>2]|0;e=(d|0)==0;if(!e?(c[d+((a>>>5&7)<<2)>>2]&1<<(a&31)|0)!=0:0)g=0;else g=1;if((g&255|0)==(b|0))return g|0;switch(b|0){case 0:{if(e){d=FAa(1,32)|0;c[f>>2]=d;if(!d)return g|0}f=d+((a>>>5&7)<<2)|0;c[f>>2]=c[f>>2]|1<<(a&31);IGa(a,a);return g|0}case 1:{f=d+((a>>>5&7)<<2)|0;c[f>>2]=c[f>>2]&~(1<<(a&31));return g|0}default:return g|0}return 0}function oGa(b,d){b=b|0;d=d|0;if(((c[d>>2]|0)==512?(a[d+12>>0]|0)==5:0)?(c[d+8>>2]|0)==(c[b+8>>2]|0):0){d=0;return d|0}d=1;return d|0}function pGa(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;d=c[26618]|0;if(!d)return;if(qBa(d)|0)return;d=c[26622]|0;if(d|0)do{i=d+72|0;e=d;d=c[i>>2]|0;if(!(kk[a&511](b,e)|0)){f=e+68|0;g=c[f>>2]|0;if(g|0)c[g+72>>2]=c[i>>2];h=c[i>>2]|0;if(h|0)c[h+68>>2]=g;if((c[26622]|0)==(e|0))c[26622]=h;if((c[26623]|0)==(e|0))c[26623]=c[f>>2];c[i>>2]=c[26624];c[26624]=e;HGa(106480,-1)|0}}while((d|0)!=0);return}function qGa(b,d){b=b|0;d=d|0;if(((c[d>>2]|0)==512?(a[d+12>>0]|0)==6:0)?(c[d+8>>2]|0)==(c[b+8>>2]|0):0){d=0;return d|0}d=1;return d|0}function rGa(b,d){b=b|0;d=d|0;if(((c[d>>2]|0)==512?(a[d+12>>0]|0)==4:0)?(c[d+8>>2]|0)==(c[b+8>>2]|0):0){d=0;return d|0}d=1;return d|0}function sGa(b,d){b=b|0;d=d|0;if(((c[d>>2]|0)==512?(a[d+12>>0]|0)==3:0)?(c[d+8>>2]|0)==(c[b+8>>2]|0):0){d=0;return d|0}d=1;return d|0}function tGa(a){a=a|0;var b=0;c[a+4>>2]=wGa()|0;b=c[56531]|0;if(b|0)do{kk[c[b>>2]&511](c[b+4>>2]|0,a)|0;b=c[b+8>>2]|0}while((b|0)!=0);if((xGa(a,1,0,0,0)|0)<1){a=-1;return a|0}yGa(a);a=1;return a|0}function uGa(){c[56530]=0;return vGa(256)|0}function vGa(a){a=a|0;var b=0,d=0,e=0;d=l;l=l+64|0;b=d;e=c[217888+((a>>>8&255)<<2)>>2]|0;if(e|0?c[e+((a>>>5&7)<<2)>>2]&1<<(a&31)|0:0){e=0;l=d;return e|0}c[b>>2]=a;c[b+4>>2]=wGa()|0;a=c[56531]|0;if(a|0)do{kk[c[a>>2]&511](c[a+4>>2]|0,b)|0;a=c[a+8>>2]|0}while((a|0)!=0);if((xGa(b,1,0,0,0)|0)<1)a=0;else{yGa(b);a=1}e=a;l=d;return e|0}function wGa(){var a=0,b=0,d=0;d=l;l=l+16|0;a=d;do if(!(c[56532]|0)){c[56532]=1;if(!(fc(4,226132)|0)){c[56535]=1;break}else{Kh(226144,0)|0;b=5;break}}else b=5;while(0);if((b|0)==5?(c[56535]|0)==0:0){Kh(a|0,0)|0;b=(((c[a+4>>2]|0)-(c[56537]|0)|0)/1e3|0)+(((c[a>>2]|0)-(c[56536]|0)|0)*1e3|0)|0;l=d;return b|0}fc(4,a|0)|0;b=(((c[a+4>>2]|0)-(c[56534]|0)|0)/1e6|0)+(((c[a>>2]|0)-(c[56533]|0)|0)*1e3|0)|0;l=d;return b|0}function xGa(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0;q=l;l=l+32|0;h=q+16|0;n=q+8|0;g=q;if(!(GGa(106476)|0)){if(!d){b=-1;l=q;return b|0}MAa(195336,g)|0;b=-1;l=q;return b|0}g=c[26618]|0;if(g|0?qBa(g)|0:0){b=MAa(195404,h)|0;l=q;return b|0}a:do if(!d)if((b|0)>0){i=0;g=0;do{h=a+(i*56|0)|0;d=GGa(106480)|0;do if((d|0)<=65534){d=c[26624]|0;if(!d){d=sBa(80)|0;if(!d){d=0;break}}else c[26624]=c[d+72>>2];j=d;k=h;m=j+56|0;do{c[j>>2]=c[k>>2];j=j+4|0;k=k+4|0}while((j|0)<(m|0));if((c[h>>2]|0)==513){f=d+56|0;e=c[a+(i*56|0)+8>>2]|0;c[f>>2]=c[e>>2];c[f+4>>2]=c[e+4>>2];c[f+8>>2]=c[e+8>>2];c[d+8>>2]=f}h=c[26623]|0;if(!h){c[26622]=d;c[26623]=d;c[d+68>>2]=0}else{c[h+72>>2]=d;c[d+68>>2]=h;c[26623]=d}c[d+72>>2]=0;d=HGa(106480,1)|0;if((d|0)<(c[26621]|0))d=1;else{c[26621]=d+1;d=1}}else{c[n>>2]=d;MAa(195372,n)|0;d=0}while(0);g=d+g|0;i=i+1|0}while((i|0)!=(b|0))}else g=0;else{p=(d|0)==2;if(p){g=c[26625]|0;if(g|0){h=c[26626]|0;while(1){o=g+12|0;d=c[o>>2]|0;c[o>>2]=h;h=g;if(!d)break;else g=d}c[26626]=g}c[26625]=0}d=c[26622]|0;if(!d)g=0;else{if(!a){g=0;while(1){b=d;d=c[d+72>>2]|0;b=c[b>>2]|0;g=g+(b>>>0<=f>>>0&b>>>0>=e>>>0&1)|0;if(!d)break a}}g=0;do{if((g|0)>=(b|0))break a;o=d+72|0;n=d;d=c[o>>2]|0;h=c[n>>2]|0;if(!(h>>>0<e>>>0|h>>>0>f>>>0)){j=a+(g*56|0)|0;k=n;m=j+56|0;do{c[j>>2]=c[k>>2];j=j+4|0;k=k+4|0}while((j|0)<(m|0));if((h|0)==513){h=c[26626]|0;if(!h){i=sBa(16)|0;h=i;i=i+12|0}else{i=h+12|0;c[26626]=c[i>>2]}m=c[n+8>>2]|0;c[h>>2]=c[m>>2];c[h+4>>2]=c[m+4>>2];c[h+8>>2]=c[m+8>>2];c[i>>2]=c[26625];c[26625]=h;c[a+(g*56|0)+8>>2]=h}if(p){h=n+68|0;i=c[h>>2]|0;if(i|0)c[i+72>>2]=c[o>>2];j=c[o>>2]|0;if(j|0)c[j+68>>2]=i;if((c[26622]|0)==(n|0))c[26622]=j;if((c[26623]|0)==(n|0))c[26623]=c[h>>2];c[o>>2]=c[26624];c[26624]=n;HGa(106480,-1)|0}g=g+1|0}}while((d|0)!=0)}}while(0);if(!(c[26618]|0)){b=g;l=q;return b|0}b=g;l=q;return b|0}function yGa(a){a=a|0;var d=0,f=0,h=0,i=0,k=0.0,m=0.0,n=0,o=0.0,p=0.0,q=0,r=0,s=0.0,t=0.0,u=0.0,v=0,w=0,x=0.0,y=0.0,z=0.0,A=0,B=0,C=0,D=0,E=0,F=0;E=l;l=l+1040|0;r=E+1024|0;A=E+512|0;w=E;q=c[a>>2]|0;if((q+-1792|0)>>>0>=3){l=E;return}f=a+8|0;n=c[f>>2]|0;f=c[f+4>>2]|0;h=c[56495]|0;if((h|0)<=0){l=E;return}D=c[56496]|0;C=0;while(1){B=D+(C*8232|0)|0;F=B;i=C+1|0;if((c[F>>2]|0)==(n|0)?(c[F+4>>2]|0)==(f|0):0)break;if((i|0)<(h|0))C=i;else{v=54;break}}if((v|0)==54){l=E;return}if(!B){l=E;return}y=+g[a+24>>2];z=+g[a+28>>2];switch(q|0){case 1793:{a=D+(C*8232|0)+8216|0;b[a>>1]=(b[a>>1]|0)+-1<<16>>16;f=D+(C*8232|0)+8228|0;do if(!(c[f>>2]|0)){xBa(A,0,512)|0;zGa(D+(C*8232|0)+16|0,A);n=D+(C*8232|0)+8220|0;if((c[n>>2]|0)<=0)break;q=D+(C*8232|0)+8224|0;x=1.0e4;h=0;i=-1;do{f=(c[q>>2]|0)+(h*516|0)|0;k=+AGa(A,f,-.185407355427742);m=+AGa(A,f,.185407355427742);d=k<m;if(+BGa(-1.5707963267948966)>.03490658503988659){u=.185407355427742;p=-.185407355427742;s=-.7853981633974483;t=.7853981633974483;o=m;while(1){if(d){t=u;o=t*.38196601100000005+s*.618033989;m=k;k=+AGa(A,f,o)}else{s=p;p=s*.38196601100000005+t*.618033989;m=+AGa(A,f,p);k=o;o=u}d=k<m;if(+BGa(s-t)>.03490658503988659){u=p;p=o;o=m}else break}}u=d?k:m;F=u<x;i=F?h:i;x=F?u:x;h=h+1|0}while((h|0)<(c[n>>2]|0));if((i|0)>-1){w=c[(c[q>>2]|0)+(i*516|0)+512>>2]|0;c[A>>2]=2048;v=B;B=c[v+4>>2]|0;F=A+8|0;c[F>>2]=c[v>>2];c[F+4>>2]=B;c[A+32>>2]=c[D+(C*8232|0)+8>>2];c[A+36>>2]=c[D+(C*8232|0)+12>>2];F=A+16|0;c[F>>2]=w;c[F+4>>2]=0;g[A+28>>2]=x;c[A+24>>2]=(e[a>>1]|0)+1;tGa(A)|0}}else{c[f>>2]=0;zGa(D+(C*8232|0)+16|0,w);a:do if(0){f=c[56495]|0;b:do if(!f){d=MAa(195277,r)|0;v=21}else{if((f|0)<=0)break a;q=0;do{f=c[56496]|0;i=f+(q*8232|0)+8220|0;d=c[i>>2]|0;f=f+(q*8232|0)+8224|0;n=kFa(c[f>>2]|0,(d*516|0)+516|0)|0;if(!n)d=GAa(0)|0;else{c[f>>2]=n;uBa(n+(d*516|0)|0,w,512)|0;f=5381;h=0;do{f=(((f*33|0)+(~~+g[n+(d*516|0)+(h<<3)>>2]>>>0)|0)*33|0)+(~~+g[n+(d*516|0)+(h<<3)+4>>2]>>>0)|0;h=h+1|0}while((h|0)!=64);c[n+(d*516|0)+512>>2]=f;c[i>>2]=(c[i>>2]|0)+1}q=q+1|0;if((d|0)<0){d=-1;v=21;break b}i=c[56495]|0}while((q|0)<(i|0))}while(0);if((v|0)==21)i=c[56495]|0;if((i|0)>0){h=c[56496]|0;f=0;do{c[h+(f*8232|0)+8228>>2]=0;f=f+1|0}while((f|0)<(i|0));v=30}else v=30}else{i=D+(C*8232|0)+8220|0;d=c[i>>2]|0;f=D+(C*8232|0)+8224|0;n=kFa(c[f>>2]|0,(d*516|0)+516|0)|0;if(!n){d=GAa(0)|0;v=30;break}c[f>>2]=n;uBa(n+(d*516|0)|0,w,512)|0;f=5381;h=0;do{f=(((f*33|0)+(~~+g[n+(d*516|0)+(h<<3)>>2]>>>0)|0)*33|0)+(~~+g[n+(d*516|0)+(h<<3)+4>>2]>>>0)|0;h=h+1|0}while((h|0)!=64);c[n+(d*516|0)+512>>2]=f;c[i>>2]=(c[i>>2]|0)+1;v=30}while(0);if((v|0)==30?(d|0)>-1:0){w=c[(c[D+(C*8232|0)+8224>>2]|0)+(d*516|0)+512>>2]|0;v=c[B>>2]|0;B=c[B+4>>2]|0;c[A>>2]=2049;F=A+8|0;c[F>>2]=v;c[F+4>>2]=B;F=A+16|0;c[F>>2]=w;c[F+4>>2]=0;tGa(A)|0;break}w=c[B>>2]|0;B=c[B+4>>2]|0;c[A>>2]=2049;F=A+8|0;c[F>>2]=w;c[F+4>>2]=B;F=A+16|0;c[F>>2]=-1;c[F+4>>2]=-1;tGa(A)|0}while(0);d=b[a>>1]|0;if(d<<16>>16){F=D+(C*8232|0)+8|0;u=+((d&65535)+1|0);x=+(d&65535);g[F>>2]=(+g[F>>2]*u-y)/x;F=D+(C*8232|0)+12|0;g[F>>2]=(+g[F>>2]*u-z)/x}l=E;return}case 1794:{p=+g[a+32>>2];o=+g[a+36>>2];d=D+(C*8232|0)+20|0;f=c[d>>2]|0;if((f|0)<1024){v=c[D+(C*8232|0)+8>>2]|0;c[D+(C*8232|0)+24+(f<<3)>>2]=v;F=D+(C*8232|0)+12|0;w=c[F>>2]|0;c[D+(C*8232|0)+24+(f<<3)+4>>2]=w;f=f+-1|0;u=(c[j>>2]=v,+g[j>>2])-+g[D+(C*8232|0)+24+(f<<3)>>2];x=(c[j>>2]=w,+g[j>>2])-+g[D+(C*8232|0)+24+(f<<3)+4>>2];x=+CGa(u*u+x*x);f=D+(C*8232|0)+16|0;g[f>>2]=+g[f>>2]+x;c[d>>2]=(c[d>>2]|0)+1;f=F}else f=D+(C*8232|0)+12|0;d=D+(C*8232|0)+8|0;k=+g[d>>2];m=+g[f>>2];h=D+(C*8232|0)+8216|0;F=b[h>>1]|0;x=+(F&65535);g[d>>2]=k+p/x;g[f>>2]=m+o/x;if((F&65535)<=1){l=E;return}s=y-p-k;u=z-o-m;x=+CGa(s*s+u*u);t=y-+g[d>>2];y=z-+g[f>>2];z=+CGa(t*t+y*y);s=s/x;u=u/x;t=t/z;y=y/z;y=+DGa(s*y-u*t,s*t+u*y);F=x==0.0;c[A>>2]=2050;v=B;w=c[v+4>>2]|0;B=A+8|0;c[B>>2]=c[v>>2];c[B+4>>2]=w;c[A+24>>2]=c[D+(C*8232|0)+8>>2];c[A+28>>2]=c[f>>2];g[A+16>>2]=F?0.0:y;g[A+20>>2]=F?0.0:z-x;b[A+32>>1]=b[h>>1]|0;tGa(A)|0;l=E;return}case 1792:{F=D+(C*8232|0)+8216|0;B=(b[F>>1]|0)+1<<16>>16;b[F>>1]=B;F=D+(C*8232|0)+8|0;u=+((B&65535)+-1|0);x=+(B&65535);g[F>>2]=(y+ +g[F>>2]*u)/x;F=D+(C*8232|0)+12|0;g[F>>2]=(z+ +g[F>>2]*u)/x;g[D+(C*8232|0)+16>>2]=0.0;g[D+(C*8232|0)+24>>2]=y;g[D+(C*8232|0)+28>>2]=z;c[D+(C*8232|0)+20>>2]=1;l=E;return}default:{l=E;return}}}function zGa(a,b){a=a|0;b=b|0;var d=0,e=0.0,f=0.0,h=0,i=0.0,j=0.0,k=0.0,m=0.0,n=0.0,o=0.0,p=0.0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0.0,y=0.0,z=0.0;w=l;l=l+16|0;v=w;e=+g[a>>2];u=a+4|0;d=c[u>>2]|0;if(e<=0.0)if((d|0)>1){h=1;do{d=h+-1|0;o=+g[a+8+(h<<3)>>2]-+g[a+8+(d<<3)>>2];p=+g[a+8+(h<<3)+4>>2]-+g[a+8+(d<<3)+4>>2];e=e+ +CGa(o*o+p*p);h=h+1|0;d=c[u>>2]|0}while((h|0)<(d|0));h=5}else d=0;else h=5;if((h|0)==5){m=e/63.0;if((d|0)>1){e=m;d=0;t=1;f=0.0;i=0.0;do{r=t+-1|0;h=a+8+(r<<3)|0;q=a+8+(t<<3)|0;j=+g[h>>2]-+g[q>>2];r=a+8+(r<<3)+4|0;s=a+8+(t<<3)+4|0;k=+g[r>>2]-+g[s>>2];k=+CGa(j*j+k*k);j=e+k;if(j>m){do{p=+g[h>>2];o=(m-e)/k;p=p+o*(+g[q>>2]-p);g[b+(d<<3)>>2]=p;j=+g[r>>2];j=j+o*(+g[s>>2]-j);g[b+(d<<3)+4>>2]=j;f=f+p;i=i+j;d=d+1|0;e=e-m;j=e+k}while(j>m);e=j}else e=j;t=t+1|0;h=c[u>>2]|0}while((t|0)<(h|0));if((d|0)>=63){a=a+8+(h+-1<<3)|0;v=c[a+4>>2]|0;d=b+504|0;c[d>>2]=c[a>>2];c[d+4>>2]=v;p=f*.015625;o=i*.015625;i=+DGa(o-+g[b+4>>2],p-+g[b>>2]);j=p;k=o;e=p;f=p;m=o;n=o;d=0;do{v=b+(d<<3)|0;a=b+(d<<3)+4|0;x=+g[a>>2];y=+g[v>>2]-p;z=+EGa(i)*y;x=x-o;g[v>>2]=z-+FGa(i)*x+j;y=+FGa(i)*y;x=y+ +EGa(i)*x+k;g[a>>2]=x;y=+g[v>>2];e=y<e?y:e;f=y>f?y:f;n=n>x?x:n;m=m<x?x:m;d=d+1|0}while((d|0)!=64);f=f-e;e=m-n;d=0;do{v=b+(d<<3)|0;g[v>>2]=(+g[v>>2]-p)*256.0/f;v=b+(d<<3)+4|0;g[v>>2]=(+g[v>>2]-o)*256.0/e;d=d+1|0}while((d|0)!=64);l=w;return}}else d=0}c[v>>2]=d;MAa(195313,v)|0;l=w;return}function AGa(a,b,c){a=a|0;b=b|0;c=+c;var d=0.0,e=0,f=0.0,h=0.0,i=0.0,j=0,k=0;d=0.0;e=0;do{k=a+(e<<3)|0;i=+g[k>>2];i=+EGa(c)*i;j=a+(e<<3)+4|0;h=+g[j>>2];h=i-+FGa(c)*h;i=+g[k>>2];i=+FGa(c)*i;f=+g[j>>2];f=i+ +EGa(c)*f;h=h-+g[b+(e<<3)>>2];f=f-+g[b+(e<<3)+4>>2];d=d+ +CGa(h*h+f*f);e=e+1|0}while((e|0)!=64);return +(d*.015625)}function BGa(a){a=+a;return +(+A(+a))}function CGa(a){a=+a;return +(+B(+a))}function DGa(a,b){a=+a;b=+b;return +(+J(+a,+b))}function EGa(a){a=+a;return +(+D(+a))}function FGa(a){a=+a;return +(+E(+a))}function GGa(a){a=a|0;var b=0,d=0;do{b=c[a>>2]|0;d=c[a>>2]|0;if((d|0)==(b|0))c[a>>2]=b}while((d|0)!=(b|0));return b|0}function HGa(a,b){a=a|0;b=b|0;var d=0;d=c[a>>2]|0;c[a>>2]=d+b;return d|0}function IGa(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;j=(GGa(106476)|0)!=0;d=c[26618]|0;if(!(j&(d|0)!=0))return;if(qBa(d)|0)return;d=c[26622]|0;if(d|0)do{h=d+72|0;g=d;d=c[h>>2]|0;j=c[g>>2]|0;e=d;if(!(j>>>0<a>>>0|j>>>0>b>>>0)){i=g+68|0;j=c[i>>2]|0;if(!j)f=d;else{c[j+72>>2]=e;f=c[h>>2]|0;e=f}if(f|0)c[f+68>>2]=j;if((c[26622]|0)==(g|0))c[26622]=e;if((c[26623]|0)==(g|0))c[26623]=c[i>>2];c[h>>2]=c[26624];c[26624]=g;HGa(106480,-1)|0}}while((d|0)!=0);return}function JGa(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;e=JBa(b)|0;f=c[56501]|0;a:do if(!f)g=8;else{while(1){if(!(QFa(b,c[f>>2]|0)|0))break;f=c[f+16>>2]|0;if(!f){g=8;break a}}if(e|0?(c[f+8>>2]|0)!=2:0)break;e=c[f+4>>2]|0;g=8}while(0);if((g|0)==8)if(!e){g=d;return g|0}if((a[e>>0]|0)==48){g=0;return g|0}else return (PFa(e,215828)|0)!=0|0;return 0}function KGa(a){a=a|0;var b=0,d=0;b=c[56513]|0;if((b|0)==(a|0))return;if(b|0)bGa(b,11,0,0)|0;c[56513]=a;if((a|0)!=0?(bGa(a,10,0,0)|0,(c[56513]|0)!=0):0)a=226108;else a=226104;a=c[a>>2]|0;b=c[56504]|0;d=(b|0)==0;if((a|0)!=0&(c[56528]|0)!=0&(c[56521]|0)==0){if(d)return;gk[b&1023](a)|0;return}else{if(d)return;gk[b&1023](0)|0;return}}function LGa(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;e=(a|0)==0?c[56513]|0:a;if(!e)return;a=c[56507]|0;if(a|0){Nk[a&255](e,b,d);return}a=c[56512]|0;if(!(MGa(e,b,d)|0))return;NGa(e,a,0,b,d)|0;return}function MGa(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=l;l=l+16|0;e=h+4|0;f=h;g=(a|0)==0;if((!g?(c[a+48>>2]&16384|0)==0:0)?(HFa(a,e,f),!(((d|b|0)>-1?(c[e>>2]|0)>(b|0):0)&(c[f>>2]|0)>(d|0))):0){if((c[56513]|0)!=(a|0)){d=0;l=h;return d|0}NGa(a,c[56512]|0,0,b,d)|0;e=c[56513]|0;if(!e){d=0;l=h;return d|0}bGa(e,11,0,0)|0;c[56513]=0;e=c[56526]|0;f=c[56504]|0;g=(f|0)==0;if((e|0)!=0&(c[56528]|0)!=0&(c[56521]|0)==0){if(g){d=0;l=h;return d|0}gk[f&1023](e)|0;d=0;l=h;return d|0}else{if(g){d=0;l=h;return d|0}gk[f&1023](0)|0;d=0;l=h;return d|0}}e=c[56513]|0;if((e|0)==(a|0)){d=1;l=h;return d|0}if(e|0)bGa(e,11,0,0)|0;c[56513]=a;if(!g?(bGa(a,10,0,0)|0,(c[56513]|0)!=0):0)e=226108;else e=226104;e=c[e>>2]|0;f=c[56504]|0;g=(f|0)==0;if((e|0)!=0&(c[56528]|0)!=0&(c[56521]|0)==0){if(!g)gk[f&1023](e)|0}else if(!g)gk[f&1023](0)|0;NGa(a,c[56512]|0,0,b,d)|0;d=1;l=h;return d|0}function NGa(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0;r=l;l=l+64|0;q=r;k=r+56|0;if(c[56522]|0){c[q>>2]=0;c[k>>2]=0;HFa(a,q,k);h=(c[q>>2]|0)/2|0;c[q>>2]=h;i=(c[k>>2]|0)/2|0;c[k>>2]=i;if((h|0)==(e|0)&(i|0)==(f|0)){c[56518]=e;c[56519]=f;q=0;l=r;return q|0}j=(a|0)==0?c[56513]|0:a;do if(j|0){g=c[56507]|0;if(g|0){Nk[g&255](j,h,i);break}g=c[56512]|0;if(MGa(j,h,i)|0)NGa(j,g,0,h,i)|0}while(0)}n=(d|0)!=0;g=c[56518]|0;if(n){j=f;m=e;f=(c[56519]|0)+f|0;e=g+e|0}else{j=f-(c[56519]|0)|0;m=e-g|0}if(!(j|m)){q=0;l=r;return q|0}g=c[56521]|0;if(!g){c[56514]=e;h=f}else{c[56514]=(c[56514]|0)+m;h=(c[56515]|0)+j|0}c[56515]=h;if((a|0)!=0?(c[a+48>>2]&16384|0)==0:0){c[q>>2]=0;c[k>>2]=0;HFa(c[56513]|0,q,k);a=c[q>>2]|0;g=a+-1|0;c[q>>2]=g;i=c[k>>2]|0;d=i+-1|0;c[k>>2]=d;h=c[56514]|0;k=(h|0)<(a|0);g=k?h:g;h=(g|0)<0;if(h|k^1)c[56514]=h?0:g;g=c[56515]|0;k=(g|0)>=(i|0);g=k?d:g;h=(g|0)<0;if(k|h)c[56515]=h?0:g;g=c[56521]|0}c[56516]=(c[56516]|0)+m;c[56517]=(c[56517]|0)+j;if(((c[56528]|0)!=0&(g|0)==0?(o=c[56505]|0,o|0):0)?(p=c[56527]|0,p|0):0)Bk[o&2047](p);if((nGa(1024,-1)|0)<<24>>24==1){c[q>>2]=1024;g=c[56513]|0;if(!g)g=0;else g=c[g+4>>2]|0;c[q+8>>2]=g;c[q+12>>2]=b;c[q+16>>2]=c[56520];c[q+20>>2]=c[56514];c[q+24>>2]=c[56515];c[q+28>>2]=m;c[q+32>>2]=j;g=(tGa(q)|0)>0&1}else g=0;if(n){c[56518]=c[56514];f=c[56515]|0}else c[56518]=e;c[56519]=f;q=g;l=r;return q|0}function OGa(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0;p=l;l=l+48|0;n=p+16|0;b=p+8|0;k=p+40|0;m=p+24|0;d=c[56498]|0;if(!d){MAa(192981,p)|0;o=-1;l=p;return o|0}if(a|0?(c[a>>2]|0)==(d+280|0):0){g=c[a+16>>2]|0;b=g&-65536;if((b|0)<805240832)switch(b|0){case 536805376:{o=7;break}default:{}}else switch(b|0){case 805240832:{o=7;break}default:{}}if((o|0)==7){o=g&65535;o=(o|0)<(c[d+264>>2]|0)?o:0;l=p;return o|0}h=c[a+20>>2]|0;b=h&-65536;if((b|0)<805240832)switch(b|0){case 536805376:{o=9;break}default:{}}else switch(b|0){case 805240832:{o=9;break}default:{}}if((o|0)==9){o=h&65535;o=(o|0)<(c[d+264>>2]|0)?o:0;l=p;return o|0}e=c[d+264>>2]|0;f=(e|0)>0;a:do if(f){d=c[d+268>>2]|0;b=0;while(1){if((c[d+(b*68|0)+56>>2]|0)==(a|0))break;b=b+1|0;if((b|0)>=(e|0))break a}l=p;return b|0}while(0);c[k>>2]=((c[a+24>>2]|0)/2|0)+g;j=k+4|0;c[j>>2]=((c[a+28>>2]|0)/2|0)+h;if(f){f=m+8|0;g=m+4|0;h=m+12|0;d=2147483647;b=-1;e=0;while(1){WGa(e,m)|0;if(XGa(k,1,m,0)|0){b=e;o=20;break}a=(c[k>>2]|0)-(c[m>>2]|0)+((c[f>>2]|0)/-2|0)|0;i=(c[j>>2]|0)-(c[g>>2]|0)+((c[h>>2]|0)/-2|0)|0;a=(N(i,i)|0)+(N(a,a)|0)|0;i=(a|0)<(d|0);b=i?e:b;e=e+1|0;if((e|0)>=(c[(c[56498]|0)+264>>2]|0))break;else d=i?a:d}if((o|0)==20){l=p;return b|0}if((b|0)>=0){o=b;l=p;return o|0}}else b=-1;MAa(195603,n)|0;o=b;l=p;return o|0}MAa(208472,b)|0;o=-1;l=p;return o|0}function PGa(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=l;l=l+48|0;h=i+24|0;f=i+16|0;e=i+8|0;g=i+28|0;d=c[56498]|0;if(!d){MAa(192981,i)|0;h=-1;l=i;return h|0}if(a|0?(c[a>>2]|0)==(d+280|0):0){if(!b){c[f>>2]=195565;h=MAa(208008,f)|0;l=i;return h|0}d=a+72|0;c[g>>2]=c[d>>2];c[g+4>>2]=c[d+4>>2];c[g+8>>2]=c[d+8>>2];c[g+12>>2]=c[d+12>>2];c[g+16>>2]=c[d+16>>2];d=g+4|0;if(!(c[d>>2]|0))c[d>>2]=c[a+64>>2];d=g+8|0;if(!(c[d>>2]|0))c[d>>2]=c[a+68>>2];d=OGa(a)|0;if((d|0)>-1)d=(c[(c[56498]|0)+268>>2]|0)+(d*68|0)|0;else d=0;if((c[a+48>>2]&4097|0)!=4097){d=OGa(a)|0;if((d|0)>-1)d=(c[(c[56498]|0)+268>>2]|0)+(d*68|0)|0;else d=0;if(!(TGa(d,g,g)|0)){h=MAa(195570,h)|0;l=i;return h|0}}else{h=d+16|0;c[g>>2]=c[h>>2];c[g+4>>2]=c[h+4>>2];c[g+8>>2]=c[h+8>>2];c[g+12>>2]=c[h+12>>2];c[g+16>>2]=c[h+16>>2]};c[b>>2]=c[g>>2];c[b+4>>2]=c[g+4>>2];c[b+8>>2]=c[g+8>>2];c[b+12>>2]=c[g+12>>2];c[b+16>>2]=c[g+16>>2];h=0;l=i;return h|0}MAa(208472,e)|0;h=-1;l=i;return h|0}function QGa(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;j=l;l=l+64|0;i=j+8|0;f=j;h=j+32|0;g=j+12|0;if(b){c[h>>2]=c[b>>2];c[h+4>>2]=c[b+4>>2];c[h+8>>2]=c[b+8>>2];c[h+12>>2]=c[b+12>>2];c[h+16>>2]=c[b+16>>2];if(!(c[h>>2]|0))c[h>>2]=c[a+36>>2];e=h+4|0;if(!(c[e>>2]|0))c[e>>2]=c[a+40>>2];b=h+8|0;if(!(c[b>>2]|0))c[b>>2]=c[a+44>>2];d=h+12|0;if(!(c[d>>2]|0))c[d>>2]=c[a+48>>2];if(!(TGa(a,h,h)|0)){i=c[b>>2]|0;c[f>>2]=c[e>>2];c[f+4>>2]=i;i=MAa(195481,f)|0;l=j;return i|0}}else{f=a+16|0;c[h>>2]=c[f>>2];c[h+4>>2]=c[f+4>>2];c[h+8>>2]=c[f+8>>2];c[h+12>>2]=c[f+12>>2];c[h+16>>2]=c[f+16>>2]}e=a+36|0;c[g>>2]=c[e>>2];c[g+4>>2]=c[e+4>>2];c[g+8>>2]=c[e+8>>2];c[g+12>>2]=c[e+12>>2];c[g+16>>2]=c[e+16>>2];if(!(xFa(h,g,20)|0)){i=0;l=j;return i|0}b=c[56498]|0;d=c[b+28>>2]|0;if(!d){i=MAa(195430,i)|0;l=j;return i|0}if((lk[d&127](b,a,h)|0)<0){i=-1;l=j;return i|0};c[e>>2]=c[h>>2];c[e+4>>2]=c[h+4>>2];c[e+8>>2]=c[h+8>>2];c[e+12>>2]=c[h+12>>2];c[e+16>>2]=c[h+16>>2];i=0;l=j;return i|0}function RGa(){return c[56513]|0}function SGa(a,b){a=a|0;b=b|0;if(a|0)c[a>>2]=c[56514];if(b|0)c[b>>2]=c[56515];return c[56520]|0}function TGa(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;x=l;l=l+16|0;if(!((b|0)!=0&(d|0)!=0)){MAa(195518,x)|0;d=0;l=x;return d|0}e=c[b>>2]|0;if(!e)e=c[a+16>>2]|0;w=b+12|0;f=c[w>>2]|0;if(!f)f=c[a+28>>2]|0;t=b+4|0;p=a+8|0;q=a+12|0;u=b+8|0;r=e>>>8&255;v=0;o=0;h=c[p>>2]|0;while(1){if(!h){h=c[56498]|0;i=c[h+24>>2]|0;if(!i)n=0;else{Jk[i&1023](h,a);VGa(c[q>>2]|0,c[p>>2]|0,20,357);n=c[p>>2]|0}}else n=h;if((o|0)>=(n|0))break;m=c[q>>2]|0;h=m+(o*20|0)|0;i=c[m+(o*20|0)+4>>2]|0;j=(i|0)==0;if(!j?(i|0)<(c[t>>2]|0):0)break;k=c[m+(o*20|0)+8>>2]|0;if((k|0)!=0?(k|0)<(c[u>>2]|0):0)if(!j?(i|0)==(c[t>>2]|0):0)break;else h=v;else s=18;do if((s|0)==18){s=0;if(((v|0)!=0?(i|0)>=(c[v+4>>2]|0):0)?(k|0)>=(c[v+8>>2]|0):0){i=c[h>>2]|0;if((i|0)==(c[v>>2]|0)){m=c[m+(o*20|0)+12>>2]|0;h=((m|0)<(f|0)?1:(m|0)==(c[v+12>>2]|0))?v:h;break}if((i|0)!=(e|0)){if((i>>>8&255)>>>0<r>>>0){h=v;break}if((i^e)&251658240|0){h=v;break}}}}while(0);v=h;o=o+1|0;h=n}if(!v){d=0;l=x;return d|0}e=c[v>>2]|0;if(!e)h=c[b>>2]|0;else h=e;c[d>>2]=h;f=c[v+4>>2]|0;if((f|0)!=0?(g=c[v+8>>2]|0,(g|0)!=0):0)c[d+4>>2]=f;else{f=c[t>>2]|0;c[d+4>>2]=f;g=c[u>>2]|0}c[d+8>>2]=g;e=c[v+12>>2]|0;if(!e)e=c[w>>2]|0;c[d+12>>2]=e;c[d+16>>2]=c[v+16>>2];if(!h)c[d>>2]=370546692;if(!f)c[d+4>>2]=640;if(g|0){l=x;return d|0}c[d+8>>2]=480;l=x;return d|0}function UGa(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;if((a|0)==(b|0)){b=0;return b|0}d=c[a+4>>2]|0;e=c[b+4>>2]|0;if((e|0)!=(d|0)){b=e-d|0;return b|0}d=c[a+8>>2]|0;e=c[b+8>>2]|0;if((e|0)!=(d|0)){b=e-d|0;return b|0}d=c[a>>2]|0;e=d>>>8&255;g=c[b>>2]|0;f=g>>>8&255;if((f|0)!=(e|0)){b=f-e|0;return b|0}e=d>>>16&15;d=g>>>16&15;if((d|0)==(e|0)){a=c[a+12>>2]|0;b=c[b+12>>2]|0;return ((b|0)==(a|0)?0:b-a|0)|0}b=d-e|0;return b|0}function VGa(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;pPa(a,b,c,d);return}function WGa(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=l;l=l+16|0;e=g+8|0;f=c[56498]|0;if(!f){MAa(192981,g)|0;b=-1;l=g;return b|0}d=c[f+264>>2]|0;if(!((a|0)>-1&(d|0)>(a|0))){c[e>>2]=d+-1;MAa(195643,e)|0;b=-1;l=g;return b|0}if(!b){b=0;l=g;return b|0}e=c[f+268>>2]|0;d=c[f+12>>2]|0;if(d|0?(lk[d&127](f,e+(a*68|0)|0,b)|0)==0:0){b=0;l=g;return b|0}if(!a){c[b>>2]=0;c[b+4>>2]=0;d=b+8|0}else{WGa(a+-1|0,b)|0;d=b+8|0;c[b>>2]=(c[b>>2]|0)+(c[d>>2]|0)}c[d>>2]=c[e+(a*68|0)+40>>2];c[b+12>>2]=c[e+(a*68|0)+44>>2];b=0;l=g;return b|0}function XGa(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;r=l;l=l+16|0;g=r+8|0;f=r;if(!a){c[f>>2]=195630;MAa(208008,f)|0;e=0;l=r;return e|0}if((b|0)<1){c[g>>2]=195637;MAa(208008,g)|0;e=0;l=r;return e|0}if(!d){if(!e){e=1;l=r;return e|0}i=c[a>>2]|0;f=c[a+4>>2]|0;if((b|0)>1){j=1;g=f;h=f;d=i;f=i;do{p=c[a+(j<<3)>>2]|0;q=c[a+(j<<3)+4>>2]|0;o=(p|0)<(f|0);d=o?d:(p|0)>(d|0)?p:d;f=o?p:f;p=(q|0)<(g|0);h=p?h:(q|0)>(h|0)?q:h;g=p?q:g;j=j+1|0}while((j|0)!=(b|0));j=21}else{g=f;h=f;d=i;f=i}}else{p=c[d>>2]|0;q=c[d+4>>2]|0;k=c[d+8>>2]|0;o=k+p|0;m=c[d+12>>2]|0;n=m+q|0;if(!((k|0)>0&(m|0)>0)){e=0;l=r;return e|0}if(!e){f=0;while(1){m=c[a+(f<<3)>>2]|0;e=c[a+(f<<3)+4>>2]|0;if((e|0)<(n|0)&(((m|0)>=(o|0)|(m|0)<(p|0)|(e|0)<(q|0))^1)){f=1;j=23;break}f=f+1|0;if((f|0)>=(b|0)){f=0;j=23;break}}if((j|0)==23){l=r;return f|0}}d=0;j=0;m=0;h=0;f=0;g=0;do{k=c[a+(m<<3)>>2]|0;i=c[a+(m<<3)+4>>2]|0;if((i|0)<(n|0)&(((k|0)>=(o|0)|(k|0)<(p|0)|(i|0)<(q|0))^1))if(!j){j=1;h=i;g=i;f=k;d=k}else{s=(k|0)<(f|0);t=(i|0)<(g|0);h=t?h:(i|0)>(h|0)?i:h;g=t?i:g;f=s?k:f;d=s?d:(k|0)>(d|0)?k:d}m=m+1|0}while((m|0)!=(b|0));if(!j){t=0;l=r;return t|0}else j=21}if((j|0)==21)if(!e){t=1;l=r;return t|0}c[e>>2]=f;c[e+4>>2]=g;c[e+8>>2]=d+1-f;c[e+12>>2]=h+1-g;t=1;l=r;return t|0}function YGa(a,b){a=a|0;b=b|0;a=ZGa(a)|0;if(!a){b=0;return b|0}b=_Ga(a)|0;return b|0}function ZGa(a){a=a|0;var b=0,d=0,e=0,f=0;f=l;l=l+16|0;d=f+8|0;b=c[56498]|0;if(!b){MAa(192981,f)|0;a=0;l=f;return a|0}if(a|0?(c[a>>2]|0)==(b+280|0):0){e=a+112|0;d=a+108|0;b=c[d>>2]|0;if(c[e>>2]|0){a=b;l=f;return a|0}if(b|0){c[b>>2]=c[b>>2]&-5;ABa(b)}b=FIa(a)|0;c[d>>2]=b;if(!b){a=0;l=f;return a|0}c[e>>2]=1;c[b>>2]=c[b>>2]|4;a=b;l=f;return a|0}MAa(208472,d)|0;a=0;l=f;return a|0}function _Ga(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;h=l;l=l+16|0;if(!a){MAa(195947,h)|0;g=0;l=h;return g|0}g=FAa(1,324)|0;if(!g){GAa(0)|0;g=0;l=h;return g|0}e=FAa(1,8)|0;if(!e){iBa(c[g+320>>2]|0);iBa(g);GAa(0)|0;g=0;l=h;return g|0}c[e>>2]=a;f=e+4|0;c[f>>2]=a;c[g+4>>2]=495;c[g+8>>2]=99;c[g+12>>2]=358;c[g+16>>2]=359;c[g+20>>2]=360;c[g+24>>2]=361;c[g+28>>2]=39;c[g+36>>2]=40;c[g+40>>2]=496;c[g+44>>2]=362;c[g+48>>2]=793;c[g+52>>2]=794;c[g+56>>2]=795;c[g+60>>2]=100;c[g+64>>2]=101;c[g+68>>2]=102;c[g+72>>2]=23;c[g+76>>2]=2;c[g+80>>2]=41;c[g+84>>2]=1112;c[g+88>>2]=497;c[g+92>>2]=1113;a=g+104|0;b=106512;d=a+84|0;do{c[a>>2]=c[b>>2];a=a+4|0;b=b+4|0}while((a|0)<(d|0));b=g+320|0;c[b>>2]=e;if(c[e>>2]|0){l=h;return g|0}d=c[f>>2]|0;c[e>>2]=d;if(d|0){l=h;return g|0}a=ZGa(c[g+188>>2]|0)|0;if(!a){l=h;return g|0}c[f>>2]=a;c[e>>2]=a;a=c[c[b>>2]>>2]|0;if(!a){l=h;return g|0}vHa(a,g+216|0)|0;a=c[c[b>>2]>>2]|0;if(!a){l=h;return g|0}if(!(c[g+280>>2]|0)){vHa(a,0)|0;l=h;return g|0}else{vHa(a,g+248|0)|0;l=h;return g|0}return 0}function $Ga(b,d){b=b|0;d=d|0;b=c[b+320>>2]|0;if((a[d+12>>0]|0)!=6)return;c[b>>2]=0;c[b+4>>2]=0;return}function aHa(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;j=l;l=l+16|0;i=j;g=a+320|0;h=c[g>>2]|0;e=c[h>>2]|0;a:do if(!e){f=h+4|0;k=c[f>>2]|0;c[h>>2]=k;e=k;if(!k){e=ZGa(c[a+188>>2]|0)|0;do if(e|0){c[f>>2]=e;c[h>>2]=e;f=c[c[g>>2]>>2]|0;if(!f)break a;vHa(f,a+216|0)|0;e=c[c[g>>2]>>2]|0;if(e|0)if(!(c[a+280>>2]|0)){vHa(e,0)|0;break}else{vHa(e,a+248|0)|0;break}}while(0);e=c[h>>2]|0}if(!e){MAa(197027,i)|0;k=-1;l=j;return k|0}}while(0);if(b|0)c[b>>2]=c[e+8>>2];if(!d){k=0;l=j;return k|0}c[d>>2]=c[e+12>>2];k=0;l=j;return k|0}function bHa(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;i=l;l=l+32|0;b=i+20|0;e=i+16|0;f=i+12|0;g=i+8|0;h=i+4|0;if(!(GFa(c[d+4>>2]|0,b,e,f,g,h)|0)){d=MAa(197004,i)|0;l=i;return d|0}h=xHa(0,c[d+12>>2]|0,c[d+16>>2]|0,c[b>>2]|0,c[e>>2]|0,c[f>>2]|0,c[g>>2]|0,c[h>>2]|0)|0;b=d+68|0;c[b>>2]=h;HHa(h,a[d+28>>0]|0,a[d+29>>0]|0,a[d+30>>0]|0)|0;FHa(c[b>>2]|0,a[d+31>>0]|0)|0;GHa(c[b>>2]|0,c[d+24>>2]|0)|0;if(!(c[d+8>>2]|0))IHa(c[b>>2]|0,1)|0;d=((c[b>>2]|0)==0)<<31>>31;l=i;return d|0}function cHa(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;e=c[d+68>>2]|0;f=d+28|0;g=a[f>>0]|0;h=d+29|0;i=a[h>>0]|0;d=d+30|0;b=a[d>>0]|0;if((i&g&b)<<24>>24==-1){h=i;i=b;i=HHa(e,g,h,i)|0;return i|0}IHa(e,0)|0;g=a[f>>0]|0;h=a[h>>0]|0;i=a[d>>0]|0;i=HHa(e,g,h,i)|0;return i|0}function dHa(b,d){b=b|0;d=d|0;var e=0;e=c[d+68>>2]|0;d=d+31|0;b=a[d>>0]|0;if(b<<24>>24!=-1){if(c[(c[e+4>>2]|0)+24>>2]|0){IHa(e,0)|0;b=a[d>>0]|0}}else b=-1;return FHa(e,b)|0}function eHa(a,b){a=a|0;b=b|0;var d=0;d=c[b+68>>2]|0;b=b+24|0;a=c[b>>2]|0;switch(a|0){case 4:case 2:{IHa(d,0)|0;a=c[b>>2]|0;break}default:{}}return GHa(d,a)|0}function fHa(a,b,e,f,g){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0;l=c[b+68>>2]|0;if(c[l>>2]&2|0)rFa(l)|0;i=l+16|0;a=d[(c[l+4>>2]|0)+9>>0]|0;j=N(c[e+8>>2]|0,a)|0;k=e+12|0;if((c[k>>2]|0)>0){b=(c[l+20>>2]|0)+(N(c[i>>2]|0,c[e+4>>2]|0)|0)|0;h=0;b=b+(N(c[e>>2]|0,a)|0)|0;a=f;while(1){uBa(b,a,j)|0;h=h+1|0;if((h|0)>=(c[k>>2]|0))break;else{b=b+(c[i>>2]|0)|0;a=a+g|0}}}if(!(c[l>>2]&2))return 0;sFa(l);return 0}function gHa(a,b,e,f,g){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;var h=0;a=c[b+68>>2]|0;b=c[a+16>>2]|0;h=(c[a+20>>2]|0)+(N(b,c[e+4>>2]|0)|0)|0;c[f>>2]=h+(N(c[e>>2]|0,d[(c[a+4>>2]|0)+9>>0]|0)|0);c[g>>2]=b;return 0}function hHa(a,b){a=a|0;b=b|0;return}function iHa(a,b){a=a|0;b=b|0;a=c[a+320>>2]|0;c[a>>2]=c[((b|0)==0?a+4|0:b+68|0)>>2];return 0}function jHa(a){a=a|0;var b=0;b=c[c[a+320>>2]>>2]|0;if(!b)return 0;vHa(b,a+216|0)|0;return 0}function kHa(a){a=a|0;var b=0;b=c[c[a+320>>2]>>2]|0;if(!b)return 0;if(!(c[a+280>>2]|0)){vHa(b,0)|0;return 0}else{vHa(b,a+248|0)|0;return 0}return 0}function lHa(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;j=l;l=l+16|0;h=j;f=b+320|0;g=c[f>>2]|0;d=c[g>>2]|0;a:do if(!d){e=g+4|0;k=c[e>>2]|0;c[g>>2]=k;d=k;if(!k){d=ZGa(c[b+188>>2]|0)|0;do if(d|0){c[e>>2]=d;c[g>>2]=d;e=c[c[f>>2]>>2]|0;if(!e){i=10;break a}vHa(e,b+216|0)|0;d=c[c[f>>2]>>2]|0;if(d|0)if(!(c[b+280>>2]|0)){vHa(d,0)|0;break}else{vHa(d,b+248|0)|0;break}}while(0);d=c[g>>2]|0}if(!d){k=-1;l=j;return k|0}else e=h}else i=10;while(0);if((i|0)==10)e=h;k=UHa(c[d+4>>2]|0,a[b+312>>0]|0,a[b+313>>0]|0,a[b+314>>0]|0,a[b+315>>0]|0)|0;i=d+36|0;c[e>>2]=c[i>>2];c[e+4>>2]=c[i+4>>2];c[e+8>>2]=c[i+8>>2];c[e+12>>2]=c[i+12>>2];vHa(d,0)|0;BFa(d,0,k)|0;vHa(d,h)|0;k=0;l=j;return k|0}function mHa(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,h=0,i=0,j=0.0,k=0.0,m=0,n=0,o=0,p=0;o=l;i=b+320|0;m=c[i>>2]|0;f=c[m>>2]|0;a:do if(!f){h=m+4|0;p=c[h>>2]|0;c[m>>2]=p;f=p;if(!p){f=ZGa(c[b+188>>2]|0)|0;do if(f|0){c[h>>2]=f;c[m>>2]=f;h=c[c[i>>2]>>2]|0;if(!h)break a;vHa(h,b+216|0)|0;f=c[c[i>>2]>>2]|0;if(f|0)if(!(c[b+280>>2]|0)){vHa(f,0)|0;break}else{vHa(f,b+248|0)|0;break}}while(0);f=c[m>>2]|0}if(!f){p=-1;l=o;return p|0}}while(0);m=l;l=l+((1*(e<<3)|0)+15&-16)|0;i=c[b+216>>2]|0;if((i|0)==0?(c[b+220>>2]|0)==0:0){if((e|0)>0){h=0;do{c[m+(h<<3)>>2]=~~+g[d+(h<<3)>>2];c[m+(h<<3)+4>>2]=~~+g[d+(h<<3)+4>>2];h=h+1|0}while((h|0)!=(e|0))}}else n=13;if((n|0)==13?(e|0)>0:0){j=+(i|0);k=+(c[b+220>>2]|0);h=0;do{c[m+(h<<3)>>2]=~~(+g[d+(h<<3)>>2]+j);c[m+(h<<3)+4>>2]=~~(+g[d+(h<<3)+4>>2]+k);h=h+1|0}while((h|0)!=(e|0))}h=c[b+316>>2]|0;if(!h){p=DIa(f,m,e,UHa(c[f+4>>2]|0,a[b+312>>0]|0,a[b+313>>0]|0,a[b+314>>0]|0,a[b+315>>0]|0)|0)|0;l=o;return p|0}else{p=EIa(f,m,e,h,a[b+312>>0]|0,a[b+313>>0]|0,a[b+314>>0]|0,a[b+315>>0]|0)|0;l=o;return p|0}return 0}function nHa(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,h=0,i=0,j=0.0,k=0.0,m=0,n=0,o=0,p=0;o=l;i=b+320|0;m=c[i>>2]|0;f=c[m>>2]|0;a:do if(!f){h=m+4|0;p=c[h>>2]|0;c[m>>2]=p;f=p;if(!p){f=ZGa(c[b+188>>2]|0)|0;do if(f|0){c[h>>2]=f;c[m>>2]=f;h=c[c[i>>2]>>2]|0;if(!h)break a;vHa(h,b+216|0)|0;f=c[c[i>>2]>>2]|0;if(f|0)if(!(c[b+280>>2]|0)){vHa(f,0)|0;break}else{vHa(f,b+248|0)|0;break}}while(0);f=c[m>>2]|0}if(!f){p=-1;l=o;return p|0}}while(0);m=l;l=l+((1*(e<<3)|0)+15&-16)|0;i=c[b+216>>2]|0;if((i|0)==0?(c[b+220>>2]|0)==0:0){if((e|0)>0){h=0;do{c[m+(h<<3)>>2]=~~+g[d+(h<<3)>>2];c[m+(h<<3)+4>>2]=~~+g[d+(h<<3)+4>>2];h=h+1|0}while((h|0)!=(e|0))}}else n=13;if((n|0)==13?(e|0)>0:0){j=+(i|0);k=+(c[b+220>>2]|0);h=0;do{c[m+(h<<3)>>2]=~~(+g[d+(h<<3)>>2]+j);c[m+(h<<3)+4>>2]=~~(+g[d+(h<<3)+4>>2]+k);h=h+1|0}while((h|0)!=(e|0))}h=c[b+316>>2]|0;if(!h){p=iIa(f,m,e,UHa(c[f+4>>2]|0,a[b+312>>0]|0,a[b+313>>0]|0,a[b+314>>0]|0,a[b+315>>0]|0)|0)|0;l=o;return p|0}else{p=jIa(f,m,e,h,a[b+312>>0]|0,a[b+313>>0]|0,a[b+314>>0]|0,a[b+315>>0]|0)|0;l=o;return p|0}return 0}function oHa(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,h=0,i=0,j=0.0,k=0.0,m=0,n=0,o=0,p=0;o=l;i=b+320|0;m=c[i>>2]|0;f=c[m>>2]|0;a:do if(!f){h=m+4|0;p=c[h>>2]|0;c[m>>2]=p;f=p;if(!p){f=ZGa(c[b+188>>2]|0)|0;do if(f|0){c[h>>2]=f;c[m>>2]=f;h=c[c[i>>2]>>2]|0;if(!h)break a;vHa(h,b+216|0)|0;f=c[c[i>>2]>>2]|0;if(f|0)if(!(c[b+280>>2]|0)){vHa(f,0)|0;break}else{vHa(f,b+248|0)|0;break}}while(0);f=c[m>>2]|0}if(!f){p=-1;l=o;return p|0}}while(0);m=l;l=l+((1*(e<<4)|0)+15&-16)|0;i=c[b+216>>2]|0;if((i|0)==0?(c[b+220>>2]|0)==0:0){if((e|0)>0){h=0;do{c[m+(h<<4)>>2]=~~+g[d+(h<<4)>>2];c[m+(h<<4)+4>>2]=~~+g[d+(h<<4)+4>>2];p=~~+g[d+(h<<4)+8>>2];c[m+(h<<4)+8>>2]=(p|0)>1?p:1;p=~~+g[d+(h<<4)+12>>2];c[m+(h<<4)+12>>2]=(p|0)>1?p:1;h=h+1|0}while((h|0)!=(e|0))}}else n=13;if((n|0)==13?(e|0)>0:0){j=+(i|0);k=+(c[b+220>>2]|0);h=0;do{c[m+(h<<4)>>2]=~~(+g[d+(h<<4)>>2]+j);c[m+(h<<4)+4>>2]=~~(+g[d+(h<<4)+4>>2]+k);p=~~+g[d+(h<<4)+8>>2];c[m+(h<<4)+8>>2]=(p|0)>1?p:1;p=~~+g[d+(h<<4)+12>>2];c[m+(h<<4)+12>>2]=(p|0)>1?p:1;h=h+1|0}while((h|0)!=(e|0))}h=c[b+316>>2]|0;if(!h){p=aIa(f,m,e,UHa(c[f+4>>2]|0,a[b+312>>0]|0,a[b+313>>0]|0,a[b+314>>0]|0,a[b+315>>0]|0)|0)|0;l=o;return p|0}else{p=bIa(f,m,e,h,a[b+312>>0]|0,a[b+313>>0]|0,a[b+314>>0]|0,a[b+315>>0]|0)|0;l=o;return p|0}return 0}function pHa(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0.0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0;o=l;l=l+16|0;n=o;j=a+320|0;k=c[j>>2]|0;h=c[k>>2]|0;a:do if(!h){i=k+4|0;p=c[i>>2]|0;c[k>>2]=p;h=p;if(!p){h=ZGa(c[a+188>>2]|0)|0;do if(h|0){c[i>>2]=h;c[k>>2]=h;i=c[c[j>>2]>>2]|0;if(!i){m=10;break a}vHa(i,a+216|0)|0;h=c[c[j>>2]>>2]|0;if(h|0)if(!(c[a+280>>2]|0)){vHa(h,0)|0;break}else{vHa(h,a+248|0)|0;break}}while(0);h=c[k>>2]|0}if(!h){p=-1;l=o;return p|0}else{k=c[b+68>>2]|0;j=h}}else m=10;while(0);if((m|0)==10){k=c[b+68>>2]|0;j=h}i=c[a+216>>2]|0;h=c[a+220>>2]|0;if(!(i|h)){c[n>>2]=~~+g[e>>2];f=+g[e+4>>2]}else{c[n>>2]=~~(+g[e>>2]+ +(i|0));f=+g[e+4>>2]+ +(h|0)}c[n+4>>2]=~~f;a=~~+g[e+8>>2];c[n+8>>2]=a;p=~~+g[e+12>>2];c[n+12>>2]=p;if((c[d+8>>2]|0)==(a|0)?(c[d+12>>2]|0)==(p|0):0){p=LHa(k,d,j,n)|0;l=o;return p|0}IHa(j,0)|0;p=DHa(k,d,j,n)|0;l=o;return p|0}function qHa(b,e,f,i,j,k,m){b=b|0;e=e|0;f=f|0;i=i|0;j=+j;k=k|0;m=m|0;var n=0,o=0,p=0.0,q=0,r=0,s=0.0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0.0,N=0.0,O=0.0,P=0.0,Q=0.0,R=0.0,S=0.0,T=0.0,U=0.0,V=0.0;L=l;l=l+64|0;I=L+32|0;J=L+28|0;K=L+24|0;G=L+8|0;H=L;v=L+20|0;y=L+16|0;z=L+51|0;A=L+50|0;B=L+49|0;C=L+48|0;r=b+320|0;t=c[r>>2]|0;n=c[t>>2]|0;a:do if(!n){o=t+4|0;E=c[o>>2]|0;c[t>>2]=E;n=E;if(!E){q=ZGa(c[b+188>>2]|0)|0;do if(q|0){c[o>>2]=q;c[t>>2]=q;n=c[c[r>>2]>>2]|0;if(!n){D=q;break a}vHa(n,b+216|0)|0;n=c[c[r>>2]>>2]|0;if(n|0)if(!(c[b+280>>2]|0)){vHa(n,0)|0;break}else{vHa(n,b+248|0)|0;break}}while(0);D=c[t>>2]|0}else D=n}else D=n;while(0);E=c[e+68>>2]|0;if(!D){K=-1;l=L;return K|0}n=c[b+216>>2]|0;o=c[b+220>>2]|0;if(!(n|o)){s=+g[i>>2];p=+g[i+4>>2]}else{s=+g[i>>2]+ +(n|0);p=+g[i+4>>2]+ +(o|0)}x=~~p;u=~~s;w=~~+g[i+8>>2];i=~~+g[i+12>>2];t=I+4|0;e=I+8|0;c[e>>2]=w;b=I+12|0;c[b>>2]=i;c[I>>2]=0;c[t>>2]=0;if((((c[f+8>>2]|0)==(w|0)?(c[f+12>>2]|0)==(i|0):0)?(c[f>>2]|0)==0:0)?(c[f+4>>2]|0)==0:0){o=E;n=w;q=i;F=32}else{r=E+4|0;o=c[r>>2]|0;o=xHa(0,w,i,d[o+8>>0]|0,c[o+12>>2]|0,c[o+16>>2]|0,c[o+20>>2]|0,c[o+24>>2]|0)|0;do if(o){if(!(yHa(E,v)|0)){zHa(o,1,c[v>>2]|0)|0;n=1}else n=0;AHa(E,z)|0;BHa(E,y)|0;CHa(E,A,B,C)|0;if(!(c[y>>2]|0))q=(a[A>>0]&a[z>>0]&a[B>>0]&a[C>>0])<<24>>24!=-1&1;else q=1;if(!(q|n)){q=1;n=DHa(E,f,o,I)|0;break}q=EHa(E,c[r>>2]|0,c[E>>2]|0)|0;if(!q){ABa(o);q=0;n=0;break}FHa(q,-1)|0;GHa(q,0)|0;zHa(q,0,0)|0;HHa(q,-1,-1,-1)|0;IHa(q,0)|0;FHa(o,a[z>>0]|0)|0;GHa(o,c[y>>2]|0)|0;HHa(o,a[A>>0]|0,a[B>>0]|0,a[C>>0]|0)|0;n=DHa(q,f,o,I)|0;if((q|0)==(E|0))q=1;else{ABa(q);q=1}}else{q=0;n=0}while(0);if(!q){K=-1;l=L;return K|0}if(!n){n=c[e>>2]|0;q=c[b>>2]|0;F=32}}if((F|0)==32){JHa(n,q,j,J,K,G,H);q=(c[J>>2]|0)/2|0;r=(c[K>>2]|0)/2|0;n=OFa(196109)|0;if((n|0)!=0?(a[n>>0]|0)!=48:0)n=(PFa(n,196134)|0)!=0&1;else n=0;n=KHa(o,j,q,r,n,m&1,m&2,c[J>>2]|0,c[K>>2]|0,+h[G>>3],+h[H>>3])|0;if(!n)n=0;else{f=~~+g[k>>2];m=f+u|0;F=~~+g[k+4>>2];k=F+x|0;T=-+h[H>>3];h[H>>3]=T;p=+(0-f|0);s=+(0-F|0);V=+h[G>>3];P=V*p;O=T*s;N=+(m|0);Q=P-O+N;p=p*T;s=V*s;j=+(k|0);M=p+s+j;S=+(w+u-m|0);U=V*S;O=U-O+N;S=T*S;s=S+s+j;R=+(i+x-k|0);T=T*R;P=P-T+N;R=V*R;p=p+R+j;N=U-T+N;j=S+R+j;O=Q<O?Q:O;N=P<N?P:N;c[I>>2]=~~(O<N?O:N);s=M<s?M:s;j=p<j?p:j;c[t>>2]=~~(s<j?s:j);c[e>>2]=c[J>>2];c[b>>2]=c[K>>2];K=LHa(n,0,D,I)|0;ABa(n);n=K}}if((o|0)==(E|0)){K=n;l=L;return K|0}ABa(o);K=n;l=L;return K|0}function rHa(a,b,e,f,g){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;s=l;l=l+32|0;r=s;n=s+8|0;j=a+320|0;k=c[j>>2]|0;h=c[k>>2]|0;a:do if(!h){i=k+4|0;t=c[i>>2]|0;c[k>>2]=t;h=t;if(!t){h=ZGa(c[a+188>>2]|0)|0;do if(h|0){c[i>>2]=h;c[k>>2]=h;i=c[c[j>>2]>>2]|0;if(!i){m=10;break a}vHa(i,a+216|0)|0;h=c[c[j>>2]>>2]|0;if(h|0)if(!(c[a+280>>2]|0)){vHa(h,0)|0;break}else{vHa(h,a+248|0)|0;break}}while(0);h=c[k>>2]|0}if(!h){t=-1;l=s;return t|0}else k=h}else m=10;while(0);if((m|0)==10)k=h;j=c[a+216>>2]|0;i=c[a+220>>2]|0;h=c[b>>2]|0;if(j|i){h=h+j|0;c[n>>2]=h;c[n+4>>2]=(c[b+4>>2]|0)+i;c[n+8>>2]=c[b+8>>2];c[n+12>>2]=c[b+12>>2];b=n}if((((h|0)>=0?(o=c[b+8>>2]|0,(o+h|0)<=(c[k+8>>2]|0)):0)?(p=c[b+4>>2]|0,(p|0)>=0):0)?(q=c[b+12>>2]|0,(q+p|0)<=(c[k+12>>2]|0)):0){r=c[k+4>>2]|0;t=c[k+16>>2]|0;p=(c[k+20>>2]|0)+(N(t,p)|0)|0;t=vBa(o,q,c[r>>2]|0,p+(N(h,d[r+9>>0]|0)|0)|0,t,e,f,g)|0;l=s;return t|0}t=MAa(196069,r)|0;l=s;return t|0}function sHa(a){a=a|0;a=c[a+188>>2]|0;if(!a)return;wHa(a)|0;return}function tHa(a,b){a=a|0;b=b|0;ABa(c[b+68>>2]|0);return}function uHa(a){a=a|0;iBa(c[a+320>>2]|0);iBa(a);return}function vHa(a,b){a=a|0;b=b|0;var d=0,e=0;e=l;l=l+16|0;d=e;if(!a){d=0;l=e;return d|0}c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=c[a+8>>2];c[d+12>>2]=c[a+12>>2];a=a+36|0;if(!b){c[a>>2]=c[d>>2];c[a+4>>2]=c[d+4>>2];c[a+8>>2]=c[d+8>>2];c[a+12>>2]=c[d+12>>2];d=1;l=e;return d|0}else{d=FFa(b,d,a)|0;l=e;return d|0}return 0}function wHa(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;g=l;l=l+48|0;f=g+16|0;e=g+8|0;b=g+24|0;d=c[56498]|0;if(!d){MAa(192981,g)|0;f=-1;l=g;return f|0}if(a|0?(c[a>>2]|0)==(d+280|0):0){c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=c[a+24>>2];c[b+12>>2]=c[a+28>>2];if(!(c[a+112>>2]|0)){f=MAa(195986,f)|0;l=g;return f|0}else{f=mk[c[d+136>>2]&63](d,a,b,1)|0;l=g;return f|0}}MAa(208472,e)|0;f=-1;l=g;return f|0}function xHa(a,b,c,d,e,f,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0;i=l;l=l+16|0;a=RHa(d,e,f,g,h)|0;if(!a){MAa(196245,i)|0;c=0;l=i;return c|0}else{c=SHa(0,b,c,0,a)|0;l=i;return c|0}return 0}function yHa(a,b){a=a|0;b=b|0;if(!a){b=-1;return b|0}a=c[a+52>>2]|0;if(!(c[a+68>>2]&256)){b=-1;return b|0}if(!b){b=0;return b|0}c[b>>2]=c[a+72>>2];b=0;return b|0}function zHa(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;k=l;l=l+16|0;g=k+8|0;f=k;if(!b){c[f>>2]=196496;e=MAa(208008,f)|0;l=k;return e|0}j=b+4|0;i=c[(c[j>>2]|0)+4>>2]|0;if(i|0?(c[i>>2]|0)>>>0<=e>>>0:0){c[g>>2]=196266;e=MAa(208008,g)|0;l=k;return e|0}f=b+52|0;if(d&2|0?(h=c[f>>2]|0,b=h+68|0,i=c[b>>2]|0,g=i|4096,c[b>>2]=g,(g|0)!=(i|0)):0)SBa(h);h=c[f>>2]|0;g=h+68|0;i=c[g>>2]|0;if(d){f=i|256;c[g>>2]=f;c[h+72>>2]=e;b=c[(c[j>>2]|0)+4>>2]|0;if(b){a[(c[b+4>>2]|0)+(e<<2)+3>>0]=0;f=b+8|0;e=(c[f>>2]|0)+1|0;c[f>>2]=(e|0)==0?1:e;f=c[g>>2]|0}}else{f=c[(c[j>>2]|0)+4>>2]|0;if(f|0){a[(c[f+4>>2]|0)+(c[h+72>>2]<<2)+3>>0]=-1;e=f+8|0;j=(c[e>>2]|0)+1|0;c[e>>2]=(j|0)==0?1:j}f=i&-257;c[g>>2]=f}if((f|0)==(i|0)){e=0;l=k;return e|0}SBa(h);e=0;l=k;return e|0}function AHa(b,d){b=b|0;d=d|0;if(!b){d=-1;return d|0}if(!d){d=0;return d|0}a[d>>0]=a[(c[b+52>>2]|0)+79>>0]|0;d=0;return d|0}function BHa(a,b){a=a|0;b=b|0;a:do if(a)if(!b)a=0;else switch(c[(c[a+52>>2]|0)+68>>2]&112){case 16:{c[b>>2]=1;a=0;break a}case 32:{c[b>>2]=2;a=0;break a}case 64:{c[b>>2]=4;a=0;break a}default:{c[b>>2]=0;a=0;break a}}else a=-1;while(0);return a|0}function CHa(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;if(!b){f=-1;return f|0}if(d|0)a[d>>0]=a[(c[b+52>>2]|0)+76>>0]|0;if(e|0)a[e>>0]=a[(c[b+52>>2]|0)+77>>0]|0;if(!f){f=0;return f|0}a[f>>0]=a[(c[b+52>>2]|0)+78>>0]|0;f=0;return f|0}function DHa(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0.0,k=0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0.0,s=0.0,t=0,u=0,v=0.0,w=0.0,x=0.0,y=0.0,z=0.0,A=0.0,B=0.0,C=0,D=0,E=0,F=0;F=l;l=l+48|0;f=F+8|0;D=F+32|0;E=F+16|0;if(!((a|0)!=0&(d|0)!=0)){E=MAa(196286,F)|0;l=F;return E|0}if((c[a+28>>2]|0)==0?(c[d+28>>2]|0)==0:0){i=(b|0)==0;t=a+8|0;u=a+12|0;h=c[(i?u:b+12|0)>>2]|0;k=c[(i?t:b+8|0)>>2]|0;C=(e|0)==0;f=c[(C?d+12|0:e+12|0)>>2]|0;g=c[(C?d+8|0:e+8|0)>>2]|0;if((f|0)==(h|0)&(g|0)==(k|0)){E=LHa(a,b,d,e)|0;l=F;return E|0}m=+(g|0);o=+(k|0);A=m/o;j=+(f|0);p=+(h|0);B=j/p;if(C){v=+(f+-1|0);m=+(g+-1|0);n=0.0;j=0.0}else{z=+(c[e>>2]|0);n=+(c[e+4>>2]|0);v=j+n+-1.0;m=m+z+-1.0;j=z}if(!i){k=c[b>>2]|0;r=+(k|0);f=c[b+4>>2]|0;z=+(f|0);q=o+r+-1.0;s=p+z+-1.0;j=(k|0)<0?j-A*r:j;o=+(((k|0)>0?k:0)|0);k=c[t>>2]|0;r=+(k|0);t=!(q>=r);p=t?q:+(k+-1|0);r=t?m:m-A*(q-r+1.0);q=+(((f|0)>0?f:0)|0);n=(f|0)<0?n-B*z:n;f=c[u>>2]|0;m=+(f|0);if(!(s>=m)){z=s;s=v;m=r}else{z=+(f+-1|0);s=v-B*(s-m+1.0);m=r}}else{z=+(h+-1|0);o=0.0;s=v;p=+(k+-1|0);q=0.0}x=+(c[d+36>>2]|0);w=j-x;r=m-x;y=+(c[d+40>>2]|0);v=n-y;m=s-y;h=w<0.0;o=h?o-w/A:o;f=c[d+44>>2]|0;j=+(f|0);if(r>=j){p=p-(r-j+1.0)/A;r=+(f+-1|0)}g=v<0.0;n=g?q-v/B:q;f=c[d+48>>2]|0;j=+(f|0);if(!(m>=j))j=z;else{j=z-(m-j+1.0)/B;m=+(f+-1|0)}A=(h?0.0:w)+x;B=(g?0.0:v)+y;c[D>>2]=~~+ZHa(o+.5);c[D+4>>2]=~~+ZHa(n+.5);k=~~+ZHa(p-o+1.5);c[D+8>>2]=k;b=~~+ZHa(j-n+1.5);c[D+12>>2]=b;c[E>>2]=~~+ZHa(A+.5);c[E+4>>2]=~~+ZHa(B+.5);g=~~+ZHa(r+x-A+1.5);i=E+8|0;c[i>>2]=g;f=~~+ZHa(m+y-B+1.5);h=E+12|0;c[h>>2]=f;if((g|0)<0){c[i>>2]=0;g=0}if((f|0)<0){c[h>>2]=0;f=0}if(!C){c[e>>2]=c[E>>2];c[e+4>>2]=c[E+4>>2];c[e+8>>2]=c[E+8>>2];c[e+12>>2]=c[E+12>>2]}if((g|0)==0|(f|0)==0|(k|0)<1|(b|0)<1){E=0;l=F;return E|0}E=_Ha(a,D,d,E)|0;l=F;return E|0}E=MAa(196179,f)|0;l=F;return E|0}function EHa(f,g,h){f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0;P=l;l=l+80|0;L=P+32|0;A=P+24|0;z=P+16|0;o=P+8|0;n=P;N=P+56|0;t=P+40|0;w=P+74|0;x=P+73|0;y=P+72|0;u=g+4|0;j=c[u>>2]|0;if(j|0){m=c[j>>2]|0;a:do if((m|0)>0){k=c[j+4>>2]|0;j=0;do{if((a[k+(j<<2)>>0]|0)!=-1)break a;if((a[k+(j<<2)+1>>0]|0)!=-1)break a;if((a[k+(j<<2)+2>>0]|0)!=-1)break a;j=j+1|0}while((j|0)<(m|0))}else j=0;while(0);if((j|0)==(m|0)){MAa(196219,n)|0;O=0;l=P;return O|0}}p=f+8|0;k=c[p>>2]|0;q=f+12|0;m=c[q>>2]|0;M=g+24|0;j=RHa(d[g+8>>0]|0,c[g+12>>2]|0,c[g+16>>2]|0,c[g+20>>2]|0,c[M>>2]|0)|0;if(!j){MAa(196245,o)|0;O=0;l=P;return O|0}H=SHa(0,k,m,0,j)|0;if(!H){O=0;l=P;return O|0}j=c[u>>2]|0;if(j|0?(r=H+4|0,s=c[(c[r>>2]|0)+4>>2]|0,s|0):0){uBa(c[s+4>>2]|0,c[j+4>>2]|0,c[j>>2]<<2)|0;c[c[(c[r>>2]|0)+4>>2]>>2]=c[c[u>>2]>>2]}o=f+52|0;j=c[o>>2]|0;E=j+68|0;F=c[E>>2]|0;D=j+76|0;k=a[D>>0]|0;m=a[j+77>>0]|0;n=a[j+78>>0]|0;g=a[j+79>>0]|0;c[D>>2]=-1;c[E>>2]=0;SBa(j);c[t>>2]=0;c[t+4>>2]=0;c[t+8>>2]=c[p>>2];c[t+12>>2]=c[q>>2];j=c[o>>2]|0;do if((c[j>>2]|0)==(H|0)){E=c[(c[H+4>>2]|0)+4>>2]|0;if(E|0?(c[j+80>>2]|0)!=(c[E+8>>2]|0):0){E=21;break}E=c[(c[f+4>>2]|0)+4>>2]|0;if((E|0)!=0?(c[j+84>>2]|0)!=(c[E+8>>2]|0):0)E=21;else E=23}else E=21;while(0);if((E|0)==21?(yBa(f,H)|0)>=0:0){j=c[o>>2]|0;E=23}if((E|0)==23)mk[c[j+8>>2]&63](f,t,H,t)|0;D=H+52|0;t=c[D>>2]|0;a[t+76>>0]=k;a[t+77>>0]=m;a[t+78>>0]=n;a[t+79>>0]=g;c[t+68>>2]=F&-28945;t=c[o>>2]|0;a[t+76>>0]=k;a[t+77>>0]=m;a[t+78>>0]=n;a[t+79>>0]=g;c[t+68>>2]=F;SBa(t);t=f+4|0;do if(F&256|0){j=c[t>>2]|0;k=c[j+4>>2]|0;if(k){j=c[u>>2]|0;if((j|0?(v=c[k>>2]|0,(v|0)<=(c[j>>2]|0)):0)?(xFa(c[k+4>>2]|0,c[j+4>>2]|0,v<<2)|0)==0:0){k=c[(c[o>>2]|0)+72>>2]|0;m=c[(c[H+4>>2]|0)+4>>2]|0;n=(m|0)==0;if(!n?(c[m>>2]|0)>>>0<=k>>>0:0){c[z>>2]=196266;MAa(208008,z)|0;break}g=c[D>>2]|0;j=g+68|0;o=c[j>>2]|0;i=o|256;c[j>>2]=i;c[g+72>>2]=k;if(!n){a[(c[m+4>>2]|0)+(k<<2)+3>>0]=0;i=m+8|0;L=(c[i>>2]|0)+1|0;c[i>>2]=(L|0)==0?1:L;i=c[j>>2]|0}if((i|0)==(o|0))break;SBa(g);break}if(c[M>>2]|0)break;j=c[t>>2]|0}THa(c[(c[o>>2]|0)+72>>2]|0,j,N,w,x,y);s=H+4|0;m=UHa(c[s>>2]|0,a[N>>0]|0,a[w>>0]|0,a[x>>0]|0,a[y>>0]|0)|0;n=c[(c[s>>2]|0)+4>>2]|0;g=(n|0)==0;if(!g?(c[n>>2]|0)>>>0<=m>>>0:0){c[A>>2]=196266;MAa(208008,A)|0}else{o=c[D>>2]|0;k=o+68|0;p=c[k>>2]|0;j=p|256;c[k>>2]=j;c[o+72>>2]=m;if(!g){a[(c[n+4>>2]|0)+(m<<2)+3>>0]=0;j=n+8|0;A=(c[j>>2]|0)+1|0;c[j>>2]=(A|0)==0?1:A;j=c[k>>2]|0}if((j|0)!=(p|0))SBa(o)}if(c[(c[D>>2]|0)+68>>2]&256|0?(i=c[s>>2]|0,c[i+24>>2]|0):0){r=H+28|0;j=c[r>>2]|0;if(!j)if(!(c[H>>2]&2))j=0;else{zBa(H,1);c[H>>2]=c[H>>2]|2;j=c[r>>2]|0;i=c[s>>2]|0}j=j+1|0;c[r>>2]=j;switch(a[i+9>>0]|0){case 2:{o=c[i+24>>2]&65535^65535;p=o&c[(c[D>>2]|0)+72>>2];k=c[H+20>>2]|0;m=c[H+12>>2]|0;if((m|0)!=0?(B=c[H+8>>2]|0,C=(c[H+16>>2]|0)/2|0,(B|0)!=0):0){q=p&65535;while(1){n=k;g=B;while(1){g=g+-1|0;if((o&e[n>>1]|0)==(p|0))b[n>>1]=q;if(!g)break;else n=n+2|0}m=m+-1|0;if(!m)break;else k=k+(C<<1)|0}}break}case 4:{p=~c[i+24>>2];q=c[(c[D>>2]|0)+72>>2]&p;k=c[H+12>>2]|0;if(k){g=H+8|0;o=H+16|0;n=c[H+20>>2]|0;while(1){k=k+-1|0;j=c[g>>2]|0;if(j|0){m=n;while(1){j=j+-1|0;if((c[m>>2]&p|0)==(q|0))c[m>>2]=q;if(!j)break;else m=m+4|0}}if(!k)break;else n=n+(((c[o>>2]|0)/4|0)<<2)|0}j=c[r>>2]|0}break}default:{}}if(((j|0)!=0?(c[r>>2]=j+-1,(j|0)<=1):0)?(G=c[H>>2]|0,(G&2|0)!=0):0){c[H>>2]=G&-3;EBa(H)|0;i=c[s>>2]|0}i=c[i+4>>2]|0;do if(i)if(!(c[i>>2]|0)){c[L>>2]=196266;MAa(208008,L)|0;break}else{K=c[D>>2]|0;J=K+68|0;I=c[J>>2]|0;a[(c[i+4>>2]|0)+(c[K+72>>2]<<2)+3>>0]=-1;E=i+8|0;L=(c[E>>2]|0)+1|0;c[E>>2]=(L|0)==0?1:L;E=77;break}else{K=c[D>>2]|0;J=K+68|0;I=c[J>>2]|0;E=77}while(0);if((E|0)==77?(L=I&-257,c[J>>2]=L,(L|0)!=(I|0)):0)SBa(K);i=c[D>>2]|0;J=i+68|0;L=c[J>>2]|0;K=L&-113|16;c[J>>2]=K;if((K|0)!=(L|0))SBa(i)}}while(0);c[N>>2]=0;c[N+4>>2]=0;c[N+8>>2]=c[H+8>>2];c[N+12>>2]=c[H+12>>2];FFa(f+36|0,N,H+36|0)|0;if(!(c[(c[t>>2]|0)+24>>2]|0)){if(F&258|0)E=85}else if(c[M>>2]|F&258|0)E=85;if((E|0)==85?(O=c[D>>2]|0,M=O+68|0,N=c[M>>2]|0,f=N&-113|16,c[M>>2]=f,(f|0)!=(N|0)):0)SBa(O);if(!(F&4096|h&2)){O=H;l=P;return O|0}i=c[D>>2]|0;h=i+68|0;O=c[h>>2]|0;N=O|4096;c[h>>2]=N;if((N|0)==(O|0)){O=H;l=P;return O|0}SBa(i);O=H;l=P;return O|0}function FHa(b,d){b=b|0;d=d|0;var e=0,f=0;if(!b){d=-1;return d|0}b=c[b+52>>2]|0;a[b+79>>0]=d;f=b+68|0;e=c[f>>2]|0;d=d<<24>>24==-1?e&-3:e|2;c[f>>2]=d;if((d|0)==(e|0)){f=0;return f|0}SBa(b);f=0;return f|0}function GHa(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;if(!a){g=-1;return g|0}e=a+52|0;a=c[e>>2]|0;f=a+68|0;g=c[f>>2]|0;d=g&-113;c[f>>2]=d;switch(b|0){case 0:break;case 1:{d=d|16;c[f>>2]=d;b=0;break}case 2:{d=d|32;c[f>>2]=d;b=0;break}case 4:{d=d|64;c[f>>2]=d;b=0;break}default:{b=GAa(4)|0;a=c[e>>2]|0;d=c[a+68>>2]|0}}if((d|0)==(g|0)){g=b;return g|0}SBa(a);g=b;return g|0}function HHa(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0;if(!b){f=-1;return f|0}b=c[b+52>>2]|0;a[b+76>>0]=d;a[b+77>>0]=e;a[b+78>>0]=f;h=b+68|0;g=c[h>>2]|0;f=(e&d)<<24>>24==-1&f<<24>>24==-1?g&-2:g|1;c[h>>2]=f;if((f|0)==(g|0)){h=0;return h|0}SBa(b);h=0;return h|0}function IHa(a,b){a=a|0;b=b|0;var d=0,e=0;if(!a){b=-1;return b|0}a=c[a+52>>2]|0;e=a+68|0;d=c[e>>2]|0;b=(b|0)==0?d&-4097:d|4096;c[e>>2]=b;if((b|0)==(d|0)){e=0;return e|0}SBa(a);e=0;return e|0}function JHa(a,b,d,e,f,g,i){a=a|0;b=b|0;d=+d;e=e|0;f=f|0;g=g|0;i=i|0;var j=0,k=0.0,l=0.0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0;q=d/90.0;j=~~q;if(q==+(j|0)){j=(j|0)%4|0;j=(j|0)<0?j+4|0:j;if(!(j&1)){c[e>>2]=a;c[f>>2]=b;h[g>>3]=(j|0)==0?1.0:-1.0;h[i>>3]=0.0;return}else{c[e>>2]=b;c[f>>2]=a;h[g>>3]=0.0;h[i>>3]=(j|0)==1?-1.0:1.0;return}}q=d*-.017453292519943295;h[i>>3]=+FGa(q);q=+EGa(q);h[g>>3]=q;p=+((a|0)/2|0|0);l=+((b|0)/2|0|0);m=q*p;q=q*l;n=+h[i>>3];p=n*p;l=n*l;n=m+l;k=+BGa(n);o=m-l;i=k>+BGa(o);k=+BGa(i?n:o);d=l-m;if(k>+BGa(d)){k=+BGa(n);i=k>+BGa(o);k=i?n:o}else k=d;k=+BGa(k);l=-m-l;if(k>+BGa(l)){m=+BGa(n);i=m>+BGa(o);m=+BGa(i?n:o);if(m>+BGa(d)){k=+BGa(n);i=k>+BGa(o);k=i?n:o}else k=d}else k=l;if((~~+QHa(+BGa(k))|0)>1){m=+BGa(n);i=m>+BGa(o);m=+BGa(i?n:o);if(m>+BGa(d)){k=+BGa(n);i=k>+BGa(o);k=i?n:o}else k=d;m=+BGa(k);if(m>+BGa(l)){m=+BGa(n);i=m>+BGa(o);m=+BGa(i?n:o);if(m>+BGa(d)){d=+BGa(n);i=d>+BGa(o);d=i?n:o}}else d=l;a=~~+QHa(+BGa(d))<<1}else a=2;l=q+p;o=+BGa(l);m=p-q;i=o>+BGa(m);o=+BGa(i?l:m);n=q-p;if(o>+BGa(n)){d=+BGa(l);i=d>+BGa(m);d=i?l:m}else d=n;o=+BGa(d);d=-p-q;if(o>+BGa(d)){q=+BGa(l);i=q>+BGa(m);q=+BGa(i?l:m);if(q>+BGa(n)){k=+BGa(l);i=k>+BGa(m);k=i?l:m}else k=n}else k=d;if((~~+QHa(+BGa(k))|0)>1){q=+BGa(l);i=q>+BGa(m);q=+BGa(i?l:m);if(q>+BGa(n)){k=+BGa(l);i=k>+BGa(m);k=i?l:m}else k=n;q=+BGa(k);if(q>+BGa(d)){q=+BGa(l);i=q>+BGa(m);q=+BGa(i?l:m);if(q>+BGa(n)){d=+BGa(l);i=d>+BGa(m);d=i?l:m}else d=n}j=~~+QHa(+BGa(d))<<1}else j=2;c[e>>2]=a;c[f>>2]=j;return}function KHa(b,e,f,g,h,i,j,k,m,n,o){b=b|0;e=+e;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;m=m|0;n=+n;o=+o;var p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0;T=l;l=l+16|0;O=T;v=T+10|0;w=T+9|0;x=T+8|0;P=T+7|0;Q=T+6|0;R=T+5|0;S=T+4|0;a[v>>0]=0;a[w>>0]=0;a[x>>0]=0;if(!b){S=0;l=T;return S|0}if(!(c[b>>2]&1)){u=0;p=b+4|0}else{c[O>>2]=0;yHa(b,O)|0;p=b+4|0;MHa(c[O>>2]|0,c[p>>2]|0,v,w,x);u=1}q=c[p>>2]|0;p=a[q+8>>0]|0;a:do switch(p<<24>>24){case 8:case 32:{o=o*65536.0;n=n*65536.0;r=m+2|0;if(p<<24>>24==32){s=b;t=9}else{M=b;s=0;L=xHa(0,k,r,8,0,0,0,0)|0}break}default:{p=NHa(b,377888772,c[b>>2]|0)|0;if(!p){S=0;l=T;return S|0}else{s=p;q=c[p+4>>2]|0;r=m+2|0;n=n*65536.0;o=o*65536.0;t=9;break a}}}while(0);if((t|0)==9){M=s;s=1;L=xHa(0,k,r,32,c[q+12>>2]|0,c[q+16>>2]|0,c[q+20>>2]|0,c[q+24>>2]|0)|0}if(!L){S=0;l=T;return S|0}K=L+12|0;c[K>>2]=m;if((u|0)==1)BFa(L,0,OHa(c[L+4>>2]|0,a[v>>0]|0,a[w>>0]|0,a[x>>0]|0)|0)|0;if(c[M>>2]&2|0)rFa(M)|0;e=e/90.0;p=~~e;if(e==+(p|0)){m=(p|0)%4|0;m=(m|0)<0?m+4|0:m}else m=-1;if(s){b:do if((m|0)>-1){h=L+8|0;p=c[h>>2]|0;y=(c[L+16>>2]|0)-(p<<2)|0;r=c[M+20>>2]|0;s=c[L+20>>2]|0;w=(j|0)!=0;x=c[M+16>>2]|0;u=w?0-x|0:x;v=(i|0)!=0;k=v?-4:4;switch(m|0){case 0:{t=1;q=1;m=u-(N(c[M+8>>2]|0,k)|0)|0;u=k;break}case 1:{t=-1;q=1;m=(N(c[M+12>>2]|0,u)|0)+k|0;u=0-u|0;break}case 2:{t=-1;q=-1;m=(N(c[M+8>>2]|0,k)|0)-u|0;u=0-k|0;break}default:{t=1;q=-1;m=(N(c[M+12>>2]|0,0-u|0)|0)-k|0}}if(((v?0-q|0:q)|0)<0)r=r+((c[M+8>>2]<<2)+-4)|0;if(((w?0-t|0:t)|0)<0)r=r+(N((c[M+12>>2]|0)+-1|0,x)|0)|0;q=c[K>>2]|0;if((q|0)>0){if((u|0)==4){k=0;while(1){uBa(s,r,p<<2)|0;p=c[h>>2]|0;q=p<<2;k=k+1|0;if((k|0)>=(c[K>>2]|0))break b;else{s=s+q+y|0;r=r+q+m|0}}}t=0;while(1){p=p<<2;k=s+p|0;if(p){q=N(((p+-4|0)>>>2)+1|0,u)|0;p=r;while(1){g=d[p>>0]|d[p+1>>0]<<8|d[p+2>>0]<<16|d[p+3>>0]<<24;a[s>>0]=g;a[s+1>>0]=g>>8;a[s+2>>0]=g>>16;a[s+3>>0]=g>>24;s=s+4|0;if((s|0)==(k|0))break;else p=p+u|0}s=k;r=r+q|0;q=c[K>>2]|0}p=t+1|0;if((p|0)>=(q|0))break b;s=s+y|0;t=p;r=r+m|0;p=c[h>>2]|0}}}else{J=~~o;I=~~n;A=M+8|0;F=c[A>>2]|0;D=L+8|0;C=c[D>>2]|0;r=F-C<<15;E=M+12|0;G=c[E>>2]|0;B=c[K>>2]|0;t=G-B<<15;s=N(65536-I|0,f)|0;k=(g<<16)-(N(J,f)|0)|0;F=F+-1|0;G=G+-1|0;p=c[L+20>>2]|0;H=(c[L+16>>2]|0)-(C<<2)|0;q=(B|0)>0;if(h|0){if(!q)break;A=r+s|0;y=t+k|0;z=(C|0)>0;h=(i|0)!=0;w=(j|0)!=0;x=M+20|0;m=M+16|0;v=0;while(1){q=g-v|0;if(z){u=A+(N(q,J)|0)|0;r=y-(N(q,I)|0)|0;s=0;k=p;while(1){t=u>>16;q=r>>16;t=h?F-t|0:t;q=w?G-q|0:q;if(t>>>0<F>>>0&q>>>0<G>>>0){da=c[m>>2]|0;$=(c[x>>2]|0)+(N(da,q)|0)|0;aa=$+(t<<2)|0;j=a[aa>>0]|0;q=a[$+(t<<2)+1>>0]|0;X=a[$+(t<<2)+2>>0]|0;$=a[$+(t<<2)+3>>0]|0;aa=aa+4|0;ba=a[aa>>0]|0;Z=a[aa+1>>0]|0;V=a[aa+2>>0]|0;D=a[aa+3>>0]|0;da=aa+(((da|0)/4|0)<<2)|0;aa=a[da>>0]|0;Y=a[da+1>>0]|0;U=a[da+2>>0]|0;E=a[da+3>>0]|0;da=da+-4|0;f=a[da>>0]|0;i=a[da+1>>0]|0;K=a[da+2>>0]|0;da=a[da+3>>0]|0;t=h?D:$;W=h?V:X;_=h?Z:q;ca=h?ba:j;D=h?$:D;V=h?X:V;Z=h?q:Z;ba=h?j:ba;j=h?E:da;q=h?U:K;X=h?Y:i;$=h?aa:f;E=h?da:E;U=h?K:U;Y=h?i:Y;aa=h?f:aa;f=u&65535;i=r&65535;K=(w?$:ca)&255;K=((N(((w?aa:ba)&255)-K|0,f)|0)>>>16)+K|0;$=(w?ca:$)&255;a[k>>0]=((N((((N(((w?ba:aa)&255)-$|0,f)|0)>>>16)+$&255)-(K&255)|0,i)|0)>>>16)+K;K=(w?X:_)&255;K=((N(((w?Y:Z)&255)-K|0,f)|0)>>>16)+K|0;X=(w?_:X)&255;a[k+1>>0]=((N((((N(((w?Z:Y)&255)-X|0,f)|0)>>>16)+X&255)-(K&255)|0,i)|0)>>>16)+K;K=(w?q:W)&255;K=((N(((w?U:V)&255)-K|0,f)|0)>>>16)+K|0;q=(w?W:q)&255;a[k+2>>0]=((N((((N(((w?V:U)&255)-q|0,f)|0)>>>16)+q&255)-(K&255)|0,i)|0)>>>16)+K;K=(w?j:t)&255;K=((N(((w?E:D)&255)-K|0,f)|0)>>>16)+K|0;j=(w?t:j)&255;a[k+3>>0]=((N((((N(((w?D:E)&255)-j|0,f)|0)>>>16)+j&255)-(K&255)|0,i)|0)>>>16)+K}s=s+1|0;if((s|0)==(C|0))break;else{u=u+I|0;r=r+J|0;k=k+4|0}}p=p+(C<<2)|0}v=v+1|0;if((v|0)==(B|0))break b;else p=p+H|0}}if(q){z=r+s|0;y=t+k|0;h=(i|0)==0;w=(j|0)==0;x=M+20|0;m=M+16|0;v=0;q=C;while(1){s=g-v|0;r=z+(N(s,J)|0)|0;s=y-(N(s,I)|0)|0;if((q|0)>0)if(h)if(w){t=s;u=0;while(1){s=r>>16;k=t>>16;do if(s>>>0<(c[A>>2]|0)>>>0){if(k>>>0>=(c[E>>2]|0)>>>0)break;q=(c[x>>2]|0)+(N(c[m>>2]|0,k)|0)+(s<<2)|0;q=d[q>>0]|d[q+1>>0]<<8|d[q+2>>0]<<16|d[q+3>>0]<<24;a[p>>0]=q;a[p+1>>0]=q>>8;a[p+2>>0]=q>>16;a[p+3>>0]=q>>24;q=c[D>>2]|0}while(0);p=p+4|0;u=u+1|0;if((u|0)>=(q|0))break;else{r=r+I|0;t=t+J|0}}}else{t=s;u=0;while(1){s=r>>16;k=t>>16;do if(s>>>0<(c[A>>2]|0)>>>0){if(k>>>0>=(c[E>>2]|0)>>>0)break;q=(c[x>>2]|0)+(N(c[m>>2]|0,G-k|0)|0)+(s<<2)|0;q=d[q>>0]|d[q+1>>0]<<8|d[q+2>>0]<<16|d[q+3>>0]<<24;a[p>>0]=q;a[p+1>>0]=q>>8;a[p+2>>0]=q>>16;a[p+3>>0]=q>>24;q=c[D>>2]|0}while(0);p=p+4|0;u=u+1|0;if((u|0)>=(q|0))break;else{r=r+I|0;t=t+J|0}}}else if(w){t=s;u=0;while(1){s=r>>16;k=t>>16;do if(s>>>0<(c[A>>2]|0)>>>0){if(k>>>0>=(c[E>>2]|0)>>>0)break;q=(c[x>>2]|0)+(N(c[m>>2]|0,k)|0)+(F-s<<2)|0;q=d[q>>0]|d[q+1>>0]<<8|d[q+2>>0]<<16|d[q+3>>0]<<24;a[p>>0]=q;a[p+1>>0]=q>>8;a[p+2>>0]=q>>16;a[p+3>>0]=q>>24;q=c[D>>2]|0}while(0);p=p+4|0;u=u+1|0;if((u|0)>=(q|0))break;else{r=r+I|0;t=t+J|0}}}else{t=s;u=0;while(1){s=r>>16;k=t>>16;do if(s>>>0<(c[A>>2]|0)>>>0){if(k>>>0>=(c[E>>2]|0)>>>0)break;q=(c[x>>2]|0)+(N(c[m>>2]|0,G-k|0)|0)+(F-s<<2)|0;q=d[q>>0]|d[q+1>>0]<<8|d[q+2>>0]<<16|d[q+3>>0]<<24;a[p>>0]=q;a[p+1>>0]=q>>8;a[p+2>>0]=q>>16;a[p+3>>0]=q>>24;q=c[D>>2]|0}while(0);p=p+4|0;u=u+1|0;if((u|0)>=(q|0))break;else{r=r+I|0;t=t+J|0}}}v=v+1|0;if((v|0)>=(c[K>>2]|0))break;else p=p+H|0}}}while(0);c[O>>2]=0;yHa(M,O)|0;zHa(L,3,c[O>>2]|0)|0}else{k=M+4|0;r=c[(c[k>>2]|0)+4>>2]|0;p=c[r>>2]|0;t=L+4|0;q=c[(c[t>>2]|0)+4>>2]|0;if((p|0)>0){s=0;do{p=(c[q+4>>2]|0)+(s<<2)|0;q=(c[r+4>>2]|0)+(s<<2)|0;q=d[q>>0]|d[q+1>>0]<<8|d[q+2>>0]<<16|d[q+3>>0]<<24;a[p>>0]=q;a[p+1>>0]=q>>8;a[p+2>>0]=q>>16;a[p+3>>0]=q>>24;s=s+1|0;r=c[(c[k>>2]|0)+4>>2]|0;p=c[r>>2]|0;q=c[(c[t>>2]|0)+4>>2]|0}while((s|0)<(p|0))}c[q>>2]=p;c:do if((m|0)>-1){h=L+8|0;p=c[h>>2]|0;y=(c[L+16>>2]|0)-p|0;q=c[M+20>>2]|0;r=c[L+20>>2]|0;w=(j|0)!=0;x=c[M+16>>2]|0;u=w?0-x|0:x;v=(i|0)!=0;k=v?-1:1;switch(m|0){case 0:{t=1;s=1;m=u-(N(c[M+8>>2]|0,k)|0)|0;u=k;break}case 1:{t=-1;s=1;m=(N(c[M+12>>2]|0,u)|0)+k|0;u=0-u|0;break}case 2:{t=-1;s=-1;m=(N(c[M+8>>2]|0,k)|0)-u|0;u=0-k|0;break}default:{t=1;s=-1;m=(N(c[M+12>>2]|0,0-u|0)|0)-k|0}}if(((v?0-s|0:s)|0)<0)q=q+((c[M+8>>2]|0)+-1)|0;if(((w?0-t|0:t)|0)<0)q=q+(N((c[M+12>>2]|0)+-1|0,x)|0)|0;s=c[K>>2]|0;if((s|0)>0){if((u|0)==1){s=0;while(1){uBa(r,q,p)|0;p=c[h>>2]|0;s=s+1|0;if((s|0)>=(c[K>>2]|0))break c;else{r=r+p+y|0;q=q+p+m|0}}}t=0;while(1){k=r+p|0;if(p){s=q;while(1){a[r>>0]=a[s>>0]|0;r=r+1|0;if((r|0)==(k|0))break;else s=s+u|0}q=q+(N(p,u)|0)|0;r=k;s=c[K>>2]|0}p=t+1|0;if((p|0)>=(s|0))break c;r=r+y|0;t=p;q=q+m|0;p=c[h>>2]|0}}}else{I=~~o;D=~~n;E=M+8|0;p=c[E>>2]|0;F=L+8|0;q=c[F>>2]|0;G=M+12|0;s=c[G>>2]|0;k=c[K>>2]|0;r=c[L+20>>2]|0;da=L+16|0;H=(c[da>>2]|0)-q|0;c[O>>2]=0;yHa(M,O)|0;xBa(r,c[O>>2]&255,N(c[K>>2]|0,c[da>>2]|0)|0)|0;if((c[K>>2]|0)>0){C=(p-q<<15)+(N(65536-D|0,f)|0)|0;B=(i|0)==0;y=(j|0)==0;z=M+20|0;A=M+16|0;h=N(I,f)|0;m=(s-k<<15)+(g<<16)|0;x=0;p=c[F>>2]|0;while(1){q=g-x|0;s=C+(N(q,I)|0)|0;q=m-((N(q,D)|0)+h)|0;if((p|0)>0)if(B)if(y){t=s;u=0;while(1){s=t>>16;k=q>>16;do if(s>>>0<(c[E>>2]|0)>>>0){if(k>>>0>=(c[G>>2]|0)>>>0)break;a[r>>0]=a[(c[z>>2]|0)+(N(c[A>>2]|0,k)|0)+s>>0]|0;p=c[F>>2]|0}while(0);r=r+1|0;u=u+1|0;if((u|0)>=(p|0))break;else{q=q+I|0;t=t+D|0}}}else{v=0;while(1){k=s>>16;t=q>>16;do if(k>>>0<(c[E>>2]|0)>>>0){u=c[G>>2]|0;if(t>>>0>=u>>>0)break;a[r>>0]=a[(c[z>>2]|0)+(N(c[A>>2]|0,u+~t|0)|0)+k>>0]|0;p=c[F>>2]|0}while(0);r=r+1|0;v=v+1|0;if((v|0)>=(p|0))break;else{q=q+I|0;s=s+D|0}}}else if(y){v=0;while(1){k=s>>16;t=q>>16;u=c[E>>2]|0;do if(k>>>0<u>>>0){if(t>>>0>=(c[G>>2]|0)>>>0)break;a[r>>0]=a[(c[z>>2]|0)+(N(c[A>>2]|0,t)|0)+(u+~k)>>0]|0;p=c[F>>2]|0}while(0);r=r+1|0;v=v+1|0;if((v|0)>=(p|0))break;else{q=q+I|0;s=s+D|0}}}else{w=0;while(1){k=s>>16;t=q>>16;u=c[E>>2]|0;do if(k>>>0<u>>>0){v=c[G>>2]|0;if(t>>>0>=v>>>0)break;a[r>>0]=a[(c[z>>2]|0)+(N(c[A>>2]|0,v+~t|0)|0)+(u+~k)>>0]|0;p=c[F>>2]|0}while(0);r=r+1|0;w=w+1|0;if((w|0)>=(p|0))break;else{q=q+I|0;s=s+D|0}}}x=x+1|0;if((x|0)>=(c[K>>2]|0))break;else r=r+H|0}}}while(0);c[O>>2]=0;yHa(M,O)|0;zHa(L,3,c[O>>2]|0)|0}AHa(b,P)|0;BHa(b,O)|0;CHa(b,Q,R,S)|0;FHa(L,a[P>>0]|0)|0;GHa(L,c[O>>2]|0)|0;HHa(L,a[Q>>0]|0,a[R>>0]|0,a[S>>0]|0)|0;if(c[M>>2]&2|0)sFa(M);if((M|0)==(b|0)){da=L;l=T;return da|0}ABa(M);da=L;l=T;return da|0}function LHa(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0;p=l;l=l+48|0;g=p+8|0;f=p+32|0;o=p+16|0;if(!((a|0)!=0&(d|0)!=0)){o=MAa(196142,p)|0;l=p;return o|0}if((c[a+28>>2]|0)==0?(c[d+28>>2]|0)==0:0){if(!e){c[f+4>>2]=0;c[f>>2]=0;c[f+8>>2]=c[d+8>>2];c[f+12>>2]=c[d+12>>2]}else f=e;if(!b){n=0;e=0;h=c[a+12>>2]|0;i=c[a+8>>2]|0;j=f}else{e=c[b>>2]|0;g=c[b+8>>2]|0;if((e|0)<0){c[f>>2]=(c[f>>2]|0)-e;i=0;g=g+e|0}else i=e;j=(c[a+8>>2]|0)-i|0;e=c[b+4>>2]|0;b=c[b+12>>2]|0;h=f+4|0;if((e|0)<0){c[h>>2]=(c[h>>2]|0)-e;b=b+e|0;e=0}h=(c[a+12>>2]|0)-e|0;n=i;h=(h|0)<(b|0)?h:b;i=(j|0)<(g|0)?j:g;j=f}m=d+36|0;g=c[m>>2]|0;b=c[j>>2]|0;k=g-b|0;if((k|0)>0){c[j>>2]=g;n=k+n|0;i=i-k|0;b=g;g=c[m>>2]|0}m=b+i-g-(c[d+44>>2]|0)|0;m=i-((m|0)>0?m:0)|0;k=d+40|0;g=c[k>>2]|0;i=f+4|0;b=c[i>>2]|0;j=g-b|0;if((j|0)>0){c[i>>2]=g;e=j+e|0;h=h-j|0;b=g;g=c[k>>2]|0}i=b+h-g-(c[d+48>>2]|0)|0;i=h-((i|0)>0?i:0)|0;j=a+52|0;g=c[j>>2]|0;b=g+68|0;h=c[b>>2]|0;if(h&512|0){c[b>>2]=h&-513;SBa(g)}if(!((m|0)>0&(i|0)>0)){c[f+12>>2]=0;c[f+8>>2]=0;o=0;l=p;return o|0}c[o>>2]=n;c[o+4>>2]=e;c[f+8>>2]=m;c[o+8>>2]=m;c[f+12>>2]=i;c[o+12>>2]=i;e=c[j>>2]|0;do if((c[e>>2]|0)==(d|0)){n=c[(c[d+4>>2]|0)+4>>2]|0;if(n|0?(c[e+80>>2]|0)!=(c[n+8>>2]|0):0){g=27;break}n=c[(c[a+4>>2]|0)+4>>2]|0;if((n|0)!=0?(c[e+84>>2]|0)!=(c[n+8>>2]|0):0)g=27;else g=29}else g=27;while(0);if((g|0)==27)if((yBa(a,d)|0)<0)e=-1;else{e=c[j>>2]|0;g=29}if((g|0)==29)e=mk[c[e+8>>2]&63](a,o,d,f)|0;o=e;l=p;return o|0}o=MAa(196179,g)|0;l=p;return o|0}function MHa(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0;i=e+4|0;j=c[i>>2]|0;if(!j){a[f>>0]=a[(c[16112+((d[e+28>>0]|0)<<2)>>2]|0)+((c[e+12>>2]&b)>>>(d[e+32>>0]|0))>>0]|0;a[g>>0]=a[(c[16112+((d[e+29>>0]|0)<<2)>>2]|0)+((c[e+16>>2]&b)>>>(d[e+33>>0]|0))>>0]|0;a[h>>0]=a[(c[16112+((d[e+30>>0]|0)<<2)>>2]|0)+((c[e+20>>2]&b)>>>(d[e+34>>0]|0))>>0]|0;return}if((c[j>>2]|0)>>>0>b>>>0){a[f>>0]=a[(c[j+4>>2]|0)+(b<<2)>>0]|0;a[g>>0]=a[(c[(c[i>>2]|0)+4>>2]|0)+(b<<2)+1>>0]|0;a[h>>0]=a[(c[(c[i>>2]|0)+4>>2]|0)+(b<<2)+2>>0]|0;return}else{a[h>>0]=0;a[g>>0]=0;a[f>>0]=0;return}}function NHa(a,b,c){a=a|0;b=b|0;c=c|0;b=PHa(b)|0;if(!b){c=0;return c|0}c=EHa(a,b,c)|0;zFa(b);return c|0}function OHa(a,b,e,f){a=a|0;b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;g=c[a+4>>2]|0;if(!g){k=(e&255)>>>(d[a+29>>0]|0)<<(d[a+33>>0]|0)|(b&255)>>>(d[a+28>>0]|0)<<(d[a+32>>0]|0)|c[a+24>>2]|(f&255)>>>(d[a+30>>0]|0)<<(d[a+34>>0]|0);return k|0}k=c[g>>2]|0;a:do if((k|0)>0){j=c[g+4>>2]|0;i=b&255;h=e&255;f=f&255;e=0;g=-1;a=0;do{m=(d[j+(e<<2)>>0]|0)-i|0;n=(d[j+(e<<2)+1>>0]|0)-h|0;l=(d[j+(e<<2)+2>>0]|0)-f|0;b=(d[j+(e<<2)+3>>0]|0)+-255|0;b=(N(n,n)|0)+(N(m,m)|0)+(N(l,l)|0)+(N(b,b)|0)|0;if(b>>>0<g>>>0){a=e&255;if(!b)break a;else g=b}e=e+1|0}while((e|0)<(k|0))}else a=0;while(0);n=a&255;return n|0}function PHa(a){a=a|0;var b=0,d=0,e=0;e=l;l=l+16|0;d=e;b=c[56500]|0;a:do if(b|0){while(1){if((c[b>>2]|0)==(a|0))break;b=c[b+40>>2]|0;if(!b)break a}d=b+36|0;c[d>>2]=(c[d>>2]|0)+1;d=b;l=e;return d|0}while(0);b=sBa(44)|0;if(!b){GAa(0)|0;d=0;l=e;return d|0}if((wBa(b,a)|0)<0){iBa(b);c[d>>2]=193359;MAa(208008,d)|0;d=0;l=e;return d|0}if((a|0)==0|(a&-268435456|0)==268435456?((a>>>24&15)+-1|0)>>>0<3:0){d=b;l=e;return d|0}c[b+40>>2]=c[56500];c[56500]=b;d=b;l=e;return d|0}function QHa(a){a=+a;return +(+M(+a))}
  6574. function B1a(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0;do if(!(u1a(b,c[d+8>>2]|0,g)|0)){if(!(u1a(b,c[d>>2]|0,g)|0)){i=c[b+8>>2]|0;Sk[c[(c[i>>2]|0)+24>>2]&63](i,d,e,f,g);break}if((c[d+16>>2]|0)!=(e|0)?(h=d+20|0,(c[h>>2]|0)!=(e|0)):0){c[d+32>>2]=f;i=d+44|0;if((c[i>>2]|0)==4)break;f=d+52|0;a[f>>0]=0;j=d+53|0;a[j>>0]=0;b=c[b+8>>2]|0;Tk[c[(c[b>>2]|0)+20>>2]&15](b,d,e,e,1,g);if(a[j>>0]|0)if(!(a[f>>0]|0)){f=1;b=11}else b=15;else{f=0;b=11}do if((b|0)==11){c[h>>2]=e;j=d+40|0;c[j>>2]=(c[j>>2]|0)+1;if((c[d+36>>2]|0)==1?(c[d+24>>2]|0)==2:0){a[d+54>>0]=1;if(f){b=15;break}else{f=4;break}}if(f)b=15;else f=4}while(0);if((b|0)==15)f=3;c[i>>2]=f;break}if((f|0)==1)c[d+32>>2]=1}else w1a(0,d,e,f);while(0);return}function C1a(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;if(u1a(a,c[b+8>>2]|0,0)|0)v1a(0,b,d,e);else{a=c[a+8>>2]|0;Qk[c[(c[a>>2]|0)+28>>2]&127](a,b,d,e)}return}function D1a(a){a=a|0;return}function E1a(){var a=0;a=l;l=l+16|0;if(!(Si(231012,1171)|0)){l=a;return}else l1a(216230,a)}function F1a(a){a=a|0;var b=0;b=l;l=l+16|0;HNa(a);if(!(Yi(c[57753]|0,0)|0)){l=b;return}else l1a(216280,b)}function G1a(){var a=0,b=0;a=k1a()|0;if((a|0?(b=c[a>>2]|0,b|0):0)?(a=b+48|0,(c[a>>2]&-256|0)==1126902528?(c[a+4>>2]|0)==1129074247:0):0)H1a(c[b+12>>2]|0);H1a(I1a()|0)}function H1a(a){a=a|0;var b=0;b=l;l=l+16|0;vk[a&15]();l1a(216333,b)}function I1a(){var a=0;a=c[27706]|0;c[27706]=a+0;return a|0}function J1a(a){a=a|0;return}function K1a(a){a=a|0;c[a>>2]=110916;O1a(a+4|0);return}function L1a(a){a=a|0;K1a(a);l0a(a);return}function M1a(a){a=a|0;return N1a(a+4|0)|0}function N1a(a){a=a|0;return c[a>>2]|0}function O1a(a){a=a|0;var b=0,d=0;if(q0a(a)|0?(b=P1a(c[a>>2]|0)|0,d=b+8|0,a=c[d>>2]|0,c[d>>2]=a+-1,(a+-1|0)<0):0)l0a(b);return}function P1a(a){a=a|0;return a+-12|0}function Q1a(a){a=a|0;K1a(a);l0a(a);return}function R1a(a){a=a|0;return}function S1a(a){a=a|0;R1a(a);l0a(a);return}function T1a(a){a=a|0;return 216406}function U1a(a){a=a|0;m1a(a);l0a(a);return}function V1a(a,b,c){a=a|0;b=b|0;c=c|0;return u1a(a,b,0)|0}function W1a(a){a=a|0;m1a(a);l0a(a);return}function X1a(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;j=l;l=l+64|0;h=j;c[d>>2]=c[c[d>>2]>>2];if(!(Y1a(a,b,0)|0))if(((b|0)!=0?(e=y1a(b,65896,66e3,0)|0,(e|0)!=0):0)?(c[e+8>>2]&~c[a+8>>2]|0)==0:0){a=a+12|0;b=e+12|0;if(!(u1a(c[a>>2]|0,c[b>>2]|0,0)|0)?!(u1a(c[a>>2]|0,66032,0)|0):0){a=c[a>>2]|0;if((((a|0)!=0?(g=y1a(a,65896,65880,0)|0,(g|0)!=0):0)?(f=c[b>>2]|0,(f|0)!=0):0)?(i=y1a(f,65896,65880,0)|0,(i|0)!=0):0){a=h+4|0;b=a+52|0;do{c[a>>2]=0;a=a+4|0}while((a|0)<(b|0));c[h>>2]=i;c[h+8>>2]=g;c[h+12>>2]=-1;c[h+48>>2]=1;Qk[c[(c[i>>2]|0)+28>>2]&127](i,h,c[d>>2]|0,1);if((c[h+24>>2]|0)==1){c[d>>2]=c[h+16>>2];a=1}else a=0}else a=0}else a=1}else a=0;else a=1;l=j;return a|0}function Y1a(a,b,c){a=a|0;b=b|0;c=c|0;if(u1a(a,b,0)|0)a=1;else a=u1a(b,66040,0)|0;return a|0}function Z1a(a){a=a|0;m1a(a);l0a(a);return}function _1a(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;if(u1a(b,c[d+8>>2]|0,h)|0)x1a(0,d,e,f,g);else{p=d+52|0;i=a[p>>0]|0;j=d+53|0;k=a[j>>0]|0;o=c[b+12>>2]|0;l=b+16+(o<<3)|0;a[p>>0]=0;a[j>>0]=0;c2a(b+16|0,d,e,f,g,h);a:do if((o|0)>1){m=d+24|0;n=b+8|0;o=d+54|0;b=b+24|0;do{if(a[o>>0]|0)break a;if(!(a[p>>0]|0)){if(a[j>>0]|0?(c[n>>2]&1|0)==0:0)break a}else{if((c[m>>2]|0)==1)break a;if(!(c[n>>2]&2))break a}a[p>>0]=0;a[j>>0]=0;c2a(b,d,e,f,g,h);b=b+8|0}while(b>>>0<l>>>0)}while(0);a[p>>0]=i;a[j>>0]=k}return}function $1a(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;a:do if(!(u1a(b,c[d+8>>2]|0,g)|0)){if(!(u1a(b,c[d>>2]|0,g)|0)){q=c[b+12>>2]|0;k=b+16+(q<<3)|0;d2a(b+16|0,d,e,f,g);h=b+24|0;if((q|0)<=1)break;b=c[b+8>>2]|0;if((b&2|0)==0?(j=d+36|0,(c[j>>2]|0)!=1):0){if(!(b&1)){b=d+54|0;while(1){if(a[b>>0]|0)break a;if((c[j>>2]|0)==1)break a;d2a(h,d,e,f,g);h=h+8|0;if(h>>>0>=k>>>0)break a}}b=d+24|0;i=d+54|0;while(1){if(a[i>>0]|0)break a;if((c[j>>2]|0)==1?(c[b>>2]|0)==1:0)break a;d2a(h,d,e,f,g);h=h+8|0;if(h>>>0>=k>>>0)break a}}b=d+54|0;while(1){if(a[b>>0]|0)break a;d2a(h,d,e,f,g);h=h+8|0;if(h>>>0>=k>>>0)break a}}if((c[d+16>>2]|0)!=(e|0)?(q=d+20|0,(c[q>>2]|0)!=(e|0)):0){c[d+32>>2]=f;p=d+44|0;if((c[p>>2]|0)==4)break;k=b+16+(c[b+12>>2]<<3)|0;f=d+52|0;l=d+53|0;n=d+54|0;m=b+8|0;o=d+24|0;h=0;i=b+16|0;j=0;b:while(1){if(i>>>0>=k>>>0){b=18;break}a[f>>0]=0;a[l>>0]=0;c2a(i,d,e,e,1,g);if(a[n>>0]|0){b=18;break}do if(a[l>>0]|0){if(!(a[f>>0]|0))if(!(c[m>>2]&1)){h=1;b=18;break b}else{h=1;b=j;break}if((c[o>>2]|0)==1){b=23;break b}if(!(c[m>>2]&2)){b=23;break b}else{h=1;b=1}}else b=j;while(0);i=i+8|0;j=b}do if((b|0)==18){if((!j?(c[q>>2]=e,e=d+40|0,c[e>>2]=(c[e>>2]|0)+1,(c[d+36>>2]|0)==1):0)?(c[o>>2]|0)==2:0){a[n>>0]=1;if(h){b=23;break}else{h=4;break}}if(h)b=23;else h=4}while(0);if((b|0)==23)h=3;c[p>>2]=h;break}if((f|0)==1)c[d+32>>2]=1}else w1a(0,d,e,f);while(0);return}function a2a(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0;a:do if(!(u1a(b,c[d+8>>2]|0,0)|0)){h=c[b+12>>2]|0;g=b+16+(h<<3)|0;b2a(b+16|0,d,e,f);if((h|0)>1){h=d+54|0;b=b+24|0;do{b2a(b,d,e,f);if(a[h>>0]|0)break a;b=b+8|0}while(b>>>0<g>>>0)}}else v1a(0,d,e,f);while(0);return}function b2a(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;g=c[a+4>>2]|0;f=g>>8;if(g&1)f=c[(c[d>>2]|0)+f>>2]|0;a=c[a>>2]|0;Qk[c[(c[a>>2]|0)+28>>2]&127](a,b,d+f|0,(g&2|0)==0?2:e);return}function c2a(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0;i=c[a+4>>2]|0;h=i>>8;if(i&1)h=c[(c[e>>2]|0)+h>>2]|0;a=c[a>>2]|0;Tk[c[(c[a>>2]|0)+20>>2]&15](a,b,d,e+h|0,(i&2|0)==0?2:f,g);return}function d2a(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0;h=c[a+4>>2]|0;g=h>>8;if(h&1)g=c[(c[d>>2]|0)+g>>2]|0;a=c[a>>2]|0;Sk[c[(c[a>>2]|0)+24>>2]&63](a,b,d+g|0,(h&2|0)==0?2:e,f);return}function e2a(){var a=0;a=db(4)|0;f2a(a);hb(a|0,65968,1069)}function f2a(a){a=a|0;c[a>>2]=110956;return}function g2a(b){b=b|0;if((a[b>>0]|0)==1)b=0;else{a[b>>0]=1;b=1}return b|0}function h2a(a){a=a|0;return}function i2a(a){a=a|0;return}function j2a(){var a=0;a=c[57754]|0;c[57754]=a+0;return a|0}function k2a(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;f=l;l=l+16|0;e=f;c[e>>2]=c[d>>2];a=lk[c[(c[a>>2]|0)+16>>2]&127](a,b,e)|0;if(a)c[d>>2]=c[e>>2];l=f;return a&1|0}function l2a(a){a=a|0;if(!a)a=0;else a=(y1a(a,65896,66e3,0)|0)!=0&1;return a|0}function m2a(){}function n2a(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;f=a&65535;e=b&65535;c=N(e,f)|0;d=a>>>16;a=(c>>>16)+(N(e,d)|0)|0;e=b>>>16;b=N(e,f)|0;return (y=(a>>>16)+(N(e,d)|0)+(((a&65535)+b|0)>>>16)|0,a+b<<16|c&65535|0)|0}function o2a(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0;e=a;f=c;c=n2a(e,f)|0;a=y;return (y=(N(b,f)|0)+(N(d,e)|0)+a|a&0,c|0|0)|0}function p2a(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;c=a+c>>>0;return (y=b+d+(c>>>0<a>>>0|0)>>>0,c|0)|0}function q2a(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;d=b-d-(c>>>0>a>>>0|0)>>>0;return (y=d,a-c>>>0|0)|0}function r2a(a){a=a|0;return (a?31-(Q(a^a-1)|0)|0:32)|0}function s2a(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;l=a;j=b;k=j;h=d;n=e;i=n;if(!k){g=(f|0)!=0;if(!i){if(g){c[f>>2]=(l>>>0)%(h>>>0);c[f+4>>2]=0}n=0;f=(l>>>0)/(h>>>0)>>>0;return (y=n,f)|0}else{if(!g){n=0;f=0;return (y=n,f)|0}c[f>>2]=a|0;c[f+4>>2]=b&0;n=0;f=0;return (y=n,f)|0}}g=(i|0)==0;do if(h){if(!g){g=(Q(i|0)|0)-(Q(k|0)|0)|0;if(g>>>0<=31){m=g+1|0;i=31-g|0;b=g-31>>31;h=m;a=l>>>(m>>>0)&b|k<<i;b=k>>>(m>>>0)&b;g=0;i=l<<i;break}if(!f){n=0;f=0;return (y=n,f)|0}c[f>>2]=a|0;c[f+4>>2]=j|b&0;n=0;f=0;return (y=n,f)|0}g=h-1|0;if(g&h|0){i=(Q(h|0)|0)+33-(Q(k|0)|0)|0;p=64-i|0;m=32-i|0;j=m>>31;o=i-32|0;b=o>>31;h=i;a=m-1>>31&k>>>(o>>>0)|(k<<m|l>>>(i>>>0))&b;b=b&k>>>(i>>>0);g=l<<p&j;i=(k<<p|l>>>(o>>>0))&j|l<<m&i-33>>31;break}if(f|0){c[f>>2]=g&l;c[f+4>>2]=0}if((h|0)==1){o=j|b&0;p=a|0|0;return (y=o,p)|0}else{p=r2a(h|0)|0;o=k>>>(p>>>0)|0;p=k<<32-p|l>>>(p>>>0)|0;return (y=o,p)|0}}else{if(g){if(f|0){c[f>>2]=(k>>>0)%(h>>>0);c[f+4>>2]=0}o=0;p=(k>>>0)/(h>>>0)>>>0;return (y=o,p)|0}if(!l){if(f|0){c[f>>2]=0;c[f+4>>2]=(k>>>0)%(i>>>0)}o=0;p=(k>>>0)/(i>>>0)>>>0;return (y=o,p)|0}g=i-1|0;if(!(g&i)){if(f|0){c[f>>2]=a|0;c[f+4>>2]=g&k|b&0}o=0;p=k>>>((r2a(i|0)|0)>>>0);return (y=o,p)|0}g=(Q(i|0)|0)-(Q(k|0)|0)|0;if(g>>>0<=30){b=g+1|0;i=31-g|0;h=b;a=k<<i|l>>>(b>>>0);b=k>>>(b>>>0);g=0;i=l<<i;break}if(!f){o=0;p=0;return (y=o,p)|0}c[f>>2]=a|0;c[f+4>>2]=j|b&0;o=0;p=0;return (y=o,p)|0}while(0);if(!h){k=i;j=0;i=0}else{m=d|0|0;l=n|e&0;k=p2a(m|0,l|0,-1,-1)|0;d=y;j=i;i=0;do{e=j;j=g>>>31|j<<1;g=i|g<<1;e=a<<1|e>>>31|0;n=a>>>31|b<<1|0;q2a(k|0,d|0,e|0,n|0)|0;p=y;o=p>>31|((p|0)<0?-1:0)<<1;i=o&1;a=q2a(e|0,n|0,o&m|0,(((p|0)<0?-1:0)>>31|((p|0)<0?-1:0)<<1)&l|0)|0;b=y;h=h-1|0}while((h|0)!=0);k=j;j=0}h=0;if(f|0){c[f>>2]=a;c[f+4>>2]=b}o=(g|0)>>>31|(k|h)<<1|(h<<1|g>>>31)&0|j;p=(g<<1|0>>>31)&-2|i;return (y=o,p)|0}function t2a(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return s2a(a,b,c,d,0)|0}function u2a(a,b,c){a=a|0;b=b|0;c=c|0;if((c|0)<32){y=b>>>c;return a>>>c|(b&(1<<c)-1)<<32-c}y=0;return b>>>c-32|0}function v2a(a,b,c){a=a|0;b=b|0;c=c|0;if((c|0)<32){y=b<<c|(a&(1<<c)-1<<32-c)>>>32-c;return a<<c}y=a<<c-32;return 0}function w2a(a){a=a|0;return (a&255)<<24|(a>>8&255)<<16|(a>>16&255)<<8|a>>>24|0}function x2a(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;if((e|0)>=8192)return ih(b|0,d|0,e|0)|0;h=b|0;g=b+e|0;if((b&3)==(d&3)){while(b&3){if(!e)return h|0;a[b>>0]=a[d>>0]|0;b=b+1|0;d=d+1|0;e=e-1|0}e=g&-4|0;f=e-64|0;while((b|0)<=(f|0)){c[b>>2]=c[d>>2];c[b+4>>2]=c[d+4>>2];c[b+8>>2]=c[d+8>>2];c[b+12>>2]=c[d+12>>2];c[b+16>>2]=c[d+16>>2];c[b+20>>2]=c[d+20>>2];c[b+24>>2]=c[d+24>>2];c[b+28>>2]=c[d+28>>2];c[b+32>>2]=c[d+32>>2];c[b+36>>2]=c[d+36>>2];c[b+40>>2]=c[d+40>>2];c[b+44>>2]=c[d+44>>2];c[b+48>>2]=c[d+48>>2];c[b+52>>2]=c[d+52>>2];c[b+56>>2]=c[d+56>>2];c[b+60>>2]=c[d+60>>2];b=b+64|0;d=d+64|0}while((b|0)<(e|0)){c[b>>2]=c[d>>2];b=b+4|0;d=d+4|0}}else{e=g-4|0;while((b|0)<(e|0)){a[b>>0]=a[d>>0]|0;a[b+1>>0]=a[d+1>>0]|0;a[b+2>>0]=a[d+2>>0]|0;a[b+3>>0]=a[d+3>>0]|0;b=b+4|0;d=d+4|0}}while((b|0)<(g|0)){a[b>>0]=a[d>>0]|0;b=b+1|0;d=d+1|0}return h|0}function y2a(b,c,d){b=b|0;c=c|0;d=d|0;var e=0;if((c|0)<(b|0)&(b|0)<(c+d|0)){e=b;c=c+d|0;b=b+d|0;while((d|0)>0){b=b-1|0;c=c-1|0;d=d-1|0;a[b>>0]=a[c>>0]|0}b=e}else x2a(b,c,d)|0;return b|0}function z2a(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;h=b+e|0;d=d&255;if((e|0)>=67){while(b&3){a[b>>0]=d;b=b+1|0}f=h&-4|0;g=f-64|0;i=d|d<<8|d<<16|d<<24;while((b|0)<=(g|0)){c[b>>2]=i;c[b+4>>2]=i;c[b+8>>2]=i;c[b+12>>2]=i;c[b+16>>2]=i;c[b+20>>2]=i;c[b+24>>2]=i;c[b+28>>2]=i;c[b+32>>2]=i;c[b+36>>2]=i;c[b+40>>2]=i;c[b+44>>2]=i;c[b+48>>2]=i;c[b+52>>2]=i;c[b+56>>2]=i;c[b+60>>2]=i;b=b+64|0}while((b|0)<(f|0)){c[b>>2]=i;b=b+4|0}}while((b|0)<(h|0)){a[b>>0]=d;b=b+1|0}return h-e|0}function A2a(a){a=a|0;return 0}function B2a(a){a=a|0;return 0}function C2a(a){a=a|0;return 0}function D2a(a){a=a|0;return 0}function E2a(a){a=a|0;var b=0,d=0;d=c[i>>2]|0;b=d+a|0;if((a|0)>0&(b|0)<(d|0)|(b|0)<0){V()|0;nb(12);return -1}c[i>>2]=b;if((b|0)>(U()|0)?(T()|0)==0:0){c[i>>2]=d;nb(12);return -1}return d|0}function F2a(a,b){a=a|0;b=b|0;return +ck[a&7](b|0)}function G2a(a,b,c){a=a|0;b=b|0;c=c|0;return +dk[a&3](b|0,c|0)}function H2a(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return +ek[a&15](b|0,c|0,d|0)}function I2a(a){a=a|0;return fk[a&7]()|0}function J2a(a,b){a=a|0;b=b|0;return gk[a&1023](b|0)|0}function K2a(a,b,c,d){a=a|0;b=b|0;c=+c;d=+d;return hk[a&3](b|0,+c,+d)|0}function L2a(a,b,c,d,e){a=a|0;b=b|0;c=+c;d=+d;e=+e;return ik[a&7](b|0,+c,+d,+e)|0}function M2a(a,b,c,d,e){a=a|0;b=b|0;c=+c;d=d|0;e=e|0;return jk[a&0](b|0,+c,d|0,e|0)|0}function N2a(a,b,c){a=a|0;b=b|0;c=c|0;return kk[a&511](b|0,c|0)|0}function O2a(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return lk[a&127](b|0,c|0,d|0)|0}function P2a(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return mk[a&63](b|0,c|0,d|0,e|0)|0}function Q2a(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=+f;return nk[a&7](b|0,c|0,d|0,e|0,+f)|0}function R2a(a,b,c,d,e,f,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=+f;g=g|0;h=h|0;return ok[a&3](b|0,c|0,d|0,e|0,+f,g|0,h|0)|0}function S2a(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return pk[a&63](b|0,c|0,d|0,e|0,f|0)|0}function T2a(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=+g;return qk[a&3](b|0,c|0,d|0,e|0,f|0,+g)|0}function U2a(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;return rk[a&63](b|0,c|0,d|0,e|0,f|0,g|0)|0}function V2a(a,b,c,d,e,f,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;return sk[a&15](b|0,c|0,d|0,e|0,f|0,g|0,h|0)|0}function W2a(a,b,c,d,e,f,g,h,i){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;return tk[a&31](b|0,c|0,d|0,e|0,f|0,g|0,h|0,i|0)|0}function X2a(a,b,c,d,e,f,g,h,i,j){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;return uk[a&1](b|0,c|0,d|0,e|0,f|0,g|0,h|0,i|0,j|0)|0}function Y2a(a){a=a|0;vk[a&15]()}function Z2a(a,b){a=a|0;b=+b;wk[a&3](+b)}function _2a(a,b,c){a=a|0;b=+b;c=+c;xk[a&3](+b,+c)}function $2a(a,b,c,d,e){a=a|0;b=+b;c=+c;d=+d;e=+e;yk[a&3](+b,+c,+d,+e)}function a3a(a,b,c,d,e,f,g){a=a|0;b=+b;c=+c;d=+d;e=+e;f=+f;g=+g;zk[a&1](+b,+c,+d,+e,+f,+g)}function b3a(a,b,c){a=a|0;b=+b;c=c|0;Ak[a&1](+b,c|0)}function c3a(a,b){a=a|0;b=b|0;Bk[a&2047](b|0)}function d3a(a,b,c){a=a|0;b=b|0;c=+c;Ck[a&15](b|0,+c)}function e3a(a,b,c,d){a=a|0;b=b|0;c=+c;d=+d;Dk[a&15](b|0,+c,+d)}function f3a(a,b,c,d,e){a=a|0;b=b|0;c=+c;d=+d;e=+e;Ek[a&7](b|0,+c,+d,+e)}function g3a(a,b,c,d,e,f){a=a|0;b=b|0;c=+c;d=+d;e=+e;f=+f;Fk[a&7](b|0,+c,+d,+e,+f)}function h3a(a,b,c,d,e,f,g){a=a|0;b=b|0;c=+c;d=+d;e=+e;f=+f;g=+g;Gk[a&1](b|0,+c,+d,+e,+f,+g)}function i3a(a,b,c,d,e){a=a|0;b=b|0;c=+c;d=+d;e=e|0;Hk[a&1](b|0,+c,+d,e|0)}function j3a(a,b,c,d){a=a|0;b=b|0;c=+c;d=d|0;Ik[a&7](b|0,+c,d|0)}function k3a(a,b,c){a=a|0;b=b|0;c=c|0;Jk[a&1023](b|0,c|0)}function l3a(a,b,c,d){a=a|0;b=b|0;c=c|0;d=+d;Kk[a&1](b|0,c|0,+d)}function m3a(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=+d;e=e|0;Lk[a&1](b|0,c|0,+d,e|0)}function n3a(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=+d;e=e|0;f=f|0;g=g|0;Mk[a&1](b|0,c|0,+d,e|0,f|0,g|0)}function o3a(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Nk[a&255](b|0,c|0,d|0)}function p3a(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=+e;Ok[a&3](b|0,c|0,d|0,+e)}function q3a(a,b,c,d,e,f,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=+e;f=f|0;g=g|0;h=h|0;Pk[a&1](b|0,c|0,d|0,+e,f|0,g|0,h|0)}function r3a(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;Qk[a&127](b|0,c|0,d|0,e|0)}function s3a(a,b,c,d,e,f,g,h,i){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=+f;g=g|0;h=h|0;i=i|0;Rk[a&1](b|0,c|0,d|0,e|0,+f,g|0,h|0,i|0)}function t3a(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;Sk[a&63](b|0,c|0,d|0,e|0,f|0)}function u3a(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;Tk[a&15](b|0,c|0,d|0,e|0,f|0,g|0)}function v3a(a,b,c,d,e,f,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;Uk[a&15](b|0,c|0,d|0,e|0,f|0,g|0,h|0)}function w3a(a,b,c,d,e,f,g,h,i){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;Vk[a&7](b|0,c|0,d|0,e|0,f|0,g|0,h|0,i|0)}function x3a(a,b,c,d,e,f,g,h,i,j){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;Wk[a&15](b|0,c|0,d|0,e|0,f|0,g|0,h|0,i|0,j|0)}function y3a(a,b,c,d,e,f,g,h,i,j,k){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;Xk[a&1](b|0,c|0,d|0,e|0,f|0,g|0,h|0,i|0,j|0,k|0)}function z3a(a,b,c,d,e,f,g,h,i,j,k,l){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;Yk[a&15](b|0,c|0,d|0,e|0,f|0,g|0,h|0,i|0,j|0,k|0,l|0)}function A3a(a){a=a|0;R(0);return 0.0}function B3a(a,b){a=a|0;b=b|0;R(1);return 0.0}function C3a(a,b,c){a=a|0;b=b|0;c=c|0;R(2);return 0.0}function D3a(){R(3);return 0}function E3a(){return zc()|0}function F3a(){return Ed()|0}function G3a(){return Ee()|0}function H3a(a){a=a|0;R(4);return 0}function I3a(a){a=a|0;return rc(a|0)|0}function J3a(a){a=a|0;return xc(a|0)|0}function K3a(a){a=a|0;return sc(a|0)|0}function L3a(a){a=a|0;return Ac(a|0)|0}function M3a(a){a=a|0;return kc(a|0)|0}function N3a(a){a=a|0;return Ue(a|0)|0}function O3a(a){a=a|0;return tf(a|0)|0}function P3a(a){a=a|0;return mf(a|0)|0}function Q3a(a){a=a|0;return rf(a|0)|0}function R3a(a){a=a|0;return Fd(a|0)|0}function S3a(a){a=a|0;return sf(a|0)|0}function T3a(a){a=a|0;return qf(a|0)|0}function U3a(a){a=a|0;return pf(a|0)|0}function V3a(a){a=a|0;return uf(a|0)|0}function W3a(a){a=a|0;return kd(a|0)|0}function X3a(a){a=a|0;return nf(a|0)|0}function Y3a(a,b,c){a=a|0;b=+b;c=+c;R(5);return 0}function Z3a(a,b,c,d){a=a|0;b=+b;c=+c;d=+d;R(6);return 0}function _3a(a,b,c,d){a=a|0;b=+b;c=c|0;d=d|0;R(7);return 0}function $3a(a,b){a=a|0;b=b|0;R(8);return 0}function a4a(a,b){a=a|0;b=b|0;return oc(a|0,b|0)|0}function b4a(a,b){a=a|0;b=b|0;return pc(a|0,b|0)|0}function c4a(a,b){a=a|0;b=b|0;return vc(a|0,b|0)|0}function d4a(a,b){a=a|0;b=b|0;return wc(a|0,b|0)|0}function e4a(a,b){a=a|0;b=b|0;return Ve(a|0,b|0)|0}function f4a(a,b){a=a|0;b=b|0;return bf(a|0,b|0)|0}function g4a(a,b){a=a|0;b=b|0;return Ae(a|0,b|0)|0}function h4a(a,b){a=a|0;b=b|0;return $e(a|0,b|0)|0}function i4a(a,b){a=a|0;b=b|0;return of(a|0,b|0)|0}function j4a(a,b){a=a|0;b=b|0;return Ge(a|0,b|0)|0}function k4a(a,b,c){a=a|0;b=b|0;c=c|0;R(9);return 0}function l4a(a,b,c){a=a|0;b=b|0;c=c|0;return tc(a|0,b|0,c|0)|0}function m4a(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;R(10);return 0}function n4a(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return qc(a|0,b|0,c|0,d|0)|0}function o4a(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return mc(a|0,b|0,c|0,d|0)|0}function p4a(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return nc(a|0,b|0,c|0,d|0)|0}function q4a(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return uc(a|0,b|0,c|0,d|0)|0}function r4a(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=+e;R(11);return 0}function s4a(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=+e;f=f|0;g=g|0;R(12);return 0}function t4a(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;R(13);return 0}function u4a(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return lc(a|0,b|0,c|0,d|0,e|0)|0}function v4a(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=+f;R(14);return 0}function w4a(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;R(15);return 0}function x4a(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;R(16);return 0}function y4a(a,b,c,d,e,f,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;R(17);return 0}function z4a(a,b,c,d,e,f,g,h,i){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;R(18);return 0}function A4a(){R(19)}function B4a(){gb()}function C4a(){xf()}function D4a(){Ef()}function E4a(){he()}function F4a(){ie()}function G4a(){ge()}function H4a(){fe()}function I4a(a){a=+a;R(20)}function J4a(a){a=+a;sd(+a)}function K4a(a){a=+a;td(+a)}function L4a(a){a=+a;vf(+a)}function M4a(a,b){a=+a;b=+b;R(21)}function N4a(a,b){a=+a;b=+b;Rd(+a,+b)}function O4a(a,b){a=+a;b=+b;Sd(+a,+b)}function P4a(a,b){a=+a;b=+b;Cf(+a,+b)}function Q4a(a,b,c,d){a=+a;b=+b;c=+c;d=+d;R(22)}function R4a(a,b,c,d){a=+a;b=+b;c=+c;d=+d;Gf(+a,+b,+c,+d)}function S4a(a,b,c,d){a=+a;b=+b;c=+c;d=+d;rd(+a,+b,+c,+d)}function T4a(a,b,c,d){a=+a;b=+b;c=+c;d=+d;dd(+a,+b,+c,+d)}function U4a(a,b,c,d,e,f){a=+a;b=+b;c=+c;d=+d;e=+e;f=+f;R(23)}function V4a(a,b,c,d,e,f){a=+a;b=+b;c=+c;d=+d;e=+e;f=+f;me(+a,+b,+c,+d,+e,+f)}function W4a(a,b){a=+a;b=b|0;R(24)}function X4a(a,b){a=+a;b=b|0;Hf(+a,b|0)}function Y4a(a){a=a|0;R(25)}function Z4a(a){a=a|0;Md(a|0)}function _4a(a){a=a|0;zd(a|0)}function $4a(a){a=a|0;Kd(a|0)}function a5a(a){a=a|0;wf(a|0)}function b5a(a){a=a|0;Bg(a|0)}function c5a(a){a=a|0;Cg(a|0)}function d5a(a){a=a|0;Jd(a|0)}function e5a(a){a=a|0;ce(a|0)}function f5a(a){a=a|0;vd(a|0)}function g5a(a){a=a|0;cd(a|0)}function h5a(a){a=a|0;zf(a|0)}function i5a(a){a=a|0;yf(a|0)}function j5a(a){a=a|0;de(a|0)}function k5a(a){a=a|0;Vd(a|0)}function l5a(a){a=a|0;Pd(a|0)}function m5a(a){a=a|0;be(a|0)}function n5a(a){a=a|0;Ud(a|0)}function o5a(a){a=a|0;le(a|0)}function p5a(a){a=a|0;Gd(a|0)}function q5a(a){a=a|0;md(a|0)}function r5a(a){a=a|0;ud(a|0)}function s5a(a){a=a|0;Qd(a|0)}function t5a(a){a=a|0;Nf(a|0)}function u5a(a){a=a|0;se(a|0)}function v5a(a){a=a|0;Rc(a|0)}function w5a(a){a=a|0;ed(a|0)}function x5a(a){a=a|0;Uc(a|0)}function y5a(a,b){a=a|0;b=+b;R(26)}function z5a(a,b){a=a|0;b=+b;dg(a|0,+b)}function A5a(a,b){a=a|0;b=+b;Dg(a|0,+b)}function B5a(a,b,c){a=a|0;b=+b;c=+c;R(27)}function C5a(a,b,c){a=a|0;b=+b;c=+c;ig(a|0,+b,+c)}function D5a(a,b,c){a=a|0;b=+b;c=+c;Fg(a|0,+b,+c)}function E5a(a,b,c,d){a=a|0;b=+b;c=+c;d=+d;R(28)}function F5a(a,b,c,d){a=a|0;b=+b;c=+c;d=+d;ng(a|0,+b,+c,+d)}function G5a(a,b,c,d){a=a|0;b=+b;c=+c;d=+d;Hg(a|0,+b,+c,+d)}function H5a(a,b,c,d,e){a=a|0;b=+b;c=+c;d=+d;e=+e;R(29)}function I5a(a,b,c,d,e){a=a|0;b=+b;c=+c;d=+d;e=+e;sg(a|0,+b,+c,+d,+e)}function J5a(a,b,c,d,e){a=a|0;b=+b;c=+c;d=+d;e=+e;Jg(a|0,+b,+c,+d,+e)}function K5a(a,b,c,d,e,f){a=a|0;b=+b;c=+c;d=+d;e=+e;f=+f;R(30)}function L5a(a,b,c,d){a=a|0;b=+b;c=+c;d=d|0;R(31)}function M5a(a,b,c){a=a|0;b=+b;c=c|0;R(32)}function N5a(a,b){a=a|0;b=b|0;R(33)}function O5a(a,b){a=a|0;b=b|0;Bf(a|0,b|0)}function P5a(a,b){a=a|0;b=b|0;Ke(a|0,b|0)}function Q5a(a,b){a=a|0;b=b|0;Fe(a|0,b|0)}function R5a(a,b){a=a|0;b=b|0;Ce(a|0,b|0)}function S5a(a,b){a=a|0;b=b|0;qe(a|0,b|0)}function T5a(a,b){a=a|0;b=b|0;Nd(a|0,b|0)}function U5a(a,b){a=a|0;b=b|0;bd(a|0,b|0)}function V5a(a,b){a=a|0;b=b|0;ne(a|0,b|0)}function W5a(a,b){a=a|0;b=b|0;Hd(a|0,b|0)}function X5a(a,b){a=a|0;b=b|0;pe(a|0,b|0)}function Y5a(a,b){a=a|0;b=b|0;Ld(a|0,b|0)}function Z5a(a,b){a=a|0;b=b|0;ad(a|0,b|0)}function _5a(a,b){a=a|0;b=b|0;fg(a|0,b|0)}function $5a(a,b){a=a|0;b=b|0;Wc(a|0,b|0)}function a6a(a,b){a=a|0;b=b|0;Eg(a|0,b|0)}function b6a(a,b){a=a|0;b=b|0;Gg(a|0,b|0)}function c6a(a,b){a=a|0;b=b|0;Ig(a|0,b|0)}function d6a(a,b){a=a|0;b=b|0;Kg(a|0,b|0)}function e6a(a,b){a=a|0;b=b|0;Sc(a|0,b|0)}function f6a(a,b){a=a|0;b=b|0;Td(a|0,b|0)}function g6a(a,b){a=a|0;b=b|0;_c(a|0,b|0)}function h6a(a,b){a=a|0;b=b|0;oe(a|0,b|0)}function i6a(a,b){a=a|0;b=b|0;Id(a|0,b|0)}function j6a(a,b){a=a|0;b=b|0;$c(a|0,b|0)}function k6a(a,b){a=a|0;b=b|0;Me(a|0,b|0)}function l6a(a,b){a=a|0;b=b|0;re(a|0,b|0)}function m6a(a,b){a=a|0;b=b|0;Od(a|0,b|0)}function n6a(a,b){a=a|0;b=b|0;Lg(a|0,b|0)}function o6a(a,b){a=a|0;b=b|0;gd(a|0,b|0)}function p6a(a,b){a=a|0;b=b|0;fd(a|0,b|0)}function q6a(a,b){a=a|0;b=b|0;Of(a|0,b|0)}function r6a(a,b){a=a|0;b=b|0;lf(a|0,b|0)}function s6a(a,b){a=a|0;b=b|0;Zd(a|0,b|0)}function t6a(a,b){a=a|0;b=b|0;ee(a|0,b|0)}function u6a(a,b){a=a|0;b=b|0;Wd(a|0,b|0)}function v6a(a,b){a=a|0;b=b|0;ld(a|0,b|0)}function w6a(a,b){a=a|0;b=b|0;Tc(a|0,b|0)}function x6a(a,b){a=a|0;b=b|0;Mg(a|0,b|0)}function y6a(a,b){a=a|0;b=b|0;Og(a|0,b|0)}function z6a(a,b){a=a|0;b=b|0;Ng(a|0,b|0)}function A6a(a,b){a=a|0;b=b|0;Rg(a|0,b|0)}function B6a(a,b){a=a|0;b=b|0;Vg(a|0,b|0)}function C6a(a,b){a=a|0;b=b|0;_g(a|0,b|0)}function D6a(a,b){a=a|0;b=b|0;Pg(a|0,b|0)}function E6a(a,b){a=a|0;b=b|0;Tg(a|0,b|0)}function F6a(a,b){a=a|0;b=b|0;Xg(a|0,b|0)}function G6a(a,b){a=a|0;b=b|0;ch(a|0,b|0)}function H6a(a,b){a=a|0;b=b|0;Yg(a|0,b|0)}function I6a(a,b){a=a|0;b=b|0;$g(a|0,b|0)}function J6a(a,b){a=a|0;b=b|0;ah(a|0,b|0)}function K6a(a,b){a=a|0;b=b|0;dh(a|0,b|0)}function L6a(a,b){a=a|0;b=b|0;hg(a|0,b|0)}function M6a(a,b,c){a=a|0;b=b|0;c=+c;R(34)}function N6a(a,b,c){a=a|0;b=b|0;c=+c;Wf(a|0,b|0,+c)}function O6a(a,b,c,d){a=a|0;b=b|0;c=+c;d=d|0;R(35)}function P6a(a,b,c,d){a=a|0;b=b|0;c=+c;d=d|0;nd(a|0,b|0,+c,d|0)}function Q6a(a,b,c,d,e,f){a=a|0;b=b|0;c=+c;d=d|0;e=e|0;f=f|0;R(36)}function R6a(a,b,c){a=a|0;b=b|0;c=c|0;R(37)}function S6a(a,b,c){a=a|0;b=b|0;c=c|0;Ye(a|0,b|0,c|0)}function T6a(a,b,c){a=a|0;b=b|0;c=c|0;Ze(a|0,b|0,c|0)}function U6a(a,b,c){a=a|0;b=b|0;c=c|0;Yf(a|0,b|0,c|0)}function V6a(a,b,c){a=a|0;b=b|0;c=c|0;Xf(a|0,b|0,c|0)}function W6a(a,b,c){a=a|0;b=b|0;c=c|0;Zf(a|0,b|0,c|0)}function X6a(a,b,c){a=a|0;b=b|0;c=c|0;De(a|0,b|0,c|0)}function Y6a(a,b,c){a=a|0;b=b|0;c=c|0;Pe(a|0,b|0,c|0)}function Z6a(a,b,c){a=a|0;b=b|0;c=c|0;cf(a|0,b|0,c|0)}function _6a(a,b,c){a=a|0;b=b|0;c=c|0;df(a|0,b|0,c|0)}function $6a(a,b,c){a=a|0;b=b|0;c=c|0;jf(a|0,b|0,c|0)}function a7a(a,b,c){a=a|0;b=b|0;c=c|0;kf(a|0,b|0,c|0)}function b7a(a,b,c){a=a|0;b=b|0;c=c|0;hf(a|0,b|0,c|0)}function c7a(a,b,c){a=a|0;b=b|0;c=c|0;kg(a|0,b|0,c|0)}function d7a(a,b,c){a=a|0;b=b|0;c=c|0;gg(a|0,b|0,c|0)}function e7a(a,b,c){a=a|0;b=b|0;c=c|0;lg(a|0,b|0,c|0)}function f7a(a,b,c){a=a|0;b=b|0;c=c|0;qg(a|0,b|0,c|0)}function g7a(a,b,c){a=a|0;b=b|0;c=c|0;vg(a|0,b|0,c|0)}function h7a(a,b,c){a=a|0;b=b|0;c=c|0;eg(a|0,b|0,c|0)}function i7a(a,b,c){a=a|0;b=b|0;c=c|0;jg(a|0,b|0,c|0)}function j7a(a,b,c){a=a|0;b=b|0;c=c|0;og(a|0,b|0,c|0)}function k7a(a,b,c){a=a|0;b=b|0;c=c|0;tg(a|0,b|0,c|0)}function l7a(a,b,c){a=a|0;b=b|0;c=c|0;Te(a|0,b|0,c|0)}function m7a(a,b,c){a=a|0;b=b|0;c=c|0;Oe(a|0,b|0,c|0)}function n7a(a,b,c){a=a|0;b=b|0;c=c|0;Vc(a|0,b|0,c|0)}function o7a(a,b,c){a=a|0;b=b|0;c=c|0;Le(a|0,b|0,c|0)}function p7a(a,b,c){a=a|0;b=b|0;c=c|0;Af(a|0,b|0,c|0)}function q7a(a,b,c){a=a|0;b=b|0;c=c|0;Xd(a|0,b|0,c|0)}function r7a(a,b,c){a=a|0;b=b|0;c=c|0;Lf(a|0,b|0,c|0)}function s7a(a,b,c){a=a|0;b=b|0;c=c|0;Pf(a|0,b|0,c|0)}function t7a(a,b,c){a=a|0;b=b|0;c=c|0;xg(a|0,b|0,c|0)}function u7a(a,b,c){a=a|0;b=b|0;c=c|0;Be(a|0,b|0,c|0)}function v7a(a,b,c){a=a|0;b=b|0;c=c|0;Je(a|0,b|0,c|0)}function w7a(a,b,c){a=a|0;b=b|0;c=c|0;Xc(a|0,b|0,c|0)}function x7a(a,b,c){a=a|0;b=b|0;c=c|0;ff(a|0,b|0,c|0)}function y7a(a,b,c){a=a|0;b=b|0;c=c|0;gf(a|0,b|0,c|0)}function z7a(a,b,c){a=a|0;b=b|0;c=c|0;Qg(a|0,b|0,c|0)}function A7a(a,b,c){a=a|0;b=b|0;c=c|0;Sg(a|0,b|0,c|0)}function B7a(a,b,c){a=a|0;b=b|0;c=c|0;ef(a|0,b|0,c|0)}function C7a(a,b,c){a=a|0;b=b|0;c=c|0;Zc(a|0,b|0,c|0)}function D7a(a,b,c){a=a|0;b=b|0;c=c|0;mg(a|0,b|0,c|0)}function E7a(a,b,c){a=a|0;b=b|0;c=c|0;Uf(a|0,b|0,c|0)}function F7a(a,b,c){a=a|0;b=b|0;c=c|0;Vf(a|0,b|0,c|0)}function G7a(a,b,c){a=a|0;b=b|0;c=c|0;We(a|0,b|0,c|0)}function H7a(a,b,c){a=a|0;b=b|0;c=c|0;Xe(a|0,b|0,c|0)}function I7a(a,b,c){a=a|0;b=b|0;c=c|0;pd(a|0,b|0,c|0)}function J7a(a,b,c){a=a|0;b=b|0;c=c|0;qd(a|0,b|0,c|0)}function K7a(a,b,c){a=a|0;b=b|0;c=c|0;od(a|0,b|0,c|0)}function L7a(a,b,c,d){a=a|0;b=b|0;c=c|0;d=+d;R(38)}function M7a(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=+d;e=e|0;f=f|0;g=g|0;R(39)}function N7a(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;R(40)}function O7a(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;id(a|0,b|0,c|0,d|0)}function P7a(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;jd(a|0,b|0,c|0,d|0)}function Q7a(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;pg(a|0,b|0,c|0,d|0)}function R7a(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;yg(a|0,b|0,c|0,d|0)}function S7a(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;zg(a|0,b|0,c|0,d|0)}function T7a(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ag(a|0,b|0,c|0,d|0)}function U7a(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;ze(a|0,b|0,c|0,d|0)}function V7a(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Kf(a|0,b|0,c|0,d|0)}function W7a(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Se(a|0,b|0,c|0,d|0)}function X7a(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Qe(a|0,b|0,c|0,d|0)}function Y7a(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Re(a|0,b|0,c|0,d|0)}function Z7a(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ne(a|0,b|0,c|0,d|0)}function _7a(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;je(a|0,b|0,c|0,d|0)}function $7a(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;He(a|0,b|0,c|0,d|0)}function a8a(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ie(a|0,b|0,c|0,d|0)}function b8a(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;gh(a|0,b|0,c|0,d|0)}function c8a(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Rf(a|0,b|0,c|0,d|0)}function d8a(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;yd(a|0,b|0,c|0,d|0)}function e8a(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;_d(a|0,b|0,c|0,d|0)}function f8a(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Yd(a|0,b|0,c|0,d|0)}function g8a(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;hh(a|0,b|0,c|0,d|0)}function h8a(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;If(a|0,b|0,c|0,d|0)}function i8a(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;wd(a|0,b|0,c|0,d|0)}function j8a(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ff(a|0,b|0,c|0,d|0)}function k8a(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;hd(a|0,b|0,c|0,d|0)}function l8a(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Mf(a|0,b|0,c|0,d|0)}function m8a(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Qf(a|0,b|0,c|0,d|0)}function n8a(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;af(a|0,b|0,c|0,d|0)}function o8a(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;we(a|0,b|0,c|0,d|0)}function p8a(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;cg(a|0,b|0,c|0,d|0)}function q8a(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ug(a|0,b|0,c|0,d|0)}function r8a(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Wg(a|0,b|0,c|0,d|0)}function s8a(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;rg(a|0,b|0,c|0,d|0)}function t8a(a,b,c,d,e,f,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=+e;f=f|0;g=g|0;h=h|0;R(41)}function u8a(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;R(42)}function v8a(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;_f(a|0,b|0,c|0,d|0,e|0)}function w8a(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;ug(a|0,b|0,c|0,d|0,e|0)}function x8a(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;ke(a|0,b|0,c|0,d|0,e|0)}function y8a(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;Jf(a|0,b|0,c|0,d|0,e|0)}function z8a(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;$d(a|0,b|0,c|0,d|0,e|0)}function A8a(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;ye(a|0,b|0,c|0,d|0,e|0)}function B8a(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;xe(a|0,b|0,c|0,d|0,e|0)}function C8a(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;ve(a|0,b|0,c|0,d|0,e|0)}function D8a(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;xd(a|0,b|0,c|0,d|0,e|0)}function E8a(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;Yc(a|0,b|0,c|0,d|0,e|0)}function F8a(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;eh(a|0,b|0,c|0,d|0,e|0)}function G8a(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;Zg(a|0,b|0,c|0,d|0,e|0)}function H8a(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;bh(a|0,b|0,c|0,d|0,e|0)}function I8a(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;wg(a|0,b|0,c|0,d|0,e|0)}function J8a(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;R(43)}function K8a(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;$f(a|0,b|0,c|0,d|0,e|0,f|0)}function L8a(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;ae(a|0,b|0,c|0,d|0,e|0,f|0)}function M8a(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;fh(a|0,b|0,c|0,d|0,e|0,f|0)}function N8a(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;R(44)}function O8a(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;Df(a|0,b|0,c|0,d|0,e|0,f|0,g|0)}function P8a(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;ue(a|0,b|0,c|0,d|0,e|0,f|0,g|0)}function Q8a(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;te(a|0,b|0,c|0,d|0,e|0,f|0,g|0)}function R8a(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;_e(a|0,b|0,c|0,d|0,e|0,f|0,g|0)}function S8a(a,b,c,d,e,f,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;R(45)}function T8a(a,b,c,d,e,f,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;Ad(a|0,b|0,c|0,d|0,e|0,f|0,g|0,h|0)}function U8a(a,b,c,d,e,f,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;Cd(a|0,b|0,c|0,d|0,e|0,f|0,g|0,h|0)}function V8a(a,b,c,d,e,f,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;Dd(a|0,b|0,c|0,d|0,e|0,f|0,g|0,h|0)}function W8a(a,b,c,d,e,f,g,h,i){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;R(46)}function X8a(a,b,c,d,e,f,g,h,i){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;Bd(a|0,b|0,c|0,d|0,e|0,f|0,g|0,h|0,i|0)}function Y8a(a,b,c,d,e,f,g,h,i){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;Sf(a|0,b|0,c|0,d|0,e|0,f|0,g|0,h|0,i|0)}function Z8a(a,b,c,d,e,f,g,h,i){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;ag(a|0,b|0,c|0,d|0,e|0,f|0,g|0,h|0,i|0)}function _8a(a,b,c,d,e,f,g,h,i,j){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;R(47)}function $8a(a,b,c,d,e,f,g,h,i,j){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;Tf(a|0,b|0,c|0,d|0,e|0,f|0,g|0,h|0,i|0,j|0)}function a9a(a,b,c,d,e,f,g,h,i,j,k){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;R(48)}function b9a(a,b,c,d,e,f,g,h,i,j,k){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;bg(a|0,b|0,c|0,d|0,e|0,f|0,g|0,h|0,i|0,j|0,k|0)}
  6575. // EMSCRIPTEN_END_FUNCS
  6576. var ck=[A3a,C4,b6,Rqa,oya,A3a,A3a,A3a];var dk=[B3a,Dea,Hea,Mea];var ek=[C3a,xx,yx,zx,oy,py,qy,d7,Q8,R8,S8,C3a,C3a,C3a,C3a,C3a];var fk=[D3a,HIa,rKa,Iq,E3a,F3a,G3a,D3a];var gk=[H3a,yl,Bl,Cl,Dl,El,Gl,Hl,Il,Jl,Nl,Ql,Rl,Sl,Tl,Vl,Yl,Zl,_l,$l,am,bm,cm,dm,em,fm,gm,hm,im,jm,km,lm,mm,nm,om,pm,rm,um,vm,wm,xm,ym,zm,Am,Bm,Cm,Dm,Em,Fm,Gm,Hm,Im,Jm,Km,Lm,Mm,Nm,Om,Pm,Qm,Rm,Sm,Tm,Um,Vm,ar,br,_m,bn,cn,fn,jn,kn,nn,qn,rn,wn,zn,An,Bn,En,Fn,Gn,Hn,Kn,Nn,On,Pn,Qn,Rn,Sn,Tn,Un,Zn,ao,bo,co,go,ho,io,jo,no,qo,ro,so,to,uo,vo,Ao,Do,Eo,Fo,Io,Jo,Po,So,To,mp,sp,xp,Dp,Hp,Np,Rp,Xp,$p,fq,hq,nq,qq,wq,uRa,vRa,xRa,yRa,Kr,Fr,Vr,Wr,Vq,Wq,Xq,Yq,Zq,_q,er,fr,gr,hr,cs,fs,gs,hs,Rs,Ss,$s,at,bt,ct,ft,gt,ht,it,pt,st,tt,Qt,Tt,Ut,Wt,Zt,_t,Ru,Uu,Vu,Wu,Xu,Yu,Zu,_u,$u,cv,dv,ev,fv,gv,hv,iv,jv,kv,lv,mv,nv,wv,Av,Bv,Cv,Dv,Ev,Fv,Vw,Yw,Zw,_w,dx,gx,hx,ix,jx,kx,lx,mx,nx,ox,px,qx,rx,sx,tx,by,ey,fy,gy,hy,ky,ly,my,zy,Ay,By,Jy,My,Ny,vA,wA,CA,DA,KA,NA,OA,PA,QA,UA,VA,WA,XA,dB,lC,oC,pC,IC,PC,SC,TC,bD,eD,fD,iD,JD,MD,ND,OD,PD,_D,bE,cE,iE,lE,mE,pE,qE,uE,QG,TG,UG,xH,AH,gI,jI,kI,lI,mI,nI,oI,wI,xI,dJ,gJ,hJ,QJ,RJ,TJ,WJ,XJ,$J,cK,dK,eK,fK,SL,TL,UL,VL,qL,rL,WL,tL,uL,BL,jL,mL,nL,oL,pL,sL,zL,DL,EK,HK,IK,JK,KK,LK,MK,SK,UK,uK,xK,yK,zK,_L,aM,bM,hM,jM,AM,DM,EM,FM,LM,OM,PM,QM,RM,SM,XM,ZM,nN,qN,rN,uN,MN,SN,VN,WN,xha,_P,bQ,cQ,XP,YP,hQ,NO,QO,RO,SO,TO,YO,$O,aP,bP,cP,iP,lP,mP,qX,rX,sX,FS,HS,IS,OS,QS,yV,BV,CV,PV,SV,TV,rW,tW,uW,AW,CW,BX,EX,FX,$W,aX,WW,ZW,_W,RX,SX,jY,mY,nY,oY,pY,PY,SY,TY,UY,aZ,dZ,eZ,fZ,gZ,EZ,FZ,IZ,JZ,KZ,YY,LZ,OZ,PZ,QZ,e_,h_,i_,j_,m_,n_,o_,p_,u_,a$,d$,e$,f$,i$,j$,k$,l$,q$,B$,E$,F$,M$,P$,Q$,R$,S$,e0,h0,i0,o0,q0,B0,D0,E0,K0,M0,X0,Z0,_0,e1,g1,H1,K1,L1,A1,B1,N1,O1,U1,Y1,Z1,_1,b2,e2,f2,m2,p2,q2,f3,i3,j3,k3,r3,s3,t3,u3,J3,K3,P3,S3,T3,U3,V3,W3,X3,G7,Z6,_6,$6,a7,q7,r7,H8,I8,J8,K8,L8,M8,h9,p9,q9,Aaa,Daa,Eaa,Qaa,$ba,cca,dca,Ica,Lca,Rca,uda,xda,yda,fea,gea,mea,nea,Wea,hfa,kfa,lfa,ega,fga,gga,hga,wga,xga,Zga,_ga,mha,nha,rha,Dha,Eha,Rja,Uja,Vja,B4,E4,F4,d5,k5,Yja,$ja,aka,dka,gka,hka,mka,pka,qka,l4,o4,p4,A5,D5,E5,H5,K5,L5,Q5,T5,U5,s6,a6,D6,G6,L6,Y5,d6,e6,j6,m6,r6,zka,Cka,Dka,Kla,Ola,wna,zna,Ana,_la,$la,ema,fma,Npa,Opa,Ppa,Qpa,fqa,gqa,kqa,lqa,Cqa,Gqa,Uqa,pra,rra,Dra,Era,Ira,Jra,Hta,Kta,Lta,Qta,Tta,Uta,Xta,_ta,$ta,wva,zva,Ava,$ua,cva,dva,nP,oP,hva,kva,lva,qP,rP,qva,tva,uva,Fua,Iua,Jua,vP,wP,Nua,Qua,Rua,yP,zP,Wua,Zua,_ua,Ova,Rva,Sva,Jva,Kva,Eva,Hva,Iva,Bwa,Cwa,Ewa,Iwa,Lwa,Mwa,Rwa,Zwa,_wa,bxa,jxa,mxa,nxa,Nxa,Oxa,Txa,Uxa,Zxa,_xa,aya,Vsa,cya,dya,eya,pya,uya,xya,yya,Dya,Gya,Hya,Rya,Uya,Vya,_ya,dta,Xza,Yza,Zza,_za,$za,bAa,cAa,xza,Bza,mza,nza,oza,pza,qza,sza,uza,tFa,uFa,vFa,wFa,IIa,iKa,sKa,OKa,$Ka,MNa,MRa,NRa,PRa,QRa,fTa,lTa,rTa,sTa,xTa,yTa,UVa,$Va,aWa,bWa,cWa,dWa,eWa,fWa,CWa,JWa,KWa,LWa,MWa,NWa,OWa,PWa,xXa,yXa,DXa,IXa,JXa,OXa,TXa,UXa,ZXa,cYa,dYa,iYa,fZa,gZa,iZa,xZa,yZa,AZa,d_a,e_a,k_a,l_a,qZa,rZa,tZa,GZa,HZa,JZa,M1a,T1a,Gq,Jq,up,nla,XAa,YAa,ZAa,jHa,kHa,lHa,KIa,aJa,I3a,J3a,K3a,L3a,M3a,_Ja,bKa,cKa,tKa,JKa,NKa,SKa,VLa,WLa,N3a,O3a,P3a,Q3a,R3a,S3a,T3a,U3a,V3a,W3a,X3a,H3a,H3a,H3a,H3a,H3a,H3a,H3a,H3a,H3a,H3a,H3a,H3a,H3a,H3a,H3a,H3a,H3a,H3a,H3a,H3a,H3a,H3a,H3a,H3a,H3a,H3a,H3a,H3a,H3a,H3a,H3a,H3a,H3a,H3a,H3a,H3a,H3a,H3a,H3a,H3a,H3a,H3a,H3a,H3a,H3a,H3a,H3a,H3a,H3a,H3a,H3a,H3a,H3a,H3a,H3a,H3a,H3a,H3a,H3a,H3a,H3a,H3a,H3a,H3a,H3a,H3a,H3a,H3a,H3a,H3a,H3a,H3a,H3a,H3a,H3a,H3a,H3a,H3a,H3a,H3a,H3a,H3a,H3a,H3a,H3a,H3a,H3a,H3a,H3a,H3a,H3a,H3a,H3a,H3a,H3a,H3a,H3a,H3a,H3a,H3a,H3a,H3a,H3a,H3a,H3a,H3a,H3a,H3a,H3a,H3a,H3a,H3a,H3a,H3a,H3a,H3a,H3a,H3a,H3a,H3a,H3a,H3a,H3a,H3a,H3a,H3a,H3a,H3a,H3a,H3a,H3a,H3a,H3a,H3a,H3a,H3a,H3a,H3a,H3a,H3a,H3a,H3a,H3a,H3a,H3a,H3a,H3a,H3a,H3a,H3a,H3a,H3a,H3a,H3a,H3a,H3a,H3a,H3a,H3a,H3a,H3a,H3a,H3a,H3a,H3a,H3a,H3a,H3a,H3a,H3a,H3a,H3a,H3a,H3a,H3a,H3a,H3a,H3a,H3a,H3a,H3a,H3a,H3a,H3a,H3a,H3a,H3a,H3a,H3a,H3a,H3a,H3a,H3a,H3a,H3a,H3a,H3a,H3a,H3a,H3a,H3a];var hk=[Y3a,h5,z6,Y3a];var ik=[Z3a,e5,f5,g5,w6,x6,y6,Z3a];var jk=[_3a];var kk=[$3a,zl,Al,Ol,Pl,Wl,Xl,sm,tm,$m,an,gn,hn,on,pn,xn,yn,Cn,Dn,Ln,Mn,_n,$n,eo,fo,oo,po,Bo,Co,Go,Ho,Qo,Ro,rp,Cp,Mp,Wp,eq,mq,vq,zRa,BRa,Gr,Hr,Ur,Xr,ir,Rr,ds,es,is,js,Qs,_s,qt,rt,Rt,St,Xt,Yt,Su,Tu,rv,tv,Ww,Xw,$w,ex,fx,cy,dy,Ky,Ly,Qy,Ry,Sy,Ty,Uy,Vy,Wy,Xy,Yy,Zy,_y,$y,az,bz,cz,dz,LA,MA,fB,iB,kB,mB,oB,mC,nC,QC,RC,cD,dD,jD,KD,LD,SD,TD,$D,aE,jE,kE,wE,yE,AE,CE,EE,RG,SG,hI,iI,pI,zI,eJ,fJ,aK,bK,gK,hK,RL,kL,lL,yL,HL,FK,GK,TK,vK,wK,AK,$L,iM,BM,CM,GM,HM,MM,NM,WM,bN,oN,pN,vN,NN,ON,TN,UN,$P,aQ,gQ,OO,PO,ZO,_O,jP,kP,GS,PS,zV,AV,QV,RV,VV,WV,sW,BW,CX,DX,cX,dX,XW,YW,kY,lY,QY,RY,VY,WY,bZ,cZ,hZ,DZ,RZ,f_,g_,k_,q_,s_,t_,b$,c$,g$,m$,o$,p$,C$,D$,N$,O$,T$,U$,W$,g0,f0,p0,u0,C0,L0,Q0,Y0,f1,I1,J1,P1,S1,T1,c2,d2,j2,n2,o2,g3,h3,l3,Q3,R3,B7,C7,Baa,Caa,aca,bca,Jca,Kca,vda,wda,Eea,Iea,Nea,Rea,Sea,Zea,ifa,jfa,Bha,Sja,Tja,Zja,_ja,eka,fka,nka,oka,m4,n4,B5,C5,I5,J5,R5,S5,Aka,Bka,xna,yna,gma,nna,ona,ina,jna,koa,moa,Noa,Ooa,Voa,Woa,apa,bpa,hpa,ipa,vra,Ita,Jta,Nta,Rta,Sta,Yta,Zta,xva,yva,ava,bva,iva,jva,rva,sva,Gua,Hua,Oua,Pua,Xua,Yua,Pva,Qva,Tva,Uva,Fva,Gva,Lva,Mva,Jwa,Kwa,Qwa,kxa,lxa,$xa,vya,wya,Eya,Fya,Sya,Tya,Wza,tza,Aza,lza,AAa,YGa,RRa,TRa,hTa,nTa,tTa,zTa,SZa,UZa,WZa,v_a,x_a,z_a,Mq,RAa,WAa,hBa,oGa,qGa,rGa,sGa,UGa,bHa,cHa,dHa,eHa,iHa,OIa,WIa,XIa,ZIa,$Ia,a4a,b4a,c4a,d4a,nLa,tMa,e4a,f4a,g4a,h4a,i4a,j4a,$3a,$3a,$3a,$3a,$3a,$3a,$3a,$3a,$3a,$3a,$3a,$3a,$3a,$3a,$3a,$3a,$3a,$3a,$3a,$3a,$3a,$3a,$3a,$3a,$3a,$3a,$3a,$3a,$3a,$3a,$3a,$3a,$3a,$3a,$3a,$3a,$3a,$3a,$3a,$3a,$3a,$3a,$3a,$3a,$3a,$3a,$3a,$3a,$3a,$3a,$3a,$3a,$3a,$3a,$3a,$3a,$3a,$3a,$3a,$3a,$3a,$3a,$3a,$3a,$3a,$3a,$3a,$3a,$3a,$3a,$3a,$3a,$3a,$3a,$3a,$3a,$3a,$3a,$3a,$3a,$3a,$3a,$3a,$3a,$3a,$3a,$3a,$3a,$3a,$3a,$3a,$3a,$3a,$3a,$3a,$3a,$3a,$3a,$3a,$3a,$3a,$3a,$3a,$3a,$3a,$3a,$3a,$3a,$3a,$3a,$3a,$3a,$3a,$3a,$3a,$3a,$3a,$3a,$3a,$3a,$3a,$3a,$3a,$3a,$3a,$3a,$3a,$3a,$3a,$3a,$3a,$3a];var lk=[k4a,Fl,Ml,Ul,qm,KO,MO,tP,uP,Ko,rRa,wRa,Mr,ARa,sv,uv,vv,xv,Gv,Hv,UD,VD,WD,BI,kJ,RK,gM,UO,dP,NS,zW,I$,J$,n0,J0,d1,V1,W1,C1,D1,Cha,u4,V4,W4,X4,Y4,Z4,_4,$4,a5,b5,c5,i5,m5,n5,v6,B6,$5,pna,kna,Poa,Xoa,cpa,jpa,Tpa,pP,sP,NNa,ONa,SNa,TNa,oPa,JRa,ORa,SRa,gTa,mTa,GTa,OTa,VYa,_Ya,TZa,VZa,YZa,r_a,w_a,y_a,B_a,q1a,V1a,X1a,Nq,Eq,dp,Pq,QAa,_Aa,$Aa,aBa,aHa,mHa,nHa,oHa,MIa,_Ia,mJa,l4a,tJa,uJa,vJa,wJa,xJa,yJa,zJa,AJa,BJa,CJa,DJa,ZJa,vKa,TKa,bLa,XLa,GLa,HLa,VQa,k4a,k4a];var mk=[m4a,c4,k4,AI,j9,k9,s4,xP,Kua,Uwa,fxa,$ya,XZa,s_a,t_a,u_a,A_a,Oq,bBa,gBa,DBa,pFa,qFa,pHa,UIa,n4a,o4a,p4a,q4a,jKa,yKa,KKa,LKa,MKa,PKa,aLa,pMa,RLa,m4a,m4a,m4a,m4a,m4a,m4a,m4a,m4a,m4a,m4a,m4a,m4a,m4a,m4a,m4a,m4a,m4a,m4a,m4a,m4a,m4a,m4a,m4a,m4a,m4a,m4a];var nk=[r4a,vVa,wVa,MVa,NVa,r4a,r4a,r4a];var ok=[s4a,cBa,qHa,s4a];var pk=[t4a,Wo,Ll,qua,Vwa,gxa,Cya,aza,yza,ETa,MTa,qVa,rVa,tVa,xVa,HVa,IVa,KVa,OVa,eZa,hZa,wZa,zZa,ZZa,C_a,pZa,sZa,FZa,IZa,SAa,UAa,dBa,DFa,CFa,EFa,lFa,mFa,oFa,nFa,fHa,gHa,rHa,TIa,u4a,xKa,oMa,t4a,t4a,t4a,t4a,t4a,t4a,t4a,t4a,t4a,t4a,t4a,t4a,t4a,t4a,t4a,t4a,t4a,t4a];var qk=[v4a,JYa,PYa,v4a];var rk=[w4a,TTa,UTa,VTa,WTa,XTa,YTa,ZTa,_Ta,$Ta,aUa,bUa,PUa,QUa,RUa,SUa,TUa,UUa,VUa,WUa,XUa,YUa,ZUa,sVa,uVa,JVa,LVa,VVa,WVa,XVa,YVa,ZVa,DWa,EWa,FWa,GWa,HWa,KYa,QYa,w4a,w4a,w4a,w4a,w4a,w4a,w4a,w4a,w4a,w4a,w4a,w4a,w4a,w4a,w4a,w4a,w4a,w4a,w4a,w4a,w4a,w4a,w4a,w4a,w4a];var sk=[x4a,Bfa,lXa,rXa,nYa,oYa,zYa,AYa,dIa,cIa,fIa,eIa,gIa,hIa,x4a,x4a];var tk=[y4a,_Va,IWa,cZa,dZa,uZa,vZa,nZa,oZa,DZa,EZa,wIa,vIa,yIa,xIa,tIa,uIa,y4a,y4a,y4a,y4a,y4a,y4a,y4a,y4a,y4a,y4a,y4a,y4a,y4a,y4a,y4a];var uk=[z4a,TAa];var vk=[A4a,B4a,j1a,hl,kl,WKa,QLa,cMa,C4a,D4a,E4a,F4a,G4a,H4a,E1a,A4a];var wk=[I4a,J4a,K4a,L4a];var xk=[M4a,N4a,O4a,P4a];var yk=[Q4a,R4a,S4a,T4a];var zk=[U4a,V4a];var Ak=[W4a,X4a];var Bk=[Y4a,Uo,Vo,Xo,Yo,Zo,_o,$o,ap,Xm,$3,a4,e4,f4,g4,h4,i4,j4,dn,en,ln,mn,sn,tn,un,vn,In,Jn,Vn,Wn,Xn,Yn,lo,mo,wo,xo,yo,zo,Lo,Mo,No,Oo,Pp,lp,op,pp,wp,zp,Ap,Op,Gp,Jp,Kp,Lp,Qp,Tp,Up,_p,bq,cq,dq,gq,jq,kq,pq,sq,tq,uq,sr,tr,ur,vr,or,pr,qr,rr,gSa,hSa,iSa,jSa,oRa,Lr,SU,yr,Ir,Jr,Br,Cr,Sr,Tr,Pr,Qr,_r,$r,as,bs,ls,ms,ns,os,ps,qs,ss,ws,xs,ys,Is,Js,Ls,Os,Ps,Ys,Zs,ot,Jt,Kt,YRa,ZRa,_Ra,$Ra,Et,Ft,Gt,Ht,Pt,Vt,ou,Du,Eu,Gu,Ku,Lu,Mu,Pu,Qu,Jv,Kv,Lv,xw,yw,Tw,Uw,bx,cx,ux,Zx,_x,$x,ay,iy,jy,ny,xy,yy,tz,uz,Hy,Iy,Oy,Py,Wz,mA,tA,uA,xA,AA,BA,IA,JA,RA,cB,sB,tB,RB,WB,XB,ZB,_B,$B,eC,kC,BC,CC,EC,FC,GC,KC,LC,NC,OC,$C,aD,FD,GD,HD,ID,YD,ZD,gE,hE,tE,GE,HE,rF,sF,pG,KG,LG,MG,NG,OG,PG,VG,WG,qH,sH,tH,uH,vH,wH,yH,zH,BH,CH,HH,DH,IH,JH,KH,LH,NH,OH,QH,RH,TH,UH,VH,WH,XH,YH,ZH,_H,$H,aI,bI,eI,fI,bJ,cJ,sJ,tJ,OJ,PJ,UJ,VJ,ZJ,_J,jK,kK,mK,nK,QL,CL,LL,PL,hL,iL,JL,KL,CK,DK,XK,YK,ZK,sK,tK,_K,$K,dL,eL,YL,ZL,mM,nM,oM,pM,qM,sM,tM,yM,zM,JM,KM,dN,eN,fN,gN,iN,jN,lN,mN,oO,pO,JN,KN,PN,QN,RN,mO,AP,BP,DP,EP,FP,HP,IP,JP,KP,uha,LP,MP,NP,SP,TP,VP,WP,ZP,jQ,kQ,mQ,nQ,oQ,pQ,qQ,rQ,WO,XO,eP,fP,gP,hP,oX,zQ,AQ,BQ,$Q,aR,bR,cR,OP,PP,QP,RP,TR,UR,ZS,_S,DS,ES,TS,US,VS,iT,jT,kT,lT,mT,nT,qSa,rSa,sSa,tSa,uSa,vSa,GT,IT,KT,TU,qV,rV,kV,lV,nV,wV,xV,NV,OV,KW,LW,pW,qW,FW,GW,HW,NW,OW,PW,QW,RW,zX,AX,TW,VW,pX,mX,nX,_X,$X,QX,hY,iY,qY,NY,OY,_Y,$Y,jZ,kZ,lZ,mZ,oZ,sZ,tZ,uZ,BZ,CZ,NZ,c_,d_,v_,S_,T_,__,$_,r$,z$,A$,K$,L$,y0,c0,d0,t0,v0,w0,z0,A0,P0,R0,S0,p1,q1,V0,W0,j1,k1,l1,F1,G1,h2,i2,k2,l2,u2,v2,Q2,R2,d3,e3,n3,o3,p3,q3,v3,H3,I3,N3,O3,M6,T6,z7,A7,D7,F7,X6,Y6,b7,o7,p7,l8,m8,U7,V7,F8,G8,N8,i9,l9,m9,n9,o9,Y9,F9,G9,Z9,_9,yaa,zaa,Gaa,Haa,Iaa,Jaa,Kaa,Laa,Maa,Naa,Kba,Lba,Mba,Nba,Zba,_ba,eca,Gca,Hca,Nca,Oca,lda,mda,nda,oda,sda,tda,Cda,Dda,Pda,Qda,dea,eea,hea,kea,lea,sea,tea,yea,zea,Bea,Cea,Fea,Gea,Kea,Lea,Pea,Qea,Tea,Vea,ffa,gfa,mfa,ufa,vfa,wfa,xfa,yfa,zfa,Cfa,Dfa,Efa,Sfa,_fa,cga,dga,iga,uga,vga,Cga,Dga,Vga,Xga,Yga,$ga,iha,kha,lha,pha,qha,sha,tha,wha,zha,Aha,Lha,Mha,Pha,Qha,Hha,Iha,Jha,Kha,yia,zia,Iia,Jia,Lia,Mia,aja,bja,dja,eja,fja,Wja,Xja,K4,o5,bka,cka,ika,jka,kka,lka,q4,r4,F5,G5,M5,N5,O5,P5,t6,u6,C6,E6,F6,H6,I6,J6,K6,Z5,_5,f6,k6,l6,n6,o6,p6,q6,yka,Ika,Jka,fla,gla,dla,ela,ula,vla,yla,zla,Ala,Fla,Gla,Hla,Ila,Jla,Lla,Mla,Nla,Pla,una,vna,rna,sna,hma,ima,jma,kma,Yla,Zla,cma,dma,fna,qna,lna,Vma,Wma,gna,ppa,qpa,Tna,Una,doa,eoa,ioa,joa,Loa,Toa,_oa,fpa,Kpa,Lpa,Rpa,Vpa,dqa,eqa,iqa,jqa,tqa,uqa,Aqa,Bqa,Dqa,Eqa,Fqa,Hqa,Pqa,Qqa,Xqa,_qa,$qa,nra,ora,qra,Bra,Cra,Gra,Hra,Fsa,Gsa,Dsa,Esa,vta,wta,zta,Ata,Gta,Pta,Wta,vva,kua,lua,mua,nua,oua,pua,rua,sua,tua,uua,vua,wua,fva,gva,mva,nva,ova,pva,Lua,Mua,Sua,Tua,Uua,Vua,Nva,Cva,Dva,Wva,Xva,awa,cwa,dwa,fwa,gwa,hwa,iwa,jwa,lwa,mwa,rwa,swa,zwa,Awa,Owa,Pwa,Wwa,$wa,axa,cxa,hxa,ixa,Lxa,Mxa,Rxa,Sxa,bya,Ssa,Wsa,Xsa,Ysa,gya,hya,_sa,rya,sya,tya,Jya,Kya,Nya,Oya,Pya,Qya,Yya,Zya,eta,fta,gta,hta,jza,Vza,aAa,dAa,eAa,fAa,gAa,Lza,hAa,iAa,Qza,kza,rza,wza,Cza,Dza,Eza,Oza,Pza,UBa,VBa,WBa,XBa,YBa,ZBa,_Ba,$Ba,aCa,bCa,cCa,dCa,eCa,fCa,gCa,hCa,iCa,jCa,kCa,lCa,mCa,nCa,oCa,pCa,qCa,rCa,sCa,tCa,uCa,vCa,wCa,xCa,yCa,zCa,ACa,BCa,CCa,DCa,ECa,FCa,GCa,HCa,ICa,JCa,KCa,LCa,MCa,NCa,OCa,PCa,QCa,RCa,SCa,TCa,UCa,VCa,WCa,XCa,YCa,ZCa,_Ca,$Ca,aDa,bDa,cDa,dDa,eDa,fDa,gDa,hDa,iDa,jDa,kDa,lDa,mDa,nDa,oDa,pDa,qDa,rDa,sDa,tDa,uDa,vDa,wDa,xDa,yDa,zDa,ADa,BDa,CDa,DDa,EDa,FDa,GDa,HDa,IDa,JDa,KDa,LDa,MDa,NDa,ODa,PDa,QDa,RDa,SDa,TDa,UDa,VDa,WDa,XDa,YDa,ZDa,_Da,$Da,aEa,bEa,cEa,dEa,eEa,fEa,gEa,hEa,iEa,jEa,lEa,AEa,BEa,CEa,DEa,yEa,zEa,YEa,ZEa,_Ea,$Ea,UEa,VEa,WEa,XEa,gFa,hFa,iFa,jFa,cFa,dFa,eFa,fFa,iRa,jRa,kRa,mRa,pRa,GRa,HRa,bSa,cSa,dSa,eSa,lSa,mSa,nSa,oSa,dTa,jTa,pTa,vTa,BTa,CTa,DTa,KTa,LTa,RTa,STa,NUa,OUa,oVa,pVa,FVa,GVa,SVa,TVa,AWa,BWa,jXa,kXa,pXa,qXa,vXa,wXa,GXa,HXa,RXa,SXa,aYa,bYa,lYa,mYa,xYa,yYa,HYa,IYa,NYa,OYa,TYa,UYa,YYa,ZYa,JTa,mZa,bZa,BZa,CZa,NZa,OZa,QZa,RZa,b_a,c_a,i_a,j_a,p_a,q_a,D_a,E_a,F_a,m1a,n1a,o1a,p1a,z1a,K1a,L1a,Q1a,R1a,S1a,U1a,W1a,Z1a,Hq,el,Sq,jda,yha,ala,eBa,HAa,QBa,RBa,aFa,bFa,SEa,TEa,GEa,FEa,HEa,JEa,IEa,KEa,MEa,LEa,NEa,OEa,PEa,QEa,nEa,mEa,qEa,rEa,pEa,sEa,tEa,uEa,vEa,wEa,xEa,oEa,sHa,uHa,LIa,NIa,YIa,eJa,$Ja,kKa,oKa,pKa,uKa,wKa,AKa,QKa,RKa,UKa,VKa,nNa,PLa,SLa,TLa,ULa,YLa,ZLa,_La,$La,aMa,bMa,Z4a,_4a,$4a,a5a,b5a,c5a,d5a,e5a,f5a,g5a,h5a,i5a,j5a,k5a,l5a,m5a,n5a,o5a,p5a,q5a,r5a,s5a,t5a,u5a,v5a,w5a,x5a,jUa,lUa,pYa,HNa,F1a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a,Y4a];var Ck=[y5a,M4,U4,r5,t5,h6,Zsa,fya,z5a,A5a,y5a,y5a,y5a,y5a,y5a,y5a];var Dk=[B5a,LB,OB,Tga,j5,w5,A6,Ywa,exa,Nza,Sza,C5a,D5a,B5a,B5a,B5a];var Ek=[E5a,MB,PB,Pga,y5,F5a,G5a,E5a];var Fk=[H5a,NB,QB,Uga,I5a,J5a,H5a,H5a];var Gk=[K5a,v5];var Hk=[L5a,x5];var Ik=[M5a,vs,Ju,YB,DC,rZ,cja,z5];var Jk=[N5a,Kl,Uq,Wm,$q,Ym,Zm,np,yp,Ip,Sp,aq,iq,rq,qRa,xr,cr,dr,Yr,jr,ks,rs,ts,us,Ks,Ms,Ns,Ts,Us,dt,et,Fu,Hu,Iu,Ou,av,bv,ov,pv,qv,H$,zv,Mv,ax,vx,wx,Ax,Bx,Cx,Dx,Ex,Fx,Gx,Hx,Ix,Jx,Kx,Lx,Mx,Nx,Ox,Px,Qx,Rx,Sx,Tx,Ux,Vx,Wx,Xx,Yx,ry,sy,ty,uy,vy,wy,yA,zA,HA,SA,TA,YA,ZA,_A,$A,aB,bB,eB,gB,hB,jB,lB,nB,pB,EB,FB,GB,HB,IB,JB,KB,jC,qC,rC,sC,tC,HC,JC,MC,UC,VC,gD,hD,kD,Rw,Sw,QD,RD,dE,eE,nE,oE,rE,sE,vE,xE,zE,BE,DE,FE,IE,JE,KE,LE,ME,NE,OE,PE,QE,RE,SE,TE,UE,VE,WE,XE,YE,ZE,_E,$E,aF,bF,cF,dF,eF,fF,gF,hF,iF,jF,kF,lF,mF,nF,oF,pF,qF,tF,uF,vF,wF,xF,yF,zF,AF,BF,CF,DF,EF,FF,GF,HF,IF,JF,KF,LF,MF,NF,OF,PF,QF,RF,SF,TF,UF,VF,WF,XF,YF,ZF,_F,$F,aG,bG,qG,rG,rH,MH,PH,cI,yI,CI,iJ,jJ,SJ,iK,lK,wL,xL,AL,EL,FL,IL,NK,OK,VK,WK,BK,cM,dM,kM,lM,IM,UM,VM,YM,_M,$M,cN,kN,sN,tN,wN,xN,LN,nO,CP,GP,vha,UP,eQ,fQ,iQ,JS,KS,RS,SS,oV,DV,EV,UV,vW,wW,DW,EW,bX,ZX,gY,rY,sY,XY,iZ,nZ,pZ,qZ,GZ,HZ,MZ,ZY,l_,w_,h$,s$,G$,j0,k0,r0,s0,F0,G0,N0,O0,$0,a1,h1,i1,E1,M1,R1,X1,$1,g2,w2,S2,T2,m3,w3,x3,y3,z3,A3,B3,C3,D3,E3,F3,G3,c7,e7,f7,g7,h7,i7,j7,k7,l7,m7,n7,O8,P8,T8,U8,V8,W8,X8,Y8,Z8,_8,$8,a9,b9,c9,d9,e9,f9,g9,Faa,Mca,kda,zda,Ada,Bda,Eda,iea,jea,uea,vea,wea,xea,Xea,Yea,nfa,sfa,Afa,Ffa,$fa,aga,jga,kga,lga,mga,nga,oga,pga,qga,rga,sga,tga,Oga,Qga,Rga,Sga,aha,bha,cha,dha,eha,fha,gha,hha,jha,Nha,Oha,Kia,t4,v4,w4,x4,y4,z4,A4,D4,I4,S4,T4,p5,q5,s5,c6,ama,bma,Spa,Upa,Xpa,Ypa,hqa,Vqa,Wqa,tra,ura,Fra,Mta,Vta,aua,_va,bwa,ewa,kwa,vwa,Dwa,Nwa,Twa,Xwa,dxa,Pxa,Qxa,Yxa,Tsa,Usa,qya,zya,Bya,Iya,Mya,vza,Fza,Gza,Hza,Iza,Jza,Mza,Rza,IRa,eTa,kTa,qTa,wTa,zXa,AXa,BXa,CXa,EXa,FXa,KXa,LXa,MXa,NXa,PXa,QXa,VXa,WXa,XXa,YXa,_Xa,$Xa,eYa,fYa,gYa,hYa,jYa,kYa,XYa,aZa,f_a,g_a,h_a,m_a,n_a,o_a,gl,Bq,PAa,VAa,fBa,$Ga,hHa,tHa,PIa,QIa,RIa,VIa,bJa,cJa,zKa,qMa,O5a,P5a,Q5a,R5a,S5a,T5a,U5a,V5a,W5a,X5a,Y5a,Z5a,_5a,$5a,a6a,b6a,c6a,d6a,e6a,f6a,g6a,h6a,i6a,j6a,k6a,l6a,m6a,n6a,o6a,p6a,q6a,r6a,s6a,t6a,u6a,v6a,w6a,x6a,y6a,z6a,A6a,B6a,C6a,D6a,E6a,F6a,G6a,H6a,I6a,J6a,K6a,L6a,N5a,N5a,N5a,N5a,N5a,N5a,N5a,N5a,N5a,N5a,N5a,N5a,N5a,N5a,N5a,N5a,N5a,N5a,N5a,N5a,N5a,N5a,N5a,N5a,N5a,N5a,N5a,N5a,N5a,N5a,N5a,N5a,N5a,N5a,N5a,N5a,N5a,N5a,N5a,N5a,N5a,N5a,N5a,N5a,N5a,N5a,N5a,N5a,N5a,N5a,N5a,N5a,N5a,N5a,N5a,N5a,N5a,N5a,N5a,N5a,N5a,N5a,N5a,N5a,N5a,N5a,N5a,N5a,N5a,N5a,N5a,N5a,N5a,N5a,N5a,N5a,N5a,N5a,N5a,N5a,N5a,N5a,N5a,N5a,N5a,N5a,N5a,N5a,N5a,N5a,N5a,N5a,N5a,N5a,N5a,N5a,N5a,N5a,N5a,N5a,N5a,N5a,N5a,N5a,N5a,N5a,N5a,N5a,N5a,N5a,N5a,N5a,N5a,N5a,N5a,N5a,N5a,N5a,N5a,N5a,N5a,N5a,N5a,N5a,N5a,N5a,N5a,N5a,N5a,N5a,N5a,N5a,N5a,N5a,N5a,N5a,N5a,N5a,N5a,N5a,N5a,N5a,N5a,N5a,N5a,N5a,N5a,N5a,N5a,N5a,N5a,N5a,N5a,N5a,N5a,N5a,N5a,N5a,N5a,N5a,N5a,N5a,N5a,N5a,N5a,N5a,N5a,N5a,N5a,N5a,N5a,N5a,N5a,N5a,N5a,N5a,N5a,N5a,N5a,N5a,N5a,N5a,N5a,N5a,N5a,N5a,N5a,N5a,N5a,N5a,N5a,N5a,N5a,N5a,N5a,N5a,N5a,N5a,N5a,N5a,N5a,N5a,N5a,N5a,N5a,N5a,N5a,N5a,N5a,N5a,N5a,N5a,N5a,N5a,N5a,N5a,N5a,N5a,N5a,N5a,N5a,N5a,N5a,N5a,N5a,N5a,N5a,N5a,N5a,N5a,N5a,N5a,N5a,N5a,N5a,N5a,N5a,N5a,N5a,N5a,N5a,N5a,N5a,N5a,N5a,N5a,N5a,N5a,N5a,N5a,N5a,N5a,N5a,N5a,N5a,N5a,N5a,N5a,N5a,N5a,N5a,N5a,N5a,N5a,N5a,N5a,N5a,N5a,N5a,N5a,N5a,N5a,N5a,N5a,N5a,N5a,N5a,N5a,N5a,N5a,N5a,N5a,N5a,N5a,N5a,N5a,N5a,N5a,N5a,N5a,N5a,N5a,N5a,N5a,N5a,N5a,N5a,N5a,N5a,N5a,N5a,N5a,N5a,N5a,N5a,N5a,N5a,N5a,N5a,N5a,N5a,N5a,N5a,N5a,N5a,N5a,N5a,N5a,N5a,N5a,N5a,N5a,N5a,N5a,N5a,N5a,N5a,N5a,N5a,N5a,N5a,N5a,N5a,N5a,N5a,N5a,N5a,N5a,N5a,N5a,N5a,N5a,N5a,N5a,N5a,N5a,N5a,N5a,N5a,N5a,N5a,N5a,N5a,N5a,N5a,N5a,N5a,N5a,N5a,N5a,N5a,N5a,N5a,N5a,N5a,N5a,N5a,N5a,N5a,N5a,N5a,N5a,N5a,N5a,N5a,N5a,N5a,N5a,N5a,N5a,N5a,N5a,N5a,N5a,N5a,N5a,N5a,N5a,N5a,N5a,N5a,N5a,N5a,N5a,N5a,N5a,N5a,N5a,N5a,N5a,N5a,N5a,N5a,N5a,N5a,N5a,N5a,N5a,N5a,N5a,N5a,N5a,N5a,N5a,N5a,N5a,N5a,N5a,N5a,N5a,N5a,N5a,N5a,N5a,N5a,N5a,N5a,N5a,N5a,N5a,N5a,N5a,N5a,N5a,N5a,N5a,N5a,N5a,N5a,N5a,N5a,N5a,N5a,N5a,N5a,N5a,N5a,N5a,N5a,N5a,N5a,N5a,N5a,N5a,N5a,N5a,N5a,N5a,N5a,N5a,N5a,N5a,N5a,N5a,N5a,N5a];var Kk=[M6a,N6a];var Lk=[O6a,P6a];var Mk=[Q6a,sra];var Nk=[R6a,_3,b4,d4,LO,ko,zr,Lt,Nt,yv,Iv,Nv,Ov,uB,vB,wB,xB,yB,zB,uJ,vJ,wJ,xJ,yJ,zJ,vL,GL,PK,QK,eM,fM,TM,aN,dQ,lQ,VO,LS,MS,XV,xW,yW,GX,eX,TX,WX,r_,n$,V$,l0,m0,H0,I0,b1,c1,Q1,E7,n8,o8,p8,q8,r8,s8,W7,X7,Y7,Z7,_7,$7,H9,I9,J9,K9,L9,M9,$9,aaa,baa,caa,daa,eaa,Oaa,Paa,fca,Pca,Qca,Sca,Uca,Wca,Rda,Uea,ofa,pfa,qfa,rfa,tfa,Gfa,Ega,Fga,Gga,Hga,Iga,Jga,J4,L4,N4,O4,Q4,l5,u5,g6,i6,mna,hna,loa,Moa,Uoa,$oa,gpa,Wpa,Bta,jua,eva,Zva,uwa,Swa,iya,jya,$sa,kya,lya,mya,nya,Aya,Lya,Kq,Cq,Dq,il,MQ,MI,OQ,NI,PQ,OI,QQ,PI,RQ,QI,SQ,RI,TQ,SI,UQ,TI,VQ,UI,WQ,VI,aKa,S6a,T6a,U6a,V6a,W6a,X6a,Y6a,Z6a,_6a,$6a,a7a,b7a,c7a,d7a,e7a,f7a,g7a,h7a,i7a,j7a,k7a,l7a,m7a,n7a,o7a,p7a,q7a,r7a,s7a,t7a,u7a,v7a,w7a,x7a,y7a,z7a,A7a,B7a,C7a,D7a,E7a,F7a,G7a,H7a,I7a,J7a,K7a,R6a,R6a,R6a,R6a,R6a,R6a,R6a,R6a,R6a,R6a,R6a,R6a,R6a,R6a,R6a,R6a,R6a,R6a,R6a,R6a,R6a,R6a,R6a,R6a,R6a,R6a,R6a,R6a,R6a,R6a,R6a,R6a,R6a,R6a,R6a,R6a,R6a,R6a,R6a,R6a,R6a,R6a,R6a,R6a,R6a,R6a,R6a,R6a,R6a,R6a];var Ok=[L7a,Mt,Ot,L7a];var Pk=[M7a,Mpa];var Qk=[N7a,qp,Bp,Vp,lq,tRa,Er,AB,BB,CB,DB,AJ,BJ,CJ,DJ,UX,XX,t8,u8,v8,w8,a8,b8,c8,d8,N9,O9,P9,Q9,faa,gaa,haa,iaa,gca,hca,Tca,Vca,Kga,Lga,Mga,Nga,H4,P4,R4,noa,poa,roa,voa,Sqa,$va,wwa,Kza,LRa,FTa,NTa,t1a,C1a,a2a,Lq,VFa,SIa,dJa,DLa,O7a,P7a,Q7a,R7a,S7a,T7a,U7a,V7a,W7a,X7a,Y7a,Z7a,_7a,$7a,a8a,b8a,c8a,d8a,e8a,f8a,g8a,h8a,i8a,j8a,k8a,l8a,m8a,n8a,o8a,p8a,q8a,r8a,s8a,N7a,N7a,N7a,N7a,N7a,N7a,N7a,N7a,N7a,N7a,N7a,N7a,N7a,N7a,N7a,N7a,N7a,N7a,N7a,N7a,N7a,N7a,N7a,N7a,N7a,N7a,N7a,N7a,N7a,N7a,N7a,N7a];var Rk=[t8a,Tqa];var Sk=[u8a,XG,tI,uI,vI,H7,G4,ooa,qoa,soa,toa,uoa,woa,Yva,twa,zza,s1a,B1a,$1a,v8a,w8a,x8a,y8a,z8a,A8a,B8a,C8a,D8a,E8a,F8a,G8a,H8a,I8a,u8a,u8a,u8a,u8a,u8a,u8a,u8a,u8a,u8a,u8a,u8a,u8a,u8a,u8a,u8a,u8a,u8a,u8a,u8a,u8a,u8a,u8a,u8a,u8a,u8a,u8a,u8a,u8a,u8a,u8a,u8a];var Tk=[J8a,sRa,Dr,KRa,WYa,$Ya,r1a,A1a,_1a,K8a,L8a,M8a,J8a,J8a,J8a,J8a];var Uk=[N8a,qI,VX,YX,zIa,AIa,BIa,O8a,P8a,Q8a,R8a,N8a,N8a,N8a,N8a,N8a];var Vk=[S8a,sI,T8a,U8a,V8a,S8a,S8a,S8a];var Wk=[W8a,KMa,LMa,MMa,NMa,OMa,PMa,QMa,RMa,SMa,TMa,UMa,VMa,X8a,Y8a,Z8a];var Xk=[_8a,$8a];var Yk=[a9a,rI,lIa,kIa,mIa,oIa,nIa,qIa,pIa,b9a,a9a,a9a,a9a,a9a,a9a,a9a];return{__GLOBAL__I_000101:XSa,__GLOBAL__sub_I_OpenSceneGraph_01_cpp:sQ,__GLOBAL__sub_I_OpenSceneGraph_02_cpp:Rha,__GLOBAL__sub_I_OpenSceneGraph_03_cpp:ira,__GLOBAL__sub_I_OpenSceneGraph_04_cpp:nAa,__GLOBAL__sub_I_bind_cpp:xAa,__GLOBAL__sub_I_iostream_cpp:YSa,__GLOBAL__sub_I_motor_cpp:Tq,__ZSt18uncaught_exceptionv:h1a,___cxa_can_catch:k2a,___cxa_is_pointer_type:l2a,___emscripten_environ_constructor:gRa,___errno_location:QNa,___getTypeName:zAa,___muldi3:o2a,___udivdi3:t2a,__get_environ:hRa,_bitshift64Lshr:u2a,_bitshift64Shl:v2a,_emscripten_GetProcAddress:FNa,_free:HNa,_i64Add:p2a,_i64Subtract:q2a,_llvm_bswap_i32:w2a,_main:ll,_malloc:GNa,_memcpy:x2a,_memmove:y2a,_memset:z2a,_pthread_cond_broadcast:A2a,_pthread_mutex_lock:B2a,_pthread_mutex_trylock:C2a,_pthread_mutex_unlock:D2a,_realloc:JNa,_sbrk:E2a,_strstr:jOa,dynCall_di:F2a,dynCall_dii:G2a,dynCall_diii:H2a,dynCall_i:I2a,dynCall_ii:J2a,dynCall_iidd:K2a,dynCall_iiddd:L2a,dynCall_iidii:M2a,dynCall_iii:N2a,dynCall_iiii:O2a,dynCall_iiiii:P2a,dynCall_iiiiid:Q2a,dynCall_iiiiidii:R2a,dynCall_iiiiii:S2a,dynCall_iiiiiid:T2a,dynCall_iiiiiii:U2a,dynCall_iiiiiiii:V2a,dynCall_iiiiiiiii:W2a,dynCall_iiiiiiiiii:X2a,dynCall_v:Y2a,dynCall_vd:Z2a,dynCall_vdd:_2a,dynCall_vdddd:$2a,dynCall_vdddddd:a3a,dynCall_vdi:b3a,dynCall_vi:c3a,dynCall_vid:d3a,dynCall_vidd:e3a,dynCall_viddd:f3a,dynCall_vidddd:g3a,dynCall_viddddd:h3a,dynCall_viddi:i3a,dynCall_vidi:j3a,dynCall_vii:k3a,dynCall_viid:l3a,dynCall_viidi:m3a,dynCall_viidiii:n3a,dynCall_viii:o3a,dynCall_viiid:p3a,dynCall_viiidiii:q3a,dynCall_viiii:r3a,dynCall_viiiidiii:s3a,dynCall_viiiii:t3a,dynCall_viiiiii:u3a,dynCall_viiiiiii:v3a,dynCall_viiiiiiii:w3a,dynCall_viiiiiiiii:x3a,dynCall_viiiiiiiiii:y3a,dynCall_viiiiiiiiiii:z3a,establishStackSpace:al,getTempRet0:dl,runPostSets:m2a,setTempRet0:cl,setThrew:bl,stackAlloc:Zk,stackRestore:$k,stackSave:_k}})
  6577. // EMSCRIPTEN_END_ASM
  6578. (Module.asmGlobalArg,Module.asmLibraryArg,buffer);var __GLOBAL__I_000101=Module["__GLOBAL__I_000101"]=asm["__GLOBAL__I_000101"];var __GLOBAL__sub_I_OpenSceneGraph_01_cpp=Module["__GLOBAL__sub_I_OpenSceneGraph_01_cpp"]=asm["__GLOBAL__sub_I_OpenSceneGraph_01_cpp"];var __GLOBAL__sub_I_OpenSceneGraph_02_cpp=Module["__GLOBAL__sub_I_OpenSceneGraph_02_cpp"]=asm["__GLOBAL__sub_I_OpenSceneGraph_02_cpp"];var __GLOBAL__sub_I_OpenSceneGraph_03_cpp=Module["__GLOBAL__sub_I_OpenSceneGraph_03_cpp"]=asm["__GLOBAL__sub_I_OpenSceneGraph_03_cpp"];var __GLOBAL__sub_I_OpenSceneGraph_04_cpp=Module["__GLOBAL__sub_I_OpenSceneGraph_04_cpp"]=asm["__GLOBAL__sub_I_OpenSceneGraph_04_cpp"];var __GLOBAL__sub_I_bind_cpp=Module["__GLOBAL__sub_I_bind_cpp"]=asm["__GLOBAL__sub_I_bind_cpp"];var __GLOBAL__sub_I_iostream_cpp=Module["__GLOBAL__sub_I_iostream_cpp"]=asm["__GLOBAL__sub_I_iostream_cpp"];var __GLOBAL__sub_I_motor_cpp=Module["__GLOBAL__sub_I_motor_cpp"]=asm["__GLOBAL__sub_I_motor_cpp"];var __ZSt18uncaught_exceptionv=Module["__ZSt18uncaught_exceptionv"]=asm["__ZSt18uncaught_exceptionv"];var ___cxa_can_catch=Module["___cxa_can_catch"]=asm["___cxa_can_catch"];var ___cxa_is_pointer_type=Module["___cxa_is_pointer_type"]=asm["___cxa_is_pointer_type"];var ___emscripten_environ_constructor=Module["___emscripten_environ_constructor"]=asm["___emscripten_environ_constructor"];var ___errno_location=Module["___errno_location"]=asm["___errno_location"];var ___getTypeName=Module["___getTypeName"]=asm["___getTypeName"];var ___muldi3=Module["___muldi3"]=asm["___muldi3"];var ___udivdi3=Module["___udivdi3"]=asm["___udivdi3"];var __get_environ=Module["__get_environ"]=asm["__get_environ"];var _bitshift64Lshr=Module["_bitshift64Lshr"]=asm["_bitshift64Lshr"];var _bitshift64Shl=Module["_bitshift64Shl"]=asm["_bitshift64Shl"];var _emscripten_GetProcAddress=Module["_emscripten_GetProcAddress"]=asm["_emscripten_GetProcAddress"];var _free=Module["_free"]=asm["_free"];var _i64Add=Module["_i64Add"]=asm["_i64Add"];var _i64Subtract=Module["_i64Subtract"]=asm["_i64Subtract"];var _llvm_bswap_i32=Module["_llvm_bswap_i32"]=asm["_llvm_bswap_i32"];var _main=Module["_main"]=asm["_main"];var _malloc=Module["_malloc"]=asm["_malloc"];var _memcpy=Module["_memcpy"]=asm["_memcpy"];var _memmove=Module["_memmove"]=asm["_memmove"];var _memset=Module["_memset"]=asm["_memset"];var _pthread_cond_broadcast=Module["_pthread_cond_broadcast"]=asm["_pthread_cond_broadcast"];var _pthread_mutex_lock=Module["_pthread_mutex_lock"]=asm["_pthread_mutex_lock"];var _pthread_mutex_trylock=Module["_pthread_mutex_trylock"]=asm["_pthread_mutex_trylock"];var _pthread_mutex_unlock=Module["_pthread_mutex_unlock"]=asm["_pthread_mutex_unlock"];var _realloc=Module["_realloc"]=asm["_realloc"];var _sbrk=Module["_sbrk"]=asm["_sbrk"];var _strstr=Module["_strstr"]=asm["_strstr"];var establishStackSpace=Module["establishStackSpace"]=asm["establishStackSpace"];var getTempRet0=Module["getTempRet0"]=asm["getTempRet0"];var runPostSets=Module["runPostSets"]=asm["runPostSets"];var setTempRet0=Module["setTempRet0"]=asm["setTempRet0"];var setThrew=Module["setThrew"]=asm["setThrew"];var stackAlloc=Module["stackAlloc"]=asm["stackAlloc"];var stackRestore=Module["stackRestore"]=asm["stackRestore"];var stackSave=Module["stackSave"]=asm["stackSave"];var dynCall_di=Module["dynCall_di"]=asm["dynCall_di"];var dynCall_dii=Module["dynCall_dii"]=asm["dynCall_dii"];var dynCall_diii=Module["dynCall_diii"]=asm["dynCall_diii"];var dynCall_i=Module["dynCall_i"]=asm["dynCall_i"];var dynCall_ii=Module["dynCall_ii"]=asm["dynCall_ii"];var dynCall_iidd=Module["dynCall_iidd"]=asm["dynCall_iidd"];var dynCall_iiddd=Module["dynCall_iiddd"]=asm["dynCall_iiddd"];var dynCall_iidii=Module["dynCall_iidii"]=asm["dynCall_iidii"];var dynCall_iii=Module["dynCall_iii"]=asm["dynCall_iii"];var dynCall_iiii=Module["dynCall_iiii"]=asm["dynCall_iiii"];var dynCall_iiiii=Module["dynCall_iiiii"]=asm["dynCall_iiiii"];var dynCall_iiiiid=Module["dynCall_iiiiid"]=asm["dynCall_iiiiid"];var dynCall_iiiiidii=Module["dynCall_iiiiidii"]=asm["dynCall_iiiiidii"];var dynCall_iiiiii=Module["dynCall_iiiiii"]=asm["dynCall_iiiiii"];var dynCall_iiiiiid=Module["dynCall_iiiiiid"]=asm["dynCall_iiiiiid"];var dynCall_iiiiiii=Module["dynCall_iiiiiii"]=asm["dynCall_iiiiiii"];var dynCall_iiiiiiii=Module["dynCall_iiiiiiii"]=asm["dynCall_iiiiiiii"];var dynCall_iiiiiiiii=Module["dynCall_iiiiiiiii"]=asm["dynCall_iiiiiiiii"];var dynCall_iiiiiiiiii=Module["dynCall_iiiiiiiiii"]=asm["dynCall_iiiiiiiiii"];var dynCall_v=Module["dynCall_v"]=asm["dynCall_v"];var dynCall_vd=Module["dynCall_vd"]=asm["dynCall_vd"];var dynCall_vdd=Module["dynCall_vdd"]=asm["dynCall_vdd"];var dynCall_vdddd=Module["dynCall_vdddd"]=asm["dynCall_vdddd"];var dynCall_vdddddd=Module["dynCall_vdddddd"]=asm["dynCall_vdddddd"];var dynCall_vdi=Module["dynCall_vdi"]=asm["dynCall_vdi"];var dynCall_vi=Module["dynCall_vi"]=asm["dynCall_vi"];var dynCall_vid=Module["dynCall_vid"]=asm["dynCall_vid"];var dynCall_vidd=Module["dynCall_vidd"]=asm["dynCall_vidd"];var dynCall_viddd=Module["dynCall_viddd"]=asm["dynCall_viddd"];var dynCall_vidddd=Module["dynCall_vidddd"]=asm["dynCall_vidddd"];var dynCall_viddddd=Module["dynCall_viddddd"]=asm["dynCall_viddddd"];var dynCall_viddi=Module["dynCall_viddi"]=asm["dynCall_viddi"];var dynCall_vidi=Module["dynCall_vidi"]=asm["dynCall_vidi"];var dynCall_vii=Module["dynCall_vii"]=asm["dynCall_vii"];var dynCall_viid=Module["dynCall_viid"]=asm["dynCall_viid"];var dynCall_viidi=Module["dynCall_viidi"]=asm["dynCall_viidi"];var dynCall_viidiii=Module["dynCall_viidiii"]=asm["dynCall_viidiii"];var dynCall_viii=Module["dynCall_viii"]=asm["dynCall_viii"];var dynCall_viiid=Module["dynCall_viiid"]=asm["dynCall_viiid"];var dynCall_viiidiii=Module["dynCall_viiidiii"]=asm["dynCall_viiidiii"];var dynCall_viiii=Module["dynCall_viiii"]=asm["dynCall_viiii"];var dynCall_viiiidiii=Module["dynCall_viiiidiii"]=asm["dynCall_viiiidiii"];var dynCall_viiiii=Module["dynCall_viiiii"]=asm["dynCall_viiiii"];var dynCall_viiiiii=Module["dynCall_viiiiii"]=asm["dynCall_viiiiii"];var dynCall_viiiiiii=Module["dynCall_viiiiiii"]=asm["dynCall_viiiiiii"];var dynCall_viiiiiiii=Module["dynCall_viiiiiiii"]=asm["dynCall_viiiiiiii"];var dynCall_viiiiiiiii=Module["dynCall_viiiiiiiii"]=asm["dynCall_viiiiiiiii"];var dynCall_viiiiiiiiii=Module["dynCall_viiiiiiiiii"]=asm["dynCall_viiiiiiiiii"];var dynCall_viiiiiiiiiii=Module["dynCall_viiiiiiiiiii"]=asm["dynCall_viiiiiiiiiii"];Module["asm"]=asm;Module["Pointer_stringify"]=Pointer_stringify;if(memoryInitializer){if(!isDataURI(memoryInitializer)){memoryInitializer=locateFile(memoryInitializer)}if(ENVIRONMENT_IS_NODE||ENVIRONMENT_IS_SHELL){var data=Module["readBinary"](memoryInitializer);HEAPU8.set(data,GLOBAL_BASE)}else{addRunDependency("memory initializer");var applyMemoryInitializer=(function(data){if(data.byteLength)data=new Uint8Array(data);HEAPU8.set(data,GLOBAL_BASE);if(Module["memoryInitializerRequest"])delete Module["memoryInitializerRequest"].response;removeRunDependency("memory initializer")});function doBrowserLoad(){Module["readAsync"](memoryInitializer,applyMemoryInitializer,(function(){throw"could not load memory initializer "+memoryInitializer}))}var memoryInitializerBytes=tryParseAsDataURI(memoryInitializer);if(memoryInitializerBytes){applyMemoryInitializer(memoryInitializerBytes.buffer)}else if(Module["memoryInitializerRequest"]){function useRequest(){var request=Module["memoryInitializerRequest"];var response=request.response;if(request.status!==200&&request.status!==0){var data=tryParseAsDataURI(Module["memoryInitializerRequestURL"]);if(data){response=data.buffer}else{console.warn("a problem seems to have happened with Module.memoryInitializerRequest, status: "+request.status+", retrying "+memoryInitializer);doBrowserLoad();return}}applyMemoryInitializer(response)}if(Module["memoryInitializerRequest"].response){setTimeout(useRequest,0)}else{Module["memoryInitializerRequest"].addEventListener("load",useRequest)}}else{doBrowserLoad()}}}function ExitStatus(status){this.name="ExitStatus";this.message="Program terminated with exit("+status+")";this.status=status}ExitStatus.prototype=new Error;ExitStatus.prototype.constructor=ExitStatus;var initialStackTop;var calledMain=false;dependenciesFulfilled=function runCaller(){if(!Module["calledRun"])run();if(!Module["calledRun"])dependenciesFulfilled=runCaller};Module["callMain"]=function callMain(args){args=args||[];ensureInitRuntime();var argc=args.length+1;var argv=stackAlloc((argc+1)*4);HEAP32[argv>>2]=allocateUTF8OnStack(Module["thisProgram"]);for(var i=1;i<argc;i++){HEAP32[(argv>>2)+i]=allocateUTF8OnStack(args[i-1])}HEAP32[(argv>>2)+argc]=0;try{var ret=Module["_main"](argc,argv,0);exit(ret,true)}catch(e){if(e instanceof ExitStatus){return}else if(e=="SimulateInfiniteLoop"){Module["noExitRuntime"]=true;return}else{var toLog=e;if(e&&typeof e==="object"&&e.stack){toLog=[e,e.stack]}err("exception thrown: "+toLog);Module["quit"](1,e)}}finally{calledMain=true}};function run(args){args=args||Module["arguments"];if(runDependencies>0){return}preRun();if(runDependencies>0)return;if(Module["calledRun"])return;function doRun(){if(Module["calledRun"])return;Module["calledRun"]=true;if(ABORT)return;ensureInitRuntime();preMain();if(Module["onRuntimeInitialized"])Module["onRuntimeInitialized"]();if(Module["_main"]&&shouldRunNow)Module["callMain"](args);postRun()}if(Module["setStatus"]){Module["setStatus"]("Running...");setTimeout((function(){setTimeout((function(){Module["setStatus"]("")}),1);doRun()}),1)}else{doRun()}}Module["run"]=run;function exit(status,implicit){if(implicit&&Module["noExitRuntime"]&&status===0){return}if(Module["noExitRuntime"]){}else{ABORT=true;EXITSTATUS=status;STACKTOP=initialStackTop;exitRuntime();if(Module["onExit"])Module["onExit"](status)}Module["quit"](status,new ExitStatus(status))}function abort(what){if(Module["onAbort"]){Module["onAbort"](what)}if(what!==undefined){out(what);err(what);what=JSON.stringify(what)}else{what=""}ABORT=true;EXITSTATUS=1;throw"abort("+what+"). Build with -s ASSERTIONS=1 for more info."}Module["abort"]=abort;if(Module["preInit"]){if(typeof Module["preInit"]=="function")Module["preInit"]=[Module["preInit"]];while(Module["preInit"].length>0){Module["preInit"].pop()()}}var shouldRunNow=true;if(Module["noInitialRun"]){shouldRunNow=false}Module["noExitRuntime"]=true;run()
  6579. }
  6580. </script>
  6581. <!-- API -->
  6582. <script type="text/javascript">
  6583. var murom = {};
  6584. murom.camera = {};
  6585. Object.defineProperty(murom.camera, "clearColor", {
  6586. get: function()
  6587. {
  6588. var input = new Module.StringList();
  6589. const outValues = Module.mirCall("camera.clearColor", input);
  6590. return [
  6591. parseFloat(outValues.get(0)),
  6592. parseFloat(outValues.get(1)),
  6593. parseFloat(outValues.get(2)),
  6594. ];
  6595. },
  6596. set: function(values)
  6597. {
  6598. var input = new Module.StringList();
  6599. for (var id = 0; id < values.length; ++id)
  6600. {
  6601. input.push_back(values[id].toString());
  6602. }
  6603. const outValues = Module.mirCall("camera.clearColor", input);
  6604. return [
  6605. parseFloat(outValues.get(0)),
  6606. parseFloat(outValues.get(1)),
  6607. parseFloat(outValues.get(2)),
  6608. ];
  6609. }
  6610. });
  6611. murom.mouse = {};
  6612. Object.defineProperty(murom.mouse, "position", {
  6613. get: function()
  6614. {
  6615. var vin = new Module.StringList();
  6616. const vout = Module.mirCall("mouse.position", vin);
  6617. return [
  6618. parseInt(vout.get(0)),
  6619. parseInt(vout.get(1)),
  6620. ];
  6621. }
  6622. });
  6623. murom.mouse.positionChanged = new Reporter();
  6624. Object.defineProperty(murom.mouse, "pressedButtons", {
  6625. get: function()
  6626. {
  6627. var vin = new Module.StringList();
  6628. const vout = Module.mirCall("mouse.pressedButtons", vin);
  6629. var ret = [];
  6630. for (var i = 0; i < vout.size(); ++i)
  6631. {
  6632. ret.push(vout.get(i));
  6633. }
  6634. return ret;
  6635. }
  6636. });
  6637. murom.mouse.pressedButtonsChanged = new Reporter();
  6638. murom.window = {};
  6639. Object.defineProperty(murom.window, "size", {
  6640. get: function()
  6641. {
  6642. var vin = new Module.StringList();
  6643. const vout = Module.mirCall("window.size", vin);
  6644. return [
  6645. parseInt(vout.get(0)),
  6646. parseInt(vout.get(1)),
  6647. ];
  6648. }
  6649. });
  6650. murom.window.sizeChanged = new Reporter();
  6651. </script>
  6652. <!-- Tool execution finalization -->
  6653. <script type="text/javascript">
  6654. window.muromTool.setupDeps();
  6655. function Mir() { }
  6656. window.mir = new Mir();
  6657. Mir.prototype.gotov = function()
  6658. {
  6659. window.muromTool.setupGotov();
  6660. }
  6661. Mir.prototype.izrek = function(key)
  6662. {
  6663. if (key == "mouse.position")
  6664. {
  6665. murom.mouse.positionChanged.report();
  6666. return;
  6667. }
  6668. if (key == "mouse.pressedButtons")
  6669. {
  6670. murom.mouse.pressedButtonsChanged.report();
  6671. return;
  6672. }
  6673. if (key == "window.size")
  6674. {
  6675. murom.window.sizeChanged.report();
  6676. return;
  6677. }
  6678. }
  6679. </script>
  6680. </body>
  6681. </html>