<?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>231446</bug_id>
          
          <creation_ts>2021-10-08 13:33:57 -0700</creation_ts>
          <short_desc>[WPE] Expose WKTextCheckerSetContinuousSpellCheckingEnabled and use it from WKTR</short_desc>
          <delta_ts>2021-10-10 10:36:26 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>WPE WebKit</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>PC</rep_platform>
          <op_sys>Linux</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>222860</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Michael Catanzaro">mcatanzaro</reporter>
          <assigned_to name="Michael Catanzaro">mcatanzaro</assigned_to>
          <cc>annulen</cc>
    
    <cc>bugs-noreply</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>mcatanzaro</cc>
    
    <cc>pnormand</cc>
    
    <cc>ryuan.choi</cc>
    
    <cc>sergio</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1802216</commentid>
    <comment_count>0</comment_count>
    <who name="Michael Catanzaro">mcatanzaro</who>
    <bug_when>2021-10-08 13:33:57 -0700</bug_when>
    <thetext>Expose WKTextCheckerSetContinuousSpellCheckingEnabled and use it from WKTR. This is for bug #222860.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1802219</commentid>
    <comment_count>1</comment_count>
      <attachid>440664</attachid>
    <who name="Michael Catanzaro">mcatanzaro</who>
    <bug_when>2021-10-08 13:43:18 -0700</bug_when>
    <thetext>Created attachment 440664
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1802245</commentid>
    <comment_count>2</comment_count>
      <attachid>440671</attachid>
    <who name="Michael Catanzaro">mcatanzaro</who>
    <bug_when>2021-10-08 14:15:05 -0700</bug_when>
    <thetext>Created attachment 440671
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1802465</commentid>
    <comment_count>3</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2021-10-10 10:36:22 -0700</bug_when>
    <thetext>Committed r283876 (242753@main): &lt;https://commits.webkit.org/242753@main&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 440671.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>440664</attachid>
            <date>2021-10-08 13:43:18 -0700</date>
            <delta_ts>2021-10-08 14:15:01 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-231446-20211008154317.patch</filename>
            <type>text/plain</type>
            <size>26314</size>
            <attacher name="Michael Catanzaro">mcatanzaro</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjgzODM0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IDgxMjZhODc1MzUxNmIwNzg1
NjY4OTYyYzA1OWI1MjdjN2YwOWYxZjkuLjYyZGRlYzNkMzkwMDA2YTg0MThkMjBmMTIwZGYxZTBk
YzM4OTFkNmYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjYgQEAKKzIwMjEtMTAtMDggIE1pY2hhZWwg
Q2F0YW56YXJvICA8bWNhdGFuemFyb0Bnbm9tZS5vcmc+CisKKyAgICAgICAgW1dQRV0gRXhwb3Nl
IFdLVGV4dENoZWNrZXJTZXRDb250aW51b3VzU3BlbGxDaGVja2luZ0VuYWJsZWQgYW5kIHVzZSBp
dCBmcm9tIFdLVFIKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTIzMTQ0NgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorICAgICAg
ICAKKyAgICAgICAgVGhpcyBpcyB0byBhdm9pZCBXS1RSIG5lZWRpbmcgdG8gcG9rZSBXZWJLaXQg
aW50ZXJuYWxzIHRvIHR1cm4gb24gc3BlbGxjaGVja2luZy4KKworICAgICAgICAqIFNvdXJjZXNH
VEsudHh0OgorICAgICAgICAqIFNvdXJjZXNXUEUudHh0OgorICAgICAgICAqIFVJUHJvY2Vzcy9B
UEkvQy9nbGliL1dLVGV4dENoZWNrZXJHTGliLmNwcDogUmVuYW1lZCBmcm9tIFNvdXJjZS9XZWJL
aXQvVUlQcm9jZXNzL0FQSS9DL2d0ay9XS1RleHRDaGVja2VyR3RrLmNwcC4KKyAgICAgICAgKFdL
VGV4dENoZWNrZXJTZXRDbGllbnQpOgorICAgICAgICAoV0tUZXh0Q2hlY2tlckNvbnRpbnVvdXNT
cGVsbENoZWNraW5nRW5hYmxlZFN0YXRlQ2hhbmdlZCk6CisgICAgICAgIChXS1RleHRDaGVja2Vy
R3JhbW1hckNoZWNraW5nRW5hYmxlZFN0YXRlQ2hhbmdlZCk6CisgICAgICAgIChXS1RleHRDaGVj
a2VyQ2hlY2tTcGVsbGluZyk6CisgICAgICAgIChXS1RleHRDaGVja2VyQ2hhbmdlU3BlbGxpbmdU
b1dvcmQpOgorICAgICAgICAoV0tUZXh0Q2hlY2tlclNldFNwZWxsQ2hlY2tpbmdMYW5ndWFnZXMp
OgorICAgICAgICAoV0tUZXh0Q2hlY2tlclNldENvbnRpbnVvdXNTcGVsbENoZWNraW5nRW5hYmxl
ZCk6CisgICAgICAgICogVUlQcm9jZXNzL0FQSS9DL2dsaWIvV0tUZXh0Q2hlY2tlckdMaWIuaDog
UmVuYW1lZCBmcm9tIFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9DL2d0ay9XS1RleHRDaGVj
a2VyR3RrLmguCisgICAgICAgICogVUlQcm9jZXNzL2d0ay9XZWJUZXh0Q2hlY2tlci5oOgorICAg
ICAgICAqIFVJUHJvY2Vzcy9ndGsvV2ViVGV4dENoZWNrZXJDbGllbnQuaDoKKwogMjAyMS0xMC0w
OCAgQmFzdWtlIFN1enVraSAgPGJhc3VrZS5zdXp1a2lAc29ueS5jb20+CiAKICAgICAgICAgRml4
IGJ1aWxkIGJyZWFrIGFmdGVyIHIyODM3OTYgd2hlbiBFTkFCTEVfU0VSVklDRV9XT1JLRVIgaXMg
b2ZmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1NvdXJjZXNHVEsudHh0IGIvU291cmNlL1dl
YktpdC9Tb3VyY2VzR1RLLnR4dAppbmRleCBlYjU5ZGU3YmE1YmM2OWY0MTRkMmE3MjAzOGI2Mjlk
N2E3YjJhZDRkLi41Yzk1NGVlZjlhZTFiMmY5NGVmMDA4YjJhMzhhZjg4OTRiMGM5YWM1IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1NvdXJjZXNHVEsudHh0CisrKyBiL1NvdXJjZS9XZWJLaXQv
U291cmNlc0dUSy50eHQKQEAgLTExNSw3ICsxMTUsOCBAQCBVSVByb2Nlc3MvV2ViVmlld3BvcnRB
dHRyaWJ1dGVzLmNwcAogVUlQcm9jZXNzL0FQSS9DL1dLR3JhbW1hckRldGFpbC5jcHAKIFVJUHJv
Y2Vzcy9BUEkvQy9XS1ZpZXdwb3J0QXR0cmlidXRlcy5jcHAKIAotVUlQcm9jZXNzL0FQSS9DL2d0
ay9XS1RleHRDaGVja2VyR3RrLmNwcAorVUlQcm9jZXNzL0FQSS9DL2dsaWIvV0tUZXh0Q2hlY2tl
ckdMaWIuY3BwCisKIFVJUHJvY2Vzcy9BUEkvQy9ndGsvV0tWaWV3LmNwcAogCiBVSVByb2Nlc3Mv
QVBJL2dsaWIvQVBJQ29udGVudFJ1bGVMaXN0U3RvcmVHTGliLmNwcCBAbm8tdW5pZnkKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQvU291cmNlc1dQRS50eHQgYi9Tb3VyY2UvV2ViS2l0L1NvdXJj
ZXNXUEUudHh0CmluZGV4IDJhNGY0MDZhYmI4YWZiMzA0ZWUzOGQ2MmIzYTJiZjc2MDg5NGNkYTYu
LjhhMWMzMGYzMmYzYjkzNTBhMzA2YmVmNTMwZWNiMzM0MGMxZjI5YzcgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQvU291cmNlc1dQRS50eHQKKysrIGIvU291cmNlL1dlYktpdC9Tb3VyY2VzV1BF
LnR4dApAQCAtMTA4LDYgKzEwOCw4IEBAIFVJUHJvY2Vzcy9XZWJWaWV3cG9ydEF0dHJpYnV0ZXMu
Y3BwCiBVSVByb2Nlc3MvQVBJL0MvV0tHcmFtbWFyRGV0YWlsLmNwcAogVUlQcm9jZXNzL0FQSS9D
L1dLVmlld3BvcnRBdHRyaWJ1dGVzLmNwcAogCitVSVByb2Nlc3MvQVBJL0MvZ2xpYi9XS1RleHRD
aGVja2VyR0xpYi5jcHAKKwogVUlQcm9jZXNzL0FQSS9DL3dwZS9XS1ZpZXcuY3BwCiAKIFVJUHJv
Y2Vzcy9BUEkvZ2xpYi9BUElDb250ZW50UnVsZUxpc3RTdG9yZUdMaWIuY3BwIEBuby11bmlmeQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0MvZ2xpYi9XS1RleHRDaGVj
a2VyR0xpYi5jcHAgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQy9nbGliL1dLVGV4dENo
ZWNrZXJHTGliLmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5kMGVjOTcxOGY5N2UxMTc0MmZmZWYyYzA0MjAwMTc5
MzYyNjViY2I2Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJ
L0MvZ2xpYi9XS1RleHRDaGVja2VyR0xpYi5jcHAKQEAgLTAsMCArMSw4MCBAQAorLyoKKyAqIENv
cHlyaWdodCAoQykgMjAxMSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICog
UmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBv
ciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0
aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlv
bnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAg
bm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFp
bWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNl
IHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlv
bnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRp
b24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24u
CisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMg
Q09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FS
UkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBX
QVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFS
CisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMu
IE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJF
Q1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwg
REFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisg
KiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJP
RklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9O
IEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNU
IExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQor
ICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVW
RU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICov
CisKKyNpbmNsdWRlICJjb25maWcuaCIKKyNpbmNsdWRlICJXS1RleHRDaGVja2VyR0xpYi5oIgor
CisjaW5jbHVkZSAiVGV4dENoZWNrZXIuaCIKKyNpbmNsdWRlICJXS0FQSUNhc3QuaCIKKyNpbmNs
dWRlICJXZWJQYWdlUHJveHkuaCIKKyNpbmNsdWRlICJXZWJUZXh0Q2hlY2tlci5oIgorCit1c2lu
ZyBuYW1lc3BhY2UgV2ViS2l0OworCisjaWYgUExBVEZPUk0oR1RLKQorCit2b2lkIFdLVGV4dENo
ZWNrZXJTZXRDbGllbnQoY29uc3QgV0tUZXh0Q2hlY2tlckNsaWVudEJhc2UqIHdrQ2xpZW50KQor
eworICAgIGlmICh3a0NsaWVudCAmJiB3a0NsaWVudC0+dmVyc2lvbikKKyAgICAgICAgcmV0dXJu
OworICAgIFdlYlRleHRDaGVja2VyOjpzaW5nbGV0b24oKS0+c2V0Q2xpZW50KHdrQ2xpZW50KTsK
K30KKwordm9pZCBXS1RleHRDaGVja2VyQ29udGludW91c1NwZWxsQ2hlY2tpbmdFbmFibGVkU3Rh
dGVDaGFuZ2VkKGJvb2wgZW5hYmxlZCkKK3sKKyAgICBXZWJUZXh0Q2hlY2tlcjo6c2luZ2xldG9u
KCktPmNvbnRpbnVvdXNTcGVsbENoZWNraW5nRW5hYmxlZFN0YXRlQ2hhbmdlZChlbmFibGVkKTsK
K30KKwordm9pZCBXS1RleHRDaGVja2VyR3JhbW1hckNoZWNraW5nRW5hYmxlZFN0YXRlQ2hhbmdl
ZChib29sIGVuYWJsZWQpCit7CisgICAgV2ViVGV4dENoZWNrZXI6OnNpbmdsZXRvbigpLT5ncmFt
bWFyQ2hlY2tpbmdFbmFibGVkU3RhdGVDaGFuZ2VkKGVuYWJsZWQpOworfQorCit2b2lkIFdLVGV4
dENoZWNrZXJDaGVja1NwZWxsaW5nKFdLUGFnZVJlZiBwYWdlLCBib29sIHN0YXJ0QmVmb3JlU2Vs
ZWN0aW9uKQoreworICAgIFdlYlRleHRDaGVja2VyOjpzaW5nbGV0b24oKS0+Y2hlY2tTcGVsbGlu
Zyh0b0ltcGwocGFnZSksIHN0YXJ0QmVmb3JlU2VsZWN0aW9uKTsKK30KKwordm9pZCBXS1RleHRD
aGVja2VyQ2hhbmdlU3BlbGxpbmdUb1dvcmQoV0tQYWdlUmVmIHBhZ2UsIFdLU3RyaW5nUmVmIHdv
cmQpCit7CisgICAgV2ViVGV4dENoZWNrZXI6OnNpbmdsZXRvbigpLT5jaGFuZ2VTcGVsbGluZ1Rv
V29yZCh0b0ltcGwocGFnZSksIHRvV1RGU3RyaW5nKHdvcmQpKTsKK30KKwordm9pZCBXS1RleHRD
aGVja2VyU2V0U3BlbGxDaGVja2luZ0xhbmd1YWdlcyhjb25zdCBjaGFyKiBjb25zdCogbGFuZ3Vh
Z2VzKQoreworI2lmIEVOQUJMRShTUEVMTENIRUNLKQorICAgIFZlY3RvcjxTdHJpbmc+IHNwZWxs
Q2hlY2tpbmdMYW5ndWFnZXM7CisgICAgZm9yIChzaXplX3QgaSA9IDA7IGxhbmd1YWdlc1tpXTsg
KytpKQorICAgICAgICBzcGVsbENoZWNraW5nTGFuZ3VhZ2VzLmFwcGVuZChTdHJpbmc6OmZyb21V
VEY4KGxhbmd1YWdlc1tpXSkpOworICAgIFdlYktpdDo6VGV4dENoZWNrZXI6OnNldFNwZWxsQ2hl
Y2tpbmdMYW5ndWFnZXMoc3BlbGxDaGVja2luZ0xhbmd1YWdlcyk7CisjZW5kaWYKK30KKworI2Vu
ZGlmIC8vIFBMQVRGT1JNKEdUSykKKwordm9pZCBXS1RleHRDaGVja2VyU2V0Q29udGludW91c1Nw
ZWxsQ2hlY2tpbmdFbmFibGVkKGJvb2wgZW5hYmxlZCkKK3sKKyAgICBXZWJLaXQ6OlRleHRDaGVj
a2VyOjpzZXRDb250aW51b3VzU3BlbGxDaGVja2luZ0VuYWJsZWQoZW5hYmxlZCk7Cit9CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQy9nbGliL1dLVGV4dENoZWNrZXJH
TGliLmggYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQy9nbGliL1dLVGV4dENoZWNrZXJH
TGliLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uODU4NzliMjE4ZDNlN2Q3ZjlhZGJhNWM1ZmQxM2UzM2RlYTIxYWFl
NQotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9DL2dsaWIv
V0tUZXh0Q2hlY2tlckdMaWIuaApAQCAtMCwwICsxLDk5IEBACisvKgorICogQ29weXJpZ2h0IChD
KSAyMDExIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1
dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQK
KyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dp
bmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3Vy
Y2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRo
aXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAy
LiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3Zl
IGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhl
IGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Ig
b3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBU
SElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRP
UlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJ
TkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMg
T0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBP
U0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENP
TlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURF
TlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJ
TkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRV
VEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBC
VVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9S
WSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZ
LCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5H
IElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJ
U0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI3ByYWdt
YSBvbmNlCisKKyNpbmNsdWRlIDxXZWJLaXQvV0tCYXNlLmg+CisjaW5jbHVkZSA8V2ViS2l0L1dL
VGV4dENoZWNrZXIuaD4KKworI2lmZGVmIF9fY3BsdXNwbHVzCitleHRlcm4gIkMiIHsKKyNlbmRp
ZgorCitXS19FWFBPUlQgdm9pZCBXS1RleHRDaGVja2VyU2V0VGVzdGluZ01vZGUoYm9vbCBlbmFi
bGVkKTsKKworI2lmIFBMQVRGT1JNKEdUSykKKworLy8gVGV4dENoZWNrZXIgQ2xpZW50Cit0eXBl
ZGVmIGJvb2wgKCpXS1RleHRDaGVja2VyQ29udGlub3VzU3BlbGxDaGVja2luZ0FsbG93ZWQpKGNv
bnN0IHZvaWQgKmNsaWVudEluZm8pOwordHlwZWRlZiBib29sICgqV0tUZXh0Q2hlY2tlckNvbnRp
bm91c1NwZWxsQ2hlY2tpbmdFbmFibGVkKShjb25zdCB2b2lkICpjbGllbnRJbmZvKTsKK3R5cGVk
ZWYgdm9pZCAoKldLVGV4dENoZWNrZXJTZXRDb250aW5vdXNTcGVsbENoZWNraW5nRW5hYmxlZCko
Ym9vbCBlbmFibGVkLCBjb25zdCB2b2lkICpjbGllbnRJbmZvKTsKK3R5cGVkZWYgYm9vbCAoKldL
VGV4dENoZWNrZXJHcmFtbWFyQ2hlY2tpbmdFbmFibGVkKShjb25zdCB2b2lkICpjbGllbnRJbmZv
KTsKK3R5cGVkZWYgdm9pZCAoKldLVGV4dENoZWNrZXJTZXRHcmFtbWFyQ2hlY2tpbmdFbmFibGVk
KShib29sIGVuYWJsZWQsIGNvbnN0IHZvaWQgKmNsaWVudEluZm8pOwordHlwZWRlZiB1aW50NjRf
dCAoKldLVGV4dENoZWNrZXJVbmlxdWVTcGVsbERvY3VtZW50VGFnKShXS1BhZ2VSZWYgcGFnZSwg
Y29uc3Qgdm9pZCAqY2xpZW50SW5mbyk7Cit0eXBlZGVmIHZvaWQgKCpXS1RleHRDaGVja2VyQ2xv
c2VTcGVsbERvY3VtZW50V2l0aFRhZykodWludDY0X3QgdGFnLCBjb25zdCB2b2lkICpjbGllbnRJ
bmZvKTsKK3R5cGVkZWYgdm9pZCAoKldLVGV4dENoZWNrZXJDaGVja1NwZWxsaW5nT2ZTdHJpbmcp
KHVpbnQ2NF90IHRhZywgV0tTdHJpbmdSZWYgdGV4dCwgaW50MzJfdCogbWlzc3BlbGxpbmdMb2Nh
dGlvbiwgaW50MzJfdCogbWlzc3BlbGxpbmdMZW5ndGgsIGNvbnN0IHZvaWQgKmNsaWVudEluZm8p
OwordHlwZWRlZiB2b2lkICgqV0tUZXh0Q2hlY2tlckNoZWNrR3JhbW1hck9mU3RyaW5nKSh1aW50
NjRfdCB0YWcsIFdLU3RyaW5nUmVmIHRleHQsIFdLQXJyYXlSZWYqIGdyYW1tYXJEZXRhaWxzLCBp
bnQzMl90KiBiYWRHcmFtbWFyTG9jYXRpb24sIGludDMyX3QqIGJhZEdyYW1tYXJMZW5ndGgsIGNv
bnN0IHZvaWQgKmNsaWVudEluZm8pOwordHlwZWRlZiBib29sICgqV0tUZXh0Q2hlY2tlclNwZWxs
aW5nVUlJc1Nob3dpbmcpKGNvbnN0IHZvaWQgKmNsaWVudEluZm8pOwordHlwZWRlZiB2b2lkICgq
V0tUZXh0Q2hlY2tlclRvZ2dsZVNwZWxsaW5nVUlJc1Nob3dpbmcpKGNvbnN0IHZvaWQgKmNsaWVu
dEluZm8pOwordHlwZWRlZiB2b2lkICgqV0tUZXh0Q2hlY2tlclVwZGF0ZVNwZWxsaW5nVUlXaXRo
TWlzc3BlbGxlZFdvcmQpKHVpbnQ2NF90IHRhZywgV0tTdHJpbmdSZWYgbWlzc3BlbGxlZFdvcmQs
IGNvbnN0IHZvaWQgKmNsaWVudEluZm8pOwordHlwZWRlZiB2b2lkICgqV0tUZXh0Q2hlY2tlclVw
ZGF0ZVNwZWxsaW5nVUlXaXRoR3JhbW1hclN0cmluZykodWludDY0X3QgdGFnLCBXS1N0cmluZ1Jl
ZiBiYWRHcmFtbWFyUGhyYXNlLCBXS0dyYW1tYXJEZXRhaWxSZWYgZ3JhbW1hckRldGFpbCwgY29u
c3Qgdm9pZCAqY2xpZW50SW5mbyk7Cit0eXBlZGVmIFdLQXJyYXlSZWYgKCpXS1RleHRDaGVja2Vy
R3Vlc3Nlc0ZvcldvcmQpKHVpbnQ2NF90IHRhZywgV0tTdHJpbmdSZWYgd29yZCwgY29uc3Qgdm9p
ZCAqY2xpZW50SW5mbyk7Cit0eXBlZGVmIHZvaWQgKCpXS1RleHRDaGVja2VyTGVhcm5Xb3JkKSh1
aW50NjRfdCB0YWcsIFdLU3RyaW5nUmVmIHdvcmQsIGNvbnN0IHZvaWQgKmNsaWVudEluZm8pOwor
dHlwZWRlZiB2b2lkICgqV0tUZXh0Q2hlY2tlcklnbm9yZVdvcmQpKHVpbnQ2NF90IHRhZywgV0tT
dHJpbmdSZWYgd29yZCwgY29uc3Qgdm9pZCAqY2xpZW50SW5mbyk7CisKK3R5cGVkZWYgc3RydWN0
IFdLVGV4dENoZWNrZXJDbGllbnRCYXNlIHsKKyAgICBpbnQgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2ZXJzaW9uOwor
ICAgIGNvbnN0IHZvaWQgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGNsaWVudEluZm87Cit9IFdLVGV4dENoZWNrZXJDbGllbnRCYXNl
OworCit0eXBlZGVmIHN0cnVjdCBXS1RleHRDaGVja2VyQ2xpZW50VjAgeworICAgIFdLVGV4dENo
ZWNrZXJDbGllbnRCYXNlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGJhc2U7CisKKyAgICBXS1RleHRDaGVja2VyQ29udGlub3VzU3BlbGxDaGVja2luZ0Fs
bG93ZWQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb250aW51b3VzU3BlbGxDaGVja2lu
Z0FsbG93ZWQ7CisgICAgV0tUZXh0Q2hlY2tlckNvbnRpbm91c1NwZWxsQ2hlY2tpbmdFbmFibGVk
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29udGludW91c1NwZWxsQ2hlY2tpbmdFbmFi
bGVkOworICAgIFdLVGV4dENoZWNrZXJTZXRDb250aW5vdXNTcGVsbENoZWNraW5nRW5hYmxlZCAg
ICAgICAgICAgICAgICAgICAgICAgICAgIHNldENvbnRpbnVvdXNTcGVsbENoZWNraW5nRW5hYmxl
ZDsKKyAgICBXS1RleHRDaGVja2VyR3JhbW1hckNoZWNraW5nRW5hYmxlZCAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBncmFtbWFyQ2hlY2tpbmdFbmFibGVkOworICAgIFdLVGV4
dENoZWNrZXJTZXRHcmFtbWFyQ2hlY2tpbmdFbmFibGVkICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIHNldEdyYW1tYXJDaGVja2luZ0VuYWJsZWQ7CisgICAgV0tUZXh0Q2hlY2tlclVu
aXF1ZVNwZWxsRG9jdW1lbnRUYWcgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
dW5pcXVlU3BlbGxEb2N1bWVudFRhZzsKKyAgICBXS1RleHRDaGVja2VyQ2xvc2VTcGVsbERvY3Vt
ZW50V2l0aFRhZyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbG9zZVNwZWxsRG9j
dW1lbnRXaXRoVGFnOworICAgIFdLVGV4dENoZWNrZXJDaGVja1NwZWxsaW5nT2ZTdHJpbmcgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNoZWNrU3BlbGxpbmdPZlN0cmluZzsK
KyAgICBXS1RleHRDaGVja2VyQ2hlY2tHcmFtbWFyT2ZTdHJpbmcgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBjaGVja0dyYW1tYXJPZlN0cmluZzsKKyAgICBXS1RleHRDaGVj
a2VyU3BlbGxpbmdVSUlzU2hvd2luZyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBzcGVsbGluZ1VJSXNTaG93aW5nOworICAgIFdLVGV4dENoZWNrZXJUb2dnbGVTcGVsbGlu
Z1VJSXNTaG93aW5nICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRvZ2dsZVNwZWxs
aW5nVUlJc1Nob3dpbmc7CisgICAgV0tUZXh0Q2hlY2tlclVwZGF0ZVNwZWxsaW5nVUlXaXRoTWlz
c3BlbGxlZFdvcmQgICAgICAgICAgICAgICAgICAgICAgICAgdXBkYXRlU3BlbGxpbmdVSVdpdGhN
aXNzcGVsbGVkV29yZDsKKyAgICBXS1RleHRDaGVja2VyVXBkYXRlU3BlbGxpbmdVSVdpdGhHcmFt
bWFyU3RyaW5nICAgICAgICAgICAgICAgICAgICAgICAgICB1cGRhdGVTcGVsbGluZ1VJV2l0aEdy
YW1tYXJTdHJpbmc7CisgICAgV0tUZXh0Q2hlY2tlckd1ZXNzZXNGb3JXb3JkICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ3Vlc3Nlc0ZvcldvcmQ7CisgICAgV0tU
ZXh0Q2hlY2tlckxlYXJuV29yZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgbGVhcm5Xb3JkOworICAgIFdLVGV4dENoZWNrZXJJZ25vcmVXb3JkICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlnbm9yZVdvcmQ7Cit9
IFdLVGV4dENoZWNrZXJDbGllbnRWMDsKKworV0tfRVhQT1JUIHZvaWQgV0tUZXh0Q2hlY2tlclNl
dENsaWVudChjb25zdCBXS1RleHRDaGVja2VyQ2xpZW50QmFzZSogY2xpZW50KTsKKworV0tfRVhQ
T1JUIHZvaWQgV0tUZXh0Q2hlY2tlckNvbnRpbnVvdXNTcGVsbENoZWNraW5nRW5hYmxlZFN0YXRl
Q2hhbmdlZChib29sKTsKK1dLX0VYUE9SVCB2b2lkIFdLVGV4dENoZWNrZXJHcmFtbWFyQ2hlY2tp
bmdFbmFibGVkU3RhdGVDaGFuZ2VkKGJvb2wpOworCitXS19FWFBPUlQgdm9pZCBXS1RleHRDaGVj
a2VyQ2hlY2tTcGVsbGluZyhXS1BhZ2VSZWYgcGFnZSwgYm9vbCBzdGFydEJlZm9yZVNlbGVjdGlv
bik7CitXS19FWFBPUlQgdm9pZCBXS1RleHRDaGVja2VyQ2hhbmdlU3BlbGxpbmdUb1dvcmQoV0tQ
YWdlUmVmIHBhZ2UsIFdLU3RyaW5nUmVmIHdvcmQpOworCitXS19FWFBPUlQgdm9pZCBXS1RleHRD
aGVja2VyU2V0U3BlbGxDaGVja2luZ0xhbmd1YWdlcyhjb25zdCBjaGFyKiBjb25zdCogbGFuZ3Vh
Z2VzKTsKKworI2VuZGlmIC8vIFBMQVRGT1JNKEdUSykKKworV0tfRVhQT1JUIHZvaWQgV0tUZXh0
Q2hlY2tlclNldENvbnRpbnVvdXNTcGVsbENoZWNraW5nRW5hYmxlZChib29sKTsKKworI2lmZGVm
IF9fY3BsdXNwbHVzCit9CisjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9j
ZXNzL0FQSS9DL2d0ay9XS1RleHRDaGVja2VyR3RrLmNwcCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9j
ZXNzL0FQSS9DL2d0ay9XS1RleHRDaGVja2VyR3RrLmNwcApkZWxldGVkIGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggN2ZiZmIwNzUyNjZhOWE4YjlmY2RlMTA1NzllNTc4NGQ0MGEyMDdhMC4uMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJ
UHJvY2Vzcy9BUEkvQy9ndGsvV0tUZXh0Q2hlY2tlckd0ay5jcHAKKysrIC9kZXYvbnVsbApAQCAt
MSw3NiArMCwwIEBACi0vKgotICogQ29weXJpZ2h0IChDKSAyMDExIEFwcGxlIEluYy4gQWxsIHJp
Z2h0cyByZXNlcnZlZC4KLSAqCi0gKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBh
bmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKLSAqIG1vZGlmaWNhdGlvbiwgYXJlIHBl
cm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwotICogYXJlIG1l
dDoKLSAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUg
YWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFu
ZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCi0gKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmlu
YXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNl
LCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGlu
IHRoZQotICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVk
IHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KLSAqCi0gKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVE
IEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCi0gKiBBTkQgQU5Z
IEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRF
RCBUTywKLSAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBG
SVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKLSAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5P
IEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUwotICogQkUgTElBQkxF
IEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZ
LCBPUgotICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRF
RCBUTywgUFJPQ1VSRU1FTlQgT0YKLSAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExP
U1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUwotICogSU5URVJSVVBUSU9O
KSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIg
SU4KLSAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVH
TElHRU5DRSBPUiBPVEhFUldJU0UpCi0gKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBV
U0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCi0gKiBUSEUgUE9TU0lCSUxJ
VFkgT0YgU1VDSCBEQU1BR0UuCi0gKi8KLQotI2luY2x1ZGUgImNvbmZpZy5oIgotI2luY2x1ZGUg
IldLVGV4dENoZWNrZXJHdGsuaCIKLQotI2luY2x1ZGUgIlRleHRDaGVja2VyLmgiCi0jaW5jbHVk
ZSAiV0tBUElDYXN0LmgiCi0jaW5jbHVkZSAiV2ViUGFnZVByb3h5LmgiCi0jaW5jbHVkZSAiV2Vi
VGV4dENoZWNrZXIuaCIKLQotdXNpbmcgbmFtZXNwYWNlIFdlYktpdDsKLQotdm9pZCBXS1RleHRD
aGVja2VyU2V0Q2xpZW50KGNvbnN0IFdLVGV4dENoZWNrZXJDbGllbnRCYXNlKiB3a0NsaWVudCkK
LXsKLSAgICBpZiAod2tDbGllbnQgJiYgd2tDbGllbnQtPnZlcnNpb24pCi0gICAgICAgIHJldHVy
bjsKLSAgICBXZWJUZXh0Q2hlY2tlcjo6c2luZ2xldG9uKCktPnNldENsaWVudCh3a0NsaWVudCk7
Ci19Ci0KLXZvaWQgV0tUZXh0Q2hlY2tlckNvbnRpbnVvdXNTcGVsbENoZWNraW5nRW5hYmxlZFN0
YXRlQ2hhbmdlZChib29sIGVuYWJsZWQpCi17Ci0gICAgV2ViVGV4dENoZWNrZXI6OnNpbmdsZXRv
bigpLT5jb250aW51b3VzU3BlbGxDaGVja2luZ0VuYWJsZWRTdGF0ZUNoYW5nZWQoZW5hYmxlZCk7
Ci19Ci0KLXZvaWQgV0tUZXh0Q2hlY2tlckdyYW1tYXJDaGVja2luZ0VuYWJsZWRTdGF0ZUNoYW5n
ZWQoYm9vbCBlbmFibGVkKQotewotICAgIFdlYlRleHRDaGVja2VyOjpzaW5nbGV0b24oKS0+Z3Jh
bW1hckNoZWNraW5nRW5hYmxlZFN0YXRlQ2hhbmdlZChlbmFibGVkKTsKLX0KLQotdm9pZCBXS1Rl
eHRDaGVja2VyQ2hlY2tTcGVsbGluZyhXS1BhZ2VSZWYgcGFnZSwgYm9vbCBzdGFydEJlZm9yZVNl
bGVjdGlvbikKLXsKLSAgICBXZWJUZXh0Q2hlY2tlcjo6c2luZ2xldG9uKCktPmNoZWNrU3BlbGxp
bmcodG9JbXBsKHBhZ2UpLCBzdGFydEJlZm9yZVNlbGVjdGlvbik7Ci19Ci0KLXZvaWQgV0tUZXh0
Q2hlY2tlckNoYW5nZVNwZWxsaW5nVG9Xb3JkKFdLUGFnZVJlZiBwYWdlLCBXS1N0cmluZ1JlZiB3
b3JkKQotewotICAgIFdlYlRleHRDaGVja2VyOjpzaW5nbGV0b24oKS0+Y2hhbmdlU3BlbGxpbmdU
b1dvcmQodG9JbXBsKHBhZ2UpLCB0b1dURlN0cmluZyh3b3JkKSk7Ci19Ci0KLXZvaWQgV0tUZXh0
Q2hlY2tlclNldFNwZWxsQ2hlY2tpbmdMYW5ndWFnZXMoY29uc3QgY2hhciogY29uc3QqIGxhbmd1
YWdlcykKLXsKLSNpZiBFTkFCTEUoU1BFTExDSEVDSykKLSAgICBWZWN0b3I8U3RyaW5nPiBzcGVs
bENoZWNraW5nTGFuZ3VhZ2VzOwotICAgIGZvciAoc2l6ZV90IGkgPSAwOyBsYW5ndWFnZXNbaV07
ICsraSkKLSAgICAgICAgc3BlbGxDaGVja2luZ0xhbmd1YWdlcy5hcHBlbmQoU3RyaW5nOjpmcm9t
VVRGOChsYW5ndWFnZXNbaV0pKTsKLSAgICBXZWJLaXQ6OlRleHRDaGVja2VyOjpzZXRTcGVsbENo
ZWNraW5nTGFuZ3VhZ2VzKHNwZWxsQ2hlY2tpbmdMYW5ndWFnZXMpOwotI2VuZGlmCi19Ci0KLXZv
aWQgV0tUZXh0Q2hlY2tlclNldENvbnRpbnVvdXNTcGVsbENoZWNraW5nRW5hYmxlZChib29sIGVu
YWJsZWQpCi17Ci0gICAgV2ViS2l0OjpUZXh0Q2hlY2tlcjo6c2V0Q29udGludW91c1NwZWxsQ2hl
Y2tpbmdFbmFibGVkKGVuYWJsZWQpOwotfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVBy
b2Nlc3MvQVBJL0MvZ3RrL1dLVGV4dENoZWNrZXJHdGsuaCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9j
ZXNzL0FQSS9DL2d0ay9XS1RleHRDaGVja2VyR3RrLmgKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDQyZTlmYTRmMTc4MDcxNDAxYzA4YzI4MjgyMmQxOWUzZDM2NTY4ZmIuLjAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvU291cmNlL1dlYktpdC9VSVBy
b2Nlc3MvQVBJL0MvZ3RrL1dLVGV4dENoZWNrZXJHdGsuaAorKysgL2Rldi9udWxsCkBAIC0xLDk3
ICswLDAgQEAKLS8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTEgQXBwbGUgSW5jLiBBbGwgcmlnaHRz
IHJlc2VydmVkLgotICoKLSAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBi
aW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAotICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0
dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCi0gKiBhcmUgbWV0Ogot
ICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92
ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRo
ZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KLSAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkg
Zm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRo
aXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhl
Ci0gKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0
aCB0aGUgZGlzdHJpYnV0aW9uLgotICoKLSAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkg
QVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKLSAqIEFORCBBTlkgRVhQ
UkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRP
LAotICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5F
U1MgRk9SIEEgUEFSVElDVUxBUgotICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZF
TlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCi0gKiBCRSBMSUFCTEUgRk9S
IEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9S
Ci0gKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRP
LCBQUk9DVVJFTUVOVCBPRgotICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBP
RiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCi0gKiBJTlRFUlJVUFRJT04pIEhP
V0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgot
ICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdF
TkNFIE9SIE9USEVSV0lTRSkKLSAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBP
RiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKLSAqIFRIRSBQT1NTSUJJTElUWSBP
RiBTVUNIIERBTUFHRS4KLSAqLwotCi0jaWZuZGVmIFdLVGV4dENoZWNrZXJHdGtfaAotI2RlZmlu
ZSBXS1RleHRDaGVja2VyR3RrX2gKLQotI2luY2x1ZGUgPFdlYktpdC9XS0Jhc2UuaD4KLSNpbmNs
dWRlIDxXZWJLaXQvV0tUZXh0Q2hlY2tlci5oPgotCi0jaWZkZWYgX19jcGx1c3BsdXMKLWV4dGVy
biAiQyIgewotI2VuZGlmCi0KLVdLX0VYUE9SVCB2b2lkIFdLVGV4dENoZWNrZXJTZXRUZXN0aW5n
TW9kZShib29sIGVuYWJsZWQpOwotCi0vLyBUZXh0Q2hlY2tlciBDbGllbnQKLXR5cGVkZWYgYm9v
bCAoKldLVGV4dENoZWNrZXJDb250aW5vdXNTcGVsbENoZWNraW5nQWxsb3dlZCkoY29uc3Qgdm9p
ZCAqY2xpZW50SW5mbyk7Ci10eXBlZGVmIGJvb2wgKCpXS1RleHRDaGVja2VyQ29udGlub3VzU3Bl
bGxDaGVja2luZ0VuYWJsZWQpKGNvbnN0IHZvaWQgKmNsaWVudEluZm8pOwotdHlwZWRlZiB2b2lk
ICgqV0tUZXh0Q2hlY2tlclNldENvbnRpbm91c1NwZWxsQ2hlY2tpbmdFbmFibGVkKShib29sIGVu
YWJsZWQsIGNvbnN0IHZvaWQgKmNsaWVudEluZm8pOwotdHlwZWRlZiBib29sICgqV0tUZXh0Q2hl
Y2tlckdyYW1tYXJDaGVja2luZ0VuYWJsZWQpKGNvbnN0IHZvaWQgKmNsaWVudEluZm8pOwotdHlw
ZWRlZiB2b2lkICgqV0tUZXh0Q2hlY2tlclNldEdyYW1tYXJDaGVja2luZ0VuYWJsZWQpKGJvb2wg
ZW5hYmxlZCwgY29uc3Qgdm9pZCAqY2xpZW50SW5mbyk7Ci10eXBlZGVmIHVpbnQ2NF90ICgqV0tU
ZXh0Q2hlY2tlclVuaXF1ZVNwZWxsRG9jdW1lbnRUYWcpKFdLUGFnZVJlZiBwYWdlLCBjb25zdCB2
b2lkICpjbGllbnRJbmZvKTsKLXR5cGVkZWYgdm9pZCAoKldLVGV4dENoZWNrZXJDbG9zZVNwZWxs
RG9jdW1lbnRXaXRoVGFnKSh1aW50NjRfdCB0YWcsIGNvbnN0IHZvaWQgKmNsaWVudEluZm8pOwot
dHlwZWRlZiB2b2lkICgqV0tUZXh0Q2hlY2tlckNoZWNrU3BlbGxpbmdPZlN0cmluZykodWludDY0
X3QgdGFnLCBXS1N0cmluZ1JlZiB0ZXh0LCBpbnQzMl90KiBtaXNzcGVsbGluZ0xvY2F0aW9uLCBp
bnQzMl90KiBtaXNzcGVsbGluZ0xlbmd0aCwgY29uc3Qgdm9pZCAqY2xpZW50SW5mbyk7Ci10eXBl
ZGVmIHZvaWQgKCpXS1RleHRDaGVja2VyQ2hlY2tHcmFtbWFyT2ZTdHJpbmcpKHVpbnQ2NF90IHRh
ZywgV0tTdHJpbmdSZWYgdGV4dCwgV0tBcnJheVJlZiogZ3JhbW1hckRldGFpbHMsIGludDMyX3Qq
IGJhZEdyYW1tYXJMb2NhdGlvbiwgaW50MzJfdCogYmFkR3JhbW1hckxlbmd0aCwgY29uc3Qgdm9p
ZCAqY2xpZW50SW5mbyk7Ci10eXBlZGVmIGJvb2wgKCpXS1RleHRDaGVja2VyU3BlbGxpbmdVSUlz
U2hvd2luZykoY29uc3Qgdm9pZCAqY2xpZW50SW5mbyk7Ci10eXBlZGVmIHZvaWQgKCpXS1RleHRD
aGVja2VyVG9nZ2xlU3BlbGxpbmdVSUlzU2hvd2luZykoY29uc3Qgdm9pZCAqY2xpZW50SW5mbyk7
Ci10eXBlZGVmIHZvaWQgKCpXS1RleHRDaGVja2VyVXBkYXRlU3BlbGxpbmdVSVdpdGhNaXNzcGVs
bGVkV29yZCkodWludDY0X3QgdGFnLCBXS1N0cmluZ1JlZiBtaXNzcGVsbGVkV29yZCwgY29uc3Qg
dm9pZCAqY2xpZW50SW5mbyk7Ci10eXBlZGVmIHZvaWQgKCpXS1RleHRDaGVja2VyVXBkYXRlU3Bl
bGxpbmdVSVdpdGhHcmFtbWFyU3RyaW5nKSh1aW50NjRfdCB0YWcsIFdLU3RyaW5nUmVmIGJhZEdy
YW1tYXJQaHJhc2UsIFdLR3JhbW1hckRldGFpbFJlZiBncmFtbWFyRGV0YWlsLCBjb25zdCB2b2lk
ICpjbGllbnRJbmZvKTsKLXR5cGVkZWYgV0tBcnJheVJlZiAoKldLVGV4dENoZWNrZXJHdWVzc2Vz
Rm9yV29yZCkodWludDY0X3QgdGFnLCBXS1N0cmluZ1JlZiB3b3JkLCBjb25zdCB2b2lkICpjbGll
bnRJbmZvKTsKLXR5cGVkZWYgdm9pZCAoKldLVGV4dENoZWNrZXJMZWFybldvcmQpKHVpbnQ2NF90
IHRhZywgV0tTdHJpbmdSZWYgd29yZCwgY29uc3Qgdm9pZCAqY2xpZW50SW5mbyk7Ci10eXBlZGVm
IHZvaWQgKCpXS1RleHRDaGVja2VySWdub3JlV29yZCkodWludDY0X3QgdGFnLCBXS1N0cmluZ1Jl
ZiB3b3JkLCBjb25zdCB2b2lkICpjbGllbnRJbmZvKTsKLQotdHlwZWRlZiBzdHJ1Y3QgV0tUZXh0
Q2hlY2tlckNsaWVudEJhc2UgewotICAgIGludCAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZlcnNpb247Ci0gICAgY29u
c3Qgdm9pZCAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgY2xpZW50SW5mbzsKLX0gV0tUZXh0Q2hlY2tlckNsaWVudEJhc2U7Ci0KLXR5
cGVkZWYgc3RydWN0IFdLVGV4dENoZWNrZXJDbGllbnRWMCB7Ci0gICAgV0tUZXh0Q2hlY2tlckNs
aWVudEJhc2UgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
YmFzZTsKLQotICAgIFdLVGV4dENoZWNrZXJDb250aW5vdXNTcGVsbENoZWNraW5nQWxsb3dlZCAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRpbnVvdXNTcGVsbENoZWNraW5nQWxsb3dl
ZDsKLSAgICBXS1RleHRDaGVja2VyQ29udGlub3VzU3BlbGxDaGVja2luZ0VuYWJsZWQgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBjb250aW51b3VzU3BlbGxDaGVja2luZ0VuYWJsZWQ7Ci0g
ICAgV0tUZXh0Q2hlY2tlclNldENvbnRpbm91c1NwZWxsQ2hlY2tpbmdFbmFibGVkICAgICAgICAg
ICAgICAgICAgICAgICAgICAgc2V0Q29udGludW91c1NwZWxsQ2hlY2tpbmdFbmFibGVkOwotICAg
IFdLVGV4dENoZWNrZXJHcmFtbWFyQ2hlY2tpbmdFbmFibGVkICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGdyYW1tYXJDaGVja2luZ0VuYWJsZWQ7Ci0gICAgV0tUZXh0Q2hlY2tl
clNldEdyYW1tYXJDaGVja2luZ0VuYWJsZWQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgc2V0R3JhbW1hckNoZWNraW5nRW5hYmxlZDsKLSAgICBXS1RleHRDaGVja2VyVW5pcXVlU3Bl
bGxEb2N1bWVudFRhZyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1bmlxdWVT
cGVsbERvY3VtZW50VGFnOwotICAgIFdLVGV4dENoZWNrZXJDbG9zZVNwZWxsRG9jdW1lbnRXaXRo
VGFnICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsb3NlU3BlbGxEb2N1bWVudFdp
dGhUYWc7Ci0gICAgV0tUZXh0Q2hlY2tlckNoZWNrU3BlbGxpbmdPZlN0cmluZyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgY2hlY2tTcGVsbGluZ09mU3RyaW5nOwotICAgIFdL
VGV4dENoZWNrZXJDaGVja0dyYW1tYXJPZlN0cmluZyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGNoZWNrR3JhbW1hck9mU3RyaW5nOwotICAgIFdLVGV4dENoZWNrZXJTcGVs
bGluZ1VJSXNTaG93aW5nICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNw
ZWxsaW5nVUlJc1Nob3dpbmc7Ci0gICAgV0tUZXh0Q2hlY2tlclRvZ2dsZVNwZWxsaW5nVUlJc1No
b3dpbmcgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdG9nZ2xlU3BlbGxpbmdVSUlz
U2hvd2luZzsKLSAgICBXS1RleHRDaGVja2VyVXBkYXRlU3BlbGxpbmdVSVdpdGhNaXNzcGVsbGVk
V29yZCAgICAgICAgICAgICAgICAgICAgICAgICB1cGRhdGVTcGVsbGluZ1VJV2l0aE1pc3NwZWxs
ZWRXb3JkOwotICAgIFdLVGV4dENoZWNrZXJVcGRhdGVTcGVsbGluZ1VJV2l0aEdyYW1tYXJTdHJp
bmcgICAgICAgICAgICAgICAgICAgICAgICAgIHVwZGF0ZVNwZWxsaW5nVUlXaXRoR3JhbW1hclN0
cmluZzsKLSAgICBXS1RleHRDaGVja2VyR3Vlc3Nlc0ZvcldvcmQgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBndWVzc2VzRm9yV29yZDsKLSAgICBXS1RleHRDaGVj
a2VyTGVhcm5Xb3JkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBsZWFybldvcmQ7Ci0gICAgV0tUZXh0Q2hlY2tlcklnbm9yZVdvcmQgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWdub3JlV29yZDsKLX0gV0tUZXh0
Q2hlY2tlckNsaWVudFYwOwotCi1XS19FWFBPUlQgdm9pZCBXS1RleHRDaGVja2VyU2V0Q2xpZW50
KGNvbnN0IFdLVGV4dENoZWNrZXJDbGllbnRCYXNlKiBjbGllbnQpOwotCi1XS19FWFBPUlQgdm9p
ZCBXS1RleHRDaGVja2VyQ29udGludW91c1NwZWxsQ2hlY2tpbmdFbmFibGVkU3RhdGVDaGFuZ2Vk
KGJvb2wpOwotV0tfRVhQT1JUIHZvaWQgV0tUZXh0Q2hlY2tlckdyYW1tYXJDaGVja2luZ0VuYWJs
ZWRTdGF0ZUNoYW5nZWQoYm9vbCk7Ci0KLVdLX0VYUE9SVCB2b2lkIFdLVGV4dENoZWNrZXJDaGVj
a1NwZWxsaW5nKFdLUGFnZVJlZiBwYWdlLCBib29sIHN0YXJ0QmVmb3JlU2VsZWN0aW9uKTsKLVdL
X0VYUE9SVCB2b2lkIFdLVGV4dENoZWNrZXJDaGFuZ2VTcGVsbGluZ1RvV29yZChXS1BhZ2VSZWYg
cGFnZSwgV0tTdHJpbmdSZWYgd29yZCk7Ci0KLVdLX0VYUE9SVCB2b2lkIFdLVGV4dENoZWNrZXJT
ZXRTcGVsbENoZWNraW5nTGFuZ3VhZ2VzKGNvbnN0IGNoYXIqIGNvbnN0KiBsYW5ndWFnZXMpOwot
V0tfRVhQT1JUIHZvaWQgV0tUZXh0Q2hlY2tlclNldENvbnRpbnVvdXNTcGVsbENoZWNraW5nRW5h
YmxlZChib29sKTsKLQotI2lmZGVmIF9fY3BsdXNwbHVzCi19Ci0jZW5kaWYKLQotI2VuZGlmCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9ndGsvV2ViVGV4dENoZWNrZXIuaCBi
L1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL2d0ay9XZWJUZXh0Q2hlY2tlci5oCmluZGV4IDFiZGI2
M2JjZTU2YWZlYjY3YTQ2Zjc5NWYxNDkzZGI5OTdmODViMjcuLjVkZTkzNjRkNzg0MzdiYzI3YmIx
OGNhMWQ1MTRlNDkwMzA5OTljNjEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNz
L2d0ay9XZWJUZXh0Q2hlY2tlci5oCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL2d0ay9X
ZWJUZXh0Q2hlY2tlci5oCkBAIC0yNiw3ICsyNiw3IEBACiAjcHJhZ21hIG9uY2UKIAogI2luY2x1
ZGUgIkFQSU9iamVjdC5oIgotI2luY2x1ZGUgIldLVGV4dENoZWNrZXJHdGsuaCIKKyNpbmNsdWRl
ICJXS1RleHRDaGVja2VyR0xpYi5oIgogI2luY2x1ZGUgIldlYlRleHRDaGVja2VyQ2xpZW50Lmgi
CiAjaW5jbHVkZSA8d3RmL0ZvcndhcmQuaD4KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9V
SVByb2Nlc3MvZ3RrL1dlYlRleHRDaGVja2VyQ2xpZW50LmggYi9Tb3VyY2UvV2ViS2l0L1VJUHJv
Y2Vzcy9ndGsvV2ViVGV4dENoZWNrZXJDbGllbnQuaAppbmRleCA4OTk1Y2U4YjYzYzJmMDEzYWU1
MDBhYzMzYzQ2ZTM0MzZkOTZmNjg1Li40N2ZiMmQzMWU0MThhZGM4NmNhNjdhN2QzMTNiODEzNzNi
Y2JhYTk5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9ndGsvV2ViVGV4dENo
ZWNrZXJDbGllbnQuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9ndGsvV2ViVGV4dENo
ZWNrZXJDbGllbnQuaApAQCAtMjYsNyArMjYsNyBAQAogI3ByYWdtYSBvbmNlCiAKICNpbmNsdWRl
ICJBUElDbGllbnQuaCIKLSNpbmNsdWRlICJXS1RleHRDaGVja2VyR3RrLmgiCisjaW5jbHVkZSAi
V0tUZXh0Q2hlY2tlckdMaWIuaCIKICNpbmNsdWRlIDxXZWJDb3JlL1RleHRDaGVja2VyQ2xpZW50
Lmg+CiAjaW5jbHVkZSA8d3RmL0ZvcndhcmQuaD4KIApkaWZmIC0tZ2l0IGEvVG9vbHMvQ2hhbmdl
TG9nIGIvVG9vbHMvQ2hhbmdlTG9nCmluZGV4IDdkMDkwN2QwMDQ3YWExYWEyYjgzYmIzMjc5NWNk
ZTY0ZWI4ZGJiODMuLjJlYmJkYTA1MjU2MDg5MmI2ZDU3ODFmOTBhNDRiMmFhZjZmYWJhZTUgMTAw
NjQ0Ci0tLSBhL1Rvb2xzL0NoYW5nZUxvZworKysgYi9Ub29scy9DaGFuZ2VMb2cKQEAgLTEsMyAr
MSwxNiBAQAorMjAyMS0xMC0wOCAgTWljaGFlbCBDYXRhbnphcm8gIDxtY2F0YW56YXJvQGdub21l
Lm9yZz4KKworICAgICAgICBbV1BFXSBFeHBvc2UgV0tUZXh0Q2hlY2tlclNldENvbnRpbnVvdXNT
cGVsbENoZWNraW5nRW5hYmxlZCBhbmQgdXNlIGl0IGZyb20gV0tUUgorICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjMxNDQ2CisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBXZWJLaXRUZXN0UnVubmVyL2d0ay9U
ZXN0Q29udHJvbGxlckd0ay5jcHA6CisgICAgICAgICogV2ViS2l0VGVzdFJ1bm5lci9ndGsvVUlT
Y3JpcHRDb250cm9sbGVyR3RrLmNwcDoKKyAgICAgICAgKiBXZWJLaXRUZXN0UnVubmVyL2d0ay9t
YWluLmNwcDoKKyAgICAgICAgKiBXZWJLaXRUZXN0UnVubmVyL3dwZS9VSVNjcmlwdENvbnRyb2xs
ZXJXUEUuY3BwOgorICAgICAgICAoV1RSOjpVSVNjcmlwdENvbnRyb2xsZXJXUEU6OnNldENvbnRp
bnVvdXNTcGVsbENoZWNraW5nRW5hYmxlZCk6CisKIDIwMjEtMTAtMDggIEpvbmF0aGFuIEJlZGFy
ZCAgPGpiZWRhcmRAYXBwbGUuY29tPgogCiAgICAgICAgIFtjb250cmlidXRvcnMuanNvbl0gU3Vw
cG9ydCBHaXRIdWIgdXNlcm5hbWVzCmRpZmYgLS1naXQgYS9Ub29scy9XZWJLaXRUZXN0UnVubmVy
L2d0ay9UZXN0Q29udHJvbGxlckd0ay5jcHAgYi9Ub29scy9XZWJLaXRUZXN0UnVubmVyL2d0ay9U
ZXN0Q29udHJvbGxlckd0ay5jcHAKaW5kZXggMTE0YzdhODEyZDc2YWJkOWE4YThlZDUxNjg0NzFj
MGI1ZmQ3MTEyNC4uNTg0NzIyNTZkZjZlMTUxZDRkODBiNjNhMTdkOTRkOTNjMWFhMDg0MyAxMDA2
NDQKLS0tIGEvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9ndGsvVGVzdENvbnRyb2xsZXJHdGsuY3Bw
CisrKyBiL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvZ3RrL1Rlc3RDb250cm9sbGVyR3RrLmNwcApA
QCAtMjgsNyArMjgsNyBAQAogI2luY2x1ZGUgIlRlc3RDb250cm9sbGVyLmgiCiAKICNpbmNsdWRl
ICJQbGF0Zm9ybVdlYlZpZXcuaCIKLSNpbmNsdWRlIDxXZWJLaXQvV0tUZXh0Q2hlY2tlckd0ay5o
PgorI2luY2x1ZGUgPFdlYktpdC9XS1RleHRDaGVja2VyR0xpYi5oPgogI2luY2x1ZGUgPGd0ay9n
dGsuaD4KICNpbmNsdWRlIDx3dGYvUGxhdGZvcm0uaD4KICNpbmNsdWRlIDx3dGYvUnVuTG9vcC5o
PgpkaWZmIC0tZ2l0IGEvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9ndGsvVUlTY3JpcHRDb250cm9s
bGVyR3RrLmNwcCBiL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvZ3RrL1VJU2NyaXB0Q29udHJvbGxl
ckd0ay5jcHAKaW5kZXggMzEyN2ZkOWIwNGNjNDVhZDY3MzlkNGExZTI0MTAwOTAyYmNiMDkxMi4u
MjhlOGE3YmJkOTNjZWM5YjgzYzFiZjc3YmJkYTIwZTU5N2JhZWFiYyAxMDA2NDQKLS0tIGEvVG9v
bHMvV2ViS2l0VGVzdFJ1bm5lci9ndGsvVUlTY3JpcHRDb250cm9sbGVyR3RrLmNwcAorKysgYi9U
b29scy9XZWJLaXRUZXN0UnVubmVyL2d0ay9VSVNjcmlwdENvbnRyb2xsZXJHdGsuY3BwCkBAIC0z
MSw3ICszMSw3IEBACiAjaW5jbHVkZSAiVGVzdENvbnRyb2xsZXIuaCIKICNpbmNsdWRlICJVSVNj
cmlwdENvbnRleHQuaCIKICNpbmNsdWRlIDxKYXZhU2NyaXB0Q29yZS9PcGFxdWVKU1N0cmluZy5o
PgotI2luY2x1ZGUgPFdlYktpdC9XS1RleHRDaGVja2VyR3RrLmg+CisjaW5jbHVkZSA8V2ViS2l0
L1dLVGV4dENoZWNrZXJHTGliLmg+CiAjaW5jbHVkZSA8V2ViS2l0L1dLVmlld1ByaXZhdGUuaD4K
ICNpbmNsdWRlIDxndGsvZ3RrLmg+CiAjaW5jbHVkZSA8d3RmL1J1bkxvb3AuaD4KZGlmZiAtLWdp
dCBhL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvZ3RrL21haW4uY3BwIGIvVG9vbHMvV2ViS2l0VGVz
dFJ1bm5lci9ndGsvbWFpbi5jcHAKaW5kZXggOGYyZWQ5ZjA5MGE4OGZhNDkwOTdjYThiOTRiMjRl
ZDU5NDNiMGU2Ni4uYjVhOTIyYTQ0OGZlN2UwNjVhYTA3OWMyNGJkMjkzYjY3OWE2ODhmNSAxMDA2
NDQKLS0tIGEvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9ndGsvbWFpbi5jcHAKKysrIGIvVG9vbHMv
V2ViS2l0VGVzdFJ1bm5lci9ndGsvbWFpbi5jcHAKQEAgLTI3LDcgKzI3LDcgQEAKIAogI2luY2x1
ZGUgIlRlc3RDb250cm9sbGVyLmgiCiAjaW5jbHVkZSA8V2ViQ29yZS9HdGtWZXJzaW9uaW5nLmg+
Ci0jaW5jbHVkZSA8V2ViS2l0L1dLVGV4dENoZWNrZXJHdGsuaD4KKyNpbmNsdWRlIDxXZWJLaXQv
V0tUZXh0Q2hlY2tlckdMaWIuaD4KICNpbmNsdWRlIDx3dGYvZ2xpYi9HUmVmUHRyLmg+CiAKIGlu
dCBtYWluKGludCBhcmdjLCBjaGFyKiogYXJndikKZGlmZiAtLWdpdCBhL1Rvb2xzL1dlYktpdFRl
c3RSdW5uZXIvd3BlL1VJU2NyaXB0Q29udHJvbGxlcldQRS5jcHAgYi9Ub29scy9XZWJLaXRUZXN0
UnVubmVyL3dwZS9VSVNjcmlwdENvbnRyb2xsZXJXUEUuY3BwCmluZGV4IDVkNTVhNjIxODMzYWEy
Yzg2YWU3MGViOGMwMTQxZWI2NjhmOWY0ZmIuLjBiODk2MjllYWRmZmUzOGZkYmE5Zjg2N2VlYzY5
ZjgzZWYzMThhYzkgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvd3BlL1VJU2Ny
aXB0Q29udHJvbGxlcldQRS5jcHAKKysrIGIvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci93cGUvVUlT
Y3JpcHRDb250cm9sbGVyV1BFLmNwcApAQCAtMjksOSArMjksOSBAQAogI2luY2x1ZGUgIkV2ZW50
U2VuZGVyUHJveHkuaCIKICNpbmNsdWRlICJQbGF0Zm9ybVdlYlZpZXcuaCIKICNpbmNsdWRlICJU
ZXN0Q29udHJvbGxlci5oIgotI2luY2x1ZGUgIlRleHRDaGVja2VyLmgiCiAjaW5jbHVkZSAiVUlT
Y3JpcHRDb250ZXh0LmgiCiAjaW5jbHVkZSA8SmF2YVNjcmlwdENvcmUvT3BhcXVlSlNTdHJpbmcu
aD4KKyNpbmNsdWRlIDxXZWJLaXQvV0tUZXh0Q2hlY2tlckdMaWIuaD4KICNpbmNsdWRlIDx3dGYv
UnVuTG9vcC5oPgogCiBuYW1lc3BhY2UgV1RSIHsKQEAgLTUzLDcgKzUzLDcgQEAgdm9pZCBVSVNj
cmlwdENvbnRyb2xsZXJXUEU6OmRvQXN5bmNUYXNrKEpTVmFsdWVSZWYgY2FsbGJhY2spCiAKIHZv
aWQgVUlTY3JpcHRDb250cm9sbGVyV1BFOjpzZXRDb250aW51b3VzU3BlbGxDaGVja2luZ0VuYWJs
ZWQoYm9vbCBlbmFibGVkKQogewotICAgIFdlYktpdDo6VGV4dENoZWNrZXI6OnNldENvbnRpbnVv
dXNTcGVsbENoZWNraW5nRW5hYmxlZChlbmFibGVkKTsKKyAgICBXS1RleHRDaGVja2VyU2V0Q29u
dGludW91c1NwZWxsQ2hlY2tpbmdFbmFibGVkKGVuYWJsZWQpOwogfQogCiB2b2lkIFVJU2NyaXB0
Q29udHJvbGxlcldQRTo6Y29weVRleHQoSlNTdHJpbmdSZWYpCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>440671</attachid>
            <date>2021-10-08 14:15:05 -0700</date>
            <delta_ts>2021-10-10 10:36:24 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-231446-20211008161503.patch</filename>
            <type>text/plain</type>
            <size>27578</size>
            <attacher name="Michael Catanzaro">mcatanzaro</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjgzODM0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IDgxMjZhODc1MzUxNmIwNzg1
NjY4OTYyYzA1OWI1MjdjN2YwOWYxZjkuLmYzMGIzZDBkNWRiMzZhMDM0MDNlOWY4OWRhZjVlZDU3
MzZjNDFjMTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjggQEAKKzIwMjEtMTAtMDggIE1pY2hhZWwg
Q2F0YW56YXJvICA8bWNhdGFuemFyb0Bnbm9tZS5vcmc+CisKKyAgICAgICAgW1dQRV0gRXhwb3Nl
IFdLVGV4dENoZWNrZXJTZXRDb250aW51b3VzU3BlbGxDaGVja2luZ0VuYWJsZWQgYW5kIHVzZSBp
dCBmcm9tIFdLVFIKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTIzMTQ0NgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAg
ICAgIFRoaXMgaXMgdG8gYXZvaWQgV0tUUiBuZWVkaW5nIHRvIHBva2UgV2ViS2l0IGludGVybmFs
cyB0byB0dXJuIG9uIHNwZWxsY2hlY2tpbmcuCisKKyAgICAgICAgKiBQbGF0Zm9ybUdUSy5jbWFr
ZToKKyAgICAgICAgKiBQbGF0Zm9ybVdQRS5jbWFrZToKKyAgICAgICAgKiBTb3VyY2VzR1RLLnR4
dDoKKyAgICAgICAgKiBTb3VyY2VzV1BFLnR4dDoKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL0Mv
Z2xpYi9XS1RleHRDaGVja2VyR0xpYi5jcHA6IFJlbmFtZWQgZnJvbSBTb3VyY2UvV2ViS2l0L1VJ
UHJvY2Vzcy9BUEkvQy9ndGsvV0tUZXh0Q2hlY2tlckd0ay5jcHAuCisgICAgICAgIChXS1RleHRD
aGVja2VyU2V0Q2xpZW50KToKKyAgICAgICAgKFdLVGV4dENoZWNrZXJDb250aW51b3VzU3BlbGxD
aGVja2luZ0VuYWJsZWRTdGF0ZUNoYW5nZWQpOgorICAgICAgICAoV0tUZXh0Q2hlY2tlckdyYW1t
YXJDaGVja2luZ0VuYWJsZWRTdGF0ZUNoYW5nZWQpOgorICAgICAgICAoV0tUZXh0Q2hlY2tlckNo
ZWNrU3BlbGxpbmcpOgorICAgICAgICAoV0tUZXh0Q2hlY2tlckNoYW5nZVNwZWxsaW5nVG9Xb3Jk
KToKKyAgICAgICAgKFdLVGV4dENoZWNrZXJTZXRTcGVsbENoZWNraW5nTGFuZ3VhZ2VzKToKKyAg
ICAgICAgKFdLVGV4dENoZWNrZXJTZXRDb250aW51b3VzU3BlbGxDaGVja2luZ0VuYWJsZWQpOgor
ICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvQy9nbGliL1dLVGV4dENoZWNrZXJHTGliLmg6IFJlbmFt
ZWQgZnJvbSBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQy9ndGsvV0tUZXh0Q2hlY2tlckd0
ay5oLgorICAgICAgICAqIFVJUHJvY2Vzcy9ndGsvV2ViVGV4dENoZWNrZXIuaDoKKyAgICAgICAg
KiBVSVByb2Nlc3MvZ3RrL1dlYlRleHRDaGVja2VyQ2xpZW50Lmg6CisKIDIwMjEtMTAtMDggIEJh
c3VrZSBTdXp1a2kgIDxiYXN1a2Uuc3V6dWtpQHNvbnkuY29tPgogCiAgICAgICAgIEZpeCBidWls
ZCBicmVhayBhZnRlciByMjgzNzk2IHdoZW4gRU5BQkxFX1NFUlZJQ0VfV09SS0VSIGlzIG9mZgpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9QbGF0Zm9ybUdUSy5jbWFrZSBiL1NvdXJjZS9XZWJL
aXQvUGxhdGZvcm1HVEsuY21ha2UKaW5kZXggNTcyYTljNmUwMmUzMGM5NGUyOThhYzFlZTM1NjMy
ZjAxMGJmYzZiMi4uODhjNTYwY2M5ZjYyY2U1YzVlOWNkZWY5ZDQ3MGRlNDdmYWQ0NWFlNCAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdC9QbGF0Zm9ybUdUSy5jbWFrZQorKysgYi9Tb3VyY2UvV2Vi
S2l0L1BsYXRmb3JtR1RLLmNtYWtlCkBAIC00MjYsNiArNDI2LDcgQEAgbGlzdChBUFBFTkQgV2Vi
S2l0X0lOQ0xVREVfRElSRUNUT1JJRVMKICAgICAiJHtXRUJLSVRfRElSfS9TaGFyZWQvbGludXgi
CiAgICAgIiR7V0VCS0lUX0RJUn0vU2hhcmVkL3NvdXAiCiAgICAgIiR7V0VCS0lUX0RJUn0vVUlQ
cm9jZXNzL0FQSS9DL2NhaXJvIgorICAgICIke1dFQktJVF9ESVJ9L1VJUHJvY2Vzcy9BUEkvQy9n
bGliIgogICAgICIke1dFQktJVF9ESVJ9L1VJUHJvY2Vzcy9BUEkvQy9ndGsiCiAgICAgIiR7V0VC
S0lUX0RJUn0vVUlQcm9jZXNzL0FQSS9nbGliIgogICAgICIke1dFQktJVF9ESVJ9L1VJUHJvY2Vz
cy9BUEkvZ3RrJHtHVEtfQVBJX1ZFUlNJT059IgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9Q
bGF0Zm9ybVdQRS5jbWFrZSBiL1NvdXJjZS9XZWJLaXQvUGxhdGZvcm1XUEUuY21ha2UKaW5kZXgg
Y2MxZTU5NjZjOTBmMTZjOGJkODIxZjAwNjk5YWYzOGJmNjU5YTgyOS4uZjRjZDViZWY0MDJiMGM2
M2UxZmJiN2EwNzEzMjkwMGNlNmY3MzhiYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9QbGF0
Zm9ybVdQRS5jbWFrZQorKysgYi9Tb3VyY2UvV2ViS2l0L1BsYXRmb3JtV1BFLmNtYWtlCkBAIC0y
ODUsNiArMjg1LDcgQEAgbGlzdChBUFBFTkQgV2ViS2l0X0lOQ0xVREVfRElSRUNUT1JJRVMKICAg
ICAiJHtXRUJLSVRfRElSfS9TaGFyZWQvbGlid3BlIgogICAgICIke1dFQktJVF9ESVJ9L1NoYXJl
ZC9zb3VwIgogICAgICIke1dFQktJVF9ESVJ9L1VJUHJvY2Vzcy9BUEkvQy9jYWlybyIKKyAgICAi
JHtXRUJLSVRfRElSfS9VSVByb2Nlc3MvQVBJL0MvZ2xpYiIKICAgICAiJHtXRUJLSVRfRElSfS9V
SVByb2Nlc3MvQVBJL0Mvd3BlIgogICAgICIke1dFQktJVF9ESVJ9L1VJUHJvY2Vzcy9BUEkvZ2xp
YiIKICAgICAiJHtXRUJLSVRfRElSfS9VSVByb2Nlc3MvQVBJL3dwZSIKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQvU291cmNlc0dUSy50eHQgYi9Tb3VyY2UvV2ViS2l0L1NvdXJjZXNHVEsudHh0
CmluZGV4IGViNTlkZTdiYTViYzY5ZjQxNGQyYTcyMDM4YjYyOWQ3YTdiMmFkNGQuLjVjOTU0ZWVm
OWFlMWIyZjk0ZWYwMDhiMmEzOGFmODg5NGIwYzlhYzUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQvU291cmNlc0dUSy50eHQKKysrIGIvU291cmNlL1dlYktpdC9Tb3VyY2VzR1RLLnR4dApAQCAt
MTE1LDcgKzExNSw4IEBAIFVJUHJvY2Vzcy9XZWJWaWV3cG9ydEF0dHJpYnV0ZXMuY3BwCiBVSVBy
b2Nlc3MvQVBJL0MvV0tHcmFtbWFyRGV0YWlsLmNwcAogVUlQcm9jZXNzL0FQSS9DL1dLVmlld3Bv
cnRBdHRyaWJ1dGVzLmNwcAogCi1VSVByb2Nlc3MvQVBJL0MvZ3RrL1dLVGV4dENoZWNrZXJHdGsu
Y3BwCitVSVByb2Nlc3MvQVBJL0MvZ2xpYi9XS1RleHRDaGVja2VyR0xpYi5jcHAKKwogVUlQcm9j
ZXNzL0FQSS9DL2d0ay9XS1ZpZXcuY3BwCiAKIFVJUHJvY2Vzcy9BUEkvZ2xpYi9BUElDb250ZW50
UnVsZUxpc3RTdG9yZUdMaWIuY3BwIEBuby11bmlmeQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dC9Tb3VyY2VzV1BFLnR4dCBiL1NvdXJjZS9XZWJLaXQvU291cmNlc1dQRS50eHQKaW5kZXggMmE0
ZjQwNmFiYjhhZmIzMDRlZTM4ZDYyYjNhMmJmNzYwODk0Y2RhNi4uOGExYzMwZjMyZjNiOTM1MGEz
MDZiZWY1MzBlY2IzMzQwYzFmMjljNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9Tb3VyY2Vz
V1BFLnR4dAorKysgYi9Tb3VyY2UvV2ViS2l0L1NvdXJjZXNXUEUudHh0CkBAIC0xMDgsNiArMTA4
LDggQEAgVUlQcm9jZXNzL1dlYlZpZXdwb3J0QXR0cmlidXRlcy5jcHAKIFVJUHJvY2Vzcy9BUEkv
Qy9XS0dyYW1tYXJEZXRhaWwuY3BwCiBVSVByb2Nlc3MvQVBJL0MvV0tWaWV3cG9ydEF0dHJpYnV0
ZXMuY3BwCiAKK1VJUHJvY2Vzcy9BUEkvQy9nbGliL1dLVGV4dENoZWNrZXJHTGliLmNwcAorCiBV
SVByb2Nlc3MvQVBJL0Mvd3BlL1dLVmlldy5jcHAKIAogVUlQcm9jZXNzL0FQSS9nbGliL0FQSUNv
bnRlbnRSdWxlTGlzdFN0b3JlR0xpYi5jcHAgQG5vLXVuaWZ5CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0L1VJUHJvY2Vzcy9BUEkvQy9nbGliL1dLVGV4dENoZWNrZXJHTGliLmNwcCBiL1NvdXJj
ZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9DL2dsaWIvV0tUZXh0Q2hlY2tlckdMaWIuY3BwCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLmY2ZWQ5ZjY0YzFhODc1OGMwZjJjMWRhNzk4OTk1MjhhOGE1ZDVhMTYKLS0tIC9kZXYv
bnVsbAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQy9nbGliL1dLVGV4dENoZWNr
ZXJHTGliLmNwcApAQCAtMCwwICsxLDgzIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDExIEFw
cGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQg
dXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlm
aWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0
aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBt
dXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBv
ZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3Ry
aWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdo
dAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2lu
ZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0
ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRX
QVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJ
UycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcs
IEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hB
TlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJ
U0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9S
UworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BF
Q0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcs
IEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMg
T1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUwor
ICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFC
SUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JU
IChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBX
QVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisg
KiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2luY2x1ZGUgImNvbmZp
Zy5oIgorI2luY2x1ZGUgIldLVGV4dENoZWNrZXJHTGliLmgiCisKKyNpbmNsdWRlICJUZXh0Q2hl
Y2tlci5oIgorI2luY2x1ZGUgIldLQVBJQ2FzdC5oIgorI2luY2x1ZGUgIldlYlBhZ2VQcm94eS5o
IgorCisjaWYgUExBVEZPUk0oR1RLKQorI2luY2x1ZGUgIldlYlRleHRDaGVja2VyLmgiCisjZW5k
aWYKKwordXNpbmcgbmFtZXNwYWNlIFdlYktpdDsKKworI2lmIFBMQVRGT1JNKEdUSykKKwordm9p
ZCBXS1RleHRDaGVja2VyU2V0Q2xpZW50KGNvbnN0IFdLVGV4dENoZWNrZXJDbGllbnRCYXNlKiB3
a0NsaWVudCkKK3sKKyAgICBpZiAod2tDbGllbnQgJiYgd2tDbGllbnQtPnZlcnNpb24pCisgICAg
ICAgIHJldHVybjsKKyAgICBXZWJUZXh0Q2hlY2tlcjo6c2luZ2xldG9uKCktPnNldENsaWVudCh3
a0NsaWVudCk7Cit9CisKK3ZvaWQgV0tUZXh0Q2hlY2tlckNvbnRpbnVvdXNTcGVsbENoZWNraW5n
RW5hYmxlZFN0YXRlQ2hhbmdlZChib29sIGVuYWJsZWQpCit7CisgICAgV2ViVGV4dENoZWNrZXI6
OnNpbmdsZXRvbigpLT5jb250aW51b3VzU3BlbGxDaGVja2luZ0VuYWJsZWRTdGF0ZUNoYW5nZWQo
ZW5hYmxlZCk7Cit9CisKK3ZvaWQgV0tUZXh0Q2hlY2tlckdyYW1tYXJDaGVja2luZ0VuYWJsZWRT
dGF0ZUNoYW5nZWQoYm9vbCBlbmFibGVkKQoreworICAgIFdlYlRleHRDaGVja2VyOjpzaW5nbGV0
b24oKS0+Z3JhbW1hckNoZWNraW5nRW5hYmxlZFN0YXRlQ2hhbmdlZChlbmFibGVkKTsKK30KKwor
dm9pZCBXS1RleHRDaGVja2VyQ2hlY2tTcGVsbGluZyhXS1BhZ2VSZWYgcGFnZSwgYm9vbCBzdGFy
dEJlZm9yZVNlbGVjdGlvbikKK3sKKyAgICBXZWJUZXh0Q2hlY2tlcjo6c2luZ2xldG9uKCktPmNo
ZWNrU3BlbGxpbmcodG9JbXBsKHBhZ2UpLCBzdGFydEJlZm9yZVNlbGVjdGlvbik7Cit9CisKK3Zv
aWQgV0tUZXh0Q2hlY2tlckNoYW5nZVNwZWxsaW5nVG9Xb3JkKFdLUGFnZVJlZiBwYWdlLCBXS1N0
cmluZ1JlZiB3b3JkKQoreworICAgIFdlYlRleHRDaGVja2VyOjpzaW5nbGV0b24oKS0+Y2hhbmdl
U3BlbGxpbmdUb1dvcmQodG9JbXBsKHBhZ2UpLCB0b1dURlN0cmluZyh3b3JkKSk7Cit9CisKK3Zv
aWQgV0tUZXh0Q2hlY2tlclNldFNwZWxsQ2hlY2tpbmdMYW5ndWFnZXMoY29uc3QgY2hhciogY29u
c3QqIGxhbmd1YWdlcykKK3sKKyNpZiBFTkFCTEUoU1BFTExDSEVDSykKKyAgICBWZWN0b3I8U3Ry
aW5nPiBzcGVsbENoZWNraW5nTGFuZ3VhZ2VzOworICAgIGZvciAoc2l6ZV90IGkgPSAwOyBsYW5n
dWFnZXNbaV07ICsraSkKKyAgICAgICAgc3BlbGxDaGVja2luZ0xhbmd1YWdlcy5hcHBlbmQoU3Ry
aW5nOjpmcm9tVVRGOChsYW5ndWFnZXNbaV0pKTsKKyAgICBXZWJLaXQ6OlRleHRDaGVja2VyOjpz
ZXRTcGVsbENoZWNraW5nTGFuZ3VhZ2VzKHNwZWxsQ2hlY2tpbmdMYW5ndWFnZXMpOworI2VuZGlm
Cit9CisKKyNlbmRpZiAvLyBQTEFURk9STShHVEspCisKK3ZvaWQgV0tUZXh0Q2hlY2tlclNldENv
bnRpbnVvdXNTcGVsbENoZWNraW5nRW5hYmxlZChib29sIGVuYWJsZWQpCit7CisgICAgV2ViS2l0
OjpUZXh0Q2hlY2tlcjo6c2V0Q29udGludW91c1NwZWxsQ2hlY2tpbmdFbmFibGVkKGVuYWJsZWQp
OworfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0MvZ2xpYi9XS1Rl
eHRDaGVja2VyR0xpYi5oIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0MvZ2xpYi9XS1Rl
eHRDaGVja2VyR0xpYi5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjg1ODc5YjIxOGQzZTdkN2Y5YWRiYTVjNWZkMTNl
MzNkZWEyMWFhZTUKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9B
UEkvQy9nbGliL1dLVGV4dENoZWNrZXJHTGliLmgKQEAgLTAsMCArMSw5OSBAQAorLyoKKyAqIENv
cHlyaWdodCAoQykgMjAxMSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICog
UmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBv
ciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0
aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlv
bnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAg
bm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFp
bWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNl
IHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlv
bnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRp
b24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24u
CisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMg
Q09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FS
UkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBX
QVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFS
CisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMu
IE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJF
Q1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwg
REFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisg
KiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJP
RklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9O
IEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNU
IExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQor
ICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVW
RU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICov
CisKKyNwcmFnbWEgb25jZQorCisjaW5jbHVkZSA8V2ViS2l0L1dLQmFzZS5oPgorI2luY2x1ZGUg
PFdlYktpdC9XS1RleHRDaGVja2VyLmg+CisKKyNpZmRlZiBfX2NwbHVzcGx1cworZXh0ZXJuICJD
IiB7CisjZW5kaWYKKworV0tfRVhQT1JUIHZvaWQgV0tUZXh0Q2hlY2tlclNldFRlc3RpbmdNb2Rl
KGJvb2wgZW5hYmxlZCk7CisKKyNpZiBQTEFURk9STShHVEspCisKKy8vIFRleHRDaGVja2VyIENs
aWVudAordHlwZWRlZiBib29sICgqV0tUZXh0Q2hlY2tlckNvbnRpbm91c1NwZWxsQ2hlY2tpbmdB
bGxvd2VkKShjb25zdCB2b2lkICpjbGllbnRJbmZvKTsKK3R5cGVkZWYgYm9vbCAoKldLVGV4dENo
ZWNrZXJDb250aW5vdXNTcGVsbENoZWNraW5nRW5hYmxlZCkoY29uc3Qgdm9pZCAqY2xpZW50SW5m
byk7Cit0eXBlZGVmIHZvaWQgKCpXS1RleHRDaGVja2VyU2V0Q29udGlub3VzU3BlbGxDaGVja2lu
Z0VuYWJsZWQpKGJvb2wgZW5hYmxlZCwgY29uc3Qgdm9pZCAqY2xpZW50SW5mbyk7Cit0eXBlZGVm
IGJvb2wgKCpXS1RleHRDaGVja2VyR3JhbW1hckNoZWNraW5nRW5hYmxlZCkoY29uc3Qgdm9pZCAq
Y2xpZW50SW5mbyk7Cit0eXBlZGVmIHZvaWQgKCpXS1RleHRDaGVja2VyU2V0R3JhbW1hckNoZWNr
aW5nRW5hYmxlZCkoYm9vbCBlbmFibGVkLCBjb25zdCB2b2lkICpjbGllbnRJbmZvKTsKK3R5cGVk
ZWYgdWludDY0X3QgKCpXS1RleHRDaGVja2VyVW5pcXVlU3BlbGxEb2N1bWVudFRhZykoV0tQYWdl
UmVmIHBhZ2UsIGNvbnN0IHZvaWQgKmNsaWVudEluZm8pOwordHlwZWRlZiB2b2lkICgqV0tUZXh0
Q2hlY2tlckNsb3NlU3BlbGxEb2N1bWVudFdpdGhUYWcpKHVpbnQ2NF90IHRhZywgY29uc3Qgdm9p
ZCAqY2xpZW50SW5mbyk7Cit0eXBlZGVmIHZvaWQgKCpXS1RleHRDaGVja2VyQ2hlY2tTcGVsbGlu
Z09mU3RyaW5nKSh1aW50NjRfdCB0YWcsIFdLU3RyaW5nUmVmIHRleHQsIGludDMyX3QqIG1pc3Nw
ZWxsaW5nTG9jYXRpb24sIGludDMyX3QqIG1pc3NwZWxsaW5nTGVuZ3RoLCBjb25zdCB2b2lkICpj
bGllbnRJbmZvKTsKK3R5cGVkZWYgdm9pZCAoKldLVGV4dENoZWNrZXJDaGVja0dyYW1tYXJPZlN0
cmluZykodWludDY0X3QgdGFnLCBXS1N0cmluZ1JlZiB0ZXh0LCBXS0FycmF5UmVmKiBncmFtbWFy
RGV0YWlscywgaW50MzJfdCogYmFkR3JhbW1hckxvY2F0aW9uLCBpbnQzMl90KiBiYWRHcmFtbWFy
TGVuZ3RoLCBjb25zdCB2b2lkICpjbGllbnRJbmZvKTsKK3R5cGVkZWYgYm9vbCAoKldLVGV4dENo
ZWNrZXJTcGVsbGluZ1VJSXNTaG93aW5nKShjb25zdCB2b2lkICpjbGllbnRJbmZvKTsKK3R5cGVk
ZWYgdm9pZCAoKldLVGV4dENoZWNrZXJUb2dnbGVTcGVsbGluZ1VJSXNTaG93aW5nKShjb25zdCB2
b2lkICpjbGllbnRJbmZvKTsKK3R5cGVkZWYgdm9pZCAoKldLVGV4dENoZWNrZXJVcGRhdGVTcGVs
bGluZ1VJV2l0aE1pc3NwZWxsZWRXb3JkKSh1aW50NjRfdCB0YWcsIFdLU3RyaW5nUmVmIG1pc3Nw
ZWxsZWRXb3JkLCBjb25zdCB2b2lkICpjbGllbnRJbmZvKTsKK3R5cGVkZWYgdm9pZCAoKldLVGV4
dENoZWNrZXJVcGRhdGVTcGVsbGluZ1VJV2l0aEdyYW1tYXJTdHJpbmcpKHVpbnQ2NF90IHRhZywg
V0tTdHJpbmdSZWYgYmFkR3JhbW1hclBocmFzZSwgV0tHcmFtbWFyRGV0YWlsUmVmIGdyYW1tYXJE
ZXRhaWwsIGNvbnN0IHZvaWQgKmNsaWVudEluZm8pOwordHlwZWRlZiBXS0FycmF5UmVmICgqV0tU
ZXh0Q2hlY2tlckd1ZXNzZXNGb3JXb3JkKSh1aW50NjRfdCB0YWcsIFdLU3RyaW5nUmVmIHdvcmQs
IGNvbnN0IHZvaWQgKmNsaWVudEluZm8pOwordHlwZWRlZiB2b2lkICgqV0tUZXh0Q2hlY2tlckxl
YXJuV29yZCkodWludDY0X3QgdGFnLCBXS1N0cmluZ1JlZiB3b3JkLCBjb25zdCB2b2lkICpjbGll
bnRJbmZvKTsKK3R5cGVkZWYgdm9pZCAoKldLVGV4dENoZWNrZXJJZ25vcmVXb3JkKSh1aW50NjRf
dCB0YWcsIFdLU3RyaW5nUmVmIHdvcmQsIGNvbnN0IHZvaWQgKmNsaWVudEluZm8pOworCit0eXBl
ZGVmIHN0cnVjdCBXS1RleHRDaGVja2VyQ2xpZW50QmFzZSB7CisgICAgaW50ICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
dmVyc2lvbjsKKyAgICBjb25zdCB2b2lkICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGllbnRJbmZvOworfSBXS1RleHRDaGVja2Vy
Q2xpZW50QmFzZTsKKwordHlwZWRlZiBzdHJ1Y3QgV0tUZXh0Q2hlY2tlckNsaWVudFYwIHsKKyAg
ICBXS1RleHRDaGVja2VyQ2xpZW50QmFzZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBiYXNlOworCisgICAgV0tUZXh0Q2hlY2tlckNvbnRpbm91c1NwZWxs
Q2hlY2tpbmdBbGxvd2VkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29udGludW91c1Nw
ZWxsQ2hlY2tpbmdBbGxvd2VkOworICAgIFdLVGV4dENoZWNrZXJDb250aW5vdXNTcGVsbENoZWNr
aW5nRW5hYmxlZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRpbnVvdXNTcGVsbENo
ZWNraW5nRW5hYmxlZDsKKyAgICBXS1RleHRDaGVja2VyU2V0Q29udGlub3VzU3BlbGxDaGVja2lu
Z0VuYWJsZWQgICAgICAgICAgICAgICAgICAgICAgICAgICBzZXRDb250aW51b3VzU3BlbGxDaGVj
a2luZ0VuYWJsZWQ7CisgICAgV0tUZXh0Q2hlY2tlckdyYW1tYXJDaGVja2luZ0VuYWJsZWQgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ3JhbW1hckNoZWNraW5nRW5hYmxlZDsK
KyAgICBXS1RleHRDaGVja2VyU2V0R3JhbW1hckNoZWNraW5nRW5hYmxlZCAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBzZXRHcmFtbWFyQ2hlY2tpbmdFbmFibGVkOworICAgIFdLVGV4
dENoZWNrZXJVbmlxdWVTcGVsbERvY3VtZW50VGFnICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIHVuaXF1ZVNwZWxsRG9jdW1lbnRUYWc7CisgICAgV0tUZXh0Q2hlY2tlckNsb3Nl
U3BlbGxEb2N1bWVudFdpdGhUYWcgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xv
c2VTcGVsbERvY3VtZW50V2l0aFRhZzsKKyAgICBXS1RleHRDaGVja2VyQ2hlY2tTcGVsbGluZ09m
U3RyaW5nICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjaGVja1NwZWxsaW5n
T2ZTdHJpbmc7CisgICAgV0tUZXh0Q2hlY2tlckNoZWNrR3JhbW1hck9mU3RyaW5nICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2hlY2tHcmFtbWFyT2ZTdHJpbmc7CisgICAg
V0tUZXh0Q2hlY2tlclNwZWxsaW5nVUlJc1Nob3dpbmcgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgc3BlbGxpbmdVSUlzU2hvd2luZzsKKyAgICBXS1RleHRDaGVja2VyVG9n
Z2xlU3BlbGxpbmdVSUlzU2hvd2luZyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0
b2dnbGVTcGVsbGluZ1VJSXNTaG93aW5nOworICAgIFdLVGV4dENoZWNrZXJVcGRhdGVTcGVsbGlu
Z1VJV2l0aE1pc3NwZWxsZWRXb3JkICAgICAgICAgICAgICAgICAgICAgICAgIHVwZGF0ZVNwZWxs
aW5nVUlXaXRoTWlzc3BlbGxlZFdvcmQ7CisgICAgV0tUZXh0Q2hlY2tlclVwZGF0ZVNwZWxsaW5n
VUlXaXRoR3JhbW1hclN0cmluZyAgICAgICAgICAgICAgICAgICAgICAgICAgdXBkYXRlU3BlbGxp
bmdVSVdpdGhHcmFtbWFyU3RyaW5nOworICAgIFdLVGV4dENoZWNrZXJHdWVzc2VzRm9yV29yZCAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGd1ZXNzZXNGb3JXb3Jk
OworICAgIFdLVGV4dENoZWNrZXJMZWFybldvcmQgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGxlYXJuV29yZDsKKyAgICBXS1RleHRDaGVja2VySWdub3Jl
V29yZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZ25v
cmVXb3JkOworfSBXS1RleHRDaGVja2VyQ2xpZW50VjA7CisKK1dLX0VYUE9SVCB2b2lkIFdLVGV4
dENoZWNrZXJTZXRDbGllbnQoY29uc3QgV0tUZXh0Q2hlY2tlckNsaWVudEJhc2UqIGNsaWVudCk7
CisKK1dLX0VYUE9SVCB2b2lkIFdLVGV4dENoZWNrZXJDb250aW51b3VzU3BlbGxDaGVja2luZ0Vu
YWJsZWRTdGF0ZUNoYW5nZWQoYm9vbCk7CitXS19FWFBPUlQgdm9pZCBXS1RleHRDaGVja2VyR3Jh
bW1hckNoZWNraW5nRW5hYmxlZFN0YXRlQ2hhbmdlZChib29sKTsKKworV0tfRVhQT1JUIHZvaWQg
V0tUZXh0Q2hlY2tlckNoZWNrU3BlbGxpbmcoV0tQYWdlUmVmIHBhZ2UsIGJvb2wgc3RhcnRCZWZv
cmVTZWxlY3Rpb24pOworV0tfRVhQT1JUIHZvaWQgV0tUZXh0Q2hlY2tlckNoYW5nZVNwZWxsaW5n
VG9Xb3JkKFdLUGFnZVJlZiBwYWdlLCBXS1N0cmluZ1JlZiB3b3JkKTsKKworV0tfRVhQT1JUIHZv
aWQgV0tUZXh0Q2hlY2tlclNldFNwZWxsQ2hlY2tpbmdMYW5ndWFnZXMoY29uc3QgY2hhciogY29u
c3QqIGxhbmd1YWdlcyk7CisKKyNlbmRpZiAvLyBQTEFURk9STShHVEspCisKK1dLX0VYUE9SVCB2
b2lkIFdLVGV4dENoZWNrZXJTZXRDb250aW51b3VzU3BlbGxDaGVja2luZ0VuYWJsZWQoYm9vbCk7
CisKKyNpZmRlZiBfX2NwbHVzcGx1cworfQorI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0L1VJUHJvY2Vzcy9BUEkvQy9ndGsvV0tUZXh0Q2hlY2tlckd0ay5jcHAgYi9Tb3VyY2UvV2Vi
S2l0L1VJUHJvY2Vzcy9BUEkvQy9ndGsvV0tUZXh0Q2hlY2tlckd0ay5jcHAKZGVsZXRlZCBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDdmYmZiMDc1MjY2YTlhOGI5ZmNkZTEwNTc5ZTU3ODRkNDBhMjA3
YTAuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvU291cmNl
L1dlYktpdC9VSVByb2Nlc3MvQVBJL0MvZ3RrL1dLVGV4dENoZWNrZXJHdGsuY3BwCisrKyAvZGV2
L251bGwKQEAgLTEsNzYgKzAsMCBAQAotLyoKLSAqIENvcHlyaWdodCAoQykgMjAxMSBBcHBsZSBJ
bmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0gKgotICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBp
biBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Ci0gKiBtb2RpZmljYXRp
b24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMK
LSAqIGFyZSBtZXQ6Ci0gKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCBy
ZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29u
ZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgotICogMi4gUmVkaXN0cmlidXRp
b25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAq
ICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlz
Y2xhaW1lciBpbiB0aGUKLSAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFs
cyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCi0gKgotICogVEhJUyBTT0ZUV0FSRSBJ
UyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJwot
ICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQg
Tk9UIExJTUlURUQgVE8sCi0gKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJ
TElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCi0gKiBQVVJQT1NFIEFSRSBESVNDTEFJ
TUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKLSAq
IEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUws
IEVYRU1QTEFSWSwgT1IKLSAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQg
Tk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCi0gKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNF
UlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKLSAqIElO
VEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZ
LCBXSEVUSEVSIElOCi0gKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5D
TFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQotICogQVJJU0lORyBJTiBBTlkgV0FZIE9V
VCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgotICogVEhF
IFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgotICovCi0KLSNpbmNsdWRlICJjb25maWcuaCIK
LSNpbmNsdWRlICJXS1RleHRDaGVja2VyR3RrLmgiCi0KLSNpbmNsdWRlICJUZXh0Q2hlY2tlci5o
IgotI2luY2x1ZGUgIldLQVBJQ2FzdC5oIgotI2luY2x1ZGUgIldlYlBhZ2VQcm94eS5oIgotI2lu
Y2x1ZGUgIldlYlRleHRDaGVja2VyLmgiCi0KLXVzaW5nIG5hbWVzcGFjZSBXZWJLaXQ7Ci0KLXZv
aWQgV0tUZXh0Q2hlY2tlclNldENsaWVudChjb25zdCBXS1RleHRDaGVja2VyQ2xpZW50QmFzZSog
d2tDbGllbnQpCi17Ci0gICAgaWYgKHdrQ2xpZW50ICYmIHdrQ2xpZW50LT52ZXJzaW9uKQotICAg
ICAgICByZXR1cm47Ci0gICAgV2ViVGV4dENoZWNrZXI6OnNpbmdsZXRvbigpLT5zZXRDbGllbnQo
d2tDbGllbnQpOwotfQotCi12b2lkIFdLVGV4dENoZWNrZXJDb250aW51b3VzU3BlbGxDaGVja2lu
Z0VuYWJsZWRTdGF0ZUNoYW5nZWQoYm9vbCBlbmFibGVkKQotewotICAgIFdlYlRleHRDaGVja2Vy
OjpzaW5nbGV0b24oKS0+Y29udGludW91c1NwZWxsQ2hlY2tpbmdFbmFibGVkU3RhdGVDaGFuZ2Vk
KGVuYWJsZWQpOwotfQotCi12b2lkIFdLVGV4dENoZWNrZXJHcmFtbWFyQ2hlY2tpbmdFbmFibGVk
U3RhdGVDaGFuZ2VkKGJvb2wgZW5hYmxlZCkKLXsKLSAgICBXZWJUZXh0Q2hlY2tlcjo6c2luZ2xl
dG9uKCktPmdyYW1tYXJDaGVja2luZ0VuYWJsZWRTdGF0ZUNoYW5nZWQoZW5hYmxlZCk7Ci19Ci0K
LXZvaWQgV0tUZXh0Q2hlY2tlckNoZWNrU3BlbGxpbmcoV0tQYWdlUmVmIHBhZ2UsIGJvb2wgc3Rh
cnRCZWZvcmVTZWxlY3Rpb24pCi17Ci0gICAgV2ViVGV4dENoZWNrZXI6OnNpbmdsZXRvbigpLT5j
aGVja1NwZWxsaW5nKHRvSW1wbChwYWdlKSwgc3RhcnRCZWZvcmVTZWxlY3Rpb24pOwotfQotCi12
b2lkIFdLVGV4dENoZWNrZXJDaGFuZ2VTcGVsbGluZ1RvV29yZChXS1BhZ2VSZWYgcGFnZSwgV0tT
dHJpbmdSZWYgd29yZCkKLXsKLSAgICBXZWJUZXh0Q2hlY2tlcjo6c2luZ2xldG9uKCktPmNoYW5n
ZVNwZWxsaW5nVG9Xb3JkKHRvSW1wbChwYWdlKSwgdG9XVEZTdHJpbmcod29yZCkpOwotfQotCi12
b2lkIFdLVGV4dENoZWNrZXJTZXRTcGVsbENoZWNraW5nTGFuZ3VhZ2VzKGNvbnN0IGNoYXIqIGNv
bnN0KiBsYW5ndWFnZXMpCi17Ci0jaWYgRU5BQkxFKFNQRUxMQ0hFQ0spCi0gICAgVmVjdG9yPFN0
cmluZz4gc3BlbGxDaGVja2luZ0xhbmd1YWdlczsKLSAgICBmb3IgKHNpemVfdCBpID0gMDsgbGFu
Z3VhZ2VzW2ldOyArK2kpCi0gICAgICAgIHNwZWxsQ2hlY2tpbmdMYW5ndWFnZXMuYXBwZW5kKFN0
cmluZzo6ZnJvbVVURjgobGFuZ3VhZ2VzW2ldKSk7Ci0gICAgV2ViS2l0OjpUZXh0Q2hlY2tlcjo6
c2V0U3BlbGxDaGVja2luZ0xhbmd1YWdlcyhzcGVsbENoZWNraW5nTGFuZ3VhZ2VzKTsKLSNlbmRp
ZgotfQotCi12b2lkIFdLVGV4dENoZWNrZXJTZXRDb250aW51b3VzU3BlbGxDaGVja2luZ0VuYWJs
ZWQoYm9vbCBlbmFibGVkKQotewotICAgIFdlYktpdDo6VGV4dENoZWNrZXI6OnNldENvbnRpbnVv
dXNTcGVsbENoZWNraW5nRW5hYmxlZChlbmFibGVkKTsKLX0KZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQvVUlQcm9jZXNzL0FQSS9DL2d0ay9XS1RleHRDaGVja2VyR3RrLmggYi9Tb3VyY2UvV2Vi
S2l0L1VJUHJvY2Vzcy9BUEkvQy9ndGsvV0tUZXh0Q2hlY2tlckd0ay5oCmRlbGV0ZWQgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCA0MmU5ZmE0ZjE3ODA3MTQwMWMwOGMyODI4MjJkMTllM2QzNjU2OGZi
Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL1NvdXJjZS9X
ZWJLaXQvVUlQcm9jZXNzL0FQSS9DL2d0ay9XS1RleHRDaGVja2VyR3RrLmgKKysrIC9kZXYvbnVs
bApAQCAtMSw5NyArMCwwIEBACi0vKgotICogQ29weXJpZ2h0IChDKSAyMDExIEFwcGxlIEluYy4g
QWxsIHJpZ2h0cyByZXNlcnZlZC4KLSAqCi0gKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNv
dXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKLSAqIG1vZGlmaWNhdGlvbiwg
YXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwotICog
YXJlIG1ldDoKLSAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFp
biB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRp
b25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCi0gKiAyLiBSZWRpc3RyaWJ1dGlvbnMg
aW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAg
bm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFp
bWVyIGluIHRoZQotICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHBy
b3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KLSAqCi0gKiBUSElTIFNPRlRXQVJFIElTIFBS
T1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCi0gKiBB
TkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1Qg
TElNSVRFRCBUTywKLSAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZ
IEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKLSAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQu
IElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUwotICogQkUg
TElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhF
TVBMQVJZLCBPUgotICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1Qg
TElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKLSAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklD
RVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUwotICogSU5URVJS
VVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdI
RVRIRVIgSU4KLSAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJ
TkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCi0gKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9G
IFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCi0gKiBUSEUgUE9T
U0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCi0gKi8KLQotI2lmbmRlZiBXS1RleHRDaGVja2VyR3Rr
X2gKLSNkZWZpbmUgV0tUZXh0Q2hlY2tlckd0a19oCi0KLSNpbmNsdWRlIDxXZWJLaXQvV0tCYXNl
Lmg+Ci0jaW5jbHVkZSA8V2ViS2l0L1dLVGV4dENoZWNrZXIuaD4KLQotI2lmZGVmIF9fY3BsdXNw
bHVzCi1leHRlcm4gIkMiIHsKLSNlbmRpZgotCi1XS19FWFBPUlQgdm9pZCBXS1RleHRDaGVja2Vy
U2V0VGVzdGluZ01vZGUoYm9vbCBlbmFibGVkKTsKLQotLy8gVGV4dENoZWNrZXIgQ2xpZW50Ci10
eXBlZGVmIGJvb2wgKCpXS1RleHRDaGVja2VyQ29udGlub3VzU3BlbGxDaGVja2luZ0FsbG93ZWQp
KGNvbnN0IHZvaWQgKmNsaWVudEluZm8pOwotdHlwZWRlZiBib29sICgqV0tUZXh0Q2hlY2tlckNv
bnRpbm91c1NwZWxsQ2hlY2tpbmdFbmFibGVkKShjb25zdCB2b2lkICpjbGllbnRJbmZvKTsKLXR5
cGVkZWYgdm9pZCAoKldLVGV4dENoZWNrZXJTZXRDb250aW5vdXNTcGVsbENoZWNraW5nRW5hYmxl
ZCkoYm9vbCBlbmFibGVkLCBjb25zdCB2b2lkICpjbGllbnRJbmZvKTsKLXR5cGVkZWYgYm9vbCAo
KldLVGV4dENoZWNrZXJHcmFtbWFyQ2hlY2tpbmdFbmFibGVkKShjb25zdCB2b2lkICpjbGllbnRJ
bmZvKTsKLXR5cGVkZWYgdm9pZCAoKldLVGV4dENoZWNrZXJTZXRHcmFtbWFyQ2hlY2tpbmdFbmFi
bGVkKShib29sIGVuYWJsZWQsIGNvbnN0IHZvaWQgKmNsaWVudEluZm8pOwotdHlwZWRlZiB1aW50
NjRfdCAoKldLVGV4dENoZWNrZXJVbmlxdWVTcGVsbERvY3VtZW50VGFnKShXS1BhZ2VSZWYgcGFn
ZSwgY29uc3Qgdm9pZCAqY2xpZW50SW5mbyk7Ci10eXBlZGVmIHZvaWQgKCpXS1RleHRDaGVja2Vy
Q2xvc2VTcGVsbERvY3VtZW50V2l0aFRhZykodWludDY0X3QgdGFnLCBjb25zdCB2b2lkICpjbGll
bnRJbmZvKTsKLXR5cGVkZWYgdm9pZCAoKldLVGV4dENoZWNrZXJDaGVja1NwZWxsaW5nT2ZTdHJp
bmcpKHVpbnQ2NF90IHRhZywgV0tTdHJpbmdSZWYgdGV4dCwgaW50MzJfdCogbWlzc3BlbGxpbmdM
b2NhdGlvbiwgaW50MzJfdCogbWlzc3BlbGxpbmdMZW5ndGgsIGNvbnN0IHZvaWQgKmNsaWVudElu
Zm8pOwotdHlwZWRlZiB2b2lkICgqV0tUZXh0Q2hlY2tlckNoZWNrR3JhbW1hck9mU3RyaW5nKSh1
aW50NjRfdCB0YWcsIFdLU3RyaW5nUmVmIHRleHQsIFdLQXJyYXlSZWYqIGdyYW1tYXJEZXRhaWxz
LCBpbnQzMl90KiBiYWRHcmFtbWFyTG9jYXRpb24sIGludDMyX3QqIGJhZEdyYW1tYXJMZW5ndGgs
IGNvbnN0IHZvaWQgKmNsaWVudEluZm8pOwotdHlwZWRlZiBib29sICgqV0tUZXh0Q2hlY2tlclNw
ZWxsaW5nVUlJc1Nob3dpbmcpKGNvbnN0IHZvaWQgKmNsaWVudEluZm8pOwotdHlwZWRlZiB2b2lk
ICgqV0tUZXh0Q2hlY2tlclRvZ2dsZVNwZWxsaW5nVUlJc1Nob3dpbmcpKGNvbnN0IHZvaWQgKmNs
aWVudEluZm8pOwotdHlwZWRlZiB2b2lkICgqV0tUZXh0Q2hlY2tlclVwZGF0ZVNwZWxsaW5nVUlX
aXRoTWlzc3BlbGxlZFdvcmQpKHVpbnQ2NF90IHRhZywgV0tTdHJpbmdSZWYgbWlzc3BlbGxlZFdv
cmQsIGNvbnN0IHZvaWQgKmNsaWVudEluZm8pOwotdHlwZWRlZiB2b2lkICgqV0tUZXh0Q2hlY2tl
clVwZGF0ZVNwZWxsaW5nVUlXaXRoR3JhbW1hclN0cmluZykodWludDY0X3QgdGFnLCBXS1N0cmlu
Z1JlZiBiYWRHcmFtbWFyUGhyYXNlLCBXS0dyYW1tYXJEZXRhaWxSZWYgZ3JhbW1hckRldGFpbCwg
Y29uc3Qgdm9pZCAqY2xpZW50SW5mbyk7Ci10eXBlZGVmIFdLQXJyYXlSZWYgKCpXS1RleHRDaGVj
a2VyR3Vlc3Nlc0ZvcldvcmQpKHVpbnQ2NF90IHRhZywgV0tTdHJpbmdSZWYgd29yZCwgY29uc3Qg
dm9pZCAqY2xpZW50SW5mbyk7Ci10eXBlZGVmIHZvaWQgKCpXS1RleHRDaGVja2VyTGVhcm5Xb3Jk
KSh1aW50NjRfdCB0YWcsIFdLU3RyaW5nUmVmIHdvcmQsIGNvbnN0IHZvaWQgKmNsaWVudEluZm8p
OwotdHlwZWRlZiB2b2lkICgqV0tUZXh0Q2hlY2tlcklnbm9yZVdvcmQpKHVpbnQ2NF90IHRhZywg
V0tTdHJpbmdSZWYgd29yZCwgY29uc3Qgdm9pZCAqY2xpZW50SW5mbyk7Ci0KLXR5cGVkZWYgc3Ry
dWN0IFdLVGV4dENoZWNrZXJDbGllbnRCYXNlIHsKLSAgICBpbnQgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2ZXJzaW9u
OwotICAgIGNvbnN0IHZvaWQgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGNsaWVudEluZm87Ci19IFdLVGV4dENoZWNrZXJDbGllbnRC
YXNlOwotCi10eXBlZGVmIHN0cnVjdCBXS1RleHRDaGVja2VyQ2xpZW50VjAgewotICAgIFdLVGV4
dENoZWNrZXJDbGllbnRCYXNlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGJhc2U7Ci0KLSAgICBXS1RleHRDaGVja2VyQ29udGlub3VzU3BlbGxDaGVja2lu
Z0FsbG93ZWQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb250aW51b3VzU3BlbGxDaGVj
a2luZ0FsbG93ZWQ7Ci0gICAgV0tUZXh0Q2hlY2tlckNvbnRpbm91c1NwZWxsQ2hlY2tpbmdFbmFi
bGVkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29udGludW91c1NwZWxsQ2hlY2tpbmdF
bmFibGVkOwotICAgIFdLVGV4dENoZWNrZXJTZXRDb250aW5vdXNTcGVsbENoZWNraW5nRW5hYmxl
ZCAgICAgICAgICAgICAgICAgICAgICAgICAgIHNldENvbnRpbnVvdXNTcGVsbENoZWNraW5nRW5h
YmxlZDsKLSAgICBXS1RleHRDaGVja2VyR3JhbW1hckNoZWNraW5nRW5hYmxlZCAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBncmFtbWFyQ2hlY2tpbmdFbmFibGVkOwotICAgIFdL
VGV4dENoZWNrZXJTZXRHcmFtbWFyQ2hlY2tpbmdFbmFibGVkICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIHNldEdyYW1tYXJDaGVja2luZ0VuYWJsZWQ7Ci0gICAgV0tUZXh0Q2hlY2tl
clVuaXF1ZVNwZWxsRG9jdW1lbnRUYWcgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgdW5pcXVlU3BlbGxEb2N1bWVudFRhZzsKLSAgICBXS1RleHRDaGVja2VyQ2xvc2VTcGVsbERv
Y3VtZW50V2l0aFRhZyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbG9zZVNwZWxs
RG9jdW1lbnRXaXRoVGFnOwotICAgIFdLVGV4dENoZWNrZXJDaGVja1NwZWxsaW5nT2ZTdHJpbmcg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNoZWNrU3BlbGxpbmdPZlN0cmlu
ZzsKLSAgICBXS1RleHRDaGVja2VyQ2hlY2tHcmFtbWFyT2ZTdHJpbmcgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBjaGVja0dyYW1tYXJPZlN0cmluZzsKLSAgICBXS1RleHRD
aGVja2VyU3BlbGxpbmdVSUlzU2hvd2luZyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBzcGVsbGluZ1VJSXNTaG93aW5nOwotICAgIFdLVGV4dENoZWNrZXJUb2dnbGVTcGVs
bGluZ1VJSXNTaG93aW5nICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRvZ2dsZVNw
ZWxsaW5nVUlJc1Nob3dpbmc7Ci0gICAgV0tUZXh0Q2hlY2tlclVwZGF0ZVNwZWxsaW5nVUlXaXRo
TWlzc3BlbGxlZFdvcmQgICAgICAgICAgICAgICAgICAgICAgICAgdXBkYXRlU3BlbGxpbmdVSVdp
dGhNaXNzcGVsbGVkV29yZDsKLSAgICBXS1RleHRDaGVja2VyVXBkYXRlU3BlbGxpbmdVSVdpdGhH
cmFtbWFyU3RyaW5nICAgICAgICAgICAgICAgICAgICAgICAgICB1cGRhdGVTcGVsbGluZ1VJV2l0
aEdyYW1tYXJTdHJpbmc7Ci0gICAgV0tUZXh0Q2hlY2tlckd1ZXNzZXNGb3JXb3JkICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ3Vlc3Nlc0ZvcldvcmQ7Ci0gICAg
V0tUZXh0Q2hlY2tlckxlYXJuV29yZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgbGVhcm5Xb3JkOwotICAgIFdLVGV4dENoZWNrZXJJZ25vcmVXb3JkICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlnbm9yZVdvcmQ7
Ci19IFdLVGV4dENoZWNrZXJDbGllbnRWMDsKLQotV0tfRVhQT1JUIHZvaWQgV0tUZXh0Q2hlY2tl
clNldENsaWVudChjb25zdCBXS1RleHRDaGVja2VyQ2xpZW50QmFzZSogY2xpZW50KTsKLQotV0tf
RVhQT1JUIHZvaWQgV0tUZXh0Q2hlY2tlckNvbnRpbnVvdXNTcGVsbENoZWNraW5nRW5hYmxlZFN0
YXRlQ2hhbmdlZChib29sKTsKLVdLX0VYUE9SVCB2b2lkIFdLVGV4dENoZWNrZXJHcmFtbWFyQ2hl
Y2tpbmdFbmFibGVkU3RhdGVDaGFuZ2VkKGJvb2wpOwotCi1XS19FWFBPUlQgdm9pZCBXS1RleHRD
aGVja2VyQ2hlY2tTcGVsbGluZyhXS1BhZ2VSZWYgcGFnZSwgYm9vbCBzdGFydEJlZm9yZVNlbGVj
dGlvbik7Ci1XS19FWFBPUlQgdm9pZCBXS1RleHRDaGVja2VyQ2hhbmdlU3BlbGxpbmdUb1dvcmQo
V0tQYWdlUmVmIHBhZ2UsIFdLU3RyaW5nUmVmIHdvcmQpOwotCi1XS19FWFBPUlQgdm9pZCBXS1Rl
eHRDaGVja2VyU2V0U3BlbGxDaGVja2luZ0xhbmd1YWdlcyhjb25zdCBjaGFyKiBjb25zdCogbGFu
Z3VhZ2VzKTsKLVdLX0VYUE9SVCB2b2lkIFdLVGV4dENoZWNrZXJTZXRDb250aW51b3VzU3BlbGxD
aGVja2luZ0VuYWJsZWQoYm9vbCk7Ci0KLSNpZmRlZiBfX2NwbHVzcGx1cwotfQotI2VuZGlmCi0K
LSNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvZ3RrL1dlYlRleHRD
aGVja2VyLmggYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9ndGsvV2ViVGV4dENoZWNrZXIuaApp
bmRleCAxYmRiNjNiY2U1NmFmZWI2N2E0NmY3OTVmMTQ5M2RiOTk3Zjg1YjI3Li41ZGU5MzY0ZDc4
NDM3YmMyN2JiMThjYTFkNTE0ZTQ5MDMwOTk5YzYxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
L1VJUHJvY2Vzcy9ndGsvV2ViVGV4dENoZWNrZXIuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJv
Y2Vzcy9ndGsvV2ViVGV4dENoZWNrZXIuaApAQCAtMjYsNyArMjYsNyBAQAogI3ByYWdtYSBvbmNl
CiAKICNpbmNsdWRlICJBUElPYmplY3QuaCIKLSNpbmNsdWRlICJXS1RleHRDaGVja2VyR3RrLmgi
CisjaW5jbHVkZSAiV0tUZXh0Q2hlY2tlckdMaWIuaCIKICNpbmNsdWRlICJXZWJUZXh0Q2hlY2tl
ckNsaWVudC5oIgogI2luY2x1ZGUgPHd0Zi9Gb3J3YXJkLmg+CiAKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQvVUlQcm9jZXNzL2d0ay9XZWJUZXh0Q2hlY2tlckNsaWVudC5oIGIvU291cmNlL1dl
YktpdC9VSVByb2Nlc3MvZ3RrL1dlYlRleHRDaGVja2VyQ2xpZW50LmgKaW5kZXggODk5NWNlOGI2
M2MyZjAxM2FlNTAwYWMzM2M0NmUzNDM2ZDk2ZjY4NS4uNDdmYjJkMzFlNDE4YWRjODZjYTY3YTdk
MzEzYjgxMzczYmNiYWE5OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvZ3Rr
L1dlYlRleHRDaGVja2VyQ2xpZW50LmgKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvZ3Rr
L1dlYlRleHRDaGVja2VyQ2xpZW50LmgKQEAgLTI2LDcgKzI2LDcgQEAKICNwcmFnbWEgb25jZQog
CiAjaW5jbHVkZSAiQVBJQ2xpZW50LmgiCi0jaW5jbHVkZSAiV0tUZXh0Q2hlY2tlckd0ay5oIgor
I2luY2x1ZGUgIldLVGV4dENoZWNrZXJHTGliLmgiCiAjaW5jbHVkZSA8V2ViQ29yZS9UZXh0Q2hl
Y2tlckNsaWVudC5oPgogI2luY2x1ZGUgPHd0Zi9Gb3J3YXJkLmg+CiAKZGlmZiAtLWdpdCBhL1Rv
b2xzL0NoYW5nZUxvZyBiL1Rvb2xzL0NoYW5nZUxvZwppbmRleCA3ZDA5MDdkMDA0N2FhMWFhMmI4
M2JiMzI3OTVjZGU2NGViOGRiYjgzLi4yZWJiZGEwNTI1NjA4OTJiNmQ1NzgxZjkwYTQ0YjJhYWY2
ZmFiYWU1IDEwMDY0NAotLS0gYS9Ub29scy9DaGFuZ2VMb2cKKysrIGIvVG9vbHMvQ2hhbmdlTG9n
CkBAIC0xLDMgKzEsMTYgQEAKKzIwMjEtMTAtMDggIE1pY2hhZWwgQ2F0YW56YXJvICA8bWNhdGFu
emFyb0Bnbm9tZS5vcmc+CisKKyAgICAgICAgW1dQRV0gRXhwb3NlIFdLVGV4dENoZWNrZXJTZXRD
b250aW51b3VzU3BlbGxDaGVja2luZ0VuYWJsZWQgYW5kIHVzZSBpdCBmcm9tIFdLVFIKKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIzMTQ0NgorCisgICAg
ICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogV2ViS2l0VGVzdFJ1
bm5lci9ndGsvVGVzdENvbnRyb2xsZXJHdGsuY3BwOgorICAgICAgICAqIFdlYktpdFRlc3RSdW5u
ZXIvZ3RrL1VJU2NyaXB0Q29udHJvbGxlckd0ay5jcHA6CisgICAgICAgICogV2ViS2l0VGVzdFJ1
bm5lci9ndGsvbWFpbi5jcHA6CisgICAgICAgICogV2ViS2l0VGVzdFJ1bm5lci93cGUvVUlTY3Jp
cHRDb250cm9sbGVyV1BFLmNwcDoKKyAgICAgICAgKFdUUjo6VUlTY3JpcHRDb250cm9sbGVyV1BF
OjpzZXRDb250aW51b3VzU3BlbGxDaGVja2luZ0VuYWJsZWQpOgorCiAyMDIxLTEwLTA4ICBKb25h
dGhhbiBCZWRhcmQgIDxqYmVkYXJkQGFwcGxlLmNvbT4KIAogICAgICAgICBbY29udHJpYnV0b3Jz
Lmpzb25dIFN1cHBvcnQgR2l0SHViIHVzZXJuYW1lcwpkaWZmIC0tZ2l0IGEvVG9vbHMvV2ViS2l0
VGVzdFJ1bm5lci9ndGsvVGVzdENvbnRyb2xsZXJHdGsuY3BwIGIvVG9vbHMvV2ViS2l0VGVzdFJ1
bm5lci9ndGsvVGVzdENvbnRyb2xsZXJHdGsuY3BwCmluZGV4IDExNGM3YTgxMmQ3NmFiZDlhOGE4
ZWQ1MTY4NDcxYzBiNWZkNzExMjQuLjU4NDcyMjU2ZGY2ZTE1MWQ0ZDgwYjYzYTE3ZDk0ZDkzYzFh
YTA4NDMgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvZ3RrL1Rlc3RDb250cm9s
bGVyR3RrLmNwcAorKysgYi9Ub29scy9XZWJLaXRUZXN0UnVubmVyL2d0ay9UZXN0Q29udHJvbGxl
ckd0ay5jcHAKQEAgLTI4LDcgKzI4LDcgQEAKICNpbmNsdWRlICJUZXN0Q29udHJvbGxlci5oIgog
CiAjaW5jbHVkZSAiUGxhdGZvcm1XZWJWaWV3LmgiCi0jaW5jbHVkZSA8V2ViS2l0L1dLVGV4dENo
ZWNrZXJHdGsuaD4KKyNpbmNsdWRlIDxXZWJLaXQvV0tUZXh0Q2hlY2tlckdMaWIuaD4KICNpbmNs
dWRlIDxndGsvZ3RrLmg+CiAjaW5jbHVkZSA8d3RmL1BsYXRmb3JtLmg+CiAjaW5jbHVkZSA8d3Rm
L1J1bkxvb3AuaD4KZGlmZiAtLWdpdCBhL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvZ3RrL1VJU2Ny
aXB0Q29udHJvbGxlckd0ay5jcHAgYi9Ub29scy9XZWJLaXRUZXN0UnVubmVyL2d0ay9VSVNjcmlw
dENvbnRyb2xsZXJHdGsuY3BwCmluZGV4IDMxMjdmZDliMDRjYzQ1YWQ2NzM5ZDRhMWUyNDEwMDkw
MmJjYjA5MTIuLjI4ZThhN2JiZDkzY2VjOWI4M2MxYmY3N2JiZGEyMGU1OTdiYWVhYmMgMTAwNjQ0
Ci0tLSBhL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvZ3RrL1VJU2NyaXB0Q29udHJvbGxlckd0ay5j
cHAKKysrIGIvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9ndGsvVUlTY3JpcHRDb250cm9sbGVyR3Rr
LmNwcApAQCAtMzEsNyArMzEsNyBAQAogI2luY2x1ZGUgIlRlc3RDb250cm9sbGVyLmgiCiAjaW5j
bHVkZSAiVUlTY3JpcHRDb250ZXh0LmgiCiAjaW5jbHVkZSA8SmF2YVNjcmlwdENvcmUvT3BhcXVl
SlNTdHJpbmcuaD4KLSNpbmNsdWRlIDxXZWJLaXQvV0tUZXh0Q2hlY2tlckd0ay5oPgorI2luY2x1
ZGUgPFdlYktpdC9XS1RleHRDaGVja2VyR0xpYi5oPgogI2luY2x1ZGUgPFdlYktpdC9XS1ZpZXdQ
cml2YXRlLmg+CiAjaW5jbHVkZSA8Z3RrL2d0ay5oPgogI2luY2x1ZGUgPHd0Zi9SdW5Mb29wLmg+
CmRpZmYgLS1naXQgYS9Ub29scy9XZWJLaXRUZXN0UnVubmVyL2d0ay9tYWluLmNwcCBiL1Rvb2xz
L1dlYktpdFRlc3RSdW5uZXIvZ3RrL21haW4uY3BwCmluZGV4IDhmMmVkOWYwOTBhODhmYTQ5MDk3
Y2E4Yjk0YjI0ZWQ1OTQzYjBlNjYuLmI1YTkyMmE0NDhmZTdlMDY1YWEwNzljMjRiZDI5M2I2Nzlh
Njg4ZjUgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvZ3RrL21haW4uY3BwCisr
KyBiL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvZ3RrL21haW4uY3BwCkBAIC0yNyw3ICsyNyw3IEBA
CiAKICNpbmNsdWRlICJUZXN0Q29udHJvbGxlci5oIgogI2luY2x1ZGUgPFdlYkNvcmUvR3RrVmVy
c2lvbmluZy5oPgotI2luY2x1ZGUgPFdlYktpdC9XS1RleHRDaGVja2VyR3RrLmg+CisjaW5jbHVk
ZSA8V2ViS2l0L1dLVGV4dENoZWNrZXJHTGliLmg+CiAjaW5jbHVkZSA8d3RmL2dsaWIvR1JlZlB0
ci5oPgogCiBpbnQgbWFpbihpbnQgYXJnYywgY2hhcioqIGFyZ3YpCmRpZmYgLS1naXQgYS9Ub29s
cy9XZWJLaXRUZXN0UnVubmVyL3dwZS9VSVNjcmlwdENvbnRyb2xsZXJXUEUuY3BwIGIvVG9vbHMv
V2ViS2l0VGVzdFJ1bm5lci93cGUvVUlTY3JpcHRDb250cm9sbGVyV1BFLmNwcAppbmRleCA1ZDU1
YTYyMTgzM2FhMmM4NmFlNzBlYjhjMDE0MWViNjY4ZjlmNGZiLi4wYjg5NjI5ZWFkZmZlMzhmZGJh
OWY4NjdlZWM2OWY4M2VmMzE4YWM5IDEwMDY0NAotLS0gYS9Ub29scy9XZWJLaXRUZXN0UnVubmVy
L3dwZS9VSVNjcmlwdENvbnRyb2xsZXJXUEUuY3BwCisrKyBiL1Rvb2xzL1dlYktpdFRlc3RSdW5u
ZXIvd3BlL1VJU2NyaXB0Q29udHJvbGxlcldQRS5jcHAKQEAgLTI5LDkgKzI5LDkgQEAKICNpbmNs
dWRlICJFdmVudFNlbmRlclByb3h5LmgiCiAjaW5jbHVkZSAiUGxhdGZvcm1XZWJWaWV3LmgiCiAj
aW5jbHVkZSAiVGVzdENvbnRyb2xsZXIuaCIKLSNpbmNsdWRlICJUZXh0Q2hlY2tlci5oIgogI2lu
Y2x1ZGUgIlVJU2NyaXB0Q29udGV4dC5oIgogI2luY2x1ZGUgPEphdmFTY3JpcHRDb3JlL09wYXF1
ZUpTU3RyaW5nLmg+CisjaW5jbHVkZSA8V2ViS2l0L1dLVGV4dENoZWNrZXJHTGliLmg+CiAjaW5j
bHVkZSA8d3RmL1J1bkxvb3AuaD4KIAogbmFtZXNwYWNlIFdUUiB7CkBAIC01Myw3ICs1Myw3IEBA
IHZvaWQgVUlTY3JpcHRDb250cm9sbGVyV1BFOjpkb0FzeW5jVGFzayhKU1ZhbHVlUmVmIGNhbGxi
YWNrKQogCiB2b2lkIFVJU2NyaXB0Q29udHJvbGxlcldQRTo6c2V0Q29udGludW91c1NwZWxsQ2hl
Y2tpbmdFbmFibGVkKGJvb2wgZW5hYmxlZCkKIHsKLSAgICBXZWJLaXQ6OlRleHRDaGVja2VyOjpz
ZXRDb250aW51b3VzU3BlbGxDaGVja2luZ0VuYWJsZWQoZW5hYmxlZCk7CisgICAgV0tUZXh0Q2hl
Y2tlclNldENvbnRpbnVvdXNTcGVsbENoZWNraW5nRW5hYmxlZChlbmFibGVkKTsKIH0KIAogdm9p
ZCBVSVNjcmlwdENvbnRyb2xsZXJXUEU6OmNvcHlUZXh0KEpTU3RyaW5nUmVmKQo=
</data>

          </attachment>
      

    </bug>

</bugzilla>