<?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>200155</bug_id>
          
          <creation_ts>2019-07-26 00:38:19 -0700</creation_ts>
          <short_desc>[Win][MiniBrowser] Remove PageLoadTestClient</short_desc>
          <delta_ts>2019-07-28 19:06:18 -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>Tools / Tests</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          <see_also>https://bugs.webkit.org/show_bug.cgi?id=137673</see_also>
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>200167</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Fujii Hironori">fujii</reporter>
          <assigned_to name="Fujii Hironori">fujii</assigned_to>
          <cc>achristensen</cc>
    
    <cc>bfulgham</cc>
    
    <cc>don.olmstead</cc>
    
    <cc>pvollan</cc>
    
    <cc>ross.kirsling</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1556046</commentid>
    <comment_count>0</comment_count>
    <who name="Fujii Hironori">fujii</who>
    <bug_when>2019-07-26 00:38:19 -0700</bug_when>
    <thetext>[Win][MiniBrowser] Remove PageLoadTestClient

It was added in Bug 137673 – [Win] Implement a page load profiling tool</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1556047</commentid>
    <comment_count>1</comment_count>
      <attachid>374948</attachid>
    <who name="Fujii Hironori">fujii</who>
    <bug_when>2019-07-26 00:40:07 -0700</bug_when>
    <thetext>Created attachment 374948
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1556135</commentid>
    <comment_count>2</comment_count>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2019-07-26 10:07:10 -0700</bug_when>
    <thetext>I am fine with removing this code, because we are not currently using this feature (sadly).

That said, I do think we need to build up a usable performance tool for Windows (FTW) so I&apos;m filing a bug to remind us to do that.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1556140</commentid>
    <comment_count>3</comment_count>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2019-07-26 10:11:01 -0700</bug_when>
    <thetext>I filed Bug 200167 to remind us to create a performance monitoring system.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1556141</commentid>
    <comment_count>4</comment_count>
      <attachid>374948</attachid>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2019-07-26 10:11:52 -0700</bug_when>
    <thetext>Comment on attachment 374948
Patch

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1556467</commentid>
    <comment_count>5</comment_count>
      <attachid>374948</attachid>
    <who name="Fujii Hironori">fujii</who>
    <bug_when>2019-07-28 19:05:13 -0700</bug_when>
    <thetext>Comment on attachment 374948
Patch

Clearing flags on attachment: 374948

Committed r247896: &lt;https://trac.webkit.org/changeset/247896&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1556468</commentid>
    <comment_count>6</comment_count>
    <who name="Fujii Hironori">fujii</who>
    <bug_when>2019-07-28 19:05:17 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1556469</commentid>
    <comment_count>7</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2019-07-28 19:06:18 -0700</bug_when>
    <thetext>&lt;rdar://problem/53644306&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>374948</attachid>
            <date>2019-07-26 00:40:07 -0700</date>
            <delta_ts>2019-07-28 19:05:13 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-200155-20190726164006.patch</filename>
            <type>text/plain</type>
            <size>31529</size>
            <attacher name="Fujii Hironori">fujii</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjQ3ODU1CmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cg
Yi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggYzQ5N2ZlMmJmMjg4Y2YyNTRlZmRkZGE3NTMyNWUzMmZk
ZjI1ZGM5Mi4uZDIxNGFmZjZiMWIwZGVlNmFkYTE2ZjMxZmU5MGMyMzExOGFiYzEzYSAxMDA2NDQK
LS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQ2
IEBACisyMDE5LTA3LTI2ICBGdWppaSBIaXJvbm9yaSAgPEhpcm9ub3JpLkZ1amlpQHNvbnkuY29t
PgorCisgICAgICAgIFtXaW5dW01pbmlCcm93c2VyXSBSZW1vdmUgUGFnZUxvYWRUZXN0Q2xpZW50
CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMDAxNTUK
KworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBJdCBpcyBu
b3QgdXNlZCBub3dhZGF5cy4KKworICAgICAgICAqIE1pbmlCcm93c2VyL3dpbi9DTWFrZUxpc3Rz
LnR4dDoKKyAgICAgICAgKiBNaW5pQnJvd3Nlci93aW4vQ29tbW9uLmNwcDoKKyAgICAgICAgKHBh
cnNlQ29tbWFuZExpbmUpOgorICAgICAgICAqIE1pbmlCcm93c2VyL3dpbi9Db21tb24uaDoKKyAg
ICAgICAgKiBNaW5pQnJvd3Nlci93aW4vTWFpbldpbmRvdy5jcHA6CisgICAgICAgIChNYWluV2lu
ZG93Ojppbml0KToKKyAgICAgICAgKiBNaW5pQnJvd3Nlci93aW4vTWFpbldpbmRvdy5oOgorICAg
ICAgICAqIE1pbmlCcm93c2VyL3dpbi9NaW5pQnJvd3NlcldlYkhvc3QuY3BwOgorICAgICAgICAo
TWluaUJyb3dzZXJXZWJIb3N0Ojp1cGRhdGVBZGRyZXNzQmFyKToKKyAgICAgICAgKE1pbmlCcm93
c2VyV2ViSG9zdDo6ZGlkRmluaXNoTG9hZEZvckZyYW1lKToKKyAgICAgICAgKE1pbmlCcm93c2Vy
V2ViSG9zdDo6ZGlkU3RhcnRQcm92aXNpb25hbExvYWRGb3JGcmFtZSk6CisgICAgICAgIChNaW5p
QnJvd3NlcldlYkhvc3Q6OmRpZEZhaWxMb2FkV2l0aEVycm9yKToKKyAgICAgICAgKE1pbmlCcm93
c2VyV2ViSG9zdDo6ZGlkSGFuZGxlT25sb2FkRXZlbnRzRm9yRnJhbWUpOgorICAgICAgICAoTWlu
aUJyb3dzZXJXZWJIb3N0OjpkaWRGaXJzdExheW91dEluRnJhbWUpOgorICAgICAgICAqIE1pbmlC
cm93c2VyL3dpbi9QYWdlTG9hZFRlc3RDbGllbnQuY3BwOiBSZW1vdmVkLgorICAgICAgICAqIE1p
bmlCcm93c2VyL3dpbi9QYWdlTG9hZFRlc3RDbGllbnQuaDogUmVtb3ZlZC4KKyAgICAgICAgKiBN
aW5pQnJvd3Nlci93aW4vUmVzb3VyY2VMb2FkRGVsZWdhdGUuY3BwOgorICAgICAgICAoUmVzb3Vy
Y2VMb2FkRGVsZWdhdGU6OmlkZW50aWZpZXJGb3JJbml0aWFsUmVxdWVzdCk6CisgICAgICAgIChS
ZXNvdXJjZUxvYWREZWxlZ2F0ZTo6d2lsbFNlbmRSZXF1ZXN0KToKKyAgICAgICAgKFJlc291cmNl
TG9hZERlbGVnYXRlOjpkaWRGaW5pc2hMb2FkaW5nRnJvbURhdGFTb3VyY2UpOgorICAgICAgICAo
UmVzb3VyY2VMb2FkRGVsZWdhdGU6OmRpZEZhaWxMb2FkaW5nV2l0aEVycm9yKToKKyAgICAgICAg
KiBNaW5pQnJvd3Nlci93aW4vV2ViS2l0QnJvd3NlcldpbmRvdy5jcHA6CisgICAgICAgIChXZWJL
aXRCcm93c2VyV2luZG93OjpjcmVhdGUpOgorICAgICAgICAoV2ViS2l0QnJvd3NlcldpbmRvdzo6
Y3JlYXRlTmV3UGFnZSk6CisgICAgICAgICogTWluaUJyb3dzZXIvd2luL1dlYktpdEJyb3dzZXJX
aW5kb3cuaDoKKyAgICAgICAgKiBNaW5pQnJvd3Nlci93aW4vV2ViS2l0TGVnYWN5QnJvd3Nlcldp
bmRvdy5jcHA6CisgICAgICAgIChXZWJLaXRMZWdhY3lCcm93c2VyV2luZG93OjpjcmVhdGUpOgor
ICAgICAgICAoV2ViS2l0TGVnYWN5QnJvd3NlcldpbmRvdzo6V2ViS2l0TGVnYWN5QnJvd3Nlcldp
bmRvdyk6CisgICAgICAgIChXZWJLaXRMZWdhY3lCcm93c2VyV2luZG93OjpleGl0UHJvZ3JhbSk6
IERlbGV0ZWQuCisgICAgICAgICogTWluaUJyb3dzZXIvd2luL1dlYktpdExlZ2FjeUJyb3dzZXJX
aW5kb3cuaDoKKyAgICAgICAgKFdlYktpdExlZ2FjeUJyb3dzZXJXaW5kb3c6OnBhZ2VMb2FkVGVz
dENsaWVudCk6IERlbGV0ZWQuCisgICAgICAgICogTWluaUJyb3dzZXIvd2luL1dpbk1haW4uY3Bw
OgorICAgICAgICAod1dpbk1haW4pOgorCiAyMDE5LTA3LTI0ICBKaWV3ZW4gVGFuICA8amlld2Vu
X3RhbkBhcHBsZS5jb20+CiAKICAgICAgICAgV2ViUGFnZVByb3h5OjpyZWNlaXZlZFBvbGljeURl
Y2lzaW9uIHNob3VsZCBjaGVjayBuYXZpZ2F0aW9uIElEIGJlZm9yZSBjbGVhciBwZW5kaW5nQVBJ
UmVxdWVzdApkaWZmIC0tZ2l0IGEvVG9vbHMvTWluaUJyb3dzZXIvd2luL0NNYWtlTGlzdHMudHh0
IGIvVG9vbHMvTWluaUJyb3dzZXIvd2luL0NNYWtlTGlzdHMudHh0CmluZGV4IGI0ZDU0MDI2OTlj
Yzc4MGUzM2E0MzQwMDNkZGQ2NzQzZTgxNmMwNjkuLjZlZDVmNDI0YTQzYzYxZGE0MWQyOTRkNTVj
YTc1Mzg4YTMwMTJkODkgMTAwNjQ0Ci0tLSBhL1Rvb2xzL01pbmlCcm93c2VyL3dpbi9DTWFrZUxp
c3RzLnR4dAorKysgYi9Ub29scy9NaW5pQnJvd3Nlci93aW4vQ01ha2VMaXN0cy50eHQKQEAgLTEy
LDcgKzEyLDYgQEAgc2V0KE1pbmlCcm93c2VyX1NPVVJDRVMKICAgICBDb21tb24uY3BwCiAgICAg
RE9NRGVmYXVsdEltcGwuY3BwCiAgICAgTWFpbldpbmRvdy5jcHAKLSAgICBQYWdlTG9hZFRlc3RD
bGllbnQuY3BwCiAgICAgUHJpbnRXZWJVSURlbGVnYXRlLmNwcAogICAgIFJlc291cmNlTG9hZERl
bGVnYXRlLmNwcAogICAgIFdlYkRvd25sb2FkRGVsZWdhdGUuY3BwCmRpZmYgLS1naXQgYS9Ub29s
cy9NaW5pQnJvd3Nlci93aW4vQ29tbW9uLmNwcCBiL1Rvb2xzL01pbmlCcm93c2VyL3dpbi9Db21t
b24uY3BwCmluZGV4IGE4OTczZjQxNDBmNDZmMDA3MTBkN2IyMDQ4ODMyYmE5MmNlNzQyOTcuLmY4
ZWY2YzA2YTg2MmNmM2Y4MjRlMTUzNmUzYjM4MzM0Y2JmNzAzYmUgMTAwNjQ0Ci0tLSBhL1Rvb2xz
L01pbmlCcm93c2VyL3dpbi9Db21tb24uY3BwCisrKyBiL1Rvb2xzL01pbmlCcm93c2VyL3dpbi9D
b21tb24uY3BwCkBAIC0zNCw2ICszNCw3IEBACiAjaW5jbHVkZSAiTWluaUJyb3dzZXJSZXBsYWNl
LmgiCiAjaW5jbHVkZSA8ZGJnaGVscC5oPgogI2luY2x1ZGUgPHNobG9iai5oPgorI2luY2x1ZGUg
PHd0Zi9PcHRpb25hbC5oPgogI2luY2x1ZGUgPHd0Zi9TdGRMaWJFeHRyYXMuaD4KIAogLy8gR2xv
YmFsIFZhcmlhYmxlczoKQEAgLTI3MCw4ICsyNzEsNiBAQCBDb21tYW5kTGluZU9wdGlvbnMgcGFy
c2VDb21tYW5kTGluZSgpCiAgICAgICAgICAgICBvcHRpb25zLnVzZXNMYXllcmVkV2ViVmlldyA9
IHRydWU7CiAgICAgICAgIGVsc2UgaWYgKCF3Y3NpY21wKGFyZ3ZbaV0sIEwiLS1kZXNrdG9wIikp
CiAgICAgICAgICAgICBvcHRpb25zLnVzZUZ1bGxEZXNrdG9wID0gdHJ1ZTsKLSAgICAgICAgZWxz
ZSBpZiAoIXdjc2ljbXAoYXJndltpXSwgTCItLXBlcmZvcm1hbmNlIikpCi0gICAgICAgICAgICBv
cHRpb25zLnBhZ2VMb2FkVGVzdGluZyA9IHRydWU7CiAgICAgICAgIGVsc2UgaWYgKCF3Y3NpY21w
KGFyZ3ZbaV0sIEwiLS13azEiKSB8fCAhd2NzaWNtcChhcmd2W2ldLCBMIi0tbGVnYWN5IikpCiAg
ICAgICAgICAgICBvcHRpb25zLndpbmRvd1R5cGUgPSBCcm93c2VyV2luZG93VHlwZTo6V2ViS2l0
TGVnYWN5OwogI2lmIEVOQUJMRShXRUJLSVQpCmRpZmYgLS1naXQgYS9Ub29scy9NaW5pQnJvd3Nl
ci93aW4vQ29tbW9uLmggYi9Ub29scy9NaW5pQnJvd3Nlci93aW4vQ29tbW9uLmgKaW5kZXggOGIw
MGNlNDUxYjgzZDYwMTNhYzQxYjc3N2E4NzVkNjJkZGRlOTE3Yi4uZjk5OWUxMzUyMmQ0ZWQ4NGQx
YjlmY2NiYzRmMTk5ODMxM2Q0OThiNCAxMDA2NDQKLS0tIGEvVG9vbHMvTWluaUJyb3dzZXIvd2lu
L0NvbW1vbi5oCisrKyBiL1Rvb2xzL01pbmlCcm93c2VyL3dpbi9Db21tb24uaApAQCAtMzcsNyAr
MzcsNiBAQCBlbnVtIGNsYXNzIEJyb3dzZXJXaW5kb3dUeXBlIHsKIHN0cnVjdCBDb21tYW5kTGlu
ZU9wdGlvbnMgewogICAgIGJvb2wgdXNlc0xheWVyZWRXZWJWaWV3IHsgfTsKICAgICBib29sIHVz
ZUZ1bGxEZXNrdG9wIHsgfTsKLSAgICBib29sIHBhZ2VMb2FkVGVzdGluZyB7IH07CiAgICAgQnJv
d3NlcldpbmRvd1R5cGUgd2luZG93VHlwZTsKICAgICBfYnN0cl90IHJlcXVlc3RlZFVSTDsKIApk
aWZmIC0tZ2l0IGEvVG9vbHMvTWluaUJyb3dzZXIvd2luL01haW5XaW5kb3cuY3BwIGIvVG9vbHMv
TWluaUJyb3dzZXIvd2luL01haW5XaW5kb3cuY3BwCmluZGV4IGFjNzFmNjY2ZTg4M2M2OTY4ZDM5
OGI1ODkyMDAzYjE1ZWNhMDM0N2MuLjNmN2Q3NGMwNjYwODU2MGU3NTE5MzA2ZThlMGMxZWYyODRl
YTY1Y2UgMTAwNjQ0Ci0tLSBhL1Rvb2xzL01pbmlCcm93c2VyL3dpbi9NYWluV2luZG93LmNwcAor
KysgYi9Ub29scy9NaW5pQnJvd3Nlci93aW4vTWFpbldpbmRvdy5jcHAKQEAgLTI5LDYgKzI5LDcg
QEAKICNpbmNsdWRlICJDb21tb24uaCIKICNpbmNsdWRlICJNaW5pQnJvd3NlckxpYlJlc291cmNl
LmgiCiAjaW5jbHVkZSAiV2ViS2l0TGVnYWN5QnJvd3NlcldpbmRvdy5oIgorI2luY2x1ZGUgPENv
cmVGb3VuZGF0aW9uL0NvcmVGb3VuZGF0aW9uLmg+CiAKICNpZiBFTkFCTEUoV0VCS0lUKQogI2lu
Y2x1ZGUgIldlYktpdEJyb3dzZXJXaW5kb3cuaCIKQEAgLTk4LDcgKzk5LDcgQEAgUmVmPE1haW5X
aW5kb3c+IE1haW5XaW5kb3c6OmNyZWF0ZSgpCiAgICAgcmV0dXJuIGFkb3B0UmVmKCpuZXcgTWFp
bldpbmRvdygpKTsKIH0KIAotYm9vbCBNYWluV2luZG93Ojppbml0KEJyb3dzZXJXaW5kb3dGYWN0
b3J5IGZhY3RvcnksIEhJTlNUQU5DRSBoSW5zdGFuY2UsIGJvb2wgdXNlc0xheWVyZWRXZWJWaWV3
LCBib29sIHBhZ2VMb2FkVGVzdGluZykKK2Jvb2wgTWFpbldpbmRvdzo6aW5pdChCcm93c2VyV2lu
ZG93RmFjdG9yeSBmYWN0b3J5LCBISU5TVEFOQ0UgaEluc3RhbmNlLCBib29sIHVzZXNMYXllcmVk
V2ViVmlldykKIHsKICAgICByZWdpc3RlckNsYXNzKGhJbnN0YW5jZSk7CiAKQEAgLTEyMiw3ICsx
MjMsNyBAQCBib29sIE1haW5XaW5kb3c6OmluaXQoQnJvd3NlcldpbmRvd0ZhY3RvcnkgZmFjdG9y
eSwgSElOU1RBTkNFIGhJbnN0YW5jZSwgYm9vbCB1cwogICAgIERlZkVkaXRQcm9jID0gcmVpbnRl
cnByZXRfY2FzdDxXTkRQUk9DPihHZXRXaW5kb3dMb25nUHRyKG1faFVSTEJhclduZCwgR1dMUF9X
TkRQUk9DKSk7CiAgICAgU2V0V2luZG93TG9uZ1B0cihtX2hVUkxCYXJXbmQsIEdXTFBfV05EUFJP
QywgcmVpbnRlcnByZXRfY2FzdDxMT05HX1BUUj4oRWRpdFByb2MpKTsKIAotICAgIG1fYnJvd3Nl
cldpbmRvdyA9IGZhY3RvcnkobV9oTWFpblduZCwgbV9oVVJMQmFyV25kLCB1c2VzTGF5ZXJlZFdl
YlZpZXcsIHBhZ2VMb2FkVGVzdGluZyk7CisgICAgbV9icm93c2VyV2luZG93ID0gZmFjdG9yeSht
X2hNYWluV25kLCBtX2hVUkxCYXJXbmQsIHVzZXNMYXllcmVkV2ViVmlldyk7CiAgICAgaWYgKCFt
X2Jyb3dzZXJXaW5kb3cpCiAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICBIUkVTVUxUIGhyID0g
bV9icm93c2VyV2luZG93LT5pbml0KCk7CmRpZmYgLS1naXQgYS9Ub29scy9NaW5pQnJvd3Nlci93
aW4vTWFpbldpbmRvdy5oIGIvVG9vbHMvTWluaUJyb3dzZXIvd2luL01haW5XaW5kb3cuaAppbmRl
eCBiOTlkOTY0N2VmN2M4Mzc3ZmQwZmY3ZGQ1YjNiM2YyYjlkZDE4ZTlmLi5jNTcyMDc2YTY4YzZi
YmNhNGU1MTVlOTIzMzhiOGVmYjg5ZmQzMTIxIDEwMDY0NAotLS0gYS9Ub29scy9NaW5pQnJvd3Nl
ci93aW4vTWFpbldpbmRvdy5oCisrKyBiL1Rvb2xzL01pbmlCcm93c2VyL3dpbi9NYWluV2luZG93
LmgKQEAgLTMzLDEyICszMywxMiBAQAogCiBjbGFzcyBNYWluV2luZG93IDogcHVibGljIFJlZkNv
dW50ZWQ8TWFpbldpbmRvdz4gewogcHVibGljOgotICAgIHVzaW5nIEJyb3dzZXJXaW5kb3dGYWN0
b3J5ID0gc3RkOjpmdW5jdGlvbjxSZWY8QnJvd3NlcldpbmRvdz4oSFdORCBtYWluV25kLCBIV05E
IHVybEJhclduZCwgYm9vbCB1c2VzTGF5ZXJlZFdlYlZpZXcsIGJvb2wgcGFnZUxvYWRUZXN0aW5n
KT47CisgICAgdXNpbmcgQnJvd3NlcldpbmRvd0ZhY3RvcnkgPSBzdGQ6OmZ1bmN0aW9uPFJlZjxC
cm93c2VyV2luZG93PihIV05EIG1haW5XbmQsIEhXTkQgdXJsQmFyV25kLCBib29sIHVzZXNMYXll
cmVkV2ViVmlldyk+OwogCiAgICAgc3RhdGljIFJlZjxNYWluV2luZG93PiBjcmVhdGUoKTsKIAog
ICAgIH5NYWluV2luZG93KCk7Ci0gICAgYm9vbCBpbml0KEJyb3dzZXJXaW5kb3dGYWN0b3J5LCBI
SU5TVEFOQ0UgaEluc3RhbmNlLCBib29sIHVzZXNMYXllcmVkV2ViVmlldyA9IGZhbHNlLCBib29s
IHBhZ2VMb2FkVGVzdGluZyA9IGZhbHNlKTsKKyAgICBib29sIGluaXQoQnJvd3NlcldpbmRvd0Zh
Y3RvcnksIEhJTlNUQU5DRSBoSW5zdGFuY2UsIGJvb2wgdXNlc0xheWVyZWRXZWJWaWV3ID0gZmFs
c2UpOwogCiAgICAgdm9pZCByZXNpemVTdWJWaWV3cygpOwogICAgIEhXTkQgaHduZCgpIGNvbnN0
IHsgcmV0dXJuIG1faE1haW5XbmQ7IH0KZGlmZiAtLWdpdCBhL1Rvb2xzL01pbmlCcm93c2VyL3dp
bi9NaW5pQnJvd3NlcldlYkhvc3QuY3BwIGIvVG9vbHMvTWluaUJyb3dzZXIvd2luL01pbmlCcm93
c2VyV2ViSG9zdC5jcHAKaW5kZXggY2ZjNTRkNTM2YzcwNTdlMDI5ZTk3NTRlZTU3MjVmNGIwMDM0
ZmI1Mi4uZDM1YTI0YTAyOTE1MWM3ZmJhNjFhY2U3NTU3MjA3MjFlNGE4ODY2ZiAxMDA2NDQKLS0t
IGEvVG9vbHMvTWluaUJyb3dzZXIvd2luL01pbmlCcm93c2VyV2ViSG9zdC5jcHAKKysrIGIvVG9v
bHMvTWluaUJyb3dzZXIvd2luL01pbmlCcm93c2VyV2ViSG9zdC5jcHAKQEAgLTI5LDcgKzI5LDYg
QEAKICNpbmNsdWRlICJzdGRhZnguaCIKICNpbmNsdWRlICJNaW5pQnJvd3NlcldlYkhvc3QuaCIK
IAotI2luY2x1ZGUgIlBhZ2VMb2FkVGVzdENsaWVudC5oIgogI2luY2x1ZGUgIldlYktpdExlZ2Fj
eUJyb3dzZXJXaW5kb3cuaCIKICNpbmNsdWRlIDxXZWJLaXRMZWdhY3kvV2ViS2l0Lmg+CiAKQEAg
LTYwLDExICs1OSw2IEBAIEhSRVNVTFQgTWluaUJyb3dzZXJXZWJIb3N0Ojp1cGRhdGVBZGRyZXNz
QmFyKElXZWJWaWV3JiB3ZWJWaWV3KQogICAgIGlmIChGQUlMRUQoaHIpKQogICAgICAgICByZXR1
cm4gaHI7CiAKLSAgICBpZiAoZnJhbWVVUkwubGVuZ3RoKCkpIHsKLSAgICAgICAgbV9jbGllbnQt
PnBhZ2VMb2FkVGVzdENsaWVudCgpLnNldFBhZ2VVUkwoZnJhbWVVUkwpOwotICAgICAgICBtX2Ns
aWVudC0+cGFnZUxvYWRUZXN0Q2xpZW50KCkuZGlkQ29tbWl0TG9hZCgpOwotICAgIH0KLQogICAg
IGxvYWRVUkwoZnJhbWVVUkwpOwogCiAgICAgcmV0dXJuIFNfT0s7CkBAIC0xMjMsMTUgKzExNyw2
IEBAIEhSRVNVTFQgTWluaUJyb3dzZXJXZWJIb3N0OjpkaWRGaW5pc2hMb2FkRm9yRnJhbWUoX0lu
X29wdF8gSVdlYlZpZXcqIHdlYlZpZXcsIF9JCiAgICAgaWYgKCFmcmFtZSB8fCAhd2ViVmlldykK
ICAgICAgICAgcmV0dXJuIEVfUE9JTlRFUjsKIAotICAgIElXZWJGcmFtZTJQdHIgZnJhbWUyOwot
ICAgIGlmIChTVUNDRUVERUQoZnJhbWUtPlF1ZXJ5SW50ZXJmYWNlKCZmcmFtZTIuR2V0SW50ZXJm
YWNlUHRyKCkpKSkgewotICAgICAgICBCT09MIG1haW5GcmFtZSA9IEZBTFNFOwotICAgICAgICBp
ZiAoZnJhbWUyICYmIFNVQ0NFRURFRChmcmFtZTItPmlzTWFpbkZyYW1lKCZtYWluRnJhbWUpKSkg
ewotICAgICAgICAgICAgaWYgKG1haW5GcmFtZSkKLSAgICAgICAgICAgICAgICBtX2NsaWVudC0+
cGFnZUxvYWRUZXN0Q2xpZW50KCkuZGlkRmluaXNoTG9hZCgpOwotICAgICAgICB9Ci0gICAgfQot
CiAgICAgaWYgKG1fY2xpZW50KQogICAgICAgICBtX2NsaWVudC0+c2hvd0xhc3RWaXNpdGVkU2l0
ZXMoKndlYlZpZXcpOwogCkBAIC0xNDAsMTYgKzEyNSwxMSBAQCBIUkVTVUxUIE1pbmlCcm93c2Vy
V2ViSG9zdDo6ZGlkRmluaXNoTG9hZEZvckZyYW1lKF9Jbl9vcHRfIElXZWJWaWV3KiB3ZWJWaWV3
LCBfSQogCiBIUkVTVUxUIE1pbmlCcm93c2VyV2ViSG9zdDo6ZGlkU3RhcnRQcm92aXNpb25hbExv
YWRGb3JGcmFtZShfSW5fb3B0XyBJV2ViVmlldyosIF9Jbl9vcHRfIElXZWJGcmFtZSogZnJhbWUp
CiB7Ci0gICAgaWYgKCFmcmFtZSkKLSAgICAgICAgcmV0dXJuIEVfRkFJTDsKLQotICAgIG1fY2xp
ZW50LT5wYWdlTG9hZFRlc3RDbGllbnQoKS5kaWRTdGFydFByb3Zpc2lvbmFsTG9hZCgqZnJhbWUp
OwogICAgIHJldHVybiBTX09LOwogfQogCiBIUkVTVUxUIE1pbmlCcm93c2VyV2ViSG9zdDo6ZGlk
RmFpbExvYWRXaXRoRXJyb3IoX0luX29wdF8gSVdlYlZpZXcqLCBfSW5fb3B0XyBJV2ViRXJyb3Iq
LCBfSW5fb3B0XyBJV2ViRnJhbWUqKQogewotICAgIG1fY2xpZW50LT5wYWdlTG9hZFRlc3RDbGll
bnQoKS5kaWRGYWlsTG9hZCgpOwogICAgIHJldHVybiBTX09LOwogfQogCkBAIC0xNzIsOSArMTUy
LDYgQEAgSFJFU1VMVCBNaW5pQnJvd3NlcldlYkhvc3Q6OmRpZEhhbmRsZU9ubG9hZEV2ZW50c0Zv
ckZyYW1lKF9Jbl9vcHRfIElXZWJWaWV3KiBzZW4KICAgICBpZiAoRkFJTEVEKGhyKSkKICAgICAg
ICAgcmV0dXJuIGhyOwogCi0gICAgaWYgKGZyYW1lVVJMLmxlbmd0aCgpKQotICAgICAgICBtX2Ns
aWVudC0+cGFnZUxvYWRUZXN0Q2xpZW50KCkuZGlkSGFuZGxlT25Mb2FkRXZlbnRzKCk7Ci0KICAg
ICByZXR1cm4gU19PSzsKIH0KIApAQCAtMTg3LDExICsxNjQsNSBAQCBIUkVTVUxUIE1pbmlCcm93
c2VyV2ViSG9zdDo6ZGlkRmlyc3RMYXlvdXRJbkZyYW1lKF9Jbl9vcHRfIElXZWJWaWV3KiwgX0lu
X29wdF8gSQogICAgIGlmIChGQUlMRUQoZnJhbWUtPlF1ZXJ5SW50ZXJmYWNlKCZmcmFtZTIuR2V0
SW50ZXJmYWNlUHRyKCkpKSkKICAgICAgICAgcmV0dXJuIFNfT0s7CiAKLSAgICBCT09MIG1haW5G
cmFtZTsKLSAgICBpZiAoZnJhbWUyICYmIFNVQ0NFRURFRChmcmFtZTItPmlzTWFpbkZyYW1lKCZt
YWluRnJhbWUpKSkgewotICAgICAgICBpZiAobWFpbkZyYW1lKQotICAgICAgICAgICAgbV9jbGll
bnQtPnBhZ2VMb2FkVGVzdENsaWVudCgpLmRpZEZpcnN0TGF5b3V0Rm9yTWFpbkZyYW1lKCk7Ci0g
ICAgfQotCiAgICAgcmV0dXJuIFNfT0s7CiB9CmRpZmYgLS1naXQgYS9Ub29scy9NaW5pQnJvd3Nl
ci93aW4vUGFnZUxvYWRUZXN0Q2xpZW50LmNwcCBiL1Rvb2xzL01pbmlCcm93c2VyL3dpbi9QYWdl
TG9hZFRlc3RDbGllbnQuY3BwCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA1MWJmNGUy
MjA4ZDZjYjU3YTc4ZmM1ZDBkMmM4Nzk1OTlhMzIxY2UzLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL1Rvb2xzL01pbmlCcm93c2VyL3dpbi9QYWdlTG9hZFRl
c3RDbGllbnQuY3BwCisrKyAvZGV2L251bGwKQEAgLTEsMjI4ICswLDAgQEAKLS8qCi0qIENvcHly
aWdodCAoQykgMjAxNC0yMDE1IEFwcGxlIEluYy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0qCi0q
IFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGgg
b3Igd2l0aG91dAotKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0
aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKLSogYXJlIG1ldDoKLSogMS4gUmVkaXN0cmlidXRpb25z
IG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSogICAgbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVy
LgotKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhl
IGFib3ZlIGNvcHlyaWdodAotKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFu
ZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCi0qICAgIGRvY3VtZW50YXRpb24gYW5k
L29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCi0qCi0q
IFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBgYEFTIElTJycgQU5EIEFO
WQotKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJ
TUlURUQgVE8sIFRIRQotKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFO
RCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKLSogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElO
IE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IKLSogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBG
T1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCi0qIEVYRU1QTEFS
WSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBU
TywKLSogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBP
RiBVU0UsIERBVEEsIE9SCi0qIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9X
RVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKLSogT0YgTElBQklMSVRZLCBXSEVUSEVSIElO
IENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCi0qIChJTkNMVURJTkcgTkVHTElH
RU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQotKiBP
RiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNV
Q0ggREFNQUdFLgotKi8KLQotI2luY2x1ZGUgInN0ZGFmeC5oIgotI2luY2x1ZGUgIlBhZ2VMb2Fk
VGVzdENsaWVudC5oIgotCi0jaW5jbHVkZSAiV2ViS2l0TGVnYWN5QnJvd3NlcldpbmRvdy5oIgot
I2luY2x1ZGUgPFdlYkNvcmUvUGxhdGZvcm1FeHBvcnRNYWNyb3MuaD4KLSNpbmNsdWRlIDxjbWF0
aD4KLSNpbmNsdWRlIDx3dGYvQXNzZXJ0aW9ucy5oPgotI2luY2x1ZGUgPHd0Zi9GaWxlUHJpbnRT
dHJlYW0uaD4KLSNpbmNsdWRlIDx3dGYvUHJvY2Vzc0lELmg+Ci0KLXN0YXRpYyBjb25zdCBDRlRp
bWVJbnRlcnZhbCB3YWl0Rm9yTmV3UmVzb3VyY2VMb2FkRHVyYXRpb24gPSAwLjE7Ci0KLVBhZ2VM
b2FkVGVzdENsaWVudDo6UGFnZUxvYWRUZXN0Q2xpZW50KFdlYktpdExlZ2FjeUJyb3dzZXJXaW5k
b3cqIGhvc3QsIGJvb2wgcGFnZUxvYWRUZXN0aW5nKQotICAgIDogbV9ob3N0KGhvc3QpCi0gICAg
LCBtX3dhaXRGb3JMb2FkVG9SZWFsbHlFbmQodGhpcywgJlBhZ2VMb2FkVGVzdENsaWVudDo6ZW5k
UGFnZUxvYWQpCi0gICAgLCBtX3JlcGV0aXRpb25zKHBhZ2VMb2FkVGVzdGluZyA/IDIwIDogMSkK
LSAgICAsIG1fcGFnZUxvYWRUZXN0aW5nKHBhZ2VMb2FkVGVzdGluZykKLXsKLX0KLQotdm9pZCBQ
YWdlTG9hZFRlc3RDbGllbnQ6OnBhZ2VMb2FkU3RhcnRlZEF0VGltZShDRkFic29sdXRlVGltZSBz
dGFydFRpbWUpCi17Ci0gICAgbV9zdGFydFRpbWVzLmFwcGVuZChzdGFydFRpbWUpOwotfQotCi12
b2lkIFBhZ2VMb2FkVGVzdENsaWVudDo6ZGlkU3RhcnRQcm92aXNpb25hbExvYWQoSVdlYkZyYW1l
JiBmcmFtZSkKLXsKLSAgICBfY29tX3B0cl90PF9jb21fSUlJRDxJV2ViRnJhbWUyLCAmX191dWlk
b2YoSVdlYkZyYW1lMik+PiBmcmFtZTI7Ci0gICAgaWYgKEZBSUxFRChmcmFtZS5RdWVyeUludGVy
ZmFjZSgmZnJhbWUyLkdldEludGVyZmFjZVB0cigpKSkpCi0gICAgICAgIHJldHVybjsKLQotICAg
IEJPT0wgbWFpbkZyYW1lID0gRkFMU0U7Ci0gICAgaWYgKGZyYW1lMiAmJiBGQUlMRUQoZnJhbWUy
LT5pc01haW5GcmFtZSgmbWFpbkZyYW1lKSkpCi0gICAgICAgIHJldHVybjsKLQotICAgIGlmICht
YWluRnJhbWUpIHsKLSAgICAgICAgY2xlYXJQYWdlTG9hZFN0YXRlKCk7Ci0gICAgICAgIHBhZ2VM
b2FkU3RhcnRlZEF0VGltZShDRkFic29sdXRlVGltZUdldEN1cnJlbnQoKSk7Ci0gICAgfQotfQot
Ci12b2lkIFBhZ2VMb2FkVGVzdENsaWVudDo6ZGlkQ29tbWl0TG9hZCgpCi17Ci0gICAgKyttX2Zy
YW1lczsKLX0KLQotdm9pZCBQYWdlTG9hZFRlc3RDbGllbnQ6OmRpZEZpcnN0TGF5b3V0Rm9yTWFp
bkZyYW1lKCkKLXsKLSAgICAvLyBOb3RoaW5nIHRvIGRvCi19Ci0KLXZvaWQgUGFnZUxvYWRUZXN0
Q2xpZW50OjpkaWRIYW5kbGVPbkxvYWRFdmVudHMoKQotewotICAgICsrbV9vbkxvYWRFdmVudHM7
Ci0gICAgbWF5YmVFbmRQYWdlTG9hZFNvb24oKTsKLX0KLQotdm9pZCBQYWdlTG9hZFRlc3RDbGll
bnQ6OmRpZEZpbmlzaExvYWQoKQotewotICAgIG1fY3VycmVudFBhZ2VMb2FkRmluaXNoZWQgPSB0
cnVlOwotICAgIG1heWJlRW5kUGFnZUxvYWRTb29uKCk7Ci19Ci0KLXZvaWQgUGFnZUxvYWRUZXN0
Q2xpZW50OjpkaWRGYWlsTG9hZCgpCi17Ci0gICAgLS1tX2ZyYW1lczsKLX0KLQotdm9pZCBQYWdl
TG9hZFRlc3RDbGllbnQ6OmRpZEluaXRpYXRlUmVzb3VyY2VMb2FkKHVpbnQ2NF90IHJlc291cmNl
SWRlbnRpZmllcikKLXsKLSAgICBpZiAoIXJlc291cmNlSWRlbnRpZmllcikgewotICAgICAgICBX
VEZMb2dBbHdheXMoIlNhdyByZXNvdXJjZUlkZW50aWZpZXI9MC4gVGhpcyBtdXN0IGJlIGEgYnVn
IGluIHRoZSBsb2FkZXIgY29kZS4gVGhlIHJlc3VsdHMgbWF5IGJlIGludmFsaWQuIik7Ci0gICAg
ICAgIHJldHVybjsKLSAgICB9Ci0gICAgbV9sb2FkaW5nU3VicmVzb3VyY2VzLmFkZChyZXNvdXJj
ZUlkZW50aWZpZXIpOwotfQotCi12b2lkIFBhZ2VMb2FkVGVzdENsaWVudDo6ZGlkRW5kUmVzb3Vy
Y2VMb2FkKHVpbnQ2NF90IHJlc291cmNlSWRlbnRpZmllcikKLXsKLSAgICBpZiAoIXJlc291cmNl
SWRlbnRpZmllcikgewotICAgICAgICBXVEZMb2dBbHdheXMoIlNhdyByZXNvdXJjZUlkZW50aWZp
ZXI9MC4gVGhpcyBtdXN0IGJlIGEgYnVnIGluIHRoZSBsb2FkZXIgY29kZS4gVGhlIHJlc3VsdHMg
bWF5IGJlIGludmFsaWQuIik7Ci0gICAgICAgIHJldHVybjsKLSAgICB9Ci0gICAgYXV0byBmb3Vu
ZCA9IG1fbG9hZGluZ1N1YnJlc291cmNlcy5maW5kKHJlc291cmNlSWRlbnRpZmllcik7Ci0gICAg
aWYgKGZvdW5kID09IG1fbG9hZGluZ1N1YnJlc291cmNlcy5lbmQoKSkKLSAgICAgICAgcmV0dXJu
OwotICAgIG1fbG9hZGluZ1N1YnJlc291cmNlcy5yZW1vdmUoZm91bmQpOwotICAgIG1heWJlRW5k
UGFnZUxvYWRTb29uKCk7Ci19Ci0KLXZvaWQgUGFnZUxvYWRUZXN0Q2xpZW50OjpwYWdlTG9hZEVu
ZGVkQXRUaW1lKENGQWJzb2x1dGVUaW1lIGVuZFRpbWUpCi17Ci0gICAgQVNTRVJUKCFtX3BhZ2VM
b2FkVGVzdGluZyB8fCBtX2VuZFRpbWVzLnNpemUoKSA9PSBtX2N1cnJlbnRSZXBldGl0aW9uKTsK
LSAgICBtX2VuZFRpbWVzLmFwcGVuZChlbmRUaW1lKTsKLQotICAgIGlmIChtX2N1cnJlbnRSZXBl
dGl0aW9uKSB7Ci0gICAgICAgIENGVGltZUludGVydmFsIHBhZ2VMb2FkVGltZSA9IChtX2VuZFRp
bWVzW21fY3VycmVudFJlcGV0aXRpb25dIC0gbV9zdGFydFRpbWVzW21fY3VycmVudFJlcGV0aXRp
b25dKTsKLSAgICAgICAgaWYgKHBhZ2VMb2FkVGltZSA+IG1fbG9uZ2VzdFRpbWUpCi0gICAgICAg
ICAgICBtX2xvbmdlc3RUaW1lID0gcGFnZUxvYWRUaW1lOwotCi0gICAgICAgIG1fdG90YWxUaW1l
ICs9IHBhZ2VMb2FkVGltZTsKLSAgICAgICAgbV90b3RhbFNxdWFyZVJvb3RzT2ZUaW1lICs9IHN0
ZDo6c3FydChwYWdlTG9hZFRpbWUpOwotICAgICAgICBtX3BhZ2VzVGltZWQrKzsKLSAgICAgICAg
bV9nZW9tZXRyaWNNZWFuUHJvZHVjdFN1bSAqPSBwYWdlTG9hZFRpbWU7Ci0gICAgfQotCi0gICAg
aWYgKG1fcGFnZUxvYWRUZXN0aW5nKSB7Ci0gICAgICAgICsrbV9jdXJyZW50UmVwZXRpdGlvbjsK
LSAgICAgICAgaWYgKG1fY3VycmVudFJlcGV0aXRpb24gIT0gbV9yZXBldGl0aW9ucykKLSAgICAg
ICAgICAgIG1faG9zdC0+bG9hZFVSTChtX3VybCk7Ci0gICAgICAgIGVsc2UgewotICAgICAgICAg
ICAgZHVtcFJ1blN0YXRpc3RpY3MoKTsKLSAgICAgICAgICAgIG1faG9zdC0+ZXhpdFByb2dyYW0o
KTsKLSAgICAgICAgfQotICAgIH0KLX0KLQotdm9pZCBQYWdlTG9hZFRlc3RDbGllbnQ6OmVuZFBh
Z2VMb2FkKFRpbWVyPFBhZ2VMb2FkVGVzdENsaWVudD4qIHRpbWVyKQotewotICAgIEFTU0VSVF9V
TlVTRUQodGltZXIsIHRpbWVyID09ICZtX3dhaXRGb3JMb2FkVG9SZWFsbHlFbmQpOwotCi0gICAg
aWYgKCFzaG91bGRDb25zaWRlclBhZ2VMb2FkRW5kZWQoKSkKLSAgICAgICAgcmV0dXJuOwotICAg
IHBhZ2VMb2FkRW5kZWRBdFRpbWUobV9wYWdlTG9hZEVuZFRpbWUpOwotICAgIGNsZWFyUGFnZUxv
YWRTdGF0ZSgpOwotfQotCi12b2lkIFBhZ2VMb2FkVGVzdENsaWVudDo6Y2xlYXJQYWdlTG9hZFN0
YXRlKCkKLXsKLSAgICBtX2N1cnJlbnRQYWdlTG9hZEZpbmlzaGVkID0gZmFsc2U7Ci0gICAgbV9m
cmFtZXMgPSAwOwotICAgIG1fb25Mb2FkRXZlbnRzID0gMDsKLSAgICBtX3BhZ2VMb2FkRW5kVGlt
ZSA9IDA7Ci0gICAgbV9sb2FkaW5nU3VicmVzb3VyY2VzLmNsZWFyKCk7Ci0gICAgbV93YWl0Rm9y
TG9hZFRvUmVhbGx5RW5kLmludmFsaWRhdGUoKTsKLX0KLQotYm9vbCBQYWdlTG9hZFRlc3RDbGll
bnQ6OnNob3VsZENvbnNpZGVyUGFnZUxvYWRFbmRlZCgpIGNvbnN0Ci17Ci0gICAgcmV0dXJuIG1f
Y3VycmVudFBhZ2VMb2FkRmluaXNoZWQgJiYgbV9vbkxvYWRFdmVudHMgPT0gbV9mcmFtZXMgJiYg
bV9sb2FkaW5nU3VicmVzb3VyY2VzLmlzRW1wdHkoKTsKLX0KLQotdm9pZCBQYWdlTG9hZFRlc3RD
bGllbnQ6Om1heWJlRW5kUGFnZUxvYWRTb29uKCkKLXsKLSAgICBpZiAoIXNob3VsZENvbnNpZGVy
UGFnZUxvYWRFbmRlZCgpKQotICAgICAgICByZXR1cm47Ci0gICAgbV9wYWdlTG9hZEVuZFRpbWUg
PSBDRkFic29sdXRlVGltZUdldEN1cnJlbnQoKTsKLSAgICBpZiAobV93YWl0Rm9yTG9hZFRvUmVh
bGx5RW5kLmlzVmFsaWQoKSkKLSAgICAgICAgbV93YWl0Rm9yTG9hZFRvUmVhbGx5RW5kLmludmFs
aWRhdGUoKTsKLSAgICBtX3dhaXRGb3JMb2FkVG9SZWFsbHlFbmQuc2NoZWR1bGUod2FpdEZvck5l
d1Jlc291cmNlTG9hZER1cmF0aW9uLCBmYWxzZSk7Ci19Ci0KLSNpZiBPUyhXSU5ET1dTKQotdm9p
ZCBQYWdlTG9hZFRlc3RDbGllbnQ6OnNldFBhZ2VVUkwoY29uc3QgX2JzdHJfdCYgcGFnZVVSTCkK
LXsKLSAgICBtX3VybCA9IHBhZ2VVUkw7Ci19Ci0jZW5kaWYKLQotdm9pZCBQYWdlTG9hZFRlc3RD
bGllbnQ6OmR1bXBSdW5TdGF0aXN0aWNzKCkKLXsKLSAgICBjb25zdCBsb25nIG1heFBhdGhMZW5n
dGggPSAxMDI0OwotCi0gICAgY2hhciBmaWxlbmFtZVN1ZmZpeFttYXhQYXRoTGVuZ3RoICsgMV07
Ci0KLSAgICBzbnByaW50ZihmaWxlbmFtZVN1ZmZpeCwgc2l6ZW9mKGZpbGVuYW1lU3VmZml4KSwg
Ii4lZC50eHQiLCBnZXRDdXJyZW50UHJvY2Vzc0lEKCkpOwotCi0gICAgY29uc3QgY2hhciogZmls
ZW5hbWUgPSAid2Via2l0X3BlcmZvcm1hbmNlX2xvZyI7Ci0gICAgY2hhciBhY3R1YWxGaWxlbmFt
ZVttYXhQYXRoTGVuZ3RoICsgMV07Ci0KLSAgICBzbnByaW50ZihhY3R1YWxGaWxlbmFtZSwgc2l6
ZW9mKGFjdHVhbEZpbGVuYW1lKSwgIiVzJXMiLCBmaWxlbmFtZSwgZmlsZW5hbWVTdWZmaXgpOwot
Ci0gICAgc3RkOjp1bmlxdWVfcHRyPFdURjo6RmlsZVByaW50U3RyZWFtPiBmaWxlID0gV1RGOjpG
aWxlUHJpbnRTdHJlYW06Om9wZW4oYWN0dWFsRmlsZW5hbWUsICJ3Iik7Ci0gICAgaWYgKCFmaWxl
KSB7Ci0gICAgICAgIFdURkxvZ0Fsd2F5cygiV2FybmluZzogQ291bGQgbm90IG9wZW4gcGFnZSBs
b2FkIHBlcmZvcm1hbmNlIGRhdGEgZmlsZSAlcyBmb3Igd3JpdGluZy5cbiIsIGFjdHVhbEZpbGVu
YW1lKTsKLSAgICAgICAgcmV0dXJuOwotICAgIH0KLQotICAgIFdURkxvZ0Fsd2F5cygiKioqIFBh
Z2UgbG9hZCBwZXJmb3JtYW5jZSBkYXRhIG91dHB1dCB0byBcIiVzXCIgKioqXG4iLCBhY3R1YWxG
aWxlbmFtZSk7Ci0KLSAgICBmaWxlLT5wcmludCgiSU5ESVZJRFVBTCBVUkwgTE9BRCBUSU1FUzpc
biIpOwotCi0gICAgQ0ZUaW1lSW50ZXJ2YWwgcGFnZUxvYWRUaW1lID0gbV9lbmRUaW1lcy5sYXN0
KCkgLSBtX3N0YXJ0VGltZXMubGFzdCgpOwotICAgIGZpbGUtPnByaW50ZigiTG9hZCBUaW1lID0g
JS4xZiBtc1x0JXNcbiIsIHBhZ2VMb2FkVGltZSAqIDEwMDAuMCwgc3RhdGljX2Nhc3Q8Y29uc3Qg
Y2hhcio+KG1fdXJsKSk7Ci0KLSAgICBkb3VibGUgbWVhblRpbWUgPSAwOwotICAgIGRvdWJsZSBz
cXVhcmVNZWFuUm9vdFRpbWUgPSAwOwotICAgIGRvdWJsZSBnZW9tZXRyaWNNZWFuVGltZSA9IDA7
Ci0gICAgaWYgKG1fcGFnZXNUaW1lZCkgewotICAgICAgICBtZWFuVGltZSA9IG1fdG90YWxUaW1l
IC8gbV9wYWdlc1RpbWVkOwotICAgICAgICBzcXVhcmVNZWFuUm9vdFRpbWUgPSAobV90b3RhbFNx
dWFyZVJvb3RzT2ZUaW1lIC8gbV9wYWdlc1RpbWVkKSAqIChtX3RvdGFsU3F1YXJlUm9vdHNPZlRp
bWUgLyBtX3BhZ2VzVGltZWQpOwotICAgICAgICBnZW9tZXRyaWNNZWFuVGltZSA9IHBvdyhtX2dl
b21ldHJpY01lYW5Qcm9kdWN0U3VtLCAoMS4wIC8gbV9wYWdlc1RpbWVkKSk7Ci0gICAgfQotCi0g
ICAgZmlsZS0+cHJpbnRmKCJGSU5JU0hFRDogICAgVG90YWwgVGltZSA9ICUuMWYgbXNcbiIsIG1f
dG90YWxUaW1lICogMTAwMC4wKTsKLSAgICBmaWxlLT5wcmludGYoIiAgICAgICAgICAgTG9uZ2Vz
dCBUaW1lID0gJS4xZiBtc1xuIiwgbV9sb25nZXN0VGltZSAqIDEwMDAuMCk7Ci0gICAgZmlsZS0+
cHJpbnRmKCIgICAgICAgICAgICAgIE1lYW4gVGltZSA9ICUuMWYgbXNcbiIsIG1lYW5UaW1lICog
MTAwMC4wKTsKLSAgICBmaWxlLT5wcmludGYoIiAgU3F1YXJlLU1lYW4tUm9vdCBUaW1lID0gJS4x
ZiBtc1xuIiwgc3F1YXJlTWVhblJvb3RUaW1lICogMTAwMC4wKTsKLSAgICBmaWxlLT5wcmludGYo
IiAgICBHZW9tZXRyaWMgTWVhbiBUaW1lID0gJS4xZiBtc1xuIiwgZ2VvbWV0cmljTWVhblRpbWUg
KiAxMDAwLjApOwotICAgIGZpbGUtPnByaW50ZigiLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tXG4iKTsKLQotICAgIGZpbGUtPmZsdXNoKCk7Ci19CmRpZmYgLS1naXQg
YS9Ub29scy9NaW5pQnJvd3Nlci93aW4vUGFnZUxvYWRUZXN0Q2xpZW50LmggYi9Ub29scy9NaW5p
QnJvd3Nlci93aW4vUGFnZUxvYWRUZXN0Q2xpZW50LmgKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDc1MTEyNDNmYTc0N2E1NDg5YTk1NWM5YjgwODIwYzJjY2QyNmMyNzUuLjAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvVG9vbHMvTWluaUJyb3dzZXIv
d2luL1BhZ2VMb2FkVGVzdENsaWVudC5oCisrKyAvZGV2L251bGwKQEAgLTEsMTU3ICswLDAgQEAK
LS8qCi0qIENvcHlyaWdodCAoQykgMjAxNCBBcHBsZSBJbmMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQu
Ci0qCi0qIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMs
IHdpdGggb3Igd2l0aG91dAotKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQg
dGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKLSogYXJlIG1ldDoKLSogMS4gUmVkaXN0cmli
dXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSog
ICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNj
bGFpbWVyLgotKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1
Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAotKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRp
b25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCi0qICAgIGRvY3VtZW50YXRp
b24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24u
Ci0qCi0qIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBgYEFTIElTJycg
QU5EIEFOWQotKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQg
Tk9UIExJTUlURUQgVE8sIFRIRQotKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklM
SVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKLSogUFVSUE9TRSBBUkUgRElTQ0xBSU1F
RC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IKLSogQ09OVFJJQlVUT1JTIEJFIExJ
QUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCi0qIEVY
RU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElN
SVRFRCBUTywKLSogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsg
TE9TUyBPRiBVU0UsIERBVEEsIE9SCi0qIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElP
TikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKLSogT0YgTElBQklMSVRZLCBXSEVU
SEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCi0qIChJTkNMVURJTkcg
TkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVT
RQotKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZ
IE9GIFNVQ0ggREFNQUdFLgotKi8KLQotI2lmbmRlZiBQYWdlTG9hZFRlc3RDbGllbnRfaAotI2Rl
ZmluZSBQYWdlTG9hZFRlc3RDbGllbnRfaAotCi0jaW5jbHVkZSA8Q29yZUZvdW5kYXRpb24vQ0ZE
YXRlLmg+Ci0jaW5jbHVkZSA8V2ViS2l0TGVnYWN5L1dlYktpdC5oPgotI2luY2x1ZGUgPHd0Zi9B
c3NlcnRpb25zLmg+Ci0jaW5jbHVkZSA8d3RmL0hhc2hTZXQuaD4KLSNpbmNsdWRlIDx3dGYvTm9u
Y29weWFibGUuaD4KLSNpbmNsdWRlIDx3dGYvUmV0YWluUHRyLmg+Ci0jaW5jbHVkZSA8d3RmL1Zl
Y3Rvci5oPgotI2luY2x1ZGUgPHd0Zi90ZXh0L0NTdHJpbmcuaD4KLQotdGVtcGxhdGUgPGNsYXNz
IFRpbWVyRmlyZWRDbGFzcz4KLWNsYXNzIFRpbWVyIHsKLSAgICBXVEZfTUFLRV9OT05DT1BZQUJM
RShUaW1lcik7Ci1wdWJsaWM6Ci0gICAgdHlwZWRlZiB2b2lkIChUaW1lckZpcmVkQ2xhc3M6OipU
aW1lckZpcmVkRnVuY3Rpb24pKFRpbWVyKik7Ci0KLSAgICBUaW1lcihUaW1lckZpcmVkQ2xhc3Mq
IG9iamVjdCwgVGltZXJGaXJlZEZ1bmN0aW9uIGZ1bmN0aW9uKQotICAgICAgICA6IG1fb2JqZWN0
KG9iamVjdCkKLSAgICAgICAgLCBtX2Z1bmN0aW9uKGZ1bmN0aW9uKQotICAgIHsKLSAgICAgICAg
QVNTRVJUX0FSRyhvYmplY3QsIG9iamVjdCk7Ci0gICAgICAgIEFTU0VSVF9BUkcoZnVuY3Rpb24s
IGZ1bmN0aW9uKTsKLSAgICB9Ci0KLSAgICB+VGltZXIoKSB7IGludmFsaWRhdGUoKTsgfQotCi0g
ICAgdm9pZCBpbnZhbGlkYXRlKCkKLSAgICB7Ci0gICAgICAgIGlmICghaXNWYWxpZCgpKQotICAg
ICAgICAgICAgcmV0dXJuOwotCi0gICAgICAgIENGUnVuTG9vcFRpbWVySW52YWxpZGF0ZShtX3Rp
bWVyLmdldCgpKTsKLSAgICAgICAgbV90aW1lciA9IG51bGxwdHI7Ci0gICAgfQotCi0gICAgYm9v
bCBpc1ZhbGlkKCkgY29uc3QKLSAgICB7Ci0gICAgICAgIHJldHVybiBtX3RpbWVyICYmIENGUnVu
TG9vcFRpbWVySXNWYWxpZChtX3RpbWVyLmdldCgpKTsKLSAgICB9Ci0KLSAgICB2b2lkIHNjaGVk
dWxlKENGVGltZUludGVydmFsIGludGVydmFsLCBib29sIHJlcGVhdGluZykKLSAgICB7Ci0gICAg
ICAgIEFTU0VSVCghaXNWYWxpZCgpKTsKLQotICAgICAgICBDRlRpbWVJbnRlcnZhbCByZXBlYXRJ
bnRlcnZhbCA9IHJlcGVhdGluZyA/IGludGVydmFsIDogMDsKLSAgICAgICAgQ0ZSdW5Mb29wVGlt
ZXJDb250ZXh0IGNvbnRleHQgPSB7IDAsIHRoaXMsIDAsIDAsIDAgfTsKLSAgICAgICAgbV90aW1l
ciA9IGFkb3B0Q0YoQ0ZSdW5Mb29wVGltZXJDcmVhdGUoa0NGQWxsb2NhdG9yRGVmYXVsdCwgQ0ZB
YnNvbHV0ZVRpbWVHZXRDdXJyZW50KCkgKyBpbnRlcnZhbCwgcmVwZWF0SW50ZXJ2YWwsIDAsIDAs
IHJ1bkxvb3BUaW1lckZpcmVkLCAmY29udGV4dCkpOwotCi0gICAgICAgIENGUnVuTG9vcEFkZFRp
bWVyKENGUnVuTG9vcEdldEN1cnJlbnQoKSwgbV90aW1lci5nZXQoKSwga0NGUnVuTG9vcENvbW1v
bk1vZGVzKTsKLSAgICB9Ci0KLXByaXZhdGU6Ci0gICAgdm9pZCBmaXJlKCkgeyAobV9vYmplY3Qt
PiptX2Z1bmN0aW9uKSh0aGlzKTsgfQotCi0gICAgc3RhdGljIHZvaWQgcnVuTG9vcFRpbWVyRmly
ZWQoQ0ZSdW5Mb29wVGltZXJSZWYgdGltZXJSZWYsIHZvaWQqIGluZm8pCi0gICAgewotICAgICAg
ICBUaW1lciogdGltZXIgPSBzdGF0aWNfY2FzdDxUaW1lcio+KGluZm8pOwotICAgICAgICBBU1NF
UlRfQVJHKHRpbWVyUmVmLCB0aW1lci0+bV90aW1lciA9PSB0aW1lclJlZik7Ci0KLSAgICAgICAg
aWYgKCFDRlJ1bkxvb3BUaW1lckRvZXNSZXBlYXQodGltZXJSZWYpKQotICAgICAgICAgICAgQ0ZS
dW5Mb29wVGltZXJJbnZhbGlkYXRlKHRpbWVyUmVmKTsKLQotI2lmZGVmIF9fT0JKQ19fCi0gICAg
ICAgIEBhdXRvcmVsZWFzZXBvb2wKLSNlbmRpZgotICAgICAgICB7Ci0gICAgICAgICAgICB0aW1l
ci0+ZmlyZSgpOwotICAgICAgICB9Ci0gICAgfQotCi0gICAgVGltZXJGaXJlZENsYXNzKiBtX29i
amVjdDsKLSAgICBUaW1lckZpcmVkRnVuY3Rpb24gbV9mdW5jdGlvbjsKLQotICAgIFJldGFpblB0
cjxDRlJ1bkxvb3BUaW1lclJlZj4gbV90aW1lcjsKLX07Ci0KLWNsYXNzIFdlYktpdExlZ2FjeUJy
b3dzZXJXaW5kb3c7Ci0KLWNsYXNzIFBhZ2VMb2FkVGVzdENsaWVudCB7Ci0gICAgV1RGX01BS0Vf
Tk9OQ09QWUFCTEUoUGFnZUxvYWRUZXN0Q2xpZW50KTsKLXB1YmxpYzoKLSAgICBQYWdlTG9hZFRl
c3RDbGllbnQoV2ViS2l0TGVnYWN5QnJvd3NlcldpbmRvdyogaG9zdCwgYm9vbCBwYWdlTG9hZFRl
c3RpbmcgPSBmYWxzZSk7Ci0KLSNpZiBPUyhXSU5ET1dTKQotICAgIHZvaWQgc2V0UGFnZVVSTChj
b25zdCBfYnN0cl90Jik7Ci0jZW5kaWYKLQotICAgIHZvaWQgZGlkU3RhcnRQcm92aXNpb25hbExv
YWQoSVdlYkZyYW1lJik7Ci0gICAgdm9pZCBkaWRDb21taXRMb2FkKCk7Ci0gICAgdm9pZCBkaWRG
aXJzdExheW91dEZvck1haW5GcmFtZSgpOwotICAgIHZvaWQgZGlkSGFuZGxlT25Mb2FkRXZlbnRz
KCk7Ci0gICAgdm9pZCBkaWRGaW5pc2hMb2FkKCk7Ci0gICAgdm9pZCBkaWRGYWlsTG9hZCgpOwot
ICAgIHZvaWQgZGlkSW5pdGlhdGVSZXNvdXJjZUxvYWQodWludDY0X3QpOwotICAgIHZvaWQgZGlk
RW5kUmVzb3VyY2VMb2FkKHVpbnQ2NF90KTsKLQotcHJpdmF0ZToKLSAgICB2b2lkIGVuZFBhZ2VM
b2FkKFRpbWVyPFBhZ2VMb2FkVGVzdENsaWVudD4qKTsKLSAgICB2b2lkIG1heWJlRW5kUGFnZUxv
YWRTb29uKCk7Ci0gICAgdm9pZCBjbGVhclBhZ2VMb2FkU3RhdGUoKTsKLSAgICBib29sIHNob3Vs
ZENvbnNpZGVyUGFnZUxvYWRFbmRlZCgpIGNvbnN0OwotCi0gICAgdm9pZCBwYWdlTG9hZFN0YXJ0
ZWRBdFRpbWUoQ0ZBYnNvbHV0ZVRpbWUpOwotICAgIHZvaWQgcGFnZUxvYWRFbmRlZEF0VGltZShD
RkFic29sdXRlVGltZSk7Ci0gICAgdm9pZCBkdW1wUnVuU3RhdGlzdGljcygpOwotCi0gICAgV2Vi
S2l0TGVnYWN5QnJvd3NlcldpbmRvdyogbV9ob3N0OwotICAgIENGQWJzb2x1dGVUaW1lIG1fcGFn
ZUxvYWRFbmRUaW1lIHsgMCB9OwotICAgIENGVGltZUludGVydmFsIG1fdG90YWxUaW1lIHsgMCB9
OwotICAgIENGVGltZUludGVydmFsIG1fdG90YWxTcXVhcmVSb290c09mVGltZSB7IDAgfTsKLSAg
ICBDRlRpbWVJbnRlcnZhbCBtX2xvbmdlc3RUaW1lIHsgMCB9OwotICAgIFZlY3RvcjxDRkFic29s
dXRlVGltZT4gbV9zdGFydFRpbWVzOwotICAgIFZlY3RvcjxDRkFic29sdXRlVGltZT4gbV9lbmRU
aW1lczsKLSAgICBIYXNoU2V0PHVpbnQ2NF90PiBtX2xvYWRpbmdTdWJyZXNvdXJjZXM7Ci0gICAg
VGltZXI8UGFnZUxvYWRUZXN0Q2xpZW50PiBtX3dhaXRGb3JMb2FkVG9SZWFsbHlFbmQ7Ci0jaWYg
T1MoV0lORE9XUykKLSAgICBfYnN0cl90IG1fdXJsOwotI2VuZGlmCi0gICAgZG91YmxlIG1fZ2Vv
bWV0cmljTWVhblByb2R1Y3RTdW0geyAxLjAgfTsKLSAgICB1bnNpZ25lZCBtX2ZyYW1lcyB7IDAg
fTsKLSAgICB1bnNpZ25lZCBtX29uTG9hZEV2ZW50cyB7IDAgfTsKLSAgICB1bnNpZ25lZCBtX2N1
cnJlbnRSZXBldGl0aW9uIHsgMCB9OwotICAgIHVuc2lnbmVkIG1fcGFnZXNUaW1lZCB7IDAgfTsK
LSAgICB1bnNpZ25lZCBtX3JlcGV0aXRpb25zOwotCi0gICAgYm9vbCBtX2N1cnJlbnRQYWdlTG9h
ZEZpbmlzaGVkIHsgZmFsc2UgfTsKLSAgICBib29sIG1fcGFnZUxvYWRUZXN0aW5nOwotfTsKLQot
I2VuZGlmIC8vIFBhZ2VMb2FkVGVzdENsaWVudF9oCmRpZmYgLS1naXQgYS9Ub29scy9NaW5pQnJv
d3Nlci93aW4vUmVzb3VyY2VMb2FkRGVsZWdhdGUuY3BwIGIvVG9vbHMvTWluaUJyb3dzZXIvd2lu
L1Jlc291cmNlTG9hZERlbGVnYXRlLmNwcAppbmRleCBjNDhkODA1YjliYTZhMDY0NTY1OTU2Mjli
ODA1N2EwMWMzNTc3N2IzLi42M2M5ZWI5MjI4NjhkMWRiNzc4ZTA2ZDk1OTQ1ZTdjMDhhOGRkZGE1
IDEwMDY0NAotLS0gYS9Ub29scy9NaW5pQnJvd3Nlci93aW4vUmVzb3VyY2VMb2FkRGVsZWdhdGUu
Y3BwCisrKyBiL1Rvb2xzL01pbmlCcm93c2VyL3dpbi9SZXNvdXJjZUxvYWREZWxlZ2F0ZS5jcHAK
QEAgLTI2LDcgKzI2LDYgQEAKICNpbmNsdWRlICJSZXNvdXJjZUxvYWREZWxlZ2F0ZS5oIgogCiAj
aW5jbHVkZSAiQ29tbW9uLmgiCi0jaW5jbHVkZSAiUGFnZUxvYWRUZXN0Q2xpZW50LmgiCiAjaW5j
bHVkZSAiV2ViS2l0TGVnYWN5QnJvd3NlcldpbmRvdy5oIgogI2luY2x1ZGUgPFdlYkNvcmUvQ09N
UHRyLmg+CiAjaW5jbHVkZSA8V2ViS2l0TGVnYWN5L1dlYktpdENPTUFQSS5oPgpAQCAtNjYsMTkg
KzY1LDExIEBAIFVMT05HIFJlc291cmNlTG9hZERlbGVnYXRlOjpSZWxlYXNlKCkKIAogSFJFU1VM
VCBSZXNvdXJjZUxvYWREZWxlZ2F0ZTo6aWRlbnRpZmllckZvckluaXRpYWxSZXF1ZXN0KF9Jbl9v
cHRfIElXZWJWaWV3KiwgX0luX29wdF8gSVdlYlVSTFJlcXVlc3QqLCBfSW5fb3B0XyBJV2ViRGF0
YVNvdXJjZSosIHVuc2lnbmVkIGxvbmcgaWRlbnRpZmllcikKIHsKLSAgICBpZiAoIW1fY2xpZW50
KQotICAgICAgICByZXR1cm4gRV9GQUlMOwotCi0gICAgbV9jbGllbnQtPnBhZ2VMb2FkVGVzdENs
aWVudCgpLmRpZEluaXRpYXRlUmVzb3VyY2VMb2FkKGlkZW50aWZpZXIpOwotCi0gICAgcmV0dXJu
IFNfT0s7CisgICAgcmV0dXJuIEVfTk9USU1QTDsKIH0KIAogSFJFU1VMVCBSZXNvdXJjZUxvYWRE
ZWxlZ2F0ZTo6d2lsbFNlbmRSZXF1ZXN0KF9Jbl9vcHRfIElXZWJWaWV3KiwgdW5zaWduZWQgbG9u
ZywgX0luX29wdF8gSVdlYlVSTFJlcXVlc3QqLCBfSW5fb3B0XyBJV2ViVVJMUmVzcG9uc2UqLCBf
SW5fb3B0XyBJV2ViRGF0YVNvdXJjZSosIF9DT01fT3V0cHRyX29wdF8gSVdlYlVSTFJlcXVlc3Qq
KiByZXN1bHQpCiB7Ci0gICAgaWYgKCFyZXN1bHQpCi0gICAgICAgIHJldHVybiBFX1BPSU5URVI7
Ci0gICAgKnJlc3VsdCA9IG51bGxwdHI7CiAgICAgcmV0dXJuIEVfTk9USU1QTDsKIH0KIApAQCAt
MTI2LDIyICsxMTcsMTIgQEAgSFJFU1VMVCBSZXNvdXJjZUxvYWREZWxlZ2F0ZTo6ZGlkUmVjZWl2
ZUNvbnRlbnRMZW5ndGgoX0luX29wdF8gSVdlYlZpZXcqLCB1bnNpZ24KIAogSFJFU1VMVCBSZXNv
dXJjZUxvYWREZWxlZ2F0ZTo6ZGlkRmluaXNoTG9hZGluZ0Zyb21EYXRhU291cmNlKF9Jbl9vcHRf
IElXZWJWaWV3KiwgdW5zaWduZWQgbG9uZyBpZGVudGlmaWVyLCBfSW5fb3B0XyBJV2ViRGF0YVNv
dXJjZSopCiB7Ci0gICAgaWYgKCFtX2NsaWVudCkKLSAgICAgICAgcmV0dXJuIEVfRkFJTDsKLQot
ICAgIG1fY2xpZW50LT5wYWdlTG9hZFRlc3RDbGllbnQoKS5kaWRFbmRSZXNvdXJjZUxvYWQoaWRl
bnRpZmllcik7Ci0KLSAgICByZXR1cm4gU19PSzsKKyAgICByZXR1cm4gRV9OT1RJTVBMOwogfQog
CiBIUkVTVUxUIFJlc291cmNlTG9hZERlbGVnYXRlOjpkaWRGYWlsTG9hZGluZ1dpdGhFcnJvcihf
SW5fb3B0XyBJV2ViVmlldyosIHVuc2lnbmVkIGxvbmcgaWRlbnRpZmllciwgX0luX29wdF8gSVdl
YkVycm9yKiwgX0luX29wdF8gSVdlYkRhdGFTb3VyY2UqKQogewotICAgIGlmICghbV9jbGllbnQp
Ci0gICAgICAgIHJldHVybiBFX0ZBSUw7Ci0KLSAgICBtX2NsaWVudC0+cGFnZUxvYWRUZXN0Q2xp
ZW50KCkuZGlkRW5kUmVzb3VyY2VMb2FkKGlkZW50aWZpZXIpOwotCi0gICAgcmV0dXJuIFNfT0s7
CisgICAgcmV0dXJuIEVfTk9USU1QTDsKIH0KIAogSFJFU1VMVCBSZXNvdXJjZUxvYWREZWxlZ2F0
ZTo6cGx1Z0luRmFpbGVkV2l0aEVycm9yKF9Jbl9vcHRfIElXZWJWaWV3KiwgX0luX29wdF8gSVdl
YkVycm9yKiwgX0luX29wdF8gSVdlYkRhdGFTb3VyY2UqKQpkaWZmIC0tZ2l0IGEvVG9vbHMvTWlu
aUJyb3dzZXIvd2luL1dlYktpdEJyb3dzZXJXaW5kb3cuY3BwIGIvVG9vbHMvTWluaUJyb3dzZXIv
d2luL1dlYktpdEJyb3dzZXJXaW5kb3cuY3BwCmluZGV4IDAwNGIwYTlkMWFkYWM4ZTU4ZjIwMTAy
NWYzODQ3ZGE1NmFlZWQ5NjguLjdmMmIwM2IzNGEzZmJiNmZiYjY5OGIwNDI2NzRhYzU4OTgxNzgx
ZmUgMTAwNjQ0Ci0tLSBhL1Rvb2xzL01pbmlCcm93c2VyL3dpbi9XZWJLaXRCcm93c2VyV2luZG93
LmNwcAorKysgYi9Ub29scy9NaW5pQnJvd3Nlci93aW4vV2ViS2l0QnJvd3NlcldpbmRvdy5jcHAK
QEAgLTEwNCw3ICsxMDQsNyBAQCBXS1JldGFpblB0cjxXS1VSTFJlZj4gY3JlYXRlV0tVUkwoY29u
c3Qgc3RkOjp3c3RyaW5nJiBzdHIpCiAgICAgcmV0dXJuIGFkb3B0V0soV0tVUkxDcmVhdGVXaXRo
VVRGOENTdHJpbmcodXRmOC5kYXRhKCkpKTsKIH0KIAotUmVmPEJyb3dzZXJXaW5kb3c+IFdlYktp
dEJyb3dzZXJXaW5kb3c6OmNyZWF0ZShIV05EIG1haW5XbmQsIEhXTkQgdXJsQmFyV25kLCBib29s
LCBib29sKQorUmVmPEJyb3dzZXJXaW5kb3c+IFdlYktpdEJyb3dzZXJXaW5kb3c6OmNyZWF0ZShI
V05EIG1haW5XbmQsIEhXTkQgdXJsQmFyV25kLCBib29sKQogewogICAgIGF1dG8gY29uZiA9IGFk
b3B0V0soV0tQYWdlQ29uZmlndXJhdGlvbkNyZWF0ZSgpKTsKIApAQCAtMzU0LDcgKzM1NCw3IEBA
IGJvb2wgV2ViS2l0QnJvd3NlcldpbmRvdzo6Y2FuVHJ1c3RTZXJ2ZXJDZXJ0aWZpY2F0ZShXS1By
b3RlY3Rpb25TcGFjZVJlZiBwcm90ZWN0CiBXS1BhZ2VSZWYgV2ViS2l0QnJvd3NlcldpbmRvdzo6
Y3JlYXRlTmV3UGFnZShXS1BhZ2VSZWYgcGFnZSwgV0tQYWdlQ29uZmlndXJhdGlvblJlZiBjb25m
aWd1cmF0aW9uLCBXS05hdmlnYXRpb25BY3Rpb25SZWYgbmF2aWdhdGlvbkFjdGlvbiwgV0tXaW5k
b3dGZWF0dXJlc1JlZiB3aW5kb3dGZWF0dXJlcywgY29uc3Qgdm9pZCAqY2xpZW50SW5mbykKIHsK
ICAgICBhdXRvJiBuZXdXaW5kb3cgPSBNYWluV2luZG93OjpjcmVhdGUoKS5sZWFrUmVmKCk7Ci0g
ICAgYXV0byBmYWN0b3J5ID0gW2NvbmZpZ3VyYXRpb25dKEhXTkQgbWFpblduZCwgSFdORCB1cmxC
YXJXbmQsIGJvb2wsIGJvb2wpIC0+IGF1dG8geworICAgIGF1dG8gZmFjdG9yeSA9IFtjb25maWd1
cmF0aW9uXShIV05EIG1haW5XbmQsIEhXTkQgdXJsQmFyV25kLCBib29sKSAtPiBhdXRvIHsKICAg
ICAgICAgcmV0dXJuIGFkb3B0UmVmKCpuZXcgV2ViS2l0QnJvd3NlcldpbmRvdyhjb25maWd1cmF0
aW9uLCBtYWluV25kLCB1cmxCYXJXbmQpKTsKICAgICB9OwogICAgIGJvb2wgb2sgPSBuZXdXaW5k
b3cuaW5pdChmYWN0b3J5LCBoSW5zdCk7CmRpZmYgLS1naXQgYS9Ub29scy9NaW5pQnJvd3Nlci93
aW4vV2ViS2l0QnJvd3NlcldpbmRvdy5oIGIvVG9vbHMvTWluaUJyb3dzZXIvd2luL1dlYktpdEJy
b3dzZXJXaW5kb3cuaAppbmRleCA4NzY4MjdiY2ZjNjkwOGRiODVhMmY1NjY2MjM3NTNmMDJjMzY3
Y2NkLi4wMmY2OGQzYTY4MjRkYzkyMmRhMTZkNDJkMDU0YTljMDU5NWQ2ZTBlIDEwMDY0NAotLS0g
YS9Ub29scy9NaW5pQnJvd3Nlci93aW4vV2ViS2l0QnJvd3NlcldpbmRvdy5oCisrKyBiL1Rvb2xz
L01pbmlCcm93c2VyL3dpbi9XZWJLaXRCcm93c2VyV2luZG93LmgKQEAgLTI5LDEwICsyOSwxMSBA
QAogI2luY2x1ZGUgPFdlYktpdC9XS1JldGFpblB0ci5oPgogI2luY2x1ZGUgPFdlYktpdC9XZWJL
aXQyX0MuaD4KICNpbmNsdWRlIDx1bm9yZGVyZWRfbWFwPgorI2luY2x1ZGUgPHd0Zi9SZWYuaD4K
IAogY2xhc3MgV2ViS2l0QnJvd3NlcldpbmRvdyA6IHB1YmxpYyBCcm93c2VyV2luZG93IHsKIHB1
YmxpYzoKLSAgICBzdGF0aWMgUmVmPEJyb3dzZXJXaW5kb3c+IGNyZWF0ZShIV05EIG1haW5XbmQs
IEhXTkQgdXJsQmFyV25kLCBib29sIHVzZUxheWVyZWRXZWJWaWV3ID0gZmFsc2UsIGJvb2wgcGFn
ZUxvYWRUZXN0aW5nID0gZmFsc2UpOworICAgIHN0YXRpYyBSZWY8QnJvd3NlcldpbmRvdz4gY3Jl
YXRlKEhXTkQgbWFpblduZCwgSFdORCB1cmxCYXJXbmQsIGJvb2wgdXNlTGF5ZXJlZFdlYlZpZXcg
PSBmYWxzZSk7CiAKIHByaXZhdGU6CiAgICAgV2ViS2l0QnJvd3NlcldpbmRvdyhXS1BhZ2VDb25m
aWd1cmF0aW9uUmVmLCBIV05EIG1haW5XbmQsIEhXTkQgdXJsQmFyV25kKTsKZGlmZiAtLWdpdCBh
L1Rvb2xzL01pbmlCcm93c2VyL3dpbi9XZWJLaXRMZWdhY3lCcm93c2VyV2luZG93LmNwcCBiL1Rv
b2xzL01pbmlCcm93c2VyL3dpbi9XZWJLaXRMZWdhY3lCcm93c2VyV2luZG93LmNwcAppbmRleCBk
YjcyZDk1YjY3NGVjMTE1NzZiY2U1YzJmNzM4NWViNTZlODJlZWVkLi41MTZhNzg1ZWE5MTFkMTk3
YzcxZDlhZmYwOWQ2ZWZhOGFlNDYxZDdjIDEwMDY0NAotLS0gYS9Ub29scy9NaW5pQnJvd3Nlci93
aW4vV2ViS2l0TGVnYWN5QnJvd3NlcldpbmRvdy5jcHAKKysrIGIvVG9vbHMvTWluaUJyb3dzZXIv
d2luL1dlYktpdExlZ2FjeUJyb3dzZXJXaW5kb3cuY3BwCkBAIC01OSwxNiArNTksMTUgQEAgc3Rh
dGljIGNvbnN0IGludCBtYXhIaXN0b3J5U2l6ZSA9IDEwOwogCiB0eXBlZGVmIF9jb21fcHRyX3Q8
X2NvbV9JSUlEPElXZWJNdXRhYmxlVVJMUmVxdWVzdCwgJl9fdXVpZG9mKElXZWJNdXRhYmxlVVJM
UmVxdWVzdCk+PiBJV2ViTXV0YWJsZVVSTFJlcXVlc3RQdHI7CiAKLVJlZjxCcm93c2VyV2luZG93
PiBXZWJLaXRMZWdhY3lCcm93c2VyV2luZG93OjpjcmVhdGUoSFdORCBtYWluV25kLCBIV05EIHVy
bEJhclduZCwgYm9vbCB1c2VMYXllcmVkV2ViVmlldywgYm9vbCBwYWdlTG9hZFRlc3RpbmcpCitS
ZWY8QnJvd3NlcldpbmRvdz4gV2ViS2l0TGVnYWN5QnJvd3NlcldpbmRvdzo6Y3JlYXRlKEhXTkQg
bWFpblduZCwgSFdORCB1cmxCYXJXbmQsIGJvb2wgdXNlTGF5ZXJlZFdlYlZpZXcpCiB7Ci0gICAg
cmV0dXJuIGFkb3B0UmVmKCpuZXcgV2ViS2l0TGVnYWN5QnJvd3NlcldpbmRvdyhtYWluV25kLCB1
cmxCYXJXbmQsIHVzZUxheWVyZWRXZWJWaWV3LCBwYWdlTG9hZFRlc3RpbmcpKTsKKyAgICByZXR1
cm4gYWRvcHRSZWYoKm5ldyBXZWJLaXRMZWdhY3lCcm93c2VyV2luZG93KG1haW5XbmQsIHVybEJh
clduZCwgdXNlTGF5ZXJlZFdlYlZpZXcpKTsKIH0KIAotV2ViS2l0TGVnYWN5QnJvd3NlcldpbmRv
dzo6V2ViS2l0TGVnYWN5QnJvd3NlcldpbmRvdyhIV05EIG1haW5XbmQsIEhXTkQgdXJsQmFyV25k
LCBib29sIHVzZUxheWVyZWRXZWJWaWV3LCBib29sIHBhZ2VMb2FkVGVzdGluZykKK1dlYktpdExl
Z2FjeUJyb3dzZXJXaW5kb3c6OldlYktpdExlZ2FjeUJyb3dzZXJXaW5kb3coSFdORCBtYWluV25k
LCBIV05EIHVybEJhclduZCwgYm9vbCB1c2VMYXllcmVkV2ViVmlldykKICAgICA6IG1faE1haW5X
bmQobWFpblduZCkKICAgICAsIG1faFVSTEJhclduZCh1cmxCYXJXbmQpCiAgICAgLCBtX3VzZUxh
eWVyZWRXZWJWaWV3KHVzZUxheWVyZWRXZWJWaWV3KQotICAgICwgbV9wYWdlTG9hZFRlc3RDbGll
bnQoc3RkOjptYWtlX3VuaXF1ZTxQYWdlTG9hZFRlc3RDbGllbnQ+KHRoaXMsIHBhZ2VMb2FkVGVz
dGluZykpCiB7CiB9CiAKQEAgLTUwOCwxMSArNTA3LDYgQEAgSFJFU1VMVCBXZWJLaXRMZWdhY3lC
cm93c2VyV2luZG93Ojpsb2FkVVJMKGNvbnN0IEJTVFImIHBhc3NlZFVSTCkKICAgICByZXR1cm4g
aHI7CiB9CiAKLXZvaWQgV2ViS2l0TGVnYWN5QnJvd3NlcldpbmRvdzo6ZXhpdFByb2dyYW0oKQot
ewotICAgIDo6UG9zdE1lc3NhZ2UobV9oTWFpblduZCwgc3RhdGljX2Nhc3Q8VUlOVD4oV01fQ09N
TUFORCksIE1BS0VMUEFSQU0oSURNX0VYSVQsIDApLCAwKTsKLX0KLQogdm9pZCBXZWJLaXRMZWdh
Y3lCcm93c2VyV2luZG93OjpzZXRVc2VyQWdlbnQoX2JzdHJfdCYgY3VzdG9tVXNlckFnZW50KQog
ewogICAgIGlmICghd2ViVmlldygpKQpkaWZmIC0tZ2l0IGEvVG9vbHMvTWluaUJyb3dzZXIvd2lu
L1dlYktpdExlZ2FjeUJyb3dzZXJXaW5kb3cuaCBiL1Rvb2xzL01pbmlCcm93c2VyL3dpbi9XZWJL
aXRMZWdhY3lCcm93c2VyV2luZG93LmgKaW5kZXggZjUxOTViZDMyNjZmNDIyNjA2MjIxNDA2OGFi
NGM4ZmIyMGJjYmJmYS4uZmNiZjY3NTZhN2E0YjExYzE2YjlhYTRmNWE0NzRiNWVkNTJhODgxOSAx
MDA2NDQKLS0tIGEvVG9vbHMvTWluaUJyb3dzZXIvd2luL1dlYktpdExlZ2FjeUJyb3dzZXJXaW5k
b3cuaAorKysgYi9Ub29scy9NaW5pQnJvd3Nlci93aW4vV2ViS2l0TGVnYWN5QnJvd3NlcldpbmRv
dy5oCkBAIC0yNSwxMSArMjUsMTEgQEAKIAogI3ByYWdtYSBvbmNlCiAjaW5jbHVkZSAiQnJvd3Nl
cldpbmRvdy5oIgotI2luY2x1ZGUgIlBhZ2VMb2FkVGVzdENsaWVudC5oIgogI2luY2x1ZGUgPFdl
YktpdExlZ2FjeS9XZWJLaXQuaD4KICNpbmNsdWRlIDxjb21pcC5oPgogI2luY2x1ZGUgPG1lbW9y
eT4KICNpbmNsdWRlIDx2ZWN0b3I+CisjaW5jbHVkZSA8d3RmL1JlZi5oPgogCiB0eXBlZGVmIF9j
b21fcHRyX3Q8X2NvbV9JSUlEPElXZWJGcmFtZSwgJl9fdXVpZG9mKElXZWJGcmFtZSk+PiBJV2Vi
RnJhbWVQdHI7CiB0eXBlZGVmIF9jb21fcHRyX3Q8X2NvbV9JSUlEPElXZWJWaWV3LCAmX191dWlk
b2YoSVdlYlZpZXcpPj4gSVdlYlZpZXdQdHI7CkBAIC01MCw3ICs1MCw3IEBAIHR5cGVkZWYgX2Nv
bV9wdHJfdDxfY29tX0lJSUQ8SVdlYkZyYW1lUHJpdmF0ZSwgJl9fdXVpZG9mKElXZWJGcmFtZVBy
aXZhdGUpPj4gSVdlCiAKIGNsYXNzIFdlYktpdExlZ2FjeUJyb3dzZXJXaW5kb3cgOiBwdWJsaWMg
QnJvd3NlcldpbmRvdyB7CiBwdWJsaWM6Ci0gICAgc3RhdGljIFJlZjxCcm93c2VyV2luZG93PiBj
cmVhdGUoSFdORCBtYWluV25kLCBIV05EIHVybEJhclduZCwgYm9vbCB1c2VMYXllcmVkV2ViVmll
dyA9IGZhbHNlLCBib29sIHBhZ2VMb2FkVGVzdGluZyA9IGZhbHNlKTsKKyAgICBzdGF0aWMgUmVm
PEJyb3dzZXJXaW5kb3c+IGNyZWF0ZShIV05EIG1haW5XbmQsIEhXTkQgdXJsQmFyV25kLCBib29s
IHVzZUxheWVyZWRXZWJWaWV3ID0gZmFsc2UpOwogCiBwcml2YXRlOgogICAgIGZyaWVuZCBjbGFz
cyBBY2Nlc3NpYmlsaXR5RGVsZWdhdGU7CkBAIC01OCw3ICs1OCw2IEBAIHByaXZhdGU6CiAgICAg
ZnJpZW5kIGNsYXNzIFByaW50V2ViVUlEZWxlZ2F0ZTsKICAgICBmcmllbmQgY2xhc3MgV2ViRG93
bmxvYWREZWxlZ2F0ZTsKICAgICBmcmllbmQgY2xhc3MgUmVzb3VyY2VMb2FkRGVsZWdhdGU7Ci0g
ICAgZnJpZW5kIGNsYXNzIFBhZ2VMb2FkVGVzdENsaWVudDsKIAogICAgIFVMT05HIEFkZFJlZigp
OwogICAgIFVMT05HIFJlbGVhc2UoKTsKQEAgLTczLDcgKzcyLDYgQEAgcHJpdmF0ZToKICAgICB2
b2lkIG9wZW5Qcm94eVNldHRpbmdzKCk7CiAgICAgdm9pZCBuYXZpZ2F0ZUZvcndhcmRPckJhY2t3
YXJkKFVJTlQgbWVudUlEKTsKICAgICB2b2lkIG5hdmlnYXRlVG9IaXN0b3J5KFVJTlQgbWVudUlE
KTsKLSAgICB2b2lkIGV4aXRQcm9ncmFtKCk7CiAgICAgYm9vbCBzZWVkSW5pdGlhbERlZmF1bHRQ
cmVmZXJlbmNlcygpOwogICAgIGJvb2wgc2V0VG9EZWZhdWx0UHJlZmVyZW5jZXMoKTsKIApAQCAt
OTksOCArOTcsNiBAQCBwcml2YXRlOgogICAgIHZvaWQgc2V0VXNlckFnZW50KF9ic3RyX3QmIGN1
c3RvbVVBU3RyaW5nKTsKICAgICBfYnN0cl90IHVzZXJBZ2VudCgpOwogCi0gICAgUGFnZUxvYWRU
ZXN0Q2xpZW50JiBwYWdlTG9hZFRlc3RDbGllbnQoKSB7IHJldHVybiAqbV9wYWdlTG9hZFRlc3RD
bGllbnQ7IH0KLQogICAgIHZvaWQgcmVzZXRab29tKCk7CiAgICAgdm9pZCB6b29tSW4oKTsKICAg
ICB2b2lkIHpvb21PdXQoKTsKQEAgLTExMyw3ICsxMDksNyBAQCBwcml2YXRlOgogICAgIHZvaWQg
dXBkYXRlU3RhdGlzdGljcyhIV05EIGRpYWxvZyk7CiAgICAgdm9pZCBzZXRQcmVmZXJlbmNlKFVJ
TlQgbWVudUlELCBib29sIGVuYWJsZSk7CiAKLSAgICBXZWJLaXRMZWdhY3lCcm93c2VyV2luZG93
KEhXTkQgbWFpblduZCwgSFdORCB1cmxCYXJXbmQsIGJvb2wgdXNlTGF5ZXJlZFdlYlZpZXcsIGJv
b2wgcGFnZUxvYWRUZXN0aW5nKTsKKyAgICBXZWJLaXRMZWdhY3lCcm93c2VyV2luZG93KEhXTkQg
bWFpblduZCwgSFdORCB1cmxCYXJXbmQsIGJvb2wgdXNlTGF5ZXJlZFdlYlZpZXcpOwogICAgIHZv
aWQgc3ViY2xhc3NGb3JMYXllcmVkV2luZG93KCk7CiAgICAgYm9vbCBzZXRDYWNoZUZvbGRlcigp
OwogCkBAIC0xNDEsNiArMTM3LDQgQEAgcHJpdmF0ZToKICAgICBIV05EIG1fdmlld1duZCB7IG51
bGxwdHIgfTsKIAogICAgIGJvb2wgbV91c2VMYXllcmVkV2ViVmlldzsKLQotICAgIHN0ZDo6dW5p
cXVlX3B0cjxQYWdlTG9hZFRlc3RDbGllbnQ+IG1fcGFnZUxvYWRUZXN0Q2xpZW50OwogfTsKZGlm
ZiAtLWdpdCBhL1Rvb2xzL01pbmlCcm93c2VyL3dpbi9XaW5NYWluLmNwcCBiL1Rvb2xzL01pbmlC
cm93c2VyL3dpbi9XaW5NYWluLmNwcAppbmRleCAzZTc4ODI4MzUwM2FhZTk4YmRjYmNmZDM1ZmQ2
Yjk5YzM2NzBiM2ZkLi44ODI1YWM0ZGFhZGY2YjAxZmQzYzBhZjEyMDdiMDMxOTcxZmU0OTEwIDEw
MDY0NAotLS0gYS9Ub29scy9NaW5pQnJvd3Nlci93aW4vV2luTWFpbi5jcHAKKysrIGIvVG9vbHMv
TWluaUJyb3dzZXIvd2luL1dpbk1haW4uY3BwCkBAIC03MSw3ICs3MSw3IEBAIGludCBXSU5BUEkg
d1dpbk1haW4oX0luXyBISU5TVEFOQ0UgaEluc3RhbmNlLCBfSW5fb3B0XyBISU5TVEFOQ0UgaFBy
ZXZJbnN0YW5jZSwKICAgICAgICAgZmFjdG9yeSA9IFdlYktpdEJyb3dzZXJXaW5kb3c6OmNyZWF0
ZTsKICNlbmRpZgogICAgIGF1dG8mIG1haW5XaW5kb3cgPSBNYWluV2luZG93OjpjcmVhdGUoKS5s
ZWFrUmVmKCk7Ci0gICAgSFJFU1VMVCBociA9IG1haW5XaW5kb3cuaW5pdChmYWN0b3J5LCBoSW5z
dCwgb3B0aW9ucy51c2VzTGF5ZXJlZFdlYlZpZXcsIG9wdGlvbnMucGFnZUxvYWRUZXN0aW5nKTsK
KyAgICBIUkVTVUxUIGhyID0gbWFpbldpbmRvdy5pbml0KGZhY3RvcnksIGhJbnN0LCBvcHRpb25z
LnVzZXNMYXllcmVkV2ViVmlldyk7CiAgICAgaWYgKEZBSUxFRChocikpCiAgICAgICAgIGdvdG8g
ZXhpdDsKIAo=
</data>

          </attachment>
      

    </bug>

</bugzilla>