PageRenderTime 36ms CodeModel.GetById 21ms RepoModel.GetById 0ms app.codeStats 1ms

/socketTests/Server/bin/Server.js

http://github.com/AxGord/Pony
JavaScript | 4365 lines | 4365 code | 0 blank | 0 comment | 984 complexity | 67fb8df429786a461e2befa524c2c05d MD5 | raw file
Possible License(s): MIT

Large files files are truncated, but you can click here to view the full file

  1. (function () { "use strict";
  2. var $estr = function() { return js.Boot.__string_rec(this,''); };
  3. function $extend(from, fields) {
  4. function Inherit() {} Inherit.prototype = from; var proto = new Inherit();
  5. for (var name in fields) proto[name] = fields[name];
  6. if( fields.toString !== Object.prototype.toString ) proto.toString = fields.toString;
  7. return proto;
  8. }
  9. var HxOverrides = function() { };
  10. HxOverrides.__name__ = true;
  11. HxOverrides.cca = function(s,index) {
  12. var x = s.charCodeAt(index);
  13. if(x != x) return undefined;
  14. return x;
  15. };
  16. HxOverrides.substr = function(s,pos,len) {
  17. if(pos != null && pos != 0 && len != null && len < 0) return "";
  18. if(len == null) len = s.length;
  19. if(pos < 0) {
  20. pos = s.length + pos;
  21. if(pos < 0) pos = 0;
  22. } else if(len < 0) len = s.length + len - pos;
  23. return s.substr(pos,len);
  24. };
  25. HxOverrides.indexOf = function(a,obj,i) {
  26. var len = a.length;
  27. if(i < 0) {
  28. i += len;
  29. if(i < 0) i = 0;
  30. }
  31. while(i < len) {
  32. if(a[i] === obj) return i;
  33. i++;
  34. }
  35. return -1;
  36. };
  37. HxOverrides.remove = function(a,obj) {
  38. var i = HxOverrides.indexOf(a,obj,0);
  39. if(i == -1) return false;
  40. a.splice(i,1);
  41. return true;
  42. };
  43. HxOverrides.iter = function(a) {
  44. return { cur : 0, arr : a, hasNext : function() {
  45. return this.cur < this.arr.length;
  46. }, next : function() {
  47. return this.arr[this.cur++];
  48. }};
  49. };
  50. var IntIterator = function(min,max) {
  51. this.min = min;
  52. this.max = max;
  53. };
  54. IntIterator.__name__ = true;
  55. IntIterator.prototype = {
  56. __class__: IntIterator
  57. };
  58. var Lambda = function() { };
  59. Lambda.__name__ = true;
  60. Lambda.exists = function(it,f) {
  61. var $it0 = $iterator(it)();
  62. while( $it0.hasNext() ) {
  63. var x = $it0.next();
  64. if(f(x)) return true;
  65. }
  66. return false;
  67. };
  68. Lambda.indexOf = function(it,v) {
  69. var i = 0;
  70. var $it0 = $iterator(it)();
  71. while( $it0.hasNext() ) {
  72. var v2 = $it0.next();
  73. if(v == v2) return i;
  74. i++;
  75. }
  76. return -1;
  77. };
  78. var List = function() {
  79. this.length = 0;
  80. };
  81. List.__name__ = true;
  82. List.prototype = {
  83. add: function(item) {
  84. var x = [item];
  85. if(this.h == null) this.h = x; else this.q[1] = x;
  86. this.q = x;
  87. this.length++;
  88. }
  89. ,push: function(item) {
  90. var x = [item,this.h];
  91. this.h = x;
  92. if(this.q == null) this.q = x;
  93. this.length++;
  94. }
  95. ,pop: function() {
  96. if(this.h == null) return null;
  97. var x = this.h[0];
  98. this.h = this.h[1];
  99. if(this.h == null) this.q = null;
  100. this.length--;
  101. return x;
  102. }
  103. ,remove: function(v) {
  104. var prev = null;
  105. var l = this.h;
  106. while(l != null) {
  107. if(l[0] == v) {
  108. if(prev == null) this.h = l[1]; else prev[1] = l[1];
  109. if(this.q == l) this.q = prev;
  110. this.length--;
  111. return true;
  112. }
  113. prev = l;
  114. l = l[1];
  115. }
  116. return false;
  117. }
  118. ,__class__: List
  119. };
  120. var Main = function() { };
  121. Main.__name__ = true;
  122. Main.main = function() {
  123. var s = new pony.net.SocketServer(13579);
  124. var this1 = s.onConnect;
  125. var listener;
  126. var l;
  127. var f = pony._Function.Function_Impl_.from(function(cl) {
  128. var bo = new haxe.io.BytesOutput();
  129. bo.writeInt32("Hello man!".length);
  130. bo.writeString("Hello man!");
  131. cl.send(bo);
  132. },1,false);
  133. l = pony.events._Listener.Listener_Impl_._fromFunction(f);
  134. listener = l;
  135. pony.events._Signal1.Signal1_Impl_.add(this1,listener);
  136. this1;
  137. };
  138. Math.__name__ = true;
  139. var Reflect = function() { };
  140. Reflect.__name__ = true;
  141. Reflect.field = function(o,field) {
  142. try {
  143. return o[field];
  144. } catch( e ) {
  145. return null;
  146. }
  147. };
  148. Reflect.setField = function(o,field,value) {
  149. o[field] = value;
  150. };
  151. Reflect.callMethod = function(o,func,args) {
  152. return func.apply(o,args);
  153. };
  154. Reflect.fields = function(o) {
  155. var a = [];
  156. if(o != null) {
  157. var hasOwnProperty = Object.prototype.hasOwnProperty;
  158. for( var f in o ) {
  159. if(f != "__id__" && f != "hx__closures__" && hasOwnProperty.call(o,f)) a.push(f);
  160. }
  161. }
  162. return a;
  163. };
  164. Reflect.isFunction = function(f) {
  165. return typeof(f) == "function" && !(f.__name__ || f.__ename__);
  166. };
  167. Reflect.compare = function(a,b) {
  168. if(a == b) return 0; else if(a > b) return 1; else return -1;
  169. };
  170. Reflect.compareMethods = function(f1,f2) {
  171. if(f1 == f2) return true;
  172. if(!Reflect.isFunction(f1) || !Reflect.isFunction(f2)) return false;
  173. return f1.scope == f2.scope && f1.method == f2.method && f1.method != null;
  174. };
  175. Reflect.isObject = function(v) {
  176. if(v == null) return false;
  177. var t = typeof(v);
  178. return t == "string" || t == "object" && v.__enum__ == null || t == "function" && (v.__name__ || v.__ename__) != null;
  179. };
  180. Reflect.isEnumValue = function(v) {
  181. return v != null && v.__enum__ != null;
  182. };
  183. Reflect.makeVarArgs = function(f) {
  184. return function() {
  185. var a = Array.prototype.slice.call(arguments);
  186. return f(a);
  187. };
  188. };
  189. var Std = function() { };
  190. Std.__name__ = true;
  191. Std.string = function(s) {
  192. return js.Boot.__string_rec(s,"");
  193. };
  194. Std.parseInt = function(x) {
  195. var v = parseInt(x,10);
  196. if(v == 0 && (HxOverrides.cca(x,1) == 120 || HxOverrides.cca(x,1) == 88)) v = parseInt(x);
  197. if(isNaN(v)) return null;
  198. return v;
  199. };
  200. Std.parseFloat = function(x) {
  201. return parseFloat(x);
  202. };
  203. var StringBuf = function() {
  204. this.b = "";
  205. };
  206. StringBuf.__name__ = true;
  207. StringBuf.prototype = {
  208. add: function(x) {
  209. this.b += Std.string(x);
  210. }
  211. ,addSub: function(s,pos,len) {
  212. if(len == null) this.b += HxOverrides.substr(s,pos,null); else this.b += HxOverrides.substr(s,pos,len);
  213. }
  214. ,__class__: StringBuf
  215. };
  216. var StringTools = function() { };
  217. StringTools.__name__ = true;
  218. StringTools.isSpace = function(s,pos) {
  219. var c = HxOverrides.cca(s,pos);
  220. return c > 8 && c < 14 || c == 32;
  221. };
  222. StringTools.ltrim = function(s) {
  223. var l = s.length;
  224. var r = 0;
  225. while(r < l && StringTools.isSpace(s,r)) r++;
  226. if(r > 0) return HxOverrides.substr(s,r,l - r); else return s;
  227. };
  228. StringTools.rtrim = function(s) {
  229. var l = s.length;
  230. var r = 0;
  231. while(r < l && StringTools.isSpace(s,l - r - 1)) r++;
  232. if(r > 0) return HxOverrides.substr(s,0,l - r); else return s;
  233. };
  234. StringTools.trim = function(s) {
  235. return StringTools.ltrim(StringTools.rtrim(s));
  236. };
  237. StringTools.hex = function(n,digits) {
  238. var s = "";
  239. var hexChars = "0123456789ABCDEF";
  240. do {
  241. s = hexChars.charAt(n & 15) + s;
  242. n >>>= 4;
  243. } while(n > 0);
  244. if(digits != null) while(s.length < digits) s = "0" + s;
  245. return s;
  246. };
  247. StringTools.fastCodeAt = function(s,index) {
  248. return s.charCodeAt(index);
  249. };
  250. var ValueType = { __ename__ : true, __constructs__ : ["TNull","TInt","TFloat","TBool","TObject","TFunction","TClass","TEnum","TUnknown"] };
  251. ValueType.TNull = ["TNull",0];
  252. ValueType.TNull.toString = $estr;
  253. ValueType.TNull.__enum__ = ValueType;
  254. ValueType.TInt = ["TInt",1];
  255. ValueType.TInt.toString = $estr;
  256. ValueType.TInt.__enum__ = ValueType;
  257. ValueType.TFloat = ["TFloat",2];
  258. ValueType.TFloat.toString = $estr;
  259. ValueType.TFloat.__enum__ = ValueType;
  260. ValueType.TBool = ["TBool",3];
  261. ValueType.TBool.toString = $estr;
  262. ValueType.TBool.__enum__ = ValueType;
  263. ValueType.TObject = ["TObject",4];
  264. ValueType.TObject.toString = $estr;
  265. ValueType.TObject.__enum__ = ValueType;
  266. ValueType.TFunction = ["TFunction",5];
  267. ValueType.TFunction.toString = $estr;
  268. ValueType.TFunction.__enum__ = ValueType;
  269. ValueType.TClass = function(c) { var $x = ["TClass",6,c]; $x.__enum__ = ValueType; $x.toString = $estr; return $x; };
  270. ValueType.TEnum = function(e) { var $x = ["TEnum",7,e]; $x.__enum__ = ValueType; $x.toString = $estr; return $x; };
  271. ValueType.TUnknown = ["TUnknown",8];
  272. ValueType.TUnknown.toString = $estr;
  273. ValueType.TUnknown.__enum__ = ValueType;
  274. var Type = function() { };
  275. Type.__name__ = true;
  276. Type.getEnum = function(o) {
  277. if(o == null) return null;
  278. return o.__enum__;
  279. };
  280. Type.createEmptyInstance = function(cl) {
  281. function empty() {}; empty.prototype = cl.prototype;
  282. return new empty();
  283. };
  284. Type["typeof"] = function(v) {
  285. var _g = typeof(v);
  286. switch(_g) {
  287. case "boolean":
  288. return ValueType.TBool;
  289. case "string":
  290. return ValueType.TClass(String);
  291. case "number":
  292. if(Math.ceil(v) == v % 2147483648.0) return ValueType.TInt;
  293. return ValueType.TFloat;
  294. case "object":
  295. if(v == null) return ValueType.TNull;
  296. var e = v.__enum__;
  297. if(e != null) return ValueType.TEnum(e);
  298. var c = js.Boot.getClass(v);
  299. if(c != null) return ValueType.TClass(c);
  300. return ValueType.TObject;
  301. case "function":
  302. if(v.__name__ || v.__ename__) return ValueType.TObject;
  303. return ValueType.TFunction;
  304. case "undefined":
  305. return ValueType.TNull;
  306. default:
  307. return ValueType.TUnknown;
  308. }
  309. };
  310. Type.enumParameters = function(e) {
  311. return e.slice(2);
  312. };
  313. Type.enumIndex = function(e) {
  314. return e[1];
  315. };
  316. var XmlType = { __ename__ : true, __constructs__ : [] };
  317. var Xml = function() {
  318. };
  319. Xml.__name__ = true;
  320. Xml.parse = function(str) {
  321. return haxe.xml.Parser.parse(str);
  322. };
  323. Xml.createElement = function(name) {
  324. var r = new Xml();
  325. r.nodeType = Xml.Element;
  326. r._children = new Array();
  327. r._attributes = new haxe.ds.StringMap();
  328. r.set_nodeName(name);
  329. return r;
  330. };
  331. Xml.createPCData = function(data) {
  332. var r = new Xml();
  333. r.nodeType = Xml.PCData;
  334. r.set_nodeValue(data);
  335. return r;
  336. };
  337. Xml.createCData = function(data) {
  338. var r = new Xml();
  339. r.nodeType = Xml.CData;
  340. r.set_nodeValue(data);
  341. return r;
  342. };
  343. Xml.createComment = function(data) {
  344. var r = new Xml();
  345. r.nodeType = Xml.Comment;
  346. r.set_nodeValue(data);
  347. return r;
  348. };
  349. Xml.createDocType = function(data) {
  350. var r = new Xml();
  351. r.nodeType = Xml.DocType;
  352. r.set_nodeValue(data);
  353. return r;
  354. };
  355. Xml.createProcessingInstruction = function(data) {
  356. var r = new Xml();
  357. r.nodeType = Xml.ProcessingInstruction;
  358. r.set_nodeValue(data);
  359. return r;
  360. };
  361. Xml.createDocument = function() {
  362. var r = new Xml();
  363. r.nodeType = Xml.Document;
  364. r._children = new Array();
  365. return r;
  366. };
  367. Xml.prototype = {
  368. get_nodeName: function() {
  369. if(this.nodeType != Xml.Element) throw "bad nodeType";
  370. return this._nodeName;
  371. }
  372. ,set_nodeName: function(n) {
  373. if(this.nodeType != Xml.Element) throw "bad nodeType";
  374. return this._nodeName = n;
  375. }
  376. ,set_nodeValue: function(v) {
  377. if(this.nodeType == Xml.Element || this.nodeType == Xml.Document) throw "bad nodeType";
  378. return this._nodeValue = v;
  379. }
  380. ,get: function(att) {
  381. if(this.nodeType != Xml.Element) throw "bad nodeType";
  382. return this._attributes.get(att);
  383. }
  384. ,set: function(att,value) {
  385. if(this.nodeType != Xml.Element) throw "bad nodeType";
  386. this._attributes.set(att,value);
  387. }
  388. ,exists: function(att) {
  389. if(this.nodeType != Xml.Element) throw "bad nodeType";
  390. return this._attributes.exists(att);
  391. }
  392. ,addChild: function(x) {
  393. if(this._children == null) throw "bad nodetype";
  394. if(x._parent != null) HxOverrides.remove(x._parent._children,x);
  395. x._parent = this;
  396. this._children.push(x);
  397. }
  398. ,__class__: Xml
  399. };
  400. var haxe = {};
  401. haxe.StackItem = { __ename__ : true, __constructs__ : ["CFunction","Module","FilePos","Method","LocalFunction"] };
  402. haxe.StackItem.CFunction = ["CFunction",0];
  403. haxe.StackItem.CFunction.toString = $estr;
  404. haxe.StackItem.CFunction.__enum__ = haxe.StackItem;
  405. haxe.StackItem.Module = function(m) { var $x = ["Module",1,m]; $x.__enum__ = haxe.StackItem; $x.toString = $estr; return $x; };
  406. haxe.StackItem.FilePos = function(s,file,line) { var $x = ["FilePos",2,s,file,line]; $x.__enum__ = haxe.StackItem; $x.toString = $estr; return $x; };
  407. haxe.StackItem.Method = function(classname,method) { var $x = ["Method",3,classname,method]; $x.__enum__ = haxe.StackItem; $x.toString = $estr; return $x; };
  408. haxe.StackItem.LocalFunction = function(v) { var $x = ["LocalFunction",4,v]; $x.__enum__ = haxe.StackItem; $x.toString = $estr; return $x; };
  409. haxe.CallStack = function() { };
  410. haxe.CallStack.__name__ = true;
  411. haxe.CallStack.exceptionStack = function() {
  412. return [];
  413. };
  414. haxe.CallStack.toString = function(stack) {
  415. var b = new StringBuf();
  416. var _g = 0;
  417. while(_g < stack.length) {
  418. var s = stack[_g];
  419. ++_g;
  420. b.b += "\nCalled from ";
  421. haxe.CallStack.itemToString(b,s);
  422. }
  423. return b.b;
  424. };
  425. haxe.CallStack.itemToString = function(b,s) {
  426. switch(s[1]) {
  427. case 0:
  428. b.b += "a C function";
  429. break;
  430. case 1:
  431. var m = s[2];
  432. b.b += "module ";
  433. if(m == null) b.b += "null"; else b.b += "" + m;
  434. break;
  435. case 2:
  436. var line = s[4];
  437. var file = s[3];
  438. var s1 = s[2];
  439. if(s1 != null) {
  440. haxe.CallStack.itemToString(b,s1);
  441. b.b += " (";
  442. }
  443. if(file == null) b.b += "null"; else b.b += "" + file;
  444. b.b += " line ";
  445. if(line == null) b.b += "null"; else b.b += "" + line;
  446. if(s1 != null) b.b += ")";
  447. break;
  448. case 3:
  449. var meth = s[3];
  450. var cname = s[2];
  451. if(cname == null) b.b += "null"; else b.b += "" + cname;
  452. b.b += ".";
  453. if(meth == null) b.b += "null"; else b.b += "" + meth;
  454. break;
  455. case 4:
  456. var n = s[2];
  457. b.b += "local function #";
  458. if(n == null) b.b += "null"; else b.b += "" + n;
  459. break;
  460. }
  461. };
  462. haxe.IMap = function() { };
  463. haxe.IMap.__name__ = true;
  464. haxe.Log = function() { };
  465. haxe.Log.__name__ = true;
  466. haxe.Log.trace = function(v,infos) {
  467. js.Boot.__trace(v,infos);
  468. };
  469. haxe.Timer = function(time_ms) {
  470. var me = this;
  471. this.id = setInterval(function() {
  472. me.run();
  473. },time_ms);
  474. };
  475. haxe.Timer.__name__ = true;
  476. haxe.Timer.delay = function(f,time_ms) {
  477. var t = new haxe.Timer(time_ms);
  478. t.run = function() {
  479. t.stop();
  480. f();
  481. };
  482. return t;
  483. };
  484. haxe.Timer.prototype = {
  485. stop: function() {
  486. if(this.id == null) return;
  487. clearInterval(this.id);
  488. this.id = null;
  489. }
  490. ,run: function() {
  491. }
  492. ,__class__: haxe.Timer
  493. };
  494. haxe.ds = {};
  495. haxe.ds.BalancedTree = function() {
  496. };
  497. haxe.ds.BalancedTree.__name__ = true;
  498. haxe.ds.BalancedTree.prototype = {
  499. set: function(key,value) {
  500. this.root = this.setLoop(key,value,this.root);
  501. }
  502. ,get: function(key) {
  503. var node = this.root;
  504. while(node != null) {
  505. var c = this.compare(key,node.key);
  506. if(c == 0) return node.value;
  507. if(c < 0) node = node.left; else node = node.right;
  508. }
  509. return null;
  510. }
  511. ,keys: function() {
  512. var ret = [];
  513. this.keysLoop(this.root,ret);
  514. return HxOverrides.iter(ret);
  515. }
  516. ,setLoop: function(k,v,node) {
  517. if(node == null) return new haxe.ds.TreeNode(null,k,v,null);
  518. var c = this.compare(k,node.key);
  519. if(c == 0) return new haxe.ds.TreeNode(node.left,k,v,node.right,node == null?0:node._height); else if(c < 0) {
  520. var nl = this.setLoop(k,v,node.left);
  521. return this.balance(nl,node.key,node.value,node.right);
  522. } else {
  523. var nr = this.setLoop(k,v,node.right);
  524. return this.balance(node.left,node.key,node.value,nr);
  525. }
  526. }
  527. ,keysLoop: function(node,acc) {
  528. if(node != null) {
  529. this.keysLoop(node.left,acc);
  530. acc.push(node.key);
  531. this.keysLoop(node.right,acc);
  532. }
  533. }
  534. ,balance: function(l,k,v,r) {
  535. var hl;
  536. if(l == null) hl = 0; else hl = l._height;
  537. var hr;
  538. if(r == null) hr = 0; else hr = r._height;
  539. if(hl > hr + 2) {
  540. if((function($this) {
  541. var $r;
  542. var _this = l.left;
  543. $r = _this == null?0:_this._height;
  544. return $r;
  545. }(this)) >= (function($this) {
  546. var $r;
  547. var _this1 = l.right;
  548. $r = _this1 == null?0:_this1._height;
  549. return $r;
  550. }(this))) return new haxe.ds.TreeNode(l.left,l.key,l.value,new haxe.ds.TreeNode(l.right,k,v,r)); else return new haxe.ds.TreeNode(new haxe.ds.TreeNode(l.left,l.key,l.value,l.right.left),l.right.key,l.right.value,new haxe.ds.TreeNode(l.right.right,k,v,r));
  551. } else if(hr > hl + 2) {
  552. if((function($this) {
  553. var $r;
  554. var _this2 = r.right;
  555. $r = _this2 == null?0:_this2._height;
  556. return $r;
  557. }(this)) > (function($this) {
  558. var $r;
  559. var _this3 = r.left;
  560. $r = _this3 == null?0:_this3._height;
  561. return $r;
  562. }(this))) return new haxe.ds.TreeNode(new haxe.ds.TreeNode(l,k,v,r.left),r.key,r.value,r.right); else return new haxe.ds.TreeNode(new haxe.ds.TreeNode(l,k,v,r.left.left),r.left.key,r.left.value,new haxe.ds.TreeNode(r.left.right,r.key,r.value,r.right));
  563. } else return new haxe.ds.TreeNode(l,k,v,r,(hl > hr?hl:hr) + 1);
  564. }
  565. ,compare: function(k1,k2) {
  566. return Reflect.compare(k1,k2);
  567. }
  568. ,__class__: haxe.ds.BalancedTree
  569. };
  570. haxe.ds.TreeNode = function(l,k,v,r,h) {
  571. if(h == null) h = -1;
  572. this.left = l;
  573. this.key = k;
  574. this.value = v;
  575. this.right = r;
  576. if(h == -1) this._height = ((function($this) {
  577. var $r;
  578. var _this = $this.left;
  579. $r = _this == null?0:_this._height;
  580. return $r;
  581. }(this)) > (function($this) {
  582. var $r;
  583. var _this1 = $this.right;
  584. $r = _this1 == null?0:_this1._height;
  585. return $r;
  586. }(this))?(function($this) {
  587. var $r;
  588. var _this2 = $this.left;
  589. $r = _this2 == null?0:_this2._height;
  590. return $r;
  591. }(this)):(function($this) {
  592. var $r;
  593. var _this3 = $this.right;
  594. $r = _this3 == null?0:_this3._height;
  595. return $r;
  596. }(this))) + 1; else this._height = h;
  597. };
  598. haxe.ds.TreeNode.__name__ = true;
  599. haxe.ds.TreeNode.prototype = {
  600. __class__: haxe.ds.TreeNode
  601. };
  602. haxe.ds.EnumValueMap = function() {
  603. haxe.ds.BalancedTree.call(this);
  604. };
  605. haxe.ds.EnumValueMap.__name__ = true;
  606. haxe.ds.EnumValueMap.__interfaces__ = [haxe.IMap];
  607. haxe.ds.EnumValueMap.__super__ = haxe.ds.BalancedTree;
  608. haxe.ds.EnumValueMap.prototype = $extend(haxe.ds.BalancedTree.prototype,{
  609. compare: function(k1,k2) {
  610. var d = k1[1] - k2[1];
  611. if(d != 0) return d;
  612. var p1 = k1.slice(2);
  613. var p2 = k2.slice(2);
  614. if(p1.length == 0 && p2.length == 0) return 0;
  615. return this.compareArgs(p1,p2);
  616. }
  617. ,compareArgs: function(a1,a2) {
  618. var ld = a1.length - a2.length;
  619. if(ld != 0) return ld;
  620. var _g1 = 0;
  621. var _g = a1.length;
  622. while(_g1 < _g) {
  623. var i = _g1++;
  624. var d = this.compareArg(a1[i],a2[i]);
  625. if(d != 0) return d;
  626. }
  627. return 0;
  628. }
  629. ,compareArg: function(v1,v2) {
  630. if(Reflect.isEnumValue(v1) && Reflect.isEnumValue(v2)) return this.compare(v1,v2); else if((v1 instanceof Array) && v1.__enum__ == null && ((v2 instanceof Array) && v2.__enum__ == null)) return this.compareArgs(v1,v2); else return Reflect.compare(v1,v2);
  631. }
  632. ,__class__: haxe.ds.EnumValueMap
  633. });
  634. haxe.ds.IntMap = function() {
  635. this.h = { };
  636. };
  637. haxe.ds.IntMap.__name__ = true;
  638. haxe.ds.IntMap.__interfaces__ = [haxe.IMap];
  639. haxe.ds.IntMap.prototype = {
  640. set: function(key,value) {
  641. this.h[key] = value;
  642. }
  643. ,get: function(key) {
  644. return this.h[key];
  645. }
  646. ,exists: function(key) {
  647. return this.h.hasOwnProperty(key);
  648. }
  649. ,remove: function(key) {
  650. if(!this.h.hasOwnProperty(key)) return false;
  651. delete(this.h[key]);
  652. return true;
  653. }
  654. ,keys: function() {
  655. var a = [];
  656. for( var key in this.h ) {
  657. if(this.h.hasOwnProperty(key)) a.push(key | 0);
  658. }
  659. return HxOverrides.iter(a);
  660. }
  661. ,iterator: function() {
  662. return { ref : this.h, it : this.keys(), hasNext : function() {
  663. return this.it.hasNext();
  664. }, next : function() {
  665. var i = this.it.next();
  666. return this.ref[i];
  667. }};
  668. }
  669. ,__class__: haxe.ds.IntMap
  670. };
  671. haxe.ds.StringMap = function() {
  672. this.h = { };
  673. };
  674. haxe.ds.StringMap.__name__ = true;
  675. haxe.ds.StringMap.__interfaces__ = [haxe.IMap];
  676. haxe.ds.StringMap.prototype = {
  677. set: function(key,value) {
  678. this.h["$" + key] = value;
  679. }
  680. ,get: function(key) {
  681. return this.h["$" + key];
  682. }
  683. ,exists: function(key) {
  684. return this.h.hasOwnProperty("$" + key);
  685. }
  686. ,__class__: haxe.ds.StringMap
  687. };
  688. haxe.io = {};
  689. haxe.io.Bytes = function(length,b) {
  690. this.length = length;
  691. this.b = b;
  692. };
  693. haxe.io.Bytes.__name__ = true;
  694. haxe.io.Bytes.alloc = function(length) {
  695. return new haxe.io.Bytes(length,new Buffer(length));
  696. };
  697. haxe.io.Bytes.ofString = function(s) {
  698. var nb = new Buffer(s,"utf8");
  699. return new haxe.io.Bytes(nb.length,nb);
  700. };
  701. haxe.io.Bytes.ofData = function(b) {
  702. return new haxe.io.Bytes(b.length,b);
  703. };
  704. haxe.io.Bytes.prototype = {
  705. get: function(pos) {
  706. return this.b[pos];
  707. }
  708. ,set: function(pos,v) {
  709. this.b[pos] = v;
  710. }
  711. ,blit: function(pos,src,srcpos,len) {
  712. if(pos < 0 || srcpos < 0 || len < 0 || pos + len > this.length || srcpos + len > src.length) throw haxe.io.Error.OutsideBounds;
  713. src.b.copy(this.b,pos,srcpos,srcpos + len);
  714. }
  715. ,sub: function(pos,len) {
  716. if(pos < 0 || len < 0 || pos + len > this.length) throw haxe.io.Error.OutsideBounds;
  717. var nb = new Buffer(len);
  718. var slice = this.b.slice(pos,pos + len);
  719. slice.copy(nb,0,0,len);
  720. return new haxe.io.Bytes(len,nb);
  721. }
  722. ,compare: function(other) {
  723. var b1 = this.b;
  724. var b2 = other.b;
  725. var len;
  726. if(this.length < other.length) len = this.length; else len = other.length;
  727. var _g = 0;
  728. while(_g < len) {
  729. var i = _g++;
  730. if(b1[i] != b2[i]) return b1[i] - b2[i];
  731. }
  732. return this.length - other.length;
  733. }
  734. ,readString: function(pos,len) {
  735. if(pos < 0 || len < 0 || pos + len > this.length) throw haxe.io.Error.OutsideBounds;
  736. var s = "";
  737. var b = this.b;
  738. var fcc = String.fromCharCode;
  739. var i = pos;
  740. var max = pos + len;
  741. while(i < max) {
  742. var c = b[i++];
  743. if(c < 128) {
  744. if(c == 0) break;
  745. s += fcc(c);
  746. } else if(c < 224) s += fcc((c & 63) << 6 | b[i++] & 127); else if(c < 240) {
  747. var c2 = b[i++];
  748. s += fcc((c & 31) << 12 | (c2 & 127) << 6 | b[i++] & 127);
  749. } else {
  750. var c21 = b[i++];
  751. var c3 = b[i++];
  752. s += fcc((c & 15) << 18 | (c21 & 127) << 12 | c3 << 6 & 127 | b[i++] & 127);
  753. }
  754. }
  755. return s;
  756. }
  757. ,toString: function() {
  758. return this.readString(0,this.length);
  759. }
  760. ,toHex: function() {
  761. var s_b = "";
  762. var chars = [];
  763. var str = "0123456789abcdef";
  764. var _g1 = 0;
  765. var _g = str.length;
  766. while(_g1 < _g) {
  767. var i = _g1++;
  768. chars.push(HxOverrides.cca(str,i));
  769. }
  770. var _g11 = 0;
  771. var _g2 = this.length;
  772. while(_g11 < _g2) {
  773. var i1 = _g11++;
  774. var c = this.b[i1];
  775. s_b += String.fromCharCode(chars[c >> 4]);
  776. s_b += String.fromCharCode(chars[c & 15]);
  777. }
  778. return s_b;
  779. }
  780. ,getData: function() {
  781. return this.b;
  782. }
  783. ,__class__: haxe.io.Bytes
  784. };
  785. haxe.io.BytesBuffer = function() {
  786. this.b = new Array();
  787. };
  788. haxe.io.BytesBuffer.__name__ = true;
  789. haxe.io.BytesBuffer.prototype = {
  790. get_length: function() {
  791. return this.b.length;
  792. }
  793. ,addByte: function($byte) {
  794. this.b.push($byte);
  795. }
  796. ,add: function(src) {
  797. var b1 = this.b;
  798. var b2 = src.b;
  799. var _g1 = 0;
  800. var _g = src.length;
  801. while(_g1 < _g) {
  802. var i = _g1++;
  803. this.b.push(b2[i]);
  804. }
  805. }
  806. ,addBytes: function(src,pos,len) {
  807. if(pos < 0 || len < 0 || pos + len > src.length) throw haxe.io.Error.OutsideBounds;
  808. var b1 = this.b;
  809. var b2 = src.b;
  810. var _g1 = pos;
  811. var _g = pos + len;
  812. while(_g1 < _g) {
  813. var i = _g1++;
  814. this.b.push(b2[i]);
  815. }
  816. }
  817. ,getBytes: function() {
  818. var nb = new Buffer(this.b);
  819. var bytes = new haxe.io.Bytes(nb.length,nb);
  820. this.b = null;
  821. return bytes;
  822. }
  823. ,__class__: haxe.io.BytesBuffer
  824. };
  825. haxe.io.Input = function() { };
  826. haxe.io.Input.__name__ = true;
  827. haxe.io.Input.prototype = {
  828. readByte: function() {
  829. throw "Not implemented";
  830. }
  831. ,readBytes: function(s,pos,len) {
  832. var k = len;
  833. var b = s.b;
  834. if(pos < 0 || len < 0 || pos + len > s.length) throw haxe.io.Error.OutsideBounds;
  835. while(k > 0) {
  836. b[pos] = this.readByte();
  837. pos++;
  838. k--;
  839. }
  840. return len;
  841. }
  842. ,readFullBytes: function(s,pos,len) {
  843. while(len > 0) {
  844. var k = this.readBytes(s,pos,len);
  845. pos += k;
  846. len -= k;
  847. }
  848. }
  849. ,read: function(nbytes) {
  850. var s = haxe.io.Bytes.alloc(nbytes);
  851. var p = 0;
  852. while(nbytes > 0) {
  853. var k = this.readBytes(s,p,nbytes);
  854. if(k == 0) throw haxe.io.Error.Blocked;
  855. p += k;
  856. nbytes -= k;
  857. }
  858. return s;
  859. }
  860. ,readInt32: function() {
  861. var ch1 = this.readByte();
  862. var ch2 = this.readByte();
  863. var ch3 = this.readByte();
  864. var ch4 = this.readByte();
  865. if(this.bigEndian) return ch4 | ch3 << 8 | ch2 << 16 | ch1 << 24; else return ch1 | ch2 << 8 | ch3 << 16 | ch4 << 24;
  866. }
  867. ,readString: function(len) {
  868. var b = haxe.io.Bytes.alloc(len);
  869. this.readFullBytes(b,0,len);
  870. return b.toString();
  871. }
  872. ,__class__: haxe.io.Input
  873. };
  874. haxe.io.BytesInput = function(b,pos,len) {
  875. if(pos == null) pos = 0;
  876. if(len == null) len = b.length - pos;
  877. if(pos < 0 || len < 0 || pos + len > b.length) throw haxe.io.Error.OutsideBounds;
  878. this.b = b.b;
  879. this.pos = pos;
  880. this.len = len;
  881. this.totlen = len;
  882. };
  883. haxe.io.BytesInput.__name__ = true;
  884. haxe.io.BytesInput.__super__ = haxe.io.Input;
  885. haxe.io.BytesInput.prototype = $extend(haxe.io.Input.prototype,{
  886. readByte: function() {
  887. if(this.len == 0) throw new haxe.io.Eof();
  888. this.len--;
  889. return this.b[this.pos++];
  890. }
  891. ,readBytes: function(buf,pos,len) {
  892. if(pos < 0 || len < 0 || pos + len > buf.length) throw haxe.io.Error.OutsideBounds;
  893. if(this.len == 0 && len > 0) throw new haxe.io.Eof();
  894. if(this.len < len) len = this.len;
  895. var b1 = this.b;
  896. var b2 = buf.b;
  897. var _g = 0;
  898. while(_g < len) {
  899. var i = _g++;
  900. b2[pos + i] = b1[this.pos + i];
  901. }
  902. this.pos += len;
  903. this.len -= len;
  904. return len;
  905. }
  906. ,__class__: haxe.io.BytesInput
  907. });
  908. haxe.io.Output = function() { };
  909. haxe.io.Output.__name__ = true;
  910. haxe.io.Output.prototype = {
  911. writeByte: function(c) {
  912. throw "Not implemented";
  913. }
  914. ,writeBytes: function(s,pos,len) {
  915. var k = len;
  916. var b = s.b;
  917. if(pos < 0 || len < 0 || pos + len > s.length) throw haxe.io.Error.OutsideBounds;
  918. while(k > 0) {
  919. this.writeByte(b[pos]);
  920. pos++;
  921. k--;
  922. }
  923. return len;
  924. }
  925. ,close: function() {
  926. }
  927. ,write: function(s) {
  928. var l = s.length;
  929. var p = 0;
  930. while(l > 0) {
  931. var k = this.writeBytes(s,p,l);
  932. if(k == 0) throw haxe.io.Error.Blocked;
  933. p += k;
  934. l -= k;
  935. }
  936. }
  937. ,writeFullBytes: function(s,pos,len) {
  938. while(len > 0) {
  939. var k = this.writeBytes(s,pos,len);
  940. pos += k;
  941. len -= k;
  942. }
  943. }
  944. ,writeInt32: function(x) {
  945. if(this.bigEndian) {
  946. this.writeByte(x >>> 24);
  947. this.writeByte(x >> 16 & 255);
  948. this.writeByte(x >> 8 & 255);
  949. this.writeByte(x & 255);
  950. } else {
  951. this.writeByte(x & 255);
  952. this.writeByte(x >> 8 & 255);
  953. this.writeByte(x >> 16 & 255);
  954. this.writeByte(x >>> 24);
  955. }
  956. }
  957. ,writeString: function(s) {
  958. var b = haxe.io.Bytes.ofString(s);
  959. this.writeFullBytes(b,0,b.length);
  960. }
  961. ,__class__: haxe.io.Output
  962. };
  963. haxe.io.BytesOutput = function() {
  964. this.b = new haxe.io.BytesBuffer();
  965. };
  966. haxe.io.BytesOutput.__name__ = true;
  967. haxe.io.BytesOutput.__super__ = haxe.io.Output;
  968. haxe.io.BytesOutput.prototype = $extend(haxe.io.Output.prototype,{
  969. writeByte: function(c) {
  970. this.b.b.push(c);
  971. }
  972. ,writeBytes: function(buf,pos,len) {
  973. this.b.addBytes(buf,pos,len);
  974. return len;
  975. }
  976. ,getBytes: function() {
  977. return this.b.getBytes();
  978. }
  979. ,__class__: haxe.io.BytesOutput
  980. });
  981. haxe.io.Eof = function() {
  982. };
  983. haxe.io.Eof.__name__ = true;
  984. haxe.io.Eof.prototype = {
  985. toString: function() {
  986. return "Eof";
  987. }
  988. ,__class__: haxe.io.Eof
  989. };
  990. haxe.io.Error = { __ename__ : true, __constructs__ : ["Blocked","Overflow","OutsideBounds","Custom"] };
  991. haxe.io.Error.Blocked = ["Blocked",0];
  992. haxe.io.Error.Blocked.toString = $estr;
  993. haxe.io.Error.Blocked.__enum__ = haxe.io.Error;
  994. haxe.io.Error.Overflow = ["Overflow",1];
  995. haxe.io.Error.Overflow.toString = $estr;
  996. haxe.io.Error.Overflow.__enum__ = haxe.io.Error;
  997. haxe.io.Error.OutsideBounds = ["OutsideBounds",2];
  998. haxe.io.Error.OutsideBounds.toString = $estr;
  999. haxe.io.Error.OutsideBounds.__enum__ = haxe.io.Error;
  1000. haxe.io.Error.Custom = function(e) { var $x = ["Custom",3,e]; $x.__enum__ = haxe.io.Error; $x.toString = $estr; return $x; };
  1001. haxe.xml = {};
  1002. haxe.xml._Fast = {};
  1003. haxe.xml._Fast.NodeAccess = function(x) {
  1004. this.__x = x;
  1005. };
  1006. haxe.xml._Fast.NodeAccess.__name__ = true;
  1007. haxe.xml._Fast.NodeAccess.prototype = {
  1008. __class__: haxe.xml._Fast.NodeAccess
  1009. };
  1010. haxe.xml._Fast.AttribAccess = function(x) {
  1011. this.__x = x;
  1012. };
  1013. haxe.xml._Fast.AttribAccess.__name__ = true;
  1014. haxe.xml._Fast.AttribAccess.prototype = {
  1015. resolve: function(name) {
  1016. if(this.__x.nodeType == Xml.Document) throw "Cannot access document attribute " + name;
  1017. var v = this.__x.get(name);
  1018. if(v == null) throw this.__x.get_nodeName() + " is missing attribute " + name;
  1019. return v;
  1020. }
  1021. ,__class__: haxe.xml._Fast.AttribAccess
  1022. };
  1023. haxe.xml._Fast.HasAttribAccess = function(x) {
  1024. this.__x = x;
  1025. };
  1026. haxe.xml._Fast.HasAttribAccess.__name__ = true;
  1027. haxe.xml._Fast.HasAttribAccess.prototype = {
  1028. resolve: function(name) {
  1029. if(this.__x.nodeType == Xml.Document) throw "Cannot access document attribute " + name;
  1030. return this.__x.exists(name);
  1031. }
  1032. ,__class__: haxe.xml._Fast.HasAttribAccess
  1033. };
  1034. haxe.xml._Fast.HasNodeAccess = function(x) {
  1035. this.__x = x;
  1036. };
  1037. haxe.xml._Fast.HasNodeAccess.__name__ = true;
  1038. haxe.xml._Fast.HasNodeAccess.prototype = {
  1039. __class__: haxe.xml._Fast.HasNodeAccess
  1040. };
  1041. haxe.xml._Fast.NodeListAccess = function(x) {
  1042. this.__x = x;
  1043. };
  1044. haxe.xml._Fast.NodeListAccess.__name__ = true;
  1045. haxe.xml._Fast.NodeListAccess.prototype = {
  1046. __class__: haxe.xml._Fast.NodeListAccess
  1047. };
  1048. haxe.xml.Fast = function(x) {
  1049. if(x.nodeType != Xml.Document && x.nodeType != Xml.Element) throw "Invalid nodeType " + Std.string(x.nodeType);
  1050. this.x = x;
  1051. this.node = new haxe.xml._Fast.NodeAccess(x);
  1052. this.nodes = new haxe.xml._Fast.NodeListAccess(x);
  1053. this.att = new haxe.xml._Fast.AttribAccess(x);
  1054. this.has = new haxe.xml._Fast.HasAttribAccess(x);
  1055. this.hasNode = new haxe.xml._Fast.HasNodeAccess(x);
  1056. };
  1057. haxe.xml.Fast.__name__ = true;
  1058. haxe.xml.Fast.prototype = {
  1059. __class__: haxe.xml.Fast
  1060. };
  1061. haxe.xml.Parser = function() { };
  1062. haxe.xml.Parser.__name__ = true;
  1063. haxe.xml.Parser.parse = function(str) {
  1064. var doc = Xml.createDocument();
  1065. haxe.xml.Parser.doParse(str,0,doc);
  1066. return doc;
  1067. };
  1068. haxe.xml.Parser.doParse = function(str,p,parent) {
  1069. if(p == null) p = 0;
  1070. var xml = null;
  1071. var state = 1;
  1072. var next = 1;
  1073. var aname = null;
  1074. var start = 0;
  1075. var nsubs = 0;
  1076. var nbrackets = 0;
  1077. var c = str.charCodeAt(p);
  1078. var buf = new StringBuf();
  1079. while(!(c != c)) {
  1080. switch(state) {
  1081. case 0:
  1082. switch(c) {
  1083. case 10:case 13:case 9:case 32:
  1084. break;
  1085. default:
  1086. state = next;
  1087. continue;
  1088. }
  1089. break;
  1090. case 1:
  1091. switch(c) {
  1092. case 60:
  1093. state = 0;
  1094. next = 2;
  1095. break;
  1096. default:
  1097. start = p;
  1098. state = 13;
  1099. continue;
  1100. }
  1101. break;
  1102. case 13:
  1103. if(c == 60) {
  1104. var child = Xml.createPCData(buf.b + HxOverrides.substr(str,start,p - start));
  1105. buf = new StringBuf();
  1106. parent.addChild(child);
  1107. nsubs++;
  1108. state = 0;
  1109. next = 2;
  1110. } else if(c == 38) {
  1111. buf.addSub(str,start,p - start);
  1112. state = 18;
  1113. next = 13;
  1114. start = p + 1;
  1115. }
  1116. break;
  1117. case 17:
  1118. if(c == 93 && str.charCodeAt(p + 1) == 93 && str.charCodeAt(p + 2) == 62) {
  1119. var child1 = Xml.createCData(HxOverrides.substr(str,start,p - start));
  1120. parent.addChild(child1);
  1121. nsubs++;
  1122. p += 2;
  1123. state = 1;
  1124. }
  1125. break;
  1126. case 2:
  1127. switch(c) {
  1128. case 33:
  1129. if(str.charCodeAt(p + 1) == 91) {
  1130. p += 2;
  1131. if(HxOverrides.substr(str,p,6).toUpperCase() != "CDATA[") throw "Expected <![CDATA[";
  1132. p += 5;
  1133. state = 17;
  1134. start = p + 1;
  1135. } else if(str.charCodeAt(p + 1) == 68 || str.charCodeAt(p + 1) == 100) {
  1136. if(HxOverrides.substr(str,p + 2,6).toUpperCase() != "OCTYPE") throw "Expected <!DOCTYPE";
  1137. p += 8;
  1138. state = 16;
  1139. start = p + 1;
  1140. } else if(str.charCodeAt(p + 1) != 45 || str.charCodeAt(p + 2) != 45) throw "Expected <!--"; else {
  1141. p += 2;
  1142. state = 15;
  1143. start = p + 1;
  1144. }
  1145. break;
  1146. case 63:
  1147. state = 14;
  1148. start = p;
  1149. break;
  1150. case 47:
  1151. if(parent == null) throw "Expected node name";
  1152. start = p + 1;
  1153. state = 0;
  1154. next = 10;
  1155. break;
  1156. default:
  1157. state = 3;
  1158. start = p;
  1159. continue;
  1160. }
  1161. break;
  1162. case 3:
  1163. if(!(c >= 97 && c <= 122 || c >= 65 && c <= 90 || c >= 48 && c <= 57 || c == 58 || c == 46 || c == 95 || c == 45)) {
  1164. if(p == start) throw "Expected node name";
  1165. xml = Xml.createElement(HxOverrides.substr(str,start,p - start));
  1166. parent.addChild(xml);
  1167. state = 0;
  1168. next = 4;
  1169. continue;
  1170. }
  1171. break;
  1172. case 4:
  1173. switch(c) {
  1174. case 47:
  1175. state = 11;
  1176. nsubs++;
  1177. break;
  1178. case 62:
  1179. state = 9;
  1180. nsubs++;
  1181. break;
  1182. default:
  1183. state = 5;
  1184. start = p;
  1185. continue;
  1186. }
  1187. break;
  1188. case 5:
  1189. if(!(c >= 97 && c <= 122 || c >= 65 && c <= 90 || c >= 48 && c <= 57 || c == 58 || c == 46 || c == 95 || c == 45)) {
  1190. var tmp;
  1191. if(start == p) throw "Expected attribute name";
  1192. tmp = HxOverrides.substr(str,start,p - start);
  1193. aname = tmp;
  1194. if(xml.exists(aname)) throw "Duplicate attribute";
  1195. state = 0;
  1196. next = 6;
  1197. continue;
  1198. }
  1199. break;
  1200. case 6:
  1201. switch(c) {
  1202. case 61:
  1203. state = 0;
  1204. next = 7;
  1205. break;
  1206. default:
  1207. throw "Expected =";
  1208. }
  1209. break;
  1210. case 7:
  1211. switch(c) {
  1212. case 34:case 39:
  1213. state = 8;
  1214. start = p;
  1215. break;
  1216. default:
  1217. throw "Expected \"";
  1218. }
  1219. break;
  1220. case 8:
  1221. if(c == str.charCodeAt(start)) {
  1222. var val = HxOverrides.substr(str,start + 1,p - start - 1);
  1223. xml.set(aname,val);
  1224. state = 0;
  1225. next = 4;
  1226. }
  1227. break;
  1228. case 9:
  1229. p = haxe.xml.Parser.doParse(str,p,xml);
  1230. start = p;
  1231. state = 1;
  1232. break;
  1233. case 11:
  1234. switch(c) {
  1235. case 62:
  1236. state = 1;
  1237. break;
  1238. default:
  1239. throw "Expected >";
  1240. }
  1241. break;
  1242. case 12:
  1243. switch(c) {
  1244. case 62:
  1245. if(nsubs == 0) parent.addChild(Xml.createPCData(""));
  1246. return p;
  1247. default:
  1248. throw "Expected >";
  1249. }
  1250. break;
  1251. case 10:
  1252. if(!(c >= 97 && c <= 122 || c >= 65 && c <= 90 || c >= 48 && c <= 57 || c == 58 || c == 46 || c == 95 || c == 45)) {
  1253. if(start == p) throw "Expected node name";
  1254. var v = HxOverrides.substr(str,start,p - start);
  1255. if(v != parent.get_nodeName()) throw "Expected </" + parent.get_nodeName() + ">";
  1256. state = 0;
  1257. next = 12;
  1258. continue;
  1259. }
  1260. break;
  1261. case 15:
  1262. if(c == 45 && str.charCodeAt(p + 1) == 45 && str.charCodeAt(p + 2) == 62) {
  1263. parent.addChild(Xml.createComment(HxOverrides.substr(str,start,p - start)));
  1264. p += 2;
  1265. state = 1;
  1266. }
  1267. break;
  1268. case 16:
  1269. if(c == 91) nbrackets++; else if(c == 93) nbrackets--; else if(c == 62 && nbrackets == 0) {
  1270. parent.addChild(Xml.createDocType(HxOverrides.substr(str,start,p - start)));
  1271. state = 1;
  1272. }
  1273. break;
  1274. case 14:
  1275. if(c == 63 && str.charCodeAt(p + 1) == 62) {
  1276. p++;
  1277. var str1 = HxOverrides.substr(str,start + 1,p - start - 2);
  1278. parent.addChild(Xml.createProcessingInstruction(str1));
  1279. state = 1;
  1280. }
  1281. break;
  1282. case 18:
  1283. if(c == 59) {
  1284. var s = HxOverrides.substr(str,start,p - start);
  1285. if(s.charCodeAt(0) == 35) {
  1286. var i;
  1287. if(s.charCodeAt(1) == 120) i = Std.parseInt("0" + HxOverrides.substr(s,1,s.length - 1)); else i = Std.parseInt(HxOverrides.substr(s,1,s.length - 1));
  1288. buf.add(String.fromCharCode(i));
  1289. } else if(!haxe.xml.Parser.escapes.exists(s)) buf.b += Std.string("&" + s + ";"); else buf.add(haxe.xml.Parser.escapes.get(s));
  1290. start = p + 1;
  1291. state = next;
  1292. }
  1293. break;
  1294. }
  1295. c = StringTools.fastCodeAt(str,++p);
  1296. }
  1297. if(state == 1) {
  1298. start = p;
  1299. state = 13;
  1300. }
  1301. if(state == 13) {
  1302. if(p != start || nsubs == 0) parent.addChild(Xml.createPCData(buf.b + HxOverrides.substr(str,start,p - start)));
  1303. return p;
  1304. }
  1305. throw "Unexpected end";
  1306. };
  1307. var js = {};
  1308. js.Boot = function() { };
  1309. js.Boot.__name__ = true;
  1310. js.Boot.__unhtml = function(s) {
  1311. return s.split("&").join("&amp;").split("<").join("&lt;").split(">").join("&gt;");
  1312. };
  1313. js.Boot.__trace = function(v,i) {
  1314. var msg;
  1315. if(i != null) msg = i.fileName + ":" + i.lineNumber + ": "; else msg = "";
  1316. msg += js.Boot.__string_rec(v,"");
  1317. if(i != null && i.customParams != null) {
  1318. var _g = 0;
  1319. var _g1 = i.customParams;
  1320. while(_g < _g1.length) {
  1321. var v1 = _g1[_g];
  1322. ++_g;
  1323. msg += "," + js.Boot.__string_rec(v1,"");
  1324. }
  1325. }
  1326. var d;
  1327. if(typeof(document) != "undefined" && (d = document.getElementById("haxe:trace")) != null) d.innerHTML += js.Boot.__unhtml(msg) + "<br/>"; else if(typeof console != "undefined" && console.log != null) console.log(msg);
  1328. };
  1329. js.Boot.getClass = function(o) {
  1330. if((o instanceof Array) && o.__enum__ == null) return Array; else {
  1331. var cl = o.__class__;
  1332. if(cl != null) return cl;
  1333. var name = js.Boot.__nativeClassName(o);
  1334. if(name != null) return js.Boot.__resolveNativeClass(name);
  1335. return null;
  1336. }
  1337. };
  1338. js.Boot.__string_rec = function(o,s) {
  1339. if(o == null) return "null";
  1340. if(s.length >= 5) return "<...>";
  1341. var t = typeof(o);
  1342. if(t == "function" && (o.__name__ || o.__ename__)) t = "object";
  1343. switch(t) {
  1344. case "object":
  1345. if(o instanceof Array) {
  1346. if(o.__enum__) {
  1347. if(o.length == 2) return o[0];
  1348. var str = o[0] + "(";
  1349. s += "\t";
  1350. var _g1 = 2;
  1351. var _g = o.length;
  1352. while(_g1 < _g) {
  1353. var i = _g1++;
  1354. if(i != 2) str += "," + js.Boot.__string_rec(o[i],s); else str += js.Boot.__string_rec(o[i],s);
  1355. }
  1356. return str + ")";
  1357. }
  1358. var l = o.length;
  1359. var i1;
  1360. var str1 = "[";
  1361. s += "\t";
  1362. var _g2 = 0;
  1363. while(_g2 < l) {
  1364. var i2 = _g2++;
  1365. str1 += (i2 > 0?",":"") + js.Boot.__string_rec(o[i2],s);
  1366. }
  1367. str1 += "]";
  1368. return str1;
  1369. }
  1370. var tostr;
  1371. try {
  1372. tostr = o.toString;
  1373. } catch( e ) {
  1374. return "???";
  1375. }
  1376. if(tostr != null && tostr != Object.toString) {
  1377. var s2 = o.toString();
  1378. if(s2 != "[object Object]") return s2;
  1379. }
  1380. var k = null;
  1381. var str2 = "{\n";
  1382. s += "\t";
  1383. var hasp = o.hasOwnProperty != null;
  1384. for( var k in o ) {
  1385. if(hasp && !o.hasOwnProperty(k)) {
  1386. continue;
  1387. }
  1388. if(k == "prototype" || k == "__class__" || k == "__super__" || k == "__interfaces__" || k == "__properties__") {
  1389. continue;
  1390. }
  1391. if(str2.length != 2) str2 += ", \n";
  1392. str2 += s + k + " : " + js.Boot.__string_rec(o[k],s);
  1393. }
  1394. s = s.substring(1);
  1395. str2 += "\n" + s + "}";
  1396. return str2;
  1397. case "function":
  1398. return "<function>";
  1399. case "string":
  1400. return o;
  1401. default:
  1402. return String(o);
  1403. }
  1404. };
  1405. js.Boot.__interfLoop = function(cc,cl) {
  1406. if(cc == null) return false;
  1407. if(cc == cl) return true;
  1408. var intf = cc.__interfaces__;
  1409. if(intf != null) {
  1410. var _g1 = 0;
  1411. var _g = intf.length;
  1412. while(_g1 < _g) {
  1413. var i = _g1++;
  1414. var i1 = intf[i];
  1415. if(i1 == cl || js.Boot.__interfLoop(i1,cl)) return true;
  1416. }
  1417. }
  1418. return js.Boot.__interfLoop(cc.__super__,cl);
  1419. };
  1420. js.Boot.__instanceof = function(o,cl) {
  1421. if(cl == null) return false;
  1422. switch(cl) {
  1423. case Int:
  1424. return (o|0) === o;
  1425. case Float:
  1426. return typeof(o) == "number";
  1427. case Bool:
  1428. return typeof(o) == "boolean";
  1429. case String:
  1430. return typeof(o) == "string";
  1431. case Array:
  1432. return (o instanceof Array) && o.__enum__ == null;
  1433. case Dynamic:
  1434. return true;
  1435. default:
  1436. if(o != null) {
  1437. if(typeof(cl) == "function") {
  1438. if(o instanceof cl) return true;
  1439. if(js.Boot.__interfLoop(js.Boot.getClass(o),cl)) return true;
  1440. } else if(typeof(cl) == "object" && js.Boot.__isNativeObj(cl)) {
  1441. if(o instanceof cl) return true;
  1442. }
  1443. } else return false;
  1444. if(cl == Class && o.__name__ != null) return true;
  1445. if(cl == Enum && o.__ename__ != null) return true;
  1446. return o.__enum__ == cl;
  1447. }
  1448. };
  1449. js.Boot.__nativeClassName = function(o) {
  1450. var name = js.Boot.__toStr.call(o).slice(8,-1);
  1451. if(name == "Object" || name == "Function" || name == "Math" || name == "JSON") return null;
  1452. return name;
  1453. };
  1454. js.Boot.__isNativeObj = function(o) {
  1455. return js.Boot.__nativeClassName(o) != null;
  1456. };
  1457. js.Boot.__resolveNativeClass = function(name) {
  1458. if(typeof window != "undefined") return window[name]; else return global[name];
  1459. };
  1460. js.NodeC = function() { };
  1461. js.NodeC.__name__ = true;
  1462. js.Node = function() { };
  1463. js.Node.__name__ = true;
  1464. js.Node.get_assert = function() {
  1465. return js.Node.require("assert");
  1466. };
  1467. js.Node.get_child_process = function() {
  1468. return js.Node.require("child_process");
  1469. };
  1470. js.Node.get_cluster = function() {
  1471. return js.Node.require("cluster");
  1472. };
  1473. js.Node.get_crypto = function() {
  1474. return js.Node.require("crypto");
  1475. };
  1476. js.Node.get_dgram = function() {
  1477. return js.Node.require("dgram");
  1478. };
  1479. js.Node.get_dns = function() {
  1480. return js.Node.require("dns");
  1481. };
  1482. js.Node.get_fs = function() {
  1483. return js.Node.require("fs");
  1484. };
  1485. js.Node.get_http = function() {
  1486. return js.Node.require("http");
  1487. };
  1488. js.Node.get_https = function() {
  1489. return js.Node.require("https");
  1490. };
  1491. js.Node.get_net = function() {
  1492. return js.Node.require("net");
  1493. };
  1494. js.Node.get_os = function() {
  1495. return js.Node.require("os");
  1496. };
  1497. js.Node.get_path = function() {
  1498. return js.Node.require("path");
  1499. };
  1500. js.Node.get_querystring = function() {
  1501. return js.Node.require("querystring");
  1502. };
  1503. js.Node.get_repl = function() {
  1504. return js.Node.require("repl");
  1505. };
  1506. js.Node.get_tls = function() {
  1507. return js.Node.require("tls");
  1508. };
  1509. js.Node.get_url = function() {
  1510. return js.Node.require("url");
  1511. };
  1512. js.Node.get_util = function() {
  1513. return js.Node.require("util");
  1514. };
  1515. js.Node.get_vm = function() {
  1516. return js.Node.require("vm");
  1517. };
  1518. js.Node.get_zlib = function() {
  1519. return js.Node.require("zlib");
  1520. };
  1521. js.Node.get___filename = function() {
  1522. return __filename;
  1523. };
  1524. js.Node.get___dirname = function() {
  1525. return __dirname;
  1526. };
  1527. js.Node.get_json = function() {
  1528. return JSON;
  1529. };
  1530. js.Node.newSocket = function(options) {
  1531. return new js.Node.net.Socket(options);
  1532. };
  1533. var pony = {};
  1534. pony._Byte = {};
  1535. pony._Byte.Byte_Impl_ = function() { };
  1536. pony._Byte.Byte_Impl_.__name__ = true;
  1537. pony._Byte.Byte_Impl_.get_a = function(this1) {
  1538. return this1 >> 4;
  1539. };
  1540. pony._Byte.Byte_Impl_.get_b = function(this1) {
  1541. return this1 & 15;
  1542. };
  1543. pony._Byte.Byte_Impl_.create = function(a,b) {
  1544. return (a << 4) + b;
  1545. };
  1546. pony._Byte.Byte_Impl_.chechSumWith = function(this1,b) {
  1547. return this1 + b & 255;
  1548. };
  1549. pony._Byte.Byte_Impl_.toString = function(this1) {
  1550. return "0x" + StringTools.hex(this1);
  1551. };
  1552. pony.Dictionary = function(maxDepth) {
  1553. if(maxDepth == null) maxDepth = 1;
  1554. this.maxDepth = maxDepth;
  1555. this.ks = [];
  1556. this.vs = [];
  1557. };
  1558. pony.Dictionary.__name__ = true;
  1559. pony.Dictionary.prototype = {
  1560. getIndex: function(k) {
  1561. return pony.Tools.superIndexOf(this.ks,k,this.maxDepth);
  1562. }
  1563. ,set: function(k,v) {
  1564. var i = pony.Tools.superIndexOf(this.ks,k,this.maxDepth);
  1565. if(i != -1) {
  1566. this.vs[i] = v;
  1567. return i;
  1568. } else {
  1569. this.ks.push(k);
  1570. return this.vs.push(v);
  1571. }
  1572. }
  1573. ,get: function(k) {
  1574. var i = pony.Tools.superIndexOf(this.ks,k,this.maxDepth);
  1575. if(i == -1) return null; else return this.vs[i];
  1576. }
  1577. ,exists: function(k) {
  1578. return pony.Tools.superIndexOf(this.ks,k,this.maxDepth) != -1;
  1579. }
  1580. ,remove: function(k) {
  1581. var i = pony.Tools.superIndexOf(this.ks,k,this.maxDepth);
  1582. if(i != -1) {
  1583. this.ks.splice(i,1);
  1584. this.vs.splice(i,1);
  1585. return true;
  1586. } else return false;
  1587. }
  1588. ,removeIndex: function(i) {
  1589. this.ks.splice(i,1);
  1590. this.vs.splice(i,1);
  1591. }
  1592. ,clear: function() {
  1593. this.ks = [];
  1594. this.vs = [];
  1595. }
  1596. ,iterator: function() {
  1597. return HxOverrides.iter(this.vs);
  1598. }
  1599. ,keys: function() {
  1600. return HxOverrides.iter(this.ks);
  1601. }
  1602. ,toString: function() {
  1603. var a = [];
  1604. var $it0 = HxOverrides.iter(this.ks);
  1605. while( $it0.hasNext() ) {
  1606. var k = $it0.next();
  1607. a.push(Std.string(k) + ": " + Std.string(this.get(k)));
  1608. }
  1609. return "[" + a.join(", ") + "]";
  1610. }
  1611. ,removeValue: function(v) {
  1612. var i = HxOverrides.indexOf(this.vs,v,0);
  1613. if(i != -1) {
  1614. this.ks.splice(i,1);
  1615. this.vs.splice(i,1);
  1616. }
  1617. }
  1618. ,getKey: function(v) {
  1619. var i = HxOverrides.indexOf(this.vs,v,0);
  1620. if(i == -1) return null;
  1621. return this.ks[i];
  1622. }
  1623. ,getValueIndex: function(v) {
  1624. return HxOverrides.indexOf(this.vs,v,0);
  1625. }
  1626. ,get_count: function() {
  1627. return this.ks.length;
  1628. }
  1629. ,__class__: pony.Dictionary
  1630. };
  1631. pony._Function = {};
  1632. pony._Function.Function_Impl_ = function() { };
  1633. pony._Function.Function_Impl_.__name__ = true;
  1634. pony._Function.Function_Impl_._new = function(f,count,args,ret,event) {
  1635. if(event == null) event = false;
  1636. if(ret == null) ret = true;
  1637. var this1;
  1638. pony._Function.Function_Impl_.counter++;
  1639. if(pony._Function.Function_Impl_.searchFree) while(true) {
  1640. var $it0 = HxOverrides.iter(pony._Function.Function_Impl_.list.vs);
  1641. while( $it0.hasNext() ) {
  1642. var e = $it0.next();
  1643. if(e.id != pony._Function.Function_Impl_.counter) break;
  1644. }
  1645. pony._Function.Function_Impl_.counter++;
  1646. } else if(pony._Function.Function_Impl_.counter == -1) pony._Function.Function_Impl_.searchFree = true;
  1647. this1 = { f : f, count : count, args : args == null?[]:args, id : pony._Function.Function_Impl_.counter, used : 0, event : event, ret : ret};
  1648. return this1;
  1649. };
  1650. pony._Function.Function_Impl_.from = function(f,argc,ret,event) {
  1651. if(event == null) event = false;
  1652. if(ret == null) ret = true;
  1653. if(pony._Function.Function_Impl_.list.exists(f)) return pony._Function.Function_Impl_.list.get(f); else {
  1654. pony._Function.Function_Impl_.unusedCount++;
  1655. var o = pony._Function.Function_Impl_._new(f,argc,null,ret,event);
  1656. pony._Function.Function_Impl_.list.set(f,o);
  1657. return o;
  1658. }
  1659. };
  1660. pony._Function.Function_Impl_.fromEventR = function(f) {
  1661. return pony._Function.Function_Impl_.from(f,1,true,true);
  1662. };
  1663. pony._Function.Function_Impl_.fromEvent = function(f) {
  1664. return pony._Function.Function_Impl_.from(f,1,false,true);
  1665. };
  1666. pony._Function.Function_Impl_.from0r = function(f) {
  1667. return pony._Function.Function_Impl_.from(f,0);
  1668. };
  1669. pony._Function.Function_Impl_.from1r = function(f) {
  1670. return pony._Function.Function_Impl_.from(f,1);
  1671. };
  1672. pony._Function.Function_Impl_.from2r = function(f) {
  1673. return pony._Function.Function_Impl_.from(f,2);
  1674. };
  1675. pony._Function.Function_Impl_.from3r = function(f) {
  1676. return pony._Function.Function_Impl_.from(f,3);
  1677. };
  1678. pony._Function.Function_Impl_.from4r = function(f) {
  1679. return pony._Function.Function_Impl_.from(f,4);
  1680. };
  1681. pony._Function.Function_Impl_.from5r = function(f) {
  1682. return pony._Function.Function_Impl_.from(f,5);
  1683. };
  1684. pony._Function.Function_Impl_.from6r = function(f) {
  1685. return pony._Function.Function_Impl_.from(f,6);
  1686. };
  1687. pony._Function.Function_Impl_.from7r = function(f) {
  1688. return pony._Function.Function_Impl_.from(f,7);
  1689. };
  1690. pony._Function.Function_Impl_.from0 = function(f) {
  1691. return pony._Function.Function_Impl_.from(f,0,false);
  1692. };
  1693. pony._Function.Function_Impl_.from1 = function(f) {
  1694. return pony._Function.Function_Impl_.from(f,1,false);
  1695. };
  1696. pony._Function.Function_Impl_.from2 = function(f) {
  1697. return pony._Function.Function_Impl_.from(f,2,false);
  1698. };
  1699. pony._Function.Function_Impl_.from3 = function(f) {
  1700. return pony._Function.Function_Impl_.from(f,3,false);
  1701. };
  1702. pony._Function.Function_Impl_.from4 = function(f) {
  1703. return pony._Function.Function_Impl_.from(f,4,false);
  1704. };
  1705. pony._Function.Function_Impl_.from5 = function(f) {
  1706. return pony._Function.Function_Impl_.from(f,5,false);
  1707. };
  1708. pony._Function.Function_Impl_.from6 = function(f) {
  1709. return pony._Function.Function_Impl_.from(f,6,false);
  1710. };
  1711. pony._Function.Function_Impl_.from7 = function(f) {
  1712. return pony._Function.Function_Impl_.from(f,7,false);
  1713. };
  1714. pony._Function.Function_Impl_.call = function(this1,args) {
  1715. if(args == null) args = [];
  1716. return Reflect.callMethod(null,this1.f,this1.args.concat(args));
  1717. };
  1718. pony._Function.Function_Impl_.get_id = function(this1) {
  1719. return this1.id;
  1720. };
  1721. pony._Function.Function_Impl_.get_count = function(this1) {
  1722. return this1.count;
  1723. };
  1724. pony._Function.Function_Impl_._setArgs = function(this1,args) {
  1725. this1.count -= args.length;
  1726. this1.args = this1.args.concat(args);
  1727. };
  1728. pony._Function.Function_Impl_._use = function(this1) {
  1729. this1.used++;
  1730. };
  1731. pony._Function.Function_Impl_.unuse = function(this1) {
  1732. this1.used--;
  1733. if(this1.used <= 0) {
  1734. pony._Function.Function_Impl_.list.remove(this1.f);
  1735. this1 = null;
  1736. pony._Function.Function_Impl_.unusedCount--;
  1737. }
  1738. };
  1739. pony._Function.Function_Impl_.get_used = function(this1) {
  1740. return this1.used;
  1741. };
  1742. pony._Function.Function_Impl_.get_event = function(this1) {
  1743. return this1.event;
  1744. };
  1745. pony._Function.Function_Impl_.get_ret = function(this1) {
  1746. return this1.ret;
  1747. };
  1748. pony.IEvent = function() { };
  1749. pony.IEvent.__name__ = true;
  1750. pony.ILogable = function() { };
  1751. pony.ILogable.__name__ = true;
  1752. pony.ILogable.prototype = {
  1753. __class__: pony.ILogable
  1754. };
  1755. pony._KeyValue = {};
  1756. pony._KeyValue.KeyValue_Impl_ = function() { };
  1757. pony._KeyValue.KeyValue_Impl_.__name__ = true;
  1758. pony._KeyValue.KeyValue_Impl_._new = function(p) {
  1759. return p;
  1760. };
  1761. pony._KeyValue.KeyValue_Impl_.get_key = function(this1) {
  1762. return this1.a;
  1763. };
  1764. pony._KeyValue.KeyValue_Impl_.get_value = function(this1) {
  1765. return this1.b;
  1766. };
  1767. pony._KeyValue.KeyValue_Impl_.fromPair = function(p) {
  1768. return p;
  1769. };
  1770. pony._KeyValue.KeyValue_Impl_.toPair = function(this1) {
  1771. return this1;
  1772. };
  1773. pony.Logable = function() {
  1774. var this1 = pony.events.Signal.create(this);
  1775. this.log = this1;
  1776. var this2 = pony.events.Signal.create(this);
  1777. this.error = this2;
  1778. };
  1779. pony.Logable.__name__ = true;
  1780. pony.Logable.__interfaces__ = [pony.ILogable];
  1781. pony.Logable.prototype = {
  1782. _error: function(s,p) {
  1783. pony.events._Signal2.Signal2_Impl_.dispatch(this.error,s,p);
  1784. }
  1785. ,_log: function(s,p) {
  1786. pony.events._Signal2.Signal2_Impl_.dispatch(this.log,s,p);
  1787. }
  1788. ,__class__: pony.Logable
  1789. };
  1790. pony._Pair = {};
  1791. pony._Pair.Pair_Impl_ = function() { };
  1792. pony._Pair.Pair_Impl_.__name__ = true;
  1793. pony._Pair.Pair_Impl_._new = function(a,b) {
  1794. return { a : a, b : b};
  1795. };
  1796. pony._Pair.Pair_Impl_.get_a = function(this1) {
  1797. return this1.a;
  1798. };
  1799. pony._Pair.Pair_Impl_.get_b = function(this1) {
  1800. return this1.b;
  1801. };
  1802. pony._Pair.Pair_Impl_.set_a = function(this1,v) {
  1803. return this1.a = v;
  1804. };
  1805. pony._Pair.Pair_Impl_.set_b = function(this1,v) {
  1806. return this1.b = v;
  1807. };
  1808. pony._Pair.Pair_Impl_.fromObj = function(o) {
  1809. return o;
  1810. };
  1811. pony._Pair.Pair_Impl_.toObj = function(this1) {
  1812. return this1;
  1813. };
  1814. pony._Pair.Pair_Impl_.array = function(a) {
  1815. return { a : a[0], b : a[1]};
  1816. };
  1817. pony.Priority = function(data) {
  1818. this["double"] = false;
  1819. this.clear();
  1820. if(data != null) {
  1821. var _g = 0;
  1822. while(_g < data.length) {
  1823. var e = data[_g];
  1824. ++_g;
  1825. this.addElement(e);
  1826. }
  1827. }
  1828. };
  1829. pony.Priority.__name__ = true;
  1830. pony.Priority.createIds = function(a) {
  1831. var i = 0;
  1832. return new pony.Priority((function($this) {
  1833. var $r;
  1834. var _g = [];
  1835. {
  1836. var _g1 = 0;
  1837. while(_g1 < a.length) {
  1838. var e = a[_g1];
  1839. ++_g1;
  1840. _g.push({ id : i++, name : e});
  1841. }
  1842. }
  1843. $r = _g;
  1844. return $r;
  1845. }(this)));
  1846. };
  1847. pony.Priority.prototype = {
  1848. addElement: function(e,priority) {
  1849. if(priority == null) priority = 0;
  1850. if(!this["double"] && this.existsElement(e)) return this;
  1851. var s;
  1852. if(this.hash.exists(priority)) s = this.hash.get(priority); else s = 0;
  1853. var c = 0;
  1854. var $it0 = this.hash.keys();
  1855. while( $it0.hasNext() ) {
  1856. var k = $it0.next();
  1857. if(k < priority) c += this.hash.get(k);
  1858. }
  1859. c += s;
  1860. this.data.splice(c,0,e);
  1861. var _g1 = 0;
  1862. var _g = this.counters.length;
  1863. while(_g1 < _g) {
  1864. var k1 = _g1++;
  1865. if(c < this.counters[k1]) this.counters[k1]++;
  1866. }
  1867. this.hash.set(priority,s + 1);
  1868. return this;
  1869. }
  1870. ,addArray: function(a,priority) {
  1871. if(priority == null) priority = 0;
  1872. var _g = 0;
  1873. while(_g < a.length) {
  1874. var e = a[_g];
  1875. ++_g;
  1876. this.addElement(e,priority);
  1877. }
  1878. return this;
  1879. }
  1880. ,iterator: function() {
  1881. var _g = this;
  1882. var n = this.counters.push(0) - 1;
  1883. return { hasNext : function() {
  1884. if(_g.counters.length < n) _g.counters.push(n);
  1885. if(_g.data[_g.counters[n]] != null) return true; else {
  1886. _g.counters.splice(n,1);
  1887. return false;
  1888. }
  1889. }, next : function() {
  1890. return _g.

Large files files are truncated, but you can click here to view the full file