<?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>209344</bug_id>
          
          <creation_ts>2020-03-20 09:52:34 -0700</creation_ts>
          <short_desc>Rename blankURL to aboutBlankURL</short_desc>
          <delta_ts>2020-03-23 12:48:34 -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>Page Loading</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="youenn fablet">youennf</reporter>
          <assigned_to name="youenn fablet">youennf</assigned_to>
          <cc>achristensen</cc>
    
    <cc>beidson</cc>
    
    <cc>benjamin</cc>
    
    <cc>berto</cc>
    
    <cc>cdumez</cc>
    
    <cc>cgarcia</cc>
    
    <cc>cmarcelo</cc>
    
    <cc>darin</cc>
    
    <cc>dino</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>fmalita</cc>
    
    <cc>gustavo</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>japhet</cc>
    
    <cc>kangil.han</cc>
    
    <cc>mifenton</cc>
    
    <cc>pdr</cc>
    
    <cc>sabouhallawa</cc>
    
    <cc>schenney</cc>
    
    <cc>sergio</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1632133</commentid>
    <comment_count>0</comment_count>
    <who name="youenn fablet">youennf</who>
    <bug_when>2020-03-20 09:52:34 -0700</bug_when>
    <thetext>Rename blankURL to aboutBlankURL</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1632775</commentid>
    <comment_count>1</comment_count>
      <attachid>394249</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2020-03-23 02:59:58 -0700</bug_when>
    <thetext>Created attachment 394249
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1632798</commentid>
    <comment_count>2</comment_count>
      <attachid>394254</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2020-03-23 05:02:40 -0700</bug_when>
    <thetext>Created attachment 394254
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1632799</commentid>
    <comment_count>3</comment_count>
    <who name="EWS Watchlist">ews-watchlist</who>
    <bug_when>2020-03-23 05:03:13 -0700</bug_when>
    <thetext>Thanks for the patch. If this patch contains new public API please make sure it follows the guidelines for new WebKit2 GTK+ API. See http://trac.webkit.org/wiki/WebKitGTK/AddingNewWebKit2API</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1632982</commentid>
    <comment_count>4</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2020-03-23 12:47:02 -0700</bug_when>
    <thetext>Committed r258869: &lt;https://trac.webkit.org/changeset/258869&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 394254.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1632984</commentid>
    <comment_count>5</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2020-03-23 12:48:34 -0700</bug_when>
    <thetext>&lt;rdar://problem/60787302&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>394249</attachid>
            <date>2020-03-23 02:59:58 -0700</date>
            <delta_ts>2020-03-23 05:02:36 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-209344-20200323105956.patch</filename>
            <type>text/plain</type>
            <size>38143</size>
            <attacher name="youenn fablet">youennf</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjU4ODI2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IDY2MTdiYjgxOGEzMzllMDY4OTc0YThh
MDA3NjRhMDk4ODA1YjcwZTYuLmJhYjM1ZDVjMWUyYWM2ZjgxN2ExNTlhNDY1MDQ5YWNjMTZhODBl
YzUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMTcgQEAKKzIwMjAtMDMtMjMgIHlvdWVubiBmYWJsZXQgIDx5b3Vl
bm5AYXBwbGUuY29tPgorCisgICAgICAgIFJlbmFtZSBibGFua1VSTCB0byBhYm91dEJsYW5rVVJM
CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMDkzNDQK
KworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBSZW5hbWUg
YmxhbmtVUkwgdG8gYWJvdXRCbGFua1VSTCBhbmQgYWxsb3cgdXNpbmcgaXQgd2l0aG91dCBXVEY6
OiBwcmVmaXguCisKKyAgICAgICAgKiB3dGYvVVJMLmNwcDoKKyAgICAgICAgKFdURjo6YWJvdXRC
bGFua1VSTCk6CisgICAgICAgIChXVEY6OmJsYW5rVVJMKTogRGVsZXRlZC4KKyAgICAgICAgKiB3
dGYvVVJMLmg6CisKIDIwMjAtMDMtMjIgIEFudG9pbmUgUXVpbnQgIDxncmFvdXRzQGFwcGxlLmNv
bT4KIAogICAgICAgICBEb2N1bWVudFRpbWVsaW5lIC8gQ1NTVHJhbnNpdGlvbiBvYmplY3RzIGFy
ZSBsZWFraW5nIG9uIENOTi5jb20KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxv
ZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCA0YmYwZDg0NzJhNGRmOGExNjU0YzQz
NmZlNTdiMDg2NjVmMDQ0ZTBkLi41NmJhYjQwYzQ2M2UyMGExNDdkNmQyNjczMzQ4ODQ5YWM3YTli
NGY1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dl
YkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNjAgQEAKKzIwMjAtMDMtMjMgIHlvdWVubiBmYWJs
ZXQgIDx5b3Vlbm5AYXBwbGUuY29tPgorCisgICAgICAgIFJlbmFtZSBibGFua1VSTCB0byBhYm91
dEJsYW5rVVJMCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD0yMDkzNDQKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAg
ICBObyBjaGFuZ2Ugb2YgYmVoYXZpb3IuCisKKyAgICAgICAgKiBkb20vRG9jdW1lbnQuY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6RG9jdW1lbnQ6OnNldFVSTCk6CisgICAgICAgIChXZWJDb3JlOjpE
b2N1bWVudDo6Y29tcGxldGVVUkwgY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6RG9jdW1lbnQ6
OmVuc3VyZVRlbXBsYXRlRG9jdW1lbnQpOgorICAgICAgICAqIGRvbS9Eb2N1bWVudC5oOgorICAg
ICAgICAoV2ViQ29yZTo6RG9jdW1lbnQ6OnVybEZvckJpbmRpbmdzIGNvbnN0KToKKyAgICAgICAg
KiBkb20vSW5saW5lU3R5bGVTaGVldE93bmVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OnBhcnNl
ckNvbnRleHRGb3JFbGVtZW50KToKKyAgICAgICAgKiBkb20vTm9kZS5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpOb2RlOjpiYXNlVVJJIGNvbnN0KToKKyAgICAgICAgKiBlZGl0aW5nL2NvY29hL1dl
YkNvbnRlbnRSZWFkZXJDb2NvYS5tbToKKyAgICAgICAgKFdlYkNvcmU6OldlYkNvbnRlbnRSZWFk
ZXI6OnJlYWRXZWJBcmNoaXZlKToKKyAgICAgICAgKiBlZGl0aW5nL21hcmt1cC5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpjcmVhdGVGcmFnbWVudEZyb21NYXJrdXApOgorICAgICAgICAqIGh0bWwv
RE9NVVJMLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkRPTVVSTDo6Y3JlYXRlKToKKyAgICAgICAg
KiBodG1sL0hUTUxGcmFtZUVsZW1lbnRCYXNlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxG
cmFtZUVsZW1lbnRCYXNlOjpvcGVuVVJMKToKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxGcmFtZUVs
ZW1lbnRCYXNlOjpsb2NhdGlvbiBjb25zdCk6CisgICAgICAgICogaHRtbC9wYXJzZXIvWFNTQXVk
aXRvci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpYU1NBdWRpdG9yOjpmaWx0ZXJTY3JpcHRUb2tl
bik6CisgICAgICAgIChXZWJDb3JlOjpYU1NBdWRpdG9yOjpmaWx0ZXJPYmplY3RUb2tlbik6Cisg
ICAgICAgIChXZWJDb3JlOjpYU1NBdWRpdG9yOjpmaWx0ZXJQYXJhbVRva2VuKToKKyAgICAgICAg
KFdlYkNvcmU6OlhTU0F1ZGl0b3I6OmZpbHRlckVtYmVkVG9rZW4pOgorICAgICAgICAoV2ViQ29y
ZTo6WFNTQXVkaXRvcjo6ZmlsdGVyRm9ybVRva2VuKToKKyAgICAgICAgKFdlYkNvcmU6OlhTU0F1
ZGl0b3I6OmZpbHRlcklucHV0VG9rZW4pOgorICAgICAgICAoV2ViQ29yZTo6WFNTQXVkaXRvcjo6
ZmlsdGVyQnV0dG9uVG9rZW4pOgorICAgICAgICAoV2ViQ29yZTo6WFNTQXVkaXRvcjo6aXNMaWtl
bHlTYWZlUmVzb3VyY2UpOgorICAgICAgICAqIGxvYWRlci9Eb2N1bWVudExvYWRlci5jcHA6Cisg
ICAgICAgIChXZWJDb3JlOjpEb2N1bWVudExvYWRlcjo6bWF5YmVMb2FkRW1wdHkpOgorICAgICAg
ICAqIGxvYWRlci9Eb2N1bWVudExvYWRlci5oOgorICAgICAgICAoV2ViQ29yZTo6RG9jdW1lbnRM
b2FkZXI6OnNlcnZlclJlZGlyZWN0U291cmNlRm9ySGlzdG9yeSBjb25zdCk6CisgICAgICAgICog
bG9hZGVyL0ZyYW1lTG9hZGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkZyYW1lTG9hZGVyOjps
b2FkV2l0aERvY3VtZW50TG9hZGVyKToKKyAgICAgICAgKiBsb2FkZXIvSGlzdG9yeUNvbnRyb2xs
ZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SGlzdG9yeUNvbnRyb2xsZXI6OmN1cnJlbnRJdGVt
U2hvdWxkQmVSZXBsYWNlZCBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpIaXN0b3J5Q29udHJv
bGxlcjo6aW5pdGlhbGl6ZUl0ZW0pOgorICAgICAgICAqIGxvYWRlci9TdWJmcmFtZUxvYWRlci5j
cHA6CisgICAgICAgIChXZWJDb3JlOjpTdWJmcmFtZUxvYWRlcjo6cmVxdWVzdEZyYW1lKToKKyAg
ICAgICAgKiBsb2FkZXIvYXJjaGl2ZS9jZi9MZWdhY3lXZWJBcmNoaXZlLmNwcDoKKyAgICAgICAg
KFdlYkNvcmU6OkxlZ2FjeVdlYkFyY2hpdmU6OmNyZWF0ZUZyb21TZWxlY3Rpb24pOgorICAgICAg
ICAqIHBhZ2UvTG9jYXRpb24uY3BwOgorICAgICAgICAoV2ViQ29yZTo6TG9jYXRpb246OnVybCBj
b25zdCk6CisgICAgICAgICogcGFnZS9TZWN1cml0eVBvbGljeS5jcHA6CisgICAgICAgIChXZWJD
b3JlOjpTZWN1cml0eVBvbGljeTo6c2hvdWxkSW5oZXJpdFNlY3VyaXR5T3JpZ2luRnJvbU93bmVy
KToKKyAgICAgICAgKiBzdmcvU1ZHSW1hZ2VMb2FkZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6
U1ZHSW1hZ2VMb2FkZXI6OnNvdXJjZVVSSSBjb25zdCk6CisKIDIwMjAtMDMtMjIgIEFudG9pbmUg
UXVpbnQgIDxncmFvdXRzQGFwcGxlLmNvbT4KIAogICAgICAgICBEb2N1bWVudFRpbWVsaW5lIC8g
Q1NTVHJhbnNpdGlvbiBvYmplY3RzIGFyZSBsZWFraW5nIG9uIENOTi5jb20KZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKaW5kZXgg
YTUxM2YyNGRhMzY4ZjczMWEzMjdjOTQ5OTgwZWJlNWE4NTJjZTJhYS4uMTQ2MDc0NmQyMTdmNjRm
ZTVjZTJkODRmYTY3OGZlYmJiMmI1YWJkNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9DaGFu
Z2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyNyBAQAorMjAy
MC0wMy0yMyAgeW91ZW5uIGZhYmxldCAgPHlvdWVubkBhcHBsZS5jb20+CisKKyAgICAgICAgUmVu
YW1lIGJsYW5rVVJMIHRvIGFib3V0QmxhbmtVUkwKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTIwOTM0NAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9E
WSAoT09QUyEpLgorCisgICAgICAgICogVUlQcm9jZXNzL0FQSS9DL1dLUGFnZS5jcHA6CisgICAg
ICAgIChXS1BhZ2VMb2FkUGxhaW5UZXh0U3RyaW5nV2l0aFVzZXJEYXRhKToKKyAgICAgICAgKiBV
SVByb2Nlc3MvQVBJL0MvV0tQYWdlR3JvdXAuY3BwOgorICAgICAgICAoV0tQYWdlR3JvdXBBZGRV
c2VyU3R5bGVTaGVldCk6CisgICAgICAgIChXS1BhZ2VHcm91cEFkZFVzZXJTY3JpcHQpOgorICAg
ICAgICAqIFVJUHJvY2Vzcy9JbnNwZWN0b3IvV2ViUGFnZURlYnVnZ2FibGUuY3BwOgorICAgICAg
ICAoV2ViS2l0OjpXZWJQYWdlRGVidWdnYWJsZTo6dXJsIGNvbnN0KToKKyAgICAgICAgKiBVSVBy
b2Nlc3MvV2ViUGFnZVByb3h5LmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViUGFnZVByb3h5Ojps
b2FkRGF0YVdpdGhOYXZpZ2F0aW9uU2hhcmVkKToKKyAgICAgICAgKFdlYktpdDo6V2ViUGFnZVBy
b3h5Ojpsb2FkV2ViQXJjaGl2ZURhdGEpOgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUGFnZS9X
ZWJQYWdlLmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViUGFnZTo6bG9hZERhdGEpOgorICAgICAg
ICAoV2ViS2l0OjpXZWJQYWdlOjpsb2FkQWx0ZXJuYXRlSFRNTCk6CisgICAgICAgIChXZWJLaXQ6
OldlYlBhZ2U6OmR1bXBIaXN0b3J5Rm9yVGVzdGluZyk6CisgICAgICAgIChXZWJLaXQ6OldlYlBh
Z2U6OmFkZFVzZXJTY3JpcHQpOgorICAgICAgICAoV2ViS2l0OjpXZWJQYWdlOjphZGRVc2VyU3R5
bGVTaGVldCk6CisKIDIwMjAtMDMtMjMgIHlvdWVubiBmYWJsZXQgIDx5b3Vlbm5AYXBwbGUuY29t
PgogCiAgICAgICAgIEV4cGxpY2l0bHkgYWN0aXZhdGUgdGhlIG5ldyBEcmF3aW5nQXJlYVByb3h5
IG9uIFBTT04gbmF2aWdhdGlvbgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdExlZ2FjeS9tYWMv
Q2hhbmdlTG9nIGIvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvQ2hhbmdlTG9nCmluZGV4IDdhYTli
ZGQ0ZjgzNmE5MjA3NTI3MTIyNDBkY2U3ZTA1OWMwNjVlY2IuLjIyMzY3OTlmMmM2NGE5YTIwNjQ1
ZGE3NjhlNDk5OTk3MjIzOGU3NmMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFj
L0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwxNSBAQAorMjAyMC0wMy0yMyAgeW91ZW5uIGZhYmxldCAgPHlvdWVubkBhcHBsZS5jb20+
CisKKyAgICAgICAgUmVuYW1lIGJsYW5rVVJMIHRvIGFib3V0QmxhbmtVUkwKKyAgICAgICAgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIwOTM0NAorCisgICAgICAgIFJl
dmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogV2ViQ29yZVN1cHBvcnQvV2Vi
RnJhbWVMb2FkZXJDbGllbnQubW06CisgICAgICAgIChXZWJGcmFtZUxvYWRlckNsaWVudDo6dXBk
YXRlR2xvYmFsSGlzdG9yeSk6CisgICAgICAgICogV2ViVmlldy9XZWJGcmFtZS5tbToKKyAgICAg
ICAgKC1bV2ViRnJhbWUgX2xvYWREYXRhOk1JTUVUeXBlOnRleHRFbmNvZGluZ05hbWU6YmFzZVVS
TDp1bnJlYWNoYWJsZVVSTDpdKToKKwogMjAyMC0wMy0yMCAgSmVyIE5vYmxlICA8amVyLm5vYmxl
QGFwcGxlLmNvbT4KIAogICAgICAgICBFbnN1cmUgbWVkaWEgY2FjaGUgZGlyZWN0b3J5IGlzIGNy
ZWF0ZWQgYmVmb3JlIHBhc3NpbmcgdG8gQVZVUkxBc3NldC4KZGlmZiAtLWdpdCBhL1NvdXJjZS9X
VEYvd3RmL1VSTC5jcHAgYi9Tb3VyY2UvV1RGL3d0Zi9VUkwuY3BwCmluZGV4IDlmY2E2MDAwMGNj
ZDM1MTQ1NjM3ZTIyZjA1OThjZjBhNDViNDA3YzAuLjJjNTA0YmNkYThiZDMyYjc4YjM5NGFkMjJm
MDc5MTJhODMyMTAxZDcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvd3RmL1VSTC5jcHAKKysrIGIv
U291cmNlL1dURi93dGYvVVJMLmNwcApAQCAtODY3LDcgKzg2Nyw3IEBAIGJvb2wgcHJvdG9jb2xJ
c0luSFRUUEZhbWlseShjb25zdCBTdHJpbmcmIHVybCkKICAgICAgICAgJiYgKHVybFs0XSA9PSAn
OicgfHwgKGlzQVNDSUlBbHBoYUNhc2VsZXNzRXF1YWwodXJsWzRdLCAncycpICYmIGxlbmd0aCA+
PSA2ICYmIHVybFs1XSA9PSAnOicpKTsKIH0KIAotY29uc3QgVVJMJiBibGFua1VSTCgpCitjb25z
dCBVUkwmIGFib3V0QmxhbmtVUkwoKQogewogICAgIHN0YXRpYyBOZXZlckRlc3Ryb3llZDxVUkw+
IHN0YXRpY0JsYW5rVVJMKFVSTCgpLCAiYWJvdXQ6YmxhbmsiKTsKICAgICByZXR1cm4gc3RhdGlj
QmxhbmtVUkw7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL3d0Zi9VUkwuaCBiL1NvdXJjZS9XVEYv
d3RmL1VSTC5oCmluZGV4IDhiMjA3YWJjMTAxODk4MDMzOGYxN2QzNzMyZjI0ODM3MDNhZDI3NWIu
LjdjNjQ3OGMyMmY5NDMwMzVlNDY0MjI4NjFkYTc4MjZjYmIzYmYzMWIgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XVEYvd3RmL1VSTC5oCisrKyBiL1NvdXJjZS9XVEYvd3RmL1VSTC5oCkBAIC0yNTksNyAr
MjU5LDcgQEAgV1RGX0VYUE9SVF9QUklWQVRFIGJvb2wgZXF1YWxJZ25vcmluZ1F1ZXJ5QW5kRnJh
Z21lbnQoY29uc3QgVVJMJiwgY29uc3QgVVJMJik7CiBXVEZfRVhQT1JUX1BSSVZBVEUgYm9vbCBw
cm90b2NvbEhvc3RBbmRQb3J0QXJlRXF1YWwoY29uc3QgVVJMJiwgY29uc3QgVVJMJik7CiBXVEZf
RVhQT1JUX1BSSVZBVEUgYm9vbCBob3N0c0FyZUVxdWFsKGNvbnN0IFVSTCYsIGNvbnN0IFVSTCYp
OwogCi1XVEZfRVhQT1JUX1BSSVZBVEUgY29uc3QgVVJMJiBibGFua1VSTCgpOworV1RGX0VYUE9S
VF9QUklWQVRFIGNvbnN0IFVSTCYgYWJvdXRCbGFua1VSTCgpOwogV1RGX0VYUE9SVF9QUklWQVRF
IGNvbnN0IFVSTCYgYWJvdXRTcmNEb2NVUkwoKTsKIAogLy8gRnVuY3Rpb25zIHRvIGRvIFVSTCBv
cGVyYXRpb25zIG9uIHN0cmluZ3MuCkBAIC0zODcsMyArMzg3LDYgQEAgdGVtcGxhdGU8PiBzdHJ1
Y3QgRGVmYXVsdEhhc2g8VVJMPjsKIHRlbXBsYXRlPD4gc3RydWN0IEhhc2hUcmFpdHM8VVJMPjsK
IAogfSAvLyBuYW1lc3BhY2UgV1RGCisKK3VzaW5nIFdURjo6YWJvdXRCbGFua1VSTDsKK3VzaW5n
IFdURjo6YWJvdXRTcmNEb2NVUkw7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vRG9j
dW1lbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmNwcAppbmRleCA4MzdiNTI0
N2FmNjA2ZmM1MDU1ODVhNTY2YTNmZGY0NjliOTg2NjIyLi43NWYwNjU3MTdkZDg3ODExMGE5ODY2
ZjVmYTUyNDU5YmIwMWM3MWNmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1l
bnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5jcHAKQEAgLTMyMzYsNyAr
MzIzNiw3IEBAIHZvaWQgRG9jdW1lbnQ6OmxvZ0V4Y2VwdGlvblRvQ29uc29sZShjb25zdCBTdHJp
bmcmIGVycm9yTWVzc2FnZSwgY29uc3QgU3RyaW5nJiBzCiAKIHZvaWQgRG9jdW1lbnQ6OnNldFVS
TChjb25zdCBVUkwmIHVybCkKIHsKLSAgICBjb25zdCBVUkwmIG5ld1VSTCA9IHVybC5pc0VtcHR5
KCkgPyBXVEY6OmJsYW5rVVJMKCkgOiB1cmw7CisgICAgY29uc3QgVVJMJiBuZXdVUkwgPSB1cmwu
aXNFbXB0eSgpID8gYWJvdXRCbGFua1VSTCgpIDogdXJsOwogICAgIGlmIChuZXdVUkwgPT0gbV91
cmwpCiAgICAgICAgIHJldHVybjsKIApAQCAtNTIxMCw3ICs1MjEwLDcgQEAgVVJMIERvY3VtZW50
Ojpjb21wbGV0ZVVSTChjb25zdCBTdHJpbmcmIHVybCwgY29uc3QgVVJMJiBiYXNlVVJMT3ZlcnJp
ZGUsIEZvcmNlVVQKICAgICAvLyBTZWUgYWxzbyBbQ1NTXVN0eWxlU2hlZXQ6OmNvbXBsZXRlVVJM
KGNvbnN0IFN0cmluZyYpCiAgICAgaWYgKHVybC5pc051bGwoKSkKICAgICAgICAgcmV0dXJuIFVS
TCgpOwotICAgIGNvbnN0IFVSTCYgYmFzZVVSTCA9ICgoYmFzZVVSTE92ZXJyaWRlLmlzRW1wdHko
KSB8fCBiYXNlVVJMT3ZlcnJpZGUgPT0gV1RGOjpibGFua1VSTCgpKSAmJiBwYXJlbnREb2N1bWVu
dCgpKSA/IHBhcmVudERvY3VtZW50KCktPmJhc2VVUkwoKSA6IGJhc2VVUkxPdmVycmlkZTsKKyAg
ICBjb25zdCBVUkwmIGJhc2VVUkwgPSAoKGJhc2VVUkxPdmVycmlkZS5pc0VtcHR5KCkgfHwgYmFz
ZVVSTE92ZXJyaWRlID09IGFib3V0QmxhbmtVUkwoKSkgJiYgcGFyZW50RG9jdW1lbnQoKSkgPyBw
YXJlbnREb2N1bWVudCgpLT5iYXNlVVJMKCkgOiBiYXNlVVJMT3ZlcnJpZGU7CiAgICAgaWYgKCFt
X2RlY29kZXIgfHwgZm9yY2VVVEY4ID09IEZvcmNlVVRGODo6WWVzKQogICAgICAgICByZXR1cm4g
VVJMKGJhc2VVUkwsIHVybCk7CiAgICAgcmV0dXJuIFVSTChiYXNlVVJMLCB1cmwsIG1fZGVjb2Rl
ci0+ZW5jb2RpbmdGb3JVUkxQYXJzaW5nKCkpOwpAQCAtNzA2Myw5ICs3MDYzLDkgQEAgRG9jdW1l
bnQmIERvY3VtZW50OjplbnN1cmVUZW1wbGF0ZURvY3VtZW50KCkKICAgICAgICAgcmV0dXJuIGNv
bnN0X2Nhc3Q8RG9jdW1lbnQmPigqZG9jdW1lbnQpOwogCiAgICAgaWYgKGlzSFRNTERvY3VtZW50
KCkpCi0gICAgICAgIG1fdGVtcGxhdGVEb2N1bWVudCA9IEhUTUxEb2N1bWVudDo6Y3JlYXRlKG51
bGxwdHIsIFdURjo6YmxhbmtVUkwoKSk7CisgICAgICAgIG1fdGVtcGxhdGVEb2N1bWVudCA9IEhU
TUxEb2N1bWVudDo6Y3JlYXRlKG51bGxwdHIsIGFib3V0QmxhbmtVUkwoKSk7CiAgICAgZWxzZQot
ICAgICAgICBtX3RlbXBsYXRlRG9jdW1lbnQgPSBjcmVhdGUoV1RGOjpibGFua1VSTCgpKTsKKyAg
ICAgICAgbV90ZW1wbGF0ZURvY3VtZW50ID0gY3JlYXRlKGFib3V0QmxhbmtVUkwoKSk7CiAKICAg
ICBtX3RlbXBsYXRlRG9jdW1lbnQtPnNldENvbnRleHREb2N1bWVudChjb250ZXh0RG9jdW1lbnQo
KSk7CiAgICAgbV90ZW1wbGF0ZURvY3VtZW50LT5zZXRUZW1wbGF0ZURvY3VtZW50SG9zdCh0aGlz
KTsgLy8gYmFsYW5jZWQgaW4gZHRvci4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9E
b2N1bWVudC5oIGIvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmgKaW5kZXggNTU5YTk4Mzhi
NjdhNmZmNDFmNzI4ZDI2ZjUwNzg5NzU0MTQxOWMzNS4uYWMzZTkxOWUyODczMjhiMzRjZTA2Y2Y5
ZGVmODRhMDc3NjQxMTExOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50
LmgKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmgKQEAgLTY4NCw3ICs2ODQsNyBA
QCBwdWJsaWM6CiAKICAgICBjb25zdCBVUkwmIHVybCgpIGNvbnN0IGZpbmFsIHsgcmV0dXJuIG1f
dXJsOyB9CiAgICAgdm9pZCBzZXRVUkwoY29uc3QgVVJMJik7Ci0gICAgY29uc3QgVVJMJiB1cmxG
b3JCaW5kaW5ncygpIGNvbnN0IHsgcmV0dXJuIG1fdXJsLmlzRW1wdHkoKSA/IFdURjo6YmxhbmtV
UkwoKSA6IG1fdXJsOyB9CisgICAgY29uc3QgVVJMJiB1cmxGb3JCaW5kaW5ncygpIGNvbnN0IHsg
cmV0dXJuIG1fdXJsLmlzRW1wdHkoKSA/IGFib3V0QmxhbmtVUkwoKSA6IG1fdXJsOyB9CiAKICAg
ICAvLyBUbyB1bmRlcnN0YW5kIGhvdyB0aGVzZSBjb25jZXB0cyByZWxhdGUgdG8gb25lIGFub3Ro
ZXIsIHBsZWFzZSBzZWUgdGhlCiAgICAgLy8gY29tbWVudHMgc3Vycm91bmRpbmcgdGhlaXIgZGVj
bGFyYXRpb24uCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vSW5saW5lU3R5bGVTaGVl
dE93bmVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9JbmxpbmVTdHlsZVNoZWV0T3duZXIuY3Bw
CmluZGV4IDNiMTJjYTQ1YWE4NGVjMmQ4NTk1OGRhYzhhZmVhYWExM2ZjYjlmYWEuLjlmNzc5Zjlk
N2M1NzhiZDJkYTJiZDJlYjJkZjNkMmZmZGRmZWJhNzEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL2RvbS9JbmxpbmVTdHlsZVNoZWV0T3duZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Rv
bS9JbmxpbmVTdHlsZVNoZWV0T3duZXIuY3BwCkBAIC01MCw3ICs1MCw3IEBAIHN0YXRpYyBDU1NQ
YXJzZXJDb250ZXh0IHBhcnNlckNvbnRleHRGb3JFbGVtZW50KGNvbnN0IEVsZW1lbnQmIGVsZW1l
bnQpCiB7CiAgICAgYXV0byogc2hhZG93Um9vdCA9IGVsZW1lbnQuY29udGFpbmluZ1NoYWRvd1Jv
b3QoKTsKICAgICAvLyBVc2VyIGFnZW50IHNoYWRvdyB0cmVlcyBjYW4ndCBjb250YWluIGRvY3Vt
ZW50LXJlbGF0aXZlIFVSTHMuIFVzZSBibGFuayBVUkwgYXMgYmFzZSBhbGxvd2luZyBjcm9zcy1k
b2N1bWVudCBzaGFyaW5nLgotICAgIGF1dG8mIGJhc2VVUkwgPSBzaGFkb3dSb290ICYmIHNoYWRv
d1Jvb3QtPm1vZGUoKSA9PSBTaGFkb3dSb290TW9kZTo6VXNlckFnZW50ID8gV1RGOjpibGFua1VS
TCgpIDogZWxlbWVudC5kb2N1bWVudCgpLmJhc2VVUkwoKTsKKyAgICBhdXRvJiBiYXNlVVJMID0g
c2hhZG93Um9vdCAmJiBzaGFkb3dSb290LT5tb2RlKCkgPT0gU2hhZG93Um9vdE1vZGU6OlVzZXJB
Z2VudCA/IGFib3V0QmxhbmtVUkwoKSA6IGVsZW1lbnQuZG9jdW1lbnQoKS5iYXNlVVJMKCk7CiAK
ICAgICBDU1NQYXJzZXJDb250ZXh0IHJlc3VsdCA9IENTU1BhcnNlckNvbnRleHQgeyBlbGVtZW50
LmRvY3VtZW50KCksIGJhc2VVUkwsIGVsZW1lbnQuZG9jdW1lbnQoKS5jaGFyYWN0ZXJTZXRXaXRo
VVRGOEZhbGxiYWNrKCkgfTsKICAgICBpZiAoc2hhZG93Um9vdCAmJiBzaGFkb3dSb290LT5tb2Rl
KCkgPT0gU2hhZG93Um9vdE1vZGU6OlVzZXJBZ2VudCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL2RvbS9Ob2RlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Ob2RlLmNwcAppbmRleCA4YzQ1
NjBmNGU1MDQ2ODExOWMxZmQ2ZmNmYjNiMGY0MjRhNWNhZmQyLi5lN2NlM2EwOGI3MzdhNGY0ZDVl
NGFkMzZkY2I0ODJkNzc0ZTZlYThmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vTm9k
ZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL05vZGUuY3BwCkBAIC0xMzMzLDcgKzEzMzMs
NyBAQCBEb2N1bWVudCogTm9kZTo6b3duZXJEb2N1bWVudCgpIGNvbnN0CiBjb25zdCBVUkwmIE5v
ZGU6OmJhc2VVUkkoKSBjb25zdAogewogICAgIGF1dG8mIHVybCA9IGRvY3VtZW50KCkuYmFzZVVS
TCgpOwotICAgIHJldHVybiB1cmwuaXNOdWxsKCkgPyBXVEY6OmJsYW5rVVJMKCkgOiB1cmw7Cisg
ICAgcmV0dXJuIHVybC5pc051bGwoKSA/IGFib3V0QmxhbmtVUkwoKSA6IHVybDsKIH0KIAogYm9v
bCBOb2RlOjppc0VxdWFsTm9kZShOb2RlKiBvdGhlcikgY29uc3QKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2VkaXRpbmcvY29jb2EvV2ViQ29udGVudFJlYWRlckNvY29hLm1tIGIvU291cmNl
L1dlYkNvcmUvZWRpdGluZy9jb2NvYS9XZWJDb250ZW50UmVhZGVyQ29jb2EubW0KaW5kZXggMzk0
OTZiNjk4ODY2YzRhZWMzZjc3ZDRlNjYwYmU2ZDUwNzk5ZDlkZS4uZTk2MDFjZTE3OTRkZGJkYzE3
NGU0YjY1MzY1MzRiNzdmZjNjNDEyOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZWRpdGlu
Zy9jb2NvYS9XZWJDb250ZW50UmVhZGVyQ29jb2EubW0KKysrIGIvU291cmNlL1dlYkNvcmUvZWRp
dGluZy9jb2NvYS9XZWJDb250ZW50UmVhZGVyQ29jb2EubW0KQEAgLTUyOSw3ICs1MjksNyBAQCBi
b29sIFdlYkNvbnRlbnRSZWFkZXI6OnJlYWRXZWJBcmNoaXZlKFNoYXJlZEJ1ZmZlciYgYnVmZmVy
KQogICAgIFN0cmluZyBzYW5pdGl6ZWRNYXJrdXAgPSBzYW5pdGl6ZU1hcmt1cFdpdGhBcmNoaXZl
KGZyYW1lLCAqZnJhbWUuZG9jdW1lbnQoKSwgKnJlc3VsdCwgbXNvTGlzdFF1aXJrc0Zvck1hcmt1
cCgpLCBbJl0gKGNvbnN0IFN0cmluZyYgdHlwZSkgewogICAgICAgICByZXR1cm4gZnJhbWUubG9h
ZGVyKCkuY2xpZW50KCkuY2FuU2hvd01JTUVUeXBlQXNIVE1MKHR5cGUpOwogICAgIH0pOwotICAg
IGZyYWdtZW50ID0gY3JlYXRlRnJhZ21lbnRGcm9tTWFya3VwKCpmcmFtZS5kb2N1bWVudCgpLCBz
YW5pdGl6ZWRNYXJrdXAsIFdURjo6YmxhbmtVUkwoKSwgRGlzYWxsb3dTY3JpcHRpbmdBbmRQbHVn
aW5Db250ZW50KTsKKyAgICBmcmFnbWVudCA9IGNyZWF0ZUZyYWdtZW50RnJvbU1hcmt1cCgqZnJh
bWUuZG9jdW1lbnQoKSwgc2FuaXRpemVkTWFya3VwLCBhYm91dEJsYW5rVVJMKCksIERpc2FsbG93
U2NyaXB0aW5nQW5kUGx1Z2luQ29udGVudCk7CiAKICAgICBpZiAoIWZyYWdtZW50KQogICAgICAg
ICByZXR1cm4gZmFsc2U7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL21hcmt1
cC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL21hcmt1cC5jcHAKaW5kZXggN2UyMmM1MjJh
ZGM4ZTIyN2I2MzliY2VlNmRiNDZkMGEzOTI5M2Q1My4uNDJmOWJjYTZlOTU4Y2VkYmE1NjQ2NmQ5
YTM0NzdkZGU3NzY5ZGY0YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZWRpdGluZy9tYXJr
dXAuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvbWFya3VwLmNwcApAQCAtMTAyMSw3
ICsxMDIxLDcgQEAgUmVmPERvY3VtZW50RnJhZ21lbnQ+IGNyZWF0ZUZyYWdtZW50RnJvbU1hcmt1
cChEb2N1bWVudCYgZG9jdW1lbnQsIGNvbnN0IFN0cmluZyYKIAogICAgIGZyYWdtZW50LT5wYXJz
ZUhUTUwobWFya3VwLCBmYWtlQm9keS5wdHIoKSwgcGFyc2VyQ29udGVudFBvbGljeSk7CiAgICAg
cmVzdG9yZUF0dGFjaG1lbnRFbGVtZW50c0luRnJhZ21lbnQoZnJhZ21lbnQpOwotICAgIGlmICgh
YmFzZVVSTC5pc0VtcHR5KCkgJiYgYmFzZVVSTCAhPSBXVEY6OmJsYW5rVVJMKCkgJiYgYmFzZVVS
TCAhPSBkb2N1bWVudC5iYXNlVVJMKCkpCisgICAgaWYgKCFiYXNlVVJMLmlzRW1wdHkoKSAmJiBi
YXNlVVJMICE9IGFib3V0QmxhbmtVUkwoKSAmJiBiYXNlVVJMICE9IGRvY3VtZW50LmJhc2VVUkwo
KSkKICAgICAgICAgY29tcGxldGVVUkxzKGZyYWdtZW50LnB0cigpLCBiYXNlVVJMKTsKIAogICAg
IHJldHVybiBmcmFnbWVudDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvRE9NVVJM
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvRE9NVVJMLmNwcAppbmRleCA0MDIyZGExNjdmMDg4
ZmZiZjU0MWI0OTEwMTMwMmFmOWQwYTdjODUzLi45NmRhMDU0NmI0YzdlMzEwODQwNzJmMzNkYWQ3
MDI5ZjBiMTMwYTJmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0RPTVVSTC5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9ET01VUkwuY3BwCkBAIC02Myw3ICs2Myw3IEBAIEV4
Y2VwdGlvbk9yPFJlZjxET01VUkw+PiBET01VUkw6OmNyZWF0ZShjb25zdCBTdHJpbmcmIHVybCwg
Y29uc3QgRE9NVVJMJiBiYXNlKQogCiBFeGNlcHRpb25PcjxSZWY8RE9NVVJMPj4gRE9NVVJMOjpj
cmVhdGUoY29uc3QgU3RyaW5nJiB1cmwpCiB7Ci0gICAgVVJMIGJhc2VVUkwgeyBXVEY6OmJsYW5r
VVJMKCkgfTsKKyAgICBVUkwgYmFzZVVSTCB7IGFib3V0QmxhbmtVUkwoKSB9OwogICAgIFVSTCBj
b21wbGV0ZVVSTCB7IGJhc2VVUkwsIHVybCB9OwogICAgIGlmICghY29tcGxldGVVUkwuaXNWYWxp
ZCgpKQogICAgICAgICByZXR1cm4gRXhjZXB0aW9uIHsgVHlwZUVycm9yIH07CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxGcmFtZUVsZW1lbnRCYXNlLmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL2h0bWwvSFRNTEZyYW1lRWxlbWVudEJhc2UuY3BwCmluZGV4IDAyZjk0YmJhYWY3ZDZm
ZDQxN2E2MDQ1MmYzZTBmYjgxNzY2ZjBiNTcuLjRmNGRhODJlNTJhZmE1ZmM0NmFhNzk0ZTAyMTI4
YjQxMTZjMTllMGYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEZyYW1lRWxl
bWVudEJhc2UuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEZyYW1lRWxlbWVudEJh
c2UuY3BwCkBAIC04Nyw3ICs4Nyw3IEBAIHZvaWQgSFRNTEZyYW1lRWxlbWVudEJhc2U6Om9wZW5V
UkwoTG9ja0hpc3RvcnkgbG9ja0hpc3RvcnksIExvY2tCYWNrRm9yd2FyZExpc3QKICAgICAgICAg
cmV0dXJuOwogCiAgICAgaWYgKG1fVVJMLmlzRW1wdHkoKSkKLSAgICAgICAgbV9VUkwgPSBXVEY6
OmJsYW5rVVJMKCkuc3RyaW5nKCk7CisgICAgICAgIG1fVVJMID0gYWJvdXRCbGFua1VSTCgpLnN0
cmluZygpOwogCiAgICAgUmVmUHRyPEZyYW1lPiBwYXJlbnRGcmFtZSA9IGRvY3VtZW50KCkuZnJh
bWUoKTsKICAgICBpZiAoIXBhcmVudEZyYW1lKQpAQCAtMTUzLDcgKzE1Myw3IEBAIHZvaWQgSFRN
TEZyYW1lRWxlbWVudEJhc2U6OmRpZEF0dGFjaFJlbmRlcmVycygpCiBVUkwgSFRNTEZyYW1lRWxl
bWVudEJhc2U6OmxvY2F0aW9uKCkgY29uc3QKIHsKICAgICBpZiAoaGFzQXR0cmlidXRlV2l0aG91
dFN5bmNocm9uaXphdGlvbihzcmNkb2NBdHRyKSkKLSAgICAgICAgcmV0dXJuIFdURjo6YWJvdXRT
cmNEb2NVUkwoKTsKKyAgICAgICAgcmV0dXJuIGFib3V0U3JjRG9jVVJMKCk7CiAgICAgcmV0dXJu
IGRvY3VtZW50KCkuY29tcGxldGVVUkwoYXR0cmlidXRlV2l0aG91dFN5bmNocm9uaXphdGlvbihz
cmNBdHRyKSk7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvcGFyc2VyL1hT
U0F1ZGl0b3IuY3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC9wYXJzZXIvWFNTQXVkaXRvci5jcHAK
aW5kZXggMDYxZDk1NjdiNzg0ZDliMGJhY2YzZjZkYjljZGU1YTgwNmIwMWMxMy4uZjZkYzNlYTlj
M2E4YzRmMzViYjhjZWRiODllODIyMGI2NjlhOWI0NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvaHRtbC9wYXJzZXIvWFNTQXVkaXRvci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9w
YXJzZXIvWFNTQXVkaXRvci5jcHAKQEAgLTQ0MSw5ICs0NDEsOSBAQCBib29sIFhTU0F1ZGl0b3I6
OmZpbHRlclNjcmlwdFRva2VuKGNvbnN0IEZpbHRlclRva2VuUmVxdWVzdCYgcmVxdWVzdCkKIAog
ICAgIGJvb2wgZGlkQmxvY2tTY3JpcHQgPSBmYWxzZTsKICAgICBpZiAobV93YXNTY3JpcHRUYWdG
b3VuZEluUmVxdWVzdCkgewotICAgICAgICBkaWRCbG9ja1NjcmlwdCB8PSBlcmFzZUF0dHJpYnV0
ZUlmSW5qZWN0ZWQocmVxdWVzdCwgc3JjQXR0ciwgV1RGOjpibGFua1VSTCgpLnN0cmluZygpLCBU
cnVuY2F0aW9uU3R5bGU6OlNyY0xpa2VBdHRyaWJ1dGUpOwotICAgICAgICBkaWRCbG9ja1Njcmlw
dCB8PSBlcmFzZUF0dHJpYnV0ZUlmSW5qZWN0ZWQocmVxdWVzdCwgU1ZHTmFtZXM6OmhyZWZBdHRy
LCBXVEY6OmJsYW5rVVJMKCkuc3RyaW5nKCksIFRydW5jYXRpb25TdHlsZTo6U3JjTGlrZUF0dHJp
YnV0ZSk7Ci0gICAgICAgIGRpZEJsb2NrU2NyaXB0IHw9IGVyYXNlQXR0cmlidXRlSWZJbmplY3Rl
ZChyZXF1ZXN0LCBYTGlua05hbWVzOjpocmVmQXR0ciwgV1RGOjpibGFua1VSTCgpLnN0cmluZygp
LCBUcnVuY2F0aW9uU3R5bGU6OlNyY0xpa2VBdHRyaWJ1dGUpOworICAgICAgICBkaWRCbG9ja1Nj
cmlwdCB8PSBlcmFzZUF0dHJpYnV0ZUlmSW5qZWN0ZWQocmVxdWVzdCwgc3JjQXR0ciwgYWJvdXRC
bGFua1VSTCgpLnN0cmluZygpLCBUcnVuY2F0aW9uU3R5bGU6OlNyY0xpa2VBdHRyaWJ1dGUpOwor
ICAgICAgICBkaWRCbG9ja1NjcmlwdCB8PSBlcmFzZUF0dHJpYnV0ZUlmSW5qZWN0ZWQocmVxdWVz
dCwgU1ZHTmFtZXM6OmhyZWZBdHRyLCBhYm91dEJsYW5rVVJMKCkuc3RyaW5nKCksIFRydW5jYXRp
b25TdHlsZTo6U3JjTGlrZUF0dHJpYnV0ZSk7CisgICAgICAgIGRpZEJsb2NrU2NyaXB0IHw9IGVy
YXNlQXR0cmlidXRlSWZJbmplY3RlZChyZXF1ZXN0LCBYTGlua05hbWVzOjpocmVmQXR0ciwgYWJv
dXRCbGFua1VSTCgpLnN0cmluZygpLCBUcnVuY2F0aW9uU3R5bGU6OlNyY0xpa2VBdHRyaWJ1dGUp
OwogICAgIH0KIAogICAgIHJldHVybiBkaWRCbG9ja1NjcmlwdDsKQEAgLTQ1Niw3ICs0NTYsNyBA
QCBib29sIFhTU0F1ZGl0b3I6OmZpbHRlck9iamVjdFRva2VuKGNvbnN0IEZpbHRlclRva2VuUmVx
dWVzdCYgcmVxdWVzdCkKIAogICAgIGJvb2wgZGlkQmxvY2tTY3JpcHQgPSBmYWxzZTsKICAgICBp
ZiAoaXNDb250YWluZWRJblJlcXVlc3QoY2Fub25pY2FsaXplZFNuaXBwZXRGb3JUYWdOYW1lKHJl
cXVlc3QpKSkgewotICAgICAgICBkaWRCbG9ja1NjcmlwdCB8PSBlcmFzZUF0dHJpYnV0ZUlmSW5q
ZWN0ZWQocmVxdWVzdCwgZGF0YUF0dHIsIFdURjo6YmxhbmtVUkwoKS5zdHJpbmcoKSwgVHJ1bmNh
dGlvblN0eWxlOjpTcmNMaWtlQXR0cmlidXRlKTsKKyAgICAgICAgZGlkQmxvY2tTY3JpcHQgfD0g
ZXJhc2VBdHRyaWJ1dGVJZkluamVjdGVkKHJlcXVlc3QsIGRhdGFBdHRyLCBhYm91dEJsYW5rVVJM
KCkuc3RyaW5nKCksIFRydW5jYXRpb25TdHlsZTo6U3JjTGlrZUF0dHJpYnV0ZSk7CiAgICAgICAg
IGRpZEJsb2NrU2NyaXB0IHw9IGVyYXNlQXR0cmlidXRlSWZJbmplY3RlZChyZXF1ZXN0LCB0eXBl
QXR0cik7CiAgICAgICAgIGRpZEJsb2NrU2NyaXB0IHw9IGVyYXNlQXR0cmlidXRlSWZJbmplY3Rl
ZChyZXF1ZXN0LCBjbGFzc2lkQXR0cik7CiAgICAgfQpAQCAtNDc2LDcgKzQ3Niw3IEBAIGJvb2wg
WFNTQXVkaXRvcjo6ZmlsdGVyUGFyYW1Ub2tlbihjb25zdCBGaWx0ZXJUb2tlblJlcXVlc3QmIHJl
cXVlc3QpCiAgICAgaWYgKCFIVE1MUGFyYW1FbGVtZW50Ojppc1VSTFBhcmFtZXRlcihTdHJpbmco
bmFtZUF0dHJpYnV0ZS52YWx1ZSkpKQogICAgICAgICByZXR1cm4gZmFsc2U7CiAKLSAgICByZXR1
cm4gZXJhc2VBdHRyaWJ1dGVJZkluamVjdGVkKHJlcXVlc3QsIHZhbHVlQXR0ciwgV1RGOjpibGFu
a1VSTCgpLnN0cmluZygpLCBUcnVuY2F0aW9uU3R5bGU6OlNyY0xpa2VBdHRyaWJ1dGUpOworICAg
IHJldHVybiBlcmFzZUF0dHJpYnV0ZUlmSW5qZWN0ZWQocmVxdWVzdCwgdmFsdWVBdHRyLCBhYm91
dEJsYW5rVVJMKCkuc3RyaW5nKCksIFRydW5jYXRpb25TdHlsZTo6U3JjTGlrZUF0dHJpYnV0ZSk7
CiB9CiAKIGJvb2wgWFNTQXVkaXRvcjo6ZmlsdGVyRW1iZWRUb2tlbihjb25zdCBGaWx0ZXJUb2tl
blJlcXVlc3QmIHJlcXVlc3QpCkBAIC00ODcsNyArNDg3LDcgQEAgYm9vbCBYU1NBdWRpdG9yOjpm
aWx0ZXJFbWJlZFRva2VuKGNvbnN0IEZpbHRlclRva2VuUmVxdWVzdCYgcmVxdWVzdCkKICAgICBi
b29sIGRpZEJsb2NrU2NyaXB0ID0gZmFsc2U7CiAgICAgaWYgKGlzQ29udGFpbmVkSW5SZXF1ZXN0
KGNhbm9uaWNhbGl6ZWRTbmlwcGV0Rm9yVGFnTmFtZShyZXF1ZXN0KSkpIHsKICAgICAgICAgZGlk
QmxvY2tTY3JpcHQgfD0gZXJhc2VBdHRyaWJ1dGVJZkluamVjdGVkKHJlcXVlc3QsIGNvZGVBdHRy
LCBTdHJpbmcoKSwgVHJ1bmNhdGlvblN0eWxlOjpTcmNMaWtlQXR0cmlidXRlKTsKLSAgICAgICAg
ZGlkQmxvY2tTY3JpcHQgfD0gZXJhc2VBdHRyaWJ1dGVJZkluamVjdGVkKHJlcXVlc3QsIHNyY0F0
dHIsIFdURjo6YmxhbmtVUkwoKS5zdHJpbmcoKSwgVHJ1bmNhdGlvblN0eWxlOjpTcmNMaWtlQXR0
cmlidXRlKTsKKyAgICAgICAgZGlkQmxvY2tTY3JpcHQgfD0gZXJhc2VBdHRyaWJ1dGVJZkluamVj
dGVkKHJlcXVlc3QsIHNyY0F0dHIsIGFib3V0QmxhbmtVUkwoKS5zdHJpbmcoKSwgVHJ1bmNhdGlv
blN0eWxlOjpTcmNMaWtlQXR0cmlidXRlKTsKICAgICAgICAgZGlkQmxvY2tTY3JpcHQgfD0gZXJh
c2VBdHRyaWJ1dGVJZkluamVjdGVkKHJlcXVlc3QsIHR5cGVBdHRyKTsKICAgICB9CiAgICAgcmV0
dXJuIGRpZEJsb2NrU2NyaXB0OwpAQCAtNTM5LDcgKzUzOSw3IEBAIGJvb2wgWFNTQXVkaXRvcjo6
ZmlsdGVyRm9ybVRva2VuKGNvbnN0IEZpbHRlclRva2VuUmVxdWVzdCYgcmVxdWVzdCkKICAgICBB
U1NFUlQocmVxdWVzdC50b2tlbi50eXBlKCkgPT0gSFRNTFRva2VuOjpTdGFydFRhZyk7CiAgICAg
QVNTRVJUKGhhc05hbWUocmVxdWVzdC50b2tlbiwgZm9ybVRhZykpOwogCi0gICAgcmV0dXJuIGVy
YXNlQXR0cmlidXRlSWZJbmplY3RlZChyZXF1ZXN0LCBhY3Rpb25BdHRyLCBXVEY6OmJsYW5rVVJM
KCkuc3RyaW5nKCkpOworICAgIHJldHVybiBlcmFzZUF0dHJpYnV0ZUlmSW5qZWN0ZWQocmVxdWVz
dCwgYWN0aW9uQXR0ciwgYWJvdXRCbGFua1VSTCgpLnN0cmluZygpKTsKIH0KIAogYm9vbCBYU1NB
dWRpdG9yOjpmaWx0ZXJJbnB1dFRva2VuKGNvbnN0IEZpbHRlclRva2VuUmVxdWVzdCYgcmVxdWVz
dCkKQEAgLTU0Nyw3ICs1NDcsNyBAQCBib29sIFhTU0F1ZGl0b3I6OmZpbHRlcklucHV0VG9rZW4o
Y29uc3QgRmlsdGVyVG9rZW5SZXF1ZXN0JiByZXF1ZXN0KQogICAgIEFTU0VSVChyZXF1ZXN0LnRv
a2VuLnR5cGUoKSA9PSBIVE1MVG9rZW46OlN0YXJ0VGFnKTsKICAgICBBU1NFUlQoaGFzTmFtZShy
ZXF1ZXN0LnRva2VuLCBpbnB1dFRhZykpOwogCi0gICAgcmV0dXJuIGVyYXNlQXR0cmlidXRlSWZJ
bmplY3RlZChyZXF1ZXN0LCBmb3JtYWN0aW9uQXR0ciwgV1RGOjpibGFua1VSTCgpLnN0cmluZygp
LCBUcnVuY2F0aW9uU3R5bGU6OlNyY0xpa2VBdHRyaWJ1dGUpOworICAgIHJldHVybiBlcmFzZUF0
dHJpYnV0ZUlmSW5qZWN0ZWQocmVxdWVzdCwgZm9ybWFjdGlvbkF0dHIsIGFib3V0QmxhbmtVUkwo
KS5zdHJpbmcoKSwgVHJ1bmNhdGlvblN0eWxlOjpTcmNMaWtlQXR0cmlidXRlKTsKIH0KIAogYm9v
bCBYU1NBdWRpdG9yOjpmaWx0ZXJCdXR0b25Ub2tlbihjb25zdCBGaWx0ZXJUb2tlblJlcXVlc3Qm
IHJlcXVlc3QpCkBAIC01NTUsNyArNTU1LDcgQEAgYm9vbCBYU1NBdWRpdG9yOjpmaWx0ZXJCdXR0
b25Ub2tlbihjb25zdCBGaWx0ZXJUb2tlblJlcXVlc3QmIHJlcXVlc3QpCiAgICAgQVNTRVJUKHJl
cXVlc3QudG9rZW4udHlwZSgpID09IEhUTUxUb2tlbjo6U3RhcnRUYWcpOwogICAgIEFTU0VSVCho
YXNOYW1lKHJlcXVlc3QudG9rZW4sIGJ1dHRvblRhZykpOwogCi0gICAgcmV0dXJuIGVyYXNlQXR0
cmlidXRlSWZJbmplY3RlZChyZXF1ZXN0LCBmb3JtYWN0aW9uQXR0ciwgV1RGOjpibGFua1VSTCgp
LnN0cmluZygpLCBUcnVuY2F0aW9uU3R5bGU6OlNyY0xpa2VBdHRyaWJ1dGUpOworICAgIHJldHVy
biBlcmFzZUF0dHJpYnV0ZUlmSW5qZWN0ZWQocmVxdWVzdCwgZm9ybWFjdGlvbkF0dHIsIGFib3V0
QmxhbmtVUkwoKS5zdHJpbmcoKSwgVHJ1bmNhdGlvblN0eWxlOjpTcmNMaWtlQXR0cmlidXRlKTsK
IH0KIAogYm9vbCBYU1NBdWRpdG9yOjplcmFzZURhbmdlcm91c0F0dHJpYnV0ZXNJZkluamVjdGVk
KGNvbnN0IEZpbHRlclRva2VuUmVxdWVzdCYgcmVxdWVzdCkKQEAgLTczMyw3ICs3MzMsNyBAQCBi
b29sIFhTU0F1ZGl0b3I6OmlzTGlrZWx5U2FmZVJlc291cmNlKGNvbnN0IFN0cmluZyYgdXJsKQog
ICAgIC8vIEdpdmUgZW1wdHkgVVJMcyBhbmQgYWJvdXQ6YmxhbmsgYSBwYXNzLiBNYWtpbmcgYSBy
ZXNvdXJjZVVSTCBmcm9tIGFuCiAgICAgLy8gZW1wdHkgc3RyaW5nIGJlbG93IHdpbGwgbGlrZWx5
IGxhdGVyIGZhaWwgdGhlICJubyBxdWVyeSBhcmdzIHRlc3QiIGFzCiAgICAgLy8gaXQgaW5oZXJp
dHMgdGhlIGRvY3VtZW50J3MgcXVlcnkgYXJncy4KLSAgICBpZiAodXJsLmlzRW1wdHkoKSB8fCB1
cmwgPT0gV1RGOjpibGFua1VSTCgpLnN0cmluZygpKQorICAgIGlmICh1cmwuaXNFbXB0eSgpIHx8
IHVybCA9PSBhYm91dEJsYW5rVVJMKCkuc3RyaW5nKCkpCiAgICAgICAgIHJldHVybiB0cnVlOwog
CiAgICAgLy8gSWYgdGhlIHJlc291cmNlIGlzIGxvYWRlZCBmcm9tIHRoZSBzYW1lIGhvc3QgYXMg
dGhlIGVuY2xvc2luZyBwYWdlLCBpdCdzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2Fk
ZXIvRG9jdW1lbnRMb2FkZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL0RvY3VtZW50TG9h
ZGVyLmNwcAppbmRleCAxNTExZjVhN2Q0YjAzOGU3YThkMmRkYzRhZTNlNTA2MDQ4NmZkNzk0Li5k
Zjg4Yzg0NWMzY2ZlZDUxZjdkZDI3MGE4MTBjOGMyNDdjODg3MzVlIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9sb2FkZXIvRG9jdW1lbnRMb2FkZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L2xvYWRlci9Eb2N1bWVudExvYWRlci5jcHAKQEAgLTE3ODMsNyArMTc4Myw3IEBAIGJvb2wgRG9j
dW1lbnRMb2FkZXI6Om1heWJlTG9hZEVtcHR5KCkKICAgICAgICAgcmV0dXJuIGZhbHNlOwogCiAg
ICAgaWYgKG1fcmVxdWVzdC51cmwoKS5pc0VtcHR5KCkgJiYgIWZyYW1lTG9hZGVyKCktPnN0YXRl
TWFjaGluZSgpLmNyZWF0aW5nSW5pdGlhbEVtcHR5RG9jdW1lbnQoKSkgewotICAgICAgICBtX3Jl
cXVlc3Quc2V0VVJMKFdURjo6YmxhbmtVUkwoKSk7CisgICAgICAgIG1fcmVxdWVzdC5zZXRVUkwo
YWJvdXRCbGFua1VSTCgpKTsKICAgICAgICAgaWYgKGlzTG9hZGluZ01haW5SZXNvdXJjZSgpKQog
ICAgICAgICAgICAgZnJhbWVMb2FkZXIoKS0+Y2xpZW50KCkuZGlzcGF0Y2hEaWRDaGFuZ2VQcm92
aXNpb25hbFVSTCgpOwogICAgIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9E
b2N1bWVudExvYWRlci5oIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL0RvY3VtZW50TG9hZGVyLmgK
aW5kZXggZDZhM2QwYWNkMjQ2ZGU3MGNiNDg1ODgwYTA0YjM4OTQxYzgzMmY2NS4uY2M5ZDFjMWJj
MGM1ZWRlN2M4MWMxYWQxYTA1ZDM1OGE0NzYwZDA3NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvbG9hZGVyL0RvY3VtZW50TG9hZGVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL0Rv
Y3VtZW50TG9hZGVyLmgKQEAgLTI3MCw3ICsyNzAsNyBAQCBwdWJsaWM6CiAgICAgU3RyaW5nIGNs
aWVudFJlZGlyZWN0RGVzdGluYXRpb25Gb3JIaXN0b3J5KCkgY29uc3QgeyByZXR1cm4gdXJsRm9y
SGlzdG9yeSgpOyB9CiAgICAgdm9pZCBzZXRDbGllbnRSZWRpcmVjdFNvdXJjZUZvckhpc3Rvcnko
Y29uc3QgU3RyaW5nJiBjbGllbnRSZWRpcmVjdFNvdXJjZUZvckhpc3RvcnkpIHsgbV9jbGllbnRS
ZWRpcmVjdFNvdXJjZUZvckhpc3RvcnkgPSBjbGllbnRSZWRpcmVjdFNvdXJjZUZvckhpc3Rvcnk7
IH0KICAgICAKLSAgICBTdHJpbmcgc2VydmVyUmVkaXJlY3RTb3VyY2VGb3JIaXN0b3J5KCkgY29u
c3QgeyByZXR1cm4gKHVybEZvckhpc3RvcnkoKSA9PSB1cmwoKSB8fCB1cmwoKSA9PSBXVEY6OmJs
YW5rVVJMKCkpID8gU3RyaW5nKCkgOiB1cmxGb3JIaXN0b3J5KCkuc3RyaW5nKCk7IH0gLy8gbnVs
bCBpZiBubyBzZXJ2ZXIgcmVkaXJlY3Qgb2NjdXJyZWQuCisgICAgU3RyaW5nIHNlcnZlclJlZGly
ZWN0U291cmNlRm9ySGlzdG9yeSgpIGNvbnN0IHsgcmV0dXJuICh1cmxGb3JIaXN0b3J5KCkgPT0g
dXJsKCkgfHwgdXJsKCkgPT0gYWJvdXRCbGFua1VSTCgpKSA/IFN0cmluZygpIDogdXJsRm9ySGlz
dG9yeSgpLnN0cmluZygpOyB9IC8vIG51bGwgaWYgbm8gc2VydmVyIHJlZGlyZWN0IG9jY3VycmVk
LgogICAgIFN0cmluZyBzZXJ2ZXJSZWRpcmVjdERlc3RpbmF0aW9uRm9ySGlzdG9yeSgpIGNvbnN0
IHsgcmV0dXJuIHVybCgpOyB9CiAKICAgICBib29sIGRpZENyZWF0ZUdsb2JhbEhpc3RvcnlFbnRy
eSgpIGNvbnN0IHsgcmV0dXJuIG1fZGlkQ3JlYXRlR2xvYmFsSGlzdG9yeUVudHJ5OyB9CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRnJhbWVMb2FkZXIuY3BwIGIvU291cmNlL1dl
YkNvcmUvbG9hZGVyL0ZyYW1lTG9hZGVyLmNwcAppbmRleCAzOTI4ZTAxYmQ3MDcxNzc5NGU3NzAx
NTZjMWJkNjE3N2ZhMDQwOWM4Li44NDk0NmZkY2JhMzE3MmY0ZjlhYjNlNmNiNmM0ODBlNTUxNzA5
ZWExIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRnJhbWVMb2FkZXIuY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9GcmFtZUxvYWRlci5jcHAKQEAgLTE1ODIsNyArMTU4
Miw3IEBAIHZvaWQgRnJhbWVMb2FkZXI6OmxvYWRXaXRoRG9jdW1lbnRMb2FkZXIoRG9jdW1lbnRM
b2FkZXIqIGxvYWRlciwgRnJhbWVMb2FkVHlwZSB0CiAKICAgICAvLyBPbmx5IHRoZSBmaXJzdCBp
ZnJhbWUgbmF2aWdhdGlvbiBvciB0aGUgZmlyc3QgaWZyYW1lIG5hdmlnYXRpb24gYWZ0ZXIgYWJv
dXQ6Ymxhbmsgc2hvdWxkIGJlIHJlcG9ydGVkLgogICAgIC8vIGh0dHBzOi8vd3d3LnczLm9yZy9U
Ui9yZXNvdXJjZS10aW1pbmctMi8jcmVzb3VyY2VzLWluY2x1ZGVkLWluLXRoZS1wZXJmb3JtYW5j
ZXJlc291cmNldGltaW5nLWludGVyZmFjZQotICAgIGlmIChtX3Nob3VsZFJlcG9ydFJlc291cmNl
VGltaW5nVG9QYXJlbnRGcmFtZSAmJiAhbV9wcmV2aW91c1VSTC5pc051bGwoKSAmJiBtX3ByZXZp
b3VzVVJMICE9IFdURjo6YmxhbmtVUkwoKSkKKyAgICBpZiAobV9zaG91bGRSZXBvcnRSZXNvdXJj
ZVRpbWluZ1RvUGFyZW50RnJhbWUgJiYgIW1fcHJldmlvdXNVUkwuaXNOdWxsKCkgJiYgbV9wcmV2
aW91c1VSTCAhPSBhYm91dEJsYW5rVVJMKCkpCiAgICAgICAgIG1fc2hvdWxkUmVwb3J0UmVzb3Vy
Y2VUaW1pbmdUb1BhcmVudEZyYW1lID0gZmFsc2U7CiAKICAgICAvLyBMb2cgbWFpbiBmcmFtZSBu
YXZpZ2F0aW9uIHR5cGVzLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL0hpc3Rv
cnlDb250cm9sbGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9IaXN0b3J5Q29udHJvbGxl
ci5jcHAKaW5kZXggYWIyNTVkZDBiN2I0YWFhODczMWRhYzczOTlhZmQxZTQ1ODI0YmU4Yi4uYWY3
NmVhYjQxYjZmOGM0YjU2YWMyN2MyZTQxYzYzZjIwMjE2ZjgxNSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvbG9hZGVyL0hpc3RvcnlDb250cm9sbGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9sb2FkZXIvSGlzdG9yeUNvbnRyb2xsZXIuY3BwCkBAIC02MTQsNyArNjE0LDcgQEAgYm9vbCBI
aXN0b3J5Q29udHJvbGxlcjo6Y3VycmVudEl0ZW1TaG91bGRCZVJlcGxhY2VkKCkgY29uc3QKICAg
ICAvLyAgIklmIHRoZSBicm93c2luZyBjb250ZXh0J3Mgc2Vzc2lvbiBoaXN0b3J5IGNvbnRhaW5z
IG9ubHkgb25lIERvY3VtZW50LAogICAgIC8vICAgYW5kIHRoYXQgd2FzIHRoZSBhYm91dDpibGFu
ayBEb2N1bWVudCBjcmVhdGVkIHdoZW4gdGhlIGJyb3dzaW5nIGNvbnRleHQKICAgICAvLyAgIHdh
cyBjcmVhdGVkLCB0aGVuIHRoZSBuYXZpZ2F0aW9uIG11c3QgYmUgZG9uZSB3aXRoIHJlcGxhY2Vt
ZW50IGVuYWJsZWQuIgotICAgIHJldHVybiBtX2N1cnJlbnRJdGVtICYmICFtX3ByZXZpb3VzSXRl
bSAmJiBlcXVhbElnbm9yaW5nQVNDSUlDYXNlKG1fY3VycmVudEl0ZW0tPnVybFN0cmluZygpLCBX
VEY6OmJsYW5rVVJMKCkpOworICAgIHJldHVybiBtX2N1cnJlbnRJdGVtICYmICFtX3ByZXZpb3Vz
SXRlbSAmJiBlcXVhbElnbm9yaW5nQVNDSUlDYXNlKG1fY3VycmVudEl0ZW0tPnVybFN0cmluZygp
LCBhYm91dEJsYW5rVVJMKCkpOwogfQogCiB2b2lkIEhpc3RvcnlDb250cm9sbGVyOjpjbGVhclBy
ZXZpb3VzSXRlbSgpCkBAIC02NTMsOSArNjUzLDkgQEAgdm9pZCBIaXN0b3J5Q29udHJvbGxlcjo6
aW5pdGlhbGl6ZUl0ZW0oSGlzdG9yeUl0ZW0mIGl0ZW0pCiAgICAgLy8gTGF0ZXIgd2UgbWF5IHdh
bnQgdG8gbGVhcm4gdG8gbGl2ZSB3aXRoIG5pbCBmb3IgVVJMLgogICAgIC8vIFNlZSBidWcgMzM2
ODIzNiBhbmQgcmVsYXRlZCBidWdzIGZvciBtb3JlIGluZm9ybWF0aW9uLgogICAgIGlmICh1cmwu
aXNFbXB0eSgpKSAKLSAgICAgICAgdXJsID0gV1RGOjpibGFua1VSTCgpOworICAgICAgICB1cmwg
PSBhYm91dEJsYW5rVVJMKCk7CiAgICAgaWYgKG9yaWdpbmFsVVJMLmlzRW1wdHkoKSkKLSAgICAg
ICAgb3JpZ2luYWxVUkwgPSBXVEY6OmJsYW5rVVJMKCk7CisgICAgICAgIG9yaWdpbmFsVVJMID0g
YWJvdXRCbGFua1VSTCgpOwogICAgIAogICAgIFN0cmluZ1dpdGhEaXJlY3Rpb24gdGl0bGUgPSBk
b2N1bWVudExvYWRlci0+dGl0bGUoKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbG9h
ZGVyL1N1YmZyYW1lTG9hZGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9TdWJmcmFtZUxv
YWRlci5jcHAKaW5kZXggZGFhMTQ0ZTk3OTI2ZjkyYzkzYjc3MGM5ZGZlZWRlNzJlMDNiOGRhOS4u
MmM5ZDA5YjhlZTlhM2ExZDJjYWMxYWMyMmIyNWU0MzE1Y2JjOTQ5YiAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvbG9hZGVyL1N1YmZyYW1lTG9hZGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9sb2FkZXIvU3ViZnJhbWVMb2FkZXIuY3BwCkBAIC04MCwxMiArODAsMTIgQEAgYm9vbCBTdWJm
cmFtZUxvYWRlcjo6cmVxdWVzdEZyYW1lKEhUTUxGcmFtZU93bmVyRWxlbWVudCYgb3duZXJFbGVt
ZW50LCBjb25zdCBTdHIKICAgICBVUkwgdXJsOwogICAgIGlmIChXVEY6OnByb3RvY29sSXNKYXZh
U2NyaXB0KHVybFN0cmluZykpIHsKICAgICAgICAgc2NyaXB0VVJMID0gY29tcGxldGVVUkwodXJs
U3RyaW5nKTsgLy8gY29tcGxldGVVUkwoKSBlbmNvZGVzIHRoZSBVUkwuCi0gICAgICAgIHVybCA9
IFdURjo6YmxhbmtVUkwoKTsKKyAgICAgICAgdXJsID0gYWJvdXRCbGFua1VSTCgpOwogICAgIH0g
ZWxzZQogICAgICAgICB1cmwgPSBjb21wbGV0ZVVSTCh1cmxTdHJpbmcpOwogCiAgICAgaWYgKHNo
b3VsZENvbnZlcnRJbnZhbGlkVVJMc1RvQmxhbmsoKSAmJiAhdXJsLmlzVmFsaWQoKSkKLSAgICAg
ICAgdXJsID0gV1RGOjpibGFua1VSTCgpOworICAgICAgICB1cmwgPSBhYm91dEJsYW5rVVJMKCk7
CiAKICAgICAvLyBJZiB3ZSB3aWxsIHNjaGVkdWxlIGEgSmF2YVNjcmlwdCBVUkwgbG9hZCwgd2Ug
bmVlZCB0byBkZWxheSB0aGUgZmlyaW5nIG9mIHRoZSBsb2FkIGV2ZW50IGF0IGxlYXN0IHVudGls
IHdlJ3ZlIHJ1biB0aGUgSmF2YVNjcmlwdCBpbiB0aGUgVVJMLgogICAgIENvbXBsZXRpb25IYW5k
bGVyQ2FsbGluZ1Njb3BlIHN0b3BEZWxheWluZ0xvYWRFdmVudDsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2xvYWRlci9hcmNoaXZlL2NmL0xlZ2FjeVdlYkFyY2hpdmUuY3BwIGIvU291cmNl
L1dlYkNvcmUvbG9hZGVyL2FyY2hpdmUvY2YvTGVnYWN5V2ViQXJjaGl2ZS5jcHAKaW5kZXggYmJh
OTEwNDE5MTU0ZWNmNDNjMTIyZTJkOTBjZjg2NDU1OTdhOTlkMi4uNmFjNTNkMzk3ZTRjMWU3MjM1
OTBlYzI1MDEwMmNhNGY2NjViODkwYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbG9hZGVy
L2FyY2hpdmUvY2YvTGVnYWN5V2ViQXJjaGl2ZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvbG9h
ZGVyL2FyY2hpdmUvY2YvTGVnYWN5V2ViQXJjaGl2ZS5jcHAKQEAgLTYxMiw3ICs2MTIsNyBAQCBS
ZWZQdHI8TGVnYWN5V2ViQXJjaGl2ZT4gTGVnYWN5V2ViQXJjaGl2ZTo6Y3JlYXRlRnJvbVNlbGVj
dGlvbihGcmFtZSogZnJhbWUpCiAgICAgLy8gV3JhcCB0aGUgZnJhbWVzZXQgZG9jdW1lbnQgaW4g
YW4gaWZyYW1lIHNvIGl0IGNhbiBiZSBwYXN0ZWQgaW50bwogICAgIC8vIGFub3RoZXIgZG9jdW1l
bnQgKHdoaWNoIHdpbGwgaGF2ZSBhIGJvZHkgb3IgZnJhbWVzZXQgb2YgaXRzIG93bikuIAogICAg
IFN0cmluZyBpZnJhbWVNYXJrdXAgPSAiPGlmcmFtZSBmcmFtZWJvcmRlcj1cIm5vXCIgbWFyZ2lu
d2lkdGg9XCIwXCIgbWFyZ2luaGVpZ2h0PVwiMFwiIHdpZHRoPVwiOTglJVwiIGhlaWdodD1cIjk4
JSVcIiBzcmM9XCIiICsgZnJhbWUtPmxvYWRlcigpLmRvY3VtZW50TG9hZGVyKCktPnJlc3BvbnNl
KCkudXJsKCkuc3RyaW5nKCkgKyAiXCI+PC9pZnJhbWU+IjsKLSAgICBhdXRvIGlmcmFtZVJlc291
cmNlID0gQXJjaGl2ZVJlc291cmNlOjpjcmVhdGUodXRmOEJ1ZmZlcihpZnJhbWVNYXJrdXApLCBX
VEY6OmJsYW5rVVJMKCksICJ0ZXh0L2h0bWwiLCAiVVRGLTgiLCBTdHJpbmcoKSk7CisgICAgYXV0
byBpZnJhbWVSZXNvdXJjZSA9IEFyY2hpdmVSZXNvdXJjZTo6Y3JlYXRlKHV0ZjhCdWZmZXIoaWZy
YW1lTWFya3VwKSwgYWJvdXRCbGFua1VSTCgpLCAidGV4dC9odG1sIiwgIlVURi04IiwgU3RyaW5n
KCkpOwogCiAgICAgVmVjdG9yPFJlZjxMZWdhY3lXZWJBcmNoaXZlPj4gc3ViZnJhbWVBcmNoaXZl
czsKICAgICBzdWJmcmFtZUFyY2hpdmVzLnJlc2VydmVJbml0aWFsQ2FwYWNpdHkoMSk7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0xvY2F0aW9uLmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L3BhZ2UvTG9jYXRpb24uY3BwCmluZGV4IDMxODExMzRhYmM3MWRjMzg0ZTM3M2UyNzU5NDkzYjBm
NjAyM2JhYTcuLjI4Nzg5Y2QxNDI5ODMyYzFmMjcyYTZhYWQ1ZWIxZThiNjI4ODJlYzcgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvTG9jYXRpb24uY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3BhZ2UvTG9jYXRpb24uY3BwCkBAIC01MCwxMSArNTAsMTEgQEAgTG9jYXRpb246OkxvY2F0
aW9uKERPTVdpbmRvdyYgd2luZG93KQogaW5saW5lIGNvbnN0IFVSTCYgTG9jYXRpb246OnVybCgp
IGNvbnN0CiB7CiAgICAgaWYgKCFmcmFtZSgpKQotICAgICAgICByZXR1cm4gV1RGOjpibGFua1VS
TCgpOworICAgICAgICByZXR1cm4gYWJvdXRCbGFua1VSTCgpOwogCiAgICAgY29uc3QgVVJMJiB1
cmwgPSBmcmFtZSgpLT5kb2N1bWVudCgpLT51cmwoKTsKICAgICBpZiAoIXVybC5pc1ZhbGlkKCkp
Ci0gICAgICAgIHJldHVybiBXVEY6OmJsYW5rVVJMKCk7IC8vIFVzZSAiYWJvdXQ6YmxhbmsiIHdo
aWxlIHRoZSBwYWdlIGlzIHN0aWxsIGxvYWRpbmcgKGJlZm9yZSB3ZSBoYXZlIGEgZnJhbWUpLgor
ICAgICAgICByZXR1cm4gYWJvdXRCbGFua1VSTCgpOyAvLyBVc2UgImFib3V0OmJsYW5rIiB3aGls
ZSB0aGUgcGFnZSBpcyBzdGlsbCBsb2FkaW5nIChiZWZvcmUgd2UgaGF2ZSBhIGZyYW1lKS4KIAog
ICAgIHJldHVybiB1cmw7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1NlY3Vy
aXR5UG9saWN5LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvU2VjdXJpdHlQb2xpY3kuY3BwCmlu
ZGV4IGI3MGM1Y2U2OWY1M2ViZWQ5MWM2YjM3NTlkZTEyNjMwMjYzOGIwNzMuLjU3YzExMTM5ZWVm
NzUzZjM3Yzc5ODM0YWZhODc3MzZlMjNhMmIzMzEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3BhZ2UvU2VjdXJpdHlQb2xpY3kuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvU2VjdXJp
dHlQb2xpY3kuY3BwCkBAIC0xNjcsNyArMTY3LDcgQEAgYm9vbCBTZWN1cml0eVBvbGljeTo6c2hv
dWxkSW5oZXJpdFNlY3VyaXR5T3JpZ2luRnJvbU93bmVyKGNvbnN0IFVSTCYgdXJsKQogICAgIC8v
CiAgICAgLy8gTm90ZTogV2UgZ2VuZXJhbGl6ZSB0aGlzIHRvIGludmFsaWQgVVJMcyBiZWNhdXNl
IHdlIHRyZWF0IHN1Y2ggVVJMcyBhcyBhYm91dDpibGFuay4KICAgICAvLyBGSVhNRTogV2UgYWxz
byBhbGxvdyBzb21lIFVSTHMgbGlrZSAiYWJvdXQ6QkxBTksiLiBXZSBzaG91bGQgcHJvYmFibHkg
YmxvY2sgbmF2aWdhdGlvbiB0byB0aGVzZSBVUkxzLCBzZWUgcmRhcjovL3Byb2JsZW0vNTc5NjYw
NTYuCi0gICAgcmV0dXJuIHVybC5pc0VtcHR5KCkgfHwgdXJsLmlzQWJvdXRCbGFuaygpIHx8IHVy
bC5pc0Fib3V0U3JjRG9jKCkgfHwgZXF1YWxJZ25vcmluZ0FTQ0lJQ2FzZSh1cmwuc3RyaW5nKCks
IFdURjo6YmxhbmtVUkwoKSk7CisgICAgcmV0dXJuIHVybC5pc0VtcHR5KCkgfHwgdXJsLmlzQWJv
dXRCbGFuaygpIHx8IHVybC5pc0Fib3V0U3JjRG9jKCkgfHwgZXF1YWxJZ25vcmluZ0FTQ0lJQ2Fz
ZSh1cmwuc3RyaW5nKCksIGFib3V0QmxhbmtVUkwoKSk7CiB9CiAKIGJvb2wgU2VjdXJpdHlQb2xp
Y3k6OmlzQmFzZVVSTFNjaGVtZUFsbG93ZWQoY29uc3QgVVJMJiB1cmwpCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9zdmcvU1ZHSW1hZ2VMb2FkZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvc3Zn
L1NWR0ltYWdlTG9hZGVyLmNwcAppbmRleCBkN2NiZWYzM2ViY2U2ZmQyMjFlMGJkMjg4ZTcyZGFk
MzA4YzBiMTc1Li5hZWIxZDVkM2YxMDIyNzRiYWIyYWJhNjIwZTEwYzIwYjU3NDA3OWRjIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHSW1hZ2VMb2FkZXIuY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3N2Zy9TVkdJbWFnZUxvYWRlci5jcHAKQEAgLTQ3LDcgKzQ3LDcgQEAgdm9pZCBT
VkdJbWFnZUxvYWRlcjo6ZGlzcGF0Y2hMb2FkRXZlbnQoKQogU3RyaW5nIFNWR0ltYWdlTG9hZGVy
Ojpzb3VyY2VVUkkoY29uc3QgQXRvbVN0cmluZyYgYXR0cmlidXRlKSBjb25zdAogewogICAgIFVS
TCBiYXNlID0gZWxlbWVudCgpLmJhc2VVUkkoKTsKLSAgICBpZiAoYmFzZSAhPSBXVEY6OmJsYW5r
VVJMKCkpCisgICAgaWYgKGJhc2UgIT0gYWJvdXRCbGFua1VSTCgpKQogICAgICAgICByZXR1cm4g
VVJMKGJhc2UsIHN0cmlwTGVhZGluZ0FuZFRyYWlsaW5nSFRNTFNwYWNlcyhhdHRyaWJ1dGUpKS5z
dHJpbmcoKTsKICAgICByZXR1cm4gZWxlbWVudCgpLmRvY3VtZW50KCkuY29tcGxldGVVUkwoc3Ry
aXBMZWFkaW5nQW5kVHJhaWxpbmdIVE1MU3BhY2VzKGF0dHJpYnV0ZSkpOwogfQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0MvV0tQYWdlLmNwcCBiL1NvdXJjZS9XZWJL
aXQvVUlQcm9jZXNzL0FQSS9DL1dLUGFnZS5jcHAKaW5kZXggNDI2MDQ4MTEyNGM4N2ViMTQ2OTc2
YThlNzEyNDI2MTkyZTg2YjM3NC4uOWNhMDNiNjAxZmMwMTc3N2ZkZTk5ZTk3ZmExZDU0NDZmMzEz
ZGJjZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0MvV0tQYWdlLmNw
cAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQy9XS1BhZ2UuY3BwCkBAIC0yNjEs
NyArMjYxLDcgQEAgdm9pZCBXS1BhZ2VMb2FkUGxhaW5UZXh0U3RyaW5nKFdLUGFnZVJlZiBwYWdl
UmVmLCBXS1N0cmluZ1JlZiBwbGFpblRleHRTdHJpbmdSZWYKIAogdm9pZCBXS1BhZ2VMb2FkUGxh
aW5UZXh0U3RyaW5nV2l0aFVzZXJEYXRhKFdLUGFnZVJlZiBwYWdlUmVmLCBXS1N0cmluZ1JlZiBw
bGFpblRleHRTdHJpbmdSZWYsIFdLVHlwZVJlZiB1c2VyRGF0YVJlZikKIHsKLSAgICBsb2FkU3Ry
aW5nKHBhZ2VSZWYsIHBsYWluVGV4dFN0cmluZ1JlZiwgInRleHQvcGxhaW4iX3MsIFdURjo6Ymxh
bmtVUkwoKS5zdHJpbmcoKSwgdXNlckRhdGFSZWYpOworICAgIGxvYWRTdHJpbmcocGFnZVJlZiwg
cGxhaW5UZXh0U3RyaW5nUmVmLCAidGV4dC9wbGFpbiJfcywgYWJvdXRCbGFua1VSTCgpLnN0cmlu
ZygpLCB1c2VyRGF0YVJlZik7CiB9CiAKIHZvaWQgV0tQYWdlTG9hZFdlYkFyY2hpdmVEYXRhKFdL
UGFnZVJlZiBwYWdlUmVmLCBXS0RhdGFSZWYgd2ViQXJjaGl2ZURhdGFSZWYpCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQy9XS1BhZ2VHcm91cC5jcHAgYi9Tb3VyY2Uv
V2ViS2l0L1VJUHJvY2Vzcy9BUEkvQy9XS1BhZ2VHcm91cC5jcHAKaW5kZXggMDUwZWIzNzk3MTM0
NTczMDNlZThlYmI0NmYyZjIxOWNlZWEyMTEwMi4uYzkxZjYwMmIwYWI3YTQ2MzNhZjIyMjk2MmZk
NjQyZDdiYmU3OTBmNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0Mv
V0tQYWdlR3JvdXAuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9DL1dLUGFn
ZUdyb3VwLmNwcApAQCAtNzcsNyArNzcsNyBAQCB2b2lkIFdLUGFnZUdyb3VwQWRkVXNlclN0eWxl
U2hlZXQoV0tQYWdlR3JvdXBSZWYgcGFnZUdyb3VwUmVmLCBXS1N0cmluZ1JlZiBzb3VyYwogICAg
IGF1dG8gd2hpdGVsaXN0ID0gdG9JbXBsKHdoaXRlbGlzdGVkVVJMUGF0dGVybnMpOwogICAgIGF1
dG8gYmxhY2tsaXN0ID0gdG9JbXBsKGJsYWNrbGlzdGVkVVJMUGF0dGVybnMpOwogCi0gICAgUmVm
PEFQSTo6VXNlclN0eWxlU2hlZXQ+IHVzZXJTdHlsZVNoZWV0ID0gQVBJOjpVc2VyU3R5bGVTaGVl
dDo6Y3JlYXRlKFdlYkNvcmU6OlVzZXJTdHlsZVNoZWV0IHsgc291cmNlLCAoYmFzZVVSTFN0cmlu
Zy5pc0VtcHR5KCkgPyBXVEY6OmJsYW5rVVJMKCkgOiAgVVJMKFVSTCgpLCBiYXNlVVJMU3RyaW5n
KSksIHdoaXRlbGlzdCA/IHdoaXRlbGlzdC0+dG9TdHJpbmdWZWN0b3IoKSA6IFZlY3RvcjxTdHJp
bmc+KCksIGJsYWNrbGlzdCA/IGJsYWNrbGlzdC0+dG9TdHJpbmdWZWN0b3IoKSA6IFZlY3RvcjxT
dHJpbmc+KCksIHRvVXNlckNvbnRlbnRJbmplY3RlZEZyYW1lcyhpbmplY3RlZEZyYW1lcyksIFdl
YkNvcmU6OlVzZXJTdHlsZVVzZXJMZXZlbCB9LCBBUEk6OkNvbnRlbnRXb3JsZDo6cGFnZUNvbnRl
bnRXb3JsZCgpKTsKKyAgICBSZWY8QVBJOjpVc2VyU3R5bGVTaGVldD4gdXNlclN0eWxlU2hlZXQg
PSBBUEk6OlVzZXJTdHlsZVNoZWV0OjpjcmVhdGUoV2ViQ29yZTo6VXNlclN0eWxlU2hlZXQgeyBz
b3VyY2UsIChiYXNlVVJMU3RyaW5nLmlzRW1wdHkoKSA/IGFib3V0QmxhbmtVUkwoKSA6ICBVUkwo
VVJMKCksIGJhc2VVUkxTdHJpbmcpKSwgd2hpdGVsaXN0ID8gd2hpdGVsaXN0LT50b1N0cmluZ1Zl
Y3RvcigpIDogVmVjdG9yPFN0cmluZz4oKSwgYmxhY2tsaXN0ID8gYmxhY2tsaXN0LT50b1N0cmlu
Z1ZlY3RvcigpIDogVmVjdG9yPFN0cmluZz4oKSwgdG9Vc2VyQ29udGVudEluamVjdGVkRnJhbWVz
KGluamVjdGVkRnJhbWVzKSwgV2ViQ29yZTo6VXNlclN0eWxlVXNlckxldmVsIH0sIEFQSTo6Q29u
dGVudFdvcmxkOjpwYWdlQ29udGVudFdvcmxkKCkpOwogCiAgICAgdG9JbXBsKHBhZ2VHcm91cFJl
ZiktPnVzZXJDb250ZW50Q29udHJvbGxlcigpLmFkZFVzZXJTdHlsZVNoZWV0KHVzZXJTdHlsZVNo
ZWV0LmdldCgpKTsKIH0KQEAgLTk4LDcgKzk4LDcgQEAgdm9pZCBXS1BhZ2VHcm91cEFkZFVzZXJT
Y3JpcHQoV0tQYWdlR3JvdXBSZWYgcGFnZUdyb3VwUmVmLCBXS1N0cmluZ1JlZiBzb3VyY2VSZWYK
ICAgICBhdXRvIHdoaXRlbGlzdCA9IHRvSW1wbCh3aGl0ZWxpc3RlZFVSTFBhdHRlcm5zKTsKICAg
ICBhdXRvIGJsYWNrbGlzdCA9IHRvSW1wbChibGFja2xpc3RlZFVSTFBhdHRlcm5zKTsKICAgICAK
LSAgICBhdXRvIHVybCA9IGJhc2VVUkxTdHJpbmcuaXNFbXB0eSgpID8gV1RGOjpibGFua1VSTCgp
IDogIFVSTChVUkwoKSwgYmFzZVVSTFN0cmluZyk7CisgICAgYXV0byB1cmwgPSBiYXNlVVJMU3Ry
aW5nLmlzRW1wdHkoKSA/IGFib3V0QmxhbmtVUkwoKSA6ICBVUkwoVVJMKCksIGJhc2VVUkxTdHJp
bmcpOwogICAgIFJlZjxBUEk6OlVzZXJTY3JpcHQ+IHVzZXJTY3JpcHQgPSBBUEk6OlVzZXJTY3Jp
cHQ6OmNyZWF0ZShXZWJDb3JlOjpVc2VyU2NyaXB0IHsgV1RGTW92ZShzb3VyY2UpLCBXVEZNb3Zl
KHVybCksIHdoaXRlbGlzdCA/IHdoaXRlbGlzdC0+dG9TdHJpbmdWZWN0b3IoKSA6IFZlY3RvcjxT
dHJpbmc+KCksIGJsYWNrbGlzdCA/IGJsYWNrbGlzdC0+dG9TdHJpbmdWZWN0b3IoKSA6IFZlY3Rv
cjxTdHJpbmc+KCksIHRvVXNlclNjcmlwdEluamVjdGlvblRpbWUoaW5qZWN0aW9uVGltZSksIHRv
VXNlckNvbnRlbnRJbmplY3RlZEZyYW1lcyhpbmplY3RlZEZyYW1lcykgfSwgQVBJOjpDb250ZW50
V29ybGQ6OnBhZ2VDb250ZW50V29ybGQoKSk7CiAgICAgdG9JbXBsKHBhZ2VHcm91cFJlZiktPnVz
ZXJDb250ZW50Q29udHJvbGxlcigpLmFkZFVzZXJTY3JpcHQodXNlclNjcmlwdC5nZXQoKSwgSW5q
ZWN0VXNlclNjcmlwdEltbWVkaWF0ZWx5OjpObyk7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0L1VJUHJvY2Vzcy9JbnNwZWN0b3IvV2ViUGFnZURlYnVnZ2FibGUuY3BwIGIvU291cmNlL1dl
YktpdC9VSVByb2Nlc3MvSW5zcGVjdG9yL1dlYlBhZ2VEZWJ1Z2dhYmxlLmNwcAppbmRleCBiZWJi
ZGY4N2FjZTE3MmQyMzBhODVjNjFkMDViNjkxMGNkNzI0YjI1Li42OWU0NTc2NjAwNGRhNjNlZGEz
ZmVlMDRlNDVjYWU2ZmU3NGQyM2U2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vz
cy9JbnNwZWN0b3IvV2ViUGFnZURlYnVnZ2FibGUuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQ
cm9jZXNzL0luc3BlY3Rvci9XZWJQYWdlRGVidWdnYWJsZS5jcHAKQEAgLTU1LDExICs1NSwxMSBA
QCBTdHJpbmcgV2ViUGFnZURlYnVnZ2FibGU6Om5hbWUoKSBjb25zdAogU3RyaW5nIFdlYlBhZ2VE
ZWJ1Z2dhYmxlOjp1cmwoKSBjb25zdAogewogICAgIGlmICghbV9wYWdlLm1haW5GcmFtZSgpKQot
ICAgICAgICByZXR1cm4gV1RGOjpibGFua1VSTCgpLnN0cmluZygpOworICAgICAgICByZXR1cm4g
YWJvdXRCbGFua1VSTCgpLnN0cmluZygpOwogCiAgICAgU3RyaW5nIHVybCA9IG1fcGFnZS5tYWlu
RnJhbWUoKS0+dXJsKCkuc3RyaW5nKCk7CiAgICAgaWYgKHVybC5pc0VtcHR5KCkpCi0gICAgICAg
IHJldHVybiBXVEY6OmJsYW5rVVJMKCkuc3RyaW5nKCk7CisgICAgICAgIHJldHVybiBhYm91dEJs
YW5rVVJMKCkuc3RyaW5nKCk7CiAKICAgICByZXR1cm4gdXJsOwogfQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmNwcCBiL1NvdXJjZS9XZWJLaXQvVUlQ
cm9jZXNzL1dlYlBhZ2VQcm94eS5jcHAKaW5kZXggZTExZWMyNTNlOGZlM2FiNjU4YmUxMTFhNTk2
ODA4N2FhMGVkYzcwMC4uYTRlZDEzZDY3Njg0NDFiZmYzNmU2MzI5OTZhYmUyMDM2Y2EwNGE2ZiAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmNwcAorKysg
Yi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuY3BwCkBAIC0xNDIwLDcgKzE0
MjAsNyBAQCB2b2lkIFdlYlBhZ2VQcm94eTo6bG9hZERhdGFXaXRoTmF2aWdhdGlvblNoYXJlZChS
ZWY8V2ViUHJvY2Vzc1Byb3h5PiYmIHByb2Nlc3MsCiAKICAgICBhdXRvIHRyYW5zYWN0aW9uID0g
bV9wYWdlTG9hZFN0YXRlLnRyYW5zYWN0aW9uKCk7CiAKLSAgICBtX3BhZ2VMb2FkU3RhdGUuc2V0
UGVuZGluZ0FQSVJlcXVlc3QodHJhbnNhY3Rpb24sIHsgbmF2aWdhdGlvbi5uYXZpZ2F0aW9uSUQo
KSwgIWJhc2VVUkwuaXNFbXB0eSgpID8gYmFzZVVSTCA6IFdURjo6YmxhbmtVUkwoKS5zdHJpbmco
KSB9KTsKKyAgICBtX3BhZ2VMb2FkU3RhdGUuc2V0UGVuZGluZ0FQSVJlcXVlc3QodHJhbnNhY3Rp
b24sIHsgbmF2aWdhdGlvbi5uYXZpZ2F0aW9uSUQoKSwgIWJhc2VVUkwuaXNFbXB0eSgpID8gYmFz
ZVVSTCA6IGFib3V0QmxhbmtVUkwoKS5zdHJpbmcoKSB9KTsKIAogICAgIExvYWRQYXJhbWV0ZXJz
IGxvYWRQYXJhbWV0ZXJzOwogICAgIGxvYWRQYXJhbWV0ZXJzLm5hdmlnYXRpb25JRCA9IG5hdmln
YXRpb24ubmF2aWdhdGlvbklEKCk7CkBAIC0xNDk3LDcgKzE0OTcsNyBAQCB2b2lkIFdlYlBhZ2VQ
cm94eTo6bG9hZFdlYkFyY2hpdmVEYXRhKEFQSTo6RGF0YSogd2ViQXJjaGl2ZURhdGEsIEFQSTo6
T2JqZWN0KiB1cwogICAgICAgICBsYXVuY2hQcm9jZXNzKHsgfSwgUHJvY2Vzc0xhdW5jaFJlYXNv
bjo6SW5pdGlhbFByb2Nlc3MpOwogCiAgICAgYXV0byB0cmFuc2FjdGlvbiA9IG1fcGFnZUxvYWRT
dGF0ZS50cmFuc2FjdGlvbigpOwotICAgIG1fcGFnZUxvYWRTdGF0ZS5zZXRQZW5kaW5nQVBJUmVx
dWVzdCh0cmFuc2FjdGlvbiwgeyAwLCBXVEY6OmJsYW5rVVJMKCkuc3RyaW5nKCkgfSk7CisgICAg
bV9wYWdlTG9hZFN0YXRlLnNldFBlbmRpbmdBUElSZXF1ZXN0KHRyYW5zYWN0aW9uLCB7IDAsIGFi
b3V0QmxhbmtVUkwoKS5zdHJpbmcoKSB9KTsKIAogICAgIExvYWRQYXJhbWV0ZXJzIGxvYWRQYXJh
bWV0ZXJzOwogICAgIGxvYWRQYXJhbWV0ZXJzLm5hdmlnYXRpb25JRCA9IDA7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNwcCBiL1NvdXJjZS9X
ZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwCmluZGV4IDE3NWE5YzEwN2E1YjIy
NmVlMzEwMjk2ZGY0MDI3OTVmYmVmNzZmYzkuLmFlNTRhZGYwN2I5NWVmZGJjYTM4MzZhZTUzNDdh
NzhiYjA1MTg2YjQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdl
L1dlYlBhZ2UuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBh
Z2UuY3BwCkBAIC0xNjIzLDcgKzE2MjMsNyBAQCB2b2lkIFdlYlBhZ2U6OmxvYWREYXRhKExvYWRQ
YXJhbWV0ZXJzJiYgbG9hZFBhcmFtZXRlcnMpCiAgICAgcGxhdGZvcm1EaWRSZWNlaXZlTG9hZFBh
cmFtZXRlcnMobG9hZFBhcmFtZXRlcnMpOwogCiAgICAgYXV0byBzaGFyZWRCdWZmZXIgPSBTaGFy
ZWRCdWZmZXI6OmNyZWF0ZShyZWludGVycHJldF9jYXN0PGNvbnN0IGNoYXIqPihsb2FkUGFyYW1l
dGVycy5kYXRhLmRhdGEoKSksIGxvYWRQYXJhbWV0ZXJzLmRhdGEuc2l6ZSgpKTsKLSAgICBVUkwg
YmFzZVVSTCA9IGxvYWRQYXJhbWV0ZXJzLmJhc2VVUkxTdHJpbmcuaXNFbXB0eSgpID8gV1RGOjpi
bGFua1VSTCgpIDogVVJMKFVSTCgpLCBsb2FkUGFyYW1ldGVycy5iYXNlVVJMU3RyaW5nKTsKKyAg
ICBVUkwgYmFzZVVSTCA9IGxvYWRQYXJhbWV0ZXJzLmJhc2VVUkxTdHJpbmcuaXNFbXB0eSgpID8g
YWJvdXRCbGFua1VSTCgpIDogVVJMKFVSTCgpLCBsb2FkUGFyYW1ldGVycy5iYXNlVVJMU3RyaW5n
KTsKICAgICBsb2FkRGF0YUltcGwobG9hZFBhcmFtZXRlcnMubmF2aWdhdGlvbklELCBsb2FkUGFy
YW1ldGVycy5zaG91bGRUcmVhdEFzQ29udGludWluZ0xvYWQsIFdURk1vdmUobG9hZFBhcmFtZXRl
cnMud2Vic2l0ZVBvbGljaWVzKSwgV1RGTW92ZShzaGFyZWRCdWZmZXIpLCBsb2FkUGFyYW1ldGVy
cy5NSU1FVHlwZSwgbG9hZFBhcmFtZXRlcnMuZW5jb2RpbmdOYW1lLCBiYXNlVVJMLCBVUkwoKSwg
bG9hZFBhcmFtZXRlcnMudXNlckRhdGEsIGxvYWRQYXJhbWV0ZXJzLmlzTmF2aWdhdGluZ1RvQXBw
Qm91bmREb21haW4sIGxvYWRQYXJhbWV0ZXJzLmhhc05hdmlnYXRlZEF3YXlGcm9tQXBwQm91bmRE
b21haW4sIGxvYWRQYXJhbWV0ZXJzLnNob3VsZE9wZW5FeHRlcm5hbFVSTHNQb2xpY3kpOwogfQog
CkBAIC0xNjMxLDcgKzE2MzEsNyBAQCB2b2lkIFdlYlBhZ2U6OmxvYWRBbHRlcm5hdGVIVE1MKExv
YWRQYXJhbWV0ZXJzJiYgbG9hZFBhcmFtZXRlcnMpCiB7CiAgICAgcGxhdGZvcm1EaWRSZWNlaXZl
TG9hZFBhcmFtZXRlcnMobG9hZFBhcmFtZXRlcnMpOwogCi0gICAgVVJMIGJhc2VVUkwgPSBsb2Fk
UGFyYW1ldGVycy5iYXNlVVJMU3RyaW5nLmlzRW1wdHkoKSA/IFdURjo6YmxhbmtVUkwoKSA6IFVS
TChVUkwoKSwgbG9hZFBhcmFtZXRlcnMuYmFzZVVSTFN0cmluZyk7CisgICAgVVJMIGJhc2VVUkwg
PSBsb2FkUGFyYW1ldGVycy5iYXNlVVJMU3RyaW5nLmlzRW1wdHkoKSA/IGFib3V0QmxhbmtVUkwo
KSA6IFVSTChVUkwoKSwgbG9hZFBhcmFtZXRlcnMuYmFzZVVSTFN0cmluZyk7CiAgICAgVVJMIHVu
cmVhY2hhYmxlVVJMID0gbG9hZFBhcmFtZXRlcnMudW5yZWFjaGFibGVVUkxTdHJpbmcuaXNFbXB0
eSgpID8gVVJMKCkgOiBVUkwoVVJMKCksIGxvYWRQYXJhbWV0ZXJzLnVucmVhY2hhYmxlVVJMU3Ry
aW5nKTsKICAgICBVUkwgcHJvdmlzaW9uYWxMb2FkRXJyb3JVUkwgPSBsb2FkUGFyYW1ldGVycy5w
cm92aXNpb25hbExvYWRFcnJvclVSTFN0cmluZy5pc0VtcHR5KCkgPyBVUkwoKSA6IFVSTChVUkwo
KSwgbG9hZFBhcmFtZXRlcnMucHJvdmlzaW9uYWxMb2FkRXJyb3JVUkxTdHJpbmcpOwogICAgIGF1
dG8gc2hhcmVkQnVmZmVyID0gU2hhcmVkQnVmZmVyOjpjcmVhdGUocmVpbnRlcnByZXRfY2FzdDxj
b25zdCBjaGFyKj4obG9hZFBhcmFtZXRlcnMuZGF0YS5kYXRhKCkpLCBsb2FkUGFyYW1ldGVycy5k
YXRhLnNpemUoKSk7CkBAIC0xOTYyLDcgKzE5NjIsNyBAQCBTdHJpbmcgV2ViUGFnZTo6ZHVtcEhp
c3RvcnlGb3JUZXN0aW5nKGNvbnN0IFN0cmluZyYgZGlyZWN0b3J5KQogICAgIAogICAgIFN0cmlu
Z0J1aWxkZXIgYnVpbGRlcjsKICAgICBpbnQgYmVnaW4gPSAtbGlzdC5iYWNrQ291bnQoKTsKLSAg
ICBpZiAobGlzdC5pdGVtQXRJbmRleChiZWdpbiktPnVybCgpID09IFdURjo6YmxhbmtVUkwoKSkK
KyAgICBpZiAobGlzdC5pdGVtQXRJbmRleChiZWdpbiktPnVybCgpID09IGFib3V0QmxhbmtVUkwo
KSkKICAgICAgICAgKytiZWdpbjsKICAgICBmb3IgKGludCBpID0gYmVnaW47IGkgPD0gc3RhdGlj
X2Nhc3Q8aW50PihsaXN0LmZvcndhcmRDb3VudCgpKTsgKytpKQogICAgICAgICBkdW1wSGlzdG9y
eUl0ZW0oKmxpc3QuaXRlbUF0SW5kZXgoaSksIDgsICFpLCBidWlsZGVyLCBkaXJlY3RvcnkpOwpA
QCAtNjQ1MiwxNCArNjQ1MiwxNCBAQCB2b2lkIFdlYlBhZ2U6OmltYWdlT3JNZWRpYURvY3VtZW50
U2l6ZUNoYW5nZWQoY29uc3QgSW50U2l6ZSYgbmV3U2l6ZSkKIAogdm9pZCBXZWJQYWdlOjphZGRV
c2VyU2NyaXB0KFN0cmluZyYmIHNvdXJjZSwgV2ViQ29yZTo6VXNlckNvbnRlbnRJbmplY3RlZEZy
YW1lcyBpbmplY3RlZEZyYW1lcywgV2ViQ29yZTo6VXNlclNjcmlwdEluamVjdGlvblRpbWUgaW5q
ZWN0aW9uVGltZSkKIHsKLSAgICBXZWJDb3JlOjpVc2VyU2NyaXB0IHVzZXJTY3JpcHQgeyBXVEZN
b3ZlKHNvdXJjZSksIFVSTChXVEY6OmJsYW5rVVJMKCkpLCBWZWN0b3I8U3RyaW5nPigpLCBWZWN0
b3I8U3RyaW5nPigpLCBpbmplY3Rpb25UaW1lLCBpbmplY3RlZEZyYW1lcyB9OworICAgIFdlYkNv
cmU6OlVzZXJTY3JpcHQgdXNlclNjcmlwdCB7IFdURk1vdmUoc291cmNlKSwgVVJMKGFib3V0Qmxh
bmtVUkwoKSksIFZlY3RvcjxTdHJpbmc+KCksIFZlY3RvcjxTdHJpbmc+KCksIGluamVjdGlvblRp
bWUsIGluamVjdGVkRnJhbWVzIH07CiAKICAgICBtX3VzZXJDb250ZW50Q29udHJvbGxlci0+YWRk
VXNlclNjcmlwdChJbmplY3RlZEJ1bmRsZVNjcmlwdFdvcmxkOjpub3JtYWxXb3JsZCgpLCBXVEZN
b3ZlKHVzZXJTY3JpcHQpKTsKIH0KIAogdm9pZCBXZWJQYWdlOjphZGRVc2VyU3R5bGVTaGVldChj
b25zdCBTdHJpbmcmIHNvdXJjZSwgV2ViQ29yZTo6VXNlckNvbnRlbnRJbmplY3RlZEZyYW1lcyBp
bmplY3RlZEZyYW1lcykKIHsKLSAgICBXZWJDb3JlOjpVc2VyU3R5bGVTaGVldCB1c2VyU3R5bGVT
aGVldCB7c291cmNlLCBXVEY6OmJsYW5rVVJMKCksIFZlY3RvcjxTdHJpbmc+KCksIFZlY3RvcjxT
dHJpbmc+KCksIGluamVjdGVkRnJhbWVzLCBVc2VyU3R5bGVVc2VyTGV2ZWwgfTsKKyAgICBXZWJD
b3JlOjpVc2VyU3R5bGVTaGVldCB1c2VyU3R5bGVTaGVldCB7c291cmNlLCBhYm91dEJsYW5rVVJM
KCksIFZlY3RvcjxTdHJpbmc+KCksIFZlY3RvcjxTdHJpbmc+KCksIGluamVjdGVkRnJhbWVzLCBV
c2VyU3R5bGVVc2VyTGV2ZWwgfTsKIAogICAgIG1fdXNlckNvbnRlbnRDb250cm9sbGVyLT5hZGRV
c2VyU3R5bGVTaGVldChJbmplY3RlZEJ1bmRsZVNjcmlwdFdvcmxkOjpub3JtYWxXb3JsZCgpLCBX
VEZNb3ZlKHVzZXJTdHlsZVNoZWV0KSk7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0TGVn
YWN5L21hYy9XZWJDb3JlU3VwcG9ydC9XZWJGcmFtZUxvYWRlckNsaWVudC5tbSBiL1NvdXJjZS9X
ZWJLaXRMZWdhY3kvbWFjL1dlYkNvcmVTdXBwb3J0L1dlYkZyYW1lTG9hZGVyQ2xpZW50Lm1tCmlu
ZGV4IDBjMWJlY2ZmNzNmOGRhOTI1YjViNzgxZGZiZTRkNTBkYmU2YjZkYzUuLmIwNWMzZjlmNGU0
ZDQ1ZTZkZTg2MWQyZTVlMmFlMTdkZTg5MDYxZTUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXRM
ZWdhY3kvbWFjL1dlYkNvcmVTdXBwb3J0L1dlYkZyYW1lTG9hZGVyQ2xpZW50Lm1tCisrKyBiL1Nv
dXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dlYkNvcmVTdXBwb3J0L1dlYkZyYW1lTG9hZGVyQ2xpZW50
Lm1tCkBAIC0xMDMzLDcgKzEwMzMsNyBAQCB2b2lkIFdlYkZyYW1lTG9hZGVyQ2xpZW50Ojp1cGRh
dGVHbG9iYWxIaXN0b3J5KCkKICAgICBXZWJWaWV3KiB2aWV3ID0gZ2V0V2ViVmlldyhtX3dlYkZy
YW1lLmdldCgpKTsKICAgICBhdXRvKiBsb2FkZXIgPSBjb3JlKG1fd2ViRnJhbWUuZ2V0KCkpLT5s
b2FkZXIoKS5kb2N1bWVudExvYWRlcigpOwogI2lmIFBMQVRGT1JNKElPU19GQU1JTFkpCi0gICAg
aWYgKGxvYWRlci0+dXJsRm9ySGlzdG9yeSgpID09IFdURjo6YmxhbmtVUkwoKSkKKyAgICBpZiAo
bG9hZGVyLT51cmxGb3JIaXN0b3J5KCkgPT0gYWJvdXRCbGFua1VSTCgpKQogICAgICAgICByZXR1
cm47CiAjZW5kaWYKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViVmll
dy9XZWJGcmFtZS5tbSBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dlYlZpZXcvV2ViRnJhbWUu
bW0KaW5kZXggYmMzYmViZGYyNjJmYTRlY2ZiMDE4NzhiM2MyYjBjNTVjM2VhOTAxNS4uMWZmODUz
NDU0NjE1ZmY1ZTg1NGM2ZmI3ZmQ5Nzg1ZTk4Mjc5ODBkZiAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdExlZ2FjeS9tYWMvV2ViVmlldy9XZWJGcmFtZS5tbQorKysgYi9Tb3VyY2UvV2ViS2l0TGVn
YWN5L21hYy9XZWJWaWV3L1dlYkZyYW1lLm1tCkBAIC0yNTMzLDcgKzI1MzMsNyBAQCBzdGF0aWMg
TlNVUkwgKmNyZWF0ZVVuaXF1ZVdlYkRhdGFVUkwoKQogICAgIGlmIChiYXNlVVJMKQogICAgICAg
ICBiYXNlVVJMID0gW2Jhc2VVUkwgYWJzb2x1dGVVUkxdOwogICAgIGVsc2UgewotICAgICAgICBi
YXNlVVJMID0gV1RGOjpibGFua1VSTCgpOworICAgICAgICBiYXNlVVJMID0gYWJvdXRCbGFua1VS
TCgpOwogICAgICAgICByZXNwb25zZVVSTCA9IGNyZWF0ZVVuaXF1ZVdlYkRhdGFVUkwoKTsKICAg
ICB9CiAgICAgCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>394254</attachid>
            <date>2020-03-23 05:02:40 -0700</date>
            <delta_ts>2020-03-23 12:47:03 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-209344-20200323130239.patch</filename>
            <type>text/plain</type>
            <size>39998</size>
            <attacher name="youenn fablet">youennf</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjU4ODI2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IDY2MTdiYjgxOGEzMzllMDY4OTc0YThh
MDA3NjRhMDk4ODA1YjcwZTYuLmJhYjM1ZDVjMWUyYWM2ZjgxN2ExNTlhNDY1MDQ5YWNjMTZhODBl
YzUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMTcgQEAKKzIwMjAtMDMtMjMgIHlvdWVubiBmYWJsZXQgIDx5b3Vl
bm5AYXBwbGUuY29tPgorCisgICAgICAgIFJlbmFtZSBibGFua1VSTCB0byBhYm91dEJsYW5rVVJM
CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMDkzNDQK
KworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBSZW5hbWUg
YmxhbmtVUkwgdG8gYWJvdXRCbGFua1VSTCBhbmQgYWxsb3cgdXNpbmcgaXQgd2l0aG91dCBXVEY6
OiBwcmVmaXguCisKKyAgICAgICAgKiB3dGYvVVJMLmNwcDoKKyAgICAgICAgKFdURjo6YWJvdXRC
bGFua1VSTCk6CisgICAgICAgIChXVEY6OmJsYW5rVVJMKTogRGVsZXRlZC4KKyAgICAgICAgKiB3
dGYvVVJMLmg6CisKIDIwMjAtMDMtMjIgIEFudG9pbmUgUXVpbnQgIDxncmFvdXRzQGFwcGxlLmNv
bT4KIAogICAgICAgICBEb2N1bWVudFRpbWVsaW5lIC8gQ1NTVHJhbnNpdGlvbiBvYmplY3RzIGFy
ZSBsZWFraW5nIG9uIENOTi5jb20KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxv
ZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCA0YmYwZDg0NzJhNGRmOGExNjU0YzQz
NmZlNTdiMDg2NjVmMDQ0ZTBkLi5iOTE4MGZmMTMzMDI4ZGZmYjU3ODc1M2VjNGFlOTJkODllZTJh
MzA0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dl
YkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNjIgQEAKKzIwMjAtMDMtMjMgIHlvdWVubiBmYWJs
ZXQgIDx5b3Vlbm5AYXBwbGUuY29tPgorCisgICAgICAgIFJlbmFtZSBibGFua1VSTCB0byBhYm91
dEJsYW5rVVJMCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD0yMDkzNDQKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAg
ICBObyBjaGFuZ2Ugb2YgYmVoYXZpb3IuCisKKyAgICAgICAgKiBkb20vRG9jdW1lbnQuY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6RG9jdW1lbnQ6OnNldFVSTCk6CisgICAgICAgIChXZWJDb3JlOjpE
b2N1bWVudDo6Y29tcGxldGVVUkwgY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6RG9jdW1lbnQ6
OmVuc3VyZVRlbXBsYXRlRG9jdW1lbnQpOgorICAgICAgICAqIGRvbS9Eb2N1bWVudC5oOgorICAg
ICAgICAoV2ViQ29yZTo6RG9jdW1lbnQ6OnVybEZvckJpbmRpbmdzIGNvbnN0KToKKyAgICAgICAg
KiBkb20vSW5saW5lU3R5bGVTaGVldE93bmVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OnBhcnNl
ckNvbnRleHRGb3JFbGVtZW50KToKKyAgICAgICAgKiBkb20vTm9kZS5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpOb2RlOjpiYXNlVVJJIGNvbnN0KToKKyAgICAgICAgKiBlZGl0aW5nL2NvY29hL1dl
YkNvbnRlbnRSZWFkZXJDb2NvYS5tbToKKyAgICAgICAgKFdlYkNvcmU6OldlYkNvbnRlbnRSZWFk
ZXI6OnJlYWRXZWJBcmNoaXZlKToKKyAgICAgICAgKiBlZGl0aW5nL21hcmt1cC5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpjcmVhdGVGcmFnbWVudEZyb21NYXJrdXApOgorICAgICAgICAqIGh0bWwv
RE9NVVJMLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkRPTVVSTDo6Y3JlYXRlKToKKyAgICAgICAg
KiBodG1sL0hUTUxGcmFtZUVsZW1lbnRCYXNlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxG
cmFtZUVsZW1lbnRCYXNlOjpvcGVuVVJMKToKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxGcmFtZUVs
ZW1lbnRCYXNlOjpsb2NhdGlvbiBjb25zdCk6CisgICAgICAgICogaHRtbC9wYXJzZXIvWFNTQXVk
aXRvci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpYU1NBdWRpdG9yOjpmaWx0ZXJTY3JpcHRUb2tl
bik6CisgICAgICAgIChXZWJDb3JlOjpYU1NBdWRpdG9yOjpmaWx0ZXJPYmplY3RUb2tlbik6Cisg
ICAgICAgIChXZWJDb3JlOjpYU1NBdWRpdG9yOjpmaWx0ZXJQYXJhbVRva2VuKToKKyAgICAgICAg
KFdlYkNvcmU6OlhTU0F1ZGl0b3I6OmZpbHRlckVtYmVkVG9rZW4pOgorICAgICAgICAoV2ViQ29y
ZTo6WFNTQXVkaXRvcjo6ZmlsdGVyRm9ybVRva2VuKToKKyAgICAgICAgKFdlYkNvcmU6OlhTU0F1
ZGl0b3I6OmZpbHRlcklucHV0VG9rZW4pOgorICAgICAgICAoV2ViQ29yZTo6WFNTQXVkaXRvcjo6
ZmlsdGVyQnV0dG9uVG9rZW4pOgorICAgICAgICAoV2ViQ29yZTo6WFNTQXVkaXRvcjo6aXNMaWtl
bHlTYWZlUmVzb3VyY2UpOgorICAgICAgICAqIGxvYWRlci9Eb2N1bWVudExvYWRlci5jcHA6Cisg
ICAgICAgIChXZWJDb3JlOjpEb2N1bWVudExvYWRlcjo6bWF5YmVMb2FkRW1wdHkpOgorICAgICAg
ICAqIGxvYWRlci9Eb2N1bWVudExvYWRlci5oOgorICAgICAgICAoV2ViQ29yZTo6RG9jdW1lbnRM
b2FkZXI6OnNlcnZlclJlZGlyZWN0U291cmNlRm9ySGlzdG9yeSBjb25zdCk6CisgICAgICAgICog
bG9hZGVyL0ZyYW1lTG9hZGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkZyYW1lTG9hZGVyOjps
b2FkV2l0aERvY3VtZW50TG9hZGVyKToKKyAgICAgICAgKiBsb2FkZXIvSGlzdG9yeUNvbnRyb2xs
ZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SGlzdG9yeUNvbnRyb2xsZXI6OmN1cnJlbnRJdGVt
U2hvdWxkQmVSZXBsYWNlZCBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpIaXN0b3J5Q29udHJv
bGxlcjo6aW5pdGlhbGl6ZUl0ZW0pOgorICAgICAgICAqIGxvYWRlci9TdWJmcmFtZUxvYWRlci5j
cHA6CisgICAgICAgIChXZWJDb3JlOjpTdWJmcmFtZUxvYWRlcjo6cmVxdWVzdEZyYW1lKToKKyAg
ICAgICAgKiBsb2FkZXIvYXJjaGl2ZS9jZi9MZWdhY3lXZWJBcmNoaXZlLmNwcDoKKyAgICAgICAg
KFdlYkNvcmU6OkxlZ2FjeVdlYkFyY2hpdmU6OmNyZWF0ZUZyb21TZWxlY3Rpb24pOgorICAgICAg
ICAqIHBhZ2UvTG9jYXRpb24uY3BwOgorICAgICAgICAoV2ViQ29yZTo6TG9jYXRpb246OnVybCBj
b25zdCk6CisgICAgICAgICogcGFnZS9TZWN1cml0eVBvbGljeS5jcHA6CisgICAgICAgIChXZWJD
b3JlOjpTZWN1cml0eVBvbGljeTo6c2hvdWxkSW5oZXJpdFNlY3VyaXR5T3JpZ2luRnJvbU93bmVy
KToKKyAgICAgICAgKiBwbGF0Zm9ybS93aW4vQ2xpcGJvYXJkVXRpbGl0aWVzV2luLmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6Om1hcmt1cFRvQ0ZIVE1MKToKKyAgICAgICAgKiBzdmcvU1ZHSW1hZ2VM
b2FkZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U1ZHSW1hZ2VMb2FkZXI6OnNvdXJjZVVSSSBj
b25zdCk6CisKIDIwMjAtMDMtMjIgIEFudG9pbmUgUXVpbnQgIDxncmFvdXRzQGFwcGxlLmNvbT4K
IAogICAgICAgICBEb2N1bWVudFRpbWVsaW5lIC8gQ1NTVHJhbnNpdGlvbiBvYmplY3RzIGFyZSBs
ZWFraW5nIG9uIENOTi5jb20KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nIGIv
U291cmNlL1dlYktpdC9DaGFuZ2VMb2cKaW5kZXggYTUxM2YyNGRhMzY4ZjczMWEzMjdjOTQ5OTgw
ZWJlNWE4NTJjZTJhYS4uMTkxNGMyNmMxZmFlMWNkZjYyNmMwYzAzYWE0YWMwMzA0ZTY3YTkwYSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9D
aGFuZ2VMb2cKQEAgLTEsMyArMSwyOSBAQAorMjAyMC0wMy0yMyAgeW91ZW5uIGZhYmxldCAgPHlv
dWVubkBhcHBsZS5jb20+CisKKyAgICAgICAgUmVuYW1lIGJsYW5rVVJMIHRvIGFib3V0QmxhbmtV
UkwKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIwOTM0
NAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogVUlQ
cm9jZXNzL0FQSS9DL1dLUGFnZS5jcHA6CisgICAgICAgIChXS1BhZ2VMb2FkUGxhaW5UZXh0U3Ry
aW5nV2l0aFVzZXJEYXRhKToKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL0MvV0tQYWdlR3JvdXAu
Y3BwOgorICAgICAgICAoV0tQYWdlR3JvdXBBZGRVc2VyU3R5bGVTaGVldCk6CisgICAgICAgIChX
S1BhZ2VHcm91cEFkZFVzZXJTY3JpcHQpOgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvZ2xpYi9X
ZWJLaXRXZWJWaWV3LmNwcDoKKyAgICAgICAgKHdlYmtpdF93ZWJfdmlld19sb2FkX3BsYWluX3Rl
eHQpOgorICAgICAgICAqIFVJUHJvY2Vzcy9JbnNwZWN0b3IvV2ViUGFnZURlYnVnZ2FibGUuY3Bw
OgorICAgICAgICAoV2ViS2l0OjpXZWJQYWdlRGVidWdnYWJsZTo6dXJsIGNvbnN0KToKKyAgICAg
ICAgKiBVSVByb2Nlc3MvV2ViUGFnZVByb3h5LmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViUGFn
ZVByb3h5Ojpsb2FkRGF0YVdpdGhOYXZpZ2F0aW9uU2hhcmVkKToKKyAgICAgICAgKFdlYktpdDo6
V2ViUGFnZVByb3h5Ojpsb2FkV2ViQXJjaGl2ZURhdGEpOgorICAgICAgICAqIFdlYlByb2Nlc3Mv
V2ViUGFnZS9XZWJQYWdlLmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViUGFnZTo6bG9hZERhdGEp
OgorICAgICAgICAoV2ViS2l0OjpXZWJQYWdlOjpsb2FkQWx0ZXJuYXRlSFRNTCk6CisgICAgICAg
IChXZWJLaXQ6OldlYlBhZ2U6OmR1bXBIaXN0b3J5Rm9yVGVzdGluZyk6CisgICAgICAgIChXZWJL
aXQ6OldlYlBhZ2U6OmFkZFVzZXJTY3JpcHQpOgorICAgICAgICAoV2ViS2l0OjpXZWJQYWdlOjph
ZGRVc2VyU3R5bGVTaGVldCk6CisKIDIwMjAtMDMtMjMgIHlvdWVubiBmYWJsZXQgIDx5b3Vlbm5A
YXBwbGUuY29tPgogCiAgICAgICAgIEV4cGxpY2l0bHkgYWN0aXZhdGUgdGhlIG5ldyBEcmF3aW5n
QXJlYVByb3h5IG9uIFBTT04gbmF2aWdhdGlvbgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdExl
Z2FjeS9tYWMvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvQ2hhbmdlTG9nCmlu
ZGV4IDdhYTliZGQ0ZjgzNmE5MjA3NTI3MTIyNDBkY2U3ZTA1OWMwNjVlY2IuLjIyMzY3OTlmMmM2
NGE5YTIwNjQ1ZGE3NjhlNDk5OTk3MjIzOGU3NmMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXRM
ZWdhY3kvbWFjL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9DaGFuZ2VM
b2cKQEAgLTEsMyArMSwxNSBAQAorMjAyMC0wMy0yMyAgeW91ZW5uIGZhYmxldCAgPHlvdWVubkBh
cHBsZS5jb20+CisKKyAgICAgICAgUmVuYW1lIGJsYW5rVVJMIHRvIGFib3V0QmxhbmtVUkwKKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIwOTM0NAorCisg
ICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogV2ViQ29yZVN1
cHBvcnQvV2ViRnJhbWVMb2FkZXJDbGllbnQubW06CisgICAgICAgIChXZWJGcmFtZUxvYWRlckNs
aWVudDo6dXBkYXRlR2xvYmFsSGlzdG9yeSk6CisgICAgICAgICogV2ViVmlldy9XZWJGcmFtZS5t
bToKKyAgICAgICAgKC1bV2ViRnJhbWUgX2xvYWREYXRhOk1JTUVUeXBlOnRleHRFbmNvZGluZ05h
bWU6YmFzZVVSTDp1bnJlYWNoYWJsZVVSTDpdKToKKwogMjAyMC0wMy0yMCAgSmVyIE5vYmxlICA8
amVyLm5vYmxlQGFwcGxlLmNvbT4KIAogICAgICAgICBFbnN1cmUgbWVkaWEgY2FjaGUgZGlyZWN0
b3J5IGlzIGNyZWF0ZWQgYmVmb3JlIHBhc3NpbmcgdG8gQVZVUkxBc3NldC4KZGlmZiAtLWdpdCBh
L1NvdXJjZS9XVEYvd3RmL1VSTC5jcHAgYi9Tb3VyY2UvV1RGL3d0Zi9VUkwuY3BwCmluZGV4IDlm
Y2E2MDAwMGNjZDM1MTQ1NjM3ZTIyZjA1OThjZjBhNDViNDA3YzAuLjJjNTA0YmNkYThiZDMyYjc4
YjM5NGFkMjJmMDc5MTJhODMyMTAxZDcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvd3RmL1VSTC5j
cHAKKysrIGIvU291cmNlL1dURi93dGYvVVJMLmNwcApAQCAtODY3LDcgKzg2Nyw3IEBAIGJvb2wg
cHJvdG9jb2xJc0luSFRUUEZhbWlseShjb25zdCBTdHJpbmcmIHVybCkKICAgICAgICAgJiYgKHVy
bFs0XSA9PSAnOicgfHwgKGlzQVNDSUlBbHBoYUNhc2VsZXNzRXF1YWwodXJsWzRdLCAncycpICYm
IGxlbmd0aCA+PSA2ICYmIHVybFs1XSA9PSAnOicpKTsKIH0KIAotY29uc3QgVVJMJiBibGFua1VS
TCgpCitjb25zdCBVUkwmIGFib3V0QmxhbmtVUkwoKQogewogICAgIHN0YXRpYyBOZXZlckRlc3Ry
b3llZDxVUkw+IHN0YXRpY0JsYW5rVVJMKFVSTCgpLCAiYWJvdXQ6YmxhbmsiKTsKICAgICByZXR1
cm4gc3RhdGljQmxhbmtVUkw7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL3d0Zi9VUkwuaCBiL1Nv
dXJjZS9XVEYvd3RmL1VSTC5oCmluZGV4IDhiMjA3YWJjMTAxODk4MDMzOGYxN2QzNzMyZjI0ODM3
MDNhZDI3NWIuLjdjNjQ3OGMyMmY5NDMwMzVlNDY0MjI4NjFkYTc4MjZjYmIzYmYzMWIgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XVEYvd3RmL1VSTC5oCisrKyBiL1NvdXJjZS9XVEYvd3RmL1VSTC5oCkBA
IC0yNTksNyArMjU5LDcgQEAgV1RGX0VYUE9SVF9QUklWQVRFIGJvb2wgZXF1YWxJZ25vcmluZ1F1
ZXJ5QW5kRnJhZ21lbnQoY29uc3QgVVJMJiwgY29uc3QgVVJMJik7CiBXVEZfRVhQT1JUX1BSSVZB
VEUgYm9vbCBwcm90b2NvbEhvc3RBbmRQb3J0QXJlRXF1YWwoY29uc3QgVVJMJiwgY29uc3QgVVJM
Jik7CiBXVEZfRVhQT1JUX1BSSVZBVEUgYm9vbCBob3N0c0FyZUVxdWFsKGNvbnN0IFVSTCYsIGNv
bnN0IFVSTCYpOwogCi1XVEZfRVhQT1JUX1BSSVZBVEUgY29uc3QgVVJMJiBibGFua1VSTCgpOwor
V1RGX0VYUE9SVF9QUklWQVRFIGNvbnN0IFVSTCYgYWJvdXRCbGFua1VSTCgpOwogV1RGX0VYUE9S
VF9QUklWQVRFIGNvbnN0IFVSTCYgYWJvdXRTcmNEb2NVUkwoKTsKIAogLy8gRnVuY3Rpb25zIHRv
IGRvIFVSTCBvcGVyYXRpb25zIG9uIHN0cmluZ3MuCkBAIC0zODcsMyArMzg3LDYgQEAgdGVtcGxh
dGU8PiBzdHJ1Y3QgRGVmYXVsdEhhc2g8VVJMPjsKIHRlbXBsYXRlPD4gc3RydWN0IEhhc2hUcmFp
dHM8VVJMPjsKIAogfSAvLyBuYW1lc3BhY2UgV1RGCisKK3VzaW5nIFdURjo6YWJvdXRCbGFua1VS
TDsKK3VzaW5nIFdURjo6YWJvdXRTcmNEb2NVUkw7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9kb20vRG9jdW1lbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmNwcAppbmRl
eCA4MzdiNTI0N2FmNjA2ZmM1MDU1ODVhNTY2YTNmZGY0NjliOTg2NjIyLi43NWYwNjU3MTdkZDg3
ODExMGE5ODY2ZjVmYTUyNDU5YmIwMWM3MWNmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9k
b20vRG9jdW1lbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5jcHAKQEAg
LTMyMzYsNyArMzIzNiw3IEBAIHZvaWQgRG9jdW1lbnQ6OmxvZ0V4Y2VwdGlvblRvQ29uc29sZShj
b25zdCBTdHJpbmcmIGVycm9yTWVzc2FnZSwgY29uc3QgU3RyaW5nJiBzCiAKIHZvaWQgRG9jdW1l
bnQ6OnNldFVSTChjb25zdCBVUkwmIHVybCkKIHsKLSAgICBjb25zdCBVUkwmIG5ld1VSTCA9IHVy
bC5pc0VtcHR5KCkgPyBXVEY6OmJsYW5rVVJMKCkgOiB1cmw7CisgICAgY29uc3QgVVJMJiBuZXdV
UkwgPSB1cmwuaXNFbXB0eSgpID8gYWJvdXRCbGFua1VSTCgpIDogdXJsOwogICAgIGlmIChuZXdV
UkwgPT0gbV91cmwpCiAgICAgICAgIHJldHVybjsKIApAQCAtNTIxMCw3ICs1MjEwLDcgQEAgVVJM
IERvY3VtZW50Ojpjb21wbGV0ZVVSTChjb25zdCBTdHJpbmcmIHVybCwgY29uc3QgVVJMJiBiYXNl
VVJMT3ZlcnJpZGUsIEZvcmNlVVQKICAgICAvLyBTZWUgYWxzbyBbQ1NTXVN0eWxlU2hlZXQ6OmNv
bXBsZXRlVVJMKGNvbnN0IFN0cmluZyYpCiAgICAgaWYgKHVybC5pc051bGwoKSkKICAgICAgICAg
cmV0dXJuIFVSTCgpOwotICAgIGNvbnN0IFVSTCYgYmFzZVVSTCA9ICgoYmFzZVVSTE92ZXJyaWRl
LmlzRW1wdHkoKSB8fCBiYXNlVVJMT3ZlcnJpZGUgPT0gV1RGOjpibGFua1VSTCgpKSAmJiBwYXJl
bnREb2N1bWVudCgpKSA/IHBhcmVudERvY3VtZW50KCktPmJhc2VVUkwoKSA6IGJhc2VVUkxPdmVy
cmlkZTsKKyAgICBjb25zdCBVUkwmIGJhc2VVUkwgPSAoKGJhc2VVUkxPdmVycmlkZS5pc0VtcHR5
KCkgfHwgYmFzZVVSTE92ZXJyaWRlID09IGFib3V0QmxhbmtVUkwoKSkgJiYgcGFyZW50RG9jdW1l
bnQoKSkgPyBwYXJlbnREb2N1bWVudCgpLT5iYXNlVVJMKCkgOiBiYXNlVVJMT3ZlcnJpZGU7CiAg
ICAgaWYgKCFtX2RlY29kZXIgfHwgZm9yY2VVVEY4ID09IEZvcmNlVVRGODo6WWVzKQogICAgICAg
ICByZXR1cm4gVVJMKGJhc2VVUkwsIHVybCk7CiAgICAgcmV0dXJuIFVSTChiYXNlVVJMLCB1cmws
IG1fZGVjb2Rlci0+ZW5jb2RpbmdGb3JVUkxQYXJzaW5nKCkpOwpAQCAtNzA2Myw5ICs3MDYzLDkg
QEAgRG9jdW1lbnQmIERvY3VtZW50OjplbnN1cmVUZW1wbGF0ZURvY3VtZW50KCkKICAgICAgICAg
cmV0dXJuIGNvbnN0X2Nhc3Q8RG9jdW1lbnQmPigqZG9jdW1lbnQpOwogCiAgICAgaWYgKGlzSFRN
TERvY3VtZW50KCkpCi0gICAgICAgIG1fdGVtcGxhdGVEb2N1bWVudCA9IEhUTUxEb2N1bWVudDo6
Y3JlYXRlKG51bGxwdHIsIFdURjo6YmxhbmtVUkwoKSk7CisgICAgICAgIG1fdGVtcGxhdGVEb2N1
bWVudCA9IEhUTUxEb2N1bWVudDo6Y3JlYXRlKG51bGxwdHIsIGFib3V0QmxhbmtVUkwoKSk7CiAg
ICAgZWxzZQotICAgICAgICBtX3RlbXBsYXRlRG9jdW1lbnQgPSBjcmVhdGUoV1RGOjpibGFua1VS
TCgpKTsKKyAgICAgICAgbV90ZW1wbGF0ZURvY3VtZW50ID0gY3JlYXRlKGFib3V0QmxhbmtVUkwo
KSk7CiAKICAgICBtX3RlbXBsYXRlRG9jdW1lbnQtPnNldENvbnRleHREb2N1bWVudChjb250ZXh0
RG9jdW1lbnQoKSk7CiAgICAgbV90ZW1wbGF0ZURvY3VtZW50LT5zZXRUZW1wbGF0ZURvY3VtZW50
SG9zdCh0aGlzKTsgLy8gYmFsYW5jZWQgaW4gZHRvci4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL2RvbS9Eb2N1bWVudC5oIGIvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmgKaW5kZXgg
NTU5YTk4MzhiNjdhNmZmNDFmNzI4ZDI2ZjUwNzg5NzU0MTQxOWMzNS4uYWMzZTkxOWUyODczMjhi
MzRjZTA2Y2Y5ZGVmODRhMDc3NjQxMTExOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9t
L0RvY3VtZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmgKQEAgLTY4NCw3
ICs2ODQsNyBAQCBwdWJsaWM6CiAKICAgICBjb25zdCBVUkwmIHVybCgpIGNvbnN0IGZpbmFsIHsg
cmV0dXJuIG1fdXJsOyB9CiAgICAgdm9pZCBzZXRVUkwoY29uc3QgVVJMJik7Ci0gICAgY29uc3Qg
VVJMJiB1cmxGb3JCaW5kaW5ncygpIGNvbnN0IHsgcmV0dXJuIG1fdXJsLmlzRW1wdHkoKSA/IFdU
Rjo6YmxhbmtVUkwoKSA6IG1fdXJsOyB9CisgICAgY29uc3QgVVJMJiB1cmxGb3JCaW5kaW5ncygp
IGNvbnN0IHsgcmV0dXJuIG1fdXJsLmlzRW1wdHkoKSA/IGFib3V0QmxhbmtVUkwoKSA6IG1fdXJs
OyB9CiAKICAgICAvLyBUbyB1bmRlcnN0YW5kIGhvdyB0aGVzZSBjb25jZXB0cyByZWxhdGUgdG8g
b25lIGFub3RoZXIsIHBsZWFzZSBzZWUgdGhlCiAgICAgLy8gY29tbWVudHMgc3Vycm91bmRpbmcg
dGhlaXIgZGVjbGFyYXRpb24uCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vSW5saW5l
U3R5bGVTaGVldE93bmVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9JbmxpbmVTdHlsZVNoZWV0
T3duZXIuY3BwCmluZGV4IDNiMTJjYTQ1YWE4NGVjMmQ4NTk1OGRhYzhhZmVhYWExM2ZjYjlmYWEu
LjlmNzc5ZjlkN2M1NzhiZDJkYTJiZDJlYjJkZjNkMmZmZGRmZWJhNzEgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL2RvbS9JbmxpbmVTdHlsZVNoZWV0T3duZXIuY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL2RvbS9JbmxpbmVTdHlsZVNoZWV0T3duZXIuY3BwCkBAIC01MCw3ICs1MCw3IEBAIHN0
YXRpYyBDU1NQYXJzZXJDb250ZXh0IHBhcnNlckNvbnRleHRGb3JFbGVtZW50KGNvbnN0IEVsZW1l
bnQmIGVsZW1lbnQpCiB7CiAgICAgYXV0byogc2hhZG93Um9vdCA9IGVsZW1lbnQuY29udGFpbmlu
Z1NoYWRvd1Jvb3QoKTsKICAgICAvLyBVc2VyIGFnZW50IHNoYWRvdyB0cmVlcyBjYW4ndCBjb250
YWluIGRvY3VtZW50LXJlbGF0aXZlIFVSTHMuIFVzZSBibGFuayBVUkwgYXMgYmFzZSBhbGxvd2lu
ZyBjcm9zcy1kb2N1bWVudCBzaGFyaW5nLgotICAgIGF1dG8mIGJhc2VVUkwgPSBzaGFkb3dSb290
ICYmIHNoYWRvd1Jvb3QtPm1vZGUoKSA9PSBTaGFkb3dSb290TW9kZTo6VXNlckFnZW50ID8gV1RG
OjpibGFua1VSTCgpIDogZWxlbWVudC5kb2N1bWVudCgpLmJhc2VVUkwoKTsKKyAgICBhdXRvJiBi
YXNlVVJMID0gc2hhZG93Um9vdCAmJiBzaGFkb3dSb290LT5tb2RlKCkgPT0gU2hhZG93Um9vdE1v
ZGU6OlVzZXJBZ2VudCA/IGFib3V0QmxhbmtVUkwoKSA6IGVsZW1lbnQuZG9jdW1lbnQoKS5iYXNl
VVJMKCk7CiAKICAgICBDU1NQYXJzZXJDb250ZXh0IHJlc3VsdCA9IENTU1BhcnNlckNvbnRleHQg
eyBlbGVtZW50LmRvY3VtZW50KCksIGJhc2VVUkwsIGVsZW1lbnQuZG9jdW1lbnQoKS5jaGFyYWN0
ZXJTZXRXaXRoVVRGOEZhbGxiYWNrKCkgfTsKICAgICBpZiAoc2hhZG93Um9vdCAmJiBzaGFkb3dS
b290LT5tb2RlKCkgPT0gU2hhZG93Um9vdE1vZGU6OlVzZXJBZ2VudCkKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL2RvbS9Ob2RlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Ob2RlLmNwcApp
bmRleCA4YzQ1NjBmNGU1MDQ2ODExOWMxZmQ2ZmNmYjNiMGY0MjRhNWNhZmQyLi5lN2NlM2EwOGI3
MzdhNGY0ZDVlNGFkMzZkY2I0ODJkNzc0ZTZlYThmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9kb20vTm9kZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL05vZGUuY3BwCkBAIC0xMzMz
LDcgKzEzMzMsNyBAQCBEb2N1bWVudCogTm9kZTo6b3duZXJEb2N1bWVudCgpIGNvbnN0CiBjb25z
dCBVUkwmIE5vZGU6OmJhc2VVUkkoKSBjb25zdAogewogICAgIGF1dG8mIHVybCA9IGRvY3VtZW50
KCkuYmFzZVVSTCgpOwotICAgIHJldHVybiB1cmwuaXNOdWxsKCkgPyBXVEY6OmJsYW5rVVJMKCkg
OiB1cmw7CisgICAgcmV0dXJuIHVybC5pc051bGwoKSA/IGFib3V0QmxhbmtVUkwoKSA6IHVybDsK
IH0KIAogYm9vbCBOb2RlOjppc0VxdWFsTm9kZShOb2RlKiBvdGhlcikgY29uc3QKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvY29jb2EvV2ViQ29udGVudFJlYWRlckNvY29hLm1t
IGIvU291cmNlL1dlYkNvcmUvZWRpdGluZy9jb2NvYS9XZWJDb250ZW50UmVhZGVyQ29jb2EubW0K
aW5kZXggMzk0OTZiNjk4ODY2YzRhZWMzZjc3ZDRlNjYwYmU2ZDUwNzk5ZDlkZS4uZTk2MDFjZTE3
OTRkZGJkYzE3NGU0YjY1MzY1MzRiNzdmZjNjNDEyOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvZWRpdGluZy9jb2NvYS9XZWJDb250ZW50UmVhZGVyQ29jb2EubW0KKysrIGIvU291cmNlL1dl
YkNvcmUvZWRpdGluZy9jb2NvYS9XZWJDb250ZW50UmVhZGVyQ29jb2EubW0KQEAgLTUyOSw3ICs1
MjksNyBAQCBib29sIFdlYkNvbnRlbnRSZWFkZXI6OnJlYWRXZWJBcmNoaXZlKFNoYXJlZEJ1ZmZl
ciYgYnVmZmVyKQogICAgIFN0cmluZyBzYW5pdGl6ZWRNYXJrdXAgPSBzYW5pdGl6ZU1hcmt1cFdp
dGhBcmNoaXZlKGZyYW1lLCAqZnJhbWUuZG9jdW1lbnQoKSwgKnJlc3VsdCwgbXNvTGlzdFF1aXJr
c0Zvck1hcmt1cCgpLCBbJl0gKGNvbnN0IFN0cmluZyYgdHlwZSkgewogICAgICAgICByZXR1cm4g
ZnJhbWUubG9hZGVyKCkuY2xpZW50KCkuY2FuU2hvd01JTUVUeXBlQXNIVE1MKHR5cGUpOwogICAg
IH0pOwotICAgIGZyYWdtZW50ID0gY3JlYXRlRnJhZ21lbnRGcm9tTWFya3VwKCpmcmFtZS5kb2N1
bWVudCgpLCBzYW5pdGl6ZWRNYXJrdXAsIFdURjo6YmxhbmtVUkwoKSwgRGlzYWxsb3dTY3JpcHRp
bmdBbmRQbHVnaW5Db250ZW50KTsKKyAgICBmcmFnbWVudCA9IGNyZWF0ZUZyYWdtZW50RnJvbU1h
cmt1cCgqZnJhbWUuZG9jdW1lbnQoKSwgc2FuaXRpemVkTWFya3VwLCBhYm91dEJsYW5rVVJMKCks
IERpc2FsbG93U2NyaXB0aW5nQW5kUGx1Z2luQ29udGVudCk7CiAKICAgICBpZiAoIWZyYWdtZW50
KQogICAgICAgICByZXR1cm4gZmFsc2U7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9lZGl0
aW5nL21hcmt1cC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL21hcmt1cC5jcHAKaW5kZXgg
N2UyMmM1MjJhZGM4ZTIyN2I2MzliY2VlNmRiNDZkMGEzOTI5M2Q1My4uNDJmOWJjYTZlOTU4Y2Vk
YmE1NjQ2NmQ5YTM0NzdkZGU3NzY5ZGY0YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZWRp
dGluZy9tYXJrdXAuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvbWFya3VwLmNwcApA
QCAtMTAyMSw3ICsxMDIxLDcgQEAgUmVmPERvY3VtZW50RnJhZ21lbnQ+IGNyZWF0ZUZyYWdtZW50
RnJvbU1hcmt1cChEb2N1bWVudCYgZG9jdW1lbnQsIGNvbnN0IFN0cmluZyYKIAogICAgIGZyYWdt
ZW50LT5wYXJzZUhUTUwobWFya3VwLCBmYWtlQm9keS5wdHIoKSwgcGFyc2VyQ29udGVudFBvbGlj
eSk7CiAgICAgcmVzdG9yZUF0dGFjaG1lbnRFbGVtZW50c0luRnJhZ21lbnQoZnJhZ21lbnQpOwot
ICAgIGlmICghYmFzZVVSTC5pc0VtcHR5KCkgJiYgYmFzZVVSTCAhPSBXVEY6OmJsYW5rVVJMKCkg
JiYgYmFzZVVSTCAhPSBkb2N1bWVudC5iYXNlVVJMKCkpCisgICAgaWYgKCFiYXNlVVJMLmlzRW1w
dHkoKSAmJiBiYXNlVVJMICE9IGFib3V0QmxhbmtVUkwoKSAmJiBiYXNlVVJMICE9IGRvY3VtZW50
LmJhc2VVUkwoKSkKICAgICAgICAgY29tcGxldGVVUkxzKGZyYWdtZW50LnB0cigpLCBiYXNlVVJM
KTsKIAogICAgIHJldHVybiBmcmFnbWVudDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0
bWwvRE9NVVJMLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvRE9NVVJMLmNwcAppbmRleCA0MDIy
ZGExNjdmMDg4ZmZiZjU0MWI0OTEwMTMwMmFmOWQwYTdjODUzLi45NmRhMDU0NmI0YzdlMzEwODQw
NzJmMzNkYWQ3MDI5ZjBiMTMwYTJmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0RP
TVVSTC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9ET01VUkwuY3BwCkBAIC02Myw3ICs2
Myw3IEBAIEV4Y2VwdGlvbk9yPFJlZjxET01VUkw+PiBET01VUkw6OmNyZWF0ZShjb25zdCBTdHJp
bmcmIHVybCwgY29uc3QgRE9NVVJMJiBiYXNlKQogCiBFeGNlcHRpb25PcjxSZWY8RE9NVVJMPj4g
RE9NVVJMOjpjcmVhdGUoY29uc3QgU3RyaW5nJiB1cmwpCiB7Ci0gICAgVVJMIGJhc2VVUkwgeyBX
VEY6OmJsYW5rVVJMKCkgfTsKKyAgICBVUkwgYmFzZVVSTCB7IGFib3V0QmxhbmtVUkwoKSB9Owog
ICAgIFVSTCBjb21wbGV0ZVVSTCB7IGJhc2VVUkwsIHVybCB9OwogICAgIGlmICghY29tcGxldGVV
UkwuaXNWYWxpZCgpKQogICAgICAgICByZXR1cm4gRXhjZXB0aW9uIHsgVHlwZUVycm9yIH07CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxGcmFtZUVsZW1lbnRCYXNlLmNwcCBi
L1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEZyYW1lRWxlbWVudEJhc2UuY3BwCmluZGV4IDAyZjk0
YmJhYWY3ZDZmZDQxN2E2MDQ1MmYzZTBmYjgxNzY2ZjBiNTcuLjRmNGRhODJlNTJhZmE1ZmM0NmFh
Nzk0ZTAyMTI4YjQxMTZjMTllMGYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRN
TEZyYW1lRWxlbWVudEJhc2UuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEZyYW1l
RWxlbWVudEJhc2UuY3BwCkBAIC04Nyw3ICs4Nyw3IEBAIHZvaWQgSFRNTEZyYW1lRWxlbWVudEJh
c2U6Om9wZW5VUkwoTG9ja0hpc3RvcnkgbG9ja0hpc3RvcnksIExvY2tCYWNrRm9yd2FyZExpc3QK
ICAgICAgICAgcmV0dXJuOwogCiAgICAgaWYgKG1fVVJMLmlzRW1wdHkoKSkKLSAgICAgICAgbV9V
UkwgPSBXVEY6OmJsYW5rVVJMKCkuc3RyaW5nKCk7CisgICAgICAgIG1fVVJMID0gYWJvdXRCbGFu
a1VSTCgpLnN0cmluZygpOwogCiAgICAgUmVmUHRyPEZyYW1lPiBwYXJlbnRGcmFtZSA9IGRvY3Vt
ZW50KCkuZnJhbWUoKTsKICAgICBpZiAoIXBhcmVudEZyYW1lKQpAQCAtMTUzLDcgKzE1Myw3IEBA
IHZvaWQgSFRNTEZyYW1lRWxlbWVudEJhc2U6OmRpZEF0dGFjaFJlbmRlcmVycygpCiBVUkwgSFRN
TEZyYW1lRWxlbWVudEJhc2U6OmxvY2F0aW9uKCkgY29uc3QKIHsKICAgICBpZiAoaGFzQXR0cmli
dXRlV2l0aG91dFN5bmNocm9uaXphdGlvbihzcmNkb2NBdHRyKSkKLSAgICAgICAgcmV0dXJuIFdU
Rjo6YWJvdXRTcmNEb2NVUkwoKTsKKyAgICAgICAgcmV0dXJuIGFib3V0U3JjRG9jVVJMKCk7CiAg
ICAgcmV0dXJuIGRvY3VtZW50KCkuY29tcGxldGVVUkwoYXR0cmlidXRlV2l0aG91dFN5bmNocm9u
aXphdGlvbihzcmNBdHRyKSk7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwv
cGFyc2VyL1hTU0F1ZGl0b3IuY3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC9wYXJzZXIvWFNTQXVk
aXRvci5jcHAKaW5kZXggMDYxZDk1NjdiNzg0ZDliMGJhY2YzZjZkYjljZGU1YTgwNmIwMWMxMy4u
ZjZkYzNlYTljM2E4YzRmMzViYjhjZWRiODllODIyMGI2NjlhOWI0NiAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvaHRtbC9wYXJzZXIvWFNTQXVkaXRvci5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvaHRtbC9wYXJzZXIvWFNTQXVkaXRvci5jcHAKQEAgLTQ0MSw5ICs0NDEsOSBAQCBib29sIFhT
U0F1ZGl0b3I6OmZpbHRlclNjcmlwdFRva2VuKGNvbnN0IEZpbHRlclRva2VuUmVxdWVzdCYgcmVx
dWVzdCkKIAogICAgIGJvb2wgZGlkQmxvY2tTY3JpcHQgPSBmYWxzZTsKICAgICBpZiAobV93YXNT
Y3JpcHRUYWdGb3VuZEluUmVxdWVzdCkgewotICAgICAgICBkaWRCbG9ja1NjcmlwdCB8PSBlcmFz
ZUF0dHJpYnV0ZUlmSW5qZWN0ZWQocmVxdWVzdCwgc3JjQXR0ciwgV1RGOjpibGFua1VSTCgpLnN0
cmluZygpLCBUcnVuY2F0aW9uU3R5bGU6OlNyY0xpa2VBdHRyaWJ1dGUpOwotICAgICAgICBkaWRC
bG9ja1NjcmlwdCB8PSBlcmFzZUF0dHJpYnV0ZUlmSW5qZWN0ZWQocmVxdWVzdCwgU1ZHTmFtZXM6
OmhyZWZBdHRyLCBXVEY6OmJsYW5rVVJMKCkuc3RyaW5nKCksIFRydW5jYXRpb25TdHlsZTo6U3Jj
TGlrZUF0dHJpYnV0ZSk7Ci0gICAgICAgIGRpZEJsb2NrU2NyaXB0IHw9IGVyYXNlQXR0cmlidXRl
SWZJbmplY3RlZChyZXF1ZXN0LCBYTGlua05hbWVzOjpocmVmQXR0ciwgV1RGOjpibGFua1VSTCgp
LnN0cmluZygpLCBUcnVuY2F0aW9uU3R5bGU6OlNyY0xpa2VBdHRyaWJ1dGUpOworICAgICAgICBk
aWRCbG9ja1NjcmlwdCB8PSBlcmFzZUF0dHJpYnV0ZUlmSW5qZWN0ZWQocmVxdWVzdCwgc3JjQXR0
ciwgYWJvdXRCbGFua1VSTCgpLnN0cmluZygpLCBUcnVuY2F0aW9uU3R5bGU6OlNyY0xpa2VBdHRy
aWJ1dGUpOworICAgICAgICBkaWRCbG9ja1NjcmlwdCB8PSBlcmFzZUF0dHJpYnV0ZUlmSW5qZWN0
ZWQocmVxdWVzdCwgU1ZHTmFtZXM6OmhyZWZBdHRyLCBhYm91dEJsYW5rVVJMKCkuc3RyaW5nKCks
IFRydW5jYXRpb25TdHlsZTo6U3JjTGlrZUF0dHJpYnV0ZSk7CisgICAgICAgIGRpZEJsb2NrU2Ny
aXB0IHw9IGVyYXNlQXR0cmlidXRlSWZJbmplY3RlZChyZXF1ZXN0LCBYTGlua05hbWVzOjpocmVm
QXR0ciwgYWJvdXRCbGFua1VSTCgpLnN0cmluZygpLCBUcnVuY2F0aW9uU3R5bGU6OlNyY0xpa2VB
dHRyaWJ1dGUpOwogICAgIH0KIAogICAgIHJldHVybiBkaWRCbG9ja1NjcmlwdDsKQEAgLTQ1Niw3
ICs0NTYsNyBAQCBib29sIFhTU0F1ZGl0b3I6OmZpbHRlck9iamVjdFRva2VuKGNvbnN0IEZpbHRl
clRva2VuUmVxdWVzdCYgcmVxdWVzdCkKIAogICAgIGJvb2wgZGlkQmxvY2tTY3JpcHQgPSBmYWxz
ZTsKICAgICBpZiAoaXNDb250YWluZWRJblJlcXVlc3QoY2Fub25pY2FsaXplZFNuaXBwZXRGb3JU
YWdOYW1lKHJlcXVlc3QpKSkgewotICAgICAgICBkaWRCbG9ja1NjcmlwdCB8PSBlcmFzZUF0dHJp
YnV0ZUlmSW5qZWN0ZWQocmVxdWVzdCwgZGF0YUF0dHIsIFdURjo6YmxhbmtVUkwoKS5zdHJpbmco
KSwgVHJ1bmNhdGlvblN0eWxlOjpTcmNMaWtlQXR0cmlidXRlKTsKKyAgICAgICAgZGlkQmxvY2tT
Y3JpcHQgfD0gZXJhc2VBdHRyaWJ1dGVJZkluamVjdGVkKHJlcXVlc3QsIGRhdGFBdHRyLCBhYm91
dEJsYW5rVVJMKCkuc3RyaW5nKCksIFRydW5jYXRpb25TdHlsZTo6U3JjTGlrZUF0dHJpYnV0ZSk7
CiAgICAgICAgIGRpZEJsb2NrU2NyaXB0IHw9IGVyYXNlQXR0cmlidXRlSWZJbmplY3RlZChyZXF1
ZXN0LCB0eXBlQXR0cik7CiAgICAgICAgIGRpZEJsb2NrU2NyaXB0IHw9IGVyYXNlQXR0cmlidXRl
SWZJbmplY3RlZChyZXF1ZXN0LCBjbGFzc2lkQXR0cik7CiAgICAgfQpAQCAtNDc2LDcgKzQ3Niw3
IEBAIGJvb2wgWFNTQXVkaXRvcjo6ZmlsdGVyUGFyYW1Ub2tlbihjb25zdCBGaWx0ZXJUb2tlblJl
cXVlc3QmIHJlcXVlc3QpCiAgICAgaWYgKCFIVE1MUGFyYW1FbGVtZW50Ojppc1VSTFBhcmFtZXRl
cihTdHJpbmcobmFtZUF0dHJpYnV0ZS52YWx1ZSkpKQogICAgICAgICByZXR1cm4gZmFsc2U7CiAK
LSAgICByZXR1cm4gZXJhc2VBdHRyaWJ1dGVJZkluamVjdGVkKHJlcXVlc3QsIHZhbHVlQXR0ciwg
V1RGOjpibGFua1VSTCgpLnN0cmluZygpLCBUcnVuY2F0aW9uU3R5bGU6OlNyY0xpa2VBdHRyaWJ1
dGUpOworICAgIHJldHVybiBlcmFzZUF0dHJpYnV0ZUlmSW5qZWN0ZWQocmVxdWVzdCwgdmFsdWVB
dHRyLCBhYm91dEJsYW5rVVJMKCkuc3RyaW5nKCksIFRydW5jYXRpb25TdHlsZTo6U3JjTGlrZUF0
dHJpYnV0ZSk7CiB9CiAKIGJvb2wgWFNTQXVkaXRvcjo6ZmlsdGVyRW1iZWRUb2tlbihjb25zdCBG
aWx0ZXJUb2tlblJlcXVlc3QmIHJlcXVlc3QpCkBAIC00ODcsNyArNDg3LDcgQEAgYm9vbCBYU1NB
dWRpdG9yOjpmaWx0ZXJFbWJlZFRva2VuKGNvbnN0IEZpbHRlclRva2VuUmVxdWVzdCYgcmVxdWVz
dCkKICAgICBib29sIGRpZEJsb2NrU2NyaXB0ID0gZmFsc2U7CiAgICAgaWYgKGlzQ29udGFpbmVk
SW5SZXF1ZXN0KGNhbm9uaWNhbGl6ZWRTbmlwcGV0Rm9yVGFnTmFtZShyZXF1ZXN0KSkpIHsKICAg
ICAgICAgZGlkQmxvY2tTY3JpcHQgfD0gZXJhc2VBdHRyaWJ1dGVJZkluamVjdGVkKHJlcXVlc3Qs
IGNvZGVBdHRyLCBTdHJpbmcoKSwgVHJ1bmNhdGlvblN0eWxlOjpTcmNMaWtlQXR0cmlidXRlKTsK
LSAgICAgICAgZGlkQmxvY2tTY3JpcHQgfD0gZXJhc2VBdHRyaWJ1dGVJZkluamVjdGVkKHJlcXVl
c3QsIHNyY0F0dHIsIFdURjo6YmxhbmtVUkwoKS5zdHJpbmcoKSwgVHJ1bmNhdGlvblN0eWxlOjpT
cmNMaWtlQXR0cmlidXRlKTsKKyAgICAgICAgZGlkQmxvY2tTY3JpcHQgfD0gZXJhc2VBdHRyaWJ1
dGVJZkluamVjdGVkKHJlcXVlc3QsIHNyY0F0dHIsIGFib3V0QmxhbmtVUkwoKS5zdHJpbmcoKSwg
VHJ1bmNhdGlvblN0eWxlOjpTcmNMaWtlQXR0cmlidXRlKTsKICAgICAgICAgZGlkQmxvY2tTY3Jp
cHQgfD0gZXJhc2VBdHRyaWJ1dGVJZkluamVjdGVkKHJlcXVlc3QsIHR5cGVBdHRyKTsKICAgICB9
CiAgICAgcmV0dXJuIGRpZEJsb2NrU2NyaXB0OwpAQCAtNTM5LDcgKzUzOSw3IEBAIGJvb2wgWFNT
QXVkaXRvcjo6ZmlsdGVyRm9ybVRva2VuKGNvbnN0IEZpbHRlclRva2VuUmVxdWVzdCYgcmVxdWVz
dCkKICAgICBBU1NFUlQocmVxdWVzdC50b2tlbi50eXBlKCkgPT0gSFRNTFRva2VuOjpTdGFydFRh
Zyk7CiAgICAgQVNTRVJUKGhhc05hbWUocmVxdWVzdC50b2tlbiwgZm9ybVRhZykpOwogCi0gICAg
cmV0dXJuIGVyYXNlQXR0cmlidXRlSWZJbmplY3RlZChyZXF1ZXN0LCBhY3Rpb25BdHRyLCBXVEY6
OmJsYW5rVVJMKCkuc3RyaW5nKCkpOworICAgIHJldHVybiBlcmFzZUF0dHJpYnV0ZUlmSW5qZWN0
ZWQocmVxdWVzdCwgYWN0aW9uQXR0ciwgYWJvdXRCbGFua1VSTCgpLnN0cmluZygpKTsKIH0KIAog
Ym9vbCBYU1NBdWRpdG9yOjpmaWx0ZXJJbnB1dFRva2VuKGNvbnN0IEZpbHRlclRva2VuUmVxdWVz
dCYgcmVxdWVzdCkKQEAgLTU0Nyw3ICs1NDcsNyBAQCBib29sIFhTU0F1ZGl0b3I6OmZpbHRlcklu
cHV0VG9rZW4oY29uc3QgRmlsdGVyVG9rZW5SZXF1ZXN0JiByZXF1ZXN0KQogICAgIEFTU0VSVChy
ZXF1ZXN0LnRva2VuLnR5cGUoKSA9PSBIVE1MVG9rZW46OlN0YXJ0VGFnKTsKICAgICBBU1NFUlQo
aGFzTmFtZShyZXF1ZXN0LnRva2VuLCBpbnB1dFRhZykpOwogCi0gICAgcmV0dXJuIGVyYXNlQXR0
cmlidXRlSWZJbmplY3RlZChyZXF1ZXN0LCBmb3JtYWN0aW9uQXR0ciwgV1RGOjpibGFua1VSTCgp
LnN0cmluZygpLCBUcnVuY2F0aW9uU3R5bGU6OlNyY0xpa2VBdHRyaWJ1dGUpOworICAgIHJldHVy
biBlcmFzZUF0dHJpYnV0ZUlmSW5qZWN0ZWQocmVxdWVzdCwgZm9ybWFjdGlvbkF0dHIsIGFib3V0
QmxhbmtVUkwoKS5zdHJpbmcoKSwgVHJ1bmNhdGlvblN0eWxlOjpTcmNMaWtlQXR0cmlidXRlKTsK
IH0KIAogYm9vbCBYU1NBdWRpdG9yOjpmaWx0ZXJCdXR0b25Ub2tlbihjb25zdCBGaWx0ZXJUb2tl
blJlcXVlc3QmIHJlcXVlc3QpCkBAIC01NTUsNyArNTU1LDcgQEAgYm9vbCBYU1NBdWRpdG9yOjpm
aWx0ZXJCdXR0b25Ub2tlbihjb25zdCBGaWx0ZXJUb2tlblJlcXVlc3QmIHJlcXVlc3QpCiAgICAg
QVNTRVJUKHJlcXVlc3QudG9rZW4udHlwZSgpID09IEhUTUxUb2tlbjo6U3RhcnRUYWcpOwogICAg
IEFTU0VSVChoYXNOYW1lKHJlcXVlc3QudG9rZW4sIGJ1dHRvblRhZykpOwogCi0gICAgcmV0dXJu
IGVyYXNlQXR0cmlidXRlSWZJbmplY3RlZChyZXF1ZXN0LCBmb3JtYWN0aW9uQXR0ciwgV1RGOjpi
bGFua1VSTCgpLnN0cmluZygpLCBUcnVuY2F0aW9uU3R5bGU6OlNyY0xpa2VBdHRyaWJ1dGUpOwor
ICAgIHJldHVybiBlcmFzZUF0dHJpYnV0ZUlmSW5qZWN0ZWQocmVxdWVzdCwgZm9ybWFjdGlvbkF0
dHIsIGFib3V0QmxhbmtVUkwoKS5zdHJpbmcoKSwgVHJ1bmNhdGlvblN0eWxlOjpTcmNMaWtlQXR0
cmlidXRlKTsKIH0KIAogYm9vbCBYU1NBdWRpdG9yOjplcmFzZURhbmdlcm91c0F0dHJpYnV0ZXNJ
ZkluamVjdGVkKGNvbnN0IEZpbHRlclRva2VuUmVxdWVzdCYgcmVxdWVzdCkKQEAgLTczMyw3ICs3
MzMsNyBAQCBib29sIFhTU0F1ZGl0b3I6OmlzTGlrZWx5U2FmZVJlc291cmNlKGNvbnN0IFN0cmlu
ZyYgdXJsKQogICAgIC8vIEdpdmUgZW1wdHkgVVJMcyBhbmQgYWJvdXQ6YmxhbmsgYSBwYXNzLiBN
YWtpbmcgYSByZXNvdXJjZVVSTCBmcm9tIGFuCiAgICAgLy8gZW1wdHkgc3RyaW5nIGJlbG93IHdp
bGwgbGlrZWx5IGxhdGVyIGZhaWwgdGhlICJubyBxdWVyeSBhcmdzIHRlc3QiIGFzCiAgICAgLy8g
aXQgaW5oZXJpdHMgdGhlIGRvY3VtZW50J3MgcXVlcnkgYXJncy4KLSAgICBpZiAodXJsLmlzRW1w
dHkoKSB8fCB1cmwgPT0gV1RGOjpibGFua1VSTCgpLnN0cmluZygpKQorICAgIGlmICh1cmwuaXNF
bXB0eSgpIHx8IHVybCA9PSBhYm91dEJsYW5rVVJMKCkuc3RyaW5nKCkpCiAgICAgICAgIHJldHVy
biB0cnVlOwogCiAgICAgLy8gSWYgdGhlIHJlc291cmNlIGlzIGxvYWRlZCBmcm9tIHRoZSBzYW1l
IGhvc3QgYXMgdGhlIGVuY2xvc2luZyBwYWdlLCBpdCdzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9sb2FkZXIvRG9jdW1lbnRMb2FkZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL0Rv
Y3VtZW50TG9hZGVyLmNwcAppbmRleCAxNTExZjVhN2Q0YjAzOGU3YThkMmRkYzRhZTNlNTA2MDQ4
NmZkNzk0Li5kZjg4Yzg0NWMzY2ZlZDUxZjdkZDI3MGE4MTBjOGMyNDdjODg3MzVlIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRG9jdW1lbnRMb2FkZXIuY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL2xvYWRlci9Eb2N1bWVudExvYWRlci5jcHAKQEAgLTE3ODMsNyArMTc4Myw3IEBA
IGJvb2wgRG9jdW1lbnRMb2FkZXI6Om1heWJlTG9hZEVtcHR5KCkKICAgICAgICAgcmV0dXJuIGZh
bHNlOwogCiAgICAgaWYgKG1fcmVxdWVzdC51cmwoKS5pc0VtcHR5KCkgJiYgIWZyYW1lTG9hZGVy
KCktPnN0YXRlTWFjaGluZSgpLmNyZWF0aW5nSW5pdGlhbEVtcHR5RG9jdW1lbnQoKSkgewotICAg
ICAgICBtX3JlcXVlc3Quc2V0VVJMKFdURjo6YmxhbmtVUkwoKSk7CisgICAgICAgIG1fcmVxdWVz
dC5zZXRVUkwoYWJvdXRCbGFua1VSTCgpKTsKICAgICAgICAgaWYgKGlzTG9hZGluZ01haW5SZXNv
dXJjZSgpKQogICAgICAgICAgICAgZnJhbWVMb2FkZXIoKS0+Y2xpZW50KCkuZGlzcGF0Y2hEaWRD
aGFuZ2VQcm92aXNpb25hbFVSTCgpOwogICAgIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L2xvYWRlci9Eb2N1bWVudExvYWRlci5oIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL0RvY3VtZW50
TG9hZGVyLmgKaW5kZXggZDZhM2QwYWNkMjQ2ZGU3MGNiNDg1ODgwYTA0YjM4OTQxYzgzMmY2NS4u
Y2M5ZDFjMWJjMGM1ZWRlN2M4MWMxYWQxYTA1ZDM1OGE0NzYwZDA3NCAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvbG9hZGVyL0RvY3VtZW50TG9hZGVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUv
bG9hZGVyL0RvY3VtZW50TG9hZGVyLmgKQEAgLTI3MCw3ICsyNzAsNyBAQCBwdWJsaWM6CiAgICAg
U3RyaW5nIGNsaWVudFJlZGlyZWN0RGVzdGluYXRpb25Gb3JIaXN0b3J5KCkgY29uc3QgeyByZXR1
cm4gdXJsRm9ySGlzdG9yeSgpOyB9CiAgICAgdm9pZCBzZXRDbGllbnRSZWRpcmVjdFNvdXJjZUZv
ckhpc3RvcnkoY29uc3QgU3RyaW5nJiBjbGllbnRSZWRpcmVjdFNvdXJjZUZvckhpc3RvcnkpIHsg
bV9jbGllbnRSZWRpcmVjdFNvdXJjZUZvckhpc3RvcnkgPSBjbGllbnRSZWRpcmVjdFNvdXJjZUZv
ckhpc3Rvcnk7IH0KICAgICAKLSAgICBTdHJpbmcgc2VydmVyUmVkaXJlY3RTb3VyY2VGb3JIaXN0
b3J5KCkgY29uc3QgeyByZXR1cm4gKHVybEZvckhpc3RvcnkoKSA9PSB1cmwoKSB8fCB1cmwoKSA9
PSBXVEY6OmJsYW5rVVJMKCkpID8gU3RyaW5nKCkgOiB1cmxGb3JIaXN0b3J5KCkuc3RyaW5nKCk7
IH0gLy8gbnVsbCBpZiBubyBzZXJ2ZXIgcmVkaXJlY3Qgb2NjdXJyZWQuCisgICAgU3RyaW5nIHNl
cnZlclJlZGlyZWN0U291cmNlRm9ySGlzdG9yeSgpIGNvbnN0IHsgcmV0dXJuICh1cmxGb3JIaXN0
b3J5KCkgPT0gdXJsKCkgfHwgdXJsKCkgPT0gYWJvdXRCbGFua1VSTCgpKSA/IFN0cmluZygpIDog
dXJsRm9ySGlzdG9yeSgpLnN0cmluZygpOyB9IC8vIG51bGwgaWYgbm8gc2VydmVyIHJlZGlyZWN0
IG9jY3VycmVkLgogICAgIFN0cmluZyBzZXJ2ZXJSZWRpcmVjdERlc3RpbmF0aW9uRm9ySGlzdG9y
eSgpIGNvbnN0IHsgcmV0dXJuIHVybCgpOyB9CiAKICAgICBib29sIGRpZENyZWF0ZUdsb2JhbEhp
c3RvcnlFbnRyeSgpIGNvbnN0IHsgcmV0dXJuIG1fZGlkQ3JlYXRlR2xvYmFsSGlzdG9yeUVudHJ5
OyB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRnJhbWVMb2FkZXIuY3BwIGIv
U291cmNlL1dlYkNvcmUvbG9hZGVyL0ZyYW1lTG9hZGVyLmNwcAppbmRleCAzOTI4ZTAxYmQ3MDcx
Nzc5NGU3NzAxNTZjMWJkNjE3N2ZhMDQwOWM4Li44NDk0NmZkY2JhMzE3MmY0ZjlhYjNlNmNiNmM0
ODBlNTUxNzA5ZWExIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRnJhbWVMb2Fk
ZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9GcmFtZUxvYWRlci5jcHAKQEAgLTE1
ODIsNyArMTU4Miw3IEBAIHZvaWQgRnJhbWVMb2FkZXI6OmxvYWRXaXRoRG9jdW1lbnRMb2FkZXIo
RG9jdW1lbnRMb2FkZXIqIGxvYWRlciwgRnJhbWVMb2FkVHlwZSB0CiAKICAgICAvLyBPbmx5IHRo
ZSBmaXJzdCBpZnJhbWUgbmF2aWdhdGlvbiBvciB0aGUgZmlyc3QgaWZyYW1lIG5hdmlnYXRpb24g
YWZ0ZXIgYWJvdXQ6Ymxhbmsgc2hvdWxkIGJlIHJlcG9ydGVkLgogICAgIC8vIGh0dHBzOi8vd3d3
LnczLm9yZy9UUi9yZXNvdXJjZS10aW1pbmctMi8jcmVzb3VyY2VzLWluY2x1ZGVkLWluLXRoZS1w
ZXJmb3JtYW5jZXJlc291cmNldGltaW5nLWludGVyZmFjZQotICAgIGlmIChtX3Nob3VsZFJlcG9y
dFJlc291cmNlVGltaW5nVG9QYXJlbnRGcmFtZSAmJiAhbV9wcmV2aW91c1VSTC5pc051bGwoKSAm
JiBtX3ByZXZpb3VzVVJMICE9IFdURjo6YmxhbmtVUkwoKSkKKyAgICBpZiAobV9zaG91bGRSZXBv
cnRSZXNvdXJjZVRpbWluZ1RvUGFyZW50RnJhbWUgJiYgIW1fcHJldmlvdXNVUkwuaXNOdWxsKCkg
JiYgbV9wcmV2aW91c1VSTCAhPSBhYm91dEJsYW5rVVJMKCkpCiAgICAgICAgIG1fc2hvdWxkUmVw
b3J0UmVzb3VyY2VUaW1pbmdUb1BhcmVudEZyYW1lID0gZmFsc2U7CiAKICAgICAvLyBMb2cgbWFp
biBmcmFtZSBuYXZpZ2F0aW9uIHR5cGVzLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbG9h
ZGVyL0hpc3RvcnlDb250cm9sbGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9IaXN0b3J5
Q29udHJvbGxlci5jcHAKaW5kZXggYWIyNTVkZDBiN2I0YWFhODczMWRhYzczOTlhZmQxZTQ1ODI0
YmU4Yi4uYWY3NmVhYjQxYjZmOGM0YjU2YWMyN2MyZTQxYzYzZjIwMjE2ZjgxNSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL0hpc3RvcnlDb250cm9sbGVyLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9sb2FkZXIvSGlzdG9yeUNvbnRyb2xsZXIuY3BwCkBAIC02MTQsNyArNjE0LDcg
QEAgYm9vbCBIaXN0b3J5Q29udHJvbGxlcjo6Y3VycmVudEl0ZW1TaG91bGRCZVJlcGxhY2VkKCkg
Y29uc3QKICAgICAvLyAgIklmIHRoZSBicm93c2luZyBjb250ZXh0J3Mgc2Vzc2lvbiBoaXN0b3J5
IGNvbnRhaW5zIG9ubHkgb25lIERvY3VtZW50LAogICAgIC8vICAgYW5kIHRoYXQgd2FzIHRoZSBh
Ym91dDpibGFuayBEb2N1bWVudCBjcmVhdGVkIHdoZW4gdGhlIGJyb3dzaW5nIGNvbnRleHQKICAg
ICAvLyAgIHdhcyBjcmVhdGVkLCB0aGVuIHRoZSBuYXZpZ2F0aW9uIG11c3QgYmUgZG9uZSB3aXRo
IHJlcGxhY2VtZW50IGVuYWJsZWQuIgotICAgIHJldHVybiBtX2N1cnJlbnRJdGVtICYmICFtX3By
ZXZpb3VzSXRlbSAmJiBlcXVhbElnbm9yaW5nQVNDSUlDYXNlKG1fY3VycmVudEl0ZW0tPnVybFN0
cmluZygpLCBXVEY6OmJsYW5rVVJMKCkpOworICAgIHJldHVybiBtX2N1cnJlbnRJdGVtICYmICFt
X3ByZXZpb3VzSXRlbSAmJiBlcXVhbElnbm9yaW5nQVNDSUlDYXNlKG1fY3VycmVudEl0ZW0tPnVy
bFN0cmluZygpLCBhYm91dEJsYW5rVVJMKCkpOwogfQogCiB2b2lkIEhpc3RvcnlDb250cm9sbGVy
OjpjbGVhclByZXZpb3VzSXRlbSgpCkBAIC02NTMsOSArNjUzLDkgQEAgdm9pZCBIaXN0b3J5Q29u
dHJvbGxlcjo6aW5pdGlhbGl6ZUl0ZW0oSGlzdG9yeUl0ZW0mIGl0ZW0pCiAgICAgLy8gTGF0ZXIg
d2UgbWF5IHdhbnQgdG8gbGVhcm4gdG8gbGl2ZSB3aXRoIG5pbCBmb3IgVVJMLgogICAgIC8vIFNl
ZSBidWcgMzM2ODIzNiBhbmQgcmVsYXRlZCBidWdzIGZvciBtb3JlIGluZm9ybWF0aW9uLgogICAg
IGlmICh1cmwuaXNFbXB0eSgpKSAKLSAgICAgICAgdXJsID0gV1RGOjpibGFua1VSTCgpOworICAg
ICAgICB1cmwgPSBhYm91dEJsYW5rVVJMKCk7CiAgICAgaWYgKG9yaWdpbmFsVVJMLmlzRW1wdHko
KSkKLSAgICAgICAgb3JpZ2luYWxVUkwgPSBXVEY6OmJsYW5rVVJMKCk7CisgICAgICAgIG9yaWdp
bmFsVVJMID0gYWJvdXRCbGFua1VSTCgpOwogICAgIAogICAgIFN0cmluZ1dpdGhEaXJlY3Rpb24g
dGl0bGUgPSBkb2N1bWVudExvYWRlci0+dGl0bGUoKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvbG9hZGVyL1N1YmZyYW1lTG9hZGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9T
dWJmcmFtZUxvYWRlci5jcHAKaW5kZXggZGFhMTQ0ZTk3OTI2ZjkyYzkzYjc3MGM5ZGZlZWRlNzJl
MDNiOGRhOS4uMmM5ZDA5YjhlZTlhM2ExZDJjYWMxYWMyMmIyNWU0MzE1Y2JjOTQ5YiAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL1N1YmZyYW1lTG9hZGVyLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9sb2FkZXIvU3ViZnJhbWVMb2FkZXIuY3BwCkBAIC04MCwxMiArODAsMTIgQEAg
Ym9vbCBTdWJmcmFtZUxvYWRlcjo6cmVxdWVzdEZyYW1lKEhUTUxGcmFtZU93bmVyRWxlbWVudCYg
b3duZXJFbGVtZW50LCBjb25zdCBTdHIKICAgICBVUkwgdXJsOwogICAgIGlmIChXVEY6OnByb3Rv
Y29sSXNKYXZhU2NyaXB0KHVybFN0cmluZykpIHsKICAgICAgICAgc2NyaXB0VVJMID0gY29tcGxl
dGVVUkwodXJsU3RyaW5nKTsgLy8gY29tcGxldGVVUkwoKSBlbmNvZGVzIHRoZSBVUkwuCi0gICAg
ICAgIHVybCA9IFdURjo6YmxhbmtVUkwoKTsKKyAgICAgICAgdXJsID0gYWJvdXRCbGFua1VSTCgp
OwogICAgIH0gZWxzZQogICAgICAgICB1cmwgPSBjb21wbGV0ZVVSTCh1cmxTdHJpbmcpOwogCiAg
ICAgaWYgKHNob3VsZENvbnZlcnRJbnZhbGlkVVJMc1RvQmxhbmsoKSAmJiAhdXJsLmlzVmFsaWQo
KSkKLSAgICAgICAgdXJsID0gV1RGOjpibGFua1VSTCgpOworICAgICAgICB1cmwgPSBhYm91dEJs
YW5rVVJMKCk7CiAKICAgICAvLyBJZiB3ZSB3aWxsIHNjaGVkdWxlIGEgSmF2YVNjcmlwdCBVUkwg
bG9hZCwgd2UgbmVlZCB0byBkZWxheSB0aGUgZmlyaW5nIG9mIHRoZSBsb2FkIGV2ZW50IGF0IGxl
YXN0IHVudGlsIHdlJ3ZlIHJ1biB0aGUgSmF2YVNjcmlwdCBpbiB0aGUgVVJMLgogICAgIENvbXBs
ZXRpb25IYW5kbGVyQ2FsbGluZ1Njb3BlIHN0b3BEZWxheWluZ0xvYWRFdmVudDsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9hcmNoaXZlL2NmL0xlZ2FjeVdlYkFyY2hpdmUuY3Bw
IGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL2FyY2hpdmUvY2YvTGVnYWN5V2ViQXJjaGl2ZS5jcHAK
aW5kZXggYmJhOTEwNDE5MTU0ZWNmNDNjMTIyZTJkOTBjZjg2NDU1OTdhOTlkMi4uNmFjNTNkMzk3
ZTRjMWU3MjM1OTBlYzI1MDEwMmNhNGY2NjViODkwYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvbG9hZGVyL2FyY2hpdmUvY2YvTGVnYWN5V2ViQXJjaGl2ZS5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvbG9hZGVyL2FyY2hpdmUvY2YvTGVnYWN5V2ViQXJjaGl2ZS5jcHAKQEAgLTYxMiw3ICs2
MTIsNyBAQCBSZWZQdHI8TGVnYWN5V2ViQXJjaGl2ZT4gTGVnYWN5V2ViQXJjaGl2ZTo6Y3JlYXRl
RnJvbVNlbGVjdGlvbihGcmFtZSogZnJhbWUpCiAgICAgLy8gV3JhcCB0aGUgZnJhbWVzZXQgZG9j
dW1lbnQgaW4gYW4gaWZyYW1lIHNvIGl0IGNhbiBiZSBwYXN0ZWQgaW50bwogICAgIC8vIGFub3Ro
ZXIgZG9jdW1lbnQgKHdoaWNoIHdpbGwgaGF2ZSBhIGJvZHkgb3IgZnJhbWVzZXQgb2YgaXRzIG93
bikuIAogICAgIFN0cmluZyBpZnJhbWVNYXJrdXAgPSAiPGlmcmFtZSBmcmFtZWJvcmRlcj1cIm5v
XCIgbWFyZ2lud2lkdGg9XCIwXCIgbWFyZ2luaGVpZ2h0PVwiMFwiIHdpZHRoPVwiOTglJVwiIGhl
aWdodD1cIjk4JSVcIiBzcmM9XCIiICsgZnJhbWUtPmxvYWRlcigpLmRvY3VtZW50TG9hZGVyKCkt
PnJlc3BvbnNlKCkudXJsKCkuc3RyaW5nKCkgKyAiXCI+PC9pZnJhbWU+IjsKLSAgICBhdXRvIGlm
cmFtZVJlc291cmNlID0gQXJjaGl2ZVJlc291cmNlOjpjcmVhdGUodXRmOEJ1ZmZlcihpZnJhbWVN
YXJrdXApLCBXVEY6OmJsYW5rVVJMKCksICJ0ZXh0L2h0bWwiLCAiVVRGLTgiLCBTdHJpbmcoKSk7
CisgICAgYXV0byBpZnJhbWVSZXNvdXJjZSA9IEFyY2hpdmVSZXNvdXJjZTo6Y3JlYXRlKHV0ZjhC
dWZmZXIoaWZyYW1lTWFya3VwKSwgYWJvdXRCbGFua1VSTCgpLCAidGV4dC9odG1sIiwgIlVURi04
IiwgU3RyaW5nKCkpOwogCiAgICAgVmVjdG9yPFJlZjxMZWdhY3lXZWJBcmNoaXZlPj4gc3ViZnJh
bWVBcmNoaXZlczsKICAgICBzdWJmcmFtZUFyY2hpdmVzLnJlc2VydmVJbml0aWFsQ2FwYWNpdHko
MSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0xvY2F0aW9uLmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL3BhZ2UvTG9jYXRpb24uY3BwCmluZGV4IDMxODExMzRhYmM3MWRjMzg0ZTM3M2Uy
NzU5NDkzYjBmNjAyM2JhYTcuLjI4Nzg5Y2QxNDI5ODMyYzFmMjcyYTZhYWQ1ZWIxZThiNjI4ODJl
YzcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvTG9jYXRpb24uY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3BhZ2UvTG9jYXRpb24uY3BwCkBAIC01MCwxMSArNTAsMTEgQEAgTG9jYXRp
b246OkxvY2F0aW9uKERPTVdpbmRvdyYgd2luZG93KQogaW5saW5lIGNvbnN0IFVSTCYgTG9jYXRp
b246OnVybCgpIGNvbnN0CiB7CiAgICAgaWYgKCFmcmFtZSgpKQotICAgICAgICByZXR1cm4gV1RG
OjpibGFua1VSTCgpOworICAgICAgICByZXR1cm4gYWJvdXRCbGFua1VSTCgpOwogCiAgICAgY29u
c3QgVVJMJiB1cmwgPSBmcmFtZSgpLT5kb2N1bWVudCgpLT51cmwoKTsKICAgICBpZiAoIXVybC5p
c1ZhbGlkKCkpCi0gICAgICAgIHJldHVybiBXVEY6OmJsYW5rVVJMKCk7IC8vIFVzZSAiYWJvdXQ6
YmxhbmsiIHdoaWxlIHRoZSBwYWdlIGlzIHN0aWxsIGxvYWRpbmcgKGJlZm9yZSB3ZSBoYXZlIGEg
ZnJhbWUpLgorICAgICAgICByZXR1cm4gYWJvdXRCbGFua1VSTCgpOyAvLyBVc2UgImFib3V0OmJs
YW5rIiB3aGlsZSB0aGUgcGFnZSBpcyBzdGlsbCBsb2FkaW5nIChiZWZvcmUgd2UgaGF2ZSBhIGZy
YW1lKS4KIAogICAgIHJldHVybiB1cmw7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9w
YWdlL1NlY3VyaXR5UG9saWN5LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvU2VjdXJpdHlQb2xp
Y3kuY3BwCmluZGV4IGI3MGM1Y2U2OWY1M2ViZWQ5MWM2YjM3NTlkZTEyNjMwMjYzOGIwNzMuLjU3
YzExMTM5ZWVmNzUzZjM3Yzc5ODM0YWZhODc3MzZlMjNhMmIzMzEgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3BhZ2UvU2VjdXJpdHlQb2xpY3kuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Bh
Z2UvU2VjdXJpdHlQb2xpY3kuY3BwCkBAIC0xNjcsNyArMTY3LDcgQEAgYm9vbCBTZWN1cml0eVBv
bGljeTo6c2hvdWxkSW5oZXJpdFNlY3VyaXR5T3JpZ2luRnJvbU93bmVyKGNvbnN0IFVSTCYgdXJs
KQogICAgIC8vCiAgICAgLy8gTm90ZTogV2UgZ2VuZXJhbGl6ZSB0aGlzIHRvIGludmFsaWQgVVJM
cyBiZWNhdXNlIHdlIHRyZWF0IHN1Y2ggVVJMcyBhcyBhYm91dDpibGFuay4KICAgICAvLyBGSVhN
RTogV2UgYWxzbyBhbGxvdyBzb21lIFVSTHMgbGlrZSAiYWJvdXQ6QkxBTksiLiBXZSBzaG91bGQg
cHJvYmFibHkgYmxvY2sgbmF2aWdhdGlvbiB0byB0aGVzZSBVUkxzLCBzZWUgcmRhcjovL3Byb2Js
ZW0vNTc5NjYwNTYuCi0gICAgcmV0dXJuIHVybC5pc0VtcHR5KCkgfHwgdXJsLmlzQWJvdXRCbGFu
aygpIHx8IHVybC5pc0Fib3V0U3JjRG9jKCkgfHwgZXF1YWxJZ25vcmluZ0FTQ0lJQ2FzZSh1cmwu
c3RyaW5nKCksIFdURjo6YmxhbmtVUkwoKSk7CisgICAgcmV0dXJuIHVybC5pc0VtcHR5KCkgfHwg
dXJsLmlzQWJvdXRCbGFuaygpIHx8IHVybC5pc0Fib3V0U3JjRG9jKCkgfHwgZXF1YWxJZ25vcmlu
Z0FTQ0lJQ2FzZSh1cmwuc3RyaW5nKCksIGFib3V0QmxhbmtVUkwoKSk7CiB9CiAKIGJvb2wgU2Vj
dXJpdHlQb2xpY3k6OmlzQmFzZVVSTFNjaGVtZUFsbG93ZWQoY29uc3QgVVJMJiB1cmwpCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS93aW4vQ2xpcGJvYXJkVXRpbGl0aWVzV2lu
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3dpbi9DbGlwYm9hcmRVdGlsaXRpZXNXaW4u
Y3BwCmluZGV4IDk1M2Q0YmRkYjNmMjIyOWZhYzcxNzJiNTY0YWQ1NTdhY2Y1MWFiYzUuLmYzYTg2
ZDdhODkzMTE1NTY0NTA4Mzg5NDEzMzg4NzhlMTM2MGQ1MzAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL3dpbi9DbGlwYm9hcmRVdGlsaXRpZXNXaW4uY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL3dpbi9DbGlwYm9hcmRVdGlsaXRpZXNXaW4uY3BwCkBAIC0yNzIs
NyArMjcyLDcgQEAgdm9pZCBtYXJrdXBUb0NGSFRNTChjb25zdCBTdHJpbmcmIG1hcmt1cCwgY29u
c3QgU3RyaW5nJiBzcmNVUkwsIFZlY3RvcjxjaGFyPiYgcmUKICAgICBjb25zdCBjaGFyKiBzdGFy
dE1hcmt1cCA9ICI8SFRNTD5cbjxCT0RZPlxuPCEtLVN0YXJ0RnJhZ21lbnQtLT5cbiI7CiAgICAg
Y29uc3QgY2hhciogZW5kTWFya3VwID0gIlxuPCEtLUVuZEZyYWdtZW50LS0+XG48L0JPRFk+XG48
L0hUTUw+IjsKIAotICAgIENTdHJpbmcgc291cmNlVVJMVVRGOCA9IHNyY1VSTCA9PSBXVEY6OmJs
YW5rVVJMKCkgPyAiIiA6IHNyY1VSTC51dGY4KCk7CisgICAgQ1N0cmluZyBzb3VyY2VVUkxVVEY4
ID0gc3JjVVJMID09IGFib3V0QmxhbmtVUkwoKSA/ICIiIDogc3JjVVJMLnV0ZjgoKTsKICAgICBD
U3RyaW5nIG1hcmt1cFVURjggPSBtYXJrdXAudXRmOCgpOwogCiAgICAgLy8gY2FsY3VsYXRlIG9m
ZnNldHMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdJbWFnZUxvYWRlci5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHSW1hZ2VMb2FkZXIuY3BwCmluZGV4IGQ3Y2JlZjMzZWJj
ZTZmZDIyMWUwYmQyODhlNzJkYWQzMDhjMGIxNzUuLmFlYjFkNWQzZjEwMjI3NGJhYjJhYmE2MjBl
MTBjMjBiNTc0MDc5ZGMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdJbWFnZUxv
YWRlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0ltYWdlTG9hZGVyLmNwcApAQCAt
NDcsNyArNDcsNyBAQCB2b2lkIFNWR0ltYWdlTG9hZGVyOjpkaXNwYXRjaExvYWRFdmVudCgpCiBT
dHJpbmcgU1ZHSW1hZ2VMb2FkZXI6OnNvdXJjZVVSSShjb25zdCBBdG9tU3RyaW5nJiBhdHRyaWJ1
dGUpIGNvbnN0CiB7CiAgICAgVVJMIGJhc2UgPSBlbGVtZW50KCkuYmFzZVVSSSgpOwotICAgIGlm
IChiYXNlICE9IFdURjo6YmxhbmtVUkwoKSkKKyAgICBpZiAoYmFzZSAhPSBhYm91dEJsYW5rVVJM
KCkpCiAgICAgICAgIHJldHVybiBVUkwoYmFzZSwgc3RyaXBMZWFkaW5nQW5kVHJhaWxpbmdIVE1M
U3BhY2VzKGF0dHJpYnV0ZSkpLnN0cmluZygpOwogICAgIHJldHVybiBlbGVtZW50KCkuZG9jdW1l
bnQoKS5jb21wbGV0ZVVSTChzdHJpcExlYWRpbmdBbmRUcmFpbGluZ0hUTUxTcGFjZXMoYXR0cmli
dXRlKSk7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQy9XS1Bh
Z2UuY3BwIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0MvV0tQYWdlLmNwcAppbmRleCA0
MjYwNDgxMTI0Yzg3ZWIxNDY5NzZhOGU3MTI0MjYxOTJlODZiMzc0Li45Y2EwM2I2MDFmYzAxNzc3
ZmRlOTllOTdmYTFkNTQ0NmYzMTNkYmNlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJv
Y2Vzcy9BUEkvQy9XS1BhZ2UuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9D
L1dLUGFnZS5jcHAKQEAgLTI2MSw3ICsyNjEsNyBAQCB2b2lkIFdLUGFnZUxvYWRQbGFpblRleHRT
dHJpbmcoV0tQYWdlUmVmIHBhZ2VSZWYsIFdLU3RyaW5nUmVmIHBsYWluVGV4dFN0cmluZ1JlZgog
CiB2b2lkIFdLUGFnZUxvYWRQbGFpblRleHRTdHJpbmdXaXRoVXNlckRhdGEoV0tQYWdlUmVmIHBh
Z2VSZWYsIFdLU3RyaW5nUmVmIHBsYWluVGV4dFN0cmluZ1JlZiwgV0tUeXBlUmVmIHVzZXJEYXRh
UmVmKQogewotICAgIGxvYWRTdHJpbmcocGFnZVJlZiwgcGxhaW5UZXh0U3RyaW5nUmVmLCAidGV4
dC9wbGFpbiJfcywgV1RGOjpibGFua1VSTCgpLnN0cmluZygpLCB1c2VyRGF0YVJlZik7CisgICAg
bG9hZFN0cmluZyhwYWdlUmVmLCBwbGFpblRleHRTdHJpbmdSZWYsICJ0ZXh0L3BsYWluIl9zLCBh
Ym91dEJsYW5rVVJMKCkuc3RyaW5nKCksIHVzZXJEYXRhUmVmKTsKIH0KIAogdm9pZCBXS1BhZ2VM
b2FkV2ViQXJjaGl2ZURhdGEoV0tQYWdlUmVmIHBhZ2VSZWYsIFdLRGF0YVJlZiB3ZWJBcmNoaXZl
RGF0YVJlZikKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9DL1dLUGFn
ZUdyb3VwLmNwcCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9DL1dLUGFnZUdyb3VwLmNw
cAppbmRleCAwNTBlYjM3OTcxMzQ1NzMwM2VlOGViYjQ2ZjJmMjE5Y2VlYTIxMTAyLi5jOTFmNjAy
YjBhYjdhNDYzM2FmMjIyOTYyZmQ2NDJkN2JiZTc5MGY2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0L1VJUHJvY2Vzcy9BUEkvQy9XS1BhZ2VHcm91cC5jcHAKKysrIGIvU291cmNlL1dlYktpdC9V
SVByb2Nlc3MvQVBJL0MvV0tQYWdlR3JvdXAuY3BwCkBAIC03Nyw3ICs3Nyw3IEBAIHZvaWQgV0tQ
YWdlR3JvdXBBZGRVc2VyU3R5bGVTaGVldChXS1BhZ2VHcm91cFJlZiBwYWdlR3JvdXBSZWYsIFdL
U3RyaW5nUmVmIHNvdXJjCiAgICAgYXV0byB3aGl0ZWxpc3QgPSB0b0ltcGwod2hpdGVsaXN0ZWRV
UkxQYXR0ZXJucyk7CiAgICAgYXV0byBibGFja2xpc3QgPSB0b0ltcGwoYmxhY2tsaXN0ZWRVUkxQ
YXR0ZXJucyk7CiAKLSAgICBSZWY8QVBJOjpVc2VyU3R5bGVTaGVldD4gdXNlclN0eWxlU2hlZXQg
PSBBUEk6OlVzZXJTdHlsZVNoZWV0OjpjcmVhdGUoV2ViQ29yZTo6VXNlclN0eWxlU2hlZXQgeyBz
b3VyY2UsIChiYXNlVVJMU3RyaW5nLmlzRW1wdHkoKSA/IFdURjo6YmxhbmtVUkwoKSA6ICBVUkwo
VVJMKCksIGJhc2VVUkxTdHJpbmcpKSwgd2hpdGVsaXN0ID8gd2hpdGVsaXN0LT50b1N0cmluZ1Zl
Y3RvcigpIDogVmVjdG9yPFN0cmluZz4oKSwgYmxhY2tsaXN0ID8gYmxhY2tsaXN0LT50b1N0cmlu
Z1ZlY3RvcigpIDogVmVjdG9yPFN0cmluZz4oKSwgdG9Vc2VyQ29udGVudEluamVjdGVkRnJhbWVz
KGluamVjdGVkRnJhbWVzKSwgV2ViQ29yZTo6VXNlclN0eWxlVXNlckxldmVsIH0sIEFQSTo6Q29u
dGVudFdvcmxkOjpwYWdlQ29udGVudFdvcmxkKCkpOworICAgIFJlZjxBUEk6OlVzZXJTdHlsZVNo
ZWV0PiB1c2VyU3R5bGVTaGVldCA9IEFQSTo6VXNlclN0eWxlU2hlZXQ6OmNyZWF0ZShXZWJDb3Jl
OjpVc2VyU3R5bGVTaGVldCB7IHNvdXJjZSwgKGJhc2VVUkxTdHJpbmcuaXNFbXB0eSgpID8gYWJv
dXRCbGFua1VSTCgpIDogIFVSTChVUkwoKSwgYmFzZVVSTFN0cmluZykpLCB3aGl0ZWxpc3QgPyB3
aGl0ZWxpc3QtPnRvU3RyaW5nVmVjdG9yKCkgOiBWZWN0b3I8U3RyaW5nPigpLCBibGFja2xpc3Qg
PyBibGFja2xpc3QtPnRvU3RyaW5nVmVjdG9yKCkgOiBWZWN0b3I8U3RyaW5nPigpLCB0b1VzZXJD
b250ZW50SW5qZWN0ZWRGcmFtZXMoaW5qZWN0ZWRGcmFtZXMpLCBXZWJDb3JlOjpVc2VyU3R5bGVV
c2VyTGV2ZWwgfSwgQVBJOjpDb250ZW50V29ybGQ6OnBhZ2VDb250ZW50V29ybGQoKSk7CiAKICAg
ICB0b0ltcGwocGFnZUdyb3VwUmVmKS0+dXNlckNvbnRlbnRDb250cm9sbGVyKCkuYWRkVXNlclN0
eWxlU2hlZXQodXNlclN0eWxlU2hlZXQuZ2V0KCkpOwogfQpAQCAtOTgsNyArOTgsNyBAQCB2b2lk
IFdLUGFnZUdyb3VwQWRkVXNlclNjcmlwdChXS1BhZ2VHcm91cFJlZiBwYWdlR3JvdXBSZWYsIFdL
U3RyaW5nUmVmIHNvdXJjZVJlZgogICAgIGF1dG8gd2hpdGVsaXN0ID0gdG9JbXBsKHdoaXRlbGlz
dGVkVVJMUGF0dGVybnMpOwogICAgIGF1dG8gYmxhY2tsaXN0ID0gdG9JbXBsKGJsYWNrbGlzdGVk
VVJMUGF0dGVybnMpOwogICAgIAotICAgIGF1dG8gdXJsID0gYmFzZVVSTFN0cmluZy5pc0VtcHR5
KCkgPyBXVEY6OmJsYW5rVVJMKCkgOiAgVVJMKFVSTCgpLCBiYXNlVVJMU3RyaW5nKTsKKyAgICBh
dXRvIHVybCA9IGJhc2VVUkxTdHJpbmcuaXNFbXB0eSgpID8gYWJvdXRCbGFua1VSTCgpIDogIFVS
TChVUkwoKSwgYmFzZVVSTFN0cmluZyk7CiAgICAgUmVmPEFQSTo6VXNlclNjcmlwdD4gdXNlclNj
cmlwdCA9IEFQSTo6VXNlclNjcmlwdDo6Y3JlYXRlKFdlYkNvcmU6OlVzZXJTY3JpcHQgeyBXVEZN
b3ZlKHNvdXJjZSksIFdURk1vdmUodXJsKSwgd2hpdGVsaXN0ID8gd2hpdGVsaXN0LT50b1N0cmlu
Z1ZlY3RvcigpIDogVmVjdG9yPFN0cmluZz4oKSwgYmxhY2tsaXN0ID8gYmxhY2tsaXN0LT50b1N0
cmluZ1ZlY3RvcigpIDogVmVjdG9yPFN0cmluZz4oKSwgdG9Vc2VyU2NyaXB0SW5qZWN0aW9uVGlt
ZShpbmplY3Rpb25UaW1lKSwgdG9Vc2VyQ29udGVudEluamVjdGVkRnJhbWVzKGluamVjdGVkRnJh
bWVzKSB9LCBBUEk6OkNvbnRlbnRXb3JsZDo6cGFnZUNvbnRlbnRXb3JsZCgpKTsKICAgICB0b0lt
cGwocGFnZUdyb3VwUmVmKS0+dXNlckNvbnRlbnRDb250cm9sbGVyKCkuYWRkVXNlclNjcmlwdCh1
c2VyU2NyaXB0LmdldCgpLCBJbmplY3RVc2VyU2NyaXB0SW1tZWRpYXRlbHk6Ok5vKTsKIH0KZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9nbGliL1dlYktpdFdlYlZpZXcu
Y3BwIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL2dsaWIvV2ViS2l0V2ViVmlldy5jcHAK
aW5kZXggYTRhYTdjOWQ3NTM0NWRjODA1M2MwMTBiMDFlY2Q3ZmY3MzMwZWVhOS4uYjc0M2EwZDM0
MGJlMDNmNWZjYzVjOWE1NjY1NGMxNTc0ZDZlNzk0ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dC9VSVByb2Nlc3MvQVBJL2dsaWIvV2ViS2l0V2ViVmlldy5jcHAKKysrIGIvU291cmNlL1dlYktp
dC9VSVByb2Nlc3MvQVBJL2dsaWIvV2ViS2l0V2ViVmlldy5jcHAKQEAgLTI5ODksNyArMjk4OSw3
IEBAIHZvaWQgd2Via2l0X3dlYl92aWV3X2xvYWRfcGxhaW5fdGV4dChXZWJLaXRXZWJWaWV3KiB3
ZWJWaWV3LCBjb25zdCBnY2hhciogcGxhaW5UCiAgICAgZ19yZXR1cm5faWZfZmFpbChXRUJLSVRf
SVNfV0VCX1ZJRVcod2ViVmlldykpOwogICAgIGdfcmV0dXJuX2lmX2ZhaWwocGxhaW5UZXh0KTsK
IAotICAgIGdldFBhZ2Uod2ViVmlldykubG9hZERhdGEoeyByZWludGVycHJldF9jYXN0PGNvbnN0
IHVpbnQ4X3QqPihwbGFpblRleHQpLCBwbGFpblRleHQgPyBzdHJsZW4ocGxhaW5UZXh0KSA6IDAg
fSwgInRleHQvcGxhaW4iX3MsICJVVEYtOCJfcywgV1RGOjpibGFua1VSTCgpLnN0cmluZygpKTsK
KyAgICBnZXRQYWdlKHdlYlZpZXcpLmxvYWREYXRhKHsgcmVpbnRlcnByZXRfY2FzdDxjb25zdCB1
aW50OF90Kj4ocGxhaW5UZXh0KSwgcGxhaW5UZXh0ID8gc3RybGVuKHBsYWluVGV4dCkgOiAwIH0s
ICJ0ZXh0L3BsYWluIl9zLCAiVVRGLTgiX3MsIGFib3V0QmxhbmtVUkwoKS5zdHJpbmcoKSk7CiB9
CiAKIC8qKgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvSW5zcGVjdG9yL1dl
YlBhZ2VEZWJ1Z2dhYmxlLmNwcCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0luc3BlY3Rvci9X
ZWJQYWdlRGVidWdnYWJsZS5jcHAKaW5kZXggYmViYmRmODdhY2UxNzJkMjMwYTg1YzYxZDA1YjY5
MTBjZDcyNGIyNS4uNjllNDU3NjYwMDRkYTYzZWRhM2ZlZTA0ZTQ1Y2FlNmZlNzRkMjNlNiAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvSW5zcGVjdG9yL1dlYlBhZ2VEZWJ1Z2dh
YmxlLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9JbnNwZWN0b3IvV2ViUGFnZURl
YnVnZ2FibGUuY3BwCkBAIC01NSwxMSArNTUsMTEgQEAgU3RyaW5nIFdlYlBhZ2VEZWJ1Z2dhYmxl
OjpuYW1lKCkgY29uc3QKIFN0cmluZyBXZWJQYWdlRGVidWdnYWJsZTo6dXJsKCkgY29uc3QKIHsK
ICAgICBpZiAoIW1fcGFnZS5tYWluRnJhbWUoKSkKLSAgICAgICAgcmV0dXJuIFdURjo6YmxhbmtV
UkwoKS5zdHJpbmcoKTsKKyAgICAgICAgcmV0dXJuIGFib3V0QmxhbmtVUkwoKS5zdHJpbmcoKTsK
IAogICAgIFN0cmluZyB1cmwgPSBtX3BhZ2UubWFpbkZyYW1lKCktPnVybCgpLnN0cmluZygpOwog
ICAgIGlmICh1cmwuaXNFbXB0eSgpKQotICAgICAgICByZXR1cm4gV1RGOjpibGFua1VSTCgpLnN0
cmluZygpOworICAgICAgICByZXR1cm4gYWJvdXRCbGFua1VSTCgpLnN0cmluZygpOwogCiAgICAg
cmV0dXJuIHVybDsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBh
Z2VQcm94eS5jcHAgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuY3BwCmlu
ZGV4IGUxMWVjMjUzZThmZTNhYjY1OGJlMTExYTU5NjgwODdhYTBlZGM3MDAuLmE0ZWQxM2Q2NzY4
NDQxYmZmMzZlNjMyOTk2YWJlMjAzNmNhMDRhNmYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQv
VUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5jcHAKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3Mv
V2ViUGFnZVByb3h5LmNwcApAQCAtMTQyMCw3ICsxNDIwLDcgQEAgdm9pZCBXZWJQYWdlUHJveHk6
OmxvYWREYXRhV2l0aE5hdmlnYXRpb25TaGFyZWQoUmVmPFdlYlByb2Nlc3NQcm94eT4mJiBwcm9j
ZXNzLAogCiAgICAgYXV0byB0cmFuc2FjdGlvbiA9IG1fcGFnZUxvYWRTdGF0ZS50cmFuc2FjdGlv
bigpOwogCi0gICAgbV9wYWdlTG9hZFN0YXRlLnNldFBlbmRpbmdBUElSZXF1ZXN0KHRyYW5zYWN0
aW9uLCB7IG5hdmlnYXRpb24ubmF2aWdhdGlvbklEKCksICFiYXNlVVJMLmlzRW1wdHkoKSA/IGJh
c2VVUkwgOiBXVEY6OmJsYW5rVVJMKCkuc3RyaW5nKCkgfSk7CisgICAgbV9wYWdlTG9hZFN0YXRl
LnNldFBlbmRpbmdBUElSZXF1ZXN0KHRyYW5zYWN0aW9uLCB7IG5hdmlnYXRpb24ubmF2aWdhdGlv
bklEKCksICFiYXNlVVJMLmlzRW1wdHkoKSA/IGJhc2VVUkwgOiBhYm91dEJsYW5rVVJMKCkuc3Ry
aW5nKCkgfSk7CiAKICAgICBMb2FkUGFyYW1ldGVycyBsb2FkUGFyYW1ldGVyczsKICAgICBsb2Fk
UGFyYW1ldGVycy5uYXZpZ2F0aW9uSUQgPSBuYXZpZ2F0aW9uLm5hdmlnYXRpb25JRCgpOwpAQCAt
MTQ5Nyw3ICsxNDk3LDcgQEAgdm9pZCBXZWJQYWdlUHJveHk6OmxvYWRXZWJBcmNoaXZlRGF0YShB
UEk6OkRhdGEqIHdlYkFyY2hpdmVEYXRhLCBBUEk6Ok9iamVjdCogdXMKICAgICAgICAgbGF1bmNo
UHJvY2Vzcyh7IH0sIFByb2Nlc3NMYXVuY2hSZWFzb246OkluaXRpYWxQcm9jZXNzKTsKIAogICAg
IGF1dG8gdHJhbnNhY3Rpb24gPSBtX3BhZ2VMb2FkU3RhdGUudHJhbnNhY3Rpb24oKTsKLSAgICBt
X3BhZ2VMb2FkU3RhdGUuc2V0UGVuZGluZ0FQSVJlcXVlc3QodHJhbnNhY3Rpb24sIHsgMCwgV1RG
OjpibGFua1VSTCgpLnN0cmluZygpIH0pOworICAgIG1fcGFnZUxvYWRTdGF0ZS5zZXRQZW5kaW5n
QVBJUmVxdWVzdCh0cmFuc2FjdGlvbiwgeyAwLCBhYm91dEJsYW5rVVJMKCkuc3RyaW5nKCkgfSk7
CiAKICAgICBMb2FkUGFyYW1ldGVycyBsb2FkUGFyYW1ldGVyczsKICAgICBsb2FkUGFyYW1ldGVy
cy5uYXZpZ2F0aW9uSUQgPSAwOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNz
L1dlYlBhZ2UvV2ViUGFnZS5jcHAgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9X
ZWJQYWdlLmNwcAppbmRleCAxNzVhOWMxMDdhNWIyMjZlZTMxMDI5NmRmNDAyNzk1ZmJlZjc2ZmM5
Li5hZTU0YWRmMDdiOTVlZmRiY2EzODM2YWU1MzQ3YTc4YmIwNTE4NmI0IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNwcAorKysgYi9Tb3VyY2Uv
V2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNwcApAQCAtMTYyMyw3ICsxNjIzLDcg
QEAgdm9pZCBXZWJQYWdlOjpsb2FkRGF0YShMb2FkUGFyYW1ldGVycyYmIGxvYWRQYXJhbWV0ZXJz
KQogICAgIHBsYXRmb3JtRGlkUmVjZWl2ZUxvYWRQYXJhbWV0ZXJzKGxvYWRQYXJhbWV0ZXJzKTsK
IAogICAgIGF1dG8gc2hhcmVkQnVmZmVyID0gU2hhcmVkQnVmZmVyOjpjcmVhdGUocmVpbnRlcnBy
ZXRfY2FzdDxjb25zdCBjaGFyKj4obG9hZFBhcmFtZXRlcnMuZGF0YS5kYXRhKCkpLCBsb2FkUGFy
YW1ldGVycy5kYXRhLnNpemUoKSk7Ci0gICAgVVJMIGJhc2VVUkwgPSBsb2FkUGFyYW1ldGVycy5i
YXNlVVJMU3RyaW5nLmlzRW1wdHkoKSA/IFdURjo6YmxhbmtVUkwoKSA6IFVSTChVUkwoKSwgbG9h
ZFBhcmFtZXRlcnMuYmFzZVVSTFN0cmluZyk7CisgICAgVVJMIGJhc2VVUkwgPSBsb2FkUGFyYW1l
dGVycy5iYXNlVVJMU3RyaW5nLmlzRW1wdHkoKSA/IGFib3V0QmxhbmtVUkwoKSA6IFVSTChVUkwo
KSwgbG9hZFBhcmFtZXRlcnMuYmFzZVVSTFN0cmluZyk7CiAgICAgbG9hZERhdGFJbXBsKGxvYWRQ
YXJhbWV0ZXJzLm5hdmlnYXRpb25JRCwgbG9hZFBhcmFtZXRlcnMuc2hvdWxkVHJlYXRBc0NvbnRp
bnVpbmdMb2FkLCBXVEZNb3ZlKGxvYWRQYXJhbWV0ZXJzLndlYnNpdGVQb2xpY2llcyksIFdURk1v
dmUoc2hhcmVkQnVmZmVyKSwgbG9hZFBhcmFtZXRlcnMuTUlNRVR5cGUsIGxvYWRQYXJhbWV0ZXJz
LmVuY29kaW5nTmFtZSwgYmFzZVVSTCwgVVJMKCksIGxvYWRQYXJhbWV0ZXJzLnVzZXJEYXRhLCBs
b2FkUGFyYW1ldGVycy5pc05hdmlnYXRpbmdUb0FwcEJvdW5kRG9tYWluLCBsb2FkUGFyYW1ldGVy
cy5oYXNOYXZpZ2F0ZWRBd2F5RnJvbUFwcEJvdW5kRG9tYWluLCBsb2FkUGFyYW1ldGVycy5zaG91
bGRPcGVuRXh0ZXJuYWxVUkxzUG9saWN5KTsKIH0KIApAQCAtMTYzMSw3ICsxNjMxLDcgQEAgdm9p
ZCBXZWJQYWdlOjpsb2FkQWx0ZXJuYXRlSFRNTChMb2FkUGFyYW1ldGVycyYmIGxvYWRQYXJhbWV0
ZXJzKQogewogICAgIHBsYXRmb3JtRGlkUmVjZWl2ZUxvYWRQYXJhbWV0ZXJzKGxvYWRQYXJhbWV0
ZXJzKTsKIAotICAgIFVSTCBiYXNlVVJMID0gbG9hZFBhcmFtZXRlcnMuYmFzZVVSTFN0cmluZy5p
c0VtcHR5KCkgPyBXVEY6OmJsYW5rVVJMKCkgOiBVUkwoVVJMKCksIGxvYWRQYXJhbWV0ZXJzLmJh
c2VVUkxTdHJpbmcpOworICAgIFVSTCBiYXNlVVJMID0gbG9hZFBhcmFtZXRlcnMuYmFzZVVSTFN0
cmluZy5pc0VtcHR5KCkgPyBhYm91dEJsYW5rVVJMKCkgOiBVUkwoVVJMKCksIGxvYWRQYXJhbWV0
ZXJzLmJhc2VVUkxTdHJpbmcpOwogICAgIFVSTCB1bnJlYWNoYWJsZVVSTCA9IGxvYWRQYXJhbWV0
ZXJzLnVucmVhY2hhYmxlVVJMU3RyaW5nLmlzRW1wdHkoKSA/IFVSTCgpIDogVVJMKFVSTCgpLCBs
b2FkUGFyYW1ldGVycy51bnJlYWNoYWJsZVVSTFN0cmluZyk7CiAgICAgVVJMIHByb3Zpc2lvbmFs
TG9hZEVycm9yVVJMID0gbG9hZFBhcmFtZXRlcnMucHJvdmlzaW9uYWxMb2FkRXJyb3JVUkxTdHJp
bmcuaXNFbXB0eSgpID8gVVJMKCkgOiBVUkwoVVJMKCksIGxvYWRQYXJhbWV0ZXJzLnByb3Zpc2lv
bmFsTG9hZEVycm9yVVJMU3RyaW5nKTsKICAgICBhdXRvIHNoYXJlZEJ1ZmZlciA9IFNoYXJlZEJ1
ZmZlcjo6Y3JlYXRlKHJlaW50ZXJwcmV0X2Nhc3Q8Y29uc3QgY2hhcio+KGxvYWRQYXJhbWV0ZXJz
LmRhdGEuZGF0YSgpKSwgbG9hZFBhcmFtZXRlcnMuZGF0YS5zaXplKCkpOwpAQCAtMTk2Miw3ICsx
OTYyLDcgQEAgU3RyaW5nIFdlYlBhZ2U6OmR1bXBIaXN0b3J5Rm9yVGVzdGluZyhjb25zdCBTdHJp
bmcmIGRpcmVjdG9yeSkKICAgICAKICAgICBTdHJpbmdCdWlsZGVyIGJ1aWxkZXI7CiAgICAgaW50
IGJlZ2luID0gLWxpc3QuYmFja0NvdW50KCk7Ci0gICAgaWYgKGxpc3QuaXRlbUF0SW5kZXgoYmVn
aW4pLT51cmwoKSA9PSBXVEY6OmJsYW5rVVJMKCkpCisgICAgaWYgKGxpc3QuaXRlbUF0SW5kZXgo
YmVnaW4pLT51cmwoKSA9PSBhYm91dEJsYW5rVVJMKCkpCiAgICAgICAgICsrYmVnaW47CiAgICAg
Zm9yIChpbnQgaSA9IGJlZ2luOyBpIDw9IHN0YXRpY19jYXN0PGludD4obGlzdC5mb3J3YXJkQ291
bnQoKSk7ICsraSkKICAgICAgICAgZHVtcEhpc3RvcnlJdGVtKCpsaXN0Lml0ZW1BdEluZGV4KGkp
LCA4LCAhaSwgYnVpbGRlciwgZGlyZWN0b3J5KTsKQEAgLTY0NTIsMTQgKzY0NTIsMTQgQEAgdm9p
ZCBXZWJQYWdlOjppbWFnZU9yTWVkaWFEb2N1bWVudFNpemVDaGFuZ2VkKGNvbnN0IEludFNpemUm
IG5ld1NpemUpCiAKIHZvaWQgV2ViUGFnZTo6YWRkVXNlclNjcmlwdChTdHJpbmcmJiBzb3VyY2Us
IFdlYkNvcmU6OlVzZXJDb250ZW50SW5qZWN0ZWRGcmFtZXMgaW5qZWN0ZWRGcmFtZXMsIFdlYkNv
cmU6OlVzZXJTY3JpcHRJbmplY3Rpb25UaW1lIGluamVjdGlvblRpbWUpCiB7Ci0gICAgV2ViQ29y
ZTo6VXNlclNjcmlwdCB1c2VyU2NyaXB0IHsgV1RGTW92ZShzb3VyY2UpLCBVUkwoV1RGOjpibGFu
a1VSTCgpKSwgVmVjdG9yPFN0cmluZz4oKSwgVmVjdG9yPFN0cmluZz4oKSwgaW5qZWN0aW9uVGlt
ZSwgaW5qZWN0ZWRGcmFtZXMgfTsKKyAgICBXZWJDb3JlOjpVc2VyU2NyaXB0IHVzZXJTY3JpcHQg
eyBXVEZNb3ZlKHNvdXJjZSksIFVSTChhYm91dEJsYW5rVVJMKCkpLCBWZWN0b3I8U3RyaW5nPigp
LCBWZWN0b3I8U3RyaW5nPigpLCBpbmplY3Rpb25UaW1lLCBpbmplY3RlZEZyYW1lcyB9OwogCiAg
ICAgbV91c2VyQ29udGVudENvbnRyb2xsZXItPmFkZFVzZXJTY3JpcHQoSW5qZWN0ZWRCdW5kbGVT
Y3JpcHRXb3JsZDo6bm9ybWFsV29ybGQoKSwgV1RGTW92ZSh1c2VyU2NyaXB0KSk7CiB9CiAKIHZv
aWQgV2ViUGFnZTo6YWRkVXNlclN0eWxlU2hlZXQoY29uc3QgU3RyaW5nJiBzb3VyY2UsIFdlYkNv
cmU6OlVzZXJDb250ZW50SW5qZWN0ZWRGcmFtZXMgaW5qZWN0ZWRGcmFtZXMpCiB7Ci0gICAgV2Vi
Q29yZTo6VXNlclN0eWxlU2hlZXQgdXNlclN0eWxlU2hlZXQge3NvdXJjZSwgV1RGOjpibGFua1VS
TCgpLCBWZWN0b3I8U3RyaW5nPigpLCBWZWN0b3I8U3RyaW5nPigpLCBpbmplY3RlZEZyYW1lcywg
VXNlclN0eWxlVXNlckxldmVsIH07CisgICAgV2ViQ29yZTo6VXNlclN0eWxlU2hlZXQgdXNlclN0
eWxlU2hlZXQge3NvdXJjZSwgYWJvdXRCbGFua1VSTCgpLCBWZWN0b3I8U3RyaW5nPigpLCBWZWN0
b3I8U3RyaW5nPigpLCBpbmplY3RlZEZyYW1lcywgVXNlclN0eWxlVXNlckxldmVsIH07CiAKICAg
ICBtX3VzZXJDb250ZW50Q29udHJvbGxlci0+YWRkVXNlclN0eWxlU2hlZXQoSW5qZWN0ZWRCdW5k
bGVTY3JpcHRXb3JsZDo6bm9ybWFsV29ybGQoKSwgV1RGTW92ZSh1c2VyU3R5bGVTaGVldCkpOwog
fQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViQ29yZVN1cHBvcnQvV2Vi
RnJhbWVMb2FkZXJDbGllbnQubW0gYi9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJDb3JlU3Vw
cG9ydC9XZWJGcmFtZUxvYWRlckNsaWVudC5tbQppbmRleCAwYzFiZWNmZjczZjhkYTkyNWI1Yjc4
MWRmYmU0ZDUwZGJlNmI2ZGM1Li5iMDVjM2Y5ZjRlNGQ0NWU2ZGU4NjFkMmU1ZTJhZTE3ZGU4OTA2
MWU1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJDb3JlU3VwcG9ydC9X
ZWJGcmFtZUxvYWRlckNsaWVudC5tbQorKysgYi9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJD
b3JlU3VwcG9ydC9XZWJGcmFtZUxvYWRlckNsaWVudC5tbQpAQCAtMTAzMyw3ICsxMDMzLDcgQEAg
dm9pZCBXZWJGcmFtZUxvYWRlckNsaWVudDo6dXBkYXRlR2xvYmFsSGlzdG9yeSgpCiAgICAgV2Vi
VmlldyogdmlldyA9IGdldFdlYlZpZXcobV93ZWJGcmFtZS5nZXQoKSk7CiAgICAgYXV0byogbG9h
ZGVyID0gY29yZShtX3dlYkZyYW1lLmdldCgpKS0+bG9hZGVyKCkuZG9jdW1lbnRMb2FkZXIoKTsK
ICNpZiBQTEFURk9STShJT1NfRkFNSUxZKQotICAgIGlmIChsb2FkZXItPnVybEZvckhpc3Rvcnko
KSA9PSBXVEY6OmJsYW5rVVJMKCkpCisgICAgaWYgKGxvYWRlci0+dXJsRm9ySGlzdG9yeSgpID09
IGFib3V0QmxhbmtVUkwoKSkKICAgICAgICAgcmV0dXJuOwogI2VuZGlmCiAKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dlYlZpZXcvV2ViRnJhbWUubW0gYi9Tb3VyY2UvV2Vi
S2l0TGVnYWN5L21hYy9XZWJWaWV3L1dlYkZyYW1lLm1tCmluZGV4IGJjM2JlYmRmMjYyZmE0ZWNm
YjAxODc4YjNjMmIwYzU1YzNlYTkwMTUuLjFmZjg1MzQ1NDYxNWZmNWU4NTRjNmZiN2ZkOTc4NWU5
ODI3OTgwZGYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dlYlZpZXcvV2Vi
RnJhbWUubW0KKysrIGIvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViVmlldy9XZWJGcmFtZS5t
bQpAQCAtMjUzMyw3ICsyNTMzLDcgQEAgc3RhdGljIE5TVVJMICpjcmVhdGVVbmlxdWVXZWJEYXRh
VVJMKCkKICAgICBpZiAoYmFzZVVSTCkKICAgICAgICAgYmFzZVVSTCA9IFtiYXNlVVJMIGFic29s
dXRlVVJMXTsKICAgICBlbHNlIHsKLSAgICAgICAgYmFzZVVSTCA9IFdURjo6YmxhbmtVUkwoKTsK
KyAgICAgICAgYmFzZVVSTCA9IGFib3V0QmxhbmtVUkwoKTsKICAgICAgICAgcmVzcG9uc2VVUkwg
PSBjcmVhdGVVbmlxdWVXZWJEYXRhVVJMKCk7CiAgICAgfQogICAgIAo=
</data>

          </attachment>
      

    </bug>

</bugzilla>