@supraio/client-daemon-js 0.0.0-master.290 → 0.0.0-master.308

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -46398,14 +46398,14 @@ $packages["github.com/supraio/client-daemon/pkg/helper"] = (function() {
46398
46398
  $go((function(signalChannel) { return function $b() {
46399
46399
  var {$s, $r, $c} = $restore(this, {});
46400
46400
  /* */ $s = $s || 0; s: while (true) { switch ($s) { case 0:
46401
- $r = time.Sleep(new time.Duration(20116, 2437873664)); /* */ $s = 1; case 1: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
46401
+ $r = time.Sleep(new time.Duration(140815, 4180213760)); /* */ $s = 1; case 1: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
46402
46402
  $r = $send(signalChannel[0], new syscall.Signal(6)); /* */ $s = 2; case 2: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
46403
46403
  $s = -1; return;
46404
46404
  /* */ } return; } var $f = {$blk: $b, $c: true, $r, $s};return $f;
46405
46405
  }; })(signalChannel), []);
46406
46406
  _r$4 = $recv(signalChannel[0]); /* */ $s = 1; case 1: if($c) { $c = false; _r$4 = _r$4.$blk(); } if (_r$4 && _r$4.$blk !== undefined) { break s; }
46407
46407
  sig = _r$4[0];
46408
- $r = log.Printf("Signal %s received (emulated after 24 hours).\n", new sliceType$1([sig])); /* */ $s = 2; case 2: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
46408
+ $r = log.Printf("Signal %s received (emulated after 1 week).\n", new sliceType$1([sig])); /* */ $s = 2; case 2: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
46409
46409
  $s = -1; return;
46410
46410
  /* */ } return; } var $f = {$blk: WaitOnStopSignal, $c: true, $r, _r$4, sig, signalChannel, $s};return $f;
46411
46411
  };
@@ -158647,26 +158647,12 @@ $packages["github.com/supraio/client-daemon/pkg/netclient"] = (function() {
158647
158647
  };
158648
158648
  MetadataServer.prototype.handleData = function() { return this.$val.handleData(); };
158649
158649
  NewMetadataResponsiveSender = function(metadataServer, timeoutDuration) {
158650
- var metadataServer, timeoutDuration;
158651
- return new MetadataResponsiveSender.ptr(metadataServer, timeoutDuration, $makeMap($String.keyFor, []), $clone(new sync.Mutex.ptr(0, 0), sync.Mutex));
158650
+ var metadataServer, s, timeoutDuration;
158651
+ s = new MetadataResponsiveSender.ptr(metadataServer, timeoutDuration, $makeMap($String.keyFor, []), $clone(new sync.Mutex.ptr(0, 0), sync.Mutex));
158652
+ metadataServer.OnMessage($methodVal(s, "handleServerData"));
158653
+ return s;
158652
158654
  };
158653
158655
  $pkg.NewMetadataResponsiveSender = NewMetadataResponsiveSender;
158654
- MetadataResponsiveSender.ptr.prototype.Listen = function() {
158655
- var s;
158656
- s = this;
158657
- s.metadataServer.OnMessage($methodVal(s, "handleServerData"));
158658
- };
158659
- MetadataResponsiveSender.prototype.Listen = function() { return this.$val.Listen(); };
158660
- MetadataResponsiveSender.ptr.prototype.Close = function() {
158661
- var {$24r, _r, s, $s, $r, $c} = $restore(this, {});
158662
- /* */ $s = $s || 0; s: while (true) { switch ($s) { case 0:
158663
- s = this;
158664
- _r = s.metadataServer.Close(); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }
158665
- $24r = _r;
158666
- $s = 2; case 2: return $24r;
158667
- /* */ } return; } var $f = {$blk: MetadataResponsiveSender.ptr.prototype.Close, $c: true, $r, $24r, _r, s, $s};return $f;
158668
- };
158669
- MetadataResponsiveSender.prototype.Close = function() { return this.$val.Close(); };
158670
158656
  MetadataResponsiveSender.ptr.prototype.SendServerWaitResponse = function(msgType, data) {
158671
158657
  var {$24r, $24r$1, $24r$2, _key, _r, _r$1, _r$2, _r$3, _r$4, _r$5, _r$6, _selection, _tuple, data, err, msgType, reqData, requestChan, requestID, resp, s, $s, $r, $c} = $restore(this, {msgType, data});
158672
158658
  /* */ $s = $s || 0; s: while (true) { switch ($s) { case 0:
@@ -158966,7 +158952,7 @@ $packages["github.com/supraio/client-daemon/pkg/netclient"] = (function() {
158966
158952
  };
158967
158953
  Framer.prototype.parseFrames = function() { return this.$val.parseFrames(); };
158968
158954
  ptrType$1.methods = [{prop: "start", name: "start", pkg: "github.com/supraio/client-daemon/pkg/netclient", typ: $funcType([], [], false)}, {prop: "Send", name: "Send", pkg: "", typ: $funcType([sliceType$1], [$Int, $error], false)}, {prop: "OnClose", name: "OnClose", pkg: "", typ: $funcType([funcType], [], false)}, {prop: "OnMessage", name: "OnMessage", pkg: "", typ: $funcType([funcType$1], [], false)}, {prop: "Close", name: "Close", pkg: "", typ: $funcType([], [$error], false)}, {prop: "handleData", name: "handleData", pkg: "github.com/supraio/client-daemon/pkg/netclient", typ: $funcType([], [], false)}];
158969
- ptrType$2.methods = [{prop: "Listen", name: "Listen", pkg: "", typ: $funcType([], [], false)}, {prop: "Close", name: "Close", pkg: "", typ: $funcType([], [$error], false)}, {prop: "SendServerWaitResponse", name: "SendServerWaitResponse", pkg: "", typ: $funcType([message.MsgType, sliceType$1], [sliceType$1, $error], false)}, {prop: "handleServerData", name: "handleServerData", pkg: "github.com/supraio/client-daemon/pkg/netclient", typ: $funcType([message.MsgType, sliceType$1], [], false)}];
158955
+ ptrType$2.methods = [{prop: "SendServerWaitResponse", name: "SendServerWaitResponse", pkg: "", typ: $funcType([message.MsgType, sliceType$1], [sliceType$1, $error], false)}, {prop: "handleServerData", name: "handleServerData", pkg: "github.com/supraio/client-daemon/pkg/netclient", typ: $funcType([message.MsgType, sliceType$1], [], false)}];
158970
158956
  ptrType$3.methods = [{prop: "Send", name: "Send", pkg: "", typ: $funcType([message.MsgType, sliceType$1], [$error], false)}];
158971
158957
  ptrType$4.methods = [{prop: "Connect", name: "Connect", pkg: "", typ: $funcType([], [ptrType$1, $error], false)}];
158972
158958
  ptrType$6.methods = [{prop: "Start", name: "Start", pkg: "", typ: $funcType([], [], false)}, {prop: "Close", name: "Close", pkg: "", typ: $funcType([], [], false)}, {prop: "startPinging", name: "startPinging", pkg: "github.com/supraio/client-daemon/pkg/netclient", typ: $funcType([], [], false)}];
@@ -159258,7 +159244,7 @@ $packages["github.com/supraio/client-daemon/pkg/socket"] = (function() {
159258
159244
  _i++;
159259
159245
  $s = 1; continue;
159260
159246
  case 2:
159261
- l.closeConns = false;
159247
+ l.closeConns = new $global.Map();
159262
159248
  $s = -1; return $ifaceNil;
159263
159249
  /* */ } return; } var $f = {$blk: JsListener.ptr.prototype.Close, $c: true, $r, _entry, _i, _key, _keys, _ref, _size, closeConn, l, $s};return $f;
159264
159250
  };
@@ -159334,7 +159320,7 @@ $packages["github.com/supraio/client-daemon/pkg/socket"] = (function() {
159334
159320
  return $pkg;
159335
159321
  })();
159336
159322
  $packages["github.com/supraio/client-daemon/pkg/command"] = (function() {
159337
- var $pkg = {}, $init, context, json, errs, message, netclient, netpacket, netstream, socket, io, log, sync, time, ScreenManager, ServerInfo, Handler, sliceType, sliceType$1, sliceType$2, structType, ptrType, ptrType$1, sliceType$3, ptrType$2, funcType, ptrType$3, mapType, NewHandler;
159323
+ var $pkg = {}, $init, context, json, errs, message, netclient, netpacket, netstream, socket, io, log, sync, time, ScreenManager, ServerInfo, Handler, sliceType, sliceType$1, sliceType$2, structType, ptrType, ptrType$1, sliceType$3, ptrType$2, funcType, ptrType$3, mapType, mapType$1, NewHandler;
159338
159324
  context = $packages["context"];
159339
159325
  json = $packages["encoding/json"];
159340
159326
  errs = $packages["github.com/supraio/client-daemon/pkg/errs"];
@@ -159368,11 +159354,12 @@ $packages["github.com/supraio/client-daemon/pkg/command"] = (function() {
159368
159354
  this.ClientSecret = ClientSecret_;
159369
159355
  this.Secure = Secure_;
159370
159356
  });
159371
- Handler = $pkg.Handler = $newType(0, $kindStruct, "command.Handler", true, "github.com/supraio/client-daemon/pkg/command", true, function(socketPath_, screenManager_, metadataResponsiveSenders_, timeoutDuration_, listener_, mutex_) {
159357
+ Handler = $pkg.Handler = $newType(0, $kindStruct, "command.Handler", true, "github.com/supraio/client-daemon/pkg/command", true, function(socketPath_, screenManager_, metadataServers_, metadataResponsiveSenders_, timeoutDuration_, listener_, mutex_) {
159372
159358
  this.$val = this;
159373
159359
  if (arguments.length === 0) {
159374
159360
  this.socketPath = "";
159375
159361
  this.screenManager = $ifaceNil;
159362
+ this.metadataServers = false;
159376
159363
  this.metadataResponsiveSenders = false;
159377
159364
  this.timeoutDuration = new time.Duration(0, 0);
159378
159365
  this.listener = $ifaceNil;
@@ -159381,6 +159368,7 @@ $packages["github.com/supraio/client-daemon/pkg/command"] = (function() {
159381
159368
  }
159382
159369
  this.socketPath = socketPath_;
159383
159370
  this.screenManager = screenManager_;
159371
+ this.metadataServers = metadataServers_;
159384
159372
  this.metadataResponsiveSenders = metadataResponsiveSenders_;
159385
159373
  this.timeoutDuration = timeoutDuration_;
159386
159374
  this.listener = listener_;
@@ -159396,10 +159384,11 @@ $packages["github.com/supraio/client-daemon/pkg/command"] = (function() {
159396
159384
  ptrType$2 = $ptrType(netclient.Framer);
159397
159385
  funcType = $funcType([], [$error], false);
159398
159386
  ptrType$3 = $ptrType(Handler);
159399
- mapType = $mapType($String, ptrType);
159387
+ mapType = $mapType($String, ptrType$1);
159388
+ mapType$1 = $mapType($String, ptrType);
159400
159389
  NewHandler = function(socketPath, screenManager, timeoutDuration) {
159401
159390
  var screenManager, socketPath, timeoutDuration;
159402
- return new Handler.ptr(socketPath, screenManager, $makeMap($String.keyFor, []), timeoutDuration, $ifaceNil, $clone(new sync.Mutex.ptr(0, 0), sync.Mutex));
159391
+ return new Handler.ptr(socketPath, screenManager, $makeMap($String.keyFor, []), $makeMap($String.keyFor, []), timeoutDuration, $ifaceNil, $clone(new sync.Mutex.ptr(0, 0), sync.Mutex));
159403
159392
  };
159404
159393
  $pkg.NewHandler = NewHandler;
159405
159394
  Handler.ptr.prototype.Listen = function() {
@@ -159434,13 +159423,13 @@ $packages["github.com/supraio/client-daemon/pkg/command"] = (function() {
159434
159423
  };
159435
159424
  Handler.prototype.Listen = function() { return this.$val.Listen(); };
159436
159425
  Handler.ptr.prototype.Close = function() {
159437
- var {$24r, $24r$1, _entry, _i, _i$1, _key, _keys, _r, _r$1, _r$2, _r$3, _ref, _ref$1, _size, allErr, err, err$1, err$2, errList, metadataResponsiveSender, s, $s, $deferred, $r, $c} = $restore(this, {});
159426
+ var {$24r, $24r$1, _entry, _i, _i$1, _key, _keys, _r, _r$1, _r$2, _r$3, _ref, _ref$1, _size, allErr, err, err$1, err$2, errList, metadataServer, s, $s, $deferred, $r, $c} = $restore(this, {});
159438
159427
  /* */ $s = $s || 0; var $err = null; try { s: while (true) { switch ($s) { case 0: $deferred = []; $curGoroutine.deferStack.push($deferred);
159439
159428
  s = this;
159440
159429
  $r = s.mutex.Lock(); /* */ $s = 1; case 1: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
159441
159430
  $deferred.push([$methodVal(s.mutex, "Unlock"), []]);
159442
159431
  errList = new sliceType([]);
159443
- _ref = s.metadataResponsiveSenders;
159432
+ _ref = s.metadataServers;
159444
159433
  _i = 0;
159445
159434
  _keys = _ref ? _ref.keys() : undefined;
159446
159435
  _size = _ref ? _ref.size : 0;
@@ -159452,8 +159441,8 @@ $packages["github.com/supraio/client-daemon/pkg/command"] = (function() {
159452
159441
  _i++;
159453
159442
  /* continue; */ $s = 2; continue;
159454
159443
  }
159455
- metadataResponsiveSender = _entry.v;
159456
- _r = metadataResponsiveSender.Close(); /* */ $s = 4; case 4: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }
159444
+ metadataServer = _entry.v;
159445
+ _r = metadataServer.Close(); /* */ $s = 4; case 4: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }
159457
159446
  err = _r;
159458
159447
  if (!($interfaceIsEqual(err, $ifaceNil))) {
159459
159448
  errList = $append(errList, err);
@@ -159487,7 +159476,7 @@ $packages["github.com/supraio/client-daemon/pkg/command"] = (function() {
159487
159476
  /* } */ case 7:
159488
159477
  $24r$1 = $ifaceNil;
159489
159478
  $s = 13; case 13: return $24r$1;
159490
- /* */ } return; } } catch(err) { $err = err; $s = -1; return $ifaceNil; } finally { $callDeferred($deferred, $err); if($curGoroutine.asleep) { var $f = {$blk: Handler.ptr.prototype.Close, $c: true, $r, $24r, $24r$1, _entry, _i, _i$1, _key, _keys, _r, _r$1, _r$2, _r$3, _ref, _ref$1, _size, allErr, err, err$1, err$2, errList, metadataResponsiveSender, s, $s, $deferred};return $f; } }
159479
+ /* */ } return; } } catch(err) { $err = err; $s = -1; return $ifaceNil; } finally { $callDeferred($deferred, $err); if($curGoroutine.asleep) { var $f = {$blk: Handler.ptr.prototype.Close, $c: true, $r, $24r, $24r$1, _entry, _i, _i$1, _key, _keys, _r, _r$1, _r$2, _r$3, _ref, _ref$1, _size, allErr, err, err$1, err$2, errList, metadataServer, s, $s, $deferred};return $f; } }
159491
159480
  };
159492
159481
  Handler.prototype.Close = function() { return this.$val.Close(); };
159493
159482
  Handler.ptr.prototype.bindMessages = function(framer, closeSocket) {
@@ -159618,40 +159607,34 @@ $packages["github.com/supraio/client-daemon/pkg/command"] = (function() {
159618
159607
  _tuple = _r;
159619
159608
  successData = _tuple[0];
159620
159609
  errorData = _tuple[1];
159621
- /* break; */ $s = 1; continue;
159622
159610
  $s = 8; continue;
159623
159611
  /* } else if (_1 === (39)) { */ case 3:
159624
159612
  _r$1 = s.startProcess(data); /* */ $s = 10; case 10: if($c) { $c = false; _r$1 = _r$1.$blk(); } if (_r$1 && _r$1.$blk !== undefined) { break s; }
159625
159613
  _tuple$1 = _r$1;
159626
159614
  successData = _tuple$1[0];
159627
159615
  errorData = _tuple$1[1];
159628
- /* break; */ $s = 1; continue;
159629
159616
  $s = 8; continue;
159630
159617
  /* } else if (_1 === (40)) { */ case 4:
159631
159618
  _r$2 = s.stopProcess(data); /* */ $s = 11; case 11: if($c) { $c = false; _r$2 = _r$2.$blk(); } if (_r$2 && _r$2.$blk !== undefined) { break s; }
159632
159619
  _tuple$2 = _r$2;
159633
159620
  successData = _tuple$2[0];
159634
159621
  errorData = _tuple$2[1];
159635
- /* break; */ $s = 1; continue;
159636
159622
  $s = 8; continue;
159637
159623
  /* } else if ((_1 === (42)) || (_1 === (43))) { */ case 5:
159638
159624
  _r$3 = s.proxyMessage(messageType, data); /* */ $s = 12; case 12: if($c) { $c = false; _r$3 = _r$3.$blk(); } if (_r$3 && _r$3.$blk !== undefined) { break s; }
159639
159625
  _tuple$3 = _r$3;
159640
159626
  successData = _tuple$3[0];
159641
159627
  errorData = _tuple$3[1];
159642
- /* break; */ $s = 1; continue;
159643
159628
  $s = 8; continue;
159644
159629
  /* } else if (_1 === (45)) { */ case 6:
159645
159630
  _r$4 = s.listAttachedProcesses(); /* */ $s = 13; case 13: if($c) { $c = false; _r$4 = _r$4.$blk(); } if (_r$4 && _r$4.$blk !== undefined) { break s; }
159646
159631
  _tuple$4 = _r$4;
159647
159632
  successData = _tuple$4[0];
159648
159633
  errorData = _tuple$4[1];
159649
- /* break; */ $s = 1; continue;
159650
159634
  $s = 8; continue;
159651
159635
  /* } else { */ case 7:
159652
159636
  $r = log.Printf("Unknown message type %d\n", new sliceType$1([new message.MsgType(messageType)])); /* */ $s = 14; case 14: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
159653
159637
  errorData = (new sliceType$2($stringToBytes("Unknown message type")));
159654
- /* break; */ $s = 1; continue;
159655
159638
  /* } */ case 8:
159656
159639
  case 1:
159657
159640
  _tmp = successData;
@@ -159931,7 +159914,7 @@ $packages["github.com/supraio/client-daemon/pkg/command"] = (function() {
159931
159914
  };
159932
159915
  Handler.prototype.proxyMessage = function(msgType, data) { return this.$val.proxyMessage(msgType, data); };
159933
159916
  Handler.ptr.prototype.getMetadataResponsiveSender = function(data) {
159934
- var {_entry, _key, _r, _r$1, _tuple, _tuple$1, data, err, metadataResponsiveSender, metadataResponsiveSender$1, metadataServer, ok, s, serverInfo, $s, $r, $c} = $restore(this, {data});
159917
+ var {_entry, _key, _key$1, _r, _r$1, _tuple, _tuple$1, data, err, metadataResponsiveSender, metadataResponsiveSender$1, metadataServer, ok, s, serverInfo, $s, $r, $c} = $restore(this, {data});
159935
159918
  /* */ $s = $s || 0; s: while (true) { switch ($s) { case 0:
159936
159919
  s = [s];
159937
159920
  serverInfo = [serverInfo];
@@ -159955,19 +159938,20 @@ $packages["github.com/supraio/client-daemon/pkg/command"] = (function() {
159955
159938
  if (!($interfaceIsEqual(err, $ifaceNil))) {
159956
159939
  $s = -1; return [ptrType.nil, err];
159957
159940
  }
159941
+ _key = serverInfo[0].MetadataHost; (s[0].metadataServers || $throwRuntimeError("assignment to entry in nil map")).set($String.keyFor(_key), { k: _key, v: metadataServer });
159958
159942
  metadataResponsiveSender$1 = netclient.NewMetadataResponsiveSender(metadataServer, s[0].timeoutDuration);
159959
- metadataResponsiveSender$1.Listen();
159960
- _key = serverInfo[0].MetadataHost; (s[0].metadataResponsiveSenders || $throwRuntimeError("assignment to entry in nil map")).set($String.keyFor(_key), { k: _key, v: metadataResponsiveSender$1 });
159943
+ _key$1 = serverInfo[0].MetadataHost; (s[0].metadataResponsiveSenders || $throwRuntimeError("assignment to entry in nil map")).set($String.keyFor(_key$1), { k: _key$1, v: metadataResponsiveSender$1 });
159961
159944
  metadataServer.OnClose((function(s, serverInfo) { return function $b() {
159962
159945
  var {$s, $r, $c} = $restore(this, {});
159963
159946
  /* */ $s = $s || 0; s: while (true) { switch ($s) { case 0:
159964
159947
  $r = log.Println(new sliceType$1([new $String("Metadata server was disconnected")])); /* */ $s = 1; case 1: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
159948
+ $mapDelete(s[0].metadataServers, $String.keyFor(serverInfo[0].MetadataHost));
159965
159949
  $mapDelete(s[0].metadataResponsiveSenders, $String.keyFor(serverInfo[0].MetadataHost));
159966
159950
  $s = -1; return;
159967
159951
  /* */ } return; } var $f = {$blk: $b, $c: true, $r, $s};return $f;
159968
159952
  }; })(s, serverInfo));
159969
159953
  $s = -1; return [metadataResponsiveSender$1, $ifaceNil];
159970
- /* */ } return; } var $f = {$blk: Handler.ptr.prototype.getMetadataResponsiveSender, $c: true, $r, _entry, _key, _r, _r$1, _tuple, _tuple$1, data, err, metadataResponsiveSender, metadataResponsiveSender$1, metadataServer, ok, s, serverInfo, $s};return $f;
159954
+ /* */ } return; } var $f = {$blk: Handler.ptr.prototype.getMetadataResponsiveSender, $c: true, $r, _entry, _key, _key$1, _r, _r$1, _tuple, _tuple$1, data, err, metadataResponsiveSender, metadataResponsiveSender$1, metadataServer, ok, s, serverInfo, $s};return $f;
159971
159955
  };
159972
159956
  Handler.prototype.getMetadataResponsiveSender = function(data) { return this.$val.getMetadataResponsiveSender(data); };
159973
159957
  Handler.ptr.prototype.createMetadataServer = function(serverInfo) {
@@ -160030,7 +160014,7 @@ $packages["github.com/supraio/client-daemon/pkg/command"] = (function() {
160030
160014
  ptrType$3.methods = [{prop: "Listen", name: "Listen", pkg: "", typ: $funcType([], [$error], false)}, {prop: "Close", name: "Close", pkg: "", typ: $funcType([], [$error], false)}, {prop: "bindMessages", name: "bindMessages", pkg: "github.com/supraio/client-daemon/pkg/command", typ: $funcType([ptrType$2, funcType], [], false)}, {prop: "handleSocketData", name: "handleSocketData", pkg: "github.com/supraio/client-daemon/pkg/command", typ: $funcType([sliceType$2, ptrType$2], [], false)}, {prop: "processMsg", name: "processMsg", pkg: "github.com/supraio/client-daemon/pkg/command", typ: $funcType([message.MsgType, sliceType$2], [sliceType$2, sliceType$2], false)}, {prop: "attachProcess", name: "attachProcess", pkg: "github.com/supraio/client-daemon/pkg/command", typ: $funcType([sliceType$2], [sliceType$2, sliceType$2], false)}, {prop: "listAttachedProcesses", name: "listAttachedProcesses", pkg: "github.com/supraio/client-daemon/pkg/command", typ: $funcType([], [sliceType$2, sliceType$2], false)}, {prop: "startProcess", name: "startProcess", pkg: "github.com/supraio/client-daemon/pkg/command", typ: $funcType([sliceType$2], [sliceType$2, sliceType$2], false)}, {prop: "stopProcess", name: "stopProcess", pkg: "github.com/supraio/client-daemon/pkg/command", typ: $funcType([sliceType$2], [sliceType$2, sliceType$2], false)}, {prop: "proxyMessage", name: "proxyMessage", pkg: "github.com/supraio/client-daemon/pkg/command", typ: $funcType([message.MsgType, sliceType$2], [sliceType$2, sliceType$2], false)}, {prop: "getMetadataResponsiveSender", name: "getMetadataResponsiveSender", pkg: "github.com/supraio/client-daemon/pkg/command", typ: $funcType([sliceType$2], [ptrType, $error], false)}, {prop: "createMetadataServer", name: "createMetadataServer", pkg: "github.com/supraio/client-daemon/pkg/command", typ: $funcType([ServerInfo], [ptrType$1, $error], false)}];
160031
160015
  ScreenManager.init([{prop: "ListScreens", name: "ListScreens", pkg: "", typ: $funcType([], [sliceType$3, $error], false)}, {prop: "StartScreen", name: "StartScreen", pkg: "", typ: $funcType([$String, netpacket.Driver, $String, netstream.Driver, $String, $String, $String, $Bool], [$error], false)}, {prop: "StopScreen", name: "StopScreen", pkg: "", typ: $funcType([$String], [$error], false)}]);
160032
160016
  ServerInfo.init("", [{prop: "MetadataDriver", name: "MetadataDriver", embedded: false, exported: true, typ: netstream.Driver, tag: ""}, {prop: "MetadataHost", name: "MetadataHost", embedded: false, exported: true, typ: $String, tag: ""}, {prop: "ScreenDriver", name: "ScreenDriver", embedded: false, exported: true, typ: netpacket.Driver, tag: ""}, {prop: "ScreenHost", name: "ScreenHost", embedded: false, exported: true, typ: $String, tag: ""}, {prop: "ClientID", name: "ClientID", embedded: false, exported: true, typ: $String, tag: ""}, {prop: "ClientSecret", name: "ClientSecret", embedded: false, exported: true, typ: $String, tag: ""}, {prop: "Secure", name: "Secure", embedded: false, exported: true, typ: $Bool, tag: ""}]);
160033
- Handler.init("github.com/supraio/client-daemon/pkg/command", [{prop: "socketPath", name: "socketPath", embedded: false, exported: false, typ: $String, tag: ""}, {prop: "screenManager", name: "screenManager", embedded: false, exported: false, typ: ScreenManager, tag: ""}, {prop: "metadataResponsiveSenders", name: "metadataResponsiveSenders", embedded: false, exported: false, typ: mapType, tag: ""}, {prop: "timeoutDuration", name: "timeoutDuration", embedded: false, exported: false, typ: time.Duration, tag: ""}, {prop: "listener", name: "listener", embedded: false, exported: false, typ: socket.Listener, tag: ""}, {prop: "mutex", name: "mutex", embedded: false, exported: false, typ: sync.Mutex, tag: ""}]);
160017
+ Handler.init("github.com/supraio/client-daemon/pkg/command", [{prop: "socketPath", name: "socketPath", embedded: false, exported: false, typ: $String, tag: ""}, {prop: "screenManager", name: "screenManager", embedded: false, exported: false, typ: ScreenManager, tag: ""}, {prop: "metadataServers", name: "metadataServers", embedded: false, exported: false, typ: mapType, tag: ""}, {prop: "metadataResponsiveSenders", name: "metadataResponsiveSenders", embedded: false, exported: false, typ: mapType$1, tag: ""}, {prop: "timeoutDuration", name: "timeoutDuration", embedded: false, exported: false, typ: time.Duration, tag: ""}, {prop: "listener", name: "listener", embedded: false, exported: false, typ: socket.Listener, tag: ""}, {prop: "mutex", name: "mutex", embedded: false, exported: false, typ: sync.Mutex, tag: ""}]);
160034
160018
  $init = function() {
160035
160019
  $pkg.$init = function() {};
160036
160020
  /* */ var $f, $c = false, $s = 0, $r; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:
@@ -181839,14 +181823,114 @@ $packages["github.com/supraio/client-daemon/pkg/clientscreen"] = (function() {
181839
181823
  return $pkg;
181840
181824
  })();
181841
181825
  $packages["github.com/supraio/client-daemon/pkg/jshelper"] = (function() {
181842
- var $pkg = {}, $init, log, js;
181826
+ var $pkg = {}, $init, errs, log, js, ptrType, sliceType, GetError, Await;
181827
+ errs = $packages["github.com/supraio/client-daemon/pkg/errs"];
181843
181828
  log = $packages["log"];
181844
181829
  js = $packages["syscall/js"];
181830
+ ptrType = $ptrType(js.Value);
181831
+ sliceType = $sliceType($emptyInterface);
181832
+ GetError = function(err) {
181833
+ var {$24r, $24r$1, $24r$2, $24r$3, _r, _r$1, _r$2, _r$3, err, $s, $r, $c} = $restore(this, {err});
181834
+ /* */ $s = $s || 0; s: while (true) { switch ($s) { case 0:
181835
+ /* */ if (err === ptrType.nil) { $s = 1; continue; }
181836
+ /* */ $s = 2; continue;
181837
+ /* if (err === ptrType.nil) { */ case 1:
181838
+ _r = errs.Errorf("Error is nil", sliceType.nil); /* */ $s = 3; case 3: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }
181839
+ $24r = _r;
181840
+ $s = 4; case 4: return $24r;
181841
+ /* } */ case 2:
181842
+ /* */ if ($clone(err, js.Value).Type() === 4) { $s = 5; continue; }
181843
+ /* */ if ($clone(err, js.Value).Type() === 6) { $s = 6; continue; }
181844
+ /* */ $s = 7; continue;
181845
+ /* if ($clone(err, js.Value).Type() === 4) { */ case 5:
181846
+ _r$1 = errs.Errorf("%s", new sliceType([new $String($clone(err, js.Value).String())])); /* */ $s = 9; case 9: if($c) { $c = false; _r$1 = _r$1.$blk(); } if (_r$1 && _r$1.$blk !== undefined) { break s; }
181847
+ $24r$1 = _r$1;
181848
+ $s = 10; case 10: return $24r$1;
181849
+ /* } else if ($clone(err, js.Value).Type() === 6) { */ case 6:
181850
+ _r$2 = errs.Errorf("%s, stack: %s", new sliceType([new $String($clone($clone(err, js.Value).Get("message"), js.Value).String()), new $String($clone($clone(err, js.Value).Get("stack"), js.Value).String())])); /* */ $s = 11; case 11: if($c) { $c = false; _r$2 = _r$2.$blk(); } if (_r$2 && _r$2.$blk !== undefined) { break s; }
181851
+ $24r$2 = _r$2;
181852
+ $s = 12; case 12: return $24r$2;
181853
+ /* } else { */ case 7:
181854
+ _r$3 = errs.Errorf("Unknown error type: %v", new sliceType([err])); /* */ $s = 13; case 13: if($c) { $c = false; _r$3 = _r$3.$blk(); } if (_r$3 && _r$3.$blk !== undefined) { break s; }
181855
+ $24r$3 = _r$3;
181856
+ $s = 14; case 14: return $24r$3;
181857
+ /* } */ case 8:
181858
+ $s = -1; return $ifaceNil;
181859
+ /* */ } return; } var $f = {$blk: GetError, $c: true, $r, $24r, $24r$1, $24r$2, $24r$3, _r, _r$1, _r$2, _r$3, err, $s};return $f;
181860
+ };
181861
+ $pkg.GetError = GetError;
181862
+ Await = function(awaitable) {
181863
+ var {$24r, $24r$1, _r, _r$1, _r$2, _selection, awaitable, catch$1, catchFunc, err, result, then, thenFunc, $s, $deferred, $r, $c} = $restore(this, {awaitable});
181864
+ /* */ $s = $s || 0; var $err = null; try { s: while (true) { switch ($s) { case 0: $deferred = []; $curGoroutine.deferStack.push($deferred);
181865
+ catch$1 = [catch$1];
181866
+ then = [then];
181867
+ then[0] = new $Chan(ptrType, 0);
181868
+ $deferred.push([(function(catch$1, then) { return function() {
181869
+ $close(then[0]);
181870
+ then[0] = $chanNil;
181871
+ }; })(catch$1, then), []]);
181872
+ thenFunc = $clone(js.FuncOf((function(catch$1, then) { return function $b(this$1, args) {
181873
+ var {args, this$1, $s, $r, $c} = $restore(this, {this$1, args});
181874
+ /* */ $s = $s || 0; s: while (true) { switch ($s) { case 0:
181875
+ /* */ if (then[0] === $chanNil) { $s = 1; continue; }
181876
+ /* */ $s = 2; continue;
181877
+ /* if (then[0] === $chanNil) { */ case 1:
181878
+ $r = log.Printf("Promise already resolved cannot resolve again: %v\n", new sliceType([(0 >= args.$length ? ($throwRuntimeError("index out of range"), undefined) : args.$array[args.$offset + 0])])); /* */ $s = 3; case 3: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
181879
+ $s = -1; return $ifaceNil;
181880
+ /* } */ case 2:
181881
+ $r = $send(then[0], (0 >= args.$length ? ($throwRuntimeError("index out of range"), undefined) : args.$array[args.$offset + 0])); /* */ $s = 4; case 4: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
181882
+ $s = -1; return $ifaceNil;
181883
+ /* */ } return; } var $f = {$blk: $b, $c: true, $r, args, this$1, $s};return $f;
181884
+ }; })(catch$1, then)), js.Func);
181885
+ $deferred.push([$methodVal($clone(thenFunc, js.Func), "Release"), []]);
181886
+ catch$1[0] = new $Chan(ptrType, 0);
181887
+ $deferred.push([(function(catch$1, then) { return function() {
181888
+ $close(catch$1[0]);
181889
+ catch$1[0] = $chanNil;
181890
+ }; })(catch$1, then), []]);
181891
+ catchFunc = $clone(js.FuncOf((function(catch$1, then) { return function $b(this$1, args) {
181892
+ var {_arg, _r, args, this$1, $s, $r, $c} = $restore(this, {this$1, args});
181893
+ /* */ $s = $s || 0; s: while (true) { switch ($s) { case 0:
181894
+ /* */ if (catch$1[0] === $chanNil) { $s = 1; continue; }
181895
+ /* */ $s = 2; continue;
181896
+ /* if (catch$1[0] === $chanNil) { */ case 1:
181897
+ _r = GetError((0 >= args.$length ? ($throwRuntimeError("index out of range"), undefined) : args.$array[args.$offset + 0])); /* */ $s = 3; case 3: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }
181898
+ _arg = _r;
181899
+ $r = errs.Print("Promise already resolved cannot be rejected", _arg); /* */ $s = 4; case 4: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
181900
+ $s = -1; return $ifaceNil;
181901
+ /* } */ case 2:
181902
+ $r = $send(catch$1[0], (0 >= args.$length ? ($throwRuntimeError("index out of range"), undefined) : args.$array[args.$offset + 0])); /* */ $s = 5; case 5: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
181903
+ $s = -1; return $ifaceNil;
181904
+ /* */ } return; } var $f = {$blk: $b, $c: true, $r, _arg, _r, args, this$1, $s};return $f;
181905
+ }; })(catch$1, then)), js.Func);
181906
+ $deferred.push([$methodVal($clone(catchFunc, js.Func), "Release"), []]);
181907
+ _r = $clone(awaitable, js.Value).Call("then", new sliceType([new thenFunc.constructor.elem(thenFunc)])); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }
181908
+ _r$1 = $clone(_r, js.Value).Call("catch", new sliceType([new catchFunc.constructor.elem(catchFunc)])); /* */ $s = 2; case 2: if($c) { $c = false; _r$1 = _r$1.$blk(); } if (_r$1 && _r$1.$blk !== undefined) { break s; }
181909
+ _r$1;
181910
+ _r$2 = $select([[then[0]], [catch$1[0]]]); /* */ $s = 3; case 3: if($c) { $c = false; _r$2 = _r$2.$blk(); } if (_r$2 && _r$2.$blk !== undefined) { break s; }
181911
+ _selection = _r$2;
181912
+ /* */ if (_selection[0] === 0) { $s = 4; continue; }
181913
+ /* */ if (_selection[0] === 1) { $s = 5; continue; }
181914
+ /* */ $s = 6; continue;
181915
+ /* if (_selection[0] === 0) { */ case 4:
181916
+ result = _selection[1][0];
181917
+ $24r = [result, ptrType.nil];
181918
+ $s = 7; case 7: return $24r;
181919
+ /* } else if (_selection[0] === 1) { */ case 5:
181920
+ err = _selection[1][0];
181921
+ $24r$1 = [ptrType.nil, err];
181922
+ $s = 8; case 8: return $24r$1;
181923
+ /* } */ case 6:
181924
+ $s = -1; return [ptrType.nil, ptrType.nil];
181925
+ /* */ } return; } } catch(err) { $err = err; $s = -1; return [ptrType.nil, ptrType.nil]; } finally { $callDeferred($deferred, $err); if($curGoroutine.asleep) { var $f = {$blk: Await, $c: true, $r, $24r, $24r$1, _r, _r$1, _r$2, _selection, awaitable, catch$1, catchFunc, err, result, then, thenFunc, $s, $deferred};return $f; } }
181926
+ };
181927
+ $pkg.Await = Await;
181845
181928
  $init = function() {
181846
181929
  $pkg.$init = function() {};
181847
181930
  /* */ var $f, $c = false, $s = 0, $r; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:
181848
- $r = log.$init(); /* */ $s = 1; case 1: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
181849
- $r = js.$init(); /* */ $s = 2; case 2: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
181931
+ $r = errs.$init(); /* */ $s = 1; case 1: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
181932
+ $r = log.$init(); /* */ $s = 2; case 2: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
181933
+ $r = js.$init(); /* */ $s = 3; case 3: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
181850
181934
  /* */ } return; } if ($f === undefined) { $f = { $blk: $init }; } $f.$s = $s; $f.$r = $r; return $f;
181851
181935
  };
181852
181936
  $pkg.$init = $init;
@@ -186643,466 +186727,6 @@ $packages["github.com/nuberu/webgl"] = (function() {
186643
186727
  $pkg.$init = $init;
186644
186728
  return $pkg;
186645
186729
  })();
186646
- $packages["golang.org/x/exp/shiny/driver/internal/dom"] = (function() {
186647
- var $pkg = {}, $init, focus, key, mouse, size, geom, math, strings, js, DomEvents, sliceType, funcType, sliceType$1, sliceType$2, chanType, ptrType, keyCodesMap, keyCodesByKeyMap, GetDocWidth, GetDocHeight, GetScreenWidth, GetScreenHeight, GetBrowserZoomRatio, SetWindowWidth, SetWindowHeight, GetOrientation, NewDomEvents, getMouseDirection, getWheelButton, getMouseButton, getEventModifiers, isFocusIn, getKeyRune, getKeyDirection, getKeyCode;
186648
- focus = $packages["golang.org/x/mobile/event/focus"];
186649
- key = $packages["golang.org/x/mobile/event/key"];
186650
- mouse = $packages["golang.org/x/mobile/event/mouse"];
186651
- size = $packages["golang.org/x/mobile/event/size"];
186652
- geom = $packages["golang.org/x/mobile/geom"];
186653
- math = $packages["math"];
186654
- strings = $packages["strings"];
186655
- js = $packages["syscall/js"];
186656
- DomEvents = $pkg.DomEvents = $newType(0, $kindStruct, "dom.DomEvents", true, "golang.org/x/exp/shiny/driver/internal/dom", true, function(eventChan_, releases_) {
186657
- this.$val = this;
186658
- if (arguments.length === 0) {
186659
- this.eventChan = $chanNil;
186660
- this.releases = sliceType$1.nil;
186661
- return;
186662
- }
186663
- this.eventChan = eventChan_;
186664
- this.releases = releases_;
186665
- });
186666
- sliceType = $sliceType($emptyInterface);
186667
- funcType = $funcType([], [], false);
186668
- sliceType$1 = $sliceType(funcType);
186669
- sliceType$2 = $sliceType($Int32);
186670
- chanType = $chanType($emptyInterface, false, false);
186671
- ptrType = $ptrType(DomEvents);
186672
- GetDocWidth = function() {
186673
- return $clone($clone(js.Global(), js.Value).Get("innerWidth"), js.Value).Int();
186674
- };
186675
- $pkg.GetDocWidth = GetDocWidth;
186676
- GetDocHeight = function() {
186677
- return $clone($clone(js.Global(), js.Value).Get("innerHeight"), js.Value).Int();
186678
- };
186679
- $pkg.GetDocHeight = GetDocHeight;
186680
- GetScreenWidth = function() {
186681
- return $clone($clone($clone(js.Global(), js.Value).Get("screen"), js.Value).Get("width"), js.Value).Int();
186682
- };
186683
- $pkg.GetScreenWidth = GetScreenWidth;
186684
- GetScreenHeight = function() {
186685
- return $clone($clone($clone(js.Global(), js.Value).Get("screen"), js.Value).Get("height"), js.Value).Int();
186686
- };
186687
- $pkg.GetScreenHeight = GetScreenHeight;
186688
- GetBrowserZoomRatio = function() {
186689
- var chromeZoom1, chromeZoom2, chromeZoom3, docElClientWidth, scrollerWidthInNoZoom, scrollerWidthInZoom1, scrollerWidthInZoom2, windowInnerWidth, windowOuterWidth;
186690
- windowInnerWidth = $clone($clone(js.Global(), js.Value).Get("innerWidth"), js.Value).Float();
186691
- windowOuterWidth = $clone($clone(js.Global(), js.Value).Get("outerWidth"), js.Value).Float();
186692
- docElClientWidth = $clone($clone($clone($clone(js.Global(), js.Value).Get("document"), js.Value).Get("documentElement"), js.Value).Get("clientWidth"), js.Value).Float();
186693
- scrollerWidthInNoZoom = windowInnerWidth - docElClientWidth;
186694
- chromeZoom1 = (windowOuterWidth - scrollerWidthInNoZoom) / windowInnerWidth;
186695
- scrollerWidthInZoom1 = math.Round(scrollerWidthInNoZoom * chromeZoom1);
186696
- chromeZoom2 = (windowOuterWidth - scrollerWidthInZoom1) / windowInnerWidth;
186697
- scrollerWidthInZoom2 = math.Round(scrollerWidthInNoZoom * chromeZoom2);
186698
- chromeZoom3 = (windowOuterWidth - scrollerWidthInZoom2) / windowInnerWidth;
186699
- return chromeZoom3;
186700
- };
186701
- $pkg.GetBrowserZoomRatio = GetBrowserZoomRatio;
186702
- SetWindowWidth = function(newInnerWidth) {
186703
- var {_r, innerWidth, newInnerWidth, newOuterWidth, outerHeight, outerWidth, screenWidth, $s, $r, $c} = $restore(this, {newInnerWidth});
186704
- /* */ $s = $s || 0; s: while (true) { switch ($s) { case 0:
186705
- innerWidth = $clone($clone(js.Global(), js.Value).Get("innerWidth"), js.Value).Int();
186706
- outerWidth = $clone($clone(js.Global(), js.Value).Get("outerWidth"), js.Value).Int();
186707
- outerHeight = $clone($clone(js.Global(), js.Value).Get("outerHeight"), js.Value).Int();
186708
- newOuterWidth = newInnerWidth + ((outerWidth - innerWidth >> 0)) >> 0;
186709
- screenWidth = GetScreenWidth();
186710
- if (newOuterWidth > screenWidth) {
186711
- newOuterWidth = screenWidth;
186712
- }
186713
- _r = $clone(js.Global(), js.Value).Call("resizeTo", new sliceType([new $Int(newOuterWidth), new $Int(outerHeight)])); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }
186714
- _r;
186715
- $s = -1; return;
186716
- /* */ } return; } var $f = {$blk: SetWindowWidth, $c: true, $r, _r, innerWidth, newInnerWidth, newOuterWidth, outerHeight, outerWidth, screenWidth, $s};return $f;
186717
- };
186718
- $pkg.SetWindowWidth = SetWindowWidth;
186719
- SetWindowHeight = function(newInnerHeight) {
186720
- var {_r, innerHeight, newInnerHeight, newOuterHeight, outerHeight, outerWidth, screenHeight, $s, $r, $c} = $restore(this, {newInnerHeight});
186721
- /* */ $s = $s || 0; s: while (true) { switch ($s) { case 0:
186722
- innerHeight = $clone($clone(js.Global(), js.Value).Get("innerHeight"), js.Value).Int();
186723
- outerHeight = $clone($clone(js.Global(), js.Value).Get("outerHeight"), js.Value).Int();
186724
- outerWidth = $clone($clone(js.Global(), js.Value).Get("outerWidth"), js.Value).Int();
186725
- newOuterHeight = newInnerHeight + ((outerHeight - innerHeight >> 0)) >> 0;
186726
- screenHeight = GetScreenHeight();
186727
- if (newOuterHeight > screenHeight) {
186728
- newOuterHeight = screenHeight;
186729
- }
186730
- _r = $clone(js.Global(), js.Value).Call("resizeTo", new sliceType([new $Int(outerWidth), new $Int(newOuterHeight)])); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }
186731
- _r;
186732
- $s = -1; return;
186733
- /* */ } return; } var $f = {$blk: SetWindowHeight, $c: true, $r, _r, innerHeight, newInnerHeight, newOuterHeight, outerHeight, outerWidth, screenHeight, $s};return $f;
186734
- };
186735
- $pkg.SetWindowHeight = SetWindowHeight;
186736
- GetOrientation = function() {
186737
- var {$24r, $24r$1, $24r$2, orientation, orientationType, $s, $deferred, $r, $c} = $restore(this, {});
186738
- /* */ $s = $s || 0; var $err = null; try { s: while (true) { switch ($s) { case 0: $deferred = []; $curGoroutine.deferStack.push($deferred);
186739
- orientation = [orientation];
186740
- orientation[0] = 0;
186741
- $deferred.push([(function(orientation) { return function() {
186742
- if (!($interfaceIsEqual($recover(), $ifaceNil))) {
186743
- orientation[0] = 0;
186744
- }
186745
- }; })(orientation), []]);
186746
- orientationType = $clone($clone($clone($clone(js.Global(), js.Value).Get("screen"), js.Value).Get("orientation"), js.Value).Get("type"), js.Value).String();
186747
- /* */ if (strings.HasPrefix(orientationType, "landscape")) { $s = 1; continue; }
186748
- /* */ $s = 2; continue;
186749
- /* if (strings.HasPrefix(orientationType, "landscape")) { */ case 1:
186750
- orientation[0] = 2;
186751
- $24r = orientation[0];
186752
- $s = 3; case 3: return $24r;
186753
- /* } */ case 2:
186754
- /* */ if (strings.HasPrefix(orientationType, "portrait")) { $s = 4; continue; }
186755
- /* */ $s = 5; continue;
186756
- /* if (strings.HasPrefix(orientationType, "portrait")) { */ case 4:
186757
- orientation[0] = 2;
186758
- $24r$1 = orientation[0];
186759
- $s = 6; case 6: return $24r$1;
186760
- /* } */ case 5:
186761
- orientation[0] = 0;
186762
- $24r$2 = orientation[0];
186763
- $s = 7; case 7: return $24r$2;
186764
- /* */ } return; } } catch(err) { $err = err; $s = -1; } finally { $callDeferred($deferred, $err); if (!$curGoroutine.asleep) { return orientation[0]; } if($curGoroutine.asleep) { var $f = {$blk: GetOrientation, $c: true, $r, $24r, $24r$1, $24r$2, orientation, orientationType, $s, $deferred};return $f; } }
186765
- };
186766
- $pkg.GetOrientation = GetOrientation;
186767
- NewDomEvents = function() {
186768
- return new DomEvents.ptr(new $Chan($emptyInterface, 0), $makeSlice(sliceType$1, 0));
186769
- };
186770
- $pkg.NewDomEvents = NewDomEvents;
186771
- DomEvents.ptr.prototype.GetEventChan = function() {
186772
- var d;
186773
- d = this;
186774
- return d.eventChan;
186775
- };
186776
- DomEvents.prototype.GetEventChan = function() { return this.$val.GetEventChan(); };
186777
- DomEvents.ptr.prototype.Release = function() {
186778
- var {_i, _ref, d, release, $s, $r, $c} = $restore(this, {});
186779
- /* */ $s = $s || 0; s: while (true) { switch ($s) { case 0:
186780
- d = this;
186781
- _ref = d.releases;
186782
- _i = 0;
186783
- /* while (true) { */ case 1:
186784
- /* if (!(_i < _ref.$length)) { break; } */ if(!(_i < _ref.$length)) { $s = 2; continue; }
186785
- release = ((_i < 0 || _i >= _ref.$length) ? ($throwRuntimeError("index out of range"), undefined) : _ref.$array[_ref.$offset + _i]);
186786
- $r = release(); /* */ $s = 3; case 3: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
186787
- _i++;
186788
- $s = 1; continue;
186789
- case 2:
186790
- $s = -1; return;
186791
- /* */ } return; } var $f = {$blk: DomEvents.ptr.prototype.Release, $c: true, $r, _i, _ref, d, release, $s};return $f;
186792
- };
186793
- DomEvents.prototype.Release = function() { return this.$val.Release(); };
186794
- DomEvents.ptr.prototype.BindEvents = function() {
186795
- var {d, $s, $r, $c} = $restore(this, {});
186796
- /* */ $s = $s || 0; s: while (true) { switch ($s) { case 0:
186797
- d = this;
186798
- $r = d.bindSizeEvents(); /* */ $s = 1; case 1: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
186799
- $go($methodVal(d, "emitSizeEvent"), []);
186800
- $r = d.bindMouseEvents(); /* */ $s = 2; case 2: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
186801
- $r = d.bindKeyEvents(); /* */ $s = 3; case 3: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
186802
- $r = d.bindFocusEvents(); /* */ $s = 4; case 4: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
186803
- $s = -1; return;
186804
- /* */ } return; } var $f = {$blk: DomEvents.ptr.prototype.BindEvents, $c: true, $r, d, $s};return $f;
186805
- };
186806
- DomEvents.prototype.BindEvents = function() { return this.$val.BindEvents(); };
186807
- DomEvents.ptr.prototype.bindSizeEvents = function() {
186808
- var {_r, d, onResize, $s, $r, $c} = $restore(this, {});
186809
- /* */ $s = $s || 0; s: while (true) { switch ($s) { case 0:
186810
- d = [d];
186811
- onResize = [onResize];
186812
- d[0] = this;
186813
- onResize[0] = $clone(js.FuncOf((function(d, onResize) { return function $b(this$1, args) {
186814
- var {args, this$1, $s, $r, $c} = $restore(this, {this$1, args});
186815
- /* */ $s = $s || 0; s: while (true) { switch ($s) { case 0:
186816
- $r = d[0].emitSizeEvent(); /* */ $s = 1; case 1: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
186817
- $s = -1; return $ifaceNil;
186818
- /* */ } return; } var $f = {$blk: $b, $c: true, $r, args, this$1, $s};return $f;
186819
- }; })(d, onResize)), js.Func);
186820
- _r = $clone(js.Global(), js.Value).Call("addEventListener", new sliceType([new $String("resize"), new onResize[0].constructor.elem(onResize[0])])); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }
186821
- _r;
186822
- d[0].releases = $append(d[0].releases, (function(d, onResize) { return function $b() {
186823
- var {_r$1, $s, $r, $c} = $restore(this, {});
186824
- /* */ $s = $s || 0; s: while (true) { switch ($s) { case 0:
186825
- _r$1 = $clone(js.Global(), js.Value).Call("removeEventListener", new sliceType([new $String("resize"), new onResize[0].constructor.elem(onResize[0])])); /* */ $s = 1; case 1: if($c) { $c = false; _r$1 = _r$1.$blk(); } if (_r$1 && _r$1.$blk !== undefined) { break s; }
186826
- _r$1;
186827
- $clone(onResize[0], js.Func).Release();
186828
- $s = -1; return;
186829
- /* */ } return; } var $f = {$blk: $b, $c: true, $r, _r$1, $s};return $f;
186830
- }; })(d, onResize));
186831
- $s = -1; return;
186832
- /* */ } return; } var $f = {$blk: DomEvents.ptr.prototype.bindSizeEvents, $c: true, $r, _r, d, onResize, $s};return $f;
186833
- };
186834
- DomEvents.prototype.bindSizeEvents = function() { return this.$val.bindSizeEvents(); };
186835
- DomEvents.ptr.prototype.emitSizeEvent = function() {
186836
- var {_q, _q$1, _r, d, height, orientation, pixelsPerPt, width, x, $s, $r, $c} = $restore(this, {});
186837
- /* */ $s = $s || 0; s: while (true) { switch ($s) { case 0:
186838
- d = this;
186839
- _r = GetOrientation(); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }
186840
- orientation = _r;
186841
- pixelsPerPt = 1;
186842
- width = GetDocWidth();
186843
- height = GetDocHeight();
186844
- $r = $send(d.eventChan, (x = new size.Event.ptr(width, height, ((_q = width / ((pixelsPerPt >> 0)), (_q === _q && _q !== 1/0 && _q !== -1/0) ? _q >> 0 : $throwRuntimeError("integer divide by zero"))), ((_q$1 = height / ((pixelsPerPt >> 0)), (_q$1 === _q$1 && _q$1 !== 1/0 && _q$1 !== -1/0) ? _q$1 >> 0 : $throwRuntimeError("integer divide by zero"))), pixelsPerPt, orientation), new x.constructor.elem(x))); /* */ $s = 2; case 2: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
186845
- $s = -1; return;
186846
- /* */ } return; } var $f = {$blk: DomEvents.ptr.prototype.emitSizeEvent, $c: true, $r, _q, _q$1, _r, d, height, orientation, pixelsPerPt, width, x, $s};return $f;
186847
- };
186848
- DomEvents.prototype.emitSizeEvent = function() { return this.$val.emitSizeEvent(); };
186849
- DomEvents.ptr.prototype.bindMouseEvents = function() {
186850
- var {_r, _r$1, _r$2, _r$3, d, onClick, onMove, onWheel, $s, $r, $c} = $restore(this, {});
186851
- /* */ $s = $s || 0; s: while (true) { switch ($s) { case 0:
186852
- d = [d];
186853
- onClick = [onClick];
186854
- onMove = [onMove];
186855
- onWheel = [onWheel];
186856
- d[0] = this;
186857
- onMove[0] = $clone(js.FuncOf((function(d, onClick, onMove, onWheel) { return function $b(this$1, args) {
186858
- var {_r, args, this$1, x, $s, $r, $c} = $restore(this, {this$1, args});
186859
- /* */ $s = $s || 0; s: while (true) { switch ($s) { case 0:
186860
- _r = $clone((0 >= args.$length ? ($throwRuntimeError("index out of range"), undefined) : args.$array[args.$offset + 0]), js.Value).Call("preventDefault", sliceType.nil); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }
186861
- _r;
186862
- $r = $send(d[0].eventChan, (x = new mouse.Event.ptr(($fround($clone($clone((0 >= args.$length ? ($throwRuntimeError("index out of range"), undefined) : args.$array[args.$offset + 0]), js.Value).Get("offsetX"), js.Value).Float())), ($fround($clone($clone((0 >= args.$length ? ($throwRuntimeError("index out of range"), undefined) : args.$array[args.$offset + 0]), js.Value).Get("offsetY"), js.Value).Float())), 0, getEventModifiers($clone((0 >= args.$length ? ($throwRuntimeError("index out of range"), undefined) : args.$array[args.$offset + 0]), js.Value)), 0), new x.constructor.elem(x))); /* */ $s = 2; case 2: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
186863
- $s = -1; return $ifaceNil;
186864
- /* */ } return; } var $f = {$blk: $b, $c: true, $r, _r, args, this$1, x, $s};return $f;
186865
- }; })(d, onClick, onMove, onWheel)), js.Func);
186866
- _r = $clone(js.Global(), js.Value).Call("addEventListener", new sliceType([new $String("mousemove"), new onMove[0].constructor.elem(onMove[0])])); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }
186867
- _r;
186868
- onClick[0] = $clone(js.FuncOf((function(d, onClick, onMove, onWheel) { return function $b(this$1, args) {
186869
- var {_r$1, args, this$1, x, $s, $r, $c} = $restore(this, {this$1, args});
186870
- /* */ $s = $s || 0; s: while (true) { switch ($s) { case 0:
186871
- _r$1 = $clone((0 >= args.$length ? ($throwRuntimeError("index out of range"), undefined) : args.$array[args.$offset + 0]), js.Value).Call("preventDefault", sliceType.nil); /* */ $s = 1; case 1: if($c) { $c = false; _r$1 = _r$1.$blk(); } if (_r$1 && _r$1.$blk !== undefined) { break s; }
186872
- _r$1;
186873
- $r = $send(d[0].eventChan, (x = new mouse.Event.ptr(($fround($clone($clone((0 >= args.$length ? ($throwRuntimeError("index out of range"), undefined) : args.$array[args.$offset + 0]), js.Value).Get("offsetX"), js.Value).Float())), ($fround($clone($clone((0 >= args.$length ? ($throwRuntimeError("index out of range"), undefined) : args.$array[args.$offset + 0]), js.Value).Get("offsetY"), js.Value).Float())), getMouseButton($clone((0 >= args.$length ? ($throwRuntimeError("index out of range"), undefined) : args.$array[args.$offset + 0]), js.Value)), getEventModifiers($clone((0 >= args.$length ? ($throwRuntimeError("index out of range"), undefined) : args.$array[args.$offset + 0]), js.Value)), getMouseDirection($clone((0 >= args.$length ? ($throwRuntimeError("index out of range"), undefined) : args.$array[args.$offset + 0]), js.Value))), new x.constructor.elem(x))); /* */ $s = 2; case 2: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
186874
- $s = -1; return $ifaceNil;
186875
- /* */ } return; } var $f = {$blk: $b, $c: true, $r, _r$1, args, this$1, x, $s};return $f;
186876
- }; })(d, onClick, onMove, onWheel)), js.Func);
186877
- _r$1 = $clone(js.Global(), js.Value).Call("addEventListener", new sliceType([new $String("mousedown"), new onClick[0].constructor.elem(onClick[0])])); /* */ $s = 2; case 2: if($c) { $c = false; _r$1 = _r$1.$blk(); } if (_r$1 && _r$1.$blk !== undefined) { break s; }
186878
- _r$1;
186879
- _r$2 = $clone(js.Global(), js.Value).Call("addEventListener", new sliceType([new $String("mouseup"), new onClick[0].constructor.elem(onClick[0])])); /* */ $s = 3; case 3: if($c) { $c = false; _r$2 = _r$2.$blk(); } if (_r$2 && _r$2.$blk !== undefined) { break s; }
186880
- _r$2;
186881
- onWheel[0] = $clone(js.FuncOf((function(d, onClick, onMove, onWheel) { return function $b(this$1, args) {
186882
- var {args, this$1, x, $s, $r, $c} = $restore(this, {this$1, args});
186883
- /* */ $s = $s || 0; s: while (true) { switch ($s) { case 0:
186884
- $r = $send(d[0].eventChan, (x = new mouse.Event.ptr(($fround($clone($clone((0 >= args.$length ? ($throwRuntimeError("index out of range"), undefined) : args.$array[args.$offset + 0]), js.Value).Get("offsetX"), js.Value).Float())), ($fround($clone($clone((0 >= args.$length ? ($throwRuntimeError("index out of range"), undefined) : args.$array[args.$offset + 0]), js.Value).Get("offsetY"), js.Value).Float())), getWheelButton($clone((0 >= args.$length ? ($throwRuntimeError("index out of range"), undefined) : args.$array[args.$offset + 0]), js.Value)), getEventModifiers($clone((0 >= args.$length ? ($throwRuntimeError("index out of range"), undefined) : args.$array[args.$offset + 0]), js.Value)), 3), new x.constructor.elem(x))); /* */ $s = 1; case 1: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
186885
- $s = -1; return $ifaceNil;
186886
- /* */ } return; } var $f = {$blk: $b, $c: true, $r, args, this$1, x, $s};return $f;
186887
- }; })(d, onClick, onMove, onWheel)), js.Func);
186888
- _r$3 = $clone(js.Global(), js.Value).Call("addEventListener", new sliceType([new $String("wheel"), new onWheel[0].constructor.elem(onWheel[0])])); /* */ $s = 4; case 4: if($c) { $c = false; _r$3 = _r$3.$blk(); } if (_r$3 && _r$3.$blk !== undefined) { break s; }
186889
- _r$3;
186890
- d[0].releases = $append(d[0].releases, (function(d, onClick, onMove, onWheel) { return function $b() {
186891
- var {_r$4, _r$5, _r$6, _r$7, $s, $r, $c} = $restore(this, {});
186892
- /* */ $s = $s || 0; s: while (true) { switch ($s) { case 0:
186893
- _r$4 = $clone(js.Global(), js.Value).Call("removeEventListener", new sliceType([new $String("mousemove"), new onMove[0].constructor.elem(onMove[0])])); /* */ $s = 1; case 1: if($c) { $c = false; _r$4 = _r$4.$blk(); } if (_r$4 && _r$4.$blk !== undefined) { break s; }
186894
- _r$4;
186895
- _r$5 = $clone(js.Global(), js.Value).Call("removeEventListener", new sliceType([new $String("mousedown"), new onClick[0].constructor.elem(onClick[0])])); /* */ $s = 2; case 2: if($c) { $c = false; _r$5 = _r$5.$blk(); } if (_r$5 && _r$5.$blk !== undefined) { break s; }
186896
- _r$5;
186897
- _r$6 = $clone(js.Global(), js.Value).Call("removeEventListener", new sliceType([new $String("mouseup"), new onClick[0].constructor.elem(onClick[0])])); /* */ $s = 3; case 3: if($c) { $c = false; _r$6 = _r$6.$blk(); } if (_r$6 && _r$6.$blk !== undefined) { break s; }
186898
- _r$6;
186899
- _r$7 = $clone(js.Global(), js.Value).Call("removeEventListener", new sliceType([new $String("wheel"), new onWheel[0].constructor.elem(onWheel[0])])); /* */ $s = 4; case 4: if($c) { $c = false; _r$7 = _r$7.$blk(); } if (_r$7 && _r$7.$blk !== undefined) { break s; }
186900
- _r$7;
186901
- $clone(onMove[0], js.Func).Release();
186902
- $clone(onClick[0], js.Func).Release();
186903
- $clone(onWheel[0], js.Func).Release();
186904
- $s = -1; return;
186905
- /* */ } return; } var $f = {$blk: $b, $c: true, $r, _r$4, _r$5, _r$6, _r$7, $s};return $f;
186906
- }; })(d, onClick, onMove, onWheel));
186907
- $s = -1; return;
186908
- /* */ } return; } var $f = {$blk: DomEvents.ptr.prototype.bindMouseEvents, $c: true, $r, _r, _r$1, _r$2, _r$3, d, onClick, onMove, onWheel, $s};return $f;
186909
- };
186910
- DomEvents.prototype.bindMouseEvents = function() { return this.$val.bindMouseEvents(); };
186911
- getMouseDirection = function(ev) {
186912
- var dir, ev;
186913
- dir = 0;
186914
- dir = 0;
186915
- if ($clone($clone(ev, js.Value).Get("type"), js.Value).String() === "mousedown") {
186916
- dir = 1;
186917
- }
186918
- if ($clone($clone(ev, js.Value).Get("type"), js.Value).String() === "mouseup") {
186919
- dir = 2;
186920
- }
186921
- return dir;
186922
- };
186923
- getWheelButton = function(ev) {
186924
- var deltaX, deltaY, ev;
186925
- deltaY = $clone($clone(ev, js.Value).Get("deltaY"), js.Value).Int();
186926
- deltaX = $clone($clone(ev, js.Value).Get("deltaX"), js.Value).Int();
186927
- if (deltaY > 0) {
186928
- return -2;
186929
- }
186930
- if (deltaY < 0) {
186931
- return -1;
186932
- }
186933
- if (deltaX > 0) {
186934
- return -4;
186935
- }
186936
- if (deltaX < 0) {
186937
- return -3;
186938
- }
186939
- return 0;
186940
- };
186941
- getMouseButton = function(ev) {
186942
- var _1, ev;
186943
- _1 = $clone($clone(ev, js.Value).Get("button"), js.Value).Int();
186944
- if (_1 === (0)) {
186945
- return 1;
186946
- } else if (_1 === (1)) {
186947
- return 2;
186948
- } else if (_1 === (2)) {
186949
- return 3;
186950
- } else if (_1 === (3)) {
186951
- return 8;
186952
- } else if (_1 === (4)) {
186953
- return 9;
186954
- } else {
186955
- return 0;
186956
- }
186957
- };
186958
- getEventModifiers = function(ev) {
186959
- var ev, mod;
186960
- mod = 0;
186961
- if ($clone($clone(ev, js.Value).Get("altKey"), js.Value).Bool()) {
186962
- mod = (mod | (4)) >>> 0;
186963
- }
186964
- if ($clone($clone(ev, js.Value).Get("ctrlKey"), js.Value).Bool()) {
186965
- mod = (mod | (2)) >>> 0;
186966
- }
186967
- if ($clone($clone(ev, js.Value).Get("shiftKey"), js.Value).Bool()) {
186968
- mod = (mod | (1)) >>> 0;
186969
- }
186970
- if ($clone($clone(ev, js.Value).Get("metaKey"), js.Value).Bool()) {
186971
- mod = (mod | (8)) >>> 0;
186972
- }
186973
- return mod;
186974
- };
186975
- DomEvents.ptr.prototype.bindFocusEvents = function() {
186976
- var {_r, _r$1, d, onFocus, $s, $r, $c} = $restore(this, {});
186977
- /* */ $s = $s || 0; s: while (true) { switch ($s) { case 0:
186978
- d = [d];
186979
- onFocus = [onFocus];
186980
- d[0] = this;
186981
- onFocus[0] = $clone(js.FuncOf((function(d, onFocus) { return function $b(this$1, args) {
186982
- var {args, this$1, x, $s, $r, $c} = $restore(this, {this$1, args});
186983
- /* */ $s = $s || 0; s: while (true) { switch ($s) { case 0:
186984
- $r = $send(d[0].eventChan, (x = new focus.Event.ptr(isFocusIn($clone((0 >= args.$length ? ($throwRuntimeError("index out of range"), undefined) : args.$array[args.$offset + 0]), js.Value))), new x.constructor.elem(x))); /* */ $s = 1; case 1: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
186985
- $s = -1; return $ifaceNil;
186986
- /* */ } return; } var $f = {$blk: $b, $c: true, $r, args, this$1, x, $s};return $f;
186987
- }; })(d, onFocus)), js.Func);
186988
- _r = $clone(js.Global(), js.Value).Call("addEventListener", new sliceType([new $String("focus"), new onFocus[0].constructor.elem(onFocus[0])])); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }
186989
- _r;
186990
- _r$1 = $clone(js.Global(), js.Value).Call("addEventListener", new sliceType([new $String("blur"), new onFocus[0].constructor.elem(onFocus[0])])); /* */ $s = 2; case 2: if($c) { $c = false; _r$1 = _r$1.$blk(); } if (_r$1 && _r$1.$blk !== undefined) { break s; }
186991
- _r$1;
186992
- d[0].releases = $append(d[0].releases, (function(d, onFocus) { return function $b() {
186993
- var {_r$2, _r$3, $s, $r, $c} = $restore(this, {});
186994
- /* */ $s = $s || 0; s: while (true) { switch ($s) { case 0:
186995
- _r$2 = $clone(js.Global(), js.Value).Call("removeEventListener", new sliceType([new $String("focus"), new onFocus[0].constructor.elem(onFocus[0])])); /* */ $s = 1; case 1: if($c) { $c = false; _r$2 = _r$2.$blk(); } if (_r$2 && _r$2.$blk !== undefined) { break s; }
186996
- _r$2;
186997
- _r$3 = $clone(js.Global(), js.Value).Call("removeEventListener", new sliceType([new $String("blur"), new onFocus[0].constructor.elem(onFocus[0])])); /* */ $s = 2; case 2: if($c) { $c = false; _r$3 = _r$3.$blk(); } if (_r$3 && _r$3.$blk !== undefined) { break s; }
186998
- _r$3;
186999
- $clone(onFocus[0], js.Func).Release();
187000
- $s = -1; return;
187001
- /* */ } return; } var $f = {$blk: $b, $c: true, $r, _r$2, _r$3, $s};return $f;
187002
- }; })(d, onFocus));
187003
- $s = -1; return;
187004
- /* */ } return; } var $f = {$blk: DomEvents.ptr.prototype.bindFocusEvents, $c: true, $r, _r, _r$1, d, onFocus, $s};return $f;
187005
- };
187006
- DomEvents.prototype.bindFocusEvents = function() { return this.$val.bindFocusEvents(); };
187007
- isFocusIn = function(ev) {
187008
- var ev;
187009
- if ($clone($clone(ev, js.Value).Get("type"), js.Value).String() === "focus") {
187010
- return true;
187011
- }
187012
- return false;
187013
- };
187014
- DomEvents.ptr.prototype.bindKeyEvents = function() {
187015
- var {_r, _r$1, d, onKey, $s, $r, $c} = $restore(this, {});
187016
- /* */ $s = $s || 0; s: while (true) { switch ($s) { case 0:
187017
- d = [d];
187018
- onKey = [onKey];
187019
- d[0] = this;
187020
- onKey[0] = $clone(js.FuncOf((function(d, onKey) { return function $b(this$1, args) {
187021
- var {_r, args, this$1, x, $s, $r, $c} = $restore(this, {this$1, args});
187022
- /* */ $s = $s || 0; s: while (true) { switch ($s) { case 0:
187023
- _r = $clone((0 >= args.$length ? ($throwRuntimeError("index out of range"), undefined) : args.$array[args.$offset + 0]), js.Value).Call("preventDefault", sliceType.nil); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }
187024
- _r;
187025
- $r = $send(d[0].eventChan, (x = new key.Event.ptr(getKeyRune($clone((0 >= args.$length ? ($throwRuntimeError("index out of range"), undefined) : args.$array[args.$offset + 0]), js.Value)), getKeyCode($clone((0 >= args.$length ? ($throwRuntimeError("index out of range"), undefined) : args.$array[args.$offset + 0]), js.Value)), getEventModifiers($clone((0 >= args.$length ? ($throwRuntimeError("index out of range"), undefined) : args.$array[args.$offset + 0]), js.Value)), getKeyDirection($clone((0 >= args.$length ? ($throwRuntimeError("index out of range"), undefined) : args.$array[args.$offset + 0]), js.Value))), new x.constructor.elem(x))); /* */ $s = 2; case 2: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
187026
- $s = -1; return $ifaceNil;
187027
- /* */ } return; } var $f = {$blk: $b, $c: true, $r, _r, args, this$1, x, $s};return $f;
187028
- }; })(d, onKey)), js.Func);
187029
- _r = $clone(js.Global(), js.Value).Call("addEventListener", new sliceType([new $String("keydown"), new onKey[0].constructor.elem(onKey[0])])); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }
187030
- _r;
187031
- _r$1 = $clone(js.Global(), js.Value).Call("addEventListener", new sliceType([new $String("keyup"), new onKey[0].constructor.elem(onKey[0])])); /* */ $s = 2; case 2: if($c) { $c = false; _r$1 = _r$1.$blk(); } if (_r$1 && _r$1.$blk !== undefined) { break s; }
187032
- _r$1;
187033
- d[0].releases = $append(d[0].releases, (function(d, onKey) { return function $b() {
187034
- var {_r$2, _r$3, $s, $r, $c} = $restore(this, {});
187035
- /* */ $s = $s || 0; s: while (true) { switch ($s) { case 0:
187036
- _r$2 = $clone(js.Global(), js.Value).Call("removeEventListener", new sliceType([new $String("keydown"), new onKey[0].constructor.elem(onKey[0])])); /* */ $s = 1; case 1: if($c) { $c = false; _r$2 = _r$2.$blk(); } if (_r$2 && _r$2.$blk !== undefined) { break s; }
187037
- _r$2;
187038
- _r$3 = $clone(js.Global(), js.Value).Call("removeEventListener", new sliceType([new $String("keyup"), new onKey[0].constructor.elem(onKey[0])])); /* */ $s = 2; case 2: if($c) { $c = false; _r$3 = _r$3.$blk(); } if (_r$3 && _r$3.$blk !== undefined) { break s; }
187039
- _r$3;
187040
- $clone(onKey[0], js.Func).Release();
187041
- $s = -1; return;
187042
- /* */ } return; } var $f = {$blk: $b, $c: true, $r, _r$2, _r$3, $s};return $f;
187043
- }; })(d, onKey));
187044
- $s = -1; return;
187045
- /* */ } return; } var $f = {$blk: DomEvents.ptr.prototype.bindKeyEvents, $c: true, $r, _r, _r$1, d, onKey, $s};return $f;
187046
- };
187047
- DomEvents.prototype.bindKeyEvents = function() { return this.$val.bindKeyEvents(); };
187048
- getKeyRune = function(ev) {
187049
- var ev, key$1;
187050
- key$1 = (new sliceType$2($stringToRunes($clone($clone(ev, js.Value).Get("key"), js.Value).String())));
187051
- if (key$1.$length === 1) {
187052
- return (0 >= key$1.$length ? ($throwRuntimeError("index out of range"), undefined) : key$1.$array[key$1.$offset + 0]);
187053
- }
187054
- return -1;
187055
- };
187056
- getKeyDirection = function(ev) {
187057
- var dir, ev;
187058
- dir = 0;
187059
- dir = 0;
187060
- if ($clone($clone(ev, js.Value).Get("type"), js.Value).String() === "keydown") {
187061
- dir = 1;
187062
- }
187063
- if ($clone($clone(ev, js.Value).Get("type"), js.Value).String() === "keyup") {
187064
- dir = 2;
187065
- }
187066
- return dir;
187067
- };
187068
- getKeyCode = function(ev) {
187069
- var _entry, _entry$1, _tuple, _tuple$1, code, code$1, domCode, domKey, ev, exists, exists$1;
187070
- domCode = $clone($clone(ev, js.Value).Get("code"), js.Value).String();
187071
- _tuple = (_entry = $mapIndex(keyCodesMap,$String.keyFor(domCode)), _entry !== undefined ? [_entry.v, true] : [0, false]);
187072
- code = _tuple[0];
187073
- exists = _tuple[1];
187074
- if (exists) {
187075
- return code;
187076
- }
187077
- domKey = $clone($clone(ev, js.Value).Get("key"), js.Value).String();
187078
- _tuple$1 = (_entry$1 = $mapIndex(keyCodesByKeyMap,$String.keyFor(domKey)), _entry$1 !== undefined ? [_entry$1.v, true] : [0, false]);
187079
- code$1 = _tuple$1[0];
187080
- exists$1 = _tuple$1[1];
187081
- if (exists$1) {
187082
- return code$1;
187083
- }
187084
- return 0;
187085
- };
187086
- ptrType.methods = [{prop: "GetEventChan", name: "GetEventChan", pkg: "", typ: $funcType([], [chanType], false)}, {prop: "Release", name: "Release", pkg: "", typ: $funcType([], [], false)}, {prop: "BindEvents", name: "BindEvents", pkg: "", typ: $funcType([], [], false)}, {prop: "bindSizeEvents", name: "bindSizeEvents", pkg: "golang.org/x/exp/shiny/driver/internal/dom", typ: $funcType([], [], false)}, {prop: "emitSizeEvent", name: "emitSizeEvent", pkg: "golang.org/x/exp/shiny/driver/internal/dom", typ: $funcType([], [], false)}, {prop: "bindMouseEvents", name: "bindMouseEvents", pkg: "golang.org/x/exp/shiny/driver/internal/dom", typ: $funcType([], [], false)}, {prop: "bindFocusEvents", name: "bindFocusEvents", pkg: "golang.org/x/exp/shiny/driver/internal/dom", typ: $funcType([], [], false)}, {prop: "bindKeyEvents", name: "bindKeyEvents", pkg: "golang.org/x/exp/shiny/driver/internal/dom", typ: $funcType([], [], false)}];
187087
- DomEvents.init("golang.org/x/exp/shiny/driver/internal/dom", [{prop: "eventChan", name: "eventChan", embedded: false, exported: false, typ: chanType, tag: ""}, {prop: "releases", name: "releases", embedded: false, exported: false, typ: sliceType$1, tag: ""}]);
187088
- $init = function() {
187089
- $pkg.$init = function() {};
187090
- /* */ var $f, $c = false, $s = 0, $r; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:
187091
- $r = focus.$init(); /* */ $s = 1; case 1: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
187092
- $r = key.$init(); /* */ $s = 2; case 2: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
187093
- $r = mouse.$init(); /* */ $s = 3; case 3: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
187094
- $r = size.$init(); /* */ $s = 4; case 4: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
187095
- $r = geom.$init(); /* */ $s = 5; case 5: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
187096
- $r = math.$init(); /* */ $s = 6; case 6: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
187097
- $r = strings.$init(); /* */ $s = 7; case 7: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
187098
- $r = js.$init(); /* */ $s = 8; case 8: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
187099
- keyCodesMap = $makeMap($String.keyFor, [{ k: "KeyA", v: 4 }, { k: "KeyB", v: 5 }, { k: "KeyC", v: 6 }, { k: "KeyD", v: 7 }, { k: "KeyE", v: 8 }, { k: "KeyF", v: 9 }, { k: "KeyG", v: 10 }, { k: "KeyH", v: 11 }, { k: "KeyI", v: 12 }, { k: "KeyJ", v: 13 }, { k: "KeyK", v: 14 }, { k: "KeyL", v: 15 }, { k: "KeyM", v: 16 }, { k: "KeyN", v: 17 }, { k: "KeyO", v: 18 }, { k: "KeyP", v: 19 }, { k: "KeyQ", v: 20 }, { k: "KeyR", v: 21 }, { k: "KeyS", v: 22 }, { k: "KeyT", v: 23 }, { k: "KeyU", v: 24 }, { k: "KeyV", v: 25 }, { k: "KeyW", v: 26 }, { k: "KeyX", v: 27 }, { k: "KeyY", v: 28 }, { k: "KeyZ", v: 29 }, { k: "Digit1", v: 30 }, { k: "Digit2", v: 31 }, { k: "Digit3", v: 32 }, { k: "Digit4", v: 33 }, { k: "Digit5", v: 34 }, { k: "Digit6", v: 35 }, { k: "Digit7", v: 36 }, { k: "Digit8", v: 37 }, { k: "Digit9", v: 38 }, { k: "Digit0", v: 39 }, { k: "Enter", v: 40 }, { k: "Escape", v: 41 }, { k: "Backspace", v: 42 }, { k: "Tab", v: 43 }, { k: "Space", v: 44 }, { k: "Minus", v: 45 }, { k: "Equal", v: 46 }, { k: "BracketLeft", v: 47 }, { k: "BracketRight", v: 48 }, { k: "Backslash", v: 49 }, { k: "Semicolon", v: 51 }, { k: "Quote", v: 52 }, { k: "Backquote", v: 53 }, { k: "Comma", v: 54 }, { k: "Period", v: 55 }, { k: "Slash", v: 56 }, { k: "CapsLock", v: 57 }, { k: "F1", v: 58 }, { k: "F2", v: 59 }, { k: "F3", v: 60 }, { k: "F4", v: 61 }, { k: "F5", v: 62 }, { k: "F6", v: 63 }, { k: "F7", v: 64 }, { k: "F8", v: 65 }, { k: "F9", v: 66 }, { k: "F10", v: 67 }, { k: "F11", v: 68 }, { k: "F12", v: 69 }, { k: "Pause", v: 72 }, { k: "Insert", v: 73 }, { k: "Home", v: 74 }, { k: "PageUp", v: 75 }, { k: "Delete", v: 76 }, { k: "End", v: 77 }, { k: "PageDown", v: 78 }, { k: "ArrowRight", v: 79 }, { k: "ArrowLeft", v: 80 }, { k: "ArrowDown", v: 81 }, { k: "ArrowUp", v: 82 }, { k: "NumLock", v: 83 }, { k: "NumpadDivide", v: 84 }, { k: "NumpadMultiply", v: 85 }, { k: "NumpadSubtract", v: 86 }, { k: "NumpadAdd", v: 87 }, { k: "NumpadEnter", v: 88 }, { k: "Numpad1", v: 89 }, { k: "Numpad2", v: 90 }, { k: "Numpad3", v: 91 }, { k: "Numpad4", v: 92 }, { k: "Numpad5", v: 93 }, { k: "Numpad6", v: 94 }, { k: "Numpad7", v: 95 }, { k: "Numpad8", v: 96 }, { k: "Numpad9", v: 97 }, { k: "Numpad0", v: 98 }, { k: "NumpadDecimal", v: 99 }, { k: "NumpadEqual", v: 103 }, { k: "F13", v: 104 }, { k: "F14", v: 105 }, { k: "F15", v: 106 }, { k: "F16", v: 107 }, { k: "F17", v: 108 }, { k: "F18", v: 109 }, { k: "F19", v: 110 }, { k: "F20", v: 111 }, { k: "F21", v: 112 }, { k: "F22", v: 113 }, { k: "F23", v: 114 }, { k: "F24", v: 115 }, { k: "Help", v: 117 }, { k: "ContextMenu", v: 118 }, { k: "VolumeMute", v: 127 }, { k: "VolumeUp", v: 128 }, { k: "VolumeDown", v: 129 }, { k: "ControlLeft", v: 224 }, { k: "ShiftLeft", v: 225 }, { k: "AltLeft", v: 226 }, { k: "MetaLeft", v: 227 }, { k: "ControlRight", v: 228 }, { k: "ShiftRight", v: 229 }, { k: "AltRight", v: 230 }, { k: "MetaRight", v: 231 }, { k: "PrintScreen", v: 0 }]);
187100
- keyCodesByKeyMap = $makeMap($String.keyFor, [{ k: "AudioVolumeMute", v: 127 }, { k: "AudioVolumeUp", v: 128 }, { k: "AudioVolumeDown", v: 129 }]);
187101
- /* */ } return; } if ($f === undefined) { $f = { $blk: $init }; } $f.$s = $s; $f.$r = $r; return $f;
187102
- };
187103
- $pkg.$init = $init;
187104
- return $pkg;
187105
- })();
187106
186730
  $packages["golang.org/x/image/math/f64"] = (function() {
187107
186731
  var $pkg = {}, $init, Aff3;
187108
186732
  Aff3 = $pkg.Aff3 = $newType(48, $kindArray, "f64.Aff3", true, "golang.org/x/image/math/f64", true, null);
@@ -189184,6 +188808,466 @@ $packages["golang.org/x/exp/shiny/driver/internal/errscreen"] = (function() {
189184
188808
  $pkg.$init = $init;
189185
188809
  return $pkg;
189186
188810
  })();
188811
+ $packages["golang.org/x/exp/shiny/driver/util/dom"] = (function() {
188812
+ var $pkg = {}, $init, focus, key, mouse, size, geom, math, strings, js, DomEvents, sliceType, funcType, sliceType$1, sliceType$2, chanType, ptrType, keyCodesMap, keyCodesByKeyMap, GetDocWidth, GetDocHeight, GetScreenWidth, GetScreenHeight, GetBrowserZoomRatio, SetWindowWidth, SetWindowHeight, GetOrientation, NewDomEvents, getMouseDirection, getWheelButton, getMouseButton, getEventModifiers, isFocusIn, getKeyRune, getKeyDirection, getKeyCode;
188813
+ focus = $packages["golang.org/x/mobile/event/focus"];
188814
+ key = $packages["golang.org/x/mobile/event/key"];
188815
+ mouse = $packages["golang.org/x/mobile/event/mouse"];
188816
+ size = $packages["golang.org/x/mobile/event/size"];
188817
+ geom = $packages["golang.org/x/mobile/geom"];
188818
+ math = $packages["math"];
188819
+ strings = $packages["strings"];
188820
+ js = $packages["syscall/js"];
188821
+ DomEvents = $pkg.DomEvents = $newType(0, $kindStruct, "dom.DomEvents", true, "golang.org/x/exp/shiny/driver/util/dom", true, function(eventChan_, releases_) {
188822
+ this.$val = this;
188823
+ if (arguments.length === 0) {
188824
+ this.eventChan = $chanNil;
188825
+ this.releases = sliceType$1.nil;
188826
+ return;
188827
+ }
188828
+ this.eventChan = eventChan_;
188829
+ this.releases = releases_;
188830
+ });
188831
+ sliceType = $sliceType($emptyInterface);
188832
+ funcType = $funcType([], [], false);
188833
+ sliceType$1 = $sliceType(funcType);
188834
+ sliceType$2 = $sliceType($Int32);
188835
+ chanType = $chanType($emptyInterface, false, false);
188836
+ ptrType = $ptrType(DomEvents);
188837
+ GetDocWidth = function() {
188838
+ return $clone($clone(js.Global(), js.Value).Get("innerWidth"), js.Value).Int();
188839
+ };
188840
+ $pkg.GetDocWidth = GetDocWidth;
188841
+ GetDocHeight = function() {
188842
+ return $clone($clone(js.Global(), js.Value).Get("innerHeight"), js.Value).Int();
188843
+ };
188844
+ $pkg.GetDocHeight = GetDocHeight;
188845
+ GetScreenWidth = function() {
188846
+ return $clone($clone($clone(js.Global(), js.Value).Get("screen"), js.Value).Get("width"), js.Value).Int();
188847
+ };
188848
+ $pkg.GetScreenWidth = GetScreenWidth;
188849
+ GetScreenHeight = function() {
188850
+ return $clone($clone($clone(js.Global(), js.Value).Get("screen"), js.Value).Get("height"), js.Value).Int();
188851
+ };
188852
+ $pkg.GetScreenHeight = GetScreenHeight;
188853
+ GetBrowserZoomRatio = function() {
188854
+ var chromeZoom1, chromeZoom2, chromeZoom3, docElClientWidth, scrollerWidthInNoZoom, scrollerWidthInZoom1, scrollerWidthInZoom2, windowInnerWidth, windowOuterWidth;
188855
+ windowInnerWidth = $clone($clone(js.Global(), js.Value).Get("innerWidth"), js.Value).Float();
188856
+ windowOuterWidth = $clone($clone(js.Global(), js.Value).Get("outerWidth"), js.Value).Float();
188857
+ docElClientWidth = $clone($clone($clone($clone(js.Global(), js.Value).Get("document"), js.Value).Get("documentElement"), js.Value).Get("clientWidth"), js.Value).Float();
188858
+ scrollerWidthInNoZoom = windowInnerWidth - docElClientWidth;
188859
+ chromeZoom1 = (windowOuterWidth - scrollerWidthInNoZoom) / windowInnerWidth;
188860
+ scrollerWidthInZoom1 = math.Round(scrollerWidthInNoZoom * chromeZoom1);
188861
+ chromeZoom2 = (windowOuterWidth - scrollerWidthInZoom1) / windowInnerWidth;
188862
+ scrollerWidthInZoom2 = math.Round(scrollerWidthInNoZoom * chromeZoom2);
188863
+ chromeZoom3 = (windowOuterWidth - scrollerWidthInZoom2) / windowInnerWidth;
188864
+ return chromeZoom3;
188865
+ };
188866
+ $pkg.GetBrowserZoomRatio = GetBrowserZoomRatio;
188867
+ SetWindowWidth = function(newInnerWidth) {
188868
+ var {_r, innerWidth, newInnerWidth, newOuterWidth, outerHeight, outerWidth, screenWidth, $s, $r, $c} = $restore(this, {newInnerWidth});
188869
+ /* */ $s = $s || 0; s: while (true) { switch ($s) { case 0:
188870
+ innerWidth = $clone($clone(js.Global(), js.Value).Get("innerWidth"), js.Value).Int();
188871
+ outerWidth = $clone($clone(js.Global(), js.Value).Get("outerWidth"), js.Value).Int();
188872
+ outerHeight = $clone($clone(js.Global(), js.Value).Get("outerHeight"), js.Value).Int();
188873
+ newOuterWidth = newInnerWidth + ((outerWidth - innerWidth >> 0)) >> 0;
188874
+ screenWidth = GetScreenWidth();
188875
+ if (newOuterWidth > screenWidth) {
188876
+ newOuterWidth = screenWidth;
188877
+ }
188878
+ _r = $clone(js.Global(), js.Value).Call("resizeTo", new sliceType([new $Int(newOuterWidth), new $Int(outerHeight)])); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }
188879
+ _r;
188880
+ $s = -1; return;
188881
+ /* */ } return; } var $f = {$blk: SetWindowWidth, $c: true, $r, _r, innerWidth, newInnerWidth, newOuterWidth, outerHeight, outerWidth, screenWidth, $s};return $f;
188882
+ };
188883
+ $pkg.SetWindowWidth = SetWindowWidth;
188884
+ SetWindowHeight = function(newInnerHeight) {
188885
+ var {_r, innerHeight, newInnerHeight, newOuterHeight, outerHeight, outerWidth, screenHeight, $s, $r, $c} = $restore(this, {newInnerHeight});
188886
+ /* */ $s = $s || 0; s: while (true) { switch ($s) { case 0:
188887
+ innerHeight = $clone($clone(js.Global(), js.Value).Get("innerHeight"), js.Value).Int();
188888
+ outerHeight = $clone($clone(js.Global(), js.Value).Get("outerHeight"), js.Value).Int();
188889
+ outerWidth = $clone($clone(js.Global(), js.Value).Get("outerWidth"), js.Value).Int();
188890
+ newOuterHeight = newInnerHeight + ((outerHeight - innerHeight >> 0)) >> 0;
188891
+ screenHeight = GetScreenHeight();
188892
+ if (newOuterHeight > screenHeight) {
188893
+ newOuterHeight = screenHeight;
188894
+ }
188895
+ _r = $clone(js.Global(), js.Value).Call("resizeTo", new sliceType([new $Int(outerWidth), new $Int(newOuterHeight)])); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }
188896
+ _r;
188897
+ $s = -1; return;
188898
+ /* */ } return; } var $f = {$blk: SetWindowHeight, $c: true, $r, _r, innerHeight, newInnerHeight, newOuterHeight, outerHeight, outerWidth, screenHeight, $s};return $f;
188899
+ };
188900
+ $pkg.SetWindowHeight = SetWindowHeight;
188901
+ GetOrientation = function() {
188902
+ var {$24r, $24r$1, $24r$2, orientation, orientationType, $s, $deferred, $r, $c} = $restore(this, {});
188903
+ /* */ $s = $s || 0; var $err = null; try { s: while (true) { switch ($s) { case 0: $deferred = []; $curGoroutine.deferStack.push($deferred);
188904
+ orientation = [orientation];
188905
+ orientation[0] = 0;
188906
+ $deferred.push([(function(orientation) { return function() {
188907
+ if (!($interfaceIsEqual($recover(), $ifaceNil))) {
188908
+ orientation[0] = 0;
188909
+ }
188910
+ }; })(orientation), []]);
188911
+ orientationType = $clone($clone($clone($clone(js.Global(), js.Value).Get("screen"), js.Value).Get("orientation"), js.Value).Get("type"), js.Value).String();
188912
+ /* */ if (strings.HasPrefix(orientationType, "landscape")) { $s = 1; continue; }
188913
+ /* */ $s = 2; continue;
188914
+ /* if (strings.HasPrefix(orientationType, "landscape")) { */ case 1:
188915
+ orientation[0] = 2;
188916
+ $24r = orientation[0];
188917
+ $s = 3; case 3: return $24r;
188918
+ /* } */ case 2:
188919
+ /* */ if (strings.HasPrefix(orientationType, "portrait")) { $s = 4; continue; }
188920
+ /* */ $s = 5; continue;
188921
+ /* if (strings.HasPrefix(orientationType, "portrait")) { */ case 4:
188922
+ orientation[0] = 2;
188923
+ $24r$1 = orientation[0];
188924
+ $s = 6; case 6: return $24r$1;
188925
+ /* } */ case 5:
188926
+ orientation[0] = 0;
188927
+ $24r$2 = orientation[0];
188928
+ $s = 7; case 7: return $24r$2;
188929
+ /* */ } return; } } catch(err) { $err = err; $s = -1; } finally { $callDeferred($deferred, $err); if (!$curGoroutine.asleep) { return orientation[0]; } if($curGoroutine.asleep) { var $f = {$blk: GetOrientation, $c: true, $r, $24r, $24r$1, $24r$2, orientation, orientationType, $s, $deferred};return $f; } }
188930
+ };
188931
+ $pkg.GetOrientation = GetOrientation;
188932
+ NewDomEvents = function() {
188933
+ return new DomEvents.ptr(new $Chan($emptyInterface, 0), $makeSlice(sliceType$1, 0));
188934
+ };
188935
+ $pkg.NewDomEvents = NewDomEvents;
188936
+ DomEvents.ptr.prototype.GetEventChan = function() {
188937
+ var d;
188938
+ d = this;
188939
+ return d.eventChan;
188940
+ };
188941
+ DomEvents.prototype.GetEventChan = function() { return this.$val.GetEventChan(); };
188942
+ DomEvents.ptr.prototype.Release = function() {
188943
+ var {_i, _ref, d, release, $s, $r, $c} = $restore(this, {});
188944
+ /* */ $s = $s || 0; s: while (true) { switch ($s) { case 0:
188945
+ d = this;
188946
+ _ref = d.releases;
188947
+ _i = 0;
188948
+ /* while (true) { */ case 1:
188949
+ /* if (!(_i < _ref.$length)) { break; } */ if(!(_i < _ref.$length)) { $s = 2; continue; }
188950
+ release = ((_i < 0 || _i >= _ref.$length) ? ($throwRuntimeError("index out of range"), undefined) : _ref.$array[_ref.$offset + _i]);
188951
+ $r = release(); /* */ $s = 3; case 3: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
188952
+ _i++;
188953
+ $s = 1; continue;
188954
+ case 2:
188955
+ $s = -1; return;
188956
+ /* */ } return; } var $f = {$blk: DomEvents.ptr.prototype.Release, $c: true, $r, _i, _ref, d, release, $s};return $f;
188957
+ };
188958
+ DomEvents.prototype.Release = function() { return this.$val.Release(); };
188959
+ DomEvents.ptr.prototype.BindEvents = function() {
188960
+ var {d, $s, $r, $c} = $restore(this, {});
188961
+ /* */ $s = $s || 0; s: while (true) { switch ($s) { case 0:
188962
+ d = this;
188963
+ $r = d.bindSizeEvents(); /* */ $s = 1; case 1: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
188964
+ $go($methodVal(d, "emitSizeEvent"), []);
188965
+ $r = d.bindMouseEvents(); /* */ $s = 2; case 2: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
188966
+ $r = d.bindKeyEvents(); /* */ $s = 3; case 3: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
188967
+ $r = d.bindFocusEvents(); /* */ $s = 4; case 4: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
188968
+ $s = -1; return;
188969
+ /* */ } return; } var $f = {$blk: DomEvents.ptr.prototype.BindEvents, $c: true, $r, d, $s};return $f;
188970
+ };
188971
+ DomEvents.prototype.BindEvents = function() { return this.$val.BindEvents(); };
188972
+ DomEvents.ptr.prototype.bindSizeEvents = function() {
188973
+ var {_r, d, onResize, $s, $r, $c} = $restore(this, {});
188974
+ /* */ $s = $s || 0; s: while (true) { switch ($s) { case 0:
188975
+ d = [d];
188976
+ onResize = [onResize];
188977
+ d[0] = this;
188978
+ onResize[0] = $clone(js.FuncOf((function(d, onResize) { return function $b(this$1, args) {
188979
+ var {args, this$1, $s, $r, $c} = $restore(this, {this$1, args});
188980
+ /* */ $s = $s || 0; s: while (true) { switch ($s) { case 0:
188981
+ $r = d[0].emitSizeEvent(); /* */ $s = 1; case 1: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
188982
+ $s = -1; return $ifaceNil;
188983
+ /* */ } return; } var $f = {$blk: $b, $c: true, $r, args, this$1, $s};return $f;
188984
+ }; })(d, onResize)), js.Func);
188985
+ _r = $clone(js.Global(), js.Value).Call("addEventListener", new sliceType([new $String("resize"), new onResize[0].constructor.elem(onResize[0])])); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }
188986
+ _r;
188987
+ d[0].releases = $append(d[0].releases, (function(d, onResize) { return function $b() {
188988
+ var {_r$1, $s, $r, $c} = $restore(this, {});
188989
+ /* */ $s = $s || 0; s: while (true) { switch ($s) { case 0:
188990
+ _r$1 = $clone(js.Global(), js.Value).Call("removeEventListener", new sliceType([new $String("resize"), new onResize[0].constructor.elem(onResize[0])])); /* */ $s = 1; case 1: if($c) { $c = false; _r$1 = _r$1.$blk(); } if (_r$1 && _r$1.$blk !== undefined) { break s; }
188991
+ _r$1;
188992
+ $clone(onResize[0], js.Func).Release();
188993
+ $s = -1; return;
188994
+ /* */ } return; } var $f = {$blk: $b, $c: true, $r, _r$1, $s};return $f;
188995
+ }; })(d, onResize));
188996
+ $s = -1; return;
188997
+ /* */ } return; } var $f = {$blk: DomEvents.ptr.prototype.bindSizeEvents, $c: true, $r, _r, d, onResize, $s};return $f;
188998
+ };
188999
+ DomEvents.prototype.bindSizeEvents = function() { return this.$val.bindSizeEvents(); };
189000
+ DomEvents.ptr.prototype.emitSizeEvent = function() {
189001
+ var {_q, _q$1, _r, d, height, orientation, pixelsPerPt, width, x, $s, $r, $c} = $restore(this, {});
189002
+ /* */ $s = $s || 0; s: while (true) { switch ($s) { case 0:
189003
+ d = this;
189004
+ _r = GetOrientation(); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }
189005
+ orientation = _r;
189006
+ pixelsPerPt = 1;
189007
+ width = GetDocWidth();
189008
+ height = GetDocHeight();
189009
+ $r = $send(d.eventChan, (x = new size.Event.ptr(width, height, ((_q = width / ((pixelsPerPt >> 0)), (_q === _q && _q !== 1/0 && _q !== -1/0) ? _q >> 0 : $throwRuntimeError("integer divide by zero"))), ((_q$1 = height / ((pixelsPerPt >> 0)), (_q$1 === _q$1 && _q$1 !== 1/0 && _q$1 !== -1/0) ? _q$1 >> 0 : $throwRuntimeError("integer divide by zero"))), pixelsPerPt, orientation), new x.constructor.elem(x))); /* */ $s = 2; case 2: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
189010
+ $s = -1; return;
189011
+ /* */ } return; } var $f = {$blk: DomEvents.ptr.prototype.emitSizeEvent, $c: true, $r, _q, _q$1, _r, d, height, orientation, pixelsPerPt, width, x, $s};return $f;
189012
+ };
189013
+ DomEvents.prototype.emitSizeEvent = function() { return this.$val.emitSizeEvent(); };
189014
+ DomEvents.ptr.prototype.bindMouseEvents = function() {
189015
+ var {_r, _r$1, _r$2, _r$3, d, onClick, onMove, onWheel, $s, $r, $c} = $restore(this, {});
189016
+ /* */ $s = $s || 0; s: while (true) { switch ($s) { case 0:
189017
+ d = [d];
189018
+ onClick = [onClick];
189019
+ onMove = [onMove];
189020
+ onWheel = [onWheel];
189021
+ d[0] = this;
189022
+ onMove[0] = $clone(js.FuncOf((function(d, onClick, onMove, onWheel) { return function $b(this$1, args) {
189023
+ var {_r, args, this$1, x, $s, $r, $c} = $restore(this, {this$1, args});
189024
+ /* */ $s = $s || 0; s: while (true) { switch ($s) { case 0:
189025
+ _r = $clone((0 >= args.$length ? ($throwRuntimeError("index out of range"), undefined) : args.$array[args.$offset + 0]), js.Value).Call("preventDefault", sliceType.nil); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }
189026
+ _r;
189027
+ $r = $send(d[0].eventChan, (x = new mouse.Event.ptr(($fround($clone($clone((0 >= args.$length ? ($throwRuntimeError("index out of range"), undefined) : args.$array[args.$offset + 0]), js.Value).Get("offsetX"), js.Value).Float())), ($fround($clone($clone((0 >= args.$length ? ($throwRuntimeError("index out of range"), undefined) : args.$array[args.$offset + 0]), js.Value).Get("offsetY"), js.Value).Float())), 0, getEventModifiers($clone((0 >= args.$length ? ($throwRuntimeError("index out of range"), undefined) : args.$array[args.$offset + 0]), js.Value)), 0), new x.constructor.elem(x))); /* */ $s = 2; case 2: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
189028
+ $s = -1; return $ifaceNil;
189029
+ /* */ } return; } var $f = {$blk: $b, $c: true, $r, _r, args, this$1, x, $s};return $f;
189030
+ }; })(d, onClick, onMove, onWheel)), js.Func);
189031
+ _r = $clone(js.Global(), js.Value).Call("addEventListener", new sliceType([new $String("mousemove"), new onMove[0].constructor.elem(onMove[0])])); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }
189032
+ _r;
189033
+ onClick[0] = $clone(js.FuncOf((function(d, onClick, onMove, onWheel) { return function $b(this$1, args) {
189034
+ var {_r$1, args, this$1, x, $s, $r, $c} = $restore(this, {this$1, args});
189035
+ /* */ $s = $s || 0; s: while (true) { switch ($s) { case 0:
189036
+ _r$1 = $clone((0 >= args.$length ? ($throwRuntimeError("index out of range"), undefined) : args.$array[args.$offset + 0]), js.Value).Call("preventDefault", sliceType.nil); /* */ $s = 1; case 1: if($c) { $c = false; _r$1 = _r$1.$blk(); } if (_r$1 && _r$1.$blk !== undefined) { break s; }
189037
+ _r$1;
189038
+ $r = $send(d[0].eventChan, (x = new mouse.Event.ptr(($fround($clone($clone((0 >= args.$length ? ($throwRuntimeError("index out of range"), undefined) : args.$array[args.$offset + 0]), js.Value).Get("offsetX"), js.Value).Float())), ($fround($clone($clone((0 >= args.$length ? ($throwRuntimeError("index out of range"), undefined) : args.$array[args.$offset + 0]), js.Value).Get("offsetY"), js.Value).Float())), getMouseButton($clone((0 >= args.$length ? ($throwRuntimeError("index out of range"), undefined) : args.$array[args.$offset + 0]), js.Value)), getEventModifiers($clone((0 >= args.$length ? ($throwRuntimeError("index out of range"), undefined) : args.$array[args.$offset + 0]), js.Value)), getMouseDirection($clone((0 >= args.$length ? ($throwRuntimeError("index out of range"), undefined) : args.$array[args.$offset + 0]), js.Value))), new x.constructor.elem(x))); /* */ $s = 2; case 2: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
189039
+ $s = -1; return $ifaceNil;
189040
+ /* */ } return; } var $f = {$blk: $b, $c: true, $r, _r$1, args, this$1, x, $s};return $f;
189041
+ }; })(d, onClick, onMove, onWheel)), js.Func);
189042
+ _r$1 = $clone(js.Global(), js.Value).Call("addEventListener", new sliceType([new $String("mousedown"), new onClick[0].constructor.elem(onClick[0])])); /* */ $s = 2; case 2: if($c) { $c = false; _r$1 = _r$1.$blk(); } if (_r$1 && _r$1.$blk !== undefined) { break s; }
189043
+ _r$1;
189044
+ _r$2 = $clone(js.Global(), js.Value).Call("addEventListener", new sliceType([new $String("mouseup"), new onClick[0].constructor.elem(onClick[0])])); /* */ $s = 3; case 3: if($c) { $c = false; _r$2 = _r$2.$blk(); } if (_r$2 && _r$2.$blk !== undefined) { break s; }
189045
+ _r$2;
189046
+ onWheel[0] = $clone(js.FuncOf((function(d, onClick, onMove, onWheel) { return function $b(this$1, args) {
189047
+ var {args, this$1, x, $s, $r, $c} = $restore(this, {this$1, args});
189048
+ /* */ $s = $s || 0; s: while (true) { switch ($s) { case 0:
189049
+ $r = $send(d[0].eventChan, (x = new mouse.Event.ptr(($fround($clone($clone((0 >= args.$length ? ($throwRuntimeError("index out of range"), undefined) : args.$array[args.$offset + 0]), js.Value).Get("offsetX"), js.Value).Float())), ($fround($clone($clone((0 >= args.$length ? ($throwRuntimeError("index out of range"), undefined) : args.$array[args.$offset + 0]), js.Value).Get("offsetY"), js.Value).Float())), getWheelButton($clone((0 >= args.$length ? ($throwRuntimeError("index out of range"), undefined) : args.$array[args.$offset + 0]), js.Value)), getEventModifiers($clone((0 >= args.$length ? ($throwRuntimeError("index out of range"), undefined) : args.$array[args.$offset + 0]), js.Value)), 3), new x.constructor.elem(x))); /* */ $s = 1; case 1: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
189050
+ $s = -1; return $ifaceNil;
189051
+ /* */ } return; } var $f = {$blk: $b, $c: true, $r, args, this$1, x, $s};return $f;
189052
+ }; })(d, onClick, onMove, onWheel)), js.Func);
189053
+ _r$3 = $clone(js.Global(), js.Value).Call("addEventListener", new sliceType([new $String("wheel"), new onWheel[0].constructor.elem(onWheel[0])])); /* */ $s = 4; case 4: if($c) { $c = false; _r$3 = _r$3.$blk(); } if (_r$3 && _r$3.$blk !== undefined) { break s; }
189054
+ _r$3;
189055
+ d[0].releases = $append(d[0].releases, (function(d, onClick, onMove, onWheel) { return function $b() {
189056
+ var {_r$4, _r$5, _r$6, _r$7, $s, $r, $c} = $restore(this, {});
189057
+ /* */ $s = $s || 0; s: while (true) { switch ($s) { case 0:
189058
+ _r$4 = $clone(js.Global(), js.Value).Call("removeEventListener", new sliceType([new $String("mousemove"), new onMove[0].constructor.elem(onMove[0])])); /* */ $s = 1; case 1: if($c) { $c = false; _r$4 = _r$4.$blk(); } if (_r$4 && _r$4.$blk !== undefined) { break s; }
189059
+ _r$4;
189060
+ _r$5 = $clone(js.Global(), js.Value).Call("removeEventListener", new sliceType([new $String("mousedown"), new onClick[0].constructor.elem(onClick[0])])); /* */ $s = 2; case 2: if($c) { $c = false; _r$5 = _r$5.$blk(); } if (_r$5 && _r$5.$blk !== undefined) { break s; }
189061
+ _r$5;
189062
+ _r$6 = $clone(js.Global(), js.Value).Call("removeEventListener", new sliceType([new $String("mouseup"), new onClick[0].constructor.elem(onClick[0])])); /* */ $s = 3; case 3: if($c) { $c = false; _r$6 = _r$6.$blk(); } if (_r$6 && _r$6.$blk !== undefined) { break s; }
189063
+ _r$6;
189064
+ _r$7 = $clone(js.Global(), js.Value).Call("removeEventListener", new sliceType([new $String("wheel"), new onWheel[0].constructor.elem(onWheel[0])])); /* */ $s = 4; case 4: if($c) { $c = false; _r$7 = _r$7.$blk(); } if (_r$7 && _r$7.$blk !== undefined) { break s; }
189065
+ _r$7;
189066
+ $clone(onMove[0], js.Func).Release();
189067
+ $clone(onClick[0], js.Func).Release();
189068
+ $clone(onWheel[0], js.Func).Release();
189069
+ $s = -1; return;
189070
+ /* */ } return; } var $f = {$blk: $b, $c: true, $r, _r$4, _r$5, _r$6, _r$7, $s};return $f;
189071
+ }; })(d, onClick, onMove, onWheel));
189072
+ $s = -1; return;
189073
+ /* */ } return; } var $f = {$blk: DomEvents.ptr.prototype.bindMouseEvents, $c: true, $r, _r, _r$1, _r$2, _r$3, d, onClick, onMove, onWheel, $s};return $f;
189074
+ };
189075
+ DomEvents.prototype.bindMouseEvents = function() { return this.$val.bindMouseEvents(); };
189076
+ getMouseDirection = function(ev) {
189077
+ var dir, ev;
189078
+ dir = 0;
189079
+ dir = 0;
189080
+ if ($clone($clone(ev, js.Value).Get("type"), js.Value).String() === "mousedown") {
189081
+ dir = 1;
189082
+ }
189083
+ if ($clone($clone(ev, js.Value).Get("type"), js.Value).String() === "mouseup") {
189084
+ dir = 2;
189085
+ }
189086
+ return dir;
189087
+ };
189088
+ getWheelButton = function(ev) {
189089
+ var deltaX, deltaY, ev;
189090
+ deltaY = $clone($clone(ev, js.Value).Get("deltaY"), js.Value).Int();
189091
+ deltaX = $clone($clone(ev, js.Value).Get("deltaX"), js.Value).Int();
189092
+ if (deltaY > 0) {
189093
+ return -2;
189094
+ }
189095
+ if (deltaY < 0) {
189096
+ return -1;
189097
+ }
189098
+ if (deltaX > 0) {
189099
+ return -4;
189100
+ }
189101
+ if (deltaX < 0) {
189102
+ return -3;
189103
+ }
189104
+ return 0;
189105
+ };
189106
+ getMouseButton = function(ev) {
189107
+ var _1, ev;
189108
+ _1 = $clone($clone(ev, js.Value).Get("button"), js.Value).Int();
189109
+ if (_1 === (0)) {
189110
+ return 1;
189111
+ } else if (_1 === (1)) {
189112
+ return 2;
189113
+ } else if (_1 === (2)) {
189114
+ return 3;
189115
+ } else if (_1 === (3)) {
189116
+ return 8;
189117
+ } else if (_1 === (4)) {
189118
+ return 9;
189119
+ } else {
189120
+ return 0;
189121
+ }
189122
+ };
189123
+ getEventModifiers = function(ev) {
189124
+ var ev, mod;
189125
+ mod = 0;
189126
+ if ($clone($clone(ev, js.Value).Get("altKey"), js.Value).Bool()) {
189127
+ mod = (mod | (4)) >>> 0;
189128
+ }
189129
+ if ($clone($clone(ev, js.Value).Get("ctrlKey"), js.Value).Bool()) {
189130
+ mod = (mod | (2)) >>> 0;
189131
+ }
189132
+ if ($clone($clone(ev, js.Value).Get("shiftKey"), js.Value).Bool()) {
189133
+ mod = (mod | (1)) >>> 0;
189134
+ }
189135
+ if ($clone($clone(ev, js.Value).Get("metaKey"), js.Value).Bool()) {
189136
+ mod = (mod | (8)) >>> 0;
189137
+ }
189138
+ return mod;
189139
+ };
189140
+ DomEvents.ptr.prototype.bindFocusEvents = function() {
189141
+ var {_r, _r$1, d, onFocus, $s, $r, $c} = $restore(this, {});
189142
+ /* */ $s = $s || 0; s: while (true) { switch ($s) { case 0:
189143
+ d = [d];
189144
+ onFocus = [onFocus];
189145
+ d[0] = this;
189146
+ onFocus[0] = $clone(js.FuncOf((function(d, onFocus) { return function $b(this$1, args) {
189147
+ var {args, this$1, x, $s, $r, $c} = $restore(this, {this$1, args});
189148
+ /* */ $s = $s || 0; s: while (true) { switch ($s) { case 0:
189149
+ $r = $send(d[0].eventChan, (x = new focus.Event.ptr(isFocusIn($clone((0 >= args.$length ? ($throwRuntimeError("index out of range"), undefined) : args.$array[args.$offset + 0]), js.Value))), new x.constructor.elem(x))); /* */ $s = 1; case 1: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
189150
+ $s = -1; return $ifaceNil;
189151
+ /* */ } return; } var $f = {$blk: $b, $c: true, $r, args, this$1, x, $s};return $f;
189152
+ }; })(d, onFocus)), js.Func);
189153
+ _r = $clone(js.Global(), js.Value).Call("addEventListener", new sliceType([new $String("focus"), new onFocus[0].constructor.elem(onFocus[0])])); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }
189154
+ _r;
189155
+ _r$1 = $clone(js.Global(), js.Value).Call("addEventListener", new sliceType([new $String("blur"), new onFocus[0].constructor.elem(onFocus[0])])); /* */ $s = 2; case 2: if($c) { $c = false; _r$1 = _r$1.$blk(); } if (_r$1 && _r$1.$blk !== undefined) { break s; }
189156
+ _r$1;
189157
+ d[0].releases = $append(d[0].releases, (function(d, onFocus) { return function $b() {
189158
+ var {_r$2, _r$3, $s, $r, $c} = $restore(this, {});
189159
+ /* */ $s = $s || 0; s: while (true) { switch ($s) { case 0:
189160
+ _r$2 = $clone(js.Global(), js.Value).Call("removeEventListener", new sliceType([new $String("focus"), new onFocus[0].constructor.elem(onFocus[0])])); /* */ $s = 1; case 1: if($c) { $c = false; _r$2 = _r$2.$blk(); } if (_r$2 && _r$2.$blk !== undefined) { break s; }
189161
+ _r$2;
189162
+ _r$3 = $clone(js.Global(), js.Value).Call("removeEventListener", new sliceType([new $String("blur"), new onFocus[0].constructor.elem(onFocus[0])])); /* */ $s = 2; case 2: if($c) { $c = false; _r$3 = _r$3.$blk(); } if (_r$3 && _r$3.$blk !== undefined) { break s; }
189163
+ _r$3;
189164
+ $clone(onFocus[0], js.Func).Release();
189165
+ $s = -1; return;
189166
+ /* */ } return; } var $f = {$blk: $b, $c: true, $r, _r$2, _r$3, $s};return $f;
189167
+ }; })(d, onFocus));
189168
+ $s = -1; return;
189169
+ /* */ } return; } var $f = {$blk: DomEvents.ptr.prototype.bindFocusEvents, $c: true, $r, _r, _r$1, d, onFocus, $s};return $f;
189170
+ };
189171
+ DomEvents.prototype.bindFocusEvents = function() { return this.$val.bindFocusEvents(); };
189172
+ isFocusIn = function(ev) {
189173
+ var ev;
189174
+ if ($clone($clone(ev, js.Value).Get("type"), js.Value).String() === "focus") {
189175
+ return true;
189176
+ }
189177
+ return false;
189178
+ };
189179
+ DomEvents.ptr.prototype.bindKeyEvents = function() {
189180
+ var {_r, _r$1, d, onKey, $s, $r, $c} = $restore(this, {});
189181
+ /* */ $s = $s || 0; s: while (true) { switch ($s) { case 0:
189182
+ d = [d];
189183
+ onKey = [onKey];
189184
+ d[0] = this;
189185
+ onKey[0] = $clone(js.FuncOf((function(d, onKey) { return function $b(this$1, args) {
189186
+ var {_r, args, this$1, x, $s, $r, $c} = $restore(this, {this$1, args});
189187
+ /* */ $s = $s || 0; s: while (true) { switch ($s) { case 0:
189188
+ _r = $clone((0 >= args.$length ? ($throwRuntimeError("index out of range"), undefined) : args.$array[args.$offset + 0]), js.Value).Call("preventDefault", sliceType.nil); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }
189189
+ _r;
189190
+ $r = $send(d[0].eventChan, (x = new key.Event.ptr(getKeyRune($clone((0 >= args.$length ? ($throwRuntimeError("index out of range"), undefined) : args.$array[args.$offset + 0]), js.Value)), getKeyCode($clone((0 >= args.$length ? ($throwRuntimeError("index out of range"), undefined) : args.$array[args.$offset + 0]), js.Value)), getEventModifiers($clone((0 >= args.$length ? ($throwRuntimeError("index out of range"), undefined) : args.$array[args.$offset + 0]), js.Value)), getKeyDirection($clone((0 >= args.$length ? ($throwRuntimeError("index out of range"), undefined) : args.$array[args.$offset + 0]), js.Value))), new x.constructor.elem(x))); /* */ $s = 2; case 2: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
189191
+ $s = -1; return $ifaceNil;
189192
+ /* */ } return; } var $f = {$blk: $b, $c: true, $r, _r, args, this$1, x, $s};return $f;
189193
+ }; })(d, onKey)), js.Func);
189194
+ _r = $clone(js.Global(), js.Value).Call("addEventListener", new sliceType([new $String("keydown"), new onKey[0].constructor.elem(onKey[0])])); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }
189195
+ _r;
189196
+ _r$1 = $clone(js.Global(), js.Value).Call("addEventListener", new sliceType([new $String("keyup"), new onKey[0].constructor.elem(onKey[0])])); /* */ $s = 2; case 2: if($c) { $c = false; _r$1 = _r$1.$blk(); } if (_r$1 && _r$1.$blk !== undefined) { break s; }
189197
+ _r$1;
189198
+ d[0].releases = $append(d[0].releases, (function(d, onKey) { return function $b() {
189199
+ var {_r$2, _r$3, $s, $r, $c} = $restore(this, {});
189200
+ /* */ $s = $s || 0; s: while (true) { switch ($s) { case 0:
189201
+ _r$2 = $clone(js.Global(), js.Value).Call("removeEventListener", new sliceType([new $String("keydown"), new onKey[0].constructor.elem(onKey[0])])); /* */ $s = 1; case 1: if($c) { $c = false; _r$2 = _r$2.$blk(); } if (_r$2 && _r$2.$blk !== undefined) { break s; }
189202
+ _r$2;
189203
+ _r$3 = $clone(js.Global(), js.Value).Call("removeEventListener", new sliceType([new $String("keyup"), new onKey[0].constructor.elem(onKey[0])])); /* */ $s = 2; case 2: if($c) { $c = false; _r$3 = _r$3.$blk(); } if (_r$3 && _r$3.$blk !== undefined) { break s; }
189204
+ _r$3;
189205
+ $clone(onKey[0], js.Func).Release();
189206
+ $s = -1; return;
189207
+ /* */ } return; } var $f = {$blk: $b, $c: true, $r, _r$2, _r$3, $s};return $f;
189208
+ }; })(d, onKey));
189209
+ $s = -1; return;
189210
+ /* */ } return; } var $f = {$blk: DomEvents.ptr.prototype.bindKeyEvents, $c: true, $r, _r, _r$1, d, onKey, $s};return $f;
189211
+ };
189212
+ DomEvents.prototype.bindKeyEvents = function() { return this.$val.bindKeyEvents(); };
189213
+ getKeyRune = function(ev) {
189214
+ var ev, key$1;
189215
+ key$1 = (new sliceType$2($stringToRunes($clone($clone(ev, js.Value).Get("key"), js.Value).String())));
189216
+ if (key$1.$length === 1) {
189217
+ return (0 >= key$1.$length ? ($throwRuntimeError("index out of range"), undefined) : key$1.$array[key$1.$offset + 0]);
189218
+ }
189219
+ return -1;
189220
+ };
189221
+ getKeyDirection = function(ev) {
189222
+ var dir, ev;
189223
+ dir = 0;
189224
+ dir = 0;
189225
+ if ($clone($clone(ev, js.Value).Get("type"), js.Value).String() === "keydown") {
189226
+ dir = 1;
189227
+ }
189228
+ if ($clone($clone(ev, js.Value).Get("type"), js.Value).String() === "keyup") {
189229
+ dir = 2;
189230
+ }
189231
+ return dir;
189232
+ };
189233
+ getKeyCode = function(ev) {
189234
+ var _entry, _entry$1, _tuple, _tuple$1, code, code$1, domCode, domKey, ev, exists, exists$1;
189235
+ domCode = $clone($clone(ev, js.Value).Get("code"), js.Value).String();
189236
+ _tuple = (_entry = $mapIndex(keyCodesMap,$String.keyFor(domCode)), _entry !== undefined ? [_entry.v, true] : [0, false]);
189237
+ code = _tuple[0];
189238
+ exists = _tuple[1];
189239
+ if (exists) {
189240
+ return code;
189241
+ }
189242
+ domKey = $clone($clone(ev, js.Value).Get("key"), js.Value).String();
189243
+ _tuple$1 = (_entry$1 = $mapIndex(keyCodesByKeyMap,$String.keyFor(domKey)), _entry$1 !== undefined ? [_entry$1.v, true] : [0, false]);
189244
+ code$1 = _tuple$1[0];
189245
+ exists$1 = _tuple$1[1];
189246
+ if (exists$1) {
189247
+ return code$1;
189248
+ }
189249
+ return 0;
189250
+ };
189251
+ ptrType.methods = [{prop: "GetEventChan", name: "GetEventChan", pkg: "", typ: $funcType([], [chanType], false)}, {prop: "Release", name: "Release", pkg: "", typ: $funcType([], [], false)}, {prop: "BindEvents", name: "BindEvents", pkg: "", typ: $funcType([], [], false)}, {prop: "bindSizeEvents", name: "bindSizeEvents", pkg: "golang.org/x/exp/shiny/driver/util/dom", typ: $funcType([], [], false)}, {prop: "emitSizeEvent", name: "emitSizeEvent", pkg: "golang.org/x/exp/shiny/driver/util/dom", typ: $funcType([], [], false)}, {prop: "bindMouseEvents", name: "bindMouseEvents", pkg: "golang.org/x/exp/shiny/driver/util/dom", typ: $funcType([], [], false)}, {prop: "bindFocusEvents", name: "bindFocusEvents", pkg: "golang.org/x/exp/shiny/driver/util/dom", typ: $funcType([], [], false)}, {prop: "bindKeyEvents", name: "bindKeyEvents", pkg: "golang.org/x/exp/shiny/driver/util/dom", typ: $funcType([], [], false)}];
189252
+ DomEvents.init("golang.org/x/exp/shiny/driver/util/dom", [{prop: "eventChan", name: "eventChan", embedded: false, exported: false, typ: chanType, tag: ""}, {prop: "releases", name: "releases", embedded: false, exported: false, typ: sliceType$1, tag: ""}]);
189253
+ $init = function() {
189254
+ $pkg.$init = function() {};
189255
+ /* */ var $f, $c = false, $s = 0, $r; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:
189256
+ $r = focus.$init(); /* */ $s = 1; case 1: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
189257
+ $r = key.$init(); /* */ $s = 2; case 2: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
189258
+ $r = mouse.$init(); /* */ $s = 3; case 3: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
189259
+ $r = size.$init(); /* */ $s = 4; case 4: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
189260
+ $r = geom.$init(); /* */ $s = 5; case 5: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
189261
+ $r = math.$init(); /* */ $s = 6; case 6: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
189262
+ $r = strings.$init(); /* */ $s = 7; case 7: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
189263
+ $r = js.$init(); /* */ $s = 8; case 8: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
189264
+ keyCodesMap = $makeMap($String.keyFor, [{ k: "KeyA", v: 4 }, { k: "KeyB", v: 5 }, { k: "KeyC", v: 6 }, { k: "KeyD", v: 7 }, { k: "KeyE", v: 8 }, { k: "KeyF", v: 9 }, { k: "KeyG", v: 10 }, { k: "KeyH", v: 11 }, { k: "KeyI", v: 12 }, { k: "KeyJ", v: 13 }, { k: "KeyK", v: 14 }, { k: "KeyL", v: 15 }, { k: "KeyM", v: 16 }, { k: "KeyN", v: 17 }, { k: "KeyO", v: 18 }, { k: "KeyP", v: 19 }, { k: "KeyQ", v: 20 }, { k: "KeyR", v: 21 }, { k: "KeyS", v: 22 }, { k: "KeyT", v: 23 }, { k: "KeyU", v: 24 }, { k: "KeyV", v: 25 }, { k: "KeyW", v: 26 }, { k: "KeyX", v: 27 }, { k: "KeyY", v: 28 }, { k: "KeyZ", v: 29 }, { k: "Digit1", v: 30 }, { k: "Digit2", v: 31 }, { k: "Digit3", v: 32 }, { k: "Digit4", v: 33 }, { k: "Digit5", v: 34 }, { k: "Digit6", v: 35 }, { k: "Digit7", v: 36 }, { k: "Digit8", v: 37 }, { k: "Digit9", v: 38 }, { k: "Digit0", v: 39 }, { k: "Enter", v: 40 }, { k: "Escape", v: 41 }, { k: "Backspace", v: 42 }, { k: "Tab", v: 43 }, { k: "Space", v: 44 }, { k: "Minus", v: 45 }, { k: "Equal", v: 46 }, { k: "BracketLeft", v: 47 }, { k: "BracketRight", v: 48 }, { k: "Backslash", v: 49 }, { k: "Semicolon", v: 51 }, { k: "Quote", v: 52 }, { k: "Backquote", v: 53 }, { k: "Comma", v: 54 }, { k: "Period", v: 55 }, { k: "Slash", v: 56 }, { k: "CapsLock", v: 57 }, { k: "F1", v: 58 }, { k: "F2", v: 59 }, { k: "F3", v: 60 }, { k: "F4", v: 61 }, { k: "F5", v: 62 }, { k: "F6", v: 63 }, { k: "F7", v: 64 }, { k: "F8", v: 65 }, { k: "F9", v: 66 }, { k: "F10", v: 67 }, { k: "F11", v: 68 }, { k: "F12", v: 69 }, { k: "Pause", v: 72 }, { k: "Insert", v: 73 }, { k: "Home", v: 74 }, { k: "PageUp", v: 75 }, { k: "Delete", v: 76 }, { k: "End", v: 77 }, { k: "PageDown", v: 78 }, { k: "ArrowRight", v: 79 }, { k: "ArrowLeft", v: 80 }, { k: "ArrowDown", v: 81 }, { k: "ArrowUp", v: 82 }, { k: "NumLock", v: 83 }, { k: "NumpadDivide", v: 84 }, { k: "NumpadMultiply", v: 85 }, { k: "NumpadSubtract", v: 86 }, { k: "NumpadAdd", v: 87 }, { k: "NumpadEnter", v: 88 }, { k: "Numpad1", v: 89 }, { k: "Numpad2", v: 90 }, { k: "Numpad3", v: 91 }, { k: "Numpad4", v: 92 }, { k: "Numpad5", v: 93 }, { k: "Numpad6", v: 94 }, { k: "Numpad7", v: 95 }, { k: "Numpad8", v: 96 }, { k: "Numpad9", v: 97 }, { k: "Numpad0", v: 98 }, { k: "NumpadDecimal", v: 99 }, { k: "NumpadEqual", v: 103 }, { k: "F13", v: 104 }, { k: "F14", v: 105 }, { k: "F15", v: 106 }, { k: "F16", v: 107 }, { k: "F17", v: 108 }, { k: "F18", v: 109 }, { k: "F19", v: 110 }, { k: "F20", v: 111 }, { k: "F21", v: 112 }, { k: "F22", v: 113 }, { k: "F23", v: 114 }, { k: "F24", v: 115 }, { k: "Help", v: 117 }, { k: "ContextMenu", v: 118 }, { k: "VolumeMute", v: 127 }, { k: "VolumeUp", v: 128 }, { k: "VolumeDown", v: 129 }, { k: "ControlLeft", v: 224 }, { k: "ShiftLeft", v: 225 }, { k: "AltLeft", v: 226 }, { k: "MetaLeft", v: 227 }, { k: "ControlRight", v: 228 }, { k: "ShiftRight", v: 229 }, { k: "AltRight", v: 230 }, { k: "MetaRight", v: 231 }, { k: "PrintScreen", v: 0 }]);
189265
+ keyCodesByKeyMap = $makeMap($String.keyFor, [{ k: "AudioVolumeMute", v: 127 }, { k: "AudioVolumeUp", v: 128 }, { k: "AudioVolumeDown", v: 129 }]);
189266
+ /* */ } return; } if ($f === undefined) { $f = { $blk: $init }; } $f.$s = $s; $f.$r = $r; return $f;
189267
+ };
189268
+ $pkg.$init = $init;
189269
+ return $pkg;
189270
+ })();
189187
189271
  $packages["golang.org/x/exp/shiny/imageutil"] = (function() {
189188
189272
  var $pkg = {}, $init, screen, image, draw, ConvertYCbCrToRGBA;
189189
189273
  screen = $packages["golang.org/x/exp/shiny/screen"];
@@ -189218,12 +189302,12 @@ $packages["golang.org/x/exp/shiny/imageutil"] = (function() {
189218
189302
  return $pkg;
189219
189303
  })();
189220
189304
  $packages["golang.org/x/exp/shiny/driver/webgldriver"] = (function() {
189221
- var $pkg = {}, $init, fmt, webgl, types, dom, errscreen, imageutil, screen, f64, image, color, draw, sync, js, windowImpl, screenImpl, ArrayBufferSlice, YCbCrJS, BufferImpl, sliceType, sliceType$1, sliceType$2, ptrType, ptrType$1, funcType, arrayType, ptrType$2, ptrType$3, ptrType$4, ptrType$5, ptrType$6, ptrType$7, sliceType$3, ptrType$8, ptrType$9, ptrType$10, ptrType$11, ptrType$12, ptrType$13, ptrType$14, texCoordsVertices, elementsIndices, newWindow, main, newScreenImpl, newBuffer;
189305
+ var $pkg = {}, $init, fmt, webgl, types, errscreen, dom, imageutil, screen, f64, image, color, draw, sync, js, windowImpl, screenImpl, ArrayBufferSlice, YCbCrJS, BufferImpl, sliceType, sliceType$1, sliceType$2, ptrType, ptrType$1, funcType, arrayType, ptrType$2, ptrType$3, ptrType$4, ptrType$5, ptrType$6, ptrType$7, sliceType$3, ptrType$8, ptrType$9, ptrType$10, ptrType$11, ptrType$12, ptrType$13, ptrType$14, texCoordsVertices, elementsIndices, newWindow, main, newScreenImpl, newBuffer;
189222
189306
  fmt = $packages["fmt"];
189223
189307
  webgl = $packages["github.com/nuberu/webgl"];
189224
189308
  types = $packages["github.com/nuberu/webgl/types"];
189225
- dom = $packages["golang.org/x/exp/shiny/driver/internal/dom"];
189226
189309
  errscreen = $packages["golang.org/x/exp/shiny/driver/internal/errscreen"];
189310
+ dom = $packages["golang.org/x/exp/shiny/driver/util/dom"];
189227
189311
  imageutil = $packages["golang.org/x/exp/shiny/imageutil"];
189228
189312
  screen = $packages["golang.org/x/exp/shiny/screen"];
189229
189313
  f64 = $packages["golang.org/x/image/math/f64"];
@@ -190007,8 +190091,8 @@ $packages["golang.org/x/exp/shiny/driver/webgldriver"] = (function() {
190007
190091
  $r = fmt.$init(); /* */ $s = 1; case 1: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
190008
190092
  $r = webgl.$init(); /* */ $s = 2; case 2: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
190009
190093
  $r = types.$init(); /* */ $s = 3; case 3: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
190010
- $r = dom.$init(); /* */ $s = 4; case 4: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
190011
- $r = errscreen.$init(); /* */ $s = 5; case 5: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
190094
+ $r = errscreen.$init(); /* */ $s = 4; case 4: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
190095
+ $r = dom.$init(); /* */ $s = 5; case 5: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
190012
190096
  $r = imageutil.$init(); /* */ $s = 6; case 6: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
190013
190097
  $r = screen.$init(); /* */ $s = 7; case 7: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
190014
190098
  $r = f64.$init(); /* */ $s = 8; case 8: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
@@ -190044,11 +190128,58 @@ $packages["github.com/supraio/client-daemon/pkg/x264/h264decoder"] = (function()
190044
190128
  $pkg.$init = $init;
190045
190129
  return $pkg;
190046
190130
  })();
190131
+ $packages["github.com/supraio/client-daemon/pkg/x264/nacldecoder/jsdecoder"] = (function() {
190132
+ var $pkg = {}, $init, js, ptrType, initiateReset, jsNaClDecoder, ResetBeforeNextDecode, ShouldResetOnNextDecode, GetJsNaClDecoder;
190133
+ js = $packages["syscall/js"];
190134
+ ptrType = $ptrType(js.Value);
190135
+ ResetBeforeNextDecode = function() {
190136
+ initiateReset = true;
190137
+ };
190138
+ $pkg.ResetBeforeNextDecode = ResetBeforeNextDecode;
190139
+ ShouldResetOnNextDecode = function() {
190140
+ return initiateReset;
190141
+ };
190142
+ $pkg.ShouldResetOnNextDecode = ShouldResetOnNextDecode;
190143
+ GetJsNaClDecoder = function() {
190144
+ return jsNaClDecoder;
190145
+ };
190146
+ $pkg.GetJsNaClDecoder = GetJsNaClDecoder;
190147
+ $init = function() {
190148
+ $pkg.$init = function() {};
190149
+ /* */ var $f, $c = false, $s = 0, $r; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:
190150
+ $r = js.$init(); /* */ $s = 1; case 1: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
190151
+ jsNaClDecoder = ptrType.nil;
190152
+ initiateReset = false;
190153
+ /* */ } return; } if ($f === undefined) { $f = { $blk: $init }; } $f.$s = $s; $f.$r = $r; return $f;
190154
+ };
190155
+ $pkg.$init = $init;
190156
+ return $pkg;
190157
+ })();
190158
+ $packages["github.com/supraio/client-daemon/pkg/x264/nacldecoder"] = (function() {
190159
+ var $pkg = {}, $init, errs, jshelper, general, jsdecoder, js;
190160
+ errs = $packages["github.com/supraio/client-daemon/pkg/errs"];
190161
+ jshelper = $packages["github.com/supraio/client-daemon/pkg/jshelper"];
190162
+ general = $packages["github.com/supraio/client-daemon/pkg/x264/general"];
190163
+ jsdecoder = $packages["github.com/supraio/client-daemon/pkg/x264/nacldecoder/jsdecoder"];
190164
+ js = $packages["syscall/js"];
190165
+ $init = function() {
190166
+ $pkg.$init = function() {};
190167
+ /* */ var $f, $c = false, $s = 0, $r; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:
190168
+ $r = errs.$init(); /* */ $s = 1; case 1: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
190169
+ $r = jshelper.$init(); /* */ $s = 2; case 2: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
190170
+ $r = general.$init(); /* */ $s = 3; case 3: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
190171
+ $r = jsdecoder.$init(); /* */ $s = 4; case 4: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
190172
+ $r = js.$init(); /* */ $s = 5; case 5: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
190173
+ /* */ } return; } if ($f === undefined) { $f = { $blk: $init }; } $f.$s = $s; $f.$r = $r; return $f;
190174
+ };
190175
+ $pkg.$init = $init;
190176
+ return $pkg;
190177
+ })();
190047
190178
  $packages["golang.org/x/exp/shiny/driver/canvasdriver"] = (function() {
190048
- var $pkg = {}, $init, fmt, dom, errscreen, screen, f64, image, color, draw, sync, js, windowImpl, screenImpl, YCbCrJS, BufferImpl, sliceType, ptrType, ptrType$1, funcType, arrayType, ptrType$2, ptrType$3, sliceType$1, ptrType$4, ptrType$5, ptrType$6, ptrType$7, ptrType$8, ptrType$9, ptrType$10, newWindow, main, newScreenImpl, newBuffer;
190179
+ var $pkg = {}, $init, fmt, errscreen, dom, screen, f64, image, color, draw, sync, js, windowImpl, screenImpl, YCbCrJS, BufferImpl, sliceType, ptrType, ptrType$1, funcType, arrayType, ptrType$2, ptrType$3, sliceType$1, ptrType$4, ptrType$5, ptrType$6, ptrType$7, ptrType$8, ptrType$9, ptrType$10, newWindow, main, newScreenImpl, newBuffer;
190049
190180
  fmt = $packages["fmt"];
190050
- dom = $packages["golang.org/x/exp/shiny/driver/internal/dom"];
190051
190181
  errscreen = $packages["golang.org/x/exp/shiny/driver/internal/errscreen"];
190182
+ dom = $packages["golang.org/x/exp/shiny/driver/util/dom"];
190052
190183
  screen = $packages["golang.org/x/exp/shiny/screen"];
190053
190184
  f64 = $packages["golang.org/x/image/math/f64"];
190054
190185
  image = $packages["image"];
@@ -190442,8 +190573,8 @@ $packages["golang.org/x/exp/shiny/driver/canvasdriver"] = (function() {
190442
190573
  $pkg.$init = function() {};
190443
190574
  /* */ var $f, $c = false, $s = 0, $r; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:
190444
190575
  $r = fmt.$init(); /* */ $s = 1; case 1: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
190445
- $r = dom.$init(); /* */ $s = 2; case 2: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
190446
- $r = errscreen.$init(); /* */ $s = 3; case 3: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
190576
+ $r = errscreen.$init(); /* */ $s = 2; case 2: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
190577
+ $r = dom.$init(); /* */ $s = 3; case 3: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
190447
190578
  $r = screen.$init(); /* */ $s = 4; case 4: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
190448
190579
  $r = f64.$init(); /* */ $s = 5; case 5: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
190449
190580
  $r = image.$init(); /* */ $s = 6; case 6: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
@@ -190483,10 +190614,11 @@ $packages["github.com/supraio/client-daemon/pkg/x264/webcodecs"] = (function() {
190483
190614
  return $pkg;
190484
190615
  })();
190485
190616
  $packages["github.com/supraio/client-daemon/pkg/x264"] = (function() {
190486
- var $pkg = {}, $init, errs, general, h264_decoder, webcodecs;
190617
+ var $pkg = {}, $init, errs, general, h264_decoder, nacldecoder, webcodecs;
190487
190618
  errs = $packages["github.com/supraio/client-daemon/pkg/errs"];
190488
190619
  general = $packages["github.com/supraio/client-daemon/pkg/x264/general"];
190489
190620
  h264_decoder = $packages["github.com/supraio/client-daemon/pkg/x264/h264decoder"];
190621
+ nacldecoder = $packages["github.com/supraio/client-daemon/pkg/x264/nacldecoder"];
190490
190622
  webcodecs = $packages["github.com/supraio/client-daemon/pkg/x264/webcodecs"];
190491
190623
  $init = function() {
190492
190624
  $pkg.$init = function() {};
@@ -190494,7 +190626,379 @@ $packages["github.com/supraio/client-daemon/pkg/x264"] = (function() {
190494
190626
  $r = errs.$init(); /* */ $s = 1; case 1: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
190495
190627
  $r = general.$init(); /* */ $s = 2; case 2: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
190496
190628
  $r = h264_decoder.$init(); /* */ $s = 3; case 3: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
190497
- $r = webcodecs.$init(); /* */ $s = 4; case 4: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
190629
+ $r = nacldecoder.$init(); /* */ $s = 4; case 4: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
190630
+ $r = webcodecs.$init(); /* */ $s = 5; case 5: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
190631
+ /* */ } return; } if ($f === undefined) { $f = { $blk: $init }; } $f.$s = $s; $f.$r = $r; return $f;
190632
+ };
190633
+ $pkg.$init = $init;
190634
+ return $pkg;
190635
+ })();
190636
+ $packages["github.com/supraio/client-daemon/pkg/x264/nacldecoder/nacldriver"] = (function() {
190637
+ var $pkg = {}, $init, errs, jshelper, jsdecoder, dom, screen, f64, image, color, draw, log, sync, js, windowImpl, screenImpl, BufferImpl, sliceType, ptrType, ptrType$1, ptrType$2, ptrType$3, funcType, arrayType, ptrType$4, sliceType$1, ptrType$5, ptrType$6, ptrType$7, ptrType$8, ptrType$9, newWindow, newScreenImpl, main, newBuffer;
190638
+ errs = $packages["github.com/supraio/client-daemon/pkg/errs"];
190639
+ jshelper = $packages["github.com/supraio/client-daemon/pkg/jshelper"];
190640
+ jsdecoder = $packages["github.com/supraio/client-daemon/pkg/x264/nacldecoder/jsdecoder"];
190641
+ dom = $packages["golang.org/x/exp/shiny/driver/util/dom"];
190642
+ screen = $packages["golang.org/x/exp/shiny/screen"];
190643
+ f64 = $packages["golang.org/x/image/math/f64"];
190644
+ image = $packages["image"];
190645
+ color = $packages["image/color"];
190646
+ draw = $packages["image/draw"];
190647
+ log = $packages["log"];
190648
+ sync = $packages["sync"];
190649
+ js = $packages["syscall/js"];
190650
+ windowImpl = $pkg.windowImpl = $newType(0, $kindStruct, "nacldriver.windowImpl", true, "github.com/supraio/client-daemon/pkg/x264/nacldecoder/nacldriver", false, function(screen_, mutex_, renderingInProgress_, domEvents_, released_) {
190651
+ this.$val = this;
190652
+ if (arguments.length === 0) {
190653
+ this.screen = ptrType.nil;
190654
+ this.mutex = ptrType$1.nil;
190655
+ this.renderingInProgress = false;
190656
+ this.domEvents = ptrType$2.nil;
190657
+ this.released = false;
190658
+ return;
190659
+ }
190660
+ this.screen = screen_;
190661
+ this.mutex = mutex_;
190662
+ this.renderingInProgress = renderingInProgress_;
190663
+ this.domEvents = domEvents_;
190664
+ this.released = released_;
190665
+ });
190666
+ screenImpl = $pkg.screenImpl = $newType(0, $kindStruct, "nacldriver.screenImpl", true, "github.com/supraio/client-daemon/pkg/x264/nacldecoder/nacldriver", false, function(doc_) {
190667
+ this.$val = this;
190668
+ if (arguments.length === 0) {
190669
+ this.doc = new js.Value.ptr(null, false, arrayType.zero());
190670
+ return;
190671
+ }
190672
+ this.doc = doc_;
190673
+ });
190674
+ BufferImpl = $pkg.BufferImpl = $newType(0, $kindStruct, "nacldriver.BufferImpl", true, "github.com/supraio/client-daemon/pkg/x264/nacldecoder/nacldriver", true, function(screen_, size_) {
190675
+ this.$val = this;
190676
+ if (arguments.length === 0) {
190677
+ this.screen = ptrType.nil;
190678
+ this.size = new image.Point.ptr(0, 0);
190679
+ return;
190680
+ }
190681
+ this.screen = screen_;
190682
+ this.size = size_;
190683
+ });
190684
+ sliceType = $sliceType($emptyInterface);
190685
+ ptrType = $ptrType(screenImpl);
190686
+ ptrType$1 = $ptrType(sync.Mutex);
190687
+ ptrType$2 = $ptrType(dom.DomEvents);
190688
+ ptrType$3 = $ptrType(js.Value);
190689
+ funcType = $funcType([], [], false);
190690
+ arrayType = $arrayType(funcType, 0);
190691
+ ptrType$4 = $ptrType(image.RGBA);
190692
+ sliceType$1 = $sliceType($Uint8);
190693
+ ptrType$5 = $ptrType(screen.DrawOptions);
190694
+ ptrType$6 = $ptrType(windowImpl);
190695
+ ptrType$7 = $ptrType(screen.NewWindowOptions);
190696
+ ptrType$8 = $ptrType(image.YCbCr);
190697
+ ptrType$9 = $ptrType(BufferImpl);
190698
+ newWindow = function(screen$1, opts) {
190699
+ var {_r, _r$1, domEvents, opts, screen$1, w, $s, $r, $c} = $restore(this, {screen$1, opts});
190700
+ /* */ $s = $s || 0; s: while (true) { switch ($s) { case 0:
190701
+ /* */ if (!(opts.Title === "")) { $s = 1; continue; }
190702
+ /* */ $s = 2; continue;
190703
+ /* if (!(opts.Title === "")) { */ case 1:
190704
+ _r = $clone($clone(screen$1.doc, js.Value).Get("head"), js.Value).Call("getElementsByTagName", new sliceType([new $String("title")])); /* */ $s = 3; case 3: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }
190705
+ _r$1 = $clone(_r, js.Value).Call("item", new sliceType([new $Int(0)])); /* */ $s = 4; case 4: if($c) { $c = false; _r$1 = _r$1.$blk(); } if (_r$1 && _r$1.$blk !== undefined) { break s; }
190706
+ $r = $clone(_r$1, js.Value).Set("innerHTML", new $String(opts.Title)); /* */ $s = 5; case 5: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
190707
+ /* } */ case 2:
190708
+ domEvents = dom.NewDomEvents();
190709
+ w = new windowImpl.ptr(screen$1, new sync.Mutex.ptr(0, 0), false, domEvents, false);
190710
+ $r = domEvents.BindEvents(); /* */ $s = 6; case 6: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
190711
+ $s = -1; return w;
190712
+ /* */ } return; } var $f = {$blk: newWindow, $c: true, $r, _r, _r$1, domEvents, opts, screen$1, w, $s};return $f;
190713
+ };
190714
+ windowImpl.ptr.prototype.Release = function() {
190715
+ var {w, $s, $deferred, $r, $c} = $restore(this, {});
190716
+ /* */ $s = $s || 0; var $err = null; try { s: while (true) { switch ($s) { case 0: $deferred = []; $curGoroutine.deferStack.push($deferred);
190717
+ w = this;
190718
+ $r = w.mutex.Lock(); /* */ $s = 1; case 1: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
190719
+ $deferred.push([$methodVal(w.mutex, "Unlock"), []]);
190720
+ /* */ if (w.released) { $s = 2; continue; }
190721
+ /* */ $s = 3; continue;
190722
+ /* if (w.released) { */ case 2:
190723
+ $s = 4; case 4: return;
190724
+ /* } */ case 3:
190725
+ $r = w.domEvents.Release(); /* */ $s = 5; case 5: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
190726
+ w.released = true;
190727
+ $s = -1; return;
190728
+ /* */ } return; } } catch(err) { $err = err; $s = -1; } finally { $callDeferred($deferred, $err); if($curGoroutine.asleep) { var $f = {$blk: windowImpl.ptr.prototype.Release, $c: true, $r, w, $s, $deferred};return $f; } }
190729
+ };
190730
+ windowImpl.prototype.Release = function() { return this.$val.Release(); };
190731
+ windowImpl.ptr.prototype.Publish = function() {
190732
+ var w;
190733
+ w = this;
190734
+ if (w.released) {
190735
+ return new screen.PublishResult.ptr(false);
190736
+ }
190737
+ return new screen.PublishResult.ptr(false);
190738
+ };
190739
+ windowImpl.prototype.Publish = function() { return this.$val.Publish(); };
190740
+ windowImpl.ptr.prototype.Send = function(event) {
190741
+ var event, w;
190742
+ w = this;
190743
+ if (w.released) {
190744
+ return;
190745
+ }
190746
+ $panic(new $String("Not implemented"));
190747
+ };
190748
+ windowImpl.prototype.Send = function(event) { return this.$val.Send(event); };
190749
+ windowImpl.ptr.prototype.SendFirst = function(event) {
190750
+ var event, w;
190751
+ w = this;
190752
+ if (w.released) {
190753
+ return;
190754
+ }
190755
+ $panic(new $String("Not implemented"));
190756
+ };
190757
+ windowImpl.prototype.SendFirst = function(event) { return this.$val.SendFirst(event); };
190758
+ windowImpl.ptr.prototype.NextEvent = function() {
190759
+ var {_r, ev, w, $s, $r, $c} = $restore(this, {});
190760
+ /* */ $s = $s || 0; s: while (true) { switch ($s) { case 0:
190761
+ w = this;
190762
+ _r = $recv(w.domEvents.GetEventChan()); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }
190763
+ ev = _r[0];
190764
+ $s = -1; return ev;
190765
+ /* */ } return; } var $f = {$blk: windowImpl.ptr.prototype.NextEvent, $c: true, $r, _r, ev, w, $s};return $f;
190766
+ };
190767
+ windowImpl.prototype.NextEvent = function() { return this.$val.NextEvent(); };
190768
+ windowImpl.ptr.prototype.Upload = function(dp, src, sr) {
190769
+ var {_r, dp, sr, src, w, $s, $r, $c} = $restore(this, {dp, src, sr});
190770
+ /* */ $s = $s || 0; s: while (true) { switch ($s) { case 0:
190771
+ w = this;
190772
+ if (w.released) {
190773
+ $s = -1; return;
190774
+ }
190775
+ _r = errs.Errorf("Not implemented, use UploadYCbCr instead", sliceType.nil); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }
190776
+ $panic(_r);
190777
+ $s = -1; return;
190778
+ /* */ } return; } var $f = {$blk: windowImpl.ptr.prototype.Upload, $c: true, $r, _r, dp, sr, src, w, $s};return $f;
190779
+ };
190780
+ windowImpl.prototype.Upload = function(dp, src, sr) { return this.$val.Upload(dp, src, sr); };
190781
+ windowImpl.ptr.prototype.UploadYCbCr = function(dp, src, sr) {
190782
+ var {_arg, _arg$1, _r, _r$1, _r$2, _r$3, _r$4, _r$5, _r$6, _tuple, _tuple$1, dp, err, err$1, jsNaClDecoder, picture, picturePromise, renderPromise, renderResult, sr, src, w, x, x$1, $s, $r, $c} = $restore(this, {dp, src, sr});
190783
+ /* */ $s = $s || 0; s: while (true) { switch ($s) { case 0:
190784
+ w = this;
190785
+ if (w.released) {
190786
+ $s = -1; return;
190787
+ }
190788
+ /* */ if (jsdecoder.ShouldResetOnNextDecode()) { $s = 1; continue; }
190789
+ /* */ $s = 2; continue;
190790
+ /* if (jsdecoder.ShouldResetOnNextDecode()) { */ case 1:
190791
+ $r = log.Println(new sliceType([new $String("NaClDecoder is resetting, skipping frame rendering")])); /* */ $s = 3; case 3: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
190792
+ $s = -1; return;
190793
+ /* } */ case 2:
190794
+ jsNaClDecoder = jsdecoder.GetJsNaClDecoder();
190795
+ /* */ if (jsNaClDecoder === ptrType$3.nil) { $s = 4; continue; }
190796
+ /* */ $s = 5; continue;
190797
+ /* if (jsNaClDecoder === ptrType$3.nil) { */ case 4:
190798
+ $r = log.Println(new sliceType([new $String("JsNaClDecoder is not created, skipping frame rendering")])); /* */ $s = 6; case 6: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
190799
+ $s = -1; return;
190800
+ /* } */ case 5:
190801
+ $r = w.mutex.Lock(); /* */ $s = 7; case 7: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
190802
+ _r = $clone(jsNaClDecoder, js.Value).Call("getPicture", sliceType.nil); /* */ $s = 8; case 8: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }
190803
+ picturePromise = $clone(_r, js.Value);
190804
+ _r$1 = jshelper.Await($clone(picturePromise, js.Value)); /* */ $s = 9; case 9: if($c) { $c = false; _r$1 = _r$1.$blk(); } if (_r$1 && _r$1.$blk !== undefined) { break s; }
190805
+ _tuple = _r$1;
190806
+ picture = _tuple[0];
190807
+ err = _tuple[1];
190808
+ $r = w.mutex.Unlock(); /* */ $s = 10; case 10: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
190809
+ /* */ if (!(err === ptrType$3.nil)) { $s = 11; continue; }
190810
+ /* */ $s = 12; continue;
190811
+ /* if (!(err === ptrType$3.nil)) { */ case 11:
190812
+ jsdecoder.ResetBeforeNextDecode();
190813
+ _r$2 = jshelper.GetError(err); /* */ $s = 13; case 13: if($c) { $c = false; _r$2 = _r$2.$blk(); } if (_r$2 && _r$2.$blk !== undefined) { break s; }
190814
+ _arg = _r$2;
190815
+ $r = errs.Print("Failed to get picture: %s", _arg); /* */ $s = 14; case 14: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
190816
+ $s = -1; return;
190817
+ /* } */ case 12:
190818
+ /* */ if (!jsdecoder.ShouldResetOnNextDecode() && !w.renderingInProgress) { $s = 15; continue; }
190819
+ /* */ $s = 16; continue;
190820
+ /* if (!jsdecoder.ShouldResetOnNextDecode() && !w.renderingInProgress) { */ case 15:
190821
+ w.renderingInProgress = true;
190822
+ _r$3 = $clone(jsNaClDecoder, js.Value).Call("render", new sliceType([(x = picture, new x.constructor.elem(x))])); /* */ $s = 17; case 17: if($c) { $c = false; _r$3 = _r$3.$blk(); } if (_r$3 && _r$3.$blk !== undefined) { break s; }
190823
+ renderPromise = $clone(_r$3, js.Value);
190824
+ _r$4 = jshelper.Await($clone(renderPromise, js.Value)); /* */ $s = 18; case 18: if($c) { $c = false; _r$4 = _r$4.$blk(); } if (_r$4 && _r$4.$blk !== undefined) { break s; }
190825
+ _tuple$1 = _r$4;
190826
+ renderResult = _tuple$1[0];
190827
+ err$1 = _tuple$1[1];
190828
+ w.renderingInProgress = false;
190829
+ /* */ if (!(err$1 === ptrType$3.nil)) { $s = 19; continue; }
190830
+ /* */ $s = 20; continue;
190831
+ /* if (!(err$1 === ptrType$3.nil)) { */ case 19:
190832
+ _r$5 = jshelper.GetError(err$1); /* */ $s = 21; case 21: if($c) { $c = false; _r$5 = _r$5.$blk(); } if (_r$5 && _r$5.$blk !== undefined) { break s; }
190833
+ _arg$1 = _r$5;
190834
+ $r = errs.Print("Failed to render frame: %s", _arg$1); /* */ $s = 22; case 22: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
190835
+ $s = -1; return;
190836
+ /* } */ case 20:
190837
+ /* */ if (!(($clone(renderResult, js.Value).Float() === 0))) { $s = 23; continue; }
190838
+ /* */ $s = 24; continue;
190839
+ /* if (!(($clone(renderResult, js.Value).Float() === 0))) { */ case 23:
190840
+ $r = log.Printf("Failed to render frame with code: %f\n", new sliceType([new $Float64($clone(renderResult, js.Value).Float())])); /* */ $s = 25; case 25: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
190841
+ $s = -1; return;
190842
+ /* } */ case 24:
190843
+ /* } */ case 16:
190844
+ _r$6 = $clone(jsNaClDecoder, js.Value).Call("recyclePicture", new sliceType([(x$1 = picture, new x$1.constructor.elem(x$1))])); /* */ $s = 26; case 26: if($c) { $c = false; _r$6 = _r$6.$blk(); } if (_r$6 && _r$6.$blk !== undefined) { break s; }
190845
+ _r$6;
190846
+ $s = -1; return;
190847
+ /* */ } return; } var $f = {$blk: windowImpl.ptr.prototype.UploadYCbCr, $c: true, $r, _arg, _arg$1, _r, _r$1, _r$2, _r$3, _r$4, _r$5, _r$6, _tuple, _tuple$1, dp, err, err$1, jsNaClDecoder, picture, picturePromise, renderPromise, renderResult, sr, src, w, x, x$1, $s};return $f;
190848
+ };
190849
+ windowImpl.prototype.UploadYCbCr = function(dp, src, sr) { return this.$val.UploadYCbCr(dp, src, sr); };
190850
+ windowImpl.ptr.prototype.Fill = function(dr, src, op) {
190851
+ var dr, op, src, w;
190852
+ w = this;
190853
+ if (w.released) {
190854
+ return;
190855
+ }
190856
+ $panic(new $String("Not implemented"));
190857
+ };
190858
+ windowImpl.prototype.Fill = function(dr, src, op) { return this.$val.Fill(dr, src, op); };
190859
+ windowImpl.ptr.prototype.Draw = function(src2dst, src, sr, op, opts) {
190860
+ var op, opts, sr, src, src2dst, w;
190861
+ w = this;
190862
+ if (w.released) {
190863
+ return;
190864
+ }
190865
+ $panic(new $String("Not implemented"));
190866
+ };
190867
+ windowImpl.prototype.Draw = function(src2dst, src, sr, op, opts) { return this.$val.Draw(src2dst, src, sr, op, opts); };
190868
+ windowImpl.ptr.prototype.DrawUniform = function(src2dst, src, sr, op, opts) {
190869
+ var op, opts, sr, src, src2dst, w;
190870
+ w = this;
190871
+ if (w.released) {
190872
+ return;
190873
+ }
190874
+ $panic(new $String("Not implemented"));
190875
+ };
190876
+ windowImpl.prototype.DrawUniform = function(src2dst, src, sr, op, opts) { return this.$val.DrawUniform(src2dst, src, sr, op, opts); };
190877
+ windowImpl.ptr.prototype.Copy = function(dp, src, sr, op, opts) {
190878
+ var dp, op, opts, sr, src, w;
190879
+ w = this;
190880
+ if (w.released) {
190881
+ return;
190882
+ }
190883
+ $panic(new $String("Not implemented"));
190884
+ };
190885
+ windowImpl.prototype.Copy = function(dp, src, sr, op, opts) { return this.$val.Copy(dp, src, sr, op, opts); };
190886
+ windowImpl.ptr.prototype.Scale = function(dr, src, sr, op, opts) {
190887
+ var dr, op, opts, sr, src, w;
190888
+ w = this;
190889
+ if (w.released) {
190890
+ return;
190891
+ }
190892
+ $panic(new $String("Not implemented"));
190893
+ };
190894
+ windowImpl.prototype.Scale = function(dr, src, sr, op, opts) { return this.$val.Scale(dr, src, sr, op, opts); };
190895
+ newScreenImpl = function() {
190896
+ var s;
190897
+ s = new screenImpl.ptr($clone($clone(js.Global(), js.Value).Get("document"), js.Value));
190898
+ return [s, $ifaceNil];
190899
+ };
190900
+ screenImpl.ptr.prototype.NewBuffer = function(size) {
190901
+ var buffer, s, size;
190902
+ s = this;
190903
+ buffer = newBuffer(s, $clone(size, image.Point));
190904
+ return [buffer, $ifaceNil];
190905
+ };
190906
+ screenImpl.prototype.NewBuffer = function(size) { return this.$val.NewBuffer(size); };
190907
+ screenImpl.ptr.prototype.NewTexture = function(size) {
190908
+ var {$24r, _r, s, size, $s, $r, $c} = $restore(this, {size});
190909
+ /* */ $s = $s || 0; s: while (true) { switch ($s) { case 0:
190910
+ s = this;
190911
+ _r = errs.Errorf("Texture not implemented", sliceType.nil); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }
190912
+ $24r = [$ifaceNil, _r];
190913
+ $s = 2; case 2: return $24r;
190914
+ /* */ } return; } var $f = {$blk: screenImpl.ptr.prototype.NewTexture, $c: true, $r, $24r, _r, s, size, $s};return $f;
190915
+ };
190916
+ screenImpl.prototype.NewTexture = function(size) { return this.$val.NewTexture(size); };
190917
+ screenImpl.ptr.prototype.NewWindow = function(opts) {
190918
+ var {_r, opts, s, window, $s, $r, $c} = $restore(this, {opts});
190919
+ /* */ $s = $s || 0; s: while (true) { switch ($s) { case 0:
190920
+ s = this;
190921
+ _r = newWindow(s, opts); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }
190922
+ window = _r;
190923
+ $s = -1; return [window, $ifaceNil];
190924
+ /* */ } return; } var $f = {$blk: screenImpl.ptr.prototype.NewWindow, $c: true, $r, _r, opts, s, window, $s};return $f;
190925
+ };
190926
+ screenImpl.prototype.NewWindow = function(opts) { return this.$val.NewWindow(opts); };
190927
+ main = function(f) {
190928
+ var {_tuple, err, f, retErr, s, $s, $r, $c} = $restore(this, {f});
190929
+ /* */ $s = $s || 0; s: while (true) { switch ($s) { case 0:
190930
+ retErr = $ifaceNil;
190931
+ _tuple = newScreenImpl();
190932
+ s = _tuple[0];
190933
+ err = _tuple[1];
190934
+ if (!($interfaceIsEqual(err, $ifaceNil))) {
190935
+ retErr = err;
190936
+ $s = -1; return retErr;
190937
+ }
190938
+ $r = f(s); /* */ $s = 1; case 1: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
190939
+ retErr = $ifaceNil;
190940
+ $s = -1; return retErr;
190941
+ /* */ } return; } var $f = {$blk: main, $c: true, $r, _tuple, err, f, retErr, s, $s};return $f;
190942
+ };
190943
+ newBuffer = function(screen$1, size) {
190944
+ var b, screen$1, size;
190945
+ b = new BufferImpl.ptr(screen$1, $clone(size, image.Point));
190946
+ return b;
190947
+ };
190948
+ BufferImpl.ptr.prototype.Size = function() {
190949
+ var b;
190950
+ b = this;
190951
+ return b.size;
190952
+ };
190953
+ BufferImpl.prototype.Size = function() { return this.$val.Size(); };
190954
+ BufferImpl.ptr.prototype.Bounds = function() {
190955
+ var b;
190956
+ b = this;
190957
+ return new image.Rectangle.ptr(new image.Point.ptr(0, 0), $clone(b.size, image.Point));
190958
+ };
190959
+ BufferImpl.prototype.Bounds = function() { return this.$val.Bounds(); };
190960
+ BufferImpl.ptr.prototype.RGBA = function() {
190961
+ var {_r, b, $s, $r, $c} = $restore(this, {});
190962
+ /* */ $s = $s || 0; s: while (true) { switch ($s) { case 0:
190963
+ b = this;
190964
+ _r = errs.Errorf("Not implemented RGBA(), use PictureResult() instead", sliceType.nil); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }
190965
+ $panic(_r);
190966
+ $s = -1; return ptrType$4.nil;
190967
+ /* */ } return; } var $f = {$blk: BufferImpl.ptr.prototype.RGBA, $c: true, $r, _r, b, $s};return $f;
190968
+ };
190969
+ BufferImpl.prototype.RGBA = function() { return this.$val.RGBA(); };
190970
+ BufferImpl.ptr.prototype.YCbCr = function() {
190971
+ var b;
190972
+ b = this;
190973
+ return new image.YCbCr.ptr(sliceType$1.nil, sliceType$1.nil, sliceType$1.nil, 0, 0, 0, $clone(b.Bounds(), image.Rectangle));
190974
+ };
190975
+ BufferImpl.prototype.YCbCr = function() { return this.$val.YCbCr(); };
190976
+ BufferImpl.ptr.prototype.Release = function() {
190977
+ var b;
190978
+ b = this;
190979
+ };
190980
+ BufferImpl.prototype.Release = function() { return this.$val.Release(); };
190981
+ ptrType$6.methods = [{prop: "Release", name: "Release", pkg: "", typ: $funcType([], [], false)}, {prop: "Publish", name: "Publish", pkg: "", typ: $funcType([], [screen.PublishResult], false)}, {prop: "Send", name: "Send", pkg: "", typ: $funcType([$emptyInterface], [], false)}, {prop: "SendFirst", name: "SendFirst", pkg: "", typ: $funcType([$emptyInterface], [], false)}, {prop: "NextEvent", name: "NextEvent", pkg: "", typ: $funcType([], [$emptyInterface], false)}, {prop: "Upload", name: "Upload", pkg: "", typ: $funcType([image.Point, screen.Buffer, image.Rectangle], [], false)}, {prop: "UploadYCbCr", name: "UploadYCbCr", pkg: "", typ: $funcType([image.Point, screen.Buffer, image.Rectangle], [], false)}, {prop: "Fill", name: "Fill", pkg: "", typ: $funcType([image.Rectangle, color.Color, draw.Op], [], false)}, {prop: "Draw", name: "Draw", pkg: "", typ: $funcType([f64.Aff3, screen.Texture, image.Rectangle, draw.Op, ptrType$5], [], false)}, {prop: "DrawUniform", name: "DrawUniform", pkg: "", typ: $funcType([f64.Aff3, color.Color, image.Rectangle, draw.Op, ptrType$5], [], false)}, {prop: "Copy", name: "Copy", pkg: "", typ: $funcType([image.Point, screen.Texture, image.Rectangle, draw.Op, ptrType$5], [], false)}, {prop: "Scale", name: "Scale", pkg: "", typ: $funcType([image.Rectangle, screen.Texture, image.Rectangle, draw.Op, ptrType$5], [], false)}];
190982
+ ptrType.methods = [{prop: "NewBuffer", name: "NewBuffer", pkg: "", typ: $funcType([image.Point], [screen.Buffer, $error], false)}, {prop: "NewTexture", name: "NewTexture", pkg: "", typ: $funcType([image.Point], [screen.Texture, $error], false)}, {prop: "NewWindow", name: "NewWindow", pkg: "", typ: $funcType([ptrType$7], [screen.Window, $error], false)}];
190983
+ ptrType$9.methods = [{prop: "Size", name: "Size", pkg: "", typ: $funcType([], [image.Point], false)}, {prop: "Bounds", name: "Bounds", pkg: "", typ: $funcType([], [image.Rectangle], false)}, {prop: "RGBA", name: "RGBA", pkg: "", typ: $funcType([], [ptrType$4], false)}, {prop: "YCbCr", name: "YCbCr", pkg: "", typ: $funcType([], [ptrType$8], false)}, {prop: "Release", name: "Release", pkg: "", typ: $funcType([], [], false)}];
190984
+ windowImpl.init("github.com/supraio/client-daemon/pkg/x264/nacldecoder/nacldriver", [{prop: "screen", name: "screen", embedded: false, exported: false, typ: ptrType, tag: ""}, {prop: "mutex", name: "mutex", embedded: false, exported: false, typ: ptrType$1, tag: ""}, {prop: "renderingInProgress", name: "renderingInProgress", embedded: false, exported: false, typ: $Bool, tag: ""}, {prop: "domEvents", name: "domEvents", embedded: false, exported: false, typ: ptrType$2, tag: ""}, {prop: "released", name: "released", embedded: false, exported: false, typ: $Bool, tag: ""}]);
190985
+ screenImpl.init("github.com/supraio/client-daemon/pkg/x264/nacldecoder/nacldriver", [{prop: "doc", name: "doc", embedded: false, exported: false, typ: js.Value, tag: ""}]);
190986
+ BufferImpl.init("github.com/supraio/client-daemon/pkg/x264/nacldecoder/nacldriver", [{prop: "screen", name: "screen", embedded: false, exported: false, typ: ptrType, tag: ""}, {prop: "size", name: "size", embedded: false, exported: false, typ: image.Point, tag: ""}]);
190987
+ $init = function() {
190988
+ $pkg.$init = function() {};
190989
+ /* */ var $f, $c = false, $s = 0, $r; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:
190990
+ $r = errs.$init(); /* */ $s = 1; case 1: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
190991
+ $r = jshelper.$init(); /* */ $s = 2; case 2: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
190992
+ $r = jsdecoder.$init(); /* */ $s = 3; case 3: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
190993
+ $r = dom.$init(); /* */ $s = 4; case 4: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
190994
+ $r = screen.$init(); /* */ $s = 5; case 5: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
190995
+ $r = f64.$init(); /* */ $s = 6; case 6: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
190996
+ $r = image.$init(); /* */ $s = 7; case 7: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
190997
+ $r = color.$init(); /* */ $s = 8; case 8: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
190998
+ $r = draw.$init(); /* */ $s = 9; case 9: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
190999
+ $r = log.$init(); /* */ $s = 10; case 10: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
191000
+ $r = sync.$init(); /* */ $s = 11; case 11: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
191001
+ $r = js.$init(); /* */ $s = 12; case 12: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
190498
191002
  /* */ } return; } if ($f === undefined) { $f = { $blk: $init }; } $f.$s = $s; $f.$r = $r; return $f;
190499
191003
  };
190500
191004
  $pkg.$init = $init;
@@ -190513,13 +191017,14 @@ $packages["golang.org/x/mobile/event/lifecycle"] = (function() {
190513
191017
  return $pkg;
190514
191018
  })();
190515
191019
  $packages["github.com/supraio/client-daemon/pkg/render"] = (function() {
190516
- var $pkg = {}, $init, binary, json, query, clientscreen, clipboard, errs, input, message, netclient, netpacket, netstream, stats, window, x264, webcodecs, canvasdriver, webgldriver, screen, focus, key, lifecycle, mouse, size, image, io, ioutil, log, os, path, strings, sync, js, time, screenParams, ScreenManager, ProcessInfo, ProcessInfoManager, ptrType$2, funcType, sliceType$1, sliceType$3, arrayType, ptrType$14, openScreenWindows, mutex, NewScreenManager, NewProcessInfoManager;
191020
+ var $pkg = {}, $init, binary, json, query, clientscreen, clipboard, errs, helper, input, message, netclient, netpacket, netstream, stats, window, x264, nacldecoder, nacldriver, webcodecs, canvasdriver, webgldriver, screen, focus, key, lifecycle, mouse, size, image, io, ioutil, log, os, path, strings, sync, js, time, screenParams, ScreenManager, ProcessInfo, ProcessInfoManager, ptrType$2, funcType, sliceType$1, sliceType$3, arrayType, ptrType$14, openScreenWindows, mutex, NewScreenManager, NewProcessInfoManager;
190517
191021
  binary = $packages["encoding/binary"];
190518
191022
  json = $packages["encoding/json"];
190519
191023
  query = $packages["github.com/google/go-querystring/query"];
190520
191024
  clientscreen = $packages["github.com/supraio/client-daemon/pkg/clientscreen"];
190521
191025
  clipboard = $packages["github.com/supraio/client-daemon/pkg/clipboard"];
190522
191026
  errs = $packages["github.com/supraio/client-daemon/pkg/errs"];
191027
+ helper = $packages["github.com/supraio/client-daemon/pkg/helper"];
190523
191028
  input = $packages["github.com/supraio/client-daemon/pkg/input"];
190524
191029
  message = $packages["github.com/supraio/client-daemon/pkg/message"];
190525
191030
  netclient = $packages["github.com/supraio/client-daemon/pkg/netclient"];
@@ -190528,6 +191033,8 @@ $packages["github.com/supraio/client-daemon/pkg/render"] = (function() {
190528
191033
  stats = $packages["github.com/supraio/client-daemon/pkg/stats"];
190529
191034
  window = $packages["github.com/supraio/client-daemon/pkg/window"];
190530
191035
  x264 = $packages["github.com/supraio/client-daemon/pkg/x264"];
191036
+ nacldecoder = $packages["github.com/supraio/client-daemon/pkg/x264/nacldecoder"];
191037
+ nacldriver = $packages["github.com/supraio/client-daemon/pkg/x264/nacldecoder/nacldriver"];
190531
191038
  webcodecs = $packages["github.com/supraio/client-daemon/pkg/x264/webcodecs"];
190532
191039
  canvasdriver = $packages["golang.org/x/exp/shiny/driver/canvasdriver"];
190533
191040
  webgldriver = $packages["golang.org/x/exp/shiny/driver/webgldriver"];
@@ -190967,33 +191474,36 @@ $packages["github.com/supraio/client-daemon/pkg/render"] = (function() {
190967
191474
  $r = clientscreen.$init(); /* */ $s = 4; case 4: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
190968
191475
  $r = clipboard.$init(); /* */ $s = 5; case 5: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
190969
191476
  $r = errs.$init(); /* */ $s = 6; case 6: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
190970
- $r = input.$init(); /* */ $s = 7; case 7: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
190971
- $r = message.$init(); /* */ $s = 8; case 8: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
190972
- $r = netclient.$init(); /* */ $s = 9; case 9: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
190973
- $r = netpacket.$init(); /* */ $s = 10; case 10: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
190974
- $r = netstream.$init(); /* */ $s = 11; case 11: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
190975
- $r = stats.$init(); /* */ $s = 12; case 12: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
190976
- $r = window.$init(); /* */ $s = 13; case 13: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
190977
- $r = x264.$init(); /* */ $s = 14; case 14: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
190978
- $r = webcodecs.$init(); /* */ $s = 15; case 15: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
190979
- $r = canvasdriver.$init(); /* */ $s = 16; case 16: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
190980
- $r = webgldriver.$init(); /* */ $s = 17; case 17: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
190981
- $r = screen.$init(); /* */ $s = 18; case 18: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
190982
- $r = focus.$init(); /* */ $s = 19; case 19: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
190983
- $r = key.$init(); /* */ $s = 20; case 20: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
190984
- $r = lifecycle.$init(); /* */ $s = 21; case 21: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
190985
- $r = mouse.$init(); /* */ $s = 22; case 22: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
190986
- $r = size.$init(); /* */ $s = 23; case 23: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
190987
- $r = image.$init(); /* */ $s = 24; case 24: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
190988
- $r = io.$init(); /* */ $s = 25; case 25: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
190989
- $r = ioutil.$init(); /* */ $s = 26; case 26: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
190990
- $r = log.$init(); /* */ $s = 27; case 27: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
190991
- $r = os.$init(); /* */ $s = 28; case 28: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
190992
- $r = path.$init(); /* */ $s = 29; case 29: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
190993
- $r = strings.$init(); /* */ $s = 30; case 30: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
190994
- $r = sync.$init(); /* */ $s = 31; case 31: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
190995
- $r = js.$init(); /* */ $s = 32; case 32: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
190996
- $r = time.$init(); /* */ $s = 33; case 33: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
191477
+ $r = helper.$init(); /* */ $s = 7; case 7: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
191478
+ $r = input.$init(); /* */ $s = 8; case 8: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
191479
+ $r = message.$init(); /* */ $s = 9; case 9: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
191480
+ $r = netclient.$init(); /* */ $s = 10; case 10: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
191481
+ $r = netpacket.$init(); /* */ $s = 11; case 11: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
191482
+ $r = netstream.$init(); /* */ $s = 12; case 12: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
191483
+ $r = stats.$init(); /* */ $s = 13; case 13: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
191484
+ $r = window.$init(); /* */ $s = 14; case 14: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
191485
+ $r = x264.$init(); /* */ $s = 15; case 15: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
191486
+ $r = nacldecoder.$init(); /* */ $s = 16; case 16: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
191487
+ $r = nacldriver.$init(); /* */ $s = 17; case 17: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
191488
+ $r = webcodecs.$init(); /* */ $s = 18; case 18: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
191489
+ $r = canvasdriver.$init(); /* */ $s = 19; case 19: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
191490
+ $r = webgldriver.$init(); /* */ $s = 20; case 20: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
191491
+ $r = screen.$init(); /* */ $s = 21; case 21: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
191492
+ $r = focus.$init(); /* */ $s = 22; case 22: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
191493
+ $r = key.$init(); /* */ $s = 23; case 23: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
191494
+ $r = lifecycle.$init(); /* */ $s = 24; case 24: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
191495
+ $r = mouse.$init(); /* */ $s = 25; case 25: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
191496
+ $r = size.$init(); /* */ $s = 26; case 26: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
191497
+ $r = image.$init(); /* */ $s = 27; case 27: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
191498
+ $r = io.$init(); /* */ $s = 28; case 28: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
191499
+ $r = ioutil.$init(); /* */ $s = 29; case 29: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
191500
+ $r = log.$init(); /* */ $s = 30; case 30: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
191501
+ $r = os.$init(); /* */ $s = 31; case 31: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
191502
+ $r = path.$init(); /* */ $s = 32; case 32: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
191503
+ $r = strings.$init(); /* */ $s = 33; case 33: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
191504
+ $r = sync.$init(); /* */ $s = 34; case 34: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
191505
+ $r = js.$init(); /* */ $s = 35; case 35: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
191506
+ $r = time.$init(); /* */ $s = 36; case 36: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
190997
191507
  openScreenWindows = $makeMap($String.keyFor, []);
190998
191508
  mutex = new sync.Mutex.ptr(0, 0);
190999
191509
  /* */ } return; } if ($f === undefined) { $f = { $blk: $init }; } $f.$s = $s; $f.$r = $r; return $f;