<?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>233908</bug_id>
          
          <creation_ts>2021-12-06 19:24:57 -0800</creation_ts>
          <short_desc>Add SPI to load a resource in the context of a page</short_desc>
          <delta_ts>2021-12-08 16:23:10 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>New Bugs</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <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>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Alex Christensen">achristensen</reporter>
          <assigned_to name="Alex Christensen">achristensen</assigned_to>
          <cc>thorton</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1820861</commentid>
    <comment_count>0</comment_count>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2021-12-06 19:24:57 -0800</bug_when>
    <thetext>Add SPI to load a resource in the context of a page</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1820864</commentid>
    <comment_count>1</comment_count>
      <attachid>446111</attachid>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2021-12-06 19:27:44 -0800</bug_when>
    <thetext>Created attachment 446111
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1821620</commentid>
    <comment_count>2</comment_count>
      <attachid>446384</attachid>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2021-12-08 10:36:16 -0800</bug_when>
    <thetext>Created attachment 446384
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1821625</commentid>
    <comment_count>3</comment_count>
      <attachid>446384</attachid>
    <who name="Tim Horton">thorton</who>
    <bug_when>2021-12-08 10:45:21 -0800</bug_when>
    <thetext>Comment on attachment 446384
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=446384&amp;action=review

&gt; Source/WebKit/NetworkProcess/NetworkSession.h:197
&gt; +    virtual void requestResource(WebPageProxyIdentifier, WebCore::ResourceRequest&amp;&amp;, CompletionHandler&lt;void(const IPC::DataReference&amp;, WebCore::ResourceResponse&amp;&amp;, WebCore::ResourceError&amp;&amp;)&gt;&amp;&amp;) { }

Seems like odd paragraphing :)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1821843</commentid>
    <comment_count>4</comment_count>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2021-12-08 16:20:11 -0800</bug_when>
    <thetext>http://trac.webkit.org/r286751</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1821846</commentid>
    <comment_count>5</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2021-12-08 16:23:10 -0800</bug_when>
    <thetext>&lt;rdar://problem/86239649&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>446111</attachid>
            <date>2021-12-06 19:27:44 -0800</date>
            <delta_ts>2021-12-08 10:36:14 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-233908-20211206192743.patch</filename>
            <type>text/plain</type>
            <size>18766</size>
            <attacher name="Alex Christensen">achristensen</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg2NTc5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IGZmOTZmZmMwZmM1NGU0Y2Fk
MmMwYTlkZGI2NjlhY2IyMjY3ZWYxZDguLjI5MmUyZDc4NjQzZDNiMmUzOGMxY2NjZDFiNTdmM2Ey
ZWZkMjg2ZWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzQgQEAKKzIwMjEtMTItMDYgIEFsZXggQ2hy
aXN0ZW5zZW4gIDxhY2hyaXN0ZW5zZW5Ad2Via2l0Lm9yZz4KKworICAgICAgICBBZGQgU1BJIHRv
IGxvYWQgYSByZXNvdXJjZSBpbiB0aGUgY29udGV4dCBvZiBhIHBhZ2UKKyAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIzMzkwOAorCisgICAgICAgIFJldmll
d2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFRoaXMgaXMgc2ltaWxhciB0byBzdGFy
dERvd25sb2FkVXNpbmdSZXF1ZXN0IGJ1dCB5b3UgZG9uJ3QgaGF2ZSB0byBnZXQgdGhlIGRhdGEg
ZnJvbSB0aGUgZGlzay4KKyAgICAgICAgVGhpcyBpcyBzaW1pbGFyIHRvIE5TVVJMU2Vzc2lvbidz
IGRhdGFUYXNrV2l0aFJlcXVlc3Q6Y29tcGxldGlvbkhhbmRsZXI6IGJ1dCB1c2luZyB0aGUgc2Ft
ZSBzZXNzaW9uIGFzIHRoZSBwYWdlLgorICAgICAgICBUaGlzIGlzIG5lZWRlZCBiZWNhdXNlIExp
bmtQcmVzZW50YXRpb24gaXMgY3VycmVudGx5IHVzaW5nIF9nZXRNYWluUmVzb3VyY2VEYXRhV2l0
aENvbXBsZXRpb25IYW5kbGVyIGFmdGVyIGxvYWRpbmcKKyAgICAgICAgaW4gYSBXS1dlYlZpZXcg
bWFkZSB3aXRoIF9yZWxhdGVkV2ViVmlldyB0byBnZXQgdGhlIGNvbnRlbnQgb2YgYSByZXNvdXJj
ZSwgYW5kIHRoYXQncyBhd2Z1bCBhbmQgbGltaXRlZCB0byBjZXJ0YWluIG1pbWUgdHlwZXMuCisK
KyAgICAgICAgKiBOZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUHJvY2Vzcy5jcHA6CisgICAgICAgIChX
ZWJLaXQ6Ok5ldHdvcmtQcm9jZXNzOjpyZXF1ZXN0UmVzb3VyY2UpOgorICAgICAgICAqIE5ldHdv
cmtQcm9jZXNzL05ldHdvcmtQcm9jZXNzLmg6CisgICAgICAgICogTmV0d29ya1Byb2Nlc3MvTmV0
d29ya1Byb2Nlc3MubWVzc2FnZXMuaW46CisgICAgICAgICogTmV0d29ya1Byb2Nlc3MvTmV0d29y
a1Nlc3Npb24uaDoKKyAgICAgICAgKFdlYktpdDo6TmV0d29ya1Nlc3Npb246OnJlcXVlc3RSZXNv
dXJjZSk6CisgICAgICAgICogTmV0d29ya1Byb2Nlc3MvY29jb2EvTmV0d29ya1Nlc3Npb25Db2Nv
YS5oOgorICAgICAgICAqIE5ldHdvcmtQcm9jZXNzL2NvY29hL05ldHdvcmtTZXNzaW9uQ29jb2Eu
bW06CisgICAgICAgIChXZWJLaXQ6Ok5ldHdvcmtTZXNzaW9uQ29jb2E6OnJlcXVlc3RSZXNvdXJj
ZSk6CisgICAgICAgICogVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZpZXcubW06CisgICAgICAg
ICgtW1dLV2ViVmlldyBfcmVxdWVzdFJlc291cmNlOmNvbXBsZXRpb25IYW5kbGVyOl0pOgorICAg
ICAgICAqIFVJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJWaWV3UHJpdmF0ZS5oOgorICAgICAgICAq
IFVJUHJvY2Vzcy9OZXR3b3JrL05ldHdvcmtQcm9jZXNzUHJveHkuY3BwOgorICAgICAgICAoV2Vi
S2l0OjpOZXR3b3JrUHJvY2Vzc1Byb3h5OjpyZXF1ZXN0UmVzb3VyY2UpOgorICAgICAgICAqIFVJ
UHJvY2Vzcy9OZXR3b3JrL05ldHdvcmtQcm9jZXNzUHJveHkuaDoKKyAgICAgICAgKiBVSVByb2Nl
c3MvV2ViUGFnZVByb3h5LmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViUGFnZVByb3h5OjpyZXF1
ZXN0UmVzb3VyY2UpOgorICAgICAgICAqIFVJUHJvY2Vzcy9XZWJQYWdlUHJveHkuaDoKKwogMjAy
MS0xMi0wNiAgQnJhZHkgRWlkc29uICA8YmVpZHNvbkBhcHBsZS5jb20+CiAKICAgICAgICAgd2Vi
cHVzaGQvd2VicHVzaHRvb2wgZGVidWdnaW5nIGFkZGl0aW9ucwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUHJvY2Vzcy5jcHAgYi9Tb3VyY2UvV2ViS2l0
L05ldHdvcmtQcm9jZXNzL05ldHdvcmtQcm9jZXNzLmNwcAppbmRleCA5NzhjZjU2YWNmZGRiZjRh
ZmMyNzhjNTJjNDM3YTM0YzhkNTc1NTE4Li43MjE4NjllNTczMDI1NWNiZjNhNTg4MDc5MDMyNjU4
ZTNiM2U5OTFkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL05ldHdv
cmtQcm9jZXNzLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL05ldHdvcmtQ
cm9jZXNzLmNwcApAQCAtMjE0NCw2ICsyMTQ0LDE0IEBAIHZvaWQgTmV0d29ya1Byb2Nlc3M6OmZp
bmRQZW5kaW5nRG93bmxvYWRMb2NhdGlvbihOZXR3b3JrRGF0YVRhc2smIG5ldHdvcmtEYXRhVGFz
CiAgICAgfSwgZGVzdGluYXRpb25JRCk7CiB9CiAKK3ZvaWQgTmV0d29ya1Byb2Nlc3M6OnJlcXVl
c3RSZXNvdXJjZShXZWJQYWdlUHJveHlJZGVudGlmaWVyIHBhZ2VJRCwgUEFMOjpTZXNzaW9uSUQg
c2Vzc2lvbklELCBXZWJDb3JlOjpSZXNvdXJjZVJlcXVlc3QmJiByZXF1ZXN0LCBDb21wbGV0aW9u
SGFuZGxlcjx2b2lkKElQQzo6RGF0YVJlZmVyZW5jZSwgV2ViQ29yZTo6UmVzb3VyY2VSZXNwb25z
ZSwgV2ViQ29yZTo6UmVzb3VyY2VFcnJvcik+JiYgY29tcGxldGlvbkhhbmRsZXIpCit7CisgICAg
aWYgKGF1dG8qIG5ldHdvcmtTZXNzaW9uID0gbV9uZXR3b3JrU2Vzc2lvbnMuZ2V0KHNlc3Npb25J
RCkpCisgICAgICAgIG5ldHdvcmtTZXNzaW9uLT5yZXF1ZXN0UmVzb3VyY2UocGFnZUlELCBXVEZN
b3ZlKHJlcXVlc3QpLCBXVEZNb3ZlKGNvbXBsZXRpb25IYW5kbGVyKSk7CisgICAgZWxzZQorICAg
ICAgICBjb21wbGV0aW9uSGFuZGxlcih7IH0sIHsgfSwgeyB9KTsKK30KKwogdm9pZCBOZXR3b3Jr
UHJvY2Vzczo6c2V0Q2FjaGVNb2RlbFN5bmNocm9ub3VzbHlGb3JUZXN0aW5nKENhY2hlTW9kZWwg
Y2FjaGVNb2RlbCwgQ29tcGxldGlvbkhhbmRsZXI8dm9pZCgpPiYmIGNvbXBsZXRpb25IYW5kbGVy
KQogewogICAgIHNldENhY2hlTW9kZWwoY2FjaGVNb2RlbCk7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0L05ldHdvcmtQcm9jZXNzL05ldHdvcmtQcm9jZXNzLmggYi9Tb3VyY2UvV2ViS2l0L05l
dHdvcmtQcm9jZXNzL05ldHdvcmtQcm9jZXNzLmgKaW5kZXggOWQzMmQ1Nzk3M2EwZWJhYzFkMDcx
NzVjNmRmODc5ZDQ2NmNlNjhhOC4uMzlhNjk5YTcxMzQ3ODMyZGUyM2ZjYmU2MzllMGQ1NTdiM2Q5
MzE5ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUHJv
Y2Vzcy5oCisrKyBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Byb2Nlc3Mu
aApAQCAtNDU1LDYgKzQ1NSw3IEBAIHByaXZhdGU6CiAgICAgdm9pZCBwdWJsaXNoRG93bmxvYWRQ
cm9ncmVzcyhEb3dubG9hZElELCBjb25zdCBVUkwmLCBTYW5kYm94RXh0ZW5zaW9uOjpIYW5kbGUm
Jik7CiAjZW5kaWYKICAgICB2b2lkIGNvbnRpbnVlV2lsbFNlbmRSZXF1ZXN0KERvd25sb2FkSUQs
IFdlYkNvcmU6OlJlc291cmNlUmVxdWVzdCYmKTsKKyAgICB2b2lkIHJlcXVlc3RSZXNvdXJjZShX
ZWJQYWdlUHJveHlJZGVudGlmaWVyLCBQQUw6OlNlc3Npb25JRCwgV2ViQ29yZTo6UmVzb3VyY2VS
ZXF1ZXN0JiYsIENvbXBsZXRpb25IYW5kbGVyPHZvaWQoSVBDOjpEYXRhUmVmZXJlbmNlLCBXZWJD
b3JlOjpSZXNvdXJjZVJlc3BvbnNlLCBXZWJDb3JlOjpSZXNvdXJjZUVycm9yKT4mJik7CiAgICAg
dm9pZCBhcHBsaWNhdGlvbkRpZEVudGVyQmFja2dyb3VuZCgpOwogICAgIHZvaWQgYXBwbGljYXRp
b25XaWxsRW50ZXJGb3JlZ3JvdW5kKCk7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvTmV0
d29ya1Byb2Nlc3MvTmV0d29ya1Byb2Nlc3MubWVzc2FnZXMuaW4gYi9Tb3VyY2UvV2ViS2l0L05l
dHdvcmtQcm9jZXNzL05ldHdvcmtQcm9jZXNzLm1lc3NhZ2VzLmluCmluZGV4IDMyYWIzODQwYjY2
YTdjNzhkNTNhMzU0NTkxMjBkZGRiMmNmNGU5YmMuLjZhMWRjZDQwZDhjZWQ0NjNhN2VlZWM5YjZj
N2IwN2Y4ZTczNzZhYjUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3Mv
TmV0d29ya1Byb2Nlc3MubWVzc2FnZXMuaW4KKysrIGIvU291cmNlL1dlYktpdC9OZXR3b3JrUHJv
Y2Vzcy9OZXR3b3JrUHJvY2Vzcy5tZXNzYWdlcy5pbgpAQCAtNTMsNiArNTMsNyBAQCBtZXNzYWdl
cyAtPiBOZXR3b3JrUHJvY2VzcyBMZWdhY3lSZWNlaXZlciB7CiAjaWYgUExBVEZPUk0oQ09DT0Ep
CiAgICAgUHVibGlzaERvd25sb2FkUHJvZ3Jlc3MoV2ViS2l0OjpEb3dubG9hZElEIGRvd25sb2Fk
SUQsIFVSTCB1cmwsIFdlYktpdDo6U2FuZGJveEV4dGVuc2lvbjo6SGFuZGxlIHNhbmRib3hFeHRl
bnNpb25IYW5kbGUpCiAjZW5kaWYKKyAgICBSZXF1ZXN0UmVzb3VyY2UoV2ViS2l0OjpXZWJQYWdl
UHJveHlJZGVudGlmaWVyIHBhZ2VJRCwgUEFMOjpTZXNzaW9uSUQgc2Vzc2lvbklELCBXZWJDb3Jl
OjpSZXNvdXJjZVJlcXVlc3QgcmVxdWVzdCkgLT4gKElQQzo6RGF0YVJlZmVyZW5jZSBkYXRhLCBX
ZWJDb3JlOjpSZXNvdXJjZVJlc3BvbnNlIHJlc3BvbnNlLCBXZWJDb3JlOjpSZXNvdXJjZUVycm9y
IGVycm9yKSBBc3luYwogICAgIEFwcGxpY2F0aW9uRGlkRW50ZXJCYWNrZ3JvdW5kKCkKICAgICBB
cHBsaWNhdGlvbldpbGxFbnRlckZvcmVncm91bmQoKQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0L05ldHdvcmtQcm9jZXNzL05ldHdvcmtTZXNzaW9uLmggYi9Tb3VyY2UvV2ViS2l0L05ldHdv
cmtQcm9jZXNzL05ldHdvcmtTZXNzaW9uLmgKaW5kZXggZGE2MjAxMzkzZTE1MDY3YzZhNTI2ZDgx
YzhiYTAxZTE1MTY3YTIwOC4uZjg1MTFmZjE1OGJjNTVmOTdhZGJlMjA1ZDc4MWFiMmM2NjQwMGVm
MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrU2Vzc2lv
bi5oCisrKyBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Nlc3Npb24uaApA
QCAtMjYsNiArMjYsNyBAQAogI3ByYWdtYSBvbmNlCiAKICNpbmNsdWRlICJBcHBQcml2YWN5UmVw
b3J0LmgiCisjaW5jbHVkZSAiRGF0YVJlZmVyZW5jZS5oIgogI2luY2x1ZGUgIk5hdmlnYXRpbmdU
b0FwcEJvdW5kRG9tYWluLmgiCiAjaW5jbHVkZSAiTmV0d29ya05vdGlmaWNhdGlvbk1hbmFnZXIu
aCIKICNpbmNsdWRlICJOZXR3b3JrUmVzb3VyY2VMb2FkSWRlbnRpZmllci5oIgpAQCAtMTkzLDYg
KzE5NCw3IEBAIHB1YmxpYzoKIAogICAgIHZpcnR1YWwgdm9pZCByZW1vdmVOZXR3b3JrV2Vic2l0
ZURhdGEoc3RkOjpvcHRpb25hbDxXYWxsVGltZT4sIHN0ZDo6b3B0aW9uYWw8SGFzaFNldDxXZWJD
b3JlOjpSZWdpc3RyYWJsZURvbWFpbj4+JiYsIENvbXBsZXRpb25IYW5kbGVyPHZvaWQoKT4mJiBj
b21wbGV0aW9uSGFuZGxlcikgeyBjb21wbGV0aW9uSGFuZGxlcigpOyB9CiAKKyAgICB2aXJ0dWFs
IHZvaWQgcmVxdWVzdFJlc291cmNlKFdlYlBhZ2VQcm94eUlkZW50aWZpZXIsIFdlYkNvcmU6OlJl
c291cmNlUmVxdWVzdCYmLCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKGNvbnN0IElQQzo6RGF0YVJl
ZmVyZW5jZSYsIFdlYkNvcmU6OlJlc291cmNlUmVzcG9uc2UmJiwgV2ViQ29yZTo6UmVzb3VyY2VF
cnJvciYmKT4mJikgeyB9CiAgICAgdmlydHVhbCB2b2lkIGFkZFdlYlBhZ2VOZXR3b3JrUGFyYW1l
dGVycyhXZWJQYWdlUHJveHlJZGVudGlmaWVyLCBXZWJQYWdlTmV0d29ya1BhcmFtZXRlcnMmJikg
eyB9CiAgICAgdmlydHVhbCB2b2lkIHJlbW92ZVdlYlBhZ2VOZXR3b3JrUGFyYW1ldGVycyhXZWJQ
YWdlUHJveHlJZGVudGlmaWVyKSB7IH0KICAgICB2aXJ0dWFsIHNpemVfdCBjb3VudE5vbkRlZmF1
bHRTZXNzaW9uU2V0cygpIGNvbnN0IHsgcmV0dXJuIDA7IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQvTmV0d29ya1Byb2Nlc3MvY29jb2EvTmV0d29ya1Nlc3Npb25Db2NvYS5oIGIvU291cmNl
L1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9jb2NvYS9OZXR3b3JrU2Vzc2lvbkNvY29hLmgKaW5kZXgg
MGU1NjgxMjliYWJhNTMwMDAyZjljNWU1OGRiZWU3NWQ3ZTE5YzIzNi4uZjdlNjQzYTJhZDNjN2Fh
N2Y2NjMwOWVmZDMxODBmMDllZTNmYjRiMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9OZXR3
b3JrUHJvY2Vzcy9jb2NvYS9OZXR3b3JrU2Vzc2lvbkNvY29hLmgKKysrIGIvU291cmNlL1dlYktp
dC9OZXR3b3JrUHJvY2Vzcy9jb2NvYS9OZXR3b3JrU2Vzc2lvbkNvY29hLmgKQEAgLTE2Miw2ICsx
NjIsNyBAQCBwcml2YXRlOgogICAgIHZvaWQgcmVtb3ZlV2ViU29ja2V0VGFzayhTZXNzaW9uU2V0
JiwgV2ViU29ja2V0VGFzayYpIGZpbmFsOwogI2VuZGlmCiAKKyAgICB2b2lkIHJlcXVlc3RSZXNv
dXJjZShXZWJQYWdlUHJveHlJZGVudGlmaWVyLCBXZWJDb3JlOjpSZXNvdXJjZVJlcXVlc3QmJiwg
Q29tcGxldGlvbkhhbmRsZXI8dm9pZChjb25zdCBJUEM6OkRhdGFSZWZlcmVuY2UmLCBXZWJDb3Jl
OjpSZXNvdXJjZVJlc3BvbnNlJiYsIFdlYkNvcmU6OlJlc291cmNlRXJyb3ImJik+JiYpIGZpbmFs
OwogICAgIHZvaWQgYWRkV2ViUGFnZU5ldHdvcmtQYXJhbWV0ZXJzKFdlYlBhZ2VQcm94eUlkZW50
aWZpZXIsIFdlYlBhZ2VOZXR3b3JrUGFyYW1ldGVycyYmKSBmaW5hbDsKICAgICB2b2lkIHJlbW92
ZVdlYlBhZ2VOZXR3b3JrUGFyYW1ldGVycyhXZWJQYWdlUHJveHlJZGVudGlmaWVyKSBmaW5hbDsK
ICAgICBzaXplX3QgY291bnROb25EZWZhdWx0U2Vzc2lvblNldHMoKSBjb25zdCBmaW5hbDsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvY29jb2EvTmV0d29ya1Nlc3Np
b25Db2NvYS5tbSBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvY29jb2EvTmV0d29ya1Nl
c3Npb25Db2NvYS5tbQppbmRleCBkOTNhYzllYjJmMTA0NWUxM2U1NzI1YTQ3ZjBlNzY5MTU3MmI2
YzQxLi5lYWUwMDViMzdhYTJlNjEzMGRkMGRkNGI1NzgwZjE3MTczNTI2OGM0IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL2NvY29hL05ldHdvcmtTZXNzaW9uQ29jb2Eu
bW0KKysrIGIvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9jb2NvYS9OZXR3b3JrU2Vzc2lv
bkNvY29hLm1tCkBAIC0xNzczLDYgKzE3NzMsMTYgQEAgdm9pZCBOZXR3b3JrU2Vzc2lvbkNvY29h
OjphZGRXZWJQYWdlTmV0d29ya1BhcmFtZXRlcnMoV2ViUGFnZVByb3h5SWRlbnRpZmllciBwYWcK
ICAgICBtX2F0dHJpYnV0ZWRCdW5kbGVJZGVudGlmaWVyRnJvbVBhZ2VJZGVudGlmaWVycy5hZGQo
cGFnZUlELCBwYXJhbWV0ZXJzLmF0dHJpYnV0ZWRCdW5kbGVJZGVudGlmaWVyKCkpOwogfQogCit2
b2lkIE5ldHdvcmtTZXNzaW9uQ29jb2E6OnJlcXVlc3RSZXNvdXJjZShXZWJQYWdlUHJveHlJZGVu
dGlmaWVyIHBhZ2VJRCwgV2ViQ29yZTo6UmVzb3VyY2VSZXF1ZXN0JiYgcmVxdWVzdCwgQ29tcGxl
dGlvbkhhbmRsZXI8dm9pZChjb25zdCBJUEM6OkRhdGFSZWZlcmVuY2UmLCBXZWJDb3JlOjpSZXNv
dXJjZVJlc3BvbnNlJiYsIFdlYkNvcmU6OlJlc291cmNlRXJyb3ImJik+JiYgY29tcGxldGlvbkhh
bmRsZXIpCit7CisgICAgYXV0byBzZXNzaW9uID0gc2Vzc2lvbldyYXBwZXJGb3JUYXNrKHBhZ2VJ
RCwgcmVxdWVzdCwgV2ViQ29yZTo6U3RvcmVkQ3JlZGVudGlhbHNQb2xpY3k6OlVzZSwgc3RkOjpu
dWxsb3B0KS5zZXNzaW9uOworICAgIGF1dG8gbnNSZXF1ZXN0ID0gcmVxdWVzdC5uc1VSTFJlcXVl
c3QoV2ViQ29yZTo6SFRUUEJvZHlVcGRhdGVQb2xpY3k6OlVwZGF0ZUhUVFBCb2R5KTsKKyAgICBh
dXRvIGNvbXBsZXRpb25CbG9jayA9IG1ha2VCbG9ja1B0cihbY29tcGxldGlvbkhhbmRsZXIgPSBX
VEZNb3ZlKGNvbXBsZXRpb25IYW5kbGVyKV0gKE5TRGF0YSAqZGF0YSwgTlNVUkxSZXNwb25zZSAq
cmVzcG9uc2UsIE5TRXJyb3IgKmVycm9yKSBtdXRhYmxlIHsKKyAgICAgICAgY29tcGxldGlvbkhh
bmRsZXIoSVBDOjpEYXRhUmVmZXJlbmNlIHsgc3RhdGljX2Nhc3Q8Y29uc3QgdWludDhfdCo+KGRh
dGEuYnl0ZXMpLCBkYXRhLmxlbmd0aCB9LCBXZWJDb3JlOjpSZXNvdXJjZVJlc3BvbnNlIHsgcmVz
cG9uc2UgfSwgV2ViQ29yZTo6UmVzb3VyY2VFcnJvciB7IGVycm9yIH0pOworICAgIH0pOworICAg
IFtbc2Vzc2lvbiBkYXRhVGFza1dpdGhSZXF1ZXN0Om5zUmVxdWVzdCBjb21wbGV0aW9uSGFuZGxl
cjpjb21wbGV0aW9uQmxvY2suZ2V0KCldIHJlc3VtZV07Cit9CisKIHZvaWQgTmV0d29ya1Nlc3Np
b25Db2NvYTo6cmVtb3ZlV2ViUGFnZU5ldHdvcmtQYXJhbWV0ZXJzKFdlYlBhZ2VQcm94eUlkZW50
aWZpZXIgcGFnZUlEKQogewogICAgIG1fcGVyUGFnZVNlc3Npb25TZXRzLnJlbW92ZShwYWdlSUQp
OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL1dLV2ViVmll
dy5tbSBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZpZXcubW0KaW5k
ZXggYzRlZTUyNTA3NjQyZGI0ZTU0Y2ZhZGY3ZmVlM2JmMWI3YzBkM2QzYy4uYTcyZDBkMmM5MmQ3
ZGVkNDVlMGU0MTBiNDFkY2I4ZmI0ZGE1YWU4NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9V
SVByb2Nlc3MvQVBJL0NvY29hL1dLV2ViVmlldy5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJv
Y2Vzcy9BUEkvQ29jb2EvV0tXZWJWaWV3Lm1tCkBAIC0yMjE3LDYgKzIyMTcsMTUgQEAgc3RhdGlj
IFJldGFpblB0cjxOU0FycmF5PiB3a1RleHRNYW5pcHVsYXRpb25FcnJvcnMoTlNBcnJheTxfV0tU
ZXh0TWFuaXB1bGF0aW9uSXQKICNlbmRpZgogfQogCistICh2b2lkKV9yZXF1ZXN0UmVzb3VyY2U6
KE5TVVJMUmVxdWVzdCAqKXJlcXVlc3QgY29tcGxldGlvbkhhbmRsZXI6KHZvaWQoXikoTlNEYXRh
ICosIE5TVVJMUmVzcG9uc2UgKiwgTlNFcnJvciAqKSljb21wbGV0aW9uSGFuZGxlcgoreworICAg
IF9wYWdlLT5yZXF1ZXN0UmVzb3VyY2UocmVxdWVzdCwgW2NvbXBsZXRpb25IYW5kbGVyID0gbWFr
ZUJsb2NrUHRyKGNvbXBsZXRpb25IYW5kbGVyKV0gKFJlZjxXZWJDb3JlOjpTaGFyZWRCdWZmZXI+
JiYgYnVmZmVyLCBXZWJDb3JlOjpSZXNvdXJjZVJlc3BvbnNlJiYgcmVzcG9uc2UsIFdlYkNvcmU6
OlJlc291cmNlRXJyb3ImJiBlcnJvcikgeworICAgICAgICBpZiAoZXJyb3IuaXNOdWxsKCkpCisg
ICAgICAgICAgICByZXR1cm4gY29tcGxldGlvbkhhbmRsZXIoYnVmZmVyLT5jcmVhdGVOU0RhdGEo
KS5nZXQoKSwgcmVzcG9uc2UubnNVUkxSZXNwb25zZSgpLCBuaWwpOworICAgICAgICBjb21wbGV0
aW9uSGFuZGxlcihuaWwsIG5pbCwgZXJyb3IubnNFcnJvcigpKTsKKyAgICB9KTsKK30KKwogLSAo
dm9pZClfdGFrZUZpbmRTdHJpbmdGcm9tU2VsZWN0aW9uOihpZClzZW5kZXIKIHsKICAgICBUSFJP
V19JRl9TVVNQRU5ERUQ7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkv
Q29jb2EvV0tXZWJWaWV3UHJpdmF0ZS5oIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0Nv
Y29hL1dLV2ViVmlld1ByaXZhdGUuaAppbmRleCBjYzYxMWNlY2JjNTUxMTM0N2Q1YjgwYzYyMWQ3
ODkxODU4ZTg5NjFkLi4xZGMxYzQxMzIzYjNmZTg5MGMxYjFjMjIxMGY0NTY1ZGViN2QwY2UyIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJWaWV3UHJp
dmF0ZS5oCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZpZXdQ
cml2YXRlLmgKQEAgLTQxNiw2ICs0MTYsOCBAQCBmb3IgdGhpcyBwcm9wZXJ0eS4KIAogLSAodm9p
ZClfc3RhcnRJbWFnZUFuYWx5c2lzOihOU1N0cmluZyAqKWlkZW50aWZpZXIgV0tfQVBJX0FWQUlM
QUJMRShtYWNvcyhXS19NQUNfVEJBKSwgaW9zKFdLX0lPU19UQkEpKTsKIAorLSAodm9pZClfcmVx
dWVzdFJlc291cmNlOihOU1VSTFJlcXVlc3QgKilyZXF1ZXN0IGNvbXBsZXRpb25IYW5kbGVyOih2
b2lkKF4pKE5TRGF0YSAqLCBOU1VSTFJlc3BvbnNlICosIE5TRXJyb3IgKikpY29tcGxldGlvbkhh
bmRsZXIgV0tfQVBJX0FWQUlMQUJMRShtYWNvcyhXS19NQUNfVEJBKSwgaW9zKFdLX0lPU19UQkEp
KTsKKwogQGVuZAogCiAjaWYgVEFSR0VUX09TX0lQSE9ORQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdC9VSVByb2Nlc3MvTmV0d29yay9OZXR3b3JrUHJvY2Vzc1Byb3h5LmNwcCBiL1NvdXJjZS9X
ZWJLaXQvVUlQcm9jZXNzL05ldHdvcmsvTmV0d29ya1Byb2Nlc3NQcm94eS5jcHAKaW5kZXggZWM5
YjM1Mzc2YjlhMzNjOTdmNGE1MDc2MzhkNTBlNDM2YWQ5ZGUxNC4uZDgwNmVjNzllMDM3Y2M1N2Vk
YmQ3Njk5MDE1MWM1YzIzM2ZkY2Q2NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nl
c3MvTmV0d29yay9OZXR3b3JrUHJvY2Vzc1Byb3h5LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJ
UHJvY2Vzcy9OZXR3b3JrL05ldHdvcmtQcm9jZXNzUHJveHkuY3BwCkBAIC0zMzUsNiArMzM1LDE0
IEBAIERvd25sb2FkUHJveHkmIE5ldHdvcmtQcm9jZXNzUHJveHk6OmNyZWF0ZURvd25sb2FkUHJv
eHkoV2Vic2l0ZURhdGFTdG9yZSYgZGF0YVN0CiAgICAgcmV0dXJuIG1fZG93bmxvYWRQcm94eU1h
cC0+Y3JlYXRlRG93bmxvYWRQcm94eShkYXRhU3RvcmUsIHByb2Nlc3NQb29sLCByZXNvdXJjZVJl
cXVlc3QsIGZyYW1lSW5mbywgb3JpZ2luYXRpbmdQYWdlKTsKIH0KIAordm9pZCBOZXR3b3JrUHJv
Y2Vzc1Byb3h5OjpyZXF1ZXN0UmVzb3VyY2UoV2ViUGFnZVByb3h5SWRlbnRpZmllciBwYWdlSUQs
IFBBTDo6U2Vzc2lvbklEIHNlc3Npb25JRCwgV2ViQ29yZTo6UmVzb3VyY2VSZXF1ZXN0JiYgcmVx
dWVzdCwgQ29tcGxldGlvbkhhbmRsZXI8dm9pZChSZWY8V2ViQ29yZTo6U2hhcmVkQnVmZmVyPiYm
LCBXZWJDb3JlOjpSZXNvdXJjZVJlc3BvbnNlJiYsIFdlYkNvcmU6OlJlc291cmNlRXJyb3ImJik+
JiYgY29tcGxldGlvbkhhbmRsZXIpCit7CisgICAgc2VuZFdpdGhBc3luY1JlcGx5KE1lc3NhZ2Vz
OjpOZXR3b3JrUHJvY2Vzczo6UmVxdWVzdFJlc291cmNlKHBhZ2VJRCwgc2Vzc2lvbklELCByZXF1
ZXN0KSwgW2NvbXBsZXRpb25IYW5kbGVyID0gV1RGTW92ZShjb21wbGV0aW9uSGFuZGxlcildIChJ
UEM6OkRhdGFSZWZlcmVuY2UmJiBkYXRhLCBXZWJDb3JlOjpSZXNvdXJjZVJlc3BvbnNlJiYgcmVz
cG9uc2UsIFdlYkNvcmU6OlJlc291cmNlRXJyb3ImJiBlcnJvcikgbXV0YWJsZSB7CisgICAgICAg
IGF1dG8gYnVmZmVyID0gU2hhcmVkQnVmZmVyOjpjcmVhdGUoZGF0YS5kYXRhKCksIGRhdGEuc2l6
ZSgpKTsKKyAgICAgICAgY29tcGxldGlvbkhhbmRsZXIoV1RGTW92ZShidWZmZXIpLCBXVEZNb3Zl
KHJlc3BvbnNlKSwgV1RGTW92ZShlcnJvcikpOworICAgIH0pOworfQorCiB2b2lkIE5ldHdvcmtQ
cm9jZXNzUHJveHk6OmZldGNoV2Vic2l0ZURhdGEoUEFMOjpTZXNzaW9uSUQgc2Vzc2lvbklELCBP
cHRpb25TZXQ8V2Vic2l0ZURhdGFUeXBlPiBkYXRhVHlwZXMsIE9wdGlvblNldDxXZWJzaXRlRGF0
YUZldGNoT3B0aW9uPiBmZXRjaE9wdGlvbnMsIENvbXBsZXRpb25IYW5kbGVyPHZvaWQoV2Vic2l0
ZURhdGEpPiYmIGNvbXBsZXRpb25IYW5kbGVyKQogewogICAgIHNlbmRXaXRoQXN5bmNSZXBseShN
ZXNzYWdlczo6TmV0d29ya1Byb2Nlc3M6OkZldGNoV2Vic2l0ZURhdGEoc2Vzc2lvbklELCBkYXRh
VHlwZXMsIGZldGNoT3B0aW9ucyksIFdURk1vdmUoY29tcGxldGlvbkhhbmRsZXIpKTsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL05ldHdvcmsvTmV0d29ya1Byb2Nlc3NQcm94
eS5oIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvTmV0d29yay9OZXR3b3JrUHJvY2Vzc1Byb3h5
LmgKaW5kZXggNDQxYjg2ZTE4OWMyY2YxNzI0NGQ4YWRlM2Q3ZWQwNWZmODc5MDBlNi4uYjllNzIy
ZjJkYjNjYzk4ZTZjMmQwZDg4ZjY4MTcxMGE3MDA4NGEwNyAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdC9VSVByb2Nlc3MvTmV0d29yay9OZXR3b3JrUHJvY2Vzc1Byb3h5LmgKKysrIGIvU291cmNl
L1dlYktpdC9VSVByb2Nlc3MvTmV0d29yay9OZXR3b3JrUHJvY2Vzc1Byb3h5LmgKQEAgLTEyMiw2
ICsxMjIsNyBAQCBwdWJsaWM6CiAgICAgdm9pZCBnZXROZXR3b3JrUHJvY2Vzc0Nvbm5lY3Rpb24o
V2ViUHJvY2Vzc1Byb3h5JiwgTWVzc2FnZXM6OldlYlByb2Nlc3NQcm94eTo6R2V0TmV0d29ya1By
b2Nlc3NDb25uZWN0aW9uRGVsYXllZFJlcGx5JiYpOwogCiAgICAgRG93bmxvYWRQcm94eSYgY3Jl
YXRlRG93bmxvYWRQcm94eShXZWJzaXRlRGF0YVN0b3JlJiwgV2ViUHJvY2Vzc1Bvb2wmLCBjb25z
dCBXZWJDb3JlOjpSZXNvdXJjZVJlcXVlc3QmLCBjb25zdCBGcmFtZUluZm9EYXRhJiwgV2ViUGFn
ZVByb3h5KiBvcmlnaW5hdGluZ1BhZ2UpOworICAgIHZvaWQgcmVxdWVzdFJlc291cmNlKFdlYlBh
Z2VQcm94eUlkZW50aWZpZXIsIFBBTDo6U2Vzc2lvbklELCBXZWJDb3JlOjpSZXNvdXJjZVJlcXVl
c3QmJiwgQ29tcGxldGlvbkhhbmRsZXI8dm9pZChSZWY8V2ViQ29yZTo6U2hhcmVkQnVmZmVyPiYm
LCBXZWJDb3JlOjpSZXNvdXJjZVJlc3BvbnNlJiYsIFdlYkNvcmU6OlJlc291cmNlRXJyb3ImJik+
JiYpOwogCiAgICAgdm9pZCBmZXRjaFdlYnNpdGVEYXRhKFBBTDo6U2Vzc2lvbklELCBPcHRpb25T
ZXQ8V2Vic2l0ZURhdGFUeXBlPiwgT3B0aW9uU2V0PFdlYnNpdGVEYXRhRmV0Y2hPcHRpb24+LCBD
b21wbGV0aW9uSGFuZGxlcjx2b2lkKFdlYnNpdGVEYXRhKT4mJik7CiAgICAgdm9pZCBkZWxldGVX
ZWJzaXRlRGF0YShQQUw6OlNlc3Npb25JRCwgT3B0aW9uU2V0PFdlYnNpdGVEYXRhVHlwZT4sIFdh
bGxUaW1lIG1vZGlmaWVkU2luY2UsIENvbXBsZXRpb25IYW5kbGVyPHZvaWQoKT4mJiBjb21wbGV0
aW9uSGFuZGxlcik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdl
UHJveHkuY3BwIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmNwcAppbmRl
eCA0ZTk2Yzk0ZDZhNzdjNzZmMDI4NWFiMDE2YTM2YmYwZTFhNjRkYWE5Li5jODgxMjkwZmQwNjY0
Njg2MDI0Y2I4Mzg3ZDA0ZmI4YWY5NmI1MmE3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJ
UHJvY2Vzcy9XZWJQYWdlUHJveHkuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dl
YlBhZ2VQcm94eS5jcHAKQEAgLTYzNDksNiArNjM0OSwxMSBAQCB2b2lkIFdlYlBhZ2VQcm94eTo6
ZG93bmxvYWRSZXF1ZXN0KFdlYkNvcmU6OlJlc291cmNlUmVxdWVzdCYmIHJlcXVlc3QsIENvbXBs
ZXRpbwogICAgIGRvd25sb2FkLnNldERpZFN0YXJ0Q2FsbGJhY2soV1RGTW92ZShjb21wbGV0aW9u
SGFuZGxlcikpOwogfQogCit2b2lkIFdlYlBhZ2VQcm94eTo6cmVxdWVzdFJlc291cmNlKFdlYkNv
cmU6OlJlc291cmNlUmVxdWVzdCYmIHJlcXVlc3QsIENvbXBsZXRpb25IYW5kbGVyPHZvaWQoUmVm
PFdlYkNvcmU6OlNoYXJlZEJ1ZmZlcj4mJiwgV2ViQ29yZTo6UmVzb3VyY2VSZXNwb25zZSYmLCBX
ZWJDb3JlOjpSZXNvdXJjZUVycm9yJiYpPiYmIGNvbXBsZXRpb25IYW5kbGVyKQoreworICAgIHdl
YnNpdGVEYXRhU3RvcmUoKS5uZXR3b3JrUHJvY2VzcygpLnJlcXVlc3RSZXNvdXJjZShpZGVudGlm
aWVyKCksIHNlc3Npb25JRCgpLCBXVEZNb3ZlKHJlcXVlc3QpLCBXVEZNb3ZlKGNvbXBsZXRpb25I
YW5kbGVyKSk7Cit9CisKIHZvaWQgV2ViUGFnZVByb3h5OjpkaWRDaGFuZ2VDb250ZW50U2l6ZShj
b25zdCBJbnRTaXplJiBzaXplKQogewogICAgIHBhZ2VDbGllbnQoKS5kaWRDaGFuZ2VDb250ZW50
U2l6ZShzaXplKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQ
cm94eS5oIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmgKaW5kZXggNWE4
MzJlNTVhY2JhMTg5YjM5YjllODk3Y2MxY2ExOGI3YjQ4NDU1NS4uYzViNjJhMWExODYwYTQzZjMz
YmMyMWM1MDg4ZGIwMzBhNDBhZTM2MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nl
c3MvV2ViUGFnZVByb3h5LmgKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFnZVBy
b3h5LmgKQEAgLTEzNjksNiArMTM2OSw3IEBAIHB1YmxpYzoKICAgICB2b2lkIGhhbmRsZURvd25s
b2FkUmVxdWVzdChEb3dubG9hZFByb3h5Jik7CiAgICAgdm9pZCByZXN1bWVEb3dubG9hZChjb25z
dCBBUEk6OkRhdGEmIHJlc3VtZURhdGEsIGNvbnN0IFN0cmluZyYgcGF0aCwgQ29tcGxldGlvbkhh
bmRsZXI8dm9pZChEb3dubG9hZFByb3h5Kik+JiYpOwogICAgIHZvaWQgZG93bmxvYWRSZXF1ZXN0
KFdlYkNvcmU6OlJlc291cmNlUmVxdWVzdCYmLCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKERvd25s
b2FkUHJveHkqKT4mJik7CisgICAgdm9pZCByZXF1ZXN0UmVzb3VyY2UoV2ViQ29yZTo6UmVzb3Vy
Y2VSZXF1ZXN0JiYsIENvbXBsZXRpb25IYW5kbGVyPHZvaWQoUmVmPFdlYkNvcmU6OlNoYXJlZEJ1
ZmZlcj4mJiwgV2ViQ29yZTo6UmVzb3VyY2VSZXNwb25zZSYmLCBXZWJDb3JlOjpSZXNvdXJjZUVy
cm9yJiYpPiYmKTsKIAogICAgIHZvaWQgYWR2YW5jZVRvTmV4dE1pc3NwZWxsaW5nKGJvb2wgc3Rh
cnRCZWZvcmVTZWxlY3Rpb24pOwogICAgIHZvaWQgY2hhbmdlU3BlbGxpbmdUb1dvcmQoY29uc3Qg
U3RyaW5nJiB3b3JkKTsKZGlmZiAtLWdpdCBhL1Rvb2xzL0NoYW5nZUxvZyBiL1Rvb2xzL0NoYW5n
ZUxvZwppbmRleCA5MzBlYjQ4YWNkNWEwOGUzNTk0MDA3YzQ4MTQ1MjdmM2JmYjgyOTkxLi4wYTcz
ZTc3NGQyMTdlNWI4Y2YyNTQ1OGIyM2IzZmY5Y2Y2ZGRiNjdlIDEwMDY0NAotLS0gYS9Ub29scy9D
aGFuZ2VMb2cKKysrIGIvVG9vbHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTYgQEAKKzIwMjEtMTIt
MDYgIEFsZXggQ2hyaXN0ZW5zZW4gIDxhY2hyaXN0ZW5zZW5Ad2Via2l0Lm9yZz4KKworICAgICAg
ICBBZGQgU1BJIHRvIGxvYWQgYSByZXNvdXJjZSBpbiB0aGUgY29udGV4dCBvZiBhIHBhZ2UKKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIzMzkwOAorCisg
ICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogVGVzdFdlYktp
dEFQSS9UZXN0cy9XZWJLaXRDb2NvYS9OZXR3b3JrUHJvY2Vzcy5tbToKKyAgICAgICAgKFRFU1Qp
OgorICAgICAgICAqIFRlc3RXZWJLaXRBUEkvY29jb2EvSFRUUFNlcnZlci5oOgorICAgICAgICAq
IFRlc3RXZWJLaXRBUEkvY29jb2EvSFRUUFNlcnZlci5tbToKKyAgICAgICAgKFRlc3RXZWJLaXRB
UEk6OkhUVFBTZXJ2ZXI6OnRvdGFsQ29ubmVjdGlvbnMgY29uc3QpOgorCiAyMDIxLTEyLTA2ICBC
cmFkeSBFaWRzb24gIDxiZWlkc29uQGFwcGxlLmNvbT4KIAogICAgICAgICB3ZWJwdXNoZC93ZWJw
dXNodG9vbCBkZWJ1Z2dpbmcgYWRkaXRpb25zCmRpZmYgLS1naXQgYS9Ub29scy9UZXN0V2ViS2l0
QVBJL1Rlc3RzL1dlYktpdENvY29hL05ldHdvcmtQcm9jZXNzLm1tIGIvVG9vbHMvVGVzdFdlYktp
dEFQSS9UZXN0cy9XZWJLaXRDb2NvYS9OZXR3b3JrUHJvY2Vzcy5tbQppbmRleCA1ZDkwMDczMzUw
NzhmMDliNzAxODcxZDdhMDllOWFiMDc2MWU0OTUyLi4yM2I0ZmE1ODAxYmJiZjkyNjQ0MmUwZjdk
M2UzY2MzNmZiZTUzYWE5IDEwMDY0NAotLS0gYS9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dl
YktpdENvY29hL05ldHdvcmtQcm9jZXNzLm1tCisrKyBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVz
dHMvV2ViS2l0Q29jb2EvTmV0d29ya1Byb2Nlc3MubW0KQEAgLTM0NCwzICszNDQsMzIgQEAgVEVT
VChOZXR3b3JrUHJvY2VzcywgQnJvYWRjYXN0Q2hhbm5lbENyYXNoUmVjb3ZlcnkpCiAgICAgRVhQ
RUNUX0VRKHdlYlBJRDEsIFt3ZWJWaWV3MSBfd2ViUHJvY2Vzc0lkZW50aWZpZXJdKTsKICAgICBF
WFBFQ1RfRVEod2ViUElEMiwgW3dlYlZpZXcyIF93ZWJQcm9jZXNzSWRlbnRpZmllcl0pOwogfQor
CitURVNUKE5ldHdvcmtQcm9jZXNzLCBMb2FkUmVzb3VyY2UpCit7CisgICAgYXV0byBodG1sID0g
IjxodG1sPmhlbGxvITwvaHRtbD4iOworICAgIGF1dG8gc2VydmVyID0gVGVzdFdlYktpdEFQSTo6
SFRUUFNlcnZlcih7IHsgIi8iLCB7IGh0bWwgfSB9IH0pOworICAgIGF1dG8gd2ViVmlldyA9IGFk
b3B0TlMoW1Rlc3RXS1dlYlZpZXcgbmV3XSk7CisgICAgYXV0byBzZXJ2ZXJSZXF1ZXN0ID0gc2Vy
dmVyLnJlcXVlc3QoKTsKKyAgICBbd2ViVmlldyBzeW5jaHJvbm91c2x5TG9hZFJlcXVlc3Q6c2Vy
dmVyUmVxdWVzdF07CisKKyAgICBfX2Jsb2NrIGJvb2wgZG9uZSA9IGZhbHNlOworICAgIFt3ZWJW
aWV3IF9yZXF1ZXN0UmVzb3VyY2U6c2VydmVyLnJlcXVlc3QoKSBjb21wbGV0aW9uSGFuZGxlcjpe
KE5TRGF0YSAqZGF0YSwgTlNVUkxSZXNwb25zZSAqcmVzcG9uc2UsIE5TRXJyb3IgKmVycm9yKSB7
CisgICAgICAgIEVYUEVDVF9OVUxMKGVycm9yKTsKKyAgICAgICAgRVhQRUNUX1dLX1NUUkVRKHJl
c3BvbnNlLlVSTC5hYnNvbHV0ZVN0cmluZywgc2VydmVyUmVxdWVzdC5VUkwuYWJzb2x1dGVTdHJp
bmcpOworICAgICAgICBFWFBFQ1RfRVEoZGF0YS5sZW5ndGgsIHN0cmxlbihodG1sKSk7CisgICAg
ICAgIEVYUEVDVF9UUlVFKCFtZW1jbXAoZGF0YS5ieXRlcywgaHRtbCwgZGF0YS5sZW5ndGgpKTsK
KyAgICAgICAgZG9uZSA9IHRydWU7CisgICAgfV07CisgICAgVGVzdFdlYktpdEFQSTo6VXRpbDo6
cnVuKCZkb25lKTsKKworICAgIGRvbmUgPSBmYWxzZTsKKyAgICBbd2ViVmlldyBfcmVxdWVzdFJl
c291cmNlOltOU1VSTFJlcXVlc3QgcmVxdWVzdFdpdGhVUkw6W05TVVJMIFVSTFdpdGhTdHJpbmc6
QCJibG9iOmJsYW5rIl1dIGNvbXBsZXRpb25IYW5kbGVyOl4oTlNEYXRhICpkYXRhLCBOU1VSTFJl
c3BvbnNlICpyZXNwb25zZSwgTlNFcnJvciAqZXJyb3IpIHsKKyAgICAgICAgRVhQRUNUX1dLX1NU
UkVRKGVycm9yLmRvbWFpbiwgTlNVUkxFcnJvckRvbWFpbik7CisgICAgICAgIEVYUEVDVF9FUShl
cnJvci5jb2RlLCBOU1VSTEVycm9yVW5zdXBwb3J0ZWRVUkwpOworICAgICAgICBFWFBFQ1RfTlVM
TChkYXRhKTsKKyAgICAgICAgRVhQRUNUX05VTEwocmVzcG9uc2UpOworICAgICAgICBkb25lID0g
dHJ1ZTsKKyAgICB9XTsKKyAgICBUZXN0V2ViS2l0QVBJOjpVdGlsOjpydW4oJmRvbmUpOworfQpk
aWZmIC0tZ2l0IGEvVG9vbHMvVGVzdFdlYktpdEFQSS9jb2NvYS9IVFRQU2VydmVyLmggYi9Ub29s
cy9UZXN0V2ViS2l0QVBJL2NvY29hL0hUVFBTZXJ2ZXIuaAppbmRleCBmOGExNzJhYjYwYTUyYzI1
YmU5NmMwM2MzM2MwOTBhZWI0ODMyMmM1Li5hOTljYjAwNmM5YmMzZDQxZjIzNGMzYWU0NjRjNTFl
ZjlmNzY0NDM5IDEwMDY0NAotLS0gYS9Ub29scy9UZXN0V2ViS2l0QVBJL2NvY29hL0hUVFBTZXJ2
ZXIuaAorKysgYi9Ub29scy9UZXN0V2ViS2l0QVBJL2NvY29hL0hUVFBTZXJ2ZXIuaApAQCAtNTIs
NiArNTIsNyBAQCBwdWJsaWM6CiAgICAgdWludDE2X3QgcG9ydCgpIGNvbnN0OwogICAgIE5TVVJM
UmVxdWVzdCAqcmVxdWVzdChjb25zdCBTdHJpbmcmIHBhdGggPSAiLyJfc3RyKSBjb25zdDsKICAg
ICBzaXplX3QgdG90YWxSZXF1ZXN0cygpIGNvbnN0OworICAgIHNpemVfdCB0b3RhbENvbm5lY3Rp
b25zKCkgY29uc3Q7CiAgICAgdm9pZCBjYW5jZWwoKTsKIAogICAgIHZvaWQgYWRkUmVzcG9uc2Uo
U3RyaW5nJiYgcGF0aCwgSFRUUFJlc3BvbnNlJiYpOwpAQCAtNjcsOSArNjgsOSBAQCBwcml2YXRl
OgogICAgIHN0YXRpYyBSZXRhaW5QdHI8bndfcGFyYW1ldGVyc190PiBsaXN0ZW5lclBhcmFtZXRl
cnMoUHJvdG9jb2wsIENlcnRpZmljYXRlVmVyaWZpZXImJiwgUmV0YWluUHRyPFNlY0lkZW50aXR5
UmVmPiYmLCBzdGQ6Om9wdGlvbmFsPHVpbnQxNl90PiBwb3J0KTsKICAgICBzdGF0aWMgdm9pZCBy
ZXNwb25kVG9SZXF1ZXN0cyhDb25uZWN0aW9uLCBSZWY8UmVxdWVzdERhdGE+KTsKIAotICAgIFJl
ZjxSZXF1ZXN0RGF0YT4gbV9yZXF1ZXN0RGF0YTsKKyAgICBjb25zdCBSZWY8UmVxdWVzdERhdGE+
IG1fcmVxdWVzdERhdGE7CiAgICAgUmV0YWluUHRyPG53X2xpc3RlbmVyX3Q+IG1fbGlzdGVuZXI7
Ci0gICAgUHJvdG9jb2wgbV9wcm90b2NvbCB7IFByb3RvY29sOjpIdHRwIH07CisgICAgY29uc3Qg
UHJvdG9jb2wgbV9wcm90b2NvbCB7IFByb3RvY29sOjpIdHRwIH07CiB9OwogCiBjbGFzcyBDb25u
ZWN0aW9uIHsKZGlmZiAtLWdpdCBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvY29jb2EvSFRUUFNlcnZl
ci5tbSBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvY29jb2EvSFRUUFNlcnZlci5tbQppbmRleCBjMTBk
MDE4ZmFhOGM4ZWQxNWIzZmU0NDFmZTBmNzk2MWEzMWQ3NmQ5Li5iYjViZTZmOTM1YWM3NTk0NTRk
MGNkZTU0ZTUwZmViOWVkZDEwOWM2IDEwMDY0NAotLS0gYS9Ub29scy9UZXN0V2ViS2l0QVBJL2Nv
Y29hL0hUVFBTZXJ2ZXIubW0KKysrIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9jb2NvYS9IVFRQU2Vy
dmVyLm1tCkBAIC0yNTIsNiArMjUyLDExIEBAIHNpemVfdCBIVFRQU2VydmVyOjp0b3RhbFJlcXVl
c3RzKCkgY29uc3QKICAgICByZXR1cm4gbV9yZXF1ZXN0RGF0YS0+cmVxdWVzdENvdW50OwogfQog
CitzaXplX3QgSFRUUFNlcnZlcjo6dG90YWxDb25uZWN0aW9ucygpIGNvbnN0Cit7CisgICAgcmV0
dXJuIG1fcmVxdWVzdERhdGEtPmNvbm5lY3Rpb25zLnNpemUoKTsKK30KKwogc3RhdGljIEFTQ0lJ
TGl0ZXJhbCBzdGF0dXNUZXh0KHVuc2lnbmVkIHN0YXR1c0NvZGUpCiB7CiAgICAgc3dpdGNoIChz
dGF0dXNDb2RlKSB7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>446384</attachid>
            <date>2021-12-08 10:36:16 -0800</date>
            <delta_ts>2021-12-08 10:45:21 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-233908-20211208103615.patch</filename>
            <type>text/plain</type>
            <size>19825</size>
            <attacher name="Alex Christensen">achristensen</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg2NjQ0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IGMzNjU1NmM5OWRkMTc1MWZk
OGYwM2ViZjI1NjJhMWU2MGJmYTFkMzcuLmQ3Yjg5Zjk1YWI0M2M0MmMxNDVmNDliN2QyZTU1Yjc3
MWRiMTQ2YjAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzQgQEAKKzIwMjEtMTItMDggIEFsZXggQ2hy
aXN0ZW5zZW4gIDxhY2hyaXN0ZW5zZW5Ad2Via2l0Lm9yZz4KKworICAgICAgICBBZGQgU1BJIHRv
IGxvYWQgYSByZXNvdXJjZSBpbiB0aGUgY29udGV4dCBvZiBhIHBhZ2UKKyAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIzMzkwOAorCisgICAgICAgIFJldmll
d2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFRoaXMgaXMgc2ltaWxhciB0byBzdGFy
dERvd25sb2FkVXNpbmdSZXF1ZXN0IGJ1dCB5b3UgZG9uJ3QgaGF2ZSB0byBnZXQgdGhlIGRhdGEg
ZnJvbSB0aGUgZGlzay4KKyAgICAgICAgVGhpcyBpcyBzaW1pbGFyIHRvIE5TVVJMU2Vzc2lvbidz
IGRhdGFUYXNrV2l0aFJlcXVlc3Q6Y29tcGxldGlvbkhhbmRsZXI6IGJ1dCB1c2luZyB0aGUgc2Ft
ZSBzZXNzaW9uIGFzIHRoZSBwYWdlLgorICAgICAgICBUaGlzIGlzIG5lZWRlZCBiZWNhdXNlIExp
bmtQcmVzZW50YXRpb24gaXMgY3VycmVudGx5IHVzaW5nIF9nZXRNYWluUmVzb3VyY2VEYXRhV2l0
aENvbXBsZXRpb25IYW5kbGVyIGFmdGVyIGxvYWRpbmcKKyAgICAgICAgaW4gYSBXS1dlYlZpZXcg
bWFkZSB3aXRoIF9yZWxhdGVkV2ViVmlldyB0byBnZXQgdGhlIGNvbnRlbnQgb2YgYSByZXNvdXJj
ZSwgYW5kIHRoYXQncyBhd2Z1bCBhbmQgbGltaXRlZCB0byBjZXJ0YWluIG1pbWUgdHlwZXMuCisK
KyAgICAgICAgKiBOZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUHJvY2Vzcy5jcHA6CisgICAgICAgIChX
ZWJLaXQ6Ok5ldHdvcmtQcm9jZXNzOjpyZXF1ZXN0UmVzb3VyY2UpOgorICAgICAgICAqIE5ldHdv
cmtQcm9jZXNzL05ldHdvcmtQcm9jZXNzLmg6CisgICAgICAgICogTmV0d29ya1Byb2Nlc3MvTmV0
d29ya1Byb2Nlc3MubWVzc2FnZXMuaW46CisgICAgICAgICogTmV0d29ya1Byb2Nlc3MvTmV0d29y
a1Nlc3Npb24uaDoKKyAgICAgICAgKFdlYktpdDo6TmV0d29ya1Nlc3Npb246OnJlcXVlc3RSZXNv
dXJjZSk6CisgICAgICAgICogTmV0d29ya1Byb2Nlc3MvY29jb2EvTmV0d29ya1Nlc3Npb25Db2Nv
YS5oOgorICAgICAgICAqIE5ldHdvcmtQcm9jZXNzL2NvY29hL05ldHdvcmtTZXNzaW9uQ29jb2Eu
bW06CisgICAgICAgIChXZWJLaXQ6Ok5ldHdvcmtTZXNzaW9uQ29jb2E6OnJlcXVlc3RSZXNvdXJj
ZSk6CisgICAgICAgICogVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZpZXcubW06CisgICAgICAg
ICgtW1dLV2ViVmlldyBfcmVxdWVzdFJlc291cmNlOmNvbXBsZXRpb25IYW5kbGVyOl0pOgorICAg
ICAgICAqIFVJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJWaWV3UHJpdmF0ZS5oOgorICAgICAgICAq
IFVJUHJvY2Vzcy9OZXR3b3JrL05ldHdvcmtQcm9jZXNzUHJveHkuY3BwOgorICAgICAgICAoV2Vi
S2l0OjpOZXR3b3JrUHJvY2Vzc1Byb3h5OjpyZXF1ZXN0UmVzb3VyY2UpOgorICAgICAgICAqIFVJ
UHJvY2Vzcy9OZXR3b3JrL05ldHdvcmtQcm9jZXNzUHJveHkuaDoKKyAgICAgICAgKiBVSVByb2Nl
c3MvV2ViUGFnZVByb3h5LmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViUGFnZVByb3h5OjpyZXF1
ZXN0UmVzb3VyY2UpOgorICAgICAgICAqIFVJUHJvY2Vzcy9XZWJQYWdlUHJveHkuaDoKKwogMjAy
MS0xMi0wNyAgQWRpdHlhIEtlZXJ0aGkgIDxha2VlcnRoaUBhcHBsZS5jb20+CiAKICAgICAgICAg
W2lPU10gQWRkIGluaXRpYWwgc3VwcG9ydCBmb3IgZmluZC1pbi1wYWdlIFNQSQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUHJvY2Vzcy5jcHAgYi9Tb3Vy
Y2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL05ldHdvcmtQcm9jZXNzLmNwcAppbmRleCA0NzJjOGI1
N2MzMmMzNWY4OWJlMGIxNzgxZmJkZWM4Y2YzZGFjOGJiLi40M2Y1YmJlN2IxYWJlMDlkZDc3NGM5
MmI1YzBlNGY0MmRjZTFkZGI3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9j
ZXNzL05ldHdvcmtQcm9jZXNzLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNz
L05ldHdvcmtQcm9jZXNzLmNwcApAQCAtMjE2OSw2ICsyMTY5LDE1IEBAIHZvaWQgTmV0d29ya1By
b2Nlc3M6OmZpbmRQZW5kaW5nRG93bmxvYWRMb2NhdGlvbihOZXR3b3JrRGF0YVRhc2smIG5ldHdv
cmtEYXRhVGFzCiAgICAgfSwgZGVzdGluYXRpb25JRCk7CiB9CiAKK3ZvaWQgTmV0d29ya1Byb2Nl
c3M6OnJlcXVlc3RSZXNvdXJjZShXZWJQYWdlUHJveHlJZGVudGlmaWVyIHBhZ2VJRCwgUEFMOjpT
ZXNzaW9uSUQgc2Vzc2lvbklELCBXZWJDb3JlOjpSZXNvdXJjZVJlcXVlc3QmJiByZXF1ZXN0LCBJ
UEM6OkZvcm1EYXRhUmVmZXJlbmNlJiYgaHR0cEJvZHksIENvbXBsZXRpb25IYW5kbGVyPHZvaWQo
SVBDOjpEYXRhUmVmZXJlbmNlLCBXZWJDb3JlOjpSZXNvdXJjZVJlc3BvbnNlLCBXZWJDb3JlOjpS
ZXNvdXJjZUVycm9yKT4mJiBjb21wbGV0aW9uSGFuZGxlcikKK3sKKyAgICByZXF1ZXN0LnNldEhU
VFBCb2R5KGh0dHBCb2R5LnRha2VEYXRhKCkpOworICAgIGlmIChhdXRvKiBuZXR3b3JrU2Vzc2lv
biA9IG1fbmV0d29ya1Nlc3Npb25zLmdldChzZXNzaW9uSUQpKQorICAgICAgICBuZXR3b3JrU2Vz
c2lvbi0+cmVxdWVzdFJlc291cmNlKHBhZ2VJRCwgV1RGTW92ZShyZXF1ZXN0KSwgV1RGTW92ZShj
b21wbGV0aW9uSGFuZGxlcikpOworICAgIGVsc2UKKyAgICAgICAgY29tcGxldGlvbkhhbmRsZXIo
eyB9LCB7IH0sIHsgfSk7Cit9CisKIHZvaWQgTmV0d29ya1Byb2Nlc3M6OnNldENhY2hlTW9kZWxT
eW5jaHJvbm91c2x5Rm9yVGVzdGluZyhDYWNoZU1vZGVsIGNhY2hlTW9kZWwsIENvbXBsZXRpb25I
YW5kbGVyPHZvaWQoKT4mJiBjb21wbGV0aW9uSGFuZGxlcikKIHsKICAgICBzZXRDYWNoZU1vZGVs
KGNhY2hlTW9kZWwpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9O
ZXR3b3JrUHJvY2Vzcy5oIGIvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUHJv
Y2Vzcy5oCmluZGV4IDlkMzJkNTc5NzNhMGViYWMxZDA3MTc1YzZkZjg3OWQ0NjZjZTY4YTguLjli
YzU3ZWUzN2ViNjA5YzM5N2VkN2UzZDIyZjU1ZTA2NGQwMmUwMTcgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Byb2Nlc3MuaAorKysgYi9Tb3VyY2UvV2Vi
S2l0L05ldHdvcmtQcm9jZXNzL05ldHdvcmtQcm9jZXNzLmgKQEAgLTQ1NSw2ICs0NTUsNyBAQCBw
cml2YXRlOgogICAgIHZvaWQgcHVibGlzaERvd25sb2FkUHJvZ3Jlc3MoRG93bmxvYWRJRCwgY29u
c3QgVVJMJiwgU2FuZGJveEV4dGVuc2lvbjo6SGFuZGxlJiYpOwogI2VuZGlmCiAgICAgdm9pZCBj
b250aW51ZVdpbGxTZW5kUmVxdWVzdChEb3dubG9hZElELCBXZWJDb3JlOjpSZXNvdXJjZVJlcXVl
c3QmJik7CisgICAgdm9pZCByZXF1ZXN0UmVzb3VyY2UoV2ViUGFnZVByb3h5SWRlbnRpZmllciwg
UEFMOjpTZXNzaW9uSUQsIFdlYkNvcmU6OlJlc291cmNlUmVxdWVzdCYmLCBJUEM6OkZvcm1EYXRh
UmVmZXJlbmNlJiYsIENvbXBsZXRpb25IYW5kbGVyPHZvaWQoSVBDOjpEYXRhUmVmZXJlbmNlLCBX
ZWJDb3JlOjpSZXNvdXJjZVJlc3BvbnNlLCBXZWJDb3JlOjpSZXNvdXJjZUVycm9yKT4mJik7CiAg
ICAgdm9pZCBhcHBsaWNhdGlvbkRpZEVudGVyQmFja2dyb3VuZCgpOwogICAgIHZvaWQgYXBwbGlj
YXRpb25XaWxsRW50ZXJGb3JlZ3JvdW5kKCk7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQv
TmV0d29ya1Byb2Nlc3MvTmV0d29ya1Byb2Nlc3MubWVzc2FnZXMuaW4gYi9Tb3VyY2UvV2ViS2l0
L05ldHdvcmtQcm9jZXNzL05ldHdvcmtQcm9jZXNzLm1lc3NhZ2VzLmluCmluZGV4IDMyYWIzODQw
YjY2YTdjNzhkNTNhMzU0NTkxMjBkZGRiMmNmNGU5YmMuLjhkMzRlNzEzOTY2YzdlOTBhYjQzNWIx
YmZkZDNlM2QzYjZjMjA4M2MgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nl
c3MvTmV0d29ya1Byb2Nlc3MubWVzc2FnZXMuaW4KKysrIGIvU291cmNlL1dlYktpdC9OZXR3b3Jr
UHJvY2Vzcy9OZXR3b3JrUHJvY2Vzcy5tZXNzYWdlcy5pbgpAQCAtNTMsNiArNTMsNyBAQCBtZXNz
YWdlcyAtPiBOZXR3b3JrUHJvY2VzcyBMZWdhY3lSZWNlaXZlciB7CiAjaWYgUExBVEZPUk0oQ09D
T0EpCiAgICAgUHVibGlzaERvd25sb2FkUHJvZ3Jlc3MoV2ViS2l0OjpEb3dubG9hZElEIGRvd25s
b2FkSUQsIFVSTCB1cmwsIFdlYktpdDo6U2FuZGJveEV4dGVuc2lvbjo6SGFuZGxlIHNhbmRib3hF
eHRlbnNpb25IYW5kbGUpCiAjZW5kaWYKKyAgICBSZXF1ZXN0UmVzb3VyY2UoV2ViS2l0OjpXZWJQ
YWdlUHJveHlJZGVudGlmaWVyIHBhZ2VJRCwgUEFMOjpTZXNzaW9uSUQgc2Vzc2lvbklELCBXZWJD
b3JlOjpSZXNvdXJjZVJlcXVlc3QgcmVxdWVzdCwgSVBDOjpGb3JtRGF0YVJlZmVyZW5jZSByZXF1
ZXN0Qm9keSkgLT4gKElQQzo6RGF0YVJlZmVyZW5jZSBkYXRhLCBXZWJDb3JlOjpSZXNvdXJjZVJl
c3BvbnNlIHJlc3BvbnNlLCBXZWJDb3JlOjpSZXNvdXJjZUVycm9yIGVycm9yKSBBc3luYwogICAg
IEFwcGxpY2F0aW9uRGlkRW50ZXJCYWNrZ3JvdW5kKCkKICAgICBBcHBsaWNhdGlvbldpbGxFbnRl
ckZvcmVncm91bmQoKQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNz
L05ldHdvcmtTZXNzaW9uLmggYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL05ldHdvcmtT
ZXNzaW9uLmgKaW5kZXggZGE2MjAxMzkzZTE1MDY3YzZhNTI2ZDgxYzhiYTAxZTE1MTY3YTIwOC4u
Zjg1MTFmZjE1OGJjNTVmOTdhZGJlMjA1ZDc4MWFiMmM2NjQwMGVmMCAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrU2Vzc2lvbi5oCisrKyBiL1NvdXJjZS9X
ZWJLaXQvTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Nlc3Npb24uaApAQCAtMjYsNiArMjYsNyBAQAog
I3ByYWdtYSBvbmNlCiAKICNpbmNsdWRlICJBcHBQcml2YWN5UmVwb3J0LmgiCisjaW5jbHVkZSAi
RGF0YVJlZmVyZW5jZS5oIgogI2luY2x1ZGUgIk5hdmlnYXRpbmdUb0FwcEJvdW5kRG9tYWluLmgi
CiAjaW5jbHVkZSAiTmV0d29ya05vdGlmaWNhdGlvbk1hbmFnZXIuaCIKICNpbmNsdWRlICJOZXR3
b3JrUmVzb3VyY2VMb2FkSWRlbnRpZmllci5oIgpAQCAtMTkzLDYgKzE5NCw3IEBAIHB1YmxpYzoK
IAogICAgIHZpcnR1YWwgdm9pZCByZW1vdmVOZXR3b3JrV2Vic2l0ZURhdGEoc3RkOjpvcHRpb25h
bDxXYWxsVGltZT4sIHN0ZDo6b3B0aW9uYWw8SGFzaFNldDxXZWJDb3JlOjpSZWdpc3RyYWJsZURv
bWFpbj4+JiYsIENvbXBsZXRpb25IYW5kbGVyPHZvaWQoKT4mJiBjb21wbGV0aW9uSGFuZGxlcikg
eyBjb21wbGV0aW9uSGFuZGxlcigpOyB9CiAKKyAgICB2aXJ0dWFsIHZvaWQgcmVxdWVzdFJlc291
cmNlKFdlYlBhZ2VQcm94eUlkZW50aWZpZXIsIFdlYkNvcmU6OlJlc291cmNlUmVxdWVzdCYmLCBD
b21wbGV0aW9uSGFuZGxlcjx2b2lkKGNvbnN0IElQQzo6RGF0YVJlZmVyZW5jZSYsIFdlYkNvcmU6
OlJlc291cmNlUmVzcG9uc2UmJiwgV2ViQ29yZTo6UmVzb3VyY2VFcnJvciYmKT4mJikgeyB9CiAg
ICAgdmlydHVhbCB2b2lkIGFkZFdlYlBhZ2VOZXR3b3JrUGFyYW1ldGVycyhXZWJQYWdlUHJveHlJ
ZGVudGlmaWVyLCBXZWJQYWdlTmV0d29ya1BhcmFtZXRlcnMmJikgeyB9CiAgICAgdmlydHVhbCB2
b2lkIHJlbW92ZVdlYlBhZ2VOZXR3b3JrUGFyYW1ldGVycyhXZWJQYWdlUHJveHlJZGVudGlmaWVy
KSB7IH0KICAgICB2aXJ0dWFsIHNpemVfdCBjb3VudE5vbkRlZmF1bHRTZXNzaW9uU2V0cygpIGNv
bnN0IHsgcmV0dXJuIDA7IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nl
c3MvY29jb2EvTmV0d29ya1Nlc3Npb25Db2NvYS5oIGIvU291cmNlL1dlYktpdC9OZXR3b3JrUHJv
Y2Vzcy9jb2NvYS9OZXR3b3JrU2Vzc2lvbkNvY29hLmgKaW5kZXggMGU1NjgxMjliYWJhNTMwMDAy
ZjljNWU1OGRiZWU3NWQ3ZTE5YzIzNi4uZjdlNjQzYTJhZDNjN2FhN2Y2NjMwOWVmZDMxODBmMDll
ZTNmYjRiMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9jb2NvYS9O
ZXR3b3JrU2Vzc2lvbkNvY29hLmgKKysrIGIvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9j
b2NvYS9OZXR3b3JrU2Vzc2lvbkNvY29hLmgKQEAgLTE2Miw2ICsxNjIsNyBAQCBwcml2YXRlOgog
ICAgIHZvaWQgcmVtb3ZlV2ViU29ja2V0VGFzayhTZXNzaW9uU2V0JiwgV2ViU29ja2V0VGFzayYp
IGZpbmFsOwogI2VuZGlmCiAKKyAgICB2b2lkIHJlcXVlc3RSZXNvdXJjZShXZWJQYWdlUHJveHlJ
ZGVudGlmaWVyLCBXZWJDb3JlOjpSZXNvdXJjZVJlcXVlc3QmJiwgQ29tcGxldGlvbkhhbmRsZXI8
dm9pZChjb25zdCBJUEM6OkRhdGFSZWZlcmVuY2UmLCBXZWJDb3JlOjpSZXNvdXJjZVJlc3BvbnNl
JiYsIFdlYkNvcmU6OlJlc291cmNlRXJyb3ImJik+JiYpIGZpbmFsOwogICAgIHZvaWQgYWRkV2Vi
UGFnZU5ldHdvcmtQYXJhbWV0ZXJzKFdlYlBhZ2VQcm94eUlkZW50aWZpZXIsIFdlYlBhZ2VOZXR3
b3JrUGFyYW1ldGVycyYmKSBmaW5hbDsKICAgICB2b2lkIHJlbW92ZVdlYlBhZ2VOZXR3b3JrUGFy
YW1ldGVycyhXZWJQYWdlUHJveHlJZGVudGlmaWVyKSBmaW5hbDsKICAgICBzaXplX3QgY291bnRO
b25EZWZhdWx0U2Vzc2lvblNldHMoKSBjb25zdCBmaW5hbDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQvTmV0d29ya1Byb2Nlc3MvY29jb2EvTmV0d29ya1Nlc3Npb25Db2NvYS5tbSBiL1NvdXJj
ZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvY29jb2EvTmV0d29ya1Nlc3Npb25Db2NvYS5tbQppbmRl
eCBkOTNhYzllYjJmMTA0NWUxM2U1NzI1YTQ3ZjBlNzY5MTU3MmI2YzQxLi5lYWUwMDViMzdhYTJl
NjEzMGRkMGRkNGI1NzgwZjE3MTczNTI2OGM0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L05l
dHdvcmtQcm9jZXNzL2NvY29hL05ldHdvcmtTZXNzaW9uQ29jb2EubW0KKysrIGIvU291cmNlL1dl
YktpdC9OZXR3b3JrUHJvY2Vzcy9jb2NvYS9OZXR3b3JrU2Vzc2lvbkNvY29hLm1tCkBAIC0xNzcz
LDYgKzE3NzMsMTYgQEAgdm9pZCBOZXR3b3JrU2Vzc2lvbkNvY29hOjphZGRXZWJQYWdlTmV0d29y
a1BhcmFtZXRlcnMoV2ViUGFnZVByb3h5SWRlbnRpZmllciBwYWcKICAgICBtX2F0dHJpYnV0ZWRC
dW5kbGVJZGVudGlmaWVyRnJvbVBhZ2VJZGVudGlmaWVycy5hZGQocGFnZUlELCBwYXJhbWV0ZXJz
LmF0dHJpYnV0ZWRCdW5kbGVJZGVudGlmaWVyKCkpOwogfQogCit2b2lkIE5ldHdvcmtTZXNzaW9u
Q29jb2E6OnJlcXVlc3RSZXNvdXJjZShXZWJQYWdlUHJveHlJZGVudGlmaWVyIHBhZ2VJRCwgV2Vi
Q29yZTo6UmVzb3VyY2VSZXF1ZXN0JiYgcmVxdWVzdCwgQ29tcGxldGlvbkhhbmRsZXI8dm9pZChj
b25zdCBJUEM6OkRhdGFSZWZlcmVuY2UmLCBXZWJDb3JlOjpSZXNvdXJjZVJlc3BvbnNlJiYsIFdl
YkNvcmU6OlJlc291cmNlRXJyb3ImJik+JiYgY29tcGxldGlvbkhhbmRsZXIpCit7CisgICAgYXV0
byBzZXNzaW9uID0gc2Vzc2lvbldyYXBwZXJGb3JUYXNrKHBhZ2VJRCwgcmVxdWVzdCwgV2ViQ29y
ZTo6U3RvcmVkQ3JlZGVudGlhbHNQb2xpY3k6OlVzZSwgc3RkOjpudWxsb3B0KS5zZXNzaW9uOwor
ICAgIGF1dG8gbnNSZXF1ZXN0ID0gcmVxdWVzdC5uc1VSTFJlcXVlc3QoV2ViQ29yZTo6SFRUUEJv
ZHlVcGRhdGVQb2xpY3k6OlVwZGF0ZUhUVFBCb2R5KTsKKyAgICBhdXRvIGNvbXBsZXRpb25CbG9j
ayA9IG1ha2VCbG9ja1B0cihbY29tcGxldGlvbkhhbmRsZXIgPSBXVEZNb3ZlKGNvbXBsZXRpb25I
YW5kbGVyKV0gKE5TRGF0YSAqZGF0YSwgTlNVUkxSZXNwb25zZSAqcmVzcG9uc2UsIE5TRXJyb3Ig
KmVycm9yKSBtdXRhYmxlIHsKKyAgICAgICAgY29tcGxldGlvbkhhbmRsZXIoSVBDOjpEYXRhUmVm
ZXJlbmNlIHsgc3RhdGljX2Nhc3Q8Y29uc3QgdWludDhfdCo+KGRhdGEuYnl0ZXMpLCBkYXRhLmxl
bmd0aCB9LCBXZWJDb3JlOjpSZXNvdXJjZVJlc3BvbnNlIHsgcmVzcG9uc2UgfSwgV2ViQ29yZTo6
UmVzb3VyY2VFcnJvciB7IGVycm9yIH0pOworICAgIH0pOworICAgIFtbc2Vzc2lvbiBkYXRhVGFz
a1dpdGhSZXF1ZXN0Om5zUmVxdWVzdCBjb21wbGV0aW9uSGFuZGxlcjpjb21wbGV0aW9uQmxvY2su
Z2V0KCldIHJlc3VtZV07Cit9CisKIHZvaWQgTmV0d29ya1Nlc3Npb25Db2NvYTo6cmVtb3ZlV2Vi
UGFnZU5ldHdvcmtQYXJhbWV0ZXJzKFdlYlBhZ2VQcm94eUlkZW50aWZpZXIgcGFnZUlEKQogewog
ICAgIG1fcGVyUGFnZVNlc3Npb25TZXRzLnJlbW92ZShwYWdlSUQpOwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL1dLV2ViVmlldy5tbSBiL1NvdXJjZS9XZWJL
aXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZpZXcubW0KaW5kZXggYzRlZTUyNTA3NjQyZGI0
ZTU0Y2ZhZGY3ZmVlM2JmMWI3YzBkM2QzYy4uYTcyZDBkMmM5MmQ3ZGVkNDVlMGU0MTBiNDFkY2I4
ZmI0ZGE1YWU4NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29h
L1dLV2ViVmlldy5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tX
ZWJWaWV3Lm1tCkBAIC0yMjE3LDYgKzIyMTcsMTUgQEAgc3RhdGljIFJldGFpblB0cjxOU0FycmF5
PiB3a1RleHRNYW5pcHVsYXRpb25FcnJvcnMoTlNBcnJheTxfV0tUZXh0TWFuaXB1bGF0aW9uSXQK
ICNlbmRpZgogfQogCistICh2b2lkKV9yZXF1ZXN0UmVzb3VyY2U6KE5TVVJMUmVxdWVzdCAqKXJl
cXVlc3QgY29tcGxldGlvbkhhbmRsZXI6KHZvaWQoXikoTlNEYXRhICosIE5TVVJMUmVzcG9uc2Ug
KiwgTlNFcnJvciAqKSljb21wbGV0aW9uSGFuZGxlcgoreworICAgIF9wYWdlLT5yZXF1ZXN0UmVz
b3VyY2UocmVxdWVzdCwgW2NvbXBsZXRpb25IYW5kbGVyID0gbWFrZUJsb2NrUHRyKGNvbXBsZXRp
b25IYW5kbGVyKV0gKFJlZjxXZWJDb3JlOjpTaGFyZWRCdWZmZXI+JiYgYnVmZmVyLCBXZWJDb3Jl
OjpSZXNvdXJjZVJlc3BvbnNlJiYgcmVzcG9uc2UsIFdlYkNvcmU6OlJlc291cmNlRXJyb3ImJiBl
cnJvcikgeworICAgICAgICBpZiAoZXJyb3IuaXNOdWxsKCkpCisgICAgICAgICAgICByZXR1cm4g
Y29tcGxldGlvbkhhbmRsZXIoYnVmZmVyLT5jcmVhdGVOU0RhdGEoKS5nZXQoKSwgcmVzcG9uc2Uu
bnNVUkxSZXNwb25zZSgpLCBuaWwpOworICAgICAgICBjb21wbGV0aW9uSGFuZGxlcihuaWwsIG5p
bCwgZXJyb3IubnNFcnJvcigpKTsKKyAgICB9KTsKK30KKwogLSAodm9pZClfdGFrZUZpbmRTdHJp
bmdGcm9tU2VsZWN0aW9uOihpZClzZW5kZXIKIHsKICAgICBUSFJPV19JRl9TVVNQRU5ERUQ7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJWaWV3UHJp
dmF0ZS5oIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL1dLV2ViVmlld1ByaXZh
dGUuaAppbmRleCA3ZWRiMjc2MGQ1NmQyMGU0N2MzNjhiNzJlZmMwMmI2MTNiYmJlNjRiLi43ZDRh
ZTI4MjczMDc5YzhmZGZkMGEzNjU2MzNkYWJmZDgyMjVlOWEzIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJWaWV3UHJpdmF0ZS5oCisrKyBiL1NvdXJj
ZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZpZXdQcml2YXRlLmgKQEAgLTQyMiw2
ICs0MjIsOCBAQCBmb3IgdGhpcyBwcm9wZXJ0eS4KIAogLSAodm9pZClfc3RhcnRJbWFnZUFuYWx5
c2lzOihOU1N0cmluZyAqKWlkZW50aWZpZXIgV0tfQVBJX0FWQUlMQUJMRShtYWNvcyhXS19NQUNf
VEJBKSwgaW9zKFdLX0lPU19UQkEpKTsKIAorLSAodm9pZClfcmVxdWVzdFJlc291cmNlOihOU1VS
TFJlcXVlc3QgKilyZXF1ZXN0IGNvbXBsZXRpb25IYW5kbGVyOih2b2lkKF4pKE5TRGF0YSAqLCBO
U1VSTFJlc3BvbnNlICosIE5TRXJyb3IgKikpY29tcGxldGlvbkhhbmRsZXIgV0tfQVBJX0FWQUlM
QUJMRShtYWNvcyhXS19NQUNfVEJBKSwgaW9zKFdLX0lPU19UQkEpKTsKKwogQGVuZAogCiAjaWYg
VEFSR0VUX09TX0lQSE9ORQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvTmV0
d29yay9OZXR3b3JrUHJvY2Vzc1Byb3h5LmNwcCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL05l
dHdvcmsvTmV0d29ya1Byb2Nlc3NQcm94eS5jcHAKaW5kZXggZWM5YjM1Mzc2YjlhMzNjOTdmNGE1
MDc2MzhkNTBlNDM2YWQ5ZGUxNC4uMzUzZTVmNDY2ZjZhY2JhNzZlYmZjZjM5ZDI3M2JhYTNjMTU2
MmY5MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvTmV0d29yay9OZXR3b3Jr
UHJvY2Vzc1Byb3h5LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9OZXR3b3JrL05l
dHdvcmtQcm9jZXNzUHJveHkuY3BwCkBAIC0zMzUsNiArMzM1LDE0IEBAIERvd25sb2FkUHJveHkm
IE5ldHdvcmtQcm9jZXNzUHJveHk6OmNyZWF0ZURvd25sb2FkUHJveHkoV2Vic2l0ZURhdGFTdG9y
ZSYgZGF0YVN0CiAgICAgcmV0dXJuIG1fZG93bmxvYWRQcm94eU1hcC0+Y3JlYXRlRG93bmxvYWRQ
cm94eShkYXRhU3RvcmUsIHByb2Nlc3NQb29sLCByZXNvdXJjZVJlcXVlc3QsIGZyYW1lSW5mbywg
b3JpZ2luYXRpbmdQYWdlKTsKIH0KIAordm9pZCBOZXR3b3JrUHJvY2Vzc1Byb3h5OjpyZXF1ZXN0
UmVzb3VyY2UoV2ViUGFnZVByb3h5SWRlbnRpZmllciBwYWdlSUQsIFBBTDo6U2Vzc2lvbklEIHNl
c3Npb25JRCwgV2ViQ29yZTo6UmVzb3VyY2VSZXF1ZXN0JiYgcmVxdWVzdCwgQ29tcGxldGlvbkhh
bmRsZXI8dm9pZChSZWY8V2ViQ29yZTo6U2hhcmVkQnVmZmVyPiYmLCBXZWJDb3JlOjpSZXNvdXJj
ZVJlc3BvbnNlJiYsIFdlYkNvcmU6OlJlc291cmNlRXJyb3ImJik+JiYgY29tcGxldGlvbkhhbmRs
ZXIpCit7CisgICAgc2VuZFdpdGhBc3luY1JlcGx5KE1lc3NhZ2VzOjpOZXR3b3JrUHJvY2Vzczo6
UmVxdWVzdFJlc291cmNlKHBhZ2VJRCwgc2Vzc2lvbklELCByZXF1ZXN0LCBJUEM6OkZvcm1EYXRh
UmVmZXJlbmNlKHJlcXVlc3QuaHR0cEJvZHkoKSkpLCBbY29tcGxldGlvbkhhbmRsZXIgPSBXVEZN
b3ZlKGNvbXBsZXRpb25IYW5kbGVyKV0gKElQQzo6RGF0YVJlZmVyZW5jZSYmIGRhdGEsIFdlYkNv
cmU6OlJlc291cmNlUmVzcG9uc2UmJiByZXNwb25zZSwgV2ViQ29yZTo6UmVzb3VyY2VFcnJvciYm
IGVycm9yKSBtdXRhYmxlIHsKKyAgICAgICAgYXV0byBidWZmZXIgPSBTaGFyZWRCdWZmZXI6OmNy
ZWF0ZShkYXRhLmRhdGEoKSwgZGF0YS5zaXplKCkpOworICAgICAgICBjb21wbGV0aW9uSGFuZGxl
cihXVEZNb3ZlKGJ1ZmZlciksIFdURk1vdmUocmVzcG9uc2UpLCBXVEZNb3ZlKGVycm9yKSk7Cisg
ICAgfSk7Cit9CisKIHZvaWQgTmV0d29ya1Byb2Nlc3NQcm94eTo6ZmV0Y2hXZWJzaXRlRGF0YShQ
QUw6OlNlc3Npb25JRCBzZXNzaW9uSUQsIE9wdGlvblNldDxXZWJzaXRlRGF0YVR5cGU+IGRhdGFU
eXBlcywgT3B0aW9uU2V0PFdlYnNpdGVEYXRhRmV0Y2hPcHRpb24+IGZldGNoT3B0aW9ucywgQ29t
cGxldGlvbkhhbmRsZXI8dm9pZChXZWJzaXRlRGF0YSk+JiYgY29tcGxldGlvbkhhbmRsZXIpCiB7
CiAgICAgc2VuZFdpdGhBc3luY1JlcGx5KE1lc3NhZ2VzOjpOZXR3b3JrUHJvY2Vzczo6RmV0Y2hX
ZWJzaXRlRGF0YShzZXNzaW9uSUQsIGRhdGFUeXBlcywgZmV0Y2hPcHRpb25zKSwgV1RGTW92ZShj
b21wbGV0aW9uSGFuZGxlcikpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3Mv
TmV0d29yay9OZXR3b3JrUHJvY2Vzc1Byb3h5LmggYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9O
ZXR3b3JrL05ldHdvcmtQcm9jZXNzUHJveHkuaAppbmRleCA0NDFiODZlMTg5YzJjZjE3MjQ0ZDhh
ZGUzZDdlZDA1ZmY4NzkwMGU2Li5iOWU3MjJmMmRiM2NjOThlNmMyZDBkODhmNjgxNzEwYTcwMDg0
YTA3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9OZXR3b3JrL05ldHdvcmtQ
cm9jZXNzUHJveHkuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9OZXR3b3JrL05ldHdv
cmtQcm9jZXNzUHJveHkuaApAQCAtMTIyLDYgKzEyMiw3IEBAIHB1YmxpYzoKICAgICB2b2lkIGdl
dE5ldHdvcmtQcm9jZXNzQ29ubmVjdGlvbihXZWJQcm9jZXNzUHJveHkmLCBNZXNzYWdlczo6V2Vi
UHJvY2Vzc1Byb3h5OjpHZXROZXR3b3JrUHJvY2Vzc0Nvbm5lY3Rpb25EZWxheWVkUmVwbHkmJik7
CiAKICAgICBEb3dubG9hZFByb3h5JiBjcmVhdGVEb3dubG9hZFByb3h5KFdlYnNpdGVEYXRhU3Rv
cmUmLCBXZWJQcm9jZXNzUG9vbCYsIGNvbnN0IFdlYkNvcmU6OlJlc291cmNlUmVxdWVzdCYsIGNv
bnN0IEZyYW1lSW5mb0RhdGEmLCBXZWJQYWdlUHJveHkqIG9yaWdpbmF0aW5nUGFnZSk7CisgICAg
dm9pZCByZXF1ZXN0UmVzb3VyY2UoV2ViUGFnZVByb3h5SWRlbnRpZmllciwgUEFMOjpTZXNzaW9u
SUQsIFdlYkNvcmU6OlJlc291cmNlUmVxdWVzdCYmLCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKFJl
ZjxXZWJDb3JlOjpTaGFyZWRCdWZmZXI+JiYsIFdlYkNvcmU6OlJlc291cmNlUmVzcG9uc2UmJiwg
V2ViQ29yZTo6UmVzb3VyY2VFcnJvciYmKT4mJik7CiAKICAgICB2b2lkIGZldGNoV2Vic2l0ZURh
dGEoUEFMOjpTZXNzaW9uSUQsIE9wdGlvblNldDxXZWJzaXRlRGF0YVR5cGU+LCBPcHRpb25TZXQ8
V2Vic2l0ZURhdGFGZXRjaE9wdGlvbj4sIENvbXBsZXRpb25IYW5kbGVyPHZvaWQoV2Vic2l0ZURh
dGEpPiYmKTsKICAgICB2b2lkIGRlbGV0ZVdlYnNpdGVEYXRhKFBBTDo6U2Vzc2lvbklELCBPcHRp
b25TZXQ8V2Vic2l0ZURhdGFUeXBlPiwgV2FsbFRpbWUgbW9kaWZpZWRTaW5jZSwgQ29tcGxldGlv
bkhhbmRsZXI8dm9pZCgpPiYmIGNvbXBsZXRpb25IYW5kbGVyKTsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5jcHAgYi9Tb3VyY2UvV2ViS2l0L1VJUHJv
Y2Vzcy9XZWJQYWdlUHJveHkuY3BwCmluZGV4IGI5ZjE1ZmU5YmFjYjYxOTMxNGM1OGEyNGNhMmE4
ZWY1NTJjZDU4MzQuLjAyYTAwMjgyODU4OWIyZmQ3YTVlNzBmMDA3ZTJiYTc3YzEwYTViY2UgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5jcHAKKysrIGIv
U291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmNwcApAQCAtNjM3Nyw2ICs2Mzc3
LDExIEBAIHZvaWQgV2ViUGFnZVByb3h5Ojpkb3dubG9hZFJlcXVlc3QoV2ViQ29yZTo6UmVzb3Vy
Y2VSZXF1ZXN0JiYgcmVxdWVzdCwgQ29tcGxldGlvCiAgICAgZG93bmxvYWQuc2V0RGlkU3RhcnRD
YWxsYmFjayhXVEZNb3ZlKGNvbXBsZXRpb25IYW5kbGVyKSk7CiB9CiAKK3ZvaWQgV2ViUGFnZVBy
b3h5OjpyZXF1ZXN0UmVzb3VyY2UoV2ViQ29yZTo6UmVzb3VyY2VSZXF1ZXN0JiYgcmVxdWVzdCwg
Q29tcGxldGlvbkhhbmRsZXI8dm9pZChSZWY8V2ViQ29yZTo6U2hhcmVkQnVmZmVyPiYmLCBXZWJD
b3JlOjpSZXNvdXJjZVJlc3BvbnNlJiYsIFdlYkNvcmU6OlJlc291cmNlRXJyb3ImJik+JiYgY29t
cGxldGlvbkhhbmRsZXIpCit7CisgICAgd2Vic2l0ZURhdGFTdG9yZSgpLm5ldHdvcmtQcm9jZXNz
KCkucmVxdWVzdFJlc291cmNlKGlkZW50aWZpZXIoKSwgc2Vzc2lvbklEKCksIFdURk1vdmUocmVx
dWVzdCksIFdURk1vdmUoY29tcGxldGlvbkhhbmRsZXIpKTsKK30KKwogdm9pZCBXZWJQYWdlUHJv
eHk6OmRpZENoYW5nZUNvbnRlbnRTaXplKGNvbnN0IEludFNpemUmIHNpemUpCiB7CiAgICAgcGFn
ZUNsaWVudCgpLmRpZENoYW5nZUNvbnRlbnRTaXplKHNpemUpOwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmggYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vz
cy9XZWJQYWdlUHJveHkuaAppbmRleCAzMDBkMjZkNzYzYzYzZDM2NDBjYzE3N2QwOTVmYWUwZmMw
NjM3ZGNiLi4yNWQ5MWM5MmYyNzY1MTg1NjU5Y2VmZDRiZjlhYjA3ZDZlYmMwYWMxIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuaAorKysgYi9Tb3VyY2Uv
V2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuaApAQCAtMTM3NCw2ICsxMzc0LDcgQEAgcHVi
bGljOgogICAgIHZvaWQgaGFuZGxlRG93bmxvYWRSZXF1ZXN0KERvd25sb2FkUHJveHkmKTsKICAg
ICB2b2lkIHJlc3VtZURvd25sb2FkKGNvbnN0IEFQSTo6RGF0YSYgcmVzdW1lRGF0YSwgY29uc3Qg
U3RyaW5nJiBwYXRoLCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKERvd25sb2FkUHJveHkqKT4mJik7
CiAgICAgdm9pZCBkb3dubG9hZFJlcXVlc3QoV2ViQ29yZTo6UmVzb3VyY2VSZXF1ZXN0JiYsIENv
bXBsZXRpb25IYW5kbGVyPHZvaWQoRG93bmxvYWRQcm94eSopPiYmKTsKKyAgICB2b2lkIHJlcXVl
c3RSZXNvdXJjZShXZWJDb3JlOjpSZXNvdXJjZVJlcXVlc3QmJiwgQ29tcGxldGlvbkhhbmRsZXI8
dm9pZChSZWY8V2ViQ29yZTo6U2hhcmVkQnVmZmVyPiYmLCBXZWJDb3JlOjpSZXNvdXJjZVJlc3Bv
bnNlJiYsIFdlYkNvcmU6OlJlc291cmNlRXJyb3ImJik+JiYpOwogCiAgICAgdm9pZCBhZHZhbmNl
VG9OZXh0TWlzc3BlbGxpbmcoYm9vbCBzdGFydEJlZm9yZVNlbGVjdGlvbik7CiAgICAgdm9pZCBj
aGFuZ2VTcGVsbGluZ1RvV29yZChjb25zdCBTdHJpbmcmIHdvcmQpOwpkaWZmIC0tZ2l0IGEvVG9v
bHMvQ2hhbmdlTG9nIGIvVG9vbHMvQ2hhbmdlTG9nCmluZGV4IGEzZGZkM2QwZWMxMTg0MDY1ZTg4
Y2Q3MDMyZjI2MTkwYTdhNmI0YWUuLmNkMjA2Y2QyNjM3NTdhNjFmY2Q5NDQ3NGMxMWE0M2I0Njkz
YmRlZDIgMTAwNjQ0Ci0tLSBhL1Rvb2xzL0NoYW5nZUxvZworKysgYi9Ub29scy9DaGFuZ2VMb2cK
QEAgLTEsMyArMSwxMyBAQAorMjAyMS0xMi0wOCAgQWxleCBDaHJpc3RlbnNlbiAgPGFjaHJpc3Rl
bnNlbkB3ZWJraXQub3JnPgorCisgICAgICAgIEFkZCBTUEkgdG8gbG9hZCBhIHJlc291cmNlIGlu
IHRoZSBjb250ZXh0IG9mIGEgcGFnZQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9MjMzOTA4CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BT
ISkuCisKKyAgICAgICAgKiBUZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdENvY29hL05ldHdvcmtQ
cm9jZXNzLm1tOgorICAgICAgICAoVEVTVCk6CisKIDIwMjEtMTItMDcgIEFkaXR5YSBLZWVydGhp
ICA8YWtlZXJ0aGlAYXBwbGUuY29tPgogCiAgICAgICAgIFtpT1NdIEFkZCBpbml0aWFsIHN1cHBv
cnQgZm9yIGZpbmQtaW4tcGFnZSBTUEkKZGlmZiAtLWdpdCBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkv
VGVzdHMvV2ViS2l0Q29jb2EvTmV0d29ya1Byb2Nlc3MubW0gYi9Ub29scy9UZXN0V2ViS2l0QVBJ
L1Rlc3RzL1dlYktpdENvY29hL05ldHdvcmtQcm9jZXNzLm1tCmluZGV4IDVkOTAwNzMzNTA3OGYw
OWI3MDE4NzFkN2EwOWU5YWIwNzYxZTQ5NTIuLmMyMTBhZmRmNTVjOTlkNjUwMWFhMmEyOTc2ZjZh
MjZlYTRmOWZlOTMgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0
Q29jb2EvTmV0d29ya1Byb2Nlc3MubW0KKysrIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9X
ZWJLaXRDb2NvYS9OZXR3b3JrUHJvY2Vzcy5tbQpAQCAtMzQ0LDMgKzM0NCw1MCBAQCBURVNUKE5l
dHdvcmtQcm9jZXNzLCBCcm9hZGNhc3RDaGFubmVsQ3Jhc2hSZWNvdmVyeSkKICAgICBFWFBFQ1Rf
RVEod2ViUElEMSwgW3dlYlZpZXcxIF93ZWJQcm9jZXNzSWRlbnRpZmllcl0pOwogICAgIEVYUEVD
VF9FUSh3ZWJQSUQyLCBbd2ViVmlldzIgX3dlYlByb2Nlc3NJZGVudGlmaWVyXSk7CiB9CisKK1RF
U1QoTmV0d29ya1Byb2Nlc3MsIExvYWRSZXNvdXJjZSkKK3sKKyAgICB1c2luZyBuYW1lc3BhY2Ug
VGVzdFdlYktpdEFQSTsKKyAgICBhdXRvIGh0bWwgPSAiPHNjcmlwdD5kb2N1bWVudC5jb29raWU9
J3Rlc3RrZXk9dmFsdWUnPC9zY3JpcHQ+IjsKKyAgICBhdXRvIHNlY29uZFJlc3BvbnNlID0gInNl
Y29uZCByZXNwb25zZSI7CisgICAgVmVjdG9yPGNoYXI+IHNlY29uZFJlcXVlc3Q7CisgICAgYXV0
byBzZXJ2ZXIgPSBIVFRQU2VydmVyKFsmXShjb25zdCBDb25uZWN0aW9uJiBjb25uZWN0aW9uKSB7
CisgICAgICAgIGNvbm5lY3Rpb24ucmVjZWl2ZUhUVFBSZXF1ZXN0KFsmLCBjb25uZWN0aW9uXShW
ZWN0b3I8Y2hhcj4mJiByZXF1ZXN0KSB7CisgICAgICAgICAgICBjb25uZWN0aW9uLnNlbmQoSFRU
UFJlc3BvbnNlKGh0bWwpLnNlcmlhbGl6ZSgpLCBbJiwgY29ubmVjdGlvbl0geworICAgICAgICAg
ICAgICAgIGNvbm5lY3Rpb24ucmVjZWl2ZUhUVFBSZXF1ZXN0KFsmLCBjb25uZWN0aW9uXShWZWN0
b3I8Y2hhcj4mJiByZXF1ZXN0KSB7CisgICAgICAgICAgICAgICAgICAgIHNlY29uZFJlcXVlc3Qg
PSBXVEZNb3ZlKHJlcXVlc3QpOworICAgICAgICAgICAgICAgICAgICBjb25uZWN0aW9uLnNlbmQo
SFRUUFJlc3BvbnNlKHNlY29uZFJlc3BvbnNlKS5zZXJpYWxpemUoKSk7CisgICAgICAgICAgICAg
ICAgfSk7CisgICAgICAgICAgICB9KTsKKyAgICAgICAgfSk7CisgICAgfSk7CisgICAgYXV0byB3
ZWJWaWV3ID0gYWRvcHROUyhbVGVzdFdLV2ViVmlldyBuZXddKTsKKyAgICBbd2ViVmlldyBzeW5j
aHJvbm91c2x5TG9hZFJlcXVlc3Q6c2VydmVyLnJlcXVlc3QoKV07CisKKyAgICBfX2Jsb2NrIGJv
b2wgZG9uZSA9IGZhbHNlOworICAgIFJldGFpblB0cjxOU011dGFibGVVUkxSZXF1ZXN0PiBwb3N0
UmVxdWVzdCA9IGFkb3B0TlMoW3NlcnZlci5yZXF1ZXN0KCkgbXV0YWJsZUNvcHldKTsKKyAgICBb
cG9zdFJlcXVlc3Qgc2V0TWFpbkRvY3VtZW50VVJMOnBvc3RSZXF1ZXN0LmdldCgpLlVSTF07Cisg
ICAgW3Bvc3RSZXF1ZXN0IHNldEhUVFBNZXRob2Q6QCJQT1NUIl07CisgICAgYXV0byByZXF1ZXN0
Qm9keSA9ICJyZXF1ZXN0IGJvZHkiOworICAgIFtwb3N0UmVxdWVzdCBzZXRIVFRQQm9keTpbTlNE
YXRhIGRhdGFXaXRoQnl0ZXM6cmVxdWVzdEJvZHkgbGVuZ3RoOnN0cmxlbihyZXF1ZXN0Qm9keSld
XTsKKyAgICBbd2ViVmlldyBfcmVxdWVzdFJlc291cmNlOnBvc3RSZXF1ZXN0LmdldCgpIGNvbXBs
ZXRpb25IYW5kbGVyOl4oTlNEYXRhICpkYXRhLCBOU1VSTFJlc3BvbnNlICpyZXNwb25zZSwgTlNF
cnJvciAqZXJyb3IpIHsKKyAgICAgICAgRVhQRUNUX05VTEwoZXJyb3IpOworICAgICAgICBFWFBF
Q1RfV0tfU1RSRVEocmVzcG9uc2UuVVJMLmFic29sdXRlU3RyaW5nLCBwb3N0UmVxdWVzdC5nZXQo
KS5VUkwuYWJzb2x1dGVTdHJpbmcpOworICAgICAgICBFWFBFQ1RfRVEoZGF0YS5sZW5ndGgsIHN0
cmxlbihzZWNvbmRSZXNwb25zZSkpOworICAgICAgICBFWFBFQ1RfVFJVRSghbWVtY21wKGRhdGEu
Ynl0ZXMsIHNlY29uZFJlc3BvbnNlLCBkYXRhLmxlbmd0aCkpOworICAgICAgICBkb25lID0gdHJ1
ZTsKKyAgICB9XTsKKyAgICBVdGlsOjpydW4oJmRvbmUpOworICAgIEVYUEVDVF9UUlVFKHN0cm5z
dHIoc2Vjb25kUmVxdWVzdC5kYXRhKCksICJDb29raWU6IHRlc3RrZXk9dmFsdWVcclxuIiwgc2Vj
b25kUmVxdWVzdC5zaXplKCkpKTsKKyAgICBFWFBFQ1RfV0tfU1RSRVEoSFRUUFNlcnZlcjo6cGFy
c2VCb2R5KHNlY29uZFJlcXVlc3QpLCByZXF1ZXN0Qm9keSk7CisKKyAgICBkb25lID0gZmFsc2U7
CisgICAgW3dlYlZpZXcgX3JlcXVlc3RSZXNvdXJjZTpbTlNVUkxSZXF1ZXN0IHJlcXVlc3RXaXRo
VVJMOltOU1VSTCBVUkxXaXRoU3RyaW5nOkAiYmxvYjpibGFuayJdXSBjb21wbGV0aW9uSGFuZGxl
cjpeKE5TRGF0YSAqZGF0YSwgTlNVUkxSZXNwb25zZSAqcmVzcG9uc2UsIE5TRXJyb3IgKmVycm9y
KSB7CisgICAgICAgIEVYUEVDVF9XS19TVFJFUShlcnJvci5kb21haW4sIE5TVVJMRXJyb3JEb21h
aW4pOworICAgICAgICBFWFBFQ1RfRVEoZXJyb3IuY29kZSwgTlNVUkxFcnJvclVuc3VwcG9ydGVk
VVJMKTsKKyAgICAgICAgRVhQRUNUX05VTEwoZGF0YSk7CisgICAgICAgIEVYUEVDVF9OVUxMKHJl
c3BvbnNlKTsKKyAgICAgICAgZG9uZSA9IHRydWU7CisgICAgfV07CisgICAgVXRpbDo6cnVuKCZk
b25lKTsKK30KZGlmZiAtLWdpdCBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvY29jb2EvSFRUUFNlcnZl
ci5oIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9jb2NvYS9IVFRQU2VydmVyLmgKaW5kZXggZjhhMTcy
YWI2MGE1MmMyNWJlOTZjMDNjMzNjMDkwYWViNDgzMjJjNS4uMjczNmVhZjZkNTZiNTgwODMyNzll
YTAxNmU4M2RkZWU3MzIyNzliOSAxMDA2NDQKLS0tIGEvVG9vbHMvVGVzdFdlYktpdEFQSS9jb2Nv
YS9IVFRQU2VydmVyLmgKKysrIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9jb2NvYS9IVFRQU2VydmVy
LmgKQEAgLTU5LDcgKzU5LDcgQEAgcHVibGljOgogICAgIHN0YXRpYyB2b2lkIHJlc3BvbmRXaXRo
T0soQ29ubmVjdGlvbik7CiAgICAgc3RhdGljIHZvaWQgcmVzcG9uZFdpdGhDaGFsbGVuZ2VUaGVu
T0soQ29ubmVjdGlvbik7CiAgICAgc3RhdGljIFN0cmluZyBwYXJzZVBhdGgoY29uc3QgVmVjdG9y
PGNoYXI+JiByZXF1ZXN0KTsKLQorICAgIHN0YXRpYyBTdHJpbmcgcGFyc2VCb2R5KGNvbnN0IFZl
Y3RvcjxjaGFyPiYpOwogICAgIHN0YXRpYyBWZWN0b3I8dWludDhfdD4gdGVzdFByaXZhdGVLZXko
KTsKICAgICBzdGF0aWMgVmVjdG9yPHVpbnQ4X3Q+IHRlc3RDZXJ0aWZpY2F0ZSgpOwogCmRpZmYg
LS1naXQgYS9Ub29scy9UZXN0V2ViS2l0QVBJL2NvY29hL0hUVFBTZXJ2ZXIubW0gYi9Ub29scy9U
ZXN0V2ViS2l0QVBJL2NvY29hL0hUVFBTZXJ2ZXIubW0KaW5kZXggYzEwZDAxOGZhYThjOGVkMTVi
M2ZlNDQxZmUwZjc5NjFhMzFkNzZkOS4uYzMzOWUxMGUyOTcxMzE4ZDUxZTFiNWU1OGZiNDZmYmY1
YmY2ZGZkMSAxMDA2NDQKLS0tIGEvVG9vbHMvVGVzdFdlYktpdEFQSS9jb2NvYS9IVFRQU2VydmVy
Lm1tCisrKyBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvY29jb2EvSFRUUFNlcnZlci5tbQpAQCAtMzI0
LDYgKzMyNCwxNCBAQCBTdHJpbmcgSFRUUFNlcnZlcjo6cGFyc2VQYXRoKGNvbnN0IFZlY3Rvcjxj
aGFyPiYgcmVxdWVzdCkKICAgICByZXR1cm4gU3RyaW5nKHJlcXVlc3QuZGF0YSgpICsgcGF0aFBy
ZWZpeExlbmd0aCwgcGF0aExlbmd0aCk7CiB9CiAKK1N0cmluZyBIVFRQU2VydmVyOjpwYXJzZUJv
ZHkoY29uc3QgVmVjdG9yPGNoYXI+JiByZXF1ZXN0KQoreworICAgIGNvbnN0IGNoYXIqIGhlYWRl
ckVuZEJ5dGVzID0gIlxyXG5cclxuIjsKKyAgICBjb25zdCBjaGFyKiBoZWFkZXJFbmQgPSBzdHJu
c3RyKHJlcXVlc3QuZGF0YSgpLCBoZWFkZXJFbmRCeXRlcywgcmVxdWVzdC5zaXplKCkpICsgc3Ry
bGVuKGhlYWRlckVuZEJ5dGVzKTsKKyAgICBzaXplX3QgaGVhZGVyTGVuZ3RoID0gaGVhZGVyRW5k
IC0gcmVxdWVzdC5kYXRhKCk7CisgICAgcmV0dXJuIFN0cmluZyhoZWFkZXJFbmQsIHJlcXVlc3Qu
c2l6ZSgpIC0gaGVhZGVyTGVuZ3RoKTsKK30KKwogdm9pZCBIVFRQU2VydmVyOjpyZXNwb25kVG9S
ZXF1ZXN0cyhDb25uZWN0aW9uIGNvbm5lY3Rpb24sIFJlZjxSZXF1ZXN0RGF0YT4gcmVxdWVzdERh
dGEpCiB7CiAgICAgY29ubmVjdGlvbi5yZWNlaXZlSFRUUFJlcXVlc3QoW2Nvbm5lY3Rpb24sIHJl
cXVlc3REYXRhXSAoVmVjdG9yPGNoYXI+JiYgcmVxdWVzdCkgbXV0YWJsZSB7Cg==
</data>
<flag name="review"
          id="471778"
          type_id="1"
          status="+"
          setter="thorton"
    />
          </attachment>
      

    </bug>

</bugzilla>