<?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>207936</bug_id>
          
          <creation_ts>2020-02-19 08:05:55 -0800</creation_ts>
          <short_desc>WebPageProxy::PolicyDecisionSender should send a struct instead of many parameters</short_desc>
          <delta_ts>2020-02-19 12:22:07 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>WebKit Misc.</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="Kate Cheney">katherine_cheney</reporter>
          <assigned_to name="Kate Cheney">katherine_cheney</assigned_to>
          <cc>achristensen</cc>
    
    <cc>commit-queue</cc>
    
    <cc>ggaren</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1620653</commentid>
    <comment_count>0</comment_count>
    <who name="Kate Cheney">katherine_cheney</who>
    <bug_when>2020-02-19 08:05:55 -0800</bug_when>
    <thetext>Right now, PolicyDecisionSender sends 5 parameters. This should be refactored into sending a single struct parameter which contains these values.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1620654</commentid>
    <comment_count>1</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2020-02-19 08:06:17 -0800</bug_when>
    <thetext>&lt;rdar://problem/59590676&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1620656</commentid>
    <comment_count>2</comment_count>
      <attachid>391163</attachid>
    <who name="Kate Cheney">katherine_cheney</who>
    <bug_when>2020-02-19 08:25:10 -0800</bug_when>
    <thetext>Created attachment 391163
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1620754</commentid>
    <comment_count>3</comment_count>
      <attachid>391163</attachid>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2020-02-19 11:30:04 -0800</bug_when>
    <thetext>Comment on attachment 391163
Patch

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

&gt; Source/WebKit/Shared/PolicyDecisionData.h:37
&gt; +    uint64_t navigationID;

These should have default initializers so we don&apos;t accidentally use uninitialized memory.
uint64_t navigationID { 0 };
etc.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1620760</commentid>
    <comment_count>4</comment_count>
      <attachid>391163</attachid>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2020-02-19 11:35:22 -0800</bug_when>
    <thetext>Comment on attachment 391163
Patch

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

&gt; Source/WebKit/Shared/PolicyDecisionData.h:34
&gt; +struct PolicyDecisionData {

Can we call this struct just &quot;PolicyDecision&quot;? All classes are data, so &quot;Data&quot; doesn&apos;t add meaning here. (&quot;Info&quot; is another words folks are often tempted to use, which I recommend against.)

I also prefer how &quot;send(PolicyDecision {... })&quot; reads like a complete statement: &quot;I am sending a policy decision.&quot;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1620766</commentid>
    <comment_count>5</comment_count>
    <who name="Kate Cheney">katherine_cheney</who>
    <bug_when>2020-02-19 11:41:44 -0800</bug_when>
    <thetext>Yes, I&apos;ll change both of these before landing. Thanks!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1620789</commentid>
    <comment_count>6</comment_count>
      <attachid>391187</attachid>
    <who name="Kate Cheney">katherine_cheney</who>
    <bug_when>2020-02-19 12:02:36 -0800</bug_when>
    <thetext>Created attachment 391187
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1620797</commentid>
    <comment_count>7</comment_count>
      <attachid>391187</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2020-02-19 12:22:06 -0800</bug_when>
    <thetext>Comment on attachment 391187
Patch for landing

Clearing flags on attachment: 391187

Committed r256934: &lt;https://trac.webkit.org/changeset/256934&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1620798</commentid>
    <comment_count>8</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2020-02-19 12:22:07 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>391163</attachid>
            <date>2020-02-19 08:25:10 -0800</date>
            <delta_ts>2020-02-19 12:02:34 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-207936-20200219082510.patch</filename>
            <type>text/plain</type>
            <size>32292</size>
            <attacher name="Kate Cheney">katherine_cheney</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjU2OTE3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IDEzNDJiMTFlYmE1NjhmNDk4
YTc3N2U4ODY0YmVmNzE5NjI4YWQwN2UuLjA5YTY4Njg3Yzg3ZTM1OWRiYWE3NDU1OTBjZGI5NGZh
Y2Q3NjMxM2IgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzkgQEAKKzIwMjAtMDItMTkgIEthdGUgQ2hl
bmV5ICA8a2F0aGVyaW5lX2NoZW5leUBhcHBsZS5jb20+CisKKyAgICAgICAgV2ViUGFnZVByb3h5
OjpQb2xpY3lEZWNpc2lvblNlbmRlciBzaG91bGQgc2VuZCBhIHN0cnVjdCBpbnN0ZWFkIG9mIG1h
bnkgcGFyYW1ldGVycworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9MjA3OTM2CisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS81OTU5MDY3Nj4KKworICAgICAg
ICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIFNoYXJlZC9Qb2xpY3lE
ZWNpc2lvbkRhdGEuaDogQWRkZWQuCisgICAgICAgIChXZWJLaXQ6OlBvbGljeURlY2lzaW9uRGF0
YTo6ZW5jb2RlIGNvbnN0KToKKyAgICAgICAgKFdlYktpdDo6UG9saWN5RGVjaXNpb25EYXRhOjpk
ZWNvZGUpOgorICAgICAgICAqIFVJUHJvY2Vzcy9Qcm92aXNpb25hbFBhZ2VQcm94eS5jcHA6Cisg
ICAgICAgIChXZWJLaXQ6OlByb3Zpc2lvbmFsUGFnZVByb3h5OjpkZWNpZGVQb2xpY3lGb3JOYXZp
Z2F0aW9uQWN0aW9uU3luYyk6CisgICAgICAgICogVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5jcHA6
CisgICAgICAgIChXZWJLaXQ6OldlYlBhZ2VQcm94eTo6UG9saWN5RGVjaXNpb25TZW5kZXI6OnNl
bmQpOgorICAgICAgICAoV2ViS2l0OjpXZWJQYWdlUHJveHk6OlBvbGljeURlY2lzaW9uU2VuZGVy
OjppZGVudGlmaWVyKToKKyAgICAgICAgKFdlYktpdDo6V2ViUGFnZVByb3h5OjpyZWNlaXZlZFBv
bGljeURlY2lzaW9uKToKKyAgICAgICAgKFdlYktpdDo6V2ViUGFnZVByb3h5OjpkZWNpZGVQb2xp
Y3lGb3JOYXZpZ2F0aW9uQWN0aW9uQXN5bmNTaGFyZWQpOgorICAgICAgICAoV2ViS2l0OjpXZWJQ
YWdlUHJveHk6OmRlY2lkZVBvbGljeUZvck5hdmlnYXRpb25BY3Rpb24pOgorICAgICAgICAoV2Vi
S2l0OjpXZWJQYWdlUHJveHk6OmRlY2lkZVBvbGljeUZvck5hdmlnYXRpb25BY3Rpb25TeW5jU2hh
cmVkKToKKyAgICAgICAgKFdlYktpdDo6V2ViUGFnZVByb3h5OjpkZWNpZGVQb2xpY3lGb3JOZXdX
aW5kb3dBY3Rpb24pOgorICAgICAgICAoV2ViS2l0OjpXZWJQYWdlUHJveHk6OmRlY2lkZVBvbGlj
eUZvclJlc3BvbnNlU2hhcmVkKToKKyAgICAgICAgKiBVSVByb2Nlc3MvV2ViUGFnZVByb3h5Lmg6
CisgICAgICAgICogVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5tZXNzYWdlcy5pbjoKKyAgICAgICAg
KiBXZWJLaXQueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvajoKKyAgICAgICAgKiBXZWJQcm9jZXNz
L1dlYkNvcmVTdXBwb3J0L1dlYkZyYW1lTG9hZGVyQ2xpZW50LmNwcDoKKyAgICAgICAgKFdlYktp
dDo6V2ViRnJhbWVMb2FkZXJDbGllbnQ6OmRpc3BhdGNoRGVjaWRlUG9saWN5Rm9yUmVzcG9uc2Up
OgorICAgICAgICAoV2ViS2l0OjpXZWJGcmFtZUxvYWRlckNsaWVudDo6ZGlzcGF0Y2hEZWNpZGVQ
b2xpY3lGb3JOYXZpZ2F0aW9uQWN0aW9uKToKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlBhZ2Uv
V2ViRnJhbWUuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJGcmFtZTo6ZGlkUmVjZWl2ZVBvbGlj
eURlY2lzaW9uKToKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlBhZ2UvV2ViRnJhbWUuaDoKKyAg
ICAgICAgKiBXZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHA6CisgICAgICAgIChXZWJLaXQ6
OldlYlBhZ2U6OmRpZFJlY2VpdmVQb2xpY3lEZWNpc2lvbik6CisgICAgICAgICogV2ViUHJvY2Vz
cy9XZWJQYWdlL1dlYlBhZ2UuaDoKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFn
ZS5tZXNzYWdlcy5pbjoKKwogMjAyMC0wMi0xOSAgQ2F0aGllIENoZW4gIDxjYXRoaWVjaGVuQGln
YWxpYS5jb20+CiAKICAgICAgICAgRW5hYmxlIEFzcGVjdFJhdGlvT2ZJbWdGcm9tV2lkdGhBbmRI
ZWlnaHRFbmFibGVkIGJ5IGRlZmF1bHQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvU2hhcmVk
L1BvbGljeURlY2lzaW9uRGF0YS5oIGIvU291cmNlL1dlYktpdC9TaGFyZWQvUG9saWN5RGVjaXNp
b25EYXRhLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uYjc3ZGU1ZDIwNmMxMzRkMGEwNTk2Njg0M2E2OTgzMzdkNDZh
YTVhZQotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJLaXQvU2hhcmVkL1BvbGljeURlY2lz
aW9uRGF0YS5oCkBAIC0wLDAgKzEsODQgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMjAgQXBw
bGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1
c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZp
Y2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRp
b25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11
c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9m
IGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJp
YnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0
CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5n
IGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRl
cmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdB
UkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElT
JycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywg
QlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFO
VEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElT
Q0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JT
CisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVD
SUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywg
QlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBP
UiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisg
KiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJ
TElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQg
KElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdB
WSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAq
IFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjcHJhZ21hIG9uY2UKKwor
I2luY2x1ZGUgIkRvd25sb2FkSUQuaCIKKyNpbmNsdWRlICJXZWJzaXRlUG9saWNpZXNEYXRhLmgi
CisjaW5jbHVkZSA8d3RmL0ZvcndhcmQuaD4KKworbmFtZXNwYWNlIFdlYktpdCB7CisKK3N0cnVj
dCBQb2xpY3lEZWNpc2lvbkRhdGEgeworICAgIFdlYkNvcmU6OlBvbGljeUNoZWNrSWRlbnRpZmll
ciBpZGVudGlmaWVyOworICAgIFdlYkNvcmU6OlBvbGljeUFjdGlvbiBwb2xpY3lBY3Rpb247Cisg
ICAgdWludDY0X3QgbmF2aWdhdGlvbklEOworICAgIERvd25sb2FkSUQgZG93bmxvYWRJRDsKKyAg
ICBPcHRpb25hbDxXZWJzaXRlUG9saWNpZXNEYXRhPiB3ZWJzaXRlUG9saWNpZXNEYXRhOworCisg
ICAgdGVtcGxhdGU8Y2xhc3MgRW5jb2Rlcj4KKyAgICB2b2lkIGVuY29kZShFbmNvZGVyJiBlbmNv
ZGVyKSBjb25zdAorICAgIHsKKyAgICAgICAgZW5jb2RlciA8PCBpZGVudGlmaWVyOworICAgICAg
ICBlbmNvZGVyIDw8IHBvbGljeUFjdGlvbjsKKyAgICAgICAgZW5jb2RlciA8PCBuYXZpZ2F0aW9u
SUQ7CisgICAgICAgIGVuY29kZXIgPDwgZG93bmxvYWRJRDsKKyAgICAgICAgZW5jb2RlciA8PCB3
ZWJzaXRlUG9saWNpZXNEYXRhOworICAgIH0KKworICAgIHRlbXBsYXRlPGNsYXNzIERlY29kZXI+
CisgICAgc3RhdGljIE9wdGlvbmFsPFBvbGljeURlY2lzaW9uRGF0YT4gZGVjb2RlKERlY29kZXIm
IGRlY29kZXIpCisgICAgeworICAgICAgICBPcHRpb25hbDxXZWJDb3JlOjpQb2xpY3lDaGVja0lk
ZW50aWZpZXI+IGRlY29kZWRJZGVudGlmaWVyOworICAgICAgICBkZWNvZGVyID4+IGRlY29kZWRJ
ZGVudGlmaWVyOworICAgICAgICBpZiAoIWRlY29kZWRJZGVudGlmaWVyKQorICAgICAgICAgICAg
cmV0dXJuIFdURjo6bnVsbG9wdDsKKworICAgICAgICBPcHRpb25hbDxXZWJDb3JlOjpQb2xpY3lB
Y3Rpb24+IGRlY29kZWRQb2xpY3lBY3Rpb247CisgICAgICAgIGRlY29kZXIgPj4gZGVjb2RlZFBv
bGljeUFjdGlvbjsKKyAgICAgICAgaWYgKCFkZWNvZGVkUG9saWN5QWN0aW9uKQorICAgICAgICAg
ICAgcmV0dXJuIFdURjo6bnVsbG9wdDsKKworICAgICAgICBPcHRpb25hbDx1aW50NjRfdD4gZGVj
b2RlZE5hdmlnYXRpb25JRDsKKyAgICAgICAgZGVjb2RlciA+PiBkZWNvZGVkTmF2aWdhdGlvbklE
OworICAgICAgICBpZiAoIWRlY29kZWROYXZpZ2F0aW9uSUQpCisgICAgICAgICAgICByZXR1cm4g
V1RGOjpudWxsb3B0OworCisgICAgICAgIE9wdGlvbmFsPERvd25sb2FkSUQ+IGRlY29kZWREb3du
bG9hZElEOworICAgICAgICBkZWNvZGVyID4+IGRlY29kZWREb3dubG9hZElEOworICAgICAgICBp
ZiAoIWRlY29kZWREb3dubG9hZElEKQorICAgICAgICAgICAgcmV0dXJuIFdURjo6bnVsbG9wdDsK
KworICAgICAgICBPcHRpb25hbDxPcHRpb25hbDxXZWJzaXRlUG9saWNpZXNEYXRhPj4gZGVjb2Rl
ZFdlYnNpdGVQb2xpY2llc0RhdGE7CisgICAgICAgIGRlY29kZXIgPj4gZGVjb2RlZFdlYnNpdGVQ
b2xpY2llc0RhdGE7CisgICAgICAgIGlmICghZGVjb2RlZFdlYnNpdGVQb2xpY2llc0RhdGEpCisg
ICAgICAgICAgICByZXR1cm4gV1RGOjpudWxsb3B0OworCisgICAgICAgIHJldHVybiB7eyBXVEZN
b3ZlKCpkZWNvZGVkSWRlbnRpZmllciksIFdURk1vdmUoKmRlY29kZWRQb2xpY3lBY3Rpb24pLCBX
VEZNb3ZlKCpkZWNvZGVkTmF2aWdhdGlvbklEKSwgV1RGTW92ZSgqZGVjb2RlZERvd25sb2FkSUQp
LCBXVEZNb3ZlKCpkZWNvZGVkV2Vic2l0ZVBvbGljaWVzRGF0YSkgfX07CisKKyAgICB9Cit9Owor
Cit9IC8vIG5hbWVzcGFjZSBXZWJLaXQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9j
ZXNzL1Byb3Zpc2lvbmFsUGFnZVByb3h5LmNwcCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1By
b3Zpc2lvbmFsUGFnZVByb3h5LmNwcAppbmRleCAzZGFhY2QwMWViZTk2NWMxNTAzMTA0MTM2NTA1
MTAyZjBjYzg0YWY1Li42NWMxNTkyNzI2MGU3ODVkYWQyMDgyMmMxYjVkZmMyYzI3OTk2ODg0IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Qcm92aXNpb25hbFBhZ2VQcm94eS5j
cHAKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvUHJvdmlzaW9uYWxQYWdlUHJveHkuY3Bw
CkBAIC0zNDUsNyArMzQ1LDcgQEAgdm9pZCBQcm92aXNpb25hbFBhZ2VQcm94eTo6ZGVjaWRlUG9s
aWN5Rm9yTmF2aWdhdGlvbkFjdGlvblN5bmMoRnJhbWVJZGVudGlmaWVyIGYKICAgICBjb25zdCBV
c2VyRGF0YSYgdXNlckRhdGEsIE1lc3NhZ2VzOjpXZWJQYWdlUHJveHk6OkRlY2lkZVBvbGljeUZv
ck5hdmlnYXRpb25BY3Rpb25TeW5jOjpEZWxheWVkUmVwbHkmJiByZXBseSkKIHsKICAgICBpZiAo
IWlzTWFpbkZyYW1lIHx8IChtX21haW5GcmFtZSAmJiBtX21haW5GcmFtZS0+ZnJhbWVJRCgpICE9
IGZyYW1lSUQpIHx8IG5hdmlnYXRpb25JRCAhPSBtX25hdmlnYXRpb25JRCkgewotICAgICAgICBy
ZXBseShpZGVudGlmaWVyLCBXZWJDb3JlOjpQb2xpY3lBY3Rpb246Oklnbm9yZSwgbmF2aWdhdGlv
bklELCBEb3dubG9hZElEKCksIFdURjo6bnVsbG9wdCk7CisgICAgICAgIHJlcGx5KFBvbGljeURl
Y2lzaW9uRGF0YSB7IGlkZW50aWZpZXIsIFdlYkNvcmU6OlBvbGljeUFjdGlvbjo6SWdub3JlLCBu
YXZpZ2F0aW9uSUQsIERvd25sb2FkSUQoKSwgV1RGOjpudWxsb3B0IH0pOwogICAgICAgICByZXR1
cm47CiAgICAgfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdl
UHJveHkuY3BwIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmNwcAppbmRl
eCBhOTE5ZDNlMDU5Y2JjOGY0Nzk2ZTIzODM0NjRlMDhhYjRkMWNkNjUzLi40NGYzMzAwOWQ3NDk5
N2ZkMzBhZWZkODU1MzRjYzdhNzJlNmRmNjNlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJ
UHJvY2Vzcy9XZWJQYWdlUHJveHkuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dl
YlBhZ2VQcm94eS5jcHAKQEAgLTMwNDUsMTggKzMwNDUsMjEgQEAgdm9pZCBXZWJQYWdlUHJveHk6
OmNlbnRlclNlbGVjdGlvbkluVmlzaWJsZUFyZWEoKQogCiBjbGFzcyBXZWJQYWdlUHJveHk6OlBv
bGljeURlY2lzaW9uU2VuZGVyIDogcHVibGljIFJlZkNvdW50ZWQ8UG9saWN5RGVjaXNpb25TZW5k
ZXI+IHsKIHB1YmxpYzoKLSAgICB1c2luZyBTZW5kRnVuY3Rpb24gPSBDb21wbGV0aW9uSGFuZGxl
cjx2b2lkKFBvbGljeUNoZWNrSWRlbnRpZmllciwgUG9saWN5QWN0aW9uLCB1aW50NjRfdCBuZXdO
YXZpZ2F0aW9uSUQsIERvd25sb2FkSUQsIE9wdGlvbmFsPFdlYnNpdGVQb2xpY2llc0RhdGE+KT47
CisgICAgdXNpbmcgU2VuZEZ1bmN0aW9uID0gQ29tcGxldGlvbkhhbmRsZXI8dm9pZChQb2xpY3lE
ZWNpc2lvbkRhdGEmJik+OwogCiAgICAgc3RhdGljIFJlZjxQb2xpY3lEZWNpc2lvblNlbmRlcj4g
Y3JlYXRlKFBvbGljeUNoZWNrSWRlbnRpZmllciBpZGVudGlmaWVyLCBTZW5kRnVuY3Rpb24mJiBz
ZW5kRnVuY3Rpb24pCiAgICAgewogICAgICAgICByZXR1cm4gYWRvcHRSZWYoKm5ldyBQb2xpY3lE
ZWNpc2lvblNlbmRlcihpZGVudGlmaWVyLCBXVEZNb3ZlKHNlbmRGdW5jdGlvbikpKTsKICAgICB9
CiAKLSAgICB0ZW1wbGF0ZTx0eXBlbmFtZS4uLiBBcmdzPiB2b2lkIHNlbmQoQXJncy4uLiBhcmdz
KQorICAgIHZvaWQgc2VuZChQb2xpY3lEZWNpc2lvbkRhdGEmJiBwb2xpY3lEZWNpc2lvbkRhdGEp
CiAgICAgewogICAgICAgICBpZiAobV9zZW5kRnVuY3Rpb24pCi0gICAgICAgICAgICBtX3NlbmRG
dW5jdGlvbihtX2lkZW50aWZpZXIsIHN0ZDo6Zm9yd2FyZDxBcmdzPihhcmdzKS4uLik7CisgICAg
ICAgICAgICBtX3NlbmRGdW5jdGlvbihXVEZNb3ZlKHBvbGljeURlY2lzaW9uRGF0YSkpOwogICAg
IH0KKworICAgIFBvbGljeUNoZWNrSWRlbnRpZmllciBpZGVudGlmaWVyKCkgeyByZXR1cm4gbV9p
ZGVudGlmaWVyOyB9CisgICAgCiBwcml2YXRlOgogICAgIFBvbGljeURlY2lzaW9uU2VuZGVyKFBv
bGljeUNoZWNrSWRlbnRpZmllciBpZGVudGlmaWVyLCBTZW5kRnVuY3Rpb24gc2VuZEZ1bmN0aW9u
KQogICAgICAgICA6IG1fc2VuZEZ1bmN0aW9uKFdURk1vdmUoc2VuZEZ1bmN0aW9uKSkKQEAgLTMx
NTQsNyArMzE1Nyw3IEBAIHZvaWQgV2ViUGFnZVByb3h5OjpyZWNlaXZlZE5hdmlnYXRpb25Qb2xp
Y3lEZWNpc2lvbihQb2xpY3lBY3Rpb24gcG9saWN5QWN0aW9uLCBBCiB2b2lkIFdlYlBhZ2VQcm94
eTo6cmVjZWl2ZWRQb2xpY3lEZWNpc2lvbihQb2xpY3lBY3Rpb24gYWN0aW9uLCBBUEk6Ok5hdmln
YXRpb24qIG5hdmlnYXRpb24sIE9wdGlvbmFsPFdlYnNpdGVQb2xpY2llc0RhdGE+JiYgd2Vic2l0
ZVBvbGljaWVzLCBSZWY8UG9saWN5RGVjaXNpb25TZW5kZXI+JiYgc2VuZGVyLCBXaWxsQ29udGlu
dWVMb2FkSW5OZXdQcm9jZXNzIHdpbGxDb250aW51ZUxvYWRJbk5ld1Byb2Nlc3MpCiB7CiAgICAg
aWYgKCFoYXNSdW5uaW5nUHJvY2VzcygpKSB7Ci0gICAgICAgIHNlbmRlci0+c2VuZChQb2xpY3lB
Y3Rpb246Oklnbm9yZSwgMCwgRG93bmxvYWRJRCgpLCBXVEY6Om51bGxvcHQpOworICAgICAgICBz
ZW5kZXItPnNlbmQoUG9saWN5RGVjaXNpb25EYXRhIHsgc2VuZGVyLT5pZGVudGlmaWVyKCksIFBv
bGljeUFjdGlvbjo6SWdub3JlLCAwLCBEb3dubG9hZElEKCksIFdURjo6bnVsbG9wdCB9KTsKICAg
ICAgICAgcmV0dXJuOwogICAgIH0KIApAQCAtMzE3Nyw3ICszMTgwLDcgQEAgdm9pZCBXZWJQYWdl
UHJveHk6OnJlY2VpdmVkUG9saWN5RGVjaXNpb24oUG9saWN5QWN0aW9uIGFjdGlvbiwgQVBJOjpO
YXZpZ2F0aW9uKgogICAgICAgICBtX2RlY2lkZVBvbGljeUZvclJlc3BvbnNlUmVxdWVzdCA9IHsg
fTsKICAgICB9CiAKLSAgICBzZW5kZXItPnNlbmQoYWN0aW9uLCBuYXZpZ2F0aW9uID8gbmF2aWdh
dGlvbi0+bmF2aWdhdGlvbklEKCkgOiAwLCBkb3dubG9hZElELCBXVEZNb3ZlKHdlYnNpdGVQb2xp
Y2llcykpOworICAgIHNlbmRlci0+c2VuZChQb2xpY3lEZWNpc2lvbkRhdGEgeyBzZW5kZXItPmlk
ZW50aWZpZXIoKSwgYWN0aW9uLCBuYXZpZ2F0aW9uID8gbmF2aWdhdGlvbi0+bmF2aWdhdGlvbklE
KCkgOiAwLCBkb3dubG9hZElELCBXVEZNb3ZlKHdlYnNpdGVQb2xpY2llcykgfSk7CiB9CiAKIHZv
aWQgV2ViUGFnZVByb3h5Ojpjb21taXRQcm92aXNpb25hbFBhZ2UoRnJhbWVJZGVudGlmaWVyIGZy
YW1lSUQsIHVpbnQ2NF90IG5hdmlnYXRpb25JRCwgY29uc3QgU3RyaW5nJiBtaW1lVHlwZSwgYm9v
bCBmcmFtZUhhc0N1c3RvbUNvbnRlbnRQcm92aWRlciwgdWludDMyX3QgZnJhbWVMb2FkVHlwZSwg
Y29uc3QgV2ViQ29yZTo6Q2VydGlmaWNhdGVJbmZvJiBjZXJ0aWZpY2F0ZUluZm8sIGJvb2wgdXNl
ZExlZ2FjeVRMUywgYm9vbCBjb250YWluc1BsdWdpbkRvY3VtZW50LCBPcHRpb25hbDxXZWJDb3Jl
OjpIYXNJbnNlY3VyZUNvbnRlbnQ+IGZvcmNlZEhhc0luc2VjdXJlQ29udGVudCwgY29uc3QgVXNl
ckRhdGEmIHVzZXJEYXRhKQpAQCAtNDkzNSw4ICs0OTM4LDggQEAgdm9pZCBXZWJQYWdlUHJveHk6
OmRlY2lkZVBvbGljeUZvck5hdmlnYXRpb25BY3Rpb25Bc3luY1NoYXJlZChSZWY8V2ViUHJvY2Vz
c1Byb3gKICAgICBhdXRvKiBmcmFtZSA9IHByb2Nlc3MtPndlYkZyYW1lKGZyYW1lSUQpOwogICAg
IE1FU1NBR0VfQ0hFQ0socHJvY2VzcywgZnJhbWUpOwogCi0gICAgYXV0byBzZW5kZXIgPSBQb2xp
Y3lEZWNpc2lvblNlbmRlcjo6Y3JlYXRlKGlkZW50aWZpZXIsIFt3ZWJQYWdlSUQsIGZyYW1lSUQs
IGxpc3RlbmVySUQsIHByb2Nlc3MgPSBwcm9jZXNzLmNvcHlSZWYoKV0gKGF1dG8uLi4gYXJncykg
ewotICAgICAgICBwcm9jZXNzLT5zZW5kKE1lc3NhZ2VzOjpXZWJQYWdlOjpEaWRSZWNlaXZlUG9s
aWN5RGVjaXNpb24oZnJhbWVJRCwgbGlzdGVuZXJJRCwgYXJncy4uLiksIHdlYlBhZ2VJRCk7Cisg
ICAgYXV0byBzZW5kZXIgPSBQb2xpY3lEZWNpc2lvblNlbmRlcjo6Y3JlYXRlKGlkZW50aWZpZXIs
IFt3ZWJQYWdlSUQsIGZyYW1lSUQsIGxpc3RlbmVySUQsIHByb2Nlc3MgPSBwcm9jZXNzLmNvcHlS
ZWYoKV0gKGNvbnN0IGF1dG8mIHBvbGljeURlY2lzaW9uRGF0YSkgeworICAgICAgICBwcm9jZXNz
LT5zZW5kKE1lc3NhZ2VzOjpXZWJQYWdlOjpEaWRSZWNlaXZlUG9saWN5RGVjaXNpb24oZnJhbWVJ
RCwgbGlzdGVuZXJJRCwgcG9saWN5RGVjaXNpb25EYXRhKSwgd2ViUGFnZUlEKTsKICAgICB9KTsK
IAogICAgIGRlY2lkZVBvbGljeUZvck5hdmlnYXRpb25BY3Rpb24ocHJvY2Vzcy5jb3B5UmVmKCks
ICpmcmFtZSwgV1RGTW92ZShmcmFtZVNlY3VyaXR5T3JpZ2luKSwgbmF2aWdhdGlvbklELCBXVEZN
b3ZlKG5hdmlnYXRpb25BY3Rpb25EYXRhKSwgV1RGTW92ZShmcmFtZUluZm9EYXRhKSwgb3JpZ2lu
YXRpbmdQYWdlSUQsCkBAIC00OTYyLDcgKzQ5NjUsNyBAQCB2b2lkIFdlYlBhZ2VQcm94eTo6ZGVj
aWRlUG9saWN5Rm9yTmF2aWdhdGlvbkFjdGlvbihSZWY8V2ViUHJvY2Vzc1Byb3h5PiYmIHByb2Nl
cwogCiAgICAgaWYgKCFjaGVja1VSTFJlY2VpdmVkRnJvbUN1cnJlbnRPclByZXZpb3VzV2ViUHJv
Y2Vzcyhwcm9jZXNzLCByZXF1ZXN0LnVybCgpKSkgewogICAgICAgICBSRUxFQVNFX0xPR19FUlJP
Ul9JRl9BTExPV0VEKFByb2Nlc3MsICJJZ25vcmluZyByZXF1ZXN0IHRvIGxvYWQgdGhpcyBtYWlu
IHJlc291cmNlIGJlY2F1c2UgaXQgaXMgb3V0c2lkZSB0aGUgc2FuZGJveCIpOwotICAgICAgICBz
ZW5kZXItPnNlbmQoUG9saWN5QWN0aW9uOjpJZ25vcmUsIDAsIERvd25sb2FkSUQoKSwgV1RGOjpu
dWxsb3B0KTsKKyAgICAgICAgc2VuZGVyLT5zZW5kKFBvbGljeURlY2lzaW9uRGF0YSB7IHNlbmRl
ci0+aWRlbnRpZmllcigpLCBQb2xpY3lBY3Rpb246Oklnbm9yZSwgMCwgRG93bmxvYWRJRCgpLCBX
VEY6Om51bGxvcHQgfSk7CiAgICAgICAgIHJldHVybjsKICAgICB9CiAKQEAgLTUxODksNyArNTE5
Miw3IEBAIHZvaWQgV2ViUGFnZVByb3h5OjpkZWNpZGVQb2xpY3lGb3JOYXZpZ2F0aW9uQWN0aW9u
U3luY1NoYXJlZChSZWY8V2ViUHJvY2Vzc1Byb3h5CiAgICAgICAgIG9yaWdpbmF0aW5nUGFnZUlE
LCBvcmlnaW5hbFJlcXVlc3QsIFdURk1vdmUocmVxdWVzdCksIFdURk1vdmUocmVxdWVzdEJvZHkp
LCBXVEZNb3ZlKHJlZGlyZWN0UmVzcG9uc2UpLCB1c2VyRGF0YSwgc2VuZGVyLmNvcHlSZWYoKSk7
CiAKICAgICAvLyBJZiB0aGUgY2xpZW50IGRpZCBub3QgcmVzcG9uZCBzeW5jaHJvbm91c2x5LCBw
cm9jZWVkIHdpdGggdGhlIGxvYWQuCi0gICAgc2VuZGVyLT5zZW5kKFBvbGljeUFjdGlvbjo6VXNl
LCBuYXZpZ2F0aW9uSUQsIERvd25sb2FkSUQoKSwgV1RGOjpudWxsb3B0KTsKKyAgICBzZW5kZXIt
PnNlbmQoUG9saWN5RGVjaXNpb25EYXRhIHsgc2VuZGVyLT5pZGVudGlmaWVyKCksIFBvbGljeUFj
dGlvbjo6VXNlLCBuYXZpZ2F0aW9uSUQsIERvd25sb2FkSUQoKSwgV1RGOjpudWxsb3B0IH0pOwog
fQogCiB2b2lkIFdlYlBhZ2VQcm94eTo6ZGVjaWRlUG9saWN5Rm9yTmV3V2luZG93QWN0aW9uKEZy
YW1lSWRlbnRpZmllciBmcmFtZUlELCBTZWN1cml0eU9yaWdpbkRhdGEmJiBmcmFtZVNlY3VyaXR5
T3JpZ2luLCBQb2xpY3lDaGVja0lkZW50aWZpZXIgaWRlbnRpZmllciwKQEAgLTUyMDYsOCArNTIw
OSw4IEBAIHZvaWQgV2ViUGFnZVByb3h5OjpkZWNpZGVQb2xpY3lGb3JOZXdXaW5kb3dBY3Rpb24o
RnJhbWVJZGVudGlmaWVyIGZyYW1lSUQsIFNlY3VyCiAgICAgICAgIFJFTEVBU0VfQVNTRVJUKHBy
b2Nlc3NTd2FwUmVxdWVzdGVkQnlDbGllbnQgPT0gUHJvY2Vzc1N3YXBSZXF1ZXN0ZWRCeUNsaWVu
dDo6Tm8pOwogICAgICAgICBBU1NFUlRfVU5VU0VEKHNhZmVCcm93c2luZ1dhcm5pbmcsICFzYWZl
QnJvd3NpbmdXYXJuaW5nKTsKIAotICAgICAgICBhdXRvIHNlbmRlciA9IFBvbGljeURlY2lzaW9u
U2VuZGVyOjpjcmVhdGUoaWRlbnRpZmllciwgW3RoaXMsIHByb3RlY3RlZFRoaXMgPSBXVEZNb3Zl
KHByb3RlY3RlZFRoaXMpLCBmcmFtZUlELCBsaXN0ZW5lcklEXSAoYXV0by4uLiBhcmdzKSB7Ci0g
ICAgICAgICAgICBzZW5kKE1lc3NhZ2VzOjpXZWJQYWdlOjpEaWRSZWNlaXZlUG9saWN5RGVjaXNp
b24oZnJhbWVJRCwgbGlzdGVuZXJJRCwgYXJncy4uLikpOworICAgICAgICBhdXRvIHNlbmRlciA9
IFBvbGljeURlY2lzaW9uU2VuZGVyOjpjcmVhdGUoaWRlbnRpZmllciwgW3RoaXMsIHByb3RlY3Rl
ZFRoaXMgPSBXVEZNb3ZlKHByb3RlY3RlZFRoaXMpLCBmcmFtZUlELCBsaXN0ZW5lcklEXSAoY29u
c3QgYXV0byYgcG9saWN5RGVjaXNpb25EYXRhKSB7CisgICAgICAgICAgICBzZW5kKE1lc3NhZ2Vz
OjpXZWJQYWdlOjpEaWRSZWNlaXZlUG9saWN5RGVjaXNpb24oZnJhbWVJRCwgbGlzdGVuZXJJRCwg
cG9saWN5RGVjaXNpb25EYXRhKSk7CiAgICAgICAgIH0pOwogCiAgICAgICAgIHJlY2VpdmVkUG9s
aWN5RGVjaXNpb24ocG9saWN5QWN0aW9uLCBudWxscHRyLCBXVEY6Om51bGxvcHQsIFdURk1vdmUo
c2VuZGVyKSk7CkBAIC01MjU1LDggKzUyNTgsOCBAQCB2b2lkIFdlYlBhZ2VQcm94eTo6ZGVjaWRl
UG9saWN5Rm9yUmVzcG9uc2VTaGFyZWQoUmVmPFdlYlByb2Nlc3NQcm94eT4mJiBwcm9jZXNzLAog
ICAgICAgICBSRUxFQVNFX0FTU0VSVChwcm9jZXNzU3dhcFJlcXVlc3RlZEJ5Q2xpZW50ID09IFBy
b2Nlc3NTd2FwUmVxdWVzdGVkQnlDbGllbnQ6Ok5vKTsKICAgICAgICAgQVNTRVJUX1VOVVNFRChz
YWZlQnJvd3NpbmdXYXJuaW5nLCAhc2FmZUJyb3dzaW5nV2FybmluZyk7CiAKLSAgICAgICAgYXV0
byBzZW5kZXIgPSBQb2xpY3lEZWNpc2lvblNlbmRlcjo6Y3JlYXRlKGlkZW50aWZpZXIsIFt3ZWJQ
YWdlSUQsIGZyYW1lSUQsIGxpc3RlbmVySUQsIHByb2Nlc3MgPSBXVEZNb3ZlKHByb2Nlc3MpXSAo
YXV0by4uLiBhcmdzKSB7Ci0gICAgICAgICAgICBwcm9jZXNzLT5zZW5kKE1lc3NhZ2VzOjpXZWJQ
YWdlOjpEaWRSZWNlaXZlUG9saWN5RGVjaXNpb24oZnJhbWVJRCwgbGlzdGVuZXJJRCwgYXJncy4u
LiksIHdlYlBhZ2VJRCk7CisgICAgICAgIGF1dG8gc2VuZGVyID0gUG9saWN5RGVjaXNpb25TZW5k
ZXI6OmNyZWF0ZShpZGVudGlmaWVyLCBbd2ViUGFnZUlELCBmcmFtZUlELCBsaXN0ZW5lcklELCBw
cm9jZXNzID0gV1RGTW92ZShwcm9jZXNzKV0gKGNvbnN0IGF1dG8mIHBvbGljeURlY2lzaW9uRGF0
YSkgeworICAgICAgICAgICAgcHJvY2Vzcy0+c2VuZChNZXNzYWdlczo6V2ViUGFnZTo6RGlkUmVj
ZWl2ZVBvbGljeURlY2lzaW9uKGZyYW1lSUQsIGxpc3RlbmVySUQsIHBvbGljeURlY2lzaW9uRGF0
YSksIHdlYlBhZ2VJRCk7CiAgICAgICAgIH0pOwogICAgICAgICAKICAgICAgICAgcmVjZWl2ZWRQ
b2xpY3lEZWNpc2lvbihwb2xpY3lBY3Rpb24sIG5hdmlnYXRpb24uZ2V0KCksIFdURjo6bnVsbG9w
dCwgV1RGTW92ZShzZW5kZXIpKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNz
L1dlYlBhZ2VQcm94eS5oIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmgK
aW5kZXggOGM2MjU1MjQwNGEyZTZmYTZlOGExYzQwNTIzNjcwNzE1NjM4NWJkMS4uMWNkZGIxYmMy
ZmQ0YmE1OTk1NDg0MzI3MTFlODlkZmMwYWQwY2VmNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmgKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3Mv
V2ViUGFnZVByb3h5LmgKQEAgLTQwLDYgKzQwLDcgQEAKICNpbmNsdWRlICJNZXNzYWdlU2VuZGVy
LmgiCiAjaW5jbHVkZSAiTm90aWZpY2F0aW9uUGVybWlzc2lvblJlcXVlc3RNYW5hZ2VyUHJveHku
aCIKICNpbmNsdWRlICJQYWdlTG9hZFN0YXRlLmgiCisjaW5jbHVkZSAiUG9saWN5RGVjaXNpb25E
YXRhLmgiCiAjaW5jbHVkZSAiUHJvY2Vzc1Rlcm1pbmF0aW9uUmVhc29uLmgiCiAjaW5jbHVkZSAi
UHJvY2Vzc1Rocm90dGxlci5oIgogI2luY2x1ZGUgIlNhbmRib3hFeHRlbnNpb24uaCIKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5tZXNzYWdlcy5pbiBi
L1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5tZXNzYWdlcy5pbgppbmRleCA3
NTIwOTNiODY0OWYzNzI1MTY2ODI4YTE5YjM4ZmFjOTM0ZTNiNjkwLi4zZjQyODRlNGQ2MzBiYmE4
MDM5MGFhM2EwNzdiNTEyYmY1NWVlMTE2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJv
Y2Vzcy9XZWJQYWdlUHJveHkubWVzc2FnZXMuaW4KKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nl
c3MvV2ViUGFnZVByb3h5Lm1lc3NhZ2VzLmluCkBAIC0xMDIsNyArMTAyLDcgQEAgbWVzc2FnZXMg
LT4gV2ViUGFnZVByb3h5IHsKICAgICAjIFBvbGljeSBtZXNzYWdlcwogICAgIERlY2lkZVBvbGlj
eUZvclJlc3BvbnNlKFdlYkNvcmU6OkZyYW1lSWRlbnRpZmllciBmcmFtZUlELCBzdHJ1Y3QgV2Vi
Q29yZTo6U2VjdXJpdHlPcmlnaW5EYXRhIGZyYW1lU2VjdXJpdHlPcmlnaW4sIFdlYkNvcmU6OlBv
bGljeUNoZWNrSWRlbnRpZmllciBwb2xpY3lDaGVja0lkZW50aWZpZXIsIHVpbnQ2NF90IG5hdmln
YXRpb25JRCwgV2ViQ29yZTo6UmVzb3VyY2VSZXNwb25zZSByZXNwb25zZSwgV2ViQ29yZTo6UmVz
b3VyY2VSZXF1ZXN0IHJlcXVlc3QsIGJvb2wgY2FuU2hvd01JTUVUeXBlLCBTdHJpbmcgZG93bmxv
YWRBdHRyaWJ1dGUsIHVpbnQ2NF90IGxpc3RlbmVySUQsIFdlYktpdDo6VXNlckRhdGEgdXNlckRh
dGEpCiAgICAgRGVjaWRlUG9saWN5Rm9yTmF2aWdhdGlvbkFjdGlvbkFzeW5jKFdlYkNvcmU6OkZy
YW1lSWRlbnRpZmllciBmcmFtZUlELCBzdHJ1Y3QgV2ViQ29yZTo6U2VjdXJpdHlPcmlnaW5EYXRh
IGZyYW1lU2VjdXJpdHlPcmlnaW4sIFdlYkNvcmU6OlBvbGljeUNoZWNrSWRlbnRpZmllciBwb2xp
Y3lDaGVja0lkZW50aWZpZXIsIHVpbnQ2NF90IG5hdmlnYXRpb25JRCwgc3RydWN0IFdlYktpdDo6
TmF2aWdhdGlvbkFjdGlvbkRhdGEgbmF2aWdhdGlvbkFjdGlvbkRhdGEsIHN0cnVjdCBXZWJLaXQ6
OkZyYW1lSW5mb0RhdGEgb3JpZ2luYXRpbmdGcmFtZUluZm9EYXRhLCBPcHRpb25hbDxXZWJLaXQ6
OldlYlBhZ2VQcm94eUlkZW50aWZpZXI+IG9yaWdpbmF0aW5nUGFnZUlELCBXZWJDb3JlOjpSZXNv
dXJjZVJlcXVlc3Qgb3JpZ2luYWxSZXF1ZXN0LCBXZWJDb3JlOjpSZXNvdXJjZVJlcXVlc3QgcmVx
dWVzdCwgSVBDOjpGb3JtRGF0YVJlZmVyZW5jZSByZXF1ZXN0Qm9keSwgV2ViQ29yZTo6UmVzb3Vy
Y2VSZXNwb25zZSByZWRpcmVjdFJlc3BvbnNlLCBXZWJLaXQ6OlVzZXJEYXRhIHVzZXJEYXRhLCB1
aW50NjRfdCBsaXN0ZW5lcklEKQotICAgIERlY2lkZVBvbGljeUZvck5hdmlnYXRpb25BY3Rpb25T
eW5jKFdlYkNvcmU6OkZyYW1lSWRlbnRpZmllciBmcmFtZUlELCBib29sIGlzTWFpbkZyYW1lLCBz
dHJ1Y3QgV2ViQ29yZTo6U2VjdXJpdHlPcmlnaW5EYXRhIGZyYW1lU2VjdXJpdHlPcmlnaW4sIFdl
YkNvcmU6OlBvbGljeUNoZWNrSWRlbnRpZmllciBwb2xpY3lDaGVja0lkZW50aWZpZXIsIHVpbnQ2
NF90IG5hdmlnYXRpb25JRCwgc3RydWN0IFdlYktpdDo6TmF2aWdhdGlvbkFjdGlvbkRhdGEgbmF2
aWdhdGlvbkFjdGlvbkRhdGEsIHN0cnVjdCBXZWJLaXQ6OkZyYW1lSW5mb0RhdGEgb3JpZ2luYXRp
bmdGcmFtZUluZm9EYXRhLCBPcHRpb25hbDxXZWJLaXQ6OldlYlBhZ2VQcm94eUlkZW50aWZpZXI+
IG9yaWdpbmF0aW5nUGFnZUlELCBXZWJDb3JlOjpSZXNvdXJjZVJlcXVlc3Qgb3JpZ2luYWxSZXF1
ZXN0LCBXZWJDb3JlOjpSZXNvdXJjZVJlcXVlc3QgcmVxdWVzdCwgSVBDOjpGb3JtRGF0YVJlZmVy
ZW5jZSByZXF1ZXN0Qm9keSwgV2ViQ29yZTo6UmVzb3VyY2VSZXNwb25zZSByZWRpcmVjdFJlc3Bv
bnNlLCBXZWJLaXQ6OlVzZXJEYXRhIHVzZXJEYXRhKSAtPiAoV2ViQ29yZTo6UG9saWN5Q2hlY2tJ
ZGVudGlmaWVyIHBvbGljeUNoZWNrSWRlbnRpZmllciwgZW51bTp1aW50OF90IFdlYkNvcmU6OlBv
bGljeUFjdGlvbiBwb2xpY3lBY3Rpb24sIHVpbnQ2NF90IG5ld05hdmlnYXRpb25JRCwgV2ViS2l0
OjpEb3dubG9hZElEIGRvd25sb2FkSUQsIE9wdGlvbmFsPFdlYktpdDo6V2Vic2l0ZVBvbGljaWVz
RGF0YT4gd2Vic2l0ZVBvbGljaWVzKSBTeW5jaHJvbm91cworICAgIERlY2lkZVBvbGljeUZvck5h
dmlnYXRpb25BY3Rpb25TeW5jKFdlYkNvcmU6OkZyYW1lSWRlbnRpZmllciBmcmFtZUlELCBib29s
IGlzTWFpbkZyYW1lLCBzdHJ1Y3QgV2ViQ29yZTo6U2VjdXJpdHlPcmlnaW5EYXRhIGZyYW1lU2Vj
dXJpdHlPcmlnaW4sIFdlYkNvcmU6OlBvbGljeUNoZWNrSWRlbnRpZmllciBwb2xpY3lDaGVja0lk
ZW50aWZpZXIsIHVpbnQ2NF90IG5hdmlnYXRpb25JRCwgc3RydWN0IFdlYktpdDo6TmF2aWdhdGlv
bkFjdGlvbkRhdGEgbmF2aWdhdGlvbkFjdGlvbkRhdGEsIHN0cnVjdCBXZWJLaXQ6OkZyYW1lSW5m
b0RhdGEgb3JpZ2luYXRpbmdGcmFtZUluZm9EYXRhLCBPcHRpb25hbDxXZWJLaXQ6OldlYlBhZ2VQ
cm94eUlkZW50aWZpZXI+IG9yaWdpbmF0aW5nUGFnZUlELCBXZWJDb3JlOjpSZXNvdXJjZVJlcXVl
c3Qgb3JpZ2luYWxSZXF1ZXN0LCBXZWJDb3JlOjpSZXNvdXJjZVJlcXVlc3QgcmVxdWVzdCwgSVBD
OjpGb3JtRGF0YVJlZmVyZW5jZSByZXF1ZXN0Qm9keSwgV2ViQ29yZTo6UmVzb3VyY2VSZXNwb25z
ZSByZWRpcmVjdFJlc3BvbnNlLCBXZWJLaXQ6OlVzZXJEYXRhIHVzZXJEYXRhKSAtPiAoc3RydWN0
IFdlYktpdDo6UG9saWN5RGVjaXNpb25EYXRhIHBvbGljeURlY2lzaW9uRGF0YSkgU3luY2hyb25v
dXMKICAgICBEZWNpZGVQb2xpY3lGb3JOZXdXaW5kb3dBY3Rpb24oV2ViQ29yZTo6RnJhbWVJZGVu
dGlmaWVyIGZyYW1lSUQsIHN0cnVjdCBXZWJDb3JlOjpTZWN1cml0eU9yaWdpbkRhdGEgZnJhbWVT
ZWN1cml0eU9yaWdpbiwgV2ViQ29yZTo6UG9saWN5Q2hlY2tJZGVudGlmaWVyIHBvbGljeUNoZWNr
SWRlbnRpZmllciwgc3RydWN0IFdlYktpdDo6TmF2aWdhdGlvbkFjdGlvbkRhdGEgbmF2aWdhdGlv
bkFjdGlvbkRhdGEsIFdlYkNvcmU6OlJlc291cmNlUmVxdWVzdCByZXF1ZXN0LCBTdHJpbmcgZnJh
bWVOYW1lLCB1aW50NjRfdCBsaXN0ZW5lcklELCBXZWJLaXQ6OlVzZXJEYXRhIHVzZXJEYXRhKQog
ICAgIFVuYWJsZVRvSW1wbGVtZW50UG9saWN5KFdlYkNvcmU6OkZyYW1lSWRlbnRpZmllciBmcmFt
ZUlELCBXZWJDb3JlOjpSZXNvdXJjZUVycm9yIGVycm9yLCBXZWJLaXQ6OlVzZXJEYXRhIHVzZXJE
YXRhKQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYktpdC54Y29kZXByb2ovcHJvamVj
dC5wYnhwcm9qIGIvU291cmNlL1dlYktpdC9XZWJLaXQueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJv
agppbmRleCBiYzAwMGJmNzAwN2JhNjljNGU3MTk1NmIyN2U0ZTAzNmEzZDYyYWUxLi43NWUwYTQ3
ZGQ2OGJmNzUwNDhhZGQ2ZTIxYTgzMDdjODQ1YzZkZTYxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0L1dlYktpdC54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCisrKyBiL1NvdXJjZS9XZWJLaXQv
V2ViS2l0Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKQEAgLTk1OCw2ICs5NTgsNyBAQAogCQk0
OUJDQTE5MjIzQTE3NzY2MDAyOEE4MzYgLyogQVBJUmVzb3VyY2VMb2FkU3RhdGlzdGljc0ZpcnN0
UGFydHkuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQ5
QkNBMTkxMjNBMTc3NjYwMDI4QTgzNiAvKiBBUElSZXNvdXJjZUxvYWRTdGF0aXN0aWNzRmlyc3RQ
YXJ0eS5oICovOyB9OwogCQk0OUJDQTE5NTIzQTE4Q0ZEMDAyOEE4MzYgLyogX1dLUmVzb3VyY2VM
b2FkU3RhdGlzdGljc0ZpcnN0UGFydHlJbnRlcm5hbC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDlCQ0ExOTAyM0ExNzU0OTAwMjhBODM2IC8qIF9XS1Jl
c291cmNlTG9hZFN0YXRpc3RpY3NGaXJzdFBhcnR5SW50ZXJuYWwuaCAqLzsgfTsKIAkJNDlCQ0Ex
OTcyM0ExOTMwRDAwMjhBODM2IC8qIEFQSVJlc291cmNlTG9hZFN0YXRpc3RpY3NUaGlyZFBhcnR5
LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0OUJDQTE5
NjIzQTE4RjYyMDAyOEE4MzYgLyogQVBJUmVzb3VyY2VMb2FkU3RhdGlzdGljc1RoaXJkUGFydHku
aCAqLzsgfTsKKwkJNDlFQ0E0MUMyM0ZDQTVEODAwMjMzNThEIC8qIFBvbGljeURlY2lzaW9uRGF0
YS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDlFQ0E0
MUIyM0ZDQTQ4NjAwMjMzNThEIC8qIFBvbGljeURlY2lzaW9uRGF0YS5oICovOyB9OwogCQk0OUZC
RUZGRDIzOUIwMTFEMDBCRDAzMkYgLyogX1dLUmVzb3VyY2VMb2FkU3RhdGlzdGljc0ZpcnN0UGFy
dHkubW0gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0OUZC
RUZGQzIzOUIwMTFEMDBCRDAzMkYgLyogX1dLUmVzb3VyY2VMb2FkU3RhdGlzdGljc0ZpcnN0UGFy
dHkubW0gKi87IH07CiAJCTQ5RkJFRkZGMjM5QjAxMkYwMEJEMDMyRiAvKiBfV0tSZXNvdXJjZUxv
YWRTdGF0aXN0aWNzVGhpcmRQYXJ0eS5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IDQ5RkJFRkZFMjM5QjAxMkYwMEJEMDMyRiAvKiBfV0tSZXNvdXJjZUxv
YWRTdGF0aXN0aWNzVGhpcmRQYXJ0eS5tbSAqLzsgfTsKIAkJNDlGQkYwMDAyMzlCMUY3NTAwQkQw
MzJGIC8qIF9XS1Jlc291cmNlTG9hZFN0YXRpc3RpY3NUaGlyZFBhcnR5LmggaW4gSGVhZGVycyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0OUZCRUZGQTIzOUFEOTc4MDBCRDAz
MkYgLyogX1dLUmVzb3VyY2VMb2FkU3RhdGlzdGljc1RoaXJkUGFydHkuaCAqLzsgc2V0dGluZ3Mg
PSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwpAQCAtMzUxMyw2ICszNTE0LDcgQEAK
IAkJNDlCQ0ExOTAyM0ExNzU0OTAwMjhBODM2IC8qIF9XS1Jlc291cmNlTG9hZFN0YXRpc3RpY3NG
aXJzdFBhcnR5SW50ZXJuYWwuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gX1dLUmVzb3VyY2VMb2FkU3RhdGlz
dGljc0ZpcnN0UGFydHlJbnRlcm5hbC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk0
OUJDQTE5MTIzQTE3NzY2MDAyOEE4MzYgLyogQVBJUmVzb3VyY2VMb2FkU3RhdGlzdGljc0ZpcnN0
UGFydHkuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gQVBJUmVzb3VyY2VMb2FkU3RhdGlzdGljc0ZpcnN0UGFy
dHkuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNDlCQ0ExOTYyM0ExOEY2MjAwMjhB
ODM2IC8qIEFQSVJlc291cmNlTG9hZFN0YXRpc3RpY3NUaGlyZFBhcnR5LmggKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0
aCA9IEFQSVJlc291cmNlTG9hZFN0YXRpc3RpY3NUaGlyZFBhcnR5Lmg7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CisJCTQ5RUNBNDFCMjNGQ0E0ODYwMDIzMzU4RCAvKiBQb2xpY3lEZWNpc2lv
bkRhdGEuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gUG9saWN5RGVjaXNpb25EYXRhLmg7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CiAJCTQ5RkJFRkZBMjM5QUQ5NzgwMEJEMDMyRiAvKiBfV0tSZXNvdXJj
ZUxvYWRTdGF0aXN0aWNzVGhpcmRQYXJ0eS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBfV0tSZXNvdXJjZUxv
YWRTdGF0aXN0aWNzVGhpcmRQYXJ0eS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk0
OUZCRUZGQjIzOUFEQjE4MDBCRDAzMkYgLyogX1dLUmVzb3VyY2VMb2FkU3RhdGlzdGljc0ZpcnN0
UGFydHkuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gX1dLUmVzb3VyY2VMb2FkU3RhdGlzdGljc0ZpcnN0UGFy
dHkuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNDlGQkVGRkMyMzlCMDExRDAwQkQw
MzJGIC8qIF9XS1Jlc291cmNlTG9hZFN0YXRpc3RpY3NGaXJzdFBhcnR5Lm1tICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2Jq
Y3BwOyBwYXRoID0gX1dLUmVzb3VyY2VMb2FkU3RhdGlzdGljc0ZpcnN0UGFydHkubW07IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC01ODYwLDYgKzU4NjIsNyBAQAogCQkJCTdDMDY1RjJB
MUM4Q0Q5NUYwMEMyRDk1MCAvKiBXZWJVc2VyQ29udGVudENvbnRyb2xsZXJEYXRhVHlwZXMuaCAq
LywKIAkJCQk0OTYwQTNCQzIzQzUyODY0MDA5NjE4NDIgLyogV2ViVmlld0NhdGVnb3J5LmggKi8s
CiAJCQkJQzAzMzdERDAxMjdBMjk4MDAwOEZGNEY0IC8qIFdlYldoZWVsRXZlbnQuY3BwICovLAor
CQkJCTQ5RUNBNDFCMjNGQ0E0ODYwMDIzMzU4RCAvKiBQb2xpY3lEZWNpc2lvbkRhdGEuaCAqLywK
IAkJCSk7CiAJCQlwYXRoID0gU2hhcmVkOwogCQkJc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsKQEAg
LTEwNzc4LDYgKzEwNzgxLDcgQEAKIAkJCQkyRDVDOUQwNjE5QzgxRDhGMDBCM0M1QzEgLyogV2Vi
UGFnZU92ZXJsYXkuaCBpbiBIZWFkZXJzICovLAogCQkJCTQ2QzM5MjI5MjMxNkVDNEQwMDhFRUQ5
QiAvKiBXZWJQYWdlUHJveHlJZGVudGlmaWVyLmggaW4gSGVhZGVycyAqLywKIAkJCQlCQ0JEMzkx
NTEyNUJCMUE4MDBEMkMyOUYgLyogV2ViUGFnZVByb3h5TWVzc2FnZXMuaCBpbiBIZWFkZXJzICov
LAorCQkJCTQ5RUNBNDFDMjNGQ0E1RDgwMDIzMzU4RCAvKiBQb2xpY3lEZWNpc2lvbkRhdGEuaCBp
biBIZWFkZXJzICovLAogCQkJCTUxMjEyN0M0MTkwODIzOUEwMERBRjM1QyAvKiBXZWJQYXN0ZWJv
YXJkT3ZlcnJpZGVzLmggaW4gSGVhZGVycyAqLywKIAkJCQk3QzQ2OTREMTFBNTFFMzY4MDBBRDU4
NDUgLyogV2ViUGFzdGVib2FyZFByb3h5LmggaW4gSGVhZGVycyAqLywKIAkJCQk3QzQ2OTRDQTFB
NEI0RUExMDBBRDU4NDUgLyogV2ViUGFzdGVib2FyZFByb3h5TWVzc2FnZXMuaCBpbiBIZWFkZXJz
ICovLApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0
L1dlYkZyYW1lTG9hZGVyQ2xpZW50LmNwcCBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJD
b3JlU3VwcG9ydC9XZWJGcmFtZUxvYWRlckNsaWVudC5jcHAKaW5kZXggNzc4OGU2ZTVhZWE1ODI3
MzBmMTZkY2FjNzMyMzZlYzM0Njc1OWRjYy4uOTkyNTkyYTMyMWI5OGVhM2YxYTU5ZGU0YTNlYWVk
N2MzMWUxNDFiYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYkNvcmVT
dXBwb3J0L1dlYkZyYW1lTG9hZGVyQ2xpZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlBy
b2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViRnJhbWVMb2FkZXJDbGllbnQuY3BwCkBAIC04MzYsNyAr
ODM2LDcgQEAgdm9pZCBXZWJGcmFtZUxvYWRlckNsaWVudDo6ZGlzcGF0Y2hEZWNpZGVQb2xpY3lG
b3JSZXNwb25zZShjb25zdCBSZXNvdXJjZVJlc3BvbnMKICAgICB1aW50NjRfdCBsaXN0ZW5lcklE
ID0gbV9mcmFtZS0+c2V0VXBQb2xpY3lMaXN0ZW5lcihpZGVudGlmaWVyLCBXVEZNb3ZlKGZ1bmN0
aW9uKSwgV2ViRnJhbWU6OkZvck5hdmlnYXRpb25BY3Rpb246Ok5vKTsKICAgICBpZiAoIXdlYlBh
Z2UtPnNlbmQoTWVzc2FnZXM6OldlYlBhZ2VQcm94eTo6RGVjaWRlUG9saWN5Rm9yUmVzcG9uc2Uo
bV9mcmFtZS0+ZnJhbWVJRCgpLCBTZWN1cml0eU9yaWdpbkRhdGE6OmZyb21GcmFtZShjb3JlRnJh
bWUpLCBpZGVudGlmaWVyLCBuYXZpZ2F0aW9uSUQsIHJlc3BvbnNlLCByZXF1ZXN0LAogICAgICAg
ICBjYW5TaG93UmVzcG9uc2UsIGRvd25sb2FkQXR0cmlidXRlLCBsaXN0ZW5lcklELCBVc2VyRGF0
YShXZWJQcm9jZXNzOjpzaW5nbGV0b24oKS50cmFuc2Zvcm1PYmplY3RzVG9IYW5kbGVzKHVzZXJE
YXRhLmdldCgpKS5nZXQoKSkpKSkKLSAgICAgICAgbV9mcmFtZS0+ZGlkUmVjZWl2ZVBvbGljeURl
Y2lzaW9uKGxpc3RlbmVySUQsIGlkZW50aWZpZXIsIFBvbGljeUFjdGlvbjo6SWdub3JlLCAwLCB7
IH0sIHsgfSk7CisgICAgICAgIG1fZnJhbWUtPmRpZFJlY2VpdmVQb2xpY3lEZWNpc2lvbihsaXN0
ZW5lcklELCBQb2xpY3lEZWNpc2lvbkRhdGEgeyBpZGVudGlmaWVyLCBQb2xpY3lBY3Rpb246Okln
bm9yZSwgMCwgeyB9LCB7IH0gfSk7CiB9CiAKIHZvaWQgV2ViRnJhbWVMb2FkZXJDbGllbnQ6OmRp
c3BhdGNoRGVjaWRlUG9saWN5Rm9yTmV3V2luZG93QWN0aW9uKGNvbnN0IE5hdmlnYXRpb25BY3Rp
b24mIG5hdmlnYXRpb25BY3Rpb24sIGNvbnN0IFJlc291cmNlUmVxdWVzdCYgcmVxdWVzdCwKQEAg
LTk4NywyMSArOTg3LDE3IEBAIHZvaWQgV2ViRnJhbWVMb2FkZXJDbGllbnQ6OmRpc3BhdGNoRGVj
aWRlUG9saWN5Rm9yTmF2aWdhdGlvbkFjdGlvbihjb25zdCBOYXZpZ2F0CiAgICAgUmVmPFdlYkZy
YW1lPiBwcm90ZWN0KCptX2ZyYW1lKTsKIAogICAgIGlmIChwb2xpY3lEZWNpc2lvbk1vZGUgPT0g
UG9saWN5RGVjaXNpb25Nb2RlOjpTeW5jaHJvbm91cykgewotICAgICAgICB1aW50NjRfdCBuZXdO
YXZpZ2F0aW9uSUQ7Ci0gICAgICAgIFdlYkNvcmU6OlBvbGljeUNoZWNrSWRlbnRpZmllciByZXNw
b25zZUlkZW50aWZpZXI7Ci0gICAgICAgIFBvbGljeUFjdGlvbiBwb2xpY3lBY3Rpb247Ci0gICAg
ICAgIERvd25sb2FkSUQgZG93bmxvYWRJRDsKLSAgICAgICAgT3B0aW9uYWw8V2Vic2l0ZVBvbGlj
aWVzRGF0YT4gd2Vic2l0ZVBvbGljaWVzOworICAgICAgICBQb2xpY3lEZWNpc2lvbkRhdGEgcG9s
aWN5RGVjaXNpb25EYXRhOwogCiAgICAgICAgIGlmICghd2ViUGFnZS0+c2VuZFN5bmMoTWVzc2Fn
ZXM6OldlYlBhZ2VQcm94eTo6RGVjaWRlUG9saWN5Rm9yTmF2aWdhdGlvbkFjdGlvblN5bmMobV9m
cmFtZS0+ZnJhbWVJRCgpLCBtX2ZyYW1lLT5pc01haW5GcmFtZSgpLCBTZWN1cml0eU9yaWdpbkRh
dGE6OmZyb21GcmFtZShjb3JlRnJhbWUpLAogICAgICAgICAgICAgcmVxdWVzdElkZW50aWZpZXIs
IGRvY3VtZW50TG9hZGVyLT5uYXZpZ2F0aW9uSUQoKSwgbmF2aWdhdGlvbkFjdGlvbkRhdGEsIG9y
aWdpbmF0aW5nRnJhbWVJbmZvRGF0YSwgb3JpZ2luYXRpbmdQYWdlSUQsIG5hdmlnYXRpb25BY3Rp
b24ucmVzb3VyY2VSZXF1ZXN0KCksIHJlcXVlc3QsCiAgICAgICAgICAgICBJUEM6OkZvcm1EYXRh
UmVmZXJlbmNlIHsgcmVxdWVzdC5odHRwQm9keSgpIH0sIHJlZGlyZWN0UmVzcG9uc2UsIFVzZXJE
YXRhKFdlYlByb2Nlc3M6OnNpbmdsZXRvbigpLnRyYW5zZm9ybU9iamVjdHNUb0hhbmRsZXModXNl
ckRhdGEuZ2V0KCkpLmdldCgpKSksCi0gICAgICAgICAgICBNZXNzYWdlczo6V2ViUGFnZVByb3h5
OjpEZWNpZGVQb2xpY3lGb3JOYXZpZ2F0aW9uQWN0aW9uU3luYzo6UmVwbHkocmVzcG9uc2VJZGVu
dGlmaWVyLCBwb2xpY3lBY3Rpb24sIG5ld05hdmlnYXRpb25JRCwgZG93bmxvYWRJRCwgd2Vic2l0
ZVBvbGljaWVzKSkpIHsKLSAgICAgICAgICAgIG1fZnJhbWUtPmRpZFJlY2VpdmVQb2xpY3lEZWNp
c2lvbihsaXN0ZW5lcklELCByZXF1ZXN0SWRlbnRpZmllciwgUG9saWN5QWN0aW9uOjpJZ25vcmUs
IDAsIHsgfSwgeyB9KTsKKyAgICAgICAgICAgIE1lc3NhZ2VzOjpXZWJQYWdlUHJveHk6OkRlY2lk
ZVBvbGljeUZvck5hdmlnYXRpb25BY3Rpb25TeW5jOjpSZXBseShwb2xpY3lEZWNpc2lvbkRhdGEp
KSkgeworICAgICAgICAgICAgbV9mcmFtZS0+ZGlkUmVjZWl2ZVBvbGljeURlY2lzaW9uKGxpc3Rl
bmVySUQsIFBvbGljeURlY2lzaW9uRGF0YSB7IHJlcXVlc3RJZGVudGlmaWVyLCBQb2xpY3lBY3Rp
b246Oklnbm9yZSwgMCwgeyB9LCB7IH0gfSk7CiAgICAgICAgICAgICByZXR1cm47CiAgICAgICAg
IH0KIAotICAgICAgICBtX2ZyYW1lLT5kaWRSZWNlaXZlUG9saWN5RGVjaXNpb24obGlzdGVuZXJJ
RCwgcmVzcG9uc2VJZGVudGlmaWVyLCBwb2xpY3lBY3Rpb24sIDAsIGRvd25sb2FkSUQsIHsgfSk7
CisgICAgICAgIG1fZnJhbWUtPmRpZFJlY2VpdmVQb2xpY3lEZWNpc2lvbihsaXN0ZW5lcklELCBQ
b2xpY3lEZWNpc2lvbkRhdGEgeyBwb2xpY3lEZWNpc2lvbkRhdGEuaWRlbnRpZmllciwgcG9saWN5
RGVjaXNpb25EYXRhLnBvbGljeUFjdGlvbiwgMCwgcG9saWN5RGVjaXNpb25EYXRhLmRvd25sb2Fk
SUQsIHsgfX0pOwogICAgICAgICByZXR1cm47CiAgICAgfQogCkBAIC0xMDA5LDcgKzEwMDUsNyBA
QCB2b2lkIFdlYkZyYW1lTG9hZGVyQ2xpZW50OjpkaXNwYXRjaERlY2lkZVBvbGljeUZvck5hdmln
YXRpb25BY3Rpb24oY29uc3QgTmF2aWdhdAogICAgIGlmICghd2ViUGFnZS0+c2VuZChNZXNzYWdl
czo6V2ViUGFnZVByb3h5OjpEZWNpZGVQb2xpY3lGb3JOYXZpZ2F0aW9uQWN0aW9uQXN5bmMobV9m
cmFtZS0+ZnJhbWVJRCgpLCBTZWN1cml0eU9yaWdpbkRhdGE6OmZyb21GcmFtZShjb3JlRnJhbWUp
LAogICAgICAgICByZXF1ZXN0SWRlbnRpZmllciwgZG9jdW1lbnRMb2FkZXItPm5hdmlnYXRpb25J
RCgpLCBuYXZpZ2F0aW9uQWN0aW9uRGF0YSwgb3JpZ2luYXRpbmdGcmFtZUluZm9EYXRhLCBvcmln
aW5hdGluZ1BhZ2VJRCwgbmF2aWdhdGlvbkFjdGlvbi5yZXNvdXJjZVJlcXVlc3QoKSwgcmVxdWVz
dCwKICAgICAgICAgSVBDOjpGb3JtRGF0YVJlZmVyZW5jZSB7IHJlcXVlc3QuaHR0cEJvZHkoKSB9
LCByZWRpcmVjdFJlc3BvbnNlLCBVc2VyRGF0YShXZWJQcm9jZXNzOjpzaW5nbGV0b24oKS50cmFu
c2Zvcm1PYmplY3RzVG9IYW5kbGVzKHVzZXJEYXRhLmdldCgpKS5nZXQoKSksIGxpc3RlbmVySUQp
KSkKLSAgICAgICAgbV9mcmFtZS0+ZGlkUmVjZWl2ZVBvbGljeURlY2lzaW9uKGxpc3RlbmVySUQs
IHJlcXVlc3RJZGVudGlmaWVyLCBQb2xpY3lBY3Rpb246Oklnbm9yZSwgMCwgeyB9LCB7IH0pOwor
ICAgICAgICBtX2ZyYW1lLT5kaWRSZWNlaXZlUG9saWN5RGVjaXNpb24obGlzdGVuZXJJRCwgUG9s
aWN5RGVjaXNpb25EYXRhIHsgcmVxdWVzdElkZW50aWZpZXIsIFBvbGljeUFjdGlvbjo6SWdub3Jl
LCAwLCB7IH0sIHsgfSB9KTsKIH0KIAogdm9pZCBXZWJGcmFtZUxvYWRlckNsaWVudDo6Y2FuY2Vs
UG9saWN5Q2hlY2soKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBh
Z2UvV2ViRnJhbWUuY3BwIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViRnJh
bWUuY3BwCmluZGV4IDRkODU3OGIxYTM4OTM3ZGE1YmI5YmVjNmUyNGIxZDBjZDVkZjMxNTguLmJi
ZWFhNmI2N2UwYTIwMzdiYThlNGMxNDc4MGFiMzYwOGNiZmNlMGEgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYkZyYW1lLmNwcAorKysgYi9Tb3VyY2UvV2Vi
S2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJGcmFtZS5jcHAKQEAgLTI1MiwxMiArMjUyLDEyIEBA
IHZvaWQgV2ViRnJhbWU6OmludmFsaWRhdGVQb2xpY3lMaXN0ZW5lcigpCiAgICAgICAgIGNvbXBs
ZXRpb25IYW5kbGVyKCk7CiB9CiAKLXZvaWQgV2ViRnJhbWU6OmRpZFJlY2VpdmVQb2xpY3lEZWNp
c2lvbih1aW50NjRfdCBsaXN0ZW5lcklELCBXZWJDb3JlOjpQb2xpY3lDaGVja0lkZW50aWZpZXIg
aWRlbnRpZmllciwgUG9saWN5QWN0aW9uIGFjdGlvbiwgdWludDY0X3QgbmF2aWdhdGlvbklELCBE
b3dubG9hZElEIGRvd25sb2FkSUQsIE9wdGlvbmFsPFdlYnNpdGVQb2xpY2llc0RhdGE+JiYgd2Vi
c2l0ZVBvbGljaWVzKQordm9pZCBXZWJGcmFtZTo6ZGlkUmVjZWl2ZVBvbGljeURlY2lzaW9uKHVp
bnQ2NF90IGxpc3RlbmVySUQsIFBvbGljeURlY2lzaW9uRGF0YSYmIHBvbGljeURlY2lzaW9uRGF0
YSkKIHsKICAgICBpZiAoIW1fY29yZUZyYW1lIHx8ICFtX3BvbGljeUxpc3RlbmVySUQgfHwgbGlz
dGVuZXJJRCAhPSBtX3BvbGljeUxpc3RlbmVySUQgfHwgIW1fcG9saWN5RnVuY3Rpb24pCiAgICAg
ICAgIHJldHVybjsKIAotICAgIEFTU0VSVChpZGVudGlmaWVyID09IG1fcG9saWN5SWRlbnRpZmll
cik7CisgICAgQVNTRVJUKHBvbGljeURlY2lzaW9uRGF0YS5pZGVudGlmaWVyID09IG1fcG9saWN5
SWRlbnRpZmllcik7CiAgICAgbV9wb2xpY3lJZGVudGlmaWVyID0gV1RGOjpudWxsb3B0OwogCiAg
ICAgRnJhbWVQb2xpY3lGdW5jdGlvbiBmdW5jdGlvbiA9IFdURk1vdmUobV9wb2xpY3lGdW5jdGlv
bik7CkBAIC0yNjUsMjAgKzI2NSwyMCBAQCB2b2lkIFdlYkZyYW1lOjpkaWRSZWNlaXZlUG9saWN5
RGVjaXNpb24odWludDY0X3QgbGlzdGVuZXJJRCwgV2ViQ29yZTo6UG9saWN5Q2hlYwogCiAgICAg
aW52YWxpZGF0ZVBvbGljeUxpc3RlbmVyKCk7CiAKLSAgICBpZiAoZm9yTmF2aWdhdGlvbkFjdGlv
biAmJiBtX2ZyYW1lTG9hZGVyQ2xpZW50ICYmIHdlYnNpdGVQb2xpY2llcykgeworICAgIGlmIChm
b3JOYXZpZ2F0aW9uQWN0aW9uICYmIG1fZnJhbWVMb2FkZXJDbGllbnQgJiYgcG9saWN5RGVjaXNp
b25EYXRhLndlYnNpdGVQb2xpY2llc0RhdGEpIHsKICAgICAgICAgQVNTRVJUKHBhZ2UoKSk7CiAg
ICAgICAgIGlmIChwYWdlKCkpCi0gICAgICAgICAgICBwYWdlKCktPnNldEFsbG93c0NvbnRlbnRK
YXZhU2NyaXB0RnJvbU1vc3RSZWNlbnROYXZpZ2F0aW9uKHdlYnNpdGVQb2xpY2llcy0+YWxsb3dz
Q29udGVudEphdmFTY3JpcHQpOwotICAgICAgICBtX2ZyYW1lTG9hZGVyQ2xpZW50LT5hcHBseVRv
RG9jdW1lbnRMb2FkZXIoV1RGTW92ZSgqd2Vic2l0ZVBvbGljaWVzKSk7CisgICAgICAgICAgICBw
YWdlKCktPnNldEFsbG93c0NvbnRlbnRKYXZhU2NyaXB0RnJvbU1vc3RSZWNlbnROYXZpZ2F0aW9u
KHBvbGljeURlY2lzaW9uRGF0YS53ZWJzaXRlUG9saWNpZXNEYXRhLT5hbGxvd3NDb250ZW50SmF2
YVNjcmlwdCk7CisgICAgICAgIG1fZnJhbWVMb2FkZXJDbGllbnQtPmFwcGx5VG9Eb2N1bWVudExv
YWRlcihXVEZNb3ZlKCpwb2xpY3lEZWNpc2lvbkRhdGEud2Vic2l0ZVBvbGljaWVzRGF0YSkpOwog
ICAgIH0KIAotICAgIG1fcG9saWN5RG93bmxvYWRJRCA9IGRvd25sb2FkSUQ7Ci0gICAgaWYgKG5h
dmlnYXRpb25JRCkgeworICAgIG1fcG9saWN5RG93bmxvYWRJRCA9IHBvbGljeURlY2lzaW9uRGF0
YS5kb3dubG9hZElEOworICAgIGlmIChwb2xpY3lEZWNpc2lvbkRhdGEubmF2aWdhdGlvbklEKSB7
CiAgICAgICAgIGlmIChXZWJEb2N1bWVudExvYWRlciogZG9jdW1lbnRMb2FkZXIgPSBzdGF0aWNf
Y2FzdDxXZWJEb2N1bWVudExvYWRlcio+KG1fY29yZUZyYW1lLT5sb2FkZXIoKS5wb2xpY3lEb2N1
bWVudExvYWRlcigpKSkKLSAgICAgICAgICAgIGRvY3VtZW50TG9hZGVyLT5zZXROYXZpZ2F0aW9u
SUQobmF2aWdhdGlvbklEKTsKKyAgICAgICAgICAgIGRvY3VtZW50TG9hZGVyLT5zZXROYXZpZ2F0
aW9uSUQocG9saWN5RGVjaXNpb25EYXRhLm5hdmlnYXRpb25JRCk7CiAgICAgfQogCi0gICAgZnVu
Y3Rpb24oYWN0aW9uLCBpZGVudGlmaWVyKTsKKyAgICBmdW5jdGlvbihwb2xpY3lEZWNpc2lvbkRh
dGEucG9saWN5QWN0aW9uLCBwb2xpY3lEZWNpc2lvbkRhdGEuaWRlbnRpZmllcik7CiB9CiAKIHZv
aWQgV2ViRnJhbWU6OnN0YXJ0RG93bmxvYWQoY29uc3QgV2ViQ29yZTo6UmVzb3VyY2VSZXF1ZXN0
JiByZXF1ZXN0LCBjb25zdCBTdHJpbmcmIHN1Z2dlc3RlZE5hbWUpCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJGcmFtZS5oIGIvU291cmNlL1dlYktpdC9X
ZWJQcm9jZXNzL1dlYlBhZ2UvV2ViRnJhbWUuaAppbmRleCBiMzI5YWM1ZTVmYjJmYWU0MWQ0N2Y2
N2ZjYTEyMmM4MzBkYzY2ZmI0Li42MDQzMTZlMTM4NTc0NTZkYWMzMmRmYmZmNGRiYzU3ODFiYjI1
MTMxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJGcmFt
ZS5oCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYkZyYW1lLmgKQEAg
LTI3LDYgKzI3LDcgQEAKIAogI2luY2x1ZGUgIkFQSU9iamVjdC5oIgogI2luY2x1ZGUgIkRvd25s
b2FkSUQuaCIKKyNpbmNsdWRlICJQb2xpY3lEZWNpc2lvbkRhdGEuaCIKICNpbmNsdWRlICJTaGFy
ZWFibGVCaXRtYXAuaCIKICNpbmNsdWRlICJUcmFuc2FjdGlvbklELmgiCiAjaW5jbHVkZSAiV0tC
YXNlLmgiCkBAIC04Miw3ICs4Myw3IEBAIHB1YmxpYzoKICAgICBlbnVtIGNsYXNzIEZvck5hdmln
YXRpb25BY3Rpb24geyBObywgWWVzIH07CiAgICAgdWludDY0X3Qgc2V0VXBQb2xpY3lMaXN0ZW5l
cihXZWJDb3JlOjpQb2xpY3lDaGVja0lkZW50aWZpZXIsIFdlYkNvcmU6OkZyYW1lUG9saWN5RnVu
Y3Rpb24mJiwgRm9yTmF2aWdhdGlvbkFjdGlvbik7CiAgICAgdm9pZCBpbnZhbGlkYXRlUG9saWN5
TGlzdGVuZXIoKTsKLSAgICB2b2lkIGRpZFJlY2VpdmVQb2xpY3lEZWNpc2lvbih1aW50NjRfdCBs
aXN0ZW5lcklELCBXZWJDb3JlOjpQb2xpY3lDaGVja0lkZW50aWZpZXIsIFdlYkNvcmU6OlBvbGlj
eUFjdGlvbiwgdWludDY0X3QgbmF2aWdhdGlvbklELCBEb3dubG9hZElELCBPcHRpb25hbDxXZWJz
aXRlUG9saWNpZXNEYXRhPiYmKTsKKyAgICB2b2lkIGRpZFJlY2VpdmVQb2xpY3lEZWNpc2lvbih1
aW50NjRfdCBsaXN0ZW5lcklELCBQb2xpY3lEZWNpc2lvbkRhdGEmJik7CiAKICAgICB1aW50NjRf
dCBzZXRVcFdpbGxTdWJtaXRGb3JtTGlzdGVuZXIoQ29tcGxldGlvbkhhbmRsZXI8dm9pZCgpPiYm
KTsKICAgICB2b2lkIGNvbnRpbnVlV2lsbFN1Ym1pdEZvcm0odWludDY0X3QpOwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHAgYi9Tb3VyY2Uv
V2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNwcAppbmRleCBmODA1YTIxN2IxYjhh
YzA2MDQ2MWJkNmQ5NmFiNmY0Nzg2NjFkN2ZmLi41NzEzOTY5NjRkMTFiMmY5ZmU3M2YzNGNhYWVm
ZTQyMjE0YmMwZDM1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFn
ZS9XZWJQYWdlLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQ
YWdlLmNwcApAQCAtMzI1NywxMiArMzI1NywxMiBAQCB2b2lkIFdlYlBhZ2U6OnNldExheWVySG9z
dGluZ01vZGUoTGF5ZXJIb3N0aW5nTW9kZSBsYXllckhvc3RpbmdNb2RlKQogICAgICAgICBwbHVn
aW5WaWV3LT5zZXRMYXllckhvc3RpbmdNb2RlKG1fbGF5ZXJIb3N0aW5nTW9kZSk7CiB9CiAKLXZv
aWQgV2ViUGFnZTo6ZGlkUmVjZWl2ZVBvbGljeURlY2lzaW9uKEZyYW1lSWRlbnRpZmllciBmcmFt
ZUlELCB1aW50NjRfdCBsaXN0ZW5lcklELCBQb2xpY3lDaGVja0lkZW50aWZpZXIgaWRlbnRpZmll
ciwgUG9saWN5QWN0aW9uIHBvbGljeUFjdGlvbiwgdWludDY0X3QgbmF2aWdhdGlvbklELCBjb25z
dCBEb3dubG9hZElEJiBkb3dubG9hZElELCBPcHRpb25hbDxXZWJzaXRlUG9saWNpZXNEYXRhPiYm
IHdlYnNpdGVQb2xpY2llcykKK3ZvaWQgV2ViUGFnZTo6ZGlkUmVjZWl2ZVBvbGljeURlY2lzaW9u
KEZyYW1lSWRlbnRpZmllciBmcmFtZUlELCB1aW50NjRfdCBsaXN0ZW5lcklELCBQb2xpY3lEZWNp
c2lvbkRhdGEmJiBwb2xpY3lEZWNpc2lvbkRhdGEpCiB7CiAgICAgV2ViRnJhbWUqIGZyYW1lID0g
V2ViUHJvY2Vzczo6c2luZ2xldG9uKCkud2ViRnJhbWUoZnJhbWVJRCk7CiAgICAgaWYgKCFmcmFt
ZSkKICAgICAgICAgcmV0dXJuOwotICAgIGZyYW1lLT5kaWRSZWNlaXZlUG9saWN5RGVjaXNpb24o
bGlzdGVuZXJJRCwgaWRlbnRpZmllciwgcG9saWN5QWN0aW9uLCBuYXZpZ2F0aW9uSUQsIGRvd25s
b2FkSUQsIFdURk1vdmUod2Vic2l0ZVBvbGljaWVzKSk7CisgICAgZnJhbWUtPmRpZFJlY2VpdmVQ
b2xpY3lEZWNpc2lvbihsaXN0ZW5lcklELCBXVEZNb3ZlKHBvbGljeURlY2lzaW9uRGF0YSkpOwog
fQogCiB2b2lkIFdlYlBhZ2U6OmNvbnRpbnVlV2lsbFN1Ym1pdEZvcm0oRnJhbWVJZGVudGlmaWVy
IGZyYW1lSUQsIHVpbnQ2NF90IGxpc3RlbmVySUQpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
L1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmggYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3Mv
V2ViUGFnZS9XZWJQYWdlLmgKaW5kZXggZWFhNmZiMjUzZDgwMjA2YTY3ODU4YTJhZGM1NzNmZjU0
Y2VkMjA5Yi4uZjJlNmRlMzY2YjUzYjBiZTE1YTFlYTIxY2Y3N2E2NzliZjExOTQ3NSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5oCisrKyBiL1Nv
dXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuaApAQCAtNDUsNiArNDUsNyBA
QAogI2luY2x1ZGUgIk1lc3NhZ2VTZW5kZXIuaCIKICNpbmNsdWRlICJPcHRpb25hbENhbGxiYWNr
SUQuaCIKICNpbmNsdWRlICJQbHVnaW4uaCIKKyNpbmNsdWRlICJQb2xpY3lEZWNpc2lvbkRhdGEu
aCIKICNpbmNsdWRlICJTYW5kYm94RXh0ZW5zaW9uLmgiCiAjaW5jbHVkZSAiU2hhcmVTaGVldENh
bGxiYWNrSUQuaCIKICNpbmNsdWRlICJTaGFyZWRNZW1vcnkuaCIKQEAgLTE0OTEsNyArMTQ5Miw3
IEBAIHByaXZhdGU6CiAgICAgYm9vbCBwYXJlbnRQcm9jZXNzSGFzU2VydmljZVdvcmtlckVudGl0
bGVtZW50KCkgY29uc3QgeyByZXR1cm4gdHJ1ZTsgfQogI2VuZGlmCiAKLSAgICB2b2lkIGRpZFJl
Y2VpdmVQb2xpY3lEZWNpc2lvbihXZWJDb3JlOjpGcmFtZUlkZW50aWZpZXIsIHVpbnQ2NF90IGxp
c3RlbmVySUQsIFdlYkNvcmU6OlBvbGljeUNoZWNrSWRlbnRpZmllciwgV2ViQ29yZTo6UG9saWN5
QWN0aW9uLCB1aW50NjRfdCBuYXZpZ2F0aW9uSUQsIGNvbnN0IERvd25sb2FkSUQmLCBPcHRpb25h
bDxXZWJzaXRlUG9saWNpZXNEYXRhPiYmKTsKKyAgICB2b2lkIGRpZFJlY2VpdmVQb2xpY3lEZWNp
c2lvbihXZWJDb3JlOjpGcmFtZUlkZW50aWZpZXIsIHVpbnQ2NF90IGxpc3RlbmVySUQsIFBvbGlj
eURlY2lzaW9uRGF0YSYmKTsKICAgICB2b2lkIGNvbnRpbnVlV2lsbFN1Ym1pdEZvcm0oV2ViQ29y
ZTo6RnJhbWVJZGVudGlmaWVyLCB1aW50NjRfdCBsaXN0ZW5lcklEKTsKICAgICB2b2lkIHNldFVz
ZXJBZ2VudChjb25zdCBTdHJpbmcmKTsKICAgICB2b2lkIHNldEN1c3RvbVRleHRFbmNvZGluZ05h
bWUoY29uc3QgU3RyaW5nJik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3Mv
V2ViUGFnZS9XZWJQYWdlLm1lc3NhZ2VzLmluIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dl
YlBhZ2UvV2ViUGFnZS5tZXNzYWdlcy5pbgppbmRleCA3NDFjMjg0MmNmMWMwY2Q4NGM3MWJhMGZl
ZDAyNjc0YWVmYTE3ZWZmLi45Yjg3NDU4MDJmNTU2OTdhMmJhYjgzYmI3OGIyYWNlYzU1YTcyNDVi
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLm1l
c3NhZ2VzLmluCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2Uu
bWVzc2FnZXMuaW4KQEAgLTE4Niw3ICsxODYsNyBAQCBHZW5lcmF0ZVN5bnRoZXRpY0VkaXRpbmdD
b21tYW5kKGVudW06dWludDhfdCBXZWJLaXQ6OlN5bnRoZXRpY0VkaXRpbmdDb21tYW5kVHlwZQog
ICAgIERpZFJlbW92ZUJhY2tGb3J3YXJkSXRlbShzdHJ1Y3QgV2ViQ29yZTo6QmFja0ZvcndhcmRJ
dGVtSWRlbnRpZmllciBiYWNrRm9yd2FyZEl0ZW1JRCkKIAogICAgIFVwZGF0ZVdlYnNpdGVQb2xp
Y2llcyhzdHJ1Y3QgV2ViS2l0OjpXZWJzaXRlUG9saWNpZXNEYXRhIHdlYnNpdGVQb2xpY2llcykK
LSAgICBEaWRSZWNlaXZlUG9saWN5RGVjaXNpb24oV2ViQ29yZTo6RnJhbWVJZGVudGlmaWVyIGZy
YW1lSUQsIHVpbnQ2NF90IGxpc3RlbmVySUQsIFdlYkNvcmU6OlBvbGljeUNoZWNrSWRlbnRpZmll
ciBwb2xpY3lDaGVja0lkZW50aWZpZXIsIGVudW06dWludDhfdCBXZWJDb3JlOjpQb2xpY3lBY3Rp
b24gcG9saWN5QWN0aW9uLCB1aW50NjRfdCBuYXZpZ2F0aW9uSUQsIFdlYktpdDo6RG93bmxvYWRJ
RCBkb3dubG9hZElELCBPcHRpb25hbDxXZWJLaXQ6OldlYnNpdGVQb2xpY2llc0RhdGE+IHdlYnNp
dGVQb2xpY2llcykKKyAgICBEaWRSZWNlaXZlUG9saWN5RGVjaXNpb24oV2ViQ29yZTo6RnJhbWVJ
ZGVudGlmaWVyIGZyYW1lSUQsIHVpbnQ2NF90IGxpc3RlbmVySUQsIHN0cnVjdCBXZWJLaXQ6OlBv
bGljeURlY2lzaW9uRGF0YSBwb2xpY3lEZWNpc2lvbkRhdGEpCiAgICAgQ29udGludWVXaWxsU3Vi
bWl0Rm9ybShXZWJDb3JlOjpGcmFtZUlkZW50aWZpZXIgZnJhbWVJRCwgdWludDY0X3QgbGlzdGVu
ZXJJRCkKIAogICAgIENsZWFyU2VsZWN0aW9uKCkK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>391187</attachid>
            <date>2020-02-19 12:02:36 -0800</date>
            <delta_ts>2020-02-19 12:22:06 -0800</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-207936-20200219120235.patch</filename>
            <type>text/plain</type>
            <size>32113</size>
            <attacher name="Kate Cheney">katherine_cheney</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjU2OTE3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IDEzNDJiMTFlYmE1NjhmNDk4
YTc3N2U4ODY0YmVmNzE5NjI4YWQwN2UuLjc4MTJkMTRmOGVmYmQ5ZTJlZTY1N2ZmMTUwZDJlMmQx
NzBmOTU4ZjMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzkgQEAKKzIwMjAtMDItMTkgIEthdGUgQ2hl
bmV5ICA8a2F0aGVyaW5lX2NoZW5leUBhcHBsZS5jb20+CisKKyAgICAgICAgV2ViUGFnZVByb3h5
OjpQb2xpY3lEZWNpc2lvblNlbmRlciBzaG91bGQgc2VuZCBhIHN0cnVjdCBpbnN0ZWFkIG9mIG1h
bnkgcGFyYW1ldGVycworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9MjA3OTM2CisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS81OTU5MDY3Nj4KKworICAgICAg
ICBSZXZpZXdlZCBieSBBbGV4IENocmlzdGVuc2VuLgorCisgICAgICAgICogU2hhcmVkL1BvbGlj
eURlY2lzaW9uLmg6IEFkZGVkLgorICAgICAgICAoV2ViS2l0OjpQb2xpY3lEZWNpc2lvbjo6ZW5j
b2RlIGNvbnN0KToKKyAgICAgICAgKFdlYktpdDo6UG9saWN5RGVjaXNpb246OmRlY29kZSk6Cisg
ICAgICAgICogVUlQcm9jZXNzL1Byb3Zpc2lvbmFsUGFnZVByb3h5LmNwcDoKKyAgICAgICAgKFdl
YktpdDo6UHJvdmlzaW9uYWxQYWdlUHJveHk6OmRlY2lkZVBvbGljeUZvck5hdmlnYXRpb25BY3Rp
b25TeW5jKToKKyAgICAgICAgKiBVSVByb2Nlc3MvV2ViUGFnZVByb3h5LmNwcDoKKyAgICAgICAg
KFdlYktpdDo6V2ViUGFnZVByb3h5OjpQb2xpY3lEZWNpc2lvblNlbmRlcjo6c2VuZCk6CisgICAg
ICAgIChXZWJLaXQ6OldlYlBhZ2VQcm94eTo6UG9saWN5RGVjaXNpb25TZW5kZXI6OmlkZW50aWZp
ZXIpOgorICAgICAgICAoV2ViS2l0OjpXZWJQYWdlUHJveHk6OnJlY2VpdmVkUG9saWN5RGVjaXNp
b24pOgorICAgICAgICAoV2ViS2l0OjpXZWJQYWdlUHJveHk6OmRlY2lkZVBvbGljeUZvck5hdmln
YXRpb25BY3Rpb25Bc3luY1NoYXJlZCk6CisgICAgICAgIChXZWJLaXQ6OldlYlBhZ2VQcm94eTo6
ZGVjaWRlUG9saWN5Rm9yTmF2aWdhdGlvbkFjdGlvbik6CisgICAgICAgIChXZWJLaXQ6OldlYlBh
Z2VQcm94eTo6ZGVjaWRlUG9saWN5Rm9yTmF2aWdhdGlvbkFjdGlvblN5bmNTaGFyZWQpOgorICAg
ICAgICAoV2ViS2l0OjpXZWJQYWdlUHJveHk6OmRlY2lkZVBvbGljeUZvck5ld1dpbmRvd0FjdGlv
bik6CisgICAgICAgIChXZWJLaXQ6OldlYlBhZ2VQcm94eTo6ZGVjaWRlUG9saWN5Rm9yUmVzcG9u
c2VTaGFyZWQpOgorICAgICAgICAqIFVJUHJvY2Vzcy9XZWJQYWdlUHJveHkuaDoKKyAgICAgICAg
KiBVSVByb2Nlc3MvV2ViUGFnZVByb3h5Lm1lc3NhZ2VzLmluOgorICAgICAgICAqIFdlYktpdC54
Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qOgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViQ29yZVN1
cHBvcnQvV2ViRnJhbWVMb2FkZXJDbGllbnQuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJGcmFt
ZUxvYWRlckNsaWVudDo6ZGlzcGF0Y2hEZWNpZGVQb2xpY3lGb3JSZXNwb25zZSk6CisgICAgICAg
IChXZWJLaXQ6OldlYkZyYW1lTG9hZGVyQ2xpZW50OjpkaXNwYXRjaERlY2lkZVBvbGljeUZvck5h
dmlnYXRpb25BY3Rpb24pOgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUGFnZS9XZWJGcmFtZS5j
cHA6CisgICAgICAgIChXZWJLaXQ6OldlYkZyYW1lOjpkaWRSZWNlaXZlUG9saWN5RGVjaXNpb24p
OgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUGFnZS9XZWJGcmFtZS5oOgorICAgICAgICAqIFdl
YlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViUGFnZTo6
ZGlkUmVjZWl2ZVBvbGljeURlY2lzaW9uKToKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlBhZ2Uv
V2ViUGFnZS5oOgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLm1lc3NhZ2Vz
LmluOgorCiAyMDIwLTAyLTE5ICBDYXRoaWUgQ2hlbiAgPGNhdGhpZWNoZW5AaWdhbGlhLmNvbT4K
IAogICAgICAgICBFbmFibGUgQXNwZWN0UmF0aW9PZkltZ0Zyb21XaWR0aEFuZEhlaWdodEVuYWJs
ZWQgYnkgZGVmYXVsdApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9TaGFyZWQvUG9saWN5RGVj
aXNpb24uaCBiL1NvdXJjZS9XZWJLaXQvU2hhcmVkL1BvbGljeURlY2lzaW9uLmgKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uNzE1YzUyMTIyZjAxOWEyOTY0OWIxYTFlNThhYWEwOWNmOTc4NWQyZQotLS0gL2Rldi9udWxs
CisrKyBiL1NvdXJjZS9XZWJLaXQvU2hhcmVkL1BvbGljeURlY2lzaW9uLmgKQEAgLTAsMCArMSw4
NCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAyMCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVz
ZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFy
eSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQg
cHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAx
LiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNv
cHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZv
bGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3Jt
IG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBs
aXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAq
ICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRo
ZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBM
RSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNT
IE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisg
KiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBG
T1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBT
SEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5Z
IERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAq
IENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBS
T0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVT
RSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZF
UiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBD
T05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0Ug
T1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRI
SVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNV
Q0ggREFNQUdFLgorICovCisKKyNwcmFnbWEgb25jZQorCisjaW5jbHVkZSAiRG93bmxvYWRJRC5o
IgorI2luY2x1ZGUgIldlYnNpdGVQb2xpY2llc0RhdGEuaCIKKyNpbmNsdWRlIDx3dGYvRm9yd2Fy
ZC5oPgorCituYW1lc3BhY2UgV2ViS2l0IHsKKworc3RydWN0IFBvbGljeURlY2lzaW9uIHsKKyAg
ICBXZWJDb3JlOjpQb2xpY3lDaGVja0lkZW50aWZpZXIgaWRlbnRpZmllciB7IH07CisgICAgV2Vi
Q29yZTo6UG9saWN5QWN0aW9uIHBvbGljeUFjdGlvbiB7IFdlYkNvcmU6OlBvbGljeUFjdGlvbjo6
SWdub3JlIH07CisgICAgdWludDY0X3QgbmF2aWdhdGlvbklEIHsgMCB9OworICAgIERvd25sb2Fk
SUQgZG93bmxvYWRJRCB7IDAgfTsKKyAgICBPcHRpb25hbDxXZWJzaXRlUG9saWNpZXNEYXRhPiB3
ZWJzaXRlUG9saWNpZXNEYXRhIHsgV1RGOjpudWxsb3B0IH07CisKKyAgICB0ZW1wbGF0ZTxjbGFz
cyBFbmNvZGVyPgorICAgIHZvaWQgZW5jb2RlKEVuY29kZXImIGVuY29kZXIpIGNvbnN0CisgICAg
eworICAgICAgICBlbmNvZGVyIDw8IGlkZW50aWZpZXI7CisgICAgICAgIGVuY29kZXIgPDwgcG9s
aWN5QWN0aW9uOworICAgICAgICBlbmNvZGVyIDw8IG5hdmlnYXRpb25JRDsKKyAgICAgICAgZW5j
b2RlciA8PCBkb3dubG9hZElEOworICAgICAgICBlbmNvZGVyIDw8IHdlYnNpdGVQb2xpY2llc0Rh
dGE7CisgICAgfQorCisgICAgdGVtcGxhdGU8Y2xhc3MgRGVjb2Rlcj4KKyAgICBzdGF0aWMgT3B0
aW9uYWw8UG9saWN5RGVjaXNpb24+IGRlY29kZShEZWNvZGVyJiBkZWNvZGVyKQorICAgIHsKKyAg
ICAgICAgT3B0aW9uYWw8V2ViQ29yZTo6UG9saWN5Q2hlY2tJZGVudGlmaWVyPiBkZWNvZGVkSWRl
bnRpZmllcjsKKyAgICAgICAgZGVjb2RlciA+PiBkZWNvZGVkSWRlbnRpZmllcjsKKyAgICAgICAg
aWYgKCFkZWNvZGVkSWRlbnRpZmllcikKKyAgICAgICAgICAgIHJldHVybiBXVEY6Om51bGxvcHQ7
CisKKyAgICAgICAgT3B0aW9uYWw8V2ViQ29yZTo6UG9saWN5QWN0aW9uPiBkZWNvZGVkUG9saWN5
QWN0aW9uOworICAgICAgICBkZWNvZGVyID4+IGRlY29kZWRQb2xpY3lBY3Rpb247CisgICAgICAg
IGlmICghZGVjb2RlZFBvbGljeUFjdGlvbikKKyAgICAgICAgICAgIHJldHVybiBXVEY6Om51bGxv
cHQ7CisKKyAgICAgICAgT3B0aW9uYWw8dWludDY0X3Q+IGRlY29kZWROYXZpZ2F0aW9uSUQ7Cisg
ICAgICAgIGRlY29kZXIgPj4gZGVjb2RlZE5hdmlnYXRpb25JRDsKKyAgICAgICAgaWYgKCFkZWNv
ZGVkTmF2aWdhdGlvbklEKQorICAgICAgICAgICAgcmV0dXJuIFdURjo6bnVsbG9wdDsKKworICAg
ICAgICBPcHRpb25hbDxEb3dubG9hZElEPiBkZWNvZGVkRG93bmxvYWRJRDsKKyAgICAgICAgZGVj
b2RlciA+PiBkZWNvZGVkRG93bmxvYWRJRDsKKyAgICAgICAgaWYgKCFkZWNvZGVkRG93bmxvYWRJ
RCkKKyAgICAgICAgICAgIHJldHVybiBXVEY6Om51bGxvcHQ7CisKKyAgICAgICAgT3B0aW9uYWw8
T3B0aW9uYWw8V2Vic2l0ZVBvbGljaWVzRGF0YT4+IGRlY29kZWRXZWJzaXRlUG9saWNpZXNEYXRh
OworICAgICAgICBkZWNvZGVyID4+IGRlY29kZWRXZWJzaXRlUG9saWNpZXNEYXRhOworICAgICAg
ICBpZiAoIWRlY29kZWRXZWJzaXRlUG9saWNpZXNEYXRhKQorICAgICAgICAgICAgcmV0dXJuIFdU
Rjo6bnVsbG9wdDsKKworICAgICAgICByZXR1cm4ge3sgV1RGTW92ZSgqZGVjb2RlZElkZW50aWZp
ZXIpLCBXVEZNb3ZlKCpkZWNvZGVkUG9saWN5QWN0aW9uKSwgV1RGTW92ZSgqZGVjb2RlZE5hdmln
YXRpb25JRCksIFdURk1vdmUoKmRlY29kZWREb3dubG9hZElEKSwgV1RGTW92ZSgqZGVjb2RlZFdl
YnNpdGVQb2xpY2llc0RhdGEpIH19OworCisgICAgfQorfTsKKworfSAvLyBuYW1lc3BhY2UgV2Vi
S2l0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Qcm92aXNpb25hbFBhZ2VQ
cm94eS5jcHAgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Qcm92aXNpb25hbFBhZ2VQcm94eS5j
cHAKaW5kZXggM2RhYWNkMDFlYmU5NjVjMTUwMzEwNDEzNjUwNTEwMmYwY2M4NGFmNS4uZWIwYTk5
MTdmMDgxNTA1MTI1YWU0NDg0MWUyYzNlZTk2MmI3M2I5NCAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdC9VSVByb2Nlc3MvUHJvdmlzaW9uYWxQYWdlUHJveHkuY3BwCisrKyBiL1NvdXJjZS9XZWJL
aXQvVUlQcm9jZXNzL1Byb3Zpc2lvbmFsUGFnZVByb3h5LmNwcApAQCAtMzQ1LDcgKzM0NSw3IEBA
IHZvaWQgUHJvdmlzaW9uYWxQYWdlUHJveHk6OmRlY2lkZVBvbGljeUZvck5hdmlnYXRpb25BY3Rp
b25TeW5jKEZyYW1lSWRlbnRpZmllciBmCiAgICAgY29uc3QgVXNlckRhdGEmIHVzZXJEYXRhLCBN
ZXNzYWdlczo6V2ViUGFnZVByb3h5OjpEZWNpZGVQb2xpY3lGb3JOYXZpZ2F0aW9uQWN0aW9uU3lu
Yzo6RGVsYXllZFJlcGx5JiYgcmVwbHkpCiB7CiAgICAgaWYgKCFpc01haW5GcmFtZSB8fCAobV9t
YWluRnJhbWUgJiYgbV9tYWluRnJhbWUtPmZyYW1lSUQoKSAhPSBmcmFtZUlEKSB8fCBuYXZpZ2F0
aW9uSUQgIT0gbV9uYXZpZ2F0aW9uSUQpIHsKLSAgICAgICAgcmVwbHkoaWRlbnRpZmllciwgV2Vi
Q29yZTo6UG9saWN5QWN0aW9uOjpJZ25vcmUsIG5hdmlnYXRpb25JRCwgRG93bmxvYWRJRCgpLCBX
VEY6Om51bGxvcHQpOworICAgICAgICByZXBseShQb2xpY3lEZWNpc2lvbiB7IGlkZW50aWZpZXIs
IFdlYkNvcmU6OlBvbGljeUFjdGlvbjo6SWdub3JlLCBuYXZpZ2F0aW9uSUQsIERvd25sb2FkSUQo
KSwgV1RGOjpudWxsb3B0IH0pOwogICAgICAgICByZXR1cm47CiAgICAgfQogCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuY3BwIGIvU291cmNlL1dlYktp
dC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmNwcAppbmRleCBhOTE5ZDNlMDU5Y2JjOGY0Nzk2ZTIz
ODM0NjRlMDhhYjRkMWNkNjUzLi5kYzE5NThmMGExMjkzZmZhMzY0NGZiOTkwMThjMTg3ZTZlMDc5
OTRlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuY3Bw
CisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5jcHAKQEAgLTMwNDUs
MTggKzMwNDUsMjEgQEAgdm9pZCBXZWJQYWdlUHJveHk6OmNlbnRlclNlbGVjdGlvbkluVmlzaWJs
ZUFyZWEoKQogCiBjbGFzcyBXZWJQYWdlUHJveHk6OlBvbGljeURlY2lzaW9uU2VuZGVyIDogcHVi
bGljIFJlZkNvdW50ZWQ8UG9saWN5RGVjaXNpb25TZW5kZXI+IHsKIHB1YmxpYzoKLSAgICB1c2lu
ZyBTZW5kRnVuY3Rpb24gPSBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKFBvbGljeUNoZWNrSWRlbnRp
ZmllciwgUG9saWN5QWN0aW9uLCB1aW50NjRfdCBuZXdOYXZpZ2F0aW9uSUQsIERvd25sb2FkSUQs
IE9wdGlvbmFsPFdlYnNpdGVQb2xpY2llc0RhdGE+KT47CisgICAgdXNpbmcgU2VuZEZ1bmN0aW9u
ID0gQ29tcGxldGlvbkhhbmRsZXI8dm9pZChQb2xpY3lEZWNpc2lvbiYmKT47CiAKICAgICBzdGF0
aWMgUmVmPFBvbGljeURlY2lzaW9uU2VuZGVyPiBjcmVhdGUoUG9saWN5Q2hlY2tJZGVudGlmaWVy
IGlkZW50aWZpZXIsIFNlbmRGdW5jdGlvbiYmIHNlbmRGdW5jdGlvbikKICAgICB7CiAgICAgICAg
IHJldHVybiBhZG9wdFJlZigqbmV3IFBvbGljeURlY2lzaW9uU2VuZGVyKGlkZW50aWZpZXIsIFdU
Rk1vdmUoc2VuZEZ1bmN0aW9uKSkpOwogICAgIH0KIAotICAgIHRlbXBsYXRlPHR5cGVuYW1lLi4u
IEFyZ3M+IHZvaWQgc2VuZChBcmdzLi4uIGFyZ3MpCisgICAgdm9pZCBzZW5kKFBvbGljeURlY2lz
aW9uJiYgUG9saWN5RGVjaXNpb24pCiAgICAgewogICAgICAgICBpZiAobV9zZW5kRnVuY3Rpb24p
Ci0gICAgICAgICAgICBtX3NlbmRGdW5jdGlvbihtX2lkZW50aWZpZXIsIHN0ZDo6Zm9yd2FyZDxB
cmdzPihhcmdzKS4uLik7CisgICAgICAgICAgICBtX3NlbmRGdW5jdGlvbihXVEZNb3ZlKFBvbGlj
eURlY2lzaW9uKSk7CiAgICAgfQorCisgICAgUG9saWN5Q2hlY2tJZGVudGlmaWVyIGlkZW50aWZp
ZXIoKSB7IHJldHVybiBtX2lkZW50aWZpZXI7IH0KKyAgICAKIHByaXZhdGU6CiAgICAgUG9saWN5
RGVjaXNpb25TZW5kZXIoUG9saWN5Q2hlY2tJZGVudGlmaWVyIGlkZW50aWZpZXIsIFNlbmRGdW5j
dGlvbiBzZW5kRnVuY3Rpb24pCiAgICAgICAgIDogbV9zZW5kRnVuY3Rpb24oV1RGTW92ZShzZW5k
RnVuY3Rpb24pKQpAQCAtMzE1NCw3ICszMTU3LDcgQEAgdm9pZCBXZWJQYWdlUHJveHk6OnJlY2Vp
dmVkTmF2aWdhdGlvblBvbGljeURlY2lzaW9uKFBvbGljeUFjdGlvbiBwb2xpY3lBY3Rpb24sIEEK
IHZvaWQgV2ViUGFnZVByb3h5OjpyZWNlaXZlZFBvbGljeURlY2lzaW9uKFBvbGljeUFjdGlvbiBh
Y3Rpb24sIEFQSTo6TmF2aWdhdGlvbiogbmF2aWdhdGlvbiwgT3B0aW9uYWw8V2Vic2l0ZVBvbGlj
aWVzRGF0YT4mJiB3ZWJzaXRlUG9saWNpZXMsIFJlZjxQb2xpY3lEZWNpc2lvblNlbmRlcj4mJiBz
ZW5kZXIsIFdpbGxDb250aW51ZUxvYWRJbk5ld1Byb2Nlc3Mgd2lsbENvbnRpbnVlTG9hZEluTmV3
UHJvY2VzcykKIHsKICAgICBpZiAoIWhhc1J1bm5pbmdQcm9jZXNzKCkpIHsKLSAgICAgICAgc2Vu
ZGVyLT5zZW5kKFBvbGljeUFjdGlvbjo6SWdub3JlLCAwLCBEb3dubG9hZElEKCksIFdURjo6bnVs
bG9wdCk7CisgICAgICAgIHNlbmRlci0+c2VuZChQb2xpY3lEZWNpc2lvbiB7IHNlbmRlci0+aWRl
bnRpZmllcigpLCBQb2xpY3lBY3Rpb246Oklnbm9yZSwgMCwgRG93bmxvYWRJRCgpLCBXVEY6Om51
bGxvcHQgfSk7CiAgICAgICAgIHJldHVybjsKICAgICB9CiAKQEAgLTMxNzcsNyArMzE4MCw3IEBA
IHZvaWQgV2ViUGFnZVByb3h5OjpyZWNlaXZlZFBvbGljeURlY2lzaW9uKFBvbGljeUFjdGlvbiBh
Y3Rpb24sIEFQSTo6TmF2aWdhdGlvbioKICAgICAgICAgbV9kZWNpZGVQb2xpY3lGb3JSZXNwb25z
ZVJlcXVlc3QgPSB7IH07CiAgICAgfQogCi0gICAgc2VuZGVyLT5zZW5kKGFjdGlvbiwgbmF2aWdh
dGlvbiA/IG5hdmlnYXRpb24tPm5hdmlnYXRpb25JRCgpIDogMCwgZG93bmxvYWRJRCwgV1RGTW92
ZSh3ZWJzaXRlUG9saWNpZXMpKTsKKyAgICBzZW5kZXItPnNlbmQoUG9saWN5RGVjaXNpb24geyBz
ZW5kZXItPmlkZW50aWZpZXIoKSwgYWN0aW9uLCBuYXZpZ2F0aW9uID8gbmF2aWdhdGlvbi0+bmF2
aWdhdGlvbklEKCkgOiAwLCBkb3dubG9hZElELCBXVEZNb3ZlKHdlYnNpdGVQb2xpY2llcykgfSk7
CiB9CiAKIHZvaWQgV2ViUGFnZVByb3h5Ojpjb21taXRQcm92aXNpb25hbFBhZ2UoRnJhbWVJZGVu
dGlmaWVyIGZyYW1lSUQsIHVpbnQ2NF90IG5hdmlnYXRpb25JRCwgY29uc3QgU3RyaW5nJiBtaW1l
VHlwZSwgYm9vbCBmcmFtZUhhc0N1c3RvbUNvbnRlbnRQcm92aWRlciwgdWludDMyX3QgZnJhbWVM
b2FkVHlwZSwgY29uc3QgV2ViQ29yZTo6Q2VydGlmaWNhdGVJbmZvJiBjZXJ0aWZpY2F0ZUluZm8s
IGJvb2wgdXNlZExlZ2FjeVRMUywgYm9vbCBjb250YWluc1BsdWdpbkRvY3VtZW50LCBPcHRpb25h
bDxXZWJDb3JlOjpIYXNJbnNlY3VyZUNvbnRlbnQ+IGZvcmNlZEhhc0luc2VjdXJlQ29udGVudCwg
Y29uc3QgVXNlckRhdGEmIHVzZXJEYXRhKQpAQCAtNDkzNSw4ICs0OTM4LDggQEAgdm9pZCBXZWJQ
YWdlUHJveHk6OmRlY2lkZVBvbGljeUZvck5hdmlnYXRpb25BY3Rpb25Bc3luY1NoYXJlZChSZWY8
V2ViUHJvY2Vzc1Byb3gKICAgICBhdXRvKiBmcmFtZSA9IHByb2Nlc3MtPndlYkZyYW1lKGZyYW1l
SUQpOwogICAgIE1FU1NBR0VfQ0hFQ0socHJvY2VzcywgZnJhbWUpOwogCi0gICAgYXV0byBzZW5k
ZXIgPSBQb2xpY3lEZWNpc2lvblNlbmRlcjo6Y3JlYXRlKGlkZW50aWZpZXIsIFt3ZWJQYWdlSUQs
IGZyYW1lSUQsIGxpc3RlbmVySUQsIHByb2Nlc3MgPSBwcm9jZXNzLmNvcHlSZWYoKV0gKGF1dG8u
Li4gYXJncykgewotICAgICAgICBwcm9jZXNzLT5zZW5kKE1lc3NhZ2VzOjpXZWJQYWdlOjpEaWRS
ZWNlaXZlUG9saWN5RGVjaXNpb24oZnJhbWVJRCwgbGlzdGVuZXJJRCwgYXJncy4uLiksIHdlYlBh
Z2VJRCk7CisgICAgYXV0byBzZW5kZXIgPSBQb2xpY3lEZWNpc2lvblNlbmRlcjo6Y3JlYXRlKGlk
ZW50aWZpZXIsIFt3ZWJQYWdlSUQsIGZyYW1lSUQsIGxpc3RlbmVySUQsIHByb2Nlc3MgPSBwcm9j
ZXNzLmNvcHlSZWYoKV0gKGNvbnN0IGF1dG8mIFBvbGljeURlY2lzaW9uKSB7CisgICAgICAgIHBy
b2Nlc3MtPnNlbmQoTWVzc2FnZXM6OldlYlBhZ2U6OkRpZFJlY2VpdmVQb2xpY3lEZWNpc2lvbihm
cmFtZUlELCBsaXN0ZW5lcklELCBQb2xpY3lEZWNpc2lvbiksIHdlYlBhZ2VJRCk7CiAgICAgfSk7
CiAKICAgICBkZWNpZGVQb2xpY3lGb3JOYXZpZ2F0aW9uQWN0aW9uKHByb2Nlc3MuY29weVJlZigp
LCAqZnJhbWUsIFdURk1vdmUoZnJhbWVTZWN1cml0eU9yaWdpbiksIG5hdmlnYXRpb25JRCwgV1RG
TW92ZShuYXZpZ2F0aW9uQWN0aW9uRGF0YSksIFdURk1vdmUoZnJhbWVJbmZvRGF0YSksIG9yaWdp
bmF0aW5nUGFnZUlELApAQCAtNDk2Miw3ICs0OTY1LDcgQEAgdm9pZCBXZWJQYWdlUHJveHk6OmRl
Y2lkZVBvbGljeUZvck5hdmlnYXRpb25BY3Rpb24oUmVmPFdlYlByb2Nlc3NQcm94eT4mJiBwcm9j
ZXMKIAogICAgIGlmICghY2hlY2tVUkxSZWNlaXZlZEZyb21DdXJyZW50T3JQcmV2aW91c1dlYlBy
b2Nlc3MocHJvY2VzcywgcmVxdWVzdC51cmwoKSkpIHsKICAgICAgICAgUkVMRUFTRV9MT0dfRVJS
T1JfSUZfQUxMT1dFRChQcm9jZXNzLCAiSWdub3JpbmcgcmVxdWVzdCB0byBsb2FkIHRoaXMgbWFp
biByZXNvdXJjZSBiZWNhdXNlIGl0IGlzIG91dHNpZGUgdGhlIHNhbmRib3giKTsKLSAgICAgICAg
c2VuZGVyLT5zZW5kKFBvbGljeUFjdGlvbjo6SWdub3JlLCAwLCBEb3dubG9hZElEKCksIFdURjo6
bnVsbG9wdCk7CisgICAgICAgIHNlbmRlci0+c2VuZChQb2xpY3lEZWNpc2lvbiB7IHNlbmRlci0+
aWRlbnRpZmllcigpLCBQb2xpY3lBY3Rpb246Oklnbm9yZSwgMCwgRG93bmxvYWRJRCgpLCBXVEY6
Om51bGxvcHQgfSk7CiAgICAgICAgIHJldHVybjsKICAgICB9CiAKQEAgLTUxODksNyArNTE5Miw3
IEBAIHZvaWQgV2ViUGFnZVByb3h5OjpkZWNpZGVQb2xpY3lGb3JOYXZpZ2F0aW9uQWN0aW9uU3lu
Y1NoYXJlZChSZWY8V2ViUHJvY2Vzc1Byb3h5CiAgICAgICAgIG9yaWdpbmF0aW5nUGFnZUlELCBv
cmlnaW5hbFJlcXVlc3QsIFdURk1vdmUocmVxdWVzdCksIFdURk1vdmUocmVxdWVzdEJvZHkpLCBX
VEZNb3ZlKHJlZGlyZWN0UmVzcG9uc2UpLCB1c2VyRGF0YSwgc2VuZGVyLmNvcHlSZWYoKSk7CiAK
ICAgICAvLyBJZiB0aGUgY2xpZW50IGRpZCBub3QgcmVzcG9uZCBzeW5jaHJvbm91c2x5LCBwcm9j
ZWVkIHdpdGggdGhlIGxvYWQuCi0gICAgc2VuZGVyLT5zZW5kKFBvbGljeUFjdGlvbjo6VXNlLCBu
YXZpZ2F0aW9uSUQsIERvd25sb2FkSUQoKSwgV1RGOjpudWxsb3B0KTsKKyAgICBzZW5kZXItPnNl
bmQoUG9saWN5RGVjaXNpb24geyBzZW5kZXItPmlkZW50aWZpZXIoKSwgUG9saWN5QWN0aW9uOjpV
c2UsIG5hdmlnYXRpb25JRCwgRG93bmxvYWRJRCgpLCBXVEY6Om51bGxvcHQgfSk7CiB9CiAKIHZv
aWQgV2ViUGFnZVByb3h5OjpkZWNpZGVQb2xpY3lGb3JOZXdXaW5kb3dBY3Rpb24oRnJhbWVJZGVu
dGlmaWVyIGZyYW1lSUQsIFNlY3VyaXR5T3JpZ2luRGF0YSYmIGZyYW1lU2VjdXJpdHlPcmlnaW4s
IFBvbGljeUNoZWNrSWRlbnRpZmllciBpZGVudGlmaWVyLApAQCAtNTIwNiw4ICs1MjA5LDggQEAg
dm9pZCBXZWJQYWdlUHJveHk6OmRlY2lkZVBvbGljeUZvck5ld1dpbmRvd0FjdGlvbihGcmFtZUlk
ZW50aWZpZXIgZnJhbWVJRCwgU2VjdXIKICAgICAgICAgUkVMRUFTRV9BU1NFUlQocHJvY2Vzc1N3
YXBSZXF1ZXN0ZWRCeUNsaWVudCA9PSBQcm9jZXNzU3dhcFJlcXVlc3RlZEJ5Q2xpZW50OjpObyk7
CiAgICAgICAgIEFTU0VSVF9VTlVTRUQoc2FmZUJyb3dzaW5nV2FybmluZywgIXNhZmVCcm93c2lu
Z1dhcm5pbmcpOwogCi0gICAgICAgIGF1dG8gc2VuZGVyID0gUG9saWN5RGVjaXNpb25TZW5kZXI6
OmNyZWF0ZShpZGVudGlmaWVyLCBbdGhpcywgcHJvdGVjdGVkVGhpcyA9IFdURk1vdmUocHJvdGVj
dGVkVGhpcyksIGZyYW1lSUQsIGxpc3RlbmVySURdIChhdXRvLi4uIGFyZ3MpIHsKLSAgICAgICAg
ICAgIHNlbmQoTWVzc2FnZXM6OldlYlBhZ2U6OkRpZFJlY2VpdmVQb2xpY3lEZWNpc2lvbihmcmFt
ZUlELCBsaXN0ZW5lcklELCBhcmdzLi4uKSk7CisgICAgICAgIGF1dG8gc2VuZGVyID0gUG9saWN5
RGVjaXNpb25TZW5kZXI6OmNyZWF0ZShpZGVudGlmaWVyLCBbdGhpcywgcHJvdGVjdGVkVGhpcyA9
IFdURk1vdmUocHJvdGVjdGVkVGhpcyksIGZyYW1lSUQsIGxpc3RlbmVySURdIChjb25zdCBhdXRv
JiBQb2xpY3lEZWNpc2lvbikgeworICAgICAgICAgICAgc2VuZChNZXNzYWdlczo6V2ViUGFnZTo6
RGlkUmVjZWl2ZVBvbGljeURlY2lzaW9uKGZyYW1lSUQsIGxpc3RlbmVySUQsIFBvbGljeURlY2lz
aW9uKSk7CiAgICAgICAgIH0pOwogCiAgICAgICAgIHJlY2VpdmVkUG9saWN5RGVjaXNpb24ocG9s
aWN5QWN0aW9uLCBudWxscHRyLCBXVEY6Om51bGxvcHQsIFdURk1vdmUoc2VuZGVyKSk7CkBAIC01
MjU1LDggKzUyNTgsOCBAQCB2b2lkIFdlYlBhZ2VQcm94eTo6ZGVjaWRlUG9saWN5Rm9yUmVzcG9u
c2VTaGFyZWQoUmVmPFdlYlByb2Nlc3NQcm94eT4mJiBwcm9jZXNzLAogICAgICAgICBSRUxFQVNF
X0FTU0VSVChwcm9jZXNzU3dhcFJlcXVlc3RlZEJ5Q2xpZW50ID09IFByb2Nlc3NTd2FwUmVxdWVz
dGVkQnlDbGllbnQ6Ok5vKTsKICAgICAgICAgQVNTRVJUX1VOVVNFRChzYWZlQnJvd3NpbmdXYXJu
aW5nLCAhc2FmZUJyb3dzaW5nV2FybmluZyk7CiAKLSAgICAgICAgYXV0byBzZW5kZXIgPSBQb2xp
Y3lEZWNpc2lvblNlbmRlcjo6Y3JlYXRlKGlkZW50aWZpZXIsIFt3ZWJQYWdlSUQsIGZyYW1lSUQs
IGxpc3RlbmVySUQsIHByb2Nlc3MgPSBXVEZNb3ZlKHByb2Nlc3MpXSAoYXV0by4uLiBhcmdzKSB7
Ci0gICAgICAgICAgICBwcm9jZXNzLT5zZW5kKE1lc3NhZ2VzOjpXZWJQYWdlOjpEaWRSZWNlaXZl
UG9saWN5RGVjaXNpb24oZnJhbWVJRCwgbGlzdGVuZXJJRCwgYXJncy4uLiksIHdlYlBhZ2VJRCk7
CisgICAgICAgIGF1dG8gc2VuZGVyID0gUG9saWN5RGVjaXNpb25TZW5kZXI6OmNyZWF0ZShpZGVu
dGlmaWVyLCBbd2ViUGFnZUlELCBmcmFtZUlELCBsaXN0ZW5lcklELCBwcm9jZXNzID0gV1RGTW92
ZShwcm9jZXNzKV0gKGNvbnN0IGF1dG8mIFBvbGljeURlY2lzaW9uKSB7CisgICAgICAgICAgICBw
cm9jZXNzLT5zZW5kKE1lc3NhZ2VzOjpXZWJQYWdlOjpEaWRSZWNlaXZlUG9saWN5RGVjaXNpb24o
ZnJhbWVJRCwgbGlzdGVuZXJJRCwgUG9saWN5RGVjaXNpb24pLCB3ZWJQYWdlSUQpOwogICAgICAg
ICB9KTsKICAgICAgICAgCiAgICAgICAgIHJlY2VpdmVkUG9saWN5RGVjaXNpb24ocG9saWN5QWN0
aW9uLCBuYXZpZ2F0aW9uLmdldCgpLCBXVEY6Om51bGxvcHQsIFdURk1vdmUoc2VuZGVyKSk7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuaCBiL1NvdXJj
ZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5oCmluZGV4IDhjNjI1NTI0MDRhMmU2ZmE2
ZThhMWM0MDUyMzY3MDcxNTYzODViZDEuLjc2YTE2MDg0NTYxNWI5NGE2MjRjZWY3ZGE4YmE1ZGU0
NGZlYTkyMjIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94
eS5oCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5oCkBAIC00MCw2
ICs0MCw3IEBACiAjaW5jbHVkZSAiTWVzc2FnZVNlbmRlci5oIgogI2luY2x1ZGUgIk5vdGlmaWNh
dGlvblBlcm1pc3Npb25SZXF1ZXN0TWFuYWdlclByb3h5LmgiCiAjaW5jbHVkZSAiUGFnZUxvYWRT
dGF0ZS5oIgorI2luY2x1ZGUgIlBvbGljeURlY2lzaW9uLmgiCiAjaW5jbHVkZSAiUHJvY2Vzc1Rl
cm1pbmF0aW9uUmVhc29uLmgiCiAjaW5jbHVkZSAiUHJvY2Vzc1Rocm90dGxlci5oIgogI2luY2x1
ZGUgIlNhbmRib3hFeHRlbnNpb24uaCIKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9j
ZXNzL1dlYlBhZ2VQcm94eS5tZXNzYWdlcy5pbiBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dl
YlBhZ2VQcm94eS5tZXNzYWdlcy5pbgppbmRleCA3NTIwOTNiODY0OWYzNzI1MTY2ODI4YTE5YjM4
ZmFjOTM0ZTNiNjkwLi5jNmM4MzY3NGRjNTZiM2ZiOWRjZDljZjlkZjk0NmZkNWQwNzRiYjM3IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkubWVzc2FnZXMu
aW4KKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5Lm1lc3NhZ2VzLmlu
CkBAIC0xMDIsNyArMTAyLDcgQEAgbWVzc2FnZXMgLT4gV2ViUGFnZVByb3h5IHsKICAgICAjIFBv
bGljeSBtZXNzYWdlcwogICAgIERlY2lkZVBvbGljeUZvclJlc3BvbnNlKFdlYkNvcmU6OkZyYW1l
SWRlbnRpZmllciBmcmFtZUlELCBzdHJ1Y3QgV2ViQ29yZTo6U2VjdXJpdHlPcmlnaW5EYXRhIGZy
YW1lU2VjdXJpdHlPcmlnaW4sIFdlYkNvcmU6OlBvbGljeUNoZWNrSWRlbnRpZmllciBwb2xpY3lD
aGVja0lkZW50aWZpZXIsIHVpbnQ2NF90IG5hdmlnYXRpb25JRCwgV2ViQ29yZTo6UmVzb3VyY2VS
ZXNwb25zZSByZXNwb25zZSwgV2ViQ29yZTo6UmVzb3VyY2VSZXF1ZXN0IHJlcXVlc3QsIGJvb2wg
Y2FuU2hvd01JTUVUeXBlLCBTdHJpbmcgZG93bmxvYWRBdHRyaWJ1dGUsIHVpbnQ2NF90IGxpc3Rl
bmVySUQsIFdlYktpdDo6VXNlckRhdGEgdXNlckRhdGEpCiAgICAgRGVjaWRlUG9saWN5Rm9yTmF2
aWdhdGlvbkFjdGlvbkFzeW5jKFdlYkNvcmU6OkZyYW1lSWRlbnRpZmllciBmcmFtZUlELCBzdHJ1
Y3QgV2ViQ29yZTo6U2VjdXJpdHlPcmlnaW5EYXRhIGZyYW1lU2VjdXJpdHlPcmlnaW4sIFdlYkNv
cmU6OlBvbGljeUNoZWNrSWRlbnRpZmllciBwb2xpY3lDaGVja0lkZW50aWZpZXIsIHVpbnQ2NF90
IG5hdmlnYXRpb25JRCwgc3RydWN0IFdlYktpdDo6TmF2aWdhdGlvbkFjdGlvbkRhdGEgbmF2aWdh
dGlvbkFjdGlvbkRhdGEsIHN0cnVjdCBXZWJLaXQ6OkZyYW1lSW5mb0RhdGEgb3JpZ2luYXRpbmdG
cmFtZUluZm9EYXRhLCBPcHRpb25hbDxXZWJLaXQ6OldlYlBhZ2VQcm94eUlkZW50aWZpZXI+IG9y
aWdpbmF0aW5nUGFnZUlELCBXZWJDb3JlOjpSZXNvdXJjZVJlcXVlc3Qgb3JpZ2luYWxSZXF1ZXN0
LCBXZWJDb3JlOjpSZXNvdXJjZVJlcXVlc3QgcmVxdWVzdCwgSVBDOjpGb3JtRGF0YVJlZmVyZW5j
ZSByZXF1ZXN0Qm9keSwgV2ViQ29yZTo6UmVzb3VyY2VSZXNwb25zZSByZWRpcmVjdFJlc3BvbnNl
LCBXZWJLaXQ6OlVzZXJEYXRhIHVzZXJEYXRhLCB1aW50NjRfdCBsaXN0ZW5lcklEKQotICAgIERl
Y2lkZVBvbGljeUZvck5hdmlnYXRpb25BY3Rpb25TeW5jKFdlYkNvcmU6OkZyYW1lSWRlbnRpZmll
ciBmcmFtZUlELCBib29sIGlzTWFpbkZyYW1lLCBzdHJ1Y3QgV2ViQ29yZTo6U2VjdXJpdHlPcmln
aW5EYXRhIGZyYW1lU2VjdXJpdHlPcmlnaW4sIFdlYkNvcmU6OlBvbGljeUNoZWNrSWRlbnRpZmll
ciBwb2xpY3lDaGVja0lkZW50aWZpZXIsIHVpbnQ2NF90IG5hdmlnYXRpb25JRCwgc3RydWN0IFdl
YktpdDo6TmF2aWdhdGlvbkFjdGlvbkRhdGEgbmF2aWdhdGlvbkFjdGlvbkRhdGEsIHN0cnVjdCBX
ZWJLaXQ6OkZyYW1lSW5mb0RhdGEgb3JpZ2luYXRpbmdGcmFtZUluZm9EYXRhLCBPcHRpb25hbDxX
ZWJLaXQ6OldlYlBhZ2VQcm94eUlkZW50aWZpZXI+IG9yaWdpbmF0aW5nUGFnZUlELCBXZWJDb3Jl
OjpSZXNvdXJjZVJlcXVlc3Qgb3JpZ2luYWxSZXF1ZXN0LCBXZWJDb3JlOjpSZXNvdXJjZVJlcXVl
c3QgcmVxdWVzdCwgSVBDOjpGb3JtRGF0YVJlZmVyZW5jZSByZXF1ZXN0Qm9keSwgV2ViQ29yZTo6
UmVzb3VyY2VSZXNwb25zZSByZWRpcmVjdFJlc3BvbnNlLCBXZWJLaXQ6OlVzZXJEYXRhIHVzZXJE
YXRhKSAtPiAoV2ViQ29yZTo6UG9saWN5Q2hlY2tJZGVudGlmaWVyIHBvbGljeUNoZWNrSWRlbnRp
ZmllciwgZW51bTp1aW50OF90IFdlYkNvcmU6OlBvbGljeUFjdGlvbiBwb2xpY3lBY3Rpb24sIHVp
bnQ2NF90IG5ld05hdmlnYXRpb25JRCwgV2ViS2l0OjpEb3dubG9hZElEIGRvd25sb2FkSUQsIE9w
dGlvbmFsPFdlYktpdDo6V2Vic2l0ZVBvbGljaWVzRGF0YT4gd2Vic2l0ZVBvbGljaWVzKSBTeW5j
aHJvbm91cworICAgIERlY2lkZVBvbGljeUZvck5hdmlnYXRpb25BY3Rpb25TeW5jKFdlYkNvcmU6
OkZyYW1lSWRlbnRpZmllciBmcmFtZUlELCBib29sIGlzTWFpbkZyYW1lLCBzdHJ1Y3QgV2ViQ29y
ZTo6U2VjdXJpdHlPcmlnaW5EYXRhIGZyYW1lU2VjdXJpdHlPcmlnaW4sIFdlYkNvcmU6OlBvbGlj
eUNoZWNrSWRlbnRpZmllciBwb2xpY3lDaGVja0lkZW50aWZpZXIsIHVpbnQ2NF90IG5hdmlnYXRp
b25JRCwgc3RydWN0IFdlYktpdDo6TmF2aWdhdGlvbkFjdGlvbkRhdGEgbmF2aWdhdGlvbkFjdGlv
bkRhdGEsIHN0cnVjdCBXZWJLaXQ6OkZyYW1lSW5mb0RhdGEgb3JpZ2luYXRpbmdGcmFtZUluZm9E
YXRhLCBPcHRpb25hbDxXZWJLaXQ6OldlYlBhZ2VQcm94eUlkZW50aWZpZXI+IG9yaWdpbmF0aW5n
UGFnZUlELCBXZWJDb3JlOjpSZXNvdXJjZVJlcXVlc3Qgb3JpZ2luYWxSZXF1ZXN0LCBXZWJDb3Jl
OjpSZXNvdXJjZVJlcXVlc3QgcmVxdWVzdCwgSVBDOjpGb3JtRGF0YVJlZmVyZW5jZSByZXF1ZXN0
Qm9keSwgV2ViQ29yZTo6UmVzb3VyY2VSZXNwb25zZSByZWRpcmVjdFJlc3BvbnNlLCBXZWJLaXQ6
OlVzZXJEYXRhIHVzZXJEYXRhKSAtPiAoc3RydWN0IFdlYktpdDo6UG9saWN5RGVjaXNpb24gUG9s
aWN5RGVjaXNpb24pIFN5bmNocm9ub3VzCiAgICAgRGVjaWRlUG9saWN5Rm9yTmV3V2luZG93QWN0
aW9uKFdlYkNvcmU6OkZyYW1lSWRlbnRpZmllciBmcmFtZUlELCBzdHJ1Y3QgV2ViQ29yZTo6U2Vj
dXJpdHlPcmlnaW5EYXRhIGZyYW1lU2VjdXJpdHlPcmlnaW4sIFdlYkNvcmU6OlBvbGljeUNoZWNr
SWRlbnRpZmllciBwb2xpY3lDaGVja0lkZW50aWZpZXIsIHN0cnVjdCBXZWJLaXQ6Ok5hdmlnYXRp
b25BY3Rpb25EYXRhIG5hdmlnYXRpb25BY3Rpb25EYXRhLCBXZWJDb3JlOjpSZXNvdXJjZVJlcXVl
c3QgcmVxdWVzdCwgU3RyaW5nIGZyYW1lTmFtZSwgdWludDY0X3QgbGlzdGVuZXJJRCwgV2ViS2l0
OjpVc2VyRGF0YSB1c2VyRGF0YSkKICAgICBVbmFibGVUb0ltcGxlbWVudFBvbGljeShXZWJDb3Jl
OjpGcmFtZUlkZW50aWZpZXIgZnJhbWVJRCwgV2ViQ29yZTo6UmVzb3VyY2VFcnJvciBlcnJvciwg
V2ViS2l0OjpVc2VyRGF0YSB1c2VyRGF0YSkKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9X
ZWJLaXQueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvaiBiL1NvdXJjZS9XZWJLaXQvV2ViS2l0Lnhj
b2RlcHJvai9wcm9qZWN0LnBieHByb2oKaW5kZXggYmMwMDBiZjcwMDdiYTY5YzRlNzE5NTZiMjdl
NGUwMzZhM2Q2MmFlMS4uZGFjODg0ODg2ZTIyNjIxZGYzNTRlZGUxODMxYjRjMDU3MjA2MjIyYiAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJLaXQueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJv
agorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYktpdC54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCkBA
IC05NTgsNiArOTU4LDcgQEAKIAkJNDlCQ0ExOTIyM0ExNzc2NjAwMjhBODM2IC8qIEFQSVJlc291
cmNlTG9hZFN0YXRpc3RpY3NGaXJzdFBhcnR5LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSA0OUJDQTE5MTIzQTE3NzY2MDAyOEE4MzYgLyogQVBJUmVzb3Vy
Y2VMb2FkU3RhdGlzdGljc0ZpcnN0UGFydHkuaCAqLzsgfTsKIAkJNDlCQ0ExOTUyM0ExOENGRDAw
MjhBODM2IC8qIF9XS1Jlc291cmNlTG9hZFN0YXRpc3RpY3NGaXJzdFBhcnR5SW50ZXJuYWwuaCBp
biBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQ5QkNBMTkwMjNB
MTc1NDkwMDI4QTgzNiAvKiBfV0tSZXNvdXJjZUxvYWRTdGF0aXN0aWNzRmlyc3RQYXJ0eUludGVy
bmFsLmggKi87IH07CiAJCTQ5QkNBMTk3MjNBMTkzMEQwMDI4QTgzNiAvKiBBUElSZXNvdXJjZUxv
YWRTdGF0aXN0aWNzVGhpcmRQYXJ0eS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gNDlCQ0ExOTYyM0ExOEY2MjAwMjhBODM2IC8qIEFQSVJlc291cmNlTG9h
ZFN0YXRpc3RpY3NUaGlyZFBhcnR5LmggKi87IH07CisJCTQ5RUNBNDFDMjNGQ0E1RDgwMDIzMzU4
RCAvKiBQb2xpY3lEZWNpc2lvbi5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gNDlFQ0E0MUIyM0ZDQTQ4NjAwMjMzNThEIC8qIFBvbGljeURlY2lzaW9uLmgg
Ki87IH07CiAJCTQ5RkJFRkZEMjM5QjAxMUQwMEJEMDMyRiAvKiBfV0tSZXNvdXJjZUxvYWRTdGF0
aXN0aWNzRmlyc3RQYXJ0eS5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IDQ5RkJFRkZDMjM5QjAxMUQwMEJEMDMyRiAvKiBfV0tSZXNvdXJjZUxvYWRTdGF0
aXN0aWNzRmlyc3RQYXJ0eS5tbSAqLzsgfTsKIAkJNDlGQkVGRkYyMzlCMDEyRjAwQkQwMzJGIC8q
IF9XS1Jlc291cmNlTG9hZFN0YXRpc3RpY3NUaGlyZFBhcnR5Lm1tIGluIFNvdXJjZXMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDlGQkVGRkUyMzlCMDEyRjAwQkQwMzJGIC8q
IF9XS1Jlc291cmNlTG9hZFN0YXRpc3RpY3NUaGlyZFBhcnR5Lm1tICovOyB9OwogCQk0OUZCRjAw
MDIzOUIxRjc1MDBCRDAzMkYgLyogX1dLUmVzb3VyY2VMb2FkU3RhdGlzdGljc1RoaXJkUGFydHku
aCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQ5RkJFRkZB
MjM5QUQ5NzgwMEJEMDMyRiAvKiBfV0tSZXNvdXJjZUxvYWRTdGF0aXN0aWNzVGhpcmRQYXJ0eS5o
ICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CkBAIC0zNTEz
LDYgKzM1MTQsNyBAQAogCQk0OUJDQTE5MDIzQTE3NTQ5MDAyOEE4MzYgLyogX1dLUmVzb3VyY2VM
b2FkU3RhdGlzdGljc0ZpcnN0UGFydHlJbnRlcm5hbC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBfV0tSZXNv
dXJjZUxvYWRTdGF0aXN0aWNzRmlyc3RQYXJ0eUludGVybmFsLmg7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CiAJCTQ5QkNBMTkxMjNBMTc3NjYwMDI4QTgzNiAvKiBBUElSZXNvdXJjZUxvYWRT
dGF0aXN0aWNzRmlyc3RQYXJ0eS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBBUElSZXNvdXJjZUxvYWRTdGF0
aXN0aWNzRmlyc3RQYXJ0eS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk0OUJDQTE5
NjIzQTE4RjYyMDAyOEE4MzYgLyogQVBJUmVzb3VyY2VMb2FkU3RhdGlzdGljc1RoaXJkUGFydHku
aCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuYy5oOyBwYXRoID0gQVBJUmVzb3VyY2VMb2FkU3RhdGlzdGljc1RoaXJkUGFydHkuaDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJNDlFQ0E0MUIyM0ZDQTQ4NjAwMjMzNThEIC8q
IFBvbGljeURlY2lzaW9uLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFBvbGljeURlY2lzaW9uLmg7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTQ5RkJFRkZBMjM5QUQ5NzgwMEJEMDMyRiAvKiBfV0tS
ZXNvdXJjZUxvYWRTdGF0aXN0aWNzVGhpcmRQYXJ0eS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBfV0tSZXNv
dXJjZUxvYWRTdGF0aXN0aWNzVGhpcmRQYXJ0eS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OwogCQk0OUZCRUZGQjIzOUFEQjE4MDBCRDAzMkYgLyogX1dLUmVzb3VyY2VMb2FkU3RhdGlzdGlj
c0ZpcnN0UGFydHkuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gX1dLUmVzb3VyY2VMb2FkU3RhdGlzdGljc0Zp
cnN0UGFydHkuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNDlGQkVGRkMyMzlCMDEx
RDAwQkQwMzJGIC8qIF9XS1Jlc291cmNlTG9hZFN0YXRpc3RpY3NGaXJzdFBhcnR5Lm1tICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
cHAub2JqY3BwOyBwYXRoID0gX1dLUmVzb3VyY2VMb2FkU3RhdGlzdGljc0ZpcnN0UGFydHkubW07
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC01ODYwLDYgKzU4NjIsNyBAQAogCQkJCTdD
MDY1RjJBMUM4Q0Q5NUYwMEMyRDk1MCAvKiBXZWJVc2VyQ29udGVudENvbnRyb2xsZXJEYXRhVHlw
ZXMuaCAqLywKIAkJCQk0OTYwQTNCQzIzQzUyODY0MDA5NjE4NDIgLyogV2ViVmlld0NhdGVnb3J5
LmggKi8sCiAJCQkJQzAzMzdERDAxMjdBMjk4MDAwOEZGNEY0IC8qIFdlYldoZWVsRXZlbnQuY3Bw
ICovLAorCQkJCTQ5RUNBNDFCMjNGQ0E0ODYwMDIzMzU4RCAvKiBQb2xpY3lEZWNpc2lvbi5oICov
LAogCQkJKTsKIAkJCXBhdGggPSBTaGFyZWQ7CiAJCQlzb3VyY2VUcmVlID0gIjxncm91cD4iOwpA
QCAtMTA3NzgsNiArMTA3ODEsNyBAQAogCQkJCTJENUM5RDA2MTlDODFEOEYwMEIzQzVDMSAvKiBX
ZWJQYWdlT3ZlcmxheS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNDZDMzkyMjkyMzE2RUM0RDAwOEVF
RDlCIC8qIFdlYlBhZ2VQcm94eUlkZW50aWZpZXIuaCBpbiBIZWFkZXJzICovLAogCQkJCUJDQkQz
OTE1MTI1QkIxQTgwMEQyQzI5RiAvKiBXZWJQYWdlUHJveHlNZXNzYWdlcy5oIGluIEhlYWRlcnMg
Ki8sCisJCQkJNDlFQ0E0MUMyM0ZDQTVEODAwMjMzNThEIC8qIFBvbGljeURlY2lzaW9uLmggaW4g
SGVhZGVycyAqLywKIAkJCQk1MTIxMjdDNDE5MDgyMzlBMDBEQUYzNUMgLyogV2ViUGFzdGVib2Fy
ZE92ZXJyaWRlcy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJN0M0Njk0RDExQTUxRTM2ODAwQUQ1ODQ1
IC8qIFdlYlBhc3RlYm9hcmRQcm94eS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJN0M0Njk0Q0ExQTRC
NEVBMTAwQUQ1ODQ1IC8qIFdlYlBhc3RlYm9hcmRQcm94eU1lc3NhZ2VzLmggaW4gSGVhZGVycyAq
LywKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9X
ZWJGcmFtZUxvYWRlckNsaWVudC5jcHAgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViQ29y
ZVN1cHBvcnQvV2ViRnJhbWVMb2FkZXJDbGllbnQuY3BwCmluZGV4IDc3ODhlNmU1YWVhNTgyNzMw
ZjE2ZGNhYzczMjM2ZWMzNDY3NTlkY2MuLjEyMTJlZWFiNTcwN2FkZWUxZTY3NjVkYTJmZTY5YjNk
ZTc3YzI5ZWIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJDb3JlU3Vw
cG9ydC9XZWJGcmFtZUxvYWRlckNsaWVudC5jcHAKKysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9j
ZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkZyYW1lTG9hZGVyQ2xpZW50LmNwcApAQCAtODM2LDcgKzgz
Niw3IEBAIHZvaWQgV2ViRnJhbWVMb2FkZXJDbGllbnQ6OmRpc3BhdGNoRGVjaWRlUG9saWN5Rm9y
UmVzcG9uc2UoY29uc3QgUmVzb3VyY2VSZXNwb25zCiAgICAgdWludDY0X3QgbGlzdGVuZXJJRCA9
IG1fZnJhbWUtPnNldFVwUG9saWN5TGlzdGVuZXIoaWRlbnRpZmllciwgV1RGTW92ZShmdW5jdGlv
biksIFdlYkZyYW1lOjpGb3JOYXZpZ2F0aW9uQWN0aW9uOjpObyk7CiAgICAgaWYgKCF3ZWJQYWdl
LT5zZW5kKE1lc3NhZ2VzOjpXZWJQYWdlUHJveHk6OkRlY2lkZVBvbGljeUZvclJlc3BvbnNlKG1f
ZnJhbWUtPmZyYW1lSUQoKSwgU2VjdXJpdHlPcmlnaW5EYXRhOjpmcm9tRnJhbWUoY29yZUZyYW1l
KSwgaWRlbnRpZmllciwgbmF2aWdhdGlvbklELCByZXNwb25zZSwgcmVxdWVzdCwKICAgICAgICAg
Y2FuU2hvd1Jlc3BvbnNlLCBkb3dubG9hZEF0dHJpYnV0ZSwgbGlzdGVuZXJJRCwgVXNlckRhdGEo
V2ViUHJvY2Vzczo6c2luZ2xldG9uKCkudHJhbnNmb3JtT2JqZWN0c1RvSGFuZGxlcyh1c2VyRGF0
YS5nZXQoKSkuZ2V0KCkpKSkpCi0gICAgICAgIG1fZnJhbWUtPmRpZFJlY2VpdmVQb2xpY3lEZWNp
c2lvbihsaXN0ZW5lcklELCBpZGVudGlmaWVyLCBQb2xpY3lBY3Rpb246Oklnbm9yZSwgMCwgeyB9
LCB7IH0pOworICAgICAgICBtX2ZyYW1lLT5kaWRSZWNlaXZlUG9saWN5RGVjaXNpb24obGlzdGVu
ZXJJRCwgUG9saWN5RGVjaXNpb24geyBpZGVudGlmaWVyLCBQb2xpY3lBY3Rpb246Oklnbm9yZSwg
MCwgeyB9LCB7IH0gfSk7CiB9CiAKIHZvaWQgV2ViRnJhbWVMb2FkZXJDbGllbnQ6OmRpc3BhdGNo
RGVjaWRlUG9saWN5Rm9yTmV3V2luZG93QWN0aW9uKGNvbnN0IE5hdmlnYXRpb25BY3Rpb24mIG5h
dmlnYXRpb25BY3Rpb24sIGNvbnN0IFJlc291cmNlUmVxdWVzdCYgcmVxdWVzdCwKQEAgLTk4Nywy
MSArOTg3LDE3IEBAIHZvaWQgV2ViRnJhbWVMb2FkZXJDbGllbnQ6OmRpc3BhdGNoRGVjaWRlUG9s
aWN5Rm9yTmF2aWdhdGlvbkFjdGlvbihjb25zdCBOYXZpZ2F0CiAgICAgUmVmPFdlYkZyYW1lPiBw
cm90ZWN0KCptX2ZyYW1lKTsKIAogICAgIGlmIChwb2xpY3lEZWNpc2lvbk1vZGUgPT0gUG9saWN5
RGVjaXNpb25Nb2RlOjpTeW5jaHJvbm91cykgewotICAgICAgICB1aW50NjRfdCBuZXdOYXZpZ2F0
aW9uSUQ7Ci0gICAgICAgIFdlYkNvcmU6OlBvbGljeUNoZWNrSWRlbnRpZmllciByZXNwb25zZUlk
ZW50aWZpZXI7Ci0gICAgICAgIFBvbGljeUFjdGlvbiBwb2xpY3lBY3Rpb247Ci0gICAgICAgIERv
d25sb2FkSUQgZG93bmxvYWRJRDsKLSAgICAgICAgT3B0aW9uYWw8V2Vic2l0ZVBvbGljaWVzRGF0
YT4gd2Vic2l0ZVBvbGljaWVzOworICAgICAgICBQb2xpY3lEZWNpc2lvbiBwb2xpY3lEZWNpc2lv
bjsKIAogICAgICAgICBpZiAoIXdlYlBhZ2UtPnNlbmRTeW5jKE1lc3NhZ2VzOjpXZWJQYWdlUHJv
eHk6OkRlY2lkZVBvbGljeUZvck5hdmlnYXRpb25BY3Rpb25TeW5jKG1fZnJhbWUtPmZyYW1lSUQo
KSwgbV9mcmFtZS0+aXNNYWluRnJhbWUoKSwgU2VjdXJpdHlPcmlnaW5EYXRhOjpmcm9tRnJhbWUo
Y29yZUZyYW1lKSwKICAgICAgICAgICAgIHJlcXVlc3RJZGVudGlmaWVyLCBkb2N1bWVudExvYWRl
ci0+bmF2aWdhdGlvbklEKCksIG5hdmlnYXRpb25BY3Rpb25EYXRhLCBvcmlnaW5hdGluZ0ZyYW1l
SW5mb0RhdGEsIG9yaWdpbmF0aW5nUGFnZUlELCBuYXZpZ2F0aW9uQWN0aW9uLnJlc291cmNlUmVx
dWVzdCgpLCByZXF1ZXN0LAogICAgICAgICAgICAgSVBDOjpGb3JtRGF0YVJlZmVyZW5jZSB7IHJl
cXVlc3QuaHR0cEJvZHkoKSB9LCByZWRpcmVjdFJlc3BvbnNlLCBVc2VyRGF0YShXZWJQcm9jZXNz
OjpzaW5nbGV0b24oKS50cmFuc2Zvcm1PYmplY3RzVG9IYW5kbGVzKHVzZXJEYXRhLmdldCgpKS5n
ZXQoKSkpLAotICAgICAgICAgICAgTWVzc2FnZXM6OldlYlBhZ2VQcm94eTo6RGVjaWRlUG9saWN5
Rm9yTmF2aWdhdGlvbkFjdGlvblN5bmM6OlJlcGx5KHJlc3BvbnNlSWRlbnRpZmllciwgcG9saWN5
QWN0aW9uLCBuZXdOYXZpZ2F0aW9uSUQsIGRvd25sb2FkSUQsIHdlYnNpdGVQb2xpY2llcykpKSB7
Ci0gICAgICAgICAgICBtX2ZyYW1lLT5kaWRSZWNlaXZlUG9saWN5RGVjaXNpb24obGlzdGVuZXJJ
RCwgcmVxdWVzdElkZW50aWZpZXIsIFBvbGljeUFjdGlvbjo6SWdub3JlLCAwLCB7IH0sIHsgfSk7
CisgICAgICAgICAgICBNZXNzYWdlczo6V2ViUGFnZVByb3h5OjpEZWNpZGVQb2xpY3lGb3JOYXZp
Z2F0aW9uQWN0aW9uU3luYzo6UmVwbHkocG9saWN5RGVjaXNpb24pKSkgeworICAgICAgICAgICAg
bV9mcmFtZS0+ZGlkUmVjZWl2ZVBvbGljeURlY2lzaW9uKGxpc3RlbmVySUQsIFBvbGljeURlY2lz
aW9uIHsgcmVxdWVzdElkZW50aWZpZXIsIFBvbGljeUFjdGlvbjo6SWdub3JlLCAwLCB7IH0sIHsg
fSB9KTsKICAgICAgICAgICAgIHJldHVybjsKICAgICAgICAgfQogCi0gICAgICAgIG1fZnJhbWUt
PmRpZFJlY2VpdmVQb2xpY3lEZWNpc2lvbihsaXN0ZW5lcklELCByZXNwb25zZUlkZW50aWZpZXIs
IHBvbGljeUFjdGlvbiwgMCwgZG93bmxvYWRJRCwgeyB9KTsKKyAgICAgICAgbV9mcmFtZS0+ZGlk
UmVjZWl2ZVBvbGljeURlY2lzaW9uKGxpc3RlbmVySUQsIFBvbGljeURlY2lzaW9uIHsgcG9saWN5
RGVjaXNpb24uaWRlbnRpZmllciwgcG9saWN5RGVjaXNpb24ucG9saWN5QWN0aW9uLCAwLCBwb2xp
Y3lEZWNpc2lvbi5kb3dubG9hZElELCB7IH19KTsKICAgICAgICAgcmV0dXJuOwogICAgIH0KIApA
QCAtMTAwOSw3ICsxMDA1LDcgQEAgdm9pZCBXZWJGcmFtZUxvYWRlckNsaWVudDo6ZGlzcGF0Y2hE
ZWNpZGVQb2xpY3lGb3JOYXZpZ2F0aW9uQWN0aW9uKGNvbnN0IE5hdmlnYXQKICAgICBpZiAoIXdl
YlBhZ2UtPnNlbmQoTWVzc2FnZXM6OldlYlBhZ2VQcm94eTo6RGVjaWRlUG9saWN5Rm9yTmF2aWdh
dGlvbkFjdGlvbkFzeW5jKG1fZnJhbWUtPmZyYW1lSUQoKSwgU2VjdXJpdHlPcmlnaW5EYXRhOjpm
cm9tRnJhbWUoY29yZUZyYW1lKSwKICAgICAgICAgcmVxdWVzdElkZW50aWZpZXIsIGRvY3VtZW50
TG9hZGVyLT5uYXZpZ2F0aW9uSUQoKSwgbmF2aWdhdGlvbkFjdGlvbkRhdGEsIG9yaWdpbmF0aW5n
RnJhbWVJbmZvRGF0YSwgb3JpZ2luYXRpbmdQYWdlSUQsIG5hdmlnYXRpb25BY3Rpb24ucmVzb3Vy
Y2VSZXF1ZXN0KCksIHJlcXVlc3QsCiAgICAgICAgIElQQzo6Rm9ybURhdGFSZWZlcmVuY2UgeyBy
ZXF1ZXN0Lmh0dHBCb2R5KCkgfSwgcmVkaXJlY3RSZXNwb25zZSwgVXNlckRhdGEoV2ViUHJvY2Vz
czo6c2luZ2xldG9uKCkudHJhbnNmb3JtT2JqZWN0c1RvSGFuZGxlcyh1c2VyRGF0YS5nZXQoKSku
Z2V0KCkpLCBsaXN0ZW5lcklEKSkpCi0gICAgICAgIG1fZnJhbWUtPmRpZFJlY2VpdmVQb2xpY3lE
ZWNpc2lvbihsaXN0ZW5lcklELCByZXF1ZXN0SWRlbnRpZmllciwgUG9saWN5QWN0aW9uOjpJZ25v
cmUsIDAsIHsgfSwgeyB9KTsKKyAgICAgICAgbV9mcmFtZS0+ZGlkUmVjZWl2ZVBvbGljeURlY2lz
aW9uKGxpc3RlbmVySUQsIFBvbGljeURlY2lzaW9uIHsgcmVxdWVzdElkZW50aWZpZXIsIFBvbGlj
eUFjdGlvbjo6SWdub3JlLCAwLCB7IH0sIHsgfSB9KTsKIH0KIAogdm9pZCBXZWJGcmFtZUxvYWRl
ckNsaWVudDo6Y2FuY2VsUG9saWN5Q2hlY2soKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9X
ZWJQcm9jZXNzL1dlYlBhZ2UvV2ViRnJhbWUuY3BwIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNz
L1dlYlBhZ2UvV2ViRnJhbWUuY3BwCmluZGV4IDRkODU3OGIxYTM4OTM3ZGE1YmI5YmVjNmUyNGIx
ZDBjZDVkZjMxNTguLjcxYTc4NjBkNThmNmQ1MjE1MTRkMzM3YjhjMDcyMTY2ODgyZjA2ZjAgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYkZyYW1lLmNwcAor
KysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJGcmFtZS5jcHAKQEAgLTI1
MiwxMiArMjUyLDEyIEBAIHZvaWQgV2ViRnJhbWU6OmludmFsaWRhdGVQb2xpY3lMaXN0ZW5lcigp
CiAgICAgICAgIGNvbXBsZXRpb25IYW5kbGVyKCk7CiB9CiAKLXZvaWQgV2ViRnJhbWU6OmRpZFJl
Y2VpdmVQb2xpY3lEZWNpc2lvbih1aW50NjRfdCBsaXN0ZW5lcklELCBXZWJDb3JlOjpQb2xpY3lD
aGVja0lkZW50aWZpZXIgaWRlbnRpZmllciwgUG9saWN5QWN0aW9uIGFjdGlvbiwgdWludDY0X3Qg
bmF2aWdhdGlvbklELCBEb3dubG9hZElEIGRvd25sb2FkSUQsIE9wdGlvbmFsPFdlYnNpdGVQb2xp
Y2llc0RhdGE+JiYgd2Vic2l0ZVBvbGljaWVzKQordm9pZCBXZWJGcmFtZTo6ZGlkUmVjZWl2ZVBv
bGljeURlY2lzaW9uKHVpbnQ2NF90IGxpc3RlbmVySUQsIFBvbGljeURlY2lzaW9uJiYgcG9saWN5
RGVjaXNpb24pCiB7CiAgICAgaWYgKCFtX2NvcmVGcmFtZSB8fCAhbV9wb2xpY3lMaXN0ZW5lcklE
IHx8IGxpc3RlbmVySUQgIT0gbV9wb2xpY3lMaXN0ZW5lcklEIHx8ICFtX3BvbGljeUZ1bmN0aW9u
KQogICAgICAgICByZXR1cm47CiAKLSAgICBBU1NFUlQoaWRlbnRpZmllciA9PSBtX3BvbGljeUlk
ZW50aWZpZXIpOworICAgIEFTU0VSVChwb2xpY3lEZWNpc2lvbi5pZGVudGlmaWVyID09IG1fcG9s
aWN5SWRlbnRpZmllcik7CiAgICAgbV9wb2xpY3lJZGVudGlmaWVyID0gV1RGOjpudWxsb3B0Owog
CiAgICAgRnJhbWVQb2xpY3lGdW5jdGlvbiBmdW5jdGlvbiA9IFdURk1vdmUobV9wb2xpY3lGdW5j
dGlvbik7CkBAIC0yNjUsMjAgKzI2NSwyMCBAQCB2b2lkIFdlYkZyYW1lOjpkaWRSZWNlaXZlUG9s
aWN5RGVjaXNpb24odWludDY0X3QgbGlzdGVuZXJJRCwgV2ViQ29yZTo6UG9saWN5Q2hlYwogCiAg
ICAgaW52YWxpZGF0ZVBvbGljeUxpc3RlbmVyKCk7CiAKLSAgICBpZiAoZm9yTmF2aWdhdGlvbkFj
dGlvbiAmJiBtX2ZyYW1lTG9hZGVyQ2xpZW50ICYmIHdlYnNpdGVQb2xpY2llcykgeworICAgIGlm
IChmb3JOYXZpZ2F0aW9uQWN0aW9uICYmIG1fZnJhbWVMb2FkZXJDbGllbnQgJiYgcG9saWN5RGVj
aXNpb24ud2Vic2l0ZVBvbGljaWVzRGF0YSkgewogICAgICAgICBBU1NFUlQocGFnZSgpKTsKICAg
ICAgICAgaWYgKHBhZ2UoKSkKLSAgICAgICAgICAgIHBhZ2UoKS0+c2V0QWxsb3dzQ29udGVudEph
dmFTY3JpcHRGcm9tTW9zdFJlY2VudE5hdmlnYXRpb24od2Vic2l0ZVBvbGljaWVzLT5hbGxvd3ND
b250ZW50SmF2YVNjcmlwdCk7Ci0gICAgICAgIG1fZnJhbWVMb2FkZXJDbGllbnQtPmFwcGx5VG9E
b2N1bWVudExvYWRlcihXVEZNb3ZlKCp3ZWJzaXRlUG9saWNpZXMpKTsKKyAgICAgICAgICAgIHBh
Z2UoKS0+c2V0QWxsb3dzQ29udGVudEphdmFTY3JpcHRGcm9tTW9zdFJlY2VudE5hdmlnYXRpb24o
cG9saWN5RGVjaXNpb24ud2Vic2l0ZVBvbGljaWVzRGF0YS0+YWxsb3dzQ29udGVudEphdmFTY3Jp
cHQpOworICAgICAgICBtX2ZyYW1lTG9hZGVyQ2xpZW50LT5hcHBseVRvRG9jdW1lbnRMb2FkZXIo
V1RGTW92ZSgqcG9saWN5RGVjaXNpb24ud2Vic2l0ZVBvbGljaWVzRGF0YSkpOwogICAgIH0KIAot
ICAgIG1fcG9saWN5RG93bmxvYWRJRCA9IGRvd25sb2FkSUQ7Ci0gICAgaWYgKG5hdmlnYXRpb25J
RCkgeworICAgIG1fcG9saWN5RG93bmxvYWRJRCA9IHBvbGljeURlY2lzaW9uLmRvd25sb2FkSUQ7
CisgICAgaWYgKHBvbGljeURlY2lzaW9uLm5hdmlnYXRpb25JRCkgewogICAgICAgICBpZiAoV2Vi
RG9jdW1lbnRMb2FkZXIqIGRvY3VtZW50TG9hZGVyID0gc3RhdGljX2Nhc3Q8V2ViRG9jdW1lbnRM
b2FkZXIqPihtX2NvcmVGcmFtZS0+bG9hZGVyKCkucG9saWN5RG9jdW1lbnRMb2FkZXIoKSkpCi0g
ICAgICAgICAgICBkb2N1bWVudExvYWRlci0+c2V0TmF2aWdhdGlvbklEKG5hdmlnYXRpb25JRCk7
CisgICAgICAgICAgICBkb2N1bWVudExvYWRlci0+c2V0TmF2aWdhdGlvbklEKHBvbGljeURlY2lz
aW9uLm5hdmlnYXRpb25JRCk7CiAgICAgfQogCi0gICAgZnVuY3Rpb24oYWN0aW9uLCBpZGVudGlm
aWVyKTsKKyAgICBmdW5jdGlvbihwb2xpY3lEZWNpc2lvbi5wb2xpY3lBY3Rpb24sIHBvbGljeURl
Y2lzaW9uLmlkZW50aWZpZXIpOwogfQogCiB2b2lkIFdlYkZyYW1lOjpzdGFydERvd25sb2FkKGNv
bnN0IFdlYkNvcmU6OlJlc291cmNlUmVxdWVzdCYgcmVxdWVzdCwgY29uc3QgU3RyaW5nJiBzdWdn
ZXN0ZWROYW1lKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2Uv
V2ViRnJhbWUuaCBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYkZyYW1lLmgK
aW5kZXggYjMyOWFjNWU1ZmIyZmFlNDFkNDdmNjdmY2ExMjJjODMwZGM2NmZiNC4uMzYzY2JiYzEx
YTYxZGEwNjk5ODVkYTliM2E0OWVkOTk1OGE0NThlMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dC9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViRnJhbWUuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlBy
b2Nlc3MvV2ViUGFnZS9XZWJGcmFtZS5oCkBAIC0yNyw2ICsyNyw3IEBACiAKICNpbmNsdWRlICJB
UElPYmplY3QuaCIKICNpbmNsdWRlICJEb3dubG9hZElELmgiCisjaW5jbHVkZSAiUG9saWN5RGVj
aXNpb24uaCIKICNpbmNsdWRlICJTaGFyZWFibGVCaXRtYXAuaCIKICNpbmNsdWRlICJUcmFuc2Fj
dGlvbklELmgiCiAjaW5jbHVkZSAiV0tCYXNlLmgiCkBAIC04Miw3ICs4Myw3IEBAIHB1YmxpYzoK
ICAgICBlbnVtIGNsYXNzIEZvck5hdmlnYXRpb25BY3Rpb24geyBObywgWWVzIH07CiAgICAgdWlu
dDY0X3Qgc2V0VXBQb2xpY3lMaXN0ZW5lcihXZWJDb3JlOjpQb2xpY3lDaGVja0lkZW50aWZpZXIs
IFdlYkNvcmU6OkZyYW1lUG9saWN5RnVuY3Rpb24mJiwgRm9yTmF2aWdhdGlvbkFjdGlvbik7CiAg
ICAgdm9pZCBpbnZhbGlkYXRlUG9saWN5TGlzdGVuZXIoKTsKLSAgICB2b2lkIGRpZFJlY2VpdmVQ
b2xpY3lEZWNpc2lvbih1aW50NjRfdCBsaXN0ZW5lcklELCBXZWJDb3JlOjpQb2xpY3lDaGVja0lk
ZW50aWZpZXIsIFdlYkNvcmU6OlBvbGljeUFjdGlvbiwgdWludDY0X3QgbmF2aWdhdGlvbklELCBE
b3dubG9hZElELCBPcHRpb25hbDxXZWJzaXRlUG9saWNpZXNEYXRhPiYmKTsKKyAgICB2b2lkIGRp
ZFJlY2VpdmVQb2xpY3lEZWNpc2lvbih1aW50NjRfdCBsaXN0ZW5lcklELCBQb2xpY3lEZWNpc2lv
biYmKTsKIAogICAgIHVpbnQ2NF90IHNldFVwV2lsbFN1Ym1pdEZvcm1MaXN0ZW5lcihDb21wbGV0
aW9uSGFuZGxlcjx2b2lkKCk+JiYpOwogICAgIHZvaWQgY29udGludWVXaWxsU3VibWl0Rm9ybSh1
aW50NjRfdCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9X
ZWJQYWdlLmNwcCBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3Bw
CmluZGV4IGY4MDVhMjE3YjFiOGFjMDYwNDYxYmQ2ZDk2YWI2ZjQ3ODY2MWQ3ZmYuLjVmMTJiOGI5
NmYwNTU0Y2ZiMWFlMTBjZTYzOTIxNTFkZWM0NTFhYWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvV2Vi
UHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwCkBAIC0zMjU3LDEyICszMjU3LDEyIEBAIHZvaWQg
V2ViUGFnZTo6c2V0TGF5ZXJIb3N0aW5nTW9kZShMYXllckhvc3RpbmdNb2RlIGxheWVySG9zdGlu
Z01vZGUpCiAgICAgICAgIHBsdWdpblZpZXctPnNldExheWVySG9zdGluZ01vZGUobV9sYXllckhv
c3RpbmdNb2RlKTsKIH0KIAotdm9pZCBXZWJQYWdlOjpkaWRSZWNlaXZlUG9saWN5RGVjaXNpb24o
RnJhbWVJZGVudGlmaWVyIGZyYW1lSUQsIHVpbnQ2NF90IGxpc3RlbmVySUQsIFBvbGljeUNoZWNr
SWRlbnRpZmllciBpZGVudGlmaWVyLCBQb2xpY3lBY3Rpb24gcG9saWN5QWN0aW9uLCB1aW50NjRf
dCBuYXZpZ2F0aW9uSUQsIGNvbnN0IERvd25sb2FkSUQmIGRvd25sb2FkSUQsIE9wdGlvbmFsPFdl
YnNpdGVQb2xpY2llc0RhdGE+JiYgd2Vic2l0ZVBvbGljaWVzKQordm9pZCBXZWJQYWdlOjpkaWRS
ZWNlaXZlUG9saWN5RGVjaXNpb24oRnJhbWVJZGVudGlmaWVyIGZyYW1lSUQsIHVpbnQ2NF90IGxp
c3RlbmVySUQsIFBvbGljeURlY2lzaW9uJiYgUG9saWN5RGVjaXNpb24pCiB7CiAgICAgV2ViRnJh
bWUqIGZyYW1lID0gV2ViUHJvY2Vzczo6c2luZ2xldG9uKCkud2ViRnJhbWUoZnJhbWVJRCk7CiAg
ICAgaWYgKCFmcmFtZSkKICAgICAgICAgcmV0dXJuOwotICAgIGZyYW1lLT5kaWRSZWNlaXZlUG9s
aWN5RGVjaXNpb24obGlzdGVuZXJJRCwgaWRlbnRpZmllciwgcG9saWN5QWN0aW9uLCBuYXZpZ2F0
aW9uSUQsIGRvd25sb2FkSUQsIFdURk1vdmUod2Vic2l0ZVBvbGljaWVzKSk7CisgICAgZnJhbWUt
PmRpZFJlY2VpdmVQb2xpY3lEZWNpc2lvbihsaXN0ZW5lcklELCBXVEZNb3ZlKFBvbGljeURlY2lz
aW9uKSk7CiB9CiAKIHZvaWQgV2ViUGFnZTo6Y29udGludWVXaWxsU3VibWl0Rm9ybShGcmFtZUlk
ZW50aWZpZXIgZnJhbWVJRCwgdWludDY0X3QgbGlzdGVuZXJJRCkKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuaCBiL1NvdXJjZS9XZWJLaXQvV2Vi
UHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuaAppbmRleCBlYWE2ZmIyNTNkODAyMDZhNjc4NThhMmFk
YzU3M2ZmNTRjZWQyMDliLi5hNjg5NTMwZjM4MzZkNmY0Y2JiMGY1Njk3MmQzZmUxMTBlODEzMjU1
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmgK
KysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5oCkBAIC00NSw2
ICs0NSw3IEBACiAjaW5jbHVkZSAiTWVzc2FnZVNlbmRlci5oIgogI2luY2x1ZGUgIk9wdGlvbmFs
Q2FsbGJhY2tJRC5oIgogI2luY2x1ZGUgIlBsdWdpbi5oIgorI2luY2x1ZGUgIlBvbGljeURlY2lz
aW9uLmgiCiAjaW5jbHVkZSAiU2FuZGJveEV4dGVuc2lvbi5oIgogI2luY2x1ZGUgIlNoYXJlU2hl
ZXRDYWxsYmFja0lELmgiCiAjaW5jbHVkZSAiU2hhcmVkTWVtb3J5LmgiCkBAIC0xNDkxLDcgKzE0
OTIsNyBAQCBwcml2YXRlOgogICAgIGJvb2wgcGFyZW50UHJvY2Vzc0hhc1NlcnZpY2VXb3JrZXJF
bnRpdGxlbWVudCgpIGNvbnN0IHsgcmV0dXJuIHRydWU7IH0KICNlbmRpZgogCi0gICAgdm9pZCBk
aWRSZWNlaXZlUG9saWN5RGVjaXNpb24oV2ViQ29yZTo6RnJhbWVJZGVudGlmaWVyLCB1aW50NjRf
dCBsaXN0ZW5lcklELCBXZWJDb3JlOjpQb2xpY3lDaGVja0lkZW50aWZpZXIsIFdlYkNvcmU6OlBv
bGljeUFjdGlvbiwgdWludDY0X3QgbmF2aWdhdGlvbklELCBjb25zdCBEb3dubG9hZElEJiwgT3B0
aW9uYWw8V2Vic2l0ZVBvbGljaWVzRGF0YT4mJik7CisgICAgdm9pZCBkaWRSZWNlaXZlUG9saWN5
RGVjaXNpb24oV2ViQ29yZTo6RnJhbWVJZGVudGlmaWVyLCB1aW50NjRfdCBsaXN0ZW5lcklELCBQ
b2xpY3lEZWNpc2lvbiYmKTsKICAgICB2b2lkIGNvbnRpbnVlV2lsbFN1Ym1pdEZvcm0oV2ViQ29y
ZTo6RnJhbWVJZGVudGlmaWVyLCB1aW50NjRfdCBsaXN0ZW5lcklEKTsKICAgICB2b2lkIHNldFVz
ZXJBZ2VudChjb25zdCBTdHJpbmcmKTsKICAgICB2b2lkIHNldEN1c3RvbVRleHRFbmNvZGluZ05h
bWUoY29uc3QgU3RyaW5nJik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3Mv
V2ViUGFnZS9XZWJQYWdlLm1lc3NhZ2VzLmluIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dl
YlBhZ2UvV2ViUGFnZS5tZXNzYWdlcy5pbgppbmRleCA3NDFjMjg0MmNmMWMwY2Q4NGM3MWJhMGZl
ZDAyNjc0YWVmYTE3ZWZmLi45YmM0YWZiMjM3MjU3NDdmMjUzOThiZTA5MzRiYmNhNzUzMjA3NDhi
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLm1l
c3NhZ2VzLmluCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2Uu
bWVzc2FnZXMuaW4KQEAgLTE4Niw3ICsxODYsNyBAQCBHZW5lcmF0ZVN5bnRoZXRpY0VkaXRpbmdD
b21tYW5kKGVudW06dWludDhfdCBXZWJLaXQ6OlN5bnRoZXRpY0VkaXRpbmdDb21tYW5kVHlwZQog
ICAgIERpZFJlbW92ZUJhY2tGb3J3YXJkSXRlbShzdHJ1Y3QgV2ViQ29yZTo6QmFja0ZvcndhcmRJ
dGVtSWRlbnRpZmllciBiYWNrRm9yd2FyZEl0ZW1JRCkKIAogICAgIFVwZGF0ZVdlYnNpdGVQb2xp
Y2llcyhzdHJ1Y3QgV2ViS2l0OjpXZWJzaXRlUG9saWNpZXNEYXRhIHdlYnNpdGVQb2xpY2llcykK
LSAgICBEaWRSZWNlaXZlUG9saWN5RGVjaXNpb24oV2ViQ29yZTo6RnJhbWVJZGVudGlmaWVyIGZy
YW1lSUQsIHVpbnQ2NF90IGxpc3RlbmVySUQsIFdlYkNvcmU6OlBvbGljeUNoZWNrSWRlbnRpZmll
ciBwb2xpY3lDaGVja0lkZW50aWZpZXIsIGVudW06dWludDhfdCBXZWJDb3JlOjpQb2xpY3lBY3Rp
b24gcG9saWN5QWN0aW9uLCB1aW50NjRfdCBuYXZpZ2F0aW9uSUQsIFdlYktpdDo6RG93bmxvYWRJ
RCBkb3dubG9hZElELCBPcHRpb25hbDxXZWJLaXQ6OldlYnNpdGVQb2xpY2llc0RhdGE+IHdlYnNp
dGVQb2xpY2llcykKKyAgICBEaWRSZWNlaXZlUG9saWN5RGVjaXNpb24oV2ViQ29yZTo6RnJhbWVJ
ZGVudGlmaWVyIGZyYW1lSUQsIHVpbnQ2NF90IGxpc3RlbmVySUQsIHN0cnVjdCBXZWJLaXQ6OlBv
bGljeURlY2lzaW9uIFBvbGljeURlY2lzaW9uKQogICAgIENvbnRpbnVlV2lsbFN1Ym1pdEZvcm0o
V2ViQ29yZTo6RnJhbWVJZGVudGlmaWVyIGZyYW1lSUQsIHVpbnQ2NF90IGxpc3RlbmVySUQpCiAK
ICAgICBDbGVhclNlbGVjdGlvbigpCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>