<?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>226846</bug_id>
          
          <creation_ts>2021-06-09 13:28:15 -0700</creation_ts>
          <short_desc>[Monterey] Support building WebKit</short_desc>
          <delta_ts>2021-06-15 12:04:55 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Tools / Tests</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=226780</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="Jonathan Bedard">jbedard</reporter>
          <assigned_to name="Jonathan Bedard">jbedard</assigned_to>
          <cc>achristensen</cc>
    
    <cc>ap</cc>
    
    <cc>benjamin</cc>
    
    <cc>cdumez</cc>
    
    <cc>changseok</cc>
    
    <cc>cmarcelo</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>hi</cc>
    
    <cc>jbedard</cc>
    
    <cc>sam</cc>
    
    <cc>thorton</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>wenson_hsieh</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1768312</commentid>
    <comment_count>0</comment_count>
    <who name="Jonathan Bedard">jbedard</who>
    <bug_when>2021-06-09 13:28:15 -0700</bug_when>
    <thetext>We need to add some SPI declaration to build WebKit with the Monterey SDK.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1768313</commentid>
    <comment_count>1</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2021-06-09 13:28:41 -0700</bug_when>
    <thetext>&lt;rdar://problem/79095148&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1768321</commentid>
    <comment_count>2</comment_count>
      <attachid>431005</attachid>
    <who name="Jonathan Bedard">jbedard</who>
    <bug_when>2021-06-09 13:39:31 -0700</bug_when>
    <thetext>Created attachment 431005
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1768328</commentid>
    <comment_count>3</comment_count>
      <attachid>431005</attachid>
    <who name="Tim Horton">thorton</who>
    <bug_when>2021-06-09 13:48:42 -0700</bug_when>
    <thetext>Comment on attachment 431005
Patch

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

&gt; Source/WebCore/PAL/pal/spi/cocoa/CryptoKitCBridgingSPI.h:51
&gt; +- (instancetype)initWithPublicKey:(NSData*)spkiBytes error:(NSError * __autoreleasing *)error;

It seems like in nearby code we have fixed up the star-sidedness of the copied SPI to match WebKit style. But I can also see an argument for &quot;just paste it as-is&quot;. Not sure which is preferable.

&gt; Source/WebCore/testing/Internals.cpp:5644
&gt; +        , Vector&lt;TextRecognitionDataDetector&gt;()

I don&apos;t understand this and the changelog doesn&apos;t help

&gt; Source/WebKit/UIProcess/API/Cocoa/WKWebViewTesting.mm:457
&gt; -                return { WebCore::ExceptionData { WebCore::InvalidStateError } };
&gt; +                return { WebCore::ExceptionData { WebCore::InvalidStateError, String() } };

I don&apos;t understand these, and the changelog only says what you are doing, not why.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1768336</commentid>
    <comment_count>4</comment_count>
      <attachid>431005</attachid>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2021-06-09 13:56:29 -0700</bug_when>
    <thetext>Comment on attachment 431005
Patch

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

&gt; Source/WebCore/PAL/pal/spi/mac/QuickLookMacSPI.h:76
&gt; +#if ENABLE(IMAGE_ANALYSIS)

Nit - we should avoid using an ENABLE feature flag to guard this SPI header. Maybe we could add `HAVE_QUICKLOOK_PREVIEW_ACTIVITY` and use it here?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1768337</commentid>
    <comment_count>5</comment_count>
      <attachid>431005</attachid>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2021-06-09 14:00:54 -0700</bug_when>
    <thetext>Comment on attachment 431005
Patch

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

&gt; Source/WebKit/Platform/spi/Cocoa/VisionKitSPI.h:26
&gt; +#if ENABLE(IMAGE_ANALYSIS)

(Nit - similar comment here — maybe `HAVE_VK_IMAGE_ANALYSIS`?)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1768348</commentid>
    <comment_count>6</comment_count>
      <attachid>431005</attachid>
    <who name="Jonathan Bedard">jbedard</who>
    <bug_when>2021-06-09 14:25:42 -0700</bug_when>
    <thetext>Comment on attachment 431005
Patch

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

&gt;&gt; Source/WebCore/PAL/pal/spi/cocoa/CryptoKitCBridgingSPI.h:51
&gt;&gt; +- (instancetype)initWithPublicKey:(NSData*)spkiBytes error:(NSError * __autoreleasing *)error;
&gt; 
&gt; It seems like in nearby code we have fixed up the star-sidedness of the copied SPI to match WebKit style. But I can also see an argument for &quot;just paste it as-is&quot;. Not sure which is preferable.

Agree with fixing the star-sidedness, style checker didn&apos;t complain, so I didn&apos;t notice it.

That being said, I&apos;m unclear what the right thing to do with star-sidedness and __autoreleasing is

&gt;&gt; Source/WebCore/testing/Internals.cpp:5644
&gt;&gt; +        , Vector&lt;TextRecognitionDataDetector&gt;()
&gt; 
&gt; I don&apos;t understand this and the changelog doesn&apos;t help

I&apos;ll add the information to the changelog, but basically, we&apos;re getting this compiler error:

missing field &apos;message&apos; initializer [-Werror,-Wmissing-field-initializers]</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1768355</commentid>
    <comment_count>7</comment_count>
      <attachid>431013</attachid>
    <who name="Jonathan Bedard">jbedard</who>
    <bug_when>2021-06-09 14:46:02 -0700</bug_when>
    <thetext>Created attachment 431013
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1769024</commentid>
    <comment_count>8</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2021-06-11 12:21:04 -0700</bug_when>
    <thetext>Tools/Scripts/svn-apply failed to apply attachment 431013 to trunk.
Please resolve the conflicts and upload a new patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1769033</commentid>
    <comment_count>9</comment_count>
      <attachid>431222</attachid>
    <who name="Jonathan Bedard">jbedard</who>
    <bug_when>2021-06-11 12:49:05 -0700</bug_when>
    <thetext>Created attachment 431222
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1769063</commentid>
    <comment_count>10</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2021-06-11 13:44:28 -0700</bug_when>
    <thetext>Committed r278780 (238737@main): &lt;https://commits.webkit.org/238737@main&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 431222.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1769064</commentid>
    <comment_count>11</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2021-06-11 13:54:57 -0700</bug_when>
    <thetext>Seems to have broken internal build?

/Volumes/Data/WebKit/OpenSource/WebKitBuild/Debug/usr/local/include/pal/spi/mac/QuickLookMacSPI.h:78:28: error: redefinition of &apos;QLPreviewActivity&apos;
typedef NS_ENUM(NSInteger, QLPreviewActivity) {</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1769066</commentid>
    <comment_count>12</comment_count>
    <who name="Jonathan Bedard">jbedard</who>
    <bug_when>2021-06-11 13:59:56 -0700</bug_when>
    <thetext>Committed r278781 (238738@main): &lt;https://commits.webkit.org/238738@main&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1769295</commentid>
    <comment_count>13</comment_count>
    <who name="Jonathan Bedard">jbedard</who>
    <bug_when>2021-06-13 12:36:12 -0700</bug_when>
    <thetext>Reopening to attach new patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1769296</commentid>
    <comment_count>14</comment_count>
      <attachid>431285</attachid>
    <who name="Jonathan Bedard">jbedard</who>
    <bug_when>2021-06-13 12:36:14 -0700</bug_when>
    <thetext>Created attachment 431285
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1769411</commentid>
    <comment_count>15</comment_count>
      <attachid>431285</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2021-06-14 08:55:03 -0700</bug_when>
    <thetext>Comment on attachment 431285
Patch

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

&gt; Source/WebCore/html/HTMLElement.cpp:1377
&gt; +                TextRecognitionLineElements lineElements { lineOrDataDetector, Vector&lt;Ref&lt;HTMLDivElement&gt;&gt;() };

Can probably use:
TextRecognitionLineElements lineElements { lineOrDataDetector, { } };

&gt; Source/WebCore/html/HTMLElement.cpp:1430
&gt; +            TextRecognitionLineElements lineElements { lineContainer, Vector&lt;Ref&lt;HTMLDivElement&gt;&gt;() };

ditto.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1769432</commentid>
    <comment_count>16</comment_count>
      <attachid>431338</attachid>
    <who name="Jonathan Bedard">jbedard</who>
    <bug_when>2021-06-14 09:33:36 -0700</bug_when>
    <thetext>Created attachment 431338
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1769434</commentid>
    <comment_count>17</comment_count>
    <who name="Jonathan Bedard">jbedard</who>
    <bug_when>2021-06-14 09:39:25 -0700</bug_when>
    <thetext>(In reply to Chris Dumez from comment #15)
&gt; Comment on attachment 431285 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=431285&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/html/HTMLElement.cpp:1377
&gt; &gt; +                TextRecognitionLineElements lineElements { lineOrDataDetector, Vector&lt;Ref&lt;HTMLDivElement&gt;&gt;() };
&gt; 
&gt; Can probably use:
&gt; TextRecognitionLineElements lineElements { lineOrDataDetector, { } };
&gt; 
&gt; &gt; Source/WebCore/html/HTMLElement.cpp:1430
&gt; &gt; +            TextRecognitionLineElements lineElements { lineContainer, Vector&lt;Ref&lt;HTMLDivElement&gt;&gt;() };
&gt; 
&gt; ditto.

Good call, that does work is certainly an improvement.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1769457</commentid>
    <comment_count>18</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2021-06-14 10:34:31 -0700</bug_when>
    <thetext>Committed r278834 (238785@main): &lt;https://commits.webkit.org/238785@main&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 431338.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1769865</commentid>
    <comment_count>19</comment_count>
    <who name="Jonathan Bedard">jbedard</who>
    <bug_when>2021-06-15 10:32:21 -0700</bug_when>
    <thetext>Reopening to attach new patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1769866</commentid>
    <comment_count>20</comment_count>
      <attachid>431455</attachid>
    <who name="Jonathan Bedard">jbedard</who>
    <bug_when>2021-06-15 10:32:24 -0700</bug_when>
    <thetext>Created attachment 431455
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1769901</commentid>
    <comment_count>21</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2021-06-15 12:04:51 -0700</bug_when>
    <thetext>Committed r278889 (238831@main): &lt;https://commits.webkit.org/238831@main&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 431455.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>431005</attachid>
            <date>2021-06-09 13:39:31 -0700</date>
            <delta_ts>2021-06-09 14:45:59 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-226846-20210609133930.patch</filename>
            <type>text/plain</type>
            <size>37240</size>
            <attacher name="Jonathan Bedard">jbedard</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjc4NTc4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IGNhZDVhZmEyNDcwNzM5ZDhjODJlOTc4
NGRiNTAzZDc3MWI5Y2MzNWMuLmQxZmRlMjIwZjJjNzdhN2FkNjM5ZGMwMjlhYmY0NGUwZDM2OGE2
MjUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMTMgQEAKKzIwMjEtMDYtMDkgIEpvbmF0aGFuIEJlZGFyZCAgPGpi
ZWRhcmRAYXBwbGUuY29tPgorCisgICAgICAgIFtNb250ZXJleV0gU3VwcG9ydCBidWlsZGluZyBX
ZWJLaXQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIy
Njg0NgorICAgICAgICA8cmRhcjovL3Byb2JsZW0vNzkwOTUxNDg+CisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiB3dGYvc3BpL2NvY29hL1NlY3VyaXR5
U1BJLmg6CisKIDIwMjEtMDYtMDcgIFdlbnNvbiBIc2llaCAgPHdlbnNvbl9oc2llaEBhcHBsZS5j
b20+CiAKICAgICAgICAgVXBzdHJlYW0gV2ViS2l0IHN1cHBvcnQgZm9yIExpdmUgVGV4dApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdl
TG9nCmluZGV4IGFmZGIxN2JkNzEwODU3YTdlODJlOTJlNTRhZDYzNzE5YzQyZGFkMzkuLmNhZjg4
MmRmZWNiYzJmYzZmZWRjNWUyOGJlMDU4YzU3NDU4NWRmNzQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyAr
MSwxNiBAQAorMjAyMS0wNi0wOSAgSm9uYXRoYW4gQmVkYXJkICA8amJlZGFyZEBhcHBsZS5jb20+
CisKKyAgICAgICAgW01vbnRlcmV5XSBTdXBwb3J0IGJ1aWxkaW5nIFdlYktpdAorICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjI2ODQ2CisgICAgICAgIDxy
ZGFyOi8vcHJvYmxlbS83OTA5NTE0OD4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9P
UFMhKS4KKworICAgICAgICBDb3ZlcmVkIGJ5IGV4aXNpdGluZyB0ZXN0cy4KKworICAgICAgICAq
IHRlc3RpbmcvSW50ZXJuYWxzLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkludGVybmFsczo6aW5z
dGFsbEltYWdlT3ZlcmxheSk6CisKIDIwMjEtMDYtMDcgIFdlbnNvbiBIc2llaCAgPHdlbnNvbl9o
c2llaEBhcHBsZS5jb20+CiAKICAgICAgICAgVXBzdHJlYW0gV2ViS2l0IHN1cHBvcnQgZm9yIExp
dmUgVGV4dApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvUEFML0NoYW5nZUxvZyBiL1NvdXJj
ZS9XZWJDb3JlL1BBTC9DaGFuZ2VMb2cKaW5kZXggYzg0MmY4ZWViZWQ4MjMzNTE5M2I0MmM0ZjQ4
Mzc5ZWIyODIwODBlYS4uNjQ2ZWJhOWUwYjBiYmRhZjc2MGFlZjJjYjA3YzcwYjZjNjM4Y2FhMiAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvUEFML0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2Vi
Q29yZS9QQUwvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTQgQEAKKzIwMjEtMDYtMDkgIEpvbmF0aGFu
IEJlZGFyZCAgPGpiZWRhcmRAYXBwbGUuY29tPgorCisgICAgICAgIFtNb250ZXJleV0gU3VwcG9y
dCBidWlsZGluZyBXZWJLaXQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTIyNjg0NgorICAgICAgICA8cmRhcjovL3Byb2JsZW0vNzkwOTUxNDg+CisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBwYWwvc3BpL2Nv
Y29hL0NyeXB0b0tpdENCcmlkZ2luZ1NQSS5oOiBBZGQgUlNBIEJTU0EgZGVjbGFyYXRpb25zLgor
ICAgICAgICAqIHBhbC9zcGkvbWFjL1F1aWNrTG9va01hY1NQSS5oOiBBZGQgSW1hZ2UgQW5hbHlz
aXMgZGVjbGFyYXRpb25zLgorCiAyMDIxLTA2LTA2ICBDb21taXQgUXVldWUgIDxjb21taXQtcXVl
dWVAd2Via2l0Lm9yZz4KIAogICAgICAgICBVbnJldmlld2VkLCByZXZlcnRpbmcgcjI3NzQ2NC4K
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9DaGFu
Z2VMb2cKaW5kZXggMTRkYTdjNTU2MWY3NGQ0N2VjMzY2ZWRjYmYzNzYwMjM5NzY5MDRlZS4uMzQ2
MTQ0ODkzMzE4YTQyZmMzZjdjY2I5ZDQ4ZDA4ZTNlNDY0ZDc3OCAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdC9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKQEAgLTEsMyAr
MSwyOCBAQAorMjAyMS0wNi0wOSAgSm9uYXRoYW4gQmVkYXJkICA8amJlZGFyZEBhcHBsZS5jb20+
CisKKyAgICAgICAgW01vbnRlcmV5XSBTdXBwb3J0IGJ1aWxkaW5nIFdlYktpdAorICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjI2ODQ2CisgICAgICAgIDxy
ZGFyOi8vcHJvYmxlbS83OTA5NTE0OD4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9P
UFMhKS4KKworICAgICAgICAqIFBsYXRmb3JtL2NvY29hL1RleHRSZWNvZ25pdGlvblV0aWxpdGll
cy5tbTogSW1wb3J0IFZpc2lvbktpdFNQSS5oLgorICAgICAgICAqIFBsYXRmb3JtL3NwaS9Db2Nv
YS9WaXNpb25LaXRTUEkuaDogQWRkZWQuCisgICAgICAgICogVUlQcm9jZXNzL0FQSS9Db2NvYS9X
S0Jyb3dzaW5nQ29udGV4dENvbnRyb2xsZXIubW06CisgICAgICAgIChzZXRVcFBhZ2VMb2FkZXJD
bGllbnQpOiBBbGxvdyBkZXByZWNhdGVkIGRlY2xhcmF0aW9ucy4KKyAgICAgICAgKHNldFVwUGFn
ZVBvbGljeUNsaWVudCk6IERpdHRvLgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvQ29jb2EvV0tD
b25uZWN0aW9uLm1tOgorICAgICAgICAoc2V0VXBDbGllbnQpOiBBbGxvdyBkZXByZWNhdGVkIGRl
Y2xhcmF0aW9ucy4KKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL0NvY29hL1dLUHJvY2Vzc0dyb3Vw
Lm1tOgorICAgICAgICAoc2V0VXBDb25uZWN0aW9uQ2xpZW50KTogQWxsb3cgZGVwcmVjYXRlZCBk
ZWNsYXJhdGlvbnMuCisgICAgICAgIChzZXRVcEluamVjdGVkQnVuZGxlQ2xpZW50KTogRGl0dG8u
CisgICAgICAgIChzZXRVcEhpc3RvcnlDbGllbnQpOiBEaXR0by4KKyAgICAgICAgKiBVSVByb2Nl
c3MvQVBJL0NvY29hL1dLV2ViVmlld1Rlc3RpbmcubW06CisgICAgICAgICgtW1dLV2ViVmlldyBf
Y3JlYXRlTWVkaWFTZXNzaW9uQ29vcmRpbmF0b3JGb3JUZXN0aW5nOmNvbXBsZXRpb25IYW5kbGVy
Ol0pOiBFeHBsaWNpdGx5IGRlZmluZSBzZWNvbmQgYXJ1Z21lbnQuCisgICAgICAgICogVUlQcm9j
ZXNzL0NvY29hL1dlYlZpZXdJbXBsLm1tOiBJbXBvcnQgVmlzaW9uS2l0U1BJLmguCisgICAgICAg
ICogVUlQcm9jZXNzL2lvcy9XS0NvbnRlbnRWaWV3SW50ZXJhY3Rpb24ubW06IERpdHRvLgorICAg
ICAgICAqIFdlYktpdC54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qOiBEaXR0by4KKwogMjAyMS0w
Ni0wNyAgV2Vuc29uIEhzaWVoICA8d2Vuc29uX2hzaWVoQGFwcGxlLmNvbT4KIAogICAgICAgICBV
cHN0cmVhbSBXZWJLaXQgc3VwcG9ydCBmb3IgTGl2ZSBUZXh0CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V1RGL3d0Zi9zcGkvY29jb2EvU2VjdXJpdHlTUEkuaCBiL1NvdXJjZS9XVEYvd3RmL3NwaS9jb2Nv
YS9TZWN1cml0eVNQSS5oCmluZGV4IDU2MzcyN2M5NDFkYjQ3M2MwNWNlMTJiYzJlZWM1Y2NhODk4
ODhmNzguLjEwMDQxNjdkMDI1OGQ2OGYyNzZmOTZhZDliOTM2MmI4NTg5NzkzMDMgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XVEYvd3RmL3NwaS9jb2NvYS9TZWN1cml0eVNQSS5oCisrKyBiL1NvdXJjZS9X
VEYvd3RmL3NwaS9jb2NvYS9TZWN1cml0eVNQSS5oCkBAIC04MSwxMSArODEsMTUgQEAgU2VjSWRl
bnRpdHlSZWYgU2VjSWRlbnRpdHlDcmVhdGUoQ0ZBbGxvY2F0b3JSZWYsIFNlY0NlcnRpZmljYXRl
UmVmLCBTZWNLZXlSZWYpOwogU2VjQWNjZXNzQ29udHJvbFJlZiBTZWNBY2Nlc3NDb250cm9sQ3Jl
YXRlRnJvbURhdGEoQ0ZBbGxvY2F0b3JSZWYsIENGRGF0YVJlZiwgQ0ZFcnJvclJlZiopOwogQ0ZE
YXRhUmVmIFNlY0FjY2Vzc0NvbnRyb2xDb3B5RGF0YShTZWNBY2Nlc3NDb250cm9sUmVmKTsKIAor
Q0ZEYXRhUmVmIFNlY0tleUNvcHlTdWJqZWN0UHVibGljS2V5SW5mbyhTZWNLZXlSZWYpOworCiAj
aWYgUExBVEZPUk0oTUFDKQogI2luY2x1ZGUgPFNlY3VyaXR5L1NlY0FzbjFUeXBlcy5oPgogQ0ZT
dHJpbmdSZWYgU2VjVGFza0NvcHlTaWduaW5nSWRlbnRpZmllcihTZWNUYXNrUmVmLCBDRkVycm9y
UmVmICopOworQUxMT1dfREVQUkVDQVRFRF9ERUNMQVJBVElPTlNfQkVHSU4KIGV4dGVybiBjb25z
dCBTZWNBc24xVGVtcGxhdGUga1NlY0FzbjFBbGdvcml0aG1JRFRlbXBsYXRlW107CiBleHRlcm4g
Y29uc3QgU2VjQXNuMVRlbXBsYXRlIGtTZWNBc24xU3ViamVjdFB1YmxpY0tleUluZm9UZW1wbGF0
ZVtdOworQUxMT1dfREVQUkVDQVRFRF9ERUNMQVJBVElPTlNfRU5ECiB1aW50MzJfdCBTZWNUYXNr
R2V0Q29kZVNpZ25TdGF0dXMoU2VjVGFza1JlZik7CiAjZW5kaWYKIApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvUEFML3BhbC9zcGkvY29jb2EvQ3J5cHRvS2l0Q0JyaWRnaW5nU1BJLmggYi9T
b3VyY2UvV2ViQ29yZS9QQUwvcGFsL3NwaS9jb2NvYS9DcnlwdG9LaXRDQnJpZGdpbmdTUEkuaApp
bmRleCA4NDg2OGM2MWU3ZGEyMzU2ZjE0NmQzMzY1OWE0N2I1ZWNiOTRmYzBkLi5kNTc2OGY0MWVk
MzZkNTU4NzZmYzk3OWRiM2MxNTljYzhkMjg3ZTNjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9QQUwvcGFsL3NwaS9jb2NvYS9DcnlwdG9LaXRDQnJpZGdpbmdTUEkuaAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9QQUwvcGFsL3NwaS9jb2NvYS9DcnlwdG9LaXRDQnJpZGdpbmdTUEkuaApAQCAtMzQs
NiArMzQsOSBAQAogI2Vsc2UKIAogQGludGVyZmFjZSBSU0FCU1NBVG9rZW5XYWl0aW5nQWN0aXZh
dGlvbiA6IE5TT2JqZWN0CisjaWYgSEFWRShSU0FfQlNTQSkKKy0gKFJTQUJTU0FUb2tlblJlYWR5
KilhY3RpdmF0ZVRva2VuV2l0aFNlcnZlclJlc3BvbnNlOihOU0RhdGEqKXNlcnZlclJlc3BvbnNl
IGVycm9yOihOU0Vycm9yICogX19hdXRvcmVsZWFzaW5nICopZXJyb3I7CisjZW5kaWYKIEBwcm9w
ZXJ0eSAobm9uYXRvbWljLCByZXRhaW4sIHJlYWRvbmx5KSBOU0RhdGEgKmJsaW5kZWRNZXNzYWdl
OwogQGVuZAogCkBAIC00Myw2ICs0NiwxNCBAQAogQHByb3BlcnR5IChub25hdG9taWMsIHJldGFp
biwgcmVhZG9ubHkpIE5TRGF0YSAqc2lnbmF0dXJlOwogQGVuZAogCisjaWYgSEFWRShSU0FfQlNT
QSkKK0BpbnRlcmZhY2UgUlNBQlNTQVRva2VuQmxpbmRlciA6IE5TT2JqZWN0CistIChpbnN0YW5j
ZXR5cGUpaW5pdFdpdGhQdWJsaWNLZXk6KE5TRGF0YSopc3BraUJ5dGVzIGVycm9yOihOU0Vycm9y
ICogX19hdXRvcmVsZWFzaW5nICopZXJyb3I7CistIChSU0FCU1NBVG9rZW5XYWl0aW5nQWN0aXZh
dGlvbiopdG9rZW5XYWl0aW5nQWN0aXZhdGlvbldpdGhDb250ZW50OihOU0RhdGEqKWNvbnRlbnQg
ZXJyb3I6KE5TRXJyb3IgKiBfX2F1dG9yZWxlYXNpbmcgKillcnJvcjsKK0Bwcm9wZXJ0eSAobm9u
YXRvbWljLCByZXRhaW4sIHJlYWRvbmx5KSBOU0RhdGEgKmtleUlkOworQGVuZAorI2VuZGlmCisK
ICNlbmRpZiAvLyBVU0UoQVBQTEVfSU5URVJOQUxfU0RLKQogCiAjZW5kaWYgLy8gSEFWRShSU0Ff
QlNTQSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1BBTC9wYWwvc3BpL21hYy9RdWlja0xv
b2tNYWNTUEkuaCBiL1NvdXJjZS9XZWJDb3JlL1BBTC9wYWwvc3BpL21hYy9RdWlja0xvb2tNYWNT
UEkuaAppbmRleCA2YjkyNWYxYTczNzdjNDllOWU2NTM0YjIxZjAzMzdmZGFhZWVkZjgwLi5iYzEz
MWVkOWI1OWVjM2YyYjY5YzRmOWUxMzkxNzJhYmJkM2U3MzczIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9QQUwvcGFsL3NwaS9tYWMvUXVpY2tMb29rTWFjU1BJLmgKKysrIGIvU291cmNlL1dl
YkNvcmUvUEFML3BhbC9zcGkvbWFjL1F1aWNrTG9va01hY1NQSS5oCkBAIC01OSwxMSArNTksMTIg
QEAgdHlwZWRlZiBOU19FTlVNKE5TSW50ZWdlciwgUUxQcmV2aWV3U3R5bGUpIHsKIEBlbmQKIAog
QGludGVyZmFjZSBRTEl0ZW0gOiBOU09iamVjdCA8UUxQcmV2aWV3SXRlbT4KK0Bwcm9wZXJ0eSAo
bm9uYXRvbWljLCBjb3B5KSBOU0RpY3Rpb25hcnkqIHByZXZpZXdPcHRpb25zOwogQGVuZAogCiAj
ZW5kaWYgLy8gVVNFKEFQUExFX0lOVEVSTkFMX1NESykKIAotI2lmIEhBVkUoUVVJQ0tMT09LX1BS
RVZJRVdfSVRFTV9EQVRBX1BST1ZJREVSKQorI2lmIEhBVkUoUVVJQ0tMT09LX1BSRVZJRVdfSVRF
TV9EQVRBX1BST1ZJREVSKSB8fCBFTkFCTEUoSU1BR0VfQU5BTFlTSVMpCiAKIEBjbGFzcyBVVFR5
cGU7CiBAaW50ZXJmYWNlIFFMSXRlbSAoU3RhZ2luZ183NDI5OTQ1MSkKQEAgLTcyLDYgKzczLDE3
IEBAIHR5cGVkZWYgTlNfRU5VTShOU0ludGVnZXIsIFFMUHJldmlld1N0eWxlKSB7CiAKICNlbmRp
ZgogCisjaWYgRU5BQkxFKElNQUdFX0FOQUxZU0lTKQorCit0eXBlZGVmIE5TX0VOVU0oTlNJbnRl
Z2VyLCBRTFByZXZpZXdBY3Rpdml0eSkgeworICAgIFFMUHJldmlld0FjdGl2aXR5Tm9uZSwKKyAg
ICBRTFByZXZpZXdBY3Rpdml0eU1hcmt1cCwKKyAgICBRTFByZXZpZXdBY3Rpdml0eVRyaW0sCisg
ICAgUUxQcmV2aWV3QWN0aXZpdHlWaXN1YWxTZWFyY2gKK307CisKKyNlbmRpZgorCiAjaWYgSEFW
RShRVUlDS0xPT0tfSVRFTV9QUkVWSUVXX09QVElPTlMpCiAKIEBpbnRlcmZhY2UgUUxJdGVtIChT
dGFnaW5nXzc3ODY0NjM3KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRl
cm5hbHMuY3BwIGIvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuY3BwCmluZGV4IGYx
MTFjMjUzNzk1ZDA3NTkwNmViNWQ3OTQ2MjhhMGYyMmFhNGE3ODQuLjI3ZWE4NWU2ZjVmOGMyMWNl
NTlkMTc3MThiYjAwYjljYmIwNTc3OWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Rlc3Rp
bmcvSW50ZXJuYWxzLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5j
cHAKQEAgLTU2NDAsNiArNTY0MCw5IEBAIHZvaWQgSW50ZXJuYWxzOjppbnN0YWxsSW1hZ2VPdmVy
bGF5KEVsZW1lbnQmIGVsZW1lbnQsIFZlY3RvcjxJbWFnZU92ZXJsYXlMaW5lPiYmCiAgICAgICAg
IGxpbmVzLm1hcChbXSAoYXV0byYgbGluZSkgLT4gVGV4dFJlY29nbml0aW9uTGluZURhdGEgewog
ICAgICAgICAgICAgcmV0dXJuIG1ha2VEYXRhRm9yTGluZShsaW5lKTsKICAgICAgICAgfSkKKyNp
ZiBFTkFCTEUoREFUQV9ERVRFQ1RJT04pCisgICAgICAgICwgVmVjdG9yPFRleHRSZWNvZ25pdGlv
bkRhdGFEZXRlY3Rvcj4oKQorI2VuZGlmCiAgICAgfSk7CiAjZWxzZQogICAgIFVOVVNFRF9QQVJB
TShsaW5lcyk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1BsYXRmb3JtL2NvY29hL1RleHRS
ZWNvZ25pdGlvblV0aWxpdGllcy5tbSBiL1NvdXJjZS9XZWJLaXQvUGxhdGZvcm0vY29jb2EvVGV4
dFJlY29nbml0aW9uVXRpbGl0aWVzLm1tCmluZGV4IDkzYTZhMzNlYjYyZGMwZjRmY2ViNGQ3NGMw
NWE1ZmU5MTJjYTQzYTUuLjYxMDE4MjliY2VmYjEwMjhiMGNmOTMxMTE0ODIxMWIwZTY2MmQxYTEg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvUGxhdGZvcm0vY29jb2EvVGV4dFJlY29nbml0aW9u
VXRpbGl0aWVzLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvUGxhdGZvcm0vY29jb2EvVGV4dFJlY29n
bml0aW9uVXRpbGl0aWVzLm1tCkBAIC0yOCw4ICsyOCw3IEBACiAKICNpZiBFTkFCTEUoSU1BR0Vf
QU5BTFlTSVMpCiAKLSNpbXBvcnQgPFZpc2lvbktpdENvcmUvVktJbWFnZUFuYWx5c2lzX1dlYktp
dC5oPgotI2ltcG9ydCA8VmlzaW9uS2l0Q29yZS9WS1F1YWQuaD4KKyNpbXBvcnQgIlZpc2lvbktp
dFNQSS5oIgogI2ltcG9ydCA8V2ViQ29yZS9UZXh0UmVjb2duaXRpb25SZXN1bHQuaD4KICNpbXBv
cnQgPHBhbC9zcGkvY29jb2EvRmVhdHVyZUZsYWdzU1BJLmg+CiAKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQvUGxhdGZvcm0vc3BpL0NvY29hL1Zpc2lvbktpdFNQSS5oIGIvU291cmNlL1dlYktp
dC9QbGF0Zm9ybS9zcGkvQ29jb2EvVmlzaW9uS2l0U1BJLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMzBiNzkwNzhk
NTU1YmJhY2QzNzVlMzFhMzQ5YzgwMzViOTY1YjkzMQotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJj
ZS9XZWJLaXQvUGxhdGZvcm0vc3BpL0NvY29hL1Zpc2lvbktpdFNQSS5oCkBAIC0wLDAgKzEsMTMx
IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDIxIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNl
cnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5
IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBw
cm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEu
IFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29w
eXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9s
bG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0g
bXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxp
c3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICog
ICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhl
IGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExF
IElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1Mg
T1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAq
IFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZP
UiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNI
QUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkg
RElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICog
Q09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJP
Q1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNF
LCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVS
IENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENP
TlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBP
UiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJ
UyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VD
SCBEQU1BR0UuCisgKi8KKworI2lmIEVOQUJMRShJTUFHRV9BTkFMWVNJUykKKworI2lmIFVTRShB
UFBMRV9JTlRFUk5BTF9TREspCisKKyNpbXBvcnQgPFZpc2lvbktpdENvcmUvVktJbWFnZUFuYWx5
c2lzX1dlYktpdC5oPgorI2ltcG9ydCA8VmlzaW9uS2l0Q29yZS9WS0ltYWdlQW5hbHl6ZXIuaD4K
KyNpbXBvcnQgPFZpc2lvbktpdENvcmUvVktRdWFkLmg+CisKKyNlbHNlCisKK05TX0FTU1VNRV9O
T05OVUxMX0JFR0lOCisKK3R5cGVkZWYgaW50MzJfdCBWS0ltYWdlQW5hbHlzaXNSZXF1ZXN0SUQ7
CisKK3R5cGVkZWYgTlNfT1BUSU9OUyhOU1VJbnRlZ2VyLCBWS0FuYWx5c2lzVHlwZXMpIHsKKyAg
ICBWS0FuYWx5c2lzVHlwZVRleHQgICAgICAgICAgICAgICAgID0gMSA8PCAwLAorICAgIFZLQW5h
bHlzaXNUeXBlVGV4dERhdGFEZXRlY3RvciAgICAgPSAxIDw8IDEsCisgICAgVktBbmFseXNpc1R5
cGVNYWNoaW5lUmVhZGFibGVDb2RlICA9IDEgPDwgMiwKKyAgICBWS0FuYWx5c2lzVHlwZUFwcENs
aXAgICAgICAgICAgICAgID0gMSA8PCAzLAorICAgIFZLQW5hbHlzaXNUeXBlVmlzdWFsU2VhcmNo
ICAgICAgICAgPSAxIDw8IDQsCisgICAgVktBbmFseXNpc1R5cGVOb25lID0gMCwKKyAgICBWS0Fu
YWx5c2lzVHlwZUFsbCA9IE5TVUludGVnZXJNYXgsCit9OworCisjaWYgUExBVEZPUk0oSU9TKQor
Cit0eXBlZGVmIFVJSW1hZ2UgVktJbWFnZUNsYXNzOworCit0eXBlZGVmIFVJSW1hZ2VPcmllbnRh
dGlvbiBWS0ltYWdlT3JpZW50YXRpb247CisKKyNkZWZpbmUgVktJbWFnZU9yaWVudGF0aW9uVXAg
ICAgICAgICAgICBVSUltYWdlT3JpZW50YXRpb25VcAorI2RlZmluZSBWS0ltYWdlT3JpZW50YXRp
b25Eb3duICAgICAgICAgIFVJSW1hZ2VPcmllbnRhdGlvbkRvd24KKyNkZWZpbmUgVktJbWFnZU9y
aWVudGF0aW9uTGVmdCAgICAgICAgICBVSUltYWdlT3JpZW50YXRpb25MZWZ0CisjZGVmaW5lIFZL
SW1hZ2VPcmllbnRhdGlvblJpZ2h0ICAgICAgICAgVUlJbWFnZU9yaWVudGF0aW9uUmlnaHQKKyNk
ZWZpbmUgVktJbWFnZU9yaWVudGF0aW9uVXBNaXJyb3JlZCAgICBVSUltYWdlT3JpZW50YXRpb25V
cE1pcnJvcmVkCisjZGVmaW5lIFZLSW1hZ2VPcmllbnRhdGlvbkRvd25NaXJyb3JlZCAgVUlJbWFn
ZU9yaWVudGF0aW9uRG93bk1pcnJvcmVkCisjZGVmaW5lIFZLSW1hZ2VPcmllbnRhdGlvbkxlZnRN
aXJyb3JlZCAgVUlJbWFnZU9yaWVudGF0aW9uTGVmdE1pcnJvcmVkCisjZGVmaW5lIFZLSW1hZ2VP
cmllbnRhdGlvblJpZ2h0TWlycm9yZWQgVUlJbWFnZU9yaWVudGF0aW9uUmlnaHRNaXJyb3JlZAor
CisjZWxzZQorCit0eXBlZGVmIE5TSW1hZ2UgVktJbWFnZUNsYXNzOworCit0eXBlZGVmIE5TX0VO
VU0oTlNJbnRlZ2VyLCBWS0ltYWdlT3JpZW50YXRpb24pIHsKKyAgICBWS0ltYWdlT3JpZW50YXRp
b25VcCwKKyAgICBWS0ltYWdlT3JpZW50YXRpb25Eb3duLAorICAgIFZLSW1hZ2VPcmllbnRhdGlv
bkxlZnQsCisgICAgVktJbWFnZU9yaWVudGF0aW9uUmlnaHQsCisgICAgVktJbWFnZU9yaWVudGF0
aW9uVXBNaXJyb3JlZCwKKyAgICBWS0ltYWdlT3JpZW50YXRpb25Eb3duTWlycm9yZWQsCisgICAg
VktJbWFnZU9yaWVudGF0aW9uTGVmdE1pcnJvcmVkLAorICAgIFZLSW1hZ2VPcmllbnRhdGlvblJp
Z2h0TWlycm9yZWQsCit9OworCisjZW5kaWYKKworQGludGVyZmFjZSBWS0ltYWdlQW5hbHlzaXMg
OiBOU09iamVjdCA8TlNTZWN1cmVDb2Rpbmc+CistIChCT09MKWhhc1Jlc3VsdHNGb3JBbmFseXNp
c1R5cGVzOihWS0FuYWx5c2lzVHlwZXMpYW5hbHlzaXNUeXBlczsKK0BlbmQKKworQHByb3RvY29s
IFZLRmVlZGJhY2tBc3NldHNQcm92aWRlciA8TlNPYmplY3Q+CistIChCT09MKXNhdmVBc3NldHNU
b0ZlZWRiYWNrQXR0YWNobWVudHNGb2xkZXI6KE5TVVJMICopYXR0YWNobWVudHNGb2xkZXJVUkwg
ZXJyb3I6KE5TRXJyb3IgKillcnJvcjsKK0BlbmQKKworQGludGVyZmFjZSBWS0ltYWdlQW5hbHl6
ZXJSZXF1ZXN0IDogTlNPYmplY3QgPE5TQ29weWluZywgVktGZWVkYmFja0Fzc2V0c1Byb3ZpZGVy
PgorLSAoaW5zdGFuY2V0eXBlKWluaXQgTlNfVU5BVkFJTEFCTEU7CistIChpbnN0YW5jZXR5cGUp
aW5pdFdpdGhJbWFnZTooVktJbWFnZUNsYXNzICopaW1hZ2UgcmVxdWVzdFR5cGU6KFZLQW5hbHlz
aXNUeXBlcylhbmFseXNpc1R5cGU7CistIChpbnN0YW5jZXR5cGUpaW5pdFdpdGhDR0ltYWdlOihD
R0ltYWdlUmVmKWltYWdlIG9yaWVudGF0aW9uOihWS0ltYWdlT3JpZW50YXRpb24pb3JpZW50YXRp
b24gcmVxdWVzdFR5cGU6KFZLQW5hbHlzaXNUeXBlcylhbmFseXNpc1R5cGU7CitAZW5kCisKK0Bp
bnRlcmZhY2UgVktJbWFnZUFuYWx5emVyIDogTlNPYmplY3QKK0Bwcm9wZXJ0eSAobm9uYXRvbWlj
LCBzdHJvbmcsIG51bGxhYmxlKSBkaXNwYXRjaF9xdWV1ZV90IGNhbGxiYWNrUXVldWU7CistIChW
S0ltYWdlQW5hbHlzaXNSZXF1ZXN0SUQpcHJvY2Vzc1JlcXVlc3Q6KFZLSW1hZ2VBbmFseXplclJl
cXVlc3QgKilyZXF1ZXN0CisgICAgICAgICAgICAgICAgICAgICAgICAgICBwcm9ncmVzc0hhbmRs
ZXI6KHZvaWQgKF5fTnVsbGFibGUpKGRvdWJsZSBwcm9ncmVzcykpcHJvZ3Jlc3NIYW5kbGVyCisg
ICAgICAgICAgICAgICAgICAgICAgICAgY29tcGxldGlvbkhhbmRsZXI6KHZvaWQgKF4pKFZLSW1h
Z2VBbmFseXNpcyogX051bGxhYmxlIGFuYWx5c2lzLCBOU0Vycm9yICogX051bGxhYmxlIGVycm9y
KSljb21wbGV0aW9uSGFuZGxlcjsKK0BlbmQKKworQGludGVyZmFjZSBWS1F1YWQgOiBOU09iamVj
dCA8TlNDb3B5aW5nLCBOU1NlY3VyZUNvZGluZz4KK0Bwcm9wZXJ0eSAobm9uYXRvbWljLCByZWFk
b25seSkgQ0dQb2ludCB0b3BMZWZ0OworQHByb3BlcnR5IChub25hdG9taWMsIHJlYWRvbmx5KSBD
R1BvaW50IHRvcFJpZ2h0OworQHByb3BlcnR5IChub25hdG9taWMsIHJlYWRvbmx5KSBDR1BvaW50
IGJvdHRvbUxlZnQ7CitAcHJvcGVydHkgKG5vbmF0b21pYywgcmVhZG9ubHkpIENHUG9pbnQgYm90
dG9tUmlnaHQ7CitAcHJvcGVydHkgKG5vbmF0b21pYywgcmVhZG9ubHkpIENHUmVjdCBib3VuZGlu
Z0JveDsKK0BlbmQKKworQGludGVyZmFjZSBWS1dLVGV4dEluZm8gOiBOU09iamVjdAorQHByb3Bl
cnR5IChub25hdG9taWMsIHJlYWRvbmx5KSBOU1N0cmluZyAqc3RyaW5nOworQHByb3BlcnR5IChu
b25hdG9taWMsIHJlYWRvbmx5KSBWS1F1YWQgKnF1YWQ7CitAZW5kCisKK0BpbnRlcmZhY2UgVktX
S0xpbmVJbmZvIDogVktXS1RleHRJbmZvCitAcHJvcGVydHkgKG5vbmF0b21pYywgcmVhZG9ubHkp
IE5TQXJyYXk8VktXS1RleHRJbmZvICo+ICpjaGlsZHJlbjsKK0BlbmQKKworQGludGVyZmFjZSBW
S0ltYWdlQW5hbHlzaXMgKFdlYktpdFNQSSkKK0Bwcm9wZXJ0eSAobm9uYXRvbWljLCByZWFkb25s
eSkgTlNBcnJheSA8VktXS0xpbmVJbmZvICo+ICphbGxMaW5lczsKKyNpZiBQTEFURk9STShJT1Mp
CitAcHJvcGVydHkgKG5vbmF0b21pYykgVUlNZW51ICogbXJjTWVudTsKKyNlbmRpZgorQGVuZAor
CitOU19BU1NVTUVfTk9OTlVMTF9FTkQKKworI2VuZGlmCisKKyNlbmRpZgpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL1dLQnJvd3NpbmdDb250ZXh0Q29udHJv
bGxlci5tbSBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS0Jyb3dzaW5nQ29u
dGV4dENvbnRyb2xsZXIubW0KaW5kZXggZjM2MGI0MmQ5NTU5NzE3ODkwNmQ3OTYxMGZjNDY5ZmQx
NjBhZmY3Yy4uYzY1Yzg2MmUyODQ2NjdlZmRjNDM5NTZlZTI1ODE4OWRmMzU3MjVlOSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL1dLQnJvd3NpbmdDb250ZXh0
Q29udHJvbGxlci5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tC
cm93c2luZ0NvbnRleHRDb250cm9sbGVyLm1tCkBAIC00MzksNyArNDM5LDkgQEAgc3RhdGljIHZv
aWQgcHJvY2Vzc0RpZENyYXNoKFdLUGFnZVJlZiBwYWdlLCBjb25zdCB2b2lkKiBjbGllbnRJbmZv
KQogICAgICAgICBbKGlkIDxXS0Jyb3dzaW5nQ29udGV4dExvYWREZWxlZ2F0ZVByaXZhdGU+KWxv
YWREZWxlZ2F0ZSBicm93c2luZ0NvbnRleHRDb250cm9sbGVyV2ViUHJvY2Vzc0RpZENyYXNoOmJy
b3dzaW5nQ29udGV4dF07CiB9CiAKK0FMTE9XX0RFUFJFQ0FURURfREVDTEFSQVRJT05TX0JFR0lO
CiBzdGF0aWMgdm9pZCBzZXRVcFBhZ2VMb2FkZXJDbGllbnQoV0tCcm93c2luZ0NvbnRleHRDb250
cm9sbGVyICpicm93c2luZ0NvbnRleHQsIFdlYktpdDo6V2ViUGFnZVByb3h5JiBwYWdlKQorQUxM
T1dfREVQUkVDQVRFRF9ERUNMQVJBVElPTlNfRU5ECiB7CiAgICAgV0tQYWdlTmF2aWdhdGlvbkNs
aWVudFYwIGxvYWRlckNsaWVudDsKICAgICBtZW1zZXQoJmxvYWRlckNsaWVudCwgMCwgc2l6ZW9m
KGxvYWRlckNsaWVudCkpOwpAQCAtNDc2LDcgKzQ3OCw5IEBAIHN0YXRpYyBCbG9ja1B0cjx2b2lk
KFdLUG9saWN5RGVjaXNpb24pPiBtYWtlUG9saWN5RGVjaXNpb25CbG9jayhXS0ZyYW1lUG9saWN5
TGlzCiAgICAgfSk7CiB9CiAKK0FMTE9XX0RFUFJFQ0FURURfREVDTEFSQVRJT05TX0JFR0lOCiBz
dGF0aWMgdm9pZCBzZXRVcFBhZ2VQb2xpY3lDbGllbnQoV0tCcm93c2luZ0NvbnRleHRDb250cm9s
bGVyICpicm93c2luZ0NvbnRleHQsIFdlYktpdDo6V2ViUGFnZVByb3h5JiBwYWdlKQorQUxMT1df
REVQUkVDQVRFRF9ERUNMQVJBVElPTlNfRU5ECiB7CiAgICAgV0tQYWdlUG9saWN5Q2xpZW50SW50
ZXJuYWwgcG9saWN5Q2xpZW50OwogICAgIG1lbXNldCgmcG9saWN5Q2xpZW50LCAwLCBzaXplb2Yo
cG9saWN5Q2xpZW50KSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkv
Q29jb2EvV0tDb25uZWN0aW9uLm1tIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29h
L1dLQ29ubmVjdGlvbi5tbQppbmRleCAwZmVlM2VkMTZlODNhMzg1ZjUxYWYyOTVjMGRlOWYzZDU3
MzllNjYyLi4wNGQzM2M5NDdlMDI4Y2ZlMmQ5NWM5NzhhYzNlMmQxMjlkNDUwYTVjIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tDb25uZWN0aW9uLm1tCisr
KyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS0Nvbm5lY3Rpb24ubW0KQEAg
LTc2LDcgKzc2LDkgQEAgc3RhdGljIHZvaWQgZGlkQ2xvc2UoV0tDb25uZWN0aW9uUmVmLCBjb25z
dCB2b2lkKiBjbGllbnRJbmZvKQogICAgICAgICBbZGVsZWdhdGUgY29ubmVjdGlvbkRpZENsb3Nl
OmNvbm5lY3Rpb25dOwogfQogCitBTExPV19ERVBSRUNBVEVEX0RFQ0xBUkFUSU9OU19CRUdJTgog
c3RhdGljIHZvaWQgc2V0VXBDbGllbnQoV0tDb25uZWN0aW9uICp3cmFwcGVyLCBXZWJLaXQ6Oldl
YkNvbm5lY3Rpb24mIGNvbm5lY3Rpb24pCitBTExPV19ERVBSRUNBVEVEX0RFQ0xBUkFUSU9OU19F
TkQKIHsKICAgICBXS0Nvbm5lY3Rpb25DbGllbnRWMCBjbGllbnQ7CiAgICAgbWVtc2V0KCZjbGll
bnQsIDAsIHNpemVvZihjbGllbnQpKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9j
ZXNzL0FQSS9Db2NvYS9XS1Byb2Nlc3NHcm91cC5tbSBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNz
L0FQSS9Db2NvYS9XS1Byb2Nlc3NHcm91cC5tbQppbmRleCAwNzEyZjM1MDBhZWQ4ZjQ1MTZjNmNj
OTVlOTU5YmYxYmIxZjE1MmIwLi5kMWMzYTgyM2MyZWRiZGE1OWFmZDZkYTM2ZDE2NTk0OTZjZjE1
NDc5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tQcm9j
ZXNzR3JvdXAubW0KKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL1dLUHJv
Y2Vzc0dyb3VwLm1tCkBAIC03Myw3ICs3Myw5IEBAIHN0YXRpYyB2b2lkIGRpZENyZWF0ZUNvbm5l
Y3Rpb24oV0tDb250ZXh0UmVmLCBXS0Nvbm5lY3Rpb25SZWYgY29ubmVjdGlvblJlZiwgY29uCiAg
ICAgICAgIFtkZWxlZ2F0ZSBwcm9jZXNzR3JvdXA6cHJvY2Vzc0dyb3VwIGRpZENyZWF0ZUNvbm5l
Y3Rpb25Ub1dlYlByb2Nlc3NQbHVnSW46d3JhcHBlcigqV2ViS2l0Ojp0b0ltcGwoY29ubmVjdGlv
blJlZikpXTsKIH0KIAorQUxMT1dfREVQUkVDQVRFRF9ERUNMQVJBVElPTlNfQkVHSU4KIHN0YXRp
YyB2b2lkIHNldFVwQ29ubmVjdGlvbkNsaWVudChXS1Byb2Nlc3NHcm91cCAqcHJvY2Vzc0dyb3Vw
LCBXS0NvbnRleHRSZWYgY29udGV4dFJlZikKK0FMTE9XX0RFUFJFQ0FURURfREVDTEFSQVRJT05T
X0VORAogewogICAgIFdLQ29udGV4dENvbm5lY3Rpb25DbGllbnRWMCBjb25uZWN0aW9uQ2xpZW50
OwogICAgIG1lbXNldCgmY29ubmVjdGlvbkNsaWVudCwgMCwgc2l6ZW9mKGNvbm5lY3Rpb25DbGll
bnQpKTsKQEAgLTEwMSw3ICsxMDMsOSBAQCBzdGF0aWMgV0tUeXBlUmVmIGdldEluamVjdGVkQnVu
ZGxlSW5pdGlhbGl6YXRpb25Vc2VyRGF0YShXS0NvbnRleHRSZWYsIGNvbnN0IHZvaQogICAgIHJl
dHVybiAwOwogfQogCitBTExPV19ERVBSRUNBVEVEX0RFQ0xBUkFUSU9OU19CRUdJTgogc3RhdGlj
IHZvaWQgc2V0VXBJbmplY3RlZEJ1bmRsZUNsaWVudChXS1Byb2Nlc3NHcm91cCAqcHJvY2Vzc0dy
b3VwLCBXS0NvbnRleHRSZWYgY29udGV4dFJlZikKK0FMTE9XX0RFUFJFQ0FURURfREVDTEFSQVRJ
T05TX0VORAogewogICAgIFdLQ29udGV4dEluamVjdGVkQnVuZGxlQ2xpZW50VjEgaW5qZWN0ZWRC
dW5kbGVDbGllbnQ7CiAgICAgbWVtc2V0KCZpbmplY3RlZEJ1bmRsZUNsaWVudCwgMCwgc2l6ZW9m
KGluamVjdGVkQnVuZGxlQ2xpZW50KSk7CkBAIC0xNjksNyArMTczLDkgQEAgc3RhdGljIHZvaWQg
ZGlkVXBkYXRlSGlzdG9yeVRpdGxlKFdLQ29udGV4dFJlZiwgV0tQYWdlUmVmIHBhZ2VSZWYsIFdL
U3RyaW5nUmVmIHQKICAgICAgICAgW2hpc3RvcnlEZWxlZ2F0ZSBicm93c2luZ0NvbnRleHRDb250
cm9sbGVyOmNvbnRyb2xsZXIgZGlkVXBkYXRlSGlzdG9yeVRpdGxlOndyYXBwZXIoKldlYktpdDo6
dG9JbXBsKHRpdGxlUmVmKSkgZm9yVVJMOndyYXBwZXIoKldlYktpdDo6dG9JbXBsKHVybFJlZikp
XTsKIH0KIAorQUxMT1dfREVQUkVDQVRFRF9ERUNMQVJBVElPTlNfQkVHSU4KIHN0YXRpYyB2b2lk
IHNldFVwSGlzdG9yeUNsaWVudChXS1Byb2Nlc3NHcm91cCAqcHJvY2Vzc0dyb3VwLCBXS0NvbnRl
eHRSZWYgY29udGV4dFJlZikKK0FMTE9XX0RFUFJFQ0FURURfREVDTEFSQVRJT05TX0VORAogewog
ICAgIFdLQ29udGV4dEhpc3RvcnlDbGllbnRWMCBoaXN0b3J5Q2xpZW50OwogICAgIG1lbXNldCgm
aGlzdG9yeUNsaWVudCwgMCwgc2l6ZW9mKGhpc3RvcnlDbGllbnQpKTsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZpZXdUZXN0aW5nLm1tIGIvU291
cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL1dLV2ViVmlld1Rlc3RpbmcubW0KaW5kZXgg
OTRjNTJjYzM3MDFhYjFhMDY0ZGQ5MDFkNWI1M2MwYzY5ZWI0OTM4MS4uYTRiYzYxYTJiZjc3ZTFm
MWRkOGRhZGFkNjQyZmUwYmQzODExYWNjZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVBy
b2Nlc3MvQVBJL0NvY29hL1dLV2ViVmlld1Rlc3RpbmcubW0KKysrIGIvU291cmNlL1dlYktpdC9V
SVByb2Nlc3MvQVBJL0NvY29hL1dLV2ViVmlld1Rlc3RpbmcubW0KQEAgLTQ1NCw3ICs0NTQsNyBA
QCAtICh2b2lkKV9jcmVhdGVNZWRpYVNlc3Npb25Db29yZGluYXRvckZvclRlc3Rpbmc6KGlkIDxf
V0tNZWRpYVNlc3Npb25Db29yZGluYXRvcgogICAgICAgICBzdGQ6Om9wdGlvbmFsPFdlYkNvcmU6
OkV4Y2VwdGlvbkRhdGE+IHJlc3VsdChib29sIHN1Y2Nlc3MpIGNvbnN0CiAgICAgICAgIHsKICAg
ICAgICAgICAgIGlmICghc3VjY2VzcykKLSAgICAgICAgICAgICAgICByZXR1cm4geyBXZWJDb3Jl
OjpFeGNlcHRpb25EYXRhIHsgV2ViQ29yZTo6SW52YWxpZFN0YXRlRXJyb3IgfSB9OworICAgICAg
ICAgICAgICAgIHJldHVybiB7IFdlYkNvcmU6OkV4Y2VwdGlvbkRhdGEgeyBXZWJDb3JlOjpJbnZh
bGlkU3RhdGVFcnJvciwgU3RyaW5nKCkgfSB9OwogCiAgICAgICAgICAgICByZXR1cm4geyB9Owog
ICAgICAgICB9CkBAIC00NjgsNyArNDY4LDcgQEAgLSAodm9pZClfY3JlYXRlTWVkaWFTZXNzaW9u
Q29vcmRpbmF0b3JGb3JUZXN0aW5nOihpZCA8X1dLTWVkaWFTZXNzaW9uQ29vcmRpbmF0b3IKICAg
ICAgICAgewogICAgICAgICAgICAgW21fY2xpZW50Q29vcmRpbmF0b3Igam9pbldpdGhDb21wbGV0
aW9uOm1ha2VCbG9ja1B0cihbd2Vha1RoaXMgPSBtYWtlV2Vha1B0cih0aGlzKSwgY2FsbGJhY2sg
PSBXVEZNb3ZlKGNhbGxiYWNrKV0gKEJPT0wgc3VjY2VzcykgbXV0YWJsZSB7CiAgICAgICAgICAg
ICAgICAgaWYgKCF3ZWFrVGhpcykgewotICAgICAgICAgICAgICAgICAgICBjYWxsYmFjayhXZWJD
b3JlOjpFeGNlcHRpb25EYXRhIHsgV2ViQ29yZTo6SW52YWxpZFN0YXRlRXJyb3IgfSk7CisgICAg
ICAgICAgICAgICAgICAgIGNhbGxiYWNrKFdlYkNvcmU6OkV4Y2VwdGlvbkRhdGEgeyBXZWJDb3Jl
OjpJbnZhbGlkU3RhdGVFcnJvciwgU3RyaW5nKCkgfSk7CiAgICAgICAgICAgICAgICAgICAgIHJl
dHVybjsKICAgICAgICAgICAgICAgICB9CiAKQEAgLTQ4NSw3ICs0ODUsNyBAQCAtICh2b2lkKV9j
cmVhdGVNZWRpYVNlc3Npb25Db29yZGluYXRvckZvclRlc3Rpbmc6KGlkIDxfV0tNZWRpYVNlc3Np
b25Db29yZGluYXRvcgogICAgICAgICB7CiAgICAgICAgICAgICBbbV9jbGllbnRDb29yZGluYXRv
ciBzZWVrVG86dGltZSB3aXRoQ29tcGxldGlvbjptYWtlQmxvY2tQdHIoW3dlYWtUaGlzID0gbWFr
ZVdlYWtQdHIodGhpcyksIGNhbGxiYWNrID0gV1RGTW92ZShjYWxsYmFjayldIChCT09MIHN1Y2Nl
c3MpIG11dGFibGUgewogICAgICAgICAgICAgICAgIGlmICghd2Vha1RoaXMpIHsKLSAgICAgICAg
ICAgICAgICAgICAgY2FsbGJhY2soV2ViQ29yZTo6RXhjZXB0aW9uRGF0YSB7IFdlYkNvcmU6Oklu
dmFsaWRTdGF0ZUVycm9yIH0pOworICAgICAgICAgICAgICAgICAgICBjYWxsYmFjayhXZWJDb3Jl
OjpFeGNlcHRpb25EYXRhIHsgV2ViQ29yZTo6SW52YWxpZFN0YXRlRXJyb3IsIFN0cmluZygpIH0p
OwogICAgICAgICAgICAgICAgICAgICByZXR1cm47CiAgICAgICAgICAgICAgICAgfQogCkBAIC00
OTcsNyArNDk3LDcgQEAgLSAodm9pZClfY3JlYXRlTWVkaWFTZXNzaW9uQ29vcmRpbmF0b3JGb3JU
ZXN0aW5nOihpZCA8X1dLTWVkaWFTZXNzaW9uQ29vcmRpbmF0b3IKICAgICAgICAgewogICAgICAg
ICAgICAgW21fY2xpZW50Q29vcmRpbmF0b3IgcGxheVdpdGhDb21wbGV0aW9uOm1ha2VCbG9ja1B0
cihbd2Vha1RoaXMgPSBtYWtlV2Vha1B0cih0aGlzKSwgY2FsbGJhY2sgPSBXVEZNb3ZlKGNhbGxi
YWNrKV0gKEJPT0wgc3VjY2VzcykgbXV0YWJsZSB7CiAgICAgICAgICAgICAgICAgaWYgKCF3ZWFr
VGhpcykgewotICAgICAgICAgICAgICAgICAgICBjYWxsYmFjayhXZWJDb3JlOjpFeGNlcHRpb25E
YXRhIHsgV2ViQ29yZTo6SW52YWxpZFN0YXRlRXJyb3IgfSk7CisgICAgICAgICAgICAgICAgICAg
IGNhbGxiYWNrKFdlYkNvcmU6OkV4Y2VwdGlvbkRhdGEgeyBXZWJDb3JlOjpJbnZhbGlkU3RhdGVF
cnJvciwgU3RyaW5nKCkgfSk7CiAgICAgICAgICAgICAgICAgICAgIHJldHVybjsKICAgICAgICAg
ICAgICAgICB9CiAKQEAgLTUwOSw3ICs1MDksNyBAQCAtICh2b2lkKV9jcmVhdGVNZWRpYVNlc3Np
b25Db29yZGluYXRvckZvclRlc3Rpbmc6KGlkIDxfV0tNZWRpYVNlc3Npb25Db29yZGluYXRvcgog
ICAgICAgICB7CiAgICAgICAgICAgICBbbV9jbGllbnRDb29yZGluYXRvciBwYXVzZVdpdGhDb21w
bGV0aW9uOm1ha2VCbG9ja1B0cihbd2Vha1RoaXMgPSBtYWtlV2Vha1B0cih0aGlzKSwgY2FsbGJh
Y2sgPSBXVEZNb3ZlKGNhbGxiYWNrKV0gKEJPT0wgc3VjY2VzcykgbXV0YWJsZSB7CiAgICAgICAg
ICAgICAgICAgaWYgKCF3ZWFrVGhpcykgewotICAgICAgICAgICAgICAgICAgICBjYWxsYmFjayhX
ZWJDb3JlOjpFeGNlcHRpb25EYXRhIHsgV2ViQ29yZTo6SW52YWxpZFN0YXRlRXJyb3IgfSk7Cisg
ICAgICAgICAgICAgICAgICAgIGNhbGxiYWNrKFdlYkNvcmU6OkV4Y2VwdGlvbkRhdGEgeyBXZWJD
b3JlOjpJbnZhbGlkU3RhdGVFcnJvciwgU3RyaW5nKCkgfSk7CiAgICAgICAgICAgICAgICAgICAg
IHJldHVybjsKICAgICAgICAgICAgICAgICB9CiAKQEAgLTUyMSw3ICs1MjEsNyBAQCAtICh2b2lk
KV9jcmVhdGVNZWRpYVNlc3Npb25Db29yZGluYXRvckZvclRlc3Rpbmc6KGlkIDxfV0tNZWRpYVNl
c3Npb25Db29yZGluYXRvcgogICAgICAgICB7CiAgICAgICAgICAgICBbbV9jbGllbnRDb29yZGlu
YXRvciBzZXRUcmFjazp0cmFjayB3aXRoQ29tcGxldGlvbjptYWtlQmxvY2tQdHIoW3dlYWtUaGlz
ID0gbWFrZVdlYWtQdHIodGhpcyksIGNhbGxiYWNrID0gV1RGTW92ZShjYWxsYmFjayldIChCT09M
IHN1Y2Nlc3MpIG11dGFibGUgewogICAgICAgICAgICAgICAgIGlmICghd2Vha1RoaXMpIHsKLSAg
ICAgICAgICAgICAgICAgICAgY2FsbGJhY2soV2ViQ29yZTo6RXhjZXB0aW9uRGF0YSB7IFdlYkNv
cmU6OkludmFsaWRTdGF0ZUVycm9yIH0pOworICAgICAgICAgICAgICAgICAgICBjYWxsYmFjayhX
ZWJDb3JlOjpFeGNlcHRpb25EYXRhIHsgV2ViQ29yZTo6SW52YWxpZFN0YXRlRXJyb3IsIFN0cmlu
ZygpIH0pOwogICAgICAgICAgICAgICAgICAgICByZXR1cm47CiAgICAgICAgICAgICAgICAgfQog
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9XZWJWaWV3SW1wbC5t
bSBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL1dlYlZpZXdJbXBsLm1tCmluZGV4IGUz
MjIyMWMzNTI0YThjNjYyY2MwYWM4NDg0N2IxODhiOWNjNDYzYjguLjliNGI1YjI4ZmQ1MWE3YzQw
NzBiNDhmMTBmYzNmMzdhMGI1ZWE3NmUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9j
ZXNzL0NvY29hL1dlYlZpZXdJbXBsLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0Nv
Y29hL1dlYlZpZXdJbXBsLm1tCkBAIC0xNDYsMTEgKzE0Niw3IEBACiAjaW5jbHVkZSAiTWVkaWFT
ZXNzaW9uQ29vcmRpbmF0b3JQcm94eVByaXZhdGUuaCIKICNlbmRpZgogCi0jaWYgRU5BQkxFKElN
QUdFX0FOQUxZU0lTKQotI2ltcG9ydCA8VmlzaW9uS2l0Q29yZS9WS0ltYWdlQW5hbHlzaXNfV2Vi
S2l0Lmg+Ci0jaW1wb3J0IDxWaXNpb25LaXRDb3JlL1ZLSW1hZ2VBbmFseXplci5oPgotI2ltcG9y
dCA8VmlzaW9uS2l0Q29yZS9WS1F1YWQuaD4KLSNlbmRpZiAvLyBFTkFCTEUoSU1BR0VfQU5BTFlT
SVMpCisjaW1wb3J0ICJWaXNpb25LaXRTUEkuaCIKIAogI2lmIEhBVkUoVFJBTlNMQVRJT05fVUlf
U0VSVklDRVMpCiAjaW1wb3J0IDxUcmFuc2xhdGlvblVJU2VydmljZXMvTFRVSVRyYW5zbGF0aW9u
Vmlld0NvbnRyb2xsZXIuaD4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL2lv
cy9XS0NvbnRlbnRWaWV3SW50ZXJhY3Rpb24ubW0gYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9p
b3MvV0tDb250ZW50Vmlld0ludGVyYWN0aW9uLm1tCmluZGV4IDdhODQ4MTBlYWFlODI5ZGUyNDU3
MTY2ZDk0Nzk4Njc4NjUzZTUzNGUuLmIwNGFlNGQ2Y2FhN2Y4NDY5ODMwNzIwYmY0NmJmNTUwZGMy
ZWZiYTMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9XS0NvbnRlbnRW
aWV3SW50ZXJhY3Rpb24ubW0KKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvaW9zL1dLQ29u
dGVudFZpZXdJbnRlcmFjdGlvbi5tbQpAQCAtMTc3LDggKzE3Nyw3IEBACiAjaWYgRU5BQkxFKElN
QUdFX0FOQUxZU0lTKQogCiAvLyBGSVhNRTogVGhpcyBzaG91bGQgYmUgcHVsbGVkIG91dCBpbnRv
IGEgc2VwYXJhdGUgc29mdGxpbmtpbmcgaGVhZGVyIChlaXRoZXIgaW4gUEFMIG9yIFdlYktpdDIp
LgotI2ltcG9ydCA8VmlzaW9uS2l0Q29yZS9WS0ltYWdlQW5hbHlzaXNfV2ViS2l0Lmg+Ci0jaW1w
b3J0IDxWaXNpb25LaXRDb3JlL1ZLSW1hZ2VBbmFseXplci5oPgorI2ltcG9ydCAiVmlzaW9uS2l0
U1BJLmgiCiBTT0ZUX0xJTktfUFJJVkFURV9GUkFNRVdPUktfT1BUSU9OQUwoVmlzaW9uS2l0Q29y
ZSkKIFNPRlRfTElOS19DTEFTU19PUFRJT05BTChWaXNpb25LaXRDb3JlLCBWS0ltYWdlQW5hbHl6
ZXIpCiBTT0ZUX0xJTktfQ0xBU1NfT1BUSU9OQUwoVmlzaW9uS2l0Q29yZSwgVktJbWFnZUFuYWx5
emVyUmVxdWVzdCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViS2l0Lnhjb2RlcHJvai9w
cm9qZWN0LnBieHByb2ogYi9Tb3VyY2UvV2ViS2l0L1dlYktpdC54Y29kZXByb2ovcHJvamVjdC5w
Ynhwcm9qCmluZGV4IDdlMzE2YTViM2FmOTU5MTllNjYzMzQyYzM4Y2UzOGE5YzU0N2VjN2IuLmNk
NzlkNzBjMWU1NzI2ZDk3NTk3Mjk0ZjE1NTNlNDY4ZTgyZGM4NjEgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQvV2ViS2l0Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKKysrIGIvU291cmNlL1dl
YktpdC9XZWJLaXQueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagpAQCAtMyw3ICszLDcgQEAKIAlh
cmNoaXZlVmVyc2lvbiA9IDE7CiAJY2xhc3NlcyA9IHsKIAl9OwotCW9iamVjdFZlcnNpb24gPSA1
MjsKKwlvYmplY3RWZXJzaW9uID0gNTQ7CiAJb2JqZWN0cyA9IHsKIAogLyogQmVnaW4gUEJYQWdn
cmVnYXRlVGFyZ2V0IHNlY3Rpb24gKi8KQEAgLTgzNCw2ICs4MzQsNyBAQAogCQkzMUJBOTI0RTE0
ODgzMTI2MDA2MkVEQjUgLyogV2ViTm90aWZpY2F0aW9uTWFuYWdlck1lc3NhZ2VzLmggaW4gSGVh
ZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAzMUJBOTI0OTE0ODgzMDgx
MDA2MkVEQjUgLyogV2ViTm90aWZpY2F0aW9uTWFuYWdlck1lc3NhZ2VzLmggKi87IH07CiAJCTMx
RDc1NUMxMUQ5MUI4MTUwMDg0M0JEMSAvKiBXS1RleHRDaGVja2VyLmggaW4gSGVhZGVycyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAzMTQ4ODhGRjFEOTFCMTFEMDAzNzcwNDIg
LyogV0tUZXh0Q2hlY2tlci5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUs
ICk7IH07IH07CiAJCTMxRjA2MEUxMTY1NDMxODUwMEYzMjgxQyAvKiBOZXR3b3JrU29ja2V0Q2hh
bm5lbE1lc3NhZ2VSZWNlaXZlci5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSAzMUYwNjBERDE2NTQzMTc1MDBGMzI4MUMgLyogTmV0d29ya1NvY2tldENo
YW5uZWxNZXNzYWdlUmVjZWl2ZXIuY3BwICovOyB9OworCQkzMUY4NjVFNDI2NkZDRDYxMDAzQkZD
NkQgLyogVmlzaW9uS2l0U1BJLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSAzMUY4NjVFMzI2NkZDRDYxMDAzQkZDNkQgLyogVmlzaW9uS2l0U1BJLmggKi87
IH07CiAJCTMzMDkzNDQ3MTMxNUI5MjIwMDk3QTdCQyAvKiBXZWJDb29raWVNYW5hZ2VyTWVzc2Fn
ZVJlY2VpdmVyLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IDMzMDkzNDQzMTMxNUI5MjIwMDk3QTdCQyAvKiBXZWJDb29raWVNYW5hZ2VyTWVzc2FnZVJl
Y2VpdmVyLmNwcCAqLzsgfTsKIAkJMzMwOTM0NDgxMzE1QjkyMjAwOTdBN0JDIC8qIFdlYkNvb2tp
ZU1hbmFnZXJNZXNzYWdlcy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gMzMwOTM0NDQxMzE1QjkyMjAwOTdBN0JDIC8qIFdlYkNvb2tpZU1hbmFnZXJNZXNz
YWdlcy5oICovOyB9OwogCQkzMzA5MzQ0OTEzMTVCOTIyMDA5N0E3QkMgLyogV2ViQ29va2llTWFu
YWdlclByb3h5TWVzc2FnZVJlY2VpdmVyLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IDMzMDkzNDQ1MTMxNUI5MjIwMDk3QTdCQyAvKiBXZWJDb29raWVN
YW5hZ2VyUHJveHlNZXNzYWdlUmVjZWl2ZXIuY3BwICovOyB9OwpAQCAtMzU4OSw2ICszNTkwLDcg
QEAKIAkJMzFFQTI1RDAxMzRGNzhCMjAwNUIxNDUyIC8qIE5hdGl2ZVdlYk1vdXNlRXZlbnRNYWMu
bW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGggPSBOYXRpdmVXZWJNb3VzZUV2ZW50TWFjLm1tOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkzMUVBMjVEMzEzNEY3OEQ2MDA1QjE0NTIgLyogTmF0
aXZlV2ViTW91c2VFdmVudC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBOYXRp
dmVXZWJNb3VzZUV2ZW50Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTMxRjA2MERE
MTY1NDMxNzUwMEYzMjgxQyAvKiBOZXR3b3JrU29ja2V0Q2hhbm5lbE1lc3NhZ2VSZWNlaXZlci5j
cHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmNwcC5jcHA7IG5hbWUgPSBOZXR3b3JrU29ja2V0Q2hhbm5lbE1lc3NhZ2VSZWNlaXZl
ci5jcHA7IHBhdGggPSBEZXJpdmVkU291cmNlcy9XZWJLaXQyL05ldHdvcmtTb2NrZXRDaGFubmVs
TWVzc2FnZVJlY2VpdmVyLmNwcDsgc291cmNlVHJlZSA9IEJVSUxUX1BST0RVQ1RTX0RJUjsgfTsK
KwkJMzFGODY1RTMyNjZGQ0Q2MTAwM0JGQzZEIC8qIFZpc2lvbktpdFNQSS5oICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jLmg7IHBhdGggPSBWaXNpb25LaXRTUEkuaDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKIAkJMzJEQkNGNUUwMzcwQURFRTAwQzkxNzgzIC8qIFdlYktpdDJQcmVmaXguaCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gV2ViS2l0MlByZWZpeC5oOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OwogCQkzMzA5MzQ0MzEzMTVCOTIyMDA5N0E3QkMgLyogV2ViQ29v
a2llTWFuYWdlck1lc3NhZ2VSZWNlaXZlci5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5j
cHA7IG5hbWUgPSBXZWJDb29raWVNYW5hZ2VyTWVzc2FnZVJlY2VpdmVyLmNwcDsgcGF0aCA9IERl
cml2ZWRTb3VyY2VzL1dlYktpdDIvV2ViQ29va2llTWFuYWdlck1lc3NhZ2VSZWNlaXZlci5jcHA7
IHNvdXJjZVRyZWUgPSBCVUlMVF9QUk9EVUNUU19ESVI7IH07CiAJCTMzMDkzNDQ0MTMxNUI5MjIw
MDk3QTdCQyAvKiBXZWJDb29raWVNYW5hZ2VyTWVzc2FnZXMuaCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuYy5oOyBuYW1lID0gV2ViQ29va2llTWFuYWdlck1lc3NhZ2VzLmg7IHBhdGggPSBEZXJpdmVk
U291cmNlcy9XZWJLaXQyL1dlYkNvb2tpZU1hbmFnZXJNZXNzYWdlcy5oOyBzb3VyY2VUcmVlID0g
QlVJTFRfUFJPRFVDVFNfRElSOyB9OwpAQCAtNzkxNCw2ICs3OTE2LDcgQEAKIAkJCQkzNzU0RDU0
NDFCM0EyOUZEMDAzQTRDN0YgLyogTlNJbnZvY2F0aW9uU1BJLmggKi8sCiAJCQkJNUNCNkFFNDMy
NjA5Nzk5QzAwQjZFRDVBIC8qIFJlYXNvblNQSS5oICovLAogCQkJCTBFOTdENzRDMjAwRThGRjMw
MEJGNjY0MyAvKiBTYWZlQnJvd3NpbmdTUEkuaCAqLywKKwkJCQkzMUY4NjVFMzI2NkZDRDYxMDAz
QkZDNkQgLyogVmlzaW9uS2l0U1BJLmggKi8sCiAJCQkpOwogCQkJcGF0aCA9IENvY29hOwogCQkJ
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsKQEAgLTEyMzY2LDYgKzEyMzY5LDcgQEAKIAkJCQkyNjg0
MDU1MzE4Qjg2RUQ2MDAyMkMzOEIgLyogVmlld1VwZGF0ZURpc3BhdGNoZXJNZXNzYWdlcy5oIGlu
IEhlYWRlcnMgKi8sCiAJCQkJMjY4NDA1NDQxOEI4NUE2MzAwMjJDMzhCIC8qIFZpc2libGVDb250
ZW50UmVjdFVwZGF0ZUluZm8uaCBpbiBIZWFkZXJzICovLAogCQkJCTJERDVBNzI5MUVCRjA4RDUw
MDlCQTU5NyAvKiBWaXNpYmxlV2ViUGFnZUNvdW50ZXIuaCBpbiBIZWFkZXJzICovLAorCQkJCTMx
Rjg2NUU0MjY2RkNENjEwMDNCRkM2RCAvKiBWaXNpb25LaXRTUEkuaCBpbiBIZWFkZXJzICovLAog
CQkJCTFBMEYyOUU0MTIwQjQ0NDIwMDUzRDFCOSAvKiBWaXNpdGVkTGlua1N0b3JlLmggaW4gSGVh
ZGVycyAqLywKIAkJCQkxQTYwMjI0RDE4QzE2QjlGMDBDM0U4QzkgLyogVmlzaXRlZExpbmtTdG9y
ZU1lc3NhZ2VzLmggaW4gSGVhZGVycyAqLywKIAkJCQkxQUY0Q0VGMDE4QkM0ODE4MDBCQzJEMzQg
LyogVmlzaXRlZExpbmtUYWJsZUNvbnRyb2xsZXIuaCBpbiBIZWFkZXJzICovLApkaWZmIC0tZ2l0
IGEvVG9vbHMvQ2hhbmdlTG9nIGIvVG9vbHMvQ2hhbmdlTG9nCmluZGV4IDVjZjA2MGExZjM5YzI3
NzcwY2QyNGJjMTQ0OGQ0NjlkMDBiOTE5NWEuLjc0ODQyYWIxMzJlN2NmMjI3NjVhNzhmOTU4NjVk
YjIzMjY0MDU2ZmEgMTAwNjQ0Ci0tLSBhL1Rvb2xzL0NoYW5nZUxvZworKysgYi9Ub29scy9DaGFu
Z2VMb2cKQEAgLTEsMyArMSwxNiBAQAorMjAyMS0wNi0wOSAgSm9uYXRoYW4gQmVkYXJkICA8amJl
ZGFyZEBhcHBsZS5jb20+CisKKyAgICAgICAgW01vbnRlcmV5XSBTdXBwb3J0IGJ1aWxkaW5nIFdl
YktpdAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjI2
ODQ2CisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS83OTA5NTE0OD4KKworICAgICAgICBSZXZpZXdl
ZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIFRlc3RXZWJLaXRBUEkvVGVzdFdlYktp
dEFQSS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qOiBBZGQgQ29yZUNyeXB0b1NQSS5oLgorICAg
ICAgICAqIFRlc3RXZWJLaXRBUEkvVGVzdHMvV2ViQ29yZS9jb2NvYS9Db3JlQ3J5cHRvU1BJLmg6
IEFkZGVkLgorICAgICAgICAqIFRlc3RXZWJLaXRBUEkvVGVzdHMvV2ViQ29yZS9jb2NvYS9Qcml2
YXRlQ2xpY2tNZWFzdXJlbWVudENvY29hLm1tOiBJbXBvcnQgQ29yZUNyeXB0b1NQSS5oLgorICAg
ICAgICAqIFRlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0Q29jb2EvRXZlbnRBdHRyaWJ1dGlvbi5t
bTogRGl0dG8uCisKIDIwMjEtMDYtMDcgIFdlbnNvbiBIc2llaCAgPHdlbnNvbl9oc2llaEBhcHBs
ZS5jb20+CiAKICAgICAgICAgVXBzdHJlYW0gV2ViS2l0IHN1cHBvcnQgZm9yIExpdmUgVGV4dApk
aWZmIC0tZ2l0IGEvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0V2ViS2l0QVBJLnhjb2RlcHJvai9w
cm9qZWN0LnBieHByb2ogYi9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RXZWJLaXRBUEkueGNvZGVw
cm9qL3Byb2plY3QucGJ4cHJvagppbmRleCBmMzUxMzIxYzI5ODJhOTFlYjRjNmNjMjdlNDQ1YTE3
M2VjNGQ1ZDBkLi40YmQzMGY5ZjgwMWJlZTBhZGI4NWUyN2VlNWE1MDI1OTVlZDdmNmIzIDEwMDY0
NAotLS0gYS9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RXZWJLaXRBUEkueGNvZGVwcm9qL3Byb2pl
Y3QucGJ4cHJvagorKysgYi9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RXZWJLaXRBUEkueGNvZGVw
cm9qL3Byb2plY3QucGJ4cHJvagpAQCAtMTk5OCw2ICsxOTk4LDcgQEAKIAkJMzFCNzZFNDQyMzI5
OUJBMzAwN0ZFRDJDIC8qIHN5c3RlbS1wcmV2aWV3LXRyaWdnZXIuaHRtbCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQuaHRtbDsgcGF0aCA9ICJz
eXN0ZW0tcHJldmlldy10cmlnZ2VyLmh0bWwiOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owog
CQkzMUU5QkRBMDI0N0Y0QzYyMDAyRTUxQTIgLyogV2ViR0xQcmVwYXJlRGlzcGxheU9uV2ViVGhy
ZWFkLm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jcHAub2JqY3BwOyBwYXRoID0gV2ViR0xQcmVwYXJlRGlzcGxheU9uV2ViVGhy
ZWFkLm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkzMUU5QkRBMjI0N0Y0REQwMDAy
RTUxQTIgLyogd2ViZ2wuaHRtbCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25v
d25GaWxlVHlwZSA9IHRleHQuaHRtbDsgcGF0aCA9IHdlYmdsLmh0bWw7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CisJCTMxRjg2NUU1MjY3MDFFNzMwMDNCRkM2RCAvKiBDb3JlQ3J5cHRvU1BJ
LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmMuaDsgcGF0aCA9IENvcmVDcnlwdG9TUEkuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKIAkJMzMzQjlDRTExMjc3RjIzMTAwRkVGQ0UzIC8qIFByZXZlbnRFbXB0eVVzZXJBZ2Vu
dC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBQcmV2ZW50RW1wdHlV
c2VyQWdlbnQuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkzMzk3NkQ4MjI0REM0
NzlCMDA4MTIzMDQgLyogSW5kZXhTcGFyc2VTZXQuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
cHAuY3BwOyBwYXRoID0gSW5kZXhTcGFyc2VTZXQuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OwogCQkzM0JFNUFGNDEzN0I1QTZDMDA3MDU4MTMgLyogTW91c2VNb3ZlQWZ0ZXJDcmFzaC5j
cHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBNb3VzZU1vdmVBZnRlckNy
YXNoLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTQ4NTksNiArNDg2MCw3IEBA
CiAJCQlpc2EgPSBQQlhHcm91cDsKIAkJCWNoaWxkcmVuID0gKAogCQkJCTA3MTFERjUxMjI2QTk1
RkIwMDNERDJGNyAvKiBBVkZvdW5kYXRpb25Tb2Z0TGlua1Rlc3QubW0gKi8sCisJCQkJMzFGODY1
RTUyNjcwMUU3MzAwM0JGQzZEIC8qIENvcmVDcnlwdG9TUEkuaCAqLywKIAkJCQk3NTFCMDVENTFG
OEVBQzFBMDAyOEEwOUUgLyogRGF0YWJhc2VUcmFja2VyVGVzdC5tbSAqLywKIAkJCQk1N0YxQzkx
MDI1RERENTE5MDBFOEY2RUEgLyogUHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnRDb2NvYS5tbSAqLywK
IAkJCQk1NzY5QzUwQTFEOUIwMDAxMDAwODQ3RkIgLyogU2VyaWFsaXplZENyeXB0b0tleVdyYXAu
bW0gKi8sCmRpZmYgLS1naXQgYS9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYkNvcmUvY29j
b2EvQ29yZUNyeXB0b1NQSS5oIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJDb3JlL2Nv
Y29hL0NvcmVDcnlwdG9TUEkuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44ZTJlOWRmMmNkYzlhODI1MDg1ZmUwOTBk
YTg1NWI4MTY5MWQyYTBhCi0tLSAvZGV2L251bGwKKysrIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9U
ZXN0cy9XZWJDb3JlL2NvY29hL0NvcmVDcnlwdG9TUEkuaApAQCAtMCwwICsxLDE3MiBAQAorLyoK
KyAqIENvcHlyaWdodCAoQykgMjAyMSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisg
KgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywg
d2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQg
dGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3Ry
aWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAor
ICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBk
aXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVw
cm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNv
bmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3Vt
ZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmli
dXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFO
RCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJ
RUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1Q
TElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJU
SUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBM
RSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwg
SU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVF
TlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5U
IE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwg
T1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQg
QU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwg
U1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJX
SVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdB
UkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdF
LgorICovCisKKyNwcmFnbWEgb25jZQorCitleHRlcm4gIkMiIHsKKworI2lmIFVTRShBUFBMRV9J
TlRFUk5BTF9TREspCisKKyNpbmNsdWRlIDxjb3JlY3J5cHRvL2NjX3ByaXYuaD4KKyNpbmNsdWRl
IDxjb3JlY3J5cHRvL2Njcm5nLmg+CisjaW5jbHVkZSA8Y29yZWNyeXB0by9jY3JzYS5oPgorI2lu
Y2x1ZGUgPGNvcmVjcnlwdG8vY2Nyc2Fic3NhLmg+CisKKyNlbHNlCisKK3R5cGVkZWYgc2l6ZV90
IGNjX3NpemU7CisKKyNpZiBkZWZpbmVkKF9fYXJtNjRfXykgfHwgZGVmaW5lZChfX3g4Nl82NF9f
KSAgfHwgZGVmaW5lZChfV0lONjQpCisjZGVmaW5lIENDTl9VTklUX1NJWkUgIDgKK3R5cGVkZWYg
dWludDY0X3QgY2NfdW5pdDsKKyNkZWZpbmUgQ0NOX0xPRzJfQklUU19QRVJfVU5JVCA2CisjZWxp
ZiBkZWZpbmVkKF9fYXJtX18pIHx8IGRlZmluZWQoX19pMzg2X18pIHx8IGRlZmluZWQoX1dJTjMy
KQorI2RlZmluZSBDQ05fVU5JVF9TSVpFICA0Cit0eXBlZGVmIHVpbnQzMl90IGNjX3VuaXQ7Cisj
ZGVmaW5lIENDTl9MT0cyX0JJVFNfUEVSX1VOSVQgNQorI2Vsc2UKKyNlcnJvciB1bmRlZmluZWQg
YXJjaGl0ZWN0dXJlCisjZW5kaWYKKworLy8gVGVtcG9yYXJ5IFZMQSB3YXJuaW5nIG9wdC1vdXRz
IHRvIGhlbHAgdHJhbnNpdGlvbiBhd2F5IGZyb20gVkxBcy4KKyNkZWZpbmUgQ0NfSUdOT1JFX1ZM
QV9XQVJOSU5HUyBcCisgICAgX1ByYWdtYSgiR0NDIGRpYWdub3N0aWMgcHVzaCIpIFwKKyAgICBf
UHJhZ21hKCJHQ0MgZGlhZ25vc3RpYyBpZ25vcmVkIFwiLVd2bGFcIiIpCisjZGVmaW5lIENDX1JF
U1RPUkVfVkxBX1dBUk5JTkdTIFwKKyAgICBfUHJhZ21hKCJHQ0MgZGlhZ25vc3RpYyBwb3AiKQor
CisjaWYgX19oYXNfZmVhdHVyZShwdHJhdXRoX2NhbGxzKSAmJiAoQ0NfS0VSTkVMIHx8IENDX1VT
RV9MNCB8fCBDQ19VU0VfU0VQUk9NKQorI2luY2x1ZGUgPHB0cmF1dGguaD4KKyNkZWZpbmUgQ0Nf
U1BUUihfc25fLCBfbl8pIFwKKyAgICBfX3B0cmF1dGgocHRyYXV0aF9rZXlfcHJvY2Vzc19pbmRl
cGVuZGVudF9jb2RlLCAxLCBwdHJhdXRoX3N0cmluZ19kaXNjcmltaW5hdG9yKCJjY18iICNfc25f
ICNfbl8pKSBfbl8KKyNlbHNlCisjZGVmaW5lIENDX1NQVFIoX3NuXywgX25fKSBfbl8KKyNlbmRp
ZgorCisjZGVmaW5lIENDTl9VTklUX0JJVFMgKHNpemVvZihjY191bml0KSAqOCkKKworI2RlZmlu
ZSBjY25fc2l6ZW9mX24oX25fKSAoc2l6ZW9mKGNjX3VuaXQpICogKF9uXykpCisjZGVmaW5lIGNj
bl9ub2YoX2JpdHNfKSAoKChfYml0c18pICsgQ0NOX1VOSVRfQklUUyAtIDEpID4+IENDTl9MT0cy
X0JJVFNfUEVSX1VOSVQpCisjZGVmaW5lIGNjbl9zaXplb2YoX2JpdHNfKSAoY2NuX3NpemVvZl9u
KGNjbl9ub2YoX2JpdHNfKSkpCisjZGVmaW5lIGNjbl9ub2Zfc2l6ZShfc2l6ZV8pICgoKF9zaXpl
XykgKyBzaXplb2YoY2NfdW5pdCkgLSAxKSAvIHNpemVvZihjY191bml0KSkKKyNkZWZpbmUgY2Nu
X25vZl9zaXplb2YoX2V4cHJfKSBjY25fbm9mX3NpemUoc2l6ZW9mKF9leHByXykpCisjZGVmaW5l
IGNjbl9iaXRzb2Zfbihfbl8pICgoX25fKSAqIENDTl9VTklUX0JJVFMpCisjZGVmaW5lIGNjbl9i
aXRzb2Zfc2l6ZShfc2l6ZV8pICgoX3NpemVfKSAqIDgpCisjZGVmaW5lIGNjbl9zaXplb2Zfc2l6
ZShfc2l6ZV8pIGNjbl9zaXplb2ZfbihjY25fbm9mX3NpemUoX3NpemVfKSkKKworI2RlZmluZSBj
Y19jZWlsaW5nKGEsIGIpICgoKGEpICsgKChiKSAtIDEpKSAvIChiKSkKKyNkZWZpbmUgY2NfY3R4
X24oX3R5cGVfLCBfc2l6ZV8pICgoX3NpemVfICsgc2l6ZW9mKF90eXBlXykgLSAxKSAvIHNpemVv
ZihfdHlwZV8pKQorCitzdHJ1Y3QgY2N6cF9mdW5jczsKK3R5cGVkZWYgY29uc3Qgc3RydWN0IGNj
enBfZnVuY3MgKmNjenBfZnVuY3NfdDsKKworI2lmIGRlZmluZWQoX01TQ19WRVIpCisjaWYgZGVm
aW5lZChfX2NsYW5nX18pCisjZGVmaW5lIENDX0FMSUdORUQoeCkgX19hdHRyaWJ1dGVfXyAoKGFs
aWduZWQoeCkpKQorI2Vsc2UKKyNkZWZpbmUgQ0NfQUxJR05FRCh4KSBfX2RlY2xzcGVjKGFsaWdu
KHgpKQorI2VuZGlmCisjZWxzZQorI2lmIF9fY2xhbmdfXyB8fCBDQ05fVU5JVF9TSVpFPT04Cisj
ZGVmaW5lIENDX0FMSUdORUQoeCkgX19hdHRyaWJ1dGVfXyAoKGFsaWduZWQoeCkpKQorI2Vsc2UK
KyNkZWZpbmUgQ0NfQUxJR05FRCh4KSBfX2F0dHJpYnV0ZV9fICgoYWxpZ25lZCgoeCk+OD84Oih4
KSkpKQorI2VuZGlmCisjZW5kaWYKKworI2RlZmluZSBfX0NDWlBfSEVBREVSX0VMRU1FTlRTX0RF
RklOSVRJT05TKHByZSkgXAorICAgIGNjX3NpemUgcHJlIyNuOyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgXAorICAgIGNjX3VuaXQgcHJlIyNiaXRsZW47ICAgICAgICAgICAgICAgICAgICAg
ICAgXAorICAgIGNjenBfZnVuY3NfdCBwcmUjI2Z1bmNzOworCisjZGVmaW5lIF9fQ0NaUF9FTEVN
RU5UU19ERUZJTklUSU9OUyhwcmUpICAgIFwKKyAgICBfX0NDWlBfSEVBREVSX0VMRU1FTlRTX0RF
RklOSVRJT05TKHByZSkgXAorICAgIGNjX3VuaXQgcHJlIyNjY25bXTsKKworc3RydWN0IGNjenAg
eworICAgIF9fQ0NaUF9FTEVNRU5UU19ERUZJTklUSU9OUygpCit9IENDX0FMSUdORUQoQ0NOX1VO
SVRfU0laRSk7CisKK3N0cnVjdCBjY3JzYV9mdWxsX2N0eCB7CisgICAgX19DQ1pQX0VMRU1FTlRT
X0RFRklOSVRJT05TKHBiXykKK30gQ0NfQUxJR05FRChDQ05fVU5JVF9TSVpFKTsKKworc3RydWN0
IGNjcnNhX3B1Yl9jdHggeworICAgIF9fQ0NaUF9FTEVNRU5UU19ERUZJTklUSU9OUyhwYl8pCit9
IENDX0FMSUdORUQoQ0NOX1VOSVRfU0laRSk7CisKK3N0cnVjdCBjY3JzYV9wcml2X2N0eCB7Cisg
ICAgX19DQ1pQX0VMRU1FTlRTX0RFRklOSVRJT05TKHB2XykKK30gQ0NfQUxJR05FRChDQ05fVU5J
VF9TSVpFKTsKKwordHlwZWRlZiBzdHJ1Y3QgY2Nyc2FfZnVsbF9jdHgqIGNjcnNhX2Z1bGxfY3R4
X3Q7Cit0eXBlZGVmIHN0cnVjdCBjY3JzYV9wdWJfY3R4KiBjY3JzYV9wdWJfY3R4X3Q7Cit0eXBl
ZGVmIHN0cnVjdCBjY3JzYV9wcml2X2N0eCogY2Nyc2FfcHJpdl9jdHhfdDsKKworI2lmIGRlZmlu
ZWQoX01TQ19WRVIpCisjZGVmaW5lIGNjX2N0eF9kZWNsKF90eXBlXywgX3NpemVfLCBfbmFtZV8p
IF90eXBlXyAqIF9uYW1lXyA9IChfdHlwZV8gKikgX2FsbG9jYShzaXplb2YoX3R5cGVfKSAqIGNj
X2N0eF9uKF90eXBlXywgX3NpemVfKSApCisjZWxzZQorI2RlZmluZSBjY19jdHhfZGVjbChfdHlw
ZV8sIF9zaXplXywgX25hbWVfKSBcCisgICAgQ0NfSUdOT1JFX1ZMQV9XQVJOSU5HUyBcCisgICAg
X3R5cGVfIF9uYW1lX1tjY19jdHhfbihfdHlwZV8sIF9zaXplXyldIFwKKyAgICBDQ19SRVNUT1JF
X1ZMQV9XQVJOSU5HUworI2VuZGlmCisKKyNkZWZpbmUgY2Nyc2FfcHViX2N0eF9zaXplKF9uYnl0
ZXNfKSAgIChzaXplb2Yoc3RydWN0IGNjenApICsgQ0NOX1VOSVRfU0laRSArIDMgKiAoY2NuX3Np
emVvZl9zaXplKF9uYnl0ZXNfKSkpCisjZGVmaW5lIGNjcnNhX3ByaXZfY3R4X3NpemUoX25ieXRl
c18pICAoKHNpemVvZihzdHJ1Y3QgY2N6cCkgKyBDQ05fVU5JVF9TSVpFKSAqIDIgKyA3ICogY2Nu
X3NpemVvZihjY25fYml0c29mX3NpemUoX25ieXRlc18pIC8gMiArIDEpKQorI2RlZmluZSBjY3Jz
YV9mdWxsX2N0eF9zaXplKF9uYnl0ZXNfKSAgKGNjcnNhX3B1Yl9jdHhfc2l6ZShfbmJ5dGVzXykg
KyBjY25fc2l6ZW9mX3NpemUoX25ieXRlc18pICsgY2Nyc2FfcHJpdl9jdHhfc2l6ZShfbmJ5dGVz
XykpCisKKyNkZWZpbmUgY2Nyc2FfZnVsbF9jdHhfZGVjbChfbmJ5dGVzXywgX25hbWVfKSAgIGNj
X2N0eF9kZWNsKHN0cnVjdCBjY3JzYV9mdWxsX2N0eCwgY2Nyc2FfZnVsbF9jdHhfc2l6ZShfbmJ5
dGVzXyksIF9uYW1lXykKKworZW51bSB7CisgICAgQ0NFUlJfT0sgPSAwCit9OworCitzdHJ1Y3Qg
Y2Nybmdfc3RhdGUgeworICAgIGludCAoKkNDX1NQVFIoY2Nybmdfc3RhdGUsIGdlbmVyYXRlKSko
c3RydWN0IGNjcm5nX3N0YXRlICpybmcsIHNpemVfdCBvdXRsZW4sIHZvaWQgKm91dCk7Cit9Owor
c3RydWN0IGNjcm5nX3N0YXRlICpjY3JuZyhpbnQgKmVycm9yKTsKKworc3RhdGljIGlubGluZSBj
Y3JzYV9wdWJfY3R4X3QgY2Nyc2FfY3R4X3B1YmxpYyhjY3JzYV9mdWxsX2N0eF90IGZrKQorewor
ICAgIHJldHVybiAoY2Nyc2FfcHViX2N0eF90KSBmazsKK30KKworc2l6ZV90IGNjcnNhX3B1Ymtl
eWxlbmd0aChjY3JzYV9wdWJfY3R4X3QgcHViayk7CitzaXplX3QgY2NkZXJfZW5jb2RlX3JzYV9w
dWJfc2l6ZShjb25zdCBjY3JzYV9wdWJfY3R4X3Qga2V5KTsKK3VpbnQ4X3QgKmNjZGVyX2VuY29k
ZV9yc2FfcHViKGNvbnN0IGNjcnNhX3B1Yl9jdHhfdCBrZXksIHVpbnQ4X3QgKmRlciwgdWludDhf
dCAqZGVyX2VuZCk7CitpbnQgY2Nyc2FfZ2VuZXJhdGVfa2V5KHNpemVfdCBuYml0cywgY2Nyc2Ff
ZnVsbF9jdHhfdCBmaywgc2l6ZV90IGVfbmJ5dGVzLCBjb25zdCB2b2lkICplX2J5dGVzLCBzdHJ1
Y3QgY2Nybmdfc3RhdGUgKik7CisKK2V4dGVybiBjb25zdCBzdHJ1Y3QgY2Nyc2Fic3NhX2NpcGhl
cnN1aXRlIGNjcnNhYnNzYV9jaXBoZXJzdWl0ZV9yc2E0MDk2X3NoYTM4NDsKK2ludCBjY3JzYWJz
c2Ffc2lnbl9ibGluZGVkX21lc3NhZ2UoCisgICAgY29uc3Qgc3RydWN0IGNjcnNhYnNzYV9jaXBo
ZXJzdWl0ZSAqLAorICAgIGNvbnN0IGNjcnNhX2Z1bGxfY3R4X3Qga2V5LAorICAgIGNvbnN0IHVp
bnQ4X3QgKiBibGluZGVkX21lc3NhZ2UsIGNvbnN0IHNpemVfdCBibGluZGVkX21lc3NhZ2VfbmJ5
dGVzLAorICAgIHVpbnQ4X3QgKnNpZ25hdHVyZSwgY29uc3Qgc2l6ZV90IHNpZ25hdHVyZV9uYnl0
ZXMsCisgICAgc3RydWN0IGNjcm5nX3N0YXRlICpibGluZGluZ19ybmcpOworCisjZW5kaWYKKwor
fQpkaWZmIC0tZ2l0IGEvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJDb3JlL2NvY29hL1By
aXZhdGVDbGlja01lYXN1cmVtZW50Q29jb2EubW0gYi9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3Rz
L1dlYkNvcmUvY29jb2EvUHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnRDb2NvYS5tbQppbmRleCA0OGFj
NzFkY2FkYmE3YWE1ZWJlMDYyMGZhY2YwNGU5ODRmZTE3ZmQyLi5jYWNhMjM0Yjk4NGE5ODMxOGZl
OGJiZjEzZTY0Y2ZlNWZkYmY4NjlhIDEwMDY0NAotLS0gYS9Ub29scy9UZXN0V2ViS2l0QVBJL1Rl
c3RzL1dlYkNvcmUvY29jb2EvUHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnRDb2NvYS5tbQorKysgYi9U
b29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYkNvcmUvY29jb2EvUHJpdmF0ZUNsaWNrTWVhc3Vy
ZW1lbnRDb2NvYS5tbQpAQCAtMjgsMTUgKzI4LDEwIEBACiAKICNpZiBIQVZFKFJTQV9CU1NBKQog
Ci0jaW5jbHVkZSA8U2VjdXJpdHkvU2VjS2V5UHJpdi5oPgotI2luY2x1ZGUgPFdlYkNvcmUvUHJp
dmF0ZUNsaWNrTWVhc3VyZW1lbnQuaD4KKyNpbmNsdWRlICJDb3JlQ3J5cHRvU1BJLmgiCiAKLWV4
dGVybiAiQyIgewotI2luY2x1ZGUgPGNvcmVjcnlwdG8vY2NfcHJpdi5oPgotI2luY2x1ZGUgPGNv
cmVjcnlwdG8vY2NybmcuaD4KLSNpbmNsdWRlIDxjb3JlY3J5cHRvL2NjcnNhLmg+Ci0jaW5jbHVk
ZSA8Y29yZWNyeXB0by9jY3JzYWJzc2EuaD4KLX0KKyNpbmNsdWRlIDxXZWJDb3JlL1ByaXZhdGVD
bGlja01lYXN1cmVtZW50Lmg+CisjaW5jbHVkZSA8d3RmL3NwaS9jb2NvYS9TZWN1cml0eVNQSS5o
PgogCiB1c2luZyBuYW1lc3BhY2UgV2ViQ29yZTsKIApkaWZmIC0tZ2l0IGEvVG9vbHMvVGVzdFdl
YktpdEFQSS9UZXN0cy9XZWJLaXRDb2NvYS9FdmVudEF0dHJpYnV0aW9uLm1tIGIvVG9vbHMvVGVz
dFdlYktpdEFQSS9UZXN0cy9XZWJLaXRDb2NvYS9FdmVudEF0dHJpYnV0aW9uLm1tCmluZGV4IGIx
MjFkM2ZmM2U3YzVmODQwMDU4ZTJlM2EzMmRkZWUyMDlmNDAzY2EuLjIwZWY4NDUzNzU0NmYzZWJh
ZjIwNjA0NjE1YTM2MzBlMzdiNmZjMzggMTAwNjQ0Ci0tLSBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkv
VGVzdHMvV2ViS2l0Q29jb2EvRXZlbnRBdHRyaWJ1dGlvbi5tbQorKysgYi9Ub29scy9UZXN0V2Vi
S2l0QVBJL1Rlc3RzL1dlYktpdENvY29hL0V2ZW50QXR0cmlidXRpb24ubW0KQEAgLTM3LDE1ICsz
NywxMSBAQAogCiAjaWYgSEFWRShSU0FfQlNTQSkKIAorI2luY2x1ZGUgIkNvcmVDcnlwdG9TUEku
aCIKKwogI2luY2x1ZGUgPFNlY3VyaXR5L1NlY0tleVByaXYuaD4KICNpbmNsdWRlIDxXZWJDb3Jl
L1ByaXZhdGVDbGlja01lYXN1cmVtZW50Lmg+Ci0KLWV4dGVybiAiQyIgewotI2luY2x1ZGUgPGNv
cmVjcnlwdG8vY2NfcHJpdi5oPgotI2luY2x1ZGUgPGNvcmVjcnlwdG8vY2NybmcuaD4KLSNpbmNs
dWRlIDxjb3JlY3J5cHRvL2NjcnNhLmg+Ci0jaW5jbHVkZSA8Y29yZWNyeXB0by9jY3JzYWJzc2Eu
aD4KLX0KKyNpbmNsdWRlIDx3dGYvc3BpL2NvY29hL1NlY3VyaXR5U1BJLmg+CiAKICNlbmRpZiAv
LyBIQVZFKFJTQV9CU1NBKQogCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>431013</attachid>
            <date>2021-06-09 14:46:02 -0700</date>
            <delta_ts>2021-06-11 12:48:59 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-226846-20210609144601.patch</filename>
            <type>text/plain</type>
            <size>38460</size>
            <attacher name="Jonathan Bedard">jbedard</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjc4NTc4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IGNhZDVhZmEyNDcwNzM5ZDhjODJlOTc4
NGRiNTAzZDc3MWI5Y2MzNWMuLmYyNWVhNzcyZDg1NjFjZTI3ZWY1N2I1NDJmNjRmYWY3MThiNTYy
MmQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMTQgQEAKKzIwMjEtMDYtMDkgIEpvbmF0aGFuIEJlZGFyZCAgPGpi
ZWRhcmRAYXBwbGUuY29tPgorCisgICAgICAgIFtNb250ZXJleV0gU3VwcG9ydCBidWlsZGluZyBX
ZWJLaXQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIy
Njg0NgorICAgICAgICA8cmRhcjovL3Byb2JsZW0vNzkwOTUxNDg+CisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiB3dGYvUGxhdGZvcm1IYXZlLmg6IEFk
ZCBIQVZFKFZLX0lNQUdFX0FOQUxZU0lTKS4KKyAgICAgICAgKiB3dGYvc3BpL2NvY29hL1NlY3Vy
aXR5U1BJLmg6CisKIDIwMjEtMDYtMDcgIFdlbnNvbiBIc2llaCAgPHdlbnNvbl9oc2llaEBhcHBs
ZS5jb20+CiAKICAgICAgICAgVXBzdHJlYW0gV2ViS2l0IHN1cHBvcnQgZm9yIExpdmUgVGV4dApk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkNvcmUvQ2hh
bmdlTG9nCmluZGV4IGFmZGIxN2JkNzEwODU3YTdlODJlOTJlNTRhZDYzNzE5YzQyZGFkMzkuLjk2
NWQ1MGI1MmUyMDljYTA5Y2E4OTdlYTE2NjQ2ZjRlZDM5MzQ0MTkgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwxNyBAQAorMjAyMS0wNi0wOSAgSm9uYXRoYW4gQmVkYXJkICA8amJlZGFyZEBhcHBsZS5j
b20+CisKKyAgICAgICAgW01vbnRlcmV5XSBTdXBwb3J0IGJ1aWxkaW5nIFdlYktpdAorICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjI2ODQ2CisgICAgICAg
IDxyZGFyOi8vcHJvYmxlbS83OTA5NTE0OD4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkg
KE9PUFMhKS4KKworICAgICAgICBDb3ZlcmVkIGJ5IGV4aXNpdGluZyB0ZXN0cy4KKworICAgICAg
ICAqIHRlc3RpbmcvSW50ZXJuYWxzLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkludGVybmFsczo6
aW5zdGFsbEltYWdlT3ZlcmxheSk6IEV4cGxpY2l0bHkgZGVmaW5lIHNlY29uZCBhcnVnbWVudAor
ICAgICAgICB0byBhdm9pZCAnbWlzc2luZyBmaWVsZCcgY29tcGlsYXRpb24gZXJyb3IuCisKIDIw
MjEtMDYtMDcgIFdlbnNvbiBIc2llaCAgPHdlbnNvbl9oc2llaEBhcHBsZS5jb20+CiAKICAgICAg
ICAgVXBzdHJlYW0gV2ViS2l0IHN1cHBvcnQgZm9yIExpdmUgVGV4dApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvUEFML0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL1BBTC9DaGFuZ2VMb2cK
aW5kZXggYzg0MmY4ZWViZWQ4MjMzNTE5M2I0MmM0ZjQ4Mzc5ZWIyODIwODBlYS4uNjQ2ZWJhOWUw
YjBiYmRhZjc2MGFlZjJjYjA3YzcwYjZjNjM4Y2FhMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvUEFML0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViQ29yZS9QQUwvQ2hhbmdlTG9nCkBAIC0x
LDMgKzEsMTQgQEAKKzIwMjEtMDYtMDkgIEpvbmF0aGFuIEJlZGFyZCAgPGpiZWRhcmRAYXBwbGUu
Y29tPgorCisgICAgICAgIFtNb250ZXJleV0gU3VwcG9ydCBidWlsZGluZyBXZWJLaXQKKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIyNjg0NgorICAgICAg
ICA8cmRhcjovL3Byb2JsZW0vNzkwOTUxNDg+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZ
IChPT1BTISkuCisKKyAgICAgICAgKiBwYWwvc3BpL2NvY29hL0NyeXB0b0tpdENCcmlkZ2luZ1NQ
SS5oOiBBZGQgUlNBIEJTU0EgZGVjbGFyYXRpb25zLgorICAgICAgICAqIHBhbC9zcGkvbWFjL1F1
aWNrTG9va01hY1NQSS5oOiBBZGQgSW1hZ2UgQW5hbHlzaXMgZGVjbGFyYXRpb25zLgorCiAyMDIx
LTA2LTA2ICBDb21taXQgUXVldWUgIDxjb21taXQtcXVldWVAd2Via2l0Lm9yZz4KIAogICAgICAg
ICBVbnJldmlld2VkLCByZXZlcnRpbmcgcjI3NzQ2NC4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKaW5kZXggMTRkYTdjNTU2MWY3
NGQ0N2VjMzY2ZWRjYmYzNzYwMjM5NzY5MDRlZS4uN2Q4YTIzYjcwYzY0MzAwNDVjY2VlYjIwYTgy
YTJmNzJjNDk5ZGU5ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKKysrIGIv
U291cmNlL1dlYktpdC9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyOSBAQAorMjAyMS0wNi0wOSAgSm9u
YXRoYW4gQmVkYXJkICA8amJlZGFyZEBhcHBsZS5jb20+CisKKyAgICAgICAgW01vbnRlcmV5XSBT
dXBwb3J0IGJ1aWxkaW5nIFdlYktpdAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9MjI2ODQ2CisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS83OTA5NTE0OD4K
KworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIFBsYXRm
b3JtL2NvY29hL1RleHRSZWNvZ25pdGlvblV0aWxpdGllcy5tbTogSW1wb3J0IFZpc2lvbktpdFNQ
SS5oLgorICAgICAgICAqIFBsYXRmb3JtL3NwaS9Db2NvYS9WaXNpb25LaXRTUEkuaDogQWRkZWQu
CisgICAgICAgICogVUlQcm9jZXNzL0FQSS9Db2NvYS9XS0Jyb3dzaW5nQ29udGV4dENvbnRyb2xs
ZXIubW06CisgICAgICAgIChzZXRVcFBhZ2VMb2FkZXJDbGllbnQpOiBBbGxvdyBkZXByZWNhdGVk
IGRlY2xhcmF0aW9ucy4KKyAgICAgICAgKHNldFVwUGFnZVBvbGljeUNsaWVudCk6IERpdHRvLgor
ICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvQ29jb2EvV0tDb25uZWN0aW9uLm1tOgorICAgICAgICAo
c2V0VXBDbGllbnQpOiBBbGxvdyBkZXByZWNhdGVkIGRlY2xhcmF0aW9ucy4KKyAgICAgICAgKiBV
SVByb2Nlc3MvQVBJL0NvY29hL1dLUHJvY2Vzc0dyb3VwLm1tOgorICAgICAgICAoc2V0VXBDb25u
ZWN0aW9uQ2xpZW50KTogQWxsb3cgZGVwcmVjYXRlZCBkZWNsYXJhdGlvbnMuCisgICAgICAgIChz
ZXRVcEluamVjdGVkQnVuZGxlQ2xpZW50KTogRGl0dG8uCisgICAgICAgIChzZXRVcEhpc3RvcnlD
bGllbnQpOiBEaXR0by4KKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL0NvY29hL1dLV2ViVmlld1Rl
c3RpbmcubW06CisgICAgICAgICgtW1dLV2ViVmlldyBfY3JlYXRlTWVkaWFTZXNzaW9uQ29vcmRp
bmF0b3JGb3JUZXN0aW5nOmNvbXBsZXRpb25IYW5kbGVyOl0pOiBFeHBsaWNpdGx5IGRlZmluZSBz
ZWNvbmQgYXJ1Z21lbnQKKyAgICAgICAgdG8gYXZvaWQgJ21pc3NpbmcgZmllbGQnIGNvbXBpbGF0
aW9uIGVycm9yLgorICAgICAgICAqIFVJUHJvY2Vzcy9Db2NvYS9XZWJWaWV3SW1wbC5tbTogSW1w
b3J0IFZpc2lvbktpdFNQSS5oLgorICAgICAgICAqIFVJUHJvY2Vzcy9pb3MvV0tDb250ZW50Vmll
d0ludGVyYWN0aW9uLm1tOiBEaXR0by4KKyAgICAgICAgKiBXZWJLaXQueGNvZGVwcm9qL3Byb2pl
Y3QucGJ4cHJvajogRGl0dG8uCisKIDIwMjEtMDYtMDcgIFdlbnNvbiBIc2llaCAgPHdlbnNvbl9o
c2llaEBhcHBsZS5jb20+CiAKICAgICAgICAgVXBzdHJlYW0gV2ViS2l0IHN1cHBvcnQgZm9yIExp
dmUgVGV4dApkaWZmIC0tZ2l0IGEvU291cmNlL1dURi93dGYvUGxhdGZvcm1IYXZlLmggYi9Tb3Vy
Y2UvV1RGL3d0Zi9QbGF0Zm9ybUhhdmUuaAppbmRleCA2ZTIwZDZmOGYxMjIyNjJiMmRjNDgwOThj
NDhlZDA2NTM2NmFiYjJkLi4yMzdiODU4OTBlYTFlZGU0ZGM3OTExODNiNjczNjQ0ZGYwNjUxMTU4
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV1RGL3d0Zi9QbGF0Zm9ybUhhdmUuaAorKysgYi9Tb3VyY2Uv
V1RGL3d0Zi9QbGF0Zm9ybUhhdmUuaApAQCAtMTAwMSwzICsxMDAxLDEwIEBACiAgICAgfHwgKFBM
QVRGT1JNKE1BQ0NBVEFMWVNUKSAmJiBfX0lQSE9ORV9PU19WRVJTSU9OX01JTl9SRVFVSVJFRCA+
PSAxNDAwMDApKQogI2RlZmluZSBIQVZFX0NPUkVfVEVYVF9TQklYX0lNQUdFX1NJWkVfRlVOQ1RJ
T05TIDEKICNlbmRpZgorCisjaWYgKFBMQVRGT1JNKE1BQykgJiYgX19NQUNfT1NfWF9WRVJTSU9O
X01JTl9SRVFVSVJFRCA+PSAxMjAwMDApIFwKKyAgICB8fCAoKFBMQVRGT1JNKElPUykgfHwgUExB
VEZPUk0oTUFDQ0FUQUxZU1QpKSAmJiBfX0lQSE9ORV9PU19WRVJTSU9OX01JTl9SRVFVSVJFRCA+
PSAxNTAwMDApCisjaWYgIWRlZmluZWQoSEFWRV9WS19JTUFHRV9BTkFMWVNJUykKKyNkZWZpbmUg
SEFWRV9WS19JTUFHRV9BTkFMWVNJUyAxCisjZW5kaWYKKyNlbmRpZgpkaWZmIC0tZ2l0IGEvU291
cmNlL1dURi93dGYvc3BpL2NvY29hL1NlY3VyaXR5U1BJLmggYi9Tb3VyY2UvV1RGL3d0Zi9zcGkv
Y29jb2EvU2VjdXJpdHlTUEkuaAppbmRleCA1NjM3MjdjOTQxZGI0NzNjMDVjZTEyYmMyZWVjNWNj
YTg5ODg4Zjc4Li4xMDA0MTY3ZDAyNThkNjhmMjc2Zjk2YWQ5YjkzNjJiODU4OTc5MzAzIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV1RGL3d0Zi9zcGkvY29jb2EvU2VjdXJpdHlTUEkuaAorKysgYi9Tb3Vy
Y2UvV1RGL3d0Zi9zcGkvY29jb2EvU2VjdXJpdHlTUEkuaApAQCAtODEsMTEgKzgxLDE1IEBAIFNl
Y0lkZW50aXR5UmVmIFNlY0lkZW50aXR5Q3JlYXRlKENGQWxsb2NhdG9yUmVmLCBTZWNDZXJ0aWZp
Y2F0ZVJlZiwgU2VjS2V5UmVmKTsKIFNlY0FjY2Vzc0NvbnRyb2xSZWYgU2VjQWNjZXNzQ29udHJv
bENyZWF0ZUZyb21EYXRhKENGQWxsb2NhdG9yUmVmLCBDRkRhdGFSZWYsIENGRXJyb3JSZWYqKTsK
IENGRGF0YVJlZiBTZWNBY2Nlc3NDb250cm9sQ29weURhdGEoU2VjQWNjZXNzQ29udHJvbFJlZik7
CiAKK0NGRGF0YVJlZiBTZWNLZXlDb3B5U3ViamVjdFB1YmxpY0tleUluZm8oU2VjS2V5UmVmKTsK
KwogI2lmIFBMQVRGT1JNKE1BQykKICNpbmNsdWRlIDxTZWN1cml0eS9TZWNBc24xVHlwZXMuaD4K
IENGU3RyaW5nUmVmIFNlY1Rhc2tDb3B5U2lnbmluZ0lkZW50aWZpZXIoU2VjVGFza1JlZiwgQ0ZF
cnJvclJlZiAqKTsKK0FMTE9XX0RFUFJFQ0FURURfREVDTEFSQVRJT05TX0JFR0lOCiBleHRlcm4g
Y29uc3QgU2VjQXNuMVRlbXBsYXRlIGtTZWNBc24xQWxnb3JpdGhtSURUZW1wbGF0ZVtdOwogZXh0
ZXJuIGNvbnN0IFNlY0FzbjFUZW1wbGF0ZSBrU2VjQXNuMVN1YmplY3RQdWJsaWNLZXlJbmZvVGVt
cGxhdGVbXTsKK0FMTE9XX0RFUFJFQ0FURURfREVDTEFSQVRJT05TX0VORAogdWludDMyX3QgU2Vj
VGFza0dldENvZGVTaWduU3RhdHVzKFNlY1Rhc2tSZWYpOwogI2VuZGlmCiAKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL1BBTC9wYWwvc3BpL2NvY29hL0NyeXB0b0tpdENCcmlkZ2luZ1NQSS5o
IGIvU291cmNlL1dlYkNvcmUvUEFML3BhbC9zcGkvY29jb2EvQ3J5cHRvS2l0Q0JyaWRnaW5nU1BJ
LmgKaW5kZXggODQ4NjhjNjFlN2RhMjM1NmYxNDZkMzM2NTlhNDdiNWVjYjk0ZmMwZC4uMTcyYzNj
ZDIwZDRhODVmYWE2NTNkZTllYTk1MzkyNzhiZjExYTdkYiAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvUEFML3BhbC9zcGkvY29jb2EvQ3J5cHRvS2l0Q0JyaWRnaW5nU1BJLmgKKysrIGIvU291
cmNlL1dlYkNvcmUvUEFML3BhbC9zcGkvY29jb2EvQ3J5cHRvS2l0Q0JyaWRnaW5nU1BJLmgKQEAg
LTM0LDE0ICszNCwyNSBAQAogI2Vsc2UKIAogQGludGVyZmFjZSBSU0FCU1NBVG9rZW5XYWl0aW5n
QWN0aXZhdGlvbiA6IE5TT2JqZWN0Ci1AcHJvcGVydHkgKG5vbmF0b21pYywgcmV0YWluLCByZWFk
b25seSkgTlNEYXRhICpibGluZGVkTWVzc2FnZTsKKyNpZiBIQVZFKFJTQV9CU1NBKQorLSAoUlNB
QlNTQVRva2VuUmVhZHkqKWFjdGl2YXRlVG9rZW5XaXRoU2VydmVyUmVzcG9uc2U6KE5TRGF0YSop
c2VydmVyUmVzcG9uc2UgZXJyb3I6KE5TRXJyb3IqIF9fYXV0b3JlbGVhc2luZyAqKWVycm9yOwor
I2VuZGlmCitAcHJvcGVydHkgKG5vbmF0b21pYywgcmV0YWluLCByZWFkb25seSkgTlNEYXRhKiBi
bGluZGVkTWVzc2FnZTsKIEBlbmQKIAogQGludGVyZmFjZSBSU0FCU1NBVG9rZW5SZWFkeSA6IE5T
T2JqZWN0Ci1AcHJvcGVydHkgKG5vbmF0b21pYywgcmV0YWluLCByZWFkb25seSkgTlNEYXRhICp0
b2tlbkNvbnRlbnQ7Ci1AcHJvcGVydHkgKG5vbmF0b21pYywgcmV0YWluLCByZWFkb25seSkgTlNE
YXRhICprZXlJZDsKLUBwcm9wZXJ0eSAobm9uYXRvbWljLCByZXRhaW4sIHJlYWRvbmx5KSBOU0Rh
dGEgKnNpZ25hdHVyZTsKK0Bwcm9wZXJ0eSAobm9uYXRvbWljLCByZXRhaW4sIHJlYWRvbmx5KSBO
U0RhdGEqIHRva2VuQ29udGVudDsKK0Bwcm9wZXJ0eSAobm9uYXRvbWljLCByZXRhaW4sIHJlYWRv
bmx5KSBOU0RhdGEqIGtleUlkOworQHByb3BlcnR5IChub25hdG9taWMsIHJldGFpbiwgcmVhZG9u
bHkpIE5TRGF0YSogc2lnbmF0dXJlOworQGVuZAorCisjaWYgSEFWRShSU0FfQlNTQSkKK0BpbnRl
cmZhY2UgUlNBQlNTQVRva2VuQmxpbmRlciA6IE5TT2JqZWN0CistIChpbnN0YW5jZXR5cGUpaW5p
dFdpdGhQdWJsaWNLZXk6KE5TRGF0YSopc3BraUJ5dGVzIGVycm9yOihOU0Vycm9yKiBfX2F1dG9y
ZWxlYXNpbmcgKillcnJvcjsKKy0gKFJTQUJTU0FUb2tlbldhaXRpbmdBY3RpdmF0aW9uKil0b2tl
bldhaXRpbmdBY3RpdmF0aW9uV2l0aENvbnRlbnQ6KE5TRGF0YSopY29udGVudCBlcnJvcjooTlNF
cnJvciogX19hdXRvcmVsZWFzaW5nICopZXJyb3I7CitAcHJvcGVydHkgKG5vbmF0b21pYywgcmV0
YWluLCByZWFkb25seSkgTlNEYXRhKiBrZXlJZDsKIEBlbmQKKyNlbmRpZgogCiAjZW5kaWYgLy8g
VVNFKEFQUExFX0lOVEVSTkFMX1NESykKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvUEFM
L3BhbC9zcGkvbWFjL1F1aWNrTG9va01hY1NQSS5oIGIvU291cmNlL1dlYkNvcmUvUEFML3BhbC9z
cGkvbWFjL1F1aWNrTG9va01hY1NQSS5oCmluZGV4IDZiOTI1ZjFhNzM3N2M0OWU5ZTY1MzRiMjFm
MDMzN2ZkYWFlZWRmODAuLmMwMTMxZTZkMzFlNmUzMDFlOWQzNGVlZDVmZTI0ODM5YjNlMjU3NWUg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1BBTC9wYWwvc3BpL21hYy9RdWlja0xvb2tNYWNT
UEkuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFsL3NwaS9tYWMvUXVpY2tMb29rTWFjU1BJ
LmgKQEAgLTU5LDExICs1OSwxMiBAQCB0eXBlZGVmIE5TX0VOVU0oTlNJbnRlZ2VyLCBRTFByZXZp
ZXdTdHlsZSkgewogQGVuZAogCiBAaW50ZXJmYWNlIFFMSXRlbSA6IE5TT2JqZWN0IDxRTFByZXZp
ZXdJdGVtPgorQHByb3BlcnR5IChub25hdG9taWMsIGNvcHkpIE5TRGljdGlvbmFyeSogcHJldmll
d09wdGlvbnM7CiBAZW5kCiAKICNlbmRpZiAvLyBVU0UoQVBQTEVfSU5URVJOQUxfU0RLKQogCi0j
aWYgSEFWRShRVUlDS0xPT0tfUFJFVklFV19JVEVNX0RBVEFfUFJPVklERVIpCisjaWYgSEFWRShR
VUlDS0xPT0tfUFJFVklFV19JVEVNX0RBVEFfUFJPVklERVIpIHx8IEhBVkUoVktfSU1BR0VfQU5B
TFlTSVMpCiAKIEBjbGFzcyBVVFR5cGU7CiBAaW50ZXJmYWNlIFFMSXRlbSAoU3RhZ2luZ183NDI5
OTQ1MSkKQEAgLTcyLDYgKzczLDE3IEBAIHR5cGVkZWYgTlNfRU5VTShOU0ludGVnZXIsIFFMUHJl
dmlld1N0eWxlKSB7CiAKICNlbmRpZgogCisjaWYgSEFWRShWS19JTUFHRV9BTkFMWVNJUykKKwor
dHlwZWRlZiBOU19FTlVNKE5TSW50ZWdlciwgUUxQcmV2aWV3QWN0aXZpdHkpIHsKKyAgICBRTFBy
ZXZpZXdBY3Rpdml0eU5vbmUsCisgICAgUUxQcmV2aWV3QWN0aXZpdHlNYXJrdXAsCisgICAgUUxQ
cmV2aWV3QWN0aXZpdHlUcmltLAorICAgIFFMUHJldmlld0FjdGl2aXR5VmlzdWFsU2VhcmNoCit9
OworCisjZW5kaWYKKwogI2lmIEhBVkUoUVVJQ0tMT09LX0lURU1fUFJFVklFV19PUFRJT05TKQog
CiBAaW50ZXJmYWNlIFFMSXRlbSAoU3RhZ2luZ183Nzg2NDYzNykKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3Rlc3Rpbmcv
SW50ZXJuYWxzLmNwcAppbmRleCBmMTExYzI1Mzc5NWQwNzU5MDZlYjVkNzk0NjI4YTBmMjJhYTRh
Nzg0Li4yN2VhODVlNmY1ZjhjMjFjZTU5ZDE3NzE4YmIwMGI5Y2JiMDU3NzlkIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvdGVzdGluZy9JbnRlcm5hbHMuY3BwCkBAIC01NjQwLDYgKzU2NDAsOSBAQCB2b2lkIEludGVy
bmFsczo6aW5zdGFsbEltYWdlT3ZlcmxheShFbGVtZW50JiBlbGVtZW50LCBWZWN0b3I8SW1hZ2VP
dmVybGF5TGluZT4mJgogICAgICAgICBsaW5lcy5tYXAoW10gKGF1dG8mIGxpbmUpIC0+IFRleHRS
ZWNvZ25pdGlvbkxpbmVEYXRhIHsKICAgICAgICAgICAgIHJldHVybiBtYWtlRGF0YUZvckxpbmUo
bGluZSk7CiAgICAgICAgIH0pCisjaWYgRU5BQkxFKERBVEFfREVURUNUSU9OKQorICAgICAgICAs
IFZlY3RvcjxUZXh0UmVjb2duaXRpb25EYXRhRGV0ZWN0b3I+KCkKKyNlbmRpZgogICAgIH0pOwog
I2Vsc2UKICAgICBVTlVTRURfUEFSQU0obGluZXMpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dC9QbGF0Zm9ybS9jb2NvYS9UZXh0UmVjb2duaXRpb25VdGlsaXRpZXMubW0gYi9Tb3VyY2UvV2Vi
S2l0L1BsYXRmb3JtL2NvY29hL1RleHRSZWNvZ25pdGlvblV0aWxpdGllcy5tbQppbmRleCA5M2E2
YTMzZWI2MmRjMGY0ZmNlYjRkNzRjMDVhNWZlOTEyY2E0M2E1Li42MTAxODI5YmNlZmIxMDI4YjBj
ZjkzMTExNDgyMTFiMGU2NjJkMWExIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1BsYXRmb3Jt
L2NvY29hL1RleHRSZWNvZ25pdGlvblV0aWxpdGllcy5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L1Bs
YXRmb3JtL2NvY29hL1RleHRSZWNvZ25pdGlvblV0aWxpdGllcy5tbQpAQCAtMjgsOCArMjgsNyBA
QAogCiAjaWYgRU5BQkxFKElNQUdFX0FOQUxZU0lTKQogCi0jaW1wb3J0IDxWaXNpb25LaXRDb3Jl
L1ZLSW1hZ2VBbmFseXNpc19XZWJLaXQuaD4KLSNpbXBvcnQgPFZpc2lvbktpdENvcmUvVktRdWFk
Lmg+CisjaW1wb3J0ICJWaXNpb25LaXRTUEkuaCIKICNpbXBvcnQgPFdlYkNvcmUvVGV4dFJlY29n
bml0aW9uUmVzdWx0Lmg+CiAjaW1wb3J0IDxwYWwvc3BpL2NvY29hL0ZlYXR1cmVGbGFnc1NQSS5o
PgogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1BsYXRmb3JtL3NwaS9Db2NvYS9WaXNpb25L
aXRTUEkuaCBiL1NvdXJjZS9XZWJLaXQvUGxhdGZvcm0vc3BpL0NvY29hL1Zpc2lvbktpdFNQSS5o
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLmMzMDJmOGM3ZGNkOGJlMmEyMTBmNzFiYzhjMjM1Yzc4MGRmMGNjNDEKLS0t
IC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViS2l0L1BsYXRmb3JtL3NwaS9Db2NvYS9WaXNpb25L
aXRTUEkuaApAQCAtMCwwICsxLDEzMSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAyMSBBcHBs
ZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVz
ZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmlj
YXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlv
bnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVz
dCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2Yg
Y29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmli
dXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQK
KyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcg
ZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVy
aWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FS
RSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMn
JworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBC
VVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5U
QUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVND
TEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMK
KyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJ
QUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBC
VVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9S
IFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAq
IElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklM
SVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAo
SU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZ
IE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICog
VEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpZiBIQVZFKFZLX0lNQUdF
X0FOQUxZU0lTKQorCisjaWYgVVNFKEFQUExFX0lOVEVSTkFMX1NESykKKworI2ltcG9ydCA8Vmlz
aW9uS2l0Q29yZS9WS0ltYWdlQW5hbHlzaXNfV2ViS2l0Lmg+CisjaW1wb3J0IDxWaXNpb25LaXRD
b3JlL1ZLSW1hZ2VBbmFseXplci5oPgorI2ltcG9ydCA8VmlzaW9uS2l0Q29yZS9WS1F1YWQuaD4K
KworI2Vsc2UKKworTlNfQVNTVU1FX05PTk5VTExfQkVHSU4KKwordHlwZWRlZiBpbnQzMl90IFZL
SW1hZ2VBbmFseXNpc1JlcXVlc3RJRDsKKwordHlwZWRlZiBOU19PUFRJT05TKE5TVUludGVnZXIs
IFZLQW5hbHlzaXNUeXBlcykgeworICAgIFZLQW5hbHlzaXNUeXBlVGV4dCAgICAgICAgICAgICAg
ICAgPSAxIDw8IDAsCisgICAgVktBbmFseXNpc1R5cGVUZXh0RGF0YURldGVjdG9yICAgICA9IDEg
PDwgMSwKKyAgICBWS0FuYWx5c2lzVHlwZU1hY2hpbmVSZWFkYWJsZUNvZGUgID0gMSA8PCAyLAor
ICAgIFZLQW5hbHlzaXNUeXBlQXBwQ2xpcCAgICAgICAgICAgICAgPSAxIDw8IDMsCisgICAgVktB
bmFseXNpc1R5cGVWaXN1YWxTZWFyY2ggICAgICAgICA9IDEgPDwgNCwKKyAgICBWS0FuYWx5c2lz
VHlwZU5vbmUgPSAwLAorICAgIFZLQW5hbHlzaXNUeXBlQWxsID0gTlNVSW50ZWdlck1heCwKK307
CisKKyNpZiBQTEFURk9STShJT1MpCisKK3R5cGVkZWYgVUlJbWFnZSBWS0ltYWdlQ2xhc3M7CisK
K3R5cGVkZWYgVUlJbWFnZU9yaWVudGF0aW9uIFZLSW1hZ2VPcmllbnRhdGlvbjsKKworI2RlZmlu
ZSBWS0ltYWdlT3JpZW50YXRpb25VcCAgICAgICAgICAgIFVJSW1hZ2VPcmllbnRhdGlvblVwCisj
ZGVmaW5lIFZLSW1hZ2VPcmllbnRhdGlvbkRvd24gICAgICAgICAgVUlJbWFnZU9yaWVudGF0aW9u
RG93bgorI2RlZmluZSBWS0ltYWdlT3JpZW50YXRpb25MZWZ0ICAgICAgICAgIFVJSW1hZ2VPcmll
bnRhdGlvbkxlZnQKKyNkZWZpbmUgVktJbWFnZU9yaWVudGF0aW9uUmlnaHQgICAgICAgICBVSUlt
YWdlT3JpZW50YXRpb25SaWdodAorI2RlZmluZSBWS0ltYWdlT3JpZW50YXRpb25VcE1pcnJvcmVk
ICAgIFVJSW1hZ2VPcmllbnRhdGlvblVwTWlycm9yZWQKKyNkZWZpbmUgVktJbWFnZU9yaWVudGF0
aW9uRG93bk1pcnJvcmVkICBVSUltYWdlT3JpZW50YXRpb25Eb3duTWlycm9yZWQKKyNkZWZpbmUg
VktJbWFnZU9yaWVudGF0aW9uTGVmdE1pcnJvcmVkICBVSUltYWdlT3JpZW50YXRpb25MZWZ0TWly
cm9yZWQKKyNkZWZpbmUgVktJbWFnZU9yaWVudGF0aW9uUmlnaHRNaXJyb3JlZCBVSUltYWdlT3Jp
ZW50YXRpb25SaWdodE1pcnJvcmVkCisKKyNlbHNlCisKK3R5cGVkZWYgTlNJbWFnZSBWS0ltYWdl
Q2xhc3M7CisKK3R5cGVkZWYgTlNfRU5VTShOU0ludGVnZXIsIFZLSW1hZ2VPcmllbnRhdGlvbikg
eworICAgIFZLSW1hZ2VPcmllbnRhdGlvblVwLAorICAgIFZLSW1hZ2VPcmllbnRhdGlvbkRvd24s
CisgICAgVktJbWFnZU9yaWVudGF0aW9uTGVmdCwKKyAgICBWS0ltYWdlT3JpZW50YXRpb25SaWdo
dCwKKyAgICBWS0ltYWdlT3JpZW50YXRpb25VcE1pcnJvcmVkLAorICAgIFZLSW1hZ2VPcmllbnRh
dGlvbkRvd25NaXJyb3JlZCwKKyAgICBWS0ltYWdlT3JpZW50YXRpb25MZWZ0TWlycm9yZWQsCisg
ICAgVktJbWFnZU9yaWVudGF0aW9uUmlnaHRNaXJyb3JlZCwKK307CisKKyNlbmRpZgorCitAaW50
ZXJmYWNlIFZLSW1hZ2VBbmFseXNpcyA6IE5TT2JqZWN0IDxOU1NlY3VyZUNvZGluZz4KKy0gKEJP
T0wpaGFzUmVzdWx0c0ZvckFuYWx5c2lzVHlwZXM6KFZLQW5hbHlzaXNUeXBlcylhbmFseXNpc1R5
cGVzOworQGVuZAorCitAcHJvdG9jb2wgVktGZWVkYmFja0Fzc2V0c1Byb3ZpZGVyIDxOU09iamVj
dD4KKy0gKEJPT0wpc2F2ZUFzc2V0c1RvRmVlZGJhY2tBdHRhY2htZW50c0ZvbGRlcjooTlNVUkwg
KilhdHRhY2htZW50c0ZvbGRlclVSTCBlcnJvcjooTlNFcnJvciAqKWVycm9yOworQGVuZAorCitA
aW50ZXJmYWNlIFZLSW1hZ2VBbmFseXplclJlcXVlc3QgOiBOU09iamVjdCA8TlNDb3B5aW5nLCBW
S0ZlZWRiYWNrQXNzZXRzUHJvdmlkZXI+CistIChpbnN0YW5jZXR5cGUpaW5pdCBOU19VTkFWQUlM
QUJMRTsKKy0gKGluc3RhbmNldHlwZSlpbml0V2l0aEltYWdlOihWS0ltYWdlQ2xhc3MgKilpbWFn
ZSByZXF1ZXN0VHlwZTooVktBbmFseXNpc1R5cGVzKWFuYWx5c2lzVHlwZTsKKy0gKGluc3RhbmNl
dHlwZSlpbml0V2l0aENHSW1hZ2U6KENHSW1hZ2VSZWYpaW1hZ2Ugb3JpZW50YXRpb246KFZLSW1h
Z2VPcmllbnRhdGlvbilvcmllbnRhdGlvbiByZXF1ZXN0VHlwZTooVktBbmFseXNpc1R5cGVzKWFu
YWx5c2lzVHlwZTsKK0BlbmQKKworQGludGVyZmFjZSBWS0ltYWdlQW5hbHl6ZXIgOiBOU09iamVj
dAorQHByb3BlcnR5IChub25hdG9taWMsIHN0cm9uZywgbnVsbGFibGUpIGRpc3BhdGNoX3F1ZXVl
X3QgY2FsbGJhY2tRdWV1ZTsKKy0gKFZLSW1hZ2VBbmFseXNpc1JlcXVlc3RJRClwcm9jZXNzUmVx
dWVzdDooVktJbWFnZUFuYWx5emVyUmVxdWVzdCAqKXJlcXVlc3QKKyAgICAgICAgICAgICAgICAg
ICAgICAgICAgIHByb2dyZXNzSGFuZGxlcjoodm9pZCAoXl9OdWxsYWJsZSkoZG91YmxlIHByb2dy
ZXNzKSlwcm9ncmVzc0hhbmRsZXIKKyAgICAgICAgICAgICAgICAgICAgICAgICBjb21wbGV0aW9u
SGFuZGxlcjoodm9pZCAoXikoVktJbWFnZUFuYWx5c2lzKiBfTnVsbGFibGUgYW5hbHlzaXMsIE5T
RXJyb3IgKiBfTnVsbGFibGUgZXJyb3IpKWNvbXBsZXRpb25IYW5kbGVyOworQGVuZAorCitAaW50
ZXJmYWNlIFZLUXVhZCA6IE5TT2JqZWN0IDxOU0NvcHlpbmcsIE5TU2VjdXJlQ29kaW5nPgorQHBy
b3BlcnR5IChub25hdG9taWMsIHJlYWRvbmx5KSBDR1BvaW50IHRvcExlZnQ7CitAcHJvcGVydHkg
KG5vbmF0b21pYywgcmVhZG9ubHkpIENHUG9pbnQgdG9wUmlnaHQ7CitAcHJvcGVydHkgKG5vbmF0
b21pYywgcmVhZG9ubHkpIENHUG9pbnQgYm90dG9tTGVmdDsKK0Bwcm9wZXJ0eSAobm9uYXRvbWlj
LCByZWFkb25seSkgQ0dQb2ludCBib3R0b21SaWdodDsKK0Bwcm9wZXJ0eSAobm9uYXRvbWljLCBy
ZWFkb25seSkgQ0dSZWN0IGJvdW5kaW5nQm94OworQGVuZAorCitAaW50ZXJmYWNlIFZLV0tUZXh0
SW5mbyA6IE5TT2JqZWN0CitAcHJvcGVydHkgKG5vbmF0b21pYywgcmVhZG9ubHkpIE5TU3RyaW5n
ICpzdHJpbmc7CitAcHJvcGVydHkgKG5vbmF0b21pYywgcmVhZG9ubHkpIFZLUXVhZCAqcXVhZDsK
K0BlbmQKKworQGludGVyZmFjZSBWS1dLTGluZUluZm8gOiBWS1dLVGV4dEluZm8KK0Bwcm9wZXJ0
eSAobm9uYXRvbWljLCByZWFkb25seSkgTlNBcnJheTxWS1dLVGV4dEluZm8gKj4gKmNoaWxkcmVu
OworQGVuZAorCitAaW50ZXJmYWNlIFZLSW1hZ2VBbmFseXNpcyAoV2ViS2l0U1BJKQorQHByb3Bl
cnR5IChub25hdG9taWMsIHJlYWRvbmx5KSBOU0FycmF5IDxWS1dLTGluZUluZm8gKj4gKmFsbExp
bmVzOworI2lmIFBMQVRGT1JNKElPUykKK0Bwcm9wZXJ0eSAobm9uYXRvbWljKSBVSU1lbnUgKiBt
cmNNZW51OworI2VuZGlmCitAZW5kCisKK05TX0FTU1VNRV9OT05OVUxMX0VORAorCisjZW5kaWYK
KworI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2Ev
V0tCcm93c2luZ0NvbnRleHRDb250cm9sbGVyLm1tIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3Mv
QVBJL0NvY29hL1dLQnJvd3NpbmdDb250ZXh0Q29udHJvbGxlci5tbQppbmRleCBmMzYwYjQyZDk1
NTk3MTc4OTA2ZDc5NjEwZmM0NjlmZDE2MGFmZjdjLi5jNjVjODYyZTI4NDY2N2VmZGM0Mzk1NmVl
MjU4MTg5ZGYzNTcyNWU5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkv
Q29jb2EvV0tCcm93c2luZ0NvbnRleHRDb250cm9sbGVyLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQv
VUlQcm9jZXNzL0FQSS9Db2NvYS9XS0Jyb3dzaW5nQ29udGV4dENvbnRyb2xsZXIubW0KQEAgLTQz
OSw3ICs0MzksOSBAQCBzdGF0aWMgdm9pZCBwcm9jZXNzRGlkQ3Jhc2goV0tQYWdlUmVmIHBhZ2Us
IGNvbnN0IHZvaWQqIGNsaWVudEluZm8pCiAgICAgICAgIFsoaWQgPFdLQnJvd3NpbmdDb250ZXh0
TG9hZERlbGVnYXRlUHJpdmF0ZT4pbG9hZERlbGVnYXRlIGJyb3dzaW5nQ29udGV4dENvbnRyb2xs
ZXJXZWJQcm9jZXNzRGlkQ3Jhc2g6YnJvd3NpbmdDb250ZXh0XTsKIH0KIAorQUxMT1dfREVQUkVD
QVRFRF9ERUNMQVJBVElPTlNfQkVHSU4KIHN0YXRpYyB2b2lkIHNldFVwUGFnZUxvYWRlckNsaWVu
dChXS0Jyb3dzaW5nQ29udGV4dENvbnRyb2xsZXIgKmJyb3dzaW5nQ29udGV4dCwgV2ViS2l0OjpX
ZWJQYWdlUHJveHkmIHBhZ2UpCitBTExPV19ERVBSRUNBVEVEX0RFQ0xBUkFUSU9OU19FTkQKIHsK
ICAgICBXS1BhZ2VOYXZpZ2F0aW9uQ2xpZW50VjAgbG9hZGVyQ2xpZW50OwogICAgIG1lbXNldCgm
bG9hZGVyQ2xpZW50LCAwLCBzaXplb2YobG9hZGVyQ2xpZW50KSk7CkBAIC00NzYsNyArNDc4LDkg
QEAgc3RhdGljIEJsb2NrUHRyPHZvaWQoV0tQb2xpY3lEZWNpc2lvbik+IG1ha2VQb2xpY3lEZWNp
c2lvbkJsb2NrKFdLRnJhbWVQb2xpY3lMaXMKICAgICB9KTsKIH0KIAorQUxMT1dfREVQUkVDQVRF
RF9ERUNMQVJBVElPTlNfQkVHSU4KIHN0YXRpYyB2b2lkIHNldFVwUGFnZVBvbGljeUNsaWVudChX
S0Jyb3dzaW5nQ29udGV4dENvbnRyb2xsZXIgKmJyb3dzaW5nQ29udGV4dCwgV2ViS2l0OjpXZWJQ
YWdlUHJveHkmIHBhZ2UpCitBTExPV19ERVBSRUNBVEVEX0RFQ0xBUkFUSU9OU19FTkQKIHsKICAg
ICBXS1BhZ2VQb2xpY3lDbGllbnRJbnRlcm5hbCBwb2xpY3lDbGllbnQ7CiAgICAgbWVtc2V0KCZw
b2xpY3lDbGllbnQsIDAsIHNpemVvZihwb2xpY3lDbGllbnQpKTsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS0Nvbm5lY3Rpb24ubW0gYi9Tb3VyY2UvV2Vi
S2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tDb25uZWN0aW9uLm1tCmluZGV4IDBmZWUzZWQxNmU4
M2EzODVmNTFhZjI5NWMwZGU5ZjNkNTczOWU2NjIuLjA0ZDMzYzk0N2UwMjhjZmUyZDk1Yzk3OGFj
M2UyZDEyOWQ0NTBhNWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9D
b2NvYS9XS0Nvbm5lY3Rpb24ubW0KKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0Nv
Y29hL1dLQ29ubmVjdGlvbi5tbQpAQCAtNzYsNyArNzYsOSBAQCBzdGF0aWMgdm9pZCBkaWRDbG9z
ZShXS0Nvbm5lY3Rpb25SZWYsIGNvbnN0IHZvaWQqIGNsaWVudEluZm8pCiAgICAgICAgIFtkZWxl
Z2F0ZSBjb25uZWN0aW9uRGlkQ2xvc2U6Y29ubmVjdGlvbl07CiB9CiAKK0FMTE9XX0RFUFJFQ0FU
RURfREVDTEFSQVRJT05TX0JFR0lOCiBzdGF0aWMgdm9pZCBzZXRVcENsaWVudChXS0Nvbm5lY3Rp
b24gKndyYXBwZXIsIFdlYktpdDo6V2ViQ29ubmVjdGlvbiYgY29ubmVjdGlvbikKK0FMTE9XX0RF
UFJFQ0FURURfREVDTEFSQVRJT05TX0VORAogewogICAgIFdLQ29ubmVjdGlvbkNsaWVudFYwIGNs
aWVudDsKICAgICBtZW1zZXQoJmNsaWVudCwgMCwgc2l6ZW9mKGNsaWVudCkpOwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL1dLUHJvY2Vzc0dyb3VwLm1tIGIv
U291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL1dLUHJvY2Vzc0dyb3VwLm1tCmluZGV4
IDA3MTJmMzUwMGFlZDhmNDUxNmM2Y2M5NWU5NTliZjFiYjFmMTUyYjAuLmQxYzNhODIzYzJlZGJk
YTU5YWZkNmRhMzZkMTY1OTQ5NmNmMTU0NzkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQ
cm9jZXNzL0FQSS9Db2NvYS9XS1Byb2Nlc3NHcm91cC5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L1VJ
UHJvY2Vzcy9BUEkvQ29jb2EvV0tQcm9jZXNzR3JvdXAubW0KQEAgLTczLDcgKzczLDkgQEAgc3Rh
dGljIHZvaWQgZGlkQ3JlYXRlQ29ubmVjdGlvbihXS0NvbnRleHRSZWYsIFdLQ29ubmVjdGlvblJl
ZiBjb25uZWN0aW9uUmVmLCBjb24KICAgICAgICAgW2RlbGVnYXRlIHByb2Nlc3NHcm91cDpwcm9j
ZXNzR3JvdXAgZGlkQ3JlYXRlQ29ubmVjdGlvblRvV2ViUHJvY2Vzc1BsdWdJbjp3cmFwcGVyKCpX
ZWJLaXQ6OnRvSW1wbChjb25uZWN0aW9uUmVmKSldOwogfQogCitBTExPV19ERVBSRUNBVEVEX0RF
Q0xBUkFUSU9OU19CRUdJTgogc3RhdGljIHZvaWQgc2V0VXBDb25uZWN0aW9uQ2xpZW50KFdLUHJv
Y2Vzc0dyb3VwICpwcm9jZXNzR3JvdXAsIFdLQ29udGV4dFJlZiBjb250ZXh0UmVmKQorQUxMT1df
REVQUkVDQVRFRF9ERUNMQVJBVElPTlNfRU5ECiB7CiAgICAgV0tDb250ZXh0Q29ubmVjdGlvbkNs
aWVudFYwIGNvbm5lY3Rpb25DbGllbnQ7CiAgICAgbWVtc2V0KCZjb25uZWN0aW9uQ2xpZW50LCAw
LCBzaXplb2YoY29ubmVjdGlvbkNsaWVudCkpOwpAQCAtMTAxLDcgKzEwMyw5IEBAIHN0YXRpYyBX
S1R5cGVSZWYgZ2V0SW5qZWN0ZWRCdW5kbGVJbml0aWFsaXphdGlvblVzZXJEYXRhKFdLQ29udGV4
dFJlZiwgY29uc3Qgdm9pCiAgICAgcmV0dXJuIDA7CiB9CiAKK0FMTE9XX0RFUFJFQ0FURURfREVD
TEFSQVRJT05TX0JFR0lOCiBzdGF0aWMgdm9pZCBzZXRVcEluamVjdGVkQnVuZGxlQ2xpZW50KFdL
UHJvY2Vzc0dyb3VwICpwcm9jZXNzR3JvdXAsIFdLQ29udGV4dFJlZiBjb250ZXh0UmVmKQorQUxM
T1dfREVQUkVDQVRFRF9ERUNMQVJBVElPTlNfRU5ECiB7CiAgICAgV0tDb250ZXh0SW5qZWN0ZWRC
dW5kbGVDbGllbnRWMSBpbmplY3RlZEJ1bmRsZUNsaWVudDsKICAgICBtZW1zZXQoJmluamVjdGVk
QnVuZGxlQ2xpZW50LCAwLCBzaXplb2YoaW5qZWN0ZWRCdW5kbGVDbGllbnQpKTsKQEAgLTE2OSw3
ICsxNzMsOSBAQCBzdGF0aWMgdm9pZCBkaWRVcGRhdGVIaXN0b3J5VGl0bGUoV0tDb250ZXh0UmVm
LCBXS1BhZ2VSZWYgcGFnZVJlZiwgV0tTdHJpbmdSZWYgdAogICAgICAgICBbaGlzdG9yeURlbGVn
YXRlIGJyb3dzaW5nQ29udGV4dENvbnRyb2xsZXI6Y29udHJvbGxlciBkaWRVcGRhdGVIaXN0b3J5
VGl0bGU6d3JhcHBlcigqV2ViS2l0Ojp0b0ltcGwodGl0bGVSZWYpKSBmb3JVUkw6d3JhcHBlcigq
V2ViS2l0Ojp0b0ltcGwodXJsUmVmKSldOwogfQogCitBTExPV19ERVBSRUNBVEVEX0RFQ0xBUkFU
SU9OU19CRUdJTgogc3RhdGljIHZvaWQgc2V0VXBIaXN0b3J5Q2xpZW50KFdLUHJvY2Vzc0dyb3Vw
ICpwcm9jZXNzR3JvdXAsIFdLQ29udGV4dFJlZiBjb250ZXh0UmVmKQorQUxMT1dfREVQUkVDQVRF
RF9ERUNMQVJBVElPTlNfRU5ECiB7CiAgICAgV0tDb250ZXh0SGlzdG9yeUNsaWVudFYwIGhpc3Rv
cnlDbGllbnQ7CiAgICAgbWVtc2V0KCZoaXN0b3J5Q2xpZW50LCAwLCBzaXplb2YoaGlzdG9yeUNs
aWVudCkpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL1dL
V2ViVmlld1Rlc3RpbmcubW0gYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tX
ZWJWaWV3VGVzdGluZy5tbQppbmRleCA5NGM1MmNjMzcwMWFiMWEwNjRkZDkwMWQ1YjUzYzBjNjll
YjQ5MzgxLi5hNGJjNjFhMmJmNzdlMWYxZGQ4ZGFkYWQ2NDJmZTBiZDM4MTFhY2NkIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJWaWV3VGVzdGluZy5t
bQorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJWaWV3VGVzdGlu
Zy5tbQpAQCAtNDU0LDcgKzQ1NCw3IEBAIC0gKHZvaWQpX2NyZWF0ZU1lZGlhU2Vzc2lvbkNvb3Jk
aW5hdG9yRm9yVGVzdGluZzooaWQgPF9XS01lZGlhU2Vzc2lvbkNvb3JkaW5hdG9yCiAgICAgICAg
IHN0ZDo6b3B0aW9uYWw8V2ViQ29yZTo6RXhjZXB0aW9uRGF0YT4gcmVzdWx0KGJvb2wgc3VjY2Vz
cykgY29uc3QKICAgICAgICAgewogICAgICAgICAgICAgaWYgKCFzdWNjZXNzKQotICAgICAgICAg
ICAgICAgIHJldHVybiB7IFdlYkNvcmU6OkV4Y2VwdGlvbkRhdGEgeyBXZWJDb3JlOjpJbnZhbGlk
U3RhdGVFcnJvciB9IH07CisgICAgICAgICAgICAgICAgcmV0dXJuIHsgV2ViQ29yZTo6RXhjZXB0
aW9uRGF0YSB7IFdlYkNvcmU6OkludmFsaWRTdGF0ZUVycm9yLCBTdHJpbmcoKSB9IH07CiAKICAg
ICAgICAgICAgIHJldHVybiB7IH07CiAgICAgICAgIH0KQEAgLTQ2OCw3ICs0NjgsNyBAQCAtICh2
b2lkKV9jcmVhdGVNZWRpYVNlc3Npb25Db29yZGluYXRvckZvclRlc3Rpbmc6KGlkIDxfV0tNZWRp
YVNlc3Npb25Db29yZGluYXRvcgogICAgICAgICB7CiAgICAgICAgICAgICBbbV9jbGllbnRDb29y
ZGluYXRvciBqb2luV2l0aENvbXBsZXRpb246bWFrZUJsb2NrUHRyKFt3ZWFrVGhpcyA9IG1ha2VX
ZWFrUHRyKHRoaXMpLCBjYWxsYmFjayA9IFdURk1vdmUoY2FsbGJhY2spXSAoQk9PTCBzdWNjZXNz
KSBtdXRhYmxlIHsKICAgICAgICAgICAgICAgICBpZiAoIXdlYWtUaGlzKSB7Ci0gICAgICAgICAg
ICAgICAgICAgIGNhbGxiYWNrKFdlYkNvcmU6OkV4Y2VwdGlvbkRhdGEgeyBXZWJDb3JlOjpJbnZh
bGlkU3RhdGVFcnJvciB9KTsKKyAgICAgICAgICAgICAgICAgICAgY2FsbGJhY2soV2ViQ29yZTo6
RXhjZXB0aW9uRGF0YSB7IFdlYkNvcmU6OkludmFsaWRTdGF0ZUVycm9yLCBTdHJpbmcoKSB9KTsK
ICAgICAgICAgICAgICAgICAgICAgcmV0dXJuOwogICAgICAgICAgICAgICAgIH0KIApAQCAtNDg1
LDcgKzQ4NSw3IEBAIC0gKHZvaWQpX2NyZWF0ZU1lZGlhU2Vzc2lvbkNvb3JkaW5hdG9yRm9yVGVz
dGluZzooaWQgPF9XS01lZGlhU2Vzc2lvbkNvb3JkaW5hdG9yCiAgICAgICAgIHsKICAgICAgICAg
ICAgIFttX2NsaWVudENvb3JkaW5hdG9yIHNlZWtUbzp0aW1lIHdpdGhDb21wbGV0aW9uOm1ha2VC
bG9ja1B0cihbd2Vha1RoaXMgPSBtYWtlV2Vha1B0cih0aGlzKSwgY2FsbGJhY2sgPSBXVEZNb3Zl
KGNhbGxiYWNrKV0gKEJPT0wgc3VjY2VzcykgbXV0YWJsZSB7CiAgICAgICAgICAgICAgICAgaWYg
KCF3ZWFrVGhpcykgewotICAgICAgICAgICAgICAgICAgICBjYWxsYmFjayhXZWJDb3JlOjpFeGNl
cHRpb25EYXRhIHsgV2ViQ29yZTo6SW52YWxpZFN0YXRlRXJyb3IgfSk7CisgICAgICAgICAgICAg
ICAgICAgIGNhbGxiYWNrKFdlYkNvcmU6OkV4Y2VwdGlvbkRhdGEgeyBXZWJDb3JlOjpJbnZhbGlk
U3RhdGVFcnJvciwgU3RyaW5nKCkgfSk7CiAgICAgICAgICAgICAgICAgICAgIHJldHVybjsKICAg
ICAgICAgICAgICAgICB9CiAKQEAgLTQ5Nyw3ICs0OTcsNyBAQCAtICh2b2lkKV9jcmVhdGVNZWRp
YVNlc3Npb25Db29yZGluYXRvckZvclRlc3Rpbmc6KGlkIDxfV0tNZWRpYVNlc3Npb25Db29yZGlu
YXRvcgogICAgICAgICB7CiAgICAgICAgICAgICBbbV9jbGllbnRDb29yZGluYXRvciBwbGF5V2l0
aENvbXBsZXRpb246bWFrZUJsb2NrUHRyKFt3ZWFrVGhpcyA9IG1ha2VXZWFrUHRyKHRoaXMpLCBj
YWxsYmFjayA9IFdURk1vdmUoY2FsbGJhY2spXSAoQk9PTCBzdWNjZXNzKSBtdXRhYmxlIHsKICAg
ICAgICAgICAgICAgICBpZiAoIXdlYWtUaGlzKSB7Ci0gICAgICAgICAgICAgICAgICAgIGNhbGxi
YWNrKFdlYkNvcmU6OkV4Y2VwdGlvbkRhdGEgeyBXZWJDb3JlOjpJbnZhbGlkU3RhdGVFcnJvciB9
KTsKKyAgICAgICAgICAgICAgICAgICAgY2FsbGJhY2soV2ViQ29yZTo6RXhjZXB0aW9uRGF0YSB7
IFdlYkNvcmU6OkludmFsaWRTdGF0ZUVycm9yLCBTdHJpbmcoKSB9KTsKICAgICAgICAgICAgICAg
ICAgICAgcmV0dXJuOwogICAgICAgICAgICAgICAgIH0KIApAQCAtNTA5LDcgKzUwOSw3IEBAIC0g
KHZvaWQpX2NyZWF0ZU1lZGlhU2Vzc2lvbkNvb3JkaW5hdG9yRm9yVGVzdGluZzooaWQgPF9XS01l
ZGlhU2Vzc2lvbkNvb3JkaW5hdG9yCiAgICAgICAgIHsKICAgICAgICAgICAgIFttX2NsaWVudENv
b3JkaW5hdG9yIHBhdXNlV2l0aENvbXBsZXRpb246bWFrZUJsb2NrUHRyKFt3ZWFrVGhpcyA9IG1h
a2VXZWFrUHRyKHRoaXMpLCBjYWxsYmFjayA9IFdURk1vdmUoY2FsbGJhY2spXSAoQk9PTCBzdWNj
ZXNzKSBtdXRhYmxlIHsKICAgICAgICAgICAgICAgICBpZiAoIXdlYWtUaGlzKSB7Ci0gICAgICAg
ICAgICAgICAgICAgIGNhbGxiYWNrKFdlYkNvcmU6OkV4Y2VwdGlvbkRhdGEgeyBXZWJDb3JlOjpJ
bnZhbGlkU3RhdGVFcnJvciB9KTsKKyAgICAgICAgICAgICAgICAgICAgY2FsbGJhY2soV2ViQ29y
ZTo6RXhjZXB0aW9uRGF0YSB7IFdlYkNvcmU6OkludmFsaWRTdGF0ZUVycm9yLCBTdHJpbmcoKSB9
KTsKICAgICAgICAgICAgICAgICAgICAgcmV0dXJuOwogICAgICAgICAgICAgICAgIH0KIApAQCAt
NTIxLDcgKzUyMSw3IEBAIC0gKHZvaWQpX2NyZWF0ZU1lZGlhU2Vzc2lvbkNvb3JkaW5hdG9yRm9y
VGVzdGluZzooaWQgPF9XS01lZGlhU2Vzc2lvbkNvb3JkaW5hdG9yCiAgICAgICAgIHsKICAgICAg
ICAgICAgIFttX2NsaWVudENvb3JkaW5hdG9yIHNldFRyYWNrOnRyYWNrIHdpdGhDb21wbGV0aW9u
Om1ha2VCbG9ja1B0cihbd2Vha1RoaXMgPSBtYWtlV2Vha1B0cih0aGlzKSwgY2FsbGJhY2sgPSBX
VEZNb3ZlKGNhbGxiYWNrKV0gKEJPT0wgc3VjY2VzcykgbXV0YWJsZSB7CiAgICAgICAgICAgICAg
ICAgaWYgKCF3ZWFrVGhpcykgewotICAgICAgICAgICAgICAgICAgICBjYWxsYmFjayhXZWJDb3Jl
OjpFeGNlcHRpb25EYXRhIHsgV2ViQ29yZTo6SW52YWxpZFN0YXRlRXJyb3IgfSk7CisgICAgICAg
ICAgICAgICAgICAgIGNhbGxiYWNrKFdlYkNvcmU6OkV4Y2VwdGlvbkRhdGEgeyBXZWJDb3JlOjpJ
bnZhbGlkU3RhdGVFcnJvciwgU3RyaW5nKCkgfSk7CiAgICAgICAgICAgICAgICAgICAgIHJldHVy
bjsKICAgICAgICAgICAgICAgICB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9j
ZXNzL0NvY29hL1dlYlZpZXdJbXBsLm1tIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2Ev
V2ViVmlld0ltcGwubW0KaW5kZXggZTMyMjIxYzM1MjRhOGM2NjJjYzBhYzg0ODQ3YjE4OGI5Y2M0
NjNiOC4uOWI0YjViMjhmZDUxYTdjNDA3MGI0OGYxMGZjM2YzN2EwYjVlYTc2ZSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvV2ViVmlld0ltcGwubW0KKysrIGIvU291
cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvV2ViVmlld0ltcGwubW0KQEAgLTE0NiwxMSArMTQ2
LDcgQEAKICNpbmNsdWRlICJNZWRpYVNlc3Npb25Db29yZGluYXRvclByb3h5UHJpdmF0ZS5oIgog
I2VuZGlmCiAKLSNpZiBFTkFCTEUoSU1BR0VfQU5BTFlTSVMpCi0jaW1wb3J0IDxWaXNpb25LaXRD
b3JlL1ZLSW1hZ2VBbmFseXNpc19XZWJLaXQuaD4KLSNpbXBvcnQgPFZpc2lvbktpdENvcmUvVktJ
bWFnZUFuYWx5emVyLmg+Ci0jaW1wb3J0IDxWaXNpb25LaXRDb3JlL1ZLUXVhZC5oPgotI2VuZGlm
IC8vIEVOQUJMRShJTUFHRV9BTkFMWVNJUykKKyNpbXBvcnQgIlZpc2lvbktpdFNQSS5oIgogCiAj
aWYgSEFWRShUUkFOU0xBVElPTl9VSV9TRVJWSUNFUykKICNpbXBvcnQgPFRyYW5zbGF0aW9uVUlT
ZXJ2aWNlcy9MVFVJVHJhbnNsYXRpb25WaWV3Q29udHJvbGxlci5oPgpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdC9VSVByb2Nlc3MvaW9zL1dLQ29udGVudFZpZXdJbnRlcmFjdGlvbi5tbSBiL1Nv
dXJjZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9XS0NvbnRlbnRWaWV3SW50ZXJhY3Rpb24ubW0KaW5k
ZXggN2E4NDgxMGVhYWU4MjlkZTI0NTcxNjZkOTQ3OTg2Nzg2NTNlNTM0ZS4uYjA0YWU0ZDZjYWE3
Zjg0Njk4MzA3MjBiZjQ2YmY1NTBkYzJlZmJhMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9V
SVByb2Nlc3MvaW9zL1dLQ29udGVudFZpZXdJbnRlcmFjdGlvbi5tbQorKysgYi9Tb3VyY2UvV2Vi
S2l0L1VJUHJvY2Vzcy9pb3MvV0tDb250ZW50Vmlld0ludGVyYWN0aW9uLm1tCkBAIC0xNzcsOCAr
MTc3LDcgQEAKICNpZiBFTkFCTEUoSU1BR0VfQU5BTFlTSVMpCiAKIC8vIEZJWE1FOiBUaGlzIHNo
b3VsZCBiZSBwdWxsZWQgb3V0IGludG8gYSBzZXBhcmF0ZSBzb2Z0bGlua2luZyBoZWFkZXIgKGVp
dGhlciBpbiBQQUwgb3IgV2ViS2l0MikuCi0jaW1wb3J0IDxWaXNpb25LaXRDb3JlL1ZLSW1hZ2VB
bmFseXNpc19XZWJLaXQuaD4KLSNpbXBvcnQgPFZpc2lvbktpdENvcmUvVktJbWFnZUFuYWx5emVy
Lmg+CisjaW1wb3J0ICJWaXNpb25LaXRTUEkuaCIKIFNPRlRfTElOS19QUklWQVRFX0ZSQU1FV09S
S19PUFRJT05BTChWaXNpb25LaXRDb3JlKQogU09GVF9MSU5LX0NMQVNTX09QVElPTkFMKFZpc2lv
bktpdENvcmUsIFZLSW1hZ2VBbmFseXplcikKIFNPRlRfTElOS19DTEFTU19PUFRJT05BTChWaXNp
b25LaXRDb3JlLCBWS0ltYWdlQW5hbHl6ZXJSZXF1ZXN0KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdC9XZWJLaXQueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvaiBiL1NvdXJjZS9XZWJLaXQvV2Vi
S2l0Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKaW5kZXggN2UzMTZhNWIzYWY5NTkxOWU2NjMz
NDJjMzhjZTM4YTljNTQ3ZWM3Yi4uY2Q3OWQ3MGMxZTU3MjZkOTc1OTcyOTRmMTU1M2U0NjhlODJk
Yzg2MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJLaXQueGNvZGVwcm9qL3Byb2plY3Qu
cGJ4cHJvagorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYktpdC54Y29kZXByb2ovcHJvamVjdC5wYnhw
cm9qCkBAIC0zLDcgKzMsNyBAQAogCWFyY2hpdmVWZXJzaW9uID0gMTsKIAljbGFzc2VzID0gewog
CX07Ci0Jb2JqZWN0VmVyc2lvbiA9IDUyOworCW9iamVjdFZlcnNpb24gPSA1NDsKIAlvYmplY3Rz
ID0gewogCiAvKiBCZWdpbiBQQlhBZ2dyZWdhdGVUYXJnZXQgc2VjdGlvbiAqLwpAQCAtODM0LDYg
KzgzNCw3IEBACiAJCTMxQkE5MjRFMTQ4ODMxMjYwMDYyRURCNSAvKiBXZWJOb3RpZmljYXRpb25N
YW5hZ2VyTWVzc2FnZXMuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IDMxQkE5MjQ5MTQ4ODMwODEwMDYyRURCNSAvKiBXZWJOb3RpZmljYXRpb25NYW5hZ2Vy
TWVzc2FnZXMuaCAqLzsgfTsKIAkJMzFENzU1QzExRDkxQjgxNTAwODQzQkQxIC8qIFdLVGV4dENo
ZWNrZXIuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDMx
NDg4OEZGMUQ5MUIxMUQwMDM3NzA0MiAvKiBXS1RleHRDaGVja2VyLmggKi87IHNldHRpbmdzID0g
e0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJMzFGMDYwRTExNjU0MzE4NTAwRjMy
ODFDIC8qIE5ldHdvcmtTb2NrZXRDaGFubmVsTWVzc2FnZVJlY2VpdmVyLmNwcCBpbiBTb3VyY2Vz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDMxRjA2MEREMTY1NDMxNzUwMEYz
MjgxQyAvKiBOZXR3b3JrU29ja2V0Q2hhbm5lbE1lc3NhZ2VSZWNlaXZlci5jcHAgKi87IH07CisJ
CTMxRjg2NUU0MjY2RkNENjEwMDNCRkM2RCAvKiBWaXNpb25LaXRTUEkuaCBpbiBIZWFkZXJzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDMxRjg2NUUzMjY2RkNENjEwMDNCRkM2
RCAvKiBWaXNpb25LaXRTUEkuaCAqLzsgfTsKIAkJMzMwOTM0NDcxMzE1QjkyMjAwOTdBN0JDIC8q
IFdlYkNvb2tpZU1hbmFnZXJNZXNzYWdlUmVjZWl2ZXIuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMzMwOTM0NDMxMzE1QjkyMjAwOTdBN0JDIC8qIFdl
YkNvb2tpZU1hbmFnZXJNZXNzYWdlUmVjZWl2ZXIuY3BwICovOyB9OwogCQkzMzA5MzQ0ODEzMTVC
OTIyMDA5N0E3QkMgLyogV2ViQ29va2llTWFuYWdlck1lc3NhZ2VzLmggaW4gSGVhZGVycyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAzMzA5MzQ0NDEzMTVCOTIyMDA5N0E3QkMg
LyogV2ViQ29va2llTWFuYWdlck1lc3NhZ2VzLmggKi87IH07CiAJCTMzMDkzNDQ5MTMxNUI5MjIw
MDk3QTdCQyAvKiBXZWJDb29raWVNYW5hZ2VyUHJveHlNZXNzYWdlUmVjZWl2ZXIuY3BwIGluIFNv
dXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMzMwOTM0NDUxMzE1Qjky
MjAwOTdBN0JDIC8qIFdlYkNvb2tpZU1hbmFnZXJQcm94eU1lc3NhZ2VSZWNlaXZlci5jcHAgKi87
IH07CkBAIC0zNTg5LDYgKzM1OTAsNyBAQAogCQkzMUVBMjVEMDEzNEY3OEIyMDA1QjE0NTIgLyog
TmF0aXZlV2ViTW91c2VFdmVudE1hYy5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9IE5hdGl2ZVdl
Yk1vdXNlRXZlbnRNYWMubW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTMxRUEyNUQz
MTM0Rjc4RDYwMDVCMTQ1MiAvKiBOYXRpdmVXZWJNb3VzZUV2ZW50LmggKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmMuaDsgcGF0aCA9IE5hdGl2ZVdlYk1vdXNlRXZlbnQuaDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKIAkJMzFGMDYwREQxNjU0MzE3NTAwRjMyODFDIC8qIE5ldHdvcmtTb2NrZXRD
aGFubmVsTWVzc2FnZVJlY2VpdmVyLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgbmFtZSA9IE5ldHdvcmtTb2Nr
ZXRDaGFubmVsTWVzc2FnZVJlY2VpdmVyLmNwcDsgcGF0aCA9IERlcml2ZWRTb3VyY2VzL1dlYktp
dDIvTmV0d29ya1NvY2tldENoYW5uZWxNZXNzYWdlUmVjZWl2ZXIuY3BwOyBzb3VyY2VUcmVlID0g
QlVJTFRfUFJPRFVDVFNfRElSOyB9OworCQkzMUY4NjVFMzI2NkZDRDYxMDAzQkZDNkQgLyogVmlz
aW9uS2l0U1BJLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
NDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFZpc2lvbktpdFNQ
SS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkzMkRCQ0Y1RTAzNzBBREVFMDBDOTE3
ODMgLyogV2ViS2l0MlByZWZpeC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBX
ZWJLaXQyUHJlZml4Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTMzMDkzNDQzMTMx
NUI5MjIwMDk3QTdCQyAvKiBXZWJDb29raWVNYW5hZ2VyTWVzc2FnZVJlY2VpdmVyLmNwcCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgbmFtZSA9IFdlYkNvb2tpZU1hbmFnZXJNZXNzYWdl
UmVjZWl2ZXIuY3BwOyBwYXRoID0gRGVyaXZlZFNvdXJjZXMvV2ViS2l0Mi9XZWJDb29raWVNYW5h
Z2VyTWVzc2FnZVJlY2VpdmVyLmNwcDsgc291cmNlVHJlZSA9IEJVSUxUX1BST0RVQ1RTX0RJUjsg
fTsKIAkJMzMwOTM0NDQxMzE1QjkyMjAwOTdBN0JDIC8qIFdlYkNvb2tpZU1hbmFnZXJNZXNzYWdl
cy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IG5hbWUgPSBXZWJDb29raWVNYW5hZ2VyTWVz
c2FnZXMuaDsgcGF0aCA9IERlcml2ZWRTb3VyY2VzL1dlYktpdDIvV2ViQ29va2llTWFuYWdlck1l
c3NhZ2VzLmg7IHNvdXJjZVRyZWUgPSBCVUlMVF9QUk9EVUNUU19ESVI7IH07CkBAIC03OTE0LDYg
Kzc5MTYsNyBAQAogCQkJCTM3NTRENTQ0MUIzQTI5RkQwMDNBNEM3RiAvKiBOU0ludm9jYXRpb25T
UEkuaCAqLywKIAkJCQk1Q0I2QUU0MzI2MDk3OTlDMDBCNkVENUEgLyogUmVhc29uU1BJLmggKi8s
CiAJCQkJMEU5N0Q3NEMyMDBFOEZGMzAwQkY2NjQzIC8qIFNhZmVCcm93c2luZ1NQSS5oICovLAor
CQkJCTMxRjg2NUUzMjY2RkNENjEwMDNCRkM2RCAvKiBWaXNpb25LaXRTUEkuaCAqLywKIAkJCSk7
CiAJCQlwYXRoID0gQ29jb2E7CiAJCQlzb3VyY2VUcmVlID0gIjxncm91cD4iOwpAQCAtMTIzNjYs
NiArMTIzNjksNyBAQAogCQkJCTI2ODQwNTUzMThCODZFRDYwMDIyQzM4QiAvKiBWaWV3VXBkYXRl
RGlzcGF0Y2hlck1lc3NhZ2VzLmggaW4gSGVhZGVycyAqLywKIAkJCQkyNjg0MDU0NDE4Qjg1QTYz
MDAyMkMzOEIgLyogVmlzaWJsZUNvbnRlbnRSZWN0VXBkYXRlSW5mby5oIGluIEhlYWRlcnMgKi8s
CiAJCQkJMkRENUE3MjkxRUJGMDhENTAwOUJBNTk3IC8qIFZpc2libGVXZWJQYWdlQ291bnRlci5o
IGluIEhlYWRlcnMgKi8sCisJCQkJMzFGODY1RTQyNjZGQ0Q2MTAwM0JGQzZEIC8qIFZpc2lvbktp
dFNQSS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMUEwRjI5RTQxMjBCNDQ0MjAwNTNEMUI5IC8qIFZp
c2l0ZWRMaW5rU3RvcmUuaCBpbiBIZWFkZXJzICovLAogCQkJCTFBNjAyMjREMThDMTZCOUYwMEMz
RThDOSAvKiBWaXNpdGVkTGlua1N0b3JlTWVzc2FnZXMuaCBpbiBIZWFkZXJzICovLAogCQkJCTFB
RjRDRUYwMThCQzQ4MTgwMEJDMkQzNCAvKiBWaXNpdGVkTGlua1RhYmxlQ29udHJvbGxlci5oIGlu
IEhlYWRlcnMgKi8sCmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cgYi9Ub29scy9DaGFuZ2VM
b2cKaW5kZXggNWNmMDYwYTFmMzljMjc3NzBjZDI0YmMxNDQ4ZDQ2OWQwMGI5MTk1YS4uNzQ4NDJh
YjEzMmU3Y2YyMjc2NWE3OGY5NTg2NWRiMjMyNjQwNTZmYSAxMDA2NDQKLS0tIGEvVG9vbHMvQ2hh
bmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE2IEBACisyMDIxLTA2LTA5
ICBKb25hdGhhbiBCZWRhcmQgIDxqYmVkYXJkQGFwcGxlLmNvbT4KKworICAgICAgICBbTW9udGVy
ZXldIFN1cHBvcnQgYnVpbGRpbmcgV2ViS2l0CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD0yMjY4NDYKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzc5MDk1
MTQ4PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICog
VGVzdFdlYktpdEFQSS9UZXN0V2ViS2l0QVBJLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6IEFk
ZCBDb3JlQ3J5cHRvU1BJLmguCisgICAgICAgICogVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJDb3Jl
L2NvY29hL0NvcmVDcnlwdG9TUEkuaDogQWRkZWQuCisgICAgICAgICogVGVzdFdlYktpdEFQSS9U
ZXN0cy9XZWJDb3JlL2NvY29hL1ByaXZhdGVDbGlja01lYXN1cmVtZW50Q29jb2EubW06IEltcG9y
dCBDb3JlQ3J5cHRvU1BJLmguCisgICAgICAgICogVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXRD
b2NvYS9FdmVudEF0dHJpYnV0aW9uLm1tOiBEaXR0by4KKwogMjAyMS0wNi0wNyAgV2Vuc29uIEhz
aWVoICA8d2Vuc29uX2hzaWVoQGFwcGxlLmNvbT4KIAogICAgICAgICBVcHN0cmVhbSBXZWJLaXQg
c3VwcG9ydCBmb3IgTGl2ZSBUZXh0CmRpZmYgLS1naXQgYS9Ub29scy9UZXN0V2ViS2l0QVBJL1Rl
c3RXZWJLaXRBUEkueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvaiBiL1Rvb2xzL1Rlc3RXZWJLaXRB
UEkvVGVzdFdlYktpdEFQSS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCmluZGV4IGYzNTEzMjFj
Mjk4MmE5MWViNGM2Y2MyN2U0NDVhMTczZWM0ZDVkMGQuLjRiZDMwZjlmODAxYmVlMGFkYjg1ZTI3
ZWU1YTUwMjU5NWVkN2Y2YjMgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdFdl
YktpdEFQSS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCisrKyBiL1Rvb2xzL1Rlc3RXZWJLaXRB
UEkvVGVzdFdlYktpdEFQSS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCkBAIC0xOTk4LDYgKzE5
OTgsNyBAQAogCQkzMUI3NkU0NDIzMjk5QkEzMDA3RkVEMkMgLyogc3lzdGVtLXByZXZpZXctdHJp
Z2dlci5odG1sICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBl
ID0gdGV4dC5odG1sOyBwYXRoID0gInN5c3RlbS1wcmV2aWV3LXRyaWdnZXIuaHRtbCI7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTMxRTlCREEwMjQ3RjRDNjIwMDJFNTFBMiAvKiBXZWJH
TFByZXBhcmVEaXNwbGF5T25XZWJUaHJlYWQubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGggPSBXZWJH
TFByZXBhcmVEaXNwbGF5T25XZWJUaHJlYWQubW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CiAJCTMxRTlCREEyMjQ3RjRERDAwMDJFNTFBMiAvKiB3ZWJnbC5odG1sICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dC5odG1sOyBwYXRoID0gd2Vi
Z2wuaHRtbDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMzFGODY1RTUyNjcwMUU3MzAw
M0JGQzZEIC8qIENvcmVDcnlwdG9TUEkuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gQ29yZUNyeXB0b1NQSS5o
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkzMzNCOUNFMTEyNzdGMjMxMDBGRUZDRTMg
LyogUHJldmVudEVtcHR5VXNlckFnZW50LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNw
cDsgcGF0aCA9IFByZXZlbnRFbXB0eVVzZXJBZ2VudC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CiAJCTMzOTc2RDgyMjREQzQ3OUIwMDgxMjMwNCAvKiBJbmRleFNwYXJzZVNldC5jcHAg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBJbmRleFNwYXJzZVNldC5jcHA7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTMzQkU1QUY0MTM3QjVBNkMwMDcwNTgxMyAv
KiBNb3VzZU1vdmVBZnRlckNyYXNoLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsg
cGF0aCA9IE1vdXNlTW92ZUFmdGVyQ3Jhc2guY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OwpAQCAtNDg1OSw2ICs0ODYwLDcgQEAKIAkJCWlzYSA9IFBCWEdyb3VwOwogCQkJY2hpbGRyZW4g
PSAoCiAJCQkJMDcxMURGNTEyMjZBOTVGQjAwM0REMkY3IC8qIEFWRm91bmRhdGlvblNvZnRMaW5r
VGVzdC5tbSAqLywKKwkJCQkzMUY4NjVFNTI2NzAxRTczMDAzQkZDNkQgLyogQ29yZUNyeXB0b1NQ
SS5oICovLAogCQkJCTc1MUIwNUQ1MUY4RUFDMUEwMDI4QTA5RSAvKiBEYXRhYmFzZVRyYWNrZXJU
ZXN0Lm1tICovLAogCQkJCTU3RjFDOTEwMjVEREQ1MTkwMEU4RjZFQSAvKiBQcml2YXRlQ2xpY2tN
ZWFzdXJlbWVudENvY29hLm1tICovLAogCQkJCTU3NjlDNTBBMUQ5QjAwMDEwMDA4NDdGQiAvKiBT
ZXJpYWxpemVkQ3J5cHRvS2V5V3JhcC5tbSAqLywKZGlmZiAtLWdpdCBhL1Rvb2xzL1Rlc3RXZWJL
aXRBUEkvVGVzdHMvV2ViQ29yZS9jb2NvYS9Db3JlQ3J5cHRvU1BJLmggYi9Ub29scy9UZXN0V2Vi
S2l0QVBJL1Rlc3RzL1dlYkNvcmUvY29jb2EvQ29yZUNyeXB0b1NQSS5oCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjhl
MmU5ZGYyY2RjOWE4MjUwODVmZTA5MGRhODU1YjgxNjkxZDJhMGEKLS0tIC9kZXYvbnVsbAorKysg
Yi9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYkNvcmUvY29jb2EvQ29yZUNyeXB0b1NQSS5o
CkBAIC0wLDAgKzEsMTcyIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDIxIEFwcGxlIEluYy4g
QWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNv
dXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwg
YXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICog
YXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFp
biB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRp
b25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMg
aW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAg
bm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFp
bWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHBy
b3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBS
T1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBB
TkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1Qg
TElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZ
IEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQu
IElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUg
TElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhF
TVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1Qg
TElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklD
RVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJS
VVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdI
RVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJ
TkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9G
IFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9T
U0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI3ByYWdtYSBvbmNlCisKK2V4dGVybiAi
QyIgeworCisjaWYgVVNFKEFQUExFX0lOVEVSTkFMX1NESykKKworI2luY2x1ZGUgPGNvcmVjcnlw
dG8vY2NfcHJpdi5oPgorI2luY2x1ZGUgPGNvcmVjcnlwdG8vY2NybmcuaD4KKyNpbmNsdWRlIDxj
b3JlY3J5cHRvL2NjcnNhLmg+CisjaW5jbHVkZSA8Y29yZWNyeXB0by9jY3JzYWJzc2EuaD4KKwor
I2Vsc2UKKwordHlwZWRlZiBzaXplX3QgY2Nfc2l6ZTsKKworI2lmIGRlZmluZWQoX19hcm02NF9f
KSB8fCBkZWZpbmVkKF9feDg2XzY0X18pICB8fCBkZWZpbmVkKF9XSU42NCkKKyNkZWZpbmUgQ0NO
X1VOSVRfU0laRSAgOAordHlwZWRlZiB1aW50NjRfdCBjY191bml0OworI2RlZmluZSBDQ05fTE9H
Ml9CSVRTX1BFUl9VTklUIDYKKyNlbGlmIGRlZmluZWQoX19hcm1fXykgfHwgZGVmaW5lZChfX2kz
ODZfXykgfHwgZGVmaW5lZChfV0lOMzIpCisjZGVmaW5lIENDTl9VTklUX1NJWkUgIDQKK3R5cGVk
ZWYgdWludDMyX3QgY2NfdW5pdDsKKyNkZWZpbmUgQ0NOX0xPRzJfQklUU19QRVJfVU5JVCA1Cisj
ZWxzZQorI2Vycm9yIHVuZGVmaW5lZCBhcmNoaXRlY3R1cmUKKyNlbmRpZgorCisvLyBUZW1wb3Jh
cnkgVkxBIHdhcm5pbmcgb3B0LW91dHMgdG8gaGVscCB0cmFuc2l0aW9uIGF3YXkgZnJvbSBWTEFz
LgorI2RlZmluZSBDQ19JR05PUkVfVkxBX1dBUk5JTkdTIFwKKyAgICBfUHJhZ21hKCJHQ0MgZGlh
Z25vc3RpYyBwdXNoIikgXAorICAgIF9QcmFnbWEoIkdDQyBkaWFnbm9zdGljIGlnbm9yZWQgXCIt
V3ZsYVwiIikKKyNkZWZpbmUgQ0NfUkVTVE9SRV9WTEFfV0FSTklOR1MgXAorICAgIF9QcmFnbWEo
IkdDQyBkaWFnbm9zdGljIHBvcCIpCisKKyNpZiBfX2hhc19mZWF0dXJlKHB0cmF1dGhfY2FsbHMp
ICYmIChDQ19LRVJORUwgfHwgQ0NfVVNFX0w0IHx8IENDX1VTRV9TRVBST00pCisjaW5jbHVkZSA8
cHRyYXV0aC5oPgorI2RlZmluZSBDQ19TUFRSKF9zbl8sIF9uXykgXAorICAgIF9fcHRyYXV0aChw
dHJhdXRoX2tleV9wcm9jZXNzX2luZGVwZW5kZW50X2NvZGUsIDEsIHB0cmF1dGhfc3RyaW5nX2Rp
c2NyaW1pbmF0b3IoImNjXyIgI19zbl8gI19uXykpIF9uXworI2Vsc2UKKyNkZWZpbmUgQ0NfU1BU
Uihfc25fLCBfbl8pIF9uXworI2VuZGlmCisKKyNkZWZpbmUgQ0NOX1VOSVRfQklUUyAoc2l6ZW9m
KGNjX3VuaXQpICo4KQorCisjZGVmaW5lIGNjbl9zaXplb2Zfbihfbl8pIChzaXplb2YoY2NfdW5p
dCkgKiAoX25fKSkKKyNkZWZpbmUgY2NuX25vZihfYml0c18pICgoKF9iaXRzXykgKyBDQ05fVU5J
VF9CSVRTIC0gMSkgPj4gQ0NOX0xPRzJfQklUU19QRVJfVU5JVCkKKyNkZWZpbmUgY2NuX3NpemVv
ZihfYml0c18pIChjY25fc2l6ZW9mX24oY2NuX25vZihfYml0c18pKSkKKyNkZWZpbmUgY2NuX25v
Zl9zaXplKF9zaXplXykgKCgoX3NpemVfKSArIHNpemVvZihjY191bml0KSAtIDEpIC8gc2l6ZW9m
KGNjX3VuaXQpKQorI2RlZmluZSBjY25fbm9mX3NpemVvZihfZXhwcl8pIGNjbl9ub2Zfc2l6ZShz
aXplb2YoX2V4cHJfKSkKKyNkZWZpbmUgY2NuX2JpdHNvZl9uKF9uXykgKChfbl8pICogQ0NOX1VO
SVRfQklUUykKKyNkZWZpbmUgY2NuX2JpdHNvZl9zaXplKF9zaXplXykgKChfc2l6ZV8pICogOCkK
KyNkZWZpbmUgY2NuX3NpemVvZl9zaXplKF9zaXplXykgY2NuX3NpemVvZl9uKGNjbl9ub2Zfc2l6
ZShfc2l6ZV8pKQorCisjZGVmaW5lIGNjX2NlaWxpbmcoYSwgYikgKCgoYSkgKyAoKGIpIC0gMSkp
IC8gKGIpKQorI2RlZmluZSBjY19jdHhfbihfdHlwZV8sIF9zaXplXykgKChfc2l6ZV8gKyBzaXpl
b2YoX3R5cGVfKSAtIDEpIC8gc2l6ZW9mKF90eXBlXykpCisKK3N0cnVjdCBjY3pwX2Z1bmNzOwor
dHlwZWRlZiBjb25zdCBzdHJ1Y3QgY2N6cF9mdW5jcyAqY2N6cF9mdW5jc190OworCisjaWYgZGVm
aW5lZChfTVNDX1ZFUikKKyNpZiBkZWZpbmVkKF9fY2xhbmdfXykKKyNkZWZpbmUgQ0NfQUxJR05F
RCh4KSBfX2F0dHJpYnV0ZV9fICgoYWxpZ25lZCh4KSkpCisjZWxzZQorI2RlZmluZSBDQ19BTElH
TkVEKHgpIF9fZGVjbHNwZWMoYWxpZ24oeCkpCisjZW5kaWYKKyNlbHNlCisjaWYgX19jbGFuZ19f
IHx8IENDTl9VTklUX1NJWkU9PTgKKyNkZWZpbmUgQ0NfQUxJR05FRCh4KSBfX2F0dHJpYnV0ZV9f
ICgoYWxpZ25lZCh4KSkpCisjZWxzZQorI2RlZmluZSBDQ19BTElHTkVEKHgpIF9fYXR0cmlidXRl
X18gKChhbGlnbmVkKCh4KT44Pzg6KHgpKSkpCisjZW5kaWYKKyNlbmRpZgorCisjZGVmaW5lIF9f
Q0NaUF9IRUFERVJfRUxFTUVOVFNfREVGSU5JVElPTlMocHJlKSBcCisgICAgY2Nfc2l6ZSBwcmUj
I247ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgY2NfdW5pdCBwcmUjI2JpdGxl
bjsgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgY2N6cF9mdW5jc190IHByZSMjZnVuY3M7
CisKKyNkZWZpbmUgX19DQ1pQX0VMRU1FTlRTX0RFRklOSVRJT05TKHByZSkgICAgXAorICAgIF9f
Q0NaUF9IRUFERVJfRUxFTUVOVFNfREVGSU5JVElPTlMocHJlKSBcCisgICAgY2NfdW5pdCBwcmUj
I2NjbltdOworCitzdHJ1Y3QgY2N6cCB7CisgICAgX19DQ1pQX0VMRU1FTlRTX0RFRklOSVRJT05T
KCkKK30gQ0NfQUxJR05FRChDQ05fVU5JVF9TSVpFKTsKKworc3RydWN0IGNjcnNhX2Z1bGxfY3R4
IHsKKyAgICBfX0NDWlBfRUxFTUVOVFNfREVGSU5JVElPTlMocGJfKQorfSBDQ19BTElHTkVEKEND
Tl9VTklUX1NJWkUpOworCitzdHJ1Y3QgY2Nyc2FfcHViX2N0eCB7CisgICAgX19DQ1pQX0VMRU1F
TlRTX0RFRklOSVRJT05TKHBiXykKK30gQ0NfQUxJR05FRChDQ05fVU5JVF9TSVpFKTsKKworc3Ry
dWN0IGNjcnNhX3ByaXZfY3R4IHsKKyAgICBfX0NDWlBfRUxFTUVOVFNfREVGSU5JVElPTlMocHZf
KQorfSBDQ19BTElHTkVEKENDTl9VTklUX1NJWkUpOworCit0eXBlZGVmIHN0cnVjdCBjY3JzYV9m
dWxsX2N0eCogY2Nyc2FfZnVsbF9jdHhfdDsKK3R5cGVkZWYgc3RydWN0IGNjcnNhX3B1Yl9jdHgq
IGNjcnNhX3B1Yl9jdHhfdDsKK3R5cGVkZWYgc3RydWN0IGNjcnNhX3ByaXZfY3R4KiBjY3JzYV9w
cml2X2N0eF90OworCisjaWYgZGVmaW5lZChfTVNDX1ZFUikKKyNkZWZpbmUgY2NfY3R4X2RlY2wo
X3R5cGVfLCBfc2l6ZV8sIF9uYW1lXykgX3R5cGVfICogX25hbWVfID0gKF90eXBlXyAqKSBfYWxs
b2NhKHNpemVvZihfdHlwZV8pICogY2NfY3R4X24oX3R5cGVfLCBfc2l6ZV8pICkKKyNlbHNlCisj
ZGVmaW5lIGNjX2N0eF9kZWNsKF90eXBlXywgX3NpemVfLCBfbmFtZV8pIFwKKyAgICBDQ19JR05P
UkVfVkxBX1dBUk5JTkdTIFwKKyAgICBfdHlwZV8gX25hbWVfW2NjX2N0eF9uKF90eXBlXywgX3Np
emVfKV0gXAorICAgIENDX1JFU1RPUkVfVkxBX1dBUk5JTkdTCisjZW5kaWYKKworI2RlZmluZSBj
Y3JzYV9wdWJfY3R4X3NpemUoX25ieXRlc18pICAgKHNpemVvZihzdHJ1Y3QgY2N6cCkgKyBDQ05f
VU5JVF9TSVpFICsgMyAqIChjY25fc2l6ZW9mX3NpemUoX25ieXRlc18pKSkKKyNkZWZpbmUgY2Ny
c2FfcHJpdl9jdHhfc2l6ZShfbmJ5dGVzXykgICgoc2l6ZW9mKHN0cnVjdCBjY3pwKSArIENDTl9V
TklUX1NJWkUpICogMiArIDcgKiBjY25fc2l6ZW9mKGNjbl9iaXRzb2Zfc2l6ZShfbmJ5dGVzXykg
LyAyICsgMSkpCisjZGVmaW5lIGNjcnNhX2Z1bGxfY3R4X3NpemUoX25ieXRlc18pICAoY2Nyc2Ff
cHViX2N0eF9zaXplKF9uYnl0ZXNfKSArIGNjbl9zaXplb2Zfc2l6ZShfbmJ5dGVzXykgKyBjY3Jz
YV9wcml2X2N0eF9zaXplKF9uYnl0ZXNfKSkKKworI2RlZmluZSBjY3JzYV9mdWxsX2N0eF9kZWNs
KF9uYnl0ZXNfLCBfbmFtZV8pICAgY2NfY3R4X2RlY2woc3RydWN0IGNjcnNhX2Z1bGxfY3R4LCBj
Y3JzYV9mdWxsX2N0eF9zaXplKF9uYnl0ZXNfKSwgX25hbWVfKQorCitlbnVtIHsKKyAgICBDQ0VS
Ul9PSyA9IDAKK307CisKK3N0cnVjdCBjY3JuZ19zdGF0ZSB7CisgICAgaW50ICgqQ0NfU1BUUihj
Y3JuZ19zdGF0ZSwgZ2VuZXJhdGUpKShzdHJ1Y3QgY2Nybmdfc3RhdGUgKnJuZywgc2l6ZV90IG91
dGxlbiwgdm9pZCAqb3V0KTsKK307CitzdHJ1Y3QgY2Nybmdfc3RhdGUgKmNjcm5nKGludCAqZXJy
b3IpOworCitzdGF0aWMgaW5saW5lIGNjcnNhX3B1Yl9jdHhfdCBjY3JzYV9jdHhfcHVibGljKGNj
cnNhX2Z1bGxfY3R4X3QgZmspCit7CisgICAgcmV0dXJuIChjY3JzYV9wdWJfY3R4X3QpIGZrOwor
fQorCitzaXplX3QgY2Nyc2FfcHVia2V5bGVuZ3RoKGNjcnNhX3B1Yl9jdHhfdCBwdWJrKTsKK3Np
emVfdCBjY2Rlcl9lbmNvZGVfcnNhX3B1Yl9zaXplKGNvbnN0IGNjcnNhX3B1Yl9jdHhfdCBrZXkp
OwordWludDhfdCAqY2NkZXJfZW5jb2RlX3JzYV9wdWIoY29uc3QgY2Nyc2FfcHViX2N0eF90IGtl
eSwgdWludDhfdCAqZGVyLCB1aW50OF90ICpkZXJfZW5kKTsKK2ludCBjY3JzYV9nZW5lcmF0ZV9r
ZXkoc2l6ZV90IG5iaXRzLCBjY3JzYV9mdWxsX2N0eF90IGZrLCBzaXplX3QgZV9uYnl0ZXMsIGNv
bnN0IHZvaWQgKmVfYnl0ZXMsIHN0cnVjdCBjY3JuZ19zdGF0ZSAqKTsKKworZXh0ZXJuIGNvbnN0
IHN0cnVjdCBjY3JzYWJzc2FfY2lwaGVyc3VpdGUgY2Nyc2Fic3NhX2NpcGhlcnN1aXRlX3JzYTQw
OTZfc2hhMzg0OworaW50IGNjcnNhYnNzYV9zaWduX2JsaW5kZWRfbWVzc2FnZSgKKyAgICBjb25z
dCBzdHJ1Y3QgY2Nyc2Fic3NhX2NpcGhlcnN1aXRlICosCisgICAgY29uc3QgY2Nyc2FfZnVsbF9j
dHhfdCBrZXksCisgICAgY29uc3QgdWludDhfdCAqIGJsaW5kZWRfbWVzc2FnZSwgY29uc3Qgc2l6
ZV90IGJsaW5kZWRfbWVzc2FnZV9uYnl0ZXMsCisgICAgdWludDhfdCAqc2lnbmF0dXJlLCBjb25z
dCBzaXplX3Qgc2lnbmF0dXJlX25ieXRlcywKKyAgICBzdHJ1Y3QgY2Nybmdfc3RhdGUgKmJsaW5k
aW5nX3JuZyk7CisKKyNlbmRpZgorCit9CmRpZmYgLS1naXQgYS9Ub29scy9UZXN0V2ViS2l0QVBJ
L1Rlc3RzL1dlYkNvcmUvY29jb2EvUHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnRDb2NvYS5tbSBiL1Rv
b2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViQ29yZS9jb2NvYS9Qcml2YXRlQ2xpY2tNZWFzdXJl
bWVudENvY29hLm1tCmluZGV4IDQ4YWM3MWRjYWRiYTdhYTVlYmUwNjIwZmFjZjA0ZTk4NGZlMTdm
ZDIuLmNhY2EyMzRiOTg0YTk4MzE4ZmU4YmJmMTNlNjRjZmU1ZmRiZjg2OWEgMTAwNjQ0Ci0tLSBh
L1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViQ29yZS9jb2NvYS9Qcml2YXRlQ2xpY2tNZWFz
dXJlbWVudENvY29hLm1tCisrKyBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViQ29yZS9j
b2NvYS9Qcml2YXRlQ2xpY2tNZWFzdXJlbWVudENvY29hLm1tCkBAIC0yOCwxNSArMjgsMTAgQEAK
IAogI2lmIEhBVkUoUlNBX0JTU0EpCiAKLSNpbmNsdWRlIDxTZWN1cml0eS9TZWNLZXlQcml2Lmg+
Ci0jaW5jbHVkZSA8V2ViQ29yZS9Qcml2YXRlQ2xpY2tNZWFzdXJlbWVudC5oPgorI2luY2x1ZGUg
IkNvcmVDcnlwdG9TUEkuaCIKIAotZXh0ZXJuICJDIiB7Ci0jaW5jbHVkZSA8Y29yZWNyeXB0by9j
Y19wcml2Lmg+Ci0jaW5jbHVkZSA8Y29yZWNyeXB0by9jY3JuZy5oPgotI2luY2x1ZGUgPGNvcmVj
cnlwdG8vY2Nyc2EuaD4KLSNpbmNsdWRlIDxjb3JlY3J5cHRvL2NjcnNhYnNzYS5oPgotfQorI2lu
Y2x1ZGUgPFdlYkNvcmUvUHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnQuaD4KKyNpbmNsdWRlIDx3dGYv
c3BpL2NvY29hL1NlY3VyaXR5U1BJLmg+CiAKIHVzaW5nIG5hbWVzcGFjZSBXZWJDb3JlOwogCmRp
ZmYgLS1naXQgYS9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdENvY29hL0V2ZW50QXR0
cmlidXRpb24ubW0gYi9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdENvY29hL0V2ZW50
QXR0cmlidXRpb24ubW0KaW5kZXggYjEyMWQzZmYzZTdjNWY4NDAwNThlMmUzYTMyZGRlZTIwOWY0
MDNjYS4uMjBlZjg0NTM3NTQ2ZjNlYmFmMjA2MDQ2MTVhMzYzMGUzN2I2ZmMzOCAxMDA2NDQKLS0t
IGEvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXRDb2NvYS9FdmVudEF0dHJpYnV0aW9u
Lm1tCisrKyBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0Q29jb2EvRXZlbnRBdHRy
aWJ1dGlvbi5tbQpAQCAtMzcsMTUgKzM3LDExIEBACiAKICNpZiBIQVZFKFJTQV9CU1NBKQogCisj
aW5jbHVkZSAiQ29yZUNyeXB0b1NQSS5oIgorCiAjaW5jbHVkZSA8U2VjdXJpdHkvU2VjS2V5UHJp
di5oPgogI2luY2x1ZGUgPFdlYkNvcmUvUHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnQuaD4KLQotZXh0
ZXJuICJDIiB7Ci0jaW5jbHVkZSA8Y29yZWNyeXB0by9jY19wcml2Lmg+Ci0jaW5jbHVkZSA8Y29y
ZWNyeXB0by9jY3JuZy5oPgotI2luY2x1ZGUgPGNvcmVjcnlwdG8vY2Nyc2EuaD4KLSNpbmNsdWRl
IDxjb3JlY3J5cHRvL2NjcnNhYnNzYS5oPgotfQorI2luY2x1ZGUgPHd0Zi9zcGkvY29jb2EvU2Vj
dXJpdHlTUEkuaD4KIAogI2VuZGlmIC8vIEhBVkUoUlNBX0JTU0EpCiAK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>431222</attachid>
            <date>2021-06-11 12:49:05 -0700</date>
            <delta_ts>2021-06-13 12:36:09 -0700</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-226846-20210611124904.patch</filename>
            <type>text/plain</type>
            <size>36525</size>
            <attacher name="Jonathan Bedard">jbedard</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XVEYvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XVEYvQ2hh
bmdlTG9nCShyZXZpc2lvbiAyNzg3NzQpCisrKyBTb3VyY2UvV1RGL0NoYW5nZUxvZwkod29ya2lu
ZyBjb3B5KQpAQCAtMSwzICsxLDE0IEBACisyMDIxLTA2LTExICBKb25hdGhhbiBCZWRhcmQgIDxq
YmVkYXJkQGFwcGxlLmNvbT4KKworICAgICAgICBbTW9udGVyZXldIFN1cHBvcnQgYnVpbGRpbmcg
V2ViS2l0CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0y
MjY4NDYKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzc5MDk1MTQ4PgorCisgICAgICAgIFJldmll
d2VkIGJ5IFRpbSBIb3J0b24uCisKKyAgICAgICAgKiB3dGYvUGxhdGZvcm1IYXZlLmg6IEFkZCBI
QVZFKFZLX0lNQUdFX0FOQUxZU0lTKS4KKyAgICAgICAgKiB3dGYvc3BpL2NvY29hL1NlY3VyaXR5
U1BJLmg6CisKIDIwMjEtMDYtMDkgIENocmlzIER1bWV6ICA8Y2R1bWV6QGFwcGxlLmNvbT4KIAog
ICAgICAgICBBdm9pZCBzb21lIGNhbGxzIHRvIFN0cmluZ1ZpZXc6OnRvU3RyaW5nKCkgLyBTdHJp
bmdWaWV3Ojp0b1N0cmluZ1dpdGhvdXRDb3B5aW5nKCkKSW5kZXg6IFNvdXJjZS9XVEYvd3RmL1Bs
YXRmb3JtSGF2ZS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XVEYvd3RmL1BsYXRmb3JtSGF2ZS5o
CShyZXZpc2lvbiAyNzg3NzQpCisrKyBTb3VyY2UvV1RGL3d0Zi9QbGF0Zm9ybUhhdmUuaAkod29y
a2luZyBjb3B5KQpAQCAtMTAyMiwzICsxMDIyLDEwIEBACiAgICAgfHwgKFBMQVRGT1JNKE1BQ0NB
VEFMWVNUKSAmJiBfX0lQSE9ORV9PU19WRVJTSU9OX01JTl9SRVFVSVJFRCA+PSAxNDAwMDApKQog
I2RlZmluZSBIQVZFX0NPUkVfVEVYVF9TQklYX0lNQUdFX1NJWkVfRlVOQ1RJT05TIDEKICNlbmRp
ZgorCisjaWYgKFBMQVRGT1JNKE1BQykgJiYgX19NQUNfT1NfWF9WRVJTSU9OX01JTl9SRVFVSVJF
RCA+PSAxMjAwMDApIFwKKyAgICB8fCAoKFBMQVRGT1JNKElPUykgfHwgUExBVEZPUk0oTUFDQ0FU
QUxZU1QpKSAmJiBfX0lQSE9ORV9PU19WRVJTSU9OX01JTl9SRVFVSVJFRCA+PSAxNTAwMDApCisj
aWYgIWRlZmluZWQoSEFWRV9WS19JTUFHRV9BTkFMWVNJUykKKyNkZWZpbmUgSEFWRV9WS19JTUFH
RV9BTkFMWVNJUyAxCisjZW5kaWYKKyNlbmRpZgpJbmRleDogU291cmNlL1dURi93dGYvc3BpL2Nv
Y29hL1NlY3VyaXR5U1BJLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dURi93dGYvc3BpL2NvY29h
L1NlY3VyaXR5U1BJLmgJKHJldmlzaW9uIDI3ODc3NCkKKysrIFNvdXJjZS9XVEYvd3RmL3NwaS9j
b2NvYS9TZWN1cml0eVNQSS5oCSh3b3JraW5nIGNvcHkpCkBAIC04MSwxMSArODEsMTUgQEAgU2Vj
SWRlbnRpdHlSZWYgU2VjSWRlbnRpdHlDcmVhdGUoQ0ZBbGxvYwogU2VjQWNjZXNzQ29udHJvbFJl
ZiBTZWNBY2Nlc3NDb250cm9sQ3JlYXRlRnJvbURhdGEoQ0ZBbGxvY2F0b3JSZWYsIENGRGF0YVJl
ZiwgQ0ZFcnJvclJlZiopOwogQ0ZEYXRhUmVmIFNlY0FjY2Vzc0NvbnRyb2xDb3B5RGF0YShTZWNB
Y2Nlc3NDb250cm9sUmVmKTsKIAorQ0ZEYXRhUmVmIFNlY0tleUNvcHlTdWJqZWN0UHVibGljS2V5
SW5mbyhTZWNLZXlSZWYpOworCiAjaWYgUExBVEZPUk0oTUFDKQogI2luY2x1ZGUgPFNlY3VyaXR5
L1NlY0FzbjFUeXBlcy5oPgogQ0ZTdHJpbmdSZWYgU2VjVGFza0NvcHlTaWduaW5nSWRlbnRpZmll
cihTZWNUYXNrUmVmLCBDRkVycm9yUmVmICopOworQUxMT1dfREVQUkVDQVRFRF9ERUNMQVJBVElP
TlNfQkVHSU4KIGV4dGVybiBjb25zdCBTZWNBc24xVGVtcGxhdGUga1NlY0FzbjFBbGdvcml0aG1J
RFRlbXBsYXRlW107CiBleHRlcm4gY29uc3QgU2VjQXNuMVRlbXBsYXRlIGtTZWNBc24xU3ViamVj
dFB1YmxpY0tleUluZm9UZW1wbGF0ZVtdOworQUxMT1dfREVQUkVDQVRFRF9ERUNMQVJBVElPTlNf
RU5ECiB1aW50MzJfdCBTZWNUYXNrR2V0Q29kZVNpZ25TdGF0dXMoU2VjVGFza1JlZik7CiAjZW5k
aWYKIApJbmRleDogU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJj
ZS9XZWJDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gMjc4Nzc0KQorKysgU291cmNlL1dlYkNvcmUv
Q2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMTcgQEAKKzIwMjEtMDYtMTEgIEpv
bmF0aGFuIEJlZGFyZCAgPGpiZWRhcmRAYXBwbGUuY29tPgorCisgICAgICAgIFtNb250ZXJleV0g
U3VwcG9ydCBidWlsZGluZyBXZWJLaXQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTIyNjg0NgorICAgICAgICA8cmRhcjovL3Byb2JsZW0vNzkwOTUxNDg+
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgVGltIEhvcnRvbi4KKworICAgICAgICBDb3ZlcmVkIGJ5
IGV4aXNpdGluZyB0ZXN0cy4KKworICAgICAgICAqIHRlc3RpbmcvSW50ZXJuYWxzLmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OkludGVybmFsczo6aW5zdGFsbEltYWdlT3ZlcmxheSk6IEV4cGxpY2l0
bHkgZGVmaW5lIHNlY29uZCBhcnVnbWVudAorICAgICAgICB0byBhdm9pZCAnbWlzc2luZyBmaWVs
ZCcgY29tcGlsYXRpb24gZXJyb3IuCisKIDIwMjEtMDYtMTEgIE1lZ2FuIEdhcmRuZXIgIDxtZWdh
bl9nYXJkbmVyQGFwcGxlLmNvbT4KIAogICAgICAgICBSZW5hbWUgQXBwSGlnaGxpZ2h0IGdyb3Vw
IHRvIFF1aWNrTm90ZSB0byBjb3JyZWN0bHkgcmVmbGVjdCBmZWF0dXJlLgpJbmRleDogU291cmNl
L1dlYkNvcmUvUEFML0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9QQUwv
Q2hhbmdlTG9nCShyZXZpc2lvbiAyNzg3NzQpCisrKyBTb3VyY2UvV2ViQ29yZS9QQUwvQ2hhbmdl
TG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMTQgQEAKKzIwMjEtMDYtMTEgIEpvbmF0aGFu
IEJlZGFyZCAgPGpiZWRhcmRAYXBwbGUuY29tPgorCisgICAgICAgIFtNb250ZXJleV0gU3VwcG9y
dCBidWlsZGluZyBXZWJLaXQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTIyNjg0NgorICAgICAgICA8cmRhcjovL3Byb2JsZW0vNzkwOTUxNDg+CisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgVGltIEhvcnRvbi4KKworICAgICAgICAqIHBhbC9zcGkvY29jb2Ev
Q3J5cHRvS2l0Q0JyaWRnaW5nU1BJLmg6IEFkZCBSU0EgQlNTQSBkZWNsYXJhdGlvbnMuCisgICAg
ICAgICogcGFsL3NwaS9tYWMvUXVpY2tMb29rTWFjU1BJLmg6IEFkZCBJbWFnZSBBbmFseXNpcyBk
ZWNsYXJhdGlvbnMuCisKIDIwMjEtMDYtMDggIEFsZXggQ2hyaXN0ZW5zZW4gIDxhY2hyaXN0ZW5z
ZW5Ad2Via2l0Lm9yZz4KIAogICAgICAgICBNb3ZlIFByaXZhY3lTdGFuY2UgY29kZSBmcm9tIFdl
YktpdEFkZGl0aW9ucwpJbmRleDogU291cmNlL1dlYkNvcmUvUEFML3BhbC9zcGkvY29jb2EvQ3J5
cHRvS2l0Q0JyaWRnaW5nU1BJLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvUEFML3Bh
bC9zcGkvY29jb2EvQ3J5cHRvS2l0Q0JyaWRnaW5nU1BJLmgJKHJldmlzaW9uIDI3ODc3NCkKKysr
IFNvdXJjZS9XZWJDb3JlL1BBTC9wYWwvc3BpL2NvY29hL0NyeXB0b0tpdENCcmlkZ2luZ1NQSS5o
CSh3b3JraW5nIGNvcHkpCkBAIC0zNCwxNSArMzQsMjYgQEAKICNlbHNlCiAKIEBpbnRlcmZhY2Ug
UlNBQlNTQVRva2VuV2FpdGluZ0FjdGl2YXRpb24gOiBOU09iamVjdAotQHByb3BlcnR5IChub25h
dG9taWMsIHJldGFpbiwgcmVhZG9ubHkpIE5TRGF0YSAqYmxpbmRlZE1lc3NhZ2U7CisjaWYgSEFW
RShSU0FfQlNTQSkKKy0gKFJTQUJTU0FUb2tlblJlYWR5KilhY3RpdmF0ZVRva2VuV2l0aFNlcnZl
clJlc3BvbnNlOihOU0RhdGEqKXNlcnZlclJlc3BvbnNlIGVycm9yOihOU0Vycm9yKiBfX2F1dG9y
ZWxlYXNpbmcgKillcnJvcjsKKyNlbmRpZgorQHByb3BlcnR5IChub25hdG9taWMsIHJldGFpbiwg
cmVhZG9ubHkpIE5TRGF0YSogYmxpbmRlZE1lc3NhZ2U7CiBAZW5kCiAKIEBpbnRlcmZhY2UgUlNB
QlNTQVRva2VuUmVhZHkgOiBOU09iamVjdAotQHByb3BlcnR5IChub25hdG9taWMsIHJldGFpbiwg
cmVhZG9ubHkpIE5TRGF0YSAqdG9rZW5Db250ZW50OwotQHByb3BlcnR5IChub25hdG9taWMsIHJl
dGFpbiwgcmVhZG9ubHkpIE5TRGF0YSAqa2V5SWQ7Ci1AcHJvcGVydHkgKG5vbmF0b21pYywgcmV0
YWluLCByZWFkb25seSkgTlNEYXRhICpzaWduYXR1cmU7CitAcHJvcGVydHkgKG5vbmF0b21pYywg
cmV0YWluLCByZWFkb25seSkgTlNEYXRhKiB0b2tlbkNvbnRlbnQ7CitAcHJvcGVydHkgKG5vbmF0
b21pYywgcmV0YWluLCByZWFkb25seSkgTlNEYXRhKiBrZXlJZDsKK0Bwcm9wZXJ0eSAobm9uYXRv
bWljLCByZXRhaW4sIHJlYWRvbmx5KSBOU0RhdGEqIHNpZ25hdHVyZTsKIEBlbmQKIAorI2lmIEhB
VkUoUlNBX0JTU0EpCitAaW50ZXJmYWNlIFJTQUJTU0FUb2tlbkJsaW5kZXIgOiBOU09iamVjdAor
LSAoaW5zdGFuY2V0eXBlKWluaXRXaXRoUHVibGljS2V5OihOU0RhdGEqKXNwa2lCeXRlcyBlcnJv
cjooTlNFcnJvciogX19hdXRvcmVsZWFzaW5nICopZXJyb3I7CistIChSU0FCU1NBVG9rZW5XYWl0
aW5nQWN0aXZhdGlvbiopdG9rZW5XYWl0aW5nQWN0aXZhdGlvbldpdGhDb250ZW50OihOU0RhdGEq
KWNvbnRlbnQgZXJyb3I6KE5TRXJyb3IqIF9fYXV0b3JlbGVhc2luZyAqKWVycm9yOworQHByb3Bl
cnR5IChub25hdG9taWMsIHJldGFpbiwgcmVhZG9ubHkpIE5TRGF0YSoga2V5SWQ7CitAZW5kCisj
ZW5kaWYKKwogI2VuZGlmIC8vIFVTRShBUFBMRV9JTlRFUk5BTF9TREspCiAKICNlbmRpZiAvLyBI
QVZFKFJTQV9CU1NBKQpJbmRleDogU291cmNlL1dlYkNvcmUvUEFML3BhbC9zcGkvbWFjL1F1aWNr
TG9va01hY1NQSS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL1BBTC9wYWwvc3BpL21h
Yy9RdWlja0xvb2tNYWNTUEkuaAkocmV2aXNpb24gMjc4Nzc0KQorKysgU291cmNlL1dlYkNvcmUv
UEFML3BhbC9zcGkvbWFjL1F1aWNrTG9va01hY1NQSS5oCSh3b3JraW5nIGNvcHkpCkBAIC01OSwx
MSArNTksMTIgQEAgdHlwZWRlZiBOU19FTlVNKE5TSW50ZWdlciwgUUxQcmV2aWV3U3R5bAogQGVu
ZAogCiBAaW50ZXJmYWNlIFFMSXRlbSA6IE5TT2JqZWN0IDxRTFByZXZpZXdJdGVtPgorQHByb3Bl
cnR5IChub25hdG9taWMsIGNvcHkpIE5TRGljdGlvbmFyeSogcHJldmlld09wdGlvbnM7CiBAZW5k
CiAKICNlbmRpZiAvLyBVU0UoQVBQTEVfSU5URVJOQUxfU0RLKQogCi0jaWYgSEFWRShRVUlDS0xP
T0tfUFJFVklFV19JVEVNX0RBVEFfUFJPVklERVIpCisjaWYgSEFWRShRVUlDS0xPT0tfUFJFVklF
V19JVEVNX0RBVEFfUFJPVklERVIpIHx8IEhBVkUoVktfSU1BR0VfQU5BTFlTSVMpCiAKIEBjbGFz
cyBVVFR5cGU7CiBAaW50ZXJmYWNlIFFMSXRlbSAoU3RhZ2luZ183NDI5OTQ1MSkKQEAgLTcyLDYg
KzczLDE3IEBAIEBpbnRlcmZhY2UgUUxJdGVtIChTdGFnaW5nXzc0Mjk5NDUxKQogCiAjZW5kaWYK
IAorI2lmIEhBVkUoVktfSU1BR0VfQU5BTFlTSVMpCisKK3R5cGVkZWYgTlNfRU5VTShOU0ludGVn
ZXIsIFFMUHJldmlld0FjdGl2aXR5KSB7CisgICAgUUxQcmV2aWV3QWN0aXZpdHlOb25lLAorICAg
IFFMUHJldmlld0FjdGl2aXR5TWFya3VwLAorICAgIFFMUHJldmlld0FjdGl2aXR5VHJpbSwKKyAg
ICBRTFByZXZpZXdBY3Rpdml0eVZpc3VhbFNlYXJjaAorfTsKKworI2VuZGlmCisKICNpZiBIQVZF
KFFVSUNLTE9PS19JVEVNX1BSRVZJRVdfT1BUSU9OUykKIAogQGludGVyZmFjZSBRTEl0ZW0gKFN0
YWdpbmdfNzc4NjQ2MzcpCkluZGV4OiBTb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5j
cHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuY3BwCShy
ZXZpc2lvbiAyNzg3NzQpCisrKyBTb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5jcHAJ
KHdvcmtpbmcgY29weSkKQEAgLTU2NTAsNiArNTY1MCw5IEBAIHZvaWQgSW50ZXJuYWxzOjppbnN0
YWxsSW1hZ2VPdmVybGF5KEVsZW0KICAgICAgICAgbGluZXMubWFwKFtdIChhdXRvJiBsaW5lKSAt
PiBUZXh0UmVjb2duaXRpb25MaW5lRGF0YSB7CiAgICAgICAgICAgICByZXR1cm4gbWFrZURhdGFG
b3JMaW5lKGxpbmUpOwogICAgICAgICB9KQorI2lmIEVOQUJMRShEQVRBX0RFVEVDVElPTikKKyAg
ICAgICAgLCBWZWN0b3I8VGV4dFJlY29nbml0aW9uRGF0YURldGVjdG9yPigpCisjZW5kaWYKICAg
ICB9KTsKICNlbHNlCiAgICAgVU5VU0VEX1BBUkFNKGxpbmVzKTsKSW5kZXg6IFNvdXJjZS9XZWJL
aXQvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCShyZXZp
c2lvbiAyNzg3NzQpCisrKyBTb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpA
QCAtMSwzICsxLDI5IEBACisyMDIxLTA2LTExICBKb25hdGhhbiBCZWRhcmQgIDxqYmVkYXJkQGFw
cGxlLmNvbT4KKworICAgICAgICBbTW9udGVyZXldIFN1cHBvcnQgYnVpbGRpbmcgV2ViS2l0Cisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMjY4NDYKKyAg
ICAgICAgPHJkYXI6Ly9wcm9ibGVtLzc5MDk1MTQ4PgorCisgICAgICAgIFJldmlld2VkIGJ5IFRp
bSBIb3J0b24uCisKKyAgICAgICAgKiBQbGF0Zm9ybS9jb2NvYS9UZXh0UmVjb2duaXRpb25VdGls
aXRpZXMubW06IEltcG9ydCBWaXNpb25LaXRTUEkuaC4KKyAgICAgICAgKiBQbGF0Zm9ybS9zcGkv
Q29jb2EvVmlzaW9uS2l0U1BJLmg6IEFkZGVkLgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvQ29j
b2EvV0tCcm93c2luZ0NvbnRleHRDb250cm9sbGVyLm1tOgorICAgICAgICAoc2V0VXBQYWdlTG9h
ZGVyQ2xpZW50KTogQWxsb3cgZGVwcmVjYXRlZCBkZWNsYXJhdGlvbnMuCisgICAgICAgIChzZXRV
cFBhZ2VQb2xpY3lDbGllbnQpOiBEaXR0by4KKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL0NvY29h
L1dLQ29ubmVjdGlvbi5tbToKKyAgICAgICAgKHNldFVwQ2xpZW50KTogQWxsb3cgZGVwcmVjYXRl
ZCBkZWNsYXJhdGlvbnMuCisgICAgICAgICogVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1Byb2Nlc3NH
cm91cC5tbToKKyAgICAgICAgKHNldFVwQ29ubmVjdGlvbkNsaWVudCk6IEFsbG93IGRlcHJlY2F0
ZWQgZGVjbGFyYXRpb25zLgorICAgICAgICAoc2V0VXBJbmplY3RlZEJ1bmRsZUNsaWVudCk6IERp
dHRvLgorICAgICAgICAoc2V0VXBIaXN0b3J5Q2xpZW50KTogRGl0dG8uCisgICAgICAgICogVUlQ
cm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZpZXdUZXN0aW5nLm1tOgorICAgICAgICAoLVtXS1dlYlZp
ZXcgX2NyZWF0ZU1lZGlhU2Vzc2lvbkNvb3JkaW5hdG9yRm9yVGVzdGluZzpjb21wbGV0aW9uSGFu
ZGxlcjpdKTogRXhwbGljaXRseSBkZWZpbmUgc2Vjb25kIGFydWdtZW50CisgICAgICAgIHRvIGF2
b2lkICdtaXNzaW5nIGZpZWxkJyBjb21waWxhdGlvbiBlcnJvci4KKyAgICAgICAgKiBVSVByb2Nl
c3MvQ29jb2EvV2ViVmlld0ltcGwubW06IEltcG9ydCBWaXNpb25LaXRTUEkuaC4KKyAgICAgICAg
KiBVSVByb2Nlc3MvaW9zL1dLQ29udGVudFZpZXdJbnRlcmFjdGlvbi5tbTogRGl0dG8uCisgICAg
ICAgICogV2ViS2l0Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6IERpdHRvLgorCiAyMDIxLTA2
LTExICBDaHJpcyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CiAKICAgICAgICAgRW5hYmxlIFdl
YlByb2Nlc3MnIHJlbGVhc2UgbG9nZ2luZyBpbiBlcGhlbWVyYWwgc2Vzc2lvbnMKSW5kZXg6IFNv
dXJjZS9XZWJLaXQvUGxhdGZvcm0vY29jb2EvVGV4dFJlY29nbml0aW9uVXRpbGl0aWVzLm1tCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvUGxhdGZvcm0vY29jb2EvVGV4dFJlY29nbml0aW9u
VXRpbGl0aWVzLm1tCShyZXZpc2lvbiAyNzg3NzQpCisrKyBTb3VyY2UvV2ViS2l0L1BsYXRmb3Jt
L2NvY29hL1RleHRSZWNvZ25pdGlvblV0aWxpdGllcy5tbQkod29ya2luZyBjb3B5KQpAQCAtMjgs
OCArMjgsNyBAQAogCiAjaWYgRU5BQkxFKElNQUdFX0FOQUxZU0lTKQogCi0jaW1wb3J0IDxWaXNp
b25LaXRDb3JlL1ZLSW1hZ2VBbmFseXNpc19XZWJLaXQuaD4KLSNpbXBvcnQgPFZpc2lvbktpdENv
cmUvVktRdWFkLmg+CisjaW1wb3J0ICJWaXNpb25LaXRTUEkuaCIKICNpbXBvcnQgPFdlYkNvcmUv
VGV4dFJlY29nbml0aW9uUmVzdWx0Lmg+CiAjaW1wb3J0IDxwYWwvc3BpL2NvY29hL0ZlYXR1cmVG
bGFnc1NQSS5oPgogCkluZGV4OiBTb3VyY2UvV2ViS2l0L1BsYXRmb3JtL3NwaS9Db2NvYS9WaXNp
b25LaXRTUEkuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L1BsYXRmb3JtL3NwaS9Db2Nv
YS9WaXNpb25LaXRTUEkuaAkobm9uZXhpc3RlbnQpCisrKyBTb3VyY2UvV2ViS2l0L1BsYXRmb3Jt
L3NwaS9Db2NvYS9WaXNpb25LaXRTUEkuaAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDEzMSBA
QAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAyMSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2
ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBm
b3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJv
dmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBS
ZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHly
aWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxv
d2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11
c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0
IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAg
IGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBk
aXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJ
TkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9S
IElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBU
SEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1Ig
QSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFM
TCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJ
UkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENP
TlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NV
UkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwg
REFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBD
QVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05U
UkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1Ig
T1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMg
U09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0gg
REFNQUdFLgorICovCisKKyNpZiBIQVZFKFZLX0lNQUdFX0FOQUxZU0lTKQorCisjaWYgVVNFKEFQ
UExFX0lOVEVSTkFMX1NESykKKworI2ltcG9ydCA8VmlzaW9uS2l0Q29yZS9WS0ltYWdlQW5hbHlz
aXNfV2ViS2l0Lmg+CisjaW1wb3J0IDxWaXNpb25LaXRDb3JlL1ZLSW1hZ2VBbmFseXplci5oPgor
I2ltcG9ydCA8VmlzaW9uS2l0Q29yZS9WS1F1YWQuaD4KKworI2Vsc2UKKworTlNfQVNTVU1FX05P
Tk5VTExfQkVHSU4KKwordHlwZWRlZiBpbnQzMl90IFZLSW1hZ2VBbmFseXNpc1JlcXVlc3RJRDsK
KwordHlwZWRlZiBOU19PUFRJT05TKE5TVUludGVnZXIsIFZLQW5hbHlzaXNUeXBlcykgeworICAg
IFZLQW5hbHlzaXNUeXBlVGV4dCAgICAgICAgICAgICAgICAgPSAxIDw8IDAsCisgICAgVktBbmFs
eXNpc1R5cGVUZXh0RGF0YURldGVjdG9yICAgICA9IDEgPDwgMSwKKyAgICBWS0FuYWx5c2lzVHlw
ZU1hY2hpbmVSZWFkYWJsZUNvZGUgID0gMSA8PCAyLAorICAgIFZLQW5hbHlzaXNUeXBlQXBwQ2xp
cCAgICAgICAgICAgICAgPSAxIDw8IDMsCisgICAgVktBbmFseXNpc1R5cGVWaXN1YWxTZWFyY2gg
ICAgICAgICA9IDEgPDwgNCwKKyAgICBWS0FuYWx5c2lzVHlwZU5vbmUgPSAwLAorICAgIFZLQW5h
bHlzaXNUeXBlQWxsID0gTlNVSW50ZWdlck1heCwKK307CisKKyNpZiBQTEFURk9STShJT1MpCisK
K3R5cGVkZWYgVUlJbWFnZSBWS0ltYWdlQ2xhc3M7CisKK3R5cGVkZWYgVUlJbWFnZU9yaWVudGF0
aW9uIFZLSW1hZ2VPcmllbnRhdGlvbjsKKworI2RlZmluZSBWS0ltYWdlT3JpZW50YXRpb25VcCAg
ICAgICAgICAgIFVJSW1hZ2VPcmllbnRhdGlvblVwCisjZGVmaW5lIFZLSW1hZ2VPcmllbnRhdGlv
bkRvd24gICAgICAgICAgVUlJbWFnZU9yaWVudGF0aW9uRG93bgorI2RlZmluZSBWS0ltYWdlT3Jp
ZW50YXRpb25MZWZ0ICAgICAgICAgIFVJSW1hZ2VPcmllbnRhdGlvbkxlZnQKKyNkZWZpbmUgVktJ
bWFnZU9yaWVudGF0aW9uUmlnaHQgICAgICAgICBVSUltYWdlT3JpZW50YXRpb25SaWdodAorI2Rl
ZmluZSBWS0ltYWdlT3JpZW50YXRpb25VcE1pcnJvcmVkICAgIFVJSW1hZ2VPcmllbnRhdGlvblVw
TWlycm9yZWQKKyNkZWZpbmUgVktJbWFnZU9yaWVudGF0aW9uRG93bk1pcnJvcmVkICBVSUltYWdl
T3JpZW50YXRpb25Eb3duTWlycm9yZWQKKyNkZWZpbmUgVktJbWFnZU9yaWVudGF0aW9uTGVmdE1p
cnJvcmVkICBVSUltYWdlT3JpZW50YXRpb25MZWZ0TWlycm9yZWQKKyNkZWZpbmUgVktJbWFnZU9y
aWVudGF0aW9uUmlnaHRNaXJyb3JlZCBVSUltYWdlT3JpZW50YXRpb25SaWdodE1pcnJvcmVkCisK
KyNlbHNlCisKK3R5cGVkZWYgTlNJbWFnZSBWS0ltYWdlQ2xhc3M7CisKK3R5cGVkZWYgTlNfRU5V
TShOU0ludGVnZXIsIFZLSW1hZ2VPcmllbnRhdGlvbikgeworICAgIFZLSW1hZ2VPcmllbnRhdGlv
blVwLAorICAgIFZLSW1hZ2VPcmllbnRhdGlvbkRvd24sCisgICAgVktJbWFnZU9yaWVudGF0aW9u
TGVmdCwKKyAgICBWS0ltYWdlT3JpZW50YXRpb25SaWdodCwKKyAgICBWS0ltYWdlT3JpZW50YXRp
b25VcE1pcnJvcmVkLAorICAgIFZLSW1hZ2VPcmllbnRhdGlvbkRvd25NaXJyb3JlZCwKKyAgICBW
S0ltYWdlT3JpZW50YXRpb25MZWZ0TWlycm9yZWQsCisgICAgVktJbWFnZU9yaWVudGF0aW9uUmln
aHRNaXJyb3JlZCwKK307CisKKyNlbmRpZgorCitAaW50ZXJmYWNlIFZLSW1hZ2VBbmFseXNpcyA6
IE5TT2JqZWN0IDxOU1NlY3VyZUNvZGluZz4KKy0gKEJPT0wpaGFzUmVzdWx0c0ZvckFuYWx5c2lz
VHlwZXM6KFZLQW5hbHlzaXNUeXBlcylhbmFseXNpc1R5cGVzOworQGVuZAorCitAcHJvdG9jb2wg
VktGZWVkYmFja0Fzc2V0c1Byb3ZpZGVyIDxOU09iamVjdD4KKy0gKEJPT0wpc2F2ZUFzc2V0c1Rv
RmVlZGJhY2tBdHRhY2htZW50c0ZvbGRlcjooTlNVUkwgKilhdHRhY2htZW50c0ZvbGRlclVSTCBl
cnJvcjooTlNFcnJvciAqKWVycm9yOworQGVuZAorCitAaW50ZXJmYWNlIFZLSW1hZ2VBbmFseXpl
clJlcXVlc3QgOiBOU09iamVjdCA8TlNDb3B5aW5nLCBWS0ZlZWRiYWNrQXNzZXRzUHJvdmlkZXI+
CistIChpbnN0YW5jZXR5cGUpaW5pdCBOU19VTkFWQUlMQUJMRTsKKy0gKGluc3RhbmNldHlwZSlp
bml0V2l0aEltYWdlOihWS0ltYWdlQ2xhc3MgKilpbWFnZSByZXF1ZXN0VHlwZTooVktBbmFseXNp
c1R5cGVzKWFuYWx5c2lzVHlwZTsKKy0gKGluc3RhbmNldHlwZSlpbml0V2l0aENHSW1hZ2U6KENH
SW1hZ2VSZWYpaW1hZ2Ugb3JpZW50YXRpb246KFZLSW1hZ2VPcmllbnRhdGlvbilvcmllbnRhdGlv
biByZXF1ZXN0VHlwZTooVktBbmFseXNpc1R5cGVzKWFuYWx5c2lzVHlwZTsKK0BlbmQKKworQGlu
dGVyZmFjZSBWS0ltYWdlQW5hbHl6ZXIgOiBOU09iamVjdAorQHByb3BlcnR5IChub25hdG9taWMs
IHN0cm9uZywgbnVsbGFibGUpIGRpc3BhdGNoX3F1ZXVlX3QgY2FsbGJhY2tRdWV1ZTsKKy0gKFZL
SW1hZ2VBbmFseXNpc1JlcXVlc3RJRClwcm9jZXNzUmVxdWVzdDooVktJbWFnZUFuYWx5emVyUmVx
dWVzdCAqKXJlcXVlc3QKKyAgICAgICAgICAgICAgICAgICAgICAgICAgIHByb2dyZXNzSGFuZGxl
cjoodm9pZCAoXl9OdWxsYWJsZSkoZG91YmxlIHByb2dyZXNzKSlwcm9ncmVzc0hhbmRsZXIKKyAg
ICAgICAgICAgICAgICAgICAgICAgICBjb21wbGV0aW9uSGFuZGxlcjoodm9pZCAoXikoVktJbWFn
ZUFuYWx5c2lzKiBfTnVsbGFibGUgYW5hbHlzaXMsIE5TRXJyb3IgKiBfTnVsbGFibGUgZXJyb3Ip
KWNvbXBsZXRpb25IYW5kbGVyOworQGVuZAorCitAaW50ZXJmYWNlIFZLUXVhZCA6IE5TT2JqZWN0
IDxOU0NvcHlpbmcsIE5TU2VjdXJlQ29kaW5nPgorQHByb3BlcnR5IChub25hdG9taWMsIHJlYWRv
bmx5KSBDR1BvaW50IHRvcExlZnQ7CitAcHJvcGVydHkgKG5vbmF0b21pYywgcmVhZG9ubHkpIENH
UG9pbnQgdG9wUmlnaHQ7CitAcHJvcGVydHkgKG5vbmF0b21pYywgcmVhZG9ubHkpIENHUG9pbnQg
Ym90dG9tTGVmdDsKK0Bwcm9wZXJ0eSAobm9uYXRvbWljLCByZWFkb25seSkgQ0dQb2ludCBib3R0
b21SaWdodDsKK0Bwcm9wZXJ0eSAobm9uYXRvbWljLCByZWFkb25seSkgQ0dSZWN0IGJvdW5kaW5n
Qm94OworQGVuZAorCitAaW50ZXJmYWNlIFZLV0tUZXh0SW5mbyA6IE5TT2JqZWN0CitAcHJvcGVy
dHkgKG5vbmF0b21pYywgcmVhZG9ubHkpIE5TU3RyaW5nICpzdHJpbmc7CitAcHJvcGVydHkgKG5v
bmF0b21pYywgcmVhZG9ubHkpIFZLUXVhZCAqcXVhZDsKK0BlbmQKKworQGludGVyZmFjZSBWS1dL
TGluZUluZm8gOiBWS1dLVGV4dEluZm8KK0Bwcm9wZXJ0eSAobm9uYXRvbWljLCByZWFkb25seSkg
TlNBcnJheTxWS1dLVGV4dEluZm8gKj4gKmNoaWxkcmVuOworQGVuZAorCitAaW50ZXJmYWNlIFZL
SW1hZ2VBbmFseXNpcyAoV2ViS2l0U1BJKQorQHByb3BlcnR5IChub25hdG9taWMsIHJlYWRvbmx5
KSBOU0FycmF5IDxWS1dLTGluZUluZm8gKj4gKmFsbExpbmVzOworI2lmIFBMQVRGT1JNKElPUykK
K0Bwcm9wZXJ0eSAobm9uYXRvbWljKSBVSU1lbnUgKiBtcmNNZW51OworI2VuZGlmCitAZW5kCisK
K05TX0FTU1VNRV9OT05OVUxMX0VORAorCisjZW5kaWYKKworI2VuZGlmCkluZGV4OiBTb3VyY2Uv
V2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tCcm93c2luZ0NvbnRleHRDb250cm9sbGVyLm1t
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS0Jyb3dz
aW5nQ29udGV4dENvbnRyb2xsZXIubW0JKHJldmlzaW9uIDI3ODc3NCkKKysrIFNvdXJjZS9XZWJL
aXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS0Jyb3dzaW5nQ29udGV4dENvbnRyb2xsZXIubW0JKHdv
cmtpbmcgY29weSkKQEAgLTQzOSw3ICs0MzksOSBAQCBzdGF0aWMgdm9pZCBwcm9jZXNzRGlkQ3Jh
c2goV0tQYWdlUmVmIHBhCiAgICAgICAgIFsoaWQgPFdLQnJvd3NpbmdDb250ZXh0TG9hZERlbGVn
YXRlUHJpdmF0ZT4pbG9hZERlbGVnYXRlIGJyb3dzaW5nQ29udGV4dENvbnRyb2xsZXJXZWJQcm9j
ZXNzRGlkQ3Jhc2g6YnJvd3NpbmdDb250ZXh0XTsKIH0KIAorQUxMT1dfREVQUkVDQVRFRF9ERUNM
QVJBVElPTlNfQkVHSU4KIHN0YXRpYyB2b2lkIHNldFVwUGFnZUxvYWRlckNsaWVudChXS0Jyb3dz
aW5nQ29udGV4dENvbnRyb2xsZXIgKmJyb3dzaW5nQ29udGV4dCwgV2ViS2l0OjpXZWJQYWdlUHJv
eHkmIHBhZ2UpCitBTExPV19ERVBSRUNBVEVEX0RFQ0xBUkFUSU9OU19FTkQKIHsKICAgICBXS1Bh
Z2VOYXZpZ2F0aW9uQ2xpZW50VjAgbG9hZGVyQ2xpZW50OwogICAgIG1lbXNldCgmbG9hZGVyQ2xp
ZW50LCAwLCBzaXplb2YobG9hZGVyQ2xpZW50KSk7CkBAIC00NzYsNyArNDc4LDkgQEAgc3RhdGlj
IEJsb2NrUHRyPHZvaWQoV0tQb2xpY3lEZWNpc2lvbik+IAogICAgIH0pOwogfQogCitBTExPV19E
RVBSRUNBVEVEX0RFQ0xBUkFUSU9OU19CRUdJTgogc3RhdGljIHZvaWQgc2V0VXBQYWdlUG9saWN5
Q2xpZW50KFdLQnJvd3NpbmdDb250ZXh0Q29udHJvbGxlciAqYnJvd3NpbmdDb250ZXh0LCBXZWJL
aXQ6OldlYlBhZ2VQcm94eSYgcGFnZSkKK0FMTE9XX0RFUFJFQ0FURURfREVDTEFSQVRJT05TX0VO
RAogewogICAgIFdLUGFnZVBvbGljeUNsaWVudEludGVybmFsIHBvbGljeUNsaWVudDsKICAgICBt
ZW1zZXQoJnBvbGljeUNsaWVudCwgMCwgc2l6ZW9mKHBvbGljeUNsaWVudCkpOwpJbmRleDogU291
cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL1dLQ29ubmVjdGlvbi5tbQo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tDb25uZWN0aW9uLm1tCShy
ZXZpc2lvbiAyNzg3NzQpCisrKyBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tD
b25uZWN0aW9uLm1tCSh3b3JraW5nIGNvcHkpCkBAIC03Niw3ICs3Niw5IEBAIHN0YXRpYyB2b2lk
IGRpZENsb3NlKFdLQ29ubmVjdGlvblJlZiwgY28KICAgICAgICAgW2RlbGVnYXRlIGNvbm5lY3Rp
b25EaWRDbG9zZTpjb25uZWN0aW9uXTsKIH0KIAorQUxMT1dfREVQUkVDQVRFRF9ERUNMQVJBVElP
TlNfQkVHSU4KIHN0YXRpYyB2b2lkIHNldFVwQ2xpZW50KFdLQ29ubmVjdGlvbiAqd3JhcHBlciwg
V2ViS2l0OjpXZWJDb25uZWN0aW9uJiBjb25uZWN0aW9uKQorQUxMT1dfREVQUkVDQVRFRF9ERUNM
QVJBVElPTlNfRU5ECiB7CiAgICAgV0tDb25uZWN0aW9uQ2xpZW50VjAgY2xpZW50OwogICAgIG1l
bXNldCgmY2xpZW50LCAwLCBzaXplb2YoY2xpZW50KSk7CkluZGV4OiBTb3VyY2UvV2ViS2l0L1VJ
UHJvY2Vzcy9BUEkvQ29jb2EvV0tQcm9jZXNzR3JvdXAubW0KPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNl
L1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL1dLUHJvY2Vzc0dyb3VwLm1tCShyZXZpc2lvbiAy
Nzg3NzQpCisrKyBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tQcm9jZXNzR3Jv
dXAubW0JKHdvcmtpbmcgY29weSkKQEAgLTczLDcgKzczLDkgQEAgc3RhdGljIHZvaWQgZGlkQ3Jl
YXRlQ29ubmVjdGlvbihXS0NvbnRleAogICAgICAgICBbZGVsZWdhdGUgcHJvY2Vzc0dyb3VwOnBy
b2Nlc3NHcm91cCBkaWRDcmVhdGVDb25uZWN0aW9uVG9XZWJQcm9jZXNzUGx1Z0luOndyYXBwZXIo
KldlYktpdDo6dG9JbXBsKGNvbm5lY3Rpb25SZWYpKV07CiB9CiAKK0FMTE9XX0RFUFJFQ0FURURf
REVDTEFSQVRJT05TX0JFR0lOCiBzdGF0aWMgdm9pZCBzZXRVcENvbm5lY3Rpb25DbGllbnQoV0tQ
cm9jZXNzR3JvdXAgKnByb2Nlc3NHcm91cCwgV0tDb250ZXh0UmVmIGNvbnRleHRSZWYpCitBTExP
V19ERVBSRUNBVEVEX0RFQ0xBUkFUSU9OU19FTkQKIHsKICAgICBXS0NvbnRleHRDb25uZWN0aW9u
Q2xpZW50VjAgY29ubmVjdGlvbkNsaWVudDsKICAgICBtZW1zZXQoJmNvbm5lY3Rpb25DbGllbnQs
IDAsIHNpemVvZihjb25uZWN0aW9uQ2xpZW50KSk7CkBAIC0xMDEsNyArMTAzLDkgQEAgc3RhdGlj
IFdLVHlwZVJlZiBnZXRJbmplY3RlZEJ1bmRsZUluaXRpYQogICAgIHJldHVybiAwOwogfQogCitB
TExPV19ERVBSRUNBVEVEX0RFQ0xBUkFUSU9OU19CRUdJTgogc3RhdGljIHZvaWQgc2V0VXBJbmpl
Y3RlZEJ1bmRsZUNsaWVudChXS1Byb2Nlc3NHcm91cCAqcHJvY2Vzc0dyb3VwLCBXS0NvbnRleHRS
ZWYgY29udGV4dFJlZikKK0FMTE9XX0RFUFJFQ0FURURfREVDTEFSQVRJT05TX0VORAogewogICAg
IFdLQ29udGV4dEluamVjdGVkQnVuZGxlQ2xpZW50VjEgaW5qZWN0ZWRCdW5kbGVDbGllbnQ7CiAg
ICAgbWVtc2V0KCZpbmplY3RlZEJ1bmRsZUNsaWVudCwgMCwgc2l6ZW9mKGluamVjdGVkQnVuZGxl
Q2xpZW50KSk7CkBAIC0xNjksNyArMTczLDkgQEAgc3RhdGljIHZvaWQgZGlkVXBkYXRlSGlzdG9y
eVRpdGxlKFdLQ29udAogICAgICAgICBbaGlzdG9yeURlbGVnYXRlIGJyb3dzaW5nQ29udGV4dENv
bnRyb2xsZXI6Y29udHJvbGxlciBkaWRVcGRhdGVIaXN0b3J5VGl0bGU6d3JhcHBlcigqV2ViS2l0
Ojp0b0ltcGwodGl0bGVSZWYpKSBmb3JVUkw6d3JhcHBlcigqV2ViS2l0Ojp0b0ltcGwodXJsUmVm
KSldOwogfQogCitBTExPV19ERVBSRUNBVEVEX0RFQ0xBUkFUSU9OU19CRUdJTgogc3RhdGljIHZv
aWQgc2V0VXBIaXN0b3J5Q2xpZW50KFdLUHJvY2Vzc0dyb3VwICpwcm9jZXNzR3JvdXAsIFdLQ29u
dGV4dFJlZiBjb250ZXh0UmVmKQorQUxMT1dfREVQUkVDQVRFRF9ERUNMQVJBVElPTlNfRU5ECiB7
CiAgICAgV0tDb250ZXh0SGlzdG9yeUNsaWVudFYwIGhpc3RvcnlDbGllbnQ7CiAgICAgbWVtc2V0
KCZoaXN0b3J5Q2xpZW50LCAwLCBzaXplb2YoaGlzdG9yeUNsaWVudCkpOwpJbmRleDogU291cmNl
L1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL1dLV2ViVmlld1Rlc3RpbmcubW0KPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL1dLV2ViVmlld1Rlc3Rpbmcu
bW0JKHJldmlzaW9uIDI3ODc3NCkKKysrIFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2Nv
YS9XS1dlYlZpZXdUZXN0aW5nLm1tCSh3b3JraW5nIGNvcHkpCkBAIC00NTQsNyArNDU0LDcgQEAg
LSAodm9pZClfY3JlYXRlTWVkaWFTZXNzaW9uQ29vcmRpbmF0b3JGbwogICAgICAgICBzdGQ6Om9w
dGlvbmFsPFdlYkNvcmU6OkV4Y2VwdGlvbkRhdGE+IHJlc3VsdChib29sIHN1Y2Nlc3MpIGNvbnN0
CiAgICAgICAgIHsKICAgICAgICAgICAgIGlmICghc3VjY2VzcykKLSAgICAgICAgICAgICAgICBy
ZXR1cm4geyBXZWJDb3JlOjpFeGNlcHRpb25EYXRhIHsgV2ViQ29yZTo6SW52YWxpZFN0YXRlRXJy
b3IgfSB9OworICAgICAgICAgICAgICAgIHJldHVybiB7IFdlYkNvcmU6OkV4Y2VwdGlvbkRhdGEg
eyBXZWJDb3JlOjpJbnZhbGlkU3RhdGVFcnJvciwgU3RyaW5nKCkgfSB9OwogCiAgICAgICAgICAg
ICByZXR1cm4geyB9OwogICAgICAgICB9CkBAIC00NjgsNyArNDY4LDcgQEAgLSAodm9pZClfY3Jl
YXRlTWVkaWFTZXNzaW9uQ29vcmRpbmF0b3JGbwogICAgICAgICB7CiAgICAgICAgICAgICBbbV9j
bGllbnRDb29yZGluYXRvciBqb2luV2l0aENvbXBsZXRpb246bWFrZUJsb2NrUHRyKFt3ZWFrVGhp
cyA9IG1ha2VXZWFrUHRyKHRoaXMpLCBjYWxsYmFjayA9IFdURk1vdmUoY2FsbGJhY2spXSAoQk9P
TCBzdWNjZXNzKSBtdXRhYmxlIHsKICAgICAgICAgICAgICAgICBpZiAoIXdlYWtUaGlzKSB7Ci0g
ICAgICAgICAgICAgICAgICAgIGNhbGxiYWNrKFdlYkNvcmU6OkV4Y2VwdGlvbkRhdGEgeyBXZWJD
b3JlOjpJbnZhbGlkU3RhdGVFcnJvciB9KTsKKyAgICAgICAgICAgICAgICAgICAgY2FsbGJhY2so
V2ViQ29yZTo6RXhjZXB0aW9uRGF0YSB7IFdlYkNvcmU6OkludmFsaWRTdGF0ZUVycm9yLCBTdHJp
bmcoKSB9KTsKICAgICAgICAgICAgICAgICAgICAgcmV0dXJuOwogICAgICAgICAgICAgICAgIH0K
IApAQCAtNDg1LDcgKzQ4NSw3IEBAIC0gKHZvaWQpX2NyZWF0ZU1lZGlhU2Vzc2lvbkNvb3JkaW5h
dG9yRm8KICAgICAgICAgewogICAgICAgICAgICAgW21fY2xpZW50Q29vcmRpbmF0b3Igc2Vla1Rv
OnRpbWUgd2l0aENvbXBsZXRpb246bWFrZUJsb2NrUHRyKFt3ZWFrVGhpcyA9IG1ha2VXZWFrUHRy
KHRoaXMpLCBjYWxsYmFjayA9IFdURk1vdmUoY2FsbGJhY2spXSAoQk9PTCBzdWNjZXNzKSBtdXRh
YmxlIHsKICAgICAgICAgICAgICAgICBpZiAoIXdlYWtUaGlzKSB7Ci0gICAgICAgICAgICAgICAg
ICAgIGNhbGxiYWNrKFdlYkNvcmU6OkV4Y2VwdGlvbkRhdGEgeyBXZWJDb3JlOjpJbnZhbGlkU3Rh
dGVFcnJvciB9KTsKKyAgICAgICAgICAgICAgICAgICAgY2FsbGJhY2soV2ViQ29yZTo6RXhjZXB0
aW9uRGF0YSB7IFdlYkNvcmU6OkludmFsaWRTdGF0ZUVycm9yLCBTdHJpbmcoKSB9KTsKICAgICAg
ICAgICAgICAgICAgICAgcmV0dXJuOwogICAgICAgICAgICAgICAgIH0KIApAQCAtNDk3LDcgKzQ5
Nyw3IEBAIC0gKHZvaWQpX2NyZWF0ZU1lZGlhU2Vzc2lvbkNvb3JkaW5hdG9yRm8KICAgICAgICAg
ewogICAgICAgICAgICAgW21fY2xpZW50Q29vcmRpbmF0b3IgcGxheVdpdGhDb21wbGV0aW9uOm1h
a2VCbG9ja1B0cihbd2Vha1RoaXMgPSBtYWtlV2Vha1B0cih0aGlzKSwgY2FsbGJhY2sgPSBXVEZN
b3ZlKGNhbGxiYWNrKV0gKEJPT0wgc3VjY2VzcykgbXV0YWJsZSB7CiAgICAgICAgICAgICAgICAg
aWYgKCF3ZWFrVGhpcykgewotICAgICAgICAgICAgICAgICAgICBjYWxsYmFjayhXZWJDb3JlOjpF
eGNlcHRpb25EYXRhIHsgV2ViQ29yZTo6SW52YWxpZFN0YXRlRXJyb3IgfSk7CisgICAgICAgICAg
ICAgICAgICAgIGNhbGxiYWNrKFdlYkNvcmU6OkV4Y2VwdGlvbkRhdGEgeyBXZWJDb3JlOjpJbnZh
bGlkU3RhdGVFcnJvciwgU3RyaW5nKCkgfSk7CiAgICAgICAgICAgICAgICAgICAgIHJldHVybjsK
ICAgICAgICAgICAgICAgICB9CiAKQEAgLTUwOSw3ICs1MDksNyBAQCAtICh2b2lkKV9jcmVhdGVN
ZWRpYVNlc3Npb25Db29yZGluYXRvckZvCiAgICAgICAgIHsKICAgICAgICAgICAgIFttX2NsaWVu
dENvb3JkaW5hdG9yIHBhdXNlV2l0aENvbXBsZXRpb246bWFrZUJsb2NrUHRyKFt3ZWFrVGhpcyA9
IG1ha2VXZWFrUHRyKHRoaXMpLCBjYWxsYmFjayA9IFdURk1vdmUoY2FsbGJhY2spXSAoQk9PTCBz
dWNjZXNzKSBtdXRhYmxlIHsKICAgICAgICAgICAgICAgICBpZiAoIXdlYWtUaGlzKSB7Ci0gICAg
ICAgICAgICAgICAgICAgIGNhbGxiYWNrKFdlYkNvcmU6OkV4Y2VwdGlvbkRhdGEgeyBXZWJDb3Jl
OjpJbnZhbGlkU3RhdGVFcnJvciB9KTsKKyAgICAgICAgICAgICAgICAgICAgY2FsbGJhY2soV2Vi
Q29yZTo6RXhjZXB0aW9uRGF0YSB7IFdlYkNvcmU6OkludmFsaWRTdGF0ZUVycm9yLCBTdHJpbmco
KSB9KTsKICAgICAgICAgICAgICAgICAgICAgcmV0dXJuOwogICAgICAgICAgICAgICAgIH0KIApA
QCAtNTIxLDcgKzUyMSw3IEBAIC0gKHZvaWQpX2NyZWF0ZU1lZGlhU2Vzc2lvbkNvb3JkaW5hdG9y
Rm8KICAgICAgICAgewogICAgICAgICAgICAgW21fY2xpZW50Q29vcmRpbmF0b3Igc2V0VHJhY2s6
dHJhY2sgd2l0aENvbXBsZXRpb246bWFrZUJsb2NrUHRyKFt3ZWFrVGhpcyA9IG1ha2VXZWFrUHRy
KHRoaXMpLCBjYWxsYmFjayA9IFdURk1vdmUoY2FsbGJhY2spXSAoQk9PTCBzdWNjZXNzKSBtdXRh
YmxlIHsKICAgICAgICAgICAgICAgICBpZiAoIXdlYWtUaGlzKSB7Ci0gICAgICAgICAgICAgICAg
ICAgIGNhbGxiYWNrKFdlYkNvcmU6OkV4Y2VwdGlvbkRhdGEgeyBXZWJDb3JlOjpJbnZhbGlkU3Rh
dGVFcnJvciB9KTsKKyAgICAgICAgICAgICAgICAgICAgY2FsbGJhY2soV2ViQ29yZTo6RXhjZXB0
aW9uRGF0YSB7IFdlYkNvcmU6OkludmFsaWRTdGF0ZUVycm9yLCBTdHJpbmcoKSB9KTsKICAgICAg
ICAgICAgICAgICAgICAgcmV0dXJuOwogICAgICAgICAgICAgICAgIH0KIApJbmRleDogU291cmNl
L1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvV2ViVmlld0ltcGwubW0KPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvV2ViVmlld0ltcGwubW0JKHJldmlzaW9uIDI3ODc3
NCkKKysrIFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL1dlYlZpZXdJbXBsLm1tCSh3b3Jr
aW5nIGNvcHkpCkBAIC0xNDYsMTEgKzE0Niw3IEBACiAjaW5jbHVkZSAiTWVkaWFTZXNzaW9uQ29v
cmRpbmF0b3JQcm94eVByaXZhdGUuaCIKICNlbmRpZgogCi0jaWYgRU5BQkxFKElNQUdFX0FOQUxZ
U0lTKQotI2ltcG9ydCA8VmlzaW9uS2l0Q29yZS9WS0ltYWdlQW5hbHlzaXNfV2ViS2l0Lmg+Ci0j
aW1wb3J0IDxWaXNpb25LaXRDb3JlL1ZLSW1hZ2VBbmFseXplci5oPgotI2ltcG9ydCA8VmlzaW9u
S2l0Q29yZS9WS1F1YWQuaD4KLSNlbmRpZiAvLyBFTkFCTEUoSU1BR0VfQU5BTFlTSVMpCisjaW1w
b3J0ICJWaXNpb25LaXRTUEkuaCIKIAogI2lmIEhBVkUoVFJBTlNMQVRJT05fVUlfU0VSVklDRVMp
CiAjaW1wb3J0IDxUcmFuc2xhdGlvblVJU2VydmljZXMvTFRVSVRyYW5zbGF0aW9uVmlld0NvbnRy
b2xsZXIuaD4KSW5kZXg6IFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9XS0NvbnRlbnRWaWV3
SW50ZXJhY3Rpb24ubW0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9VSVByb2Nlc3MvaW9z
L1dLQ29udGVudFZpZXdJbnRlcmFjdGlvbi5tbQkocmV2aXNpb24gMjc4Nzc0KQorKysgU291cmNl
L1dlYktpdC9VSVByb2Nlc3MvaW9zL1dLQ29udGVudFZpZXdJbnRlcmFjdGlvbi5tbQkod29ya2lu
ZyBjb3B5KQpAQCAtMTc3LDggKzE3Nyw3IEBACiAjaWYgRU5BQkxFKElNQUdFX0FOQUxZU0lTKQog
CiAvLyBGSVhNRTogVGhpcyBzaG91bGQgYmUgcHVsbGVkIG91dCBpbnRvIGEgc2VwYXJhdGUgc29m
dGxpbmtpbmcgaGVhZGVyIChlaXRoZXIgaW4gUEFMIG9yIFdlYktpdDIpLgotI2ltcG9ydCA8Vmlz
aW9uS2l0Q29yZS9WS0ltYWdlQW5hbHlzaXNfV2ViS2l0Lmg+Ci0jaW1wb3J0IDxWaXNpb25LaXRD
b3JlL1ZLSW1hZ2VBbmFseXplci5oPgorI2ltcG9ydCAiVmlzaW9uS2l0U1BJLmgiCiBTT0ZUX0xJ
TktfUFJJVkFURV9GUkFNRVdPUktfT1BUSU9OQUwoVmlzaW9uS2l0Q29yZSkKIFNPRlRfTElOS19D
TEFTU19PUFRJT05BTChWaXNpb25LaXRDb3JlLCBWS0ltYWdlQW5hbHl6ZXIpCiBTT0ZUX0xJTktf
Q0xBU1NfT1BUSU9OQUwoVmlzaW9uS2l0Q29yZSwgVktJbWFnZUFuYWx5emVyUmVxdWVzdCkKSW5k
ZXg6IFNvdXJjZS9XZWJLaXQvV2ViS2l0Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gU291cmNlL1dlYktpdC9XZWJLaXQueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagko
cmV2aXNpb24gMjc4Nzc0KQorKysgU291cmNlL1dlYktpdC9XZWJLaXQueGNvZGVwcm9qL3Byb2pl
Y3QucGJ4cHJvagkod29ya2luZyBjb3B5KQpAQCAtMyw3ICszLDcgQEAKIAlhcmNoaXZlVmVyc2lv
biA9IDE7CiAJY2xhc3NlcyA9IHsKIAl9OwotCW9iamVjdFZlcnNpb24gPSA1MjsKKwlvYmplY3RW
ZXJzaW9uID0gNTQ7CiAJb2JqZWN0cyA9IHsKIAogLyogQmVnaW4gUEJYQWdncmVnYXRlVGFyZ2V0
IHNlY3Rpb24gKi8KQEAgLTgxMyw2ICs4MTMsNyBAQAogCQkzMTJDQzlGMjIxNUIwNkYxMDBERTQw
Q0EgLyogSGlnaFBlcmZvcm1hbmNlR1BVTWFuYWdlci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMzFBQkE3OUMyMTVBRjlFMDAwQzkwRTMxIC8qIEhpZ2hQ
ZXJmb3JtYW5jZUdQVU1hbmFnZXIuaCAqLzsgfTsKIAkJMzEzMTI2MUYxNDhGRjgyQzAwQkEyQTM5
IC8qIE5vdGlmaWNhdGlvblBlcm1pc3Npb25SZXF1ZXN0TWFuYWdlci5oIGluIEhlYWRlcnMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMzEzMTI2MUExNDhGRjgyQjAwQkEyQTM5
IC8qIE5vdGlmaWNhdGlvblBlcm1pc3Npb25SZXF1ZXN0TWFuYWdlci5oICovOyB9OwogCQkzMTMx
MjYyMTE0OEZGODJDMDBCQTJBMzkgLyogV2ViTm90aWZpY2F0aW9uTWFuYWdlci5oIGluIEhlYWRl
cnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMzEzMTI2MUMxNDhGRjgyQjAw
QkEyQTM5IC8qIFdlYk5vdGlmaWNhdGlvbk1hbmFnZXIuaCAqLzsgfTsKKwkJMzE1NUVFMEQyNjcz
RjRGMDAwODVFNTlBIC8qIFZpc2lvbktpdFNQSS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gMzE1NUVFMEMyNjczRjRFRjAwODVFNTlBIC8qIFZpc2lvbktp
dFNQSS5oICovOyB9OwogCQkzMTU3MTM1RjIwNDBBOUIyMDA4NEY5Q0YgLyogU3lzdGVtUHJldmll
d0NvbnRyb2xsZXIuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IDMxNTcxMzVEMjA0MEE5QjIwMDg0RjlDRiAvKiBTeXN0ZW1QcmV2aWV3Q29udHJvbGxlci5o
ICovOyB9OwogCQkzMTZCOEI2NDIwNTRCNTU4MDBCRDRBNjIgLyogV0tTeXN0ZW1QcmV2aWV3Vmll
dy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMzE2QjhC
NjIyMDU0QjU1ODAwQkQ0QTYyIC8qIFdLU3lzdGVtUHJldmlld1ZpZXcuaCAqLzsgfTsKIAkJMzE3
RkU3QzUxQzQ4N0E2QzAwQTBDQTg5IC8qIEFQSUV4cGVyaW1lbnRhbEZlYXR1cmUuaCBpbiBIZWFk
ZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDMxN0ZFN0MyMUM0ODdBNjYw
MEEwQ0E4OSAvKiBBUElFeHBlcmltZW50YWxGZWF0dXJlLmggKi87IH07CkBAIC0zNTUwLDYgKzM1
NTEsNyBAQAogCQkzMTMxMjYxRDE0OEZGODJDMDBCQTJBMzkgLyogV2ViTm90aWZpY2F0aW9uTWFu
YWdlci5tZXNzYWdlcy5pbiAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQ7IHBhdGggPSBXZWJOb3RpZmljYXRpb25N
YW5hZ2VyLm1lc3NhZ2VzLmluOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkzMTQ4ODhG
RTFEOTFCMTFEMDAzNzcwNDIgLyogV0tUZXh0Q2hlY2tlci5jcHAgKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmNwcC5jcHA7IHBhdGggPSBXS1RleHRDaGVja2VyLmNwcDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKIAkJMzE0ODg4RkYxRDkxQjExRDAwMzc3MDQyIC8qIFdLVGV4dENoZWNrZXIuaCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gV0tUZXh0Q2hlY2tlci5oOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OworCQkzMTU1RUUwQzI2NzNGNEVGMDA4NUU1OUEgLyogVmlzaW9u
S2l0U1BJLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFZpc2lvbktpdFNQSS5o
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkzMTU3MTM1QzIwNDBBOUIyMDA4NEY5Q0Yg
LyogU3lzdGVtUHJldmlld0NvbnRyb2xsZXJDb2NvYS5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9
IFN5c3RlbVByZXZpZXdDb250cm9sbGVyQ29jb2EubW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CiAJCTMxNTcxMzVEMjA0MEE5QjIwMDg0RjlDRiAvKiBTeXN0ZW1QcmV2aWV3Q29udHJvbGxl
ci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jLmg7IHBhdGggPSBTeXN0ZW1QcmV2aWV3Q29udHJvbGxlci5oOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OwogCQkzMTYwN0YzODE5NjI3MDAyMDA5Qjg3REEgLyogTGVnYWN5U2Vz
c2lvblN0YXRlQ29kaW5nLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29k
aW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IExlZ2Fj
eVNlc3Npb25TdGF0ZUNvZGluZy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtNzkw
OCw2ICs3OTEwLDcgQEAKIAkJMzc1NEQ1NDExQjNBMjk5ODAwM0E0QzdGIC8qIENvY29hICovID0g
ewogCQkJaXNhID0gUEJYR3JvdXA7CiAJCQljaGlsZHJlbiA9ICgKKwkJCQkzMTU1RUUwQzI2NzNG
NEVGMDA4NUU1OUEgLyogVmlzaW9uS2l0U1BJLmggKi8sCiAJCQkJRTNDQUFBNDMyNDEzMjc4QTAw
Q0VEMkUyIC8qIEFjY2Vzc2liaWxpdHlTdXBwb3J0U1BJLmggKi8sCiAJCQkJNTcyRUJCREMyNTM5
MjE4MTAwMDU1MkIzIC8qIEFwcEF0dGVzdFNQSS5oICovLAogCQkJCTU3RkFCQjBFMjU4MTdDRjAw
MDU5REM5NSAvKiBBdXRoZW50aWNhdGlvblNlcnZpY2VzQ29yZVNQSS5oICovLApAQCAtMTIwMzUs
NiArMTIwMzgsNyBAQAogCQkJCTkzQjI2MTRFMjI3RDE0QjEwMEI5N0E3NiAvKiBMb2NhbFN0b3Jh
Z2VEYXRhYmFzZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJOTNCMjYxNEYyMjdEMTRCMTAwQjk3QTc2
IC8qIExvY2FsU3RvcmFnZURhdGFiYXNlVHJhY2tlci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNDZC
RUI2REIyMkZCOUQ0ODAwMjY5ODY3IC8qIExvY2FsU3RvcmFnZU5hbWVzcGFjZS5oIGluIEhlYWRl
cnMgKi8sCisJCQkJMzE1NUVFMEQyNjczRjRGMDAwODVFNTlBIC8qIFZpc2lvbktpdFNQSS5oIGlu
IEhlYWRlcnMgKi8sCiAJCQkJNTFBN0YyRjMxMjVCRjgyMDAwOEFFQjFEIC8qIExvZ2dpbmcuaCBp
biBIZWFkZXJzICovLAogCQkJCTBGRENEN0Y3MUQ0N0U5MkEwMDlGMDhCQyAvKiBMb2dJbml0aWFs
aXphdGlvbi5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMUE2RDg2QzIxREY3NTI2NTAwNzc0NUU4IC8q
IE1hY2hNZXNzYWdlLmggaW4gSGVhZGVycyAqLywKSW5kZXg6IFRvb2xzL0NoYW5nZUxvZwo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBUb29scy9DaGFuZ2VMb2cJKHJldmlzaW9uIDI3ODc3NCkKKysrIFRvb2xzL0No
YW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE2IEBACisyMDIxLTA2LTExICBKb25h
dGhhbiBCZWRhcmQgIDxqYmVkYXJkQGFwcGxlLmNvbT4KKworICAgICAgICBbTW9udGVyZXldIFN1
cHBvcnQgYnVpbGRpbmcgV2ViS2l0CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD0yMjY4NDYKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzc5MDk1MTQ4Pgor
CisgICAgICAgIFJldmlld2VkIGJ5IFRpbSBIb3J0b24uCisKKyAgICAgICAgKiBUZXN0V2ViS2l0
QVBJL1Rlc3RXZWJLaXRBUEkueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvajogQWRkIENvcmVDcnlw
dG9TUEkuaC4KKyAgICAgICAgKiBUZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYkNvcmUvY29jb2EvQ29y
ZUNyeXB0b1NQSS5oOiBBZGRlZC4KKyAgICAgICAgKiBUZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYkNv
cmUvY29jb2EvUHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnRDb2NvYS5tbTogSW1wb3J0IENvcmVDcnlw
dG9TUEkuaC4KKyAgICAgICAgKiBUZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdENvY29hL0V2ZW50
QXR0cmlidXRpb24ubW06IERpdHRvLgorCiAyMDIxLTA2LTExICBKb25hdGhhbiBCZWRhcmQgIDxq
YmVkYXJkQGFwcGxlLmNvbT4KIAogICAgICAgICBbY2hlY2std2Via2l0LXN0eWxlXSBmYWlsaW5n
IGluIEpTIGNoZWNrZXIgZHVlIHRvIHB5dGhvbiBieXRlIHN0cmluZwpJbmRleDogVG9vbHMvVGVz
dFdlYktpdEFQSS9UZXN0V2ViS2l0QVBJLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0V2ViS2l0QVBJLnhjb2RlcHJvai9wcm9q
ZWN0LnBieHByb2oJKHJldmlzaW9uIDI3ODc3NCkKKysrIFRvb2xzL1Rlc3RXZWJLaXRBUEkvVGVz
dFdlYktpdEFQSS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCSh3b3JraW5nIGNvcHkpCkBAIC0y
MDAxLDYgKzIwMDEsNyBAQAogCQkzMUI3NkU0NDIzMjk5QkEzMDA3RkVEMkMgLyogc3lzdGVtLXBy
ZXZpZXctdHJpZ2dlci5odG1sICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93
bkZpbGVUeXBlID0gdGV4dC5odG1sOyBwYXRoID0gInN5c3RlbS1wcmV2aWV3LXRyaWdnZXIuaHRt
bCI7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTMxRTlCREEwMjQ3RjRDNjIwMDJFNTFB
MiAvKiBXZWJHTFByZXBhcmVEaXNwbGF5T25XZWJUaHJlYWQubW0gKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBh
dGggPSBXZWJHTFByZXBhcmVEaXNwbGF5T25XZWJUaHJlYWQubW07IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CiAJCTMxRTlCREEyMjQ3RjRERDAwMDJFNTFBMiAvKiB3ZWJnbC5odG1sICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dC5odG1sOyBw
YXRoID0gd2ViZ2wuaHRtbDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMzFGODY1RTUy
NjcwMUU3MzAwM0JGQzZEIC8qIENvcmVDcnlwdG9TUEkuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gQ29yZUNy
eXB0b1NQSS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkzMzNCOUNFMTEyNzdGMjMx
MDBGRUZDRTMgLyogUHJldmVudEVtcHR5VXNlckFnZW50LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuY3BwLmNwcDsgcGF0aCA9IFByZXZlbnRFbXB0eVVzZXJBZ2VudC5jcHA7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CiAJCTMzOTc2RDgyMjREQzQ3OUIwMDgxMjMwNCAvKiBJbmRleFNwYXJz
ZVNldC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBJbmRleFNwYXJz
ZVNldC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTMzQkU1QUY0MTM3QjVBNkMw
MDcwNTgxMyAvKiBNb3VzZU1vdmVBZnRlckNyYXNoLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Y3BwLmNwcDsgcGF0aCA9IE1vdXNlTW92ZUFmdGVyQ3Jhc2guY3BwOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OwpAQCAtNDg2NSw2ICs0ODY2LDcgQEAKIAkJCWlzYSA9IFBCWEdyb3VwOwogCQkJ
Y2hpbGRyZW4gPSAoCiAJCQkJMDcxMURGNTEyMjZBOTVGQjAwM0REMkY3IC8qIEFWRm91bmRhdGlv
blNvZnRMaW5rVGVzdC5tbSAqLywKKwkJCQkzMUY4NjVFNTI2NzAxRTczMDAzQkZDNkQgLyogQ29y
ZUNyeXB0b1NQSS5oICovLAogCQkJCTc1MUIwNUQ1MUY4RUFDMUEwMDI4QTA5RSAvKiBEYXRhYmFz
ZVRyYWNrZXJUZXN0Lm1tICovLAogCQkJCTU3RjFDOTEwMjVEREQ1MTkwMEU4RjZFQSAvKiBQcml2
YXRlQ2xpY2tNZWFzdXJlbWVudENvY29hLm1tICovLAogCQkJCTU3NjlDNTBBMUQ5QjAwMDEwMDA4
NDdGQiAvKiBTZXJpYWxpemVkQ3J5cHRvS2V5V3JhcC5tbSAqLywKSW5kZXg6IFRvb2xzL1Rlc3RX
ZWJLaXRBUEkvVGVzdHMvV2ViQ29yZS9jb2NvYS9Db3JlQ3J5cHRvU1BJLmgKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJDb3JlL2NvY29hL0NvcmVDcnlwdG9TUEku
aAkobm9uZXhpc3RlbnQpCisrKyBUb29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYkNvcmUvY29j
b2EvQ29yZUNyeXB0b1NQSS5oCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMTcyIEBACisvKgor
ICogQ29weXJpZ2h0IChDKSAyMDIxIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAq
CisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3
aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0
aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJp
YnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Cisg
KiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRp
c2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXBy
b2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29u
ZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1l
bnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1
dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5E
IElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElF
RCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBM
SUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJ
Q1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExF
IElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJ
TkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVO
VElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQg
T0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBP
UiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBB
TkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBT
VFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJ
U0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FS
RSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0Uu
CisgKi8KKworI3ByYWdtYSBvbmNlCisKK2V4dGVybiAiQyIgeworCisjaWYgVVNFKEFQUExFX0lO
VEVSTkFMX1NESykKKworI2luY2x1ZGUgPGNvcmVjcnlwdG8vY2NfcHJpdi5oPgorI2luY2x1ZGUg
PGNvcmVjcnlwdG8vY2NybmcuaD4KKyNpbmNsdWRlIDxjb3JlY3J5cHRvL2NjcnNhLmg+CisjaW5j
bHVkZSA8Y29yZWNyeXB0by9jY3JzYWJzc2EuaD4KKworI2Vsc2UKKwordHlwZWRlZiBzaXplX3Qg
Y2Nfc2l6ZTsKKworI2lmIGRlZmluZWQoX19hcm02NF9fKSB8fCBkZWZpbmVkKF9feDg2XzY0X18p
ICB8fCBkZWZpbmVkKF9XSU42NCkKKyNkZWZpbmUgQ0NOX1VOSVRfU0laRSAgOAordHlwZWRlZiB1
aW50NjRfdCBjY191bml0OworI2RlZmluZSBDQ05fTE9HMl9CSVRTX1BFUl9VTklUIDYKKyNlbGlm
IGRlZmluZWQoX19hcm1fXykgfHwgZGVmaW5lZChfX2kzODZfXykgfHwgZGVmaW5lZChfV0lOMzIp
CisjZGVmaW5lIENDTl9VTklUX1NJWkUgIDQKK3R5cGVkZWYgdWludDMyX3QgY2NfdW5pdDsKKyNk
ZWZpbmUgQ0NOX0xPRzJfQklUU19QRVJfVU5JVCA1CisjZWxzZQorI2Vycm9yIHVuZGVmaW5lZCBh
cmNoaXRlY3R1cmUKKyNlbmRpZgorCisvLyBUZW1wb3JhcnkgVkxBIHdhcm5pbmcgb3B0LW91dHMg
dG8gaGVscCB0cmFuc2l0aW9uIGF3YXkgZnJvbSBWTEFzLgorI2RlZmluZSBDQ19JR05PUkVfVkxB
X1dBUk5JTkdTIFwKKyAgICBfUHJhZ21hKCJHQ0MgZGlhZ25vc3RpYyBwdXNoIikgXAorICAgIF9Q
cmFnbWEoIkdDQyBkaWFnbm9zdGljIGlnbm9yZWQgXCItV3ZsYVwiIikKKyNkZWZpbmUgQ0NfUkVT
VE9SRV9WTEFfV0FSTklOR1MgXAorICAgIF9QcmFnbWEoIkdDQyBkaWFnbm9zdGljIHBvcCIpCisK
KyNpZiBfX2hhc19mZWF0dXJlKHB0cmF1dGhfY2FsbHMpICYmIChDQ19LRVJORUwgfHwgQ0NfVVNF
X0w0IHx8IENDX1VTRV9TRVBST00pCisjaW5jbHVkZSA8cHRyYXV0aC5oPgorI2RlZmluZSBDQ19T
UFRSKF9zbl8sIF9uXykgXAorICAgIF9fcHRyYXV0aChwdHJhdXRoX2tleV9wcm9jZXNzX2luZGVw
ZW5kZW50X2NvZGUsIDEsIHB0cmF1dGhfc3RyaW5nX2Rpc2NyaW1pbmF0b3IoImNjXyIgI19zbl8g
I19uXykpIF9uXworI2Vsc2UKKyNkZWZpbmUgQ0NfU1BUUihfc25fLCBfbl8pIF9uXworI2VuZGlm
CisKKyNkZWZpbmUgQ0NOX1VOSVRfQklUUyAoc2l6ZW9mKGNjX3VuaXQpICo4KQorCisjZGVmaW5l
IGNjbl9zaXplb2Zfbihfbl8pIChzaXplb2YoY2NfdW5pdCkgKiAoX25fKSkKKyNkZWZpbmUgY2Nu
X25vZihfYml0c18pICgoKF9iaXRzXykgKyBDQ05fVU5JVF9CSVRTIC0gMSkgPj4gQ0NOX0xPRzJf
QklUU19QRVJfVU5JVCkKKyNkZWZpbmUgY2NuX3NpemVvZihfYml0c18pIChjY25fc2l6ZW9mX24o
Y2NuX25vZihfYml0c18pKSkKKyNkZWZpbmUgY2NuX25vZl9zaXplKF9zaXplXykgKCgoX3NpemVf
KSArIHNpemVvZihjY191bml0KSAtIDEpIC8gc2l6ZW9mKGNjX3VuaXQpKQorI2RlZmluZSBjY25f
bm9mX3NpemVvZihfZXhwcl8pIGNjbl9ub2Zfc2l6ZShzaXplb2YoX2V4cHJfKSkKKyNkZWZpbmUg
Y2NuX2JpdHNvZl9uKF9uXykgKChfbl8pICogQ0NOX1VOSVRfQklUUykKKyNkZWZpbmUgY2NuX2Jp
dHNvZl9zaXplKF9zaXplXykgKChfc2l6ZV8pICogOCkKKyNkZWZpbmUgY2NuX3NpemVvZl9zaXpl
KF9zaXplXykgY2NuX3NpemVvZl9uKGNjbl9ub2Zfc2l6ZShfc2l6ZV8pKQorCisjZGVmaW5lIGNj
X2NlaWxpbmcoYSwgYikgKCgoYSkgKyAoKGIpIC0gMSkpIC8gKGIpKQorI2RlZmluZSBjY19jdHhf
bihfdHlwZV8sIF9zaXplXykgKChfc2l6ZV8gKyBzaXplb2YoX3R5cGVfKSAtIDEpIC8gc2l6ZW9m
KF90eXBlXykpCisKK3N0cnVjdCBjY3pwX2Z1bmNzOwordHlwZWRlZiBjb25zdCBzdHJ1Y3QgY2N6
cF9mdW5jcyAqY2N6cF9mdW5jc190OworCisjaWYgZGVmaW5lZChfTVNDX1ZFUikKKyNpZiBkZWZp
bmVkKF9fY2xhbmdfXykKKyNkZWZpbmUgQ0NfQUxJR05FRCh4KSBfX2F0dHJpYnV0ZV9fICgoYWxp
Z25lZCh4KSkpCisjZWxzZQorI2RlZmluZSBDQ19BTElHTkVEKHgpIF9fZGVjbHNwZWMoYWxpZ24o
eCkpCisjZW5kaWYKKyNlbHNlCisjaWYgX19jbGFuZ19fIHx8IENDTl9VTklUX1NJWkU9PTgKKyNk
ZWZpbmUgQ0NfQUxJR05FRCh4KSBfX2F0dHJpYnV0ZV9fICgoYWxpZ25lZCh4KSkpCisjZWxzZQor
I2RlZmluZSBDQ19BTElHTkVEKHgpIF9fYXR0cmlidXRlX18gKChhbGlnbmVkKCh4KT44Pzg6KHgp
KSkpCisjZW5kaWYKKyNlbmRpZgorCisjZGVmaW5lIF9fQ0NaUF9IRUFERVJfRUxFTUVOVFNfREVG
SU5JVElPTlMocHJlKSBcCisgICAgY2Nfc2l6ZSBwcmUjI247ICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBcCisgICAgY2NfdW5pdCBwcmUjI2JpdGxlbjsgICAgICAgICAgICAgICAgICAgICAg
ICBcCisgICAgY2N6cF9mdW5jc190IHByZSMjZnVuY3M7CisKKyNkZWZpbmUgX19DQ1pQX0VMRU1F
TlRTX0RFRklOSVRJT05TKHByZSkgICAgXAorICAgIF9fQ0NaUF9IRUFERVJfRUxFTUVOVFNfREVG
SU5JVElPTlMocHJlKSBcCisgICAgY2NfdW5pdCBwcmUjI2NjbltdOworCitzdHJ1Y3QgY2N6cCB7
CisgICAgX19DQ1pQX0VMRU1FTlRTX0RFRklOSVRJT05TKCkKK30gQ0NfQUxJR05FRChDQ05fVU5J
VF9TSVpFKTsKKworc3RydWN0IGNjcnNhX2Z1bGxfY3R4IHsKKyAgICBfX0NDWlBfRUxFTUVOVFNf
REVGSU5JVElPTlMocGJfKQorfSBDQ19BTElHTkVEKENDTl9VTklUX1NJWkUpOworCitzdHJ1Y3Qg
Y2Nyc2FfcHViX2N0eCB7CisgICAgX19DQ1pQX0VMRU1FTlRTX0RFRklOSVRJT05TKHBiXykKK30g
Q0NfQUxJR05FRChDQ05fVU5JVF9TSVpFKTsKKworc3RydWN0IGNjcnNhX3ByaXZfY3R4IHsKKyAg
ICBfX0NDWlBfRUxFTUVOVFNfREVGSU5JVElPTlMocHZfKQorfSBDQ19BTElHTkVEKENDTl9VTklU
X1NJWkUpOworCit0eXBlZGVmIHN0cnVjdCBjY3JzYV9mdWxsX2N0eCogY2Nyc2FfZnVsbF9jdHhf
dDsKK3R5cGVkZWYgc3RydWN0IGNjcnNhX3B1Yl9jdHgqIGNjcnNhX3B1Yl9jdHhfdDsKK3R5cGVk
ZWYgc3RydWN0IGNjcnNhX3ByaXZfY3R4KiBjY3JzYV9wcml2X2N0eF90OworCisjaWYgZGVmaW5l
ZChfTVNDX1ZFUikKKyNkZWZpbmUgY2NfY3R4X2RlY2woX3R5cGVfLCBfc2l6ZV8sIF9uYW1lXykg
X3R5cGVfICogX25hbWVfID0gKF90eXBlXyAqKSBfYWxsb2NhKHNpemVvZihfdHlwZV8pICogY2Nf
Y3R4X24oX3R5cGVfLCBfc2l6ZV8pICkKKyNlbHNlCisjZGVmaW5lIGNjX2N0eF9kZWNsKF90eXBl
XywgX3NpemVfLCBfbmFtZV8pIFwKKyAgICBDQ19JR05PUkVfVkxBX1dBUk5JTkdTIFwKKyAgICBf
dHlwZV8gX25hbWVfW2NjX2N0eF9uKF90eXBlXywgX3NpemVfKV0gXAorICAgIENDX1JFU1RPUkVf
VkxBX1dBUk5JTkdTCisjZW5kaWYKKworI2RlZmluZSBjY3JzYV9wdWJfY3R4X3NpemUoX25ieXRl
c18pICAgKHNpemVvZihzdHJ1Y3QgY2N6cCkgKyBDQ05fVU5JVF9TSVpFICsgMyAqIChjY25fc2l6
ZW9mX3NpemUoX25ieXRlc18pKSkKKyNkZWZpbmUgY2Nyc2FfcHJpdl9jdHhfc2l6ZShfbmJ5dGVz
XykgICgoc2l6ZW9mKHN0cnVjdCBjY3pwKSArIENDTl9VTklUX1NJWkUpICogMiArIDcgKiBjY25f
c2l6ZW9mKGNjbl9iaXRzb2Zfc2l6ZShfbmJ5dGVzXykgLyAyICsgMSkpCisjZGVmaW5lIGNjcnNh
X2Z1bGxfY3R4X3NpemUoX25ieXRlc18pICAoY2Nyc2FfcHViX2N0eF9zaXplKF9uYnl0ZXNfKSAr
IGNjbl9zaXplb2Zfc2l6ZShfbmJ5dGVzXykgKyBjY3JzYV9wcml2X2N0eF9zaXplKF9uYnl0ZXNf
KSkKKworI2RlZmluZSBjY3JzYV9mdWxsX2N0eF9kZWNsKF9uYnl0ZXNfLCBfbmFtZV8pICAgY2Nf
Y3R4X2RlY2woc3RydWN0IGNjcnNhX2Z1bGxfY3R4LCBjY3JzYV9mdWxsX2N0eF9zaXplKF9uYnl0
ZXNfKSwgX25hbWVfKQorCitlbnVtIHsKKyAgICBDQ0VSUl9PSyA9IDAKK307CisKK3N0cnVjdCBj
Y3JuZ19zdGF0ZSB7CisgICAgaW50ICgqQ0NfU1BUUihjY3JuZ19zdGF0ZSwgZ2VuZXJhdGUpKShz
dHJ1Y3QgY2Nybmdfc3RhdGUgKnJuZywgc2l6ZV90IG91dGxlbiwgdm9pZCAqb3V0KTsKK307Citz
dHJ1Y3QgY2Nybmdfc3RhdGUgKmNjcm5nKGludCAqZXJyb3IpOworCitzdGF0aWMgaW5saW5lIGNj
cnNhX3B1Yl9jdHhfdCBjY3JzYV9jdHhfcHVibGljKGNjcnNhX2Z1bGxfY3R4X3QgZmspCit7Cisg
ICAgcmV0dXJuIChjY3JzYV9wdWJfY3R4X3QpIGZrOworfQorCitzaXplX3QgY2Nyc2FfcHVia2V5
bGVuZ3RoKGNjcnNhX3B1Yl9jdHhfdCBwdWJrKTsKK3NpemVfdCBjY2Rlcl9lbmNvZGVfcnNhX3B1
Yl9zaXplKGNvbnN0IGNjcnNhX3B1Yl9jdHhfdCBrZXkpOwordWludDhfdCAqY2NkZXJfZW5jb2Rl
X3JzYV9wdWIoY29uc3QgY2Nyc2FfcHViX2N0eF90IGtleSwgdWludDhfdCAqZGVyLCB1aW50OF90
ICpkZXJfZW5kKTsKK2ludCBjY3JzYV9nZW5lcmF0ZV9rZXkoc2l6ZV90IG5iaXRzLCBjY3JzYV9m
dWxsX2N0eF90IGZrLCBzaXplX3QgZV9uYnl0ZXMsIGNvbnN0IHZvaWQgKmVfYnl0ZXMsIHN0cnVj
dCBjY3JuZ19zdGF0ZSAqKTsKKworZXh0ZXJuIGNvbnN0IHN0cnVjdCBjY3JzYWJzc2FfY2lwaGVy
c3VpdGUgY2Nyc2Fic3NhX2NpcGhlcnN1aXRlX3JzYTQwOTZfc2hhMzg0OworaW50IGNjcnNhYnNz
YV9zaWduX2JsaW5kZWRfbWVzc2FnZSgKKyAgICBjb25zdCBzdHJ1Y3QgY2Nyc2Fic3NhX2NpcGhl
cnN1aXRlICosCisgICAgY29uc3QgY2Nyc2FfZnVsbF9jdHhfdCBrZXksCisgICAgY29uc3QgdWlu
dDhfdCAqIGJsaW5kZWRfbWVzc2FnZSwgY29uc3Qgc2l6ZV90IGJsaW5kZWRfbWVzc2FnZV9uYnl0
ZXMsCisgICAgdWludDhfdCAqc2lnbmF0dXJlLCBjb25zdCBzaXplX3Qgc2lnbmF0dXJlX25ieXRl
cywKKyAgICBzdHJ1Y3QgY2Nybmdfc3RhdGUgKmJsaW5kaW5nX3JuZyk7CisKKyNlbmRpZgorCit9
CkluZGV4OiBUb29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYkNvcmUvY29jb2EvUHJpdmF0ZUNs
aWNrTWVhc3VyZW1lbnRDb2NvYS5tbQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9UZXN0V2ViS2l0QVBJ
L1Rlc3RzL1dlYkNvcmUvY29jb2EvUHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnRDb2NvYS5tbQkocmV2
aXNpb24gMjc4Nzc0KQorKysgVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJDb3JlL2NvY29h
L1ByaXZhdGVDbGlja01lYXN1cmVtZW50Q29jb2EubW0JKHdvcmtpbmcgY29weSkKQEAgLTI4LDE1
ICsyOCwxMCBAQAogCiAjaWYgSEFWRShSU0FfQlNTQSkKIAotI2luY2x1ZGUgPFNlY3VyaXR5L1Nl
Y0tleVByaXYuaD4KLSNpbmNsdWRlIDxXZWJDb3JlL1ByaXZhdGVDbGlja01lYXN1cmVtZW50Lmg+
CisjaW5jbHVkZSAiQ29yZUNyeXB0b1NQSS5oIgogCi1leHRlcm4gIkMiIHsKLSNpbmNsdWRlIDxj
b3JlY3J5cHRvL2NjX3ByaXYuaD4KLSNpbmNsdWRlIDxjb3JlY3J5cHRvL2Njcm5nLmg+Ci0jaW5j
bHVkZSA8Y29yZWNyeXB0by9jY3JzYS5oPgotI2luY2x1ZGUgPGNvcmVjcnlwdG8vY2Nyc2Fic3Nh
Lmg+Ci19CisjaW5jbHVkZSA8V2ViQ29yZS9Qcml2YXRlQ2xpY2tNZWFzdXJlbWVudC5oPgorI2lu
Y2x1ZGUgPHd0Zi9zcGkvY29jb2EvU2VjdXJpdHlTUEkuaD4KIAogdXNpbmcgbmFtZXNwYWNlIFdl
YkNvcmU7CiAKSW5kZXg6IFRvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0Q29jb2EvRXZl
bnRBdHRyaWJ1dGlvbi5tbQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9UZXN0V2ViS2l0QVBJL1Rlc3Rz
L1dlYktpdENvY29hL0V2ZW50QXR0cmlidXRpb24ubW0JKHJldmlzaW9uIDI3ODc3NCkKKysrIFRv
b2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0Q29jb2EvRXZlbnRBdHRyaWJ1dGlvbi5tbQko
d29ya2luZyBjb3B5KQpAQCAtMzcsMTUgKzM3LDExIEBACiAKICNpZiBIQVZFKFJTQV9CU1NBKQog
CisjaW5jbHVkZSAiQ29yZUNyeXB0b1NQSS5oIgorCiAjaW5jbHVkZSA8U2VjdXJpdHkvU2VjS2V5
UHJpdi5oPgogI2luY2x1ZGUgPFdlYkNvcmUvUHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnQuaD4KLQot
ZXh0ZXJuICJDIiB7Ci0jaW5jbHVkZSA8Y29yZWNyeXB0by9jY19wcml2Lmg+Ci0jaW5jbHVkZSA8
Y29yZWNyeXB0by9jY3JuZy5oPgotI2luY2x1ZGUgPGNvcmVjcnlwdG8vY2Nyc2EuaD4KLSNpbmNs
dWRlIDxjb3JlY3J5cHRvL2NjcnNhYnNzYS5oPgotfQorI2luY2x1ZGUgPHd0Zi9zcGkvY29jb2Ev
U2VjdXJpdHlTUEkuaD4KIAogI2VuZGlmIC8vIEhBVkUoUlNBX0JTU0EpCiAK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>431285</attachid>
            <date>2021-06-13 12:36:14 -0700</date>
            <delta_ts>2021-06-14 09:33:32 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-226846-20210613123613.patch</filename>
            <type>text/plain</type>
            <size>7734</size>
            <attacher name="Jonathan Bedard">jbedard</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjc4ODE4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggODE5MGY0YmRlM2IxMTMx
MjcxZDIwM2UyN2M3OTc0MDJmYzk3OWI2ZS4uNTlkOGIxOGFlMzQ4N2RhMTkxM2UyZjlmM2MzYTFm
ZWQ0Yjc5NzNjOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE3IEBACisyMDIxLTA2LTEzICBKb25h
dGhhbiBCZWRhcmQgIDxqYmVkYXJkQGFwcGxlLmNvbT4KKworICAgICAgICBbTW9udGVyZXldIFN1
cHBvcnQgYnVpbGRpbmcgV2ViS2l0IChQYXJ0IDIpCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMjY4NDYKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzc5
MDk1MTQ4PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAg
IENvdmVyZWQgYnkgZXhpc2l0aW5nIHRlc3RzLgorCisgICAgICAgICogaHRtbC9IVE1MRWxlbWVu
dC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpIVE1MRWxlbWVudDo6dXBkYXRlV2l0aFRleHRSZWNv
Z25pdGlvblJlc3VsdCk6IEV4cGxpY2l0bHkgZGVmaW5lIHNlY29uZCBhcnVnbWVudAorICAgICAg
ICB0byBhdm9pZCAnbWlzc2luZyBmaWVsZCcgY29tcGlsYXRpb24gZXJyb3IuCisKIDIwMjEtMDYt
MTMgIEFsYW4gQnVqdGFzICA8emFsYW5AYXBwbGUuY29tPgogCiAgICAgICAgIFtMRkNdW1RGQ10g
QWRkIHN1cHBvcnQgZm9yIG92ZXItY29uc3RyYWluZWQgY2FzZXMgZm9yIGF2YWlsYWJsZSBzcGFj
ZSBkaXN0cmlidXRpb24KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1BBTC9DaGFuZ2VMb2cg
Yi9Tb3VyY2UvV2ViQ29yZS9QQUwvQ2hhbmdlTG9nCmluZGV4IDA0MzM1MDM4MmY2YzY2Y2U0ZDE3
OTFjNWRmNWQxNWIyMzk0MTM4OGUuLjE4NjI3YTE1YTc3ZTFjZjBmODQ5MWUzYWY3NzFiNmY0ODlk
NDY5OTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1BBTC9DaGFuZ2VMb2cKKysrIGIvU291
cmNlL1dlYkNvcmUvUEFML0NoYW5nZUxvZwpAQCAtMSwzICsxLDE0IEBACisyMDIxLTA2LTEzICBK
b25hdGhhbiBCZWRhcmQgIDxqYmVkYXJkQGFwcGxlLmNvbT4KKworICAgICAgICBbTW9udGVyZXld
IFN1cHBvcnQgYnVpbGRpbmcgV2ViS2l0IChQYXJ0IDIpCisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMjY4NDYKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVt
Lzc5MDk1MTQ4PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAg
ICAgICogcGFsL3NwaS9jZi9DRk5ldHdvcmtTUEkuaDogQWRkIG53X2Nvbm5lY3Rpb25fcHJpdmFj
eV9zdGFuY2VfdC4KKyAgICAgICAgKiBwYWwvc3BpL2NvY29hL1Bhc3NLaXRTUEkuaDogQWRkIFBL
UGF5bWVudENvdXBvbi4KKwogMjAyMS0wNi0xMSAgV2Vuc29uIEhzaWVoICA8d2Vuc29uX2hzaWVo
QGFwcGxlLmNvbT4KIAogICAgICAgICBbQ29jb2FdIENsZWFuIHVwIHNvbWUgVmlzaW9uS2l0Q29y
ZSBzb2Z0IGxpbmtpbmcgY29kZSBpbiBXZWJLaXQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L1BBTC9wYWwvc3BpL2NmL0NGTmV0d29ya1NQSS5oIGIvU291cmNlL1dlYkNvcmUvUEFML3BhbC9z
cGkvY2YvQ0ZOZXR3b3JrU1BJLmgKaW5kZXggZDU4OTM0YTY5ZDA3OGIzZTc0MjBmMjhkM2VlOGEx
YjI3MWI3NWM0OC4uY2NjYjZjYmZiMDM3YjFiN2VhYzc2ZDkxZWY3ODU1ZGIxNDY4NWZiOCAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvUEFML3BhbC9zcGkvY2YvQ0ZOZXR3b3JrU1BJLmgKKysr
IGIvU291cmNlL1dlYkNvcmUvUEFML3BhbC9zcGkvY2YvQ0ZOZXR3b3JrU1BJLmgKQEAgLTEyMiw2
ICsxMjIsMTYgQEAgQ0ZfRU5VTShDRkhUVFBDb29raWVTdG9yYWdlQWNjZXB0UG9saWN5KQogICAg
IENGSFRUUENvb2tpZVN0b3JhZ2VBY2NlcHRQb2xpY3lFeGNsdXNpdmVseUZyb21NYWluRG9jdW1l
bnREb21haW4gPSAzLAogfTsKIAorI2lmIEhBVkUoTkVUV09SS19DT05ORUNUSU9OX1BSSVZBQ1lf
U1RBTkNFKQordHlwZWRlZiBlbnVtIHsKKyAgICBud19jb25uZWN0aW9uX3ByaXZhY3lfc3RhbmNl
X3Vua25vd24gPSAwLAorICAgIG53X2Nvbm5lY3Rpb25fcHJpdmFjeV9zdGFuY2Vfbm90X2VsaWdp
YmxlID0gMSwKKyAgICBud19jb25uZWN0aW9uX3ByaXZhY3lfc3RhbmNlX3Byb3hpZWQgPSAyLAor
ICAgIG53X2Nvbm5lY3Rpb25fcHJpdmFjeV9zdGFuY2VfZmFpbGVkID0gMywKKyAgICBud19jb25u
ZWN0aW9uX3ByaXZhY3lfc3RhbmNlX2RpcmVjdCA9IDQsCit9IG53X2Nvbm5lY3Rpb25fcHJpdmFj
eV9zdGFuY2VfdDsKKyNlbmRpZgorCiAjaWYgZGVmaW5lZChfX09CSkNfXykKIAogQGludGVyZmFj
ZSBOU1VSTFNlc3Npb25UYXNrICgpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFs
L3NwaS9jb2NvYS9QYXNzS2l0U1BJLmggYi9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFsL3NwaS9jb2Nv
YS9QYXNzS2l0U1BJLmgKaW5kZXggYjJhMmIxYWUxZDk3MzNmM2ExZmJkYjhmMTFlMGEzYWNhNjdl
Y2M5OS4uZjA0ZmMwOWEwNTllMTNjNWVkZTkwYmE5NmM5ZjE2NDU3MzgzMDliYSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvUEFML3BhbC9zcGkvY29jb2EvUGFzc0tpdFNQSS5oCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL1BBTC9wYWwvc3BpL2NvY29hL1Bhc3NLaXRTUEkuaApAQCAtMTMyLDYgKzEz
MiwxMCBAQCB0eXBlZGVmIE5TX0VSUk9SX0VOVU0oUEtQYXltZW50RXJyb3JEb21haW4sIFBLUGF5
bWVudEVycm9yQ29kZSkgewogICAgIFBLUGF5bWVudFNoaXBwaW5nQ29udGFjdEludmFsaWRFcnJv
ciA9IDEsCiAgICAgUEtQYXltZW50QmlsbGluZ0NvbnRhY3RJbnZhbGlkRXJyb3IsCiAgICAgUEtQ
YXltZW50U2hpcHBpbmdBZGRyZXNzVW5zZXJ2aWNlYWJsZUVycm9yLAorI2lmIEhBVkUoUEFTU0tJ
VF9DT1VQT05fQ09ERSkKKyAgICBQS1BheW1lbnRDb3Vwb25Db2RlSW52YWxpZEVycm9yLAorICAg
IFBLUGF5bWVudENvdXBvbkNvZGVFeHBpcmVkRXJyb3IsCisjZW5kaWYKIH07CiAKIHR5cGVkZWYg
TlNfT1BUSU9OUyhOU1VJbnRlZ2VyLCBQS0FkZHJlc3NGaWVsZCkgewpAQCAtMjQyLDExICsyNDYs
MjkgQEAgdHlwZWRlZiBOU1N0cmluZyAqIFBLUGF5bWVudE5ldHdvcmsgTlNfRVhURU5TSUJMRV9T
VFJJTkdfRU5VTTsKIEBwcm9wZXJ0eSAobm9uYXRvbWljLCBjb3B5KSBOU0RlY2ltYWxOdW1iZXIg
KmFtb3VudDsKIEBlbmQKIAorI2lmIEhBVkUoUEFTU0tJVF9TSElQUElOR19NRVRIT0RfREFURV9D
T01QT05FTlRTX1JBTkdFKQorQGludGVyZmFjZSBQS0RhdGVDb21wb25lbnRzUmFuZ2UgOiBOU09i
amVjdCA8TlNDb3B5aW5nLCBOU1NlY3VyZUNvZGluZz4KKy0gKG51bGxhYmxlIGluc3RhbmNldHlw
ZSlpbml0V2l0aFN0YXJ0RGF0ZUNvbXBvbmVudHM6KE5TRGF0ZUNvbXBvbmVudHMgKilzdGFydERh
dGVDb21wb25lbnRzIGVuZERhdGVDb21wb25lbnRzOihOU0RhdGVDb21wb25lbnRzICopZW5kRGF0
ZUNvbXBvbmVudHM7CitAcHJvcGVydHkgKGNvcHksIHJlYWRvbmx5LCBub25hdG9taWMpIE5TRGF0
ZUNvbXBvbmVudHMgKnN0YXJ0RGF0ZUNvbXBvbmVudHM7CitAcHJvcGVydHkgKGNvcHksIHJlYWRv
bmx5LCBub25hdG9taWMpIE5TRGF0ZUNvbXBvbmVudHMgKmVuZERhdGVDb21wb25lbnRzOworQGVu
ZAorI2VuZGlmCisKIEBpbnRlcmZhY2UgUEtTaGlwcGluZ01ldGhvZCA6IFBLUGF5bWVudFN1bW1h
cnlJdGVtCiBAcHJvcGVydHkgKG5vbmF0b21pYywgY29weSwgbnVsbGFibGUpIE5TU3RyaW5nICpp
ZGVudGlmaWVyOwogQHByb3BlcnR5IChub25hdG9taWMsIGNvcHksIG51bGxhYmxlKSBOU1N0cmlu
ZyAqZGV0YWlsOworI2lmIEhBVkUoUEFTU0tJVF9TSElQUElOR19NRVRIT0RfREFURV9DT01QT05F
TlRTX1JBTkdFKQorQHByb3BlcnR5IChub25hdG9taWMsIGNvcHksIG51bGxhYmxlKSBQS0RhdGVD
b21wb25lbnRzUmFuZ2UgKmRhdGVDb21wb25lbnRzUmFuZ2U7CisjZW5kaWYKIEBlbmQKIAorI2lm
IEhBVkUoUEFTU0tJVF9TSElQUElOR19DT05UQUNUX0VESVRJTkdfTU9ERSkKK3R5cGVkZWYgTlNf
RU5VTShOU1VJbnRlZ2VyLCBQS1NoaXBwaW5nQ29udGFjdEVkaXRpbmdNb2RlKSB7CisgICAgUEtT
aGlwcGluZ0NvbnRhY3RFZGl0aW5nTW9kZUVuYWJsZWQgPSAxLAorICAgIFBLU2hpcHBpbmdDb250
YWN0RWRpdGluZ01vZGVTdG9yZVBpY2t1cAorfTsKKyNlbmRpZgorCiBAaW50ZXJmYWNlIFBLUGF5
bWVudFJlcXVlc3QgOiBOU09iamVjdAogKyAoTlNBcnJheTxQS1BheW1lbnROZXR3b3JrPiAqKWF2
YWlsYWJsZU5ldHdvcmtzOwogQHByb3BlcnR5IChub25hdG9taWMsIGNvcHkpIE5TU3RyaW5nICpj
b3VudHJ5Q29kZTsKQEAgLTI2NCw2ICsyODYsMTYgQEAgdHlwZWRlZiBOU1N0cmluZyAqIFBLUGF5
bWVudE5ldHdvcmsgTlNfRVhURU5TSUJMRV9TVFJJTkdfRU5VTTsKIEBwcm9wZXJ0eSAobm9uYXRv
bWljLCBjb3B5LCBudWxsYWJsZSkgTlNTZXQ8TlNTdHJpbmcgKj4gKnN1cHBvcnRlZENvdW50cmll
czsKIEBwcm9wZXJ0eSAobm9uYXRvbWljLCBzdHJvbmcpIE5TU2V0PFBLQ29udGFjdEZpZWxkPiAq
cmVxdWlyZWRTaGlwcGluZ0NvbnRhY3RGaWVsZHM7CiBAcHJvcGVydHkgKG5vbmF0b21pYywgc3Ry
b25nKSBOU1NldDxQS0NvbnRhY3RGaWVsZD4gKnJlcXVpcmVkQmlsbGluZ0NvbnRhY3RGaWVsZHM7
CisKKyNpZiBIQVZFKFBBU1NLSVRfQ09VUE9OX0NPREUpCitAcHJvcGVydHkgKG5vbmF0b21pYywg
YXNzaWduKSBCT09MIHN1cHBvcnRzQ291cG9uQ29kZTsKK0Bwcm9wZXJ0eSAobm9uYXRvbWljLCBj
b3B5LCBudWxsYWJsZSkgTlNTdHJpbmcgKmNvdXBvbkNvZGU7CisjZW5kaWYKKworI2lmIEhBVkUo
UEFTU0tJVF9TSElQUElOR19DT05UQUNUX0VESVRJTkdfTU9ERSkKK0Bwcm9wZXJ0eSAobm9uYXRv
bWljLCBhc3NpZ24pIFBLU2hpcHBpbmdDb250YWN0RWRpdGluZ01vZGUgc2hpcHBpbmdDb250YWN0
RWRpdGluZ01vZGU7CisjZW5kaWYKKwogQGVuZAogCiBAaW50ZXJmYWNlIFBLUGF5bWVudEF1dGhv
cml6YXRpb25WaWV3Q29udHJvbGxlciA6IE5TVmlld0NvbnRyb2xsZXIKQEAgLTQxNyw2ICs0NDks
MTAgQEAgTlNfQVNTVU1FX05PTk5VTExfQkVHSU4KIEBpbnRlcmZhY2UgUEtQYXltZW50UmVxdWVz
dFVwZGF0ZSA6IE5TT2JqZWN0CiAtIChpbnN0YW5jZXR5cGUpaW5pdFdpdGhQYXltZW50U3VtbWFy
eUl0ZW1zOihOU0FycmF5PFBLUGF5bWVudFN1bW1hcnlJdGVtICo+ICopcGF5bWVudFN1bW1hcnlJ
dGVtczsKIEBwcm9wZXJ0eSAobm9uYXRvbWljLCBjb3B5KSBOU0FycmF5PFBLUGF5bWVudFN1bW1h
cnlJdGVtICo+ICpwYXltZW50U3VtbWFyeUl0ZW1zOworI2lmIEhBVkUoUEFTU0tJVF9DT1VQT05f
Q09ERSkKK0Bwcm9wZXJ0eSAobm9uYXRvbWljLCBjb3B5KSBOU0FycmF5PFBLU2hpcHBpbmdNZXRo
b2QgKj4gKnNoaXBwaW5nTWV0aG9kczsKKyNlbmRpZgorCiBAZW5kCiAKIEBpbnRlcmZhY2UgUEtQ
YXltZW50UmVxdWVzdFBheW1lbnRNZXRob2RVcGRhdGUgOiBQS1BheW1lbnRSZXF1ZXN0VXBkYXRl
CkBAIC00MzAsNiArNDY2LDEyIEBAIE5TX0FTU1VNRV9OT05OVUxMX0JFR0lOCiBAaW50ZXJmYWNl
IFBLUGF5bWVudFJlcXVlc3RTaGlwcGluZ01ldGhvZFVwZGF0ZSA6IFBLUGF5bWVudFJlcXVlc3RV
cGRhdGUKIEBlbmQKIAorI2lmIEhBVkUoUEFTU0tJVF9DT1VQT05fQ09ERSkKK0BpbnRlcmZhY2Ug
UEtQYXltZW50UmVxdWVzdENvdXBvbkNvZGVVcGRhdGUgOiBQS1BheW1lbnRSZXF1ZXN0VXBkYXRl
CistIChpbnN0YW5jZXR5cGUpaW5pdFdpdGhFcnJvcnM6KG51bGxhYmxlIE5TQXJyYXk8TlNFcnJv
ciAqPiAqKWVycm9ycyBwYXltZW50U3VtbWFyeUl0ZW1zOihOU0FycmF5PFBLUGF5bWVudFN1bW1h
cnlJdGVtICo+ICopcGF5bWVudFN1bW1hcnlJdGVtcyBzaGlwcGluZ01ldGhvZHM6KE5TQXJyYXk8
UEtTaGlwcGluZ01ldGhvZCAqPiAqKXNoaXBwaW5nTWV0aG9kczsKK0BlbmQKKyNlbmRpZgorCiBO
U19BU1NVTUVfTk9OTlVMTF9FTkQKIAogI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9odG1sL0hUTUxFbGVtZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEVsZW1lbnQu
Y3BwCmluZGV4IDkyMTdjYzc1MDc2ZWFkNTE5MWE5Zjg2YzM2ZTY1MTRlNzIwYzQ4ZDYuLjJkMWU2
ZTYxNWI0MTBlZmE1OWVlOWFkODUxNjNjODk1ODY1MDQxNmYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL2h0bWwvSFRNTEVsZW1lbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRN
TEVsZW1lbnQuY3BwCkBAIC0xMzc0LDcgKzEzNzQsNyBAQCB2b2lkIEhUTUxFbGVtZW50Ojp1cGRh
dGVXaXRoVGV4dFJlY29nbml0aW9uUmVzdWx0KGNvbnN0IFRleHRSZWNvZ25pdGlvblJlc3VsdCYg
cgogICAgICAgICAgICAgICAgIGNvbnRpbnVlOwogCiAgICAgICAgICAgICBpZiAobGluZU9yRGF0
YURldGVjdG9yLmNsYXNzTGlzdCgpLmNvbnRhaW5zKGltYWdlT3ZlcmxheUxpbmVDbGFzcykpIHsK
LSAgICAgICAgICAgICAgICBUZXh0UmVjb2duaXRpb25MaW5lRWxlbWVudHMgbGluZUVsZW1lbnRz
IHsgbGluZU9yRGF0YURldGVjdG9yIH07CisgICAgICAgICAgICAgICAgVGV4dFJlY29nbml0aW9u
TGluZUVsZW1lbnRzIGxpbmVFbGVtZW50cyB7IGxpbmVPckRhdGFEZXRlY3RvciwgVmVjdG9yPFJl
ZjxIVE1MRGl2RWxlbWVudD4+KCkgfTsKICAgICAgICAgICAgICAgICBmb3IgKGF1dG8mIHRleHQg
OiBjaGlsZHJlbk9mVHlwZTxIVE1MRGl2RWxlbWVudD4obGluZU9yRGF0YURldGVjdG9yKSkKICAg
ICAgICAgICAgICAgICAgICAgbGluZUVsZW1lbnRzLmNoaWxkcmVuLmFwcGVuZCh0ZXh0KTsKICAg
ICAgICAgICAgICAgICB0ZXh0UmVjb2duaXRpb25FbGVtZW50cy5saW5lcy5hcHBlbmQoV1RGTW92
ZShsaW5lRWxlbWVudHMpKTsKQEAgLTE0MjcsNyArMTQyNyw3IEBAIHZvaWQgSFRNTEVsZW1lbnQ6
OnVwZGF0ZVdpdGhUZXh0UmVjb2duaXRpb25SZXN1bHQoY29uc3QgVGV4dFJlY29nbml0aW9uUmVz
dWx0JiByCiAgICAgICAgICAgICBhdXRvIGxpbmVDb250YWluZXIgPSBIVE1MRGl2RWxlbWVudDo6
Y3JlYXRlKGRvY3VtZW50KCkpOwogICAgICAgICAgICAgbGluZUNvbnRhaW5lci0+Y2xhc3NMaXN0
KCkuYWRkKGltYWdlT3ZlcmxheUxpbmVDbGFzcyk7CiAgICAgICAgICAgICByb290Q29udGFpbmVy
LT5hcHBlbmRDaGlsZChsaW5lQ29udGFpbmVyKTsKLSAgICAgICAgICAgIFRleHRSZWNvZ25pdGlv
bkxpbmVFbGVtZW50cyBsaW5lRWxlbWVudHMgeyBsaW5lQ29udGFpbmVyIH07CisgICAgICAgICAg
ICBUZXh0UmVjb2duaXRpb25MaW5lRWxlbWVudHMgbGluZUVsZW1lbnRzIHsgbGluZUNvbnRhaW5l
ciwgVmVjdG9yPFJlZjxIVE1MRGl2RWxlbWVudD4+KCkgfTsKICAgICAgICAgICAgIGxpbmVFbGVt
ZW50cy5jaGlsZHJlbi5yZXNlcnZlSW5pdGlhbENhcGFjaXR5KGxpbmUuY2hpbGRyZW4uc2l6ZSgp
KTsKICAgICAgICAgICAgIGZvciAoc2l6ZV90IGNoaWxkSW5kZXggPSAwOyBjaGlsZEluZGV4IDwg
bGluZS5jaGlsZHJlbi5zaXplKCk7ICsrY2hpbGRJbmRleCkgewogICAgICAgICAgICAgICAgIGF1
dG8mIGNoaWxkID0gbGluZS5jaGlsZHJlbltjaGlsZEluZGV4XTsK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>431338</attachid>
            <date>2021-06-14 09:33:36 -0700</date>
            <delta_ts>2021-06-15 10:32:17 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-226846-20210614093335.patch</filename>
            <type>text/plain</type>
            <size>7664</size>
            <attacher name="Jonathan Bedard">jbedard</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjc4ODIxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMzU4Y2EyMzBmMmZlMTZm
MjExNjNlN2VmMGIxMmY2ZGU1MjFjOWVjNC4uZWNjNDIzZGRkZGYyNzM2NDVmMDFlNzJlNzZjNjk3
N2Y3NWM1MDdhOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE3IEBACisyMDIxLTA2LTEzICBKb25h
dGhhbiBCZWRhcmQgIDxqYmVkYXJkQGFwcGxlLmNvbT4KKworICAgICAgICBbTW9udGVyZXldIFN1
cHBvcnQgYnVpbGRpbmcgV2ViS2l0IChQYXJ0IDIpCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMjY4NDYKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzc5
MDk1MTQ4PgorCisgICAgICAgIFJldmlld2VkIGJ5IENocmlzIER1bWV6LgorCisgICAgICAgIENv
dmVyZWQgYnkgZXhpc2l0aW5nIHRlc3RzLgorCisgICAgICAgICogaHRtbC9IVE1MRWxlbWVudC5j
cHA6CisgICAgICAgIChXZWJDb3JlOjpIVE1MRWxlbWVudDo6dXBkYXRlV2l0aFRleHRSZWNvZ25p
dGlvblJlc3VsdCk6IEV4cGxpY2l0bHkgZGVmaW5lIHNlY29uZCBhcnVnbWVudAorICAgICAgICB0
byBhdm9pZCAnbWlzc2luZyBmaWVsZCcgY29tcGlsYXRpb24gZXJyb3IuCisKIDIwMjEtMDYtMTMg
IENocmlzIER1bWV6ICA8Y2R1bWV6QGFwcGxlLmNvbT4KIAogICAgICAgICBSZWxheCAicGFyZW50
IG11c3QgYmUgYW4gSFRNTEVsZW1lbnQiIHJlc3RyaWN0aW9uIGluIG91dGVySFRNTCBzZXR0ZXIK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1BBTC9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29y
ZS9QQUwvQ2hhbmdlTG9nCmluZGV4IDA0MzM1MDM4MmY2YzY2Y2U0ZDE3OTFjNWRmNWQxNWIyMzk0
MTM4OGUuLjg2NDUwY2JhNmU3NDFlZjdhMmI3MmRiMmRkNzZmYTZkYTczZWQxODAgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL1BBTC9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvUEFM
L0NoYW5nZUxvZwpAQCAtMSwzICsxLDE0IEBACisyMDIxLTA2LTEzICBKb25hdGhhbiBCZWRhcmQg
IDxqYmVkYXJkQGFwcGxlLmNvbT4KKworICAgICAgICBbTW9udGVyZXldIFN1cHBvcnQgYnVpbGRp
bmcgV2ViS2l0IChQYXJ0IDIpCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD0yMjY4NDYKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzc5MDk1MTQ4PgorCisg
ICAgICAgIFJldmlld2VkIGJ5IENocmlzIER1bWV6LgorCisgICAgICAgICogcGFsL3NwaS9jZi9D
Rk5ldHdvcmtTUEkuaDogQWRkIG53X2Nvbm5lY3Rpb25fcHJpdmFjeV9zdGFuY2VfdC4KKyAgICAg
ICAgKiBwYWwvc3BpL2NvY29hL1Bhc3NLaXRTUEkuaDogQWRkIFBLUGF5bWVudENvdXBvbi4KKwog
MjAyMS0wNi0xMSAgV2Vuc29uIEhzaWVoICA8d2Vuc29uX2hzaWVoQGFwcGxlLmNvbT4KIAogICAg
ICAgICBbQ29jb2FdIENsZWFuIHVwIHNvbWUgVmlzaW9uS2l0Q29yZSBzb2Z0IGxpbmtpbmcgY29k
ZSBpbiBXZWJLaXQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1BBTC9wYWwvc3BpL2NmL0NG
TmV0d29ya1NQSS5oIGIvU291cmNlL1dlYkNvcmUvUEFML3BhbC9zcGkvY2YvQ0ZOZXR3b3JrU1BJ
LmgKaW5kZXggZDU4OTM0YTY5ZDA3OGIzZTc0MjBmMjhkM2VlOGExYjI3MWI3NWM0OC4uY2NjYjZj
YmZiMDM3YjFiN2VhYzc2ZDkxZWY3ODU1ZGIxNDY4NWZiOCAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvUEFML3BhbC9zcGkvY2YvQ0ZOZXR3b3JrU1BJLmgKKysrIGIvU291cmNlL1dlYkNvcmUv
UEFML3BhbC9zcGkvY2YvQ0ZOZXR3b3JrU1BJLmgKQEAgLTEyMiw2ICsxMjIsMTYgQEAgQ0ZfRU5V
TShDRkhUVFBDb29raWVTdG9yYWdlQWNjZXB0UG9saWN5KQogICAgIENGSFRUUENvb2tpZVN0b3Jh
Z2VBY2NlcHRQb2xpY3lFeGNsdXNpdmVseUZyb21NYWluRG9jdW1lbnREb21haW4gPSAzLAogfTsK
IAorI2lmIEhBVkUoTkVUV09SS19DT05ORUNUSU9OX1BSSVZBQ1lfU1RBTkNFKQordHlwZWRlZiBl
bnVtIHsKKyAgICBud19jb25uZWN0aW9uX3ByaXZhY3lfc3RhbmNlX3Vua25vd24gPSAwLAorICAg
IG53X2Nvbm5lY3Rpb25fcHJpdmFjeV9zdGFuY2Vfbm90X2VsaWdpYmxlID0gMSwKKyAgICBud19j
b25uZWN0aW9uX3ByaXZhY3lfc3RhbmNlX3Byb3hpZWQgPSAyLAorICAgIG53X2Nvbm5lY3Rpb25f
cHJpdmFjeV9zdGFuY2VfZmFpbGVkID0gMywKKyAgICBud19jb25uZWN0aW9uX3ByaXZhY3lfc3Rh
bmNlX2RpcmVjdCA9IDQsCit9IG53X2Nvbm5lY3Rpb25fcHJpdmFjeV9zdGFuY2VfdDsKKyNlbmRp
ZgorCiAjaWYgZGVmaW5lZChfX09CSkNfXykKIAogQGludGVyZmFjZSBOU1VSTFNlc3Npb25UYXNr
ICgpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFsL3NwaS9jb2NvYS9QYXNzS2l0
U1BJLmggYi9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFsL3NwaS9jb2NvYS9QYXNzS2l0U1BJLmgKaW5k
ZXggYjJhMmIxYWUxZDk3MzNmM2ExZmJkYjhmMTFlMGEzYWNhNjdlY2M5OS4uZjA0ZmMwOWEwNTll
MTNjNWVkZTkwYmE5NmM5ZjE2NDU3MzgzMDliYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
UEFML3BhbC9zcGkvY29jb2EvUGFzc0tpdFNQSS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL1BBTC9w
YWwvc3BpL2NvY29hL1Bhc3NLaXRTUEkuaApAQCAtMTMyLDYgKzEzMiwxMCBAQCB0eXBlZGVmIE5T
X0VSUk9SX0VOVU0oUEtQYXltZW50RXJyb3JEb21haW4sIFBLUGF5bWVudEVycm9yQ29kZSkgewog
ICAgIFBLUGF5bWVudFNoaXBwaW5nQ29udGFjdEludmFsaWRFcnJvciA9IDEsCiAgICAgUEtQYXlt
ZW50QmlsbGluZ0NvbnRhY3RJbnZhbGlkRXJyb3IsCiAgICAgUEtQYXltZW50U2hpcHBpbmdBZGRy
ZXNzVW5zZXJ2aWNlYWJsZUVycm9yLAorI2lmIEhBVkUoUEFTU0tJVF9DT1VQT05fQ09ERSkKKyAg
ICBQS1BheW1lbnRDb3Vwb25Db2RlSW52YWxpZEVycm9yLAorICAgIFBLUGF5bWVudENvdXBvbkNv
ZGVFeHBpcmVkRXJyb3IsCisjZW5kaWYKIH07CiAKIHR5cGVkZWYgTlNfT1BUSU9OUyhOU1VJbnRl
Z2VyLCBQS0FkZHJlc3NGaWVsZCkgewpAQCAtMjQyLDExICsyNDYsMjkgQEAgdHlwZWRlZiBOU1N0
cmluZyAqIFBLUGF5bWVudE5ldHdvcmsgTlNfRVhURU5TSUJMRV9TVFJJTkdfRU5VTTsKIEBwcm9w
ZXJ0eSAobm9uYXRvbWljLCBjb3B5KSBOU0RlY2ltYWxOdW1iZXIgKmFtb3VudDsKIEBlbmQKIAor
I2lmIEhBVkUoUEFTU0tJVF9TSElQUElOR19NRVRIT0RfREFURV9DT01QT05FTlRTX1JBTkdFKQor
QGludGVyZmFjZSBQS0RhdGVDb21wb25lbnRzUmFuZ2UgOiBOU09iamVjdCA8TlNDb3B5aW5nLCBO
U1NlY3VyZUNvZGluZz4KKy0gKG51bGxhYmxlIGluc3RhbmNldHlwZSlpbml0V2l0aFN0YXJ0RGF0
ZUNvbXBvbmVudHM6KE5TRGF0ZUNvbXBvbmVudHMgKilzdGFydERhdGVDb21wb25lbnRzIGVuZERh
dGVDb21wb25lbnRzOihOU0RhdGVDb21wb25lbnRzICopZW5kRGF0ZUNvbXBvbmVudHM7CitAcHJv
cGVydHkgKGNvcHksIHJlYWRvbmx5LCBub25hdG9taWMpIE5TRGF0ZUNvbXBvbmVudHMgKnN0YXJ0
RGF0ZUNvbXBvbmVudHM7CitAcHJvcGVydHkgKGNvcHksIHJlYWRvbmx5LCBub25hdG9taWMpIE5T
RGF0ZUNvbXBvbmVudHMgKmVuZERhdGVDb21wb25lbnRzOworQGVuZAorI2VuZGlmCisKIEBpbnRl
cmZhY2UgUEtTaGlwcGluZ01ldGhvZCA6IFBLUGF5bWVudFN1bW1hcnlJdGVtCiBAcHJvcGVydHkg
KG5vbmF0b21pYywgY29weSwgbnVsbGFibGUpIE5TU3RyaW5nICppZGVudGlmaWVyOwogQHByb3Bl
cnR5IChub25hdG9taWMsIGNvcHksIG51bGxhYmxlKSBOU1N0cmluZyAqZGV0YWlsOworI2lmIEhB
VkUoUEFTU0tJVF9TSElQUElOR19NRVRIT0RfREFURV9DT01QT05FTlRTX1JBTkdFKQorQHByb3Bl
cnR5IChub25hdG9taWMsIGNvcHksIG51bGxhYmxlKSBQS0RhdGVDb21wb25lbnRzUmFuZ2UgKmRh
dGVDb21wb25lbnRzUmFuZ2U7CisjZW5kaWYKIEBlbmQKIAorI2lmIEhBVkUoUEFTU0tJVF9TSElQ
UElOR19DT05UQUNUX0VESVRJTkdfTU9ERSkKK3R5cGVkZWYgTlNfRU5VTShOU1VJbnRlZ2VyLCBQ
S1NoaXBwaW5nQ29udGFjdEVkaXRpbmdNb2RlKSB7CisgICAgUEtTaGlwcGluZ0NvbnRhY3RFZGl0
aW5nTW9kZUVuYWJsZWQgPSAxLAorICAgIFBLU2hpcHBpbmdDb250YWN0RWRpdGluZ01vZGVTdG9y
ZVBpY2t1cAorfTsKKyNlbmRpZgorCiBAaW50ZXJmYWNlIFBLUGF5bWVudFJlcXVlc3QgOiBOU09i
amVjdAogKyAoTlNBcnJheTxQS1BheW1lbnROZXR3b3JrPiAqKWF2YWlsYWJsZU5ldHdvcmtzOwog
QHByb3BlcnR5IChub25hdG9taWMsIGNvcHkpIE5TU3RyaW5nICpjb3VudHJ5Q29kZTsKQEAgLTI2
NCw2ICsyODYsMTYgQEAgdHlwZWRlZiBOU1N0cmluZyAqIFBLUGF5bWVudE5ldHdvcmsgTlNfRVhU
RU5TSUJMRV9TVFJJTkdfRU5VTTsKIEBwcm9wZXJ0eSAobm9uYXRvbWljLCBjb3B5LCBudWxsYWJs
ZSkgTlNTZXQ8TlNTdHJpbmcgKj4gKnN1cHBvcnRlZENvdW50cmllczsKIEBwcm9wZXJ0eSAobm9u
YXRvbWljLCBzdHJvbmcpIE5TU2V0PFBLQ29udGFjdEZpZWxkPiAqcmVxdWlyZWRTaGlwcGluZ0Nv
bnRhY3RGaWVsZHM7CiBAcHJvcGVydHkgKG5vbmF0b21pYywgc3Ryb25nKSBOU1NldDxQS0NvbnRh
Y3RGaWVsZD4gKnJlcXVpcmVkQmlsbGluZ0NvbnRhY3RGaWVsZHM7CisKKyNpZiBIQVZFKFBBU1NL
SVRfQ09VUE9OX0NPREUpCitAcHJvcGVydHkgKG5vbmF0b21pYywgYXNzaWduKSBCT09MIHN1cHBv
cnRzQ291cG9uQ29kZTsKK0Bwcm9wZXJ0eSAobm9uYXRvbWljLCBjb3B5LCBudWxsYWJsZSkgTlNT
dHJpbmcgKmNvdXBvbkNvZGU7CisjZW5kaWYKKworI2lmIEhBVkUoUEFTU0tJVF9TSElQUElOR19D
T05UQUNUX0VESVRJTkdfTU9ERSkKK0Bwcm9wZXJ0eSAobm9uYXRvbWljLCBhc3NpZ24pIFBLU2hp
cHBpbmdDb250YWN0RWRpdGluZ01vZGUgc2hpcHBpbmdDb250YWN0RWRpdGluZ01vZGU7CisjZW5k
aWYKKwogQGVuZAogCiBAaW50ZXJmYWNlIFBLUGF5bWVudEF1dGhvcml6YXRpb25WaWV3Q29udHJv
bGxlciA6IE5TVmlld0NvbnRyb2xsZXIKQEAgLTQxNyw2ICs0NDksMTAgQEAgTlNfQVNTVU1FX05P
Tk5VTExfQkVHSU4KIEBpbnRlcmZhY2UgUEtQYXltZW50UmVxdWVzdFVwZGF0ZSA6IE5TT2JqZWN0
CiAtIChpbnN0YW5jZXR5cGUpaW5pdFdpdGhQYXltZW50U3VtbWFyeUl0ZW1zOihOU0FycmF5PFBL
UGF5bWVudFN1bW1hcnlJdGVtICo+ICopcGF5bWVudFN1bW1hcnlJdGVtczsKIEBwcm9wZXJ0eSAo
bm9uYXRvbWljLCBjb3B5KSBOU0FycmF5PFBLUGF5bWVudFN1bW1hcnlJdGVtICo+ICpwYXltZW50
U3VtbWFyeUl0ZW1zOworI2lmIEhBVkUoUEFTU0tJVF9DT1VQT05fQ09ERSkKK0Bwcm9wZXJ0eSAo
bm9uYXRvbWljLCBjb3B5KSBOU0FycmF5PFBLU2hpcHBpbmdNZXRob2QgKj4gKnNoaXBwaW5nTWV0
aG9kczsKKyNlbmRpZgorCiBAZW5kCiAKIEBpbnRlcmZhY2UgUEtQYXltZW50UmVxdWVzdFBheW1l
bnRNZXRob2RVcGRhdGUgOiBQS1BheW1lbnRSZXF1ZXN0VXBkYXRlCkBAIC00MzAsNiArNDY2LDEy
IEBAIE5TX0FTU1VNRV9OT05OVUxMX0JFR0lOCiBAaW50ZXJmYWNlIFBLUGF5bWVudFJlcXVlc3RT
aGlwcGluZ01ldGhvZFVwZGF0ZSA6IFBLUGF5bWVudFJlcXVlc3RVcGRhdGUKIEBlbmQKIAorI2lm
IEhBVkUoUEFTU0tJVF9DT1VQT05fQ09ERSkKK0BpbnRlcmZhY2UgUEtQYXltZW50UmVxdWVzdENv
dXBvbkNvZGVVcGRhdGUgOiBQS1BheW1lbnRSZXF1ZXN0VXBkYXRlCistIChpbnN0YW5jZXR5cGUp
aW5pdFdpdGhFcnJvcnM6KG51bGxhYmxlIE5TQXJyYXk8TlNFcnJvciAqPiAqKWVycm9ycyBwYXlt
ZW50U3VtbWFyeUl0ZW1zOihOU0FycmF5PFBLUGF5bWVudFN1bW1hcnlJdGVtICo+ICopcGF5bWVu
dFN1bW1hcnlJdGVtcyBzaGlwcGluZ01ldGhvZHM6KE5TQXJyYXk8UEtTaGlwcGluZ01ldGhvZCAq
PiAqKXNoaXBwaW5nTWV0aG9kczsKK0BlbmQKKyNlbmRpZgorCiBOU19BU1NVTUVfTk9OTlVMTF9F
TkQKIAogI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxFbGVtZW50
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEVsZW1lbnQuY3BwCmluZGV4IDkyMTdjYzc1
MDc2ZWFkNTE5MWE5Zjg2YzM2ZTY1MTRlNzIwYzQ4ZDYuLjdkOTkyN2U3ZmJhNDI5Y2U4ZWIzMzZi
ZGM5ZGVlMjI0MzU5MjU0NDggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEVs
ZW1lbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEVsZW1lbnQuY3BwCkBAIC0x
Mzc0LDcgKzEzNzQsNyBAQCB2b2lkIEhUTUxFbGVtZW50Ojp1cGRhdGVXaXRoVGV4dFJlY29nbml0
aW9uUmVzdWx0KGNvbnN0IFRleHRSZWNvZ25pdGlvblJlc3VsdCYgcgogICAgICAgICAgICAgICAg
IGNvbnRpbnVlOwogCiAgICAgICAgICAgICBpZiAobGluZU9yRGF0YURldGVjdG9yLmNsYXNzTGlz
dCgpLmNvbnRhaW5zKGltYWdlT3ZlcmxheUxpbmVDbGFzcykpIHsKLSAgICAgICAgICAgICAgICBU
ZXh0UmVjb2duaXRpb25MaW5lRWxlbWVudHMgbGluZUVsZW1lbnRzIHsgbGluZU9yRGF0YURldGVj
dG9yIH07CisgICAgICAgICAgICAgICAgVGV4dFJlY29nbml0aW9uTGluZUVsZW1lbnRzIGxpbmVF
bGVtZW50cyB7IGxpbmVPckRhdGFEZXRlY3RvciwgeyB9IH07CiAgICAgICAgICAgICAgICAgZm9y
IChhdXRvJiB0ZXh0IDogY2hpbGRyZW5PZlR5cGU8SFRNTERpdkVsZW1lbnQ+KGxpbmVPckRhdGFE
ZXRlY3RvcikpCiAgICAgICAgICAgICAgICAgICAgIGxpbmVFbGVtZW50cy5jaGlsZHJlbi5hcHBl
bmQodGV4dCk7CiAgICAgICAgICAgICAgICAgdGV4dFJlY29nbml0aW9uRWxlbWVudHMubGluZXMu
YXBwZW5kKFdURk1vdmUobGluZUVsZW1lbnRzKSk7CkBAIC0xNDI3LDcgKzE0MjcsNyBAQCB2b2lk
IEhUTUxFbGVtZW50Ojp1cGRhdGVXaXRoVGV4dFJlY29nbml0aW9uUmVzdWx0KGNvbnN0IFRleHRS
ZWNvZ25pdGlvblJlc3VsdCYgcgogICAgICAgICAgICAgYXV0byBsaW5lQ29udGFpbmVyID0gSFRN
TERpdkVsZW1lbnQ6OmNyZWF0ZShkb2N1bWVudCgpKTsKICAgICAgICAgICAgIGxpbmVDb250YWlu
ZXItPmNsYXNzTGlzdCgpLmFkZChpbWFnZU92ZXJsYXlMaW5lQ2xhc3MpOwogICAgICAgICAgICAg
cm9vdENvbnRhaW5lci0+YXBwZW5kQ2hpbGQobGluZUNvbnRhaW5lcik7Ci0gICAgICAgICAgICBU
ZXh0UmVjb2duaXRpb25MaW5lRWxlbWVudHMgbGluZUVsZW1lbnRzIHsgbGluZUNvbnRhaW5lciB9
OworICAgICAgICAgICAgVGV4dFJlY29nbml0aW9uTGluZUVsZW1lbnRzIGxpbmVFbGVtZW50cyB7
IGxpbmVDb250YWluZXIsIHsgfSB9OwogICAgICAgICAgICAgbGluZUVsZW1lbnRzLmNoaWxkcmVu
LnJlc2VydmVJbml0aWFsQ2FwYWNpdHkobGluZS5jaGlsZHJlbi5zaXplKCkpOwogICAgICAgICAg
ICAgZm9yIChzaXplX3QgY2hpbGRJbmRleCA9IDA7IGNoaWxkSW5kZXggPCBsaW5lLmNoaWxkcmVu
LnNpemUoKTsgKytjaGlsZEluZGV4KSB7CiAgICAgICAgICAgICAgICAgYXV0byYgY2hpbGQgPSBs
aW5lLmNoaWxkcmVuW2NoaWxkSW5kZXhdOwo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>431455</attachid>
            <date>2021-06-15 10:32:24 -0700</date>
            <delta_ts>2021-06-15 12:04:53 -0700</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-226846-20210615103223.patch</filename>
            <type>text/plain</type>
            <size>1058</size>
            <attacher name="Jonathan Bedard">jbedard</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJL
aXQvQ2hhbmdlTG9nCShyZXZpc2lvbiAyNzg4ODApCisrKyBTb3VyY2UvV2ViS2l0L0NoYW5nZUxv
Zwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE1IEBACisyMDIxLTA2LTExICBKb25hdGhhbiBC
ZWRhcmQgIDxqYmVkYXJkQGFwcGxlLmNvbT4KKworICAgICAgICBbTW9udGVyZXldIFN1cHBvcnQg
YnVpbGRpbmcgV2ViS2l0IChGb2xsb3ctdXApCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD0yMjY4NDYKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzc5MDk1
MTQ4PgorCisgICAgICAgIFVucmV2aWV3ZWQgZm9sbG93LXVwIGZpeC4KKworICAgICAgICBDb3Zl
cmVkIGJ5IGV4aXNpdGluZyB0ZXN0cy4KKworICAgICAgICAqIFdlYktpdC54Y29kZXByb2ovcHJv
amVjdC5wYnhwcm9qOiBSZXNldCBvYmplY3RWZXJzaW9uLgorCiAyMDIxLTA2LTE1ICBBbGV4YW5k
ZXIgTWlraGF5bGVua28gIDxhbGV4bUBnbm9tZS5vcmc+CiAKICAgICAgICAgW0dUS10gU3VwcG9y
dCB0cmFuc2llbnQgem9vbQpJbmRleDogU291cmNlL1dlYktpdC9XZWJLaXQueGNvZGVwcm9qL3By
b2plY3QucGJ4cHJvago9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L1dlYktpdC54Y29kZXBy
b2ovcHJvamVjdC5wYnhwcm9qCShyZXZpc2lvbiAyNzg4ODApCisrKyBTb3VyY2UvV2ViS2l0L1dl
YktpdC54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCSh3b3JraW5nIGNvcHkpCkBAIC0zLDcgKzMs
NyBAQAogCWFyY2hpdmVWZXJzaW9uID0gMTsKIAljbGFzc2VzID0gewogCX07Ci0Jb2JqZWN0VmVy
c2lvbiA9IDU0OworCW9iamVjdFZlcnNpb24gPSA1MjsKIAlvYmplY3RzID0gewogCiAvKiBCZWdp
biBQQlhBZ2dyZWdhdGVUYXJnZXQgc2VjdGlvbiAqLwo=
</data>

          </attachment>
      

    </bug>

</bugzilla>