<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<!DOCTYPE bugzilla SYSTEM "https://bugs.webkit.org/page.cgi?id=bugzilla.dtd">

<bugzilla version="5.0.4.1"
          urlbase="https://bugs.webkit.org/"
          
          maintainer="admin@webkit.org"
>

    <bug>
          <bug_id>130080</bug_id>
          
          <creation_ts>2014-03-11 02:47:00 -0700</creation_ts>
          <short_desc>[GTK] Use GMainLoopSource for idle and timeout sources in WebKit1</short_desc>
          <delta_ts>2014-04-10 23:51:48 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>WebKitGTK</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>INVALID</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>Gtk</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          <dependson>130027</dependson>
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Carlos Garcia Campos">cgarcia</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>commit-queue</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>989323</commentid>
    <comment_count>0</comment_count>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2014-03-11 02:47:00 -0700</bug_when>
    <thetext>ssia</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>989325</commentid>
    <comment_count>1</comment_count>
      <attachid>226407</attachid>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2014-03-11 02:48:49 -0700</bug_when>
    <thetext>Created attachment 226407
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>989326</commentid>
    <comment_count>2</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2014-03-11 02:50:47 -0700</bug_when>
    <thetext>Attachment 226407 did not pass style-queue:


ERROR: Source/WebKit/gtk/webkit/webkitwebview.cpp:5337:  More than one command on the same line  [whitespace/newline] [4]
Total errors found: 1 in 8 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>992985</commentid>
    <comment_count>3</comment_count>
      <attachid>227401</attachid>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2014-03-21 01:59:12 -0700</bug_when>
    <thetext>Created attachment 227401
Rebased patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>992986</commentid>
    <comment_count>4</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2014-03-21 02:01:22 -0700</bug_when>
    <thetext>Attachment 227401 did not pass style-queue:


ERROR: Source/WebKit/gtk/webkit/webkitwebview.cpp:5337:  More than one command on the same line  [whitespace/newline] [4]
Total errors found: 1 in 8 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>999810</commentid>
    <comment_count>5</comment_count>
      <attachid>227401</attachid>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2014-04-10 23:51:30 -0700</bug_when>
    <thetext>Comment on attachment 227401
Rebased patch

Clearing flags, there&apos;s not WebKit1 GTK port anymore</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>226407</attachid>
            <date>2014-03-11 02:48:49 -0700</date>
            <delta_ts>2014-03-21 01:59:12 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>wk1-g-main-loop-source.diff</filename>
            <type>text/plain</type>
            <size>17558</size>
            <attacher name="Carlos Garcia Campos">cgarcia</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvZ3RrL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQv
Z3RrL0NoYW5nZUxvZwppbmRleCAyNzFiNDk2Li41MTI4ZWY4IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0L2d0ay9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9ndGsvQ2hhbmdlTG9nCkBA
IC0xLDMgKzEsMzQgQEAKKzIwMTQtMDMtMTAgIENhcmxvcyBHYXJjaWEgQ2FtcG9zICA8Y2dhcmNp
YUBpZ2FsaWEuY29tPgorCisgICAgICAgIFtHVEtdIFVzZSBHTWFpbkxvb3BTb3VyY2UgZm9yIGlk
bGUgYW5kIHRpbWVvdXQgc291cmNlcyBpbiBXZWJLaXQxCisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMzAwODAKKworICAgICAgICBSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIFdlYkNvcmVTdXBwb3J0L0FjY2VsZXJhdGVkQ29t
cG9zaXRpbmdDb250ZXh0Lmg6CisgICAgICAgICogV2ViQ29yZVN1cHBvcnQvQWNjZWxlcmF0ZWRD
b21wb3NpdGluZ0NvbnRleHRHTC5jcHA6CisgICAgICAgIChXZWJLaXQ6OkFjY2VsZXJhdGVkQ29t
cG9zaXRpbmdDb250ZXh0OjpBY2NlbGVyYXRlZENvbXBvc2l0aW5nQ29udGV4dCk6CisgICAgICAg
IChXZWJLaXQ6OkFjY2VsZXJhdGVkQ29tcG9zaXRpbmdDb250ZXh0OjpzdG9wQW55UGVuZGluZ0xh
eWVyRmx1c2gpOgorICAgICAgICAoV2ViS2l0OjpBY2NlbGVyYXRlZENvbXBvc2l0aW5nQ29udGV4
dDo6cmVuZGVyTGF5ZXJzVG9XaW5kb3cpOgorICAgICAgICAoV2ViS2l0OjpBY2NlbGVyYXRlZENv
bXBvc2l0aW5nQ29udGV4dDo6c2V0Um9vdENvbXBvc2l0aW5nTGF5ZXIpOgorICAgICAgICAoV2Vi
S2l0OjpBY2NlbGVyYXRlZENvbXBvc2l0aW5nQ29udGV4dDo6c2NoZWR1bGVMYXllckZsdXNoKToK
KyAgICAgICAgKiBXZWJDb3JlU3VwcG9ydC9DaHJvbWVDbGllbnRHdGsuY3BwOgorICAgICAgICAo
V2ViS2l0OjpDaHJvbWVDbGllbnQ6OkNocm9tZUNsaWVudCk6CisgICAgICAgIChXZWJLaXQ6OkNo
cm9tZUNsaWVudDo6Y2hyb21lRGVzdHJveWVkKToKKyAgICAgICAgKFdlYktpdDo6Q2hyb21lQ2xp
ZW50OjplbWl0Q2xvc2VXZWJWaWV3U2lnbmFsKToKKyAgICAgICAgKFdlYktpdDo6Q2hyb21lQ2xp
ZW50OjpjbG9zZVdpbmRvd1Nvb24pOgorICAgICAgICAoV2ViS2l0OjpDaHJvbWVDbGllbnQ6Ondp
ZGdldFNpemVDaGFuZ2VkKToKKyAgICAgICAgKFdlYktpdDo6Q2hyb21lQ2xpZW50OjpwYWludCk6
CisgICAgICAgICogV2ViQ29yZVN1cHBvcnQvQ2hyb21lQ2xpZW50R3RrLmg6CisgICAgICAgICog
V2ViQ29yZVN1cHBvcnQvR3RrQWRqdXN0bWVudFdhdGNoZXIuY3BwOgorICAgICAgICAoV2ViS2l0
OjpHdGtBZGp1c3RtZW50V2F0Y2hlcjo6R3RrQWRqdXN0bWVudFdhdGNoZXIpOgorICAgICAgICAo
V2ViS2l0OjpHdGtBZGp1c3RtZW50V2F0Y2hlcjo6fkd0a0FkanVzdG1lbnRXYXRjaGVyKToKKyAg
ICAgICAgKFdlYktpdDo6R3RrQWRqdXN0bWVudFdhdGNoZXI6OnVwZGF0ZUFkanVzdG1lbnRzRnJv
bVNjcm9sbGJhcnMpOgorICAgICAgICAoV2ViS2l0OjpHdGtBZGp1c3RtZW50V2F0Y2hlcjo6dXBk
YXRlQWRqdXN0bWVudHNGcm9tU2Nyb2xsYmFyc0xhdGVyKToKKyAgICAgICAgKiBXZWJDb3JlU3Vw
cG9ydC9HdGtBZGp1c3RtZW50V2F0Y2hlci5oOgorICAgICAgICAqIHdlYmtpdC93ZWJraXR3ZWJ2
aWV3LmNwcDoKKyAgICAgICAgKHdlYmtpdF93ZWJfdmlld19nZXRfc3VicmVzb3VyY2VzKToKKwog
MjAxNC0wMy0wNyAgWmFuIERvYmVyc2VrICA8emRvYmVyc2VrQGlnYWxpYS5jb20+CiAKICAgICAg
ICAgTW92ZSBHVEsgV2ViS2l0MSBjb2RlIHRvIHN0ZDo6dW5pcXVlX3B0cgpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdC9ndGsvV2ViQ29yZVN1cHBvcnQvQWNjZWxlcmF0ZWRDb21wb3NpdGluZ0Nv
bnRleHQuaCBiL1NvdXJjZS9XZWJLaXQvZ3RrL1dlYkNvcmVTdXBwb3J0L0FjY2VsZXJhdGVkQ29t
cG9zaXRpbmdDb250ZXh0LmgKaW5kZXggMDU4ZmNiYS4uZDFkMGU3OCAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdC9ndGsvV2ViQ29yZVN1cHBvcnQvQWNjZWxlcmF0ZWRDb21wb3NpdGluZ0NvbnRl
eHQuaAorKysgYi9Tb3VyY2UvV2ViS2l0L2d0ay9XZWJDb3JlU3VwcG9ydC9BY2NlbGVyYXRlZENv
bXBvc2l0aW5nQ29udGV4dC5oCkBAIC0yNyw2ICsyNyw3IEBACiAjaW5jbHVkZSAiVGltZXIuaCIK
ICNpbmNsdWRlICJ3ZWJraXR3ZWJ2aWV3LmgiCiAjaW5jbHVkZSA8d3RmL1Bhc3NPd25QdHIuaD4K
KyNpbmNsdWRlIDx3dGYvZ29iamVjdC9HTWFpbkxvb3BTb3VyY2UuaD4KIAogI2lmIFVTRShURVhU
VVJFX01BUFBFUikKICNpbmNsdWRlICJUZXh0dXJlTWFwcGVyTGF5ZXIuaCIKQEAgLTY5LDcgKzcw
LDcgQEAgcHVibGljOgogCiBwcml2YXRlOgogICAgIFdlYktpdFdlYlZpZXcqIG1fd2ViVmlldzsK
LSAgICB1bnNpZ25lZCBpbnQgbV9sYXllckZsdXNoVGltZXJDYWxsYmFja0lkOworICAgIEdNYWlu
TG9vcFNvdXJjZSBtX2xheWVyRmx1c2hUaW1lckNhbGxiYWNrOwogCiAjaWYgVVNFKFRFWFRVUkVf
TUFQUEVSX0dMKQogICAgIE93blB0cjxXZWJDb3JlOjpSZWRpcmVjdGVkWENvbXBvc2l0ZVdpbmRv
dz4gbV9yZWRpcmVjdGVkV2luZG93OwpAQCAtODEsOSArODIsNyBAQCBwcml2YXRlOgogICAgIGJv
b2wgbV9uZWVkc0V4dHJhRmx1c2g7CiAgICAgV2ViQ29yZTo6VGV4dHVyZU1hcHBlckZQU0NvdW50
ZXIgbV9mcHNDb3VudGVyOwogCi0gICAgdm9pZCBsYXllckZsdXNoVGltZXJGaXJlZCgpOwogICAg
IHZvaWQgc3RvcEFueVBlbmRpbmdMYXllckZsdXNoKCk7Ci0gICAgc3RhdGljIGdib29sZWFuIGxh
eWVyRmx1c2hUaW1lckZpcmVkQ2FsbGJhY2soQWNjZWxlcmF0ZWRDb21wb3NpdGluZ0NvbnRleHQq
KTsKICAgICBXZWJDb3JlOjpHTENvbnRleHQqIHByZXBhcmVGb3JSZW5kZXJpbmcoKTsKICAgICB2
b2lkIGNsZWFyRXZlcnl3aGVyZSgpOwogI2VsaWYgVVNFKFRFWFRVUkVfTUFQUEVSKQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdC9ndGsvV2ViQ29yZVN1cHBvcnQvQWNjZWxlcmF0ZWRDb21wb3Np
dGluZ0NvbnRleHRHTC5jcHAgYi9Tb3VyY2UvV2ViS2l0L2d0ay9XZWJDb3JlU3VwcG9ydC9BY2Nl
bGVyYXRlZENvbXBvc2l0aW5nQ29udGV4dEdMLmNwcAppbmRleCA4ZTRmMDMyLi5iNjAzN2JhIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2d0ay9XZWJDb3JlU3VwcG9ydC9BY2NlbGVyYXRlZENv
bXBvc2l0aW5nQ29udGV4dEdMLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L2d0ay9XZWJDb3JlU3Vw
cG9ydC9BY2NlbGVyYXRlZENvbXBvc2l0aW5nQ29udGV4dEdMLmNwcApAQCAtNjAsNyArNjAsNiBA
QCBuYW1lc3BhY2UgV2ViS2l0IHsKIAogQWNjZWxlcmF0ZWRDb21wb3NpdGluZ0NvbnRleHQ6OkFj
Y2VsZXJhdGVkQ29tcG9zaXRpbmdDb250ZXh0KFdlYktpdFdlYlZpZXcqIHdlYlZpZXcpCiAgICAg
OiBtX3dlYlZpZXcod2ViVmlldykKLSAgICAsIG1fbGF5ZXJGbHVzaFRpbWVyQ2FsbGJhY2tJZCgw
KQogICAgICwgbV9sYXN0Rmx1c2hUaW1lKDApCiAgICAgLCBtX3JlZHJhd1BlbmRpbmdUaW1lKDAp
CiAgICAgLCBtX25lZWRzRXh0cmFGbHVzaChmYWxzZSkKQEAgLTEzOCwxMCArMTM3LDcgQEAgQWNj
ZWxlcmF0ZWRDb21wb3NpdGluZ0NvbnRleHQ6On5BY2NlbGVyYXRlZENvbXBvc2l0aW5nQ29udGV4
dCgpCiAKIHZvaWQgQWNjZWxlcmF0ZWRDb21wb3NpdGluZ0NvbnRleHQ6OnN0b3BBbnlQZW5kaW5n
TGF5ZXJGbHVzaCgpCiB7Ci0gICAgaWYgKCFtX2xheWVyRmx1c2hUaW1lckNhbGxiYWNrSWQpCi0g
ICAgICAgIHJldHVybjsKLSAgICBnX3NvdXJjZV9yZW1vdmUobV9sYXllckZsdXNoVGltZXJDYWxs
YmFja0lkKTsKLSAgICBtX2xheWVyRmx1c2hUaW1lckNhbGxiYWNrSWQgPSAwOworICAgIG1fbGF5
ZXJGbHVzaFRpbWVyQ2FsbGJhY2suY2FuY2VsKCk7CiB9CiAKIGJvb2wgQWNjZWxlcmF0ZWRDb21w
b3NpdGluZ0NvbnRleHQ6OmVuYWJsZWQoKQpAQCAtMTY1LDExICsxNjEsMTEgQEAgYm9vbCBBY2Nl
bGVyYXRlZENvbXBvc2l0aW5nQ29udGV4dDo6cmVuZGVyTGF5ZXJzVG9XaW5kb3coY2Fpcm9fdCog
Y3IsIGNvbnN0IEludFIKICAgICBjYWlyb19zZXRfb3BlcmF0b3IoY3IsIENBSVJPX09QRVJBVE9S
X1NPVVJDRSk7CiAgICAgY2Fpcm9fZmlsbChjcik7CiAKLSAgICBpZiAoIW1fbGF5ZXJGbHVzaFRp
bWVyQ2FsbGJhY2tJZCAmJiAodG9UZXh0dXJlTWFwcGVyTGF5ZXIobV9yb290TGF5ZXIuZ2V0KCkp
LT5kZXNjZW5kYW50c09yU2VsZkhhdmVSdW5uaW5nQW5pbWF0aW9ucygpIHx8IG1fbmVlZHNFeHRy
YUZsdXNoKSkgeworICAgIGlmICghbV9sYXllckZsdXNoVGltZXJDYWxsYmFjay5pc1NjaGVkdWxl
ZCgpICYmICh0b1RleHR1cmVNYXBwZXJMYXllcihtX3Jvb3RMYXllci5nZXQoKSktPmRlc2NlbmRh
bnRzT3JTZWxmSGF2ZVJ1bm5pbmdBbmltYXRpb25zKCkgfHwgbV9uZWVkc0V4dHJhRmx1c2gpKSB7
CiAgICAgICAgIG1fbmVlZHNFeHRyYUZsdXNoID0gZmFsc2U7CiAgICAgICAgIGRvdWJsZSBuZXh0
Rmx1c2ggPSBzdGQ6Om1heCgoMSAvIGdGcmFtZXNQZXJTZWNvbmQpIC0gKGN1cnJlbnRUaW1lKCkg
LSBtX2xhc3RGbHVzaFRpbWUpLCAwLjApOwotICAgICAgICBtX2xheWVyRmx1c2hUaW1lckNhbGxi
YWNrSWQgPSBnX3RpbWVvdXRfYWRkX2Z1bGwoR0RLX1BSSU9SSVRZX0VWRU5UUywgMTAwMCAqIG5l
eHRGbHVzaCwgcmVpbnRlcnByZXRfY2FzdDxHU291cmNlRnVuYz4obGF5ZXJGbHVzaFRpbWVyRmly
ZWRDYWxsYmFjayksIHRoaXMsIDApOwotICAgICAgICBnX3NvdXJjZV9zZXRfbmFtZV9ieV9pZCht
X2xheWVyRmx1c2hUaW1lckNhbGxiYWNrSWQsICJbV2ViS2l0XSBsYXllckZsdXNoVGltZXJGaXJl
ZENhbGxiYWNrIik7CisgICAgICAgIG1fbGF5ZXJGbHVzaFRpbWVyQ2FsbGJhY2suc2NoZWR1bGVB
ZnRlckRlbGF5KCJbV2ViS2l0XSBsYXllckZsdXNoVGltZXIiLCBzdGQ6OmJpbmQoJkFjY2VsZXJh
dGVkQ29tcG9zaXRpbmdDb250ZXh0OjpmbHVzaEFuZFJlbmRlckxheWVycywgdGhpcyksCisgICAg
ICAgICAgICBzdGQ6OmNocm9ubzo6ZHVyYXRpb25fY2FzdDxzdGQ6OmNocm9ubzo6bWlsbGlzZWNv
bmRzPihzdGQ6OmNocm9ubzo6ZHVyYXRpb248ZG91YmxlPihuZXh0Rmx1c2gpKSwgR0RLX1BSSU9S
SVRZX0VWRU5UUyk7CiAgICAgfQogCiAgICAgcmV0dXJuIHRydWU7CkBAIC0yNjksOCArMjY1LDkg
QEAgdm9pZCBBY2NlbGVyYXRlZENvbXBvc2l0aW5nQ29udGV4dDo6c2V0Um9vdENvbXBvc2l0aW5n
TGF5ZXIoR3JhcGhpY3NMYXllciogZ3JhcGgKICAgICBtX25lZWRzRXh0cmFGbHVzaCA9IHRydWU7
CiAgICAgc2NoZWR1bGVMYXllckZsdXNoKCk7CiAKLSAgICBtX2xheWVyRmx1c2hUaW1lckNhbGxi
YWNrSWQgPSBnX3RpbWVvdXRfYWRkX2Z1bGwoR0RLX1BSSU9SSVRZX0VWRU5UUywgNTAwLCByZWlu
dGVycHJldF9jYXN0PEdTb3VyY2VGdW5jPihsYXllckZsdXNoVGltZXJGaXJlZENhbGxiYWNrKSwg
dGhpcywgMCk7Ci0gICAgZ19zb3VyY2Vfc2V0X25hbWVfYnlfaWQobV9sYXllckZsdXNoVGltZXJD
YWxsYmFja0lkLCAiW1dlYktpdF0gbGF5ZXJGbHVzaFRpbWVyRmlyZWRDYWxsYmFjayIpOworICAg
IC8vIFdlIG5lZWQgYSBkaWZmZXJlbnQgc291cmNlIGZvciB0aGlzIHRvIG5vdCBjYW5jZWwgdGhl
IHByZXZpb3VzIG9uZS4KKyAgICBHTWFpbkxvb3BTb3VyY2U6OmNyZWF0ZSgpLnNjaGVkdWxlQWZ0
ZXJEZWxheSgiW1dlYktpdF0gbGF5ZXJGbHVzaFRpbWVyIiwgc3RkOjpiaW5kKCZBY2NlbGVyYXRl
ZENvbXBvc2l0aW5nQ29udGV4dDo6Zmx1c2hBbmRSZW5kZXJMYXllcnMsIHRoaXMpLAorICAgICAg
ICBzdGQ6OmNocm9ubzo6bWlsbGlzZWNvbmRzKDUwMCksIEdES19QUklPUklUWV9FVkVOVFMpOwog
fQogCiB2b2lkIEFjY2VsZXJhdGVkQ29tcG9zaXRpbmdDb250ZXh0OjpzZXROb25Db21wb3NpdGVk
Q29udGVudHNOZWVkRGlzcGxheShjb25zdCBJbnRSZWN0JiByZWN0KQpAQCAtMzIwLDI1ICszMTcs
MTkgQEAgdm9pZCBBY2NlbGVyYXRlZENvbXBvc2l0aW5nQ29udGV4dDo6c2Nyb2xsTm9uQ29tcG9z
aXRlZENvbnRlbnRzKGNvbnN0IEludFJlY3QmIHMKICAgICBzY2hlZHVsZUxheWVyRmx1c2goKTsK
IH0KIAotZ2Jvb2xlYW4gQWNjZWxlcmF0ZWRDb21wb3NpdGluZ0NvbnRleHQ6OmxheWVyRmx1c2hU
aW1lckZpcmVkQ2FsbGJhY2soQWNjZWxlcmF0ZWRDb21wb3NpdGluZ0NvbnRleHQqIGNvbnRleHQp
Ci17Ci0gICAgY29udGV4dC0+bGF5ZXJGbHVzaFRpbWVyRmlyZWQoKTsKLSAgICByZXR1cm4gRkFM
U0U7Ci19Ci0KIHZvaWQgQWNjZWxlcmF0ZWRDb21wb3NpdGluZ0NvbnRleHQ6OnNjaGVkdWxlTGF5
ZXJGbHVzaCgpCiB7CiAgICAgaWYgKCFlbmFibGVkKCkpCiAgICAgICAgIHJldHVybjsKIAotICAg
IGlmIChtX2xheWVyRmx1c2hUaW1lckNhbGxiYWNrSWQpCisgICAgaWYgKG1fbGF5ZXJGbHVzaFRp
bWVyQ2FsbGJhY2suaXNTY2hlZHVsZWQoKSkKICAgICAgICAgcmV0dXJuOwogCiAgICAgLy8gV2Ug
dXNlIGEgR0xpYiB0aW1lciBiZWNhdXNlIG90aGVyd2lzZSBHVEsrIGV2ZW50IGhhbmRsaW5nIGR1
cmluZyBkcmFnZ2luZyBjYW4KICAgICAvLyBzdGFydmUgV2ViQ29yZSB0aW1lcnMsIHdoaWNoIGhh
dmUgYSBsb3dlciBwcmlvcml0eS4KICAgICBkb3VibGUgbmV4dEZsdXNoID0gc3RkOjptYXgoZ1Nj
aGVkdWxlRGVsYXkgLSAoY3VycmVudFRpbWUoKSAtIG1fbGFzdEZsdXNoVGltZSksIDAuMCk7Ci0g
ICAgbV9sYXllckZsdXNoVGltZXJDYWxsYmFja0lkID0gZ190aW1lb3V0X2FkZF9mdWxsKEdES19Q
UklPUklUWV9FVkVOVFMsIG5leHRGbHVzaCAqIDEwMDAsIHJlaW50ZXJwcmV0X2Nhc3Q8R1NvdXJj
ZUZ1bmM+KGxheWVyRmx1c2hUaW1lckZpcmVkQ2FsbGJhY2spLCB0aGlzLCAwKTsKLSAgICBnX3Nv
dXJjZV9zZXRfbmFtZV9ieV9pZChtX2xheWVyRmx1c2hUaW1lckNhbGxiYWNrSWQsICJbV2ViS2l0
XSBsYXllckZsdXNoVGltZXJGaXJlZENhbGxiYWNrIik7CisgICAgbV9sYXllckZsdXNoVGltZXJD
YWxsYmFjay5zY2hlZHVsZUFmdGVyRGVsYXkoIltXZWJLaXRdIGxheWVyRmx1c2hUaW1lciIsIHN0
ZDo6YmluZCgmQWNjZWxlcmF0ZWRDb21wb3NpdGluZ0NvbnRleHQ6OmZsdXNoQW5kUmVuZGVyTGF5
ZXJzLCB0aGlzKSwKKyAgICAgICAgc3RkOjpjaHJvbm86OmR1cmF0aW9uX2Nhc3Q8c3RkOjpjaHJv
bm86Om1pbGxpc2Vjb25kcz4oc3RkOjpjaHJvbm86OmR1cmF0aW9uPGRvdWJsZT4obmV4dEZsdXNo
KSksIEdES19QUklPUklUWV9FVkVOVFMpOwogfQogCiBib29sIEFjY2VsZXJhdGVkQ29tcG9zaXRp
bmdDb250ZXh0OjpmbHVzaFBlbmRpbmdMYXllckNoYW5nZXMoKQpAQCAtMzgxLDEyICszNzIsNiBA
QCB2b2lkIEFjY2VsZXJhdGVkQ29tcG9zaXRpbmdDb250ZXh0OjpmbHVzaEFuZFJlbmRlckxheWVy
cygpCiAgICAgICAgIG1fcmVkcmF3UGVuZGluZ1RpbWUgPSBjdXJyZW50VGltZSgpOwogfQogCi12
b2lkIEFjY2VsZXJhdGVkQ29tcG9zaXRpbmdDb250ZXh0OjpsYXllckZsdXNoVGltZXJGaXJlZCgp
Ci17Ci0gICAgbV9sYXllckZsdXNoVGltZXJDYWxsYmFja0lkID0gMDsKLSAgICBmbHVzaEFuZFJl
bmRlckxheWVycygpOwotfQotCiB2b2lkIEFjY2VsZXJhdGVkQ29tcG9zaXRpbmdDb250ZXh0Ojpu
b3RpZnlBbmltYXRpb25TdGFydGVkKGNvbnN0IEdyYXBoaWNzTGF5ZXIqLCBkb3VibGUgdGltZSkK
IHsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9ndGsvV2ViQ29yZVN1cHBvcnQvQ2hyb21l
Q2xpZW50R3RrLmNwcCBiL1NvdXJjZS9XZWJLaXQvZ3RrL1dlYkNvcmVTdXBwb3J0L0Nocm9tZUNs
aWVudEd0ay5jcHAKaW5kZXggMWEwMGUxZS4uMWFkOGM4ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdC9ndGsvV2ViQ29yZVN1cHBvcnQvQ2hyb21lQ2xpZW50R3RrLmNwcAorKysgYi9Tb3VyY2Uv
V2ViS2l0L2d0ay9XZWJDb3JlU3VwcG9ydC9DaHJvbWVDbGllbnRHdGsuY3BwCkBAIC0xMTMsMjMg
KzExMywxNSBAQCBzdGF0aWMgUGFzc093blB0cjxXaWRnZXRCYWNraW5nU3RvcmU+IGNyZWF0ZUJh
Y2tpbmdTdG9yZShHdGtXaWRnZXQqIHdpZGdldCwgY29ucwogQ2hyb21lQ2xpZW50OjpDaHJvbWVD
bGllbnQoV2ViS2l0V2ViVmlldyogd2ViVmlldykKICAgICA6IG1fd2ViVmlldyh3ZWJWaWV3KQog
ICAgICwgbV9hZGp1c3RtZW50V2F0Y2hlcih3ZWJWaWV3KQotICAgICwgbV9jbG9zZVNvb25UaW1l
cigwKQogICAgICwgbV9kaXNwbGF5VGltZXIodGhpcywgJkNocm9tZUNsaWVudDo6cGFpbnQpCiAg
ICAgLCBtX2ZvcmNlUGFpbnQoZmFsc2UpCiAgICAgLCBtX2xhc3REaXNwbGF5VGltZSgwKQotICAg
ICwgbV9yZXBhaW50U29vblNvdXJjZUlkKDApCiB7CiAgICAgQVNTRVJUKG1fd2ViVmlldyk7CiB9
CiAKIHZvaWQgQ2hyb21lQ2xpZW50OjpjaHJvbWVEZXN0cm95ZWQoKQogewotICAgIGlmIChtX2Ns
b3NlU29vblRpbWVyKQotICAgICAgICBnX3NvdXJjZV9yZW1vdmUobV9jbG9zZVNvb25UaW1lcik7
Ci0KLSAgICBpZiAobV9yZXBhaW50U29vblNvdXJjZUlkKQotICAgICAgICBnX3NvdXJjZV9yZW1v
dmUobV9yZXBhaW50U29vblNvdXJjZUlkKTsKLQogICAgIGRlbGV0ZSB0aGlzOwogfQogCkBAIC0z
MDAsMTEgKzI5MiwxMCBAQCB2b2lkIENocm9tZUNsaWVudDo6c2V0UmVzaXphYmxlKGJvb2wpCiAg
ICAgLy8gSWdub3JlZCBmb3Igbm93CiB9CiAKLXN0YXRpYyBnYm9vbGVhbiBlbWl0Q2xvc2VXZWJW
aWV3U2lnbmFsTGF0ZXIoV2ViS2l0V2ViVmlldyogdmlldykKK3ZvaWQgQ2hyb21lQ2xpZW50Ojpl
bWl0Q2xvc2VXZWJWaWV3U2lnbmFsKCkKIHsKICAgICBnYm9vbGVhbiBpc0hhbmRsZWQ7Ci0gICAg
Z19zaWduYWxfZW1pdF9ieV9uYW1lKHZpZXcsICJjbG9zZS13ZWItdmlldyIsICZpc0hhbmRsZWQp
OwotICAgIHJldHVybiBGQUxTRTsKKyAgICBnX3NpZ25hbF9lbWl0X2J5X25hbWUobV93ZWJWaWV3
LCAiY2xvc2Utd2ViLXZpZXciLCAmaXNIYW5kbGVkKTsKIH0KIAogdm9pZCBDaHJvbWVDbGllbnQ6
OmNsb3NlV2luZG93U29vbigpCkBAIC0zMTIsNyArMzAzLDcgQEAgdm9pZCBDaHJvbWVDbGllbnQ6
OmNsb3NlV2luZG93U29vbigpCiAgICAgLy8gV2UgbWF5IG5vdCBoYXZlIGEgV2ViVmlldyBhcyBj
cmVhdGUtd2ViLXZpZXcgY2FuIHJldHVybiBOVUxMLgogICAgIGlmICghbV93ZWJWaWV3KQogICAg
ICAgICByZXR1cm47Ci0gICAgaWYgKG1fY2xvc2VTb29uVGltZXIpIC8vIERvbid0IGNhbGwgY2xv
c2Utd2ViLXZpZXcgbW9yZSB0aGFuIG9uY2UuCisgICAgaWYgKG1fY2xvc2VTb29uVGltZXIuaXNT
Y2hlZHVsZWQoKSkgLy8gRG9uJ3QgY2FsbCBjbG9zZS13ZWItdmlldyBtb3JlIHRoYW4gb25jZS4K
ICAgICAgICAgcmV0dXJuOwogCiAgICAgLy8gV2UgbmVlZCB0byByZW1vdmUgdGhlIHBhcmVudCBX
ZWJWaWV3IGZyb20gV2ViVmlld1NldHMgaGVyZSwgYmVmb3JlIGl0IGFjdHVhbGx5CkBAIC0zMzAs
NyArMzIxLDcgQEAgdm9pZCBDaHJvbWVDbGllbnQ6OmNsb3NlV2luZG93U29vbigpCiAgICAgLy8g
b25sb2FkIGhhbmRsZXIsIGl0IHdpbGwgbmVlZCB0byBjYWxsIEZyYW1lTG9hZGVyQ2xpZW50Ojpk
aXNwYXRjaERpZEhhbmRsZU9ubG9hZEV2ZW50cy4KICAgICAvLyBJbnN0ZWFkIG9mIGZpcmluZyB0
aGUgY2xvc2Utd2ViLXZpZXcgc2lnbmFsIG5vdywgZmlyZSBpdCBhZnRlciB0aGUgY2FsbGVyIGZp
bmlzaGVzLgogICAgIC8vIFRoaXMgc2VlbXMgdG8gbWF0Y2ggdGhlIE1hYy9XaW5kb3dzIHBvcnQg
YmVoYXZpb3IuCi0gICAgbV9jbG9zZVNvb25UaW1lciA9IGdfaWRsZV9hZGRfZnVsbChHX1BSSU9S
SVRZX0RFRkFVTFQsIHJlaW50ZXJwcmV0X2Nhc3Q8R1NvdXJjZUZ1bmM+KGVtaXRDbG9zZVdlYlZp
ZXdTaWduYWxMYXRlciksIG1fd2ViVmlldywgMCk7CisgICAgbV9jbG9zZVNvb25UaW1lci5zY2hl
ZHVsZSgiW1dlYktpdF0gY2xvc2VXaW5kb3dTb29uIiwgc3RkOjpiaW5kKCZDaHJvbWVDbGllbnQ6
OmVtaXRDbG9zZVdlYlZpZXdTaWduYWwsIHRoaXMpKTsKIH0KIAogYm9vbCBDaHJvbWVDbGllbnQ6
OmNhblRha2VGb2N1cyhGb2N1c0RpcmVjdGlvbikKQEAgLTQyMSwxMiArNDEyLDYgQEAgSW50UmVj
dCBDaHJvbWVDbGllbnQ6OndpbmRvd1Jlc2l6ZXJSZWN0KCkgY29uc3QKICAgICByZXR1cm4gSW50
UmVjdCgpOwogfQogCi1zdGF0aWMgZ2Jvb2xlYW4gcmVwYWludEV2ZXJ5dGhpbmdTb29uVGltZW91
dChDaHJvbWVDbGllbnQqIGNsaWVudCkKLXsKLSAgICBjbGllbnQtPnBhaW50KDApOwotICAgIHJl
dHVybiBGQUxTRTsKLX0KLQogc3RhdGljIHZvaWQgY2xpcE91dE9sZFdpZGdldEFyZWEoY2Fpcm9f
dCogY3IsIGNvbnN0IEludFNpemUmIG9sZFNpemUsIGNvbnN0IEludFNpemUmIG5ld1NpemUpCiB7
CiAgICAgY2Fpcm9fbW92ZV90byhjciwgb2xkU2l6ZS53aWR0aCgpLCAwKTsKQEAgLTUxMSw4ICs0
OTYsOCBAQCB2b2lkIENocm9tZUNsaWVudDo6d2lkZ2V0U2l6ZUNoYW5nZWQoY29uc3QgSW50U2l6
ZSYgb2xkV2lkZ2V0U2l6ZSwgSW50U2l6ZSBuZXdTaQogCiAgICAgLy8gV2ViQ29yZSB0aW1lcnMg
YnkgZGVmYXVsdCBoYXZlIGEgbG93ZXIgcHJpb3JpdHkgd2hpY2ggbGVhZHMgdG8gbW9yZSBhcnRp
ZmFjdHMgd2hlbiBvcGFxdWUKICAgICAvLyByZXNpemUgaXMgb24sIHRodXMgd2UgdXNlIGdfdGlt
ZW91dF9hZGQgaGVyZSB0byBmb3JjZSBhIGhpZ2hlciB0aW1lb3V0IHByaW9yaXR5LgotICAgIGlm
ICghbV9yZXBhaW50U29vblNvdXJjZUlkKQotICAgICAgICBtX3JlcGFpbnRTb29uU291cmNlSWQg
PSBnX2lkbGVfYWRkX2Z1bGwoR19QUklPUklUWV9ERUZBVUxULCByZWludGVycHJldF9jYXN0PEdT
b3VyY2VGdW5jPihyZXBhaW50RXZlcnl0aGluZ1Nvb25UaW1lb3V0KSwgdGhpcywgMCk7CisgICAg
aWYgKCFtX3JlcGFpbnRTb29uU291cmNlLmlzU2NoZWR1bGVkKCkpCisgICAgICAgIG1fcmVwYWlu
dFNvb25Tb3VyY2Uuc2NoZWR1bGUoIltXZWJLaXRdIENocm9tZUNsaWVudEd0azo6cGFpbnQiLCBz
dGQ6OmJpbmQoJkNocm9tZUNsaWVudDo6cGFpbnQsIHRoaXMsIG51bGxwdHIpKTsKIH0KIAogc3Rh
dGljIHZvaWQgY29hbGVzY2VSZWN0c0lmUG9zc2libGUoY29uc3QgSW50UmVjdCYgY2xpcFJlY3Qs
IFZlY3RvcjxJbnRSZWN0PiYgcmVjdHMpCkBAIC02MTcsNyArNjAyLDYgQEAgdm9pZCBDaHJvbWVD
bGllbnQ6OnBhaW50KFdlYkNvcmU6OlRpbWVyPENocm9tZUNsaWVudD4qKQogCiAgICAgbV9kaXJ0
eVJlZ2lvbiA9IFJlZ2lvbigpOwogICAgIG1fbGFzdERpc3BsYXlUaW1lID0gbW9ub3RvbmljYWxs
eUluY3JlYXNpbmdUaW1lKCk7Ci0gICAgbV9yZXBhaW50U29vblNvdXJjZUlkID0gMDsKIAogICAg
IC8vIFdlIHVwZGF0ZSB0aGUgSU0gY29udGV4dCB3aW5kb3cgbG9jYXRpb24gaGVyZSwgYmVjYXVz
ZSB3ZSB3YW50IGl0IHRvIGJlCiAgICAgLy8gc3luY2VkIHdpdGggY3Vyc29yIG1vdmVtZW50LiBG
b3IgaW5zdGFuY2UsIGEgdGV4dCBmaWVsZCBjYW4gbW92ZSB3aXRob3V0CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0L2d0ay9XZWJDb3JlU3VwcG9ydC9DaHJvbWVDbGllbnRHdGsuaCBiL1NvdXJj
ZS9XZWJLaXQvZ3RrL1dlYkNvcmVTdXBwb3J0L0Nocm9tZUNsaWVudEd0ay5oCmluZGV4IGJkNWM3
ZDYuLmYzY2IyYWIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvZ3RrL1dlYkNvcmVTdXBwb3J0
L0Nocm9tZUNsaWVudEd0ay5oCisrKyBiL1NvdXJjZS9XZWJLaXQvZ3RrL1dlYkNvcmVTdXBwb3J0
L0Nocm9tZUNsaWVudEd0ay5oCkBAIC0zMCw2ICszMCw3IEBACiAjaW5jbHVkZSAiUmVnaW9uLmgi
CiAjaW5jbHVkZSAiU2VhcmNoUG9wdXBNZW51LmgiCiAjaW5jbHVkZSAiVGltZXIuaCIKKyNpbmNs
dWRlIDx3dGYvZ29iamVjdC9HTWFpbkxvb3BTb3VyY2UuaD4KIAogdXNpbmcgbmFtZXNwYWNlIFdl
YkNvcmU7CiB0eXBlZGVmIHN0cnVjdCBfV2ViS2l0V2ViVmlldyBXZWJLaXRXZWJWaWV3OwpAQCAt
MTU2LDEwICsxNTcsMTIgQEAgbmFtZXNwYWNlIFdlYktpdCB7CiAgICAgICAgIFdlYktpdFdlYlZp
ZXcqIHdlYlZpZXcoKSB7IHJldHVybiBtX3dlYlZpZXc7IH0KIAogICAgIHByaXZhdGU6CisgICAg
ICAgIHZvaWQgZW1pdENsb3NlV2ViVmlld1NpZ25hbCgpOworCiAgICAgICAgIFdlYktpdFdlYlZp
ZXcqIG1fd2ViVmlldzsKICAgICAgICAgR3RrQWRqdXN0bWVudFdhdGNoZXIgbV9hZGp1c3RtZW50
V2F0Y2hlcjsKICAgICAgICAgVVJMIG1faG92ZXJlZExpbmtVUkw7Ci0gICAgICAgIHVuc2lnbmVk
IGludCBtX2Nsb3NlU29vblRpbWVyOworICAgICAgICBHTWFpbkxvb3BTb3VyY2UgbV9jbG9zZVNv
b25UaW1lcjsKIAogICAgICAgICBUaW1lciA8Q2hyb21lQ2xpZW50PiBtX2Rpc3BsYXlUaW1lcjsK
ICAgICAgICAgYm9vbCBtX2ZvcmNlUGFpbnQ7CkBAIC0xNjcsNyArMTcwLDcgQEAgbmFtZXNwYWNl
IFdlYktpdCB7CiAgICAgICAgIFZlY3RvcjxJbnRSZWN0PiBtX3JlY3RzVG9TY3JvbGw7CiAgICAg
ICAgIFZlY3RvcjxJbnRTaXplPiBtX3Njcm9sbE9mZnNldHM7CiAgICAgICAgIGRvdWJsZSBtX2xh
c3REaXNwbGF5VGltZTsKLSAgICAgICAgdW5zaWduZWQgaW50IG1fcmVwYWludFNvb25Tb3VyY2VJ
ZDsKKyAgICAgICAgR01haW5Mb29wU291cmNlIG1fcmVwYWludFNvb25Tb3VyY2U7CiAKICNpZiBF
TkFCTEUoRlVMTFNDUkVFTl9BUEkpCiAgICAgICAgIFJlZlB0cjxFbGVtZW50PiBtX2Z1bGxTY3Jl
ZW5FbGVtZW50OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9ndGsvV2ViQ29yZVN1cHBvcnQv
R3RrQWRqdXN0bWVudFdhdGNoZXIuY3BwIGIvU291cmNlL1dlYktpdC9ndGsvV2ViQ29yZVN1cHBv
cnQvR3RrQWRqdXN0bWVudFdhdGNoZXIuY3BwCmluZGV4IDgyNTg1MDYuLjM3NzQ2NDcgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQvZ3RrL1dlYkNvcmVTdXBwb3J0L0d0a0FkanVzdG1lbnRXYXRj
aGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L2d0ay9XZWJDb3JlU3VwcG9ydC9HdGtBZGp1c3Rt
ZW50V2F0Y2hlci5jcHAKQEAgLTM0LDE0ICszNCwxMSBAQCBHdGtBZGp1c3RtZW50V2F0Y2hlcjo6
R3RrQWRqdXN0bWVudFdhdGNoZXIoV2ViS2l0V2ViVmlldyogd2ViVmlldykKICAgICA6IG1fd2Vi
Vmlldyh3ZWJWaWV3KQogICAgICwgbV9zY3JvbGxiYXJzRGlzYWJsZWQoZmFsc2UpCiAgICAgLCBt
X2hhbmRsaW5nR3RrQWRqdXN0bWVudENoYW5nZShmYWxzZSkKLSAgICAsIG1fdXBkYXRlQWRqdXN0
bWVudENhbGxiYWNrSWQoMCkKIHsKIH0KIAogR3RrQWRqdXN0bWVudFdhdGNoZXI6On5HdGtBZGp1
c3RtZW50V2F0Y2hlcigpCiB7Ci0gICAgaWYgKG1fdXBkYXRlQWRqdXN0bWVudENhbGxiYWNrSWQp
Ci0gICAgICAgIGdfc291cmNlX3JlbW92ZShtX3VwZGF0ZUFkanVzdG1lbnRDYWxsYmFja0lkKTsK
IH0KIAogc3RhdGljIHZvaWQgdXBkYXRlQWRqdXN0bWVudEZyb21TY3JvbGxiYXIoR3RrQWRqdXN0
bWVudCogYWRqdXN0bWVudCwgU2Nyb2xsYmFyKiBzY3JvbGxiYXIpCkBAIC02OCwzMCArNjUsMjAg
QEAgdm9pZCBHdGtBZGp1c3RtZW50V2F0Y2hlcjo6dXBkYXRlQWRqdXN0bWVudHNGcm9tU2Nyb2xs
YmFycygpCiAgICAgRnJhbWVWaWV3KiBmcmFtZVZpZXcgPSBjb3JlKG1fd2ViVmlldyktPm1haW5G
cmFtZSgpLnZpZXcoKTsKICAgICB1cGRhdGVBZGp1c3RtZW50RnJvbVNjcm9sbGJhcihtX2hvcml6
b250YWxBZGp1c3RtZW50LmdldCgpLCBmcmFtZVZpZXctPmhvcml6b250YWxTY3JvbGxiYXIoKSk7
CiAgICAgdXBkYXRlQWRqdXN0bWVudEZyb21TY3JvbGxiYXIobV92ZXJ0aWNhbEFkanVzdG1lbnQu
Z2V0KCksIGZyYW1lVmlldy0+dmVydGljYWxTY3JvbGxiYXIoKSk7Ci0gICAgaWYgKG1fdXBkYXRl
QWRqdXN0bWVudENhbGxiYWNrSWQpIHsKLSAgICAgICAgZ19zb3VyY2VfcmVtb3ZlKG1fdXBkYXRl
QWRqdXN0bWVudENhbGxiYWNrSWQpOwotICAgICAgICBtX3VwZGF0ZUFkanVzdG1lbnRDYWxsYmFj
a0lkID0gMDsKLSAgICB9Ci19Ci0KLWdib29sZWFuIEd0a0FkanVzdG1lbnRXYXRjaGVyOjp1cGRh
dGVBZGp1c3RtZW50Q2FsbGJhY2soR3RrQWRqdXN0bWVudFdhdGNoZXIqIHdhdGNoZXIpCi17Ci0g
ICAgd2F0Y2hlci0+bV91cGRhdGVBZGp1c3RtZW50Q2FsbGJhY2tJZCA9IDA7Ci0gICAgd2F0Y2hl
ci0+dXBkYXRlQWRqdXN0bWVudHNGcm9tU2Nyb2xsYmFycygpOwotICAgIHJldHVybiBGQUxTRTsK
KyAgICBtX3VwZGF0ZUFkanVzdG1lbnRDYWxsYmFjay5jYW5jZWwoKTsKIH0KIAogdm9pZCBHdGtB
ZGp1c3RtZW50V2F0Y2hlcjo6dXBkYXRlQWRqdXN0bWVudHNGcm9tU2Nyb2xsYmFyc0xhdGVyKCkg
Y29uc3QKIHsKICAgICAvLyBXZSd2ZSBhbHJlYWR5IHNjaGVkdWxlZCBhbiB1cGRhdGUuIE5vIG5l
ZWQgdG8gc2NoZWR1bGUgYW5vdGhlci4KLSAgICBpZiAobV91cGRhdGVBZGp1c3RtZW50Q2FsbGJh
Y2tJZCB8fCBtX3Njcm9sbGJhcnNEaXNhYmxlZCkKKyAgICBpZiAobV91cGRhdGVBZGp1c3RtZW50
Q2FsbGJhY2suaXNTY2hlZHVsZWQoKSB8fCBtX3Njcm9sbGJhcnNEaXNhYmxlZCkKICAgICAgICAg
cmV0dXJuOwogCiAgICAgLy8gVGhlIGZhY3QgdGhhdCB0aGlzIG1ldGhvZCB3YXMgY2FsbGVkIG1l
YW5zIHRoYXQgd2UgbmVlZCB0byB1cGRhdGUgdGhlIHNjcm9sbGJhcnMsIGJ1dCBhdCB0aGUKICAg
ICAvLyB0aW1lIG9mIGludm9jYXRpb24gdGhleSBhcmUgbm90IHVwZGF0ZWQgdG8gcmVmbGVjdCB0
aGUgc2Nyb2xsIHlldC4gV2Ugc2V0IGEgc2hvcnQgdGltZW91dAogICAgIC8vIGhlcmUsIHdoaWNo
IG1lYW5zIHRoYXQgdGhleSB3aWxsIGJlIHVwZGF0ZWQgYXMgc29vbiBhcyBXZWJLaXQgcmV0dXJu
cyB0byB0aGUgbWFpbiBsb29wLgotICAgIG1fdXBkYXRlQWRqdXN0bWVudENhbGxiYWNrSWQgPSBn
X2lkbGVfYWRkX2Z1bGwoR19QUklPUklUWV9ERUZBVUxULCByZWludGVycHJldF9jYXN0PEdTb3Vy
Y2VGdW5jPih1cGRhdGVBZGp1c3RtZW50Q2FsbGJhY2spLAotICAgICAgICBjb25zdF9jYXN0PHZv
aWQqPihzdGF0aWNfY2FzdDxjb25zdCB2b2lkKj4odGhpcykpLCAwKTsKKyAgICBtX3VwZGF0ZUFk
anVzdG1lbnRDYWxsYmFjay5zY2hlZHVsZSgiW1dlYktpdF0gR3RrQWRqdXN0bWVudFdhdGNoZXI6
OnVwZGF0ZUFkanVzdG1lbnRzRnJvbVNjcm9sbGJhcnMiLAorICAgICAgICBzdGQ6OmJpbmQoJkd0
a0FkanVzdG1lbnRXYXRjaGVyOjp1cGRhdGVBZGp1c3RtZW50c0Zyb21TY3JvbGxiYXJzLCBjb25z
dF9jYXN0PEd0a0FkanVzdG1lbnRXYXRjaGVyKj4oc3RhdGljX2Nhc3Q8Y29uc3QgR3RrQWRqdXN0
bWVudFdhdGNoZXIqPih0aGlzKSkpKTsKIH0KIAogc3RhdGljIHZvaWQgYWRqdXN0bWVudFZhbHVl
Q2hhbmdlZENhbGxiYWNrKEd0a0FkanVzdG1lbnQqIGFkanVzdG1lbnQsIEd0a0FkanVzdG1lbnRX
YXRjaGVyKiB3YXRjaGVyKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9ndGsvV2ViQ29yZVN1
cHBvcnQvR3RrQWRqdXN0bWVudFdhdGNoZXIuaCBiL1NvdXJjZS9XZWJLaXQvZ3RrL1dlYkNvcmVT
dXBwb3J0L0d0a0FkanVzdG1lbnRXYXRjaGVyLmgKaW5kZXggZTU2OWNkYy4uODIwOTdiNCAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdC9ndGsvV2ViQ29yZVN1cHBvcnQvR3RrQWRqdXN0bWVudFdh
dGNoZXIuaAorKysgYi9Tb3VyY2UvV2ViS2l0L2d0ay9XZWJDb3JlU3VwcG9ydC9HdGtBZGp1c3Rt
ZW50V2F0Y2hlci5oCkBAIC0yMSw2ICsyMSw3IEBACiAjZGVmaW5lIEd0a0FkanVzdG1lbnRXYXRj
aGVyX2gKIAogI2luY2x1ZGUgIkdSZWZQdHJHdGsuaCIKKyNpbmNsdWRlIDx3dGYvZ29iamVjdC9H
TWFpbkxvb3BTb3VyY2UuaD4KIAogdHlwZWRlZiBzdHJ1Y3QgX1dlYktpdFdlYlZpZXcgV2ViS2l0
V2ViVmlldzsKIApAQCAtNTAsNyArNTEsNyBAQCBwcml2YXRlOgogICAgIEdSZWZQdHI8R3RrQWRq
dXN0bWVudD4gbV92ZXJ0aWNhbEFkanVzdG1lbnQ7CiAgICAgYm9vbCBtX3Njcm9sbGJhcnNEaXNh
YmxlZDsKICAgICBib29sIG1faGFuZGxpbmdHdGtBZGp1c3RtZW50Q2hhbmdlOwotICAgIG11dGFi
bGUgdW5zaWduZWQgbV91cGRhdGVBZGp1c3RtZW50Q2FsbGJhY2tJZDsKKyAgICBtdXRhYmxlIEdN
YWluTG9vcFNvdXJjZSBtX3VwZGF0ZUFkanVzdG1lbnRDYWxsYmFjazsKIH07CiAKIH0KZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQvZ3RrL3dlYmtpdC93ZWJraXR3ZWJ2aWV3LmNwcCBiL1NvdXJj
ZS9XZWJLaXQvZ3RrL3dlYmtpdC93ZWJraXR3ZWJ2aWV3LmNwcAppbmRleCA2MzAxODEzLi4zMTUz
ODcyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2d0ay93ZWJraXQvd2Via2l0d2Vidmlldy5j
cHAKKysrIGIvU291cmNlL1dlYktpdC9ndGsvd2Via2l0L3dlYmtpdHdlYnZpZXcuY3BwCkBAIC01
MzE3LDE0ICs1MzE3LDYgQEAgdm9pZCB3ZWJraXRfd2ViX3ZpZXdfY2xlYXJfcmVzb3VyY2VzKFdl
YktpdFdlYlZpZXcqIHdlYlZpZXcpCiAgICAgICAgIGdfaGFzaF90YWJsZV9yZW1vdmVfYWxsKHBy
aXYtPnN1YlJlc291cmNlcy5nZXQoKSk7CiB9CiAKLXN0YXRpYyBnYm9vbGVhbiBjbGVhbnVwVGVt
cG9yYXJpbHlDYWNoZWRTdWJyZXNvdXJjZXMoZ3BvaW50ZXIgZGF0YSkKLXsKLSAgICBHTGlzdCog
c3ViUmVzb3VyY2VzID0gc3RhdGljX2Nhc3Q8R0xpc3QqPihkYXRhKTsKLSAgICBnX2xpc3RfZm9y
ZWFjaChzdWJSZXNvdXJjZXMsIHJlaW50ZXJwcmV0X2Nhc3Q8R0Z1bmM+KGdfb2JqZWN0X3VucmVm
KSwgTlVMTCk7Ci0gICAgZ19saXN0X2ZyZWUoc3ViUmVzb3VyY2VzKTsKLSAgICByZXR1cm4gRkFM
U0U7Ci19Ci0KIEdMaXN0KiB3ZWJraXRfd2ViX3ZpZXdfZ2V0X3N1YnJlc291cmNlcyhXZWJLaXRX
ZWJWaWV3KiB3ZWJWaWV3KQogewogICAgIGdfcmV0dXJuX3ZhbF9pZl9mYWlsKFdFQktJVF9JU19X
RUJfVklFVyh3ZWJWaWV3KSwgTlVMTCk7CkBAIC01MzM5LDggKzUzMzEsMTEgQEAgR0xpc3QqIHdl
YmtpdF93ZWJfdmlld19nZXRfc3VicmVzb3VyY2VzKFdlYktpdFdlYlZpZXcqIHdlYlZpZXcpCiAg
ICAgICAgIHN1YlJlc291cmNlcyA9IGdfbGlzdF9hcHBlbmQoc3ViUmVzb3VyY2VzLCB3ZWJSZXNv
dXJjZSk7CiAgICAgfQogCi0gICAgaWYgKHN1YlJlc291cmNlcykKLSAgICAgICAgZ190aW1lb3V0
X2FkZCgxLCBjbGVhbnVwVGVtcG9yYXJpbHlDYWNoZWRTdWJyZXNvdXJjZXMsIGdfbGlzdF9jb3B5
KHN1YlJlc291cmNlcykpOworICAgIGlmIChzdWJSZXNvdXJjZXMpIHsKKyAgICAgICAgR0xpc3Qq
IGNvcGllZExpc3QgPSBnX2xpc3RfY29weShzdWJSZXNvdXJjZXMpOworICAgICAgICBHTWFpbkxv
b3BTb3VyY2U6OmNyZWF0ZSgpLnNjaGVkdWxlQWZ0ZXJEZWxheSgiW1dlYktpdF0gY2xlYW51cFRl
bXBvcmFyaWx5Q2FjaGVkU3VicmVzb3VyY2VzIiwKKyAgICAgICAgICAgIFtjb3BpZWRMaXN0XSgp
IHsgZ19saXN0X2ZyZWVfZnVsbChjb3BpZWRMaXN0LCBnX29iamVjdF91bnJlZik7IH0sIHN0ZDo6
Y2hyb25vOjpzZWNvbmRzKDEpKTsKKyAgICB9CiAKICAgICByZXR1cm4gc3ViUmVzb3VyY2VzOwog
fQo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>227401</attachid>
            <date>2014-03-21 01:59:12 -0700</date>
            <delta_ts>2014-04-10 23:51:29 -0700</delta_ts>
            <desc>Rebased patch</desc>
            <filename>wk1-main-loop-source.diff</filename>
            <type>text/plain</type>
            <size>17606</size>
            <attacher name="Carlos Garcia Campos">cgarcia</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvZ3RrL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQv
Z3RrL0NoYW5nZUxvZwppbmRleCBhZjNkMGVmLi43NThmMTBjIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0L2d0ay9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9ndGsvQ2hhbmdlTG9nCkBA
IC0xLDMgKzEsMzQgQEAKKzIwMTQtMDMtMTAgIENhcmxvcyBHYXJjaWEgQ2FtcG9zICA8Y2dhcmNp
YUBpZ2FsaWEuY29tPgorCisgICAgICAgIFtHVEtdIFVzZSBHTWFpbkxvb3BTb3VyY2UgZm9yIGlk
bGUgYW5kIHRpbWVvdXQgc291cmNlcyBpbiBXZWJLaXQxCisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMzAwODAKKworICAgICAgICBSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIFdlYkNvcmVTdXBwb3J0L0FjY2VsZXJhdGVkQ29t
cG9zaXRpbmdDb250ZXh0Lmg6CisgICAgICAgICogV2ViQ29yZVN1cHBvcnQvQWNjZWxlcmF0ZWRD
b21wb3NpdGluZ0NvbnRleHRHTC5jcHA6CisgICAgICAgIChXZWJLaXQ6OkFjY2VsZXJhdGVkQ29t
cG9zaXRpbmdDb250ZXh0OjpBY2NlbGVyYXRlZENvbXBvc2l0aW5nQ29udGV4dCk6CisgICAgICAg
IChXZWJLaXQ6OkFjY2VsZXJhdGVkQ29tcG9zaXRpbmdDb250ZXh0OjpzdG9wQW55UGVuZGluZ0xh
eWVyRmx1c2gpOgorICAgICAgICAoV2ViS2l0OjpBY2NlbGVyYXRlZENvbXBvc2l0aW5nQ29udGV4
dDo6cmVuZGVyTGF5ZXJzVG9XaW5kb3cpOgorICAgICAgICAoV2ViS2l0OjpBY2NlbGVyYXRlZENv
bXBvc2l0aW5nQ29udGV4dDo6c2V0Um9vdENvbXBvc2l0aW5nTGF5ZXIpOgorICAgICAgICAoV2Vi
S2l0OjpBY2NlbGVyYXRlZENvbXBvc2l0aW5nQ29udGV4dDo6c2NoZWR1bGVMYXllckZsdXNoKToK
KyAgICAgICAgKiBXZWJDb3JlU3VwcG9ydC9DaHJvbWVDbGllbnRHdGsuY3BwOgorICAgICAgICAo
V2ViS2l0OjpDaHJvbWVDbGllbnQ6OkNocm9tZUNsaWVudCk6CisgICAgICAgIChXZWJLaXQ6OkNo
cm9tZUNsaWVudDo6Y2hyb21lRGVzdHJveWVkKToKKyAgICAgICAgKFdlYktpdDo6Q2hyb21lQ2xp
ZW50OjplbWl0Q2xvc2VXZWJWaWV3U2lnbmFsKToKKyAgICAgICAgKFdlYktpdDo6Q2hyb21lQ2xp
ZW50OjpjbG9zZVdpbmRvd1Nvb24pOgorICAgICAgICAoV2ViS2l0OjpDaHJvbWVDbGllbnQ6Ondp
ZGdldFNpemVDaGFuZ2VkKToKKyAgICAgICAgKFdlYktpdDo6Q2hyb21lQ2xpZW50OjpwYWludCk6
CisgICAgICAgICogV2ViQ29yZVN1cHBvcnQvQ2hyb21lQ2xpZW50R3RrLmg6CisgICAgICAgICog
V2ViQ29yZVN1cHBvcnQvR3RrQWRqdXN0bWVudFdhdGNoZXIuY3BwOgorICAgICAgICAoV2ViS2l0
OjpHdGtBZGp1c3RtZW50V2F0Y2hlcjo6R3RrQWRqdXN0bWVudFdhdGNoZXIpOgorICAgICAgICAo
V2ViS2l0OjpHdGtBZGp1c3RtZW50V2F0Y2hlcjo6fkd0a0FkanVzdG1lbnRXYXRjaGVyKToKKyAg
ICAgICAgKFdlYktpdDo6R3RrQWRqdXN0bWVudFdhdGNoZXI6OnVwZGF0ZUFkanVzdG1lbnRzRnJv
bVNjcm9sbGJhcnMpOgorICAgICAgICAoV2ViS2l0OjpHdGtBZGp1c3RtZW50V2F0Y2hlcjo6dXBk
YXRlQWRqdXN0bWVudHNGcm9tU2Nyb2xsYmFyc0xhdGVyKToKKyAgICAgICAgKiBXZWJDb3JlU3Vw
cG9ydC9HdGtBZGp1c3RtZW50V2F0Y2hlci5oOgorICAgICAgICAqIHdlYmtpdC93ZWJraXR3ZWJ2
aWV3LmNwcDoKKyAgICAgICAgKHdlYmtpdF93ZWJfdmlld19nZXRfc3VicmVzb3VyY2VzKToKKwog
MjAxNC0wMy0xOCAgSmFlIEh5dW4gUGFyayAgPGphZXBhcmtAd2Via2l0Lm9yZz4KIAogICAgICAg
ICBbR1RLXVtDTWFrZV0gRml4IFdlYktpdCB1bnVzZWQgcGFyYW1ldGVyIHdhcm5pbmdzCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0L2d0ay9XZWJDb3JlU3VwcG9ydC9BY2NlbGVyYXRlZENvbXBv
c2l0aW5nQ29udGV4dC5oIGIvU291cmNlL1dlYktpdC9ndGsvV2ViQ29yZVN1cHBvcnQvQWNjZWxl
cmF0ZWRDb21wb3NpdGluZ0NvbnRleHQuaAppbmRleCAwNThmY2JhLi5kMWQwZTc4IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0L2d0ay9XZWJDb3JlU3VwcG9ydC9BY2NlbGVyYXRlZENvbXBvc2l0
aW5nQ29udGV4dC5oCisrKyBiL1NvdXJjZS9XZWJLaXQvZ3RrL1dlYkNvcmVTdXBwb3J0L0FjY2Vs
ZXJhdGVkQ29tcG9zaXRpbmdDb250ZXh0LmgKQEAgLTI3LDYgKzI3LDcgQEAKICNpbmNsdWRlICJU
aW1lci5oIgogI2luY2x1ZGUgIndlYmtpdHdlYnZpZXcuaCIKICNpbmNsdWRlIDx3dGYvUGFzc093
blB0ci5oPgorI2luY2x1ZGUgPHd0Zi9nb2JqZWN0L0dNYWluTG9vcFNvdXJjZS5oPgogCiAjaWYg
VVNFKFRFWFRVUkVfTUFQUEVSKQogI2luY2x1ZGUgIlRleHR1cmVNYXBwZXJMYXllci5oIgpAQCAt
NjksNyArNzAsNyBAQCBwdWJsaWM6CiAKIHByaXZhdGU6CiAgICAgV2ViS2l0V2ViVmlldyogbV93
ZWJWaWV3OwotICAgIHVuc2lnbmVkIGludCBtX2xheWVyRmx1c2hUaW1lckNhbGxiYWNrSWQ7Cisg
ICAgR01haW5Mb29wU291cmNlIG1fbGF5ZXJGbHVzaFRpbWVyQ2FsbGJhY2s7CiAKICNpZiBVU0Uo
VEVYVFVSRV9NQVBQRVJfR0wpCiAgICAgT3duUHRyPFdlYkNvcmU6OlJlZGlyZWN0ZWRYQ29tcG9z
aXRlV2luZG93PiBtX3JlZGlyZWN0ZWRXaW5kb3c7CkBAIC04MSw5ICs4Miw3IEBAIHByaXZhdGU6
CiAgICAgYm9vbCBtX25lZWRzRXh0cmFGbHVzaDsKICAgICBXZWJDb3JlOjpUZXh0dXJlTWFwcGVy
RlBTQ291bnRlciBtX2Zwc0NvdW50ZXI7CiAKLSAgICB2b2lkIGxheWVyRmx1c2hUaW1lckZpcmVk
KCk7CiAgICAgdm9pZCBzdG9wQW55UGVuZGluZ0xheWVyRmx1c2goKTsKLSAgICBzdGF0aWMgZ2Jv
b2xlYW4gbGF5ZXJGbHVzaFRpbWVyRmlyZWRDYWxsYmFjayhBY2NlbGVyYXRlZENvbXBvc2l0aW5n
Q29udGV4dCopOwogICAgIFdlYkNvcmU6OkdMQ29udGV4dCogcHJlcGFyZUZvclJlbmRlcmluZygp
OwogICAgIHZvaWQgY2xlYXJFdmVyeXdoZXJlKCk7CiAjZWxpZiBVU0UoVEVYVFVSRV9NQVBQRVIp
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2d0ay9XZWJDb3JlU3VwcG9ydC9BY2NlbGVyYXRl
ZENvbXBvc2l0aW5nQ29udGV4dEdMLmNwcCBiL1NvdXJjZS9XZWJLaXQvZ3RrL1dlYkNvcmVTdXBw
b3J0L0FjY2VsZXJhdGVkQ29tcG9zaXRpbmdDb250ZXh0R0wuY3BwCmluZGV4IGVkMGIyNjEuLmMx
NzY4MTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvZ3RrL1dlYkNvcmVTdXBwb3J0L0FjY2Vs
ZXJhdGVkQ29tcG9zaXRpbmdDb250ZXh0R0wuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvZ3RrL1dl
YkNvcmVTdXBwb3J0L0FjY2VsZXJhdGVkQ29tcG9zaXRpbmdDb250ZXh0R0wuY3BwCkBAIC02MCw3
ICs2MCw2IEBAIG5hbWVzcGFjZSBXZWJLaXQgewogCiBBY2NlbGVyYXRlZENvbXBvc2l0aW5nQ29u
dGV4dDo6QWNjZWxlcmF0ZWRDb21wb3NpdGluZ0NvbnRleHQoV2ViS2l0V2ViVmlldyogd2ViVmll
dykKICAgICA6IG1fd2ViVmlldyh3ZWJWaWV3KQotICAgICwgbV9sYXllckZsdXNoVGltZXJDYWxs
YmFja0lkKDApCiAgICAgLCBtX2xhc3RGbHVzaFRpbWUoMCkKICAgICAsIG1fcmVkcmF3UGVuZGlu
Z1RpbWUoMCkKICAgICAsIG1fbmVlZHNFeHRyYUZsdXNoKGZhbHNlKQpAQCAtMTM4LDEwICsxMzcs
NyBAQCBBY2NlbGVyYXRlZENvbXBvc2l0aW5nQ29udGV4dDo6fkFjY2VsZXJhdGVkQ29tcG9zaXRp
bmdDb250ZXh0KCkKIAogdm9pZCBBY2NlbGVyYXRlZENvbXBvc2l0aW5nQ29udGV4dDo6c3RvcEFu
eVBlbmRpbmdMYXllckZsdXNoKCkKIHsKLSAgICBpZiAoIW1fbGF5ZXJGbHVzaFRpbWVyQ2FsbGJh
Y2tJZCkKLSAgICAgICAgcmV0dXJuOwotICAgIGdfc291cmNlX3JlbW92ZShtX2xheWVyRmx1c2hU
aW1lckNhbGxiYWNrSWQpOwotICAgIG1fbGF5ZXJGbHVzaFRpbWVyQ2FsbGJhY2tJZCA9IDA7Cisg
ICAgbV9sYXllckZsdXNoVGltZXJDYWxsYmFjay5jYW5jZWwoKTsKIH0KIAogYm9vbCBBY2NlbGVy
YXRlZENvbXBvc2l0aW5nQ29udGV4dDo6ZW5hYmxlZCgpCkBAIC0xNjUsMTEgKzE2MSwxMSBAQCBi
b29sIEFjY2VsZXJhdGVkQ29tcG9zaXRpbmdDb250ZXh0OjpyZW5kZXJMYXllcnNUb1dpbmRvdyhj
YWlyb190KiBjciwgY29uc3QgSW50UgogICAgIGNhaXJvX3NldF9vcGVyYXRvcihjciwgQ0FJUk9f
T1BFUkFUT1JfU09VUkNFKTsKICAgICBjYWlyb19maWxsKGNyKTsKIAotICAgIGlmICghbV9sYXll
ckZsdXNoVGltZXJDYWxsYmFja0lkICYmICh0b1RleHR1cmVNYXBwZXJMYXllcihtX3Jvb3RMYXll
ci5nZXQoKSktPmRlc2NlbmRhbnRzT3JTZWxmSGF2ZVJ1bm5pbmdBbmltYXRpb25zKCkgfHwgbV9u
ZWVkc0V4dHJhRmx1c2gpKSB7CisgICAgaWYgKCFtX2xheWVyRmx1c2hUaW1lckNhbGxiYWNrLmlz
U2NoZWR1bGVkKCkgJiYgKHRvVGV4dHVyZU1hcHBlckxheWVyKG1fcm9vdExheWVyLmdldCgpKS0+
ZGVzY2VuZGFudHNPclNlbGZIYXZlUnVubmluZ0FuaW1hdGlvbnMoKSB8fCBtX25lZWRzRXh0cmFG
bHVzaCkpIHsKICAgICAgICAgbV9uZWVkc0V4dHJhRmx1c2ggPSBmYWxzZTsKICAgICAgICAgZG91
YmxlIG5leHRGbHVzaCA9IHN0ZDo6bWF4KCgxIC8gZ0ZyYW1lc1BlclNlY29uZCkgLSAoY3VycmVu
dFRpbWUoKSAtIG1fbGFzdEZsdXNoVGltZSksIDAuMCk7Ci0gICAgICAgIG1fbGF5ZXJGbHVzaFRp
bWVyQ2FsbGJhY2tJZCA9IGdfdGltZW91dF9hZGRfZnVsbChHREtfUFJJT1JJVFlfRVZFTlRTLCAx
MDAwICogbmV4dEZsdXNoLCByZWludGVycHJldF9jYXN0PEdTb3VyY2VGdW5jPihsYXllckZsdXNo
VGltZXJGaXJlZENhbGxiYWNrKSwgdGhpcywgMCk7Ci0gICAgICAgIGdfc291cmNlX3NldF9uYW1l
X2J5X2lkKG1fbGF5ZXJGbHVzaFRpbWVyQ2FsbGJhY2tJZCwgIltXZWJLaXRdIGxheWVyRmx1c2hU
aW1lckZpcmVkQ2FsbGJhY2siKTsKKyAgICAgICAgbV9sYXllckZsdXNoVGltZXJDYWxsYmFjay5z
Y2hlZHVsZUFmdGVyRGVsYXkoIltXZWJLaXRdIGxheWVyRmx1c2hUaW1lciIsIHN0ZDo6YmluZCgm
QWNjZWxlcmF0ZWRDb21wb3NpdGluZ0NvbnRleHQ6OmZsdXNoQW5kUmVuZGVyTGF5ZXJzLCB0aGlz
KSwKKyAgICAgICAgICAgIHN0ZDo6Y2hyb25vOjpkdXJhdGlvbl9jYXN0PHN0ZDo6Y2hyb25vOjpt
aWxsaXNlY29uZHM+KHN0ZDo6Y2hyb25vOjpkdXJhdGlvbjxkb3VibGU+KG5leHRGbHVzaCkpLCBH
REtfUFJJT1JJVFlfRVZFTlRTKTsKICAgICB9CiAKICAgICByZXR1cm4gdHJ1ZTsKQEAgLTI2OSw4
ICsyNjUsOSBAQCB2b2lkIEFjY2VsZXJhdGVkQ29tcG9zaXRpbmdDb250ZXh0OjpzZXRSb290Q29t
cG9zaXRpbmdMYXllcihHcmFwaGljc0xheWVyKiBncmFwaAogICAgIG1fbmVlZHNFeHRyYUZsdXNo
ID0gdHJ1ZTsKICAgICBzY2hlZHVsZUxheWVyRmx1c2goKTsKIAotICAgIG1fbGF5ZXJGbHVzaFRp
bWVyQ2FsbGJhY2tJZCA9IGdfdGltZW91dF9hZGRfZnVsbChHREtfUFJJT1JJVFlfRVZFTlRTLCA1
MDAsIHJlaW50ZXJwcmV0X2Nhc3Q8R1NvdXJjZUZ1bmM+KGxheWVyRmx1c2hUaW1lckZpcmVkQ2Fs
bGJhY2spLCB0aGlzLCAwKTsKLSAgICBnX3NvdXJjZV9zZXRfbmFtZV9ieV9pZChtX2xheWVyRmx1
c2hUaW1lckNhbGxiYWNrSWQsICJbV2ViS2l0XSBsYXllckZsdXNoVGltZXJGaXJlZENhbGxiYWNr
Iik7CisgICAgLy8gV2UgbmVlZCBhIGRpZmZlcmVudCBzb3VyY2UgZm9yIHRoaXMgdG8gbm90IGNh
bmNlbCB0aGUgcHJldmlvdXMgb25lLgorICAgIEdNYWluTG9vcFNvdXJjZTo6Y3JlYXRlQW5kRGVs
ZXRlT25EZXN0cm95KCkuc2NoZWR1bGVBZnRlckRlbGF5KCJbV2ViS2l0XSBsYXllckZsdXNoVGlt
ZXIiLCBzdGQ6OmJpbmQoJkFjY2VsZXJhdGVkQ29tcG9zaXRpbmdDb250ZXh0OjpmbHVzaEFuZFJl
bmRlckxheWVycywgdGhpcyksCisgICAgICAgIHN0ZDo6Y2hyb25vOjptaWxsaXNlY29uZHMoNTAw
KSwgR0RLX1BSSU9SSVRZX0VWRU5UUyk7CiB9CiAKIHZvaWQgQWNjZWxlcmF0ZWRDb21wb3NpdGlu
Z0NvbnRleHQ6OnNldE5vbkNvbXBvc2l0ZWRDb250ZW50c05lZWREaXNwbGF5KGNvbnN0IEludFJl
Y3QmIHJlY3QpCkBAIC0zMjAsMjUgKzMxNywxOSBAQCB2b2lkIEFjY2VsZXJhdGVkQ29tcG9zaXRp
bmdDb250ZXh0OjpzY3JvbGxOb25Db21wb3NpdGVkQ29udGVudHMoY29uc3QgSW50UmVjdCYgcwog
ICAgIHNjaGVkdWxlTGF5ZXJGbHVzaCgpOwogfQogCi1nYm9vbGVhbiBBY2NlbGVyYXRlZENvbXBv
c2l0aW5nQ29udGV4dDo6bGF5ZXJGbHVzaFRpbWVyRmlyZWRDYWxsYmFjayhBY2NlbGVyYXRlZENv
bXBvc2l0aW5nQ29udGV4dCogY29udGV4dCkKLXsKLSAgICBjb250ZXh0LT5sYXllckZsdXNoVGlt
ZXJGaXJlZCgpOwotICAgIHJldHVybiBGQUxTRTsKLX0KLQogdm9pZCBBY2NlbGVyYXRlZENvbXBv
c2l0aW5nQ29udGV4dDo6c2NoZWR1bGVMYXllckZsdXNoKCkKIHsKICAgICBpZiAoIWVuYWJsZWQo
KSkKICAgICAgICAgcmV0dXJuOwogCi0gICAgaWYgKG1fbGF5ZXJGbHVzaFRpbWVyQ2FsbGJhY2tJ
ZCkKKyAgICBpZiAobV9sYXllckZsdXNoVGltZXJDYWxsYmFjay5pc1NjaGVkdWxlZCgpKQogICAg
ICAgICByZXR1cm47CiAKICAgICAvLyBXZSB1c2UgYSBHTGliIHRpbWVyIGJlY2F1c2Ugb3RoZXJ3
aXNlIEdUSysgZXZlbnQgaGFuZGxpbmcgZHVyaW5nIGRyYWdnaW5nIGNhbgogICAgIC8vIHN0YXJ2
ZSBXZWJDb3JlIHRpbWVycywgd2hpY2ggaGF2ZSBhIGxvd2VyIHByaW9yaXR5LgogICAgIGRvdWJs
ZSBuZXh0Rmx1c2ggPSBzdGQ6Om1heChnU2NoZWR1bGVEZWxheSAtIChjdXJyZW50VGltZSgpIC0g
bV9sYXN0Rmx1c2hUaW1lKSwgMC4wKTsKLSAgICBtX2xheWVyRmx1c2hUaW1lckNhbGxiYWNrSWQg
PSBnX3RpbWVvdXRfYWRkX2Z1bGwoR0RLX1BSSU9SSVRZX0VWRU5UUywgbmV4dEZsdXNoICogMTAw
MCwgcmVpbnRlcnByZXRfY2FzdDxHU291cmNlRnVuYz4obGF5ZXJGbHVzaFRpbWVyRmlyZWRDYWxs
YmFjayksIHRoaXMsIDApOwotICAgIGdfc291cmNlX3NldF9uYW1lX2J5X2lkKG1fbGF5ZXJGbHVz
aFRpbWVyQ2FsbGJhY2tJZCwgIltXZWJLaXRdIGxheWVyRmx1c2hUaW1lckZpcmVkQ2FsbGJhY2si
KTsKKyAgICBtX2xheWVyRmx1c2hUaW1lckNhbGxiYWNrLnNjaGVkdWxlQWZ0ZXJEZWxheSgiW1dl
YktpdF0gbGF5ZXJGbHVzaFRpbWVyIiwgc3RkOjpiaW5kKCZBY2NlbGVyYXRlZENvbXBvc2l0aW5n
Q29udGV4dDo6Zmx1c2hBbmRSZW5kZXJMYXllcnMsIHRoaXMpLAorICAgICAgICBzdGQ6OmNocm9u
bzo6ZHVyYXRpb25fY2FzdDxzdGQ6OmNocm9ubzo6bWlsbGlzZWNvbmRzPihzdGQ6OmNocm9ubzo6
ZHVyYXRpb248ZG91YmxlPihuZXh0Rmx1c2gpKSwgR0RLX1BSSU9SSVRZX0VWRU5UUyk7CiB9CiAK
IGJvb2wgQWNjZWxlcmF0ZWRDb21wb3NpdGluZ0NvbnRleHQ6OmZsdXNoUGVuZGluZ0xheWVyQ2hh
bmdlcygpCkBAIC0zODEsMTIgKzM3Miw2IEBAIHZvaWQgQWNjZWxlcmF0ZWRDb21wb3NpdGluZ0Nv
bnRleHQ6OmZsdXNoQW5kUmVuZGVyTGF5ZXJzKCkKICAgICAgICAgbV9yZWRyYXdQZW5kaW5nVGlt
ZSA9IGN1cnJlbnRUaW1lKCk7CiB9CiAKLXZvaWQgQWNjZWxlcmF0ZWRDb21wb3NpdGluZ0NvbnRl
eHQ6OmxheWVyRmx1c2hUaW1lckZpcmVkKCkKLXsKLSAgICBtX2xheWVyRmx1c2hUaW1lckNhbGxi
YWNrSWQgPSAwOwotICAgIGZsdXNoQW5kUmVuZGVyTGF5ZXJzKCk7Ci19Ci0KIHZvaWQgQWNjZWxl
cmF0ZWRDb21wb3NpdGluZ0NvbnRleHQ6Om5vdGlmeUFuaW1hdGlvblN0YXJ0ZWQoY29uc3QgR3Jh
cGhpY3NMYXllciosIGRvdWJsZSAvKiB0aW1lICovKQogewogCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0L2d0ay9XZWJDb3JlU3VwcG9ydC9DaHJvbWVDbGllbnRHdGsuY3BwIGIvU291cmNlL1dl
YktpdC9ndGsvV2ViQ29yZVN1cHBvcnQvQ2hyb21lQ2xpZW50R3RrLmNwcAppbmRleCA3Zjc1ZTI0
Li45MWMwZTQwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2d0ay9XZWJDb3JlU3VwcG9ydC9D
aHJvbWVDbGllbnRHdGsuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvZ3RrL1dlYkNvcmVTdXBwb3J0
L0Nocm9tZUNsaWVudEd0ay5jcHAKQEAgLTExMywyMyArMTEzLDE1IEBAIHN0YXRpYyBQYXNzT3du
UHRyPFdpZGdldEJhY2tpbmdTdG9yZT4gY3JlYXRlQmFja2luZ1N0b3JlKEd0a1dpZGdldCogd2lk
Z2V0LCBjb25zCiBDaHJvbWVDbGllbnQ6OkNocm9tZUNsaWVudChXZWJLaXRXZWJWaWV3KiB3ZWJW
aWV3KQogICAgIDogbV93ZWJWaWV3KHdlYlZpZXcpCiAgICAgLCBtX2FkanVzdG1lbnRXYXRjaGVy
KHdlYlZpZXcpCi0gICAgLCBtX2Nsb3NlU29vblRpbWVyKDApCiAgICAgLCBtX2Rpc3BsYXlUaW1l
cih0aGlzLCAmQ2hyb21lQ2xpZW50OjpwYWludCkKICAgICAsIG1fZm9yY2VQYWludChmYWxzZSkK
ICAgICAsIG1fbGFzdERpc3BsYXlUaW1lKDApCi0gICAgLCBtX3JlcGFpbnRTb29uU291cmNlSWQo
MCkKIHsKICAgICBBU1NFUlQobV93ZWJWaWV3KTsKIH0KIAogdm9pZCBDaHJvbWVDbGllbnQ6OmNo
cm9tZURlc3Ryb3llZCgpCiB7Ci0gICAgaWYgKG1fY2xvc2VTb29uVGltZXIpCi0gICAgICAgIGdf
c291cmNlX3JlbW92ZShtX2Nsb3NlU29vblRpbWVyKTsKLQotICAgIGlmIChtX3JlcGFpbnRTb29u
U291cmNlSWQpCi0gICAgICAgIGdfc291cmNlX3JlbW92ZShtX3JlcGFpbnRTb29uU291cmNlSWQp
OwotCiAgICAgZGVsZXRlIHRoaXM7CiB9CiAKQEAgLTMwMCwxMSArMjkyLDEwIEBAIHZvaWQgQ2hy
b21lQ2xpZW50OjpzZXRSZXNpemFibGUoYm9vbCkKICAgICAvLyBJZ25vcmVkIGZvciBub3cKIH0K
IAotc3RhdGljIGdib29sZWFuIGVtaXRDbG9zZVdlYlZpZXdTaWduYWxMYXRlcihXZWJLaXRXZWJW
aWV3KiB2aWV3KQordm9pZCBDaHJvbWVDbGllbnQ6OmVtaXRDbG9zZVdlYlZpZXdTaWduYWwoKQog
ewogICAgIGdib29sZWFuIGlzSGFuZGxlZDsKLSAgICBnX3NpZ25hbF9lbWl0X2J5X25hbWUodmll
dywgImNsb3NlLXdlYi12aWV3IiwgJmlzSGFuZGxlZCk7Ci0gICAgcmV0dXJuIEZBTFNFOworICAg
IGdfc2lnbmFsX2VtaXRfYnlfbmFtZShtX3dlYlZpZXcsICJjbG9zZS13ZWItdmlldyIsICZpc0hh
bmRsZWQpOwogfQogCiB2b2lkIENocm9tZUNsaWVudDo6Y2xvc2VXaW5kb3dTb29uKCkKQEAgLTMx
Miw3ICszMDMsNyBAQCB2b2lkIENocm9tZUNsaWVudDo6Y2xvc2VXaW5kb3dTb29uKCkKICAgICAv
LyBXZSBtYXkgbm90IGhhdmUgYSBXZWJWaWV3IGFzIGNyZWF0ZS13ZWItdmlldyBjYW4gcmV0dXJu
IE5VTEwuCiAgICAgaWYgKCFtX3dlYlZpZXcpCiAgICAgICAgIHJldHVybjsKLSAgICBpZiAobV9j
bG9zZVNvb25UaW1lcikgLy8gRG9uJ3QgY2FsbCBjbG9zZS13ZWItdmlldyBtb3JlIHRoYW4gb25j
ZS4KKyAgICBpZiAobV9jbG9zZVNvb25UaW1lci5pc1NjaGVkdWxlZCgpKSAvLyBEb24ndCBjYWxs
IGNsb3NlLXdlYi12aWV3IG1vcmUgdGhhbiBvbmNlLgogICAgICAgICByZXR1cm47CiAKICAgICAv
LyBXZSBuZWVkIHRvIHJlbW92ZSB0aGUgcGFyZW50IFdlYlZpZXcgZnJvbSBXZWJWaWV3U2V0cyBo
ZXJlLCBiZWZvcmUgaXQgYWN0dWFsbHkKQEAgLTMzMCw3ICszMjEsNyBAQCB2b2lkIENocm9tZUNs
aWVudDo6Y2xvc2VXaW5kb3dTb29uKCkKICAgICAvLyBvbmxvYWQgaGFuZGxlciwgaXQgd2lsbCBu
ZWVkIHRvIGNhbGwgRnJhbWVMb2FkZXJDbGllbnQ6OmRpc3BhdGNoRGlkSGFuZGxlT25sb2FkRXZl
bnRzLgogICAgIC8vIEluc3RlYWQgb2YgZmlyaW5nIHRoZSBjbG9zZS13ZWItdmlldyBzaWduYWwg
bm93LCBmaXJlIGl0IGFmdGVyIHRoZSBjYWxsZXIgZmluaXNoZXMuCiAgICAgLy8gVGhpcyBzZWVt
cyB0byBtYXRjaCB0aGUgTWFjL1dpbmRvd3MgcG9ydCBiZWhhdmlvci4KLSAgICBtX2Nsb3NlU29v
blRpbWVyID0gZ19pZGxlX2FkZF9mdWxsKEdfUFJJT1JJVFlfREVGQVVMVCwgcmVpbnRlcnByZXRf
Y2FzdDxHU291cmNlRnVuYz4oZW1pdENsb3NlV2ViVmlld1NpZ25hbExhdGVyKSwgbV93ZWJWaWV3
LCAwKTsKKyAgICBtX2Nsb3NlU29vblRpbWVyLnNjaGVkdWxlKCJbV2ViS2l0XSBjbG9zZVdpbmRv
d1Nvb24iLCBzdGQ6OmJpbmQoJkNocm9tZUNsaWVudDo6ZW1pdENsb3NlV2ViVmlld1NpZ25hbCwg
dGhpcykpOwogfQogCiBib29sIENocm9tZUNsaWVudDo6Y2FuVGFrZUZvY3VzKEZvY3VzRGlyZWN0
aW9uKQpAQCAtNDIxLDEyICs0MTIsNiBAQCBJbnRSZWN0IENocm9tZUNsaWVudDo6d2luZG93UmVz
aXplclJlY3QoKSBjb25zdAogICAgIHJldHVybiBJbnRSZWN0KCk7CiB9CiAKLXN0YXRpYyBnYm9v
bGVhbiByZXBhaW50RXZlcnl0aGluZ1Nvb25UaW1lb3V0KENocm9tZUNsaWVudCogY2xpZW50KQot
ewotICAgIGNsaWVudC0+cGFpbnQoMCk7Ci0gICAgcmV0dXJuIEZBTFNFOwotfQotCiBzdGF0aWMg
dm9pZCBjbGlwT3V0T2xkV2lkZ2V0QXJlYShjYWlyb190KiBjciwgY29uc3QgSW50U2l6ZSYgb2xk
U2l6ZSwgY29uc3QgSW50U2l6ZSYgbmV3U2l6ZSkKIHsKICAgICBjYWlyb19tb3ZlX3RvKGNyLCBv
bGRTaXplLndpZHRoKCksIDApOwpAQCAtNTExLDggKzQ5Niw4IEBAIHZvaWQgQ2hyb21lQ2xpZW50
Ojp3aWRnZXRTaXplQ2hhbmdlZChjb25zdCBJbnRTaXplJiBvbGRXaWRnZXRTaXplLCBJbnRTaXpl
IG5ld1NpCiAKICAgICAvLyBXZWJDb3JlIHRpbWVycyBieSBkZWZhdWx0IGhhdmUgYSBsb3dlciBw
cmlvcml0eSB3aGljaCBsZWFkcyB0byBtb3JlIGFydGlmYWN0cyB3aGVuIG9wYXF1ZQogICAgIC8v
IHJlc2l6ZSBpcyBvbiwgdGh1cyB3ZSB1c2UgZ190aW1lb3V0X2FkZCBoZXJlIHRvIGZvcmNlIGEg
aGlnaGVyIHRpbWVvdXQgcHJpb3JpdHkuCi0gICAgaWYgKCFtX3JlcGFpbnRTb29uU291cmNlSWQp
Ci0gICAgICAgIG1fcmVwYWludFNvb25Tb3VyY2VJZCA9IGdfaWRsZV9hZGRfZnVsbChHX1BSSU9S
SVRZX0RFRkFVTFQsIHJlaW50ZXJwcmV0X2Nhc3Q8R1NvdXJjZUZ1bmM+KHJlcGFpbnRFdmVyeXRo
aW5nU29vblRpbWVvdXQpLCB0aGlzLCAwKTsKKyAgICBpZiAoIW1fcmVwYWludFNvb25Tb3VyY2Uu
aXNTY2hlZHVsZWQoKSkKKyAgICAgICAgbV9yZXBhaW50U29vblNvdXJjZS5zY2hlZHVsZSgiW1dl
YktpdF0gQ2hyb21lQ2xpZW50R3RrOjpwYWludCIsIHN0ZDo6YmluZCgmQ2hyb21lQ2xpZW50Ojpw
YWludCwgdGhpcywgbnVsbHB0cikpOwogfQogCiBzdGF0aWMgdm9pZCBjb2FsZXNjZVJlY3RzSWZQ
b3NzaWJsZShjb25zdCBJbnRSZWN0JiBjbGlwUmVjdCwgVmVjdG9yPEludFJlY3Q+JiByZWN0cykK
QEAgLTYxNyw3ICs2MDIsNiBAQCB2b2lkIENocm9tZUNsaWVudDo6cGFpbnQoV2ViQ29yZTo6VGlt
ZXI8Q2hyb21lQ2xpZW50PiopCiAKICAgICBtX2RpcnR5UmVnaW9uID0gUmVnaW9uKCk7CiAgICAg
bV9sYXN0RGlzcGxheVRpbWUgPSBtb25vdG9uaWNhbGx5SW5jcmVhc2luZ1RpbWUoKTsKLSAgICBt
X3JlcGFpbnRTb29uU291cmNlSWQgPSAwOwogCiAgICAgLy8gV2UgdXBkYXRlIHRoZSBJTSBjb250
ZXh0IHdpbmRvdyBsb2NhdGlvbiBoZXJlLCBiZWNhdXNlIHdlIHdhbnQgaXQgdG8gYmUKICAgICAv
LyBzeW5jZWQgd2l0aCBjdXJzb3IgbW92ZW1lbnQuIEZvciBpbnN0YW5jZSwgYSB0ZXh0IGZpZWxk
IGNhbiBtb3ZlIHdpdGhvdXQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvZ3RrL1dlYkNvcmVT
dXBwb3J0L0Nocm9tZUNsaWVudEd0ay5oIGIvU291cmNlL1dlYktpdC9ndGsvV2ViQ29yZVN1cHBv
cnQvQ2hyb21lQ2xpZW50R3RrLmgKaW5kZXggYmQ1YzdkNi4uZjNjYjJhYiAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdC9ndGsvV2ViQ29yZVN1cHBvcnQvQ2hyb21lQ2xpZW50R3RrLmgKKysrIGIv
U291cmNlL1dlYktpdC9ndGsvV2ViQ29yZVN1cHBvcnQvQ2hyb21lQ2xpZW50R3RrLmgKQEAgLTMw
LDYgKzMwLDcgQEAKICNpbmNsdWRlICJSZWdpb24uaCIKICNpbmNsdWRlICJTZWFyY2hQb3B1cE1l
bnUuaCIKICNpbmNsdWRlICJUaW1lci5oIgorI2luY2x1ZGUgPHd0Zi9nb2JqZWN0L0dNYWluTG9v
cFNvdXJjZS5oPgogCiB1c2luZyBuYW1lc3BhY2UgV2ViQ29yZTsKIHR5cGVkZWYgc3RydWN0IF9X
ZWJLaXRXZWJWaWV3IFdlYktpdFdlYlZpZXc7CkBAIC0xNTYsMTAgKzE1NywxMiBAQCBuYW1lc3Bh
Y2UgV2ViS2l0IHsKICAgICAgICAgV2ViS2l0V2ViVmlldyogd2ViVmlldygpIHsgcmV0dXJuIG1f
d2ViVmlldzsgfQogCiAgICAgcHJpdmF0ZToKKyAgICAgICAgdm9pZCBlbWl0Q2xvc2VXZWJWaWV3
U2lnbmFsKCk7CisKICAgICAgICAgV2ViS2l0V2ViVmlldyogbV93ZWJWaWV3OwogICAgICAgICBH
dGtBZGp1c3RtZW50V2F0Y2hlciBtX2FkanVzdG1lbnRXYXRjaGVyOwogICAgICAgICBVUkwgbV9o
b3ZlcmVkTGlua1VSTDsKLSAgICAgICAgdW5zaWduZWQgaW50IG1fY2xvc2VTb29uVGltZXI7Cisg
ICAgICAgIEdNYWluTG9vcFNvdXJjZSBtX2Nsb3NlU29vblRpbWVyOwogCiAgICAgICAgIFRpbWVy
IDxDaHJvbWVDbGllbnQ+IG1fZGlzcGxheVRpbWVyOwogICAgICAgICBib29sIG1fZm9yY2VQYWlu
dDsKQEAgLTE2Nyw3ICsxNzAsNyBAQCBuYW1lc3BhY2UgV2ViS2l0IHsKICAgICAgICAgVmVjdG9y
PEludFJlY3Q+IG1fcmVjdHNUb1Njcm9sbDsKICAgICAgICAgVmVjdG9yPEludFNpemU+IG1fc2Ny
b2xsT2Zmc2V0czsKICAgICAgICAgZG91YmxlIG1fbGFzdERpc3BsYXlUaW1lOwotICAgICAgICB1
bnNpZ25lZCBpbnQgbV9yZXBhaW50U29vblNvdXJjZUlkOworICAgICAgICBHTWFpbkxvb3BTb3Vy
Y2UgbV9yZXBhaW50U29vblNvdXJjZTsKIAogI2lmIEVOQUJMRShGVUxMU0NSRUVOX0FQSSkKICAg
ICAgICAgUmVmUHRyPEVsZW1lbnQ+IG1fZnVsbFNjcmVlbkVsZW1lbnQ7CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0L2d0ay9XZWJDb3JlU3VwcG9ydC9HdGtBZGp1c3RtZW50V2F0Y2hlci5jcHAg
Yi9Tb3VyY2UvV2ViS2l0L2d0ay9XZWJDb3JlU3VwcG9ydC9HdGtBZGp1c3RtZW50V2F0Y2hlci5j
cHAKaW5kZXggODI1ODUwNi4uMzc3NDY0NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9ndGsv
V2ViQ29yZVN1cHBvcnQvR3RrQWRqdXN0bWVudFdhdGNoZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJL
aXQvZ3RrL1dlYkNvcmVTdXBwb3J0L0d0a0FkanVzdG1lbnRXYXRjaGVyLmNwcApAQCAtMzQsMTQg
KzM0LDExIEBAIEd0a0FkanVzdG1lbnRXYXRjaGVyOjpHdGtBZGp1c3RtZW50V2F0Y2hlcihXZWJL
aXRXZWJWaWV3KiB3ZWJWaWV3KQogICAgIDogbV93ZWJWaWV3KHdlYlZpZXcpCiAgICAgLCBtX3Nj
cm9sbGJhcnNEaXNhYmxlZChmYWxzZSkKICAgICAsIG1faGFuZGxpbmdHdGtBZGp1c3RtZW50Q2hh
bmdlKGZhbHNlKQotICAgICwgbV91cGRhdGVBZGp1c3RtZW50Q2FsbGJhY2tJZCgwKQogewogfQog
CiBHdGtBZGp1c3RtZW50V2F0Y2hlcjo6fkd0a0FkanVzdG1lbnRXYXRjaGVyKCkKIHsKLSAgICBp
ZiAobV91cGRhdGVBZGp1c3RtZW50Q2FsbGJhY2tJZCkKLSAgICAgICAgZ19zb3VyY2VfcmVtb3Zl
KG1fdXBkYXRlQWRqdXN0bWVudENhbGxiYWNrSWQpOwogfQogCiBzdGF0aWMgdm9pZCB1cGRhdGVB
ZGp1c3RtZW50RnJvbVNjcm9sbGJhcihHdGtBZGp1c3RtZW50KiBhZGp1c3RtZW50LCBTY3JvbGxi
YXIqIHNjcm9sbGJhcikKQEAgLTY4LDMwICs2NSwyMCBAQCB2b2lkIEd0a0FkanVzdG1lbnRXYXRj
aGVyOjp1cGRhdGVBZGp1c3RtZW50c0Zyb21TY3JvbGxiYXJzKCkKICAgICBGcmFtZVZpZXcqIGZy
YW1lVmlldyA9IGNvcmUobV93ZWJWaWV3KS0+bWFpbkZyYW1lKCkudmlldygpOwogICAgIHVwZGF0
ZUFkanVzdG1lbnRGcm9tU2Nyb2xsYmFyKG1faG9yaXpvbnRhbEFkanVzdG1lbnQuZ2V0KCksIGZy
YW1lVmlldy0+aG9yaXpvbnRhbFNjcm9sbGJhcigpKTsKICAgICB1cGRhdGVBZGp1c3RtZW50RnJv
bVNjcm9sbGJhcihtX3ZlcnRpY2FsQWRqdXN0bWVudC5nZXQoKSwgZnJhbWVWaWV3LT52ZXJ0aWNh
bFNjcm9sbGJhcigpKTsKLSAgICBpZiAobV91cGRhdGVBZGp1c3RtZW50Q2FsbGJhY2tJZCkgewot
ICAgICAgICBnX3NvdXJjZV9yZW1vdmUobV91cGRhdGVBZGp1c3RtZW50Q2FsbGJhY2tJZCk7Ci0g
ICAgICAgIG1fdXBkYXRlQWRqdXN0bWVudENhbGxiYWNrSWQgPSAwOwotICAgIH0KLX0KLQotZ2Jv
b2xlYW4gR3RrQWRqdXN0bWVudFdhdGNoZXI6OnVwZGF0ZUFkanVzdG1lbnRDYWxsYmFjayhHdGtB
ZGp1c3RtZW50V2F0Y2hlciogd2F0Y2hlcikKLXsKLSAgICB3YXRjaGVyLT5tX3VwZGF0ZUFkanVz
dG1lbnRDYWxsYmFja0lkID0gMDsKLSAgICB3YXRjaGVyLT51cGRhdGVBZGp1c3RtZW50c0Zyb21T
Y3JvbGxiYXJzKCk7Ci0gICAgcmV0dXJuIEZBTFNFOworICAgIG1fdXBkYXRlQWRqdXN0bWVudENh
bGxiYWNrLmNhbmNlbCgpOwogfQogCiB2b2lkIEd0a0FkanVzdG1lbnRXYXRjaGVyOjp1cGRhdGVB
ZGp1c3RtZW50c0Zyb21TY3JvbGxiYXJzTGF0ZXIoKSBjb25zdAogewogICAgIC8vIFdlJ3ZlIGFs
cmVhZHkgc2NoZWR1bGVkIGFuIHVwZGF0ZS4gTm8gbmVlZCB0byBzY2hlZHVsZSBhbm90aGVyLgot
ICAgIGlmIChtX3VwZGF0ZUFkanVzdG1lbnRDYWxsYmFja0lkIHx8IG1fc2Nyb2xsYmFyc0Rpc2Fi
bGVkKQorICAgIGlmIChtX3VwZGF0ZUFkanVzdG1lbnRDYWxsYmFjay5pc1NjaGVkdWxlZCgpIHx8
IG1fc2Nyb2xsYmFyc0Rpc2FibGVkKQogICAgICAgICByZXR1cm47CiAKICAgICAvLyBUaGUgZmFj
dCB0aGF0IHRoaXMgbWV0aG9kIHdhcyBjYWxsZWQgbWVhbnMgdGhhdCB3ZSBuZWVkIHRvIHVwZGF0
ZSB0aGUgc2Nyb2xsYmFycywgYnV0IGF0IHRoZQogICAgIC8vIHRpbWUgb2YgaW52b2NhdGlvbiB0
aGV5IGFyZSBub3QgdXBkYXRlZCB0byByZWZsZWN0IHRoZSBzY3JvbGwgeWV0LiBXZSBzZXQgYSBz
aG9ydCB0aW1lb3V0CiAgICAgLy8gaGVyZSwgd2hpY2ggbWVhbnMgdGhhdCB0aGV5IHdpbGwgYmUg
dXBkYXRlZCBhcyBzb29uIGFzIFdlYktpdCByZXR1cm5zIHRvIHRoZSBtYWluIGxvb3AuCi0gICAg
bV91cGRhdGVBZGp1c3RtZW50Q2FsbGJhY2tJZCA9IGdfaWRsZV9hZGRfZnVsbChHX1BSSU9SSVRZ
X0RFRkFVTFQsIHJlaW50ZXJwcmV0X2Nhc3Q8R1NvdXJjZUZ1bmM+KHVwZGF0ZUFkanVzdG1lbnRD
YWxsYmFjayksCi0gICAgICAgIGNvbnN0X2Nhc3Q8dm9pZCo+KHN0YXRpY19jYXN0PGNvbnN0IHZv
aWQqPih0aGlzKSksIDApOworICAgIG1fdXBkYXRlQWRqdXN0bWVudENhbGxiYWNrLnNjaGVkdWxl
KCJbV2ViS2l0XSBHdGtBZGp1c3RtZW50V2F0Y2hlcjo6dXBkYXRlQWRqdXN0bWVudHNGcm9tU2Ny
b2xsYmFycyIsCisgICAgICAgIHN0ZDo6YmluZCgmR3RrQWRqdXN0bWVudFdhdGNoZXI6OnVwZGF0
ZUFkanVzdG1lbnRzRnJvbVNjcm9sbGJhcnMsIGNvbnN0X2Nhc3Q8R3RrQWRqdXN0bWVudFdhdGNo
ZXIqPihzdGF0aWNfY2FzdDxjb25zdCBHdGtBZGp1c3RtZW50V2F0Y2hlcio+KHRoaXMpKSkpOwog
fQogCiBzdGF0aWMgdm9pZCBhZGp1c3RtZW50VmFsdWVDaGFuZ2VkQ2FsbGJhY2soR3RrQWRqdXN0
bWVudCogYWRqdXN0bWVudCwgR3RrQWRqdXN0bWVudFdhdGNoZXIqIHdhdGNoZXIpCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0L2d0ay9XZWJDb3JlU3VwcG9ydC9HdGtBZGp1c3RtZW50V2F0Y2hl
ci5oIGIvU291cmNlL1dlYktpdC9ndGsvV2ViQ29yZVN1cHBvcnQvR3RrQWRqdXN0bWVudFdhdGNo
ZXIuaAppbmRleCBlNTY5Y2RjLi44MjA5N2I0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2d0
ay9XZWJDb3JlU3VwcG9ydC9HdGtBZGp1c3RtZW50V2F0Y2hlci5oCisrKyBiL1NvdXJjZS9XZWJL
aXQvZ3RrL1dlYkNvcmVTdXBwb3J0L0d0a0FkanVzdG1lbnRXYXRjaGVyLmgKQEAgLTIxLDYgKzIx
LDcgQEAKICNkZWZpbmUgR3RrQWRqdXN0bWVudFdhdGNoZXJfaAogCiAjaW5jbHVkZSAiR1JlZlB0
ckd0ay5oIgorI2luY2x1ZGUgPHd0Zi9nb2JqZWN0L0dNYWluTG9vcFNvdXJjZS5oPgogCiB0eXBl
ZGVmIHN0cnVjdCBfV2ViS2l0V2ViVmlldyBXZWJLaXRXZWJWaWV3OwogCkBAIC01MCw3ICs1MSw3
IEBAIHByaXZhdGU6CiAgICAgR1JlZlB0cjxHdGtBZGp1c3RtZW50PiBtX3ZlcnRpY2FsQWRqdXN0
bWVudDsKICAgICBib29sIG1fc2Nyb2xsYmFyc0Rpc2FibGVkOwogICAgIGJvb2wgbV9oYW5kbGlu
Z0d0a0FkanVzdG1lbnRDaGFuZ2U7Ci0gICAgbXV0YWJsZSB1bnNpZ25lZCBtX3VwZGF0ZUFkanVz
dG1lbnRDYWxsYmFja0lkOworICAgIG11dGFibGUgR01haW5Mb29wU291cmNlIG1fdXBkYXRlQWRq
dXN0bWVudENhbGxiYWNrOwogfTsKIAogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9ndGsv
d2Via2l0L3dlYmtpdHdlYnZpZXcuY3BwIGIvU291cmNlL1dlYktpdC9ndGsvd2Via2l0L3dlYmtp
dHdlYnZpZXcuY3BwCmluZGV4IGE4ZWVhMzYuLjZhNzU1NTMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQvZ3RrL3dlYmtpdC93ZWJraXR3ZWJ2aWV3LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L2d0
ay93ZWJraXQvd2Via2l0d2Vidmlldy5jcHAKQEAgLTUzMTcsMTQgKzUzMTcsNiBAQCB2b2lkIHdl
YmtpdF93ZWJfdmlld19jbGVhcl9yZXNvdXJjZXMoV2ViS2l0V2ViVmlldyogd2ViVmlldykKICAg
ICAgICAgZ19oYXNoX3RhYmxlX3JlbW92ZV9hbGwocHJpdi0+c3ViUmVzb3VyY2VzLmdldCgpKTsK
IH0KIAotc3RhdGljIGdib29sZWFuIGNsZWFudXBUZW1wb3JhcmlseUNhY2hlZFN1YnJlc291cmNl
cyhncG9pbnRlciBkYXRhKQotewotICAgIEdMaXN0KiBzdWJSZXNvdXJjZXMgPSBzdGF0aWNfY2Fz
dDxHTGlzdCo+KGRhdGEpOwotICAgIGdfbGlzdF9mb3JlYWNoKHN1YlJlc291cmNlcywgcmVpbnRl
cnByZXRfY2FzdDxHRnVuYz4oZ19vYmplY3RfdW5yZWYpLCBOVUxMKTsKLSAgICBnX2xpc3RfZnJl
ZShzdWJSZXNvdXJjZXMpOwotICAgIHJldHVybiBGQUxTRTsKLX0KLQogR0xpc3QqIHdlYmtpdF93
ZWJfdmlld19nZXRfc3VicmVzb3VyY2VzKFdlYktpdFdlYlZpZXcqIHdlYlZpZXcpCiB7CiAgICAg
Z19yZXR1cm5fdmFsX2lmX2ZhaWwoV0VCS0lUX0lTX1dFQl9WSUVXKHdlYlZpZXcpLCBOVUxMKTsK
QEAgLTUzMzksOCArNTMzMSwxMSBAQCBHTGlzdCogd2Via2l0X3dlYl92aWV3X2dldF9zdWJyZXNv
dXJjZXMoV2ViS2l0V2ViVmlldyogd2ViVmlldykKICAgICAgICAgc3ViUmVzb3VyY2VzID0gZ19s
aXN0X2FwcGVuZChzdWJSZXNvdXJjZXMsIHdlYlJlc291cmNlKTsKICAgICB9CiAKLSAgICBpZiAo
c3ViUmVzb3VyY2VzKQotICAgICAgICBnX3RpbWVvdXRfYWRkKDEsIGNsZWFudXBUZW1wb3Jhcmls
eUNhY2hlZFN1YnJlc291cmNlcywgZ19saXN0X2NvcHkoc3ViUmVzb3VyY2VzKSk7CisgICAgaWYg
KHN1YlJlc291cmNlcykgeworICAgICAgICBHTGlzdCogY29waWVkTGlzdCA9IGdfbGlzdF9jb3B5
KHN1YlJlc291cmNlcyk7CisgICAgICAgIEdNYWluTG9vcFNvdXJjZTo6Y3JlYXRlQW5kRGVsZXRl
T25EZXN0cm95KCkuc2NoZWR1bGVBZnRlckRlbGF5KCJbV2ViS2l0XSBjbGVhbnVwVGVtcG9yYXJp
bHlDYWNoZWRTdWJyZXNvdXJjZXMiLAorICAgICAgICAgICAgW2NvcGllZExpc3RdIHsgZ19saXN0
X2ZyZWVfZnVsbChjb3BpZWRMaXN0LCBnX29iamVjdF91bnJlZik7IH0sIHN0ZDo6Y2hyb25vOjpz
ZWNvbmRzKDEpKTsKKyAgICB9CiAKICAgICByZXR1cm4gc3ViUmVzb3VyY2VzOwogfQo=
</data>

          </attachment>
      

    </bug>

</bugzilla>