@supraio/client-daemon-js 1.0.0-mzbrightsigndecoder.482 → 1.0.0-mzbrightsigndecoder.483

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.
@@ -198079,7 +198079,7 @@ $packages["golang.org/x/mobile/event/lifecycle"] = (function() {
198079
198079
  return $pkg;
198080
198080
  })();
198081
198081
  $packages["github.com/supraio/client-daemon/pkg/render"] = (function() {
198082
- var $pkg = {}, $init, binary, json, fmt, query, clientscreen, clipboard, brightsigndecoder, nacldecoder, nacldriver, samsungwasmdecoder, webcodecs, errs, helper, input, message, netclient, netpacket, netstream, netframe, jswebsocketworker, player, overlaydriver, stats, videostream, window, canvasdriver, webgldriver, screen, focus, key, lifecycle, mouse, size, touch, geom, image, io, ioutil, log, os, path, filepath, runtime, strconv, strings, sync, js, time, ScreenWindow, Geometry, screenWindowDetachEvent, nonBlockingWindowEventSender, ProcessInfo, ProcessInfoManager, sliceType, sliceType$1, ptrType, ptrType$1, ptrType$2, funcType, sliceType$2, ptrType$3, ptrType$4, ptrType$5, ptrType$6, ptrType$7, ptrType$8, ptrType$9, ptrType$10, ptrType$11, ptrType$12, ptrType$13, ptrType$14, structType, interfaceType, sliceType$3, sliceType$4, arrayType, mapType, funcType$1, ptrType$15, chanType, chanType$1, chanType$2, chanType$3, chanType$4, chanType$5, chanType$6, onScreenWindowStarted, RegisterVideoStream, UnregisterVideoStream, encodeDisconnectReason, NewScreenWindow, sendWindowEventNonBlocking, MainDriver, NewProcessInfoManager, init, registerJSBridge, newJSBridgeFacades, geometryValue;
198082
+ var $pkg = {}, $init, binary, json, fmt, query, clientscreen, clipboard, brightsigndecoder, nacldecoder, nacldriver, samsungwasmdecoder, webcodecs, errs, helper, input, message, netclient, netpacket, netstream, netframe, jswebsocketworker, player, overlaydriver, stats, videostream, window, canvasdriver, webgldriver, screen, focus, key, lifecycle, mouse, size, touch, geom, image, io, ioutil, log, os, path, filepath, runtime, strconv, strings, sync, js, time, ScreenWindow, Geometry, screenWindowDetachEvent, nonBlockingWindowEventSender, ProcessInfo, ProcessInfoManager, sliceType, sliceType$1, ptrType, ptrType$1, ptrType$2, funcType, sliceType$2, ptrType$3, ptrType$4, ptrType$5, ptrType$6, ptrType$7, ptrType$8, ptrType$9, ptrType$10, ptrType$11, ptrType$12, ptrType$13, ptrType$14, structType, interfaceType, sliceType$3, sliceType$4, arrayType, mapType, funcType$1, ptrType$15, chanType, chanType$1, chanType$2, chanType$3, chanType$4, chanType$5, chanType$6, onScreenWindowStarted, RegisterVideoStream, shouldManageVideoStream, UnregisterVideoStream, encodeDisconnectReason, NewScreenWindow, sendWindowEventNonBlocking, MainDriver, NewProcessInfoManager, isNativeDecoderActive, init, registerJSBridge, newJSBridgeFacades, geometryValue;
198083
198083
  binary = $packages["encoding/binary"];
198084
198084
  json = $packages["encoding/json"];
198085
198085
  fmt = $packages["fmt"];
@@ -198294,81 +198294,109 @@ $packages["github.com/supraio/client-daemon/pkg/render"] = (function() {
198294
198294
  chanType$5 = $chanType(touch.Event, false, false);
198295
198295
  chanType$6 = $chanType($emptyInterface, false, false);
198296
198296
  RegisterVideoStream = function(sender) {
198297
- var {_r, _r$1, _r$2, _r$3, _r$4, _r$5, data, err, isAvailable, port, protocol, sender, streamHostname, videoStreamer, $s, $r, $c} = $restore(this, {sender});
198297
+ var {_r, _r$1, _r$2, _r$3, _r$4, _r$5, _tuple, data, err, isAvailable, port, protocol, sender, shouldManage, skipReason, streamHostname, videoStreamer, $s, $r, $c} = $restore(this, {sender});
198298
198298
  /* */ $s = $s || 0; s: while (true) { switch ($s) { case 0:
198299
198299
  videoStreamer = videostream.Get();
198300
198300
  _r = videoStreamer.IsAvailable(); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }
198301
198301
  isAvailable = _r;
198302
198302
  $r = log.Printf("Video stream register probe: available=%t", new sliceType([new $Bool(isAvailable)])); /* */ $s = 2; case 2: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
198303
- /* */ if (isAvailable) { $s = 3; continue; }
198303
+ _tuple = shouldManageVideoStream(isAvailable, isNativeDecoderActive());
198304
+ shouldManage = _tuple[0];
198305
+ skipReason = _tuple[1];
198306
+ /* */ if (!shouldManage) { $s = 3; continue; }
198304
198307
  /* */ $s = 4; continue;
198305
- /* if (isAvailable) { */ case 3:
198306
- _r$1 = videoStreamer.GetProtocol(); /* */ $s = 5; case 5: if($c) { $c = false; _r$1 = _r$1.$blk(); } if (_r$1 && _r$1.$blk !== undefined) { break s; }
198307
- protocol = _r$1;
198308
- _r$2 = videoStreamer.GetPort(); /* */ $s = 6; case 6: if($c) { $c = false; _r$2 = _r$2.$blk(); } if (_r$2 && _r$2.$blk !== undefined) { break s; }
198309
- port = _r$2;
198310
- _r$3 = videoStreamer.GetHostname(); /* */ $s = 7; case 7: if($c) { $c = false; _r$3 = _r$3.$blk(); } if (_r$3 && _r$3.$blk !== undefined) { break s; }
198311
- streamHostname = _r$3;
198312
- $r = log.Printf("Video stream register begin: protocol=%d port=%d hostname=%q", new sliceType([new videostream.Protocol(protocol), new $Uint16(port), new $String(streamHostname)])); /* */ $s = 8; case 8: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
198313
- data = $makeSlice(sliceType$1, 3);
198314
- (0 >= data.$length ? ($throwRuntimeError("index out of range"), undefined) : data.$array[data.$offset + 0] = ((protocol << 24 >>> 24)));
198315
- $clone(binary.BigEndian, binary.bigEndian).PutUint16($subslice(data, 1), (port));
198316
- if (!(streamHostname === "")) {
198317
- data = $appendSlice(data, (new sliceType$1($stringToBytes(streamHostname))));
198318
- }
198319
- _r$4 = sender.Send(5, data); /* */ $s = 9; case 9: if($c) { $c = false; _r$4 = _r$4.$blk(); } if (_r$4 && _r$4.$blk !== undefined) { break s; }
198320
- err = _r$4;
198321
- /* */ if (!($interfaceIsEqual(err, $ifaceNil))) { $s = 10; continue; }
198322
- /* */ $s = 11; continue;
198323
- /* if (!($interfaceIsEqual(err, $ifaceNil))) { */ case 10:
198324
- $r = log.Printf("Video stream register send failed: %v", new sliceType([err])); /* */ $s = 12; case 12: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
198325
- $s = -1; return err;
198326
- /* } */ case 11:
198327
- _r$5 = videoStreamer.Play(); /* */ $s = 13; case 13: if($c) { $c = false; _r$5 = _r$5.$blk(); } if (_r$5 && _r$5.$blk !== undefined) { break s; }
198328
- err = _r$5;
198329
- /* */ if (!($interfaceIsEqual(err, $ifaceNil))) { $s = 14; continue; }
198330
- /* */ $s = 15; continue;
198331
- /* if (!($interfaceIsEqual(err, $ifaceNil))) { */ case 14:
198332
- $r = log.Printf("Video stream play failed: %v", new sliceType([err])); /* */ $s = 16; case 16: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
198333
- $s = -1; return err;
198334
- /* } */ case 15:
198335
- $r = log.Println(new sliceType([new $String("Video stream register complete")])); /* */ $s = 17; case 17: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
198308
+ /* if (!shouldManage) { */ case 3:
198309
+ /* */ if (!(skipReason === "")) { $s = 5; continue; }
198310
+ /* */ $s = 6; continue;
198311
+ /* if (!(skipReason === "")) { */ case 5:
198312
+ $r = log.Printf("Video stream register skipped: %s", new sliceType([new $String(skipReason)])); /* */ $s = 7; case 7: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
198313
+ /* } */ case 6:
198314
+ $s = -1; return $ifaceNil;
198336
198315
  /* } */ case 4:
198316
+ _r$1 = videoStreamer.GetProtocol(); /* */ $s = 8; case 8: if($c) { $c = false; _r$1 = _r$1.$blk(); } if (_r$1 && _r$1.$blk !== undefined) { break s; }
198317
+ protocol = _r$1;
198318
+ _r$2 = videoStreamer.GetPort(); /* */ $s = 9; case 9: if($c) { $c = false; _r$2 = _r$2.$blk(); } if (_r$2 && _r$2.$blk !== undefined) { break s; }
198319
+ port = _r$2;
198320
+ _r$3 = videoStreamer.GetHostname(); /* */ $s = 10; case 10: if($c) { $c = false; _r$3 = _r$3.$blk(); } if (_r$3 && _r$3.$blk !== undefined) { break s; }
198321
+ streamHostname = _r$3;
198322
+ $r = log.Printf("Video stream register begin: protocol=%d port=%d hostname=%q", new sliceType([new videostream.Protocol(protocol), new $Uint16(port), new $String(streamHostname)])); /* */ $s = 11; case 11: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
198323
+ data = $makeSlice(sliceType$1, 3);
198324
+ (0 >= data.$length ? ($throwRuntimeError("index out of range"), undefined) : data.$array[data.$offset + 0] = ((protocol << 24 >>> 24)));
198325
+ $clone(binary.BigEndian, binary.bigEndian).PutUint16($subslice(data, 1), (port));
198326
+ if (!(streamHostname === "")) {
198327
+ data = $appendSlice(data, (new sliceType$1($stringToBytes(streamHostname))));
198328
+ }
198329
+ _r$4 = sender.Send(5, data); /* */ $s = 12; case 12: if($c) { $c = false; _r$4 = _r$4.$blk(); } if (_r$4 && _r$4.$blk !== undefined) { break s; }
198330
+ err = _r$4;
198331
+ /* */ if (!($interfaceIsEqual(err, $ifaceNil))) { $s = 13; continue; }
198332
+ /* */ $s = 14; continue;
198333
+ /* if (!($interfaceIsEqual(err, $ifaceNil))) { */ case 13:
198334
+ $r = log.Printf("Video stream register send failed: %v", new sliceType([err])); /* */ $s = 15; case 15: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
198335
+ $s = -1; return err;
198336
+ /* } */ case 14:
198337
+ _r$5 = videoStreamer.Play(); /* */ $s = 16; case 16: if($c) { $c = false; _r$5 = _r$5.$blk(); } if (_r$5 && _r$5.$blk !== undefined) { break s; }
198338
+ err = _r$5;
198339
+ /* */ if (!($interfaceIsEqual(err, $ifaceNil))) { $s = 17; continue; }
198340
+ /* */ $s = 18; continue;
198341
+ /* if (!($interfaceIsEqual(err, $ifaceNil))) { */ case 17:
198342
+ $r = log.Printf("Video stream play failed: %v", new sliceType([err])); /* */ $s = 19; case 19: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
198343
+ $s = -1; return err;
198344
+ /* } */ case 18:
198345
+ $r = log.Println(new sliceType([new $String("Video stream register complete")])); /* */ $s = 20; case 20: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
198337
198346
  $s = -1; return $ifaceNil;
198338
- /* */ } return; } var $f = {$blk: RegisterVideoStream, $c: true, $r, _r, _r$1, _r$2, _r$3, _r$4, _r$5, data, err, isAvailable, port, protocol, sender, streamHostname, videoStreamer, $s};return $f;
198347
+ /* */ } return; } var $f = {$blk: RegisterVideoStream, $c: true, $r, _r, _r$1, _r$2, _r$3, _r$4, _r$5, _tuple, data, err, isAvailable, port, protocol, sender, shouldManage, skipReason, streamHostname, videoStreamer, $s};return $f;
198339
198348
  };
198340
198349
  $pkg.RegisterVideoStream = RegisterVideoStream;
198350
+ shouldManageVideoStream = function(isAvailable, nativeDecoderActive) {
198351
+ var isAvailable, nativeDecoderActive;
198352
+ if (!isAvailable) {
198353
+ return [false, "streamer unavailable"];
198354
+ }
198355
+ if (nativeDecoderActive) {
198356
+ return [false, "native decoder active"];
198357
+ }
198358
+ return [true, ""];
198359
+ };
198341
198360
  UnregisterVideoStream = function(sender) {
198342
- var {_r, _r$1, _r$2, err, isAvailable, sender, videoStreamer, $s, $r, $c} = $restore(this, {sender});
198361
+ var {_r, _r$1, _r$2, _tuple, err, isAvailable, sender, shouldManage, skipReason, videoStreamer, $s, $r, $c} = $restore(this, {sender});
198343
198362
  /* */ $s = $s || 0; s: while (true) { switch ($s) { case 0:
198344
198363
  videoStreamer = videostream.Get();
198345
198364
  _r = videoStreamer.IsAvailable(); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }
198346
198365
  isAvailable = _r;
198347
198366
  $r = log.Printf("Video stream unregister probe: available=%t", new sliceType([new $Bool(isAvailable)])); /* */ $s = 2; case 2: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
198348
- /* */ if (isAvailable) { $s = 3; continue; }
198367
+ _tuple = shouldManageVideoStream(isAvailable, isNativeDecoderActive());
198368
+ shouldManage = _tuple[0];
198369
+ skipReason = _tuple[1];
198370
+ /* */ if (!shouldManage) { $s = 3; continue; }
198349
198371
  /* */ $s = 4; continue;
198350
- /* if (isAvailable) { */ case 3:
198351
- $r = log.Println(new sliceType([new $String("Video stream unregister begin")])); /* */ $s = 5; case 5: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
198352
- _r$1 = videoStreamer.Stop(); /* */ $s = 6; case 6: if($c) { $c = false; _r$1 = _r$1.$blk(); } if (_r$1 && _r$1.$blk !== undefined) { break s; }
198353
- err = _r$1;
198354
- /* */ if (!($interfaceIsEqual(err, $ifaceNil))) { $s = 7; continue; }
198355
- /* */ $s = 8; continue;
198356
- /* if (!($interfaceIsEqual(err, $ifaceNil))) { */ case 7:
198357
- $r = log.Printf("Video stream stop failed: %v", new sliceType([err])); /* */ $s = 9; case 9: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
198358
- $s = -1; return err;
198359
- /* } */ case 8:
198360
- _r$2 = sender.Send(6, new sliceType$1([])); /* */ $s = 10; case 10: if($c) { $c = false; _r$2 = _r$2.$blk(); } if (_r$2 && _r$2.$blk !== undefined) { break s; }
198361
- err = _r$2;
198362
- /* */ if (!($interfaceIsEqual(err, $ifaceNil))) { $s = 11; continue; }
198363
- /* */ $s = 12; continue;
198364
- /* if (!($interfaceIsEqual(err, $ifaceNil))) { */ case 11:
198365
- $r = log.Printf("Video stream unregister send failed: %v", new sliceType([err])); /* */ $s = 13; case 13: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
198366
- $s = -1; return err;
198367
- /* } */ case 12:
198368
- $r = log.Println(new sliceType([new $String("Video stream unregister complete")])); /* */ $s = 14; case 14: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
198372
+ /* if (!shouldManage) { */ case 3:
198373
+ /* */ if (!(skipReason === "")) { $s = 5; continue; }
198374
+ /* */ $s = 6; continue;
198375
+ /* if (!(skipReason === "")) { */ case 5:
198376
+ $r = log.Printf("Video stream unregister skipped: %s", new sliceType([new $String(skipReason)])); /* */ $s = 7; case 7: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
198377
+ /* } */ case 6:
198378
+ $s = -1; return $ifaceNil;
198369
198379
  /* } */ case 4:
198380
+ $r = log.Println(new sliceType([new $String("Video stream unregister begin")])); /* */ $s = 8; case 8: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
198381
+ _r$1 = videoStreamer.Stop(); /* */ $s = 9; case 9: if($c) { $c = false; _r$1 = _r$1.$blk(); } if (_r$1 && _r$1.$blk !== undefined) { break s; }
198382
+ err = _r$1;
198383
+ /* */ if (!($interfaceIsEqual(err, $ifaceNil))) { $s = 10; continue; }
198384
+ /* */ $s = 11; continue;
198385
+ /* if (!($interfaceIsEqual(err, $ifaceNil))) { */ case 10:
198386
+ $r = log.Printf("Video stream stop failed: %v", new sliceType([err])); /* */ $s = 12; case 12: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
198387
+ $s = -1; return err;
198388
+ /* } */ case 11:
198389
+ _r$2 = sender.Send(6, new sliceType$1([])); /* */ $s = 13; case 13: if($c) { $c = false; _r$2 = _r$2.$blk(); } if (_r$2 && _r$2.$blk !== undefined) { break s; }
198390
+ err = _r$2;
198391
+ /* */ if (!($interfaceIsEqual(err, $ifaceNil))) { $s = 14; continue; }
198392
+ /* */ $s = 15; continue;
198393
+ /* if (!($interfaceIsEqual(err, $ifaceNil))) { */ case 14:
198394
+ $r = log.Printf("Video stream unregister send failed: %v", new sliceType([err])); /* */ $s = 16; case 16: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
198395
+ $s = -1; return err;
198396
+ /* } */ case 15:
198397
+ $r = log.Println(new sliceType([new $String("Video stream unregister complete")])); /* */ $s = 17; case 17: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
198370
198398
  $s = -1; return $ifaceNil;
198371
- /* */ } return; } var $f = {$blk: UnregisterVideoStream, $c: true, $r, _r, _r$1, _r$2, err, isAvailable, sender, videoStreamer, $s};return $f;
198399
+ /* */ } return; } var $f = {$blk: UnregisterVideoStream, $c: true, $r, _r, _r$1, _r$2, _tuple, err, isAvailable, sender, shouldManage, skipReason, videoStreamer, $s};return $f;
198372
198400
  };
198373
198401
  $pkg.UnregisterVideoStream = UnregisterVideoStream;
198374
198402
  ScreenWindow.ptr.prototype.Geometry = function() {
@@ -198407,6 +198435,31 @@ $packages["github.com/supraio/client-daemon/pkg/render"] = (function() {
198407
198435
  /* */ } return; } } catch(err) { $err = err; $s = -1; return ""; } finally { $callDeferred($deferred, $err); if($curGoroutine.asleep) { var $f = {$blk: ScreenWindow.ptr.prototype.getCloseReason, $c: true, $r, $24r, $24r$1, w, $s, $deferred};return $f; } }
198408
198436
  };
198409
198437
  ScreenWindow.prototype.getCloseReason = function() { return this.$val.getCloseReason(); };
198438
+ ScreenWindow.ptr.prototype.ensureCloseReasonLocked = function(skip, fallback) {
198439
+ var {_r, _tuple, fallback, file, line, ok, skip, w, $s, $r, $c} = $restore(this, {skip, fallback});
198440
+ /* */ $s = $s || 0; s: while (true) { switch ($s) { case 0:
198441
+ w = this;
198442
+ /* */ if (w.closeReason === "") { $s = 1; continue; }
198443
+ /* */ $s = 2; continue;
198444
+ /* if (w.closeReason === "") { */ case 1:
198445
+ _tuple = runtime.Caller(skip);
198446
+ file = _tuple[1];
198447
+ line = _tuple[2];
198448
+ ok = _tuple[3];
198449
+ /* */ if (ok) { $s = 3; continue; }
198450
+ /* */ $s = 4; continue;
198451
+ /* if (ok) { */ case 3:
198452
+ _r = fmt.Sprintf("%s at %s:%d", new sliceType([new $String(fallback), new $String(filepath.Base(file)), new $Int(line)])); /* */ $s = 6; case 6: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }
198453
+ w.closeReason = _r;
198454
+ $s = 5; continue;
198455
+ /* } else { */ case 4:
198456
+ w.closeReason = fallback;
198457
+ /* } */ case 5:
198458
+ /* } */ case 2:
198459
+ $s = -1; return w.closeReason;
198460
+ /* */ } return; } var $f = {$blk: ScreenWindow.ptr.prototype.ensureCloseReasonLocked, $c: true, $r, _r, _tuple, fallback, file, line, ok, skip, w, $s};return $f;
198461
+ };
198462
+ ScreenWindow.prototype.ensureCloseReasonLocked = function(skip, fallback) { return this.$val.ensureCloseReasonLocked(skip, fallback); };
198410
198463
  encodeDisconnectReason = function(reason) {
198411
198464
  var data, reason;
198412
198465
  if (reason === "" || reason === "unspecified") {
@@ -198490,155 +198543,139 @@ $packages["github.com/supraio/client-daemon/pkg/render"] = (function() {
198490
198543
  };
198491
198544
  ScreenWindow.prototype.Start = function() { return this.$val.Start(); };
198492
198545
  ScreenWindow.ptr.prototype.Close = function() {
198493
- var {_arg, _arg$1, _i, _r, _r$1, _r$2, _r$3, _r$4, _r$5, _r$6, _r$7, _r$8, _ref, _selection, _selection$1, _tuple, callback, closeDone, closeDone$1, closeReason, closeStartedAt, err, eventLoopDone, eventLoopStop, file, index, line, ok, w, window$1, x, x$1, $s, $r, $c} = $restore(this, {});
198546
+ var {_arg, _arg$1, _i, _r, _r$1, _r$2, _r$3, _r$4, _r$5, _r$6, _r$7, _r$8, _ref, _selection, _selection$1, callback, closeDone, closeDone$1, closeReason, closeStartedAt, err, eventLoopDone, eventLoopStop, index, w, window$1, x, x$1, $s, $r, $c} = $restore(this, {});
198494
198547
  /* */ $s = $s || 0; s: while (true) { switch ($s) { case 0:
198495
198548
  w = this;
198496
198549
  _r = time.Now(); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }
198497
198550
  closeStartedAt = $clone(_r, time.Time);
198498
198551
  $r = w.closeMu.Lock(); /* */ $s = 2; case 2: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
198499
- /* */ if (w.closeReason === "") { $s = 3; continue; }
198500
- /* */ $s = 4; continue;
198501
- /* if (w.closeReason === "") { */ case 3:
198502
- _tuple = runtime.Caller(1);
198503
- file = _tuple[1];
198504
- line = _tuple[2];
198505
- ok = _tuple[3];
198506
- /* */ if (ok) { $s = 5; continue; }
198507
- /* */ $s = 6; continue;
198508
- /* if (ok) { */ case 5:
198509
- _r$1 = fmt.Sprintf("Close() without explicit reason at %s:%d", new sliceType([new $String(filepath.Base(file)), new $Int(line)])); /* */ $s = 8; case 8: if($c) { $c = false; _r$1 = _r$1.$blk(); } if (_r$1 && _r$1.$blk !== undefined) { break s; }
198510
- w.closeReason = _r$1;
198511
- $s = 7; continue;
198512
- /* } else { */ case 6:
198513
- w.closeReason = "Close() without explicit reason";
198514
- /* } */ case 7:
198515
- /* } */ case 4:
198516
- closeReason = w.closeReason;
198517
- /* */ if (w.closed) { $s = 9; continue; }
198518
- /* */ $s = 10; continue;
198519
- /* if (w.closed) { */ case 9:
198552
+ _r$1 = w.ensureCloseReasonLocked(2, "Close() without explicit reason"); /* */ $s = 3; case 3: if($c) { $c = false; _r$1 = _r$1.$blk(); } if (_r$1 && _r$1.$blk !== undefined) { break s; }
198553
+ closeReason = _r$1;
198554
+ /* */ if (w.closed) { $s = 4; continue; }
198555
+ /* */ $s = 5; continue;
198556
+ /* if (w.closed) { */ case 4:
198520
198557
  closeDone = w.closeDone;
198521
- $r = w.closeMu.Unlock(); /* */ $s = 11; case 11: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
198522
- $r = log.Printf("Screen close lifecycle: Close entered reason=%s", new sliceType([new $String(closeReason)])); /* */ $s = 12; case 12: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
198523
- /* */ if (!(closeDone === $chanNil)) { $s = 13; continue; }
198524
- /* */ $s = 14; continue;
198525
- /* if (!(closeDone === $chanNil)) { */ case 13:
198526
- $r = log.Println(new sliceType([new $String("Screen close lifecycle: concurrent caller waiting")])); /* */ $s = 15; case 15: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
198527
- _r$2 = $recv(closeDone); /* */ $s = 16; case 16: if($c) { $c = false; _r$2 = _r$2.$blk(); } if (_r$2 && _r$2.$blk !== undefined) { break s; }
198558
+ $r = w.closeMu.Unlock(); /* */ $s = 6; case 6: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
198559
+ $r = log.Printf("Screen close lifecycle: Close entered reason=%s", new sliceType([new $String(closeReason)])); /* */ $s = 7; case 7: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
198560
+ /* */ if (!(closeDone === $chanNil)) { $s = 8; continue; }
198561
+ /* */ $s = 9; continue;
198562
+ /* if (!(closeDone === $chanNil)) { */ case 8:
198563
+ $r = log.Println(new sliceType([new $String("Screen close lifecycle: concurrent caller waiting")])); /* */ $s = 10; case 10: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
198564
+ _r$2 = $recv(closeDone); /* */ $s = 11; case 11: if($c) { $c = false; _r$2 = _r$2.$blk(); } if (_r$2 && _r$2.$blk !== undefined) { break s; }
198528
198565
  _r$2[0];
198529
- _r$3 = time.Since($clone(closeStartedAt, time.Time)); /* */ $s = 17; case 17: if($c) { $c = false; _r$3 = _r$3.$blk(); } if (_r$3 && _r$3.$blk !== undefined) { break s; }
198566
+ _r$3 = time.Since($clone(closeStartedAt, time.Time)); /* */ $s = 12; case 12: if($c) { $c = false; _r$3 = _r$3.$blk(); } if (_r$3 && _r$3.$blk !== undefined) { break s; }
198530
198567
  _arg = _r$3;
198531
- $r = log.Printf("Screen close lifecycle: concurrent caller released elapsed=%s", new sliceType([_arg])); /* */ $s = 18; case 18: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
198532
- /* } */ case 14:
198568
+ $r = log.Printf("Screen close lifecycle: concurrent caller released elapsed=%s", new sliceType([_arg])); /* */ $s = 13; case 13: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
198569
+ /* } */ case 9:
198533
198570
  $s = -1; return;
198534
- /* } */ case 10:
198571
+ /* } */ case 5:
198535
198572
  w.closed = true;
198536
198573
  closeDone$1 = w.closeDone;
198537
- $r = w.closeMu.Unlock(); /* */ $s = 19; case 19: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
198538
- $r = log.Printf("Screen close lifecycle: Close entered reason=%s", new sliceType([new $String(closeReason)])); /* */ $s = 20; case 20: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
198539
- $r = log.Println(new sliceType([new $String("Screen close lifecycle: event metrics stop begin")])); /* */ $s = 21; case 21: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
198540
- $r = w.eventMetrics.Stop(); /* */ $s = 22; case 22: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
198541
- $r = log.Println(new sliceType([new $String("Screen close lifecycle: event metrics stop complete")])); /* */ $s = 23; case 23: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
198542
- $r = log.Println(new sliceType([new $String("Screen close lifecycle: screen teardown begin")])); /* */ $s = 24; case 24: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
198543
- _r$4 = w.closeScreen(); /* */ $s = 25; case 25: if($c) { $c = false; _r$4 = _r$4.$blk(); } if (_r$4 && _r$4.$blk !== undefined) { break s; }
198574
+ $r = w.closeMu.Unlock(); /* */ $s = 14; case 14: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
198575
+ $r = log.Printf("Screen close lifecycle: Close entered reason=%s", new sliceType([new $String(closeReason)])); /* */ $s = 15; case 15: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
198576
+ $r = log.Println(new sliceType([new $String("Screen close lifecycle: event metrics stop begin")])); /* */ $s = 16; case 16: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
198577
+ $r = w.eventMetrics.Stop(); /* */ $s = 17; case 17: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
198578
+ $r = log.Println(new sliceType([new $String("Screen close lifecycle: event metrics stop complete")])); /* */ $s = 18; case 18: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
198579
+ $r = log.Println(new sliceType([new $String("Screen close lifecycle: screen teardown begin")])); /* */ $s = 19; case 19: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
198580
+ _r$4 = w.closeScreen(); /* */ $s = 20; case 20: if($c) { $c = false; _r$4 = _r$4.$blk(); } if (_r$4 && _r$4.$blk !== undefined) { break s; }
198544
198581
  err = _r$4;
198545
- /* */ if (!($interfaceIsEqual(err, $ifaceNil))) { $s = 26; continue; }
198546
- /* */ $s = 27; continue;
198547
- /* if (!($interfaceIsEqual(err, $ifaceNil))) { */ case 26:
198548
- $r = errs.Print("Cannot close screen", err); /* */ $s = 28; case 28: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
198549
- /* } */ case 27:
198550
- $r = log.Println(new sliceType([new $String("Screen close lifecycle: screen teardown complete")])); /* */ $s = 29; case 29: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
198551
- $r = log.Println(new sliceType([new $String("Screen close lifecycle: stats stop begin")])); /* */ $s = 30; case 30: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
198552
- $r = w.stats.Stop(); /* */ $s = 31; case 31: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
198553
- $r = log.Println(new sliceType([new $String("Screen close lifecycle: stats stop complete")])); /* */ $s = 32; case 32: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
198554
- /* */ if (!(w.metadataServer === ptrType$3.nil)) { $s = 33; continue; }
198555
- /* */ $s = 34; continue;
198556
- /* if (!(w.metadataServer === ptrType$3.nil)) { */ case 33:
198557
- /* */ if (!(w.responsiveSender === ptrType$4.nil)) { $s = 35; continue; }
198558
- /* */ $s = 36; continue;
198559
- /* if (!(w.responsiveSender === ptrType$4.nil)) { */ case 35:
198560
- $r = log.Println(new sliceType([new $String("Screen close lifecycle: responsive sender close begin")])); /* */ $s = 37; case 37: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
198582
+ /* */ if (!($interfaceIsEqual(err, $ifaceNil))) { $s = 21; continue; }
198583
+ /* */ $s = 22; continue;
198584
+ /* if (!($interfaceIsEqual(err, $ifaceNil))) { */ case 21:
198585
+ $r = errs.Print("Cannot close screen", err); /* */ $s = 23; case 23: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
198586
+ /* } */ case 22:
198587
+ $r = log.Println(new sliceType([new $String("Screen close lifecycle: screen teardown complete")])); /* */ $s = 24; case 24: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
198588
+ $r = log.Println(new sliceType([new $String("Screen close lifecycle: stats stop begin")])); /* */ $s = 25; case 25: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
198589
+ $r = w.stats.Stop(); /* */ $s = 26; case 26: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
198590
+ $r = log.Println(new sliceType([new $String("Screen close lifecycle: stats stop complete")])); /* */ $s = 27; case 27: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
198591
+ /* */ if (!(w.metadataServer === ptrType$3.nil)) { $s = 28; continue; }
198592
+ /* */ $s = 29; continue;
198593
+ /* if (!(w.metadataServer === ptrType$3.nil)) { */ case 28:
198594
+ /* */ if (!(w.responsiveSender === ptrType$4.nil)) { $s = 30; continue; }
198595
+ /* */ $s = 31; continue;
198596
+ /* if (!(w.responsiveSender === ptrType$4.nil)) { */ case 30:
198597
+ $r = log.Println(new sliceType([new $String("Screen close lifecycle: responsive sender close begin")])); /* */ $s = 32; case 32: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
198561
198598
  w.responsiveSender.Close();
198562
198599
  w.responsiveSender = ptrType$4.nil;
198563
- $r = log.Println(new sliceType([new $String("Screen close lifecycle: responsive sender close complete")])); /* */ $s = 38; case 38: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
198564
- /* } */ case 36:
198565
- $r = log.Println(new sliceType([new $String("Screen close lifecycle: metadata server close begin")])); /* */ $s = 39; case 39: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
198566
- _r$5 = w.metadataServer.Close("ScreenWindow closed"); /* */ $s = 40; case 40: if($c) { $c = false; _r$5 = _r$5.$blk(); } if (_r$5 && _r$5.$blk !== undefined) { break s; }
198600
+ $r = log.Println(new sliceType([new $String("Screen close lifecycle: responsive sender close complete")])); /* */ $s = 33; case 33: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
198601
+ /* } */ case 31:
198602
+ $r = log.Println(new sliceType([new $String("Screen close lifecycle: metadata server close begin")])); /* */ $s = 34; case 34: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
198603
+ _r$5 = w.metadataServer.Close("ScreenWindow closed"); /* */ $s = 35; case 35: if($c) { $c = false; _r$5 = _r$5.$blk(); } if (_r$5 && _r$5.$blk !== undefined) { break s; }
198567
198604
  err = _r$5;
198568
- /* */ if (!($interfaceIsEqual(err, $ifaceNil))) { $s = 41; continue; }
198569
- /* */ $s = 42; continue;
198570
- /* if (!($interfaceIsEqual(err, $ifaceNil))) { */ case 41:
198571
- $r = errs.Print("Cannot close metadata connection", err); /* */ $s = 43; case 43: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
198572
- /* } */ case 42:
198605
+ /* */ if (!($interfaceIsEqual(err, $ifaceNil))) { $s = 36; continue; }
198606
+ /* */ $s = 37; continue;
198607
+ /* if (!($interfaceIsEqual(err, $ifaceNil))) { */ case 36:
198608
+ $r = errs.Print("Cannot close metadata connection", err); /* */ $s = 38; case 38: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
198609
+ /* } */ case 37:
198573
198610
  w.metadataServer = ptrType$3.nil;
198574
- $r = log.Println(new sliceType([new $String("Screen close lifecycle: metadata server close complete")])); /* */ $s = 44; case 44: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
198575
- /* } */ case 34:
198576
- /* */ if (!($interfaceIsEqual(w.window, $ifaceNil))) { $s = 45; continue; }
198577
- /* */ $s = 46; continue;
198578
- /* if (!($interfaceIsEqual(w.window, $ifaceNil))) { */ case 45:
198611
+ $r = log.Println(new sliceType([new $String("Screen close lifecycle: metadata server close complete")])); /* */ $s = 39; case 39: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
198612
+ /* } */ case 29:
198613
+ /* */ if (!($interfaceIsEqual(w.window, $ifaceNil))) { $s = 40; continue; }
198614
+ /* */ $s = 41; continue;
198615
+ /* if (!($interfaceIsEqual(w.window, $ifaceNil))) { */ case 40:
198579
198616
  window$1 = w.window;
198580
198617
  eventLoopStop = w.eventLoopStop;
198581
198618
  eventLoopDone = w.eventLoopDone;
198582
198619
  if (!(eventLoopStop === $chanNil)) {
198583
198620
  $close(eventLoopStop);
198584
198621
  }
198585
- /* */ if (!(eventLoopDone === $chanNil)) { $s = 47; continue; }
198586
- /* */ $s = 48; continue;
198587
- /* if (!(eventLoopDone === $chanNil)) { */ case 47:
198622
+ /* */ if (!(eventLoopDone === $chanNil)) { $s = 42; continue; }
198623
+ /* */ $s = 43; continue;
198624
+ /* if (!(eventLoopDone === $chanNil)) { */ case 42:
198588
198625
  _selection = $select([[eventLoopDone], []]);
198589
- /* */ if (_selection[0] === 0) { $s = 49; continue; }
198590
- /* */ if (_selection[0] === 1) { $s = 50; continue; }
198591
- /* */ $s = 51; continue;
198592
- /* if (_selection[0] === 0) { */ case 49:
198593
- $s = 51; continue;
198594
- /* } else if (_selection[0] === 1) { */ case 50:
198595
- $r = sendWindowEventNonBlocking(window$1, (x = new screenWindowDetachEvent.ptr(), new x.constructor.elem(x))); /* */ $s = 52; case 52: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
198596
- /* } */ case 51:
198597
- _r$6 = $recv(eventLoopDone); /* */ $s = 53; case 53: if($c) { $c = false; _r$6 = _r$6.$blk(); } if (_r$6 && _r$6.$blk !== undefined) { break s; }
198626
+ /* */ if (_selection[0] === 0) { $s = 44; continue; }
198627
+ /* */ if (_selection[0] === 1) { $s = 45; continue; }
198628
+ /* */ $s = 46; continue;
198629
+ /* if (_selection[0] === 0) { */ case 44:
198630
+ $s = 46; continue;
198631
+ /* } else if (_selection[0] === 1) { */ case 45:
198632
+ $r = sendWindowEventNonBlocking(window$1, (x = new screenWindowDetachEvent.ptr(), new x.constructor.elem(x))); /* */ $s = 47; case 47: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
198633
+ /* } */ case 46:
198634
+ _r$6 = $recv(eventLoopDone); /* */ $s = 48; case 48: if($c) { $c = false; _r$6 = _r$6.$blk(); } if (_r$6 && _r$6.$blk !== undefined) { break s; }
198598
198635
  _r$6[0];
198599
- /* } */ case 48:
198600
- $r = log.Println(new sliceType([new $String("Screen close lifecycle: window release begin")])); /* */ $s = 54; case 54: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
198601
- $r = window$1.Release(); /* */ $s = 55; case 55: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
198636
+ /* } */ case 43:
198637
+ $r = log.Println(new sliceType([new $String("Screen close lifecycle: window release begin")])); /* */ $s = 49; case 49: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
198638
+ $r = window$1.Release(); /* */ $s = 50; case 50: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
198602
198639
  w.window = $ifaceNil;
198603
198640
  w.eventLoopStop = $chanNil;
198604
198641
  w.eventLoopDone = $chanNil;
198605
- $r = log.Println(new sliceType([new $String("Screen close lifecycle: window release complete")])); /* */ $s = 56; case 56: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
198606
- /* } */ case 46:
198607
- $r = log.Println(new sliceType([new $String("Screen close lifecycle: notifying window close begin")])); /* */ $s = 57; case 57: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
198642
+ $r = log.Println(new sliceType([new $String("Screen close lifecycle: window release complete")])); /* */ $s = 51; case 51: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
198643
+ /* } */ case 41:
198644
+ $r = log.Println(new sliceType([new $String("Screen close lifecycle: notifying window close begin")])); /* */ $s = 52; case 52: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
198608
198645
  _selection$1 = $select([[w.winCloseChannel, (x$1 = new structType.ptr(), new x$1.constructor.elem(x$1))], []]);
198609
198646
  if (_selection$1[0] === 0) {
198610
198647
  } else if (_selection$1[0] === 1) {
198611
198648
  }
198612
- $r = log.Println(new sliceType([new $String("Screen close lifecycle: notifying window close complete")])); /* */ $s = 58; case 58: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
198613
- $r = log.Println(new sliceType([new $String("Screen close lifecycle: process info removal begin")])); /* */ $s = 59; case 59: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
198614
- _r$7 = w.processInfoManager.RemoveProcessInfo(w.screenID); /* */ $s = 60; case 60: if($c) { $c = false; _r$7 = _r$7.$blk(); } if (_r$7 && _r$7.$blk !== undefined) { break s; }
198649
+ $r = log.Println(new sliceType([new $String("Screen close lifecycle: notifying window close complete")])); /* */ $s = 53; case 53: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
198650
+ $r = log.Println(new sliceType([new $String("Screen close lifecycle: process info removal begin")])); /* */ $s = 54; case 54: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
198651
+ _r$7 = w.processInfoManager.RemoveProcessInfo(w.screenID); /* */ $s = 55; case 55: if($c) { $c = false; _r$7 = _r$7.$blk(); } if (_r$7 && _r$7.$blk !== undefined) { break s; }
198615
198652
  err = _r$7;
198616
- /* */ if (!($interfaceIsEqual(err, $ifaceNil)) && !os.IsNotExist(err)) { $s = 61; continue; }
198617
- /* */ $s = 62; continue;
198618
- /* if (!($interfaceIsEqual(err, $ifaceNil)) && !os.IsNotExist(err)) { */ case 61:
198619
- $r = errs.Print("Cannot remove process info file", err); /* */ $s = 63; case 63: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
198620
- /* } */ case 62:
198621
- $r = log.Println(new sliceType([new $String("Screen close lifecycle: process info removal complete")])); /* */ $s = 64; case 64: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
198653
+ /* */ if (!($interfaceIsEqual(err, $ifaceNil)) && !os.IsNotExist(err)) { $s = 56; continue; }
198654
+ /* */ $s = 57; continue;
198655
+ /* if (!($interfaceIsEqual(err, $ifaceNil)) && !os.IsNotExist(err)) { */ case 56:
198656
+ $r = errs.Print("Cannot remove process info file", err); /* */ $s = 58; case 58: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
198657
+ /* } */ case 57:
198658
+ $r = log.Println(new sliceType([new $String("Screen close lifecycle: process info removal complete")])); /* */ $s = 59; case 59: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
198622
198659
  w.screen = $ifaceNil;
198623
198660
  _ref = w.onClose;
198624
198661
  _i = 0;
198625
- /* while (true) { */ case 65:
198626
- /* if (!(_i < _ref.$length)) { break; } */ if(!(_i < _ref.$length)) { $s = 66; continue; }
198662
+ /* while (true) { */ case 60:
198663
+ /* if (!(_i < _ref.$length)) { break; } */ if(!(_i < _ref.$length)) { $s = 61; continue; }
198627
198664
  index = _i;
198628
198665
  callback = ((_i < 0 || _i >= _ref.$length) ? ($throwRuntimeError("index out of range"), undefined) : _ref.$array[_ref.$offset + _i]);
198629
- $r = log.Printf("Screen close lifecycle: callback %d begin", new sliceType([new $Int(index)])); /* */ $s = 67; case 67: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
198630
- $r = callback(); /* */ $s = 68; case 68: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
198631
- $r = log.Printf("Screen close lifecycle: callback %d complete", new sliceType([new $Int(index)])); /* */ $s = 69; case 69: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
198666
+ $r = log.Printf("Screen close lifecycle: callback %d begin", new sliceType([new $Int(index)])); /* */ $s = 62; case 62: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
198667
+ $r = callback(); /* */ $s = 63; case 63: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
198668
+ $r = log.Printf("Screen close lifecycle: callback %d complete", new sliceType([new $Int(index)])); /* */ $s = 64; case 64: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
198632
198669
  _i++;
198633
- $s = 65; continue;
198634
- case 66:
198670
+ $s = 60; continue;
198671
+ case 61:
198635
198672
  w.onClose = sliceType$2.nil;
198636
198673
  $close(closeDone$1);
198637
- _r$8 = time.Since($clone(closeStartedAt, time.Time)); /* */ $s = 70; case 70: if($c) { $c = false; _r$8 = _r$8.$blk(); } if (_r$8 && _r$8.$blk !== undefined) { break s; }
198674
+ _r$8 = time.Since($clone(closeStartedAt, time.Time)); /* */ $s = 65; case 65: if($c) { $c = false; _r$8 = _r$8.$blk(); } if (_r$8 && _r$8.$blk !== undefined) { break s; }
198638
198675
  _arg$1 = _r$8;
198639
- $r = log.Printf("Screen close lifecycle: Close completed elapsed=%s", new sliceType([_arg$1])); /* */ $s = 71; case 71: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
198676
+ $r = log.Printf("Screen close lifecycle: Close completed elapsed=%s", new sliceType([_arg$1])); /* */ $s = 66; case 66: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
198640
198677
  $s = -1; return;
198641
- /* */ } return; } var $f = {$blk: ScreenWindow.ptr.prototype.Close, $c: true, $r, _arg, _arg$1, _i, _r, _r$1, _r$2, _r$3, _r$4, _r$5, _r$6, _r$7, _r$8, _ref, _selection, _selection$1, _tuple, callback, closeDone, closeDone$1, closeReason, closeStartedAt, err, eventLoopDone, eventLoopStop, file, index, line, ok, w, window$1, x, x$1, $s};return $f;
198678
+ /* */ } return; } var $f = {$blk: ScreenWindow.ptr.prototype.Close, $c: true, $r, _arg, _arg$1, _i, _r, _r$1, _r$2, _r$3, _r$4, _r$5, _r$6, _r$7, _r$8, _ref, _selection, _selection$1, callback, closeDone, closeDone$1, closeReason, closeStartedAt, err, eventLoopDone, eventLoopStop, index, w, window$1, x, x$1, $s};return $f;
198642
198679
  };
198643
198680
  ScreenWindow.prototype.Close = function() { return this.$val.Close(); };
198644
198681
  ScreenWindow.ptr.prototype.OnClose = function(callback) {
@@ -199389,135 +199426,146 @@ $packages["github.com/supraio/client-daemon/pkg/render"] = (function() {
199389
199426
  };
199390
199427
  ScreenWindow.prototype.closeScreen = function() { return this.$val.closeScreen(); };
199391
199428
  ScreenWindow.ptr.prototype.closeScreenLocked = function() {
199392
- var {$24r, _arg, _r, _r$1, _r$2, _r$3, _r$4, _r$5, _r$6, _r$7, _r$8, _r$9, _tuple, canceler, err, err$1, errList, ok, pingerStopped, screenSender, w, waitDuration, $s, $r, $c} = $restore(this, {});
199429
+ var {$24r, _arg, _r, _r$1, _r$10, _r$11, _r$2, _r$3, _r$4, _r$5, _r$6, _r$7, _r$8, _r$9, _tuple, canceler, closeReason, err, err$1, errList, ok, pingerStopped, screenSender, w, waitDuration, $s, $r, $c} = $restore(this, {});
199393
199430
  /* */ $s = $s || 0; s: while (true) { switch ($s) { case 0:
199394
199431
  w = this;
199432
+ _r = w.getCloseReason(); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }
199433
+ closeReason = _r;
199434
+ /* */ if (closeReason === "unspecified") { $s = 2; continue; }
199435
+ /* */ $s = 3; continue;
199436
+ /* if (closeReason === "unspecified") { */ case 2:
199437
+ $r = w.closeMu.Lock(); /* */ $s = 4; case 4: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
199438
+ _r$1 = w.ensureCloseReasonLocked(2, "closeScreenLocked without explicit reason"); /* */ $s = 5; case 5: if($c) { $c = false; _r$1 = _r$1.$blk(); } if (_r$1 && _r$1.$blk !== undefined) { break s; }
199439
+ closeReason = _r$1;
199440
+ $r = w.closeMu.Unlock(); /* */ $s = 6; case 6: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
199441
+ $r = log.Printf("Screen close lifecycle: synthesized close reason=%s", new sliceType([new $String(closeReason)])); /* */ $s = 7; case 7: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
199442
+ /* } */ case 3:
199395
199443
  pingerStopped = true;
199396
- /* */ if (!(w.collectionLoop === ptrType$5.nil)) { $s = 1; continue; }
199397
- /* */ $s = 2; continue;
199398
- /* if (!(w.collectionLoop === ptrType$5.nil)) { */ case 1:
199399
- $r = log.Println(new sliceType([new $String("Screen close lifecycle: collection loop stop begin")])); /* */ $s = 3; case 3: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
199444
+ /* */ if (!(w.collectionLoop === ptrType$5.nil)) { $s = 8; continue; }
199445
+ /* */ $s = 9; continue;
199446
+ /* if (!(w.collectionLoop === ptrType$5.nil)) { */ case 8:
199447
+ $r = log.Println(new sliceType([new $String("Screen close lifecycle: collection loop stop begin")])); /* */ $s = 10; case 10: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
199400
199448
  w.collectionLoop.Stop();
199401
- $r = log.Println(new sliceType([new $String("Screen close lifecycle: collection loop stop complete")])); /* */ $s = 4; case 4: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
199402
- /* } */ case 2:
199403
- /* */ if (!(w.decoderLoop === ptrType$6.nil)) { $s = 5; continue; }
199404
- /* */ $s = 6; continue;
199405
- /* if (!(w.decoderLoop === ptrType$6.nil)) { */ case 5:
199406
- $r = log.Println(new sliceType([new $String("Screen close lifecycle: decoder loop stop begin")])); /* */ $s = 7; case 7: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
199449
+ $r = log.Println(new sliceType([new $String("Screen close lifecycle: collection loop stop complete")])); /* */ $s = 11; case 11: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
199450
+ /* } */ case 9:
199451
+ /* */ if (!(w.decoderLoop === ptrType$6.nil)) { $s = 12; continue; }
199452
+ /* */ $s = 13; continue;
199453
+ /* if (!(w.decoderLoop === ptrType$6.nil)) { */ case 12:
199454
+ $r = log.Println(new sliceType([new $String("Screen close lifecycle: decoder loop stop begin")])); /* */ $s = 14; case 14: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
199407
199455
  w.decoderLoop.Stop();
199408
- $r = log.Println(new sliceType([new $String("Screen close lifecycle: decoder loop stop complete")])); /* */ $s = 8; case 8: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
199409
- /* } */ case 6:
199410
- /* */ if (!(w.renderingLoop === ptrType$7.nil)) { $s = 9; continue; }
199411
- /* */ $s = 10; continue;
199412
- /* if (!(w.renderingLoop === ptrType$7.nil)) { */ case 9:
199413
- $r = log.Println(new sliceType([new $String("Screen close lifecycle: rendering loop stop begin")])); /* */ $s = 11; case 11: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
199456
+ $r = log.Println(new sliceType([new $String("Screen close lifecycle: decoder loop stop complete")])); /* */ $s = 15; case 15: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
199457
+ /* } */ case 13:
199458
+ /* */ if (!(w.renderingLoop === ptrType$7.nil)) { $s = 16; continue; }
199459
+ /* */ $s = 17; continue;
199460
+ /* if (!(w.renderingLoop === ptrType$7.nil)) { */ case 16:
199461
+ $r = log.Println(new sliceType([new $String("Screen close lifecycle: rendering loop stop begin")])); /* */ $s = 18; case 18: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
199414
199462
  w.renderingLoop.Stop();
199415
- $r = log.Println(new sliceType([new $String("Screen close lifecycle: rendering loop stop complete")])); /* */ $s = 12; case 12: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
199416
- /* } */ case 10:
199463
+ $r = log.Println(new sliceType([new $String("Screen close lifecycle: rendering loop stop complete")])); /* */ $s = 19; case 19: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
199464
+ /* } */ case 17:
199417
199465
  _tuple = $assertType(w.window, interfaceType, true);
199418
199466
  canceler = _tuple[0];
199419
199467
  ok = _tuple[1];
199420
- /* */ if (ok) { $s = 13; continue; }
199421
- /* */ $s = 14; continue;
199422
- /* if (ok) { */ case 13:
199423
- $r = log.Println(new sliceType([new $String("Screen close lifecycle: pending window uploads cancel begin")])); /* */ $s = 15; case 15: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
199424
- $r = canceler.CancelPendingUploads(); /* */ $s = 16; case 16: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
199425
- $r = log.Println(new sliceType([new $String("Screen close lifecycle: pending window uploads cancel complete")])); /* */ $s = 17; case 17: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
199426
- /* } */ case 14:
199427
- /* */ if (!(w.pinger === ptrType$13.nil)) { $s = 18; continue; }
199428
- /* */ $s = 19; continue;
199429
- /* if (!(w.pinger === ptrType$13.nil)) { */ case 18:
199430
- $r = log.Println(new sliceType([new $String("Screen close lifecycle: pinger close begin")])); /* */ $s = 20; case 20: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
199431
- $r = w.pinger.Close(); /* */ $s = 21; case 21: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
199468
+ /* */ if (ok) { $s = 20; continue; }
199469
+ /* */ $s = 21; continue;
199470
+ /* if (ok) { */ case 20:
199471
+ $r = log.Println(new sliceType([new $String("Screen close lifecycle: pending window uploads cancel begin")])); /* */ $s = 22; case 22: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
199472
+ $r = canceler.CancelPendingUploads(); /* */ $s = 23; case 23: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
199473
+ $r = log.Println(new sliceType([new $String("Screen close lifecycle: pending window uploads cancel complete")])); /* */ $s = 24; case 24: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
199474
+ /* } */ case 21:
199475
+ /* */ if (!(w.pinger === ptrType$13.nil)) { $s = 25; continue; }
199476
+ /* */ $s = 26; continue;
199477
+ /* if (!(w.pinger === ptrType$13.nil)) { */ case 25:
199478
+ $r = log.Println(new sliceType([new $String("Screen close lifecycle: pinger close begin")])); /* */ $s = 27; case 27: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
199479
+ $r = w.pinger.Close(); /* */ $s = 28; case 28: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
199432
199480
  waitDuration = w.timeoutDuration;
199433
199481
  if ((waitDuration.$high < 0 || (waitDuration.$high === 0 && waitDuration.$low <= 0))) {
199434
199482
  waitDuration = new time.Duration(0, 1000000000);
199435
199483
  }
199436
- _r = w.pinger.Wait(waitDuration); /* */ $s = 22; case 22: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }
199437
- pingerStopped = _r;
199438
- /* */ if (!pingerStopped) { $s = 23; continue; }
199439
- /* */ $s = 24; continue;
199440
- /* if (!pingerStopped) { */ case 23:
199441
- $r = log.Println(new sliceType([new $String("Screen close lifecycle: pinger wait timed out; forcing transport close")])); /* */ $s = 25; case 25: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
199442
- /* } */ case 24:
199484
+ _r$2 = w.pinger.Wait(waitDuration); /* */ $s = 29; case 29: if($c) { $c = false; _r$2 = _r$2.$blk(); } if (_r$2 && _r$2.$blk !== undefined) { break s; }
199485
+ pingerStopped = _r$2;
199486
+ /* */ if (!pingerStopped) { $s = 30; continue; }
199487
+ /* */ $s = 31; continue;
199488
+ /* if (!pingerStopped) { */ case 30:
199489
+ $r = log.Println(new sliceType([new $String("Screen close lifecycle: pinger wait timed out; forcing transport close")])); /* */ $s = 32; case 32: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
199490
+ /* } */ case 31:
199443
199491
  w.pinger = ptrType$13.nil;
199444
- $r = log.Println(new sliceType([new $String("Screen close lifecycle: pinger close complete")])); /* */ $s = 26; case 26: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
199445
- /* } */ case 19:
199492
+ $r = log.Println(new sliceType([new $String("Screen close lifecycle: pinger close complete")])); /* */ $s = 33; case 33: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
199493
+ /* } */ case 26:
199446
199494
  errList = new sliceType$3([]);
199447
- /* */ if (!($interfaceIsEqual(w.screenConn, $ifaceNil))) { $s = 27; continue; }
199448
- /* */ $s = 28; continue;
199449
- /* if (!($interfaceIsEqual(w.screenConn, $ifaceNil))) { */ case 27:
199450
- /* */ if (pingerStopped) { $s = 29; continue; }
199451
- /* */ $s = 30; continue;
199452
- /* if (pingerStopped) { */ case 29:
199495
+ /* */ if (!($interfaceIsEqual(w.screenConn, $ifaceNil))) { $s = 34; continue; }
199496
+ /* */ $s = 35; continue;
199497
+ /* if (!($interfaceIsEqual(w.screenConn, $ifaceNil))) { */ case 34:
199498
+ /* */ if (pingerStopped) { $s = 36; continue; }
199499
+ /* */ $s = 37; continue;
199500
+ /* if (pingerStopped) { */ case 36:
199453
199501
  screenSender = w.createScreenSender();
199454
- $r = log.Println(new sliceType([new $String("Screen close lifecycle: video stream unregister begin")])); /* */ $s = 31; case 31: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
199455
- _r$1 = UnregisterVideoStream(screenSender); /* */ $s = 32; case 32: if($c) { $c = false; _r$1 = _r$1.$blk(); } if (_r$1 && _r$1.$blk !== undefined) { break s; }
199456
- err = _r$1;
199457
- /* */ if (!($interfaceIsEqual(err, $ifaceNil))) { $s = 33; continue; }
199458
- /* */ $s = 34; continue;
199459
- /* if (!($interfaceIsEqual(err, $ifaceNil))) { */ case 33:
199460
- _r$2 = errs.Errorf("Could not unregister video stream: %s", new sliceType([err])); /* */ $s = 35; case 35: if($c) { $c = false; _r$2 = _r$2.$blk(); } if (_r$2 && _r$2.$blk !== undefined) { break s; }
199461
- errList = $append(errList, _r$2);
199462
- /* } */ case 34:
199463
- $r = log.Println(new sliceType([new $String("Screen close lifecycle: video stream unregister complete")])); /* */ $s = 36; case 36: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
199464
- $r = log.Println(new sliceType([new $String("Screen close lifecycle: disconnect send begin")])); /* */ $s = 37; case 37: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
199465
- _r$3 = w.getCloseReason(); /* */ $s = 38; case 38: if($c) { $c = false; _r$3 = _r$3.$blk(); } if (_r$3 && _r$3.$blk !== undefined) { break s; }
199466
- _r$4 = encodeDisconnectReason(_r$3); /* */ $s = 39; case 39: if($c) { $c = false; _r$4 = _r$4.$blk(); } if (_r$4 && _r$4.$blk !== undefined) { break s; }
199467
- _arg = _r$4;
199468
- _r$5 = screenSender.Send(3, _arg); /* */ $s = 40; case 40: if($c) { $c = false; _r$5 = _r$5.$blk(); } if (_r$5 && _r$5.$blk !== undefined) { break s; }
199469
- err = _r$5;
199470
- /* */ if (!($interfaceIsEqual(err, $ifaceNil))) { $s = 41; continue; }
199471
- /* */ $s = 42; continue;
199472
- /* if (!($interfaceIsEqual(err, $ifaceNil))) { */ case 41:
199473
- _r$6 = errs.Errorf("Could not send disconnect msg to screen: %s", new sliceType([err])); /* */ $s = 43; case 43: if($c) { $c = false; _r$6 = _r$6.$blk(); } if (_r$6 && _r$6.$blk !== undefined) { break s; }
199474
- errList = $append(errList, _r$6);
199475
- /* } */ case 42:
199476
- $r = log.Println(new sliceType([new $String("Screen close lifecycle: disconnect send complete")])); /* */ $s = 44; case 44: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
199477
- /* } */ case 30:
199478
- $r = log.Println(new sliceType([new $String("Screen close lifecycle: screen connection close begin")])); /* */ $s = 45; case 45: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
199479
- _r$7 = w.screenConn.Close(); /* */ $s = 46; case 46: if($c) { $c = false; _r$7 = _r$7.$blk(); } if (_r$7 && _r$7.$blk !== undefined) { break s; }
199480
- err$1 = _r$7;
199481
- /* */ if (!($interfaceIsEqual(err$1, $ifaceNil))) { $s = 47; continue; }
199482
- /* */ $s = 48; continue;
199483
- /* if (!($interfaceIsEqual(err$1, $ifaceNil))) { */ case 47:
199484
- _r$8 = errs.Errorf("Could not close screen connection: %s", new sliceType([err$1])); /* */ $s = 49; case 49: if($c) { $c = false; _r$8 = _r$8.$blk(); } if (_r$8 && _r$8.$blk !== undefined) { break s; }
199485
- errList = $append(errList, _r$8);
199486
- /* } */ case 48:
199502
+ $r = log.Println(new sliceType([new $String("Screen close lifecycle: video stream unregister begin")])); /* */ $s = 38; case 38: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
199503
+ _r$3 = UnregisterVideoStream(screenSender); /* */ $s = 39; case 39: if($c) { $c = false; _r$3 = _r$3.$blk(); } if (_r$3 && _r$3.$blk !== undefined) { break s; }
199504
+ err = _r$3;
199505
+ /* */ if (!($interfaceIsEqual(err, $ifaceNil))) { $s = 40; continue; }
199506
+ /* */ $s = 41; continue;
199507
+ /* if (!($interfaceIsEqual(err, $ifaceNil))) { */ case 40:
199508
+ _r$4 = errs.Errorf("Could not unregister video stream: %s", new sliceType([err])); /* */ $s = 42; case 42: if($c) { $c = false; _r$4 = _r$4.$blk(); } if (_r$4 && _r$4.$blk !== undefined) { break s; }
199509
+ errList = $append(errList, _r$4);
199510
+ /* } */ case 41:
199511
+ $r = log.Println(new sliceType([new $String("Screen close lifecycle: video stream unregister complete")])); /* */ $s = 43; case 43: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
199512
+ $r = log.Println(new sliceType([new $String("Screen close lifecycle: disconnect send begin")])); /* */ $s = 44; case 44: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
199513
+ _r$5 = w.getCloseReason(); /* */ $s = 45; case 45: if($c) { $c = false; _r$5 = _r$5.$blk(); } if (_r$5 && _r$5.$blk !== undefined) { break s; }
199514
+ _r$6 = encodeDisconnectReason(_r$5); /* */ $s = 46; case 46: if($c) { $c = false; _r$6 = _r$6.$blk(); } if (_r$6 && _r$6.$blk !== undefined) { break s; }
199515
+ _arg = _r$6;
199516
+ _r$7 = screenSender.Send(3, _arg); /* */ $s = 47; case 47: if($c) { $c = false; _r$7 = _r$7.$blk(); } if (_r$7 && _r$7.$blk !== undefined) { break s; }
199517
+ err = _r$7;
199518
+ /* */ if (!($interfaceIsEqual(err, $ifaceNil))) { $s = 48; continue; }
199519
+ /* */ $s = 49; continue;
199520
+ /* if (!($interfaceIsEqual(err, $ifaceNil))) { */ case 48:
199521
+ _r$8 = errs.Errorf("Could not send disconnect msg to screen: %s", new sliceType([err])); /* */ $s = 50; case 50: if($c) { $c = false; _r$8 = _r$8.$blk(); } if (_r$8 && _r$8.$blk !== undefined) { break s; }
199522
+ errList = $append(errList, _r$8);
199523
+ /* } */ case 49:
199524
+ $r = log.Println(new sliceType([new $String("Screen close lifecycle: disconnect send complete")])); /* */ $s = 51; case 51: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
199525
+ /* } */ case 37:
199526
+ $r = log.Println(new sliceType([new $String("Screen close lifecycle: screen connection close begin")])); /* */ $s = 52; case 52: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
199527
+ _r$9 = w.screenConn.Close(); /* */ $s = 53; case 53: if($c) { $c = false; _r$9 = _r$9.$blk(); } if (_r$9 && _r$9.$blk !== undefined) { break s; }
199528
+ err$1 = _r$9;
199529
+ /* */ if (!($interfaceIsEqual(err$1, $ifaceNil))) { $s = 54; continue; }
199530
+ /* */ $s = 55; continue;
199531
+ /* if (!($interfaceIsEqual(err$1, $ifaceNil))) { */ case 54:
199532
+ _r$10 = errs.Errorf("Could not close screen connection: %s", new sliceType([err$1])); /* */ $s = 56; case 56: if($c) { $c = false; _r$10 = _r$10.$blk(); } if (_r$10 && _r$10.$blk !== undefined) { break s; }
199533
+ errList = $append(errList, _r$10);
199534
+ /* } */ case 55:
199487
199535
  w.screenConn = $ifaceNil;
199488
- $r = log.Println(new sliceType([new $String("Screen close lifecycle: screen connection close complete")])); /* */ $s = 50; case 50: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
199489
- /* } */ case 28:
199490
- /* */ if (!(w.collectionLoop === ptrType$5.nil)) { $s = 51; continue; }
199491
- /* */ $s = 52; continue;
199492
- /* if (!(w.collectionLoop === ptrType$5.nil)) { */ case 51:
199493
- $r = log.Println(new sliceType([new $String("Screen close lifecycle: collection loop wait begin")])); /* */ $s = 53; case 53: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
199494
- $r = w.collectionLoop.Wait(); /* */ $s = 54; case 54: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
199536
+ $r = log.Println(new sliceType([new $String("Screen close lifecycle: screen connection close complete")])); /* */ $s = 57; case 57: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
199537
+ /* } */ case 35:
199538
+ /* */ if (!(w.collectionLoop === ptrType$5.nil)) { $s = 58; continue; }
199539
+ /* */ $s = 59; continue;
199540
+ /* if (!(w.collectionLoop === ptrType$5.nil)) { */ case 58:
199541
+ $r = log.Println(new sliceType([new $String("Screen close lifecycle: collection loop wait begin")])); /* */ $s = 60; case 60: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
199542
+ $r = w.collectionLoop.Wait(); /* */ $s = 61; case 61: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
199495
199543
  w.collectionLoop = ptrType$5.nil;
199496
- $r = log.Println(new sliceType([new $String("Screen close lifecycle: collection loop wait complete")])); /* */ $s = 55; case 55: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
199497
- /* } */ case 52:
199498
- /* */ if (!(w.decoderLoop === ptrType$6.nil)) { $s = 56; continue; }
199499
- /* */ $s = 57; continue;
199500
- /* if (!(w.decoderLoop === ptrType$6.nil)) { */ case 56:
199501
- $r = log.Println(new sliceType([new $String("Screen close lifecycle: decoder loop wait begin")])); /* */ $s = 58; case 58: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
199502
- $r = w.decoderLoop.Wait(); /* */ $s = 59; case 59: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
199544
+ $r = log.Println(new sliceType([new $String("Screen close lifecycle: collection loop wait complete")])); /* */ $s = 62; case 62: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
199545
+ /* } */ case 59:
199546
+ /* */ if (!(w.decoderLoop === ptrType$6.nil)) { $s = 63; continue; }
199547
+ /* */ $s = 64; continue;
199548
+ /* if (!(w.decoderLoop === ptrType$6.nil)) { */ case 63:
199549
+ $r = log.Println(new sliceType([new $String("Screen close lifecycle: decoder loop wait begin")])); /* */ $s = 65; case 65: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
199550
+ $r = w.decoderLoop.Wait(); /* */ $s = 66; case 66: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
199503
199551
  w.decoderLoop = ptrType$6.nil;
199504
- $r = log.Println(new sliceType([new $String("Screen close lifecycle: decoder loop wait complete")])); /* */ $s = 60; case 60: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
199505
- /* } */ case 57:
199506
- /* */ if (!(w.renderingLoop === ptrType$7.nil)) { $s = 61; continue; }
199507
- /* */ $s = 62; continue;
199508
- /* if (!(w.renderingLoop === ptrType$7.nil)) { */ case 61:
199509
- $r = log.Println(new sliceType([new $String("Screen close lifecycle: rendering loop wait begin")])); /* */ $s = 63; case 63: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
199510
- $r = w.renderingLoop.Wait(); /* */ $s = 64; case 64: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
199552
+ $r = log.Println(new sliceType([new $String("Screen close lifecycle: decoder loop wait complete")])); /* */ $s = 67; case 67: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
199553
+ /* } */ case 64:
199554
+ /* */ if (!(w.renderingLoop === ptrType$7.nil)) { $s = 68; continue; }
199555
+ /* */ $s = 69; continue;
199556
+ /* if (!(w.renderingLoop === ptrType$7.nil)) { */ case 68:
199557
+ $r = log.Println(new sliceType([new $String("Screen close lifecycle: rendering loop wait begin")])); /* */ $s = 70; case 70: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
199558
+ $r = w.renderingLoop.Wait(); /* */ $s = 71; case 71: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
199511
199559
  w.renderingLoop = ptrType$7.nil;
199512
- $r = log.Println(new sliceType([new $String("Screen close lifecycle: rendering loop wait complete")])); /* */ $s = 65; case 65: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
199513
- /* } */ case 62:
199560
+ $r = log.Println(new sliceType([new $String("Screen close lifecycle: rendering loop wait complete")])); /* */ $s = 72; case 72: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
199561
+ /* } */ case 69:
199514
199562
  if (errList.$length === 0) {
199515
199563
  $s = -1; return $ifaceNil;
199516
199564
  }
199517
- _r$9 = errs.CombineErrors(errList); /* */ $s = 66; case 66: if($c) { $c = false; _r$9 = _r$9.$blk(); } if (_r$9 && _r$9.$blk !== undefined) { break s; }
199518
- $24r = _r$9;
199519
- $s = 67; case 67: return $24r;
199520
- /* */ } return; } var $f = {$blk: ScreenWindow.ptr.prototype.closeScreenLocked, $c: true, $r, $24r, _arg, _r, _r$1, _r$2, _r$3, _r$4, _r$5, _r$6, _r$7, _r$8, _r$9, _tuple, canceler, err, err$1, errList, ok, pingerStopped, screenSender, w, waitDuration, $s};return $f;
199565
+ _r$11 = errs.CombineErrors(errList); /* */ $s = 73; case 73: if($c) { $c = false; _r$11 = _r$11.$blk(); } if (_r$11 && _r$11.$blk !== undefined) { break s; }
199566
+ $24r = _r$11;
199567
+ $s = 74; case 74: return $24r;
199568
+ /* */ } return; } var $f = {$blk: ScreenWindow.ptr.prototype.closeScreenLocked, $c: true, $r, $24r, _arg, _r, _r$1, _r$10, _r$11, _r$2, _r$3, _r$4, _r$5, _r$6, _r$7, _r$8, _r$9, _tuple, canceler, closeReason, err, err$1, errList, ok, pingerStopped, screenSender, w, waitDuration, $s};return $f;
199521
199569
  };
199522
199570
  ScreenWindow.prototype.closeScreenLocked = function() { return this.$val.closeScreenLocked(); };
199523
199571
  ScreenWindow.ptr.prototype.createScreenBuffer = function() {
@@ -199796,6 +199844,11 @@ $packages["github.com/supraio/client-daemon/pkg/render"] = (function() {
199796
199844
  return path.Join(new sliceType$4([m.processDir, "S-" + m.username]));
199797
199845
  };
199798
199846
  ProcessInfoManager.prototype.getUserProcessDirPath = function() { return this.$val.getUserProcessDirPath(); };
199847
+ isNativeDecoderActive = function() {
199848
+ var decoder;
199849
+ decoder = $clone($clone(js.Global(), js.Value).Get("brightSignDecoder"), js.Value);
199850
+ return !$clone(decoder, js.Value).IsUndefined() && !$clone(decoder, js.Value).IsNull();
199851
+ };
199799
199852
  init = function() {
199800
199853
  onScreenWindowStarted = registerJSBridge;
199801
199854
  };
@@ -199914,7 +199967,7 @@ $packages["github.com/supraio/client-daemon/pkg/render"] = (function() {
199914
199967
  }
199915
199968
  return new mapType($makeMap($String.keyFor, [{ k: "x", v: new $Int(g.X) }, { k: "y", v: new $Int(g.Y) }, { k: "width", v: new $Int(g.Width) }, { k: "height", v: new $Int(g.Height) }]));
199916
199969
  };
199917
- ptrType$15.methods = [{prop: "Geometry", name: "Geometry", pkg: "", typ: $funcType([], [ptrType$14], false)}, {prop: "setCloseReason", name: "setCloseReason", pkg: "github.com/supraio/client-daemon/pkg/render", typ: $funcType([$String], [], false)}, {prop: "getCloseReason", name: "getCloseReason", pkg: "github.com/supraio/client-daemon/pkg/render", typ: $funcType([], [$String], false)}, {prop: "SetEncodingPreferences", name: "SetEncodingPreferences", pkg: "", typ: $funcType([stats.EncodingPreferences], [], false)}, {prop: "Start", name: "Start", pkg: "", typ: $funcType([], [$error], false)}, {prop: "Close", name: "Close", pkg: "", typ: $funcType([], [], false)}, {prop: "OnClose", name: "OnClose", pkg: "", typ: $funcType([funcType], [], false)}, {prop: "startWindow", name: "startWindow", pkg: "github.com/supraio/client-daemon/pkg/render", typ: $funcType([], [$error], false)}, {prop: "newWindowOptions", name: "newWindowOptions", pkg: "github.com/supraio/client-daemon/pkg/render", typ: $funcType([], [screen.NewWindowOptions], false)}, {prop: "startClipboard", name: "startClipboard", pkg: "github.com/supraio/client-daemon/pkg/render", typ: $funcType([], [$error], false)}, {prop: "isClosed", name: "isClosed", pkg: "github.com/supraio/client-daemon/pkg/render", typ: $funcType([], [$Bool], false)}, {prop: "retriableOpen", name: "retriableOpen", pkg: "github.com/supraio/client-daemon/pkg/render", typ: $funcType([$Int, funcType$1], [$error], false)}, {prop: "openMetadata", name: "openMetadata", pkg: "github.com/supraio/client-daemon/pkg/render", typ: $funcType([], [$error], false)}, {prop: "createMetadataSender", name: "createMetadataSender", pkg: "github.com/supraio/client-daemon/pkg/render", typ: $funcType([], [message.Sender], false)}, {prop: "createScreenSender", name: "createScreenSender", pkg: "github.com/supraio/client-daemon/pkg/render", typ: $funcType([], [message.Sender], false)}, {prop: "getEventMultiplier", name: "getEventMultiplier", pkg: "github.com/supraio/client-daemon/pkg/render", typ: $funcType([], [geom.Point], false)}, {prop: "startTimestampSyncing", name: "startTimestampSyncing", pkg: "github.com/supraio/client-daemon/pkg/render", typ: $funcType([], [], false)}, {prop: "startStatsSyncing", name: "startStatsSyncing", pkg: "github.com/supraio/client-daemon/pkg/render", typ: $funcType([], [], false)}, {prop: "sendStats", name: "sendStats", pkg: "github.com/supraio/client-daemon/pkg/render", typ: $funcType([], [$error], false)}, {prop: "getFrameHealthCheckTimeout", name: "getFrameHealthCheckTimeout", pkg: "github.com/supraio/client-daemon/pkg/render", typ: $funcType([], [time.Duration], false)}, {prop: "startScreenHealthChecking", name: "startScreenHealthChecking", pkg: "github.com/supraio/client-daemon/pkg/render", typ: $funcType([], [], false)}, {prop: "openScreen", name: "openScreen", pkg: "github.com/supraio/client-daemon/pkg/render", typ: $funcType([], [$error], false)}, {prop: "closeScreen", name: "closeScreen", pkg: "github.com/supraio/client-daemon/pkg/render", typ: $funcType([], [$error], false)}, {prop: "closeScreenLocked", name: "closeScreenLocked", pkg: "github.com/supraio/client-daemon/pkg/render", typ: $funcType([], [$error], false)}, {prop: "createScreenBuffer", name: "createScreenBuffer", pkg: "github.com/supraio/client-daemon/pkg/render", typ: $funcType([], [screen.Buffer, $error], false)}];
199970
+ ptrType$15.methods = [{prop: "Geometry", name: "Geometry", pkg: "", typ: $funcType([], [ptrType$14], false)}, {prop: "setCloseReason", name: "setCloseReason", pkg: "github.com/supraio/client-daemon/pkg/render", typ: $funcType([$String], [], false)}, {prop: "getCloseReason", name: "getCloseReason", pkg: "github.com/supraio/client-daemon/pkg/render", typ: $funcType([], [$String], false)}, {prop: "ensureCloseReasonLocked", name: "ensureCloseReasonLocked", pkg: "github.com/supraio/client-daemon/pkg/render", typ: $funcType([$Int, $String], [$String], false)}, {prop: "SetEncodingPreferences", name: "SetEncodingPreferences", pkg: "", typ: $funcType([stats.EncodingPreferences], [], false)}, {prop: "Start", name: "Start", pkg: "", typ: $funcType([], [$error], false)}, {prop: "Close", name: "Close", pkg: "", typ: $funcType([], [], false)}, {prop: "OnClose", name: "OnClose", pkg: "", typ: $funcType([funcType], [], false)}, {prop: "startWindow", name: "startWindow", pkg: "github.com/supraio/client-daemon/pkg/render", typ: $funcType([], [$error], false)}, {prop: "newWindowOptions", name: "newWindowOptions", pkg: "github.com/supraio/client-daemon/pkg/render", typ: $funcType([], [screen.NewWindowOptions], false)}, {prop: "startClipboard", name: "startClipboard", pkg: "github.com/supraio/client-daemon/pkg/render", typ: $funcType([], [$error], false)}, {prop: "isClosed", name: "isClosed", pkg: "github.com/supraio/client-daemon/pkg/render", typ: $funcType([], [$Bool], false)}, {prop: "retriableOpen", name: "retriableOpen", pkg: "github.com/supraio/client-daemon/pkg/render", typ: $funcType([$Int, funcType$1], [$error], false)}, {prop: "openMetadata", name: "openMetadata", pkg: "github.com/supraio/client-daemon/pkg/render", typ: $funcType([], [$error], false)}, {prop: "createMetadataSender", name: "createMetadataSender", pkg: "github.com/supraio/client-daemon/pkg/render", typ: $funcType([], [message.Sender], false)}, {prop: "createScreenSender", name: "createScreenSender", pkg: "github.com/supraio/client-daemon/pkg/render", typ: $funcType([], [message.Sender], false)}, {prop: "getEventMultiplier", name: "getEventMultiplier", pkg: "github.com/supraio/client-daemon/pkg/render", typ: $funcType([], [geom.Point], false)}, {prop: "startTimestampSyncing", name: "startTimestampSyncing", pkg: "github.com/supraio/client-daemon/pkg/render", typ: $funcType([], [], false)}, {prop: "startStatsSyncing", name: "startStatsSyncing", pkg: "github.com/supraio/client-daemon/pkg/render", typ: $funcType([], [], false)}, {prop: "sendStats", name: "sendStats", pkg: "github.com/supraio/client-daemon/pkg/render", typ: $funcType([], [$error], false)}, {prop: "getFrameHealthCheckTimeout", name: "getFrameHealthCheckTimeout", pkg: "github.com/supraio/client-daemon/pkg/render", typ: $funcType([], [time.Duration], false)}, {prop: "startScreenHealthChecking", name: "startScreenHealthChecking", pkg: "github.com/supraio/client-daemon/pkg/render", typ: $funcType([], [], false)}, {prop: "openScreen", name: "openScreen", pkg: "github.com/supraio/client-daemon/pkg/render", typ: $funcType([], [$error], false)}, {prop: "closeScreen", name: "closeScreen", pkg: "github.com/supraio/client-daemon/pkg/render", typ: $funcType([], [$error], false)}, {prop: "closeScreenLocked", name: "closeScreenLocked", pkg: "github.com/supraio/client-daemon/pkg/render", typ: $funcType([], [$error], false)}, {prop: "createScreenBuffer", name: "createScreenBuffer", pkg: "github.com/supraio/client-daemon/pkg/render", typ: $funcType([], [screen.Buffer, $error], false)}];
199918
199971
  ptrType.methods = [{prop: "CreateProcessInfo", name: "CreateProcessInfo", pkg: "", typ: $funcType([$String, $Int], [$error], false)}, {prop: "RemoveProcessInfo", name: "RemoveProcessInfo", pkg: "", typ: $funcType([$String], [$error], false)}, {prop: "RemoveProcessInfoByPid", name: "RemoveProcessInfoByPid", pkg: "", typ: $funcType([$String, $Int], [$error], false)}, {prop: "WaitProcess", name: "WaitProcess", pkg: "", typ: $funcType([$String], [$error], false)}, {prop: "WaitProcessStopped", name: "WaitProcessStopped", pkg: "", typ: $funcType([$String, time.Duration], [$error], false)}, {prop: "GetProcessInfo", name: "GetProcessInfo", pkg: "", typ: $funcType([$String], [ProcessInfo, $error], false)}, {prop: "ListScreenIDs", name: "ListScreenIDs", pkg: "", typ: $funcType([], [sliceType$4, $error], false)}, {prop: "getUserProcessDirPath", name: "getUserProcessDirPath", pkg: "github.com/supraio/client-daemon/pkg/render", typ: $funcType([], [$String], false)}];
199919
199972
  ScreenWindow.init("github.com/supraio/client-daemon/pkg/render", [{prop: "processInfoManager", name: "processInfoManager", embedded: false, exported: false, typ: ptrType, tag: ""}, {prop: "screenDriver", name: "screenDriver", embedded: false, exported: false, typ: netpacket.Driver, tag: ""}, {prop: "screenHost", name: "screenHost", embedded: false, exported: false, typ: $String, tag: ""}, {prop: "metadataDriver", name: "metadataDriver", embedded: false, exported: false, typ: netstream.Driver, tag: ""}, {prop: "metadataHost", name: "metadataHost", embedded: false, exported: false, typ: $String, tag: ""}, {prop: "clientID", name: "clientID", embedded: false, exported: false, typ: $String, tag: ""}, {prop: "clientSecret", name: "clientSecret", embedded: false, exported: false, typ: $String, tag: ""}, {prop: "screenID", name: "screenID", embedded: false, exported: false, typ: $String, tag: ""}, {prop: "secure", name: "secure", embedded: false, exported: false, typ: $Bool, tag: ""}, {prop: "forceScreenSize", name: "forceScreenSize", embedded: false, exported: false, typ: ptrType$1, tag: ""}, {prop: "timeoutDuration", name: "timeoutDuration", embedded: false, exported: false, typ: time.Duration, tag: ""}, {prop: "closed", name: "closed", embedded: false, exported: false, typ: $Bool, tag: ""}, {prop: "closeDone", name: "closeDone", embedded: false, exported: false, typ: chanType, tag: ""}, {prop: "closeMu", name: "closeMu", embedded: false, exported: false, typ: sync.Mutex, tag: ""}, {prop: "screenMu", name: "screenMu", embedded: false, exported: false, typ: sync.Mutex, tag: ""}, {prop: "stats", name: "stats", embedded: false, exported: false, typ: ptrType$2, tag: ""}, {prop: "onClose", name: "onClose", embedded: false, exported: false, typ: sliceType$2, tag: ""}, {prop: "window", name: "window", embedded: false, exported: false, typ: screen.Window, tag: ""}, {prop: "screen", name: "screen", embedded: false, exported: false, typ: screen.Screen, tag: ""}, {prop: "screenConn", name: "screenConn", embedded: false, exported: false, typ: netpacket.ReaderWriterCloser, tag: ""}, {prop: "metadataServer", name: "metadataServer", embedded: false, exported: false, typ: ptrType$3, tag: ""}, {prop: "responsiveSender", name: "responsiveSender", embedded: false, exported: false, typ: ptrType$4, tag: ""}, {prop: "collectionLoop", name: "collectionLoop", embedded: false, exported: false, typ: ptrType$5, tag: ""}, {prop: "decoderLoop", name: "decoderLoop", embedded: false, exported: false, typ: ptrType$6, tag: ""}, {prop: "renderingLoop", name: "renderingLoop", embedded: false, exported: false, typ: ptrType$7, tag: ""}, {prop: "sizeHandler", name: "sizeHandler", embedded: false, exported: false, typ: ptrType$8, tag: ""}, {prop: "touchHandler", name: "touchHandler", embedded: false, exported: false, typ: ptrType$9, tag: ""}, {prop: "keyHandler", name: "keyHandler", embedded: false, exported: false, typ: ptrType$10, tag: ""}, {prop: "mouseHandler", name: "mouseHandler", embedded: false, exported: false, typ: ptrType$11, tag: ""}, {prop: "eventMetrics", name: "eventMetrics", embedded: false, exported: false, typ: ptrType$12, tag: ""}, {prop: "pinger", name: "pinger", embedded: false, exported: false, typ: ptrType$13, tag: ""}, {prop: "keyEventChan", name: "keyEventChan", embedded: false, exported: false, typ: chanType$1, tag: ""}, {prop: "mouseEventChan", name: "mouseEventChan", embedded: false, exported: false, typ: chanType$2, tag: ""}, {prop: "sizeEventChan", name: "sizeEventChan", embedded: false, exported: false, typ: chanType$3, tag: ""}, {prop: "focusEventChan", name: "focusEventChan", embedded: false, exported: false, typ: chanType$4, tag: ""}, {prop: "touchEventChan", name: "touchEventChan", embedded: false, exported: false, typ: chanType$5, tag: ""}, {prop: "winCloseChannel", name: "winCloseChannel", embedded: false, exported: false, typ: chanType$6, tag: ""}, {prop: "eventLoopStop", name: "eventLoopStop", embedded: false, exported: false, typ: chanType, tag: ""}, {prop: "eventLoopDone", name: "eventLoopDone", embedded: false, exported: false, typ: chanType, tag: ""}, {prop: "windowSize", name: "windowSize", embedded: false, exported: false, typ: image.Point, tag: ""}, {prop: "geometry", name: "geometry", embedded: false, exported: false, typ: ptrType$14, tag: ""}, {prop: "closeReason", name: "closeReason", embedded: false, exported: false, typ: $String, tag: ""}]);
199920
199973
  Geometry.init("", [{prop: "X", name: "X", embedded: false, exported: true, typ: $Int, tag: "json:\"x\""}, {prop: "Y", name: "Y", embedded: false, exported: true, typ: $Int, tag: "json:\"y\""}, {prop: "Width", name: "Width", embedded: false, exported: true, typ: $Int, tag: "json:\"width\""}, {prop: "Height", name: "Height", embedded: false, exported: true, typ: $Int, tag: "json:\"height\""}]);