<?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>234370</bug_id>
          
          <creation_ts>2021-12-15 15:39:12 -0800</creation_ts>
          <short_desc>Add a &quot;NotificationData&quot; object to encompass local Notification-related parameters, instead of passing tons of them around everywhere</short_desc>
          <delta_ts>2021-12-24 09:07:32 -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>
          
          <see_also>https://bugs.webkit.org/show_bug.cgi?id=234437</see_also>
    
    <see_also>https://bugs.webkit.org/show_bug.cgi?id=234436</see_also>
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Brady Eidson">beidson</reporter>
          <assigned_to name="Brady Eidson">beidson</assigned_to>
          <cc>annulen</cc>
    
    <cc>darin</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>ryuan.choi</cc>
    
    <cc>sergio</cc>
    
    <cc>thorton</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1824562</commentid>
    <comment_count>0</comment_count>
    <who name="Brady Eidson">beidson</who>
    <bug_when>2021-12-15 15:39:12 -0800</bug_when>
    <thetext>Add a &quot;NotificationData&quot; object to encompass local Notification-related parameters, instead of passing tons of them around everywhere</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1824567</commentid>
    <comment_count>1</comment_count>
      <attachid>447295</attachid>
    <who name="Brady Eidson">beidson</who>
    <bug_when>2021-12-15 15:49:38 -0800</bug_when>
    <thetext>Created attachment 447295
Patch v1</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1824569</commentid>
    <comment_count>2</comment_count>
      <attachid>447295</attachid>
    <who name="Tim Horton">thorton</who>
    <bug_when>2021-12-15 15:58:36 -0800</bug_when>
    <thetext>Comment on attachment 447295
Patch v1

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

&gt; Source/WebCore/Modules/notifications/NotificationData.h:49
&gt; +    encoder &lt;&lt; title &lt;&lt; body &lt;&lt; iconURL &lt;&lt; tag &lt;&lt; language &lt;&lt; direction &lt;&lt; originString &lt;&lt; notificationID;

I feel like traditionally we do one-per-line, though there&apos;s nothing wrong with this.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1824570</commentid>
    <comment_count>3</comment_count>
      <attachid>447295</attachid>
    <who name="Tim Horton">thorton</who>
    <bug_when>2021-12-15 15:58:39 -0800</bug_when>
    <thetext>Comment on attachment 447295
Patch v1

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

&gt; Source/WebCore/Modules/notifications/NotificationData.h:49
&gt; +    encoder &lt;&lt; title &lt;&lt; body &lt;&lt; iconURL &lt;&lt; tag &lt;&lt; language &lt;&lt; direction &lt;&lt; originString &lt;&lt; notificationID;

I feel like traditionally we do one-per-line, though there&apos;s nothing wrong with this.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1824572</commentid>
    <comment_count>4</comment_count>
      <attachid>447296</attachid>
    <who name="Brady Eidson">beidson</who>
    <bug_when>2021-12-15 16:11:24 -0800</bug_when>
    <thetext>Created attachment 447296
PFL v1</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1824588</commentid>
    <comment_count>5</comment_count>
      <attachid>447300</attachid>
    <who name="Brady Eidson">beidson</who>
    <bug_when>2021-12-15 16:51:23 -0800</bug_when>
    <thetext>Created attachment 447300
PFL v2</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1824612</commentid>
    <comment_count>6</comment_count>
      <attachid>447304</attachid>
    <who name="Brady Eidson">beidson</who>
    <bug_when>2021-12-15 17:48:32 -0800</bug_when>
    <thetext>Created attachment 447304
PFL v3</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1824662</commentid>
    <comment_count>7</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2021-12-15 19:47:31 -0800</bug_when>
    <thetext>Committed r287124 (245308@main): &lt;https://commits.webkit.org/245308@main&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 447304.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1824663</commentid>
    <comment_count>8</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2021-12-15 19:48:23 -0800</bug_when>
    <thetext>&lt;rdar://problem/86555440&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1824865</commentid>
    <comment_count>9</comment_count>
      <attachid>447304</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2021-12-16 13:30:07 -0800</bug_when>
    <thetext>Comment on attachment 447304
PFL v3

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

&gt; Source/WebCore/Modules/notifications/NotificationData.cpp:31
&gt; +namespace WebCore {
&gt; +
&gt; +} // namespace WebCore

What’s the rationale for creating an empty source file?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1826162</commentid>
    <comment_count>10</comment_count>
    <who name="Brady Eidson">beidson</who>
    <bug_when>2021-12-21 16:36:15 -0800</bug_when>
    <thetext>(In reply to Darin Adler from comment #9)
&gt; Comment on attachment 447304 [details]
&gt; PFL v3
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=447304&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/Modules/notifications/NotificationData.cpp:31
&gt; &gt; +namespace WebCore {
&gt; &gt; +
&gt; &gt; +} // namespace WebCore
&gt; 
&gt; What’s the rationale for creating an empty source file?

There was definitely a build/link error resolved by it, but I definitely forget what it was.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1826164</commentid>
    <comment_count>11</comment_count>
    <who name="Brady Eidson">beidson</who>
    <bug_when>2021-12-21 16:42:12 -0800</bug_when>
    <thetext>This patch had a pretty subtle bug which caused a few different types of test flakiness.

Look at this file closely and see if you can spot it.
https://trac.webkit.org/changeset/287124/webkit/trunk/Source/WebKit/UIProcess/Notifications/WebNotificationManagerProxy.cpp

Good news - That type of subtle bug within the &quot;two different notification identifiers&quot; system is why I embarked upon https://bugs.webkit.org/show_bug.cgi?id=234534 which should fix it.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1826729</commentid>
    <comment_count>12</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2021-12-24 09:07:32 -0800</bug_when>
    <thetext>(In reply to Brady Eidson from comment #10)
&gt; (In reply to Darin Adler from comment #9)
&gt; &gt; &gt; Source/WebCore/Modules/notifications/NotificationData.cpp:31
&gt; &gt; &gt; +namespace WebCore {
&gt; &gt; &gt; +
&gt; &gt; &gt; +} // namespace WebCore
&gt; &gt; 
&gt; &gt; What’s the rationale for creating an empty source file?
&gt; 
&gt; There was definitely a build/link error resolved by it, but I definitely
&gt; forget what it was.

Let’s follow up on this. Doesn’t make logical sense that we need an empty source file, and I am pretty sure we can remove it.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>447295</attachid>
            <date>2021-12-15 15:49:38 -0800</date>
            <delta_ts>2021-12-15 16:11:24 -0800</delta_ts>
            <desc>Patch v1</desc>
            <filename>patch</filename>
            <type>text/plain</type>
            <size>29825</size>
            <attacher name="Brady Eidson">beidson</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZwppbmRleCBjM2YzODIwY2FhMDUuLjE0ZDRhNTU5ODU2ZSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAt
MSwzICsxLDI0IEBACisyMDIxLTEyLTE1ICBCcmFkeSBFaWRzb24gIDxiZWlkc29uQGFwcGxlLmNv
bT4KKworICAgICAgICBBZGQgYSAiTm90aWZpY2F0aW9uRGF0YSIgb2JqZWN0IHRvIGVuY29tcGFz
cyBsb2NhbCBOb3RpZmljYXRpb24tcmVsYXRlZCBwYXJhbWV0ZXJzLCBpbnN0ZWFkIG9mIHBhc3Np
bmcgdG9ucyBvZiB0aGVtIGFyb3VuZCBldmVyeXdoZXJlLgorICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjM0MzcwCisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
Tk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgTm8gYmVoYXZpb3IgY2hhbmdlLgorCisgICAgICAg
ICogTW9kdWxlcy9ub3RpZmljYXRpb25zL05vdGlmaWNhdGlvbi5jcHA6CisgICAgICAgIChXZWJD
b3JlOjpOb3RpZmljYXRpb246OmRhdGFXaXRob3V0Tm90aWZpY2F0aW9uSUQgY29uc3QpOgorICAg
ICAgICAqIE1vZHVsZXMvbm90aWZpY2F0aW9ucy9Ob3RpZmljYXRpb24uaDoKKworICAgICAgICAq
IE1vZHVsZXMvbm90aWZpY2F0aW9ucy9Ob3RpZmljYXRpb25EYXRhLmNwcDogQ29waWVkIGZyb20g
U291cmNlL1dlYktpdC9VSVByb2Nlc3MvTm90aWZpY2F0aW9ucy9XZWJOb3RpZmljYXRpb24uY3Bw
LgorICAgICAgICAqIE1vZHVsZXMvbm90aWZpY2F0aW9ucy9Ob3RpZmljYXRpb25EYXRhLmg6IEFk
ZGVkLgorICAgICAgICAoV2ViQ29yZTo6Tm90aWZpY2F0aW9uRGF0YTo6ZW5jb2RlIGNvbnN0KToK
KyAgICAgICAgKFdlYkNvcmU6Ok5vdGlmaWNhdGlvbkRhdGE6OmRlY29kZSk6CisKKyAgICAgICAg
KiBTb3VyY2VzLnR4dDoKKyAgICAgICAgKiBXZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHBy
b2o6CisKIDIwMjEtMTItMTMgIEFsZXggQ2hyaXN0ZW5zZW4gIDxhY2hyaXN0ZW5zZW5Ad2Via2l0
Lm9yZz4KIAogICAgICAgICBBbGxvdyBXS0NvbnRlbnRSdWxlTGlzdCB0byBydW4gcmVnZXhlcyBv
biBjdXJyZW50IGZyYW1lJ3MgVVJMLCBub3QganVzdCB0b3AgZnJhbWUncyBVUkwKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbm90aWZpY2F0aW9ucy9Ob3RpZmljYXRpb24uY3Bw
IGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9ub3RpZmljYXRpb25zL05vdGlmaWNhdGlvbi5jcHAK
aW5kZXggYjYzZmQwODA1YTFiLi4yODE3ZTIxZjA2ZTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL01vZHVsZXMvbm90aWZpY2F0aW9ucy9Ob3RpZmljYXRpb24uY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL01vZHVsZXMvbm90aWZpY2F0aW9ucy9Ob3RpZmljYXRpb24uY3BwCkBAIC00MSw2ICs0
MSw3IEBACiAjaW5jbHVkZSAiSlNET01Qcm9taXNlRGVmZXJyZWQuaCIKICNpbmNsdWRlICJOb3Rp
ZmljYXRpb25DbGllbnQuaCIKICNpbmNsdWRlICJOb3RpZmljYXRpb25Db250cm9sbGVyLmgiCisj
aW5jbHVkZSAiTm90aWZpY2F0aW9uRGF0YS5oIgogI2luY2x1ZGUgIk5vdGlmaWNhdGlvblBlcm1p
c3Npb25DYWxsYmFjay5oIgogI2luY2x1ZGUgIldpbmRvd0V2ZW50TG9vcC5oIgogI2luY2x1ZGUg
IldpbmRvd0ZvY3VzQWxsb3dlZEluZGljYXRvci5oIgpAQCAtMjI0LDYgKzIyNSwyMCBAQCBib29s
IE5vdGlmaWNhdGlvbjo6dmlydHVhbEhhc1BlbmRpbmdBY3Rpdml0eSgpIGNvbnN0CiAgICAgcmV0
dXJuIG1fc3RhdGUgPT0gU2hvd2luZyAmJiBtX2hhc1JlbGV2YW50RXZlbnRMaXN0ZW5lcjsKIH0K
IAorTm90aWZpY2F0aW9uRGF0YSBOb3RpZmljYXRpb246OmRhdGFXaXRob3V0Tm90aWZpY2F0aW9u
SUQoKSBjb25zdAoreworICAgIHJldHVybiB7CisgICAgICAgIG1fdGl0bGUsCisgICAgICAgIG1f
Ym9keSwKKyAgICAgICAgbV9pY29uLnN0cmluZygpLAorICAgICAgICBtX3RhZywKKyAgICAgICAg
bV9sYW5nLAorICAgICAgICBtX2RpcmVjdGlvbiwKKyAgICAgICAgc2NyaXB0RXhlY3V0aW9uQ29u
dGV4dCgpLT5zZWN1cml0eU9yaWdpbigpLT50b1N0cmluZygpLAorICAgICAgICAwCisgICAgfTsK
K30KKwogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQogCiAjZW5kaWYgLy8gRU5BQkxFKE5PVElGSUNB
VElPTlMpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL25vdGlmaWNhdGlvbnMv
Tm90aWZpY2F0aW9uLmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL25vdGlmaWNhdGlvbnMvTm90
aWZpY2F0aW9uLmgKaW5kZXggNjUzOTE1MmU5OGM1Li5kMmM3ZDM3MWVlNWEgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbm90aWZpY2F0aW9ucy9Ob3RpZmljYXRpb24uaAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL25vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9uLmgKQEAg
LTQ2LDYgKzQ2LDggQEAgY2xhc3MgRGVmZXJyZWRQcm9taXNlOwogY2xhc3MgRG9jdW1lbnQ7CiBj
bGFzcyBOb3RpZmljYXRpb25QZXJtaXNzaW9uQ2FsbGJhY2s7CiAKK3N0cnVjdCBOb3RpZmljYXRp
b25EYXRhOworCiBjbGFzcyBOb3RpZmljYXRpb24gZmluYWwgOiBwdWJsaWMgUmVmQ291bnRlZDxO
b3RpZmljYXRpb24+LCBwdWJsaWMgQWN0aXZlRE9NT2JqZWN0LCBwdWJsaWMgRXZlbnRUYXJnZXRX
aXRoSW5saW5lRGF0YSB7CiAgICAgV1RGX01BS0VfSVNPX0FMTE9DQVRFRF9FWFBPUlQoTm90aWZp
Y2F0aW9uLCBXRUJDT1JFX0VYUE9SVCk7CiBwdWJsaWM6CkBAIC04Nyw2ICs4OSw4IEBAIHB1Ymxp
YzoKIAogICAgIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqIHNjcmlwdEV4ZWN1dGlvbkNvbnRleHQo
KSBjb25zdCBmaW5hbCB7IHJldHVybiBBY3RpdmVET01PYmplY3Q6OnNjcmlwdEV4ZWN1dGlvbkNv
bnRleHQoKTsgfQogCisgICAgV0VCQ09SRV9FWFBPUlQgTm90aWZpY2F0aW9uRGF0YSBkYXRhV2l0
aG91dE5vdGlmaWNhdGlvbklEKCkgY29uc3Q7CisKICAgICB1c2luZyBSZWZDb3VudGVkOjpyZWY7
CiAgICAgdXNpbmcgUmVmQ291bnRlZDo6ZGVyZWY7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL01vZHVsZXMvbm90aWZpY2F0aW9ucy9Ob3RpZmljYXRpb25EYXRhLmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL01vZHVsZXMvbm90aWZpY2F0aW9ucy9Ob3RpZmljYXRpb25EYXRhLmNwcApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAuLjYwNDcwODM1NTk1MAotLS0gL2Rldi9u
dWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbm90aWZpY2F0aW9ucy9Ob3RpZmljYXRp
b25EYXRhLmNwcApAQCAtMCwwICsxLDMxIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDIxIEFw
cGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQg
dXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlm
aWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0
aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBt
dXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBv
ZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3Ry
aWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdo
dAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2lu
ZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0
ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRX
QVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJ
UycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcs
IEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hB
TlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJ
U0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9S
UworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BF
Q0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcs
IEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMg
T1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUwor
ICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFC
SUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JU
IChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBX
QVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisg
KiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2luY2x1ZGUgImNvbmZp
Zy5oIgorI2luY2x1ZGUgIk5vdGlmaWNhdGlvbkRhdGEuaCIKKworbmFtZXNwYWNlIFdlYkNvcmUg
eworCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL25vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9uRGF0YS5oIGIvU291cmNlL1dlYkNvcmUv
TW9kdWxlcy9ub3RpZmljYXRpb25zL05vdGlmaWNhdGlvbkRhdGEuaApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAuLjQ4OTFjNDMzNTg3OQotLS0gL2Rldi9udWxsCisrKyBi
L1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbm90aWZpY2F0aW9ucy9Ob3RpZmljYXRpb25EYXRhLmgK
QEAgLTAsMCArMSwxMDcgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMjEgQXBwbGUgSW5jLiBB
bGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291
cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBh
cmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBh
cmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWlu
IHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlv
bnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBp
biBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBu
b3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWlt
ZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJv
dmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJP
VklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFO
RCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBM
SU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkg
QU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4g
SU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBM
SUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVN
UExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBM
SU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNF
UzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJV
UFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hF
VEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElO
RyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0Yg
VEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NT
SUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjcHJhZ21hIG9uY2UKKworbmFtZXNwYWNl
IFdlYkNvcmUgeworCitlbnVtIGNsYXNzIE5vdGlmaWNhdGlvbkRpcmVjdGlvbiA6IHVpbnQ4X3Q7
CisKK3N0cnVjdCBOb3RpZmljYXRpb25EYXRhIHsKKyAgICB0ZW1wbGF0ZTxjbGFzcyBFbmNvZGVy
PiB2b2lkIGVuY29kZShFbmNvZGVyJikgY29uc3Q7CisgICAgdGVtcGxhdGU8Y2xhc3MgRGVjb2Rl
cj4gc3RhdGljIHN0ZDo6b3B0aW9uYWw8Tm90aWZpY2F0aW9uRGF0YT4gZGVjb2RlKERlY29kZXIm
KTsKKworICAgIFN0cmluZyB0aXRsZTsKKyAgICBTdHJpbmcgYm9keTsKKyAgICBTdHJpbmcgaWNv
blVSTDsKKyAgICBTdHJpbmcgdGFnOworICAgIFN0cmluZyBsYW5ndWFnZTsKKyAgICBXZWJDb3Jl
OjpOb3RpZmljYXRpb25EaXJlY3Rpb24gZGlyZWN0aW9uOworICAgIFN0cmluZyBvcmlnaW5TdHJp
bmc7CisgICAgdWludDY0X3Qgbm90aWZpY2F0aW9uSUQ7Cit9OworCit0ZW1wbGF0ZTxjbGFzcyBF
bmNvZGVyPgordm9pZCBOb3RpZmljYXRpb25EYXRhOjplbmNvZGUoRW5jb2RlciYgZW5jb2Rlcikg
Y29uc3QKK3sKKyAgICBlbmNvZGVyIDw8IHRpdGxlIDw8IGJvZHkgPDwgaWNvblVSTCA8PCB0YWcg
PDwgbGFuZ3VhZ2UgPDwgZGlyZWN0aW9uIDw8IG9yaWdpblN0cmluZyA8PCBub3RpZmljYXRpb25J
RDsKK30KKwordGVtcGxhdGU8Y2xhc3MgRGVjb2Rlcj4KK3N0ZDo6b3B0aW9uYWw8Tm90aWZpY2F0
aW9uRGF0YT4gTm90aWZpY2F0aW9uRGF0YTo6ZGVjb2RlKERlY29kZXImIGRlY29kZXIpCit7Cisg
ICAgc3RkOjpvcHRpb25hbDxTdHJpbmc+IHRpdGxlOworICAgIGRlY29kZXIgPj4gdGl0bGU7Cisg
ICAgaWYgKCF0aXRsZSkKKyAgICAgICAgcmV0dXJuIHN0ZDo6bnVsbG9wdDsKKworICAgIHN0ZDo6
b3B0aW9uYWw8U3RyaW5nPiBib2R5OworICAgIGRlY29kZXIgPj4gYm9keTsKKyAgICBpZiAoIWJv
ZHkpCisgICAgICAgIHJldHVybiBzdGQ6Om51bGxvcHQ7CisKKyAgICBzdGQ6Om9wdGlvbmFsPFN0
cmluZz4gaWNvblVSTDsKKyAgICBkZWNvZGVyID4+IGljb25VUkw7CisgICAgaWYgKCFpY29uVVJM
KQorICAgICAgICByZXR1cm4gc3RkOjpudWxsb3B0OworCisgICAgc3RkOjpvcHRpb25hbDxTdHJp
bmc+IHRhZzsKKyAgICBkZWNvZGVyID4+IHRhZzsKKyAgICBpZiAoIXRhZykKKyAgICAgICAgcmV0
dXJuIHN0ZDo6bnVsbG9wdDsKKworICAgIHN0ZDo6b3B0aW9uYWw8U3RyaW5nPiBsYW5ndWFnZTsK
KyAgICBkZWNvZGVyID4+IGxhbmd1YWdlOworICAgIGlmICghbGFuZ3VhZ2UpCisgICAgICAgIHJl
dHVybiBzdGQ6Om51bGxvcHQ7CisKKyAgICBzdGQ6Om9wdGlvbmFsPFdlYkNvcmU6Ok5vdGlmaWNh
dGlvbkRpcmVjdGlvbj4gZGlyZWN0aW9uOworICAgIGRlY29kZXIgPj4gZGlyZWN0aW9uOworICAg
IGlmICghZGlyZWN0aW9uKQorICAgICAgICByZXR1cm4gc3RkOjpudWxsb3B0OworCisgICAgc3Rk
OjpvcHRpb25hbDxTdHJpbmc+IG9yaWdpblN0cmluZzsKKyAgICBkZWNvZGVyID4+IG9yaWdpblN0
cmluZzsKKyAgICBpZiAoIW9yaWdpblN0cmluZykKKyAgICAgICAgcmV0dXJuIHN0ZDo6bnVsbG9w
dDsKKworICAgIHN0ZDo6b3B0aW9uYWw8dWludDY0X3Q+IG5vdGlmaWNhdGlvbklEOworICAgIGRl
Y29kZXIgPj4gbm90aWZpY2F0aW9uSUQ7CisgICAgaWYgKCFub3RpZmljYXRpb25JRCkKKyAgICAg
ICAgcmV0dXJuIHN0ZDo6bnVsbG9wdDsKKworICAgIHJldHVybiB7IHsKKyAgICAgICAgV1RGTW92
ZSgqdGl0bGUpLAorICAgICAgICBXVEZNb3ZlKCpib2R5KSwKKyAgICAgICAgV1RGTW92ZSgqaWNv
blVSTCksCisgICAgICAgIFdURk1vdmUoKnRhZyksCisgICAgICAgIFdURk1vdmUoKmxhbmd1YWdl
KSwKKyAgICAgICAgV1RGTW92ZSgqZGlyZWN0aW9uKSwKKyAgICAgICAgV1RGTW92ZSgqb3JpZ2lu
U3RyaW5nKSwKKyAgICAgICAgV1RGTW92ZSgqbm90aWZpY2F0aW9uSUQpLAorICAgIH0gfTsKK30K
KworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvU291
cmNlcy50eHQgYi9Tb3VyY2UvV2ViQ29yZS9Tb3VyY2VzLnR4dAppbmRleCAwYmM5YThkNjAzNjEu
LmI2Y2JlNDZjMDgwYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvU291cmNlcy50eHQKKysr
IGIvU291cmNlL1dlYkNvcmUvU291cmNlcy50eHQKQEAgLTI0Miw2ICsyNDIsNyBAQCBNb2R1bGVz
L21vZGVsLWVsZW1lbnQvZHVtbXkvRHVtbXlNb2RlbFBsYXllci5jcHAKIE1vZHVsZXMvbW9kZWwt
ZWxlbWVudC9kdW1teS9EdW1teU1vZGVsUGxheWVyUHJvdmlkZXIuY3BwCiBNb2R1bGVzL25vdGlm
aWNhdGlvbnMvTm90aWZpY2F0aW9uLmNwcAogTW9kdWxlcy9ub3RpZmljYXRpb25zL05vdGlmaWNh
dGlvbkNvbnRyb2xsZXIuY3BwCitNb2R1bGVzL25vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9uRGF0
YS5jcHAKIE1vZHVsZXMvcGF5bWVudHJlcXVlc3QvTWVyY2hhbnRWYWxpZGF0aW9uRXZlbnQuY3Bw
CiBNb2R1bGVzL3BheW1lbnRyZXF1ZXN0L1BheW1lbnRBZGRyZXNzLmNwcAogTW9kdWxlcy9wYXlt
ZW50cmVxdWVzdC9QYXltZW50SGFuZGxlci5jcHAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvaiBiL1NvdXJjZS9XZWJDb3JlL1dlYkNv
cmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagppbmRleCBkOTI3Mjk3MjZiOTAuLjQ2NGJmNDJh
OWFkYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVj
dC5wYnhwcm9qCisrKyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3Qu
cGJ4cHJvagpAQCAtMTUyMSw2ICsxNTIxLDcgQEAKIAkJNTEwRDRBMzcxMDMxNjVFRTAwNDlFQTU0
IC8qIFNvY2tldFN0cmVhbUhhbmRsZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gNTEwRDRBMzExMDMxNjVFRTAwNDlFQTU0IC8qIFNvY2tldFN0cmVhbUhh
bmRsZS5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJ
CTUxMEQ0QTM4MTAzMTY1RUUwMDQ5RUE1NCAvKiBTb2NrZXRTdHJlYW1IYW5kbGVDbGllbnQuaCBp
biBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDUxMEQ0QTMyMTAz
MTY1RUUwMDQ5RUE1NCAvKiBTb2NrZXRTdHJlYW1IYW5kbGVDbGllbnQuaCAqLzsgc2V0dGluZ3Mg
PSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQk1MTEwRkNGQzFFMDM2NDFEMDA2
RjhEMEIgLyogSURCQ3Vyc29yUmVjb3JkLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSA1MTEwRkNGQjFFMDM2MkE1MDA2RjhEMEIgLyogSURCQ3Vyc29yUmVj
b3JkLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJ
NTExMjNFMkYyNzY5NDBDQTAwRjlENDFCIC8qIE5vdGlmaWNhdGlvbkRhdGEuaCBpbiBIZWFkZXJz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDUxMTIzRTJDMjc2OTNDMzIwMEY5
RDQxQiAvKiBOb3RpZmljYXRpb25EYXRhLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAo
UHJpdmF0ZSwgKTsgfTsgfTsKIAkJNTExN0YzMEUyNUU2MTAyMDAwMkE5RjFFIC8qIFJlbW90ZUNv
bW1hbmRMaXN0ZW5lckNvY29hLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSA1MTE3RjMwQzI1RTYxMDFGMDAyQTlGMUUgLyogUmVtb3RlQ29tbWFuZExpc3Rl
bmVyQ29jb2EuaCAqLzsgfTsKIAkJNTExRUMxMjgxQzUwQUFDQTAwMzJGOTgzIC8qIElEQlNlcmlh
bGl6YXRpb24uaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IDUxMUVDMTI2MUM1MEFBNTcwMDMyRjk4MyAvKiBJREJTZXJpYWxpemF0aW9uLmggKi87IH07CiAJ
CTUxMUVDMTJDMUM1MEFCQkYwMDMyRjk4MyAvKiBTUUxpdGVJREJUcmFuc2FjdGlvbi5oIGluIEhl
YWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNTExRUMxMkExQzUwQUJC
QTAwMzJGOTgzIC8qIFNRTGl0ZUlEQlRyYW5zYWN0aW9uLmggKi87IH07CkBAIC05NTUwLDYgKzk1
NTEsOCBAQAogCQk1MTBENEEzMTEwMzE2NUVFMDA0OUVBNTQgLyogU29ja2V0U3RyZWFtSGFuZGxl
LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFNvY2tldFN0cmVhbUhhbmRsZS5o
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk1MTBENEEzMjEwMzE2NUVFMDA0OUVBNTQg
LyogU29ja2V0U3RyZWFtSGFuZGxlQ2xpZW50LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsg
cGF0aCA9IFNvY2tldFN0cmVhbUhhbmRsZUNsaWVudC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OwogCQk1MTEwRkNGQjFFMDM2MkE1MDA2RjhEMEIgLyogSURCQ3Vyc29yUmVjb3JkLmggKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IElEQkN1cnNvclJlY29yZC5oOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OworCQk1MTEyM0UyQzI3NjkzQzMyMDBGOUQ0MUIgLyogTm90aWZp
Y2F0aW9uRGF0YS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBOb3RpZmljYXRp
b25EYXRhLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTUxMTIzRTJFMjc2OTNDMzMw
MEY5RDQxQiAvKiBOb3RpZmljYXRpb25EYXRhLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3Bw
LmNwcDsgcGF0aCA9IE5vdGlmaWNhdGlvbkRhdGEuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OwogCQk1MTE3RjMwQTI1RTYxMDFFMDAyQTlGMUUgLyogUmVtb3RlQ29tbWFuZExpc3RlbmVy
Q29jb2EubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGggPSBSZW1vdGVD
b21tYW5kTGlzdGVuZXJDb2NvYS5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNTEx
N0YzMEMyNUU2MTAxRjAwMkE5RjFFIC8qIFJlbW90ZUNvbW1hbmRMaXN0ZW5lckNvY29hLmggKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFJlbW90ZUNvbW1hbmRMaXN0ZW5lckNvY29h
Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTUxMUVDMTI1MUM1MEFBNTcwMDMyRjk4
MyAvKiBJREJTZXJpYWxpemF0aW9uLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsg
cGF0aCA9IElEQlNlcmlhbGl6YXRpb24uY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpA
QCAtMjA3MDAsNiArMjA3MDMsOCBAQAogCQkJCTMzNTAzQzk5MTAxNzlBNzQwMDNCNDdFMSAvKiBO
b3RpZmljYXRpb25DbGllbnQuaCAqLywKIAkJCQkzMTI4Q0E2NzE0NzMzMTUyMDA3NEM3MkEgLyog
Tm90aWZpY2F0aW9uQ29udHJvbGxlci5jcHAgKi8sCiAJCQkJMzEyOENBNkExNDczMzE2MzAwNzRD
NzJBIC8qIE5vdGlmaWNhdGlvbkNvbnRyb2xsZXIuaCAqLywKKwkJCQk1MTEyM0UyRTI3NjkzQzMz
MDBGOUQ0MUIgLyogTm90aWZpY2F0aW9uRGF0YS5jcHAgKi8sCisJCQkJNTExMjNFMkMyNzY5M0Mz
MjAwRjlENDFCIC8qIE5vdGlmaWNhdGlvbkRhdGEuaCAqLywKIAkJCQk3Q0MyREUwMjFFQ0EwNEE1
MDAyN0I3NzQgLyogTm90aWZpY2F0aW9uRGlyZWN0aW9uLmggKi8sCiAJCQkJN0NDMkRERjgxRUM5
NDE1QTAwMjdCNzc0IC8qIE5vdGlmaWNhdGlvblBlcm1pc3Npb24uaCAqLywKIAkJCQk3Q0MyRERG
QTFFQzk0MTVBMDAyN0I3NzQgLyogTm90aWZpY2F0aW9uUGVybWlzc2lvbi5pZGwgKi8sCkBAIC0z
MzEwMSw3ICszMzEwNiw2IEBACiAJCQlpc2EgPSBQQlhIZWFkZXJzQnVpbGRQaGFzZTsKIAkJCWJ1
aWxkQWN0aW9uTWFzayA9IDIxNDc0ODM2NDc7CiAJCQlmaWxlcyA9ICgKLQkJCQk3QjU4MkREODI3
MTZGNTVCMDA0QjkyRDAgLyogKG51bGwpIGluIEhlYWRlcnMgKi8sCiAJCQkJN0NEMEUyQjgxRjgw
QTQ4MjAwMTZBNENFIC8qIEFib3J0Q29udHJvbGxlci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJN0NE
MEUyQkYxRjgwQTU2RTAwMTZBNENFIC8qIEFib3J0U2lnbmFsLmggaW4gSGVhZGVycyAqLywKIAkJ
CQk0NkI5NTE5NTIwN0Q2MzM0MDBBN0QyREQgLyogQWJzdHJhY3RET01XaW5kb3cuaCBpbiBIZWFk
ZXJzICovLApAQCAtMzcwMzgsNiArMzcwNDIsNyBAQAogCQkJCTdFNDc0RTFFMTI0OTREQzkwMDIz
NTM2NCAvKiBTUUxpdGVEYXRhYmFzZVRyYWNrZXJDbGllbnQuaCBpbiBIZWFkZXJzICovLAogCQkJ
CUI1QTY4NDIyMEZGQUJFOTgwMEQyNDY4OSAvKiBTUUxpdGVGaWxlU3lzdGVtLmggaW4gSGVhZGVy
cyAqLywKIAkJCQk1MTJCREI0QjFDNDU2RkZBMDA2NDk0REYgLyogU1FMaXRlSURCQmFja2luZ1N0
b3JlLmggaW4gSGVhZGVycyAqLywKKwkJCQk1MTEyM0UyRjI3Njk0MENBMDBGOUQ0MUIgLyogTm90
aWZpY2F0aW9uRGF0YS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNTExRUMxMzAxQzUwQUJGNTAwMzJG
OTgzIC8qIFNRTGl0ZUlEQkN1cnNvci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNTExRUMxMkMxQzUw
QUJCRjAwMzJGOTgzIC8qIFNRTGl0ZUlEQlRyYW5zYWN0aW9uLmggaW4gSGVhZGVycyAqLywKIAkJ
CQkxQTIyNDY0QzBDQzk4RERCMDBDMDUyNDAgLyogU1FMaXRlU3RhdGVtZW50LmggaW4gSGVhZGVy
cyAqLywKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktp
dC9DaGFuZ2VMb2cKaW5kZXggY2M1OTMzYTZlNjVhLi4yZjQyZGEwYWU1ZmMgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCkBA
IC0xLDMgKzEsMzUgQEAKKzIwMjEtMTItMTUgIEJyYWR5IEVpZHNvbiAgPGJlaWRzb25AYXBwbGUu
Y29tPgorCisgICAgICAgIEFkZCBhICJOb3RpZmljYXRpb25EYXRhIiBvYmplY3QgdG8gZW5jb21w
YXNzIGxvY2FsIE5vdGlmaWNhdGlvbi1yZWxhdGVkIHBhcmFtZXRlcnMsIGluc3RlYWQgb2YgcGFz
c2luZyB0b25zIG9mIHRoZW0gYXJvdW5kIGV2ZXJ5d2hlcmUuCisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMzQzNzAKKworICAgICAgICBSZXZpZXdlZCBi
eSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIE5ldHdvcmtQcm9jZXNzL05vdGlmaWNhdGlv
bnMvTmV0d29ya05vdGlmaWNhdGlvbk1hbmFnZXIuaDoKKworICAgICAgICAqIFNoYXJlZC9Ob3Rp
ZmljYXRpb25zL05vdGlmaWNhdGlvbk1hbmFnZXJNZXNzYWdlSGFuZGxlci5oOgorICAgICAgICAq
IFNoYXJlZC9Ob3RpZmljYXRpb25zL05vdGlmaWNhdGlvbk1hbmFnZXJNZXNzYWdlSGFuZGxlci5t
ZXNzYWdlcy5pbjoKKworICAgICAgICAqIFVJUHJvY2Vzcy9Ob3RpZmljYXRpb25zL1dlYk5vdGlm
aWNhdGlvbi5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYk5vdGlmaWNhdGlvbjo6V2ViTm90aWZp
Y2F0aW9uKToKKyAgICAgICAgKiBVSVByb2Nlc3MvTm90aWZpY2F0aW9ucy9XZWJOb3RpZmljYXRp
b24uaDoKKyAgICAgICAgKFdlYktpdDo6V2ViTm90aWZpY2F0aW9uOjpjcmVhdGUpOgorCisgICAg
ICAgICogVUlQcm9jZXNzL05vdGlmaWNhdGlvbnMvV2ViTm90aWZpY2F0aW9uTWFuYWdlck1lc3Nh
Z2VIYW5kbGVyLmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViTm90aWZpY2F0aW9uTWFuYWdlck1l
c3NhZ2VIYW5kbGVyOjpzaG93Tm90aWZpY2F0aW9uKToKKyAgICAgICAgKiBVSVByb2Nlc3MvTm90
aWZpY2F0aW9ucy9XZWJOb3RpZmljYXRpb25NYW5hZ2VyTWVzc2FnZUhhbmRsZXIuaDoKKworICAg
ICAgICAqIFVJUHJvY2Vzcy9Ob3RpZmljYXRpb25zL1dlYk5vdGlmaWNhdGlvbk1hbmFnZXJQcm94
eS5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYk5vdGlmaWNhdGlvbk1hbmFnZXJQcm94eTo6c2hv
dyk6CisgICAgICAgICogVUlQcm9jZXNzL05vdGlmaWNhdGlvbnMvV2ViTm90aWZpY2F0aW9uTWFu
YWdlclByb3h5Lmg6CisKKyAgICAgICAgKiBVSVByb2Nlc3MvV2ViUGFnZVByb3h5LmNwcDoKKyAg
ICAgICAgKFdlYktpdDo6V2ViUGFnZVByb3h5OjpzaG93Tm90aWZpY2F0aW9uKToKKyAgICAgICAg
KiBVSVByb2Nlc3MvV2ViUGFnZVByb3h5Lmg6CisKKyAgICAgICAgKiBXZWJQcm9jZXNzL05vdGlm
aWNhdGlvbnMvV2ViTm90aWZpY2F0aW9uTWFuYWdlci5jcHA6CisgICAgICAgIChXZWJLaXQ6Oldl
Yk5vdGlmaWNhdGlvbk1hbmFnZXI6OnNob3cpOgorCiAyMDIxLTEyLTEzICBBbGV4IENocmlzdGVu
c2VuICA8YWNocmlzdGVuc2VuQHdlYmtpdC5vcmc+CiAKICAgICAgICAgQWxsb3cgV0tDb250ZW50
UnVsZUxpc3QgdG8gcnVuIHJlZ2V4ZXMgb24gY3VycmVudCBmcmFtZSdzIFVSTCwgbm90IGp1c3Qg
dG9wIGZyYW1lJ3MgVVJMCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNz
L05vdGlmaWNhdGlvbnMvTmV0d29ya05vdGlmaWNhdGlvbk1hbmFnZXIuaCBiL1NvdXJjZS9XZWJL
aXQvTmV0d29ya1Byb2Nlc3MvTm90aWZpY2F0aW9ucy9OZXR3b3JrTm90aWZpY2F0aW9uTWFuYWdl
ci5oCmluZGV4IGRmZmY1ZGJmMDIxNi4uMDUzZjMwYTE1ZWFhIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0L05ldHdvcmtQcm9jZXNzL05vdGlmaWNhdGlvbnMvTmV0d29ya05vdGlmaWNhdGlvbk1h
bmFnZXIuaAorKysgYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL05vdGlmaWNhdGlvbnMv
TmV0d29ya05vdGlmaWNhdGlvbk1hbmFnZXIuaApAQCAtNTksNyArNTksNyBAQCBwcml2YXRlOgog
ICAgIE5ldHdvcmtOb3RpZmljYXRpb25NYW5hZ2VyKE5ldHdvcmtTZXNzaW9uJiwgY29uc3QgU3Ry
aW5nJiB3ZWJQdXNoTWFjaFNlcnZpY2VOYW1lKTsKIAogICAgIHZvaWQgcmVxdWVzdFN5c3RlbU5v
dGlmaWNhdGlvblBlcm1pc3Npb24oY29uc3QgU3RyaW5nJiBvcmlnaW5TdHJpbmcsIENvbXBsZXRp
b25IYW5kbGVyPHZvaWQoYm9vbCk+JiYpIGZpbmFsOwotICAgIHZvaWQgc2hvd05vdGlmaWNhdGlv
bihjb25zdCBTdHJpbmcmIHRpdGxlLCBjb25zdCBTdHJpbmcmIGJvZHksIGNvbnN0IFN0cmluZyYg
aWNvblVSTCwgY29uc3QgU3RyaW5nJiB0YWcsIGNvbnN0IFN0cmluZyYgbGFuZywgV2ViQ29yZTo6
Tm90aWZpY2F0aW9uRGlyZWN0aW9uLCBjb25zdCBTdHJpbmcmIG9yaWdpblN0cmluZywgdWludDY0
X3Qgbm90aWZpY2F0aW9uSUQpIGZpbmFsOworICAgIHZvaWQgc2hvd05vdGlmaWNhdGlvbihjb25z
dCBXZWJDb3JlOjpOb3RpZmljYXRpb25EYXRhJikgZmluYWw7CiAgICAgdm9pZCBjYW5jZWxOb3Rp
ZmljYXRpb24odWludDY0X3Qgbm90aWZpY2F0aW9uSUQpIGZpbmFsOwogICAgIHZvaWQgY2xlYXJO
b3RpZmljYXRpb25zKGNvbnN0IFZlY3Rvcjx1aW50NjRfdD4mIG5vdGlmaWNhdGlvbklEcykgZmlu
YWw7CiAgICAgdm9pZCBkaWREZXN0cm95Tm90aWZpY2F0aW9uKHVpbnQ2NF90IG5vdGlmaWNhdGlv
bklEKSBmaW5hbDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvU2hhcmVkL05vdGlmaWNhdGlv
bnMvTm90aWZpY2F0aW9uTWFuYWdlck1lc3NhZ2VIYW5kbGVyLmggYi9Tb3VyY2UvV2ViS2l0L1No
YXJlZC9Ob3RpZmljYXRpb25zL05vdGlmaWNhdGlvbk1hbmFnZXJNZXNzYWdlSGFuZGxlci5oCmlu
ZGV4IGUxMDkyMGU5MGQ5YS4uZTIxMmVkMWZkNjJjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
L1NoYXJlZC9Ob3RpZmljYXRpb25zL05vdGlmaWNhdGlvbk1hbmFnZXJNZXNzYWdlSGFuZGxlci5o
CisrKyBiL1NvdXJjZS9XZWJLaXQvU2hhcmVkL05vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9uTWFu
YWdlck1lc3NhZ2VIYW5kbGVyLmgKQEAgLTI5LDYgKzI5LDEwIEBACiAjaW5jbHVkZSAiV2ViUGFn
ZVByb3h5SWRlbnRpZmllci5oIgogI2luY2x1ZGUgPFdlYkNvcmUvTm90aWZpY2F0aW9uRGlyZWN0
aW9uLmg+CiAKK25hbWVzcGFjZSBXZWJDb3JlIHsKK3N0cnVjdCBOb3RpZmljYXRpb25EYXRhOwor
fQorCiBuYW1lc3BhY2UgV2ViS2l0IHsKIAogY2xhc3MgTm90aWZpY2F0aW9uTWFuYWdlck1lc3Nh
Z2VIYW5kbGVyIDogcHVibGljIElQQzo6TWVzc2FnZVJlY2VpdmVyIHsKQEAgLTM2LDcgKzQwLDcg
QEAgcHVibGljOgogICAgIHZpcnR1YWwgfk5vdGlmaWNhdGlvbk1hbmFnZXJNZXNzYWdlSGFuZGxl
cigpID0gZGVmYXVsdDsKIAogICAgIHZpcnR1YWwgdm9pZCByZXF1ZXN0U3lzdGVtTm90aWZpY2F0
aW9uUGVybWlzc2lvbihjb25zdCBTdHJpbmcmIHNlY3VyaXR5T3JpZ2luLCBDb21wbGV0aW9uSGFu
ZGxlcjx2b2lkKGJvb2wpPiYmKSA9IDA7Ci0gICAgdmlydHVhbCB2b2lkIHNob3dOb3RpZmljYXRp
b24oY29uc3QgU3RyaW5nJiB0aXRsZSwgY29uc3QgU3RyaW5nJiBib2R5LCBjb25zdCBTdHJpbmcm
IGljb25VUkwsIGNvbnN0IFN0cmluZyYgdGFnLCBjb25zdCBTdHJpbmcmIGxhbmd1YWdlLCBXZWJD
b3JlOjpOb3RpZmljYXRpb25EaXJlY3Rpb24sIGNvbnN0IFN0cmluZyYgb3JpZ2luU3RyaW5nLCB1
aW50NjRfdCBub3RpZmljYXRpb25JRCkgPSAwOworICAgIHZpcnR1YWwgdm9pZCBzaG93Tm90aWZp
Y2F0aW9uKGNvbnN0IFdlYkNvcmU6Ok5vdGlmaWNhdGlvbkRhdGEmKSA9IDA7CiAgICAgdmlydHVh
bCB2b2lkIGNhbmNlbE5vdGlmaWNhdGlvbih1aW50NjRfdCBub3RpZmljYXRpb25JRCkgPSAwOwog
ICAgIHZpcnR1YWwgdm9pZCBjbGVhck5vdGlmaWNhdGlvbnMoY29uc3QgVmVjdG9yPHVpbnQ2NF90
PiYgbm90aWZpY2F0aW9uSURzKSA9IDA7CiAgICAgdmlydHVhbCB2b2lkIGRpZERlc3Ryb3lOb3Rp
ZmljYXRpb24odWludDY0X3Qgbm90aWZpY2F0aW9uSUQpID0gMDsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQvU2hhcmVkL05vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9uTWFuYWdlck1lc3NhZ2VI
YW5kbGVyLm1lc3NhZ2VzLmluIGIvU291cmNlL1dlYktpdC9TaGFyZWQvTm90aWZpY2F0aW9ucy9O
b3RpZmljYXRpb25NYW5hZ2VyTWVzc2FnZUhhbmRsZXIubWVzc2FnZXMuaW4KaW5kZXggZDU4OTBl
ZGMzZDUyLi5hYmNmOTc0NmIwNDkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvU2hhcmVkL05v
dGlmaWNhdGlvbnMvTm90aWZpY2F0aW9uTWFuYWdlck1lc3NhZ2VIYW5kbGVyLm1lc3NhZ2VzLmlu
CisrKyBiL1NvdXJjZS9XZWJLaXQvU2hhcmVkL05vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9uTWFu
YWdlck1lc3NhZ2VIYW5kbGVyLm1lc3NhZ2VzLmluCkBAIC0yMiw3ICsyMiw3IEBACiAKIG1lc3Nh
Z2VzIC0+IE5vdGlmaWNhdGlvbk1hbmFnZXJNZXNzYWdlSGFuZGxlciBOb3RSZWZDb3VudGVkIHsK
ICAgICBSZXF1ZXN0U3lzdGVtTm90aWZpY2F0aW9uUGVybWlzc2lvbihTdHJpbmcgb3JpZ2luSWRl
bnRpZmllcikgLT4gKGJvb2wgYWxsb3dlZCkgQXN5bmMKLSAgICBTaG93Tm90aWZpY2F0aW9uKFN0
cmluZyB0aXRsZSwgU3RyaW5nIGJvZHksIFN0cmluZyBpY29uVVJMLCBTdHJpbmcgdGFnLCBTdHJp
bmcgbGFuZ3VhZ2UsIGVudW06dWludDhfdCBXZWJDb3JlOjpOb3RpZmljYXRpb25EaXJlY3Rpb24g
ZGlyZWN0aW9uLCBTdHJpbmcgb3JpZ2luSWRlbnRpZmllciwgdWludDY0X3Qgbm90aWZpY2F0aW9u
SUQpCisgICAgU2hvd05vdGlmaWNhdGlvbihzdHJ1Y3QgV2ViQ29yZTo6Tm90aWZpY2F0aW9uRGF0
YSBub3RpZmljYXRpb25EYXRhKQogICAgIENhbmNlbE5vdGlmaWNhdGlvbih1aW50NjRfdCBub3Rp
ZmljYXRpb25JRCkKICAgICBDbGVhck5vdGlmaWNhdGlvbnMoVmVjdG9yPHVpbnQ2NF90PiBub3Rp
ZmljYXRpb25JRHMpCiAgICAgRGlkRGVzdHJveU5vdGlmaWNhdGlvbih1aW50NjRfdCBub3RpZmlj
YXRpb25JRCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL05vdGlmaWNhdGlv
bnMvV2ViTm90aWZpY2F0aW9uLmNwcCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL05vdGlmaWNh
dGlvbnMvV2ViTm90aWZpY2F0aW9uLmNwcAppbmRleCA3NGUyYjdlOGJkODYuLjA4YTZmNmUyZjRi
ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvTm90aWZpY2F0aW9ucy9XZWJO
b3RpZmljYXRpb24uY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL05vdGlmaWNhdGlv
bnMvV2ViTm90aWZpY2F0aW9uLmNwcApAQCAtMjYsMTcgKzI2LDE5IEBACiAjaW5jbHVkZSAiY29u
ZmlnLmgiCiAjaW5jbHVkZSAiV2ViTm90aWZpY2F0aW9uLmgiCiAKKyNpbmNsdWRlIDxXZWJDb3Jl
L05vdGlmaWNhdGlvbkRhdGEuaD4KKwogbmFtZXNwYWNlIFdlYktpdCB7CiAKLVdlYk5vdGlmaWNh
dGlvbjo6V2ViTm90aWZpY2F0aW9uKGNvbnN0IFN0cmluZyYgdGl0bGUsIGNvbnN0IFN0cmluZyYg
Ym9keSwgY29uc3QgU3RyaW5nJiBpY29uVVJMLCBjb25zdCBTdHJpbmcmIHRhZywgY29uc3QgU3Ry
aW5nJiBsYW5nLCBXZWJDb3JlOjpOb3RpZmljYXRpb25EaXJlY3Rpb24gZGlyLCBjb25zdCBTdHJp
bmcmIG9yaWdpblN0cmluZywgdWludDY0X3Qgbm90aWZpY2F0aW9uSUQpCi0gICAgOiBtX3RpdGxl
KHRpdGxlKQotICAgICwgbV9ib2R5KGJvZHkpCi0gICAgLCBtX2ljb25VUkwoaWNvblVSTCkKLSAg
ICAsIG1fdGFnKHRhZykKLSAgICAsIG1fbGFuZyhsYW5nKQotICAgICwgbV9kaXIoZGlyKQotICAg
ICwgbV9vcmlnaW4oQVBJOjpTZWN1cml0eU9yaWdpbjo6Y3JlYXRlRnJvbVN0cmluZyhvcmlnaW5T
dHJpbmcpKQotICAgICwgbV9ub3RpZmljYXRpb25JRChub3RpZmljYXRpb25JRCkKK1dlYk5vdGlm
aWNhdGlvbjo6V2ViTm90aWZpY2F0aW9uKGNvbnN0IFdlYkNvcmU6Ok5vdGlmaWNhdGlvbkRhdGEm
IGRhdGEpCisgICAgOiBtX3RpdGxlKGRhdGEudGl0bGUpCisgICAgLCBtX2JvZHkoZGF0YS5ib2R5
KQorICAgICwgbV9pY29uVVJMKGRhdGEuaWNvblVSTCkKKyAgICAsIG1fdGFnKGRhdGEudGFnKQor
ICAgICwgbV9sYW5nKGRhdGEubGFuZ3VhZ2UpCisgICAgLCBtX2RpcihkYXRhLmRpcmVjdGlvbikK
KyAgICAsIG1fb3JpZ2luKEFQSTo6U2VjdXJpdHlPcmlnaW46OmNyZWF0ZUZyb21TdHJpbmcoZGF0
YS5vcmlnaW5TdHJpbmcpKQorICAgICwgbV9ub3RpZmljYXRpb25JRChkYXRhLm5vdGlmaWNhdGlv
bklEKQogewogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Ob3RpZmlj
YXRpb25zL1dlYk5vdGlmaWNhdGlvbi5oIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvTm90aWZp
Y2F0aW9ucy9XZWJOb3RpZmljYXRpb24uaAppbmRleCAyOGVlMWQ4MzY2YmMuLjBkMjJkNDdlMjAx
ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvTm90aWZpY2F0aW9ucy9XZWJO
b3RpZmljYXRpb24uaAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Ob3RpZmljYXRpb25z
L1dlYk5vdGlmaWNhdGlvbi5oCkBAIC0zMiwxNSArMzIsMTYgQEAKIAogbmFtZXNwYWNlIFdlYkNv
cmUgewogZW51bSBjbGFzcyBOb3RpZmljYXRpb25EaXJlY3Rpb24gOiB1aW50OF90Oworc3RydWN0
IE5vdGlmaWNhdGlvbkRhdGE7CiB9CiAKIG5hbWVzcGFjZSBXZWJLaXQgewogCiBjbGFzcyBXZWJO
b3RpZmljYXRpb24gOiBwdWJsaWMgQVBJOjpPYmplY3RJbXBsPEFQSTo6T2JqZWN0OjpUeXBlOjpO
b3RpZmljYXRpb24+IHsKIHB1YmxpYzoKLSAgICBzdGF0aWMgUmVmPFdlYk5vdGlmaWNhdGlvbj4g
Y3JlYXRlKGNvbnN0IFN0cmluZyYgdGl0bGUsIGNvbnN0IFN0cmluZyYgYm9keSwgY29uc3QgU3Ry
aW5nJiBpY29uVVJMLCBjb25zdCBTdHJpbmcmIHRhZywgY29uc3QgU3RyaW5nJiBsYW5nLCBXZWJD
b3JlOjpOb3RpZmljYXRpb25EaXJlY3Rpb24gZGlyLCBjb25zdCBTdHJpbmcmIG9yaWdpblN0cmlu
ZywgdWludDY0X3Qgbm90aWZpY2F0aW9uSUQpCisgICAgc3RhdGljIFJlZjxXZWJOb3RpZmljYXRp
b24+IGNyZWF0ZShjb25zdCBXZWJDb3JlOjpOb3RpZmljYXRpb25EYXRhJiBkYXRhKQogICAgIHsK
LSAgICAgICAgcmV0dXJuIGFkb3B0UmVmKCpuZXcgV2ViTm90aWZpY2F0aW9uKHRpdGxlLCBib2R5
LCBpY29uVVJMLCB0YWcsIGxhbmcsIGRpciwgb3JpZ2luU3RyaW5nLCBub3RpZmljYXRpb25JRCkp
OworICAgICAgICByZXR1cm4gYWRvcHRSZWYoKm5ldyBXZWJOb3RpZmljYXRpb24oZGF0YSkpOwog
ICAgIH0KIAogICAgIGNvbnN0IFN0cmluZyYgdGl0bGUoKSBjb25zdCB7IHJldHVybiBtX3RpdGxl
OyB9CkBAIC01NCw3ICs1NSw3IEBAIHB1YmxpYzoKICAgICB1aW50NjRfdCBub3RpZmljYXRpb25J
RCgpIGNvbnN0IHsgcmV0dXJuIG1fbm90aWZpY2F0aW9uSUQ7IH0KIAogcHJpdmF0ZToKLSAgICBX
ZWJOb3RpZmljYXRpb24oY29uc3QgU3RyaW5nJiB0aXRsZSwgY29uc3QgU3RyaW5nJiBib2R5LCBj
b25zdCBTdHJpbmcmIGljb25VUkwsIGNvbnN0IFN0cmluZyYgdGFnLCBjb25zdCBTdHJpbmcmIGxh
bmcsIFdlYkNvcmU6Ok5vdGlmaWNhdGlvbkRpcmVjdGlvbiwgY29uc3QgU3RyaW5nJiBvcmlnaW5T
dHJpbmcsIHVpbnQ2NF90IG5vdGlmaWNhdGlvbklEKTsKKyAgICBXZWJOb3RpZmljYXRpb24oY29u
c3QgV2ViQ29yZTo6Tm90aWZpY2F0aW9uRGF0YSYpOwogCiAgICAgU3RyaW5nIG1fdGl0bGU7CiAg
ICAgU3RyaW5nIG1fYm9keTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL05v
dGlmaWNhdGlvbnMvV2ViTm90aWZpY2F0aW9uTWFuYWdlck1lc3NhZ2VIYW5kbGVyLmNwcCBiL1Nv
dXJjZS9XZWJLaXQvVUlQcm9jZXNzL05vdGlmaWNhdGlvbnMvV2ViTm90aWZpY2F0aW9uTWFuYWdl
ck1lc3NhZ2VIYW5kbGVyLmNwcAppbmRleCBkYmZlZmIwMTU5OTguLmEyOWFlZDU1MDdlYSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvTm90aWZpY2F0aW9ucy9XZWJOb3RpZmlj
YXRpb25NYW5hZ2VyTWVzc2FnZUhhbmRsZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9j
ZXNzL05vdGlmaWNhdGlvbnMvV2ViTm90aWZpY2F0aW9uTWFuYWdlck1lc3NhZ2VIYW5kbGVyLmNw
cApAQCAtNDAsOSArNDAsOSBAQCB2b2lkIFdlYk5vdGlmaWNhdGlvbk1hbmFnZXJNZXNzYWdlSGFu
ZGxlcjo6cmVxdWVzdFN5c3RlbU5vdGlmaWNhdGlvblBlcm1pc3Npb24oYwogICAgIFJFTEVBU0Vf
QVNTRVJUX05PVF9SRUFDSEVEKCk7CiB9CiAKLXZvaWQgV2ViTm90aWZpY2F0aW9uTWFuYWdlck1l
c3NhZ2VIYW5kbGVyOjpzaG93Tm90aWZpY2F0aW9uKGNvbnN0IFN0cmluZyYgdGl0bGUsIGNvbnN0
IFN0cmluZyYgYm9keSwgY29uc3QgU3RyaW5nJiBpY29uVVJMLCBjb25zdCBTdHJpbmcmIHRhZywg
Y29uc3QgU3RyaW5nJiBsYW5ndWFnZSwgV2ViQ29yZTo6Tm90aWZpY2F0aW9uRGlyZWN0aW9uIGRp
cmVjdGlvbiwgY29uc3QgU3RyaW5nJiBvcmlnaW5TdHJpbmcsIHVpbnQ2NF90IG5vdGlmaWNhdGlv
bklEKQordm9pZCBXZWJOb3RpZmljYXRpb25NYW5hZ2VyTWVzc2FnZUhhbmRsZXI6OnNob3dOb3Rp
ZmljYXRpb24oY29uc3QgV2ViQ29yZTo6Tm90aWZpY2F0aW9uRGF0YSYgZGF0YSkKIHsKLSAgICBt
X3dlYlBhZ2VQcm94eS5zaG93Tm90aWZpY2F0aW9uKHRpdGxlLCBib2R5LCBpY29uVVJMLCB0YWcs
IGxhbmd1YWdlLCBkaXJlY3Rpb24sIG9yaWdpblN0cmluZywgbm90aWZpY2F0aW9uSUQpOworICAg
IG1fd2ViUGFnZVByb3h5LnNob3dOb3RpZmljYXRpb24oZGF0YSk7CiB9CiAKIHZvaWQgV2ViTm90
aWZpY2F0aW9uTWFuYWdlck1lc3NhZ2VIYW5kbGVyOjpjYW5jZWxOb3RpZmljYXRpb24odWludDY0
X3Qgbm90aWZpY2F0aW9uSUQpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9O
b3RpZmljYXRpb25zL1dlYk5vdGlmaWNhdGlvbk1hbmFnZXJNZXNzYWdlSGFuZGxlci5oIGIvU291
cmNlL1dlYktpdC9VSVByb2Nlc3MvTm90aWZpY2F0aW9ucy9XZWJOb3RpZmljYXRpb25NYW5hZ2Vy
TWVzc2FnZUhhbmRsZXIuaAppbmRleCAzZTBhM2M4NGFmNWEuLjQyNTFmNzJmZWJlMiAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvTm90aWZpY2F0aW9ucy9XZWJOb3RpZmljYXRp
b25NYW5hZ2VyTWVzc2FnZUhhbmRsZXIuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9O
b3RpZmljYXRpb25zL1dlYk5vdGlmaWNhdGlvbk1hbmFnZXJNZXNzYWdlSGFuZGxlci5oCkBAIC0z
Nyw3ICszNyw3IEBAIHByaXZhdGU6CiAgICAgZXhwbGljaXQgV2ViTm90aWZpY2F0aW9uTWFuYWdl
ck1lc3NhZ2VIYW5kbGVyKFdlYlBhZ2VQcm94eSYpOwogCiAgICAgdm9pZCByZXF1ZXN0U3lzdGVt
Tm90aWZpY2F0aW9uUGVybWlzc2lvbihjb25zdCBTdHJpbmcmLCBDb21wbGV0aW9uSGFuZGxlcjx2
b2lkKGJvb2wpPiYmKSBmaW5hbDsKLSAgICB2b2lkIHNob3dOb3RpZmljYXRpb24oY29uc3QgU3Ry
aW5nJiB0aXRsZSwgY29uc3QgU3RyaW5nJiBib2R5LCBjb25zdCBTdHJpbmcmIGljb25VUkwsIGNv
bnN0IFN0cmluZyYgdGFnLCBjb25zdCBTdHJpbmcmIGxhbmd1YWdlLCBXZWJDb3JlOjpOb3RpZmlj
YXRpb25EaXJlY3Rpb24sIGNvbnN0IFN0cmluZyYgb3JpZ2luU3RyaW5nLCB1aW50NjRfdCBub3Rp
ZmljYXRpb25JRCkgZmluYWw7CisgICAgdm9pZCBzaG93Tm90aWZpY2F0aW9uKGNvbnN0IFdlYkNv
cmU6Ok5vdGlmaWNhdGlvbkRhdGEmKSBmaW5hbDsKICAgICB2b2lkIGNhbmNlbE5vdGlmaWNhdGlv
bih1aW50NjRfdCBub3RpZmljYXRpb25JRCkgZmluYWw7CiAgICAgdm9pZCBjbGVhck5vdGlmaWNh
dGlvbnMoY29uc3QgVmVjdG9yPHVpbnQ2NF90PiYgbm90aWZpY2F0aW9uSURzKSBmaW5hbDsKICAg
ICB2b2lkIGRpZERlc3Ryb3lOb3RpZmljYXRpb24odWludDY0X3Qgbm90aWZpY2F0aW9uSUQpIGZp
bmFsOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvTm90aWZpY2F0aW9ucy9X
ZWJOb3RpZmljYXRpb25NYW5hZ2VyUHJveHkuY3BwIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3Mv
Tm90aWZpY2F0aW9ucy9XZWJOb3RpZmljYXRpb25NYW5hZ2VyUHJveHkuY3BwCmluZGV4IDc2MDYz
MWM0OTBmNi4uNTZlZjUwNTMzYjAyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vz
cy9Ob3RpZmljYXRpb25zL1dlYk5vdGlmaWNhdGlvbk1hbmFnZXJQcm94eS5jcHAKKysrIGIvU291
cmNlL1dlYktpdC9VSVByb2Nlc3MvTm90aWZpY2F0aW9ucy9XZWJOb3RpZmljYXRpb25NYW5hZ2Vy
UHJveHkuY3BwCkBAIC05MywxMSArOTMsMTEgQEAgSGFzaE1hcDxTdHJpbmcsIGJvb2w+IFdlYk5v
dGlmaWNhdGlvbk1hbmFnZXJQcm94eTo6bm90aWZpY2F0aW9uUGVybWlzc2lvbnMoKQogICAgIHJl
dHVybiBtX3Byb3ZpZGVyLT5ub3RpZmljYXRpb25QZXJtaXNzaW9ucygpOwogfQogCi12b2lkIFdl
Yk5vdGlmaWNhdGlvbk1hbmFnZXJQcm94eTo6c2hvdyhXZWJQYWdlUHJveHkqIHdlYlBhZ2UsIGNv
bnN0IFN0cmluZyYgdGl0bGUsIGNvbnN0IFN0cmluZyYgYm9keSwgY29uc3QgU3RyaW5nJiBpY29u
VVJMLCBjb25zdCBTdHJpbmcmIHRhZywgY29uc3QgU3RyaW5nJiBsYW5nLCBXZWJDb3JlOjpOb3Rp
ZmljYXRpb25EaXJlY3Rpb24gZGlyLCBjb25zdCBTdHJpbmcmIG9yaWdpblN0cmluZywgdWludDY0
X3QgcGFnZU5vdGlmaWNhdGlvbklEKQordm9pZCBXZWJOb3RpZmljYXRpb25NYW5hZ2VyUHJveHk6
OnNob3coV2ViUGFnZVByb3h5KiB3ZWJQYWdlLCBjb25zdCBXZWJDb3JlOjpOb3RpZmljYXRpb25E
YXRhJiBub3RpZmljYXRpb25EYXRhKQogewogICAgIHVpbnQ2NF90IGdsb2JhbE5vdGlmaWNhdGlv
bklEID0gZ2VuZXJhdGVHbG9iYWxOb3RpZmljYXRpb25JRCgpOwotICAgIGF1dG8gbm90aWZpY2F0
aW9uID0gV2ViTm90aWZpY2F0aW9uOjpjcmVhdGUodGl0bGUsIGJvZHksIGljb25VUkwsIHRhZywg
bGFuZywgZGlyLCBvcmlnaW5TdHJpbmcsIGdsb2JhbE5vdGlmaWNhdGlvbklEKTsKLSAgICBhdXRv
IG5vdGlmaWNhdGlvbklEUGFpciA9IHN0ZDo6bWFrZV9wYWlyKHdlYlBhZ2UtPmlkZW50aWZpZXIo
KSwgcGFnZU5vdGlmaWNhdGlvbklEKTsKKyAgICBhdXRvIG5vdGlmaWNhdGlvbiA9IFdlYk5vdGlm
aWNhdGlvbjo6Y3JlYXRlKG5vdGlmaWNhdGlvbkRhdGEpOworICAgIGF1dG8gbm90aWZpY2F0aW9u
SURQYWlyID0gc3RkOjptYWtlX3BhaXIod2ViUGFnZS0+aWRlbnRpZmllcigpLCBub3RpZmljYXRp
b25EYXRhLm5vdGlmaWNhdGlvbklEKTsKICAgICBtX2dsb2JhbE5vdGlmaWNhdGlvbk1hcC5zZXQo
Z2xvYmFsTm90aWZpY2F0aW9uSUQsIG5vdGlmaWNhdGlvbklEUGFpcik7CiAgICAgbV9ub3RpZmlj
YXRpb25zLnNldChub3RpZmljYXRpb25JRFBhaXIsIHN0ZDo6bWFrZV9wYWlyKGdsb2JhbE5vdGlm
aWNhdGlvbklELCBub3RpZmljYXRpb24uY29weVJlZigpKSk7CiAgICAgbV9wcm92aWRlci0+c2hv
dygqd2ViUGFnZSwgbm90aWZpY2F0aW9uLmdldCgpKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQvVUlQcm9jZXNzL05vdGlmaWNhdGlvbnMvV2ViTm90aWZpY2F0aW9uTWFuYWdlclByb3h5Lmgg
Yi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Ob3RpZmljYXRpb25zL1dlYk5vdGlmaWNhdGlvbk1h
bmFnZXJQcm94eS5oCmluZGV4IDQ4YWI1OGU4MWNmNy4uZGFmMzM5N2YzOGQ1IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Ob3RpZmljYXRpb25zL1dlYk5vdGlmaWNhdGlvbk1h
bmFnZXJQcm94eS5oCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL05vdGlmaWNhdGlvbnMv
V2ViTm90aWZpY2F0aW9uTWFuYWdlclByb3h5LmgKQEAgLTM0LDcgKzM0LDcgQEAKICNpbmNsdWRl
IDx3dGYvdGV4dC9TdHJpbmdIYXNoLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKLWVudW0gY2xh
c3MgTm90aWZpY2F0aW9uRGlyZWN0aW9uIDogdWludDhfdDsKK3N0cnVjdCBOb3RpZmljYXRpb25E
YXRhOwogfQogCiBuYW1lc3BhY2UgQVBJIHsKQEAgLTU5LDcgKzU5LDcgQEAgcHVibGljOgogICAg
IHZvaWQgc2V0UHJvdmlkZXIoc3RkOjp1bmlxdWVfcHRyPEFQSTo6Tm90aWZpY2F0aW9uUHJvdmlk
ZXI+JiYpOwogICAgIEhhc2hNYXA8U3RyaW5nLCBib29sPiBub3RpZmljYXRpb25QZXJtaXNzaW9u
cygpOwogCi0gICAgdm9pZCBzaG93KFdlYlBhZ2VQcm94eSosIGNvbnN0IFN0cmluZyYgdGl0bGUs
IGNvbnN0IFN0cmluZyYgYm9keSwgY29uc3QgU3RyaW5nJiBpY29uVVJMLCBjb25zdCBTdHJpbmcm
IHRhZywgY29uc3QgU3RyaW5nJiBsYW5nLCBXZWJDb3JlOjpOb3RpZmljYXRpb25EaXJlY3Rpb24s
IGNvbnN0IFN0cmluZyYgb3JpZ2luU3RyaW5nLCB1aW50NjRfdCBwYWdlTm90aWZpY2F0aW9uSUQp
OworICAgIHZvaWQgc2hvdyhXZWJQYWdlUHJveHkqLCBjb25zdCBXZWJDb3JlOjpOb3RpZmljYXRp
b25EYXRhJik7CiAgICAgdm9pZCBjYW5jZWwoV2ViUGFnZVByb3h5KiwgdWludDY0X3QgcGFnZU5v
dGlmaWNhdGlvbklEKTsKICAgICB2b2lkIGNsZWFyTm90aWZpY2F0aW9ucyhXZWJQYWdlUHJveHkq
KTsKICAgICB2b2lkIGNsZWFyTm90aWZpY2F0aW9ucyhXZWJQYWdlUHJveHkqLCBjb25zdCBWZWN0
b3I8dWludDY0X3Q+JiBwYWdlTm90aWZpY2F0aW9uSURzKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5jcHAgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vz
cy9XZWJQYWdlUHJveHkuY3BwCmluZGV4IDcwN2ZkMmRlN2I3YS4uZDUzOGU3MjUxMGVhIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuY3BwCisrKyBiL1Nv
dXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5jcHAKQEAgLTg3MzIsOSArODczMiw5
IEBAIHZvaWQgV2ViUGFnZVByb3h5OjpyZXF1ZXN0Tm90aWZpY2F0aW9uUGVybWlzc2lvbihjb25z
dCBTdHJpbmcmIG9yaWdpblN0cmluZywgQ29tCiAgICAgbV91aUNsaWVudC0+ZGVjaWRlUG9saWN5
Rm9yTm90aWZpY2F0aW9uUGVybWlzc2lvblJlcXVlc3QoKnRoaXMsIG9yaWdpbi5nZXQoKSwgV1RG
TW92ZShjb21wbGV0aW9uSGFuZGxlcikpOwogfQogCi12b2lkIFdlYlBhZ2VQcm94eTo6c2hvd05v
dGlmaWNhdGlvbihjb25zdCBTdHJpbmcmIHRpdGxlLCBjb25zdCBTdHJpbmcmIGJvZHksIGNvbnN0
IFN0cmluZyYgaWNvblVSTCwgY29uc3QgU3RyaW5nJiB0YWcsIGNvbnN0IFN0cmluZyYgbGFuZywg
V2ViQ29yZTo6Tm90aWZpY2F0aW9uRGlyZWN0aW9uIGRpciwgY29uc3QgU3RyaW5nJiBvcmlnaW5T
dHJpbmcsIHVpbnQ2NF90IG5vdGlmaWNhdGlvbklEKQordm9pZCBXZWJQYWdlUHJveHk6OnNob3dO
b3RpZmljYXRpb24oY29uc3QgV2ViQ29yZTo6Tm90aWZpY2F0aW9uRGF0YSYgbm90aWZpY2F0aW9u
RGF0YSkKIHsKLSAgICBtX3Byb2Nlc3MtPnByb2Nlc3NQb29sKCkuc3VwcGxlbWVudDxXZWJOb3Rp
ZmljYXRpb25NYW5hZ2VyUHJveHk+KCktPnNob3codGhpcywgdGl0bGUsIGJvZHksIGljb25VUkws
IHRhZywgbGFuZywgZGlyLCBvcmlnaW5TdHJpbmcsIG5vdGlmaWNhdGlvbklEKTsKKyAgICBtX3By
b2Nlc3MtPnByb2Nlc3NQb29sKCkuc3VwcGxlbWVudDxXZWJOb3RpZmljYXRpb25NYW5hZ2VyUHJv
eHk+KCktPnNob3codGhpcywgbm90aWZpY2F0aW9uRGF0YSk7CiB9CiAKIHZvaWQgV2ViUGFnZVBy
b3h5OjpjYW5jZWxOb3RpZmljYXRpb24odWludDY0X3Qgbm90aWZpY2F0aW9uSUQpCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuaCBiL1NvdXJjZS9XZWJL
aXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5oCmluZGV4IDkwMjM3YWU1NWZmOS4uYzljYTgzNWQ2
OTcwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuaAor
KysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuaApAQCAtMjAzMiw3ICsy
MDMyLDcgQEAgcHVibGljOgogICAgIGJvb2wgaXNRdWFyYW50aW5lZEFuZE5vdFVzZXJBcHByb3Zl
ZChjb25zdCBTdHJpbmcmKTsKICNlbmRpZgogCi0gICAgdm9pZCBzaG93Tm90aWZpY2F0aW9uKGNv
bnN0IFN0cmluZyYgdGl0bGUsIGNvbnN0IFN0cmluZyYgYm9keSwgY29uc3QgU3RyaW5nJiBpY29u
VVJMLCBjb25zdCBTdHJpbmcmIHRhZywgY29uc3QgU3RyaW5nJiBsYW5nLCBXZWJDb3JlOjpOb3Rp
ZmljYXRpb25EaXJlY3Rpb24sIGNvbnN0IFN0cmluZyYgb3JpZ2luU3RyaW5nLCB1aW50NjRfdCBu
b3RpZmljYXRpb25JRCk7CisgICAgdm9pZCBzaG93Tm90aWZpY2F0aW9uKGNvbnN0IFdlYkNvcmU6
Ok5vdGlmaWNhdGlvbkRhdGEmKTsKICAgICB2b2lkIGNhbmNlbE5vdGlmaWNhdGlvbih1aW50NjRf
dCBub3RpZmljYXRpb25JRCk7CiAgICAgdm9pZCBjbGVhck5vdGlmaWNhdGlvbnMoY29uc3QgVmVj
dG9yPHVpbnQ2NF90PiYgbm90aWZpY2F0aW9uSURzKTsKICAgICB2b2lkIGRpZERlc3Ryb3lOb3Rp
ZmljYXRpb24odWludDY0X3Qgbm90aWZpY2F0aW9uSUQpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdC9XZWJQcm9jZXNzL05vdGlmaWNhdGlvbnMvV2ViTm90aWZpY2F0aW9uTWFuYWdlci5jcHAg
Yi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvTm90aWZpY2F0aW9ucy9XZWJOb3RpZmljYXRpb25N
YW5hZ2VyLmNwcAppbmRleCBlMDFkOWQ2ODViYTIuLjlhMjAxODkyYjFjMSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdC9XZWJQcm9jZXNzL05vdGlmaWNhdGlvbnMvV2ViTm90aWZpY2F0aW9uTWFu
YWdlci5jcHAKKysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL05vdGlmaWNhdGlvbnMvV2Vi
Tm90aWZpY2F0aW9uTWFuYWdlci5jcHAKQEAgLTM5LDYgKzM5LDcgQEAKICNpbmNsdWRlICJXZWJQ
YWdlUHJveHlNZXNzYWdlcy5oIgogI2luY2x1ZGUgPFdlYkNvcmUvRG9jdW1lbnQuaD4KICNpbmNs
dWRlIDxXZWJDb3JlL05vdGlmaWNhdGlvbi5oPgorI2luY2x1ZGUgPFdlYkNvcmUvTm90aWZpY2F0
aW9uRGF0YS5oPgogI2luY2x1ZGUgPFdlYkNvcmUvUGFnZS5oPgogI2luY2x1ZGUgPFdlYkNvcmUv
UnVudGltZUVuYWJsZWRGZWF0dXJlcy5oPgogI2luY2x1ZGUgPFdlYkNvcmUvU2NyaXB0RXhlY3V0
aW9uQ29udGV4dC5oPgpAQCAtMTYzLDcgKzE2NCw5IEBAIGJvb2wgV2ViTm90aWZpY2F0aW9uTWFu
YWdlcjo6c2hvdyhOb3RpZmljYXRpb24qIG5vdGlmaWNhdGlvbiwgV2ViUGFnZSogcGFnZSkKICAg
ICBhdXRvIGl0ID0gbV9ub3RpZmljYXRpb25Db250ZXh0TWFwLmFkZChub3RpZmljYXRpb24tPnNj
cmlwdEV4ZWN1dGlvbkNvbnRleHQoKSwgVmVjdG9yPHVpbnQ2NF90PigpKS5pdGVyYXRvcjsKICAg
ICBpdC0+dmFsdWUuYXBwZW5kKG5vdGlmaWNhdGlvbklEKTsKIAotICAgIHNlbmROb3RpZmljYXRp
b25NZXNzYWdlKG1fcHJvY2VzcywgTWVzc2FnZXM6Ok5vdGlmaWNhdGlvbk1hbmFnZXJNZXNzYWdl
SGFuZGxlcjo6U2hvd05vdGlmaWNhdGlvbihub3RpZmljYXRpb24tPnRpdGxlKCksIG5vdGlmaWNh
dGlvbi0+Ym9keSgpLCBub3RpZmljYXRpb24tPmljb24oKS5zdHJpbmcoKSwgbm90aWZpY2F0aW9u
LT50YWcoKSwgbm90aWZpY2F0aW9uLT5sYW5nKCksIG5vdGlmaWNhdGlvbi0+ZGlyKCksIG5vdGlm
aWNhdGlvbi0+c2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpLT5zZWN1cml0eU9yaWdpbigpLT50b1N0
cmluZygpLCBub3RpZmljYXRpb25JRCksICpwYWdlKTsKKyAgICBhdXRvIG5vdGlmaWNhdGlvbkRh
dGEgPSBub3RpZmljYXRpb24tPmRhdGFXaXRob3V0Tm90aWZpY2F0aW9uSUQoKTsKKyAgICBub3Rp
ZmljYXRpb25EYXRhLm5vdGlmaWNhdGlvbklEID0gbm90aWZpY2F0aW9uSUQ7CisgICAgc2VuZE5v
dGlmaWNhdGlvbk1lc3NhZ2UobV9wcm9jZXNzLCBNZXNzYWdlczo6Tm90aWZpY2F0aW9uTWFuYWdl
ck1lc3NhZ2VIYW5kbGVyOjpTaG93Tm90aWZpY2F0aW9uKFdURk1vdmUobm90aWZpY2F0aW9uRGF0
YSkpLCAqcGFnZSk7CiAgICAgcmV0dXJuIHRydWU7CiAjZWxzZQogICAgIFVOVVNFRF9QQVJBTShu
b3RpZmljYXRpb24pOwo=
</data>
<flag name="review"
          id="472892"
          type_id="1"
          status="+"
          setter="thorton"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>447296</attachid>
            <date>2021-12-15 16:11:24 -0800</date>
            <delta_ts>2021-12-15 17:00:47 -0800</delta_ts>
            <desc>PFL v1</desc>
            <filename>patch</filename>
            <type>text/plain</type>
            <size>29356</size>
            <attacher name="Brady Eidson">beidson</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZwppbmRleCBjMzcyZjA3YjcxM2UuLjIwZjg2N2EzNWRkOSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAt
MSwzICsxLDI0IEBACisyMDIxLTEyLTE1ICBCcmFkeSBFaWRzb24gIDxiZWlkc29uQGFwcGxlLmNv
bT4KKworICAgICAgICBBZGQgYSAiTm90aWZpY2F0aW9uRGF0YSIgb2JqZWN0IHRvIGVuY29tcGFz
cyBsb2NhbCBOb3RpZmljYXRpb24tcmVsYXRlZCBwYXJhbWV0ZXJzLCBpbnN0ZWFkIG9mIHBhc3Np
bmcgdG9ucyBvZiB0aGVtIGFyb3VuZCBldmVyeXdoZXJlLgorICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjM0MzcwCisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
VGltIEhvcnRvbi4KKworICAgICAgICBObyBiZWhhdmlvciBjaGFuZ2UuCisKKyAgICAgICAgKiBN
b2R1bGVzL25vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9uLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
Ok5vdGlmaWNhdGlvbjo6ZGF0YVdpdGhvdXROb3RpZmljYXRpb25JRCBjb25zdCk6CisgICAgICAg
ICogTW9kdWxlcy9ub3RpZmljYXRpb25zL05vdGlmaWNhdGlvbi5oOgorCisgICAgICAgICogTW9k
dWxlcy9ub3RpZmljYXRpb25zL05vdGlmaWNhdGlvbkRhdGEuY3BwOiBDb3BpZWQgZnJvbSBTb3Vy
Y2UvV2ViS2l0L1VJUHJvY2Vzcy9Ob3RpZmljYXRpb25zL1dlYk5vdGlmaWNhdGlvbi5jcHAuCisg
ICAgICAgICogTW9kdWxlcy9ub3RpZmljYXRpb25zL05vdGlmaWNhdGlvbkRhdGEuaDogQWRkZWQu
CisgICAgICAgIChXZWJDb3JlOjpOb3RpZmljYXRpb25EYXRhOjplbmNvZGUgY29uc3QpOgorICAg
ICAgICAoV2ViQ29yZTo6Tm90aWZpY2F0aW9uRGF0YTo6ZGVjb2RlKToKKworICAgICAgICAqIFNv
dXJjZXMudHh0OgorICAgICAgICAqIFdlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvajoK
KwogMjAyMS0xMi0xNSAgQnJlbnQgRnVsZ2hhbSAgPGJmdWxnaGFtQGFwcGxlLmNvbT4KIAogICAg
ICAgICBDbGVhbi11cDogQWRvcHQgUGFnZTo6Zm9yRWFjaERvY3VtZW50IGluIHNvbWUgbWlzc2Vk
IHNwb3RzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL25vdGlmaWNhdGlvbnMv
Tm90aWZpY2F0aW9uLmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbm90aWZpY2F0aW9ucy9O
b3RpZmljYXRpb24uY3BwCmluZGV4IGI2M2ZkMDgwNWExYi4uMjgxN2UyMWYwNmU0IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL25vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9uLmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL25vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9u
LmNwcApAQCAtNDEsNiArNDEsNyBAQAogI2luY2x1ZGUgIkpTRE9NUHJvbWlzZURlZmVycmVkLmgi
CiAjaW5jbHVkZSAiTm90aWZpY2F0aW9uQ2xpZW50LmgiCiAjaW5jbHVkZSAiTm90aWZpY2F0aW9u
Q29udHJvbGxlci5oIgorI2luY2x1ZGUgIk5vdGlmaWNhdGlvbkRhdGEuaCIKICNpbmNsdWRlICJO
b3RpZmljYXRpb25QZXJtaXNzaW9uQ2FsbGJhY2suaCIKICNpbmNsdWRlICJXaW5kb3dFdmVudExv
b3AuaCIKICNpbmNsdWRlICJXaW5kb3dGb2N1c0FsbG93ZWRJbmRpY2F0b3IuaCIKQEAgLTIyNCw2
ICsyMjUsMjAgQEAgYm9vbCBOb3RpZmljYXRpb246OnZpcnR1YWxIYXNQZW5kaW5nQWN0aXZpdHko
KSBjb25zdAogICAgIHJldHVybiBtX3N0YXRlID09IFNob3dpbmcgJiYgbV9oYXNSZWxldmFudEV2
ZW50TGlzdGVuZXI7CiB9CiAKK05vdGlmaWNhdGlvbkRhdGEgTm90aWZpY2F0aW9uOjpkYXRhV2l0
aG91dE5vdGlmaWNhdGlvbklEKCkgY29uc3QKK3sKKyAgICByZXR1cm4geworICAgICAgICBtX3Rp
dGxlLAorICAgICAgICBtX2JvZHksCisgICAgICAgIG1faWNvbi5zdHJpbmcoKSwKKyAgICAgICAg
bV90YWcsCisgICAgICAgIG1fbGFuZywKKyAgICAgICAgbV9kaXJlY3Rpb24sCisgICAgICAgIHNj
cmlwdEV4ZWN1dGlvbkNvbnRleHQoKS0+c2VjdXJpdHlPcmlnaW4oKS0+dG9TdHJpbmcoKSwKKyAg
ICAgICAgMAorICAgIH07Cit9CisKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKIAogI2VuZGlmIC8v
IEVOQUJMRShOT1RJRklDQVRJT05TKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxl
cy9ub3RpZmljYXRpb25zL05vdGlmaWNhdGlvbi5oIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9u
b3RpZmljYXRpb25zL05vdGlmaWNhdGlvbi5oCmluZGV4IDY1MzkxNTJlOThjNS4uZDJjN2QzNzFl
ZTVhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL25vdGlmaWNhdGlvbnMvTm90
aWZpY2F0aW9uLmgKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9ub3RpZmljYXRpb25zL05v
dGlmaWNhdGlvbi5oCkBAIC00Niw2ICs0Niw4IEBAIGNsYXNzIERlZmVycmVkUHJvbWlzZTsKIGNs
YXNzIERvY3VtZW50OwogY2xhc3MgTm90aWZpY2F0aW9uUGVybWlzc2lvbkNhbGxiYWNrOwogCitz
dHJ1Y3QgTm90aWZpY2F0aW9uRGF0YTsKKwogY2xhc3MgTm90aWZpY2F0aW9uIGZpbmFsIDogcHVi
bGljIFJlZkNvdW50ZWQ8Tm90aWZpY2F0aW9uPiwgcHVibGljIEFjdGl2ZURPTU9iamVjdCwgcHVi
bGljIEV2ZW50VGFyZ2V0V2l0aElubGluZURhdGEgewogICAgIFdURl9NQUtFX0lTT19BTExPQ0FU
RURfRVhQT1JUKE5vdGlmaWNhdGlvbiwgV0VCQ09SRV9FWFBPUlQpOwogcHVibGljOgpAQCAtODcs
NiArODksOCBAQCBwdWJsaWM6CiAKICAgICBTY3JpcHRFeGVjdXRpb25Db250ZXh0KiBzY3JpcHRF
eGVjdXRpb25Db250ZXh0KCkgY29uc3QgZmluYWwgeyByZXR1cm4gQWN0aXZlRE9NT2JqZWN0Ojpz
Y3JpcHRFeGVjdXRpb25Db250ZXh0KCk7IH0KIAorICAgIFdFQkNPUkVfRVhQT1JUIE5vdGlmaWNh
dGlvbkRhdGEgZGF0YVdpdGhvdXROb3RpZmljYXRpb25JRCgpIGNvbnN0OworCiAgICAgdXNpbmcg
UmVmQ291bnRlZDo6cmVmOwogICAgIHVzaW5nIFJlZkNvdW50ZWQ6OmRlcmVmOwogCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL25vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9uRGF0
YS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL25vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9u
RGF0YS5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwLi42MDQ3MDgz
NTU5NTAKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL25vdGlmaWNh
dGlvbnMvTm90aWZpY2F0aW9uRGF0YS5jcHAKQEAgLTAsMCArMSwzMSBAQAorLyoKKyAqIENvcHly
aWdodCAoQykgMjAyMSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVk
aXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3
aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUg
Zm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMg
b2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVy
LgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRo
ZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMg
YW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24g
YW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisg
KgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09O
VFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFO
VElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJS
QU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisg
KiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9S
IElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1Qs
IElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFN
QUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBT
VUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklU
UzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFO
WSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJ
QUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICog
QVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4g
SUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisK
KyNpbmNsdWRlICJjb25maWcuaCIKKyNpbmNsdWRlICJOb3RpZmljYXRpb25EYXRhLmgiCisKK25h
bWVzcGFjZSBXZWJDb3JlIHsKKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvTW9kdWxlcy9ub3RpZmljYXRpb25zL05vdGlmaWNhdGlvbkRhdGEuaCBi
L1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbm90aWZpY2F0aW9ucy9Ob3RpZmljYXRpb25EYXRhLmgK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwLi40ODkxYzQzMzU4NzkKLS0t
IC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL25vdGlmaWNhdGlvbnMvTm90
aWZpY2F0aW9uRGF0YS5oCkBAIC0wLDAgKzEsMTA3IEBACisvKgorICogQ29weXJpZ2h0IChDKSAy
MDIxIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlv
biBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAq
IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcg
Y29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2Ug
Y29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMg
bGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBS
ZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNv
cHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZv
bGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3Ro
ZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElT
IFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMg
YGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNM
VURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0Yg
TUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0Ug
QVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRS
SUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRB
TCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNM
VURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUg
R09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJ
TkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBP
RiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBP
UiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElO
IEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VE
IE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI3ByYWdtYSBv
bmNlCisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworZW51bSBjbGFzcyBOb3RpZmljYXRpb25EaXJl
Y3Rpb24gOiB1aW50OF90OworCitzdHJ1Y3QgTm90aWZpY2F0aW9uRGF0YSB7CisgICAgdGVtcGxh
dGU8Y2xhc3MgRW5jb2Rlcj4gdm9pZCBlbmNvZGUoRW5jb2RlciYpIGNvbnN0OworICAgIHRlbXBs
YXRlPGNsYXNzIERlY29kZXI+IHN0YXRpYyBzdGQ6Om9wdGlvbmFsPE5vdGlmaWNhdGlvbkRhdGE+
IGRlY29kZShEZWNvZGVyJik7CisKKyAgICBTdHJpbmcgdGl0bGU7CisgICAgU3RyaW5nIGJvZHk7
CisgICAgU3RyaW5nIGljb25VUkw7CisgICAgU3RyaW5nIHRhZzsKKyAgICBTdHJpbmcgbGFuZ3Vh
Z2U7CisgICAgV2ViQ29yZTo6Tm90aWZpY2F0aW9uRGlyZWN0aW9uIGRpcmVjdGlvbjsKKyAgICBT
dHJpbmcgb3JpZ2luU3RyaW5nOworICAgIHVpbnQ2NF90IG5vdGlmaWNhdGlvbklEOworfTsKKwor
dGVtcGxhdGU8Y2xhc3MgRW5jb2Rlcj4KK3ZvaWQgTm90aWZpY2F0aW9uRGF0YTo6ZW5jb2RlKEVu
Y29kZXImIGVuY29kZXIpIGNvbnN0Cit7CisgICAgZW5jb2RlciA8PCB0aXRsZSA8PCBib2R5IDw8
IGljb25VUkwgPDwgdGFnIDw8IGxhbmd1YWdlIDw8IGRpcmVjdGlvbiA8PCBvcmlnaW5TdHJpbmcg
PDwgbm90aWZpY2F0aW9uSUQ7Cit9CisKK3RlbXBsYXRlPGNsYXNzIERlY29kZXI+CitzdGQ6Om9w
dGlvbmFsPE5vdGlmaWNhdGlvbkRhdGE+IE5vdGlmaWNhdGlvbkRhdGE6OmRlY29kZShEZWNvZGVy
JiBkZWNvZGVyKQoreworICAgIHN0ZDo6b3B0aW9uYWw8U3RyaW5nPiB0aXRsZTsKKyAgICBkZWNv
ZGVyID4+IHRpdGxlOworICAgIGlmICghdGl0bGUpCisgICAgICAgIHJldHVybiBzdGQ6Om51bGxv
cHQ7CisKKyAgICBzdGQ6Om9wdGlvbmFsPFN0cmluZz4gYm9keTsKKyAgICBkZWNvZGVyID4+IGJv
ZHk7CisgICAgaWYgKCFib2R5KQorICAgICAgICByZXR1cm4gc3RkOjpudWxsb3B0OworCisgICAg
c3RkOjpvcHRpb25hbDxTdHJpbmc+IGljb25VUkw7CisgICAgZGVjb2RlciA+PiBpY29uVVJMOwor
ICAgIGlmICghaWNvblVSTCkKKyAgICAgICAgcmV0dXJuIHN0ZDo6bnVsbG9wdDsKKworICAgIHN0
ZDo6b3B0aW9uYWw8U3RyaW5nPiB0YWc7CisgICAgZGVjb2RlciA+PiB0YWc7CisgICAgaWYgKCF0
YWcpCisgICAgICAgIHJldHVybiBzdGQ6Om51bGxvcHQ7CisKKyAgICBzdGQ6Om9wdGlvbmFsPFN0
cmluZz4gbGFuZ3VhZ2U7CisgICAgZGVjb2RlciA+PiBsYW5ndWFnZTsKKyAgICBpZiAoIWxhbmd1
YWdlKQorICAgICAgICByZXR1cm4gc3RkOjpudWxsb3B0OworCisgICAgc3RkOjpvcHRpb25hbDxX
ZWJDb3JlOjpOb3RpZmljYXRpb25EaXJlY3Rpb24+IGRpcmVjdGlvbjsKKyAgICBkZWNvZGVyID4+
IGRpcmVjdGlvbjsKKyAgICBpZiAoIWRpcmVjdGlvbikKKyAgICAgICAgcmV0dXJuIHN0ZDo6bnVs
bG9wdDsKKworICAgIHN0ZDo6b3B0aW9uYWw8U3RyaW5nPiBvcmlnaW5TdHJpbmc7CisgICAgZGVj
b2RlciA+PiBvcmlnaW5TdHJpbmc7CisgICAgaWYgKCFvcmlnaW5TdHJpbmcpCisgICAgICAgIHJl
dHVybiBzdGQ6Om51bGxvcHQ7CisKKyAgICBzdGQ6Om9wdGlvbmFsPHVpbnQ2NF90PiBub3RpZmlj
YXRpb25JRDsKKyAgICBkZWNvZGVyID4+IG5vdGlmaWNhdGlvbklEOworICAgIGlmICghbm90aWZp
Y2F0aW9uSUQpCisgICAgICAgIHJldHVybiBzdGQ6Om51bGxvcHQ7CisKKyAgICByZXR1cm4geyB7
CisgICAgICAgIFdURk1vdmUoKnRpdGxlKSwKKyAgICAgICAgV1RGTW92ZSgqYm9keSksCisgICAg
ICAgIFdURk1vdmUoKmljb25VUkwpLAorICAgICAgICBXVEZNb3ZlKCp0YWcpLAorICAgICAgICBX
VEZNb3ZlKCpsYW5ndWFnZSksCisgICAgICAgIFdURk1vdmUoKmRpcmVjdGlvbiksCisgICAgICAg
IFdURk1vdmUoKm9yaWdpblN0cmluZyksCisgICAgICAgIFdURk1vdmUoKm5vdGlmaWNhdGlvbklE
KSwKKyAgICB9IH07Cit9CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL1NvdXJjZXMudHh0IGIvU291cmNlL1dlYkNvcmUvU291cmNlcy50eHQKaW5k
ZXggOTJkZjQyMmMzNTQxLi5hMjU0NzFlMTViZDcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L1NvdXJjZXMudHh0CisrKyBiL1NvdXJjZS9XZWJDb3JlL1NvdXJjZXMudHh0CkBAIC0yNDIsNiAr
MjQyLDcgQEAgTW9kdWxlcy9tb2RlbC1lbGVtZW50L2R1bW15L0R1bW15TW9kZWxQbGF5ZXIuY3Bw
CiBNb2R1bGVzL21vZGVsLWVsZW1lbnQvZHVtbXkvRHVtbXlNb2RlbFBsYXllclByb3ZpZGVyLmNw
cAogTW9kdWxlcy9ub3RpZmljYXRpb25zL05vdGlmaWNhdGlvbi5jcHAKIE1vZHVsZXMvbm90aWZp
Y2F0aW9ucy9Ob3RpZmljYXRpb25Db250cm9sbGVyLmNwcAorTW9kdWxlcy9ub3RpZmljYXRpb25z
L05vdGlmaWNhdGlvbkRhdGEuY3BwCiBNb2R1bGVzL3BheW1lbnRyZXF1ZXN0L01lcmNoYW50VmFs
aWRhdGlvbkV2ZW50LmNwcAogTW9kdWxlcy9wYXltZW50cmVxdWVzdC9QYXltZW50QWRkcmVzcy5j
cHAKIE1vZHVsZXMvcGF5bWVudHJlcXVlc3QvUGF5bWVudEhhbmRsZXIuY3BwCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2ogYi9Tb3Vy
Y2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKaW5kZXggNGUxNmEx
MDQzNzFhLi41OGI4YTYxNTQ0ZDQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUu
eGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhj
b2RlcHJvai9wcm9qZWN0LnBieHByb2oKQEAgLTE1MjAsNiArMTUyMCw3IEBACiAJCTUxMEQ0QTM3
MTAzMTY1RUUwMDQ5RUE1NCAvKiBTb2NrZXRTdHJlYW1IYW5kbGUuaCBpbiBIZWFkZXJzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDUxMEQ0QTMxMTAzMTY1RUUwMDQ5RUE1NCAv
KiBTb2NrZXRTdHJlYW1IYW5kbGUuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2
YXRlLCApOyB9OyB9OwogCQk1MTBENEEzODEwMzE2NUVFMDA0OUVBNTQgLyogU29ja2V0U3RyZWFt
SGFuZGxlQ2xpZW50LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSA1MTBENEEzMjEwMzE2NUVFMDA0OUVBNTQgLyogU29ja2V0U3RyZWFtSGFuZGxlQ2xpZW50
LmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJNTEx
MEZDRkMxRTAzNjQxRDAwNkY4RDBCIC8qIElEQkN1cnNvclJlY29yZC5oIGluIEhlYWRlcnMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNTExMEZDRkIxRTAzNjJBNTAwNkY4RDBC
IC8qIElEQkN1cnNvclJlY29yZC5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZh
dGUsICk7IH07IH07CisJCTUxMTIzRTJGMjc2OTQwQ0EwMEY5RDQxQiAvKiBOb3RpZmljYXRpb25E
YXRhLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1MTEy
M0UyQzI3NjkzQzMyMDBGOUQ0MUIgLyogTm90aWZpY2F0aW9uRGF0YS5oICovOyBzZXR0aW5ncyA9
IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTUxMTdGMzBFMjVFNjEwMjAwMDJB
OUYxRSAvKiBSZW1vdGVDb21tYW5kTGlzdGVuZXJDb2NvYS5oIGluIEhlYWRlcnMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNTExN0YzMEMyNUU2MTAxRjAwMkE5RjFFIC8qIFJl
bW90ZUNvbW1hbmRMaXN0ZW5lckNvY29hLmggKi87IH07CiAJCTUxMUVDMTI4MUM1MEFBQ0EwMDMy
Rjk4MyAvKiBJREJTZXJpYWxpemF0aW9uLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSA1MTFFQzEyNjFDNTBBQTU3MDAzMkY5ODMgLyogSURCU2VyaWFsaXph
dGlvbi5oICovOyB9OwogCQk1MTFFQzEyQzFDNTBBQkJGMDAzMkY5ODMgLyogU1FMaXRlSURCVHJh
bnNhY3Rpb24uaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IDUxMUVDMTJBMUM1MEFCQkEwMDMyRjk4MyAvKiBTUUxpdGVJREJUcmFuc2FjdGlvbi5oICovOyB9
OwpAQCAtOTU1MSw2ICs5NTUyLDggQEAKIAkJNTEwRDRBMzExMDMxNjVFRTAwNDlFQTU0IC8qIFNv
Y2tldFN0cmVhbUhhbmRsZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBTb2Nr
ZXRTdHJlYW1IYW5kbGUuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNTEwRDRBMzIx
MDMxNjVFRTAwNDlFQTU0IC8qIFNvY2tldFN0cmVhbUhhbmRsZUNsaWVudC5oICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jLmg7IHBhdGggPSBTb2NrZXRTdHJlYW1IYW5kbGVDbGllbnQuaDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNTExMEZDRkIxRTAzNjJBNTAwNkY4RDBCIC8qIElEQkN1
cnNvclJlY29yZC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBJREJDdXJzb3JS
ZWNvcmQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJNTExMjNFMkMyNzY5M0MzMjAw
RjlENDFCIC8qIE5vdGlmaWNhdGlvbkRhdGEuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBw
YXRoID0gTm90aWZpY2F0aW9uRGF0YS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk1
MTEyM0UyRTI3NjkzQzMzMDBGOUQ0MUIgLyogTm90aWZpY2F0aW9uRGF0YS5jcHAgKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBOb3RpZmljYXRpb25EYXRhLmNwcDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNTExN0YzMEEyNUU2MTAxRTAwMkE5RjFFIC8qIFJlbW90
ZUNvbW1hbmRMaXN0ZW5lckNvY29hLm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3Bw
OyBwYXRoID0gUmVtb3RlQ29tbWFuZExpc3RlbmVyQ29jb2EubW07IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CiAJCTUxMTdGMzBDMjVFNjEwMUYwMDJBOUYxRSAvKiBSZW1vdGVDb21tYW5kTGlz
dGVuZXJDb2NvYS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBSZW1vdGVDb21t
YW5kTGlzdGVuZXJDb2NvYS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk1MTFFQzEy
NTFDNTBBQTU3MDAzMkY5ODMgLyogSURCU2VyaWFsaXphdGlvbi5jcHAgKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBJREJTZXJpYWxpemF0aW9uLmNwcDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKQEAgLTIwNzA4LDYgKzIwNzExLDggQEAKIAkJCQkzMzUwM0M5OTEwMTc5
QTc0MDAzQjQ3RTEgLyogTm90aWZpY2F0aW9uQ2xpZW50LmggKi8sCiAJCQkJMzEyOENBNjcxNDcz
MzE1MjAwNzRDNzJBIC8qIE5vdGlmaWNhdGlvbkNvbnRyb2xsZXIuY3BwICovLAogCQkJCTMxMjhD
QTZBMTQ3MzMxNjMwMDc0QzcyQSAvKiBOb3RpZmljYXRpb25Db250cm9sbGVyLmggKi8sCisJCQkJ
NTExMjNFMkUyNzY5M0MzMzAwRjlENDFCIC8qIE5vdGlmaWNhdGlvbkRhdGEuY3BwICovLAorCQkJ
CTUxMTIzRTJDMjc2OTNDMzIwMEY5RDQxQiAvKiBOb3RpZmljYXRpb25EYXRhLmggKi8sCiAJCQkJ
N0NDMkRFMDIxRUNBMDRBNTAwMjdCNzc0IC8qIE5vdGlmaWNhdGlvbkRpcmVjdGlvbi5oICovLAog
CQkJCTdDQzJEREY4MUVDOTQxNUEwMDI3Qjc3NCAvKiBOb3RpZmljYXRpb25QZXJtaXNzaW9uLmgg
Ki8sCiAJCQkJN0NDMkRERkExRUM5NDE1QTAwMjdCNzc0IC8qIE5vdGlmaWNhdGlvblBlcm1pc3Np
b24uaWRsICovLApAQCAtMzcwNjEsNiArMzcwNjYsNyBAQAogCQkJCTdFNDc0RTFFMTI0OTREQzkw
MDIzNTM2NCAvKiBTUUxpdGVEYXRhYmFzZVRyYWNrZXJDbGllbnQuaCBpbiBIZWFkZXJzICovLAog
CQkJCUI1QTY4NDIyMEZGQUJFOTgwMEQyNDY4OSAvKiBTUUxpdGVGaWxlU3lzdGVtLmggaW4gSGVh
ZGVycyAqLywKIAkJCQk1MTJCREI0QjFDNDU2RkZBMDA2NDk0REYgLyogU1FMaXRlSURCQmFja2lu
Z1N0b3JlLmggaW4gSGVhZGVycyAqLywKKwkJCQk1MTEyM0UyRjI3Njk0MENBMDBGOUQ0MUIgLyog
Tm90aWZpY2F0aW9uRGF0YS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNTExRUMxMzAxQzUwQUJGNTAw
MzJGOTgzIC8qIFNRTGl0ZUlEQkN1cnNvci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNTExRUMxMkMx
QzUwQUJCRjAwMzJGOTgzIC8qIFNRTGl0ZUlEQlRyYW5zYWN0aW9uLmggaW4gSGVhZGVycyAqLywK
IAkJCQkxQTIyNDY0QzBDQzk4RERCMDBDMDUyNDAgLyogU1FMaXRlU3RhdGVtZW50LmggaW4gSGVh
ZGVycyAqLywKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nIGIvU291cmNlL1dl
YktpdC9DaGFuZ2VMb2cKaW5kZXggM2M0MzQyMzMyOTA1Li5jMjQ1MjU4NTljYTkgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9n
CkBAIC0xLDMgKzEsMzUgQEAKKzIwMjEtMTItMTUgIEJyYWR5IEVpZHNvbiAgPGJlaWRzb25AYXBw
bGUuY29tPgorCisgICAgICAgIEFkZCBhICJOb3RpZmljYXRpb25EYXRhIiBvYmplY3QgdG8gZW5j
b21wYXNzIGxvY2FsIE5vdGlmaWNhdGlvbi1yZWxhdGVkIHBhcmFtZXRlcnMsIGluc3RlYWQgb2Yg
cGFzc2luZyB0b25zIG9mIHRoZW0gYXJvdW5kIGV2ZXJ5d2hlcmUuCisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMzQzNzAKKworICAgICAgICBSZXZpZXdl
ZCBieSBUaW0gSG9ydG9uLgorCisgICAgICAgICogTmV0d29ya1Byb2Nlc3MvTm90aWZpY2F0aW9u
cy9OZXR3b3JrTm90aWZpY2F0aW9uTWFuYWdlci5oOgorCisgICAgICAgICogU2hhcmVkL05vdGlm
aWNhdGlvbnMvTm90aWZpY2F0aW9uTWFuYWdlck1lc3NhZ2VIYW5kbGVyLmg6CisgICAgICAgICog
U2hhcmVkL05vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9uTWFuYWdlck1lc3NhZ2VIYW5kbGVyLm1l
c3NhZ2VzLmluOgorCisgICAgICAgICogVUlQcm9jZXNzL05vdGlmaWNhdGlvbnMvV2ViTm90aWZp
Y2F0aW9uLmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViTm90aWZpY2F0aW9uOjpXZWJOb3RpZmlj
YXRpb24pOgorICAgICAgICAqIFVJUHJvY2Vzcy9Ob3RpZmljYXRpb25zL1dlYk5vdGlmaWNhdGlv
bi5oOgorICAgICAgICAoV2ViS2l0OjpXZWJOb3RpZmljYXRpb246OmNyZWF0ZSk6CisKKyAgICAg
ICAgKiBVSVByb2Nlc3MvTm90aWZpY2F0aW9ucy9XZWJOb3RpZmljYXRpb25NYW5hZ2VyTWVzc2Fn
ZUhhbmRsZXIuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJOb3RpZmljYXRpb25NYW5hZ2VyTWVz
c2FnZUhhbmRsZXI6OnNob3dOb3RpZmljYXRpb24pOgorICAgICAgICAqIFVJUHJvY2Vzcy9Ob3Rp
ZmljYXRpb25zL1dlYk5vdGlmaWNhdGlvbk1hbmFnZXJNZXNzYWdlSGFuZGxlci5oOgorCisgICAg
ICAgICogVUlQcm9jZXNzL05vdGlmaWNhdGlvbnMvV2ViTm90aWZpY2F0aW9uTWFuYWdlclByb3h5
LmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViTm90aWZpY2F0aW9uTWFuYWdlclByb3h5OjpzaG93
KToKKyAgICAgICAgKiBVSVByb2Nlc3MvTm90aWZpY2F0aW9ucy9XZWJOb3RpZmljYXRpb25NYW5h
Z2VyUHJveHkuaDoKKworICAgICAgICAqIFVJUHJvY2Vzcy9XZWJQYWdlUHJveHkuY3BwOgorICAg
ICAgICAoV2ViS2l0OjpXZWJQYWdlUHJveHk6OnNob3dOb3RpZmljYXRpb24pOgorICAgICAgICAq
IFVJUHJvY2Vzcy9XZWJQYWdlUHJveHkuaDoKKworICAgICAgICAqIFdlYlByb2Nlc3MvTm90aWZp
Y2F0aW9ucy9XZWJOb3RpZmljYXRpb25NYW5hZ2VyLmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2Vi
Tm90aWZpY2F0aW9uTWFuYWdlcjo6c2hvdyk6CisKIDIwMjEtMTItMTUgIEFsZXggQ2hyaXN0ZW5z
ZW4gIDxhY2hyaXN0ZW5zZW5Ad2Via2l0Lm9yZz4KIAogICAgICAgICBSZW1vdmUgUHJveHlTZXJ2
ZXIKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvTm90aWZpY2F0aW9u
cy9OZXR3b3JrTm90aWZpY2F0aW9uTWFuYWdlci5oIGIvU291cmNlL1dlYktpdC9OZXR3b3JrUHJv
Y2Vzcy9Ob3RpZmljYXRpb25zL05ldHdvcmtOb3RpZmljYXRpb25NYW5hZ2VyLmgKaW5kZXggZGZm
ZjVkYmYwMjE2Li4wNTNmMzBhMTVlYWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvTmV0d29y
a1Byb2Nlc3MvTm90aWZpY2F0aW9ucy9OZXR3b3JrTm90aWZpY2F0aW9uTWFuYWdlci5oCisrKyBi
L1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvTm90aWZpY2F0aW9ucy9OZXR3b3JrTm90aWZp
Y2F0aW9uTWFuYWdlci5oCkBAIC01OSw3ICs1OSw3IEBAIHByaXZhdGU6CiAgICAgTmV0d29ya05v
dGlmaWNhdGlvbk1hbmFnZXIoTmV0d29ya1Nlc3Npb24mLCBjb25zdCBTdHJpbmcmIHdlYlB1c2hN
YWNoU2VydmljZU5hbWUpOwogCiAgICAgdm9pZCByZXF1ZXN0U3lzdGVtTm90aWZpY2F0aW9uUGVy
bWlzc2lvbihjb25zdCBTdHJpbmcmIG9yaWdpblN0cmluZywgQ29tcGxldGlvbkhhbmRsZXI8dm9p
ZChib29sKT4mJikgZmluYWw7Ci0gICAgdm9pZCBzaG93Tm90aWZpY2F0aW9uKGNvbnN0IFN0cmlu
ZyYgdGl0bGUsIGNvbnN0IFN0cmluZyYgYm9keSwgY29uc3QgU3RyaW5nJiBpY29uVVJMLCBjb25z
dCBTdHJpbmcmIHRhZywgY29uc3QgU3RyaW5nJiBsYW5nLCBXZWJDb3JlOjpOb3RpZmljYXRpb25E
aXJlY3Rpb24sIGNvbnN0IFN0cmluZyYgb3JpZ2luU3RyaW5nLCB1aW50NjRfdCBub3RpZmljYXRp
b25JRCkgZmluYWw7CisgICAgdm9pZCBzaG93Tm90aWZpY2F0aW9uKGNvbnN0IFdlYkNvcmU6Ok5v
dGlmaWNhdGlvbkRhdGEmKSBmaW5hbDsKICAgICB2b2lkIGNhbmNlbE5vdGlmaWNhdGlvbih1aW50
NjRfdCBub3RpZmljYXRpb25JRCkgZmluYWw7CiAgICAgdm9pZCBjbGVhck5vdGlmaWNhdGlvbnMo
Y29uc3QgVmVjdG9yPHVpbnQ2NF90PiYgbm90aWZpY2F0aW9uSURzKSBmaW5hbDsKICAgICB2b2lk
IGRpZERlc3Ryb3lOb3RpZmljYXRpb24odWludDY0X3Qgbm90aWZpY2F0aW9uSUQpIGZpbmFsOwpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9TaGFyZWQvTm90aWZpY2F0aW9ucy9Ob3RpZmljYXRp
b25NYW5hZ2VyTWVzc2FnZUhhbmRsZXIuaCBiL1NvdXJjZS9XZWJLaXQvU2hhcmVkL05vdGlmaWNh
dGlvbnMvTm90aWZpY2F0aW9uTWFuYWdlck1lc3NhZ2VIYW5kbGVyLmgKaW5kZXggZTEwOTIwZTkw
ZDlhLi5lMjEyZWQxZmQ2MmMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvU2hhcmVkL05vdGlm
aWNhdGlvbnMvTm90aWZpY2F0aW9uTWFuYWdlck1lc3NhZ2VIYW5kbGVyLmgKKysrIGIvU291cmNl
L1dlYktpdC9TaGFyZWQvTm90aWZpY2F0aW9ucy9Ob3RpZmljYXRpb25NYW5hZ2VyTWVzc2FnZUhh
bmRsZXIuaApAQCAtMjksNiArMjksMTAgQEAKICNpbmNsdWRlICJXZWJQYWdlUHJveHlJZGVudGlm
aWVyLmgiCiAjaW5jbHVkZSA8V2ViQ29yZS9Ob3RpZmljYXRpb25EaXJlY3Rpb24uaD4KIAorbmFt
ZXNwYWNlIFdlYkNvcmUgeworc3RydWN0IE5vdGlmaWNhdGlvbkRhdGE7Cit9CisKIG5hbWVzcGFj
ZSBXZWJLaXQgewogCiBjbGFzcyBOb3RpZmljYXRpb25NYW5hZ2VyTWVzc2FnZUhhbmRsZXIgOiBw
dWJsaWMgSVBDOjpNZXNzYWdlUmVjZWl2ZXIgewpAQCAtMzYsNyArNDAsNyBAQCBwdWJsaWM6CiAg
ICAgdmlydHVhbCB+Tm90aWZpY2F0aW9uTWFuYWdlck1lc3NhZ2VIYW5kbGVyKCkgPSBkZWZhdWx0
OwogCiAgICAgdmlydHVhbCB2b2lkIHJlcXVlc3RTeXN0ZW1Ob3RpZmljYXRpb25QZXJtaXNzaW9u
KGNvbnN0IFN0cmluZyYgc2VjdXJpdHlPcmlnaW4sIENvbXBsZXRpb25IYW5kbGVyPHZvaWQoYm9v
bCk+JiYpID0gMDsKLSAgICB2aXJ0dWFsIHZvaWQgc2hvd05vdGlmaWNhdGlvbihjb25zdCBTdHJp
bmcmIHRpdGxlLCBjb25zdCBTdHJpbmcmIGJvZHksIGNvbnN0IFN0cmluZyYgaWNvblVSTCwgY29u
c3QgU3RyaW5nJiB0YWcsIGNvbnN0IFN0cmluZyYgbGFuZ3VhZ2UsIFdlYkNvcmU6Ok5vdGlmaWNh
dGlvbkRpcmVjdGlvbiwgY29uc3QgU3RyaW5nJiBvcmlnaW5TdHJpbmcsIHVpbnQ2NF90IG5vdGlm
aWNhdGlvbklEKSA9IDA7CisgICAgdmlydHVhbCB2b2lkIHNob3dOb3RpZmljYXRpb24oY29uc3Qg
V2ViQ29yZTo6Tm90aWZpY2F0aW9uRGF0YSYpID0gMDsKICAgICB2aXJ0dWFsIHZvaWQgY2FuY2Vs
Tm90aWZpY2F0aW9uKHVpbnQ2NF90IG5vdGlmaWNhdGlvbklEKSA9IDA7CiAgICAgdmlydHVhbCB2
b2lkIGNsZWFyTm90aWZpY2F0aW9ucyhjb25zdCBWZWN0b3I8dWludDY0X3Q+JiBub3RpZmljYXRp
b25JRHMpID0gMDsKICAgICB2aXJ0dWFsIHZvaWQgZGlkRGVzdHJveU5vdGlmaWNhdGlvbih1aW50
NjRfdCBub3RpZmljYXRpb25JRCkgPSAwOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9TaGFy
ZWQvTm90aWZpY2F0aW9ucy9Ob3RpZmljYXRpb25NYW5hZ2VyTWVzc2FnZUhhbmRsZXIubWVzc2Fn
ZXMuaW4gYi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9Ob3RpZmljYXRpb25zL05vdGlmaWNhdGlvbk1h
bmFnZXJNZXNzYWdlSGFuZGxlci5tZXNzYWdlcy5pbgppbmRleCBkNTg5MGVkYzNkNTIuLmFiY2Y5
NzQ2YjA0OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9TaGFyZWQvTm90aWZpY2F0aW9ucy9O
b3RpZmljYXRpb25NYW5hZ2VyTWVzc2FnZUhhbmRsZXIubWVzc2FnZXMuaW4KKysrIGIvU291cmNl
L1dlYktpdC9TaGFyZWQvTm90aWZpY2F0aW9ucy9Ob3RpZmljYXRpb25NYW5hZ2VyTWVzc2FnZUhh
bmRsZXIubWVzc2FnZXMuaW4KQEAgLTIyLDcgKzIyLDcgQEAKIAogbWVzc2FnZXMgLT4gTm90aWZp
Y2F0aW9uTWFuYWdlck1lc3NhZ2VIYW5kbGVyIE5vdFJlZkNvdW50ZWQgewogICAgIFJlcXVlc3RT
eXN0ZW1Ob3RpZmljYXRpb25QZXJtaXNzaW9uKFN0cmluZyBvcmlnaW5JZGVudGlmaWVyKSAtPiAo
Ym9vbCBhbGxvd2VkKSBBc3luYwotICAgIFNob3dOb3RpZmljYXRpb24oU3RyaW5nIHRpdGxlLCBT
dHJpbmcgYm9keSwgU3RyaW5nIGljb25VUkwsIFN0cmluZyB0YWcsIFN0cmluZyBsYW5ndWFnZSwg
ZW51bTp1aW50OF90IFdlYkNvcmU6Ok5vdGlmaWNhdGlvbkRpcmVjdGlvbiBkaXJlY3Rpb24sIFN0
cmluZyBvcmlnaW5JZGVudGlmaWVyLCB1aW50NjRfdCBub3RpZmljYXRpb25JRCkKKyAgICBTaG93
Tm90aWZpY2F0aW9uKHN0cnVjdCBXZWJDb3JlOjpOb3RpZmljYXRpb25EYXRhIG5vdGlmaWNhdGlv
bkRhdGEpCiAgICAgQ2FuY2VsTm90aWZpY2F0aW9uKHVpbnQ2NF90IG5vdGlmaWNhdGlvbklEKQog
ICAgIENsZWFyTm90aWZpY2F0aW9ucyhWZWN0b3I8dWludDY0X3Q+IG5vdGlmaWNhdGlvbklEcykK
ICAgICBEaWREZXN0cm95Tm90aWZpY2F0aW9uKHVpbnQ2NF90IG5vdGlmaWNhdGlvbklEKQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvTm90aWZpY2F0aW9ucy9XZWJOb3RpZmlj
YXRpb24uY3BwIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvTm90aWZpY2F0aW9ucy9XZWJOb3Rp
ZmljYXRpb24uY3BwCmluZGV4IDc0ZTJiN2U4YmQ4Ni4uMDhhNmY2ZTJmNGJmIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Ob3RpZmljYXRpb25zL1dlYk5vdGlmaWNhdGlvbi5j
cHAKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvTm90aWZpY2F0aW9ucy9XZWJOb3RpZmlj
YXRpb24uY3BwCkBAIC0yNiwxNyArMjYsMTkgQEAKICNpbmNsdWRlICJjb25maWcuaCIKICNpbmNs
dWRlICJXZWJOb3RpZmljYXRpb24uaCIKIAorI2luY2x1ZGUgPFdlYkNvcmUvTm90aWZpY2F0aW9u
RGF0YS5oPgorCiBuYW1lc3BhY2UgV2ViS2l0IHsKIAotV2ViTm90aWZpY2F0aW9uOjpXZWJOb3Rp
ZmljYXRpb24oY29uc3QgU3RyaW5nJiB0aXRsZSwgY29uc3QgU3RyaW5nJiBib2R5LCBjb25zdCBT
dHJpbmcmIGljb25VUkwsIGNvbnN0IFN0cmluZyYgdGFnLCBjb25zdCBTdHJpbmcmIGxhbmcsIFdl
YkNvcmU6Ok5vdGlmaWNhdGlvbkRpcmVjdGlvbiBkaXIsIGNvbnN0IFN0cmluZyYgb3JpZ2luU3Ry
aW5nLCB1aW50NjRfdCBub3RpZmljYXRpb25JRCkKLSAgICA6IG1fdGl0bGUodGl0bGUpCi0gICAg
LCBtX2JvZHkoYm9keSkKLSAgICAsIG1faWNvblVSTChpY29uVVJMKQotICAgICwgbV90YWcodGFn
KQotICAgICwgbV9sYW5nKGxhbmcpCi0gICAgLCBtX2RpcihkaXIpCi0gICAgLCBtX29yaWdpbihB
UEk6OlNlY3VyaXR5T3JpZ2luOjpjcmVhdGVGcm9tU3RyaW5nKG9yaWdpblN0cmluZykpCi0gICAg
LCBtX25vdGlmaWNhdGlvbklEKG5vdGlmaWNhdGlvbklEKQorV2ViTm90aWZpY2F0aW9uOjpXZWJO
b3RpZmljYXRpb24oY29uc3QgV2ViQ29yZTo6Tm90aWZpY2F0aW9uRGF0YSYgZGF0YSkKKyAgICA6
IG1fdGl0bGUoZGF0YS50aXRsZSkKKyAgICAsIG1fYm9keShkYXRhLmJvZHkpCisgICAgLCBtX2lj
b25VUkwoZGF0YS5pY29uVVJMKQorICAgICwgbV90YWcoZGF0YS50YWcpCisgICAgLCBtX2xhbmco
ZGF0YS5sYW5ndWFnZSkKKyAgICAsIG1fZGlyKGRhdGEuZGlyZWN0aW9uKQorICAgICwgbV9vcmln
aW4oQVBJOjpTZWN1cml0eU9yaWdpbjo6Y3JlYXRlRnJvbVN0cmluZyhkYXRhLm9yaWdpblN0cmlu
ZykpCisgICAgLCBtX25vdGlmaWNhdGlvbklEKGRhdGEubm90aWZpY2F0aW9uSUQpCiB7CiB9CiAK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL05vdGlmaWNhdGlvbnMvV2ViTm90
aWZpY2F0aW9uLmggYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Ob3RpZmljYXRpb25zL1dlYk5v
dGlmaWNhdGlvbi5oCmluZGV4IDI4ZWUxZDgzNjZiYy4uMGQyMmQ0N2UyMDFmIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Ob3RpZmljYXRpb25zL1dlYk5vdGlmaWNhdGlvbi5o
CisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL05vdGlmaWNhdGlvbnMvV2ViTm90aWZpY2F0
aW9uLmgKQEAgLTMyLDE1ICszMiwxNiBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiBlbnVtIGNs
YXNzIE5vdGlmaWNhdGlvbkRpcmVjdGlvbiA6IHVpbnQ4X3Q7CitzdHJ1Y3QgTm90aWZpY2F0aW9u
RGF0YTsKIH0KIAogbmFtZXNwYWNlIFdlYktpdCB7CiAKIGNsYXNzIFdlYk5vdGlmaWNhdGlvbiA6
IHB1YmxpYyBBUEk6Ok9iamVjdEltcGw8QVBJOjpPYmplY3Q6OlR5cGU6Ok5vdGlmaWNhdGlvbj4g
ewogcHVibGljOgotICAgIHN0YXRpYyBSZWY8V2ViTm90aWZpY2F0aW9uPiBjcmVhdGUoY29uc3Qg
U3RyaW5nJiB0aXRsZSwgY29uc3QgU3RyaW5nJiBib2R5LCBjb25zdCBTdHJpbmcmIGljb25VUkws
IGNvbnN0IFN0cmluZyYgdGFnLCBjb25zdCBTdHJpbmcmIGxhbmcsIFdlYkNvcmU6Ok5vdGlmaWNh
dGlvbkRpcmVjdGlvbiBkaXIsIGNvbnN0IFN0cmluZyYgb3JpZ2luU3RyaW5nLCB1aW50NjRfdCBu
b3RpZmljYXRpb25JRCkKKyAgICBzdGF0aWMgUmVmPFdlYk5vdGlmaWNhdGlvbj4gY3JlYXRlKGNv
bnN0IFdlYkNvcmU6Ok5vdGlmaWNhdGlvbkRhdGEmIGRhdGEpCiAgICAgewotICAgICAgICByZXR1
cm4gYWRvcHRSZWYoKm5ldyBXZWJOb3RpZmljYXRpb24odGl0bGUsIGJvZHksIGljb25VUkwsIHRh
ZywgbGFuZywgZGlyLCBvcmlnaW5TdHJpbmcsIG5vdGlmaWNhdGlvbklEKSk7CisgICAgICAgIHJl
dHVybiBhZG9wdFJlZigqbmV3IFdlYk5vdGlmaWNhdGlvbihkYXRhKSk7CiAgICAgfQogCiAgICAg
Y29uc3QgU3RyaW5nJiB0aXRsZSgpIGNvbnN0IHsgcmV0dXJuIG1fdGl0bGU7IH0KQEAgLTU0LDcg
KzU1LDcgQEAgcHVibGljOgogICAgIHVpbnQ2NF90IG5vdGlmaWNhdGlvbklEKCkgY29uc3QgeyBy
ZXR1cm4gbV9ub3RpZmljYXRpb25JRDsgfQogCiBwcml2YXRlOgotICAgIFdlYk5vdGlmaWNhdGlv
bihjb25zdCBTdHJpbmcmIHRpdGxlLCBjb25zdCBTdHJpbmcmIGJvZHksIGNvbnN0IFN0cmluZyYg
aWNvblVSTCwgY29uc3QgU3RyaW5nJiB0YWcsIGNvbnN0IFN0cmluZyYgbGFuZywgV2ViQ29yZTo6
Tm90aWZpY2F0aW9uRGlyZWN0aW9uLCBjb25zdCBTdHJpbmcmIG9yaWdpblN0cmluZywgdWludDY0
X3Qgbm90aWZpY2F0aW9uSUQpOworICAgIFdlYk5vdGlmaWNhdGlvbihjb25zdCBXZWJDb3JlOjpO
b3RpZmljYXRpb25EYXRhJik7CiAKICAgICBTdHJpbmcgbV90aXRsZTsKICAgICBTdHJpbmcgbV9i
b2R5OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvTm90aWZpY2F0aW9ucy9X
ZWJOb3RpZmljYXRpb25NYW5hZ2VyTWVzc2FnZUhhbmRsZXIuY3BwIGIvU291cmNlL1dlYktpdC9V
SVByb2Nlc3MvTm90aWZpY2F0aW9ucy9XZWJOb3RpZmljYXRpb25NYW5hZ2VyTWVzc2FnZUhhbmRs
ZXIuY3BwCmluZGV4IGRiZmVmYjAxNTk5OC4uYTI5YWVkNTUwN2VhIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0L1VJUHJvY2Vzcy9Ob3RpZmljYXRpb25zL1dlYk5vdGlmaWNhdGlvbk1hbmFnZXJN
ZXNzYWdlSGFuZGxlci5jcHAKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvTm90aWZpY2F0
aW9ucy9XZWJOb3RpZmljYXRpb25NYW5hZ2VyTWVzc2FnZUhhbmRsZXIuY3BwCkBAIC00MCw5ICs0
MCw5IEBAIHZvaWQgV2ViTm90aWZpY2F0aW9uTWFuYWdlck1lc3NhZ2VIYW5kbGVyOjpyZXF1ZXN0
U3lzdGVtTm90aWZpY2F0aW9uUGVybWlzc2lvbihjCiAgICAgUkVMRUFTRV9BU1NFUlRfTk9UX1JF
QUNIRUQoKTsKIH0KIAotdm9pZCBXZWJOb3RpZmljYXRpb25NYW5hZ2VyTWVzc2FnZUhhbmRsZXI6
OnNob3dOb3RpZmljYXRpb24oY29uc3QgU3RyaW5nJiB0aXRsZSwgY29uc3QgU3RyaW5nJiBib2R5
LCBjb25zdCBTdHJpbmcmIGljb25VUkwsIGNvbnN0IFN0cmluZyYgdGFnLCBjb25zdCBTdHJpbmcm
IGxhbmd1YWdlLCBXZWJDb3JlOjpOb3RpZmljYXRpb25EaXJlY3Rpb24gZGlyZWN0aW9uLCBjb25z
dCBTdHJpbmcmIG9yaWdpblN0cmluZywgdWludDY0X3Qgbm90aWZpY2F0aW9uSUQpCit2b2lkIFdl
Yk5vdGlmaWNhdGlvbk1hbmFnZXJNZXNzYWdlSGFuZGxlcjo6c2hvd05vdGlmaWNhdGlvbihjb25z
dCBXZWJDb3JlOjpOb3RpZmljYXRpb25EYXRhJiBkYXRhKQogewotICAgIG1fd2ViUGFnZVByb3h5
LnNob3dOb3RpZmljYXRpb24odGl0bGUsIGJvZHksIGljb25VUkwsIHRhZywgbGFuZ3VhZ2UsIGRp
cmVjdGlvbiwgb3JpZ2luU3RyaW5nLCBub3RpZmljYXRpb25JRCk7CisgICAgbV93ZWJQYWdlUHJv
eHkuc2hvd05vdGlmaWNhdGlvbihkYXRhKTsKIH0KIAogdm9pZCBXZWJOb3RpZmljYXRpb25NYW5h
Z2VyTWVzc2FnZUhhbmRsZXI6OmNhbmNlbE5vdGlmaWNhdGlvbih1aW50NjRfdCBub3RpZmljYXRp
b25JRCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL05vdGlmaWNhdGlvbnMv
V2ViTm90aWZpY2F0aW9uTWFuYWdlck1lc3NhZ2VIYW5kbGVyLmggYi9Tb3VyY2UvV2ViS2l0L1VJ
UHJvY2Vzcy9Ob3RpZmljYXRpb25zL1dlYk5vdGlmaWNhdGlvbk1hbmFnZXJNZXNzYWdlSGFuZGxl
ci5oCmluZGV4IDNlMGEzYzg0YWY1YS4uNDI1MWY3MmZlYmUyIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0L1VJUHJvY2Vzcy9Ob3RpZmljYXRpb25zL1dlYk5vdGlmaWNhdGlvbk1hbmFnZXJNZXNz
YWdlSGFuZGxlci5oCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL05vdGlmaWNhdGlvbnMv
V2ViTm90aWZpY2F0aW9uTWFuYWdlck1lc3NhZ2VIYW5kbGVyLmgKQEAgLTM3LDcgKzM3LDcgQEAg
cHJpdmF0ZToKICAgICBleHBsaWNpdCBXZWJOb3RpZmljYXRpb25NYW5hZ2VyTWVzc2FnZUhhbmRs
ZXIoV2ViUGFnZVByb3h5Jik7CiAKICAgICB2b2lkIHJlcXVlc3RTeXN0ZW1Ob3RpZmljYXRpb25Q
ZXJtaXNzaW9uKGNvbnN0IFN0cmluZyYsIENvbXBsZXRpb25IYW5kbGVyPHZvaWQoYm9vbCk+JiYp
IGZpbmFsOwotICAgIHZvaWQgc2hvd05vdGlmaWNhdGlvbihjb25zdCBTdHJpbmcmIHRpdGxlLCBj
b25zdCBTdHJpbmcmIGJvZHksIGNvbnN0IFN0cmluZyYgaWNvblVSTCwgY29uc3QgU3RyaW5nJiB0
YWcsIGNvbnN0IFN0cmluZyYgbGFuZ3VhZ2UsIFdlYkNvcmU6Ok5vdGlmaWNhdGlvbkRpcmVjdGlv
biwgY29uc3QgU3RyaW5nJiBvcmlnaW5TdHJpbmcsIHVpbnQ2NF90IG5vdGlmaWNhdGlvbklEKSBm
aW5hbDsKKyAgICB2b2lkIHNob3dOb3RpZmljYXRpb24oY29uc3QgV2ViQ29yZTo6Tm90aWZpY2F0
aW9uRGF0YSYpIGZpbmFsOwogICAgIHZvaWQgY2FuY2VsTm90aWZpY2F0aW9uKHVpbnQ2NF90IG5v
dGlmaWNhdGlvbklEKSBmaW5hbDsKICAgICB2b2lkIGNsZWFyTm90aWZpY2F0aW9ucyhjb25zdCBW
ZWN0b3I8dWludDY0X3Q+JiBub3RpZmljYXRpb25JRHMpIGZpbmFsOwogICAgIHZvaWQgZGlkRGVz
dHJveU5vdGlmaWNhdGlvbih1aW50NjRfdCBub3RpZmljYXRpb25JRCkgZmluYWw7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Ob3RpZmljYXRpb25zL1dlYk5vdGlmaWNhdGlv
bk1hbmFnZXJQcm94eS5jcHAgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Ob3RpZmljYXRpb25z
L1dlYk5vdGlmaWNhdGlvbk1hbmFnZXJQcm94eS5jcHAKaW5kZXggNzYwNjMxYzQ5MGY2Li41NmVm
NTA1MzNiMDIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL05vdGlmaWNhdGlv
bnMvV2ViTm90aWZpY2F0aW9uTWFuYWdlclByb3h5LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJ
UHJvY2Vzcy9Ob3RpZmljYXRpb25zL1dlYk5vdGlmaWNhdGlvbk1hbmFnZXJQcm94eS5jcHAKQEAg
LTkzLDExICs5MywxMSBAQCBIYXNoTWFwPFN0cmluZywgYm9vbD4gV2ViTm90aWZpY2F0aW9uTWFu
YWdlclByb3h5Ojpub3RpZmljYXRpb25QZXJtaXNzaW9ucygpCiAgICAgcmV0dXJuIG1fcHJvdmlk
ZXItPm5vdGlmaWNhdGlvblBlcm1pc3Npb25zKCk7CiB9CiAKLXZvaWQgV2ViTm90aWZpY2F0aW9u
TWFuYWdlclByb3h5OjpzaG93KFdlYlBhZ2VQcm94eSogd2ViUGFnZSwgY29uc3QgU3RyaW5nJiB0
aXRsZSwgY29uc3QgU3RyaW5nJiBib2R5LCBjb25zdCBTdHJpbmcmIGljb25VUkwsIGNvbnN0IFN0
cmluZyYgdGFnLCBjb25zdCBTdHJpbmcmIGxhbmcsIFdlYkNvcmU6Ok5vdGlmaWNhdGlvbkRpcmVj
dGlvbiBkaXIsIGNvbnN0IFN0cmluZyYgb3JpZ2luU3RyaW5nLCB1aW50NjRfdCBwYWdlTm90aWZp
Y2F0aW9uSUQpCit2b2lkIFdlYk5vdGlmaWNhdGlvbk1hbmFnZXJQcm94eTo6c2hvdyhXZWJQYWdl
UHJveHkqIHdlYlBhZ2UsIGNvbnN0IFdlYkNvcmU6Ok5vdGlmaWNhdGlvbkRhdGEmIG5vdGlmaWNh
dGlvbkRhdGEpCiB7CiAgICAgdWludDY0X3QgZ2xvYmFsTm90aWZpY2F0aW9uSUQgPSBnZW5lcmF0
ZUdsb2JhbE5vdGlmaWNhdGlvbklEKCk7Ci0gICAgYXV0byBub3RpZmljYXRpb24gPSBXZWJOb3Rp
ZmljYXRpb246OmNyZWF0ZSh0aXRsZSwgYm9keSwgaWNvblVSTCwgdGFnLCBsYW5nLCBkaXIsIG9y
aWdpblN0cmluZywgZ2xvYmFsTm90aWZpY2F0aW9uSUQpOwotICAgIGF1dG8gbm90aWZpY2F0aW9u
SURQYWlyID0gc3RkOjptYWtlX3BhaXIod2ViUGFnZS0+aWRlbnRpZmllcigpLCBwYWdlTm90aWZp
Y2F0aW9uSUQpOworICAgIGF1dG8gbm90aWZpY2F0aW9uID0gV2ViTm90aWZpY2F0aW9uOjpjcmVh
dGUobm90aWZpY2F0aW9uRGF0YSk7CisgICAgYXV0byBub3RpZmljYXRpb25JRFBhaXIgPSBzdGQ6
Om1ha2VfcGFpcih3ZWJQYWdlLT5pZGVudGlmaWVyKCksIG5vdGlmaWNhdGlvbkRhdGEubm90aWZp
Y2F0aW9uSUQpOwogICAgIG1fZ2xvYmFsTm90aWZpY2F0aW9uTWFwLnNldChnbG9iYWxOb3RpZmlj
YXRpb25JRCwgbm90aWZpY2F0aW9uSURQYWlyKTsKICAgICBtX25vdGlmaWNhdGlvbnMuc2V0KG5v
dGlmaWNhdGlvbklEUGFpciwgc3RkOjptYWtlX3BhaXIoZ2xvYmFsTm90aWZpY2F0aW9uSUQsIG5v
dGlmaWNhdGlvbi5jb3B5UmVmKCkpKTsKICAgICBtX3Byb3ZpZGVyLT5zaG93KCp3ZWJQYWdlLCBu
b3RpZmljYXRpb24uZ2V0KCkpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3Mv
Tm90aWZpY2F0aW9ucy9XZWJOb3RpZmljYXRpb25NYW5hZ2VyUHJveHkuaCBiL1NvdXJjZS9XZWJL
aXQvVUlQcm9jZXNzL05vdGlmaWNhdGlvbnMvV2ViTm90aWZpY2F0aW9uTWFuYWdlclByb3h5LmgK
aW5kZXggNDhhYjU4ZTgxY2Y3Li5kYWYzMzk3ZjM4ZDUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQvVUlQcm9jZXNzL05vdGlmaWNhdGlvbnMvV2ViTm90aWZpY2F0aW9uTWFuYWdlclByb3h5LmgK
KysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvTm90aWZpY2F0aW9ucy9XZWJOb3RpZmljYXRp
b25NYW5hZ2VyUHJveHkuaApAQCAtMzQsNyArMzQsNyBAQAogI2luY2x1ZGUgPHd0Zi90ZXh0L1N0
cmluZ0hhc2guaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewotZW51bSBjbGFzcyBOb3RpZmljYXRp
b25EaXJlY3Rpb24gOiB1aW50OF90Oworc3RydWN0IE5vdGlmaWNhdGlvbkRhdGE7CiB9CiAKIG5h
bWVzcGFjZSBBUEkgewpAQCAtNTksNyArNTksNyBAQCBwdWJsaWM6CiAgICAgdm9pZCBzZXRQcm92
aWRlcihzdGQ6OnVuaXF1ZV9wdHI8QVBJOjpOb3RpZmljYXRpb25Qcm92aWRlcj4mJik7CiAgICAg
SGFzaE1hcDxTdHJpbmcsIGJvb2w+IG5vdGlmaWNhdGlvblBlcm1pc3Npb25zKCk7CiAKLSAgICB2
b2lkIHNob3coV2ViUGFnZVByb3h5KiwgY29uc3QgU3RyaW5nJiB0aXRsZSwgY29uc3QgU3RyaW5n
JiBib2R5LCBjb25zdCBTdHJpbmcmIGljb25VUkwsIGNvbnN0IFN0cmluZyYgdGFnLCBjb25zdCBT
dHJpbmcmIGxhbmcsIFdlYkNvcmU6Ok5vdGlmaWNhdGlvbkRpcmVjdGlvbiwgY29uc3QgU3RyaW5n
JiBvcmlnaW5TdHJpbmcsIHVpbnQ2NF90IHBhZ2VOb3RpZmljYXRpb25JRCk7CisgICAgdm9pZCBz
aG93KFdlYlBhZ2VQcm94eSosIGNvbnN0IFdlYkNvcmU6Ok5vdGlmaWNhdGlvbkRhdGEmKTsKICAg
ICB2b2lkIGNhbmNlbChXZWJQYWdlUHJveHkqLCB1aW50NjRfdCBwYWdlTm90aWZpY2F0aW9uSUQp
OwogICAgIHZvaWQgY2xlYXJOb3RpZmljYXRpb25zKFdlYlBhZ2VQcm94eSopOwogICAgIHZvaWQg
Y2xlYXJOb3RpZmljYXRpb25zKFdlYlBhZ2VQcm94eSosIGNvbnN0IFZlY3Rvcjx1aW50NjRfdD4m
IHBhZ2VOb3RpZmljYXRpb25JRHMpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nl
c3MvV2ViUGFnZVByb3h5LmNwcCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94
eS5jcHAKaW5kZXggMTIwYjkwNDg3MmJkLi41ZmQ3ZjNhMmNjMDQgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5jcHAKKysrIGIvU291cmNlL1dlYktpdC9V
SVByb2Nlc3MvV2ViUGFnZVByb3h5LmNwcApAQCAtODczMyw5ICs4NzMzLDkgQEAgdm9pZCBXZWJQ
YWdlUHJveHk6OnJlcXVlc3ROb3RpZmljYXRpb25QZXJtaXNzaW9uKGNvbnN0IFN0cmluZyYgb3Jp
Z2luU3RyaW5nLCBDb20KICAgICBtX3VpQ2xpZW50LT5kZWNpZGVQb2xpY3lGb3JOb3RpZmljYXRp
b25QZXJtaXNzaW9uUmVxdWVzdCgqdGhpcywgb3JpZ2luLmdldCgpLCBXVEZNb3ZlKGNvbXBsZXRp
b25IYW5kbGVyKSk7CiB9CiAKLXZvaWQgV2ViUGFnZVByb3h5OjpzaG93Tm90aWZpY2F0aW9uKGNv
bnN0IFN0cmluZyYgdGl0bGUsIGNvbnN0IFN0cmluZyYgYm9keSwgY29uc3QgU3RyaW5nJiBpY29u
VVJMLCBjb25zdCBTdHJpbmcmIHRhZywgY29uc3QgU3RyaW5nJiBsYW5nLCBXZWJDb3JlOjpOb3Rp
ZmljYXRpb25EaXJlY3Rpb24gZGlyLCBjb25zdCBTdHJpbmcmIG9yaWdpblN0cmluZywgdWludDY0
X3Qgbm90aWZpY2F0aW9uSUQpCit2b2lkIFdlYlBhZ2VQcm94eTo6c2hvd05vdGlmaWNhdGlvbihj
b25zdCBXZWJDb3JlOjpOb3RpZmljYXRpb25EYXRhJiBub3RpZmljYXRpb25EYXRhKQogewotICAg
IG1fcHJvY2Vzcy0+cHJvY2Vzc1Bvb2woKS5zdXBwbGVtZW50PFdlYk5vdGlmaWNhdGlvbk1hbmFn
ZXJQcm94eT4oKS0+c2hvdyh0aGlzLCB0aXRsZSwgYm9keSwgaWNvblVSTCwgdGFnLCBsYW5nLCBk
aXIsIG9yaWdpblN0cmluZywgbm90aWZpY2F0aW9uSUQpOworICAgIG1fcHJvY2Vzcy0+cHJvY2Vz
c1Bvb2woKS5zdXBwbGVtZW50PFdlYk5vdGlmaWNhdGlvbk1hbmFnZXJQcm94eT4oKS0+c2hvdyh0
aGlzLCBub3RpZmljYXRpb25EYXRhKTsKIH0KIAogdm9pZCBXZWJQYWdlUHJveHk6OmNhbmNlbE5v
dGlmaWNhdGlvbih1aW50NjRfdCBub3RpZmljYXRpb25JRCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5oIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3Mv
V2ViUGFnZVByb3h5LmgKaW5kZXggM2IzNzYxYTdlNzcxLi4yNzBkNWRhY2JlMjggMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5oCisrKyBiL1NvdXJjZS9X
ZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5oCkBAIC0yMDMyLDcgKzIwMzIsNyBAQCBwdWJs
aWM6CiAgICAgYm9vbCBpc1F1YXJhbnRpbmVkQW5kTm90VXNlckFwcHJvdmVkKGNvbnN0IFN0cmlu
ZyYpOwogI2VuZGlmCiAKLSAgICB2b2lkIHNob3dOb3RpZmljYXRpb24oY29uc3QgU3RyaW5nJiB0
aXRsZSwgY29uc3QgU3RyaW5nJiBib2R5LCBjb25zdCBTdHJpbmcmIGljb25VUkwsIGNvbnN0IFN0
cmluZyYgdGFnLCBjb25zdCBTdHJpbmcmIGxhbmcsIFdlYkNvcmU6Ok5vdGlmaWNhdGlvbkRpcmVj
dGlvbiwgY29uc3QgU3RyaW5nJiBvcmlnaW5TdHJpbmcsIHVpbnQ2NF90IG5vdGlmaWNhdGlvbklE
KTsKKyAgICB2b2lkIHNob3dOb3RpZmljYXRpb24oY29uc3QgV2ViQ29yZTo6Tm90aWZpY2F0aW9u
RGF0YSYpOwogICAgIHZvaWQgY2FuY2VsTm90aWZpY2F0aW9uKHVpbnQ2NF90IG5vdGlmaWNhdGlv
bklEKTsKICAgICB2b2lkIGNsZWFyTm90aWZpY2F0aW9ucyhjb25zdCBWZWN0b3I8dWludDY0X3Q+
JiBub3RpZmljYXRpb25JRHMpOwogICAgIHZvaWQgZGlkRGVzdHJveU5vdGlmaWNhdGlvbih1aW50
NjRfdCBub3RpZmljYXRpb25JRCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nl
c3MvTm90aWZpY2F0aW9ucy9XZWJOb3RpZmljYXRpb25NYW5hZ2VyLmNwcCBiL1NvdXJjZS9XZWJL
aXQvV2ViUHJvY2Vzcy9Ob3RpZmljYXRpb25zL1dlYk5vdGlmaWNhdGlvbk1hbmFnZXIuY3BwCmlu
ZGV4IGUwMWQ5ZDY4NWJhMi4uOWEyMDE4OTJiMWMxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
L1dlYlByb2Nlc3MvTm90aWZpY2F0aW9ucy9XZWJOb3RpZmljYXRpb25NYW5hZ2VyLmNwcAorKysg
Yi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvTm90aWZpY2F0aW9ucy9XZWJOb3RpZmljYXRpb25N
YW5hZ2VyLmNwcApAQCAtMzksNiArMzksNyBAQAogI2luY2x1ZGUgIldlYlBhZ2VQcm94eU1lc3Nh
Z2VzLmgiCiAjaW5jbHVkZSA8V2ViQ29yZS9Eb2N1bWVudC5oPgogI2luY2x1ZGUgPFdlYkNvcmUv
Tm90aWZpY2F0aW9uLmg+CisjaW5jbHVkZSA8V2ViQ29yZS9Ob3RpZmljYXRpb25EYXRhLmg+CiAj
aW5jbHVkZSA8V2ViQ29yZS9QYWdlLmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9SdW50aW1lRW5hYmxl
ZEZlYXR1cmVzLmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9TY3JpcHRFeGVjdXRpb25Db250ZXh0Lmg+
CkBAIC0xNjMsNyArMTY0LDkgQEAgYm9vbCBXZWJOb3RpZmljYXRpb25NYW5hZ2VyOjpzaG93KE5v
dGlmaWNhdGlvbiogbm90aWZpY2F0aW9uLCBXZWJQYWdlKiBwYWdlKQogICAgIGF1dG8gaXQgPSBt
X25vdGlmaWNhdGlvbkNvbnRleHRNYXAuYWRkKG5vdGlmaWNhdGlvbi0+c2NyaXB0RXhlY3V0aW9u
Q29udGV4dCgpLCBWZWN0b3I8dWludDY0X3Q+KCkpLml0ZXJhdG9yOwogICAgIGl0LT52YWx1ZS5h
cHBlbmQobm90aWZpY2F0aW9uSUQpOwogCi0gICAgc2VuZE5vdGlmaWNhdGlvbk1lc3NhZ2UobV9w
cm9jZXNzLCBNZXNzYWdlczo6Tm90aWZpY2F0aW9uTWFuYWdlck1lc3NhZ2VIYW5kbGVyOjpTaG93
Tm90aWZpY2F0aW9uKG5vdGlmaWNhdGlvbi0+dGl0bGUoKSwgbm90aWZpY2F0aW9uLT5ib2R5KCks
IG5vdGlmaWNhdGlvbi0+aWNvbigpLnN0cmluZygpLCBub3RpZmljYXRpb24tPnRhZygpLCBub3Rp
ZmljYXRpb24tPmxhbmcoKSwgbm90aWZpY2F0aW9uLT5kaXIoKSwgbm90aWZpY2F0aW9uLT5zY3Jp
cHRFeGVjdXRpb25Db250ZXh0KCktPnNlY3VyaXR5T3JpZ2luKCktPnRvU3RyaW5nKCksIG5vdGlm
aWNhdGlvbklEKSwgKnBhZ2UpOworICAgIGF1dG8gbm90aWZpY2F0aW9uRGF0YSA9IG5vdGlmaWNh
dGlvbi0+ZGF0YVdpdGhvdXROb3RpZmljYXRpb25JRCgpOworICAgIG5vdGlmaWNhdGlvbkRhdGEu
bm90aWZpY2F0aW9uSUQgPSBub3RpZmljYXRpb25JRDsKKyAgICBzZW5kTm90aWZpY2F0aW9uTWVz
c2FnZShtX3Byb2Nlc3MsIE1lc3NhZ2VzOjpOb3RpZmljYXRpb25NYW5hZ2VyTWVzc2FnZUhhbmRs
ZXI6OlNob3dOb3RpZmljYXRpb24oV1RGTW92ZShub3RpZmljYXRpb25EYXRhKSksICpwYWdlKTsK
ICAgICByZXR1cm4gdHJ1ZTsKICNlbHNlCiAgICAgVU5VU0VEX1BBUkFNKG5vdGlmaWNhdGlvbik7
Cg==
</data>
<flag name="commit-queue"
          id="472898"
          type_id="3"
          status="-"
          setter="ews-feeder"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>447300</attachid>
            <date>2021-12-15 16:51:23 -0800</date>
            <delta_ts>2021-12-15 18:04:46 -0800</delta_ts>
            <desc>PFL v2</desc>
            <filename>patch</filename>
            <type>text/plain</type>
            <size>30083</size>
            <attacher name="Brady Eidson">beidson</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZwppbmRleCBjMzcyZjA3YjcxM2UuLmZhYjgxNjgxMjk3MiAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAt
MSwzICsxLDE5IEBACisyMDIxLTEyLTE1ICBCcmFkeSBFaWRzb24gIDxiZWlkc29uQGFwcGxlLmNv
bT4KKworICAgICAgICBBZGQgYSAiTm90aWZpY2F0aW9uRGF0YSIgb2JqZWN0IHRvIGVuY29tcGFz
cyBsb2NhbCBOb3RpZmljYXRpb24tcmVsYXRlZCBwYXJhbWV0ZXJzLCBpbnN0ZWFkIG9mIHBhc3Np
bmcgdG9ucyBvZiB0aGVtIGFyb3VuZCBldmVyeXdoZXJlLgorICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjM0MzcwCisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
VGltIEhvcnRvbi4KKworICAgICAgICBObyBiZWhhdmlvciBjaGFuZ2UuCisKKyAgICAgICAgKiBN
b2R1bGVzL25vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9uLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
Ok5vdGlmaWNhdGlvbjo6ZGF0YVdpdGhvdXROb3RpZmljYXRpb25JRCBjb25zdCk6CisgICAgICAg
ICogTW9kdWxlcy9ub3RpZmljYXRpb25zL05vdGlmaWNhdGlvbi5oOgorCisgICAgICAgICogU291
cmNlcy50eHQ6CisgICAgICAgICogV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qOgor
CiAyMDIxLTEyLTE1ICBCcmVudCBGdWxnaGFtICA8YmZ1bGdoYW1AYXBwbGUuY29tPgogCiAgICAg
ICAgIENsZWFuLXVwOiBBZG9wdCBQYWdlOjpmb3JFYWNoRG9jdW1lbnQgaW4gc29tZSBtaXNzZWQg
c3BvdHMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbm90aWZpY2F0aW9ucy9O
b3RpZmljYXRpb24uY3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9ub3RpZmljYXRpb25zL05v
dGlmaWNhdGlvbi5jcHAKaW5kZXggYjYzZmQwODA1YTFiLi4yODE3ZTIxZjA2ZTQgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbm90aWZpY2F0aW9ucy9Ob3RpZmljYXRpb24uY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbm90aWZpY2F0aW9ucy9Ob3RpZmljYXRpb24u
Y3BwCkBAIC00MSw2ICs0MSw3IEBACiAjaW5jbHVkZSAiSlNET01Qcm9taXNlRGVmZXJyZWQuaCIK
ICNpbmNsdWRlICJOb3RpZmljYXRpb25DbGllbnQuaCIKICNpbmNsdWRlICJOb3RpZmljYXRpb25D
b250cm9sbGVyLmgiCisjaW5jbHVkZSAiTm90aWZpY2F0aW9uRGF0YS5oIgogI2luY2x1ZGUgIk5v
dGlmaWNhdGlvblBlcm1pc3Npb25DYWxsYmFjay5oIgogI2luY2x1ZGUgIldpbmRvd0V2ZW50TG9v
cC5oIgogI2luY2x1ZGUgIldpbmRvd0ZvY3VzQWxsb3dlZEluZGljYXRvci5oIgpAQCAtMjI0LDYg
KzIyNSwyMCBAQCBib29sIE5vdGlmaWNhdGlvbjo6dmlydHVhbEhhc1BlbmRpbmdBY3Rpdml0eSgp
IGNvbnN0CiAgICAgcmV0dXJuIG1fc3RhdGUgPT0gU2hvd2luZyAmJiBtX2hhc1JlbGV2YW50RXZl
bnRMaXN0ZW5lcjsKIH0KIAorTm90aWZpY2F0aW9uRGF0YSBOb3RpZmljYXRpb246OmRhdGFXaXRo
b3V0Tm90aWZpY2F0aW9uSUQoKSBjb25zdAoreworICAgIHJldHVybiB7CisgICAgICAgIG1fdGl0
bGUsCisgICAgICAgIG1fYm9keSwKKyAgICAgICAgbV9pY29uLnN0cmluZygpLAorICAgICAgICBt
X3RhZywKKyAgICAgICAgbV9sYW5nLAorICAgICAgICBtX2RpcmVjdGlvbiwKKyAgICAgICAgc2Ny
aXB0RXhlY3V0aW9uQ29udGV4dCgpLT5zZWN1cml0eU9yaWdpbigpLT50b1N0cmluZygpLAorICAg
ICAgICAwCisgICAgfTsKK30KKwogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQogCiAjZW5kaWYgLy8g
RU5BQkxFKE5PVElGSUNBVElPTlMpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L25vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9uLmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL25v
dGlmaWNhdGlvbnMvTm90aWZpY2F0aW9uLmgKaW5kZXggNjUzOTE1MmU5OGM1Li5kMmM3ZDM3MWVl
NWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbm90aWZpY2F0aW9ucy9Ob3Rp
ZmljYXRpb24uaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL25vdGlmaWNhdGlvbnMvTm90
aWZpY2F0aW9uLmgKQEAgLTQ2LDYgKzQ2LDggQEAgY2xhc3MgRGVmZXJyZWRQcm9taXNlOwogY2xh
c3MgRG9jdW1lbnQ7CiBjbGFzcyBOb3RpZmljYXRpb25QZXJtaXNzaW9uQ2FsbGJhY2s7CiAKK3N0
cnVjdCBOb3RpZmljYXRpb25EYXRhOworCiBjbGFzcyBOb3RpZmljYXRpb24gZmluYWwgOiBwdWJs
aWMgUmVmQ291bnRlZDxOb3RpZmljYXRpb24+LCBwdWJsaWMgQWN0aXZlRE9NT2JqZWN0LCBwdWJs
aWMgRXZlbnRUYXJnZXRXaXRoSW5saW5lRGF0YSB7CiAgICAgV1RGX01BS0VfSVNPX0FMTE9DQVRF
RF9FWFBPUlQoTm90aWZpY2F0aW9uLCBXRUJDT1JFX0VYUE9SVCk7CiBwdWJsaWM6CkBAIC04Nyw2
ICs4OSw4IEBAIHB1YmxpYzoKIAogICAgIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqIHNjcmlwdEV4
ZWN1dGlvbkNvbnRleHQoKSBjb25zdCBmaW5hbCB7IHJldHVybiBBY3RpdmVET01PYmplY3Q6OnNj
cmlwdEV4ZWN1dGlvbkNvbnRleHQoKTsgfQogCisgICAgV0VCQ09SRV9FWFBPUlQgTm90aWZpY2F0
aW9uRGF0YSBkYXRhV2l0aG91dE5vdGlmaWNhdGlvbklEKCkgY29uc3Q7CisKICAgICB1c2luZyBS
ZWZDb3VudGVkOjpyZWY7CiAgICAgdXNpbmcgUmVmQ291bnRlZDo6ZGVyZWY7CiAKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbm90aWZpY2F0aW9ucy9Ob3RpZmljYXRpb25EYXRh
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbm90aWZpY2F0aW9ucy9Ob3RpZmljYXRpb25E
YXRhLmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAuLjYwNDcwODM1
NTk1MAotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbm90aWZpY2F0
aW9ucy9Ob3RpZmljYXRpb25EYXRhLmNwcApAQCAtMCwwICsxLDMxIEBACisvKgorICogQ29weXJp
Z2h0IChDKSAyMDIxIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRp
c3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdp
dGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBm
b2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBv
ZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3Rp
Y2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIu
CisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhl
IGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh
bmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBh
bmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAq
CisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05U
UklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5U
SUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJB
TlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAq
IFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1Ig
SVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwg
SU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1B
R0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNV
QlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRT
OyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5Z
IFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElB
QklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBB
UklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJ
RiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKwor
I2luY2x1ZGUgImNvbmZpZy5oIgorI2luY2x1ZGUgIk5vdGlmaWNhdGlvbkRhdGEuaCIKKworbmFt
ZXNwYWNlIFdlYkNvcmUgeworCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL25vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9uRGF0YS5oIGIv
U291cmNlL1dlYkNvcmUvTW9kdWxlcy9ub3RpZmljYXRpb25zL05vdGlmaWNhdGlvbkRhdGEuaApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAuLjQ4OTFjNDMzNTg3OQotLS0g
L2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbm90aWZpY2F0aW9ucy9Ob3Rp
ZmljYXRpb25EYXRhLmgKQEAgLTAsMCArMSwxMDcgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIw
MjEgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9u
IGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICog
bW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBj
b25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBj
b2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBs
aXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJl
ZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29w
eXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9s
bG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhl
ciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMg
U09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBg
YEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xV
RElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBN
RVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBB
UkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJ
QlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFM
LCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xV
RElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBH
T09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lO
RVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9G
IExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9S
IFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4g
QU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQg
T0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjcHJhZ21hIG9u
Y2UKKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitlbnVtIGNsYXNzIE5vdGlmaWNhdGlvbkRpcmVj
dGlvbiA6IHVpbnQ4X3Q7CisKK3N0cnVjdCBOb3RpZmljYXRpb25EYXRhIHsKKyAgICB0ZW1wbGF0
ZTxjbGFzcyBFbmNvZGVyPiB2b2lkIGVuY29kZShFbmNvZGVyJikgY29uc3Q7CisgICAgdGVtcGxh
dGU8Y2xhc3MgRGVjb2Rlcj4gc3RhdGljIHN0ZDo6b3B0aW9uYWw8Tm90aWZpY2F0aW9uRGF0YT4g
ZGVjb2RlKERlY29kZXImKTsKKworICAgIFN0cmluZyB0aXRsZTsKKyAgICBTdHJpbmcgYm9keTsK
KyAgICBTdHJpbmcgaWNvblVSTDsKKyAgICBTdHJpbmcgdGFnOworICAgIFN0cmluZyBsYW5ndWFn
ZTsKKyAgICBXZWJDb3JlOjpOb3RpZmljYXRpb25EaXJlY3Rpb24gZGlyZWN0aW9uOworICAgIFN0
cmluZyBvcmlnaW5TdHJpbmc7CisgICAgdWludDY0X3Qgbm90aWZpY2F0aW9uSUQ7Cit9OworCit0
ZW1wbGF0ZTxjbGFzcyBFbmNvZGVyPgordm9pZCBOb3RpZmljYXRpb25EYXRhOjplbmNvZGUoRW5j
b2RlciYgZW5jb2RlcikgY29uc3QKK3sKKyAgICBlbmNvZGVyIDw8IHRpdGxlIDw8IGJvZHkgPDwg
aWNvblVSTCA8PCB0YWcgPDwgbGFuZ3VhZ2UgPDwgZGlyZWN0aW9uIDw8IG9yaWdpblN0cmluZyA8
PCBub3RpZmljYXRpb25JRDsKK30KKwordGVtcGxhdGU8Y2xhc3MgRGVjb2Rlcj4KK3N0ZDo6b3B0
aW9uYWw8Tm90aWZpY2F0aW9uRGF0YT4gTm90aWZpY2F0aW9uRGF0YTo6ZGVjb2RlKERlY29kZXIm
IGRlY29kZXIpCit7CisgICAgc3RkOjpvcHRpb25hbDxTdHJpbmc+IHRpdGxlOworICAgIGRlY29k
ZXIgPj4gdGl0bGU7CisgICAgaWYgKCF0aXRsZSkKKyAgICAgICAgcmV0dXJuIHN0ZDo6bnVsbG9w
dDsKKworICAgIHN0ZDo6b3B0aW9uYWw8U3RyaW5nPiBib2R5OworICAgIGRlY29kZXIgPj4gYm9k
eTsKKyAgICBpZiAoIWJvZHkpCisgICAgICAgIHJldHVybiBzdGQ6Om51bGxvcHQ7CisKKyAgICBz
dGQ6Om9wdGlvbmFsPFN0cmluZz4gaWNvblVSTDsKKyAgICBkZWNvZGVyID4+IGljb25VUkw7Cisg
ICAgaWYgKCFpY29uVVJMKQorICAgICAgICByZXR1cm4gc3RkOjpudWxsb3B0OworCisgICAgc3Rk
OjpvcHRpb25hbDxTdHJpbmc+IHRhZzsKKyAgICBkZWNvZGVyID4+IHRhZzsKKyAgICBpZiAoIXRh
ZykKKyAgICAgICAgcmV0dXJuIHN0ZDo6bnVsbG9wdDsKKworICAgIHN0ZDo6b3B0aW9uYWw8U3Ry
aW5nPiBsYW5ndWFnZTsKKyAgICBkZWNvZGVyID4+IGxhbmd1YWdlOworICAgIGlmICghbGFuZ3Vh
Z2UpCisgICAgICAgIHJldHVybiBzdGQ6Om51bGxvcHQ7CisKKyAgICBzdGQ6Om9wdGlvbmFsPFdl
YkNvcmU6Ok5vdGlmaWNhdGlvbkRpcmVjdGlvbj4gZGlyZWN0aW9uOworICAgIGRlY29kZXIgPj4g
ZGlyZWN0aW9uOworICAgIGlmICghZGlyZWN0aW9uKQorICAgICAgICByZXR1cm4gc3RkOjpudWxs
b3B0OworCisgICAgc3RkOjpvcHRpb25hbDxTdHJpbmc+IG9yaWdpblN0cmluZzsKKyAgICBkZWNv
ZGVyID4+IG9yaWdpblN0cmluZzsKKyAgICBpZiAoIW9yaWdpblN0cmluZykKKyAgICAgICAgcmV0
dXJuIHN0ZDo6bnVsbG9wdDsKKworICAgIHN0ZDo6b3B0aW9uYWw8dWludDY0X3Q+IG5vdGlmaWNh
dGlvbklEOworICAgIGRlY29kZXIgPj4gbm90aWZpY2F0aW9uSUQ7CisgICAgaWYgKCFub3RpZmlj
YXRpb25JRCkKKyAgICAgICAgcmV0dXJuIHN0ZDo6bnVsbG9wdDsKKworICAgIHJldHVybiB7IHsK
KyAgICAgICAgV1RGTW92ZSgqdGl0bGUpLAorICAgICAgICBXVEZNb3ZlKCpib2R5KSwKKyAgICAg
ICAgV1RGTW92ZSgqaWNvblVSTCksCisgICAgICAgIFdURk1vdmUoKnRhZyksCisgICAgICAgIFdU
Rk1vdmUoKmxhbmd1YWdlKSwKKyAgICAgICAgV1RGTW92ZSgqZGlyZWN0aW9uKSwKKyAgICAgICAg
V1RGTW92ZSgqb3JpZ2luU3RyaW5nKSwKKyAgICAgICAgV1RGTW92ZSgqbm90aWZpY2F0aW9uSUQp
LAorICAgIH0gfTsKK30KKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvU291cmNlcy50eHQgYi9Tb3VyY2UvV2ViQ29yZS9Tb3VyY2VzLnR4dAppbmRl
eCA5MmRmNDIyYzM1NDEuLmEyNTQ3MWUxNWJkNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
U291cmNlcy50eHQKKysrIGIvU291cmNlL1dlYkNvcmUvU291cmNlcy50eHQKQEAgLTI0Miw2ICsy
NDIsNyBAQCBNb2R1bGVzL21vZGVsLWVsZW1lbnQvZHVtbXkvRHVtbXlNb2RlbFBsYXllci5jcHAK
IE1vZHVsZXMvbW9kZWwtZWxlbWVudC9kdW1teS9EdW1teU1vZGVsUGxheWVyUHJvdmlkZXIuY3Bw
CiBNb2R1bGVzL25vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9uLmNwcAogTW9kdWxlcy9ub3RpZmlj
YXRpb25zL05vdGlmaWNhdGlvbkNvbnRyb2xsZXIuY3BwCitNb2R1bGVzL25vdGlmaWNhdGlvbnMv
Tm90aWZpY2F0aW9uRGF0YS5jcHAKIE1vZHVsZXMvcGF5bWVudHJlcXVlc3QvTWVyY2hhbnRWYWxp
ZGF0aW9uRXZlbnQuY3BwCiBNb2R1bGVzL3BheW1lbnRyZXF1ZXN0L1BheW1lbnRBZGRyZXNzLmNw
cAogTW9kdWxlcy9wYXltZW50cmVxdWVzdC9QYXltZW50SGFuZGxlci5jcHAKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvaiBiL1NvdXJj
ZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagppbmRleCA0ZTE2YTEw
NDM3MWEuLjU4YjhhNjE1NDRkNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54
Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCisrKyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNv
ZGVwcm9qL3Byb2plY3QucGJ4cHJvagpAQCAtMTUyMCw2ICsxNTIwLDcgQEAKIAkJNTEwRDRBMzcx
MDMxNjVFRTAwNDlFQTU0IC8qIFNvY2tldFN0cmVhbUhhbmRsZS5oIGluIEhlYWRlcnMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNTEwRDRBMzExMDMxNjVFRTAwNDlFQTU0IC8q
IFNvY2tldFN0cmVhbUhhbmRsZS5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZh
dGUsICk7IH07IH07CiAJCTUxMEQ0QTM4MTAzMTY1RUUwMDQ5RUE1NCAvKiBTb2NrZXRTdHJlYW1I
YW5kbGVDbGllbnQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IDUxMEQ0QTMyMTAzMTY1RUUwMDQ5RUE1NCAvKiBTb2NrZXRTdHJlYW1IYW5kbGVDbGllbnQu
aCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQk1MTEw
RkNGQzFFMDM2NDFEMDA2RjhEMEIgLyogSURCQ3Vyc29yUmVjb3JkLmggaW4gSGVhZGVycyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1MTEwRkNGQjFFMDM2MkE1MDA2RjhEMEIg
LyogSURCQ3Vyc29yUmVjb3JkLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0
ZSwgKTsgfTsgfTsKKwkJNTExMjNFMkYyNzY5NDBDQTAwRjlENDFCIC8qIE5vdGlmaWNhdGlvbkRh
dGEuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDUxMTIz
RTJDMjc2OTNDMzIwMEY5RDQxQiAvKiBOb3RpZmljYXRpb25EYXRhLmggKi87IHNldHRpbmdzID0g
e0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJNTExN0YzMEUyNUU2MTAyMDAwMkE5
RjFFIC8qIFJlbW90ZUNvbW1hbmRMaXN0ZW5lckNvY29hLmggaW4gSGVhZGVycyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1MTE3RjMwQzI1RTYxMDFGMDAyQTlGMUUgLyogUmVt
b3RlQ29tbWFuZExpc3RlbmVyQ29jb2EuaCAqLzsgfTsKIAkJNTExRUMxMjgxQzUwQUFDQTAwMzJG
OTgzIC8qIElEQlNlcmlhbGl6YXRpb24uaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IDUxMUVDMTI2MUM1MEFBNTcwMDMyRjk4MyAvKiBJREJTZXJpYWxpemF0
aW9uLmggKi87IH07CiAJCTUxMUVDMTJDMUM1MEFCQkYwMDMyRjk4MyAvKiBTUUxpdGVJREJUcmFu
c2FjdGlvbi5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
NTExRUMxMkExQzUwQUJCQTAwMzJGOTgzIC8qIFNRTGl0ZUlEQlRyYW5zYWN0aW9uLmggKi87IH07
CkBAIC05NTUxLDYgKzk1NTIsOCBAQAogCQk1MTBENEEzMTEwMzE2NUVFMDA0OUVBNTQgLyogU29j
a2V0U3RyZWFtSGFuZGxlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29k
aW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFNvY2tl
dFN0cmVhbUhhbmRsZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk1MTBENEEzMjEw
MzE2NUVFMDA0OUVBNTQgLyogU29ja2V0U3RyZWFtSGFuZGxlQ2xpZW50LmggKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFNvY2tldFN0cmVhbUhhbmRsZUNsaWVudC5oOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OwogCQk1MTEwRkNGQjFFMDM2MkE1MDA2RjhEMEIgLyogSURCQ3Vy
c29yUmVjb3JkLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
NDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IElEQkN1cnNvclJl
Y29yZC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk1MTEyM0UyQzI3NjkzQzMyMDBG
OUQ0MUIgLyogTm90aWZpY2F0aW9uRGF0YS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBh
dGggPSBOb3RpZmljYXRpb25EYXRhLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTUx
MTIzRTJFMjc2OTNDMzMwMEY5RDQxQiAvKiBOb3RpZmljYXRpb25EYXRhLmNwcCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IE5vdGlmaWNhdGlvbkRhdGEuY3BwOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OwogCQk1MTE3RjMwQTI1RTYxMDFFMDAyQTlGMUUgLyogUmVtb3Rl
Q29tbWFuZExpc3RlbmVyQ29jb2EubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmls
ZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7
IHBhdGggPSBSZW1vdGVDb21tYW5kTGlzdGVuZXJDb2NvYS5tbTsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKIAkJNTExN0YzMEMyNUU2MTAxRjAwMkE5RjFFIC8qIFJlbW90ZUNvbW1hbmRMaXN0
ZW5lckNvY29hLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
NDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFJlbW90ZUNvbW1h
bmRMaXN0ZW5lckNvY29hLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTUxMUVDMTI1
MUM1MEFBNTcwMDMyRjk4MyAvKiBJREJTZXJpYWxpemF0aW9uLmNwcCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuY3BwLmNwcDsgcGF0aCA9IElEQlNlcmlhbGl6YXRpb24uY3BwOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OwpAQCAtMjA3MDgsNiArMjA3MTEsOCBAQAogCQkJCTMzNTAzQzk5MTAxNzlB
NzQwMDNCNDdFMSAvKiBOb3RpZmljYXRpb25DbGllbnQuaCAqLywKIAkJCQkzMTI4Q0E2NzE0NzMz
MTUyMDA3NEM3MkEgLyogTm90aWZpY2F0aW9uQ29udHJvbGxlci5jcHAgKi8sCiAJCQkJMzEyOENB
NkExNDczMzE2MzAwNzRDNzJBIC8qIE5vdGlmaWNhdGlvbkNvbnRyb2xsZXIuaCAqLywKKwkJCQk1
MTEyM0UyRTI3NjkzQzMzMDBGOUQ0MUIgLyogTm90aWZpY2F0aW9uRGF0YS5jcHAgKi8sCisJCQkJ
NTExMjNFMkMyNzY5M0MzMjAwRjlENDFCIC8qIE5vdGlmaWNhdGlvbkRhdGEuaCAqLywKIAkJCQk3
Q0MyREUwMjFFQ0EwNEE1MDAyN0I3NzQgLyogTm90aWZpY2F0aW9uRGlyZWN0aW9uLmggKi8sCiAJ
CQkJN0NDMkRERjgxRUM5NDE1QTAwMjdCNzc0IC8qIE5vdGlmaWNhdGlvblBlcm1pc3Npb24uaCAq
LywKIAkJCQk3Q0MyRERGQTFFQzk0MTVBMDAyN0I3NzQgLyogTm90aWZpY2F0aW9uUGVybWlzc2lv
bi5pZGwgKi8sCkBAIC0zNzA2MSw2ICszNzA2Niw3IEBACiAJCQkJN0U0NzRFMUUxMjQ5NERDOTAw
MjM1MzY0IC8qIFNRTGl0ZURhdGFiYXNlVHJhY2tlckNsaWVudC5oIGluIEhlYWRlcnMgKi8sCiAJ
CQkJQjVBNjg0MjIwRkZBQkU5ODAwRDI0Njg5IC8qIFNRTGl0ZUZpbGVTeXN0ZW0uaCBpbiBIZWFk
ZXJzICovLAogCQkJCTUxMkJEQjRCMUM0NTZGRkEwMDY0OTRERiAvKiBTUUxpdGVJREJCYWNraW5n
U3RvcmUuaCBpbiBIZWFkZXJzICovLAorCQkJCTUxMTIzRTJGMjc2OTQwQ0EwMEY5RDQxQiAvKiBO
b3RpZmljYXRpb25EYXRhLmggaW4gSGVhZGVycyAqLywKIAkJCQk1MTFFQzEzMDFDNTBBQkY1MDAz
MkY5ODMgLyogU1FMaXRlSURCQ3Vyc29yLmggaW4gSGVhZGVycyAqLywKIAkJCQk1MTFFQzEyQzFD
NTBBQkJGMDAzMkY5ODMgLyogU1FMaXRlSURCVHJhbnNhY3Rpb24uaCBpbiBIZWFkZXJzICovLAog
CQkJCTFBMjI0NjRDMENDOThEREIwMEMwNTI0MCAvKiBTUUxpdGVTdGF0ZW1lbnQuaCBpbiBIZWFk
ZXJzICovLApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2Vi
S2l0L0NoYW5nZUxvZwppbmRleCAzYzQzNDIzMzI5MDUuLjI5MzNhZTEwNDFjMyAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cK
QEAgLTEsMyArMSwzNyBAQAorMjAyMS0xMi0xNSAgQnJhZHkgRWlkc29uICA8YmVpZHNvbkBhcHBs
ZS5jb20+CisKKyAgICAgICAgQWRkIGEgIk5vdGlmaWNhdGlvbkRhdGEiIG9iamVjdCB0byBlbmNv
bXBhc3MgbG9jYWwgTm90aWZpY2F0aW9uLXJlbGF0ZWQgcGFyYW1ldGVycywgaW5zdGVhZCBvZiBw
YXNzaW5nIHRvbnMgb2YgdGhlbSBhcm91bmQgZXZlcnl3aGVyZS4KKyAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIzNDM3MAorCisgICAgICAgIFJldmlld2Vk
IGJ5IFRpbSBIb3J0b24uCisKKyAgICAgICAgKiBOZXR3b3JrUHJvY2Vzcy9Ob3RpZmljYXRpb25z
L05ldHdvcmtOb3RpZmljYXRpb25NYW5hZ2VyLmNwcDoKKyAgICAgICAgKFdlYktpdDo6TmV0d29y
a05vdGlmaWNhdGlvbk1hbmFnZXI6OnNob3dOb3RpZmljYXRpb24pOgorICAgICAgICAqIE5ldHdv
cmtQcm9jZXNzL05vdGlmaWNhdGlvbnMvTmV0d29ya05vdGlmaWNhdGlvbk1hbmFnZXIuaDoKKwor
ICAgICAgICAqIFNoYXJlZC9Ob3RpZmljYXRpb25zL05vdGlmaWNhdGlvbk1hbmFnZXJNZXNzYWdl
SGFuZGxlci5oOgorICAgICAgICAqIFNoYXJlZC9Ob3RpZmljYXRpb25zL05vdGlmaWNhdGlvbk1h
bmFnZXJNZXNzYWdlSGFuZGxlci5tZXNzYWdlcy5pbjoKKworICAgICAgICAqIFVJUHJvY2Vzcy9O
b3RpZmljYXRpb25zL1dlYk5vdGlmaWNhdGlvbi5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYk5v
dGlmaWNhdGlvbjo6V2ViTm90aWZpY2F0aW9uKToKKyAgICAgICAgKiBVSVByb2Nlc3MvTm90aWZp
Y2F0aW9ucy9XZWJOb3RpZmljYXRpb24uaDoKKyAgICAgICAgKFdlYktpdDo6V2ViTm90aWZpY2F0
aW9uOjpjcmVhdGUpOgorCisgICAgICAgICogVUlQcm9jZXNzL05vdGlmaWNhdGlvbnMvV2ViTm90
aWZpY2F0aW9uTWFuYWdlck1lc3NhZ2VIYW5kbGVyLmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2Vi
Tm90aWZpY2F0aW9uTWFuYWdlck1lc3NhZ2VIYW5kbGVyOjpzaG93Tm90aWZpY2F0aW9uKToKKyAg
ICAgICAgKiBVSVByb2Nlc3MvTm90aWZpY2F0aW9ucy9XZWJOb3RpZmljYXRpb25NYW5hZ2VyTWVz
c2FnZUhhbmRsZXIuaDoKKworICAgICAgICAqIFVJUHJvY2Vzcy9Ob3RpZmljYXRpb25zL1dlYk5v
dGlmaWNhdGlvbk1hbmFnZXJQcm94eS5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYk5vdGlmaWNh
dGlvbk1hbmFnZXJQcm94eTo6c2hvdyk6CisgICAgICAgICogVUlQcm9jZXNzL05vdGlmaWNhdGlv
bnMvV2ViTm90aWZpY2F0aW9uTWFuYWdlclByb3h5Lmg6CisKKyAgICAgICAgKiBVSVByb2Nlc3Mv
V2ViUGFnZVByb3h5LmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViUGFnZVByb3h5OjpzaG93Tm90
aWZpY2F0aW9uKToKKyAgICAgICAgKiBVSVByb2Nlc3MvV2ViUGFnZVByb3h5Lmg6CisKKyAgICAg
ICAgKiBXZWJQcm9jZXNzL05vdGlmaWNhdGlvbnMvV2ViTm90aWZpY2F0aW9uTWFuYWdlci5jcHA6
CisgICAgICAgIChXZWJLaXQ6OldlYk5vdGlmaWNhdGlvbk1hbmFnZXI6OnNob3cpOgorCiAyMDIx
LTEyLTE1ICBBbGV4IENocmlzdGVuc2VuICA8YWNocmlzdGVuc2VuQHdlYmtpdC5vcmc+CiAKICAg
ICAgICAgUmVtb3ZlIFByb3h5U2VydmVyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L05ldHdv
cmtQcm9jZXNzL05vdGlmaWNhdGlvbnMvTmV0d29ya05vdGlmaWNhdGlvbk1hbmFnZXIuY3BwIGIv
U291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9Ob3RpZmljYXRpb25zL05ldHdvcmtOb3RpZmlj
YXRpb25NYW5hZ2VyLmNwcAppbmRleCBlMWEwMTg3YzE0MjYuLjYyNDkwMGVmZDRmZCAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9Ob3RpZmljYXRpb25zL05ldHdvcmtO
b3RpZmljYXRpb25NYW5hZ2VyLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNz
L05vdGlmaWNhdGlvbnMvTmV0d29ya05vdGlmaWNhdGlvbk1hbmFnZXIuY3BwCkBAIC05OCw3ICs5
OCw3IEBAIHZvaWQgTmV0d29ya05vdGlmaWNhdGlvbk1hbmFnZXI6OmdldFBlbmRpbmdQdXNoTWVz
c2FnZXMoQ29tcGxldGlvbkhhbmRsZXI8dm9pZChjCiAgICAgc2VuZE1lc3NhZ2VXaXRoUmVwbHk8
V2ViUHVzaEQ6Ok1lc3NhZ2VUeXBlOjpHZXRQZW5kaW5nUHVzaE1lc3NhZ2VzPihXVEZNb3ZlKHJl
cGx5SGFuZGxlcikpOwogfQogCi12b2lkIE5ldHdvcmtOb3RpZmljYXRpb25NYW5hZ2VyOjpzaG93
Tm90aWZpY2F0aW9uKGNvbnN0IFN0cmluZyYsIGNvbnN0IFN0cmluZyYsIGNvbnN0IFN0cmluZyYs
IGNvbnN0IFN0cmluZyYsIGNvbnN0IFN0cmluZyYsIFdlYkNvcmU6Ok5vdGlmaWNhdGlvbkRpcmVj
dGlvbiwgY29uc3QgU3RyaW5nJiwgdWludDY0X3QpCit2b2lkIE5ldHdvcmtOb3RpZmljYXRpb25N
YW5hZ2VyOjpzaG93Tm90aWZpY2F0aW9uKGNvbnN0IFdlYkNvcmU6Ok5vdGlmaWNhdGlvbkRhdGEm
KQogewogICAgIGlmICghbV9jb25uZWN0aW9uKQogICAgICAgICByZXR1cm47CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL05vdGlmaWNhdGlvbnMvTmV0d29ya05vdGlm
aWNhdGlvbk1hbmFnZXIuaCBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvTm90aWZpY2F0
aW9ucy9OZXR3b3JrTm90aWZpY2F0aW9uTWFuYWdlci5oCmluZGV4IGRmZmY1ZGJmMDIxNi4uMDUz
ZjMwYTE1ZWFhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL05vdGlm
aWNhdGlvbnMvTmV0d29ya05vdGlmaWNhdGlvbk1hbmFnZXIuaAorKysgYi9Tb3VyY2UvV2ViS2l0
L05ldHdvcmtQcm9jZXNzL05vdGlmaWNhdGlvbnMvTmV0d29ya05vdGlmaWNhdGlvbk1hbmFnZXIu
aApAQCAtNTksNyArNTksNyBAQCBwcml2YXRlOgogICAgIE5ldHdvcmtOb3RpZmljYXRpb25NYW5h
Z2VyKE5ldHdvcmtTZXNzaW9uJiwgY29uc3QgU3RyaW5nJiB3ZWJQdXNoTWFjaFNlcnZpY2VOYW1l
KTsKIAogICAgIHZvaWQgcmVxdWVzdFN5c3RlbU5vdGlmaWNhdGlvblBlcm1pc3Npb24oY29uc3Qg
U3RyaW5nJiBvcmlnaW5TdHJpbmcsIENvbXBsZXRpb25IYW5kbGVyPHZvaWQoYm9vbCk+JiYpIGZp
bmFsOwotICAgIHZvaWQgc2hvd05vdGlmaWNhdGlvbihjb25zdCBTdHJpbmcmIHRpdGxlLCBjb25z
dCBTdHJpbmcmIGJvZHksIGNvbnN0IFN0cmluZyYgaWNvblVSTCwgY29uc3QgU3RyaW5nJiB0YWcs
IGNvbnN0IFN0cmluZyYgbGFuZywgV2ViQ29yZTo6Tm90aWZpY2F0aW9uRGlyZWN0aW9uLCBjb25z
dCBTdHJpbmcmIG9yaWdpblN0cmluZywgdWludDY0X3Qgbm90aWZpY2F0aW9uSUQpIGZpbmFsOwor
ICAgIHZvaWQgc2hvd05vdGlmaWNhdGlvbihjb25zdCBXZWJDb3JlOjpOb3RpZmljYXRpb25EYXRh
JikgZmluYWw7CiAgICAgdm9pZCBjYW5jZWxOb3RpZmljYXRpb24odWludDY0X3Qgbm90aWZpY2F0
aW9uSUQpIGZpbmFsOwogICAgIHZvaWQgY2xlYXJOb3RpZmljYXRpb25zKGNvbnN0IFZlY3Rvcjx1
aW50NjRfdD4mIG5vdGlmaWNhdGlvbklEcykgZmluYWw7CiAgICAgdm9pZCBkaWREZXN0cm95Tm90
aWZpY2F0aW9uKHVpbnQ2NF90IG5vdGlmaWNhdGlvbklEKSBmaW5hbDsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQvU2hhcmVkL05vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9uTWFuYWdlck1lc3Nh
Z2VIYW5kbGVyLmggYi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9Ob3RpZmljYXRpb25zL05vdGlmaWNh
dGlvbk1hbmFnZXJNZXNzYWdlSGFuZGxlci5oCmluZGV4IGUxMDkyMGU5MGQ5YS4uZTIxMmVkMWZk
NjJjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9Ob3RpZmljYXRpb25zL05vdGlm
aWNhdGlvbk1hbmFnZXJNZXNzYWdlSGFuZGxlci5oCisrKyBiL1NvdXJjZS9XZWJLaXQvU2hhcmVk
L05vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9uTWFuYWdlck1lc3NhZ2VIYW5kbGVyLmgKQEAgLTI5
LDYgKzI5LDEwIEBACiAjaW5jbHVkZSAiV2ViUGFnZVByb3h5SWRlbnRpZmllci5oIgogI2luY2x1
ZGUgPFdlYkNvcmUvTm90aWZpY2F0aW9uRGlyZWN0aW9uLmg+CiAKK25hbWVzcGFjZSBXZWJDb3Jl
IHsKK3N0cnVjdCBOb3RpZmljYXRpb25EYXRhOworfQorCiBuYW1lc3BhY2UgV2ViS2l0IHsKIAog
Y2xhc3MgTm90aWZpY2F0aW9uTWFuYWdlck1lc3NhZ2VIYW5kbGVyIDogcHVibGljIElQQzo6TWVz
c2FnZVJlY2VpdmVyIHsKQEAgLTM2LDcgKzQwLDcgQEAgcHVibGljOgogICAgIHZpcnR1YWwgfk5v
dGlmaWNhdGlvbk1hbmFnZXJNZXNzYWdlSGFuZGxlcigpID0gZGVmYXVsdDsKIAogICAgIHZpcnR1
YWwgdm9pZCByZXF1ZXN0U3lzdGVtTm90aWZpY2F0aW9uUGVybWlzc2lvbihjb25zdCBTdHJpbmcm
IHNlY3VyaXR5T3JpZ2luLCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKGJvb2wpPiYmKSA9IDA7Ci0g
ICAgdmlydHVhbCB2b2lkIHNob3dOb3RpZmljYXRpb24oY29uc3QgU3RyaW5nJiB0aXRsZSwgY29u
c3QgU3RyaW5nJiBib2R5LCBjb25zdCBTdHJpbmcmIGljb25VUkwsIGNvbnN0IFN0cmluZyYgdGFn
LCBjb25zdCBTdHJpbmcmIGxhbmd1YWdlLCBXZWJDb3JlOjpOb3RpZmljYXRpb25EaXJlY3Rpb24s
IGNvbnN0IFN0cmluZyYgb3JpZ2luU3RyaW5nLCB1aW50NjRfdCBub3RpZmljYXRpb25JRCkgPSAw
OworICAgIHZpcnR1YWwgdm9pZCBzaG93Tm90aWZpY2F0aW9uKGNvbnN0IFdlYkNvcmU6Ok5vdGlm
aWNhdGlvbkRhdGEmKSA9IDA7CiAgICAgdmlydHVhbCB2b2lkIGNhbmNlbE5vdGlmaWNhdGlvbih1
aW50NjRfdCBub3RpZmljYXRpb25JRCkgPSAwOwogICAgIHZpcnR1YWwgdm9pZCBjbGVhck5vdGlm
aWNhdGlvbnMoY29uc3QgVmVjdG9yPHVpbnQ2NF90PiYgbm90aWZpY2F0aW9uSURzKSA9IDA7CiAg
ICAgdmlydHVhbCB2b2lkIGRpZERlc3Ryb3lOb3RpZmljYXRpb24odWludDY0X3Qgbm90aWZpY2F0
aW9uSUQpID0gMDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvU2hhcmVkL05vdGlmaWNhdGlv
bnMvTm90aWZpY2F0aW9uTWFuYWdlck1lc3NhZ2VIYW5kbGVyLm1lc3NhZ2VzLmluIGIvU291cmNl
L1dlYktpdC9TaGFyZWQvTm90aWZpY2F0aW9ucy9Ob3RpZmljYXRpb25NYW5hZ2VyTWVzc2FnZUhh
bmRsZXIubWVzc2FnZXMuaW4KaW5kZXggZDU4OTBlZGMzZDUyLi5hYmNmOTc0NmIwNDkgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQvU2hhcmVkL05vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9uTWFu
YWdlck1lc3NhZ2VIYW5kbGVyLm1lc3NhZ2VzLmluCisrKyBiL1NvdXJjZS9XZWJLaXQvU2hhcmVk
L05vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9uTWFuYWdlck1lc3NhZ2VIYW5kbGVyLm1lc3NhZ2Vz
LmluCkBAIC0yMiw3ICsyMiw3IEBACiAKIG1lc3NhZ2VzIC0+IE5vdGlmaWNhdGlvbk1hbmFnZXJN
ZXNzYWdlSGFuZGxlciBOb3RSZWZDb3VudGVkIHsKICAgICBSZXF1ZXN0U3lzdGVtTm90aWZpY2F0
aW9uUGVybWlzc2lvbihTdHJpbmcgb3JpZ2luSWRlbnRpZmllcikgLT4gKGJvb2wgYWxsb3dlZCkg
QXN5bmMKLSAgICBTaG93Tm90aWZpY2F0aW9uKFN0cmluZyB0aXRsZSwgU3RyaW5nIGJvZHksIFN0
cmluZyBpY29uVVJMLCBTdHJpbmcgdGFnLCBTdHJpbmcgbGFuZ3VhZ2UsIGVudW06dWludDhfdCBX
ZWJDb3JlOjpOb3RpZmljYXRpb25EaXJlY3Rpb24gZGlyZWN0aW9uLCBTdHJpbmcgb3JpZ2luSWRl
bnRpZmllciwgdWludDY0X3Qgbm90aWZpY2F0aW9uSUQpCisgICAgU2hvd05vdGlmaWNhdGlvbihz
dHJ1Y3QgV2ViQ29yZTo6Tm90aWZpY2F0aW9uRGF0YSBub3RpZmljYXRpb25EYXRhKQogICAgIENh
bmNlbE5vdGlmaWNhdGlvbih1aW50NjRfdCBub3RpZmljYXRpb25JRCkKICAgICBDbGVhck5vdGlm
aWNhdGlvbnMoVmVjdG9yPHVpbnQ2NF90PiBub3RpZmljYXRpb25JRHMpCiAgICAgRGlkRGVzdHJv
eU5vdGlmaWNhdGlvbih1aW50NjRfdCBub3RpZmljYXRpb25JRCkKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQvVUlQcm9jZXNzL05vdGlmaWNhdGlvbnMvV2ViTm90aWZpY2F0aW9uLmNwcCBiL1Nv
dXJjZS9XZWJLaXQvVUlQcm9jZXNzL05vdGlmaWNhdGlvbnMvV2ViTm90aWZpY2F0aW9uLmNwcApp
bmRleCA3NGUyYjdlOGJkODYuLjA4YTZmNmUyZjRiZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dC9VSVByb2Nlc3MvTm90aWZpY2F0aW9ucy9XZWJOb3RpZmljYXRpb24uY3BwCisrKyBiL1NvdXJj
ZS9XZWJLaXQvVUlQcm9jZXNzL05vdGlmaWNhdGlvbnMvV2ViTm90aWZpY2F0aW9uLmNwcApAQCAt
MjYsMTcgKzI2LDE5IEBACiAjaW5jbHVkZSAiY29uZmlnLmgiCiAjaW5jbHVkZSAiV2ViTm90aWZp
Y2F0aW9uLmgiCiAKKyNpbmNsdWRlIDxXZWJDb3JlL05vdGlmaWNhdGlvbkRhdGEuaD4KKwogbmFt
ZXNwYWNlIFdlYktpdCB7CiAKLVdlYk5vdGlmaWNhdGlvbjo6V2ViTm90aWZpY2F0aW9uKGNvbnN0
IFN0cmluZyYgdGl0bGUsIGNvbnN0IFN0cmluZyYgYm9keSwgY29uc3QgU3RyaW5nJiBpY29uVVJM
LCBjb25zdCBTdHJpbmcmIHRhZywgY29uc3QgU3RyaW5nJiBsYW5nLCBXZWJDb3JlOjpOb3RpZmlj
YXRpb25EaXJlY3Rpb24gZGlyLCBjb25zdCBTdHJpbmcmIG9yaWdpblN0cmluZywgdWludDY0X3Qg
bm90aWZpY2F0aW9uSUQpCi0gICAgOiBtX3RpdGxlKHRpdGxlKQotICAgICwgbV9ib2R5KGJvZHkp
Ci0gICAgLCBtX2ljb25VUkwoaWNvblVSTCkKLSAgICAsIG1fdGFnKHRhZykKLSAgICAsIG1fbGFu
ZyhsYW5nKQotICAgICwgbV9kaXIoZGlyKQotICAgICwgbV9vcmlnaW4oQVBJOjpTZWN1cml0eU9y
aWdpbjo6Y3JlYXRlRnJvbVN0cmluZyhvcmlnaW5TdHJpbmcpKQotICAgICwgbV9ub3RpZmljYXRp
b25JRChub3RpZmljYXRpb25JRCkKK1dlYk5vdGlmaWNhdGlvbjo6V2ViTm90aWZpY2F0aW9uKGNv
bnN0IFdlYkNvcmU6Ok5vdGlmaWNhdGlvbkRhdGEmIGRhdGEpCisgICAgOiBtX3RpdGxlKGRhdGEu
dGl0bGUpCisgICAgLCBtX2JvZHkoZGF0YS5ib2R5KQorICAgICwgbV9pY29uVVJMKGRhdGEuaWNv
blVSTCkKKyAgICAsIG1fdGFnKGRhdGEudGFnKQorICAgICwgbV9sYW5nKGRhdGEubGFuZ3VhZ2Up
CisgICAgLCBtX2RpcihkYXRhLmRpcmVjdGlvbikKKyAgICAsIG1fb3JpZ2luKEFQSTo6U2VjdXJp
dHlPcmlnaW46OmNyZWF0ZUZyb21TdHJpbmcoZGF0YS5vcmlnaW5TdHJpbmcpKQorICAgICwgbV9u
b3RpZmljYXRpb25JRChkYXRhLm5vdGlmaWNhdGlvbklEKQogewogfQogCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Ob3RpZmljYXRpb25zL1dlYk5vdGlmaWNhdGlvbi5oIGIv
U291cmNlL1dlYktpdC9VSVByb2Nlc3MvTm90aWZpY2F0aW9ucy9XZWJOb3RpZmljYXRpb24uaApp
bmRleCAyOGVlMWQ4MzY2YmMuLjBkMjJkNDdlMjAxZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dC9VSVByb2Nlc3MvTm90aWZpY2F0aW9ucy9XZWJOb3RpZmljYXRpb24uaAorKysgYi9Tb3VyY2Uv
V2ViS2l0L1VJUHJvY2Vzcy9Ob3RpZmljYXRpb25zL1dlYk5vdGlmaWNhdGlvbi5oCkBAIC0zMiwx
NSArMzIsMTYgQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogZW51bSBjbGFzcyBOb3RpZmljYXRp
b25EaXJlY3Rpb24gOiB1aW50OF90Oworc3RydWN0IE5vdGlmaWNhdGlvbkRhdGE7CiB9CiAKIG5h
bWVzcGFjZSBXZWJLaXQgewogCiBjbGFzcyBXZWJOb3RpZmljYXRpb24gOiBwdWJsaWMgQVBJOjpP
YmplY3RJbXBsPEFQSTo6T2JqZWN0OjpUeXBlOjpOb3RpZmljYXRpb24+IHsKIHB1YmxpYzoKLSAg
ICBzdGF0aWMgUmVmPFdlYk5vdGlmaWNhdGlvbj4gY3JlYXRlKGNvbnN0IFN0cmluZyYgdGl0bGUs
IGNvbnN0IFN0cmluZyYgYm9keSwgY29uc3QgU3RyaW5nJiBpY29uVVJMLCBjb25zdCBTdHJpbmcm
IHRhZywgY29uc3QgU3RyaW5nJiBsYW5nLCBXZWJDb3JlOjpOb3RpZmljYXRpb25EaXJlY3Rpb24g
ZGlyLCBjb25zdCBTdHJpbmcmIG9yaWdpblN0cmluZywgdWludDY0X3Qgbm90aWZpY2F0aW9uSUQp
CisgICAgc3RhdGljIFJlZjxXZWJOb3RpZmljYXRpb24+IGNyZWF0ZShjb25zdCBXZWJDb3JlOjpO
b3RpZmljYXRpb25EYXRhJiBkYXRhKQogICAgIHsKLSAgICAgICAgcmV0dXJuIGFkb3B0UmVmKCpu
ZXcgV2ViTm90aWZpY2F0aW9uKHRpdGxlLCBib2R5LCBpY29uVVJMLCB0YWcsIGxhbmcsIGRpciwg
b3JpZ2luU3RyaW5nLCBub3RpZmljYXRpb25JRCkpOworICAgICAgICByZXR1cm4gYWRvcHRSZWYo
Km5ldyBXZWJOb3RpZmljYXRpb24oZGF0YSkpOwogICAgIH0KIAogICAgIGNvbnN0IFN0cmluZyYg
dGl0bGUoKSBjb25zdCB7IHJldHVybiBtX3RpdGxlOyB9CkBAIC01NCw3ICs1NSw3IEBAIHB1Ymxp
YzoKICAgICB1aW50NjRfdCBub3RpZmljYXRpb25JRCgpIGNvbnN0IHsgcmV0dXJuIG1fbm90aWZp
Y2F0aW9uSUQ7IH0KIAogcHJpdmF0ZToKLSAgICBXZWJOb3RpZmljYXRpb24oY29uc3QgU3RyaW5n
JiB0aXRsZSwgY29uc3QgU3RyaW5nJiBib2R5LCBjb25zdCBTdHJpbmcmIGljb25VUkwsIGNvbnN0
IFN0cmluZyYgdGFnLCBjb25zdCBTdHJpbmcmIGxhbmcsIFdlYkNvcmU6Ok5vdGlmaWNhdGlvbkRp
cmVjdGlvbiwgY29uc3QgU3RyaW5nJiBvcmlnaW5TdHJpbmcsIHVpbnQ2NF90IG5vdGlmaWNhdGlv
bklEKTsKKyAgICBXZWJOb3RpZmljYXRpb24oY29uc3QgV2ViQ29yZTo6Tm90aWZpY2F0aW9uRGF0
YSYpOwogCiAgICAgU3RyaW5nIG1fdGl0bGU7CiAgICAgU3RyaW5nIG1fYm9keTsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL05vdGlmaWNhdGlvbnMvV2ViTm90aWZpY2F0aW9u
TWFuYWdlck1lc3NhZ2VIYW5kbGVyLmNwcCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL05vdGlm
aWNhdGlvbnMvV2ViTm90aWZpY2F0aW9uTWFuYWdlck1lc3NhZ2VIYW5kbGVyLmNwcAppbmRleCBk
YmZlZmIwMTU5OTguLmEyOWFlZDU1MDdlYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVBy
b2Nlc3MvTm90aWZpY2F0aW9ucy9XZWJOb3RpZmljYXRpb25NYW5hZ2VyTWVzc2FnZUhhbmRsZXIu
Y3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL05vdGlmaWNhdGlvbnMvV2ViTm90aWZp
Y2F0aW9uTWFuYWdlck1lc3NhZ2VIYW5kbGVyLmNwcApAQCAtNDAsOSArNDAsOSBAQCB2b2lkIFdl
Yk5vdGlmaWNhdGlvbk1hbmFnZXJNZXNzYWdlSGFuZGxlcjo6cmVxdWVzdFN5c3RlbU5vdGlmaWNh
dGlvblBlcm1pc3Npb24oYwogICAgIFJFTEVBU0VfQVNTRVJUX05PVF9SRUFDSEVEKCk7CiB9CiAK
LXZvaWQgV2ViTm90aWZpY2F0aW9uTWFuYWdlck1lc3NhZ2VIYW5kbGVyOjpzaG93Tm90aWZpY2F0
aW9uKGNvbnN0IFN0cmluZyYgdGl0bGUsIGNvbnN0IFN0cmluZyYgYm9keSwgY29uc3QgU3RyaW5n
JiBpY29uVVJMLCBjb25zdCBTdHJpbmcmIHRhZywgY29uc3QgU3RyaW5nJiBsYW5ndWFnZSwgV2Vi
Q29yZTo6Tm90aWZpY2F0aW9uRGlyZWN0aW9uIGRpcmVjdGlvbiwgY29uc3QgU3RyaW5nJiBvcmln
aW5TdHJpbmcsIHVpbnQ2NF90IG5vdGlmaWNhdGlvbklEKQordm9pZCBXZWJOb3RpZmljYXRpb25N
YW5hZ2VyTWVzc2FnZUhhbmRsZXI6OnNob3dOb3RpZmljYXRpb24oY29uc3QgV2ViQ29yZTo6Tm90
aWZpY2F0aW9uRGF0YSYgZGF0YSkKIHsKLSAgICBtX3dlYlBhZ2VQcm94eS5zaG93Tm90aWZpY2F0
aW9uKHRpdGxlLCBib2R5LCBpY29uVVJMLCB0YWcsIGxhbmd1YWdlLCBkaXJlY3Rpb24sIG9yaWdp
blN0cmluZywgbm90aWZpY2F0aW9uSUQpOworICAgIG1fd2ViUGFnZVByb3h5LnNob3dOb3RpZmlj
YXRpb24oZGF0YSk7CiB9CiAKIHZvaWQgV2ViTm90aWZpY2F0aW9uTWFuYWdlck1lc3NhZ2VIYW5k
bGVyOjpjYW5jZWxOb3RpZmljYXRpb24odWludDY0X3Qgbm90aWZpY2F0aW9uSUQpCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Ob3RpZmljYXRpb25zL1dlYk5vdGlmaWNhdGlv
bk1hbmFnZXJNZXNzYWdlSGFuZGxlci5oIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvTm90aWZp
Y2F0aW9ucy9XZWJOb3RpZmljYXRpb25NYW5hZ2VyTWVzc2FnZUhhbmRsZXIuaAppbmRleCAzZTBh
M2M4NGFmNWEuLjQyNTFmNzJmZWJlMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nl
c3MvTm90aWZpY2F0aW9ucy9XZWJOb3RpZmljYXRpb25NYW5hZ2VyTWVzc2FnZUhhbmRsZXIuaAor
KysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Ob3RpZmljYXRpb25zL1dlYk5vdGlmaWNhdGlv
bk1hbmFnZXJNZXNzYWdlSGFuZGxlci5oCkBAIC0zNyw3ICszNyw3IEBAIHByaXZhdGU6CiAgICAg
ZXhwbGljaXQgV2ViTm90aWZpY2F0aW9uTWFuYWdlck1lc3NhZ2VIYW5kbGVyKFdlYlBhZ2VQcm94
eSYpOwogCiAgICAgdm9pZCByZXF1ZXN0U3lzdGVtTm90aWZpY2F0aW9uUGVybWlzc2lvbihjb25z
dCBTdHJpbmcmLCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKGJvb2wpPiYmKSBmaW5hbDsKLSAgICB2
b2lkIHNob3dOb3RpZmljYXRpb24oY29uc3QgU3RyaW5nJiB0aXRsZSwgY29uc3QgU3RyaW5nJiBi
b2R5LCBjb25zdCBTdHJpbmcmIGljb25VUkwsIGNvbnN0IFN0cmluZyYgdGFnLCBjb25zdCBTdHJp
bmcmIGxhbmd1YWdlLCBXZWJDb3JlOjpOb3RpZmljYXRpb25EaXJlY3Rpb24sIGNvbnN0IFN0cmlu
ZyYgb3JpZ2luU3RyaW5nLCB1aW50NjRfdCBub3RpZmljYXRpb25JRCkgZmluYWw7CisgICAgdm9p
ZCBzaG93Tm90aWZpY2F0aW9uKGNvbnN0IFdlYkNvcmU6Ok5vdGlmaWNhdGlvbkRhdGEmKSBmaW5h
bDsKICAgICB2b2lkIGNhbmNlbE5vdGlmaWNhdGlvbih1aW50NjRfdCBub3RpZmljYXRpb25JRCkg
ZmluYWw7CiAgICAgdm9pZCBjbGVhck5vdGlmaWNhdGlvbnMoY29uc3QgVmVjdG9yPHVpbnQ2NF90
PiYgbm90aWZpY2F0aW9uSURzKSBmaW5hbDsKICAgICB2b2lkIGRpZERlc3Ryb3lOb3RpZmljYXRp
b24odWludDY0X3Qgbm90aWZpY2F0aW9uSUQpIGZpbmFsOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdC9VSVByb2Nlc3MvTm90aWZpY2F0aW9ucy9XZWJOb3RpZmljYXRpb25NYW5hZ2VyUHJveHku
Y3BwIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvTm90aWZpY2F0aW9ucy9XZWJOb3RpZmljYXRp
b25NYW5hZ2VyUHJveHkuY3BwCmluZGV4IDc2MDYzMWM0OTBmNi4uNTZlZjUwNTMzYjAyIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Ob3RpZmljYXRpb25zL1dlYk5vdGlmaWNh
dGlvbk1hbmFnZXJQcm94eS5jcHAKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvTm90aWZp
Y2F0aW9ucy9XZWJOb3RpZmljYXRpb25NYW5hZ2VyUHJveHkuY3BwCkBAIC05MywxMSArOTMsMTEg
QEAgSGFzaE1hcDxTdHJpbmcsIGJvb2w+IFdlYk5vdGlmaWNhdGlvbk1hbmFnZXJQcm94eTo6bm90
aWZpY2F0aW9uUGVybWlzc2lvbnMoKQogICAgIHJldHVybiBtX3Byb3ZpZGVyLT5ub3RpZmljYXRp
b25QZXJtaXNzaW9ucygpOwogfQogCi12b2lkIFdlYk5vdGlmaWNhdGlvbk1hbmFnZXJQcm94eTo6
c2hvdyhXZWJQYWdlUHJveHkqIHdlYlBhZ2UsIGNvbnN0IFN0cmluZyYgdGl0bGUsIGNvbnN0IFN0
cmluZyYgYm9keSwgY29uc3QgU3RyaW5nJiBpY29uVVJMLCBjb25zdCBTdHJpbmcmIHRhZywgY29u
c3QgU3RyaW5nJiBsYW5nLCBXZWJDb3JlOjpOb3RpZmljYXRpb25EaXJlY3Rpb24gZGlyLCBjb25z
dCBTdHJpbmcmIG9yaWdpblN0cmluZywgdWludDY0X3QgcGFnZU5vdGlmaWNhdGlvbklEKQordm9p
ZCBXZWJOb3RpZmljYXRpb25NYW5hZ2VyUHJveHk6OnNob3coV2ViUGFnZVByb3h5KiB3ZWJQYWdl
LCBjb25zdCBXZWJDb3JlOjpOb3RpZmljYXRpb25EYXRhJiBub3RpZmljYXRpb25EYXRhKQogewog
ICAgIHVpbnQ2NF90IGdsb2JhbE5vdGlmaWNhdGlvbklEID0gZ2VuZXJhdGVHbG9iYWxOb3RpZmlj
YXRpb25JRCgpOwotICAgIGF1dG8gbm90aWZpY2F0aW9uID0gV2ViTm90aWZpY2F0aW9uOjpjcmVh
dGUodGl0bGUsIGJvZHksIGljb25VUkwsIHRhZywgbGFuZywgZGlyLCBvcmlnaW5TdHJpbmcsIGds
b2JhbE5vdGlmaWNhdGlvbklEKTsKLSAgICBhdXRvIG5vdGlmaWNhdGlvbklEUGFpciA9IHN0ZDo6
bWFrZV9wYWlyKHdlYlBhZ2UtPmlkZW50aWZpZXIoKSwgcGFnZU5vdGlmaWNhdGlvbklEKTsKKyAg
ICBhdXRvIG5vdGlmaWNhdGlvbiA9IFdlYk5vdGlmaWNhdGlvbjo6Y3JlYXRlKG5vdGlmaWNhdGlv
bkRhdGEpOworICAgIGF1dG8gbm90aWZpY2F0aW9uSURQYWlyID0gc3RkOjptYWtlX3BhaXIod2Vi
UGFnZS0+aWRlbnRpZmllcigpLCBub3RpZmljYXRpb25EYXRhLm5vdGlmaWNhdGlvbklEKTsKICAg
ICBtX2dsb2JhbE5vdGlmaWNhdGlvbk1hcC5zZXQoZ2xvYmFsTm90aWZpY2F0aW9uSUQsIG5vdGlm
aWNhdGlvbklEUGFpcik7CiAgICAgbV9ub3RpZmljYXRpb25zLnNldChub3RpZmljYXRpb25JRFBh
aXIsIHN0ZDo6bWFrZV9wYWlyKGdsb2JhbE5vdGlmaWNhdGlvbklELCBub3RpZmljYXRpb24uY29w
eVJlZigpKSk7CiAgICAgbV9wcm92aWRlci0+c2hvdygqd2ViUGFnZSwgbm90aWZpY2F0aW9uLmdl
dCgpKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL05vdGlmaWNhdGlvbnMv
V2ViTm90aWZpY2F0aW9uTWFuYWdlclByb3h5LmggYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9O
b3RpZmljYXRpb25zL1dlYk5vdGlmaWNhdGlvbk1hbmFnZXJQcm94eS5oCmluZGV4IDQ4YWI1OGU4
MWNmNy4uZGFmMzM5N2YzOGQ1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9O
b3RpZmljYXRpb25zL1dlYk5vdGlmaWNhdGlvbk1hbmFnZXJQcm94eS5oCisrKyBiL1NvdXJjZS9X
ZWJLaXQvVUlQcm9jZXNzL05vdGlmaWNhdGlvbnMvV2ViTm90aWZpY2F0aW9uTWFuYWdlclByb3h5
LmgKQEAgLTM0LDcgKzM0LDcgQEAKICNpbmNsdWRlIDx3dGYvdGV4dC9TdHJpbmdIYXNoLmg+CiAK
IG5hbWVzcGFjZSBXZWJDb3JlIHsKLWVudW0gY2xhc3MgTm90aWZpY2F0aW9uRGlyZWN0aW9uIDog
dWludDhfdDsKK3N0cnVjdCBOb3RpZmljYXRpb25EYXRhOwogfQogCiBuYW1lc3BhY2UgQVBJIHsK
QEAgLTU5LDcgKzU5LDcgQEAgcHVibGljOgogICAgIHZvaWQgc2V0UHJvdmlkZXIoc3RkOjp1bmlx
dWVfcHRyPEFQSTo6Tm90aWZpY2F0aW9uUHJvdmlkZXI+JiYpOwogICAgIEhhc2hNYXA8U3RyaW5n
LCBib29sPiBub3RpZmljYXRpb25QZXJtaXNzaW9ucygpOwogCi0gICAgdm9pZCBzaG93KFdlYlBh
Z2VQcm94eSosIGNvbnN0IFN0cmluZyYgdGl0bGUsIGNvbnN0IFN0cmluZyYgYm9keSwgY29uc3Qg
U3RyaW5nJiBpY29uVVJMLCBjb25zdCBTdHJpbmcmIHRhZywgY29uc3QgU3RyaW5nJiBsYW5nLCBX
ZWJDb3JlOjpOb3RpZmljYXRpb25EaXJlY3Rpb24sIGNvbnN0IFN0cmluZyYgb3JpZ2luU3RyaW5n
LCB1aW50NjRfdCBwYWdlTm90aWZpY2F0aW9uSUQpOworICAgIHZvaWQgc2hvdyhXZWJQYWdlUHJv
eHkqLCBjb25zdCBXZWJDb3JlOjpOb3RpZmljYXRpb25EYXRhJik7CiAgICAgdm9pZCBjYW5jZWwo
V2ViUGFnZVByb3h5KiwgdWludDY0X3QgcGFnZU5vdGlmaWNhdGlvbklEKTsKICAgICB2b2lkIGNs
ZWFyTm90aWZpY2F0aW9ucyhXZWJQYWdlUHJveHkqKTsKICAgICB2b2lkIGNsZWFyTm90aWZpY2F0
aW9ucyhXZWJQYWdlUHJveHkqLCBjb25zdCBWZWN0b3I8dWludDY0X3Q+JiBwYWdlTm90aWZpY2F0
aW9uSURzKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94
eS5jcHAgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuY3BwCmluZGV4IDEy
MGI5MDQ4NzJiZC4uNWZkN2YzYTJjYzA0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJv
Y2Vzcy9XZWJQYWdlUHJveHkuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBh
Z2VQcm94eS5jcHAKQEAgLTg3MzMsOSArODczMyw5IEBAIHZvaWQgV2ViUGFnZVByb3h5OjpyZXF1
ZXN0Tm90aWZpY2F0aW9uUGVybWlzc2lvbihjb25zdCBTdHJpbmcmIG9yaWdpblN0cmluZywgQ29t
CiAgICAgbV91aUNsaWVudC0+ZGVjaWRlUG9saWN5Rm9yTm90aWZpY2F0aW9uUGVybWlzc2lvblJl
cXVlc3QoKnRoaXMsIG9yaWdpbi5nZXQoKSwgV1RGTW92ZShjb21wbGV0aW9uSGFuZGxlcikpOwog
fQogCi12b2lkIFdlYlBhZ2VQcm94eTo6c2hvd05vdGlmaWNhdGlvbihjb25zdCBTdHJpbmcmIHRp
dGxlLCBjb25zdCBTdHJpbmcmIGJvZHksIGNvbnN0IFN0cmluZyYgaWNvblVSTCwgY29uc3QgU3Ry
aW5nJiB0YWcsIGNvbnN0IFN0cmluZyYgbGFuZywgV2ViQ29yZTo6Tm90aWZpY2F0aW9uRGlyZWN0
aW9uIGRpciwgY29uc3QgU3RyaW5nJiBvcmlnaW5TdHJpbmcsIHVpbnQ2NF90IG5vdGlmaWNhdGlv
bklEKQordm9pZCBXZWJQYWdlUHJveHk6OnNob3dOb3RpZmljYXRpb24oY29uc3QgV2ViQ29yZTo6
Tm90aWZpY2F0aW9uRGF0YSYgbm90aWZpY2F0aW9uRGF0YSkKIHsKLSAgICBtX3Byb2Nlc3MtPnBy
b2Nlc3NQb29sKCkuc3VwcGxlbWVudDxXZWJOb3RpZmljYXRpb25NYW5hZ2VyUHJveHk+KCktPnNo
b3codGhpcywgdGl0bGUsIGJvZHksIGljb25VUkwsIHRhZywgbGFuZywgZGlyLCBvcmlnaW5TdHJp
bmcsIG5vdGlmaWNhdGlvbklEKTsKKyAgICBtX3Byb2Nlc3MtPnByb2Nlc3NQb29sKCkuc3VwcGxl
bWVudDxXZWJOb3RpZmljYXRpb25NYW5hZ2VyUHJveHk+KCktPnNob3codGhpcywgbm90aWZpY2F0
aW9uRGF0YSk7CiB9CiAKIHZvaWQgV2ViUGFnZVByb3h5OjpjYW5jZWxOb3RpZmljYXRpb24odWlu
dDY0X3Qgbm90aWZpY2F0aW9uSUQpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vz
cy9XZWJQYWdlUHJveHkuaCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5o
CmluZGV4IDNiMzc2MWE3ZTc3MS4uMjcwZDVkYWNiZTI4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vz
cy9XZWJQYWdlUHJveHkuaApAQCAtMjAzMiw3ICsyMDMyLDcgQEAgcHVibGljOgogICAgIGJvb2wg
aXNRdWFyYW50aW5lZEFuZE5vdFVzZXJBcHByb3ZlZChjb25zdCBTdHJpbmcmKTsKICNlbmRpZgog
Ci0gICAgdm9pZCBzaG93Tm90aWZpY2F0aW9uKGNvbnN0IFN0cmluZyYgdGl0bGUsIGNvbnN0IFN0
cmluZyYgYm9keSwgY29uc3QgU3RyaW5nJiBpY29uVVJMLCBjb25zdCBTdHJpbmcmIHRhZywgY29u
c3QgU3RyaW5nJiBsYW5nLCBXZWJDb3JlOjpOb3RpZmljYXRpb25EaXJlY3Rpb24sIGNvbnN0IFN0
cmluZyYgb3JpZ2luU3RyaW5nLCB1aW50NjRfdCBub3RpZmljYXRpb25JRCk7CisgICAgdm9pZCBz
aG93Tm90aWZpY2F0aW9uKGNvbnN0IFdlYkNvcmU6Ok5vdGlmaWNhdGlvbkRhdGEmKTsKICAgICB2
b2lkIGNhbmNlbE5vdGlmaWNhdGlvbih1aW50NjRfdCBub3RpZmljYXRpb25JRCk7CiAgICAgdm9p
ZCBjbGVhck5vdGlmaWNhdGlvbnMoY29uc3QgVmVjdG9yPHVpbnQ2NF90PiYgbm90aWZpY2F0aW9u
SURzKTsKICAgICB2b2lkIGRpZERlc3Ryb3lOb3RpZmljYXRpb24odWludDY0X3Qgbm90aWZpY2F0
aW9uSUQpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL05vdGlmaWNhdGlv
bnMvV2ViTm90aWZpY2F0aW9uTWFuYWdlci5jcHAgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3Mv
Tm90aWZpY2F0aW9ucy9XZWJOb3RpZmljYXRpb25NYW5hZ2VyLmNwcAppbmRleCBlMDFkOWQ2ODVi
YTIuLjlhMjAxODkyYjFjMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL05v
dGlmaWNhdGlvbnMvV2ViTm90aWZpY2F0aW9uTWFuYWdlci5jcHAKKysrIGIvU291cmNlL1dlYktp
dC9XZWJQcm9jZXNzL05vdGlmaWNhdGlvbnMvV2ViTm90aWZpY2F0aW9uTWFuYWdlci5jcHAKQEAg
LTM5LDYgKzM5LDcgQEAKICNpbmNsdWRlICJXZWJQYWdlUHJveHlNZXNzYWdlcy5oIgogI2luY2x1
ZGUgPFdlYkNvcmUvRG9jdW1lbnQuaD4KICNpbmNsdWRlIDxXZWJDb3JlL05vdGlmaWNhdGlvbi5o
PgorI2luY2x1ZGUgPFdlYkNvcmUvTm90aWZpY2F0aW9uRGF0YS5oPgogI2luY2x1ZGUgPFdlYkNv
cmUvUGFnZS5oPgogI2luY2x1ZGUgPFdlYkNvcmUvUnVudGltZUVuYWJsZWRGZWF0dXJlcy5oPgog
I2luY2x1ZGUgPFdlYkNvcmUvU2NyaXB0RXhlY3V0aW9uQ29udGV4dC5oPgpAQCAtMTYzLDcgKzE2
NCw5IEBAIGJvb2wgV2ViTm90aWZpY2F0aW9uTWFuYWdlcjo6c2hvdyhOb3RpZmljYXRpb24qIG5v
dGlmaWNhdGlvbiwgV2ViUGFnZSogcGFnZSkKICAgICBhdXRvIGl0ID0gbV9ub3RpZmljYXRpb25D
b250ZXh0TWFwLmFkZChub3RpZmljYXRpb24tPnNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKSwgVmVj
dG9yPHVpbnQ2NF90PigpKS5pdGVyYXRvcjsKICAgICBpdC0+dmFsdWUuYXBwZW5kKG5vdGlmaWNh
dGlvbklEKTsKIAotICAgIHNlbmROb3RpZmljYXRpb25NZXNzYWdlKG1fcHJvY2VzcywgTWVzc2Fn
ZXM6Ok5vdGlmaWNhdGlvbk1hbmFnZXJNZXNzYWdlSGFuZGxlcjo6U2hvd05vdGlmaWNhdGlvbihu
b3RpZmljYXRpb24tPnRpdGxlKCksIG5vdGlmaWNhdGlvbi0+Ym9keSgpLCBub3RpZmljYXRpb24t
Pmljb24oKS5zdHJpbmcoKSwgbm90aWZpY2F0aW9uLT50YWcoKSwgbm90aWZpY2F0aW9uLT5sYW5n
KCksIG5vdGlmaWNhdGlvbi0+ZGlyKCksIG5vdGlmaWNhdGlvbi0+c2NyaXB0RXhlY3V0aW9uQ29u
dGV4dCgpLT5zZWN1cml0eU9yaWdpbigpLT50b1N0cmluZygpLCBub3RpZmljYXRpb25JRCksICpw
YWdlKTsKKyAgICBhdXRvIG5vdGlmaWNhdGlvbkRhdGEgPSBub3RpZmljYXRpb24tPmRhdGFXaXRo
b3V0Tm90aWZpY2F0aW9uSUQoKTsKKyAgICBub3RpZmljYXRpb25EYXRhLm5vdGlmaWNhdGlvbklE
ID0gbm90aWZpY2F0aW9uSUQ7CisgICAgc2VuZE5vdGlmaWNhdGlvbk1lc3NhZ2UobV9wcm9jZXNz
LCBNZXNzYWdlczo6Tm90aWZpY2F0aW9uTWFuYWdlck1lc3NhZ2VIYW5kbGVyOjpTaG93Tm90aWZp
Y2F0aW9uKFdURk1vdmUobm90aWZpY2F0aW9uRGF0YSkpLCAqcGFnZSk7CiAgICAgcmV0dXJuIHRy
dWU7CiAjZWxzZQogICAgIFVOVVNFRF9QQVJBTShub3RpZmljYXRpb24pOwo=
</data>
<flag name="commit-queue"
          id="472902"
          type_id="3"
          status="-"
          setter="ews-feeder"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>447304</attachid>
            <date>2021-12-15 17:48:32 -0800</date>
            <delta_ts>2021-12-15 19:47:33 -0800</delta_ts>
            <desc>PFL v3</desc>
            <filename>patch</filename>
            <type>text/plain</type>
            <size>30675</size>
            <attacher name="Brady Eidson">beidson</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZwppbmRleCBjMzcyZjA3YjcxM2UuLmZhYjgxNjgxMjk3MiAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAt
MSwzICsxLDE5IEBACisyMDIxLTEyLTE1ICBCcmFkeSBFaWRzb24gIDxiZWlkc29uQGFwcGxlLmNv
bT4KKworICAgICAgICBBZGQgYSAiTm90aWZpY2F0aW9uRGF0YSIgb2JqZWN0IHRvIGVuY29tcGFz
cyBsb2NhbCBOb3RpZmljYXRpb24tcmVsYXRlZCBwYXJhbWV0ZXJzLCBpbnN0ZWFkIG9mIHBhc3Np
bmcgdG9ucyBvZiB0aGVtIGFyb3VuZCBldmVyeXdoZXJlLgorICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjM0MzcwCisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
VGltIEhvcnRvbi4KKworICAgICAgICBObyBiZWhhdmlvciBjaGFuZ2UuCisKKyAgICAgICAgKiBN
b2R1bGVzL25vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9uLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
Ok5vdGlmaWNhdGlvbjo6ZGF0YVdpdGhvdXROb3RpZmljYXRpb25JRCBjb25zdCk6CisgICAgICAg
ICogTW9kdWxlcy9ub3RpZmljYXRpb25zL05vdGlmaWNhdGlvbi5oOgorCisgICAgICAgICogU291
cmNlcy50eHQ6CisgICAgICAgICogV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qOgor
CiAyMDIxLTEyLTE1ICBCcmVudCBGdWxnaGFtICA8YmZ1bGdoYW1AYXBwbGUuY29tPgogCiAgICAg
ICAgIENsZWFuLXVwOiBBZG9wdCBQYWdlOjpmb3JFYWNoRG9jdW1lbnQgaW4gc29tZSBtaXNzZWQg
c3BvdHMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0hlYWRlcnMuY21ha2UgYi9Tb3VyY2Uv
V2ViQ29yZS9IZWFkZXJzLmNtYWtlCmluZGV4IGM2NWNhYjE1OWRmYi4uMzI4YWRiOGMwMzJjIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9IZWFkZXJzLmNtYWtlCisrKyBiL1NvdXJjZS9XZWJD
b3JlL0hlYWRlcnMuY21ha2UKQEAgLTI4MCw2ICsyODAsNyBAQCBzZXQoV2ViQ29yZV9QUklWQVRF
X0ZSQU1FV09SS19IRUFERVJTCiAgICAgTW9kdWxlcy9ub3RpZmljYXRpb25zL05vdGlmaWNhdGlv
bi5oCiAgICAgTW9kdWxlcy9ub3RpZmljYXRpb25zL05vdGlmaWNhdGlvbkNsaWVudC5oCiAgICAg
TW9kdWxlcy9ub3RpZmljYXRpb25zL05vdGlmaWNhdGlvbkNvbnRyb2xsZXIuaAorICAgIE1vZHVs
ZXMvbm90aWZpY2F0aW9ucy9Ob3RpZmljYXRpb25EYXRhLmgKICAgICBNb2R1bGVzL25vdGlmaWNh
dGlvbnMvTm90aWZpY2F0aW9uRGlyZWN0aW9uLmgKICAgICBNb2R1bGVzL25vdGlmaWNhdGlvbnMv
Tm90aWZpY2F0aW9uUGVybWlzc2lvbi5oCiAgICAgTW9kdWxlcy9ub3RpZmljYXRpb25zL05vdGlm
aWNhdGlvblBlcm1pc3Npb25DYWxsYmFjay5oCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL25vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9uLmNwcCBiL1NvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvbm90aWZpY2F0aW9ucy9Ob3RpZmljYXRpb24uY3BwCmluZGV4IGI2M2ZkMDgwNWExYi4u
MjgxN2UyMWYwNmU0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL25vdGlmaWNh
dGlvbnMvTm90aWZpY2F0aW9uLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL25vdGlm
aWNhdGlvbnMvTm90aWZpY2F0aW9uLmNwcApAQCAtNDEsNiArNDEsNyBAQAogI2luY2x1ZGUgIkpT
RE9NUHJvbWlzZURlZmVycmVkLmgiCiAjaW5jbHVkZSAiTm90aWZpY2F0aW9uQ2xpZW50LmgiCiAj
aW5jbHVkZSAiTm90aWZpY2F0aW9uQ29udHJvbGxlci5oIgorI2luY2x1ZGUgIk5vdGlmaWNhdGlv
bkRhdGEuaCIKICNpbmNsdWRlICJOb3RpZmljYXRpb25QZXJtaXNzaW9uQ2FsbGJhY2suaCIKICNp
bmNsdWRlICJXaW5kb3dFdmVudExvb3AuaCIKICNpbmNsdWRlICJXaW5kb3dGb2N1c0FsbG93ZWRJ
bmRpY2F0b3IuaCIKQEAgLTIyNCw2ICsyMjUsMjAgQEAgYm9vbCBOb3RpZmljYXRpb246OnZpcnR1
YWxIYXNQZW5kaW5nQWN0aXZpdHkoKSBjb25zdAogICAgIHJldHVybiBtX3N0YXRlID09IFNob3dp
bmcgJiYgbV9oYXNSZWxldmFudEV2ZW50TGlzdGVuZXI7CiB9CiAKK05vdGlmaWNhdGlvbkRhdGEg
Tm90aWZpY2F0aW9uOjpkYXRhV2l0aG91dE5vdGlmaWNhdGlvbklEKCkgY29uc3QKK3sKKyAgICBy
ZXR1cm4geworICAgICAgICBtX3RpdGxlLAorICAgICAgICBtX2JvZHksCisgICAgICAgIG1faWNv
bi5zdHJpbmcoKSwKKyAgICAgICAgbV90YWcsCisgICAgICAgIG1fbGFuZywKKyAgICAgICAgbV9k
aXJlY3Rpb24sCisgICAgICAgIHNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKS0+c2VjdXJpdHlPcmln
aW4oKS0+dG9TdHJpbmcoKSwKKyAgICAgICAgMAorICAgIH07Cit9CisKIH0gLy8gbmFtZXNwYWNl
IFdlYkNvcmUKIAogI2VuZGlmIC8vIEVOQUJMRShOT1RJRklDQVRJT05TKQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvTW9kdWxlcy9ub3RpZmljYXRpb25zL05vdGlmaWNhdGlvbi5oIGIvU291
cmNlL1dlYkNvcmUvTW9kdWxlcy9ub3RpZmljYXRpb25zL05vdGlmaWNhdGlvbi5oCmluZGV4IDY1
MzkxNTJlOThjNS4uZDJjN2QzNzFlZTVhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL25vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9uLmgKKysrIGIvU291cmNlL1dlYkNvcmUvTW9k
dWxlcy9ub3RpZmljYXRpb25zL05vdGlmaWNhdGlvbi5oCkBAIC00Niw2ICs0Niw4IEBAIGNsYXNz
IERlZmVycmVkUHJvbWlzZTsKIGNsYXNzIERvY3VtZW50OwogY2xhc3MgTm90aWZpY2F0aW9uUGVy
bWlzc2lvbkNhbGxiYWNrOwogCitzdHJ1Y3QgTm90aWZpY2F0aW9uRGF0YTsKKwogY2xhc3MgTm90
aWZpY2F0aW9uIGZpbmFsIDogcHVibGljIFJlZkNvdW50ZWQ8Tm90aWZpY2F0aW9uPiwgcHVibGlj
IEFjdGl2ZURPTU9iamVjdCwgcHVibGljIEV2ZW50VGFyZ2V0V2l0aElubGluZURhdGEgewogICAg
IFdURl9NQUtFX0lTT19BTExPQ0FURURfRVhQT1JUKE5vdGlmaWNhdGlvbiwgV0VCQ09SRV9FWFBP
UlQpOwogcHVibGljOgpAQCAtODcsNiArODksOCBAQCBwdWJsaWM6CiAKICAgICBTY3JpcHRFeGVj
dXRpb25Db250ZXh0KiBzY3JpcHRFeGVjdXRpb25Db250ZXh0KCkgY29uc3QgZmluYWwgeyByZXR1
cm4gQWN0aXZlRE9NT2JqZWN0OjpzY3JpcHRFeGVjdXRpb25Db250ZXh0KCk7IH0KIAorICAgIFdF
QkNPUkVfRVhQT1JUIE5vdGlmaWNhdGlvbkRhdGEgZGF0YVdpdGhvdXROb3RpZmljYXRpb25JRCgp
IGNvbnN0OworCiAgICAgdXNpbmcgUmVmQ291bnRlZDo6cmVmOwogICAgIHVzaW5nIFJlZkNvdW50
ZWQ6OmRlcmVmOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL25vdGlmaWNh
dGlvbnMvTm90aWZpY2F0aW9uRGF0YS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL25vdGlm
aWNhdGlvbnMvTm90aWZpY2F0aW9uRGF0YS5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwLi42MDQ3MDgzNTU5NTAKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL25vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9uRGF0YS5jcHAKQEAgLTAsMCAr
MSwzMSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAyMSBBcHBsZSBJbmMuIEFsbCByaWdodHMg
cmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJp
bmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0
ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6Cisg
KiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3Zl
IGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhl
IGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBm
b3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhp
cyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUK
KyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRo
IHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBB
UFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBS
RVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8s
CisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVT
UyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVO
VCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1Ig
QU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IK
KyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8s
IFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9G
IFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9X
RVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisg
KiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VO
Q0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9G
IFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9G
IFNVQ0ggREFNQUdFLgorICovCisKKyNpbmNsdWRlICJjb25maWcuaCIKKyNpbmNsdWRlICJOb3Rp
ZmljYXRpb25EYXRhLmgiCisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworfSAvLyBuYW1lc3BhY2Ug
V2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9ub3RpZmljYXRpb25z
L05vdGlmaWNhdGlvbkRhdGEuaCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbm90aWZpY2F0aW9u
cy9Ob3RpZmljYXRpb25EYXRhLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwLi40ODkxYzQzMzU4NzkKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL25vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9uRGF0YS5oCkBAIC0wLDAgKzEsMTA3IEBACisv
KgorICogQ29weXJpZ2h0IChDKSAyMDIxIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4K
KyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1z
LCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRl
ZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlz
dHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0
CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5n
IGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCBy
ZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2Yg
Y29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9j
dW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3Ry
aWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4g
QU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1Q
TElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJ
TVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBB
UlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQ
UExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNU
LCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VR
VUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1F
TlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRB
LCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNF
RCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNU
LCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhF
UldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZU
V0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1B
R0UuCisgKi8KKworI3ByYWdtYSBvbmNlCisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworZW51bSBj
bGFzcyBOb3RpZmljYXRpb25EaXJlY3Rpb24gOiB1aW50OF90OworCitzdHJ1Y3QgTm90aWZpY2F0
aW9uRGF0YSB7CisgICAgdGVtcGxhdGU8Y2xhc3MgRW5jb2Rlcj4gdm9pZCBlbmNvZGUoRW5jb2Rl
ciYpIGNvbnN0OworICAgIHRlbXBsYXRlPGNsYXNzIERlY29kZXI+IHN0YXRpYyBzdGQ6Om9wdGlv
bmFsPE5vdGlmaWNhdGlvbkRhdGE+IGRlY29kZShEZWNvZGVyJik7CisKKyAgICBTdHJpbmcgdGl0
bGU7CisgICAgU3RyaW5nIGJvZHk7CisgICAgU3RyaW5nIGljb25VUkw7CisgICAgU3RyaW5nIHRh
ZzsKKyAgICBTdHJpbmcgbGFuZ3VhZ2U7CisgICAgV2ViQ29yZTo6Tm90aWZpY2F0aW9uRGlyZWN0
aW9uIGRpcmVjdGlvbjsKKyAgICBTdHJpbmcgb3JpZ2luU3RyaW5nOworICAgIHVpbnQ2NF90IG5v
dGlmaWNhdGlvbklEOworfTsKKwordGVtcGxhdGU8Y2xhc3MgRW5jb2Rlcj4KK3ZvaWQgTm90aWZp
Y2F0aW9uRGF0YTo6ZW5jb2RlKEVuY29kZXImIGVuY29kZXIpIGNvbnN0Cit7CisgICAgZW5jb2Rl
ciA8PCB0aXRsZSA8PCBib2R5IDw8IGljb25VUkwgPDwgdGFnIDw8IGxhbmd1YWdlIDw8IGRpcmVj
dGlvbiA8PCBvcmlnaW5TdHJpbmcgPDwgbm90aWZpY2F0aW9uSUQ7Cit9CisKK3RlbXBsYXRlPGNs
YXNzIERlY29kZXI+CitzdGQ6Om9wdGlvbmFsPE5vdGlmaWNhdGlvbkRhdGE+IE5vdGlmaWNhdGlv
bkRhdGE6OmRlY29kZShEZWNvZGVyJiBkZWNvZGVyKQoreworICAgIHN0ZDo6b3B0aW9uYWw8U3Ry
aW5nPiB0aXRsZTsKKyAgICBkZWNvZGVyID4+IHRpdGxlOworICAgIGlmICghdGl0bGUpCisgICAg
ICAgIHJldHVybiBzdGQ6Om51bGxvcHQ7CisKKyAgICBzdGQ6Om9wdGlvbmFsPFN0cmluZz4gYm9k
eTsKKyAgICBkZWNvZGVyID4+IGJvZHk7CisgICAgaWYgKCFib2R5KQorICAgICAgICByZXR1cm4g
c3RkOjpudWxsb3B0OworCisgICAgc3RkOjpvcHRpb25hbDxTdHJpbmc+IGljb25VUkw7CisgICAg
ZGVjb2RlciA+PiBpY29uVVJMOworICAgIGlmICghaWNvblVSTCkKKyAgICAgICAgcmV0dXJuIHN0
ZDo6bnVsbG9wdDsKKworICAgIHN0ZDo6b3B0aW9uYWw8U3RyaW5nPiB0YWc7CisgICAgZGVjb2Rl
ciA+PiB0YWc7CisgICAgaWYgKCF0YWcpCisgICAgICAgIHJldHVybiBzdGQ6Om51bGxvcHQ7CisK
KyAgICBzdGQ6Om9wdGlvbmFsPFN0cmluZz4gbGFuZ3VhZ2U7CisgICAgZGVjb2RlciA+PiBsYW5n
dWFnZTsKKyAgICBpZiAoIWxhbmd1YWdlKQorICAgICAgICByZXR1cm4gc3RkOjpudWxsb3B0Owor
CisgICAgc3RkOjpvcHRpb25hbDxXZWJDb3JlOjpOb3RpZmljYXRpb25EaXJlY3Rpb24+IGRpcmVj
dGlvbjsKKyAgICBkZWNvZGVyID4+IGRpcmVjdGlvbjsKKyAgICBpZiAoIWRpcmVjdGlvbikKKyAg
ICAgICAgcmV0dXJuIHN0ZDo6bnVsbG9wdDsKKworICAgIHN0ZDo6b3B0aW9uYWw8U3RyaW5nPiBv
cmlnaW5TdHJpbmc7CisgICAgZGVjb2RlciA+PiBvcmlnaW5TdHJpbmc7CisgICAgaWYgKCFvcmln
aW5TdHJpbmcpCisgICAgICAgIHJldHVybiBzdGQ6Om51bGxvcHQ7CisKKyAgICBzdGQ6Om9wdGlv
bmFsPHVpbnQ2NF90PiBub3RpZmljYXRpb25JRDsKKyAgICBkZWNvZGVyID4+IG5vdGlmaWNhdGlv
bklEOworICAgIGlmICghbm90aWZpY2F0aW9uSUQpCisgICAgICAgIHJldHVybiBzdGQ6Om51bGxv
cHQ7CisKKyAgICByZXR1cm4geyB7CisgICAgICAgIFdURk1vdmUoKnRpdGxlKSwKKyAgICAgICAg
V1RGTW92ZSgqYm9keSksCisgICAgICAgIFdURk1vdmUoKmljb25VUkwpLAorICAgICAgICBXVEZN
b3ZlKCp0YWcpLAorICAgICAgICBXVEZNb3ZlKCpsYW5ndWFnZSksCisgICAgICAgIFdURk1vdmUo
KmRpcmVjdGlvbiksCisgICAgICAgIFdURk1vdmUoKm9yaWdpblN0cmluZyksCisgICAgICAgIFdU
Rk1vdmUoKm5vdGlmaWNhdGlvbklEKSwKKyAgICB9IH07Cit9CisKK30gLy8gbmFtZXNwYWNlIFdl
YkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1NvdXJjZXMudHh0IGIvU291cmNlL1dl
YkNvcmUvU291cmNlcy50eHQKaW5kZXggOTJkZjQyMmMzNTQxLi5hMjU0NzFlMTViZDcgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1NvdXJjZXMudHh0CisrKyBiL1NvdXJjZS9XZWJDb3JlL1Nv
dXJjZXMudHh0CkBAIC0yNDIsNiArMjQyLDcgQEAgTW9kdWxlcy9tb2RlbC1lbGVtZW50L2R1bW15
L0R1bW15TW9kZWxQbGF5ZXIuY3BwCiBNb2R1bGVzL21vZGVsLWVsZW1lbnQvZHVtbXkvRHVtbXlN
b2RlbFBsYXllclByb3ZpZGVyLmNwcAogTW9kdWxlcy9ub3RpZmljYXRpb25zL05vdGlmaWNhdGlv
bi5jcHAKIE1vZHVsZXMvbm90aWZpY2F0aW9ucy9Ob3RpZmljYXRpb25Db250cm9sbGVyLmNwcAor
TW9kdWxlcy9ub3RpZmljYXRpb25zL05vdGlmaWNhdGlvbkRhdGEuY3BwCiBNb2R1bGVzL3BheW1l
bnRyZXF1ZXN0L01lcmNoYW50VmFsaWRhdGlvbkV2ZW50LmNwcAogTW9kdWxlcy9wYXltZW50cmVx
dWVzdC9QYXltZW50QWRkcmVzcy5jcHAKIE1vZHVsZXMvcGF5bWVudHJlcXVlc3QvUGF5bWVudEhh
bmRsZXIuY3BwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9w
cm9qZWN0LnBieHByb2ogYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0
LnBieHByb2oKaW5kZXggNGUxNmExMDQzNzFhLi41OGI4YTYxNTQ0ZDQgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKQEAgLTE1MjAsNiAr
MTUyMCw3IEBACiAJCTUxMEQ0QTM3MTAzMTY1RUUwMDQ5RUE1NCAvKiBTb2NrZXRTdHJlYW1IYW5k
bGUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDUxMEQ0
QTMxMTAzMTY1RUUwMDQ5RUE1NCAvKiBTb2NrZXRTdHJlYW1IYW5kbGUuaCAqLzsgc2V0dGluZ3Mg
PSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQk1MTBENEEzODEwMzE2NUVFMDA0
OUVBNTQgLyogU29ja2V0U3RyZWFtSGFuZGxlQ2xpZW50LmggaW4gSGVhZGVycyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1MTBENEEzMjEwMzE2NUVFMDA0OUVBNTQgLyogU29j
a2V0U3RyZWFtSGFuZGxlQ2xpZW50LmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJp
dmF0ZSwgKTsgfTsgfTsKIAkJNTExMEZDRkMxRTAzNjQxRDAwNkY4RDBCIC8qIElEQkN1cnNvclJl
Y29yZC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNTEx
MEZDRkIxRTAzNjJBNTAwNkY4RDBCIC8qIElEQkN1cnNvclJlY29yZC5oICovOyBzZXR0aW5ncyA9
IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CisJCTUxMTIzRTJGMjc2OTQwQ0EwMEY5
RDQxQiAvKiBOb3RpZmljYXRpb25EYXRhLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSA1MTEyM0UyQzI3NjkzQzMyMDBGOUQ0MUIgLyogTm90aWZpY2F0aW9u
RGF0YS5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJ
CTUxMTdGMzBFMjVFNjEwMjAwMDJBOUYxRSAvKiBSZW1vdGVDb21tYW5kTGlzdGVuZXJDb2NvYS5o
IGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNTExN0YzMEMy
NUU2MTAxRjAwMkE5RjFFIC8qIFJlbW90ZUNvbW1hbmRMaXN0ZW5lckNvY29hLmggKi87IH07CiAJ
CTUxMUVDMTI4MUM1MEFBQ0EwMDMyRjk4MyAvKiBJREJTZXJpYWxpemF0aW9uLmggaW4gSGVhZGVy
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1MTFFQzEyNjFDNTBBQTU3MDAz
MkY5ODMgLyogSURCU2VyaWFsaXphdGlvbi5oICovOyB9OwogCQk1MTFFQzEyQzFDNTBBQkJGMDAz
MkY5ODMgLyogU1FMaXRlSURCVHJhbnNhY3Rpb24uaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDUxMUVDMTJBMUM1MEFCQkEwMDMyRjk4MyAvKiBTUUxpdGVJ
REJUcmFuc2FjdGlvbi5oICovOyB9OwpAQCAtOTU1MSw2ICs5NTUyLDggQEAKIAkJNTEwRDRBMzEx
MDMxNjVFRTAwNDlFQTU0IC8qIFNvY2tldFN0cmVhbUhhbmRsZS5oICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jLmg7IHBhdGggPSBTb2NrZXRTdHJlYW1IYW5kbGUuaDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKIAkJNTEwRDRBMzIxMDMxNjVFRTAwNDlFQTU0IC8qIFNvY2tldFN0cmVhbUhhbmRs
ZUNsaWVudC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBTb2NrZXRTdHJlYW1I
YW5kbGVDbGllbnQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNTExMEZDRkIxRTAz
NjJBNTAwNkY4RDBCIC8qIElEQkN1cnNvclJlY29yZC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
Lmg7IHBhdGggPSBJREJDdXJzb3JSZWNvcmQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
KwkJNTExMjNFMkMyNzY5M0MzMjAwRjlENDFCIC8qIE5vdGlmaWNhdGlvbkRhdGEuaCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gTm90aWZpY2F0aW9uRGF0YS5oOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OworCQk1MTEyM0UyRTI3NjkzQzMzMDBGOUQ0MUIgLyogTm90aWZpY2F0
aW9uRGF0YS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
NDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBOb3RpZmlj
YXRpb25EYXRhLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNTExN0YzMEEyNUU2
MTAxRTAwMkE5RjFFIC8qIFJlbW90ZUNvbW1hbmRMaXN0ZW5lckNvY29hLm1tICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jcHAub2JqY3BwOyBwYXRoID0gUmVtb3RlQ29tbWFuZExpc3RlbmVyQ29jb2Eu
bW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTUxMTdGMzBDMjVFNjEwMUYwMDJBOUYx
RSAvKiBSZW1vdGVDb21tYW5kTGlzdGVuZXJDb2NvYS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
Lmg7IHBhdGggPSBSZW1vdGVDb21tYW5kTGlzdGVuZXJDb2NvYS5oOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OwogCQk1MTFFQzEyNTFDNTBBQTU3MDAzMkY5ODMgLyogSURCU2VyaWFsaXphdGlv
bi5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBJREJTZXJpYWxpemF0
aW9uLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTIwNzA4LDYgKzIwNzExLDgg
QEAKIAkJCQkzMzUwM0M5OTEwMTc5QTc0MDAzQjQ3RTEgLyogTm90aWZpY2F0aW9uQ2xpZW50Lmgg
Ki8sCiAJCQkJMzEyOENBNjcxNDczMzE1MjAwNzRDNzJBIC8qIE5vdGlmaWNhdGlvbkNvbnRyb2xs
ZXIuY3BwICovLAogCQkJCTMxMjhDQTZBMTQ3MzMxNjMwMDc0QzcyQSAvKiBOb3RpZmljYXRpb25D
b250cm9sbGVyLmggKi8sCisJCQkJNTExMjNFMkUyNzY5M0MzMzAwRjlENDFCIC8qIE5vdGlmaWNh
dGlvbkRhdGEuY3BwICovLAorCQkJCTUxMTIzRTJDMjc2OTNDMzIwMEY5RDQxQiAvKiBOb3RpZmlj
YXRpb25EYXRhLmggKi8sCiAJCQkJN0NDMkRFMDIxRUNBMDRBNTAwMjdCNzc0IC8qIE5vdGlmaWNh
dGlvbkRpcmVjdGlvbi5oICovLAogCQkJCTdDQzJEREY4MUVDOTQxNUEwMDI3Qjc3NCAvKiBOb3Rp
ZmljYXRpb25QZXJtaXNzaW9uLmggKi8sCiAJCQkJN0NDMkRERkExRUM5NDE1QTAwMjdCNzc0IC8q
IE5vdGlmaWNhdGlvblBlcm1pc3Npb24uaWRsICovLApAQCAtMzcwNjEsNiArMzcwNjYsNyBAQAog
CQkJCTdFNDc0RTFFMTI0OTREQzkwMDIzNTM2NCAvKiBTUUxpdGVEYXRhYmFzZVRyYWNrZXJDbGll
bnQuaCBpbiBIZWFkZXJzICovLAogCQkJCUI1QTY4NDIyMEZGQUJFOTgwMEQyNDY4OSAvKiBTUUxp
dGVGaWxlU3lzdGVtLmggaW4gSGVhZGVycyAqLywKIAkJCQk1MTJCREI0QjFDNDU2RkZBMDA2NDk0
REYgLyogU1FMaXRlSURCQmFja2luZ1N0b3JlLmggaW4gSGVhZGVycyAqLywKKwkJCQk1MTEyM0Uy
RjI3Njk0MENBMDBGOUQ0MUIgLyogTm90aWZpY2F0aW9uRGF0YS5oIGluIEhlYWRlcnMgKi8sCiAJ
CQkJNTExRUMxMzAxQzUwQUJGNTAwMzJGOTgzIC8qIFNRTGl0ZUlEQkN1cnNvci5oIGluIEhlYWRl
cnMgKi8sCiAJCQkJNTExRUMxMkMxQzUwQUJCRjAwMzJGOTgzIC8qIFNRTGl0ZUlEQlRyYW5zYWN0
aW9uLmggaW4gSGVhZGVycyAqLywKIAkJCQkxQTIyNDY0QzBDQzk4RERCMDBDMDUyNDAgLyogU1FM
aXRlU3RhdGVtZW50LmggaW4gSGVhZGVycyAqLywKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQv
Q2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKaW5kZXggM2M0MzQyMzMyOTA1Li4y
OTMzYWUxMDQxYzMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzcgQEAKKzIwMjEtMTItMTUgIEJyYWR5
IEVpZHNvbiAgPGJlaWRzb25AYXBwbGUuY29tPgorCisgICAgICAgIEFkZCBhICJOb3RpZmljYXRp
b25EYXRhIiBvYmplY3QgdG8gZW5jb21wYXNzIGxvY2FsIE5vdGlmaWNhdGlvbi1yZWxhdGVkIHBh
cmFtZXRlcnMsIGluc3RlYWQgb2YgcGFzc2luZyB0b25zIG9mIHRoZW0gYXJvdW5kIGV2ZXJ5d2hl
cmUuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMzQz
NzAKKworICAgICAgICBSZXZpZXdlZCBieSBUaW0gSG9ydG9uLgorCisgICAgICAgICogTmV0d29y
a1Byb2Nlc3MvTm90aWZpY2F0aW9ucy9OZXR3b3JrTm90aWZpY2F0aW9uTWFuYWdlci5jcHA6Cisg
ICAgICAgIChXZWJLaXQ6Ok5ldHdvcmtOb3RpZmljYXRpb25NYW5hZ2VyOjpzaG93Tm90aWZpY2F0
aW9uKToKKyAgICAgICAgKiBOZXR3b3JrUHJvY2Vzcy9Ob3RpZmljYXRpb25zL05ldHdvcmtOb3Rp
ZmljYXRpb25NYW5hZ2VyLmg6CisKKyAgICAgICAgKiBTaGFyZWQvTm90aWZpY2F0aW9ucy9Ob3Rp
ZmljYXRpb25NYW5hZ2VyTWVzc2FnZUhhbmRsZXIuaDoKKyAgICAgICAgKiBTaGFyZWQvTm90aWZp
Y2F0aW9ucy9Ob3RpZmljYXRpb25NYW5hZ2VyTWVzc2FnZUhhbmRsZXIubWVzc2FnZXMuaW46CisK
KyAgICAgICAgKiBVSVByb2Nlc3MvTm90aWZpY2F0aW9ucy9XZWJOb3RpZmljYXRpb24uY3BwOgor
ICAgICAgICAoV2ViS2l0OjpXZWJOb3RpZmljYXRpb246OldlYk5vdGlmaWNhdGlvbik6CisgICAg
ICAgICogVUlQcm9jZXNzL05vdGlmaWNhdGlvbnMvV2ViTm90aWZpY2F0aW9uLmg6CisgICAgICAg
IChXZWJLaXQ6OldlYk5vdGlmaWNhdGlvbjo6Y3JlYXRlKToKKworICAgICAgICAqIFVJUHJvY2Vz
cy9Ob3RpZmljYXRpb25zL1dlYk5vdGlmaWNhdGlvbk1hbmFnZXJNZXNzYWdlSGFuZGxlci5jcHA6
CisgICAgICAgIChXZWJLaXQ6OldlYk5vdGlmaWNhdGlvbk1hbmFnZXJNZXNzYWdlSGFuZGxlcjo6
c2hvd05vdGlmaWNhdGlvbik6CisgICAgICAgICogVUlQcm9jZXNzL05vdGlmaWNhdGlvbnMvV2Vi
Tm90aWZpY2F0aW9uTWFuYWdlck1lc3NhZ2VIYW5kbGVyLmg6CisKKyAgICAgICAgKiBVSVByb2Nl
c3MvTm90aWZpY2F0aW9ucy9XZWJOb3RpZmljYXRpb25NYW5hZ2VyUHJveHkuY3BwOgorICAgICAg
ICAoV2ViS2l0OjpXZWJOb3RpZmljYXRpb25NYW5hZ2VyUHJveHk6OnNob3cpOgorICAgICAgICAq
IFVJUHJvY2Vzcy9Ob3RpZmljYXRpb25zL1dlYk5vdGlmaWNhdGlvbk1hbmFnZXJQcm94eS5oOgor
CisgICAgICAgICogVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5jcHA6CisgICAgICAgIChXZWJLaXQ6
OldlYlBhZ2VQcm94eTo6c2hvd05vdGlmaWNhdGlvbik6CisgICAgICAgICogVUlQcm9jZXNzL1dl
YlBhZ2VQcm94eS5oOgorCisgICAgICAgICogV2ViUHJvY2Vzcy9Ob3RpZmljYXRpb25zL1dlYk5v
dGlmaWNhdGlvbk1hbmFnZXIuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJOb3RpZmljYXRpb25N
YW5hZ2VyOjpzaG93KToKKwogMjAyMS0xMi0xNSAgQWxleCBDaHJpc3RlbnNlbiAgPGFjaHJpc3Rl
bnNlbkB3ZWJraXQub3JnPgogCiAgICAgICAgIFJlbW92ZSBQcm94eVNlcnZlcgpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9Ob3RpZmljYXRpb25zL05ldHdvcmtOb3Rp
ZmljYXRpb25NYW5hZ2VyLmNwcCBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvTm90aWZp
Y2F0aW9ucy9OZXR3b3JrTm90aWZpY2F0aW9uTWFuYWdlci5jcHAKaW5kZXggZTFhMDE4N2MxNDI2
Li42MjQ5MDBlZmQ0ZmQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3Mv
Tm90aWZpY2F0aW9ucy9OZXR3b3JrTm90aWZpY2F0aW9uTWFuYWdlci5jcHAKKysrIGIvU291cmNl
L1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9Ob3RpZmljYXRpb25zL05ldHdvcmtOb3RpZmljYXRpb25N
YW5hZ2VyLmNwcApAQCAtOTgsNyArOTgsNyBAQCB2b2lkIE5ldHdvcmtOb3RpZmljYXRpb25NYW5h
Z2VyOjpnZXRQZW5kaW5nUHVzaE1lc3NhZ2VzKENvbXBsZXRpb25IYW5kbGVyPHZvaWQoYwogICAg
IHNlbmRNZXNzYWdlV2l0aFJlcGx5PFdlYlB1c2hEOjpNZXNzYWdlVHlwZTo6R2V0UGVuZGluZ1B1
c2hNZXNzYWdlcz4oV1RGTW92ZShyZXBseUhhbmRsZXIpKTsKIH0KIAotdm9pZCBOZXR3b3JrTm90
aWZpY2F0aW9uTWFuYWdlcjo6c2hvd05vdGlmaWNhdGlvbihjb25zdCBTdHJpbmcmLCBjb25zdCBT
dHJpbmcmLCBjb25zdCBTdHJpbmcmLCBjb25zdCBTdHJpbmcmLCBjb25zdCBTdHJpbmcmLCBXZWJD
b3JlOjpOb3RpZmljYXRpb25EaXJlY3Rpb24sIGNvbnN0IFN0cmluZyYsIHVpbnQ2NF90KQordm9p
ZCBOZXR3b3JrTm90aWZpY2F0aW9uTWFuYWdlcjo6c2hvd05vdGlmaWNhdGlvbihjb25zdCBXZWJD
b3JlOjpOb3RpZmljYXRpb25EYXRhJikKIHsKICAgICBpZiAoIW1fY29ubmVjdGlvbikKICAgICAg
ICAgcmV0dXJuOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9Ob3Rp
ZmljYXRpb25zL05ldHdvcmtOb3RpZmljYXRpb25NYW5hZ2VyLmggYi9Tb3VyY2UvV2ViS2l0L05l
dHdvcmtQcm9jZXNzL05vdGlmaWNhdGlvbnMvTmV0d29ya05vdGlmaWNhdGlvbk1hbmFnZXIuaApp
bmRleCBkZmZmNWRiZjAyMTYuLjA1M2YzMGExNWVhYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dC9OZXR3b3JrUHJvY2Vzcy9Ob3RpZmljYXRpb25zL05ldHdvcmtOb3RpZmljYXRpb25NYW5hZ2Vy
LmgKKysrIGIvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9Ob3RpZmljYXRpb25zL05ldHdv
cmtOb3RpZmljYXRpb25NYW5hZ2VyLmgKQEAgLTU5LDcgKzU5LDcgQEAgcHJpdmF0ZToKICAgICBO
ZXR3b3JrTm90aWZpY2F0aW9uTWFuYWdlcihOZXR3b3JrU2Vzc2lvbiYsIGNvbnN0IFN0cmluZyYg
d2ViUHVzaE1hY2hTZXJ2aWNlTmFtZSk7CiAKICAgICB2b2lkIHJlcXVlc3RTeXN0ZW1Ob3RpZmlj
YXRpb25QZXJtaXNzaW9uKGNvbnN0IFN0cmluZyYgb3JpZ2luU3RyaW5nLCBDb21wbGV0aW9uSGFu
ZGxlcjx2b2lkKGJvb2wpPiYmKSBmaW5hbDsKLSAgICB2b2lkIHNob3dOb3RpZmljYXRpb24oY29u
c3QgU3RyaW5nJiB0aXRsZSwgY29uc3QgU3RyaW5nJiBib2R5LCBjb25zdCBTdHJpbmcmIGljb25V
UkwsIGNvbnN0IFN0cmluZyYgdGFnLCBjb25zdCBTdHJpbmcmIGxhbmcsIFdlYkNvcmU6Ok5vdGlm
aWNhdGlvbkRpcmVjdGlvbiwgY29uc3QgU3RyaW5nJiBvcmlnaW5TdHJpbmcsIHVpbnQ2NF90IG5v
dGlmaWNhdGlvbklEKSBmaW5hbDsKKyAgICB2b2lkIHNob3dOb3RpZmljYXRpb24oY29uc3QgV2Vi
Q29yZTo6Tm90aWZpY2F0aW9uRGF0YSYpIGZpbmFsOwogICAgIHZvaWQgY2FuY2VsTm90aWZpY2F0
aW9uKHVpbnQ2NF90IG5vdGlmaWNhdGlvbklEKSBmaW5hbDsKICAgICB2b2lkIGNsZWFyTm90aWZp
Y2F0aW9ucyhjb25zdCBWZWN0b3I8dWludDY0X3Q+JiBub3RpZmljYXRpb25JRHMpIGZpbmFsOwog
ICAgIHZvaWQgZGlkRGVzdHJveU5vdGlmaWNhdGlvbih1aW50NjRfdCBub3RpZmljYXRpb25JRCkg
ZmluYWw7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9Ob3RpZmljYXRpb25zL05v
dGlmaWNhdGlvbk1hbmFnZXJNZXNzYWdlSGFuZGxlci5oIGIvU291cmNlL1dlYktpdC9TaGFyZWQv
Tm90aWZpY2F0aW9ucy9Ob3RpZmljYXRpb25NYW5hZ2VyTWVzc2FnZUhhbmRsZXIuaAppbmRleCBl
MTA5MjBlOTBkOWEuLmUyMTJlZDFmZDYyYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9TaGFy
ZWQvTm90aWZpY2F0aW9ucy9Ob3RpZmljYXRpb25NYW5hZ2VyTWVzc2FnZUhhbmRsZXIuaAorKysg
Yi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9Ob3RpZmljYXRpb25zL05vdGlmaWNhdGlvbk1hbmFnZXJN
ZXNzYWdlSGFuZGxlci5oCkBAIC0yOSw2ICsyOSwxMCBAQAogI2luY2x1ZGUgIldlYlBhZ2VQcm94
eUlkZW50aWZpZXIuaCIKICNpbmNsdWRlIDxXZWJDb3JlL05vdGlmaWNhdGlvbkRpcmVjdGlvbi5o
PgogCituYW1lc3BhY2UgV2ViQ29yZSB7CitzdHJ1Y3QgTm90aWZpY2F0aW9uRGF0YTsKK30KKwog
bmFtZXNwYWNlIFdlYktpdCB7CiAKIGNsYXNzIE5vdGlmaWNhdGlvbk1hbmFnZXJNZXNzYWdlSGFu
ZGxlciA6IHB1YmxpYyBJUEM6Ok1lc3NhZ2VSZWNlaXZlciB7CkBAIC0zNiw3ICs0MCw3IEBAIHB1
YmxpYzoKICAgICB2aXJ0dWFsIH5Ob3RpZmljYXRpb25NYW5hZ2VyTWVzc2FnZUhhbmRsZXIoKSA9
IGRlZmF1bHQ7CiAKICAgICB2aXJ0dWFsIHZvaWQgcmVxdWVzdFN5c3RlbU5vdGlmaWNhdGlvblBl
cm1pc3Npb24oY29uc3QgU3RyaW5nJiBzZWN1cml0eU9yaWdpbiwgQ29tcGxldGlvbkhhbmRsZXI8
dm9pZChib29sKT4mJikgPSAwOwotICAgIHZpcnR1YWwgdm9pZCBzaG93Tm90aWZpY2F0aW9uKGNv
bnN0IFN0cmluZyYgdGl0bGUsIGNvbnN0IFN0cmluZyYgYm9keSwgY29uc3QgU3RyaW5nJiBpY29u
VVJMLCBjb25zdCBTdHJpbmcmIHRhZywgY29uc3QgU3RyaW5nJiBsYW5ndWFnZSwgV2ViQ29yZTo6
Tm90aWZpY2F0aW9uRGlyZWN0aW9uLCBjb25zdCBTdHJpbmcmIG9yaWdpblN0cmluZywgdWludDY0
X3Qgbm90aWZpY2F0aW9uSUQpID0gMDsKKyAgICB2aXJ0dWFsIHZvaWQgc2hvd05vdGlmaWNhdGlv
bihjb25zdCBXZWJDb3JlOjpOb3RpZmljYXRpb25EYXRhJikgPSAwOwogICAgIHZpcnR1YWwgdm9p
ZCBjYW5jZWxOb3RpZmljYXRpb24odWludDY0X3Qgbm90aWZpY2F0aW9uSUQpID0gMDsKICAgICB2
aXJ0dWFsIHZvaWQgY2xlYXJOb3RpZmljYXRpb25zKGNvbnN0IFZlY3Rvcjx1aW50NjRfdD4mIG5v
dGlmaWNhdGlvbklEcykgPSAwOwogICAgIHZpcnR1YWwgdm9pZCBkaWREZXN0cm95Tm90aWZpY2F0
aW9uKHVpbnQ2NF90IG5vdGlmaWNhdGlvbklEKSA9IDA7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0L1NoYXJlZC9Ob3RpZmljYXRpb25zL05vdGlmaWNhdGlvbk1hbmFnZXJNZXNzYWdlSGFuZGxl
ci5tZXNzYWdlcy5pbiBiL1NvdXJjZS9XZWJLaXQvU2hhcmVkL05vdGlmaWNhdGlvbnMvTm90aWZp
Y2F0aW9uTWFuYWdlck1lc3NhZ2VIYW5kbGVyLm1lc3NhZ2VzLmluCmluZGV4IGQ1ODkwZWRjM2Q1
Mi4uYWJjZjk3NDZiMDQ5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9Ob3RpZmlj
YXRpb25zL05vdGlmaWNhdGlvbk1hbmFnZXJNZXNzYWdlSGFuZGxlci5tZXNzYWdlcy5pbgorKysg
Yi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9Ob3RpZmljYXRpb25zL05vdGlmaWNhdGlvbk1hbmFnZXJN
ZXNzYWdlSGFuZGxlci5tZXNzYWdlcy5pbgpAQCAtMjIsNyArMjIsNyBAQAogCiBtZXNzYWdlcyAt
PiBOb3RpZmljYXRpb25NYW5hZ2VyTWVzc2FnZUhhbmRsZXIgTm90UmVmQ291bnRlZCB7CiAgICAg
UmVxdWVzdFN5c3RlbU5vdGlmaWNhdGlvblBlcm1pc3Npb24oU3RyaW5nIG9yaWdpbklkZW50aWZp
ZXIpIC0+IChib29sIGFsbG93ZWQpIEFzeW5jCi0gICAgU2hvd05vdGlmaWNhdGlvbihTdHJpbmcg
dGl0bGUsIFN0cmluZyBib2R5LCBTdHJpbmcgaWNvblVSTCwgU3RyaW5nIHRhZywgU3RyaW5nIGxh
bmd1YWdlLCBlbnVtOnVpbnQ4X3QgV2ViQ29yZTo6Tm90aWZpY2F0aW9uRGlyZWN0aW9uIGRpcmVj
dGlvbiwgU3RyaW5nIG9yaWdpbklkZW50aWZpZXIsIHVpbnQ2NF90IG5vdGlmaWNhdGlvbklEKQor
ICAgIFNob3dOb3RpZmljYXRpb24oc3RydWN0IFdlYkNvcmU6Ok5vdGlmaWNhdGlvbkRhdGEgbm90
aWZpY2F0aW9uRGF0YSkKICAgICBDYW5jZWxOb3RpZmljYXRpb24odWludDY0X3Qgbm90aWZpY2F0
aW9uSUQpCiAgICAgQ2xlYXJOb3RpZmljYXRpb25zKFZlY3Rvcjx1aW50NjRfdD4gbm90aWZpY2F0
aW9uSURzKQogICAgIERpZERlc3Ryb3lOb3RpZmljYXRpb24odWludDY0X3Qgbm90aWZpY2F0aW9u
SUQpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Ob3RpZmljYXRpb25zL1dl
Yk5vdGlmaWNhdGlvbi5jcHAgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Ob3RpZmljYXRpb25z
L1dlYk5vdGlmaWNhdGlvbi5jcHAKaW5kZXggNzRlMmI3ZThiZDg2Li4wOGE2ZjZlMmY0YmYgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL05vdGlmaWNhdGlvbnMvV2ViTm90aWZp
Y2F0aW9uLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Ob3RpZmljYXRpb25zL1dl
Yk5vdGlmaWNhdGlvbi5jcHAKQEAgLTI2LDE3ICsyNiwxOSBAQAogI2luY2x1ZGUgImNvbmZpZy5o
IgogI2luY2x1ZGUgIldlYk5vdGlmaWNhdGlvbi5oIgogCisjaW5jbHVkZSA8V2ViQ29yZS9Ob3Rp
ZmljYXRpb25EYXRhLmg+CisKIG5hbWVzcGFjZSBXZWJLaXQgewogCi1XZWJOb3RpZmljYXRpb246
OldlYk5vdGlmaWNhdGlvbihjb25zdCBTdHJpbmcmIHRpdGxlLCBjb25zdCBTdHJpbmcmIGJvZHks
IGNvbnN0IFN0cmluZyYgaWNvblVSTCwgY29uc3QgU3RyaW5nJiB0YWcsIGNvbnN0IFN0cmluZyYg
bGFuZywgV2ViQ29yZTo6Tm90aWZpY2F0aW9uRGlyZWN0aW9uIGRpciwgY29uc3QgU3RyaW5nJiBv
cmlnaW5TdHJpbmcsIHVpbnQ2NF90IG5vdGlmaWNhdGlvbklEKQotICAgIDogbV90aXRsZSh0aXRs
ZSkKLSAgICAsIG1fYm9keShib2R5KQotICAgICwgbV9pY29uVVJMKGljb25VUkwpCi0gICAgLCBt
X3RhZyh0YWcpCi0gICAgLCBtX2xhbmcobGFuZykKLSAgICAsIG1fZGlyKGRpcikKLSAgICAsIG1f
b3JpZ2luKEFQSTo6U2VjdXJpdHlPcmlnaW46OmNyZWF0ZUZyb21TdHJpbmcob3JpZ2luU3RyaW5n
KSkKLSAgICAsIG1fbm90aWZpY2F0aW9uSUQobm90aWZpY2F0aW9uSUQpCitXZWJOb3RpZmljYXRp
b246OldlYk5vdGlmaWNhdGlvbihjb25zdCBXZWJDb3JlOjpOb3RpZmljYXRpb25EYXRhJiBkYXRh
KQorICAgIDogbV90aXRsZShkYXRhLnRpdGxlKQorICAgICwgbV9ib2R5KGRhdGEuYm9keSkKKyAg
ICAsIG1faWNvblVSTChkYXRhLmljb25VUkwpCisgICAgLCBtX3RhZyhkYXRhLnRhZykKKyAgICAs
IG1fbGFuZyhkYXRhLmxhbmd1YWdlKQorICAgICwgbV9kaXIoZGF0YS5kaXJlY3Rpb24pCisgICAg
LCBtX29yaWdpbihBUEk6OlNlY3VyaXR5T3JpZ2luOjpjcmVhdGVGcm9tU3RyaW5nKGRhdGEub3Jp
Z2luU3RyaW5nKSkKKyAgICAsIG1fbm90aWZpY2F0aW9uSUQoZGF0YS5ub3RpZmljYXRpb25JRCkK
IHsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvTm90aWZpY2F0aW9u
cy9XZWJOb3RpZmljYXRpb24uaCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL05vdGlmaWNhdGlv
bnMvV2ViTm90aWZpY2F0aW9uLmgKaW5kZXggMjhlZTFkODM2NmJjLi4wZDIyZDQ3ZTIwMWYgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL05vdGlmaWNhdGlvbnMvV2ViTm90aWZp
Y2F0aW9uLmgKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvTm90aWZpY2F0aW9ucy9XZWJO
b3RpZmljYXRpb24uaApAQCAtMzIsMTUgKzMyLDE2IEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsK
IGVudW0gY2xhc3MgTm90aWZpY2F0aW9uRGlyZWN0aW9uIDogdWludDhfdDsKK3N0cnVjdCBOb3Rp
ZmljYXRpb25EYXRhOwogfQogCiBuYW1lc3BhY2UgV2ViS2l0IHsKIAogY2xhc3MgV2ViTm90aWZp
Y2F0aW9uIDogcHVibGljIEFQSTo6T2JqZWN0SW1wbDxBUEk6Ok9iamVjdDo6VHlwZTo6Tm90aWZp
Y2F0aW9uPiB7CiBwdWJsaWM6Ci0gICAgc3RhdGljIFJlZjxXZWJOb3RpZmljYXRpb24+IGNyZWF0
ZShjb25zdCBTdHJpbmcmIHRpdGxlLCBjb25zdCBTdHJpbmcmIGJvZHksIGNvbnN0IFN0cmluZyYg
aWNvblVSTCwgY29uc3QgU3RyaW5nJiB0YWcsIGNvbnN0IFN0cmluZyYgbGFuZywgV2ViQ29yZTo6
Tm90aWZpY2F0aW9uRGlyZWN0aW9uIGRpciwgY29uc3QgU3RyaW5nJiBvcmlnaW5TdHJpbmcsIHVp
bnQ2NF90IG5vdGlmaWNhdGlvbklEKQorICAgIHN0YXRpYyBSZWY8V2ViTm90aWZpY2F0aW9uPiBj
cmVhdGUoY29uc3QgV2ViQ29yZTo6Tm90aWZpY2F0aW9uRGF0YSYgZGF0YSkKICAgICB7Ci0gICAg
ICAgIHJldHVybiBhZG9wdFJlZigqbmV3IFdlYk5vdGlmaWNhdGlvbih0aXRsZSwgYm9keSwgaWNv
blVSTCwgdGFnLCBsYW5nLCBkaXIsIG9yaWdpblN0cmluZywgbm90aWZpY2F0aW9uSUQpKTsKKyAg
ICAgICAgcmV0dXJuIGFkb3B0UmVmKCpuZXcgV2ViTm90aWZpY2F0aW9uKGRhdGEpKTsKICAgICB9
CiAKICAgICBjb25zdCBTdHJpbmcmIHRpdGxlKCkgY29uc3QgeyByZXR1cm4gbV90aXRsZTsgfQpA
QCAtNTQsNyArNTUsNyBAQCBwdWJsaWM6CiAgICAgdWludDY0X3Qgbm90aWZpY2F0aW9uSUQoKSBj
b25zdCB7IHJldHVybiBtX25vdGlmaWNhdGlvbklEOyB9CiAKIHByaXZhdGU6Ci0gICAgV2ViTm90
aWZpY2F0aW9uKGNvbnN0IFN0cmluZyYgdGl0bGUsIGNvbnN0IFN0cmluZyYgYm9keSwgY29uc3Qg
U3RyaW5nJiBpY29uVVJMLCBjb25zdCBTdHJpbmcmIHRhZywgY29uc3QgU3RyaW5nJiBsYW5nLCBX
ZWJDb3JlOjpOb3RpZmljYXRpb25EaXJlY3Rpb24sIGNvbnN0IFN0cmluZyYgb3JpZ2luU3RyaW5n
LCB1aW50NjRfdCBub3RpZmljYXRpb25JRCk7CisgICAgV2ViTm90aWZpY2F0aW9uKGNvbnN0IFdl
YkNvcmU6Ok5vdGlmaWNhdGlvbkRhdGEmKTsKIAogICAgIFN0cmluZyBtX3RpdGxlOwogICAgIFN0
cmluZyBtX2JvZHk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Ob3RpZmlj
YXRpb25zL1dlYk5vdGlmaWNhdGlvbk1hbmFnZXJNZXNzYWdlSGFuZGxlci5jcHAgYi9Tb3VyY2Uv
V2ViS2l0L1VJUHJvY2Vzcy9Ob3RpZmljYXRpb25zL1dlYk5vdGlmaWNhdGlvbk1hbmFnZXJNZXNz
YWdlSGFuZGxlci5jcHAKaW5kZXggZGJmZWZiMDE1OTk4Li5hMjlhZWQ1NTA3ZWEgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL05vdGlmaWNhdGlvbnMvV2ViTm90aWZpY2F0aW9u
TWFuYWdlck1lc3NhZ2VIYW5kbGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9O
b3RpZmljYXRpb25zL1dlYk5vdGlmaWNhdGlvbk1hbmFnZXJNZXNzYWdlSGFuZGxlci5jcHAKQEAg
LTQwLDkgKzQwLDkgQEAgdm9pZCBXZWJOb3RpZmljYXRpb25NYW5hZ2VyTWVzc2FnZUhhbmRsZXI6
OnJlcXVlc3RTeXN0ZW1Ob3RpZmljYXRpb25QZXJtaXNzaW9uKGMKICAgICBSRUxFQVNFX0FTU0VS
VF9OT1RfUkVBQ0hFRCgpOwogfQogCi12b2lkIFdlYk5vdGlmaWNhdGlvbk1hbmFnZXJNZXNzYWdl
SGFuZGxlcjo6c2hvd05vdGlmaWNhdGlvbihjb25zdCBTdHJpbmcmIHRpdGxlLCBjb25zdCBTdHJp
bmcmIGJvZHksIGNvbnN0IFN0cmluZyYgaWNvblVSTCwgY29uc3QgU3RyaW5nJiB0YWcsIGNvbnN0
IFN0cmluZyYgbGFuZ3VhZ2UsIFdlYkNvcmU6Ok5vdGlmaWNhdGlvbkRpcmVjdGlvbiBkaXJlY3Rp
b24sIGNvbnN0IFN0cmluZyYgb3JpZ2luU3RyaW5nLCB1aW50NjRfdCBub3RpZmljYXRpb25JRCkK
K3ZvaWQgV2ViTm90aWZpY2F0aW9uTWFuYWdlck1lc3NhZ2VIYW5kbGVyOjpzaG93Tm90aWZpY2F0
aW9uKGNvbnN0IFdlYkNvcmU6Ok5vdGlmaWNhdGlvbkRhdGEmIGRhdGEpCiB7Ci0gICAgbV93ZWJQ
YWdlUHJveHkuc2hvd05vdGlmaWNhdGlvbih0aXRsZSwgYm9keSwgaWNvblVSTCwgdGFnLCBsYW5n
dWFnZSwgZGlyZWN0aW9uLCBvcmlnaW5TdHJpbmcsIG5vdGlmaWNhdGlvbklEKTsKKyAgICBtX3dl
YlBhZ2VQcm94eS5zaG93Tm90aWZpY2F0aW9uKGRhdGEpOwogfQogCiB2b2lkIFdlYk5vdGlmaWNh
dGlvbk1hbmFnZXJNZXNzYWdlSGFuZGxlcjo6Y2FuY2VsTm90aWZpY2F0aW9uKHVpbnQ2NF90IG5v
dGlmaWNhdGlvbklEKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvTm90aWZp
Y2F0aW9ucy9XZWJOb3RpZmljYXRpb25NYW5hZ2VyTWVzc2FnZUhhbmRsZXIuaCBiL1NvdXJjZS9X
ZWJLaXQvVUlQcm9jZXNzL05vdGlmaWNhdGlvbnMvV2ViTm90aWZpY2F0aW9uTWFuYWdlck1lc3Nh
Z2VIYW5kbGVyLmgKaW5kZXggM2UwYTNjODRhZjVhLi40MjUxZjcyZmViZTIgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL05vdGlmaWNhdGlvbnMvV2ViTm90aWZpY2F0aW9uTWFu
YWdlck1lc3NhZ2VIYW5kbGVyLmgKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvTm90aWZp
Y2F0aW9ucy9XZWJOb3RpZmljYXRpb25NYW5hZ2VyTWVzc2FnZUhhbmRsZXIuaApAQCAtMzcsNyAr
MzcsNyBAQCBwcml2YXRlOgogICAgIGV4cGxpY2l0IFdlYk5vdGlmaWNhdGlvbk1hbmFnZXJNZXNz
YWdlSGFuZGxlcihXZWJQYWdlUHJveHkmKTsKIAogICAgIHZvaWQgcmVxdWVzdFN5c3RlbU5vdGlm
aWNhdGlvblBlcm1pc3Npb24oY29uc3QgU3RyaW5nJiwgQ29tcGxldGlvbkhhbmRsZXI8dm9pZChi
b29sKT4mJikgZmluYWw7Ci0gICAgdm9pZCBzaG93Tm90aWZpY2F0aW9uKGNvbnN0IFN0cmluZyYg
dGl0bGUsIGNvbnN0IFN0cmluZyYgYm9keSwgY29uc3QgU3RyaW5nJiBpY29uVVJMLCBjb25zdCBT
dHJpbmcmIHRhZywgY29uc3QgU3RyaW5nJiBsYW5ndWFnZSwgV2ViQ29yZTo6Tm90aWZpY2F0aW9u
RGlyZWN0aW9uLCBjb25zdCBTdHJpbmcmIG9yaWdpblN0cmluZywgdWludDY0X3Qgbm90aWZpY2F0
aW9uSUQpIGZpbmFsOworICAgIHZvaWQgc2hvd05vdGlmaWNhdGlvbihjb25zdCBXZWJDb3JlOjpO
b3RpZmljYXRpb25EYXRhJikgZmluYWw7CiAgICAgdm9pZCBjYW5jZWxOb3RpZmljYXRpb24odWlu
dDY0X3Qgbm90aWZpY2F0aW9uSUQpIGZpbmFsOwogICAgIHZvaWQgY2xlYXJOb3RpZmljYXRpb25z
KGNvbnN0IFZlY3Rvcjx1aW50NjRfdD4mIG5vdGlmaWNhdGlvbklEcykgZmluYWw7CiAgICAgdm9p
ZCBkaWREZXN0cm95Tm90aWZpY2F0aW9uKHVpbnQ2NF90IG5vdGlmaWNhdGlvbklEKSBmaW5hbDsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL05vdGlmaWNhdGlvbnMvV2ViTm90
aWZpY2F0aW9uTWFuYWdlclByb3h5LmNwcCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL05vdGlm
aWNhdGlvbnMvV2ViTm90aWZpY2F0aW9uTWFuYWdlclByb3h5LmNwcAppbmRleCA3NjA2MzFjNDkw
ZjYuLjU2ZWY1MDUzM2IwMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvTm90
aWZpY2F0aW9ucy9XZWJOb3RpZmljYXRpb25NYW5hZ2VyUHJveHkuY3BwCisrKyBiL1NvdXJjZS9X
ZWJLaXQvVUlQcm9jZXNzL05vdGlmaWNhdGlvbnMvV2ViTm90aWZpY2F0aW9uTWFuYWdlclByb3h5
LmNwcApAQCAtOTMsMTEgKzkzLDExIEBAIEhhc2hNYXA8U3RyaW5nLCBib29sPiBXZWJOb3RpZmlj
YXRpb25NYW5hZ2VyUHJveHk6Om5vdGlmaWNhdGlvblBlcm1pc3Npb25zKCkKICAgICByZXR1cm4g
bV9wcm92aWRlci0+bm90aWZpY2F0aW9uUGVybWlzc2lvbnMoKTsKIH0KIAotdm9pZCBXZWJOb3Rp
ZmljYXRpb25NYW5hZ2VyUHJveHk6OnNob3coV2ViUGFnZVByb3h5KiB3ZWJQYWdlLCBjb25zdCBT
dHJpbmcmIHRpdGxlLCBjb25zdCBTdHJpbmcmIGJvZHksIGNvbnN0IFN0cmluZyYgaWNvblVSTCwg
Y29uc3QgU3RyaW5nJiB0YWcsIGNvbnN0IFN0cmluZyYgbGFuZywgV2ViQ29yZTo6Tm90aWZpY2F0
aW9uRGlyZWN0aW9uIGRpciwgY29uc3QgU3RyaW5nJiBvcmlnaW5TdHJpbmcsIHVpbnQ2NF90IHBh
Z2VOb3RpZmljYXRpb25JRCkKK3ZvaWQgV2ViTm90aWZpY2F0aW9uTWFuYWdlclByb3h5OjpzaG93
KFdlYlBhZ2VQcm94eSogd2ViUGFnZSwgY29uc3QgV2ViQ29yZTo6Tm90aWZpY2F0aW9uRGF0YSYg
bm90aWZpY2F0aW9uRGF0YSkKIHsKICAgICB1aW50NjRfdCBnbG9iYWxOb3RpZmljYXRpb25JRCA9
IGdlbmVyYXRlR2xvYmFsTm90aWZpY2F0aW9uSUQoKTsKLSAgICBhdXRvIG5vdGlmaWNhdGlvbiA9
IFdlYk5vdGlmaWNhdGlvbjo6Y3JlYXRlKHRpdGxlLCBib2R5LCBpY29uVVJMLCB0YWcsIGxhbmcs
IGRpciwgb3JpZ2luU3RyaW5nLCBnbG9iYWxOb3RpZmljYXRpb25JRCk7Ci0gICAgYXV0byBub3Rp
ZmljYXRpb25JRFBhaXIgPSBzdGQ6Om1ha2VfcGFpcih3ZWJQYWdlLT5pZGVudGlmaWVyKCksIHBh
Z2VOb3RpZmljYXRpb25JRCk7CisgICAgYXV0byBub3RpZmljYXRpb24gPSBXZWJOb3RpZmljYXRp
b246OmNyZWF0ZShub3RpZmljYXRpb25EYXRhKTsKKyAgICBhdXRvIG5vdGlmaWNhdGlvbklEUGFp
ciA9IHN0ZDo6bWFrZV9wYWlyKHdlYlBhZ2UtPmlkZW50aWZpZXIoKSwgbm90aWZpY2F0aW9uRGF0
YS5ub3RpZmljYXRpb25JRCk7CiAgICAgbV9nbG9iYWxOb3RpZmljYXRpb25NYXAuc2V0KGdsb2Jh
bE5vdGlmaWNhdGlvbklELCBub3RpZmljYXRpb25JRFBhaXIpOwogICAgIG1fbm90aWZpY2F0aW9u
cy5zZXQobm90aWZpY2F0aW9uSURQYWlyLCBzdGQ6Om1ha2VfcGFpcihnbG9iYWxOb3RpZmljYXRp
b25JRCwgbm90aWZpY2F0aW9uLmNvcHlSZWYoKSkpOwogICAgIG1fcHJvdmlkZXItPnNob3coKndl
YlBhZ2UsIG5vdGlmaWNhdGlvbi5nZXQoKSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJ
UHJvY2Vzcy9Ob3RpZmljYXRpb25zL1dlYk5vdGlmaWNhdGlvbk1hbmFnZXJQcm94eS5oIGIvU291
cmNlL1dlYktpdC9VSVByb2Nlc3MvTm90aWZpY2F0aW9ucy9XZWJOb3RpZmljYXRpb25NYW5hZ2Vy
UHJveHkuaAppbmRleCA0OGFiNThlODFjZjcuLmRhZjMzOTdmMzhkNSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdC9VSVByb2Nlc3MvTm90aWZpY2F0aW9ucy9XZWJOb3RpZmljYXRpb25NYW5hZ2Vy
UHJveHkuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Ob3RpZmljYXRpb25zL1dlYk5v
dGlmaWNhdGlvbk1hbmFnZXJQcm94eS5oCkBAIC0zNCw3ICszNCw3IEBACiAjaW5jbHVkZSA8d3Rm
L3RleHQvU3RyaW5nSGFzaC5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7Ci1lbnVtIGNsYXNzIE5v
dGlmaWNhdGlvbkRpcmVjdGlvbiA6IHVpbnQ4X3Q7CitzdHJ1Y3QgTm90aWZpY2F0aW9uRGF0YTsK
IH0KIAogbmFtZXNwYWNlIEFQSSB7CkBAIC01OSw3ICs1OSw3IEBAIHB1YmxpYzoKICAgICB2b2lk
IHNldFByb3ZpZGVyKHN0ZDo6dW5pcXVlX3B0cjxBUEk6Ok5vdGlmaWNhdGlvblByb3ZpZGVyPiYm
KTsKICAgICBIYXNoTWFwPFN0cmluZywgYm9vbD4gbm90aWZpY2F0aW9uUGVybWlzc2lvbnMoKTsK
IAotICAgIHZvaWQgc2hvdyhXZWJQYWdlUHJveHkqLCBjb25zdCBTdHJpbmcmIHRpdGxlLCBjb25z
dCBTdHJpbmcmIGJvZHksIGNvbnN0IFN0cmluZyYgaWNvblVSTCwgY29uc3QgU3RyaW5nJiB0YWcs
IGNvbnN0IFN0cmluZyYgbGFuZywgV2ViQ29yZTo6Tm90aWZpY2F0aW9uRGlyZWN0aW9uLCBjb25z
dCBTdHJpbmcmIG9yaWdpblN0cmluZywgdWludDY0X3QgcGFnZU5vdGlmaWNhdGlvbklEKTsKKyAg
ICB2b2lkIHNob3coV2ViUGFnZVByb3h5KiwgY29uc3QgV2ViQ29yZTo6Tm90aWZpY2F0aW9uRGF0
YSYpOwogICAgIHZvaWQgY2FuY2VsKFdlYlBhZ2VQcm94eSosIHVpbnQ2NF90IHBhZ2VOb3RpZmlj
YXRpb25JRCk7CiAgICAgdm9pZCBjbGVhck5vdGlmaWNhdGlvbnMoV2ViUGFnZVByb3h5Kik7CiAg
ICAgdm9pZCBjbGVhck5vdGlmaWNhdGlvbnMoV2ViUGFnZVByb3h5KiwgY29uc3QgVmVjdG9yPHVp
bnQ2NF90PiYgcGFnZU5vdGlmaWNhdGlvbklEcyk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuY3BwIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2Vi
UGFnZVByb3h5LmNwcAppbmRleCAxMjBiOTA0ODcyYmQuLjVmZDdmM2EyY2MwNCAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmNwcAorKysgYi9Tb3VyY2Uv
V2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuY3BwCkBAIC04NzMzLDkgKzg3MzMsOSBAQCB2
b2lkIFdlYlBhZ2VQcm94eTo6cmVxdWVzdE5vdGlmaWNhdGlvblBlcm1pc3Npb24oY29uc3QgU3Ry
aW5nJiBvcmlnaW5TdHJpbmcsIENvbQogICAgIG1fdWlDbGllbnQtPmRlY2lkZVBvbGljeUZvck5v
dGlmaWNhdGlvblBlcm1pc3Npb25SZXF1ZXN0KCp0aGlzLCBvcmlnaW4uZ2V0KCksIFdURk1vdmUo
Y29tcGxldGlvbkhhbmRsZXIpKTsKIH0KIAotdm9pZCBXZWJQYWdlUHJveHk6OnNob3dOb3RpZmlj
YXRpb24oY29uc3QgU3RyaW5nJiB0aXRsZSwgY29uc3QgU3RyaW5nJiBib2R5LCBjb25zdCBTdHJp
bmcmIGljb25VUkwsIGNvbnN0IFN0cmluZyYgdGFnLCBjb25zdCBTdHJpbmcmIGxhbmcsIFdlYkNv
cmU6Ok5vdGlmaWNhdGlvbkRpcmVjdGlvbiBkaXIsIGNvbnN0IFN0cmluZyYgb3JpZ2luU3RyaW5n
LCB1aW50NjRfdCBub3RpZmljYXRpb25JRCkKK3ZvaWQgV2ViUGFnZVByb3h5OjpzaG93Tm90aWZp
Y2F0aW9uKGNvbnN0IFdlYkNvcmU6Ok5vdGlmaWNhdGlvbkRhdGEmIG5vdGlmaWNhdGlvbkRhdGEp
CiB7Ci0gICAgbV9wcm9jZXNzLT5wcm9jZXNzUG9vbCgpLnN1cHBsZW1lbnQ8V2ViTm90aWZpY2F0
aW9uTWFuYWdlclByb3h5PigpLT5zaG93KHRoaXMsIHRpdGxlLCBib2R5LCBpY29uVVJMLCB0YWcs
IGxhbmcsIGRpciwgb3JpZ2luU3RyaW5nLCBub3RpZmljYXRpb25JRCk7CisgICAgbV9wcm9jZXNz
LT5wcm9jZXNzUG9vbCgpLnN1cHBsZW1lbnQ8V2ViTm90aWZpY2F0aW9uTWFuYWdlclByb3h5Pigp
LT5zaG93KHRoaXMsIG5vdGlmaWNhdGlvbkRhdGEpOwogfQogCiB2b2lkIFdlYlBhZ2VQcm94eTo6
Y2FuY2VsTm90aWZpY2F0aW9uKHVpbnQ2NF90IG5vdGlmaWNhdGlvbklEKQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmggYi9Tb3VyY2UvV2ViS2l0L1VJ
UHJvY2Vzcy9XZWJQYWdlUHJveHkuaAppbmRleCAzYjM3NjFhN2U3NzEuLjI3MGQ1ZGFjYmUyOCAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmgKKysrIGIv
U291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmgKQEAgLTIwMzIsNyArMjAzMiw3
IEBAIHB1YmxpYzoKICAgICBib29sIGlzUXVhcmFudGluZWRBbmROb3RVc2VyQXBwcm92ZWQoY29u
c3QgU3RyaW5nJik7CiAjZW5kaWYKIAotICAgIHZvaWQgc2hvd05vdGlmaWNhdGlvbihjb25zdCBT
dHJpbmcmIHRpdGxlLCBjb25zdCBTdHJpbmcmIGJvZHksIGNvbnN0IFN0cmluZyYgaWNvblVSTCwg
Y29uc3QgU3RyaW5nJiB0YWcsIGNvbnN0IFN0cmluZyYgbGFuZywgV2ViQ29yZTo6Tm90aWZpY2F0
aW9uRGlyZWN0aW9uLCBjb25zdCBTdHJpbmcmIG9yaWdpblN0cmluZywgdWludDY0X3Qgbm90aWZp
Y2F0aW9uSUQpOworICAgIHZvaWQgc2hvd05vdGlmaWNhdGlvbihjb25zdCBXZWJDb3JlOjpOb3Rp
ZmljYXRpb25EYXRhJik7CiAgICAgdm9pZCBjYW5jZWxOb3RpZmljYXRpb24odWludDY0X3Qgbm90
aWZpY2F0aW9uSUQpOwogICAgIHZvaWQgY2xlYXJOb3RpZmljYXRpb25zKGNvbnN0IFZlY3Rvcjx1
aW50NjRfdD4mIG5vdGlmaWNhdGlvbklEcyk7CiAgICAgdm9pZCBkaWREZXN0cm95Tm90aWZpY2F0
aW9uKHVpbnQ2NF90IG5vdGlmaWNhdGlvbklEKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQv
V2ViUHJvY2Vzcy9Ob3RpZmljYXRpb25zL1dlYk5vdGlmaWNhdGlvbk1hbmFnZXIuY3BwIGIvU291
cmNlL1dlYktpdC9XZWJQcm9jZXNzL05vdGlmaWNhdGlvbnMvV2ViTm90aWZpY2F0aW9uTWFuYWdl
ci5jcHAKaW5kZXggZTAxZDlkNjg1YmEyLi45YTIwMTg5MmIxYzEgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQvV2ViUHJvY2Vzcy9Ob3RpZmljYXRpb25zL1dlYk5vdGlmaWNhdGlvbk1hbmFnZXIu
Y3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9Ob3RpZmljYXRpb25zL1dlYk5vdGlm
aWNhdGlvbk1hbmFnZXIuY3BwCkBAIC0zOSw2ICszOSw3IEBACiAjaW5jbHVkZSAiV2ViUGFnZVBy
b3h5TWVzc2FnZXMuaCIKICNpbmNsdWRlIDxXZWJDb3JlL0RvY3VtZW50Lmg+CiAjaW5jbHVkZSA8
V2ViQ29yZS9Ob3RpZmljYXRpb24uaD4KKyNpbmNsdWRlIDxXZWJDb3JlL05vdGlmaWNhdGlvbkRh
dGEuaD4KICNpbmNsdWRlIDxXZWJDb3JlL1BhZ2UuaD4KICNpbmNsdWRlIDxXZWJDb3JlL1J1bnRp
bWVFbmFibGVkRmVhdHVyZXMuaD4KICNpbmNsdWRlIDxXZWJDb3JlL1NjcmlwdEV4ZWN1dGlvbkNv
bnRleHQuaD4KQEAgLTE2Myw3ICsxNjQsOSBAQCBib29sIFdlYk5vdGlmaWNhdGlvbk1hbmFnZXI6
OnNob3coTm90aWZpY2F0aW9uKiBub3RpZmljYXRpb24sIFdlYlBhZ2UqIHBhZ2UpCiAgICAgYXV0
byBpdCA9IG1fbm90aWZpY2F0aW9uQ29udGV4dE1hcC5hZGQobm90aWZpY2F0aW9uLT5zY3JpcHRF
eGVjdXRpb25Db250ZXh0KCksIFZlY3Rvcjx1aW50NjRfdD4oKSkuaXRlcmF0b3I7CiAgICAgaXQt
PnZhbHVlLmFwcGVuZChub3RpZmljYXRpb25JRCk7CiAKLSAgICBzZW5kTm90aWZpY2F0aW9uTWVz
c2FnZShtX3Byb2Nlc3MsIE1lc3NhZ2VzOjpOb3RpZmljYXRpb25NYW5hZ2VyTWVzc2FnZUhhbmRs
ZXI6OlNob3dOb3RpZmljYXRpb24obm90aWZpY2F0aW9uLT50aXRsZSgpLCBub3RpZmljYXRpb24t
PmJvZHkoKSwgbm90aWZpY2F0aW9uLT5pY29uKCkuc3RyaW5nKCksIG5vdGlmaWNhdGlvbi0+dGFn
KCksIG5vdGlmaWNhdGlvbi0+bGFuZygpLCBub3RpZmljYXRpb24tPmRpcigpLCBub3RpZmljYXRp
b24tPnNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKS0+c2VjdXJpdHlPcmlnaW4oKS0+dG9TdHJpbmco
KSwgbm90aWZpY2F0aW9uSUQpLCAqcGFnZSk7CisgICAgYXV0byBub3RpZmljYXRpb25EYXRhID0g
bm90aWZpY2F0aW9uLT5kYXRhV2l0aG91dE5vdGlmaWNhdGlvbklEKCk7CisgICAgbm90aWZpY2F0
aW9uRGF0YS5ub3RpZmljYXRpb25JRCA9IG5vdGlmaWNhdGlvbklEOworICAgIHNlbmROb3RpZmlj
YXRpb25NZXNzYWdlKG1fcHJvY2VzcywgTWVzc2FnZXM6Ok5vdGlmaWNhdGlvbk1hbmFnZXJNZXNz
YWdlSGFuZGxlcjo6U2hvd05vdGlmaWNhdGlvbihXVEZNb3ZlKG5vdGlmaWNhdGlvbkRhdGEpKSwg
KnBhZ2UpOwogICAgIHJldHVybiB0cnVlOwogI2Vsc2UKICAgICBVTlVTRURfUEFSQU0obm90aWZp
Y2F0aW9uKTsK
</data>

          </attachment>
      

    </bug>

</bugzilla>